diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 44790c7f2a..18966fafe9 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -11,7 +11,9 @@ add_library(common goos/Interpreter.cpp goos/Object.cpp goos/ParseHelpers.cpp + goos/Printer.cpp goos/PrettyPrinter.cpp + goos/PrettyPrinter2.cpp goos/Reader.cpp goos/TextDB.cpp goos/ReplUtils.cpp @@ -36,7 +38,7 @@ add_library(common util/os.cpp util/print_float.cpp util/FontUtils.cpp - util/image_loading.cpp) + util/image_loading.cpp "goos/Printer.cpp" "goos/Printer.h" "goos/PrettyPrinter2.cpp" "goos/PrettyPrinter2.h") target_link_libraries(common fmt lzokay replxx libzstd_static) diff --git a/common/goos/PrettyPrinter.cpp b/common/goos/PrettyPrinter.cpp index 4b81c82a59..d1fd9cbbc0 100644 --- a/common/goos/PrettyPrinter.cpp +++ b/common/goos/PrettyPrinter.cpp @@ -13,37 +13,10 @@ #include "third-party/fmt/core.h" #include "common/log/log.h" +#include "common/goos/PrettyPrinter2.h" + namespace pretty_print { -namespace { -// the integer representation is used here instead, wouldn't want really long numbers -const std::unordered_set banned_floats = {}; - -// print these floats (shown as ints here) as a named constant instead -const std::unordered_map const_floats = {{0x40490fda, "PI"}, - {0xc0490fda, "MINUS_PI"}}; -} // namespace -/*! - * Print a float in a nice representation if possible, or an exact 32-bit integer constant to - * be reinterpreted. - */ -goos::Object float_representation(float value) { - u32 int_value; - memcpy(&int_value, &value, 4); - u8 exp = (int_value >> 23) & 0xff; - u32 mant = int_value & 0x7fffff; - if ((exp == 0 && mant != 0) || exp == 0xff) { - // lg::warn("PS2-incompatible float (0x{:08X}) detected! Writing as the-as cast.", int_value); - return pretty_print::build_list("the-as", "float", fmt::format("#x{:x}", int_value)); - } else if (const_floats.find(int_value) != const_floats.end()) { - return pretty_print::to_symbol(const_floats.at(int_value)); - } else if (banned_floats.find(int_value) == banned_floats.end()) { - return goos::Object::make_float(value); - } else { - return pretty_print::build_list("the-as", "float", fmt::format("#x{:x}", int_value)); - } -} - /*! * A single token which cannot be split between lines. */ @@ -769,7 +742,7 @@ void insertSpecialBreaks(NodePool& pool, PrettyPrinterNode* node) { } } -std::string to_string(const goos::Object& obj, int line_length) { +std::string to_string_v1(const goos::Object& obj, int line_length) { NodePool pool; std::vector tokens; add_to_token_list(obj, &tokens); @@ -834,70 +807,4 @@ std::string to_string(const goos::Object& obj, int line_length) { return pretty; } -std::unique_ptr pretty_printer_reader; - -goos::Reader& get_pretty_printer_reader() { - if (!pretty_printer_reader) { - pretty_printer_reader = std::make_unique(); - } - return *pretty_printer_reader; -} - -goos::Object to_symbol(const std::string& str) { - return goos::SymbolObject::make_new(get_pretty_printer_reader().symbolTable, str); -} - -goos::Object build_list(const std::string& str) { - return build_list(to_symbol(str)); -} - -goos::Object build_list(const goos::Object& obj) { - return goos::PairObject::make_new(obj, goos::Object::make_empty_list()); -} - -goos::Object build_list(const std::vector& objects) { - if (objects.empty()) { - return goos::Object::make_empty_list(); - } else { - return build_list(objects.data(), objects.size()); - } -} - -// build a list out of an array of forms -goos::Object build_list(const goos::Object* objects, int count) { - assert(count); - auto car = objects[0]; - goos::Object cdr; - if (count - 1) { - cdr = build_list(objects + 1, count - 1); - } else { - cdr = goos::Object::make_empty_list(); - } - return goos::PairObject::make_new(car, cdr); -} - -// build a list out of a vector of strings that are converted to symbols -goos::Object build_list(const std::vector& symbols) { - if (symbols.empty()) { - return goos::Object::make_empty_list(); - } - std::vector f; - f.reserve(symbols.size()); - for (auto& x : symbols) { - f.push_back(to_symbol(x)); - } - return build_list(f.data(), f.size()); -} - -void append(goos::Object& _in, const goos::Object& add) { - auto* in = &_in; - while (in->is_pair() && !in->as_pair()->cdr.is_empty_list()) { - in = &in->as_pair()->cdr; - } - - if (!in->is_pair()) { - assert(false); // invalid list - } - in->as_pair()->cdr = add; -} } // namespace pretty_print diff --git a/common/goos/PrettyPrinter.h b/common/goos/PrettyPrinter.h index c02e2d6f06..71eeeb84bf 100644 --- a/common/goos/PrettyPrinter.h +++ b/common/goos/PrettyPrinter.h @@ -10,49 +10,11 @@ #include #include "common/goos/Object.h" #include "common/goos/Reader.h" +#include "common/goos/Printer.h" +#include "common/goos/PrettyPrinter2.h" namespace pretty_print { // main pretty print function -std::string to_string(const goos::Object& obj, int line_length = 80); - -// string -> object (as a symbol) -goos::Object to_symbol(const std::string& str); - -// list with a single symbol from a string -goos::Object build_list(const std::string& str); - -// wrap an object in a list -goos::Object build_list(const goos::Object& obj); - -// build a list out of a vector of forms -goos::Object build_list(const std::vector& objects); - -// build a list out of an array of forms -goos::Object build_list(const goos::Object* objects, int count); - -// build a list out of a vector of strings that are converted to symbols -goos::Object build_list(const std::vector& symbols); - -// fancy wrapper functions. Due to template magic these can call each other -// and accept mixed arguments! - -template -goos::Object build_list(const goos::Object& car, Args... rest); - -template -goos::Object build_list(const std::string& str, Args... rest) { - return goos::PairObject::make_new(to_symbol(str), build_list(rest...)); -} - -template -goos::Object build_list(const goos::Object& car, Args... rest) { - return goos::PairObject::make_new(car, build_list(rest...)); -} - -goos::Reader& get_pretty_printer_reader(); - -goos::Object float_representation(float value); - -void append(goos::Object& _in, const goos::Object& add); +std::string to_string_v1(const goos::Object& obj, int line_length = 80); } // namespace pretty_print diff --git a/common/goos/PrettyPrinter2.cpp b/common/goos/PrettyPrinter2.cpp new file mode 100644 index 0000000000..782f06e080 --- /dev/null +++ b/common/goos/PrettyPrinter2.cpp @@ -0,0 +1,424 @@ +#include "PrettyPrinter2.h" +#include "common/common_types.h" +#include "common/util/assert.h" +#include "third-party/fmt/core.h" + +namespace pretty_print { + +namespace v2 { + +// Note: there's some recursive stuff, but we only recurse once per list depth. +// The previous issues we had with stack overflow only happened when there was a stack frame per +// element in a list. + +// TODO: there's a different style of splitting that we should do for forms like: +// set!, and, or, <, >, +... where we try leaving operator + one other. + +// The main node type. +// unlike v1, this nests lists. +// these have pointers to parents, so generally not safe to copy. +struct Node { + Node() = default; + + Node(const std::string& str) { + kind = Kind::ATOM; + atom_str = str; + } + + Node(std::vector&& list, bool is_list) { + kind = is_list ? Kind::LIST : Kind::PAIR; + if (!is_list) { + assert(list.size() == 2); + } + child_nodes = std::move(list); + } + enum class Kind : u8 { ATOM, LIST, PAIR, INVALID } kind = Kind::INVALID; + + std::vector child_nodes; + std::string atom_str; + + // number of quotes this is wrapped in. + u32 quoted = 0; + + Node* parent = nullptr; + u32 my_depth = 0; + + void link(Node* this_parent, std::vector* bfs_order, u32 depth) { + parent = this_parent; + my_depth = depth; + bfs_order->push_back(this); + switch (kind) { + case Kind::ATOM: + break; + case Kind::LIST: + case Kind::PAIR: + assert(!child_nodes.empty()); + for (auto& child : child_nodes) { + child.link(this, bfs_order, depth + 1); + } + break; + default: + assert(false); + } + } + + bool needs_end_paren_newline() const { + if (break_list) { + return true; + } + + if (!child_nodes.empty()) { + return child_nodes.back().needs_end_paren_newline(); + } + + return false; + } + + // how wide is this text? not including the indentation of this subtree. + u32 text_len = 0; + + bool break_list = false; + u8 top_line_count = 0; + u8 sub_elt_indent = 0; +}; + +Node to_node(const goos::Object& obj) { + switch (obj.type) { + case goos::ObjectType::EMPTY_LIST: + // just treat this as a printing "atom" + return Node("()"); + case goos::ObjectType::INTEGER: + case goos::ObjectType::FLOAT: + case goos::ObjectType::CHAR: + case goos::ObjectType::SYMBOL: + case goos::ObjectType::STRING: + // these are all atoms that the pretty printer should just treat as a blob. + return Node(obj.print()); + + case goos::ObjectType::PAIR: { + // we've got three cases: quoted thing, proper list, improper list. + auto& first = obj.as_pair()->car; + if (first.is_symbol() && first.as_symbol()->name == "quote") { + auto& second = obj.as_pair()->cdr; + if (second.is_pair() && second.as_pair()->cdr.is_empty_list()) { + Node result = to_node(second.as_pair()->car); + result.quoted++; + return result; + } + } + + // not quoted, so either list or pair + std::vector children; + auto* to_print = &obj; + for (;;) { + if (to_print->is_pair()) { + // first print the car: + children.push_back(to_node(to_print->as_pair()->car)); + // then load up the cdr as the next thing to print + to_print = &to_print->as_pair()->cdr; + if (to_print->is_empty_list()) { + // we're done, add a close paren and finish + return Node(std::move(children), true); + } + } else { + children.push_back(to_node(*to_print)); + assert(false); // untested + return Node(std::move(children), false); + } + } + } break; + + // these are unsupported by the pretty printer. + case goos::ObjectType::ARRAY: // todo, we should probably handle arrays. + case goos::ObjectType::LAMBDA: + case goos::ObjectType::MACRO: + case goos::ObjectType::ENVIRONMENT: + throw std::runtime_error("tried to pretty print a goos object kind which is not supported."); + default: + assert(false); + } +} + +void recompute_lengths(const std::vector& bfs_order) { + // iterate from leaves up + for (auto it = bfs_order.rbegin(); it != bfs_order.rend(); it++) { + Node* node = *it; + switch (node->kind) { + case Node::Kind::ATOM: + node->text_len = node->atom_str.length() + node->quoted; + break; + case Node::Kind::LIST: { + if (node->break_list) { + // special case compute first line length + int first_line_len = 1 + node->quoted; // open paren + quotes + int nodes_on_first_line = + std::min(int(node->child_nodes.size()), int(node->top_line_count)); + if (nodes_on_first_line > 0) { + for (int node_idx = 0; node_idx < nodes_on_first_line; node_idx++) { + first_line_len += node->child_nodes.at(node_idx).text_len; + first_line_len++; // trailing space + } + first_line_len--; // last one doesn't have a trailing space + } + + int max_line_len = first_line_len; + + // now the length of all the things below + for (u32 node_idx = nodes_on_first_line; node_idx < node->child_nodes.size(); + node_idx++) { + int line_len = node->sub_elt_indent + node->child_nodes.at(node_idx).text_len; + max_line_len = std::max(max_line_len, line_len); + } + + node->text_len = max_line_len; + } else { + node->text_len = 1 + node->quoted; // open paren + quotes + for (auto& child : node->child_nodes) { + node->text_len += (child.text_len + 1); // space or close paren. + } + } + } break; + default: + assert(false); + } + } +} + +/*! + * Note: this has special cases for how to insert breaks. + * These rules will be used if the printer decides it should break up the list. + * If you want to force a form to always be broken up, see insert_required_breaks + */ +void break_list(Node* node) { + assert(!node->break_list); + node->break_list = true; + node->sub_elt_indent = 2; + node->top_line_count = 1; + + const std::unordered_set sameline_splitters = { + "if", "<", ">", "<=", ">=", "set!", "=", "!=", "+", "-", "*", "/", "the", "->"}; + + if (node->child_nodes.at(0).kind == Node::Kind::LIST) { + // ((foo + // bar + node->sub_elt_indent = 1; + } else if (node->child_nodes.at(0).kind == Node::Kind::ATOM) { + auto& name = node->child_nodes[0].atom_str; + if (name == "defun" || name == "defun-debug" || name == "defbehavior" || name == "defstate") { + // things with three things in the top line: (defun + node->top_line_count = 3; + } else if (name == "defmethod") { + // things with 4 things in the top line: (defmethod + node->top_line_count = 4; + } else if (name == "until" || name == "while" || name == "dotimes" || name == "countdown" || + name == "when" || name == "behavior" || name == "lambda") { + node->top_line_count = 2; + } else if (name == "let" || name == "let*" || name == "rlet") { + // special case for things like let. + node->top_line_count = 2; // (let + if (node->child_nodes.size() > 1 && node->child_nodes[1].child_nodes.size() > 1 && + !node->child_nodes[1].break_list) { + // and break the defs. + break_list(&node->child_nodes[1]); + } + } else if (sameline_splitters.count(name) > 0) { + // if has a special indent rule: + node->top_line_count = 2; + node->sub_elt_indent += name.size(); + } else if (name == "cond") { + // cond should always be broken up + for (size_t i = 1; i < node->child_nodes.size(); i++) { + auto& cond_body = node->child_nodes[i]; + if (cond_body.kind == Node::Kind::LIST && !cond_body.break_list) { + break_list(&cond_body); + } + } + } else if (name == "case") { + // case gets a second thing on top, plus break up everything. + node->top_line_count = 2; + for (size_t i = 2; i < node->child_nodes.size(); i++) { + auto& cond_body = node->child_nodes[i]; + if (cond_body.kind == Node::Kind::LIST && !cond_body.break_list) { + break_list(&cond_body); + } + } + } + } + + Node* child = node; + for (Node* p = node->parent; p; p = p->parent) { + if (!p->break_list && &p->child_nodes.back() != child) { + break_list(p); + } + child = p; + } +} + +void insert_required_breaks(const std::vector& bfs_order) { + const std::unordered_set always_break = { + "when", "defun-debug", "countdown", "case", "defun", "defmethod", + "let", "until", "while", "if", "dotimes", "cond", + "else", "defbehavior", "with-pp", "rlet", "defstate"}; + for (auto node : bfs_order) { + if (!node->break_list && node->kind == Node::Kind::LIST && + node->child_nodes.at(0).kind == Node::Kind::ATOM) { + if (always_break.count(node->child_nodes[0].atom_str) > 0) { + break_list(node); + } + } + } +} + +int run_algorithm(const std::vector& bfs_order, int line_length) { + // our approach is to go in reverse order and find the first list node that is: + // - too long + // - not already split. + // the "magic" of v2 is: + // the "too long" check above igores the sublist. + + int num_broken = 0; + std::optional min_depth; + for (auto it = bfs_order.rbegin(); it != bfs_order.rend(); it++) { + Node* node = *it; + if (min_depth && node->my_depth < min_depth) { + break; + } + + if (node->kind != Node::Kind::ATOM && (int)node->text_len > line_length && + node->break_list == false) { + break_list(node); + num_broken++; + if (!min_depth) { + min_depth = node->my_depth; + } + } + } + recompute_lengths(bfs_order); + return num_broken; +} + +int compute_extra_offset(const std::string& str, int s0, int ei) { + assert(!str.empty()); + for (size_t i = str.length(); i-- > 0;) { + if ((int)i == s0) { + return ei + str.length() - s0; + } else if (i == '\n') { + return str.length() - i; + } + } + return ei + str.length() - s0; +} + +void append_node_to_string(const Node* node, + std::string& str, + int init_indent_level, + int next_indent_level) { + for (int i = 0; i < init_indent_level; i++) { + str.push_back(' '); + } + for (u32 i = 0; i < node->quoted; i++) { + str.push_back('\''); + } + switch (node->kind) { + case Node::Kind::ATOM: + str.append(node->atom_str); + break; + case Node::Kind::LIST: + if (node->break_list) { + str.push_back('('); + size_t node_idx = 0; + + int listing_indent = next_indent_level + node->quoted + node->sub_elt_indent; + int extra_indent = 0; + for (; node_idx < node->top_line_count; node_idx++) { + size_t s0 = str.length(); + append_node_to_string(&node->child_nodes.at(node_idx), str, 0, + listing_indent + extra_indent); + // extra_indent += (str.length() - s0); + extra_indent = compute_extra_offset(str, s0, extra_indent); + str.push_back(' '); + } + if (node->top_line_count > 0) { + str.pop_back(); + } + str.push_back('\n'); + for (; node_idx < node->child_nodes.size(); node_idx++) { + append_node_to_string(&node->child_nodes.at(node_idx), str, listing_indent, + listing_indent); + str.push_back('\n'); + } + for (int i = 0; i < listing_indent; i++) { + str.push_back(' '); + } + str.push_back(')'); + } else { + str.push_back('('); + assert(!node->child_nodes.empty()); + int listing_indent = next_indent_level + node->quoted; + int extra_indent = 1; + int c0 = 0; + for (auto& child : node->child_nodes) { + size_t s0 = str.length(); + append_node_to_string(&child, str, 0, listing_indent + extra_indent); + str.push_back(' '); + extra_indent += (str.length() - s0); + if (&child == &node->child_nodes.at(0) && !child.break_list) { + // + if (child.kind == Node::Kind::LIST) { + c0 = 0; + } else { + c0 = str.length() - s0; + } + } + } + str.pop_back(); + if (node->needs_end_paren_newline()) { + str.push_back('\n'); + for (int i = 0; i < listing_indent + c0 + 1; i++) { + str.push_back(' '); + } + } + str.push_back(')'); + } + break; + default: + assert(false); + } +} + +std::string node_to_string(const Node* node) { + std::string result; + append_node_to_string(node, result, 0, 0); + return result; +} + +} // namespace v2 + +std::string to_string(const goos::Object& obj, int line_length) { + using namespace v2; + + // construct the tree + Node root = to_node(obj); + + // create tree links and order by depth + std::vector bfs_order; + root.link(nullptr, &bfs_order, 0); + + insert_required_breaks(bfs_order); + + // compute subtree lengths + recompute_lengths(bfs_order); + + int max_depth = 0; + for (auto node : bfs_order) { + max_depth = std::max((int)node->my_depth, max_depth); + } + + int num_broken = 1; + while (num_broken) { + num_broken = run_algorithm(bfs_order, line_length); + } + + return node_to_string(&root); +} +} // namespace pretty_print diff --git a/common/goos/PrettyPrinter2.h b/common/goos/PrettyPrinter2.h new file mode 100644 index 0000000000..bcc0516c47 --- /dev/null +++ b/common/goos/PrettyPrinter2.h @@ -0,0 +1,13 @@ +#pragma once + +#include +#include +#include "common/goos/Object.h" +#include "common/goos/Reader.h" +#include "common/goos/Printer.h" + +namespace pretty_print { +// main pretty print function +std::string to_string(const goos::Object& obj, int line_length = 110); + +} // namespace pretty_print diff --git a/common/goos/Printer.cpp b/common/goos/Printer.cpp new file mode 100644 index 0000000000..7804affbee --- /dev/null +++ b/common/goos/Printer.cpp @@ -0,0 +1,102 @@ +#include "Printer.h" +#include "third-party/fmt/core.h" + +namespace pretty_print { +namespace { +// the integer representation is used here instead, wouldn't want really long numbers +const std::unordered_set banned_floats = {}; + +// print these floats (shown as ints here) as a named constant instead +const std::unordered_map const_floats = {{0x40490fda, "PI"}, + {0xc0490fda, "MINUS_PI"}}; +} // namespace + +/*! + * Print a float in a nice representation if possible, or an exact 32-bit integer constant to + * be reinterpreted. + */ +goos::Object float_representation(float value) { + u32 int_value; + memcpy(&int_value, &value, 4); + u8 exp = (int_value >> 23) & 0xff; + u32 mant = int_value & 0x7fffff; + if ((exp == 0 && mant != 0) || exp == 0xff) { + // lg::warn("PS2-incompatible float (0x{:08X}) detected! Writing as the-as cast.", int_value); + return pretty_print::build_list("the-as", "float", fmt::format("#x{:x}", int_value)); + } else if (const_floats.find(int_value) != const_floats.end()) { + return pretty_print::to_symbol(const_floats.at(int_value)); + } else if (banned_floats.find(int_value) == banned_floats.end()) { + return goos::Object::make_float(value); + } else { + return pretty_print::build_list("the-as", "float", fmt::format("#x{:x}", int_value)); + } +} + +std::unique_ptr pretty_printer_reader; + +goos::Reader& get_pretty_printer_reader() { + if (!pretty_printer_reader) { + pretty_printer_reader = std::make_unique(); + } + return *pretty_printer_reader; +} + +goos::Object to_symbol(const std::string& str) { + return goos::SymbolObject::make_new(get_pretty_printer_reader().symbolTable, str); +} + +goos::Object build_list(const std::string& str) { + return build_list(to_symbol(str)); +} + +goos::Object build_list(const goos::Object& obj) { + return goos::PairObject::make_new(obj, goos::Object::make_empty_list()); +} + +goos::Object build_list(const std::vector& objects) { + if (objects.empty()) { + return goos::Object::make_empty_list(); + } else { + return build_list(objects.data(), objects.size()); + } +} + +// build a list out of an array of forms +goos::Object build_list(const goos::Object* objects, int count) { + assert(count); + auto car = objects[0]; + goos::Object cdr; + if (count - 1) { + cdr = build_list(objects + 1, count - 1); + } else { + cdr = goos::Object::make_empty_list(); + } + return goos::PairObject::make_new(car, cdr); +} + +// build a list out of a vector of strings that are converted to symbols +goos::Object build_list(const std::vector& symbols) { + if (symbols.empty()) { + return goos::Object::make_empty_list(); + } + std::vector f; + f.reserve(symbols.size()); + for (auto& x : symbols) { + f.push_back(to_symbol(x)); + } + return build_list(f.data(), f.size()); +} + +void append(goos::Object& _in, const goos::Object& add) { + auto* in = &_in; + while (in->is_pair() && !in->as_pair()->cdr.is_empty_list()) { + in = &in->as_pair()->cdr; + } + + if (!in->is_pair()) { + assert(false); // invalid list + } + in->as_pair()->cdr = add; +} + +} // namespace pretty_print diff --git a/common/goos/Printer.h b/common/goos/Printer.h new file mode 100644 index 0000000000..20d285027f --- /dev/null +++ b/common/goos/Printer.h @@ -0,0 +1,48 @@ +#pragma once + +#include +#include +#include "common/goos/Object.h" +#include "common/goos/Reader.h" + +namespace pretty_print { +// string -> object (as a symbol) +goos::Object to_symbol(const std::string& str); + +// list with a single symbol from a string +goos::Object build_list(const std::string& str); + +// wrap an object in a list +goos::Object build_list(const goos::Object& obj); + +// build a list out of a vector of forms +goos::Object build_list(const std::vector& objects); + +// build a list out of an array of forms +goos::Object build_list(const goos::Object* objects, int count); + +// build a list out of a vector of strings that are converted to symbols +goos::Object build_list(const std::vector& symbols); + +// fancy wrapper functions. Due to template magic these can call each other +// and accept mixed arguments! + +template +goos::Object build_list(const goos::Object& car, Args... rest); + +template +goos::Object build_list(const std::string& str, Args... rest) { + return goos::PairObject::make_new(to_symbol(str), build_list(rest...)); +} + +template +goos::Object build_list(const goos::Object& car, Args... rest) { + return goos::PairObject::make_new(car, build_list(rest...)); +} + +goos::Reader& get_pretty_printer_reader(); + +goos::Object float_representation(float value); + +void append(goos::Object& _in, const goos::Object& add); +} // namespace pretty_print diff --git a/decompiler/level_extractor/extract_level.cpp b/decompiler/level_extractor/extract_level.cpp index 903695b99c..2331c63f6b 100644 --- a/decompiler/level_extractor/extract_level.cpp +++ b/decompiler/level_extractor/extract_level.cpp @@ -10,8 +10,8 @@ namespace decompiler { /*! * Look through files in a DGO and find the bsp-header file (the level) */ -ObjectFileRecord get_bsp_file(const std::vector& records) { - ObjectFileRecord result; +std::optional get_bsp_file(const std::vector& records) { + std::optional result; bool found = false; for (auto& file : records) { if (file.name.length() > 4 && file.name.substr(file.name.length() - 4) == "-vis") { @@ -20,7 +20,6 @@ ObjectFileRecord get_bsp_file(const std::vector& records) { result = file; } } - assert(found); return result; } @@ -57,10 +56,14 @@ void extract_from_level(ObjectFileDB& db, } auto bsp_rec = get_bsp_file(db.obj_files_by_dgo.at(dgo_name)); - std::string level_name = bsp_rec.name.substr(0, bsp_rec.name.length() - 4); + if (!bsp_rec) { + lg::warn("Skipping extract for {} because the BSP file was not found", dgo_name); + return; + } + std::string level_name = bsp_rec->name.substr(0, bsp_rec->name.length() - 4); fmt::print("Processing level {} ({})\n", dgo_name, level_name); - auto& bsp_file = db.lookup_record(bsp_rec); + auto& bsp_file = db.lookup_record(*bsp_rec); bool ok = is_valid_bsp(bsp_file.linked_data); assert(ok); diff --git a/test/decompiler/reference/decompiler-macros.gc b/test/decompiler/reference/decompiler-macros.gc index 74e1f13e5f..7db2e01b63 100644 --- a/test/decompiler/reference/decompiler-macros.gc +++ b/test/decompiler/reference/decompiler-macros.gc @@ -840,3 +840,12 @@ (defmacro cpad-hold? (pad-idx &rest buttons) `(logtest? (cpad-hold ,pad-idx) (pad-buttons ,@buttons)) ) + +(fake-asm .sync.l) +(fake-asm .sync.p) +;; Copies the contents of a cop0 (system control) register to a gpr +(fake-asm .mfc0 dest src) +;; Copies the contents of a gpr to a cop0 (system control) register +(fake-asm .mtc0 dest src) +(fake-asm .mtpc dest src) +(fake-asm .mfpc dest src) \ No newline at end of file diff --git a/test/decompiler/reference/engine/ambient/ambient_REF.gc b/test/decompiler/reference/engine/ambient/ambient_REF.gc index 1489cd27a8..98fcfd4656 100644 --- a/test/decompiler/reference/engine/ambient/ambient_REF.gc +++ b/test/decompiler/reference/engine/ambient/ambient_REF.gc @@ -3,37 +3,31 @@ ;; definition for method 8 of type drawable-ambient ;; INFO: Return type mismatch int vs drawable-ambient. -(defmethod - mem-usage - drawable-ambient - ((obj drawable-ambient) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage drawable-ambient ((obj drawable-ambient) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 50 (-> arg0 length))) (set! (-> arg0 data 49 name) "ambient") (+! (-> arg0 data 49 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 49 used) v1-6) - (+! (-> arg0 data 49 total) (logand -16 (+ v1-6 15))) - ) + (+! (-> arg0 data 49 used) v1-6) + (+! (-> arg0 data 49 total) (logand -16 (+ v1-6 15))) + ) (mem-usage (-> obj ambient) arg0 (logior arg1 128)) (the-as drawable-ambient 0) ) ;; definition for method 8 of type drawable-inline-array-ambient ;; INFO: Return type mismatch int vs drawable-inline-array-ambient. -(defmethod - mem-usage - drawable-inline-array-ambient - ((obj drawable-inline-array-ambient) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage drawable-inline-array-ambient ((obj drawable-inline-array-ambient) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 1 (-> arg0 length))) (set! (-> arg0 data 0 name) (symbol->string 'drawable-group)) (+! (-> arg0 data 0 count) 1) (let ((v1-7 32)) - (+! (-> arg0 data 0 used) v1-7) - (+! (-> arg0 data 0 total) (logand -16 (+ v1-7 15))) - ) + (+! (-> arg0 data 0 used) v1-7) + (+! (-> arg0 data 0 total) (logand -16 (+ v1-7 15))) + ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj data s3-0) arg0 arg1) - ) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) (the-as drawable-inline-array-ambient 0) ) @@ -45,162 +39,131 @@ (let ((v1-2 (-> arg0 arg1)) (gp-0 (+ arg1 1)) ) - (cond - ((< gp-0 arg2) - (let ((a0-2 (-> arg0 gp-0)) - (a1-2 v1-2) + (cond + ((< gp-0 arg2) + (let ((a0-2 (-> arg0 gp-0)) + (a1-2 v1-2) + ) + (cond + ((zero? a1-2) + (if (task-known? (the-as game-task a0-2)) + (set! gp-0 -1) + ) + ) + ((= a1-2 1) + (if (not (task-known? (the-as game-task a0-2))) + (set! gp-0 -1) + ) + ) + ((= a1-2 2) + (if (nonzero? (get-task-status (the-as game-task a0-2))) + (set! gp-0 -1) + ) + ) + ((= a1-2 3) + (if (!= (get-task-status (the-as game-task a0-2)) (task-status need-introduction)) + (set! gp-0 -1) + ) + ) + ((= a1-2 4) + (if (!= (get-task-status (the-as game-task a0-2)) (task-status need-reminder)) + (set! gp-0 -1) + ) + ) + ((= a1-2 5) + (if (!= (get-task-status (the-as game-task a0-2)) (task-status need-reminder-a)) + (set! gp-0 -1) + ) + ) + ((= a1-2 13) + (let ((v1-15 (get-task-status (the-as game-task a0-2)))) + (if (or (< (the-as int v1-15) 2) (< 4 (the-as int v1-15))) + (set! gp-0 -1) + ) + ) + ) + ((= a1-2 6) + (if (!= (get-task-status (the-as game-task a0-2)) (task-status need-reward-speech)) + (set! gp-0 -1) + ) + ) + ((= a1-2 7) + (close-specific-task! (the-as game-task a0-2) (task-status need-hint)) + ) + ((= a1-2 8) + (close-specific-task! (the-as game-task a0-2) (task-status need-introduction)) + ) + ((= a1-2 9) + (close-specific-task! (the-as game-task a0-2) (task-status need-reminder)) + ) + ((= a1-2 10) + (close-specific-task! (the-as game-task a0-2) (task-status need-reminder-a)) + ) + ((= a1-2 11) + (close-specific-task! (the-as game-task a0-2) (task-status need-reward-speech)) + ) + ((= a1-2 12) + (close-specific-task! (the-as game-task a0-2) (task-status need-resolution)) + ) + (else + (format #t "Unknown hint command ~D~%" v1-2) + ) ) - (cond - ((zero? a1-2) - (if (task-known? (the-as game-task a0-2)) - (set! gp-0 -1) ) - ) - ((= a1-2 1) - (if (not (task-known? (the-as game-task a0-2))) - (set! gp-0 -1) - ) - ) - ((= a1-2 2) - (if (nonzero? (get-task-status (the-as game-task a0-2))) - (set! gp-0 -1) - ) - ) - ((= a1-2 3) - (if - (!= - (get-task-status (the-as game-task a0-2)) - (task-status need-introduction) - ) - (set! gp-0 -1) - ) - ) - ((= a1-2 4) - (if - (!= - (get-task-status (the-as game-task a0-2)) - (task-status need-reminder) - ) - (set! gp-0 -1) - ) - ) - ((= a1-2 5) - (if - (!= - (get-task-status (the-as game-task a0-2)) - (task-status need-reminder-a) - ) - (set! gp-0 -1) - ) - ) - ((= a1-2 13) - (let ((v1-15 (get-task-status (the-as game-task a0-2)))) - (if (or (< (the-as int v1-15) 2) (< 4 (the-as int v1-15))) - (set! gp-0 -1) - ) - ) - ) - ((= a1-2 6) - (if - (!= - (get-task-status (the-as game-task a0-2)) - (task-status need-reward-speech) - ) - (set! gp-0 -1) - ) - ) - ((= a1-2 7) - (close-specific-task! (the-as game-task a0-2) (task-status need-hint)) - ) - ((= a1-2 8) - (close-specific-task! - (the-as game-task a0-2) - (task-status need-introduction) - ) - ) - ((= a1-2 9) - (close-specific-task! - (the-as game-task a0-2) - (task-status need-reminder) - ) - ) - ((= a1-2 10) - (close-specific-task! - (the-as game-task a0-2) - (task-status need-reminder-a) - ) - ) - ((= a1-2 11) - (close-specific-task! - (the-as game-task a0-2) - (task-status need-reward-speech) - ) - ) - ((= a1-2 12) - (close-specific-task! - (the-as game-task a0-2) - (task-status need-resolution) - ) - ) - (else - (format #t "Unknown hint command ~D~%" v1-2) - ) ) + (else + (format #t "Missing task ID for hint command ~S~%" (cond + ((= v1-2 13) + "if-at-most-need-reminder-a" + ) + ((= v1-2 12) + "close-need-resolution" + ) + ((= v1-2 11) + "close-need-reward-speech" + ) + ((= v1-2 10) + "close-need-reminder-a" + ) + ((= v1-2 9) + "close-need-reminder" + ) + ((= v1-2 8) + "close-need-introduction" + ) + ((= v1-2 7) + "close-need-hint" + ) + ((= v1-2 6) + "if-need-reward-speech" + ) + ((= v1-2 5) + "if-need-reminder-a" + ) + ((= v1-2 4) + "if-need-reminder" + ) + ((= v1-2 3) + "if-need-introduction" + ) + ((= v1-2 2) + "if-resolved" + ) + ((= v1-2 1) + "if-known" + ) + ((zero? v1-2) + "if-unknown" + ) + (else + "*unknown*" + ) + ) + ) + ) ) - ) - (else - (format #t "Missing task ID for hint command ~S~%" (cond - ((= v1-2 13) - "if-at-most-need-reminder-a" - ) - ((= v1-2 12) - "close-need-resolution" - ) - ((= v1-2 11) - "close-need-reward-speech" - ) - ((= v1-2 10) - "close-need-reminder-a" - ) - ((= v1-2 9) - "close-need-reminder" - ) - ((= v1-2 8) - "close-need-introduction" - ) - ((= v1-2 7) - "close-need-hint" - ) - ((= v1-2 6) - "if-need-reward-speech" - ) - ((= v1-2 5) - "if-need-reminder-a" - ) - ((= v1-2 4) - "if-need-reminder" - ) - ((= v1-2 3) - "if-need-introduction" - ) - ((= v1-2 2) - "if-resolved" - ) - ((= v1-2 1) - "if-known" - ) - ((zero? v1-2) - "if-unknown" - ) - (else - "*unknown*" - ) - ) - ) - ) + gp-0 ) - gp-0 - ) ) ;; definition for function level-hint-task-process @@ -210,54 +173,45 @@ (let ((gp-0 (res-lump-value arg0 'text-id int :default arg1)) (s5-0 0) ) - (cond - ((can-hint-be-played? (the-as game-text-id gp-0) arg0 arg2) - (set! sv-16 (new 'static 'res-tag)) - (let - ((s4-1 - ((method-of-type res-lump get-property-data) - arg0 - 'cmds - 'exact - -1000000000.0 - (the-as pointer #f) - (& sv-16) - *res-static-buf* + (cond + ((can-hint-be-played? (the-as game-text-id gp-0) arg0 arg2) + (set! sv-16 (new 'static 'res-tag)) + (let ((s4-1 ((method-of-type res-lump get-property-data) + arg0 + 'cmds + 'exact + -1000000000.0 + (the-as pointer #f) + (& sv-16) + *res-static-buf* + ) + ) + ) + (when s4-1 + (while (and (>= s5-0 0) (< s5-0 (the-as int (-> sv-16 elt-count)))) + (set! s5-0 (level-hint-process-cmd (the-as (pointer int32) s4-1) s5-0 (the-as int (-> sv-16 elt-count)))) + (if (>= s5-0 0) + (set! s5-0 (+ s5-0 1)) + ) + ) + ) ) - ) + 0 ) - (when s4-1 - (while (and (>= s5-0 0) (< s5-0 (the-as int (-> sv-16 elt-count)))) - (set! - s5-0 - (level-hint-process-cmd - (the-as (pointer int32) s4-1) - s5-0 - (the-as int (-> sv-16 elt-count)) - ) - ) - (if (>= s5-0 0) - (set! s5-0 (+ s5-0 1)) - ) + (else + (set! s5-0 -1) + ) + ) + (cond + ((>= s5-0 0) + (empty) + gp-0 + ) + (else + -1 ) - ) ) - 0 - ) - (else - (set! s5-0 -1) - ) ) - (cond - ((>= s5-0 0) - (empty) - gp-0 - ) - (else - -1 - ) - ) - ) ) ;; definition for function level-hint-surpress! @@ -271,138 +225,104 @@ ;; definition for function can-grab-display? (defun can-grab-display? ((arg0 process-taskable)) (let ((v1-2 (handle->process (-> *game-info* display-text-handle)))) - (when - (and - (or - (not v1-2) - (= v1-2 arg0) - (>= - (- (-> *display* base-frame-counter) (-> *game-info* display-text-time)) - 30 - ) + (when (and + (or (not v1-2) (= v1-2 arg0) (>= (- (-> *display* base-frame-counter) (-> *game-info* display-text-time)) 30)) + (and + *target* + (!= (-> *target* next-state name) 'target-look-around) + (zero? (logand (-> *target* state-flags) #x8008)) + (= *master-mode* 'game) + ) + ) + (set! (-> *game-info* display-text-handle) (process->handle arg0)) + (set! (-> *game-info* display-text-time) (-> *display* base-frame-counter)) + #t ) - (and - *target* - (!= (-> *target* next-state name) 'target-look-around) - (zero? (logand (-> *target* state-flags) #x8008)) - (= *master-mode* 'game) - ) - ) - (set! (-> *game-info* display-text-handle) (process->handle arg0)) - (set! (-> *game-info* display-text-time) (-> *display* base-frame-counter)) - #t ) - ) ) ;; definition for function level-hint-displayed? ;; INFO: Return type mismatch basic vs symbol. (defun level-hint-displayed? () (let ((a0-0 (ppointer->process *hint-semaphore*))) - (the-as - symbol - (and - (the-as level-hint a0-0) - (and - (= (-> (the-as level-hint a0-0) next-state name) 'level-hint-normal) - (not (dummy-15 (the-as level-hint a0-0))) + (the-as + symbol + (and (the-as level-hint a0-0) (and + (= (-> (the-as level-hint a0-0) next-state name) 'level-hint-normal) + (not (dummy-15 (the-as level-hint a0-0))) + ) + ) ) - ) ) - ) ) ;; definition for function level-hint-spawn ;; INFO: Return type mismatch int vs none. -(defun - level-hint-spawn - ((arg0 game-text-id) - (arg1 string) - (arg2 entity) - (arg3 process-tree) - (arg4 game-task) - ) +(defun level-hint-spawn ((arg0 game-text-id) (arg1 string) (arg2 entity) (arg3 process-tree) (arg4 game-task)) (if (< (the-as uint 1) (the-as uint arg4)) - (close-specific-task! arg4 (task-status need-hint)) - ) - (let ((s3-1 (level-hint-task-process arg2 (the-as uint128 arg0) arg1))) - (when (!= s3-1 -1) - (kill-current-level-hint '() '() 'exit) - (let ((s2-0 (get-process *default-dead-pool* level-hint #x4000))) - (when s2-0 - (let ((t9-4 (method-of-type level-hint activate))) - (t9-4 - (the-as level-hint s2-0) - arg3 - 'level-hint - (the-as pointer #x70004000) - ) - ) - (run-now-in-process s2-0 level-hint-init-by-other s3-1 arg1 arg2) - (-> s2-0 ppointer) + (close-specific-task! arg4 (task-status need-hint)) + ) + (let ((s3-1 (level-hint-task-process arg2 (the-as uint128 arg0) arg1))) + (when (!= s3-1 -1) + (kill-current-level-hint '() '() 'exit) + (let ((s2-0 (get-process *default-dead-pool* level-hint #x4000))) + (when s2-0 + (let ((t9-4 (method-of-type level-hint activate))) + (t9-4 (the-as level-hint s2-0) arg3 'level-hint (the-as pointer #x70004000)) + ) + (run-now-in-process s2-0 level-hint-init-by-other s3-1 arg1 arg2) + (-> s2-0 ppointer) + ) + ) ) - ) ) - ) 0 (none) ) ;; definition for function ambient-hint-spawn ;; INFO: Return type mismatch (pointer process) vs object. -(defun - ambient-hint-spawn - ((arg0 string) (arg1 vector) (arg2 process-tree) (arg3 symbol)) - (case arg3 - (('camera) +(defun ambient-hint-spawn ((arg0 string) (arg1 vector) (arg2 process-tree) (arg3 symbol)) + (case arg3 + (('camera) (kill-current-level-hint '() '() 'exit) ) - ) - (the-as - object - (and - (not *hint-semaphore*) - (let ((s2-0 (get-process *default-dead-pool* level-hint #x4000))) - (when s2-0 - (let ((t9-2 (method-of-type level-hint activate))) - (t9-2 - (the-as level-hint s2-0) - arg2 - 'level-hint - (the-as pointer #x70004000) - ) - ) - (run-now-in-process s2-0 ambient-hint-init-by-other arg0 arg1 arg3) - (-> s2-0 ppointer) - ) - ) ) - ) + (the-as object (and + (not *hint-semaphore*) + (let ((s2-0 (get-process *default-dead-pool* level-hint #x4000))) + (when s2-0 + (let ((t9-2 (method-of-type level-hint activate))) + (t9-2 (the-as level-hint s2-0) arg2 'level-hint (the-as pointer #x70004000)) + ) + (run-now-in-process s2-0 ambient-hint-init-by-other arg0 arg1 arg3) + (-> s2-0 ppointer) + ) + ) + ) + ) ) ;; definition for function kill-current-level-hint ;; INFO: Return type mismatch int vs none. (defun kill-current-level-hint ((arg0 pair) (arg1 pair) (arg2 symbol)) (when *hint-semaphore* - (let ((s4-0 (ppointer->process *hint-semaphore*))) - (if - (and - (or (null? arg0) (member (-> (the-as level-hint s4-0) mode) arg0)) - (not (member (-> (the-as level-hint s4-0) mode) arg1)) + (let ((s4-0 (ppointer->process *hint-semaphore*))) + (if (and + (or (null? arg0) (member (-> (the-as level-hint s4-0) mode) arg0)) + (not (member (-> (the-as level-hint s4-0) mode) arg1)) + ) + (send-event (the-as level-hint s4-0) arg2) + ) ) - (send-event (the-as level-hint s4-0) arg2) - ) ) - ) 0 (none) ) ;; definition for function level-hint-init-by-other ;; INFO: Return type mismatch int vs none. -(defbehavior - level-hint-init-by-other level-hint - ((arg0 game-text-id) (arg1 string) (arg2 entity)) +(defbehavior level-hint-init-by-other level-hint ((arg0 game-text-id) (arg1 string) (arg2 entity)) (mark-text-as-seen *game-info* arg0) (set! (-> self text-id-to-display) arg0) (set! (-> self sound-to-play) arg1) @@ -413,39 +333,33 @@ (push-setting! *setting-control* self 'hint (process->ppointer self) 0.0 0) (set! (-> self voicebox) (the-as handle #f)) (let ((s5-1 (res-lump-struct arg2 'play-mode structure)) - (a0-6 - (the-as - string - ((method-of-type res-lump get-property-struct) - arg2 - 'sound-name - 'interp - -1000000000.0 - (-> self sound-to-play) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) + (a0-6 (the-as string ((method-of-type res-lump get-property-struct) + arg2 + 'sound-name + 'interp + -1000000000.0 + (-> self sound-to-play) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + ) + (if (and (not s5-1) a0-6) + (set! s5-1 (if (or + (and (= (-> a0-6 data 0) 115) (= (-> a0-6 data 1) 97)) + (and (= (-> a0-6 data 0) 97) (= (-> a0-6 data 1) 115)) + ) + 'voicebox + 'sidekick + ) + ) + ) + (set! (-> self mode) (the-as symbol s5-1)) + (if (or (= s5-1 'sidekick) (= s5-1 'voicebox)) + (go level-hint-sidekick a0-6) ) - (if (and (not s5-1) a0-6) - (set! - s5-1 - (if - (or - (and (= (-> a0-6 data 0) 115) (= (-> a0-6 data 1) 97)) - (and (= (-> a0-6 data 0) 97) (= (-> a0-6 data 1) 115)) - ) - 'voicebox - 'sidekick - ) - ) ) - (set! (-> self mode) (the-as symbol s5-1)) - (if (or (= s5-1 'sidekick) (= s5-1 'voicebox)) - (go level-hint-sidekick a0-6) - ) - ) (go level-hint-normal) 0 (none) @@ -453,9 +367,7 @@ ;; definition for function ambient-hint-init-by-other ;; INFO: Return type mismatch int vs none. -(defbehavior - ambient-hint-init-by-other level-hint - ((arg0 string) (arg1 vector) (arg2 symbol)) +(defbehavior ambient-hint-init-by-other level-hint ((arg0 string) (arg1 vector) (arg2 symbol)) (set! (-> self sound-to-play) arg0) (set! (-> self total-time) 0) (set! (-> self total-off-time) 0) @@ -465,31 +377,22 @@ (push-setting! *setting-control* self 'hint (process->ppointer self) 0.0 0) (set! (-> self mode) arg2) (if (or (= arg2 'camera) (= arg2 'ambient) (= arg2 'stinger)) - (push-setting! - *setting-control* - self - 'ambient - (process->ppointer self) - 0.0 - 0 - ) - ) - (copy-settings-from-target! *setting-control*) - (set! - (-> self event-hook) - (lambda :behavior level-hint - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (or (= v1-0 'die) (= v1-0 'exit)) - (if (= (ppointer->process *hint-semaphore*) self) - (set! *hint-semaphore* (the-as (pointer level-hint) #f)) - ) - (deactivate self) - ) + (push-setting! *setting-control* self 'ambient (process->ppointer self) 0.0 0) ) - ) - ) - ) + (copy-settings-from-target! *setting-control*) + (set! (-> self event-hook) (lambda :behavior level-hint + ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (let ((v1-0 arg2)) + (the-as object (when (or (= v1-0 'die) (= v1-0 'exit)) + (if (= (ppointer->process *hint-semaphore*) self) + (set! *hint-semaphore* (the-as (pointer level-hint) #f)) + ) + (deactivate self) + ) + ) + ) + ) + ) (go level-hint-ambient-sound arg0) 0 (none) @@ -499,231 +402,174 @@ ;; INFO: Return type mismatch int vs none. (defmethod print-text level-hint ((obj level-hint)) (when (!= *common-text* #f) - (let - ((s5-0 - (new - 'stack - 'font-context - *font-default-matrix* - 56 - 160 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) + (let ((s5-0 + (new 'stack 'font-context *font-default-matrix* 56 160 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-3 s5-0)) + (set! (-> v1-3 width) (the float 400)) + ) + (let ((v1-4 s5-0)) + (set! (-> v1-4 height) (the float 96)) + ) + (set! (-> s5-0 flags) (font-flags shadow kerning middle large)) + (print-game-text (lookup-text! *common-text* (-> obj text-id-to-display) #f) s5-0 #f 128 22) ) - ) - (let ((v1-3 s5-0)) - (set! (-> v1-3 width) (the float 400)) - ) - (let ((v1-4 s5-0)) - (set! (-> v1-4 height) (the float 96)) - ) - (set! (-> s5-0 flags) (font-flags shadow kerning middle large)) - (print-game-text - (lookup-text! *common-text* (-> obj text-id-to-display) #f) - s5-0 - #f - 128 - 22 - ) ) - ) 0 (none) ) ;; definition for method 15 of type level-hint (defmethod dummy-15 level-hint ((obj level-hint)) - (and - (!= (-> obj next-state name) 'level-hint-sidekick) - (< 1500 (-> obj total-time)) - ) + (and (!= (-> obj next-state name) 'level-hint-sidekick) (< 1500 (-> obj total-time))) ) ;; failed to figure out what this is: (defstate level-hint-normal (level-hint) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'exit) - (go level-hint-exit) - ) - ((= v1-0 'die) - (deactivate self) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'exit) + (go level-hint-exit) + ) + ((= v1-0 'die) + (deactivate self) + ) + ) + ) + ) ) - ) :exit (behavior () - (if (= (ppointer->process *hint-semaphore*) self) - (set! *hint-semaphore* (the-as (pointer level-hint) #f)) + (if (= (ppointer->process *hint-semaphore*) self) + (set! *hint-semaphore* (the-as (pointer level-hint) #f)) + ) + (none) ) - (none) - ) :code (behavior () - (cond - ((= (-> self text-id-to-display) (game-text-id zero)) - (if *debug-segment* - (go level-hint-error "UNKNOWN TEXT ID" "") - ) - ) - (else - (while (>= 2400 (-> self total-time)) - (hide-bottom-hud) - (suspend) - (cond - ((and - (bottom-hud-hidden?) - (not (paused?)) - (not (movie?)) - (= *master-mode* 'game) - (or (not *target*) (!= (-> *target* cam-user-mode) 'look-around)) - (not (-> *hud-parts* money-all)) - ) - (print-text self) - (+! - (-> self total-time) - (- (-> *display* base-frame-counter) (-> self last-time)) - ) - (set! (-> self last-time) (-> *display* base-frame-counter)) - ) - (else - (+! - (-> self total-off-time) - (- (-> *display* base-frame-counter) (-> self last-time)) - ) - (if (or (< 1800 (-> self total-time)) (< 3000 (-> self total-off-time))) - (go level-hint-exit) - ) - ) + (cond + ((= (-> self text-id-to-display) (game-text-id zero)) + (if *debug-segment* + (go level-hint-error "UNKNOWN TEXT ID" "") + ) ) - (set! (-> self last-time) (-> *display* base-frame-counter)) + (else + (while (>= 2400 (-> self total-time)) + (hide-bottom-hud) + (suspend) + (cond + ((and + (bottom-hud-hidden?) + (not (paused?)) + (not (movie?)) + (= *master-mode* 'game) + (or (not *target*) (!= (-> *target* cam-user-mode) 'look-around)) + (not (-> *hud-parts* money-all)) + ) + (print-text self) + (+! (-> self total-time) (- (-> *display* base-frame-counter) (-> self last-time))) + (set! (-> self last-time) (-> *display* base-frame-counter)) + ) + (else + (+! (-> self total-off-time) (- (-> *display* base-frame-counter) (-> self last-time))) + (if (or (< 1800 (-> self total-time)) (< 3000 (-> self total-off-time))) + (go level-hint-exit) + ) + ) + ) + (set! (-> self last-time) (-> *display* base-frame-counter)) + ) + ) ) - ) + (go level-hint-exit) + (none) ) - (go level-hint-exit) - (none) - ) ) ;; failed to figure out what this is: (defstate level-hint-sidekick (level-hint) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'exit) - (when (nonzero? (-> self sound-id)) - (sound-stop (-> self sound-id)) - (set! (-> self sound-id) (new 'static 'sound-id)) - 0 - ) - (go level-hint-exit) - ) - ((= v1-0 'die) - (deactivate self) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'exit) + (when (nonzero? (-> self sound-id)) + (sound-stop (-> self sound-id)) + (set! (-> self sound-id) (new 'static 'sound-id)) + 0 + ) + (go level-hint-exit) + ) + ((= v1-0 'die) + (deactivate self) + ) + ) + ) + ) ) - ) :exit (behavior () - (if (nonzero? (-> self sound-id)) - (sound-stop (-> self sound-id)) + (if (nonzero? (-> self sound-id)) + (sound-stop (-> self sound-id)) + ) + (clear-pending-settings-from-process *setting-control* self 'music-volume) + (clear-pending-settings-from-process *setting-control* self 'sfx-volume) + (clear-pending-settings-from-process *setting-control* self 'dialog-volume) + (if (= (ppointer->process *hint-semaphore*) self) + (set! *hint-semaphore* (the-as (pointer level-hint) #f)) + ) + (send-event (handle->process (-> self voicebox)) 'die) + (none) ) - (clear-pending-settings-from-process *setting-control* self 'music-volume) - (clear-pending-settings-from-process *setting-control* self 'sfx-volume) - (clear-pending-settings-from-process *setting-control* self 'dialog-volume) - (if (= (ppointer->process *hint-semaphore*) self) - (set! *hint-semaphore* (the-as (pointer level-hint) #f)) - ) - (send-event (handle->process (-> self voicebox)) 'die) - (none) - ) :code (behavior ((arg0 string)) - (when - (and - (-> *setting-control* current play-hints) - (< 0.0 (-> *setting-control* current dialog-volume)) - ) - (case (-> self mode) - (('voicebox) - (if *target* - (set! - (-> self voicebox) - (ppointer->handle (voicebox-spawn *target* (target-pos 0))) + (when (and (-> *setting-control* current play-hints) (< 0.0 (-> *setting-control* current dialog-volume))) + (case (-> self mode) + (('voicebox) + (if *target* + (set! (-> self voicebox) (ppointer->handle (voicebox-spawn *target* (target-pos 0)))) + ) ) ) - ) - ) - (while (handle->process (-> *game-info* auto-save-proc)) - (suspend) - ) - (while (not *sound-player-enable*) - (suspend) - ) - (let ((s5-1 sound-play-by-name) - (s4-1 string->sound-name) - ) - (format (clear *temp-string*) "spool-~S" arg0) - (let ((s5-2 (s5-1 (s4-1 *temp-string*) (new-sound-id) 1024 0 0 1 #t))) - (set! (-> self sound-id) s5-2) - (let ((s4-3 (-> *display* base-frame-counter))) - (while - (and - (!= (current-str-id) s5-2) - (< (- (-> *display* base-frame-counter) s4-3) 1500) - ) + (while (handle->process (-> *game-info* auto-save-proc)) (suspend) ) - ) - (cond - ((= (current-str-id) s5-2) - (push-setting! - *setting-control* - self - 'music-volume - 'rel - (-> *setting-control* current music-volume-movie) - 0 - ) - (push-setting! - *setting-control* - self - 'sfx-volume - 'rel - (-> *setting-control* current sfx-volume-movie) - 0 - ) - (push-setting! - *setting-control* - self - 'dialog-volume - 'rel - (-> *setting-control* current dialog-volume-hint) - 0 - ) - (while (= (current-str-id) s5-2) - (suspend) - ) + (while (not *sound-player-enable*) + (suspend) ) - (else - (go level-hint-error "NO SOUND " arg0) + (let ((s5-1 sound-play-by-name) + (s4-1 string->sound-name) + ) + (format (clear *temp-string*) "spool-~S" arg0) + (let ((s5-2 (s5-1 (s4-1 *temp-string*) (new-sound-id) 1024 0 0 1 #t))) + (set! (-> self sound-id) s5-2) + (let ((s4-3 (-> *display* base-frame-counter))) + (while (and (!= (current-str-id) s5-2) (< (- (-> *display* base-frame-counter) s4-3) 1500)) + (suspend) + ) + ) + (cond + ((= (current-str-id) s5-2) + (push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) + (push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) + (push-setting! *setting-control* self 'dialog-volume 'rel (-> *setting-control* current dialog-volume-hint) 0) + (while (= (current-str-id) s5-2) + (suspend) + ) + ) + (else + (go level-hint-error "NO SOUND " arg0) + ) + ) + ) ) - ) ) - ) + (go level-hint-exit) + (none) ) - (go level-hint-exit) - (none) - ) ) ;; failed to figure out what this is: @@ -732,93 +578,63 @@ (-> level-hint-sidekick event) :exit (behavior () - (if (nonzero? (-> self sound-id)) - (sound-stop (-> self sound-id)) + (if (nonzero? (-> self sound-id)) + (sound-stop (-> self sound-id)) + ) + (clear-pending-settings-from-process *setting-control* self 'music-volume) + (clear-pending-settings-from-process *setting-control* self 'sfx-volume) + (if (= (ppointer->process *hint-semaphore*) self) + (set! *hint-semaphore* (the-as (pointer level-hint) #f)) + ) + (none) ) - (clear-pending-settings-from-process *setting-control* self 'music-volume) - (clear-pending-settings-from-process *setting-control* self 'sfx-volume) - (if (= (ppointer->process *hint-semaphore*) self) - (set! *hint-semaphore* (the-as (pointer level-hint) #f)) - ) - (none) - ) :code (behavior ((arg0 string)) - (while (not *sound-player-enable*) - (suspend) - ) - (cond - ((-> self trans) - (let ((s5-0 sound-play-by-name) - (s4-0 string->sound-name) - ) - (format (clear *temp-string*) "spool-~S" arg0) - (set! - (-> self sound-id) - (s5-0 - (s4-0 *temp-string*) - (new-sound-id) - 1024 - 1 - 0 - 1 - (the-as symbol (-> self trans)) - ) - ) - ) - ) - (else - (let ((s5-1 sound-play-by-name) - (s4-2 string->sound-name) - ) - (format (clear *temp-string*) "spool-~S" arg0) - (set! - (-> self sound-id) - (s5-1 (s4-2 *temp-string*) (new-sound-id) 1024 0 0 1 #t) - ) - ) - ) - ) - (let ((s5-2 (-> *display* base-frame-counter))) - (while - (and - (!= (current-str-id) (-> self sound-id)) - (< (- (-> *display* base-frame-counter) s5-2) 1500) - ) - (suspend) - ) - ) - (cond - ((= (current-str-id) (-> self sound-id)) - (when (or (= (-> self mode) 'stinger) (= (-> self mode) 'camera)) - (push-setting! - *setting-control* - self - 'music-volume - 'rel - (-> *setting-control* current music-volume-movie) - 0 - ) - (push-setting! - *setting-control* - self - 'sfx-volume - 'rel - (-> *setting-control* current sfx-volume-movie) - 0 - ) - ) - (while (= (current-str-id) (-> self sound-id)) + (while (not *sound-player-enable*) (suspend) ) - ) - (else - (go level-hint-error "NO SOUND " arg0) - ) + (cond + ((-> self trans) + (let ((s5-0 sound-play-by-name) + (s4-0 string->sound-name) + ) + (format (clear *temp-string*) "spool-~S" arg0) + (set! (-> self sound-id) + (s5-0 (s4-0 *temp-string*) (new-sound-id) 1024 1 0 1 (the-as symbol (-> self trans))) + ) + ) + ) + (else + (let ((s5-1 sound-play-by-name) + (s4-2 string->sound-name) + ) + (format (clear *temp-string*) "spool-~S" arg0) + (set! (-> self sound-id) (s5-1 (s4-2 *temp-string*) (new-sound-id) 1024 0 0 1 #t)) + ) + ) + ) + (let ((s5-2 (-> *display* base-frame-counter))) + (while (and (!= (current-str-id) (-> self sound-id)) (< (- (-> *display* base-frame-counter) s5-2) 1500)) + (suspend) + ) + ) + (cond + ((= (current-str-id) (-> self sound-id)) + (when (or (= (-> self mode) 'stinger) (= (-> self mode) 'camera)) + (push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) + (push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) + ) + (while (= (current-str-id) (-> self sound-id)) + (suspend) + ) + ) + (else + (go level-hint-error "NO SOUND " arg0) + ) + ) + (go level-hint-exit) + (none) ) - (go level-hint-exit) - (none) - ) ) ;; failed to figure out what this is: @@ -827,85 +643,69 @@ (-> level-hint-normal event) :code (behavior ((arg0 string) (arg1 string)) - (clear-pending-settings-from-process *setting-control* self 'hint) - (let ((s4-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) s4-0) 300) - (when - (and - *debug-segment* - (not (paused?)) - (not (str-is-playing?)) - (bottom-hud-hidden?) - ) - (let - ((s3-0 - (new - 'stack - 'font-context - *font-default-matrix* - 56 - 160 - 0.0 - (font-color default) - (font-flags shadow kerning) + (clear-pending-settings-from-process *setting-control* self 'hint) + (let ((s4-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) s4-0) 300) + (when (and *debug-segment* (not (paused?)) (not (str-is-playing?)) (bottom-hud-hidden?)) + (let ((s3-0 + (new 'stack 'font-context *font-default-matrix* 56 160 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-7 s3-0)) + (set! (-> v1-7 width) (the float 400)) + ) + (let ((v1-8 s3-0)) + (set! (-> v1-8 height) (the float 96)) + ) + (set! (-> s3-0 flags) (font-flags shadow kerning middle)) + (let ((s2-0 print-game-text)) + (format (clear *temp-string*) "~S~S" arg0 arg1) + (s2-0 *temp-string* s3-0 #f 128 22) + ) + ) ) - ) + (suspend) ) - (let ((v1-7 s3-0)) - (set! (-> v1-7 width) (the float 400)) - ) - (let ((v1-8 s3-0)) - (set! (-> v1-8 height) (the float 96)) - ) - (set! (-> s3-0 flags) (font-flags shadow kerning middle)) - (let ((s2-0 print-game-text)) - (format (clear *temp-string*) "~S~S" arg0 arg1) - (s2-0 *temp-string* s3-0 #f 128 22) - ) - ) ) - (suspend) - ) + (go level-hint-exit) + (none) ) - (go level-hint-exit) - (none) - ) ) ;; failed to figure out what this is: (defstate level-hint-exit (level-hint) :code (behavior () - (if (= (ppointer->process *hint-semaphore*) self) - (set! *hint-semaphore* (the-as (pointer level-hint) #f)) + (if (= (ppointer->process *hint-semaphore*) self) + (set! *hint-semaphore* (the-as (pointer level-hint) #f)) + ) + (none) ) - (none) - ) ) ;; definition for function ambient-type-error ;; INFO: Return type mismatch int vs none. (defun ambient-type-error ((arg0 drawable-ambient) (arg1 vector)) (when *display-entity-errors* - (let ((s2-0 (-> arg0 ambient))) - (format - (clear *temp-string*) - "~2j~s art error for ~s ~s" - (res-lump-struct s2-0 'effect-name structure :time 0.0) - (res-lump-struct s2-0 'type structure) - (res-lump-struct s2-0 'name structure) - ) - ) - *temp-string* - (add-debug-text-3d - #t - (bucket-id debug-draw1) + (let ((s2-0 (-> arg0 ambient))) + (format + (clear *temp-string*) + "~2j~s art error for ~s ~s" + (res-lump-struct s2-0 'effect-name structure :time 0.0) + (res-lump-struct s2-0 'type structure) + (res-lump-struct s2-0 'name structure) + ) + ) *temp-string* - (-> arg0 bsphere) - (font-color orange-red) - (the-as vector2h #f) + (add-debug-text-3d + #t + (bucket-id debug-draw1) + *temp-string* + (-> arg0 bsphere) + (font-color orange-red) + (the-as vector2h #f) + ) ) - ) 0 (none) ) @@ -921,77 +721,42 @@ ;; INFO: Return type mismatch int vs none. (defun ambient-type-hint ((arg0 drawable-ambient) (arg1 vector)) (with-pp - (let - ((s5-0 - (level-hint-task-process - (-> arg0 ambient) - (the-as uint128 0) - (the-as string #f) - ) - ) - ) - (cond - ((zero? s5-0) - (when - (and - *debug-segment* - (not (paused?)) - (not (str-is-playing?)) - (bottom-hud-hidden?) - ) - (let - ((a1-3 - (new - 'stack - 'font-context - *font-default-matrix* - 56 - 160 - 0.0 - (font-color default) - (font-flags shadow kerning) + (let ((s5-0 (level-hint-task-process (-> arg0 ambient) (the-as uint128 0) (the-as string #f)))) + (cond + ((zero? s5-0) + (when (and *debug-segment* (not (paused?)) (not (str-is-playing?)) (bottom-hud-hidden?)) + (let ((a1-3 + (new 'stack 'font-context *font-default-matrix* 56 160 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-5 a1-3)) + (set! (-> v1-5 width) (the float 400)) + ) + (let ((v1-6 a1-3)) + (set! (-> v1-6 height) (the float 96)) + ) + (set! (-> a1-3 flags) (font-flags shadow kerning middle large)) + (print-game-text "AS: UNKNOWN ID" a1-3 #f 128 22) + ) ) - ) ) - (let ((v1-5 a1-3)) - (set! (-> v1-5 width) (the float 400)) + ((!= s5-0 -1) + (kill-current-level-hint '() '() 'exit) + (let ((s4-0 (get-process *default-dead-pool* level-hint #x4000))) + (when s4-0 + (let ((t9-8 (method-of-type level-hint activate))) + (t9-8 (the-as level-hint s4-0) pp 'level-hint (the-as pointer #x70004000)) + ) + (run-now-in-process s4-0 level-hint-init-by-other s5-0 #f (-> arg0 ambient)) + (-> s4-0 ppointer) + ) + ) ) - (let ((v1-6 a1-3)) - (set! (-> v1-6 height) (the float 96)) - ) - (set! (-> a1-3 flags) (font-flags shadow kerning middle large)) - (print-game-text "AS: UNKNOWN ID" a1-3 #f 128 22) ) - ) ) - ((!= s5-0 -1) - (kill-current-level-hint '() '() 'exit) - (let ((s4-0 (get-process *default-dead-pool* level-hint #x4000))) - (when s4-0 - (let ((t9-8 (method-of-type level-hint activate))) - (t9-8 - (the-as level-hint s4-0) - pp - 'level-hint - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s4-0 - level-hint-init-by-other - s5-0 - #f - (-> arg0 ambient) - ) - (-> s4-0 ppointer) - ) - ) - ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function ambient-type-sound @@ -1002,91 +767,62 @@ (let* ((s5-0 (-> arg0 ambient)) (s4-0 (-> s5-0 ambient-data user-uint64 0)) ) - (when (>= (-> *display* base-frame-counter) (the-as int s4-0)) - (let ((v1-5 (res-lump-data s5-0 'cycle-speed pointer))) - (set! - (-> s5-0 ambient-data user-uint64 0) - (the-as - uint - (+ - (-> *display* base-frame-counter) - (the int (* 300.0 (-> (the-as (pointer float) v1-5) 0))) - (rand-vu-int-count - (the int (* 300.0 (-> (the-as (pointer float) v1-5) 1))) - ) + (when (>= (-> *display* base-frame-counter) (the-as int s4-0)) + (let ((v1-5 (res-lump-data s5-0 'cycle-speed pointer))) + (set! (-> s5-0 ambient-data user-uint64 0) + (the-as uint (+ (-> *display* base-frame-counter) + (the int (* 300.0 (-> (the-as (pointer float) v1-5) 0))) + (rand-vu-int-count (the int (* 300.0 (-> (the-as (pointer float) v1-5) 1)))) + ) + ) + ) ) - ) - ) - ) - (when - (< - (the-as uint (- (-> *display* base-frame-counter) (the-as int s4-0))) - (the-as uint 300) - ) - (let - ((f30-0 - (the - float - (rand-vu-int-count (the-as int (-> s5-0 ambient-data user-float 2))) - ) - ) - ) - (set! - sv-16 - (symbol->string (res-lump-struct s5-0 'effect-name symbol :time f30-0)) - ) - (let ((s4-2 (new 'stack 'sound-spec))) - (set! (-> s4-2 sound-name) (string->sound-name sv-16)) - (logior! (-> s4-2 mask) 1) - (set! (-> s4-2 volume) 1024) - (logior! (-> s4-2 mask) 4) - (set! - (-> s4-2 bend) - (the int (* 327.66998 (rand-vu-float-range -100.0 100.0))) - ) - (set! sv-112 (new 'static 'res-tag)) - (let - ((a1-7 - ((method-of-type res-lump get-property-data) - s5-0 - 'effect-param - 'exact - f30-0 - (the-as pointer #f) - (& sv-112) - *res-static-buf* - ) + (when (< (the-as uint (- (-> *display* base-frame-counter) (the-as int s4-0))) (the-as uint 300)) + (let ((f30-0 (the float (rand-vu-int-count (the-as int (-> s5-0 ambient-data user-float 2)))))) + (set! sv-16 (symbol->string (res-lump-struct s5-0 'effect-name symbol :time f30-0))) + (let ((s4-2 (new 'stack 'sound-spec))) + (set! (-> s4-2 sound-name) (string->sound-name sv-16)) + (logior! (-> s4-2 mask) 1) + (set! (-> s4-2 volume) 1024) + (logior! (-> s4-2 mask) 4) + (set! (-> s4-2 bend) (the int (* 327.66998 (rand-vu-float-range -100.0 100.0)))) + (set! sv-112 (new 'static 'res-tag)) + (let ((a1-7 ((method-of-type res-lump get-property-data) + s5-0 + 'effect-param + 'exact + f30-0 + (the-as pointer #f) + (& sv-112) + *res-static-buf* + ) + ) + ) + (if a1-7 + (effect-param->sound-spec s4-2 (the-as (pointer float) a1-7) (the-as int (-> sv-112 elt-count))) + ) + ) + (when *debug-effect-control* + (format + #t + "(~5D) effect sound ~A ~S " + (-> *display* base-frame-counter) + (res-lump-struct s5-0 'name structure) + sv-16 + ) + (format + #t + "volume: ~f pitch-mod: ~f~%" + (* 0.09765625 (the float (-> s4-2 volume))) + (* 0.000656168 (the float (-> s4-2 pitch-mod))) + ) + ) + (sound-play-by-spec s4-2 (new-sound-id) (-> arg0 bsphere)) + ) ) - ) - (if a1-7 - (effect-param->sound-spec - s4-2 - (the-as (pointer float) a1-7) - (the-as int (-> sv-112 elt-count)) - ) - ) ) - (when *debug-effect-control* - (format - #t - "(~5D) effect sound ~A ~S " - (-> *display* base-frame-counter) - (res-lump-struct s5-0 'name structure) - sv-16 - ) - (format - #t - "volume: ~f pitch-mod: ~f~%" - (* 0.09765625 (the float (-> s4-2 volume))) - (* 0.000656168 (the float (-> s4-2 pitch-mod))) - ) - ) - (sound-play-by-spec s4-2 (new-sound-id) (-> arg0 bsphere)) - ) ) - ) ) - ) 0 (none) ) @@ -1096,34 +832,28 @@ ;; Used lq/sq (defun ambient-type-sound-loop ((arg0 drawable-ambient) (arg1 vector)) (let* ((s5-0 (-> arg0 ambient)) - (s2-0 - (symbol->string (the-as symbol (-> s5-0 ambient-data user-float 2))) - ) + (s2-0 (symbol->string (the-as symbol (-> s5-0 ambient-data user-float 2)))) (s3-0 (the-as object (-> s5-0 ambient-data user-float 1))) (s4-0 (new 'stack 'sound-spec)) ) - (set! (-> s4-0 sound-name) (string->sound-name s2-0)) - (logior! (-> s4-0 mask) 1) - (set! (-> s4-0 volume) 1024) - (when (the-as (pointer res-tag) s3-0) - (let ((t9-2 effect-param->sound-spec) - (a0-5 s4-0) - (v1-8 (-> arg0 ambient)) - (a1-2 (-> (the-as (pointer res-tag) s3-0) 0)) + (set! (-> s4-0 sound-name) (string->sound-name s2-0)) + (logior! (-> s4-0 mask) 1) + (set! (-> s4-0 volume) 1024) + (when (the-as (pointer res-tag) s3-0) + (let ((t9-2 effect-param->sound-spec) + (a0-5 s4-0) + (v1-8 (-> arg0 ambient)) + (a1-2 (-> (the-as (pointer res-tag) s3-0) 0)) + ) + (t9-2 + a0-5 + (the-as (pointer float) (&+ (-> v1-8 data-base) (-> a1-2 data-offset))) + (the-as int (-> (the-as (pointer res-tag) s3-0) 0 elt-count)) ) - (t9-2 - a0-5 - (the-as (pointer float) (&+ (-> v1-8 data-base) (-> a1-2 data-offset))) - (the-as int (-> (the-as (pointer res-tag) s3-0) 0 elt-count)) + ) ) - ) + (sound-play-by-spec s4-0 (the-as sound-id (-> s5-0 ambient-data user-float 0)) (-> arg0 bsphere)) ) - (sound-play-by-spec - s4-0 - (the-as sound-id (-> s5-0 ambient-data user-float 0)) - (-> arg0 bsphere) - ) - ) 0 (none) ) @@ -1133,63 +863,43 @@ ;; Used lq/sq (defun ambient-type-light ((arg0 drawable-ambient) (arg1 vector)) (when *target* - (let ((s4-0 (-> arg0 ambient)) - (s5-0 #t) - ) - (let - ((s3-0 - (-> ((method-of-type res-lump lookup-tag-idx) s4-0 'vol 'exact 0.0) lo) - ) - ) - (when (>= (the-as int s3-0) 0) - (let ((s2-0 (the-as uint s3-0)) - (s1-0 (-> s4-0 tag s3-0)) - ) - 0 - (while (= (-> s1-0 name) (-> s4-0 tag s3-0 name)) - (let - ((v1-8 - (the-as - object - (make-property-data - s4-0 - 0.0 - (the-as res-tag-pair s2-0) - (the-as pointer #f) - ) - ) - ) + (let ((s4-0 (-> arg0 ambient)) + (s5-0 #t) ) - (set! s5-0 #t) - (countdown (a0-6 (-> s1-0 elt-count)) - (when - (< - (-> arg1 w) - (- - (vector-dot arg1 (-> (the-as (inline-array vector) v1-8) a0-6)) - (-> (the-as (inline-array vector) v1-8) a0-6 w) - ) + (let ((s3-0 (-> ((method-of-type res-lump lookup-tag-idx) s4-0 'vol 'exact 0.0) lo))) + (when (>= (the-as int s3-0) 0) + (let ((s2-0 (the-as uint s3-0)) + (s1-0 (-> s4-0 tag s3-0)) + ) + 0 + (while (= (-> s1-0 name) (-> s4-0 tag s3-0 name)) + (let ((v1-8 (the-as object (make-property-data s4-0 0.0 (the-as res-tag-pair s2-0) (the-as pointer #f))))) + (set! s5-0 #t) + (countdown (a0-6 (-> s1-0 elt-count)) + (when (< (-> arg1 w) (- (vector-dot arg1 (-> (the-as (inline-array vector) v1-8) a0-6)) + (-> (the-as (inline-array vector) v1-8) a0-6 w) + ) + ) + (set! s5-0 #f) + (goto cfg-9) + ) + ) + ) + (label cfg-9) + (if s5-0 + (goto cfg-15) + ) + (+! s2-0 1) + (set! s1-0 (-> s4-0 tag s2-0)) + ) ) - (set! s5-0 #f) - (goto cfg-9) - ) ) - ) - (label cfg-9) - (if s5-0 - (goto cfg-15) - ) - (+! s2-0 1) - (set! s1-0 (-> s4-0 tag s2-0)) ) - ) + (label cfg-15) + (when s5-0 + ) ) - ) - (label cfg-15) - (when s5-0 - ) ) - ) 0 (none) ) @@ -1199,64 +909,44 @@ ;; Used lq/sq (defun ambient-type-dark ((arg0 drawable-ambient) (arg1 vector)) (when *target* - (let ((s4-0 (-> arg0 ambient)) - (s5-0 #t) - ) - (let - ((s3-0 - (-> ((method-of-type res-lump lookup-tag-idx) s4-0 'vol 'exact 0.0) lo) - ) - ) - (when (>= (the-as int s3-0) 0) - (let ((s2-0 (the-as uint s3-0)) - (s1-0 (-> s4-0 tag s3-0)) - ) - 0 - (while (= (-> s1-0 name) (-> s4-0 tag s3-0 name)) - (let - ((v1-8 - (the-as - object - (make-property-data - s4-0 - 0.0 - (the-as res-tag-pair s2-0) - (the-as pointer #f) - ) - ) - ) + (let ((s4-0 (-> arg0 ambient)) + (s5-0 #t) ) - (set! s5-0 #t) - (countdown (a0-6 (-> s1-0 elt-count)) - (when - (< - (-> arg1 w) - (- - (vector-dot arg1 (-> (the-as (inline-array vector) v1-8) a0-6)) - (-> (the-as (inline-array vector) v1-8) a0-6 w) - ) + (let ((s3-0 (-> ((method-of-type res-lump lookup-tag-idx) s4-0 'vol 'exact 0.0) lo))) + (when (>= (the-as int s3-0) 0) + (let ((s2-0 (the-as uint s3-0)) + (s1-0 (-> s4-0 tag s3-0)) + ) + 0 + (while (= (-> s1-0 name) (-> s4-0 tag s3-0 name)) + (let ((v1-8 (the-as object (make-property-data s4-0 0.0 (the-as res-tag-pair s2-0) (the-as pointer #f))))) + (set! s5-0 #t) + (countdown (a0-6 (-> s1-0 elt-count)) + (when (< (-> arg1 w) (- (vector-dot arg1 (-> (the-as (inline-array vector) v1-8) a0-6)) + (-> (the-as (inline-array vector) v1-8) a0-6 w) + ) + ) + (set! s5-0 #f) + (goto cfg-9) + ) + ) + ) + (label cfg-9) + (if s5-0 + (goto cfg-15) + ) + (+! s2-0 1) + (set! s1-0 (-> s4-0 tag s2-0)) + ) ) - (set! s5-0 #f) - (goto cfg-9) - ) ) - ) - (label cfg-9) - (if s5-0 - (goto cfg-15) - ) - (+! s2-0 1) - (set! s1-0 (-> s4-0 tag s2-0)) ) - ) + (label cfg-15) + (if s5-0 + (set! (-> *target* draw secondary-interp) 1.0) + ) ) - ) - (label cfg-15) - (if s5-0 - (set! (-> *target* draw secondary-interp) 1.0) - ) ) - ) 0 (none) ) @@ -1266,64 +956,44 @@ ;; Used lq/sq (defun ambient-type-weather-off ((arg0 drawable-ambient) (arg1 vector)) (when *target* - (let ((s4-0 (-> arg0 ambient)) - (s5-0 #t) - ) - (let - ((s3-0 - (-> ((method-of-type res-lump lookup-tag-idx) s4-0 'vol 'exact 0.0) lo) - ) - ) - (when (>= (the-as int s3-0) 0) - (let ((s2-0 (the-as uint s3-0)) - (s1-0 (-> s4-0 tag s3-0)) - ) - 0 - (while (= (-> s1-0 name) (-> s4-0 tag s3-0 name)) - (let - ((v1-8 - (the-as - object - (make-property-data - s4-0 - 0.0 - (the-as res-tag-pair s2-0) - (the-as pointer #f) - ) - ) - ) + (let ((s4-0 (-> arg0 ambient)) + (s5-0 #t) ) - (set! s5-0 #t) - (countdown (a0-6 (-> s1-0 elt-count)) - (when - (< - (-> arg1 w) - (- - (vector-dot arg1 (-> (the-as (inline-array vector) v1-8) a0-6)) - (-> (the-as (inline-array vector) v1-8) a0-6 w) - ) + (let ((s3-0 (-> ((method-of-type res-lump lookup-tag-idx) s4-0 'vol 'exact 0.0) lo))) + (when (>= (the-as int s3-0) 0) + (let ((s2-0 (the-as uint s3-0)) + (s1-0 (-> s4-0 tag s3-0)) + ) + 0 + (while (= (-> s1-0 name) (-> s4-0 tag s3-0 name)) + (let ((v1-8 (the-as object (make-property-data s4-0 0.0 (the-as res-tag-pair s2-0) (the-as pointer #f))))) + (set! s5-0 #t) + (countdown (a0-6 (-> s1-0 elt-count)) + (when (< (-> arg1 w) (- (vector-dot arg1 (-> (the-as (inline-array vector) v1-8) a0-6)) + (-> (the-as (inline-array vector) v1-8) a0-6 w) + ) + ) + (set! s5-0 #f) + (goto cfg-9) + ) + ) + ) + (label cfg-9) + (if s5-0 + (goto cfg-15) + ) + (+! s2-0 1) + (set! s1-0 (-> s4-0 tag s2-0)) + ) ) - (set! s5-0 #f) - (goto cfg-9) - ) ) - ) - (label cfg-9) - (if s5-0 - (goto cfg-15) - ) - (+! s2-0 1) - (set! s1-0 (-> s4-0 tag s2-0)) ) - ) + (label cfg-15) + (if s5-0 + (set! *weather-off* #t) + ) ) - ) - (label cfg-15) - (if s5-0 - (set! *weather-off* #t) - ) ) - ) 0 (none) ) @@ -1348,71 +1018,47 @@ ;; INFO: Return type mismatch int vs none. (defun ambient-type-music ((arg0 drawable-ambient) (arg1 vector)) (let ((gp-0 (-> arg0 ambient))) - (if (-> gp-0 ambient-data user-float 0) - (set! - (-> *setting-control* default music) - (the-as symbol (-> gp-0 ambient-data user-float 0)) - ) - ) - (when (nonzero? (-> gp-0 ambient-data user-float 1)) - (let ((f0-0 (res-lump-float gp-0 'priority :default 10.0))) - (when (>= f0-0 (-> *setting-control* default sound-flava-priority)) - (set! - (-> *setting-control* default sound-flava) - (the-as uint (-> gp-0 ambient-data user-float 1)) - ) - (set! (-> *setting-control* default sound-flava-priority) f0-0) + (if (-> gp-0 ambient-data user-float 0) + (set! (-> *setting-control* default music) (the-as symbol (-> gp-0 ambient-data user-float 0))) + ) + (when (nonzero? (-> gp-0 ambient-data user-float 1)) + (let ((f0-0 (res-lump-float gp-0 'priority :default 10.0))) + (when (>= f0-0 (-> *setting-control* default sound-flava-priority)) + (set! (-> *setting-control* default sound-flava) (the-as uint (-> gp-0 ambient-data user-float 1))) + (set! (-> *setting-control* default sound-flava-priority) f0-0) + ) + ) ) - ) ) - ) 0 (none) ) ;; definition for method 17 of type drawable-ambient ;; INFO: Return type mismatch int vs none. -(defmethod - collect-ambients - drawable-ambient - ((obj drawable-ambient) (arg0 sphere) (arg1 int) (arg2 ambient-list)) +(defmethod collect-ambients drawable-ambient ((obj drawable-ambient) (arg0 sphere) (arg1 int) (arg2 ambient-list)) (dotimes (s2-0 arg1) - (when (spheres-overlap? arg0 (the-as sphere (-> obj bsphere))) - (set! (-> arg2 items (-> arg2 num-items)) obj) - (+! (-> arg2 num-items) 1) + (when (spheres-overlap? arg0 (the-as sphere (-> obj bsphere))) + (set! (-> arg2 items (-> arg2 num-items)) obj) + (+! (-> arg2 num-items) 1) + ) + (&+! obj 32) ) - (&+! obj 32) - ) 0 (none) ) ;; definition for method 17 of type drawable-inline-array-ambient ;; INFO: Return type mismatch int vs none. -(defmethod - collect-ambients - drawable-inline-array-ambient - ((obj drawable-inline-array-ambient) - (arg0 sphere) - (arg1 int) - (arg2 ambient-list) - ) - (collect-ambients - (the-as drawable-ambient (-> obj data)) - arg0 - (-> obj length) - arg2 - ) +(defmethod collect-ambients drawable-inline-array-ambient ((obj drawable-inline-array-ambient) (arg0 sphere) (arg1 int) (arg2 ambient-list)) + (collect-ambients (the-as drawable-ambient (-> obj data)) arg0 (-> obj length) arg2) 0 (none) ) ;; definition for method 17 of type drawable-tree-ambient ;; INFO: Return type mismatch int vs none. -(defmethod - collect-ambients - drawable-tree-ambient - ((obj drawable-tree-ambient) (arg0 sphere) (arg1 int) (arg2 ambient-list)) +(defmethod collect-ambients drawable-tree-ambient ((obj drawable-tree-ambient) (arg0 sphere) (arg1 int) (arg2 ambient-list)) (collect-ambients (-> obj data 0) arg0 (-> obj length) arg2) 0 (none) @@ -1424,144 +1070,92 @@ (defmethod birth-ambient! entity-ambient ((obj entity-ambient)) (set! (-> obj ambient-data quad) (the-as uint128 0)) (set! (-> obj ambient-data function) ambient-type-error) - (case (res-lump-struct obj 'type structure) - (('sound) + (case (res-lump-struct obj 'type structure) + (('sound) (let ((s5-0 (res-lump-struct obj 'effect-name structure :time 0.0)) (a0-7 (res-lump-data obj 'cycle-speed pointer)) ) - (when (and s5-0 a0-7) - (cond - ((>= (-> (the-as (pointer float) a0-7)) 0.0) - (set! (-> obj ambient-data function) ambient-type-sound) - (set! (-> obj ambient-data user-float 2) (the-as float 0)) - (let - ((s5-1 - (-> - ((method-of-type res-lump lookup-tag-idx) - obj - 'effect-name - 'exact - 0.0 + (when (and s5-0 a0-7) + (cond + ((>= (-> (the-as (pointer float) a0-7)) 0.0) + (set! (-> obj ambient-data function) ambient-type-sound) + (set! (-> obj ambient-data user-float 2) (the-as float 0)) + (let ((s5-1 (-> ((method-of-type res-lump lookup-tag-idx) obj 'effect-name 'exact 0.0) lo))) + (when (>= (the-as int s5-1) 0) + (let ((s4-0 (the-as uint s5-1)) + (v1-14 (-> obj tag s5-1)) + ) + 0 + (while (= (-> v1-14 name) (-> obj tag s5-1 name)) + (make-property-data obj 0.0 (the-as res-tag-pair s4-0) (the-as pointer #f)) + (set! (-> obj ambient-data user-float 2) (the-as float (+ (the-as int (-> obj ambient-data user-float 2)) 1))) + (+! s4-0 1) + (set! v1-14 (-> obj tag s4-0)) + ) + ) + ) ) - lo - ) ) - ) - (when (>= (the-as int s5-1) 0) - (let ((s4-0 (the-as uint s5-1)) - (v1-14 (-> obj tag s5-1)) - ) - 0 - (while (= (-> v1-14 name) (-> obj tag s5-1 name)) - (make-property-data - obj - 0.0 - (the-as res-tag-pair s4-0) - (the-as pointer #f) - ) - (set! - (-> obj ambient-data user-float 2) - (the-as - float - (+ (the-as int (-> obj ambient-data user-float 2)) 1) + (else + (set! (-> obj ambient-data user-float 0) (the-as float (new-sound-id))) + (let ((v1-28 ((method-of-type res-lump lookup-tag-idx) obj 'effect-param 'exact 0.0))) + (set! (-> obj ambient-data user-float 1) (the-as float (if (< (the-as int v1-28) 0) + (the-as (pointer res-tag) #f) + (&-> (-> obj tag) (-> v1-28 lo)) + ) + ) + ) ) - ) - (+! s4-0 1) - (set! v1-14 (-> obj tag s4-0)) + (set! (-> obj ambient-data user-float 2) (the-as float s5-0)) + (set! (-> obj ambient-data function) ambient-type-sound-loop) ) - ) ) - ) ) - (else - (set! (-> obj ambient-data user-float 0) (the-as float (new-sound-id))) - (let - ((v1-28 - ((method-of-type res-lump lookup-tag-idx) - obj - 'effect-param - 'exact - 0.0 - ) - ) - ) - (set! - (-> obj ambient-data user-float 1) - (the-as float (if (< (the-as int v1-28) 0) - (the-as (pointer res-tag) #f) - (&-> (-> obj tag) (-> v1-28 lo)) - ) - ) - ) - ) - (set! (-> obj ambient-data user-float 2) (the-as float s5-0)) - (set! (-> obj ambient-data function) ambient-type-sound-loop) - ) - ) ) - ) ) - (('poi) - (let ((s5-2 (res-lump-struct obj 'effect-name structure :time 0.0))) - (when (res-lump-value obj 'loc-name-id uint128) - (set! (-> obj ambient-data user-float 2) (the-as float s5-2)) - (set! (-> obj ambient-data function) ambient-type-poi) - ) + (('poi) + (let ((s5-2 (res-lump-struct obj 'effect-name structure :time 0.0))) + (when (res-lump-value obj 'loc-name-id uint128) + (set! (-> obj ambient-data user-float 2) (the-as float s5-2)) + (set! (-> obj ambient-data function) ambient-type-poi) + ) + ) + ) + (('hint) + (let ((s5-3 (res-lump-struct obj 'effect-name structure :time 0.0))) + (when (res-lump-value obj 'text-id uint128) + (set! (-> obj ambient-data user-float 2) (the-as float s5-3)) + (set! (-> obj ambient-data function) ambient-type-hint) + ) + ) + ) + (('light) + (set! (-> obj ambient-data user-float 2) (res-lump-struct obj 'effect-name float :time 0.0)) + (set! (-> obj ambient-data function) ambient-type-light) + ) + (('dark) + (set! (-> obj ambient-data user-float 2) (res-lump-struct obj 'effect-name float :time 0.0)) + (set! (-> obj ambient-data function) ambient-type-dark) + ) + (('weather-off) + (set! (-> obj ambient-data user-float 2) (res-lump-struct obj 'effect-name float :time 0.0)) + (set! (-> obj ambient-data function) ambient-type-weather-off) + ) + (('ocean-off) + (set! (-> obj ambient-data user-float 2) (res-lump-struct obj 'effect-name float :time 0.0)) + (set! (-> obj ambient-data function) ambient-type-ocean-off) + ) + (('ocean-near-off) + (set! (-> obj ambient-data user-float 2) (res-lump-struct obj 'effect-name float :time 0.0)) + (set! (-> obj ambient-data function) ambient-type-ocean-near-off) + ) + (('music) + (set! (-> obj ambient-data user-float 2) (res-lump-struct obj 'effect-name float :time 0.0)) + (set! (-> obj ambient-data user-float 0) (res-lump-struct obj 'music float)) + (set! (-> obj ambient-data user-float 1) (res-lump-value obj 'flava float)) + (set! (-> obj ambient-data function) ambient-type-music) ) ) - (('hint) - (let ((s5-3 (res-lump-struct obj 'effect-name structure :time 0.0))) - (when (res-lump-value obj 'text-id uint128) - (set! (-> obj ambient-data user-float 2) (the-as float s5-3)) - (set! (-> obj ambient-data function) ambient-type-hint) - ) - ) - ) - (('light) - (set! - (-> obj ambient-data user-float 2) - (res-lump-struct obj 'effect-name float :time 0.0) - ) - (set! (-> obj ambient-data function) ambient-type-light) - ) - (('dark) - (set! - (-> obj ambient-data user-float 2) - (res-lump-struct obj 'effect-name float :time 0.0) - ) - (set! (-> obj ambient-data function) ambient-type-dark) - ) - (('weather-off) - (set! - (-> obj ambient-data user-float 2) - (res-lump-struct obj 'effect-name float :time 0.0) - ) - (set! (-> obj ambient-data function) ambient-type-weather-off) - ) - (('ocean-off) - (set! - (-> obj ambient-data user-float 2) - (res-lump-struct obj 'effect-name float :time 0.0) - ) - (set! (-> obj ambient-data function) ambient-type-ocean-off) - ) - (('ocean-near-off) - (set! - (-> obj ambient-data user-float 2) - (res-lump-struct obj 'effect-name float :time 0.0) - ) - (set! (-> obj ambient-data function) ambient-type-ocean-near-off) - ) - (('music) - (set! - (-> obj ambient-data user-float 2) - (res-lump-struct obj 'effect-name float :time 0.0) - ) - (set! (-> obj ambient-data user-float 0) (res-lump-struct obj 'music float)) - (set! (-> obj ambient-data user-float 1) (res-lump-value obj 'flava float)) - (set! (-> obj ambient-data function) ambient-type-music) - ) - ) (none) ) @@ -1588,151 +1182,121 @@ (s5-0 (res-lump-struct obj 'type symbol)) (s3-0 #f) ) - (cond - ((= s5-0 'sound) - (when *display-ambient-sound-marks* - (add-debug-text-3d - #t - (bucket-id debug-draw1) - (the-as - string - (-> - (the-as - (pointer uint32) - (+ #xff38 (res-lump-struct obj 'effect-name int :time 0.0)) - ) + (cond + ((= s5-0 'sound) + (when *display-ambient-sound-marks* + (add-debug-text-3d + #t + (bucket-id debug-draw1) + (the-as string (-> (the-as (pointer uint32) (+ #xff38 (res-lump-struct obj 'effect-name int :time 0.0))))) + gp-0 + (font-color white) + (new 'static 'vector2h :y 24) + ) + (set! s3-0 #t) ) - ) - gp-0 - (font-color white) - (new 'static 'vector2h :y 24) ) - (set! s3-0 #t) + ((= s5-0 'hint) + (when *display-ambient-hint-marks* + (set! sv-16 (res-lump-value obj 'text-id uint128)) + (let ((s3-2 add-debug-text-3d) + (s2-1 #t) + (s1-1 68) + ) + (format (clear *temp-string*) "TEXT ID #x~X" sv-16) + (s3-2 s2-1 (the-as bucket-id s1-1) *temp-string* gp-0 (font-color white) (new 'static 'vector2h :y 24)) + ) + (set! s3-0 #t) + ) + ) + ((= s5-0 'poi) + (when *display-ambient-poi-marks* + (let ((a1-7 (res-lump-value obj 'loc-name-id uint128))) + (when (and (nonzero? a1-7) *common-text*) + (add-debug-text-3d + #t + (bucket-id debug-draw1) + (lookup-text! *common-text* (the-as game-text-id a1-7) #f) + gp-0 + (font-color white) + (new 'static 'vector2h :y 24) + ) + (set! s3-0 #t) + ) + ) + ) + ) + ((= s5-0 'light) + (if *display-ambient-light-marks* + (set! s3-0 #t) + ) + ) + ((= s5-0 'dark) + (if *display-ambient-dark-marks* + (set! s3-0 #t) + ) + ) + ((= s5-0 'weather-off) + (if *display-ambient-weather-off-marks* + (set! s3-0 #t) + ) + ) + ((= s5-0 'ocean-off) + (if *display-ambient-ocean-off-marks* + (set! s3-0 #t) + ) + ) + ((= s5-0 'ocean-near-off) + (if *display-ambient-ocean-near-off-marks* + (set! s3-0 #t) + ) + ) + ((= s5-0 'music) + (if *display-ambient-music-marks* + (set! s3-0 #t) + ) + ) ) - ) - ((= s5-0 'hint) - (when *display-ambient-hint-marks* - (set! sv-16 (res-lump-value obj 'text-id uint128)) - (let ((s3-2 add-debug-text-3d) - (s2-1 #t) - (s1-1 68) + (when s3-0 + (let ((t9-10 add-debug-sphere) + (a0-11 #t) + (a1-9 67) + (a2-9 gp-0) + (a3-7 (-> gp-0 w)) + (v1-53 s5-0) ) - (format (clear *temp-string*) "TEXT ID #x~X" sv-16) - (s3-2 - s2-1 - (the-as bucket-id s1-1) - *temp-string* + (t9-10 a0-11 (the-as bucket-id a1-9) a2-9 a3-7 (the-as rgba (cond + ((= v1-53 'sound) + (the-as uint #x8000ffff) + ) + ((= v1-53 'poi) + (the-as uint #x80ff8000) + ) + (else + (the-as uint #x800000ff) + ) + ) + ) + ) + ) + (add-debug-text-3d + #t + (bucket-id debug-draw1) + (res-lump-struct obj 'name string) gp-0 (font-color white) - (new 'static 'vector2h :y 24) + (new 'static 'vector2h :y 8) ) - ) - (set! s3-0 #t) - ) - ) - ((= s5-0 'poi) - (when *display-ambient-poi-marks* - (let ((a1-7 (res-lump-value obj 'loc-name-id uint128))) - (when (and (nonzero? a1-7) *common-text*) - (add-debug-text-3d - #t - (bucket-id debug-draw1) - (lookup-text! *common-text* (the-as game-text-id a1-7) #f) - gp-0 - (font-color white) - (new 'static 'vector2h :y 24) - ) - (set! s3-0 #t) + (add-debug-text-3d + #t + (bucket-id debug-draw1) + (symbol->string s5-0) + gp-0 + (font-color white) + (new 'static 'vector2h :y 16) ) - ) ) - ) - ((= s5-0 'light) - (if *display-ambient-light-marks* - (set! s3-0 #t) - ) - ) - ((= s5-0 'dark) - (if *display-ambient-dark-marks* - (set! s3-0 #t) - ) - ) - ((= s5-0 'weather-off) - (if *display-ambient-weather-off-marks* - (set! s3-0 #t) - ) - ) - ((= s5-0 'ocean-off) - (if *display-ambient-ocean-off-marks* - (set! s3-0 #t) - ) - ) - ((= s5-0 'ocean-near-off) - (if *display-ambient-ocean-near-off-marks* - (set! s3-0 #t) - ) - ) - ((= s5-0 'music) - (if *display-ambient-music-marks* - (set! s3-0 #t) - ) - ) ) - (when s3-0 - (let ((t9-10 add-debug-sphere) - (a0-11 #t) - (a1-9 67) - (a2-9 gp-0) - (a3-7 (-> gp-0 w)) - (v1-53 s5-0) - ) - (t9-10 a0-11 (the-as bucket-id a1-9) a2-9 a3-7 (the-as rgba (cond - ((= - v1-53 - 'sound - ) - (the-as - uint - #x8000ffff - ) - ) - ((= - v1-53 - 'poi - ) - (the-as - uint - #x80ff8000 - ) - ) - (else - (the-as - uint - #x800000ff - ) - ) - ) - ) - ) - ) - (add-debug-text-3d - #t - (bucket-id debug-draw1) - (res-lump-struct obj 'name string) - gp-0 - (font-color white) - (new 'static 'vector2h :y 8) - ) - (add-debug-text-3d - #t - (bucket-id debug-draw1) - (symbol->string s5-0) - gp-0 - (font-color white) - (new 'static 'vector2h :y 16) - ) - ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/ambient/mood-tables_REF.gc b/test/decompiler/reference/engine/ambient/mood-tables_REF.gc index 72822eb5fb..289c8b4edd 100644 --- a/test/decompiler/reference/engine/ambient/mood-tables_REF.gc +++ b/test/decompiler/reference/engine/ambient/mood-tables_REF.gc @@ -2,49 +2,39 @@ (in-package goal) ;; definition for function make-light-kit -(defun - make-light-kit - ((arg0 light-group) (arg1 float) (arg2 float) (arg3 float) (arg4 float)) +(defun make-light-kit ((arg0 light-group) (arg1 float) (arg2 float) (arg3 float) (arg4 float)) (let ((s4-0 (new 'stack-no-clear 'matrix))) - (matrix-rotate-y! s4-0 arg1) - (let ((v1-0 (-> arg0 dir0))) - (set! (-> v1-0 direction x) -0.612) - (set! (-> v1-0 direction y) 0.5) - (set! (-> v1-0 direction z) 0.612) - (set! (-> v1-0 direction w) 0.0) + (matrix-rotate-y! s4-0 arg1) + (let ((v1-0 (-> arg0 dir0))) + (set! (-> v1-0 direction x) -0.612) + (set! (-> v1-0 direction y) 0.5) + (set! (-> v1-0 direction z) 0.612) + (set! (-> v1-0 direction w) 0.0) + ) + (set-vector! (-> arg0 dir0 color) 0.8 0.775 0.7 1.0) + (set! (-> arg0 dir0 levels x) arg2) + (let ((v1-2 (-> arg0 dir1))) + (set! (-> v1-2 direction x) 0.612) + (set! (-> v1-2 direction y) 0.5) + (set! (-> v1-2 direction z) -0.612) + (set! (-> v1-2 direction w) 0.0) + ) + (set-vector! (-> arg0 dir1 color) 0.8 0.775 0.7 1.0) + (set! (-> arg0 dir1 levels x) arg3) + (vector-matrix*! (the-as vector (-> arg0 dir0)) (the-as vector (-> arg0 dir0)) s4-0) + (vector-matrix*! (the-as vector (-> arg0 dir1)) (the-as vector (-> arg0 dir1)) s4-0) ) - (set-vector! (-> arg0 dir0 color) 0.8 0.775 0.7 1.0) - (set! (-> arg0 dir0 levels x) arg2) - (let ((v1-2 (-> arg0 dir1))) - (set! (-> v1-2 direction x) 0.612) - (set! (-> v1-2 direction y) 0.5) - (set! (-> v1-2 direction z) -0.612) - (set! (-> v1-2 direction w) 0.0) - ) - (set-vector! (-> arg0 dir1 color) 0.8 0.775 0.7 1.0) - (set! (-> arg0 dir1 levels x) arg3) - (vector-matrix*! - (the-as vector (-> arg0 dir0)) - (the-as vector (-> arg0 dir0)) - s4-0 - ) - (vector-matrix*! - (the-as vector (-> arg0 dir1)) - (the-as vector (-> arg0 dir1)) - s4-0 - ) - ) (let ((v1-4 (-> arg0 dir2))) - (set! (-> v1-4 direction x) 0.0) - (set! (-> v1-4 direction y) -1.0) - (set! (-> v1-4 direction z) 0.0) - (set! (-> v1-4 direction w) 0.0) - ) + (set! (-> v1-4 direction x) 0.0) + (set! (-> v1-4 direction y) -1.0) + (set! (-> v1-4 direction z) 0.0) + (set! (-> v1-4 direction w) 0.0) + ) (set-vector! (-> arg0 dir2 color) 0.8 0.775 0.7 1.0) (let ((f0-26 arg4)) - (set! (-> arg0 dir2 levels x) f0-26) - f0-26 - ) + (set! (-> arg0 dir2 levels x) f0-26) + f0-26 + ) ) ;; definition for function make-village1-light-kit @@ -52,15 +42,15 @@ (defun make-village1-light-kit ((arg0 mood-context)) (make-light-kit (-> arg0 light-group 1) 38229.332 0.9 0.9 0.4) (let ((s5-0 (-> arg0 light-group 2))) - (make-light-kit s5-0 2730.6667 1.0 1.0 0.8) - (let ((v1-0 (-> s5-0 dir2))) - (set! (-> v1-0 direction x) 0.0) - (set! (-> v1-0 direction y) -1.0) - (set! (-> v1-0 direction z) 0.0) - (set! (-> v1-0 direction w) 0.0) + (make-light-kit s5-0 2730.6667 1.0 1.0 0.8) + (let ((v1-0 (-> s5-0 dir2))) + (set! (-> v1-0 direction x) 0.0) + (set! (-> v1-0 direction y) -1.0) + (set! (-> v1-0 direction z) 0.0) + (set! (-> v1-0 direction w) 0.0) + ) + (set-vector! (-> s5-0 dir2 color) 0.75 0.375 0.0 1.0) ) - (set-vector! (-> s5-0 dir2 color) 0.75 0.375 0.0 1.0) - ) (make-light-kit (-> arg0 light-group 3) 53703.11 0.9 0.9 0.5) (make-light-kit (-> arg0 light-group 4) 54613.332 0.9 0.9 0.4) (make-light-kit (-> arg0 light-group 5) 54613.332 0.9 0.9 0.4) @@ -73,10 +63,10 @@ ;; INFO: Return type mismatch rgbaf vs none. (defun make-misty-light-kit ((arg0 mood-context)) (let ((gp-0 (-> arg0 light-group 1))) - (make-light-kit gp-0 24576.0 1.0 0.4 1.0) - (set-vector! (-> gp-0 dir0 color) 0.75 0.3 0.0 1.0) - (set-vector! (-> gp-0 dir2 color) 0.75 0.3 0.0 1.0) - ) + (make-light-kit gp-0 24576.0 1.0 0.4 1.0) + (set-vector! (-> gp-0 dir0 color) 0.75 0.3 0.0 1.0) + (set-vector! (-> gp-0 dir2 color) 0.75 0.3 0.0 1.0) + ) (none) ) @@ -84,74 +74,74 @@ ;; INFO: Return type mismatch float vs none. (defun make-village2-light-kit ((arg0 mood-context)) (let ((v1-0 (-> arg0 light-group 1))) - (let ((a0-1 (-> v1-0 dir0))) - (set! (-> a0-1 direction x) 0.0) - (set! (-> a0-1 direction y) 1.0) - (set! (-> a0-1 direction z) 0.0) - (set! (-> a0-1 direction w) 1.0) + (let ((a0-1 (-> v1-0 dir0))) + (set! (-> a0-1 direction x) 0.0) + (set! (-> a0-1 direction y) 1.0) + (set! (-> a0-1 direction z) 0.0) + (set! (-> a0-1 direction w) 1.0) + ) + (set-vector! (-> v1-0 dir0 color) 0.375 0.25 0.25 1.0) + (set! (-> v1-0 dir0 levels x) 1.0) + (let ((a0-3 (-> v1-0 dir1))) + (set! (-> a0-3 direction x) -0.6119) + (set! (-> a0-3 direction y) 0.5) + (set! (-> a0-3 direction z) -0.6119) + (set! (-> a0-3 direction w) 1.0) + ) + (set-vector! (-> v1-0 dir1 color) 0.25 0.75 1.0 1.0) + (set! (-> v1-0 dir1 levels x) 0.666) + (let ((a0-5 (-> v1-0 dir2))) + (set! (-> a0-5 direction x) 0.9961) + (set! (-> a0-5 direction y) 0.0) + (set! (-> a0-5 direction z) -0.0871) + (set! (-> a0-5 direction w) 1.0) + ) + (set-vector! (-> v1-0 dir2 color) 0.0 0.25 1.0 1.0) + (set! (-> v1-0 dir2 levels x) 1.0) ) - (set-vector! (-> v1-0 dir0 color) 0.375 0.25 0.25 1.0) - (set! (-> v1-0 dir0 levels x) 1.0) - (let ((a0-3 (-> v1-0 dir1))) - (set! (-> a0-3 direction x) -0.6119) - (set! (-> a0-3 direction y) 0.5) - (set! (-> a0-3 direction z) -0.6119) - (set! (-> a0-3 direction w) 1.0) - ) - (set-vector! (-> v1-0 dir1 color) 0.25 0.75 1.0 1.0) - (set! (-> v1-0 dir1 levels x) 0.666) - (let ((a0-5 (-> v1-0 dir2))) - (set! (-> a0-5 direction x) 0.9961) - (set! (-> a0-5 direction y) 0.0) - (set! (-> a0-5 direction z) -0.0871) - (set! (-> a0-5 direction w) 1.0) - ) - (set-vector! (-> v1-0 dir2 color) 0.0 0.25 1.0 1.0) - (set! (-> v1-0 dir2 levels x) 1.0) - ) (let ((v1-2 (-> arg0 light-group 2))) - (let ((a0-7 (-> v1-2 dir0))) - (set! (-> a0-7 direction x) 0.2239) - (set! (-> a0-7 direction y) 0.5) - (set! (-> a0-7 direction z) 0.836) - (set! (-> a0-7 direction w) 1.0) + (let ((a0-7 (-> v1-2 dir0))) + (set! (-> a0-7 direction x) 0.2239) + (set! (-> a0-7 direction y) 0.5) + (set! (-> a0-7 direction z) 0.836) + (set! (-> a0-7 direction w) 1.0) + ) + (set-vector! (-> v1-2 dir0 color) 0.8 0.8 0.8 1.0) + (set! (-> v1-2 dir0 levels x) 0.7) + (let ((a0-9 (-> v1-2 dir1))) + (set! (-> a0-9 direction x) -0.2959) + (set! (-> a0-9 direction y) 0.5) + (set! (-> a0-9 direction z) -0.8133) + (set! (-> a0-9 direction w) 1.0) + ) + (set-vector! (-> v1-2 dir1 color) 0.8 0.8 0.8 1.0) + (set! (-> v1-2 dir1 levels x) 0.7) ) - (set-vector! (-> v1-2 dir0 color) 0.8 0.8 0.8 1.0) - (set! (-> v1-2 dir0 levels x) 0.7) - (let ((a0-9 (-> v1-2 dir1))) - (set! (-> a0-9 direction x) -0.2959) - (set! (-> a0-9 direction y) 0.5) - (set! (-> a0-9 direction z) -0.8133) - (set! (-> a0-9 direction w) 1.0) - ) - (set-vector! (-> v1-2 dir1 color) 0.8 0.8 0.8 1.0) - (set! (-> v1-2 dir1 levels x) 0.7) - ) (let ((s5-0 (-> arg0 light-group 3))) - (make-light-kit s5-0 5461.3335 1.0 0.8 0.2) - (set-vector! (-> s5-0 dir0 color) 0.675 0.45 0.15 1.0) - ) - (let ((s5-1 (-> arg0 light-group 4))) - (make-light-kit s5-1 57344.0 1.0 0.8 0.2) - (set-vector! (-> s5-1 dir0 color) 0.675 0.45 0.15 1.0) - ) - (let ((v1-6 (-> arg0 light-group 5))) - (let ((a0-13 (-> v1-6 dir0))) - (set! (-> a0-13 direction x) 0.2425) - (set! (-> a0-13 direction y) -0.9701) - (set! (-> a0-13 direction z) 0.0) - (set! (-> a0-13 direction w) 0.0) + (make-light-kit s5-0 5461.3335 1.0 0.8 0.2) + (set-vector! (-> s5-0 dir0 color) 0.675 0.45 0.15 1.0) + ) + (let ((s5-1 (-> arg0 light-group 4))) + (make-light-kit s5-1 57344.0 1.0 0.8 0.2) + (set-vector! (-> s5-1 dir0 color) 0.675 0.45 0.15 1.0) + ) + (let ((v1-6 (-> arg0 light-group 5))) + (let ((a0-13 (-> v1-6 dir0))) + (set! (-> a0-13 direction x) 0.2425) + (set! (-> a0-13 direction y) -0.9701) + (set! (-> a0-13 direction z) 0.0) + (set! (-> a0-13 direction w) 0.0) + ) + (set-vector! (-> v1-6 dir0 color) 2.0 1.0 0.0 1.0) + (set! (-> v1-6 dir1 levels x) 0.0) + (set! (-> v1-6 dir2 levels x) 0.0) ) - (set-vector! (-> v1-6 dir0 color) 2.0 1.0 0.0 1.0) - (set! (-> v1-6 dir1 levels x) 0.0) - (set! (-> v1-6 dir2 levels x) 0.0) - ) (let ((v1-8 (-> arg0 light-group 6))) - (set-vector! (-> v1-8 dir0 color) 1.0 0.5 0.0 1.0) - (set-vector! (-> v1-8 dir1 color) 0.6 0.58125 0.525 1.0) - (set! (-> v1-8 dir1 levels x) 0.0) - (set! (-> v1-8 dir2 levels x) 0.0) - ) + (set-vector! (-> v1-8 dir0 color) 1.0 0.5 0.0 1.0) + (set-vector! (-> v1-8 dir1 color) 0.6 0.58125 0.525 1.0) + (set! (-> v1-8 dir1 levels x) 0.0) + (set! (-> v1-8 dir2 levels x) 0.0) + ) (none) ) @@ -159,65 +149,65 @@ ;; INFO: Return type mismatch rgbaf vs none. (defun make-rolling-light-kit ((arg0 mood-context)) (let ((s5-0 (-> arg0 light-group 1))) - (make-light-kit s5-0 0.0 1.0 0.0 0.0) - (let ((v1-0 (-> s5-0 dir0))) - (set! (-> v1-0 direction x) 0.0) - (set! (-> v1-0 direction y) 1.0) - (set! (-> v1-0 direction z) 0.0) - (set! (-> v1-0 direction w) 1.0) + (make-light-kit s5-0 0.0 1.0 0.0 0.0) + (let ((v1-0 (-> s5-0 dir0))) + (set! (-> v1-0 direction x) 0.0) + (set! (-> v1-0 direction y) 1.0) + (set! (-> v1-0 direction z) 0.0) + (set! (-> v1-0 direction w) 1.0) + ) + (set-vector! (-> s5-0 dir0 color) 1.0 0.9 0.0 1.0) ) - (set-vector! (-> s5-0 dir0 color) 1.0 0.9 0.0 1.0) - ) (let ((s5-1 (-> arg0 light-group 2))) - (make-light-kit s5-1 0.0 1.0 0.0 0.0) - (let ((v1-2 (-> s5-1 dir0))) - (set! (-> v1-2 direction x) 0.0) - (set! (-> v1-2 direction y) 1.0) - (set! (-> v1-2 direction z) 0.0) - (set! (-> v1-2 direction w) 1.0) + (make-light-kit s5-1 0.0 1.0 0.0 0.0) + (let ((v1-2 (-> s5-1 dir0))) + (set! (-> v1-2 direction x) 0.0) + (set! (-> v1-2 direction y) 1.0) + (set! (-> v1-2 direction z) 0.0) + (set! (-> v1-2 direction w) 1.0) + ) + (set-vector! (-> s5-1 dir0 color) 1.0 0.9 0.0 1.0) ) - (set-vector! (-> s5-1 dir0 color) 1.0 0.9 0.0 1.0) - ) (let ((s5-2 (-> arg0 light-group 3))) - (make-light-kit s5-2 0.0 1.0 0.0 0.0) - (let ((v1-4 (-> s5-2 dir0))) - (set! (-> v1-4 direction x) 0.0) - (set! (-> v1-4 direction y) 1.0) - (set! (-> v1-4 direction z) 0.0) - (set! (-> v1-4 direction w) 1.0) + (make-light-kit s5-2 0.0 1.0 0.0 0.0) + (let ((v1-4 (-> s5-2 dir0))) + (set! (-> v1-4 direction x) 0.0) + (set! (-> v1-4 direction y) 1.0) + (set! (-> v1-4 direction z) 0.0) + (set! (-> v1-4 direction w) 1.0) + ) + (set-vector! (-> s5-2 dir0 color) 1.0 0.9 0.0 1.0) ) - (set-vector! (-> s5-2 dir0 color) 1.0 0.9 0.0 1.0) - ) (let ((s5-3 (-> arg0 light-group 4))) - (make-light-kit s5-3 0.0 1.0 0.0 0.0) - (let ((v1-6 (-> s5-3 dir0))) - (set! (-> v1-6 direction x) 0.0) - (set! (-> v1-6 direction y) 1.0) - (set! (-> v1-6 direction z) 0.0) - (set! (-> v1-6 direction w) 1.0) + (make-light-kit s5-3 0.0 1.0 0.0 0.0) + (let ((v1-6 (-> s5-3 dir0))) + (set! (-> v1-6 direction x) 0.0) + (set! (-> v1-6 direction y) 1.0) + (set! (-> v1-6 direction z) 0.0) + (set! (-> v1-6 direction w) 1.0) + ) + (set-vector! (-> s5-3 dir0 color) 1.0 0.9 0.0 1.0) ) - (set-vector! (-> s5-3 dir0 color) 1.0 0.9 0.0 1.0) - ) (let ((s5-4 (-> arg0 light-group 5))) - (make-light-kit s5-4 0.0 1.0 0.0 0.0) - (let ((v1-8 (-> s5-4 dir0))) - (set! (-> v1-8 direction x) 0.0) - (set! (-> v1-8 direction y) 1.0) - (set! (-> v1-8 direction z) 0.0) - (set! (-> v1-8 direction w) 1.0) + (make-light-kit s5-4 0.0 1.0 0.0 0.0) + (let ((v1-8 (-> s5-4 dir0))) + (set! (-> v1-8 direction x) 0.0) + (set! (-> v1-8 direction y) 1.0) + (set! (-> v1-8 direction z) 0.0) + (set! (-> v1-8 direction w) 1.0) + ) + (set-vector! (-> s5-4 dir0 color) 1.0 0.9 0.0 1.0) ) - (set-vector! (-> s5-4 dir0 color) 1.0 0.9 0.0 1.0) - ) (let ((gp-1 (-> arg0 light-group 6))) - (make-light-kit gp-1 0.0 1.0 0.0 0.0) - (let ((v1-10 (-> gp-1 dir0))) - (set! (-> v1-10 direction x) 0.0) - (set! (-> v1-10 direction y) 1.0) - (set! (-> v1-10 direction z) 0.0) - (set! (-> v1-10 direction w) 1.0) + (make-light-kit gp-1 0.0 1.0 0.0 0.0) + (let ((v1-10 (-> gp-1 dir0))) + (set! (-> v1-10 direction x) 0.0) + (set! (-> v1-10 direction y) 1.0) + (set! (-> v1-10 direction z) 0.0) + (set! (-> v1-10 direction w) 1.0) + ) + (set-vector! (-> gp-1 dir0 color) 1.0 0.9 0.0 1.0) ) - (set-vector! (-> gp-1 dir0 color) 1.0 0.9 0.0 1.0) - ) (none) ) @@ -225,39 +215,39 @@ ;; INFO: Return type mismatch rgbaf vs none. (defun make-village3-light-kit ((arg0 mood-context)) (let ((v1-0 (-> arg0 light-group 1))) - (let ((a1-0 (-> v1-0 dir0))) - (set! (-> a1-0 direction x) 0.6281) - (set! (-> a1-0 direction y) 0.7208) - (set! (-> a1-0 direction z) 0.2929) - (set! (-> a1-0 direction w) 1.0) + (let ((a1-0 (-> v1-0 dir0))) + (set! (-> a1-0 direction x) 0.6281) + (set! (-> a1-0 direction y) 0.7208) + (set! (-> a1-0 direction z) 0.2929) + (set! (-> a1-0 direction w) 1.0) + ) + (set-vector! (-> v1-0 dir0 color) 0.5 1.0 1.0 1.0) + (set! (-> v1-0 dir0 levels x) 1.0) + (let ((a1-2 (-> v1-0 dir2))) + (set! (-> a1-2 direction x) 0.0) + (set! (-> a1-2 direction y) -1.0) + (set! (-> a1-2 direction z) 0.0) + (set! (-> a1-2 direction w) 1.0) + ) + (set-vector! (-> v1-0 dir2 color) 0.625 0.375 0.1 1.0) ) - (set-vector! (-> v1-0 dir0 color) 0.5 1.0 1.0 1.0) - (set! (-> v1-0 dir0 levels x) 1.0) - (let ((a1-2 (-> v1-0 dir2))) - (set! (-> a1-2 direction x) 0.0) - (set! (-> a1-2 direction y) -1.0) - (set! (-> a1-2 direction z) 0.0) - (set! (-> a1-2 direction w) 1.0) - ) - (set-vector! (-> v1-0 dir2 color) 0.625 0.375 0.1 1.0) - ) (let ((v1-2 (-> arg0 light-group 2))) - (let ((a0-1 (-> v1-2 dir0))) - (set! (-> a0-1 direction x) 0.6281) - (set! (-> a0-1 direction y) 0.7208) - (set! (-> a0-1 direction z) 0.2929) - (set! (-> a0-1 direction w) 1.0) + (let ((a0-1 (-> v1-2 dir0))) + (set! (-> a0-1 direction x) 0.6281) + (set! (-> a0-1 direction y) 0.7208) + (set! (-> a0-1 direction z) 0.2929) + (set! (-> a0-1 direction w) 1.0) + ) + (set-vector! (-> v1-2 dir0 color) 0.25 0.5 0.5 1.0) + (set! (-> v1-2 dir0 levels x) 1.0) + (let ((a0-3 (-> v1-2 dir2))) + (set! (-> a0-3 direction x) 0.0) + (set! (-> a0-3 direction y) -1.0) + (set! (-> a0-3 direction z) 0.0) + (set! (-> a0-3 direction w) 1.0) + ) + (set-vector! (-> v1-2 dir2 color) 0.625 0.375 0.1 1.0) ) - (set-vector! (-> v1-2 dir0 color) 0.25 0.5 0.5 1.0) - (set! (-> v1-2 dir0 levels x) 1.0) - (let ((a0-3 (-> v1-2 dir2))) - (set! (-> a0-3 direction x) 0.0) - (set! (-> a0-3 direction y) -1.0) - (set! (-> a0-3 direction z) 0.0) - (set! (-> a0-3 direction w) 1.0) - ) - (set-vector! (-> v1-2 dir2 color) 0.625 0.375 0.1 1.0) - ) (none) ) @@ -265,22 +255,22 @@ ;; INFO: Return type mismatch int vs none. (defun update-mood-shadow-direction ((arg0 mood-lights)) (let ((v1-0 (-> arg0 shadow))) - (set! (-> v1-0 x) (- (-> arg0 direction x))) - (set! (-> v1-0 y) (- (-> arg0 direction y))) - (set! (-> v1-0 z) (- (-> arg0 direction z))) - (when (< (-> arg0 direction y) 0.9063) - (let* ((f0-7 0.4226) - (f1-1 (-> v1-0 x)) - (f1-3 (* f1-1 f1-1)) - (f2-0 (-> v1-0 z)) - (f0-8 (/ f0-7 (sqrtf (+ f1-3 (* f2-0 f2-0))))) - ) - (set! (-> v1-0 x) (* (-> v1-0 x) f0-8)) - (set! (-> v1-0 y) -0.9063) - (set! (-> v1-0 z) (* (-> v1-0 z) f0-8)) - ) + (set! (-> v1-0 x) (- (-> arg0 direction x))) + (set! (-> v1-0 y) (- (-> arg0 direction y))) + (set! (-> v1-0 z) (- (-> arg0 direction z))) + (when (< (-> arg0 direction y) 0.9063) + (let* ((f0-7 0.4226) + (f1-1 (-> v1-0 x)) + (f1-3 (* f1-1 f1-1)) + (f2-0 (-> v1-0 z)) + (f0-8 (/ f0-7 (sqrtf (+ f1-3 (* f2-0 f2-0))))) + ) + (set! (-> v1-0 x) (* (-> v1-0 x) f0-8)) + (set! (-> v1-0 y) -0.9063) + (set! (-> v1-0 z) (* (-> v1-0 z) f0-8)) + ) + ) ) - ) 0 (none) ) @@ -289,20 +279,15 @@ ;; INFO: Return type mismatch int vs none. (defun update-mood-erase-color ((arg0 mood-fog) (arg1 mood-lights)) (let ((s5-0 (-> arg0 erase-color))) - (vector+float*! - s5-0 - (-> arg1 amb-color) - (-> arg1 lgt-color) - (-> arg1 direction y) + (vector+float*! s5-0 (-> arg1 amb-color) (-> arg1 lgt-color) (-> arg1 direction y)) + (vector*! s5-0 s5-0 (-> *ocean-map-village2* far-color)) + (set! (-> s5-0 x) (* 2.0 (-> s5-0 x))) + (set! (-> s5-0 y) (* 2.0 (-> s5-0 y))) + (set! (-> s5-0 z) (* 2.0 (-> s5-0 z))) + (let ((f0-8 (* 0.003921569 (- 255.0 (-> arg0 fog-dists w))))) + (vector4-lerp! s5-0 s5-0 (-> arg0 fog-color) f0-8) + ) ) - (vector*! s5-0 s5-0 (-> *ocean-map-village2* far-color)) - (set! (-> s5-0 x) (* 2.0 (-> s5-0 x))) - (set! (-> s5-0 y) (* 2.0 (-> s5-0 y))) - (set! (-> s5-0 z) (* 2.0 (-> s5-0 z))) - (let ((f0-8 (* 0.003921569 (- 255.0 (-> arg0 fog-dists w))))) - (vector4-lerp! s5-0 s5-0 (-> arg0 fog-color) f0-8) - ) - ) 0 (none) ) @@ -310,42 +295,26 @@ ;; definition for function update-mood-erase-color2 ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - update-mood-erase-color2 - ((arg0 mood-fog) (arg1 mood-lights) (arg2 mood-lights)) +(defun update-mood-erase-color2 ((arg0 mood-fog) (arg1 mood-lights) (arg2 mood-lights)) (let ((s5-0 (-> arg0 erase-color))) - (let ((s4-0 (new 'stack-no-clear 'mood-fog))) - (set! (-> s4-0 fog-color quad) (the-as uint128 0)) - (vector+float*! - s5-0 - (-> arg1 amb-color) - (-> arg1 lgt-color) - (-> arg1 direction y) - ) - (vector*! s5-0 s5-0 (-> *ocean-map-village2* far-color)) - (set! (-> s5-0 x) (* 2.0 (-> s5-0 x))) - (set! (-> s5-0 y) (* 2.0 (-> s5-0 y))) - (set! (-> s5-0 z) (* 2.0 (-> s5-0 z))) - (vector+float*! - (the-as vector s4-0) - (-> arg2 amb-color) - (-> arg2 lgt-color) - (-> arg2 direction y) - ) - (vector*! - (the-as vector s4-0) - (the-as vector s4-0) - (-> *ocean-map-village2* far-color) - ) - (set! (-> s4-0 fog-color x) (* 2.0 (-> s4-0 fog-color x))) - (set! (-> s4-0 fog-color y) (* 2.0 (-> s4-0 fog-color y))) - (set! (-> s4-0 fog-color z) (* 2.0 (-> s4-0 fog-color z))) - (vector4-lerp! s5-0 s5-0 (the-as vector s4-0) 0.5) + (let ((s4-0 (new 'stack-no-clear 'mood-fog))) + (set! (-> s4-0 fog-color quad) (the-as uint128 0)) + (vector+float*! s5-0 (-> arg1 amb-color) (-> arg1 lgt-color) (-> arg1 direction y)) + (vector*! s5-0 s5-0 (-> *ocean-map-village2* far-color)) + (set! (-> s5-0 x) (* 2.0 (-> s5-0 x))) + (set! (-> s5-0 y) (* 2.0 (-> s5-0 y))) + (set! (-> s5-0 z) (* 2.0 (-> s5-0 z))) + (vector+float*! (the-as vector s4-0) (-> arg2 amb-color) (-> arg2 lgt-color) (-> arg2 direction y)) + (vector*! (the-as vector s4-0) (the-as vector s4-0) (-> *ocean-map-village2* far-color)) + (set! (-> s4-0 fog-color x) (* 2.0 (-> s4-0 fog-color x))) + (set! (-> s4-0 fog-color y) (* 2.0 (-> s4-0 fog-color y))) + (set! (-> s4-0 fog-color z) (* 2.0 (-> s4-0 fog-color z))) + (vector4-lerp! s5-0 s5-0 (the-as vector s4-0) 0.5) + ) + (let ((f0-15 (* 0.003921569 (- 255.0 (-> arg0 fog-dists w))))) + (vector4-lerp! s5-0 s5-0 (-> arg0 fog-color) f0-15) + ) ) - (let ((f0-15 (* 0.003921569 (- 255.0 (-> arg0 fog-dists w))))) - (vector4-lerp! s5-0 s5-0 (-> arg0 fog-color) f0-15) - ) - ) 0 (none) ) @@ -354,771 +323,400 @@ (define *default-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.2 - :morph-end 0.4 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.4 - :morph-end 0.6 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.6 - :morph-end 0.8 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.8 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.99 :morph-end 0.8) - (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.8 :morph-end 0.6) - (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.6) - (new 'static 'sky-color-hour :snapshot2 1 :morph-end 0.5) - (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.5 :morph-end 0.99) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.99 - :morph-end 0.66 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.66 - :morph-end 0.33 - ) - (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.33) - (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-end 0.33) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 3 - :morph-start 0.33 - :morph-end 0.66 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 3 - :morph-start 0.66 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour - :snapshot1 4 - :snapshot2 3 - :morph-start 0.99 - :morph-end 0.75 - ) - (new 'static 'sky-color-hour - :snapshot1 4 - :snapshot2 3 - :morph-start 0.75 - :morph-end 0.5 - ) - (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 3 :morph-start 0.5) - (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 5 :morph-end 0.99) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 5 - :morph-start 0.99 - :morph-end 0.75 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 5 - :morph-start 0.75 - :morph-end 0.5 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 5 - :morph-start 0.5 - :morph-end 0.25 - ) - (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 5 :morph-start 0.25) - (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-end 0.2) + :hour + (new 'static 'inline-array sky-color-hour 24 + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.2 :morph-end 0.4) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.4 :morph-end 0.6) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.6 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.8 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.99 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.8 :morph-end 0.6) + (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.6) + (new 'static 'sky-color-hour :snapshot2 1 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.5 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.99 :morph-end 0.66) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.66 :morph-end 0.33) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.33) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-end 0.33) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.33 :morph-end 0.66) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.66 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 3 :morph-start 0.99 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 3 :morph-start 0.75 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 3 :morph-start 0.5) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 5 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 5 :morph-start 0.99 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 5 :morph-start 0.75 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 5 :morph-start 0.5 :morph-end 0.25) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 5 :morph-start 0.25) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-end 0.2) + ) ) - ) ) ;; definition for symbol *village1-palette-interp-table*, type sky-color-day (define *village1-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.2 - :morph-end 0.4 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.4 - :morph-end 0.6 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.6 - :morph-end 0.8 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.8 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.99 :morph-end 0.8) - (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.8 :morph-end 0.6) - (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.6) - (new 'static 'sky-color-hour :snapshot2 1 :morph-end 0.5) - (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.5 :morph-end 0.99) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.99 - :morph-end 0.66 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.66 - :morph-end 0.33 - ) - (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.33) - (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-end 0.33) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 3 - :morph-start 0.33 - :morph-end 0.66 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 3 - :morph-start 0.66 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour - :snapshot1 4 - :snapshot2 3 - :morph-start 0.99 - :morph-end 0.75 - ) - (new 'static 'sky-color-hour - :snapshot1 4 - :snapshot2 3 - :morph-start 0.75 - :morph-end 0.5 - ) - (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 3 :morph-start 0.5) - (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 6 :morph-end 0.75) - (new 'static 'sky-color-hour - :snapshot1 4 - :snapshot2 6 - :morph-start 0.75 - :morph-end 0.82 - ) - (new 'static 'sky-color-hour - :snapshot1 4 - :snapshot2 6 - :morph-start 0.82 - :morph-end 0.88 - ) - (new 'static 'sky-color-hour - :snapshot1 4 - :snapshot2 6 - :morph-start 0.88 - :morph-end 0.94 - ) - (new 'static 'sky-color-hour - :snapshot1 4 - :snapshot2 6 - :morph-start 0.94 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-end 0.2) + :hour + (new 'static 'inline-array sky-color-hour 24 + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.2 :morph-end 0.4) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.4 :morph-end 0.6) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.6 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.8 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.99 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.8 :morph-end 0.6) + (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.6) + (new 'static 'sky-color-hour :snapshot2 1 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.5 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.99 :morph-end 0.66) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.66 :morph-end 0.33) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.33) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-end 0.33) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.33 :morph-end 0.66) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.66 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 3 :morph-start 0.99 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 3 :morph-start 0.75 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 3 :morph-start 0.5) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 6 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 6 :morph-start 0.75 :morph-end 0.82) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 6 :morph-start 0.82 :morph-end 0.88) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 6 :morph-start 0.88 :morph-end 0.94) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 6 :morph-start 0.94 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-end 0.2) + ) ) - ) ) ;; definition for symbol *misty-palette-interp-table*, type sky-color-day (define *misty-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.04 :morph-end 0.08) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.08 :morph-end 0.12) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.12 :morph-end 0.16) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.16 :morph-end 0.2) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.2 :morph-end 0.23) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.23 :morph-end 0.25) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.25 :morph-end 0.75) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.75 :morph-end 0.8) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.8 :morph-end 0.85) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.85 :morph-end 0.9) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.9 :morph-end 0.95) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.95 :morph-end 0.99) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.99 :morph-end 0.96) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.96 :morph-end 0.92) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.92 :morph-end 0.88) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.88 :morph-end 0.84) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.84 :morph-end 0.8) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.8 :morph-end 0.75) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.75 :morph-end 0.25) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.25 :morph-end 0.18) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.18 :morph-end 0.12) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.12 :morph-end 0.06) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.06) - (new 'static 'sky-color-hour :snapshot1 1 :morph-end 0.04) + :hour + (new 'static 'inline-array sky-color-hour 24 + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.04 :morph-end 0.08) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.08 :morph-end 0.12) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.12 :morph-end 0.16) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.16 :morph-end 0.2) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.2 :morph-end 0.23) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.23 :morph-end 0.25) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.25 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.75 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.8 :morph-end 0.85) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.85 :morph-end 0.9) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.9 :morph-end 0.95) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.95 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.99 :morph-end 0.96) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.96 :morph-end 0.92) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.92 :morph-end 0.88) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.88 :morph-end 0.84) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.84 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.8 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.75 :morph-end 0.25) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.25 :morph-end 0.18) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.18 :morph-end 0.12) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.12 :morph-end 0.06) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.06) + (new 'static 'sky-color-hour :snapshot1 1 :morph-end 0.04) + ) ) - ) ) ;; definition for symbol *firecanyon-palette-interp-table*, type sky-color-day (define *firecanyon-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 - (new 'static 'sky-color-hour :snapshot1 3 :morph-end 0.08) - (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.08 :morph-end 0.12) - (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.12 :morph-end 0.16) - (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.16 :morph-end 0.2) - (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.2 :morph-end 0.23) - (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.23 :morph-end 0.25) - (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.25 :morph-end 0.99) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.99 :morph-end 0.5) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.5 :morph-end 0.38) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.38 :morph-end 0.26) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.26 :morph-end 0.22) - (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.22) - (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 2 :morph-end 0.1) - (new 'static 'sky-color-hour - :snapshot1 1 - :snapshot2 2 - :morph-start 0.1 - :morph-end 0.2 - ) - (new 'static 'sky-color-hour - :snapshot1 1 - :snapshot2 2 - :morph-start 0.2 - :morph-end 0.3 - ) - (new 'static 'sky-color-hour - :snapshot1 1 - :snapshot2 2 - :morph-start 0.3 - :morph-end 0.4 - ) - (new 'static 'sky-color-hour - :snapshot1 1 - :snapshot2 2 - :morph-start 0.4 - :morph-end 0.5 - ) - (new 'static 'sky-color-hour - :snapshot1 1 - :snapshot2 2 - :morph-start 0.5 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour - :snapshot1 3 - :snapshot2 2 - :morph-start 0.99 - :morph-end 0.25 - ) - (new 'static 'sky-color-hour - :snapshot1 3 - :snapshot2 2 - :morph-start 0.25 - :morph-end 0.18 - ) - (new 'static 'sky-color-hour - :snapshot1 3 - :snapshot2 2 - :morph-start 0.18 - :morph-end 0.12 - ) - (new 'static 'sky-color-hour - :snapshot1 3 - :snapshot2 2 - :morph-start 0.12 - :morph-end 0.06 - ) - (new 'static 'sky-color-hour :snapshot1 3 :snapshot2 2 :morph-start 0.06) - (new 'static 'sky-color-hour :snapshot1 3 :morph-end 0.04) + :hour + (new 'static 'inline-array sky-color-hour 24 + (new 'static 'sky-color-hour :snapshot1 3 :morph-end 0.08) + (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.08 :morph-end 0.12) + (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.12 :morph-end 0.16) + (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.16 :morph-end 0.2) + (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.2 :morph-end 0.23) + (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.23 :morph-end 0.25) + (new 'static 'sky-color-hour :snapshot1 3 :morph-start 0.25 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.99 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.5 :morph-end 0.38) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.38 :morph-end 0.26) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.26 :morph-end 0.22) + (new 'static 'sky-color-hour :snapshot1 1 :morph-start 0.22) + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 2 :morph-end 0.1) + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 2 :morph-start 0.1 :morph-end 0.2) + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 2 :morph-start 0.2 :morph-end 0.3) + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 2 :morph-start 0.3 :morph-end 0.4) + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 2 :morph-start 0.4 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 2 :morph-start 0.5 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 3 :snapshot2 2 :morph-start 0.99 :morph-end 0.25) + (new 'static 'sky-color-hour :snapshot1 3 :snapshot2 2 :morph-start 0.25 :morph-end 0.18) + (new 'static 'sky-color-hour :snapshot1 3 :snapshot2 2 :morph-start 0.18 :morph-end 0.12) + (new 'static 'sky-color-hour :snapshot1 3 :snapshot2 2 :morph-start 0.12 :morph-end 0.06) + (new 'static 'sky-color-hour :snapshot1 3 :snapshot2 2 :morph-start 0.06) + (new 'static 'sky-color-hour :snapshot1 3 :morph-end 0.04) + ) ) - ) ) ;; definition for symbol *rolling-palette-interp-table*, type sky-color-day (define *rolling-palette-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 3 - :morph-start 0.2 - :morph-end 0.4 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 3 - :morph-start 0.4 - :morph-end 0.6 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 3 - :morph-start 0.6 - :morph-end 0.8 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 3 - :morph-start 0.8 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour :snapshot2 3 :morph-start 0.99 :morph-end 0.88) - (new 'static 'sky-color-hour :snapshot2 3 :morph-start 0.88 :morph-end 0.75) - (new 'static 'sky-color-hour :snapshot2 3 :morph-start 0.75 :morph-end 0.25) - (new 'static 'sky-color-hour :snapshot2 3 :morph-start 0.25 :morph-end 0.12) - (new 'static 'sky-color-hour :snapshot2 3 :morph-start 0.12) - (new 'static 'sky-color-hour :snapshot2 1 :morph-end 0.16) - (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.16 :morph-end 0.34) - (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.34 :morph-end 0.5) - (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.5 :morph-end 0.66) - (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.66 :morph-end 0.84) - (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.84 :morph-end 0.99) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.99 - :morph-end 0.84 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.84 - :morph-end 0.8 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.8 - :morph-end 0.75 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.75 - :morph-end 0.25 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.25 - :morph-end 0.17 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.17 - :morph-end 0.12 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.12 - :morph-end 0.06 - ) - (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.06) - (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-end 0.2) + :hour + (new 'static 'inline-array sky-color-hour 24 + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.2 :morph-end 0.4) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.4 :morph-end 0.6) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.6 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-start 0.8 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot2 3 :morph-start 0.99 :morph-end 0.88) + (new 'static 'sky-color-hour :snapshot2 3 :morph-start 0.88 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot2 3 :morph-start 0.75 :morph-end 0.25) + (new 'static 'sky-color-hour :snapshot2 3 :morph-start 0.25 :morph-end 0.12) + (new 'static 'sky-color-hour :snapshot2 3 :morph-start 0.12) + (new 'static 'sky-color-hour :snapshot2 1 :morph-end 0.16) + (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.16 :morph-end 0.34) + (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.34 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.5 :morph-end 0.66) + (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.66 :morph-end 0.84) + (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.84 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.99 :morph-end 0.84) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.84 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.8 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.75 :morph-end 0.25) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.25 :morph-end 0.17) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.17 :morph-end 0.12) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.12 :morph-end 0.06) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.06) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 3 :morph-end 0.2) + ) ) - ) ) ;; definition for symbol *village2-sky-texture-table*, type sky-color-day (define *village2-sky-texture-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 - (new 'static 'sky-color-hour - :snapshot1 1 - :snapshot2 4 - :morph-start 0.2 - :morph-end 0.4 - ) - (new 'static 'sky-color-hour - :snapshot1 1 - :snapshot2 4 - :morph-start 0.4 - :morph-end 0.6 - ) - (new 'static 'sky-color-hour - :snapshot1 1 - :snapshot2 4 - :morph-start 0.6 - :morph-end 0.8 - ) - (new 'static 'sky-color-hour - :snapshot1 1 - :snapshot2 4 - :morph-start 0.8 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour - :snapshot1 5 - :snapshot2 4 - :morph-start 0.99 - :morph-end 0.8 - ) - (new 'static 'sky-color-hour - :snapshot1 5 - :snapshot2 4 - :morph-start 0.8 - :morph-end 0.6 - ) - (new 'static 'sky-color-hour :snapshot1 5 :snapshot2 4 :morph-start 0.6) - (new 'static 'sky-color-hour :snapshot1 5 :snapshot2 6 :morph-end 0.5) - (new 'static 'sky-color-hour - :snapshot1 5 - :snapshot2 6 - :morph-start 0.5 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour :snapshot2 6 :morph-start 0.99 :morph-end 0.66) - (new 'static 'sky-color-hour :snapshot2 6 :morph-start 0.66 :morph-end 0.33) - (new 'static 'sky-color-hour :snapshot2 6 :morph-start 0.33) - (new 'static 'sky-color-hour :snapshot2 6 :morph-end 0.33) - (new 'static 'sky-color-hour :snapshot2 6 :morph-start 0.33 :morph-end 0.66) - (new 'static 'sky-color-hour :snapshot2 6 :morph-start 0.66 :morph-end 0.99) - (new 'static 'sky-color-hour - :snapshot1 7 - :snapshot2 6 - :morph-start 0.99 - :morph-end 0.75 - ) - (new 'static 'sky-color-hour - :snapshot1 7 - :snapshot2 6 - :morph-start 0.75 - :morph-end 0.5 - ) - (new 'static 'sky-color-hour :snapshot1 7 :snapshot2 6 :morph-start 0.5) - (new 'static 'sky-color-hour :snapshot1 7 :snapshot2 1 :morph-end 0.75) - (new 'static 'sky-color-hour - :snapshot1 7 - :snapshot2 1 - :morph-start 0.75 - :morph-end 0.82 - ) - (new 'static 'sky-color-hour - :snapshot1 7 - :snapshot2 1 - :morph-start 0.82 - :morph-end 0.88 - ) - (new 'static 'sky-color-hour - :snapshot1 7 - :snapshot2 1 - :morph-start 0.88 - :morph-end 0.94 - ) - (new 'static 'sky-color-hour - :snapshot1 7 - :snapshot2 1 - :morph-start 0.94 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-end 0.2) + :hour + (new 'static 'inline-array sky-color-hour 24 + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-start 0.2 :morph-end 0.4) + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-start 0.4 :morph-end 0.6) + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-start 0.6 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-start 0.8 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 5 :snapshot2 4 :morph-start 0.99 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot1 5 :snapshot2 4 :morph-start 0.8 :morph-end 0.6) + (new 'static 'sky-color-hour :snapshot1 5 :snapshot2 4 :morph-start 0.6) + (new 'static 'sky-color-hour :snapshot1 5 :snapshot2 6 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot1 5 :snapshot2 6 :morph-start 0.5 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot2 6 :morph-start 0.99 :morph-end 0.66) + (new 'static 'sky-color-hour :snapshot2 6 :morph-start 0.66 :morph-end 0.33) + (new 'static 'sky-color-hour :snapshot2 6 :morph-start 0.33) + (new 'static 'sky-color-hour :snapshot2 6 :morph-end 0.33) + (new 'static 'sky-color-hour :snapshot2 6 :morph-start 0.33 :morph-end 0.66) + (new 'static 'sky-color-hour :snapshot2 6 :morph-start 0.66 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 7 :snapshot2 6 :morph-start 0.99 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 7 :snapshot2 6 :morph-start 0.75 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot1 7 :snapshot2 6 :morph-start 0.5) + (new 'static 'sky-color-hour :snapshot1 7 :snapshot2 1 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 7 :snapshot2 1 :morph-start 0.75 :morph-end 0.82) + (new 'static 'sky-color-hour :snapshot1 7 :snapshot2 1 :morph-start 0.82 :morph-end 0.88) + (new 'static 'sky-color-hour :snapshot1 7 :snapshot2 1 :morph-start 0.88 :morph-end 0.94) + (new 'static 'sky-color-hour :snapshot1 7 :snapshot2 1 :morph-start 0.94 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 1 :snapshot2 4 :morph-end 0.2) + ) ) - ) ) ;; definition for symbol *finalboss-interp-table*, type sky-color-day (define *finalboss-interp-table* (new 'static 'sky-color-day - :hour - (new 'static 'inline-array sky-color-hour 24 - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.2 - :morph-end 0.4 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.4 - :morph-end 0.6 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.6 - :morph-end 0.8 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 7 - :morph-start 0.8 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.99 :morph-end 0.8) - (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.8 :morph-end 0.6) - (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.6) - (new 'static 'sky-color-hour :snapshot2 1 :morph-end 0.5) - (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.5 :morph-end 0.99) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.99 - :morph-end 0.66 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.66 - :morph-end 0.33 - ) - (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.33) - (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-end 0.33) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.33 - :morph-end 0.66 - ) - (new 'static 'sky-color-hour - :snapshot1 2 - :snapshot2 1 - :morph-start 0.66 - :morph-end 0.99 - ) - (new 'static 'sky-color-hour - :snapshot1 4 - :snapshot2 1 - :morph-start 0.99 - :morph-end 0.75 - ) - (new 'static 'sky-color-hour - :snapshot1 4 - :snapshot2 1 - :morph-start 0.75 - :morph-end 0.5 - ) - (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 1 :morph-start 0.5) - (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 5 :morph-end 0.99) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 5 - :morph-start 0.99 - :morph-end 0.75 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 5 - :morph-start 0.75 - :morph-end 0.5 - ) - (new 'static 'sky-color-hour - :snapshot1 6 - :snapshot2 5 - :morph-start 0.5 - :morph-end 0.25 - ) - (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 5 :morph-start 0.25) - (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-end 0.2) + :hour + (new 'static 'inline-array sky-color-hour 24 + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.2 :morph-end 0.4) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.4 :morph-end 0.6) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.6 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-start 0.8 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.99 :morph-end 0.8) + (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.8 :morph-end 0.6) + (new 'static 'sky-color-hour :snapshot2 7 :morph-start 0.6) + (new 'static 'sky-color-hour :snapshot2 1 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot2 1 :morph-start 0.5 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.99 :morph-end 0.66) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.66 :morph-end 0.33) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.33) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-end 0.33) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.33 :morph-end 0.66) + (new 'static 'sky-color-hour :snapshot1 2 :snapshot2 1 :morph-start 0.66 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 1 :morph-start 0.99 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 1 :morph-start 0.75 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 1 :morph-start 0.5) + (new 'static 'sky-color-hour :snapshot1 4 :snapshot2 5 :morph-end 0.99) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 5 :morph-start 0.99 :morph-end 0.75) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 5 :morph-start 0.75 :morph-end 0.5) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 5 :morph-start 0.5 :morph-end 0.25) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 5 :morph-start 0.25) + (new 'static 'sky-color-hour :snapshot1 6 :snapshot2 7 :morph-end 0.2) + ) ) - ) ) ;; definition for symbol *village1-mood-fog-table*, type mood-fog-table (define *village1-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 4984832.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 3690496.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 6717440.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color (new 'static 'vector :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 4984832.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 3690496.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; definition for symbol *village1-mood-lights-table*, type mood-lights-table (define *village1-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) - :lgt-color - (new 'static 'vector :x 1.558 :y 1.454 :z 0.228 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.4 :y 0.266 :z 0.6 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - :lgt-color - (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25881904 :y 0.9659258) - :lgt-color - (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.362 :y 0.362 :z 0.425 :w 1.0) - :shadow - (new 'static 'vector :x -0.25881904 :y 0.9659258) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) - :lgt-color - (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) - :lgt-color - (new 'static 'vector :x 1.646 :y 1.118 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.32 :y 0.35 :z 0.6 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.25 :y 0.5 :z 1.0 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.31 :y 0.29 :z 0.35 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) - :lgt-color - (new 'static 'vector :x 0.192 :y 0.256 :z 0.961 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.383 :y 0.439 :z 0.7 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.354 :y 0.866 :z 0.354) - :lgt-color - (new 'static 'vector :x 0.0495 :y 0.62075 :z 0.326 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.25 :y 0.439 :z 0.7 :w 1.0) - :shadow - (new 'static 'vector :x 0.5393 :y 0.7652 :z -0.3514) - ) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) + :lgt-color + (new 'static 'vector :x 1.558 :y 1.454 :z 0.228 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.4 :y 0.266 :z 0.6 :w 1.0) + :shadow + (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :lgt-color + (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) + :shadow + (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.25881904 :y 0.9659258) + :lgt-color + (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.362 :y 0.362 :z 0.425 :w 1.0) + :shadow + (new 'static 'vector :x -0.25881904 :y 0.9659258) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) + :lgt-color + (new 'static 'vector :x 1.632 :y 1.586 :z 1.428 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.387 :y 0.387 :z 0.475 :w 1.0) + :shadow + (new 'static 'vector :x -0.1830127 :y 0.6830127 :z -0.70710677) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) + :lgt-color + (new 'static 'vector :x 1.646 :y 1.118 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.32 :y 0.35 :z 0.6 :w 1.0) + :shadow + (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :y 1.0) + :lgt-color + (new 'static 'vector :x 0.25 :y 0.5 :z 1.0 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.31 :y 0.29 :z 0.35 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + :lgt-color + (new 'static 'vector :x 0.192 :y 0.256 :z 0.961 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.383 :y 0.439 :z 0.7 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.354 :y 0.866 :z 0.354) + :lgt-color + (new 'static 'vector :x 0.0495 :y 0.62075 :z 0.326 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.25 :y 0.439 :z 0.7 :w 1.0) + :shadow + (new 'static 'vector :x 0.5393 :y 0.7652 :z -0.3514) + ) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *village1-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *village1-mood-lights-table* data))) ;; failed to figure out what this is: (update-mood-shadow-direction (-> *village1-mood-lights-table* data 1)) @@ -1144,253 +742,243 @@ ;; definition for symbol *village1-mood-sun-table*, type mood-sun-table (define *village1-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) - ) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) + ) + ) + ) ) ;; definition for symbol *training-mood-fog-table*, type mood-fog-table (define *training-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color (new 'static 'vector :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 10240000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; definition for symbol *snow-mood-fog-table*, type mood-fog-table (define *snow-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 210.0 :y 183.0 :z 160.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 190.25 :y 198.0 :z 195.25 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.5 :y 203.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 192.75 :y 190.5 :z 197.75 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 205.0 :y 178.0 :z 175.5 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 48.0 :y 44.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 8.0 :y 16.0 :z 32.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 64.0 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 210.0 :y 183.0 :z 160.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 190.25 :y 198.0 :z 195.25 :w 128.0) + :fog-dists + (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 180.5 :y 203.0 :z 220.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 192.75 :y 190.5 :z 197.75 :w 128.0) + :fog-dists + (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 205.0 :y 178.0 :z 175.5 :w 128.0) + :fog-dists + (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 48.0 :y 44.0 :z 64.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 8.0 :y 16.0 :z 32.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 16.0 :y 64.0 :z 60.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 819200.0 :y 2662400.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; definition for symbol *snow-mood-lights-table*, type mood-lights-table (define *snow-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) - :lgt-color - (new 'static 'vector :x 0.943 :y 0.88 :z 0.137 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.259 :y 0.966) - :lgt-color - (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) - :shadow - (new 'static 'vector :x -0.25881904 :y 0.9659258) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) - :lgt-color - (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) - :shadow - (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :x 0.866 :y 0.5) - :lgt-color - (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) + :lgt-color + (new 'static 'vector :x 0.943 :y 0.88 :z 0.137 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) + :shadow + (new 'static 'vector :x -0.066987306 :y 0.25000003 :z 0.9659258) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.259 :y 0.966) + :lgt-color + (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) + :shadow + (new 'static 'vector :x -0.25881904 :y 0.9659258) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) + :lgt-color + (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) + :shadow + (new 'static 'vector :x -0.066987306 :y 0.25000003 :z -0.9659258) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :x 0.866 :y 0.5) + :lgt-color + (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881907) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *snow-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *snow-mood-lights-table* data))) ;; failed to figure out what this is: (update-mood-shadow-direction (-> *snow-mood-lights-table* data 1)) @@ -1408,22 +996,13 @@ ) ;; failed to figure out what this is: -(update-mood-erase-color - (-> *snow-mood-fog-table* data 2) - (-> *snow-mood-lights-table* data 1) - ) +(update-mood-erase-color (-> *snow-mood-fog-table* data 2) (-> *snow-mood-lights-table* data 1)) ;; failed to figure out what this is: -(update-mood-erase-color - (-> *snow-mood-fog-table* data 4) - (-> *snow-mood-lights-table* data 2) - ) +(update-mood-erase-color (-> *snow-mood-fog-table* data 4) (-> *snow-mood-lights-table* data 2)) ;; failed to figure out what this is: -(update-mood-erase-color - (-> *snow-mood-fog-table* data 6) - (-> *snow-mood-lights-table* data 3) - ) +(update-mood-erase-color (-> *snow-mood-fog-table* data 6) (-> *snow-mood-lights-table* data 3)) ;; failed to figure out what this is: (update-mood-erase-color2 @@ -1520,403 +1099,375 @@ ;; definition for symbol *snow-mood-sun-table*, type mood-sun-table (define *snow-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 180.0 :z 194.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 80.0 :y 80.0 :z 173.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 107.0 :z 173.0 :w 255.0) - ) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color + (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color (new 'static 'vector :w 128.0) + :env-color + (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color (new 'static 'vector :w 128.0) + :env-color + (new 'static 'vector :x 128.0 :y 180.0 :z 194.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color (new 'static 'vector :w 128.0) + :env-color + (new 'static 'vector :x 128.0 :y 176.0 :z 192.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color + (new 'static 'vector :x 192.0 :y 176.5 :z 96.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color (new 'static 'vector :w 128.0) + :env-color + (new 'static 'vector :x 80.0 :y 80.0 :z 173.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color (new 'static 'vector :w 128.0) + :env-color + (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color (new 'static 'vector :w 128.0) + :env-color + (new 'static 'vector :x 64.0 :y 107.0 :z 173.0 :w 255.0) + ) + ) + ) ) ;; definition for symbol *jungleb-mood-fog-table*, type mood-fog-table (define *jungleb-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 98304.0 :y 3072000.0 :z 255.0 :w 150.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color (new 'static 'vector :w 128.0) + :fog-dists + (new 'static 'vector :x 98304.0 :y 3072000.0 :z 255.0 :w 150.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + ) + ) ) ;; definition for symbol *jungleb-mood-lights-table*, type mood-lights-table (define *jungleb-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.287 :y 0.283 :z 0.4 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.14125 :y 0.1875 :z 0.375 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction (new 'static 'vector :y 1.0) + :lgt-color + (new 'static 'vector :x 0.287 :y 0.283 :z 0.4 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.14125 :y 0.1875 :z 0.375 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; definition for symbol *jungleb-mood-sun-table*, type mood-sun-table (define *jungleb-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 48.0 :y 60.0 :z 96.0 :w 255.0) - ) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 48.0 :y 60.0 :z 96.0 :w 255.0) + ) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + ) + ) ) ;; definition for symbol *maincave-mood-fog-table*, type mood-fog-table (define *maincave-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 96.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 434176.0 :y 1048576.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 96.0 :z 96.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 434176.0 :y 1048576.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + ) + ) ) ;; definition for symbol *maincave-mood-lights-table*, type mood-lights-table (define *maincave-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.25 :y 0.6 :z 0.75 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.15 :y 0.2 :z 0.25 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction (new 'static 'vector :y 1.0) + :lgt-color + (new 'static 'vector :x 0.25 :y 0.6 :z 0.75 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.15 :y 0.2 :z 0.25 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; definition for symbol *maincave-mood-sun-table*, type mood-sun-table (define *maincave-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 255.0 :z 255.0 :w 255.0) - ) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 128.0 :y 255.0 :z 255.0 :w 255.0) + ) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + ) + ) ) ;; definition for symbol *robocave-mood-fog-table*, type mood-fog-table (define *robocave-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2048000.0 :z 255.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color (new 'static 'vector :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2048000.0 :z 255.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + ) + ) ) ;; definition for symbol *darkcave-mood-fog-table*, type mood-fog-table (define *darkcave-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1024000.0 :z 255.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color (new 'static 'vector :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1024000.0 :z 255.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + ) + ) ) ;; definition for symbol *darkcave-mood-lights-table*, type mood-lights-table (define *darkcave-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction (new 'static 'vector :y -1.0) + :lgt-color + (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; definition for symbol *darkcave-mood-sun-table*, type mood-sun-table (define *darkcave-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 127.5 :y 255.0 :z 127.5 :w 255.0) - ) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 127.5 :y 255.0 :z 127.5 :w 255.0) + ) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + ) + ) ) ;; definition for symbol *misty-mood-fog-table*, type mood-fog-table (define *misty-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 64.0 :z 152.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 32.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 128.0) - :fog-dists - (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) + :fog-dists + (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 128.0) + :fog-dists + (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 128.0) + :fog-dists + (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 128.0) + :fog-dists + (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 128.0) + :fog-dists + (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 64.0 :z 152.0 :w 128.0) + :fog-dists + (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 32.0 :z 96.0 :w 128.0) + :fog-dists + (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 128.0) + :fog-dists + (new 'static 'vector :y 737280.0 :z 255.0 :w 50.0) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; definition for symbol *misty-mood-lights-table*, type mood-lights-table (define *misty-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.877 :y 0.877 :z 0.877 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.375 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.334 :y 0.348 :z 0.64 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.428 :y 0.44 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.877 :y 0.877 :z 0.877 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.374 :y 0.374 :z 0.375 :w 1.0) + :shadow + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.334 :y 0.348 :z 0.64 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.428 :y 0.44 :z 0.55 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *misty-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *misty-mood-lights-table* data))) ;; failed to figure out what this is: (update-mood-shadow-direction (-> *misty-mood-lights-table* data 1)) @@ -1924,187 +1475,179 @@ ;; definition for symbol *misty-mood-sun-table*, type mood-sun-table (define *misty-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 32.0 :y 48.0 :z 160.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 32.0 :y 48.0 :z 150.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 32.0 :y 100.0 :z 160.0 :w 255.0) - ) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color + (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 132.0 :y 140.0 :z 227.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 132.0 :y 140.0 :z 243.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 132.0 :y 140.0 :z 241.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color + (new 'static 'vector :x 186.0 :y 148.0 :z 164.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 32.0 :y 48.0 :z 160.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 32.0 :y 48.0 :z 150.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 32.0 :y 100.0 :z 160.0 :w 255.0) + ) + ) + ) ) ;; definition for symbol *village2-mood-fog-table*, type mood-fog-table (define *village2-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 102.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 112.0 :y 114.0 :z 132.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 27.5 :y 40.0 :z 52.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 10.0 :y 23.0 :z 28.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 5.0 :y 35.0 :z 35.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 102.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 112.0 :y 114.0 :z 132.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 100.0 :y 102.0 :z 116.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 75.0 :y 82.0 :z 96.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 27.5 :y 40.0 :z 52.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 10.0 :y 23.0 :z 28.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 5.0 :y 35.0 :z 35.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1843200.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; definition for symbol *village2-mood-lights-table*, type mood-lights-table (define *village2-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :lgt-color + (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color (new 'static 'vector :w 1.0) + :shadow + (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :lgt-color + (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color (new 'static 'vector :w 1.0) + :shadow + (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *village2-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *village2-mood-lights-table* data))) ;; failed to figure out what this is: (update-mood-shadow-direction (-> *village2-mood-lights-table* data 1)) @@ -2119,182 +1662,170 @@ (define *village2-mood-sun-table* (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) - ) + :data + (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) + ) + (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) + (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) + ) + ) ) - ) ) ;; definition for symbol *swamp-mood-fog-table*, type mood-fog-table (define *swamp-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 36.0 :y 118.0 :z 130.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 20.0 :y 60.0 :z 70.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 12.0 :y 42.0 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 17.0 :y 76.0 :z 86.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 36.0 :y 118.0 :z 130.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 32.0 :y 105.0 :z 116.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 22.0 :y 89.0 :z 101.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 20.0 :y 60.0 :z 70.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 12.0 :y 42.0 :z 60.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 17.0 :y 76.0 :z 86.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 20480.0 :y 783360.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; definition for symbol *swamp-mood-lights-table*, type mood-lights-table (define *swamp-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.825 :y 0.825 :z 0.825 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.519 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.412 :y 0.463 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.825 :y 0.825 :z 0.825 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.173 :y 0.259 :z 0.519 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.412 :y 0.463 :z 0.55 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) + :lgt-color + (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color (new 'static 'vector :w 1.0) + :shadow + (new 'static 'vector :x 0.7094065 :y 0.57357645 :z -0.40957603) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) + :lgt-color + (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color (new 'static 'vector :w 1.0) + :shadow + (new 'static 'vector :x -0.7094065 :y 0.57357645 :z 0.40957603) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *swamp-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *swamp-mood-lights-table* data))) ;; failed to figure out what this is: (update-mood-shadow-direction (-> *swamp-mood-lights-table* data 1)) @@ -2309,126 +1840,114 @@ (define *swamp-mood-sun-table* (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 24.0 :y 133.0 :z 243.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :y 32.0 :z 96.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 131.0 :z 200.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 87.0 :y 126.0 :z 227.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 153.0 :y 141.0 :z 240.0 :w 255.0) - ) + :data + (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 24.0 :y 133.0 :z 243.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :y 32.0 :z 96.0 :w 255.0) + ) + (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) + (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 17.0 :y 119.0 :z 143.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 132.0 :y 131.0 :z 200.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 87.0 :y 126.0 :z 227.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 153.0 :y 141.0 :z 240.0 :w 255.0) + ) + ) ) - ) ) ;; definition for symbol *sunken-mood-fog-table*, type mood-fog-table (define *sunken-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) - :erase-color - (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) - :erase-color - (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) - ) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) + :erase-color + (new 'static 'vector :x 16.512 :y 26.112 :z 54.912 :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1351680.0 :z 255.0) + :erase-color + (new 'static 'vector :x 4.096 :y 15.744 :z 54.912 :w 128.0) + ) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + ) + ) ) ;; definition for symbol *sunken-mood-lights-table*, type mood-lights-table (define *sunken-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.265 :y 0.387 :z 0.509 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.172 :y 0.185 :z 0.298 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction (new 'static 'vector :y 1.0) + :lgt-color + (new 'static 'vector :x 0.265 :y 0.387 :z 0.509 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :y 1.0) + :lgt-color + (new 'static 'vector :x 0.172 :y 0.185 :z 0.298 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *sunken-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *sunken-mood-lights-table* data))) ;; failed to figure out what this is: (update-mood-shadow-direction (-> *sunken-mood-lights-table* data 1)) @@ -2436,159 +1955,151 @@ ;; definition for symbol *sunken-mood-sun-table*, type mood-sun-table (define *sunken-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 127.5 :y 191.25 :z 255.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 76.5 :y 102.0 :z 255.0 :w 255.0) - ) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 127.5 :y 191.25 :z 255.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 76.5 :y 102.0 :z 255.0 :w 255.0) + ) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + ) + ) ) ;; definition for symbol *rolling-mood-fog-table*, type mood-fog-table (define *rolling-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 104.0 :y 116.0 :z 136.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 17.0 :y 26.0 :z 43.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 104.0 :y 116.0 :z 136.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 94.0 :y 106.0 :z 126.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 42.0 :y 50.0 :z 68.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 17.0 :y 26.0 :z 43.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; definition for symbol *rolling-mood-lights-table*, type mood-lights-table (define *rolling-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - :lgt-color - (new 'static 'vector :x 0.922 :y 0.905 :z 0.873 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) - :lgt-color - (new 'static 'vector :x 0.914 :y 0.898 :z 0.866 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.09 :y 0.135 :z 0.225 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) - :lgt-color - (new 'static 'vector :x 0.0464 :y 0.1344 :z 0.1254 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :lgt-color + (new 'static 'vector :x 0.922 :y 0.905 :z 0.873 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow + (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + :lgt-color + (new 'static 'vector :x 0.914 :y 0.898 :z 0.866 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow + (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.09 :y 0.135 :z 0.225 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + :lgt-color + (new 'static 'vector :x 0.0464 :y 0.1344 :z 0.1254 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow + (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *rolling-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *rolling-mood-lights-table* data))) ;; failed to figure out what this is: (update-mood-shadow-direction (-> *rolling-mood-lights-table* data 1)) @@ -2603,190 +2114,178 @@ (define *rolling-mood-sun-table* (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) - ) + :data + (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 128.0 :y 133.0 :z 194.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :y 32.0 :z 76.0 :w 255.0) + ) + (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) + (new 'static 'mood-sun :sun-color (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0)) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 17.0 :y 76.0 :z 96.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 132.0 :y 131.0 :z 160.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 128.0 :y 126.0 :z 192.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 153.0 :y 141.0 :z 192.0 :w 255.0) + ) + ) ) - ) ) ;; definition for symbol *firecanyon-mood-fog-table*, type mood-fog-table (define *firecanyon-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 140.0 :y 64.5 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 44.0 :z 40.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 140.0 :y 50.0 :z 60.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 180.0 :y 113.0 :z 80.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 140.0 :y 64.5 :z 60.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 128.0 :y 44.0 :z 40.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 140.0 :y 50.0 :z 60.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 131072.0 :y 2048000.0 :z 255.0 :w 119.0) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; definition for symbol *firecanyon-mood-lights-table*, type mood-lights-table (define *firecanyon-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) - :lgt-color - (new 'static 'vector :x 1.0979 :y 1.0567 :z 0.4653 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.574 :y 0.32 :z 0.487 :w 1.0) - :shadow - (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25881904 :y 0.9659258) - :lgt-color - (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 128.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.368 :y 0.368 :z 0.4 :w 1.0) - :shadow - (new 'static 'vector :x -0.25881904 :y 0.9659258) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) - :lgt-color - (new 'static 'vector :x 1.1419 :y 0.8887 :z 0.3513 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.347 :y 0.362 :z 0.487 :w 1.0) - :shadow - (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) - :lgt-color - (new 'static 'vector :x 0.1824 :y 0.2574 :z 0.6964 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.434 :y 0.423 :z 0.625 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) + :lgt-color + (new 'static 'vector :x 1.0979 :y 1.0567 :z 0.4653 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.574 :y 0.32 :z 0.487 :w 1.0) + :shadow + (new 'static 'vector :x -0.0278 :y 0.6578 :z 0.7526) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.25881904 :y 0.9659258) + :lgt-color + (new 'static 'vector :x 1.644 :y 1.598 :z 1.438 :w 128.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.368 :y 0.368 :z 0.4 :w 1.0) + :shadow + (new 'static 'vector :x -0.25881904 :y 0.9659258) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) + :lgt-color + (new 'static 'vector :x 1.1419 :y 0.8887 :z 0.3513 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.347 :y 0.362 :z 0.487 :w 1.0) + :shadow + (new 'static 'vector :x -0.0353 :y 0.8338 :z -0.5508 :w 1.0) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) + :lgt-color + (new 'static 'vector :x 0.1824 :y 0.2574 :z 0.6964 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.434 :y 0.423 :z 0.625 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365 :y 0.4829 :z 0.2588) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :y -1.0) + :lgt-color + (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *firecanyon-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *firecanyon-mood-lights-table* data))) ;; failed to figure out what this is: (update-mood-shadow-direction (-> *firecanyon-mood-lights-table* data 1)) @@ -2800,207 +2299,199 @@ ;; definition for symbol *firecanyon-mood-sun-table*, type mood-sun-table (define *firecanyon-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 200.0 :y 200.0 :z 128.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 150.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 200.0 :z 150.0 :w 255.0) - ) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 200.0 :y 200.0 :z 128.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 200.0 :y 200.0 :z 200.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 96.0 :y 96.0 :z 150.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 96.0 :y 200.0 :z 150.0 :w 255.0) + ) + ) + ) ) ;; definition for symbol *ogre-mood-fog-table*, type mood-fog-table (define *ogre-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; definition for symbol *ogre-mood-lights-table*, type mood-lights-table (define *ogre-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - :lgt-color - (new 'static 'vector :x 1.154 :y 1.132 :z 1.093 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) - :lgt-color - (new 'static 'vector :x 1.144 :y 1.124 :z 0.939 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) - :shadow - (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.113 :y 0.169 :z 0.282 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) - :lgt-color - (new 'static 'vector :x 0.058 :y 0.168 :z 0.157 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) - :shadow - (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + :lgt-color + (new 'static 'vector :x 1.154 :y 1.132 :z 1.093 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow + (new 'static 'vector :x -0.1830127 :y 0.6830127 :z 0.70710677) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + :lgt-color + (new 'static 'vector :x 1.144 :y 1.124 :z 0.939 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.346 :y 0.359 :z 0.384 :w 1.0) + :shadow + (new 'static 'vector :x -0.24321035 :y 0.90767336 :z -0.34202015) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.113 :y 0.169 :z 0.282 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + :lgt-color + (new 'static 'vector :x 0.058 :y 0.168 :z 0.157 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.398 :y 0.398 :z 0.574 :w 1.0) + :shadow + (new 'static 'vector :x 0.6262 :y 0.7098 :z 0.3222) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :lgt-color + (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color (new 'static 'vector :w 1.0) + :shadow + (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :lgt-color + (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color (new 'static 'vector :w 1.0) + :shadow + (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *ogre-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *ogre-mood-lights-table* data))) ;; failed to figure out what this is: (update-mood-shadow-direction (-> *ogre-mood-lights-table* data 1)) @@ -3020,83 +2511,79 @@ ;; definition for symbol *ogre2-mood-lights-table*, type mood-lights-table (define *ogre2-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - :lgt-color - (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) - :shadow - (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - :lgt-color - (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color (new 'static 'vector :w 1.0) - :shadow - (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.793 :y 0.793 :z 0.793 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.374 :y 0.374 :z 0.374 :w 1.0) + :shadow + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + :lgt-color + (new 'static 'vector :x 0.173 :y 0.259 :z 0.432 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.463 :y 0.412 :z 0.55 :w 1.0) + :shadow + (new 'static 'vector :x 0.8365163 :y 0.4829629 :z 0.25881904) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + :lgt-color + (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color (new 'static 'vector :w 1.0) + :shadow + (new 'static 'vector :x 0.40957603 :y 0.57357645 :z 0.7094065) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + :lgt-color + (new 'static 'vector :x 2.0 :y 2.0 :z 2.0 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color (new 'static 'vector :w 1.0) + :shadow + (new 'static 'vector :x -0.40957603 :y 0.57357645 :z -0.7094065) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *ogre2-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *ogre2-mood-lights-table* data))) ;; failed to figure out what this is: (update-mood-shadow-direction (-> *ogre2-mood-lights-table* data 1)) @@ -3116,418 +2603,396 @@ ;; definition for symbol *ogre3-mood-fog-table*, type mood-fog-table (define *ogre3-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 393216.0 :y 7458816.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 393216.0 :y 7458816.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + ) + ) ) ;; definition for symbol *ogre3-mood-lights-table*, type mood-lights-table (define *ogre3-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction (new 'static 'vector :y 0.666 :z 0.745) - :lgt-color - (new 'static 'vector :x 0.6 :y 0.51 :z 0.51 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.313 :y 0.375 :z 0.375 :w 1.0) - :shadow - (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction (new 'static 'vector :y 0.666 :z 0.745) + :lgt-color + (new 'static 'vector :x 0.6 :y 0.51 :z 0.51 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.313 :y 0.375 :z 0.375 :w 1.0) + :shadow + (new 'static 'vector :x -0.25 :y 0.9330127 :z 0.25881904) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *ogre3-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *ogre3-mood-lights-table* data))) ;; definition for symbol *village3-mood-fog-table*, type mood-fog-table (define *village3-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 74.0 :y 86.0 :z 106.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 64.0 :y 68.0 :z 68.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 12.0 :z 18.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 18.0 :z 18.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2236416.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; definition for symbol *village3-mood-lights-table*, type mood-lights-table (define *village3-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) - :lgt-color (new 'static 'vector :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.259 :y 0.966) - :lgt-color - (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction - (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) - :lgt-color - (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :x 0.866 :y 0.5) - :lgt-color - (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.067 :y 0.25 :z 0.966) + :lgt-color (new 'static 'vector :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.449 :y 0.35 :z 0.599 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.259 :y 0.966) + :lgt-color + (new 'static 'vector :x 0.66 :y 0.436 :z 0.291 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.358 :y 0.575 :z 0.716 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction + (new 'static 'vector :x -0.067 :y 0.25 :z -0.966) + :lgt-color + (new 'static 'vector :x 1.056 :y 0.747 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.383 :y 0.366 :z 0.599 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :x 0.866 :y 0.5) + :lgt-color + (new 'static 'vector :x 0.067 :y 0.089 :z 0.333 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.304 :y 0.409 :z 0.76 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; definition for symbol *lavatube-mood-fog-table*, type mood-fog-table (define *lavatube-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 1851392.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 255.0 :y 96.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 1851392.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + ) + ) ) ;; definition for symbol *lavatube-mood-lights-table*, type mood-lights-table (define *lavatube-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.19 :y 0.128 :z 0.128 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.31 :y 0.372 :z 0.372 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights - :direction (new 'static 'vector :y -1.0) - :lgt-color - (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction (new 'static 'vector :y 1.0) + :lgt-color + (new 'static 'vector :x 0.19 :y 0.128 :z 0.128 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.31 :y 0.372 :z 0.372 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :y -1.0) + :lgt-color + (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :y -1.0) + :lgt-color + (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :y -1.0) + :lgt-color + (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :y -1.0) + :lgt-color + (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :y -1.0) + :lgt-color + (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :y -1.0) + :lgt-color + (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights + :direction (new 'static 'vector :y -1.0) + :lgt-color + (new 'static 'vector :x 1.0 :y 0.364 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + ) + ) ) ;; failed to figure out what this is: -(update-mood-shadow-direction - (the-as mood-lights (-> *lavatube-mood-lights-table* data)) - ) +(update-mood-shadow-direction (the-as mood-lights (-> *lavatube-mood-lights-table* data))) ;; definition for symbol *lavatube-mood-sun-table*, type mood-sun-table (define *lavatube-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 175.0 :z 128.0 :w 255.0) - ) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 175.0 :z 128.0 :w 255.0) + ) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + ) + ) ) ;; definition for symbol *finalboss-mood-sun-table*, type mood-sun-table (define *finalboss-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 109.0 :y 64.0 :z 160.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) - :env-color - (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) - ) - (new 'static 'mood-sun - :sun-color - (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) - :env-color - (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) - ) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 255.0 :z 255.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 109.0 :y 64.0 :z 160.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 128.0 :w 128.0) + :env-color + (new 'static 'vector :x 255.0 :y 196.0 :z 64.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 96.0 :y 96.0 :z 196.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 64.0 :y 64.0 :z 150.0 :w 255.0) + ) + (new 'static 'mood-sun + :sun-color + (new 'static 'vector :x 255.0 :y 225.0 :z 96.0 :w 128.0) + :env-color + (new 'static 'vector :x 64.0 :y 150.0 :z 196.0 :w 255.0) + ) + ) + ) ) ;; definition for symbol *finalboss-mood-fog-table*, type mood-fog-table (define *finalboss-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 45.0 :z 96.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 909312.0 :y 1912832.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 51.0) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog - :fog-color - (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 150.0 :y 165.0 :z 220.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 128.0 :y 180.0 :z 243.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 45.0 :z 96.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 909312.0 :y 1912832.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 160.0 :y 150.0 :z 200.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :x 16.0 :y 32.0 :z 100.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color (new 'static 'vector :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 51.0) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog + :fog-color + (new 'static 'vector :y 80.0 :z 64.0 :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 22528000.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + ) + ) ) ;; failed to figure out what this is: @@ -3537,40 +3002,22 @@ ) ;; failed to figure out what this is: -(update-mood-erase-color - (-> *finalboss-mood-fog-table* data 1) - (-> *village1-mood-lights-table* data 1) - ) +(update-mood-erase-color (-> *finalboss-mood-fog-table* data 1) (-> *village1-mood-lights-table* data 1)) ;; failed to figure out what this is: -(update-mood-erase-color - (-> *finalboss-mood-fog-table* data 2) - (-> *village1-mood-lights-table* data 2) - ) +(update-mood-erase-color (-> *finalboss-mood-fog-table* data 2) (-> *village1-mood-lights-table* data 2)) ;; failed to figure out what this is: -(update-mood-erase-color - (-> *finalboss-mood-fog-table* data 3) - (-> *village1-mood-lights-table* data 3) - ) +(update-mood-erase-color (-> *finalboss-mood-fog-table* data 3) (-> *village1-mood-lights-table* data 3)) ;; failed to figure out what this is: -(update-mood-erase-color - (-> *finalboss-mood-fog-table* data 4) - (-> *village1-mood-lights-table* data 4) - ) +(update-mood-erase-color (-> *finalboss-mood-fog-table* data 4) (-> *village1-mood-lights-table* data 4)) ;; failed to figure out what this is: -(update-mood-erase-color - (-> *finalboss-mood-fog-table* data 6) - (-> *village1-mood-lights-table* data 6) - ) +(update-mood-erase-color (-> *finalboss-mood-fog-table* data 6) (-> *village1-mood-lights-table* data 6)) ;; failed to figure out what this is: -(update-mood-erase-color - (-> *finalboss-mood-fog-table* data 7) - (-> *village1-mood-lights-table* data 7) - ) +(update-mood-erase-color (-> *finalboss-mood-fog-table* data 7) (-> *village1-mood-lights-table* data 7)) ;; failed to figure out what this is: (vector4-lerp! @@ -3647,72 +3094,66 @@ ;; definition for symbol *citadel-mood-fog-table*, type mood-fog-table (define *citadel-mood-fog-table* - (new 'static 'mood-fog-table - :data - (new 'static 'inline-array mood-fog 8 - (new 'static 'mood-fog - :fog-color (new 'static 'vector :w 128.0) - :fog-dists - (new 'static 'vector :x 262144.0 :y 2252800.0 :z 255.0 :w 25.5) - :erase-color (new 'static 'vector :w 128.0) - ) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - (new 'static 'mood-fog) - ) - ) + (new 'static 'mood-fog-table :data (new 'static 'inline-array mood-fog 8 + (new 'static 'mood-fog + :fog-color (new 'static 'vector :w 128.0) + :fog-dists + (new 'static 'vector :x 262144.0 :y 2252800.0 :z 255.0 :w 25.5) + :erase-color (new 'static 'vector :w 128.0) + ) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + (new 'static 'mood-fog) + ) + ) ) ;; definition for symbol *citadel-mood-lights-table*, type mood-lights-table (define *citadel-mood-lights-table* - (new 'static 'mood-lights-table - :data - (new 'static 'inline-array mood-lights 8 - (new 'static 'mood-lights - :direction (new 'static 'vector :y 1.0) - :lgt-color - (new 'static 'vector :x 0.75 :y 0.725 :z 0.5 :w 1.0) - :prt-color (new 'static 'vector :w 1.0) - :amb-color - (new 'static 'vector :x 0.3 :y 0.3 :z 0.3 :w 1.0) - :shadow (new 'static 'vector :y -1.0) - ) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - (new 'static 'mood-lights) - ) - ) + (new 'static 'mood-lights-table :data (new 'static 'inline-array mood-lights 8 + (new 'static 'mood-lights + :direction (new 'static 'vector :y 1.0) + :lgt-color + (new 'static 'vector :x 0.75 :y 0.725 :z 0.5 :w 1.0) + :prt-color (new 'static 'vector :w 1.0) + :amb-color + (new 'static 'vector :x 0.3 :y 0.3 :z 0.3 :w 1.0) + :shadow (new 'static 'vector :y -1.0) + ) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + (new 'static 'mood-lights) + ) + ) ) ;; definition for symbol *citadel-mood-sun-table*, type mood-sun-table (define *citadel-mood-sun-table* - (new 'static 'mood-sun-table - :data - (new 'static 'inline-array mood-sun 8 - (new 'static 'mood-sun - :sun-color (new 'static 'vector :w 128.0) - :env-color - (new 'static 'vector :x 96.0 :y 96.0 :z 96.0 :w 255.0) - ) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - (new 'static 'mood-sun) - ) - ) + (new 'static 'mood-sun-table :data (new 'static 'inline-array mood-sun 8 + (new 'static 'mood-sun + :sun-color (new 'static 'vector :w 128.0) + :env-color + (new 'static 'vector :x 96.0 :y 96.0 :z 96.0 :w 255.0) + ) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + (new 'static 'mood-sun) + ) + ) ) ;; definition for symbol *default-mood*, type mood-context @@ -4332,7 +3773,3 @@ ;; failed to figure out what this is: (set! (-> *citadel-mood* num-stars) 0.0) - - - - diff --git a/test/decompiler/reference/engine/ambient/mood_REF.gc b/test/decompiler/reference/engine/ambient/mood_REF.gc index a2ee272144..b718b80ad5 100644 --- a/test/decompiler/reference/engine/ambient/mood_REF.gc +++ b/test/decompiler/reference/engine/ambient/mood_REF.gc @@ -4,8 +4,8 @@ ;; definition for function clear-mood-times (defun clear-mood-times ((arg0 mood-context)) (dotimes (v1-0 8) - (set! (-> arg0 times v1-0 w) 0.0) - ) + (set! (-> arg0 times v1-0 w) 0.0) + ) #f ) @@ -14,20 +14,20 @@ (defun update-light-kit ((arg0 light-group) (arg1 light) (arg2 float)) (set! (-> arg0 ambi color quad) (-> arg1 color quad)) (let ((f0-1 (* (-> arg1 levels x) arg2))) - (set! (-> arg0 ambi levels x) f0-1) - f0-1 - ) + (set! (-> arg0 ambi levels x) f0-1) + f0-1 + ) ) ;; definition for function set-target-light-index (defun set-target-light-index ((arg0 int)) (when *target* - (set! (-> *target* draw light-index) (the-as uint arg0)) - (when (-> *target* sidekick) - (set! (-> *target* sidekick 0 draw light-index) (the-as uint arg0)) - arg0 + (set! (-> *target* draw light-index) (the-as uint arg0)) + (when (-> *target* sidekick) + (set! (-> *target* sidekick 0 draw light-index) (the-as uint arg0)) + arg0 + ) ) - ) ) ;; definition for function update-mood-itimes @@ -36,31 +36,31 @@ ;; Used lq/sq (defun update-mood-itimes ((arg0 mood-context)) (local-vars - (r0-0 int) - (r0-1 int) - (r0-2 int) - (v1-0 uint128) - (v1-1 uint128) - (v1-2 uint128) - (v1-3 uint128) - (a1-0 uint128) - (a1-1 uint128) - (a1-2 uint128) - (a1-3 uint128) - (a2-0 uint128) - (a2-1 uint128) - (a3-0 uint128) - (a3-1 uint128) - (t0-0 uint128) - (t0-1 uint128) - (t1-0 uint128) - (t1-1 uint128) - (t2-0 uint128) - (t2-1 uint128) - (t3-0 uint128) - (t3-1 uint128) - (f31-0 none) - ) + (r0-0 int) + (r0-1 int) + (r0-2 int) + (v1-0 uint128) + (v1-1 uint128) + (v1-2 uint128) + (v1-3 uint128) + (a1-0 uint128) + (a1-1 uint128) + (a1-2 uint128) + (a1-3 uint128) + (a2-0 uint128) + (a2-1 uint128) + (a3-0 uint128) + (a3-1 uint128) + (t0-0 uint128) + (t0-1 uint128) + (t1-0 uint128) + (t1-1 uint128) + (t2-0 uint128) + (t2-1 uint128) + (t3-0 uint128) + (t3-1 uint128) + (f31-0 none) + ) (rlet ((vf1 :class vf) (vf2 :class vf) (vf3 :class vf) @@ -70,76 +70,76 @@ (vf7 :class vf) (vf8 :class vf) ) - (nop!) - (nop!) - (.lvf vf1 (&-> arg0 times 0 quad)) - (nop!) - (.lvf vf2 (&-> arg0 times 1 quad)) - (.mul.w.vf vf1 vf1 vf1 :mask #b111) - (.lvf vf3 (&-> arg0 times 2 quad)) - (.mul.w.vf vf2 vf2 vf2 :mask #b111) - (.lvf vf4 (&-> arg0 times 3 quad)) - (.mul.w.vf vf3 vf3 vf3 :mask #b111) - (.lvf vf5 (&-> arg0 times 4 quad)) - (.mul.w.vf vf4 vf4 vf4 :mask #b111) - (.lvf vf6 (&-> arg0 times 5 quad)) - (.mul.w.vf vf5 vf5 vf5 :mask #b111) - (.lvf vf7 (&-> arg0 times 6 quad)) - (.mul.w.vf vf6 vf6 vf6 :mask #b111) - (.lvf vf8 (&-> arg0 times 7 quad)) - (.mul.w.vf vf7 vf7 vf7 :mask #b111) - (nop!) - (.mul.w.vf vf8 vf8 vf8 :mask #b111) - (nop!) - (vftoi12.xyzw vf1 vf1) - (nop!) - (vftoi12.xyzw vf2 vf2) - (nop!) - (vftoi12.xyzw vf3 vf3) - (nop!) - (vftoi12.xyzw vf4 vf4) - (nop!) - (vftoi12.xyzw vf5 vf5) - (nop!) - (vftoi12.xyzw vf6 vf6) - (nop!) - (vftoi12.xyzw vf7 vf7) - (nop!) - (vftoi12.xyzw vf8 vf8) - (nop!) - (.mov v1-0 vf1) - (nop!) - (.mov a1-0 vf2) - (nop!) - (.mov a2-0 vf3) - (.pw.sra v1-1 v1-0 6) - (.mov a3-0 vf4) - (.pw.sra a1-1 a1-0 6) - (.mov t0-0 vf5) - (.pw.sra a2-1 a2-0 6) - (.mov t1-0 vf6) - (.pw.sra a3-1 a3-0 6) - (.mov t2-0 vf7) - (.pw.sra t0-1 t0-0 6) - (.mov t3-0 vf8) - (.pw.sra t1-1 t1-0 6) - (.pw.sra t2-1 t2-0 6) - (.mov r0-0 f31-0) - (.pw.sra t3-1 t3-0 6) - (.mov r0-1 f31-0) - (.ppach v1-2 a1-1 v1-1) - (.mov r0-2 f31-0) - (.ppach a1-2 a3-1 a2-1) - (set! (-> arg0 itimes 0 quad) v1-2) - (.ppach v1-3 t1-1 t0-1) - (set! (-> arg0 itimes 1 quad) a1-2) - (.ppach a1-3 t3-1 t2-1) - (set! (-> arg0 itimes 2 quad) v1-3) - (nop!) - (set! (-> arg0 itimes 3 quad) a1-3) - 0 - (none) - ) + (nop!) + (nop!) + (.lvf vf1 (&-> arg0 times 0 quad)) + (nop!) + (.lvf vf2 (&-> arg0 times 1 quad)) + (.mul.w.vf vf1 vf1 vf1 :mask #b111) + (.lvf vf3 (&-> arg0 times 2 quad)) + (.mul.w.vf vf2 vf2 vf2 :mask #b111) + (.lvf vf4 (&-> arg0 times 3 quad)) + (.mul.w.vf vf3 vf3 vf3 :mask #b111) + (.lvf vf5 (&-> arg0 times 4 quad)) + (.mul.w.vf vf4 vf4 vf4 :mask #b111) + (.lvf vf6 (&-> arg0 times 5 quad)) + (.mul.w.vf vf5 vf5 vf5 :mask #b111) + (.lvf vf7 (&-> arg0 times 6 quad)) + (.mul.w.vf vf6 vf6 vf6 :mask #b111) + (.lvf vf8 (&-> arg0 times 7 quad)) + (.mul.w.vf vf7 vf7 vf7 :mask #b111) + (nop!) + (.mul.w.vf vf8 vf8 vf8 :mask #b111) + (nop!) + (vftoi12.xyzw vf1 vf1) + (nop!) + (vftoi12.xyzw vf2 vf2) + (nop!) + (vftoi12.xyzw vf3 vf3) + (nop!) + (vftoi12.xyzw vf4 vf4) + (nop!) + (vftoi12.xyzw vf5 vf5) + (nop!) + (vftoi12.xyzw vf6 vf6) + (nop!) + (vftoi12.xyzw vf7 vf7) + (nop!) + (vftoi12.xyzw vf8 vf8) + (nop!) + (.mov v1-0 vf1) + (nop!) + (.mov a1-0 vf2) + (nop!) + (.mov a2-0 vf3) + (.pw.sra v1-1 v1-0 6) + (.mov a3-0 vf4) + (.pw.sra a1-1 a1-0 6) + (.mov t0-0 vf5) + (.pw.sra a2-1 a2-0 6) + (.mov t1-0 vf6) + (.pw.sra a3-1 a3-0 6) + (.mov t2-0 vf7) + (.pw.sra t0-1 t0-0 6) + (.mov t3-0 vf8) + (.pw.sra t1-1 t1-0 6) + (.pw.sra t2-1 t2-0 6) + (.mov r0-0 f31-0) + (.pw.sra t3-1 t3-0 6) + (.mov r0-1 f31-0) + (.ppach v1-2 a1-1 v1-1) + (.mov r0-2 f31-0) + (.ppach a1-2 a3-1 a2-1) + (set! (-> arg0 itimes 0 quad) v1-2) + (.ppach v1-3 t1-1 t0-1) + (set! (-> arg0 itimes 1 quad) a1-2) + (.ppach a1-3 t3-1 t2-1) + (set! (-> arg0 itimes 2 quad) v1-3) + (nop!) + (set! (-> arg0 itimes 3 quad) a1-3) + 0 + (none) + ) ) ;; definition for function update-mood-prt-color @@ -149,43 +149,26 @@ (s4-0 (-> v1-0 0 ambi color)) (s5-0 (new 'stack-no-clear 'vector)) ) - (vector4-lerp! - s5-0 - (-> v1-0 0 dir0 color) - (-> v1-0 0 dir1 color) - (-> v1-0 0 dir1 levels x) + (vector4-lerp! s5-0 (-> v1-0 0 dir0 color) (-> v1-0 0 dir1 color) (-> v1-0 0 dir1 levels x)) + (set! (-> arg0 current-prt-color x) (* 0.5 (+ (-> s4-0 x) (* 0.5 (+ (-> s4-0 x) (-> s5-0 x)))))) + (set! (-> arg0 current-prt-color y) (* 0.5 (+ (-> s4-0 y) (* 0.5 (+ (-> s4-0 y) (-> s5-0 y)))))) + (set! (-> arg0 current-prt-color z) (* 0.5 (+ (-> s4-0 z) (* 0.5 (+ (-> s4-0 z) (-> s5-0 z)))))) + (set! (-> arg0 current-prt-color w) (* 0.5 (+ (-> s4-0 w) (* 0.5 (+ (-> s4-0 w) (-> s5-0 w)))))) ) - (set! - (-> arg0 current-prt-color x) - (* 0.5 (+ (-> s4-0 x) (* 0.5 (+ (-> s4-0 x) (-> s5-0 x))))) - ) - (set! - (-> arg0 current-prt-color y) - (* 0.5 (+ (-> s4-0 y) (* 0.5 (+ (-> s4-0 y) (-> s5-0 y))))) - ) - (set! - (-> arg0 current-prt-color z) - (* 0.5 (+ (-> s4-0 z) (* 0.5 (+ (-> s4-0 z) (-> s5-0 z))))) - ) - (set! - (-> arg0 current-prt-color w) - (* 0.5 (+ (-> s4-0 w) (* 0.5 (+ (-> s4-0 w) (-> s5-0 w))))) - ) - ) (let ((v0-1 (-> arg0 current-shadow-color))) - (set! (-> v0-1 quad) (-> arg0 current-prt-color quad)) - v0-1 - ) + (set! (-> v0-1 quad) (-> arg0 current-prt-color quad)) + v0-1 + ) ) ;; definition for function update-mood-palette ;; Used lq/sq (defun update-mood-palette ((arg0 mood-context) (arg1 float) (arg2 int)) (let ((v1-0 (-> arg0 light-group))) - (set! (-> v1-0 0 dir0 levels x) 0.0) - (set! (-> v1-0 0 dir1 levels x) 0.0) - (set! (-> v1-0 0 dir2 levels x) 0.0) - ) + (set! (-> v1-0 0 dir0 levels x) 0.0) + (set! (-> v1-0 0 dir1 levels x) 0.0) + (set! (-> v1-0 0 dir2 levels x) 0.0) + ) 0 0 0.0 @@ -199,124 +182,74 @@ (s2-0 (-> v1-7 snapshot2)) (f30-0 (+ (* f1-3 (-> v1-7 morph-start)) (* f0-7 (-> v1-7 morph-end)))) ) - (cond - ((= s3-0 s2-0) - (let ((v1-12 (-> arg0 mood-lights-table data s3-0))) - (set! (-> arg0 times s3-0 w) 1.0) - (set! (-> arg0 current-prt-color quad) (-> v1-12 prt-color quad)) - (set! (-> s4-0 0 ambi color quad) (-> v1-12 amb-color quad)) - (set! (-> s4-0 0 ambi levels x) 1.0) - (set! (-> arg0 current-shadow quad) (-> v1-12 shadow quad)) - (let - ((f0-14 - (+ - (* 2.0 (-> v1-12 lgt-color x)) - (* 4.0 (-> v1-12 lgt-color y)) - (-> v1-12 lgt-color z) - ) + (cond + ((= s3-0 s2-0) + (let ((v1-12 (-> arg0 mood-lights-table data s3-0))) + (set! (-> arg0 times s3-0 w) 1.0) + (set! (-> arg0 current-prt-color quad) (-> v1-12 prt-color quad)) + (set! (-> s4-0 0 ambi color quad) (-> v1-12 amb-color quad)) + (set! (-> s4-0 0 ambi levels x) 1.0) + (set! (-> arg0 current-shadow quad) (-> v1-12 shadow quad)) + (let ((f0-14 (+ (* 2.0 (-> v1-12 lgt-color x)) (* 4.0 (-> v1-12 lgt-color y)) (-> v1-12 lgt-color z)))) + (set! (-> s4-0 0 dir0 direction quad) (-> v1-12 direction quad)) + (set! (-> s4-0 0 dir0 color quad) (-> v1-12 lgt-color quad)) + (set! (-> s4-0 0 dir0 levels x) 1.0) + (set! (-> s4-0 0 dir0 levels y) f0-14) + ) ) + (set! (-> *time-of-day-context* light-masks-0 arg2) (the-as uint (ash 1 s3-0))) + (set! (-> *time-of-day-context* light-masks-1 arg2) (the-as uint 0)) + (set! (-> *time-of-day-context* light-interp arg2) 0.0) + ) + (else + (let ((s0-0 (-> arg0 mood-lights-table data s3-0)) + (s1-0 (-> arg0 mood-lights-table data s2-0)) + ) + (let ((v1-29 (the int (+ 0.5 (* 64.0 f30-0))))) + (set! (-> arg0 times s3-0 w) (* 0.015625 (the float (- 64 v1-29)))) + (set! (-> arg0 times s2-0 w) (* 0.015625 (the float v1-29))) + ) + (vector4-lerp! (-> arg0 current-prt-color) (-> s0-0 prt-color) (-> s1-0 prt-color) f30-0) + (vector4-lerp! (-> s4-0 0 ambi color) (-> s0-0 amb-color) (-> s1-0 amb-color) f30-0) + (set! (-> s4-0 0 ambi levels x) 1.0) + (vector4-lerp! (-> arg0 current-shadow) (-> s0-0 shadow) (-> s1-0 shadow) f30-0) + (let ((f0-28 + (* (+ (* 2.0 (-> s0-0 lgt-color x)) (* 4.0 (-> s0-0 lgt-color y)) (-> s0-0 lgt-color z)) (- 1.0 f30-0)) + ) + (f1-26 (* (+ (* 2.0 (-> s1-0 lgt-color x)) (* 4.0 (-> s1-0 lgt-color y)) (-> s1-0 lgt-color z)) f30-0)) + ) + (set! (-> s4-0 0 dir0 direction quad) (-> s0-0 direction quad)) + (set! (-> s4-0 0 dir0 color quad) (-> s0-0 lgt-color quad)) + (set! (-> s4-0 0 dir0 levels x) (- 1.0 f30-0)) + (set! (-> s4-0 0 dir0 levels y) f0-28) + (set! (-> s4-0 0 dir1 direction quad) (-> s1-0 direction quad)) + (set! (-> s4-0 0 dir1 color quad) (-> s1-0 lgt-color quad)) + (set! (-> s4-0 0 dir1 levels x) f30-0) + (set! (-> s4-0 0 dir1 levels y) f1-26) + ) + ) + (set! (-> *time-of-day-context* light-masks-0 arg2) (the-as uint (ash 1 s3-0))) + (set! (-> *time-of-day-context* light-masks-1 arg2) (the-as uint (ash 1 s2-0))) + (set! (-> *time-of-day-context* light-interp arg2) f30-0) ) - (set! (-> s4-0 0 dir0 direction quad) (-> v1-12 direction quad)) - (set! (-> s4-0 0 dir0 color quad) (-> v1-12 lgt-color quad)) - (set! (-> s4-0 0 dir0 levels x) 1.0) - (set! (-> s4-0 0 dir0 levels y) f0-14) - ) ) - (set! - (-> *time-of-day-context* light-masks-0 arg2) - (the-as uint (ash 1 s3-0)) - ) - (set! (-> *time-of-day-context* light-masks-1 arg2) (the-as uint 0)) - (set! (-> *time-of-day-context* light-interp arg2) 0.0) - ) - (else - (let ((s0-0 (-> arg0 mood-lights-table data s3-0)) - (s1-0 (-> arg0 mood-lights-table data s2-0)) - ) - (let ((v1-29 (the int (+ 0.5 (* 64.0 f30-0))))) - (set! (-> arg0 times s3-0 w) (* 0.015625 (the float (- 64 v1-29)))) - (set! (-> arg0 times s2-0 w) (* 0.015625 (the float v1-29))) - ) - (vector4-lerp! - (-> arg0 current-prt-color) - (-> s0-0 prt-color) - (-> s1-0 prt-color) - f30-0 - ) - (vector4-lerp! - (-> s4-0 0 ambi color) - (-> s0-0 amb-color) - (-> s1-0 amb-color) - f30-0 - ) - (set! (-> s4-0 0 ambi levels x) 1.0) - (vector4-lerp! - (-> arg0 current-shadow) - (-> s0-0 shadow) - (-> s1-0 shadow) - f30-0 - ) - (let - ((f0-28 - (* - (+ - (* 2.0 (-> s0-0 lgt-color x)) - (* 4.0 (-> s0-0 lgt-color y)) - (-> s0-0 lgt-color z) - ) - (- 1.0 f30-0) - ) - ) - (f1-26 - (* - (+ - (* 2.0 (-> s1-0 lgt-color x)) - (* 4.0 (-> s1-0 lgt-color y)) - (-> s1-0 lgt-color z) - ) - f30-0 - ) - ) + (if (and + (= (-> arg0 current-prt-color x) 0.0) + (= (-> arg0 current-prt-color y) 0.0) + (= (-> arg0 current-prt-color z) 0.0) + ) + (update-mood-prt-color arg0) ) - (set! (-> s4-0 0 dir0 direction quad) (-> s0-0 direction quad)) - (set! (-> s4-0 0 dir0 color quad) (-> s0-0 lgt-color quad)) - (set! (-> s4-0 0 dir0 levels x) (- 1.0 f30-0)) - (set! (-> s4-0 0 dir0 levels y) f0-28) - (set! (-> s4-0 0 dir1 direction quad) (-> s1-0 direction quad)) - (set! (-> s4-0 0 dir1 color quad) (-> s1-0 lgt-color quad)) - (set! (-> s4-0 0 dir1 levels x) f30-0) - (set! (-> s4-0 0 dir1 levels y) f1-26) - ) - ) - (set! - (-> *time-of-day-context* light-masks-0 arg2) - (the-as uint (ash 1 s3-0)) - ) - (set! - (-> *time-of-day-context* light-masks-1 arg2) - (the-as uint (ash 1 s2-0)) - ) - (set! (-> *time-of-day-context* light-interp arg2) f30-0) - ) + f30-0 ) - (if - (and - (= (-> arg0 current-prt-color x) 0.0) - (= (-> arg0 current-prt-color y) 0.0) - (= (-> arg0 current-prt-color z) 0.0) - ) - (update-mood-prt-color arg0) - ) - f30-0 - ) ) ;; definition for function update-mood-sky-texture ;; Used lq/sq (defun update-mood-sky-texture ((arg0 mood-context) (arg1 float)) (dotimes (v1-0 8) - (set! (-> arg0 sky-times v1-0) 0.0) - ) + (set! (-> arg0 sky-times v1-0) 0.0) + ) 0 0 0.0 @@ -329,50 +262,35 @@ (s4-0 (-> v1-9 snapshot2)) (f30-0 (+ (* f1-3 (-> v1-9 morph-start)) (* f0-5 (-> v1-9 morph-end)))) ) - (cond - ((= s5-0 s4-0) - (set! (-> arg0 sky-times s5-0) 1.0) - (set! - (-> arg0 current-sun sun-color quad) - (-> arg0 mood-sun-table data s5-0 sun-color quad) - ) - (let ((v0-0 (-> arg0 current-sun env-color))) - (set! - (-> v0-0 quad) - (-> - (the-as - (pointer uint128) - (+ (the-as uint (-> arg0 mood-sun-table data 0 env-color)) (* s5-0 32)) + (cond + ((= s5-0 s4-0) + (set! (-> arg0 sky-times s5-0) 1.0) + (set! (-> arg0 current-sun sun-color quad) (-> arg0 mood-sun-table data s5-0 sun-color quad)) + (let ((v0-0 (-> arg0 current-sun env-color))) + (set! (-> v0-0 quad) + (-> (the-as (pointer uint128) (+ (the-as uint (-> arg0 mood-sun-table data 0 env-color)) (* s5-0 32)))) + ) + v0-0 ) + ) + (else + (set! (-> arg0 sky-times s5-0) (- 1.0 f30-0)) + (set! (-> arg0 sky-times s4-0) f30-0) + (vector4-lerp! + (the-as vector (-> arg0 current-sun)) + (the-as vector (-> arg0 mood-sun-table data s5-0)) + (the-as vector (-> arg0 mood-sun-table data s4-0)) + f30-0 + ) + (vector4-lerp! + (-> arg0 current-sun env-color) + (the-as vector (+ (the-as uint (-> arg0 mood-sun-table data 0 env-color)) (* s5-0 32))) + (the-as vector (+ (the-as uint (-> arg0 mood-sun-table data 0 env-color)) (* s4-0 32))) + f30-0 + ) ) - ) - v0-0 ) - ) - (else - (set! (-> arg0 sky-times s5-0) (- 1.0 f30-0)) - (set! (-> arg0 sky-times s4-0) f30-0) - (vector4-lerp! - (the-as vector (-> arg0 current-sun)) - (the-as vector (-> arg0 mood-sun-table data s5-0)) - (the-as vector (-> arg0 mood-sun-table data s4-0)) - f30-0 - ) - (vector4-lerp! - (-> arg0 current-sun env-color) - (the-as - vector - (+ (the-as uint (-> arg0 mood-sun-table data 0 env-color)) (* s5-0 32)) - ) - (the-as - vector - (+ (the-as uint (-> arg0 mood-sun-table data 0 env-color)) (* s4-0 32)) - ) - f30-0 - ) - ) ) - ) ) ;; definition for function update-mood-fog @@ -392,275 +310,149 @@ (s5-0 (-> arg0 mood-fog-table data a1-5)) (s4-0 (-> arg0 mood-fog-table data v1-6)) ) - (vector4-lerp! - (-> gp-0 fog-color) - (-> s5-0 fog-color) - (-> s4-0 fog-color) - f30-0 + (vector4-lerp! (-> gp-0 fog-color) (-> s5-0 fog-color) (-> s4-0 fog-color) f30-0) + (vector4-lerp! (-> gp-0 fog-dists) (-> s5-0 fog-dists) (-> s4-0 fog-dists) f30-0) + (vector4-lerp! (-> gp-0 erase-color) (-> s5-0 erase-color) (-> s4-0 erase-color) f30-0) ) - (vector4-lerp! - (-> gp-0 fog-dists) - (-> s5-0 fog-dists) - (-> s4-0 fog-dists) - f30-0 - ) - (vector4-lerp! - (-> gp-0 erase-color) - (-> s5-0 erase-color) - (-> s4-0 erase-color) - f30-0 - ) - ) ) ;; definition for function update-mood-quick ;; Used lq/sq -(defun - update-mood-quick - ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 int) (arg4 int)) +(defun update-mood-quick ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 int) (arg4 int)) (let ((v1-0 (-> arg0 light-group))) - (set! - (-> arg0 current-fog fog-color quad) - (-> arg0 mood-fog-table data arg1 fog-color quad) - ) - (set! - (-> arg0 current-fog fog-dists quad) - (-> - (the-as - (pointer uint128) - (+ (the-as uint (-> arg0 mood-fog-table data 0 fog-dists)) (* 48 arg1)) - ) - ) - ) - (set! - (-> arg0 current-fog erase-color quad) - (-> - (the-as - (pointer uint128) - (+ (the-as uint (-> arg0 mood-fog-table data 0 erase-color)) (* 48 arg1)) - ) - ) - ) - (set! - (-> arg0 current-prt-color quad) - (-> - (the-as - (pointer uint128) - (+ (the-as uint (-> arg0 mood-lights-table data 0 prt-color)) (* 80 arg3)) - ) - ) - ) - (set! - (-> arg0 current-sun sun-color quad) - (-> arg0 mood-sun-table data arg2 sun-color quad) - ) - (set! - (-> arg0 current-sun env-color quad) - (-> - (the-as - (pointer uint128) - (+ (the-as uint (-> arg0 mood-sun-table data 0 env-color)) (* arg2 32)) - ) - ) - ) - (set! - (-> arg0 current-shadow quad) - (-> - (the-as - (pointer uint128) - (+ (the-as uint (-> arg0 mood-lights-table data 0 shadow)) (* 80 arg3)) - ) - ) - ) - (let ((a1-11 (-> arg0 mood-lights-table data arg3))) - (let - ((f0-3 - (+ - (* 2.0 (-> a1-11 lgt-color x)) - (* 4.0 (-> a1-11 lgt-color y)) - (-> a1-11 lgt-color z) + (set! (-> arg0 current-fog fog-color quad) (-> arg0 mood-fog-table data arg1 fog-color quad)) + (set! (-> arg0 current-fog fog-dists quad) + (-> (the-as (pointer uint128) (+ (the-as uint (-> arg0 mood-fog-table data 0 fog-dists)) (* 48 arg1)))) + ) + (set! (-> arg0 current-fog erase-color quad) + (-> (the-as (pointer uint128) (+ (the-as uint (-> arg0 mood-fog-table data 0 erase-color)) (* 48 arg1)))) + ) + (set! (-> arg0 current-prt-color quad) + (-> (the-as (pointer uint128) (+ (the-as uint (-> arg0 mood-lights-table data 0 prt-color)) (* 80 arg3)))) + ) + (set! (-> arg0 current-sun sun-color quad) (-> arg0 mood-sun-table data arg2 sun-color quad)) + (set! (-> arg0 current-sun env-color quad) + (-> (the-as (pointer uint128) (+ (the-as uint (-> arg0 mood-sun-table data 0 env-color)) (* arg2 32)))) + ) + (set! (-> arg0 current-shadow quad) + (-> (the-as (pointer uint128) (+ (the-as uint (-> arg0 mood-lights-table data 0 shadow)) (* 80 arg3)))) + ) + (let ((a1-11 (-> arg0 mood-lights-table data arg3))) + (let ((f0-3 (+ (* 2.0 (-> a1-11 lgt-color x)) (* 4.0 (-> a1-11 lgt-color y)) (-> a1-11 lgt-color z)))) + (set! (-> v1-0 0 dir0 direction quad) (-> a1-11 direction quad)) + (set! (-> v1-0 0 dir0 color quad) (-> a1-11 lgt-color quad)) + (set! (-> v1-0 0 dir0 levels x) 1.0) + (set! (-> v1-0 0 dir0 levels y) f0-3) ) - ) + (set! (-> v1-0 0 dir1 levels x) 0.0) + (set! (-> v1-0 0 dir2 levels x) 0.0) + (set! (-> v1-0 0 ambi color quad) (-> a1-11 amb-color quad)) ) - (set! (-> v1-0 0 dir0 direction quad) (-> a1-11 direction quad)) - (set! (-> v1-0 0 dir0 color quad) (-> a1-11 lgt-color quad)) - (set! (-> v1-0 0 dir0 levels x) 1.0) - (set! (-> v1-0 0 dir0 levels y) f0-3) - ) - (set! (-> v1-0 0 dir1 levels x) 0.0) - (set! (-> v1-0 0 dir2 levels x) 0.0) - (set! (-> v1-0 0 ambi color quad) (-> a1-11 amb-color quad)) + (set! (-> v1-0 0 ambi levels x) 1.0) ) - (set! (-> v1-0 0 ambi levels x) 1.0) - ) - (set! - (-> *time-of-day-context* light-masks-0 arg4) - (the-as uint (ash 1 arg3)) - ) + (set! (-> *time-of-day-context* light-masks-0 arg4) (the-as uint (ash 1 arg3))) (set! (-> *time-of-day-context* light-masks-1 arg4) (the-as uint 0)) (set! (-> *time-of-day-context* light-interp arg4) 0.0) - (if - (and - (= (-> arg0 current-prt-color x) 0.0) - (= (-> arg0 current-prt-color y) 0.0) - (= (-> arg0 current-prt-color z) 0.0) - ) - (update-mood-prt-color arg0) - ) + (if (and + (= (-> arg0 current-prt-color x) 0.0) + (= (-> arg0 current-prt-color y) 0.0) + (= (-> arg0 current-prt-color z) 0.0) + ) + (update-mood-prt-color arg0) + ) ) ;; definition for function update-mood-interp ;; Used lq/sq -(defun - update-mood-interp - ((arg0 mood-context) (arg1 mood-context) (arg2 mood-context) (arg3 float)) +(defun update-mood-interp ((arg0 mood-context) (arg1 mood-context) (arg2 mood-context) (arg3 float)) (local-vars (sv-16 light)) (cond - ((= arg3 0.0) - (set! - (-> arg0 current-fog fog-color quad) - (-> arg1 current-fog fog-color quad) + ((= arg3 0.0) + (set! (-> arg0 current-fog fog-color quad) (-> arg1 current-fog fog-color quad)) + (set! (-> arg0 current-fog fog-dists quad) (-> arg1 current-fog fog-dists quad)) + (set! (-> arg0 current-fog erase-color quad) (-> arg1 current-fog erase-color quad)) + (set! (-> arg0 current-prt-color quad) (-> arg1 current-prt-color quad)) + (set! (-> arg0 current-sun sun-color quad) (-> arg1 current-sun sun-color quad)) + (set! (-> arg0 current-sun env-color quad) (-> arg1 current-sun env-color quad)) + (set! (-> arg0 current-shadow quad) (-> arg1 current-shadow quad)) + (set! (-> arg0 current-shadow-color quad) (-> arg1 current-shadow-color quad)) + (quad-copy! (the-as pointer (-> arg0 light-group)) (the-as pointer (-> arg1 light-group)) 12) ) - (set! - (-> arg0 current-fog fog-dists quad) - (-> arg1 current-fog fog-dists quad) + ((= arg3 1.0) + (set! (-> arg0 current-fog fog-color quad) (-> arg2 current-fog fog-color quad)) + (set! (-> arg0 current-fog fog-dists quad) (-> arg2 current-fog fog-dists quad)) + (set! (-> arg0 current-fog erase-color quad) (-> arg2 current-fog erase-color quad)) + (set! (-> arg0 current-prt-color quad) (-> arg2 current-prt-color quad)) + (set! (-> arg0 current-sun sun-color quad) (-> arg2 current-sun sun-color quad)) + (set! (-> arg0 current-sun env-color quad) (-> arg2 current-sun env-color quad)) + (set! (-> arg0 current-shadow quad) (-> arg2 current-shadow quad)) + (set! (-> arg0 current-shadow-color quad) (-> arg2 current-shadow-color quad)) + (quad-copy! (the-as pointer (-> arg0 light-group)) (the-as pointer (-> arg2 light-group)) 12) ) - (set! - (-> arg0 current-fog erase-color quad) - (-> arg1 current-fog erase-color quad) - ) - (set! (-> arg0 current-prt-color quad) (-> arg1 current-prt-color quad)) - (set! - (-> arg0 current-sun sun-color quad) - (-> arg1 current-sun sun-color quad) - ) - (set! - (-> arg0 current-sun env-color quad) - (-> arg1 current-sun env-color quad) - ) - (set! (-> arg0 current-shadow quad) (-> arg1 current-shadow quad)) - (set! - (-> arg0 current-shadow-color quad) - (-> arg1 current-shadow-color quad) - ) - (quad-copy! - (the-as pointer (-> arg0 light-group)) - (the-as pointer (-> arg1 light-group)) - 12 - ) - ) - ((= arg3 1.0) - (set! - (-> arg0 current-fog fog-color quad) - (-> arg2 current-fog fog-color quad) - ) - (set! - (-> arg0 current-fog fog-dists quad) - (-> arg2 current-fog fog-dists quad) - ) - (set! - (-> arg0 current-fog erase-color quad) - (-> arg2 current-fog erase-color quad) - ) - (set! (-> arg0 current-prt-color quad) (-> arg2 current-prt-color quad)) - (set! - (-> arg0 current-sun sun-color quad) - (-> arg2 current-sun sun-color quad) - ) - (set! - (-> arg0 current-sun env-color quad) - (-> arg2 current-sun env-color quad) - ) - (set! (-> arg0 current-shadow quad) (-> arg2 current-shadow quad)) - (set! - (-> arg0 current-shadow-color quad) - (-> arg2 current-shadow-color quad) - ) - (quad-copy! - (the-as pointer (-> arg0 light-group)) - (the-as pointer (-> arg2 light-group)) - 12 - ) - ) - (else - (vector4-lerp! - (the-as vector (-> arg0 current-fog)) - (the-as vector (-> arg1 current-fog)) - (the-as vector (-> arg2 current-fog)) - arg3 - ) - (vector4-lerp! - (-> arg0 current-fog fog-dists) - (-> arg1 current-fog fog-dists) - (-> arg2 current-fog fog-dists) - arg3 - ) - (vector4-lerp! - (-> arg0 current-fog erase-color) - (-> arg1 current-fog erase-color) - (-> arg2 current-fog erase-color) - arg3 - ) - (vector4-lerp! - (-> arg0 current-prt-color) - (-> arg1 current-prt-color) - (-> arg2 current-prt-color) - arg3 - ) - (vector4-lerp! - (the-as vector (-> arg0 current-sun)) - (the-as vector (-> arg1 current-sun)) - (the-as vector (-> arg2 current-sun)) - arg3 - ) - (vector4-lerp! - (-> arg0 current-sun env-color) - (-> arg1 current-sun env-color) - (-> arg2 current-sun env-color) - arg3 - ) - (vector4-lerp! - (-> arg0 current-shadow) - (-> arg1 current-shadow) - (-> arg2 current-shadow) - arg3 - ) - (vector4-lerp! - (-> arg0 current-shadow-color) - (-> arg1 current-shadow-color) - (-> arg2 current-shadow-color) - arg3 - ) - (dotimes (s2-0 3) - (let ((s1-0 (-> arg0 light-group 0 lights s2-0))) - (let ((s0-0 (-> arg1 light-group 0 lights s2-0))) - (set! sv-16 (-> arg2 light-group 0 lights s2-0)) - (vector4-lerp! - (-> s1-0 direction) - (-> s0-0 direction) - (-> sv-16 direction) + (else + (vector4-lerp! + (the-as vector (-> arg0 current-fog)) + (the-as vector (-> arg1 current-fog)) + (the-as vector (-> arg2 current-fog)) + arg3 + ) + (vector4-lerp! + (-> arg0 current-fog fog-dists) + (-> arg1 current-fog fog-dists) + (-> arg2 current-fog fog-dists) + arg3 + ) + (vector4-lerp! + (-> arg0 current-fog erase-color) + (-> arg1 current-fog erase-color) + (-> arg2 current-fog erase-color) + arg3 + ) + (vector4-lerp! (-> arg0 current-prt-color) (-> arg1 current-prt-color) (-> arg2 current-prt-color) arg3) + (vector4-lerp! + (the-as vector (-> arg0 current-sun)) + (the-as vector (-> arg1 current-sun)) + (the-as vector (-> arg2 current-sun)) + arg3 + ) + (vector4-lerp! + (-> arg0 current-sun env-color) + (-> arg1 current-sun env-color) + (-> arg2 current-sun env-color) + arg3 + ) + (vector4-lerp! (-> arg0 current-shadow) (-> arg1 current-shadow) (-> arg2 current-shadow) arg3) + (vector4-lerp! + (-> arg0 current-shadow-color) + (-> arg1 current-shadow-color) + (-> arg2 current-shadow-color) + arg3 + ) + (dotimes (s2-0 3) + (let ((s1-0 (-> arg0 light-group 0 lights s2-0))) + (let ((s0-0 (-> arg1 light-group 0 lights s2-0))) + (set! sv-16 (-> arg2 light-group 0 lights s2-0)) + (vector4-lerp! (-> s1-0 direction) (-> s0-0 direction) (-> sv-16 direction) arg3) + (vector4-lerp! (-> s1-0 color) (-> s0-0 color) (-> sv-16 color) arg3) + (vector4-lerp! (-> s1-0 levels) (-> s0-0 levels) (-> sv-16 levels) arg3) + ) + (vector-normalize! (-> s1-0 direction) 1.0) + ) + ) + (vector4-lerp! + (-> arg0 light-group 0 ambi color) + (-> arg1 light-group 0 ambi color) + (-> arg2 light-group 0 ambi color) + arg3 + ) + (vector4-lerp! + (-> arg0 light-group 0 ambi levels) + (-> arg1 light-group 0 ambi levels) + (-> arg2 light-group 0 ambi levels) arg3 ) - (vector4-lerp! (-> s1-0 color) (-> s0-0 color) (-> sv-16 color) arg3) - (vector4-lerp! (-> s1-0 levels) (-> s0-0 levels) (-> sv-16 levels) arg3) - ) - (vector-normalize! (-> s1-0 direction) 1.0) ) - ) - (vector4-lerp! - (-> arg0 light-group 0 ambi color) - (-> arg1 light-group 0 ambi color) - (-> arg2 light-group 0 ambi color) - arg3 - ) - (vector4-lerp! - (-> arg0 light-group 0 ambi levels) - (-> arg1 light-group 0 ambi levels) - (-> arg2 light-group 0 ambi levels) - arg3 - ) ) - ) (none) ) @@ -688,272 +480,209 @@ ;; definition for function update-mood-flames ;; INFO: Return type mismatch number vs none. -(defun - update-mood-flames - ((arg0 mood-context) - (arg1 int) - (arg2 int) - (arg3 int) - (arg4 float) - (arg5 float) - (arg6 float) - ) +(defun update-mood-flames ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 int) (arg4 float) (arg5 float) (arg6 float)) (let* ((s5-0 (&-> arg0 state arg3)) (s4-0 (+ (-> s5-0 0) arg1)) (a0-1 (-> s5-0 1)) (v1-2 (-> s5-0 2)) (s0-0 (-> s5-0 3)) ) - (dotimes (a3-1 arg2) - (set! (-> arg0 times (+ arg1 a3-1) w) arg4) - ) - (cond - ((>= a0-1 v1-2) - (set! - (-> s5-0 0) - (the-as - uint - (the int (rand-vu-float-range 0.0 (+ -0.01 (the float arg2)))) + (dotimes (a3-1 arg2) + (set! (-> arg0 times (+ arg1 a3-1) w) arg4) + ) + (cond + ((>= a0-1 v1-2) + (set! (-> s5-0 0) (the-as uint (the int (rand-vu-float-range 0.0 (+ -0.01 (the float arg2)))))) + (set! (-> s5-0 1) (the-as uint 0)) + (set! (-> s5-0 2) (the-as uint (the int (* (rand-vu-float-range 7.0 15.0) arg6)))) + (set! (-> s5-0 3) (the-as uint (the int (rand-vu-float-range 0.0 255.0)))) + (set! (-> arg0 times s4-0 w) arg4) ) + (else + (let ((f0-13 (sin (* 32768.0 (/ (the float a0-1) (the float v1-2)))))) + (set! (-> arg0 times s4-0 w) (+ (* (the float s0-0) f0-13 arg5) arg4)) + ) + (if (not (paused?)) + (+! (-> s5-0 1) 1) + ) + ) ) - (set! (-> s5-0 1) (the-as uint 0)) - (set! - (-> s5-0 2) - (the-as uint (the int (* (rand-vu-float-range 7.0 15.0) arg6))) - ) - (set! (-> s5-0 3) (the-as uint (the int (rand-vu-float-range 0.0 255.0)))) - (set! (-> arg0 times s4-0 w) arg4) - ) - (else - (let ((f0-13 (sin (* 32768.0 (/ (the float a0-1) (the float v1-2)))))) - (set! (-> arg0 times s4-0 w) (+ (* (the float s0-0) f0-13 arg5) arg4)) - ) - (if (not (paused?)) - (+! (-> s5-0 1) 1) - ) - ) ) - ) (none) ) ;; definition for symbol *flash0*, type (array float) -(define - *flash0* - (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 13 :allocated-length 13 - 1.0 - 0.0 - 0.5 - 1.0 - 0.5 - 0.0 - 0.5 - 0.35 - 0.4 - 0.35 - 0.25 - 0.1 - 0.04 - ) - ) - ) +(define *flash0* (the-as (array float) (new + 'static + 'boxed-array + :type float :length 13 :allocated-length 13 + 1.0 + 0.0 + 0.5 + 1.0 + 0.5 + 0.0 + 0.5 + 0.35 + 0.4 + 0.35 + 0.25 + 0.1 + 0.04 + ) + ) + ) ;; definition for symbol *flash1*, type (array float) (define *flash1* (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 9 :allocated-length 9 - 1.0 - 0.8 - 0.0 - 1.0 - 0.5 - 1.0 - 0.4 - 0.2 - 0.1 + (new 'static 'boxed-array :type float :length 9 :allocated-length 9 1.0 0.8 0.0 1.0 0.5 1.0 0.4 0.2 0.1) ) - ) ) ;; definition for symbol *flash2*, type (array float) (define *flash2* (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 1.0 - 0.9 - 0.8 - 0.7 - 0.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.5 + (new 'static 'boxed-array :type float :length 10 :allocated-length 10 1.0 0.9 0.8 0.7 0.0 0.0 1.0 0.0 1.0 0.5) ) - ) ) ;; definition for symbol *flash3*, type (array float) -(define - *flash3* - (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 13 :allocated-length 13 - 0.5 - 0.0 - 1.0 - 0.9 - 1.0 - 0.8 - 0.3 - 0.0 - 0.0 - 0.5 - 0.1 - 0.5 - 0.35 - ) - ) - ) +(define *flash3* (the-as (array float) (new + 'static + 'boxed-array + :type float :length 13 :allocated-length 13 + 0.5 + 0.0 + 1.0 + 0.9 + 1.0 + 0.8 + 0.3 + 0.0 + 0.0 + 0.5 + 0.1 + 0.5 + 0.35 + ) + ) + ) ;; definition for symbol *flash4*, type (array float) -(define - *flash4* - (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 1.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.9 - 0.8 - 0.7 - 0.6 - 0.5 - 0.4 - 0.3 - 0.2 - 0.5 - 0.4 - 0.3 - 0.2 - 0.1 - ) - ) - ) +(define *flash4* (the-as (array float) (new + 'static + 'boxed-array + :type float :length 18 :allocated-length 18 + 1.0 + 0.0 + 1.0 + 0.0 + 1.0 + 0.9 + 0.8 + 0.7 + 0.6 + 0.5 + 0.4 + 0.3 + 0.2 + 0.5 + 0.4 + 0.3 + 0.2 + 0.1 + ) + ) + ) ;; definition for symbol *flash5*, type (array float) -(define - *flash5* - (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 31 :allocated-length 31 - 1.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.95 - 0.9 - 0.85 - 0.8 - 0.75 - 0.7 - 0.65 - 0.6 - 0.55 - 0.5 - 0.45 - 0.4 - 0.35 - 0.3 - 0.25 - 0.2 - 0.5 - 0.45 - 0.4 - 0.35 - 0.3 - 0.25 - 0.2 - 0.15 - 0.1 - 0.05 - ) - ) - ) +(define *flash5* (the-as (array float) (new + 'static + 'boxed-array + :type float :length 31 :allocated-length 31 + 1.0 + 0.0 + 1.0 + 0.0 + 1.0 + 0.95 + 0.9 + 0.85 + 0.8 + 0.75 + 0.7 + 0.65 + 0.6 + 0.55 + 0.5 + 0.45 + 0.4 + 0.35 + 0.3 + 0.25 + 0.2 + 0.5 + 0.45 + 0.4 + 0.35 + 0.3 + 0.25 + 0.2 + 0.15 + 0.1 + 0.05 + ) + ) + ) ;; definition for symbol *flash6*, type (array float) -(define - *flash6* - (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 14 :allocated-length 14 - 1.0 - 0.0 - 1.0 - 0.0 - 0.5 - 0.0 - 0.5 - 0.35 - 0.0 - 0.0 - 1.0 - 0.0 - 0.2 - 0.1 - ) - ) - ) +(define *flash6* (the-as (array float) (new + 'static + 'boxed-array + :type float :length 14 :allocated-length 14 + 1.0 + 0.0 + 1.0 + 0.0 + 0.5 + 0.0 + 0.5 + 0.35 + 0.0 + 0.0 + 1.0 + 0.0 + 0.2 + 0.1 + ) + ) + ) ;; definition for symbol *flash7*, type (array float) -(define - *flash7* - (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 14 :allocated-length 14 - 1.0 - 0.8 - 0.3 - 0.0 - 0.6 - 0.5 - 0.4 - 0.3 - 0.2 - 0.5 - 0.4 - 0.3 - 0.2 - 0.1 - ) - ) - ) +(define *flash7* (the-as (array float) (new + 'static + 'boxed-array + :type float :length 14 :allocated-length 14 + 1.0 + 0.8 + 0.3 + 0.0 + 0.6 + 0.5 + 0.4 + 0.3 + 0.2 + 0.5 + 0.4 + 0.3 + 0.2 + 0.1 + ) + ) + ) ;; definition for symbol *lightning-index*, type int (define *lightning-index* 0) @@ -1005,216 +734,183 @@ ;; definition for function update-mood-lightning ;; INFO: Return type mismatch symbol vs none. ;; Used lq/sq -(defun - update-mood-lightning - ((arg0 mood-context) - (arg1 int) - (arg2 int) - (arg3 int) - (arg4 int) - (arg5 float) - (arg6 symbol) - ) +(defun update-mood-lightning ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 int) (arg4 int) (arg5 float) (arg6 symbol)) (local-vars (a3-2 (array float))) (with-pp - (set! (-> arg0 light-group 0 dir2 levels x) 0.0) - (let* ((s4-0 (&-> arg0 state arg3)) - (a1-1 (+ *lightning-index* arg1)) - (v1-3 (+ *lightning-index* arg4)) - (a3-1 (-> s4-0 0)) - (a2-2 (/ *lightning-time* 2)) - ) - (cond - ((zero? *lightning-time2*) - (cond - ((zero? a3-1) - (set! a3-2 *flash0*) - ) - ((= a3-1 1) - (set! a3-2 *flash1*) - ) - ((= a3-1 2) - (set! a3-2 *flash2*) - ) - ((= a3-1 3) - (set! a3-2 *flash3*) - ) - ((= a3-1 4) - (set! a3-2 *flash4*) - ) - ((= a3-1 5) - (set! a3-2 *flash5*) - ) - ((= a3-1 6) - (set! a3-2 *flash6*) - ) - (else - (set! a3-2 *flash7*) - ) - ) - (cond - ((< a2-2 (-> a3-2 length)) - (let ((f0-1 (-> a3-2 a2-2))) - (set! (-> arg0 sky-times a1-1) f0-1) - (when (not arg6) - (set! (-> arg0 times v1-3 w) f0-1) - (when (not *lightning-realtime-done*) - (let* ((a1-11 (-> arg0 mood-lights-table data v1-3)) - (v1-6 (-> arg0 light-group 0 dir2)) - (f1-4 - (* - (+ - (* 2.0 (-> a1-11 lgt-color x)) - (* 4.0 (-> a1-11 lgt-color y)) - (-> a1-11 lgt-color z) - ) - f0-1 - ) - ) - ) - (set! (-> v1-6 direction quad) (-> a1-11 direction quad)) - (set! (-> v1-6 color quad) (-> a1-11 lgt-color quad)) - (set! (-> v1-6 levels x) f0-1) - (set! (-> v1-6 levels y) f1-4) - ) - (set! *lightning-realtime-done* #t) + (set! (-> arg0 light-group 0 dir2 levels x) 0.0) + (let* ((s4-0 (&-> arg0 state arg3)) + (a1-1 (+ *lightning-index* arg1)) + (v1-3 (+ *lightning-index* arg4)) + (a3-1 (-> s4-0 0)) + (a2-2 (/ *lightning-time* 2)) ) - ) - ) - (if (not (or (paused?) *lightning-frame-done*)) - (set! *lightning-time* (+ *lightning-time* 1)) - ) - ) - (arg6 - (set! *lightning-time2* (the int (rand-vu-float-range 360.0 960.0))) - ) - (else - (set! *lightning-time2* (the int (rand-vu-float-range 180.0 480.0))) - ) - ) - ) - (else - (when (not (or (paused?) *lightning-frame-done*)) - (set! *lightning-time2* (+ *lightning-time2* -1)) - (when (zero? *lightning-time2*) - (set! *lightning-index* (mod (+ *lightning-index* 1) arg2)) - (set! (-> s4-0 0) (logand (rand-uint31-gen *random-generator*) 7)) - (set! *lightning-time* 0) - (let ((v1-24 *thunder-count*)) + (cond + ((zero? *lightning-time2*) (cond - ((zero? v1-24) - (set! *thunder-id* *thunder-id0*) - (set! *thunder-count* 1) + ((zero? a3-1) + (set! a3-2 *flash0*) + ) + ((= a3-1 1) + (set! a3-2 *flash1*) + ) + ((= a3-1 2) + (set! a3-2 *flash2*) + ) + ((= a3-1 3) + (set! a3-2 *flash3*) + ) + ((= a3-1 4) + (set! a3-2 *flash4*) + ) + ((= a3-1 5) + (set! a3-2 *flash5*) + ) + ((= a3-1 6) + (set! a3-2 *flash6*) + ) + (else + (set! a3-2 *flash7*) + ) ) - ((= v1-24 1) - (set! *thunder-id* *thunder-id1*) - (set! *thunder-count* 2) + (cond + ((< a2-2 (-> a3-2 length)) + (let ((f0-1 (-> a3-2 a2-2))) + (set! (-> arg0 sky-times a1-1) f0-1) + (when (not arg6) + (set! (-> arg0 times v1-3 w) f0-1) + (when (not *lightning-realtime-done*) + (let* ((a1-11 (-> arg0 mood-lights-table data v1-3)) + (v1-6 (-> arg0 light-group 0 dir2)) + (f1-4 (* (+ (* 2.0 (-> a1-11 lgt-color x)) (* 4.0 (-> a1-11 lgt-color y)) (-> a1-11 lgt-color z)) f0-1)) + ) + (set! (-> v1-6 direction quad) (-> a1-11 direction quad)) + (set! (-> v1-6 color quad) (-> a1-11 lgt-color quad)) + (set! (-> v1-6 levels x) f0-1) + (set! (-> v1-6 levels y) f1-4) + ) + (set! *lightning-realtime-done* #t) + ) + ) + ) + (if (not (or (paused?) *lightning-frame-done*)) + (set! *lightning-time* (+ *lightning-time* 1)) + ) + ) + (arg6 + (set! *lightning-time2* (the int (rand-vu-float-range 360.0 960.0))) + ) + (else + (set! *lightning-time2* (the int (rand-vu-float-range 180.0 480.0))) + ) ) - (else - (set! *thunder-id* *thunder-id2*) - (set! *thunder-count* 0) - 0 - ) - ) ) - (when (>= (-> *math-camera* trans y) -81920.0) - (if arg6 - (sound-play-by-name - (static-sound-name "thunder") - *thunder-id* - (the int (* 10.24 (rand-vu-float-range 25.0 75.0))) - (the int (* 1524.0 (rand-vu-float-range -1.0 1.0))) - 0 - 1 - #t - ) - (sound-play-by-name - (static-sound-name "thunder") - *thunder-id* - (the int (* 10.24 (rand-vu-float-range 200.0 400.0))) - (the int (* 1524.0 (rand-vu-float-range -1.0 1.0))) - 0 - 1 - #t - ) + (else + (when (not (or (paused?) *lightning-frame-done*)) + (set! *lightning-time2* (+ *lightning-time2* -1)) + (when (zero? *lightning-time2*) + (set! *lightning-index* (mod (+ *lightning-index* 1) arg2)) + (set! (-> s4-0 0) (logand (rand-uint31-gen *random-generator*) 7)) + (set! *lightning-time* 0) + (let ((v1-24 *thunder-count*)) + (cond + ((zero? v1-24) + (set! *thunder-id* *thunder-id0*) + (set! *thunder-count* 1) + ) + ((= v1-24 1) + (set! *thunder-id* *thunder-id1*) + (set! *thunder-count* 2) + ) + (else + (set! *thunder-id* *thunder-id2*) + (set! *thunder-count* 0) + 0 + ) + ) + ) + (when (>= (-> *math-camera* trans y) -81920.0) + (if arg6 + (sound-play-by-name + (static-sound-name "thunder") + *thunder-id* + (the int (* 10.24 (rand-vu-float-range 25.0 75.0))) + (the int (* 1524.0 (rand-vu-float-range -1.0 1.0))) + 0 + 1 + #t + ) + (sound-play-by-name + (static-sound-name "thunder") + *thunder-id* + (the int (* 10.24 (rand-vu-float-range 200.0 400.0))) + (the int (* 1524.0 (rand-vu-float-range -1.0 1.0))) + 0 + 1 + #t + ) + ) + ) + ) + ) ) - ) ) - ) ) - ) + (when (not *lightning-frame-done*) + (let ((gp-3 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) + (set! (-> gp-3 command) (sound-command set-param)) + (set! (-> gp-3 id) *thunder-id0*) + (let ((a1-23 (camera-pos))) + (let ((s5-3 pp)) + (when (= a1-23 #t) + (if (and s5-3 (type-type? (-> s5-3 type) process-drawable) (nonzero? (-> (the-as process-drawable s5-3) root))) + (set! a1-23 (-> (the-as process-drawable s5-3) root trans)) + (set! a1-23 (the-as vector #f)) + ) + ) + ) + (sound-trans-convert (-> gp-3 parms trans) a1-23) + ) + (set! (-> gp-3 parms mask) (the-as uint 32)) + (-> gp-3 id) + ) + (let ((gp-4 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) + (set! (-> gp-4 command) (sound-command set-param)) + (set! (-> gp-4 id) *thunder-id1*) + (let ((a1-25 (camera-pos))) + (let ((s5-4 pp)) + (when (= a1-25 #t) + (if (and s5-4 (type-type? (-> s5-4 type) process-drawable) (nonzero? (-> (the-as process-drawable s5-4) root))) + (set! a1-25 (-> (the-as process-drawable s5-4) root trans)) + (set! a1-25 (the-as vector #f)) + ) + ) + ) + (sound-trans-convert (-> gp-4 parms trans) a1-25) + ) + (set! (-> gp-4 parms mask) (the-as uint 32)) + (-> gp-4 id) + ) + (let ((gp-5 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) + (set! (-> gp-5 command) (sound-command set-param)) + (set! (-> gp-5 id) *thunder-id2*) + (let ((a1-27 (camera-pos))) + (let ((s5-5 pp)) + (when (= a1-27 #t) + (if (and s5-5 (type-type? (-> s5-5 type) process-drawable) (nonzero? (-> (the-as process-drawable s5-5) root))) + (set! a1-27 (-> (the-as process-drawable s5-5) root trans)) + (set! a1-27 (the-as vector #f)) + ) + ) + ) + (sound-trans-convert (-> gp-5 parms trans) a1-27) + ) + (set! (-> gp-5 parms mask) (the-as uint 32)) + (-> gp-5 id) + ) + ) + (set! *lightning-frame-done* #t) + (none) ) - (when (not *lightning-frame-done*) - (let ((gp-3 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) - (set! (-> gp-3 command) (sound-command set-param)) - (set! (-> gp-3 id) *thunder-id0*) - (let ((a1-23 (camera-pos))) - (let ((s5-3 pp)) - (when (= a1-23 #t) - (if - (and - s5-3 - (type-type? (-> s5-3 type) process-drawable) - (nonzero? (-> (the-as process-drawable s5-3) root)) - ) - (set! a1-23 (-> (the-as process-drawable s5-3) root trans)) - (set! a1-23 (the-as vector #f)) - ) - ) - ) - (sound-trans-convert (-> gp-3 parms trans) a1-23) - ) - (set! (-> gp-3 parms mask) (the-as uint 32)) - (-> gp-3 id) - ) - (let ((gp-4 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) - (set! (-> gp-4 command) (sound-command set-param)) - (set! (-> gp-4 id) *thunder-id1*) - (let ((a1-25 (camera-pos))) - (let ((s5-4 pp)) - (when (= a1-25 #t) - (if - (and - s5-4 - (type-type? (-> s5-4 type) process-drawable) - (nonzero? (-> (the-as process-drawable s5-4) root)) - ) - (set! a1-25 (-> (the-as process-drawable s5-4) root trans)) - (set! a1-25 (the-as vector #f)) - ) - ) - ) - (sound-trans-convert (-> gp-4 parms trans) a1-25) - ) - (set! (-> gp-4 parms mask) (the-as uint 32)) - (-> gp-4 id) - ) - (let ((gp-5 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) - (set! (-> gp-5 command) (sound-command set-param)) - (set! (-> gp-5 id) *thunder-id2*) - (let ((a1-27 (camera-pos))) - (let ((s5-5 pp)) - (when (= a1-27 #t) - (if - (and - s5-5 - (type-type? (-> s5-5 type) process-drawable) - (nonzero? (-> (the-as process-drawable s5-5) root)) - ) - (set! a1-27 (-> (the-as process-drawable s5-5) root trans)) - (set! a1-27 (the-as vector #f)) - ) - ) - ) - (sound-trans-convert (-> gp-5 parms trans) a1-27) - ) - (set! (-> gp-5 parms mask) (the-as uint 32)) - (-> gp-5 id) - ) - ) - (set! *lightning-frame-done* #t) - (none) - ) ) ;; definition of type light-time-state @@ -1253,60 +949,50 @@ ;; definition for function update-mood-light ;; INFO: Return type mismatch number vs none. -(defun - update-mood-light - ((arg0 mood-context) - (arg1 int) - (arg2 int) - (arg3 int) - (arg4 float) - (arg5 float) - (arg6 float) - (arg7 int) - ) +(defun update-mood-light ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 int) (arg4 float) (arg5 float) (arg6 float) (arg7 int)) (let* ((gp-0 (&-> arg0 state arg2)) (f0-1 (the float (* (logand (+ (-> arg0 state arg3) arg7) 255) 512))) (f0-4 (+ arg4 (* (cos f0-1) arg5))) (f30-1 (* 0.003921569 (the float (-> gp-0 0)))) ) - (cond - ((or (< 19.0 arg6) (< arg6 7.0)) - (cond - ((and (= f30-1 0.0) (= f0-4 (- arg4 arg5))) - (set! (-> arg0 times arg1 w) f0-4) - (set! (-> gp-0 0) (the-as uint 255)) + (cond + ((or (< 19.0 arg6) (< arg6 7.0)) + (cond + ((and (= f30-1 0.0) (= f0-4 (- arg4 arg5))) + (set! (-> arg0 times arg1 w) f0-4) + (set! (-> gp-0 0) (the-as uint 255)) + ) + ((= f30-1 1.0) + (set! (-> arg0 times arg1 w) f0-4) + ) + ) ) ((= f30-1 1.0) - (set! (-> arg0 times arg1 w) f0-4) + (cond + ((= f0-4 (+ arg4 arg5)) + (set! (-> arg0 times arg1 w) f0-4) + (set! (-> gp-0 0) (the-as uint 254)) + ) + (else + (set! (-> arg0 times arg1 w) f0-4) + ) + ) ) - ) - ) - ((= f30-1 1.0) - (cond - ((= f0-4 (+ arg4 arg5)) - (set! (-> arg0 times arg1 w) f0-4) - (set! (-> gp-0 0) (the-as uint 254)) + ((and (!= f30-1 1.0) (!= f30-1 0.0)) + (set! (-> arg0 times arg1 w) f30-1) + (when (not (paused?)) + (if (< 0.75 f30-1) + (+! (-> gp-0 0) -3) + (+! (-> gp-0 0) -1) + ) + ) ) (else - (set! (-> arg0 times arg1 w) f0-4) - ) + (set! (-> arg0 state arg3) (the-as uint 0)) + 0 + ) ) - ) - ((and (!= f30-1 1.0) (!= f30-1 0.0)) - (set! (-> arg0 times arg1 w) f30-1) - (when (not (paused?)) - (if (< 0.75 f30-1) - (+! (-> gp-0 0) -3) - (+! (-> gp-0 0) -1) - ) - ) - ) - (else - (set! (-> arg0 state arg3) (the-as uint 0)) - 0 - ) ) - ) (none) ) @@ -1341,48 +1027,37 @@ (s1-0 (-> s4-0 16)) (s2-0 (-> s4-0 17)) ) - (when (not (paused?)) - (set! (-> s4-0 16) (+ s1-0 4)) - (set! *lava-time* (+ *lava-time* (rand-vu-float-range 64.0 2048.0))) - ) - (let ((s0-0 (-> arg0 light-group 0 dir2)) - (f0-4 (+ 0.875 (* 0.125 (sin *lava-time*)))) - ) - (set-vector! (-> s0-0 direction) 0.0 -1.0 0.0 0.0) - (set-vector! (-> s0-0 color) 1.0 0.364 0.0 1.0) - (set! (-> s0-0 levels x) f0-4) - ) - (let ((s0-1 (shr s1-0 6)) - (f30-2 (* 0.015625 (the float (logand s1-0 63)))) - ) - (when (!= s0-1 s2-0) - (set! - (-> (the-as (pointer float) (+ (* s0-1 4) (the-as uint s4-0)))) - (the float (the int (rand-vu-float-range 128.0 255.0))) + (when (not (paused?)) + (set! (-> s4-0 16) (+ s1-0 4)) + (set! *lava-time* (+ *lava-time* (rand-vu-float-range 64.0 2048.0))) ) - (set! (-> s4-0 17) s0-1) - ) - (when arg3 - (let* ((v1-14 (logand (+ s0-1 -1) 3)) - (f1-11 - (* - 0.0078125 - (-> (the-as (pointer float) (+ (* s0-1 4) (the-as uint s4-0)))) - ) - ) - (f0-11 - (* - 0.0078125 - (-> (the-as (pointer float) (+ (* v1-14 4) (the-as uint s4-0)))) - ) - ) - ) - (set! (-> arg0 times (+ arg1 s0-1) w) (* f30-2 f1-11)) - (set! (-> arg0 times (+ arg1 v1-14) w) (* (- 1.0 f30-2) f0-11)) + (let ((s0-0 (-> arg0 light-group 0 dir2)) + (f0-4 (+ 0.875 (* 0.125 (sin *lava-time*)))) + ) + (set-vector! (-> s0-0 direction) 0.0 -1.0 0.0 0.0) + (set-vector! (-> s0-0 color) 1.0 0.364 0.0 1.0) + (set! (-> s0-0 levels x) f0-4) + ) + (let ((s0-1 (shr s1-0 6)) + (f30-2 (* 0.015625 (the float (logand s1-0 63)))) + ) + (when (!= s0-1 s2-0) + (set! (-> (the-as (pointer float) (+ (* s0-1 4) (the-as uint s4-0)))) + (the float (the int (rand-vu-float-range 128.0 255.0))) + ) + (set! (-> s4-0 17) s0-1) + ) + (when arg3 + (let* ((v1-14 (logand (+ s0-1 -1) 3)) + (f1-11 (* 0.0078125 (-> (the-as (pointer float) (+ (* s0-1 4) (the-as uint s4-0)))))) + (f0-11 (* 0.0078125 (-> (the-as (pointer float) (+ (* v1-14 4) (the-as uint s4-0)))))) + ) + (set! (-> arg0 times (+ arg1 s0-1) w) (* f30-2 f1-11)) + (set! (-> arg0 times (+ arg1 v1-14) w) (* (- 1.0 f30-2) f0-11)) + ) + ) ) - ) ) - ) (none) ) @@ -1392,12 +1067,12 @@ (v1-2 (logand (shr a2-1 3) 3)) (f0-1 (* 0.125 (the float (logand a2-1 7)))) ) - (let ((a2-4 (logand (+ v1-2 -1) 3))) - (set! (-> arg0 times (+ arg1 a2-4) w) (- 1.0 f0-1)) + (let ((a2-4 (logand (+ v1-2 -1) 3))) + (set! (-> arg0 times (+ arg1 a2-4) w) (- 1.0 f0-1)) + ) + (set! (-> arg0 times (+ arg1 v1-2) w) f0-1) + f0-1 ) - (set! (-> arg0 times (+ arg1 v1-2) w) f0-1) - f0-1 - ) ) ;; definition for function update-mood-default @@ -1444,43 +1119,42 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 (the-as int arg2)) (when *time-of-day-effects* - (update-mood-flames arg0 2 4 0 0.333 0.001953125 1.0) - (let* ((s4-1 (get-task-control (game-task misty-warehouse))) - (s3-0 (target-pos 0)) - (a1-5 (new 'static 'vector :x -808960.0 :y 110592.0 :z 3928064.0)) - (f30-0 (vector-vector-xz-distance s3-0 a1-5)) - (s5-1 (get-reminder s4-1 0)) + (update-mood-flames arg0 2 4 0 0.333 0.001953125 1.0) + (let* ((s4-1 (get-task-control (game-task misty-warehouse))) + (s3-0 (target-pos 0)) + (a1-5 (new 'static 'vector :x -808960.0 :y 110592.0 :z 3928064.0)) + (f30-0 (vector-vector-xz-distance s3-0 a1-5)) + (s5-1 (get-reminder s4-1 0)) + ) + (cond + ((or (logtest? s5-1 3) (and (< f30-0 180224.0) (< (-> s3-0 y) 118784.0))) + (when (or (logtest? s5-1 1) (and (< f30-0 180224.0) (< (-> s3-0 y) 118784.0))) + (update-mood-light arg0 6 4 6 0.875 0.25 20.0 32) + (save-reminder s4-1 (logior s5-1 1) 0) + (if (not (paused?)) + (+! (-> arg0 state 6) 1) + ) + ) + (when (logtest? s5-1 2) + (update-mood-light arg0 7 5 7 0.875 0.25 20.0 32) + (if (not (paused?)) + (+! (-> arg0 state 7) 1) + ) + ) + ) + (else + (set! (-> arg0 state 6) (the-as uint 0)) + (set! (-> arg0 state 7) (the-as uint 0)) + (set! (-> arg0 state 4) (the-as uint 255)) + (set! (-> arg0 state 5) (the-as uint 255)) ) - (cond - ((or (logtest? s5-1 3) (and (< f30-0 180224.0) (< (-> s3-0 y) 118784.0))) - (when - (or (logtest? s5-1 1) (and (< f30-0 180224.0) (< (-> s3-0 y) 118784.0))) - (update-mood-light arg0 6 4 6 0.875 0.25 20.0 32) - (save-reminder s4-1 (logior s5-1 1) 0) - (if (not (paused?)) - (+! (-> arg0 state 6) 1) ) - ) - (when (logtest? s5-1 2) - (update-mood-light arg0 7 5 7 0.875 0.25 20.0 32) - (if (not (paused?)) - (+! (-> arg0 state 7) 1) - ) - ) ) - (else - (set! (-> arg0 state 6) (the-as uint 0)) - (set! (-> arg0 state 7) (the-as uint 0)) - (set! (-> arg0 state 4) (the-as uint 255)) - (set! (-> arg0 state 5) (the-as uint 255)) - ) - ) ) - ) (let ((s5-2 (-> arg0 light-group 1))) - (update-light-kit s5-2 (-> arg0 light-group 0 ambi) 0.6) - (set! (-> s5-2 dir0 levels x) (+ 1.0 (* 0.333 (-> arg0 times 2 w)))) - ) + (update-light-kit s5-2 (-> arg0 light-group 0 ambi) 0.6) + (set! (-> s5-2 dir0 levels x) (+ 1.0 (* 0.333 (-> arg0 times 2 w)))) + ) (update-mood-itimes arg0) 0 (none) @@ -1513,115 +1187,106 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 arg2) (when *time-of-day-effects* - (update-mood-flames arg0 4 4 0 0.333 0.001953125 1.0) - (update-mood-lightning arg0 2 2 4 2 0.5 #f) - ) - (let ((a0-7 (-> arg0 light-group 1))) - (update-light-kit a0-7 (-> arg0 light-group 0 ambi) 0.9) - ) - (let ((s5-1 (-> arg0 light-group 2))) - (update-light-kit s5-1 (-> arg0 light-group 0 ambi) 1.0) - (set! - (-> s5-1 dir2 direction quad) - (-> arg0 light-group 0 dir2 direction quad) + (update-mood-flames arg0 4 4 0 0.333 0.001953125 1.0) + (update-mood-lightning arg0 2 2 4 2 0.5 #f) + ) + (let ((a0-7 (-> arg0 light-group 1))) + (update-light-kit a0-7 (-> arg0 light-group 0 ambi) 0.9) + ) + (let ((s5-1 (-> arg0 light-group 2))) + (update-light-kit s5-1 (-> arg0 light-group 0 ambi) 1.0) + (set! (-> s5-1 dir2 direction quad) (-> arg0 light-group 0 dir2 direction quad)) + (set! (-> s5-1 dir2 color quad) (-> arg0 light-group 0 dir2 color quad)) + (set! (-> s5-1 dir2 levels x) (-> arg0 light-group 0 dir2 levels x)) ) - (set! (-> s5-1 dir2 color quad) (-> arg0 light-group 0 dir2 color quad)) - (set! (-> s5-1 dir2 levels x) (-> arg0 light-group 0 dir2 levels x)) - ) (let ((s5-2 (-> arg0 light-group 3))) - (update-light-kit s5-2 (-> arg0 light-group 0 ambi) 1.0) - (set! (-> s5-2 dir0 levels x) (+ 0.666 (* 0.333 (-> arg0 times 4 w)))) - ) + (update-light-kit s5-2 (-> arg0 light-group 0 ambi) 1.0) + (set! (-> s5-2 dir0 levels x) (+ 0.666 (* 0.333 (-> arg0 times 4 w)))) + ) (let ((s5-3 (-> arg0 light-group 4))) - (update-light-kit s5-3 (-> arg0 light-group 0 ambi) 1.0) - (set! (-> s5-3 dir0 levels x) (+ 0.666 (* 0.333 (-> arg0 times 4 w)))) - ) + (update-light-kit s5-3 (-> arg0 light-group 0 ambi) 1.0) + (set! (-> s5-3 dir0 levels x) (+ 0.666 (* 0.333 (-> arg0 times 4 w)))) + ) (let ((s5-4 (-> arg0 light-group 5))) - (update-light-kit s5-4 (-> arg0 light-group 0 ambi) 0.5) - (set! (-> s5-4 ambi color x) (+ 0.25 (-> s5-4 ambi color x))) - (set! (-> s5-4 dir0 levels x) 1.0) - ) + (update-light-kit s5-4 (-> arg0 light-group 0 ambi) 0.5) + (set! (-> s5-4 ambi color x) (+ 0.25 (-> s5-4 ambi color x))) + (set! (-> s5-4 dir0 levels x) 1.0) + ) (let ((s5-5 (-> arg0 light-group 6)) (s4-1 (new 'stack-no-clear 'vector)) (s3-0 (target-joint-pos)) ) - (update-light-kit s5-5 (-> arg0 light-group 0 ambi) 1.0) - (set-vector! s4-1 1212416.0 110592.0 -6680576.0 0.0) - (vector-! s4-1 s4-1 s3-0) - (vector-normalize! s4-1 1.0) - (set! (-> s5-5 dir0 direction quad) (-> s4-1 quad)) - (set! (-> s5-5 dir0 levels x) (+ 0.666 (* 0.333 (-> arg0 times 4 w)))) - (set-vector! s4-1 1384448.0 (-> s3-0 y) -6688768.0 0.0) - (let ((f30-0 (vector-vector-distance s4-1 s3-0))) + (update-light-kit s5-5 (-> arg0 light-group 0 ambi) 1.0) + (set-vector! s4-1 1212416.0 110592.0 -6680576.0 0.0) (vector-! s4-1 s4-1 s3-0) (vector-normalize! s4-1 1.0) - (set! (-> s5-5 dir1 direction quad) (-> s4-1 quad)) - (when (< f30-0 180224.0) - (new 'stack-no-clear 'vector) - (let ((f2-3 (* 0.0000110973015 (+ -90112.0 f30-0)))) - (set! (-> s5-5 dir1 levels x) (- 1.0 (fmax 0.0 (fmin 1.0 f2-3)))) + (set! (-> s5-5 dir0 direction quad) (-> s4-1 quad)) + (set! (-> s5-5 dir0 levels x) (+ 0.666 (* 0.333 (-> arg0 times 4 w)))) + (set-vector! s4-1 1384448.0 (-> s3-0 y) -6688768.0 0.0) + (let ((f30-0 (vector-vector-distance s4-1 s3-0))) + (vector-! s4-1 s4-1 s3-0) + (vector-normalize! s4-1 1.0) + (set! (-> s5-5 dir1 direction quad) (-> s4-1 quad)) + (when (< f30-0 180224.0) + (new 'stack-no-clear 'vector) + (let ((f2-3 (* 0.0000110973015 (+ -90112.0 f30-0)))) + (set! (-> s5-5 dir1 levels x) (- 1.0 (fmax 0.0 (fmin 1.0 f2-3)))) + ) + ) ) - ) - ) - (set-vector! s4-1 1212416.0 (-> s3-0 y) -6680576.0 0.0) - (let ((f0-26 (vector-vector-distance s4-1 s3-0))) - (when (< f0-26 61440.0) - (let ((a2-10 (new 'stack-no-clear 'vector)) - (f0-27 (* 0.000016276043 f0-26)) - ) - (set-vector! a2-10 1.0 0.5 0.0 1.0) - (let ((f0-31 (* 0.5 (- 1.0 (fmax 0.0 (fmin 1.0 f0-27)))))) - (vector+float*! (-> s5-5 ambi color) (-> s5-5 ambi color) a2-10 f0-31) - ) + (set-vector! s4-1 1212416.0 (-> s3-0 y) -6680576.0 0.0) + (let ((f0-26 (vector-vector-distance s4-1 s3-0))) + (when (< f0-26 61440.0) + (let ((a2-10 (new 'stack-no-clear 'vector)) + (f0-27 (* 0.000016276043 f0-26)) + ) + (set-vector! a2-10 1.0 0.5 0.0 1.0) + (let ((f0-31 (* 0.5 (- 1.0 (fmax 0.0 (fmin 1.0 f0-27)))))) + (vector+float*! (-> s5-5 ambi color) (-> s5-5 ambi color) a2-10 f0-31) + ) + ) + ) ) - ) ) - ) (let ((s5-6 (new 'stack-no-clear 'vector)) (s4-2 (target-joint-pos)) ) - 0.0 - (set-vector! s5-6 1570816.0 98304.0 -6322176.0 1.0) - (let ((f0-37 (vector-vector-distance s5-6 s4-2))) - (when (< f0-37 49152.0) - (let ((f30-1 (* 0.000061035156 (+ -32768.0 f0-37)))) - (cond - ((movie?) - (set-target-light-index 1) - (set! (-> *time-of-day-context* target-interp) 1.0) + 0.0 + (set-vector! s5-6 1570816.0 98304.0 -6322176.0 1.0) + (let ((f0-37 (vector-vector-distance s5-6 s4-2))) + (when (< f0-37 49152.0) + (let ((f30-1 (* 0.000061035156 (+ -32768.0 f0-37)))) + (cond + ((movie?) + (set-target-light-index 1) + (set! (-> *time-of-day-context* target-interp) 1.0) + ) + (else + (set-target-light-index 1) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-1)))) + ) + ) + ) ) - (else - (set-target-light-index 1) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-1))) - ) - ) - ) ) - ) - ) - (set-vector! s5-6 1169408.0 61440.0 -6676480.0 1.0) - (let ((f0-46 (vector-vector-distance s5-6 s4-2))) - (when (< f0-46 167936.0) - (let ((f30-2 (* 0.000024414063 (+ -126976.0 f0-46)))) - (cond - ((movie?) - (set-target-light-index 6) - (set! (-> *time-of-day-context* target-interp) 1.0) + (set-vector! s5-6 1169408.0 61440.0 -6676480.0 1.0) + (let ((f0-46 (vector-vector-distance s5-6 s4-2))) + (when (< f0-46 167936.0) + (let ((f30-2 (* 0.000024414063 (+ -126976.0 f0-46)))) + (cond + ((movie?) + (set-target-light-index 6) + (set! (-> *time-of-day-context* target-interp) 1.0) + ) + (else + (set-target-light-index 6) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-2)))) + ) + ) + ) ) - (else - (set-target-light-index 6) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-2))) - ) - ) - ) ) - ) ) - ) (update-mood-itimes arg0) 0 (none) @@ -1635,28 +1300,20 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 arg2) (when *time-of-day-effects* - (update-mood-flames arg0 4 4 0 0.333 0.001953125 1.0) - (update-mood-lightning arg0 2 2 4 2 0.5 #f) - ) + (update-mood-flames arg0 4 4 0 0.333 0.001953125 1.0) + (update-mood-lightning arg0 2 2 4 2 0.5 #f) + ) (let ((f30-0 (fmax 0.0 (-> *math-camera* camera-rot vector 1 z)))) - (let ((a2-4 (new 'stack-no-clear 'vector))) - (set-vector! a2-4 0.0 32.0 48.0 128.0) - (vector4-lerp! - (the-as vector (-> arg0 current-fog)) - (the-as vector (-> arg0 current-fog)) - a2-4 - (* 0.5 f30-0) - ) + (let ((a2-4 (new 'stack-no-clear 'vector))) + (set-vector! a2-4 0.0 32.0 48.0 128.0) + (vector4-lerp! (the-as vector (-> arg0 current-fog)) (the-as vector (-> arg0 current-fog)) a2-4 (* 0.5 f30-0)) + ) + (let ((f0-7 (-> arg0 current-fog fog-dists w)) + (f1-1 255.0) + ) + (set! (-> arg0 current-fog fog-dists w) (+ f0-7 (* 0.666 f30-0 (- f1-1 f0-7)))) + ) ) - (let ((f0-7 (-> arg0 current-fog fog-dists w)) - (f1-1 255.0) - ) - (set! - (-> arg0 current-fog fog-dists w) - (+ f0-7 (* 0.666 f30-0 (- f1-1 f0-7))) - ) - ) - ) (update-mood-itimes arg0) 0 (none) @@ -1686,8 +1343,8 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 arg2) (if *time-of-day-effects* - (update-mood-flames arg0 5 1 0 0.5 0.001953125 1.0) - ) + (update-mood-flames arg0 5 1 0 0.5 0.001953125 1.0) + ) (update-light-kit (-> arg0 light-group 1) (-> arg0 light-group 0 ambi) 1.0) (update-light-kit (-> arg0 light-group 2) (-> arg0 light-group 0 ambi) 1.0) (update-light-kit (-> arg0 light-group 3) (-> arg0 light-group 0 ambi) 1.0) @@ -1698,132 +1355,111 @@ (let ((s5-1 (new 'stack-no-clear 'vector)) (s4-1 (target-joint-pos)) ) - 0.0 - (set-vector! s5-1 -524288.0 (-> s4-1 y) 856064.0 1.0) - (let ((f0-5 (vector-vector-distance s5-1 s4-1))) - (when (< f0-5 90112.0) - (let ((f30-0 (* 0.000061035156 (+ -73728.0 f0-5)))) - (cond - ((movie?) - (set-target-light-index 1) - (set! (-> *time-of-day-context* target-interp) 1.0) + 0.0 + (set-vector! s5-1 -524288.0 (-> s4-1 y) 856064.0 1.0) + (let ((f0-5 (vector-vector-distance s5-1 s4-1))) + (when (< f0-5 90112.0) + (let ((f30-0 (* 0.000061035156 (+ -73728.0 f0-5)))) + (cond + ((movie?) + (set-target-light-index 1) + (set! (-> *time-of-day-context* target-interp) 1.0) + ) + (else + (set-target-light-index 1) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-0)))) + ) + ) + ) ) - (else - (set-target-light-index 1) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-0))) - ) - ) - ) ) - ) - ) - (set-vector! s5-1 -253952.0 (-> s4-1 y) -116736.0 1.0) - (let ((f0-14 (vector-vector-distance s5-1 s4-1))) - (when (< f0-14 69632.0) - (let ((f30-1 (* 0.000061035156 (+ -53248.0 f0-14)))) - (cond - ((movie?) - (set-target-light-index 4) - (set! (-> *time-of-day-context* target-interp) 1.0) + (set-vector! s5-1 -253952.0 (-> s4-1 y) -116736.0 1.0) + (let ((f0-14 (vector-vector-distance s5-1 s4-1))) + (when (< f0-14 69632.0) + (let ((f30-1 (* 0.000061035156 (+ -53248.0 f0-14)))) + (cond + ((movie?) + (set-target-light-index 4) + (set! (-> *time-of-day-context* target-interp) 1.0) + ) + (else + (set-target-light-index 4) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-1)))) + ) + ) + ) ) - (else - (set-target-light-index 4) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-1))) - ) - ) - ) ) - ) - ) - (set-vector! s5-1 -518144.0 (-> s4-1 y) -73728.0 1.0) - (let ((f0-23 (vector-vector-distance s5-1 s4-1))) - (when (< f0-23 57344.0) - (let ((f30-2 (* 0.000061035156 (+ -40960.0 f0-23)))) - (cond - ((movie?) - (set-target-light-index 3) - (set! (-> *time-of-day-context* target-interp) 1.0) + (set-vector! s5-1 -518144.0 (-> s4-1 y) -73728.0 1.0) + (let ((f0-23 (vector-vector-distance s5-1 s4-1))) + (when (< f0-23 57344.0) + (let ((f30-2 (* 0.000061035156 (+ -40960.0 f0-23)))) + (cond + ((movie?) + (set-target-light-index 3) + (set! (-> *time-of-day-context* target-interp) 1.0) + ) + (else + (set-target-light-index 3) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-2)))) + ) + ) + ) ) - (else - (set-target-light-index 3) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-2))) - ) - ) - ) ) - ) - ) - (set-vector! s5-1 -450560.0 (-> s4-1 y) 178176.0 1.0) - (let ((f0-32 (vector-vector-distance s5-1 s4-1))) - (when (< f0-32 81920.0) - (let ((f30-3 (* 0.000061035156 (+ -65536.0 f0-32)))) - (cond - ((movie?) - (set-target-light-index 2) - (set! (-> *time-of-day-context* target-interp) 1.0) + (set-vector! s5-1 -450560.0 (-> s4-1 y) 178176.0 1.0) + (let ((f0-32 (vector-vector-distance s5-1 s4-1))) + (when (< f0-32 81920.0) + (let ((f30-3 (* 0.000061035156 (+ -65536.0 f0-32)))) + (cond + ((movie?) + (set-target-light-index 2) + (set! (-> *time-of-day-context* target-interp) 1.0) + ) + (else + (set-target-light-index 2) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-3)))) + ) + ) + ) ) - (else - (set-target-light-index 2) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-3))) - ) + ) + (set-vector! s5-1 -239616.0 (-> s4-1 y) 131072.0 1.0) + (let ((f0-41 (vector-vector-distance s5-1 s4-1))) + (when (< f0-41 57344.0) + (let ((f30-4 (* 0.000061035156 (+ -40960.0 f0-41)))) + (cond + ((movie?) + (set-target-light-index 5) + (set! (-> *time-of-day-context* target-interp) 1.0) + ) + (else + (set-target-light-index 5) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-4)))) + ) + ) + ) ) - ) ) - ) - ) - (set-vector! s5-1 -239616.0 (-> s4-1 y) 131072.0 1.0) - (let ((f0-41 (vector-vector-distance s5-1 s4-1))) - (when (< f0-41 57344.0) - (let ((f30-4 (* 0.000061035156 (+ -40960.0 f0-41)))) - (cond - ((movie?) - (set-target-light-index 5) - (set! (-> *time-of-day-context* target-interp) 1.0) + (set-vector! s5-1 -284672.0 (-> s4-1 y) 288768.0 1.0) + (let ((f0-50 (vector-vector-distance s5-1 s4-1))) + (when (< f0-50 77824.0) + (let ((f30-5 (* 0.000061035156 (+ -61440.0 f0-50)))) + (set-target-light-index 6) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-5)))) + ) ) - (else - (set-target-light-index 5) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-4))) - ) + ) + (set-vector! s5-1 -83968.0 (-> s4-1 y) -305152.0 1.0) + (let ((f0-58 (vector-vector-distance s5-1 s4-1))) + (when (< f0-58 61440.0) + (let ((f30-6 (* 0.000061035156 (+ -45056.0 f0-58)))) + (set-target-light-index 7) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-6)))) + ) ) - ) ) - ) ) - (set-vector! s5-1 -284672.0 (-> s4-1 y) 288768.0 1.0) - (let ((f0-50 (vector-vector-distance s5-1 s4-1))) - (when (< f0-50 77824.0) - (let ((f30-5 (* 0.000061035156 (+ -61440.0 f0-50)))) - (set-target-light-index 6) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-5))) - ) - ) - ) - ) - (set-vector! s5-1 -83968.0 (-> s4-1 y) -305152.0 1.0) - (let ((f0-58 (vector-vector-distance s5-1 s4-1))) - (when (< f0-58 61440.0) - (let ((f30-6 (* 0.000061035156 (+ -45056.0 f0-58)))) - (set-target-light-index 7) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-6))) - ) - ) - ) - ) - ) (update-mood-itimes arg0) 0 (none) @@ -1857,19 +1493,19 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 arg2) (when *time-of-day-effects* - (cond - ((task-complete? *game-info* (game-task jungle-eggtop)) - (update-mood-light arg0 5 0 1 0.875 0.25 20.0 32) - (if (not (paused?)) - (+! (-> arg0 state 1) 1) + (cond + ((task-complete? *game-info* (game-task jungle-eggtop)) + (update-mood-light arg0 5 0 1 0.875 0.25 20.0 32) + (if (not (paused?)) + (+! (-> arg0 state 1) 1) + ) + ) + (else + (set! (-> arg0 state 1) (the-as uint 0)) + (set! (-> arg0 state 0) (the-as uint 255)) + ) ) - ) - (else - (set! (-> arg0 state 1) (the-as uint 0)) - (set! (-> arg0 state 0) (the-as uint 255)) - ) ) - ) (update-mood-itimes arg0) 0 (none) @@ -1880,48 +1516,42 @@ (update-mood-light arg0 5 0 1 0.875 0.25 20.0 32) (+! (-> arg0 state 1) 1) (let ((v1-3 (-> arg0 mood-fog-table data))) - (set! (-> v1-3 0 fog-color x) 0.0) - (set! (-> v1-3 0 fog-color y) 16.0) - (set! (-> v1-3 0 fog-color z) 64.0) - (set! (-> v1-3 0 fog-color w) 128.0) - ) + (set! (-> v1-3 0 fog-color x) 0.0) + (set! (-> v1-3 0 fog-color y) 16.0) + (set! (-> v1-3 0 fog-color z) 64.0) + (set! (-> v1-3 0 fog-color w) 128.0) + ) (set! (-> arg0 mood-fog-table data 0 fog-dists x) 196608.0) (set-vector! (-> arg0 mood-fog-table data 0 erase-color) 0.0 0.0 0.0 128.0) (let ((v1-8 (-> arg0 mood-sun-table data))) - (set! (-> v1-8 0 sun-color x) 0.0) - (set! (-> v1-8 0 sun-color y) 0.0) - (set! (-> v1-8 0 sun-color z) 0.0) - (set! (-> v1-8 0 sun-color w) 0.0) - ) + (set! (-> v1-8 0 sun-color x) 0.0) + (set! (-> v1-8 0 sun-color y) 0.0) + (set! (-> v1-8 0 sun-color z) 0.0) + (set! (-> v1-8 0 sun-color w) 0.0) + ) (set-vector! (-> arg0 mood-sun-table data 0 env-color) 64.0 80.0 255.0 255.0) (let ((v1-12 (-> arg0 mood-lights-table data))) - (set! (-> v1-12 0 direction x) 0.0) - (set! (-> v1-12 0 direction y) -1.0) - (set! (-> v1-12 0 direction z) 0.0) - (set! (-> v1-12 0 direction w) 0.0) - ) - (set-vector! - (-> arg0 mood-lights-table data 0 lgt-color) - 0.0 - 0.0 - (* 1.5 (-> arg0 times 5 w)) - 1.0 - ) + (set! (-> v1-12 0 direction x) 0.0) + (set! (-> v1-12 0 direction y) -1.0) + (set! (-> v1-12 0 direction z) 0.0) + (set! (-> v1-12 0 direction w) 0.0) + ) + (set-vector! (-> arg0 mood-lights-table data 0 lgt-color) 0.0 0.0 (* 1.5 (-> arg0 times 5 w)) 1.0) (set-vector! (-> arg0 mood-lights-table data 0 amb-color) 0.4 0.433 0.7 1.0) (set-vector! - (-> arg0 mood-lights-table data 0 prt-color) - 0.2 - 0.216 - (+ 0.35 (* 0.375 (-> arg0 times 5 w))) - 1.0 - ) + (-> arg0 mood-lights-table data 0 prt-color) + 0.2 + 0.216 + (+ 0.35 (* 0.375 (-> arg0 times 5 w))) + 1.0 + ) (let ((v0-1 (-> arg0 mood-lights-table data 0 shadow))) - (set! (-> v0-1 x) 0.0) - (set! (-> v0-1 y) -1.0) - (set! (-> v0-1 z) 0.0) - (set! (-> v0-1 w) 0.0) - v0-1 - ) + (set! (-> v0-1 x) 0.0) + (set! (-> v0-1 y) -1.0) + (set! (-> v0-1 z) 0.0) + (set! (-> v0-1 w) 0.0) + v0-1 + ) ) ;; definition for function update-mood-jungleb @@ -1932,201 +1562,156 @@ (clear-mood-times arg0) (set! (-> arg0 times 0 w) 1.0) (when *time-of-day-effects* - (let ((v1-3 (get-reminder (get-task-control (game-task jungle-eggtop)) 0)) - (s3-0 (-> arg0 state 2)) + (let ((v1-3 (get-reminder (get-task-control (game-task jungle-eggtop)) 0)) + (s3-0 (-> arg0 state 2)) + ) + (cond + ((and (= v1-3 2) (nonzero? s3-0)) + (if (< (the-as uint 60) s3-0) + (set! (-> arg0 times 2 w) 2.0) + (set! (-> arg0 times 2 w) (* 0.033333335 (the float s3-0))) + ) + (if (not (paused?)) + (set! (-> arg0 state 2) (+ s3-0 -1)) + ) + (set! (-> arg0 times 1 w) 1.0) + (update-mood-jungleb-blue arg0 arg1 arg2) ) - (cond - ((and (= v1-3 2) (nonzero? s3-0)) - (if (< (the-as uint 60) s3-0) - (set! (-> arg0 times 2 w) 2.0) - (set! (-> arg0 times 2 w) (* 0.033333335 (the float s3-0))) - ) - (if (not (paused?)) - (set! (-> arg0 state 2) (+ s3-0 -1)) - ) - (set! (-> arg0 times 1 w) 1.0) - (update-mood-jungleb-blue arg0 arg1 arg2) + ((and (nonzero? v1-3) (!= s3-0 180)) + (set! (-> arg0 state 2) (the-as uint 0)) + (set! (-> arg0 times 1 w) 1.0) + (update-mood-jungleb-blue arg0 arg1 arg2) + ) + (else + (set! (-> arg0 state 2) (the-as uint 180)) + (set! (-> arg0 state 1) (the-as uint 0)) + (set! (-> arg0 state 0) (the-as uint 255)) + (let ((v1-15 (-> arg0 mood-fog-table data))) + (set! (-> v1-15 0 fog-color x) 0.0) + (set! (-> v1-15 0 fog-color y) 0.0) + (set! (-> v1-15 0 fog-color z) 0.0) + (set! (-> v1-15 0 fog-color w) 128.0) + ) + (set! (-> arg0 mood-fog-table data 0 fog-dists x) 98304.0) + (set-vector! (-> arg0 mood-fog-table data 0 erase-color) 0.0 0.0 0.0 128.0) + (let ((v1-20 (-> arg0 mood-sun-table data))) + (set! (-> v1-20 0 sun-color x) 0.0) + (set! (-> v1-20 0 sun-color y) 0.0) + (set! (-> v1-20 0 sun-color z) 0.0) + (set! (-> v1-20 0 sun-color w) 0.0) + ) + (set-vector! (-> arg0 mood-sun-table data 0 env-color) 48.0 60.0 96.0 255.0) + (let ((v1-24 (-> arg0 mood-lights-table data))) + (set! (-> v1-24 0 direction x) 0.0) + (set! (-> v1-24 0 direction y) 1.0) + (set! (-> v1-24 0 direction z) 0.0) + (set! (-> v1-24 0 direction w) 0.0) + ) + (set-vector! (-> arg0 mood-lights-table data 0 lgt-color) 0.287 0.283 0.4 1.0) + (set-vector! (-> arg0 mood-lights-table data 0 amb-color) 0.166125 0.2125 0.4 1.0) + (set-vector! (-> arg0 mood-lights-table data 0 prt-color) 0.14235 0.1645 0.2875 1.0) + (set-vector! (-> arg0 mood-lights-table data 0 shadow) 0.0 -1.0 0.0 0.0) + ) + ) ) - ((and (nonzero? v1-3) (!= s3-0 180)) - (set! (-> arg0 state 2) (the-as uint 0)) - (set! (-> arg0 times 1 w) 1.0) - (update-mood-jungleb-blue arg0 arg1 arg2) - ) - (else - (set! (-> arg0 state 2) (the-as uint 180)) - (set! (-> arg0 state 1) (the-as uint 0)) - (set! (-> arg0 state 0) (the-as uint 255)) - (let ((v1-15 (-> arg0 mood-fog-table data))) - (set! (-> v1-15 0 fog-color x) 0.0) - (set! (-> v1-15 0 fog-color y) 0.0) - (set! (-> v1-15 0 fog-color z) 0.0) - (set! (-> v1-15 0 fog-color w) 128.0) - ) - (set! (-> arg0 mood-fog-table data 0 fog-dists x) 98304.0) - (set-vector! - (-> arg0 mood-fog-table data 0 erase-color) - 0.0 - 0.0 - 0.0 - 128.0 - ) - (let ((v1-20 (-> arg0 mood-sun-table data))) - (set! (-> v1-20 0 sun-color x) 0.0) - (set! (-> v1-20 0 sun-color y) 0.0) - (set! (-> v1-20 0 sun-color z) 0.0) - (set! (-> v1-20 0 sun-color w) 0.0) - ) - (set-vector! - (-> arg0 mood-sun-table data 0 env-color) - 48.0 - 60.0 - 96.0 - 255.0 - ) - (let ((v1-24 (-> arg0 mood-lights-table data))) - (set! (-> v1-24 0 direction x) 0.0) - (set! (-> v1-24 0 direction y) 1.0) - (set! (-> v1-24 0 direction z) 0.0) - (set! (-> v1-24 0 direction w) 0.0) - ) - (set-vector! - (-> arg0 mood-lights-table data 0 lgt-color) - 0.287 - 0.283 - 0.4 - 1.0 - ) - (set-vector! - (-> arg0 mood-lights-table data 0 amb-color) - 0.166125 - 0.2125 - 0.4 - 1.0 - ) - (set-vector! - (-> arg0 mood-lights-table data 0 prt-color) - 0.14235 - 0.1645 - 0.2875 - 1.0 - ) - (set-vector! (-> arg0 mood-lights-table data 0 shadow) 0.0 -1.0 0.0 0.0) - ) - ) ) - ) (update-mood-quick arg0 0 0 0 arg2) (let ((s5-1 (-> arg0 light-group 1))) - (quad-copy! (the-as pointer s5-1) (the-as pointer (-> arg0 light-group)) 12) - (set! (-> s5-1 dir2 color quad) (the-as uint128 0)) - (set! (-> s5-1 dir2 levels x) 0.0) - ) - (let ((s5-2 (-> arg0 light-group 2))) - (quad-copy! (the-as pointer s5-2) (the-as pointer (-> arg0 light-group)) 12) - (let ((v1-34 (-> s5-2 dir2))) - (set! (-> v1-34 direction x) 0.0) - (set! (-> v1-34 direction y) 1.0) - (set! (-> v1-34 direction z) 0.0) - (set! (-> v1-34 direction w) 0.0) + (quad-copy! (the-as pointer s5-1) (the-as pointer (-> arg0 light-group)) 12) + (set! (-> s5-1 dir2 color quad) (the-as uint128 0)) + (set! (-> s5-1 dir2 levels x) 0.0) + ) + (let ((s5-2 (-> arg0 light-group 2))) + (quad-copy! (the-as pointer s5-2) (the-as pointer (-> arg0 light-group)) 12) + (let ((v1-34 (-> s5-2 dir2))) + (set! (-> v1-34 direction x) 0.0) + (set! (-> v1-34 direction y) 1.0) + (set! (-> v1-34 direction z) 0.0) + (set! (-> v1-34 direction w) 0.0) + ) + (set-vector! (-> s5-2 dir2 color) 0.0 0.5 0.75 1.0) + (set! (-> s5-2 dir2 levels x) 1.0) ) - (set-vector! (-> s5-2 dir2 color) 0.0 0.5 0.75 1.0) - (set! (-> s5-2 dir2 levels x) 1.0) - ) (let ((s4-1 (-> *jungle-mood* light-group 1)) (s3-1 (-> arg0 light-group 3)) ) - (let ((s5-3 (new 'stack-no-clear 'vector))) - (quad-copy! (the-as pointer s3-1) (the-as pointer (-> arg0 light-group)) 12) - (let ((v1-38 (-> s3-1 dir2))) - (set! (-> v1-38 direction x) 0.0) - (set! (-> v1-38 direction y) 1.0) - (set! (-> v1-38 direction z) 0.0) - (set! (-> v1-38 direction w) 0.0) - ) - (set-vector! (-> s3-1 dir2 color) 0.4 0.25 0.1 1.0) - (set! (-> s3-1 dir2 levels x) 1.0) - (set-vector! s5-3 0.25 0.25 0.25 0.0) - (vector+! - (the-as vector (-> s3-1 ambi color)) - (the-as vector (-> s3-1 ambi color)) - s5-3 - ) + (let ((s5-3 (new 'stack-no-clear 'vector))) + (quad-copy! (the-as pointer s3-1) (the-as pointer (-> arg0 light-group)) 12) + (let ((v1-38 (-> s3-1 dir2))) + (set! (-> v1-38 direction x) 0.0) + (set! (-> v1-38 direction y) 1.0) + (set! (-> v1-38 direction z) 0.0) + (set! (-> v1-38 direction w) 0.0) + ) + (set-vector! (-> s3-1 dir2 color) 0.4 0.25 0.1 1.0) + (set! (-> s3-1 dir2 levels x) 1.0) + (set-vector! s5-3 0.25 0.25 0.25 0.0) + (vector+! (the-as vector (-> s3-1 ambi color)) (the-as vector (-> s3-1 ambi color)) s5-3) + ) + (quad-copy! (the-as pointer s4-1) (the-as pointer s3-1) 12) ) - (quad-copy! (the-as pointer s4-1) (the-as pointer s3-1) 12) - ) (let ((s5-4 (new 'stack-no-clear 'vector)) (s4-2 (target-joint-pos)) ) - (set-vector! s5-4 1482752.0 (-> s4-2 y) -985088.0 1.0) - (let ((f0-70 (vector-vector-distance s5-4 s4-2))) - (when (< f0-70 81920.0) - (let ((f0-72 (* 0.000034877234 (+ -53248.0 f0-70))) - (a2-8 (new 'stack-no-clear 'vector)) - (v1-45 (-> arg0 light-group)) - (a0-19 (-> *jungle-mood* light-group)) - (f2-3 (* 0.0000030517579 (+ 163840.0 (-> s4-2 y)))) - ) - (set! *teleport* #t) - (let* ((f1-6 (- 1.0 (fmax 0.0 (fmin 1.0 f2-3)))) - (f0-76 (* (- 1.0 (fmax 0.0 (fmin 1.0 f0-72))) f1-6)) - ) - (let ((a1-13 (-> v1-45 0 dir2))) - (set! (-> a1-13 direction x) 0.0) - (set! (-> a1-13 direction y) 1.0) - (set! (-> a1-13 direction z) 0.0) - (set! (-> a1-13 direction w) 0.0) + (set-vector! s5-4 1482752.0 (-> s4-2 y) -985088.0 1.0) + (let ((f0-70 (vector-vector-distance s5-4 s4-2))) + (when (< f0-70 81920.0) + (let ((f0-72 (* 0.000034877234 (+ -53248.0 f0-70))) + (a2-8 (new 'stack-no-clear 'vector)) + (v1-45 (-> arg0 light-group)) + (a0-19 (-> *jungle-mood* light-group)) + (f2-3 (* 0.0000030517579 (+ 163840.0 (-> s4-2 y)))) + ) + (set! *teleport* #t) + (let* ((f1-6 (- 1.0 (fmax 0.0 (fmin 1.0 f2-3)))) + (f0-76 (* (- 1.0 (fmax 0.0 (fmin 1.0 f0-72))) f1-6)) + ) + (let ((a1-13 (-> v1-45 0 dir2))) + (set! (-> a1-13 direction x) 0.0) + (set! (-> a1-13 direction y) 1.0) + (set! (-> a1-13 direction z) 0.0) + (set! (-> a1-13 direction w) 0.0) + ) + (set-vector! (-> v1-45 0 dir2 color) 0.4 0.25 0.1 1.0) + (set! (-> v1-45 0 dir2 levels x) f0-76) + (let ((a1-15 (-> a0-19 0 dir2))) + (set! (-> a1-15 direction x) 0.0) + (set! (-> a1-15 direction y) 1.0) + (set! (-> a1-15 direction z) 0.0) + (set! (-> a1-15 direction w) 0.0) + ) + (set-vector! (-> a0-19 0 dir2 color) 0.4 0.25 0.1 1.0) + (set! (-> a0-19 0 dir2 levels x) f0-76) + (set-vector! a2-8 0.25 0.25 0.25 0.0) + (vector+! a2-8 a2-8 (the-as vector (-> v1-45 0 ambi color))) + (vector4-lerp! (-> v1-45 0 ambi color) (-> v1-45 0 ambi color) a2-8 f0-76) + ) + ) ) - (set-vector! (-> v1-45 0 dir2 color) 0.4 0.25 0.1 1.0) - (set! (-> v1-45 0 dir2 levels x) f0-76) - (let ((a1-15 (-> a0-19 0 dir2))) - (set! (-> a1-15 direction x) 0.0) - (set! (-> a1-15 direction y) 1.0) - (set! (-> a1-15 direction z) 0.0) - (set! (-> a1-15 direction w) 0.0) + ) + (set-vector! s5-4 1146880.0 (-> s4-2 y) -1232896.0 1.0) + (if (< (vector-vector-distance s5-4 s4-2) 10240.0) + (set! *teleport* #t) ) - (set-vector! (-> a0-19 0 dir2 color) 0.4 0.25 0.1 1.0) - (set! (-> a0-19 0 dir2 levels x) f0-76) - (set-vector! a2-8 0.25 0.25 0.25 0.0) - (vector+! a2-8 a2-8 (the-as vector (-> v1-45 0 ambi color))) - (vector4-lerp! - (-> v1-45 0 ambi color) - (-> v1-45 0 ambi color) - a2-8 - f0-76 + (set-vector! s5-4 1781760.0 -163840.0 -1038336.0 1.0) + (let ((f0-86 (vector-vector-distance s5-4 s4-2))) + (when (< f0-86 147456.0) + (let ((f30-0 (* 0.000030517578 (+ -114688.0 f0-86)))) + (set-target-light-index 2) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-0)))) + ) ) - ) ) - ) - ) - (set-vector! s5-4 1146880.0 (-> s4-2 y) -1232896.0 1.0) - (if (< (vector-vector-distance s5-4 s4-2) 10240.0) - (set! *teleport* #t) - ) - (set-vector! s5-4 1781760.0 -163840.0 -1038336.0 1.0) - (let ((f0-86 (vector-vector-distance s5-4 s4-2))) - (when (< f0-86 147456.0) - (let ((f30-0 (* 0.000030517578 (+ -114688.0 f0-86)))) - (set-target-light-index 2) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-0))) - ) + (set-vector! s5-4 1105920.0 -188416.0 -1204224.0 1.0) + (let ((f0-94 (vector-vector-distance s5-4 s4-2))) + (when (< f0-94 106496.0) + (let ((f30-1 (* 0.000030517578 (+ -73728.0 f0-94)))) + (set-target-light-index 2) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-1)))) + ) + ) ) - ) ) - (set-vector! s5-4 1105920.0 -188416.0 -1204224.0 1.0) - (let ((f0-94 (vector-vector-distance s5-4 s4-2))) - (when (< f0-94 106496.0) - (let ((f30-1 (* 0.000030517578 (+ -73728.0 f0-94)))) - (set-target-light-index 2) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-1))) - ) - ) - ) - ) - ) (update-mood-itimes arg0) 0 (none) @@ -2159,96 +1744,85 @@ (defun update-mood-sunken ((arg0 mood-context) (arg1 float) (arg2 int)) (local-vars (sv-80 vector)) (when (not (paused?)) - (update-mood-fog arg0 arg1) - (update-mood-sky-texture arg0 arg1) - (if (not (paused?)) - (+! (-> arg0 state 1) 1) - ) - (let ((f30-0 (update-mood-palette arg0 arg1 arg2)) - (f28-0 (* -0.00000055486504 (-> *math-camera* trans y))) - (s5-1 (-> arg0 light-group)) - ) - (when *time-of-day-effects* - (update-mood-light arg0 2 0 1 0.875 0.25 20.0 32) - (update-mood-caustics arg0 4 1) - (set! (-> arg0 times 3 w) (-> *palette-fade-controls* control 3 fade)) - (let ((a1-6 (new 'static 'vector :x 0.192 :y 0.192 :z 0.24)) - (a2-4 (new 'static 'vector :x 0.124 :y 0.124 :z 0.156)) - (s4-1 (new 'static 'vector :x 0.192 :y 0.192 :z 0.24)) - (s3-0 (new 'static 'vector :x 0.181 :y 0.181 :z 0.226)) - ) - (let ((v1-8 (-> s5-1 0))) - (set! (-> v1-8 dir0 direction x) 0.0) - (set! (-> v1-8 dir0 direction y) 1.0) - (set! (-> v1-8 dir0 direction z) 0.0) - (set! (-> v1-8 dir0 direction w) 1.0) - ) - (vector4-lerp! (-> s5-1 0 dir1 color) a1-6 a2-4 f28-0) - (let ((v1-9 (-> s5-1 0 dir1))) - (set! (-> v1-9 direction x) 0.0) - (set! (-> v1-9 direction y) 1.0) - (set! (-> v1-9 direction z) 0.0) - (set! (-> v1-9 direction w) 1.0) - ) - (vector4-lerp! (-> s5-1 0 dir0 color) s4-1 s3-0 f28-0) - ) - (let ((a1-8 (new 'static 'vector :x 0.104 :y 0.587 :z 1.074)) - (a2-6 (new 'static 'vector :x 0.228 :y 0.3 :z 0.52)) - (s4-2 (new 'static 'vector :x 0.101 :y 0.392 :z 1.064)) - (s3-1 (new 'static 'vector :x 0.132 :y 0.22 :z 0.52)) - (s1-0 (new 'stack-no-clear 'vector)) - (s2-0 (new 'stack-no-clear 'vector)) - ) - (vector4-lerp! s1-0 a1-8 a2-6 f28-0) - (vector4-lerp! s2-0 s4-2 s3-1 f28-0) - (vector4-lerp! (-> s5-1 0 ambi color) s2-0 s1-0 f30-0) - ) - (let ((s2-1 (new 'static 'vector :x 0.193 :y 0.432 :z 0.721)) - (s1-1 (new 'static 'vector :x 0.193 :y 0.338 :z 0.603)) - (s0-0 (new 'static 'vector :x 0.193 :y 0.336 :z 0.721)) - ) - (set! sv-80 (new 'static 'vector :x 0.215 :y 0.309 :z 0.674)) - (let ((s3-2 (new 'stack-no-clear 'vector)) - (s4-3 (new 'stack-no-clear 'vector)) - (f26-3 - (+ - 0.75 - (* - 0.0625 - (cos (the float (* 4000 (-> *display* integral-frame-counter)))) - ) - (* - 0.0625 - (cos (the float (shl (-> *display* integral-frame-counter) 11))) - ) - (* - 0.125 - (cos (the float (* 1500 (-> *display* integral-frame-counter)))) - ) + (update-mood-fog arg0 arg1) + (update-mood-sky-texture arg0 arg1) + (if (not (paused?)) + (+! (-> arg0 state 1) 1) + ) + (let ((f30-0 (update-mood-palette arg0 arg1 arg2)) + (f28-0 (* -0.00000055486504 (-> *math-camera* trans y))) + (s5-1 (-> arg0 light-group)) + ) + (when *time-of-day-effects* + (update-mood-light arg0 2 0 1 0.875 0.25 20.0 32) + (update-mood-caustics arg0 4 1) + (set! (-> arg0 times 3 w) (-> *palette-fade-controls* control 3 fade)) + (let ((a1-6 (new 'static 'vector :x 0.192 :y 0.192 :z 0.24)) + (a2-4 (new 'static 'vector :x 0.124 :y 0.124 :z 0.156)) + (s4-1 (new 'static 'vector :x 0.192 :y 0.192 :z 0.24)) + (s3-0 (new 'static 'vector :x 0.181 :y 0.181 :z 0.226)) ) - ) + (let ((v1-8 (-> s5-1 0))) + (set! (-> v1-8 dir0 direction x) 0.0) + (set! (-> v1-8 dir0 direction y) 1.0) + (set! (-> v1-8 dir0 direction z) 0.0) + (set! (-> v1-8 dir0 direction w) 1.0) ) - (vector4-lerp! s3-2 s2-1 s1-1 f28-0) - (let ((t9-16 vector4-lerp!) - (a0-19 s4-3) - (a3-7 f28-0) - ) - (t9-16 a0-19 s0-0 sv-80 a3-7) + (vector4-lerp! (-> s5-1 0 dir1 color) a1-6 a2-4 f28-0) + (let ((v1-9 (-> s5-1 0 dir1))) + (set! (-> v1-9 direction x) 0.0) + (set! (-> v1-9 direction y) 1.0) + (set! (-> v1-9 direction z) 0.0) + (set! (-> v1-9 direction w) 1.0) + ) + (vector4-lerp! (-> s5-1 0 dir0 color) s4-1 s3-0 f28-0) + ) + (let ((a1-8 (new 'static 'vector :x 0.104 :y 0.587 :z 1.074)) + (a2-6 (new 'static 'vector :x 0.228 :y 0.3 :z 0.52)) + (s4-2 (new 'static 'vector :x 0.101 :y 0.392 :z 1.064)) + (s3-1 (new 'static 'vector :x 0.132 :y 0.22 :z 0.52)) + (s1-0 (new 'stack-no-clear 'vector)) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (vector4-lerp! s1-0 a1-8 a2-6 f28-0) + (vector4-lerp! s2-0 s4-2 s3-1 f28-0) + (vector4-lerp! (-> s5-1 0 ambi color) s2-0 s1-0 f30-0) + ) + (let ((s2-1 (new 'static 'vector :x 0.193 :y 0.432 :z 0.721)) + (s1-1 (new 'static 'vector :x 0.193 :y 0.338 :z 0.603)) + (s0-0 (new 'static 'vector :x 0.193 :y 0.336 :z 0.721)) + ) + (set! sv-80 (new 'static 'vector :x 0.215 :y 0.309 :z 0.674)) + (let ((s3-2 (new 'stack-no-clear 'vector)) + (s4-3 (new 'stack-no-clear 'vector)) + (f26-3 (+ 0.75 + (* 0.0625 (cos (the float (* 4000 (-> *display* integral-frame-counter))))) + (* 0.0625 (cos (the float (shl (-> *display* integral-frame-counter) 11)))) + (* 0.125 (cos (the float (* 1500 (-> *display* integral-frame-counter))))) + ) + ) + ) + (vector4-lerp! s3-2 s2-1 s1-1 f28-0) + (let ((t9-16 vector4-lerp!) + (a0-19 s4-3) + (a3-7 f28-0) + ) + (t9-16 a0-19 s0-0 sv-80 a3-7) + ) + (let ((v1-18 (-> s5-1 0 dir2))) + (set! (-> v1-18 direction x) 0.0) + (set! (-> v1-18 direction y) 0.999) + (set! (-> v1-18 direction z) 0.011) + (set! (-> v1-18 direction w) 1.0) + ) + (vector4-lerp! (-> s5-1 0 dir2 color) s4-3 s3-2 f30-0) + (set! (-> s5-1 0 dir2 levels x) f26-3) + ) + ) ) - (let ((v1-18 (-> s5-1 0 dir2))) - (set! (-> v1-18 direction x) 0.0) - (set! (-> v1-18 direction y) 0.999) - (set! (-> v1-18 direction z) 0.011) - (set! (-> v1-18 direction w) 1.0) - ) - (vector4-lerp! (-> s5-1 0 dir2 color) s4-3 s3-2 f30-0) - (set! (-> s5-1 0 dir2 levels x) f26-3) - ) ) - ) + (update-mood-itimes arg0) ) - (update-mood-itimes arg0) - ) 0 (none) ) @@ -2280,73 +1854,59 @@ ) ;; definition for symbol *rolling-spheres-on*, type (inline-array vector) -(define - *rolling-spheres-on* - (new 'static 'inline-array vector 11 - (new 'static 'vector :x -724992.0 :y 204800.0 :z -6635520.0 :w 24576.0) - (new 'static 'vector :x -692224.0 :y 204800.0 :z -6582272.0 :w 24576.0) - (new 'static 'vector :x -688128.0 :y 204800.0 :z -6520832.0 :w 24576.0) - (new 'static 'vector :x -712704.0 :y 204800.0 :z -6455296.0 :w 24576.0) - (new 'static 'vector :x -741376.0 :y 204800.0 :z -6369280.0 :w 24576.0) - (new 'static 'vector :x -774144.0 :y 204800.0 :z -6320128.0 :w 24576.0) - (new 'static 'vector :x -757760.0 :y 204800.0 :z -6234112.0 :w 24576.0) - (new 'static 'vector :x -696320.0 :y 204800.0 :z -6197248.0 :w 24576.0) - (new 'static 'vector :x -638976.0 :y 204800.0 :z -6164480.0 :w 24576.0) - (new 'static 'vector :x -749568.0 :y 110592.0 :z -6832128.0 :w 24576.0) - (new 'static 'vector :x -532480.0 :y 110592.0 :z -6017024.0 :w 24576.0) - ) - ) +(define *rolling-spheres-on* (new 'static 'inline-array vector 11 + (new 'static 'vector :x -724992.0 :y 204800.0 :z -6635520.0 :w 24576.0) + (new 'static 'vector :x -692224.0 :y 204800.0 :z -6582272.0 :w 24576.0) + (new 'static 'vector :x -688128.0 :y 204800.0 :z -6520832.0 :w 24576.0) + (new 'static 'vector :x -712704.0 :y 204800.0 :z -6455296.0 :w 24576.0) + (new 'static 'vector :x -741376.0 :y 204800.0 :z -6369280.0 :w 24576.0) + (new 'static 'vector :x -774144.0 :y 204800.0 :z -6320128.0 :w 24576.0) + (new 'static 'vector :x -757760.0 :y 204800.0 :z -6234112.0 :w 24576.0) + (new 'static 'vector :x -696320.0 :y 204800.0 :z -6197248.0 :w 24576.0) + (new 'static 'vector :x -638976.0 :y 204800.0 :z -6164480.0 :w 24576.0) + (new 'static 'vector :x -749568.0 :y 110592.0 :z -6832128.0 :w 24576.0) + (new 'static 'vector :x -532480.0 :y 110592.0 :z -6017024.0 :w 24576.0) + ) + ) ;; definition for symbol *rolling-spheres-light0*, type vector -(define - *rolling-spheres-light0* - (new 'static 'vector :x -524288.0 :y 110592.0 :z -6356992.0 :w 24576.0) - ) +(define *rolling-spheres-light0* (new 'static 'vector :x -524288.0 :y 110592.0 :z -6356992.0 :w 24576.0)) ;; definition for symbol *rolling-spheres-light1*, type (inline-array vector) -(define - *rolling-spheres-light1* - (new 'static 'inline-array vector 4 - (new 'static 'vector :x -454656.0 :y 114688.0 :z -7081984.0 :w 81920.0) - (new 'static 'vector :x -581632.0 :y 110592.0 :z -6410240.0 :w 24576.0) - (new 'static 'vector :x -1265664.0 :y 106496.0 :z -6492160.0 :w 24576.0) - (new 'static 'vector :x -1302528.0 :y 106496.0 :z -6434816.0 :w 24576.0) - ) - ) +(define *rolling-spheres-light1* (new 'static 'inline-array vector 4 + (new 'static 'vector :x -454656.0 :y 114688.0 :z -7081984.0 :w 81920.0) + (new 'static 'vector :x -581632.0 :y 110592.0 :z -6410240.0 :w 24576.0) + (new 'static 'vector :x -1265664.0 :y 106496.0 :z -6492160.0 :w 24576.0) + (new 'static 'vector :x -1302528.0 :y 106496.0 :z -6434816.0 :w 24576.0) + ) + ) ;; definition for symbol *rolling-spheres-light2*, type light-ellipse (define *rolling-spheres-light2* (new 'static 'light-ellipse - :matrix - (new 'static 'matrix - :vector - (new 'static 'inline-array vector 4 - (new 'static 'vector :x -581632.0 :y 114688.0 :z -6479872.0 :w 24576.0) - (new 'static 'vector :x -737280.0 :y 110592.0 :z -7159808.0 :w 24576.0) - (new 'static 'vector :x -733184.0 :y 110592.0 :z -7266304.0 :w 24576.0) - (new 'static 'vector :x -1363968.0 :y 110592.0 :z -6578176.0 :w 24576.0) - ) + :matrix + (new 'static 'matrix :vector (new 'static 'inline-array vector 4 + (new 'static 'vector :x -581632.0 :y 114688.0 :z -6479872.0 :w 24576.0) + (new 'static 'vector :x -737280.0 :y 110592.0 :z -7159808.0 :w 24576.0) + (new 'static 'vector :x -733184.0 :y 110592.0 :z -7266304.0 :w 24576.0) + (new 'static 'vector :x -1363968.0 :y 110592.0 :z -6578176.0 :w 24576.0) + ) + ) + :color + (new 'static 'rgbaf :x -1404928.0 :y 110592.0 :z -6541312.0 :w 24576.0) ) - :color - (new 'static 'rgbaf :x -1404928.0 :y 110592.0 :z -6541312.0 :w 24576.0) - ) ) ;; definition for symbol *rolling-spheres-light3*, type (inline-array vector) -(define - *rolling-spheres-light3* - (new 'static 'inline-array vector 2 - (new 'static 'vector :x -540672.0 :y 110592.0 :z -6549504.0 :w 24576.0) - (new 'static 'vector :x -774144.0 :y 204800.0 :z -6275072.0 :w 24576.0) - ) - ) +(define *rolling-spheres-light3* (new 'static 'inline-array vector 2 + (new 'static 'vector :x -540672.0 :y 110592.0 :z -6549504.0 :w 24576.0) + (new 'static 'vector :x -774144.0 :y 204800.0 :z -6275072.0 :w 24576.0) + ) + ) ;; definition for symbol *rolling-spheres-light4*, type vector -(define - *rolling-spheres-light4* - (new 'static 'vector :x -688128.0 :y 217088.0 :z -5697536.0 :w 143360.0) - ) +(define *rolling-spheres-light4* (new 'static 'vector :x -688128.0 :y 217088.0 :z -5697536.0 :w 143360.0)) ;; definition for function update-mood-rolling ;; INFO: Return type mismatch int vs none. @@ -2356,179 +1916,103 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 arg2) (when *time-of-day-effects* - (update-mood-light arg0 4 0 4 0.875 0.25 arg1 32) - (update-mood-light arg0 5 1 4 0.875 0.25 arg1 0) - (update-mood-light arg0 6 2 4 0.875 0.25 arg1 96) - (update-mood-light arg0 7 3 4 0.875 0.25 arg1 64) - (if (not (paused?)) - (+! (-> arg0 state 4) 1) + (update-mood-light arg0 4 0 4 0.875 0.25 arg1 32) + (update-mood-light arg0 5 1 4 0.875 0.25 arg1 0) + (update-mood-light arg0 6 2 4 0.875 0.25 arg1 96) + (update-mood-light arg0 7 3 4 0.875 0.25 arg1 64) + (if (not (paused?)) + (+! (-> arg0 state 4) 1) + ) + (update-mood-lightning arg0 2 2 5 2 0.5 #t) ) - (update-mood-lightning arg0 2 2 5 2 0.5 #t) - ) (let ((a0-10 (-> arg0 light-group 1))) - (update-light-kit a0-10 (-> arg0 light-group 0 ambi) 1.0) - ) + (update-light-kit a0-10 (-> arg0 light-group 0 ambi) 1.0) + ) (dotimes (s5-1 4) - (let ((s4-1 (-> arg0 light-group (+ s5-1 2)))) - (update-light-kit s4-1 (-> arg0 light-group 0 ambi) 1.0) - (set! (-> s4-1 dir0 levels x) (-> arg0 times (+ s5-1 4) w)) + (let ((s4-1 (-> arg0 light-group (+ s5-1 2)))) + (update-light-kit s4-1 (-> arg0 light-group 0 ambi) 1.0) + (set! (-> s4-1 dir0 levels x) (-> arg0 times (+ s5-1 4) w)) + ) ) - ) (let ((s5-2 (-> arg0 light-group 6))) - (update-light-kit s5-2 (-> arg0 light-group 0 ambi) 1.0) - (set! - (-> s5-2 dir0 levels x) - (+ - (* 0.25 (-> arg0 times 4 w)) - (* 0.25 (-> arg0 times 5 w)) - (* 0.25 (-> arg0 times 6 w)) - (* 0.25 (-> arg0 times 7 w)) - ) + (update-light-kit s5-2 (-> arg0 light-group 0 ambi) 1.0) + (set! (-> s5-2 dir0 levels x) (+ (* 0.25 (-> arg0 times 4 w)) + (* 0.25 (-> arg0 times 5 w)) + (* 0.25 (-> arg0 times 6 w)) + (* 0.25 (-> arg0 times 7 w)) + ) + ) ) - ) (new 'stack-no-clear 'vector) (let ((s5-3 (target-joint-pos))) - 0.0 - (dotimes (s4-2 11) - (let ((f0-7 (vector-vector-distance (-> *rolling-spheres-on* s4-2) s5-3))) - (when (< f0-7 (-> *rolling-spheres-on* s4-2 w)) - (let - ((f30-0 - (/ - (- f0-7 (* 0.5 (-> *rolling-spheres-on* s4-2 w))) - (* 0.5 (-> *rolling-spheres-on* s4-2 w)) + 0.0 + (dotimes (s4-2 11) + (let ((f0-7 (vector-vector-distance (-> *rolling-spheres-on* s4-2) s5-3))) + (when (< f0-7 (-> *rolling-spheres-on* s4-2 w)) + (let ((f30-0 (/ (- f0-7 (* 0.5 (-> *rolling-spheres-on* s4-2 w))) (* 0.5 (-> *rolling-spheres-on* s4-2 w))))) + (set-target-light-index 1) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-0)))) + ) ) - ) ) - (set-target-light-index 1) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-0))) - ) - ) ) - ) - ) - (let - ((f0-11 - (vector-vector-distance - (the-as vector (&-> *rolling-spheres-light0* x)) - s5-3 - ) - ) - ) - (when (< f0-11 (-> *rolling-spheres-light0* w)) - (let - ((f30-1 - (/ - (- f0-11 (* 0.5 (-> *rolling-spheres-light0* w))) - (* 0.5 (-> *rolling-spheres-light0* w)) - ) - ) - ) - (set-target-light-index 2) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-1))) - ) - ) - ) - ) - (dotimes (s4-3 4) - (let - ((f0-15 (vector-vector-distance (-> *rolling-spheres-light1* s4-3) s5-3))) - (when (< f0-15 (-> *rolling-spheres-light1* s4-3 w)) - (let - ((f30-2 - (/ - (- f0-15 (* 0.5 (-> *rolling-spheres-light1* s4-3 w))) - (* 0.5 (-> *rolling-spheres-light1* s4-3 w)) + (let ((f0-11 (vector-vector-distance (the-as vector (&-> *rolling-spheres-light0* x)) s5-3))) + (when (< f0-11 (-> *rolling-spheres-light0* w)) + (let ((f30-1 (/ (- f0-11 (* 0.5 (-> *rolling-spheres-light0* w))) (* 0.5 (-> *rolling-spheres-light0* w))))) + (set-target-light-index 2) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-1)))) ) - ) ) - (set-target-light-index 3) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-2))) - ) - ) ) - ) - ) - (dotimes (s4-4 5) - (let - ((f0-19 - (vector-vector-distance - (the-as vector (+ (the-as uint *rolling-spheres-light2*) (* s4-4 16))) - s5-3 - ) - ) - ) - (when (< f0-19 (-> *rolling-spheres-light2* matrix vector s4-4 w)) - (let - ((f30-3 - (/ - (- f0-19 (* 0.5 (-> *rolling-spheres-light2* matrix vector s4-4 w))) - (* 0.5 (-> *rolling-spheres-light2* matrix vector s4-4 w)) + (dotimes (s4-3 4) + (let ((f0-15 (vector-vector-distance (-> *rolling-spheres-light1* s4-3) s5-3))) + (when (< f0-15 (-> *rolling-spheres-light1* s4-3 w)) + (let ((f30-2 + (/ (- f0-15 (* 0.5 (-> *rolling-spheres-light1* s4-3 w))) (* 0.5 (-> *rolling-spheres-light1* s4-3 w))) + ) + ) + (set-target-light-index 3) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-2)))) + ) ) - ) ) - (set-target-light-index 4) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-3))) - ) - ) ) - ) - ) - (dotimes (s4-5 2) - (let - ((f0-23 (vector-vector-distance (-> *rolling-spheres-light3* s4-5) s5-3))) - (when (< f0-23 (-> *rolling-spheres-light3* s4-5 w)) - (let - ((f30-4 - (/ - (- f0-23 (* 0.5 (-> *rolling-spheres-light3* s4-5 w))) - (* 0.5 (-> *rolling-spheres-light3* s4-5 w)) + (dotimes (s4-4 5) + (let ((f0-19 (vector-vector-distance (the-as vector (+ (the-as uint *rolling-spheres-light2*) (* s4-4 16))) s5-3))) + (when (< f0-19 (-> *rolling-spheres-light2* matrix vector s4-4 w)) + (let ((f30-3 (/ (- f0-19 (* 0.5 (-> *rolling-spheres-light2* matrix vector s4-4 w))) + (* 0.5 (-> *rolling-spheres-light2* matrix vector s4-4 w)) + ) + ) + ) + (set-target-light-index 4) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-3)))) + ) + ) + ) + ) + (dotimes (s4-5 2) + (let ((f0-23 (vector-vector-distance (-> *rolling-spheres-light3* s4-5) s5-3))) + (when (< f0-23 (-> *rolling-spheres-light3* s4-5 w)) + (let ((f30-4 + (/ (- f0-23 (* 0.5 (-> *rolling-spheres-light3* s4-5 w))) (* 0.5 (-> *rolling-spheres-light3* s4-5 w))) + ) + ) + (set-target-light-index 5) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-4)))) + ) + ) + ) + ) + (let ((f0-27 (vector-vector-distance (the-as vector (&-> *rolling-spheres-light4* x)) s5-3))) + (when (< f0-27 (-> *rolling-spheres-light4* w)) + (let ((f30-5 (/ (- f0-27 (* 0.5 (-> *rolling-spheres-light4* w))) (* 0.5 (-> *rolling-spheres-light4* w))))) + (set-target-light-index 6) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-5)))) ) - ) ) - (set-target-light-index 5) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-4))) - ) - ) ) - ) ) - (let - ((f0-27 - (vector-vector-distance - (the-as vector (&-> *rolling-spheres-light4* x)) - s5-3 - ) - ) - ) - (when (< f0-27 (-> *rolling-spheres-light4* w)) - (let - ((f30-5 - (/ - (- f0-27 (* 0.5 (-> *rolling-spheres-light4* w))) - (* 0.5 (-> *rolling-spheres-light4* w)) - ) - ) - ) - (set-target-light-index 6) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-5))) - ) - ) - ) - ) - ) (update-mood-itimes arg0) 0 (none) @@ -2558,8 +2042,8 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 arg2) (if *time-of-day-effects* - (update-mood-lava arg0 4 0 #t) - ) + (update-mood-lava arg0 4 0 #t) + ) (update-mood-itimes arg0) 0 (none) @@ -2591,11 +2075,11 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 arg2) (when *time-of-day-effects* - (update-mood-light arg0 5 0 1 0.875 0.25 arg1 32) - (if (not (paused?)) - (+! (-> arg0 state 1) 1) + (update-mood-light arg0 5 0 1 0.875 0.25 arg1 32) + (if (not (paused?)) + (+! (-> arg0 state 1) 1) + ) ) - ) (update-mood-itimes arg0) 0 (none) @@ -2621,29 +2105,29 @@ ;; INFO: Return type mismatch int vs none. (defun update-mood-maincave ((arg0 mood-context) (arg1 float) (arg2 int)) (when (not (paused?)) - (clear-mood-times arg0) - (set! (-> arg0 times 0 w) 1.0) - (update-mood-quick arg0 0 0 0 arg2) - (when *time-of-day-effects* - (update-mood-flames arg0 4 4 0 0.333 0.001953125 1.0) - (set! (-> arg0 times 1 w) (-> *palette-fade-controls* control 1 fade)) - (set! (-> arg0 times 2 w) (-> *palette-fade-controls* control 2 fade)) - (set! (-> arg0 times 3 w) 1.0) - (let ((a0-4 (new 'stack-no-clear 'vector)) - (a1-3 (-> *math-camera* trans)) + (clear-mood-times arg0) + (set! (-> arg0 times 0 w) 1.0) + (update-mood-quick arg0 0 0 0 arg2) + (when *time-of-day-effects* + (update-mood-flames arg0 4 4 0 0.333 0.001953125 1.0) + (set! (-> arg0 times 1 w) (-> *palette-fade-controls* control 1 fade)) + (set! (-> arg0 times 2 w) (-> *palette-fade-controls* control 2 fade)) + (set! (-> arg0 times 3 w) 1.0) + (let ((a0-4 (new 'stack-no-clear 'vector)) + (a1-3 (-> *math-camera* trans)) + ) + (set-vector! a0-4 4417536.0 86016.0 -13250560.0 1.0) + (let ((f0-8 (vector-vector-distance a0-4 a1-3))) + (when (< f0-8 483328.0) + (let ((f1-2 (* 0.0000048828124 (+ -278528.0 f0-8)))) + (set! (-> arg0 times 3 w) (fmax 0.0 (fmin 1.9 f1-2))) + ) + ) ) - (set-vector! a0-4 4417536.0 86016.0 -13250560.0 1.0) - (let ((f0-8 (vector-vector-distance a0-4 a1-3))) - (when (< f0-8 483328.0) - (let ((f1-2 (* 0.0000048828124 (+ -278528.0 f0-8)))) - (set! (-> arg0 times 3 w) (fmax 0.0 (fmin 1.9 f1-2))) ) - ) ) - ) + (update-mood-itimes arg0) ) - (update-mood-itimes arg0) - ) 0 (none) ) @@ -2653,84 +2137,70 @@ ;; Used lq/sq (defun update-mood-darkcave ((arg0 mood-context) (arg1 float) (arg2 int)) (when (not (paused?)) - (clear-mood-times arg0) - (set! (-> arg0 times 0 w) 1.0) - (set-vector! (-> arg0 mood-lights-table data 0 prt-color) 0.0 0.0 0.0 0.0) - (when *time-of-day-effects* - (let ((f30-0 0.0) - (s4-0 (new 'stack-no-clear 'vector)) - ) - (let ((s3-0 (new 'stack-no-clear 'vector))) - 0.0 - 0.0 - (set-vector! s4-0 0.0 -1.0 0.0 0.0) - (let ((s2-0 1) - (s1-0 7) + (clear-mood-times arg0) + (set! (-> arg0 times 0 w) 1.0) + (set-vector! (-> arg0 mood-lights-table data 0 prt-color) 0.0 0.0 0.0 0.0) + (when *time-of-day-effects* + (let ((f30-0 0.0) + (s4-0 (new 'stack-no-clear 'vector)) ) - (while (>= s1-0 s2-0) - (let ((f28-0 (-> *palette-fade-controls* control s2-0 fade))) - (set! (-> arg0 times s2-0 w) f28-0) - (vector-! - s3-0 - (the-as vector (-> *palette-fade-controls* control s2-0)) - (-> *target* control trans) - ) - (let* ((f3-0 (vector-length s3-0)) - (f28-1 - (* f28-0 (fmax 0.0 (fmin 1.0 (- 1.0 (* 0.000012207031 f3-0))))) - ) + (let ((s3-0 (new 'stack-no-clear 'vector))) + 0.0 + 0.0 + (set-vector! s4-0 0.0 -1.0 0.0 0.0) + (let ((s2-0 1) + (s1-0 7) ) - (vector-normalize! s3-0 f28-1) - (if (< f30-0 f28-1) - (set! f30-0 f28-1) - ) - ) - ) - (vector+! s4-0 s4-0 s3-0) - (+! s2-0 1) - ) - ) - ) - (let ((f0-14 (fmin 1.0 f30-0)) - (a2-1 (new 'static 'vector :y 1.0 :z 0.5 :w 1.0)) - (a1-8 (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0)) - ) - (vector-lerp! - (-> arg0 mood-lights-table data 0 amb-color) - a1-8 - a2-1 - f0-14 - ) - ) - (set! - (-> arg0 mood-lights-table data 0 prt-color quad) - (-> arg0 mood-lights-table data 0 amb-color quad) - ) - (vector-normalize! s4-0 1.0) - (let ((v1-21 (-> arg0 mood-lights-table data 0 shadow))) - (set! (-> v1-21 x) (- (-> s4-0 x))) - (set! (-> v1-21 y) (- (-> s4-0 y))) - (set! (-> v1-21 z) (- (-> s4-0 z))) - (when (< (-> s4-0 y) 0.9063) - (let* ((f0-22 0.4226) - (f1-3 (-> v1-21 x)) - (f1-5 (* f1-3 f1-3)) - (f2-2 (-> v1-21 z)) - (f0-23 (/ f0-22 (sqrtf (+ f1-5 (* f2-2 f2-2))))) + (while (>= s1-0 s2-0) + (let ((f28-0 (-> *palette-fade-controls* control s2-0 fade))) + (set! (-> arg0 times s2-0 w) f28-0) + (vector-! s3-0 (the-as vector (-> *palette-fade-controls* control s2-0)) (-> *target* control trans)) + (let* ((f3-0 (vector-length s3-0)) + (f28-1 (* f28-0 (fmax 0.0 (fmin 1.0 (- 1.0 (* 0.000012207031 f3-0)))))) + ) + (vector-normalize! s3-0 f28-1) + (if (< f30-0 f28-1) + (set! f30-0 f28-1) + ) + ) + ) + (vector+! s4-0 s4-0 s3-0) + (+! s2-0 1) ) - (set! (-> v1-21 x) (* (-> v1-21 x) f0-23)) - (set! (-> v1-21 y) -0.9063) - (set! (-> v1-21 z) (* (-> v1-21 z) f0-23)) + ) + ) + (let ((f0-14 (fmin 1.0 f30-0)) + (a2-1 (new 'static 'vector :y 1.0 :z 0.5 :w 1.0)) + (a1-8 (new 'static 'vector :x 0.3 :y 0.4 :z 0.5 :w 1.0)) + ) + (vector-lerp! (-> arg0 mood-lights-table data 0 amb-color) a1-8 a2-1 f0-14) + ) + (set! (-> arg0 mood-lights-table data 0 prt-color quad) (-> arg0 mood-lights-table data 0 amb-color quad)) + (vector-normalize! s4-0 1.0) + (let ((v1-21 (-> arg0 mood-lights-table data 0 shadow))) + (set! (-> v1-21 x) (- (-> s4-0 x))) + (set! (-> v1-21 y) (- (-> s4-0 y))) + (set! (-> v1-21 z) (- (-> s4-0 z))) + (when (< (-> s4-0 y) 0.9063) + (let* ((f0-22 0.4226) + (f1-3 (-> v1-21 x)) + (f1-5 (* f1-3 f1-3)) + (f2-2 (-> v1-21 z)) + (f0-23 (/ f0-22 (sqrtf (+ f1-5 (* f2-2 f2-2))))) + ) + (set! (-> v1-21 x) (* (-> v1-21 x) f0-23)) + (set! (-> v1-21 y) -0.9063) + (set! (-> v1-21 z) (* (-> v1-21 z) f0-23)) + ) + ) + ) ) - ) ) - ) + (set! *teleport* #t) + (update-mood-quick arg0 0 0 0 arg2) + (set-vector! (-> arg0 current-shadow-color) 0.25 0.25 0.25 1.0) + (update-mood-itimes arg0) ) - (set! *teleport* #t) - (update-mood-quick arg0 0 0 0 arg2) - (set-vector! (-> arg0 current-shadow-color) 0.25 0.25 0.25 1.0) - (update-mood-itimes arg0) - ) 0 (none) ) @@ -2757,8 +2227,8 @@ (clear-mood-times arg0) (set! (-> arg0 times 0 w) 1.0) (if *time-of-day-effects* - (update-mood-flames arg0 4 4 0 0.333 0.001953125 1.0) - ) + (update-mood-flames arg0 4 4 0 0.333 0.001953125 1.0) + ) (update-mood-quick arg0 0 0 0 arg2) (update-mood-itimes arg0) 0 @@ -2797,56 +2267,56 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 arg2) (when *time-of-day-effects* - (update-mood-flames arg0 4 3 0 0.45 0.001953125 1.0) - (let ((s5-1 (the-as object (-> arg0 state)))) - (let ((v1-3 (get-reminder (get-task-control (game-task snow-eggtop)) 4)) - (s4-1 (-> (the-as (pointer uint8) s5-1) 6)) - ) - (cond - ((and (= v1-3 2) (nonzero? s4-1)) - (if (< (the-as uint 60) s4-1) - (set! (-> arg0 times 7 w) 2.0) - (set! (-> arg0 times 7 w) (* 0.033333335 (the float s4-1))) - ) - (if (not (paused?)) - (set! (-> (the-as (pointer uint8) s5-1) 6) (+ s4-1 -1)) - ) - ) - ((and (nonzero? v1-3) (!= s4-1 180)) - (set! (-> arg0 state 6) (the-as uint 0)) - (update-mood-light arg0 7 4 5 0.875 0.25 20.0 32) - (if (not (paused?)) - (+! (-> arg0 state 5) 1) - ) - ) - (else - (set! (-> arg0 state 6) (the-as uint 180)) - (set! (-> arg0 state 5) (the-as uint 0)) - (set! (-> arg0 state 4) (the-as uint 255)) - ) - ) - ) - (let ((f30-0 (-> (the-as vector s5-1) z))) - (when (not (paused?)) - (let ((f0-4 (if *weather-off* - (+ 0.1 f30-0) - (+ -0.1 f30-0) - ) - ) + (update-mood-flames arg0 4 3 0 0.45 0.001953125 1.0) + (let ((s5-1 (the-as object (-> arg0 state)))) + (let ((v1-3 (get-reminder (get-task-control (game-task snow-eggtop)) 4)) + (s4-1 (-> (the-as (pointer uint8) s5-1) 6)) ) - (set! f30-0 (fmax 0.0 (fmin 1.0 f0-4))) - ) - (set! (-> (the-as vector s5-1) z) f30-0) + (cond + ((and (= v1-3 2) (nonzero? s4-1)) + (if (< (the-as uint 60) s4-1) + (set! (-> arg0 times 7 w) 2.0) + (set! (-> arg0 times 7 w) (* 0.033333335 (the float s4-1))) + ) + (if (not (paused?)) + (set! (-> (the-as (pointer uint8) s5-1) 6) (+ s4-1 -1)) + ) + ) + ((and (nonzero? v1-3) (!= s4-1 180)) + (set! (-> arg0 state 6) (the-as uint 0)) + (update-mood-light arg0 7 4 5 0.875 0.25 20.0 32) + (if (not (paused?)) + (+! (-> arg0 state 5) 1) + ) + ) + (else + (set! (-> arg0 state 6) (the-as uint 180)) + (set! (-> arg0 state 5) (the-as uint 0)) + (set! (-> arg0 state 4) (the-as uint 255)) + ) + ) + ) + (let ((f30-0 (-> (the-as vector s5-1) z))) + (when (not (paused?)) + (let ((f0-4 (if *weather-off* + (+ 0.1 f30-0) + (+ -0.1 f30-0) + ) + ) + ) + (set! f30-0 (fmax 0.0 (fmin 1.0 f0-4))) + ) + (set! (-> (the-as vector s5-1) z) f30-0) + ) + (vector4-lerp! + (-> arg0 current-sun env-color) + (-> arg0 current-sun env-color) + (-> arg0 mood-sun-table data 6 env-color) + f30-0 + ) + ) ) - (vector4-lerp! - (-> arg0 current-sun env-color) - (-> arg0 current-sun env-color) - (-> arg0 mood-sun-table data 6 env-color) - f30-0 - ) - ) ) - ) (update-mood-itimes arg0) 0 (none) @@ -2884,245 +2354,194 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 arg2) (when *time-of-day-effects* - (update-mood-flames arg0 4 3 0 0.5 0.001953125 1.0) - (let ((s3-0 (new 'stack-no-clear 'vector)) - (s2-0 (new 'stack-no-clear 'vector)) - (s4-0 (new 'stack-no-clear 'vector)) - (s5-1 (new 'stack-no-clear 'vector)) - ) - (let ((v1-3 (-> arg0 mood-lights-table data))) - (set! (-> v1-3 0 direction x) -0.067) - (set! (-> v1-3 0 direction y) 0.25) - (set! (-> v1-3 0 direction z) 0.966) - (set! (-> v1-3 0 direction w) 0.0) - ) - (set-vector! (-> arg0 mood-lights-table data 0 lgt-color) 0.0 0.0 0.0 1.0) - (set-vector! - (-> arg0 mood-lights-table data 0 amb-color) - 0.449 - 0.35 - 0.599 - 1.0 - ) - (let ((v1-9 (-> arg0 mood-lights-table data 1))) - (set! (-> v1-9 direction x) 0.259) - (set! (-> v1-9 direction y) 0.966) - (set! (-> v1-9 direction z) 0.0) - (set! (-> v1-9 direction w) 0.0) - ) - (set-vector! - (-> arg0 mood-lights-table data 1 lgt-color) - 0.66 - 0.436 - 0.291 - 1.0 - ) - (set-vector! - (-> arg0 mood-lights-table data 1 amb-color) - 0.358 - 0.575 - 0.716 - 1.0 - ) - (let ((v1-15 (-> arg0 mood-lights-table data 2))) - (set! (-> v1-15 direction x) -0.067) - (set! (-> v1-15 direction y) 0.25) - (set! (-> v1-15 direction z) -0.966) - (set! (-> v1-15 direction w) 0.0) - ) - (set-vector! (-> arg0 mood-lights-table data 2 lgt-color) 0.0 0.0 0.0 1.0) - (set-vector! - (-> arg0 mood-lights-table data 2 amb-color) - 0.383 - 0.366 - 0.599 - 1.0 - ) - (let ((v1-21 (-> arg0 mood-lights-table data 3))) - (set! (-> v1-21 direction x) 0.866) - (set! (-> v1-21 direction y) 0.5) - (set! (-> v1-21 direction z) 0.0) - (set! (-> v1-21 direction w) 0.0) - ) - (set-vector! (-> arg0 mood-lights-table data 3 lgt-color) 0.0 0.0 0.0 1.0) - (set-vector! - (-> arg0 mood-lights-table data 3 amb-color) - 0.304 - 0.409 - 0.76 - 1.0 - ) - (let ((s0-0 (-> arg0 light-group 1))) - (update-light-kit s0-0 (-> arg0 light-group 0 ambi) 1.25) - (set! (-> s0-0 dir2 levels x) (+ 0.666 (* 0.333 (-> arg0 times 4 w)))) - ) - (let ((s0-1 (-> arg0 light-group 2))) - (update-light-kit s0-1 (-> arg0 light-group 0 ambi) 1.25) - (set! (-> s0-1 dir2 levels x) (+ 0.666 (* 0.333 (-> arg0 times 4 w)))) - ) - (let ((v1-28 (new 'static 'vector :x 4605890.5 :z -14253220.0 :w 1.0)) - (a0-8 (new 'stack-no-clear 'vector)) + (update-mood-flames arg0 4 3 0 0.5 0.001953125 1.0) + (let ((s3-0 (new 'stack-no-clear 'vector)) + (s2-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + (s5-1 (new 'stack-no-clear 'vector)) ) - 0.0 - (vector-! a0-8 (-> *target* control trans) v1-28) - (set! (-> a0-8 y) 0.0) - (let ((f0-54 (vector-length a0-8))) - (set-vector! s3-0 0.19 0.128 0.128 1.0) - (set-vector! s5-1 0.0 1.0 0.0 0.0) - (set-vector! s4-0 0.31 0.372 0.372 0.0) - (cond - ((>= 532480.0 f0-54) - (let* ((f1-18 (* 0.000008138021 (+ -409600.0 f0-54))) - (a1-9 (new 'static 'vector :x 0.66 :y 0.436 :z 0.291)) - (a2-8 (new 'static 'vector :x 0.19 :y 0.128 :z 0.128)) - (f30-0 (fmax 0.0 (fmin 1.0 f1-18))) - ) - (vector-lerp! s2-0 a1-9 a2-8 f30-0) - (let ((s0-2 (the-as structure (-> arg0 state)))) - (when (not (paused?)) - (set! (-> (the-as (array int8) s0-2) 20) (the int (+ 4.0 arg1))) - (+! - (-> (the-as (array float) s0-2) 4) - (rand-vu-float-range 64.0 2048.0) + (let ((v1-3 (-> arg0 mood-lights-table data))) + (set! (-> v1-3 0 direction x) -0.067) + (set! (-> v1-3 0 direction y) 0.25) + (set! (-> v1-3 0 direction z) 0.966) + (set! (-> v1-3 0 direction w) 0.0) + ) + (set-vector! (-> arg0 mood-lights-table data 0 lgt-color) 0.0 0.0 0.0 1.0) + (set-vector! (-> arg0 mood-lights-table data 0 amb-color) 0.449 0.35 0.599 1.0) + (let ((v1-9 (-> arg0 mood-lights-table data 1))) + (set! (-> v1-9 direction x) 0.259) + (set! (-> v1-9 direction y) 0.966) + (set! (-> v1-9 direction z) 0.0) + (set! (-> v1-9 direction w) 0.0) + ) + (set-vector! (-> arg0 mood-lights-table data 1 lgt-color) 0.66 0.436 0.291 1.0) + (set-vector! (-> arg0 mood-lights-table data 1 amb-color) 0.358 0.575 0.716 1.0) + (let ((v1-15 (-> arg0 mood-lights-table data 2))) + (set! (-> v1-15 direction x) -0.067) + (set! (-> v1-15 direction y) 0.25) + (set! (-> v1-15 direction z) -0.966) + (set! (-> v1-15 direction w) 0.0) + ) + (set-vector! (-> arg0 mood-lights-table data 2 lgt-color) 0.0 0.0 0.0 1.0) + (set-vector! (-> arg0 mood-lights-table data 2 amb-color) 0.383 0.366 0.599 1.0) + (let ((v1-21 (-> arg0 mood-lights-table data 3))) + (set! (-> v1-21 direction x) 0.866) + (set! (-> v1-21 direction y) 0.5) + (set! (-> v1-21 direction z) 0.0) + (set! (-> v1-21 direction w) 0.0) + ) + (set-vector! (-> arg0 mood-lights-table data 3 lgt-color) 0.0 0.0 0.0 1.0) + (set-vector! (-> arg0 mood-lights-table data 3 amb-color) 0.304 0.409 0.76 1.0) + (let ((s0-0 (-> arg0 light-group 1))) + (update-light-kit s0-0 (-> arg0 light-group 0 ambi) 1.25) + (set! (-> s0-0 dir2 levels x) (+ 0.666 (* 0.333 (-> arg0 times 4 w)))) + ) + (let ((s0-1 (-> arg0 light-group 2))) + (update-light-kit s0-1 (-> arg0 light-group 0 ambi) 1.25) + (set! (-> s0-1 dir2 levels x) (+ 0.666 (* 0.333 (-> arg0 times 4 w)))) + ) + (let ((v1-28 (new 'static 'vector :x 4605890.5 :z -14253220.0 :w 1.0)) + (a0-8 (new 'stack-no-clear 'vector)) ) - ) - (-> arg0 mood-lights-table data 7) - (let* ((s1-1 (-> arg0 light-group 0 dir2)) - (f1-21 - (+ 0.875 (* 0.125 (sin (-> (the-as (array float) s0-2) 4)))) - ) - (f0-66 (* 3.52 f1-21)) + 0.0 + (vector-! a0-8 (-> *target* control trans) v1-28) + (set! (-> a0-8 y) 0.0) + (let ((f0-54 (vector-length a0-8))) + (set-vector! s3-0 0.19 0.128 0.128 1.0) + (set-vector! s5-1 0.0 1.0 0.0 0.0) + (set-vector! s4-0 0.31 0.372 0.372 0.0) + (cond + ((>= 532480.0 f0-54) + (let* ((f1-18 (* 0.000008138021 (+ -409600.0 f0-54))) + (a1-9 (new 'static 'vector :x 0.66 :y 0.436 :z 0.291)) + (a2-8 (new 'static 'vector :x 0.19 :y 0.128 :z 0.128)) + (f30-0 (fmax 0.0 (fmin 1.0 f1-18))) + ) + (vector-lerp! s2-0 a1-9 a2-8 f30-0) + (let ((s0-2 (the-as structure (-> arg0 state)))) + (when (not (paused?)) + (set! (-> (the-as (array int8) s0-2) 20) (the int (+ 4.0 arg1))) + (+! (-> (the-as (array float) s0-2) 4) (rand-vu-float-range 64.0 2048.0)) + ) + (-> arg0 mood-lights-table data 7) + (let* ((s1-1 (-> arg0 light-group 0 dir2)) + (f1-21 (+ 0.875 (* 0.125 (sin (-> (the-as (array float) s0-2) 4))))) + (f0-66 (* 3.52 f1-21)) + ) + (set-vector! (-> s1-1 direction) 0.0 -1.0 0.0 0.0) + (set-vector! (-> s1-1 color) 1.0 0.38 0.0 1.0) + (set! (-> s1-1 levels x) (* f1-21 (- 1.0 f30-0))) + (set! (-> s1-1 levels y) (* f0-66 (- 1.0 f30-0))) + ) + (let ((f30-1 (* 0.015625 (the float (logand (-> (the-as (array uint8) s0-2) 20) 63))))) + (set! (-> (the-as matrix s0-2) vector 0 y) (the float (the int (rand-vu-float-range 128.0 255.0)))) + (set! (-> arg0 times 7 w) (* f30-1 (-> (the-as matrix s0-2) vector 0 y))) + ) ) - (set-vector! (-> s1-1 direction) 0.0 -1.0 0.0 0.0) - (set-vector! (-> s1-1 color) 1.0 0.38 0.0 1.0) - (set! (-> s1-1 levels x) (* f1-21 (- 1.0 f30-0))) - (set! (-> s1-1 levels y) (* f0-66 (- 1.0 f30-0))) - ) - (let - ((f30-1 - (* - 0.015625 - (the float (logand (-> (the-as (array uint8) s0-2) 20) 63)) - ) + ) ) + (else + (set-vector! s2-0 0.19 0.128 0.128 1.0) + ) ) - (set! - (-> (the-as matrix s0-2) vector 0 y) - (the float (the int (rand-vu-float-range 128.0 255.0))) - ) - (set! - (-> arg0 times 7 w) - (* f30-1 (-> (the-as matrix s0-2) vector 0 y)) - ) - ) ) - ) ) - (else - (set-vector! s2-0 0.19 0.128 0.128 1.0) - ) - ) - ) - ) - (let ((s1-2 (new 'stack-no-clear 'vector)) - (a1-12 (target-joint-pos)) + (let ((s1-2 (new 'stack-no-clear 'vector)) + (a1-12 (target-joint-pos)) + ) + 0.0 + (set-vector! s1-2 4454400.0 196608.0 -14725120.0 1.0) + (let ((f0-83 (vector-vector-distance s1-2 a1-12))) + (when (< f0-83 122880.0) + (let ((f30-2 (* 0.000016276043 (+ -61440.0 f0-83)))) + (set-target-light-index 2) + (set! (-> *time-of-day-context* target-interp) (- 1.0 (fmax 0.0 (fmin 1.0 f30-2)))) + ) + ) + ) + ) + (let* ((f1-33 (* 0.0000044389203 (+ -184320.0 (-> *math-camera* trans y)))) + (f30-3 (fmax 0.0 (fmin 1.0 f1-33))) + ) + (let ((v1-49 (-> arg0 light-group 0 dir2))) + (set! (-> v1-49 levels x) (* (-> v1-49 levels x) (- 1.0 f30-3))) + (set! (-> v1-49 levels y) (* (-> v1-49 levels y) (- 1.0 f30-3))) + ) + (vector-lerp! + (-> arg0 mood-lights-table data 0 lgt-color) + s3-0 + (-> arg0 mood-lights-table data 0 lgt-color) + f30-3 + ) + (vector-lerp! + (-> arg0 mood-lights-table data 1 lgt-color) + s2-0 + (-> arg0 mood-lights-table data 1 lgt-color) + f30-3 + ) + (vector-lerp! + (-> arg0 mood-lights-table data 2 lgt-color) + s3-0 + (-> arg0 mood-lights-table data 2 lgt-color) + f30-3 + ) + (vector-lerp! + (-> arg0 mood-lights-table data 3 lgt-color) + s3-0 + (-> arg0 mood-lights-table data 3 lgt-color) + f30-3 + ) + (vector-lerp! + (-> arg0 mood-lights-table data 0 amb-color) + s4-0 + (-> arg0 mood-lights-table data 0 amb-color) + f30-3 + ) + (vector-lerp! + (-> arg0 mood-lights-table data 1 amb-color) + s4-0 + (-> arg0 mood-lights-table data 1 amb-color) + f30-3 + ) + (vector-lerp! + (-> arg0 mood-lights-table data 2 amb-color) + s4-0 + (-> arg0 mood-lights-table data 2 amb-color) + f30-3 + ) + (vector-lerp! + (-> arg0 mood-lights-table data 3 amb-color) + s4-0 + (-> arg0 mood-lights-table data 3 amb-color) + f30-3 + ) + (vector-lerp! + (the-as vector (-> arg0 mood-lights-table data)) + s5-1 + (the-as vector (-> arg0 mood-lights-table data)) + f30-3 + ) + (vector-lerp! + (the-as vector (-> arg0 mood-lights-table data 1)) + s5-1 + (the-as vector (-> arg0 mood-lights-table data 1)) + f30-3 + ) + (vector-lerp! + (the-as vector (-> arg0 mood-lights-table data 2)) + s5-1 + (the-as vector (-> arg0 mood-lights-table data 2)) + f30-3 + ) + (vector-lerp! + (the-as vector (-> arg0 mood-lights-table data 3)) + s5-1 + (the-as vector (-> arg0 mood-lights-table data 3)) + f30-3 ) - 0.0 - (set-vector! s1-2 4454400.0 196608.0 -14725120.0 1.0) - (let ((f0-83 (vector-vector-distance s1-2 a1-12))) - (when (< f0-83 122880.0) - (let ((f30-2 (* 0.000016276043 (+ -61440.0 f0-83)))) - (set-target-light-index 2) - (set! - (-> *time-of-day-context* target-interp) - (- 1.0 (fmax 0.0 (fmin 1.0 f30-2))) - ) ) - ) ) - ) - (let* ((f1-33 (* 0.0000044389203 (+ -184320.0 (-> *math-camera* trans y)))) - (f30-3 (fmax 0.0 (fmin 1.0 f1-33))) - ) - (let ((v1-49 (-> arg0 light-group 0 dir2))) - (set! (-> v1-49 levels x) (* (-> v1-49 levels x) (- 1.0 f30-3))) - (set! (-> v1-49 levels y) (* (-> v1-49 levels y) (- 1.0 f30-3))) - ) - (vector-lerp! - (-> arg0 mood-lights-table data 0 lgt-color) - s3-0 - (-> arg0 mood-lights-table data 0 lgt-color) - f30-3 - ) - (vector-lerp! - (-> arg0 mood-lights-table data 1 lgt-color) - s2-0 - (-> arg0 mood-lights-table data 1 lgt-color) - f30-3 - ) - (vector-lerp! - (-> arg0 mood-lights-table data 2 lgt-color) - s3-0 - (-> arg0 mood-lights-table data 2 lgt-color) - f30-3 - ) - (vector-lerp! - (-> arg0 mood-lights-table data 3 lgt-color) - s3-0 - (-> arg0 mood-lights-table data 3 lgt-color) - f30-3 - ) - (vector-lerp! - (-> arg0 mood-lights-table data 0 amb-color) - s4-0 - (-> arg0 mood-lights-table data 0 amb-color) - f30-3 - ) - (vector-lerp! - (-> arg0 mood-lights-table data 1 amb-color) - s4-0 - (-> arg0 mood-lights-table data 1 amb-color) - f30-3 - ) - (vector-lerp! - (-> arg0 mood-lights-table data 2 amb-color) - s4-0 - (-> arg0 mood-lights-table data 2 amb-color) - f30-3 - ) - (vector-lerp! - (-> arg0 mood-lights-table data 3 amb-color) - s4-0 - (-> arg0 mood-lights-table data 3 amb-color) - f30-3 - ) - (vector-lerp! - (the-as vector (-> arg0 mood-lights-table data)) - s5-1 - (the-as vector (-> arg0 mood-lights-table data)) - f30-3 - ) - (vector-lerp! - (the-as vector (-> arg0 mood-lights-table data 1)) - s5-1 - (the-as vector (-> arg0 mood-lights-table data 1)) - f30-3 - ) - (vector-lerp! - (the-as vector (-> arg0 mood-lights-table data 2)) - s5-1 - (the-as vector (-> arg0 mood-lights-table data 2)) - f30-3 - ) - (vector-lerp! - (the-as vector (-> arg0 mood-lights-table data 3)) - s5-1 - (the-as vector (-> arg0 mood-lights-table data 3)) - f30-3 - ) - ) ) - ) (update-mood-itimes arg0) 0 (none) @@ -3157,13 +2576,13 @@ (clear-mood-times arg0) (set! (-> arg0 times 0 w) 1.0) (when *time-of-day-effects* - (set! (-> arg0 times 2 w) (-> *palette-fade-controls* control 2 fade)) - (update-mood-light arg0 1 18 19 0.875 0.25 20.0 32) - (if (not (paused?)) - (+! (-> arg0 some-byte) 1) + (set! (-> arg0 times 2 w) (-> *palette-fade-controls* control 2 fade)) + (update-mood-light arg0 1 18 19 0.875 0.25 20.0 32) + (if (not (paused?)) + (+! (-> arg0 some-byte) 1) + ) + (update-mood-lava arg0 4 0 #t) ) - (update-mood-lava arg0 4 0 #t) - ) (update-mood-quick arg0 0 0 0 arg2) (update-mood-itimes arg0) 0 @@ -3201,313 +2620,176 @@ (clear-mood-times arg0) (update-mood-palette arg0 arg1 arg2) (when *time-of-day-effects* - (let ((s4-0 (new 'stack-no-clear 'vector)) - (s3-0 (-> *math-camera* trans)) - ) - (set-vector! s4-0 868352.0 151552.0 -7720960.0 1.0) - (let ((f30-0 (vector-vector-distance s4-0 s3-0))) - (cond - ((< f30-0 614400.0) - (update-mood-palette *ogre2-mood* arg1 arg2) - (let* ((f1-2 (* 0.0000048828124 (+ -409600.0 f30-0))) - (f30-1 (fmax 0.0 (fmin 1.0 f1-2))) - ) - (let ((s4-1 (the-as (pointer number) (-> arg0 state)))) - (if (not (paused?)) - (+! - (-> (the-as (pointer float) s4-1) 5) - (rand-vu-float-range 64.0 2048.0) - ) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s3-0 (-> *math-camera* trans)) ) - (if (not (movie?)) - (update-mood-lightning arg0 2 2 18 4 0.5 #f) - ) - (cond - ((or (nonzero? *lightning-time2*) (movie?)) - (if (not (paused?)) - (set! - (-> (the-as (pointer float) s4-1) 6) - (+ 0.2 (-> (the-as (pointer float) s4-1) 6)) - ) - ) - (if (< 1.0 (-> (the-as (pointer float) s4-1) 6)) - (set! (-> (the-as (pointer float) s4-1) 6) 1.0) - ) - (let* ((f28-1 (-> (the-as (pointer float) s4-1) 6)) - (s5-1 (-> arg0 light-group 0 dir2)) - (f1-6 - (+ - 0.875 - (* 0.125 (sin (-> (the-as (pointer float) s4-1) 5))) - ) - ) - (f0-17 (* 3.52 f1-6)) + (set-vector! s4-0 868352.0 151552.0 -7720960.0 1.0) + (let ((f30-0 (vector-vector-distance s4-0 s3-0))) + (cond + ((< f30-0 614400.0) + (update-mood-palette *ogre2-mood* arg1 arg2) + (let* ((f1-2 (* 0.0000048828124 (+ -409600.0 f30-0))) + (f30-1 (fmax 0.0 (fmin 1.0 f1-2))) ) - (set-vector! (-> s5-1 direction) 0.0 -1.0 0.0 0.0) - (set-vector! (-> s5-1 color) 1.0 0.38 0.0 1.0) - (set! (-> s5-1 levels x) (* f1-6 (- 1.0 f30-1) f28-1)) - (set! (-> s5-1 levels y) (* f0-17 (- 1.0 f30-1) f28-1)) - ) + (let ((s4-1 (the-as (pointer number) (-> arg0 state)))) + (if (not (paused?)) + (+! (-> (the-as (pointer float) s4-1) 5) (rand-vu-float-range 64.0 2048.0)) + ) + (if (not (movie?)) + (update-mood-lightning arg0 2 2 18 4 0.5 #f) + ) + (cond + ((or (nonzero? *lightning-time2*) (movie?)) + (if (not (paused?)) + (set! (-> (the-as (pointer float) s4-1) 6) (+ 0.2 (-> (the-as (pointer float) s4-1) 6))) + ) + (if (< 1.0 (-> (the-as (pointer float) s4-1) 6)) + (set! (-> (the-as (pointer float) s4-1) 6) 1.0) + ) + (let* ((f28-1 (-> (the-as (pointer float) s4-1) 6)) + (s5-1 (-> arg0 light-group 0 dir2)) + (f1-6 (+ 0.875 (* 0.125 (sin (-> (the-as (pointer float) s4-1) 5))))) + (f0-17 (* 3.52 f1-6)) + ) + (set-vector! (-> s5-1 direction) 0.0 -1.0 0.0 0.0) + (set-vector! (-> s5-1 color) 1.0 0.38 0.0 1.0) + (set! (-> s5-1 levels x) (* f1-6 (- 1.0 f30-1) f28-1)) + (set! (-> s5-1 levels y) (* f0-17 (- 1.0 f30-1) f28-1)) + ) + ) + (else + (set! (-> (the-as (pointer float) s4-1) 6) 0.0) + ) + ) + ) + (let ((s5-2 (-> arg0 light-group)) + (s4-2 (-> *ogre2-mood* light-group)) + ) + (cond + ((= f30-1 0.0) + (set! (-> s5-2 0 dir0 direction quad) (-> s4-2 0 dir0 direction quad)) + (set! (-> s5-2 0 dir0 color quad) (-> s4-2 0 dir0 color quad)) + (set! (-> s5-2 0 dir0 levels quad) (-> s4-2 0 dir0 levels quad)) + (set! (-> s5-2 0 dir1 direction quad) (-> s4-2 0 dir1 direction quad)) + (set! (-> s5-2 0 dir1 color quad) (-> s4-2 0 dir1 color quad)) + (set! (-> s5-2 0 dir1 levels quad) (-> s4-2 0 dir1 levels quad)) + (set! (-> s5-2 0 ambi direction quad) (-> s4-2 0 ambi direction quad)) + (set! (-> s5-2 0 ambi color quad) (-> s4-2 0 ambi color quad)) + (set! (-> s5-2 0 ambi levels quad) (-> s4-2 0 ambi levels quad)) + (set! (-> arg0 current-shadow quad) (-> *ogre2-mood* current-shadow quad)) + ) + (else + (vector4-lerp! (the-as vector (-> s5-2 0)) (the-as vector (-> s4-2 0)) (the-as vector (-> s5-2 0)) f30-1) + (vector4-lerp! (-> s5-2 0 dir0 color) (-> s4-2 0 dir0 color) (-> s5-2 0 dir0 color) f30-1) + (vector4-lerp! (-> s5-2 0 dir0 levels) (-> s4-2 0 dir0 levels) (-> s5-2 0 dir0 levels) f30-1) + (vector4-lerp! + (the-as vector (-> s5-2 0 dir1)) + (the-as vector (-> s4-2 0 dir1)) + (the-as vector (-> s5-2 0 dir1)) + f30-1 + ) + (vector4-lerp! (-> s5-2 0 dir1 color) (-> s4-2 0 dir1 color) (-> s5-2 0 dir1 color) f30-1) + (vector4-lerp! (-> s5-2 0 dir1 levels) (-> s4-2 0 dir1 levels) (-> s5-2 0 dir1 levels) f30-1) + (vector4-lerp! + (the-as vector (-> s5-2 0 ambi)) + (the-as vector (-> s4-2 0 ambi)) + (the-as vector (-> s5-2 0 ambi)) + f30-1 + ) + (vector4-lerp! (-> s5-2 0 ambi color) (-> s4-2 0 ambi color) (-> s5-2 0 ambi color) f30-1) + (vector4-lerp! (-> s5-2 0 ambi levels) (-> s4-2 0 ambi levels) (-> s5-2 0 ambi levels) f30-1) + (vector4-lerp! (-> arg0 current-shadow) (-> *ogre2-mood* current-shadow) (-> arg0 current-shadow) f30-1) + ) + ) + ) + ) ) (else - (set! (-> (the-as (pointer float) s4-1) 6) 0.0) - ) - ) - ) - (let ((s5-2 (-> arg0 light-group)) - (s4-2 (-> *ogre2-mood* light-group)) - ) - (cond - ((= f30-1 0.0) - (set! - (-> s5-2 0 dir0 direction quad) - (-> s4-2 0 dir0 direction quad) - ) - (set! (-> s5-2 0 dir0 color quad) (-> s4-2 0 dir0 color quad)) - (set! (-> s5-2 0 dir0 levels quad) (-> s4-2 0 dir0 levels quad)) - (set! - (-> s5-2 0 dir1 direction quad) - (-> s4-2 0 dir1 direction quad) - ) - (set! (-> s5-2 0 dir1 color quad) (-> s4-2 0 dir1 color quad)) - (set! (-> s5-2 0 dir1 levels quad) (-> s4-2 0 dir1 levels quad)) - (set! - (-> s5-2 0 ambi direction quad) - (-> s4-2 0 ambi direction quad) - ) - (set! (-> s5-2 0 ambi color quad) (-> s4-2 0 ambi color quad)) - (set! (-> s5-2 0 ambi levels quad) (-> s4-2 0 ambi levels quad)) - (set! - (-> arg0 current-shadow quad) - (-> *ogre2-mood* current-shadow quad) - ) - ) - (else - (vector4-lerp! - (the-as vector (-> s5-2 0)) - (the-as vector (-> s4-2 0)) - (the-as vector (-> s5-2 0)) - f30-1 - ) - (vector4-lerp! - (-> s5-2 0 dir0 color) - (-> s4-2 0 dir0 color) - (-> s5-2 0 dir0 color) - f30-1 - ) - (vector4-lerp! - (-> s5-2 0 dir0 levels) - (-> s4-2 0 dir0 levels) - (-> s5-2 0 dir0 levels) - f30-1 - ) - (vector4-lerp! - (the-as vector (-> s5-2 0 dir1)) - (the-as vector (-> s4-2 0 dir1)) - (the-as vector (-> s5-2 0 dir1)) - f30-1 - ) - (vector4-lerp! - (-> s5-2 0 dir1 color) - (-> s4-2 0 dir1 color) - (-> s5-2 0 dir1 color) - f30-1 - ) - (vector4-lerp! - (-> s5-2 0 dir1 levels) - (-> s4-2 0 dir1 levels) - (-> s5-2 0 dir1 levels) - f30-1 - ) - (vector4-lerp! - (the-as vector (-> s5-2 0 ambi)) - (the-as vector (-> s4-2 0 ambi)) - (the-as vector (-> s5-2 0 ambi)) - f30-1 - ) - (vector4-lerp! - (-> s5-2 0 ambi color) - (-> s4-2 0 ambi color) - (-> s5-2 0 ambi color) - f30-1 - ) - (vector4-lerp! - (-> s5-2 0 ambi levels) - (-> s4-2 0 ambi levels) - (-> s5-2 0 ambi levels) - f30-1 - ) - (vector4-lerp! - (-> arg0 current-shadow) - (-> *ogre2-mood* current-shadow) - (-> arg0 current-shadow) - f30-1 - ) - ) - ) - ) - ) - ) - (else - (set-vector! s4-0 2973696.0 184320.0 -13414400.0 1.0) - (let ((f30-2 (vector-vector-distance s4-0 s3-0))) - (when (< f30-2 1298432.0) - (update-mood-quick *ogre3-mood* 0 0 0 arg2) - (let* ((f1-13 (* 0.0000048828124 (+ -1093632.0 f30-2))) - (f30-3 (fmax 0.0 (fmin 1.0 f1-13))) - (s5-3 (-> arg0 light-group)) - (s4-3 (-> *ogre3-mood* light-group)) + (set-vector! s4-0 2973696.0 184320.0 -13414400.0 1.0) + (let ((f30-2 (vector-vector-distance s4-0 s3-0))) + (when (< f30-2 1298432.0) + (update-mood-quick *ogre3-mood* 0 0 0 arg2) + (let* ((f1-13 (* 0.0000048828124 (+ -1093632.0 f30-2))) + (f30-3 (fmax 0.0 (fmin 1.0 f1-13))) + (s5-3 (-> arg0 light-group)) + (s4-3 (-> *ogre3-mood* light-group)) + ) + (cond + ((= f30-3 0.0) + (set! (-> s5-3 0 dir0 direction quad) (-> s4-3 0 dir0 direction quad)) + (set! (-> s5-3 0 dir0 color quad) (-> s4-3 0 dir0 color quad)) + (set! (-> s5-3 0 dir0 levels quad) (-> s4-3 0 dir0 levels quad)) + (set! (-> s5-3 0 dir1 direction quad) (-> s4-3 0 dir1 direction quad)) + (set! (-> s5-3 0 dir1 color quad) (-> s4-3 0 dir1 color quad)) + (set! (-> s5-3 0 dir1 levels quad) (-> s4-3 0 dir1 levels quad)) + (set! (-> s5-3 0 dir2 direction quad) (-> s4-3 0 dir2 direction quad)) + (set! (-> s5-3 0 dir2 color quad) (-> s4-3 0 dir2 color quad)) + (set! (-> s5-3 0 dir2 levels quad) (-> s4-3 0 dir2 levels quad)) + (set! (-> s5-3 0 ambi direction quad) (-> s4-3 0 ambi direction quad)) + (set! (-> s5-3 0 ambi color quad) (-> s4-3 0 ambi color quad)) + (set! (-> s5-3 0 ambi levels quad) (-> s4-3 0 ambi levels quad)) + (set! (-> arg0 current-shadow quad) (-> *ogre3-mood* current-shadow quad)) + (set! (-> arg0 current-fog fog-color quad) (-> *ogre3-mood* current-fog fog-color quad)) + (set! (-> arg0 current-fog fog-dists quad) (-> *ogre3-mood* current-fog fog-dists quad)) + (set! (-> arg0 current-fog erase-color quad) (-> *ogre3-mood* current-fog erase-color quad)) + ) + (else + (vector4-lerp! (the-as vector (-> s5-3 0)) (the-as vector (-> s4-3 0)) (the-as vector (-> s5-3 0)) f30-3) + (vector4-lerp! (-> s5-3 0 dir0 color) (-> s4-3 0 dir0 color) (-> s5-3 0 dir0 color) f30-3) + (vector4-lerp! (-> s5-3 0 dir0 levels) (-> s4-3 0 dir0 levels) (-> s5-3 0 dir0 levels) f30-3) + (vector4-lerp! + (the-as vector (-> s5-3 0 dir1)) + (the-as vector (-> s4-3 0 dir1)) + (the-as vector (-> s5-3 0 dir1)) + f30-3 + ) + (vector4-lerp! (-> s5-3 0 dir1 color) (-> s4-3 0 dir1 color) (-> s5-3 0 dir1 color) f30-3) + (vector4-lerp! (-> s5-3 0 dir1 levels) (-> s4-3 0 dir1 levels) (-> s5-3 0 dir1 levels) f30-3) + (vector4-lerp! + (the-as vector (-> s5-3 0 dir2)) + (the-as vector (-> s4-3 0 dir2)) + (the-as vector (-> s5-3 0 dir1)) + f30-3 + ) + (vector4-lerp! (-> s5-3 0 dir2 color) (-> s4-3 0 dir2 color) (-> s5-3 0 dir1 color) f30-3) + (vector4-lerp! (-> s5-3 0 dir2 levels) (-> s4-3 0 dir2 levels) (-> s5-3 0 dir1 levels) f30-3) + (vector4-lerp! + (the-as vector (-> s5-3 0 ambi)) + (the-as vector (-> s4-3 0 ambi)) + (the-as vector (-> s5-3 0 ambi)) + f30-3 + ) + (vector4-lerp! (-> s5-3 0 ambi color) (-> s4-3 0 ambi color) (-> s5-3 0 ambi color) f30-3) + (vector4-lerp! (-> s5-3 0 ambi levels) (-> s4-3 0 ambi levels) (-> s5-3 0 ambi levels) f30-3) + (vector4-lerp! (-> arg0 current-shadow) (-> *ogre3-mood* current-shadow) (-> arg0 current-shadow) f30-3) + (vector4-lerp! + (the-as vector (-> arg0 current-fog)) + (the-as vector (-> *ogre3-mood* current-fog)) + (the-as vector (-> arg0 current-fog)) + f30-3 + ) + (vector4-lerp! + (-> arg0 current-fog fog-dists) + (-> *ogre3-mood* current-fog fog-dists) + (-> arg0 current-fog fog-dists) + f30-3 + ) + (vector4-lerp! + (-> arg0 current-fog erase-color) + (-> *ogre3-mood* current-fog erase-color) + (-> arg0 current-fog erase-color) + f30-3 + ) + ) + ) + ) ) - (cond - ((= f30-3 0.0) - (set! - (-> s5-3 0 dir0 direction quad) - (-> s4-3 0 dir0 direction quad) - ) - (set! (-> s5-3 0 dir0 color quad) (-> s4-3 0 dir0 color quad)) - (set! (-> s5-3 0 dir0 levels quad) (-> s4-3 0 dir0 levels quad)) - (set! - (-> s5-3 0 dir1 direction quad) - (-> s4-3 0 dir1 direction quad) - ) - (set! (-> s5-3 0 dir1 color quad) (-> s4-3 0 dir1 color quad)) - (set! (-> s5-3 0 dir1 levels quad) (-> s4-3 0 dir1 levels quad)) - (set! - (-> s5-3 0 dir2 direction quad) - (-> s4-3 0 dir2 direction quad) - ) - (set! (-> s5-3 0 dir2 color quad) (-> s4-3 0 dir2 color quad)) - (set! (-> s5-3 0 dir2 levels quad) (-> s4-3 0 dir2 levels quad)) - (set! - (-> s5-3 0 ambi direction quad) - (-> s4-3 0 ambi direction quad) - ) - (set! (-> s5-3 0 ambi color quad) (-> s4-3 0 ambi color quad)) - (set! (-> s5-3 0 ambi levels quad) (-> s4-3 0 ambi levels quad)) - (set! - (-> arg0 current-shadow quad) - (-> *ogre3-mood* current-shadow quad) - ) - (set! - (-> arg0 current-fog fog-color quad) - (-> *ogre3-mood* current-fog fog-color quad) - ) - (set! - (-> arg0 current-fog fog-dists quad) - (-> *ogre3-mood* current-fog fog-dists quad) - ) - (set! - (-> arg0 current-fog erase-color quad) - (-> *ogre3-mood* current-fog erase-color quad) - ) + ) ) - (else - (vector4-lerp! - (the-as vector (-> s5-3 0)) - (the-as vector (-> s4-3 0)) - (the-as vector (-> s5-3 0)) - f30-3 - ) - (vector4-lerp! - (-> s5-3 0 dir0 color) - (-> s4-3 0 dir0 color) - (-> s5-3 0 dir0 color) - f30-3 - ) - (vector4-lerp! - (-> s5-3 0 dir0 levels) - (-> s4-3 0 dir0 levels) - (-> s5-3 0 dir0 levels) - f30-3 - ) - (vector4-lerp! - (the-as vector (-> s5-3 0 dir1)) - (the-as vector (-> s4-3 0 dir1)) - (the-as vector (-> s5-3 0 dir1)) - f30-3 - ) - (vector4-lerp! - (-> s5-3 0 dir1 color) - (-> s4-3 0 dir1 color) - (-> s5-3 0 dir1 color) - f30-3 - ) - (vector4-lerp! - (-> s5-3 0 dir1 levels) - (-> s4-3 0 dir1 levels) - (-> s5-3 0 dir1 levels) - f30-3 - ) - (vector4-lerp! - (the-as vector (-> s5-3 0 dir2)) - (the-as vector (-> s4-3 0 dir2)) - (the-as vector (-> s5-3 0 dir1)) - f30-3 - ) - (vector4-lerp! - (-> s5-3 0 dir2 color) - (-> s4-3 0 dir2 color) - (-> s5-3 0 dir1 color) - f30-3 - ) - (vector4-lerp! - (-> s5-3 0 dir2 levels) - (-> s4-3 0 dir2 levels) - (-> s5-3 0 dir1 levels) - f30-3 - ) - (vector4-lerp! - (the-as vector (-> s5-3 0 ambi)) - (the-as vector (-> s4-3 0 ambi)) - (the-as vector (-> s5-3 0 ambi)) - f30-3 - ) - (vector4-lerp! - (-> s5-3 0 ambi color) - (-> s4-3 0 ambi color) - (-> s5-3 0 ambi color) - f30-3 - ) - (vector4-lerp! - (-> s5-3 0 ambi levels) - (-> s4-3 0 ambi levels) - (-> s5-3 0 ambi levels) - f30-3 - ) - (vector4-lerp! - (-> arg0 current-shadow) - (-> *ogre3-mood* current-shadow) - (-> arg0 current-shadow) - f30-3 - ) - (vector4-lerp! - (the-as vector (-> arg0 current-fog)) - (the-as vector (-> *ogre3-mood* current-fog)) - (the-as vector (-> arg0 current-fog)) - f30-3 - ) - (vector4-lerp! - (-> arg0 current-fog fog-dists) - (-> *ogre3-mood* current-fog fog-dists) - (-> arg0 current-fog fog-dists) - f30-3 - ) - (vector4-lerp! - (-> arg0 current-fog erase-color) - (-> *ogre3-mood* current-fog erase-color) - (-> arg0 current-fog erase-color) - f30-3 - ) - ) - ) ) - ) ) - ) ) - ) ) - ) (update-mood-itimes arg0) 0 (none) @@ -3537,237 +2819,170 @@ (set! (-> arg0 light-group 0 dir2 levels x) 0.0) (set! (-> *finalboss2-mood* light-group 0 dir2 levels x) 0.0) (let ((s4-0 (the-as (pointer integer) (-> arg0 state)))) - (cond - ((or - (logtest? - (get-reminder (get-task-control (game-task finalboss-movies)) 0) - 1 - ) - (not *time-of-day-effects*) - ) - (when (and *target* (= (-> *target* next-state name) 'target-continue)) - (set! - (-> (the-as (pointer int64) s4-0) 0) - (+ (-> *display* base-frame-counter) -10000) - ) - (set! - (-> (the-as (pointer int64) s4-0) 1) - (+ (-> *display* base-frame-counter) -10000) - ) - ) - (update-mood-fog arg0 arg1) - (update-mood-sky-texture arg0 arg1) - (update-mood-palette arg0 arg1 arg2) - (dotimes (v1-18 8) - (set! (-> *finalboss2-mood* sky-times v1-18) 0.0) - ) - (set! (-> *finalboss2-mood* times 5 w) 1.0) - (set! (-> *finalboss2-mood* sky-times 3) 1.0) - (update-mood-quick *finalboss2-mood* 3 3 5 arg2) - (when (= (-> *time-of-day-proc* 0 hour) 6) - (let ((f30-0 (-> *palette-fade-controls* control 2 fade)) - (s3-1 (-> arg0 light-group)) - ) - (let ((s2-0 (-> arg0 mood-lights-table data 2))) - (set! (-> arg0 times 2 w) f30-0) - (vector+float*! - (the-as vector (-> s3-1 0)) - (the-as vector (-> s3-1 0)) - (-> s2-0 direction) - f30-0 + (cond + ((or (logtest? (get-reminder (get-task-control (game-task finalboss-movies)) 0) 1) (not *time-of-day-effects*)) + (when (and *target* (= (-> *target* next-state name) 'target-continue)) + (set! (-> (the-as (pointer int64) s4-0) 0) (+ (-> *display* base-frame-counter) -10000)) + (set! (-> (the-as (pointer int64) s4-0) 1) (+ (-> *display* base-frame-counter) -10000)) ) - (vector+float*! - (-> s3-1 0 dir0 color) - (-> s3-1 0 dir0 color) - (-> s2-0 lgt-color) - f30-0 + (update-mood-fog arg0 arg1) + (update-mood-sky-texture arg0 arg1) + (update-mood-palette arg0 arg1 arg2) + (dotimes (v1-18 8) + (set! (-> *finalboss2-mood* sky-times v1-18) 0.0) ) - ) - (vector-normalize! (the-as vector (-> s3-1 0)) 1.0) - ) - ) - (let ((a0-17 (new 'stack-no-clear 'vector)) - (a1-10 (-> *math-camera* trans)) - ) - (set-vector! a0-17 12378112.0 1990656.0 -19873792.0 1.0) - (let ((f0-9 (vector-vector-distance a0-17 a1-10))) - (when (< f0-9 819200.0) - (let* ((f2-1 (* 0.0000048828124 (+ -614400.0 f0-9))) - (f0-12 (- 1.0 (fmax 0.0 (fmin 1.0 f2-1)))) + (set! (-> *finalboss2-mood* times 5 w) 1.0) + (set! (-> *finalboss2-mood* sky-times 3) 1.0) + (update-mood-quick *finalboss2-mood* 3 3 5 arg2) + (when (= (-> *time-of-day-proc* 0 hour) 6) + (let ((f30-0 (-> *palette-fade-controls* control 2 fade)) + (s3-1 (-> arg0 light-group)) ) - (let ((v1-32 (-> *finalboss2-mood* light-group 0 dir2))) - (set! (-> v1-32 direction x) 0.0) - (set! (-> v1-32 direction y) -1.0) - (set! (-> v1-32 direction z) 0.0) - (set! (-> v1-32 direction w) 1.0) - ) - (set-vector! - (-> *finalboss2-mood* light-group 0 dir2 color) - 1.0 - 0.8 - 2.0 - 1.0 - ) - (set! (-> *finalboss2-mood* light-group 0 dir2 levels x) f0-12) - ) - ) - ) - ) - (cond - ((logtest? - (get-reminder (get-task-control (game-task finalboss-movies)) 0) - 2 - ) - (let* - ((f1-14 - (* - 0.00055555557 - (the - float - (- - (-> *display* base-frame-counter) - (-> (the-as (pointer int64) s4-0) 1) + (let ((s2-0 (-> arg0 mood-lights-table data 2))) + (set! (-> arg0 times 2 w) f30-0) + (vector+float*! (the-as vector (-> s3-1 0)) (the-as vector (-> s3-1 0)) (-> s2-0 direction) f30-0) + (vector+float*! (-> s3-1 0 dir0 color) (-> s3-1 0 dir0 color) (-> s2-0 lgt-color) f30-0) ) - ) + (vector-normalize! (the-as vector (-> s3-1 0)) 1.0) ) - ) - (f0-15 (fmax 0.0 (fmin 1.0 f1-14))) - (a0-21 (-> arg0 light-group)) ) - (let ((v1-43 (-> a0-21 0 dir2))) - (set! (-> v1-43 direction x) -0.5768) - (set! (-> v1-43 direction y) 0.1697) - (set! (-> v1-43 direction z) -0.799) - (set! (-> v1-43 direction w) 1.0) + (let ((a0-17 (new 'stack-no-clear 'vector)) + (a1-10 (-> *math-camera* trans)) + ) + (set-vector! a0-17 12378112.0 1990656.0 -19873792.0 1.0) + (let ((f0-9 (vector-vector-distance a0-17 a1-10))) + (when (< f0-9 819200.0) + (let* ((f2-1 (* 0.0000048828124 (+ -614400.0 f0-9))) + (f0-12 (- 1.0 (fmax 0.0 (fmin 1.0 f2-1)))) + ) + (let ((v1-32 (-> *finalboss2-mood* light-group 0 dir2))) + (set! (-> v1-32 direction x) 0.0) + (set! (-> v1-32 direction y) -1.0) + (set! (-> v1-32 direction z) 0.0) + (set! (-> v1-32 direction w) 1.0) + ) + (set-vector! (-> *finalboss2-mood* light-group 0 dir2 color) 1.0 0.8 2.0 1.0) + (set! (-> *finalboss2-mood* light-group 0 dir2 levels x) f0-12) + ) + ) + ) ) - (set-vector! (-> a0-21 0 dir2 color) 1.0 1.0 1.0 1.0) - (set! (-> a0-21 0 dir2 levels x) f0-15) - (let ((v1-45 (-> arg0 current-shadow))) - (let ((a0-22 (-> a0-21 0 dir2))) - (set! (-> v1-45 x) (- (-> a0-22 direction x))) - (set! (-> v1-45 y) (- (-> a0-22 direction y))) - (set! (-> v1-45 z) (- (-> a0-22 direction z))) - (when (< (-> a0-22 direction y) 0.9063) - (let* ((f0-23 0.4226) - (f1-25 (-> v1-45 x)) - (f1-27 (* f1-25 f1-25)) - (f2-4 (-> v1-45 z)) - (f0-24 (/ f0-23 (sqrtf (+ f1-27 (* f2-4 f2-4))))) + (cond + ((logtest? (get-reminder (get-task-control (game-task finalboss-movies)) 0) 2) + (let* ((f1-14 + (* 0.00055555557 (the float (- (-> *display* base-frame-counter) (-> (the-as (pointer int64) s4-0) 1)))) + ) + (f0-15 (fmax 0.0 (fmin 1.0 f1-14))) + (a0-21 (-> arg0 light-group)) + ) + (let ((v1-43 (-> a0-21 0 dir2))) + (set! (-> v1-43 direction x) -0.5768) + (set! (-> v1-43 direction y) 0.1697) + (set! (-> v1-43 direction z) -0.799) + (set! (-> v1-43 direction w) 1.0) + ) + (set-vector! (-> a0-21 0 dir2 color) 1.0 1.0 1.0 1.0) + (set! (-> a0-21 0 dir2 levels x) f0-15) + (let ((v1-45 (-> arg0 current-shadow))) + (let ((a0-22 (-> a0-21 0 dir2))) + (set! (-> v1-45 x) (- (-> a0-22 direction x))) + (set! (-> v1-45 y) (- (-> a0-22 direction y))) + (set! (-> v1-45 z) (- (-> a0-22 direction z))) + (when (< (-> a0-22 direction y) 0.9063) + (let* ((f0-23 0.4226) + (f1-25 (-> v1-45 x)) + (f1-27 (* f1-25 f1-25)) + (f2-4 (-> v1-45 z)) + (f0-24 (/ f0-23 (sqrtf (+ f1-27 (* f2-4 f2-4))))) + ) + (set! (-> v1-45 x) (* (-> v1-45 x) f0-24)) + (set! (-> v1-45 y) -0.9063) + (set! (-> v1-45 z) (* (-> v1-45 z) f0-24)) + ) ) - (set! (-> v1-45 x) (* (-> v1-45 x) f0-24)) - (set! (-> v1-45 y) -0.9063) - (set! (-> v1-45 z) (* (-> v1-45 z) f0-24)) + ) + (set! (-> *default-shadow-settings* shadow-dir x) (-> v1-45 x)) + (set! (-> *default-shadow-settings* shadow-dir y) (-> v1-45 y)) + (set! (-> *default-shadow-settings* shadow-dir z) (-> v1-45 z)) + ) ) - ) ) - (set! (-> *default-shadow-settings* shadow-dir x) (-> v1-45 x)) - (set! (-> *default-shadow-settings* shadow-dir y) (-> v1-45 y)) - (set! (-> *default-shadow-settings* shadow-dir z) (-> v1-45 z)) + (else + (set! (-> (the-as (pointer int64) s4-0) 1) (-> *display* base-frame-counter)) + ) + ) + (let* ((f1-36 + (* 0.00019607843 (the float (- (-> *display* base-frame-counter) (-> (the-as (pointer int64) s4-0) 0)))) + ) + (f1-38 (fmax 0.0 (fmin 1.0 f1-36))) + (f0-32 (fmax 0.0 (fmin 1.0 f1-38))) + ) + (set! (-> *level* level arg2 info sun-fade) f0-32) + (set! (-> arg0 num-stars) (* 85.0 f0-32)) + (dotimes (v1-56 8) + (let ((f1-42 (-> *finalboss2-mood* times v1-56 w)) + (f3-1 (-> arg0 times v1-56 w)) + ) + (set! (-> arg0 times v1-56 w) (+ f1-42 (* f0-32 (- f3-1 f1-42)))) + ) + (let ((f1-45 (-> *finalboss2-mood* sky-times v1-56)) + (f3-3 (-> arg0 sky-times v1-56)) + ) + (set! (-> arg0 sky-times v1-56) (+ f1-45 (* f0-32 (- f3-3 f1-45)))) + ) + ) + (update-mood-interp arg0 *finalboss2-mood* arg0 f0-32) ) - ) ) (else - (set! - (-> (the-as (pointer int64) s4-0) 1) - (-> *display* base-frame-counter) - ) - ) - ) - (let* - ((f1-36 - (* - 0.00019607843 - (the - float - (- - (-> *display* base-frame-counter) - (-> (the-as (pointer int64) s4-0) 0) - ) + (set! (-> *level* level arg2 info sun-fade) 0.0) + (set! (-> arg0 num-stars) 0.0) + (set! (-> *time-of-day-proc* 0 hour) 6) + (set! (-> *time-of-day-proc* 0 minute) 0) + (set! (-> *time-of-day-proc* 0 second) 0) + (set! (-> *time-of-day-proc* 0 frame) 0) + (set! (-> (the-as (pointer int64) s4-0) 0) (-> *display* base-frame-counter)) + (dotimes (v1-72 8) + (set! (-> arg0 sky-times v1-72) 0.0) ) - ) - ) - (f1-38 (fmax 0.0 (fmin 1.0 f1-36))) - (f0-32 (fmax 0.0 (fmin 1.0 f1-38))) - ) - (set! (-> *level* level arg2 info sun-fade) f0-32) - (set! (-> arg0 num-stars) (* 85.0 f0-32)) - (dotimes (v1-56 8) - (let ((f1-42 (-> *finalboss2-mood* times v1-56 w)) - (f3-1 (-> arg0 times v1-56 w)) - ) - (set! (-> arg0 times v1-56 w) (+ f1-42 (* f0-32 (- f3-1 f1-42)))) - ) - (let ((f1-45 (-> *finalboss2-mood* sky-times v1-56)) - (f3-3 (-> arg0 sky-times v1-56)) - ) - (set! (-> arg0 sky-times v1-56) (+ f1-45 (* f0-32 (- f3-3 f1-45)))) - ) - ) - (update-mood-interp arg0 *finalboss2-mood* arg0 f0-32) - ) - ) - (else - (set! (-> *level* level arg2 info sun-fade) 0.0) - (set! (-> arg0 num-stars) 0.0) - (set! (-> *time-of-day-proc* 0 hour) 6) - (set! (-> *time-of-day-proc* 0 minute) 0) - (set! (-> *time-of-day-proc* 0 second) 0) - (set! (-> *time-of-day-proc* 0 frame) 0) - (set! - (-> (the-as (pointer int64) s4-0) 0) - (-> *display* base-frame-counter) - ) - (dotimes (v1-72 8) - (set! (-> arg0 sky-times v1-72) 0.0) - ) - (set! (-> arg0 times 5 w) 1.0) - (set! (-> arg0 sky-times 3) 1.0) - (update-mood-quick arg0 3 3 5 arg2) - (let ((f30-1 (-> *palette-fade-controls* control 2 fade)) - (s5-1 (-> arg0 light-group)) - ) - (let ((s4-1 (-> arg0 mood-lights-table data 2))) - (set! (-> arg0 times 2 w) f30-1) - (vector+float*! - (the-as vector (-> s5-1 0)) - (the-as vector (-> s5-1 0)) - (-> s4-1 direction) - f30-1 - ) - (vector+float*! - (-> s5-1 0 dir0 color) - (-> s5-1 0 dir0 color) - (-> s4-1 lgt-color) - f30-1 - ) - ) - (vector-normalize! (the-as vector (-> s5-1 0)) 1.0) - ) - (let ((a0-57 (new 'stack-no-clear 'vector)) - (a1-19 (-> *math-camera* trans)) - ) - (set-vector! a0-57 12378112.0 1990656.0 -19873792.0 1.0) - (let ((f0-42 (vector-vector-distance a0-57 a1-19))) - (when (< f0-42 819200.0) - (let* ((f2-14 (* 0.0000048828124 (+ -614400.0 f0-42))) - (v1-81 (-> arg0 light-group)) - (f0-45 (- 1.0 (fmax 0.0 (fmin 1.0 f2-14)))) - ) - (let ((a0-58 (-> v1-81 0 dir2))) - (set! (-> a0-58 direction x) 0.0) - (set! (-> a0-58 direction y) -1.0) - (set! (-> a0-58 direction z) 0.0) - (set! (-> a0-58 direction w) 1.0) + (set! (-> arg0 times 5 w) 1.0) + (set! (-> arg0 sky-times 3) 1.0) + (update-mood-quick arg0 3 3 5 arg2) + (let ((f30-1 (-> *palette-fade-controls* control 2 fade)) + (s5-1 (-> arg0 light-group)) + ) + (let ((s4-1 (-> arg0 mood-lights-table data 2))) + (set! (-> arg0 times 2 w) f30-1) + (vector+float*! (the-as vector (-> s5-1 0)) (the-as vector (-> s5-1 0)) (-> s4-1 direction) f30-1) + (vector+float*! (-> s5-1 0 dir0 color) (-> s5-1 0 dir0 color) (-> s4-1 lgt-color) f30-1) + ) + (vector-normalize! (the-as vector (-> s5-1 0)) 1.0) + ) + (let ((a0-57 (new 'stack-no-clear 'vector)) + (a1-19 (-> *math-camera* trans)) + ) + (set-vector! a0-57 12378112.0 1990656.0 -19873792.0 1.0) + (let ((f0-42 (vector-vector-distance a0-57 a1-19))) + (when (< f0-42 819200.0) + (let* ((f2-14 (* 0.0000048828124 (+ -614400.0 f0-42))) + (v1-81 (-> arg0 light-group)) + (f0-45 (- 1.0 (fmax 0.0 (fmin 1.0 f2-14)))) + ) + (let ((a0-58 (-> v1-81 0 dir2))) + (set! (-> a0-58 direction x) 0.0) + (set! (-> a0-58 direction y) -1.0) + (set! (-> a0-58 direction z) 0.0) + (set! (-> a0-58 direction w) 1.0) + ) + (set-vector! (-> v1-81 0 dir2 color) 1.0 0.8 2.0 1.0) + (set! (-> v1-81 0 dir2 levels x) f0-45) + ) + ) + ) ) - (set-vector! (-> v1-81 0 dir2 color) 1.0 0.8 2.0 1.0) - (set! (-> v1-81 0 dir2 levels x) f0-45) - ) ) - ) ) - ) ) - ) (update-mood-itimes arg0) (none) ) @@ -3808,209 +3023,154 @@ (set! (-> arg0 times 0 w) 1.0) (update-mood-quick arg0 0 0 0 arg2) (when *time-of-day-effects* - (set! (-> arg0 times 3 w) (-> *palette-fade-controls* control 3 fade)) - (update-mood-flames arg0 4 3 0 0.45 0.001953125 1.0) - (update-mood-light arg0 1 4 5 0.875 0.25 20.0 32) - (if (not (paused?)) - (+! (-> arg0 state 5) 1) - ) - (let ((s5-1 (the-as (pointer number) (-> arg0 state)))) - (let - ((f30-1 - (+ - 0.5 - (* - 0.5 - (cos - (the - float - (* (logand (+ (-> (the-as (pointer uint8) s5-1) 5) 32) 255) 512) + (set! (-> arg0 times 3 w) (-> *palette-fade-controls* control 3 fade)) + (update-mood-flames arg0 4 3 0 0.45 0.001953125 1.0) + (update-mood-light arg0 1 4 5 0.875 0.25 20.0 32) + (if (not (paused?)) + (+! (-> arg0 state 5) 1) + ) + (let ((s5-1 (the-as (pointer number) (-> arg0 state)))) + (let ((f30-1 (+ 0.5 (* 0.5 (cos (the float (* (logand (+ (-> (the-as (pointer uint8) s5-1) 5) 32) 255) 512))))))) + (cond + ((movie?) ) - ) - ) - ) - ) - ) - (cond - ((movie?) - ) - ((nonzero? (-> (the-as (pointer uint8) s5-1) 7)) - (set! (-> arg0 times 2 w) 1.0) - (if (not (paused?)) - (+! (-> (the-as (pointer uint8) s5-1) 7) -1) - ) - ) - ((nonzero? (-> (the-as (pointer uint8) s5-1) 6)) - (if (not (paused?)) - (+! (-> (the-as (pointer uint8) s5-1) 6) -1) - ) - ) - (else - (set! - (-> (the-as (pointer uint8) s5-1) 7) - (the-as uint (the int (rand-vu-float-range 2.0 20.0))) - ) - (if (zero? (the int (rand-vu-float-range 0.0 3.0))) - (set! - (-> (the-as (pointer uint8) s5-1) 6) - (the-as uint (the int (rand-vu-float-range 2.0 120.0))) - ) - (set! - (-> (the-as (pointer uint8) s5-1) 6) - (the-as uint (the int (rand-vu-float-range 2.0 20.0))) - ) - ) - ) - ) - (let ((s3-0 (new 'stack-no-clear 'vector)) - (a2-4 (new 'stack-no-clear 'vector)) - (s4-0 (-> arg0 light-group)) - ) - (set-vector! s3-0 0.5 0.5 0.5 1.0) - (set-vector! a2-4 0.75 0.725 0.5 1.0) - (vector4-lerp! s3-0 s3-0 a2-4 f30-1) - (let ((v1-25 (-> s4-0 0))) - (set! (-> v1-25 dir0 direction x) 0.0) - (set! (-> v1-25 dir0 direction y) 1.0) - (set! (-> v1-25 dir0 direction z) 0.0) - (set! (-> v1-25 dir0 direction w) 1.0) - ) - (set! (-> s4-0 0 dir0 color quad) (-> s3-0 quad)) - (set! (-> s4-0 0 dir0 levels x) 1.0) - ) - ) - (let ((s4-1 (new 'stack-no-clear 'vector)) - (a1-9 (target-joint-pos)) - ) - (set-vector! s4-1 11227136.0 (-> a1-9 y) -20164608.0 1.0) - (let ((f0-32 (vector-vector-distance s4-1 a1-9))) - (when (< f0-32 409600.0) - (let* ((f1-2 (* 0.000048828126 (+ -389120.0 f0-32))) - (f2-2 (fmax 0.0 (fmin 1.0 f1-2))) - ) - (set! - (-> arg0 current-fog fog-dists y) - (* 4096.0 (+ 250.0 (* 300.0 f2-2))) - ) - ) - ) - ) - ) - (let ((a0-13 (new 'stack-no-clear 'vector)) - (a1-10 (-> *math-camera* trans)) - ) - (set-vector! a0-13 11427840.0 (-> a1-10 y) -19251200.0 1.0) - (let ((f0-41 (vector-vector-distance a0-13 a1-10)) - (s4-2 (-> arg0 light-group)) - ) - (cond - ((< f0-41 491520.0) - (let* ((f2-5 (* 0.000012207031 (+ -409600.0 f0-41))) - (f30-2 (- 1.0 (fmax 0.0 (fmin 1.0 f2-5)))) - (f28-4 - (+ - 0.5 - (* - 0.125 - (cos - (the float (* 4000 (-> *display* integral-frame-counter))) - ) - ) - (* - 0.125 - (cos - (the float (shl (-> *display* integral-frame-counter) 11)) - ) - ) - (* - 0.25 - (cos - (the float (* 1500 (-> *display* integral-frame-counter))) - ) - ) - ) - ) - (s3-1 (new 'stack-no-clear 'vector)) + ((nonzero? (-> (the-as (pointer uint8) s5-1) 7)) + (set! (-> arg0 times 2 w) 1.0) + (if (not (paused?)) + (+! (-> (the-as (pointer uint8) s5-1) 7) -1) ) - (let ((s2-0 (new 'stack-no-clear 'vector))) - (set-vector! s3-1 0.275 0.1 1.025 1.0) - (set-vector! s2-0 0.35 0.1 1.1 1.0) - (vector4-lerp! s2-0 s3-1 s2-0 f28-4) + ) + ((nonzero? (-> (the-as (pointer uint8) s5-1) 6)) + (if (not (paused?)) + (+! (-> (the-as (pointer uint8) s5-1) 6) -1) + ) + ) + (else + (set! (-> (the-as (pointer uint8) s5-1) 7) (the-as uint (the int (rand-vu-float-range 2.0 20.0)))) + (if (zero? (the int (rand-vu-float-range 0.0 3.0))) + (set! (-> (the-as (pointer uint8) s5-1) 6) (the-as uint (the int (rand-vu-float-range 2.0 120.0)))) + (set! (-> (the-as (pointer uint8) s5-1) 6) (the-as uint (the int (rand-vu-float-range 2.0 20.0)))) + ) + ) + ) + (let ((s3-0 (new 'stack-no-clear 'vector)) + (a2-4 (new 'stack-no-clear 'vector)) + (s4-0 (-> arg0 light-group)) + ) + (set-vector! s3-0 0.5 0.5 0.5 1.0) + (set-vector! a2-4 0.75 0.725 0.5 1.0) + (vector4-lerp! s3-0 s3-0 a2-4 f30-1) + (let ((v1-25 (-> s4-0 0))) + (set! (-> v1-25 dir0 direction x) 0.0) + (set! (-> v1-25 dir0 direction y) 1.0) + (set! (-> v1-25 dir0 direction z) 0.0) + (set! (-> v1-25 dir0 direction w) 1.0) + ) + (set! (-> s4-0 0 dir0 color quad) (-> s3-0 quad)) + (set! (-> s4-0 0 dir0 levels x) 1.0) + ) + ) + (let ((s4-1 (new 'stack-no-clear 'vector)) + (a1-9 (target-joint-pos)) + ) + (set-vector! s4-1 11227136.0 (-> a1-9 y) -20164608.0 1.0) + (let ((f0-32 (vector-vector-distance s4-1 a1-9))) + (when (< f0-32 409600.0) + (let* ((f1-2 (* 0.000048828126 (+ -389120.0 f0-32))) + (f2-2 (fmax 0.0 (fmin 1.0 f1-2))) + ) + (set! (-> arg0 current-fog fog-dists y) (* 4096.0 (+ 250.0 (* 300.0 f2-2)))) + ) + ) + ) + ) + (let ((a0-13 (new 'stack-no-clear 'vector)) + (a1-10 (-> *math-camera* trans)) + ) + (set-vector! a0-13 11427840.0 (-> a1-10 y) -19251200.0 1.0) + (let ((f0-41 (vector-vector-distance a0-13 a1-10)) + (s4-2 (-> arg0 light-group)) + ) (cond - ((= (-> *palette-fade-controls* control 7 fade) 1.0) - (set! (-> (the-as (pointer float) s5-1) 2) 1.0) - ) - (else - (if (not (paused?)) - (set! - (-> (the-as (pointer float) s5-1) 2) - (+ -0.1 (-> (the-as (pointer float) s5-1) 2)) - ) + ((< f0-41 491520.0) + (let* ((f2-5 (* 0.000012207031 (+ -409600.0 f0-41))) + (f30-2 (- 1.0 (fmax 0.0 (fmin 1.0 f2-5)))) + (f28-4 (+ 0.5 + (* 0.125 (cos (the float (* 4000 (-> *display* integral-frame-counter))))) + (* 0.125 (cos (the float (shl (-> *display* integral-frame-counter) 11)))) + (* 0.25 (cos (the float (* 1500 (-> *display* integral-frame-counter))))) + ) + ) + (s3-1 (new 'stack-no-clear 'vector)) + ) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set-vector! s3-1 0.275 0.1 1.025 1.0) + (set-vector! s2-0 0.35 0.1 1.1 1.0) + (vector4-lerp! s2-0 s3-1 s2-0 f28-4) + (cond + ((= (-> *palette-fade-controls* control 7 fade) 1.0) + (set! (-> (the-as (pointer float) s5-1) 2) 1.0) + ) + (else + (if (not (paused?)) + (set! (-> (the-as (pointer float) s5-1) 2) (+ -0.1 (-> (the-as (pointer float) s5-1) 2))) + ) + (set! (-> (the-as (pointer float) s5-1) 2) (fmax 0.0 (fmin 1.0 (-> (the-as (pointer float) s5-1) 2)))) + ) + ) + (set-vector! s3-1 0.1 0.1 0.1 1.0) + (let ((f30-3 (* (-> (the-as (pointer float) s5-1) 2) f30-2))) + (vector4-lerp! s3-1 s3-1 s2-0 f30-3) + (set! (-> arg0 times 7 w) (* (+ 0.8 (* 0.1 f28-4)) f30-3)) + ) + ) + (let ((v1-49 (-> s4-2 0 dir1))) + (set! (-> v1-49 direction x) 0.0) + (set! (-> v1-49 direction y) -1.0) + (set! (-> v1-49 direction z) 0.0) + (set! (-> v1-49 direction w) 1.0) + ) + (set! (-> s4-2 0 dir1 color quad) (-> s3-1 quad)) + ) + (set! (-> s4-2 0 dir1 levels x) 1.0) ) - (set! - (-> (the-as (pointer float) s5-1) 2) - (fmax 0.0 (fmin 1.0 (-> (the-as (pointer float) s5-1) 2))) - ) - ) - ) - (set-vector! s3-1 0.1 0.1 0.1 1.0) - (let ((f30-3 (* (-> (the-as (pointer float) s5-1) 2) f30-2))) - (vector4-lerp! s3-1 s3-1 s2-0 f30-3) - (set! (-> arg0 times 7 w) (* (+ 0.8 (* 0.1 f28-4)) f30-3)) - ) - ) - (let ((v1-49 (-> s4-2 0 dir1))) - (set! (-> v1-49 direction x) 0.0) - (set! (-> v1-49 direction y) -1.0) - (set! (-> v1-49 direction z) 0.0) - (set! (-> v1-49 direction w) 1.0) - ) - (set! (-> s4-2 0 dir1 color quad) (-> s3-1 quad)) - ) - (set! (-> s4-2 0 dir1 levels x) 1.0) - ) - (else - (let ((v1-52 (-> s4-2 0 dir1))) - (set! (-> v1-52 direction x) 0.0) - (set! (-> v1-52 direction y) -1.0) - (set! (-> v1-52 direction z) 0.0) - (set! (-> v1-52 direction w) 1.0) - ) - (set-vector! (-> s4-2 0 dir1 color) 0.1 0.1 0.1 1.0) - (set! (-> s4-2 0 dir1 levels x) 1.0) - ) - ) - ) - ) - ) - (let ((s5-2 (new 'stack-no-clear 'vector)) - (a1-13 (target-joint-pos)) - ) - 0.0 - (when (< 204800.0 (-> a1-13 y)) - (set-vector! s5-2 11440128.0 (-> a1-13 y) -19298304.0 1.0) - (let ((f0-98 (vector-vector-distance s5-2 a1-13)) - (s5-3 (-> arg0 light-group)) - ) - (when (< f0-98 172032.0) - (let* ((f1-19 (* 0.000061035156 (+ -155648.0 f0-98))) - (a1-14 (new 'stack-no-clear 'vector)) - (f0-101 (fmax 0.0 (fmin 1.0 f1-19))) + (else + (let ((v1-52 (-> s4-2 0 dir1))) + (set! (-> v1-52 direction x) 0.0) + (set! (-> v1-52 direction y) -1.0) + (set! (-> v1-52 direction z) 0.0) + (set! (-> v1-52 direction w) 1.0) + ) + (set-vector! (-> s4-2 0 dir1 color) 0.1 0.1 0.1 1.0) + (set! (-> s4-2 0 dir1 levels x) 1.0) ) - (set-vector! a1-14 0.5 0.5 0.5 1.0) - (vector4-lerp! - (-> s5-3 0 dir0 color) - a1-14 - (-> s5-3 0 dir0 color) - f0-101 - ) + ) + ) + ) + ) + (let ((s5-2 (new 'stack-no-clear 'vector)) + (a1-13 (target-joint-pos)) + ) + 0.0 + (when (< 204800.0 (-> a1-13 y)) + (set-vector! s5-2 11440128.0 (-> a1-13 y) -19298304.0 1.0) + (let ((f0-98 (vector-vector-distance s5-2 a1-13)) + (s5-3 (-> arg0 light-group)) + ) + (when (< f0-98 172032.0) + (let* ((f1-19 (* 0.000061035156 (+ -155648.0 f0-98))) + (a1-14 (new 'stack-no-clear 'vector)) + (f0-101 (fmax 0.0 (fmin 1.0 f1-19))) + ) + (set-vector! a1-14 0.5 0.5 0.5 1.0) + (vector4-lerp! (-> s5-3 0 dir0 color) a1-14 (-> s5-3 0 dir0 color) f0-101) + ) + (set! (-> s5-3 0 dir1 levels x) 0.0) + ) + ) ) - (set! (-> s5-3 0 dir1 levels x) 0.0) - ) ) - ) ) - ) (update-mood-itimes arg0) (none) ) diff --git a/test/decompiler/reference/engine/ambient/weather-part_REF.gc b/test/decompiler/reference/engine/ambient/weather-part_REF.gc index 919e046514..1a91f37974 100644 --- a/test/decompiler/reference/engine/ambient/weather-part_REF.gc +++ b/test/decompiler/reference/engine/ambient/weather-part_REF.gc @@ -2,689 +2,609 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 188) - (new 'static 'sparticle-launch-group - :length 66 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-rain-screend-drop-real" - :launcher - (new 'static 'inline-array sparticle-group-item 66 - (sp-item 18 :binding 19) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 19 :flags (start-dead launch-asap) :binding 20) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 20 :flags (start-dead launch-asap)) - (sp-item 21 :binding 22) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 22 :flags (start-dead launch-asap) :binding 23) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - (sp-item 23 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 65536.0) - ) - ) +(set! (-> *part-group-id-table* 188) (new 'static 'sparticle-launch-group + :length 66 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-rain-screend-drop-real" + :launcher + (new 'static 'inline-array sparticle-group-item 66 + (sp-item 18 :binding 19) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 19 :flags (start-dead launch-asap) :binding 20) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 20 :flags (start-dead launch-asap)) + (sp-item 21 :binding 22) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 22 :flags (start-dead launch-asap) :binding 23) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + (sp-item 23 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 65536.0) + ) + ) ;; definition for symbol group-rain-screend-drop, type sparticle-launch-group (define group-rain-screend-drop (-> *part-group-id-table* 188)) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 21) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -4.5) (meters 9.0) 1.0) - (sp-rnd-flt spt-y (meters -3.0) (meters 6.0) 1.0) - (sp-flt spt-scale-x (meters 2.5)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 12.0) - (sp-flt spt-scalevel-x (meters 0.16666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.8) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 21) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -4.5) (meters 9.0) 1.0) + (sp-rnd-flt spt-y (meters -3.0) (meters 6.0) 1.0) + (sp-flt spt-scale-x (meters 2.5)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 12.0) + (sp-flt spt-scalevel-x (meters 0.16666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.8) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 22) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 20.0) - (sp-flt spt-scalevel-x (meters 0.033333335)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.8) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 24) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 22) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 20.0) + (sp-flt spt-scalevel-x (meters 0.033333335)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.8) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 24) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 24) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-scalevel-x (meters 0.004166667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.06666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 24) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-scalevel-x (meters 0.004166667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.06666667) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 23) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-flt spt-num 1.0) - (sp-int spt-rot-x 12) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 3276.8) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-r 6.068148) - (sp-flt spt-fade-g 68.26667) - (sp-flt spt-fade-b 3.034074) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 270) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 30) - (sp-launcher-by-id spt-next-launcher 25) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 23) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-flt spt-num 1.0) + (sp-int spt-rot-x 12) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 3276.8) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-r 6.068148) + (sp-flt spt-fade-g 68.26667) + (sp-flt spt-fade-b 3.034074) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 270) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 25) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 25) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-g -5.1200004) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 25) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-g -5.1200004) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 18) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -4.5) (meters 9.0) 1.0) - (sp-rnd-flt spt-y (meters -3.0) (meters 6.0) 1.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 12.0) - (sp-flt spt-scalevel-x (meters 0.26666668)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.8) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 18) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -4.5) (meters 9.0) 1.0) + (sp-rnd-flt spt-y (meters -3.0) (meters 6.0) 1.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 12.0) + (sp-flt spt-scalevel-x (meters 0.26666668)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.8) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 19) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.6)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 20.0) - (sp-flt spt-scalevel-x (meters 0.06666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.8) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 26) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 19) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.6)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 20.0) + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.8) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 26) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 26) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-scalevel-x (meters 0.008333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.06666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 26) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-scalevel-x (meters 0.008333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.06666667) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 20) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-flt spt-num 1.0) - (sp-int spt-rot-x 24) - (sp-flt spt-r 12288.0) - (sp-flt spt-g 6553.6) - (sp-flt spt-b 6553.6) - (sp-flt spt-fade-r 12.136296) - (sp-flt spt-fade-g 136.53334) - (sp-flt spt-fade-b 6.068148) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 270) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 30) - (sp-launcher-by-id spt-next-launcher 27) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 20) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-flt spt-num 1.0) + (sp-int spt-rot-x 24) + (sp-flt spt-r 12288.0) + (sp-flt spt-g 6553.6) + (sp-flt spt-b 6553.6) + (sp-flt spt-fade-r 12.136296) + (sp-flt spt-fade-g 136.53334) + (sp-flt spt-fade-b 6.068148) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 270) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 27) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 27) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-g -10.240001) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 27) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-g -10.240001) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 34) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-stars" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 28) - (sp-item 29) - (sp-item 30) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 34) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-stars" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 28) (sp-item 29) (sp-item 30)) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 28) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 40.0) (meters 40.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 256.0) - (sp-flt spt-b 256.0) - (sp-flt spt-a 0.0) - (sp-flt spt-fade-a 0.42666668) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 60 239 1) - (sp-launcher-by-id spt-next-launcher 31) - (sp-rnd-flt spt-conerot-x (degrees -89.0) (degrees 178.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-flt spt-conerot-radius (meters 5000.0)) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 28) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 40.0) (meters 40.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 256.0) + (sp-flt spt-b 256.0) + (sp-flt spt-a 0.0) + (sp-flt spt-fade-a 0.42666668) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 60 239 1) + (sp-launcher-by-id spt-next-launcher 31) + (sp-rnd-flt spt-conerot-x (degrees -89.0) (degrees 178.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) + (sp-flt spt-conerot-radius (meters 5000.0)) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 31) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 29999700) - (sp-launcher-by-id spt-next-launcher 32) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 31) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 29999700) + (sp-launcher-by-id spt-next-launcher 32) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 32) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.42666668) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 32) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.42666668) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 29) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 40.0) (meters 40.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 256.0) - (sp-flt spt-b 256.0) - (sp-flt spt-a 0.0) - (sp-flt spt-fade-a 0.42666668) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 60 239 1) - (sp-launcher-by-id spt-next-launcher 31) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 59.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 2880.0) 1.0) - (sp-flt spt-conerot-radius (meters 5000.0)) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 29) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 40.0) (meters 40.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 256.0) + (sp-flt spt-b 256.0) + (sp-flt spt-a 0.0) + (sp-flt spt-fade-a 0.42666668) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 60 239 1) + (sp-launcher-by-id spt-next-launcher 31) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 59.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 2880.0) 1.0) + (sp-flt spt-conerot-radius (meters 5000.0)) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 30) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 40.0) (meters 40.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-fade-a 0.42666668) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 60 239 1) - (sp-launcher-by-id spt-next-launcher 31) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 29.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 5760.0) 1.0) - (sp-flt spt-conerot-radius (meters 5000.0)) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 30) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 40.0) (meters 40.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-fade-a 0.42666668) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 60 239 1) + (sp-launcher-by-id spt-next-launcher 31) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 29.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 5760.0) 1.0) + (sp-flt spt-conerot-radius (meters 5000.0)) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 33) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-x (meters 10.0) (meters 10.0) 1.0) - (sp-rnd-flt spt-y (meters 2.0) (meters 14.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters -0.01) (meters -0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 75 74 1) - (sp-launcher-by-id spt-next-launcher 35) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 180.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 33) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-x (meters 10.0) (meters 10.0) 1.0) + (sp-rnd-flt spt-y (meters 2.0) (meters 14.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters -0.01) (meters -0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 75 74 1) + (sp-launcher-by-id spt-next-launcher 35) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 180.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 34) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 16.0)) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters -0.01) (meters -0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 75 74 1) - (sp-launcher-by-id spt-next-launcher 35) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 34) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 16.0)) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters -0.01) (meters -0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 75 74 1) + (sp-launcher-by-id spt-next-launcher 35) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 35) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 1200) - (sp-launcher-by-id spt-next-launcher 36) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 35) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 1200) + (sp-launcher-by-id spt-next-launcher 36) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 36) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.85333335) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 36) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.85333335) (sp-end)) + ) + ) ;; definition for function update-snow ;; INFO: Return type mismatch int vs none. (defun update-snow ((arg0 target)) (let ((gp-0 (-> arg0 control trans))) - (let - ((f0-0 - (lerp-scale - 0.0 - 1.0 - (vector-length (-> arg0 control transv)) - 2048.0 - 40960.0 - ) + (let ((f0-0 (lerp-scale 0.0 1.0 (vector-length (-> arg0 control transv)) 2048.0 40960.0))) + (set! (-> *part-id-table* 34 init-specs 1 initial-valuef) (- 1.0 f0-0)) + (set! (-> *part-id-table* 33 init-specs 1 initial-valuef) (* 4.0 f0-0)) + ) + (set! (-> *part-id-table* 33 init-specs 19 initial-valuef) + (+ 32768.0 (vector-y-angle (-> arg0 control transv))) + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 34) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 33) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 ) - ) - (set! (-> *part-id-table* 34 init-specs 1 initial-valuef) (- 1.0 f0-0)) - (set! (-> *part-id-table* 33 init-specs 1 initial-valuef) (* 4.0 f0-0)) ) - (set! - (-> *part-id-table* 33 init-specs 19 initial-valuef) - (+ 32768.0 (vector-y-angle (-> arg0 control transv))) - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 34) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 33) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 37) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters 0.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 16.0)) - (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) - (sp-flt spt-r 50.0) - (sp-rnd-flt spt-g 80.0 55.0 1.0) - (sp-rnd-flt spt-b 50.0 50.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-drop-level-rain) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 37) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters 0.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 16.0)) + (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) + (sp-flt spt-r 50.0) + (sp-rnd-flt spt-g 80.0 55.0 1.0) + (sp-rnd-flt spt-b 50.0 50.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-drop-level-rain) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 38) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 4.5) - (sp-rnd-flt spt-x (meters 0.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 16.0)) - (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) - (sp-flt spt-r 50.0) - (sp-rnd-flt spt-g 80.0 55.0 1.0) - (sp-rnd-flt spt-b 50.0 50.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 38) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 4.5) + (sp-rnd-flt spt-x (meters 0.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 16.0)) + (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) + (sp-flt spt-r 50.0) + (sp-rnd-flt spt-g 80.0 55.0 1.0) + (sp-rnd-flt spt-b 50.0 50.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 39) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-rnd-int spt-num 0 1 2.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 110.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-fade-a -0.85333335) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 25.000002) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 39) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-rnd-int spt-num 0 1 2.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 110.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-fade-a -0.85333335) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 25.000002) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 40) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.02)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 110.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.4) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 40) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.02)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 110.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.4) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition for function check-drop-level-rain -(defun - check-drop-level-rain - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-rain ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 39) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 40) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 39) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 40) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) ) - ) (none) ) @@ -692,62 +612,49 @@ ;; INFO: Return type mismatch int vs none. (defun update-rain ((arg0 target)) (let ((a2-0 (new 'stack-no-clear 'vector))) - (set! (-> a2-0 x) (-> arg0 control transv x)) - (set! (-> a2-0 y) 0.0) - (set! (-> a2-0 z) (-> arg0 control transv z)) - (set! (-> a2-0 w) 1.0) - (let - ((gp-0 - (vector+float*! - (new 'stack-no-clear 'vector) - (-> arg0 control trans) - a2-0 - 0.0 - ) + (set! (-> a2-0 x) (-> arg0 control transv x)) + (set! (-> a2-0 y) 0.0) + (set! (-> a2-0 z) (-> arg0 control transv z)) + (set! (-> a2-0 w) 1.0) + (let ((gp-0 (vector+float*! (new 'stack-no-clear 'vector) (-> arg0 control trans) a2-0 0.0))) + (let* ((s5-0 (matrix-local->world #f #f)) + (f28-0 (lerp-scale 122.88 245.76 (fabs (-> s5-0 vector 2 y)) 0.0 0.7)) + (f30-0 (lerp-scale 2048.0 245.76 (fabs (-> s5-0 vector 2 y)) 0.0 0.7)) + ) + (let ((f26-0 (lerp-scale 0.0 0.1 (-> s5-0 vector 2 y) 0.3 0.7)) + (f0-10 (lerp-scale 1.0 0.1 (-> s5-0 vector 2 y) 0.3 0.7)) + ) + (if (< 0.0 f26-0) + (send-event *camera* 'part-water-drip f26-0 f0-10) + ) + ) + (set! (-> *part-id-table* 37 init-specs 4 initial-valuef) f28-0) + (set! (-> *part-id-table* 37 init-specs 4 random-rangef) f28-0) + (set! (-> *part-id-table* 38 init-specs 4 initial-valuef) f28-0) + (set! (-> *part-id-table* 38 init-specs 4 random-rangef) f28-0) + (set! (-> *part-id-table* 37 init-specs 5 initial-valuef) f30-0) + (set! (-> *part-id-table* 37 init-specs 5 random-rangef) f30-0) + (set! (-> *part-id-table* 38 init-specs 5 initial-valuef) f30-0) + (set! (-> *part-id-table* 38 init-specs 5 random-rangef) f30-0) + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 37) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 38) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - ) - (let* ((s5-0 (matrix-local->world #f #f)) - (f28-0 - (lerp-scale 122.88 245.76 (fabs (-> s5-0 vector 2 y)) 0.0 0.7) - ) - (f30-0 - (lerp-scale 2048.0 245.76 (fabs (-> s5-0 vector 2 y)) 0.0 0.7) - ) - ) - (let ((f26-0 (lerp-scale 0.0 0.1 (-> s5-0 vector 2 y) 0.3 0.7)) - (f0-10 (lerp-scale 1.0 0.1 (-> s5-0 vector 2 y) 0.3 0.7)) - ) - (if (< 0.0 f26-0) - (send-event *camera* 'part-water-drip f26-0 f0-10) - ) - ) - (set! (-> *part-id-table* 37 init-specs 4 initial-valuef) f28-0) - (set! (-> *part-id-table* 37 init-specs 4 random-rangef) f28-0) - (set! (-> *part-id-table* 38 init-specs 4 initial-valuef) f28-0) - (set! (-> *part-id-table* 38 init-specs 4 random-rangef) f28-0) - (set! (-> *part-id-table* 37 init-specs 5 initial-valuef) f30-0) - (set! (-> *part-id-table* 37 init-specs 5 random-rangef) f30-0) - (set! (-> *part-id-table* 38 init-specs 5 initial-valuef) f30-0) - (set! (-> *part-id-table* 38 init-specs 5 random-rangef) f30-0) - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 37) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 38) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) ) - ) 0 (none) ) @@ -755,37 +662,15 @@ ;; definition for function cam-master-effect ;; INFO: Return type mismatch int vs none. (defbehavior cam-master-effect camera-master () - (when - (< - (+ (-> *display* base-frame-counter) -3000) - (the-as int (-> self water-drip-time)) + (when (< (+ (-> *display* base-frame-counter) -3000) (the-as int (-> self water-drip-time))) + (set! (-> *part-id-table* 21 init-specs 1 initial-valuef) (-> self water-drip-mult)) + (set! (-> *part-id-table* 18 init-specs 1 initial-valuef) (* 0.9 (-> self water-drip-mult))) + (set! (-> *part-id-table* 22 init-specs 11 initial-valuef) (* -2.7306666 (-> self water-drip-speed))) + (set! (-> *part-id-table* 23 init-specs 8 initial-valuef) (* -2.7306666 (-> self water-drip-speed))) + (set! (-> *part-id-table* 19 init-specs 11 initial-valuef) (* -2.7306666 (-> self water-drip-speed))) + (set! (-> *part-id-table* 20 init-specs 8 initial-valuef) (* -2.7306666 (-> self water-drip-speed))) + (spawn (-> self water-drip) *zero-vector*) ) - (set! - (-> *part-id-table* 21 init-specs 1 initial-valuef) - (-> self water-drip-mult) - ) - (set! - (-> *part-id-table* 18 init-specs 1 initial-valuef) - (* 0.9 (-> self water-drip-mult)) - ) - (set! - (-> *part-id-table* 22 init-specs 11 initial-valuef) - (* -2.7306666 (-> self water-drip-speed)) - ) - (set! - (-> *part-id-table* 23 init-specs 8 initial-valuef) - (* -2.7306666 (-> self water-drip-speed)) - ) - (set! - (-> *part-id-table* 19 init-specs 11 initial-valuef) - (* -2.7306666 (-> self water-drip-speed)) - ) - (set! - (-> *part-id-table* 20 init-specs 8 initial-valuef) - (* -2.7306666 (-> self water-drip-speed)) - ) - (spawn (-> self water-drip) *zero-vector*) - ) 0 (none) ) @@ -795,239 +680,192 @@ (defun sparticle-track-sun ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 matrix)) (-> arg1 key) (let ((s5-0 (the int (-> arg1 user-float)))) - (let* ((a1-1 (math-camera-pos)) - (a2-1 (-> *sky-parms* upload-data sun (/ s5-0 4))) - (v1-3 - (vector+float*! - (new 'stack-no-clear 'vector) - a1-1 - (the-as vector a2-1) - 4096.0 - ) + (let* ((a1-1 (math-camera-pos)) + (a2-1 (-> *sky-parms* upload-data sun (/ s5-0 4))) + (v1-3 (vector+float*! (new 'stack-no-clear 'vector) a1-1 (the-as vector a2-1) 4096.0)) ) - ) - (set! (-> arg2 vector 0 x) (-> v1-3 x)) - (set! (-> arg2 vector 0 y) (-> v1-3 y)) - (set! (-> arg2 vector 0 z) (-> v1-3 z)) + (set! (-> arg2 vector 0 x) (-> v1-3 x)) + (set! (-> arg2 vector 0 y) (-> v1-3 y)) + (set! (-> arg2 vector 0 z) (-> v1-3 z)) + ) + (if (!= (-> arg2 vector 2 w) 0.0) + (set! (-> arg2 vector 2 w) (* 128.0 (-> *time-of-day-context* sun-fade))) + ) + (cond + ((zero? s5-0) + (set! (-> arg2 vector 2 x) (-> *time-of-day-context* current-sun sun-color x)) + (set! (-> arg2 vector 2 y) (-> *time-of-day-context* current-sun sun-color y)) + (set! (-> arg2 vector 2 z) (-> *time-of-day-context* current-sun sun-color z)) + ) + ((or (= s5-0 1) (= s5-0 2)) + (set! (-> arg2 vector 2 x) (* 0.25 (-> *time-of-day-context* current-sun sun-color x))) + (set! (-> arg2 vector 2 y) (* 0.25 (-> *time-of-day-context* current-sun sun-color y))) + (set! (-> arg2 vector 2 z) (* 0.25 (-> *time-of-day-context* current-sun sun-color z))) + ) + ) ) - (if (!= (-> arg2 vector 2 w) 0.0) - (set! (-> arg2 vector 2 w) (* 128.0 (-> *time-of-day-context* sun-fade))) - ) - (cond - ((zero? s5-0) - (set! - (-> arg2 vector 2 x) - (-> *time-of-day-context* current-sun sun-color x) - ) - (set! - (-> arg2 vector 2 y) - (-> *time-of-day-context* current-sun sun-color y) - ) - (set! - (-> arg2 vector 2 z) - (-> *time-of-day-context* current-sun sun-color z) - ) - ) - ((or (= s5-0 1) (= s5-0 2)) - (set! - (-> arg2 vector 2 x) - (* 0.25 (-> *time-of-day-context* current-sun sun-color x)) - ) - (set! - (-> arg2 vector 2 y) - (* 0.25 (-> *time-of-day-context* current-sun sun-color y)) - ) - (set! - (-> arg2 vector 2 z) - (* 0.25 (-> *time-of-day-context* current-sun sun-color z)) - ) - ) - ) - ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 35) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-sun" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 1950) - (sp-item 1951) - (sp-item 1952) - ) - :bounds (new 'static 'sphere :w 286720.0) - ) - ) +(set! (-> *part-group-id-table* 35) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-sun" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 1950) (sp-item 1951) (sp-item 1952)) + :bounds (new 'static 'sphere :w 286720.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1950) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1200.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'sparticle-track-sun) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1950) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1200.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'sparticle-track-sun) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1951) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2800.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 2200.0)) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 32.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-z (degrees -0.05)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-userdata 1.0) - (sp-func spt-func 'sparticle-track-sun) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1951) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2800.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 2200.0)) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 32.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-z (degrees -0.05)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-userdata 1.0) + (sp-func spt-func 'sparticle-track-sun) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1952) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2200.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 2800.0)) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 32.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-z (degrees 0.05)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-userdata 2.0) - (sp-func spt-func 'sparticle-track-sun) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1952) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2200.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 2800.0)) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 32.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-z (degrees 0.05)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-userdata 2.0) + (sp-func spt-func 'sparticle-track-sun) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 36) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-green-sun" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 1974) - (sp-item 1975) - (sp-item 1976) - ) - :bounds (new 'static 'sphere :w 286720.0) - ) - ) +(set! (-> *part-group-id-table* 36) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-green-sun" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 1974) (sp-item 1975) (sp-item 1976)) + :bounds (new 'static 'sphere :w 286720.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1974) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 600.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-userdata 4.0) - (sp-func spt-func 'sparticle-track-sun) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1974) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 600.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-userdata 4.0) + (sp-func spt-func 'sparticle-track-sun) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1975) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1400.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 1100.0)) - (sp-flt spt-r 0.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-z (degrees -0.05)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-userdata 5.0) - (sp-func spt-func 'sparticle-track-sun) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1975) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1400.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 1100.0)) + (sp-flt spt-r 0.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-z (degrees -0.05)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-userdata 5.0) + (sp-func spt-func 'sparticle-track-sun) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1976) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1100.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 1400.0)) - (sp-flt spt-r 0.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-z (degrees 0.05)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-userdata 6.0) - (sp-func spt-func 'sparticle-track-sun) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1976) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x35 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1100.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 1400.0)) + (sp-flt spt-r 0.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-z (degrees 0.05)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-userdata 6.0) + (sp-func spt-func 'sparticle-track-sun) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/engine/anim/aligner-h_REF.gc b/test/decompiler/reference/engine/anim/aligner-h_REF.gc index 952034830d..df36ac7e5e 100644 --- a/test/decompiler/reference/engine/anim/aligner-h_REF.gc +++ b/test/decompiler/reference/engine/anim/aligner-h_REF.gc @@ -43,20 +43,13 @@ ;; definition for method 0 of type align-control ;; INFO: Return type mismatch object vs align-control. -(defmethod - new - align-control - ((allocation symbol) (type-to-make type) (arg0 process)) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new align-control ((allocation symbol) (type-to-make type) (arg0 process)) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (when (zero? obj) + (go process-drawable-art-error "memory") + (return (the-as align-control 0)) + ) + (set! (-> obj process) (the-as process-drawable arg0)) + obj ) - (when (zero? obj) - (go process-drawable-art-error "memory") - (return (the-as align-control 0)) - ) - (set! (-> obj process) (the-as process-drawable arg0)) - obj - ) ) diff --git a/test/decompiler/reference/engine/anim/aligner_REF.gc b/test/decompiler/reference/engine/anim/aligner_REF.gc index 5c14e000ed..9c748d9d20 100644 --- a/test/decompiler/reference/engine/anim/aligner_REF.gc +++ b/test/decompiler/reference/engine/anim/aligner_REF.gc @@ -8,148 +8,112 @@ (defmethod TODO-RENAME-9 align-control ((obj align-control)) (local-vars (a0-9 symbol) (s7-0 none) (ra-0 int)) (with-pp - (let ((s5-0 (-> obj process skel active-channels))) - (dotimes (s4-0 s5-0) - (let* ((a0-3 (-> obj process skel channel s4-0)) - (v1-5 (-> a0-3 frame-group)) - (a0-4 (-> a0-3 command)) - (a1-0 'stack) - (a2-0 (= a0-4 a1-0)) - ) - (cond - ((or a2-0 (begin - (set! a1-0 'stack1) - (= a0-4 a1-0) + (let ((s5-0 (-> obj process skel active-channels))) + (dotimes (s4-0 s5-0) + (let* ((a0-3 (-> obj process skel channel s4-0)) + (v1-5 (-> a0-3 frame-group)) + (a0-4 (-> a0-3 command)) + (a1-0 'stack) + (a2-0 (= a0-4 a1-0)) + ) + (cond + ((or a2-0 (begin (set! a1-0 'stack1) (= a0-4 a1-0))) + ) + (else + (when (!= (-> v1-5 type) art-joint-anim) + (let ((t9-0 (the-as (function object object object object) enter-state)) + (a0-7 "align joint-anim") + ) + (set! (-> pp next-state) process-drawable-art-error) + (t9-0 a0-7 (the-as object a1-0) a2-0) ) - ) + (.lw ra-0 return-from-thread s7-0) + (.jr ra-0) + (nop!) + 0 + ) + ) + ) + ) ) - (else - (when (!= (-> v1-5 type) art-joint-anim) - (let - ((t9-0 (the-as (function object object object object) enter-state)) - (a0-7 "align joint-anim") + ) + (let* ((a0-8 (-> obj process skel root-channel 0)) + (v1-16 (-> a0-8 frame-group)) + (f0-0 (-> a0-8 frame-num)) ) - (set! (-> pp next-state) process-drawable-art-error) - (t9-0 a0-7 (the-as object a1-0) a2-0) - ) - (.lw ra-0 return-from-thread s7-0) - (.jr ra-0) - (nop!) - 0 + (= (-> a0-8 num-func) num-func-loop!) + (cond + ((or (not v1-16) (!= (-> obj frame-group) v1-16)) + (set! a0-9 #t) ) + ((= (-> a0-8 num-func) num-func-loop!) + (set! a0-9 (< (* (-> a0-8 param 0) (- f0-0 (-> obj frame-num))) 0.0)) + ) + (else + (set! a0-9 (= f0-0 0.0)) + ) ) - ) - ) - ) - ) - (let* ((a0-8 (-> obj process skel root-channel 0)) - (v1-16 (-> a0-8 frame-group)) - (f0-0 (-> a0-8 frame-num)) + (if a0-9 + (logior! (-> obj flags) 1) + (set! (-> obj flags) (logand -2 (-> obj flags))) ) - (= (-> a0-8 num-func) num-func-loop!) - (cond - ((or (not v1-16) (!= (-> obj frame-group) v1-16)) - (set! a0-9 #t) + (set! (-> obj frame-group) v1-16) + (set! (-> obj frame-num) f0-0) ) - ((= (-> a0-8 num-func) num-func-loop!) - (set! a0-9 (< (* (-> a0-8 param 0) (- f0-0 (-> obj frame-num))) 0.0)) - ) - (else - (set! a0-9 (= f0-0 0.0)) - ) - ) - (if a0-9 - (logior! (-> obj flags) 1) - (set! (-> obj flags) (logand -2 (-> obj flags))) - ) - (set! (-> obj frame-group) v1-16) - (set! (-> obj frame-num) f0-0) - ) - (mem-copy! - (the-as pointer (-> obj transform 1)) - (the-as pointer (-> obj transform)) - 48 - ) - (quaternion-copy! - (the-as quaternion (-> obj transform 1 rot)) - (-> obj align quat) - ) - (set! (-> obj transform 1 scale quad) (-> obj align scale quad)) - (let* ((a2-5 (-> obj matrix 1 vector)) - (a3-0 (-> obj matrix)) - (v1-19 (-> a3-0 0 vector 0 quad)) - (a0-18 (-> a3-0 0 vector 1 quad)) - (a1-12 (-> a3-0 0 vector 2 quad)) - (a3-1 (-> a3-0 0 vector 3 quad)) - ) - (set! (-> a2-5 0 quad) v1-19) - (set! (-> a2-5 1 quad) a0-18) - (set! (-> a2-5 2 quad) a1-12) - (set! (-> a2-5 3 quad) a3-1) - ) - (let ((s5-1 (-> obj process node-list data 1))) - (cspace<-matrix-no-push-joint! s5-1 (-> obj process skel)) - (let* ((v1-23 (-> obj matrix)) - (a3-2 (-> s5-1 bone transform)) - (a0-21 (-> a3-2 vector 0 quad)) - (a1-14 (-> a3-2 vector 1 quad)) - (a2-6 (-> a3-2 vector 2 quad)) - (a3-3 (-> a3-2 vector 3 quad)) + (mem-copy! (the-as pointer (-> obj transform 1)) (the-as pointer (-> obj transform)) 48) + (quaternion-copy! (the-as quaternion (-> obj transform 1 rot)) (-> obj align quat)) + (set! (-> obj transform 1 scale quad) (-> obj align scale quad)) + (let* ((a2-5 (-> obj matrix 1 vector)) + (a3-0 (-> obj matrix)) + (v1-19 (-> a3-0 0 vector 0 quad)) + (a0-18 (-> a3-0 0 vector 1 quad)) + (a1-12 (-> a3-0 0 vector 2 quad)) + (a3-1 (-> a3-0 0 vector 3 quad)) ) - (set! (-> v1-23 0 vector 0 quad) a0-21) - (set! (-> v1-23 0 vector 1 quad) a1-14) - (set! (-> v1-23 0 vector 2 quad) a2-6) - (set! (-> v1-23 0 vector 3 quad) a3-3) - ) - (vector*! - (the-as vector (-> obj transform)) - (-> s5-1 bone transform vector 3) - (-> obj process root scale) - ) - ) - (vector-! - (the-as vector (-> obj delta)) - (the-as vector (-> obj transform)) - (the-as vector (-> obj transform 1)) - ) - (set-vector! - (-> obj align scale) - (vector-length (the-as vector (-> obj matrix))) - (vector-length (-> obj matrix 0 vector 1)) - (vector-length (-> obj matrix 0 vector 2)) - 1.0 - ) - (vector-! - (-> obj delta scale) - (-> obj align scale) - (-> obj transform 1 scale) - ) - (let - ((a2-8 - (matrix-inv-scale! (new 'stack-no-clear 'matrix) (-> obj align scale)) + (set! (-> a2-5 0 quad) v1-19) + (set! (-> a2-5 1 quad) a0-18) + (set! (-> a2-5 2 quad) a1-12) + (set! (-> a2-5 3 quad) a3-1) ) - ) - (quaternion-normalize! - (matrix->quaternion - (-> obj align quat) - (matrix*! a2-8 (the-as matrix (-> obj matrix)) a2-8) + (let ((s5-1 (-> obj process node-list data 1))) + (cspace<-matrix-no-push-joint! s5-1 (-> obj process skel)) + (let* ((v1-23 (-> obj matrix)) + (a3-2 (-> s5-1 bone transform)) + (a0-21 (-> a3-2 vector 0 quad)) + (a1-14 (-> a3-2 vector 1 quad)) + (a2-6 (-> a3-2 vector 2 quad)) + (a3-3 (-> a3-2 vector 3 quad)) + ) + (set! (-> v1-23 0 vector 0 quad) a0-21) + (set! (-> v1-23 0 vector 1 quad) a1-14) + (set! (-> v1-23 0 vector 2 quad) a2-6) + (set! (-> v1-23 0 vector 3 quad) a3-3) + ) + (vector*! (the-as vector (-> obj transform)) (-> s5-1 bone transform vector 3) (-> obj process root scale)) ) - ) - ) - (let - ((a1-24 - (quaternion-inverse! - (new 'stack-no-clear 'quaternion) - (the-as quaternion (-> obj transform 1 rot)) - ) + (vector-! + (the-as vector (-> obj delta)) + (the-as vector (-> obj transform)) + (the-as vector (-> obj transform 1)) ) - ) - (quaternion-normalize! - (quaternion*! (-> obj delta quat) a1-24 (-> obj align quat)) - ) + (set-vector! + (-> obj align scale) + (vector-length (the-as vector (-> obj matrix))) + (vector-length (-> obj matrix 0 vector 1)) + (vector-length (-> obj matrix 0 vector 2)) + 1.0 + ) + (vector-! (-> obj delta scale) (-> obj align scale) (-> obj transform 1 scale)) + (let ((a2-8 (matrix-inv-scale! (new 'stack-no-clear 'matrix) (-> obj align scale)))) + (quaternion-normalize! + (matrix->quaternion (-> obj align quat) (matrix*! a2-8 (the-as matrix (-> obj matrix)) a2-8)) + ) + ) + (let ((a1-24 (quaternion-inverse! (new 'stack-no-clear 'quaternion) (the-as quaternion (-> obj transform 1 rot))))) + (quaternion-normalize! (quaternion*! (-> obj delta quat) a1-24 (-> obj align quat))) + ) + (-> obj delta) ) - (-> obj delta) - ) ) ;; definition for method 12 of type align-control @@ -164,99 +128,65 @@ ) ;; definition for method 10 of type align-control -(defmethod - TODO-RENAME-10 - align-control - ((obj align-control) (arg0 int) (arg1 float) (arg2 float) (arg3 float)) +(defmethod TODO-RENAME-10 align-control ((obj align-control) (arg0 int) (arg1 float) (arg2 float) (arg3 float)) (when (zero? (logand (-> obj flags) 1)) - (let* ((a0-1 (-> obj process)) - (t9-0 (method-of-object a0-1 dummy-16)) - (v1-4 (-> obj delta)) - (t1-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> t1-0 x) arg1) - (set! (-> t1-0 y) arg2) - (set! (-> t1-0 z) arg3) - (set! (-> t1-0 w) 1.0) - (t9-0 a0-1 arg0 (the-as (inline-array vector) v1-4) t1-0) + (let* ((a0-1 (-> obj process)) + (t9-0 (method-of-object a0-1 dummy-16)) + (v1-4 (-> obj delta)) + (t1-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> t1-0 x) arg1) + (set! (-> t1-0 y) arg2) + (set! (-> t1-0 z) arg3) + (set! (-> t1-0 w) 1.0) + (t9-0 a0-1 arg0 (the-as (inline-array vector) v1-4) t1-0) + ) ) - ) (-> obj process root) ) ;; definition for method 26 of type trsqv -(defmethod - TODO-RENAME-26 - trsqv - ((obj trsqv) (arg0 int) (arg1 vector) (arg2 float)) +(defmethod TODO-RENAME-26 trsqv ((obj trsqv) (arg0 int) (arg1 vector) (arg2 float)) (let ((gp-0 (-> obj transv))) - (when (logtest? arg0 4) - (set! (-> gp-0 x) (-> arg1 x)) - (set! (-> gp-0 z) (-> arg1 z)) - (let - ((f0-4 - (fmin (* (vector-xz-length arg1) (-> *display* frames-per-second)) arg2) - ) + (when (logtest? arg0 4) + (set! (-> gp-0 x) (-> arg1 x)) + (set! (-> gp-0 z) (-> arg1 z)) + (let ((f0-4 (fmin (* (vector-xz-length arg1) (-> *display* frames-per-second)) arg2))) + (vector-xz-normalize! gp-0 f0-4) + ) ) - (vector-xz-normalize! gp-0 f0-4) - ) ) - ) obj ) ;; definition for method 11 of type align-control ;; INFO: Return type mismatch trsqv vs none. -(defmethod - TODO-RENAME-11 - align-control - ((obj align-control) - (arg0 int) - (arg1 vector) - (arg2 int) - (arg3 float) - (arg4 float) - ) +(defmethod TODO-RENAME-11 align-control ((obj align-control) (arg0 int) (arg1 vector) (arg2 int) (arg3 float) (arg4 float)) (when (zero? (logand (-> obj flags) 1)) - (let ((s5-0 (-> obj delta))) - (let ((s3-0 (-> obj process root transv))) - (if (logtest? arg0 2) - (set! - (-> s3-0 y) - (* (-> s5-0 trans y) arg3 (-> *display* frames-per-second)) - ) - ) - (when (logtest? arg0 4) - (set! (-> s3-0 x) (-> arg1 x)) - (set! (-> s3-0 z) (-> arg1 z)) - (let - ((f0-8 - (* - (fmin - (vector-xz-length arg1) - (* (vector-xz-length (-> s5-0 trans)) arg4) - ) - (-> *display* frames-per-second) + (let ((s5-0 (-> obj delta))) + (let ((s3-0 (-> obj process root transv))) + (if (logtest? arg0 2) + (set! (-> s3-0 y) (* (-> s5-0 trans y) arg3 (-> *display* frames-per-second))) + ) + (when (logtest? arg0 4) + (set! (-> s3-0 x) (-> arg1 x)) + (set! (-> s3-0 z) (-> arg1 z)) + (let ((f0-8 (* (fmin (vector-xz-length arg1) (* (vector-xz-length (-> s5-0 trans)) arg4)) + (-> *display* frames-per-second) + ) + ) + (t9-2 vector-xz-normalize!) + ) + (set! (-> obj last-speed) f0-8) + (t9-2 s3-0 f0-8) + ) ) - ) - (t9-2 vector-xz-normalize!) ) - (set! (-> obj last-speed) f0-8) - (t9-2 s3-0 f0-8) - ) + (if (logtest? arg0 16) + (quaternion-normalize! (quaternion*! (-> obj process root quat) (-> obj process root quat) (-> s5-0 quat))) + ) ) - ) - (if (logtest? arg0 16) - (quaternion-normalize! - (quaternion*! - (-> obj process root quat) - (-> obj process root quat) - (-> s5-0 quat) - ) - ) - ) ) - ) (-> obj process root) (none) ) diff --git a/test/decompiler/reference/engine/anim/joint-h_REF.gc b/test/decompiler/reference/engine/anim/joint-h_REF.gc index 77da43a3e9..46dd265693 100644 --- a/test/decompiler/reference/engine/anim/joint-h_REF.gc +++ b/test/decompiler/reference/engine/anim/joint-h_REF.gc @@ -176,16 +176,8 @@ (format #t "~Tnum-uploads: ~D~%" (-> obj num-uploads)) (format #t "~Tmtx-acc[2] @ #x~X~%" (-> obj mtx-acc)) (format #t "~Ttq-acc[100] @ #x~X~%" (-> obj tq-acc)) - (format - #t - "~Tjacp-hdr: #~%" - (-> obj jacp-hdr) - ) - (format - #t - "~Tfixed-data: #~%" - (-> obj fixed-data) - ) + (format #t "~Tjacp-hdr: #~%" (-> obj jacp-hdr)) + (format #t "~Tfixed-data: #~%" (-> obj fixed-data)) (format #t "~Tframe-data[2] @ #x~X~%" (-> obj frame-data)) (format #t "~Tflatten-array[576] @ #x~X~%" (-> obj mtx-acc)) (format #t "~Tflattened[24] @ #x~X~%" (-> obj mtx-acc)) diff --git a/test/decompiler/reference/engine/anim/joint_REF.gc b/test/decompiler/reference/engine/anim/joint_REF.gc index 8c101d1b3e..5ae6da0a26 100644 --- a/test/decompiler/reference/engine/anim/joint_REF.gc +++ b/test/decompiler/reference/engine/anim/joint_REF.gc @@ -3,14 +3,7 @@ ;; definition for method 2 of type joint (defmethod print joint ((obj joint)) - (format - #t - "#<~A ~S ~D @ #x~X>" - (-> obj type) - (-> obj name) - (-> obj number) - obj - ) + (format #t "#<~A ~S ~D @ #x~X>" (-> obj type) (-> obj name) (-> obj number) obj) obj ) @@ -20,23 +13,15 @@ (set! (-> arg0 data 65 name) "joint") (+! (-> arg0 data 65 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 65 used) v1-6) - (+! (-> arg0 data 65 total) (logand -16 (+ v1-6 15))) - ) + (+! (-> arg0 data 65 used) v1-6) + (+! (-> arg0 data 65 total) (logand -16 (+ v1-6 15))) + ) obj ) ;; definition for method 2 of type joint-anim (defmethod print joint-anim ((obj joint-anim)) - (format - #t - "#<~A ~S ~D [~D] @ #x~X>" - (-> obj type) - (-> obj name) - (-> obj number) - (-> obj length) - obj - ) + (format #t "#<~A ~S ~D [~D] @ #x~X>" (-> obj type) (-> obj name) (-> obj number) (-> obj length) obj) obj ) @@ -67,8 +52,8 @@ (format #t "~Tnumber: ~D~%" (-> obj number)) (format #t "~Tdata[~D]: @ #x~X~%" (-> obj length) (-> obj data)) (dotimes (s5-0 (-> obj length)) - (format #t "~T [~D] ~`transformq`P~%" s5-0 (-> obj data s5-0)) - ) + (format #t "~T [~D] ~`transformq`P~%" s5-0 (-> obj data s5-0)) + ) obj ) @@ -87,93 +72,81 @@ ;; definition for function joint-anim-login (defun joint-anim-login ((arg0 joint-anim-drawable)) (dotimes (s5-0 (-> arg0 length)) - (if (-> arg0 data s5-0) - (login (-> arg0 data s5-0)) + (if (-> arg0 data s5-0) + (login (-> arg0 data s5-0)) + ) ) - ) arg0 ) ;; definition for function joint-anim-inspect-elt (defun joint-anim-inspect-elt ((arg0 joint-anim) (arg1 float)) - (case (-> arg0 type) - ((joint-anim-matrix) + (case (-> arg0 type) + ((joint-anim-matrix) ((method-of-type matrix inspect) - (the-as - matrix - (-> (the-as joint-anim-matrix arg0) data (the int arg1) vector) - ) + (the-as matrix (-> (the-as joint-anim-matrix arg0) data (the int arg1) vector)) ) ) - ((joint-anim-transformq) - (format - #t - "~`transform`P~%" - (-> (the-as joint-anim-transformq arg0) data (the int arg1)) + ((joint-anim-transformq) + (format #t "~`transform`P~%" (-> (the-as joint-anim-transformq arg0) data (the int arg1))) ) ) - ) arg0 ) ;; definition for method 8 of type joint-anim-drawable -(defmethod - mem-usage - joint-anim-drawable - ((obj joint-anim-drawable) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage joint-anim-drawable ((obj joint-anim-drawable) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 77 (-> arg0 length))) (set! (-> arg0 data 76 name) "joint-anim-drawable") (+! (-> arg0 data 76 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 76 used) v1-6) - (+! (-> arg0 data 76 total) (logand -16 (+ v1-6 15))) - ) + (+! (-> arg0 data 76 used) v1-6) + (+! (-> arg0 data 76 total) (logand -16 (+ v1-6 15))) + ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj data s3-0) arg0 arg1) - ) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) obj ) ;; definition for function jacc-mem-usage -(defun - jacc-mem-usage - ((arg0 joint-anim-compressed-control) (arg1 memory-usage-block) (arg2 int)) +(defun jacc-mem-usage ((arg0 joint-anim-compressed-control) (arg1 memory-usage-block) (arg2 int)) (set! (-> arg1 length) (max 68 (-> arg1 length))) (set! (-> arg1 data 67 name) "joint-anim-compressed-control") (+! (-> arg1 data 67 count) 1) (let ((v1-7 (+ (* (-> arg0 num-frames) 4) 16))) - (+! (-> arg1 data 67 used) v1-7) - (+! (-> arg1 data 67 total) (logand -16 (+ v1-7 15))) - ) + (+! (-> arg1 data 67 used) v1-7) + (+! (-> arg1 data 67 total) (logand -16 (+ v1-7 15))) + ) (set! (-> arg1 length) (max 69 (-> arg1 length))) (set! (-> arg1 data 68 name) "joint-anim-fixed") (+! (-> arg1 data 68 count) 1) (let ((v1-17 (+ (-> arg0 fixed-qwc) 16))) - (+! (-> arg1 data 68 used) v1-17) - (+! (-> arg1 data 68 total) (logand -16 (+ v1-17 15))) - ) - (dotimes (v1-21 (the-as int (-> arg0 num-frames))) - (set! (-> arg1 length) (max 70 (-> arg1 length))) - (set! (-> arg1 data 69 name) "joint-anim-frame") - (+! (-> arg1 data 69 count) 1) - (let ((a2-15 (* (-> arg0 frame-qwc) 16))) - (+! (-> arg1 data 69 used) a2-15) - (+! (-> arg1 data 69 total) (logand -16 (+ a2-15 15))) + (+! (-> arg1 data 68 used) v1-17) + (+! (-> arg1 data 68 total) (logand -16 (+ v1-17 15))) + ) + (dotimes (v1-21 (the-as int (-> arg0 num-frames))) + (set! (-> arg1 length) (max 70 (-> arg1 length))) + (set! (-> arg1 data 69 name) "joint-anim-frame") + (+! (-> arg1 data 69 count) 1) + (let ((a2-15 (* (-> arg0 frame-qwc) 16))) + (+! (-> arg1 data 69 used) a2-15) + (+! (-> arg1 data 69 total) (logand -16 (+ a2-15 15))) + ) ) - ) arg0 ) ;; definition for method 2 of type joint-control-channel (defmethod print joint-control-channel ((obj joint-control-channel)) (format - #t - "#" - (-> obj command) - (-> obj frame-group) - (-> obj frame-num) - obj - ) + #t + "#" + (-> obj command) + (-> obj frame-group) + (-> obj frame-num) + obj + ) obj ) @@ -185,34 +158,22 @@ ;; definition for method 0 of type joint-control (defmethod new joint-control ((allocation symbol) (type-to-make type) (arg0 int)) - (let - ((v0-0 - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* 48 arg0))) + (let ((v0-0 (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) (* 48 arg0)))))) + (set! (-> v0-0 allocated-length) arg0) + (set! (-> v0-0 active-channels) 0) + (set! (-> v0-0 root-channel) (-> v0-0 channel)) + (set! (-> v0-0 generate-frame-function) + (the-as (function pointer int process-drawable none) create-interpolated-joint-animation-frame) + ) + (set! (-> v0-0 prebind-function) #f) + (set! (-> v0-0 postbind-function) #f) + (set! (-> v0-0 effect) #f) + (dotimes (v1-4 arg0) + (set! (-> v0-0 channel v1-4 parent) v0-0) ) - ) + (set! (-> v0-0 blend-index) -1) + v0-0 ) - (set! (-> v0-0 allocated-length) arg0) - (set! (-> v0-0 active-channels) 0) - (set! (-> v0-0 root-channel) (-> v0-0 channel)) - (set! - (-> v0-0 generate-frame-function) - (the-as - (function pointer int process-drawable none) - create-interpolated-joint-animation-frame - ) - ) - (set! (-> v0-0 prebind-function) #f) - (set! (-> v0-0 postbind-function) #f) - (set! (-> v0-0 effect) #f) - (dotimes (v1-4 arg0) - (set! (-> v0-0 channel v1-4 parent) v0-0) - ) - (set! (-> v0-0 blend-index) -1) - v0-0 - ) ) ;; definition for method 9 of type joint-control-channel @@ -220,70 +181,69 @@ (let ((s5-0 (-> obj frame-group)) (f30-0 (-> obj frame-num)) ) - (dotimes (s4-0 (length s5-0)) - (format #t "joint ~A ~D " (-> s5-0 data s4-0 name) s4-0) - (joint-anim-inspect-elt (-> s5-0 data s4-0) f30-0) + (dotimes (s4-0 (length s5-0)) + (format #t "joint ~A ~D " (-> s5-0 data s4-0 name) s4-0) + (joint-anim-inspect-elt (-> s5-0 data s4-0) f30-0) + ) ) - ) obj ) ;; definition for method 10 of type joint-control (defmethod dummy-10 joint-control ((obj joint-control) (arg0 symbol)) (dotimes (s4-0 (-> obj active-channels)) - (let* - ((v1-6 - (if - (and - (-> obj channel s4-0 frame-group) - (nonzero? (-> obj channel s4-0 frame-group)) - ) - (-> obj channel s4-0 frame-group) - ) - ) - (t9-0 format) - (a0-5 arg0) - (a1-1 "ch:~2d ~C ~-35S f: ~6,,2f ~4,,2f ~4,,2f%~%") - (a2-0 s4-0) - (a3-3 (-> obj channel s4-0 command)) - (a3-4 (cond - ((= a3-3 'push) - 80 - ) - ((= a3-3 'push1) - 112 - ) - ((= a3-3 'blend) - 66 - ) - ((= a3-3 'stack) - 83 - ) - ((= a3-3 'stack1) - 115 - ) + (let* ((v1-6 (if (and (-> obj channel s4-0 frame-group) (nonzero? (-> obj channel s4-0 frame-group))) + (-> obj channel s4-0 frame-group) + ) + ) + (t9-0 format) + (a0-5 arg0) + (a1-1 "ch:~2d ~C ~-35S f: ~6,,2f ~4,,2f ~4,,2f%~%") + (a2-0 s4-0) + (a3-3 (-> obj channel s4-0 command)) + (a3-4 (cond + ((= a3-3 'push) + 80 + ) + ((= a3-3 'push1) + 112 + ) + ((= a3-3 'blend) + 66 + ) + ((= a3-3 'stack) + 83 + ) + ((= a3-3 'stack1) + 115 + ) + ) + ) + ) + (t9-0 + a0-5 + a1-1 + a2-0 + a3-4 + (if v1-6 + (-> v1-6 name) + "(none)" ) + (+ (* (-> obj channel s4-0 frame-num) (if v1-6 + (-> v1-6 artist-step) + 1.0 + ) + ) + (if v1-6 + (-> v1-6 artist-base) + 0.0 + ) + ) + (-> obj channel s4-0 frame-interp) + (-> obj channel s4-0 inspector-amount) + ) ) - ) - (t9-0 a0-5 a1-1 a2-0 a3-4 (if v1-6 - (-> v1-6 name) - "(none)" - ) - (+ (* (-> obj channel s4-0 frame-num) (if v1-6 - (-> v1-6 artist-step) - 1.0 - ) - ) - (if v1-6 - (-> v1-6 artist-base) - 0.0 - ) - ) - (-> obj channel s4-0 frame-interp) - (-> obj channel s4-0 inspector-amount) - ) ) - ) 0 ) @@ -306,14 +266,7 @@ ;; definition for method 2 of type art (defmethod print art ((obj art)) - (format - #t - "#<~A ~S :length ~D @ #x~X>" - (-> obj type) - (-> obj name) - (-> obj length) - obj - ) + (format #t "#<~A ~S :length ~D @ #x~X>" (-> obj type) (-> obj name) (-> obj length) obj) obj ) @@ -325,29 +278,26 @@ ;; definition for method 9 of type art (defmethod login art ((obj art)) (if (and (-> obj extra) (zero? (-> obj extra tag))) - (set! (-> obj extra tag) (&+ (the-as (pointer res-tag) (-> obj extra)) 28)) - ) + (set! (-> obj extra tag) (&+ (the-as (pointer res-tag) (-> obj extra)) 28)) + ) obj ) ;; definition for method 8 of type art-mesh-anim -(defmethod - mem-usage - art-mesh-anim - ((obj art-mesh-anim) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage art-mesh-anim ((obj art-mesh-anim) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 72 (-> arg0 length))) (set! (-> arg0 data 71 name) "art-mesh-anim") (+! (-> arg0 data 71 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 71 used) v1-6) - (+! (-> arg0 data 71 total) (logand -16 (+ v1-6 15))) - ) + (+! (-> arg0 data 71 used) v1-6) + (+! (-> arg0 data 71 total) (logand -16 (+ v1-6 15))) + ) (if (-> obj extra) - (mem-usage (-> obj extra) arg0 (logior arg1 512)) - ) + (mem-usage (-> obj extra) arg0 (logior arg1 512)) + ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj data s3-0) arg0 arg1) - ) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) obj ) @@ -372,45 +322,42 @@ (format #t "~Tframes: @ #x~X~%" (-> obj frames)) (format #t "~Tdata[~D]: @ #x~X~%" (-> obj length) (-> obj data)) (dotimes (s5-0 (-> obj length)) - (format #t "~T [~D] ~A~%" s5-0 (-> obj data s5-0)) - ) + (format #t "~T [~D] ~A~%" s5-0 (-> obj data s5-0)) + ) obj ) ;; definition for method 8 of type art-joint-anim -(defmethod - mem-usage - art-joint-anim - ((obj art-joint-anim) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage art-joint-anim ((obj art-joint-anim) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 75 (-> arg0 length))) (set! (-> arg0 data 74 name) "art-joint-anim") (+! (-> arg0 data 74 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 74 used) v1-6) - (+! (-> arg0 data 74 total) (logand -16 (+ v1-6 15))) - ) + (+! (-> arg0 data 74 used) v1-6) + (+! (-> arg0 data 74 total) (logand -16 (+ v1-6 15))) + ) (if (-> obj extra) - (mem-usage (-> obj extra) arg0 (logior arg1 512)) - ) + (mem-usage (-> obj extra) arg0 (logior arg1 512)) + ) (jacc-mem-usage (-> obj frames) arg0 arg1) (dotimes (s4-1 (-> obj length)) - (set! (-> arg0 length) (max 67 (-> arg0 length))) - (set! (-> arg0 data 66 name) "joint-anim-compressed") - (+! (-> arg0 data 66 count) 1) - (let ((v1-22 (asize-of (-> obj data s4-1)))) - (+! (-> arg0 data 66 used) v1-22) - (+! (-> arg0 data 66 total) (logand -16 (+ v1-22 15))) + (set! (-> arg0 length) (max 67 (-> arg0 length))) + (set! (-> arg0 data 66 name) "joint-anim-compressed") + (+! (-> arg0 data 66 count) 1) + (let ((v1-22 (asize-of (-> obj data s4-1)))) + (+! (-> arg0 data 66 used) v1-22) + (+! (-> arg0 data 66 total) (logand -16 (+ v1-22 15))) + ) ) - ) (when (and (nonzero? (-> obj _unknown)) (-> obj _unknown)) - (set! (-> arg0 length) (max 109 (-> arg0 length))) - (set! (-> arg0 data 108 name) "eye-anim") - (+! (-> arg0 data 108 count) 1) - (let ((v1-41 (* (* (+ (-> obj _unknown 0) 1) 2) 8))) - (+! (-> arg0 data 108 used) v1-41) - (+! (-> arg0 data 108 total) (logand -16 (+ v1-41 15))) + (set! (-> arg0 length) (max 109 (-> arg0 length))) + (set! (-> arg0 data 108 name) "eye-anim") + (+! (-> arg0 data 108 count) 1) + (let ((v1-41 (* (* (+ (-> obj _unknown 0) 1) 2) 8))) + (+! (-> arg0 data 108 used) v1-41) + (+! (-> arg0 data 108 total) (logand -16 (+ v1-41 15))) + ) ) - ) obj ) @@ -430,182 +377,146 @@ (format #t "~Textra: ~A~%" (-> obj extra)) (format #t "~Tdata[~D]: @ #x~X~%" (-> obj length) (-> obj data)) (dotimes (s5-0 (-> obj length)) - (if (-> obj data s5-0) - (format - #t - "~T [~D] ~A (~D bytes)~%" - s5-0 - (-> obj data s5-0) - (mem-size (-> obj data s5-0) #f 0) - ) - (format #t "~T [~D] ~A (~D bytes)~%" s5-0 (-> obj data s5-0) 0) + (if (-> obj data s5-0) + (format #t "~T [~D] ~A (~D bytes)~%" s5-0 (-> obj data s5-0) (mem-size (-> obj data s5-0) #f 0)) + (format #t "~T [~D] ~A (~D bytes)~%" s5-0 (-> obj data s5-0) 0) + ) ) - ) obj ) ;; definition for method 12 of type art-group ;; INFO: Return type mismatch object vs symbol. (defmethod needs-link? art-group ((obj art-group)) - (the-as - symbol - (and - (-> obj length) - (type-type? (-> obj data 0 type) art-joint-anim) - (!= - (-> obj name) - (-> (the-as art-joint-anim (-> obj data 0)) master-art-group-name) - ) - ) - ) + (the-as symbol (and + (-> obj length) + (type-type? (-> obj data 0 type) art-joint-anim) + (!= (-> obj name) (-> (the-as art-joint-anim (-> obj data 0)) master-art-group-name)) + ) + ) ) ;; definition for method 10 of type art-group ;; INFO: Return type mismatch art-element vs joint. (defmethod dummy-10 art-group ((obj art-group) (arg0 string) (arg1 type)) - (the-as joint (cond - (arg1 - (let ((s3-0 (+ (length (-> obj name)) 1))) - (dotimes (s2-0 (-> obj length)) - (if - (and - (-> obj data s2-0) - (= (-> obj data s2-0 type) arg1) - (or - (name= arg0 (-> obj data s2-0 name)) - (string-charp= - arg0 - (&-> (-> obj data s2-0 name) data s3-0) - ) - ) - ) - (return (the-as joint (-> obj data s2-0))) - ) + (the-as + joint + (cond + (arg1 + (let ((s3-0 (+ (length (-> obj name)) 1))) + (dotimes (s2-0 (-> obj length)) + (if (and + (-> obj data s2-0) + (= (-> obj data s2-0 type) arg1) + (or (name= arg0 (-> obj data s2-0 name)) (string-charp= arg0 (&-> (-> obj data s2-0 name) data s3-0))) ) - ) - (the-as art-element #f) - ) - (else - (dotimes (s4-1 (-> obj length)) - (if - (and - (-> obj data s4-1) - (name= arg0 (-> obj data s4-1 name)) - ) - (return (the-as joint (-> obj data s4-1))) - ) - ) - (the-as art-element #f) - ) - ) - ) + (return (the-as joint (-> obj data s2-0))) + ) + ) + ) + (the-as art-element #f) + ) + (else + (dotimes (s4-1 (-> obj length)) + (if (and (-> obj data s4-1) (name= arg0 (-> obj data s4-1 name))) + (return (the-as joint (-> obj data s4-1))) + ) + ) + (the-as art-element #f) + ) + ) + ) ) ;; definition for method 11 of type art-group (defmethod dummy-11 art-group ((obj art-group) (arg0 string) (arg1 type)) (cond - (arg1 - (let ((s3-0 (+ (length (-> obj name)) 1))) - (dotimes (s2-0 (-> obj length)) - (if - (and - (-> obj data s2-0) - (= (-> obj data s2-0 type) arg1) - (or - (name= arg0 (-> obj data s2-0 name)) - (string-charp= arg0 (&-> (-> obj data s2-0 name) data s3-0)) - ) + (arg1 + (let ((s3-0 (+ (length (-> obj name)) 1))) + (dotimes (s2-0 (-> obj length)) + (if (and + (-> obj data s2-0) + (= (-> obj data s2-0 type) arg1) + (or (name= arg0 (-> obj data s2-0 name)) (string-charp= arg0 (&-> (-> obj data s2-0 name) data s3-0))) + ) + (return s2-0) + ) + ) ) - (return s2-0) - ) + (the-as int #f) ) - ) - (the-as int #f) - ) - (else - (dotimes (s4-1 (-> obj length)) - (if (and (-> obj data s4-1) (name= arg0 (-> obj data s4-1 name))) - (return s4-1) + (else + (dotimes (s4-1 (-> obj length)) + (if (and (-> obj data s4-1) (name= arg0 (-> obj data s4-1 name))) + (return s4-1) + ) + ) + (the-as int #f) ) - ) - (the-as int #f) ) - ) ) ;; definition for method 9 of type art-group (defmethod login art-group ((obj art-group)) (dotimes (s5-0 (-> obj length)) - (if (-> obj data s5-0) - (set! (-> obj data s5-0) (login (-> obj data s5-0))) + (if (-> obj data s5-0) + (set! (-> obj data s5-0) (login (-> obj data s5-0))) + ) ) - ) obj ) ;; definition for method 8 of type art-group -(defmethod - mem-usage - art-group - ((obj art-group) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage art-group ((obj art-group) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 71 (-> arg0 length))) (set! (-> arg0 data 70 name) "art-group") (+! (-> arg0 data 70 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 70 used) v1-6) - (+! (-> arg0 data 70 total) (logand -16 (+ v1-6 15))) - ) - (if (-> obj extra) - (mem-usage (-> obj extra) arg0 (logior arg1 512)) - ) - (dotimes (s3-0 (-> obj length)) - (if (-> obj data s3-0) - (mem-usage (-> obj data s3-0) arg0 arg1) + (+! (-> arg0 data 70 used) v1-6) + (+! (-> arg0 data 70 total) (logand -16 (+ v1-6 15))) + ) + (if (-> obj extra) + (mem-usage (-> obj extra) arg0 (logior arg1 512)) + ) + (dotimes (s3-0 (-> obj length)) + (if (-> obj data s3-0) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) ) - ) obj ) ;; definition for method 7 of type art-group ;; INFO: Return type mismatch art-group vs none. -(defmethod - relocate - art-group - ((obj art-group) (arg0 kheap) (arg1 (pointer uint8))) +(defmethod relocate art-group ((obj art-group) (arg0 kheap) (arg1 (pointer uint8))) (let ((s4-0 (clear *temp-string*))) - (string<-charp s4-0 arg1) - (set! obj (cond - ((not obj) - (format 0 "ERROR: art-group ~A is not a valid file.~%" s4-0) - (the-as art-group #f) - ) - ((not (type-type? (-> obj type) art-group)) - (format 0 "ERROR: art-group ~A is not a art-group.~%" s4-0) - (the-as art-group #f) - ) - ((not - (file-info-correct-version? - (-> obj info) - (file-kind art-group) - 0 + (string<-charp s4-0 arg1) + (set! obj (cond + ((not obj) + (format 0 "ERROR: art-group ~A is not a valid file.~%" s4-0) + (the-as art-group #f) ) + ((not (type-type? (-> obj type) art-group)) + (format 0 "ERROR: art-group ~A is not a art-group.~%" s4-0) + (the-as art-group #f) + ) + ((not (file-info-correct-version? (-> obj info) (file-kind art-group) 0)) + (the-as art-group #f) + ) + (else + (let ((s5-1 (-> *level* loading-level))) + (if (or (not s5-1) (= (-> s5-1 name) 'default)) + (login obj) + ) + (if s5-1 + (set-loaded-art (-> s5-1 art-group) obj) + ) + ) + obj + ) ) - (the-as art-group #f) - ) - (else - (let ((s5-1 (-> *level* loading-level))) - (if (or (not s5-1) (= (-> s5-1 name) 'default)) - (login obj) - ) - (if s5-1 - (set-loaded-art (-> s5-1 art-group) obj) - ) - ) - obj - ) - ) + ) ) - ) (none) ) @@ -616,23 +527,20 @@ ) ;; definition for method 8 of type art-mesh-geo -(defmethod - mem-usage - art-mesh-geo - ((obj art-mesh-geo) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage art-mesh-geo ((obj art-mesh-geo) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 73 (-> arg0 length))) (set! (-> arg0 data 72 name) "art-mesh-geo") (+! (-> arg0 data 72 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 72 used) v1-6) - (+! (-> arg0 data 72 total) (logand -16 (+ v1-6 15))) - ) + (+! (-> arg0 data 72 used) v1-6) + (+! (-> arg0 data 72 total) (logand -16 (+ v1-6 15))) + ) (if (-> obj extra) - (mem-usage (-> obj extra) arg0 (logior arg1 512)) - ) + (mem-usage (-> obj extra) arg0 (logior arg1 512)) + ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj data s3-0) arg0 arg1) - ) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) obj ) @@ -641,55 +549,49 @@ ;; WARN: Type Propagation failed: Type analysis failed (defmethod login art-mesh-geo ((a0-0 art-mesh-geo)) (local-vars - (v0-0 none) - (v0-1 art-mesh-geo) - (v1-0 int) - (v1-1 int) - (v1-2 none) - (v1-3 none) - (v1-4 none) - (v1-6 none) - (v1-7 none) - (v1-8 none) - (v1-10 none) - (v1-13 int) - (a0-1 none) - (s3-0 int) - (s4-0 basic) - (s5-0 int) - (t9-0 none) - ) - (set! s5-0 0) - (while (begin - (set! v1-13 (-> a0-0 length)) - (<.si s5-0 v1-13) - ) - (set! v1-0 (sll s5-0 2)) - (set! v1-1 (+ v1-0 a0-0)) - (set! s4-0 (dynamic-array-field-access v1-1 data PLACEHOLDER)) - (set! s3-0 0) - (while (begin - (set! v1-10 (the-as none (l.h (+ s4-0 6)))) - (<.si s3-0 v1-10) - ) - (when (begin - (set! v1-2 (the-as none (sll s3-0 2))) - (set! v1-3 (the-as none (+ v1-2 s4-0))) - (set! v1-4 (the-as none (l.wu (+ v1-3 8)))) - v1-4 - ) - (set! v1-6 (the-as none (sll s3-0 2))) - (set! v1-7 (the-as none (+ v1-6 s4-0))) - (set! a0-1 (the-as none (l.wu (+ v1-7 8)))) - (set! v1-8 (the-as none (l.wu (+ a0-1 -4)))) - (set! t9-0 (the-as none (l.wu (+ v1-8 52)))) - (call!) - (set! v1-9 (the-as none v0-0)) - ) - (set! s3-0 (the-as int (+ s3-0 1))) + (v0-0 none) + (v0-1 art-mesh-geo) + (v1-0 int) + (v1-1 int) + (v1-2 none) + (v1-3 none) + (v1-4 none) + (v1-6 none) + (v1-7 none) + (v1-8 none) + (v1-10 none) + (v1-13 int) + (a0-1 none) + (s3-0 int) + (s4-0 basic) + (s5-0 int) + (t9-0 none) + ) + (set! s5-0 0) + (while (begin (set! v1-13 (-> a0-0 length)) (<.si s5-0 v1-13)) + (set! v1-0 (sll s5-0 2)) + (set! v1-1 (+ v1-0 a0-0)) + (set! s4-0 (dynamic-array-field-access v1-1 data PLACEHOLDER)) + (set! s3-0 0) + (while (begin (set! v1-10 (the-as none (l.h (+ s4-0 6)))) (<.si s3-0 v1-10)) + (when (begin + (set! v1-2 (the-as none (sll s3-0 2))) + (set! v1-3 (the-as none (+ v1-2 s4-0))) + (set! v1-4 (the-as none (l.wu (+ v1-3 8)))) + v1-4 + ) + (set! v1-6 (the-as none (sll s3-0 2))) + (set! v1-7 (the-as none (+ v1-6 s4-0))) + (set! a0-1 (the-as none (l.wu (+ v1-7 8)))) + (set! v1-8 (the-as none (l.wu (+ a0-1 -4)))) + (set! t9-0 (the-as none (l.wu (+ v1-8 52)))) + (call!) + (set! v1-9 (the-as none v0-0)) + ) + (set! s3-0 (the-as int (+ s3-0 1))) + ) + (set! s5-0 (the-as int (+ s5-0 1))) ) - (set! s5-0 (the-as int (+ s5-0 1))) - ) (set! v0-1 a0-0) (ret-value v0-1) ) @@ -697,8 +599,8 @@ ;; definition for method 9 of type art-joint-anim (defmethod login art-joint-anim ((obj art-joint-anim)) (if (and (-> obj extra) (zero? (-> obj extra tag))) - (set! (-> obj extra tag) (&+ (the-as (pointer res-tag) (-> obj extra)) 28)) - ) + (set! (-> obj extra tag) (&+ (the-as (pointer res-tag) (-> obj extra)) 28)) + ) obj ) @@ -711,134 +613,109 @@ ;; definition for method 10 of type art-joint-geo (defmethod dummy-10 art-joint-geo ((obj art-joint-geo) (arg0 string) (arg1 type)) (cond - (arg1 - (dotimes (s3-0 (-> obj length)) - (if - (and - (= (-> obj data s3-0 type) arg1) - (name= arg0 (-> obj data s3-0 name)) - ) - (return (-> obj data s3-0)) + (arg1 + (dotimes (s3-0 (-> obj length)) + (if (and (= (-> obj data s3-0 type) arg1) (name= arg0 (-> obj data s3-0 name))) + (return (-> obj data s3-0)) + ) + ) + (the-as joint #f) ) - ) - (the-as joint #f) - ) - (else - (dotimes (s4-1 (-> obj length)) - (if (name= arg0 (-> obj data s4-1 name)) - (return (-> obj data s4-1)) + (else + (dotimes (s4-1 (-> obj length)) + (if (name= arg0 (-> obj data s4-1 name)) + (return (-> obj data s4-1)) + ) + ) + (the-as joint #f) ) - ) - (the-as joint #f) ) - ) ) ;; definition for method 11 of type art-joint-geo (defmethod dummy-11 art-joint-geo ((obj art-joint-geo) (arg0 string) (arg1 type)) (cond - (arg1 - (dotimes (s3-0 (-> obj length)) - (if - (and - (= (-> obj data s3-0 type) arg1) - (name= arg0 (-> obj data s3-0 name)) - ) - (return s3-0) + (arg1 + (dotimes (s3-0 (-> obj length)) + (if (and (= (-> obj data s3-0 type) arg1) (name= arg0 (-> obj data s3-0 name))) + (return s3-0) + ) + ) + (the-as int #f) ) - ) - (the-as int #f) - ) - (else - (dotimes (s4-1 (-> obj length)) - (if (name= arg0 (-> obj data s4-1 name)) - (return s4-1) + (else + (dotimes (s4-1 (-> obj length)) + (if (name= arg0 (-> obj data s4-1 name)) + (return s4-1) + ) + ) + (the-as int #f) ) - ) - (the-as int #f) ) - ) ) ;; definition for method 8 of type art-joint-geo -(defmethod - mem-usage - art-joint-geo - ((obj art-joint-geo) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage art-joint-geo ((obj art-joint-geo) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 74 (-> arg0 length))) (set! (-> arg0 data 73 name) "art-joint-geo") (+! (-> arg0 data 73 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 73 used) v1-6) - (+! (-> arg0 data 73 total) (logand -16 (+ v1-6 15))) - ) + (+! (-> arg0 data 73 used) v1-6) + (+! (-> arg0 data 73 total) (logand -16 (+ v1-6 15))) + ) (if (-> obj extra) - (mem-usage (-> obj extra) arg0 (logior arg1 512)) - ) + (mem-usage (-> obj extra) arg0 (logior arg1 512)) + ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj data s3-0) arg0 arg1) - ) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) obj ) ;; definition for function joint-control-channel-eval (defun joint-control-channel-eval ((arg0 joint-control-channel)) (let ((f0-2 ((-> arg0 num-func) arg0 (-> arg0 param 0) (-> arg0 param 1)))) - (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) - f0-2 - ) + (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) + f0-2 + ) ) ;; definition for function joint-control-channel-eval! -(defun - joint-control-channel-eval! - ((arg0 joint-control-channel) - (arg1 (function joint-control-channel float float float)) - ) +(defun joint-control-channel-eval! ((arg0 joint-control-channel) (arg1 (function joint-control-channel float float float))) (set! (-> arg0 num-func) arg1) (let ((f0-2 (arg1 arg0 (-> arg0 param 0) (-> arg0 param 1)))) - (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) - f0-2 - ) + (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) + f0-2 + ) ) ;; definition for function joint-control-channel-group-eval! -(defun - joint-control-channel-group-eval! - ((arg0 joint-control-channel) - (arg1 art-joint-anim) - (arg2 (function joint-control-channel float float float)) - ) +(defun joint-control-channel-group-eval! ((arg0 joint-control-channel) (arg1 art-joint-anim) (arg2 (function joint-control-channel float float float))) (set! (-> arg0 num-func) arg2) (cond - ((= (-> arg0 command) 'stack) - ) - (else - (if arg1 - (set! (-> arg0 frame-group) arg1) + ((= (-> arg0 command) 'stack) ) - (arg2 arg0 (-> arg0 param 0) (-> arg0 param 1)) - (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) + (else + (if arg1 + (set! (-> arg0 frame-group) arg1) + ) + (arg2 arg0 (-> arg0 param 0) (-> arg0 param 1)) + (set! (-> arg0 eval-time) (the-as uint (-> *display* base-frame-counter))) + ) ) - ) 0 ) ;; definition for function joint-control-channel-group! -(defun - joint-control-channel-group! - ((arg0 joint-control-channel) - (arg1 art-joint-anim) - (arg2 (function joint-control-channel float float float)) - ) +(defun joint-control-channel-group! ((arg0 joint-control-channel) (arg1 art-joint-anim) (arg2 (function joint-control-channel float float float))) (set! (-> arg0 num-func) arg2) (cond - ((= (-> arg0 command) 'stack) + ((= (-> arg0 command) 'stack) + ) + (arg1 + (set! (-> arg0 frame-group) arg1) + ) ) - (arg1 - (set! (-> arg0 frame-group) arg1) - ) - ) 0 ) @@ -846,111 +723,83 @@ (defun joint-control-copy! ((arg0 joint-control) (arg1 joint-control)) (set! (-> arg0 blend-index) (-> arg1 blend-index)) (set! (-> arg0 active-channels) (-> arg1 active-channels)) - (set! - (-> arg0 root-channel) - (the-as - (inline-array joint-control-channel) - (-> - arg0 - channel - (/ - (&- - (the-as pointer (-> arg1 root-channel)) - (the-as uint (the-as pointer (-> arg1 channel))) - ) - 48 - ) - ) - ) - ) + (set! (-> arg0 root-channel) + (the-as + (inline-array joint-control-channel) + (-> arg0 + channel + (/ (&- (the-as pointer (-> arg1 root-channel)) (the-as uint (the-as pointer (-> arg1 channel)))) 48) + ) + ) + ) (mem-copy! - (the-as pointer (-> arg0 channel)) - (the-as pointer (-> arg1 channel)) - (* 48 (-> arg0 allocated-length)) - ) + (the-as pointer (-> arg0 channel)) + (the-as pointer (-> arg1 channel)) + (* 48 (-> arg0 allocated-length)) + ) (dotimes (v1-7 (-> arg0 allocated-length)) - (set! (-> arg0 channel v1-7 parent) arg0) - ) + (set! (-> arg0 channel v1-7 parent) arg0) + ) arg0 ) ;; definition for function joint-control-remap! ;; INFO: Return type mismatch symbol vs object. ;; Used lq/sq -(defun - joint-control-remap! - ((arg0 joint-control) - (arg1 art-group) - (arg2 art-group) - (arg3 pair) - (arg4 int) - (arg5 string) - ) +(defun joint-control-remap! ((arg0 joint-control) (arg1 art-group) (arg2 art-group) (arg3 pair) (arg4 int) (arg5 string)) (local-vars - (sv-16 int) - (sv-24 symbol) - (sv-32 int) - (sv-40 int) - (sv-48 joint-control-channel) - (sv-52 object) - (sv-56 int) - (sv-64 joint) - (sv-80 string) - ) + (sv-16 int) + (sv-24 symbol) + (sv-32 int) + (sv-40 int) + (sv-48 joint-control-channel) + (sv-52 object) + (sv-56 int) + (sv-64 joint) + (sv-80 string) + ) (set! sv-16 (+ (length (-> arg2 name)) 1)) (set! sv-24 #t) (set! sv-32 arg4) (set! sv-40 2) - (while - (and - (< sv-40 (-> arg1 length)) - (!= (-> arg1 data sv-40 type) art-joint-anim) + (while (and (< sv-40 (-> arg1 length)) (!= (-> arg1 data sv-40 type) art-joint-anim)) + (set! sv-40 (+ sv-40 1)) ) - (set! sv-40 (+ sv-40 1)) - ) (dotimes (s2-1 (-> arg0 active-channels)) - (set! sv-48 (-> arg0 channel s2-1)) - (when (-> sv-48 frame-group) - (format - (clear *temp-string*) - "~S~G" - arg5 - (&+ (-> sv-48 frame-group name data) sv-16) - ) - (when (not (null? arg3)) - (set! sv-52 (nassoc *temp-string* arg3)) - (when sv-52 - (let ((s1-1 sv-32) - (a0-9 sv-52) + (set! sv-48 (-> arg0 channel s2-1)) + (when (-> sv-48 frame-group) + (format (clear *temp-string*) "~S~G" arg5 (&+ (-> sv-48 frame-group name data) sv-16)) + (when (not (null? arg3)) + (set! sv-52 (nassoc *temp-string* arg3)) + (when sv-52 + (let ((s1-1 sv-32) + (a0-9 sv-52) + ) + (set! sv-56 (mod s1-1 (+ ((method-of-type (rtype-of a0-9) length) a0-9) -1))) ) - (set! - sv-56 - (mod s1-1 (+ ((method-of-type (rtype-of a0-9) length) a0-9) -1)) - ) - ) - (let ((s1-2 format) - (s0-0 (clear *temp-string*)) + (let ((s1-2 format) + (s0-0 (clear *temp-string*)) + ) + (set! sv-80 "~S") + (let ((a2-2 (ref sv-52 (+ sv-56 1)))) + (s1-2 s0-0 sv-80 a2-2) + ) ) - (set! sv-80 "~S") - (let ((a2-2 (ref sv-52 (+ sv-56 1)))) - (s1-2 s0-0 sv-80 a2-2) + ) + ) + (set! sv-64 (dummy-10 arg1 *temp-string* art-joint-anim)) + (cond + (sv-64 + (set! (-> sv-48 frame-group) (the-as art-joint-anim sv-64)) + ) + (else + (set! (-> sv-48 frame-group) (the-as art-joint-anim (-> arg1 data sv-40))) + (set! (-> sv-48 frame-num) 0.0) + (set! sv-24 (the-as symbol #f)) + ) ) - ) ) - ) - (set! sv-64 (dummy-10 arg1 *temp-string* art-joint-anim)) - (cond - (sv-64 - (set! (-> sv-48 frame-group) (the-as art-joint-anim sv-64)) - ) - (else - (set! (-> sv-48 frame-group) (the-as art-joint-anim (-> arg1 data sv-40))) - (set! (-> sv-48 frame-num) 0.0) - (set! sv-24 (the-as symbol #f)) - ) - ) ) - ) (the-as object sv-24) ) @@ -960,89 +809,89 @@ ;; Used lq/sq (defun flatten-joint-control-to-spr ((a0-0 joint-control)) (local-vars - (v0-0 none) - (v0-1 int) - (v1-0 int) - (v1-3 none) - (v1-4 none) - (v1-6 none) - (v1-7 none) - (v1-8 none) - (v1-9 none) - (v1-10 none) - (v1-15 none) - (v1-16 none) - (v1-17 none) - (v1-18 none) - (v1-23 int) - (v1-24 int) - (a0-1 int) - (a0-2 none) - (a0-3 none) - (a0-4 none) - (a0-5 none) - (a0-6 none) - (a0-7 none) - (a0-8 none) - (a0-9 none) - (a0-10 none) - (a0-11 none) - (a0-12 none) - (a0-13 none) - (a0-14 none) - (a0-15 none) - (a0-16 int) - (a0-17 int) - (a0-18 none) - (a0-19 none) - (a0-20 none) - (a1-0 int) - (a1-1 none) - (a1-2 none) - (a1-3 none) - (a1-4 none) - (a1-5 int) - (a2-0 none) - (a2-1 none) - (a2-2 none) - (a2-3 none) - (a2-4 none) - (a2-5 none) - (a2-6 none) - (a2-7 none) - (a2-8 none) - (a3-0 none) - (t0-0 none) - (t0-2 none) - (t0-3 none) - (t0-4 none) - (t0-6 none) - (t1-0 none) - (s0-0 none) - (s1-0 none) - (s2-0 none) - (s3-0 int) - (s4-0 int) - (s5-0 int) - (t9-0 none) - (f0-0 float) - (f0-1 none) - (f0-2 none) - (f0-3 none) - (f0-4 none) - (f0-5 none) - (f1-0 none) - (f1-1 none) - (f1-2 none) - (f1-3 none) - (f1-4 none) - (f1-5 none) - (f1-6 none) - (f2-0 none) - (f2-1 none) - (f2-2 none) - (f30-0 none) - ) + (v0-0 none) + (v0-1 int) + (v1-0 int) + (v1-3 none) + (v1-4 none) + (v1-6 none) + (v1-7 none) + (v1-8 none) + (v1-9 none) + (v1-10 none) + (v1-15 none) + (v1-16 none) + (v1-17 none) + (v1-18 none) + (v1-23 int) + (v1-24 int) + (a0-1 int) + (a0-2 none) + (a0-3 none) + (a0-4 none) + (a0-5 none) + (a0-6 none) + (a0-7 none) + (a0-8 none) + (a0-9 none) + (a0-10 none) + (a0-11 none) + (a0-12 none) + (a0-13 none) + (a0-14 none) + (a0-15 none) + (a0-16 int) + (a0-17 int) + (a0-18 none) + (a0-19 none) + (a0-20 none) + (a1-0 int) + (a1-1 none) + (a1-2 none) + (a1-3 none) + (a1-4 none) + (a1-5 int) + (a2-0 none) + (a2-1 none) + (a2-2 none) + (a2-3 none) + (a2-4 none) + (a2-5 none) + (a2-6 none) + (a2-7 none) + (a2-8 none) + (a3-0 none) + (t0-0 none) + (t0-2 none) + (t0-3 none) + (t0-4 none) + (t0-6 none) + (t1-0 none) + (s0-0 none) + (s1-0 none) + (s2-0 none) + (s3-0 int) + (s4-0 int) + (s5-0 int) + (t9-0 none) + (f0-0 float) + (f0-1 none) + (f0-2 none) + (f0-3 none) + (f0-4 none) + (f0-5 none) + (f1-0 none) + (f1-1 none) + (f1-2 none) + (f1-3 none) + (f1-4 none) + (f1-5 none) + (f1-6 none) + (f2-0 none) + (f2-1 none) + (f2-2 none) + (f30-0 none) + ) (rlet ((vf1 :class vf) (vf10 :class vf) (vf11 :class vf) @@ -1058,425 +907,374 @@ (vf8 :class vf) (vf9 :class vf) ) - (set! s5-0 (-> a0-0 active-channels)) - (set! f0-0 1.0) - (set! v1-0 0) - (set! a1-0 #x70000970) - (set! a0-1 0) - (while (<.si a0-1 s5-0) - (cond - ((begin - (set! a2-0 (the-as none 48)) - (set! a2-1 (the-as none (*.si a2-0 a0-1))) - (set! a2-2 (the-as none (+ a2-1 44))) - (set! a2-3 (the-as none (+ a2-2 a0-0))) - (set! a3-0 (the-as none (l.wu (+ a2-3 4)))) - (set! t0-0 (the-as none 'push)) - (= a3-0 t0-0) - ) - (set! a2-4 (the-as none (+ a1-0 v1-0))) - (s.q! a1-0 0) - (s.q! (+ a1-0 16) 0) - (s.q! (+ a1-0 32) 0) - (s.q! (+ a1-0 48) 0) - (s.q! (+ a1-0 64) 0) - (s.q! (+ a1-0 80) 0) - (s.f! a2-4 f0-0) - (set! a1-0 (the-as int (+ a1-0 96))) - (set! a3-1 (the-as none a1-0)) - ) - ((begin - (or (begin - (set! t0-2 (the-as none 'blend)) - (set! t1-0 (the-as none (= a3-0 t0-2))) - t1-0 - ) - (begin - (set! t0-4 (the-as none 'push1)) - (set! t0-3 (the-as none (= a3-0 t0-4))) + (set! s5-0 (-> a0-0 active-channels)) + (set! f0-0 1.0) + (set! v1-0 0) + (set! a1-0 #x70000970) + (set! a0-1 0) + (while (<.si a0-1 s5-0) + (cond + ((begin + (set! a2-0 (the-as none 48)) + (set! a2-1 (the-as none (*.si a2-0 a0-1))) + (set! a2-2 (the-as none (+ a2-1 44))) + (set! a2-3 (the-as none (+ a2-2 a0-0))) + (set! a3-0 (the-as none (l.wu (+ a2-3 4)))) + (set! t0-0 (the-as none 'push)) + (= a3-0 t0-0) + ) + (set! a2-4 (the-as none (+ a1-0 v1-0))) + (s.q! a1-0 0) + (s.q! (+ a1-0 16) 0) + (s.q! (+ a1-0 32) 0) + (s.q! (+ a1-0 48) 0) + (s.q! (+ a1-0 64) 0) + (s.q! (+ a1-0 80) 0) + (s.f! a2-4 f0-0) + (set! a1-0 (the-as int (+ a1-0 96))) + (set! a3-1 (the-as none a1-0)) + ) + ((begin + (or + (begin (set! t0-2 (the-as none 'blend)) (set! t1-0 (the-as none (= a3-0 t0-2))) t1-0) + (begin (set! t0-4 (the-as none 'push1)) (set! t0-3 (the-as none (= a3-0 t0-4)))) + ) + t0-3 + ) + (set! f1-0 (the-as none (l.f (+ a2-3 8)))) + (set! f2-0 (the-as none (-.s f0-0 f1-0))) + (set! a2-5 (the-as none (fpr->gpr f2-0))) + (.mov vf1 a2-5) + (set! a1-1 (the-as none (+ a1-0 -96))) + (.lvf vf2 a1-1) + (set! a2-6 (the-as none (+ a1-1 v1-0))) + (.lvf vf3 (+ a1-1 16)) + (.lvf vf4 (+ a1-1 32)) + (.lvf vf5 (+ a1-1 48)) + (.lvf vf6 (+ a1-1 64)) + (.lvf vf7 (+ a1-1 80)) + (.mul.x.vf vf2 vf2 vf1) + (.mul.x.vf vf3 vf3 vf1) + (.mul.x.vf vf4 vf4 vf1) + (.mul.x.vf vf5 vf5 vf1) + (.mul.x.vf vf6 vf6 vf1) + (.mul.x.vf vf7 vf7 vf1) + (s.vf! a1-1 vf2) + (s.vf! (+ a1-1 16) vf3) + (s.vf! (+ a1-1 32) vf4) + (s.vf! (+ a1-1 48) vf5) + (s.vf! (+ a1-1 64) vf6) + (s.vf! (+ a1-1 80) vf7) + (set! f2-1 (the-as none (l.f a2-6))) + (set! f1-1 (the-as none (+.s f2-1 f1-0))) + (s.f! a2-6 f1-1) + (set! a1-0 (the-as int (+ a1-1 96))) + (set! a3-2 (the-as none a1-0)) + ) + ((begin (set! t0-6 (the-as none 'stack)) (= a3-0 t0-6)) + (set! f2-2 (the-as none (l.f (+ a2-3 8)))) + (set! f1-2 (the-as none (-.s f0-0 f2-2))) + (set! a1-2 (the-as none (+ a1-0 -192))) + (set! a2-7 (the-as none (fpr->gpr f2-2))) + (.mov vf1 a2-7) + (set! a2-8 (the-as none (fpr->gpr f1-2))) + (.mov vf2 a2-8) + (.lvf vf3 a1-2) + (.lvf vf4 (+ a1-2 16)) + (.lvf vf5 (+ a1-2 32)) + (.lvf vf6 (+ a1-2 48)) + (.lvf vf7 (+ a1-2 64)) + (.lvf vf8 (+ a1-2 80)) + (.mul.x.vf vf3 vf3 vf2) + (.mul.x.vf vf4 vf4 vf2) + (.mul.x.vf vf5 vf5 vf2) + (.mul.x.vf vf6 vf6 vf2) + (.mul.x.vf vf7 vf7 vf2) + (.mul.x.vf vf8 vf8 vf2) + (.lvf vf9 (+ a1-2 96)) + (.lvf vf10 (+ a1-2 112)) + (.lvf vf11 (+ a1-2 128)) + (.lvf vf12 (+ a1-2 144)) + (.lvf vf13 (+ a1-2 160)) + (.lvf vf14 (+ a1-2 176)) + (.mul.x.vf vf9 vf9 vf1) + (.mul.x.vf vf10 vf10 vf1) + (.mul.x.vf vf11 vf11 vf1) + (.mul.x.vf vf12 vf12 vf1) + (.mul.x.vf vf13 vf13 vf1) + (.mul.x.vf vf14 vf14 vf1) + (.add.vf vf3 vf3 vf9) + (.add.vf vf4 vf4 vf10) + (.add.vf vf5 vf5 vf11) + (.add.vf vf6 vf6 vf12) + (.add.vf vf7 vf7 vf13) + (.add.vf vf8 vf8 vf14) + (s.vf! a1-2 vf3) + (s.vf! (+ a1-2 16) vf4) + (s.vf! (+ a1-2 32) vf5) + (s.vf! (+ a1-2 48) vf6) + (s.vf! (+ a1-2 64) vf7) + (s.vf! (+ a1-2 80) vf8) + (set! a1-0 (the-as int (+ a1-2 96))) + (set! a3-4 (the-as none a1-0)) ) ) - t0-3 - ) - (set! f1-0 (the-as none (l.f (+ a2-3 8)))) - (set! f2-0 (the-as none (-.s f0-0 f1-0))) - (set! a2-5 (the-as none (fpr->gpr f2-0))) - (.mov vf1 a2-5) - (set! a1-1 (the-as none (+ a1-0 -96))) - (.lvf vf2 a1-1) - (set! a2-6 (the-as none (+ a1-1 v1-0))) - (.lvf vf3 (+ a1-1 16)) - (.lvf vf4 (+ a1-1 32)) - (.lvf vf5 (+ a1-1 48)) - (.lvf vf6 (+ a1-1 64)) - (.lvf vf7 (+ a1-1 80)) - (.mul.x.vf vf2 vf2 vf1) - (.mul.x.vf vf3 vf3 vf1) - (.mul.x.vf vf4 vf4 vf1) - (.mul.x.vf vf5 vf5 vf1) - (.mul.x.vf vf6 vf6 vf1) - (.mul.x.vf vf7 vf7 vf1) - (s.vf! a1-1 vf2) - (s.vf! (+ a1-1 16) vf3) - (s.vf! (+ a1-1 32) vf4) - (s.vf! (+ a1-1 48) vf5) - (s.vf! (+ a1-1 64) vf6) - (s.vf! (+ a1-1 80) vf7) - (set! f2-1 (the-as none (l.f a2-6))) - (set! f1-1 (the-as none (+.s f2-1 f1-0))) - (s.f! a2-6 f1-1) - (set! a1-0 (the-as int (+ a1-1 96))) - (set! a3-2 (the-as none a1-0)) + (set! v1-0 (the-as int (+ v1-0 4))) + (set! a0-1 (the-as int (+ a0-1 1))) ) - ((begin - (set! t0-6 (the-as none 'stack)) - (= a3-0 t0-6) - ) - (set! f2-2 (the-as none (l.f (+ a2-3 8)))) - (set! f1-2 (the-as none (-.s f0-0 f2-2))) - (set! a1-2 (the-as none (+ a1-0 -192))) - (set! a2-7 (the-as none (fpr->gpr f2-2))) - (.mov vf1 a2-7) - (set! a2-8 (the-as none (fpr->gpr f1-2))) - (.mov vf2 a2-8) - (.lvf vf3 a1-2) - (.lvf vf4 (+ a1-2 16)) - (.lvf vf5 (+ a1-2 32)) - (.lvf vf6 (+ a1-2 48)) - (.lvf vf7 (+ a1-2 64)) - (.lvf vf8 (+ a1-2 80)) - (.mul.x.vf vf3 vf3 vf2) - (.mul.x.vf vf4 vf4 vf2) - (.mul.x.vf vf5 vf5 vf2) - (.mul.x.vf vf6 vf6 vf2) - (.mul.x.vf vf7 vf7 vf2) - (.mul.x.vf vf8 vf8 vf2) - (.lvf vf9 (+ a1-2 96)) - (.lvf vf10 (+ a1-2 112)) - (.lvf vf11 (+ a1-2 128)) - (.lvf vf12 (+ a1-2 144)) - (.lvf vf13 (+ a1-2 160)) - (.lvf vf14 (+ a1-2 176)) - (.mul.x.vf vf9 vf9 vf1) - (.mul.x.vf vf10 vf10 vf1) - (.mul.x.vf vf11 vf11 vf1) - (.mul.x.vf vf12 vf12 vf1) - (.mul.x.vf vf13 vf13 vf1) - (.mul.x.vf vf14 vf14 vf1) - (.add.vf vf3 vf3 vf9) - (.add.vf vf4 vf4 vf10) - (.add.vf vf5 vf5 vf11) - (.add.vf vf6 vf6 vf12) - (.add.vf vf7 vf7 vf13) - (.add.vf vf8 vf8 vf14) - (s.vf! a1-2 vf3) - (s.vf! (+ a1-2 16) vf4) - (s.vf! (+ a1-2 32) vf5) - (s.vf! (+ a1-2 48) vf6) - (s.vf! (+ a1-2 64) vf7) - (s.vf! (+ a1-2 80) vf8) - (set! a1-0 (the-as int (+ a1-2 96))) - (set! a3-4 (the-as none a1-0)) - ) - ) - (set! v1-0 (the-as int (+ v1-0 4))) - (set! a0-1 (the-as int (+ a0-1 1))) - ) - (set! s4-0 0) - (set! s3-0 0) - (while (<.si s3-0 s5-0) - (when (begin - (set! f0-1 (the-as none 0.001)) - (set! v1-3 (the-as none (sll s3-0 2))) - (set! a0-2 (the-as none #x70000000)) - (set! v1-4 (the-as none (+ v1-3 a0-2))) - (set! f1-3 (the-as none (l.f (+ v1-4 2416)))) - (<.s f0-1 f1-3) - ) - (when (begin - (when (begin - (set! v1-6 (the-as none 48)) - (set! v1-7 (the-as none (*.si v1-6 s3-0))) - (set! v1-8 (the-as none (+ v1-7 44))) - (set! v1-9 (the-as none (+ v1-8 a0-0))) - (set! a0-3 (the-as none (l.wu (+ v1-9 12)))) - (set! s2-0 (the-as none (l.wu (+ a0-3 40)))) - (set! f0-2 (the-as none (l.f (+ v1-9 16)))) - (set! f1-4 (the-as none (f2i f0-2))) - (set! s1-0 (the-as none (fpr->gpr f1-4))) - (set! f1-5 (the-as none (gpr->fpr s1-0))) - (set! f1-6 (the-as none (i2f f1-5))) - (set! f30-0 (the-as none (-.s f0-2 f1-6))) - (set! a0-4 (the-as none (l.wu s2-0))) - (set! s0-0 (the-as none (+ a0-4 -1))) - (set! v1-10 (the-as none (l.wu (+ v1-9 12)))) - (not v1-10) - ) - (set! t9-0 (the-as none format)) - (set! a0-5 (the-as none 0)) - (set! a1-3 (the-as none L223)) - (set! a2-9 (the-as none s3-0)) - (set! a3-5 (the-as none a0-0)) - (call!) - (set! v1-12 (the-as none v0-0)) + (set! s4-0 0) + (set! s3-0 0) + (while (<.si s3-0 s5-0) + (when (begin + (set! f0-1 (the-as none 0.001)) + (set! v1-3 (the-as none (sll s3-0 2))) + (set! a0-2 (the-as none #x70000000)) + (set! v1-4 (the-as none (+ v1-3 a0-2))) + (set! f1-3 (the-as none (l.f (+ v1-4 2416)))) + (<.s f0-1 f1-3) + ) + (when (begin + (when (begin + (set! v1-6 (the-as none 48)) + (set! v1-7 (the-as none (*.si v1-6 s3-0))) + (set! v1-8 (the-as none (+ v1-7 44))) + (set! v1-9 (the-as none (+ v1-8 a0-0))) + (set! a0-3 (the-as none (l.wu (+ v1-9 12)))) + (set! s2-0 (the-as none (l.wu (+ a0-3 40)))) + (set! f0-2 (the-as none (l.f (+ v1-9 16)))) + (set! f1-4 (the-as none (f2i f0-2))) + (set! s1-0 (the-as none (fpr->gpr f1-4))) + (set! f1-5 (the-as none (gpr->fpr s1-0))) + (set! f1-6 (the-as none (i2f f1-5))) + (set! f30-0 (the-as none (-.s f0-2 f1-6))) + (set! a0-4 (the-as none (l.wu s2-0))) + (set! s0-0 (the-as none (+ a0-4 -1))) + (set! v1-10 (the-as none (l.wu (+ v1-9 12)))) + (not v1-10) + ) + (set! t9-0 (the-as none format)) + (set! a0-5 (the-as none 0)) + (set! a1-3 (the-as none L223)) + (set! a2-9 (the-as none s3-0)) + (set! a3-5 (the-as none a0-0)) + (call!) + (set! v1-12 (the-as none v0-0)) + ) + (>=.si s1-0 s0-0) + ) + (set! f30-0 (the-as none 0)) + (set! s1-0 (the-as none s0-0)) + (set! v1-14 (the-as none s1-0)) + ) + (cond + ((begin + (set! v1-15 (the-as none 24)) + (set! v1-16 (the-as none (*.si v1-15 s4-0))) + (set! v1-17 (the-as none (+ v1-16 1824))) + (set! a0-6 (the-as none #x70000000)) + (set! v1-18 (the-as none (+ v1-17 a0-6))) + (set! a0-7 (the-as none (l.wu (+ s2-0 12)))) + (s.w! v1-18 a0-7) + (set! a0-8 (the-as none (l.wu (+ s2-0 4)))) + (s.w! (+ v1-18 4) a0-8) + (set! a0-9 (the-as none (sll s1-0 2))) + (set! a0-10 (the-as none (+ a0-9 s2-0))) + (set! a0-11 (the-as none (l.wu (+ a0-10 16)))) + (s.w! (+ v1-18 8) a0-11) + (set! f0-3 (the-as none 0)) + (=.s f30-0 f0-3) ) - (>=.si s1-0 s0-0) + (set! a0-12 (the-as none (l.wu (+ s2-0 8)))) + ) + (else + (set! a0-13 (the-as none (l.wu (+ s2-0 8)))) + (set! a0-12 (the-as none (sll a0-13 1))) ) - (set! f30-0 (the-as none 0)) - (set! s1-0 (the-as none s0-0)) - (set! v1-14 (the-as none s1-0)) - ) - (cond - ((begin - (set! v1-15 (the-as none 24)) - (set! v1-16 (the-as none (*.si v1-15 s4-0))) - (set! v1-17 (the-as none (+ v1-16 1824))) - (set! a0-6 (the-as none #x70000000)) - (set! v1-18 (the-as none (+ v1-17 a0-6))) - (set! a0-7 (the-as none (l.wu (+ s2-0 12)))) - (s.w! v1-18 a0-7) - (set! a0-8 (the-as none (l.wu (+ s2-0 4)))) - (s.w! (+ v1-18 4) a0-8) - (set! a0-9 (the-as none (sll s1-0 2))) - (set! a0-10 (the-as none (+ a0-9 s2-0))) - (set! a0-11 (the-as none (l.wu (+ a0-10 16)))) - (s.w! (+ v1-18 8) a0-11) - (set! f0-3 (the-as none 0)) - (=.s f30-0 f0-3) + ) + (s.w! (+ v1-18 12) a0-12) + (set! a0-14 (the-as none (sll s3-0 2))) + (set! a1-4 (the-as none #x70000000)) + (set! a0-15 (the-as none (+ a0-14 a1-4))) + (set! f0-4 (the-as none (l.f (+ a0-15 2416)))) + (s.f! (+ v1-18 16) f0-4) + (s.f! (+ v1-18 20) f30-0) + (set! v1-19 (the-as none (fpr->gpr f30-0))) + (set! s4-0 (the-as int (+ s4-0 1))) + (set! v1-20 (the-as none s4-0)) ) - (set! a0-12 (the-as none (l.wu (+ s2-0 8)))) - ) - (else - (set! a0-13 (the-as none (l.wu (+ s2-0 8)))) - (set! a0-12 (the-as none (sll a0-13 1))) - ) + (set! s3-0 (the-as int (+ s3-0 1))) ) - (s.w! (+ v1-18 12) a0-12) - (set! a0-14 (the-as none (sll s3-0 2))) - (set! a1-4 (the-as none #x70000000)) - (set! a0-15 (the-as none (+ a0-14 a1-4))) - (set! f0-4 (the-as none (l.f (+ a0-15 2416)))) - (s.f! (+ v1-18 16) f0-4) - (s.f! (+ v1-18 20) f30-0) - (set! v1-19 (the-as none (fpr->gpr f30-0))) - (set! s4-0 (the-as int (+ s4-0 1))) - (set! v1-20 (the-as none s4-0)) - ) - (set! s3-0 (the-as int (+ s3-0 1))) + (set! v1-23 #x70000000) + (s.w! (+ v1-23 2400) s4-0) + (set! v1-24 0) + (while (<.si v1-24 s5-0) + (set! a0-16 (sll v1-24 2)) + (set! a1-5 #x70000000) + (set! a0-17 (+ a0-16 a1-5)) + (set! f0-5 (the-as none (l.f (+ a0-17 2416)))) + (set! a0-18 (the-as none 48)) + (set! a0-19 (the-as none (*.si a0-18 v1-24))) + (set! a0-20 (the-as none (+ a0-0 a0-19))) + (s.f! (+ a0-20 88) f0-5) + (set! v1-24 (the-as int (+ v1-24 1))) + ) + (set! v0-1 0) + (ret-value v0-1) ) - (set! v1-23 #x70000000) - (s.w! (+ v1-23 2400) s4-0) - (set! v1-24 0) - (while (<.si v1-24 s5-0) - (set! a0-16 (sll v1-24 2)) - (set! a1-5 #x70000000) - (set! a0-17 (+ a0-16 a1-5)) - (set! f0-5 (the-as none (l.f (+ a0-17 2416)))) - (set! a0-18 (the-as none 48)) - (set! a0-19 (the-as none (*.si a0-18 v1-24))) - (set! a0-20 (the-as none (+ a0-0 a0-19))) - (s.f! (+ a0-20 88) f0-5) - (set! v1-24 (the-as int (+ v1-24 1))) - ) - (set! v0-1 0) - (ret-value v0-1) - ) ) ;; definition for function matrix-from-joint-anim-frame ;; INFO: Return type mismatch object vs matrix. -(defun - matrix-from-joint-anim-frame - ((arg0 joint-anim-compressed-control) (arg1 int) (arg2 int)) +(defun matrix-from-joint-anim-frame ((arg0 joint-anim-compressed-control) (arg1 int) (arg2 int)) (let ((v1-1 (the-as object (-> arg0 fixed data))) (v0-0 (the-as object (-> arg0 data arg2 data))) ) - (cond - ((zero? (logand (-> arg0 fixed hdr matrix-bits) 1)) - (set! v1-1 (cond - ((zero? arg1) - (return (the-as matrix v1-1)) - v1-1 - ) - (else - (-> (the-as (inline-array vector) v1-1) 4) - ) - ) + (cond + ((zero? (logand (-> arg0 fixed hdr matrix-bits) 1)) + (set! v1-1 (cond + ((zero? arg1) + (return (the-as matrix v1-1)) + v1-1 + ) + (else + (-> (the-as (inline-array vector) v1-1) 4) + ) + ) + ) + ) + ((zero? arg1) + (return (the-as matrix v0-0)) + ) + (else + (set! v0-0 (-> (the-as (inline-array vector) v0-0) 4)) + ) ) - ) - ((zero? arg1) - (return (the-as matrix v0-0)) - ) - (else - (set! v0-0 (-> (the-as (inline-array vector) v0-0) 4)) - ) + (if (zero? (logand (-> arg0 fixed hdr matrix-bits) 2)) + (return (the-as matrix v1-1)) + ) + (the-as matrix v0-0) ) - (if (zero? (logand (-> arg0 fixed hdr matrix-bits) 2)) - (return (the-as matrix v1-1)) - ) - (the-as matrix v0-0) - ) ) ;; definition for function matrix-from-control-channel! ;; Used lq/sq -(defun - matrix-from-control-channel! - ((arg0 matrix) (arg1 joint) (arg2 joint-control-channel)) +(defun matrix-from-control-channel! ((arg0 matrix) (arg1 joint) (arg2 joint-control-channel)) (let ((s4-0 (-> arg2 frame-group)) (s5-0 (-> arg1 number)) ) - (if (>= s5-0 2) - (format 0 "ERROR: Call to matrix-from-control-channel! on joint ~D~%" s5-0) - ) - (let* - ((f30-0 - (fmax - 0.0 - (fmin (-> arg2 frame-num) (the float (+ (-> s4-0 data 0 length) -1))) - ) - ) - (f0-1 f30-0) - ) - (cond - ((= (the float (the int f0-1)) f0-1) - (let* - ((a2-3 - (matrix-from-joint-anim-frame (-> s4-0 frames) s5-0 (the int f30-0)) - ) - (v1-7 (-> a2-3 vector 0 quad)) - (a0-3 (-> a2-3 vector 1 quad)) - (a1-3 (-> a2-3 vector 2 quad)) - (a2-4 (-> a2-3 vector 3 quad)) + (if (>= s5-0 2) + (format 0 "ERROR: Call to matrix-from-control-channel! on joint ~D~%" s5-0) ) - (set! (-> arg0 vector 0 quad) v1-7) - (set! (-> arg0 vector 1 quad) a0-3) - (set! (-> arg0 vector 2 quad) a1-3) - (set! (-> arg0 vector 3 quad) a2-4) - ) - arg0 - ) - (else - (let - ((s3-1 - (matrix-from-joint-anim-frame (-> s4-0 frames) s5-0 (the int f30-0)) + (let* ((f30-0 (fmax 0.0 (fmin (-> arg2 frame-num) (the float (+ (-> s4-0 data 0 length) -1))))) + (f0-1 f30-0) + ) + (cond + ((= (the float (the int f0-1)) f0-1) + (let* ((a2-3 (matrix-from-joint-anim-frame (-> s4-0 frames) s5-0 (the int f30-0))) + (v1-7 (-> a2-3 vector 0 quad)) + (a0-3 (-> a2-3 vector 1 quad)) + (a1-3 (-> a2-3 vector 2 quad)) + (a2-4 (-> a2-3 vector 3 quad)) + ) + (set! (-> arg0 vector 0 quad) v1-7) + (set! (-> arg0 vector 1 quad) a0-3) + (set! (-> arg0 vector 2 quad) a1-3) + (set! (-> arg0 vector 3 quad) a2-4) + ) + arg0 ) - (a2-7 - (matrix-from-joint-anim-frame - (-> s4-0 frames) - s5-0 - (+ (the int f30-0) 1) + (else + (let ((s3-1 (matrix-from-joint-anim-frame (-> s4-0 frames) s5-0 (the int f30-0))) + (a2-7 (matrix-from-joint-anim-frame (-> s4-0 frames) s5-0 (+ (the int f30-0) 1))) + (f0-9 (- f30-0 (the float (the int f30-0)))) + ) + (matrix-lerp! arg0 s3-1 a2-7 f0-9) + ) ) - ) - (f0-9 (- f30-0 (the float (the int f30-0)))) ) - (matrix-lerp! arg0 s3-1 a2-7 f0-9) - ) ) - ) ) - ) ) ;; definition for function matrix-from-control-pair! (defun matrix-from-control-pair! ((arg0 matrix) (arg1 matrix) (arg2 joint)) (let ((f30-0 (-> arg1 vector 0 z))) - (cond - ((>= 0.0 f30-0) - (empty) - arg0 - ) - ((>= f30-0 1.0) - (matrix-from-control-channel! - arg0 - arg2 - (the-as joint-control-channel arg1) - ) - ) - (else - (let - ((a2-3 - (matrix-from-control-channel! - (the-as matrix (+ 16 #x70000000)) - arg2 - (the-as joint-control-channel arg1) - ) - ) + (cond + ((>= 0.0 f30-0) + (empty) + arg0 ) - (matrix-lerp! arg0 arg0 a2-3 f30-0) + ((>= f30-0 1.0) + (matrix-from-control-channel! arg0 arg2 (the-as joint-control-channel arg1)) + ) + (else + (let ((a2-3 + (matrix-from-control-channel! (the-as matrix (+ 16 #x70000000)) arg2 (the-as joint-control-channel arg1)) + ) + ) + (matrix-lerp! arg0 arg0 a2-3 f30-0) + ) + ) ) - ) ) - ) ) ;; definition for function matrix-from-control! ;; INFO: Return type mismatch (inline-array matrix) vs matrix. ;; Used lq/sq -(defun - matrix-from-control! - ((arg0 matrix-stack) (arg1 joint) (arg2 joint-control) (arg3 symbol)) +(defun matrix-from-control! ((arg0 matrix-stack) (arg1 joint) (arg2 joint-control) (arg3 symbol)) (set! (-> arg0 top) (the-as matrix (-> arg0 data))) (dotimes (s2-0 (-> arg2 active-channels)) - (let* ((a2-1 (-> arg2 channel s2-0)) - (v1-4 (-> a2-1 command)) - (s1-0 64) - ) - (cond - ((and (= arg3 'no-push) (= v1-4 'push1)) - (matrix-from-control-channel! - (the-as matrix (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0))) - arg1 - a2-1 - ) - ) - ((and (= arg3 'no-push) (= v1-4 'stack)) - (set! - (-> arg0 top) - (the-as matrix (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0))) - ) - (let* - ((v1-10 - (the-as matrix (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0))) + (let* ((a2-1 (-> arg2 channel s2-0)) + (v1-4 (-> a2-1 command)) + (s1-0 64) + ) + (cond + ((and (= arg3 'no-push) (= v1-4 'push1)) + (matrix-from-control-channel! + (the-as matrix (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0))) + arg1 + a2-1 + ) + ) + ((and (= arg3 'no-push) (= v1-4 'stack)) + (set! (-> arg0 top) (the-as matrix (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0)))) + (let* ((v1-10 (the-as matrix (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0)))) + (a3-1 (-> arg0 top)) + (a0-10 (-> a3-1 vector 0 quad)) + (a1-4 (-> a3-1 vector 1 quad)) + (a2-2 (-> a3-1 vector 2 quad)) + (a3-2 (-> a3-1 vector 3 quad)) + ) + (set! (-> v1-10 vector 0 quad) a0-10) + (set! (-> v1-10 vector 1 quad) a1-4) + (set! (-> v1-10 vector 2 quad) a2-2) + (set! (-> v1-10 vector 3 quad) a3-2) + ) + ) + ((= v1-4 'push) + (matrix-from-control-channel! (-> arg0 top) arg1 a2-1) + (set! (-> arg0 top) (the-as matrix (+ (the-as uint (-> arg0 top)) s1-0))) + ) + ((or (= v1-4 'blend) (= v1-4 'push1)) + (matrix-from-control-pair! + (the-as matrix (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0))) + (the-as matrix a2-1) + arg1 + ) + ) + ((= v1-4 'stack) + (set! (-> arg0 top) (the-as matrix (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0)))) + (let ((a1-8 (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0))) + (v1-19 (-> arg0 top)) + (f0-0 (-> a2-1 frame-interp)) + ) + (matrix-lerp! (the-as matrix a1-8) (the-as matrix a1-8) v1-19 f0-0) + ) ) - (a3-1 (-> arg0 top)) - (a0-10 (-> a3-1 vector 0 quad)) - (a1-4 (-> a3-1 vector 1 quad)) - (a2-2 (-> a3-1 vector 2 quad)) - (a3-2 (-> a3-1 vector 3 quad)) ) - (set! (-> v1-10 vector 0 quad) a0-10) - (set! (-> v1-10 vector 1 quad) a1-4) - (set! (-> v1-10 vector 2 quad) a2-2) - (set! (-> v1-10 vector 3 quad) a3-2) - ) ) - ((= v1-4 'push) - (matrix-from-control-channel! (-> arg0 top) arg1 a2-1) - (set! (-> arg0 top) (the-as matrix (+ (the-as uint (-> arg0 top)) s1-0))) - ) - ((or (= v1-4 'blend) (= v1-4 'push1)) - (matrix-from-control-pair! - (the-as matrix (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0))) - (the-as matrix a2-1) - arg1 - ) - ) - ((= v1-4 'stack) - (set! - (-> arg0 top) - (the-as matrix (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0))) - ) - (let ((a1-8 (&- (the-as pointer (-> arg0 top)) (the-as uint s1-0))) - (v1-19 (-> arg0 top)) - (f0-0 (-> a2-1 frame-interp)) - ) - (matrix-lerp! (the-as matrix a1-8) (the-as matrix a1-8) v1-19 f0-0) - ) - ) - ) ) - ) (the-as matrix (-> arg0 data)) ) @@ -1496,28 +1294,28 @@ (let ((t9-0 (method-of-type structure new)) (v1-1 type-to-make) ) - (-> type-to-make size) - ((method-of-type cspace dummy-9) (the-as cspace (t9-0 allocation v1-1)) arg0) - ) + (-> type-to-make size) + ((method-of-type cspace dummy-9) (the-as cspace (t9-0 allocation v1-1)) arg0) + ) ) ;; definition for function cspace<-cspace! ;; Used lq/sq (defun cspace<-cspace! ((arg0 cspace) (arg1 cspace)) (let ((v0-0 (-> arg0 bone transform))) - (let* ((a2-0 (-> arg1 bone transform)) - (v1-2 (-> a2-0 vector 0 quad)) - (a0-1 (-> a2-0 vector 1 quad)) - (a1-1 (-> a2-0 vector 2 quad)) - (a2-1 (-> a2-0 vector 3 quad)) - ) - (set! (-> v0-0 vector 0 quad) v1-2) - (set! (-> v0-0 vector 1 quad) a0-1) - (set! (-> v0-0 vector 2 quad) a1-1) - (set! (-> v0-0 vector 3 quad) a2-1) + (let* ((a2-0 (-> arg1 bone transform)) + (v1-2 (-> a2-0 vector 0 quad)) + (a0-1 (-> a2-0 vector 1 quad)) + (a1-1 (-> a2-0 vector 2 quad)) + (a2-1 (-> a2-0 vector 3 quad)) + ) + (set! (-> v0-0 vector 0 quad) v1-2) + (set! (-> v0-0 vector 1 quad) a0-1) + (set! (-> v0-0 vector 2 quad) a1-1) + (set! (-> v0-0 vector 3 quad) a2-1) + ) + v0-0 ) - v0-0 - ) ) ;; definition for function cspace<-rot-yxy! @@ -1537,9 +1335,7 @@ ) ;; definition for function cspace<-transformq+world-trans! -(defun - cspace<-transformq+world-trans! - ((arg0 cspace) (arg1 transformq) (arg2 vector)) +(defun cspace<-transformq+world-trans! ((arg0 cspace) (arg1 transformq) (arg2 vector)) (matrix<-transformq+world-trans! (-> arg0 bone transform) arg1 arg2) ) @@ -1551,48 +1347,40 @@ ;; definition for function cspace<-matrix-no-push-joint! ;; Used lq/sq (defun cspace<-matrix-no-push-joint! ((arg0 cspace) (arg1 joint-control)) - (let - ((v1-2 - (matrix-from-control! - (the-as matrix-stack (+ 80 #x70000000)) - (-> arg0 joint) - arg1 - 'no-push + (let ((v1-2 (matrix-from-control! (the-as matrix-stack (+ 80 #x70000000)) (-> arg0 joint) arg1 'no-push)) + (v0-1 (-> arg0 bone transform)) + ) + (let ((a0-4 (-> v1-2 vector 0 quad)) + (a1-2 (-> v1-2 vector 1 quad)) + (a2-1 (-> v1-2 vector 2 quad)) + (v1-3 (-> v1-2 vector 3 quad)) + ) + (set! (-> v0-1 vector 0 quad) a0-4) + (set! (-> v0-1 vector 1 quad) a1-2) + (set! (-> v0-1 vector 2 quad) a2-1) + (set! (-> v0-1 vector 3 quad) v1-3) ) - ) - (v0-1 (-> arg0 bone transform)) + v0-1 ) - (let ((a0-4 (-> v1-2 vector 0 quad)) - (a1-2 (-> v1-2 vector 1 quad)) - (a2-1 (-> v1-2 vector 2 quad)) - (v1-3 (-> v1-2 vector 3 quad)) - ) - (set! (-> v0-1 vector 0 quad) a0-4) - (set! (-> v0-1 vector 1 quad) a1-2) - (set! (-> v0-1 vector 2 quad) a2-1) - (set! (-> v0-1 vector 3 quad) v1-3) - ) - v0-1 - ) ) ;; definition for function cspace<-matrix-joint! ;; Used lq/sq (defun cspace<-matrix-joint! ((arg0 cspace) (arg1 matrix)) (let ((v0-0 (-> arg0 bone transform))) - (let* ((a2-0 arg1) - (v1-1 (-> a2-0 vector 0 quad)) - (a0-1 (-> a2-0 vector 1 quad)) - (a1-1 (-> a2-0 vector 2 quad)) - (a2-1 (-> a2-0 vector 3 quad)) - ) - (set! (-> v0-0 vector 0 quad) v1-1) - (set! (-> v0-0 vector 1 quad) a0-1) - (set! (-> v0-0 vector 2 quad) a1-1) - (set! (-> v0-0 vector 3 quad) a2-1) + (let* ((a2-0 arg1) + (v1-1 (-> a2-0 vector 0 quad)) + (a0-1 (-> a2-0 vector 1 quad)) + (a1-1 (-> a2-0 vector 2 quad)) + (a2-1 (-> a2-0 vector 3 quad)) + ) + (set! (-> v0-0 vector 0 quad) v1-1) + (set! (-> v0-0 vector 1 quad) a0-1) + (set! (-> v0-0 vector 2 quad) a1-1) + (set! (-> v0-0 vector 3 quad) a2-1) + ) + v0-0 ) - v0-0 - ) ) ;; definition for function cspace<-parented-matrix-joint! @@ -1623,291 +1411,243 @@ (let ((v1-1 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 108 4))) (a0-2 #x70000000) ) - (s.w! (+ a0-2 1632) v1-1) - ) + (s.w! (+ a0-2 1632) v1-1) + ) (let ((v1-3 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 199 4))) (a0-5 #x70000000) ) - (s.w! (+ a0-5 1636) v1-3) - ) + (s.w! (+ a0-5 1636) v1-3) + ) (let ((v1-5 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 233 4))) (a0-8 #x70000000) ) - (s.w! (+ a0-8 1640) v1-5) - ) + (s.w! (+ a0-8 1640) v1-5) + ) (let ((v1-7 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 286 4))) (a0-11 #x70000000) ) - (s.w! (+ a0-11 1644) v1-7) - ) + (s.w! (+ a0-11 1644) v1-7) + ) (let ((v1-9 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 301 4))) (a0-14 #x70000000) ) - (s.w! (+ a0-14 1648) v1-9) - ) + (s.w! (+ a0-14 1648) v1-9) + ) (let ((v1-11 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 366 4))) (a0-17 #x70000000) ) - (s.w! (+ a0-17 1652) v1-11) - ) + (s.w! (+ a0-17 1652) v1-11) + ) (let ((v1-13 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 387 4))) (a0-20 #x70000000) ) - (s.w! (+ a0-20 1656) v1-13) - ) + (s.w! (+ a0-20 1656) v1-13) + ) (let ((v1-15 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 100 4))) (a0-23 #x70000000) ) - (s.w! (+ a0-23 1660) v1-15) - ) + (s.w! (+ a0-23 1660) v1-15) + ) (let ((v1-17 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 155 4))) (a0-26 #x70000000) ) - (s.w! (+ a0-26 1664) v1-17) - ) + (s.w! (+ a0-26 1664) v1-17) + ) (let ((v1-19 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 199 4))) (a0-29 #x70000000) ) - (s.w! (+ a0-29 1668) v1-19) - ) + (s.w! (+ a0-29 1668) v1-19) + ) (let ((v1-21 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 261 4))) (a0-32 #x70000000) ) - (s.w! (+ a0-32 1672) v1-21) - ) + (s.w! (+ a0-32 1672) v1-21) + ) (let ((v1-23 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 286 4))) (a0-35 #x70000000) ) - (s.w! (+ a0-35 1676) v1-23) - ) + (s.w! (+ a0-35 1676) v1-23) + ) (let ((v1-25 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 335 4))) (a0-38 #x70000000) ) - (s.w! (+ a0-38 1680) v1-25) - ) + (s.w! (+ a0-38 1680) v1-25) + ) (let ((v1-27 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 366 4))) (a0-41 #x70000000) ) - (s.w! (+ a0-41 1684) v1-27) - ) + (s.w! (+ a0-41 1684) v1-27) + ) (let ((v1-29 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 402 4))) (a0-44 #x70000000) ) - (s.w! (+ a0-44 1688) v1-29) - ) + (s.w! (+ a0-44 1688) v1-29) + ) (let ((v1-31 (+ (the-as uint decompress-fixed-data-to-accumulator) (* 100 4))) (a0-47 #x70000000) ) - (s.w! (+ a0-47 1692) v1-31) - ) + (s.w! (+ a0-47 1692) v1-31) + ) (let ((v1-33 (+ (the-as uint decompress-frame-data-to-accumulator) (* 84 4))) (a0-50 #x70000000) ) - (s.w! (+ a0-50 1696) v1-33) - ) + (s.w! (+ a0-50 1696) v1-33) + ) (let ((v1-35 (+ (the-as uint decompress-frame-data-to-accumulator) (* 92 4))) (a0-53 #x70000000) ) - (s.w! (+ a0-53 1700) v1-35) - ) + (s.w! (+ a0-53 1700) v1-35) + ) (let ((v1-37 (+ (the-as uint decompress-frame-data-to-accumulator) (* 119 4))) (a0-56 #x70000000) ) - (s.w! (+ a0-56 1704) v1-37) - ) + (s.w! (+ a0-56 1704) v1-37) + ) (let ((v1-39 (+ (the-as uint decompress-frame-data-to-accumulator) (* 140 4))) (a0-59 #x70000000) ) - (s.w! (+ a0-59 1708) v1-39) - ) + (s.w! (+ a0-59 1708) v1-39) + ) (let ((v1-41 (+ (the-as uint decompress-frame-data-to-accumulator) (* 205 4))) (a0-62 #x70000000) ) - (s.w! (+ a0-62 1712) v1-41) - ) + (s.w! (+ a0-62 1712) v1-41) + ) (let ((v1-43 (+ (the-as uint decompress-frame-data-to-accumulator) (* 220 4))) (a0-65 #x70000000) ) - (s.w! (+ a0-65 1716) v1-43) - ) + (s.w! (+ a0-65 1716) v1-43) + ) (let ((v1-45 (+ (the-as uint decompress-frame-data-to-accumulator) (* 273 4))) (a0-68 #x70000000) ) - (s.w! (+ a0-68 1720) v1-45) - ) + (s.w! (+ a0-68 1720) v1-45) + ) (let ((v1-47 (+ (the-as uint decompress-frame-data-to-accumulator) (* 307 4))) (a0-71 #x70000000) ) - (s.w! (+ a0-71 1724) v1-47) - ) + (s.w! (+ a0-71 1724) v1-47) + ) (let ((v1-49 (+ (the-as uint decompress-frame-data-to-accumulator) (* 84 4))) (a0-74 #x70000000) ) - (s.w! (+ a0-74 1728) v1-49) - ) + (s.w! (+ a0-74 1728) v1-49) + ) (let ((v1-51 (+ (the-as uint decompress-frame-data-to-accumulator) (* 107 4))) (a0-77 #x70000000) ) - (s.w! (+ a0-77 1732) v1-51) - ) + (s.w! (+ a0-77 1732) v1-51) + ) (let ((v1-53 (+ (the-as uint decompress-frame-data-to-accumulator) (* 119 4))) (a0-80 #x70000000) ) - (s.w! (+ a0-80 1736) v1-53) - ) + (s.w! (+ a0-80 1736) v1-53) + ) (let ((v1-55 (+ (the-as uint decompress-frame-data-to-accumulator) (* 174 4))) (a0-83 #x70000000) ) - (s.w! (+ a0-83 1740) v1-55) - ) + (s.w! (+ a0-83 1740) v1-55) + ) (let ((v1-57 (+ (the-as uint decompress-frame-data-to-accumulator) (* 205 4))) (a0-86 #x70000000) ) - (s.w! (+ a0-86 1744) v1-57) - ) + (s.w! (+ a0-86 1744) v1-57) + ) (let ((v1-59 (+ (the-as uint decompress-frame-data-to-accumulator) (* 248 4))) (a0-89 #x70000000) ) - (s.w! (+ a0-89 1748) v1-59) - ) + (s.w! (+ a0-89 1748) v1-59) + ) (let ((v1-61 (+ (the-as uint decompress-frame-data-to-accumulator) (* 273 4))) (a0-92 #x70000000) ) - (s.w! (+ a0-92 1752) v1-61) - ) + (s.w! (+ a0-92 1752) v1-61) + ) (let ((v1-63 (+ (the-as uint decompress-frame-data-to-accumulator) (* 354 4))) (a0-95 #x70000000) ) - (s.w! (+ a0-95 1756) v1-63) - ) - (let - ((v1-65 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 117 4)) - ) - (a0-98 #x70000000) + (s.w! (+ a0-95 1756) v1-63) ) - (s.w! (+ a0-98 1760) v1-65) - ) - (let - ((v1-67 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 125 4)) - ) - (a0-101 #x70000000) + (let ((v1-65 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 117 4))) + (a0-98 #x70000000) + ) + (s.w! (+ a0-98 1760) v1-65) ) - (s.w! (+ a0-101 1764) v1-67) - ) - (let - ((v1-69 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 169 4)) - ) - (a0-104 #x70000000) + (let ((v1-67 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 125 4))) + (a0-101 #x70000000) + ) + (s.w! (+ a0-101 1764) v1-67) ) - (s.w! (+ a0-104 1768) v1-69) - ) - (let - ((v1-71 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 197 4)) - ) - (a0-107 #x70000000) + (let ((v1-69 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 169 4))) + (a0-104 #x70000000) + ) + (s.w! (+ a0-104 1768) v1-69) ) - (s.w! (+ a0-107 1772) v1-71) - ) - (let - ((v1-73 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 293 4)) - ) - (a0-110 #x70000000) + (let ((v1-71 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 197 4))) + (a0-107 #x70000000) + ) + (s.w! (+ a0-107 1772) v1-71) ) - (s.w! (+ a0-110 1776) v1-73) - ) - (let - ((v1-75 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 318 4)) - ) - (a0-113 #x70000000) + (let ((v1-73 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 293 4))) + (a0-110 #x70000000) + ) + (s.w! (+ a0-110 1776) v1-73) ) - (s.w! (+ a0-113 1780) v1-75) - ) - (let - ((v1-77 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 408 4)) - ) - (a0-116 #x70000000) + (let ((v1-75 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 318 4))) + (a0-113 #x70000000) + ) + (s.w! (+ a0-113 1780) v1-75) ) - (s.w! (+ a0-116 1784) v1-77) - ) - (let - ((v1-79 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 459 4)) - ) - (a0-119 #x70000000) + (let ((v1-77 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 408 4))) + (a0-116 #x70000000) + ) + (s.w! (+ a0-116 1784) v1-77) ) - (s.w! (+ a0-119 1788) v1-79) - ) - (let - ((v1-81 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 117 4)) - ) - (a0-122 #x70000000) + (let ((v1-79 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 459 4))) + (a0-119 #x70000000) + ) + (s.w! (+ a0-119 1788) v1-79) ) - (s.w! (+ a0-122 1792) v1-81) - ) - (let - ((v1-83 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 150 4)) - ) - (a0-125 #x70000000) + (let ((v1-81 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 117 4))) + (a0-122 #x70000000) + ) + (s.w! (+ a0-122 1792) v1-81) ) - (s.w! (+ a0-125 1796) v1-83) - ) - (let - ((v1-85 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 169 4)) - ) - (a0-128 #x70000000) + (let ((v1-83 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 150 4))) + (a0-125 #x70000000) + ) + (s.w! (+ a0-125 1796) v1-83) ) - (s.w! (+ a0-128 1800) v1-85) - ) - (let - ((v1-87 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 248 4)) - ) - (a0-131 #x70000000) + (let ((v1-85 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 169 4))) + (a0-128 #x70000000) + ) + (s.w! (+ a0-128 1800) v1-85) ) - (s.w! (+ a0-131 1804) v1-87) - ) - (let - ((v1-89 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 293 4)) - ) - (a0-134 #x70000000) + (let ((v1-87 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 248 4))) + (a0-131 #x70000000) + ) + (s.w! (+ a0-131 1804) v1-87) ) - (s.w! (+ a0-134 1808) v1-89) - ) - (let - ((v1-91 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 366 4)) - ) - (a0-137 #x70000000) + (let ((v1-89 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 293 4))) + (a0-134 #x70000000) + ) + (s.w! (+ a0-134 1808) v1-89) ) - (s.w! (+ a0-137 1812) v1-91) - ) - (let - ((v1-93 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 408 4)) - ) - (a0-140 #x70000000) + (let ((v1-91 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 366 4))) + (a0-137 #x70000000) + ) + (s.w! (+ a0-137 1812) v1-91) ) - (s.w! (+ a0-140 1816) v1-93) - ) - (let - ((v1-95 - (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 533 4)) - ) - (a0-143 #x70000000) + (let ((v1-93 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 408 4))) + (a0-140 #x70000000) + ) + (s.w! (+ a0-140 1816) v1-93) + ) + (let ((v1-95 (+ (the-as uint decompress-frame-data-pair-to-accumulator) (* 533 4))) + (a0-143 #x70000000) + ) + (s.w! (+ a0-143 1820) v1-95) ) - (s.w! (+ a0-143 1820) v1-95) - ) 0 ) @@ -1915,9 +1655,7 @@ ;; ERROR: function was not converted to expressions. Cannot decompile. ;; definition for function create-interpolated-joint-animation-frame -(defun - create-interpolated-joint-animation-frame - ((arg0 joint-control) (arg1 int) (arg2 process-drawable)) +(defun create-interpolated-joint-animation-frame ((arg0 joint-control) (arg1 int) (arg2 process-drawable)) (flatten-joint-control-to-spr (-> arg2 skel)) (make-joint-jump-tables) (calc-animation-from-spr arg0 arg1) diff --git a/test/decompiler/reference/engine/anim/mspace-h_REF.gc b/test/decompiler/reference/engine/anim/mspace-h_REF.gc index aedefcf3ac..e2df620ae8 100644 --- a/test/decompiler/reference/engine/anim/mspace-h_REF.gc +++ b/test/decompiler/reference/engine/anim/mspace-h_REF.gc @@ -145,12 +145,15 @@ ;; definition for method 2 of type cspace (defmethod print cspace ((obj cspace)) - (format #t "#" (if (-> obj joint) - (-> obj joint name) - "nojoint" - ) - obj - ) + (format + #t + "#" + (if (-> obj joint) + (-> obj joint name) + "nojoint" + ) + obj + ) obj ) diff --git a/test/decompiler/reference/engine/camera/cam-combiner_REF.gc b/test/decompiler/reference/engine/camera/cam-combiner_REF.gc index 1677a98cb6..fb7845bd8a 100644 --- a/test/decompiler/reference/engine/camera/cam-combiner_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-combiner_REF.gc @@ -5,699 +5,440 @@ (defstate cam-combiner-active (camera-combiner) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'point-of-interest) - (cond - ((-> arg3 param 0) - (set! (-> (the-as camera-slave self) unknown-symbol) #t) - (set! - (-> (the-as camera-slave self) view-off quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - (let ((f0-0 1.0)) - (set! - (-> (the-as camera-slave self) min-z-override) - f0-0 - ) - f0-0 - ) - ) - (else - (set! (-> (the-as camera-slave self) unknown-symbol) #f) - (let ((f0-1 0.0)) - (set! - (-> (the-as camera-slave self) min-z-override) - f0-1 - ) - f0-1 - ) - ) - ) - ) - ((= v1-0 'set-interpolation) - (set! (-> (the-as camera-combiner self) interp-val) 0.0) - (let ((f0-4 (/ 5.0 (the float (-> arg3 param 0))))) - (set! (-> (the-as camera-combiner self) interp-step) f0-4) - f0-4 - ) - ) - ((= v1-0 'teleport) - (when - (nonzero? - (-> (the-as camera-combiner self) tracking-status) - ) - (cam-calc-follow! - (-> (the-as camera-combiner self) tracking) - (-> (the-as camera-combiner self) trans) - #f - ) - (slave-set-rotation! - (-> (the-as camera-combiner self) tracking) - (-> (the-as camera-combiner self) trans) - (the-as - float - (-> (the-as camera-combiner self) tracking-options) - ) - (-> (the-as camera-combiner self) fov) - #f - ) - ) - ) - ((= v1-0 'stop-tracking) - (set! - (-> (the-as camera-combiner self) tracking-status) - (the-as uint 0) - ) - 0 - ) - ((= v1-0 'start-tracking) - (cond - ((< arg1 1) - (let ((t9-2 format) - (a0-15 0) - (a1-3 - "ERROR : missing camera-slave parameter to *camera-combiner* start-tracking~%" - ) - ) - (let ((v1-7 (-> arg3 param 0))) - (rtype-of v1-7) - ) - (t9-2 a0-15 a1-3) - ) - ) - ((let ((t9-3 type-type?) - (v1-8 (-> arg3 param 0)) - ) - (not (t9-3 (rtype-of v1-8) camera-slave)) - ) - (let ((t9-4 format) - (a0-18 0) - (a1-5 - "ERROR : invalid type '~A' to *camera-combiner* start-tracking~%" - ) - (v1-10 (-> arg3 param 0)) - ) - (t9-4 a0-18 a1-5 (rtype-of v1-10)) - ) - ) - ((zero? - (-> (the-as camera-combiner self) tracking-status) - ) - (set! - (-> (the-as camera-combiner self) tracking-status) - (the-as uint 1) - ) - (let ((gp-1 (the-as object (-> arg3 param 0)))) - (set! - (-> (the-as camera-combiner self) tracking-options) - (the-as int (-> (the-as camera-slave gp-1) options)) - ) - (set! - (-> (the-as camera-combiner self) tracking no-follow) - (-> (the-as camera-slave gp-1) tracking no-follow) - ) - (copy-cam-float-seeker - (-> (the-as camera-combiner self) tracking tilt-adjust) - (-> (the-as camera-slave gp-1) tracking tilt-adjust) - ) - (copy-cam-float-seeker - (-> - (the-as camera-combiner self) - tracking - underwater-blend - ) - (-> - (the-as camera-slave gp-1) - tracking - underwater-blend - ) - ) - (set! - (-> - (the-as camera-combiner self) - tracking - use-point-of-interest - ) - (-> - (the-as camera-slave gp-1) - tracking - use-point-of-interest - ) - ) - (set! - (-> - (the-as camera-combiner self) - tracking - point-of-interest - quad - ) - (-> - (the-as camera-slave gp-1) - tracking - point-of-interest - quad - ) - ) - (copy-cam-float-seeker - (-> - (the-as camera-combiner self) - tracking - point-of-interest-blend - ) - (-> - (the-as camera-slave gp-1) - tracking - point-of-interest-blend - ) - ) - (let ((gp-2 (+ (the-as uint gp-1) 108))) - (cam-calc-follow! - (-> (the-as camera-combiner self) tracking) - (the-as vector gp-2) - #f - ) - (slave-set-rotation! - (-> (the-as camera-combiner self) tracking) - (the-as vector gp-2) - (the-as - float - (-> (the-as camera-combiner self) tracking-options) - ) - (-> (the-as camera-combiner self) fov) - #f - ) - ) - ) - ) - ) - ) - ((= v1-0 'copy-tracking) - (cond - ((< arg1 1) - (let ((t9-10 format) - (a0-27 0) - (a1-11 - "ERROR : missing camera-slave parameter to *camera-combiner* copy-tracking~%" - ) - ) - (let ((v1-23 (-> arg3 param 0))) - (rtype-of v1-23) - ) - (t9-10 a0-27 a1-11) - ) - ) - ((let ((t9-11 type-type?) - (v1-24 (-> arg3 param 0)) - ) - (not (t9-11 (rtype-of v1-24) camera-slave)) - ) - (let ((t9-12 format) - (a0-30 0) - (a1-13 - "ERROR : invalid type '~A' to *camera-combiner* copy-tracking~%" - ) - (v1-25 (-> arg3 param 0)) - ) - (t9-12 a0-30 a1-13 (rtype-of v1-25)) - ) - ) - ((nonzero? - (-> (the-as camera-combiner self) tracking-status) - ) - #f - ) - (else - (set! - (-> (the-as camera-combiner self) tracking-status) - (the-as uint 1) - ) - (let ((gp-3 (the-as camera-slave (-> arg3 param 0)))) - (set! - (-> (the-as camera-combiner self) tracking-options) - (the-as int (-> gp-3 options)) - ) - (set! - (-> (the-as camera-combiner self) tracking no-follow) - (-> gp-3 tracking no-follow) - ) - (copy-cam-float-seeker - (-> (the-as camera-combiner self) tracking tilt-adjust) - (-> gp-3 tracking tilt-adjust) - ) - (copy-cam-float-seeker - (-> - (the-as camera-combiner self) - tracking - underwater-blend - ) - (-> gp-3 tracking underwater-blend) - ) - (set! - (-> - (the-as camera-combiner self) - tracking - follow-off - quad - ) - (-> gp-3 tracking follow-off quad) - ) - (set! - (-> - (the-as camera-combiner self) - tracking - follow-pt - quad - ) - (-> gp-3 tracking follow-pt quad) - ) - (let* - ((a2-17 (-> (the-as camera-combiner self) tracking)) - (a3-3 (-> gp-3 tracking)) - (v1-36 (-> a3-3 inv-mat vector 0 quad)) - (a0-37 (-> a3-3 inv-mat vector 1 quad)) - (a1-16 (-> a3-3 inv-mat vector 2 quad)) - (a3-4 (-> a3-3 inv-mat vector 3 quad)) - ) - (set! (-> a2-17 inv-mat vector 0 quad) v1-36) - (set! (-> a2-17 inv-mat vector 1 quad) a0-37) - (set! (-> a2-17 inv-mat vector 2 quad) a1-16) - (set! (-> a2-17 inv-mat vector 3 quad) a3-4) - ) - (set! - (-> - (the-as camera-combiner self) - tracking - use-point-of-interest - ) - (-> gp-3 tracking use-point-of-interest) - ) - (set! - (-> - (the-as camera-combiner self) - tracking - point-of-interest - quad - ) - (-> gp-3 tracking point-of-interest quad) - ) - (copy-cam-float-seeker - (-> - (the-as camera-combiner self) - tracking - point-of-interest-blend - ) - (-> gp-3 tracking point-of-interest-blend) - ) - ) - ) - ) - ) - ) - ) - ) - ) - :code - (behavior () - (local-vars (sv-160 cam-rotation-tracker)) - (while #t - (when - (and - (zero? (logand (-> *camera* master-options) 2)) - (!= (-> self tracking-status) 0) - ) - (set! (-> self tracking-status) (the-as uint 0)) - 0 - ) - (when *camera* - (let ((s5-0 (-> *camera* slave 0)) - (s4-0 (-> *camera* slave 1)) - (f30-0 (parameter-ease-sin-clamp (-> self interp-val))) - (gp-0 (new-stack-vector0)) - ) - (set! (-> gp-0 quad) (-> self trans quad)) - (when s5-0 - (cond - (s4-0 - (vector-lerp-clamp! - (-> self trans) - (-> s5-0 0 trans) - (-> s4-0 0 trans) - f30-0 - ) - (set! (-> self fov) (lerp-clamp (-> s5-0 0 fov) (-> s4-0 0 fov) f30-0)) - (set! - (-> self dist-from-src) - (vector-vector-distance (-> self trans) (-> s5-0 0 trans)) - ) - (set! - (-> self dist-from-dest) - (vector-vector-distance (-> self trans) (-> s4-0 0 trans)) - ) - (cond - ((= (-> self tracking-status) 1) - (cam-calc-follow! (-> self tracking) (-> self trans) #t) - (slave-set-rotation! - (-> self tracking) - (-> self trans) - (the-as float (-> self tracking-options)) - (-> self fov) - #t - ) - (let* ((a2-4 (-> self inv-camera-rot)) - (a3-2 (-> self tracking)) - (v1-20 (-> a3-2 inv-mat vector 0 quad)) - (a0-10 (-> a3-2 inv-mat vector 1 quad)) - (a1-6 (-> a3-2 inv-mat vector 2 quad)) - (a3-3 (-> a3-2 inv-mat vector 3 quad)) - ) - (set! (-> a2-4 vector 0 quad) v1-20) - (set! (-> a2-4 vector 1 quad) a0-10) - (set! (-> a2-4 vector 2 quad) a1-6) - (set! (-> a2-4 vector 3 quad) a3-3) - ) - ) - (else - (set! sv-160 (-> s5-0 0 tracking)) - (let ((s2-0 (-> s5-0 0 trans)) - (s5-1 (-> s4-0 0 tracking)) - (s0-0 (-> s4-0 0 trans)) + (let ((v1-0 arg2)) + (the-as + object + (cond + ((= v1-0 'point-of-interest) + (cond + ((-> arg3 param 0) + (set! (-> (the-as camera-slave self) unknown-symbol) #t) + (set! (-> (the-as camera-slave self) view-off quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (let ((f0-0 1.0)) + (set! (-> (the-as camera-slave self) min-z-override) f0-0) + f0-0 + ) + ) + (else + (set! (-> (the-as camera-slave self) unknown-symbol) #f) + (let ((f0-1 0.0)) + (set! (-> (the-as camera-slave self) min-z-override) f0-1) + f0-1 ) - (cond - ((= (-> self tracking-status) 3) - (cam-calc-follow! (-> self tracking) s2-0 #t) - (slave-set-rotation! - (-> self tracking) - s2-0 - (the-as float (-> self tracking-options)) - (-> self fov) - #t ) - (set! sv-160 (-> self tracking)) - (set! s2-0 (-> self trans)) - ) - ((= (-> self tracking-status) 2) - (cam-calc-follow! (-> self tracking) s0-0 #t) - (slave-set-rotation! - (-> self tracking) - s0-0 - (the-as float (-> self tracking-options)) - (-> self fov) - #t - ) - (set! s5-1 (-> self tracking)) - (set! s0-0 (-> self trans)) - ) ) - (let ((s1-0 (new 'stack-no-clear 'matrix))) - (dotimes (v1-35 3) - (set! (-> s1-0 vector v1-35 quad) (the-as uint128 0)) - ) - 0.0 - 0.0 - 0.0 - (let ((s4-1 (new-stack-vector0))) - 0.0 - (let ((s3-0 (new-stack-matrix0))) - (vector-! - (the-as vector (-> s1-0 vector)) - (the-as vector (-> sv-160 inv-mat)) - (the-as vector (-> s5-1 inv-mat)) - ) - (vector-! - (-> s1-0 vector 1) - (-> sv-160 inv-mat vector 1) - (-> s5-1 inv-mat vector 1) - ) - (vector-! - (-> s1-0 vector 2) - (-> sv-160 inv-mat vector 2) - (-> s5-1 inv-mat vector 2) - ) - (let ((f26-0 (vector-length (the-as vector (-> s1-0 vector)))) - (f28-0 (vector-length (-> s1-0 vector 1))) - (f0-13 (vector-length (-> s1-0 vector 2))) - ) - (cond - ((and (< f26-0 f28-0) (< f26-0 f0-13)) - (vector-cross! s4-1 (-> s1-0 vector 1) (-> s1-0 vector 2)) - ) - ((and (< f28-0 f26-0) (< f28-0 f0-13)) - (vector-cross! - s4-1 - (the-as vector (-> s1-0 vector)) - (-> s1-0 vector 2) - ) - ) - (else - (vector-cross! - s4-1 - (the-as vector (-> s1-0 vector)) - (-> s1-0 vector 1) - ) - ) - ) - ) - (vector-normalize! s4-1 1.0) - (let - ((f0-16 - (fabs (vector-dot (the-as vector (-> sv-160 inv-mat)) s4-1)) - ) - (f1-2 (fabs (vector-dot (-> sv-160 inv-mat vector 1) s4-1))) - (f2-2 (fabs (vector-dot (-> sv-160 inv-mat vector 2) s4-1))) - ) - (cond - ((and (< f0-16 f1-2) (< f0-16 f2-2)) - (vector-flatten! - (the-as vector (-> s1-0 vector)) - (the-as vector (-> sv-160 inv-mat)) - s4-1 - ) - (vector-flatten! - (-> s1-0 vector 1) - (the-as vector (-> s5-1 inv-mat)) - s4-1 - ) - ) - ((< f1-2 f2-2) - (vector-flatten! - (the-as vector (-> s1-0 vector)) - (-> sv-160 inv-mat vector 1) - s4-1 - ) - (vector-flatten! - (-> s1-0 vector 1) - (-> s5-1 inv-mat vector 1) - s4-1 - ) - ) - (else - (vector-flatten! - (the-as vector (-> s1-0 vector)) - (-> sv-160 inv-mat vector 2) - s4-1 - ) - (vector-flatten! - (-> s1-0 vector 1) - (-> s5-1 inv-mat vector 2) - s4-1 - ) - ) - ) - ) - (vector-normalize! (the-as vector (-> s1-0 vector)) 1.0) - (vector-normalize! (-> s1-0 vector 1) 1.0) - (vector-cross! - (-> s1-0 vector 2) - (the-as vector (-> s1-0 vector)) - (-> s1-0 vector 1) - ) - (if (< (vector-dot (-> s1-0 vector 2) s4-1) 0.0) - (vector-negate! s4-1 s4-1) - ) - (let - ((f28-1 - (acos - (vector-dot - (the-as vector (-> s1-0 vector)) - (-> s1-0 vector 1) - ) - ) - ) - ) - (cond - ((logtest? (-> *camera* master-options) 8) - (set! - (-> *camera* master-options) - (logand -25 (-> *camera* master-options)) - ) - (when - (and - (< 8192.0 f28-1) - (logtest? (-> *camera* master-options) 2) - ) - (vector-! - (the-as vector (-> s1-0 vector)) - (-> *camera* tpos-curr) - s2-0 - ) - (vector-! (-> s1-0 vector 1) s0-0 s2-0) - (vector-flatten! - (the-as vector (-> s1-0 vector)) - (the-as vector (-> s1-0 vector)) - (-> *camera* local-down) - ) - (vector-flatten! - (-> s1-0 vector 1) - (-> s1-0 vector 1) - (-> *camera* local-down) - ) - (when - (and - (< - 4096.0 - (vector-normalize-ret-len! - (the-as vector (-> s1-0 vector)) - 1.0 - ) - ) - (< - 4096.0 - (vector-normalize-ret-len! (-> s1-0 vector 1) 1.0) - ) - ) - (vector-cross! - (-> s1-0 vector 2) - (-> s1-0 vector 1) - (the-as vector (-> s1-0 vector)) - ) - (when (< (vector-dot (-> s1-0 vector 2) s4-1) -0.01) - ) - ) - ) - ) - ((and - (< 16384.0 f28-1) - (< (vector-dot (-> self flip-control-axis) s4-1) 0.0) - ) - (set! - (-> *camera* master-options) - (logxor (-> *camera* master-options) 16) - ) - ) - ) - (set! (-> self flip-control-axis quad) (-> s4-1 quad)) - (when (logtest? (-> *camera* master-options) 16) - (set! f28-1 (- 65536.0 f28-1)) - (vector-negate! s4-1 s4-1) - ) - (let ((f30-1 (* f28-1 (- 1.0 f30-0)))) - (matrix-axis-sin-cos! s3-0 s4-1 (sin f30-1) (cos f30-1)) - ) - ) - (matrix*! (-> self inv-camera-rot) (the-as matrix s5-1) s3-0) - ) - ) + ) + ((= v1-0 'set-interpolation) + (set! (-> (the-as camera-combiner self) interp-val) 0.0) + (let ((f0-4 (/ 5.0 (the float (-> arg3 param 0))))) + (set! (-> (the-as camera-combiner self) interp-step) f0-4) + f0-4 ) - ) ) - ) - (cond - ((and - (< 0.0 (-> *camera* outro-t-step)) - (< (-> *camera* outro-t) (-> *camera* outro-exit-value)) - ) + ((= v1-0 'teleport) + (when (nonzero? (-> (the-as camera-combiner self) tracking-status)) + (cam-calc-follow! (-> (the-as camera-combiner self) tracking) (-> (the-as camera-combiner self) trans) #f) + (slave-set-rotation! + (-> (the-as camera-combiner self) tracking) + (-> (the-as camera-combiner self) trans) + (the-as float (-> (the-as camera-combiner self) tracking-options)) + (-> (the-as camera-combiner self) fov) + #f + ) + ) ) - ((and - (< (-> *camera* outro-t-step) 0.0) - (< (-> *camera* outro-exit-value) (-> *camera* outro-t)) - ) - ) - ((paused?) - ) - (else - (+! - (-> self interp-val) - (* (-> self interp-step) (-> *display* time-adjust-ratio)) - ) - ) - ) - (when (>= (-> self interp-val) 1.0) - (deactivate (-> *camera* slave 0 0)) - (set! (-> *camera* slave 0) (-> *camera* slave 1)) - (set! (-> *camera* slave 1) (the-as (pointer camera-slave) #f)) - (+! (-> *camera* num-slaves) -1) - ) - ) - (else - (set! (-> self dist-from-src) 409600.0) - (set! (-> self dist-from-dest) 0.0) - (set! (-> self trans quad) (-> s5-0 0 trans quad)) - (set! (-> self fov) (-> s5-0 0 fov)) - (cond - ((= (-> self tracking-status) 2) - (set! (-> self tracking-status) (the-as uint 1)) - ) - ((= (-> self tracking-status) 3) - (set! (-> self tracking-status) (the-as uint 0)) + ((= v1-0 'stop-tracking) + (set! (-> (the-as camera-combiner self) tracking-status) (the-as uint 0)) 0 ) - ) - (cond - ((= (-> self tracking-status) 1) - (cam-calc-follow! (-> self tracking) (-> self trans) #t) - (slave-set-rotation! - (-> self tracking) - (-> self trans) - (the-as float (-> self tracking-options)) - (-> self fov) - #t - ) - (let* ((v1-143 (-> self inv-camera-rot)) - (a3-8 (-> self tracking)) - (a0-80 (-> a3-8 inv-mat vector 0 quad)) - (a1-45 (-> a3-8 inv-mat vector 1 quad)) - (a2-21 (-> a3-8 inv-mat vector 2 quad)) - (a3-9 (-> a3-8 inv-mat vector 3 quad)) + ((= v1-0 'start-tracking) + (cond + ((< arg1 1) + (let ((t9-2 format) + (a0-15 0) + (a1-3 "ERROR : missing camera-slave parameter to *camera-combiner* start-tracking~%") + ) + (let ((v1-7 (-> arg3 param 0))) + (rtype-of v1-7) ) - (set! (-> v1-143 vector 0 quad) a0-80) - (set! (-> v1-143 vector 1 quad) a1-45) - (set! (-> v1-143 vector 2 quad) a2-21) - (set! (-> v1-143 vector 3 quad) a3-9) - ) + (t9-2 a0-15 a1-3) + ) + ) + ((let ((t9-3 type-type?) + (v1-8 (-> arg3 param 0)) + ) + (not (t9-3 (rtype-of v1-8) camera-slave)) + ) + (let ((t9-4 format) + (a0-18 0) + (a1-5 "ERROR : invalid type '~A' to *camera-combiner* start-tracking~%") + (v1-10 (-> arg3 param 0)) + ) + (t9-4 a0-18 a1-5 (rtype-of v1-10)) + ) + ) + ((zero? (-> (the-as camera-combiner self) tracking-status)) + (set! (-> (the-as camera-combiner self) tracking-status) (the-as uint 1)) + (let ((gp-1 (the-as object (-> arg3 param 0)))) + (set! (-> (the-as camera-combiner self) tracking-options) + (the-as int (-> (the-as camera-slave gp-1) options)) + ) + (set! (-> (the-as camera-combiner self) tracking no-follow) + (-> (the-as camera-slave gp-1) tracking no-follow) + ) + (copy-cam-float-seeker + (-> (the-as camera-combiner self) tracking tilt-adjust) + (-> (the-as camera-slave gp-1) tracking tilt-adjust) + ) + (copy-cam-float-seeker + (-> (the-as camera-combiner self) tracking underwater-blend) + (-> (the-as camera-slave gp-1) tracking underwater-blend) + ) + (set! (-> (the-as camera-combiner self) tracking use-point-of-interest) + (-> (the-as camera-slave gp-1) tracking use-point-of-interest) + ) + (set! (-> (the-as camera-combiner self) tracking point-of-interest quad) + (-> (the-as camera-slave gp-1) tracking point-of-interest quad) + ) + (copy-cam-float-seeker + (-> (the-as camera-combiner self) tracking point-of-interest-blend) + (-> (the-as camera-slave gp-1) tracking point-of-interest-blend) + ) + (let ((gp-2 (+ (the-as uint gp-1) 108))) + (cam-calc-follow! (-> (the-as camera-combiner self) tracking) (the-as vector gp-2) #f) + (slave-set-rotation! + (-> (the-as camera-combiner self) tracking) + (the-as vector gp-2) + (the-as float (-> (the-as camera-combiner self) tracking-options)) + (-> (the-as camera-combiner self) fov) + #f + ) + ) + ) + ) + ) ) - (else - (let* ((v1-144 (-> self inv-camera-rot)) - (a3-10 (-> s5-0 0 tracking)) - (a0-82 (-> a3-10 inv-mat vector 0 quad)) - (a1-46 (-> a3-10 inv-mat vector 1 quad)) - (a2-22 (-> a3-10 inv-mat vector 2 quad)) - (a3-11 (-> a3-10 inv-mat vector 3 quad)) + ((= v1-0 'copy-tracking) + (cond + ((< arg1 1) + (let ((t9-10 format) + (a0-27 0) + (a1-11 "ERROR : missing camera-slave parameter to *camera-combiner* copy-tracking~%") + ) + (let ((v1-23 (-> arg3 param 0))) + (rtype-of v1-23) ) - (set! (-> v1-144 vector 0 quad) a0-82) - (set! (-> v1-144 vector 1 quad) a1-46) - (set! (-> v1-144 vector 2 quad) a2-22) - (set! (-> v1-144 vector 3 quad) a3-11) - ) + (t9-10 a0-27 a1-11) + ) + ) + ((let ((t9-11 type-type?) + (v1-24 (-> arg3 param 0)) + ) + (not (t9-11 (rtype-of v1-24) camera-slave)) + ) + (let ((t9-12 format) + (a0-30 0) + (a1-13 "ERROR : invalid type '~A' to *camera-combiner* copy-tracking~%") + (v1-25 (-> arg3 param 0)) + ) + (t9-12 a0-30 a1-13 (rtype-of v1-25)) + ) + ) + ((nonzero? (-> (the-as camera-combiner self) tracking-status)) + #f + ) + (else + (set! (-> (the-as camera-combiner self) tracking-status) (the-as uint 1)) + (let ((gp-3 (the-as camera-slave (-> arg3 param 0)))) + (set! (-> (the-as camera-combiner self) tracking-options) (the-as int (-> gp-3 options))) + (set! (-> (the-as camera-combiner self) tracking no-follow) (-> gp-3 tracking no-follow)) + (copy-cam-float-seeker (-> (the-as camera-combiner self) tracking tilt-adjust) (-> gp-3 tracking tilt-adjust)) + (copy-cam-float-seeker + (-> (the-as camera-combiner self) tracking underwater-blend) + (-> gp-3 tracking underwater-blend) + ) + (set! (-> (the-as camera-combiner self) tracking follow-off quad) (-> gp-3 tracking follow-off quad)) + (set! (-> (the-as camera-combiner self) tracking follow-pt quad) (-> gp-3 tracking follow-pt quad)) + (let* ((a2-17 (-> (the-as camera-combiner self) tracking)) + (a3-3 (-> gp-3 tracking)) + (v1-36 (-> a3-3 inv-mat vector 0 quad)) + (a0-37 (-> a3-3 inv-mat vector 1 quad)) + (a1-16 (-> a3-3 inv-mat vector 2 quad)) + (a3-4 (-> a3-3 inv-mat vector 3 quad)) + ) + (set! (-> a2-17 inv-mat vector 0 quad) v1-36) + (set! (-> a2-17 inv-mat vector 1 quad) a0-37) + (set! (-> a2-17 inv-mat vector 2 quad) a1-16) + (set! (-> a2-17 inv-mat vector 3 quad) a3-4) + ) + (set! (-> (the-as camera-combiner self) tracking use-point-of-interest) + (-> gp-3 tracking use-point-of-interest) + ) + (set! (-> (the-as camera-combiner self) tracking point-of-interest quad) + (-> gp-3 tracking point-of-interest quad) + ) + (copy-cam-float-seeker + (-> (the-as camera-combiner self) tracking point-of-interest-blend) + (-> gp-3 tracking point-of-interest-blend) + ) + ) + ) + ) ) ) - ) ) - ) - (vector-! (-> self velocity) (-> self trans) gp-0) ) - ) - (if (and *dproc* *debug-segment*) - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'camera - (new 'static 'rgba :b #xff :a #x80) - ) - ) - (suspend) ) - (none) - ) + :code + (behavior () + (local-vars (sv-160 cam-rotation-tracker)) + (while #t + (when (and (zero? (logand (-> *camera* master-options) 2)) (!= (-> self tracking-status) 0)) + (set! (-> self tracking-status) (the-as uint 0)) + 0 + ) + (when *camera* + (let ((s5-0 (-> *camera* slave 0)) + (s4-0 (-> *camera* slave 1)) + (f30-0 (parameter-ease-sin-clamp (-> self interp-val))) + (gp-0 (new-stack-vector0)) + ) + (set! (-> gp-0 quad) (-> self trans quad)) + (when s5-0 + (cond + (s4-0 + (vector-lerp-clamp! (-> self trans) (-> s5-0 0 trans) (-> s4-0 0 trans) f30-0) + (set! (-> self fov) (lerp-clamp (-> s5-0 0 fov) (-> s4-0 0 fov) f30-0)) + (set! (-> self dist-from-src) (vector-vector-distance (-> self trans) (-> s5-0 0 trans))) + (set! (-> self dist-from-dest) (vector-vector-distance (-> self trans) (-> s4-0 0 trans))) + (cond + ((= (-> self tracking-status) 1) + (cam-calc-follow! (-> self tracking) (-> self trans) #t) + (slave-set-rotation! + (-> self tracking) + (-> self trans) + (the-as float (-> self tracking-options)) + (-> self fov) + #t + ) + (let* ((a2-4 (-> self inv-camera-rot)) + (a3-2 (-> self tracking)) + (v1-20 (-> a3-2 inv-mat vector 0 quad)) + (a0-10 (-> a3-2 inv-mat vector 1 quad)) + (a1-6 (-> a3-2 inv-mat vector 2 quad)) + (a3-3 (-> a3-2 inv-mat vector 3 quad)) + ) + (set! (-> a2-4 vector 0 quad) v1-20) + (set! (-> a2-4 vector 1 quad) a0-10) + (set! (-> a2-4 vector 2 quad) a1-6) + (set! (-> a2-4 vector 3 quad) a3-3) + ) + ) + (else + (set! sv-160 (-> s5-0 0 tracking)) + (let ((s2-0 (-> s5-0 0 trans)) + (s5-1 (-> s4-0 0 tracking)) + (s0-0 (-> s4-0 0 trans)) + ) + (cond + ((= (-> self tracking-status) 3) + (cam-calc-follow! (-> self tracking) s2-0 #t) + (slave-set-rotation! (-> self tracking) s2-0 (the-as float (-> self tracking-options)) (-> self fov) #t) + (set! sv-160 (-> self tracking)) + (set! s2-0 (-> self trans)) + ) + ((= (-> self tracking-status) 2) + (cam-calc-follow! (-> self tracking) s0-0 #t) + (slave-set-rotation! (-> self tracking) s0-0 (the-as float (-> self tracking-options)) (-> self fov) #t) + (set! s5-1 (-> self tracking)) + (set! s0-0 (-> self trans)) + ) + ) + (let ((s1-0 (new 'stack-no-clear 'matrix))) + (dotimes (v1-35 3) + (set! (-> s1-0 vector v1-35 quad) (the-as uint128 0)) + ) + 0.0 + 0.0 + 0.0 + (let ((s4-1 (new-stack-vector0))) + 0.0 + (let ((s3-0 (new-stack-matrix0))) + (vector-! + (the-as vector (-> s1-0 vector)) + (the-as vector (-> sv-160 inv-mat)) + (the-as vector (-> s5-1 inv-mat)) + ) + (vector-! (-> s1-0 vector 1) (-> sv-160 inv-mat vector 1) (-> s5-1 inv-mat vector 1)) + (vector-! (-> s1-0 vector 2) (-> sv-160 inv-mat vector 2) (-> s5-1 inv-mat vector 2)) + (let ((f26-0 (vector-length (the-as vector (-> s1-0 vector)))) + (f28-0 (vector-length (-> s1-0 vector 1))) + (f0-13 (vector-length (-> s1-0 vector 2))) + ) + (cond + ((and (< f26-0 f28-0) (< f26-0 f0-13)) + (vector-cross! s4-1 (-> s1-0 vector 1) (-> s1-0 vector 2)) + ) + ((and (< f28-0 f26-0) (< f28-0 f0-13)) + (vector-cross! s4-1 (the-as vector (-> s1-0 vector)) (-> s1-0 vector 2)) + ) + (else + (vector-cross! s4-1 (the-as vector (-> s1-0 vector)) (-> s1-0 vector 1)) + ) + ) + ) + (vector-normalize! s4-1 1.0) + (let ((f0-16 (fabs (vector-dot (the-as vector (-> sv-160 inv-mat)) s4-1))) + (f1-2 (fabs (vector-dot (-> sv-160 inv-mat vector 1) s4-1))) + (f2-2 (fabs (vector-dot (-> sv-160 inv-mat vector 2) s4-1))) + ) + (cond + ((and (< f0-16 f1-2) (< f0-16 f2-2)) + (vector-flatten! (the-as vector (-> s1-0 vector)) (the-as vector (-> sv-160 inv-mat)) s4-1) + (vector-flatten! (-> s1-0 vector 1) (the-as vector (-> s5-1 inv-mat)) s4-1) + ) + ((< f1-2 f2-2) + (vector-flatten! (the-as vector (-> s1-0 vector)) (-> sv-160 inv-mat vector 1) s4-1) + (vector-flatten! (-> s1-0 vector 1) (-> s5-1 inv-mat vector 1) s4-1) + ) + (else + (vector-flatten! (the-as vector (-> s1-0 vector)) (-> sv-160 inv-mat vector 2) s4-1) + (vector-flatten! (-> s1-0 vector 1) (-> s5-1 inv-mat vector 2) s4-1) + ) + ) + ) + (vector-normalize! (the-as vector (-> s1-0 vector)) 1.0) + (vector-normalize! (-> s1-0 vector 1) 1.0) + (vector-cross! (-> s1-0 vector 2) (the-as vector (-> s1-0 vector)) (-> s1-0 vector 1)) + (if (< (vector-dot (-> s1-0 vector 2) s4-1) 0.0) + (vector-negate! s4-1 s4-1) + ) + (let ((f28-1 (acos (vector-dot (the-as vector (-> s1-0 vector)) (-> s1-0 vector 1))))) + (cond + ((logtest? (-> *camera* master-options) 8) + (set! (-> *camera* master-options) (logand -25 (-> *camera* master-options))) + (when (and (< 8192.0 f28-1) (logtest? (-> *camera* master-options) 2)) + (vector-! (the-as vector (-> s1-0 vector)) (-> *camera* tpos-curr) s2-0) + (vector-! (-> s1-0 vector 1) s0-0 s2-0) + (vector-flatten! (the-as vector (-> s1-0 vector)) (the-as vector (-> s1-0 vector)) (-> *camera* local-down)) + (vector-flatten! (-> s1-0 vector 1) (-> s1-0 vector 1) (-> *camera* local-down)) + (when (and + (< 4096.0 (vector-normalize-ret-len! (the-as vector (-> s1-0 vector)) 1.0)) + (< 4096.0 (vector-normalize-ret-len! (-> s1-0 vector 1) 1.0)) + ) + (vector-cross! (-> s1-0 vector 2) (-> s1-0 vector 1) (the-as vector (-> s1-0 vector))) + (when (< (vector-dot (-> s1-0 vector 2) s4-1) -0.01) + ) + ) + ) + ) + ((and (< 16384.0 f28-1) (< (vector-dot (-> self flip-control-axis) s4-1) 0.0)) + (set! (-> *camera* master-options) (logxor (-> *camera* master-options) 16)) + ) + ) + (set! (-> self flip-control-axis quad) (-> s4-1 quad)) + (when (logtest? (-> *camera* master-options) 16) + (set! f28-1 (- 65536.0 f28-1)) + (vector-negate! s4-1 s4-1) + ) + (let ((f30-1 (* f28-1 (- 1.0 f30-0)))) + (matrix-axis-sin-cos! s3-0 s4-1 (sin f30-1) (cos f30-1)) + ) + ) + (matrix*! (-> self inv-camera-rot) (the-as matrix s5-1) s3-0) + ) + ) + ) + ) + ) + ) + (cond + ((and (< 0.0 (-> *camera* outro-t-step)) (< (-> *camera* outro-t) (-> *camera* outro-exit-value))) + ) + ((and (< (-> *camera* outro-t-step) 0.0) (< (-> *camera* outro-exit-value) (-> *camera* outro-t))) + ) + ((paused?) + ) + (else + (+! (-> self interp-val) (* (-> self interp-step) (-> *display* time-adjust-ratio))) + ) + ) + (when (>= (-> self interp-val) 1.0) + (deactivate (-> *camera* slave 0 0)) + (set! (-> *camera* slave 0) (-> *camera* slave 1)) + (set! (-> *camera* slave 1) (the-as (pointer camera-slave) #f)) + (+! (-> *camera* num-slaves) -1) + ) + ) + (else + (set! (-> self dist-from-src) 409600.0) + (set! (-> self dist-from-dest) 0.0) + (set! (-> self trans quad) (-> s5-0 0 trans quad)) + (set! (-> self fov) (-> s5-0 0 fov)) + (cond + ((= (-> self tracking-status) 2) + (set! (-> self tracking-status) (the-as uint 1)) + ) + ((= (-> self tracking-status) 3) + (set! (-> self tracking-status) (the-as uint 0)) + 0 + ) + ) + (cond + ((= (-> self tracking-status) 1) + (cam-calc-follow! (-> self tracking) (-> self trans) #t) + (slave-set-rotation! + (-> self tracking) + (-> self trans) + (the-as float (-> self tracking-options)) + (-> self fov) + #t + ) + (let* ((v1-143 (-> self inv-camera-rot)) + (a3-8 (-> self tracking)) + (a0-80 (-> a3-8 inv-mat vector 0 quad)) + (a1-45 (-> a3-8 inv-mat vector 1 quad)) + (a2-21 (-> a3-8 inv-mat vector 2 quad)) + (a3-9 (-> a3-8 inv-mat vector 3 quad)) + ) + (set! (-> v1-143 vector 0 quad) a0-80) + (set! (-> v1-143 vector 1 quad) a1-45) + (set! (-> v1-143 vector 2 quad) a2-21) + (set! (-> v1-143 vector 3 quad) a3-9) + ) + ) + (else + (let* ((v1-144 (-> self inv-camera-rot)) + (a3-10 (-> s5-0 0 tracking)) + (a0-82 (-> a3-10 inv-mat vector 0 quad)) + (a1-46 (-> a3-10 inv-mat vector 1 quad)) + (a2-22 (-> a3-10 inv-mat vector 2 quad)) + (a3-11 (-> a3-10 inv-mat vector 3 quad)) + ) + (set! (-> v1-144 vector 0 quad) a0-82) + (set! (-> v1-144 vector 1 quad) a1-46) + (set! (-> v1-144 vector 2 quad) a2-22) + (set! (-> v1-144 vector 3 quad) a3-11) + ) + ) + ) + ) + ) + ) + (vector-! (-> self velocity) (-> self trans) gp-0) + ) + ) + (if (and *dproc* *debug-segment*) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'camera + (new 'static 'rgba :b #xff :a #x80) + ) + ) + (suspend) + ) + (none) + ) ) ;; definition for function cam-combiner-init @@ -708,9 +449,9 @@ (vector-reset! (-> self trans)) (matrix-identity! (-> self inv-camera-rot)) (if *math-camera* - (set! (-> self fov) (-> *math-camera* fov)) - (set! (-> self fov) 11650.845) - ) + (set! (-> self fov) (-> *math-camera* fov)) + (set! (-> self fov) 11650.845) + ) (set! (-> self interp-val) 0.0) (set! (-> self interp-step) 0.125) (set! (-> self tracking-status) (the-as uint 0)) diff --git a/test/decompiler/reference/engine/camera/cam-debug-h_REF.gc b/test/decompiler/reference/engine/camera/cam-debug-h_REF.gc index af39f224f7..fdc815a578 100644 --- a/test/decompiler/reference/engine/camera/cam-debug-h_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-debug-h_REF.gc @@ -15,17 +15,17 @@ (set! (-> *redline-table* *redline-index*) arg0) (set! *redline-index* (+ *redline-index* 1)) (when (>= *redline-index* 400) - (set! *redline-index* 0) - 0 - ) + (set! *redline-index* 0) + 0 + ) (none) ) ;; definition for function float-lookup-redline (defun float-lookup-redline ((arg0 float)) (let ((a0-3 (mod (+ (the int arg0) -1 *redline-index*) 400))) - (-> *redline-table* a0-3) - ) + (-> *redline-table* a0-3) + ) ) ;; definition for symbol *blueline-table*, type (pointer float) @@ -40,17 +40,17 @@ (set! (-> *blueline-table* *blueline-index*) arg0) (set! *blueline-index* (+ *blueline-index* 1)) (when (>= *blueline-index* 400) - (set! *blueline-index* 0) - 0 - ) + (set! *blueline-index* 0) + 0 + ) (none) ) ;; definition for function float-lookup-blueline (defun float-lookup-blueline ((arg0 float)) (let ((a0-3 (mod (+ (the int arg0) -1 *blueline-index*) 400))) - (-> *blueline-table* a0-3) - ) + (-> *blueline-table* a0-3) + ) ) ;; definition for symbol *greenline-table*, type (pointer float) @@ -65,17 +65,17 @@ (set! (-> *greenline-table* *greenline-index*) arg0) (set! *greenline-index* (+ *greenline-index* 1)) (when (>= *greenline-index* 400) - (set! *greenline-index* 0) - 0 - ) + (set! *greenline-index* 0) + 0 + ) (none) ) ;; definition for function float-lookup-greenline (defun float-lookup-greenline ((arg0 float)) (let ((a0-3 (mod (+ (the int arg0) -1 *greenline-index*) 400))) - (-> *greenline-table* a0-3) - ) + (-> *greenline-table* a0-3) + ) ) ;; definition for symbol *yellowline-table*, type (pointer float) @@ -90,17 +90,17 @@ (set! (-> *yellowline-table* *yellowline-index*) arg0) (set! *yellowline-index* (+ *yellowline-index* 1)) (when (>= *yellowline-index* 400) - (set! *yellowline-index* 0) - 0 - ) + (set! *yellowline-index* 0) + 0 + ) (none) ) ;; definition for function float-lookup-yellowline (defun float-lookup-yellowline ((arg0 float)) (let ((a0-3 (mod (+ (the int arg0) -1 *yellowline-index*) 400))) - (-> *yellowline-table* a0-3) - ) + (-> *yellowline-table* a0-3) + ) ) ;; definition for symbol *timeplot-table*, type (pointer float) @@ -115,17 +115,17 @@ (set! (-> *timeplot-table* *timeplot-index*) arg0) (set! *timeplot-index* (+ *timeplot-index* 1)) (when (>= *timeplot-index* 400) - (set! *timeplot-index* 0) - 0 - ) + (set! *timeplot-index* 0) + 0 + ) (none) ) ;; definition for function float-lookup-timeplot (defun float-lookup-timeplot ((arg0 float)) (let ((a0-3 (mod (+ (the int arg0) -1 *timeplot-index*) 400))) - (-> *timeplot-table* a0-3) - ) + (-> *timeplot-table* a0-3) + ) ) ;; definition (perm) for symbol *cam-layout*, type symbol diff --git a/test/decompiler/reference/engine/camera/cam-interface_REF.gc b/test/decompiler/reference/engine/camera/cam-interface_REF.gc index 82b7952dbc..db0db638cb 100644 --- a/test/decompiler/reference/engine/camera/cam-interface_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-interface_REF.gc @@ -12,9 +12,9 @@ ;; definition for function matrix-local->world (defun matrix-local->world ((arg0 symbol) (arg1 symbol)) (if arg0 - (-> *math-camera* inv-camera-rot-smooth) - (-> *math-camera* inv-camera-rot) - ) + (-> *math-camera* inv-camera-rot-smooth) + (-> *math-camera* inv-camera-rot) + ) ) ;; definition for function matrix-world->local @@ -28,16 +28,16 @@ ;; definition for function camera-pos (defun camera-pos () (cond - (*camera-combiner* - (-> *camera-combiner* trans) + (*camera-combiner* + (-> *camera-combiner* trans) + ) + (*math-camera* + (-> *math-camera* trans) + ) + (else + *camera-dummy-vector* + ) ) - (*math-camera* - (-> *math-camera* trans) - ) - (else - *camera-dummy-vector* - ) - ) ) ;; definition for function math-camera-pos @@ -50,8 +50,8 @@ (let ((f0-0 (-> *math-camera* camera-rot vector 0 x)) (f1-0 (-> *math-camera* camera-rot vector 0 z)) ) - (atan f1-0 f0-0) - ) + (atan f1-0 f0-0) + ) ) ;; definition for function camera-teleport-to-entity @@ -59,14 +59,11 @@ ;; Used lq/sq (defbehavior camera-teleport-to-entity process ((arg0 entity-actor)) (let ((gp-0 (new 'stack 'transformq))) - (set! - (-> gp-0 trans quad) - (-> (the-as transform (-> arg0 extra)) scale quad) + (set! (-> gp-0 trans quad) (-> (the-as transform (-> arg0 extra)) scale quad)) + (quaternion-copy! (-> gp-0 quat) (-> arg0 quat)) + (vector-identity! (-> gp-0 scale)) + (send-event *camera* 'teleport-to-transformq gp-0) ) - (quaternion-copy! (-> gp-0 quat) (-> arg0 quat)) - (vector-identity! (-> gp-0 scale)) - (send-event *camera* 'teleport-to-transformq gp-0) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/camera/cam-layout_REF.gc b/test/decompiler/reference/engine/camera/cam-layout_REF.gc index 735d8300ba..9bb5e79338 100644 --- a/test/decompiler/reference/engine/camera/cam-layout_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-layout_REF.gc @@ -33,17 +33,15 @@ ) ;; definition for symbol *CAM_LAYOUT-bank*, type cam-layout-bank -(define - *CAM_LAYOUT-bank* - (new 'static 'cam-layout-bank - :spline-t 0.01 - :spline-step 0.0016666667 - :intro-t 0.01 - :intro-step 0.0016666667 - :debug-t 0.01 - :debug-step 0.0033333334 - ) - ) +(define *CAM_LAYOUT-bank* (new 'static 'cam-layout-bank + :spline-t 0.01 + :spline-step 0.0016666667 + :intro-t 0.01 + :intro-step 0.0016666667 + :debug-t 0.01 + :debug-step 0.0033333334 + ) + ) ;; definition for symbol *camera-layout-message-ypos*, type int (define *camera-layout-message-ypos* 30) @@ -211,10 +209,7 @@ (define *volume-descriptor-current* 0) ;; definition for symbol *volume-descriptor*, type vol-control -(define - *volume-descriptor* - (the-as vol-control (new 'debug 'volume-descriptor-array 100)) - ) +(define *volume-descriptor* (the-as vol-control (new 'debug 'volume-descriptor-array 100))) ;; definition of type cam-layout (deftype cam-layout (process) @@ -236,8 +231,8 @@ ;; definition for method 3 of type cam-layout (defmethod inspect cam-layout ((obj cam-layout)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tcam-entity: ~A~%" (-> obj cam-entity)) (format #t "~T~Tnum-entities: ~D~%" (-> obj num-entities)) (format #t "~T~Tcur-entity: ~D~%" (-> obj cur-entity)) @@ -254,32 +249,22 @@ (let* ((s5-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) (gp-0 (-> s5-0 base)) ) - (draw-string-xy - arg2 - s5-0 - arg0 - arg1 - (font-color white) - (font-flags shadow kerning) - ) - (let ((a3-4 (-> s5-0 base))) - (let ((v1-4 (the-as object (-> s5-0 base)))) - (set! - (-> (the-as dma-packet v1-4) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + (draw-string-xy arg2 s5-0 arg0 arg1 (font-color white) (font-flags shadow kerning)) + (let ((a3-4 (-> s5-0 base))) + (let ((v1-4 (the-as object (-> s5-0 base)))) + (set! (-> (the-as dma-packet v1-4) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-4) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-4) vif1) (new 'static 'vif-tag)) + (set! (-> s5-0 base) (&+ (the-as pointer v1-4) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-0 + (the-as (pointer dma-tag) a3-4) + ) ) - (set! (-> (the-as dma-packet v1-4) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-4) vif1) (new 'static 'vif-tag)) - (set! (-> s5-0 base) (&+ (the-as pointer v1-4) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-0 - (the-as (pointer dma-tag) a3-4) - ) ) - ) ) ;; definition for function cam-layout-intersect-dist @@ -288,12 +273,12 @@ (let ((f0-1 (vector-dot arg1 arg0)) (f1-1 (vector-dot arg2 arg0)) ) - (the-as float (if (< 0.00001 (fabs f1-1)) - (/ (- (-> arg0 w) f0-1) f1-1) - 409600000.0 - ) + (the-as float (if (< 0.00001 (fabs f1-1)) + (/ (- (-> arg0 w) f0-1) f1-1) + 409600000.0 + ) + ) ) - ) ) ;; definition for function cam-layout-entity-volume-info-create @@ -309,276 +294,229 @@ ;; WARN: Stack slot offset 164 signed mismatch ;; WARN: Stack slot offset 164 signed mismatch ;; Used lq/sq -(defbehavior - cam-layout-entity-volume-info-create cam-layout - ((arg0 entity-camera) (arg1 symbol)) +(defbehavior cam-layout-entity-volume-info-create cam-layout ((arg0 entity-camera) (arg1 symbol)) (local-vars - (sv-16 res-tag) - (sv-160 vector) - (sv-164 float) - (sv-168 int) - (sv-176 vector) - (sv-192 vector) - (sv-208 vector) - (sv-224 vector) - (sv-240 vector) - (sv-256 int) - (sv-272 int) - (sv-288 int) - ) - (let ((s4-0 0)) - (while #t - (set! sv-16 (new 'static 'res-tag)) - (let - ((s3-0 - (the-as - (inline-array vector) - ((method-of-type res-lump get-property-data) - arg0 - arg1 - 'exact - (the float s4-0) - (the-as pointer #f) - (& sv-16) - *res-static-buf* - ) - ) - ) - ) - (cond - (s3-0 - (when (>= *volume-descriptor-current* 100) - (format 0 "ERROR : camera editing out of volume descriptors~%") - (return #f) - ) - (let - ((s2-0 (-> *volume-descriptor* pos-vol *volume-descriptor-current*))) - (set! (-> s2-0 volume-type) arg1) - (set! (-> s2-0 point-count) 0) - (set! - (-> s2-0 first-point) - (-> *volume-point* data *volume-point-current*) - ) - (set! (-> s2-0 normal-count) 0) - (set! - (-> s2-0 first-normal) - (-> *volume-normal* data *volume-normal-current*) - ) - (set! *volume-descriptor-current* (+ *volume-descriptor-current* 1)) - (+! (-> self num-volumes) 1) - (dotimes (s1-0 (the-as int (-> sv-16 elt-count))) - (set! sv-192 (new 'stack-no-clear 'vector)) - (set! (-> sv-192 quad) (the-as uint128 0)) - (set! sv-208 (new 'stack-no-clear 'vector)) - (set! (-> sv-208 quad) (the-as uint128 0)) - (set! sv-224 (new 'stack-no-clear 'vector)) - (set! (-> sv-224 quad) (the-as uint128 0)) - (set! sv-240 (new 'stack-no-clear 'vector)) - (set! (-> sv-240 quad) (the-as uint128 0)) - 0.0 - 0.0 - 0.0 - (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) - (let ((s0-0 (new-stack-vector0))) - (set! sv-256 0) - (set! sv-272 0) - (while (< sv-272 (the-as int (-> sv-16 elt-count))) - (when (!= s1-0 sv-272) - (vector-float*! sv-192 (-> s3-0 sv-272) (-> s3-0 sv-272 w)) - (vector-cross! sv-208 (-> s3-0 sv-272) (-> s3-0 s1-0)) - (vector-normalize! sv-208 (-> (new 'static 'array float 1 1.0) 0)) - (vector-cross! sv-224 sv-208 (-> s3-0 sv-272)) - (vector-normalize! sv-224 (-> (new 'static 'array float 1 1.0) 0)) - (let - ((f0-6 (cam-layout-intersect-dist (-> s3-0 s1-0) sv-192 sv-224))) - (when (!= f0-6 409600000.0) - (vector+float*! sv-240 sv-192 sv-224 f0-6) - (set! sv-160 (new-stack-vector0)) - (set! sv-164 0.0) - (set! sv-168 0) - (set! sv-176 (new-stack-vector0)) - (set! (-> sv-160 quad) (-> sv-240 quad)) - (set! sv-288 0) - (while (< sv-288 (the-as int (-> sv-16 elt-count))) - (when (and (!= sv-288 s1-0) (!= sv-288 sv-272)) - (let - ((f30-0 - (cam-layout-intersect-dist (-> s3-0 sv-288) sv-160 sv-208) - ) - ) - (cond - ((= f30-0 409600000.0) - ) - ((zero? sv-168) - (vector+float*! sv-160 sv-160 sv-208 f30-0) - (set! (-> sv-176 quad) (-> s3-0 sv-288 quad)) - (set! sv-164 8192000.0) - (set! sv-168 1) - ) - ((begin - (vector-float*! sv-240 sv-208 f30-0) - (>= (vector-dot sv-240 sv-176) 0.0) - ) - ) - ((>= (vector-dot sv-240 (-> s3-0 sv-288)) 0.0) - (when (< (fabs f30-0) (fabs sv-164)) - (set! sv-164 f30-0) - (set! sv-168 (+ sv-168 1)) - ) - ) - (else - (vector+float*! sv-160 sv-160 sv-208 f30-0) - (set! (-> sv-176 quad) (-> s3-0 sv-288 quad)) - (set! sv-168 (+ sv-168 1)) - (if (< (fabs f30-0) (fabs sv-164)) - (set! sv-164 (- sv-164 f30-0)) - (set! sv-164 0.0) - ) - ) - ) - ) - ) - (set! sv-288 (+ sv-288 1)) - ) - (cond - ((zero? sv-168) - ) - ((= sv-164 0.0) - ) - (else - (dotimes (v1-87 (the-as int (-> sv-16 elt-count))) - (when (and (!= v1-87 s1-0) (!= v1-87 sv-272)) - (if - (< - (-> (new 'static 'array float 1 4096.0) 0) - (- (vector-dot sv-160 (-> s3-0 v1-87)) (-> s3-0 v1-87 w)) - ) - (goto cfg-47) - ) - ) - ) - (vector+float*! sv-240 sv-160 sv-208 sv-164) - (cond - ((>= *volume-point-current* 999) - (format - 0 - "ERROR : camera editing out of volume points~%" - ) - ) - (else - (set! - (-> *volume-point* data *volume-point-current* quad) - (-> sv-160 quad) - ) - (set! - (-> *volume-point* data (+ *volume-point-current* 1) quad) - (-> sv-240 quad) - ) - (set! *volume-point-current* (+ *volume-point-current* 2)) - (+! (-> s2-0 point-count) 2) - ) - ) - (vector+! s0-0 s0-0 sv-160) - (vector+! s0-0 s0-0 sv-240) - (set! sv-256 (+ sv-256 2)) - sv-256 - ) - ) - ) - ) - ) - (label cfg-47) - (set! sv-272 (+ sv-272 1)) - ) - (when (nonzero? sv-256) - (vector-float*! - s0-0 - s0-0 - (/ (-> (new 'static 'array float 1 1.0) 0) (the float sv-256)) - ) - (cond - ((>= *volume-normal-current* 599) - (format 0 "ERROR : camera editing out of volume normals~%") - ) - (else - (set! - (-> *volume-normal* data *volume-normal-current* quad) - (-> s0-0 quad) - ) - (set! - (-> *volume-normal* data (+ *volume-normal-current* 1) quad) - (-> s3-0 s1-0 quad) - ) - (set! *volume-normal-current* (+ *volume-normal-current* 2)) - (let ((v1-132 (+ (-> s2-0 normal-count) 2))) - (set! (-> s2-0 normal-count) v1-132) - v1-132 - ) - ) - ) - ) - ) - ) - ) - ) - (else - (return #f) - ) - ) - ) - (+! s4-0 1) + (sv-16 res-tag) + (sv-160 vector) + (sv-164 float) + (sv-168 int) + (sv-176 vector) + (sv-192 vector) + (sv-208 vector) + (sv-224 vector) + (sv-240 vector) + (sv-256 int) + (sv-272 int) + (sv-288 int) + ) + (let ((s4-0 0)) + (while #t + (set! sv-16 (new 'static 'res-tag)) + (let ((s3-0 (the-as (inline-array vector) ((method-of-type res-lump get-property-data) + arg0 + arg1 + 'exact + (the float s4-0) + (the-as pointer #f) + (& sv-16) + *res-static-buf* + ) + ) + ) + ) + (cond + (s3-0 + (when (>= *volume-descriptor-current* 100) + (format 0 "ERROR : camera editing out of volume descriptors~%") + (return #f) + ) + (let ((s2-0 (-> *volume-descriptor* pos-vol *volume-descriptor-current*))) + (set! (-> s2-0 volume-type) arg1) + (set! (-> s2-0 point-count) 0) + (set! (-> s2-0 first-point) (-> *volume-point* data *volume-point-current*)) + (set! (-> s2-0 normal-count) 0) + (set! (-> s2-0 first-normal) (-> *volume-normal* data *volume-normal-current*)) + (set! *volume-descriptor-current* (+ *volume-descriptor-current* 1)) + (+! (-> self num-volumes) 1) + (dotimes (s1-0 (the-as int (-> sv-16 elt-count))) + (set! sv-192 (new 'stack-no-clear 'vector)) + (set! (-> sv-192 quad) (the-as uint128 0)) + (set! sv-208 (new 'stack-no-clear 'vector)) + (set! (-> sv-208 quad) (the-as uint128 0)) + (set! sv-224 (new 'stack-no-clear 'vector)) + (set! (-> sv-224 quad) (the-as uint128 0)) + (set! sv-240 (new 'stack-no-clear 'vector)) + (set! (-> sv-240 quad) (the-as uint128 0)) + 0.0 + 0.0 + 0.0 + (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) + (let ((s0-0 (new-stack-vector0))) + (set! sv-256 0) + (set! sv-272 0) + (while (< sv-272 (the-as int (-> sv-16 elt-count))) + (when (!= s1-0 sv-272) + (vector-float*! sv-192 (-> s3-0 sv-272) (-> s3-0 sv-272 w)) + (vector-cross! sv-208 (-> s3-0 sv-272) (-> s3-0 s1-0)) + (vector-normalize! sv-208 (-> (new 'static 'array float 1 1.0) 0)) + (vector-cross! sv-224 sv-208 (-> s3-0 sv-272)) + (vector-normalize! sv-224 (-> (new 'static 'array float 1 1.0) 0)) + (let ((f0-6 (cam-layout-intersect-dist (-> s3-0 s1-0) sv-192 sv-224))) + (when (!= f0-6 409600000.0) + (vector+float*! sv-240 sv-192 sv-224 f0-6) + (set! sv-160 (new-stack-vector0)) + (set! sv-164 0.0) + (set! sv-168 0) + (set! sv-176 (new-stack-vector0)) + (set! (-> sv-160 quad) (-> sv-240 quad)) + (set! sv-288 0) + (while (< sv-288 (the-as int (-> sv-16 elt-count))) + (when (and (!= sv-288 s1-0) (!= sv-288 sv-272)) + (let ((f30-0 (cam-layout-intersect-dist (-> s3-0 sv-288) sv-160 sv-208))) + (cond + ((= f30-0 409600000.0) + ) + ((zero? sv-168) + (vector+float*! sv-160 sv-160 sv-208 f30-0) + (set! (-> sv-176 quad) (-> s3-0 sv-288 quad)) + (set! sv-164 8192000.0) + (set! sv-168 1) + ) + ((begin (vector-float*! sv-240 sv-208 f30-0) (>= (vector-dot sv-240 sv-176) 0.0)) + ) + ((>= (vector-dot sv-240 (-> s3-0 sv-288)) 0.0) + (when (< (fabs f30-0) (fabs sv-164)) + (set! sv-164 f30-0) + (set! sv-168 (+ sv-168 1)) + ) + ) + (else + (vector+float*! sv-160 sv-160 sv-208 f30-0) + (set! (-> sv-176 quad) (-> s3-0 sv-288 quad)) + (set! sv-168 (+ sv-168 1)) + (if (< (fabs f30-0) (fabs sv-164)) + (set! sv-164 (- sv-164 f30-0)) + (set! sv-164 0.0) + ) + ) + ) + ) + ) + (set! sv-288 (+ sv-288 1)) + ) + (cond + ((zero? sv-168) + ) + ((= sv-164 0.0) + ) + (else + (dotimes (v1-87 (the-as int (-> sv-16 elt-count))) + (when (and (!= v1-87 s1-0) (!= v1-87 sv-272)) + (if (< (-> (new 'static 'array float 1 4096.0) 0) (- (vector-dot sv-160 (-> s3-0 v1-87)) (-> s3-0 v1-87 w))) + (goto cfg-47) + ) + ) + ) + (vector+float*! sv-240 sv-160 sv-208 sv-164) + (cond + ((>= *volume-point-current* 999) + (format 0 "ERROR : camera editing out of volume points~%") + ) + (else + (set! (-> *volume-point* data *volume-point-current* quad) (-> sv-160 quad)) + (set! (-> *volume-point* data (+ *volume-point-current* 1) quad) (-> sv-240 quad)) + (set! *volume-point-current* (+ *volume-point-current* 2)) + (+! (-> s2-0 point-count) 2) + ) + ) + (vector+! s0-0 s0-0 sv-160) + (vector+! s0-0 s0-0 sv-240) + (set! sv-256 (+ sv-256 2)) + sv-256 + ) + ) + ) + ) + ) + (label cfg-47) + (set! sv-272 (+ sv-272 1)) + ) + (when (nonzero? sv-256) + (vector-float*! s0-0 s0-0 (/ (-> (new 'static 'array float 1 1.0) 0) (the float sv-256))) + (cond + ((>= *volume-normal-current* 599) + (format 0 "ERROR : camera editing out of volume normals~%") + ) + (else + (set! (-> *volume-normal* data *volume-normal-current* quad) (-> s0-0 quad)) + (set! (-> *volume-normal* data (+ *volume-normal-current* 1) quad) (-> s3-0 s1-0 quad)) + (set! *volume-normal-current* (+ *volume-normal-current* 2)) + (let ((v1-132 (+ (-> s2-0 normal-count) 2))) + (set! (-> s2-0 normal-count) v1-132) + v1-132 + ) + ) + ) + ) + ) + ) + ) + ) + (else + (return #f) + ) + ) + ) + (+! s4-0 1) + ) ) - ) (the-as symbol #f) ) ;; definition for function cam-layout-entity-volume-info (defbehavior cam-layout-entity-volume-info cam-layout () (dotimes (gp-0 (-> self num-volumes)) - (cond - ((and - (= gp-0 (-> self cur-volume)) - (= *camera-layout-blink* 'volume) - (zero? (logand (-> *display* real-actual-frame-counter) 8)) - ) - ) - (else - (let ((s5-0 (-> *volume-descriptor* pos-vol gp-0))) - (let ((a0-7 (new 'static 'vector4w :w #x80))) - (cond - ((= (-> s5-0 volume-type) 'vol) - (set! (-> a0-7 x) 0) - (set! (-> a0-7 y) 192) - (set! (-> a0-7 z) 0) - 0 + (cond + ((and + (= gp-0 (-> self cur-volume)) + (= *camera-layout-blink* 'volume) + (zero? (logand (-> *display* real-actual-frame-counter) 8)) ) - ((= (-> s5-0 volume-type) 'pvol) - (set! (-> a0-7 x) 128) - (set! (-> a0-7 y) 128) - (set! (-> a0-7 z) 128) - ) - ((= (-> s5-0 volume-type) 'cutoutvol) - (set! (-> a0-7 x) 192) - (set! (-> a0-7 y) 0) - (set! (-> a0-7 z) 0) - 0 - ) - ) - (camera-line-setup a0-7) ) - (let ((s4-0 (the-as object (-> s5-0 first-point)))) - (dotimes (s3-0 (/ (-> s5-0 point-count) 2)) - (camera-line-draw (the-as vector s4-0) (&+ (the-as vector s4-0) 16)) - (set! - s4-0 - (&-> (the-as (inline-array plane-volume) s4-0) 1 first-point) - ) + (else + (let ((s5-0 (-> *volume-descriptor* pos-vol gp-0))) + (let ((a0-7 (new 'static 'vector4w :w #x80))) + (cond + ((= (-> s5-0 volume-type) 'vol) + (set! (-> a0-7 x) 0) + (set! (-> a0-7 y) 192) + (set! (-> a0-7 z) 0) + 0 + ) + ((= (-> s5-0 volume-type) 'pvol) + (set! (-> a0-7 x) 128) + (set! (-> a0-7 y) 128) + (set! (-> a0-7 z) 128) + ) + ((= (-> s5-0 volume-type) 'cutoutvol) + (set! (-> a0-7 x) 192) + (set! (-> a0-7 y) 0) + (set! (-> a0-7 z) 0) + 0 + ) + ) + (camera-line-setup a0-7) + ) + (let ((s4-0 (the-as object (-> s5-0 first-point)))) + (dotimes (s3-0 (/ (-> s5-0 point-count) 2)) + (camera-line-draw (the-as vector s4-0) (&+ (the-as vector s4-0) 16)) + (set! s4-0 (&-> (the-as (inline-array plane-volume) s4-0) 1 first-point)) + ) + ) + ) ) - ) ) - ) ) - ) #f ) @@ -589,38 +527,28 @@ (s1-0 (new-stack-vector0)) (s0-0 (new-stack-vector0)) ) - 0.0 - 0.0 - 0.0 - 0.0 - (cond - ((< (-> (new 'static 'array float 1 1.0) 0) arg3) - (set! - arg3 - (-> (the-as (pointer float) (new 'static 'array float 1 1.0)) 0) + 0.0 + 0.0 + 0.0 + 0.0 + (cond + ((< (-> (new 'static 'array float 1 1.0) 0) arg3) + (set! arg3 (-> (the-as (pointer float) (new 'static 'array float 1 1.0)) 0)) + ) + ((< arg3 0.0) + (set! arg3 (-> (the-as (pointer float) (new 'static 'array float 1 0.0)) 0)) + ) ) - ) - ((< arg3 0.0) - (set! - arg3 - (-> (the-as (pointer float) (new 'static 'array float 1 0.0)) 0) + (vector-normalize-copy! s2-0 arg1 (-> (new 'static 'array float 1 1.0) 0)) + (vector-normalize-copy! s1-0 arg2 (-> (new 'static 'array float 1 1.0) 0)) + (vector-cross! s0-0 s2-0 s1-0) + (let* ((f30-0 (vector-length s0-0)) + (f28-0 (asin f30-0)) + ) + (vector-float*! arg0 arg1 (/ (sin (* (- (-> (new 'static 'array float 1 1.0) 0) arg3) f28-0)) f30-0)) + (vector+float*! arg0 arg0 arg2 (/ (sin (* arg3 f28-0)) f30-0)) ) - ) ) - (vector-normalize-copy! s2-0 arg1 (-> (new 'static 'array float 1 1.0) 0)) - (vector-normalize-copy! s1-0 arg2 (-> (new 'static 'array float 1 1.0) 0)) - (vector-cross! s0-0 s2-0 s1-0) - (let* ((f30-0 (vector-length s0-0)) - (f28-0 (asin f30-0)) - ) - (vector-float*! - arg0 - arg1 - (/ (sin (* (- (-> (new 'static 'array float 1 1.0) 0) arg3) f28-0)) f30-0) - ) - (vector+float*! arg0 arg0 arg2 (/ (sin (* arg3 f28-0)) f30-0)) - ) - ) ) ;; definition of type interp-test-info @@ -651,506 +579,354 @@ ;; definition for function interp-test ;; Used lq/sq -(defun - interp-test - ((arg0 (function vector vector vector float vector float none)) - (arg1 interp-test-info) - ) +(defun interp-test ((arg0 (function vector vector vector float vector float none)) (arg1 interp-test-info)) (let ((s3-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) ) - (arg0 - s3-0 - (-> arg1 from) - (-> arg1 to) - (-> (new 'static 'array float 1 0.0) 0) - (-> arg1 axis) - (-> (new 'static 'array float 1 65536.0) 0) - ) - (vector+! s3-0 s3-0 (-> arg1 origin)) - (dotimes (s2-0 10) - (set! (-> gp-0 quad) (-> s3-0 quad)) (arg0 - s3-0 - (-> arg1 from) - (-> arg1 to) - (* 0.1 (+ (-> (new 'static 'array float 1 1.0) 0) (the float s2-0))) - (-> arg1 axis) - (-> (new 'static 'array float 1 65536.0) 0) - ) + s3-0 + (-> arg1 from) + (-> arg1 to) + (-> (new 'static 'array float 1 0.0) 0) + (-> arg1 axis) + (-> (new 'static 'array float 1 65536.0) 0) + ) (vector+! s3-0 s3-0 (-> arg1 origin)) - (camera-line s3-0 gp-0 (-> arg1 color)) + (dotimes (s2-0 10) + (set! (-> gp-0 quad) (-> s3-0 quad)) + (arg0 + s3-0 + (-> arg1 from) + (-> arg1 to) + (* 0.1 (+ (-> (new 'static 'array float 1 1.0) 0) (the float s2-0))) + (-> arg1 axis) + (-> (new 'static 'array float 1 65536.0) 0) + ) + (vector+! s3-0 s3-0 (-> arg1 origin)) + (camera-line s3-0 gp-0 (-> arg1 color)) + ) + (arg0 + gp-0 + (-> arg1 from) + (-> arg1 to) + (-> *CAM_LAYOUT-bank* debug-t) + (-> arg1 axis) + (-> (new 'static 'array float 1 65536.0) 0) + ) + (format *stdcon* "~S ~f~%" (-> arg1 disp) (vector-length gp-0)) + (vector+! gp-0 gp-0 (-> arg1 origin)) + (camera-line (-> arg1 origin) gp-0 (-> arg1 color)) + (camera-cross + (new 'static 'vector :y 1024.0) + (new 'static 'vector :z 1024.0) + gp-0 + (-> arg1 color) + (-> (new 'static 'array float 1 4096.0) 0) + ) ) - (arg0 - gp-0 - (-> arg1 from) - (-> arg1 to) - (-> *CAM_LAYOUT-bank* debug-t) - (-> arg1 axis) - (-> (new 'static 'array float 1 65536.0) 0) - ) - (format *stdcon* "~S ~f~%" (-> arg1 disp) (vector-length gp-0)) - (vector+! gp-0 gp-0 (-> arg1 origin)) - (camera-line (-> arg1 origin) gp-0 (-> arg1 color)) - (camera-cross - (new 'static 'vector :y 1024.0) - (new 'static 'vector :z 1024.0) - gp-0 - (-> arg1 color) - (-> (new 'static 'array float 1 4096.0) 0) - ) - ) ) ;; definition for function interp-test-deg ;; Used lq/sq -(defun - interp-test-deg - ((arg0 (function vector vector vector vector float none)) - (arg1 interp-test-info) - ) +(defun interp-test-deg ((arg0 (function vector vector vector vector float none)) (arg1 interp-test-info)) (let ((s3-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) ) - (arg0 - s3-0 - (-> arg1 from) - (-> arg1 to) - (-> arg1 axis) - (-> (new 'static 'array float 1 0.0) 0) - ) - (vector+! s3-0 s3-0 (-> arg1 origin)) - (dotimes (s2-0 10) - (set! (-> gp-0 quad) (-> s3-0 quad)) - (arg0 - s3-0 - (-> arg1 from) - (-> arg1 to) - (-> arg1 axis) - (* - 182.04445 - (* 18.0 (+ (-> (new 'static 'array float 1 1.0) 0) (the float s2-0))) - ) - ) + (arg0 s3-0 (-> arg1 from) (-> arg1 to) (-> arg1 axis) (-> (new 'static 'array float 1 0.0) 0)) (vector+! s3-0 s3-0 (-> arg1 origin)) - (camera-line s3-0 gp-0 (-> arg1 color)) + (dotimes (s2-0 10) + (set! (-> gp-0 quad) (-> s3-0 quad)) + (arg0 + s3-0 + (-> arg1 from) + (-> arg1 to) + (-> arg1 axis) + (* 182.04445 (* 18.0 (+ (-> (new 'static 'array float 1 1.0) 0) (the float s2-0)))) + ) + (vector+! s3-0 s3-0 (-> arg1 origin)) + (camera-line s3-0 gp-0 (-> arg1 color)) + ) + (arg0 gp-0 (-> arg1 from) (-> arg1 to) (-> arg1 axis) (* 182.04445 (* 180.0 (-> *CAM_LAYOUT-bank* debug-t)))) + (format *stdcon* "~S ~f~%" (-> arg1 disp) (vector-length gp-0)) + (vector+! gp-0 gp-0 (-> arg1 origin)) + (camera-line (-> arg1 origin) gp-0 (-> arg1 color)) + (camera-cross + (new 'static 'vector :y 1024.0) + (new 'static 'vector :z 1024.0) + gp-0 + (-> arg1 color) + (-> (new 'static 'array float 1 4096.0) 0) + ) ) - (arg0 - gp-0 - (-> arg1 from) - (-> arg1 to) - (-> arg1 axis) - (* 182.04445 (* 180.0 (-> *CAM_LAYOUT-bank* debug-t))) - ) - (format *stdcon* "~S ~f~%" (-> arg1 disp) (vector-length gp-0)) - (vector+! gp-0 gp-0 (-> arg1 origin)) - (camera-line (-> arg1 origin) gp-0 (-> arg1 color)) - (camera-cross - (new 'static 'vector :y 1024.0) - (new 'static 'vector :z 1024.0) - gp-0 - (-> arg1 color) - (-> (new 'static 'array float 1 4096.0) 0) - ) - ) ) ;; definition for function cam-layout-entity-info ;; Used lq/sq (defun cam-layout-entity-info ((arg0 entity-actor)) (if (not arg0) - (return #f) - ) + (return #f) + ) (let ((s5-0 (new-stack-matrix0)) (s4-0 (new-stack-vector0)) ) - (when - (and - (cam-slave-get-vector-with-offset arg0 s4-0 'trans) - (or - (!= *camera-layout-blink* 'camera) - (logtest? (-> *display* real-actual-frame-counter) 8) + (when (and + (cam-slave-get-vector-with-offset arg0 s4-0 'trans) + (or (!= *camera-layout-blink* 'camera) (logtest? (-> *display* real-actual-frame-counter) 8)) + ) + (cam-slave-get-rot arg0 s5-0) + (camera-fov-frame + s5-0 + s4-0 + (* 0.5 (cam-slave-get-fov arg0)) + (-> (new 'static 'array float 1 0.75) 0) + (-> (new 'static 'array float 1 1.0) 0) + (new 'static 'vector4w :z #xff :w #x80) + ) ) - ) - (cam-slave-get-rot arg0 s5-0) - (camera-fov-frame - s5-0 - s4-0 - (* 0.5 (cam-slave-get-fov arg0)) - (-> (new 'static 'array float 1 0.75) 0) - (-> (new 'static 'array float 1 1.0) 0) - (new 'static 'vector4w :z #xff :w #x80) - ) ) - ) (let ((s5-1 (new-stack-vector0))) - (if - (and - (cam-slave-get-vector-with-offset arg0 s5-1 'pivot) - (or - (!= *camera-layout-blink* 'pivot) - (logtest? (-> *display* real-actual-frame-counter) 8) - ) - ) - (camera-cross - (new 'static 'vector :y 1024.0) - (new 'static 'vector :z 1024.0) - s5-1 - (new 'static 'vector4w :x #x80 :w #x80) - (-> (new 'static 'array float 1 4096.0) 0) - ) + (if (and + (cam-slave-get-vector-with-offset arg0 s5-1 'pivot) + (or (!= *camera-layout-blink* 'pivot) (logtest? (-> *display* real-actual-frame-counter) 8)) + ) + (camera-cross + (new 'static 'vector :y 1024.0) + (new 'static 'vector :z 1024.0) + s5-1 + (new 'static 'vector4w :x #x80 :w #x80) + (-> (new 'static 'array float 1 4096.0) 0) + ) + ) ) - ) (let ((s5-2 (new-stack-vector0))) - (if - (and - (cam-slave-get-vector-with-offset arg0 s5-2 'align) - (or - (!= *camera-layout-blink* 'align) - (logtest? (-> *display* real-actual-frame-counter) 8) - ) - ) - (camera-cross - (new 'static 'vector :y 1024.0) - (new 'static 'vector :z 1024.0) - s5-2 - (new 'static 'vector4w :y #x80 :w #x80) - (-> (new 'static 'array float 1 4096.0) 0) - ) + (if (and + (cam-slave-get-vector-with-offset arg0 s5-2 'align) + (or (!= *camera-layout-blink* 'align) (logtest? (-> *display* real-actual-frame-counter) 8)) + ) + (camera-cross + (new 'static 'vector :y 1024.0) + (new 'static 'vector :z 1024.0) + s5-2 + (new 'static 'vector4w :y #x80 :w #x80) + (-> (new 'static 'array float 1 4096.0) 0) + ) + ) ) - ) (let ((s5-3 (new-stack-vector0))) - (if - (and - (cam-slave-get-vector-with-offset arg0 s5-3 'interesting) - (or - (!= *camera-layout-blink* 'interesting) - (logtest? (-> *display* real-actual-frame-counter) 8) - ) - ) - (camera-cross - (new 'static 'vector :y 1024.0) - (new 'static 'vector :z 1024.0) - s5-3 - (new 'static 'vector4w :x #x80 :z #x80 :w #x80) - (-> (new 'static 'array float 1 4096.0) 0) - ) + (if (and + (cam-slave-get-vector-with-offset arg0 s5-3 'interesting) + (or (!= *camera-layout-blink* 'interesting) (logtest? (-> *display* real-actual-frame-counter) 8)) + ) + (camera-cross + (new 'static 'vector :y 1024.0) + (new 'static 'vector :z 1024.0) + s5-3 + (new 'static 'vector4w :x #x80 :z #x80 :w #x80) + (-> (new 'static 'array float 1 4096.0) 0) + ) + ) ) - ) (let ((s3-1 (new 'stack 'curve)) (s2-0 (new-stack-vector0)) (s5-4 (new-stack-vector0)) (s4-1 (new-stack-vector0)) ) - (when - (and - (get-curve-data! - arg0 - s3-1 - 'campath - 'campath-k - (the-as float -1000000000.0) - ) - (or - (!= *camera-layout-blink* 'spline) - (logtest? (-> *display* real-actual-frame-counter) 8) - ) - ) - (cond - ((cam-slave-get-vector-with-offset arg0 s4-1 'pivot) - (curve-get-pos! s5-4 (-> (new 'static 'array float 1 0.0) 0) s3-1) - (vector-! s4-1 s4-1 s5-4) - ) - (else - (set! - (-> s4-1 quad) - (-> - (the-as - vector - ((method-of-type res-lump get-property-struct) - arg0 - 'spline-offset - 'interp - (the-as float -1000000000.0) - s4-1 - (the-as (pointer res-tag) #f) - *res-static-buf* - ) + (when (and + (get-curve-data! arg0 s3-1 'campath 'campath-k (the-as float -1000000000.0)) + (or (!= *camera-layout-blink* 'spline) (logtest? (-> *display* real-actual-frame-counter) 8)) + ) + (cond + ((cam-slave-get-vector-with-offset arg0 s4-1 'pivot) + (curve-get-pos! s5-4 (-> (new 'static 'array float 1 0.0) 0) s3-1) + (vector-! s4-1 s4-1 s5-4) ) - quad + (else + (set! (-> s4-1 quad) + (-> (the-as + vector + ((method-of-type res-lump get-property-struct) + arg0 + 'spline-offset + 'interp + (the-as float -1000000000.0) + s4-1 + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + quad + ) + ) + ) + ) + (curve-get-pos! s5-4 (-> (new 'static 'array float 1 0.0) 0) s3-1) + (vector+! s5-4 s5-4 s4-1) + (dotimes (s1-1 8) + (set! (-> s2-0 quad) (-> s5-4 quad)) + (curve-get-pos! s5-4 (* (-> (new 'static 'array float 1 0.125) 0) (the float (+ s1-1 1))) s3-1) + (vector+! s5-4 s5-4 s4-1) + (camera-line s2-0 s5-4 (new 'static 'vector4w :x #xff :y #xff :w #x80)) + ) + (curve-get-pos! s5-4 (-> *CAM_LAYOUT-bank* spline-t) s3-1) + (vector+! s5-4 s5-4 s4-1) + (camera-cross + (new 'static 'vector :y 1024.0) + (new 'static 'vector :z 1024.0) + s5-4 + (new 'static 'vector4w :x #xff :y #xff :w #x80) + (-> (new 'static 'array float 1 4096.0) 0) ) - ) ) - ) - (curve-get-pos! s5-4 (-> (new 'static 'array float 1 0.0) 0) s3-1) - (vector+! s5-4 s5-4 s4-1) - (dotimes (s1-1 8) - (set! (-> s2-0 quad) (-> s5-4 quad)) - (curve-get-pos! - s5-4 - (* (-> (new 'static 'array float 1 0.125) 0) (the float (+ s1-1 1))) - s3-1 - ) - (vector+! s5-4 s5-4 s4-1) - (camera-line s2-0 s5-4 (new 'static 'vector4w :x #xff :y #xff :w #x80)) - ) - (curve-get-pos! s5-4 (-> *CAM_LAYOUT-bank* spline-t) s3-1) - (vector+! s5-4 s5-4 s4-1) - (camera-cross - (new 'static 'vector :y 1024.0) - (new 'static 'vector :z 1024.0) - s5-4 - (new 'static 'vector4w :x #xff :y #xff :w #x80) - (-> (new 'static 'array float 1 4096.0) 0) - ) ) - ) (let ((s3-2 (new 'stack 'curve)) (s2-1 (new-stack-vector0)) (s5-5 (new-stack-vector0)) (s4-2 (new-stack-vector0)) (s1-2 (new 'stack 'curve)) ) - (when - (and - (get-curve-data! arg0 s3-2 'intro 'intro-k (the-as float -1000000000.0)) - (or - (!= *camera-layout-blink* 'intro) - (logtest? (-> *display* real-actual-frame-counter) 8) + (when (and + (get-curve-data! arg0 s3-2 'intro 'intro-k (the-as float -1000000000.0)) + (or (!= *camera-layout-blink* 'intro) (logtest? (-> *display* real-actual-frame-counter) 8)) + ) + (cond + ((cam-slave-get-vector-with-offset arg0 s4-2 'pivot) + (curve-get-pos! s5-5 (-> (new 'static 'array float 1 1.0) 0) s3-2) + (vector-! s4-2 s4-2 s5-5) + ) + ((get-curve-data! arg0 s1-2 'campath 'campath-k (the-as float -1000000000.0)) + (curve-get-pos! s4-2 (-> (new 'static 'array float 1 0.0) 0) s1-2) + (curve-get-pos! s5-5 (-> (new 'static 'array float 1 1.0) 0) s3-2) + (vector-! s4-2 s4-2 s5-5) + ) + ((cam-slave-get-vector-with-offset arg0 s4-2 'trans) + (curve-get-pos! s5-5 (-> (new 'static 'array float 1 1.0) 0) s3-2) + (vector-! s4-2 s4-2 s5-5) + ) + ) + (curve-get-pos! s5-5 (-> (new 'static 'array float 1 0.0) 0) s3-2) + (vector+! s5-5 s5-5 s4-2) + (dotimes (s1-3 8) + (set! (-> s2-1 quad) (-> s5-5 quad)) + (curve-get-pos! s5-5 (* (-> (new 'static 'array float 1 0.125) 0) (the float (+ s1-3 1))) s3-2) + (vector+! s5-5 s5-5 s4-2) + (camera-line s2-1 s5-5 (new 'static 'vector4w :z #xff :w #x80)) + ) + (curve-get-pos! s5-5 (-> *CAM_LAYOUT-bank* intro-t) s3-2) + (vector+! s5-5 s5-5 s4-2) + (camera-cross + (new 'static 'vector :y 1024.0) + (new 'static 'vector :z 1024.0) + s5-5 + (new 'static 'vector4w :z #xff :w #x80) + (-> (new 'static 'array float 1 4096.0) 0) + ) + (curve-get-pos! s5-5 (cam-slave-get-float arg0 'intro-exitValue (-> (new 'static 'array float 1 0.0) 0)) s3-2) + (vector+! s5-5 s5-5 s4-2) + (camera-cross + (new 'static 'vector :y 1024.0) + (new 'static 'vector :z 1024.0) + s5-5 + (new 'static 'vector4w :z #xff :w #x80) + (-> (new 'static 'array float 1 4096.0) 0) + ) ) - ) - (cond - ((cam-slave-get-vector-with-offset arg0 s4-2 'pivot) - (curve-get-pos! s5-5 (-> (new 'static 'array float 1 1.0) 0) s3-2) - (vector-! s4-2 s4-2 s5-5) - ) - ((get-curve-data! - arg0 - s1-2 - 'campath - 'campath-k - (the-as float -1000000000.0) - ) - (curve-get-pos! s4-2 (-> (new 'static 'array float 1 0.0) 0) s1-2) - (curve-get-pos! s5-5 (-> (new 'static 'array float 1 1.0) 0) s3-2) - (vector-! s4-2 s4-2 s5-5) - ) - ((cam-slave-get-vector-with-offset arg0 s4-2 'trans) - (curve-get-pos! s5-5 (-> (new 'static 'array float 1 1.0) 0) s3-2) - (vector-! s4-2 s4-2 s5-5) - ) - ) - (curve-get-pos! s5-5 (-> (new 'static 'array float 1 0.0) 0) s3-2) - (vector+! s5-5 s5-5 s4-2) - (dotimes (s1-3 8) - (set! (-> s2-1 quad) (-> s5-5 quad)) - (curve-get-pos! - s5-5 - (* (-> (new 'static 'array float 1 0.125) 0) (the float (+ s1-3 1))) - s3-2 - ) - (vector+! s5-5 s5-5 s4-2) - (camera-line s2-1 s5-5 (new 'static 'vector4w :z #xff :w #x80)) - ) - (curve-get-pos! s5-5 (-> *CAM_LAYOUT-bank* intro-t) s3-2) - (vector+! s5-5 s5-5 s4-2) - (camera-cross - (new 'static 'vector :y 1024.0) - (new 'static 'vector :z 1024.0) - s5-5 - (new 'static 'vector4w :z #xff :w #x80) - (-> (new 'static 'array float 1 4096.0) 0) - ) - (curve-get-pos! - s5-5 - (cam-slave-get-float - arg0 - 'intro-exitValue - (-> (new 'static 'array float 1 0.0) 0) - ) - s3-2 - ) - (vector+! s5-5 s5-5 s4-2) - (camera-cross - (new 'static 'vector :y 1024.0) - (new 'static 'vector :z 1024.0) - s5-5 - (new 'static 'vector4w :z #xff :w #x80) - (-> (new 'static 'array float 1 4096.0) 0) - ) ) - ) - (let - ((s2-3 - (res-lump-data - arg0 - 'campoints - pointer - :time - (-> (new 'static 'array float 1 1.0) 0) + (let ((s2-3 (res-lump-data arg0 'campoints pointer :time (-> (new 'static 'array float 1 1.0) 0))) + (v1-95 (res-lump-struct arg0 'campoints-offset structure :time (the-as float -1000000000.0))) + (s4-3 (new 'stack-no-clear 'vector)) + (s3-3 (new 'stack-no-clear 'vector)) + (s5-6 (new 'static 'vector)) + ) + (when (and s2-3 (or (!= *camera-layout-blink* 'index) (logtest? (-> *display* real-actual-frame-counter) 8))) + (cond + (v1-95 + (vector+! s4-3 (the-as vector (&+ s2-3 0)) (the-as vector v1-95)) + (vector+! s3-3 (the-as vector (&+ s2-3 16)) (the-as vector v1-95)) + ) + (else + (set! (-> s4-3 quad) (-> (the-as (pointer uint128) (&+ s2-3 0)))) + (set! (-> s3-3 quad) (-> (the-as (pointer uint128) (&+ s2-3 16)))) + ) + ) + (camera-line s4-3 s3-3 (new 'static 'vector4w :y #x80 :w #x80)) + (vector-lerp-clamp! s5-6 s4-3 s3-3 (-> *CAM_LAYOUT-bank* spline-t)) + (camera-cross + (new 'static 'vector :y 1024.0) + (new 'static 'vector :z 1024.0) + s5-6 + (new 'static 'vector4w :x #xff :y #xff :w #x80) + (-> (new 'static 'array float 1 4096.0) 0) + ) ) - ) - (v1-95 - (res-lump-struct - arg0 - 'campoints-offset - structure - :time - (the-as float -1000000000.0) - ) - ) - (s4-3 (new 'stack-no-clear 'vector)) - (s3-3 (new 'stack-no-clear 'vector)) - (s5-6 (new 'static 'vector)) ) - (when - (and - s2-3 - (or - (!= *camera-layout-blink* 'index) - (logtest? (-> *display* real-actual-frame-counter) 8) + (let ((s4-4 (res-lump-data arg0 'focalpull pointer :time (-> (new 'static 'array float 1 1.0) 0))) + (s5-7 (new 'static 'vector)) + ) + (when (and s4-4 (or (!= *camera-layout-blink* 'focalpull) (logtest? (-> *display* real-actual-frame-counter) 8))) + (camera-line + (the-as vector (&+ s4-4 0)) + (the-as vector (&+ s4-4 16)) + (new 'static 'vector4w :y #xff :z #xff :w #x80) + ) + (vector-lerp-clamp! + s5-7 + (the-as vector (&+ s4-4 0)) + (the-as vector (&+ s4-4 16)) + (-> *CAM_LAYOUT-bank* spline-t) + ) + (camera-cross + (new 'static 'vector :y 1024.0) + (new 'static 'vector :z 1024.0) + s5-7 + (new 'static 'vector4w :y #xff :z #xff :w #x80) + (-> (new 'static 'array float 1 4096.0) 0) + ) ) - ) - (cond - (v1-95 - (vector+! s4-3 (the-as vector (&+ s2-3 0)) (the-as vector v1-95)) - (vector+! s3-3 (the-as vector (&+ s2-3 16)) (the-as vector v1-95)) - ) - (else - (set! (-> s4-3 quad) (-> (the-as (pointer uint128) (&+ s2-3 0)))) - (set! (-> s3-3 quad) (-> (the-as (pointer uint128) (&+ s2-3 16)))) - ) - ) - (camera-line s4-3 s3-3 (new 'static 'vector4w :y #x80 :w #x80)) - (vector-lerp-clamp! s5-6 s4-3 s3-3 (-> *CAM_LAYOUT-bank* spline-t)) - (camera-cross - (new 'static 'vector :y 1024.0) - (new 'static 'vector :z 1024.0) - s5-6 - (new 'static 'vector4w :x #xff :y #xff :w #x80) - (-> (new 'static 'array float 1 4096.0) 0) - ) ) - ) - (let - ((s4-4 - (res-lump-data - arg0 - 'focalpull - pointer - :time - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (s5-7 (new 'static 'vector)) - ) - (when - (and - s4-4 - (or - (!= *camera-layout-blink* 'focalpull) - (logtest? (-> *display* real-actual-frame-counter) 8) - ) - ) - (camera-line - (the-as vector (&+ s4-4 0)) - (the-as vector (&+ s4-4 16)) - (new 'static 'vector4w :y #xff :z #xff :w #x80) - ) - (vector-lerp-clamp! - s5-7 - (the-as vector (&+ s4-4 0)) - (the-as vector (&+ s4-4 16)) - (-> *CAM_LAYOUT-bank* spline-t) - ) - (camera-cross - (new 'static 'vector :y 1024.0) - (new 'static 'vector :z 1024.0) - s5-7 - (new 'static 'vector4w :y #xff :z #xff :w #x80) - (-> (new 'static 'array float 1 4096.0) 0) - ) - ) - ) (let ((s5-8 (new 'stack 'interp-test-info)) (s4-5 (new-stack-vector0)) ) - (when - (and - (cam-slave-get-vector-with-offset arg0 (-> s5-8 origin) 'pivot) - (cam-slave-get-vector-with-offset arg0 (-> s5-8 to) 'align) - (cam-slave-get-vector-with-offset arg0 (-> s5-8 from) 'trans) - ) - (camera-line - (-> s5-8 from) - (-> s5-8 origin) - (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80) - ) - (camera-line - (-> s5-8 to) - (-> s5-8 origin) - (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80) - ) - (vector-! (-> s5-8 from) (-> s5-8 from) (-> s5-8 origin)) - (vector-! (-> s5-8 to) (-> s5-8 to) (-> s5-8 origin)) - (vector-cross! s4-5 (-> s5-8 from) (-> s5-8 to)) - (vector-normalize! s4-5 (-> (new 'static 'array float 1 8192.0) 0)) - (vector+! s4-5 s4-5 (-> s5-8 origin)) - (camera-line - (-> s5-8 origin) - s4-5 - (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80) - ) - (when (not (paused?)) - (+! (-> *CAM_LAYOUT-bank* debug-t) (-> *CAM_LAYOUT-bank* debug-step)) - (if - (< (-> (new 'static 'array float 1 1.0) 0) (-> *CAM_LAYOUT-bank* debug-t)) - (set! (-> *CAM_LAYOUT-bank* debug-t) 0.0) + (when (and + (cam-slave-get-vector-with-offset arg0 (-> s5-8 origin) 'pivot) + (cam-slave-get-vector-with-offset arg0 (-> s5-8 to) 'align) + (cam-slave-get-vector-with-offset arg0 (-> s5-8 from) 'trans) + ) + (camera-line (-> s5-8 from) (-> s5-8 origin) (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80)) + (camera-line (-> s5-8 to) (-> s5-8 origin) (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80)) + (vector-! (-> s5-8 from) (-> s5-8 from) (-> s5-8 origin)) + (vector-! (-> s5-8 to) (-> s5-8 to) (-> s5-8 origin)) + (vector-cross! s4-5 (-> s5-8 from) (-> s5-8 to)) + (vector-normalize! s4-5 (-> (new 'static 'array float 1 8192.0) 0)) + (vector+! s4-5 s4-5 (-> s5-8 origin)) + (camera-line (-> s5-8 origin) s4-5 (new 'static 'vector4w :x #x80 :y #x80 :z #x80 :w #x80)) + (when (not (paused?)) + (+! (-> *CAM_LAYOUT-bank* debug-t) (-> *CAM_LAYOUT-bank* debug-step)) + (if (< (-> (new 'static 'array float 1 1.0) 0) (-> *CAM_LAYOUT-bank* debug-t)) + (set! (-> *CAM_LAYOUT-bank* debug-t) 0.0) + ) + ) + (set! (-> s5-8 axis) #f) + (set! (-> s5-8 disp) "li") + (set! (-> s5-8 color) (new 'static 'vector4w :x #xff :w #x80)) + (interp-test (the-as (function vector vector vector float vector float none) vector-lerp!) s5-8) + (set! (-> s5-8 disp) "si") + (set! (-> s5-8 color) (new 'static 'vector4w :y #xff :w #x80)) + (interp-test (the-as (function vector vector vector float vector float none) v-slrp!) s5-8) + (set! (-> s5-8 disp) "si2") + (set! (-> s5-8 color) (new 'static 'vector4w :z #xff :w #x80)) + (interp-test (the-as (function vector vector vector float vector float none) v-slrp2!) s5-8) + (set! (-> s5-8 disp) "si3") + (set! (-> s5-8 color) (new 'static 'vector4w :x #xff :z #xff :w #x80)) + (interp-test-deg (the-as (function vector vector vector vector float none) v-slrp3!) s5-8) + (set! (-> s5-8 axis) (-> *camera* local-down)) + (set! (-> s5-8 disp) "si2d") + (set! (-> s5-8 color) (new 'static 'vector4w :y #xff :z #xff :w #x80)) + (interp-test (the-as (function vector vector vector float vector float none) v-slrp2!) s5-8) + (set! (-> s5-8 disp) "si3d") + (set! (-> s5-8 color) (new 'static 'vector4w :x #xff :y #xff :w #x80)) + (interp-test-deg (the-as (function vector vector vector vector float none) v-slrp3!) s5-8) ) - ) - (set! (-> s5-8 axis) #f) - (set! (-> s5-8 disp) "li") - (set! (-> s5-8 color) (new 'static 'vector4w :x #xff :w #x80)) - (interp-test - (the-as - (function vector vector vector float vector float none) - vector-lerp! - ) - s5-8 - ) - (set! (-> s5-8 disp) "si") - (set! (-> s5-8 color) (new 'static 'vector4w :y #xff :w #x80)) - (interp-test - (the-as (function vector vector vector float vector float none) v-slrp!) - s5-8 - ) - (set! (-> s5-8 disp) "si2") - (set! (-> s5-8 color) (new 'static 'vector4w :z #xff :w #x80)) - (interp-test - (the-as (function vector vector vector float vector float none) v-slrp2!) - s5-8 - ) - (set! (-> s5-8 disp) "si3") - (set! (-> s5-8 color) (new 'static 'vector4w :x #xff :z #xff :w #x80)) - (interp-test-deg - (the-as (function vector vector vector vector float none) v-slrp3!) - s5-8 - ) - (set! (-> s5-8 axis) (-> *camera* local-down)) - (set! (-> s5-8 disp) "si2d") - (set! (-> s5-8 color) (new 'static 'vector4w :y #xff :z #xff :w #x80)) - (interp-test - (the-as (function vector vector vector float vector float none) v-slrp2!) - s5-8 - ) - (set! (-> s5-8 disp) "si3d") - (set! (-> s5-8 color) (new 'static 'vector4w :x #xff :y #xff :w #x80)) - (interp-test-deg - (the-as (function vector vector vector vector float none) v-slrp3!) - s5-8 - ) ) - ) ) ;; definition for function clmf-button-test @@ -1171,11 +947,7 @@ ;; definition for function clmf-implement (defun clmf-implement () - (cam-layout-print - 16 - *camera-layout-message-ypos* - "button not implemented yet" - ) + (cam-layout-print 16 *camera-layout-message-ypos* "button not implemented yet") (set! *camera-layout-message-ypos* (+ *camera-layout-message-ypos* 8)) (set! *camera-read-analog* #f) #t @@ -1187,122 +959,91 @@ (vector-reset! arg0) (vector-reset! arg1) (cond - ((logtest? (-> *cpad-list* cpads arg2 button0-abs 0) (pad-buttons l3)) - (set! - (-> arg0 z) - (- - (-> arg0 z) - (analog-input - (the-as int (-> *cpad-list* cpads arg2 rightx)) - (-> (new 'static 'array float 1 128.0) 0) - (-> (new 'static 'array float 1 48.0) 0) - (-> (new 'static 'array float 1 110.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) + ((logtest? (-> *cpad-list* cpads arg2 button0-abs 0) (pad-buttons l3)) + (set! (-> arg0 z) (- (-> arg0 z) (analog-input + (the-as int (-> *cpad-list* cpads arg2 rightx)) + (-> (new 'static 'array float 1 128.0) 0) + (-> (new 'static 'array float 1 48.0) 0) + (-> (new 'static 'array float 1 110.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + ) + ) + ) ) - ) - (else - (set! - (-> arg0 y) - (- - (-> arg0 y) - (analog-input - (the-as int (-> *cpad-list* cpads arg2 rightx)) - (-> (new 'static 'array float 1 128.0) 0) - (-> (new 'static 'array float 1 48.0) 0) - (-> (new 'static 'array float 1 110.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - ) - (+! - (-> arg0 x) - (analog-input - (the-as int (-> *cpad-list* cpads arg2 righty)) - (-> (new 'static 'array float 1 128.0) 0) - (-> (new 'static 'array float 1 48.0) 0) - (-> (new 'static 'array float 1 110.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (set! - (-> arg1 x) - (- - (-> arg1 x) - (analog-input - (the-as int (-> *cpad-list* cpads arg2 leftx)) - (-> (new 'static 'array float 1 128.0) 0) - (-> (new 'static 'array float 1 48.0) 0) - (-> (new 'static 'array float 1 110.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - ) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg2 button0-abs 0) (pad-buttons r1)) - (set! - (-> arg1 y) - (+ - 0.5 - (analog-input - (the-as int (-> *cpad-list* cpads arg2 abutton 9)) - (-> (new 'static 'array float 1 0.0) 0) - (-> (new 'static 'array float 1 32.0) 0) - (-> (new 'static 'array float 1 230.0) 0) - (the-as float 0.5) - ) - (-> arg1 y) - ) - ) - ) - ) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg2 button0-abs 0) (pad-buttons l1)) - (set! - (-> arg1 y) - (- - (-> arg1 y) - (+ - 0.5 - (analog-input - (the-as int (-> *cpad-list* cpads arg2 abutton 8)) - (-> (new 'static 'array float 1 0.0) 0) - (-> (new 'static 'array float 1 32.0) 0) - (-> (new 'static 'array float 1 230.0) 0) - (the-as float 0.5) + (else + (set! (-> arg0 y) (- (-> arg0 y) (analog-input + (the-as int (-> *cpad-list* cpads arg2 rightx)) + (-> (new 'static 'array float 1 128.0) 0) + (-> (new 'static 'array float 1 48.0) 0) + (-> (new 'static 'array float 1 110.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + ) + ) + ) + (+! (-> arg0 x) (analog-input + (the-as int (-> *cpad-list* cpads arg2 righty)) + (-> (new 'static 'array float 1 128.0) 0) + (-> (new 'static 'array float 1 48.0) 0) + (-> (new 'static 'array float 1 110.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + ) ) - ) + (set! (-> arg1 x) (- (-> arg1 x) (analog-input + (the-as int (-> *cpad-list* cpads arg2 leftx)) + (-> (new 'static 'array float 1 128.0) 0) + (-> (new 'static 'array float 1 48.0) 0) + (-> (new 'static 'array float 1 110.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + ) + ) + ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg2 button0-abs 0) (pad-buttons r1)) + (set! (-> arg1 y) (+ 0.5 + (analog-input + (the-as int (-> *cpad-list* cpads arg2 abutton 9)) + (-> (new 'static 'array float 1 0.0) 0) + (-> (new 'static 'array float 1 32.0) 0) + (-> (new 'static 'array float 1 230.0) 0) + (the-as float 0.5) + ) + (-> arg1 y) + ) + ) + ) ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg2 button0-abs 0) (pad-buttons l1)) + (set! (-> arg1 y) (- (-> arg1 y) (+ 0.5 (analog-input + (the-as int (-> *cpad-list* cpads arg2 abutton 8)) + (-> (new 'static 'array float 1 0.0) 0) + (-> (new 'static 'array float 1 32.0) 0) + (-> (new 'static 'array float 1 230.0) 0) + (the-as float 0.5) + ) + ) + ) + ) + ) + ) + (set! (-> arg1 z) (- (-> arg1 z) (analog-input + (the-as int (-> *cpad-list* cpads arg2 lefty)) + (-> (new 'static 'array float 1 128.0) 0) + (-> (new 'static 'array float 1 48.0) 0) + (-> (new 'static 'array float 1 110.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + ) + ) + ) ) - ) - (set! - (-> arg1 z) - (- - (-> arg1 z) - (analog-input - (the-as int (-> *cpad-list* cpads arg2 lefty)) - (-> (new 'static 'array float 1 128.0) 0) - (-> (new 'static 'array float 1 48.0) 0) - (-> (new 'static 'array float 1 110.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - ) ) - ) (let ((s5-1 (new-stack-matrix0))) - (let ((a2-8 (new-stack-vector0))) - (set! (-> a2-8 y) -1.0) - (forward-down-nopitch->inv-matrix - s5-1 - (-> *math-camera* inv-camera-rot vector 2) - a2-8 - ) + (let ((a2-8 (new-stack-vector0))) + (set! (-> a2-8 y) -1.0) + (forward-down-nopitch->inv-matrix s5-1 (-> *math-camera* inv-camera-rot vector 2) a2-8) + ) + (vector-matrix*! arg1 arg1 s5-1) ) - (vector-matrix*! arg1 arg1 s5-1) - ) arg1 ) @@ -1310,173 +1051,96 @@ ;; Used lq/sq (defbehavior clmf-pos-rot cam-layout ((arg0 symbol) (arg1 symbol)) (local-vars (s2-0 structure) (s3-1 structure) (sv-192 matrix)) - (cam-layout-print - 16 - *camera-layout-message-ypos* - "x/z pos: left stick, down: l1, up: r1" - ) + (cam-layout-print 16 *camera-layout-message-ypos* "x/z pos: left stick, down: l1, up: r1") (set! *camera-layout-message-ypos* (+ *camera-layout-message-ypos* 8)) (when (and arg1 (nonzero? arg1)) - (cam-layout-print 16 *camera-layout-message-ypos* "x/y rot: right stick") - (set! *camera-layout-message-ypos* (+ *camera-layout-message-ypos* 8)) - (cam-layout-print - 16 - *camera-layout-message-ypos* - "z rot: press left stick & move right" + (cam-layout-print 16 *camera-layout-message-ypos* "x/y rot: right stick") + (set! *camera-layout-message-ypos* (+ *camera-layout-message-ypos* 8)) + (cam-layout-print 16 *camera-layout-message-ypos* "z rot: press left stick & move right") + (set! *camera-layout-message-ypos* (+ *camera-layout-message-ypos* 8)) ) - (set! *camera-layout-message-ypos* (+ *camera-layout-message-ypos* 8)) - ) (let ((s5-0 (new-stack-vector0)) (s4-0 (new-stack-vector0)) ) - (set! s3-1 (cond - ((or (zero? arg0) (not arg0)) - #f + (set! s3-1 + (cond + ((or (zero? arg0) (not arg0)) + #f + ) + (else + (if (not (res-lump-struct (-> self cam-entity) arg0 structure :time (the-as float -1000000000.0))) + (add-data! + (-> self cam-entity) + (new 'static 'res-tag :name arg0 :key-frame -1000000000.0 :elt-count #x1 :inlined? #x1 :elt-type vector) + (the-as pointer (new 'static 'vector)) + ) + ) + (set! s3-1 (res-lump-struct (-> self cam-entity) arg0 structure :time (the-as float -1000000000.0))) + (when (and (not s3-1) (logtest? (-> *display* real-actual-frame-counter) 8)) + (clear *temp-string*) + (format *temp-string* "ERROR : can't add ~A" 'vector) + (cam-layout-print 120 100 *temp-string*) ) - (else - (if - (not - (res-lump-struct - (-> self cam-entity) - arg0 - structure - :time - (the-as float -1000000000.0) - ) + s3-1 + ) + ) + ) + (set! s2-0 + (cond + ((or (zero? arg1) (not arg1)) + #f + ) + (else + (if (not (res-lump-struct (-> self cam-entity) arg1 structure :time (the-as float -1000000000.0))) + (add-data! + (-> self cam-entity) + (new 'static 'res-tag :name arg1 :key-frame -1000000000.0 :elt-count #x1 :inlined? #x1 :elt-type quaternion) + (the-as pointer (quaternion-identity! (new 'static 'quaternion))) + ) ) - (add-data! - (-> self cam-entity) - (new 'static 'res-tag - :name arg0 - :key-frame -1000000000.0 - :elt-count #x1 - :inlined? #x1 - :elt-type vector - ) - (the-as pointer (new 'static 'vector)) - ) - ) - (set! - s3-1 - (res-lump-struct - (-> self cam-entity) - arg0 - structure - :time - (the-as float -1000000000.0) - ) - ) - (when - (and - (not s3-1) - (logtest? (-> *display* real-actual-frame-counter) 8) - ) - (clear *temp-string*) - (format *temp-string* "ERROR : can't add ~A" 'vector) - (cam-layout-print 120 100 *temp-string*) - ) - s3-1 + (set! s2-0 (res-lump-struct (-> self cam-entity) arg1 structure :time (the-as float -1000000000.0))) + (when (and (not s2-0) (logtest? (-> *display* real-actual-frame-counter) 8)) + (clear *temp-string*) + (format *temp-string* "ERROR : can't add ~A" 'quaternion) + (cam-layout-print 120 100 *temp-string*) ) - ) - ) - (set! s2-0 (cond - ((or (zero? arg1) (not arg1)) - #f - ) - (else - (if - (not - (res-lump-struct - (-> self cam-entity) - arg1 - structure - :time - (the-as float -1000000000.0) - ) - ) - (add-data! - (-> self cam-entity) - (new 'static 'res-tag - :name arg1 - :key-frame -1000000000.0 - :elt-count #x1 - :inlined? #x1 - :elt-type quaternion - ) - (the-as - pointer - (quaternion-identity! (new 'static 'quaternion)) - ) - ) - ) - (set! - s2-0 - (res-lump-struct - (-> self cam-entity) - arg1 - structure - :time - (the-as float -1000000000.0) - ) - ) - (when - (and - (not s2-0) - (logtest? (-> *display* real-actual-frame-counter) 8) - ) - (clear *temp-string*) - (format *temp-string* "ERROR : can't add ~A" 'quaternion) - (cam-layout-print 120 100 *temp-string*) - ) - s2-0 - ) - ) - ) - (let ((s1-1 (new 'stack-no-clear 'matrix))) - (set! sv-192 (new 'stack-no-clear 'matrix)) - (let ((s0-1 (new 'stack-no-clear 'vector))) - (if (not s3-1) - (return #f) - ) - (clmf-input s5-0 s4-0 0) - (vector+float*! - (the-as vector s3-1) - (the-as vector s3-1) - s4-0 - (the-as float 409.6) - ) - (cond - ((not arg1) - (the-as quaternion #f) - ) - ((zero? arg1) - (the-as quaternion #f) - ) - (else - (cam-slave-get-rot (the-as entity-actor (-> self cam-entity)) sv-192) - (vector-float*! s5-0 s5-0 100.0) - (matrix-rotate-x! s1-1 (- (-> s5-0 x))) - (matrix*! sv-192 s1-1 sv-192) - (matrix-rotate-y! s1-1 (-> s5-0 y)) - (matrix*! sv-192 sv-192 s1-1) - (matrix-rotate-z! s1-1 (- (-> s5-0 z))) - (matrix*! sv-192 s1-1 sv-192) - (matrix->quaternion (the-as quaternion s0-1) sv-192) - (quaternion-inverse! - (the-as quaternion s2-0) - (the-as quaternion (-> self cam-entity connect)) + s2-0 + ) + ) + ) + (let ((s1-1 (new 'stack-no-clear 'matrix))) + (set! sv-192 (new 'stack-no-clear 'matrix)) + (let ((s0-1 (new 'stack-no-clear 'vector))) + (if (not s3-1) + (return #f) + ) + (clmf-input s5-0 s4-0 0) + (vector+float*! (the-as vector s3-1) (the-as vector s3-1) s4-0 (the-as float 409.6)) + (cond + ((not arg1) + (the-as quaternion #f) + ) + ((zero? arg1) + (the-as quaternion #f) + ) + (else + (cam-slave-get-rot (the-as entity-actor (-> self cam-entity)) sv-192) + (vector-float*! s5-0 s5-0 100.0) + (matrix-rotate-x! s1-1 (- (-> s5-0 x))) + (matrix*! sv-192 s1-1 sv-192) + (matrix-rotate-y! s1-1 (-> s5-0 y)) + (matrix*! sv-192 sv-192 s1-1) + (matrix-rotate-z! s1-1 (- (-> s5-0 z))) + (matrix*! sv-192 s1-1 sv-192) + (matrix->quaternion (the-as quaternion s0-1) sv-192) + (quaternion-inverse! (the-as quaternion s2-0) (the-as quaternion (-> self cam-entity connect))) + (quaternion*! (the-as quaternion s2-0) (the-as quaternion s0-1) (the-as quaternion s2-0)) + (quaternion-normalize! (the-as quaternion s2-0)) + ) + ) ) - (quaternion*! - (the-as quaternion s2-0) - (the-as quaternion s0-1) - (the-as quaternion s2-0) - ) - (quaternion-normalize! (the-as quaternion s2-0)) - ) ) - ) ) - ) (set! *camera-read-analog* #f) #t ) @@ -1484,15 +1148,12 @@ ;; definition for function clmf-next-volume (defbehavior clmf-next-volume cam-layout ((arg0 int)) (if (zero? (-> self num-volumes)) - (return #f) - ) - (set! - (-> self cur-volume) - (mod (+ arg0 (-> self cur-volume)) (-> self num-volumes)) - ) + (return #f) + ) + (set! (-> self cur-volume) (mod (+ arg0 (-> self cur-volume)) (-> self num-volumes))) (while (< (-> self cur-volume) 0) - (+! (-> self cur-volume) (-> self num-volumes)) - ) + (+! (-> self cur-volume) (-> self num-volumes)) + ) #t ) @@ -1502,22 +1163,22 @@ (cam-layout-print 16 *camera-layout-message-ypos* "dpad selects volume") (set! *camera-layout-message-ypos* (+ *camera-layout-message-ypos* 8)) (cond - ((cpad-pressed? 0 down) - (set! a0-1 1) + ((cpad-pressed? 0 down) + (set! a0-1 1) + ) + ((cpad-pressed? 0 right) + (set! a0-1 1) + ) + ((cpad-pressed? 0 up) + (set! a0-1 -1) + ) + ((cpad-pressed? 0 left) + (set! a0-1 -1) + ) + (else + (set! a0-1 0) + ) ) - ((cpad-pressed? 0 right) - (set! a0-1 1) - ) - ((cpad-pressed? 0 up) - (set! a0-1 -1) - ) - ((cpad-pressed? 0 left) - (set! a0-1 -1) - ) - (else - (set! a0-1 0) - ) - ) (clmf-next-volume a0-1) (set! *camera-read-analog* #f) #t @@ -1536,61 +1197,55 @@ ;; definition for function clmf-next-entity (defbehavior clmf-next-entity cam-layout ((arg0 int)) (let ((v1-0 (/ arg0 8))) - (when (zero? (-> self num-entities)) - (set! (-> self cam-entity) #f) - (return #f) + (when (zero? (-> self num-entities)) + (set! (-> self cam-entity) #f) + (return #f) + ) + (if (= (- v1-0) (-> self num-entities)) + (set! v1-0 -1) + ) + (if (= v1-0 (-> self num-entities)) + (set! v1-0 1) + ) + (set! (-> self cur-entity) (mod (+ v1-0 (-> self cur-entity)) (-> self num-entities))) ) - (if (= (- v1-0) (-> self num-entities)) - (set! v1-0 -1) - ) - (if (= v1-0 (-> self num-entities)) - (set! v1-0 1) - ) - (set! - (-> self cur-entity) - (mod (+ v1-0 (-> self cur-entity)) (-> self num-entities)) - ) - ) (while (< (-> self cur-entity) 0) - (+! (-> self cur-entity) (-> self num-entities)) - ) + (+! (-> self cur-entity) (-> self num-entities)) + ) (set! *last-cur-entity* (-> self cur-entity)) (let ((v1-8 (-> self cur-entity)) (a0-13 (-> *camera-engine* alive-list next0)) ) - *camera-engine* - (let ((a1-3 (-> a0-13 next0))) - (while (!= a0-13 (-> *camera-engine* alive-list-end)) - (let ((a0-14 (-> (the-as connection a0-13) param1))) - (cond - ((zero? v1-8) - (set! (-> self cam-entity) (the-as entity-camera a0-14)) - (set! *volume-descriptor-current* 0) - (set! *volume-point-current* 0) - (set! *volume-normal-current* 0) - (set! (-> self num-volumes) 0) - (cam-layout-entity-volume-info-create (-> self cam-entity) 'vol) - (set! (-> self first-pvol) (-> self num-volumes)) - (cam-layout-entity-volume-info-create (-> self cam-entity) 'pvol) - (set! (-> self first-cutoutvol) (-> self num-volumes)) - (cam-layout-entity-volume-info-create (-> self cam-entity) 'cutoutvol) - (set! - (-> *CAM_LAYOUT-bank* intro-step) - (cam-slave-get-intro-step (-> self cam-entity)) - ) - (return #f) + *camera-engine* + (let ((a1-3 (-> a0-13 next0))) + (while (!= a0-13 (-> *camera-engine* alive-list-end)) + (let ((a0-14 (-> (the-as connection a0-13) param1))) + (cond + ((zero? v1-8) + (set! (-> self cam-entity) (the-as entity-camera a0-14)) + (set! *volume-descriptor-current* 0) + (set! *volume-point-current* 0) + (set! *volume-normal-current* 0) + (set! (-> self num-volumes) 0) + (cam-layout-entity-volume-info-create (-> self cam-entity) 'vol) + (set! (-> self first-pvol) (-> self num-volumes)) + (cam-layout-entity-volume-info-create (-> self cam-entity) 'pvol) + (set! (-> self first-cutoutvol) (-> self num-volumes)) + (cam-layout-entity-volume-info-create (-> self cam-entity) 'cutoutvol) + (set! (-> *CAM_LAYOUT-bank* intro-step) (cam-slave-get-intro-step (-> self cam-entity))) + (return #f) + ) + (else + (+! v1-8 -1) + ) + ) + ) + (set! a0-13 a1-3) + *camera-engine* + (set! a1-3 (-> a1-3 next0)) ) - (else - (+! v1-8 -1) - ) - ) ) - (set! a0-13 a1-3) - *camera-engine* - (set! a1-3 (-> a1-3 next0)) - ) ) - ) #t ) @@ -1643,16 +1298,9 @@ ;; Used lq/sq (defbehavior clmf-look-through cam-layout () (set! (-> *camera-other-fov* data) (cam-slave-get-fov (-> self cam-entity))) - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - *camera-other-trans* - 'trans - ) + (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) *camera-other-trans* 'trans) (set! (-> *camera-other-root* quad) (-> *camera-other-trans* quad)) - (cam-slave-get-rot - (the-as entity-actor (-> self cam-entity)) - *camera-other-matrix* - ) + (cam-slave-get-rot (the-as entity-actor (-> self cam-entity)) *camera-other-matrix*) (set! *camera-look-through-other* 10) (set! *camera-read-analog* #f) #f @@ -1661,1540 +1309,1101 @@ ;; definition for function fov->maya (defun fov->maya ((arg0 float)) (if (= arg0 0.0) - (-> (new 'static 'array float 1 0.0) 0) - (/ 12.700255 (tan (* 0.5 arg0))) - ) + (-> (new 'static 'array float 1 0.0) 0) + (/ 12.700255 (tan (* 0.5 arg0))) + ) ) ;; definition for function cam-layout-save-cam-rot ;; INFO: Return type mismatch object vs string. (defun cam-layout-save-cam-rot ((arg0 symbol) (arg1 string) (arg2 entity-actor)) (let ((s3-0 (-> arg2 quat)) - (s5-0 - (res-lump-struct - arg2 - 'rot-offset - vector - :time - (the-as float -1000000000.0) - ) - ) + (s5-0 (res-lump-struct arg2 'rot-offset vector :time (the-as float -1000000000.0))) ) - (if arg0 - (format - #t - "setup rot ~f ~f ~f ~f~%" - (-> s3-0 x) - (-> s3-0 y) - (-> s3-0 z) - (-> s3-0 w) - ) - ) - (the-as string (when s5-0 - (if arg0 - (format - #t - "rot offset ~f ~f ~f ~f~%" - (-> s5-0 x) - (-> s5-0 y) - (-> s5-0 z) - (-> s5-0 w) + (if arg0 + (format #t "setup rot ~f ~f ~f ~f~%" (-> s3-0 x) (-> s3-0 y) (-> s3-0 z) (-> s3-0 w)) + ) + (the-as string (when s5-0 + (if arg0 + (format #t "rot offset ~f ~f ~f ~f~%" (-> s5-0 x) (-> s5-0 y) (-> s5-0 z) (-> s5-0 w)) + ) + (format + arg1 + " tag rot-offset ~f ~f ~f ~f // vector (quaternion)~%" + (-> s5-0 x) + (-> s5-0 y) + (-> s5-0 z) + (-> s5-0 w) + ) ) - ) - (format - arg1 - " tag rot-offset ~f ~f ~f ~f // vector (quaternion)~%" - (-> s5-0 x) - (-> s5-0 y) - (-> s5-0 z) - (-> s5-0 w) - ) - ) + ) ) - ) ) ;; definition for function cam-layout-save-cam-trans ;; INFO: Return type mismatch object vs string. ;; Used lq/sq -(defun - cam-layout-save-cam-trans - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) +(defun cam-layout-save-cam-trans ((arg0 symbol) (arg1 string) (arg2 entity-actor)) (let ((s1-0 (-> arg2 trans)) (s5-0 (method-of-type res-lump get-property-struct)) (s2-0 arg2) ) - (format (clear *res-key-string*) "~S~S" 'trans '-offset) - (let - ((s5-1 - (the-as - vector - (s5-0 - s2-0 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - #f - (the-as (pointer res-tag) #f) - *res-static-buf* + (format (clear *res-key-string*) "~S~S" 'trans '-offset) + (let ((s5-1 (the-as vector (s5-0 + s2-0 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + #f + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + ) + (let ((s2-1 (res-lump-struct arg2 'translation_info vector :time (the-as float -1000000000.0))) + (s3-1 (new-stack-vector0)) + ) + (if arg0 + (format #t "setup trans ~M ~M ~M (maya)~%" (-> s1-0 x) (-> s1-0 y) (-> s1-0 z)) + ) + (set! (-> s3-1 quad) (-> s1-0 quad)) + (when (the-as structure s5-1) + (if arg0 + (format #t "offset ~M ~M ~M (added)~%" (-> s5-1 x) (-> s5-1 y) (-> s5-1 z)) + ) + (vector+! s3-1 s3-1 s5-1) + ) + (when s2-1 + (if arg0 + (format #t "level-trans ~M ~M ~M (subtracted)~%" (-> s2-1 x) (-> s2-1 y) (-> s2-1 z)) + ) + (vector-! s3-1 s3-1 s2-1) + ) + (set! s2-1 (the-as vector (or s5-1 s2-1))) + (set! arg0 (and (the-as symbol s2-1) arg0)) + (if arg0 + (format #t "final trans ~M ~M ~M (maya)~%" (-> s3-1 x) (-> s3-1 y) (-> s3-1 z)) + ) ) - ) + (the-as string (if s5-1 + (format + arg1 + " tag trans-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" + (-> s5-1 x) + (-> s5-1 y) + (-> s5-1 z) + ) + ) + ) ) - ) - (let - ((s2-1 - (res-lump-struct - arg2 - 'translation_info - vector - :time - (the-as float -1000000000.0) - ) - ) - (s3-1 (new-stack-vector0)) - ) - (if arg0 - (format - #t - "setup trans ~M ~M ~M (maya)~%" - (-> s1-0 x) - (-> s1-0 y) - (-> s1-0 z) - ) - ) - (set! (-> s3-1 quad) (-> s1-0 quad)) - (when (the-as structure s5-1) - (if arg0 - (format - #t - "offset ~M ~M ~M (added)~%" - (-> s5-1 x) - (-> s5-1 y) - (-> s5-1 z) - ) - ) - (vector+! s3-1 s3-1 s5-1) - ) - (when s2-1 - (if arg0 - (format - #t - "level-trans ~M ~M ~M (subtracted)~%" - (-> s2-1 x) - (-> s2-1 y) - (-> s2-1 z) - ) - ) - (vector-! s3-1 s3-1 s2-1) - ) - (set! s2-1 (the-as vector (or s5-1 s2-1))) - (set! arg0 (and (the-as symbol s2-1) arg0)) - (if arg0 - (format - #t - "final trans ~M ~M ~M (maya)~%" - (-> s3-1 x) - (-> s3-1 y) - (-> s3-1 z) - ) - ) - ) - (the-as string (if s5-1 - (format - arg1 - " tag trans-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" - (-> s5-1 x) - (-> s5-1 y) - (-> s5-1 z) - ) - ) - ) ) - ) ) ;; definition for function cam-layout-save-pivot ;; INFO: Return type mismatch object vs string. ;; Used lq/sq (defun cam-layout-save-pivot ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((s2-0 - (res-lump-struct arg2 'pivot vector :time (the-as float -1000000000.0)) - ) - (s3-0 (method-of-type res-lump get-property-struct)) - ) - (format (clear *res-key-string*) "~S~S" 'pivot '-offset) - (let - ((s5-1 - (the-as - vector - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - #f - (the-as (pointer res-tag) #f) - *res-static-buf* + (let ((s2-0 (res-lump-struct arg2 'pivot vector :time (the-as float -1000000000.0))) + (s3-0 (method-of-type res-lump get-property-struct)) ) - ) + (format (clear *res-key-string*) "~S~S" 'pivot '-offset) + (let ((s5-1 (the-as vector (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + #f + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (s3-1 (new-stack-vector0)) + ) + (the-as string (when s2-0 + (if s5-1 + (vector+! s3-1 s2-0 s5-1) + (set! (-> s3-1 quad) (-> s2-0 quad)) + ) + (if arg0 + (format #t "setup pivot ~M ~M ~M~%" (-> s2-0 x) (-> s2-0 y) (-> s2-0 z)) + ) + (when s5-1 + (when arg0 + (format #t "offset ~M ~M ~M~%" (-> s5-1 x) (-> s5-1 y) (-> s5-1 z)) + (format #t "final pivot ~M ~M ~M~%" (-> s3-1 x) (-> s3-1 y) (-> s3-1 z)) + ) + (format + arg1 + " tag pivot-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" + (-> s5-1 x) + (-> s5-1 y) + (-> s5-1 z) + ) + ) + ) + ) ) - (s3-1 (new-stack-vector0)) - ) - (the-as string (when s2-0 - (if s5-1 - (vector+! s3-1 s2-0 s5-1) - (set! (-> s3-1 quad) (-> s2-0 quad)) - ) - (if arg0 - (format - #t - "setup pivot ~M ~M ~M~%" - (-> s2-0 x) - (-> s2-0 y) - (-> s2-0 z) - ) - ) - (when s5-1 - (when arg0 - (format - #t - "offset ~M ~M ~M~%" - (-> s5-1 x) - (-> s5-1 y) - (-> s5-1 z) - ) - (format - #t - "final pivot ~M ~M ~M~%" - (-> s3-1 x) - (-> s3-1 y) - (-> s3-1 z) - ) - ) - (format - arg1 - " tag pivot-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" - (-> s5-1 x) - (-> s5-1 y) - (-> s5-1 z) - ) - ) - ) - ) ) - ) ) ;; definition for function cam-layout-save-align ;; INFO: Return type mismatch object vs string. ;; Used lq/sq (defun cam-layout-save-align ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((s2-0 - (res-lump-struct arg2 'align vector :time (the-as float -1000000000.0)) - ) - (s3-0 (method-of-type res-lump get-property-struct)) - ) - (format (clear *res-key-string*) "~S~S" 'align '-offset) - (let - ((s5-1 - (the-as - vector - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - #f - (the-as (pointer res-tag) #f) - *res-static-buf* + (let ((s2-0 (res-lump-struct arg2 'align vector :time (the-as float -1000000000.0))) + (s3-0 (method-of-type res-lump get-property-struct)) ) - ) + (format (clear *res-key-string*) "~S~S" 'align '-offset) + (let ((s5-1 (the-as vector (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + #f + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (s3-1 (new-stack-vector0)) + ) + (the-as string (when s2-0 + (if s5-1 + (vector+! s3-1 s2-0 s5-1) + (set! (-> s3-1 quad) (-> s2-0 quad)) + ) + (if arg0 + (format #t "setup align ~M ~M ~M~%" (-> s2-0 x) (-> s2-0 y) (-> s2-0 z)) + ) + (when s5-1 + (when arg0 + (format #t "offset ~M ~M ~M~%" (-> s5-1 x) (-> s5-1 y) (-> s5-1 z)) + (format #t "final align ~M ~M ~M~%" (-> s3-1 x) (-> s3-1 y) (-> s3-1 z)) + ) + (format + arg1 + " tag align-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" + (-> s5-1 x) + (-> s5-1 y) + (-> s5-1 z) + ) + ) + ) + ) ) - (s3-1 (new-stack-vector0)) - ) - (the-as string (when s2-0 - (if s5-1 - (vector+! s3-1 s2-0 s5-1) - (set! (-> s3-1 quad) (-> s2-0 quad)) - ) - (if arg0 - (format - #t - "setup align ~M ~M ~M~%" - (-> s2-0 x) - (-> s2-0 y) - (-> s2-0 z) - ) - ) - (when s5-1 - (when arg0 - (format - #t - "offset ~M ~M ~M~%" - (-> s5-1 x) - (-> s5-1 y) - (-> s5-1 z) - ) - (format - #t - "final align ~M ~M ~M~%" - (-> s3-1 x) - (-> s3-1 y) - (-> s3-1 z) - ) - ) - (format - arg1 - " tag align-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" - (-> s5-1 x) - (-> s5-1 y) - (-> s5-1 z) - ) - ) - ) - ) ) - ) ) ;; definition for function cam-layout-save-interesting ;; INFO: Return type mismatch object vs string. ;; Used lq/sq -(defun - cam-layout-save-interesting - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((s2-0 - (res-lump-struct - arg2 - 'interesting - vector - :time - (the-as float -1000000000.0) - ) - ) - (s3-0 (method-of-type res-lump get-property-struct)) - ) - (format (clear *res-key-string*) "~S~S" 'interesting '-offset) - (let - ((s5-1 - (the-as - vector - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - #f - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-interesting ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((s2-0 (res-lump-struct arg2 'interesting vector :time (the-as float -1000000000.0))) + (s3-0 (method-of-type res-lump get-property-struct)) ) - ) + (format (clear *res-key-string*) "~S~S" 'interesting '-offset) + (let ((s5-1 (the-as vector (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + #f + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (s3-1 (new-stack-vector0)) + ) + (the-as string (when s2-0 + (if s5-1 + (vector+! s3-1 s2-0 s5-1) + (set! (-> s3-1 quad) (-> s2-0 quad)) + ) + (if arg0 + (format #t "setup interesting ~M ~M ~M~%" (-> s2-0 x) (-> s2-0 y) (-> s2-0 z)) + ) + (when s5-1 + (when arg0 + (format #t "offset ~M ~M ~M~%" (-> s5-1 x) (-> s5-1 y) (-> s5-1 z)) + (format #t "final interesting ~M ~M ~M~%" (-> s3-1 x) (-> s3-1 y) (-> s3-1 z)) + ) + (format + arg1 + " tag interesting-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" + (-> s5-1 x) + (-> s5-1 y) + (-> s5-1 z) + ) + ) + ) + ) ) - (s3-1 (new-stack-vector0)) - ) - (the-as string (when s2-0 - (if s5-1 - (vector+! s3-1 s2-0 s5-1) - (set! (-> s3-1 quad) (-> s2-0 quad)) - ) - (if arg0 - (format - #t - "setup interesting ~M ~M ~M~%" - (-> s2-0 x) - (-> s2-0 y) - (-> s2-0 z) - ) - ) - (when s5-1 - (when arg0 - (format - #t - "offset ~M ~M ~M~%" - (-> s5-1 x) - (-> s5-1 y) - (-> s5-1 z) - ) - (format - #t - "final interesting ~M ~M ~M~%" - (-> s3-1 x) - (-> s3-1 y) - (-> s3-1 z) - ) - ) - (format - arg1 - " tag interesting-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" - (-> s5-1 x) - (-> s5-1 y) - (-> s5-1 z) - ) - ) - ) - ) ) - ) ) ;; definition for function cam-layout-save-fov ;; INFO: Return type mismatch object vs string. (defun cam-layout-save-fov ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'fov - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'fov + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'fov '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (cond + ((= f30-0 0.0) + (if arg0 + (format #t "setup fov deg 0.0 (defaults to 64.0)~%") + ) + (set! f30-0 11650.845) + ) + (arg0 + (format #t "setup fov deg ~R (~f in maya)~%" f30-0 (fov->maya f30-0)) + ) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~R~%" f28-0) + (format #t "final ~R (~f in maya) ~%" (+ f30-0 f28-0) (fov->maya (+ f30-0 f28-0))) + ) + (format arg1 " tag fov-offset DEG(~R) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'fov '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (cond - ((= f30-0 0.0) - (if arg0 - (format #t "setup fov deg 0.0 (defaults to 64.0)~%") - ) - (set! f30-0 11650.845) - ) - (arg0 - (format #t "setup fov deg ~R (~f in maya)~%" f30-0 (fov->maya f30-0)) - ) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~R~%" f28-0) - (format - #t - "final ~R (~f in maya) ~%" - (+ f30-0 f28-0) - (fov->maya (+ f30-0 f28-0)) - ) - ) - (format - arg1 - " tag fov-offset DEG(~R) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-focalpull ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-focalpull - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'focalPull - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-focalpull ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'focalPull + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'focalPull '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if arg0 + (format #t "setup focalPull deg ~R (~f in maya)~%" f30-0 (fov->maya f30-0)) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~R~%" f28-0) + (format #t "final ~R (~f in maya) ~%" (+ f30-0 f28-0) (fov->maya (+ f30-0 f28-0))) + ) + (format arg1 " tag focalPull-offset DEG(~R) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'focalPull '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (if arg0 - (format #t "setup focalPull deg ~R (~f in maya)~%" f30-0 (fov->maya f30-0)) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~R~%" f28-0) - (format - #t - "final ~R (~f in maya) ~%" - (+ f30-0 f28-0) - (fov->maya (+ f30-0 f28-0)) - ) - ) - (format - arg1 - " tag focalPull-offset DEG(~R) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-flags ;; INFO: Return type mismatch object vs string. (defun cam-layout-save-flags ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((s4-0 - (res-lump-value arg2 'flags uint128 :time (the-as float -1000000000.0)) - ) - (s5-0 (method-of-type res-lump get-property-value)) - (s1-0 arg2) - ) - (format (clear *res-key-string*) "~S~S" 'flags '-on) - (let - ((s5-1 - (s5-0 - s1-0 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - (s1-1 (method-of-type res-lump get-property-value)) - ) - (format (clear *res-key-string*) "~S~S" 'flags '-off) - (let - ((s3-1 - (s1-1 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* + (let ((s4-0 (res-lump-value arg2 'flags uint128 :time (the-as float -1000000000.0))) + (s5-0 (method-of-type res-lump get-property-value)) + (s1-0 arg2) + ) + (format (clear *res-key-string*) "~S~S" 'flags '-on) + (let ((s5-1 (s5-0 + s1-0 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s1-1 (method-of-type res-lump get-property-value)) + ) + (format (clear *res-key-string*) "~S~S" 'flags '-off) + (let ((s3-1 (s1-1 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (when arg0 + (format #t "setup flags ") + (cam-slave-options->string (the-as cam-slave-options s4-0) #t) + (format #t "~%") + (format #t "forced on ") + (cam-slave-options->string (the-as cam-slave-options s5-1) #t) + (format #t "~%") + (format #t "forced off ") + (cam-slave-options->string (the-as cam-slave-options s3-1) #t) + (format #t "~%") + (let ((s4-1 (logclear (logior s4-0 s5-1) s3-1))) + (format #t "final ") + (cam-slave-options->string (the-as cam-slave-options s4-1) #t) + ) + (format #t "~%") + ) + (format arg1 " tag flags-on 0x~X // int32~%" s5-1) + (the-as string (format arg1 " tag flags-off 0x~X // int32~%" s3-1)) ) - ) ) - (when arg0 - (format #t "setup flags ") - (cam-slave-options->string (the-as cam-slave-options s4-0) #t) - (format #t "~%") - (format #t "forced on ") - (cam-slave-options->string (the-as cam-slave-options s5-1) #t) - (format #t "~%") - (format #t "forced off ") - (cam-slave-options->string (the-as cam-slave-options s3-1) #t) - (format #t "~%") - (let ((s4-1 (logclear (logior s4-0 s5-1) s3-1))) - (format #t "final ") - (cam-slave-options->string (the-as cam-slave-options s4-1) #t) - ) - (format #t "~%") - ) - (format - arg1 - " tag flags-on 0x~X // int32~%" - s5-1 - ) - (the-as - string - (format - arg1 - " tag flags-off 0x~X // int32~%" - s3-1 - ) - ) - ) ) - ) ) ;; definition for function cam-layout-save-focalpull-flags ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-focalpull-flags - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((s4-0 - (res-lump-value - arg2 - 'focalpull-flags - uint128 - :time - (the-as float -1000000000.0) - ) - ) - (s5-0 (method-of-type res-lump get-property-value)) - (s1-0 arg2) - ) - (format (clear *res-key-string*) "~S~S" 'focalpull-flags '-on) - (let - ((s5-1 - (s5-0 - s1-0 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - (s1-1 (method-of-type res-lump get-property-value)) - ) - (format (clear *res-key-string*) "~S~S" 'focalpull-flags '-off) - (let - ((s3-1 - (s1-1 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-focalpull-flags ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((s4-0 (res-lump-value arg2 'focalpull-flags uint128 :time (the-as float -1000000000.0))) + (s5-0 (method-of-type res-lump get-property-value)) + (s1-0 arg2) + ) + (format (clear *res-key-string*) "~S~S" 'focalpull-flags '-on) + (let ((s5-1 (s5-0 + s1-0 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s1-1 (method-of-type res-lump get-property-value)) + ) + (format (clear *res-key-string*) "~S~S" 'focalpull-flags '-off) + (let ((s3-1 + (s1-1 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (when arg0 + (format #t "setup focalpull-flags ") + (cam-index-options->string (the-as cam-index-options s4-0) #t) + (format #t "~%") + (format #t "forced on ") + (cam-index-options->string (the-as cam-index-options s5-1) #t) + (format #t "~%") + (format #t "forced off ") + (cam-index-options->string (the-as cam-index-options s3-1) #t) + (format #t "~%") + (let ((s4-1 (logclear (logior s4-0 s5-1) s3-1))) + (format #t "final ") + (cam-index-options->string (the-as cam-index-options s4-1) #t) + ) + (format #t "~%") + ) + (format arg1 " tag focalpull-flags-on 0x~X // int32~%" s5-1) + (the-as + string + (format arg1 " tag focalpull-flags-off 0x~X // int32~%" s3-1) + ) ) - ) ) - (when arg0 - (format #t "setup focalpull-flags ") - (cam-index-options->string (the-as cam-index-options s4-0) #t) - (format #t "~%") - (format #t "forced on ") - (cam-index-options->string (the-as cam-index-options s5-1) #t) - (format #t "~%") - (format #t "forced off ") - (cam-index-options->string (the-as cam-index-options s3-1) #t) - (format #t "~%") - (let ((s4-1 (logclear (logior s4-0 s5-1) s3-1))) - (format #t "final ") - (cam-index-options->string (the-as cam-index-options s4-1) #t) - ) - (format #t "~%") - ) - (format - arg1 - " tag focalpull-flags-on 0x~X // int32~%" - s5-1 - ) - (the-as - string - (format - arg1 - " tag focalpull-flags-off 0x~X // int32~%" - s3-1 - ) - ) - ) ) - ) ) ;; definition for function cam-layout-save-campoints-flags ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-campoints-flags - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((s4-0 - (res-lump-value - arg2 - 'campoints-flags - uint128 - :time - (the-as float -1000000000.0) - ) - ) - (s5-0 (method-of-type res-lump get-property-value)) - (s1-0 arg2) - ) - (format (clear *res-key-string*) "~S~S" 'campoints-flags '-on) - (let - ((s5-1 - (s5-0 - s1-0 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - (s1-1 (method-of-type res-lump get-property-value)) - ) - (format (clear *res-key-string*) "~S~S" 'campoints-flags '-off) - (let - ((s3-1 - (s1-1 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-campoints-flags ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((s4-0 (res-lump-value arg2 'campoints-flags uint128 :time (the-as float -1000000000.0))) + (s5-0 (method-of-type res-lump get-property-value)) + (s1-0 arg2) + ) + (format (clear *res-key-string*) "~S~S" 'campoints-flags '-on) + (let ((s5-1 (s5-0 + s1-0 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s1-1 (method-of-type res-lump get-property-value)) + ) + (format (clear *res-key-string*) "~S~S" 'campoints-flags '-off) + (let ((s3-1 + (s1-1 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (when arg0 + (format #t "setup campoints-flags ") + (cam-index-options->string (the-as cam-index-options s4-0) #t) + (format #t "~%") + (format #t "forced on ") + (cam-index-options->string (the-as cam-index-options s5-1) #t) + (format #t "~%") + (format #t "forced off ") + (cam-index-options->string (the-as cam-index-options s3-1) #t) + (format #t "~%") + (let ((s4-1 (logclear (logior s4-0 s5-1) s3-1))) + (format #t "final ") + (cam-index-options->string (the-as cam-index-options s4-1) #t) + ) + (format #t "~%") + ) + (format arg1 " tag campoints-flags-on 0x~X // int32~%" s5-1) + (the-as + string + (format arg1 " tag campoints-flags-off 0x~X // int32~%" s3-1) + ) ) - ) ) - (when arg0 - (format #t "setup campoints-flags ") - (cam-index-options->string (the-as cam-index-options s4-0) #t) - (format #t "~%") - (format #t "forced on ") - (cam-index-options->string (the-as cam-index-options s5-1) #t) - (format #t "~%") - (format #t "forced off ") - (cam-index-options->string (the-as cam-index-options s3-1) #t) - (format #t "~%") - (let ((s4-1 (logclear (logior s4-0 s5-1) s3-1))) - (format #t "final ") - (cam-index-options->string (the-as cam-index-options s4-1) #t) - ) - (format #t "~%") - ) - (format - arg1 - " tag campoints-flags-on 0x~X // int32~%" - s5-1 - ) - (the-as - string - (format - arg1 - " tag campoints-flags-off 0x~X // int32~%" - s3-1 - ) - ) - ) ) - ) ) ;; definition for function cam-layout-save-introsplinetime ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-introsplinetime - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'intro-time - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-introsplinetime ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'intro-time + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'intro-time '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (cond + ((= f30-0 0.0) + (if arg0 + (format #t "setup intro-time 0.0 (defaults to 1 sec)~%") + ) + (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) + ) + (arg0 + (format #t "setup intro-time ~f~%" f30-0) + ) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~f~%" f28-0) + (format #t "final ~f~%" (+ f30-0 f28-0)) + ) + (format arg1 " tag intro-time-offset SECONDS(~f) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'intro-time '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (cond - ((= f30-0 0.0) - (if arg0 - (format #t "setup intro-time 0.0 (defaults to 1 sec)~%") - ) - (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) - ) - (arg0 - (format #t "setup intro-time ~f~%" f30-0) - ) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~f~%" f28-0) - (format #t "final ~f~%" (+ f30-0 f28-0)) - ) - (format - arg1 - " tag intro-time-offset SECONDS(~f) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-introsplineexitval ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-introsplineexitval - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'intro-exitValue - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-introsplineexitval ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'intro-exitValue + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'intro-exitValue '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (when arg0 + (if (= f30-0 0.0) + (format #t "setup intro-exitValue 0.0 (defaults to 0.5)~%") + (format #t "setup intro-exitValue ~f~%" f30-0) + ) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~f~%" f28-0) + (format #t "final ~f~%" (+ f30-0 f28-0)) + ) + (format arg1 " tag intro-exitValue-offset ~f // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'intro-exitValue '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (when arg0 - (if (= f30-0 0.0) - (format #t "setup intro-exitValue 0.0 (defaults to 0.5)~%") - (format #t "setup intro-exitValue ~f~%" f30-0) - ) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~f~%" f28-0) - (format #t "final ~f~%" (+ f30-0 f28-0)) - ) - (format - arg1 - " tag intro-exitValue-offset ~f // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-interptime ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-interptime - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'interpTime - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-interptime ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'interpTime + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'interpTime '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if arg0 + (format #t "setup interpTime ~f~%" f30-0) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~f~%" f28-0) + (format #t "final ~f~%" (+ f30-0 f28-0)) + ) + (format arg1 " tag interpTime-offset SECONDS(~f) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'interpTime '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (if arg0 - (format #t "setup interpTime ~f~%" f30-0) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~f~%" f28-0) - (format #t "final ~f~%" (+ f30-0 f28-0)) - ) - (format - arg1 - " tag interpTime-offset SECONDS(~f) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-splineoffset ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-splineoffset - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) +(defun cam-layout-save-splineoffset ((arg0 symbol) (arg1 string) (arg2 entity-actor)) (the-as - string - (when - (and - (not - (res-lump-struct arg2 'pivot structure :time (the-as float -1000000000.0)) - ) - (res-lump-struct - arg2 - 'spline-offset - structure - :time - (the-as float -1000000000.0) - ) - ) - (let - ((s4-1 - (res-lump-struct - arg2 - 'spline-offset - vector - :time - (the-as float -1000000000.0) + string + (when (and + (not (res-lump-struct arg2 'pivot structure :time (the-as float -1000000000.0))) + (res-lump-struct arg2 'spline-offset structure :time (the-as float -1000000000.0)) + ) + (let ((s4-1 (res-lump-struct arg2 'spline-offset vector :time (the-as float -1000000000.0)))) + (when s4-1 + (if arg0 + (format #t "spline offset ~M ~M ~M~%" (-> s4-1 x) (-> s4-1 y) (-> s4-1 z)) + ) + (format + arg1 + " tag spline-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" + (-> s4-1 x) + (-> s4-1 y) + (-> s4-1 z) + ) + ) ) - ) ) - (when s4-1 - (if arg0 - (format - #t - "spline offset ~M ~M ~M~%" - (-> s4-1 x) - (-> s4-1 y) - (-> s4-1 z) - ) - ) - (format - arg1 - " tag spline-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" - (-> s4-1 x) - (-> s4-1 y) - (-> s4-1 z) - ) - ) - ) ) - ) ) ;; definition for function cam-layout-save-spline-follow-dist-offset ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-spline-follow-dist-offset - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (the-as - string - (when - (and - (not - (res-lump-struct arg2 'pivot structure :time (the-as float -1000000000.0)) - ) - ((method-of-type res-lump get-property-value-float) - arg2 - 'spline-follow-dist-offset - 'interp - (the-as float -1000000000.0) - (the-as float #f) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'spline-follow-dist-offset - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (when (the int f30-0) - (if arg0 - (format #t "spline follow dist offset ~M~%" f30-0) - ) - (format - arg1 - " tag spline-follow-dist-offset METERS(~M)~%" - f30-0 - ) - ) - ) - ) - ) +(defun cam-layout-save-spline-follow-dist-offset ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (the-as string (when (and + (not (res-lump-struct arg2 'pivot structure :time (the-as float -1000000000.0))) + ((method-of-type res-lump get-property-value-float) + arg2 + 'spline-follow-dist-offset + 'interp + (the-as float -1000000000.0) + (the-as float #f) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'spline-follow-dist-offset + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (when (the int f30-0) + (if arg0 + (format #t "spline follow dist offset ~M~%" f30-0) + ) + (format arg1 " tag spline-follow-dist-offset METERS(~M)~%" f30-0) + ) + ) + ) + ) ) ;; definition for function cam-layout-save-campointsoffset ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-campointsoffset - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((s5-0 - (res-lump-struct - arg2 - 'campoints-offset - vector - :time - (the-as float -1000000000.0) - ) - ) - ) - (the-as string (when s5-0 - (if arg0 - (format - #t - "index offset ~M ~M ~M~%" - (-> s5-0 x) - (-> s5-0 y) - (-> s5-0 z) +(defun cam-layout-save-campointsoffset ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((s5-0 (res-lump-struct arg2 'campoints-offset vector :time (the-as float -1000000000.0)))) + (the-as string (when s5-0 + (if arg0 + (format #t "index offset ~M ~M ~M~%" (-> s5-0 x) (-> s5-0 y) (-> s5-0 z)) + ) + (format + arg1 + " tag campoints-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" + (-> s5-0 x) + (-> s5-0 y) + (-> s5-0 z) + ) ) - ) - (format - arg1 - " tag campoints-offset METERS(~M) METERS(~M) METERS(~M) 1.0 // vector~%" - (-> s5-0 x) - (-> s5-0 y) - (-> s5-0 z) - ) - ) + ) ) - ) ) ;; definition for function cam-layout-save-tiltAdjust ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-tiltAdjust - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'tiltAdjust - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-tiltAdjust ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'tiltAdjust + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'tiltAdjust '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if arg0 + (format #t "setup tiltAdjust deg ~R~%" f30-0) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~R~%" f28-0) + (format #t "final ~R~%" (+ f30-0 f28-0)) + ) + (format arg1 " tag tiltAdjust-offset DEG(~R) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'tiltAdjust '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (if arg0 - (format #t "setup tiltAdjust deg ~R~%" f30-0) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~R~%" f28-0) - (format #t "final ~R~%" (+ f30-0 f28-0)) - ) - (format - arg1 - " tag tiltAdjust-offset DEG(~R) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-stringMinLength ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-stringMinLength - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'stringMinLength - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-stringMinLength ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'stringMinLength + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'stringMinLength '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if arg0 + (format #t "setup stringMinLength ~M~%" f30-0) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~M~%" f28-0) + (format #t "final ~M~%" (+ f30-0 f28-0)) + ) + (format arg1 " tag stringMinLength-offset METERS(~M) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'stringMinLength '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (if arg0 - (format #t "setup stringMinLength ~M~%" f30-0) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~M~%" f28-0) - (format #t "final ~M~%" (+ f30-0 f28-0)) - ) - (format - arg1 - " tag stringMinLength-offset METERS(~M) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-stringMaxLength ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-stringMaxLength - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'stringMaxLength - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-stringMaxLength ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'stringMaxLength + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'stringMaxLength '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if arg0 + (format #t "setup stringMaxLength ~M~%" f30-0) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~M~%" f28-0) + (format #t "final ~M~%" (+ f30-0 f28-0)) + ) + (format arg1 " tag stringMaxLength-offset METERS(~M) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'stringMaxLength '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (if arg0 - (format #t "setup stringMaxLength ~M~%" f30-0) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~M~%" f28-0) - (format #t "final ~M~%" (+ f30-0 f28-0)) - ) - (format - arg1 - " tag stringMaxLength-offset METERS(~M) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-stringMinHeight ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-stringMinHeight - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'stringMinHeight - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-stringMinHeight ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'stringMinHeight + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'stringMinHeight '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if arg0 + (format #t "setup stringMinHeight ~M~%" f30-0) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~M~%" f28-0) + (format #t "final ~M~%" (+ f30-0 f28-0)) + ) + (format arg1 " tag stringMinHeight-offset METERS(~M) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'stringMinHeight '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (if arg0 - (format #t "setup stringMinHeight ~M~%" f30-0) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~M~%" f28-0) - (format #t "final ~M~%" (+ f30-0 f28-0)) - ) - (format - arg1 - " tag stringMinHeight-offset METERS(~M) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-stringMaxHeight ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-stringMaxHeight - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'stringMaxHeight - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-stringMaxHeight ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'stringMaxHeight + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'stringMaxHeight '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if arg0 + (format #t "setup stringMaxHeight ~M~%" f30-0) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~M~%" f28-0) + (format #t "final ~M~%" (+ f30-0 f28-0)) + ) + (format arg1 " tag stringMaxHeight-offset METERS(~M) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'stringMaxHeight '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (if arg0 - (format #t "setup stringMaxHeight ~M~%" f30-0) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~M~%" f28-0) - (format #t "final ~M~%" (+ f30-0 f28-0)) - ) - (format - arg1 - " tag stringMaxHeight-offset METERS(~M) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-stringCliffHeight ;; INFO: Return type mismatch object vs string. -(defun - cam-layout-save-stringCliffHeight - ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'stringCliffHeight - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* +(defun cam-layout-save-stringCliffHeight ((arg0 symbol) (arg1 string) (arg2 entity-actor)) + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'stringCliffHeight + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'stringCliffHeight '-offset) + (let ((f28-0 + (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if arg0 + (format #t "setup stringCliffHeight ~M~%" f30-0) + ) + (the-as + string + (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~M~%" f28-0) + (format #t "final ~M~%" (+ f30-0 f28-0)) + ) + (format arg1 " tag stringCliffHeight-offset METERS(~M) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'stringCliffHeight '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (if arg0 - (format #t "setup stringCliffHeight ~M~%" f30-0) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~M~%" f28-0) - (format #t "final ~M~%" (+ f30-0 f28-0)) - ) - (format - arg1 - " tag stringCliffHeight-offset METERS(~M) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function cam-layout-save-maxAngle ;; INFO: Return type mismatch object vs string. (defun cam-layout-save-maxAngle ((arg0 symbol) (arg1 string) (arg2 entity-actor)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - arg2 - 'maxAngle - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + arg2 + 'maxAngle + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s3-0 (method-of-type res-lump get-property-value-float)) + ) + (format (clear *res-key-string*) "~S~S" 'maxAngle '-offset) + (let ((f28-0 (s3-0 + arg2 + (string->symbol *res-key-string*) + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if arg0 + (format #t "setup maxAngle ~R~%" f30-0) + ) + (the-as string (when (!= f28-0 0.0) + (when arg0 + (format #t "offset ~R~%" f28-0) + (format #t "final ~R~%" (+ f30-0 f28-0)) + ) + (format arg1 " tag maxAngle-offset DEG(~R) // float~%" f28-0) + ) + ) ) - ) - (s3-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'maxAngle '-offset) - (let - ((f28-0 - (s3-0 - arg2 - (string->symbol *res-key-string*) - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (if arg0 - (format #t "setup maxAngle ~R~%" f30-0) - ) - (the-as string (when (!= f28-0 0.0) - (when arg0 - (format #t "offset ~R~%" f28-0) - (format #t "final ~R~%" (+ f30-0 f28-0)) - ) - (format - arg1 - " tag maxAngle-offset DEG(~R) // float~%" - f28-0 - ) - ) - ) - ) - ) ) ;; definition for function clmf-save-single -(defbehavior - clmf-save-single cam-layout - ((arg0 entity-camera) (arg1 symbol) (arg2 symbol)) +(defbehavior clmf-save-single cam-layout ((arg0 entity-camera) (arg1 symbol) (arg2 symbol)) (clear *temp-string*) (if arg2 - (format - *temp-string* - "dd_next/caminfo/~s.cam" - (res-lump-struct arg0 'name structure :time (the-as float -1000000000.0)) - ) - (format *temp-string* "dd_next/caminfo/garbage") - ) + (format + *temp-string* + "dd_next/caminfo/~s.cam" + (res-lump-struct arg0 'name structure :time (the-as float -1000000000.0)) + ) + (format *temp-string* "dd_next/caminfo/garbage") + ) (let ((s4-2 (new 'stack 'file-stream *temp-string* 'write))) - (if arg1 - (format - #t - "---------camera '~S'------------~%" - (res-lump-struct arg0 'name structure :time (the-as float -1000000000.0)) - ) + (if arg1 + (format + #t + "---------camera '~S'------------~%" + (res-lump-struct arg0 'name structure :time (the-as float -1000000000.0)) + ) + ) + (format s4-2 "#include /next/config_data/standard.m2d~%") + (format s4-2 "camera ~s {~%" (res-lump-struct arg0 'name structure :time (the-as float -1000000000.0))) + (cam-layout-save-cam-rot arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-cam-trans arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-pivot arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-align arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-interesting arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-fov arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-focalpull arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-flags arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-introsplinetime arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-introsplineexitval arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-interptime arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-splineoffset arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-spline-follow-dist-offset arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-campointsoffset arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-tiltAdjust arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-stringMinLength arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-stringMaxLength arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-stringMinHeight arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-stringMaxHeight arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-stringCliffHeight arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-maxAngle arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-campoints-flags arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (cam-layout-save-focalpull-flags arg1 (the-as string s4-2) (the-as entity-actor arg0)) + (format s4-2 "}~%") + (file-stream-close s4-2) ) - (format s4-2 "#include /next/config_data/standard.m2d~%") - (format - s4-2 - "camera ~s {~%" - (res-lump-struct arg0 'name structure :time (the-as float -1000000000.0)) - ) - (cam-layout-save-cam-rot - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-cam-trans - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-pivot arg1 (the-as string s4-2) (the-as entity-actor arg0)) - (cam-layout-save-align arg1 (the-as string s4-2) (the-as entity-actor arg0)) - (cam-layout-save-interesting - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-fov arg1 (the-as string s4-2) (the-as entity-actor arg0)) - (cam-layout-save-focalpull - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-flags arg1 (the-as string s4-2) (the-as entity-actor arg0)) - (cam-layout-save-introsplinetime - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-introsplineexitval - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-interptime - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-splineoffset - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-spline-follow-dist-offset - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-campointsoffset - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-tiltAdjust - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-stringMinLength - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-stringMaxLength - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-stringMinHeight - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-stringMaxHeight - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-stringCliffHeight - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-maxAngle - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-campoints-flags - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (cam-layout-save-focalpull-flags - arg1 - (the-as string s4-2) - (the-as entity-actor arg0) - ) - (format s4-2 "}~%") - (file-stream-close s4-2) - ) ) ;; definition for function clmf-save-one @@ -3202,27 +2411,21 @@ (let ((s5-1 (logtest? (the-as int arg0) 8)) (gp-1 (logtest? (the-as int arg0) 16)) ) - (if s5-1 - (format #t "~%~%~%=================================~%") + (if s5-1 + (format #t "~%~%~%=================================~%") + ) + (clmf-save-single (-> self cam-entity) s5-1 gp-1) + (if s5-1 + (format #t "===============================~%~%~%~%") + ) + (if gp-1 + (format + #t + "'~S' save completed~%" + (res-lump-struct (-> self cam-entity) 'name structure :time (the-as float -1000000000.0)) + ) + ) ) - (clmf-save-single (-> self cam-entity) s5-1 gp-1) - (if s5-1 - (format #t "===============================~%~%~%~%") - ) - (if gp-1 - (format - #t - "'~S' save completed~%" - (res-lump-struct - (-> self cam-entity) - 'name - structure - :time - (the-as float -1000000000.0) - ) - ) - ) - ) #t ) @@ -3231,29 +2434,29 @@ (let ((s5-1 (logtest? (the-as int arg0) 8)) (gp-1 (logtest? (the-as int arg0) 16)) ) - (if s5-1 - (format #t "~%~%~%=================================~%") - ) - (let ((v1-5 (-> *camera-engine* alive-list next0))) - *camera-engine* - (let ((s4-0 (-> v1-5 next0))) - (while (!= v1-5 (-> *camera-engine* alive-list-end)) - (let ((a0-4 (-> (the-as connection v1-5) param1))) - (clmf-save-single (the-as entity-camera a0-4) s5-1 gp-1) - ) - (set! v1-5 s4-0) + (if s5-1 + (format #t "~%~%~%=================================~%") + ) + (let ((v1-5 (-> *camera-engine* alive-list next0))) *camera-engine* - (set! s4-0 (-> s4-0 next0)) + (let ((s4-0 (-> v1-5 next0))) + (while (!= v1-5 (-> *camera-engine* alive-list-end)) + (let ((a0-4 (-> (the-as connection v1-5) param1))) + (clmf-save-single (the-as entity-camera a0-4) s5-1 gp-1) + ) + (set! v1-5 s4-0) + *camera-engine* + (set! s4-0 (-> s4-0 next0)) + ) + ) ) - ) + (if s5-1 + (format #t "===============================~%~%~%~%") + ) + (if gp-1 + (format #t "camera save all completed~%") + ) ) - (if s5-1 - (format #t "===============================~%~%~%~%") - ) - (if gp-1 - (format #t "camera save all completed~%") - ) - ) #t ) @@ -3282,171 +2485,122 @@ (let ((s4-0 (/ arg0 8)) (gp-0 (new 'stack 'clmf-cam-flag-toggle-info)) ) - (set! (-> gp-0 key) (-> self res-key)) - (cond - ((and - (= arg1 'vol-flags) - (>= (-> self res-key) (the float (-> self first-cutoutvol))) - ) - (set! - (-> gp-0 key) - (- (-> gp-0 key) (the float (-> self first-cutoutvol))) - ) - (set! arg1 (the-as int 'cutoutvol-flags)) - ) - ((and - (= arg1 'vol-flags) - (>= (-> self res-key) (the float (-> self first-pvol))) - ) - (set! (-> gp-0 key) (- (-> gp-0 key) (the float (-> self first-pvol)))) - (set! arg1 (the-as int 'pvol-flags)) - ) - ) - (let ((s3-0 (method-of-type res-lump get-property-value)) - (s2-0 (-> self cam-entity)) - ) - (format (clear *res-key-string*) "~S~S" (the-as object arg1) '-on) - (set! - (-> gp-0 force-on) - (the-as - int - (s3-0 - s2-0 - (string->symbol *res-key-string*) - 'exact - (-> gp-0 key) - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* + (set! (-> gp-0 key) (-> self res-key)) + (cond + ((and (= arg1 'vol-flags) (>= (-> self res-key) (the float (-> self first-cutoutvol)))) + (set! (-> gp-0 key) (- (-> gp-0 key) (the float (-> self first-cutoutvol)))) + (set! arg1 (the-as int 'cutoutvol-flags)) + ) + ((and (= arg1 'vol-flags) (>= (-> self res-key) (the float (-> self first-pvol)))) + (set! (-> gp-0 key) (- (-> gp-0 key) (the float (-> self first-pvol)))) + (set! arg1 (the-as int 'pvol-flags)) ) ) - ) - ) - (let ((s3-1 (method-of-type res-lump get-property-value)) - (s2-1 (-> self cam-entity)) - ) - (format (clear *res-key-string*) "~S~S" (the-as object arg1) '-off) - (set! - (-> gp-0 force-off) - (the-as - int - (s3-1 - s2-1 - (string->symbol *res-key-string*) - 'exact - (-> gp-0 key) - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - ) - (cond - ((logtest? (-> gp-0 force-off) s4-0) - (logclear! (-> gp-0 force-off) s4-0) - (logior! (-> gp-0 force-on) s4-0) - (let* ((s4-1 (-> self cam-entity)) - (s3-2 (method-of-object s4-1 add-32bit-data!)) - (s2-2 - (logior (shl #x10000 32) (shr (shl (the-as int int32) 32) 32)) - ) - (s1-2 (shl (the-as int (-> gp-0 key)) 32)) - ) - (format (clear *res-key-string*) "~S~S" (the-as object arg1) '-off) - (s3-2 - s4-1 - (the-as - res-tag - (make-u128 - s2-2 - (logior - s1-2 - (shr (shl (the-as int (string->symbol *res-key-string*)) 32) 32) + (let ((s3-0 (method-of-type res-lump get-property-value)) + (s2-0 (-> self cam-entity)) ) - ) - ) - (-> gp-0 force-off) - ) - ) - (let* ((s4-2 (-> self cam-entity)) - (s3-3 (method-of-object s4-2 add-32bit-data!)) - (s2-3 - (logior (shl #x10000 32) (shr (shl (the-as int int32) 32) 32)) - ) - (s1-3 (shl (the-as int (-> gp-0 key)) 32)) - ) (format (clear *res-key-string*) "~S~S" (the-as object arg1) '-on) - (s3-3 - s4-2 - (the-as - res-tag - (make-u128 - s2-3 - (logior - s1-3 - (shr (shl (the-as int (string->symbol *res-key-string*)) 32) 32) - ) - ) - ) - (-> gp-0 force-on) - ) - ) - ) - ((logtest? (-> gp-0 force-on) s4-0) - (logclear! (-> gp-0 force-on) s4-0) - (let* ((s4-3 (-> self cam-entity)) - (s3-4 (method-of-object s4-3 add-32bit-data!)) - (s2-4 - (logior (shl #x10000 32) (shr (shl (the-as int int32) 32) 32)) - ) - (s1-4 (shl (the-as int (-> gp-0 key)) 32)) + (set! (-> gp-0 force-on) (the-as int (s3-0 + s2-0 + (string->symbol *res-key-string*) + 'exact + (-> gp-0 key) + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) ) - (format (clear *res-key-string*) "~S~S" (the-as object arg1) '-on) - (s3-4 - s4-3 - (the-as - res-tag - (make-u128 - s2-4 - (logior - s1-4 - (shr (shl (the-as int (string->symbol *res-key-string*)) 32) 32) - ) - ) - ) - (-> gp-0 force-on) - ) ) - ) - (else - (logior! (-> gp-0 force-off) s4-0) - (let* ((s4-4 (-> self cam-entity)) - (s3-5 (method-of-object s4-4 add-32bit-data!)) - (s2-5 - (logior (shl #x10000 32) (shr (shl (the-as int int32) 32) 32)) - ) - (s1-5 (shl (the-as int (-> gp-0 key)) 32)) - ) + (let ((s3-1 (method-of-type res-lump get-property-value)) + (s2-1 (-> self cam-entity)) + ) (format (clear *res-key-string*) "~S~S" (the-as object arg1) '-off) - (s3-5 - s4-4 - (the-as - res-tag - (make-u128 - s2-5 - (logior - s1-5 - (shr (shl (the-as int (string->symbol *res-key-string*)) 32) 32) - ) - ) - ) - (-> gp-0 force-off) - ) + (set! (-> gp-0 force-off) (the-as int (s3-1 + s2-1 + (string->symbol *res-key-string*) + 'exact + (-> gp-0 key) + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + ) + (cond + ((logtest? (-> gp-0 force-off) s4-0) + (logclear! (-> gp-0 force-off) s4-0) + (logior! (-> gp-0 force-on) s4-0) + (let* ((s4-1 (-> self cam-entity)) + (s3-2 (method-of-object s4-1 add-32bit-data!)) + (s2-2 (logior (shl #x10000 32) (shr (shl (the-as int int32) 32) 32))) + (s1-2 (shl (the-as int (-> gp-0 key)) 32)) + ) + (format (clear *res-key-string*) "~S~S" (the-as object arg1) '-off) + (s3-2 + s4-1 + (the-as + res-tag + (make-u128 s2-2 (logior s1-2 (shr (shl (the-as int (string->symbol *res-key-string*)) 32) 32))) + ) + (-> gp-0 force-off) + ) + ) + (let* ((s4-2 (-> self cam-entity)) + (s3-3 (method-of-object s4-2 add-32bit-data!)) + (s2-3 (logior (shl #x10000 32) (shr (shl (the-as int int32) 32) 32))) + (s1-3 (shl (the-as int (-> gp-0 key)) 32)) + ) + (format (clear *res-key-string*) "~S~S" (the-as object arg1) '-on) + (s3-3 + s4-2 + (the-as + res-tag + (make-u128 s2-3 (logior s1-3 (shr (shl (the-as int (string->symbol *res-key-string*)) 32) 32))) + ) + (-> gp-0 force-on) + ) + ) + ) + ((logtest? (-> gp-0 force-on) s4-0) + (logclear! (-> gp-0 force-on) s4-0) + (let* ((s4-3 (-> self cam-entity)) + (s3-4 (method-of-object s4-3 add-32bit-data!)) + (s2-4 (logior (shl #x10000 32) (shr (shl (the-as int int32) 32) 32))) + (s1-4 (shl (the-as int (-> gp-0 key)) 32)) + ) + (format (clear *res-key-string*) "~S~S" (the-as object arg1) '-on) + (s3-4 + s4-3 + (the-as + res-tag + (make-u128 s2-4 (logior s1-4 (shr (shl (the-as int (string->symbol *res-key-string*)) 32) 32))) + ) + (-> gp-0 force-on) + ) + ) + ) + (else + (logior! (-> gp-0 force-off) s4-0) + (let* ((s4-4 (-> self cam-entity)) + (s3-5 (method-of-object s4-4 add-32bit-data!)) + (s2-5 (logior (shl #x10000 32) (shr (shl (the-as int int32) 32) 32))) + (s1-5 (shl (the-as int (-> gp-0 key)) 32)) + ) + (format (clear *res-key-string*) "~S~S" (the-as object arg1) '-off) + (s3-5 + s4-4 + (the-as + res-tag + (make-u128 s2-5 (logior s1-5 (shr (shl (the-as int (string->symbol *res-key-string*)) 32) 32))) + ) + (-> gp-0 force-off) + ) + ) + ) ) - ) ) - ) #t ) @@ -3455,151 +2609,125 @@ (let ((s5-0 (/ (the-as int arg1) 8)) (f30-0 (-> self res-key)) ) - (cond - ((and - (= arg2 'vol-flags) - (>= (-> self res-key) (the float (-> self first-cutoutvol))) - ) - (set! f30-0 (- f30-0 (the float (-> self first-cutoutvol)))) - (set! arg2 (the-as uint 'cutoutvol-flags)) - ) - ((and - (= arg2 'vol-flags) - (>= (-> self res-key) (the float (-> self first-pvol))) - ) - (set! f30-0 (- f30-0 (the float (-> self first-pvol)))) - (set! arg2 (the-as uint 'pvol-flags)) - ) - ) - (let ((s3-0 (method-of-type res-lump get-property-value)) - (s2-0 (-> self cam-entity)) - ) - (format (clear *res-key-string*) "~S~S" (the-as object arg2) '-off) (cond - ((logtest? - (s3-0 - s2-0 - (string->symbol *res-key-string*) - 'exact - f30-0 - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - s5-0 + ((and (= arg2 'vol-flags) (>= (-> self res-key) (the float (-> self first-cutoutvol)))) + (set! f30-0 (- f30-0 (the float (-> self first-cutoutvol)))) + (set! arg2 (the-as uint 'cutoutvol-flags)) + ) + ((and (= arg2 'vol-flags) (>= (-> self res-key) (the float (-> self first-pvol)))) + (set! f30-0 (- f30-0 (the float (-> self first-pvol)))) + (set! arg2 (the-as uint 'pvol-flags)) ) - (format arg0 ": off") ) - ((let ((s3-1 (method-of-type res-lump get-property-value)) - (s2-1 (-> self cam-entity)) - ) - (format (clear *res-key-string*) "~S~S" (the-as object arg2) '-on) - (logtest? - (s3-1 - s2-1 - (string->symbol *res-key-string*) - 'exact - f30-0 - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* + (let ((s3-0 (method-of-type res-lump get-property-value)) + (s2-0 (-> self cam-entity)) + ) + (format (clear *res-key-string*) "~S~S" (the-as object arg2) '-off) + (cond + ((logtest? + (s3-0 + s2-0 + (string->symbol *res-key-string*) + 'exact + f30-0 + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + s5-0 + ) + (format arg0 ": off") ) - s5-0 - ) - ) - (format arg0 ": on") - ) - ((zero? - (logand - ((method-of-type res-lump get-property-value) - (-> self cam-entity) - (the-as symbol arg2) - 'exact - f30-0 - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* + ((let ((s3-1 (method-of-type res-lump get-property-value)) + (s2-1 (-> self cam-entity)) + ) + (format (clear *res-key-string*) "~S~S" (the-as object arg2) '-on) + (logtest? + (s3-1 + s2-1 + (string->symbol *res-key-string*) + 'exact + f30-0 + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + s5-0 + ) + ) + (format arg0 ": on") ) - s5-0 + ((zero? (logand + ((method-of-type res-lump get-property-value) + (-> self cam-entity) + (the-as symbol arg2) + 'exact + f30-0 + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + s5-0 + ) + ) + (format arg0 ": off(maya)") + ) + (else + (format arg0 ": on(maya)") + ) ) - ) - (format arg0 ": off(maya)") ) - (else - (format arg0 ": on(maya)") - ) - ) ) - ) #t ) ;; definition for function clmf-cam-float-adjust -(defbehavior - clmf-cam-float-adjust cam-layout - ((arg0 symbol) (arg1 (pointer float))) +(defbehavior clmf-cam-float-adjust cam-layout ((arg0 symbol) (arg1 (pointer float))) (cam-layout-print 16 *camera-layout-message-ypos* "left stick adjusts value") (set! *camera-layout-message-ypos* (+ *camera-layout-message-ypos* 8)) - (let - ((f30-0 - ((method-of-type res-lump get-property-value-float) - (-> self cam-entity) - arg0 - 'interp - (the-as float -1000000000.0) - (-> (new 'static 'array float 1 0.0) 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - (f0-0 (-> arg1 0)) - ) - (if (= f0-0 0.0) - (set! f0-0 (-> (new 'static 'array float 1 1.0) 0)) - ) - (let - ((f0-2 - (+ - f30-0 - (analog-input - (the-as int (-> *cpad-list* cpads 0 leftx)) - (-> (new 'static 'array float 1 128.0) 0) - (-> (new 'static 'array float 1 48.0) 0) - (-> (new 'static 'array float 1 110.0) 0) - f0-0 + (let ((f30-0 ((method-of-type res-lump get-property-value-float) + (-> self cam-entity) + arg0 + 'interp + (the-as float -1000000000.0) + (-> (new 'static 'array float 1 0.0) 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (f0-0 (-> arg1 0)) + ) + (if (= f0-0 0.0) + (set! f0-0 (-> (new 'static 'array float 1 1.0) 0)) + ) + (let ((f0-2 + (+ f30-0 + (analog-input + (the-as int (-> *cpad-list* cpads 0 leftx)) + (-> (new 'static 'array float 1 128.0) 0) + (-> (new 'static 'array float 1 48.0) 0) + (-> (new 'static 'array float 1 110.0) 0) + f0-0 + ) + ) + ) + ) + (add-32bit-data! + (-> self cam-entity) + (new 'static 'res-tag :name arg0 :key-frame -1000000000.0 :elt-count #x1 :elt-type float) + f0-2 ) - ) ) - ) - (add-32bit-data! - (-> self cam-entity) - (new 'static 'res-tag - :name arg0 - :key-frame -1000000000.0 - :elt-count #x1 - :elt-type float - ) - f0-2 - ) ) - ) (set! *camera-read-analog* #f) #t ) ;; definition for function clmf-cam-meters (defbehavior clmf-cam-meters cam-layout ((arg0 meters) (arg1 symbol)) - (let - ((f0-0 - (cam-slave-get-float - (-> self cam-entity) - arg1 - (-> (new 'static 'array float 1 0.0) 0) - ) - ) + (let ((f0-0 (cam-slave-get-float (-> self cam-entity) arg1 (-> (new 'static 'array float 1 0.0) 0)))) + (format arg0 ": ~M" f0-0) ) - (format arg0 ": ~M" f0-0) - ) #t ) @@ -3611,24 +2739,16 @@ ;; definition for function clmf-cam-deg (defbehavior clmf-cam-deg cam-layout ((arg0 degrees) (arg1 symbol)) - (format - arg0 - ": ~R" - (cam-slave-get-float - (-> self cam-entity) - arg1 - (-> (new 'static 'array float 1 0.0) 0) - ) - ) + (format arg0 ": ~R" (cam-slave-get-float (-> self cam-entity) arg1 (-> (new 'static 'array float 1 0.0) 0))) #t ) ;; definition for function clmf-cam-intro-time (defbehavior clmf-cam-intro-time cam-layout ((arg0 float) (arg1 symbol)) (let ((f30-0 (cam-slave-get-intro-step (-> self cam-entity)))) - (format arg0 ": ~f" (/ 0.016666668 f30-0)) - (set! (-> *CAM_LAYOUT-bank* intro-step) f30-0) - ) + (format arg0 ": ~f" (/ 0.016666668 f30-0)) + (set! (-> *CAM_LAYOUT-bank* intro-step) f30-0) + ) #t ) @@ -3640,15 +2760,7 @@ ;; definition for function clmf-cam-float (defbehavior clmf-cam-float cam-layout ((arg0 float) (arg1 symbol)) - (format - arg0 - ": ~f" - (cam-slave-get-float - (-> self cam-entity) - arg1 - (-> (new 'static 'array float 1 0.0) 0) - ) - ) + (format arg0 ": ~f" (cam-slave-get-float (-> self cam-entity) arg1 (-> (new 'static 'array float 1 0.0) 0))) #t ) @@ -3658,25 +2770,14 @@ (local-vars (sv-16 res-tag)) (format arg0 ":") (set! sv-16 (new 'static 'res-tag)) - (let - ((s5-1 - (res-lump-data - (-> self cam-entity) - arg1 - pointer - :tag-ptr - (& sv-16) - :time - (the-as float -1000000000.0) + (let ((s5-1 (res-lump-data (-> self cam-entity) arg1 pointer :tag-ptr (& sv-16) :time (the-as float -1000000000.0))) + ) + (when s5-1 + (dotimes (s4-0 (the-as int (-> sv-16 elt-count))) + (format arg0 " ~S" (-> (the-as (pointer uint32) (&+ s5-1 (* s4-0 4))))) + ) ) - ) ) - (when s5-1 - (dotimes (s4-0 (the-as int (-> sv-16 elt-count))) - (format arg0 " ~S" (-> (the-as (pointer uint32) (&+ s5-1 (* s4-0 4))))) - ) - ) - ) #t ) @@ -3684,1213 +2785,1050 @@ (define *clm-focalpull-attr* (new 'static 'clm - :title "---focalpull attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 - (new 'static 'clm-item - :description " ok" - :button-symbol 'square - :action - (new 'static 'clm-item-action - :button #x8000 - :options #x1 - :func '*clm-edit* - ) - ) - (new 'static 'clm-item - :description "adjust" - :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) - ) - (new 'static 'clm-list - :tracker #f - :items - (new + :title "---focalpull attributes--" + :items + (new 'static 'boxed-array - :type clm-list-item :length 2 :allocated-length 2 - (new 'static 'clm-list-item - :description "radial " - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 16 - :val-parm1-basic 'focalpull-flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 16 - :parm1-basic 'focalpull-flags - ) + :type clm-basic :length 3 :allocated-length 3 + (new 'static 'clm-item + :description " ok" + :button-symbol 'square + :action + (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) - ) - (new 'static 'clm-list-item - :description "spherical " - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 8 - :val-parm1-basic 'focalpull-flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 8 - :parm1-basic 'focalpull-flags - ) + (new 'static 'clm-item + :description "adjust" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list + :tracker #f + :items + (new + 'static + 'boxed-array + :type clm-list-item :length 2 :allocated-length 2 + (new 'static 'clm-list-item + :description "radial " + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 16 + :val-parm1-basic 'focalpull-flags + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 16 + :parm1-basic 'focalpull-flags + ) + ) + ) + (new 'static 'clm-list-item + :description "spherical " + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 8 + :val-parm1-basic 'focalpull-flags + :actions + (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 8 + :parm1-basic 'focalpull-flags + ) + ) + ) + ) ) - ) ) - ) ) - ) ) ;; definition for symbol *clm-index-attr*, type clm (define *clm-index-attr* (new 'static 'clm - :title "---index attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 - (new 'static 'clm-item - :description " ok" - :button-symbol 'square - :action - (new 'static 'clm-item-action - :button #x8000 - :options #x1 - :func '*clm-edit* - ) - ) - (new 'static 'clm-item - :description "adjust" - :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) - ) - (new 'static 'clm-list - :tracker #f - :items - (new + :title "---index attributes--" + :items + (new 'static 'boxed-array - :type clm-list-item :length 2 :allocated-length 2 - (new 'static 'clm-list-item - :description "radial " - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 16 - :val-parm1-basic 'campoints-flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 16 - :parm1-basic 'campoints-flags - ) + :type clm-basic :length 3 :allocated-length 3 + (new 'static 'clm-item + :description " ok" + :button-symbol 'square + :action + (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) - ) - (new 'static 'clm-list-item - :description "spherical " - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 8 - :val-parm1-basic 'campoints-flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 8 - :parm1-basic 'campoints-flags - ) + (new 'static 'clm-item + :description "adjust" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list + :tracker #f + :items + (new + 'static + 'boxed-array + :type clm-list-item :length 2 :allocated-length 2 + (new 'static 'clm-list-item + :description "radial " + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 16 + :val-parm1-basic 'campoints-flags + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 16 + :parm1-basic 'campoints-flags + ) + ) + ) + (new 'static 'clm-list-item + :description "spherical " + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 8 + :val-parm1-basic 'campoints-flags + :actions + (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 8 + :parm1-basic 'campoints-flags + ) + ) + ) + ) ) - ) ) - ) ) - ) ) ;; definition for symbol *clm-intro-attr*, type clm (define *clm-intro-attr* (new 'static 'clm - :title "---intro attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 - (new 'static 'clm-item - :description " ok" - :button-symbol 'square - :action - (new 'static 'clm-item-action - :button #x8000 - :options #x1 - :func '*clm-edit* - ) - ) - (new 'static 'clm-item - :description "adjust" - :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) - ) - (new 'static 'clm-list - :tracker #f - :items - (new + :title "---intro attributes--" + :items + (new 'static 'boxed-array - :type clm-list-item :length 2 :allocated-length 2 - (new 'static 'clm-list-item - :description "time " - :track-val #f - :val-func 'clmf-cam-intro-time - :val-parm0-basic 'intro-time - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'intro-time-offset - :parm1-basic (new 'static 'bfloat :data 0.01) - ) + :type clm-basic :length 3 :allocated-length 3 + (new 'static 'clm-item + :description " ok" + :button-symbol 'square + :action + (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) - ) - (new 'static 'clm-list-item - :description "exitValue" - :track-val #f - :val-func 'clmf-cam-float - :val-parm0-basic 'intro-exitValue - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'intro-exitValue-offset - :parm1-basic (new 'static 'bfloat :data 0.001) - ) + (new 'static 'clm-item + :description "adjust" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :func #f) ) - ) + (new 'static 'clm-list :tracker #f :items (new + 'static + 'boxed-array + :type clm-list-item :length 2 :allocated-length 2 + (new 'static 'clm-list-item + :description "time " + :track-val #f + :val-func 'clmf-cam-intro-time + :val-parm0-basic 'intro-time + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'intro-time-offset + :parm1-basic (new 'static 'bfloat :data 0.01) + ) + ) + ) + (new 'static 'clm-list-item + :description "exitValue" + :track-val #f + :val-func 'clmf-cam-float + :val-parm0-basic 'intro-exitValue + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'intro-exitValue-offset + :parm1-basic (new 'static 'bfloat :data 0.001) + ) + ) + ) + ) + ) ) - ) ) - ) ) ;; definition for symbol *clm-spline-attr*, type clm (define *clm-spline-attr* (new 'static 'clm - :title "---spline attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 - (new 'static 'clm-item - :description " ok" - :button-symbol 'square - :action - (new 'static 'clm-item-action - :button #x8000 - :options #x1 - :func '*clm-edit* - ) - ) - (new 'static 'clm-item - :description "adjust" - :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) - ) - (new 'static 'clm-list - :tracker #f - :items - (new + :title "---spline attributes--" + :items + (new 'static 'boxed-array - :type clm-list-item :length 1 :allocated-length 1 - (new 'static 'clm-list-item - :description "followDist" - :track-val #f - :val-func 'clmf-cam-meters - :val-parm0-basic 'spline-follow-dist - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'spline-follow-dist-offset - :parm1-basic (new 'static 'bfloat :data 409.6) - ) + :type clm-basic :length 3 :allocated-length 3 + (new 'static 'clm-item + :description " ok" + :button-symbol 'square + :action + (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) - ) + (new 'static 'clm-item + :description "adjust" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list :tracker #f :items (new + 'static + 'boxed-array + :type clm-list-item :length 1 :allocated-length 1 + (new 'static 'clm-list-item + :description "followDist" + :track-val #f + :val-func 'clmf-cam-meters + :val-parm0-basic 'spline-follow-dist + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'spline-follow-dist-offset + :parm1-basic (new 'static 'bfloat :data 409.6) + ) + ) + ) + ) + ) ) - ) ) - ) ) ;; definition for symbol *clm-vol-attr*, type clm (define *clm-vol-attr* (new 'static 'clm - :title "---volume attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 - (new 'static 'clm-item - :description " ok" - :button-symbol 'square - :action - (new 'static 'clm-item-action - :button #x8000 - :options #x1 - :func '*clm-edit* - ) - ) - (new 'static 'clm-item - :description "adjust" - :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) - ) - (new 'static 'clm-list - :tracker #f - :items - (new + :title "---volume attributes--" + :items + (new 'static 'boxed-array - :type clm-list-item :length 1 :allocated-length 1 - (new 'static 'clm-list-item - :description "airSwitch" - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 8 - :val-parm1-basic 'vol-flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 8 - :parm1-basic 'vol-flags - ) + :type clm-basic :length 3 :allocated-length 3 + (new 'static 'clm-item + :description " ok" + :button-symbol 'square + :action + (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) + ) + (new 'static 'clm-item + :description "adjust" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list + :tracker #f + :items + (new + 'static + 'boxed-array + :type clm-list-item :length 1 :allocated-length 1 + (new 'static 'clm-list-item + :description "airSwitch" + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 8 + :val-parm1-basic 'vol-flags + :actions + (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 8 + :parm1-basic 'vol-flags + ) + ) + ) + ) ) - ) ) - ) ) - ) ) ;; definition for symbol *clm-cam-attr*, type clm (define *clm-cam-attr* (new 'static 'clm - :title "---camera attributes--" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 - (new 'static 'clm-item - :description " ok" - :button-symbol 'square - :action - (new 'static 'clm-item-action - :button #x8000 - :options #x1 - :func '*clm-edit* - ) - ) - (new 'static 'clm-item - :description "adjust" - :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) - ) - (new 'static 'clm-list - :tracker #f - :items - (new + :title "---camera attributes--" + :items + (new 'static 'boxed-array - :type clm-list-item :length 18 :allocated-length 18 - (new 'static 'clm-list-item - :description "drag " - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 #x400 - :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 #x400 - :parm1-basic 'flags - ) + :type clm-basic :length 3 :allocated-length 3 + (new 'static 'clm-item + :description " ok" + :button-symbol 'square + :action + (new 'static 'clm-item-action :button #x8000 :options #x1 :func '*clm-edit*) ) - ) - (new 'static 'clm-list-item - :description "fov " - :track-val #f - :val-func 'clmf-cam-fov - :val-parm0-basic 'fov - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'fov-offset - :parm1-basic (new 'static 'bfloat :data 91.022224) - ) + (new 'static 'clm-item + :description "adjust" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :func #f) ) - ) - (new 'static 'clm-list-item - :description "focalPull " - :track-val #f - :val-func 'clmf-cam-deg - :val-parm0-basic 'focalPull - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'focalPull-offset - :parm1-basic (new 'static 'bfloat :data 91.022224) - ) + (new 'static 'clm-list + :tracker #f + :items + (new + 'static + 'boxed-array + :type clm-list-item :length 18 :allocated-length 18 + (new 'static 'clm-list-item + :description "drag " + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 #x400 + :val-parm1-basic 'flags + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 #x400 + :parm1-basic 'flags + ) + ) + ) + (new 'static 'clm-list-item + :description "fov " + :track-val #f + :val-func 'clmf-cam-fov + :val-parm0-basic 'fov + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'fov-offset + :parm1-basic (new 'static 'bfloat :data 91.022224) + ) + ) + ) + (new 'static 'clm-list-item + :description "focalPull " + :track-val #f + :val-func 'clmf-cam-deg + :val-parm0-basic 'focalPull + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'focalPull-offset + :parm1-basic (new 'static 'bfloat :data 91.022224) + ) + ) + ) + (new 'static 'clm-list-item + :description "interpTime " + :track-val #f + :val-func 'clmf-cam-interp-time + :val-parm0-basic 'interpTime + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'interpTime-offset + :parm1-basic (new 'static 'bfloat :data 0.01) + ) + ) + ) + (new 'static 'clm-list-item + :description "sameSide " + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 16 + :val-parm1-basic 'flags + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 16 + :parm1-basic 'flags + ) + ) + ) + (new 'static 'clm-list-item + :description "spherical " + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 32 + :val-parm1-basic 'flags + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 32 + :parm1-basic 'flags + ) + ) + ) + (new 'static 'clm-list-item + :description "MinLength " + :track-val #f + :val-func 'clmf-cam-meters + :val-parm0-basic 'stringMinLength + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'stringMinLength-offset + :parm1-basic (new 'static 'bfloat :data 409.6) + ) + ) + ) + (new 'static 'clm-list-item + :description "MaxLength " + :track-val #f + :val-func 'clmf-cam-meters + :val-parm0-basic 'stringMaxLength + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'stringMaxLength-offset + :parm1-basic (new 'static 'bfloat :data 409.6) + ) + ) + ) + (new 'static 'clm-list-item + :description "MinHeight " + :track-val #f + :val-func 'clmf-cam-meters + :val-parm0-basic 'stringMinHeight + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'stringMinHeight-offset + :parm1-basic (new 'static 'bfloat :data 409.6) + ) + ) + ) + (new 'static 'clm-list-item + :description "MaxHeight " + :track-val #f + :val-func 'clmf-cam-meters + :val-parm0-basic 'stringMaxHeight + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'stringMaxHeight-offset + :parm1-basic (new 'static 'bfloat :data 409.6) + ) + ) + ) + (new 'static 'clm-list-item + :description "cliffHeight" + :track-val #f + :val-func 'clmf-cam-meters + :val-parm0-basic 'stringCliffHeight + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'stringCliffHeight-offset + :parm1-basic (new 'static 'bfloat :data 409.6) + ) + ) + ) + (new 'static 'clm-list-item + :description "alternates " + :track-val #f + :val-func 'clmf-cam-string + :val-parm0-basic 'alternates + :actions + (new 'static 'boxed-array :type clm-item-action :length 0 :allocated-length 0) + ) + (new 'static 'clm-list-item + :description "maxAngle " + :track-val #f + :val-func 'clmf-cam-deg + :val-parm0-basic 'maxAngle + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'maxAngle-offset + :parm1-basic (new 'static 'bfloat :data 91.022224) + ) + ) + ) + (new 'static 'clm-list-item + :description "shrinkAngle" + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 #x4000 + :val-parm1-basic 'flags + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 #x4000 + :parm1-basic 'flags + ) + ) + ) + (new 'static 'clm-list-item + :description "noRotate " + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 #x40000 + :val-parm1-basic 'flags + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 #x40000 + :parm1-basic 'flags + ) + ) + ) + (new 'static 'clm-list-item + :description "tiltAdjust " + :track-val #f + :val-func 'clmf-cam-deg + :val-parm0-basic 'tiltAdjust + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'tiltAdjust-offset + :parm1-basic (new 'static 'bfloat :data 91.022224) + ) + ) + ) + (new 'static 'clm-list-item + :description "stickyAngle" + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 #x80000 + :val-parm1-basic 'flags + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 #x80000 + :parm1-basic 'flags + ) + ) + ) + (new 'static 'clm-list-item + :description "airExit" + :track-val #f + :val-func 'clmf-cam-flag + :val-parm0 #x100000 + :val-parm1-basic 'flags + :actions + (new 'static 'boxed-array :type clm-item-action :length 1 :allocated-length 1 (new 'static 'clm-item-action + :button #x4000 + :options #x1 + :func 'clmf-cam-flag-toggle + :parm0 #x100000 + :parm1-basic 'flags + ) + ) + ) + ) ) - ) - (new 'static 'clm-list-item - :description "interpTime " - :track-val #f - :val-func 'clmf-cam-interp-time - :val-parm0-basic 'interpTime - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'interpTime-offset - :parm1-basic (new 'static 'bfloat :data 0.01) - ) - ) - ) - (new 'static 'clm-list-item - :description "sameSide " - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 16 - :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 16 - :parm1-basic 'flags - ) - ) - ) - (new 'static 'clm-list-item - :description "spherical " - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 32 - :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 32 - :parm1-basic 'flags - ) - ) - ) - (new 'static 'clm-list-item - :description "MinLength " - :track-val #f - :val-func 'clmf-cam-meters - :val-parm0-basic 'stringMinLength - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'stringMinLength-offset - :parm1-basic (new 'static 'bfloat :data 409.6) - ) - ) - ) - (new 'static 'clm-list-item - :description "MaxLength " - :track-val #f - :val-func 'clmf-cam-meters - :val-parm0-basic 'stringMaxLength - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'stringMaxLength-offset - :parm1-basic (new 'static 'bfloat :data 409.6) - ) - ) - ) - (new 'static 'clm-list-item - :description "MinHeight " - :track-val #f - :val-func 'clmf-cam-meters - :val-parm0-basic 'stringMinHeight - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'stringMinHeight-offset - :parm1-basic (new 'static 'bfloat :data 409.6) - ) - ) - ) - (new 'static 'clm-list-item - :description "MaxHeight " - :track-val #f - :val-func 'clmf-cam-meters - :val-parm0-basic 'stringMaxHeight - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'stringMaxHeight-offset - :parm1-basic (new 'static 'bfloat :data 409.6) - ) - ) - ) - (new 'static 'clm-list-item - :description "cliffHeight" - :track-val #f - :val-func 'clmf-cam-meters - :val-parm0-basic 'stringCliffHeight - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'stringCliffHeight-offset - :parm1-basic (new 'static 'bfloat :data 409.6) - ) - ) - ) - (new 'static 'clm-list-item - :description "alternates " - :track-val #f - :val-func 'clmf-cam-string - :val-parm0-basic 'alternates - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 0 :allocated-length 0 - ) - ) - (new 'static 'clm-list-item - :description "maxAngle " - :track-val #f - :val-func 'clmf-cam-deg - :val-parm0-basic 'maxAngle - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'maxAngle-offset - :parm1-basic (new 'static 'bfloat :data 91.022224) - ) - ) - ) - (new 'static 'clm-list-item - :description "shrinkAngle" - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 #x4000 - :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 #x4000 - :parm1-basic 'flags - ) - ) - ) - (new 'static 'clm-list-item - :description "noRotate " - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 #x40000 - :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 #x40000 - :parm1-basic 'flags - ) - ) - ) - (new 'static 'clm-list-item - :description "tiltAdjust " - :track-val #f - :val-func 'clmf-cam-deg - :val-parm0-basic 'tiltAdjust - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'tiltAdjust-offset - :parm1-basic (new 'static 'bfloat :data 91.022224) - ) - ) - ) - (new 'static 'clm-list-item - :description "stickyAngle" - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 #x80000 - :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 #x80000 - :parm1-basic 'flags - ) - ) - ) - (new 'static 'clm-list-item - :description "airExit" - :track-val #f - :val-func 'clmf-cam-flag - :val-parm0 #x100000 - :val-parm1-basic 'flags - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-cam-flag-toggle - :parm0 #x100000 - :parm1-basic 'flags - ) - ) - ) ) - ) ) - ) ) ;; definition for symbol *clm-cam-lookthrough*, type clm (define *clm-cam-lookthrough* (new 'static 'clm - :title "---cam-lookthrough---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 5 :allocated-length 5 - (new 'static 'clm-item - :description " " - :button-symbol 'x - :action - (new 'static 'clm-item-action - :button #x4000 - :options #x4 - :func 'clmf-look-through - ) - ) - (new 'static 'clm-item - :description " ok" - :button-symbol 'square - :action - (new 'static 'clm-item-action - :button #x8000 - :options #x1 - :func 'clmf-to-edit - ) - ) - (new 'static 'clm-item - :description "pos/rot" - :button-symbol 'x - :action - (new 'static 'clm-item-action - :button #x4000 - :options #x8 - :func 'clmf-pos-rot - :parm0-basic 'trans-offset - :parm1-basic 'rot-offset - ) - ) - (new 'static 'clm-item - :description " adjust" - :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :func #f) - ) - (new 'static 'clm-list - :tracker #f - :items - (new + :title "---cam-lookthrough---" + :items + (new 'static 'boxed-array - :type clm-list-item :length 1 :allocated-length 1 - (new 'static 'clm-list-item - :description "fov" - :track-val #f - :val-func 'clmf-cam-fov - :val-parm0-basic 'fov - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 1 :allocated-length 1 - (new 'static 'clm-item-action - :button #x4000 - :func 'clmf-cam-float-adjust - :parm0-basic 'fov-offset - :parm1-basic (new 'static 'bfloat :data 91.022224) - ) + :type clm-basic :length 5 :allocated-length 5 + (new 'static 'clm-item + :description " " + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :options #x4 :func 'clmf-look-through) ) - ) + (new 'static 'clm-item + :description " ok" + :button-symbol 'square + :action + (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-to-edit) + ) + (new 'static 'clm-item + :description "pos/rot" + :button-symbol 'x + :action + (new 'static 'clm-item-action + :button #x4000 + :options #x8 + :func 'clmf-pos-rot + :parm0-basic 'trans-offset + :parm1-basic 'rot-offset + ) + ) + (new 'static 'clm-item + :description " adjust" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :func #f) + ) + (new 'static 'clm-list :tracker #f :items (new + 'static + 'boxed-array + :type clm-list-item :length 1 :allocated-length 1 + (new 'static 'clm-list-item + :description "fov" + :track-val #f + :val-func 'clmf-cam-fov + :val-parm0-basic 'fov + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 1 :allocated-length 1 + (new 'static 'clm-item-action + :button #x4000 + :func 'clmf-cam-float-adjust + :parm0-basic 'fov-offset + :parm1-basic (new 'static 'bfloat :data 91.022224) + ) + ) + ) + ) + ) ) - ) ) - ) ) ;; definition for symbol *clm-edit*, type clm (define *clm-edit* (new 'static 'clm - :title "---edit---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 6 :allocated-length 6 - (new 'static 'clm-item - :description " ok" - :button-symbol 'square - :action - (new 'static 'clm-item-action - :button #x8000 - :options #x1 - :func 'clmf-to-select - ) - ) - (new 'static 'clm-item - :description "attributes" - :button-symbol 'x - :action - (new 'static 'clm-item-action :button #x4000 :options #x1 :func #f) - ) - (new 'static 'clm-item - :description " edit part" - :button-symbol 'circle - :action - (new 'static 'clm-item-action :button #x2000 :options #x1 :func #f) - ) - (new 'static 'clm-item - :description "scale/next" - :button-symbol 'r2 - :action - (new 'static 'clm-item-action :button #x200 :func #f) - ) - (new 'static 'clm-item - :description " pos/rot" - :button-symbol 'l2 - :action - (new 'static 'clm-item-action :button #x100 :func #f) - ) - (new 'static 'clm-list - :tracker '*camera-layout-blink* - :items - (new + :title "---edit---" + :items + (new 'static 'boxed-array - :type clm-list-item :length 9 :allocated-length 9 - (new 'static 'clm-list-item - :description "camera " - :track-val 'camera - :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func '*clm-cam-attr* - ) - (new 'static 'clm-item-action - :button #x2000 - :func '*clm-cam-lookthrough* - ) - (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) - (new 'static 'clm-item-action - :button #x100 - :func 'clmf-pos-rot - :parm0-basic 'trans-offset - :parm1-basic 'rot-offset - ) + :type clm-basic :length 6 :allocated-length 6 + (new 'static 'clm-item + :description " ok" + :button-symbol 'square + :action + (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-to-select) ) - ) - (new 'static 'clm-list-item - :description "volume " - :track-val 'volume - :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-to-vol-attr - ) - (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) - (new 'static 'clm-item-action :button #x200 :func 'clmf-next-vol-dpad) - (new 'static 'clm-item-action :button #x100 :func 'clmf-implement) + (new 'static 'clm-item + :description "attributes" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :options #x1 :func #f) ) - ) - (new 'static 'clm-list-item - :description "align " - :track-val 'align - :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 - (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) - (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) - (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) - (new 'static 'clm-item-action - :button #x100 - :func 'clmf-pos-rot - :parm0-basic 'align-offset - :parm1-basic #f - ) + (new 'static 'clm-item + :description " edit part" + :button-symbol 'circle + :action + (new 'static 'clm-item-action :button #x2000 :options #x1 :func #f) ) - ) - (new 'static 'clm-list-item - :description "pivot " - :track-val 'pivot - :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 - (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) - (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) - (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) - (new 'static 'clm-item-action - :button #x100 - :func 'clmf-pos-rot - :parm0-basic 'pivot-offset - :parm1-basic #f - ) + (new 'static 'clm-item + :description "scale/next" + :button-symbol 'r2 + :action + (new 'static 'clm-item-action :button #x200 :func #f) ) - ) - (new 'static 'clm-list-item - :description "interesting" - :track-val 'interesting - :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 - (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) - (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) - (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) - (new 'static 'clm-item-action - :button #x100 - :func 'clmf-pos-rot - :parm0-basic 'interesting-offset - :parm1-basic #f - ) + (new 'static 'clm-item + :description " pos/rot" + :button-symbol 'l2 + :action + (new 'static 'clm-item-action :button #x100 :func #f) ) - ) - (new 'static 'clm-list-item - :description "spline " - :track-val 'spline - :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 - (new 'static 'clm-item-action :button #x4000 :func 'clmf-to-spline-attr) - (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) - (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) - (new 'static 'clm-item-action - :button #x100 - :func 'clmf-pos-rot - :parm0-basic 'spline-offset - :parm1-basic #f - ) + (new 'static 'clm-list + :tracker '*camera-layout-blink* + :items + (new + 'static + 'boxed-array + :type clm-list-item :length 9 :allocated-length 9 + (new 'static 'clm-list-item + :description "camera " + :track-val 'camera + :val-func #f + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 4 :allocated-length 4 + (new 'static 'clm-item-action :button #x4000 :options #x1 :func '*clm-cam-attr*) + (new 'static 'clm-item-action :button #x2000 :func '*clm-cam-lookthrough*) + (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) + (new 'static 'clm-item-action + :button #x100 + :func 'clmf-pos-rot + :parm0-basic 'trans-offset + :parm1-basic 'rot-offset + ) + ) + ) + (new 'static 'clm-list-item + :description "volume " + :track-val 'volume + :val-func #f + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 4 :allocated-length 4 + (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-vol-attr) + (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) + (new 'static 'clm-item-action :button #x200 :func 'clmf-next-vol-dpad) + (new 'static 'clm-item-action :button #x100 :func 'clmf-implement) + ) + ) + (new 'static 'clm-list-item + :description "align " + :track-val 'align + :val-func #f + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 4 :allocated-length 4 + (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) + (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) + (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) + (new 'static 'clm-item-action :button #x100 :func 'clmf-pos-rot :parm0-basic 'align-offset :parm1-basic #f) + ) + ) + (new 'static 'clm-list-item + :description "pivot " + :track-val 'pivot + :val-func #f + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 4 :allocated-length 4 + (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) + (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) + (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) + (new 'static 'clm-item-action :button #x100 :func 'clmf-pos-rot :parm0-basic 'pivot-offset :parm1-basic #f) + ) + ) + (new 'static 'clm-list-item + :description "interesting" + :track-val 'interesting + :val-func #f + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 4 :allocated-length 4 + (new 'static 'clm-item-action :button #x4000 :func 'clmf-bna) + (new 'static 'clm-item-action :button #x2000 :func 'clmf-bna) + (new 'static 'clm-item-action :button #x200 :func 'clmf-bna) + (new 'static 'clm-item-action + :button #x100 + :func 'clmf-pos-rot + :parm0-basic 'interesting-offset + :parm1-basic #f + ) + ) + ) + (new 'static 'clm-list-item + :description "spline " + :track-val 'spline + :val-func #f + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 4 :allocated-length 4 + (new 'static 'clm-item-action :button #x4000 :func 'clmf-to-spline-attr) + (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) + (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) + (new 'static 'clm-item-action :button #x100 :func 'clmf-pos-rot :parm0-basic 'spline-offset :parm1-basic #f) + ) + ) + (new 'static 'clm-list-item + :description "intro " + :track-val 'intro + :val-func #f + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 4 :allocated-length 4 + (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-intro-attr) + (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) + (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) + (new 'static 'clm-item-action :button #x100 :func 'clmf-implement) + ) + ) + (new 'static 'clm-list-item + :description "index " + :track-val 'index + :val-func #f + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 4 :allocated-length 4 + (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-index-attr) + (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) + (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) + (new 'static 'clm-item-action :button #x100 :func 'clmf-pos-rot :parm0-basic 'campoints-offset) + ) + ) + (new 'static 'clm-list-item + :description "focalpull" + :track-val 'focalpull + :val-func #f + :actions + (new + 'static + 'boxed-array + :type clm-item-action :length 4 :allocated-length 4 + (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-to-focalpull-attr) + (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) + (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) + (new 'static 'clm-item-action :button #x100 :func 'clmf-implement) + ) + ) + ) ) - ) - (new 'static 'clm-list-item - :description "intro " - :track-val 'intro - :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-to-intro-attr - ) - (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) - (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) - (new 'static 'clm-item-action :button #x100 :func 'clmf-implement) - ) - ) - (new 'static 'clm-list-item - :description "index " - :track-val 'index - :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-to-index-attr - ) - (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) - (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) - (new 'static 'clm-item-action - :button #x100 - :func 'clmf-pos-rot - :parm0-basic 'campoints-offset - ) - ) - ) - (new 'static 'clm-list-item - :description "focalpull" - :track-val 'focalpull - :val-func #f - :actions - (new - 'static - 'boxed-array - :type clm-item-action :length 4 :allocated-length 4 - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-to-focalpull-attr - ) - (new 'static 'clm-item-action :button #x2000 :func 'clmf-implement) - (new 'static 'clm-item-action :button #x200 :func 'clmf-implement) - (new 'static 'clm-item-action :button #x100 :func 'clmf-implement) - ) - ) ) - ) ) - ) ) ;; definition for symbol *clm-save-all*, type clm (define *clm-save-all* (new 'static 'clm - :title "---save all?---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 - (new 'static 'clm-item - :description " save all" - :button-symbol 'x - :action - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-save-all - :parm0 16 + :title "---save all?---" + :items + (new + 'static + 'boxed-array + :type clm-basic :length 3 :allocated-length 3 + (new 'static 'clm-item + :description " save all" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-save-all :parm0 16) + ) + (new 'static 'clm-item + :description "print all" + :button-symbol 'square + :action + (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-save-all :parm0 8) + ) + (new 'static 'clm-item + :description " done" + :button-symbol 'triangle + :action + (new 'static 'clm-item-action :button #x1000 :options #x1 :func 'clmf-to-select) + ) ) - ) - (new 'static 'clm-item - :description "print all" - :button-symbol 'square - :action - (new 'static 'clm-item-action - :button #x8000 - :options #x1 - :func 'clmf-save-all - :parm0 8 - ) - ) - (new 'static 'clm-item - :description " done" - :button-symbol 'triangle - :action - (new 'static 'clm-item-action - :button #x1000 - :options #x1 - :func 'clmf-to-select - ) - ) ) - ) ) ;; definition for symbol *clm-save-one*, type clm (define *clm-save-one* (new 'static 'clm - :title "---single save?---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 3 :allocated-length 3 - (new 'static 'clm-item - :description " single save" - :button-symbol 'x - :action - (new 'static 'clm-item-action - :button #x4000 - :options #x1 - :func 'clmf-save-one - :parm0 16 + :title "---single save?---" + :items + (new + 'static + 'boxed-array + :type clm-basic :length 3 :allocated-length 3 + (new 'static 'clm-item + :description " single save" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :options #x1 :func 'clmf-save-one :parm0 16) + ) + (new 'static 'clm-item + :description "single print" + :button-symbol 'square + :action + (new 'static 'clm-item-action :button #x8000 :options #x1 :func 'clmf-save-one :parm0 8) + ) + (new 'static 'clm-item + :description " done" + :button-symbol 'triangle + :action + (new 'static 'clm-item-action :button #x1000 :options #x1 :func 'clmf-to-select) + ) ) - ) - (new 'static 'clm-item - :description "single print" - :button-symbol 'square - :action - (new 'static 'clm-item-action - :button #x8000 - :options #x1 - :func 'clmf-save-one - :parm0 8 - ) - ) - (new 'static 'clm-item - :description " done" - :button-symbol 'triangle - :action - (new 'static 'clm-item-action - :button #x1000 - :options #x1 - :func 'clmf-to-select - ) - ) ) - ) ) ;; definition for symbol *clm-select*, type clm (define *clm-select* (new 'static 'clm - :title "---camera---" - :items - (new - 'static - 'boxed-array - :type clm-basic :length 6 :allocated-length 6 - (new 'static 'clm-item - :description " edit" - :button-symbol 'x - :action - (new 'static 'clm-item-action - :button #x4000 - :options #x3 - :func 'clmf-to-edit-cam + :title "---camera---" + :items + (new + 'static + 'boxed-array + :type clm-basic :length 6 :allocated-length 6 + (new 'static 'clm-item + :description " edit" + :button-symbol 'x + :action + (new 'static 'clm-item-action :button #x4000 :options #x3 :func 'clmf-to-edit-cam) + ) + (new 'static 'clm-item + :description "save one" + :button-symbol 'triangle + :action + (new 'static 'clm-item-action :button #x1000 :options #x3 :func '*clm-save-one*) + ) + (new 'static 'clm-item + :description " next" + :button-symbol 'down + :action + (new 'static 'clm-item-action :button #x40 :options #x3 :func 'clmf-next-entity :parm0 8) + ) + (new 'static 'clm-item + :description " prev" + :button-symbol 'up + :action + (new 'static 'clm-item-action :button #x10 :options #x3 :func 'clmf-next-entity :parm0 -8) + ) + (new 'static 'clm-item + :description " next 5" + :button-symbol 'right + :action + (new 'static 'clm-item-action :button #x20 :options #x3 :func 'clmf-next-entity :parm0 40) + ) + (new 'static 'clm-item + :description " prev 5" + :button-symbol 'left + :action + (new 'static 'clm-item-action :button #x80 :options #x3 :func 'clmf-next-entity :parm0 -40) + ) ) - ) - (new 'static 'clm-item - :description "save one" - :button-symbol 'triangle - :action - (new 'static 'clm-item-action - :button #x1000 - :options #x3 - :func '*clm-save-one* - ) - ) - (new 'static 'clm-item - :description " next" - :button-symbol 'down - :action - (new 'static 'clm-item-action - :button #x40 - :options #x3 - :func 'clmf-next-entity - :parm0 8 - ) - ) - (new 'static 'clm-item - :description " prev" - :button-symbol 'up - :action - (new 'static 'clm-item-action - :button #x10 - :options #x3 - :func 'clmf-next-entity - :parm0 -8 - ) - ) - (new 'static 'clm-item - :description " next 5" - :button-symbol 'right - :action - (new 'static 'clm-item-action - :button #x20 - :options #x3 - :func 'clmf-next-entity - :parm0 40 - ) - ) - (new 'static 'clm-item - :description " prev 5" - :button-symbol 'left - :action - (new 'static 'clm-item-action - :button #x80 - :options #x3 - :func 'clmf-next-entity - :parm0 -40 - ) - ) ) - ) ) ;; definition for symbol *clm*, type clm @@ -4899,64 +3837,56 @@ ;; definition for function cam-layout-do-action (defbehavior cam-layout-do-action cam-layout ((arg0 clm-item-action)) (let ((s5-0 (-> arg0 func value))) - (cond - ((not s5-0) - #f - ) - ((zero? s5-0) - #f - ) - ((and (not (-> self cam-entity)) (logtest? (-> arg0 options) 2)) - #f - ) - ((and - (logtest? (-> arg0 options) 8) - (logtest? (-> *cpad-list* cpads 0 button0-abs 0) (-> arg0 button)) + (cond + ((not s5-0) + #f + ) + ((zero? s5-0) + #f + ) + ((and (not (-> self cam-entity)) (logtest? (-> arg0 options) 2)) + #f + ) + ((and (logtest? (-> arg0 options) 8) (logtest? (-> *cpad-list* cpads 0 button0-abs 0) (-> arg0 button))) + #f + ) + ((and + (zero? (logand (-> arg0 options) 12)) + (logtest? (-> arg0 options) 1) + (zero? (logand (-> *cpad-list* cpads 0 button0-rel 0) (-> arg0 button))) + ) + #f + ) + ((and + (zero? (logand (-> arg0 options) 13)) + (zero? (logand (-> *cpad-list* cpads 0 button0-abs 0) (-> arg0 button))) + ) + #f + ) + ((type-type? (-> (the-as basic s5-0) type) clm) + (set! *clm* (the-as clm s5-0)) + #t + ) + ((type-type? (-> (the-as basic s5-0) type) function) + ((the-as (function object symbol symbol) s5-0) (-> arg0 parm0) (the-as symbol (-> arg0 parm1-basic))) + ) ) - #f - ) - ((and - (zero? (logand (-> arg0 options) 12)) - (logtest? (-> arg0 options) 1) - (zero? (logand (-> *cpad-list* cpads 0 button0-rel 0) (-> arg0 button))) - ) - #f - ) - ((and - (zero? (logand (-> arg0 options) 13)) - (zero? (logand (-> *cpad-list* cpads 0 button0-abs 0) (-> arg0 button))) - ) - #f - ) - ((type-type? (-> (the-as basic s5-0) type) clm) - (set! *clm* (the-as clm s5-0)) - #t - ) - ((type-type? (-> (the-as basic s5-0) type) function) - ((the-as (function object symbol symbol) s5-0) - (-> arg0 parm0) - (the-as symbol (-> arg0 parm1-basic)) - ) - ) ) - ) ) ;; definition for function cam-layout-function-call -(defbehavior - cam-layout-function-call cam-layout - ((arg0 symbol) (arg1 string) (arg2 int) (arg3 basic)) +(defbehavior cam-layout-function-call cam-layout ((arg0 symbol) (arg1 string) (arg2 int) (arg3 basic)) (let ((gp-0 (-> arg0 value))) - (cond - ((not gp-0) - ) - ((zero? gp-0) - ) - ((type-type? (-> (the-as basic gp-0) type) function) - ((the-as (function string int basic none) gp-0) arg1 arg2 arg3) - ) + (cond + ((not gp-0) + ) + ((zero? gp-0) + ) + ((type-type? (-> (the-as basic gp-0) type) function) + ((the-as (function string int basic none) gp-0) arg1 arg2 arg3) + ) + ) ) - ) #f ) @@ -4966,180 +3896,143 @@ (set! *camera-layout-message-ypos* 30) (+! (-> *CAM_LAYOUT-bank* spline-t) (-> *CAM_LAYOUT-bank* spline-step)) (if (< 1.01 (-> *CAM_LAYOUT-bank* spline-t)) - (set! (-> *CAM_LAYOUT-bank* spline-t) -0.09) - ) + (set! (-> *CAM_LAYOUT-bank* spline-t) -0.09) + ) (+! (-> *CAM_LAYOUT-bank* intro-t) (-> *CAM_LAYOUT-bank* intro-step)) (if (< 1.01 (-> *CAM_LAYOUT-bank* intro-t)) - (set! (-> *CAM_LAYOUT-bank* intro-t) -0.09) - ) + (set! (-> *CAM_LAYOUT-bank* intro-t) -0.09) + ) (let ((s5-0 30)) - (let ((s4-0 (cam-state-from-entity (-> self cam-entity)))) - (set! *camera-read-analog* #t) - (let ((s3-0 (-> self cam-entity))) - (clear *temp-string*) - (if s3-0 - (format - *temp-string* - "\"~S\"~%" - (res-lump-struct s3-0 'name structure :time (the-as float -1000000000.0)) - ) - ) - ) - (if (not s4-0) - (format *temp-string* "no cameras in this level") - (format *temp-string* "~S" (-> s4-0 name)) - ) - ) - (cam-layout-print 320 s5-0 *temp-string*) - (let ((s5-1 (+ s5-0 16))) - (clear *temp-string*) - (format *temp-string* "~S~%" (-> arg0 title)) - (cam-layout-print 320 s5-1 *temp-string*) - (let ((s4-1 (+ s5-1 8))) - (dotimes (s5-2 (-> arg0 items length)) - (cond - ((type-type? (-> arg0 items s5-2 type) clm-list) + (let ((s4-0 (cam-state-from-entity (-> self cam-entity)))) + (set! *camera-read-analog* #t) + (let ((s3-0 (-> self cam-entity))) (clear *temp-string*) - (format *temp-string* "------------") - (cam-layout-print 320 s4-1 *temp-string*) - (let ((s4-2 (+ s4-1 8))) - (let ((s3-1 (the-as clm-list (-> arg0 items s5-2)))) - (dotimes (s2-1 (-> s3-1 items length)) - (clear *temp-string*) - (format *temp-string* "~S~S" (if (= s2-1 (-> s3-1 cur-list-item)) - "> " - " " - ) - (-> s3-1 items s2-1 description) + (if s3-0 + (format *temp-string* "\"~S\"~%" (res-lump-struct s3-0 'name structure :time (the-as float -1000000000.0))) ) - (cam-layout-function-call - (-> s3-1 items s2-1 val-func) - *temp-string* - (-> s3-1 items s2-1 val-parm0) - (-> s3-1 items s2-1 val-parm1-basic) - ) - (cam-layout-print 320 s4-2 *temp-string*) - (+! s4-2 8) - ) + ) + (if (not s4-0) + (format *temp-string* "no cameras in this level") + (format *temp-string* "~S" (-> s4-0 name)) ) - (clear *temp-string*) - (format *temp-string* "------------") - (cam-layout-print 320 s4-2 *temp-string*) - (set! s4-1 (+ s4-2 8)) - ) - ) - ((and - (not (-> self cam-entity)) - (logtest? (-> (the-as clm-item (-> arg0 items s5-2)) action options) 2) - ) - ) - ((logtest? (-> (the-as clm-item (-> arg0 items s5-2)) action options) 4) - ) - (else - (let ((s3-2 (-> arg0 items s5-2))) - (clear *temp-string*) - (format - *temp-string* - "~S: ~A~%" - (-> (the-as clm-item s3-2) description) - (if - (logtest? - (-> (the-as clm-item (-> arg0 items s5-2)) action options) - 8 - ) - 'default - (-> (the-as clm-item s3-2) button-symbol) - ) - ) - ) - (cam-layout-print 320 s4-1 *temp-string*) - (+! s4-1 8) - ) - ) ) - ) - ) - ) - (if (= *master-mode* 'menu) - (goto cfg-65) - ) - (dotimes (s5-3 (-> arg0 items length)) - (cond - ((type-type? (-> arg0 items s5-3 type) clm-list) - (let ((s4-3 (-> arg0 items s5-3)) - (s3-3 0) - ) - (if (-> (the-as clm-list s4-3) tracker) - (set! - (-> (the-as clm-list s4-3) tracker value) - (-> - (the-as clm-list s4-3) - items - (-> (the-as clm-list s4-3) cur-list-item) - track-val - ) - ) - ) - (dotimes - (s2-2 - (-> - (the-as clm-list s4-3) - items - (-> (the-as clm-list s4-3) cur-list-item) - actions - length - ) - ) - (if - (cam-layout-do-action - (-> - (the-as clm-list s4-3) - items - (-> (the-as clm-list s4-3) cur-list-item) - actions - s2-2 + (cam-layout-print 320 s5-0 *temp-string*) + (let ((s5-1 (+ s5-0 16))) + (clear *temp-string*) + (format *temp-string* "~S~%" (-> arg0 title)) + (cam-layout-print 320 s5-1 *temp-string*) + (let ((s4-1 (+ s5-1 8))) + (dotimes (s5-2 (-> arg0 items length)) + (cond + ((type-type? (-> arg0 items s5-2 type) clm-list) + (clear *temp-string*) + (format *temp-string* "------------") + (cam-layout-print 320 s4-1 *temp-string*) + (let ((s4-2 (+ s4-1 8))) + (let ((s3-1 (the-as clm-list (-> arg0 items s5-2)))) + (dotimes (s2-1 (-> s3-1 items length)) + (clear *temp-string*) + (format + *temp-string* + "~S~S" + (if (= s2-1 (-> s3-1 cur-list-item)) + "> " + " " + ) + (-> s3-1 items s2-1 description) + ) + (cam-layout-function-call + (-> s3-1 items s2-1 val-func) + *temp-string* + (-> s3-1 items s2-1 val-parm0) + (-> s3-1 items s2-1 val-parm1-basic) + ) + (cam-layout-print 320 s4-2 *temp-string*) + (+! s4-2 8) + ) + ) + (clear *temp-string*) + (format *temp-string* "------------") + (cam-layout-print 320 s4-2 *temp-string*) + (set! s4-1 (+ s4-2 8)) + ) + ) + ((and (not (-> self cam-entity)) (logtest? (-> (the-as clm-item (-> arg0 items s5-2)) action options) 2)) + ) + ((logtest? (-> (the-as clm-item (-> arg0 items s5-2)) action options) 4) + ) + (else + (let ((s3-2 (-> arg0 items s5-2))) + (clear *temp-string*) + (format + *temp-string* + "~S: ~A~%" + (-> (the-as clm-item s3-2) description) + (if (logtest? (-> (the-as clm-item (-> arg0 items s5-2)) action options) 8) + 'default + (-> (the-as clm-item s3-2) button-symbol) + ) + ) + ) + (cam-layout-print 320 s4-1 *temp-string*) + (+! s4-1 8) + ) + ) ) - ) - (goto cfg-65) ) + ) + ) + (if (= *master-mode* 'menu) + (goto cfg-65) + ) + (dotimes (s5-3 (-> arg0 items length)) + (cond + ((type-type? (-> arg0 items s5-3 type) clm-list) + (let ((s4-3 (-> arg0 items s5-3)) + (s3-3 0) + ) + (if (-> (the-as clm-list s4-3) tracker) + (set! (-> (the-as clm-list s4-3) tracker value) + (-> (the-as clm-list s4-3) items (-> (the-as clm-list s4-3) cur-list-item) track-val) + ) + ) + (dotimes (s2-2 (-> (the-as clm-list s4-3) items (-> (the-as clm-list s4-3) cur-list-item) actions length)) + (if (cam-layout-do-action + (-> (the-as clm-list s4-3) items (-> (the-as clm-list s4-3) cur-list-item) actions s2-2) + ) + (goto cfg-65) + ) + ) + (cond + ((cpad-pressed? 0 down) + (set! s3-3 1) + ) + ((cpad-pressed? 0 right) + (set! s3-3 1) + ) + ((cpad-pressed? 0 up) + (set! s3-3 -1) + ) + ((cpad-pressed? 0 left) + (set! s3-3 -1) + ) + ) + (when (nonzero? s3-3) + (set! (-> (the-as clm-list s4-3) cur-list-item) + (mod (+ (-> (the-as clm-list s4-3) cur-list-item) s3-3) (-> (the-as clm-list s4-3) items length)) + ) + (while (< (-> (the-as clm-list s4-3) cur-list-item) 0) + (+! (-> (the-as clm-list s4-3) cur-list-item) (-> (the-as clm-list s4-3) items length)) + ) + (goto cfg-65) + ) + ) ) - (cond - ((cpad-pressed? 0 down) - (set! s3-3 1) - ) - ((cpad-pressed? 0 right) - (set! s3-3 1) - ) - ((cpad-pressed? 0 up) - (set! s3-3 -1) - ) - ((cpad-pressed? 0 left) - (set! s3-3 -1) - ) - ) - (when (nonzero? s3-3) - (set! - (-> (the-as clm-list s4-3) cur-list-item) - (mod - (+ (-> (the-as clm-list s4-3) cur-list-item) s3-3) - (-> (the-as clm-list s4-3) items length) - ) - ) - (while (< (-> (the-as clm-list s4-3) cur-list-item) 0) - (+! - (-> (the-as clm-list s4-3) cur-list-item) - (-> (the-as clm-list s4-3) items length) - ) - ) + ((cam-layout-do-action (-> (the-as clm-item (-> arg0 items s5-3)) action)) (goto cfg-65) ) ) - ) - ((cam-layout-do-action (-> (the-as clm-item (-> arg0 items s5-3)) action)) - (goto cfg-65) - ) ) - ) (label cfg-65) (none) ) @@ -5148,14 +4041,14 @@ (defstate cam-layout-active (cam-layout) :code (behavior () - (while #t - (cam-layout-entity-info (the-as entity-actor (-> self cam-entity))) - (cam-layout-entity-volume-info) - (cam-layout-do-menu *clm*) - (suspend) + (while #t + (cam-layout-entity-info (the-as entity-actor (-> self cam-entity))) + (cam-layout-entity-volume-info) + (cam-layout-do-menu *clm*) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for function cam-layout-init @@ -5164,17 +4057,17 @@ (set! (-> self res-key) -1000000000.0) (set! (-> self num-entities) 0) (let ((v1-2 (-> *camera-engine* alive-list next0))) - *camera-engine* - (let ((a0-2 (-> v1-2 next0))) - (while (!= v1-2 (-> *camera-engine* alive-list-end)) - (-> (the-as connection v1-2) param1) - (+! (-> self num-entities) 1) - (set! v1-2 a0-2) - *camera-engine* - (set! a0-2 (-> a0-2 next0)) - ) + *camera-engine* + (let ((a0-2 (-> v1-2 next0))) + (while (!= v1-2 (-> *camera-engine* alive-list-end)) + (-> (the-as connection v1-2) param1) + (+! (-> self num-entities) 1) + (set! v1-2 a0-2) + *camera-engine* + (set! a0-2 (-> a0-2 next0)) + ) + ) ) - ) (set! (-> self cur-entity) *last-cur-entity*) (clmf-next-entity 0) (set! *clm* *clm-select*) @@ -5192,44 +4085,36 @@ ;; INFO: Return type mismatch symbol vs none. (defun cam-layout-start () (let ((a0-1 (new 'global 'file-stream "dd_next/caminfo/garbage" 'read))) - (file-stream-close a0-1) - ) + (file-stream-close a0-1) + ) (cond - ((not *cam-layout*) - (let* ((gp-0 (get-process *camera-dead-pool* cam-layout #x4000)) - (v1-4 (when gp-0 - (let ((t9-3 (method-of-type cam-layout activate))) - (t9-3 - (the-as cam-layout gp-0) - *default-pool* - 'cam-layout - (the-as pointer #x70004000) + ((not *cam-layout*) + (let* ((gp-0 (get-process *camera-dead-pool* cam-layout #x4000)) + (v1-4 (when gp-0 + (let ((t9-3 (method-of-type cam-layout activate))) + (t9-3 (the-as cam-layout gp-0) *default-pool* 'cam-layout (the-as pointer #x70004000)) + ) + (run-next-time-in-process gp-0 cam-layout-init) + (-> gp-0 ppointer) ) - ) - (run-next-time-in-process gp-0 cam-layout-init) - (-> gp-0 ppointer) ) ) + (cond + (v1-4 + (logclear! (-> v1-4 0 mask) (process-mask pause menu)) + (set! *cam-layout* #t) + (set! *camera-layout-blink* #f) ) - (cond - (v1-4 - (logclear! (-> v1-4 0 mask) (process-mask pause menu)) - (set! *cam-layout* #t) - (set! *camera-layout-blink* #f) + (else + (format 0 "ERROR : no process available to start cam editing mode~%") + ) + ) ) - (else - (format - 0 - "ERROR : no process available to start cam editing mode~%" - ) - ) - ) ) + (else + (format 0 "ERROR : cam editing mode already started~%") + ) ) - (else - (format 0 "ERROR : cam editing mode already started~%") - ) - ) *cam-layout* (none) ) diff --git a/test/decompiler/reference/engine/camera/cam-master_REF.gc b/test/decompiler/reference/engine/camera/cam-master_REF.gc index 62b3af4a81..17311ef07b 100644 --- a/test/decompiler/reference/engine/camera/cam-master_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-master_REF.gc @@ -20,55 +20,29 @@ ;; definition for method 3 of type camera-master-bank (defmethod inspect camera-master-bank ((obj camera-master-bank)) (format #t "[~8x] ~A~%" obj (-> obj type)) - (format - #t - "~Tonscreen-head-height: (meters ~m)~%" - (-> obj onscreen-head-height) - ) - (format - #t - "~Tonscreen-foot-height: (meters ~m)~%" - (-> obj onscreen-foot-height) - ) + (format #t "~Tonscreen-head-height: (meters ~m)~%" (-> obj onscreen-head-height)) + (format #t "~Tonscreen-foot-height: (meters ~m)~%" (-> obj onscreen-foot-height)) (format #t "~Ttarget-height: (meters ~m)~%" (-> obj target-height)) - (format - #t - "~Tup-move-to-pitch-ratio-in-air: ~f~%" - (-> obj up-move-to-pitch-ratio-in-air) - ) - (format - #t - "~Tdown-move-to-pitch-ratio-in-air: ~f~%" - (-> obj down-move-to-pitch-ratio-in-air) - ) - (format - #t - "~Tup-move-to-pitch-on-ground: ~f~%" - (-> obj up-move-to-pitch-on-ground) - ) - (format - #t - "~Tdown-move-to-pitch-on-ground: ~f~%" - (-> obj down-move-to-pitch-on-ground) - ) + (format #t "~Tup-move-to-pitch-ratio-in-air: ~f~%" (-> obj up-move-to-pitch-ratio-in-air)) + (format #t "~Tdown-move-to-pitch-ratio-in-air: ~f~%" (-> obj down-move-to-pitch-ratio-in-air)) + (format #t "~Tup-move-to-pitch-on-ground: ~f~%" (-> obj up-move-to-pitch-on-ground)) + (format #t "~Tdown-move-to-pitch-on-ground: ~f~%" (-> obj down-move-to-pitch-on-ground)) (format #t "~Tpitch-off-blend: ~f~%" (-> obj pitch-off-blend)) obj ) ;; definition for symbol *CAMERA_MASTER-bank*, type camera-master-bank -(define - *CAMERA_MASTER-bank* - (new 'static 'camera-master-bank - :onscreen-head-height (meters 2.65) - :onscreen-foot-height (meters -0.5) - :target-height (meters 2.15) - :up-move-to-pitch-ratio-in-air 1.0 - :down-move-to-pitch-ratio-in-air 0.5 - :up-move-to-pitch-on-ground 0.9 - :down-move-to-pitch-on-ground 0.9 - :pitch-off-blend 0.5 - ) - ) +(define *CAMERA_MASTER-bank* (new 'static 'camera-master-bank + :onscreen-head-height (meters 2.65) + :onscreen-foot-height (meters -0.5) + :target-height (meters 2.15) + :up-move-to-pitch-ratio-in-air 1.0 + :down-move-to-pitch-ratio-in-air 0.5 + :up-move-to-pitch-on-ground 0.9 + :down-move-to-pitch-on-ground 0.9 + :pitch-off-blend 0.5 + ) + ) ;; definition for function reset-follow ;; Used lq/sq @@ -79,9 +53,9 @@ (set! (-> self tpos-curr-adj quad) (-> self tpos-old quad)) (set! (-> self tpos-tgt quad) (-> self tpos-old quad)) (let ((f0-0 0.0)) - (set! (-> self upspeed) f0-0) - f0-0 - ) + (set! (-> self upspeed) f0-0) + f0-0 + ) ) ;; definition for function reset-target-tracking @@ -94,113 +68,77 @@ (set! (-> self tpos-curr-adj quad) (-> self tpos-old quad)) (set! (-> self tpos-tgt quad) (-> self tpos-old quad)) (quaternion->matrix (-> self tgt-rot-mat) (-> *target* control dir-targ)) - (quaternion->matrix - (-> self tgt-face-mat) - (-> *target* control unknown-quaternion00) - ) + (quaternion->matrix (-> self tgt-face-mat) (-> *target* control unknown-quaternion00)) (vector-reset! (-> self pitch-off)) (set! (-> self upspeed) 0.0) (set! (-> self foot-offset) (-> *CAMERA_MASTER-bank* onscreen-foot-height)) (set! (-> self head-offset) (-> *CAMERA_MASTER-bank* onscreen-head-height)) (set! (-> self target-height) (-> *CAMERA_MASTER-bank* target-height)) - (set! - (-> self on-ground) - (not - (and - (logtest? (-> *target* control unknown-surface00 flags) 2048) - (zero? (logand (-> *target* control status) 1)) - ) - ) - ) + (set! (-> self on-ground) (not (and + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) + ) + ) + ) (set! (-> self on-pole) #f) (set! (-> self ease-t) 1.0) (set! (-> self string-max target y) (-> self stringMaxHeight)) (set! (-> self string-max target z) (-> self stringMaxLength)) - (set! - (-> self string-push-z) - (fmax (-> self string-min value z) (-> *CAMERA-bank* default-string-push-z)) - ) + (set! (-> self string-push-z) (fmax (-> self string-min value z) (-> *CAMERA-bank* default-string-push-z))) (cond - ((>= (- (-> *display* base-frame-counter) (if *target* - (-> *target* neck notice-time) - 0 - ) + ((>= (- (-> *display* base-frame-counter) (if *target* + (-> *target* neck notice-time) + 0 + ) + ) + (the-as int (-> *CAMERA-bank* attack-timeout)) ) - (the-as int (-> *CAMERA-bank* attack-timeout)) + (set! (-> self being-attacked) #f) ) - (set! (-> self being-attacked) #f) + (else + (set! (-> self attack-start) (the-as uint (-> *display* base-frame-counter))) + (set! (-> self being-attacked) #t) + (when (and + (zero? (logand (-> self master-options) 64)) + (or (!= (-> last-try-to-look-at-data horz) 0.0) (!= (-> last-try-to-look-at-data vert) 0.0)) + ) + (set! (-> self string-max target y) (fmax (-> self string-max target y) (-> last-try-to-look-at-data vert))) + (set! (-> self string-max target z) (fmax (-> self string-max target z) (-> last-try-to-look-at-data horz))) + (set! (-> self string-push-z) (fmax (-> self string-push-z) (-> self string-max target z))) + ) + ) ) - (else - (set! - (-> self attack-start) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! (-> self being-attacked) #t) - (when - (and - (zero? (logand (-> self master-options) 64)) - (or - (!= (-> last-try-to-look-at-data horz) 0.0) - (!= (-> last-try-to-look-at-data vert) 0.0) - ) - ) - (set! - (-> self string-max target y) - (fmax (-> self string-max target y) (-> last-try-to-look-at-data vert)) - ) - (set! - (-> self string-max target z) - (fmax (-> self string-max target z) (-> last-try-to-look-at-data horz)) - ) - (set! - (-> self string-push-z) - (fmax (-> self string-push-z) (-> self string-max target z)) - ) - ) - ) - ) (cond - ((and - (logtest? (-> *target* water flags) 4096) - (zero? (logand (-> *target* water flags) 16)) + ((and (logtest? (-> *target* water flags) 4096) (zero? (logand (-> *target* water flags) 16))) + (set! (-> self under-water) 2) ) - (set! (-> self under-water) 2) + (else + (set! (-> self under-water) 0) + 0 + ) ) - (else - (set! (-> self under-water) 0) - 0 - ) - ) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector--float*! - gp-1 - (-> self tpos-curr-adj) - (-> self local-down) - (-> self target-height) + (vector--float*! gp-1 (-> self tpos-curr-adj) (-> self local-down) (-> self target-height)) + (the-as symbol (TODO-RENAME-10 (-> self target-spline) gp-1)) ) - (the-as symbol (TODO-RENAME-10 (-> self target-spline) gp-1)) - ) ) ;; definition for function reset-drawable-follow ;; Used lq/sq (defbehavior reset-drawable-follow camera-master () (let ((v1-2 (the-as target (-> self drawable-target process 0)))) - (if (nonzero? (-> v1-2 node-list)) - (vector<-cspace! - (-> self tpos-old) - (-> v1-2 node-list data (-> self which-bone)) - ) - (set! (-> self tpos-old quad) (-> v1-2 control trans quad)) + (if (nonzero? (-> v1-2 node-list)) + (vector<-cspace! (-> self tpos-old) (-> v1-2 node-list data (-> self which-bone))) + (set! (-> self tpos-old quad) (-> v1-2 control trans quad)) + ) ) - ) (set! (-> self tpos-curr quad) (-> self tpos-old quad)) (set! (-> self tpos-old-adj quad) (-> self tpos-old quad)) (set! (-> self tpos-curr-adj quad) (-> self tpos-old quad)) (let ((f0-0 0.0)) - (set! (-> self upspeed) f0-0) - f0-0 - ) + (set! (-> self upspeed) f0-0) + f0-0 + ) ) ;; definition for function reset-drawable-tracking @@ -208,56 +146,53 @@ ;; Used lq/sq (defbehavior reset-drawable-tracking camera-master () (let ((gp-0 (the-as target (-> self drawable-target process 0)))) - (cond - ((nonzero? (-> gp-0 node-list)) - (vector<-cspace! - (-> self tpos-old) - (-> gp-0 node-list data (-> self which-bone)) + (cond + ((nonzero? (-> gp-0 node-list)) + (vector<-cspace! (-> self tpos-old) (-> gp-0 node-list data (-> self which-bone))) + (let* ((v1-6 (-> self tgt-rot-mat)) + (a3-0 (-> gp-0 node-list data (-> self which-bone) bone transform)) + (a0-4 (-> a3-0 vector 0 quad)) + (a1-4 (-> a3-0 vector 1 quad)) + (a2-0 (-> a3-0 vector 2 quad)) + (a3-1 (-> a3-0 vector 3 quad)) + ) + (set! (-> v1-6 vector 0 quad) a0-4) + (set! (-> v1-6 vector 1 quad) a1-4) + (set! (-> v1-6 vector 2 quad) a2-0) + (set! (-> v1-6 vector 3 quad) a3-1) + ) + (set! (-> self tgt-rot-mat vector 3 quad) (the-as uint128 0)) + (let* ((v1-8 (-> self tgt-face-mat)) + (a3-2 (-> self tgt-rot-mat)) + (a0-5 (-> a3-2 vector 0 quad)) + (a1-5 (-> a3-2 vector 1 quad)) + (a2-1 (-> a3-2 vector 2 quad)) + (a3-3 (-> a3-2 vector 3 quad)) + ) + (set! (-> v1-8 vector 0 quad) a0-5) + (set! (-> v1-8 vector 1 quad) a1-5) + (set! (-> v1-8 vector 2 quad) a2-1) + (set! (-> v1-8 vector 3 quad) a3-3) + ) + ) + (else + (set! (-> self tpos-old quad) (-> gp-0 control trans quad)) + (quaternion->matrix (-> self tgt-rot-mat) (-> gp-0 control quat)) + (let* ((v1-11 (-> self tgt-face-mat)) + (a3-4 (-> self tgt-rot-mat)) + (a0-10 (-> a3-4 vector 0 quad)) + (a1-7 (-> a3-4 vector 1 quad)) + (a2-2 (-> a3-4 vector 2 quad)) + (a3-5 (-> a3-4 vector 3 quad)) + ) + (set! (-> v1-11 vector 0 quad) a0-10) + (set! (-> v1-11 vector 1 quad) a1-7) + (set! (-> v1-11 vector 2 quad) a2-2) + (set! (-> v1-11 vector 3 quad) a3-5) + ) + ) ) - (let* ((v1-6 (-> self tgt-rot-mat)) - (a3-0 (-> gp-0 node-list data (-> self which-bone) bone transform)) - (a0-4 (-> a3-0 vector 0 quad)) - (a1-4 (-> a3-0 vector 1 quad)) - (a2-0 (-> a3-0 vector 2 quad)) - (a3-1 (-> a3-0 vector 3 quad)) - ) - (set! (-> v1-6 vector 0 quad) a0-4) - (set! (-> v1-6 vector 1 quad) a1-4) - (set! (-> v1-6 vector 2 quad) a2-0) - (set! (-> v1-6 vector 3 quad) a3-1) - ) - (set! (-> self tgt-rot-mat vector 3 quad) (the-as uint128 0)) - (let* ((v1-8 (-> self tgt-face-mat)) - (a3-2 (-> self tgt-rot-mat)) - (a0-5 (-> a3-2 vector 0 quad)) - (a1-5 (-> a3-2 vector 1 quad)) - (a2-1 (-> a3-2 vector 2 quad)) - (a3-3 (-> a3-2 vector 3 quad)) - ) - (set! (-> v1-8 vector 0 quad) a0-5) - (set! (-> v1-8 vector 1 quad) a1-5) - (set! (-> v1-8 vector 2 quad) a2-1) - (set! (-> v1-8 vector 3 quad) a3-3) - ) - ) - (else - (set! (-> self tpos-old quad) (-> gp-0 control trans quad)) - (quaternion->matrix (-> self tgt-rot-mat) (-> gp-0 control quat)) - (let* ((v1-11 (-> self tgt-face-mat)) - (a3-4 (-> self tgt-rot-mat)) - (a0-10 (-> a3-4 vector 0 quad)) - (a1-7 (-> a3-4 vector 1 quad)) - (a2-2 (-> a3-4 vector 2 quad)) - (a3-5 (-> a3-4 vector 3 quad)) - ) - (set! (-> v1-11 vector 0 quad) a0-10) - (set! (-> v1-11 vector 1 quad) a1-7) - (set! (-> v1-11 vector 2 quad) a2-2) - (set! (-> v1-11 vector 3 quad) a3-5) - ) - ) ) - ) (set! (-> self tpos-curr quad) (-> self tpos-old quad)) (set! (-> self tpos-old-adj quad) (-> self tpos-old quad)) (set! (-> self tpos-curr-adj quad) (-> self tpos-old quad)) @@ -272,20 +207,12 @@ (set! (-> self being-attacked) #f) (set! (-> self string-max target y) (-> self stringMaxHeight)) (set! (-> self string-max target z) (-> self stringMaxLength)) - (set! - (-> self string-push-z) - (fmax (-> self string-min value z) (-> *CAMERA-bank* default-string-push-z)) - ) + (set! (-> self string-push-z) (fmax (-> self string-min value z) (-> *CAMERA-bank* default-string-push-z))) (set! (-> self under-water) 0) (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector--float*! - gp-1 - (-> self tpos-curr-adj) - (-> self local-down) - (-> self target-height) + (vector--float*! gp-1 (-> self tpos-curr-adj) (-> self local-down) (-> self target-height)) + (the-as symbol (TODO-RENAME-10 (-> self target-spline) gp-1)) ) - (the-as symbol (TODO-RENAME-10 (-> self target-spline) gp-1)) - ) ) ;; definition for function master-track-target @@ -293,703 +220,441 @@ ;; Used lq/sq (defbehavior master-track-target camera-master () (cond - ((and - (logtest? (-> self master-options) 2) - (!= (-> self drawable-target) #f) - (not (handle->process (-> self drawable-target))) - ) - (set! (-> self master-options) (logand -3 (-> self master-options))) - (set! (-> self drawable-target) (the-as handle #f)) - ) - ((and - (logtest? (-> self master-options) 2) - (handle->process (-> self drawable-target)) - ) - (let ((gp-0 (-> self drawable-target process 0))) - (if (paused?) - (return (the-as symbol #f)) - ) - (set! (-> self tpos-old quad) (-> self tpos-curr quad)) - (set! (-> self tpos-old-adj quad) (-> self tpos-curr-adj quad)) - (cond - ((nonzero? (-> (the-as target gp-0) node-list)) - (let* ((v1-24 (-> self tgt-rot-mat)) - (a3-0 - (-> - (the-as target gp-0) - node-list - data - (-> self which-bone) - bone - transform - ) - ) - (a0-17 (-> a3-0 vector 0 quad)) - (a1-4 (-> a3-0 vector 1 quad)) - (a2-0 (-> a3-0 vector 2 quad)) - (a3-1 (-> a3-0 vector 3 quad)) - ) - (set! (-> v1-24 vector 0 quad) a0-17) - (set! (-> v1-24 vector 1 quad) a1-4) - (set! (-> v1-24 vector 2 quad) a2-0) - (set! (-> v1-24 vector 3 quad) a3-1) - ) - (set! (-> self tgt-rot-mat vector 3 quad) (the-as uint128 0)) - (let* ((a2-1 (-> self tgt-face-mat)) - (a3-2 (-> self tgt-rot-mat)) - (v1-26 (-> a3-2 vector 0 quad)) - (a0-18 (-> a3-2 vector 1 quad)) - (a1-5 (-> a3-2 vector 2 quad)) - (a3-3 (-> a3-2 vector 3 quad)) - ) - (set! (-> a2-1 vector 0 quad) v1-26) - (set! (-> a2-1 vector 1 quad) a0-18) - (set! (-> a2-1 vector 2 quad) a1-5) - (set! (-> a2-1 vector 3 quad) a3-3) - ) - (vector<-cspace! - (-> self tpos-curr) - (-> (the-as target gp-0) node-list data (-> self which-bone)) - ) + ((and + (logtest? (-> self master-options) 2) + (!= (-> self drawable-target) #f) + (not (handle->process (-> self drawable-target))) ) - (else - (quaternion->matrix - (-> self tgt-rot-mat) - (-> (the-as target gp-0) control quat) - ) - (let* ((a2-3 (-> self tgt-face-mat)) - (a3-4 (-> self tgt-rot-mat)) - (v1-31 (-> a3-4 vector 0 quad)) - (a0-21 (-> a3-4 vector 1 quad)) - (a1-9 (-> a3-4 vector 2 quad)) - (a3-5 (-> a3-4 vector 3 quad)) - ) - (set! (-> a2-3 vector 0 quad) v1-31) - (set! (-> a2-3 vector 1 quad) a0-21) - (set! (-> a2-3 vector 2 quad) a1-9) - (set! (-> a2-3 vector 3 quad) a3-5) - ) - ) - ) + (set! (-> self master-options) (logand -3 (-> self master-options))) + (set! (-> self drawable-target) (the-as handle #f)) ) - (let ((v1-32 (new-stack-vector0))) - 0.0 - (vector-! v1-32 (-> self tpos-curr-adj) (-> self tpos-curr)) - (let* ((f0-2 (vector-dot v1-32 (-> self local-down))) - (f0-3 (if (< 0.0 f0-2) - (* f0-2 (-> *CAMERA_MASTER-bank* up-move-to-pitch-on-ground)) - (* - f0-2 - (-> *CAMERA_MASTER-bank* down-move-to-pitch-on-ground) - ) - ) - ) + ((and (logtest? (-> self master-options) 2) (handle->process (-> self drawable-target))) + (let ((gp-0 (-> self drawable-target process 0))) + (if (paused?) + (return (the-as symbol #f)) + ) + (set! (-> self tpos-old quad) (-> self tpos-curr quad)) + (set! (-> self tpos-old-adj quad) (-> self tpos-curr-adj quad)) + (cond + ((nonzero? (-> (the-as target gp-0) node-list)) + (let* ((v1-24 (-> self tgt-rot-mat)) + (a3-0 (-> (the-as target gp-0) node-list data (-> self which-bone) bone transform)) + (a0-17 (-> a3-0 vector 0 quad)) + (a1-4 (-> a3-0 vector 1 quad)) + (a2-0 (-> a3-0 vector 2 quad)) + (a3-1 (-> a3-0 vector 3 quad)) + ) + (set! (-> v1-24 vector 0 quad) a0-17) + (set! (-> v1-24 vector 1 quad) a1-4) + (set! (-> v1-24 vector 2 quad) a2-0) + (set! (-> v1-24 vector 3 quad) a3-1) ) - (vector+float*! - (-> self tpos-curr-adj) - (-> self tpos-curr) - (-> self local-down) - f0-3 + (set! (-> self tgt-rot-mat vector 3 quad) (the-as uint128 0)) + (let* ((a2-1 (-> self tgt-face-mat)) + (a3-2 (-> self tgt-rot-mat)) + (v1-26 (-> a3-2 vector 0 quad)) + (a0-18 (-> a3-2 vector 1 quad)) + (a1-5 (-> a3-2 vector 2 quad)) + (a3-3 (-> a3-2 vector 3 quad)) + ) + (set! (-> a2-1 vector 0 quad) v1-26) + (set! (-> a2-1 vector 1 quad) a0-18) + (set! (-> a2-1 vector 2 quad) a1-5) + (set! (-> a2-1 vector 3 quad) a3-3) + ) + (vector<-cspace! (-> self tpos-curr) (-> (the-as target gp-0) node-list data (-> self which-bone))) + ) + (else + (quaternion->matrix (-> self tgt-rot-mat) (-> (the-as target gp-0) control quat)) + (let* ((a2-3 (-> self tgt-face-mat)) + (a3-4 (-> self tgt-rot-mat)) + (v1-31 (-> a3-4 vector 0 quad)) + (a0-21 (-> a3-4 vector 1 quad)) + (a1-9 (-> a3-4 vector 2 quad)) + (a3-5 (-> a3-4 vector 3 quad)) + ) + (set! (-> a2-3 vector 0 quad) v1-31) + (set! (-> a2-3 vector 1 quad) a0-21) + (set! (-> a2-3 vector 2 quad) a1-9) + (set! (-> a2-3 vector 3 quad) a3-5) + ) + ) + ) + ) + (let ((v1-32 (new-stack-vector0))) + 0.0 + (vector-! v1-32 (-> self tpos-curr-adj) (-> self tpos-curr)) + (let* ((f0-2 (vector-dot v1-32 (-> self local-down))) + (f0-3 (if (< 0.0 f0-2) + (* f0-2 (-> *CAMERA_MASTER-bank* up-move-to-pitch-on-ground)) + (* f0-2 (-> *CAMERA_MASTER-bank* down-move-to-pitch-on-ground)) + ) + ) + ) + (vector+float*! (-> self tpos-curr-adj) (-> self tpos-curr) (-> self local-down) f0-3) + ) + ) + (let ((gp-1 (new 'stack-no-clear 'vector))) + (vector--float*! gp-1 (-> self tpos-curr-adj) (-> self local-down) (-> self target-height)) + (TODO-RENAME-17 (-> self target-spline) gp-1 2048.0 0.0 #f) + ) + (TODO-RENAME-22 (-> self target-spline) 40960.0) + ) + ((handle->process (-> self drawable-target)) + (logior! (-> self master-options) 2) + (reset-drawable-tracking) + ) + ) + (the-as + symbol + (cond + ((handle->process (-> self drawable-target)) + #f + ) + ((and *target* (logtest? (-> self master-options) 2)) + (if (paused?) + (return (the-as symbol #f)) + ) + (cond + ((>= (- (-> *display* base-frame-counter) (if *target* + (-> *target* neck notice-time) + 0 + ) + ) + (the-as int (-> *CAMERA-bank* attack-timeout)) + ) + (set! (-> self being-attacked) #f) + ) + (else + (if (not (-> self being-attacked)) + (set! (-> self attack-start) (the-as uint (-> *display* base-frame-counter))) + ) + (set! (-> self being-attacked) #t) + (when (and + (zero? (logand (-> self master-options) 64)) + (or (!= (-> last-try-to-look-at-data horz) 0.0) (!= (-> last-try-to-look-at-data vert) 0.0)) + ) + (set! (-> self string-max target y) (fmax (-> self string-max target y) (-> last-try-to-look-at-data vert))) + (set! (-> self string-max target z) (fmax (-> self string-max target z) (-> last-try-to-look-at-data horz))) + (set! (-> self string-push-z) (fmax (-> self string-push-z) (-> self string-max target z))) + ) + ) + ) + (cond + ((and (logtest? (-> *target* water flags) 4096) (zero? (logand (-> *target* water flags) 16))) + (set! (-> self under-water) 2) + ) + ((> (-> self under-water) 0) + (+! (-> self under-water) -1) + ) + ) + (set! (-> self tpos-old quad) (-> self tpos-curr quad)) + (set! (-> self tpos-old-adj quad) (-> self tpos-curr-adj quad)) + (quaternion->matrix (-> self tgt-rot-mat) (-> *target* control dir-targ)) + (quaternion->matrix (-> self tgt-face-mat) (-> *target* control unknown-quaternion00)) + (cond + ((< (-> self ease-t) 1.0) + (new 'stack-no-clear 'vector) + (cond + ((logtest? (-> self master-options) 32) + (vector-lerp! + (-> self tpos-curr) + (-> self ease-from) + (-> self ease-to) + (parameter-ease-sin-clamp (-> self ease-t)) + ) + (set! (-> self master-options) (logand -33 (-> self master-options))) + ) + (else + (vector-lerp! + (-> self tpos-curr) + (-> self ease-from) + (target-cam-pos) + (parameter-ease-sin-clamp (-> self ease-t)) + ) + ) + ) + (+! (-> self ease-t) (-> self ease-step)) + ) + (else + (set! (-> self tpos-curr quad) (-> (target-cam-pos) quad)) + ) + ) + (when (logtest? (-> *target* control root-prim prim-core action) 128) + (if *display-cam-los-debug* + (format *stdcon* "ride edge~%") + ) + (let ((s4-2 (new 'stack-no-clear 'collide-mesh-cache-tri)) + (gp-5 (new 'stack-no-clear 'vector)) + (s5-2 (new 'stack-no-clear 'vector)) + ) + (vector--float*! s5-2 (-> self tpos-curr) (-> self local-down) (-> self target-height)) + (vector-float*! gp-5 (-> self tgt-rot-mat vector 2) 4915.2) + (vector-! s5-2 s5-2 gp-5) + (let ((f0-20 (dummy-10 *collide-cache* s5-2 gp-5 4300.8 1 (the-as process #f) s4-2 4098))) + (if (and (< 0.0 f0-20) (< f0-20 1.0)) + (vector+float*! (-> self tpos-curr) (-> self tpos-curr) gp-5 (+ -1.0 f0-20)) + ) + ) + ) + ) + (set! (-> self on-ground) (not (and + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) + ) + ) + ) + (let ((gp-6 (new-stack-vector0))) + 0.0 + (cond + ((and + (and + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) + ) + (!= (-> *target* control unknown-surface00 name) 'launch-jump) + ) + (if *display-cam-los-debug* + (format *stdcon* "air tracking~%") + ) + (vector+float*! (-> self tpos-curr-adj) (-> self tpos-curr-adj) (-> self local-down) (-> self upspeed)) + (vector+float*! (-> self tpos-tgt) (-> self tpos-tgt) (-> self local-down) (-> self upspeed)) + (vector-! gp-6 (-> self tpos-curr) (-> self tpos-tgt)) + (let ((f30-0 (vector-dot gp-6 (-> self local-down)))) + (vector--float*! gp-6 gp-6 (-> self local-down) f30-0) + (if (< 0.0 f30-0) + (set! (-> self upspeed) (* 0.5 (-> self upspeed))) + ) + (vector+! (-> self tpos-tgt) (-> self tpos-tgt) gp-6) + (let ((f0-30 (* 0.05 f30-0))) + (vector+float*! (-> self tpos-tgt) (-> self tpos-tgt) (-> self local-down) f0-30) + ) + ) + (vector-! gp-6 (-> self tpos-curr-adj) (-> self tpos-tgt)) + (let* ((f0-32 (vector-dot gp-6 (-> self local-down))) + (f0-33 (if (< 0.0 f0-32) + (* f0-32 (-> *CAMERA_MASTER-bank* up-move-to-pitch-ratio-in-air)) + (* f0-32 (-> *CAMERA_MASTER-bank* down-move-to-pitch-ratio-in-air)) + ) + ) + ) + (vector+float*! (-> self tpos-curr-adj) (-> self tpos-tgt) (-> self local-down) f0-33) + ) + (vector-! gp-6 (-> *target* control shadow-pos) (-> self tpos-curr-adj)) + (let* ((f0-35 (vector-dot gp-6 (-> self local-down))) + (f0-36 (* 0.03 f0-35)) + ) + (if (and (< f0-36 0.0) (< f0-36 (-> self upspeed))) + (set! (-> self upspeed) f0-36) + ) + ) + ) + (else + (if *display-cam-los-debug* + (format *stdcon* "ground tracking~%") + ) + (vector-! gp-6 (-> self tpos-curr) (-> self tpos-old)) + (let ((f0-38 (vector-dot gp-6 (-> self local-down)))) + (cond + ((logtest? (-> *target* water flags) 512) + (set! (-> self upspeed) 0.0) + ) + ((< 0.0 f0-38) + (set! (-> self upspeed) 0.0) + ) + (else + (set! (-> self upspeed) f0-38) + ) + ) + ) + (set! (-> self tpos-tgt quad) (-> self tpos-curr quad)) + (vector-! gp-6 (-> self tpos-curr-adj) (-> self tpos-curr)) + (let* ((f0-42 (vector-dot gp-6 (-> self local-down))) + (f0-43 (if (< 0.0 f0-42) + (* f0-42 (-> *CAMERA_MASTER-bank* up-move-to-pitch-on-ground)) + (* f0-42 (-> *CAMERA_MASTER-bank* down-move-to-pitch-on-ground)) + ) + ) + ) + (vector+float*! (-> self tpos-curr-adj) (-> self tpos-curr) (-> self local-down) f0-43) + ) + ) + ) + ) + (if (zero? (logand (-> self slave-options) 16)) + (reset-follow) + ) + (let ((v1-196 (-> *target* water flags))) + (when (and (logtest? v1-196 512) (logtest? v1-196 6144)) + (let ((f0-45 (- (-> *target* water base-height) (-> self target-height)))) + (if (< (-> self tpos-curr-adj y) f0-45) + (set! (-> self tpos-curr-adj y) f0-45) + ) + ) + ) + ) + (vector+! (-> self pitch-off) (-> self pitch-off) (-> self tpos-curr)) + (vector-! (-> self pitch-off) (-> self pitch-off) (-> self tpos-old)) + (vector-float*! (-> self pitch-off) (-> self pitch-off) (-> *CAMERA_MASTER-bank* pitch-off-blend)) + (let ((gp-7 (new 'stack-no-clear 'vector))) + (vector--float*! gp-7 (-> self tpos-curr-adj) (-> self local-down) (-> self target-height)) + (let ((v1-207 (new 'stack-no-clear 'vector))) + 0.0 + (vector-! v1-207 (-> *target* control shadow-pos) gp-7) + (let* ((f0-50 (vector-dot v1-207 (-> self local-down))) + (f0-51 (+ -4096.0 f0-50)) + ) + (if (< f0-51 0.0) + (vector+float*! gp-7 gp-7 (-> self local-down) f0-51) + ) + ) + ) + (TODO-RENAME-17 (-> self target-spline) gp-7 2048.0 0.0 #f) + ) + (the-as symbol (TODO-RENAME-22 (-> self target-spline) 40960.0)) + ) + (*target* + (logior! (-> self master-options) 2) + (reset-target-tracking) + ) + ((logtest? (-> self master-options) 2) + (let ((v0-1 (the-as symbol (logand -3 (-> self master-options))))) + (set! (-> self master-options) (the-as uint v0-1)) + v0-1 + ) ) ) - ) - (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector--float*! - gp-1 - (-> self tpos-curr-adj) - (-> self local-down) - (-> self target-height) - ) - (TODO-RENAME-17 (-> self target-spline) gp-1 2048.0 0.0 #f) - ) - (TODO-RENAME-22 (-> self target-spline) 40960.0) ) - ((handle->process (-> self drawable-target)) - (logior! (-> self master-options) 2) - (reset-drawable-tracking) - ) - ) - (the-as symbol (cond - ((handle->process (-> self drawable-target)) - #f - ) - ((and *target* (logtest? (-> self master-options) 2)) - (if (paused?) - (return (the-as symbol #f)) - ) - (cond - ((>= (- (-> *display* base-frame-counter) (if *target* - (-> - *target* - neck - notice-time - ) - 0 - ) - ) - (the-as int (-> *CAMERA-bank* attack-timeout)) - ) - (set! (-> self being-attacked) #f) - ) - (else - (if (not (-> self being-attacked)) - (set! - (-> self attack-start) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - (set! (-> self being-attacked) #t) - (when - (and - (zero? (logand (-> self master-options) 64)) - (or - (!= (-> last-try-to-look-at-data horz) 0.0) - (!= (-> last-try-to-look-at-data vert) 0.0) - ) - ) - (set! - (-> self string-max target y) - (fmax - (-> self string-max target y) - (-> last-try-to-look-at-data vert) - ) - ) - (set! - (-> self string-max target z) - (fmax - (-> self string-max target z) - (-> last-try-to-look-at-data horz) - ) - ) - (set! - (-> self string-push-z) - (fmax - (-> self string-push-z) - (-> self string-max target z) - ) - ) - ) - ) - ) - (cond - ((and - (logtest? (-> *target* water flags) 4096) - (zero? (logand (-> *target* water flags) 16)) - ) - (set! (-> self under-water) 2) - ) - ((> (-> self under-water) 0) - (+! (-> self under-water) -1) - ) - ) - (set! (-> self tpos-old quad) (-> self tpos-curr quad)) - (set! - (-> self tpos-old-adj quad) - (-> self tpos-curr-adj quad) - ) - (quaternion->matrix - (-> self tgt-rot-mat) - (-> *target* control dir-targ) - ) - (quaternion->matrix - (-> self tgt-face-mat) - (-> *target* control unknown-quaternion00) - ) - (cond - ((< (-> self ease-t) 1.0) - (new 'stack-no-clear 'vector) - (cond - ((logtest? (-> self master-options) 32) - (vector-lerp! - (-> self tpos-curr) - (-> self ease-from) - (-> self ease-to) - (parameter-ease-sin-clamp (-> self ease-t)) - ) - (set! - (-> self master-options) - (logand -33 (-> self master-options)) - ) - ) - (else - (vector-lerp! - (-> self tpos-curr) - (-> self ease-from) - (target-cam-pos) - (parameter-ease-sin-clamp (-> self ease-t)) - ) - ) - ) - (+! (-> self ease-t) (-> self ease-step)) - ) - (else - (set! (-> self tpos-curr quad) (-> (target-cam-pos) quad)) - ) - ) - (when - (logtest? - (-> *target* control root-prim prim-core action) - 128 - ) - (if *display-cam-los-debug* - (format *stdcon* "ride edge~%") - ) - (let ((s4-2 (new 'stack-no-clear 'collide-mesh-cache-tri)) - (gp-5 (new 'stack-no-clear 'vector)) - (s5-2 (new 'stack-no-clear 'vector)) - ) - (vector--float*! - s5-2 - (-> self tpos-curr) - (-> self local-down) - (-> self target-height) - ) - (vector-float*! gp-5 (-> self tgt-rot-mat vector 2) 4915.2) - (vector-! s5-2 s5-2 gp-5) - (let - ((f0-20 - (dummy-10 - *collide-cache* - s5-2 - gp-5 - 4300.8 - 1 - (the-as process #f) - s4-2 - 4098 - ) - ) - ) - (if (and (< 0.0 f0-20) (< f0-20 1.0)) - (vector+float*! - (-> self tpos-curr) - (-> self tpos-curr) - gp-5 - (+ -1.0 f0-20) - ) - ) - ) - ) - ) - (set! - (-> self on-ground) - (not - (and - (logtest? - (-> *target* control unknown-surface00 flags) - 2048 - ) - (zero? (logand (-> *target* control status) 1)) - ) - ) - ) - (let ((gp-6 (new-stack-vector0))) - 0.0 - (cond - ((and - (and - (logtest? - (-> *target* control unknown-surface00 flags) - 2048 - ) - (zero? (logand (-> *target* control status) 1)) - ) - (!= - (-> *target* control unknown-surface00 name) - 'launch-jump - ) - ) - (if *display-cam-los-debug* - (format *stdcon* "air tracking~%") - ) - (vector+float*! - (-> self tpos-curr-adj) - (-> self tpos-curr-adj) - (-> self local-down) - (-> self upspeed) - ) - (vector+float*! - (-> self tpos-tgt) - (-> self tpos-tgt) - (-> self local-down) - (-> self upspeed) - ) - (vector-! gp-6 (-> self tpos-curr) (-> self tpos-tgt)) - (let ((f30-0 (vector-dot gp-6 (-> self local-down)))) - (vector--float*! gp-6 gp-6 (-> self local-down) f30-0) - (if (< 0.0 f30-0) - (set! (-> self upspeed) (* 0.5 (-> self upspeed))) - ) - (vector+! (-> self tpos-tgt) (-> self tpos-tgt) gp-6) - (let ((f0-30 (* 0.05 f30-0))) - (vector+float*! - (-> self tpos-tgt) - (-> self tpos-tgt) - (-> self local-down) - f0-30 - ) - ) - ) - (vector-! gp-6 (-> self tpos-curr-adj) (-> self tpos-tgt)) - (let* ((f0-32 (vector-dot gp-6 (-> self local-down))) - (f0-33 (if (< 0.0 f0-32) - (* - f0-32 - (-> - *CAMERA_MASTER-bank* - up-move-to-pitch-ratio-in-air - ) - ) - (* - f0-32 - (-> - *CAMERA_MASTER-bank* - down-move-to-pitch-ratio-in-air - ) - ) - ) - ) - ) - (vector+float*! - (-> self tpos-curr-adj) - (-> self tpos-tgt) - (-> self local-down) - f0-33 - ) - ) - (vector-! - gp-6 - (-> *target* control shadow-pos) - (-> self tpos-curr-adj) - ) - (let* ((f0-35 (vector-dot gp-6 (-> self local-down))) - (f0-36 (* 0.03 f0-35)) - ) - (if (and (< f0-36 0.0) (< f0-36 (-> self upspeed))) - (set! (-> self upspeed) f0-36) - ) - ) - ) - (else - (if *display-cam-los-debug* - (format *stdcon* "ground tracking~%") - ) - (vector-! gp-6 (-> self tpos-curr) (-> self tpos-old)) - (let ((f0-38 (vector-dot gp-6 (-> self local-down)))) - (cond - ((logtest? (-> *target* water flags) 512) - (set! (-> self upspeed) 0.0) - ) - ((< 0.0 f0-38) - (set! (-> self upspeed) 0.0) - ) - (else - (set! (-> self upspeed) f0-38) - ) - ) - ) - (set! (-> self tpos-tgt quad) (-> self tpos-curr quad)) - (vector-! - gp-6 - (-> self tpos-curr-adj) - (-> self tpos-curr) - ) - (let* ((f0-42 (vector-dot gp-6 (-> self local-down))) - (f0-43 (if (< 0.0 f0-42) - (* - f0-42 - (-> - *CAMERA_MASTER-bank* - up-move-to-pitch-on-ground - ) - ) - (* - f0-42 - (-> - *CAMERA_MASTER-bank* - down-move-to-pitch-on-ground - ) - ) - ) - ) - ) - (vector+float*! - (-> self tpos-curr-adj) - (-> self tpos-curr) - (-> self local-down) - f0-43 - ) - ) - ) - ) - ) - (if (zero? (logand (-> self slave-options) 16)) - (reset-follow) - ) - (let ((v1-196 (-> *target* water flags))) - (when (and (logtest? v1-196 512) (logtest? v1-196 6144)) - (let - ((f0-45 - (- - (-> *target* water base-height) - (-> self target-height) - ) - ) - ) - (if (< (-> self tpos-curr-adj y) f0-45) - (set! (-> self tpos-curr-adj y) f0-45) - ) - ) - ) - ) - (vector+! - (-> self pitch-off) - (-> self pitch-off) - (-> self tpos-curr) - ) - (vector-! - (-> self pitch-off) - (-> self pitch-off) - (-> self tpos-old) - ) - (vector-float*! - (-> self pitch-off) - (-> self pitch-off) - (-> *CAMERA_MASTER-bank* pitch-off-blend) - ) - (let ((gp-7 (new 'stack-no-clear 'vector))) - (vector--float*! - gp-7 - (-> self tpos-curr-adj) - (-> self local-down) - (-> self target-height) - ) - (let ((v1-207 (new 'stack-no-clear 'vector))) - 0.0 - (vector-! v1-207 (-> *target* control shadow-pos) gp-7) - (let* ((f0-50 (vector-dot v1-207 (-> self local-down))) - (f0-51 (+ -4096.0 f0-50)) - ) - (if (< f0-51 0.0) - (vector+float*! gp-7 gp-7 (-> self local-down) f0-51) - ) - ) - ) - (TODO-RENAME-17 (-> self target-spline) gp-7 2048.0 0.0 #f) - ) - (the-as - symbol - (TODO-RENAME-22 (-> self target-spline) 40960.0) - ) - ) - (*target* - (logior! (-> self master-options) 2) - (reset-target-tracking) - ) - ((logtest? (-> self master-options) 2) - (let - ((v0-1 (the-as symbol (logand -3 (-> self master-options)))) - ) - (set! (-> self master-options) (the-as uint v0-1)) - v0-1 - ) - ) - ) - ) ) ;; definition for function in-cam-entity-volume? ;; Used lq/sq -(defun - in-cam-entity-volume? - ((arg0 vector) (arg1 entity) (arg2 float) (arg3 symbol)) +(defun in-cam-entity-volume? ((arg0 vector) (arg1 entity) (arg2 float) (arg3 symbol)) (local-vars (sv-16 res-tag)) (let ((s2-0 0)) - (while #t - (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-1 - (the-as - object - ((method-of-type res-lump get-property-data) - arg1 - arg3 - 'exact - (the float s2-0) - (the-as pointer #f) - (& sv-16) - *res-static-buf* - ) - ) - ) - ) - (cond - ((not (the-as pointer v1-1)) - (return #f) - ) - (else - (dotimes (a0-2 (the-as int (-> sv-16 elt-count))) - (if - (< - arg2 - (- - (vector-dot arg0 (-> (the-as (inline-array vector) v1-1) a0-2)) - (-> (the-as (inline-array vector) v1-1) a0-2 w) + (while #t + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-1 (the-as object ((method-of-type res-lump get-property-data) + arg1 + arg3 + 'exact + (the float s2-0) + (the-as pointer #f) + (& sv-16) + *res-static-buf* + ) + ) + ) + ) + (cond + ((not (the-as pointer v1-1)) + (return #f) ) + (else + (dotimes (a0-2 (the-as int (-> sv-16 elt-count))) + (if (< arg2 (- (vector-dot arg0 (-> (the-as (inline-array vector) v1-1) a0-2)) + (-> (the-as (inline-array vector) v1-1) a0-2 w) + ) + ) + (goto cfg-12) + ) + ) + (return #t) + ) ) - (goto cfg-12) - ) ) - (return #t) - ) + (label cfg-12) + (+! s2-0 1) ) - ) - (label cfg-12) - (+! s2-0 1) ) - ) (the-as symbol #f) ) ;; definition for function master-unset-region (defbehavior master-unset-region camera-master () (when (-> self cam-entity) - (set! (-> self cam-entity) #f) - (set! (-> self master-options) (logand -65 (-> self master-options))) - (set! (-> self stringMinHeight) (-> *CAMERA-bank* default-string-min-y)) - (set! (-> self stringMaxHeight) (-> *CAMERA-bank* default-string-max-y)) - (set! (-> self stringMinLength) (-> *CAMERA-bank* default-string-min-z)) - (set! (-> self stringMaxLength) (-> *CAMERA-bank* default-string-max-z)) - (set! (-> self stringCliffHeight) 163840.0) - (send-event *camera* 'point-of-interest #f) - (set! (-> *camera-combiner* tracking point-of-interest-blend target) 0.0) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'query-state) - (set! (-> a1-1 param 0) (the-as uint *camera-base-mode*)) - (if (not (send-event-function *camera* a1-1)) - (send-event *camera* 'change-state *camera-base-mode* 450) - ) + (set! (-> self cam-entity) #f) + (set! (-> self master-options) (logand -65 (-> self master-options))) + (set! (-> self stringMinHeight) (-> *CAMERA-bank* default-string-min-y)) + (set! (-> self stringMaxHeight) (-> *CAMERA-bank* default-string-max-y)) + (set! (-> self stringMinLength) (-> *CAMERA-bank* default-string-min-z)) + (set! (-> self stringMaxLength) (-> *CAMERA-bank* default-string-max-z)) + (set! (-> self stringCliffHeight) 163840.0) + (send-event *camera* 'point-of-interest #f) + (set! (-> *camera-combiner* tracking point-of-interest-blend target) 0.0) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'query-state) + (set! (-> a1-1 param 0) (the-as uint *camera-base-mode*)) + (if (not (send-event-function *camera* a1-1)) + (send-event *camera* 'change-state *camera-base-mode* 450) + ) + ) + (set! (-> *camera-combiner* tracking tilt-adjust target) (-> *CAMERA-bank* default-tilt-adjust)) + (send-event *camera* 'clear-slave-option #x10000) ) - (set! - (-> *camera-combiner* tracking tilt-adjust target) - (-> *CAMERA-bank* default-tilt-adjust) - ) - (send-event *camera* 'clear-slave-option #x10000) - ) ) ;; definition for function master-base-region (defbehavior master-base-region camera-master ((arg0 entity)) (logior! (-> self master-options) 64) - (set! - (-> self stringMinHeight) - (cam-slave-get-float - arg0 - 'stringMinHeight - (-> *CAMERA-bank* default-string-min-y) - ) - ) - (set! - (-> self stringMaxHeight) - (cam-slave-get-float - arg0 - 'stringMaxHeight - (-> *CAMERA-bank* default-string-max-y) - ) - ) - (set! - (-> self stringMinLength) - (cam-slave-get-float - arg0 - 'stringMinLength - (-> *CAMERA-bank* default-string-min-z) - ) - ) - (set! - (-> self stringMaxLength) - (cam-slave-get-float - arg0 - 'stringMaxLength - (-> *CAMERA-bank* default-string-max-z) - ) - ) + (set! (-> self stringMinHeight) + (cam-slave-get-float arg0 'stringMinHeight (-> *CAMERA-bank* default-string-min-y)) + ) + (set! (-> self stringMaxHeight) + (cam-slave-get-float arg0 'stringMaxHeight (-> *CAMERA-bank* default-string-max-y)) + ) + (set! (-> self stringMinLength) + (cam-slave-get-float arg0 'stringMinLength (-> *CAMERA-bank* default-string-min-z)) + ) + (set! (-> self stringMaxLength) + (cam-slave-get-float arg0 'stringMaxLength (-> *CAMERA-bank* default-string-max-z)) + ) (let ((s5-0 (new 'stack-no-clear 'vector))) - (if - (cam-slave-get-vector-with-offset - (the-as entity-actor arg0) - s5-0 - 'interesting - ) - (send-event *camera* 'point-of-interest s5-0) + (if (cam-slave-get-vector-with-offset (the-as entity-actor arg0) s5-0 'interesting) + (send-event *camera* 'point-of-interest s5-0) + ) ) - ) (if (< 405504.0 (-> self stringMaxLength)) - (set! (-> self stringMaxLength) (-> *CAMERA-bank* default-string-max-z)) - ) - (set! - (-> self stringCliffHeight) - (cam-slave-get-float arg0 'stringCliffHeight 163840.0) - ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 1) - (set! (-> a1-7 message) 'query-state) - (set! (-> a1-7 param 0) (the-as uint *camera-base-mode*)) - (if (not (send-event-function *camera* a1-7)) - (send-event *camera* 'change-state *camera-base-mode* 450) - ) - ) - (if (logtest? #x10000 (cam-slave-get-flags (-> self cam-entity) 'flags)) - (send-event *camera* 'set-slave-option #x10000) - ) - (let - ((f0-12 - (cam-slave-get-float - arg0 - 'tiltAdjust - (-> *CAMERA-bank* default-tilt-adjust) + (set! (-> self stringMaxLength) (-> *CAMERA-bank* default-string-max-z)) ) - ) + (set! (-> self stringCliffHeight) (cam-slave-get-float arg0 'stringCliffHeight 163840.0)) + (let ((a1-7 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-7 from) self) + (set! (-> a1-7 num-params) 1) + (set! (-> a1-7 message) 'query-state) + (set! (-> a1-7 param 0) (the-as uint *camera-base-mode*)) + (if (not (send-event-function *camera* a1-7)) + (send-event *camera* 'change-state *camera-base-mode* 450) + ) + ) + (if (logtest? #x10000 (cam-slave-get-flags (-> self cam-entity) 'flags)) + (send-event *camera* 'set-slave-option #x10000) + ) + (let ((f0-12 (cam-slave-get-float arg0 'tiltAdjust (-> *CAMERA-bank* default-tilt-adjust)))) + (set! (-> *camera-combiner* tracking tilt-adjust target) f0-12) + f0-12 ) - (set! (-> *camera-combiner* tracking tilt-adjust target) f0-12) - f0-12 - ) ) ;; definition for function setup-slave-for-hopefull (defun setup-slave-for-hopefull ((arg0 camera-slave)) (when (= (-> arg0 blend-to-type) 2) - (cam-calc-follow! (-> arg0 tracking) (-> arg0 trans) #f) - (slave-set-rotation! - (-> arg0 tracking) - (-> arg0 trans) - (the-as float (-> arg0 options)) - (-> arg0 fov) - #f + (cam-calc-follow! (-> arg0 tracking) (-> arg0 trans) #f) + (slave-set-rotation! (-> arg0 tracking) (-> arg0 trans) (the-as float (-> arg0 options)) (-> arg0 fov) #f) ) - ) (none) ) ;; definition for function master-is-hopeful-better? -(defbehavior - master-is-hopeful-better? camera-master - ((arg0 camera-slave) (arg1 camera-slave)) +(defbehavior master-is-hopeful-better? camera-master ((arg0 camera-slave) (arg1 camera-slave)) (if (not *camera-combiner*) - #f - (< - (vector-dot - (-> arg0 tracking inv-mat vector 2) - (-> *camera-combiner* inv-camera-rot vector 2) - ) - (vector-dot - (-> arg1 tracking inv-mat vector 2) - (-> *camera-combiner* inv-camera-rot vector 2) - ) - ) - ) + #f + (< (vector-dot (-> arg0 tracking inv-mat vector 2) (-> *camera-combiner* inv-camera-rot vector 2)) + (vector-dot (-> arg1 tracking inv-mat vector 2) (-> *camera-combiner* inv-camera-rot vector 2)) + ) + ) ) ;; definition for function master-switch-to-entity @@ -1000,368 +665,285 @@ ;; Used lq/sq (defbehavior master-switch-to-entity camera-master ((arg0 entity)) (local-vars - (v0-21 none) - (gp-0 (pointer process)) - (sv-16 res-tag) - (sv-112 process) - (sv-128 string) - (sv-144 string) - ) + (v0-21 none) + (gp-0 (pointer process)) + (sv-16 res-tag) + (sv-112 process) + (sv-128 string) + (sv-144 string) + ) (set! (-> self cam-entity) arg0) 10 (let ((s4-0 (cam-state-from-entity arg0))) - (cond - ((= s4-0 *camera-base-mode*) - (master-base-region arg0) - (return #t) - ) - (s4-0 - (let ((s3-0 (get-process *camera-dead-pool* camera-slave #x4000))) - (set! gp-0 (when s3-0 - (let ((t9-3 (method-of-type camera-slave activate))) - (t9-3 - (the-as camera-slave s3-0) - self - 'camera-slave - (the-as pointer #x70004000) - ) - ) - (run-now-in-process s3-0 cam-slave-init s4-0 arg0) - (-> s3-0 ppointer) - ) + (cond + ((= s4-0 *camera-base-mode*) + (master-base-region arg0) + (return #t) ) + (s4-0 + (let ((s3-0 (get-process *camera-dead-pool* camera-slave #x4000))) + (set! gp-0 (when s3-0 + (let ((t9-3 (method-of-type camera-slave activate))) + (t9-3 (the-as camera-slave s3-0) self 'camera-slave (the-as pointer #x70004000)) + ) + (run-now-in-process s3-0 cam-slave-init s4-0 arg0) + (-> s3-0 ppointer) + ) + ) + ) + (when (not gp-0) + (format 0 "ERROR : primary region activate failed~%") + (return #f) + ) + (setup-slave-for-hopefull (the-as camera-slave (ppointer->process gp-0))) + ) + (else + (format 0 "ERROR : camera region '~S' didn't produce a state~%" (res-lump-struct arg0 'name structure)) + (return #f) + ) ) - (when (not gp-0) - (format 0 "ERROR : primary region activate failed~%") - (return #f) - ) - (setup-slave-for-hopefull (the-as camera-slave (ppointer->process gp-0))) - ) - (else - (format - 0 - "ERROR : camera region '~S' didn't produce a state~%" - (res-lump-struct arg0 'name structure) - ) - (return #f) - ) ) - ) (set! sv-16 (new 'static 'res-tag)) - (let - ((s4-2 (res-lump-data arg0 'alternates (pointer string) :tag-ptr (& sv-16)))) - (when s4-2 - (dotimes (s3-2 (the-as int (-> sv-16 elt-count))) - (let ((s2-0 (entity-by-name (-> s4-2 s3-2)))) - (set! v0-21 (cond - (s2-0 + (let ((s4-2 (res-lump-data arg0 'alternates (pointer string) :tag-ptr (& sv-16)))) + (when s4-2 + (dotimes (s3-2 (the-as int (-> sv-16 elt-count))) + (let ((s2-0 (entity-by-name (-> s4-2 s3-2)))) + (set! v0-21 + (cond + (s2-0 (let ((s0-0 (cam-state-from-entity s2-0))) - (cond - ((= s0-0 *camera-base-mode*) - (deactivate (-> gp-0 0)) - (master-base-region s2-0) - (return #t) - v0-21 - ) - (s0-0 - (set! - sv-112 - (get-process *camera-dead-pool* camera-slave #x4000) - ) - (let ((s1-0 (when sv-112 - (let - ((t9-15 - (method-of-type camera-slave activate) - ) - ) - (t9-15 - (the-as camera-slave sv-112) - self - 'camera-slave - (the-as pointer #x70004000) + (cond + ((= s0-0 *camera-base-mode*) + (deactivate (-> gp-0 0)) + (master-base-region s2-0) + (return #t) + v0-21 + ) + (s0-0 + (set! sv-112 (get-process *camera-dead-pool* camera-slave #x4000)) + (let ((s1-0 (when sv-112 + (let ((t9-15 (method-of-type camera-slave activate))) + (t9-15 (the-as camera-slave sv-112) self 'camera-slave (the-as pointer #x70004000)) + ) + (run-now-in-process sv-112 cam-slave-init s0-0 s2-0) + (-> sv-112 ppointer) + ) ) + ) + (cond + (s1-0 + (setup-slave-for-hopefull (the-as camera-slave (ppointer->process s1-0))) + (cond + ((master-is-hopeful-better? + (the-as camera-slave (ppointer->process gp-0)) + (the-as camera-slave (ppointer->process s1-0)) ) - (run-now-in-process - sv-112 - cam-slave-init - s0-0 - s2-0 - ) - (-> sv-112 ppointer) + (deactivate (-> gp-0 0)) + (set! gp-0 s1-0) + gp-0 + ) + (else + (deactivate (-> s1-0 0)) ) + ) + ) + (else + (format 0 "ERROR : alternate region activate failed~%") + ) ) - ) - (cond - (s1-0 - (setup-slave-for-hopefull - (the-as camera-slave (ppointer->process s1-0)) - ) - (cond - ((master-is-hopeful-better? - (the-as camera-slave (ppointer->process gp-0)) - (the-as camera-slave (ppointer->process s1-0)) - ) - (deactivate (-> gp-0 0)) - (set! gp-0 s1-0) - gp-0 ) - (else - (deactivate (-> s1-0 0)) + ) + (else + (let ((s1-1 format) + (s0-1 0) + ) + (set! sv-128 "ERROR : alternate camera region '~S' didn't produce a state~%") + (let ((a2-10 (res-lump-struct s2-0 'name structure))) + (s1-1 s0-1 sv-128 a2-10) + ) ) - ) ) - (else - (format - 0 - "ERROR : alternate region activate failed~%" - ) - ) - ) ) - ) - (else - (let ((s1-1 format) - (s0-1 0) - ) - (set! - sv-128 - "ERROR : alternate camera region '~S' didn't produce a state~%" - ) - (let ((a2-10 (res-lump-struct s2-0 'name structure))) - (s1-1 s0-1 sv-128 a2-10) - ) - ) - ) ) - ) ) - (else + (else (let ((s2-1 format) (s1-2 0) - (s0-2 - "ERROR : alternate '~S' not found for '~S'~%" - ) + (s0-2 "ERROR : alternate '~S' not found for '~S'~%") ) - (set! sv-144 (-> s4-2 s3-2)) - (let ((a3-8 (res-lump-struct arg0 'name structure))) - (s2-1 s1-2 s0-2 sv-144 a3-8) + (set! sv-144 (-> s4-2 s3-2)) + (let ((a3-8 (res-lump-struct arg0 'name structure))) + (s2-1 s1-2 s0-2 sv-144 a3-8) + ) ) - ) ) - ) - ) - ) - ) - ) - ) - (let - ((v1-48 - (the - int - (* - 300.0 - (cam-slave-get-interp-time - (-> (the-as camera-slave (-> gp-0 0)) cam-entity) + ) + ) + ) ) - ) ) - ) ) - (if (nonzero? (-> self force-blend)) - (set! v1-48 (min v1-48 (the-as int (-> self force-blend-time)))) + (let ((v1-48 (the int (* 300.0 (cam-slave-get-interp-time (-> (the-as camera-slave (-> gp-0 0)) cam-entity)))))) + (if (nonzero? (-> self force-blend)) + (set! v1-48 (min v1-48 (the-as int (-> self force-blend-time)))) + ) + (send-event *camera* 'change-state (ppointer->process gp-0) v1-48) ) - (send-event *camera* 'change-state (ppointer->process gp-0) v1-48) - ) #t ) ;; definition for function master-check-regions (defbehavior master-check-regions camera-master () (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'query-state) - (set! (-> a1-0 param 0) (the-as uint cam-eye)) - (cond - ((send-event-function *camera* a1-0) - #f - ) - ((or (not *target*) (logtest? (-> self master-options) 1)) - (master-unset-region) - ) - ((and - (logtest? (-> self master-options) 4) - (not (-> self on-ground)) - (or - (not (-> self cam-entity)) - (zero? - (logand #x20000 (cam-slave-get-flags (-> self cam-entity) 'flags)) - ) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'query-state) + (set! (-> a1-0 param 0) (the-as uint cam-eye)) + (cond + ((send-event-function *camera* a1-0) + #f ) - ) - #f - ) - ((and - (-> self cam-entity) - (not - (in-cam-entity-volume? - (target-pos 0) - (-> self cam-entity) - 0.0 - 'cutoutvol - ) + ((or (not *target*) (logtest? (-> self master-options) 1)) + (master-unset-region) ) - (or - (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'pvol) - (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'vol) - (and - (not - ((method-of-type res-lump get-property-data) - (-> self cam-entity) - 'pvol - 'exact - 0.0 - (the-as pointer #f) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) + ((and + (logtest? (-> self master-options) 4) + (not (-> self on-ground)) + (or (not (-> self cam-entity)) (zero? (logand #x20000 (cam-slave-get-flags (-> self cam-entity) 'flags)))) ) - (not - ((method-of-type res-lump get-property-data) - (-> self cam-entity) - 'vol - 'exact - 0.0 - (the-as pointer #f) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) + #f ) - ) - #f - ) - (else - (let ((v1-17 (-> *camera-engine* alive-list next0))) - *camera-engine* - (let ((gp-5 (-> v1-17 next0))) - (while (!= v1-17 (-> *camera-engine* alive-list-end)) - (let ((s5-1 (-> (the-as connection v1-17) param1))) - (when - (and - (not - (in-cam-entity-volume? - (target-pos 0) - (the-as entity s5-1) - 1024.0 - 'cutoutvol + ((and + (-> self cam-entity) + (not (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 0.0 'cutoutvol)) + (or + (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'pvol) + (in-cam-entity-volume? (target-pos 0) (-> self cam-entity) 1024.0 'vol) + (and + (not ((method-of-type res-lump get-property-data) + (-> self cam-entity) + 'pvol + 'exact + 0.0 + (the-as pointer #f) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (not ((method-of-type res-lump get-property-data) + (-> self cam-entity) + 'vol + 'exact + 0.0 + (the-as pointer #f) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) ) - ) - (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 0.0 'vol) ) - (if (master-switch-to-entity (the-as entity s5-1)) - (return #t) - ) - ) ) - (set! v1-17 gp-5) - *camera-engine* - (set! gp-5 (-> gp-5 next0)) - ) + #f ) + (else + (let ((v1-17 (-> *camera-engine* alive-list next0))) + *camera-engine* + (let ((gp-5 (-> v1-17 next0))) + (while (!= v1-17 (-> *camera-engine* alive-list-end)) + (let ((s5-1 (-> (the-as connection v1-17) param1))) + (when (and + (not (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 1024.0 'cutoutvol)) + (in-cam-entity-volume? (target-pos 0) (the-as entity s5-1) 0.0 'vol) + ) + (if (master-switch-to-entity (the-as entity s5-1)) + (return #t) + ) + ) + ) + (set! v1-17 gp-5) + *camera-engine* + (set! gp-5 (-> gp-5 next0)) + ) + ) + ) + (master-unset-region) + ) ) - (master-unset-region) - ) ) - ) ) ;; failed to figure out what this is: (defstate cam-master-active (camera-master) :enter (behavior () - (if (and (nonzero? camera-master-debug) *debug-segment*) - (add-connection *debug-engine* self camera-master-debug self #f #f) + (if (and (nonzero? camera-master-debug) *debug-segment*) + (add-connection *debug-engine* self camera-master-debug self #f #f) + ) + (none) ) - (none) - ) :trans (behavior () - (when (not (paused?)) - (vector-negate! - (-> self local-down) - (vector-normalize-copy! - (-> self local-down) - (-> *standard-dynamics* gravity) - 1.0 + (when (not (paused?)) + (vector-negate! + (-> self local-down) + (vector-normalize-copy! (-> self local-down) (-> *standard-dynamics* gravity) 1.0) + ) + (cam-master-effect) ) - ) - (cam-master-effect) + (none) ) - (none) - ) :code (behavior () - (while #t - (if (and *dproc* *debug-segment*) - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'camera - (new 'static 'rgba :r #x40 :b #x40 :a #x80) + (while #t + (if (and *dproc* *debug-segment*) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'camera + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (set! (-> self string-min target y) (-> self stringMinHeight)) + (set! (-> self string-max target y) (-> self stringMaxHeight)) + (set! (-> self string-min target z) (-> self stringMinLength)) + (set! (-> self string-max target z) (-> self stringMaxLength)) + (set! (-> self string-push-z) (fmax (-> self string-min value z) (-> *CAMERA-bank* default-string-push-z))) + (master-track-target) + (set! (-> last-try-to-look-at-data horz) 0.0) + (set! (-> last-try-to-look-at-data vert) 0.0) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'slave-option?) + (set! (-> a1-1 param 0) (the-as uint #x4000)) + (when (send-event-function *camera* a1-1) + (set! (-> self string-min target y) 18432.0) + (set! (-> self string-max target y) 18432.041) + ) + ) + (when (not (paused?)) + (update! (-> self string-min) (the-as vector #f)) + (update! (-> self string-max) (the-as vector #f)) + (master-check-regions) + ) + (set! (-> self string-min value x) + (fmin (-> self string-min value x) (+ -4.096 (-> self string-max value x))) + ) + (set! (-> self string-min value y) + (fmin (-> self string-min value y) (+ -4.096 (-> self string-max value y))) + ) + (set! (-> self string-min value z) + (fmin (-> self string-min value z) (+ -4.096 (-> self string-max value z))) + ) + (if (nonzero? (-> self no-intro)) + (+! (-> self no-intro) -1) + ) + (if (nonzero? (-> self force-blend)) + (+! (-> self force-blend) -1) + ) + (suspend) ) - ) - (set! (-> self string-min target y) (-> self stringMinHeight)) - (set! (-> self string-max target y) (-> self stringMaxHeight)) - (set! (-> self string-min target z) (-> self stringMinLength)) - (set! (-> self string-max target z) (-> self stringMaxLength)) - (set! - (-> self string-push-z) - (fmax - (-> self string-min value z) - (-> *CAMERA-bank* default-string-push-z) - ) - ) - (master-track-target) - (set! (-> last-try-to-look-at-data horz) 0.0) - (set! (-> last-try-to-look-at-data vert) 0.0) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'slave-option?) - (set! (-> a1-1 param 0) (the-as uint #x4000)) - (when (send-event-function *camera* a1-1) - (set! (-> self string-min target y) 18432.0) - (set! (-> self string-max target y) 18432.041) - ) - ) - (when (not (paused?)) - (update! (-> self string-min) (the-as vector #f)) - (update! (-> self string-max) (the-as vector #f)) - (master-check-regions) - ) - (set! - (-> self string-min value x) - (fmin (-> self string-min value x) (+ -4.096 (-> self string-max value x))) - ) - (set! - (-> self string-min value y) - (fmin (-> self string-min value y) (+ -4.096 (-> self string-max value y))) - ) - (set! - (-> self string-min value z) - (fmin (-> self string-min value z) (+ -4.096 (-> self string-max value z))) - ) - (if (nonzero? (-> self no-intro)) - (+! (-> self no-intro) -1) - ) - (if (nonzero? (-> self force-blend)) - (+! (-> self force-blend) -1) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition of type list-keeper @@ -1377,8 +959,8 @@ ;; definition for method 3 of type list-keeper (defmethod inspect list-keeper ((obj list-keeper)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tdummy: ~f~%" (-> obj dummy)) obj ) @@ -1387,12 +969,12 @@ (defstate list-keeper-active (camera-master) :code (behavior () - (while #t - (change-to-last-brother self) - (suspend) + (while #t + (change-to-last-brother self) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for function list-keeper-init @@ -1413,8 +995,8 @@ (set! (-> self master-options) (the-as uint 4)) (set! (-> self num-slaves) 0) (dotimes (v1-5 2) - (set! (-> self slave v1-5) (the-as (pointer camera-slave) #f)) - ) + (set! (-> self slave v1-5) (the-as (pointer camera-slave) #f)) + ) (set! (-> self slave-options) (the-as uint 560)) (set! (-> self view-off-param-save) 1.0) (set! (-> self changer) (the-as uint (process->ppointer self))) @@ -1428,65 +1010,52 @@ (set! (-> self force-blend) (the-as uint 0)) (set! (-> self string-push-z) (-> *CAMERA-bank* default-string-push-z)) (let ((gp-0 (new-stack-vector0))) - (set! (-> gp-0 y) (-> *CAMERA-bank* default-string-min-y)) - (set! (-> gp-0 z) (-> *CAMERA-bank* default-string-min-z)) - (init! (-> self string-min) gp-0 40.96 409.6 0.9) - (set! (-> gp-0 y) (-> *CAMERA-bank* default-string-max-y)) - (set! (-> gp-0 z) (-> *CAMERA-bank* default-string-max-z)) - (init! (-> self string-max) gp-0 40.96 409.6 0.9) - ) + (set! (-> gp-0 y) (-> *CAMERA-bank* default-string-min-y)) + (set! (-> gp-0 z) (-> *CAMERA-bank* default-string-min-z)) + (init! (-> self string-min) gp-0 40.96 409.6 0.9) + (set! (-> gp-0 y) (-> *CAMERA-bank* default-string-max-y)) + (set! (-> gp-0 z) (-> *CAMERA-bank* default-string-max-z)) + (init! (-> self string-max) gp-0 40.96 409.6 0.9) + ) (set! (-> self outro-t-step) 0.0) (set! (-> self drawable-target) (the-as handle #f)) (set! (-> self which-bone) 0) (let ((a1-3 (new-stack-vector0))) - (TODO-RENAME-10 (-> self target-spline) a1-3) - ) + (TODO-RENAME-10 (-> self target-spline) a1-3) + ) (set! (-> self pov-handle) (the-as handle #f)) (set! (-> self pov-bone) 0) (let ((gp-1 (get-process *camera-dead-pool* list-keeper #x4000))) - (cond - ((when gp-1 - (let ((t9-5 (method-of-type list-keeper activate))) - (t9-5 - (the-as list-keeper gp-1) - self - 'list-keeper - (the-as pointer #x70004000) - ) + (cond + ((when gp-1 + (let ((t9-5 (method-of-type list-keeper activate))) + (t9-5 (the-as list-keeper gp-1) self 'list-keeper (the-as pointer #x70004000)) + ) + (run-next-time-in-process gp-1 list-keeper-init) + (-> gp-1 ppointer) + ) ) - (run-next-time-in-process gp-1 list-keeper-init) - (-> gp-1 ppointer) + (else + (format 0 "ERROR : master camera list keeper failed to activate~%") + ) ) - ) - (else - (format 0 "ERROR : master camera list keeper failed to activate~%") - ) ) - ) (let ((gp-2 (get-process *camera-dead-pool* camera-slave #x4000))) - (cond - ((when gp-2 - (let ((t9-9 (method-of-type camera-slave activate))) - (t9-9 - (the-as camera-slave gp-2) - self - 'camera-slave - (the-as pointer #x70004000) - ) + (cond + ((when gp-2 + (let ((t9-9 (method-of-type camera-slave activate))) + (t9-9 (the-as camera-slave gp-2) self 'camera-slave (the-as pointer #x70004000)) + ) + (run-next-time-in-process gp-2 cam-slave-init cam-free-floating #f) + (-> gp-2 ppointer) + ) ) - (run-next-time-in-process gp-2 cam-slave-init cam-free-floating #f) - (-> gp-2 ppointer) + (else + (format 0 "ERROR : first slave failed to activate~%") + ) ) - ) - (else - (format 0 "ERROR : first slave failed to activate~%") - ) ) - ) - (set! - (-> self water-drip) - (create-launch-control group-rain-screend-drop self) - ) + (set! (-> self water-drip) (create-launch-control group-rain-screend-drop self)) (set! (-> self water-drip-time) (the-as uint -18000)) (go cam-master-active) 0 diff --git a/test/decompiler/reference/engine/camera/cam-start_REF.gc b/test/decompiler/reference/engine/camera/cam-start_REF.gc index 23a790b194..007ca57979 100644 --- a/test/decompiler/reference/engine/camera/cam-start_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-start_REF.gc @@ -18,55 +18,32 @@ (defun cam-start ((arg0 symbol)) (cam-stop) (let ((s5-0 (get-process *camera-dead-pool* camera-combiner #x4000))) - (when s5-0 - (let ((t9-2 (method-of-type camera-combiner activate))) - (t9-2 - (the-as camera-combiner s5-0) - *camera-pool* - 'camera-combiner - (the-as pointer #x70004000) + (when s5-0 + (let ((t9-2 (method-of-type camera-combiner activate))) + (t9-2 (the-as camera-combiner s5-0) *camera-pool* 'camera-combiner (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 cam-combiner-init) + (-> s5-0 ppointer) ) - ) - (run-now-in-process s5-0 cam-combiner-init) - (-> s5-0 ppointer) ) - ) (let ((s5-1 (get-process *camera-master-dead-pool* camera-master #x4000))) - (set! *camera* (the-as camera-master (ppointer->process (when s5-1 - (let - ((t9-5 - (method-of-type - camera-master - activate - ) - ) - ) - (t9-5 - (the-as - camera-master - s5-1 - ) - *camera-pool* - 'camera-master - (the-as - pointer - #x70004000 - ) - ) - ) - (run-next-time-in-process - s5-1 - cam-master-init - ) - (-> s5-1 ppointer) - ) - ) - ) + (set! *camera* + (the-as camera-master + (ppointer->process + (when s5-1 + (let ((t9-5 (method-of-type camera-master activate))) + (t9-5 (the-as camera-master s5-1) *camera-pool* 'camera-master (the-as pointer #x70004000)) + ) + (run-next-time-in-process s5-1 cam-master-init) + (-> s5-1 ppointer) + ) + ) + ) + ) ) - ) (if arg0 - (reset-cameras) - ) + (reset-cameras) + ) 0 (none) ) diff --git a/test/decompiler/reference/engine/camera/cam-states-dbg_REF.gc b/test/decompiler/reference/engine/camera/cam-states-dbg_REF.gc index c0aef83aaa..4f7935d2dd 100644 --- a/test/decompiler/reference/engine/camera/cam-states-dbg_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-states-dbg_REF.gc @@ -20,144 +20,79 @@ ) ;; definition for symbol *CAM_POINT_WATCH-bank*, type cam-point-watch-bank -(define - *CAM_POINT_WATCH-bank* - (new 'static 'cam-point-watch-bank :speed 1600.0 :rot-speed (degrees 0.6)) - ) +(define *CAM_POINT_WATCH-bank* (new 'static 'cam-point-watch-bank :speed 1600.0 :rot-speed (degrees 0.6))) ;; failed to figure out what this is: (defstate cam-point-watch (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (set! (-> self pivot-rad) 40960.0) - (set! (-> self blend-from-type) (the-as uint 1)) - (set! (-> self blend-to-type) (the-as uint 1)) + (when (not (-> self enter-has-run)) + (set! (-> self pivot-rad) 40960.0) + (set! (-> self blend-from-type) (the-as uint 1)) + (set! (-> self blend-to-type) (the-as uint 1)) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (let ((s5-0 (new-stack-vector0)) - (gp-0 (new-stack-vector0)) + (while #t + (let ((s5-0 (new-stack-vector0)) + (gp-0 (new-stack-vector0)) + ) + (when *camera-read-analog* + (let ((f28-0 (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 48.0 110.0 -1.0)) + (f30-0 (analog-input (the-as int (-> *cpad-list* cpads 0 lefty)) 128.0 48.0 110.0 -1.0)) + (f26-0 (analog-input (the-as int (-> *cpad-list* cpads 0 rightx)) 128.0 48.0 110.0 -1.0)) + (f0-0 (analog-input (the-as int (-> *cpad-list* cpads 0 righty)) 128.0 48.0 110.0 -1.0)) + ) + (cond + ((logtest? (-> *cpad-list* cpads (-> *CAMERA-bank* joypad) button0-abs 0) (pad-buttons r2)) + (set! (-> s5-0 y) (- (-> s5-0 y) (* 0.2 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f26-0)))) + (set! (-> s5-0 x) (- (-> s5-0 x) (* 0.2 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f0-0)))) + (+! (-> gp-0 x) (* 0.2 (-> *CAM_POINT_WATCH-bank* speed) f28-0)) + (+! (-> gp-0 z) (* 0.2 (-> *CAM_POINT_WATCH-bank* speed) f30-0)) + ) + (else + (set! (-> s5-0 y) (- (-> s5-0 y) (* 2.0 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f26-0)))) + (set! (-> s5-0 x) (- (-> s5-0 x) (* 2.0 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f0-0)))) + (+! (-> gp-0 x) (* 2.0 (-> *CAM_POINT_WATCH-bank* speed) f28-0)) + (+! (-> gp-0 z) (* 2.0 (-> *CAM_POINT_WATCH-bank* speed) f30-0)) + ) + ) + ) + (let ((s4-0 (new-stack-vector0))) + (let ((s3-0 (new-stack-matrix0))) + (matrix-axis-angle! s3-0 (the-as vector (-> self tracking)) (- (-> s5-0 x))) + (vector-matrix*! s4-0 (-> self tracking inv-mat vector 2) s3-0) + (matrix-axis-angle! s3-0 (-> *camera* local-down) (- (-> s5-0 y))) + (vector-matrix*! s4-0 s4-0 s3-0) + ) + (forward-down->inv-matrix (the-as matrix (-> self tracking)) s4-0 (-> *camera* local-down)) + ) + (set! (-> self pivot-rad) (- (-> self pivot-rad) (-> gp-0 z))) + (if (< (-> self pivot-rad) 4096.0) + (set! (-> self pivot-rad) 4096.0) + ) + (set-vector! gp-0 0.0 0.0 (- (-> self pivot-rad)) 1.0) + (vector-matrix*! (-> self trans) gp-0 (the-as matrix (-> self tracking))) ) - (when *camera-read-analog* - (let - ((f28-0 - (analog-input - (the-as int (-> *cpad-list* cpads 0 leftx)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - (f30-0 - (analog-input - (the-as int (-> *cpad-list* cpads 0 lefty)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - (f26-0 - (analog-input - (the-as int (-> *cpad-list* cpads 0 rightx)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - (f0-0 - (analog-input - (the-as int (-> *cpad-list* cpads 0 righty)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) ) - (cond - ((logtest? - (-> *cpad-list* cpads (-> *CAMERA-bank* joypad) button0-abs 0) - (pad-buttons r2) - ) - (set! - (-> s5-0 y) - (- - (-> s5-0 y) - (* 0.2 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f26-0)) - ) - ) - (set! - (-> s5-0 x) - (- (-> s5-0 x) (* 0.2 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f0-0))) - ) - (+! (-> gp-0 x) (* 0.2 (-> *CAM_POINT_WATCH-bank* speed) f28-0)) - (+! (-> gp-0 z) (* 0.2 (-> *CAM_POINT_WATCH-bank* speed) f30-0)) - ) - (else - (set! - (-> s5-0 y) - (- - (-> s5-0 y) - (* 2.0 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f26-0)) - ) - ) - (set! - (-> s5-0 x) - (- (-> s5-0 x) (* 2.0 (-> *CAM_POINT_WATCH-bank* rot-speed) (- f0-0))) - ) - (+! (-> gp-0 x) (* 2.0 (-> *CAM_POINT_WATCH-bank* speed) f28-0)) - (+! (-> gp-0 z) (* 2.0 (-> *CAM_POINT_WATCH-bank* speed) f30-0)) - ) - ) - ) - (let ((s4-0 (new-stack-vector0))) - (let ((s3-0 (new-stack-matrix0))) - (matrix-axis-angle! - s3-0 - (the-as vector (-> self tracking)) - (- (-> s5-0 x)) - ) - (vector-matrix*! s4-0 (-> self tracking inv-mat vector 2) s3-0) - (matrix-axis-angle! s3-0 (-> *camera* local-down) (- (-> s5-0 y))) - (vector-matrix*! s4-0 s4-0 s3-0) - ) - (forward-down->inv-matrix - (the-as matrix (-> self tracking)) - s4-0 - (-> *camera* local-down) - ) - ) - (set! (-> self pivot-rad) (- (-> self pivot-rad) (-> gp-0 z))) - (if (< (-> self pivot-rad) 4096.0) - (set! (-> self pivot-rad) 4096.0) - ) - (set-vector! gp-0 0.0 0.0 (- (-> self pivot-rad)) 1.0) - (vector-matrix*! (-> self trans) gp-0 (the-as matrix (-> self tracking))) + (suspend) + 0 ) - ) - (suspend) - 0 + (none) ) - (none) - ) ) ;; definition of type cam-free-bank @@ -179,429 +114,249 @@ ) ;; definition for symbol *CAM_FREE-bank*, type cam-free-bank -(define - *CAM_FREE-bank* - (new 'static 'cam-free-bank :speed 1600.0 :rot-speed (degrees 0.6)) - ) +(define *CAM_FREE-bank* (new 'static 'cam-free-bank :speed 1600.0 :rot-speed (degrees 0.6))) ;; definition for function cam-free-floating-input -(defun - cam-free-floating-input - ((arg0 vector) (arg1 vector) (arg2 symbol) (arg3 int)) +(defun cam-free-floating-input ((arg0 vector) (arg1 vector) (arg2 symbol) (arg3 int)) (when (and (!= *master-mode* 'menu) (not *cam-layout*)) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons x)) - (set! - (-> arg0 x) - (- - (-> arg0 x) - (+ - (-> *CAM_FREE-bank* rot-speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 6)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* rot-speed) - ) - ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons x)) + (set! (-> arg0 x) + (- (-> arg0 x) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input + (the-as int (-> *cpad-list* cpads arg3 abutton 6)) + 0.0 + 32.0 + 230.0 + (-> *CAM_FREE-bank* rot-speed) + ) + ) + ) + ) + ) ) - ) - ) - (when *camera-read-buttons* - (if - (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons triangle)) - (+! - (-> arg0 x) - (+ - (-> *CAM_FREE-bank* rot-speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 4)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* rot-speed) - ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons triangle)) + (+! (-> arg0 x) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input + (the-as int (-> *cpad-list* cpads arg3 abutton 4)) + 0.0 + 32.0 + 230.0 + (-> *CAM_FREE-bank* rot-speed) + ) + ) + ) + ) ) - ) - ) - (when *camera-read-buttons* - (if - (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons square)) - (+! - (-> arg0 y) - (+ - (-> *CAM_FREE-bank* rot-speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 7)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* rot-speed) - ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons square)) + (+! (-> arg0 y) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input + (the-as int (-> *cpad-list* cpads arg3 abutton 7)) + 0.0 + 32.0 + 230.0 + (-> *CAM_FREE-bank* rot-speed) + ) + ) + ) + ) ) - ) - ) - (when *camera-read-buttons* - (if - (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons circle)) - (set! - (-> arg0 y) - (- - (-> arg0 y) - (+ - (-> *CAM_FREE-bank* rot-speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 5)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* rot-speed) - ) - ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons circle)) + (set! (-> arg0 y) + (- (-> arg0 y) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input + (the-as int (-> *cpad-list* cpads arg3 abutton 5)) + 0.0 + 32.0 + 230.0 + (-> *CAM_FREE-bank* rot-speed) + ) + ) + ) + ) + ) ) - ) ) - ) (when arg2 - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons l2)) - (+! - (-> arg0 z) - (+ - (-> *CAM_FREE-bank* rot-speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 10)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* rot-speed) - ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons l2)) + (+! (-> arg0 z) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input + (the-as int (-> *cpad-list* cpads arg3 abutton 10)) + 0.0 + 32.0 + 230.0 + (-> *CAM_FREE-bank* rot-speed) + ) + ) + ) + ) ) - ) - ) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons r2)) - (set! - (-> arg0 z) - (- - (-> arg0 z) - (+ - (-> *CAM_FREE-bank* rot-speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 11)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* rot-speed) - ) - ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons r2)) + (set! (-> arg0 z) + (- (-> arg0 z) (+ (-> *CAM_FREE-bank* rot-speed) (analog-input + (the-as int (-> *cpad-list* cpads arg3 abutton 11)) + 0.0 + 32.0 + 230.0 + (-> *CAM_FREE-bank* rot-speed) + ) + ) + ) + ) + ) ) - ) ) - ) (cond - ((not *cam-free-move-along-z*) - ) - ((not *camera-read-analog*) - ) - ((logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons r2)) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons r1)) - (+! - (-> arg1 y) - (+ - (* 0.2 (-> *CAM_FREE-bank* speed)) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 9)) - 0.0 - 32.0 - 230.0 - (* 0.2 (-> *CAM_FREE-bank* speed)) - ) - ) - ) - ) + ((not *cam-free-move-along-z*) ) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons l1)) - (set! - (-> arg1 y) - (- - (-> arg1 y) - (+ - (* 0.2 (-> *CAM_FREE-bank* speed)) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 8)) - 0.0 - 32.0 - 230.0 - (* 0.2 (-> *CAM_FREE-bank* speed)) - ) - ) - ) - ) - ) + ((not *camera-read-analog*) ) + ((logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons r2)) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons r1)) + (+! (-> arg1 y) (+ (* 0.2 (-> *CAM_FREE-bank* speed)) (analog-input + (the-as int (-> *cpad-list* cpads arg3 abutton 9)) + 0.0 + 32.0 + 230.0 + (* 0.2 (-> *CAM_FREE-bank* speed)) + ) + ) + ) + ) + ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons l1)) + (set! (-> arg1 y) + (- (-> arg1 y) (+ (* 0.2 (-> *CAM_FREE-bank* speed)) (analog-input + (the-as int (-> *cpad-list* cpads arg3 abutton 8)) + 0.0 + 32.0 + 230.0 + (* 0.2 (-> *CAM_FREE-bank* speed)) + ) + ) + ) + ) + ) + ) + ) + (else + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons r1)) + (+! + (-> arg1 y) + (+ (-> *CAM_FREE-bank* speed) + (analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 9)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed)) + ) + ) + ) + ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons l1)) + (set! (-> arg1 y) + (- (-> arg1 y) + (+ (-> *CAM_FREE-bank* speed) + (analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 8)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed)) + ) + ) + ) + ) + ) + ) ) - (else - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons r1)) - (+! - (-> arg1 y) - (+ - (-> *CAM_FREE-bank* speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 9)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* speed) - ) - ) - ) - ) - ) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons l1)) - (set! - (-> arg1 y) - (- - (-> arg1 y) - (+ - (-> *CAM_FREE-bank* speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 8)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* speed) - ) - ) - ) - ) - ) - ) - ) - ) (when (and (!= *master-mode* 'menu) (not *cam-layout*)) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons left)) - (+! - (-> arg1 x) - (+ - (-> *CAM_FREE-bank* speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 1)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* speed) - ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons left)) + (+! + (-> arg1 x) + (+ (-> *CAM_FREE-bank* speed) + (analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 1)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed)) + ) + ) + ) ) - ) - ) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons right)) - (set! - (-> arg1 x) - (- - (-> arg1 x) - (+ - (-> *CAM_FREE-bank* speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 0)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* speed) - ) - ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons right)) + (set! (-> arg1 x) + (- (-> arg1 x) + (+ (-> *CAM_FREE-bank* speed) + (analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 0)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed)) + ) + ) + ) + ) ) - ) - ) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons up)) - (+! - (-> arg1 z) - (+ - (-> *CAM_FREE-bank* speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 2)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* speed) - ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons up)) + (+! + (-> arg1 z) + (+ (-> *CAM_FREE-bank* speed) + (analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 2)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed)) + ) + ) + ) ) - ) - ) - (when *camera-read-buttons* - (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons down)) - (set! - (-> arg1 z) - (- - (-> arg1 z) - (+ - (-> *CAM_FREE-bank* speed) - (analog-input - (the-as int (-> *cpad-list* cpads arg3 abutton 3)) - 0.0 - 32.0 - 230.0 - (-> *CAM_FREE-bank* speed) - ) - ) - ) + (when *camera-read-buttons* + (if (logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons down)) + (set! (-> arg1 z) + (- (-> arg1 z) + (+ (-> *CAM_FREE-bank* speed) + (analog-input (the-as int (-> *cpad-list* cpads arg3 abutton 3)) 0.0 32.0 230.0 (-> *CAM_FREE-bank* speed)) + ) + ) + ) + ) ) - ) ) - ) (when *camera-read-analog* - (let - ((f28-14 - (analog-input - (the-as int (-> *cpad-list* cpads arg3 leftx)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - (f30-14 - (analog-input - (the-as int (-> *cpad-list* cpads arg3 lefty)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - (f24-0 - (analog-input - (the-as int (-> *cpad-list* cpads arg3 rightx)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - (f26-0 - (analog-input - (the-as int (-> *cpad-list* cpads arg3 righty)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - ) - (when *display-load-boundaries* - (when - (and - (!= arg3 1) - (zero? (logand (-> *cpad-list* cpads 1 button0-abs 0) (pad-buttons x))) - (zero? (logand (-> *cpad-list* cpads 1 button0-abs 0) (pad-buttons r1))) - (zero? (logand (-> *cpad-list* cpads 1 button0-abs 0) (pad-buttons r2))) - ) - (+! - f28-14 - (analog-input - (the-as int (-> *cpad-list* cpads 1 leftx)) - 128.0 - 48.0 - 110.0 - -1.0 + (let ((f28-14 (analog-input (the-as int (-> *cpad-list* cpads arg3 leftx)) 128.0 48.0 110.0 -1.0)) + (f30-14 (analog-input (the-as int (-> *cpad-list* cpads arg3 lefty)) 128.0 48.0 110.0 -1.0)) + (f24-0 (analog-input (the-as int (-> *cpad-list* cpads arg3 rightx)) 128.0 48.0 110.0 -1.0)) + (f26-0 (analog-input (the-as int (-> *cpad-list* cpads arg3 righty)) 128.0 48.0 110.0 -1.0)) + ) + (when *display-load-boundaries* + (when (and + (!= arg3 1) + (zero? (logand (-> *cpad-list* cpads 1 button0-abs 0) (pad-buttons x))) + (zero? (logand (-> *cpad-list* cpads 1 button0-abs 0) (pad-buttons r1))) + (zero? (logand (-> *cpad-list* cpads 1 button0-abs 0) (pad-buttons r2))) + ) + (+! f28-14 (analog-input (the-as int (-> *cpad-list* cpads 1 leftx)) 128.0 48.0 110.0 -1.0)) + (+! f30-14 (analog-input (the-as int (-> *cpad-list* cpads 1 lefty)) 128.0 48.0 110.0 -1.0)) + (+! f24-0 (analog-input (the-as int (-> *cpad-list* cpads 1 rightx)) 128.0 48.0 110.0 -1.0)) + (+! f26-0 (analog-input (the-as int (-> *cpad-list* cpads 1 righty)) 128.0 48.0 110.0 -1.0)) + ) ) - ) - (+! - f30-14 - (analog-input - (the-as int (-> *cpad-list* cpads 1 lefty)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - (+! - f24-0 - (analog-input - (the-as int (-> *cpad-list* cpads 1 rightx)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - (+! - f26-0 - (analog-input - (the-as int (-> *cpad-list* cpads 1 righty)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - ) - ) - (cond - ((logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons r2)) (cond - ((logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons l2)) - (set! - (-> arg0 y) - (- (-> arg0 y) (* 0.5 (-> *CAM_FREE-bank* rot-speed) (- f24-0))) + ((logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons r2)) + (cond + ((logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons l2)) + (set! (-> arg0 y) (- (-> arg0 y) (* 0.5 (-> *CAM_FREE-bank* rot-speed) (- f24-0)))) + (set! (-> arg0 x) (- (-> arg0 x) (* 0.5 (-> *CAM_FREE-bank* rot-speed) (- f26-0)))) + ) + (else + (set! (-> arg0 y) (- (-> arg0 y) (* (- f24-0) (-> *CAM_FREE-bank* rot-speed)))) + (set! (-> arg0 x) (- (-> arg0 x) (* (- f26-0) (-> *CAM_FREE-bank* rot-speed)))) + ) + ) + (+! (-> arg1 x) (* 0.2 (-> *CAM_FREE-bank* speed) f28-14)) + (+! (-> arg1 z) (* 0.2 (-> *CAM_FREE-bank* speed) f30-14)) ) - (set! - (-> arg0 x) - (- (-> arg0 x) (* 0.5 (-> *CAM_FREE-bank* rot-speed) (- f26-0))) + ((logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons l2)) + (+! (-> arg1 x) (* f28-14 (-> *CAM_FREE-bank* speed))) + (+! (-> arg1 y) (* f26-0 (-> *CAM_FREE-bank* speed))) + (+! (-> arg1 z) (* f30-14 (-> *CAM_FREE-bank* speed))) ) + (else + (set! (-> arg0 y) (- (-> arg0 y) (* 2.0 (-> *CAM_FREE-bank* rot-speed) (- f24-0)))) + (set! (-> arg0 x) (- (-> arg0 x) (* 2.0 (-> *CAM_FREE-bank* rot-speed) (- f26-0)))) + (+! (-> arg1 x) (* 2.0 (-> *CAM_FREE-bank* speed) f28-14)) + (+! (-> arg1 z) (* 2.0 (-> *CAM_FREE-bank* speed) f30-14)) + ) ) - (else - (set! - (-> arg0 y) - (- (-> arg0 y) (* (- f24-0) (-> *CAM_FREE-bank* rot-speed))) - ) - (set! - (-> arg0 x) - (- (-> arg0 x) (* (- f26-0) (-> *CAM_FREE-bank* rot-speed))) - ) - ) - ) - (+! (-> arg1 x) (* 0.2 (-> *CAM_FREE-bank* speed) f28-14)) - (+! (-> arg1 z) (* 0.2 (-> *CAM_FREE-bank* speed) f30-14)) ) - ((logtest? (-> *cpad-list* cpads arg3 button0-abs 0) (pad-buttons l2)) - (+! (-> arg1 x) (* f28-14 (-> *CAM_FREE-bank* speed))) - (+! (-> arg1 y) (* f26-0 (-> *CAM_FREE-bank* speed))) - (+! (-> arg1 z) (* f30-14 (-> *CAM_FREE-bank* speed))) - ) - (else - (set! - (-> arg0 y) - (- (-> arg0 y) (* 2.0 (-> *CAM_FREE-bank* rot-speed) (- f24-0))) - ) - (set! - (-> arg0 x) - (- (-> arg0 x) (* 2.0 (-> *CAM_FREE-bank* rot-speed) (- f26-0))) - ) - (+! (-> arg1 x) (* 2.0 (-> *CAM_FREE-bank* speed) f28-14)) - (+! (-> arg1 z) (* 2.0 (-> *CAM_FREE-bank* speed) f30-14)) - ) - ) ) - ) (vector-float*! arg0 arg0 (-> *display* time-adjust-ratio)) (vector-float*! arg1 arg1 (-> *display* time-adjust-ratio)) ) @@ -619,10 +374,7 @@ ) ;; definition for method 3 of type camera-free-floating-move-info -(defmethod - inspect - camera-free-floating-move-info - ((obj camera-free-floating-move-info)) +(defmethod inspect camera-free-floating-move-info ((obj camera-free-floating-move-info)) (format #t "[~8x] ~A~%" obj 'camera-free-floating-move-info) (format #t "~Trv: #~%" (-> obj rv)) (format #t "~Ttv: #~%" (-> obj tv)) @@ -632,89 +384,83 @@ ) ;; definition for function cam-free-floating-move -(defun - cam-free-floating-move - ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 int)) +(defun cam-free-floating-move ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 int)) (if (logtest? (-> *cpad-list* cpads arg3 valid) 128) - (return (the-as vector #f)) - ) - (if (= *master-mode* 'menu) - (return (the-as vector #f)) - ) - (let ((s3-0 (new 'stack 'camera-free-floating-move-info))) - (cam-free-floating-input (-> s3-0 rv) (-> s3-0 tv) (not arg2) arg3) - (cond - (arg2 - (matrix-axis-angle! (-> s3-0 tm) arg2 (-> s3-0 rv y)) - (matrix*! arg0 arg0 (-> s3-0 tm)) - (cond - ((< (vector-dot (-> arg0 vector 1) arg2) 0.0) - (forward-down->inv-matrix arg0 (-> arg0 vector 2) arg2) - ) - (else - (vector-negate! (-> s3-0 up) arg2) - (forward-down->inv-matrix arg0 (-> arg0 vector 2) (-> s3-0 up)) - ) + (return (the-as vector #f)) ) - ) - (else - (matrix-axis-angle! (-> s3-0 tm) (-> arg0 vector 1) (- (-> s3-0 rv y))) - (matrix*! arg0 arg0 (-> s3-0 tm)) - ) + (if (= *master-mode* 'menu) + (return (the-as vector #f)) + ) + (let ((s3-0 (new 'stack 'camera-free-floating-move-info))) + (cam-free-floating-input (-> s3-0 rv) (-> s3-0 tv) (not arg2) arg3) + (cond + (arg2 + (matrix-axis-angle! (-> s3-0 tm) arg2 (-> s3-0 rv y)) + (matrix*! arg0 arg0 (-> s3-0 tm)) + (cond + ((< (vector-dot (-> arg0 vector 1) arg2) 0.0) + (forward-down->inv-matrix arg0 (-> arg0 vector 2) arg2) + ) + (else + (vector-negate! (-> s3-0 up) arg2) + (forward-down->inv-matrix arg0 (-> arg0 vector 2) (-> s3-0 up)) + ) + ) + ) + (else + (matrix-axis-angle! (-> s3-0 tm) (-> arg0 vector 1) (- (-> s3-0 rv y))) + (matrix*! arg0 arg0 (-> s3-0 tm)) + ) + ) + (matrix-axis-angle! (-> s3-0 tm) (the-as vector (-> arg0 vector)) (- (-> s3-0 rv x))) + (matrix*! arg0 arg0 (-> s3-0 tm)) + (matrix-axis-angle! (-> s3-0 tm) (-> arg0 vector 2) (- (-> s3-0 rv z))) + (matrix*! arg0 arg0 (-> s3-0 tm)) + (vector-matrix*! (-> s3-0 tv) (-> s3-0 tv) arg0) + (vector+! arg1 arg1 (-> s3-0 tv)) ) - (matrix-axis-angle! - (-> s3-0 tm) - (the-as vector (-> arg0 vector)) - (- (-> s3-0 rv x)) - ) - (matrix*! arg0 arg0 (-> s3-0 tm)) - (matrix-axis-angle! (-> s3-0 tm) (-> arg0 vector 2) (- (-> s3-0 rv z))) - (matrix*! arg0 arg0 (-> s3-0 tm)) - (vector-matrix*! (-> s3-0 tv) (-> s3-0 tv) arg0) - (vector+! arg1 arg1 (-> s3-0 tv)) - ) ) ;; failed to figure out what this is: (defstate cam-free-floating (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (set! (-> self blend-from-type) (the-as uint 1)) - (set! (-> self blend-to-type) (the-as uint 1)) - (send-event *camera-combiner* 'stop-tracking) + (when (not (-> self enter-has-run)) + (set! (-> self blend-from-type) (the-as uint 1)) + (set! (-> self blend-to-type) (the-as uint 1)) + (send-event *camera-combiner* 'stop-tracking) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (let ((a2-0 (-> *camera* local-down))) - (if (logtest? (-> self options) 8) - (set! a2-0 (the-as vector #f)) + (while #t + (let ((a2-0 (-> *camera* local-down))) + (if (logtest? (-> self options) 8) + (set! a2-0 (the-as vector #f)) + ) + (cam-free-floating-move + (the-as matrix (-> self tracking)) + (-> self trans) + a2-0 + (the-as int (-> *CAMERA-bank* joypad)) + ) + ) + (suspend) ) - (cam-free-floating-move - (the-as matrix (-> self tracking)) - (-> self trans) - a2-0 - (the-as int (-> *CAMERA-bank* joypad)) - ) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition of type camera-orbit-info @@ -764,15 +510,13 @@ ) ;; definition for symbol *CAM_ORBIT-bank*, type CAM_ORBIT-bank -(define - *CAM_ORBIT-bank* - (new 'static 'CAM_ORBIT-bank - :RADIUS_MAX 61440.0 - :RADIUS_MIN 409.6 - :TARGET_OFF_ADJUST 81.92 - :ORBIT_OFF_ADJUST 81.92 - ) - ) +(define *CAM_ORBIT-bank* (new 'static 'CAM_ORBIT-bank + :RADIUS_MAX 61440.0 + :RADIUS_MIN 409.6 + :TARGET_OFF_ADJUST 81.92 + :ORBIT_OFF_ADJUST 81.92 + ) + ) ;; definition for symbol *camera-orbit-info*, type camera-orbit-info (define *camera-orbit-info* (new 'static 'camera-orbit-info)) @@ -790,177 +534,122 @@ (defstate cam-orbit (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (if (not *camera-orbit-target*) - (cam-slave-go cam-free-floating) - ) - (let ((v1-4 (new-stack-vector0))) - (vector-! v1-4 (-> self trans) (-> *camera-orbit-target* 0 root trans)) - (set! (-> *camera-orbit-info* rot) (atan (-> v1-4 x) (-> v1-4 z))) - ) - (set! (-> self blend-from-type) (the-as uint 1)) - (set! (-> self blend-to-type) (the-as uint 1)) + (when (not (-> self enter-has-run)) + (if (not *camera-orbit-target*) + (cam-slave-go cam-free-floating) + ) + (let ((v1-4 (new-stack-vector0))) + (vector-! v1-4 (-> self trans) (-> *camera-orbit-target* 0 root trans)) + (set! (-> *camera-orbit-info* rot) (atan (-> v1-4 x) (-> v1-4 z))) + ) + (set! (-> self blend-from-type) (the-as uint 1)) + (set! (-> self blend-to-type) (the-as uint 1)) + ) + (none) ) - (none) - ) :exit - (behavior () - '() - (none) - ) + (behavior () '() (none)) :code (behavior () - (while #t - (if (not *camera-orbit-target*) - (cam-slave-go cam-free-floating) - ) - (when *camera-read-analog* - (let - ((f0-0 - (analog-input - (the-as int (-> *cpad-list* cpads 0 righty)) - 128.0 - 32.0 - 110.0 - 0.05 - ) + (while #t + (if (not *camera-orbit-target*) + (cam-slave-go cam-free-floating) + ) + (when *camera-read-analog* + (let ((f0-0 (analog-input (the-as int (-> *cpad-list* cpads 0 righty)) 128.0 32.0 110.0 0.05))) + (cond + ((< (* 0.05 (- 1.0 (-> *camera-orbit-info* radius-lerp))) f0-0) + (+! (-> *camera-orbit-info* radius-lerp) (* 0.05 (- 1.0 (-> *camera-orbit-info* radius-lerp)))) + ) + ((< f0-0 (* 0.05 (- (-> *camera-orbit-info* radius-lerp)))) + (+! (-> *camera-orbit-info* radius-lerp) (* 0.05 (- (-> *camera-orbit-info* radius-lerp)))) + ) + (else + (+! (-> *camera-orbit-info* radius-lerp) f0-0) + ) + ) + ) + (set! (-> *camera-orbit-info* radius) + (lerp (-> *CAM_ORBIT-bank* RADIUS_MIN) (-> *CAM_ORBIT-bank* RADIUS_MAX) (-> *camera-orbit-info* radius-lerp)) + ) ) - ) (cond - ((< (* 0.05 (- 1.0 (-> *camera-orbit-info* radius-lerp))) f0-0) - (+! - (-> *camera-orbit-info* radius-lerp) - (* 0.05 (- 1.0 (-> *camera-orbit-info* radius-lerp))) + ((cpad-hold? 0 l2) + (if (cpad-hold? 0 l1) + (set! (-> *camera-orbit-info* target-off y) + (- (-> *camera-orbit-info* target-off y) (-> *CAM_ORBIT-bank* TARGET_OFF_ADJUST)) + ) + ) + (if (cpad-hold? 0 r1) + (+! (-> *camera-orbit-info* target-off y) (-> *CAM_ORBIT-bank* TARGET_OFF_ADJUST)) + ) ) + (else + (if (cpad-hold? 0 l1) + (set! (-> *camera-orbit-info* orbit-off y) + (- (-> *camera-orbit-info* orbit-off y) (-> *CAM_ORBIT-bank* ORBIT_OFF_ADJUST)) + ) + ) + (if (cpad-hold? 0 r1) + (+! (-> *camera-orbit-info* orbit-off y) (-> *CAM_ORBIT-bank* ORBIT_OFF_ADJUST)) + ) + ) ) - ((< f0-0 (* 0.05 (- (-> *camera-orbit-info* radius-lerp)))) - (+! - (-> *camera-orbit-info* radius-lerp) - (* 0.05 (- (-> *camera-orbit-info* radius-lerp))) - ) + (when *camera-read-analog* + (let ((f0-20 + (analog-input + (the-as int (-> *cpad-list* cpads 0 rightx)) + 128.0 + 32.0 + 110.0 + (* 21845.334 (-> *display* seconds-per-frame)) + ) + ) + ) + (set! (-> *camera-orbit-info* rot) + (the float (sar (shl (the int (+ (-> *camera-orbit-info* rot) f0-20)) 48) 48)) + ) + ) ) - (else - (+! (-> *camera-orbit-info* radius-lerp) f0-0) + (let ((gp-0 (new-stack-vector0))) + (let ((s5-0 (new-stack-vector0))) + (set-vector! + (-> self trans) + (+ (-> *camera-orbit-target* 0 root trans x) + (* (sin (-> *camera-orbit-info* rot)) (-> *camera-orbit-info* radius)) + ) + (-> *camera-orbit-target* 0 root trans y) + (+ (-> *camera-orbit-target* 0 root trans z) + (* (cos (-> *camera-orbit-info* rot)) (-> *camera-orbit-info* radius)) + ) + 1.0 + ) + (vector+! (-> self trans) (-> self trans) (-> *camera-orbit-info* orbit-off)) + (vector+! + (-> self tracking follow-pt) + (-> *camera-orbit-target* 0 root trans) + (-> *camera-orbit-info* target-off) + ) + (vector-! s5-0 (-> self trans) (-> self tracking follow-pt)) + (set! (-> gp-0 y) (the float (sar (shl (the int (+ 32768.0 (atan (-> s5-0 x) (-> s5-0 z)))) 48) 48))) + (set! (-> gp-0 x) (atan (-> s5-0 y) (vector-xz-length s5-0))) + ) + (set! (-> gp-0 z) 0.0) + (matrix-rotate-zxy! (the-as matrix (-> self tracking)) gp-0) ) - ) + (suspend) ) - (set! - (-> *camera-orbit-info* radius) - (lerp - (-> *CAM_ORBIT-bank* RADIUS_MIN) - (-> *CAM_ORBIT-bank* RADIUS_MAX) - (-> *camera-orbit-info* radius-lerp) - ) - ) - ) - (cond - ((cpad-hold? 0 l2) - (if (cpad-hold? 0 l1) - (set! - (-> *camera-orbit-info* target-off y) - (- - (-> *camera-orbit-info* target-off y) - (-> *CAM_ORBIT-bank* TARGET_OFF_ADJUST) - ) - ) - ) - (if (cpad-hold? 0 r1) - (+! - (-> *camera-orbit-info* target-off y) - (-> *CAM_ORBIT-bank* TARGET_OFF_ADJUST) - ) - ) - ) - (else - (if (cpad-hold? 0 l1) - (set! - (-> *camera-orbit-info* orbit-off y) - (- - (-> *camera-orbit-info* orbit-off y) - (-> *CAM_ORBIT-bank* ORBIT_OFF_ADJUST) - ) - ) - ) - (if (cpad-hold? 0 r1) - (+! - (-> *camera-orbit-info* orbit-off y) - (-> *CAM_ORBIT-bank* ORBIT_OFF_ADJUST) - ) - ) - ) - ) - (when *camera-read-analog* - (let - ((f0-20 - (analog-input - (the-as int (-> *cpad-list* cpads 0 rightx)) - 128.0 - 32.0 - 110.0 - (* 21845.334 (-> *display* seconds-per-frame)) - ) - ) - ) - (set! - (-> *camera-orbit-info* rot) - (the - float - (sar (shl (the int (+ (-> *camera-orbit-info* rot) f0-20)) 48) 48) - ) - ) - ) - ) - (let ((gp-0 (new-stack-vector0))) - (let ((s5-0 (new-stack-vector0))) - (set-vector! - (-> self trans) - (+ - (-> *camera-orbit-target* 0 root trans x) - (* (sin (-> *camera-orbit-info* rot)) (-> *camera-orbit-info* radius)) - ) - (-> *camera-orbit-target* 0 root trans y) - (+ - (-> *camera-orbit-target* 0 root trans z) - (* (cos (-> *camera-orbit-info* rot)) (-> *camera-orbit-info* radius)) - ) - 1.0 - ) - (vector+! - (-> self trans) - (-> self trans) - (-> *camera-orbit-info* orbit-off) - ) - (vector+! - (-> self tracking follow-pt) - (-> *camera-orbit-target* 0 root trans) - (-> *camera-orbit-info* target-off) - ) - (vector-! s5-0 (-> self trans) (-> self tracking follow-pt)) - (set! - (-> gp-0 y) - (the - float - (sar (shl (the int (+ 32768.0 (atan (-> s5-0 x) (-> s5-0 z)))) 48) 48) - ) - ) - (set! (-> gp-0 x) (atan (-> s5-0 y) (vector-xz-length s5-0))) - ) - (set! (-> gp-0 z) 0.0) - (matrix-rotate-zxy! (the-as matrix (-> self tracking)) gp-0) - ) - (suspend) + (none) ) - (none) - ) ) diff --git a/test/decompiler/reference/engine/camera/cam-states_REF.gc b/test/decompiler/reference/engine/camera/cam-states_REF.gc index f005ece798..17c781ac8d 100644 --- a/test/decompiler/reference/engine/camera/cam-states_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-states_REF.gc @@ -5,326 +5,257 @@ (defstate cam-fixed (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (set! (-> self saved-pt quad) (-> self trans quad)) - (set! (-> self blend-from-type) (the-as uint 1)) - (set! (-> self blend-to-type) (the-as uint 0)) - 0 + (when (not (-> self enter-has-run)) + (set! (-> self saved-pt quad) (-> self trans quad)) + (set! (-> self blend-from-type) (the-as uint 1)) + (set! (-> self blend-to-type) (the-as uint 0)) + 0 + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (when (not (paused?)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> self trans quad) (-> self saved-pt quad)) - (cam-curve-pos (-> self trans) gp-0 (the-as curve #f) #f) - (when (!= (-> gp-0 w) 0.0) - (vector-normalize! gp-0 (the-as float 1.0)) - (forward-down->inv-matrix - (the-as matrix (-> self tracking)) - gp-0 - (-> *camera* local-down) + (while #t + (when (not (paused?)) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> self trans quad) (-> self saved-pt quad)) + (cam-curve-pos (-> self trans) gp-0 (the-as curve #f) #f) + (when (!= (-> gp-0 w) 0.0) + (vector-normalize! gp-0 (the-as float 1.0)) + (forward-down->inv-matrix (the-as matrix (-> self tracking)) gp-0 (-> *camera* local-down)) + ) + ) ) - ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate cam-fixed-read-entity (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (cond - ((-> self enter-has-run) - ) - ((-> self cam-entity) - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - (-> self trans) - 'trans + (cond + ((-> self enter-has-run) + ) + ((-> self cam-entity) + (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) (-> self trans) 'trans) + (cam-slave-get-rot (the-as entity-actor (-> self cam-entity)) (the-as matrix (-> self tracking))) + (set! (-> self fov) (cam-slave-get-fov (-> self cam-entity))) + (cam-curve-setup (-> self trans)) + ((-> cam-fixed enter)) + ) + (else + (format #t "ERROR : cam-fixed-read-entity enter without entity~%") + ) ) - (cam-slave-get-rot - (the-as entity-actor (-> self cam-entity)) - (the-as matrix (-> self tracking)) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (if (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) gp-0 'interesting) + (send-event *camera* 'point-of-interest gp-0) + ) ) - (set! (-> self fov) (cam-slave-get-fov (-> self cam-entity))) - (cam-curve-setup (-> self trans)) - ((-> cam-fixed enter)) - ) - (else - (format #t "ERROR : cam-fixed-read-entity enter without entity~%") - ) + (go cam-fixed) + (none) ) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (if - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - gp-0 - 'interesting - ) - (send-event *camera* 'point-of-interest gp-0) - ) - ) - (go cam-fixed) - (none) - ) :code (behavior () - (while #t - (format *stdcon* "ERROR : stayed in cam-fixed-read-entity~%") - (suspend) + (while #t + (format *stdcon* "ERROR : stayed in cam-fixed-read-entity~%") + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate cam-pov (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (set! (-> self blend-from-type) (the-as uint 1)) - (set! (-> self blend-to-type) (the-as uint 1)) + (when (not (-> self enter-has-run)) + (set! (-> self blend-from-type) (the-as uint 1)) + (set! (-> self blend-to-type) (the-as uint 1)) + ) + (none) ) - (none) - ) :trans (behavior () - (when (not (handle->process (-> *camera* pov-handle))) - (set! (-> self blend-from-type) (the-as uint 0)) - (cam-slave-go cam-fixed) + (when (not (handle->process (-> *camera* pov-handle))) + (set! (-> self blend-from-type) (the-as uint 0)) + (cam-slave-go cam-fixed) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (when (not (paused?)) - (vector<-cspace! - (-> self trans) - (-> - (the-as pov-camera (-> *camera* pov-handle process 0)) - node-list - data - (-> *camera* pov-bone) - ) + (while #t + (when (not (paused?)) + (vector<-cspace! + (-> self trans) + (-> (the-as pov-camera (-> *camera* pov-handle process 0)) node-list data (-> *camera* pov-bone)) + ) + (let* ((v1-5 (-> self tracking)) + (a3-0 (-> (the-as pov-camera (-> *camera* pov-handle process 0)) + node-list + data + (-> *camera* pov-bone) + bone + transform + ) + ) + (a0-8 (-> a3-0 vector 0 quad)) + (a1-9 (-> a3-0 vector 1 quad)) + (a2-0 (-> a3-0 vector 2 quad)) + (a3-1 (-> a3-0 vector 3 quad)) + ) + (set! (-> v1-5 inv-mat vector 0 quad) a0-8) + (set! (-> v1-5 inv-mat vector 1 quad) a1-9) + (set! (-> v1-5 inv-mat vector 2 quad) a2-0) + (set! (-> v1-5 inv-mat vector 3 quad) a3-1) + ) + (vector-reset! (-> self tracking inv-mat vector 3)) + ) + (suspend) ) - (let* ((v1-5 (-> self tracking)) - (a3-0 - (-> - (the-as pov-camera (-> *camera* pov-handle process 0)) - node-list - data - (-> *camera* pov-bone) - bone - transform - ) - ) - (a0-8 (-> a3-0 vector 0 quad)) - (a1-9 (-> a3-0 vector 1 quad)) - (a2-0 (-> a3-0 vector 2 quad)) - (a3-1 (-> a3-0 vector 3 quad)) - ) - (set! (-> v1-5 inv-mat vector 0 quad) a0-8) - (set! (-> v1-5 inv-mat vector 1 quad) a1-9) - (set! (-> v1-5 inv-mat vector 2 quad) a2-0) - (set! (-> v1-5 inv-mat vector 3 quad) a3-1) - ) - (vector-reset! (-> self tracking inv-mat vector 3)) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate cam-pov180 (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (set! (-> self blend-from-type) (the-as uint 1)) - (set! (-> self blend-to-type) (the-as uint 1)) + (when (not (-> self enter-has-run)) + (set! (-> self blend-from-type) (the-as uint 1)) + (set! (-> self blend-to-type) (the-as uint 1)) + ) + (none) ) - (none) - ) :trans (behavior () - (when (not (handle->process (-> *camera* pov-handle))) - (set! (-> self blend-from-type) (the-as uint 0)) - (cam-slave-go cam-fixed) + (when (not (handle->process (-> *camera* pov-handle))) + (set! (-> self blend-from-type) (the-as uint 0)) + (cam-slave-go cam-fixed) + ) + (none) ) - (none) - ) :code (behavior () - (let ((gp-0 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'vector)) - (s4-0 #t) - ) - (vector<-cspace! - gp-0 - (-> - (the-as pov-camera (-> *camera* pov-handle process 0)) - node-list - data - (-> *camera* pov-bone) - ) - ) - (let - ((v1-11 - (-> - (the-as pov-camera (-> *camera* pov-handle process 0)) - node-list - data - (-> *camera* pov-bone) - bone - transform + (let ((gp-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'vector)) + (s4-0 #t) + ) + (vector<-cspace! + gp-0 + (-> (the-as pov-camera (-> *camera* pov-handle process 0)) node-list data (-> *camera* pov-bone)) ) - ) - ) - (vector-normalize-copy! s5-0 (-> v1-11 vector 2) (the-as float 1.0)) - ) - (while #t - (when (not (paused?)) - (let - ((s0-0 - (-> - (the-as pov-camera (-> *camera* pov-handle process 0)) - node-list - data - (-> *camera* pov-bone) - bone - transform - ) - ) - (s1-0 - (-> - (the-as pov-camera (-> *camera* pov-handle process 0)) - node-list - data - (-> *camera* pov-bone) - bone - scale - ) - ) - (s3-0 (new 'stack-no-clear 'vector)) - ) - (let ((s2-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! - s2-0 - (-> - (the-as pov-camera (-> *camera* pov-handle process 0)) - node-list - data - (-> *camera* pov-bone) - ) - ) - (vector-normalize-copy! s3-0 (-> s0-0 vector 2) (the-as float 1.0)) - (set! s4-0 (cond - ((and - (< (vector-vector-distance s2-0 gp-0) 40960.0) - (< (cos (the-as float 3640.889)) (vector-dot s5-0 s3-0)) - ) - (set! (-> self trans quad) (-> s2-0 quad)) - (vector-negate! - (the-as vector (-> self tracking)) - (the-as vector (-> s0-0 vector)) - ) - (set! - (-> self tracking inv-mat vector 1 quad) - (-> s0-0 vector 1 quad) - ) - (vector-negate! - (-> self tracking inv-mat vector 2) - (-> s0-0 vector 2) - ) - (set! - (-> self fov) - (* - 2.0 - (atan - (/ 12.700255 (* 20.3 (-> s1-0 x))) - (the-as float 1.0) - ) + (let ((v1-11 (-> (the-as pov-camera (-> *camera* pov-handle process 0)) + node-list + data + (-> *camera* pov-bone) + bone + transform ) - ) - (vector-float*! - (the-as vector (-> self tracking)) - (the-as vector (-> self tracking)) - (/ 1.0 (-> s1-0 x)) - ) - (vector-reset! (-> self tracking inv-mat vector 3)) - (if s4-0 - (set! s4-0 #f) - ) - s4-0 - ) - (else - #t - ) - ) - ) - (set! (-> gp-0 quad) (-> s2-0 quad)) + ) + ) + (vector-normalize-copy! s5-0 (-> v1-11 vector 2) (the-as float 1.0)) + ) + (while #t + (when (not (paused?)) + (let ((s0-0 + (-> (the-as pov-camera (-> *camera* pov-handle process 0)) + node-list + data + (-> *camera* pov-bone) + bone + transform + ) + ) + (s1-0 + (-> (the-as pov-camera (-> *camera* pov-handle process 0)) node-list data (-> *camera* pov-bone) bone scale) + ) + (s3-0 (new 'stack-no-clear 'vector)) + ) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! + s2-0 + (-> (the-as pov-camera (-> *camera* pov-handle process 0)) node-list data (-> *camera* pov-bone)) + ) + (vector-normalize-copy! s3-0 (-> s0-0 vector 2) (the-as float 1.0)) + (set! s4-0 + (cond + ((and (< (vector-vector-distance s2-0 gp-0) 40960.0) (< (cos (the-as float 3640.889)) (vector-dot s5-0 s3-0))) + (set! (-> self trans quad) (-> s2-0 quad)) + (vector-negate! (the-as vector (-> self tracking)) (the-as vector (-> s0-0 vector))) + (set! (-> self tracking inv-mat vector 1 quad) (-> s0-0 vector 1 quad)) + (vector-negate! (-> self tracking inv-mat vector 2) (-> s0-0 vector 2)) + (set! (-> self fov) (* 2.0 (atan (/ 12.700255 (* 20.3 (-> s1-0 x))) (the-as float 1.0)))) + (vector-float*! (the-as vector (-> self tracking)) (the-as vector (-> self tracking)) (/ 1.0 (-> s1-0 x))) + (vector-reset! (-> self tracking inv-mat vector 3)) + (if s4-0 + (set! s4-0 #f) + ) + s4-0 + ) + (else + #t + ) + ) + ) + (set! (-> gp-0 quad) (-> s2-0 quad)) + ) + (set! (-> s5-0 quad) (-> s3-0 quad)) + ) + ) + (suspend) ) - (set! (-> s5-0 quad) (-> s3-0 quad)) - ) ) - (suspend) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -333,126 +264,108 @@ cam-standard-event-handler :enter (behavior () - (when (not (-> self enter-has-run)) - (set! (-> self blend-from-type) (the-as uint 2)) - (set! (-> self blend-to-type) (the-as uint 2)) - ) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (if - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - gp-0 - 'interesting + (when (not (-> self enter-has-run)) + (set! (-> self blend-from-type) (the-as uint 2)) + (set! (-> self blend-to-type) (the-as uint 2)) ) - (send-event *camera* 'point-of-interest gp-0) - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (if (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) gp-0 'interesting) + (send-event *camera* 'point-of-interest gp-0) + ) + ) + (none) ) - (none) - ) :trans (behavior () - (if - (or - (not (handle->process (-> *camera* pov-handle))) - (zero? (logand (-> *camera* master-options) 2)) - ) - (cam-slave-go cam-free-floating) + (if (or (not (handle->process (-> *camera* pov-handle))) (zero? (logand (-> *camera* master-options) 2))) + (cam-slave-go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (if (not (paused?)) - (vector<-cspace! - (-> self trans) - (-> - (the-as pov-camera (-> *camera* pov-handle process 0)) - node-list - data - (-> *camera* pov-bone) - ) + (while #t + (if (not (paused?)) + (vector<-cspace! + (-> self trans) + (-> (the-as pov-camera (-> *camera* pov-handle process 0)) node-list data (-> *camera* pov-bone)) + ) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition for function cam-standoff-calc-trans (defbehavior cam-standoff-calc-trans camera-slave () (if (-> self tracking no-follow) - (vector+! (-> self trans) (-> *camera* tpos-curr-adj) (-> self pivot-pt)) - (vector+! (-> self trans) (-> self tracking follow-pt) (-> self pivot-pt)) - ) + (vector+! (-> self trans) (-> *camera* tpos-curr-adj) (-> self pivot-pt)) + (vector+! (-> self trans) (-> self tracking follow-pt) (-> self pivot-pt)) + ) ) ;; failed to figure out what this is: (defstate cam-standoff (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('set-standoff-dist) - (vector-normalize! (-> self pivot-pt) (the-as float (-> arg3 param 0))) - (cam-standoff-calc-trans) + (case arg2 + (('set-standoff-dist) + (vector-normalize! (-> self pivot-pt) (the-as float (-> arg3 param 0))) + (cam-standoff-calc-trans) + ) + (('set-standoff-height) + (vector-flatten! (-> self pivot-pt) (-> self pivot-pt) (-> *camera* local-down)) + (vector--float*! + (-> self pivot-pt) + (-> self pivot-pt) + (-> *camera* local-down) + (the-as float (-> arg3 param 0)) + ) + (cam-standoff-calc-trans) + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (('set-standoff-height) - (vector-flatten! - (-> self pivot-pt) - (-> self pivot-pt) - (-> *camera* local-down) - ) - (vector--float*! - (-> self pivot-pt) - (-> self pivot-pt) - (-> *camera* local-down) - (the-as float (-> arg3 param 0)) - ) - (cam-standoff-calc-trans) - ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (vector-! (-> self pivot-pt) (-> self trans) (-> *camera* tpos-curr-adj)) - (cond - ((logtest? (-> self options) #x8000) - (set! (-> self blend-from-type) (the-as uint 0)) - (set! (-> self blend-to-type) (the-as uint 0)) - 0 + (when (not (-> self enter-has-run)) + (vector-! (-> self pivot-pt) (-> self trans) (-> *camera* tpos-curr-adj)) + (cond + ((logtest? (-> self options) #x8000) + (set! (-> self blend-from-type) (the-as uint 0)) + (set! (-> self blend-to-type) (the-as uint 0)) + 0 + ) + (else + (set! (-> self blend-from-type) (the-as uint 2)) + (set! (-> self blend-to-type) (the-as uint 2)) + ) + ) ) - (else - (set! (-> self blend-from-type) (the-as uint 2)) - (set! (-> self blend-to-type) (the-as uint 2)) - ) - ) + (cam-calc-follow! (-> self tracking) (-> self trans) #f) + (none) ) - (cam-calc-follow! (-> self tracking) (-> self trans) #f) - (none) - ) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (cam-slave-go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (cam-slave-go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (when (not (paused?)) - (cam-calc-follow! (-> self tracking) (-> self trans) #t) - (cam-standoff-calc-trans) - ) - (suspend) + (while #t + (when (not (paused?)) + (cam-calc-follow! (-> self tracking) (-> self trans) #t) + (cam-standoff-calc-trans) + ) + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -461,72 +374,48 @@ cam-standard-event-handler :enter (behavior () - (cond - ((-> self enter-has-run) - ) - ((-> self cam-entity) - (let ((gp-0 (new-stack-vector0)) - (s5-0 (new-stack-vector0)) + (cond + ((-> self enter-has-run) + ) + ((-> self cam-entity) + (let ((gp-0 (new-stack-vector0)) + (s5-0 (new-stack-vector0)) + ) + (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) gp-0 'trans) + (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) s5-0 'align) + (vector-! (-> self pivot-pt) gp-0 s5-0) + ) + (vector+! (-> self trans) (-> *camera* tpos-curr-adj) (-> self pivot-pt)) + (set! (-> self fov) (cam-slave-get-fov (-> self cam-entity))) + (logior! (-> self options) (cam-slave-get-flags (-> self cam-entity) 'flags)) + (if (logtest? (-> self options) #x8000) + (cam-slave-get-rot (the-as entity-actor (-> self cam-entity)) (the-as matrix (-> self tracking))) + (set! (-> self tracking tilt-adjust target) + (cam-slave-get-float (-> self cam-entity) 'tiltAdjust (-> *CAMERA-bank* default-tilt-adjust)) + ) ) - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - gp-0 - 'trans + ((-> cam-standoff enter)) ) - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - s5-0 - 'align - ) - (vector-! (-> self pivot-pt) gp-0 s5-0) - ) - (vector+! (-> self trans) (-> *camera* tpos-curr-adj) (-> self pivot-pt)) - (set! (-> self fov) (cam-slave-get-fov (-> self cam-entity))) - (logior! - (-> self options) - (cam-slave-get-flags (-> self cam-entity) 'flags) - ) - (if (logtest? (-> self options) #x8000) - (cam-slave-get-rot - (the-as entity-actor (-> self cam-entity)) - (the-as matrix (-> self tracking)) - ) - (set! - (-> self tracking tilt-adjust target) - (cam-slave-get-float - (-> self cam-entity) - 'tiltAdjust - (-> *CAMERA-bank* default-tilt-adjust) + (else + (format #t "ERROR : cam-standoff-read-entity enter without entity~%") ) - ) ) - ((-> cam-standoff enter)) - ) - (else - (format #t "ERROR : cam-standoff-read-entity enter without entity~%") - ) - ) - (let ((gp-2 (new 'stack-no-clear 'vector))) - (if - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - gp-2 - 'interesting + (let ((gp-2 (new 'stack-no-clear 'vector))) + (if (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) gp-2 'interesting) + (send-event *camera* 'point-of-interest gp-2) + ) ) - (send-event *camera* 'point-of-interest gp-2) - ) + (go cam-standoff) + (none) ) - (go cam-standoff) - (none) - ) :code (behavior () - (while #t - (format *stdcon* "ERROR : stayed in cam-standoff-read-entity~%") - (suspend) + (while #t + (format *stdcon* "ERROR : stayed in cam-standoff-read-entity~%") + (suspend) + ) + (none) ) - (none) - ) ) ;; definition of type cam-eye-bank @@ -554,246 +443,167 @@ ;; definition for symbol *CAM_EYE-bank*, type cam-eye-bank (define *CAM_EYE-bank* - (new 'static 'cam-eye-bank - :rot-speed 364.0889 - :max-degrees 12743.111 - :max-fov 11650.845 - :min-fov 6189.511 - ) + (new 'static 'cam-eye-bank :rot-speed 364.0889 :max-degrees 12743.111 :max-fov 11650.845 :min-fov 6189.511) ) ;; failed to figure out what this is: (defstate cam-eye (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (let - ((v1-3 - (vector-float*! - (new-stack-vector0) - (-> *camera* local-down) - (+ 1024.0 (-> *camera* target-height)) + (when (not (-> self enter-has-run)) + (let ((v1-3 (vector-float*! (new-stack-vector0) (-> *camera* local-down) (+ 1024.0 (-> *camera* target-height))))) + (vector-! (-> self trans) (-> *camera* tpos-curr) v1-3) ) - ) + (set! (-> self blend-from-type) (the-as uint 0)) + (set! (-> self blend-to-type) (the-as uint 0)) + 0 ) - (vector-! (-> self trans) (-> *camera* tpos-curr) v1-3) - ) - (set! (-> self blend-from-type) (the-as uint 0)) - (set! (-> self blend-to-type) (the-as uint 0)) - 0 + (set! (-> self fov) 11650.845) + (none) ) - (set! (-> self fov) 11650.845) - (none) - ) :exit (behavior () - (if - (and - *target* - (logtest? (-> *camera* master-options) 2) - (logtest? (-> *target* state-flags) 512) - ) - (send-event *target* 'end-mode) + (if (and *target* (logtest? (-> *camera* master-options) 2) (logtest? (-> *target* state-flags) 512)) + (send-event *target* 'end-mode) + ) + (none) ) - (none) - ) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (let ((gp-0 (-> *display* base-frame-counter))) - (while #t - (when (not (paused?)) - (let ((s4-0 (vector-reset! (new-stack-vector0))) - (s5-0 (new-stack-matrix0)) - ) - (when *camera-read-analog* - (let - ((f30-0 - (analog-input - (the-as - int - (+ - (-> *cpad-list* cpads 0 rightx) - -256 - (-> *cpad-list* cpads 0 leftx) + (let ((gp-0 (-> *display* base-frame-counter))) + (while #t + (when (not (paused?)) + (let ((s4-0 (vector-reset! (new-stack-vector0))) + (s5-0 (new-stack-matrix0)) + ) + (when *camera-read-analog* + (let ((f30-0 (analog-input + (the-as int (+ (-> *cpad-list* cpads 0 rightx) -256 (-> *cpad-list* cpads 0 leftx))) + (the-as float 0.0) + (the-as float 48.0) + (the-as float 110.0) + (the-as float -1.0) + ) + ) + (f0-0 (analog-input + (the-as int (+ (-> *cpad-list* cpads 0 righty) -256 (-> *cpad-list* cpads 0 lefty))) + (the-as float 0.0) + (the-as float 48.0) + (the-as float 110.0) + (the-as float -1.0) + ) + ) + ) + (set! (-> s4-0 y) (- (-> s4-0 y) (* (- f30-0) (-> *CAM_EYE-bank* rot-speed)))) + (set! (-> s4-0 x) (- (-> s4-0 x) (* (- f0-0) (-> *CAM_EYE-bank* rot-speed)))) + ) ) - ) - (the-as float 0.0) - (the-as float 48.0) - (the-as float 110.0) - (the-as float -1.0) - ) - ) - (f0-0 - (analog-input - (the-as - int - (+ - (-> *cpad-list* cpads 0 righty) - -256 - (-> *cpad-list* cpads 0 lefty) + (cond + ((< (-> *CAM_EYE-bank* rot-speed) (-> s4-0 x)) + (set! (-> s4-0 x) (-> *CAM_EYE-bank* rot-speed)) + ) + ((< (-> s4-0 x) (- (-> *CAM_EYE-bank* rot-speed))) + (set! (-> s4-0 x) (- (-> *CAM_EYE-bank* rot-speed))) + ) + ) + (cond + ((< (-> *CAM_EYE-bank* rot-speed) (-> s4-0 y)) + (set! (-> s4-0 y) (-> *CAM_EYE-bank* rot-speed)) + ) + ((< (-> s4-0 y) (- (-> *CAM_EYE-bank* rot-speed))) + (set! (-> s4-0 y) (- (-> *CAM_EYE-bank* rot-speed))) + ) + ) + (cond + ((and (= (-> s4-0 x) 0.0) (= (-> s4-0 y) 0.0)) + (set! gp-0 (-> *display* base-frame-counter)) + ) + (else + (let ((v1-44 (min 10 (max 1 (- (-> *display* base-frame-counter) gp-0))))) + (vector-float*! s4-0 s4-0 (* 0.1 (the float v1-44))) + ) + ) + ) + (matrix-axis-angle! s5-0 (-> *camera* local-down) (-> s4-0 y)) + (matrix*! (the-as matrix (-> self tracking)) (the-as matrix (-> self tracking)) s5-0) + (when (zero? (logand (-> self options) 8)) + (if (< (vector-dot (-> self tracking inv-mat vector 1) (-> *camera* local-down)) 0.0) + (forward-down->inv-matrix + (the-as matrix (-> self tracking)) + (-> self tracking inv-mat vector 2) + (-> *camera* local-down) + ) + (forward-down->inv-matrix + (the-as matrix (-> self tracking)) + (-> self tracking inv-mat vector 2) + (vector-negate! (new-stack-vector0) (-> *camera* local-down)) + ) + ) + ) + (matrix-axis-angle! s5-0 (the-as vector (-> self tracking)) (- (-> s4-0 x))) + (matrix*! (the-as matrix (-> self tracking)) (the-as matrix (-> self tracking)) s5-0) + ) + (when (zero? (logand (-> self options) 8)) + (let ((f30-1 (vector-dot (-> *camera* local-down) (-> self tracking inv-mat vector 2)))) + (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) + (when (< (sin (-> *CAM_EYE-bank* max-degrees)) (fabs f30-1)) + (vector--float*! + (-> self tracking inv-mat vector 2) + (-> self tracking inv-mat vector 2) + (-> *camera* local-down) + f30-1 + ) + (vector-normalize! (-> self tracking inv-mat vector 2) (cos (-> *CAM_EYE-bank* max-degrees))) + (if (< f30-1 0.0) + (vector--float*! + (-> self tracking inv-mat vector 2) + (-> self tracking inv-mat vector 2) + (-> *camera* local-down) + (sin (-> *CAM_EYE-bank* max-degrees)) + ) + (vector+float*! + (-> self tracking inv-mat vector 2) + (-> self tracking inv-mat vector 2) + (-> *camera* local-down) + (sin (-> *CAM_EYE-bank* max-degrees)) + ) + ) + (vector-cross! + (-> self tracking inv-mat vector 1) + (-> self tracking inv-mat vector 2) + (the-as vector (-> self tracking)) + ) + (set! (-> self tracking inv-mat vector 1 w) 0.0) + ) ) - ) - (the-as float 0.0) - (the-as float 48.0) - (the-as float 110.0) - (the-as float -1.0) ) - ) ) - (set! - (-> s4-0 y) - (- (-> s4-0 y) (* (- f30-0) (-> *CAM_EYE-bank* rot-speed))) + (let ((v1-76 (vector-float*! (new-stack-vector0) (-> *camera* local-down) (+ 1024.0 (-> *camera* target-height))))) + (vector-! (-> self trans) (-> *camera* tpos-curr) v1-76) ) - (set! - (-> s4-0 x) - (- (-> s4-0 x) (* (- f0-0) (-> *CAM_EYE-bank* rot-speed))) - ) - ) + (suspend) ) - (cond - ((< (-> *CAM_EYE-bank* rot-speed) (-> s4-0 x)) - (set! (-> s4-0 x) (-> *CAM_EYE-bank* rot-speed)) - ) - ((< (-> s4-0 x) (- (-> *CAM_EYE-bank* rot-speed))) - (set! (-> s4-0 x) (- (-> *CAM_EYE-bank* rot-speed))) - ) - ) - (cond - ((< (-> *CAM_EYE-bank* rot-speed) (-> s4-0 y)) - (set! (-> s4-0 y) (-> *CAM_EYE-bank* rot-speed)) - ) - ((< (-> s4-0 y) (- (-> *CAM_EYE-bank* rot-speed))) - (set! (-> s4-0 y) (- (-> *CAM_EYE-bank* rot-speed))) - ) - ) - (cond - ((and (= (-> s4-0 x) 0.0) (= (-> s4-0 y) 0.0)) - (set! gp-0 (-> *display* base-frame-counter)) - ) - (else - (let - ((v1-44 (min 10 (max 1 (- (-> *display* base-frame-counter) gp-0))))) - (vector-float*! s4-0 s4-0 (* 0.1 (the float v1-44))) - ) - ) - ) - (matrix-axis-angle! s5-0 (-> *camera* local-down) (-> s4-0 y)) - (matrix*! - (the-as matrix (-> self tracking)) - (the-as matrix (-> self tracking)) - s5-0 - ) - (when (zero? (logand (-> self options) 8)) - (if - (< - (vector-dot - (-> self tracking inv-mat vector 1) - (-> *camera* local-down) - ) - 0.0 - ) - (forward-down->inv-matrix - (the-as matrix (-> self tracking)) - (-> self tracking inv-mat vector 2) - (-> *camera* local-down) - ) - (forward-down->inv-matrix - (the-as matrix (-> self tracking)) - (-> self tracking inv-mat vector 2) - (vector-negate! (new-stack-vector0) (-> *camera* local-down)) - ) - ) - ) - (matrix-axis-angle! - s5-0 - (the-as vector (-> self tracking)) - (- (-> s4-0 x)) - ) - (matrix*! - (the-as matrix (-> self tracking)) - (the-as matrix (-> self tracking)) - s5-0 - ) - ) - (when (zero? (logand (-> self options) 8)) - (let - ((f30-1 - (vector-dot - (-> *camera* local-down) - (-> self tracking inv-mat vector 2) - ) - ) - ) - (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) - (when (< (sin (-> *CAM_EYE-bank* max-degrees)) (fabs f30-1)) - (vector--float*! - (-> self tracking inv-mat vector 2) - (-> self tracking inv-mat vector 2) - (-> *camera* local-down) - f30-1 - ) - (vector-normalize! - (-> self tracking inv-mat vector 2) - (cos (-> *CAM_EYE-bank* max-degrees)) - ) - (if (< f30-1 0.0) - (vector--float*! - (-> self tracking inv-mat vector 2) - (-> self tracking inv-mat vector 2) - (-> *camera* local-down) - (sin (-> *CAM_EYE-bank* max-degrees)) - ) - (vector+float*! - (-> self tracking inv-mat vector 2) - (-> self tracking inv-mat vector 2) - (-> *camera* local-down) - (sin (-> *CAM_EYE-bank* max-degrees)) - ) - ) - (vector-cross! - (-> self tracking inv-mat vector 1) - (-> self tracking inv-mat vector 2) - (the-as vector (-> self tracking)) - ) - (set! (-> self tracking inv-mat vector 1 w) 0.0) - ) - ) - ) ) - (let - ((v1-76 - (vector-float*! - (new-stack-vector0) - (-> *camera* local-down) - (+ 1024.0 (-> *camera* target-height)) - ) - ) - ) - (vector-! (-> self trans) (-> *camera* tpos-curr) v1-76) - ) - (suspend) - ) + (none) ) - (none) - ) ) ;; definition of type cam-billy-bank @@ -815,170 +625,125 @@ ) ;; definition for symbol *CAM_BILLY-bank*, type cam-billy-bank -(define - *CAM_BILLY-bank* - (new 'static 'cam-billy-bank :rot-speed 364.0889 :tilt-degrees -1820.4445) - ) +(define *CAM_BILLY-bank* (new 'static 'cam-billy-bank :rot-speed 364.0889 :tilt-degrees -1820.4445)) ;; failed to figure out what this is: (defstate cam-billy (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (let - ((v1-3 - (vector-float*! - (new-stack-vector0) - (-> *camera* local-down) - (-> *camera* target-height) + (when (not (-> self enter-has-run)) + (let ((v1-3 (vector-float*! (new-stack-vector0) (-> *camera* local-down) (-> *camera* target-height)))) + (vector-! (-> self trans) (-> *camera* tpos-curr) v1-3) ) - ) + (set! (-> self blend-from-type) (the-as uint 0)) + (set! (-> self blend-to-type) (the-as uint 0)) + 0 ) - (vector-! (-> self trans) (-> *camera* tpos-curr) v1-3) - ) - (set! (-> self blend-from-type) (the-as uint 0)) - (set! (-> self blend-to-type) (the-as uint 0)) - 0 + (set! (-> self fov) 9830.4) + (matrix-rotate-y! (the-as matrix (-> self tracking)) (the-as float -32768.0)) + (none) ) - (set! (-> self fov) 9830.4) - (matrix-rotate-y! (the-as matrix (-> self tracking)) (the-as float -32768.0)) - (none) - ) :exit - (behavior () - '() - (none) - ) + (behavior () '() (none)) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (when (not (paused?)) - (let ((s5-0 (vector-reset! (new-stack-vector0))) - (s4-0 (vector-reset! (new-stack-vector0))) - (s3-0 (vector-reset! (new-stack-vector0))) - (s2-0 (new-stack-vector0)) - (gp-0 (new-stack-matrix0)) - ) - 0.0 - (when *camera-read-analog* - (let - ((f1-0 - (analog-input - (the-as - int - (+ - (-> *cpad-list* cpads 0 rightx) - -256 - (-> *cpad-list* cpads 0 leftx) + (while #t + (when (not (paused?)) + (let ((s5-0 (vector-reset! (new-stack-vector0))) + (s4-0 (vector-reset! (new-stack-vector0))) + (s3-0 (vector-reset! (new-stack-vector0))) + (s2-0 (new-stack-vector0)) + (gp-0 (new-stack-matrix0)) + ) + 0.0 + (when *camera-read-analog* + (let ((f1-0 + (analog-input + (the-as int (+ (-> *cpad-list* cpads 0 rightx) -256 (-> *cpad-list* cpads 0 leftx))) + (the-as float 0.0) + (the-as float 48.0) + (the-as float 110.0) + (the-as float -1.0) + ) + ) + ) + (set! (-> s5-0 y) (- (-> s5-0 y) (* (- f1-0) (-> *CAM_BILLY-bank* rot-speed)))) + ) + ) + (cond + ((< (-> *CAM_BILLY-bank* rot-speed) (-> s5-0 y)) + (set! (-> s5-0 y) (-> *CAM_BILLY-bank* rot-speed)) + ) + ((< (-> s5-0 y) (- (-> *CAM_BILLY-bank* rot-speed))) + (set! (-> s5-0 y) (- (-> *CAM_BILLY-bank* rot-speed))) ) ) - (the-as float 0.0) - (the-as float 48.0) - (the-as float 110.0) - (the-as float -1.0) - ) - ) - ) - (set! - (-> s5-0 y) - (- (-> s5-0 y) (* (- f1-0) (-> *CAM_BILLY-bank* rot-speed))) - ) - ) - ) - (cond - ((< (-> *CAM_BILLY-bank* rot-speed) (-> s5-0 y)) - (set! (-> s5-0 y) (-> *CAM_BILLY-bank* rot-speed)) - ) - ((< (-> s5-0 y) (- (-> *CAM_BILLY-bank* rot-speed))) - (set! (-> s5-0 y) (- (-> *CAM_BILLY-bank* rot-speed))) - ) - ) - (set! (-> s3-0 x) (sin (the-as float 37319.11))) - (set! (-> s3-0 z) (cos (the-as float 37319.11))) - (set! (-> s4-0 x) (-> s3-0 z)) - (set! (-> s4-0 z) (- (-> s3-0 x))) - (vector-flatten! - s2-0 - (-> self tracking inv-mat vector 2) - (-> *camera* local-down) - ) - (vector-normalize! s2-0 (the-as float 1.0)) - (let - ((f0-14 (acos (vector-dot (-> self tracking inv-mat vector 2) s3-0)))) - (if (< (vector-dot (-> self tracking inv-mat vector 2) s4-0) 0.0) - (set! f0-14 (- f0-14)) - ) - (let ((f0-18 (cond - ((and (< 0.0 f0-14) (< 0.0 (-> s5-0 y))) - (fmin (-> s5-0 y) (fmax 0.0 (* 0.5 (- 10922.667 f0-14)))) - ) - ((and (< f0-14 0.0) (< (-> s5-0 y) 0.0)) - (fmax (-> s5-0 y) (fmin 0.0 (* 0.5 (- -10922.667 f0-14)))) - ) - (else - (-> s5-0 y) - ) - ) + (set! (-> s3-0 x) (sin (the-as float 37319.11))) + (set! (-> s3-0 z) (cos (the-as float 37319.11))) + (set! (-> s4-0 x) (-> s3-0 z)) + (set! (-> s4-0 z) (- (-> s3-0 x))) + (vector-flatten! s2-0 (-> self tracking inv-mat vector 2) (-> *camera* local-down)) + (vector-normalize! s2-0 (the-as float 1.0)) + (let ((f0-14 (acos (vector-dot (-> self tracking inv-mat vector 2) s3-0)))) + (if (< (vector-dot (-> self tracking inv-mat vector 2) s4-0) 0.0) + (set! f0-14 (- f0-14)) + ) + (let ((f0-18 (cond + ((and (< 0.0 f0-14) (< 0.0 (-> s5-0 y))) + (fmin (-> s5-0 y) (fmax 0.0 (* 0.5 (- 10922.667 f0-14)))) + ) + ((and (< f0-14 0.0) (< (-> s5-0 y) 0.0)) + (fmax (-> s5-0 y) (fmin 0.0 (* 0.5 (- -10922.667 f0-14)))) + ) + (else + (-> s5-0 y) + ) + ) + ) + ) + (matrix-axis-angle! gp-0 (-> *camera* local-down) f0-18) ) - ) - (matrix-axis-angle! gp-0 (-> *camera* local-down) f0-18) + ) + (vector-matrix*! (-> self tracking inv-mat vector 2) (-> self tracking inv-mat vector 2) gp-0) + ) + (set! (-> self tracking inv-mat vector 2 y) 0.0) + (vector-normalize! (-> self tracking inv-mat vector 2) (cos (-> *CAM_BILLY-bank* tilt-degrees))) + (set! (-> self tracking inv-mat vector 2 y) (sin (-> *CAM_BILLY-bank* tilt-degrees))) + (vector-cross! + (the-as vector (-> self tracking)) + (-> self tracking inv-mat vector 2) + (-> *camera* local-down) + ) + (vector-normalize! (the-as vector (-> self tracking)) (the-as float 1.0)) + (vector-cross! + (-> self tracking inv-mat vector 1) + (-> self tracking inv-mat vector 2) + (the-as vector (-> self tracking)) + ) ) - ) - (vector-matrix*! - (-> self tracking inv-mat vector 2) - (-> self tracking inv-mat vector 2) - gp-0 - ) + (vector--float*! (-> self trans) (-> *camera* tpos-curr) (-> *camera* local-down) (-> *camera* target-height)) + (suspend) ) - (set! (-> self tracking inv-mat vector 2 y) 0.0) - (vector-normalize! - (-> self tracking inv-mat vector 2) - (cos (-> *CAM_BILLY-bank* tilt-degrees)) - ) - (set! - (-> self tracking inv-mat vector 2 y) - (sin (-> *CAM_BILLY-bank* tilt-degrees)) - ) - (vector-cross! - (the-as vector (-> self tracking)) - (-> self tracking inv-mat vector 2) - (-> *camera* local-down) - ) - (vector-normalize! (the-as vector (-> self tracking)) (the-as float 1.0)) - (vector-cross! - (-> self tracking inv-mat vector 1) - (-> self tracking inv-mat vector 2) - (the-as vector (-> self tracking)) - ) - ) - (vector--float*! - (-> self trans) - (-> *camera* tpos-curr) - (-> *camera* local-down) - (-> *camera* target-height) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -987,453 +752,370 @@ cam-standard-event-handler :enter (behavior () - (cond - ((-> self enter-has-run) - ) - ((-> self cam-entity) - (let ((gp-0 (new-stack-vector0))) - (set! (-> self fov) (cam-slave-get-fov (-> self cam-entity))) - (logior! - (-> self options) - (cam-slave-get-flags (-> self cam-entity) 'flags) + (cond + ((-> self enter-has-run) ) - (if (logtest? (-> self options) #x8000) - (cam-slave-get-rot - (the-as entity-actor (-> self cam-entity)) - (the-as matrix (-> self tracking)) - ) - (set! - (-> self tracking tilt-adjust target) - (cam-slave-get-float - (-> self cam-entity) - 'tiltAdjust - (-> *CAMERA-bank* default-tilt-adjust) - ) - ) - ) - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - gp-0 - 'trans - ) - (cam-curve-setup gp-0) - ) - (vector-negate! (-> self saved-pt) (-> self spline-offset)) - (let - ((a0-8 - (res-lump-struct - (-> self cam-entity) - 'spline-offset - structure - :time - (the-as float -1000000000.0) - ) - ) - ) - (if a0-8 - (vector+! - (-> self spline-offset) - (-> self spline-offset) - (the-as vector a0-8) - ) - ) - ) - (set! (-> self trans quad) (-> self saved-pt quad)) - (cam-calc-follow! (-> self tracking) (-> self trans) #f) - (set! - (-> self spline-follow-dist) - (cam-slave-get-float - (-> self cam-entity) - 'spline-follow-dist - (the-as float 0.0) - ) - ) - (cond - ((< 0.0 (-> self spline-follow-dist)) - (let ((s5-1 (new 'stack-no-clear 'vector)) - (gp-1 (new 'stack-no-clear 'vector)) + ((-> self cam-entity) + (let ((gp-0 (new-stack-vector0))) + (set! (-> self fov) (cam-slave-get-fov (-> self cam-entity))) + (logior! (-> self options) (cam-slave-get-flags (-> self cam-entity) 'flags)) + (if (logtest? (-> self options) #x8000) + (cam-slave-get-rot (the-as entity-actor (-> self cam-entity)) (the-as matrix (-> self tracking))) + (set! (-> self tracking tilt-adjust target) + (cam-slave-get-float (-> self cam-entity) 'tiltAdjust (-> *CAMERA-bank* default-tilt-adjust)) + ) ) - (curve-get-pos! s5-1 (the-as float 0.0) (-> self spline-curve)) - (curve-get-pos! gp-1 (the-as float 1.0) (-> self spline-curve)) - (if - (< - (vector-vector-distance-squared s5-1 (-> self tracking follow-pt)) - (vector-vector-distance-squared gp-1 (-> self tracking follow-pt)) + (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) gp-0 'trans) + (cam-curve-setup gp-0) + ) + (vector-negate! (-> self saved-pt) (-> self spline-offset)) + (let ((a0-8 (res-lump-struct (-> self cam-entity) 'spline-offset structure :time (the-as float -1000000000.0)))) + (if a0-8 + (vector+! (-> self spline-offset) (-> self spline-offset) (the-as vector a0-8)) + ) + ) + (set! (-> self trans quad) (-> self saved-pt quad)) + (cam-calc-follow! (-> self tracking) (-> self trans) #f) + (set! (-> self spline-follow-dist) + (cam-slave-get-float (-> self cam-entity) 'spline-follow-dist (the-as float 0.0)) + ) + (cond + ((< 0.0 (-> self spline-follow-dist)) + (let ((s5-1 (new 'stack-no-clear 'vector)) + (gp-1 (new 'stack-no-clear 'vector)) + ) + (curve-get-pos! s5-1 (the-as float 0.0) (-> self spline-curve)) + (curve-get-pos! gp-1 (the-as float 1.0) (-> self spline-curve)) + (if (< (vector-vector-distance-squared s5-1 (-> self tracking follow-pt)) + (vector-vector-distance-squared gp-1 (-> self tracking follow-pt)) + ) + (set! (-> self spline-follow-dist) (- (-> self spline-follow-dist))) + ) + ) + (set! (-> self spline-tt) (curve-closest-point + (-> self spline-curve) + (-> self tracking follow-pt) + (the-as float 0.5) + (the-as float -4096.0) + 10 + (-> self spline-follow-dist) + ) + ) ) - (set! (-> self spline-follow-dist) (- (-> self spline-follow-dist))) + (else + (set! (-> self spline-follow-dist) 0.0) + ) ) - ) - (set! - (-> self spline-tt) - (curve-closest-point - (-> self spline-curve) - (-> self tracking follow-pt) - (the-as float 0.5) - (the-as float -4096.0) - 10 - (-> self spline-follow-dist) + (cam-curve-pos (-> self trans) (the-as vector #f) (the-as curve #f) #t) + (cond + ((logtest? (-> self options) #x8000) + (set! (-> self blend-from-type) (the-as uint 0)) + (set! (-> self blend-to-type) (the-as uint 0)) + 0 + ) + (else + (set! (-> self blend-from-type) (the-as uint 2)) + (set! (-> self blend-to-type) (the-as uint 2)) + ) ) - ) ) (else - (set! (-> self spline-follow-dist) 0.0) - ) + (format #t "ERROR : cam-spline enter without entity~%") + ) ) - (cam-curve-pos (-> self trans) (the-as vector #f) (the-as curve #f) #t) - (cond - ((logtest? (-> self options) #x8000) - (set! (-> self blend-from-type) (the-as uint 0)) - (set! (-> self blend-to-type) (the-as uint 0)) - 0 - ) - (else - (set! (-> self blend-from-type) (the-as uint 2)) - (set! (-> self blend-to-type) (the-as uint 2)) - ) + (let ((gp-2 (new 'stack-no-clear 'vector))) + (if (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) gp-2 'interesting) + (send-event *camera* 'point-of-interest gp-2) + ) ) - ) - (else - (format #t "ERROR : cam-spline enter without entity~%") - ) + (none) ) - (let ((gp-2 (new 'stack-no-clear 'vector))) - (if - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - gp-2 - 'interesting - ) - (send-event *camera* 'point-of-interest gp-2) - ) - ) - (none) - ) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (cam-slave-go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (cam-slave-go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (when (not (paused?)) - (cam-calc-follow! (-> self tracking) (-> self trans) #t) - (new 'stack 'curve) - (set! (-> self trans quad) (-> self saved-pt quad)) - (cam-curve-pos (-> self trans) (the-as vector #f) (the-as curve #f) #t) - ) - (suspend) + (while #t + (when (not (paused?)) + (cam-calc-follow! (-> self tracking) (-> self trans) #t) + (new 'stack 'curve) + (set! (-> self trans quad) (-> self saved-pt quad)) + (cam-curve-pos (-> self trans) (the-as vector #f) (the-as curve #f) #t) + ) + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate cam-decel (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (if (not (-> self enter-has-run)) - (set! (-> self saved-pt quad) (-> self trans quad)) + (if (not (-> self enter-has-run)) + (set! (-> self saved-pt quad) (-> self trans quad)) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (when (not (paused?)) - (let ((s5-0 (new-stack-vector0)) - (gp-0 (new-stack-vector0)) - ) - (when (!= (-> *camera* outro-t-step) 0.0) - (curve-get-pos! - s5-0 - (parameter-ease-sin-clamp (-> *camera* outro-t)) - (-> *camera* outro-curve) - ) - (+! - (-> *camera* outro-t) - (* (-> *camera* outro-t-step) (-> *display* time-adjust-ratio)) - ) - (curve-get-pos! - gp-0 - (parameter-ease-sin-clamp (-> *camera* outro-t)) - (-> *camera* outro-curve) - ) - (vector-! gp-0 gp-0 s5-0) - (cond - ((or - (and - (< (-> *camera* outro-t-step) 0.0) - (>= (-> *camera* outro-exit-value) (-> *camera* outro-t)) - ) - (and - (< 0.0 (-> *camera* outro-t-step)) - (>= (-> *camera* outro-t) (-> *camera* outro-exit-value)) - ) + (while #t + (when (not (paused?)) + (let ((s5-0 (new-stack-vector0)) + (gp-0 (new-stack-vector0)) + ) + (when (!= (-> *camera* outro-t-step) 0.0) + (curve-get-pos! s5-0 (parameter-ease-sin-clamp (-> *camera* outro-t)) (-> *camera* outro-curve)) + (+! (-> *camera* outro-t) (* (-> *camera* outro-t-step) (-> *display* time-adjust-ratio))) + (curve-get-pos! gp-0 (parameter-ease-sin-clamp (-> *camera* outro-t)) (-> *camera* outro-curve)) + (vector-! gp-0 gp-0 s5-0) + (cond + ((or + (and (< (-> *camera* outro-t-step) 0.0) (>= (-> *camera* outro-exit-value) (-> *camera* outro-t))) + (and (< 0.0 (-> *camera* outro-t-step)) (>= (-> *camera* outro-t) (-> *camera* outro-exit-value))) + ) + (set! (-> *camera* outro-t) (-> *camera* outro-exit-value)) + (set! (-> *camera* outro-t-step) 0.0) + (vector+! (-> self velocity) (-> self velocity) gp-0) + (send-event *camera* 'outro-done) + ) + (else + (vector+! (-> self trans) (-> self trans) gp-0) + ) + ) + ) ) - (set! (-> *camera* outro-t) (-> *camera* outro-exit-value)) - (set! (-> *camera* outro-t-step) 0.0) - (vector+! (-> self velocity) (-> self velocity) gp-0) - (send-event *camera* 'outro-done) - ) - (else - (vector+! (-> self trans) (-> self trans) gp-0) - ) + (vector-float*! (-> self velocity) (-> self velocity) 0.9) + (vector+! (-> self trans) (-> self trans) (-> self velocity)) ) - ) + (suspend) ) - (vector-float*! (-> self velocity) (-> self velocity) 0.9) - (vector+! (-> self trans) (-> self trans) (-> self velocity)) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate cam-endlessfall (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (set! (-> self blend-from-type) (the-as uint 2)) - (set! (-> self blend-to-type) (the-as uint 2)) + (when (not (-> self enter-has-run)) + (set! (-> self blend-from-type) (the-as uint 2)) + (set! (-> self blend-to-type) (the-as uint 2)) + ) + (none) ) - (none) - ) :code (behavior () - (let ((gp-0 (new 'stack-no-clear 'matrix)) - (f30-0 (-> self velocity y)) - ) - (let ((s4-0 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'vector)) + (let ((gp-0 (new 'stack-no-clear 'matrix)) + (f30-0 (-> self velocity y)) ) - (set! (-> s4-0 quad) (-> self trans quad)) - (set! (-> s4-0 y) 0.0) - (set! (-> s5-0 quad) (-> self velocity quad)) - (set! (-> s5-0 y) 0.0) - ((method-of-type cam-vector-seeker init!) - (the-as cam-vector-seeker gp-0) - s4-0 - (the-as float 81.92) - (fmax 819.2 (vector-length s5-0)) - (the-as float 0.75) - ) - (set! (-> gp-0 vector 2 quad) (-> s5-0 quad)) - ) - (while #t - (when (not (paused?)) - (set! (-> gp-0 vector 0 x) (-> (target-pos 0) x)) - (set! (-> gp-0 vector 0 z) (-> (target-pos 0) z)) - ((method-of-type cam-vector-seeker update!) - (the-as cam-vector-seeker gp-0) - (the-as vector #f) - ) - (when (< 819.2 (-> gp-0 vector 3 y)) - (set! (-> gp-0 vector 3 y) (* 0.9 (-> gp-0 vector 3 y))) - (if (< (-> gp-0 vector 3 y) 819.2) - (set! (-> gp-0 vector 3 y) 819.2) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s4-0 quad) (-> self trans quad)) + (set! (-> s4-0 y) 0.0) + (set! (-> s5-0 quad) (-> self velocity quad)) + (set! (-> s5-0 y) 0.0) + ((method-of-type cam-vector-seeker init!) + (the-as cam-vector-seeker gp-0) + s4-0 + (the-as float 81.92) + (fmax 819.2 (vector-length s5-0)) + (the-as float 0.75) + ) + (set! (-> gp-0 vector 2 quad) (-> s5-0 quad)) + ) + (while #t + (when (not (paused?)) + (set! (-> gp-0 vector 0 x) (-> (target-pos 0) x)) + (set! (-> gp-0 vector 0 z) (-> (target-pos 0) z)) + ((method-of-type cam-vector-seeker update!) (the-as cam-vector-seeker gp-0) (the-as vector #f)) + (when (< 819.2 (-> gp-0 vector 3 y)) + (set! (-> gp-0 vector 3 y) (* 0.9 (-> gp-0 vector 3 y))) + (if (< (-> gp-0 vector 3 y) 819.2) + (set! (-> gp-0 vector 3 y) 819.2) + ) + ) + (set! f30-0 (* 0.9 f30-0)) + (+! (-> self trans y) f30-0) + (set! (-> self trans x) (-> gp-0 vector 1 x)) + (set! (-> self trans z) (-> gp-0 vector 1 z)) + ) + (suspend) ) - ) - (set! f30-0 (* 0.9 f30-0)) - (+! (-> self trans y) f30-0) - (set! (-> self trans x) (-> gp-0 vector 1 x)) - (set! (-> self trans z) (-> gp-0 vector 1 z)) ) - (suspend) - ) + (none) ) - (none) - ) ) ;; definition for function cam-circular-position-into-max-angle ;; Used lq/sq -(defbehavior - cam-circular-position-into-max-angle camera-slave - ((arg0 vector) (arg1 vector) (arg2 float)) +(defbehavior cam-circular-position-into-max-angle camera-slave ((arg0 vector) (arg1 vector) (arg2 float)) (let* ((f30-0 (vector-normalize-ret-len! arg0 (the-as float 1.0))) (f26-0 (vector-normalize-ret-len! arg1 (the-as float 1.0))) (f0-1 (vector-dot arg0 arg1)) (f28-0 (acos f0-1)) (s3-0 (new 'stack-no-clear 'matrix)) ) - (when *camera-read-analog* - (let - ((f24-0 - (analog-input - (the-as int (-> *cpad-list* cpads 0 rightx)) - (the-as float 128.0) - (the-as float 32.0) - (the-as float 110.0) - (* 8192.0 (-> *display* seconds-per-frame)) - ) - ) - (f1-2 - (analog-input - (the-as int (-> *cpad-list* cpads 0 righty)) - (the-as float 128.0) - (the-as float 32.0) - (the-as float 110.0) - (* 8192.0 (-> *display* seconds-per-frame)) - ) - ) - (s2-0 (new-stack-matrix0)) - ) - (let ((v1-20 (new 'stack-no-clear 'vector))) - 0.0 - (if (< (-> self pivot-rad) f30-0) - (set! f24-0 (- f24-0)) - ) - (vector-cross! v1-20 arg1 arg0) - (let ((f0-9 (vector-dot v1-20 (-> *camera* local-down)))) - (if (< f1-2 0.0) - (set! f1-2 (fmax f1-2 (* -0.15 f28-0))) - ) - (if (< f0-9 0.0) - (set! f1-2 (- f1-2)) - ) - (let* ((f1-3 (+ f24-0 f1-2)) - (f1-5 - (fmin - (* 8192.0 (-> *display* seconds-per-frame)) - (fmax (* -8192.0 (-> *display* seconds-per-frame)) f1-3) - ) - ) + (when *camera-read-analog* + (let ((f24-0 (analog-input + (the-as int (-> *cpad-list* cpads 0 rightx)) + (the-as float 128.0) + (the-as float 32.0) + (the-as float 110.0) + (* 8192.0 (-> *display* seconds-per-frame)) + ) + ) + (f1-2 (analog-input + (the-as int (-> *cpad-list* cpads 0 righty)) + (the-as float 128.0) + (the-as float 32.0) + (the-as float 110.0) + (* 8192.0 (-> *display* seconds-per-frame)) + ) + ) + (s2-0 (new-stack-matrix0)) + ) + (let ((v1-20 (new 'stack-no-clear 'vector))) + 0.0 + (if (< (-> self pivot-rad) f30-0) + (set! f24-0 (- f24-0)) ) - (cond - ((and (< 0.0 f1-5) (< 0.0 f0-9) (< (-> self max-angle-curr) f28-0)) - (set! f1-5 0.0) - ) - ((and (< 0.0 f1-5) (< 0.0 f0-9)) - (set! f1-5 (fmin f1-5 (* 0.15 (- (-> self max-angle-curr) f28-0)))) - ) - ((and (< f1-5 0.0) (< f0-9 0.0) (< (-> self max-angle-curr) f28-0)) - (set! f1-5 0.0) - ) - ((and (< f1-5 0.0) (< f0-9 0.0)) - (set! f1-5 (fmax f1-5 (* 0.15 (- f28-0 (-> self max-angle-curr))))) + (vector-cross! v1-20 arg1 arg0) + (let ((f0-9 (vector-dot v1-20 (-> *camera* local-down)))) + (if (< f1-2 0.0) + (set! f1-2 (fmax f1-2 (* -0.15 f28-0))) + ) + (if (< f0-9 0.0) + (set! f1-2 (- f1-2)) + ) + (let* ((f1-3 (+ f24-0 f1-2)) + (f1-5 + (fmin (* 8192.0 (-> *display* seconds-per-frame)) (fmax (* -8192.0 (-> *display* seconds-per-frame)) f1-3)) + ) + ) + (cond + ((and (< 0.0 f1-5) (< 0.0 f0-9) (< (-> self max-angle-curr) f28-0)) + (set! f1-5 0.0) + ) + ((and (< 0.0 f1-5) (< 0.0 f0-9)) + (set! f1-5 (fmin f1-5 (* 0.15 (- (-> self max-angle-curr) f28-0)))) + ) + ((and (< f1-5 0.0) (< f0-9 0.0) (< (-> self max-angle-curr) f28-0)) + (set! f1-5 0.0) + ) + ((and (< f1-5 0.0) (< f0-9 0.0)) + (set! f1-5 (fmax f1-5 (* 0.15 (- f28-0 (-> self max-angle-curr))))) + ) + ) + (matrix-axis-angle! s2-0 (-> *camera* local-down) f1-5) + ) + ) ) + (vector-matrix*! arg1 arg1 s2-0) + ) + (let ((f0-15 (vector-dot arg0 arg1))) + (set! f28-0 (acos f0-15)) + ) + ) + (cond + ((< (-> self max-angle-curr) f28-0) + (matrix-from-two-vectors-max-angle! + s3-0 + arg1 + arg0 + (* (fmin 1.0 (* arg2 (-> *display* time-adjust-ratio))) (- f28-0 (-> self max-angle-curr))) ) - (matrix-axis-angle! s2-0 (-> *camera* local-down) f1-5) - ) + (vector-matrix*! arg0 arg1 s3-0) ) + ((and + (logtest? (-> self options) 2) + (or + (and (>= f26-0 (+ -8192.0 f30-0)) (>= f30-0 (+ -8192.0 (-> self pivot-rad)))) + (and (>= (+ 8192.0 f30-0) f26-0) (>= (+ 8192.0 (-> self pivot-rad)) f30-0)) + ) + ) + (let ((s2-1 (new 'stack-no-clear 'vector))) + (vector-cross! s2-1 arg1 arg0) + (vector-normalize! s2-1 (the-as float 1.0)) + (matrix-axis-angle! + s3-0 + s2-1 + (* (fmin 1.0 (* arg2 (-> *display* time-adjust-ratio))) (- (-> self max-angle-curr) f28-0)) + ) + ) + (vector-matrix*! arg0 arg1 s3-0) + ) + (else + (set! (-> arg0 quad) (-> arg1 quad)) + (if (logtest? (-> self options) 2048) + (set! (-> self max-angle-curr) f28-0) + ) + ) ) - (vector-matrix*! arg1 arg1 s2-0) - ) - (let ((f0-15 (vector-dot arg0 arg1))) - (set! f28-0 (acos f0-15)) - ) ) - (cond - ((< (-> self max-angle-curr) f28-0) - (matrix-from-two-vectors-max-angle! - s3-0 - arg1 - arg0 - (* - (fmin 1.0 (* arg2 (-> *display* time-adjust-ratio))) - (- f28-0 (-> self max-angle-curr)) - ) - ) - (vector-matrix*! arg0 arg1 s3-0) - ) - ((and - (logtest? (-> self options) 2) - (or - (and - (>= f26-0 (+ -8192.0 f30-0)) - (>= f30-0 (+ -8192.0 (-> self pivot-rad))) - ) - (and - (>= (+ 8192.0 f30-0) f26-0) - (>= (+ 8192.0 (-> self pivot-rad)) f30-0) - ) - ) - ) - (let ((s2-1 (new 'stack-no-clear 'vector))) - (vector-cross! s2-1 arg1 arg0) - (vector-normalize! s2-1 (the-as float 1.0)) - (matrix-axis-angle! - s3-0 - s2-1 - (* - (fmin 1.0 (* arg2 (-> *display* time-adjust-ratio))) - (- (-> self max-angle-curr) f28-0) - ) - ) - ) - (vector-matrix*! arg0 arg1 s3-0) - ) - (else - (set! (-> arg0 quad) (-> arg1 quad)) - (if (logtest? (-> self options) 2048) - (set! (-> self max-angle-curr) f28-0) - ) - ) - ) - ) (vector-normalize! arg0 (-> self pivot-rad)) ) ;; definition for function cam-circular-position (defbehavior cam-circular-position camera-slave ((arg0 symbol)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (if (logtest? (-> self options) 130) - (vector-! gp-0 (-> self circular-follow) (-> self pivot-pt)) - (vector-! gp-0 (-> self pivot-pt) (-> self circular-follow)) - ) - (vector-! s5-0 (-> self trans) (-> self pivot-pt)) - (when (zero? (logand (-> self options) 4)) - (vector-flatten! gp-0 gp-0 (-> *camera* local-down)) - (vector-flatten! s5-0 s5-0 (-> *camera* local-down)) - ) - (cond - ((logtest? (-> self options) 128) - (let ((f0-1 (- (vector-length gp-0) (-> self pivot-rad)))) - (if (>= 0.0 f0-1) - (vector-reset! gp-0) - (vector-normalize! gp-0 f0-1) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (if (logtest? (-> self options) 130) + (vector-! gp-0 (-> self circular-follow) (-> self pivot-pt)) + (vector-! gp-0 (-> self pivot-pt) (-> self circular-follow)) + ) + (vector-! s5-0 (-> self trans) (-> self pivot-pt)) + (when (zero? (logand (-> self options) 4)) + (vector-flatten! gp-0 gp-0 (-> *camera* local-down)) + (vector-flatten! s5-0 s5-0 (-> *camera* local-down)) + ) + (cond + ((logtest? (-> self options) 128) + (let ((f0-1 (- (vector-length gp-0) (-> self pivot-rad)))) + (if (>= 0.0 f0-1) + (vector-reset! gp-0) + (vector-normalize! gp-0 f0-1) + ) + ) + ) + ((not arg0) + (set! (-> self max-angle-curr) (-> self max-angle-offset)) + (cam-circular-position-into-max-angle gp-0 s5-0 (the-as float 1.0)) + ) + (else + (cam-circular-position-into-max-angle gp-0 s5-0 (the-as float 0.05)) + ) ) - ) ) - ((not arg0) - (set! (-> self max-angle-curr) (-> self max-angle-offset)) - (cam-circular-position-into-max-angle gp-0 s5-0 (the-as float 1.0)) - ) - (else - (cam-circular-position-into-max-angle gp-0 s5-0 (the-as float 0.05)) - ) - ) + (vector+! (-> self trans) gp-0 (-> self pivot-pt)) ) - (vector+! (-> self trans) gp-0 (-> self pivot-pt)) - ) ) ;; definition for function cam-circular-code @@ -1442,226 +1124,148 @@ (set! (-> self pivot-pt quad) (-> self saved-pt quad)) (cam-curve-pos (-> self pivot-pt) (the-as vector #f) (the-as curve #f) #f) (let ((a2-1 (new-stack-vector0))) - (vector-! a2-1 (-> *camera* tpos-curr-adj) (-> self pivot-pt)) - (vector-! - (-> self circular-follow) - (-> self circular-follow) - (-> self pivot-pt) + (vector-! a2-1 (-> *camera* tpos-curr-adj) (-> self pivot-pt)) + (vector-! (-> self circular-follow) (-> self circular-follow) (-> self pivot-pt)) + (if (logtest? (-> self options) 4) + (v-slrp3! + (-> self circular-follow) + (-> self circular-follow) + a2-1 + (the-as vector #f) + (* 182.04445 (-> *display* time-adjust-ratio)) + ) + (v-slrp3! + (-> self circular-follow) + (-> self circular-follow) + a2-1 + (-> *camera* local-down) + (* 182.04445 (-> *display* time-adjust-ratio)) + ) + ) ) - (if (logtest? (-> self options) 4) - (v-slrp3! - (-> self circular-follow) - (-> self circular-follow) - a2-1 - (the-as vector #f) - (* 182.04445 (-> *display* time-adjust-ratio)) - ) - (v-slrp3! - (-> self circular-follow) - (-> self circular-follow) - a2-1 - (-> *camera* local-down) - (* 182.04445 (-> *display* time-adjust-ratio)) - ) - ) - ) - (vector+! - (-> self circular-follow) - (-> self circular-follow) - (-> self pivot-pt) - ) + (vector+! (-> self circular-follow) (-> self circular-follow) (-> self pivot-pt)) (cam-circular-position #t) (when (!= (-> self fov1) 0.0) - (let - ((f0-7 - (lerp-clamp - (-> self fov0) - (-> self fov1) - (parameter-ease-sin-clamp - (dummy-10 (-> self fov-index) (-> *camera* tpos-curr-adj)) - ) - ) + (let ((f0-7 (lerp-clamp + (-> self fov0) + (-> self fov1) + (parameter-ease-sin-clamp (dummy-10 (-> self fov-index) (-> *camera* tpos-curr-adj))) + ) + ) + ) + (set! (-> self fov) f0-7) + f0-7 ) - ) - (set! (-> self fov) f0-7) - f0-7 ) - ) ) ;; failed to figure out what this is: (defstate cam-circular (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (('outro-done) + (set! (-> self trans quad) (-> *camera-combiner* trans quad)) + (cam-circular-position #f) + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (('outro-done) - (set! (-> self trans quad) (-> *camera-combiner* trans quad)) - (cam-circular-position #f) - ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (cond - ((-> self enter-has-run) - ) - (else - (let ((gp-0 (new-stack-vector0))) - (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) - (set! (-> self view-off-param) 1.0) - (set! (-> self circular-follow quad) (-> *camera* tpos-curr-adj quad)) - (set! (-> self max-angle-offset) 0.0) - (cond - ((-> self cam-entity) - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - (-> self saved-pt) - 'pivot - ) - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - gp-0 - 'trans - ) - (set! - (-> self pivot-rad) - (vector-length (vector-! gp-0 gp-0 (-> self saved-pt))) - ) - (logior! - (-> self options) - (cam-slave-get-flags (-> self cam-entity) 'flags) - ) - (set! (-> self fov) (cam-slave-get-fov (-> self cam-entity))) - (set! - (-> self tracking tilt-adjust target) - (cam-slave-get-float - (-> self cam-entity) - 'tiltAdjust - (-> *CAMERA-bank* default-tilt-adjust) - ) - ) - (set! - (-> self max-angle-offset) - (cam-slave-get-float (-> self cam-entity) 'maxAngle (the-as float 0.0)) - ) - (if (< (-> self max-angle-offset) 0.0) - (set! (-> self max-angle-offset) 0.0) - ) - (set! - (-> self fov1) - (cam-slave-get-float - (-> self cam-entity) - 'focalPull - (the-as float 0.0) - ) - ) - (cond - ((and - (!= (-> self fov1) 0.0) - (dummy-9 - (-> self fov-index) - 'focalpull - (-> self cam-entity) - (-> self saved-pt) - (the-as curve #f) - ) - ) - (set! (-> self fov0) (-> self fov)) - (set! - (-> self fov) - (lerp-clamp - (-> self fov0) - (-> self fov1) - (dummy-10 (-> self fov-index) (-> *camera* tpos-curr-adj)) - ) - ) - ) - (else - (set! (-> self fov1) 0.0) - ) - ) - (cam-curve-setup (-> self saved-pt)) - (set! (-> self pivot-pt quad) (-> self saved-pt quad)) - (cam-curve-pos - (-> self pivot-pt) - (the-as vector #f) - (the-as curve #f) - #f - ) - ) - ((logtest? (-> self options) 128) - (vector-! - (-> self pivot-pt) - (-> *camera* tpos-curr-adj) - (-> self trans) - ) - (vector-flatten! - (-> self pivot-pt) - (-> self pivot-pt) - (-> *camera* local-down) - ) - (set! (-> self pivot-rad) (vector-length (-> self pivot-pt))) - (set! (-> self pivot-pt quad) (-> self trans quad)) - (set! (-> self saved-pt quad) (-> self pivot-pt quad)) - ) - (else - (vector-! - (-> self pivot-pt) - (-> *camera* tpos-curr-adj) - (-> self trans) - ) - (vector-float*! (-> self pivot-pt) (-> self pivot-pt) 0.5) - (vector-flatten! - (-> self pivot-pt) - (-> self pivot-pt) - (-> *camera* local-down) - ) - (set! (-> self pivot-rad) (vector-length (-> self pivot-pt))) - (vector+! (-> self pivot-pt) (-> self trans) (-> self pivot-pt)) - (set! (-> self saved-pt quad) (-> self pivot-pt quad)) - ) + (cond + ((-> self enter-has-run) ) + (else + (let ((gp-0 (new-stack-vector0))) + (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) + (set! (-> self view-off-param) 1.0) + (set! (-> self circular-follow quad) (-> *camera* tpos-curr-adj quad)) + (set! (-> self max-angle-offset) 0.0) + (cond + ((-> self cam-entity) + (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) (-> self saved-pt) 'pivot) + (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) gp-0 'trans) + (set! (-> self pivot-rad) (vector-length (vector-! gp-0 gp-0 (-> self saved-pt)))) + (logior! (-> self options) (cam-slave-get-flags (-> self cam-entity) 'flags)) + (set! (-> self fov) (cam-slave-get-fov (-> self cam-entity))) + (set! (-> self tracking tilt-adjust target) + (cam-slave-get-float (-> self cam-entity) 'tiltAdjust (-> *CAMERA-bank* default-tilt-adjust)) + ) + (set! (-> self max-angle-offset) (cam-slave-get-float (-> self cam-entity) 'maxAngle (the-as float 0.0))) + (if (< (-> self max-angle-offset) 0.0) + (set! (-> self max-angle-offset) 0.0) + ) + (set! (-> self fov1) (cam-slave-get-float (-> self cam-entity) 'focalPull (the-as float 0.0))) + (cond + ((and + (!= (-> self fov1) 0.0) + (dummy-9 (-> self fov-index) 'focalpull (-> self cam-entity) (-> self saved-pt) (the-as curve #f)) + ) + (set! (-> self fov0) (-> self fov)) + (set! (-> self fov) + (lerp-clamp (-> self fov0) (-> self fov1) (dummy-10 (-> self fov-index) (-> *camera* tpos-curr-adj))) + ) + ) + (else + (set! (-> self fov1) 0.0) + ) + ) + (cam-curve-setup (-> self saved-pt)) + (set! (-> self pivot-pt quad) (-> self saved-pt quad)) + (cam-curve-pos (-> self pivot-pt) (the-as vector #f) (the-as curve #f) #f) + ) + ((logtest? (-> self options) 128) + (vector-! (-> self pivot-pt) (-> *camera* tpos-curr-adj) (-> self trans)) + (vector-flatten! (-> self pivot-pt) (-> self pivot-pt) (-> *camera* local-down)) + (set! (-> self pivot-rad) (vector-length (-> self pivot-pt))) + (set! (-> self pivot-pt quad) (-> self trans quad)) + (set! (-> self saved-pt quad) (-> self pivot-pt quad)) + ) + (else + (vector-! (-> self pivot-pt) (-> *camera* tpos-curr-adj) (-> self trans)) + (vector-float*! (-> self pivot-pt) (-> self pivot-pt) 0.5) + (vector-flatten! (-> self pivot-pt) (-> self pivot-pt) (-> *camera* local-down)) + (set! (-> self pivot-rad) (vector-length (-> self pivot-pt))) + (vector+! (-> self pivot-pt) (-> self trans) (-> self pivot-pt)) + (set! (-> self saved-pt quad) (-> self pivot-pt quad)) + ) + ) + ) + (cam-circular-position #f) + (set! (-> self blend-from-type) (the-as uint 2)) + (set! (-> self blend-to-type) (the-as uint 2)) + ) ) - (cam-circular-position #f) - (set! (-> self blend-from-type) (the-as uint 2)) - (set! (-> self blend-to-type) (the-as uint 2)) - ) - ) - (let ((gp-3 (new 'stack-no-clear 'vector))) - (if - (cam-slave-get-vector-with-offset - (the-as entity-actor (-> self cam-entity)) - gp-3 - 'interesting + (let ((gp-3 (new 'stack-no-clear 'vector))) + (if (cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) gp-3 'interesting) + (send-event *camera* 'point-of-interest gp-3) + ) ) - (send-event *camera* 'point-of-interest gp-3) - ) + (none) ) - (none) - ) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (cam-slave-go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (cam-slave-go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (if (not (paused?)) - (cam-circular-code) - ) - (suspend) + (while #t + (if (not (paused?)) + (cam-circular-code) + ) + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -1670,26 +1274,26 @@ cam-standard-event-handler :enter (behavior () - (when (not (-> self enter-has-run)) - (set! (-> self blend-from-type) (the-as uint 2)) - (set! (-> self blend-to-type) (the-as uint 2)) + (when (not (-> self enter-has-run)) + (set! (-> self blend-from-type) (the-as uint 2)) + (set! (-> self blend-to-type) (the-as uint 2)) + ) + (none) ) - (none) - ) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (cam-slave-go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (cam-slave-go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) ) ;; definition of type cam-string-bank @@ -1713,10 +1317,7 @@ ;; definition for symbol *CAM_STRING-bank*, type cam-string-bank (define *CAM_STRING-bank* - (new 'static 'cam-string-bank - :los-coll-rad (meters 1.0) - :los-coll-rad2 (meters 0.5) - ) + (new 'static 'cam-string-bank :los-coll-rad (meters 1.0) :los-coll-rad2 (meters 0.5)) ) ;; definition for function cam-string-find-position-rel! @@ -1728,70 +1329,47 @@ (f30-0 0.0) (s2-0 (new 'stack-no-clear 'matrix)) ) - (vector-flatten! - s5-0 - (-> *camera-combiner* inv-camera-rot vector 2) - (-> *camera* local-down) - ) - (if - (= - (vector-normalize-ret-len! - s5-0 - (- (+ 1024.0 (-> *CAMERA-bank* default-string-min-z))) + (vector-flatten! s5-0 (-> *camera-combiner* inv-camera-rot vector 2) (-> *camera* local-down)) + (if (= (vector-normalize-ret-len! s5-0 (- (+ 1024.0 (-> *CAMERA-bank* default-string-min-z)))) 0.0) + (set! (-> s5-0 z) (+ 1024.0 (-> *CAMERA-bank* default-string-min-z))) + ) + (vector--float*! s5-0 s5-0 (-> *camera* local-down) (-> *CAMERA-bank* default-string-min-y)) + (set! (-> arg0 quad) (-> s5-0 quad)) + (while #t + (vector--float*! s4-0 arg0 (-> *camera* local-down) (-> *camera* target-height)) + (if (< (dummy-10 + *collide-cache* + (-> *camera* tpos-curr-adj) + arg0 + (the-as float 409.6) + #x4a09 + (the-as process #f) + (the-as collide-mesh-cache-tri s3-0) + 2 + ) + 0.0 + ) + (return #t) + ) + (set! f30-0 (cond + ((>= -32768.0 f30-0) + (format #t "cam-string didn't find a spot~%") + (set! (-> arg0 quad) (-> s5-0 quad)) + (return #f) + f30-0 + ) + ((< 0.0 f30-0) + (- f30-0) + ) + (else + (- 5461.3335 f30-0) + ) + ) + ) + (matrix-axis-angle! s2-0 (-> *camera* local-down) f30-0) + (vector-matrix*! arg0 s5-0 s2-0) ) - 0.0 - ) - (set! (-> s5-0 z) (+ 1024.0 (-> *CAMERA-bank* default-string-min-z))) ) - (vector--float*! - s5-0 - s5-0 - (-> *camera* local-down) - (-> *CAMERA-bank* default-string-min-y) - ) - (set! (-> arg0 quad) (-> s5-0 quad)) - (while #t - (vector--float*! - s4-0 - arg0 - (-> *camera* local-down) - (-> *camera* target-height) - ) - (if - (< - (dummy-10 - *collide-cache* - (-> *camera* tpos-curr-adj) - arg0 - (the-as float 409.6) - #x4a09 - (the-as process #f) - (the-as collide-mesh-cache-tri s3-0) - 2 - ) - 0.0 - ) - (return #t) - ) - (set! f30-0 (cond - ((>= -32768.0 f30-0) - (format #t "cam-string didn't find a spot~%") - (set! (-> arg0 quad) (-> s5-0 quad)) - (return #f) - f30-0 - ) - ((< 0.0 f30-0) - (- f30-0) - ) - (else - (- 5461.3335 f30-0) - ) - ) - ) - (matrix-axis-angle! s2-0 (-> *camera* local-down) f30-0) - (vector-matrix*! arg0 s5-0 s2-0) - ) - ) (the-as symbol #f) ) @@ -1806,9 +1384,9 @@ (TODO-RENAME-10 (-> self position-spline) (-> self desired-pos)) (vector-reset! (-> self velocity)) (let ((v0-3 (logand -4097 (-> self options)))) - (set! (-> self options) v0-3) - (the-as int v0-3) - ) + (set! (-> self options) v0-3) + (the-as int v0-3) + ) ) ;; definition for function string-push-help @@ -1821,20 +1399,20 @@ ;; INFO: Return type mismatch int vs none. (defun-debug cam-draw-collide-cache ((arg0 collide-cache)) (let ((gp-0 (-> arg0 tris))) - (countdown (s5-0 (-> arg0 num-tris)) - (let ((t1-0 #x40000080)) - (add-debug-flat-triangle - #t - (bucket-id debug-draw1) - (the-as vector (-> gp-0 0)) - (-> gp-0 0 vertex 1) - (-> gp-0 0 vertex 2) - (the-as rgba t1-0) + (countdown (s5-0 (-> arg0 num-tris)) + (let ((t1-0 #x40000080)) + (add-debug-flat-triangle + #t + (bucket-id debug-draw1) + (the-as vector (-> gp-0 0)) + (-> gp-0 0 vertex 1) + (-> gp-0 0 vertex 2) + (the-as rgba t1-0) + ) + ) + (set! gp-0 (the-as (inline-array collide-cache-tri) (-> gp-0 1))) ) - ) - (set! gp-0 (the-as (inline-array collide-cache-tri) (-> gp-0 1))) ) - ) 0 (none) ) @@ -1910,59 +1488,59 @@ ;; INFO: Return type mismatch int vs none. (defun dist-info-append ((arg0 collide-los-dist-info) (arg1 vector)) (cond - ((dist-info-valid? arg0) - (if (< (-> arg1 x) (-> arg0 min-par)) - (set! (-> arg0 min-par) (-> arg1 x)) - ) - (if (< (-> arg0 max-par) (-> arg1 x)) - (set! (-> arg0 max-par) (-> arg1 x)) - ) - (if (< (-> arg1 y) (-> arg0 min-lat)) - (set! (-> arg0 min-lat) (-> arg1 y)) - ) - (if (< (-> arg0 max-lat) (-> arg1 y)) - (set! (-> arg0 max-lat) (-> arg1 y)) - ) - (cond - ((< (-> arg1 y) 0.0) - (if (< (-> arg1 z) (-> arg0 min-vn)) - (set! (-> arg0 min-vn) (-> arg1 z)) - ) - (if (< (-> arg0 max-vn) (-> arg1 z)) - (set! (-> arg0 max-vn) (-> arg1 z)) + ((dist-info-valid? arg0) + (if (< (-> arg1 x) (-> arg0 min-par)) + (set! (-> arg0 min-par) (-> arg1 x)) + ) + (if (< (-> arg0 max-par) (-> arg1 x)) + (set! (-> arg0 max-par) (-> arg1 x)) + ) + (if (< (-> arg1 y) (-> arg0 min-lat)) + (set! (-> arg0 min-lat) (-> arg1 y)) + ) + (if (< (-> arg0 max-lat) (-> arg1 y)) + (set! (-> arg0 max-lat) (-> arg1 y)) + ) + (cond + ((< (-> arg1 y) 0.0) + (if (< (-> arg1 z) (-> arg0 min-vn)) + (set! (-> arg0 min-vn) (-> arg1 z)) + ) + (if (< (-> arg0 max-vn) (-> arg1 z)) + (set! (-> arg0 max-vn) (-> arg1 z)) + ) + ) + (else + (if (< (-> arg1 z) (-> arg0 min-vp)) + (set! (-> arg0 min-vp) (-> arg1 z)) + ) + (if (< (-> arg0 max-vp) (-> arg1 z)) + (set! (-> arg0 max-vp) (-> arg1 z)) + ) + ) ) + ) + (else + (set! (-> arg0 min-par) (-> arg1 x)) + (set! (-> arg0 max-par) (-> arg1 x)) + (set! (-> arg0 min-lat) (-> arg1 y)) + (set! (-> arg0 max-lat) (-> arg1 y)) + (set! (-> arg0 min-vp) 0.0) + (set! (-> arg0 max-vp) 0.0) + (set! (-> arg0 min-vn) 0.0) + (set! (-> arg0 max-vn) 0.0) + (cond + ((< (-> arg1 y) 0.0) + (set! (-> arg0 min-vn) (-> arg1 z)) + (set! (-> arg0 max-vn) (-> arg1 z)) + ) + (else + (set! (-> arg0 min-vp) (-> arg1 z)) + (set! (-> arg0 max-vp) (-> arg1 z)) + ) + ) ) - (else - (if (< (-> arg1 z) (-> arg0 min-vp)) - (set! (-> arg0 min-vp) (-> arg1 z)) - ) - (if (< (-> arg0 max-vp) (-> arg1 z)) - (set! (-> arg0 max-vp) (-> arg1 z)) - ) - ) - ) ) - (else - (set! (-> arg0 min-par) (-> arg1 x)) - (set! (-> arg0 max-par) (-> arg1 x)) - (set! (-> arg0 min-lat) (-> arg1 y)) - (set! (-> arg0 max-lat) (-> arg1 y)) - (set! (-> arg0 min-vp) 0.0) - (set! (-> arg0 max-vp) 0.0) - (set! (-> arg0 min-vn) 0.0) - (set! (-> arg0 max-vn) 0.0) - (cond - ((< (-> arg1 y) 0.0) - (set! (-> arg0 min-vn) (-> arg1 z)) - (set! (-> arg0 max-vn) (-> arg1 z)) - ) - (else - (set! (-> arg0 min-vp) (-> arg1 z)) - (set! (-> arg0 max-vp) (-> arg1 z)) - ) - ) - ) - ) (+! (-> arg0 count) 1) (none) ) @@ -1970,30 +1548,30 @@ ;; definition for function dist-info-print (defun dist-info-print ((arg0 collide-los-dist-info) (arg1 string)) (cond - ((dist-info-valid? arg0) - (format - *stdcon* - "~S ~2,D mn ~,,2M mx ~,,2M mnl ~,,2M mxl ~,,2M~%" - arg1 - (-> arg0 count) - (-> arg0 min-par) - (-> arg0 max-par) - (-> arg0 min-lat) - (-> arg0 max-lat) - ) - (format - *stdcon* - " mnvp ~,,2M mxvp ~,,2M mnvn ~,,2M mxvn ~,,2M~%" - (-> arg0 min-vp) - (-> arg0 max-vp) - (-> arg0 min-vn) - (-> arg0 max-vn) + ((dist-info-valid? arg0) + (format + *stdcon* + "~S ~2,D mn ~,,2M mx ~,,2M mnl ~,,2M mxl ~,,2M~%" + arg1 + (-> arg0 count) + (-> arg0 min-par) + (-> arg0 max-par) + (-> arg0 min-lat) + (-> arg0 max-lat) + ) + (format + *stdcon* + " mnvp ~,,2M mxvp ~,,2M mnvn ~,,2M mxvn ~,,2M~%" + (-> arg0 min-vp) + (-> arg0 max-vp) + (-> arg0 min-vn) + (-> arg0 max-vn) + ) ) + (else + (format *stdcon* "~S invalid~%" arg1) + ) ) - (else - (format *stdcon* "~S invalid~%" arg1) - ) - ) ) ;; definition of type collide-los-result @@ -2024,124 +1602,108 @@ ;; WARN: Stack slot offset 128 signed mismatch ;; WARN: Stack slot offset 128 signed mismatch ;; Used lq/sq -(defun - los-cw-ccw - ((arg0 (inline-array collide-cache-tri)) - (arg1 vector) - (arg2 vector) - (arg3 float) - (arg4 clip-travel-vector-to-mesh-return-info) - (arg5 vector) - (arg6 float) - ) - (local-vars - (sv-128 float) - (sv-144 vector) - (sv-160 vector) - (sv-176 vector) - (sv-192 vector) - (sv-208 int) - ) +(defun los-cw-ccw ((arg0 (inline-array collide-cache-tri)) + (arg1 vector) + (arg2 vector) + (arg3 float) + (arg4 clip-travel-vector-to-mesh-return-info) + (arg5 vector) + (arg6 float) + ) + (local-vars (sv-128 float) (sv-144 vector) (sv-160 vector) (sv-176 vector) (sv-192 vector) (sv-208 int)) (with-pp - (set! sv-128 arg3) - (let ((gp-0 arg4)) - (set! sv-144 arg5) - (let ((s4-0 arg6)) - (set! sv-160 (new 'stack-no-clear 'vector)) - (set! sv-176 (new 'stack-no-clear 'vector)) - (let ((s5-0 (new 'stack-no-clear 'matrix))) - (set! sv-192 (new 'stack-no-clear 'vector)) - (let ((f30-0 0.0) - (s0-0 #f) + (set! sv-128 arg3) + (let ((gp-0 arg4)) + (set! sv-144 arg5) + (let ((s4-0 arg6)) + (set! sv-160 (new 'stack-no-clear 'vector)) + (set! sv-176 (new 'stack-no-clear 'vector)) + (let ((s5-0 (new 'stack-no-clear 'matrix))) + (set! sv-192 (new 'stack-no-clear 'vector)) + (let ((f30-0 0.0) + (s0-0 #f) + ) + (set! sv-208 0) + (while (< sv-208 4) + (cond + ((= sv-208 3) + (vector-! sv-160 sv-144 (the-as vector (&-> pp stack 368))) + (set! (-> s5-0 vector sv-208 z) 0.0) + ) + (else + (vector-! sv-160 sv-144 (-> arg0 0 vertex sv-208)) + (set! (-> s5-0 vector sv-208 z) (vector-dot sv-160 (-> *camera* local-down))) + (vector-! sv-160 (-> arg0 0 vertex sv-208) (the-as vector (&-> pp stack 368))) + ) + ) + (vector-flatten! sv-160 sv-160 (-> *camera* local-down)) + (vector-cross! sv-176 sv-160 arg2) + (let ((f28-0 (vector-dot sv-176 (-> *camera* local-down)))) + (cond + ((< (* f28-0 f30-0) 0.0) + (set! s0-0 #t) + ) + ((!= f28-0 0.0) + (set! f30-0 f28-0) + ) + ) + (set! (-> s5-0 vector sv-208 x) (vector-dot sv-160 arg2)) + (cond + ((= sv-208 3) + (vector-! sv-192 sv-144 (the-as vector (&-> pp stack 368))) + (vector-flatten! sv-192 sv-192 arg1) + ) + (else + (vector--float*! sv-192 sv-160 arg2 (-> s5-0 vector sv-208 x)) + ) + ) + (if (< f28-0 0.0) + (set! (-> s5-0 vector sv-208 y) (- (vector-length sv-192))) + (set! (-> s5-0 vector sv-208 y) (vector-length sv-192)) + ) + ) + (set! (-> s5-0 vector sv-208 x) (- sv-128 (-> s5-0 vector sv-208 x))) + (set! sv-208 (+ sv-208 1)) + ) + (cond + ((and s0-0 (!= s4-0 -100000000.0)) + (dotimes (s4-1 4) + (dist-info-append + (the-as collide-los-dist-info (-> gp-0 vert-0)) + (the-as vector (+ (the-as uint s5-0) (* s4-1 16))) + ) + ) + #f + ) + ((< (-> s5-0 vector 3 y) 0.0) + (dotimes (s4-2 4) + (when (>= (-> s5-0 vector 3 y) (-> s5-0 vector s4-2 y)) + (set! (-> s5-0 vector s4-2 y) (- (-> s5-0 vector s4-2 y))) + (dist-info-append + (the-as collide-los-dist-info (-> gp-0 next-normal)) + (the-as vector (+ (the-as uint s5-0) (* s4-2 16))) + ) + ) + ) + #f + ) + (else + (dotimes (s4-3 4) + (if (>= (-> s5-0 vector s4-3 y) (-> s5-0 vector 3 y)) + (dist-info-append + (the-as collide-los-dist-info (-> gp-0 intersection)) + (the-as vector (+ (the-as uint s5-0) (* s4-3 16))) + ) + ) + ) + #f + ) + ) ) - (set! sv-208 0) - (while (< sv-208 4) - (cond - ((= sv-208 3) - (vector-! sv-160 sv-144 (the-as vector (&-> pp stack 368))) - (set! (-> s5-0 vector sv-208 z) 0.0) ) - (else - (vector-! sv-160 sv-144 (-> arg0 0 vertex sv-208)) - (set! - (-> s5-0 vector sv-208 z) - (vector-dot sv-160 (-> *camera* local-down)) - ) - (vector-! - sv-160 - (-> arg0 0 vertex sv-208) - (the-as vector (&-> pp stack 368)) - ) - ) - ) - (vector-flatten! sv-160 sv-160 (-> *camera* local-down)) - (vector-cross! sv-176 sv-160 arg2) - (let ((f28-0 (vector-dot sv-176 (-> *camera* local-down)))) - (cond - ((< (* f28-0 f30-0) 0.0) - (set! s0-0 #t) - ) - ((!= f28-0 0.0) - (set! f30-0 f28-0) - ) - ) - (set! (-> s5-0 vector sv-208 x) (vector-dot sv-160 arg2)) - (cond - ((= sv-208 3) - (vector-! sv-192 sv-144 (the-as vector (&-> pp stack 368))) - (vector-flatten! sv-192 sv-192 arg1) - ) - (else - (vector--float*! sv-192 sv-160 arg2 (-> s5-0 vector sv-208 x)) - ) - ) - (if (< f28-0 0.0) - (set! (-> s5-0 vector sv-208 y) (- (vector-length sv-192))) - (set! (-> s5-0 vector sv-208 y) (vector-length sv-192)) - ) - ) - (set! (-> s5-0 vector sv-208 x) (- sv-128 (-> s5-0 vector sv-208 x))) - (set! sv-208 (+ sv-208 1)) ) - (cond - ((and s0-0 (!= s4-0 -100000000.0)) - (dotimes (s4-1 4) - (dist-info-append - (the-as collide-los-dist-info (-> gp-0 vert-0)) - (the-as vector (+ (the-as uint s5-0) (* s4-1 16))) - ) - ) - #f - ) - ((< (-> s5-0 vector 3 y) 0.0) - (dotimes (s4-2 4) - (when (>= (-> s5-0 vector 3 y) (-> s5-0 vector s4-2 y)) - (set! (-> s5-0 vector s4-2 y) (- (-> s5-0 vector s4-2 y))) - (dist-info-append - (the-as collide-los-dist-info (-> gp-0 next-normal)) - (the-as vector (+ (the-as uint s5-0) (* s4-2 16))) - ) - ) - ) - #f - ) - (else - (dotimes (s4-3 4) - (if (>= (-> s5-0 vector s4-3 y) (-> s5-0 vector 3 y)) - (dist-info-append - (the-as collide-los-dist-info (-> gp-0 intersection)) - (the-as vector (+ (the-as uint s5-0) (* s4-3 16))) - ) - ) - ) - #f - ) - ) - ) ) - ) ) - ) ) ;; definition for function cam-los-spline-collide @@ -2150,305 +1712,220 @@ (s4-0 *collide-cache*) (f30-0 2.0) ) - 0.0 - (vector-! s5-0 arg1 arg0) - (dummy-14 - s4-0 - arg0 - s5-0 - (-> *CAM_STRING-bank* los-coll-rad2) - #x4a09 - (the-as process #f) - (the-as int arg2) - ) - (let* ((f0-2 (vector-length s5-0)) - (f28-0 (cond - ((< f0-2 (-> *CAMERA-bank* min-detectable-velocity)) - 0.0 - ) - (else - (let* - ((f0-3 - (/ - (* - 3.0 - (- - (-> *CAM_STRING-bank* los-coll-rad2) - (-> *CAMERA-bank* collide-move-rad) - ) + 0.0 + (vector-! s5-0 arg1 arg0) + (dummy-14 s4-0 arg0 s5-0 (-> *CAM_STRING-bank* los-coll-rad2) #x4a09 (the-as process #f) (the-as int arg2)) + (let* ((f0-2 (vector-length s5-0)) + (f28-0 + (cond + ((< f0-2 (-> *CAMERA-bank* min-detectable-velocity)) + 0.0 + ) + (else + (let* ((f0-3 (/ (* 3.0 (- (-> *CAM_STRING-bank* los-coll-rad2) (-> *CAMERA-bank* collide-move-rad))) f0-2)) + (f0-4 (- 1.0 f0-3)) ) - f0-2 - ) - ) - (f0-4 (- 1.0 f0-3)) - ) - (fmin 1.0 (fmax 0.0 f0-4)) - ) + (fmin 1.0 (fmax 0.0 f0-4)) ) - ) + ) + ) + ) + (s3-0 (-> s4-0 tris)) + (s2-0 (new 'stack-no-clear 'vector)) + (s1-0 (new 'stack-no-clear 'vector)) ) - (s3-0 (-> s4-0 tris)) - (s2-0 (new 'stack-no-clear 'vector)) - (s1-0 (new 'stack-no-clear 'vector)) + (countdown (s4-1 (-> s4-0 num-tris)) + (let ((f0-7 (moving-sphere-triangle-intersect arg0 s5-0 (-> *CAM_STRING-bank* los-coll-rad2) (-> s3-0 0) s2-0 s1-0)) + ) + (cond + ((or (< f0-7 0.0) (< f28-0 f0-7)) + ) + ((< f0-7 f30-0) + (set! f30-0 f0-7) + ) + ) ) - (countdown (s4-1 (-> s4-0 num-tris)) - (let - ((f0-7 - (moving-sphere-triangle-intersect - arg0 - s5-0 - (-> *CAM_STRING-bank* los-coll-rad2) - (-> s3-0 0) - s2-0 - s1-0 - ) + (set! s3-0 (the-as (inline-array collide-cache-tri) (-> s3-0 1))) ) - ) - (cond - ((or (< f0-7 0.0) (< f28-0 f0-7)) - ) - ((< f0-7 f30-0) - (set! f30-0 f0-7) - ) - ) ) - (set! s3-0 (the-as (inline-array collide-cache-tri) (-> s3-0 1))) - ) + (if (= f30-0 2.0) + (set! f30-0 -1.0) + ) + f30-0 ) - (if (= f30-0 2.0) - (set! f30-0 -1.0) - ) - f30-0 - ) ) ;; definition for function cam-los-setup-lateral -(defbehavior - cam-los-setup-lateral camera-slave - ((arg0 clip-travel-vector-to-mesh-return-info) (arg1 vector) (arg2 vector)) +(defbehavior cam-los-setup-lateral camera-slave ((arg0 clip-travel-vector-to-mesh-return-info) (arg1 vector) (arg2 vector)) (cond - ((dist-info-valid? (the-as collide-los-dist-info (-> arg0 vert-0))) - (let ((f30-0 (-> arg0 vert-0 z)) - (f28-0 (-> arg0 vert-0 w)) - ) - (if - (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) - (set! f28-0 (fmax f28-0 (-> arg0 intersection w))) - ) - (if (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) - (set! f30-0 (fmin f30-0 (- (-> arg0 next-normal w)))) - ) - (cond - ((= (-> self los-state) (slave-los-state ccw)) - (if *display-cam-los-debug* - (format *stdcon* "straddle stick ccw~%") - ) - (vector-normalize! arg1 (+ f28-0 (-> *CAM_STRING-bank* los-coll-rad))) - ) - ((= (-> self los-state) (slave-los-state cw)) - (if *display-cam-los-debug* - (format *stdcon* "straddle stick cw~%") - ) - (vector-normalize! arg1 (- f30-0 (-> *CAM_STRING-bank* los-coll-rad))) - ) - ((and - (or - (< 0.01 (-> arg0 vert-1 y)) - (and - (dist-info-valid? - (the-as collide-los-dist-info (-> arg0 next-normal)) + ((dist-info-valid? (the-as collide-los-dist-info (-> arg0 vert-0))) + (let ((f30-0 (-> arg0 vert-0 z)) + (f28-0 (-> arg0 vert-0 w)) ) - (< 0.01 (the-as float (-> arg0 gap-poly))) - ) - ) - (or - (< (-> arg0 vert-1 x) -0.01) - (and - (dist-info-valid? - (the-as collide-los-dist-info (-> arg0 next-normal)) + (if (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) + (set! f28-0 (fmax f28-0 (-> arg0 intersection w))) ) - (< (the-as float (-> arg0 poly)) -0.01) - ) - ) - (and - (dist-info-valid? - (the-as collide-los-dist-info (-> arg0 intersection)) - ) - (or - (< (-> arg0 boundary-normal y) 0.01) - (< -0.01 (-> arg0 boundary-normal x)) - ) - ) - ) - (when - (not - (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) - ) - ) - (if - (not - (dist-info-valid? - (the-as collide-los-dist-info (-> arg0 intersection)) - ) - ) - (format #t "s diag ccw invalid cw~%") - ) - (if *display-cam-los-debug* - (format *stdcon* "straddle diagonal ccw~%") - ) - (set! (-> self los-state) (slave-los-state ccw)) - (vector-normalize! arg1 (+ f28-0 (-> *CAM_STRING-bank* los-coll-rad))) - ) - ((and - (or - (< 0.01 (-> arg0 vert-1 w)) - (and - (dist-info-valid? - (the-as collide-los-dist-info (-> arg0 intersection)) + (if (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) + (set! f30-0 (fmin f30-0 (- (-> arg0 next-normal w)))) ) - (< 0.01 (-> arg0 boundary-normal y)) + (cond + ((= (-> self los-state) (slave-los-state ccw)) + (if *display-cam-los-debug* + (format *stdcon* "straddle stick ccw~%") + ) + (vector-normalize! arg1 (+ f28-0 (-> *CAM_STRING-bank* los-coll-rad))) ) - ) - (or - (< (-> arg0 vert-1 z) -0.01) - (and - (dist-info-valid? - (the-as collide-los-dist-info (-> arg0 intersection)) + ((= (-> self los-state) (slave-los-state cw)) + (if *display-cam-los-debug* + (format *stdcon* "straddle stick cw~%") + ) + (vector-normalize! arg1 (- f30-0 (-> *CAM_STRING-bank* los-coll-rad))) + ) + ((and + (or + (< 0.01 (-> arg0 vert-1 y)) + (and + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) + (< 0.01 (the-as float (-> arg0 gap-poly))) + ) + ) + (or + (< (-> arg0 vert-1 x) -0.01) + (and + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) + (< (the-as float (-> arg0 poly)) -0.01) + ) + ) + (and + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) + (or (< (-> arg0 boundary-normal y) 0.01) (< -0.01 (-> arg0 boundary-normal x))) + ) + ) + (when (not (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal)))) + ) + (if (not (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection)))) + (format #t "s diag ccw invalid cw~%") + ) + (if *display-cam-los-debug* + (format *stdcon* "straddle diagonal ccw~%") + ) + (set! (-> self los-state) (slave-los-state ccw)) + (vector-normalize! arg1 (+ f28-0 (-> *CAM_STRING-bank* los-coll-rad))) + ) + ((and + (or + (< 0.01 (-> arg0 vert-1 w)) + (and + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) + (< 0.01 (-> arg0 boundary-normal y)) + ) + ) + (or + (< (-> arg0 vert-1 z) -0.01) + (and + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) + (< (-> arg0 boundary-normal x) -0.01) + ) + ) + (and + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) + (or (< (the-as float (-> arg0 gap-poly)) 0.01) (< -0.01 (the-as float (-> arg0 poly)))) + ) + ) + (if (not (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal)))) + (format #t "s diag cw invalid ccw~%") + ) + (when (not (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection)))) + ) + (if *display-cam-los-debug* + (format *stdcon* "straddle diagonal cw~%") + ) + (set! (-> self los-state) (slave-los-state cw)) + (vector-normalize! arg1 (- f30-0 (-> *CAM_STRING-bank* los-coll-rad))) + ) + ((< f28-0 (- f30-0)) + (if *display-cam-los-debug* + (format *stdcon* "straddle ccw~%") + ) + (set! (-> self los-state) (slave-los-state ccw)) + (vector-normalize! arg1 (+ f28-0 (-> *CAM_STRING-bank* los-coll-rad))) + ) + (else + (if *display-cam-los-debug* + (format *stdcon* "straddle cw~%") + ) + (set! (-> self los-state) (slave-los-state cw)) + (vector-normalize! arg1 (- f30-0 (-> *CAM_STRING-bank* los-coll-rad))) ) - (< (-> arg0 boundary-normal x) -0.01) - ) ) - (and - (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) - (or - (< (the-as float (-> arg0 gap-poly)) 0.01) - (< -0.01 (the-as float (-> arg0 poly))) - ) - ) - ) - (if - (not - (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) - ) - (format #t "s diag cw invalid ccw~%") - ) - (when - (not - (dist-info-valid? - (the-as collide-los-dist-info (-> arg0 intersection)) - ) - ) - ) - (if *display-cam-los-debug* - (format *stdcon* "straddle diagonal cw~%") - ) - (set! (-> self los-state) (slave-los-state cw)) - (vector-normalize! arg1 (- f30-0 (-> *CAM_STRING-bank* los-coll-rad))) ) - ((< f28-0 (- f30-0)) - (if *display-cam-los-debug* - (format *stdcon* "straddle ccw~%") - ) - (set! (-> self los-state) (slave-los-state ccw)) - (vector-normalize! arg1 (+ f28-0 (-> *CAM_STRING-bank* los-coll-rad))) + ) + ((and + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) + (< 0.01 (the-as float (-> arg0 gap-poly))) + (< (the-as float (-> arg0 poly)) -0.01) + (or (< (-> arg0 boundary-normal y) 0.01) (< -0.01 (-> arg0 boundary-normal x))) ) - (else - (if *display-cam-los-debug* - (format *stdcon* "straddle cw~%") - ) - (set! (-> self los-state) (slave-los-state cw)) - (vector-normalize! arg1 (- f30-0 (-> *CAM_STRING-bank* los-coll-rad))) + (if *display-cam-los-debug* + (format *stdcon* "diagonal ccw~%") + ) + (set! (-> self los-state) (slave-los-state ccw)) + (vector-normalize! arg1 (- (-> *CAM_STRING-bank* los-coll-rad) (-> arg0 next-normal z))) + ) + ((and + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) + (< 0.01 (-> arg0 boundary-normal y)) + (< (-> arg0 boundary-normal x) -0.01) + (or (< (the-as float (-> arg0 gap-poly)) 0.01) (< -0.01 (the-as float (-> arg0 poly)))) ) + (if *display-cam-los-debug* + (format *stdcon* "diagonal cw~%") + ) + (set! (-> self los-state) (slave-los-state cw)) + (vector-normalize! arg1 (- (-> arg0 intersection z) (-> *CAM_STRING-bank* los-coll-rad))) + ) + ((and + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) + (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) + ) + (set! (-> self los-state) (slave-los-state between)) + (vector-normalize! arg1 (the-as float 0.0001)) + ) + ((dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) + (if *display-cam-los-debug* + (format *stdcon* "regular cw~%") + ) + (set! (-> self los-state) (slave-los-state cw)) + (vector-normalize! arg1 (- (-> arg0 intersection z) (-> *CAM_STRING-bank* los-coll-rad))) + ) + ((dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) + (if *display-cam-los-debug* + (format *stdcon* "regular ccw~%") + ) + (set! (-> self los-state) (slave-los-state ccw)) + (vector-normalize! arg1 (- (-> *CAM_STRING-bank* los-coll-rad) (-> arg0 next-normal z))) + ) + (else + (set! (-> self los-state) (slave-los-state none)) + (vector-reset! arg1) ) - ) ) - ((and - (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) - (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) - (< 0.01 (the-as float (-> arg0 gap-poly))) - (< (the-as float (-> arg0 poly)) -0.01) - (or - (< (-> arg0 boundary-normal y) 0.01) - (< -0.01 (-> arg0 boundary-normal x)) - ) - ) - (if *display-cam-los-debug* - (format *stdcon* "diagonal ccw~%") - ) - (set! (-> self los-state) (slave-los-state ccw)) - (vector-normalize! - arg1 - (- (-> *CAM_STRING-bank* los-coll-rad) (-> arg0 next-normal z)) - ) - ) - ((and - (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) - (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) - (< 0.01 (-> arg0 boundary-normal y)) - (< (-> arg0 boundary-normal x) -0.01) - (or - (< (the-as float (-> arg0 gap-poly)) 0.01) - (< -0.01 (the-as float (-> arg0 poly))) - ) - ) - (if *display-cam-los-debug* - (format *stdcon* "diagonal cw~%") - ) - (set! (-> self los-state) (slave-los-state cw)) - (vector-normalize! - arg1 - (- (-> arg0 intersection z) (-> *CAM_STRING-bank* los-coll-rad)) - ) - ) - ((and - (dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) - (dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) - ) - (set! (-> self los-state) (slave-los-state between)) - (vector-normalize! arg1 (the-as float 0.0001)) - ) - ((dist-info-valid? (the-as collide-los-dist-info (-> arg0 intersection))) - (if *display-cam-los-debug* - (format *stdcon* "regular cw~%") - ) - (set! (-> self los-state) (slave-los-state cw)) - (vector-normalize! - arg1 - (- (-> arg0 intersection z) (-> *CAM_STRING-bank* los-coll-rad)) - ) - ) - ((dist-info-valid? (the-as collide-los-dist-info (-> arg0 next-normal))) - (if *display-cam-los-debug* - (format *stdcon* "regular ccw~%") - ) - (set! (-> self los-state) (slave-los-state ccw)) - (vector-normalize! - arg1 - (- (-> *CAM_STRING-bank* los-coll-rad) (-> arg0 next-normal z)) - ) - ) - (else - (set! (-> self los-state) (slave-los-state none)) - (vector-reset! arg1) - ) - ) (cond - ((= (vector-length arg1) 0.0) - (set! (-> arg0 vert-next y) (the-as float #f)) - #f - ) - (else - (vector-! (the-as vector (&-> arg0 found-boundary)) arg1 arg2) - (vector-normalize! - (the-as vector (&-> arg0 found-boundary)) - (the-as float 1.0) - ) - (let ((v0-45 #t)) - (set! (-> arg0 vert-next y) (the-as float v0-45)) - v0-45 + ((= (vector-length arg1) 0.0) + (set! (-> arg0 vert-next y) (the-as float #f)) + #f ) + (else + (vector-! (the-as vector (&-> arg0 found-boundary)) arg1 arg2) + (vector-normalize! (the-as vector (&-> arg0 found-boundary)) (the-as float 1.0)) + (let ((v0-45 #t)) + (set! (-> arg0 vert-next y) (the-as float v0-45)) + v0-45 + ) + ) ) - ) ) ;; definition for function cam-los-collide @@ -2457,554 +1934,371 @@ ;; WARN: Unsupported inline assembly instruction kind - [madda.s f3, f6] ;; WARN: Unsupported inline assembly instruction kind - [madd.s f2, f4, f7] ;; Used lq/sq -(defbehavior - cam-los-collide camera-slave - ((arg0 vector) - (arg1 vector) - (arg2 clip-travel-vector-to-mesh-return-info) - (arg3 int) - ) - (local-vars - (s1-3 int) - (s2-2 int) - (f2-1 float) - (sv-224 vector) - (sv-240 vector) - ) +(defbehavior cam-los-collide camera-slave ((arg0 vector) (arg1 vector) (arg2 clip-travel-vector-to-mesh-return-info) (arg3 int)) + (local-vars (s1-3 int) (s2-2 int) (f2-1 float) (sv-224 vector) (sv-240 vector)) (dist-info-init (the-as collide-los-dist-info (-> arg2 intersection))) (dist-info-init (the-as collide-los-dist-info (-> arg2 next-normal))) (dist-info-init (the-as collide-los-dist-info (-> arg2 vert-0))) (let ((s4-0 (new 'stack-no-clear 'vector)) (s2-0 (new 'stack-no-clear 'vector)) ) - (vector-normalize-copy! s2-0 arg1 (the-as float 1.0)) - (vector-flatten! s4-0 arg1 (-> *camera* local-down)) - (let ((s0-0 *collide-cache*) - (f26-0 (vector-length arg1)) - (f30-0 (vector-normalize-ret-len! s4-0 (the-as float 1.0))) - ) - (dummy-14 - s0-0 - arg0 - arg1 - (-> *CAM_STRING-bank* los-coll-rad) - #x4a09 - (the-as process #f) - arg3 - ) - (let ((s1-1 (-> s0-0 tris)) - (f28-0 (/ 2048.0 f26-0)) - (f26-1 (/ (+ -8192.0 f26-0) f26-0)) + (vector-normalize-copy! s2-0 arg1 (the-as float 1.0)) + (vector-flatten! s4-0 arg1 (-> *camera* local-down)) + (let ((s0-0 *collide-cache*) + (f26-0 (vector-length arg1)) + (f30-0 (vector-normalize-ret-len! s4-0 (the-as float 1.0))) ) - (if (< f26-1 0.0) - (set! f26-1 0.0) - ) - (if (< 1.0 f28-0) - (set! f28-0 1.0) - ) - (countdown (s0-1 (-> s0-0 num-tris)) - (set! sv-240 (new 'stack-no-clear 'vector)) - (set! sv-224 (new 'stack-no-clear 'vector)) - (let - ((f0-7 - (moving-sphere-triangle-intersect - arg0 - arg1 - (-> *CAM_STRING-bank* los-coll-rad) - (-> s1-1 0) - sv-240 - sv-224 - ) - ) - ) - (cond - ((or (< f0-7 0.0) (< 1.0 f0-7)) - ) - ((let ((f1-2 0.0)) - (let* ((v1-21 arg1) - (f2-0 (-> v1-21 x)) - (f3-0 (-> v1-21 y)) - (f4-0 (-> v1-21 z)) - (f5-0 (-> sv-224 x)) - (f6-0 (-> sv-224 y)) - (f7-0 (-> sv-224 z)) - ) - (.mula.s f2-0 f5-0) - (.madda.s f3-0 f6-0) - (.madd.s f2-1 f4-0 f7-0) - ) - (< f1-2 f2-1) - ) - (when (< f28-0 f0-7) - (let* ((t1-2 (new 'stack-no-clear 'vector)) - (t0-2 (new 'stack-no-clear 'vector)) - (f24-0 - (moving-sphere-triangle-intersect - arg0 - arg1 - (-> *CAM_STRING-bank* los-coll-rad2) - (-> s1-1 0) - t0-2 - t1-2 - ) + (dummy-14 s0-0 arg0 arg1 (-> *CAM_STRING-bank* los-coll-rad) #x4a09 (the-as process #f) arg3) + (let ((s1-1 (-> s0-0 tris)) + (f28-0 (/ 2048.0 f26-0)) + (f26-1 (/ (+ -8192.0 f26-0) f26-0)) + ) + (if (< f26-1 0.0) + (set! f26-1 0.0) + ) + (if (< 1.0 f28-0) + (set! f28-0 1.0) + ) + (countdown (s0-1 (-> s0-0 num-tris)) + (set! sv-240 (new 'stack-no-clear 'vector)) + (set! sv-224 (new 'stack-no-clear 'vector)) + (let ((f0-7 + (moving-sphere-triangle-intersect arg0 arg1 (-> *CAM_STRING-bank* los-coll-rad) (-> s1-1 0) sv-240 sv-224) ) - ) - (los-cw-ccw s1-1 s2-0 s4-0 f30-0 arg2 sv-240 f24-0) - (when *debug-segment* + ) (cond - ((= f24-0 -100000000.0) - (let ((t9-11 cam-debug-add-los-tri) - (a0-13 s1-1) - (a2-7 - (new 'static 'vector - :x (the-as float #x80) - :w (the-as float #x80) - ) - ) - ) - (t9-11 a0-13 sv-240 a2-7) + ((or (< f0-7 0.0) (< 1.0 f0-7)) ) - ) - (else - (cam-debug-add-los-tri - s1-1 - sv-240 - (new 'static 'vector - :x (the-as float #x80) - :y (the-as float #x80) - :w (the-as float #x80) - ) - ) - ) - ) - ) - ) - ) - ) - ((< f0-7 f26-1) - (let* ((t1-4 (new 'stack-no-clear 'vector)) - (t0-4 (new 'stack-no-clear 'vector)) - (f24-1 - (moving-sphere-triangle-intersect - arg0 - arg1 - (-> *CAM_STRING-bank* los-coll-rad2) - (-> s1-1 0) - t0-4 - t1-4 - ) + ((let ((f1-2 0.0)) + (let* ((v1-21 arg1) + (f2-0 (-> v1-21 x)) + (f3-0 (-> v1-21 y)) + (f4-0 (-> v1-21 z)) + (f5-0 (-> sv-224 x)) + (f6-0 (-> sv-224 y)) + (f7-0 (-> sv-224 z)) + ) + (.mula.s f2-0 f5-0) + (.madda.s f3-0 f6-0) + (.madd.s f2-1 f4-0 f7-0) + ) + (< f1-2 f2-1) ) - ) - (los-cw-ccw s1-1 s2-0 s4-0 f30-0 arg2 sv-240 f24-1) - (when *debug-segment* - (if (= f24-1 -100000000.0) - (cam-debug-add-los-tri - s1-1 - sv-240 - (new 'static 'vector :y (the-as float #x80) :w (the-as float #x80)) - ) - (cam-debug-add-los-tri - s1-1 - sv-240 - (new 'static 'vector :z (the-as float #x80) :w (the-as float #x80)) - ) - ) - ) - ) - ) - ) - ) - (set! s1-1 (the-as (inline-array collide-cache-tri) (-> s1-1 1))) - ) - ) - ) - ) - (let ((s4-1 (new 'stack-no-clear 'vector))) - 0.0 - (vector-cross! s4-1 arg1 (-> *camera* local-down)) - (cond - ((!= - (-> self los-tgt-spline-pt-incarnation) - (-> *camera* target-spline point (-> self los-tgt-spline-pt) incarnation) - ) - (when *display-cam-los-debug* - (format *stdcon* "emergency point jump~%") - (format 0 "emergency point jump~%") - ) - (set! (-> self los-tgt-spline-pt) (-> *camera* target-spline used-point)) - (set! - (-> self los-tgt-spline-pt-incarnation) - (-> *camera* target-spline point (-> self los-tgt-spline-pt) incarnation) - ) - (logior! (-> self options) 4096) - (set! - (-> self good-point quad) - (-> - *camera* - target-spline - point - (-> *camera* target-spline used-point) - position - quad - ) - ) - (set! (-> self los-last-pos quad) (-> self good-point quad)) - (when *debug-segment* - (let ((a1-22 (new 'stack-no-clear 'vector))) - (vector-! a1-22 (-> self good-point) (-> self string-trans)) - (cam-collision-record-save (-> self string-trans) a1-22 -3 'jump self) - ) - ) - (set! (-> self desired-pos quad) (-> self good-point quad)) - (set! (-> self string-trans quad) (-> self good-point quad)) - (vector-! - (-> self view-flat) - (-> self string-trans) - (-> *camera* tpos-curr-adj) - ) - (vector-flatten! - (-> self view-flat) - (-> self view-flat) - (-> *camera* local-down) - ) - (vector-reset! (-> self velocity)) - (let ((f0-11 (vector-length (-> self view-flat)))) - (if (< f0-11 (-> self min-z-override)) - (set! (-> self min-z-override) f0-11) - ) - ) - ) - (else - (let - ((f30-1 - (cam-los-spline-collide - (the-as - vector - (+ - (the-as uint (-> *camera* target-spline)) - (* 48 (-> *camera* target-spline end-point)) - ) - ) - arg0 - (the-as vector 4098) - ) - ) - ) - (cond - ((< f30-1 0.0) - (if *display-cam-los-debug* - (format *stdcon* "good ~f~%" f30-1) - ) - (set! (-> self los-tgt-spline-pt) (-> *camera* target-spline end-point)) - (set! - (-> self los-tgt-spline-pt-incarnation) - (-> - *camera* - target-spline - point - (-> self los-tgt-spline-pt) - incarnation - ) - ) - (set! (-> self los-last-pos quad) (-> arg0 quad)) - ) - ((begin - (if *display-cam-los-debug* - (format - *stdcon* - "looking vel ~M u ~f pt ~D" - (vector-length (-> self velocity)) - f30-1 - (-> self los-tgt-spline-pt) - ) - ) - (set! s2-2 (-> self los-tgt-spline-pt)) - (set! s1-3 -134250495) - (while (and (!= s2-2 -134250495) (begin - (set! - f30-1 - (cam-los-spline-collide - (the-as - vector - (+ - (the-as - uint - (-> *camera* target-spline) - ) - (* 48 s2-2) - ) - ) - arg0 - (the-as vector 4098) - ) - ) - (< f30-1 0.0) - ) - ) - (set! s1-3 s2-2) - (set! s2-2 (-> *camera* target-spline point s2-2 next)) - ) - (and - (= s2-2 (-> *camera* target-spline used-point)) - (!= (-> *camera* target-spline point s2-2 next) -134250495) - ) - ) - (when *display-cam-los-debug* - (format 0 "looking at used point~%") - (format *stdcon* " at used point~%") - ) - (set! - (-> self los-tgt-spline-pt) - (-> *camera* target-spline point s2-2 next) - ) - (set! - (-> self los-tgt-spline-pt-incarnation) - (-> - *camera* - target-spline - point - (-> self los-tgt-spline-pt) - incarnation - ) - ) - (logior! (-> self options) 4096) - (set! - (-> self good-point quad) - (-> *camera* target-spline point s2-2 position quad) - ) - (set! (-> self los-last-pos quad) (-> self good-point quad)) - (when *debug-segment* - (let ((a1-38 (new 'stack-no-clear 'vector))) - (vector-! a1-38 (-> self good-point) (-> self string-trans)) - (cam-collision-record-save (-> self string-trans) a1-38 -3 'jump self) - ) - ) - (set! (-> self desired-pos quad) (-> self good-point quad)) - (set! (-> self string-trans quad) (-> self good-point quad)) - (vector-! - (-> self view-flat) - (-> self string-trans) - (-> *camera* tpos-curr-adj) - ) - (vector-flatten! - (-> self view-flat) - (-> self view-flat) - (-> *camera* local-down) - ) - (vector-reset! (-> self velocity)) - (let ((f0-14 (vector-length (-> self view-flat)))) - (if (< f0-14 (-> self min-z-override)) - (set! (-> self min-z-override) f0-14) - ) - ) - ) - ((!= s1-3 -134250495) - (if *display-cam-los-debug* - (format *stdcon* " ok~%") - ) - (set! (-> self los-tgt-spline-pt) s1-3) - (set! - (-> self los-tgt-spline-pt-incarnation) - (-> - *camera* - target-spline - point - (-> self los-tgt-spline-pt) - incarnation - ) - ) - (set! (-> self los-last-pos quad) (-> arg0 quad)) - ) - (else - (if *display-cam-los-debug* - (format - *stdcon* - "~%failed u ~f cur ~D seen ~D tgt-pt ~D~%" - f30-1 - s2-2 - s1-3 - (-> self los-tgt-spline-pt) - ) - ) - (let ((s3-1 (new 'stack-no-clear 'vector))) - 0.0 - (vector-! - s3-1 - (-> self los-last-pos) - (the-as - vector - (+ - (the-as uint (-> *camera* target-spline)) - (* 48 (-> self los-tgt-spline-pt)) - ) - ) - ) - (let ((f28-1 (vector-length s3-1))) - (if (= f28-1 0.0) - (set! f28-1 0.4096) - ) - (let ((f30-2 (cond - ((and - (= (-> self string-vel-dir) 6) - (< - (-> *CAMERA-bank* min-detectable-velocity) - (vector-length (-> self velocity)) - ) + (when (< f28-0 f0-7) + (let* ((t1-2 (new 'stack-no-clear 'vector)) + (t0-2 (new 'stack-no-clear 'vector)) + (f24-0 + (moving-sphere-triangle-intersect arg0 arg1 (-> *CAM_STRING-bank* los-coll-rad2) (-> s1-1 0) t0-2 t1-2) ) - (fmin 1.0 (+ 0.001 f30-1)) + ) + (los-cw-ccw s1-1 s2-0 s4-0 f30-0 arg2 sv-240 f24-0) + (when *debug-segment* + (cond + ((= f24-0 -100000000.0) + (let ((t9-11 cam-debug-add-los-tri) + (a0-13 s1-1) + (a2-7 (new 'static 'vector :x (the-as float #x80) :w (the-as float #x80))) + ) + (t9-11 a0-13 sv-240 a2-7) + ) + ) + (else + (cam-debug-add-los-tri + s1-1 + sv-240 + (new 'static 'vector :x (the-as float #x80) :y (the-as float #x80) :w (the-as float #x80)) + ) ) - ((= (-> self string-vel-dir) 6) - (fmin 0.9999 f30-1) + ) + ) + ) + ) + ) + ((< f0-7 f26-1) + (let* ((t1-4 (new 'stack-no-clear 'vector)) + (t0-4 (new 'stack-no-clear 'vector)) + (f24-1 + (moving-sphere-triangle-intersect arg0 arg1 (-> *CAM_STRING-bank* los-coll-rad2) (-> s1-1 0) t0-4 t1-4) + ) + ) + (los-cw-ccw s1-1 s2-0 s4-0 f30-0 arg2 sv-240 f24-1) + (when *debug-segment* + (if (= f24-1 -100000000.0) + (cam-debug-add-los-tri s1-1 sv-240 (new 'static 'vector :y (the-as float #x80) :w (the-as float #x80))) + (cam-debug-add-los-tri s1-1 sv-240 (new 'static 'vector :z (the-as float #x80) :w (the-as float #x80))) + ) + ) + ) + ) + ) + ) + (set! s1-1 (the-as (inline-array collide-cache-tri) (-> s1-1 1))) + ) + ) + ) + ) + (let ((s4-1 (new 'stack-no-clear 'vector))) + 0.0 + (vector-cross! s4-1 arg1 (-> *camera* local-down)) + (cond + ((!= (-> self los-tgt-spline-pt-incarnation) + (-> *camera* target-spline point (-> self los-tgt-spline-pt) incarnation) + ) + (when *display-cam-los-debug* + (format *stdcon* "emergency point jump~%") + (format 0 "emergency point jump~%") + ) + (set! (-> self los-tgt-spline-pt) (-> *camera* target-spline used-point)) + (set! (-> self los-tgt-spline-pt-incarnation) + (-> *camera* target-spline point (-> self los-tgt-spline-pt) incarnation) + ) + (logior! (-> self options) 4096) + (set! (-> self good-point quad) + (-> *camera* target-spline point (-> *camera* target-spline used-point) position quad) + ) + (set! (-> self los-last-pos quad) (-> self good-point quad)) + (when *debug-segment* + (let ((a1-22 (new 'stack-no-clear 'vector))) + (vector-! a1-22 (-> self good-point) (-> self string-trans)) + (cam-collision-record-save (-> self string-trans) a1-22 -3 'jump self) + ) + ) + (set! (-> self desired-pos quad) (-> self good-point quad)) + (set! (-> self string-trans quad) (-> self good-point quad)) + (vector-! (-> self view-flat) (-> self string-trans) (-> *camera* tpos-curr-adj)) + (vector-flatten! (-> self view-flat) (-> self view-flat) (-> *camera* local-down)) + (vector-reset! (-> self velocity)) + (let ((f0-11 (vector-length (-> self view-flat)))) + (if (< f0-11 (-> self min-z-override)) + (set! (-> self min-z-override) f0-11) + ) + ) + ) + (else + (let ((f30-1 + (cam-los-spline-collide + (the-as vector (+ (the-as uint (-> *camera* target-spline)) (* 48 (-> *camera* target-spline end-point)))) + arg0 + (the-as vector 4098) + ) + ) + ) + (cond + ((< f30-1 0.0) + (if *display-cam-los-debug* + (format *stdcon* "good ~f~%" f30-1) + ) + (set! (-> self los-tgt-spline-pt) (-> *camera* target-spline end-point)) + (set! (-> self los-tgt-spline-pt-incarnation) + (-> *camera* target-spline point (-> self los-tgt-spline-pt) incarnation) + ) + (set! (-> self los-last-pos quad) (-> arg0 quad)) + ) + ((begin + (if *display-cam-los-debug* + (format + *stdcon* + "looking vel ~M u ~f pt ~D" + (vector-length (-> self velocity)) + f30-1 + (-> self los-tgt-spline-pt) + ) + ) + (set! s2-2 (-> self los-tgt-spline-pt)) + (set! s1-3 -134250495) + (while (and + (!= s2-2 -134250495) + (begin + (set! f30-1 + (cam-los-spline-collide + (the-as vector (+ (the-as uint (-> *camera* target-spline)) (* 48 s2-2))) + arg0 + (the-as vector 4098) + ) + ) + (< f30-1 0.0) + ) + ) + (set! s1-3 s2-2) + (set! s2-2 (-> *camera* target-spline point s2-2 next)) + ) + (and + (= s2-2 (-> *camera* target-spline used-point)) + (!= (-> *camera* target-spline point s2-2 next) -134250495) + ) + ) + (when *display-cam-los-debug* + (format 0 "looking at used point~%") + (format *stdcon* " at used point~%") + ) + (set! (-> self los-tgt-spline-pt) (-> *camera* target-spline point s2-2 next)) + (set! (-> self los-tgt-spline-pt-incarnation) + (-> *camera* target-spline point (-> self los-tgt-spline-pt) incarnation) + ) + (logior! (-> self options) 4096) + (set! (-> self good-point quad) (-> *camera* target-spline point s2-2 position quad)) + (set! (-> self los-last-pos quad) (-> self good-point quad)) + (when *debug-segment* + (let ((a1-38 (new 'stack-no-clear 'vector))) + (vector-! a1-38 (-> self good-point) (-> self string-trans)) + (cam-collision-record-save (-> self string-trans) a1-38 -3 'jump self) + ) + ) + (set! (-> self desired-pos quad) (-> self good-point quad)) + (set! (-> self string-trans quad) (-> self good-point quad)) + (vector-! (-> self view-flat) (-> self string-trans) (-> *camera* tpos-curr-adj)) + (vector-flatten! (-> self view-flat) (-> self view-flat) (-> *camera* local-down)) + (vector-reset! (-> self velocity)) + (let ((f0-14 (vector-length (-> self view-flat)))) + (if (< f0-14 (-> self min-z-override)) + (set! (-> self min-z-override) f0-14) + ) + ) + ) + ((!= s1-3 -134250495) + (if *display-cam-los-debug* + (format *stdcon* " ok~%") + ) + (set! (-> self los-tgt-spline-pt) s1-3) + (set! (-> self los-tgt-spline-pt-incarnation) + (-> *camera* target-spline point (-> self los-tgt-spline-pt) incarnation) + ) + (set! (-> self los-last-pos quad) (-> arg0 quad)) + ) + (else + (if *display-cam-los-debug* + (format *stdcon* "~%failed u ~f cur ~D seen ~D tgt-pt ~D~%" f30-1 s2-2 s1-3 (-> self los-tgt-spline-pt)) + ) + (let ((s3-1 (new 'stack-no-clear 'vector))) + 0.0 + (vector-! + s3-1 + (-> self los-last-pos) + (the-as vector (+ (the-as uint (-> *camera* target-spline)) (* 48 (-> self los-tgt-spline-pt)))) + ) + (let ((f28-1 (vector-length s3-1))) + (if (= f28-1 0.0) + (set! f28-1 0.4096) + ) + (let ((f30-2 (cond + ((and + (= (-> self string-vel-dir) 6) + (< (-> *CAMERA-bank* min-detectable-velocity) (vector-length (-> self velocity))) + ) + (fmin 1.0 (+ 0.001 f30-1)) + ) + ((= (-> self string-vel-dir) 6) + (fmin 0.9999 f30-1) + ) + (else + (fmax 0.001 (+ -0.001 f30-1)) + ) + ) + ) + ) + (let ((s2-3 (new 'stack-no-clear 'vector))) + (vector-! + s2-3 + (-> *camera* tpos-curr-adj) + (the-as vector (+ (the-as uint (-> *camera* target-spline)) (* 48 (-> self los-tgt-spline-pt)))) + ) + (vector-flatten! s2-3 s2-3 (-> *camera* local-down)) + (cond + ((and + (< (fabs (- (-> self desired-pos y) (-> self trans y))) 8192.0) + (< f28-1 (+ 1024.0 (-> self string-min-val z))) + (< (vector-length s2-3) 8192.0) + ) + (set! f30-2 0.0) ) - (else - (fmax 0.001 (+ -0.001 f30-1)) + ((< f28-1 (+ 1024.0 (-> self string-min-val z))) + ) + ((< (* f28-1 f30-2) (-> self string-min-val z)) + (set! f30-2 (/ (-> self string-min-val z) f28-1)) ) ) - ) + ) + (when (< 0.0 f30-2) + (vector-! s3-1 (-> *camera* tpos-curr) (-> *camera* tpos-old)) + (vector-! + (-> self good-point) + (-> self los-last-pos) + (the-as vector (+ (the-as uint (-> *camera* target-spline)) (* 48 (-> self los-tgt-spline-pt)))) + ) + (vector-float*! (-> self good-point) (-> self good-point) f30-2) + (vector+! + (-> self good-point) + (-> self good-point) + (the-as vector (+ (the-as uint (-> *camera* target-spline)) (* 48 (-> self los-tgt-spline-pt)))) + ) + (set! (-> self los-last-pos quad) (-> self good-point quad)) + (when *display-cam-los-debug* + (format 0 "going because u(~f) > 0 frame ~D~%" f30-2 (-> *display* base-frame-counter)) + (format *stdcon* " going because u(~f) > 0 frame ~D~%" f30-2 (-> *display* base-frame-counter)) + ) + (logior! (-> self options) 4096) + ) + ) + ) ) - (let ((s2-3 (new 'stack-no-clear 'vector))) - (vector-! - s2-3 - (-> *camera* tpos-curr-adj) - (the-as - vector - (+ - (the-as uint (-> *camera* target-spline)) - (* 48 (-> self los-tgt-spline-pt)) - ) ) - ) - (vector-flatten! s2-3 s2-3 (-> *camera* local-down)) - (cond - ((and - (< (fabs (- (-> self desired-pos y) (-> self trans y))) 8192.0) - (< f28-1 (+ 1024.0 (-> self string-min-val z))) - (< (vector-length s2-3) 8192.0) - ) - (set! f30-2 0.0) - ) - ((< f28-1 (+ 1024.0 (-> self string-min-val z))) - ) - ((< (* f28-1 f30-2) (-> self string-min-val z)) - (set! f30-2 (/ (-> self string-min-val z) f28-1)) - ) - ) ) - (when (< 0.0 f30-2) - (vector-! s3-1 (-> *camera* tpos-curr) (-> *camera* tpos-old)) - (vector-! - (-> self good-point) - (-> self los-last-pos) - (the-as - vector - (+ - (the-as uint (-> *camera* target-spline)) - (* 48 (-> self los-tgt-spline-pt)) - ) - ) - ) - (vector-float*! (-> self good-point) (-> self good-point) f30-2) - (vector+! - (-> self good-point) - (-> self good-point) - (the-as - vector - (+ - (the-as uint (-> *camera* target-spline)) - (* 48 (-> self los-tgt-spline-pt)) - ) - ) - ) - (set! (-> self los-last-pos quad) (-> self good-point quad)) - (when *display-cam-los-debug* - (format - 0 - "going because u(~f) > 0 frame ~D~%" - f30-2 - (-> *display* base-frame-counter) - ) - (format - *stdcon* - " going because u(~f) > 0 frame ~D~%" - f30-2 - (-> *display* base-frame-counter) - ) - ) - (logior! (-> self options) 4096) - ) - ) ) - ) ) - ) ) - ) + (if *display-cam-los-debug* + (format + *stdcon* + "los-last ~M ~M ~M~%" + (-> self los-last-pos x) + (-> self los-last-pos y) + (-> self los-last-pos z) + ) + ) + (cam-los-setup-lateral arg2 s4-1 arg1) ) - (if *display-cam-los-debug* - (format - *stdcon* - "los-last ~M ~M ~M~%" - (-> self los-last-pos x) - (-> self los-last-pos y) - (-> self los-last-pos z) - ) - ) - (cam-los-setup-lateral arg2 s4-1 arg1) - ) (cond - ((zero? (logand (-> self options) 1024)) - ) - ((= (-> self string-vel-dir) 5) - ) - ((and - (= (-> self string-vel-dir) 2) - (= (-> self los-state) (slave-los-state cw)) - ) - ) - ((and - (= (-> self string-vel-dir) 1) - (= (-> self los-state) (slave-los-state ccw)) - ) - ) - ) - (when *display-cam-los-debug* - (format *stdcon* "state ~S" (slave-los-state->string (-> self los-state))) - (cond - ((zero? (-> self string-vel-dir)) - (format *stdcon* " vzero") - ) - ((= (-> self string-vel-dir) 2) - (format *stdcon* " vcw") - ) - ((= (-> self string-vel-dir) 1) - (format *stdcon* " vccw") - ) - ((= (-> self string-vel-dir) 3) - (format *stdcon* " up") - ) - ((= (-> self string-vel-dir) 4) - (format *stdcon* " down") - ) - ((= (-> self string-vel-dir) 6) - (format *stdcon* " long") + ((zero? (logand (-> self options) 1024)) ) ((= (-> self string-vel-dir) 5) - (format *stdcon* " short") + ) + ((and (= (-> self string-vel-dir) 2) (= (-> self los-state) (slave-los-state cw))) + ) + ((and (= (-> self string-vel-dir) 1) (= (-> self los-state) (slave-los-state ccw))) ) ) - (format *stdcon* "~%") - ) + (when *display-cam-los-debug* + (format *stdcon* "state ~S" (slave-los-state->string (-> self los-state))) + (cond + ((zero? (-> self string-vel-dir)) + (format *stdcon* " vzero") + ) + ((= (-> self string-vel-dir) 2) + (format *stdcon* " vcw") + ) + ((= (-> self string-vel-dir) 1) + (format *stdcon* " vccw") + ) + ((= (-> self string-vel-dir) 3) + (format *stdcon* " up") + ) + ((= (-> self string-vel-dir) 4) + (format *stdcon* " down") + ) + ((= (-> self string-vel-dir) 6) + (format *stdcon* " long") + ) + ((= (-> self string-vel-dir) 5) + (format *stdcon* " short") + ) + ) + (format *stdcon* "~%") + ) (when *display-cam-los-info* - (dist-info-print - (the-as collide-los-dist-info (-> arg2 intersection)) - "cw " + (dist-info-print (the-as collide-los-dist-info (-> arg2 intersection)) "cw ") + (dist-info-print (the-as collide-los-dist-info (-> arg2 next-normal)) "ccw ") + (dist-info-print (the-as collide-los-dist-info (-> arg2 vert-0)) "strdl") ) - (dist-info-print - (the-as collide-los-dist-info (-> arg2 next-normal)) - "ccw " - ) - (dist-info-print (the-as collide-los-dist-info (-> arg2 vert-0)) "strdl") - ) (the-as symbol 0) ) @@ -3012,91 +2306,76 @@ ;; Used lq/sq (defbehavior cam-string-follow camera-slave () (let ((f30-0 (vector-length (-> self view-flat)))) - (cond - ((logtest? #x10000 (-> self options)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-cross! s5-0 (-> self view-flat) (-> *camera* local-down)) - (vector-normalize! s5-0 (the-as float 1.0)) - (vector-! gp-0 (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj)) - (vector-flatten! gp-0 gp-0 s5-0) - ) - (if (< (vector-dot gp-0 (-> self view-flat)) 0.0) - (vector-! (-> self view-flat) (-> self view-flat) gp-0) - ) - ) - ) - (else - (let ((v1-9 (new 'stack-no-clear 'vector))) - (vector-! v1-9 (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj)) - (vector-! (-> self view-flat) (-> self view-flat) v1-9) - ) - ) - ) - (vector-flatten! - (-> self view-flat) - (-> self view-flat) - (-> *camera* local-down) - ) - (let* ((f28-0 (vector-length (-> self view-flat))) - (f0-3 (fmin (-> *camera* string-push-z) (-> self view-off z))) - (f26-0 (-> self view-off z)) - (f0-4 (fmin f0-3 (-> self min-z-override))) - ) (cond - ((logtest? (-> self options) #x4000) - (let ((a0-17 (new-stack-vector0))) - 0.0 - (vector-! a0-17 (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj)) - (let ((f0-6 (vector-length a0-17))) - (set! - f0-4 - (lerp-clamp - (the-as float 28672.0) - (the-as float 32768.0) - (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f0-6))) - ) + ((logtest? #x10000 (-> self options)) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (vector-cross! s5-0 (-> self view-flat) (-> *camera* local-down)) + (vector-normalize! s5-0 (the-as float 1.0)) + (vector-! gp-0 (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj)) + (vector-flatten! gp-0 gp-0 s5-0) + ) + (if (< (vector-dot gp-0 (-> self view-flat)) 0.0) + (vector-! (-> self view-flat) (-> self view-flat) gp-0) + ) ) + ) + (else + (let ((v1-9 (new 'stack-no-clear 'vector))) + (vector-! v1-9 (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj)) + (vector-! (-> self view-flat) (-> self view-flat) v1-9) + ) ) - ) - (set! f26-0 f0-4) - (+! - (-> self fov) - (fmax -91.022224 (fmin 91.022224 (* 0.1 (- 17294.223 (-> self fov))))) - ) ) - (else - (+! - (-> self fov) - (fmax -182.04445 (fmin 182.04445 (* 0.1 (- 11650.845 (-> self fov))))) - ) - ) - ) - (cond - ((< f28-0 f0-4) - (vector-normalize! (-> self view-flat) f0-4) - ) - ((and - (< f30-0 f28-0) - (or - (= (-> self los-state) (slave-los-state ccw)) - (= (-> self los-state) (slave-los-state cw)) + (vector-flatten! (-> self view-flat) (-> self view-flat) (-> *camera* local-down)) + (let* ((f28-0 (vector-length (-> self view-flat))) + (f0-3 (fmin (-> *camera* string-push-z) (-> self view-off z))) + (f26-0 (-> self view-off z)) + (f0-4 (fmin f0-3 (-> self min-z-override))) + ) + (cond + ((logtest? (-> self options) #x4000) + (let ((a0-17 (new-stack-vector0))) + 0.0 + (vector-! a0-17 (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj)) + (let ((f0-6 (vector-length a0-17))) + (set! f0-4 (lerp-clamp + (the-as float 28672.0) + (the-as float 32768.0) + (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f0-6))) + ) + ) + ) + ) + (set! f26-0 f0-4) + (+! (-> self fov) (fmax -91.022224 (fmin 91.022224 (* 0.1 (- 17294.223 (-> self fov)))))) + ) + (else + (+! (-> self fov) (fmax -182.04445 (fmin 182.04445 (* 0.1 (- 11650.845 (-> self fov)))))) + ) + ) + (cond + ((< f28-0 f0-4) + (vector-normalize! (-> self view-flat) f0-4) + ) + ((and + (< f30-0 f28-0) + (or (= (-> self los-state) (slave-los-state ccw)) (= (-> self los-state) (slave-los-state cw))) + ) + (vector-normalize! (-> self view-flat) f30-0) + ) + ((< f26-0 f28-0) + (vector-normalize! (-> self view-flat) f26-0) + (set! (-> self min-z-override) f26-0) + f26-0 + ) + (else + (set! (-> self min-z-override) f28-0) + f28-0 + ) ) - ) - (vector-normalize! (-> self view-flat) f30-0) ) - ((< f26-0 f28-0) - (vector-normalize! (-> self view-flat) f26-0) - (set! (-> self min-z-override) f26-0) - f26-0 - ) - (else - (set! (-> self min-z-override) f28-0) - f28-0 - ) - ) ) - ) ) ;; definition for function cam-string-line-of-sight @@ -3104,344 +2383,226 @@ (let ((gp-0 (new 'stack-no-clear 'clip-travel-vector-to-mesh-return-info)) (s5-0 (new 'stack-no-clear 'vector)) ) - (new 'stack-no-clear 'vector) - (let ((f30-0 (vector-length (-> self view-flat)))) - (vector--float*! - s5-0 - (-> *camera* tpos-curr) - (-> *camera* local-down) - (-> *camera* target-height) - ) - (vector-! s5-0 s5-0 (-> self string-trans)) - (cam-los-collide (-> self string-trans) s5-0 gp-0 4098) - (when (-> gp-0 vert-next y) - (when - (or - (= (-> self los-state) (slave-los-state ccw)) - (= (-> self los-state) (slave-los-state cw)) - ) - (let ((a0-6 (new 'stack-no-clear 'vector))) - (vector-! a0-6 (-> *camera* tpos-curr) (-> *camera* tpos-old)) - (if - (and - (< (-> self string-min-val z) f30-0) - (< (-> *CAMERA-bank* min-detectable-velocity) (vector-length a0-6)) - ) - (set! f30-0 (+ -204.8 f30-0)) - ) - ) - ) - (if (< f30-0 (fmin (-> self string-min-val z) (-> self min-z-override))) - (set! f30-0 (fmin (-> self string-min-val z) (-> self min-z-override))) - ) - (if (< f30-0 (-> self min-z-override)) - (set! (-> self min-z-override) f30-0) - ) - (let ((s4-0 (new 'stack-no-clear 'vector)) - (s5-1 (new 'stack-no-clear 'vector)) - (s3-0 (new 'stack-no-clear 'vector)) - ) - 0.0 - (vector-flatten! - s4-0 - (the-as vector (&-> gp-0 found-boundary)) - (-> *camera* local-down) - ) - (vector-normalize! s4-0 (the-as float 1.0)) - (vector-normalize-copy! s5-1 (-> self view-flat) (the-as float 1.0)) - (let - ((f0-12 - (lerp-clamp - (the-as float 418.7022) - (the-as float 364.0889) - (/ - (- f30-0 (-> self string-min-val z)) - (- (-> self string-max-val z) (-> self string-min-val z)) - ) + (new 'stack-no-clear 'vector) + (let ((f30-0 (vector-length (-> self view-flat)))) + (vector--float*! s5-0 (-> *camera* tpos-curr) (-> *camera* local-down) (-> *camera* target-height)) + (vector-! s5-0 s5-0 (-> self string-trans)) + (cam-los-collide (-> self string-trans) s5-0 gp-0 4098) + (when (-> gp-0 vert-next y) + (when (or (= (-> self los-state) (slave-los-state ccw)) (= (-> self los-state) (slave-los-state cw))) + (let ((a0-6 (new 'stack-no-clear 'vector))) + (vector-! a0-6 (-> *camera* tpos-curr) (-> *camera* tpos-old)) + (if (and (< (-> self string-min-val z) f30-0) (< (-> *CAMERA-bank* min-detectable-velocity) (vector-length a0-6))) + (set! f30-0 (+ -204.8 f30-0)) + ) + ) ) - ) + (if (< f30-0 (fmin (-> self string-min-val z) (-> self min-z-override))) + (set! f30-0 (fmin (-> self string-min-val z) (-> self min-z-override))) + ) + (if (< f30-0 (-> self min-z-override)) + (set! (-> self min-z-override) f30-0) + ) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s5-1 (new 'stack-no-clear 'vector)) + (s3-0 (new 'stack-no-clear 'vector)) + ) + 0.0 + (vector-flatten! s4-0 (the-as vector (&-> gp-0 found-boundary)) (-> *camera* local-down)) + (vector-normalize! s4-0 (the-as float 1.0)) + (vector-normalize-copy! s5-1 (-> self view-flat) (the-as float 1.0)) + (let ((f0-12 (lerp-clamp + (the-as float 418.7022) + (the-as float 364.0889) + (/ (- f30-0 (-> self string-min-val z)) (- (-> self string-max-val z) (-> self string-min-val z))) + ) + ) + ) + (matrix-from-two-vectors-max-angle-partial! (the-as matrix s3-0) s5-1 s4-0 f0-12 (the-as float 0.5)) + ) + (vector-matrix*! (-> self view-flat) (-> self view-flat) (the-as matrix s3-0)) + ) + (vector-normalize! (-> self view-flat) f30-0) ) - (matrix-from-two-vectors-max-angle-partial! - (the-as matrix s3-0) - s5-1 - s4-0 - f0-12 - (the-as float 0.5) - ) - ) - (vector-matrix*! - (-> self view-flat) - (-> self view-flat) - (the-as matrix s3-0) - ) ) - (vector-normalize! (-> self view-flat) f30-0) - ) ) - ) ) ;; definition for function cam-dist-analog-input (defun cam-dist-analog-input ((arg0 int) (arg1 float)) (let ((f0-0 0.0)) - (cond - ((< arg0 28) - (set! f0-0 (- (fmin arg1 (* 0.083333336 (- 28.0 (the float arg0)) arg1)))) - ) - ((< 160 arg0) - (set! f0-0 (fmin arg1 (* 0.0125 (+ -160.0 (the float arg0)) arg1))) - ) + (cond + ((< arg0 28) + (set! f0-0 (- (fmin arg1 (* 0.083333336 (- 28.0 (the float arg0)) arg1)))) + ) + ((< 160 arg0) + (set! f0-0 (fmin arg1 (* 0.0125 (+ -160.0 (the float arg0)) arg1))) + ) + ) + f0-0 ) - f0-0 - ) ) ;; definition for function cam-string-joystick ;; Used lq/sq (defbehavior cam-string-joystick camera-slave () (set! (-> self options) (logand -257 (-> self options))) - (let - ((f28-0 - (cam-dist-analog-input - (the-as int (-> *cpad-list* cpads 0 righty)) - (the-as float 0.05) - ) - ) - (f0-2 - (/ - (- (vector-length (-> self view-flat)) (-> self string-min-val z)) - (- (-> self string-max-val z) (-> self string-min-val z)) - ) - ) - (f30-0 (-> self view-off-param)) - ) - (if (-> self have-phony-joystick) - (set! f28-0 (* 0.05 (-> self phony-joystick-y))) - ) - (if - (and - (-> *camera* being-attacked) - (< - (- - (-> *display* base-frame-counter) - (the-as int (-> *camera* attack-start)) - ) - 75 - ) - ) - (set! f28-0 0.05) - ) - (if (!= f28-0 0.0) - (logior! (-> self options) 256) - ) - (let ((f26-0 (fmin 1.0 f0-2))) - (let ((f0-3 f26-0)) - (when (< f26-0 0.0) - (let - ((f0-6 - (/ - (- (-> self string-min-val z) (vector-length (-> self view-flat))) - (* 0.5 (-> self string-min-val z)) - ) - ) + (let ((f28-0 (cam-dist-analog-input (the-as int (-> *cpad-list* cpads 0 righty)) (the-as float 0.05))) + (f0-2 (/ (- (vector-length (-> self view-flat)) (-> self string-min-val z)) + (- (-> self string-max-val z) (-> self string-min-val z)) + ) + ) + (f30-0 (-> self view-off-param)) ) - (set! f0-3 (fmin 0.75 f0-6)) - ) - ) - (let ((f1-10 (-> self string-min-val y)) - (f2-3 (-> self string-max-val y)) - ) - (set! (-> self view-off y) (lerp f1-10 f2-3 f0-3)) - ) - ) - (when (< f26-0 0.0) - (let ((v1-28 (new 'stack-no-clear 'vector))) - (vector-! v1-28 (-> self string-trans) (-> *camera* tpos-curr-adj)) - (let - ((f0-12 - (- - (- (vector-dot v1-28 (-> *camera* local-down))) - (-> *camera* target-height) - ) - ) - ) - (set! - (-> self view-off y) - (fmin (-> *camera* stringCliffHeight) (fmax f0-12 (-> self view-off y))) - ) - ) - ) - ) - (let ((f0-16 (fmax 0.0 f26-0))) - (cond - ((logtest? (-> self options) #x4000) - ) - ((not *camera-read-analog*) - ) - ((and (>= 0.0 f28-0) (>= 0.0 f0-16)) - ) - ((and (>= f28-0 0.0) (>= f0-16 1.0)) - ) - ((and - (< 0.0 f28-0) - (or - (= (-> self los-state) (slave-los-state ccw)) - (= (-> self los-state) (slave-los-state cw)) - ) - ) - ) - ((< (* 0.05 (- 1.0 f0-16)) f28-0) - (let ((f0-17 (+ f0-16 (* 0.05 (- 1.0 f0-16))))) - (set! (-> self view-off-param) (fmax (-> self view-off-param) f0-17)) - (vector-normalize! - (-> self view-flat) - (lerp (-> self string-min-val z) (-> self string-max-val z) f0-17) - ) - ) - ) - ((< f28-0 (* 0.05 (- f0-16))) - (set! (-> self view-off-param) (+ f0-16 (* 0.05 (- f0-16)))) - ) - ((< 0.0 f28-0) - (let ((f0-19 (+ f0-16 (* f28-0 (-> *display* time-adjust-ratio))))) - (set! (-> self view-off-param) (fmax (-> self view-off-param) f0-19)) - (vector-normalize! - (-> self view-flat) - (lerp (-> self string-min-val z) (-> self string-max-val z) f0-19) - ) - ) - ) - ((< f28-0 0.0) - (set! - (-> self view-off-param) - (+ f0-16 (* f28-0 (-> *display* time-adjust-ratio))) - ) - ) - ) - ) - ) - (if (= f28-0 0.0) - (set! (-> self view-off z) (-> self string-max-val z)) - (set! - (-> self view-off z) - (lerp - (-> self string-min-val z) - (-> self string-max-val z) - (-> self view-off-param) - ) - ) - ) - (if (-> *camera* being-attacked) - (set! (-> self view-off-param) f30-0) - ) - ) - (when *camera-read-analog* - (let - ((f0-29 - (analog-input - (the-as int (-> *cpad-list* cpads 0 rightx)) - (the-as float 128.0) - (the-as float 32.0) - (the-as float 110.0) - (* 21845.334 (-> *display* seconds-per-frame)) - ) - ) - (s4-0 (new-stack-matrix0)) - (gp-2 (new-stack-vector0)) - (s5-2 (new-stack-vector0)) - ) (if (-> self have-phony-joystick) - (set! - f0-29 - (* 21845.334 (-> self phony-joystick-x) (-> *display* seconds-per-frame)) - ) - ) - (cond - ((and (= (-> self los-state) (slave-los-state ccw)) (< 0.0 f0-29)) - (let - ((f0-34 - (fmax - (-> self string-min-val z) - (fmin (-> self string-max-val z) (vector-length (-> self view-flat))) + (set! f28-0 (* 0.05 (-> self phony-joystick-y))) + ) + (if (and + (-> *camera* being-attacked) + (< (- (-> *display* base-frame-counter) (the-as int (-> *camera* attack-start))) 75) + ) + (set! f28-0 0.05) + ) + (if (!= f28-0 0.0) + (logior! (-> self options) 256) + ) + (let ((f26-0 (fmin 1.0 f0-2))) + (let ((f0-3 f26-0)) + (when (< f26-0 0.0) + (let ((f0-6 + (/ (- (-> self string-min-val z) (vector-length (-> self view-flat))) (* 0.5 (-> self string-min-val z))) + ) + ) + (set! f0-3 (fmin 0.75 f0-6)) + ) ) - ) - ) - (set! - f0-29 - (* - 21845.334 - (+ 0.1 (/ (-> self string-min-val z) f0-34)) - (-> *display* seconds-per-frame) - ) - ) - ) - ) - ((and (= (-> self los-state) (slave-los-state cw)) (< f0-29 0.0)) - (let - ((f0-40 - (fmax - (-> self string-min-val z) - (fmin (-> self string-max-val z) (vector-length (-> self view-flat))) + (let ((f1-10 (-> self string-min-val y)) + (f2-3 (-> self string-max-val y)) + ) + (set! (-> self view-off y) (lerp f1-10 f2-3 f0-3)) ) - ) ) - (set! - f0-29 - (* - -21845.334 - (+ 0.1 (/ (-> self string-min-val z) f0-40)) - (-> *display* seconds-per-frame) - ) + (when (< f26-0 0.0) + (let ((v1-28 (new 'stack-no-clear 'vector))) + (vector-! v1-28 (-> self string-trans) (-> *camera* tpos-curr-adj)) + (let ((f0-12 (- (- (vector-dot v1-28 (-> *camera* local-down))) (-> *camera* target-height)))) + (set! (-> self view-off y) (fmin (-> *camera* stringCliffHeight) (fmax f0-12 (-> self view-off y)))) + ) + ) ) - ) - ) - ) - (cond - ((!= f0-29 0.0) - (logior! (-> self options) 256) - (matrix-axis-angle! s4-0 (-> *camera* local-down) f0-29) - (vector-matrix*! (-> self view-flat) (-> self view-flat) s4-0) - ) - ((logtest? (-> self options) 1) - (vector-normalize-copy! gp-2 (-> self view-flat) (the-as float 1.0)) - (vector-flatten! - s5-2 - (-> *camera* tgt-rot-mat vector 2) - (-> *camera* local-down) - ) - (vector-normalize! s5-2 (the-as float -1.0)) - (matrix-from-two-vectors-max-angle-partial! - s4-0 - gp-2 - s5-2 - (* 10922.667 (-> *display* seconds-per-frame)) - (the-as float 0.05) - ) - (vector-matrix*! (-> self view-flat) (-> self view-flat) s4-0) - ) - ) - (when (logtest? (-> self options) #x4000) - (vector-normalize-copy! gp-2 (-> self view-flat) (the-as float 1.0)) - (vector-flatten! - s5-2 - (-> *camera* tgt-rot-mat vector 2) - (-> *camera* local-down) - ) - (vector-normalize! s5-2 (the-as float -1.0)) - (let ((f0-47 (acos (vector-dot s5-2 gp-2)))) - (when (and (< 8192.0 f0-47) (< f0-47 32585.955)) - (matrix-from-two-vectors-max-angle! - s4-0 - gp-2 - s5-2 - (fmin 546.13336 (* 0.5 (+ -8192.0 f0-47))) + (let ((f0-16 (fmax 0.0 f26-0))) + (cond + ((logtest? (-> self options) #x4000) + ) + ((not *camera-read-analog*) + ) + ((and (>= 0.0 f28-0) (>= 0.0 f0-16)) + ) + ((and (>= f28-0 0.0) (>= f0-16 1.0)) + ) + ((and + (< 0.0 f28-0) + (or (= (-> self los-state) (slave-los-state ccw)) (= (-> self los-state) (slave-los-state cw))) + ) + ) + ((< (* 0.05 (- 1.0 f0-16)) f28-0) + (let ((f0-17 (+ f0-16 (* 0.05 (- 1.0 f0-16))))) + (set! (-> self view-off-param) (fmax (-> self view-off-param) f0-17)) + (vector-normalize! (-> self view-flat) (lerp (-> self string-min-val z) (-> self string-max-val z) f0-17)) + ) + ) + ((< f28-0 (* 0.05 (- f0-16))) + (set! (-> self view-off-param) (+ f0-16 (* 0.05 (- f0-16)))) + ) + ((< 0.0 f28-0) + (let ((f0-19 (+ f0-16 (* f28-0 (-> *display* time-adjust-ratio))))) + (set! (-> self view-off-param) (fmax (-> self view-off-param) f0-19)) + (vector-normalize! (-> self view-flat) (lerp (-> self string-min-val z) (-> self string-max-val z) f0-19)) + ) + ) + ((< f28-0 0.0) + (set! (-> self view-off-param) (+ f0-16 (* f28-0 (-> *display* time-adjust-ratio)))) + ) + ) + ) + ) + (if (= f28-0 0.0) + (set! (-> self view-off z) (-> self string-max-val z)) + (set! (-> self view-off z) + (lerp (-> self string-min-val z) (-> self string-max-val z) (-> self view-off-param)) + ) + ) + (if (-> *camera* being-attacked) + (set! (-> self view-off-param) f30-0) + ) + ) + (when *camera-read-analog* + (let ((f0-29 (analog-input + (the-as int (-> *cpad-list* cpads 0 rightx)) + (the-as float 128.0) + (the-as float 32.0) + (the-as float 110.0) + (* 21845.334 (-> *display* seconds-per-frame)) + ) + ) + (s4-0 (new-stack-matrix0)) + (gp-2 (new-stack-vector0)) + (s5-2 (new-stack-vector0)) + ) + (if (-> self have-phony-joystick) + (set! f0-29 (* 21845.334 (-> self phony-joystick-x) (-> *display* seconds-per-frame))) + ) + (cond + ((and (= (-> self los-state) (slave-los-state ccw)) (< 0.0 f0-29)) + (let ((f0-34 + (fmax (-> self string-min-val z) (fmin (-> self string-max-val z) (vector-length (-> self view-flat)))) + ) + ) + (set! f0-29 (* 21845.334 (+ 0.1 (/ (-> self string-min-val z) f0-34)) (-> *display* seconds-per-frame))) + ) + ) + ((and (= (-> self los-state) (slave-los-state cw)) (< f0-29 0.0)) + (let ((f0-40 + (fmax (-> self string-min-val z) (fmin (-> self string-max-val z) (vector-length (-> self view-flat)))) + ) + ) + (set! f0-29 (* -21845.334 (+ 0.1 (/ (-> self string-min-val z) f0-40)) (-> *display* seconds-per-frame))) + ) + ) + ) + (cond + ((!= f0-29 0.0) + (logior! (-> self options) 256) + (matrix-axis-angle! s4-0 (-> *camera* local-down) f0-29) + (vector-matrix*! (-> self view-flat) (-> self view-flat) s4-0) + ) + ((logtest? (-> self options) 1) + (vector-normalize-copy! gp-2 (-> self view-flat) (the-as float 1.0)) + (vector-flatten! s5-2 (-> *camera* tgt-rot-mat vector 2) (-> *camera* local-down)) + (vector-normalize! s5-2 (the-as float -1.0)) + (matrix-from-two-vectors-max-angle-partial! + s4-0 + gp-2 + s5-2 + (* 10922.667 (-> *display* seconds-per-frame)) + (the-as float 0.05) + ) + (vector-matrix*! (-> self view-flat) (-> self view-flat) s4-0) + ) + ) + (when (logtest? (-> self options) #x4000) + (vector-normalize-copy! gp-2 (-> self view-flat) (the-as float 1.0)) + (vector-flatten! s5-2 (-> *camera* tgt-rot-mat vector 2) (-> *camera* local-down)) + (vector-normalize! s5-2 (the-as float -1.0)) + (let ((f0-47 (acos (vector-dot s5-2 gp-2)))) + (when (and (< 8192.0 f0-47) (< f0-47 32585.955)) + (matrix-from-two-vectors-max-angle! s4-0 gp-2 s5-2 (fmin 546.13336 (* 0.5 (+ -8192.0 f0-47)))) + (vector-matrix*! (-> self view-flat) (-> self view-flat) s4-0) + ) + ) ) - (vector-matrix*! (-> self view-flat) (-> self view-flat) s4-0) - ) ) - ) ) - ) ) ;; definition for function cam-string-find-hidden @@ -3451,45 +2612,30 @@ (s5-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) - (vector--float*! - s5-0 - (-> *camera* tpos-curr-adj) - (-> *camera* local-down) - (-> *camera* target-height) - ) - (vector-! s5-0 s5-0 (-> self string-trans)) - (cond - ((< - (dummy-10 - *collide-cache* - (-> self string-trans) - s5-0 - (the-as float 40.96) - #x4a09 - (the-as process #f) - s4-0 - 2 + (vector--float*! s5-0 (-> *camera* tpos-curr-adj) (-> *camera* local-down) (-> *camera* target-height)) + (vector-! s5-0 s5-0 (-> self string-trans)) + (cond + ((< (dummy-10 *collide-cache* (-> self string-trans) s5-0 (the-as float 40.96) #x4a09 (the-as process #f) s4-0 2) + 0.0 + ) + (set! (-> self time-dist-too-far) (the-as uint 0)) + 0 ) - 0.0 + ((< (-> self time-dist-too-far) (the-as uint 600)) + (+! (-> self time-dist-too-far) 1) + ) + ((cam-string-find-position-rel! gp-0) + (cam-string-set-position-rel! gp-0) + (set! (-> self time-dist-too-far) (the-as uint 0)) + 0 + ) + (else + (format 0 "camera position search failed~%") + (set! (-> self time-dist-too-far) (the-as uint 0)) + 0 + ) ) - (set! (-> self time-dist-too-far) (the-as uint 0)) - 0 - ) - ((< (-> self time-dist-too-far) (the-as uint 600)) - (+! (-> self time-dist-too-far) 1) - ) - ((cam-string-find-position-rel! gp-0) - (cam-string-set-position-rel! gp-0) - (set! (-> self time-dist-too-far) (the-as uint 0)) - 0 - ) - (else - (format 0 "camera position search failed~%") - (set! (-> self time-dist-too-far) (the-as uint 0)) - 0 - ) ) - ) (none) ) @@ -3505,582 +2651,449 @@ (local-vars (sv-240 float) (sv-256 float)) (vector-! (-> self velocity) (-> self desired-pos) (-> self string-trans)) (if *display-cam-los-debug* - (format *stdcon* "vel ~M~%" (vector-length (-> self velocity))) - ) + (format *stdcon* "vel ~M~%" (vector-length (-> self velocity))) + ) (let ((s5-1 (new 'stack-no-clear 'vector)) (s4-1 (new 'stack-no-clear 'vector)) (gp-1 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) ) - (vector-! s3-0 (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj)) - (vector+float*! s5-1 (-> self velocity) s3-0 (the-as float 0.5)) - (vector-normalize! s5-1 (the-as float 1.0)) - (vector-normalize-copy! s4-1 (-> self view-flat) (the-as float 1.0)) - (vector-cross! gp-1 s4-1 s5-1) - (cond - ((and - (< - (vector-length (-> self velocity)) - (-> *CAMERA-bank* min-detectable-velocity) + (vector-! s3-0 (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj)) + (vector+float*! s5-1 (-> self velocity) s3-0 (the-as float 0.5)) + (vector-normalize! s5-1 (the-as float 1.0)) + (vector-normalize-copy! s4-1 (-> self view-flat) (the-as float 1.0)) + (vector-cross! gp-1 s4-1 s5-1) + (cond + ((and + (< (vector-length (-> self velocity)) (-> *CAMERA-bank* min-detectable-velocity)) + (< (vector-length s3-0) (-> *CAMERA-bank* min-detectable-velocity)) + ) + (set! (-> self string-vel-dir) (the-as uint 0)) + 0 ) - (< (vector-length s3-0) (-> *CAMERA-bank* min-detectable-velocity)) + ((< (cos (the-as float 5461.3335)) (vector-dot (-> *camera* local-down) s5-1)) + (set! (-> self string-vel-dir) (the-as uint 4)) + ) + ((< (vector-dot (-> *camera* local-down) s5-1) (- (cos (the-as float 5461.3335)))) + (set! (-> self string-vel-dir) (the-as uint 3)) + ) + ((< (cos (the-as float 5461.3335)) (vector-dot s4-1 s5-1)) + (set! (-> self string-vel-dir) (the-as uint 6)) + ) + ((< (vector-dot s4-1 s5-1) (- (cos (the-as float 5461.3335)))) + (set! (-> self string-vel-dir) (the-as uint 5)) + ) + ((< (vector-dot (-> *camera* local-down) gp-1) 0.0) + (set! (-> self string-vel-dir) (the-as uint 1)) + ) + (else + (set! (-> self string-vel-dir) (the-as uint 2)) + ) ) - (set! (-> self string-vel-dir) (the-as uint 0)) - 0 - ) - ((< - (cos (the-as float 5461.3335)) - (vector-dot (-> *camera* local-down) s5-1) - ) - (set! (-> self string-vel-dir) (the-as uint 4)) - ) - ((< - (vector-dot (-> *camera* local-down) s5-1) - (- (cos (the-as float 5461.3335))) - ) - (set! (-> self string-vel-dir) (the-as uint 3)) - ) - ((< (cos (the-as float 5461.3335)) (vector-dot s4-1 s5-1)) - (set! (-> self string-vel-dir) (the-as uint 6)) - ) - ((< (vector-dot s4-1 s5-1) (- (cos (the-as float 5461.3335)))) - (set! (-> self string-vel-dir) (the-as uint 5)) - ) - ((< (vector-dot (-> *camera* local-down) gp-1) 0.0) - (set! (-> self string-vel-dir) (the-as uint 1)) - ) - (else - (set! (-> self string-vel-dir) (the-as uint 2)) - ) ) - ) 0.0 (let ((f30-2 1.0) (s5-2 (new-stack-vector0)) (gp-2 0) ) - (let ((s4-2 (new 'stack-no-clear 'collide-mesh-cache-tri)) - (s3-1 (new 'stack-no-clear 'vector)) - ) - (when *debug-segment* - (if - (>= - (-> *CAMERA-bank* min-detectable-velocity) - (vector-length (-> self velocity)) - ) - (cam-collision-record-save - (-> self string-trans) - (-> self velocity) - -1 - 'no-hit - self - ) - ) - ) - (while - (and - (< 0.01 f30-2) - (and - (< - (-> *CAMERA-bank* min-detectable-velocity) - (vector-length (-> self velocity)) - ) - (< gp-2 4) - ) - ) - (vector-float*! s5-2 (-> self velocity) f30-2) - (if *debug-segment* - (cam-collision-record-save (-> self string-trans) s5-2 gp-2 'normal self) - ) - (let ((f28-1 (if (logtest? (-> self options) 32) - (dummy-10 - *collide-cache* - (-> self string-trans) - s5-2 - (-> *CAMERA-bank* collide-move-rad) - #x4a09 - (the-as process #f) - s4-2 - 2 - ) - -100000000.0 - ) - ) - ) - (when *display-cam-los-debug* - (let ((s2-0 format) - (s1-0 *stdcon*) - (s0-0 "vp ~f vr ~f r ~f ta ~f~%") - ) - (set! sv-240 (vector-length s5-2)) - (set! sv-256 f30-2) - (let ((t0-3 (/ (vector-length s5-2) f30-2)) - (t1-1 f28-1) - ) - (s2-0 s1-0 s0-0 sv-240 sv-256 t0-3 t1-1) - ) - ) - ) - (cond - ((>= f28-1 0.0) - (let* ((f1-7 (fmax 0.01 (/ 40.96 (vector-length s5-2)))) - (f0-24 (fmax 0.0 (- f28-1 f1-7))) - ) - (vector+float*! - (-> self string-trans) - (-> self string-trans) - s5-2 - f0-24 + (let ((s4-2 (new 'stack-no-clear 'collide-mesh-cache-tri)) + (s3-1 (new 'stack-no-clear 'vector)) ) - ) - (vector-! s3-1 (-> self string-trans) (-> s4-2 normal)) - (vector-normalize! s3-1 (the-as float 1.0)) - (vector-flatten! (-> self velocity) (-> self velocity) s3-1) - (set! f30-2 (- f30-2 (* f30-2 f28-1))) - (+! gp-2 1) + (when *debug-segment* + (if (>= (-> *CAMERA-bank* min-detectable-velocity) (vector-length (-> self velocity))) + (cam-collision-record-save (-> self string-trans) (-> self velocity) -1 'no-hit self) + ) ) - (else - (vector+! (-> self string-trans) (-> self string-trans) s5-2) - (set! f30-2 0.0) + (while (and + (< 0.01 f30-2) + (and (< (-> *CAMERA-bank* min-detectable-velocity) (vector-length (-> self velocity))) (< gp-2 4)) + ) + (vector-float*! s5-2 (-> self velocity) f30-2) + (if *debug-segment* + (cam-collision-record-save (-> self string-trans) s5-2 gp-2 'normal self) + ) + (let ((f28-1 (if (logtest? (-> self options) 32) + (dummy-10 + *collide-cache* + (-> self string-trans) + s5-2 + (-> *CAMERA-bank* collide-move-rad) + #x4a09 + (the-as process #f) + s4-2 + 2 + ) + -100000000.0 + ) + ) + ) + (when *display-cam-los-debug* + (let ((s2-0 format) + (s1-0 *stdcon*) + (s0-0 "vp ~f vr ~f r ~f ta ~f~%") + ) + (set! sv-240 (vector-length s5-2)) + (set! sv-256 f30-2) + (let ((t0-3 (/ (vector-length s5-2) f30-2)) + (t1-1 f28-1) + ) + (s2-0 s1-0 s0-0 sv-240 sv-256 t0-3 t1-1) + ) + ) + ) + (cond + ((>= f28-1 0.0) + (let* ((f1-7 (fmax 0.01 (/ 40.96 (vector-length s5-2)))) + (f0-24 (fmax 0.0 (- f28-1 f1-7))) + ) + (vector+float*! (-> self string-trans) (-> self string-trans) s5-2 f0-24) + ) + (vector-! s3-1 (-> self string-trans) (-> s4-2 normal)) + (vector-normalize! s3-1 (the-as float 1.0)) + (vector-flatten! (-> self velocity) (-> self velocity) s3-1) + (set! f30-2 (- f30-2 (* f30-2 f28-1))) + (+! gp-2 1) + ) + (else + (vector+! (-> self string-trans) (-> self string-trans) s5-2) + (set! f30-2 0.0) + ) + ) + ) ) - ) ) - ) - ) - (cond - ((zero? gp-2) - (set! (-> self options) (logand -1025 (-> self options))) - (if *display-cam-los-debug* - (format *stdcon* "not blocked~%") - ) - ) - (else - (logior! (-> self options) 1024) - (if *display-cam-los-debug* - (format *stdcon* "blocked ~D ~f~%" gp-2 f30-2) - ) - (let ((gp-3 (new-stack-vector0)) - (f30-3 (vector-length (-> self view-flat))) + (cond + ((zero? gp-2) + (set! (-> self options) (logand -1025 (-> self options))) + (if *display-cam-los-debug* + (format *stdcon* "not blocked~%") ) - (vector-! gp-3 (-> self string-trans) (-> *camera* tpos-curr-adj)) - (vector-flatten! gp-3 gp-3 (-> *camera* local-down)) - (let ((f28-3 (vector-length gp-3))) - (cond - ((< f28-3 f30-3) - (vector-normalize-copy! (-> self view-flat) gp-3 f28-3) - (set! (-> self min-z-override) f28-3) - f28-3 - ) - (else - (vector-normalize-copy! (-> self view-flat) gp-3 f30-3) - ) - ) ) + (else + (logior! (-> self options) 1024) + (if *display-cam-los-debug* + (format *stdcon* "blocked ~D ~f~%" gp-2 f30-2) + ) + (let ((gp-3 (new-stack-vector0)) + (f30-3 (vector-length (-> self view-flat))) + ) + (vector-! gp-3 (-> self string-trans) (-> *camera* tpos-curr-adj)) + (vector-flatten! gp-3 gp-3 (-> *camera* local-down)) + (let ((f28-3 (vector-length gp-3))) + (cond + ((< f28-3 f30-3) + (vector-normalize-copy! (-> self view-flat) gp-3 f28-3) + (set! (-> self min-z-override) f28-3) + f28-3 + ) + (else + (vector-normalize-copy! (-> self view-flat) gp-3 f30-3) + ) + ) + ) + ) + ) ) - ) ) - ) (when *display-cam-los-debug* - (let ((a0-43 (new-stack-vector0))) - (vector-! a0-43 (-> self desired-pos) (-> self string-trans)) - (format *stdcon* "vel ~M~%" (vector-length a0-43)) + (let ((a0-43 (new-stack-vector0))) + (vector-! a0-43 (-> self desired-pos) (-> self string-trans)) + (format *stdcon* "vel ~M~%" (vector-length a0-43)) + ) ) - ) ) ;; definition for function cam-string-code ;; Used lq/sq (defbehavior cam-string-code camera-slave () (if *debug-segment* - (cam-debug-reset-coll-tri) - ) + (cam-debug-reset-coll-tri) + ) (cam-string-follow) (if (logtest? (-> self options) 512) - (cam-string-line-of-sight) - ) + (cam-string-line-of-sight) + ) (if (not (paused?)) - (cam-string-joystick) - ) + (cam-string-joystick) + ) (let ((gp-0 (new-stack-vector0))) - (vector--float*! - gp-0 - (-> self view-flat) - (-> *camera* local-down) - (+ (-> *camera* target-height) (-> self view-off y)) + (vector--float*! + gp-0 + (-> self view-flat) + (-> *camera* local-down) + (+ (-> *camera* target-height) (-> self view-off y)) + ) + (vector+! (-> self desired-pos) (-> *camera* tpos-curr-adj) gp-0) ) - (vector+! (-> self desired-pos) (-> *camera* tpos-curr-adj) gp-0) - ) (if (logtest? (-> self options) 64) - (cam-string-find-hidden) - ) + (cam-string-find-hidden) + ) (cond - ((logtest? (-> self options) 4096) - (when *debug-segment* - (let ((a1-1 (new 'stack-no-clear 'vector))) - (vector-! a1-1 (-> self good-point) (-> self string-trans)) - (cam-collision-record-save (-> self string-trans) a1-1 -2 'jump self) + ((logtest? (-> self options) 4096) + (when *debug-segment* + (let ((a1-1 (new 'stack-no-clear 'vector))) + (vector-! a1-1 (-> self good-point) (-> self string-trans)) + (cam-collision-record-save (-> self string-trans) a1-1 -2 'jump self) + ) + ) + (set! (-> self options) (logand -4097 (-> self options))) + (set! (-> self desired-pos quad) (-> self good-point quad)) + (cam-string-move) + (vector-! (-> self view-flat) (-> self string-trans) (-> *camera* tpos-curr-adj)) + (vector-flatten! (-> self view-flat) (-> self view-flat) (-> *camera* local-down)) + (let ((f0-2 (vector-length (-> self view-flat)))) + (if (< f0-2 (-> self min-z-override)) + (set! (-> self min-z-override) f0-2) + ) + ) + ) + (else + (cam-string-move) ) - ) - (set! (-> self options) (logand -4097 (-> self options))) - (set! (-> self desired-pos quad) (-> self good-point quad)) - (cam-string-move) - (vector-! - (-> self view-flat) - (-> self string-trans) - (-> *camera* tpos-curr-adj) - ) - (vector-flatten! - (-> self view-flat) - (-> self view-flat) - (-> *camera* local-down) - ) - (let ((f0-2 (vector-length (-> self view-flat)))) - (if (< f0-2 (-> self min-z-override)) - (set! (-> self min-z-override) f0-2) - ) - ) ) - (else - (cam-string-move) - ) - ) (TODO-RENAME-17 - (-> self position-spline) - (-> self string-trans) - (the-as float 0.04096) - (the-as float 4096.0) - #t - ) + (-> self position-spline) + (-> self string-trans) + (the-as float 0.04096) + (the-as float 4096.0) + #t + ) (cond - ((and (logtest? (-> self options) #x4000) (logtest? (-> self options) 256)) - (TODO-RENAME-21 - (-> self position-spline) - (-> self trans) - (the-as float 102.4) - (the-as float 4096.0) + ((and (logtest? (-> self options) #x4000) (logtest? (-> self options) 256)) + (TODO-RENAME-21 (-> self position-spline) (-> self trans) (the-as float 102.4) (the-as float 4096.0)) ) - ) - ((logtest? (-> self options) #x4000) - (TODO-RENAME-21 - (-> self position-spline) - (-> self trans) - (the-as float 40.96) - (the-as float 4096.0) + ((logtest? (-> self options) #x4000) + (TODO-RENAME-21 (-> self position-spline) (-> self trans) (the-as float 40.96) (the-as float 4096.0)) ) - ) - ((logtest? (-> self options) 256) - (TODO-RENAME-21 - (-> self position-spline) - (-> self trans) - (the-as float 102.4) - (the-as float 2457.6) + ((logtest? (-> self options) 256) + (TODO-RENAME-21 (-> self position-spline) (-> self trans) (the-as float 102.4) (the-as float 2457.6)) ) + (else + (TODO-RENAME-21 (-> self position-spline) (-> self trans) (the-as float 20.48) (the-as float 2457.6)) + ) ) - (else - (TODO-RENAME-21 - (-> self position-spline) - (-> self trans) - (the-as float 20.48) - (the-as float 2457.6) - ) - ) - ) ) ;; definition for function set-string-parms ;; Used lq/sq (defbehavior set-string-parms camera-slave () (when (not (-> self string-val-locked)) - (set! (-> self string-min-val quad) (-> *camera* string-min value quad)) - (let ((v0-0 (-> self string-max-val))) - (set! (-> v0-0 quad) (-> *camera* string-max value quad)) - v0-0 + (set! (-> self string-min-val quad) (-> *camera* string-min value quad)) + (let ((v0-0 (-> self string-max-val))) + (set! (-> v0-0 quad) (-> *camera* string-max value quad)) + v0-0 + ) ) - ) ) ;; failed to figure out what this is: (defstate cam-string (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - (let ((gp-0 (new-stack-vector0))) - (cam-string-find-position-rel! gp-0) - (cam-string-set-position-rel! gp-0) + (case arg2 + (('teleport) + (let ((gp-0 (new-stack-vector0))) + (cam-string-find-position-rel! gp-0) + (cam-string-set-position-rel! gp-0) + ) ) - ) - (('joystick) - (set! (-> self phony-joystick-x) (the-as float (-> arg3 param 0))) - (set! (-> self phony-joystick-y) (the-as float (-> arg3 param 1))) - (let ((v0-1 (the-as object #t))) - (set! (-> self have-phony-joystick) (the-as symbol v0-1)) - v0-1 - ) - ) - (('set-dist) - (cond - ((-> arg3 param 0) - (set! (-> self string-val-locked) #t) - (set! - (-> self string-min-val quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - (set! - (-> self string-max-val quad) - (-> (the-as vector (-> arg3 param 1)) quad) - ) - (set! - (-> self string-max-val x) - (fmax (-> self string-max-val x) (-> self string-min-val x)) - ) - (set! - (-> self string-max-val y) - (fmax (-> self string-max-val y) (-> self string-min-val y)) - ) - (let - ((f0-7 (fmax (-> self string-max-val z) (-> self string-min-val z)))) - (set! (-> self string-max-val z) f0-7) - f0-7 - ) + (('joystick) + (set! (-> self phony-joystick-x) (the-as float (-> arg3 param 0))) + (set! (-> self phony-joystick-y) (the-as float (-> arg3 param 1))) + (let ((v0-1 (the-as object #t))) + (set! (-> self have-phony-joystick) (the-as symbol v0-1)) + v0-1 + ) ) - (else - (set! (-> self string-val-locked) #f) - #f - ) - ) - ) - (('blocked-side?) - (-> self los-state) - ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) - ) - ) - :enter - (behavior () - (when (not (-> self enter-has-run)) - (set-string-parms) - (set! *camera-base-mode* cam-string) - (set! (-> self string-vel-dir) (the-as uint 0)) - (set! (-> self fov) 11650.845) - (set! (-> self los-tgt-spline-pt) (-> *camera* target-spline end-point)) - (set! - (-> self los-tgt-spline-pt-incarnation) - (-> *camera* target-spline point (-> self los-tgt-spline-pt) incarnation) - ) - (set! (-> self min-z-override) (-> self string-max-val z)) - (if (!= (-> *camera* outro-t-step) 0.0) - (set! (-> self min-z-override) (-> self string-min-val z)) - ) - (let ((gp-0 (new-stack-vector0))) - 0.0 - (set! (-> self view-off-param) (-> *camera* view-off-param-save)) - (set! (-> self view-off x) 0.0) - (let ((f0-7 (-> self string-min-val y)) - (f1-1 (-> self string-max-val y)) - ) - (set! (-> self view-off y) (lerp f0-7 f1-1 (-> self view-off-param))) - ) - (set! - (-> self view-off z) - (lerp - (-> self string-min-val z) - (-> self string-max-val z) - (-> self view-off-param) - ) - ) - (let ((f30-0 (cond - ((!= (-> *camera* outro-t-step) 0.0) - (curve-get-pos! - gp-0 - (-> *camera* outro-exit-value) - (-> *camera* outro-curve) - ) - (vector-! gp-0 gp-0 (-> *camera* tpos-curr-adj)) - (vector-flatten! - (-> self view-flat) - gp-0 - (-> *camera* local-down) - ) - (vector-length (-> self view-flat)) - ) - (else - (vector-flatten! - (-> self view-flat) - (-> self tracking inv-mat vector 2) - (-> *camera* local-down) - ) - (vector-negate! (-> self view-flat) (-> self view-flat)) - 0.0 - ) - ) - ) - ) - (let ((f1-4 (fmin (-> *camera* string-push-z) (-> self min-z-override))) - (f0-17 (-> self view-off z)) - ) + (('set-dist) (cond - ((< f30-0 f1-4) - (set! f30-0 f1-4) - ) - ((< f0-17 f30-0) - (set! f30-0 f0-17) - ) - ) - ) - (vector-normalize! (-> self view-flat) f30-0) - (let - ((f30-1 - (/ - (- f30-0 (-> self string-min-val z)) - (- (-> self string-max-val z) (-> self string-min-val z)) - ) - ) - ) - (if (< 1.0 f30-1) - (set! f30-1 1.0) - ) - (if (< f30-1 0.0) - (set! f30-1 0.0) - ) - (let ((f0-22 (-> self string-min-val y)) - (f1-7 (-> self string-max-val y)) - ) - (set! (-> self view-off y) (lerp f0-22 f1-7 f30-1)) - ) - (set! - (-> self view-off z) - (lerp (-> self string-min-val z) (-> self string-max-val z) f30-1) - ) - ) - ) - ) - (vector--float*! - (-> self desired-pos) - (-> self view-flat) - (-> *camera* local-down) - (+ (-> *camera* target-height) (-> self view-off y)) - ) - (vector+! - (-> self desired-pos) - (-> self desired-pos) - (-> *camera* tpos-curr-adj) - ) - (set! (-> self string-trans quad) (-> self desired-pos quad)) - (vector-reset! (-> self velocity)) - (let ((s4-0 (new 'stack-no-clear 'collide-mesh-cache-tri)) - (s5-0 (new 'stack-no-clear 'vector)) - (gp-1 (new 'stack-no-clear 'vector)) - ) - (vector--float*! - s5-0 - (-> *camera* tpos-curr-adj) - (-> *camera* local-down) - (-> *camera* target-height) - ) - (vector-! gp-1 (-> self string-trans) s5-0) - (let - ((f0-31 - (dummy-10 - *collide-cache* - s5-0 - gp-1 - (-> *CAMERA-bank* collide-move-rad) - #x4a09 - (the-as process #f) - s4-0 - 4098 - ) - ) - ) - (when (and (< 0.0 f0-31) (< f0-31 1.0)) - (vector-float*! gp-1 gp-1 f0-31) - (vector-flatten! (-> self view-flat) gp-1 (-> *camera* local-down)) - (let ((f0-32 (vector-length (-> self view-flat)))) - (cond - ((< f0-32 8192.0) - (let ((gp-2 (new-stack-vector0))) - (cam-string-find-position-rel! gp-2) - (cam-string-set-position-rel! gp-2) - ) + ((-> arg3 param 0) + (set! (-> self string-val-locked) #t) + (set! (-> self string-min-val quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (set! (-> self string-max-val quad) (-> (the-as vector (-> arg3 param 1)) quad)) + (set! (-> self string-max-val x) (fmax (-> self string-max-val x) (-> self string-min-val x))) + (set! (-> self string-max-val y) (fmax (-> self string-max-val y) (-> self string-min-val y))) + (let ((f0-7 (fmax (-> self string-max-val z) (-> self string-min-val z)))) + (set! (-> self string-max-val z) f0-7) + f0-7 + ) ) (else - (if (< f0-32 (-> self min-z-override)) - (set! (-> self min-z-override) f0-32) + (set! (-> self string-val-locked) #f) + #f ) - (let - ((f30-2 - (/ - (- f0-32 (-> self string-min-val z)) - (- (-> self string-max-val z) (-> self string-min-val z)) - ) - ) - ) - (if (< 1.0 f30-2) - (set! f30-2 1.0) - ) - (if (< f30-2 0.0) - (set! f30-2 0.0) - ) - (let ((f0-36 (-> self string-min-val y)) - (f1-16 (-> self string-max-val y)) - ) - (set! (-> self view-off y) (lerp f0-36 f1-16 f30-2)) - ) - (set! - (-> self view-off z) - (lerp (-> self string-min-val z) (-> self string-max-val z) f30-2) - ) - ) - (vector--float*! - (-> self desired-pos) - (-> self view-flat) - (-> *camera* local-down) - (+ (-> *camera* target-height) (-> self view-off y)) - ) - (vector+! - (-> self desired-pos) - (-> self desired-pos) - (-> *camera* tpos-curr-adj) - ) - (set! (-> self string-trans quad) (-> self desired-pos quad)) - (vector-reset! (-> self velocity)) - ) ) - ) ) + (('blocked-side?) + (-> self los-state) + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - ) - (set! (-> self trans quad) (-> self string-trans quad)) - (set! (-> self los-last-pos quad) (-> self string-trans quad)) - (TODO-RENAME-10 (-> self position-spline) (-> self string-trans)) - (set! (-> self blend-from-type) (the-as uint 2)) - (set! (-> self blend-to-type) (the-as uint 2)) ) - (none) - ) + :enter + (behavior () + (when (not (-> self enter-has-run)) + (set-string-parms) + (set! *camera-base-mode* cam-string) + (set! (-> self string-vel-dir) (the-as uint 0)) + (set! (-> self fov) 11650.845) + (set! (-> self los-tgt-spline-pt) (-> *camera* target-spline end-point)) + (set! (-> self los-tgt-spline-pt-incarnation) + (-> *camera* target-spline point (-> self los-tgt-spline-pt) incarnation) + ) + (set! (-> self min-z-override) (-> self string-max-val z)) + (if (!= (-> *camera* outro-t-step) 0.0) + (set! (-> self min-z-override) (-> self string-min-val z)) + ) + (let ((gp-0 (new-stack-vector0))) + 0.0 + (set! (-> self view-off-param) (-> *camera* view-off-param-save)) + (set! (-> self view-off x) 0.0) + (let ((f0-7 (-> self string-min-val y)) + (f1-1 (-> self string-max-val y)) + ) + (set! (-> self view-off y) (lerp f0-7 f1-1 (-> self view-off-param))) + ) + (set! (-> self view-off z) + (lerp (-> self string-min-val z) (-> self string-max-val z) (-> self view-off-param)) + ) + (let ((f30-0 (cond + ((!= (-> *camera* outro-t-step) 0.0) + (curve-get-pos! gp-0 (-> *camera* outro-exit-value) (-> *camera* outro-curve)) + (vector-! gp-0 gp-0 (-> *camera* tpos-curr-adj)) + (vector-flatten! (-> self view-flat) gp-0 (-> *camera* local-down)) + (vector-length (-> self view-flat)) + ) + (else + (vector-flatten! (-> self view-flat) (-> self tracking inv-mat vector 2) (-> *camera* local-down)) + (vector-negate! (-> self view-flat) (-> self view-flat)) + 0.0 + ) + ) + ) + ) + (let ((f1-4 (fmin (-> *camera* string-push-z) (-> self min-z-override))) + (f0-17 (-> self view-off z)) + ) + (cond + ((< f30-0 f1-4) + (set! f30-0 f1-4) + ) + ((< f0-17 f30-0) + (set! f30-0 f0-17) + ) + ) + ) + (vector-normalize! (-> self view-flat) f30-0) + (let ((f30-1 (/ (- f30-0 (-> self string-min-val z)) (- (-> self string-max-val z) (-> self string-min-val z))))) + (if (< 1.0 f30-1) + (set! f30-1 1.0) + ) + (if (< f30-1 0.0) + (set! f30-1 0.0) + ) + (let ((f0-22 (-> self string-min-val y)) + (f1-7 (-> self string-max-val y)) + ) + (set! (-> self view-off y) (lerp f0-22 f1-7 f30-1)) + ) + (set! (-> self view-off z) (lerp (-> self string-min-val z) (-> self string-max-val z) f30-1)) + ) + ) + ) + (vector--float*! + (-> self desired-pos) + (-> self view-flat) + (-> *camera* local-down) + (+ (-> *camera* target-height) (-> self view-off y)) + ) + (vector+! (-> self desired-pos) (-> self desired-pos) (-> *camera* tpos-curr-adj)) + (set! (-> self string-trans quad) (-> self desired-pos quad)) + (vector-reset! (-> self velocity)) + (let ((s4-0 (new 'stack-no-clear 'collide-mesh-cache-tri)) + (s5-0 (new 'stack-no-clear 'vector)) + (gp-1 (new 'stack-no-clear 'vector)) + ) + (vector--float*! s5-0 (-> *camera* tpos-curr-adj) (-> *camera* local-down) (-> *camera* target-height)) + (vector-! gp-1 (-> self string-trans) s5-0) + (let ((f0-31 + (dummy-10 *collide-cache* s5-0 gp-1 (-> *CAMERA-bank* collide-move-rad) #x4a09 (the-as process #f) s4-0 4098) + ) + ) + (when (and (< 0.0 f0-31) (< f0-31 1.0)) + (vector-float*! gp-1 gp-1 f0-31) + (vector-flatten! (-> self view-flat) gp-1 (-> *camera* local-down)) + (let ((f0-32 (vector-length (-> self view-flat)))) + (cond + ((< f0-32 8192.0) + (let ((gp-2 (new-stack-vector0))) + (cam-string-find-position-rel! gp-2) + (cam-string-set-position-rel! gp-2) + ) + ) + (else + (if (< f0-32 (-> self min-z-override)) + (set! (-> self min-z-override) f0-32) + ) + (let ((f30-2 (/ (- f0-32 (-> self string-min-val z)) (- (-> self string-max-val z) (-> self string-min-val z))))) + (if (< 1.0 f30-2) + (set! f30-2 1.0) + ) + (if (< f30-2 0.0) + (set! f30-2 0.0) + ) + (let ((f0-36 (-> self string-min-val y)) + (f1-16 (-> self string-max-val y)) + ) + (set! (-> self view-off y) (lerp f0-36 f1-16 f30-2)) + ) + (set! (-> self view-off z) (lerp (-> self string-min-val z) (-> self string-max-val z) f30-2)) + ) + (vector--float*! + (-> self desired-pos) + (-> self view-flat) + (-> *camera* local-down) + (+ (-> *camera* target-height) (-> self view-off y)) + ) + (vector+! (-> self desired-pos) (-> self desired-pos) (-> *camera* tpos-curr-adj)) + (set! (-> self string-trans quad) (-> self desired-pos quad)) + (vector-reset! (-> self velocity)) + ) + ) + ) + ) + ) + ) + (set! (-> self trans quad) (-> self string-trans quad)) + (set! (-> self los-last-pos quad) (-> self string-trans quad)) + (TODO-RENAME-10 (-> self position-spline) (-> self string-trans)) + (set! (-> self blend-from-type) (the-as uint 2)) + (set! (-> self blend-to-type) (the-as uint 2)) + ) + (none) + ) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (cam-slave-go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (cam-slave-go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (when (not (paused?)) - (set-string-parms) - (cam-string-code) - (TODO-RENAME-9 (-> self position-spline)) - (set! (-> self have-phony-joystick) #f) - ) - (suspend) + (while #t + (when (not (paused?)) + (set-string-parms) + (cam-string-code) + (TODO-RENAME-9 (-> self position-spline)) + (set! (-> self have-phony-joystick) #f) + ) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition of type cam-stick-bank @@ -4106,45 +3119,35 @@ ) ;; definition for symbol *CAM_STICK-bank*, type cam-stick-bank -(define - *CAM_STICK-bank* - (new 'static 'cam-stick-bank - :max-z (meters 30.0) - :min-z (meters 5.0) - :max-y (meters 15.0) - :min-y (meters 2.0) - ) - ) +(define *CAM_STICK-bank* (new 'static 'cam-stick-bank + :max-z (meters 30.0) + :min-z (meters 5.0) + :max-y (meters 15.0) + :min-y (meters 2.0) + ) + ) ;; definition for function cam-stick-code ;; Used lq/sq (defbehavior cam-stick-code camera-slave () (cam-calc-follow! (-> self tracking) (-> self trans) #t) (let ((gp-0 (new-stack-vector0))) - (vector-flatten! - (-> self view-flat) - (-> self view-flat) - (-> *camera* local-down) + (vector-flatten! (-> self view-flat) (-> self view-flat) (-> *camera* local-down)) + (vector-normalize! (-> self view-flat) (-> self view-off z)) + (vector-! gp-0 (-> self view-flat) (vector-float*! gp-0 (-> *camera* local-down) (-> self view-off y))) + (vector+! (-> self desired-pos) (-> self tracking follow-pt) gp-0) ) - (vector-normalize! (-> self view-flat) (-> self view-off z)) - (vector-! - gp-0 - (-> self view-flat) - (vector-float*! gp-0 (-> *camera* local-down) (-> self view-off y)) - ) - (vector+! (-> self desired-pos) (-> self tracking follow-pt) gp-0) - ) (let ((v1-3 (new-stack-vector0)) (gp-1 (new-stack-vector0)) ) - (vector-! v1-3 (-> self desired-pos) (-> self trans)) - (vector-float*! v1-3 v1-3 0.2) - (vector-! gp-1 v1-3 (-> self velocity)) - (if (< 409.6 (vector-length gp-1)) - (vector-normalize! gp-1 (the-as float 409.6)) + (vector-! v1-3 (-> self desired-pos) (-> self trans)) + (vector-float*! v1-3 v1-3 0.2) + (vector-! gp-1 v1-3 (-> self velocity)) + (if (< 409.6 (vector-length gp-1)) + (vector-normalize! gp-1 (the-as float 409.6)) + ) + (vector+! (-> self velocity) (-> self velocity) gp-1) ) - (vector+! (-> self velocity) (-> self velocity) gp-1) - ) 0.0 (let ((f30-1 1.0) (gp-2 (new-stack-vector0)) @@ -4152,92 +3155,76 @@ (s4-0 4) (s2-0 0) ) - (let ((s3-0 (new 'stack-no-clear 'collide-mesh-cache-tri))) - (while - (and - (< 0.01 f30-1) - (and - (< - (-> *CAMERA-bank* min-detectable-velocity) - (vector-length (-> self velocity)) - ) - (> s4-0 0) - ) - ) - (+! s4-0 -1) - (vector-float*! gp-2 (-> self velocity) f30-1) - (let ((f28-0 (if (logtest? (-> self options) 32) - (dummy-10 - *collide-cache* - (-> self trans) - gp-2 - (-> *CAMERA-bank* collide-move-rad) - #x4a09 - (the-as process #f) - s3-0 - 2 - ) - -100000000.0 - ) + (let ((s3-0 (new 'stack-no-clear 'collide-mesh-cache-tri))) + (while (and + (< 0.01 f30-1) + (and (< (-> *CAMERA-bank* min-detectable-velocity) (vector-length (-> self velocity))) (> s4-0 0)) + ) + (+! s4-0 -1) + (vector-float*! gp-2 (-> self velocity) f30-1) + (let ((f28-0 (if (logtest? (-> self options) 32) + (dummy-10 + *collide-cache* + (-> self trans) + gp-2 + (-> *CAMERA-bank* collide-move-rad) + #x4a09 + (the-as process #f) + s3-0 + 2 + ) + -100000000.0 + ) + ) + ) + (cond + ((>= f28-0 0.0) + (vector+float*! (-> self trans) (-> self trans) gp-2 f28-0) + (set! (-> s5-0 quad) (-> s3-0 bbox4w min quad)) + (vector-flatten! (-> self velocity) (-> self velocity) s5-0) + (set! f30-1 (- f30-1 (* f30-1 f28-0))) + (set! s2-0 1) + ) + (else + (vector+! (-> self trans) (-> self trans) gp-2) + (set! f30-1 0.0) + ) ) - ) - (cond - ((>= f28-0 0.0) - (vector+float*! (-> self trans) (-> self trans) gp-2 f28-0) - (set! (-> s5-0 quad) (-> s3-0 bbox4w min quad)) - (vector-flatten! (-> self velocity) (-> self velocity) s5-0) - (set! f30-1 (- f30-1 (* f30-1 f28-0))) - (set! s2-0 1) + ) ) - (else - (vector+! (-> self trans) (-> self trans) gp-2) - (set! f30-1 0.0) - ) - ) ) - ) - ) - (when (nonzero? s2-0) - 0 - (let ((gp-3 (new-stack-vector0))) - 0.0 - (vector-! gp-3 (-> self trans) (-> self tracking follow-pt)) - (vector-flatten! gp-3 gp-3 (-> *camera* local-down)) - (let - ((f0-14 - (/ - (- (vector-length gp-3) (-> *CAM_STICK-bank* min-z)) - (- (-> *CAM_STICK-bank* max-z) (-> *CAM_STICK-bank* min-z)) - ) + (when (nonzero? s2-0) + 0 + (let ((gp-3 (new-stack-vector0))) + 0.0 + (vector-! gp-3 (-> self trans) (-> self tracking follow-pt)) + (vector-flatten! gp-3 gp-3 (-> *camera* local-down)) + (let ((f0-14 (/ (- (vector-length gp-3) (-> *CAM_STICK-bank* min-z)) + (- (-> *CAM_STICK-bank* max-z) (-> *CAM_STICK-bank* min-z)) + ) + ) + ) + (cond + ((< f0-14 0.0) + (set! f0-14 0.0) + ) + ((< 1.0 f0-14) + (set! f0-14 1.0) + ) + ) + (cond + ((< (- f0-14 (-> self view-off-param)) -0.001) + (set! (-> self view-off-param) f0-14) + ) + ((< 0.001 (- f0-14 (-> self view-off-param))) + (vector-normalize-copy! (-> self view-flat) gp-3 (-> self view-off z)) + ) + ) + ) ) - ) - (cond - ((< f0-14 0.0) - (set! f0-14 0.0) - ) - ((< 1.0 f0-14) - (set! f0-14 1.0) - ) - ) - (cond - ((< (- f0-14 (-> self view-off-param)) -0.001) - (set! (-> self view-off-param) f0-14) - ) - ((< 0.001 (- f0-14 (-> self view-off-param))) - (vector-normalize-copy! (-> self view-flat) gp-3 (-> self view-off z)) - ) - ) ) - ) ) - ) - (slave-set-rotation! - (-> self tracking) - (-> self trans) - (the-as float (-> self options)) - (-> self fov) - #t - ) + (slave-set-rotation! (-> self tracking) (-> self trans) (the-as float (-> self options)) (-> self fov) #t) (none) ) @@ -4247,159 +3234,117 @@ cam-standard-event-handler :enter (behavior () - (when (not (-> self enter-has-run)) - (set! (-> self view-off-param) (-> *camera* view-off-param-save)) - (set! (-> self view-off x) 0.0) - (set! - (-> self view-off y) - (lerp - (-> *CAM_STICK-bank* min-y) - (-> *CAM_STICK-bank* max-y) - (-> self view-off-param) + (when (not (-> self enter-has-run)) + (set! (-> self view-off-param) (-> *camera* view-off-param-save)) + (set! (-> self view-off x) 0.0) + (set! (-> self view-off y) + (lerp (-> *CAM_STICK-bank* min-y) (-> *CAM_STICK-bank* max-y) (-> self view-off-param)) + ) + (set! (-> self view-off z) + (lerp (-> *CAM_STICK-bank* min-z) (-> *CAM_STICK-bank* max-z) (-> self view-off-param)) + ) + (cam-calc-follow! (-> self tracking) (-> self trans) #f) + (vector-flatten! (-> self view-flat) (-> self tracking inv-mat vector 2) (-> *camera* local-down)) + (vector-negate! (-> self view-flat) (-> self view-flat)) + (vector-normalize! (-> self view-flat) (-> self view-off z)) + (vector--float*! (-> self desired-pos) (-> self view-flat) (-> *camera* local-down) (-> self view-off y)) + (vector+! (-> self desired-pos) (-> self desired-pos) (-> self tracking follow-pt)) + (set! (-> self trans quad) (-> self desired-pos quad)) + (vector-reset! (-> self velocity)) + (set! (-> self blend-from-type) (the-as uint 2)) + (set! (-> self blend-to-type) (the-as uint 2)) + (slave-set-rotation! (-> self tracking) (-> self trans) (the-as float (-> self options)) (-> self fov) #f) ) - ) - (set! - (-> self view-off z) - (lerp - (-> *CAM_STICK-bank* min-z) - (-> *CAM_STICK-bank* max-z) - (-> self view-off-param) - ) - ) - (cam-calc-follow! (-> self tracking) (-> self trans) #f) - (vector-flatten! - (-> self view-flat) - (-> self tracking inv-mat vector 2) - (-> *camera* local-down) - ) - (vector-negate! (-> self view-flat) (-> self view-flat)) - (vector-normalize! (-> self view-flat) (-> self view-off z)) - (vector--float*! - (-> self desired-pos) - (-> self view-flat) - (-> *camera* local-down) - (-> self view-off y) - ) - (vector+! - (-> self desired-pos) - (-> self desired-pos) - (-> self tracking follow-pt) - ) - (set! (-> self trans quad) (-> self desired-pos quad)) - (vector-reset! (-> self velocity)) - (set! (-> self blend-from-type) (the-as uint 2)) - (set! (-> self blend-to-type) (the-as uint 2)) - (slave-set-rotation! - (-> self tracking) - (-> self trans) - (the-as float (-> self options)) - (-> self fov) - #f - ) + (none) ) - (none) - ) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (cam-slave-go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (cam-slave-go cam-free-floating) + ) + (when (not (paused?)) + (when *camera-read-analog* + (let ((f0-0 + (analog-input + (the-as int (-> *cpad-list* cpads 0 righty)) + (the-as float 128.0) + (the-as float 32.0) + (the-as float 110.0) + (the-as float 0.05) + ) + ) + ) + (cond + ((< (* 0.05 (- 1.0 (-> self view-off-param))) f0-0) + (+! (-> self view-off-param) (* 0.05 (- 1.0 (-> self view-off-param)))) + ) + ((< f0-0 (* 0.05 (- (-> self view-off-param)))) + (+! (-> self view-off-param) (* 0.05 (- (-> self view-off-param)))) + ) + (else + (+! (-> self view-off-param) f0-0) + ) + ) + ) + ) + (set! (-> self view-off y) + (lerp (-> *CAM_STICK-bank* min-y) (-> *CAM_STICK-bank* max-y) (-> self view-off-param)) + ) + (set! (-> self view-off z) + (lerp (-> *CAM_STICK-bank* min-z) (-> *CAM_STICK-bank* max-z) (-> self view-off-param)) + ) + (when *camera-read-analog* + (let ((f0-16 (analog-input + (the-as int (-> *cpad-list* cpads 0 rightx)) + (the-as float 128.0) + (the-as float 32.0) + (the-as float 110.0) + (* 21845.334 (-> *display* seconds-per-frame)) + ) + ) + (gp-0 (new-stack-matrix0)) + (s3-0 (new-stack-vector0)) + (s5-0 (new-stack-vector0)) + (s4-0 (new-stack-vector0)) + ) + (cond + ((!= f0-16 0.0) + (matrix-axis-angle! gp-0 (-> *camera* local-down) f0-16) + (vector-matrix*! (-> self view-flat) (-> self view-flat) gp-0) + ) + ((logtest? (-> self options) 1) + (set-vector! s5-0 0.0 0.0 1.0 1.0) + (vector-normalize-copy! s5-0 (-> self view-flat) (the-as float 1.0)) + (set! (-> s3-0 quad) (-> *camera* tgt-rot-mat vector 2 quad)) + (vector-flatten! s3-0 s3-0 (-> *camera* local-down)) + (vector-negate! s3-0 s3-0) + (set! (-> s4-0 quad) (-> s5-0 quad)) + (vector-normalize-copy! s4-0 s3-0 (the-as float 1.0)) + (matrix-from-two-vectors-max-angle-partial! + gp-0 + s5-0 + s4-0 + (* 10922.667 (-> *display* seconds-per-frame)) + (the-as float 0.05) + ) + (vector-matrix*! (-> self view-flat) (-> self view-flat) gp-0) + ) + ) + ) + ) + ) + (none) ) - (when (not (paused?)) - (when *camera-read-analog* - (let - ((f0-0 - (analog-input - (the-as int (-> *cpad-list* cpads 0 righty)) - (the-as float 128.0) - (the-as float 32.0) - (the-as float 110.0) - (the-as float 0.05) - ) - ) - ) - (cond - ((< (* 0.05 (- 1.0 (-> self view-off-param))) f0-0) - (+! (-> self view-off-param) (* 0.05 (- 1.0 (-> self view-off-param)))) - ) - ((< f0-0 (* 0.05 (- (-> self view-off-param)))) - (+! (-> self view-off-param) (* 0.05 (- (-> self view-off-param)))) - ) - (else - (+! (-> self view-off-param) f0-0) - ) - ) - ) - ) - (set! - (-> self view-off y) - (lerp - (-> *CAM_STICK-bank* min-y) - (-> *CAM_STICK-bank* max-y) - (-> self view-off-param) - ) - ) - (set! - (-> self view-off z) - (lerp - (-> *CAM_STICK-bank* min-z) - (-> *CAM_STICK-bank* max-z) - (-> self view-off-param) - ) - ) - (when *camera-read-analog* - (let - ((f0-16 - (analog-input - (the-as int (-> *cpad-list* cpads 0 rightx)) - (the-as float 128.0) - (the-as float 32.0) - (the-as float 110.0) - (* 21845.334 (-> *display* seconds-per-frame)) - ) - ) - (gp-0 (new-stack-matrix0)) - (s3-0 (new-stack-vector0)) - (s5-0 (new-stack-vector0)) - (s4-0 (new-stack-vector0)) - ) - (cond - ((!= f0-16 0.0) - (matrix-axis-angle! gp-0 (-> *camera* local-down) f0-16) - (vector-matrix*! (-> self view-flat) (-> self view-flat) gp-0) - ) - ((logtest? (-> self options) 1) - (set-vector! s5-0 0.0 0.0 1.0 1.0) - (vector-normalize-copy! s5-0 (-> self view-flat) (the-as float 1.0)) - (set! (-> s3-0 quad) (-> *camera* tgt-rot-mat vector 2 quad)) - (vector-flatten! s3-0 s3-0 (-> *camera* local-down)) - (vector-negate! s3-0 s3-0) - (set! (-> s4-0 quad) (-> s5-0 quad)) - (vector-normalize-copy! s4-0 s3-0 (the-as float 1.0)) - (matrix-from-two-vectors-max-angle-partial! - gp-0 - s5-0 - s4-0 - (* 10922.667 (-> *display* seconds-per-frame)) - (the-as float 0.05) - ) - (vector-matrix*! (-> self view-flat) (-> self view-flat) gp-0) - ) - ) - ) - ) - ) - (none) - ) :code (behavior () - (while #t - (if (not (paused?)) - (cam-stick-code) - ) - (suspend) + (while #t + (if (not (paused?)) + (cam-stick-code) + ) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition of type cam-bike-bank @@ -4427,34 +3372,19 @@ ;; definition for symbol *CAM_BIKE-bank*, type cam-bike-bank (define *CAM_BIKE-bank* - (new 'static 'cam-bike-bank - :max-z (meters 6.0) - :min-z (meters 10.0) - :max-y (meters 3.0) - :min-y (meters 5.0) - ) + (new 'static 'cam-bike-bank :max-z (meters 6.0) :min-z (meters 10.0) :max-y (meters 3.0) :min-y (meters 5.0)) ) ;; definition for function cam-calc-bike-follow! -(defbehavior - cam-calc-bike-follow! camera-slave - ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 symbol)) - (vector-float*! - (-> arg0 follow-off) - (-> *camera* tgt-face-mat vector 2) - 155648.0 - ) - (vector+! - (-> arg0 follow-pt) - (-> *camera* tpos-curr-adj) - (-> arg0 follow-off) - ) +(defbehavior cam-calc-bike-follow! camera-slave ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 symbol)) + (vector-float*! (-> arg0 follow-off) (-> *camera* tgt-face-mat vector 2) 155648.0) + (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) (vector--float*! - (-> arg0 follow-pt) - (-> arg0 follow-pt) - (-> *camera* local-down) - (+ 12288.0 (-> *camera* target-height)) - ) + (-> arg0 follow-pt) + (-> arg0 follow-pt) + (-> *camera* local-down) + (+ 12288.0 (-> *camera* target-height)) + ) (-> arg0 follow-pt) ) @@ -4462,130 +3392,89 @@ ;; Used lq/sq (defbehavior cam-bike-code camera-slave () (let ((s4-0 (new-stack-matrix0))) - (let ((gp-0 (new-stack-vector0)) - (s5-0 (new-stack-vector0)) - ) - (vector-normalize-copy! gp-0 (-> self view-flat) (the-as float 1.0)) - (vector-flatten! - s5-0 - (-> *camera* tgt-rot-mat vector 2) - (-> *camera* local-down) - ) - (vector-normalize! s5-0 (the-as float -1.0)) - (matrix-from-two-vectors-partial-linear! s4-0 gp-0 s5-0 (the-as float 0.2)) + (let ((gp-0 (new-stack-vector0)) + (s5-0 (new-stack-vector0)) + ) + (vector-normalize-copy! gp-0 (-> self view-flat) (the-as float 1.0)) + (vector-flatten! s5-0 (-> *camera* tgt-rot-mat vector 2) (-> *camera* local-down)) + (vector-normalize! s5-0 (the-as float -1.0)) + (matrix-from-two-vectors-partial-linear! s4-0 gp-0 s5-0 (the-as float 0.2)) + ) + (vector-matrix*! (-> self view-flat) (-> self view-flat) s4-0) ) - (vector-matrix*! (-> self view-flat) (-> self view-flat) s4-0) - ) (let ((gp-1 (new-stack-vector0))) - 0.0 - (vector-! gp-1 (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj)) - (let ((f30-0 (vector-length gp-1))) - (set! - (-> self view-off z) - (lerp-clamp - (-> *CAM_BIKE-bank* max-z) - (-> *CAM_BIKE-bank* min-z) - (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f30-0))) + 0.0 + (vector-! gp-1 (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj)) + (let ((f30-0 (vector-length gp-1))) + (set! (-> self view-off z) (lerp-clamp + (-> *CAM_BIKE-bank* max-z) + (-> *CAM_BIKE-bank* min-z) + (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f30-0))) + ) + ) + (set! (-> self view-off y) (lerp-clamp + (-> *CAM_BIKE-bank* max-y) + (-> *CAM_BIKE-bank* min-y) + (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f30-0))) + ) + ) ) - ) - (set! - (-> self view-off y) - (lerp-clamp - (-> *CAM_BIKE-bank* max-y) - (-> *CAM_BIKE-bank* min-y) - (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f30-0))) - ) - ) + (vector-flatten! (-> self view-flat) (-> self view-flat) (-> *camera* local-down)) + (vector-normalize! (-> self view-flat) (-> self view-off z)) + (vector-! gp-1 (-> self view-flat) (vector-float*! gp-1 (-> *camera* local-down) (-> self view-off y))) + (vector+! (-> self desired-pos) (-> *camera* tpos-curr-adj) gp-1) ) - (vector-flatten! - (-> self view-flat) - (-> self view-flat) - (-> *camera* local-down) - ) - (vector-normalize! (-> self view-flat) (-> self view-off z)) - (vector-! - gp-1 - (-> self view-flat) - (vector-float*! gp-1 (-> *camera* local-down) (-> self view-off y)) - ) - (vector+! (-> self desired-pos) (-> *camera* tpos-curr-adj) gp-1) - ) (let ((v1-20 (new-stack-vector0)) (gp-2 (new-stack-vector0)) ) - (vector-! v1-20 (-> self desired-pos) (-> self trans)) - (vector-float*! v1-20 v1-20 0.2) - (vector-! gp-2 v1-20 (-> self velocity)) - (if (< 409.6 (vector-length gp-2)) - (vector-normalize! gp-2 (the-as float 409.6)) + (vector-! v1-20 (-> self desired-pos) (-> self trans)) + (vector-float*! v1-20 v1-20 0.2) + (vector-! gp-2 v1-20 (-> self velocity)) + (if (< 409.6 (vector-length gp-2)) + (vector-normalize! gp-2 (the-as float 409.6)) + ) + (vector+! (-> self velocity) (-> self velocity) gp-2) ) - (vector+! (-> self velocity) (-> self velocity) gp-2) - ) 0.0 (let ((f30-2 1.0) (gp-3 (new-stack-vector0)) (s5-3 4) (s4-3 (new 'stack-no-clear 'collide-mesh-cache-tri)) ) - (while - (and - (< 0.01 f30-2) - (and - (< - (-> *CAMERA-bank* min-detectable-velocity) - (vector-length (-> self velocity)) - ) - (> s5-3 0) - ) - ) - (+! s5-3 -1) - (vector-float*! gp-3 (-> self velocity) f30-2) - (let ((f28-0 (if (logtest? (-> self options) 32) - (dummy-10 - *collide-cache* - (-> self trans) - gp-3 - (the-as float 4096.0) - #x4a09 - (the-as process #f) - s4-3 - 2 - ) + (while (and + (< 0.01 f30-2) + (and (< (-> *CAMERA-bank* min-detectable-velocity) (vector-length (-> self velocity))) (> s5-3 0)) + ) + (+! s5-3 -1) + (vector-float*! gp-3 (-> self velocity) f30-2) + (let ((f28-0 + (if (logtest? (-> self options) 32) + (dummy-10 *collide-cache* (-> self trans) gp-3 (the-as float 4096.0) #x4a09 (the-as process #f) s4-3 2) -100000000.0 ) + ) + ) + (cond + ((>= f28-0 0.0) + (vector+float*! (-> self trans) (-> self trans) gp-3 f28-0) + (vector-flatten! (-> self velocity) (-> self velocity) (the-as vector (-> s4-3 bbox4w))) + (set! f30-2 (- f30-2 (* f30-2 f28-0))) + (let ((s3-2 (new-stack-vector0))) + (vector-! s3-2 (-> self trans) (-> *camera* tpos-curr-adj)) + (vector-flatten! s3-2 s3-2 (-> *camera* local-down)) + (vector-normalize-copy! (-> self view-flat) s3-2 (-> self view-off z)) + ) ) + (else + (vector+! (-> self trans) (-> self trans) gp-3) + (set! f30-2 0.0) + ) ) - (cond - ((>= f28-0 0.0) - (vector+float*! (-> self trans) (-> self trans) gp-3 f28-0) - (vector-flatten! - (-> self velocity) - (-> self velocity) - (the-as vector (-> s4-3 bbox4w)) ) - (set! f30-2 (- f30-2 (* f30-2 f28-0))) - (let ((s3-2 (new-stack-vector0))) - (vector-! s3-2 (-> self trans) (-> *camera* tpos-curr-adj)) - (vector-flatten! s3-2 s3-2 (-> *camera* local-down)) - (vector-normalize-copy! (-> self view-flat) s3-2 (-> self view-off z)) - ) - ) - (else - (vector+! (-> self trans) (-> self trans) gp-3) - (set! f30-2 0.0) - ) ) - ) ) - ) (cam-calc-bike-follow! (-> self tracking) (-> self trans) #t) - (slave-set-rotation! - (-> self tracking) - (-> self trans) - (the-as float (-> self options)) - (-> self fov) - #t - ) + (slave-set-rotation! (-> self tracking) (-> self trans) (the-as float (-> self options)) (-> self fov) #t) (none) ) @@ -4595,62 +3484,43 @@ cam-standard-event-handler :enter (behavior () - (when (not (-> self enter-has-run)) - (set! (-> *camera* foot-offset) 4096.0) - (set! (-> *camera* head-offset) 16384.0) - (set! (-> self view-off x) 0.0) - (set! (-> self view-off y) (-> *CAM_BIKE-bank* max-y)) - (set! (-> self view-off z) (-> *CAM_BIKE-bank* max-z)) - (vector-flatten! - (-> self view-flat) - (-> self tracking inv-mat vector 2) - (-> *camera* local-down) - ) - (vector-negate! (-> self view-flat) (-> self view-flat)) - (vector-normalize! (-> self view-flat) (-> self view-off z)) - (vector--float*! - (-> self desired-pos) - (-> self view-flat) - (-> *camera* local-down) - (-> self view-off y) - ) - (vector+! - (-> self desired-pos) - (-> self desired-pos) - (-> *camera* tpos-curr-adj) - ) - (set! (-> self trans quad) (-> self desired-pos quad)) - (vector-reset! (-> self velocity)) - (set! (-> self blend-from-type) (the-as uint 0)) - (set! (-> self blend-to-type) (the-as uint 1)) - (cam-calc-bike-follow! (-> self tracking) (-> self trans) #f) - (slave-set-rotation! - (-> self tracking) - (-> self trans) - (the-as float (-> self options)) - (-> self fov) - #f - ) + (when (not (-> self enter-has-run)) + (set! (-> *camera* foot-offset) 4096.0) + (set! (-> *camera* head-offset) 16384.0) + (set! (-> self view-off x) 0.0) + (set! (-> self view-off y) (-> *CAM_BIKE-bank* max-y)) + (set! (-> self view-off z) (-> *CAM_BIKE-bank* max-z)) + (vector-flatten! (-> self view-flat) (-> self tracking inv-mat vector 2) (-> *camera* local-down)) + (vector-negate! (-> self view-flat) (-> self view-flat)) + (vector-normalize! (-> self view-flat) (-> self view-off z)) + (vector--float*! (-> self desired-pos) (-> self view-flat) (-> *camera* local-down) (-> self view-off y)) + (vector+! (-> self desired-pos) (-> self desired-pos) (-> *camera* tpos-curr-adj)) + (set! (-> self trans quad) (-> self desired-pos quad)) + (vector-reset! (-> self velocity)) + (set! (-> self blend-from-type) (the-as uint 0)) + (set! (-> self blend-to-type) (the-as uint 1)) + (cam-calc-bike-follow! (-> self tracking) (-> self trans) #f) + (slave-set-rotation! (-> self tracking) (-> self trans) (the-as float (-> self options)) (-> self fov) #f) + ) + (none) ) - (none) - ) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (cam-slave-go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (cam-slave-go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (if (not (paused?)) - (cam-bike-code) - ) - (suspend) + (while #t + (if (not (paused?)) + (cam-bike-code) + ) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for symbol *camera-base-mode*, type (state camera-slave) diff --git a/test/decompiler/reference/engine/camera/cam-update-h_REF.gc b/test/decompiler/reference/engine/camera/cam-update-h_REF.gc index d43dcd4555..a4513dfb91 100644 --- a/test/decompiler/reference/engine/camera/cam-update-h_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-update-h_REF.gc @@ -20,14 +20,10 @@ (define-perm *camera-other-trans* vector (vector-reset! (new 'global 'vector))) ;; definition (perm) for symbol *camera-other-matrix*, type matrix -(define-perm *camera-other-matrix* matrix - (matrix-identity! (new 'global 'matrix)) - ) +(define-perm *camera-other-matrix* matrix (matrix-identity! (new 'global 'matrix))) ;; definition (perm) for symbol *camera-smush-control*, type smush-control -(define-perm *camera-smush-control* smush-control - (set-zero! (new 'global 'smush-control)) - ) +(define-perm *camera-smush-control* smush-control (set-zero! (new 'global 'smush-control))) ;; definition (perm) for symbol *camera-other-root*, type vector (define-perm *camera-other-root* vector (vector-reset! (new 'global 'vector))) diff --git a/test/decompiler/reference/engine/camera/cam-update_REF.gc b/test/decompiler/reference/engine/camera/cam-update_REF.gc index 0d39837f85..0fb1d5b168 100644 --- a/test/decompiler/reference/engine/camera/cam-update_REF.gc +++ b/test/decompiler/reference/engine/camera/cam-update_REF.gc @@ -2,26 +2,19 @@ (in-package goal) ;; definition for function plane-from-points -(defun - plane-from-points - ((arg0 (inline-array plane)) - (arg1 vector) - (arg2 vector) - (arg3 vector) - (arg4 int) - ) +(defun plane-from-points ((arg0 (inline-array plane)) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 int)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (vector-cross! s4-0 arg1 arg2) - (vector-normalize! s4-0 1.0) - (set! (-> s4-0 w) (vector-dot s4-0 arg3)) - (set! (-> (&-> arg0 0 data arg4) 0) (-> s4-0 x)) - (set! (-> (&-> arg0 0 data arg4) 4) (-> s4-0 y)) - (set! (-> (&-> arg0 0 data arg4) 8) (-> s4-0 z)) - (let ((f0-5 (-> s4-0 w))) - (set! (-> (&-> arg0 0 data arg4) 12) f0-5) - f0-5 + (vector-cross! s4-0 arg1 arg2) + (vector-normalize! s4-0 1.0) + (set! (-> s4-0 w) (vector-dot s4-0 arg3)) + (set! (-> (&-> arg0 0 data arg4) 0) (-> s4-0 x)) + (set! (-> (&-> arg0 0 data arg4) 4) (-> s4-0 y)) + (set! (-> (&-> arg0 0 data arg4) 8) (-> s4-0 z)) + (let ((f0-5 (-> s4-0 w))) + (set! (-> (&-> arg0 0 data arg4) 12) f0-5) + f0-5 + ) ) - ) ) ;; definition for function set-point @@ -30,99 +23,65 @@ (set! (-> arg0 y) arg2) (set! (-> arg0 z) arg3) (let ((f0-3 1.0)) - (set! (-> arg0 w) f0-3) - f0-3 - ) + (set! (-> arg0 w) f0-3) + f0-3 + ) ) ;; definition for function update-view-planes ;; Used lq/sq -(defun - update-view-planes - ((arg0 math-camera) (arg1 (inline-array plane)) (arg2 float)) +(defun update-view-planes ((arg0 math-camera) (arg1 (inline-array plane)) (arg2 float)) (local-vars (sv-240 vector)) (when (not *artist-fix-frustum*) - (let ((s5-0 (new 'stack 'view-frustum))) - (let ((f30-0 (* arg2 (-> arg0 x-ratio) (-> arg0 d))) - (f26-0 (* arg2 (-> arg0 y-ratio) (-> arg0 d))) - (f28-0 (* arg2 (-> arg0 x-ratio) (-> arg0 f))) - (f24-0 (* arg2 (-> arg0 y-ratio) (-> arg0 f))) + (let ((s5-0 (new 'stack 'view-frustum))) + (let ((f30-0 (* arg2 (-> arg0 x-ratio) (-> arg0 d))) + (f26-0 (* arg2 (-> arg0 y-ratio) (-> arg0 d))) + (f28-0 (* arg2 (-> arg0 x-ratio) (-> arg0 f))) + (f24-0 (* arg2 (-> arg0 y-ratio) (-> arg0 f))) + ) + (set-point (-> s5-0 hither-top-left) (- f30-0) f26-0 (-> arg0 d)) + (set-point (-> s5-0 hither-top-right) f30-0 f26-0 (-> arg0 d)) + (set-point (-> s5-0 hither-bottom-left) (- f30-0) (- f26-0) (-> arg0 d)) + (set-point (-> s5-0 hither-bottom-right) f30-0 (- f26-0) (-> arg0 d)) + (set-point (-> s5-0 yon-top-left) (- f28-0) f24-0 (-> arg0 f)) + (set-point (-> s5-0 yon-top-right) f28-0 f24-0 (-> arg0 f)) + (set-point (-> s5-0 yon-bottom-left) (- f28-0) (- f24-0) (-> arg0 f)) + (set-point (-> s5-0 yon-bottom-right) f28-0 (- f24-0) (-> arg0 f)) + ) + (vector-matrix*! (-> s5-0 hither-top-left) (-> s5-0 hither-top-left) (-> arg0 inv-camera-rot)) + (vector-matrix*! (-> s5-0 hither-top-right) (-> s5-0 hither-top-right) (-> arg0 inv-camera-rot)) + (vector-matrix*! (-> s5-0 hither-bottom-left) (-> s5-0 hither-bottom-left) (-> arg0 inv-camera-rot)) + (vector-matrix*! (-> s5-0 hither-bottom-right) (-> s5-0 hither-bottom-right) (-> arg0 inv-camera-rot)) + (vector-matrix*! (-> s5-0 yon-top-left) (-> s5-0 yon-top-left) (-> arg0 inv-camera-rot)) + (vector-matrix*! (-> s5-0 yon-top-right) (-> s5-0 yon-top-right) (-> arg0 inv-camera-rot)) + (vector-matrix*! (-> s5-0 yon-bottom-left) (-> s5-0 yon-bottom-left) (-> arg0 inv-camera-rot)) + (vector-matrix*! (-> s5-0 yon-bottom-right) (-> s5-0 yon-bottom-right) (-> arg0 inv-camera-rot)) + (let ((s2-0 (new-stack-vector0)) + (s3-1 (new-stack-vector0)) + (s1-0 (new-stack-vector0)) + (s0-0 (new-stack-vector0)) + ) + (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) + (set! sv-240 (new 'stack-no-clear 'vector)) + (set! (-> sv-240 quad) (the-as uint128 0)) + (let ((v1-5 (-> arg0 inv-camera-rot vector 3 quad))) + (set! (-> sv-240 quad) v1-5) ) - (set-point (-> s5-0 hither-top-left) (- f30-0) f26-0 (-> arg0 d)) - (set-point (-> s5-0 hither-top-right) f30-0 f26-0 (-> arg0 d)) - (set-point (-> s5-0 hither-bottom-left) (- f30-0) (- f26-0) (-> arg0 d)) - (set-point (-> s5-0 hither-bottom-right) f30-0 (- f26-0) (-> arg0 d)) - (set-point (-> s5-0 yon-top-left) (- f28-0) f24-0 (-> arg0 f)) - (set-point (-> s5-0 yon-top-right) f28-0 f24-0 (-> arg0 f)) - (set-point (-> s5-0 yon-bottom-left) (- f28-0) (- f24-0) (-> arg0 f)) - (set-point (-> s5-0 yon-bottom-right) f28-0 (- f24-0) (-> arg0 f)) - ) - (vector-matrix*! - (-> s5-0 hither-top-left) - (-> s5-0 hither-top-left) - (-> arg0 inv-camera-rot) - ) - (vector-matrix*! - (-> s5-0 hither-top-right) - (-> s5-0 hither-top-right) - (-> arg0 inv-camera-rot) - ) - (vector-matrix*! - (-> s5-0 hither-bottom-left) - (-> s5-0 hither-bottom-left) - (-> arg0 inv-camera-rot) - ) - (vector-matrix*! - (-> s5-0 hither-bottom-right) - (-> s5-0 hither-bottom-right) - (-> arg0 inv-camera-rot) - ) - (vector-matrix*! - (-> s5-0 yon-top-left) - (-> s5-0 yon-top-left) - (-> arg0 inv-camera-rot) - ) - (vector-matrix*! - (-> s5-0 yon-top-right) - (-> s5-0 yon-top-right) - (-> arg0 inv-camera-rot) - ) - (vector-matrix*! - (-> s5-0 yon-bottom-left) - (-> s5-0 yon-bottom-left) - (-> arg0 inv-camera-rot) - ) - (vector-matrix*! - (-> s5-0 yon-bottom-right) - (-> s5-0 yon-bottom-right) - (-> arg0 inv-camera-rot) - ) - (let ((s2-0 (new-stack-vector0)) - (s3-1 (new-stack-vector0)) - (s1-0 (new-stack-vector0)) - (s0-0 (new-stack-vector0)) + (vector-! s2-0 (-> s5-0 yon-top-left) sv-240) + (vector-! s3-1 (-> s5-0 yon-top-right) sv-240) + (vector-! s1-0 (-> s5-0 yon-bottom-left) sv-240) + (vector-! s0-0 (-> s5-0 yon-bottom-right) sv-240) + (plane-from-points arg1 s2-0 s1-0 sv-240 0) + (plane-from-points arg1 s0-0 s3-1 sv-240 1) + (plane-from-points arg1 s3-1 s2-0 sv-240 2) + (let ((t9-20 plane-from-points) + (t0-3 3) + ) + (t9-20 arg1 s1-0 s0-0 sv-240 t0-3) ) - (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) - (set! sv-240 (new 'stack-no-clear 'vector)) - (set! (-> sv-240 quad) (the-as uint128 0)) - (let ((v1-5 (-> arg0 inv-camera-rot vector 3 quad))) - (set! (-> sv-240 quad) v1-5) + ) ) - (vector-! s2-0 (-> s5-0 yon-top-left) sv-240) - (vector-! s3-1 (-> s5-0 yon-top-right) sv-240) - (vector-! s1-0 (-> s5-0 yon-bottom-left) sv-240) - (vector-! s0-0 (-> s5-0 yon-bottom-right) sv-240) - (plane-from-points arg1 s2-0 s1-0 sv-240 0) - (plane-from-points arg1 s0-0 s3-1 sv-240 1) - (plane-from-points arg1 s3-1 s2-0 sv-240 2) - (let ((t9-20 plane-from-points) - (t0-3 3) - ) - (t9-20 arg1 s1-0 s0-0 sv-240 t0-3) - ) - ) ) - ) ) ;; definition for symbol *update-leaf-when-outside-bsp*, type symbol @@ -132,109 +91,103 @@ (defun update-visible ((arg0 math-camera)) (local-vars (a0-16 symbol) (s3-0 level-vis-info) (s4-0 level-vis-info)) (when (not *artist-fix-visible*) - (dotimes (s5-0 (-> *level* length)) - (let ((v1-4 (-> *level* level s5-0))) - (when (= (-> v1-4 status) 'active) - (if - (and - (nonzero? (-> v1-4 bsp nodes)) - (or *update-leaf-when-outside-bsp* (-> v1-4 inside-boxes?)) - ) - (bsp-camera-asm (-> v1-4 bsp) (-> arg0 trans)) - ) - ) - ) - ) - (dotimes (gp-1 (-> *level* length)) - (let ((s5-1 (-> *level* level gp-1))) - (when (= (-> s5-1 status) 'active) - (let ((a2-0 (/ (+ (-> s5-1 bsp visible-list-length) 15) 16))) - (set! (-> s5-1 all-visible?) (if (-> s5-1 all-visible?) - (-> s5-1 all-visible?) - #t - ) - ) - (cond - ((or (not (-> s5-1 force-all-visible?)) (-> s5-1 inside-boxes?)) - (cond - ((or *artist-all-visible* (zero? (-> s5-1 bsp nodes))) - (quad-copy! (-> s5-1 vis-bits) (-> s5-1 bsp all-visible-list) a2-0) - ) - ((begin - (set! s4-0 (-> s5-1 vis-info (-> s5-1 vis-self-index))) - (set! s3-0 (-> s5-1 vis-info (-> s5-1 vis-adj-index))) - (let ((v1-32 #f)) - (set! a0-16 #f) - (when s4-0 - (set! v1-32 (logtest? (shl #x8000 16) (-> s4-0 flags))) - (if (< (-> s4-0 length) (-> s4-0 from-bsp current-leaf-idx)) - (set! v1-32 #f) - ) + (dotimes (s5-0 (-> *level* length)) + (let ((v1-4 (-> *level* level s5-0))) + (when (= (-> v1-4 status) 'active) + (if (and (nonzero? (-> v1-4 bsp nodes)) (or *update-leaf-when-outside-bsp* (-> v1-4 inside-boxes?))) + (bsp-camera-asm (-> v1-4 bsp) (-> arg0 trans)) ) - (when s3-0 - (set! a0-16 (logtest? (shl #x8000 16) (-> s3-0 flags))) - (if (< (-> s3-0 length) (-> s3-0 from-bsp current-leaf-idx)) - (set! a0-16 #f) - ) - ) - v1-32 - ) - ) - (if (!= (-> s5-1 all-visible?) 'loading) - (set! (-> s5-1 all-visible?) #f) - ) - (when - (update-vis! s5-1 s4-0 (-> s4-0 ramdisk) (-> s4-0 string-block)) - (countdown (v1-40 8) - (let ((a0-22 (-> s5-1 vis-info v1-40))) - (when a0-22 - (if (!= a0-22 s4-0) - (set! (-> a0-22 current-vis-string) (the-as uint -1)) - ) - ) - ) - ) - (set! (-> s5-1 all-visible?) #f) - ) - ) - (a0-16 - (if (!= (-> s5-1 all-visible?) 'loading) - (set! (-> s5-1 all-visible?) #f) - ) - (when - (update-vis! s5-1 s3-0 (-> s3-0 ramdisk) (-> s3-0 string-block)) - (countdown (v1-50 8) - (let ((a0-27 (-> s5-1 vis-info v1-50))) - (when a0-27 - (if (!= a0-27 s3-0) - (set! (-> a0-27 current-vis-string) (the-as uint -1)) - ) - ) - ) - ) - (set! (-> s5-1 all-visible?) #f) - ) - ) - ((and (= (-> s5-1 all-visible?) 'loading) (-> *level* play?)) - ) - (else - (quad-copy! (-> s5-1 vis-bits) (-> s5-1 bsp all-visible-list) a2-0) - ) ) - ) - (else - (quad-copy! (-> s5-1 vis-bits) (-> s5-1 bsp all-visible-list) a2-0) - ) ) - ) - (if (and *stats-bsp* (= *master-mode* 'game)) - (format *stdcon* "~0kleaf-index = ~d~%" (-> s5-1 bsp current-leaf-idx)) - ) ) - ) + (dotimes (gp-1 (-> *level* length)) + (let ((s5-1 (-> *level* level gp-1))) + (when (= (-> s5-1 status) 'active) + (let ((a2-0 (/ (+ (-> s5-1 bsp visible-list-length) 15) 16))) + (set! (-> s5-1 all-visible?) (if (-> s5-1 all-visible?) + (-> s5-1 all-visible?) + #t + ) + ) + (cond + ((or (not (-> s5-1 force-all-visible?)) (-> s5-1 inside-boxes?)) + (cond + ((or *artist-all-visible* (zero? (-> s5-1 bsp nodes))) + (quad-copy! (-> s5-1 vis-bits) (-> s5-1 bsp all-visible-list) a2-0) + ) + ((begin + (set! s4-0 (-> s5-1 vis-info (-> s5-1 vis-self-index))) + (set! s3-0 (-> s5-1 vis-info (-> s5-1 vis-adj-index))) + (let ((v1-32 #f)) + (set! a0-16 #f) + (when s4-0 + (set! v1-32 (logtest? (shl #x8000 16) (-> s4-0 flags))) + (if (< (-> s4-0 length) (-> s4-0 from-bsp current-leaf-idx)) + (set! v1-32 #f) + ) + ) + (when s3-0 + (set! a0-16 (logtest? (shl #x8000 16) (-> s3-0 flags))) + (if (< (-> s3-0 length) (-> s3-0 from-bsp current-leaf-idx)) + (set! a0-16 #f) + ) + ) + v1-32 + ) + ) + (if (!= (-> s5-1 all-visible?) 'loading) + (set! (-> s5-1 all-visible?) #f) + ) + (when (update-vis! s5-1 s4-0 (-> s4-0 ramdisk) (-> s4-0 string-block)) + (countdown (v1-40 8) + (let ((a0-22 (-> s5-1 vis-info v1-40))) + (when a0-22 + (if (!= a0-22 s4-0) + (set! (-> a0-22 current-vis-string) (the-as uint -1)) + ) + ) + ) + ) + (set! (-> s5-1 all-visible?) #f) + ) + ) + (a0-16 + (if (!= (-> s5-1 all-visible?) 'loading) + (set! (-> s5-1 all-visible?) #f) + ) + (when (update-vis! s5-1 s3-0 (-> s3-0 ramdisk) (-> s3-0 string-block)) + (countdown (v1-50 8) + (let ((a0-27 (-> s5-1 vis-info v1-50))) + (when a0-27 + (if (!= a0-27 s3-0) + (set! (-> a0-27 current-vis-string) (the-as uint -1)) + ) + ) + ) + ) + (set! (-> s5-1 all-visible?) #f) + ) + ) + ((and (= (-> s5-1 all-visible?) 'loading) (-> *level* play?)) + ) + (else + (quad-copy! (-> s5-1 vis-bits) (-> s5-1 bsp all-visible-list) a2-0) + ) + ) + ) + (else + (quad-copy! (-> s5-1 vis-bits) (-> s5-1 bsp all-visible-list) a2-0) + ) + ) + ) + (if (and *stats-bsp* (= *master-mode* 'game)) + (format *stdcon* "~0kleaf-index = ~d~%" (-> s5-1 bsp current-leaf-idx)) + ) + ) + ) + ) + #f ) - #f - ) ) ;; definition for symbol *save-camera-inv-rot*, type matrix @@ -249,39 +202,32 @@ (let ((v1-0 *external-cam-mode*) (s5-0 0) ) - (cond - ((= v1-0 'locked) - (set! v1-0 #f) - ) - ((= v1-0 'pad-1) - (set! s5-0 1) - ) - ((not *camera-combiner*) - (set! v1-0 'pad-0) - ) - ) - (when v1-0 - (let - ((s4-1 - (vector-negate-in-place! - (vector-normalize-copy! - (new-stack-vector0) - (-> *standard-dynamics* gravity) - 1.0 - ) - ) + (cond + ((= v1-0 'locked) + (set! v1-0 #f) + ) + ((= v1-0 'pad-1) + (set! s5-0 1) + ) + ((not *camera-combiner*) + (set! v1-0 'pad-0) ) ) - (if (= (vector-length s4-1) 0.0) - (set! (-> s4-1 y) -1.0) + (when v1-0 + (let ((s4-1 + (vector-negate-in-place! (vector-normalize-copy! (new-stack-vector0) (-> *standard-dynamics* gravity) 1.0)) + ) + ) + (if (= (vector-length s4-1) 0.0) + (set! (-> s4-1 y) -1.0) + ) + (if (logtest? *external-cam-options* 1) + (set! s4-1 (the-as vector #f)) + ) + (cam-free-floating-move *save-camera-inv-rot* (-> arg0 trans) s4-1 s5-0) + ) ) - (if (logtest? *external-cam-options* 1) - (set! s4-1 (the-as vector #f)) - ) - (cam-free-floating-move *save-camera-inv-rot* (-> arg0 trans) s4-1 s5-0) - ) ) - ) (let* ((a2-2 (-> *math-camera* inv-camera-rot)) (a3-1 *save-camera-inv-rot*) (v1-11 (-> a3-1 vector 0 quad)) @@ -289,11 +235,11 @@ (a1-2 (-> a3-1 vector 2 quad)) (a3-2 (-> a3-1 vector 3 quad)) ) - (set! (-> a2-2 vector 0 quad) v1-11) - (set! (-> a2-2 vector 1 quad) a0-14) - (set! (-> a2-2 vector 2 quad) a1-2) - (set! (-> a2-2 vector 3 quad) a3-2) - ) + (set! (-> a2-2 vector 0 quad) v1-11) + (set! (-> a2-2 vector 1 quad) a0-14) + (set! (-> a2-2 vector 2 quad) a1-2) + (set! (-> a2-2 vector 3 quad) a3-2) + ) arg0 ) @@ -310,340 +256,284 @@ ;; Used lq/sq (defun update-camera () (when *start-timer* - (when (= *timer-value* 180) - (format - #t - "Player pos = ~F ~F ~F~%" - (-> *target* control trans x) - (-> *target* control trans y) - (-> *target* control trans z) - ) - (set! (-> *start-pos* quad) (-> *target* control trans quad)) - ) - (when (= *timer-value* 480) - (format - #t - "Player pos = ~F ~F ~F~%" - (-> *target* control trans x) - (-> *target* control trans y) - (-> *target* control trans z) - ) - (format - #t - "Dist = ~F~%" - (* - 0.00024414062 - (vector-vector-xz-distance (-> *target* control trans) *start-pos*) - ) - ) - (set! *start-timer* (the-as int #f)) - ) - (if (< 179 *timer-value*) - (format *stdcon* "~%~%Time = ~D~%" *timer-value*) - ) - (set! *timer-value* (+ *timer-value* 1)) - ) - (when (not *start-timer*) - (set! *timer-value* 0) - 0 - ) - (dotimes (gp-1 2) - (let ((s5-1 (-> *level* level gp-1))) - (when (!= (-> s5-1 status) 'inactive) - (let ((a0-14 (new-stack-vector0))) - (vector-! - a0-14 - (the-as vector (-> s5-1 info bsphere)) - (-> *math-camera* trans) - ) - (set! - (-> s5-1 level-distance) - (fmax 0.0 (- (vector-length a0-14) (-> s5-1 info bsphere w))) - ) - ) - (when *display-level-spheres* - (add-debug-sphere - #t - (bucket-id debug-draw1) - (-> s5-1 info bsphere) - (-> s5-1 info bsphere w) - (new 'static 'rgba :r #xff :a #x80) - ) + (when (= *timer-value* 180) (format - *stdcon* - "~f ~f ~f ~f~%" - (* 0.00024414062 (-> s5-1 info bsphere x)) - (* 0.00024414062 (-> s5-1 info bsphere y)) - (* 0.00024414062 (-> s5-1 info bsphere z)) - (* 0.00024414062 (-> s5-1 info bsphere w)) - ) + #t + "Player pos = ~F ~F ~F~%" + (-> *target* control trans x) + (-> *target* control trans y) + (-> *target* control trans z) + ) + (set! (-> *start-pos* quad) (-> *target* control trans quad)) ) - ) + (when (= *timer-value* 480) + (format + #t + "Player pos = ~F ~F ~F~%" + (-> *target* control trans x) + (-> *target* control trans y) + (-> *target* control trans z) + ) + (format + #t + "Dist = ~F~%" + (* 0.00024414062 (vector-vector-xz-distance (-> *target* control trans) *start-pos*)) + ) + (set! *start-timer* (the-as int #f)) + ) + (if (< 179 *timer-value*) + (format *stdcon* "~%~%Time = ~D~%" *timer-value*) + ) + (set! *timer-value* (+ *timer-value* 1)) ) - ) - (update-math-camera - *math-camera* - (-> *setting-control* current video-mode) - (-> *setting-control* current aspect-ratio) - ) - (update! *camera-smush-control*) - (cond - ((or (= *master-mode* 'pause) (= *master-mode* 'progress) *progress-process*) - ) - ((>= *camera-look-through-other* 2) - (set! *camera-look-through-other* 1) - ) - ((and (= *camera-look-through-other* 1) (!= *master-mode* 'menu)) - (set! *camera-look-through-other* 0) + (when (not *start-timer*) + (set! *timer-value* 0) 0 ) - ) - (cond - (*external-cam-mode* - (move-camera-from-pad *math-camera*) - ) - ((nonzero? *camera-look-through-other*) - (set! (-> *math-camera* fov) (-> *camera-other-fov* data)) - (set! (-> *math-camera* trans quad) (-> *camera-other-trans* quad)) - (+! (-> *math-camera* trans y) (get-no-update *camera-smush-control*)) - (let* ((a2-9 (-> *math-camera* inv-camera-rot)) - (a3-4 *camera-other-matrix*) - (v1-86 (-> a3-4 vector 0 quad)) - (a0-29 (-> a3-4 vector 1 quad)) - (a1-10 (-> a3-4 vector 2 quad)) - (a3-5 (-> a3-4 vector 3 quad)) - ) - (set! (-> a2-9 vector 0 quad) v1-86) - (set! (-> a2-9 vector 1 quad) a0-29) - (set! (-> a2-9 vector 2 quad) a1-10) - (set! (-> a2-9 vector 3 quad) a3-5) - ) - (let* ((a2-10 *save-camera-inv-rot*) - (a3-6 *camera-other-matrix*) - (v1-87 (-> a3-6 vector 0 quad)) - (a0-30 (-> a3-6 vector 1 quad)) - (a1-11 (-> a3-6 vector 2 quad)) - (a3-7 (-> a3-6 vector 3 quad)) - ) - (set! (-> a2-10 vector 0 quad) v1-87) - (set! (-> a2-10 vector 1 quad) a0-30) - (set! (-> a2-10 vector 2 quad) a1-11) - (set! (-> a2-10 vector 3 quad) a3-7) - ) - ) - ((and *camera-combiner* (not *external-cam-mode*)) - (set! (-> *math-camera* fov) (-> *camera-combiner* fov)) - (set! (-> *math-camera* trans quad) (-> *camera-combiner* trans quad)) - (+! (-> *math-camera* trans y) (get-no-update *camera-smush-control*)) - (let* ((v1-100 (-> *math-camera* inv-camera-rot)) - (a3-8 (-> *camera-combiner* inv-camera-rot)) - (a0-36 (-> a3-8 vector 0 quad)) - (a1-12 (-> a3-8 vector 1 quad)) - (a2-11 (-> a3-8 vector 2 quad)) - (a3-9 (-> a3-8 vector 3 quad)) - ) - (set! (-> v1-100 vector 0 quad) a0-36) - (set! (-> v1-100 vector 1 quad) a1-12) - (set! (-> v1-100 vector 2 quad) a2-11) - (set! (-> v1-100 vector 3 quad) a3-9) - ) - (let* ((v1-101 *save-camera-inv-rot*) - (a3-10 (-> *camera-combiner* inv-camera-rot)) - (a0-38 (-> a3-10 vector 0 quad)) - (a1-13 (-> a3-10 vector 1 quad)) - (a2-12 (-> a3-10 vector 2 quad)) - (a3-11 (-> a3-10 vector 3 quad)) - ) - (set! (-> v1-101 vector 0 quad) a0-38) - (set! (-> v1-101 vector 1 quad) a1-13) - (set! (-> v1-101 vector 2 quad) a2-12) - (set! (-> v1-101 vector 3 quad) a3-11) - ) - ) - (else - (move-camera-from-pad *math-camera*) - ) - ) - (matrix-transpose! - (-> *math-camera* camera-rot) - (-> *math-camera* inv-camera-rot) - ) - (cond - (*camera-no-mip-correction* - (set! (-> *math-camera* fov-correction-factor) 1.0) - ) - (else - (let ((f0-28 (fmin 11650.845 (-> *math-camera* fov)))) - (set! (-> *math-camera* fov-correction-factor) (* 0.00008583069 f0-28)) - ) - ) - ) - (if (< 0.0 (-> *math-camera* smooth-t)) - (set! - (-> *math-camera* smooth-t) - (- (-> *math-camera* smooth-t) (-> *math-camera* smooth-step)) - ) - ) - (cond - ((< 0.0 (-> *math-camera* smooth-t)) - (let ((gp-2 (new-stack-quaternion0))) - (matrix->quaternion gp-2 (-> *math-camera* inv-camera-rot)) - (quaternion-slerp! - gp-2 - gp-2 - (-> *math-camera* inv-camera-rot-smooth-from) - (-> *math-camera* smooth-t) - ) - (quaternion->matrix (-> *math-camera* inv-camera-rot-smooth) gp-2) - ) - ) - (else - (let* ((v1-124 (-> *math-camera* inv-camera-rot-smooth)) - (a3-13 (-> *math-camera* inv-camera-rot)) - (a0-45 (-> a3-13 vector 0 quad)) - (a1-18 (-> a3-13 vector 1 quad)) - (a2-14 (-> a3-13 vector 2 quad)) - (a3-14 (-> a3-13 vector 3 quad)) - ) - (set! (-> v1-124 vector 0 quad) a0-45) - (set! (-> v1-124 vector 1 quad) a1-18) - (set! (-> v1-124 vector 2 quad) a2-14) - (set! (-> v1-124 vector 3 quad) a3-14) - ) - ) - ) - (if (and (!= *master-mode* 'menu) *display-camera-info*) - (format - *stdcon* - "cam pos ~M ~M ~M~%" - (-> *math-camera* trans x) - (-> *math-camera* trans y) - (-> *math-camera* trans z) - ) - ) - (when (zero? (-> *math-camera* reset)) - (let* ((v1-136 (-> *math-camera* prev-camera-temp)) - (a3-16 (-> *math-camera* camera-temp)) - (a0-50 (-> a3-16 vector 0 quad)) - (a1-20 (-> a3-16 vector 1 quad)) - (a2-16 (-> a3-16 vector 2 quad)) - (a3-17 (-> a3-16 vector 3 quad)) + (dotimes (gp-1 2) + (let ((s5-1 (-> *level* level gp-1))) + (when (!= (-> s5-1 status) 'inactive) + (let ((a0-14 (new-stack-vector0))) + (vector-! a0-14 (the-as vector (-> s5-1 info bsphere)) (-> *math-camera* trans)) + (set! (-> s5-1 level-distance) (fmax 0.0 (- (vector-length a0-14) (-> s5-1 info bsphere w)))) ) - (set! (-> v1-136 vector 0 quad) a0-50) - (set! (-> v1-136 vector 1 quad) a1-20) - (set! (-> v1-136 vector 2 quad) a2-16) - (set! (-> v1-136 vector 3 quad) a3-17) + (when *display-level-spheres* + (add-debug-sphere + #t + (bucket-id debug-draw1) + (-> s5-1 info bsphere) + (-> s5-1 info bsphere w) + (new 'static 'rgba :r #xff :a #x80) + ) + (format + *stdcon* + "~f ~f ~f ~f~%" + (* 0.00024414062 (-> s5-1 info bsphere x)) + (* 0.00024414062 (-> s5-1 info bsphere y)) + (* 0.00024414062 (-> s5-1 info bsphere z)) + (* 0.00024414062 (-> s5-1 info bsphere w)) + ) + ) + ) + ) + ) + (update-math-camera + *math-camera* + (-> *setting-control* current video-mode) + (-> *setting-control* current aspect-ratio) + ) + (update! *camera-smush-control*) + (cond + ((or (= *master-mode* 'pause) (= *master-mode* 'progress) *progress-process*) + ) + ((>= *camera-look-through-other* 2) + (set! *camera-look-through-other* 1) + ) + ((and (= *camera-look-through-other* 1) (!= *master-mode* 'menu)) + (set! *camera-look-through-other* 0) + 0 + ) + ) + (cond + (*external-cam-mode* + (move-camera-from-pad *math-camera*) + ) + ((nonzero? *camera-look-through-other*) + (set! (-> *math-camera* fov) (-> *camera-other-fov* data)) + (set! (-> *math-camera* trans quad) (-> *camera-other-trans* quad)) + (+! (-> *math-camera* trans y) (get-no-update *camera-smush-control*)) + (let* ((a2-9 (-> *math-camera* inv-camera-rot)) + (a3-4 *camera-other-matrix*) + (v1-86 (-> a3-4 vector 0 quad)) + (a0-29 (-> a3-4 vector 1 quad)) + (a1-10 (-> a3-4 vector 2 quad)) + (a3-5 (-> a3-4 vector 3 quad)) + ) + (set! (-> a2-9 vector 0 quad) v1-86) + (set! (-> a2-9 vector 1 quad) a0-29) + (set! (-> a2-9 vector 2 quad) a1-10) + (set! (-> a2-9 vector 3 quad) a3-5) + ) + (let* ((a2-10 *save-camera-inv-rot*) + (a3-6 *camera-other-matrix*) + (v1-87 (-> a3-6 vector 0 quad)) + (a0-30 (-> a3-6 vector 1 quad)) + (a1-11 (-> a3-6 vector 2 quad)) + (a3-7 (-> a3-6 vector 3 quad)) + ) + (set! (-> a2-10 vector 0 quad) v1-87) + (set! (-> a2-10 vector 1 quad) a0-30) + (set! (-> a2-10 vector 2 quad) a1-11) + (set! (-> a2-10 vector 3 quad) a3-7) + ) + ) + ((and *camera-combiner* (not *external-cam-mode*)) + (set! (-> *math-camera* fov) (-> *camera-combiner* fov)) + (set! (-> *math-camera* trans quad) (-> *camera-combiner* trans quad)) + (+! (-> *math-camera* trans y) (get-no-update *camera-smush-control*)) + (let* ((v1-100 (-> *math-camera* inv-camera-rot)) + (a3-8 (-> *camera-combiner* inv-camera-rot)) + (a0-36 (-> a3-8 vector 0 quad)) + (a1-12 (-> a3-8 vector 1 quad)) + (a2-11 (-> a3-8 vector 2 quad)) + (a3-9 (-> a3-8 vector 3 quad)) + ) + (set! (-> v1-100 vector 0 quad) a0-36) + (set! (-> v1-100 vector 1 quad) a1-12) + (set! (-> v1-100 vector 2 quad) a2-11) + (set! (-> v1-100 vector 3 quad) a3-9) + ) + (let* ((v1-101 *save-camera-inv-rot*) + (a3-10 (-> *camera-combiner* inv-camera-rot)) + (a0-38 (-> a3-10 vector 0 quad)) + (a1-13 (-> a3-10 vector 1 quad)) + (a2-12 (-> a3-10 vector 2 quad)) + (a3-11 (-> a3-10 vector 3 quad)) + ) + (set! (-> v1-101 vector 0 quad) a0-38) + (set! (-> v1-101 vector 1 quad) a1-13) + (set! (-> v1-101 vector 2 quad) a2-12) + (set! (-> v1-101 vector 3 quad) a3-11) + ) + ) + (else + (move-camera-from-pad *math-camera*) + ) + ) + (matrix-transpose! (-> *math-camera* camera-rot) (-> *math-camera* inv-camera-rot)) + (cond + (*camera-no-mip-correction* + (set! (-> *math-camera* fov-correction-factor) 1.0) + ) + (else + (let ((f0-28 (fmin 11650.845 (-> *math-camera* fov)))) + (set! (-> *math-camera* fov-correction-factor) (* 0.00008583069 f0-28)) + ) + ) + ) + (if (< 0.0 (-> *math-camera* smooth-t)) + (set! (-> *math-camera* smooth-t) (- (-> *math-camera* smooth-t) (-> *math-camera* smooth-step))) + ) + (cond + ((< 0.0 (-> *math-camera* smooth-t)) + (let ((gp-2 (new-stack-quaternion0))) + (matrix->quaternion gp-2 (-> *math-camera* inv-camera-rot)) + (quaternion-slerp! gp-2 gp-2 (-> *math-camera* inv-camera-rot-smooth-from) (-> *math-camera* smooth-t)) + (quaternion->matrix (-> *math-camera* inv-camera-rot-smooth) gp-2) + ) + ) + (else + (let* ((v1-124 (-> *math-camera* inv-camera-rot-smooth)) + (a3-13 (-> *math-camera* inv-camera-rot)) + (a0-45 (-> a3-13 vector 0 quad)) + (a1-18 (-> a3-13 vector 1 quad)) + (a2-14 (-> a3-13 vector 2 quad)) + (a3-14 (-> a3-13 vector 3 quad)) + ) + (set! (-> v1-124 vector 0 quad) a0-45) + (set! (-> v1-124 vector 1 quad) a1-18) + (set! (-> v1-124 vector 2 quad) a2-14) + (set! (-> v1-124 vector 3 quad) a3-14) + ) + ) + ) + (if (and (!= *master-mode* 'menu) *display-camera-info*) + (format + *stdcon* + "cam pos ~M ~M ~M~%" + (-> *math-camera* trans x) + (-> *math-camera* trans y) + (-> *math-camera* trans z) + ) + ) + (when (zero? (-> *math-camera* reset)) + (let* ((v1-136 (-> *math-camera* prev-camera-temp)) + (a3-16 (-> *math-camera* camera-temp)) + (a0-50 (-> a3-16 vector 0 quad)) + (a1-20 (-> a3-16 vector 1 quad)) + (a2-16 (-> a3-16 vector 2 quad)) + (a3-17 (-> a3-16 vector 3 quad)) + ) + (set! (-> v1-136 vector 0 quad) a0-50) + (set! (-> v1-136 vector 1 quad) a1-20) + (set! (-> v1-136 vector 2 quad) a2-16) + (set! (-> v1-136 vector 3 quad) a3-17) + ) ) - ) (let ((gp-3 (-> *math-camera* camera-temp)) (s4-1 (-> *math-camera* camera-rot)) (s5-2 (-> *math-camera* inv-camera-rot)) (s3-0 (-> *math-camera* trans)) ) - (let ((s2-0 (new-stack-vector0))) - (set! (-> s2-0 x) (- (-> s3-0 x))) - (set! (-> s2-0 y) (- (-> s3-0 y))) - (set! (-> s2-0 z) (- (-> s3-0 z))) - (set! (-> s2-0 w) 1.0) - (vector-matrix*! s2-0 s2-0 s4-1) - (set! (-> s4-1 vector 3 quad) (-> s2-0 quad)) + (let ((s2-0 (new-stack-vector0))) + (set! (-> s2-0 x) (- (-> s3-0 x))) + (set! (-> s2-0 y) (- (-> s3-0 y))) + (set! (-> s2-0 z) (- (-> s3-0 z))) + (set! (-> s2-0 w) 1.0) + (vector-matrix*! s2-0 s2-0 s4-1) + (set! (-> s4-1 vector 3 quad) (-> s2-0 quad)) + ) + (matrix*! gp-3 s4-1 (-> *math-camera* perspective)) + (set! (-> s5-2 vector 3 quad) (-> s3-0 quad)) ) - (matrix*! gp-3 s4-1 (-> *math-camera* perspective)) - (set! (-> s5-2 vector 3 quad) (-> s3-0 quad)) - ) (when (nonzero? (-> *math-camera* reset)) - (let* ((v1-148 (-> *math-camera* prev-camera-temp)) - (a3-18 (-> *math-camera* camera-temp)) - (a0-54 (-> a3-18 vector 0 quad)) - (a1-23 (-> a3-18 vector 1 quad)) - (a2-19 (-> a3-18 vector 2 quad)) - (a3-19 (-> a3-18 vector 3 quad)) - ) - (set! (-> v1-148 vector 0 quad) a0-54) - (set! (-> v1-148 vector 1 quad) a1-23) - (set! (-> v1-148 vector 2 quad) a2-19) - (set! (-> v1-148 vector 3 quad) a3-19) + (let* ((v1-148 (-> *math-camera* prev-camera-temp)) + (a3-18 (-> *math-camera* camera-temp)) + (a0-54 (-> a3-18 vector 0 quad)) + (a1-23 (-> a3-18 vector 1 quad)) + (a2-19 (-> a3-18 vector 2 quad)) + (a3-19 (-> a3-18 vector 3 quad)) + ) + (set! (-> v1-148 vector 0 quad) a0-54) + (set! (-> v1-148 vector 1 quad) a1-23) + (set! (-> v1-148 vector 2 quad) a2-19) + (set! (-> v1-148 vector 3 quad) a3-19) + ) + (set! (-> *math-camera* reset) 0) + 0 ) - (set! (-> *math-camera* reset) 0) - 0 - ) (let ((f0-45 (-> *math-camera* fog-min)) (f1-10 (-> *math-camera* fog-max)) ) - (let ((f2-0 (-> *math-camera* d))) - (set! (-> *instance-tie-work* hmge-d x) f0-45) - (set! (-> *instance-tie-work* hmge-d y) f1-10) - (set! (-> *instance-tie-work* hmge-d z) (* 32.0 f2-0)) - (set! - (-> *instance-tie-work* hmge-d w) - (* f2-0 (-> *math-camera* hmge-scale w)) - ) - (let ((v1-160 (-> *math-camera* hvdf-off quad))) - (set! (-> *instance-tie-work* hvdf-offset quad) v1-160) - ) - (set! (-> *instance-shrub-work* hmge-d x) f0-45) - (set! (-> *instance-shrub-work* hmge-d y) f1-10) - (set! (-> *instance-shrub-work* hmge-d z) (* 3.0 f2-0)) - (set! - (-> *instance-shrub-work* hmge-d w) - (* f2-0 (-> *math-camera* hmge-scale w)) - ) - (set! - (-> *instance-shrub-work* billboard-const x) - (/ (-> *math-camera* x-pix) (* f2-0 (-> *math-camera* x-ratio))) - ) - (set! - (-> *instance-shrub-work* billboard-const y) - (/ (-> *math-camera* y-pix) (* f2-0 (-> *math-camera* y-ratio))) - ) + (let ((f2-0 (-> *math-camera* d))) + (set! (-> *instance-tie-work* hmge-d x) f0-45) + (set! (-> *instance-tie-work* hmge-d y) f1-10) + (set! (-> *instance-tie-work* hmge-d z) (* 32.0 f2-0)) + (set! (-> *instance-tie-work* hmge-d w) (* f2-0 (-> *math-camera* hmge-scale w))) + (let ((v1-160 (-> *math-camera* hvdf-off quad))) + (set! (-> *instance-tie-work* hvdf-offset quad) v1-160) + ) + (set! (-> *instance-shrub-work* hmge-d x) f0-45) + (set! (-> *instance-shrub-work* hmge-d y) f1-10) + (set! (-> *instance-shrub-work* hmge-d z) (* 3.0 f2-0)) + (set! (-> *instance-shrub-work* hmge-d w) (* f2-0 (-> *math-camera* hmge-scale w))) + (set! (-> *instance-shrub-work* billboard-const x) + (/ (-> *math-camera* x-pix) (* f2-0 (-> *math-camera* x-ratio))) + ) + (set! (-> *instance-shrub-work* billboard-const y) + (/ (-> *math-camera* y-pix) (* f2-0 (-> *math-camera* y-ratio))) + ) + ) + (set! (-> *instance-shrub-work* billboard-const z) f0-45) + (set! (-> *instance-shrub-work* billboard-const w) f1-10) ) - (set! (-> *instance-shrub-work* billboard-const z) f0-45) - (set! (-> *instance-shrub-work* billboard-const w) f1-10) - ) - (set! - (-> *instance-shrub-work* constants w) - (the-as float (-> *math-camera* vis-gifs 0 fog0)) - ) + (set! (-> *instance-shrub-work* constants w) (the-as float (-> *math-camera* vis-gifs 0 fog0))) (let ((a0-56 (-> *math-camera* hvdf-off quad))) - (set! (-> *instance-shrub-work* hvdf-offset quad) a0-56) - ) + (set! (-> *instance-shrub-work* hvdf-offset quad) a0-56) + ) (update-view-planes *math-camera* (-> *math-camera* plane) 1.0) (update-view-planes *math-camera* (-> *math-camera* guard-plane) 4.0) - (set! - (-> *instance-shrub-work* guard-plane 0 quad) - (-> *math-camera* guard-plane 0 quad) - ) - (set! - (-> *instance-shrub-work* guard-plane 1 quad) - (-> *math-camera* guard-plane 1 quad) - ) - (set! - (-> *instance-shrub-work* guard-plane 2 quad) - (-> *math-camera* guard-plane 2 quad) - ) - (set! - (-> *instance-shrub-work* guard-plane 3 quad) - (-> *math-camera* guard-plane 3 quad) - ) - (set! - (-> *instance-tie-work* guard-plane 0 quad) - (-> *math-camera* guard-plane 0 quad) - ) - (set! - (-> *instance-tie-work* guard-plane 1 quad) - (-> *math-camera* guard-plane 1 quad) - ) - (set! - (-> *instance-tie-work* guard-plane 2 quad) - (-> *math-camera* guard-plane 2 quad) - ) - (set! - (-> *instance-tie-work* guard-plane 3 quad) - (-> *math-camera* guard-plane 3 quad) - ) + (set! (-> *instance-shrub-work* guard-plane 0 quad) (-> *math-camera* guard-plane 0 quad)) + (set! (-> *instance-shrub-work* guard-plane 1 quad) (-> *math-camera* guard-plane 1 quad)) + (set! (-> *instance-shrub-work* guard-plane 2 quad) (-> *math-camera* guard-plane 2 quad)) + (set! (-> *instance-shrub-work* guard-plane 3 quad) (-> *math-camera* guard-plane 3 quad)) + (set! (-> *instance-tie-work* guard-plane 0 quad) (-> *math-camera* guard-plane 0 quad)) + (set! (-> *instance-tie-work* guard-plane 1 quad) (-> *math-camera* guard-plane 1 quad)) + (set! (-> *instance-tie-work* guard-plane 2 quad) (-> *math-camera* guard-plane 2 quad)) + (set! (-> *instance-tie-work* guard-plane 3 quad) (-> *math-camera* guard-plane 3 quad)) (update-visible *math-camera*) (if (not (paused?)) - (update-wind *wind-work* *wind-scales*) - ) + (update-wind *wind-work* *wind-scales*) + ) #f ) diff --git a/test/decompiler/reference/engine/camera/camera-h_REF.gc b/test/decompiler/reference/engine/camera/camera-h_REF.gc index aa50d85ed8..60568155b6 100644 --- a/test/decompiler/reference/engine/camera/camera-h_REF.gc +++ b/test/decompiler/reference/engine/camera/camera-h_REF.gc @@ -26,50 +26,28 @@ (format #t "~Tjoypad: ~D~%" (-> obj joypad)) (format #t "~Tmin-detectable-velocity: ~f~%" (-> obj min-detectable-velocity)) (format #t "~Tattack-timeout: ~D~%" (-> obj attack-timeout)) - (format - #t - "~Tdefault-string-max-y: (meters ~m)~%" - (-> obj default-string-max-y) - ) - (format - #t - "~Tdefault-string-min-y: (meters ~m)~%" - (-> obj default-string-min-y) - ) - (format - #t - "~Tdefault-string-max-z: (meters ~m)~%" - (-> obj default-string-max-z) - ) - (format - #t - "~Tdefault-string-min-z: (meters ~m)~%" - (-> obj default-string-min-z) - ) - (format - #t - "~Tdefault-string-push-z: (meters ~m)~%" - (-> obj default-string-push-z) - ) + (format #t "~Tdefault-string-max-y: (meters ~m)~%" (-> obj default-string-max-y)) + (format #t "~Tdefault-string-min-y: (meters ~m)~%" (-> obj default-string-min-y)) + (format #t "~Tdefault-string-max-z: (meters ~m)~%" (-> obj default-string-max-z)) + (format #t "~Tdefault-string-min-z: (meters ~m)~%" (-> obj default-string-min-z)) + (format #t "~Tdefault-string-push-z: (meters ~m)~%" (-> obj default-string-push-z)) (format #t "~Tdefault-tilt-adjust: (deg ~r)~%" (-> obj default-tilt-adjust)) obj ) ;; definition for symbol *CAMERA-bank*, type camera-bank -(define - *CAMERA-bank* - (new 'static 'camera-bank - :collide-move-rad 1638.4 - :min-detectable-velocity 40.96 - :attack-timeout (seconds 0.25) - :default-string-max-y (meters 3.0) - :default-string-min-y (meters 1.0) - :default-string-max-z (meters 12.5) - :default-string-min-z (meters 5.0) - :default-string-push-z (meters 10.0) - :default-tilt-adjust (degrees -6.5000005) - ) - ) +(define *CAMERA-bank* (new 'static 'camera-bank + :collide-move-rad 1638.4 + :min-detectable-velocity 40.96 + :attack-timeout (seconds 0.25) + :default-string-max-y (meters 3.0) + :default-string-min-y (meters 1.0) + :default-string-max-z (meters 12.5) + :default-string-min-z (meters 5.0) + :default-string-push-z (meters 10.0) + :default-tilt-adjust (degrees -6.5000005) + ) + ) ;; definition of type cam-index (deftype cam-index (structure) @@ -188,16 +166,8 @@ (format #t "~Tsample-len: ~f~%" (-> obj sample-len)) (format #t "~Tused-count: ~D~%" (-> obj used-count)) (format #t "~Told-position: #~%" (-> obj old-position)) - (format - #t - "~Tdebug-old-position: #~%" - (-> obj debug-old-position) - ) - (format - #t - "~Tdebug-out-position: #~%" - (-> obj debug-out-position) - ) + (format #t "~Tdebug-old-position: #~%" (-> obj debug-old-position)) + (format #t "~Tdebug-out-position: #~%" (-> obj debug-out-position)) (format #t "~Tdebug-last-point: ~D~%" (-> obj debug-last-point)) obj ) @@ -237,10 +207,7 @@ ;; definition for method 9 of type cam-float-seeker ;; INFO: Return type mismatch int vs none. -(defmethod - init-cam-float-seeker - cam-float-seeker - ((obj cam-float-seeker) (arg0 float) (arg1 float) (arg2 float) (arg3 float)) +(defmethod init-cam-float-seeker cam-float-seeker ((obj cam-float-seeker) (arg0 float) (arg1 float) (arg2 float) (arg3 float)) (set! (-> obj target) arg0) (set! (-> obj value) arg0) (set! (-> obj vel) 0.0) @@ -253,10 +220,7 @@ ;; definition for method 10 of type cam-float-seeker ;; INFO: Return type mismatch int vs none. -(defmethod - copy-cam-float-seeker - cam-float-seeker - ((obj cam-float-seeker) (arg0 cam-float-seeker)) +(defmethod copy-cam-float-seeker cam-float-seeker ((obj cam-float-seeker) (arg0 cam-float-seeker)) (set! (-> obj target) (-> arg0 target)) (set! (-> obj value) (-> arg0 value)) (set! (-> obj vel) (-> arg0 vel)) @@ -275,21 +239,20 @@ (let* ((pos-error (- (+ (-> obj target) offset) (-> obj value))) (partial-velocity-limit (* (-> obj max-partial) (fabs pos-error))) ) - (let - ((daccel (* pos-error (* (-> obj accel) (-> *display* time-adjust-ratio))))) - (+! (-> obj vel) daccel) + (let ((daccel (* pos-error (* (-> obj accel) (-> *display* time-adjust-ratio))))) + (+! (-> obj vel) daccel) + ) + (let ((abs-vel (fabs (-> obj vel))) + (abs-vel-limit (fmin partial-velocity-limit (-> obj max-vel))) + ) + (if (< abs-vel-limit abs-vel) + (set! (-> obj vel) (* (-> obj vel) (/ abs-vel-limit abs-vel))) + ) + ) ) - (let ((abs-vel (fabs (-> obj vel))) - (abs-vel-limit (fmin partial-velocity-limit (-> obj max-vel))) - ) - (if (< abs-vel-limit abs-vel) - (set! (-> obj vel) (* (-> obj vel) (/ abs-vel-limit abs-vel))) - ) - ) - ) (let ((dpos (* (-> obj vel) (-> *display* time-adjust-ratio)))) - (+! (-> obj value) dpos) - ) + (+! (-> obj value) dpos) + ) 0 (none) ) @@ -298,9 +261,9 @@ (defmethod jump-to-target! cam-float-seeker ((obj cam-float-seeker) (arg0 float)) (set! (-> obj value) (+ (-> obj target) arg0)) (let ((f0-2 0.0)) - (set! (-> obj vel) f0-2) - f0-2 - ) + (set! (-> obj vel) f0-2) + f0-2 + ) ) ;; definition of type cam-vector-seeker @@ -336,20 +299,17 @@ ;; definition for method 9 of type cam-vector-seeker ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - init! - cam-vector-seeker - ((obj cam-vector-seeker) (arg0 vector) (arg1 float) (arg2 float) (arg3 float)) +(defmethod init! cam-vector-seeker ((obj cam-vector-seeker) (arg0 vector) (arg1 float) (arg2 float) (arg3 float)) (cond - (arg0 - (set! (-> obj target quad) (-> arg0 quad)) - (set! (-> obj value quad) (-> arg0 quad)) + (arg0 + (set! (-> obj target quad) (-> arg0 quad)) + (set! (-> obj value quad) (-> arg0 quad)) + ) + (else + (vector-reset! (-> obj target)) + (vector-reset! (-> obj value)) + ) ) - (else - (vector-reset! (-> obj target)) - (vector-reset! (-> obj value)) - ) - ) (vector-reset! (-> obj vel)) (set! (-> obj accel) arg1) (set! (-> obj max-vel) arg2) @@ -362,34 +322,30 @@ ;; INFO: Return type mismatch int vs none. (defmethod update! cam-vector-seeker ((obj cam-vector-seeker) (arg0 vector)) (let ((gp-0 (new 'stack-no-clear 'vector))) - 0.0 - (cond - (arg0 - (vector+! gp-0 (-> obj target) arg0) - (vector-! gp-0 gp-0 (-> obj value)) - ) - (else - (vector-! gp-0 (-> obj target) (-> obj value)) - ) - ) - (let ((f30-1 (* (-> obj max-partial) (vector-length gp-0)))) - (vector-float*! - gp-0 - gp-0 - (* (-> obj accel) (-> *display* time-adjust-ratio)) - ) - (vector+! (-> obj vel) (-> obj vel) gp-0) - (let ((f0-4 (vector-length (-> obj vel))) - (f1-2 (fmin f30-1 (-> obj max-vel))) - ) - (if (< f1-2 f0-4) - (vector-float*! (-> obj vel) (-> obj vel) (/ f1-2 f0-4)) + 0.0 + (cond + (arg0 + (vector+! gp-0 (-> obj target) arg0) + (vector-! gp-0 gp-0 (-> obj value)) + ) + (else + (vector-! gp-0 (-> obj target) (-> obj value)) + ) ) - ) + (let ((f30-1 (* (-> obj max-partial) (vector-length gp-0)))) + (vector-float*! gp-0 gp-0 (* (-> obj accel) (-> *display* time-adjust-ratio))) + (vector+! (-> obj vel) (-> obj vel) gp-0) + (let ((f0-4 (vector-length (-> obj vel))) + (f1-2 (fmin f30-1 (-> obj max-vel))) + ) + (if (< f1-2 f0-4) + (vector-float*! (-> obj vel) (-> obj vel) (/ f1-2 f0-4)) + ) + ) + ) + (vector-float*! gp-0 (-> obj vel) (-> *display* time-adjust-ratio)) + (vector+! (-> obj value) (-> obj value) gp-0) ) - (vector-float*! gp-0 (-> obj vel) (-> *display* time-adjust-ratio)) - (vector+! (-> obj value) (-> obj value) gp-0) - ) 0 (none) ) @@ -423,16 +379,8 @@ (format #t "~Ttilt-adjust: #~%" (-> obj tilt-adjust)) (format #t "~Tuse-point-of-interest: ~A~%" (-> obj use-point-of-interest)) (format #t "~Tpoint-of-interest: ~`vector`P~%" (-> obj point-of-interest)) - (format - #t - "~Tpoint-of-interest-blend: #~%" - (-> obj point-of-interest-blend) - ) - (format - #t - "~Tunderwater-blend: #~%" - (-> obj underwater-blend) - ) + (format #t "~Tpoint-of-interest-blend: #~%" (-> obj point-of-interest-blend)) + (format #t "~Tunderwater-blend: #~%" (-> obj underwater-blend)) obj ) @@ -460,8 +408,8 @@ ;; definition for method 3 of type camera-combiner (defmethod inspect camera-combiner ((obj camera-combiner)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttrans: ~`vector`P~%" (-> obj trans)) (format #t "~T~Tinv-camera-rot: ~`matrix`P~%" (-> obj inv-camera-rot)) (format #t "~T~Tfov: ~f~%" (-> obj fov)) @@ -469,11 +417,7 @@ (format #t "~T~Tinterp-step: ~f~%" (-> obj interp-step)) (format #t "~T~Tdist-from-src: ~f~%" (-> obj dist-from-src)) (format #t "~T~Tdist-from-dest: ~f~%" (-> obj dist-from-dest)) - (format - #t - "~T~Tflip-control-axis: #~%" - (-> obj flip-control-axis) - ) + (format #t "~T~Tflip-control-axis: #~%" (-> obj flip-control-axis)) (format #t "~T~Tvelocity: #~%" (-> obj velocity)) (format #t "~T~Ttracking-status: ~D~%" (-> obj tracking-status)) (format #t "~T~Ttracking-options: ~D~%" (-> obj tracking-options)) @@ -544,8 +488,8 @@ ;; definition for method 3 of type camera-slave (defmethod inspect camera-slave ((obj camera-slave)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttrans: ~`vector`P~%" (-> obj trans)) (format #t "~T~Tfov: ~f~%" (-> obj fov)) (format #t "~T~Tfov0: ~f~%" (-> obj fov0)) @@ -558,11 +502,7 @@ (format #t "~T~Tview-flat: ~`vector`P~%" (-> obj view-flat)) (format #t "~T~Tstring-vel-dir: ~D~%" (-> obj string-vel-dir)) (format #t "~T~Tstring-trans: ~`vector`P~%" (-> obj string-trans)) - (format - #t - "~T~Tposition-spline: #~%" - (-> obj position-spline) - ) + (format #t "~T~Tposition-spline: #~%" (-> obj position-spline)) (format #t "~T~Tpivot-pt: ~`vector`P~%" (-> obj pivot-pt)) (format #t "~T~Tpivot-rad: ~f~%" (-> obj pivot-rad)) (format #t "~T~Tcircular-follow: #~%" (-> obj circular-follow)) @@ -576,11 +516,7 @@ (format #t "~T~Tlos-state: ~D~%" (-> obj los-state)) (format #t "~T~Tgood-point: ~`vector`P~%" (-> obj good-point)) (format #t "~T~Tlos-tgt-spline-pt: ~D~%" (-> obj los-tgt-spline-pt)) - (format - #t - "~T~Tlos-tgt-spline-pt-incarnation: ~D~%" - (-> obj los-tgt-spline-pt-incarnation) - ) + (format #t "~T~Tlos-tgt-spline-pt-incarnation: ~D~%" (-> obj los-tgt-spline-pt-incarnation)) (format #t "~T~Tlos-last-pos: ~`vector`P~%" (-> obj los-last-pos)) (format #t "~T~Tintro-curve: #~%" (-> obj intro-curve)) (format #t "~T~Tintro-offset: #~%" (-> obj intro-offset)) @@ -672,8 +608,8 @@ ;; definition for method 3 of type camera-master (defmethod inspect camera-master ((obj camera-master)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tmaster-options: ~D~%" (-> obj master-options)) (format #t "~T~Tnum-slaves: ~D~%" (-> obj num-slaves)) (format #t "~T~Tslave[2] @ #x~X~%" (-> obj slave)) @@ -685,16 +621,8 @@ (format #t "~T~TstringMaxLength: ~f~%" (-> obj stringMaxLength)) (format #t "~T~TstringMinHeight: ~f~%" (-> obj stringMinHeight)) (format #t "~T~TstringMaxHeight: ~f~%" (-> obj stringMaxHeight)) - (format - #t - "~T~Tstring-min: #~%" - (-> obj string-min) - ) - (format - #t - "~T~Tstring-max: #~%" - (-> obj string-max) - ) + (format #t "~T~Tstring-min: #~%" (-> obj string-min)) + (format #t "~T~Tstring-max: #~%" (-> obj string-max)) (format #t "~T~Tstring-push-z: ~f~%" (-> obj string-push-z)) (format #t "~T~TstringCliffHeight: ~f~%" (-> obj stringCliffHeight)) (format #t "~T~Tno-intro: ~D~%" (-> obj no-intro)) @@ -722,11 +650,7 @@ (format #t "~T~Tpitch-off: ~`vector`P~%" (-> obj pitch-off)) (format #t "~T~Tfoot-offset: ~f~%" (-> obj foot-offset)) (format #t "~T~Thead-offset: ~f~%" (-> obj head-offset)) - (format - #t - "~T~Ttarget-spline: #~%" - (-> obj target-spline) - ) + (format #t "~T~Ttarget-spline: #~%" (-> obj target-spline)) (format #t "~T~Tease-from: #~%" (-> obj ease-from)) (format #t "~T~Tease-t: ~f~%" (-> obj ease-t)) (format #t "~T~Tease-step: ~f~%" (-> obj ease-step)) diff --git a/test/decompiler/reference/engine/camera/camera_REF.gc b/test/decompiler/reference/engine/camera/camera_REF.gc index 6313317a0c..97ca49a4bf 100644 --- a/test/decompiler/reference/engine/camera/camera_REF.gc +++ b/test/decompiler/reference/engine/camera/camera_REF.gc @@ -6,51 +6,47 @@ ;; definition for function cam-slave-get-vector-with-offset ;; Used lq/sq -(defun - cam-slave-get-vector-with-offset - ((arg0 entity-actor) (arg1 vector) (arg2 symbol)) +(defun cam-slave-get-vector-with-offset ((arg0 entity-actor) (arg1 vector) (arg2 symbol)) (local-vars (s3-0 structure)) (cond - ((= arg2 'trans) - (set! s3-0 (-> arg0 trans)) + ((= arg2 'trans) + (set! s3-0 (-> arg0 trans)) + ) + ((= arg2 'rot) + (set! s3-0 (-> arg0 quat)) + ) + (else + (set! s3-0 (res-lump-struct arg0 arg2 structure)) + ) ) - ((= arg2 'rot) - (set! s3-0 (-> arg0 quat)) - ) - (else - (set! s3-0 (res-lump-struct arg0 arg2 structure)) - ) - ) (let ((s2-0 (method-of-type res-lump get-property-struct))) - (format (clear *res-key-string*) "~S~S" arg2 '-offset) - (let - ((a0-6 - (s2-0 - arg0 - (string->symbol *res-key-string*) - 'interp - -1000000000.0 - #f - (the-as (pointer res-tag) #f) - *res-static-buf* - ) + (format (clear *res-key-string*) "~S~S" arg2 '-offset) + (let ((a0-6 (s2-0 + arg0 + (string->symbol *res-key-string*) + 'interp + -1000000000.0 + #f + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (cond + ((and s3-0 a0-6) + (vector+! arg1 (the-as vector s3-0) (the-as vector a0-6)) + #t + ) + ((the-as vector s3-0) + (set! (-> arg1 quad) (-> (the-as vector s3-0) quad)) + #t + ) + (else + #f + ) + ) ) - ) - (cond - ((and s3-0 a0-6) - (vector+! arg1 (the-as vector s3-0) (the-as vector a0-6)) - #t - ) - ((the-as vector s3-0) - (set! (-> arg1 quad) (-> (the-as vector s3-0) quad)) - #t - ) - (else - #f - ) - ) ) - ) ) ;; definition for function cam-slave-get-flags @@ -59,39 +55,35 @@ (s3-0 (method-of-type res-lump get-property-value)) (s2-0 arg0) ) - (format (clear *res-key-string*) "~S~S" arg1 '-on) - (let - ((s3-1 - (s3-0 - s2-0 - (string->symbol *res-key-string*) - 'interp - -1000000000.0 - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - (s2-1 (method-of-type res-lump get-property-value)) - ) - (format (clear *res-key-string*) "~S~S" arg1 '-off) - (let - ((v1-3 - (s2-1 - arg0 - (string->symbol *res-key-string*) - 'interp - -1000000000.0 - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* + (format (clear *res-key-string*) "~S~S" arg1 '-on) + (let ((s3-1 (s3-0 + s2-0 + (string->symbol *res-key-string*) + 'interp + -1000000000.0 + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + (s2-1 (method-of-type res-lump get-property-value)) + ) + (format (clear *res-key-string*) "~S~S" arg1 '-off) + (let ((v1-3 (s2-1 + arg0 + (string->symbol *res-key-string*) + 'interp + -1000000000.0 + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (logclear (logior gp-0 s3-1) v1-3) ) - ) ) - (logclear (logior gp-0 s3-1) v1-3) - ) ) - ) ) ;; definition for function cam-slave-get-float @@ -99,20 +91,18 @@ (let ((f30-0 (res-lump-float arg0 arg1 :default arg2)) (s4-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" arg1 '-offset) - (+ - f30-0 - (s4-0 - arg0 - (string->symbol *res-key-string*) - 'interp - -1000000000.0 - 0.0 - (the-as (pointer res-tag) #f) - *res-static-buf* - ) + (format (clear *res-key-string*) "~S~S" arg1 '-offset) + (+ f30-0 (s4-0 + arg0 + (string->symbol *res-key-string*) + 'interp + -1000000000.0 + 0.0 + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) ) - ) ) ;; definition for function cam-slave-get-fov @@ -120,26 +110,24 @@ (let ((f30-0 (res-lump-float arg0 'fov)) (s5-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'fov '-offset) - (let - ((f0-0 - (s5-0 - arg0 - (string->symbol *res-key-string*) - 'interp - -1000000000.0 - 0.0 - (the-as (pointer res-tag) #f) - *res-static-buf* - ) + (format (clear *res-key-string*) "~S~S" 'fov '-offset) + (let ((f0-0 (s5-0 + arg0 + (string->symbol *res-key-string*) + 'interp + -1000000000.0 + 0.0 + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if (= f30-0 0.0) + (+ 11650.845 f0-0) + (+ f30-0 f0-0) + ) ) - ) - (if (= f30-0 0.0) - (+ 11650.845 f0-0) - (+ f30-0 f0-0) - ) ) - ) ) ;; definition for function cam-slave-get-intro-step @@ -147,29 +135,25 @@ (let ((f30-0 (res-lump-float arg0 'intro-time)) (s5-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'intro-time '-offset) - (let - ((f0-1 - (+ - f30-0 - (s5-0 - arg0 - (string->symbol *res-key-string*) - 'interp - -1000000000.0 - 0.0 - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) + (format (clear *res-key-string*) "~S~S" 'intro-time '-offset) + (let ((f0-1 (+ f30-0 (s5-0 + arg0 + (string->symbol *res-key-string*) + 'interp + -1000000000.0 + 0.0 + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + ) + (if (>= 0.0 f0-1) + 0.004166667 + (/ 0.016666668 f0-1) + ) ) - ) - (if (>= 0.0 f0-1) - 0.004166667 - (/ 0.016666668 f0-1) - ) ) - ) ) ;; definition for function cam-slave-get-interp-time @@ -177,29 +161,25 @@ (let ((f30-0 (res-lump-float arg0 'interpTime)) (s5-0 (method-of-type res-lump get-property-value-float)) ) - (format (clear *res-key-string*) "~S~S" 'interpTime '-offset) - (let - ((f0-1 - (+ - f30-0 - (s5-0 - arg0 - (string->symbol *res-key-string*) - 'interp - -1000000000.0 - 0.0 - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) + (format (clear *res-key-string*) "~S~S" 'interpTime '-offset) + (let ((f0-1 (+ f30-0 (s5-0 + arg0 + (string->symbol *res-key-string*) + 'interp + -1000000000.0 + 0.0 + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + ) + (if (>= 0.001 f0-1) + (set! f0-1 0.0) + ) + f0-1 ) - ) - (if (>= 0.001 f0-1) - (set! f0-1 0.0) - ) - f0-1 ) - ) ) ;; definition for function cam-slave-get-rot @@ -207,34 +187,32 @@ (let ((s4-0 (method-of-type res-lump get-property-struct)) (s3-0 arg0) ) - (format (clear *res-key-string*) "~S~S" 'rot '-offset) - (let - ((a1-3 - (s4-0 - s3-0 - (string->symbol *res-key-string*) - 'interp - -1000000000.0 - #f - (the-as (pointer res-tag) #f) - *res-static-buf* - ) + (format (clear *res-key-string*) "~S~S" 'rot '-offset) + (let ((a1-3 (s4-0 + s3-0 + (string->symbol *res-key-string*) + 'interp + -1000000000.0 + #f + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (cond + (a1-3 + (let ((s4-1 (new 'stack-no-clear 'quaternion))) + (quaternion*! s4-1 (the-as quaternion a1-3) (-> arg0 quat)) + (quaternion-normalize! s4-1) + (quaternion->matrix arg1 s4-1) + ) + ) + (else + (quaternion->matrix arg1 (-> arg0 quat)) + ) + ) ) - ) - (cond - (a1-3 - (let ((s4-1 (new 'stack-no-clear 'quaternion))) - (quaternion*! s4-1 (the-as quaternion a1-3) (-> arg0 quat)) - (quaternion-normalize! s4-1) - (quaternion->matrix arg1 s4-1) - ) - ) - (else - (quaternion->matrix arg1 (-> arg0 quat)) - ) - ) ) - ) arg1 ) @@ -242,28 +220,28 @@ ;; INFO: Return type mismatch (state camera-slave) vs state. (defun cam-state-from-entity ((arg0 entity)) (let ((s5-0 (new 'stack 'curve))) - (the-as state (cond - ((not arg0) - (the-as (state camera-slave) #f) - ) - ((res-lump-struct arg0 'pivot structure) - cam-circular - ) - ((res-lump-struct arg0 'align structure) - cam-standoff-read-entity - ) - ((get-curve-data! arg0 s5-0 'campath 'campath-k -1000000000.0) - cam-spline - ) - ((< 0.0 (cam-slave-get-float arg0 'stringMaxLength 0.0)) - *camera-base-mode* - ) - (else - cam-fixed-read-entity - ) - ) + (the-as state (cond + ((not arg0) + (the-as (state camera-slave) #f) + ) + ((res-lump-struct arg0 'pivot structure) + cam-circular + ) + ((res-lump-struct arg0 'align structure) + cam-standoff-read-entity + ) + ((get-curve-data! arg0 s5-0 'campath 'campath-k -1000000000.0) + cam-spline + ) + ((< 0.0 (cam-slave-get-float arg0 'stringMaxLength 0.0)) + *camera-base-mode* + ) + (else + cam-fixed-read-entity + ) + ) + ) ) - ) ) ;; definition for function parameter-ease-none @@ -274,60 +252,60 @@ ;; definition for function parameter-ease-clamp (defun parameter-ease-clamp ((arg0 float)) (cond - ((>= arg0 1.0) - (set! arg0 1.0) + ((>= arg0 1.0) + (set! arg0 1.0) + ) + ((>= 0.0 arg0) + (set! arg0 0.0) + ) ) - ((>= 0.0 arg0) - (set! arg0 0.0) - ) - ) arg0 ) ;; definition for function parameter-ease-lerp-clamp (defun parameter-ease-lerp-clamp ((arg0 float)) (cond - ((>= arg0 1.0) - 1.0 + ((>= arg0 1.0) + 1.0 + ) + ((>= 0.0 arg0) + 0.0 + ) + ((>= 0.25 arg0) + (* 0.5 arg0) + ) + ((>= arg0 0.75) + (- 1.0 (* 0.5 (- 1.0 arg0))) + ) + (else + (+ 0.125 (* 1.5 (+ -0.25 arg0))) + ) ) - ((>= 0.0 arg0) - 0.0 - ) - ((>= 0.25 arg0) - (* 0.5 arg0) - ) - ((>= arg0 0.75) - (- 1.0 (* 0.5 (- 1.0 arg0))) - ) - (else - (+ 0.125 (* 1.5 (+ -0.25 arg0))) - ) - ) ) ;; definition for function parameter-ease-sqrt-clamp (defun parameter-ease-sqrt-clamp ((arg0 float)) (cond - ((>= arg0 1.0) - 1.0 + ((>= arg0 1.0) + 1.0 + ) + ((>= 0.0 arg0) + 0.0 + ) + ((>= 0.5 arg0) + (* 0.5 (- 1.0 (sqrtf (- 1.0 (* 2.0 arg0))))) + ) + (else + (* 0.5 (+ 1.0 (sqrtf (+ -1.0 (* 2.0 arg0))))) + ) ) - ((>= 0.0 arg0) - 0.0 - ) - ((>= 0.5 arg0) - (* 0.5 (- 1.0 (sqrtf (- 1.0 (* 2.0 arg0))))) - ) - (else - (* 0.5 (+ 1.0 (sqrtf (+ -1.0 (* 2.0 arg0))))) - ) - ) ) ;; definition for function fourth-power (defun fourth-power ((arg0 float)) (let ((f0-2 (* arg0 arg0))) - (* f0-2 f0-2) - ) + (* f0-2 f0-2) + ) ) ;; definition for function third-power @@ -338,150 +316,122 @@ ;; definition for function parameter-ease-sqr-clamp (defun parameter-ease-sqr-clamp ((arg0 float)) (cond - ((>= arg0 1.0) - 1.0 - ) - ((>= 0.0 arg0) - 0.0 - ) - ((>= 0.5 arg0) - (let ((f0-3 0.5) - (f1-4 (* 2.0 arg0)) - ) - (* f0-3 (* f1-4 f1-4)) + ((>= arg0 1.0) + 1.0 ) - ) - (else - (let ((f0-5 1.0) - (f1-7 0.5) - (f2-2 (* 2.0 (- 1.0 arg0))) - ) - (- f0-5 (* f1-7 (* f2-2 f2-2))) + ((>= 0.0 arg0) + 0.0 ) + ((>= 0.5 arg0) + (let ((f0-3 0.5) + (f1-4 (* 2.0 arg0)) + ) + (* f0-3 (* f1-4 f1-4)) + ) + ) + (else + (let ((f0-5 1.0) + (f1-7 0.5) + (f2-2 (* 2.0 (- 1.0 arg0))) + ) + (- f0-5 (* f1-7 (* f2-2 f2-2))) + ) + ) ) - ) ) ;; definition for function parameter-ease-sin-clamp (defun parameter-ease-sin-clamp ((arg0 float)) (cond - ((>= arg0 1.0) - 1.0 + ((>= arg0 1.0) + 1.0 + ) + ((>= 0.0 arg0) + 0.0 + ) + (else + (+ 0.5 (* 0.5 (sin (* 182.04445 (+ -90.0 (* 180.0 arg0)))))) + ) ) - ((>= 0.0 arg0) - 0.0 - ) - (else - (+ 0.5 (* 0.5 (sin (* 182.04445 (+ -90.0 (* 180.0 arg0)))))) - ) - ) ) ;; definition for method 9 of type cam-index ;; Used lq/sq -(defmethod - dummy-9 - cam-index - ((obj cam-index) (arg0 symbol) (arg1 entity) (arg2 vector) (arg3 curve)) +(defmethod dummy-9 cam-index ((obj cam-index) (arg0 symbol) (arg1 entity) (arg2 vector) (arg3 curve)) (local-vars (sv-32 (function _varargs_ object))) (format (clear *cam-res-string*) "~S-flags" arg0) - (set! - (-> obj flags) - (the-as - cam-index-options - (cam-slave-get-flags arg1 (string->symbol *res-key-string*)) - ) - ) + (set! (-> obj flags) (the-as cam-index-options (cam-slave-get-flags arg1 (string->symbol *res-key-string*)))) (let ((s3-2 (res-lump-data arg1 arg0 pointer)) (s0-1 (method-of-type res-lump get-property-struct)) ) - (set! sv-32 format) - (let ((a0-7 (clear *res-key-string*)) - (a1-4 "~S~S") - (a3-2 '-offset) - ) - (sv-32 a0-7 a1-4 arg0 a3-2) - ) - (let - ((v0-8 - (s0-1 - arg1 - (string->symbol *res-key-string*) - 'interp - -1000000000.0 - #f - (the-as (pointer res-tag) #f) - *res-static-buf* - ) + (set! sv-32 format) + (let ((a0-7 (clear *res-key-string*)) + (a1-4 "~S~S") + (a3-2 '-offset) + ) + (sv-32 a0-7 a1-4 arg0 a3-2) ) - ) - (cond - (s3-2 + (let ((v0-8 (s0-1 + arg1 + (string->symbol *res-key-string*) + 'interp + -1000000000.0 + #f + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) (cond - (v0-8 - (vector+! - (the-as vector (-> obj vec)) - (the-as vector (&+ s3-2 0)) - (the-as vector v0-8) - ) - (vector+! - (-> obj vec 1) - (the-as vector (&+ s3-2 16)) - (the-as vector v0-8) - ) + (s3-2 + (cond + (v0-8 + (vector+! (the-as vector (-> obj vec)) (the-as vector (&+ s3-2 0)) (the-as vector v0-8)) + (vector+! (-> obj vec 1) (the-as vector (&+ s3-2 16)) (the-as vector v0-8)) + ) + (else + (set! (-> obj vec 0 quad) (-> (the-as (pointer uint128) (&+ s3-2 0)))) + (set! (-> obj vec 1 quad) (-> (the-as (pointer uint128) (&+ s3-2 16)))) + ) + ) + ) + (arg3 + (set! (-> obj vec 0 quad) (-> (the-as (pointer uint128) (&+ (-> arg3 cverts) 0)))) + (set! (-> obj vec 1 quad) + (-> (the-as (pointer uint128) (&+ (-> arg3 cverts) (* (+ (-> arg3 num-cverts) -1) 16)))) + ) + ) + (else + (return #f) + ) ) - (else - (set! (-> obj vec 0 quad) (-> (the-as (pointer uint128) (&+ s3-2 0)))) - (set! (-> obj vec 1 quad) (-> (the-as (pointer uint128) (&+ s3-2 16)))) - ) - ) ) - (arg3 - (set! - (-> obj vec 0 quad) - (-> (the-as (pointer uint128) (&+ (-> arg3 cverts) 0))) - ) - (set! - (-> obj vec 1 quad) - (-> - (the-as - (pointer uint128) - (&+ (-> arg3 cverts) (* (+ (-> arg3 num-cverts) -1) 16)) - ) - ) - ) - ) - (else - (return #f) - ) - ) ) - ) (let ((s4-1 (new-stack-vector0))) - 0.0 - (cond - ((logtest? (-> obj flags) (cam-index-options SPHERICAL)) - (vector-! s4-1 (-> obj vec 1) arg2) - (set! (-> obj vec 1 w) (vector-length s4-1)) - (vector-! s4-1 (the-as vector (-> obj vec)) arg2) - (set! (-> obj vec 1 x) (vector-length s4-1)) - (set! (-> obj vec 1 w) (- (-> obj vec 1 w) (-> obj vec 1 x))) - (set! (-> obj vec 0 quad) (-> arg2 quad)) - ) - ((logtest? (-> obj flags) (cam-index-options RADIAL)) - (vector-! s4-1 (-> obj vec 1) arg2) - (set! (-> obj vec 1 w) (vector-length s4-1)) - (vector-! s4-1 (the-as vector (-> obj vec)) arg2) - (set! (-> obj vec 1 x) (vector-length s4-1)) - (set! (-> obj vec 1 w) (- (-> obj vec 1 w) (-> obj vec 1 x))) - (set! (-> obj vec 0 quad) (-> arg2 quad)) - ) - (else - (vector-! (-> obj vec 1) (-> obj vec 1) (the-as vector (-> obj vec))) - (set! (-> obj vec 1 w) (vector-normalize-ret-len! (-> obj vec 1) 1.0)) - ) + 0.0 + (cond + ((logtest? (-> obj flags) (cam-index-options SPHERICAL)) + (vector-! s4-1 (-> obj vec 1) arg2) + (set! (-> obj vec 1 w) (vector-length s4-1)) + (vector-! s4-1 (the-as vector (-> obj vec)) arg2) + (set! (-> obj vec 1 x) (vector-length s4-1)) + (set! (-> obj vec 1 w) (- (-> obj vec 1 w) (-> obj vec 1 x))) + (set! (-> obj vec 0 quad) (-> arg2 quad)) + ) + ((logtest? (-> obj flags) (cam-index-options RADIAL)) + (vector-! s4-1 (-> obj vec 1) arg2) + (set! (-> obj vec 1 w) (vector-length s4-1)) + (vector-! s4-1 (the-as vector (-> obj vec)) arg2) + (set! (-> obj vec 1 x) (vector-length s4-1)) + (set! (-> obj vec 1 w) (- (-> obj vec 1 w) (-> obj vec 1 x))) + (set! (-> obj vec 0 quad) (-> arg2 quad)) + ) + (else + (vector-! (-> obj vec 1) (-> obj vec 1) (the-as vector (-> obj vec))) + (set! (-> obj vec 1 w) (vector-normalize-ret-len! (-> obj vec 1) 1.0)) + ) + ) ) - ) #t ) @@ -489,21 +439,21 @@ ;; Used lq/sq (defmethod dummy-10 cam-index ((obj cam-index) (arg0 vector)) (let ((s5-0 (new-stack-vector0))) - 0.0 - (vector-! s5-0 arg0 (the-as vector (-> obj vec))) - (cond - ((logtest? (-> obj flags) (cam-index-options SPHERICAL)) - (vector-flatten! s5-0 s5-0 (-> *camera* local-down)) - (/ (- (vector-length s5-0) (-> obj vec 1 x)) (-> obj vec 1 w)) - ) - ((logtest? (-> obj flags) (cam-index-options RADIAL)) - (/ (- (vector-length s5-0) (-> obj vec 1 x)) (-> obj vec 1 w)) - ) - (else - (/ (vector-dot s5-0 (-> obj vec 1)) (-> obj vec 1 w)) - ) + 0.0 + (vector-! s5-0 arg0 (the-as vector (-> obj vec))) + (cond + ((logtest? (-> obj flags) (cam-index-options SPHERICAL)) + (vector-flatten! s5-0 s5-0 (-> *camera* local-down)) + (/ (- (vector-length s5-0) (-> obj vec 1 x)) (-> obj vec 1 w)) + ) + ((logtest? (-> obj flags) (cam-index-options RADIAL)) + (/ (- (vector-length s5-0) (-> obj vec 1 x)) (-> obj vec 1 w)) + ) + (else + (/ (vector-dot s5-0 (-> obj vec 1)) (-> obj vec 1 w)) + ) + ) ) - ) ) ;; definition for method 10 of type tracking-spline @@ -523,12 +473,12 @@ (set! (-> obj used-count) 1) (set! (-> obj old-position quad) (-> arg0 quad)) (let ((v1-6 1)) - (while (!= v1-6 31) - (set! (-> obj point v1-6 next) (+ v1-6 1)) - (+! v1-6 1) + (while (!= v1-6 31) + (set! (-> obj point v1-6 next) (+ v1-6 1)) + (+! v1-6 1) + ) + (set! (-> obj point v1-6 next) -134250495) ) - (set! (-> obj point v1-6 next) -134250495) - ) 0 (none) ) @@ -537,43 +487,33 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-13 tracking-spline ((obj tracking-spline) (arg0 int)) (let ((v1-3 (-> obj point arg0 next))) - (cond - ((= v1-3 -134250495) - ) - ((= (-> obj point v1-3 next) -134250495) - ) - (else - (set! (-> obj point arg0 next) (-> obj point v1-3 next)) - (set! - (-> obj summed-len) - (- (-> obj summed-len) (-> obj point v1-3 tp-length)) - ) - (set! (-> obj point v1-3 next) (-> obj free-point)) - (set! (-> obj free-point) v1-3) - (+! (-> obj point v1-3 incarnation) 1) - (let ((v1-11 (-> obj point arg0 next))) - (set! - (-> obj summed-len) - (- (-> obj summed-len) (-> obj point arg0 tp-length)) + (cond + ((= v1-3 -134250495) ) - (vector-! - (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 arg0))) - (the-as vector (-> obj point v1-11)) - (the-as vector (-> obj point arg0)) + ((= (-> obj point v1-3 next) -134250495) ) + (else + (set! (-> obj point arg0 next) (-> obj point v1-3 next)) + (set! (-> obj summed-len) (- (-> obj summed-len) (-> obj point v1-3 tp-length))) + (set! (-> obj point v1-3 next) (-> obj free-point)) + (set! (-> obj free-point) v1-3) + (+! (-> obj point v1-3 incarnation) 1) + (let ((v1-11 (-> obj point arg0 next))) + (set! (-> obj summed-len) (- (-> obj summed-len) (-> obj point arg0 tp-length))) + (vector-! + (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 arg0))) + (the-as vector (-> obj point v1-11)) + (the-as vector (-> obj point arg0)) + ) + ) + (set! (-> obj point arg0 tp-length) + (vector-normalize-ret-len! (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 arg0))) 1.0) + ) + (+! (-> obj summed-len) (-> obj point arg0 tp-length)) + (+! (-> obj used-count) -1) + ) ) - (set! - (-> obj point arg0 tp-length) - (vector-normalize-ret-len! - (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 arg0))) - 1.0 - ) - ) - (+! (-> obj summed-len) (-> obj point arg0 tp-length)) - (+! (-> obj used-count) -1) - ) ) - ) 0 (none) ) @@ -582,50 +522,37 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-14 tracking-spline ((obj tracking-spline) (arg0 vector)) (let ((v1-0 (-> obj used-point))) - (set! (-> obj partial-point) (-> arg0 y)) - (when (= (-> obj next-to-last-point) v1-0) - (set! (-> obj summed-len) (-> obj point v1-0 tp-length)) - (if (= (-> arg0 x) (-> obj end-point)) - (set! (-> obj partial-point) 0.99999) - ) + (set! (-> obj partial-point) (-> arg0 y)) + (when (= (-> obj next-to-last-point) v1-0) + (set! (-> obj summed-len) (-> obj point v1-0 tp-length)) + (if (= (-> arg0 x) (-> obj end-point)) + (set! (-> obj partial-point) 0.99999) + ) + ) + (when (!= (-> arg0 x) v1-0) + (while (and (!= (-> obj point v1-0 next) (-> arg0 x)) (!= (-> obj point v1-0 next) (-> obj next-to-last-point))) + (set! (-> obj summed-len) (- (-> obj summed-len) (-> obj point v1-0 tp-length))) + (+! (-> obj point v1-0 incarnation) 1) + (+! (-> obj used-count) -1) + (set! v1-0 (-> obj point v1-0 next)) + ) + (set! (-> obj summed-len) (- (-> obj summed-len) (-> obj point v1-0 tp-length))) + (+! (-> obj point v1-0 incarnation) 1) + (+! (-> obj used-count) -1) + (set! (-> obj point v1-0 next) (-> obj free-point)) + (set! (-> obj free-point) (-> obj used-point)) + (set! (-> obj used-point) (the-as int (-> arg0 x))) + (cond + ((= (-> arg0 x) (-> obj end-point)) + (set! (-> obj partial-point) 0.0) + (set! (-> obj summed-len) 0.0) + ) + ((= (-> arg0 x) (-> obj next-to-last-point)) + (set! (-> obj summed-len) (-> obj point (-> obj next-to-last-point) tp-length)) + ) + ) + ) ) - (when (!= (-> arg0 x) v1-0) - (while - (and - (!= (-> obj point v1-0 next) (-> arg0 x)) - (!= (-> obj point v1-0 next) (-> obj next-to-last-point)) - ) - (set! - (-> obj summed-len) - (- (-> obj summed-len) (-> obj point v1-0 tp-length)) - ) - (+! (-> obj point v1-0 incarnation) 1) - (+! (-> obj used-count) -1) - (set! v1-0 (-> obj point v1-0 next)) - ) - (set! - (-> obj summed-len) - (- (-> obj summed-len) (-> obj point v1-0 tp-length)) - ) - (+! (-> obj point v1-0 incarnation) 1) - (+! (-> obj used-count) -1) - (set! (-> obj point v1-0 next) (-> obj free-point)) - (set! (-> obj free-point) (-> obj used-point)) - (set! (-> obj used-point) (the-as int (-> arg0 x))) - (cond - ((= (-> arg0 x) (-> obj end-point)) - (set! (-> obj partial-point) 0.0) - (set! (-> obj summed-len) 0.0) - ) - ((= (-> arg0 x) (-> obj next-to-last-point)) - (set! - (-> obj summed-len) - (-> obj point (-> obj next-to-last-point) tp-length) - ) - ) - ) - ) - ) 0 (none) ) @@ -634,59 +561,47 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-15 tracking-spline ((obj tracking-spline)) (let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler))) - (let ((a2-0 (new 'stack-no-clear 'tracking-point))) - (set! (-> s5-0 cur-pt) (-> obj used-point)) - (set! (-> s5-0 partial-pt) (-> obj partial-point)) - (TODO-RENAME-19 obj (-> obj sample-len) (the-as vector a2-0) s5-0) - ) - (if - (or - (= (-> s5-0 cur-pt) (-> obj end-point)) - (= (-> s5-0 cur-pt) (-> obj next-to-last-point)) - (= (-> obj point (-> s5-0 cur-pt) next) (-> obj next-to-last-point)) - ) - (set! (-> s5-0 cur-pt) (-> obj used-point)) - ) - (let ((v1-15 (-> obj point (-> s5-0 cur-pt) next))) - (when (!= v1-15 -134250495) - (let ((a0-14 (-> obj point v1-15 next)) - (a1-1 v1-15) - (f0-2 -2.0) - ) - 0.0 - (while (not (or (= a0-14 -134250495) (= a0-14 (-> obj end-point)))) - (let - ((f1-2 - (vector-dot - (the-as - vector - (+ (the-as uint (-> obj point 0 direction)) (* 48 v1-15)) - ) - (the-as - vector - (+ - (the-as uint (the-as vector (-> obj point 0 direction))) - (* 48 a0-14) - ) - ) - ) - ) - ) - (when (>= f1-2 f0-2) - (set! f0-2 f1-2) - (set! a1-1 v1-15) - ) - ) - (set! v1-15 a0-14) - (set! a0-14 (-> obj point v1-15 next)) - ) - (if (< -2.0 f0-2) - (TODO-RENAME-13 obj a1-1) - ) + (let ((a2-0 (new 'stack-no-clear 'tracking-point))) + (set! (-> s5-0 cur-pt) (-> obj used-point)) + (set! (-> s5-0 partial-pt) (-> obj partial-point)) + (TODO-RENAME-19 obj (-> obj sample-len) (the-as vector a2-0) s5-0) + ) + (if (or + (= (-> s5-0 cur-pt) (-> obj end-point)) + (= (-> s5-0 cur-pt) (-> obj next-to-last-point)) + (= (-> obj point (-> s5-0 cur-pt) next) (-> obj next-to-last-point)) + ) + (set! (-> s5-0 cur-pt) (-> obj used-point)) + ) + (let ((v1-15 (-> obj point (-> s5-0 cur-pt) next))) + (when (!= v1-15 -134250495) + (let ((a0-14 (-> obj point v1-15 next)) + (a1-1 v1-15) + (f0-2 -2.0) + ) + 0.0 + (while (not (or (= a0-14 -134250495) (= a0-14 (-> obj end-point)))) + (let ((f1-2 (vector-dot + (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 v1-15))) + (the-as vector (+ (the-as uint (the-as vector (-> obj point 0 direction))) (* 48 a0-14))) + ) + ) + ) + (when (>= f1-2 f0-2) + (set! f0-2 f1-2) + (set! a1-1 v1-15) + ) + ) + (set! v1-15 a0-14) + (set! a0-14 (-> obj point v1-15 next)) + ) + (if (< -2.0 f0-2) + (TODO-RENAME-13 obj a1-1) + ) + ) + ) ) - ) ) - ) 0 (none) ) @@ -695,184 +610,131 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-16 tracking-spline ((obj tracking-spline) (arg0 float)) (let ((s4-0 (new 'stack-no-clear 'tracking-spline-sampler))) - (let ((a2-0 (new 'stack-no-clear 'vector))) - (set! (-> s4-0 cur-pt) (-> obj used-point)) - (set! (-> s4-0 partial-pt) (-> obj partial-point)) - (TODO-RENAME-19 obj (-> obj sample-len) a2-0 s4-0) - ) - (let ((s4-1 (-> obj point (-> s4-0 cur-pt) next))) - (when (!= s4-1 -134250495) - (let ((v1-11 (-> obj point s4-1 next))) - (while - (not - (or - (= v1-11 -134250495) - (= (-> obj point v1-11 next) -134250495) - (= (-> obj point v1-11 next) (-> obj end-point)) - (= (-> obj point v1-11 next) (-> obj next-to-last-point)) - ) - ) - (if - (< - (* - (-> obj point s4-1 tp-length) - (+ - 1.0 - (vector-dot - (the-as - vector - (+ (the-as uint (-> obj point 0 direction)) (* 48 s4-1)) - ) - (the-as - vector - (+ - (the-as uint (the-as vector (-> obj point 0 direction))) - (* 48 v1-11) - ) - ) - ) - ) - ) - arg0 - ) - (TODO-RENAME-13 obj s4-1) - (set! s4-1 v1-11) - ) - (set! v1-11 (-> obj point s4-1 next)) - ) + (let ((a2-0 (new 'stack-no-clear 'vector))) + (set! (-> s4-0 cur-pt) (-> obj used-point)) + (set! (-> s4-0 partial-pt) (-> obj partial-point)) + (TODO-RENAME-19 obj (-> obj sample-len) a2-0 s4-0) + ) + (let ((s4-1 (-> obj point (-> s4-0 cur-pt) next))) + (when (!= s4-1 -134250495) + (let ((v1-11 (-> obj point s4-1 next))) + (while (not (or + (= v1-11 -134250495) + (= (-> obj point v1-11 next) -134250495) + (= (-> obj point v1-11 next) (-> obj end-point)) + (= (-> obj point v1-11 next) (-> obj next-to-last-point)) + ) + ) + (if (< (* (-> obj point s4-1 tp-length) + (+ 1.0 (vector-dot + (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 s4-1))) + (the-as vector (+ (the-as uint (the-as vector (-> obj point 0 direction))) (* 48 v1-11))) + ) + ) + ) + arg0 + ) + (TODO-RENAME-13 obj s4-1) + (set! s4-1 v1-11) + ) + (set! v1-11 (-> obj point s4-1 next)) + ) + ) + ) ) - ) ) - ) 0 (none) ) ;; definition for method 17 of type tracking-spline ;; Used lq/sq -(defmethod - TODO-RENAME-17 - tracking-spline - ((obj tracking-spline) (arg0 vector) (arg1 float) (arg2 float) (arg3 symbol)) +(defmethod TODO-RENAME-17 tracking-spline ((obj tracking-spline) (arg0 vector) (arg1 float) (arg2 float) (arg3 symbol)) (let ((s3-0 (-> obj free-point)) (s2-0 (-> obj end-point)) ) - (vector-! - (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 s2-0))) - arg0 - (the-as vector (-> obj point s2-0)) - ) - (set! - (-> obj point s2-0 tp-length) - (vector-normalize-ret-len! - (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 s2-0))) - 1.0 - ) - ) - (if (< (-> obj point s2-0 tp-length) arg1) - (return 0) - ) - (when (and arg3 (= s3-0 -134250495)) - (TODO-RENAME-15 obj) - (set! s3-0 (-> obj free-point)) - ) - (cond - ((= s3-0 -134250495) - (format 0 "ERROR : pos spline overflow~%") - ) - (else - (+! (-> obj summed-len) (-> obj point s2-0 tp-length)) - (set! (-> obj free-point) (-> obj point s3-0 next)) - (set! (-> obj point s2-0 next) s3-0) - (set! (-> obj end-point) s3-0) - (set! (-> obj next-to-last-point) s2-0) - (set! (-> obj point s3-0 next) -134250495) - (set! (-> obj point s3-0 position quad) (-> arg0 quad)) - (+! (-> obj used-count) 1) - (if (< 0.0 arg2) - (TODO-RENAME-16 obj arg2) + (vector-! + (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 s2-0))) + arg0 + (the-as vector (-> obj point s2-0)) + ) + (set! (-> obj point s2-0 tp-length) + (vector-normalize-ret-len! (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 s2-0))) 1.0) + ) + (if (< (-> obj point s2-0 tp-length) arg1) + (return 0) + ) + (when (and arg3 (= s3-0 -134250495)) + (TODO-RENAME-15 obj) + (set! s3-0 (-> obj free-point)) + ) + (cond + ((= s3-0 -134250495) + (format 0 "ERROR : pos spline overflow~%") + ) + (else + (+! (-> obj summed-len) (-> obj point s2-0 tp-length)) + (set! (-> obj free-point) (-> obj point s3-0 next)) + (set! (-> obj point s2-0 next) s3-0) + (set! (-> obj end-point) s3-0) + (set! (-> obj next-to-last-point) s2-0) + (set! (-> obj point s3-0 next) -134250495) + (set! (-> obj point s3-0 position quad) (-> arg0 quad)) + (+! (-> obj used-count) 1) + (if (< 0.0 arg2) + (TODO-RENAME-16 obj arg2) + ) + ) ) - ) ) - ) 0 ) ;; definition for method 18 of type tracking-spline -(defmethod - TODO-RENAME-18 - tracking-spline - ((obj tracking-spline) - (arg0 float) - (arg1 vector) - (arg2 tracking-spline-sampler) - ) +(defmethod TODO-RENAME-18 tracking-spline ((obj tracking-spline) (arg0 float) (arg1 vector) (arg2 tracking-spline-sampler)) (local-vars (f0-4 float)) (when (not arg2) - (set! arg2 (new 'stack-no-clear 'tracking-spline-sampler)) - (set! (-> arg2 cur-pt) (-> obj used-point)) - (set! (-> arg2 partial-pt) (-> obj partial-point)) - ) + (set! arg2 (new 'stack-no-clear 'tracking-spline-sampler)) + (set! (-> arg2 cur-pt) (-> obj used-point)) + (set! (-> arg2 partial-pt) (-> obj partial-point)) + ) 0.0 (while #t - (cond - ((= (-> arg2 cur-pt) (-> obj end-point)) - (set! (-> arg2 partial-pt) 0.0) - (vector+! arg1 arg1 (the-as vector (-> obj point (-> arg2 cur-pt)))) - (return arg1) - ) - ((begin - (set! - f0-4 - (+ - (-> arg2 partial-pt) - (/ arg0 (-> obj point (-> arg2 cur-pt) tp-length)) - ) + (cond + ((= (-> arg2 cur-pt) (-> obj end-point)) + (set! (-> arg2 partial-pt) 0.0) + (vector+! arg1 arg1 (the-as vector (-> obj point (-> arg2 cur-pt)))) + (return arg1) ) - (< f0-4 1.0) - ) - (set! (-> arg2 partial-pt) f0-4) - (let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler))) - (let ((a2-5 (-> obj point (-> arg2 cur-pt) next))) - (vector-lerp! - (the-as vector s5-0) - (the-as vector (-> obj point (-> arg2 cur-pt))) - (the-as vector (-> obj point a2-5)) - f0-4 - ) - ) - (vector+! arg1 arg1 (the-as vector s5-0)) - ) - (return arg1) - ) - (else - (let - ((f0-7 - (* - (- 1.0 (-> arg2 partial-pt)) - (-> obj point (-> arg2 cur-pt) tp-length) + ((begin (set! f0-4 (+ (-> arg2 partial-pt) (/ arg0 (-> obj point (-> arg2 cur-pt) tp-length)))) (< f0-4 1.0)) + (set! (-> arg2 partial-pt) f0-4) + (let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler))) + (let ((a2-5 (-> obj point (-> arg2 cur-pt) next))) + (vector-lerp! + (the-as vector s5-0) + (the-as vector (-> obj point (-> arg2 cur-pt))) + (the-as vector (-> obj point a2-5)) + f0-4 + ) + ) + (vector+! arg1 arg1 (the-as vector s5-0)) ) - ) + (return arg1) ) - (set! arg0 (- arg0 f0-7)) + (else + (let ((f0-7 (* (- 1.0 (-> arg2 partial-pt)) (-> obj point (-> arg2 cur-pt) tp-length)))) + (set! arg0 (- arg0 f0-7)) + ) + (set! (-> arg2 partial-pt) 0.0) + (set! (-> arg2 cur-pt) (-> obj point (-> arg2 cur-pt) next)) + ) ) - (set! (-> arg2 partial-pt) 0.0) - (set! (-> arg2 cur-pt) (-> obj point (-> arg2 cur-pt) next)) - ) ) - ) (the-as vector #f) ) ;; definition for method 19 of type tracking-spline -(defmethod - TODO-RENAME-19 - tracking-spline - ((obj tracking-spline) - (arg0 float) - (arg1 vector) - (arg2 tracking-spline-sampler) - ) +(defmethod TODO-RENAME-19 tracking-spline ((obj tracking-spline) (arg0 float) (arg1 vector) (arg2 tracking-spline-sampler)) (vector-reset! arg1) (TODO-RENAME-18 obj arg0 arg1 arg2) arg1 @@ -880,174 +742,140 @@ ;; definition for method 20 of type tracking-spline ;; INFO: Return type mismatch int vs none. -(defmethod - TODO-RENAME-20 - tracking-spline - ((obj tracking-spline) (arg0 vector) (arg1 int)) +(defmethod TODO-RENAME-20 tracking-spline ((obj tracking-spline) (arg0 vector) (arg1 int)) (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-! - s3-0 - (the-as vector (-> obj point (-> obj used-point))) - (the-as vector (-> obj point (-> obj end-point))) - ) - (let* ((f0-0 (vector-length s3-0)) - (f1-1 (* 0.33333334 (- 1.5 (* 0.00024414062 f0-0)))) - ) - 0.0 - (let* ((f1-2 (fmax 0.0 f1-1)) - (f30-0 (+ 0.3 f1-2)) - (f0-1 (cond - ((< - (-> *CAMERA-bank* min-detectable-velocity) - (-> obj summed-len) - ) - (vector-float*! s3-0 s3-0 (/ 1.0 f0-0)) - (/ f0-0 (-> obj summed-len)) + (vector-! + s3-0 + (the-as vector (-> obj point (-> obj used-point))) + (the-as vector (-> obj point (-> obj end-point))) + ) + (let* ((f0-0 (vector-length s3-0)) + (f1-1 (* 0.33333334 (- 1.5 (* 0.00024414062 f0-0)))) + ) + 0.0 + (let* ((f1-2 (fmax 0.0 f1-1)) + (f30-0 (+ 0.3 f1-2)) + (f0-1 (cond + ((< (-> *CAMERA-bank* min-detectable-velocity) (-> obj summed-len)) + (vector-float*! s3-0 s3-0 (/ 1.0 f0-0)) + (/ f0-0 (-> obj summed-len)) + ) + (else + (vector-reset! s3-0) + 0.0 + ) + ) + ) + (f0-2 (+ -0.2 f0-1)) + (f1-9 (* 2.0 f0-2)) + (f28-0 (fmin 1.0 (fmax 0.05 f1-9))) + (v1-8 (-> obj used-point)) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (while (and (!= v1-8 (-> obj end-point)) (!= v1-8 (-> obj next-to-last-point)) (!= v1-8 arg1)) + (let ((s1-0 (-> obj point v1-8 next))) + (vector-! + s2-0 + (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 s1-0))) + (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 v1-8))) + ) + (let* ((f0-4 (vector-normalize-ret-len! s2-0 1.0)) + (f0-5 (* 0.5 f0-4)) + (f26-0 (* (fmin 1.0 f0-5) f30-0 (vector-dot arg0 s2-0))) + ) + (let ((f2-7 (vector-dot s2-0 s3-0))) + (cond + ((>= 0.0 f2-7) ) (else - (vector-reset! s3-0) - 0.0 - ) + (set! f26-0 (* f26-0 (fmax 0.0 (- 0.75 (fabs (* f28-0 f2-7)))))) + ) ) + ) + (cond + ((< f26-0 0.0) + (if (and *debug-segment* *display-camera-marks*) + (camera-line-rel-len + (the-as vector (-> obj point s1-0)) + s2-0 + (* -40.96 f26-0) + (the-as vector4w (new 'static 'inline-array qword 1 + (new 'static 'qword :data (new 'static 'array uint32 4 #xff #xff #x0 #x80)) + ) + ) + ) + ) + (vector--float*! arg0 arg0 s2-0 f26-0) + ) + ((and *debug-segment* *display-camera-marks*) + (camera-line-rel-len + (the-as vector (-> obj point s1-0)) + s2-0 + (* 40.96 f26-0) + (the-as vector4w (new 'static 'inline-array qword 1 + (new 'static 'qword :data (new 'static 'array uint32 4 #x80 #x80 #x0 #x80)) + ) + ) + ) + ) + ) + ) + (set! v1-8 s1-0) ) - (f0-2 (+ -0.2 f0-1)) - (f1-9 (* 2.0 f0-2)) - (f28-0 (fmin 1.0 (fmax 0.05 f1-9))) - (v1-8 (-> obj used-point)) - (s2-0 (new 'stack-no-clear 'vector)) - ) - (while - (and - (!= v1-8 (-> obj end-point)) - (!= v1-8 (-> obj next-to-last-point)) - (!= v1-8 arg1) - ) - (let ((s1-0 (-> obj point v1-8 next))) - (vector-! - s2-0 - (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 s1-0))) - (the-as vector (+ (the-as uint (-> obj point 0 direction)) (* 48 v1-8))) + ) ) - (let* ((f0-4 (vector-normalize-ret-len! s2-0 1.0)) - (f0-5 (* 0.5 f0-4)) - (f26-0 (* (fmin 1.0 f0-5) f30-0 (vector-dot arg0 s2-0))) - ) - (let ((f2-7 (vector-dot s2-0 s3-0))) - (cond - ((>= 0.0 f2-7) - ) - (else - (set! f26-0 (* f26-0 (fmax 0.0 (- 0.75 (fabs (* f28-0 f2-7)))))) - ) - ) - ) - (cond - ((< f26-0 0.0) - (if (and *debug-segment* *display-camera-marks*) - (camera-line-rel-len - (the-as vector (-> obj point s1-0)) - s2-0 - (* -40.96 f26-0) - (the-as - vector4w - (new 'static 'inline-array qword 1 - (new 'static 'qword - :data - (new 'static 'array uint32 4 #xff #xff #x0 #x80) - ) - ) - ) - ) - ) - (vector--float*! arg0 arg0 s2-0 f26-0) - ) - ((and *debug-segment* *display-camera-marks*) - (camera-line-rel-len - (the-as vector (-> obj point s1-0)) - s2-0 - (* 40.96 f26-0) - (the-as - vector4w - (new 'static 'inline-array qword 1 - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x80 #x80 #x0 #x80) - ) - ) - ) - ) - ) - ) - ) - (set! v1-8 s1-0) - ) ) - ) ) - ) 0 (none) ) ;; definition for method 21 of type tracking-spline ;; Used lq/sq -(defmethod - TODO-RENAME-21 - tracking-spline - ((obj tracking-spline) (arg0 vector) (arg1 float) (arg2 float)) +(defmethod TODO-RENAME-21 tracking-spline ((obj tracking-spline) (arg0 vector) (arg1 float) (arg2 float)) (let ((v1-0 (-> obj used-point)) (f0-0 (-> obj partial-point)) ) - (let ((f1-0 (-> obj summed-len))) - 0.0 - 0.0 - (let* ((f1-1 (- f1-0 (* f0-0 (-> obj point v1-0 tp-length)))) - (f2-5 (* 0.1 f1-1)) - (f2-8 - (* - (fmin arg1 (- f2-5 (-> obj max-move))) - (-> *display* time-adjust-ratio) + (let ((f1-0 (-> obj summed-len))) + 0.0 + 0.0 + (let* ((f1-1 (- f1-0 (* f0-0 (-> obj point v1-0 tp-length)))) + (f2-5 (* 0.1 f1-1)) + (f2-8 (* (fmin arg1 (- f2-5 (-> obj max-move))) (-> *display* time-adjust-ratio))) ) - ) - ) - (set! (-> obj max-move) (fmin arg2 (+ (-> obj max-move) f2-8))) - ) - ) - (set! (-> obj max-move) (fmax 0.4096 (-> obj max-move))) - (let ((f1-8 (-> obj summed-len))) - 0.0 - (let* ((f2-14 (- f1-8 (* f0-0 (-> obj point v1-0 tp-length)))) - (f2-16 (fmin 204.8 (- f2-14 (-> obj sample-len)))) - ) - (set! (-> obj sample-len) (fmin 16384.0 (+ (-> obj sample-len) f2-16))) - ) - ) - (let ((s4-0 (new 'stack-no-clear 'tracking-spline-sampler))) - (set! (-> s4-0 cur-pt) v1-0) - (set! (-> s4-0 partial-pt) f0-0) - (TODO-RENAME-19 - obj - (* (-> obj max-move) (-> *display* time-adjust-ratio)) - arg0 - s4-0 - ) - (TODO-RENAME-14 obj (the-as vector s4-0)) - (dotimes (s3-0 63) - (TODO-RENAME-18 obj (* 0.015625 (-> obj sample-len)) arg0 s4-0) - ) - (vector-float*! arg0 arg0 0.015625) - (let ((a2-3 (-> s4-0 cur-pt))) - (set! (-> obj debug-last-point) a2-3) - (let ((s4-1 (new 'stack-no-clear 'vector))) - (set! (-> obj debug-old-position quad) (-> obj old-position quad)) - (set! (-> obj debug-out-position quad) (-> arg0 quad)) - (vector-! s4-1 arg0 (-> obj old-position)) - (TODO-RENAME-20 obj s4-1 a2-3) - (vector+! arg0 (-> obj old-position) s4-1) + (set! (-> obj max-move) (fmin arg2 (+ (-> obj max-move) f2-8))) + ) + ) + (set! (-> obj max-move) (fmax 0.4096 (-> obj max-move))) + (let ((f1-8 (-> obj summed-len))) + 0.0 + (let* ((f2-14 (- f1-8 (* f0-0 (-> obj point v1-0 tp-length)))) + (f2-16 (fmin 204.8 (- f2-14 (-> obj sample-len)))) + ) + (set! (-> obj sample-len) (fmin 16384.0 (+ (-> obj sample-len) f2-16))) + ) + ) + (let ((s4-0 (new 'stack-no-clear 'tracking-spline-sampler))) + (set! (-> s4-0 cur-pt) v1-0) + (set! (-> s4-0 partial-pt) f0-0) + (TODO-RENAME-19 obj (* (-> obj max-move) (-> *display* time-adjust-ratio)) arg0 s4-0) + (TODO-RENAME-14 obj (the-as vector s4-0)) + (dotimes (s3-0 63) + (TODO-RENAME-18 obj (* 0.015625 (-> obj sample-len)) arg0 s4-0) + ) + (vector-float*! arg0 arg0 0.015625) + (let ((a2-3 (-> s4-0 cur-pt))) + (set! (-> obj debug-last-point) a2-3) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (set! (-> obj debug-old-position quad) (-> obj old-position quad)) + (set! (-> obj debug-out-position quad) (-> arg0 quad)) + (vector-! s4-1 arg0 (-> obj old-position)) + (TODO-RENAME-20 obj s4-1 a2-3) + (vector+! arg0 (-> obj old-position) s4-1) + ) + ) ) - ) ) - ) (set! (-> obj old-position quad) (-> arg0 quad)) arg0 ) @@ -1056,15 +884,15 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-22 tracking-spline ((obj tracking-spline) (arg0 float)) (when (< arg0 (-> obj summed-len)) - (let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler))) - (let ((a2-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 cur-pt) (-> obj used-point)) - (set! (-> s5-0 partial-pt) 0.0) - (TODO-RENAME-19 obj (- (-> obj summed-len) arg0) a2-0 s5-0) - ) - (TODO-RENAME-14 obj (the-as vector s5-0)) + (let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler))) + (let ((a2-0 (new 'stack-no-clear 'vector))) + (set! (-> s5-0 cur-pt) (-> obj used-point)) + (set! (-> s5-0 partial-pt) 0.0) + (TODO-RENAME-19 obj (- (-> obj summed-len) arg0) a2-0 s5-0) + ) + (TODO-RENAME-14 obj (the-as vector s5-0)) + ) ) - ) 0 (none) ) @@ -1076,49 +904,39 @@ (s4-0 0) (s5-0 0) ) - (while (!= v1-0 -134250495) - (set! s5-0 (logior s5-0 (ash 1 v1-0))) - (+! s4-0 1) - (set! v1-0 (-> obj point v1-0 next)) - ) - (when (!= s4-0 (-> obj used-count)) - (if *debug-segment* - (format - 0 - "ERROR: tracking spline used count ~D actual ~D~%" - (-> obj used-count) - s4-0 + (while (!= v1-0 -134250495) + (set! s5-0 (logior s5-0 (ash 1 v1-0))) + (+! s4-0 1) + (set! v1-0 (-> obj point v1-0 next)) ) - ) - (set! (-> obj used-count) s4-0) - ) - (let ((v1-9 (-> obj free-point)) - (a3-1 0) - ) - (while (!= v1-9 -134250495) - (+! a3-1 1) - (set! v1-9 (-> obj point v1-9 next)) - ) - (when (!= a3-1 (- 32 (-> obj used-count))) - (if *debug-segment* - (format - 0 - "ERROR: tracking spline free count ~D actual ~D~%" - (- 32 (-> obj used-count)) - a3-1 - ) + (when (!= s4-0 (-> obj used-count)) + (if *debug-segment* + (format 0 "ERROR: tracking spline used count ~D actual ~D~%" (-> obj used-count) s4-0) + ) + (set! (-> obj used-count) s4-0) ) - (set! (-> obj free-point) -134250495) - (dotimes (v1-21 32) - (when (zero? (logand s5-0 1)) - (set! (-> obj point v1-21 next) (-> obj free-point)) - (set! (-> obj free-point) v1-21) - ) - (set! s5-0 (shr s5-0 1)) + (let ((v1-9 (-> obj free-point)) + (a3-1 0) + ) + (while (!= v1-9 -134250495) + (+! a3-1 1) + (set! v1-9 (-> obj point v1-9 next)) + ) + (when (!= a3-1 (- 32 (-> obj used-count))) + (if *debug-segment* + (format 0 "ERROR: tracking spline free count ~D actual ~D~%" (- 32 (-> obj used-count)) a3-1) + ) + (set! (-> obj free-point) -134250495) + (dotimes (v1-21 32) + (when (zero? (logand s5-0 1)) + (set! (-> obj point v1-21 next) (-> obj free-point)) + (set! (-> obj free-point) v1-21) + ) + (set! s5-0 (shr s5-0 1)) + ) + ) ) - ) ) - ) 0 (none) ) @@ -1127,54 +945,54 @@ ;; Used lq/sq (defbehavior cam-slave-init-vars camera-slave () (cond - (*camera* - (set! (-> self options) (-> *camera* slave-options)) - (set! (-> self change-event-from) (-> *camera* changer)) - ) - (else - (set! (-> self options) (the-as uint 0)) - (set! (-> self change-event-from) (the-as uint #f)) - ) - ) - (cond - (*camera-combiner* - (set! (-> self trans quad) (-> *camera-combiner* trans quad)) - (let* ((v1-9 (-> self tracking)) - (a3-0 (-> *camera-combiner* inv-camera-rot)) - (a0-1 (-> a3-0 vector 0 quad)) - (a1-0 (-> a3-0 vector 1 quad)) - (a2-0 (-> a3-0 vector 2 quad)) - (a3-1 (-> a3-0 vector 3 quad)) - ) - (set! (-> v1-9 inv-mat vector 0 quad) a0-1) - (set! (-> v1-9 inv-mat vector 1 quad) a1-0) - (set! (-> v1-9 inv-mat vector 2 quad) a2-0) - (set! (-> v1-9 inv-mat vector 3 quad) a3-1) - ) - (when *camera-init-mat* - (let* ((a2-1 (-> self tracking)) - (a3-2 *camera-init-mat*) - (v1-12 (-> a3-2 vector 0 quad)) - (a0-2 (-> a3-2 vector 1 quad)) - (a1-1 (-> a3-2 vector 2 quad)) - (a3-3 (-> a3-2 vector 3 quad)) - ) - (set! (-> a2-1 inv-mat vector 0 quad) v1-12) - (set! (-> a2-1 inv-mat vector 1 quad) a0-2) - (set! (-> a2-1 inv-mat vector 2 quad) a1-1) - (set! (-> a2-1 inv-mat vector 3 quad) a3-3) + (*camera* + (set! (-> self options) (-> *camera* slave-options)) + (set! (-> self change-event-from) (-> *camera* changer)) + ) + (else + (set! (-> self options) (the-as uint 0)) + (set! (-> self change-event-from) (the-as uint #f)) ) - ) - (set! (-> self fov) (-> *camera-combiner* fov)) - (set! (-> self velocity quad) (-> *camera-combiner* velocity quad)) ) - (else - (vector-reset! (-> self trans)) - (matrix-identity! (the-as matrix (-> self tracking))) - (set! (-> self fov) 11650.845) - (vector-reset! (-> self velocity)) + (cond + (*camera-combiner* + (set! (-> self trans quad) (-> *camera-combiner* trans quad)) + (let* ((v1-9 (-> self tracking)) + (a3-0 (-> *camera-combiner* inv-camera-rot)) + (a0-1 (-> a3-0 vector 0 quad)) + (a1-0 (-> a3-0 vector 1 quad)) + (a2-0 (-> a3-0 vector 2 quad)) + (a3-1 (-> a3-0 vector 3 quad)) + ) + (set! (-> v1-9 inv-mat vector 0 quad) a0-1) + (set! (-> v1-9 inv-mat vector 1 quad) a1-0) + (set! (-> v1-9 inv-mat vector 2 quad) a2-0) + (set! (-> v1-9 inv-mat vector 3 quad) a3-1) + ) + (when *camera-init-mat* + (let* ((a2-1 (-> self tracking)) + (a3-2 *camera-init-mat*) + (v1-12 (-> a3-2 vector 0 quad)) + (a0-2 (-> a3-2 vector 1 quad)) + (a1-1 (-> a3-2 vector 2 quad)) + (a3-3 (-> a3-2 vector 3 quad)) + ) + (set! (-> a2-1 inv-mat vector 0 quad) v1-12) + (set! (-> a2-1 inv-mat vector 1 quad) a0-2) + (set! (-> a2-1 inv-mat vector 2 quad) a1-1) + (set! (-> a2-1 inv-mat vector 3 quad) a3-3) + ) + ) + (set! (-> self fov) (-> *camera-combiner* fov)) + (set! (-> self velocity quad) (-> *camera-combiner* velocity quad)) + ) + (else + (vector-reset! (-> self trans)) + (matrix-identity! (the-as matrix (-> self tracking))) + (set! (-> self fov) 11650.845) + (vector-reset! (-> self velocity)) + ) ) - ) (set! (-> self time-dist-too-far) (the-as uint 0)) (set! (-> self intro-t) 1.0) (set! (-> self intro-t-step) 0.0) @@ -1184,29 +1002,17 @@ (set! (-> self cam-entity) #f) (set! (-> self tracking no-follow) #f) (init-cam-float-seeker - (-> self tracking tilt-adjust) - (-> *CAMERA-bank* default-tilt-adjust) - 9.102222 - 91.022224 - 0.25 - ) + (-> self tracking tilt-adjust) + (-> *CAMERA-bank* default-tilt-adjust) + 9.102222 + 91.022224 + 0.25 + ) (set! (-> self tracking follow-blend) 1.0) (set! (-> self have-phony-joystick) #f) (set! (-> self string-val-locked) #f) - (init-cam-float-seeker - (-> self tracking point-of-interest-blend) - 0.0 - 0.005 - 0.02 - 0.125 - ) - (init-cam-float-seeker - (-> self tracking underwater-blend) - 0.0 - 0.007 - 0.03 - 0.125 - ) + (init-cam-float-seeker (-> self tracking point-of-interest-blend) 0.0 0.005 0.02 0.125) + (init-cam-float-seeker (-> self tracking underwater-blend) 0.0 0.007 0.03 0.125) (set! (-> self tracking use-point-of-interest) #f) (TODO-RENAME-10 (-> self position-spline) (-> self trans)) (none) @@ -1216,14 +1022,14 @@ ;; INFO: Return type mismatch int vs none. (defun cam-slave-go ((arg0 state)) (with-pp - (cam-slave-init-vars) - (let ((t9-1 (the-as (function object) enter-state))) - (set! (-> pp next-state) arg0) - (t9-1) + (cam-slave-init-vars) + (let ((t9-1 (the-as (function object) enter-state))) + (set! (-> pp next-state) arg0) + (t9-1) + ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function cam-slave-init @@ -1232,43 +1038,43 @@ (stack-size-set! (-> self main-thread) 512) (change-to-last-brother self) (if (and (nonzero? camera-slave-debug) *debug-segment*) - (add-connection *debug-engine* self camera-slave-debug self #f #f) - ) + (add-connection *debug-engine* self camera-slave-debug self #f #f) + ) (cam-slave-init-vars) (let ((v1-7 'cam-voicebox) (a0-4 (the-as basic (-> arg0 name))) ) - (cond - ((= (the-as symbol a0-4) v1-7) - ) - (arg1 - (set! (-> self cam-entity) arg1) - ) - (else - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 1) - (set! (-> a1-3 message) 'slave-activated) - (set! (-> a1-3 param 0) (the-as uint self)) - (let ((t9-4 send-event-function)) - (set! a0-4 *camera*) - (t9-4 (the-as camera-master a0-4) a1-3) + (cond + ((= (the-as symbol a0-4) v1-7) ) + (arg1 + (set! (-> self cam-entity) arg1) + ) + (else + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 1) + (set! (-> a1-3 message) 'slave-activated) + (set! (-> a1-3 param 0) (the-as uint self)) + (let ((t9-4 send-event-function)) + (set! a0-4 *camera*) + (t9-4 (the-as camera-master a0-4) a1-3) + ) + ) + ) + ) + (let ((t9-5 (the-as (function object object) (-> arg0 enter)))) + (if t9-5 + (t9-5 (the-as symbol a0-4)) + ) + ) + (set! (-> self enter-has-run) #t) + (set! (-> self event-hook) (-> arg0 event)) + (let ((t9-6 (the-as (function object object) enter-state))) + (set! (-> self next-state) arg0) + (t9-6 (the-as symbol a0-4)) ) - ) ) - (let ((t9-5 (the-as (function object object) (-> arg0 enter)))) - (if t9-5 - (t9-5 (the-as symbol a0-4)) - ) - ) - (set! (-> self enter-has-run) #t) - (set! (-> self event-hook) (-> arg0 event)) - (let ((t9-6 (the-as (function object object) enter-state))) - (set! (-> self next-state) arg0) - (t9-6 (the-as symbol a0-4)) - ) - ) 0 (none) ) @@ -1280,235 +1086,163 @@ ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 45] ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 50] ;; Used lq/sq -(defbehavior - cam-standard-event-handler camera-slave - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior cam-standard-event-handler camera-slave ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'go) - (let ((v1-1 (-> arg3 param 0)) - (t9-0 (the-as (function object) enter-state)) - ) - (set! (-> self next-state) (the-as state v1-1)) - (t9-0) - ) - ) - ((or (= v1-0 'change-state) (= v1-0 'change-state-no-go)) - (let ((s5-0 (the-as object (-> arg3 param 0)))) - (cam-slave-init-vars) - (let - ((t9-2 - (the-as - (function object) - (-> (the-as state s5-0) enter) - ) - ) - ) - (if t9-2 - (t9-2) - ) - ) - (set! (-> self enter-has-run) #t) - (set! (-> self event-hook) (-> (the-as state s5-0) event)) - (when (= arg2 'change-state) - (let ((t9-3 (the-as (function object) enter-state))) - (set! (-> self next-state) (the-as state s5-0)) - (t9-3) - ) - ) - ) - ) - ((= v1-0 'point-of-interest) - (cond - ((-> arg3 param 0) - (set! (-> self tracking use-point-of-interest) #t) - (set! - (-> self tracking point-of-interest quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - (let ((f0-0 1.0)) - (set! - (-> self tracking point-of-interest-blend target) - f0-0 - ) - f0-0 - ) - ) - (else - (set! (-> self tracking use-point-of-interest) #f) - (let ((f0-1 0.0)) - (set! - (-> self tracking point-of-interest-blend target) - f0-1 - ) - f0-1 - ) - ) - ) - ) - ((= v1-0 'teleport) - (cam-calc-follow! (-> self tracking) (-> self trans) #f) - (slave-set-rotation! - (-> self tracking) - (-> self trans) - (the-as float (-> self options)) - (-> self fov) - #f - ) - ) - ) + (the-as + object + (cond + ((= v1-0 'go) + (let ((v1-1 (-> arg3 param 0)) + (t9-0 (the-as (function object) enter-state)) + ) + (set! (-> self next-state) (the-as state v1-1)) + (t9-0) + ) + ) + ((or (= v1-0 'change-state) (= v1-0 'change-state-no-go)) + (let ((s5-0 (the-as object (-> arg3 param 0)))) + (cam-slave-init-vars) + (let ((t9-2 (the-as (function object) (-> (the-as state s5-0) enter)))) + (if t9-2 + (t9-2) + ) + ) + (set! (-> self enter-has-run) #t) + (set! (-> self event-hook) (-> (the-as state s5-0) event)) + (when (= arg2 'change-state) + (let ((t9-3 (the-as (function object) enter-state))) + (set! (-> self next-state) (the-as state s5-0)) + (t9-3) + ) + ) + ) + ) + ((= v1-0 'point-of-interest) + (cond + ((-> arg3 param 0) + (set! (-> self tracking use-point-of-interest) #t) + (set! (-> self tracking point-of-interest quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (let ((f0-0 1.0)) + (set! (-> self tracking point-of-interest-blend target) f0-0) + f0-0 + ) + ) + (else + (set! (-> self tracking use-point-of-interest) #f) + (let ((f0-1 0.0)) + (set! (-> self tracking point-of-interest-blend target) f0-1) + f0-1 + ) + ) + ) + ) + ((= v1-0 'teleport) + (cam-calc-follow! (-> self tracking) (-> self trans) #f) + (slave-set-rotation! (-> self tracking) (-> self trans) (the-as float (-> self options)) (-> self fov) #f) + ) + ) + ) ) - ) ) ;; definition for function cam-curve-pos ;; Used lq/sq -(defbehavior - cam-curve-pos camera-slave - ((arg0 vector) (arg1 vector) (arg2 curve) (arg3 symbol)) +(defbehavior cam-curve-pos camera-slave ((arg0 vector) (arg1 vector) (arg2 curve) (arg3 symbol)) (let ((s5-0 (new-stack-vector0))) - 0.0 - (let ((s2-0 (new-stack-vector0))) - (if arg1 - (set! (-> arg1 w) 0.0) - ) - (when (< (-> self intro-t) 1.0) - (+! - (-> self intro-t) - (* (-> self intro-t-step) (-> *display* time-adjust-ratio)) - ) - (if (< 1.0 (-> self intro-t)) - (set! (-> self intro-t) 1.0) - ) - (curve-get-pos! - s5-0 - (parameter-ease-sin-clamp (-> self intro-t)) - (-> self intro-curve) - ) - (vector+! s5-0 s5-0 (-> self intro-offset)) - (vector+! arg0 arg0 s5-0) - (cond - ((not arg1) - ) - ((< (-> self intro-t) 0.5) - (curve-get-pos! - s2-0 - (+ 0.0001 (parameter-ease-sin-clamp (-> self intro-t))) - (-> self intro-curve) + 0.0 + (let ((s2-0 (new-stack-vector0))) + (if arg1 + (set! (-> arg1 w) 0.0) + ) + (when (< (-> self intro-t) 1.0) + (+! (-> self intro-t) (* (-> self intro-t-step) (-> *display* time-adjust-ratio))) + (if (< 1.0 (-> self intro-t)) + (set! (-> self intro-t) 1.0) + ) + (curve-get-pos! s5-0 (parameter-ease-sin-clamp (-> self intro-t)) (-> self intro-curve)) + (vector+! s5-0 s5-0 (-> self intro-offset)) + (vector+! arg0 arg0 s5-0) + (cond + ((not arg1) + ) + ((< (-> self intro-t) 0.5) + (curve-get-pos! s2-0 (+ 0.0001 (parameter-ease-sin-clamp (-> self intro-t))) (-> self intro-curve)) + (vector+! s2-0 s2-0 (-> self intro-offset)) + (vector-! arg1 s2-0 s5-0) + (set! (-> arg1 w) 1.0) + ) + (else + (curve-get-pos! s2-0 (+ -0.0001 (parameter-ease-sin-clamp (-> self intro-t))) (-> self intro-curve)) + (vector+! s2-0 s2-0 (-> self intro-offset)) + (vector-! arg1 s5-0 s2-0) + (set! (-> arg1 w) 1.0) + ) + ) ) - (vector+! s2-0 s2-0 (-> self intro-offset)) - (vector-! arg1 s2-0 s5-0) - (set! (-> arg1 w) 1.0) + ) + (cond + ((not (-> self spline-exists)) + ) + ((= (-> self spline-follow-dist) 0.0) + (let ((f0-18 (if arg3 + (dummy-10 (-> self index) (-> self tracking follow-pt)) + (dummy-10 (-> self index) (-> *camera* tpos-curr-adj)) + ) + ) + ) + (curve-get-pos! s5-0 f0-18 (-> self spline-curve)) + ) + (vector+! s5-0 s5-0 (-> self spline-offset)) + (vector+! arg0 arg0 s5-0) ) (else - (curve-get-pos! - s2-0 - (+ -0.0001 (parameter-ease-sin-clamp (-> self intro-t))) - (-> self intro-curve) + (let ((s3-1 (new 'stack-no-clear 'vector))) + (curve-length (-> self spline-curve)) + (if arg3 + (set! (-> s3-1 quad) (-> self tracking follow-pt quad)) + (set! (-> s3-1 quad) (-> *camera* tpos-curr-adj quad)) + ) + (set! (-> self spline-tt) + (curve-closest-point (-> self spline-curve) s3-1 (-> self spline-tt) 1024.0 10 (-> self spline-follow-dist)) + ) + ) + (curve-get-pos! s5-0 (-> self spline-tt) (-> self spline-curve)) + (vector+! s5-0 s5-0 (-> self spline-offset)) + (vector+! arg0 arg0 s5-0) ) - (vector+! s2-0 s2-0 (-> self intro-offset)) - (vector-! arg1 s5-0 s2-0) - (set! (-> arg1 w) 1.0) - ) ) - ) ) - (cond - ((not (-> self spline-exists)) - ) - ((= (-> self spline-follow-dist) 0.0) - (let ((f0-18 (if arg3 - (dummy-10 (-> self index) (-> self tracking follow-pt)) - (dummy-10 (-> self index) (-> *camera* tpos-curr-adj)) - ) - ) - ) - (curve-get-pos! s5-0 f0-18 (-> self spline-curve)) - ) - (vector+! s5-0 s5-0 (-> self spline-offset)) - (vector+! arg0 arg0 s5-0) - ) - (else - (let ((s3-1 (new 'stack-no-clear 'vector))) - (curve-length (-> self spline-curve)) - (if arg3 - (set! (-> s3-1 quad) (-> self tracking follow-pt quad)) - (set! (-> s3-1 quad) (-> *camera* tpos-curr-adj quad)) - ) - (set! - (-> self spline-tt) - (curve-closest-point - (-> self spline-curve) - s3-1 - (-> self spline-tt) - 1024.0 - 10 - (-> self spline-follow-dist) - ) - ) - ) - (curve-get-pos! s5-0 (-> self spline-tt) (-> self spline-curve)) - (vector+! s5-0 s5-0 (-> self spline-offset)) - (vector+! arg0 arg0 s5-0) - ) - ) - ) arg0 ) ;; definition for function cam-curve-setup ;; INFO: Return type mismatch int vs none. (defbehavior cam-curve-setup camera-slave ((arg0 vector)) - (when - (get-curve-data! - (-> self cam-entity) - (-> self spline-curve) - 'campath - 'campath-k - -1000000000.0 + (when (get-curve-data! (-> self cam-entity) (-> self spline-curve) 'campath 'campath-k -1000000000.0) + (curve-get-pos! (-> self spline-offset) 0.0 (-> self spline-curve)) + (vector-negate! (-> self spline-offset) (-> self spline-offset)) + (dummy-9 (-> self index) 'campoints (-> self cam-entity) arg0 (-> self spline-curve)) + (set! (-> self spline-exists) #t) ) - (curve-get-pos! (-> self spline-offset) 0.0 (-> self spline-curve)) - (vector-negate! (-> self spline-offset) (-> self spline-offset)) - (dummy-9 - (-> self index) - 'campoints - (-> self cam-entity) - arg0 - (-> self spline-curve) - ) - (set! (-> self spline-exists) #t) - ) (cond - ((get-curve-data! - (-> self cam-entity) - (-> self intro-curve) - 'intro - 'intro-k - -1000000000.0 - ) - (curve-get-pos! (-> self intro-offset) 1.0 (-> self intro-curve)) - (vector-negate! (-> self intro-offset) (-> self intro-offset)) - (set! (-> self intro-t) 0.0) - (set! - (-> self intro-t-step) - (cam-slave-get-intro-step (-> self cam-entity)) - ) - (set! - (-> self outro-exit-value) - (cam-slave-get-float (-> self cam-entity) 'intro-exitValue 0.0) - ) - (if (= (-> self outro-exit-value) 0.0) - (set! (-> self outro-exit-value) 0.5) + ((get-curve-data! (-> self cam-entity) (-> self intro-curve) 'intro 'intro-k -1000000000.0) + (curve-get-pos! (-> self intro-offset) 1.0 (-> self intro-curve)) + (vector-negate! (-> self intro-offset) (-> self intro-offset)) + (set! (-> self intro-t) 0.0) + (set! (-> self intro-t-step) (cam-slave-get-intro-step (-> self cam-entity))) + (set! (-> self outro-exit-value) (cam-slave-get-float (-> self cam-entity) 'intro-exitValue 0.0)) + (if (= (-> self outro-exit-value) 0.0) + (set! (-> self outro-exit-value) 0.5) + ) ) + (else + (set! (-> self intro-t) 1.0) + (set! (-> self intro-t-step) 0.0) + ) ) - (else - (set! (-> self intro-t) 1.0) - (set! (-> self intro-t-step) 0.0) - ) - ) (if (nonzero? (-> *camera* no-intro)) - (set! (-> self intro-t) 1.0) - ) + (set! (-> self intro-t) 1.0) + ) 0 (none) ) @@ -1517,409 +1251,329 @@ ;; Used lq/sq (defun cam-calc-follow! ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 symbol)) (with-pp - (cond - (arg2 - (update! (-> arg0 tilt-adjust) 0.0) - (update! (-> arg0 point-of-interest-blend) 0.0) - (update! (-> arg0 underwater-blend) 0.0) - ) - (else - (jump-to-target! (-> arg0 tilt-adjust) 0.0) - (jump-to-target! (-> arg0 point-of-interest-blend) 0.0) - (jump-to-target! (-> arg0 underwater-blend) 0.0) - ) - ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) pp) - (set! (-> a1-7 num-params) 1) - (set! (-> a1-7 message) 'slave-option?) - (set! (-> a1-7 param 0) (the-as uint #x4000)) (cond - ((send-event-function *camera* a1-7) - (let ((s3-0 (new 'stack-no-clear 'vector)) - (s2-0 (new 'stack-no-clear 'vector)) - (f30-0 - (vector-vector-distance - (-> *camera* tpos-curr-adj) - (-> *camera* tpos-old-adj) - ) + (arg2 + (update! (-> arg0 tilt-adjust) 0.0) + (update! (-> arg0 point-of-interest-blend) 0.0) + (update! (-> arg0 underwater-blend) 0.0) + ) + (else + (jump-to-target! (-> arg0 tilt-adjust) 0.0) + (jump-to-target! (-> arg0 point-of-interest-blend) 0.0) + (jump-to-target! (-> arg0 underwater-blend) 0.0) + ) + ) + (let ((a1-7 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-7 from) pp) + (set! (-> a1-7 num-params) 1) + (set! (-> a1-7 message) 'slave-option?) + (set! (-> a1-7 param 0) (the-as uint #x4000)) + (cond + ((send-event-function *camera* a1-7) + (let ((s3-0 (new 'stack-no-clear 'vector)) + (s2-0 (new 'stack-no-clear 'vector)) + (f30-0 (vector-vector-distance (-> *camera* tpos-curr-adj) (-> *camera* tpos-old-adj))) + (s5-1 (new 'stack-no-clear 'vector)) + ) + (vector-flatten! s3-0 (-> *camera* tgt-face-mat vector 2) (-> *camera* local-down)) + (vector-normalize! s3-0 1.0) + (vector-! s2-0 (-> *camera* tpos-curr-adj) arg1) + (vector-flatten! s2-0 s2-0 (-> *camera* local-down)) + (vector-normalize! s2-0 1.0) + (vector-float*! s5-1 (-> *camera* tgt-face-mat vector 2) 32768.0) + (let* ((f30-1 (lerp-clamp 0.7 0.4 (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f30-0))))) + (f0-4 (acos (vector-dot s2-0 s3-0))) + (f28-0 (fmax 1820.4445 f0-4)) + ) + (if (< f28-0 8192.0) + (vector-float*! + s5-1 + s5-1 + (+ f30-1 + (* (/ (- 1.0 f30-1) (- 1.0 (cos 32768.0))) (+ (- (cos 32768.0)) (cos (* 5.142857 (- 8192.0 f28-0))))) + ) + ) + ) ) - (s5-1 (new 'stack-no-clear 'vector)) - ) - (vector-flatten! - s3-0 - (-> *camera* tgt-face-mat vector 2) - (-> *camera* local-down) - ) - (vector-normalize! s3-0 1.0) - (vector-! s2-0 (-> *camera* tpos-curr-adj) arg1) - (vector-flatten! s2-0 s2-0 (-> *camera* local-down)) - (vector-normalize! s2-0 1.0) - (vector-float*! s5-1 (-> *camera* tgt-face-mat vector 2) 32768.0) - (let* - ((f30-1 - (lerp-clamp - 0.7 - 0.4 - (parameter-ease-sin-clamp (* 0.00081380206 (+ -409.6 f30-0))) - ) - ) - (f0-4 (acos (vector-dot s2-0 s3-0))) - (f28-0 (fmax 1820.4445 f0-4)) - ) - (if (< f28-0 8192.0) - (vector-float*! - s5-1 - s5-1 - (+ - f30-1 - (* - (/ (- 1.0 f30-1) (- 1.0 (cos 32768.0))) - (+ (- (cos 32768.0)) (cos (* 5.142857 (- 8192.0 f28-0)))) - ) - ) - ) - ) - ) - (cond - ((< (-> *camera* ease-t) 1.0) - ) - ((< (-> arg0 follow-blend) 1.0) - (let* ((f0-18 (-> arg0 follow-blend)) - (f0-19 (* f0-18 f0-18)) - (f0-20 (* f0-19 f0-19)) + (cond + ((< (-> *camera* ease-t) 1.0) + ) + ((< (-> arg0 follow-blend) 1.0) + (let* ((f0-18 (-> arg0 follow-blend)) + (f0-19 (* f0-18 f0-18)) + (f0-20 (* f0-19 f0-19)) + ) + (vector-! s5-1 s5-1 (-> arg0 follow-off)) + (vector-float*! s5-1 s5-1 f0-20) ) - (vector-! s5-1 s5-1 (-> arg0 follow-off)) - (vector-float*! s5-1 s5-1 f0-20) - ) - (+! - (-> arg0 follow-blend) - (* 0.016666668 (-> *display* time-adjust-ratio)) - ) - (vector+! (-> arg0 follow-off) (-> arg0 follow-off) s5-1) + (+! (-> arg0 follow-blend) (* 0.016666668 (-> *display* time-adjust-ratio))) + (vector+! (-> arg0 follow-off) (-> arg0 follow-off) s5-1) + ) + (else + (set! (-> arg0 follow-off quad) (-> s5-1 quad)) + ) + ) + ) + (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) + (vector--float*! + (-> arg0 follow-pt) + (-> arg0 follow-pt) + (-> *camera* local-down) + (+ 12288.0 (-> *camera* target-height)) + ) ) (else - (set! (-> arg0 follow-off quad) (-> s5-1 quad)) - ) - ) - ) - (vector+! - (-> arg0 follow-pt) - (-> *camera* tpos-curr-adj) - (-> arg0 follow-off) - ) - (vector--float*! - (-> arg0 follow-pt) - (-> arg0 follow-pt) - (-> *camera* local-down) - (+ 12288.0 (-> *camera* target-height)) - ) - ) - (else - 0.0 - (let ((s3-2 (new-stack-vector0))) - (set! (-> arg0 follow-blend) 0.0) - (cond - ((-> arg0 no-follow) - (vector-reset! s3-2) - ) - (else - (vector-! s3-2 (-> *camera* tpos-curr-adj) arg1) - (vector-normalize! s3-2 1.0) - (let* ((f0-28 (vector-dot (-> *camera* tgt-rot-mat vector 2) s3-2)) - (f30-2 (cond - ((< f0-28 0.0) - 1.0 - ) - (else - (let* ((f0-29 (* f0-28 f0-28)) - (f0-30 (- 1.0 f0-29)) + 0.0 + (let ((s3-2 (new-stack-vector0))) + (set! (-> arg0 follow-blend) 0.0) + (cond + ((-> arg0 no-follow) + (vector-reset! s3-2) + ) + (else + (vector-! s3-2 (-> *camera* tpos-curr-adj) arg1) + (vector-normalize! s3-2 1.0) + (let* ((f0-28 (vector-dot (-> *camera* tgt-rot-mat vector 2) s3-2)) + (f30-2 (cond + ((< f0-28 0.0) + 1.0 + ) + (else + (let* ((f0-29 (* f0-28 f0-28)) (f0-30 (- 1.0 f0-29))) (* f0-30 (* f0-30 f0-30))) + ) ) - (* f0-30 (* f0-30 f0-30)) - ) + ) + ) + (vector-! s3-2 arg1 (-> *camera* tpos-curr-adj)) + (vector-flatten! s3-2 s3-2 (-> *camera* local-down)) + (let* ((f0-33 (* 0.000022194603 (+ -20480.0 (vector-length s3-2)))) + (f0-34 (fmin 1.0 f0-33)) + (f0-35 (fmax 0.0 f0-34)) ) - ) - ) + (vector-float*! s3-2 (-> *camera* tgt-rot-mat vector 2) (* (lerp 2048.0 8192.0 f0-35) f30-2)) + ) + ) + ) + ) + (if arg2 + (vector-seek-3d-smooth! (-> arg0 follow-off) s3-2 (* 20480.0 (-> *display* seconds-per-frame)) 0.05) + (set! (-> arg0 follow-off quad) (-> s3-2 quad)) ) - (vector-! s3-2 arg1 (-> *camera* tpos-curr-adj)) - (vector-flatten! s3-2 s3-2 (-> *camera* local-down)) - (let* ((f0-33 (* 0.000022194603 (+ -20480.0 (vector-length s3-2)))) - (f0-34 (fmin 1.0 f0-33)) - (f0-35 (fmax 0.0 f0-34)) - ) - (vector-float*! - s3-2 - (-> *camera* tgt-rot-mat vector 2) - (* (lerp 2048.0 8192.0 f0-35) f30-2) ) - ) + (vector+! (-> arg0 follow-pt) (-> *camera* tpos-curr-adj) (-> arg0 follow-off)) + (vector--float*! (-> arg0 follow-pt) (-> arg0 follow-pt) (-> *camera* local-down) (-> *camera* target-height)) ) - ) ) - (if arg2 - (vector-seek-3d-smooth! - (-> arg0 follow-off) - s3-2 - (* 20480.0 (-> *display* seconds-per-frame)) - 0.05 - ) - (set! (-> arg0 follow-off quad) (-> s3-2 quad)) - ) - ) - (vector+! - (-> arg0 follow-pt) - (-> *camera* tpos-curr-adj) - (-> arg0 follow-off) - ) - (vector--float*! - (-> arg0 follow-pt) - (-> arg0 follow-pt) - (-> *camera* local-down) - (-> *camera* target-height) - ) ) - ) + (-> arg0 follow-pt) ) - (-> arg0 follow-pt) - ) ) ;; definition for function mat-remove-z-rot ;; Used lq/sq (defun mat-remove-z-rot ((arg0 matrix) (arg1 vector)) (let ((s4-0 (new-stack-vector0))) - 0.0 - 0.0 - (let ((s5-0 (new-stack-matrix0))) - (vector-negate! s4-0 arg1) - (vector-flatten! s4-0 s4-0 (-> arg0 vector 2)) - (vector-normalize! s4-0 1.0) - (let ((f30-0 (vector-dot (-> arg0 vector 1) s4-0))) - (when (< f30-0 0.99999) - (vector-cross! s4-0 (-> arg0 vector 1) s4-0) - (let ((f0-4 (vector-length s4-0))) - (if (< 0.0 (vector-dot s4-0 (-> arg0 vector 2))) - (set! f0-4 (- f0-4)) + 0.0 + 0.0 + (let ((s5-0 (new-stack-matrix0))) + (vector-negate! s4-0 arg1) + (vector-flatten! s4-0 s4-0 (-> arg0 vector 2)) + (vector-normalize! s4-0 1.0) + (let ((f30-0 (vector-dot (-> arg0 vector 1) s4-0))) + (when (< f30-0 0.99999) + (vector-cross! s4-0 (-> arg0 vector 1) s4-0) + (let ((f0-4 (vector-length s4-0))) + (if (< 0.0 (vector-dot s4-0 (-> arg0 vector 2))) + (set! f0-4 (- f0-4)) + ) + (matrix-axis-sin-cos! s5-0 (-> arg0 vector 2) f0-4 f30-0) + ) + (matrix*! arg0 arg0 s5-0) + ) ) - (matrix-axis-sin-cos! s5-0 (-> arg0 vector 2) f0-4 f30-0) - ) - (matrix*! arg0 arg0 s5-0) ) - ) ) - ) arg0 ) ;; definition for function slave-matrix-blend-2 ;; Used lq/sq -(defun - slave-matrix-blend-2 - ((arg0 matrix) (arg1 float) (arg2 vector) (arg3 matrix)) +(defun slave-matrix-blend-2 ((arg0 matrix) (arg1 float) (arg2 vector) (arg3 matrix)) (let ((s1-0 (new-stack-vector0)) (s4-0 (new-stack-quaternion0)) ) - (let ((s2-0 (new-stack-quaternion0)) - (gp-0 (new-stack-quaternion0)) - ) - 0.0 - (let* ((f0-1 (cond - ((logtest? (the-as int arg1) 4) - (vector-length arg2) + (let ((s2-0 (new-stack-quaternion0)) + (gp-0 (new-stack-quaternion0)) + ) + 0.0 + (let* ((f0-1 (cond + ((logtest? (the-as int arg1) 4) + (vector-length arg2) + ) + (else + (vector-flatten! s1-0 arg2 (-> *camera* local-down)) + (vector-length s1-0) + ) + ) ) - (else - (vector-flatten! s1-0 arg2 (-> *camera* local-down)) - (vector-length s1-0) - ) - ) - ) - (f0-3 (* 0.00048828125 (+ -1024.0 f0-1))) + (f0-3 (* 0.00048828125 (+ -1024.0 f0-1))) + ) + (cond + ((< f0-3 0.0) + (set! f0-3 0.0) ) - (cond - ((< f0-3 0.0) - (set! f0-3 0.0) - ) - ((< 1.0 f0-3) - (set! f0-3 1.0) - ) - ) - (let ((f30-0 (* 364.0889 (-> *display* time-adjust-ratio) f0-3))) - (matrix->quaternion s4-0 arg0) - (matrix->quaternion s2-0 arg3) - (quaternion-conjugate! gp-0 s4-0) - (quaternion*! gp-0 gp-0 s2-0) - (quaternion-normalize! gp-0) - (if (< (-> gp-0 w) 0.0) - (quaternion-negate! gp-0 gp-0) - ) - (let ((f28-0 (acos (-> gp-0 w)))) - (if (< (* 0.25 (-> *display* time-adjust-ratio) f28-0) f30-0) - (set! f30-0 (* 0.25 (-> *display* time-adjust-ratio) f28-0)) + ((< 1.0 f0-3) + (set! f0-3 1.0) + ) + ) + (let ((f30-0 (* 364.0889 (-> *display* time-adjust-ratio) f0-3))) + (matrix->quaternion s4-0 arg0) + (matrix->quaternion s2-0 arg3) + (quaternion-conjugate! gp-0 s4-0) + (quaternion*! gp-0 gp-0 s2-0) + (quaternion-normalize! gp-0) + (if (< (-> gp-0 w) 0.0) + (quaternion-negate! gp-0 gp-0) + ) + (let ((f28-0 (acos (-> gp-0 w)))) + (if (< (* 0.25 (-> *display* time-adjust-ratio) f28-0) f30-0) + (set! f30-0 (* 0.25 (-> *display* time-adjust-ratio) f28-0)) + ) + (cond + ((< (-> gp-0 w) 0.9999999) + (quaternion-float*! gp-0 gp-0 (/ (sin f30-0) (sin f28-0))) + (set! (-> gp-0 w) (cos f30-0)) + ) + (else + (quaternion-identity! gp-0) + ) + ) + ) + ) ) - (cond - ((< (-> gp-0 w) 0.9999999) - (quaternion-float*! gp-0 gp-0 (/ (sin f30-0) (sin f28-0))) - (set! (-> gp-0 w) (cos f30-0)) - ) - (else - (quaternion-identity! gp-0) - ) - ) - ) + (quaternion*! s4-0 s4-0 gp-0) ) - ) - (quaternion*! s4-0 s4-0 gp-0) + (quaternion-normalize! s4-0) + (quaternion->matrix arg0 s4-0) ) - (quaternion-normalize! s4-0) - (quaternion->matrix arg0 s4-0) - ) ) ;; definition for function vector-into-frustum-nosmooth! ;; Used lq/sq (defun vector-into-frustum-nosmooth! ((arg0 matrix) (arg1 vector) (arg2 float)) - (local-vars - (sv-112 (inline-array vector)) - (sv-128 vector) - (sv-144 vector) - (sv-160 vector) - (sv-176 vector) - ) + (local-vars (sv-112 (inline-array vector)) (sv-128 vector) (sv-144 vector) (sv-160 vector) (sv-176 vector)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (let ((s5-0 (new-stack-matrix0))) - (let ((s3-0 (new-stack-vector0)) - (s2-0 (new-stack-vector0)) - ) - 0.0 - 0.0 - (let ((f30-0 1.0) - (s4-0 #t) - ) - (vector-! s3-0 (-> *camera* tpos-curr) arg1) - (vector-flatten! s3-0 s3-0 (-> arg0 vector 1)) - (vector-normalize! s3-0 1.0) - (let ((f28-0 (vector-dot s3-0 (the-as vector (-> arg0 vector))))) - (set! sv-128 s2-0) - (set! sv-112 (-> arg0 vector)) - (let ((f0-6 (* 0.8 (tan (* 0.5 arg2))))) - (.lvf vf1 (&-> sv-112 0 quad)) - (let ((v1-6 f0-6)) - (.mov vf2 v1-6) - ) - ) - (.add.x.vf vf1 vf0 vf0 :mask #b1000) - (.mul.x.vf vf1 vf1 vf2 :mask #b111) - (.svf (&-> sv-128 quad) vf1) - (vector+! s2-0 s2-0 (-> arg0 vector 2)) - (vector-normalize! s2-0 1.0) - (let ((f0-8 (vector-dot s2-0 (the-as vector (-> arg0 vector))))) - (when (< f0-8 (fabs f28-0)) - (if (< f28-0 0.0) - (vector--float*! - s2-0 - s2-0 - (the-as vector (-> arg0 vector)) - (* 2.0 f0-8) - ) - ) - (matrix-from-two-vectors! s5-0 s2-0 s3-0) - (vector-matrix*! (-> arg0 vector 2) (-> arg0 vector 2) s5-0) - (vector-cross! - (the-as vector (-> arg0 vector)) - (-> arg0 vector 1) - (-> arg0 vector 2) - ) - ) - ) - ) - (vector-! s3-0 (-> *camera* tpos-curr) (-> *camera* pitch-off)) - (vector-! s3-0 s3-0 arg1) - (vector--float*! - s3-0 - s3-0 - (-> *camera* local-down) - (-> *camera* foot-offset) - ) - (vector-flatten! s3-0 s3-0 (the-as vector (-> arg0 vector))) - (vector-normalize! s3-0 1.0) - (let ((f28-1 (vector-dot s3-0 (-> arg0 vector 1)))) - (set! sv-160 s2-0) - (set! sv-144 (-> arg0 vector 1)) - (let ((f0-15 (* 0.525 (tan (* 0.5 arg2))))) - (.lvf vf1 (&-> sv-144 quad)) - (let ((v1-23 f0-15)) - (.mov vf2 v1-23) - ) - ) - (.add.x.vf vf1 vf0 vf0 :mask #b1000) - (.mul.x.vf vf1 vf1 vf2 :mask #b111) - (.svf (&-> sv-160 quad) vf1) - (vector+! s2-0 s2-0 (-> arg0 vector 2)) - (vector-normalize! s2-0 1.0) - (let ((f0-17 (vector-dot s2-0 (-> arg0 vector 1)))) - (when (and (< f28-1 0.0) (< f0-17 (- f28-1))) - (vector--float*! s2-0 s2-0 (-> arg0 vector 1) (* 2.0 f0-17)) - (set! f30-0 (vector-dot s2-0 s3-0)) - ) - ) - ) - (vector-! s3-0 (-> *camera* tpos-curr) (-> *camera* pitch-off)) - (vector-! s3-0 s3-0 arg1) - (vector--float*! - s3-0 - s3-0 - (-> *camera* local-down) - (-> *camera* head-offset) - ) - (vector-flatten! s3-0 s3-0 (the-as vector (-> arg0 vector))) - (vector-normalize! s3-0 1.0) - (let ((f28-2 (vector-dot s3-0 (-> arg0 vector 1)))) - (let ((s0-1 s2-0)) - (set! sv-176 (-> arg0 vector 1)) - (let ((f0-25 (* 0.525 (tan (* 0.5 arg2))))) - (vector-float*! s0-1 sv-176 f0-25) - ) - ) - (vector+! s2-0 s2-0 (-> arg0 vector 2)) - (vector-normalize! s2-0 1.0) - (let ((f0-27 (vector-dot s2-0 (-> arg0 vector 1)))) - (cond - ((and (< 0.0 f28-2) (< f0-27 f28-2)) - (set! f30-0 (vector-dot s2-0 s3-0)) - (set! s4-0 #f) - ) - ((< f30-0 0.0) - (let ((f0-32 (- (vector-dot s2-0 s3-0)))) - (if (< f0-32 f30-0) - (set! f30-0 f0-32) + (init-vf0-vector) + (let ((s5-0 (new-stack-matrix0))) + (let ((s3-0 (new-stack-vector0)) + (s2-0 (new-stack-vector0)) ) - ) - ) - ) - ) - ) - (let ((f0-34 (if s4-0 - (- (acos f30-0)) - (acos f30-0) + 0.0 + 0.0 + (let ((f30-0 1.0) + (s4-0 #t) + ) + (vector-! s3-0 (-> *camera* tpos-curr) arg1) + (vector-flatten! s3-0 s3-0 (-> arg0 vector 1)) + (vector-normalize! s3-0 1.0) + (let ((f28-0 (vector-dot s3-0 (the-as vector (-> arg0 vector))))) + (set! sv-128 s2-0) + (set! sv-112 (-> arg0 vector)) + (let ((f0-6 (* 0.8 (tan (* 0.5 arg2))))) + (.lvf vf1 (&-> sv-112 0 quad)) + (let ((v1-6 f0-6)) + (.mov vf2 v1-6) + ) + ) + (.add.x.vf vf1 vf0 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> sv-128 quad) vf1) + (vector+! s2-0 s2-0 (-> arg0 vector 2)) + (vector-normalize! s2-0 1.0) + (let ((f0-8 (vector-dot s2-0 (the-as vector (-> arg0 vector))))) + (when (< f0-8 (fabs f28-0)) + (if (< f28-0 0.0) + (vector--float*! s2-0 s2-0 (the-as vector (-> arg0 vector)) (* 2.0 f0-8)) ) - ) + (matrix-from-two-vectors! s5-0 s2-0 s3-0) + (vector-matrix*! (-> arg0 vector 2) (-> arg0 vector 2) s5-0) + (vector-cross! (the-as vector (-> arg0 vector)) (-> arg0 vector 1) (-> arg0 vector 2)) + ) + ) ) - (matrix-axis-angle! s5-0 (the-as vector (-> arg0 vector)) f0-34) - ) + (vector-! s3-0 (-> *camera* tpos-curr) (-> *camera* pitch-off)) + (vector-! s3-0 s3-0 arg1) + (vector--float*! s3-0 s3-0 (-> *camera* local-down) (-> *camera* foot-offset)) + (vector-flatten! s3-0 s3-0 (the-as vector (-> arg0 vector))) + (vector-normalize! s3-0 1.0) + (let ((f28-1 (vector-dot s3-0 (-> arg0 vector 1)))) + (set! sv-160 s2-0) + (set! sv-144 (-> arg0 vector 1)) + (let ((f0-15 (* 0.525 (tan (* 0.5 arg2))))) + (.lvf vf1 (&-> sv-144 quad)) + (let ((v1-23 f0-15)) + (.mov vf2 v1-23) + ) + ) + (.add.x.vf vf1 vf0 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> sv-160 quad) vf1) + (vector+! s2-0 s2-0 (-> arg0 vector 2)) + (vector-normalize! s2-0 1.0) + (let ((f0-17 (vector-dot s2-0 (-> arg0 vector 1)))) + (when (and (< f28-1 0.0) (< f0-17 (- f28-1))) + (vector--float*! s2-0 s2-0 (-> arg0 vector 1) (* 2.0 f0-17)) + (set! f30-0 (vector-dot s2-0 s3-0)) + ) + ) + ) + (vector-! s3-0 (-> *camera* tpos-curr) (-> *camera* pitch-off)) + (vector-! s3-0 s3-0 arg1) + (vector--float*! s3-0 s3-0 (-> *camera* local-down) (-> *camera* head-offset)) + (vector-flatten! s3-0 s3-0 (the-as vector (-> arg0 vector))) + (vector-normalize! s3-0 1.0) + (let ((f28-2 (vector-dot s3-0 (-> arg0 vector 1)))) + (let ((s0-1 s2-0)) + (set! sv-176 (-> arg0 vector 1)) + (let ((f0-25 (* 0.525 (tan (* 0.5 arg2))))) + (vector-float*! s0-1 sv-176 f0-25) + ) + ) + (vector+! s2-0 s2-0 (-> arg0 vector 2)) + (vector-normalize! s2-0 1.0) + (let ((f0-27 (vector-dot s2-0 (-> arg0 vector 1)))) + (cond + ((and (< 0.0 f28-2) (< f0-27 f28-2)) + (set! f30-0 (vector-dot s2-0 s3-0)) + (set! s4-0 #f) + ) + ((< f30-0 0.0) + (let ((f0-32 (- (vector-dot s2-0 s3-0)))) + (if (< f0-32 f30-0) + (set! f30-0 f0-32) + ) + ) + ) + ) + ) + ) + (let ((f0-34 (if s4-0 + (- (acos f30-0)) + (acos f30-0) + ) + ) + ) + (matrix-axis-angle! s5-0 (the-as vector (-> arg0 vector)) f0-34) + ) + ) + ) + (vector-matrix*! (-> arg0 vector 2) (-> arg0 vector 2) s5-0) ) - ) - (vector-matrix*! (-> arg0 vector 2) (-> arg0 vector 2) s5-0) + (vector-cross! (-> arg0 vector 1) (-> arg0 vector 2) (the-as vector (-> arg0 vector))) ) - (vector-cross! - (-> arg0 vector 1) - (-> arg0 vector 2) - (the-as vector (-> arg0 vector)) - ) - ) ) ;; definition for function slave-set-rotation! @@ -1928,149 +1582,130 @@ ;; WARN: Unsupported inline assembly instruction kind - [madda.s f1, f4] ;; WARN: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5] ;; Used lq/sq -(defun - slave-set-rotation! - ((arg0 cam-rotation-tracker) - (arg1 vector) - (arg2 float) - (arg3 float) - (arg4 symbol) - ) +(defun slave-set-rotation! ((arg0 cam-rotation-tracker) (arg1 vector) (arg2 float) (arg3 float) (arg4 symbol)) (local-vars - (f0-8 float) - (sv-192 vector) - (sv-208 vector) - (sv-224 matrix) - (sv-240 (function matrix vector float vector)) - (sv-256 matrix) - ) + (f0-8 float) + (sv-192 vector) + (sv-208 vector) + (sv-224 matrix) + (sv-240 (function matrix vector float vector)) + (sv-256 matrix) + ) (rlet ((vf0 :class vf) (vf4 :class vf) (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (let ((s1-0 (new-stack-vector0)) - (s5-0 (new-stack-matrix0)) - ) - (let ((f30-0 (-> arg0 tilt-adjust value))) - (cond - ((< 0.0001 (-> arg0 point-of-interest-blend value)) - (set! sv-192 (new 'stack-no-clear 'vector)) - 0.0 - (vector-! s1-0 (-> arg0 follow-pt) arg1) - (let ((f28-0 (vector-length s1-0))) - (vector-! sv-192 (-> arg0 point-of-interest) arg1) - (vector-normalize! - sv-192 - (* f28-0 (-> arg0 point-of-interest-blend value)) - ) - (let ((v1-3 s1-0)) - (let ((a0-5 s1-0)) - (.mov.vf vf6 vf0 :mask #b1000) - (.lvf vf4 (&-> a0-5 quad)) + (init-vf0-vector) + (let ((s1-0 (new-stack-vector0)) + (s5-0 (new-stack-matrix0)) ) - (.lvf vf5 (&-> sv-192 quad)) - (.add.vf vf6 vf4 vf5 :mask #b111) - (.svf (&-> v1-3 quad) vf6) - ) - (vector-normalize! s1-0 f28-0) - ) - ) - (else - (vector-! s1-0 (-> arg0 follow-pt) arg1) - ) - ) - (forward-down->inv-matrix s5-0 s1-0 (-> *camera* local-down)) - (when (!= f30-0 0.0) - 0.0 - 0.0 - (set! sv-224 (new 'stack-no-clear 'matrix)) - (set! sv-208 (new 'stack-no-clear 'vector)) - (vector-normalize-copy! sv-208 s1-0 1.0) - (let* ((v1-11 (-> *camera* local-down)) - (f0-7 (-> sv-208 x)) - (f1-1 (-> sv-208 y)) - (f2-0 (-> sv-208 z)) - (f3-0 (-> v1-11 x)) - (f4-0 (-> v1-11 y)) - (f5-0 (-> v1-11 z)) + (let ((f30-0 (-> arg0 tilt-adjust value))) + (cond + ((< 0.0001 (-> arg0 point-of-interest-blend value)) + (set! sv-192 (new 'stack-no-clear 'vector)) + 0.0 + (vector-! s1-0 (-> arg0 follow-pt) arg1) + (let ((f28-0 (vector-length s1-0))) + (vector-! sv-192 (-> arg0 point-of-interest) arg1) + (vector-normalize! sv-192 (* f28-0 (-> arg0 point-of-interest-blend value))) + (let ((v1-3 s1-0)) + (let ((a0-5 s1-0)) + (.mov.vf vf6 vf0 :mask #b1000) + (.lvf vf4 (&-> a0-5 quad)) + ) + (.lvf vf5 (&-> sv-192 quad)) + (.add.vf vf6 vf4 vf5 :mask #b111) + (.svf (&-> v1-3 quad) vf6) + ) + (vector-normalize! s1-0 f28-0) ) - (.mula.s f0-7 f3-0) - (.madda.s f1-1 f4-0) - (.madd.s f0-8 f2-0 f5-0) - ) - (let* ((f28-1 f0-8) - (f0-10 (acos (fabs f28-1))) - ) - (cond - ((< 0.0 f30-0) - (set! f30-0 (if (< 0.0 f28-1) - (fmin f30-0 (fmax 0.0 (+ -2730.6667 f0-10))) - (fmin f30-0 (fmax 0.0 (- 32768.0 (+ 2730.6667 f0-10)))) - ) - ) - ) - ((< f30-0 0.0) - (set! f30-0 (if (< 0.0 f28-1) - (fmax - f30-0 - (- (fmax 0.0 (- 32768.0 (+ 2730.6667 f0-10)))) - ) - (fmax f30-0 (- (fmax 0.0 (+ -2730.6667 f0-10)))) - ) - ) - ) - ) - ) - (matrix-rotate-x! sv-224 f30-0) - (let ((t9-7 matrix*!) - (a0-16 s5-0) - (a2-3 s5-0) + ) + (else + (vector-! s1-0 (-> arg0 follow-pt) arg1) ) - (t9-7 a0-16 sv-224 a2-3) - ) + ) + (forward-down->inv-matrix s5-0 s1-0 (-> *camera* local-down)) + (when (!= f30-0 0.0) + 0.0 + 0.0 + (set! sv-224 (new 'stack-no-clear 'matrix)) + (set! sv-208 (new 'stack-no-clear 'vector)) + (vector-normalize-copy! sv-208 s1-0 1.0) + (let* ((v1-11 (-> *camera* local-down)) + (f0-7 (-> sv-208 x)) + (f1-1 (-> sv-208 y)) + (f2-0 (-> sv-208 z)) + (f3-0 (-> v1-11 x)) + (f4-0 (-> v1-11 y)) + (f5-0 (-> v1-11 z)) + ) + (.mula.s f0-7 f3-0) + (.madda.s f1-1 f4-0) + (.madd.s f0-8 f2-0 f5-0) + ) + (let* ((f28-1 f0-8) + (f0-10 (acos (fabs f28-1))) + ) + (cond + ((< 0.0 f30-0) + (set! f30-0 (if (< 0.0 f28-1) + (fmin f30-0 (fmax 0.0 (+ -2730.6667 f0-10))) + (fmin f30-0 (fmax 0.0 (- 32768.0 (+ 2730.6667 f0-10)))) + ) + ) + ) + ((< f30-0 0.0) + (set! f30-0 (if (< 0.0 f28-1) + (fmax f30-0 (- (fmax 0.0 (- 32768.0 (+ 2730.6667 f0-10))))) + (fmax f30-0 (- (fmax 0.0 (+ -2730.6667 f0-10)))) + ) + ) + ) + ) + ) + (matrix-rotate-x! sv-224 f30-0) + (let ((t9-7 matrix*!) + (a0-16 s5-0) + (a2-3 s5-0) + ) + (t9-7 a0-16 sv-224 a2-3) + ) + ) + ) + (if (and (= (-> *camera* under-water) 2) *target* (!= (-> *target* next-state name) 'target-swim-up)) + (set! (-> arg0 underwater-blend target) 1.0) + (set! (-> arg0 underwater-blend target) 0.0) + ) + (set! sv-240 vector-into-frustum-nosmooth!) + (set! sv-256 s5-0) + (let ((a2-5 (lerp-clamp arg3 (* 0.25 arg3) (-> arg0 underwater-blend value)))) + (sv-240 sv-256 arg1 a2-5) + ) + (cond + (arg4 + (slave-matrix-blend-2 (-> arg0 inv-mat) arg2 s1-0 s5-0) + ) + (else + (let* ((v1-31 (-> arg0 inv-mat)) + (a3-2 s5-0) + (a0-22 (-> a3-2 vector 0 quad)) + (a1-16 (-> a3-2 vector 1 quad)) + (a2-7 (-> a3-2 vector 2 quad)) + (a3-3 (-> a3-2 vector 3 quad)) + ) + (set! (-> v1-31 vector 0 quad) a0-22) + (set! (-> v1-31 vector 1 quad) a1-16) + (set! (-> v1-31 vector 2 quad) a2-7) + (set! (-> v1-31 vector 3 quad) a3-3) + ) + ) + ) ) - ) - (if - (and - (= (-> *camera* under-water) 2) - *target* - (!= (-> *target* next-state name) 'target-swim-up) - ) - (set! (-> arg0 underwater-blend target) 1.0) - (set! (-> arg0 underwater-blend target) 0.0) - ) - (set! sv-240 vector-into-frustum-nosmooth!) - (set! sv-256 s5-0) - (let - ((a2-5 (lerp-clamp arg3 (* 0.25 arg3) (-> arg0 underwater-blend value)))) - (sv-240 sv-256 arg1 a2-5) - ) - (cond - (arg4 - (slave-matrix-blend-2 (-> arg0 inv-mat) arg2 s1-0 s5-0) - ) - (else - (let* ((v1-31 (-> arg0 inv-mat)) - (a3-2 s5-0) - (a0-22 (-> a3-2 vector 0 quad)) - (a1-16 (-> a3-2 vector 1 quad)) - (a2-7 (-> a3-2 vector 2 quad)) - (a3-3 (-> a3-2 vector 3 quad)) - ) - (set! (-> v1-31 vector 0 quad) a0-22) - (set! (-> v1-31 vector 1 quad) a1-16) - (set! (-> v1-31 vector 2 quad) a2-7) - (set! (-> v1-31 vector 3 quad) a3-3) - ) - ) - ) + (mat-remove-z-rot (-> arg0 inv-mat) (-> *camera* local-down)) + 0 + (none) ) - (mat-remove-z-rot (-> arg0 inv-mat) (-> *camera* local-down)) - 0 - (none) - ) ) ;; definition for function v-slrp2! @@ -2080,117 +1715,104 @@ ;; WARN: Unsupported inline assembly instruction kind - [madda.s f1, f4] ;; WARN: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5] ;; Used lq/sq -(defun - v-slrp2! - ((arg0 vector) - (arg1 vector) - (arg2 vector) - (arg3 float) - (arg4 vector) - (arg5 float) - ) +(defun v-slrp2! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float) (arg4 vector) (arg5 float)) (local-vars - (f0-10 float) - (f28-0 float) - (f30-0 float) - (sv-144 float) - (sv-160 vector) - (sv-176 matrix) - (sv-192 vector) - ) + (f0-10 float) + (f28-0 float) + (f30-0 float) + (sv-144 float) + (sv-160 vector) + (sv-176 matrix) + (sv-192 vector) + ) (set! sv-144 arg5) (let ((s0-0 (new-stack-vector0))) - (set! sv-160 (new 'stack-no-clear 'vector)) - (set! (-> sv-160 quad) (the-as uint128 0)) - 1.0 - 1.0 - (let ((s3-0 (new-stack-vector0))) - 0.0 + (set! sv-160 (new 'stack-no-clear 'vector)) + (set! (-> sv-160 quad) (the-as uint128 0)) 1.0 - (set! sv-176 (new 'stack-no-clear 'matrix)) - (set! (-> sv-176 vector 0 quad) (the-as uint128 0)) - (set! (-> sv-176 vector 1 quad) (the-as uint128 0)) - (set! (-> sv-176 vector 2 quad) (the-as uint128 0)) - (set! (-> sv-176 vector 3 quad) (the-as uint128 0)) - (cond - ((< 1.0 arg3) - (set! arg3 1.0) - ) - ((< arg3 0.0) - (set! arg3 0.0) - ) - ) - (cond - (arg4 - (vector-flatten! s0-0 arg1 arg4) - (vector-flatten! sv-160 arg2 arg4) - (set! f30-0 (vector-normalize-ret-len! s0-0 1.0)) - (set! f28-0 (vector-normalize-ret-len! sv-160 1.0)) - (vector-normalize! (vector-cross! s3-0 sv-160 s0-0) 1.0) - (let ((f26-0 (vector-dot arg4 s3-0))) - (vector-normalize-copy! s3-0 arg4 1.0) - (if (< f26-0 0.0) - (vector-negate! s3-0 s3-0) + 1.0 + (let ((s3-0 (new-stack-vector0))) + 0.0 + 1.0 + (set! sv-176 (new 'stack-no-clear 'matrix)) + (set! (-> sv-176 vector 0 quad) (the-as uint128 0)) + (set! (-> sv-176 vector 1 quad) (the-as uint128 0)) + (set! (-> sv-176 vector 2 quad) (the-as uint128 0)) + (set! (-> sv-176 vector 3 quad) (the-as uint128 0)) + (cond + ((< 1.0 arg3) + (set! arg3 1.0) + ) + ((< arg3 0.0) + (set! arg3 0.0) + ) ) - ) - ) - (else - (set! (-> s0-0 quad) (-> arg1 quad)) - (set! (-> sv-160 quad) (-> arg2 quad)) - (set! f30-0 (vector-normalize-ret-len! s0-0 1.0)) - (set! f28-0 (vector-normalize-ret-len! sv-160 1.0)) - (vector-normalize! (vector-cross! s3-0 arg2 arg1) 1.0) - ) - ) - (let ((t9-10 acos)) - (let* ((v1-18 s0-0) - (f0-9 (-> v1-18 x)) - (f1-2 (-> v1-18 y)) - (f2-0 (-> v1-18 z)) - (f3-0 (-> sv-160 x)) - (f4-0 (-> sv-160 y)) - (f5-0 (-> sv-160 z)) + (cond + (arg4 + (vector-flatten! s0-0 arg1 arg4) + (vector-flatten! sv-160 arg2 arg4) + (set! f30-0 (vector-normalize-ret-len! s0-0 1.0)) + (set! f28-0 (vector-normalize-ret-len! sv-160 1.0)) + (vector-normalize! (vector-cross! s3-0 sv-160 s0-0) 1.0) + (let ((f26-0 (vector-dot arg4 s3-0))) + (vector-normalize-copy! s3-0 arg4 1.0) + (if (< f26-0 0.0) + (vector-negate! s3-0 s3-0) + ) ) - (.mula.s f0-9 f3-0) - (.madda.s f1-2 f4-0) - (.madd.s f0-10 f2-0 f5-0) - ) - (let* ((f1-3 (t9-10 f0-10)) - (f0-12 (* arg3 f1-3)) + ) + (else + (set! (-> s0-0 quad) (-> arg1 quad)) + (set! (-> sv-160 quad) (-> arg2 quad)) + (set! f30-0 (vector-normalize-ret-len! s0-0 1.0)) + (set! f28-0 (vector-normalize-ret-len! sv-160 1.0)) + (vector-normalize! (vector-cross! s3-0 arg2 arg1) 1.0) + ) + ) + (let ((t9-10 acos)) + (let* ((v1-18 s0-0) + (f0-9 (-> v1-18 x)) + (f1-2 (-> v1-18 y)) + (f2-0 (-> v1-18 z)) + (f3-0 (-> sv-160 x)) + (f4-0 (-> sv-160 y)) + (f5-0 (-> sv-160 z)) + ) + (.mula.s f0-9 f3-0) + (.madda.s f1-2 f4-0) + (.madd.s f0-10 f2-0 f5-0) + ) + (let* ((f1-3 (t9-10 f0-10)) + (f0-12 (* arg3 f1-3)) + ) + (when (< sv-144 f0-12) + (set! f0-12 sv-144) + (set! arg3 (/ sv-144 f1-3)) ) - (when (< sv-144 f0-12) - (set! f0-12 sv-144) - (set! arg3 (/ sv-144 f1-3)) - ) - (let* ((f0-13 (cos f0-12)) - (t9-12 matrix-axis-sin-cos!) - (a0-20 sv-176) - (a1-13 s3-0) - (f1-5 1.0) - (f2-3 f0-13) - ) - (t9-12 a0-20 a1-13 (sqrtf (- f1-5 (* f2-3 f2-3))) f0-13) - ) + (let* ((f0-13 (cos f0-12)) + (t9-12 matrix-axis-sin-cos!) + (a0-20 sv-176) + (a1-13 s3-0) + (f1-5 1.0) + (f2-3 f0-13) + ) + (t9-12 a0-20 a1-13 (sqrtf (- f1-5 (* f2-3 f2-3))) f0-13) + ) + ) + ) + (vector-matrix*! arg0 s0-0 sv-176) + (let ((s0-1 vector-normalize!)) + (set! sv-192 arg0) + (let ((a1-16 (lerp f30-0 f28-0 arg3))) + (s0-1 sv-192 a1-16) + ) + ) + (when arg4 + (vector+float*! arg0 arg0 s3-0 (vector-dot arg1 s3-0)) + (vector+float*! arg0 arg0 s3-0 (* arg3 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0))) + ) ) - ) - (vector-matrix*! arg0 s0-0 sv-176) - (let ((s0-1 vector-normalize!)) - (set! sv-192 arg0) - (let ((a1-16 (lerp f30-0 f28-0 arg3))) - (s0-1 sv-192 a1-16) - ) - ) - (when arg4 - (vector+float*! arg0 arg0 s3-0 (vector-dot arg1 s3-0)) - (vector+float*! - arg0 - arg0 - s3-0 - (* arg3 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0)) - ) - ) ) - ) arg0 ) @@ -2201,91 +1823,78 @@ ;; WARN: Unsupported inline assembly instruction kind - [madda.s f1, f4] ;; WARN: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5] ;; Used lq/sq -(defun - v-slrp3! - ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float)) - (local-vars - (f0-7 float) - (f26-0 float) - (f28-0 float) - (sv-144 float) - (sv-160 vector) - ) +(defun v-slrp3! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float)) + (local-vars (f0-7 float) (f26-0 float) (f28-0 float) (sv-144 float) (sv-160 vector)) (set! sv-144 arg4) (let ((s1-0 (new-stack-vector0))) - (set! sv-160 (new 'stack-no-clear 'vector)) - (set! (-> sv-160 quad) (the-as uint128 0)) - 0.0 - 0.0 - (let ((s3-0 (new-stack-vector0)) - (f30-0 1.0) - ) + (set! sv-160 (new 'stack-no-clear 'vector)) + (set! (-> sv-160 quad) (the-as uint128 0)) 0.0 - (let ((s0-0 (new-stack-matrix0))) - (cond - (arg3 - (vector-flatten! s1-0 arg1 arg3) - (vector-flatten! sv-160 arg2 arg3) - (set! f28-0 (vector-normalize-ret-len! s1-0 1.0)) - (set! f26-0 (vector-normalize-ret-len! sv-160 1.0)) - (vector-normalize! (vector-cross! s3-0 sv-160 s1-0) 1.0) - (let ((f24-0 (vector-dot arg3 s3-0))) - (vector-normalize-copy! s3-0 arg3 1.0) - (if (< f24-0 0.0) - (vector-negate! s3-0 s3-0) - ) - ) - ) - (else - (set! (-> s1-0 quad) (-> arg1 quad)) - (set! (-> sv-160 quad) (-> arg2 quad)) - (set! f28-0 (vector-normalize-ret-len! s1-0 1.0)) - (set! f26-0 (vector-normalize-ret-len! sv-160 1.0)) - (vector-normalize! (vector-cross! s3-0 arg2 arg1) 1.0) - ) - ) - (let ((t9-10 acos)) - (let* ((v1-9 s1-0) - (f0-6 (-> v1-9 x)) - (f1-0 (-> v1-9 y)) - (f2-0 (-> v1-9 z)) - (f3-0 (-> sv-160 x)) - (f4-0 (-> sv-160 y)) - (f5-0 (-> sv-160 z)) - ) - (.mula.s f0-6 f3-0) - (.madda.s f1-0 f4-0) - (.madd.s f0-7 f2-0 f5-0) - ) - (let ((f0-8 (t9-10 f0-7))) - (when (< sv-144 f0-8) - (set! f30-0 (/ sv-144 f0-8)) - (set! f0-8 sv-144) - ) - (let* ((f0-9 (cos f0-8)) - (t9-12 matrix-axis-sin-cos!) - (a0-20 s0-0) - (a1-13 s3-0) - (f1-3 1.0) - (f2-1 f0-9) + 0.0 + (let ((s3-0 (new-stack-vector0)) + (f30-0 1.0) + ) + 0.0 + (let ((s0-0 (new-stack-matrix0))) + (cond + (arg3 + (vector-flatten! s1-0 arg1 arg3) + (vector-flatten! sv-160 arg2 arg3) + (set! f28-0 (vector-normalize-ret-len! s1-0 1.0)) + (set! f26-0 (vector-normalize-ret-len! sv-160 1.0)) + (vector-normalize! (vector-cross! s3-0 sv-160 s1-0) 1.0) + (let ((f24-0 (vector-dot arg3 s3-0))) + (vector-normalize-copy! s3-0 arg3 1.0) + (if (< f24-0 0.0) + (vector-negate! s3-0 s3-0) + ) ) - (t9-12 a0-20 a1-13 (sqrtf (- f1-3 (* f2-1 f2-1))) f0-9) + ) + (else + (set! (-> s1-0 quad) (-> arg1 quad)) + (set! (-> sv-160 quad) (-> arg2 quad)) + (set! f28-0 (vector-normalize-ret-len! s1-0 1.0)) + (set! f26-0 (vector-normalize-ret-len! sv-160 1.0)) + (vector-normalize! (vector-cross! s3-0 arg2 arg1) 1.0) + ) + ) + (let ((t9-10 acos)) + (let* ((v1-9 s1-0) + (f0-6 (-> v1-9 x)) + (f1-0 (-> v1-9 y)) + (f2-0 (-> v1-9 z)) + (f3-0 (-> sv-160 x)) + (f4-0 (-> sv-160 y)) + (f5-0 (-> sv-160 z)) + ) + (.mula.s f0-6 f3-0) + (.madda.s f1-0 f4-0) + (.madd.s f0-7 f2-0 f5-0) + ) + (let ((f0-8 (t9-10 f0-7))) + (when (< sv-144 f0-8) + (set! f30-0 (/ sv-144 f0-8)) + (set! f0-8 sv-144) + ) + (let* ((f0-9 (cos f0-8)) + (t9-12 matrix-axis-sin-cos!) + (a0-20 s0-0) + (a1-13 s3-0) + (f1-3 1.0) + (f2-1 f0-9) + ) + (t9-12 a0-20 a1-13 (sqrtf (- f1-3 (* f2-1 f2-1))) f0-9) + ) + ) + ) + (vector-matrix*! arg0 s1-0 s0-0) + ) + (vector-normalize! arg0 (lerp f28-0 f26-0 f30-0)) + (when arg3 + (vector+float*! arg0 arg0 s3-0 (vector-dot arg1 s3-0)) + (vector+float*! arg0 arg0 s3-0 (* f30-0 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0))) ) - ) ) - (vector-matrix*! arg0 s1-0 s0-0) - ) - (vector-normalize! arg0 (lerp f28-0 f26-0 f30-0)) - (when arg3 - (vector+float*! arg0 arg0 s3-0 (vector-dot arg1 s3-0)) - (vector+float*! - arg0 - arg0 - s3-0 - (* f30-0 (vector-dot (vector-! (new-stack-vector0) arg2 arg1) s3-0)) - ) - ) ) - ) arg0 ) diff --git a/test/decompiler/reference/engine/camera/math-camera-h_REF.gc b/test/decompiler/reference/engine/camera/math-camera-h_REF.gc index 0943965213..18d38f8023 100644 --- a/test/decompiler/reference/engine/camera/math-camera-h_REF.gc +++ b/test/decompiler/reference/engine/camera/math-camera-h_REF.gc @@ -160,16 +160,8 @@ (format #t "~Tsprite-2d-hvdf: #~%" (-> obj sprite-2d-hvdf)) (format #t "~Tcamera-rot: #~%" (-> obj camera-rot)) (format #t "~Tinv-camera-rot: #~%" (-> obj inv-camera-rot)) - (format - #t - "~Tinv-camera-rot-smooth: #~%" - (-> obj inv-camera-rot-smooth) - ) - (format - #t - "~Tinv-camera-rot-smooth-from: #~%" - (-> obj inv-camera-rot-smooth-from) - ) + (format #t "~Tinv-camera-rot-smooth: #~%" (-> obj inv-camera-rot-smooth)) + (format #t "~Tinv-camera-rot-smooth-from: #~%" (-> obj inv-camera-rot-smooth-from)) (format #t "~Tcamera-temp: #~%" (-> obj camera-temp)) (format #t "~Tprev-camera-temp: #~%" (-> obj prev-camera-temp)) (format #t "~Thmge-scale: #~%" (-> obj hmge-scale)) diff --git a/test/decompiler/reference/engine/camera/math-camera_REF.gc b/test/decompiler/reference/engine/camera/math-camera_REF.gc index 2ec237804d..ba0a7fafe0 100644 --- a/test/decompiler/reference/engine/camera/math-camera_REF.gc +++ b/test/decompiler/reference/engine/camera/math-camera_REF.gc @@ -22,14 +22,8 @@ ;; definition for function fog-corrector-setup ;; INFO: Return type mismatch float vs none. (defun fog-corrector-setup ((corrector fog-corrector) (math-cam math-camera)) - (set! - (-> corrector fog-end) - (* (-> math-cam fog-end) (-> math-cam fov-correction-factor)) - ) - (set! - (-> corrector fog-start) - (* (-> math-cam fog-start) (-> math-cam fov-correction-factor)) - ) + (set! (-> corrector fog-end) (* (-> math-cam fog-end) (-> math-cam fov-correction-factor))) + (set! (-> corrector fog-start) (* (-> math-cam fog-start) (-> math-cam fov-correction-factor))) (none) ) @@ -38,298 +32,208 @@ ;; definition for function update-math-camera ;; Used lq/sq -(defun - update-math-camera - ((math-cam math-camera) (video-mode symbol) (aspect symbol)) +(defun update-math-camera ((math-cam math-camera) (video-mode symbol) (aspect symbol)) (set! (-> math-cam x-ratio) (tan (* 0.5 (-> math-cam fov)))) (if (= aspect 'aspect4x3) - (set! (-> math-cam y-ratio) (* 0.75 (-> math-cam x-ratio))) - (set! (-> math-cam y-ratio) (* 0.5625 (-> math-cam x-ratio))) - ) + (set! (-> math-cam y-ratio) (* 0.75 (-> math-cam x-ratio))) + (set! (-> math-cam y-ratio) (* 0.5625 (-> math-cam x-ratio))) + ) (let ((x-rat (-> math-cam x-ratio)) (y-rat (-> math-cam y-ratio)) (cull-info (-> math-cam cull-info)) ) - (/ (+ 1.0 (* 4.0 x-rat x-rat)) (+ 1.0 (* x-rat x-rat))) - (let ((y-thing (/ (+ 1.0 (* 4.0 y-rat y-rat)) (+ 1.0 (* y-rat y-rat))))) - (set! - (-> cull-info x-fact) - (/ - (+ 1.0 (* 4.0 x-rat x-rat)) - (* x-rat (sqrtf (+ 1.0 (* 16.0 x-rat x-rat)))) + (/ (+ 1.0 (* 4.0 x-rat x-rat)) (+ 1.0 (* x-rat x-rat))) + (let ((y-thing (/ (+ 1.0 (* 4.0 y-rat y-rat)) (+ 1.0 (* y-rat y-rat))))) + (set! (-> cull-info x-fact) (/ (+ 1.0 (* 4.0 x-rat x-rat)) (* x-rat (sqrtf (+ 1.0 (* 16.0 x-rat x-rat)))))) + (set! (-> cull-info y-fact) (/ (+ 1.0 (* 4.0 y-rat y-rat)) (* y-rat (sqrtf (+ 1.0 (* 16.0 y-rat y-rat)))))) + (set! (-> cull-info z-fact) + (sqrtf (+ (* (+ -4.0 y-thing) (+ -4.0 y-thing) y-rat y-rat) (* (+ -1.0 y-thing) (+ -1.0 y-thing)))) + ) ) - ) - (set! - (-> cull-info y-fact) - (/ - (+ 1.0 (* 4.0 y-rat y-rat)) - (* y-rat (sqrtf (+ 1.0 (* 16.0 y-rat y-rat)))) + (let* ((near-x (* x-rat (-> math-cam d))) + (near-y (* y-rat (-> math-cam d))) + (near-corner-dist-sqr (+ (* near-x near-x) (* near-y near-y))) + (near-z (-> math-cam d)) + ) + (set! (-> cull-info cam-radius) (sqrtf (+ near-corner-dist-sqr (* near-z near-z)))) ) - ) - (set! - (-> cull-info z-fact) - (sqrtf - (+ - (* (+ -4.0 y-thing) (+ -4.0 y-thing) y-rat y-rat) - (* (+ -1.0 y-thing) (+ -1.0 y-thing)) - ) - ) - ) - ) - (let* ((near-x (* x-rat (-> math-cam d))) - (near-y (* y-rat (-> math-cam d))) - (near-corner-dist-sqr (+ (* near-x near-x) (* near-y near-y))) - (near-z (-> math-cam d)) - ) - (set! - (-> cull-info cam-radius) - (sqrtf (+ near-corner-dist-sqr (* near-z near-z))) - ) - ) - (let* ((dx-rat-2 (* (-> math-cam d) (-> math-cam x-ratio))) - (d-temp-2 (-> math-cam d)) - (dx-rat-times-4 (* 4.0 dx-rat-2)) - (d-temp-3 (-> math-cam d)) - ) - (let - ((inverse-x-len - (/ 1.0 (sqrtf (+ (* dx-rat-2 dx-rat-2) (* d-temp-2 d-temp-2)))) - ) - (inverse-x-len-2 - (/ - 1.0 - (sqrtf (+ (* dx-rat-times-4 dx-rat-times-4) (* d-temp-3 d-temp-3))) + (let* ((dx-rat-2 (* (-> math-cam d) (-> math-cam x-ratio))) + (d-temp-2 (-> math-cam d)) + (dx-rat-times-4 (* 4.0 dx-rat-2)) + (d-temp-3 (-> math-cam d)) + ) + (let ((inverse-x-len (/ 1.0 (sqrtf (+ (* dx-rat-2 dx-rat-2) (* d-temp-2 d-temp-2))))) + (inverse-x-len-2 (/ 1.0 (sqrtf (+ (* dx-rat-times-4 dx-rat-times-4) (* d-temp-3 d-temp-3))))) + ) + (set! (-> cull-info xz-dir-ax) (* dx-rat-2 inverse-x-len)) + (set! (-> cull-info xz-dir-az) (* d-temp-2 inverse-x-len)) + (set! (-> cull-info xz-dir-bx) (* dx-rat-times-4 inverse-x-len-2)) + (set! (-> cull-info xz-dir-bz) (* d-temp-3 inverse-x-len-2)) ) - ) + (set! (-> cull-info xz-cross-ab) (- (* dx-rat-2 d-temp-3) (* d-temp-2 dx-rat-times-4))) ) - (set! (-> cull-info xz-dir-ax) (* dx-rat-2 inverse-x-len)) - (set! (-> cull-info xz-dir-az) (* d-temp-2 inverse-x-len)) - (set! (-> cull-info xz-dir-bx) (* dx-rat-times-4 inverse-x-len-2)) - (set! (-> cull-info xz-dir-bz) (* d-temp-3 inverse-x-len-2)) - ) - (set! - (-> cull-info xz-cross-ab) - (- (* dx-rat-2 d-temp-3) (* d-temp-2 dx-rat-times-4)) - ) - ) - (let* ((dy-rat (* (-> math-cam d) (-> math-cam y-ratio))) - (d-temp-4 (-> math-cam d)) - (dy-rat-times-4 (* 4.0 dy-rat)) - (d-temp-5 (-> math-cam d)) - ) - (let - ((inverse-y-len - (/ 1.0 (sqrtf (+ (* dy-rat dy-rat) (* d-temp-4 d-temp-4)))) - ) - (inverse-y-len-2 - (/ - 1.0 - (sqrtf (+ (* dy-rat-times-4 dy-rat-times-4) (* d-temp-5 d-temp-5))) + (let* ((dy-rat (* (-> math-cam d) (-> math-cam y-ratio))) + (d-temp-4 (-> math-cam d)) + (dy-rat-times-4 (* 4.0 dy-rat)) + (d-temp-5 (-> math-cam d)) + ) + (let ((inverse-y-len (/ 1.0 (sqrtf (+ (* dy-rat dy-rat) (* d-temp-4 d-temp-4))))) + (inverse-y-len-2 (/ 1.0 (sqrtf (+ (* dy-rat-times-4 dy-rat-times-4) (* d-temp-5 d-temp-5))))) + ) + (set! (-> cull-info yz-dir-ay) (* dy-rat inverse-y-len)) + (set! (-> cull-info yz-dir-az) (* d-temp-4 inverse-y-len)) + (set! (-> cull-info yz-dir-by) (* dy-rat-times-4 inverse-y-len-2)) + (set! (-> cull-info yz-dir-bz) (* d-temp-5 inverse-y-len-2)) ) - ) + (set! (-> cull-info yz-cross-ab) (- (* dy-rat d-temp-5) (* d-temp-4 dy-rat-times-4))) ) - (set! (-> cull-info yz-dir-ay) (* dy-rat inverse-y-len)) - (set! (-> cull-info yz-dir-az) (* d-temp-4 inverse-y-len)) - (set! (-> cull-info yz-dir-by) (* dy-rat-times-4 inverse-y-len-2)) - (set! (-> cull-info yz-dir-bz) (* d-temp-5 inverse-y-len-2)) - ) - (set! - (-> cull-info yz-cross-ab) - (- (* dy-rat d-temp-5) (* d-temp-4 dy-rat-times-4)) - ) ) - ) (fog-corrector-setup *math-camera-fog-correction* math-cam) (matrix-identity! (-> math-cam camera-rot)) (let ((fog-constant-1 100.0) (fog-constant-2 16760631.0) ) - 16777115.0 - (let - ((fog-at-near-plane - (/ - (* (-> math-cam d) (- (-> math-cam fog-min) (-> math-cam fog-max))) - (- - (-> *math-camera-fog-correction* fog-end) - (-> *math-camera-fog-correction* fog-start) - ) - ) - ) - (fog-factor-2 (* -0.5 (- fog-constant-2 fog-constant-1))) - ) - (let - ((corrected-fog - (/ fog-factor-2 (* (-> math-cam d) (- (-> math-cam f) (-> math-cam d)))) - ) - (cam-fov-mult (-> math-cam fov-correction-factor)) - ) - (set! - (-> math-cam perspective vector 0 x) - (* - cam-fov-mult - (- (/ (-> math-cam x-pix) (* (-> math-cam x-ratio) (-> math-cam d)))) - ) - ) - (set! - (-> math-cam perspective vector 1 y) - (* - cam-fov-mult - (- (/ (-> math-cam y-pix) (* (-> math-cam y-ratio) (-> math-cam d)))) - ) - ) - (set! - (-> math-cam perspective vector 2 z) - (* cam-fov-mult (+ (-> math-cam f) (-> math-cam d)) corrected-fog) - ) - (set! - (-> math-cam perspective vector 2 w) - (* (/ cam-fov-mult (-> math-cam d)) fog-at-near-plane) - ) - (set! - (-> math-cam perspective vector 3 z) - (* -2.0 corrected-fog (-> math-cam f) (-> math-cam d) cam-fov-mult) - ) - ) - (let ((hvdf-x 2048.0) - (hvdf-y 2048.0) - (hvdf-w - (/ - (- - (* (-> *math-camera-fog-correction* fog-end) (-> math-cam fog-max)) - (* - (-> *math-camera-fog-correction* fog-start) - (-> math-cam fog-min) - ) - ) - (- - (-> *math-camera-fog-correction* fog-end) - (-> *math-camera-fog-correction* fog-start) - ) + 16777115.0 + (let ((fog-at-near-plane + (/ (* (-> math-cam d) (- (-> math-cam fog-min) (-> math-cam fog-max))) + (- (-> *math-camera-fog-correction* fog-end) (-> *math-camera-fog-correction* fog-start)) + ) ) - ) + (fog-factor-2 (* -0.5 (- fog-constant-2 fog-constant-1))) ) - (let ((hvdf-z (* 0.5 (+ fog-constant-2 fog-constant-1)))) - (set! (-> math-cam hmge-scale x) (/ 1.0 (-> math-cam x-clip))) - (set! (-> math-cam hmge-scale y) (/ 1.0 (-> math-cam y-clip))) - (set! (-> math-cam hmge-scale z) (/ 1.0 fog-factor-2)) - (set! (-> math-cam hmge-scale w) (/ 1.0 fog-at-near-plane)) - (set! (-> math-cam inv-hmge-scale x) (-> math-cam x-clip)) - (set! (-> math-cam inv-hmge-scale y) (-> math-cam y-clip)) - (set! (-> math-cam inv-hmge-scale z) fog-factor-2) - (set! (-> math-cam inv-hmge-scale w) fog-at-near-plane) - (set! (-> math-cam hvdf-off x) hvdf-x) - (set! (-> math-cam hvdf-off y) hvdf-y) - (set! (-> math-cam hvdf-off z) hvdf-z) - (set! (-> math-cam hvdf-off w) hvdf-w) - (set! (-> math-cam guard x) (/ (-> math-cam x-clip) (-> math-cam x-pix))) - (set! (-> math-cam guard y) (/ (-> math-cam y-clip) (-> math-cam y-pix))) - (set! (-> math-cam guard z) 1.0) - (set! (-> math-cam guard w) 1.0) - (set! (-> math-cam isometric vector 3 z) (- 16777215.0 hvdf-z)) + (let ((corrected-fog (/ fog-factor-2 (* (-> math-cam d) (- (-> math-cam f) (-> math-cam d))))) + (cam-fov-mult (-> math-cam fov-correction-factor)) + ) + (set! (-> math-cam perspective vector 0 x) + (* cam-fov-mult (- (/ (-> math-cam x-pix) (* (-> math-cam x-ratio) (-> math-cam d))))) + ) + (set! (-> math-cam perspective vector 1 y) + (* cam-fov-mult (- (/ (-> math-cam y-pix) (* (-> math-cam y-ratio) (-> math-cam d))))) + ) + (set! (-> math-cam perspective vector 2 z) (* cam-fov-mult (+ (-> math-cam f) (-> math-cam d)) corrected-fog)) + (set! (-> math-cam perspective vector 2 w) (* (/ cam-fov-mult (-> math-cam d)) fog-at-near-plane)) + (set! (-> math-cam perspective vector 3 z) + (* -2.0 corrected-fog (-> math-cam f) (-> math-cam d) cam-fov-mult) + ) + ) + (let ((hvdf-x 2048.0) + (hvdf-y 2048.0) + (hvdf-w (/ (- (* (-> *math-camera-fog-correction* fog-end) (-> math-cam fog-max)) + (* (-> *math-camera-fog-correction* fog-start) (-> math-cam fog-min)) + ) + (- (-> *math-camera-fog-correction* fog-end) (-> *math-camera-fog-correction* fog-start)) + ) + ) + ) + (let ((hvdf-z (* 0.5 (+ fog-constant-2 fog-constant-1)))) + (set! (-> math-cam hmge-scale x) (/ 1.0 (-> math-cam x-clip))) + (set! (-> math-cam hmge-scale y) (/ 1.0 (-> math-cam y-clip))) + (set! (-> math-cam hmge-scale z) (/ 1.0 fog-factor-2)) + (set! (-> math-cam hmge-scale w) (/ 1.0 fog-at-near-plane)) + (set! (-> math-cam inv-hmge-scale x) (-> math-cam x-clip)) + (set! (-> math-cam inv-hmge-scale y) (-> math-cam y-clip)) + (set! (-> math-cam inv-hmge-scale z) fog-factor-2) + (set! (-> math-cam inv-hmge-scale w) fog-at-near-plane) + (set! (-> math-cam hvdf-off x) hvdf-x) + (set! (-> math-cam hvdf-off y) hvdf-y) + (set! (-> math-cam hvdf-off z) hvdf-z) + (set! (-> math-cam hvdf-off w) hvdf-w) + (set! (-> math-cam guard x) (/ (-> math-cam x-clip) (-> math-cam x-pix))) + (set! (-> math-cam guard y) (/ (-> math-cam y-clip) (-> math-cam y-pix))) + (set! (-> math-cam guard z) 1.0) + (set! (-> math-cam guard w) 1.0) + (set! (-> math-cam isometric vector 3 z) (- 16777215.0 hvdf-z)) + ) + (set! (-> math-cam isometric vector 3 w) fog-at-near-plane) + (let ((persp-xx (-> math-cam perspective vector 0 x)) + (persp-yy (-> math-cam perspective vector 1 y)) + (persp-x (* -1.9996 (-> math-cam perspective vector 0 x))) + ) + (let ((sprite-row-0 (-> math-cam sprite-2d))) + (set! (-> sprite-row-0 vector 0 x) persp-x) + (set! (-> sprite-row-0 vector 0 y) 0.0) + (set! (-> sprite-row-0 vector 0 z) 0.0) + (set! (-> sprite-row-0 vector 0 w) 0.0) + ) + (set-vector! (-> math-cam sprite-2d vector 1) 0.0 (- (* (/ persp-yy persp-xx) persp-x)) 0.0 0.0) + (set-vector! (-> math-cam sprite-2d vector 2) 0.0 0.0 (- persp-x) 0.0) + (set-vector! + (-> math-cam sprite-2d vector 3) + 0.0 + 0.0 + (* 500000000.0 persp-x) + (* 60.0 persp-x (-> math-cam pfog0)) + ) + ) + (set! (-> math-cam sprite-2d-hvdf quad) (-> math-cam hvdf-off quad)) + (set! (-> math-cam sprite-2d-hvdf x) 2048.0) + (set! (-> math-cam sprite-2d-hvdf y) 2048.0) + (set! (-> math-cam sprite-2d-hvdf z) (-> math-cam hvdf-off z)) + (set! (-> math-cam pfog0) fog-at-near-plane) + (set! (-> math-cam pfog1) hvdf-w) + ) ) - (set! (-> math-cam isometric vector 3 w) fog-at-near-plane) - (let ((persp-xx (-> math-cam perspective vector 0 x)) - (persp-yy (-> math-cam perspective vector 1 y)) - (persp-x (* -1.9996 (-> math-cam perspective vector 0 x))) - ) - (let ((sprite-row-0 (-> math-cam sprite-2d))) - (set! (-> sprite-row-0 vector 0 x) persp-x) - (set! (-> sprite-row-0 vector 0 y) 0.0) - (set! (-> sprite-row-0 vector 0 z) 0.0) - (set! (-> sprite-row-0 vector 0 w) 0.0) - ) - (set-vector! - (-> math-cam sprite-2d vector 1) - 0.0 - (- (* (/ persp-yy persp-xx) persp-x)) - 0.0 - 0.0 - ) - (set-vector! (-> math-cam sprite-2d vector 2) 0.0 0.0 (- persp-x) 0.0) - (set-vector! - (-> math-cam sprite-2d vector 3) - 0.0 - 0.0 - (* 500000000.0 persp-x) - (* 60.0 persp-x (-> math-cam pfog0)) - ) - ) - (set! (-> math-cam sprite-2d-hvdf quad) (-> math-cam hvdf-off quad)) - (set! (-> math-cam sprite-2d-hvdf x) 2048.0) - (set! (-> math-cam sprite-2d-hvdf y) 2048.0) - (set! (-> math-cam sprite-2d-hvdf z) (-> math-cam hvdf-off z)) - (set! (-> math-cam pfog0) fog-at-near-plane) - (set! (-> math-cam pfog1) hvdf-w) - ) ) - ) 0 (make-u128 0 (shl #x301ec000 32)) (make-u128 0 (shl #x303ec000 32)) (let ((pfog (-> math-cam pfog0))) - (let ((vis-gif-0 (-> math-cam vis-gifs))) - (set! (-> vis-gif-0 0 fog0) (the-as uint pfog)) - (set! (-> vis-gif-0 0 strip) (the-as uint #x301e4000)) - (set! (-> vis-gif-0 0 regs) (the-as uint 1042)) - (set! (-> vis-gif-0 0 fan) (the-as uint #x301ec000)) + (let ((vis-gif-0 (-> math-cam vis-gifs))) + (set! (-> vis-gif-0 0 fog0) (the-as uint pfog)) + (set! (-> vis-gif-0 0 strip) (the-as uint #x301e4000)) + (set! (-> vis-gif-0 0 regs) (the-as uint 1042)) + (set! (-> vis-gif-0 0 fan) (the-as uint #x301ec000)) + ) + (let ((vis-gif-1 (&-> math-cam gifgr))) + (set! (-> vis-gif-1 0) (the-as vis-gif-tag pfog)) + (set! (-> vis-gif-1 1) (the-as vis-gif-tag (make-u128 0 (shl #x20164000 32)))) + (set! (-> vis-gif-1 2) (the-as vis-gif-tag 65)) + (set! (-> vis-gif-1 3) (the-as vis-gif-tag #x301ec000)) + ) + (let ((vis-gif-1-again (-> math-cam vis-gifs))) + (set! (-> vis-gif-1-again 0 fog0) (the-as uint pfog)) + (set! (-> vis-gif-1-again 0 strip) (the-as uint #x303e4000)) + (set! (-> vis-gif-1-again 0 regs) (the-as uint 1042)) + (set! (-> vis-gif-1-again 0 fan) (the-as uint #x303ec000)) + ) + (let ((vis-gif-1-again-again (-> math-cam vis-gifs))) + (set! (-> vis-gif-1-again-again 0 fog0) (the-as uint pfog)) + (set! (-> vis-gif-1-again-again 0 strip) (the-as uint #x303e4000)) + (set! (-> vis-gif-1-again-again 0 regs) (the-as uint 1042)) + (set! (-> vis-gif-1-again-again 0 fan) (the-as uint #x303ec000)) + ) ) - (let ((vis-gif-1 (&-> math-cam gifgr))) - (set! (-> vis-gif-1 0) (the-as vis-gif-tag pfog)) - (set! - (-> vis-gif-1 1) - (the-as vis-gif-tag (make-u128 0 (shl #x20164000 32))) - ) - (set! (-> vis-gif-1 2) (the-as vis-gif-tag 65)) - (set! (-> vis-gif-1 3) (the-as vis-gif-tag #x301ec000)) - ) - (let ((vis-gif-1-again (-> math-cam vis-gifs))) - (set! (-> vis-gif-1-again 0 fog0) (the-as uint pfog)) - (set! (-> vis-gif-1-again 0 strip) (the-as uint #x303e4000)) - (set! (-> vis-gif-1-again 0 regs) (the-as uint 1042)) - (set! (-> vis-gif-1-again 0 fan) (the-as uint #x303ec000)) - ) - (let ((vis-gif-1-again-again (-> math-cam vis-gifs))) - (set! (-> vis-gif-1-again-again 0 fog0) (the-as uint pfog)) - (set! (-> vis-gif-1-again-again 0 strip) (the-as uint #x303e4000)) - (set! (-> vis-gif-1-again-again 0 regs) (the-as uint 1042)) - (set! (-> vis-gif-1-again-again 0 fan) (the-as uint #x303ec000)) - ) - ) (if (nonzero? sprite-distorter-generate-tables) - (sprite-distorter-generate-tables) - ) + (sprite-distorter-generate-tables) + ) math-cam ) ;; definition for method 0 of type math-camera (defmethod new math-camera ((allocation symbol) (type-to-make type)) - (let - ((gp-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) + (let ((gp-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> gp-0 d) 1024.0) + (set! (-> gp-0 f) 40960000.0) + (set! (-> gp-0 fov) 11650.845) + (set! (-> gp-0 x-pix) 256.0) + (set! (-> gp-0 x-clip) 1024.0) + (set! (-> gp-0 y-pix) 112.0) + (set! (-> gp-0 y-clip) 448.0) + (set! (-> gp-0 fog-start) 40960.0) + (set! (-> gp-0 fog-end) 819200.0) + (set! (-> gp-0 fog-max) 255.0) + (set! (-> gp-0 fog-min) 150.0) + (matrix-identity! (-> gp-0 inv-camera-rot)) + (matrix-identity! (-> gp-0 camera-rot)) + (vector-reset! (-> gp-0 trans)) + (set! (-> gp-0 isometric vector 0 x) 1.0) + (set! (-> gp-0 isometric vector 1 y) 0.5) + (set! (-> gp-0 isometric vector 2 z) -1.0) + (set! (-> gp-0 reset) 1) + (set! (-> gp-0 smooth-step) 0.0) + (set! (-> gp-0 smooth-t) 0.0) + (update-math-camera gp-0 'ntsc 'aspect4x3) ) - (set! (-> gp-0 d) 1024.0) - (set! (-> gp-0 f) 40960000.0) - (set! (-> gp-0 fov) 11650.845) - (set! (-> gp-0 x-pix) 256.0) - (set! (-> gp-0 x-clip) 1024.0) - (set! (-> gp-0 y-pix) 112.0) - (set! (-> gp-0 y-clip) 448.0) - (set! (-> gp-0 fog-start) 40960.0) - (set! (-> gp-0 fog-end) 819200.0) - (set! (-> gp-0 fog-max) 255.0) - (set! (-> gp-0 fog-min) 150.0) - (matrix-identity! (-> gp-0 inv-camera-rot)) - (matrix-identity! (-> gp-0 camera-rot)) - (vector-reset! (-> gp-0 trans)) - (set! (-> gp-0 isometric vector 0 x) 1.0) - (set! (-> gp-0 isometric vector 1 y) 0.5) - (set! (-> gp-0 isometric vector 2 z) -1.0) - (set! (-> gp-0 reset) 1) - (set! (-> gp-0 smooth-step) 0.0) - (set! (-> gp-0 smooth-t) 0.0) - (update-math-camera gp-0 'ntsc 'aspect4x3) - ) ) ;; definition for symbol *math-camera*, type math-camera @@ -339,87 +243,67 @@ (defun math-cam-start-smoothing ((arg0 float) (arg1 float)) (set! (-> *math-camera* smooth-step) (/ 1.0 arg0)) (set! (-> *math-camera* smooth-t) arg1) - (matrix->quaternion - (-> *math-camera* inv-camera-rot-smooth-from) - (-> *math-camera* inv-camera-rot-smooth) - ) + (matrix->quaternion (-> *math-camera* inv-camera-rot-smooth-from) (-> *math-camera* inv-camera-rot-smooth)) ) ;; definition for function move-target-from-pad ;; Used lq/sq (defun move-target-from-pad ((trans transform) (pad-idx int)) (let ((local-trans (new-stack-vector0))) - (set! (-> local-trans x) (cond - ((logtest? - (-> *cpad-list* cpads pad-idx button0-abs 0) - (pad-buttons circle) + (set! (-> local-trans x) (cond + ((logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons circle)) + -80.0 + ) + ((logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons square)) + 80.0 + ) + (else + 0.0 + ) ) - -80.0 - ) - ((logtest? - (-> *cpad-list* cpads pad-idx button0-abs 0) - (pad-buttons square) + ) + (set! (-> local-trans y) 0.0) + (set! (-> local-trans z) (cond + ((logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons down)) + -80.0 + ) + ((logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons up)) + 80.0 + ) + (else + 0.0 + ) ) - 80.0 - ) - (else - 0.0 - ) - ) + ) + (set! (-> local-trans w) 1.0) + (let ((inv-cam-rot (new-stack-vector0)) + (cam-rot-mat (new-stack-matrix0)) + ) + (vector-negate! inv-cam-rot (-> trans rot)) + (matrix-rotate-zyx! cam-rot-mat (-> trans rot)) + (vector-matrix*! local-trans local-trans cam-rot-mat) + ) + (vector+! (-> trans trans) (-> trans trans) local-trans) ) - (set! (-> local-trans y) 0.0) - (set! (-> local-trans z) (cond - ((logtest? - (-> *cpad-list* cpads pad-idx button0-abs 0) - (pad-buttons down) - ) - -80.0 - ) - ((logtest? - (-> *cpad-list* cpads pad-idx button0-abs 0) - (pad-buttons up) - ) - 80.0 - ) - (else - 0.0 - ) - ) - ) - (set! (-> local-trans w) 1.0) - (let ((inv-cam-rot (new-stack-vector0)) - (cam-rot-mat (new-stack-matrix0)) - ) - (vector-negate! inv-cam-rot (-> trans rot)) - (matrix-rotate-zyx! cam-rot-mat (-> trans rot)) - (vector-matrix*! local-trans local-trans cam-rot-mat) - ) - (vector+! (-> trans trans) (-> trans trans) local-trans) - ) (set! (-> trans trans w) 1.0) (if (logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons r1)) - (set! (-> trans trans y) (+ 80.0 (-> trans trans y))) - ) + (set! (-> trans trans y) (+ 80.0 (-> trans trans y))) + ) (if (logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons r2)) - (set! (-> trans trans y) (+ -80.0 (-> trans trans y))) - ) + (set! (-> trans trans y) (+ -80.0 (-> trans trans y))) + ) (if (logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons x)) - (set! (-> trans rot x) (+ 546.13336 (-> trans rot x))) - ) - (if - (logtest? - (-> *cpad-list* cpads pad-idx button0-abs 0) - (pad-buttons triangle) - ) - (set! (-> trans rot x) (+ -546.13336 (-> trans rot x))) - ) + (set! (-> trans rot x) (+ 546.13336 (-> trans rot x))) + ) + (if (logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons triangle)) + (set! (-> trans rot x) (+ -546.13336 (-> trans rot x))) + ) (if (logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons left)) - (set! (-> trans rot y) (+ 546.13336 (-> trans rot y))) - ) - (if - (logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons right)) - (set! (-> trans rot y) (+ -546.13336 (-> trans rot y))) - ) + (set! (-> trans rot y) (+ 546.13336 (-> trans rot y))) + ) + (if (logtest? (-> *cpad-list* cpads pad-idx button0-abs 0) (pad-buttons right)) + (set! (-> trans rot y) (+ -546.13336 (-> trans rot y))) + ) trans ) @@ -441,32 +325,32 @@ (vf30 :class vf) (vf31 :class vf) ) - (init-vf0-vector) - 0 - (.lvf vf24 (&-> *math-camera* camera-temp vector 0 quad)) - (.lvf vf25 (&-> *math-camera* camera-temp vector 1 quad)) - (.lvf vf26 (&-> *math-camera* camera-temp vector 2 quad)) - (.lvf vf27 (&-> *math-camera* camera-temp vector 3 quad)) - (.lvf vf29 (&-> *math-camera* hmge-scale quad)) - (.lvf vf30 (&-> *math-camera* hvdf-off quad)) - (.lvf vf28 (&-> arg1 quad)) - (.mul.x.vf acc vf24 vf28) - (.add.mul.y.vf acc vf25 vf28 acc) - (.add.mul.z.vf acc vf26 vf28 acc) - (.add.mul.w.vf vf28 vf27 vf0 acc) - (.add.w.vf vf23 vf0 vf0) - (.mul.vf vf31 vf28 vf29) - (TODO.VCLIP vf31 vf31) - (.div.vf Q vf0 vf31 :fsf #b11 :ftf #b11) - (.wait.vf) - (.cfc2.i v1-7 Clipping) - (.mul.vf vf28 vf28 Q :mask #b111) - (.mul.vf vf23 vf23 Q) - (.add.vf vf28 vf28 vf30) - (.max.x.vf vf28 vf28 vf0 :mask #b1000) - (.svf (&-> arg0 quad) vf28) - (zero? (logand v1-7 63)) - ) + (init-vf0-vector) + 0 + (.lvf vf24 (&-> *math-camera* camera-temp vector 0 quad)) + (.lvf vf25 (&-> *math-camera* camera-temp vector 1 quad)) + (.lvf vf26 (&-> *math-camera* camera-temp vector 2 quad)) + (.lvf vf27 (&-> *math-camera* camera-temp vector 3 quad)) + (.lvf vf29 (&-> *math-camera* hmge-scale quad)) + (.lvf vf30 (&-> *math-camera* hvdf-off quad)) + (.lvf vf28 (&-> arg1 quad)) + (.mul.x.vf acc vf24 vf28) + (.add.mul.y.vf acc vf25 vf28 acc) + (.add.mul.z.vf acc vf26 vf28 acc) + (.add.mul.w.vf vf28 vf27 vf0 acc) + (.add.w.vf vf23 vf0 vf0) + (.mul.vf vf31 vf28 vf29) + (TODO.VCLIP vf31 vf31) + (.div.vf Q vf0 vf31 :fsf #b11 :ftf #b11) + (.wait.vf) + (.cfc2.i v1-7 Clipping) + (.mul.vf vf28 vf28 Q :mask #b111) + (.mul.vf vf23 vf23 Q) + (.add.vf vf28 vf28 vf30) + (.max.x.vf vf28 vf28 vf0 :mask #b1000) + (.svf (&-> arg0 quad) vf28) + (zero? (logand v1-7 63)) + ) ) ;; definition for function transform-point-qword! @@ -487,33 +371,33 @@ (vf30 :class vf) (vf31 :class vf) ) - (init-vf0-vector) - 0 - (.lvf vf24 (&-> *math-camera* camera-temp vector 0 quad)) - (.lvf vf25 (&-> *math-camera* camera-temp vector 1 quad)) - (.lvf vf26 (&-> *math-camera* camera-temp vector 2 quad)) - (.lvf vf27 (&-> *math-camera* camera-temp vector 3 quad)) - (.lvf vf29 (&-> *math-camera* hmge-scale quad)) - (.lvf vf30 (&-> *math-camera* hvdf-off quad)) - (.lvf vf28 (&-> arg1 quad)) - (.mul.x.vf acc vf24 vf28) - (.add.mul.y.vf acc vf25 vf28 acc) - (.add.mul.z.vf acc vf26 vf28 acc) - (.add.mul.w.vf vf28 vf27 vf0 acc) - (.add.w.vf vf23 vf0 vf0) - (.mul.vf vf31 vf28 vf29) - (TODO.VCLIP vf31 vf31) - (.div.vf Q vf0 vf31 :fsf #b11 :ftf #b11) - (.wait.vf) - (.cfc2.i v1-7 Clipping) - (.mul.vf vf28 vf28 Q :mask #b111) - (.mul.vf vf23 vf23 Q) - (.add.vf vf28 vf28 vf30) - (.max.x.vf vf28 vf28 vf0 :mask #b1000) - (vftoi4.xyzw vf28 vf28) - (.svf (&-> arg0 quad) vf28) - (zero? (logand v1-7 63)) - ) + (init-vf0-vector) + 0 + (.lvf vf24 (&-> *math-camera* camera-temp vector 0 quad)) + (.lvf vf25 (&-> *math-camera* camera-temp vector 1 quad)) + (.lvf vf26 (&-> *math-camera* camera-temp vector 2 quad)) + (.lvf vf27 (&-> *math-camera* camera-temp vector 3 quad)) + (.lvf vf29 (&-> *math-camera* hmge-scale quad)) + (.lvf vf30 (&-> *math-camera* hvdf-off quad)) + (.lvf vf28 (&-> arg1 quad)) + (.mul.x.vf acc vf24 vf28) + (.add.mul.y.vf acc vf25 vf28 acc) + (.add.mul.z.vf acc vf26 vf28 acc) + (.add.mul.w.vf vf28 vf27 vf0 acc) + (.add.w.vf vf23 vf0 vf0) + (.mul.vf vf31 vf28 vf29) + (TODO.VCLIP vf31 vf31) + (.div.vf Q vf0 vf31 :fsf #b11 :ftf #b11) + (.wait.vf) + (.cfc2.i v1-7 Clipping) + (.mul.vf vf28 vf28 Q :mask #b111) + (.mul.vf vf23 vf23 Q) + (.add.vf vf28 vf28 vf30) + (.max.x.vf vf28 vf28 vf0 :mask #b1000) + (vftoi4.xyzw vf28 vf28) + (.svf (&-> arg0 quad) vf28) + (zero? (logand v1-7 63)) + ) ) ;; definition for function transform-point-vector-scale! @@ -534,34 +418,34 @@ (vf30 :class vf) (vf31 :class vf) ) - (init-vf0-vector) - 0 - (.lvf vf24 (&-> *math-camera* camera-temp vector 0 quad)) - (.lvf vf25 (&-> *math-camera* camera-temp vector 1 quad)) - (.lvf vf26 (&-> *math-camera* camera-temp vector 2 quad)) - (.lvf vf27 (&-> *math-camera* camera-temp vector 3 quad)) - (.lvf vf29 (&-> *math-camera* hmge-scale quad)) - (.lvf vf30 (&-> *math-camera* hvdf-off quad)) - (.lvf vf28 (&-> arg1 quad)) - (.mul.x.vf acc vf24 vf28) - (.add.mul.y.vf acc vf25 vf28 acc) - (.add.mul.z.vf acc vf26 vf28 acc) - (.add.mul.w.vf vf28 vf27 vf0 acc) - (.add.w.vf vf23 vf0 vf0) - (.mul.vf vf31 vf28 vf29) - (TODO.VCLIP vf31 vf31) - (.div.vf Q vf0 vf31 :fsf #b11 :ftf #b11) - (.wait.vf) - (.cfc2.i v1-7 Clipping) - (.mul.vf vf28 vf28 Q :mask #b111) - (.mul.vf vf23 vf23 Q) - (.add.vf vf28 vf28 vf30) - (.max.x.vf vf28 vf28 vf0 :mask #b1000) - (.svf (&-> arg0 quad) vf28) - (zero? (logand v1-7 63)) - (.mov v0-0 vf23) - v0-0 - ) + (init-vf0-vector) + 0 + (.lvf vf24 (&-> *math-camera* camera-temp vector 0 quad)) + (.lvf vf25 (&-> *math-camera* camera-temp vector 1 quad)) + (.lvf vf26 (&-> *math-camera* camera-temp vector 2 quad)) + (.lvf vf27 (&-> *math-camera* camera-temp vector 3 quad)) + (.lvf vf29 (&-> *math-camera* hmge-scale quad)) + (.lvf vf30 (&-> *math-camera* hvdf-off quad)) + (.lvf vf28 (&-> arg1 quad)) + (.mul.x.vf acc vf24 vf28) + (.add.mul.y.vf acc vf25 vf28 acc) + (.add.mul.z.vf acc vf26 vf28 acc) + (.add.mul.w.vf vf28 vf27 vf0 acc) + (.add.w.vf vf23 vf0 vf0) + (.mul.vf vf31 vf28 vf29) + (TODO.VCLIP vf31 vf31) + (.div.vf Q vf0 vf31 :fsf #b11 :ftf #b11) + (.wait.vf) + (.cfc2.i v1-7 Clipping) + (.mul.vf vf28 vf28 Q :mask #b111) + (.mul.vf vf23 vf23 Q) + (.add.vf vf28 vf28 vf30) + (.max.x.vf vf28 vf28 vf0 :mask #b1000) + (.svf (&-> arg0 quad) vf28) + (zero? (logand v1-7 63)) + (.mov v0-0 vf23) + v0-0 + ) ) ;; definition for function init-for-transform @@ -588,75 +472,75 @@ (vf8 :class vf) (vf9 :class vf) ) - (let ((gp-0 (new-stack-matrix0)) - (s5-0 (new-stack-matrix0)) - (s4-0 (new 'stack 'vector4s-3)) - (s3-0 (new-stack-vector0)) - ) - (let ((s2-0 (new 'stack 'vector4s-3))) - (matrix*! s5-0 arg0 (-> *math-camera* camera-temp)) - (matrix-3x3-inverse-transpose! gp-0 arg0) - (set-vector! s3-0 0.4 0.4 0.4 1.0) - (let ((v1-4 (-> s4-0 data))) - (set! (-> v1-4 0) 1.0) - (set! (-> v1-4 1) 1.0) - (set! (-> v1-4 2) 1.0) - (set! (-> v1-4 3) 1.0) + (let ((gp-0 (new-stack-matrix0)) + (s5-0 (new-stack-matrix0)) + (s4-0 (new 'stack 'vector4s-3)) + (s3-0 (new-stack-vector0)) + ) + (let ((s2-0 (new 'stack 'vector4s-3))) + (matrix*! s5-0 arg0 (-> *math-camera* camera-temp)) + (matrix-3x3-inverse-transpose! gp-0 arg0) + (set-vector! s3-0 0.4 0.4 0.4 1.0) + (let ((v1-4 (-> s4-0 data))) + (set! (-> v1-4 0) 1.0) + (set! (-> v1-4 1) 1.0) + (set! (-> v1-4 2) 1.0) + (set! (-> v1-4 3) 1.0) + ) + (let ((v1-5 (&-> s4-0 data 4))) + (set! (-> v1-5 0) 0.0) + (set! (-> v1-5 1) 0.0) + (set! (-> v1-5 2) 0.0) + (set! (-> v1-5 3) 1.0) + ) + (let ((v1-6 (&-> s4-0 data 8))) + (set! (-> v1-6 0) 0.0) + (set! (-> v1-6 1) 0.0) + (set! (-> v1-6 2) 0.0) + (set! (-> v1-6 3) 1.0) + ) + (let ((v1-7 (-> s2-0 data))) + (set! (-> v1-7 0) 1.0) + (set! (-> v1-7 1) 0.0) + (set! (-> v1-7 2) 0.0) + (set! (-> v1-7 3) 1.0) + ) + (let ((v1-8 (&-> s2-0 data 4))) + (set! (-> v1-8 0) 0.0) + (set! (-> v1-8 1) 1.0) + (set! (-> v1-8 2) 0.0) + (set! (-> v1-8 3) 1.0) + ) + (let ((v1-9 (&-> s2-0 data 8))) + (set! (-> v1-9 0) 0.0) + (set! (-> v1-9 1) 0.0) + (set! (-> v1-9 2) 1.0) + (set! (-> v1-9 3) 1.0) + ) + (.lvf vf7 (&-> *math-camera* hmge-scale quad)) + (.lvf vf8 (&-> *math-camera* hvdf-off quad)) + (.lvf vf9 (&-> *math-camera* vis-gifs-quads 0)) + (let ((v1-13 255)) + (.mov vf6 v1-13) + ) + (.mov v1-14 vf6) + (.itof.vf vf6 vf6) + (.lvf vf1 (&-> s5-0 vector 0 quad)) + (.lvf vf2 (&-> s5-0 vector 1 quad)) + (.lvf vf3 (&-> s5-0 vector 2 quad)) + (.lvf vf4 (&-> s5-0 vector 3 quad)) + (.lvf vf17 (&-> gp-0 vector 0 quad)) + (.lvf vf18 (&-> gp-0 vector 1 quad)) + (.lvf vf19 (&-> gp-0 vector 2 quad)) + (.lvf vf23 (&-> s2-0 quad 0)) + (.lvf vf24 (&-> s2-0 quad 1)) + (.lvf vf25 (&-> s2-0 quad 2)) + ) + (.lvf vf27 (&-> s4-0 quad 0)) + (.lvf vf28 (&-> s4-0 quad 1)) + (.lvf vf29 (&-> s4-0 quad 2)) + (.lvf vf26 (&-> s3-0 quad)) ) - (let ((v1-5 (&-> s4-0 data 4))) - (set! (-> v1-5 0) 0.0) - (set! (-> v1-5 1) 0.0) - (set! (-> v1-5 2) 0.0) - (set! (-> v1-5 3) 1.0) - ) - (let ((v1-6 (&-> s4-0 data 8))) - (set! (-> v1-6 0) 0.0) - (set! (-> v1-6 1) 0.0) - (set! (-> v1-6 2) 0.0) - (set! (-> v1-6 3) 1.0) - ) - (let ((v1-7 (-> s2-0 data))) - (set! (-> v1-7 0) 1.0) - (set! (-> v1-7 1) 0.0) - (set! (-> v1-7 2) 0.0) - (set! (-> v1-7 3) 1.0) - ) - (let ((v1-8 (&-> s2-0 data 4))) - (set! (-> v1-8 0) 0.0) - (set! (-> v1-8 1) 1.0) - (set! (-> v1-8 2) 0.0) - (set! (-> v1-8 3) 1.0) - ) - (let ((v1-9 (&-> s2-0 data 8))) - (set! (-> v1-9 0) 0.0) - (set! (-> v1-9 1) 0.0) - (set! (-> v1-9 2) 1.0) - (set! (-> v1-9 3) 1.0) - ) - (.lvf vf7 (&-> *math-camera* hmge-scale quad)) - (.lvf vf8 (&-> *math-camera* hvdf-off quad)) - (.lvf vf9 (&-> *math-camera* vis-gifs-quads 0)) - (let ((v1-13 255)) - (.mov vf6 v1-13) - ) - (.mov v1-14 vf6) - (.itof.vf vf6 vf6) - (.lvf vf1 (&-> s5-0 vector 0 quad)) - (.lvf vf2 (&-> s5-0 vector 1 quad)) - (.lvf vf3 (&-> s5-0 vector 2 quad)) - (.lvf vf4 (&-> s5-0 vector 3 quad)) - (.lvf vf17 (&-> gp-0 vector 0 quad)) - (.lvf vf18 (&-> gp-0 vector 1 quad)) - (.lvf vf19 (&-> gp-0 vector 2 quad)) - (.lvf vf23 (&-> s2-0 quad 0)) - (.lvf vf24 (&-> s2-0 quad 1)) - (.lvf vf25 (&-> s2-0 quad 2)) - ) - (.lvf vf27 (&-> s4-0 quad 0)) - (.lvf vf28 (&-> s4-0 quad 1)) - (.lvf vf29 (&-> s4-0 quad 2)) - (.lvf vf26 (&-> s3-0 quad)) + (none) ) - (none) - ) ) diff --git a/test/decompiler/reference/engine/camera/pov-camera-h_REF.gc b/test/decompiler/reference/engine/camera/pov-camera-h_REF.gc index bf95e33a41..ee0040227d 100644 --- a/test/decompiler/reference/engine/camera/pov-camera-h_REF.gc +++ b/test/decompiler/reference/engine/camera/pov-camera-h_REF.gc @@ -34,8 +34,8 @@ ;; definition for method 3 of type pov-camera (defmethod inspect pov-camera ((obj pov-camera)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tflags: ~D~%" (-> obj flags)) (format #t "~T~Tdebounce-start-time: ~D~%" (-> obj debounce-start-time)) (format #t "~T~Tnotify-handle: ~D~%" (-> obj notify-handle)) diff --git a/test/decompiler/reference/engine/camera/pov-camera_REF.gc b/test/decompiler/reference/engine/camera/pov-camera_REF.gc index 99744e20db..c95ec46ee1 100644 --- a/test/decompiler/reference/engine/camera/pov-camera_REF.gc +++ b/test/decompiler/reference/engine/camera/pov-camera_REF.gc @@ -3,27 +3,20 @@ ;; definition for method 25 of type pov-camera (defmethod TODO-RENAME-25 pov-camera ((obj pov-camera)) - (when - (or - (and - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> obj debounce-start-time)) - ) - 60 + (when (or + (and + (>= (- (-> *display* base-frame-counter) (the-as int (-> obj debounce-start-time))) 60) + (cpad-pressed? 0 triangle) + ) + (logtest? (-> obj flags) 2) + ) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons triangle)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons triangle)) + (when (logtest? (-> obj flags) 1) + (send-event (handle->process (-> obj notify-handle)) 'notify 'abort-request) + #t ) - (cpad-pressed? 0 triangle) - ) - (logtest? (-> obj flags) 2) ) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons triangle)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons triangle)) - (when (logtest? (-> obj flags) 1) - (send-event (handle->process (-> obj notify-handle)) 'notify 'abort-request) - #t - ) - ) ) ;; definition for method 26 of type pov-camera @@ -40,10 +33,7 @@ (defstate pov-camera-startup (pov-camera) :virtual #t :code - (behavior () - (go-virtual pov-camera-start-playing) - (none) - ) + (behavior () (go-virtual pov-camera-start-playing) (none)) ) ;; failed to figure out what this is: @@ -51,103 +41,74 @@ :virtual #t :code (behavior () - (logclear! (-> self mask) (process-mask actor-pause)) - (while (not (target-grabbed? self)) - (suspend) - ) - (let ((gp-0 0)) - (let ((v1-7 (dummy-10 (-> self draw jgeo) "camera" (the-as type #f)))) - (if v1-7 - (set! gp-0 (+ (-> v1-7 number) 1)) + (logclear! (-> self mask) (process-mask actor-pause)) + (while (not (target-grabbed? self)) + (suspend) ) - ) - (let* ((s5-0 (get-process *default-dead-pool* othercam #x4000)) - (v1-10 (when s5-0 - (let ((t9-3 (method-of-type othercam activate))) - (t9-3 - (the-as othercam s5-0) - self - 'othercam - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - othercam-init-by-other - self - gp-0 - #t - #t - ) - (-> s5-0 ppointer) - ) + (let ((gp-0 0)) + (let ((v1-7 (dummy-10 (-> self draw jgeo) "camera" (the-as type #f)))) + (if v1-7 + (set! gp-0 (+ (-> v1-7 number) 1)) ) - ) - (send-event (ppointer->process v1-10) 'mask (-> self mask-to-clear)) - ) + ) + (let* ((s5-0 (get-process *default-dead-pool* othercam #x4000)) + (v1-10 (when s5-0 + (let ((t9-3 (method-of-type othercam activate))) + (t9-3 (the-as othercam s5-0) self 'othercam (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 othercam-init-by-other self gp-0 #t #t) + (-> s5-0 ppointer) + ) + ) + ) + (send-event (ppointer->process v1-10) 'mask (-> self mask-to-clear)) + ) + ) + (go-virtual pov-camera-playing) + (none) ) - (go-virtual pov-camera-playing) - (none) - ) ) ;; definition for function pov-camera-play-and-reposition ;; INFO: Return type mismatch int vs none. -(defbehavior - pov-camera-play-and-reposition pov-camera - ((arg0 joint-anim-compressed) (arg1 vector) (arg2 float)) +(defbehavior pov-camera-play-and-reposition pov-camera ((arg0 joint-anim-compressed) (arg1 vector) (arg2 float)) (let ((s4-0 #f)) - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 frame-group) (the-as art-joint-anim arg0)) - (set! (-> v1-2 param 0) (the float (+ (-> arg0 data 9 unknown-half) -1))) - (set! (-> v1-2 param 1) arg2) - (set! (-> v1-2 frame-num) 0.0) - (joint-control-channel-group! - v1-2 - (the-as art-joint-anim arg0) - num-func-seek! - ) - ) - (until (ja-done? 0) - (let - ((v1-4 - (and - (not s4-0) - (< (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -4 + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim arg0)) + (set! (-> v1-2 param 0) (the float (+ (-> arg0 data 9 unknown-half) -1))) + (set! (-> v1-2 param 1) arg2) + (set! (-> v1-2 frame-num) 0.0) + (joint-control-channel-group! v1-2 (the-as art-joint-anim arg0) num-func-seek!) + ) + (until (ja-done? 0) + (let ((v1-4 (and (not s4-0) (< (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -4 + ) + ) + (ja-frame-num 0) + ) ) + ) ) - (ja-frame-num 0) - ) + (when v1-4 + (set! s4-0 #t) + (send-event *camera* 'teleport-to-vector-start-string arg1) + ) + ) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) arg2) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - ) ) - (when v1-4 - (set! s4-0 #t) - (send-event *camera* 'teleport-to-vector-start-string arg1) - ) - ) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) arg2) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - ) 0 (none) ) @@ -157,140 +118,105 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('abort) - (when (logtest? (-> self flags) 1) - (logior! (-> self flags) 2) - (if (= (-> self anim-name type) string) - (go-virtual pov-camera-abort) - ) + (case arg2 + (('abort) + (when (logtest? (-> self flags) 1) + (logior! (-> self flags) 2) + (if (= (-> self anim-name type) string) + (go-virtual pov-camera-abort) + ) + ) ) ) ) - ) :enter (behavior () - (set! - (-> self debounce-start-time) - (the-as uint (-> *display* base-frame-counter)) + (set! (-> self debounce-start-time) (the-as uint (-> *display* base-frame-counter))) + (if (= (-> self anim-name type) string) + (backup-load-state-and-set-cmds *load-state* (-> self command-list)) + ) + (none) ) - (if (= (-> self anim-name type) string) - (backup-load-state-and-set-cmds *load-state* (-> self command-list)) - ) - (none) - ) :exit (behavior () - (if (= (-> self anim-name type) string) - (restore-load-state-and-cleanup *load-state*) + (if (= (-> self anim-name type) string) + (restore-load-state-and-cleanup *load-state*) + ) + (clear-pending-settings-from-process *setting-control* self 'music-volume) + (clear-pending-settings-from-process *setting-control* self 'sfx-volume) + (none) ) - (clear-pending-settings-from-process *setting-control* self 'music-volume) - (clear-pending-settings-from-process *setting-control* self 'sfx-volume) - (none) - ) :code (behavior () - (push-setting! - *setting-control* - self - 'music-volume - 'rel - (-> self music-volume-movie) - 0 - ) - (push-setting! - *setting-control* - self - 'sfx-volume - 'rel - (-> self sfx-volume-movie) - 0 - ) - (cond - ((= (-> self anim-name type) string) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (push-setting! *setting-control* self 'music-volume 'rel (-> self music-volume-movie) 0) + (push-setting! *setting-control* self 'sfx-volume 'rel (-> self sfx-volume-movie) 0) + (cond + ((= (-> self anim-name type) string) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! + a0-4 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (TODO-RENAME-25 self) + (suspend) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) 1.0) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! - (-> a0-4 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! + ((= (-> self anim-name type) spool-anim) + (ja-play-spooled-anim + (the-as spool-anim (-> self anim-name)) + (the-as art-joint-anim #f) + (the-as art-joint-anim #f) + (method-of-object self TODO-RENAME-25) + ) ) ) - (until (ja-done? 0) - (TODO-RENAME-25 self) - (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((= (-> self anim-name type) spool-anim) - (ja-play-spooled-anim - (the-as spool-anim (-> self anim-name)) - (the-as art-joint-anim #f) - (the-as art-joint-anim #f) - (method-of-object self TODO-RENAME-25) - ) - ) + (go-virtual pov-camera-done-playing) + (none) ) - (go-virtual pov-camera-done-playing) - (none) - ) :post (behavior () - (if (= (-> self anim-name type) string) - (execute-commands-up-to *load-state* (ja-aframe-num 0)) + (if (= (-> self anim-name type) string) + (execute-commands-up-to *load-state* (ja-aframe-num 0)) + ) + (ja-post) + (none) ) - (ja-post) - (none) - ) ) ;; failed to figure out what this is: (defstate pov-camera-abort (pov-camera) :virtual #t :enter - (behavior () - (logior! (-> self flags) 2) - (none) - ) + (behavior () (logior! (-> self flags) 2) (none)) :code - (behavior () - (set-blackout-frames 10) - (suspend) - (suspend) - (go-virtual pov-camera-done-playing) - (none) - ) + (behavior () (set-blackout-frames 10) (suspend) (suspend) (go-virtual pov-camera-done-playing) (none)) ) ;; failed to figure out what this is: @@ -298,19 +224,16 @@ :virtual #t :code (behavior () - (while (begin - self - (not ((method-of-object self target-released?))) - ) + (while (begin self (not ((method-of-object self target-released?)))) + (suspend) + ) + (send-event (handle->process (-> self notify-handle)) 'notify 'die) (suspend) + (suspend) + (dummy-18 self) + (deactivate self) + (none) ) - (send-event (handle->process (-> self notify-handle)) 'notify 'die) - (suspend) - (suspend) - (dummy-18 self) - (deactivate self) - (none) - ) ) ;; definition for method 27 of type pov-camera @@ -329,15 +252,7 @@ ;; definition for function pov-camera-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - pov-camera-init-by-other pov-camera - ((arg0 vector) - (arg1 skeleton-group) - (arg2 string) - (arg3 int) - (arg4 process-drawable) - (arg5 pair) - ) +(defbehavior pov-camera-init-by-other pov-camera ((arg0 vector) (arg1 skeleton-group) (arg2 string) (arg3 int) (arg4 process-drawable) (arg5 pair)) (set-stack-size! self) (set! (-> *game-info* pov-camera-handle) (process->handle self)) (set! (-> self flags) arg3) @@ -345,81 +260,68 @@ (set! (-> self music-volume-movie) 100.0) (set! (-> self sfx-volume-movie) 100.0) (if arg4 - (set! (-> self notify-handle) (process->handle arg4)) - (set! (-> self notify-handle) (the-as handle #f)) - ) - (set! - (-> self debounce-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (logclear! - (-> self mask) - (process-mask actor-pause movie enemy platform projectile) - ) + (set! (-> self notify-handle) (process->handle arg4)) + (set! (-> self notify-handle) (the-as handle #f)) + ) + (set! (-> self debounce-start-time) (the-as uint (-> *display* base-frame-counter))) + (logclear! (-> self mask) (process-mask actor-pause movie enemy platform projectile)) (set! (-> self root) (new 'process 'trsqv)) (set! (-> self root trans quad) (-> arg0 quad)) (when (logtest? (-> self flags) 4) - (let - ((v1-20 - (if (and (nonzero? arg4) (type-type? (-> arg4 type) process-drawable)) - arg4 - ) + (let ((v1-20 (if (and (nonzero? arg4) (type-type? (-> arg4 type) process-drawable)) + arg4 + ) + ) + ) + (quaternion-copy! (-> self root quat) (-> v1-20 root quat)) ) - ) - (quaternion-copy! (-> self root quat) (-> v1-20 root quat)) ) - ) (initialize-skeleton self arg1 '()) (logior! (-> self draw status) 32) (logior! (-> self skel status) 1) (set! (-> self anim-name) arg2) (cond - ((= (-> arg2 type) string) - (logior! (-> self skel status) 32) - (let ((s5-1 (dummy-10 (-> self draw art-group) arg2 art-joint-anim))) - (if (not s5-1) - (go process-drawable-art-error arg2) - ) - (ja-channel-set! 1) - (set! - (-> self skel root-channel 0 frame-group) - (the-as art-joint-anim s5-1) - ) + ((= (-> arg2 type) string) + (logior! (-> self skel status) 32) + (let ((s5-1 (dummy-10 (-> self draw art-group) arg2 art-joint-anim))) + (if (not s5-1) + (go process-drawable-art-error arg2) + ) + (ja-channel-set! 1) + (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim s5-1)) + ) + ) + ((= (-> arg2 type) spool-anim) ) ) - ((= (-> arg2 type) spool-anim) - ) - ) (set! (-> self mask-to-clear) (the-as uint #x4a0800)) - (set! - (-> self event-hook) - (lambda :behavior pov-camera - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'mask) - (let ((v0-0 (the-as number (-> arg3 param 0)))) - (set! (-> self mask-to-clear) (the-as uint v0-0)) - v0-0 - ) - ) - ((= v1-0 'music-movie-volume) - (let ((f0-0 (the-as float (-> arg3 param 0)))) - (set! (-> self music-volume-movie) f0-0) - f0-0 - ) - ) - ((= v1-0 'sfx-movie-volume) - (let ((f0-1 (the-as float (-> arg3 param 0)))) - (set! (-> self sfx-volume-movie) f0-1) - f0-1 - ) - ) - ) - ) - ) - ) - ) + (set! (-> self event-hook) (lambda :behavior pov-camera + ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'mask) + (let ((v0-0 (the-as number (-> arg3 param 0)))) + (set! (-> self mask-to-clear) (the-as uint v0-0)) + v0-0 + ) + ) + ((= v1-0 'music-movie-volume) + (let ((f0-0 (the-as float (-> arg3 param 0)))) + (set! (-> self music-volume-movie) f0-0) + f0-0 + ) + ) + ((= v1-0 'sfx-movie-volume) + (let ((f0-1 (the-as float (-> arg3 param 0)))) + (set! (-> self sfx-volume-movie) f0-1) + f0-1 + ) + ) + ) + ) + ) + ) + ) ((method-of-object self dummy-27)) (go-virtual pov-camera-startup) (none) diff --git a/test/decompiler/reference/engine/collide/collide-cache-h_REF.gc b/test/decompiler/reference/engine/collide/collide-cache-h_REF.gc index 311ff3647f..0cf6763950 100644 --- a/test/decompiler/reference/engine/collide/collide-cache-h_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-cache-h_REF.gc @@ -16,10 +16,7 @@ ) ;; definition for method 3 of type collide-using-spheres-params -(defmethod - inspect - collide-using-spheres-params - ((obj collide-using-spheres-params)) +(defmethod inspect collide-using-spheres-params ((obj collide-using-spheres-params)) (format #t "[~8x] ~A~%" obj 'collide-using-spheres-params) (format #t "~Tspheres: #x~X~%" (-> obj spheres)) (format #t "~Tnum-spheres: ~D~%" (-> obj num-spheres)) @@ -71,11 +68,7 @@ (format #t "~Tclosest-pt: #~%" (-> obj closest-pt)) (format #t "~Ttri-normal: #~%" (-> obj tri-normal)) (format #t "~Ttri-bbox4w: #~%" (-> obj tri-bbox4w)) - (format - #t - "~Tspheres-bbox4w: #~%" - (-> obj spheres-bbox4w) - ) + (format #t "~Tspheres-bbox4w: #~%" (-> obj spheres-bbox4w)) (format #t "~Tspheres[64] @ #x~X~%" (-> obj spheres)) obj ) @@ -221,11 +214,7 @@ (format #t "~Tignore-mask: ~D~%" (-> obj ignore-mask)) (format #t "~Tproc: ~A~%" (-> obj proc)) (format #t "~Tcollide-box: #~%" (-> obj collide-box)) - (format - #t - "~Tcollide-box4w: #~%" - (-> obj collide-box4w) - ) + (format #t "~Tcollide-box4w: #~%" (-> obj collide-box4w)) (format #t "~Tcollide-with: ~D~%" (-> obj collide-with)) (format #t "~Tprims[100] @ #x~X~%" (-> obj prims)) (format #t "~Ttris[461] @ #x~X~%" (-> obj tris)) @@ -282,16 +271,8 @@ ;; definition for method 3 of type collide-work (defmethod inspect collide-work ((obj collide-work)) (format #t "[~8x] ~A~%" obj 'collide-work) - (format - #t - "~Tcollide-sphere-neg-r: #~%" - (-> obj collide-sphere-neg-r) - ) - (format - #t - "~Tcollide-box4w: #~%" - (-> obj collide-box4w) - ) + (format #t "~Tcollide-sphere-neg-r: #~%" (-> obj collide-sphere-neg-r)) + (format #t "~Tcollide-box4w: #~%" (-> obj collide-box4w)) (format #t "~Tinv-mat: #~%" (-> obj inv-mat)) obj ) diff --git a/test/decompiler/reference/engine/collide/collide-edge-grab-h_REF.gc b/test/decompiler/reference/engine/collide/collide-edge-grab-h_REF.gc index 22646fd4c5..78ea8911d7 100644 --- a/test/decompiler/reference/engine/collide/collide-edge-grab-h_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-edge-grab-h_REF.gc @@ -30,11 +30,7 @@ (format #t "[~8x] ~A~%" obj 'edge-grab-info) (format #t "~Tworld-vertex[6] @ #x~X~%" (-> obj world-vertex)) (format #t "~Tlocal-vertex[6] @ #x~X~%" (-> obj local-vertex)) - (format - #t - "~Tactor-cshape-prim-offset: ~D~%" - (-> obj actor-cshape-prim-offset) - ) + (format #t "~Tactor-cshape-prim-offset: ~D~%" (-> obj actor-cshape-prim-offset)) (format #t "~Tactor-handle: ~D~%" (-> obj actor-handle)) (format #t "~Thanging-matrix: #~%" (-> obj hanging-matrix)) (format #t "~Tedge-vertex[2] @ #x~X~%" (-> obj world-vertex)) @@ -198,123 +194,69 @@ (format #t "~Tnum-verts: ~D~%" (-> obj num-verts)) (format #t "~Tnum-edges: ~D~%" (-> obj num-edges)) (format #t "~Tnum-tris: ~D~%" (-> obj num-tris)) - (format - #t - "~Tcache-fill-box: #~%" - (-> obj cache-fill-box) - ) - (format - #t - "~Twithin-reach-box: #~%" - (-> obj within-reach-box) - ) - (format - #t - "~Twithin-reach-box4w: #~%" - (-> obj within-reach-box4w) - ) + (format #t "~Tcache-fill-box: #~%" (-> obj cache-fill-box)) + (format #t "~Twithin-reach-box: #~%" (-> obj within-reach-box)) + (format #t "~Twithin-reach-box4w: #~%" (-> obj within-reach-box4w)) (format #t "~Tsearch-pt: #~%" (-> obj search-pt)) (format #t "~Tsearch-dir-vec: #~%" (-> obj search-dir-vec)) - (format - #t - "~Tmax-dist-sqrd-to-outward-pt: ~f~%" - (-> obj max-dist-sqrd-to-outward-pt) - ) + (format #t "~Tmax-dist-sqrd-to-outward-pt: ~f~%" (-> obj max-dist-sqrd-to-outward-pt)) (format #t "~Tmax-dir-cosa-delta: ~f~%" (-> obj max-dir-cosa-delta)) (format #t "~Tsplit-dists[2] @ #x~X~%" (-> obj split-dists)) (format #t "~Toutward-offset: #~%" (-> obj outward-offset)) - (format - #t - "~Tlocal-cache-fill-box: #~%" - (-> obj local-cache-fill-box) - ) - (format - #t - "~Tlocal-within-reach-box: #~%" - (-> obj local-within-reach-box) - ) - (format - #t - "~Tlocal-player-spheres[12] @ #x~X~%" - (-> obj local-player-spheres) - ) - (format - #t - "~Tworld-player-spheres[12] @ #x~X~%" - (-> obj world-player-spheres) - ) - (format - #t - "~Tlocal-player-hanging-spheres[6] @ #x~X~%" - (-> obj local-player-spheres) - ) - (format - #t - "~Tworld-player-hanging-spheres[6] @ #x~X~%" - (-> obj world-player-spheres) - ) - (format - #t - "~Tlocal-player-leap-up-spheres[6] @ #x~X~%" - (-> obj local-player-leap-up-spheres) - ) - (format - #t - "~Tworld-player-leap-up-spheres[6] @ #x~X~%" - (-> obj world-player-leap-up-spheres) - ) + (format #t "~Tlocal-cache-fill-box: #~%" (-> obj local-cache-fill-box)) + (format #t "~Tlocal-within-reach-box: #~%" (-> obj local-within-reach-box)) + (format #t "~Tlocal-player-spheres[12] @ #x~X~%" (-> obj local-player-spheres)) + (format #t "~Tworld-player-spheres[12] @ #x~X~%" (-> obj world-player-spheres)) + (format #t "~Tlocal-player-hanging-spheres[6] @ #x~X~%" (-> obj local-player-spheres)) + (format #t "~Tworld-player-hanging-spheres[6] @ #x~X~%" (-> obj world-player-spheres)) + (format #t "~Tlocal-player-leap-up-spheres[6] @ #x~X~%" (-> obj local-player-leap-up-spheres)) + (format #t "~Tworld-player-leap-up-spheres[6] @ #x~X~%" (-> obj world-player-leap-up-spheres)) (format #t "~Tverts[64] @ #x~X~%" (-> obj verts)) (format #t "~Tedges[96] @ #x~X~%" (-> obj edges)) (format #t "~Ttris[48] @ #x~X~%" (-> obj tris)) - (format - #t - "~Thold-list: #~%" - (-> obj hold-list) - ) + (format #t "~Thold-list: #~%" (-> obj hold-list)) obj ) ;; definition for symbol *collide-edge-work*, type collide-edge-work -(define - *collide-edge-work* - (new 'static 'collide-edge-work - :max-dist-sqrd-to-outward-pt 37748736.0 - :max-dir-cosa-delta 0.6 - :split-dists - (new 'static 'array float 2 1024.0 1433.6) - :outward-offset - (new 'static 'vector :x 708.608 :y 13312.0 :w 1.0) - :local-cache-fill-box - (new 'static 'bounding-box - :min - (new 'static 'vector :x -8192.0 :y -11059.2 :z -8192.0 :w 1.0) - :max - (new 'static 'vector :x 8192.0 :y 24576.0 :z 8192.0 :w 1.0) - ) - :local-within-reach-box - (new 'static 'bounding-box - :min - (new 'static 'vector :x -6144.0 :y 5324.8 :z -6144.0 :w 1.0) - :max - (new 'static 'vector :x 6144.0 :y 11059.2 :z 6144.0 :w 1.0) - ) - :local-player-spheres - (new 'static 'inline-array sphere 12 - (new 'static 'sphere :x 1720.32 :y -819.2 :w 1433.6) - (new 'static 'sphere :x 2293.76 :y -3276.8 :w 1884.16) - (new 'static 'sphere :x 1966.08 :y -6144.0 :w 1556.48) - (new 'static 'sphere :x 1966.08 :y -8601.6 :w 1556.48) - (new 'static 'sphere :x 1761.28 :y -11059.2 :w 1351.68) - (new 'static 'sphere :x 1679.36 :y -13312.0 :w 1269.76) - (new 'static 'sphere :x -737.28 :y 4096.0 :w 3072.0) - (new 'static 'sphere :x -737.28 :y 6553.6 :w 3072.0) - (new 'static 'sphere :x -737.28 :y 9420.8 :w 3072.0) - (new 'static 'sphere :x 1720.32 :y 3686.4 :w 2949.12) - (new 'static 'sphere :x 1720.32 :y 5734.4 :w 2949.12) - (new 'static 'sphere :x 1720.32 :y 8601.6 :w 2949.12) - ) - ) - ) +(define *collide-edge-work* (new 'static 'collide-edge-work + :max-dist-sqrd-to-outward-pt 37748736.0 + :max-dir-cosa-delta 0.6 + :split-dists + (new 'static 'array float 2 1024.0 1433.6) + :outward-offset + (new 'static 'vector :x 708.608 :y 13312.0 :w 1.0) + :local-cache-fill-box + (new 'static 'bounding-box + :min + (new 'static 'vector :x -8192.0 :y -11059.2 :z -8192.0 :w 1.0) + :max + (new 'static 'vector :x 8192.0 :y 24576.0 :z 8192.0 :w 1.0) + ) + :local-within-reach-box + (new 'static 'bounding-box + :min + (new 'static 'vector :x -6144.0 :y 5324.8 :z -6144.0 :w 1.0) + :max + (new 'static 'vector :x 6144.0 :y 11059.2 :z 6144.0 :w 1.0) + ) + :local-player-spheres + (new 'static 'inline-array sphere 12 + (new 'static 'sphere :x 1720.32 :y -819.2 :w 1433.6) + (new 'static 'sphere :x 2293.76 :y -3276.8 :w 1884.16) + (new 'static 'sphere :x 1966.08 :y -6144.0 :w 1556.48) + (new 'static 'sphere :x 1966.08 :y -8601.6 :w 1556.48) + (new 'static 'sphere :x 1761.28 :y -11059.2 :w 1351.68) + (new 'static 'sphere :x 1679.36 :y -13312.0 :w 1269.76) + (new 'static 'sphere :x -737.28 :y 4096.0 :w 3072.0) + (new 'static 'sphere :x -737.28 :y 6553.6 :w 3072.0) + (new 'static 'sphere :x -737.28 :y 9420.8 :w 3072.0) + (new 'static 'sphere :x 1720.32 :y 3686.4 :w 2949.12) + (new 'static 'sphere :x 1720.32 :y 5734.4 :w 2949.12) + (new 'static 'sphere :x 1720.32 :y 8601.6 :w 2949.12) + ) + ) + ) ;; definition (perm) for symbol *edge-grab-info*, type edge-grab-info (define-perm *edge-grab-info* edge-grab-info (new 'global 'edge-grab-info)) diff --git a/test/decompiler/reference/engine/collide/collide-frag-h_REF.gc b/test/decompiler/reference/engine/collide/collide-frag-h_REF.gc index 4529f33ef3..4d694e9146 100644 --- a/test/decompiler/reference/engine/collide/collide-frag-h_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-frag-h_REF.gc @@ -83,10 +83,7 @@ ) ;; definition for method 3 of type drawable-inline-array-collide-fragment -(defmethod - inspect - drawable-inline-array-collide-fragment - ((obj drawable-inline-array-collide-fragment)) +(defmethod inspect drawable-inline-array-collide-fragment ((obj drawable-inline-array-collide-fragment)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tid: ~D~%" (-> obj id)) (format #t "~Tbsphere: ~`vector`P~%" (-> obj bsphere)) diff --git a/test/decompiler/reference/engine/collide/collide-frag_REF.gc b/test/decompiler/reference/engine/collide/collide-frag_REF.gc index 1eda953dbc..b1ce7c4c9e 100644 --- a/test/decompiler/reference/engine/collide/collide-frag_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-frag_REF.gc @@ -2,42 +2,30 @@ (in-package goal) ;; definition for method 9 of type drawable-tree-collide-fragment -(defmethod - login - drawable-tree-collide-fragment - ((obj drawable-tree-collide-fragment)) +(defmethod login drawable-tree-collide-fragment ((obj drawable-tree-collide-fragment)) obj ) ;; definition for method 10 of type drawable-tree-collide-fragment ;; INFO: Return type mismatch int vs none. -(defmethod - draw - drawable-tree-collide-fragment - ((obj drawable-tree-collide-fragment) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-tree-collide-fragment ((obj drawable-tree-collide-fragment) (arg0 drawable) (arg1 display-frame)) (when *display-render-collision* - (dotimes (s4-0 (-> obj length)) - (draw (-> obj data s4-0) (-> obj data s4-0) arg1) + (dotimes (s4-0 (-> obj length)) + (draw (-> obj data s4-0) (-> obj data s4-0) arg1) + ) ) - ) 0 (none) ) ;; definition for method 16 of type drawable-tree-collide-fragment -(defmethod - dummy-16 - drawable-tree-collide-fragment - ((obj drawable-tree-collide-fragment) (arg0 object) (arg1 object)) +(defmethod dummy-16 drawable-tree-collide-fragment ((obj drawable-tree-collide-fragment) (arg0 object) (arg1 object)) arg1 ) ;; definition for method 11 of type drawable-tree-collide-fragment ;; INFO: Return type mismatch int vs none. -(defmethod - collide-with-box - drawable-tree-collide-fragment - ((obj drawable-tree-collide-fragment) (arg0 int) (arg1 collide-list)) +(defmethod collide-with-box drawable-tree-collide-fragment ((obj drawable-tree-collide-fragment) (arg0 int) (arg1 collide-list)) (collide-with-box (-> obj data 0) (-> obj length) arg1) 0 (none) @@ -45,10 +33,7 @@ ;; definition for method 12 of type drawable-tree-collide-fragment ;; INFO: Return type mismatch int vs none. -(defmethod - collide-y-probe - drawable-tree-collide-fragment - ((obj drawable-tree-collide-fragment) (arg0 int) (arg1 collide-list)) +(defmethod collide-y-probe drawable-tree-collide-fragment ((obj drawable-tree-collide-fragment) (arg0 int) (arg1 collide-list)) (collide-y-probe (-> obj data 0) (-> obj length) arg1) 0 (none) @@ -56,10 +41,7 @@ ;; definition for method 13 of type drawable-tree-collide-fragment ;; INFO: Return type mismatch int vs none. -(defmethod - collide-ray - drawable-tree-collide-fragment - ((obj drawable-tree-collide-fragment) (arg0 int) (arg1 collide-list)) +(defmethod collide-ray drawable-tree-collide-fragment ((obj drawable-tree-collide-fragment) (arg0 int) (arg1 collide-list)) (collide-ray (-> obj data 0) (-> obj length) arg1) 0 (none) @@ -67,100 +49,75 @@ ;; definition for method 8 of type collide-fragment ;; INFO: Return type mismatch int vs collide-fragment. -(defmethod - mem-usage - collide-fragment - ((obj collide-fragment) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage collide-fragment ((obj collide-fragment) (arg0 memory-usage-block) (arg1 int)) (let ((s5-0 (if (logtest? arg1 1) - 53 - 50 - ) - ) + 53 + 50 + ) + ) (s4-0 (-> obj mesh)) ) - (set! (-> arg0 data s5-0 name) (symbol->string 'collide-fragment)) - (+! (-> arg0 data s5-0 count) 1) - (let ((v1-11 (+ (asize-of obj) (asize-of s4-0)))) - (+! (-> arg0 data s5-0 used) v1-11) - (+! (-> arg0 data s5-0 total) (logand -16 (+ v1-11 15))) + (set! (-> arg0 data s5-0 name) (symbol->string 'collide-fragment)) + (+! (-> arg0 data s5-0 count) 1) + (let ((v1-11 (+ (asize-of obj) (asize-of s4-0)))) + (+! (-> arg0 data s5-0 used) v1-11) + (+! (-> arg0 data s5-0 total) (logand -16 (+ v1-11 15))) + ) + (set! (-> arg0 data (+ s5-0 1) name) "collision-poly") + (+! (-> arg0 data (+ s5-0 1) count) (-> s4-0 poly-count)) + (let ((v1-22 (+ (-> s4-0 strip-data-len) (-> s4-0 poly-count)))) + (+! (-> arg0 data (+ s5-0 1) used) v1-22) + (+! (-> arg0 data (+ s5-0 1) total) v1-22) + ) + (set! (-> arg0 data (+ s5-0 2) name) "collision-vertex") + (+! (-> arg0 data (+ s5-0 2) count) (-> s4-0 vertex-count)) + (let ((v1-31 (* (-> s4-0 vertex-data-qwc) 16))) + (+! (-> arg0 data (+ s5-0 2) used) v1-31) + (let ((v0-2 (+ (-> arg0 data (+ s5-0 2) total) v1-31))) + (set! (-> arg0 data (+ s5-0 2) total) v0-2) + (the-as collide-fragment v0-2) + ) + ) ) - (set! (-> arg0 data (+ s5-0 1) name) "collision-poly") - (+! (-> arg0 data (+ s5-0 1) count) (-> s4-0 poly-count)) - (let ((v1-22 (+ (-> s4-0 strip-data-len) (-> s4-0 poly-count)))) - (+! (-> arg0 data (+ s5-0 1) used) v1-22) - (+! (-> arg0 data (+ s5-0 1) total) v1-22) - ) - (set! (-> arg0 data (+ s5-0 2) name) "collision-vertex") - (+! (-> arg0 data (+ s5-0 2) count) (-> s4-0 vertex-count)) - (let ((v1-31 (* (-> s4-0 vertex-data-qwc) 16))) - (+! (-> arg0 data (+ s5-0 2) used) v1-31) - (let ((v0-2 (+ (-> arg0 data (+ s5-0 2) total) v1-31))) - (set! (-> arg0 data (+ s5-0 2) total) v0-2) - (the-as collide-fragment v0-2) - ) - ) - ) ) ;; definition for method 9 of type drawable-inline-array-collide-fragment -(defmethod - login - drawable-inline-array-collide-fragment - ((obj drawable-inline-array-collide-fragment)) +(defmethod login drawable-inline-array-collide-fragment ((obj drawable-inline-array-collide-fragment)) obj ) ;; definition for method 10 of type collide-fragment ;; INFO: Return type mismatch int vs none. -(defmethod - draw - collide-fragment - ((obj collide-fragment) (arg0 drawable) (arg1 display-frame)) +(defmethod draw collide-fragment ((obj collide-fragment) (arg0 drawable) (arg1 display-frame)) 0 (none) ) ;; definition for method 10 of type drawable-inline-array-collide-fragment ;; INFO: Return type mismatch int vs none. -(defmethod - draw - drawable-inline-array-collide-fragment - ((obj drawable-inline-array-collide-fragment) - (arg0 drawable) - (arg1 display-frame) - ) +(defmethod draw drawable-inline-array-collide-fragment ((obj drawable-inline-array-collide-fragment) (arg0 drawable) (arg1 display-frame)) (dotimes (s4-0 (-> obj length)) - (let ((s3-0 (-> obj data s4-0))) - (if (sphere-cull (-> s3-0 bsphere)) - (draw s3-0 s3-0 arg1) - ) + (let ((s3-0 (-> obj data s4-0))) + (if (sphere-cull (-> s3-0 bsphere)) + (draw s3-0 s3-0 arg1) + ) + ) ) - ) 0 (none) ) ;; definition for method 11 of type drawable-inline-array-collide-fragment ;; INFO: Return type mismatch int vs none. -(defmethod - collide-with-box - drawable-inline-array-collide-fragment - ((obj drawable-inline-array-collide-fragment) (arg0 int) (arg1 collide-list)) - (collide-with-box - (the-as collide-fragment (-> obj data)) - (-> obj length) - arg1 - ) +(defmethod collide-with-box drawable-inline-array-collide-fragment ((obj drawable-inline-array-collide-fragment) (arg0 int) (arg1 collide-list)) + (collide-with-box (the-as collide-fragment (-> obj data)) (-> obj length) arg1) 0 (none) ) ;; definition for method 12 of type drawable-inline-array-collide-fragment ;; INFO: Return type mismatch int vs none. -(defmethod - collide-y-probe - drawable-inline-array-collide-fragment - ((obj drawable-inline-array-collide-fragment) (arg0 int) (arg1 collide-list)) +(defmethod collide-y-probe drawable-inline-array-collide-fragment ((obj drawable-inline-array-collide-fragment) (arg0 int) (arg1 collide-list)) (collide-y-probe (the-as collide-fragment (-> obj data)) (-> obj length) arg1) 0 (none) @@ -168,32 +125,23 @@ ;; definition for method 13 of type drawable-inline-array-collide-fragment ;; INFO: Return type mismatch int vs none. -(defmethod - collide-ray - drawable-inline-array-collide-fragment - ((obj drawable-inline-array-collide-fragment) (arg0 int) (arg1 collide-list)) +(defmethod collide-ray drawable-inline-array-collide-fragment ((obj drawable-inline-array-collide-fragment) (arg0 int) (arg1 collide-list)) (collide-ray (the-as collide-fragment (-> obj data)) (-> obj length) arg1) 0 (none) ) ;; definition for method 8 of type drawable-inline-array-collide-fragment -(defmethod - mem-usage - drawable-inline-array-collide-fragment - ((obj drawable-inline-array-collide-fragment) - (arg0 memory-usage-block) - (arg1 int) - ) +(defmethod mem-usage drawable-inline-array-collide-fragment ((obj drawable-inline-array-collide-fragment) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 1 (-> arg0 length))) (set! (-> arg0 data 0 name) (symbol->string 'drawable-group)) (+! (-> arg0 data 0 count) 1) (let ((v1-7 32)) - (+! (-> arg0 data 0 used) v1-7) - (+! (-> arg0 data 0 total) (logand -16 (+ v1-7 15))) - ) + (+! (-> arg0 data 0 used) v1-7) + (+! (-> arg0 data 0 total) (logand -16 (+ v1-7 15))) + ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj data s3-0) arg0 arg1) - ) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) obj ) diff --git a/test/decompiler/reference/engine/collide/collide-mesh-h_REF.gc b/test/decompiler/reference/engine/collide/collide-mesh-h_REF.gc index 4da2573952..d603ac8430 100644 --- a/test/decompiler/reference/engine/collide/collide-mesh-h_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-mesh-h_REF.gc @@ -135,9 +135,7 @@ ) ;; definition (perm) for symbol *collide-mesh-cache*, type collide-mesh-cache -(define-perm *collide-mesh-cache* collide-mesh-cache - (new 'global 'collide-mesh-cache) - ) +(define-perm *collide-mesh-cache* collide-mesh-cache (new 'global 'collide-mesh-cache)) ;; failed to figure out what this is: (set! (-> *collide-mesh-cache* id) (the-as uint 1)) diff --git a/test/decompiler/reference/engine/collide/collide-shape-h_REF.gc b/test/decompiler/reference/engine/collide/collide-shape-h_REF.gc index 6dcd12f761..198f0f1888 100644 --- a/test/decompiler/reference/engine/collide/collide-shape-h_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-shape-h_REF.gc @@ -27,10 +27,7 @@ ) ;; definition for method 9 of type collide-sticky-rider -(defmethod - set-rider! - collide-sticky-rider - ((obj collide-sticky-rider) (arg0 handle)) +(defmethod set-rider! collide-sticky-rider ((obj collide-sticky-rider) (arg0 handle)) (set! (-> obj rider-handle) arg0) (set! (-> obj sticky-prim) #f) #f @@ -137,11 +134,7 @@ (format #t "~Tbest-dist: ~f~%" (-> obj best-dist)) (format #t "~Tbest-from-prim: ~A~%" (-> obj best-from-prim)) (format #t "~Tbest-to-prim: ~A~%" (-> obj best-to-prim)) - (format - #t - "~Tbest-from-tri: #~%" - (-> obj best-from-tri) - ) + (format #t "~Tbest-from-tri: #~%" (-> obj best-from-tri)) obj ) @@ -173,22 +166,13 @@ ) ;; definition for symbol *collide-hit-by-player-list*, type engine -(define - *collide-hit-by-player-list* - (new 'global 'engine 'collide-hit-by-player-list 768) - ) +(define *collide-hit-by-player-list* (new 'global 'engine 'collide-hit-by-player-list 768)) ;; definition for symbol *collide-usually-hit-by-player-list*, type engine -(define - *collide-usually-hit-by-player-list* - (new 'global 'engine 'collide-usually-hit-by-player-list 256) - ) +(define *collide-usually-hit-by-player-list* (new 'global 'engine 'collide-usually-hit-by-player-list 256)) ;; definition for symbol *collide-hit-by-others-list*, type engine -(define - *collide-hit-by-others-list* - (new 'global 'engine 'collide-hit-by-others-list 96) - ) +(define *collide-hit-by-others-list* (new 'global 'engine 'collide-hit-by-others-list 96)) ;; definition for symbol *collide-player-list*, type engine (define *collide-player-list* (new 'global 'engine 'collide-player-list 32)) @@ -445,11 +429,7 @@ (format #t "~Trot: ~`vector`P~%" (-> obj quat)) (format #t "~Tscale: ~`vector`P~%" (-> obj scale)) (format #t "~Tquat: #~%" (-> obj quat)) - (format - #t - "~Tpause-adjust-distance: (meters ~m)~%" - (-> obj pause-adjust-distance) - ) + (format #t "~Tpause-adjust-distance: (meters ~m)~%" (-> obj pause-adjust-distance)) (format #t "~Tnav-radius: (meters ~m)~%" (-> obj nav-radius)) (format #t "~Ttransv: ~`vector`P~%" (-> obj transv)) (format #t "~Trotv: ~`vector`P~%" (-> obj rotv)) @@ -522,11 +502,7 @@ (format #t "~Trot: ~`vector`P~%" (-> obj quat)) (format #t "~Tscale: ~`vector`P~%" (-> obj scale)) (format #t "~Tquat: #~%" (-> obj quat)) - (format - #t - "~Tpause-adjust-distance: (meters ~m)~%" - (-> obj pause-adjust-distance) - ) + (format #t "~Tpause-adjust-distance: (meters ~m)~%" (-> obj pause-adjust-distance)) (format #t "~Tnav-radius: (meters ~m)~%" (-> obj nav-radius)) (format #t "~Ttransv: ~`vector`P~%" (-> obj transv)) (format #t "~Trotv: ~`vector`P~%" (-> obj rotv)) @@ -574,126 +550,75 @@ ) ;; definition for method 0 of type collide-shape-prim -(defmethod - new - collide-shape-prim - ((allocation symbol) - (type-to-make type) - (cshape collide-shape) - (prim-id uint) - (size-bytes int) - ) +(defmethod new collide-shape-prim ((allocation symbol) (type-to-make type) (cshape collide-shape) (prim-id uint) (size-bytes int)) (let ((v0-0 (object-new allocation type-to-make size-bytes))) - (set! (-> v0-0 cshape) cshape) - (set! (-> v0-0 prim-id) prim-id) - (set! (-> v0-0 prim-core action) (the-as uint 0)) - (set! (-> v0-0 prim-core collide-as) (the-as uint 0)) - (set! (-> v0-0 collide-with) (the-as uint 0)) - (set! (-> v0-0 transform-index) -2) - (set! (-> v0-0 prim-core offense) 0) - (set! (-> v0-0 prim-core prim-type) -2) - v0-0 - ) + (set! (-> v0-0 cshape) cshape) + (set! (-> v0-0 prim-id) prim-id) + (set! (-> v0-0 prim-core action) (the-as uint 0)) + (set! (-> v0-0 prim-core collide-as) (the-as uint 0)) + (set! (-> v0-0 collide-with) (the-as uint 0)) + (set! (-> v0-0 transform-index) -2) + (set! (-> v0-0 prim-core offense) 0) + (set! (-> v0-0 prim-core prim-type) -2) + v0-0 + ) ) ;; definition for method 0 of type collide-shape-prim-sphere ;; INFO: Return type mismatch collide-shape-prim vs collide-shape-prim-sphere. -(defmethod - new - collide-shape-prim-sphere - ((allocation symbol) - (type-to-make type) - (cshape collide-shape) - (prim-id uint) - ) - (let - ((obj - (the-as - collide-shape-prim-sphere - ((method-of-type collide-shape-prim new) - allocation - type-to-make - cshape - prim-id - 76 - ) - ) - ) +(defmethod new collide-shape-prim-sphere ((allocation symbol) (type-to-make type) (cshape collide-shape) (prim-id uint)) + (let ((obj (the-as + collide-shape-prim-sphere + ((method-of-type collide-shape-prim new) allocation type-to-make cshape prim-id 76) + ) + ) + ) + (set! (-> obj pat) (new 'static 'pat-surface :mode (pat-mode obstacle))) + (set! (-> obj prim-core prim-type) -1) + (the-as collide-shape-prim-sphere obj) ) - (set! (-> obj pat) (new 'static 'pat-surface :mode (pat-mode obstacle))) - (set! (-> obj prim-core prim-type) -1) - (the-as collide-shape-prim-sphere obj) - ) ) ;; definition for method 0 of type collide-shape-prim-mesh ;; INFO: Return type mismatch collide-shape-prim vs collide-shape-prim-mesh. -(defmethod - new - collide-shape-prim-mesh - ((allocation symbol) - (type-to-make type) - (cshape collide-shape) - (mesh-id uint) - (prim-id uint) - ) - (let - ((obj - (the-as - collide-shape-prim-mesh - ((method-of-type collide-shape-prim new) - allocation - type-to-make - cshape - prim-id - 92 - ) - ) - ) +(defmethod new collide-shape-prim-mesh ((allocation symbol) (type-to-make type) (cshape collide-shape) (mesh-id uint) (prim-id uint)) + (let ((obj (the-as + collide-shape-prim-mesh + ((method-of-type collide-shape-prim new) allocation type-to-make cshape prim-id 92) + ) + ) + ) + (set! (-> obj mesh) #f) + (set! (-> obj mesh-id) (the-as int mesh-id)) + (set! (-> obj mesh-cache-id) (the-as uint 0)) + (set! (-> obj prim-core prim-type) 1) + (the-as collide-shape-prim-mesh obj) ) - (set! (-> obj mesh) #f) - (set! (-> obj mesh-id) (the-as int mesh-id)) - (set! (-> obj mesh-cache-id) (the-as uint 0)) - (set! (-> obj prim-core prim-type) 1) - (the-as collide-shape-prim-mesh obj) - ) ) ;; definition for method 0 of type collide-shape-prim-group ;; INFO: Return type mismatch collide-shape-prim vs collide-shape-prim-group. -(defmethod - new - collide-shape-prim-group - ((allocation symbol) - (type-to-make type) - (cshape collide-shape) - (elt-count uint) - (prim-id int) - ) - (let - ((obj - (the-as - collide-shape-prim-group - ((method-of-type collide-shape-prim new) - allocation - type-to-make - cshape - (the-as uint prim-id) - (the-as int (+ (-> type-to-make size) (* (+ elt-count -1) 4))) - ) +(defmethod new collide-shape-prim-group ((allocation symbol) (type-to-make type) (cshape collide-shape) (elt-count uint) (prim-id int)) + (let ((obj (the-as collide-shape-prim-group ((method-of-type collide-shape-prim new) + allocation + type-to-make + cshape + (the-as uint prim-id) + (the-as int (+ (-> type-to-make size) (* (+ elt-count -1) 4))) + ) + ) + ) + ) + (set! (-> obj allocated-prims) (the-as int elt-count)) + (set! (-> obj num-prims) 0) + (set! (-> obj prim-core prim-type) 0) + (while (nonzero? elt-count) + (+! elt-count -1) + (set! (-> obj prims elt-count) #f) + (nop!) ) - ) + (the-as collide-shape-prim-group obj) ) - (set! (-> obj allocated-prims) (the-as int elt-count)) - (set! (-> obj num-prims) 0) - (set! (-> obj prim-core prim-type) 0) - (while (nonzero? elt-count) - (+! elt-count -1) - (set! (-> obj prims elt-count) #f) - (nop!) - ) - (the-as collide-shape-prim-group obj) - ) ) ;; definition for method 4 of type collide-shape-prim-group @@ -708,82 +633,54 @@ ) ;; definition for method 0 of type collide-shape -(defmethod - new - collide-shape - ((allocation symbol) - (type-to-make type) - (proc process-drawable) - (collide-list-kind collide-list-enum) - ) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) - ) - (set! (-> obj process) proc) - (set! (-> obj max-iteration-count) (the-as uint 1)) - (set! (-> obj nav-flags) (the-as uint 1)) - (set! (-> obj event-self) #f) - (set! (-> obj event-other) #f) - (set! (-> obj riders) #f) - (set! (-> obj root-prim) #f) - (case (-> proc type symbol) - (('camera) - (set! - (-> obj pat-ignore-mask) - (new 'static 'pat-surface :skip #x2 :nocamera #x1) +(defmethod new collide-shape ((allocation symbol) (type-to-make type) (proc process-drawable) (collide-list-kind collide-list-enum)) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj process) proc) + (set! (-> obj max-iteration-count) (the-as uint 1)) + (set! (-> obj nav-flags) (the-as uint 1)) + (set! (-> obj event-self) #f) + (set! (-> obj event-other) #f) + (set! (-> obj riders) #f) + (set! (-> obj root-prim) #f) + (case (-> proc type symbol) + (('camera) + (set! (-> obj pat-ignore-mask) (new 'static 'pat-surface :skip #x2 :nocamera #x1)) ) + (else + (set! (-> obj pat-ignore-mask) (new 'static 'pat-surface :skip #x1 :noentity #x1)) + ) ) - (else - (set! - (-> obj pat-ignore-mask) - (new 'static 'pat-surface :skip #x1 :noentity #x1) + (set! (-> obj trans w) 1.0) + (quaternion-identity! (-> obj quat)) + (vector-identity! (-> obj scale)) + (cond + ((= collide-list-kind (collide-list-enum hit-by-player)) + (add-connection *collide-hit-by-player-list* proc #f obj #f #f) + ) + ((= collide-list-kind (collide-list-enum usually-hit-by-player)) + (add-connection *collide-usually-hit-by-player-list* proc #f obj #f #f) + ) + ((= collide-list-kind (collide-list-enum hit-by-others)) + (add-connection *collide-hit-by-others-list* proc #f obj #f #f) + ) + ((= collide-list-kind (collide-list-enum player)) + (add-connection *collide-player-list* proc #f obj #f #f) + ) + (else + (format 0 "Unsupported collide-list-enum in collide-shape constructor!~%") + ) ) - ) + obj ) - (set! (-> obj trans w) 1.0) - (quaternion-identity! (-> obj quat)) - (vector-identity! (-> obj scale)) - (cond - ((= collide-list-kind (collide-list-enum hit-by-player)) - (add-connection *collide-hit-by-player-list* proc #f obj #f #f) - ) - ((= collide-list-kind (collide-list-enum usually-hit-by-player)) - (add-connection *collide-usually-hit-by-player-list* proc #f obj #f #f) - ) - ((= collide-list-kind (collide-list-enum hit-by-others)) - (add-connection *collide-hit-by-others-list* proc #f obj #f #f) - ) - ((= collide-list-kind (collide-list-enum player)) - (add-connection *collide-player-list* proc #f obj #f #f) - ) - (else - (format 0 "Unsupported collide-list-enum in collide-shape constructor!~%") - ) - ) - obj - ) ) ;; definition for method 0 of type collide-sticky-rider-group -(defmethod - new - collide-sticky-rider-group - ((allocation symbol) (type-to-make type) (arg0 int)) - (let - ((obj - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* (+ arg0 -1) 32))) - ) - ) +(defmethod new collide-sticky-rider-group ((allocation symbol) (type-to-make type) (arg0 int)) + (let ((obj (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) (* (+ arg0 -1) 32)))))) + (set! (-> obj allocated-riders) arg0) + (set! (-> obj num-riders) 0) + obj ) - (set! (-> obj allocated-riders) arg0) - (set! (-> obj num-riders) 0) - obj - ) ) ;; definition for method 4 of type collide-sticky-rider-group @@ -798,37 +695,33 @@ ) ;; definition for symbol *collide-shape-prim-backgnd*, type collide-shape-prim-mesh -(define - *collide-shape-prim-backgnd* - (new 'static 'collide-shape-prim-mesh - :cshape #f - :prim-core - (new 'static 'collide-prim-core - :world-sphere (new 'static 'vector :w 204800000.0) - :collide-as #x1 - :action #x1 - :offense 4 - :prim-type 2 - ) - :local-sphere (new 'static 'vector :w 204800000.0) - :mesh #f - ) - ) +(define *collide-shape-prim-backgnd* (new 'static 'collide-shape-prim-mesh + :cshape #f + :prim-core + (new 'static 'collide-prim-core + :world-sphere (new 'static 'vector :w 204800000.0) + :collide-as #x1 + :action #x1 + :offense 4 + :prim-type 2 + ) + :local-sphere (new 'static 'vector :w 204800000.0) + :mesh #f + ) + ) ;; definition for symbol *collide-shape-prim-water*, type collide-shape-prim-mesh -(define - *collide-shape-prim-water* - (new 'static 'collide-shape-prim-mesh - :cshape #f - :prim-core - (new 'static 'collide-prim-core - :world-sphere (new 'static 'vector :w 204800000.0) - :collide-as #x20 - :action #x1 - :offense 4 - :prim-type 2 - ) - :local-sphere (new 'static 'vector :w 204800000.0) - :mesh #f - ) - ) +(define *collide-shape-prim-water* (new 'static 'collide-shape-prim-mesh + :cshape #f + :prim-core + (new 'static 'collide-prim-core + :world-sphere (new 'static 'vector :w 204800000.0) + :collide-as #x20 + :action #x1 + :offense 4 + :prim-type 2 + ) + :local-sphere (new 'static 'vector :w 204800000.0) + :mesh #f + ) + ) diff --git a/test/decompiler/reference/engine/collide/collide-target-h_REF.gc b/test/decompiler/reference/engine/collide/collide-target-h_REF.gc index 2e35bd601a..600c1da963 100644 --- a/test/decompiler/reference/engine/collide/collide-target-h_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-target-h_REF.gc @@ -193,15 +193,7 @@ ;; definition for method 9 of type collide-history ;; Used lq/sq -(defmethod - update! - collide-history - ((obj collide-history) - (cshape collide-shape-moving) - (xs vector) - (transv vector) - (transv-out vector) - ) +(defmethod update! collide-history ((obj collide-history) (cshape collide-shape-moving) (xs vector) (transv vector) (transv-out vector)) (set! (-> obj intersect quad) (-> xs quad)) (set! (-> obj transv quad) (-> transv quad)) (set! (-> obj transv-out quad) (-> transv-out quad)) diff --git a/test/decompiler/reference/engine/collide/collide-touch-h_REF.gc b/test/decompiler/reference/engine/collide/collide-touch-h_REF.gc index 9434e78f4f..576a323cac 100644 --- a/test/decompiler/reference/engine/collide/collide-touch-h_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-touch-h_REF.gc @@ -82,40 +82,35 @@ ;; INFO: Return type mismatch symbol vs none. (defmethod init-list! touching-prims-entry-pool ((obj touching-prims-entry-pool)) (let ((prev (the-as touching-prims-entry #f))) - (let ((current (the-as touching-prims-entry (-> obj nodes)))) - (set! (-> obj head) current) - (countdown (a0-1 64) - (set! (-> current prev) prev) - (let ((next (&+ current 240))) - (set! (-> current next) (the-as touching-prims-entry next)) - (set! (-> current allocated?) #f) - (set! prev current) - (set! current (the-as touching-prims-entry next)) + (let ((current (the-as touching-prims-entry (-> obj nodes)))) + (set! (-> obj head) current) + (countdown (a0-1 64) + (set! (-> current prev) prev) + (let ((next (&+ current 240))) + (set! (-> current next) (the-as touching-prims-entry next)) + (set! (-> current allocated?) #f) + (set! prev current) + (set! current (the-as touching-prims-entry next)) + ) + ) ) - ) + (set! (-> prev next) #f) ) - (set! (-> prev next) #f) - ) (none) ) ;; definition for method 0 of type touching-prims-entry-pool ;; INFO: Return type mismatch structure vs touching-prims-entry-pool. -(defmethod - new - touching-prims-entry-pool - ((allocation symbol) (type-to-make type)) +(defmethod new touching-prims-entry-pool ((allocation symbol) (type-to-make type)) (let ((t9-0 (method-of-type structure new)) (v1-1 type-to-make) ) - (-> type-to-make size) - (let ((gp-0 (t9-0 allocation v1-1))) - ((method-of-type touching-prims-entry-pool init-list!) - (the-as touching-prims-entry-pool gp-0) - ) - (the-as touching-prims-entry-pool gp-0) + (-> type-to-make size) + (let ((gp-0 (t9-0 allocation v1-1))) + ((method-of-type touching-prims-entry-pool init-list!) (the-as touching-prims-entry-pool gp-0)) + (the-as touching-prims-entry-pool gp-0) + ) ) - ) ) ;; definition of type touching-shapes-entry @@ -186,13 +181,13 @@ (let ((t9-0 (method-of-type structure new)) (v1-1 type-to-make) ) - (-> type-to-make size) - (let ((obj (the-as touching-list (t9-0 allocation v1-1)))) - (set! (-> obj num-touching-shapes) 0) - (set! (-> obj resolve-u) 0) - obj + (-> type-to-make size) + (let ((obj (the-as touching-list (t9-0 allocation v1-1)))) + (set! (-> obj num-touching-shapes) 0) + (set! (-> obj resolve-u) 0) + obj + ) ) - ) ) ;; definition for method 16 of type touching-shapes-entry @@ -201,17 +196,12 @@ ) ;; definition for method 17 of type touching-shapes-entry -(defmethod - unknown1 - touching-shapes-entry - ((obj touching-shapes-entry) (arg0 (pointer uint32))) +(defmethod unknown1 touching-shapes-entry ((obj touching-shapes-entry) (arg0 (pointer uint32))) (-> arg0 0) ) ;; definition (perm) for symbol *touching-prims-entry-pool*, type touching-prims-entry-pool -(define-perm *touching-prims-entry-pool* touching-prims-entry-pool - (new 'global 'touching-prims-entry-pool) - ) +(define-perm *touching-prims-entry-pool* touching-prims-entry-pool (new 'global 'touching-prims-entry-pool)) ;; definition (perm) for symbol *touching-list*, type touching-list (define-perm *touching-list* touching-list (new 'global 'touching-list)) diff --git a/test/decompiler/reference/engine/collide/collide-touch_REF.gc b/test/decompiler/reference/engine/collide/collide-touch_REF.gc index b583c0fd6b..dcdfe2b6ea 100644 --- a/test/decompiler/reference/engine/collide/collide-touch_REF.gc +++ b/test/decompiler/reference/engine/collide/collide-touch_REF.gc @@ -4,91 +4,88 @@ ;; definition for method 10 of type touching-prims-entry-pool (defmethod get-size touching-prims-entry-pool ((obj touching-prims-entry-pool)) (let ((v0-0 0)) - (let ((v1-0 (-> obj head))) - (while v1-0 - (+! v0-0 1) - (set! v1-0 (-> v1-0 next)) - (nop!) - (nop!) - (nop!) - ) + (let ((v1-0 (-> obj head))) + (while v1-0 + (+! v0-0 1) + (set! v1-0 (-> v1-0 next)) + (nop!) + (nop!) + (nop!) + ) + ) + v0-0 ) - v0-0 - ) ) ;; definition for method 9 of type touching-prims-entry-pool (defmethod alloc-node touching-prims-entry-pool ((obj touching-prims-entry-pool)) (let ((gp-0 (-> obj head))) - (cond - (gp-0 - (let ((v1-0 (-> gp-0 next))) - (set! (-> obj head) v1-0) - (if v1-0 - (set! (-> v1-0 prev) #f) - ) + (cond + (gp-0 + (let ((v1-0 (-> gp-0 next))) + (set! (-> obj head) v1-0) + (if v1-0 + (set! (-> v1-0 prev) #f) + ) + ) + (set! (-> gp-0 allocated?) #t) + (set! (-> gp-0 next) #f) + (set! (-> gp-0 prev) #f) + ) + (else + (format 0 "ERROR: touching-prims-entry-pool::alloc-node() failed!~%") + ) ) - (set! (-> gp-0 allocated?) #t) - (set! (-> gp-0 next) #f) - (set! (-> gp-0 prev) #f) - ) - (else - (format 0 "ERROR: touching-prims-entry-pool::alloc-node() failed!~%") - ) + gp-0 ) - gp-0 - ) ) ;; definition for method 12 of type touching-prims-entry-pool -(defmethod - free-node - touching-prims-entry-pool - ((obj touching-prims-entry-pool) (arg0 touching-prims-entry)) +(defmethod free-node touching-prims-entry-pool ((obj touching-prims-entry-pool) (arg0 touching-prims-entry)) (when (-> arg0 allocated?) - (set! (-> arg0 allocated?) #f) - (let ((v1-1 (-> obj head))) - (set! (-> arg0 next) v1-1) - (set! (-> arg0 prev) #f) - (set! (-> obj head) arg0) - (when v1-1 - (set! (-> v1-1 prev) arg0) - arg0 - ) + (set! (-> arg0 allocated?) #f) + (let ((v1-1 (-> obj head))) + (set! (-> arg0 next) v1-1) + (set! (-> arg0 prev) #f) + (set! (-> obj head) arg0) + (when v1-1 + (set! (-> v1-1 prev) arg0) + arg0 + ) + ) ) - ) ) ;; definition for method 15 of type touching-shapes-entry (defmethod free-entry-list touching-shapes-entry ((obj touching-shapes-entry)) (when (-> obj cshape1) - (set! (-> obj cshape1) #f) - (let ((gp-0 (-> obj head))) - (when gp-0 - (set! (-> obj head) #f) - (let ((s5-0 *touching-prims-entry-pool*)) - (while gp-0 - (let ((a1-0 gp-0)) - (set! gp-0 (-> a1-0 next)) - (free-node s5-0 a1-0) + (set! (-> obj cshape1) #f) + (let ((gp-0 (-> obj head))) + (when gp-0 + (set! (-> obj head) #f) + (let ((s5-0 *touching-prims-entry-pool*)) + (while gp-0 + (let ((a1-0 gp-0)) + (set! gp-0 (-> a1-0 next)) + (free-node s5-0 a1-0) + ) + ) + ) + #f ) - ) ) - #f - ) ) - ) ) ;; definition for method 14 of type touching-list ;; INFO: Return type mismatch int vs none. (defmethod dummy-14 touching-list ((obj touching-list)) (let ((s5-0 (the-as object (-> obj touching-shapes)))) - (countdown (s4-0 (-> obj num-touching-shapes)) - (free-entry-list (the-as touching-shapes-entry s5-0)) - (set! s5-0 (&+ (the-as touching-shapes-entry s5-0) 16)) + (countdown (s4-0 (-> obj num-touching-shapes)) + (free-entry-list (the-as touching-shapes-entry s5-0)) + (set! s5-0 (&+ (the-as touching-shapes-entry s5-0) 16)) + ) ) - ) (set! (-> obj num-touching-shapes) 0) (set! (-> obj resolve-u) 0) 0 @@ -97,59 +94,49 @@ ;; definition for method 13 of type touching-list ;; INFO: Return type mismatch object vs touching-shapes-entry. -(defmethod - get-shapes-entry - touching-list - ((obj touching-list) (arg0 collide-shape) (arg1 collide-shape)) +(defmethod get-shapes-entry touching-list ((obj touching-list) (arg0 collide-shape) (arg1 collide-shape)) (let ((v0-0 (the-as object (-> obj touching-shapes)))) - (let ((v1-0 (the-as object #f))) - (countdown (a3-0 (-> obj num-touching-shapes)) - (let ((t0-0 (-> (the-as touching-shapes-entry v0-0) cshape1))) - (set! v1-0 (cond - (t0-0 - (if - (or - (and - (= t0-0 arg0) - (= (-> (the-as touching-shapes-entry v0-0) cshape2) arg1) - ) - (and - (= t0-0 arg1) - (= (-> (the-as touching-shapes-entry v0-0) cshape2) arg0) - ) - ) - (return (the-as touching-shapes-entry v0-0)) - ) - v1-0 - ) - (else - v0-0 - ) - ) - ) + (let ((v1-0 (the-as object #f))) + (countdown (a3-0 (-> obj num-touching-shapes)) + (let ((t0-0 (-> (the-as touching-shapes-entry v0-0) cshape1))) + (set! v1-0 (cond + (t0-0 + (if (or + (and (= t0-0 arg0) (= (-> (the-as touching-shapes-entry v0-0) cshape2) arg1)) + (and (= t0-0 arg1) (= (-> (the-as touching-shapes-entry v0-0) cshape2) arg0)) + ) + (return (the-as touching-shapes-entry v0-0)) + ) + v1-0 + ) + (else + v0-0 + ) + ) + ) + ) + (set! v0-0 (&+ (the-as touching-shapes-entry v0-0) 16)) + ) + (cond + (v1-0 + (set! v0-0 v1-0) + ) + (else + (when (>= (-> obj num-touching-shapes) 32) + (format 0 "ERROR: touching-list::get-shapes-entry() failed!~%") + (return (the-as touching-shapes-entry #f)) + ) + (+! (-> obj num-touching-shapes) 1) + ) + ) ) - (set! v0-0 (&+ (the-as touching-shapes-entry v0-0) 16)) - ) - (cond - (v1-0 - (set! v0-0 v1-0) - ) - (else - (when (>= (-> obj num-touching-shapes) 32) - (format 0 "ERROR: touching-list::get-shapes-entry() failed!~%") - (return (the-as touching-shapes-entry #f)) - ) - (+! (-> obj num-touching-shapes) 1) - ) - ) + (set! (-> (the-as touching-shapes-entry v0-0) cshape1) arg0) + (set! (-> (the-as touching-shapes-entry v0-0) cshape2) arg1) + (set! (-> (the-as touching-shapes-entry v0-0) head) #f) + (set! (-> (the-as touching-shapes-entry v0-0) resolve-u) 1) + (set! (-> obj resolve-u) 1) + (the-as touching-shapes-entry v0-0) ) - (set! (-> (the-as touching-shapes-entry v0-0) cshape1) arg0) - (set! (-> (the-as touching-shapes-entry v0-0) cshape2) arg1) - (set! (-> (the-as touching-shapes-entry v0-0) head) #f) - (set! (-> (the-as touching-shapes-entry v0-0) resolve-u) 1) - (set! (-> obj resolve-u) 1) - (the-as touching-shapes-entry v0-0) - ) ) ;; definition of type add-prims-touching-work @@ -173,112 +160,109 @@ ;; definition for method 9 of type touching-list ;; INFO: Return type mismatch int vs none. ;; WARN: Expression building failed: Function (method 9 touching-list) has a return type of none, but the expression builder found a return statement. -(defmethod - dummy-9 - touching-list - ((obj touching-list) - (arg0 collide-shape-prim) - (arg1 collide-shape-prim) - (arg2 float) - (arg3 collide-shape) - (arg4 collide-mesh-cache-tri) - ) +(defmethod dummy-9 touching-list ((obj touching-list) + (arg0 collide-shape-prim) + (arg1 collide-shape-prim) + (arg2 float) + (arg3 collide-shape) + (arg4 collide-mesh-cache-tri) + ) (let ((gp-0 (new 'stack-no-clear 'touching-shapes-entry))) - (set! (-> gp-0 cshape1) arg3) - (set! (-> gp-0 cshape2) (the-as collide-shape arg4)) - (let ((s2-0 (get-shapes-entry obj (-> arg0 cshape) (-> arg1 cshape)))) - (when s2-0 - (when (= (-> s2-0 cshape1) (-> arg1 cshape)) - (let ((v1-4 arg0)) - (set! arg0 arg1) - (set! arg1 v1-4) - ) + (set! (-> gp-0 cshape1) arg3) + (set! (-> gp-0 cshape2) (the-as collide-shape arg4)) + (let ((s2-0 (get-shapes-entry obj (-> arg0 cshape) (-> arg1 cshape)))) + (when s2-0 + (when (= (-> s2-0 cshape1) (-> arg1 cshape)) + (let ((v1-4 arg0)) + (set! arg0 arg1) + (set! arg1 v1-4) + ) + ) + (let ((s0-0 (-> s2-0 head))) + (while s0-0 + (when (and (= (-> s0-0 prim1 cprim) arg0) (= (-> s0-0 prim2 cprim) arg1)) + (when (< arg2 (-> s0-0 u)) + (-> s0-0 u) + (let ((v1-12 (-> s0-0 prim1)) + (a1-2 (-> gp-0 cshape1)) + ) + (cond + (a1-2 + (set! (-> v1-12 has-tri?) #t) + (mem-copy! (the-as pointer (-> v1-12 tri)) (the-as pointer a1-2) 84) + ) + (else + (set! (-> v1-12 has-tri?) #f) + ) + ) + ) + (let ((v1-15 (-> s0-0 prim2)) + (a1-3 (-> gp-0 cshape2)) + ) + (cond + (a1-3 + (set! (-> v1-15 has-tri?) #t) + (mem-copy! (the-as pointer (-> v1-15 tri)) (the-as pointer a1-3) 84) + ) + (else + (set! (-> v1-15 has-tri?) #f) + ) + ) + ) + ) + (return 0) + ) + (set! s0-0 (-> s0-0 next)) + ) + ) + (let ((s0-1 (alloc-node *touching-prims-entry-pool*))) + (when s0-1 + (let ((v1-22 (-> s2-0 head))) + (set! (-> s0-1 next) v1-22) + (set! (-> s0-1 prev) #f) + (set! (-> s2-0 head) s0-1) + (if v1-22 + (set! (-> v1-22 prev) s0-1) + ) + ) + (set! (-> s0-1 u) arg2) + (when (>= arg2 0.0) + (set! (-> s2-0 resolve-u) 1) + (set! (-> obj resolve-u) 1) + ) + (let ((v1-26 (-> s0-1 prim1)) + (a1-4 (-> gp-0 cshape1)) + ) + (set! (-> v1-26 cprim) arg0) + (cond + (a1-4 + (set! (-> v1-26 has-tri?) #t) + (mem-copy! (the-as pointer (-> v1-26 tri)) (the-as pointer a1-4) 84) + ) + (else + (set! (-> v1-26 has-tri?) #f) + ) + ) + ) + (let ((v1-29 (-> s0-1 prim2)) + (a1-5 (-> gp-0 cshape2)) + ) + (set! (-> v1-29 cprim) arg1) + (cond + (a1-5 + (set! (-> v1-29 has-tri?) #t) + (mem-copy! (the-as pointer (-> v1-29 tri)) (the-as pointer a1-5) 84) + ) + (else + (set! (-> v1-29 has-tri?) #f) + ) + ) + ) + ) + ) + ) ) - (let ((s0-0 (-> s2-0 head))) - (while s0-0 - (when (and (= (-> s0-0 prim1 cprim) arg0) (= (-> s0-0 prim2 cprim) arg1)) - (when (< arg2 (-> s0-0 u)) - (-> s0-0 u) - (let ((v1-12 (-> s0-0 prim1)) - (a1-2 (-> gp-0 cshape1)) - ) - (cond - (a1-2 - (set! (-> v1-12 has-tri?) #t) - (mem-copy! (the-as pointer (-> v1-12 tri)) (the-as pointer a1-2) 84) - ) - (else - (set! (-> v1-12 has-tri?) #f) - ) - ) - ) - (let ((v1-15 (-> s0-0 prim2)) - (a1-3 (-> gp-0 cshape2)) - ) - (cond - (a1-3 - (set! (-> v1-15 has-tri?) #t) - (mem-copy! (the-as pointer (-> v1-15 tri)) (the-as pointer a1-3) 84) - ) - (else - (set! (-> v1-15 has-tri?) #f) - ) - ) - ) - ) - (return 0) - ) - (set! s0-0 (-> s0-0 next)) - ) - ) - (let ((s0-1 (alloc-node *touching-prims-entry-pool*))) - (when s0-1 - (let ((v1-22 (-> s2-0 head))) - (set! (-> s0-1 next) v1-22) - (set! (-> s0-1 prev) #f) - (set! (-> s2-0 head) s0-1) - (if v1-22 - (set! (-> v1-22 prev) s0-1) - ) - ) - (set! (-> s0-1 u) arg2) - (when (>= arg2 0.0) - (set! (-> s2-0 resolve-u) 1) - (set! (-> obj resolve-u) 1) - ) - (let ((v1-26 (-> s0-1 prim1)) - (a1-4 (-> gp-0 cshape1)) - ) - (set! (-> v1-26 cprim) arg0) - (cond - (a1-4 - (set! (-> v1-26 has-tri?) #t) - (mem-copy! (the-as pointer (-> v1-26 tri)) (the-as pointer a1-4) 84) - ) - (else - (set! (-> v1-26 has-tri?) #f) - ) - ) - ) - (let ((v1-29 (-> s0-1 prim2)) - (a1-5 (-> gp-0 cshape2)) - ) - (set! (-> v1-29 cprim) arg1) - (cond - (a1-5 - (set! (-> v1-29 has-tri?) #t) - (mem-copy! (the-as pointer (-> v1-29 tri)) (the-as pointer a1-5) 84) - ) - (else - (set! (-> v1-29 has-tri?) #f) - ) - ) - ) - ) - ) - ) ) - ) 0 (none) ) @@ -287,62 +271,59 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-11 touching-list ((obj touching-list) (arg0 float)) (when (nonzero? (-> obj resolve-u)) - (set! (-> obj resolve-u) 0) - (let ((s5-0 (the-as object (-> obj touching-shapes)))) - (countdown (s4-0 (-> obj num-touching-shapes)) - (when (nonzero? (-> (the-as touching-shapes-entry s5-0) resolve-u)) - (set! (-> (the-as touching-shapes-entry s5-0) resolve-u) 0) - (when (-> (the-as touching-shapes-entry s5-0) cshape1) - (let ((s3-0 (-> (the-as touching-shapes-entry s5-0) head))) - (while s3-0 - (let ((f0-0 (-> s3-0 u))) - (set! s3-0 (cond - ((>= f0-0 0.0) - (cond - ((>= arg0 f0-0) - (set! (-> s3-0 u) -1.0) - (set! s3-0 (-> s3-0 next)) - ) - (else - (let ((a1-1 s3-0)) - (let ((v1-7 (-> s3-0 next))) - (let ((a0-1 (-> s3-0 prev))) - (if a0-1 - (set! (-> a0-1 next) v1-7) - (set! - (-> (the-as touching-shapes-entry s5-0) head) - v1-7 - ) - ) - (if v1-7 - (set! (-> v1-7 prev) a0-1) - ) - ) - (set! s3-0 v1-7) - ) - (free-node *touching-prims-entry-pool* a1-1) - ) - ) + (set! (-> obj resolve-u) 0) + (let ((s5-0 (the-as object (-> obj touching-shapes)))) + (countdown (s4-0 (-> obj num-touching-shapes)) + (when (nonzero? (-> (the-as touching-shapes-entry s5-0) resolve-u)) + (set! (-> (the-as touching-shapes-entry s5-0) resolve-u) 0) + (when (-> (the-as touching-shapes-entry s5-0) cshape1) + (let ((s3-0 (-> (the-as touching-shapes-entry s5-0) head))) + (while s3-0 + (let ((f0-0 (-> s3-0 u))) + (set! s3-0 (cond + ((>= f0-0 0.0) + (cond + ((>= arg0 f0-0) + (set! (-> s3-0 u) -1.0) + (set! s3-0 (-> s3-0 next)) + ) + (else + (let ((a1-1 s3-0)) + (let ((v1-7 (-> s3-0 next))) + (let ((a0-1 (-> s3-0 prev))) + (if a0-1 + (set! (-> a0-1 next) v1-7) + (set! (-> (the-as touching-shapes-entry s5-0) head) v1-7) + ) + (if v1-7 + (set! (-> v1-7 prev) a0-1) + ) + ) + (set! s3-0 v1-7) + ) + (free-node *touching-prims-entry-pool* a1-1) + ) + ) + ) + s3-0 + ) + (else + (-> s3-0 next) + ) + ) ) - s3-0 - ) - (else - (-> s3-0 next) - ) - ) - ) + ) + ) + ) + (if (not (-> (the-as touching-shapes-entry s5-0) head)) + (set! (-> (the-as touching-shapes-entry s5-0) cshape1) #f) + ) + ) ) - ) + (set! s5-0 (&+ (the-as touching-shapes-entry s5-0) 16)) ) - (if (not (-> (the-as touching-shapes-entry s5-0) head)) - (set! (-> (the-as touching-shapes-entry s5-0) cshape1) #f) - ) - ) ) - (set! s5-0 (&+ (the-as touching-shapes-entry s5-0) 16)) - ) ) - ) 0 (none) ) @@ -351,241 +332,198 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-12 touching-list ((obj touching-list)) (let ((gp-0 (the-as object (-> obj touching-shapes)))) - (countdown (s5-0 (-> obj num-touching-shapes)) - (let ((s4-0 (-> (the-as touching-shapes-entry gp-0) cshape1))) - (when s4-0 - (let ((s3-0 (-> (the-as touching-shapes-entry gp-0) cshape2))) - (when (= (-> s3-0 process type) target) - (let ((v1-2 s4-0)) - (set! s4-0 s3-0) - (set! s3-0 v1-2) - ) - ) - (let ((v1-4 (-> s4-0 event-self))) - (when v1-4 - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) (-> s3-0 process)) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) (the-as symbol v1-4)) - (set! (-> a1-0 param 0) (the-as uint gp-0)) - (send-event-function (-> s4-0 process) a1-0) + (countdown (s5-0 (-> obj num-touching-shapes)) + (let ((s4-0 (-> (the-as touching-shapes-entry gp-0) cshape1))) + (when s4-0 + (let ((s3-0 (-> (the-as touching-shapes-entry gp-0) cshape2))) + (when (= (-> s3-0 process type) target) + (let ((v1-2 s4-0)) + (set! s4-0 s3-0) + (set! s3-0 v1-2) + ) + ) + (let ((v1-4 (-> s4-0 event-self))) + (when v1-4 + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) (-> s3-0 process)) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) (the-as symbol v1-4)) + (set! (-> a1-0 param 0) (the-as uint gp-0)) + (send-event-function (-> s4-0 process) a1-0) + ) + ) + ) + (let ((v1-5 (-> s4-0 event-other))) + (when v1-5 + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) (-> s4-0 process)) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) (the-as symbol v1-5)) + (set! (-> a1-1 param 0) (the-as uint gp-0)) + (send-event-function (-> s3-0 process) a1-1) + ) + ) + ) + (let ((v1-6 (-> s3-0 event-self))) + (when v1-6 + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) (-> s4-0 process)) + (set! (-> a1-2 num-params) 1) + (set! (-> a1-2 message) (the-as symbol v1-6)) + (set! (-> a1-2 param 0) (the-as uint gp-0)) + (send-event-function (-> s3-0 process) a1-2) + ) + ) + ) + (let ((v1-7 (-> s3-0 event-other))) + (when v1-7 + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) (-> s3-0 process)) + (set! (-> a1-3 num-params) 1) + (set! (-> a1-3 message) (the-as symbol v1-7)) + (set! (-> a1-3 param 0) (the-as uint gp-0)) + (send-event-function (-> s4-0 process) a1-3) + ) + ) + ) + ) ) - ) ) - (let ((v1-5 (-> s4-0 event-other))) - (when v1-5 - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) (-> s4-0 process)) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) (the-as symbol v1-5)) - (set! (-> a1-1 param 0) (the-as uint gp-0)) - (send-event-function (-> s3-0 process) a1-1) - ) - ) - ) - (let ((v1-6 (-> s3-0 event-self))) - (when v1-6 - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) (-> s4-0 process)) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) (the-as symbol v1-6)) - (set! (-> a1-2 param 0) (the-as uint gp-0)) - (send-event-function (-> s3-0 process) a1-2) - ) - ) - ) - (let ((v1-7 (-> s3-0 event-other))) - (when v1-7 - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) (-> s3-0 process)) - (set! (-> a1-3 num-params) 1) - (set! (-> a1-3 message) (the-as symbol v1-7)) - (set! (-> a1-3 param 0) (the-as uint gp-0)) - (send-event-function (-> s4-0 process) a1-3) - ) - ) - ) - ) + (set! gp-0 (&+ (the-as touching-shapes-entry gp-0) 16)) ) - ) - (set! gp-0 (&+ (the-as touching-shapes-entry gp-0) 16)) ) - ) 0 (none) ) ;; definition for method 12 of type touching-shapes-entry -(defmethod - prims-touching? - touching-shapes-entry - ((obj touching-shapes-entry) (arg0 collide-shape-moving) (arg1 uint)) +(defmethod prims-touching? touching-shapes-entry ((obj touching-shapes-entry) (arg0 collide-shape-moving) (arg1 uint)) (cond - ((= (-> obj cshape1) arg0) - (let ((v1-1 (-> obj head))) - (while v1-1 - (if (logtest? (-> v1-1 prim1 cprim prim-id) arg1) - (return v1-1) + ((= (-> obj cshape1) arg0) + (let ((v1-1 (-> obj head))) + (while v1-1 + (if (logtest? (-> v1-1 prim1 cprim prim-id) arg1) + (return v1-1) + ) + (set! v1-1 (-> v1-1 next)) + ) ) - (set! v1-1 (-> v1-1 next)) - ) ) - ) - ((= (-> obj cshape2) arg0) - (let ((v1-4 (-> obj head))) - (while v1-4 - (if (logtest? (-> v1-4 prim2 cprim prim-id) arg1) - (return v1-4) + ((= (-> obj cshape2) arg0) + (let ((v1-4 (-> obj head))) + (while v1-4 + (if (logtest? (-> v1-4 prim2 cprim prim-id) arg1) + (return v1-4) + ) + (set! v1-4 (-> v1-4 next)) + ) ) - (set! v1-4 (-> v1-4 next)) + ) + (else + (format 0 "ERROR: touching-shapes-entry::prims-touching? : Bogus cshape value!~%") ) - ) ) - (else - (format - 0 - "ERROR: touching-shapes-entry::prims-touching? : Bogus cshape value!~%" - ) - ) - ) (the-as touching-prims-entry #f) ) ;; definition for method 13 of type touching-shapes-entry -(defmethod - prims-touching-action? - touching-shapes-entry - ((obj touching-shapes-entry) (arg0 collide-shape) (arg1 uint) (arg2 uint)) +(defmethod prims-touching-action? touching-shapes-entry ((obj touching-shapes-entry) (arg0 collide-shape) (arg1 uint) (arg2 uint)) (cond - ((= (-> obj cshape1) arg0) - (let ((v1-1 (-> obj head))) - (while v1-1 - (let ((a0-1 (-> v1-1 prim1 cprim))) - (if - (and - (logtest? arg1 (-> a0-1 prim-core action)) - (zero? (logand arg2 (-> a0-1 prim-core action))) + ((= (-> obj cshape1) arg0) + (let ((v1-1 (-> obj head))) + (while v1-1 + (let ((a0-1 (-> v1-1 prim1 cprim))) + (if (and (logtest? arg1 (-> a0-1 prim-core action)) (zero? (logand arg2 (-> a0-1 prim-core action)))) + (return v1-1) + ) + ) + (set! v1-1 (-> v1-1 next)) ) - (return v1-1) - ) ) - (set! v1-1 (-> v1-1 next)) - ) ) - ) - ((= (-> obj cshape2) arg0) - (let ((v1-4 (-> obj head))) - (while v1-4 - (let ((a0-5 (-> v1-4 prim2 cprim))) - (if - (and - (logtest? arg1 (-> a0-5 prim-core action)) - (zero? (logand arg2 (-> a0-5 prim-core action))) + ((= (-> obj cshape2) arg0) + (let ((v1-4 (-> obj head))) + (while v1-4 + (let ((a0-5 (-> v1-4 prim2 cprim))) + (if (and (logtest? arg1 (-> a0-5 prim-core action)) (zero? (logand arg2 (-> a0-5 prim-core action)))) + (return v1-4) + ) + ) + (set! v1-4 (-> v1-4 next)) ) - (return v1-4) - ) ) - (set! v1-4 (-> v1-4 next)) + ) + (else + (format 0 "ERROR: touching-shapes-entry::prims-touching-action? : Bogus cshape value!~%") ) - ) ) - (else - (format - 0 - "ERROR: touching-shapes-entry::prims-touching-action? : Bogus cshape value!~%" - ) - ) - ) (the-as touching-prims-entry #f) ) ;; definition for method 10 of type touching-shapes-entry -(defmethod - get-touched-shape - touching-shapes-entry - ((obj touching-shapes-entry) (arg0 collide-shape)) +(defmethod get-touched-shape touching-shapes-entry ((obj touching-shapes-entry) (arg0 collide-shape)) (cond - ((= (-> obj cshape1) arg0) - (return (-> obj cshape2)) + ((= (-> obj cshape1) arg0) + (return (-> obj cshape2)) + ) + ((= (-> obj cshape2) arg0) + (return (-> obj cshape1)) + ) ) - ((= (-> obj cshape2) arg0) - (return (-> obj cshape1)) - ) - ) (the-as collide-shape #f) ) ;; definition for method 9 of type touching-prims-entry -(defmethod - get-touched-prim - touching-prims-entry - ((obj touching-prims-entry) (arg0 trsqv) (arg1 touching-prims-entry)) +(defmethod get-touched-prim touching-prims-entry ((obj touching-prims-entry) (arg0 trsqv) (arg1 touching-prims-entry)) (cond - ((= (-> arg1 next) arg0) - (return (-> obj prim1 cprim)) + ((= (-> arg1 next) arg0) + (return (-> obj prim1 cprim)) + ) + ((= (-> arg1 prev) arg0) + (return (-> obj prim2 cprim)) + ) ) - ((= (-> arg1 prev) arg0) - (return (-> obj prim2 cprim)) - ) - ) (the-as collide-shape-prim #f) ) ;; definition for method 12 of type touching-prims-entry -(defmethod - get-touched-tri - touching-prims-entry - ((obj touching-prims-entry) - (arg0 touching-prims-entry) - (arg1 touching-prims-entry) - ) +(defmethod get-touched-tri touching-prims-entry ((obj touching-prims-entry) (arg0 touching-prims-entry) (arg1 touching-prims-entry)) (let ((v0-0 (the-as collide-tri-result #f))) - (cond - ((= (-> arg1 next) arg0) - (let ((v1-2 (-> obj prim1))) - (if (-> v1-2 has-tri?) - (set! v0-0 (-> v1-2 tri)) + (cond + ((= (-> arg1 next) arg0) + (let ((v1-2 (-> obj prim1))) + (if (-> v1-2 has-tri?) + (set! v0-0 (-> v1-2 tri)) + ) + ) + ) + ((= (-> arg1 prev) arg0) + (let ((v1-5 (-> obj prim2))) + (if (-> v1-5 has-tri?) + (set! v0-0 (-> v1-5 tri)) + ) + ) ) ) - ) - ((= (-> arg1 prev) arg0) - (let ((v1-5 (-> obj prim2))) - (if (-> v1-5 has-tri?) - (set! v0-0 (-> v1-5 tri)) - ) - ) - ) + v0-0 ) - v0-0 - ) ) ;; definition for method 11 of type touching-prims-entry -(defmethod - dummy-11 - touching-prims-entry - ((obj touching-prims-entry) (arg0 vector)) +(defmethod dummy-11 touching-prims-entry ((obj touching-prims-entry) (arg0 vector)) (let* ((s4-0 (-> obj prim1 cprim)) (s3-0 (-> obj prim2 cprim)) - (gp-1 - (vector-! - (new 'stack-no-clear 'vector) - (the-as vector (-> s3-0 prim-core)) - (the-as vector (-> s4-0 prim-core)) - ) - ) + (gp-1 (vector-! + (new 'stack-no-clear 'vector) + (the-as vector (-> s3-0 prim-core)) + (the-as vector (-> s4-0 prim-core)) + ) + ) ) - (let - ((f1-2 - (- - (- (vector-length gp-1) (-> s3-0 prim-core world-sphere w)) - (-> s4-0 prim-core world-sphere w) - ) + (let ((f1-2 (- (- (vector-length gp-1) (-> s3-0 prim-core world-sphere w)) (-> s4-0 prim-core world-sphere w)))) + (vector-normalize! gp-1 (+ (-> s4-0 prim-core world-sphere w) (* 0.5 f1-2))) ) - ) - (vector-normalize! gp-1 (+ (-> s4-0 prim-core world-sphere w) (* 0.5 f1-2))) + (vector+! arg0 gp-1 (the-as vector (-> s4-0 prim-core))) ) - (vector+! arg0 gp-1 (the-as vector (-> s4-0 prim-core))) - ) arg0 ) diff --git a/test/decompiler/reference/engine/collide/collide_REF.gc b/test/decompiler/reference/engine/collide/collide_REF.gc index 73409214c3..ac3b598ec4 100644 --- a/test/decompiler/reference/engine/collide/collide_REF.gc +++ b/test/decompiler/reference/engine/collide/collide_REF.gc @@ -2,29 +2,22 @@ (in-package goal) ;; definition for symbol *collide-vif0-init*, type (array uint32) -(define - *collide-vif0-init* - (the-as (array uint32) - (new - 'static - 'boxed-array - :type uint32 :length 12 :allocated-length 12 - #x30000000 - #x4d000000 - #x4d000000 - #x4d000000 - #x3f800000 - #x5000001 - #x20000000 - #x40404040 - #x1000404 - #x0 - #x0 - #x0 - ) - ) - ) - - - - +(define *collide-vif0-init* (the-as (array uint32) (new + 'static + 'boxed-array + :type uint32 :length 12 :allocated-length 12 + #x30000000 + #x4d000000 + #x4d000000 + #x4d000000 + #x3f800000 + #x5000001 + #x20000000 + #x40404040 + #x1000404 + #x0 + #x0 + #x0 + ) + ) + ) diff --git a/test/decompiler/reference/engine/collide/main-collide_REF.gc b/test/decompiler/reference/engine/collide/main-collide_REF.gc index 18f4e1e3bc..784779e987 100644 --- a/test/decompiler/reference/engine/collide/main-collide_REF.gc +++ b/test/decompiler/reference/engine/collide/main-collide_REF.gc @@ -6,85 +6,83 @@ ;; Used lq/sq (defun drawable-sphere-box-intersect? ((arg0 drawable) (arg1 bounding-box4w)) (local-vars - (r0-0 int) - (r0-1 int) - (r0-2 uint128) - (r0-3 int) - (v1-1 uint128) - (v1-2 uint128) - (v1-3 uint128) - (a0-1 uint128) - (a1-2 uint128) - (a2-0 uint128) - (f31-0 none) - ) + (r0-0 int) + (r0-1 int) + (r0-2 uint128) + (r0-3 int) + (v1-1 uint128) + (v1-2 uint128) + (v1-3 uint128) + (a0-1 uint128) + (a1-2 uint128) + (a2-0 uint128) + (f31-0 none) + ) (rlet ((vf1 :class vf) (vf2 :class vf) (vf3 :class vf) (vf4 :class vf) ) - (nop!) - (nop!) - (.lvf vf1 (&-> arg0 bsphere quad)) - (.add.w.vf vf2 vf1 vf1 :mask #b111) - (let ((v1-0 (-> arg1 min quad))) - (.sub.w.vf vf1 vf1 vf1 :mask #b111) - (let ((a1-1 (-> arg1 max quad))) - (.ftoi.vf vf4 vf2) - (nop!) - (.ftoi.vf vf3 vf1) - (nop!) - (.mov a0-1 vf4) - (nop!) - (.mov a2-0 vf3) - (nop!) - (.pcgtw a1-2 a2-0 a1-1) - ) - (.mov r0-0 f31-0) - (.pcgtw v1-1 v1-0 a0-1) - ) - (.mov r0-1 f31-0) - (.por v1-2 a1-2 v1-1) - (.mov r0-2 f31-0) - (.ppach v1-3 r0-2 v1-2) - (.mov r0-3 f31-0) - (let ((v1-4 (shl (the-as int v1-3) 16))) (nop!) - (zero? v1-4) + (nop!) + (.lvf vf1 (&-> arg0 bsphere quad)) + (.add.w.vf vf2 vf1 vf1 :mask #b111) + (let ((v1-0 (-> arg1 min quad))) + (.sub.w.vf vf1 vf1 vf1 :mask #b111) + (let ((a1-1 (-> arg1 max quad))) + (.ftoi.vf vf4 vf2) + (nop!) + (.ftoi.vf vf3 vf1) + (nop!) + (.mov a0-1 vf4) + (nop!) + (.mov a2-0 vf3) + (nop!) + (.pcgtw a1-2 a2-0 a1-1) + ) + (.mov r0-0 f31-0) + (.pcgtw v1-1 v1-0 a0-1) + ) + (.mov r0-1 f31-0) + (.por v1-2 a1-2 v1-1) + (.mov r0-2 f31-0) + (.ppach v1-3 r0-2 v1-2) + (.mov r0-3 f31-0) + (let ((v1-4 (shl (the-as int v1-3) 16))) + (nop!) + (zero? v1-4) + ) ) - ) ) ;; definition for function instance-sphere-box-intersect? ;; WARN: Function may read a register that is not set: f31 ;; Used lq/sq -(defun - instance-sphere-box-intersect? - ((arg0 drawable) (arg1 instance-tie) (arg2 bounding-box4w)) +(defun instance-sphere-box-intersect? ((arg0 drawable) (arg1 instance-tie) (arg2 bounding-box4w)) (local-vars - (r0-0 uint128) - (r0-1 int) - (r0-2 uint128) - (r0-3 int) - (r0-4 int) - (r0-5 uint128) - (r0-6 int) - (v1-3 uint128) - (v1-4 uint128) - (v1-5 uint128) - (a0-2 uint128) - (a1-2 uint128) - (a2-1 uint128) - (a3-1 uint128) - (a3-3 uint128) - (a3-4 uint128) - (t0-1 uint128) - (t0-2 uint128) - (t1-0 uint128) - (t2-1 uint128) - (t2-2 uint128) - (f31-0 none) - ) + (r0-0 uint128) + (r0-1 int) + (r0-2 uint128) + (r0-3 int) + (r0-4 int) + (r0-5 uint128) + (r0-6 int) + (v1-3 uint128) + (v1-4 uint128) + (v1-5 uint128) + (a0-2 uint128) + (a1-2 uint128) + (a2-1 uint128) + (a3-1 uint128) + (a3-3 uint128) + (a3-4 uint128) + (t0-1 uint128) + (t0-2 uint128) + (t1-0 uint128) + (t2-1 uint128) + (t2-2 uint128) + (f31-0 none) + ) (rlet ((acc :class vf) (vf0 :class vf) (vf1 :class vf) @@ -98,89 +96,89 @@ (vf8 :class vf) (vf9 :class vf) ) - (init-vf0-vector) - (nop!) - (let ((v1-0 (-> arg1 max-scale))) + (init-vf0-vector) (nop!) - (let ((a3-0 (the-as uint128 (-> arg1 origin vector4h 3 long)))) - (nop!) - (let ((t2-0 (the-as uint128 (-> arg1 origin vector4h 0 long)))) - (.pextlh a3-1 a3-0 r0-0) - (let ((t0-0 (the-as uint128 (-> arg1 origin vector4h 1 long)))) - (.pw.sra t1-0 a3-1 10) - (let ((a3-2 (the-as uint128 (-> arg1 origin vector4h 2 long)))) - (.pextlh t2-1 t2-0 r0-0) - (.mov r0-1 f31-0) - (.pw.sra t2-2 t2-1 16) - (.mov r0-2 f31-0) - (.pextlh t0-1 t0-0 r0-2) - (.mov vf8 t1-0) - (.pw.sra t0-2 t0-1 16) - (.mov vf5 t2-2) - (.pextlh a3-3 a3-2 r0-2) + (let ((v1-0 (-> arg1 max-scale))) + (nop!) + (let ((a3-0 (the-as uint128 (-> arg1 origin vector4h 3 long)))) + (nop!) + (let ((t2-0 (the-as uint128 (-> arg1 origin vector4h 0 long)))) + (.pextlh a3-1 a3-0 r0-0) + (let ((t0-0 (the-as uint128 (-> arg1 origin vector4h 1 long)))) + (.pw.sra t1-0 a3-1 10) + (let ((a3-2 (the-as uint128 (-> arg1 origin vector4h 2 long)))) + (.pextlh t2-1 t2-0 r0-0) + (.mov r0-1 f31-0) + (.pw.sra t2-2 t2-1 16) + (.mov r0-2 f31-0) + (.pextlh t0-1 t0-0 r0-2) + (.mov vf8 t1-0) + (.pw.sra t0-2 t0-1 16) + (.mov vf5 t2-2) + (.pextlh a3-3 a3-2 r0-2) + ) + ) + ) ) - ) + (.mov vf6 t0-2) + (.pw.sra a3-4 a3-3 16) + (.lvf vf9 (&-> arg1 bsphere quad)) + (nop!) + (.mov vf7 a3-4) + (nop!) + (.mov vf10 v1-0) ) - ) - (.mov vf6 t0-2) - (.pw.sra a3-4 a3-3 16) - (.lvf vf9 (&-> arg1 bsphere quad)) + (.itof.vf vf8 vf8) (nop!) - (.mov vf7 a3-4) + (vitof12.xyzw vf5 vf5) (nop!) - (.mov vf10 v1-0) - ) - (.itof.vf vf8 vf8) - (nop!) - (vitof12.xyzw vf5 vf5) - (nop!) - (vitof12.xyzw vf6 vf6) - (nop!) - (vitof12.xyzw vf7 vf7) - (nop!) - (.add.vf vf8 vf8 vf9 :mask #b111) - (nop!) - (nop!) - (.lvf vf9 (&-> arg0 bsphere quad)) - (vitof12.xyzw vf10 vf10) - (nop!) - (.mul.w.vf vf10 vf10 vf9 :mask #b1) - (nop!) - (.mul.x.vf acc vf5 vf9) - (nop!) - (.add.mul.y.vf acc vf6 vf9 acc) - (let ((v1-2 (-> arg2 min quad))) - (.add.mul.z.vf acc vf7 vf9 acc) - (let ((a1-1 (-> arg2 max quad))) - (.add.mul.w.vf vf1 vf8 vf0 acc) - (nop!) - (.add.x.vf vf2 vf1 vf10 :mask #b111) - (nop!) - (.sub.x.vf vf1 vf1 vf10 :mask #b111) - (nop!) - (.ftoi.vf vf4 vf2) - (nop!) - (.ftoi.vf vf3 vf1) - (nop!) - (.mov a0-2 vf4) - (nop!) - (.mov a2-1 vf3) - (nop!) - (.pcgtw a1-2 a2-1 a1-1) - ) - (.mov r0-3 f31-0) - (.pcgtw v1-3 v1-2 a0-2) - ) - (.mov r0-4 f31-0) - (.por v1-4 a1-2 v1-3) - (.mov r0-5 f31-0) - (.ppach v1-5 r0-5 v1-4) - (.mov r0-6 f31-0) - (let ((v1-6 (shl (the-as int v1-5) 16))) + (vitof12.xyzw vf6 vf6) (nop!) - (zero? v1-6) + (vitof12.xyzw vf7 vf7) + (nop!) + (.add.vf vf8 vf8 vf9 :mask #b111) + (nop!) + (nop!) + (.lvf vf9 (&-> arg0 bsphere quad)) + (vitof12.xyzw vf10 vf10) + (nop!) + (.mul.w.vf vf10 vf10 vf9 :mask #b1) + (nop!) + (.mul.x.vf acc vf5 vf9) + (nop!) + (.add.mul.y.vf acc vf6 vf9 acc) + (let ((v1-2 (-> arg2 min quad))) + (.add.mul.z.vf acc vf7 vf9 acc) + (let ((a1-1 (-> arg2 max quad))) + (.add.mul.w.vf vf1 vf8 vf0 acc) + (nop!) + (.add.x.vf vf2 vf1 vf10 :mask #b111) + (nop!) + (.sub.x.vf vf1 vf1 vf10 :mask #b111) + (nop!) + (.ftoi.vf vf4 vf2) + (nop!) + (.ftoi.vf vf3 vf1) + (nop!) + (.mov a0-2 vf4) + (nop!) + (.mov a2-1 vf3) + (nop!) + (.pcgtw a1-2 a2-1 a1-1) + ) + (.mov r0-3 f31-0) + (.pcgtw v1-3 v1-2 a0-2) + ) + (.mov r0-4 f31-0) + (.por v1-4 a1-2 v1-3) + (.mov r0-5 f31-0) + (.ppach v1-5 r0-5 v1-4) + (.mov r0-6 f31-0) + (let ((v1-6 (shl (the-as int v1-5) 16))) + (nop!) + (zero? v1-6) + ) ) - ) ) ;; definition for function instance-tfragment-add-debug-sphere @@ -193,39 +191,29 @@ (vf12 :class vf) (vf9 :class vf) ) - (init-vf0-vector) - (nop!) - (let ((v1-0 (the-as uint128 (-> arg1 origin vector4h 3 long)))) - (.pextlh v1-1 v1-0 r0-0) + (init-vf0-vector) + (nop!) + (let ((v1-0 (the-as uint128 (-> arg1 origin vector4h 3 long)))) + (.pextlh v1-1 v1-0 r0-0) + ) + (.lvf vf9 (&-> arg0 bsphere quad)) + (.pw.sra v1-2 v1-1 10) + (.lvf vf10 (&-> arg1 bsphere quad)) + (nop!) + (.mov vf12 v1-2) + (.itof.vf vf12 vf12) + (nop!) + (.add.vf vf10 vf10 vf12 :mask #b111) + (nop!) + (.add.vf vf9 vf9 vf10 :mask #b111) + (nop!) + (.add.w.vf vf11 vf0 vf9 :mask #b1) + (nop!) + (.mov a3-0 vf11) + (nop!) + (let ((a2-0 (new-stack-vector0))) + (.svf (&-> a2-0 quad) vf9) + (add-debug-sphere #t (bucket-id debug-draw0) a2-0 a3-0 (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)) + ) ) - (.lvf vf9 (&-> arg0 bsphere quad)) - (.pw.sra v1-2 v1-1 10) - (.lvf vf10 (&-> arg1 bsphere quad)) - (nop!) - (.mov vf12 v1-2) - (.itof.vf vf12 vf12) - (nop!) - (.add.vf vf10 vf10 vf12 :mask #b111) - (nop!) - (.add.vf vf9 vf9 vf10 :mask #b111) - (nop!) - (.add.w.vf vf11 vf0 vf9 :mask #b1) - (nop!) - (.mov a3-0 vf11) - (nop!) - (let ((a2-0 (new-stack-vector0))) - (.svf (&-> a2-0 quad) vf9) - (add-debug-sphere - #t - (bucket-id debug-draw0) - a2-0 - a3-0 - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) - ) - ) - ) ) - - - - diff --git a/test/decompiler/reference/engine/data/art-h_REF.gc b/test/decompiler/reference/engine/data/art-h_REF.gc index 89fcb6d09f..54059c6ac6 100644 --- a/test/decompiler/reference/engine/data/art-h_REF.gc +++ b/test/decompiler/reference/engine/data/art-h_REF.gc @@ -99,20 +99,13 @@ ;; definition for method 0 of type joint-anim-frame ;; INFO: Return type mismatch structure vs joint-anim-frame. -(defmethod - new - joint-anim-frame - ((allocation symbol) (type-to-make type) (arg0 int)) +(defmethod new joint-anim-frame ((allocation symbol) (type-to-make type) (arg0 int)) (let ((v1-1 (max 0 (+ arg0 -2)))) - (the-as - joint-anim-frame - (new-dynamic-structure - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* 48 v1-1))) - ) + (the-as + joint-anim-frame + (new-dynamic-structure allocation type-to-make (the-as int (+ (-> type-to-make size) (* 48 v1-1)))) + ) ) - ) ) ;; definition of type joint-anim-compressed-hdr @@ -151,10 +144,7 @@ ) ;; definition for method 3 of type joint-anim-compressed-fixed -(defmethod - inspect - joint-anim-compressed-fixed - ((obj joint-anim-compressed-fixed)) +(defmethod inspect joint-anim-compressed-fixed ((obj joint-anim-compressed-fixed)) (format #t "[~8x] ~A~%" obj 'joint-anim-compressed-fixed) (format #t "~Thdr: #~%" (-> obj hdr)) (format #t "~Toffset-64: ~D~%" (-> obj offset-64)) @@ -179,10 +169,7 @@ ) ;; definition for method 3 of type joint-anim-compressed-frame -(defmethod - inspect - joint-anim-compressed-frame - ((obj joint-anim-compressed-frame)) +(defmethod inspect joint-anim-compressed-frame ((obj joint-anim-compressed-frame)) (format #t "[~8x] ~A~%" obj 'joint-anim-compressed-frame) (format #t "~Toffset-64: ~D~%" (-> obj offset-64)) (format #t "~Toffset-32: ~D~%" (-> obj offset-32)) @@ -206,10 +193,7 @@ ) ;; definition for method 3 of type joint-anim-compressed-control -(defmethod - inspect - joint-anim-compressed-control - ((obj joint-anim-compressed-control)) +(defmethod inspect joint-anim-compressed-control ((obj joint-anim-compressed-control)) (format #t "[~8x] ~A~%" obj 'joint-anim-compressed-control) (format #t "~Tnum-frames: ~D~%" (-> obj num-frames)) (format #t "~Tfixed-qwc: ~D~%" (-> obj fixed-qwc)) @@ -496,11 +480,7 @@ (format #t "~Tcolor-mult: #~%" (-> obj color-mult)) (format #t "~Tcolor-emissive: #~%" (-> obj color-emissive)) (format #t "~Tsecondary-interp: ~f~%" (-> obj secondary-interp)) - (format - #t - "~Tcurrent-secondary-interp: ~f~%" - (-> obj current-secondary-interp) - ) + (format #t "~Tcurrent-secondary-interp: ~f~%" (-> obj current-secondary-interp)) (format #t "~Tshadow-mask: ~D~%" (-> obj shadow-mask)) (format #t "~Tlevel-index: ~D~%" (-> obj level-index)) (format #t "~Torigin-joint-index: ~D~%" (-> obj origin-joint-index)) diff --git a/test/decompiler/reference/engine/data/res_REF.gc b/test/decompiler/reference/engine/data/res_REF.gc index d0e7002c41..e58ce3dfc1 100644 --- a/test/decompiler/reference/engine/data/res_REF.gc +++ b/test/decompiler/reference/engine/data/res_REF.gc @@ -4,23 +4,23 @@ ;; definition for method 2 of type res-tag (defmethod print res-tag ((obj res-tag)) (if (zero? (-> obj inlined?)) - (format - #t - "#" - (-> obj name) - (-> obj key-frame) - (-> obj elt-type) - (-> obj elt-count) - ) - (format - #t - "#" - (-> obj name) - (-> obj key-frame) - (-> obj elt-type) - (-> obj elt-count) - ) - ) + (format + #t + "#" + (-> obj name) + (-> obj key-frame) + (-> obj elt-type) + (-> obj elt-count) + ) + (format + #t + "#" + (-> obj name) + (-> obj key-frame) + (-> obj elt-type) + (-> obj elt-count) + ) + ) obj ) @@ -28,10 +28,10 @@ ;; INFO: Return type mismatch uint vs int. (defmethod length res-tag ((obj res-tag)) (the-as int (if (zero? (-> obj inlined?)) - (* (-> obj elt-count) 4) - (* (-> obj elt-count) (-> obj elt-type size)) - ) - ) + (* (-> obj elt-count) 4) + (* (-> obj elt-count) (-> obj elt-type size)) + ) + ) ) ;; definition for method 13 of type res-lump @@ -46,26 +46,21 @@ ) ;; definition for method 0 of type res-lump -(defmethod - new - res-lump - ((allocation symbol) (type-to-make type) (data-count int) (data-size int)) - (let - ((obj - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* (+ data-count -1) 16) data-size)) - ) - ) +(defmethod new res-lump ((allocation symbol) (type-to-make type) (data-count int) (data-size int)) + (let ((obj (object-new + allocation + type-to-make + (the-as int (+ (-> type-to-make size) (* (+ data-count -1) 16) data-size)) + ) + ) + ) + (set! (-> obj allocated-length) data-count) + (set! (-> obj data-size) data-size) + (set! (-> obj length) 0) + (set! (-> obj data-base) (&-> (-> obj tag) data-count)) + (set! (-> obj data-top) (&-> (-> obj tag) data-count)) + obj ) - (set! (-> obj allocated-length) data-count) - (set! (-> obj data-size) data-size) - (set! (-> obj length) 0) - (set! (-> obj data-base) (&-> (-> obj tag) data-count)) - (set! (-> obj data-top) (&-> (-> obj tag) data-count)) - obj - ) ) ;; definition for method 4 of type res-lump @@ -76,10 +71,7 @@ ;; definition for method 5 of type res-lump ;; INFO: Return type mismatch uint vs int. (defmethod asize-of res-lump ((obj res-lump)) - (the-as - int - (+ (-> obj type psize) (* (-> obj allocated-length) 16) (-> obj data-size)) - ) + (the-as int (+ (-> obj type psize) (* (-> obj allocated-length) 16) (-> obj data-size))) ) ;; definition for method 3 of type res-lump @@ -95,672 +87,536 @@ (format #t "~Tdata-size: #x~X~%" (-> obj data-size)) (format #t "~Ttag[~D]: @ #x~X~%" (-> obj allocated-length) (-> obj tag)) (dotimes (i (-> obj length)) - (format #t "~T [~D] " i) - (print (-> obj tag i)) - (let ((t9-10 format) - (a0-12 #t) - (a1-9 " @ #x~X") - (a3-2 obj) - (a2-9 i) - ) - (t9-10 a0-12 a1-9 (&+ (-> a3-2 data-base) (-> a3-2 tag a2-9 data-offset))) - ) - (cond - ((zero? (-> obj tag i inlined?)) - (let ((t9-11 format) - (a0-14 #t) - (a1-10 " = ~A~%") - (a3-4 obj) - (a2-17 i) - ) - (t9-11 - a0-14 - a1-10 - (-> - (the-as - (pointer uint32) - (&+ (-> a3-4 data-base) (-> a3-4 tag a2-17 data-offset)) - ) - ) - ) + (format #t "~T [~D] " i) + (print (-> obj tag i)) + (let ((t9-10 format) + (a0-12 #t) + (a1-9 " @ #x~X") + (a3-2 obj) + (a2-9 i) + ) + (t9-10 a0-12 a1-9 (&+ (-> a3-2 data-base) (-> a3-2 tag a2-9 data-offset))) + ) + (cond + ((zero? (-> obj tag i inlined?)) + (let ((t9-11 format) + (a0-14 #t) + (a1-10 " = ~A~%") + (a3-4 obj) + (a2-17 i) + ) + (t9-11 a0-14 a1-10 (-> (the-as (pointer uint32) (&+ (-> a3-4 data-base) (-> a3-4 tag a2-17 data-offset))))) + ) + ) + (else + (format #t "~%") + ) ) - ) - (else - (format #t "~%") - ) ) - ) obj ) ;; definition for method 19 of type res-lump ;; INFO: Return type mismatch int vs res-tag-pair. ;; Used lq/sq -(defmethod - lookup-tag-idx - res-lump - ((obj res-lump) (name-sym symbol) (mode symbol) (time float)) +(defmethod lookup-tag-idx res-lump ((obj res-lump) (name-sym symbol) (mode symbol) (time float)) (local-vars (tag-idx int)) - (when - (or - (= name-sym 'id) - (= name-sym 'aid) - (= name-sym 'trans) - (= name-sym 'rot) - (= name-sym 'nav-mesh) - (= name-sym 'process-type) - (= name-sym 'task) + (when (or + (= name-sym 'id) + (= name-sym 'aid) + (= name-sym 'trans) + (= name-sym 'rot) + (= name-sym 'nav-mesh) + (= name-sym 'process-type) + (= name-sym 'task) + ) + (crash!) + 0 ) - (crash!) - 0 - ) (if (or (not obj) (zero? obj) (<= (-> obj length) 0)) - (return (new 'static 'res-tag-pair :lo #xffffffff :hi #xffffffff)) - ) + (return (new 'static 'res-tag-pair :lo #xffffffff :hi #xffffffff)) + ) (let ((hi-tag-idx-out -1) (lo-tag-idx-out -1) ) - (let ((most-recent-invalid-time-idx -1) - (type-chars - (-> (the-as (pointer uint64) (-> (symbol->string name-sym) data)) 0) + (let ((most-recent-invalid-time-idx -1) + (type-chars (-> (the-as (pointer uint64) (-> (symbol->string name-sym) data)) 0)) ) - ) - (let ((max-search (+ (-> obj length) -1)) - (min-search 0) - ) - (while (>= max-search min-search) - (let* ((check-idx (+ min-search (/ (- max-search min-search) 2))) - (diff - (- - type-chars - (-> - (the-as - (pointer uint64) - (-> (symbol->string (-> obj tag check-idx name)) data) + (let ((max-search (+ (-> obj length) -1)) + (min-search 0) + ) + (while (>= max-search min-search) + (let* ((check-idx (+ min-search (/ (- max-search min-search) 2))) + (diff (- type-chars (-> (the-as (pointer uint64) (-> (symbol->string (-> obj tag check-idx name)) data)) 0))) ) - 0 - ) + (cond + ((zero? diff) + (set! tag-idx check-idx) + (goto cfg-32) ) + ((< (the-as int diff) 0) + (set! max-search (+ check-idx -1)) + ) + (else + (set! min-search (+ check-idx 1)) + ) ) + ) + ) + ) + (set! tag-idx -1) + (label cfg-32) + (if (< tag-idx 0) + (return (the-as res-tag-pair tag-idx)) + ) + (while (and + (> tag-idx 0) + (= type-chars (-> (the-as (pointer uint64) (-> (symbol->string (-> obj tag (+ tag-idx -1) name)) data)) 0)) + ) + (+! tag-idx -1) + ) + (when (= mode 'base) + (set! lo-tag-idx-out tag-idx) + (set! hi-tag-idx-out tag-idx) + (goto cfg-73) + ) + (let ((interp-tag-idx tag-idx) + (tag-ptr (&-> (-> obj tag) tag-idx)) + ) + (while (not (or + (>= interp-tag-idx (-> obj length)) + (< type-chars (-> (the-as (pointer uint64) (-> (symbol->string (-> tag-ptr 0 name)) data)) 0)) + ) + ) + (cond + ((!= name-sym (-> tag-ptr 0 name)) ) - (cond - ((zero? diff) - (set! tag-idx check-idx) - (goto cfg-32) - ) - ((< (the-as int diff) 0) - (set! max-search (+ check-idx -1)) - ) - (else - (set! min-search (+ check-idx 1)) - ) - ) - ) - ) - ) - (set! tag-idx -1) - (label cfg-32) - (if (< tag-idx 0) - (return (the-as res-tag-pair tag-idx)) - ) - (while - (and - (> tag-idx 0) - (= - type-chars - (-> - (the-as - (pointer uint64) - (-> (symbol->string (-> obj tag (+ tag-idx -1) name)) data) - ) - 0 - ) - ) - ) - (+! tag-idx -1) - ) - (when (= mode 'base) - (set! lo-tag-idx-out tag-idx) - (set! hi-tag-idx-out tag-idx) - (goto cfg-73) - ) - (let ((interp-tag-idx tag-idx) - (tag-ptr (&-> (-> obj tag) tag-idx)) + ((= (-> tag-ptr 0 key-frame) time) + (set! lo-tag-idx-out interp-tag-idx) + (set! hi-tag-idx-out interp-tag-idx) + (goto cfg-73) + ) + ((and (>= time (-> tag-ptr 0 key-frame)) (!= mode 'exact)) + (set! lo-tag-idx-out interp-tag-idx) + (set! hi-tag-idx-out interp-tag-idx) + (if (= (-> tag-ptr 0 key-frame) -1000000000.0) + (set! most-recent-invalid-time-idx interp-tag-idx) + ) + ) + ((< time (-> tag-ptr 0 key-frame)) + (if (and (!= lo-tag-idx-out most-recent-invalid-time-idx) (= mode 'interp)) + (set! hi-tag-idx-out interp-tag-idx) + ) + (goto cfg-73) + ) + ) + (+! interp-tag-idx 1) + (set! tag-ptr (&-> tag-ptr 1)) ) - (while - (not - (or - (>= interp-tag-idx (-> obj length)) - (< - type-chars - (-> - (the-as - (pointer uint64) - (-> (symbol->string (-> tag-ptr 0 name)) data) - ) - 0 - ) - ) ) - ) - (cond - ((!= name-sym (-> tag-ptr 0 name)) - ) - ((= (-> tag-ptr 0 key-frame) time) - (set! lo-tag-idx-out interp-tag-idx) - (set! hi-tag-idx-out interp-tag-idx) - (goto cfg-73) - ) - ((and (>= time (-> tag-ptr 0 key-frame)) (!= mode 'exact)) - (set! lo-tag-idx-out interp-tag-idx) - (set! hi-tag-idx-out interp-tag-idx) - (if (= (-> tag-ptr 0 key-frame) -1000000000.0) - (set! most-recent-invalid-time-idx interp-tag-idx) - ) - ) - ((< time (-> tag-ptr 0 key-frame)) - (if - (and (!= lo-tag-idx-out most-recent-invalid-time-idx) (= mode 'interp)) - (set! hi-tag-idx-out interp-tag-idx) - ) - (goto cfg-73) - ) - ) - (+! interp-tag-idx 1) - (set! tag-ptr (&-> tag-ptr 1)) ) - ) + (label cfg-73) + (the-as res-tag-pair (logior (logand (the-as uint #xffffffff) lo-tag-idx-out) (shl hi-tag-idx-out 32))) ) - (label cfg-73) - (the-as - res-tag-pair - (logior - (logand (the-as uint #xffffffff) lo-tag-idx-out) - (shl hi-tag-idx-out 32) - ) - ) - ) ) ;; definition for method 20 of type res-lump ;; Used lq/sq -(defmethod - make-property-data - res-lump - ((obj res-lump) (time float) (result res-tag-pair) (buf pointer)) +(defmethod make-property-data res-lump ((obj res-lump) (time float) (result res-tag-pair) (buf pointer)) (rlet ((vf1 :class vf) (vf2 :class vf) (vf3 :class vf) (vf4 :class vf) ) - (let* ((tag-lo (-> obj tag (-> result lo))) - (tag-hi (-> obj tag (-> result hi))) - (elt-count (-> tag-lo elt-count)) - ) - (cond - ((zero? (-> tag-lo inlined?)) - (&+ (-> obj data-base) (-> tag-lo data-offset)) - ) - ((or - (not buf) - (= (-> result lo) (-> result hi)) - (!= elt-count (-> tag-hi elt-count)) - (!= (-> tag-lo elt-type) (-> tag-hi elt-type)) - ) - (let ((a0-4 tag-lo)) - (&+ (-> obj data-base) (-> a0-4 data-offset)) - ) - ) - (else - (let* - ((interp - (/ - (- time (-> tag-lo key-frame)) - (- (-> tag-hi key-frame) (-> tag-lo key-frame)) - ) + (let* ((tag-lo (-> obj tag (-> result lo))) + (tag-hi (-> obj tag (-> result hi))) + (elt-count (-> tag-lo elt-count)) + ) + (cond + ((zero? (-> tag-lo inlined?)) + (&+ (-> obj data-base) (-> tag-lo data-offset)) ) - (a1-4 obj) - (a2-7 tag-lo) - (src-lo (&+ (-> a1-4 data-base) (-> a2-7 data-offset))) - (src-hi (&+ (-> obj data-base) (-> tag-hi data-offset))) - ) - (case (-> tag-lo elt-type symbol) - (('float) - (dotimes (a0-8 (the-as int elt-count)) - (set! - (-> (the-as (pointer float) (&+ buf (* a0-8 4)))) - (+ - (* - (-> (the-as (pointer float) (&+ src-lo (* a0-8 4)))) - (- 1.0 interp) - ) - (* (-> (the-as (pointer float) (&+ src-hi (* a0-8 4)))) interp) - ) - ) + ((or + (not buf) + (= (-> result lo) (-> result hi)) + (!= elt-count (-> tag-hi elt-count)) + (!= (-> tag-lo elt-type) (-> tag-hi elt-type)) ) - buf - ) - (('integer 'sinteger 'uinteger 'int64 'uint64) - (let ((a0-9 (the int (* 4096.0 interp)))) - (dotimes (t0-9 (the-as int elt-count)) - (set! - (-> (the-as (pointer int64) (&+ buf (* t0-9 8)))) - (sar - (+ - (* - (the-as - int - (-> (the-as (pointer uint64) (&+ src-lo (* t0-9 8)))) - ) - (- 4096 a0-9) - ) - (* - (the-as - int - (-> (the-as (pointer uint64) (&+ src-hi (* t0-9 8)))) - ) - a0-9 - ) - ) - 12 - ) - ) + (let ((a0-4 tag-lo)) + (&+ (-> obj data-base) (-> a0-4 data-offset)) ) - ) - buf - ) - (('int8) - (let ((a0-10 (the int (* 4096.0 interp)))) - (dotimes (t0-10 (the-as int elt-count)) - (set! - (-> (the-as (pointer int8) (&+ buf t0-10))) - (sar - (+ - (* (-> (the-as (pointer int8) (&+ src-lo t0-10))) (- 4096 a0-10)) - (* (-> (the-as (pointer int8) (&+ src-hi t0-10))) a0-10) - ) - 12 - ) - ) - ) - ) - buf - ) - (('uint8) - (let ((a0-11 (the int (* 4096.0 interp)))) - (dotimes (t0-11 (the-as int elt-count)) - (set! - (-> (the-as (pointer uint8) (&+ buf t0-11))) - (shr - (+ - (* - (-> (the-as (pointer uint8) (&+ src-lo t0-11))) - (the-as uint (- 4096 a0-11)) - ) - (* - (-> (the-as (pointer uint8) (&+ src-hi t0-11))) - (the-as uint a0-11) - ) - ) - 12 - ) - ) - ) - ) - buf - ) - (('int16) - (let ((a0-12 (the int (* 4096.0 interp)))) - (dotimes (t0-12 (the-as int elt-count)) - (set! - (-> (the-as (pointer int16) (&+ buf (* t0-12 2)))) - (sar - (+ - (* - (-> (the-as (pointer int16) (&+ src-lo (* t0-12 2)))) - (- 4096 a0-12) - ) - (* (-> (the-as (pointer int16) (&+ src-hi (* t0-12 2)))) a0-12) - ) - 12 - ) - ) - ) - ) - buf - ) - (('uint16) - (let ((a0-13 (the int (* 4096.0 interp)))) - (dotimes (t0-13 (the-as int elt-count)) - (set! - (-> (the-as (pointer uint16) (&+ buf (* t0-13 2)))) - (shr - (+ - (* - (-> (the-as (pointer uint16) (&+ src-lo (* t0-13 2)))) - (the-as uint (- 4096 a0-13)) - ) - (* - (-> (the-as (pointer uint16) (&+ src-hi (* t0-13 2)))) - (the-as uint a0-13) - ) - ) - 12 - ) - ) - ) - ) - buf - ) - (('int32) - (let ((a0-14 (the int (* 4096.0 interp)))) - (dotimes (t0-14 (the-as int elt-count)) - (set! - (-> (the-as (pointer int32) (&+ buf (* t0-14 4)))) - (sar - (+ - (* - (-> (the-as (pointer int32) (&+ src-lo (* t0-14 4)))) - (- 4096 a0-14) - ) - (* (-> (the-as (pointer int32) (&+ src-hi (* t0-14 4)))) a0-14) - ) - 12 - ) - ) - ) - ) - buf - ) - (('uint32) - (let ((a0-15 (the int (* 4096.0 interp)))) - (dotimes (t0-15 (the-as int elt-count)) - (set! - (-> (the-as (pointer uint32) (&+ buf (* t0-15 4)))) - (shr - (+ - (* - (-> (the-as (pointer uint32) (&+ src-lo (* t0-15 4)))) - (the-as uint (- 4096 a0-15)) - ) - (* - (-> (the-as (pointer uint32) (&+ src-hi (* t0-15 4)))) - (the-as uint a0-15) - ) - ) - 12 - ) - ) - ) - ) - buf - ) - (('vector) - (let ((a0-16 interp)) - (.mov vf3 a0-16) - ) - (let ((a0-17 (- 1.0 interp))) - (.mov vf4 a0-17) - ) - (dotimes (a0-18 (the-as int elt-count)) - (let ((t0-17 (+ (* a0-18 16) (the-as int src-lo)))) - (.lvf vf1 (&-> (the-as (pointer int128) t0-17))) - ) - (let ((t0-19 (+ (* a0-18 16) (the-as int src-hi)))) - (.lvf vf2 (&-> (the-as (pointer int128) t0-19))) - ) - (.mul.x.vf vf1 vf1 vf4) - (.mul.x.vf vf2 vf2 vf3) - (.add.vf vf1 vf1 vf2) - (.svf (&-> (-> (the-as (inline-array vector) buf) a0-18) quad) vf1) - ) - buf ) (else - (let ((a0-19 tag-lo)) - (&+ (-> obj data-base) (-> a0-19 data-offset)) + (let* ((interp (/ (- time (-> tag-lo key-frame)) (- (-> tag-hi key-frame) (-> tag-lo key-frame)))) + (a1-4 obj) + (a2-7 tag-lo) + (src-lo (&+ (-> a1-4 data-base) (-> a2-7 data-offset))) + (src-hi (&+ (-> obj data-base) (-> tag-hi data-offset))) + ) + (case (-> tag-lo elt-type symbol) + (('float) + (dotimes (a0-8 (the-as int elt-count)) + (set! (-> (the-as (pointer float) (&+ buf (* a0-8 4)))) + (+ (* (-> (the-as (pointer float) (&+ src-lo (* a0-8 4)))) (- 1.0 interp)) + (* (-> (the-as (pointer float) (&+ src-hi (* a0-8 4)))) interp) + ) + ) + ) + buf + ) + (('integer 'sinteger 'uinteger 'int64 'uint64) + (let ((a0-9 (the int (* 4096.0 interp)))) + (dotimes (t0-9 (the-as int elt-count)) + (set! (-> (the-as (pointer int64) (&+ buf (* t0-9 8)))) + (sar + (+ (* (the-as int (-> (the-as (pointer uint64) (&+ src-lo (* t0-9 8))))) (- 4096 a0-9)) + (* (the-as int (-> (the-as (pointer uint64) (&+ src-hi (* t0-9 8))))) a0-9) + ) + 12 + ) + ) + ) + ) + buf + ) + (('int8) + (let ((a0-10 (the int (* 4096.0 interp)))) + (dotimes (t0-10 (the-as int elt-count)) + (set! (-> (the-as (pointer int8) (&+ buf t0-10))) + (sar + (+ (* (-> (the-as (pointer int8) (&+ src-lo t0-10))) (- 4096 a0-10)) + (* (-> (the-as (pointer int8) (&+ src-hi t0-10))) a0-10) + ) + 12 + ) + ) + ) + ) + buf + ) + (('uint8) + (let ((a0-11 (the int (* 4096.0 interp)))) + (dotimes (t0-11 (the-as int elt-count)) + (set! (-> (the-as (pointer uint8) (&+ buf t0-11))) + (shr + (+ (* (-> (the-as (pointer uint8) (&+ src-lo t0-11))) (the-as uint (- 4096 a0-11))) + (* (-> (the-as (pointer uint8) (&+ src-hi t0-11))) (the-as uint a0-11)) + ) + 12 + ) + ) + ) + ) + buf + ) + (('int16) + (let ((a0-12 (the int (* 4096.0 interp)))) + (dotimes (t0-12 (the-as int elt-count)) + (set! (-> (the-as (pointer int16) (&+ buf (* t0-12 2)))) + (sar + (+ (* (-> (the-as (pointer int16) (&+ src-lo (* t0-12 2)))) (- 4096 a0-12)) + (* (-> (the-as (pointer int16) (&+ src-hi (* t0-12 2)))) a0-12) + ) + 12 + ) + ) + ) + ) + buf + ) + (('uint16) + (let ((a0-13 (the int (* 4096.0 interp)))) + (dotimes (t0-13 (the-as int elt-count)) + (set! (-> (the-as (pointer uint16) (&+ buf (* t0-13 2)))) + (shr + (+ (* (-> (the-as (pointer uint16) (&+ src-lo (* t0-13 2)))) (the-as uint (- 4096 a0-13))) + (* (-> (the-as (pointer uint16) (&+ src-hi (* t0-13 2)))) (the-as uint a0-13)) + ) + 12 + ) + ) + ) + ) + buf + ) + (('int32) + (let ((a0-14 (the int (* 4096.0 interp)))) + (dotimes (t0-14 (the-as int elt-count)) + (set! (-> (the-as (pointer int32) (&+ buf (* t0-14 4)))) + (sar + (+ (* (-> (the-as (pointer int32) (&+ src-lo (* t0-14 4)))) (- 4096 a0-14)) + (* (-> (the-as (pointer int32) (&+ src-hi (* t0-14 4)))) a0-14) + ) + 12 + ) + ) + ) + ) + buf + ) + (('uint32) + (let ((a0-15 (the int (* 4096.0 interp)))) + (dotimes (t0-15 (the-as int elt-count)) + (set! (-> (the-as (pointer uint32) (&+ buf (* t0-15 4)))) + (shr + (+ (* (-> (the-as (pointer uint32) (&+ src-lo (* t0-15 4)))) (the-as uint (- 4096 a0-15))) + (* (-> (the-as (pointer uint32) (&+ src-hi (* t0-15 4)))) (the-as uint a0-15)) + ) + 12 + ) + ) + ) + ) + buf + ) + (('vector) + (let ((a0-16 interp)) + (.mov vf3 a0-16) + ) + (let ((a0-17 (- 1.0 interp))) + (.mov vf4 a0-17) + ) + (dotimes (a0-18 (the-as int elt-count)) + (let ((t0-17 (+ (* a0-18 16) (the-as int src-lo)))) + (.lvf vf1 (&-> (the-as (pointer int128) t0-17))) + ) + (let ((t0-19 (+ (* a0-18 16) (the-as int src-hi)))) + (.lvf vf2 (&-> (the-as (pointer int128) t0-19))) + ) + (.mul.x.vf vf1 vf1 vf4) + (.mul.x.vf vf2 vf2 vf3) + (.add.vf vf1 vf1 vf2) + (.svf (&-> (-> (the-as (inline-array vector) buf) a0-18) quad) vf1) + ) + buf + ) + (else + (let ((a0-19 tag-lo)) + (&+ (-> obj data-base) (-> a0-19 data-offset)) + ) + ) + ) + ) ) - ) ) - ) ) - ) ) - ) ) ;; definition for method 9 of type res-lump ;; Used lq/sq -(defmethod - get-property-data - res-lump - ((obj res-lump) - (name symbol) - (mode symbol) - (time float) - (default pointer) - (tag-addr (pointer res-tag)) - (buf-addr pointer) - ) +(defmethod get-property-data res-lump ((obj res-lump) + (name symbol) + (mode symbol) + (time float) + (default pointer) + (tag-addr (pointer res-tag)) + (buf-addr pointer) + ) (let ((tag-pair (lookup-tag-idx obj name mode time))) - (cond - ((< (the-as int tag-pair) 0) - (empty) - ) - (else - (set! default (make-property-data obj time tag-pair buf-addr)) - (if tag-addr - (set! (-> tag-addr 0) (-> obj tag (-> tag-pair lo))) + (cond + ((< (the-as int tag-pair) 0) + (empty) + ) + (else + (set! default (make-property-data obj time tag-pair buf-addr)) + (if tag-addr + (set! (-> tag-addr 0) (-> obj tag (-> tag-pair lo))) + ) + ) ) - ) ) - ) default ) ;; definition for method 10 of type res-lump ;; INFO: Return type mismatch object vs structure. ;; Used lq/sq -(defmethod - get-property-struct - res-lump - ((obj res-lump) - (name symbol) - (mode symbol) - (time float) - (default structure) - (tag-addr (pointer res-tag)) - (buf-addr pointer) - ) +(defmethod get-property-struct res-lump ((obj res-lump) + (name symbol) + (mode symbol) + (time float) + (default structure) + (tag-addr (pointer res-tag)) + (buf-addr pointer) + ) (let ((tag-pair (lookup-tag-idx obj name mode time))) - (cond - ((< (the-as int tag-pair) 0) - (empty) - ) - (else - (set! - default - (the-as structure (make-property-data obj time tag-pair buf-addr)) - ) - (let ((tag (-> obj tag (-> tag-pair lo)))) - (if tag-addr - (set! (-> tag-addr 0) tag) - ) - (if (zero? (-> tag inlined?)) - (set! default (the-as structure (-> (the-as (pointer uint32) default)))) + (cond + ((< (the-as int tag-pair) 0) (empty) ) + (else + (set! default (the-as structure (make-property-data obj time tag-pair buf-addr))) + (let ((tag (-> obj tag (-> tag-pair lo)))) + (if tag-addr + (set! (-> tag-addr 0) tag) + ) + (if (zero? (-> tag inlined?)) + (set! default (the-as structure (-> (the-as (pointer uint32) default)))) + (empty) + ) + ) + ) ) - ) ) - ) (the-as structure default) ) ;; definition for method 11 of type res-lump ;; INFO: Return type mismatch int vs uint128. ;; Used lq/sq -(defmethod - get-property-value - res-lump - ((obj res-lump) - (name symbol) - (mode symbol) - (time float) - (default uint128) - (tag-addr (pointer res-tag)) - (buf-addr pointer) - ) +(defmethod get-property-value res-lump ((obj res-lump) + (name symbol) + (mode symbol) + (time float) + (default uint128) + (tag-addr (pointer res-tag)) + (buf-addr pointer) + ) (let ((tag-pair (lookup-tag-idx obj name mode time))) - (cond - ((< (the-as int tag-pair) 0) - (empty) - ) - (else - (let* ((a0-2 (-> tag-pair lo)) - (tag (-> obj tag a0-2)) - (tag-type (-> tag elt-type)) - (data (make-property-data obj time tag-pair buf-addr)) + (cond + ((< (the-as int tag-pair) 0) + (empty) + ) + (else + (let* ((a0-2 (-> tag-pair lo)) + (tag (-> obj tag a0-2)) + (tag-type (-> tag elt-type)) + (data (make-property-data obj time tag-pair buf-addr)) + ) + (if tag-addr + (set! (-> tag-addr 0) tag) + ) + (cond + ((type-type? (the-as type tag-type) uinteger) + (case (-> tag elt-type size) + ((1) + (set! default (the-as uint128 (-> (the-as (pointer uint8) data)))) + ) + ((2) + (set! default (the-as uint128 (-> (the-as (pointer uint16) data)))) + ) + ((4) + (set! default (the-as uint128 (-> (the-as (pointer uint32) data)))) + ) + ((16) + (set! default (-> (the-as (pointer uint128) data))) + ) + (else + (set! default (the-as uint128 (-> (the-as (pointer uint64) data)))) + ) + ) + ) + ((type-type? (the-as type tag-type) integer) + (case (-> tag elt-type size) + ((1) + (set! default (the-as uint128 (-> (the-as (pointer int8) data)))) + ) + ((2) + (set! default (the-as uint128 (-> (the-as (pointer int16) data)))) + ) + ((4) + (set! default (the-as uint128 (-> (the-as (pointer int32) data)))) + ) + ((16) + (set! default (-> (the-as (pointer uint128) data))) + ) + (else + (set! default (the-as uint128 (-> (the-as (pointer uint64) data)))) + ) + ) + ) + ((type-type? (the-as type tag-type) float) + (set! default (the-as uint128 (the int (-> (the-as (pointer float) data))))) + ) + (else + (empty) + ) ) - (if tag-addr - (set! (-> tag-addr 0) tag) - ) - (cond - ((type-type? (the-as type tag-type) uinteger) - (case (-> tag elt-type size) - ((1) - (set! default (the-as uint128 (-> (the-as (pointer uint8) data)))) - ) - ((2) - (set! default (the-as uint128 (-> (the-as (pointer uint16) data)))) ) - ((4) - (set! default (the-as uint128 (-> (the-as (pointer uint32) data)))) - ) - ((16) - (set! default (-> (the-as (pointer uint128) data))) - ) - (else - (set! default (the-as uint128 (-> (the-as (pointer uint64) data)))) - ) - ) ) - ((type-type? (the-as type tag-type) integer) - (case (-> tag elt-type size) - ((1) - (set! default (the-as uint128 (-> (the-as (pointer int8) data)))) - ) - ((2) - (set! default (the-as uint128 (-> (the-as (pointer int16) data)))) - ) - ((4) - (set! default (the-as uint128 (-> (the-as (pointer int32) data)))) - ) - ((16) - (set! default (-> (the-as (pointer uint128) data))) - ) - (else - (set! default (the-as uint128 (-> (the-as (pointer uint64) data)))) - ) - ) - ) - ((type-type? (the-as type tag-type) float) - (set! - default - (the-as uint128 (the int (-> (the-as (pointer float) data)))) - ) - ) - (else - (empty) - ) - ) ) - ) ) - ) (the-as uint128 default) ) ;; definition for method 12 of type res-lump ;; Used lq/sq -(defmethod - get-property-value-float - res-lump - ((obj res-lump) - (name symbol) - (mode symbol) - (time float) - (default float) - (tag-addr (pointer res-tag)) - (buf-addr pointer) - ) +(defmethod get-property-value-float res-lump ((obj res-lump) + (name symbol) + (mode symbol) + (time float) + (default float) + (tag-addr (pointer res-tag)) + (buf-addr pointer) + ) (local-vars (v1-8 uint) (v1-11 int)) (let ((tag-pair (lookup-tag-idx obj name mode time))) - (cond - ((< (the-as int tag-pair) 0) - (empty) - ) - (else - (let* ((a0-2 (-> tag-pair lo)) - (tag (-> obj tag a0-2)) - (tag-type (-> tag elt-type)) - (data (make-property-data obj time tag-pair buf-addr)) + (cond + ((< (the-as int tag-pair) 0) + (empty) + ) + (else + (let* ((a0-2 (-> tag-pair lo)) + (tag (-> obj tag a0-2)) + (tag-type (-> tag elt-type)) + (data (make-property-data obj time tag-pair buf-addr)) + ) + (if tag-addr + (set! (-> tag-addr 0) tag) + ) + (cond + ((type-type? (the-as type tag-type) float) + (set! default (-> (the-as (pointer float) data))) + ) + ((type-type? (the-as type tag-type) uinteger) + (case (-> tag elt-type size) + ((1) + (set! v1-8 (-> (the-as (pointer uint8) data))) + ) + ((2) + (set! v1-8 (-> (the-as (pointer uint16) data))) + ) + ((4) + (set! v1-8 (-> (the-as (pointer uint32) data))) + ) + ((16) + (set! v1-8 (the-as uint (-> (the-as (pointer uint128) data)))) + ) + (else + (set! v1-8 (-> (the-as (pointer uint64) data))) + ) + ) + (set! default (the float v1-8)) + ) + ((type-type? (the-as type tag-type) integer) + (case (-> tag elt-type size) + ((1) + (set! v1-11 (-> (the-as (pointer int8) data))) + ) + ((2) + (set! v1-11 (-> (the-as (pointer int16) data))) + ) + ((4) + (set! v1-11 (-> (the-as (pointer int32) data))) + ) + ((16) + (set! v1-11 (the-as int (-> (the-as (pointer uint128) data)))) + ) + (else + (set! v1-11 (the-as int (-> (the-as (pointer uint64) data)))) + ) + ) + (set! default (the float v1-11)) + ) + (else + (empty) + ) ) - (if tag-addr - (set! (-> tag-addr 0) tag) - ) - (cond - ((type-type? (the-as type tag-type) float) - (set! default (-> (the-as (pointer float) data))) + ) ) - ((type-type? (the-as type tag-type) uinteger) - (case (-> tag elt-type size) - ((1) - (set! v1-8 (-> (the-as (pointer uint8) data))) - ) - ((2) - (set! v1-8 (-> (the-as (pointer uint16) data))) - ) - ((4) - (set! v1-8 (-> (the-as (pointer uint32) data))) - ) - ((16) - (set! v1-8 (the-as uint (-> (the-as (pointer uint128) data)))) - ) - (else - (set! v1-8 (-> (the-as (pointer uint64) data))) - ) - ) - (set! default (the float v1-8)) - ) - ((type-type? (the-as type tag-type) integer) - (case (-> tag elt-type size) - ((1) - (set! v1-11 (-> (the-as (pointer int8) data))) - ) - ((2) - (set! v1-11 (-> (the-as (pointer int16) data))) - ) - ((4) - (set! v1-11 (-> (the-as (pointer int32) data))) - ) - ((16) - (set! v1-11 (the-as int (-> (the-as (pointer uint128) data)))) - ) - (else - (set! v1-11 (the-as int (-> (the-as (pointer uint64) data)))) - ) - ) - (set! default (the float v1-11)) - ) - (else - (empty) - ) - ) ) - ) ) - ) default ) @@ -768,51 +624,28 @@ ;; Used lq/sq (defmethod sort! res-lump ((obj res-lump)) (let ((tags-sorted -1)) - (while (nonzero? tags-sorted) - (set! tags-sorted 0) - (let ((i 0) - (tag-stop (+ (-> obj length) -2)) - ) - (while (>= tag-stop i) - (let* ((tag1 (-> obj tag i)) - (tag2 (-> obj tag (+ i 1))) - (tag-name1 - (-> - (the-as - (pointer uint64) - (-> (symbol->string (-> tag1 name)) data) - ) - 0 - ) + (while (nonzero? tags-sorted) + (set! tags-sorted 0) + (let ((i 0) + (tag-stop (+ (-> obj length) -2)) + ) + (while (>= tag-stop i) + (let* ((tag1 (-> obj tag i)) + (tag2 (-> obj tag (+ i 1))) + (tag-name1 (-> (the-as (pointer uint64) (-> (symbol->string (-> tag1 name)) data)) 0)) + (tag-name2 (-> (the-as (pointer uint64) (-> (symbol->string (-> tag2 name)) data)) 0)) + ) + (when (or (< tag-name2 tag-name1) (and (= tag-name1 tag-name2) (< (-> tag2 key-frame) (-> tag1 key-frame)))) + (+! tags-sorted 1) + (set! (-> obj tag i) tag2) + (set! (-> obj tag (+ i 1)) tag1) ) - (tag-name2 - (-> - (the-as - (pointer uint64) - (-> (symbol->string (-> tag2 name)) data) - ) - 0 - ) - ) - ) - (when - (or - (< tag-name2 tag-name1) - (and - (= tag-name1 tag-name2) - (< (-> tag2 key-frame) (-> tag1 key-frame)) + ) + (+! i 1) ) - ) - (+! tags-sorted 1) - (set! (-> obj tag i) tag2) - (set! (-> obj tag (+ i 1)) tag1) ) - ) - (+! i 1) ) - ) ) - ) obj ) @@ -820,112 +653,89 @@ ;; Used lq/sq (defmethod allocate-data-memory-for-tag! res-lump ((obj res-lump) (arg0 res-tag)) (local-vars (resource-mem pointer)) - (let* - ((tag-pair (lookup-tag-idx obj (-> arg0 name) 'exact (-> arg0 key-frame))) - (existing-tag (-> obj tag (-> tag-pair lo))) - ) - 0 - (if - (and - (>= (the-as int tag-pair) 0) - (!= (-> arg0 key-frame) (-> arg0 key-frame)) - ) - (set! tag-pair (new 'static 'res-tag-pair :lo #xffffffff :hi #xffffffff)) - ) - (if (zero? (-> arg0 elt-count)) - (set! arg0 (copy-and-set-field arg0 elt-count 1)) - ) - (let ((data-size (length arg0))) - (cond - ((and - (>= (the-as int tag-pair) 0) - (>= (the-as uint (length existing-tag)) (the-as uint data-size)) - ) - (set! resource-mem (&+ (-> obj data-base) (-> existing-tag data-offset))) - (when (logtest? (the-as int resource-mem) 7) - (set! resource-mem (logand -16 (&+ (-> obj data-top) 15))) - (set! (-> obj data-top) (&+ resource-mem data-size)) - ) - ) - (else - (set! resource-mem (logand -16 (&+ (-> obj data-top) 15))) - (set! (-> obj data-top) (&+ resource-mem data-size)) - ) - ) - (let* ((a0-22 arg0) - (s4-1 - (copy-and-set-field - a0-22 - data-offset - (&- resource-mem (the-as uint (-> obj data-base))) - ) - ) + (let* ((tag-pair (lookup-tag-idx obj (-> arg0 name) 'exact (-> arg0 key-frame))) + (existing-tag (-> obj tag (-> tag-pair lo))) + ) + 0 + (if (and (>= (the-as int tag-pair) 0) (!= (-> arg0 key-frame) (-> arg0 key-frame))) + (set! tag-pair (new 'static 'res-tag-pair :lo #xffffffff :hi #xffffffff)) + ) + (if (zero? (-> arg0 elt-count)) + (set! arg0 (copy-and-set-field arg0 elt-count 1)) + ) + (let ((data-size (length arg0))) + (cond + ((and (>= (the-as int tag-pair) 0) (>= (the-as uint (length existing-tag)) (the-as uint data-size))) + (set! resource-mem (&+ (-> obj data-base) (-> existing-tag data-offset))) + (when (logtest? (the-as int resource-mem) 7) + (set! resource-mem (logand -16 (&+ (-> obj data-top) 15))) + (set! (-> obj data-top) (&+ resource-mem data-size)) ) - (when - (>= - (the-as int (&+ resource-mem data-size)) - (the-as int (&+ (-> obj data-base) (-> obj data-size))) - ) - (format - 0 - "ERROR: attempting to a new tag ~`res-tag`P data of #x~X bytes to ~A, but data memory is full.~%" - s4-1 - data-size - obj - ) - (return (the-as res-tag #f)) - ) - (cond - ((< (the-as int tag-pair) 0) - (cond - ((>= (-> obj length) (-> obj allocated-length)) - (format - 0 - "ERROR: attempting to a new tag ~`res-tag`P to ~A, but tag memory is full.~%" - s4-1 - obj - ) - (return (the-as res-tag #f)) ) (else - (set! (-> obj tag (-> obj length)) s4-1) - (+! (-> obj length) 1) - (sort! obj) - ) + (set! resource-mem (logand -16 (&+ (-> obj data-top) 15))) + (set! (-> obj data-top) (&+ resource-mem data-size)) + ) + ) + (let* ((a0-22 arg0) + (s4-1 (copy-and-set-field a0-22 data-offset (&- resource-mem (the-as uint (-> obj data-base))))) + ) + (when (>= (the-as int (&+ resource-mem data-size)) (the-as int (&+ (-> obj data-base) (-> obj data-size)))) + (format + 0 + "ERROR: attempting to a new tag ~`res-tag`P data of #x~X bytes to ~A, but data memory is full.~%" + s4-1 + data-size + obj + ) + (return (the-as res-tag #f)) + ) + (cond + ((< (the-as int tag-pair) 0) + (cond + ((>= (-> obj length) (-> obj allocated-length)) + (format 0 "ERROR: attempting to a new tag ~`res-tag`P to ~A, but tag memory is full.~%" s4-1 obj) + (return (the-as res-tag #f)) + ) + (else + (set! (-> obj tag (-> obj length)) s4-1) + (+! (-> obj length) 1) + (sort! obj) + ) + ) + ) + (else + (set! (-> obj tag (-> tag-pair lo)) s4-1) + ) + ) + s4-1 ) - ) - (else - (set! (-> obj tag (-> tag-pair lo)) s4-1) - ) ) - s4-1 - ) ) - ) ) ;; definition for method 17 of type res-lump (defmethod add-data! res-lump ((obj res-lump) (arg0 res-tag) (arg1 pointer)) (let ((new-tag (allocate-data-memory-for-tag! obj arg0))) - (when new-tag - (let* ((v1-2 obj) - (a1-1 new-tag) - (tag-mem (&+ (-> v1-2 data-base) (-> a1-1 data-offset))) + (when new-tag + (let* ((v1-2 obj) + (a1-1 new-tag) + (tag-mem (&+ (-> v1-2 data-base) (-> a1-1 data-offset))) + ) + (cond + ((zero? (-> new-tag inlined?)) + (length new-tag) + (set! (-> (the-as (pointer pointer) tag-mem) 0) arg1) ) - (cond - ((zero? (-> new-tag inlined?)) - (length new-tag) - (set! (-> (the-as (pointer pointer) tag-mem) 0) arg1) - ) - (else - (let ((a2-1 (length new-tag))) - (mem-copy! tag-mem arg1 a2-1) + (else + (let ((a2-1 (length new-tag))) + (mem-copy! tag-mem arg1 a2-1) + ) + ) + ) ) - ) ) - ) ) - ) obj ) @@ -933,172 +743,136 @@ (defmethod add-32bit-data! res-lump ((obj res-lump) (arg0 res-tag) (arg1 object)) (local-vars (sv-16 object)) (set! sv-16 arg1) - (let* ((v1-0 arg0) - (a1-4 (copy-and-set-field v1-0 inlined? 1)) - ) - (add-data! obj a1-4 (& sv-16)) - ) + (let* ((v1-0 arg0) (a1-4 (copy-and-set-field v1-0 inlined? 1))) (add-data! obj a1-4 (& sv-16))) ) ;; definition for method 21 of type res-lump ;; Used lq/sq -(defmethod - get-curve-data! - res-lump - ((obj res-lump) (arg0 curve) (arg1 symbol) (arg2 symbol) (arg3 float)) +(defmethod get-curve-data! res-lump ((obj res-lump) (arg0 curve) (arg1 symbol) (arg2 symbol) (arg3 float)) (local-vars (sv-16 res-tag) (sv-32 res-tag)) (let ((s5-0 #f)) - (set! sv-16 (new 'static 'res-tag)) - (let - ((a0-2 - ((method-of-object obj get-property-data) - obj - arg1 - 'exact - arg3 - (the-as pointer #f) - (& sv-16) - *res-static-buf* - ) - ) - ) - (when a0-2 - (set! (-> arg0 cverts) a0-2) - (set! (-> arg0 num-cverts) (the-as int (-> sv-16 elt-count))) - (when (< 256 (-> arg0 num-cverts)) - (format - 0 - "ERROR: curve has ~D control points--only ~D are allowed. Increase MAX-CURVE-CONTROL-POINTS or shorten the curve.~%" - (-> arg0 num-cverts) - 256 - ) - (set! (-> arg0 num-cverts) 256) - ) - (set! sv-32 (new 'static 'res-tag)) - (let - ((a0-6 - ((method-of-object obj get-property-data) - obj - arg2 - 'exact - arg3 - (the-as pointer #f) - (& sv-32) - *res-static-buf* - ) + (set! sv-16 (new 'static 'res-tag)) + (let ((a0-2 + ((method-of-object obj get-property-data) obj arg1 'exact arg3 (the-as pointer #f) (& sv-16) *res-static-buf*) + ) + ) + (when a0-2 + (set! (-> arg0 cverts) a0-2) + (set! (-> arg0 num-cverts) (the-as int (-> sv-16 elt-count))) + (when (< 256 (-> arg0 num-cverts)) + (format + 0 + "ERROR: curve has ~D control points--only ~D are allowed. Increase MAX-CURVE-CONTROL-POINTS or shorten the curve.~%" + (-> arg0 num-cverts) + 256 + ) + (set! (-> arg0 num-cverts) 256) + ) + (set! sv-32 (new 'static 'res-tag)) + (let ((a0-6 + ((method-of-object obj get-property-data) obj arg2 'exact arg3 (the-as pointer #f) (& sv-32) *res-static-buf*) + ) + ) + (when a0-6 + (set! (-> arg0 knots) (the-as (inline-array vector) a0-6)) + (set! (-> arg0 num-knots) (the-as int (-> sv-32 elt-count))) + (set! s5-0 #t) + ) + ) ) - ) - (when a0-6 - (set! (-> arg0 knots) (the-as (inline-array vector) a0-6)) - (set! (-> arg0 num-knots) (the-as int (-> sv-32 elt-count))) - (set! s5-0 #t) - ) ) - ) + s5-0 ) - s5-0 - ) ) ;; definition for method 8 of type res-lump ;; INFO: Return type mismatch int vs res-lump. ;; Used lq/sq -(defmethod - mem-usage - res-lump - ((obj res-lump) (block memory-usage-block) (flags int)) +(defmethod mem-usage res-lump ((obj res-lump) (block memory-usage-block) (flags int)) (local-vars (sv-16 int)) (let ((mem-use-id 48) (mem-use-name "res") ) - (cond - ((logtest? flags 256) - (set! mem-use-id 44) - (set! mem-use-name "camera") - ) - ((logtest? flags 64) - (set! mem-use-id 43) - (set! mem-use-name "entity") - ) - ((logtest? flags 128) - (set! mem-use-id 49) - (set! mem-use-name "ambient") - ) - ((logtest? flags 512) - (set! mem-use-id 73) - (set! mem-use-name "art-joint-geo") - ) - ) - (set! (-> block length) (max (-> block length) (+ mem-use-id 1))) - (set! (-> block data mem-use-id name) mem-use-name) - (+! (-> block data mem-use-id count) 1) - (let ((obj-size (asize-of obj))) - (+! (-> block data mem-use-id used) obj-size) - (+! (-> block data mem-use-id total) (logand -16 (+ obj-size 15))) - ) - (dotimes (tag-idx (-> obj length)) - (when (zero? (-> obj tag tag-idx inlined?)) - (let* ((a1-4 obj) - (a0-15 tag-idx) - (tag-data - (the-as - basic - (-> - (the-as - (pointer uint32) - (&+ (-> a1-4 data-base) (-> a1-4 tag a0-15 data-offset)) - ) - ) - ) - ) - ) - (when (not (part-group-pointer? (the-as pointer tag-data))) - (case (-> tag-data type) - ((symbol type) - ) - ((string) - (set! (-> block length) (max (-> block length) (+ mem-use-id 1))) - (set! (-> block data mem-use-id name) mem-use-name) - (+! (-> block data mem-use-id count) 1) - (let ((v1-47 (asize-of tag-data))) - (+! (-> block data mem-use-id used) v1-47) - (+! (-> block data mem-use-id total) (logand -16 (+ v1-47 15))) - ) - ) - ((nav-mesh collide-mesh) - (mem-usage (the-as collide-mesh tag-data) block flags) - ) - ((array) - (set! (-> block length) (max (-> block length) (+ mem-use-id 1))) - (set! (-> block data mem-use-id name) mem-use-name) - (+! (-> block data mem-use-id count) 1) - (let ((v1-63 (asize-of (the-as (array object) tag-data)))) - (+! (-> block data mem-use-id used) v1-63) - (+! (-> block data mem-use-id total) (logand -16 (+ v1-63 15))) - ) - (set! sv-16 0) - (while (< sv-16 (-> (the-as array tag-data) length)) - (let ((a0-58 (-> (the-as (array object) tag-data) sv-16))) - ((method-of-type (rtype-of a0-58) mem-usage) a0-58 block flags) - ) - (set! sv-16 (+ sv-16 1)) - ) - ) - (else - (set! (-> block length) (max (-> block length) (+ mem-use-id 1))) - (set! (-> block data mem-use-id name) mem-use-name) - (+! (-> block data mem-use-id count) 1) - (let ((v1-88 (asize-of tag-data))) - (+! (-> block data mem-use-id used) v1-88) - (+! (-> block data mem-use-id total) (logand -16 (+ v1-88 15))) - ) - ) - ) + (cond + ((logtest? flags 256) + (set! mem-use-id 44) + (set! mem-use-name "camera") + ) + ((logtest? flags 64) + (set! mem-use-id 43) + (set! mem-use-name "entity") + ) + ((logtest? flags 128) + (set! mem-use-id 49) + (set! mem-use-name "ambient") + ) + ((logtest? flags 512) + (set! mem-use-id 73) + (set! mem-use-name "art-joint-geo") ) ) - ) + (set! (-> block length) (max (-> block length) (+ mem-use-id 1))) + (set! (-> block data mem-use-id name) mem-use-name) + (+! (-> block data mem-use-id count) 1) + (let ((obj-size (asize-of obj))) + (+! (-> block data mem-use-id used) obj-size) + (+! (-> block data mem-use-id total) (logand -16 (+ obj-size 15))) + ) + (dotimes (tag-idx (-> obj length)) + (when (zero? (-> obj tag tag-idx inlined?)) + (let* ((a1-4 obj) + (a0-15 tag-idx) + (tag-data + (the-as basic (-> (the-as (pointer uint32) (&+ (-> a1-4 data-base) (-> a1-4 tag a0-15 data-offset))))) + ) + ) + (when (not (part-group-pointer? (the-as pointer tag-data))) + (case (-> tag-data type) + ((symbol type) + ) + ((string) + (set! (-> block length) (max (-> block length) (+ mem-use-id 1))) + (set! (-> block data mem-use-id name) mem-use-name) + (+! (-> block data mem-use-id count) 1) + (let ((v1-47 (asize-of tag-data))) + (+! (-> block data mem-use-id used) v1-47) + (+! (-> block data mem-use-id total) (logand -16 (+ v1-47 15))) + ) + ) + ((nav-mesh collide-mesh) + (mem-usage (the-as collide-mesh tag-data) block flags) + ) + ((array) + (set! (-> block length) (max (-> block length) (+ mem-use-id 1))) + (set! (-> block data mem-use-id name) mem-use-name) + (+! (-> block data mem-use-id count) 1) + (let ((v1-63 (asize-of (the-as (array object) tag-data)))) + (+! (-> block data mem-use-id used) v1-63) + (+! (-> block data mem-use-id total) (logand -16 (+ v1-63 15))) + ) + (set! sv-16 0) + (while (< sv-16 (-> (the-as array tag-data) length)) + (let ((a0-58 (-> (the-as (array object) tag-data) sv-16))) + ((method-of-type (rtype-of a0-58) mem-usage) a0-58 block flags) + ) + (set! sv-16 (+ sv-16 1)) + ) + ) + (else + (set! (-> block length) (max (-> block length) (+ mem-use-id 1))) + (set! (-> block data mem-use-id name) mem-use-name) + (+! (-> block data mem-use-id count) 1) + (let ((v1-88 (asize-of tag-data))) + (+! (-> block data mem-use-id used) v1-88) + (+! (-> block data mem-use-id total) (logand -16 (+ v1-88 15))) + ) + ) + ) + ) + ) + ) + ) ) - ) (the-as res-lump 0) ) diff --git a/test/decompiler/reference/engine/debug/anim-tester_REF.gc b/test/decompiler/reference/engine/debug/anim-tester_REF.gc index 8d31d229ef..048d520fbb 100644 --- a/test/decompiler/reference/engine/debug/anim-tester_REF.gc +++ b/test/decompiler/reference/engine/debug/anim-tester_REF.gc @@ -113,325 +113,270 @@ ) ;; definition for symbol *DISP_LIST-bank*, type DISP_LIST-bank -(define - *DISP_LIST-bank* - (new 'static 'DISP_LIST-bank - :TV_SPACING 8 - :BORDER_WIDTH 4 - :BORDER_HEIGHT 4 - :MAX_LINES 12 - :CHAR_WIDTH 10 - :INC_DELAY 20 - :BORDER_LINES 3 - ) - ) +(define *DISP_LIST-bank* (new 'static 'DISP_LIST-bank + :TV_SPACING 8 + :BORDER_WIDTH 4 + :BORDER_HEIGHT 4 + :MAX_LINES 12 + :CHAR_WIDTH 10 + :INC_DELAY 20 + :BORDER_LINES 3 + ) + ) ;; definition for function display-list-control ;; INFO: Return type mismatch pointer vs none. (defun display-list-control ((arg0 list-control)) (when (< (-> arg0 current-index) 0) - (set! (-> arg0 current-index) 0) - 0 - ) + (set! (-> arg0 current-index) 0) + 0 + ) (if (>= (-> arg0 current-index) (glst-num-elements (-> arg0 list))) - (set! (-> arg0 current-index) -1) - ) + (set! (-> arg0 current-index) -1) + ) (when (< (-> arg0 highlight-index) 0) - (set! (-> arg0 highlight-index) 0) - 0 - ) + (set! (-> arg0 highlight-index) 0) + 0 + ) (if (>= (-> arg0 highlight-index) (glst-num-elements (-> arg0 list))) - (set! (-> arg0 highlight-index) (+ (glst-num-elements (-> arg0 list)) -1)) - ) + (set! (-> arg0 highlight-index) (+ (glst-num-elements (-> arg0 list)) -1)) + ) (set! (-> arg0 the-index) (-> arg0 highlight-index)) - (set! - (-> arg0 the-node) - (glst-get-node-by-index (-> arg0 list) (-> arg0 highlight-index)) - ) + (set! (-> arg0 the-node) (glst-get-node-by-index (-> arg0 list) (-> arg0 highlight-index))) (when (not ((-> arg0 listfunc) 1 arg0)) - (set! (-> arg0 the-index) 0) - (let ((v1-12 (-> arg0 list))) - "return the start of the list" - (set! (-> arg0 the-node) (-> v1-12 head)) + (set! (-> arg0 the-index) 0) + (let ((v1-12 (-> arg0 list))) + "return the start of the list" + (set! (-> arg0 the-node) (-> v1-12 head)) + ) + (while (let ((v1-22 (-> arg0 the-node))) + "is this node the end of the list. #t = end" + (not (not (-> v1-22 next))) + ) + (when ((-> arg0 listfunc) 1 arg0) + (set! (-> arg0 highlight-index) (-> arg0 the-index)) + (goto cfg-18) + ) + (+! (-> arg0 the-index) 1) + (let ((v1-20 (-> arg0 the-node))) + "return the next node in the list" + (set! (-> arg0 the-node) (-> v1-20 next)) + ) + ) + (set! (-> arg0 highlight-index) 0) + 0 ) - (while (let ((v1-22 (-> arg0 the-node))) - "is this node the end of the list. #t = end" - (not (not (-> v1-22 next))) - ) - (when ((-> arg0 listfunc) 1 arg0) - (set! (-> arg0 highlight-index) (-> arg0 the-index)) - (goto cfg-18) - ) - (+! (-> arg0 the-index) 1) - (let ((v1-20 (-> arg0 the-node))) - "return the next node in the list" - (set! (-> arg0 the-node) (-> v1-20 next)) - ) - ) - (set! (-> arg0 highlight-index) 0) - 0 - ) (label cfg-18) (set! (-> arg0 the-index) (-> arg0 highlight-index)) - (set! - (-> arg0 the-node) - (glst-get-node-by-index (-> arg0 list) (-> arg0 the-index)) - ) + (set! (-> arg0 the-node) (glst-get-node-by-index (-> arg0 list) (-> arg0 the-index))) ((-> arg0 listfunc) 4 arg0) (let ((s5-2 #f) (s4-0 #f) ) - (set! (-> arg0 numlines) 0) - (set! (-> arg0 charswide) 0) - (set! (-> arg0 the-index) 0) - (set! (-> arg0 the-disp-line) 0) - (let ((v1-29 (-> arg0 list))) - "return the start of the list" - (set! (-> arg0 the-node) (-> v1-29 head)) + (set! (-> arg0 numlines) 0) + (set! (-> arg0 charswide) 0) + (set! (-> arg0 the-index) 0) + (set! (-> arg0 the-disp-line) 0) + (let ((v1-29 (-> arg0 list))) + "return the start of the list" + (set! (-> arg0 the-node) (-> v1-29 head)) + ) + (while (let ((v1-52 (-> arg0 the-node))) + "is this node the end of the list. #t = end" + (not (not (-> v1-52 next))) + ) + (when ((-> arg0 listfunc) 1 arg0) + (if (and (not s5-2) (>= (-> arg0 the-index) (-> arg0 top-index))) + (set! s5-2 #t) + ) + (when (and (not s4-0) (>= (-> arg0 the-index) (-> arg0 highlight-index))) + (set! s4-0 #t) + (set! (-> arg0 highlight-disp-line) (-> arg0 the-disp-line)) + ) + ((-> arg0 listfunc) 2 arg0) + (if (< (-> arg0 charswide) (-> arg0 return-int)) + (set! (-> arg0 charswide) (-> arg0 return-int)) + ) + (if s5-2 + (+! (-> arg0 the-disp-line) 1) + ) + (+! (-> arg0 numlines) 1) + ) + (+! (-> arg0 the-index) 1) + (let ((v1-50 (-> arg0 the-node))) + "return the next node in the list" + (set! (-> arg0 the-node) (-> v1-50 next)) + ) + ) ) - (while (let ((v1-52 (-> arg0 the-node))) - "is this node the end of the list. #t = end" - (not (not (-> v1-52 next))) - ) - (when ((-> arg0 listfunc) 1 arg0) - (if (and (not s5-2) (>= (-> arg0 the-index) (-> arg0 top-index))) - (set! s5-2 #t) - ) - (when (and (not s4-0) (>= (-> arg0 the-index) (-> arg0 highlight-index))) - (set! s4-0 #t) - (set! (-> arg0 highlight-disp-line) (-> arg0 the-disp-line)) - ) - ((-> arg0 listfunc) 2 arg0) - (if (< (-> arg0 charswide) (-> arg0 return-int)) - (set! (-> arg0 charswide) (-> arg0 return-int)) - ) - (if s5-2 - (+! (-> arg0 the-disp-line) 1) - ) - (+! (-> arg0 numlines) 1) - ) - (+! (-> arg0 the-index) 1) - (let ((v1-50 (-> arg0 the-node))) - "return the next node in the list" - (set! (-> arg0 the-node) (-> v1-50 next)) - ) - ) - ) - (set! - (-> arg0 lines-to-disp) - (if (< (-> *DISP_LIST-bank* MAX_LINES) (-> arg0 numlines)) - (-> *DISP_LIST-bank* MAX_LINES) - (-> arg0 numlines) - ) - ) + (set! (-> arg0 lines-to-disp) (if (< (-> *DISP_LIST-bank* MAX_LINES) (-> arg0 numlines)) + (-> *DISP_LIST-bank* MAX_LINES) + (-> arg0 numlines) + ) + ) (if (> (-> arg0 lines-to-disp) 0) - (-> arg0 lines-to-disp) - 1 - ) + (-> arg0 lines-to-disp) + 1 + ) (let* ((s4-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) (s5-3 (-> s4-1 base)) ) - (draw-sprite2d-xy - s4-1 - (-> arg0 left) - (-> arg0 top) - (+ - (* (-> arg0 charswide) (-> *DISP_LIST-bank* CHAR_WIDTH)) - (* (-> *DISP_LIST-bank* BORDER_WIDTH) 2) - ) - (+ - (* (+ (-> arg0 lines-to-disp) 1) (-> *DISP_LIST-bank* TV_SPACING)) - (* (-> *DISP_LIST-bank* BORDER_WIDTH) 2) - ) - (new 'static 'rgba :a #x40) - ) - (let ((a3-6 (-> s4-1 base))) - (let ((v1-72 (the-as object (-> s4-1 base)))) - (set! - (-> (the-as dma-packet v1-72) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + (draw-sprite2d-xy + s4-1 + (-> arg0 left) + (-> arg0 top) + (+ (* (-> arg0 charswide) (-> *DISP_LIST-bank* CHAR_WIDTH)) (* (-> *DISP_LIST-bank* BORDER_WIDTH) 2)) + (+ (* (+ (-> arg0 lines-to-disp) 1) (-> *DISP_LIST-bank* TV_SPACING)) + (* (-> *DISP_LIST-bank* BORDER_WIDTH) 2) + ) + (new 'static 'rgba :a #x40) + ) + (let ((a3-6 (-> s4-1 base))) + (let ((v1-72 (the-as object (-> s4-1 base)))) + (set! (-> (the-as dma-packet v1-72) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-72) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-72) vif1) (new 'static 'vif-tag)) + (set! (-> s4-1 base) (&+ (the-as pointer v1-72) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s5-3 + (the-as (pointer dma-tag) a3-6) + ) ) - (set! (-> (the-as dma-packet v1-72) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-72) vif1) (new 'static 'vif-tag)) - (set! (-> s4-1 base) (&+ (the-as pointer v1-72) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s5-3 - (the-as (pointer dma-tag) a3-6) - ) ) - ) (set! (-> arg0 xpos) (+ (-> arg0 left) (-> *DISP_LIST-bank* BORDER_WIDTH))) (set! (-> arg0 ypos) (+ (-> arg0 top) (-> *DISP_LIST-bank* BORDER_HEIGHT))) ((-> arg0 listfunc) 3 arg0) (cond - ((> (-> arg0 lines-to-disp) 0) - (cond - ((< (-> arg0 highlight-disp-line) (-> *DISP_LIST-bank* BORDER_LINES)) - (let - ((s5-4 - (- (-> *DISP_LIST-bank* BORDER_LINES) (-> arg0 highlight-disp-line)) - ) - ) - (set! - (-> arg0 the-node) - (glst-get-node-by-index (-> arg0 list) (-> arg0 top-index)) - ) - (set! (-> arg0 the-index) (-> arg0 top-index)) - (let ((v1-88 (-> arg0 the-node))) - "is this node the start of the list. #t = start" - (when (not (not (-> v1-88 prev))) - (while #t - (let ((v1-92 (-> arg0 the-node))) - "return the previous node in the list" - (let ((v1-93 (-> v1-92 prev))) - (let ((a0-41 v1-93)) - "is this node the start of the list. #t = start" - (if (not (-> a0-41 prev)) - (goto cfg-61) + ((> (-> arg0 lines-to-disp) 0) + (cond + ((< (-> arg0 highlight-disp-line) (-> *DISP_LIST-bank* BORDER_LINES)) + (let ((s5-4 (- (-> *DISP_LIST-bank* BORDER_LINES) (-> arg0 highlight-disp-line)))) + (set! (-> arg0 the-node) (glst-get-node-by-index (-> arg0 list) (-> arg0 top-index))) + (set! (-> arg0 the-index) (-> arg0 top-index)) + (let ((v1-88 (-> arg0 the-node))) + "is this node the start of the list. #t = start" + (when (not (not (-> v1-88 prev))) + (while #t + (let ((v1-92 (-> arg0 the-node))) + "return the previous node in the list" + (let ((v1-93 (-> v1-92 prev))) + (let ((a0-41 v1-93)) + "is this node the start of the list. #t = start" + (if (not (-> a0-41 prev)) + (goto cfg-61) + ) + ) + (set! (-> arg0 the-node) v1-93) + ) + ) + (+! (-> arg0 the-index) -1) + (when ((-> arg0 listfunc) 1 arg0) + (set! (-> arg0 top-index) (-> arg0 the-index)) + (+! s5-4 -1) + (if (<= s5-4 0) + (goto cfg-61) + ) + ) + ) ) - ) - (set! (-> arg0 the-node) v1-93) ) - ) - (+! (-> arg0 the-index) -1) - (when ((-> arg0 listfunc) 1 arg0) - (set! (-> arg0 top-index) (-> arg0 the-index)) - (+! s5-4 -1) - (if (<= s5-4 0) - (goto cfg-61) - ) - ) ) - ) + (label cfg-61) ) - ) - (label cfg-61) - ) - ((>= - (-> arg0 highlight-disp-line) - (- (-> *DISP_LIST-bank* MAX_LINES) (-> *DISP_LIST-bank* BORDER_LINES)) - ) - (let - ((s5-5 - (- - (-> arg0 highlight-disp-line) - (- (-> *DISP_LIST-bank* MAX_LINES) (-> *DISP_LIST-bank* BORDER_LINES)) - ) - ) - ) - (set! - (-> arg0 the-node) - (glst-get-node-by-index (-> arg0 list) (-> arg0 top-index)) - ) - (set! (-> arg0 the-index) (-> arg0 top-index)) - (let ((v1-107 (-> arg0 the-node))) - "is this node the end of the list. #t = end" - (when (not (not (-> v1-107 next))) - (while #t - (let ((v1-111 (-> arg0 the-node))) - "return the next node in the list" - (let ((v1-112 (-> v1-111 next))) - (let ((a0-55 v1-112)) - "is this node the end of the list. #t = end" - (if (not (-> a0-55 next)) - (goto cfg-77) + ((>= (-> arg0 highlight-disp-line) (- (-> *DISP_LIST-bank* MAX_LINES) (-> *DISP_LIST-bank* BORDER_LINES))) + (let ((s5-5 + (- (-> arg0 highlight-disp-line) (- (-> *DISP_LIST-bank* MAX_LINES) (-> *DISP_LIST-bank* BORDER_LINES))) + ) ) - ) - (set! (-> arg0 the-node) v1-112) - ) - ) - (+! (-> arg0 the-index) 1) - (when ((-> arg0 listfunc) 1 arg0) - (set! (-> arg0 top-index) (-> arg0 the-index)) - (+! s5-5 -1) - (if (<= s5-5 0) - (goto cfg-77) - ) - ) - ) - ) - ) - ) - ) - ) - (label cfg-77) - (set! (-> arg0 the-disp-line) 0) - (set! (-> arg0 the-index) (-> arg0 top-index)) - (set! - (-> arg0 the-node) - (glst-get-node-by-index (-> arg0 list) (-> arg0 top-index)) - ) - (while (let ((v1-135 (-> arg0 the-node))) + (set! (-> arg0 the-node) (glst-get-node-by-index (-> arg0 list) (-> arg0 top-index))) + (set! (-> arg0 the-index) (-> arg0 top-index)) + (let ((v1-107 (-> arg0 the-node))) "is this node the end of the list. #t = end" - (not - (or - (not (-> v1-135 next)) - (>= (-> arg0 the-disp-line) (-> *DISP_LIST-bank* MAX_LINES)) + (when (not (not (-> v1-107 next))) + (while #t + (let ((v1-111 (-> arg0 the-node))) + "return the next node in the list" + (let ((v1-112 (-> v1-111 next))) + (let ((a0-55 v1-112)) + "is this node the end of the list. #t = end" + (if (not (-> a0-55 next)) + (goto cfg-77) + ) + ) + (set! (-> arg0 the-node) v1-112) + ) + ) + (+! (-> arg0 the-index) 1) + (when ((-> arg0 listfunc) 1 arg0) + (set! (-> arg0 top-index) (-> arg0 the-index)) + (+! s5-5 -1) + (if (<= s5-5 0) + (goto cfg-77) + ) + ) + ) ) - ) ) - (when ((-> arg0 listfunc) 1 arg0) - (set! - (-> arg0 xpos) - (+ (-> arg0 left) (-> *DISP_LIST-bank* BORDER_WIDTH)) - ) - (set! - (-> arg0 ypos) - (+ - (-> arg0 top) - (-> *DISP_LIST-bank* BORDER_HEIGHT) - (* (+ (-> arg0 the-disp-line) 1) (-> *DISP_LIST-bank* TV_SPACING)) + ) ) ) - ((-> arg0 listfunc) 0 arg0) - (+! (-> arg0 the-disp-line) 1) - ) - (+! (-> arg0 the-index) 1) - (let ((v1-133 (-> arg0 the-node))) - "return the next node in the list" - (set! (-> arg0 the-node) (-> v1-133 next)) - ) - ) - ) - (else - (let* ((s4-2 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s5-6 (-> s4-2 base)) - ) - (draw-string-xy - "**NONE**" - s4-2 - (+ (-> arg0 left) (-> *DISP_LIST-bank* BORDER_WIDTH)) - (+ - (-> arg0 top) - (-> *DISP_LIST-bank* BORDER_HEIGHT) - (-> *DISP_LIST-bank* TV_SPACING) + (label cfg-77) + (set! (-> arg0 the-disp-line) 0) + (set! (-> arg0 the-index) (-> arg0 top-index)) + (set! (-> arg0 the-node) (glst-get-node-by-index (-> arg0 list) (-> arg0 top-index))) + (while (let ((v1-135 (-> arg0 the-node))) + "is this node the end of the list. #t = end" + (not (or (not (-> v1-135 next)) (>= (-> arg0 the-disp-line) (-> *DISP_LIST-bank* MAX_LINES)))) + ) + (when ((-> arg0 listfunc) 1 arg0) + (set! (-> arg0 xpos) (+ (-> arg0 left) (-> *DISP_LIST-bank* BORDER_WIDTH))) + (set! (-> arg0 ypos) (+ (-> arg0 top) + (-> *DISP_LIST-bank* BORDER_HEIGHT) + (* (+ (-> arg0 the-disp-line) 1) (-> *DISP_LIST-bank* TV_SPACING)) + ) + ) + ((-> arg0 listfunc) 0 arg0) + (+! (-> arg0 the-disp-line) 1) + ) + (+! (-> arg0 the-index) 1) + (let ((v1-133 (-> arg0 the-node))) + "return the next node in the list" + (set! (-> arg0 the-node) (-> v1-133 next)) + ) ) - (font-color dim-white) - (font-flags shadow kerning) - ) - (let ((a3-12 (-> s4-2 base))) - (let ((v1-147 (the-as object (-> s4-2 base)))) - (set! - (-> (the-as dma-packet v1-147) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + ) + (else + (let* ((s4-2 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s5-6 (-> s4-2 base)) + ) + (draw-string-xy + "**NONE**" + s4-2 + (+ (-> arg0 left) (-> *DISP_LIST-bank* BORDER_WIDTH)) + (+ (-> arg0 top) (-> *DISP_LIST-bank* BORDER_HEIGHT) (-> *DISP_LIST-bank* TV_SPACING)) + (font-color dim-white) + (font-flags shadow kerning) + ) + (let ((a3-12 (-> s4-2 base))) + (let ((v1-147 (the-as object (-> s4-2 base)))) + (set! (-> (the-as dma-packet v1-147) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-147) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-147) vif1) (new 'static 'vif-tag)) + (set! (-> s4-2 base) (&+ (the-as pointer v1-147) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s5-6 + (the-as (pointer dma-tag) a3-12) + ) + ) ) - (set! (-> (the-as dma-packet v1-147) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-147) vif1) (new 'static 'vif-tag)) - (set! (-> s4-2 base) (&+ (the-as pointer v1-147) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s5-6 - (the-as (pointer dma-tag) a3-12) - ) ) - ) ) - ) (none) ) @@ -482,27 +427,25 @@ ) ;; definition for symbol *ANIM_TESTER-bank*, type anim-tester-bank -(define - *ANIM_TESTER-bank* - (new 'static 'anim-tester-bank - :ANIM_SPEED 1.0 - :BLEND 1.0 - :OBJECT_LIST_X 10 - :OBJECT_LIST_Y 50 - :OBJECT_LIST_MIN_WIDTH 18 - :ANIM_LIST_X 10 - :ANIM_LIST_Y 50 - :ANIM_LIST_MIN_WIDTH 17 - :PICK_LIST_X 10 - :PICK_LIST_Y 50 - :PICK_LIST_MIN_WIDTH 21 - :EDIT_LIST_X 10 - :EDIT_LIST_Y 50 - :EDIT_STATS_X 30 - :EDIT_LIST_MIN_WIDTH 64 - :EDIT_PICK_X 30 - ) - ) +(define *ANIM_TESTER-bank* (new 'static 'anim-tester-bank + :ANIM_SPEED 1.0 + :BLEND 1.0 + :OBJECT_LIST_X 10 + :OBJECT_LIST_Y 50 + :OBJECT_LIST_MIN_WIDTH 18 + :ANIM_LIST_X 10 + :ANIM_LIST_Y 50 + :ANIM_LIST_MIN_WIDTH 17 + :PICK_LIST_X 10 + :PICK_LIST_Y 50 + :PICK_LIST_MIN_WIDTH 21 + :EDIT_LIST_X 10 + :EDIT_LIST_Y 50 + :EDIT_STATS_X 30 + :EDIT_LIST_MIN_WIDTH 64 + :EDIT_PICK_X 30 + ) + ) ;; definition of type anim-tester (deftype anim-tester (process-drawable) @@ -532,8 +475,8 @@ ;; INFO: this function exists in multiple non-identical object files (defmethod inspect anim-tester ((obj anim-tester)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tflags: ~D~%" (-> obj flags)) (format #t "~T~Tobj-list: #~%" (-> obj obj-list)) (format #t "~T~Tcurrent-obj: ~A~%" (-> obj current-obj)) @@ -556,16 +499,16 @@ ;; INFO: Return type mismatch object vs none. (defun anim-tester-num-print ((arg0 basic) (arg1 float)) (cond - ((= arg1 (-> (new 'static 'array float 1 -2.0) 0)) - (format arg0 "max") + ((= arg1 (-> (new 'static 'array float 1 -2.0) 0)) + (format arg0 "max") + ) + ((= arg1 (-> (new 'static 'array float 1 -1.0) 0)) + (format arg0 "min") + ) + (else + (format arg0 "~f" arg1) + ) ) - ((= arg1 (-> (new 'static 'array float 1 -1.0) 0)) - (format arg0 "min") - ) - (else - (format arg0 "~f" arg1) - ) - ) (none) ) @@ -625,36 +568,28 @@ (set! (-> arg0 list-con list) (-> arg0 seq-list)) (set! (-> arg0 list-con list-owner) (the-as uint arg0)) (let ((v1-6 arg1)) - (set! (-> arg0 parent) (the-as uint (if v1-6 - (-> v1-6 the-node) - ) - ) + (set! (-> arg0 parent) (the-as uint (if v1-6 + (-> v1-6 the-node) + ) + ) + ) ) - ) (none) ) ;; definition for method 0 of type anim-test-obj -(defmethod - new - anim-test-obj - ((allocation symbol) - (type-to-make type) - (arg0 int) - (arg1 string) - (arg2 basic) - ) +(defmethod new anim-test-obj ((allocation symbol) (type-to-make type) (arg0 int) (arg1 string) (arg2 basic)) (let ((t9-0 (method-of-type structure new)) (v1-1 type-to-make) ) - (-> type-to-make size) - (let ((s4-0 (the-as anim-test-obj (t9-0 allocation v1-1)))) - (set! (-> s4-0 obj-art-group) (the-as art-group arg2)) - (set! (-> s4-0 privname) arg1) - (glst-init-list! (-> s4-0 seq-list)) - s4-0 + (-> type-to-make size) + (let ((s4-0 (the-as anim-test-obj (t9-0 allocation v1-1)))) + (set! (-> s4-0 obj-art-group) (the-as art-group arg2)) + (set! (-> s4-0 privname) arg1) + (glst-init-list! (-> s4-0 seq-list)) + s4-0 + ) ) - ) ) ;; definition of type anim-test-sequence @@ -700,20 +635,17 @@ ) ;; definition for method 0 of type anim-test-sequence -(defmethod - new - anim-test-sequence - ((allocation symbol) (type-to-make type) (arg0 int) (arg1 string)) +(defmethod new anim-test-sequence ((allocation symbol) (type-to-make type) (arg0 int) (arg1 string)) (let ((t9-0 (method-of-type structure new)) (v1-1 type-to-make) ) - (-> type-to-make size) - (let ((s5-0 (the-as anim-test-sequence (t9-0 allocation v1-1)))) - (set! (-> s5-0 privname) arg1) - (glst-init-list! (-> s5-0 item-list)) - s5-0 + (-> type-to-make size) + (let ((s5-0 (the-as anim-test-sequence (t9-0 allocation v1-1)))) + (set! (-> s5-0 privname) arg1) + (glst-init-list! (-> s5-0 item-list)) + s5-0 + ) ) - ) ) ;; definition of type anim-test-seq-item @@ -754,38 +686,27 @@ ;; definition for method 0 of type anim-test-seq-item ;; INFO: Return type mismatch structure vs anim-test-seq-item. -(defmethod - new - anim-test-seq-item - ((allocation symbol) (type-to-make type) (arg0 int) (arg1 string)) +(defmethod new anim-test-seq-item ((allocation symbol) (type-to-make type) (arg0 int) (arg1 string)) (let ((t9-0 (method-of-type structure new)) (v1-1 type-to-make) ) - (-> type-to-make size) - (let ((v0-0 (t9-0 allocation v1-1))) - (set! (-> (the-as anim-test-seq-item v0-0) privname) arg1) - (set! (-> (the-as anim-test-seq-item v0-0) speed) 100) - (set! (-> (the-as anim-test-seq-item v0-0) blend) 0) - (set! - (-> (the-as anim-test-seq-item v0-0) first-frame) - (-> (new 'static 'array float 1 -1.0) 0) - ) - (set! - (-> (the-as anim-test-seq-item v0-0) last-frame) - (-> (new 'static 'array float 1 -2.0) 0) - ) - (the-as anim-test-seq-item v0-0) + (-> type-to-make size) + (let ((v0-0 (t9-0 allocation v1-1))) + (set! (-> (the-as anim-test-seq-item v0-0) privname) arg1) + (set! (-> (the-as anim-test-seq-item v0-0) speed) 100) + (set! (-> (the-as anim-test-seq-item v0-0) blend) 0) + (set! (-> (the-as anim-test-seq-item v0-0) first-frame) (-> (new 'static 'array float 1 -1.0) 0)) + (set! (-> (the-as anim-test-seq-item v0-0) last-frame) (-> (new 'static 'array float 1 -2.0) 0)) + (the-as anim-test-seq-item v0-0) + ) ) - ) ) ;; definition for function anim-test-seq-item-copy! -(defun - anim-test-seq-item-copy! - ((arg0 anim-test-seq-item) (arg1 anim-test-seq-item)) +(defun anim-test-seq-item-copy! ((arg0 anim-test-seq-item) (arg1 anim-test-seq-item)) (let ((v1-0 arg0)) - (set! (-> v1-0 privname) (-> arg1 privname)) - ) + (set! (-> v1-0 privname) (-> arg1 privname)) + ) (set! (-> arg0 speed) (-> arg1 speed)) (set! (-> arg0 blend) (-> arg1 blend)) (set! (-> arg0 first-frame) (-> arg1 first-frame)) @@ -794,9 +715,9 @@ (set! (-> arg0 artist-base) (-> arg1 artist-base)) (set! (-> arg0 flags) (-> arg1 flags)) (let ((v0-0 (-> arg1 parent))) - (set! (-> arg0 parent) v0-0) - v0-0 - ) + (set! (-> arg0 parent) v0-0) + v0-0 + ) ) ;; definition for method 3 of type anim-tester @@ -805,139 +726,126 @@ (defmethod inspect anim-tester ((obj anim-tester)) (format #t "--anim-tester--~%") (let ((v1-0 (-> obj obj-list))) - "return the start of the list" - (let ((s5-0 (the-as anim-test-obj (-> v1-0 head)))) - (while (let ((v1-36 s5-0)) - "is this node the end of the list. #t = end" - (not (not (-> v1-36 next))) - ) - (format #t "object ~A~%" (-> s5-0 privname)) - (let ((v1-2 (-> s5-0 seq-list))) - "return the start of the list" - (let ((s4-0 (the-as anim-test-sequence (-> v1-2 head)))) - (while (let ((v1-29 s4-0)) + "return the start of the list" + (let ((s5-0 (the-as anim-test-obj (-> v1-0 head)))) + (while (let ((v1-36 s5-0)) "is this node the end of the list. #t = end" - (not (not (-> v1-29 next))) + (not (not (-> v1-36 next))) ) - (format #t " seq ~A" (-> s4-0 privname)) - (format #t " ~S" (if (logtest? (-> s4-0 flags) 2) - "VALID" - "-" - ) - ) - (format #t " ~S" (if (logtest? (-> s4-0 flags) 4) - "EDITED" - "-" - ) - ) - (format #t " ~S" (if (logtest? (-> s4-0 flags) 1) - "USER_GENERATED" - "-" - ) - ) - (format #t "~%") - (let ((v1-10 (-> s4-0 item-list))) - "return the start of the list" - (let ((s3-0 (the-as anim-test-seq-item (-> v1-10 head)))) - (while (let ((v1-22 s3-0)) - "is this node the end of the list. #t = end" - (not (not (-> v1-22 next))) + (format #t "object ~A~%" (-> s5-0 privname)) + (let ((v1-2 (-> s5-0 seq-list))) + "return the start of the list" + (let ((s4-0 (the-as anim-test-sequence (-> v1-2 head)))) + (while (let ((v1-29 s4-0)) + "is this node the end of the list. #t = end" + (not (not (-> v1-29 next))) + ) + (format #t " seq ~A" (-> s4-0 privname)) + (format #t " ~S" (if (logtest? (-> s4-0 flags) 2) + "VALID" + "-" + ) + ) + (format #t " ~S" (if (logtest? (-> s4-0 flags) 4) + "EDITED" + "-" + ) + ) + (format #t " ~S" (if (logtest? (-> s4-0 flags) 1) + "USER_GENERATED" + "-" + ) + ) + (format #t "~%") + (let ((v1-10 (-> s4-0 item-list))) + "return the start of the list" + (let ((s3-0 (the-as anim-test-seq-item (-> v1-10 head)))) + (while (let ((v1-22 s3-0)) + "is this node the end of the list. #t = end" + (not (not (-> v1-22 next))) + ) + (format + #t + " item ~A SP=~f BL=~d FIRST=" + (-> s3-0 privname) + (* (-> (new 'static 'array float 1 0.01) 0) (the float (-> s3-0 speed))) + (-> s3-0 blend) + ) + (anim-tester-num-print #t (-> s3-0 first-frame)) + (format #t " LAST=") + (anim-tester-num-print #t (-> s3-0 last-frame)) + (format #t " ~S" (if (logtest? (-> s3-0 flags) 1) + "END_MARKER" + "-" + ) + ) + (format #t " ~S" (if (logtest? (-> s3-0 flags) 2) + "WAIT_FOR_BLEND" + "-" + ) + ) + (format #t " ~S" (if (logtest? (-> s3-0 flags) 4) + "BLANK" + "-" + ) + ) + (format #t "~%") + "return the next node in the list" + (set! s3-0 (the-as anim-test-seq-item (-> s3-0 next))) + ) ) - (format - #t - " item ~A SP=~f BL=~d FIRST=" - (-> s3-0 privname) - (* - (-> (new 'static 'array float 1 0.01) 0) - (the float (-> s3-0 speed)) - ) - (-> s3-0 blend) + ) + "return the next node in the list" + (set! s4-0 (the-as anim-test-sequence (-> s4-0 next))) + ) ) - (anim-tester-num-print #t (-> s3-0 first-frame)) - (format #t " LAST=") - (anim-tester-num-print #t (-> s3-0 last-frame)) - (format #t " ~S" (if (logtest? (-> s3-0 flags) 1) - "END_MARKER" - "-" - ) - ) - (format #t " ~S" (if (logtest? (-> s3-0 flags) 2) - "WAIT_FOR_BLEND" - "-" - ) - ) - (format #t " ~S" (if (logtest? (-> s3-0 flags) 4) - "BLANK" - "-" - ) - ) - (format #t "~%") - "return the next node in the list" - (set! s3-0 (the-as anim-test-seq-item (-> s3-0 next))) - ) ) - ) "return the next node in the list" - (set! s4-0 (the-as anim-test-sequence (-> s4-0 next))) + (set! s5-0 (the-as anim-test-obj (-> s5-0 next))) ) - ) ) - "return the next node in the list" - (set! s5-0 (the-as anim-test-obj (-> s5-0 next))) - ) ) - ) (format #t "-------------~%") (format #t "current-obj=~A~%" (-> obj current-obj)) - (format - #t - "speed=~f~%" - (* (-> (new 'static 'array float 1 0.01) 0) (the float (-> obj speed))) - ) + (format #t "speed=~f~%" (* (-> (new 'static 'array float 1 0.01) 0) (the float (-> obj speed)))) (format #t "--flags:--~%") - (the-as - anim-tester - (format #t " CONNECTED: ~A~%" (if (logtest? (-> obj flags) 1) - "TRUE" - "f" - ) - ) - ) + (the-as anim-tester (format #t " CONNECTED: ~A~%" (if (logtest? (-> obj flags) 1) + "TRUE" + "f" + ) + ) + ) ) ;; definition for function anim-test-obj-item-valid? (defun anim-test-obj-item-valid? ((arg0 anim-test-obj) (arg1 anim-test-seq-item)) (let ((v1-0 (-> arg0 seq-list))) - "return the start of the list" - (let ((s5-0 (the-as anim-test-sequence (-> v1-0 head)))) - (while (let ((v1-13 s5-0)) - "is this node the end of the list. #t = end" - (not (not (-> v1-13 next))) - ) - (when - (and - (logtest? (-> s5-0 flags) 2) - (name= (-> arg1 privname) (-> s5-0 privname)) - ) - (let ((v1-7 (-> s5-0 item-list))) - "return the start of the list" - (let* ((v1-8 (the-as anim-test-seq-item (-> v1-7 head))) - (a0-4 v1-8) + "return the start of the list" + (let ((s5-0 (the-as anim-test-sequence (-> v1-0 head)))) + (while (let ((v1-13 s5-0)) + "is this node the end of the list. #t = end" + (not (not (-> v1-13 next))) + ) + (when (and (logtest? (-> s5-0 flags) 2) (name= (-> arg1 privname) (-> s5-0 privname))) + (let ((v1-7 (-> s5-0 item-list))) + "return the start of the list" + (let* ((v1-8 (the-as anim-test-seq-item (-> v1-7 head))) + (a0-4 v1-8) + ) + "is this node the end of the list. #t = end" + (when (not (not (-> a0-4 next))) + (set! (-> arg1 num-frames) (-> v1-8 num-frames)) + (set! (-> arg1 artist-base) (-> v1-8 artist-base)) + ) ) - "is this node the end of the list. #t = end" - (when (not (not (-> a0-4 next))) - (set! (-> arg1 num-frames) (-> v1-8 num-frames)) - (set! (-> arg1 artist-base) (-> v1-8 artist-base)) - ) + ) + (return #t) + ) + "return the next node in the list" + (set! s5-0 (the-as anim-test-sequence (-> s5-0 next))) ) - ) - (return #t) ) - "return the next node in the list" - (set! s5-0 (the-as anim-test-sequence (-> s5-0 next))) - ) ) - ) #f ) @@ -945,99 +853,81 @@ (defun anim-test-obj-remove-invalid ((arg0 anim-test-obj)) (local-vars (v1-19 symbol)) (let ((v1-0 (-> arg0 seq-list))) - "return the start of the list" - (let ((s5-0 (-> v1-0 head))) - (while (let ((v1-25 (the-as anim-test-sequence s5-0))) - "is this node the end of the list. #t = end" - (not (not (-> v1-25 next))) - ) - (let ((v1-1 (the-as anim-test-sequence s5-0))) - "return the next node in the list" - (let ((s4-0 (-> v1-1 next))) - (when (zero? (logand (-> (the-as anim-test-sequence s5-0) flags) 2)) - (let ((v1-5 (-> (the-as anim-test-sequence s5-0) item-list))) - "return the start of the list" - (let ((s3-0 (the-as anim-test-seq-item (-> v1-5 head)))) - (while (let ((v1-13 s3-0)) - "is this node the end of the list. #t = end" - (not (not (-> v1-13 next))) - ) - (let ((v1-6 s3-0)) - "return the next node in the list" - (let ((s2-0 (the-as anim-test-seq-item (-> v1-6 next)))) - (if - (and - (zero? (logand (-> s3-0 flags) 1)) - (not (anim-test-obj-item-valid? arg0 s3-0)) + "return the start of the list" + (let ((s5-0 (-> v1-0 head))) + (while (let ((v1-25 (the-as anim-test-sequence s5-0))) + "is this node the end of the list. #t = end" + (not (not (-> v1-25 next))) ) - (glst-remove (-> (the-as anim-test-sequence s5-0) item-list) s3-0) - ) - (set! s3-0 s2-0) - ) - ) - ) - ) - ) - ) - (let ((v1-18 (-> (the-as anim-test-sequence s5-0) item-list))) - "is the list empty, #t = empty" - (if - (or - (= (-> v1-18 tailpred) v1-18) - (and - (= - (glst-num-elements (-> (the-as anim-test-sequence s5-0) item-list)) - 1 - ) - (begin - (let ((v1-21 #t) - (a0-13 (-> (the-as anim-test-sequence s5-0) item-list)) + (let ((v1-1 (the-as anim-test-sequence s5-0))) + "return the next node in the list" + (let ((s4-0 (-> v1-1 next))) + (when (zero? (logand (-> (the-as anim-test-sequence s5-0) flags) 2)) + (let ((v1-5 (-> (the-as anim-test-sequence s5-0) item-list))) + "return the start of the list" + (let ((s3-0 (the-as anim-test-seq-item (-> v1-5 head)))) + (while (let ((v1-13 s3-0)) + "is this node the end of the list. #t = end" + (not (not (-> v1-13 next))) + ) + (let ((v1-6 s3-0)) + "return the next node in the list" + (let ((s2-0 (the-as anim-test-seq-item (-> v1-6 next)))) + (if (and (zero? (logand (-> s3-0 flags) 1)) (not (anim-test-obj-item-valid? arg0 s3-0))) + (glst-remove (-> (the-as anim-test-sequence s5-0) item-list) s3-0) + ) + (set! s3-0 s2-0) + ) + ) + ) ) - "return the start of the list" - (let - ((a0-16 - (the-as - int - (logand - (-> (the-as anim-test-seq-item (-> a0-13 head)) flags) - 1 - ) - ) ) - ) - (cmove-#f-zero v1-19 a0-16 v1-21) ) - ) - v1-19 + (let ((v1-18 (-> (the-as anim-test-sequence s5-0) item-list))) + "is the list empty, #t = empty" + (if (or + (= (-> v1-18 tailpred) v1-18) + (and + (= (glst-num-elements (-> (the-as anim-test-sequence s5-0) item-list)) 1) + (begin + (let ((v1-21 #t) + (a0-13 (-> (the-as anim-test-sequence s5-0) item-list)) + ) + "return the start of the list" + (let ((a0-16 (the-as int (logand (-> (the-as anim-test-seq-item (-> a0-13 head)) flags) 1)))) + (cmove-#f-zero v1-19 a0-16 v1-21) + ) + ) + v1-19 + ) + ) + ) + (glst-remove (-> arg0 seq-list) (the-as anim-test-sequence s5-0)) + ) + ) + (set! s5-0 (the-as anim-test-sequence s4-0)) ) - ) ) - (glst-remove (-> arg0 seq-list) (the-as anim-test-sequence s5-0)) - ) ) - (set! s5-0 (the-as anim-test-sequence s4-0)) - ) ) - ) ) - ) (let ((v1-30 (-> arg0 seq-list))) - "return the start of the list" - (let ((v1-31 (the-as anim-test-sequence (-> v1-30 head)))) - (while (let ((a0-23 v1-31)) - "is this node the end of the list. #t = end" - (not (not (-> a0-23 next))) + "return the start of the list" + (let ((v1-31 (the-as anim-test-sequence (-> v1-30 head)))) + (while (let ((a0-23 v1-31)) + "is this node the end of the list. #t = end" + (not (not (-> a0-23 next))) + ) + (let ((a0-20 v1-31)) + "return the next node in the list" + (let ((a0-21 (-> a0-20 next))) + (set! (-> v1-31 flags) (logand -3 (-> v1-31 flags))) + (set! v1-31 (the-as anim-test-sequence a0-21)) ) - (let ((a0-20 v1-31)) - "return the next node in the list" - (let ((a0-21 (-> a0-20 next))) - (set! (-> v1-31 flags) (logand -3 (-> v1-31 flags))) - (set! v1-31 (the-as anim-test-sequence a0-21)) - ) + ) + ) ) - ) ) - ) #f ) @@ -1045,15 +935,15 @@ ;; INFO: Return type mismatch int vs none. (defbehavior anim-tester-real-post anim-tester () (when (logtest? (-> self flags) 1) - (if (logtest? (-> self flags) 32) - (vector-v+! (-> self root trans) (-> self root trans) (-> self root transv)) + (if (logtest? (-> self flags) 32) + (vector-v+! (-> self root trans) (-> self root trans) (-> self root transv)) + ) + (ja-post) + (when (logtest? (-> self flags) 16) + (draw-joint-spheres self) + (dummy-10 (-> self skel) (the-as symbol *stdcon*)) + ) ) - (ja-post) - (when (logtest? (-> self flags) 16) - (draw-joint-spheres self) - (dummy-10 (-> self skel) (the-as symbol *stdcon*)) - ) - ) (none) ) @@ -1067,227 +957,178 @@ (defbehavior anim-tester-update-anim-info anim-tester ((arg0 anim-test-seq-item)) (set! (-> self anim-first) (-> arg0 first-frame)) (set! (-> self anim-last) (-> arg0 last-frame)) - (set! - (-> self anim-gspeed) - (* (-> (new 'static 'array float 1 0.01) 0) (the float (-> self speed))) - ) - (set! - (-> self anim-speed) - (* - (-> (new 'static 'array float 1 0.01) 0) - (-> self anim-gspeed) - (the float (-> arg0 speed)) - ) - ) + (set! (-> self anim-gspeed) (* (-> (new 'static 'array float 1 0.01) 0) (the float (-> self speed)))) + (set! (-> self anim-speed) + (* (-> (new 'static 'array float 1 0.01) 0) (-> self anim-gspeed) (the float (-> arg0 speed))) + ) (when (< (-> self anim-speed) 0.0) - (set! (-> self anim-first) (-> arg0 last-frame)) - (set! (-> self anim-last) (-> arg0 first-frame)) - ) + (set! (-> self anim-first) (-> arg0 last-frame)) + (set! (-> self anim-last) (-> arg0 first-frame)) + ) (set! (-> self anim-gspeed) (fabs (-> self anim-gspeed))) (let ((f0-13 (fabs (-> self anim-speed)))) - (set! (-> self anim-speed) f0-13) - f0-13 - ) + (set! (-> self anim-speed) f0-13) + f0-13 + ) ) ;; definition for function anim-tester-reset ;; Used lq/sq (defbehavior anim-tester-reset anim-tester () (let ((v1-0 (-> self obj-list))) - "is the list empty, #t = empty" - (cond - ((= (-> v1-0 tailpred) v1-0) - (set! (-> self list-con current-index) 0) - (set! (-> self current-obj) "") - ) - (else - (let - ((v1-1 - (the-as - anim-test-obj - (glst-find-node-by-name (-> self obj-list) (-> self current-obj)) - ) - ) + "is the list empty, #t = empty" + (cond + ((= (-> v1-0 tailpred) v1-0) + (set! (-> self list-con current-index) 0) + (set! (-> self current-obj) "") ) - (when (not v1-1) - (if - (>= - (-> self list-con current-index) - (glst-num-elements (-> self obj-list)) - ) - (set! - (-> self list-con current-index) - (+ (glst-num-elements (-> self obj-list)) -1) - ) + (else + (let ((v1-1 (the-as anim-test-obj (glst-find-node-by-name (-> self obj-list) (-> self current-obj))))) + (when (not v1-1) + (if (>= (-> self list-con current-index) (glst-num-elements (-> self obj-list))) + (set! (-> self list-con current-index) (+ (glst-num-elements (-> self obj-list)) -1)) + ) + (set! v1-1 + (the-as anim-test-obj (glst-get-node-by-index (-> self obj-list) (-> self list-con current-index))) + ) + (set! (-> self current-obj) (-> v1-1 privname)) + ) + (cond + ((or (not (-> v1-1 joint-geo)) (not (-> v1-1 mesh-geo))) + (format #t "what's this? ~A~%" (-> v1-1 privname)) + (format #t "it's missing a joint-geo, or a mesh-geo or a mesh-anim~%") + ) + (else + (let ((a0-15 (-> v1-1 joint-geo))) + (let ((a1-4 (-> v1-1 mesh-geo))) + (set! (-> self draw art-group) (-> v1-1 obj-art-group)) + (set! (-> self draw cur-lod) -1) + (set! (-> self draw jgeo) a0-15) + (set! (-> self draw sink-group) (-> *level* level-default foreground-sink-group 1)) + (set! (-> self draw lod-set lod 0 geo) a1-4) + ) + (set! (-> self draw lod-set lod 0 dist) (-> (new 'static 'array float 1 4095996000.0) 0)) + (set! (-> self draw bounds w) (-> (new 'static 'array float 1 40960.0) 0)) + (set! (-> self draw data-format) (the-as uint 1)) + (let ((v1-16 (-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad))) + (set! (-> self draw color-mult quad) v1-16) + ) + (let ((v1-18 (-> (new 'static 'vector) quad))) + (set! (-> self draw color-emissive quad) v1-18) + ) + (set! (-> self draw secondary-interp) 0.0) + (set! (-> self draw shadow) #f) + (set! (-> self draw shadow-ctrl) #f) + (set! (-> self draw ripple) #f) + (set! (-> self draw level-index) (the-as uint 2)) + (set! (-> self node-list) (make-nodes-from-jg a0-15 *default-skel-template* 'debug)) + ) + (set! (-> self skel effect) (new 'process 'effect-control self)) + (fill-skeleton-cache self) + (lod-set! (-> self draw) 0) + (ja-channel-set! 0) + (ja-post) + ) + ) + ) ) - (set! - v1-1 - (the-as - anim-test-obj - (glst-get-node-by-index - (-> self obj-list) - (-> self list-con current-index) - ) - ) - ) - (set! (-> self current-obj) (-> v1-1 privname)) - ) - (cond - ((or (not (-> v1-1 joint-geo)) (not (-> v1-1 mesh-geo))) - (format #t "what's this? ~A~%" (-> v1-1 privname)) - (format #t "it's missing a joint-geo, or a mesh-geo or a mesh-anim~%") - ) - (else - (let ((a0-15 (-> v1-1 joint-geo))) - (let ((a1-4 (-> v1-1 mesh-geo))) - (set! (-> self draw art-group) (-> v1-1 obj-art-group)) - (set! (-> self draw cur-lod) -1) - (set! (-> self draw jgeo) a0-15) - (set! - (-> self draw sink-group) - (-> *level* level-default foreground-sink-group 1) - ) - (set! (-> self draw lod-set lod 0 geo) a1-4) - ) - (set! - (-> self draw lod-set lod 0 dist) - (-> (new 'static 'array float 1 4095996000.0) 0) - ) - (set! - (-> self draw bounds w) - (-> (new 'static 'array float 1 40960.0) 0) - ) - (set! (-> self draw data-format) (the-as uint 1)) - (let - ((v1-16 (-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad))) - (set! (-> self draw color-mult quad) v1-16) - ) - (let ((v1-18 (-> (new 'static 'vector) quad))) - (set! (-> self draw color-emissive quad) v1-18) - ) - (set! (-> self draw secondary-interp) 0.0) - (set! (-> self draw shadow) #f) - (set! (-> self draw shadow-ctrl) #f) - (set! (-> self draw ripple) #f) - (set! (-> self draw level-index) (the-as uint 2)) - (set! - (-> self node-list) - (make-nodes-from-jg a0-15 *default-skel-template* 'debug) - ) - ) - (set! (-> self skel effect) (new 'process 'effect-control self)) - (fill-skeleton-cache self) - (lod-set! (-> self draw) 0) - (ja-channel-set! 0) - (ja-post) - ) - ) ) - ) ) - ) (none) ) ;; definition for function anim-tester-disp-frame-num ;; Used lq/sq -(defun - anim-tester-disp-frame-num - ((arg0 string) (arg1 float) (arg2 float) (arg3 font-context)) +(defun anim-tester-disp-frame-num ((arg0 string) (arg1 float) (arg2 float) (arg3 font-context)) (local-vars (sv-16 (function _varargs_ object))) (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) (gp-0 (-> s3-0 base)) ) - (cond - ((= arg1 (-> (new 'static 'array float 1 -1.0) 0)) - (let ((s2-1 draw-string-adv)) - (format (clear *temp-string*) "~Smin" arg0) - (s2-1 *temp-string* s3-0 arg3) - ) - ) - ((= arg1 (-> (new 'static 'array float 1 -2.0) 0)) - (let ((s2-2 draw-string-adv)) - (format (clear *temp-string*) "~Smax" arg0) - (s2-2 *temp-string* s3-0 arg3) - ) - ) - (else - (let ((s0-0 draw-string-adv)) - (set! sv-16 format) - (let ((a0-11 (clear *temp-string*)) - (a1-5 "~S~3,,0f") - (a2-5 arg0) - (a3-1 (+ arg1 arg2)) - ) - (sv-16 a0-11 a1-5 a2-5 a3-1) + (cond + ((= arg1 (-> (new 'static 'array float 1 -1.0) 0)) + (let ((s2-1 draw-string-adv)) + (format (clear *temp-string*) "~Smin" arg0) + (s2-1 *temp-string* s3-0 arg3) + ) ) - (s0-0 *temp-string* s3-0 arg3) + ((= arg1 (-> (new 'static 'array float 1 -2.0) 0)) + (let ((s2-2 draw-string-adv)) + (format (clear *temp-string*) "~Smax" arg0) + (s2-2 *temp-string* s3-0 arg3) + ) + ) + (else + (let ((s0-0 draw-string-adv)) + (set! sv-16 format) + (let ((a0-11 (clear *temp-string*)) + (a1-5 "~S~3,,0f") + (a2-5 arg0) + (a3-1 (+ arg1 arg2)) + ) + (sv-16 a0-11 a1-5 a2-5 a3-1) + ) + (s0-0 *temp-string* s3-0 arg3) + ) + ) ) - ) - ) - (let ((a3-2 (-> s3-0 base))) - (let ((v1-6 (the-as object (-> s3-0 base)))) - (set! - (-> (the-as dma-packet v1-6) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + (let ((a3-2 (-> s3-0 base))) + (let ((v1-6 (the-as object (-> s3-0 base)))) + (set! (-> (the-as dma-packet v1-6) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-6) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-6) vif1) (new 'static 'vif-tag)) + (set! (-> s3-0 base) (&+ (the-as pointer v1-6) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-0 + (the-as (pointer dma-tag) a3-2) + ) ) - (set! (-> (the-as dma-packet v1-6) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-6) vif1) (new 'static 'vif-tag)) - (set! (-> s3-0 base) (&+ (the-as pointer v1-6) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-0 - (the-as (pointer dma-tag) a3-2) - ) ) - ) ) ;; definition for function anim-tester-standard-event-handler -(defbehavior - anim-tester-standard-event-handler anim-tester - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('reset) +(defbehavior anim-tester-standard-event-handler anim-tester ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('reset) (process-disconnect self) (set! (-> self flags) (logand -2 (-> self flags))) (when (!= (-> *anim-tester* 0 edit-mode) 1) - (set! (-> *debug-menu-context* is-hidden) #f) - (set! (-> *anim-tester* 0 edit-mode) 0) - (set! *camera-read-buttons* #t) - ) + (set! (-> *debug-menu-context* is-hidden) #f) + (set! (-> *anim-tester* 0 edit-mode) 0) + (set! *camera-read-buttons* #t) + ) (anim-tester-reset) (go anim-tester-process) ) - (('change-anim) - (go anim-tester-process) + (('change-anim) + (go anim-tester-process) + ) + (('pick-object) + (set! (-> self edit-mode) 1) + (set! *camera-read-buttons* #f) + #f + ) + (('pick-joint-anim) + (set! (-> self edit-mode) 2) + (set! *camera-read-buttons* #f) + #f + ) + (('pick-sequence) + (set! (-> self edit-mode) 3) + (set! *camera-read-buttons* #f) + #f + ) + (('edit-sequence) + (set! (-> self edit-mode) 4) + (set! *camera-read-buttons* #f) + #f + ) + (('save-sequences) + (anim-tester-save-all-objects self) + ) ) - (('pick-object) - (set! (-> self edit-mode) 1) - (set! *camera-read-buttons* #f) - #f - ) - (('pick-joint-anim) - (set! (-> self edit-mode) 2) - (set! *camera-read-buttons* #f) - #f - ) - (('pick-sequence) - (set! (-> self edit-mode) 3) - (set! *camera-read-buttons* #f) - #f - ) - (('edit-sequence) - (set! (-> self edit-mode) 4) - (set! *camera-read-buttons* #f) - #f - ) - (('save-sequences) - (anim-tester-save-all-objects self) - ) - ) ) ;; definition for function anim-test-obj-list-handler @@ -1295,142 +1136,131 @@ (let ((s5-0 (-> arg1 the-node)) (v1-0 arg0) ) - (cond - ((zero? v1-0) - (let* - ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s4-0 (-> s3-0 base)) + (cond + ((zero? v1-0) + (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s4-0 (-> s3-0 base)) + ) + (let ((s2-0 draw-string-xy)) + (format + (clear *temp-string*) + "~S~S~S" + (if (= (-> arg1 the-index) (-> arg1 highlight-index)) + ">" + " " + ) + (if (logtest? (-> (the-as anim-test-obj s5-0) flags) 1) + "*" + " " + ) + (-> (the-as anim-test-obj s5-0) privname) + ) + (s2-0 + *temp-string* + s3-0 + (-> arg1 xpos) + (-> arg1 ypos) + (the-as font-color (if (= (-> arg1 the-index) (-> arg1 current-index)) + 15 + 12 + ) + ) + (font-flags shadow kerning) + ) + ) + (let ((a3-2 (-> s3-0 base))) + (let ((v1-8 (the-as object (-> s3-0 base)))) + (set! (-> (the-as dma-packet v1-8) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-8) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-8) vif1) (new 'static 'vif-tag)) + (set! (-> s3-0 base) (&+ (the-as pointer v1-8) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s4-0 + (the-as (pointer dma-tag) a3-2) + ) + ) + ) ) - (let ((s2-0 draw-string-xy)) - (format - (clear *temp-string*) - "~S~S~S" - (if (= (-> arg1 the-index) (-> arg1 highlight-index)) - ">" - " " - ) - (if (logtest? (-> (the-as anim-test-obj s5-0) flags) 1) - "*" - " " - ) - (-> (the-as anim-test-obj s5-0) privname) - ) - (s2-0 - *temp-string* - s3-0 - (-> arg1 xpos) - (-> arg1 ypos) - (the-as font-color (if (= (-> arg1 the-index) (-> arg1 current-index)) - 15 - 12 - ) - ) - (font-flags shadow kerning) - ) + ((= v1-0 1) + (return #t) ) - (let ((a3-2 (-> s3-0 base))) - (let ((v1-8 (the-as object (-> s3-0 base)))) - (set! - (-> (the-as dma-packet v1-8) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + ((= v1-0 4) + (cond + ((cpad-pressed? 0 up) + (if (> (-> arg1 highlight-index) 0) + (+! (-> arg1 highlight-index) -1) + ) + ) + ((cpad-pressed? 0 down) + (if (< (-> arg1 highlight-index) (glst-num-elements (-> arg1 list))) + (+! (-> arg1 highlight-index) 1) + ) + ) + ((cpad-pressed? 0 x) + (let ((v1-38 (the-as object (-> arg1 list-owner)))) + (set! (-> arg1 current-index) (-> arg1 the-index)) + (set! (-> (the-as anim-tester v1-38) current-obj) (-> (the-as anim-test-obj s5-0) privname)) + ) + (send-event (ppointer->process *anim-tester*) 'reset #f) + ) + ((cpad-pressed? 0 square) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons square)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons square)) + (set! (-> *debug-menu-context* is-hidden) #f) + (set! (-> *anim-tester* 0 edit-mode) 0) + (set! *camera-read-buttons* #t) + (logior! (-> *anim-tester* 0 flags) 4) + ) + ) + ) + ((= v1-0 2) + (let ((v1-64 (+ (length (-> (the-as anim-test-obj s5-0) privname)) 2))) + (set! v1-64 (cond + ((< (-> *ANIM_TESTER-bank* OBJECT_LIST_MIN_WIDTH) v1-64) + (empty) + v1-64 + ) + (else + (-> *ANIM_TESTER-bank* OBJECT_LIST_MIN_WIDTH) + ) + ) + ) + (set! (-> arg1 return-int) v1-64) + ) + ) + ((= v1-0 3) + (let* ((s4-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s5-2 (-> s4-1 base)) + ) + (draw-string-xy + "----pick-object---" + s4-1 + (-> arg1 xpos) + (-> arg1 ypos) + (font-color dim-white) + (font-flags shadow kerning) + ) + (let ((a3-4 (-> s4-1 base))) + (let ((v1-70 (the-as object (-> s4-1 base)))) + (set! (-> (the-as dma-packet v1-70) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-70) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-70) vif1) (new 'static 'vif-tag)) + (set! (-> s4-1 base) (&+ (the-as pointer v1-70) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s5-2 + (the-as (pointer dma-tag) a3-4) + ) + ) ) - (set! (-> (the-as dma-packet v1-8) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-8) vif1) (new 'static 'vif-tag)) - (set! (-> s3-0 base) (&+ (the-as pointer v1-8) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s4-0 - (the-as (pointer dma-tag) a3-2) - ) ) ) - ) - ((= v1-0 1) - (return #t) - ) - ((= v1-0 4) - (cond - ((cpad-pressed? 0 up) - (if (> (-> arg1 highlight-index) 0) - (+! (-> arg1 highlight-index) -1) - ) - ) - ((cpad-pressed? 0 down) - (if (< (-> arg1 highlight-index) (glst-num-elements (-> arg1 list))) - (+! (-> arg1 highlight-index) 1) - ) - ) - ((cpad-pressed? 0 x) - (let ((v1-38 (the-as object (-> arg1 list-owner)))) - (set! (-> arg1 current-index) (-> arg1 the-index)) - (set! - (-> (the-as anim-tester v1-38) current-obj) - (-> (the-as anim-test-obj s5-0) privname) - ) - ) - (send-event (ppointer->process *anim-tester*) 'reset #f) - ) - ((cpad-pressed? 0 square) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons square)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons square)) - (set! (-> *debug-menu-context* is-hidden) #f) - (set! (-> *anim-tester* 0 edit-mode) 0) - (set! *camera-read-buttons* #t) - (logior! (-> *anim-tester* 0 flags) 4) - ) - ) - ) - ((= v1-0 2) - (let ((v1-64 (+ (length (-> (the-as anim-test-obj s5-0) privname)) 2))) - (set! v1-64 (cond - ((< (-> *ANIM_TESTER-bank* OBJECT_LIST_MIN_WIDTH) v1-64) - (empty) - v1-64 - ) - (else - (-> *ANIM_TESTER-bank* OBJECT_LIST_MIN_WIDTH) - ) - ) - ) - (set! (-> arg1 return-int) v1-64) - ) - ) - ((= v1-0 3) - (let* - ((s4-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s5-2 (-> s4-1 base)) - ) - (draw-string-xy - "----pick-object---" - s4-1 - (-> arg1 xpos) - (-> arg1 ypos) - (font-color dim-white) - (font-flags shadow kerning) - ) - (let ((a3-4 (-> s4-1 base))) - (let ((v1-70 (the-as object (-> s4-1 base)))) - (set! - (-> (the-as dma-packet v1-70) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-70) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-70) vif1) (new 'static 'vif-tag)) - (set! (-> s4-1 base) (&+ (the-as pointer v1-70) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s5-2 - (the-as (pointer dma-tag) a3-4) - ) - ) - ) - ) ) - ) #f ) @@ -1439,202 +1269,171 @@ (let* ((s5-0 (the-as anim-test-obj (-> arg1 the-node))) (v1-0 (the-as object (-> s5-0 list-con user-info-u))) ) - (cond - ((zero? arg0) - (let* - ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s4-0 (-> s3-0 base)) - ) - (let ((s2-0 draw-string-xy)) - (format - (clear *temp-string*) - "~S~S" - (if (= (-> arg1 the-index) (-> arg1 highlight-index)) - "> " - " " - ) - (-> s5-0 privname) - ) - (s2-0 - *temp-string* - s3-0 - (-> arg1 xpos) - (-> arg1 ypos) - (the-as font-color (if (= (-> arg1 the-index) (-> arg1 current-index)) - 15 - 12 - ) - ) - (font-flags shadow kerning) - ) - ) - (let ((a3-2 (-> s3-0 base))) - (let ((v1-6 (the-as object (-> s3-0 base)))) - (set! - (-> (the-as dma-packet v1-6) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-6) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-6) vif1) (new 'static 'vif-tag)) - (set! (-> s3-0 base) (&+ (the-as pointer v1-6) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s4-0 - (the-as (pointer dma-tag) a3-2) - ) - ) - ) - ) - ((= arg0 1) - (return (zero? (logand (-> s5-0 flags) 1))) - ) - ((= arg0 4) - (cond - ((cpad-pressed? 0 up) - (let ((v1-15 (-> arg1 list))) - "is the list empty, #t = empty" - (when (not (= (-> v1-15 tailpred) v1-15)) - (let - ((v1-17 - (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)) - ) - ) - (while #t - "return the previous node in the list" - (set! v1-17 (-> (the-as anim-test-obj v1-17) prev)) - (let ((a0-23 (the-as anim-test-obj v1-17))) - "is this node the start of the list. #t = start" - (if (not (-> a0-23 prev)) - (goto cfg-25) + (cond + ((zero? arg0) + (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s4-0 (-> s3-0 base)) + ) + (let ((s2-0 draw-string-xy)) + (format + (clear *temp-string*) + "~S~S" + (if (= (-> arg1 the-index) (-> arg1 highlight-index)) + "> " + " " + ) + (-> s5-0 privname) ) - ) - (when (zero? (logand (-> (the-as anim-test-obj v1-17) flags) 1)) - (set! - (-> arg1 highlight-index) - (glst-get-node-index (-> arg1 list) (the-as anim-test-obj v1-17)) + (s2-0 + *temp-string* + s3-0 + (-> arg1 xpos) + (-> arg1 ypos) + (the-as font-color (if (= (-> arg1 the-index) (-> arg1 current-index)) + 15 + 12 + ) + ) + (font-flags shadow kerning) + ) + ) + (let ((a3-2 (-> s3-0 base))) + (let ((v1-6 (the-as object (-> s3-0 base)))) + (set! (-> (the-as dma-packet v1-6) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-6) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-6) vif1) (new 'static 'vif-tag)) + (set! (-> s3-0 base) (&+ (the-as pointer v1-6) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s4-0 + (the-as (pointer dma-tag) a3-2) ) - (goto cfg-25) - ) ) - ) ) - ) - (label cfg-25) ) - ((cpad-pressed? 0 down) - (let ((v1-21 (-> arg1 list))) - "is the list empty, #t = empty" - (when (not (= (-> v1-21 tailpred) v1-21)) - (let - ((v1-23 - (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)) - ) - ) - (while #t - "return the next node in the list" - (set! v1-23 (-> (the-as anim-test-obj v1-23) next)) - (let ((a0-40 (the-as anim-test-obj v1-23))) - "is this node the end of the list. #t = end" - (if (not (-> a0-40 next)) - (goto cfg-39) - ) - ) - (when (zero? (logand (-> (the-as anim-test-obj v1-23) flags) 1)) - (set! - (-> arg1 highlight-index) - (glst-get-node-index (-> arg1 list) (the-as anim-test-obj v1-23)) - ) - (goto cfg-39) - ) - ) - ) - ) - ) - (label cfg-39) + ((= arg0 1) + (return (zero? (logand (-> s5-0 flags) 1))) ) - ((= (-> arg1 user-info) 1) - ) - (else + ((= arg0 4) (cond - ((cpad-pressed? 0 x) - (set! (-> arg1 current-index) (-> arg1 the-index)) - (set! - (-> (the-as anim-test-obj v1-0) anim-index) - (-> arg1 current-index) - ) - (set! - (-> (the-as anim-test-obj v1-0) anim-hindex) - (-> arg1 highlight-index) - ) - (set! - (-> (the-as anim-test-obj v1-0) flags) - (logand -3 (-> (the-as anim-test-obj v1-0) flags)) - ) - (send-event (ppointer->process *anim-tester*) 'change-anim #f) - ) - ((cpad-pressed? 0 square) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons square)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons square)) - (set! (-> *debug-menu-context* is-hidden) #f) - (set! (-> *anim-tester* 0 edit-mode) 0) - (set! *camera-read-buttons* #t) - (logior! (-> *anim-tester* 0 flags) 4) - ) - ) - ) - ) - ) - ((= arg0 2) - (let ((v1-55 (+ (length (-> s5-0 privname)) 2))) - (set! v1-55 (cond - ((< (-> *ANIM_TESTER-bank* ANIM_LIST_MIN_WIDTH) v1-55) - (empty) - v1-55 + ((cpad-pressed? 0 up) + (let ((v1-15 (-> arg1 list))) + "is the list empty, #t = empty" + (when (not (= (-> v1-15 tailpred) v1-15)) + (let ((v1-17 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) + (while #t + "return the previous node in the list" + (set! v1-17 (-> (the-as anim-test-obj v1-17) prev)) + (let ((a0-23 (the-as anim-test-obj v1-17))) + "is this node the start of the list. #t = start" + (if (not (-> a0-23 prev)) + (goto cfg-25) + ) ) - (else - (-> *ANIM_TESTER-bank* ANIM_LIST_MIN_WIDTH) + (when (zero? (logand (-> (the-as anim-test-obj v1-17) flags) 1)) + (set! (-> arg1 highlight-index) (glst-get-node-index (-> arg1 list) (the-as anim-test-obj v1-17))) + (goto cfg-25) ) - ) - ) - (set! (-> arg1 return-int) v1-55) - ) - ) - ((= arg0 3) - (let* - ((s4-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s5-1 (-> s4-1 base)) - ) - (draw-string-xy - "----pick-joint-anim----" - s4-1 - (-> arg1 xpos) - (-> arg1 ypos) - (font-color dim-white) - (font-flags shadow kerning) - ) - (let ((a3-4 (-> s4-1 base))) - (let ((v1-62 (the-as object (-> s4-1 base)))) - (set! - (-> (the-as dma-packet v1-62) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + ) + ) + ) + ) + (label cfg-25) + ) + ((cpad-pressed? 0 down) + (let ((v1-21 (-> arg1 list))) + "is the list empty, #t = empty" + (when (not (= (-> v1-21 tailpred) v1-21)) + (let ((v1-23 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) + (while #t + "return the next node in the list" + (set! v1-23 (-> (the-as anim-test-obj v1-23) next)) + (let ((a0-40 (the-as anim-test-obj v1-23))) + "is this node the end of the list. #t = end" + (if (not (-> a0-40 next)) + (goto cfg-39) + ) + ) + (when (zero? (logand (-> (the-as anim-test-obj v1-23) flags) 1)) + (set! (-> arg1 highlight-index) (glst-get-node-index (-> arg1 list) (the-as anim-test-obj v1-23))) + (goto cfg-39) + ) + ) + ) + ) + ) + (label cfg-39) + ) + ((= (-> arg1 user-info) 1) + ) + (else + (cond + ((cpad-pressed? 0 x) + (set! (-> arg1 current-index) (-> arg1 the-index)) + (set! (-> (the-as anim-test-obj v1-0) anim-index) (-> arg1 current-index)) + (set! (-> (the-as anim-test-obj v1-0) anim-hindex) (-> arg1 highlight-index)) + (set! (-> (the-as anim-test-obj v1-0) flags) (logand -3 (-> (the-as anim-test-obj v1-0) flags))) + (send-event (ppointer->process *anim-tester*) 'change-anim #f) + ) + ((cpad-pressed? 0 square) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons square)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons square)) + (set! (-> *debug-menu-context* is-hidden) #f) + (set! (-> *anim-tester* 0 edit-mode) 0) + (set! *camera-read-buttons* #t) + (logior! (-> *anim-tester* 0 flags) 4) + ) + ) + ) + ) + ) + ((= arg0 2) + (let ((v1-55 (+ (length (-> s5-0 privname)) 2))) + (set! v1-55 (cond + ((< (-> *ANIM_TESTER-bank* ANIM_LIST_MIN_WIDTH) v1-55) + (empty) + v1-55 + ) + (else + (-> *ANIM_TESTER-bank* ANIM_LIST_MIN_WIDTH) + ) + ) + ) + (set! (-> arg1 return-int) v1-55) + ) + ) + ((= arg0 3) + (let* ((s4-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s5-1 (-> s4-1 base)) + ) + (draw-string-xy + "----pick-joint-anim----" + s4-1 + (-> arg1 xpos) + (-> arg1 ypos) + (font-color dim-white) + (font-flags shadow kerning) + ) + (let ((a3-4 (-> s4-1 base))) + (let ((v1-62 (the-as object (-> s4-1 base)))) + (set! (-> (the-as dma-packet v1-62) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-62) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-62) vif1) (new 'static 'vif-tag)) + (set! (-> s4-1 base) (&+ (the-as pointer v1-62) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s5-1 + (the-as (pointer dma-tag) a3-4) + ) + ) ) - (set! (-> (the-as dma-packet v1-62) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-62) vif1) (new 'static 'vif-tag)) - (set! (-> s4-1 base) (&+ (the-as pointer v1-62) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s5-1 - (the-as (pointer dma-tag) a3-4) - ) ) ) - ) ) - ) #f ) @@ -1643,296 +1442,256 @@ (let* ((s5-0 (the-as anim-test-sequence (-> arg1 the-node))) (v1-0 (-> s5-0 parent)) ) - (cond - ((zero? arg0) - (let* - ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s4-0 (-> s3-0 base)) - ) - (let ((s2-0 draw-string-xy)) - (format - (clear *temp-string*) - "~S~S~S" - (if (= (-> arg1 the-index) (-> arg1 highlight-index)) - ">" - " " - ) - (if (logtest? (-> s5-0 flags) 4) - "*" - " " - ) - (-> s5-0 privname) - ) - (s2-0 - *temp-string* - s3-0 - (-> arg1 xpos) - (-> arg1 ypos) - (the-as font-color (if (= (-> arg1 the-index) (-> arg1 current-index)) - 15 - 12 - ) - ) - (font-flags shadow kerning) - ) - ) - (let ((a3-2 (-> s3-0 base))) - (let ((v1-8 (the-as object (-> s3-0 base)))) - (set! - (-> (the-as dma-packet v1-8) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-8) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-8) vif1) (new 'static 'vif-tag)) - (set! (-> s3-0 base) (&+ (the-as pointer v1-8) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s4-0 - (the-as (pointer dma-tag) a3-2) - ) - ) - ) - ) - ((= arg0 1) - (return (logtest? (-> s5-0 flags) 1)) - ) - ((= arg0 4) - (cond - ((cpad-pressed? 0 up) - (let ((v1-17 (-> arg1 list))) - "is the list empty, #t = empty" - (when (not (= (-> v1-17 tailpred) v1-17)) - (let - ((v1-19 - (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)) - ) - ) - (while #t - "return the previous node in the list" - (set! v1-19 (-> (the-as anim-test-sequence v1-19) prev)) - (let ((a0-24 (the-as anim-test-sequence v1-19))) - "is this node the start of the list. #t = start" - (if (not (-> a0-24 prev)) - (goto cfg-28) - ) - ) - (when (logtest? (-> (the-as anim-test-sequence v1-19) flags) 1) - (set! - (-> arg1 highlight-index) - (glst-get-node-index - (-> arg1 list) - (the-as anim-test-sequence v1-19) + (cond + ((zero? arg0) + (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s4-0 (-> s3-0 base)) ) + (let ((s2-0 draw-string-xy)) + (format + (clear *temp-string*) + "~S~S~S" + (if (= (-> arg1 the-index) (-> arg1 highlight-index)) + ">" + " " + ) + (if (logtest? (-> s5-0 flags) 4) + "*" + " " + ) + (-> s5-0 privname) + ) + (s2-0 + *temp-string* + s3-0 + (-> arg1 xpos) + (-> arg1 ypos) + (the-as font-color (if (= (-> arg1 the-index) (-> arg1 current-index)) + 15 + 12 + ) + ) + (font-flags shadow kerning) ) - (goto cfg-28) - ) ) + (let ((a3-2 (-> s3-0 base))) + (let ((v1-8 (the-as object (-> s3-0 base)))) + (set! (-> (the-as dma-packet v1-8) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-8) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-8) vif1) (new 'static 'vif-tag)) + (set! (-> s3-0 base) (&+ (the-as pointer v1-8) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s4-0 + (the-as (pointer dma-tag) a3-2) + ) + ) + ) + ) + ((= arg0 1) + (return (logtest? (-> s5-0 flags) 1)) + ) + ((= arg0 4) + (cond + ((cpad-pressed? 0 up) + (let ((v1-17 (-> arg1 list))) + "is the list empty, #t = empty" + (when (not (= (-> v1-17 tailpred) v1-17)) + (let ((v1-19 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) + (while #t + "return the previous node in the list" + (set! v1-19 (-> (the-as anim-test-sequence v1-19) prev)) + (let ((a0-24 (the-as anim-test-sequence v1-19))) + "is this node the start of the list. #t = start" + (if (not (-> a0-24 prev)) + (goto cfg-28) + ) + ) + (when (logtest? (-> (the-as anim-test-sequence v1-19) flags) 1) + (set! (-> arg1 highlight-index) (glst-get-node-index (-> arg1 list) (the-as anim-test-sequence v1-19))) + (goto cfg-28) + ) + ) + ) + ) + ) + (label cfg-28) + ) + ((cpad-pressed? 0 down) + (let ((v1-23 (-> arg1 list))) + "is the list empty, #t = empty" + (when (not (= (-> v1-23 tailpred) v1-23)) + (let ((v1-25 (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)))) + (while #t + "return the next node in the list" + (set! v1-25 (-> (the-as anim-test-sequence v1-25) next)) + (let ((a0-42 (the-as anim-test-sequence v1-25))) + "is this node the end of the list. #t = end" + (if (not (-> a0-42 next)) + (goto cfg-42) + ) + ) + (when (logtest? (-> (the-as anim-test-sequence v1-25) flags) 1) + (set! (-> arg1 highlight-index) (glst-get-node-index (-> arg1 list) (the-as anim-test-sequence v1-25))) + (goto cfg-42) + ) + ) + ) + ) + ) + (label cfg-42) + ) + ((cpad-pressed? 0 x) + (set! (-> arg1 current-index) (-> arg1 the-index)) + (set! (-> v1-0 seq-index) (-> arg1 current-index)) + (set! (-> v1-0 seq-hindex) (-> arg1 highlight-index)) + (logior! (-> v1-0 flags) 2) + (set! (-> *anim-tester* 0 edit-mode) 4) + (send-event (ppointer->process *anim-tester*) 'change-anim #f) + ) + ((cpad-pressed? 0 square) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons square)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons square)) + (set! (-> *debug-menu-context* is-hidden) #f) + (set! (-> *anim-tester* 0 edit-mode) 0) + (set! *camera-read-buttons* #t) + (logior! (-> *anim-tester* 0 flags) 4) ) ) - ) - (label cfg-28) ) - ((cpad-pressed? 0 down) - (let ((v1-23 (-> arg1 list))) - "is the list empty, #t = empty" - (when (not (= (-> v1-23 tailpred) v1-23)) - (let - ((v1-25 - (glst-get-node-by-index (-> arg1 list) (-> arg1 highlight-index)) - ) - ) - (while #t - "return the next node in the list" - (set! v1-25 (-> (the-as anim-test-sequence v1-25) next)) - (let ((a0-42 (the-as anim-test-sequence v1-25))) - "is this node the end of the list. #t = end" - (if (not (-> a0-42 next)) - (goto cfg-42) - ) - ) - (when (logtest? (-> (the-as anim-test-sequence v1-25) flags) 1) - (set! - (-> arg1 highlight-index) - (glst-get-node-index - (-> arg1 list) - (the-as anim-test-sequence v1-25) + ((= arg0 2) + (let ((v1-57 (+ (length (-> s5-0 privname)) 2))) + (set! v1-57 (cond + ((< (-> *ANIM_TESTER-bank* PICK_LIST_MIN_WIDTH) v1-57) + (empty) + v1-57 + ) + (else + (-> *ANIM_TESTER-bank* PICK_LIST_MIN_WIDTH) + ) + ) + ) + (set! (-> arg1 return-int) v1-57) + ) + ) + ((= arg0 3) + (let* ((s4-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s5-1 (-> s4-1 base)) ) - ) - (goto cfg-42) - ) + (draw-string-xy + "----pick-sequence---" + s4-1 + (-> arg1 xpos) + (-> arg1 ypos) + (font-color dim-white) + (font-flags shadow kerning) + ) + (let ((a3-4 (-> s4-1 base))) + (let ((v1-64 (the-as object (-> s4-1 base)))) + (set! (-> (the-as dma-packet v1-64) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-64) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-64) vif1) (new 'static 'vif-tag)) + (set! (-> s4-1 base) (&+ (the-as pointer v1-64) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s5-1 + (the-as (pointer dma-tag) a3-4) + ) ) - ) ) - ) - (label cfg-42) - ) - ((cpad-pressed? 0 x) - (set! (-> arg1 current-index) (-> arg1 the-index)) - (set! (-> v1-0 seq-index) (-> arg1 current-index)) - (set! (-> v1-0 seq-hindex) (-> arg1 highlight-index)) - (logior! (-> v1-0 flags) 2) - (set! (-> *anim-tester* 0 edit-mode) 4) - (send-event (ppointer->process *anim-tester*) 'change-anim #f) - ) - ((cpad-pressed? 0 square) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons square)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons square)) - (set! (-> *debug-menu-context* is-hidden) #f) - (set! (-> *anim-tester* 0 edit-mode) 0) - (set! *camera-read-buttons* #t) - (logior! (-> *anim-tester* 0 flags) 4) ) ) - ) - ((= arg0 2) - (let ((v1-57 (+ (length (-> s5-0 privname)) 2))) - (set! v1-57 (cond - ((< (-> *ANIM_TESTER-bank* PICK_LIST_MIN_WIDTH) v1-57) - (empty) - v1-57 - ) - (else - (-> *ANIM_TESTER-bank* PICK_LIST_MIN_WIDTH) - ) - ) - ) - (set! (-> arg1 return-int) v1-57) - ) - ) - ((= arg0 3) - (let* - ((s4-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s5-1 (-> s4-1 base)) - ) - (draw-string-xy - "----pick-sequence---" - s4-1 - (-> arg1 xpos) - (-> arg1 ypos) - (font-color dim-white) - (font-flags shadow kerning) - ) - (let ((a3-4 (-> s4-1 base))) - (let ((v1-64 (the-as object (-> s4-1 base)))) - (set! - (-> (the-as dma-packet v1-64) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-64) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-64) vif1) (new 'static 'vif-tag)) - (set! (-> s4-1 base) (&+ (the-as pointer v1-64) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s5-1 - (the-as (pointer dma-tag) a3-4) - ) - ) - ) - ) ) - ) #f ) ;; definition for symbol anim-test-field-highlight-lw, type (inline-array list-field) -(define - anim-test-field-highlight-lw - (new 'static 'inline-array list-field 12 - (new 'static 'list-field :left 2 :width 20) - (new 'static 'list-field :left 30 :width 4) - (new 'static 'list-field :left 35 :width 4) - (new 'static 'list-field :left 40 :width 3) - (new 'static 'list-field :left 44 :width 3) - (new 'static 'list-field :left 48 :width 1) - (new 'static 'list-field :left 49 :width 1) - (new 'static 'list-field :left 50 :width 1) - (new 'static 'list-field :left 51 :width 1) - (new 'static 'list-field :left 53 :width 1) - (new 'static 'list-field :left 54 :width 1) - (new 'static 'list-field :left 55 :width 1) - ) - ) +(define anim-test-field-highlight-lw (new 'static 'inline-array list-field 12 + (new 'static 'list-field :left 2 :width 20) + (new 'static 'list-field :left 30 :width 4) + (new 'static 'list-field :left 35 :width 4) + (new 'static 'list-field :left 40 :width 3) + (new 'static 'list-field :left 44 :width 3) + (new 'static 'list-field :left 48 :width 1) + (new 'static 'list-field :left 49 :width 1) + (new 'static 'list-field :left 50 :width 1) + (new 'static 'list-field :left 51 :width 1) + (new 'static 'list-field :left 53 :width 1) + (new 'static 'list-field :left 54 :width 1) + (new 'static 'list-field :left 55 :width 1) + ) + ) ;; definition for function anim-tester-adjust-frame (defun anim-tester-adjust-frame ((arg0 float) (arg1 float)) (cond - ((cpad-hold? 0 down) - (cond - ((= arg0 (-> (new 'static 'array float 1 -2.0) 0)) - (set! arg0 (+ (-> (new 'static 'array float 1 -1.0) 0) arg1)) - ) - ((!= arg0 (-> (new 'static 'array float 1 -1.0) 0)) - (set! arg0 (+ (-> (new 'static 'array float 1 -1.0) 0) arg0)) - (if (< arg0 0.0) - (set! arg0 (-> (new 'static 'array float 1 -1.0) 0)) + ((cpad-hold? 0 down) + (cond + ((= arg0 (-> (new 'static 'array float 1 -2.0) 0)) + (set! arg0 (+ (-> (new 'static 'array float 1 -1.0) 0) arg1)) + ) + ((!= arg0 (-> (new 'static 'array float 1 -1.0) 0)) + (set! arg0 (+ (-> (new 'static 'array float 1 -1.0) 0) arg0)) + (if (< arg0 0.0) + (set! arg0 (-> (new 'static 'array float 1 -1.0) 0)) + ) + ) + ) + ) + ((cpad-hold? 0 up) + (cond + ((= arg0 (-> (new 'static 'array float 1 -1.0) 0)) + (set! arg0 (-> (new 'static 'array float 1 0.0) 0)) + ) + ((!= arg0 (-> (new 'static 'array float 1 -2.0) 0)) + (set! arg0 (+ (-> (new 'static 'array float 1 1.0) 0) arg0)) + (if (>= arg0 arg1) + (set! arg0 (-> (new 'static 'array float 1 -2.0) 0)) + ) + ) ) - ) ) ) - ((cpad-hold? 0 up) - (cond - ((= arg0 (-> (new 'static 'array float 1 -1.0) 0)) - (set! arg0 (-> (new 'static 'array float 1 0.0) 0)) - ) - ((!= arg0 (-> (new 'static 'array float 1 -2.0) 0)) - (set! arg0 (+ (-> (new 'static 'array float 1 1.0) 0) arg0)) - (if (>= arg0 arg1) - (set! arg0 (-> (new 'static 'array float 1 -2.0) 0)) - ) - ) - ) - ) - ) arg0 ) ;; definition for function anim-tester-pick-item-setup ;; INFO: Return type mismatch int vs none. -(defun - anim-tester-pick-item-setup - ((arg0 anim-test-seq-item) (arg1 anim-test-sequence)) +(defun anim-tester-pick-item-setup ((arg0 anim-test-seq-item) (arg1 anim-test-sequence)) (let ((gp-0 (-> arg1 parent))) - (set! (-> *anim-tester* 0 pick-con listfunc) anim-test-anim-list-handler) - (set! - (-> *anim-tester* 0 pick-con left) - (+ - (-> *ANIM_TESTER-bank* EDIT_LIST_X) - (* (-> *ANIM_TESTER-bank* EDIT_PICK_X) (-> *DISP_LIST-bank* CHAR_WIDTH)) - ) - ) - (set! (-> *anim-tester* 0 pick-con top) (-> *ANIM_TESTER-bank* EDIT_LIST_Y)) - (set! (-> *anim-tester* 0 pick-con list) (-> gp-0 seq-list)) - (set! (-> *anim-tester* 0 pick-con list-owner) (the-as uint gp-0)) - (set! (-> *anim-tester* 0 pick-con user-info) 1) - (let ((v1-10 (-> gp-0 seq-list))) - "return the start of the list" - (let ((v1-11 (-> v1-10 head))) - (while (let ((a1-16 v1-11)) - "is this node the end of the list. #t = end" - (not (not (-> a1-16 next))) + (set! (-> *anim-tester* 0 pick-con listfunc) anim-test-anim-list-handler) + (set! (-> *anim-tester* 0 pick-con left) + (+ (-> *ANIM_TESTER-bank* EDIT_LIST_X) + (* (-> *ANIM_TESTER-bank* EDIT_PICK_X) (-> *DISP_LIST-bank* CHAR_WIDTH)) ) - "return the next node in the list" - (set! v1-11 (-> v1-11 next)) + ) + (set! (-> *anim-tester* 0 pick-con top) (-> *ANIM_TESTER-bank* EDIT_LIST_Y)) + (set! (-> *anim-tester* 0 pick-con list) (-> gp-0 seq-list)) + (set! (-> *anim-tester* 0 pick-con list-owner) (the-as uint gp-0)) + (set! (-> *anim-tester* 0 pick-con user-info) 1) + (let ((v1-10 (-> gp-0 seq-list))) + "return the start of the list" + (let ((v1-11 (-> v1-10 head))) + (while (let ((a1-16 v1-11)) + "is this node the end of the list. #t = end" + (not (not (-> a1-16 next))) + ) + "return the next node in the list" + (set! v1-11 (-> v1-11 next)) + ) + ) + ) + (let ((a1-20 (glst-find-node-by-name (-> gp-0 seq-list) (-> arg0 privname)))) + (when a1-20 + (set! (-> *anim-tester* 0 pick-con highlight-index) (glst-get-node-index (-> gp-0 seq-list) a1-20)) + (set! (-> *anim-tester* 0 pick-con current-index) (-> *anim-tester* 0 pick-con highlight-index)) + ) ) - ) ) - (let ((a1-20 (glst-find-node-by-name (-> gp-0 seq-list) (-> arg0 privname)))) - (when a1-20 - (set! - (-> *anim-tester* 0 pick-con highlight-index) - (glst-get-node-index (-> gp-0 seq-list) a1-20) - ) - (set! - (-> *anim-tester* 0 pick-con current-index) - (-> *anim-tester* 0 pick-con highlight-index) - ) - ) - ) - ) (logior! (-> *anim-tester* 0 flags) 8) (none) ) @@ -1947,20 +1706,18 @@ ;; definition for function anim-test-edit-seq-insert-item ;; INFO: Return type mismatch object vs none. -(defun - anim-test-edit-seq-insert-item - ((arg0 anim-test-seq-item) (arg1 anim-test-sequence)) +(defun anim-test-edit-seq-insert-item ((arg0 anim-test-seq-item) (arg1 anim-test-sequence)) (let ((s4-0 (new 'debug 'anim-test-seq-item 1 ""))) - (anim-test-seq-item-copy! s4-0 arg0) - (when (logtest? (-> s4-0 flags) 1) - (set! (-> s4-0 flags) (logand -2 (-> s4-0 flags))) - (logior! (-> s4-0 flags) 4) - (let ((v1-8 s4-0)) - (set! (-> v1-8 privname) "--blank--") - ) + (anim-test-seq-item-copy! s4-0 arg0) + (when (logtest? (-> s4-0 flags) 1) + (set! (-> s4-0 flags) (logand -2 (-> s4-0 flags))) + (logior! (-> s4-0 flags) 4) + (let ((v1-8 s4-0)) + (set! (-> v1-8 privname) "--blank--") + ) + ) + (glst-insert-before (-> arg1 item-list) arg0 s4-0) ) - (glst-insert-before (-> arg1 item-list) arg0 s4-0) - ) (anim-test-seq-mark-as-edited arg1) (send-event (ppointer->process *anim-tester*) 'change-anim) (none) @@ -1973,699 +1730,539 @@ ;; Used lq/sq (defun anim-test-edit-sequence-list-handler ((arg0 int) (arg1 list-control)) (local-vars - (sv-192 (function string dma-buffer int int font-color font-flags none)) - (sv-208 (function _varargs_ object)) - ) + (sv-192 (function string dma-buffer int int font-color font-flags none)) + (sv-208 (function _varargs_ object)) + ) (let ((gp-0 (-> arg1 the-node)) (s4-0 (the-as object (-> arg1 list-owner))) - (s2-0 - (and - (logtest? (-> *anim-tester* 0 flags) 8) - (zero? (-> *anim-tester* 0 item-field)) - ) - ) + (s2-0 (and (logtest? (-> *anim-tester* 0 flags) 8) (zero? (-> *anim-tester* 0 item-field)))) ) - (cond - ((zero? arg0) - (let - ((s3-0 - (new - 'stack - 'font-context - *font-default-matrix* - (-> arg1 xpos) - (-> arg1 ypos) - (-> (new 'static 'array float 1 0.0) 0) - (the-as font-color (if (= (-> arg1 the-index) (-> arg1 current-index)) - 15 - 12 + (cond + ((zero? arg0) + (let ((s3-0 (new + 'stack + 'font-context + *font-default-matrix* + (-> arg1 xpos) + (-> arg1 ypos) + (-> (new 'static 'array float 1 0.0) 0) + (the-as font-color (if (= (-> arg1 the-index) (-> arg1 current-index)) + 15 + 12 + ) ) - ) - (font-flags shadow kerning) - ) - ) - ) - (when (not s2-0) - (when (= (-> arg1 the-index) (-> arg1 highlight-index)) - (let* - ((a1-2 - (-> - anim-test-field-highlight-lw - (-> *anim-tester* 0 item-field) - left - ) - ) - (v1-24 - (-> - anim-test-field-highlight-lw - (-> *anim-tester* 0 item-field) - width - ) - ) - (s0-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s1-0 (-> s0-0 base)) - ) - (draw-sprite2d-xy - s0-0 - (+ (* a1-2 (-> *DISP_LIST-bank* CHAR_WIDTH)) 2 (-> arg1 xpos)) - (+ (-> arg1 ypos) -1) - (+ (* v1-24 (-> *DISP_LIST-bank* CHAR_WIDTH)) 4) - (+ (-> *DISP_LIST-bank* TV_SPACING) 1) - (new 'static 'rgba :r #xc0 :g #xc0 :a #xff) - ) - (let ((a3-4 (-> s0-0 base))) - (let ((v1-29 (the-as object (-> s0-0 base)))) - (set! - (-> (the-as dma-packet v1-29) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-29) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-29) vif1) (new 'static 'vif-tag)) - (set! (-> s0-0 base) (&+ (the-as pointer v1-29) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s1-0 - (the-as (pointer dma-tag) a3-4) - ) - ) - ) - ) - ) - (let* - ((s0-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s1-1 (-> s0-1 base)) - ) - (set! sv-192 draw-string-xy) - (set! sv-208 format) - (let ((a0-18 (clear *temp-string*)) - (a1-7 "~S~S~-27S") - (a2-11 (if (= (-> arg1 the-index) (-> arg1 highlight-index)) - ">" - " " + (font-flags shadow kerning) ) - ) - (a3-6 - (if - (= - (-> arg1 the-index) - (-> (the-as anim-test-sequence s4-0) playing-item) - ) - "*" - " " - ) - ) - (t0-2 (-> (the-as anim-test-seq-item gp-0) privname)) + ) ) - (sv-208 a0-18 a1-7 a2-11 a3-6 t0-2) - ) - (let ((a0-19 *temp-string*) - (a1-8 s0-1) - (a2-12 (-> arg1 xpos)) - (a3-7 (-> arg1 ypos)) - (t0-4 (if (= (-> arg1 the-index) (-> arg1 current-index)) - 15 - 12 + (when (not s2-0) + (when (= (-> arg1 the-index) (-> arg1 highlight-index)) + (let* ((a1-2 (-> anim-test-field-highlight-lw (-> *anim-tester* 0 item-field) left)) + (v1-24 (-> anim-test-field-highlight-lw (-> *anim-tester* 0 item-field) width)) + (s0-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s1-0 (-> s0-0 base)) ) - ) - (t1-2 3) - ) - (sv-192 - a0-19 - a1-8 - a2-12 - a3-7 - (the-as font-color t0-4) - (the-as font-flags t1-2) - ) - ) - (let ((a3-8 (-> s0-1 base))) - (let ((v1-44 (the-as object (-> s0-1 base)))) - (set! - (-> (the-as dma-packet v1-44) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-44) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-44) vif1) (new 'static 'vif-tag)) - (set! (-> s0-1 base) (&+ (the-as pointer v1-44) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s1-1 - (the-as (pointer dma-tag) a3-8) - ) - ) - ) - (when (not s2-0) - (let* - ((s2-2 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s4-1 (the-as anim-test-sequence (-> s2-2 base))) - ) - (when (zero? (logand (-> (the-as anim-test-seq-item gp-0) flags) 1)) - (let ((v1-57 s3-0) - (a1-13 - (+ - (-> arg1 xpos) - (* - (-> *ANIM_TESTER-bank* EDIT_STATS_X) - (-> *DISP_LIST-bank* CHAR_WIDTH) - ) + (draw-sprite2d-xy + s0-0 + (+ (* a1-2 (-> *DISP_LIST-bank* CHAR_WIDTH)) 2 (-> arg1 xpos)) + (+ (-> arg1 ypos) -1) + (+ (* v1-24 (-> *DISP_LIST-bank* CHAR_WIDTH)) 4) + (+ (-> *DISP_LIST-bank* TV_SPACING) 1) + (new 'static 'rgba :r #xc0 :g #xc0 :a #xff) ) - ) - (a0-29 (-> arg1 ypos)) - ) - (set! (-> v1-57 origin x) (the float a1-13)) - (set! (-> v1-57 origin y) (the float a0-29)) - ) - (cond - ((and - (< (-> (the-as anim-test-seq-item gp-0) speed) 0) - (< -100 (-> (the-as anim-test-seq-item gp-0) speed)) - ) - (let ((s1-2 draw-string-adv)) - (let ((s0-2 format) - (a0-33 (clear *temp-string*)) - (a1-14 "-0.~1d") - (v1-61 (abs (-> (the-as anim-test-seq-item gp-0) speed))) - ) - (s0-2 a0-33 a1-14 (/ (mod v1-61 100) 10)) - ) - (s1-2 *temp-string* s2-2 s3-0) - ) - ) - (else - (let ((s1-3 draw-string-adv)) - (let ((s0-3 format) - (a0-36 (clear *temp-string*)) - (a1-16 "~2d.~1d") - (a2-21 (/ (-> (the-as anim-test-seq-item gp-0) speed) 100)) - (v1-64 (abs (-> (the-as anim-test-seq-item gp-0) speed))) - ) - (s0-3 a0-36 a1-16 a2-21 (/ (mod v1-64 100) 10)) - ) - (s1-3 *temp-string* s2-2 s3-0) - ) - ) - ) - (let ((s1-4 draw-string-adv)) - (format - (clear *temp-string*) - " ~4d" - (-> (the-as anim-test-seq-item gp-0) blend) - ) - (s1-4 *temp-string* s2-2 s3-0) - ) - (anim-tester-disp-frame-num - " " - (-> (the-as anim-test-seq-item gp-0) first-frame) - (-> (the-as anim-test-seq-item gp-0) artist-base) - s3-0 - ) - (anim-tester-disp-frame-num - " " - (-> (the-as anim-test-seq-item gp-0) last-frame) - (-> (the-as anim-test-seq-item gp-0) artist-base) - s3-0 - ) - (let ((s1-5 draw-string-adv)) - (format - (clear *temp-string*) - " ~S~S~S~S" - (if (logtest? (-> (the-as anim-test-seq-item gp-0) flags) 2) - "B" - "-" - ) - "-" - "-" - "-" - ) - (s1-5 *temp-string* s2-2 s3-0) - ) - ) - (let* ((a1-24 (-> anim-test-field-highlight-lw 9 left)) - (v1-69 s3-0) - (a1-26 - (+ (-> arg1 xpos) (* a1-24 (-> *DISP_LIST-bank* CHAR_WIDTH))) - ) - (a0-47 (-> arg1 ypos)) - ) - (set! (-> v1-69 origin x) (the float a1-26)) - (set! (-> v1-69 origin y) (the float a0-47)) - ) - (draw-string-adv "MID" s2-2 s3-0) - (let ((a3-15 (-> s2-2 base))) - (let ((v1-70 (the-as object (-> s2-2 base)))) - (set! - (-> (the-as dma-packet v1-70) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-70) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-70) vif1) (new 'static 'vif-tag)) - (set! (-> s2-2 base) (&+ (the-as pointer v1-70) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - (the-as pointer s4-1) - (the-as (pointer dma-tag) a3-15) - ) - ) - ) - ) - ) - ) - ((= arg0 1) - (return #t) - ) - ((= arg0 4) - (cond - ((logtest? (-> *anim-tester* 0 flags) 8) - (let ((v1-88 (-> *anim-tester* 0 item-field))) - (cond - ((zero? v1-88) - (cond - ((cpad-pressed? 0 x) - (set! - (-> *anim-tester* 0 flags) - (logand -9 (-> *anim-tester* 0 flags)) - ) - (let - ((v0-24 - (the-as - anim-test-obj - (glst-get-node-by-index - (-> *anim-tester* 0 pick-con list) - (-> *anim-tester* 0 pick-con highlight-index) + (let ((a3-4 (-> s0-0 base))) + (let ((v1-29 (the-as object (-> s0-0 base)))) + (set! (-> (the-as dma-packet v1-29) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-29) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-29) vif1) (new 'static 'vif-tag)) + (set! (-> s0-0 base) (&+ (the-as pointer v1-29) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s1-0 + (the-as (pointer dma-tag) a3-4) + ) ) - ) ) - ) - (when (and v0-24 (let ((v1-101 (&-> v0-24 obj-art-group))) - "is the list empty, #t = empty" - (not (= (-> v1-101 2) v1-101)) - ) - ) - (let ((v1-103 (&-> v0-24 obj-art-group))) - "return the start of the list" - (let ((a1-30 (-> v1-103 0))) - (anim-test-seq-item-copy! - (the-as anim-test-seq-item gp-0) - (the-as anim-test-seq-item a1-30) + ) + ) + (let* ((s0-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s1-1 (-> s0-1 base)) + ) + (set! sv-192 draw-string-xy) + (set! sv-208 format) + (let ((a0-18 (clear *temp-string*)) + (a1-7 "~S~S~-27S") + (a2-11 (if (= (-> arg1 the-index) (-> arg1 highlight-index)) + ">" + " " + ) + ) + (a3-6 (if (= (-> arg1 the-index) (-> (the-as anim-test-sequence s4-0) playing-item)) + "*" + " " + ) + ) + (t0-2 (-> (the-as anim-test-seq-item gp-0) privname)) ) - ) + (sv-208 a0-18 a1-7 a2-11 a3-6 t0-2) + ) + (let ((a0-19 *temp-string*) + (a1-8 s0-1) + (a2-12 (-> arg1 xpos)) + (a3-7 (-> arg1 ypos)) + (t0-4 (if (= (-> arg1 the-index) (-> arg1 current-index)) + 15 + 12 + ) + ) + (t1-2 3) + ) + (sv-192 a0-19 a1-8 a2-12 a3-7 (the-as font-color t0-4) (the-as font-flags t1-2)) + ) + (let ((a3-8 (-> s0-1 base))) + (let ((v1-44 (the-as object (-> s0-1 base)))) + (set! (-> (the-as dma-packet v1-44) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-44) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-44) vif1) (new 'static 'vif-tag)) + (set! (-> s0-1 base) (&+ (the-as pointer v1-44) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s1-1 + (the-as (pointer dma-tag) a3-8) ) - (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) - ) ) - ) - ((cpad-pressed? 0 square) - (set! - (-> *anim-tester* 0 flags) - (logand -9 (-> *anim-tester* 0 flags)) - ) - ) ) - ) - ((= v1-88 9) - (cond - ((zero? - (logand (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons x)) - ) - (set! - (-> *anim-tester* 0 flags) - (logand -9 (-> *anim-tester* 0 flags)) - ) - ) - ((cpad-pressed? 0 up) - (let ((v1-124 (the-as anim-test-seq-item gp-0))) - "return the previous node in the list" - (let* ((s3-1 (-> v1-124 prev)) - (v1-125 s3-1) - ) - "is this node the start of the list. #t = start" - (when (not (not (-> v1-125 prev))) - (glst-remove - (-> (the-as anim-test-sequence s4-0) item-list) - (the-as anim-test-seq-item gp-0) - ) - (glst-insert-before - (-> (the-as anim-test-sequence s4-0) item-list) - s3-1 - (the-as anim-test-seq-item gp-0) - ) - (+! (-> arg1 current-index) -1) - (+! (-> arg1 highlight-index) -1) - (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) - (send-event (ppointer->process *anim-tester*) 'change-anim) - ) - ) - ) - ) - ((cpad-pressed? 0 down) - (let ((v1-142 (the-as anim-test-seq-item gp-0))) - "return the next node in the list" - (let* ((s3-2 (the-as anim-test-seq-item (-> v1-142 next))) - (v1-143 s3-2) - ) - "is this node the end of the list. #t = end" - (when - (and - (not (not (-> v1-143 next))) - (zero? (logand (-> s3-2 flags) 1)) - ) - (glst-remove - (-> (the-as anim-test-sequence s4-0) item-list) - (the-as anim-test-seq-item gp-0) - ) - (glst-insert-after - (-> (the-as anim-test-sequence s4-0) item-list) - s3-2 - (the-as anim-test-seq-item gp-0) - ) - (+! (-> arg1 current-index) 1) - (+! (-> arg1 highlight-index) 1) - (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) - (send-event (ppointer->process *anim-tester*) 'change-anim) - ) - ) - ) - ) - ) - ) - ((or (= v1-88 1) (= v1-88 2) (= v1-88 3) (= v1-88 4)) - (cond - ((zero? - (logand (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons x)) - ) - (set! - (-> *anim-tester* 0 flags) - (logand -9 (-> *anim-tester* 0 flags)) - ) - ) - ((begin - (set! (-> arg1 current-index) (-> arg1 the-index)) - (<= (-> *anim-tester* 0 inc-timer) 0) - ) - (if (> (-> *anim-tester* 0 inc-delay) 0) - (+! (-> *anim-tester* 0 inc-delay) -1) - ) - (set! (-> *anim-tester* 0 inc-timer) (-> *anim-tester* 0 inc-delay)) - (case (-> *anim-tester* 0 item-field) - ((1) + (when (not s2-0) + (let* ((s2-2 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s4-1 (the-as anim-test-sequence (-> s2-2 base))) + ) + (when (zero? (logand (-> (the-as anim-test-seq-item gp-0) flags) 1)) + (let ((v1-57 s3-0) + (a1-13 (+ (-> arg1 xpos) (* (-> *ANIM_TESTER-bank* EDIT_STATS_X) (-> *DISP_LIST-bank* CHAR_WIDTH)))) + (a0-29 (-> arg1 ypos)) + ) + (set! (-> v1-57 origin x) (the float a1-13)) + (set! (-> v1-57 origin y) (the float a0-29)) + ) (cond - ((cpad-hold? 0 down) - (+! (-> (the-as anim-test-seq-item gp-0) speed) -10) - (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) - (if (< (-> (the-as anim-test-seq-item gp-0) speed) -300) - (set! (-> (the-as anim-test-seq-item gp-0) speed) -300) + ((and (< (-> (the-as anim-test-seq-item gp-0) speed) 0) (< -100 (-> (the-as anim-test-seq-item gp-0) speed))) + (let ((s1-2 draw-string-adv)) + (let ((s0-2 format) + (a0-33 (clear *temp-string*)) + (a1-14 "-0.~1d") + (v1-61 (abs (-> (the-as anim-test-seq-item gp-0) speed))) + ) + (s0-2 a0-33 a1-14 (/ (mod v1-61 100) 10)) + ) + (s1-2 *temp-string* s2-2 s3-0) + ) ) - ) - ((cpad-hold? 0 up) - (+! (-> (the-as anim-test-seq-item gp-0) speed) 10) - (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) - (if (< 1000 (-> (the-as anim-test-seq-item gp-0) speed)) - (set! (-> (the-as anim-test-seq-item gp-0) speed) 1000) - ) - ) - ) - ) - ((2) - (cond - ((cpad-hold? 0 down) - (+! (-> (the-as anim-test-seq-item gp-0) blend) -1) - (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) - (when (< (-> (the-as anim-test-seq-item gp-0) blend) 0) - (set! (-> (the-as anim-test-seq-item gp-0) blend) 0) - 0 - ) - ) - ((cpad-hold? 0 up) - (+! (-> (the-as anim-test-seq-item gp-0) blend) 1) - (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) - (if (< 9999 (-> (the-as anim-test-seq-item gp-0) blend)) - (set! (-> (the-as anim-test-seq-item gp-0) blend) 9999) - ) - ) - ) - ) - ((3) - (let ((f30-0 (-> (the-as anim-test-seq-item gp-0) first-frame))) - (set! - (-> (the-as anim-test-seq-item gp-0) first-frame) - (anim-tester-adjust-frame - (-> (the-as anim-test-seq-item gp-0) first-frame) - (-> (the-as anim-test-seq-item gp-0) num-frames) - ) - ) - (if (!= f30-0 (-> (the-as anim-test-seq-item gp-0) first-frame)) - (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) - ) - ) - ) - ((4) - (let ((f30-1 (-> (the-as anim-test-seq-item gp-0) last-frame))) - (set! - (-> (the-as anim-test-seq-item gp-0) last-frame) - (anim-tester-adjust-frame - (-> (the-as anim-test-seq-item gp-0) last-frame) - (-> (the-as anim-test-seq-item gp-0) num-frames) - ) - ) - (if (!= f30-1 (-> (the-as anim-test-seq-item gp-0) last-frame)) - (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) - ) - ) - ) - ) - ) - (else - (+! (-> *anim-tester* 0 inc-timer) -1) - ) - ) - (when (or (cpad-pressed? 0 down) (cpad-pressed? 0 up)) - (set! (-> *anim-tester* 0 inc-delay) (-> *DISP_LIST-bank* INC_DELAY)) - (set! (-> *anim-tester* 0 inc-timer) 0) - 0 - ) - ) - ) - ) - ) - (else - (cond - ((cpad-pressed? 0 up) - (if (> (-> arg1 highlight-index) 0) - (+! (-> arg1 highlight-index) -1) - ) - ) - ((cpad-pressed? 0 down) - (if - (< - (the-as int (the-as anim-test-seq-item (-> arg1 highlight-index))) - (glst-num-elements (-> arg1 list)) - ) - (+! (-> arg1 highlight-index) 1) - ) - ) - ((cpad-pressed? 0 left) - (+! (-> *anim-tester* 0 item-field) -1) - (if (< (-> *anim-tester* 0 item-field) 0) - (set! (-> *anim-tester* 0 item-field) 11) - ) - (if (= (-> *anim-tester* 0 item-field) 8) - (set! (-> *anim-tester* 0 item-field) 5) - ) - ) - ((cpad-pressed? 0 right) - (+! (-> *anim-tester* 0 item-field) 1) - (when (>= (-> *anim-tester* 0 item-field) 12) - (set! (-> *anim-tester* 0 item-field) 0) - 0 - ) - (if (= (-> *anim-tester* 0 item-field) 6) - (set! (-> *anim-tester* 0 item-field) 9) - ) - ) - ((cpad-pressed? 0 square) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons square)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons square)) - (set! (-> *anim-tester* 0 edit-mode) 3) - (logior! (-> *anim-tester* 0 flags) 4) - ) - ((cpad-pressed? 0 x) - (cond - ((logtest? (-> (the-as anim-test-seq-item gp-0) flags) 1) - (let ((v1-318 (-> *anim-tester* 0 item-field))) - (if (= v1-318 10) - (anim-test-edit-seq-insert-item - (the-as anim-test-seq-item gp-0) - (the-as anim-test-sequence s4-0) - ) - ) - ) - ) - (else - (let ((v1-322 (-> *anim-tester* 0 item-field))) - (cond - ((zero? v1-322) - (anim-tester-pick-item-setup - (the-as anim-test-seq-item gp-0) - (the-as anim-test-sequence s4-0) - ) - ) - ((= v1-322 10) - (anim-test-edit-seq-insert-item - (the-as anim-test-seq-item gp-0) - (the-as anim-test-sequence s4-0) - ) - ) - ((= v1-322 11) - (when - (zero? (logand (-> (the-as anim-test-seq-item gp-0) flags) 1)) - (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) - (glst-remove - (-> (the-as anim-test-sequence s4-0) item-list) - (the-as anim-test-seq-item gp-0) - ) - ) - (send-event (ppointer->process *anim-tester*) 'change-anim) - ) - (else - (when - (zero? (logand (-> (the-as anim-test-seq-item gp-0) flags) 4)) - (case (-> *anim-tester* 0 item-field) - ((5) - (anim-test-seq-mark-as-edited - (the-as anim-test-sequence s4-0) + (else + (let ((s1-3 draw-string-adv)) + (let ((s0-3 format) + (a0-36 (clear *temp-string*)) + (a1-16 "~2d.~1d") + (a2-21 (/ (-> (the-as anim-test-seq-item gp-0) speed) 100)) + (v1-64 (abs (-> (the-as anim-test-seq-item gp-0) speed))) + ) + (s0-3 a0-36 a1-16 a2-21 (/ (mod v1-64 100) 10)) + ) + (s1-3 *temp-string* s2-2 s3-0) + ) ) - (let - ((v1-331 - (logxor (-> (the-as anim-test-seq-item gp-0) flags) 2) + ) + (let ((s1-4 draw-string-adv)) + (format (clear *temp-string*) " ~4d" (-> (the-as anim-test-seq-item gp-0) blend)) + (s1-4 *temp-string* s2-2 s3-0) + ) + (anim-tester-disp-frame-num + " " + (-> (the-as anim-test-seq-item gp-0) first-frame) + (-> (the-as anim-test-seq-item gp-0) artist-base) + s3-0 + ) + (anim-tester-disp-frame-num + " " + (-> (the-as anim-test-seq-item gp-0) last-frame) + (-> (the-as anim-test-seq-item gp-0) artist-base) + s3-0 + ) + (let ((s1-5 draw-string-adv)) + (format + (clear *temp-string*) + " ~S~S~S~S" + (if (logtest? (-> (the-as anim-test-seq-item gp-0) flags) 2) + "B" + "-" + ) + "-" + "-" + "-" + ) + (s1-5 *temp-string* s2-2 s3-0) + ) + ) + (let* ((a1-24 (-> anim-test-field-highlight-lw 9 left)) + (v1-69 s3-0) + (a1-26 (+ (-> arg1 xpos) (* a1-24 (-> *DISP_LIST-bank* CHAR_WIDTH)))) + (a0-47 (-> arg1 ypos)) + ) + (set! (-> v1-69 origin x) (the float a1-26)) + (set! (-> v1-69 origin y) (the float a0-47)) + ) + (draw-string-adv "MID" s2-2 s3-0) + (let ((a3-15 (-> s2-2 base))) + (let ((v1-70 (the-as object (-> s2-2 base)))) + (set! (-> (the-as dma-packet v1-70) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-70) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-70) vif1) (new 'static 'vif-tag)) + (set! (-> s2-2 base) (&+ (the-as pointer v1-70) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + (the-as pointer s4-1) + (the-as (pointer dma-tag) a3-15) + ) + ) + ) + ) + ) + ) + ((= arg0 1) + (return #t) + ) + ((= arg0 4) + (cond + ((logtest? (-> *anim-tester* 0 flags) 8) + (let ((v1-88 (-> *anim-tester* 0 item-field))) + (cond + ((zero? v1-88) + (cond + ((cpad-pressed? 0 x) + (set! (-> *anim-tester* 0 flags) (logand -9 (-> *anim-tester* 0 flags))) + (let ((v0-24 + (the-as + anim-test-obj + (glst-get-node-by-index (-> *anim-tester* 0 pick-con list) (-> *anim-tester* 0 pick-con highlight-index)) + ) + ) + ) + (when (and v0-24 (let ((v1-101 (&-> v0-24 obj-art-group))) + "is the list empty, #t = empty" + (not (= (-> v1-101 2) v1-101)) + ) + ) + (let ((v1-103 (&-> v0-24 obj-art-group))) + "return the start of the list" + (let ((a1-30 (-> v1-103 0))) + (anim-test-seq-item-copy! (the-as anim-test-seq-item gp-0) (the-as anim-test-seq-item a1-30)) + ) + ) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + ) + ) + ) + ((cpad-pressed? 0 square) + (set! (-> *anim-tester* 0 flags) (logand -9 (-> *anim-tester* 0 flags))) + ) + ) + ) + ((= v1-88 9) + (cond + ((zero? (logand (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons x))) + (set! (-> *anim-tester* 0 flags) (logand -9 (-> *anim-tester* 0 flags))) + ) + ((cpad-pressed? 0 up) + (let ((v1-124 (the-as anim-test-seq-item gp-0))) + "return the previous node in the list" + (let* ((s3-1 (-> v1-124 prev)) + (v1-125 s3-1) + ) + "is this node the start of the list. #t = start" + (when (not (not (-> v1-125 prev))) + (glst-remove (-> (the-as anim-test-sequence s4-0) item-list) (the-as anim-test-seq-item gp-0)) + (glst-insert-before (-> (the-as anim-test-sequence s4-0) item-list) s3-1 (the-as anim-test-seq-item gp-0)) + (+! (-> arg1 current-index) -1) + (+! (-> arg1 highlight-index) -1) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + (send-event (ppointer->process *anim-tester*) 'change-anim) + ) + ) + ) + ) + ((cpad-pressed? 0 down) + (let ((v1-142 (the-as anim-test-seq-item gp-0))) + "return the next node in the list" + (let* ((s3-2 (the-as anim-test-seq-item (-> v1-142 next))) + (v1-143 s3-2) + ) + "is this node the end of the list. #t = end" + (when (and (not (not (-> v1-143 next))) (zero? (logand (-> s3-2 flags) 1))) + (glst-remove (-> (the-as anim-test-sequence s4-0) item-list) (the-as anim-test-seq-item gp-0)) + (glst-insert-after (-> (the-as anim-test-sequence s4-0) item-list) s3-2 (the-as anim-test-seq-item gp-0)) + (+! (-> arg1 current-index) 1) + (+! (-> arg1 highlight-index) 1) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + (send-event (ppointer->process *anim-tester*) 'change-anim) + ) + ) + ) + ) + ) + ) + ((or (= v1-88 1) (= v1-88 2) (= v1-88 3) (= v1-88 4)) + (cond + ((zero? (logand (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons x))) + (set! (-> *anim-tester* 0 flags) (logand -9 (-> *anim-tester* 0 flags))) + ) + ((begin (set! (-> arg1 current-index) (-> arg1 the-index)) (<= (-> *anim-tester* 0 inc-timer) 0)) + (if (> (-> *anim-tester* 0 inc-delay) 0) + (+! (-> *anim-tester* 0 inc-delay) -1) + ) + (set! (-> *anim-tester* 0 inc-timer) (-> *anim-tester* 0 inc-delay)) + (case (-> *anim-tester* 0 item-field) + ((1) + (cond + ((cpad-hold? 0 down) + (+! (-> (the-as anim-test-seq-item gp-0) speed) -10) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + (if (< (-> (the-as anim-test-seq-item gp-0) speed) -300) + (set! (-> (the-as anim-test-seq-item gp-0) speed) -300) + ) + ) + ((cpad-hold? 0 up) + (+! (-> (the-as anim-test-seq-item gp-0) speed) 10) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + (if (< 1000 (-> (the-as anim-test-seq-item gp-0) speed)) + (set! (-> (the-as anim-test-seq-item gp-0) speed) 1000) + ) + ) + ) + ) + ((2) + (cond + ((cpad-hold? 0 down) + (+! (-> (the-as anim-test-seq-item gp-0) blend) -1) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + (when (< (-> (the-as anim-test-seq-item gp-0) blend) 0) + (set! (-> (the-as anim-test-seq-item gp-0) blend) 0) + 0 + ) + ) + ((cpad-hold? 0 up) + (+! (-> (the-as anim-test-seq-item gp-0) blend) 1) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + (if (< 9999 (-> (the-as anim-test-seq-item gp-0) blend)) + (set! (-> (the-as anim-test-seq-item gp-0) blend) 9999) + ) + ) + ) + ) + ((3) + (let ((f30-0 (-> (the-as anim-test-seq-item gp-0) first-frame))) + (set! (-> (the-as anim-test-seq-item gp-0) first-frame) (anim-tester-adjust-frame + (-> (the-as anim-test-seq-item gp-0) first-frame) + (-> (the-as anim-test-seq-item gp-0) num-frames) + ) + ) + (if (!= f30-0 (-> (the-as anim-test-seq-item gp-0) first-frame)) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + ) + ) + ) + ((4) + (let ((f30-1 (-> (the-as anim-test-seq-item gp-0) last-frame))) + (set! (-> (the-as anim-test-seq-item gp-0) last-frame) (anim-tester-adjust-frame + (-> (the-as anim-test-seq-item gp-0) last-frame) + (-> (the-as anim-test-seq-item gp-0) num-frames) + ) + ) + (if (!= f30-1 (-> (the-as anim-test-seq-item gp-0) last-frame)) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + ) + ) ) ) - (set! (-> (the-as anim-test-seq-item gp-0) flags) v1-331) - v1-331 + ) + (else + (+! (-> *anim-tester* 0 inc-timer) -1) ) - ) - ((6) - (the-as int #f) ) - ((7) - (the-as int #f) - ) - ((8) - (the-as int #f) - ) - (else - (logior! (-> *anim-tester* 0 flags) 8) - (set! - (-> *anim-tester* 0 inc-delay) - (-> *DISP_LIST-bank* INC_DELAY) - ) + (when (or (cpad-pressed? 0 down) (cpad-pressed? 0 up)) + (set! (-> *anim-tester* 0 inc-delay) (-> *DISP_LIST-bank* INC_DELAY)) (set! (-> *anim-tester* 0 inc-timer) 0) 0 ) - ) ) ) - ) ) - ) ) + (else + (cond + ((cpad-pressed? 0 up) + (if (> (-> arg1 highlight-index) 0) + (+! (-> arg1 highlight-index) -1) + ) + ) + ((cpad-pressed? 0 down) + (if (< (the-as int (the-as anim-test-seq-item (-> arg1 highlight-index))) (glst-num-elements (-> arg1 list))) + (+! (-> arg1 highlight-index) 1) + ) + ) + ((cpad-pressed? 0 left) + (+! (-> *anim-tester* 0 item-field) -1) + (if (< (-> *anim-tester* 0 item-field) 0) + (set! (-> *anim-tester* 0 item-field) 11) + ) + (if (= (-> *anim-tester* 0 item-field) 8) + (set! (-> *anim-tester* 0 item-field) 5) + ) + ) + ((cpad-pressed? 0 right) + (+! (-> *anim-tester* 0 item-field) 1) + (when (>= (-> *anim-tester* 0 item-field) 12) + (set! (-> *anim-tester* 0 item-field) 0) + 0 + ) + (if (= (-> *anim-tester* 0 item-field) 6) + (set! (-> *anim-tester* 0 item-field) 9) + ) + ) + ((cpad-pressed? 0 square) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons square)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons square)) + (set! (-> *anim-tester* 0 edit-mode) 3) + (logior! (-> *anim-tester* 0 flags) 4) + ) + ((cpad-pressed? 0 x) + (cond + ((logtest? (-> (the-as anim-test-seq-item gp-0) flags) 1) + (let ((v1-318 (-> *anim-tester* 0 item-field))) + (if (= v1-318 10) + (anim-test-edit-seq-insert-item (the-as anim-test-seq-item gp-0) (the-as anim-test-sequence s4-0)) + ) + ) + ) + (else + (let ((v1-322 (-> *anim-tester* 0 item-field))) + (cond + ((zero? v1-322) + (anim-tester-pick-item-setup (the-as anim-test-seq-item gp-0) (the-as anim-test-sequence s4-0)) + ) + ((= v1-322 10) + (anim-test-edit-seq-insert-item (the-as anim-test-seq-item gp-0) (the-as anim-test-sequence s4-0)) + ) + ((= v1-322 11) + (when (zero? (logand (-> (the-as anim-test-seq-item gp-0) flags) 1)) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + (glst-remove (-> (the-as anim-test-sequence s4-0) item-list) (the-as anim-test-seq-item gp-0)) + ) + (send-event (ppointer->process *anim-tester*) 'change-anim) + ) + (else + (when (zero? (logand (-> (the-as anim-test-seq-item gp-0) flags) 4)) + (case (-> *anim-tester* 0 item-field) + ((5) + (anim-test-seq-mark-as-edited (the-as anim-test-sequence s4-0)) + (let ((v1-331 (logxor (-> (the-as anim-test-seq-item gp-0) flags) 2))) + (set! (-> (the-as anim-test-seq-item gp-0) flags) v1-331) + v1-331 + ) + ) + ((6) + (the-as int #f) + ) + ((7) + (the-as int #f) + ) + ((8) + (the-as int #f) + ) + (else + (logior! (-> *anim-tester* 0 flags) 8) + (set! (-> *anim-tester* 0 inc-delay) (-> *DISP_LIST-bank* INC_DELAY)) + (set! (-> *anim-tester* 0 inc-timer) 0) + 0 + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ((= arg0 2) + (set! (-> arg1 return-int) (-> *ANIM_TESTER-bank* EDIT_LIST_MIN_WIDTH)) + ) + ((= arg0 3) + (let* ((s3-3 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (gp-2 (-> s3-3 base)) + ) + (let ((s1-6 draw-string-xy)) + (format (clear *temp-string*) "--Seq--(~-17S)--" (-> (the-as anim-test-sequence s4-0) privname)) + (s1-6 *temp-string* s3-3 (-> arg1 xpos) (-> arg1 ypos) (font-color dim-white) (font-flags shadow kerning)) + ) + (let ((a3-17 (-> s3-3 base))) + (let ((v1-355 (the-as object (-> s3-3 base)))) + (set! (-> (the-as dma-packet v1-355) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-355) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-355) vif1) (new 'static 'vif-tag)) + (set! (-> s3-3 base) (&+ (the-as pointer v1-355) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-2 + (the-as (pointer dma-tag) a3-17) + ) + ) + ) + (cond + (s2-0 + (display-list-control (-> *anim-tester* 0 pick-con)) + ) + (else + (let* ((s4-2 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (gp-3 (-> s4-2 base)) + ) + (draw-string-xy + "-spd-blnd-1st-lst-flgs-mov-" + s4-2 + (+ (-> arg1 xpos) (* (-> *ANIM_TESTER-bank* EDIT_STATS_X) (-> *DISP_LIST-bank* CHAR_WIDTH))) + (-> arg1 ypos) + (font-color dim-white) + (font-flags shadow kerning) + ) + (let ((a3-21 (-> s4-2 base))) + (let ((v1-367 (the-as object (-> s4-2 base)))) + (set! (-> (the-as dma-packet v1-367) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-367) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-367) vif1) (new 'static 'vif-tag)) + (set! (-> s4-2 base) (&+ (the-as pointer v1-367) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-3 + (the-as (pointer dma-tag) a3-21) + ) + ) + ) + ) ) - ) ) ) - ) - ((= arg0 2) - (set! (-> arg1 return-int) (-> *ANIM_TESTER-bank* EDIT_LIST_MIN_WIDTH)) - ) - ((= arg0 3) - (let* - ((s3-3 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (gp-2 (-> s3-3 base)) - ) - (let ((s1-6 draw-string-xy)) - (format - (clear *temp-string*) - "--Seq--(~-17S)--" - (-> (the-as anim-test-sequence s4-0) privname) - ) - (s1-6 - *temp-string* - s3-3 - (-> arg1 xpos) - (-> arg1 ypos) - (font-color dim-white) - (font-flags shadow kerning) - ) - ) - (let ((a3-17 (-> s3-3 base))) - (let ((v1-355 (the-as object (-> s3-3 base)))) - (set! - (-> (the-as dma-packet v1-355) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-355) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-355) vif1) (new 'static 'vif-tag)) - (set! (-> s3-3 base) (&+ (the-as pointer v1-355) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-2 - (the-as (pointer dma-tag) a3-17) - ) - ) - ) - (cond - (s2-0 - (display-list-control (-> *anim-tester* 0 pick-con)) - ) - (else - (let* - ((s4-2 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (gp-3 (-> s4-2 base)) - ) - (draw-string-xy - "-spd-blnd-1st-lst-flgs-mov-" - s4-2 - (+ - (-> arg1 xpos) - (* - (-> *ANIM_TESTER-bank* EDIT_STATS_X) - (-> *DISP_LIST-bank* CHAR_WIDTH) - ) - ) - (-> arg1 ypos) - (font-color dim-white) - (font-flags shadow kerning) - ) - (let ((a3-21 (-> s4-2 base))) - (let ((v1-367 (the-as object (-> s4-2 base)))) - (set! - (-> (the-as dma-packet v1-367) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-367) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-367) vif1) (new 'static 'vif-tag)) - (set! (-> s4-2 base) (&+ (the-as pointer v1-367) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-3 - (the-as (pointer dma-tag) a3-21) - ) - ) - ) - ) - ) - ) ) - ) #f ) @@ -2673,267 +2270,209 @@ ;; INFO: Return type mismatch int vs none. (defbehavior anim-tester-interface anim-tester () (let ((v1-0 (-> self edit-mode))) - (cond - ((zero? v1-0) - (when (logtest? (-> *anim-tester* 0 flags) 4) - (set! (-> *anim-tester* 0 flags) (logand -5 (-> *anim-tester* 0 flags))) - (set-master-mode 'menu) - ) - ) - ((= v1-0 1) - (display-list-control (-> self list-con)) - ) - ((= v1-0 2) - (let - ((gp-0 - (the-as - anim-test-obj - (glst-find-node-by-name (-> self obj-list) (-> self current-obj)) + (cond + ((zero? v1-0) + (when (logtest? (-> *anim-tester* 0 flags) 4) + (set! (-> *anim-tester* 0 flags) (logand -5 (-> *anim-tester* 0 flags))) + (set-master-mode 'menu) ) - ) ) - (cond - (gp-0 - (set! (-> gp-0 list-con listfunc) anim-test-anim-list-handler) - (set! (-> gp-0 list-con current-index) (-> gp-0 anim-index)) - (set! (-> gp-0 list-con highlight-index) (-> gp-0 anim-hindex)) - (display-list-control (-> gp-0 list-con)) - (set! (-> gp-0 anim-index) (-> gp-0 list-con current-index)) - (set! (-> gp-0 anim-hindex) (-> gp-0 list-con highlight-index)) - ) - (else - (let* - ((s5-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (gp-1 (-> s5-0 base)) - ) - (draw-string-xy - "ERROR: current object not found" - s5-0 - (-> *ANIM_TESTER-bank* ANIM_LIST_X) - (-> *ANIM_TESTER-bank* ANIM_LIST_Y) - (font-color orange-red-2) - (font-flags shadow kerning) - ) - (let ((a3-1 (-> s5-0 base))) - (let ((v1-20 (the-as object (-> s5-0 base)))) - (set! - (-> (the-as dma-packet v1-20) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-20) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-20) vif1) (new 'static 'vif-tag)) - (set! (-> s5-0 base) (&+ (the-as pointer v1-20) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-1 - (the-as (pointer dma-tag) a3-1) - ) - ) - ) - ) + ((= v1-0 1) + (display-list-control (-> self list-con)) ) - ) - ) - ((= v1-0 3) - (let - ((gp-2 - (the-as - anim-test-obj - (glst-find-node-by-name (-> self obj-list) (-> self current-obj)) - ) - ) - ) - (cond - (gp-2 - (set! (-> gp-2 list-con listfunc) anim-test-sequence-list-handler) - (set! (-> gp-2 list-con current-index) (-> gp-2 seq-index)) - (set! (-> gp-2 list-con highlight-index) (-> gp-2 seq-hindex)) - (display-list-control (-> gp-2 list-con)) - (set! (-> gp-2 seq-index) (-> gp-2 list-con current-index)) - (set! (-> gp-2 seq-hindex) (-> gp-2 list-con highlight-index)) - ) - (else - (let* - ((s5-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (gp-3 (-> s5-1 base)) - ) - (draw-string-xy - "ERROR: current object not found" - s5-1 - (-> *ANIM_TESTER-bank* ANIM_LIST_X) - (-> *ANIM_TESTER-bank* ANIM_LIST_Y) - (font-color orange-red-2) - (font-flags shadow kerning) - ) - (let ((a3-3 (-> s5-1 base))) - (let ((v1-36 (the-as object (-> s5-1 base)))) - (set! - (-> (the-as dma-packet v1-36) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-36) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-36) vif1) (new 'static 'vif-tag)) - (set! (-> s5-1 base) (&+ (the-as pointer v1-36) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-3 - (the-as (pointer dma-tag) a3-3) - ) - ) - ) - ) - ) - ) - ) - ((= v1-0 4) - (let - ((v1-43 - (the-as - anim-test-obj - (glst-find-node-by-name (-> self obj-list) (-> self current-obj)) - ) - ) - ) - (cond - (v1-43 - (let - ((v1-44 - (the-as - anim-test-sequence - (glst-get-node-by-index - (-> v1-43 seq-list) - (-> v1-43 list-con current-index) - ) - ) - ) - ) + ((= v1-0 2) + (let ((gp-0 (the-as anim-test-obj (glst-find-node-by-name (-> self obj-list) (-> self current-obj))))) (cond - (v1-44 - (display-list-control (-> v1-44 list-con)) - ) - (else - (let* - ((s5-2 - (-> *display* frames (-> *display* on-screen) frame debug-buf) - ) - (gp-4 (-> s5-2 base)) + (gp-0 + (set! (-> gp-0 list-con listfunc) anim-test-anim-list-handler) + (set! (-> gp-0 list-con current-index) (-> gp-0 anim-index)) + (set! (-> gp-0 list-con highlight-index) (-> gp-0 anim-hindex)) + (display-list-control (-> gp-0 list-con)) + (set! (-> gp-0 anim-index) (-> gp-0 list-con current-index)) + (set! (-> gp-0 anim-hindex) (-> gp-0 list-con highlight-index)) ) - (draw-string-xy - "ERROR: current sequence not found" - s5-2 - (-> *ANIM_TESTER-bank* EDIT_LIST_X) - (-> *ANIM_TESTER-bank* EDIT_LIST_Y) - (font-color orange-red-2) - (font-flags shadow kerning) - ) - (let ((a3-5 (-> s5-2 base))) - (let ((v1-51 (the-as object (-> s5-2 base)))) - (set! - (-> (the-as dma-packet v1-51) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + (else + (let* ((s5-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (gp-1 (-> s5-0 base)) + ) + (draw-string-xy + "ERROR: current object not found" + s5-0 + (-> *ANIM_TESTER-bank* ANIM_LIST_X) + (-> *ANIM_TESTER-bank* ANIM_LIST_Y) + (font-color orange-red-2) + (font-flags shadow kerning) + ) + (let ((a3-1 (-> s5-0 base))) + (let ((v1-20 (the-as object (-> s5-0 base)))) + (set! (-> (the-as dma-packet v1-20) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-20) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-20) vif1) (new 'static 'vif-tag)) + (set! (-> s5-0 base) (&+ (the-as pointer v1-20) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-1 + (the-as (pointer dma-tag) a3-1) + ) + ) ) - (set! (-> (the-as dma-packet v1-51) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-51) vif1) (new 'static 'vif-tag)) - (set! (-> s5-2 base) (&+ (the-as pointer v1-51) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-4 - (the-as (pointer dma-tag) a3-5) - ) ) - ) ) - ) ) - ) - (else - (let* - ((s5-3 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (gp-5 (-> s5-3 base)) - ) - (draw-string-xy - "ERROR: current object not found" - s5-3 - (-> *ANIM_TESTER-bank* EDIT_LIST_X) - (-> *ANIM_TESTER-bank* EDIT_LIST_Y) - (font-color orange-red-2) - (font-flags shadow kerning) - ) - (let ((a3-7 (-> s5-3 base))) - (let ((v1-62 (the-as object (-> s5-3 base)))) - (set! - (-> (the-as dma-packet v1-62) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-62) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-62) vif1) (new 'static 'vif-tag)) - (set! (-> s5-3 base) (&+ (the-as pointer v1-62) 16)) + ) + ((= v1-0 3) + (let ((gp-2 (the-as anim-test-obj (glst-find-node-by-name (-> self obj-list) (-> self current-obj))))) + (cond + (gp-2 + (set! (-> gp-2 list-con listfunc) anim-test-sequence-list-handler) + (set! (-> gp-2 list-con current-index) (-> gp-2 seq-index)) + (set! (-> gp-2 list-con highlight-index) (-> gp-2 seq-hindex)) + (display-list-control (-> gp-2 list-con)) + (set! (-> gp-2 seq-index) (-> gp-2 list-con current-index)) + (set! (-> gp-2 seq-hindex) (-> gp-2 list-con highlight-index)) + ) + (else + (let* ((s5-1 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (gp-3 (-> s5-1 base)) + ) + (draw-string-xy + "ERROR: current object not found" + s5-1 + (-> *ANIM_TESTER-bank* ANIM_LIST_X) + (-> *ANIM_TESTER-bank* ANIM_LIST_Y) + (font-color orange-red-2) + (font-flags shadow kerning) + ) + (let ((a3-3 (-> s5-1 base))) + (let ((v1-36 (the-as object (-> s5-1 base)))) + (set! (-> (the-as dma-packet v1-36) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-36) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-36) vif1) (new 'static 'vif-tag)) + (set! (-> s5-1 base) (&+ (the-as pointer v1-36) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-3 + (the-as (pointer dma-tag) a3-3) + ) + ) + ) + ) + ) + ) + ) + ((= v1-0 4) + (let ((v1-43 (the-as anim-test-obj (glst-find-node-by-name (-> self obj-list) (-> self current-obj))))) + (cond + (v1-43 + (let ((v1-44 + (the-as anim-test-sequence (glst-get-node-by-index (-> v1-43 seq-list) (-> v1-43 list-con current-index))) + ) + ) + (cond + (v1-44 + (display-list-control (-> v1-44 list-con)) + ) + (else + (let* ((s5-2 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (gp-4 (-> s5-2 base)) + ) + (draw-string-xy + "ERROR: current sequence not found" + s5-2 + (-> *ANIM_TESTER-bank* EDIT_LIST_X) + (-> *ANIM_TESTER-bank* EDIT_LIST_Y) + (font-color orange-red-2) + (font-flags shadow kerning) + ) + (let ((a3-5 (-> s5-2 base))) + (let ((v1-51 (the-as object (-> s5-2 base)))) + (set! (-> (the-as dma-packet v1-51) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-51) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-51) vif1) (new 'static 'vif-tag)) + (set! (-> s5-2 base) (&+ (the-as pointer v1-51) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-4 + (the-as (pointer dma-tag) a3-5) + ) + ) + ) + ) + ) + ) + ) + (else + (let* ((s5-3 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (gp-5 (-> s5-3 base)) + ) + (draw-string-xy + "ERROR: current object not found" + s5-3 + (-> *ANIM_TESTER-bank* EDIT_LIST_X) + (-> *ANIM_TESTER-bank* EDIT_LIST_Y) + (font-color orange-red-2) + (font-flags shadow kerning) + ) + (let ((a3-7 (-> s5-3 base))) + (let ((v1-62 (the-as object (-> s5-3 base)))) + (set! (-> (the-as dma-packet v1-62) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-62) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-62) vif1) (new 'static 'vif-tag)) + (set! (-> s5-3 base) (&+ (the-as pointer v1-62) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-5 + (the-as (pointer dma-tag) a3-7) + ) + ) + ) + ) ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-5 - (the-as (pointer dma-tag) a3-7) - ) - ) ) - ) ) ) - ) ) - ) (set! (-> self old-mode) (-> self edit-mode)) (none) ) ;; definition for function anim-tester-get-playing-item (defun anim-tester-get-playing-item ((arg0 anim-test-sequence)) - (let - ((v0-0 - ((the-as - (function glst-list int anim-test-seq-item) - glst-get-node-by-index - ) - (-> arg0 item-list) - (-> arg0 playing-item) - ) - ) - ) - (let ((s5-0 v0-0) - (s4-0 (-> arg0 playing-item)) - ) - (when (logtest? (-> v0-0 flags) 5) - (while #t - (+! s4-0 1) - (if (>= s4-0 (glst-num-elements (-> arg0 item-list))) - (set! s4-0 0) - ) - (set! - v0-0 - ((the-as - (function glst-list int anim-test-seq-item) - glst-get-node-by-index - ) - (-> arg0 item-list) - s4-0 + (let ((v0-0 ((the-as (function glst-list int anim-test-seq-item) glst-get-node-by-index) + (-> arg0 item-list) + (-> arg0 playing-item) + ) + ) + ) + (let ((s5-0 v0-0) + (s4-0 (-> arg0 playing-item)) + ) + (when (logtest? (-> v0-0 flags) 5) + (while #t + (+! s4-0 1) + (if (>= s4-0 (glst-num-elements (-> arg0 item-list))) + (set! s4-0 0) + ) + (set! v0-0 + ((the-as (function glst-list int anim-test-seq-item) glst-get-node-by-index) (-> arg0 item-list) s4-0) + ) + (when (or (= v0-0 s5-0) (zero? (logand (-> v0-0 flags) 5))) + (set! (-> arg0 playing-item) s4-0) + (return v0-0) + ) + ) ) - ) - (when (or (= v0-0 s5-0) (zero? (logand (-> v0-0 flags) 5))) - (set! (-> arg0 playing-item) s4-0) - (return v0-0) - ) ) - ) + v0-0 ) - v0-0 - ) ) ;; failed to figure out what this is: @@ -2941,288 +2480,213 @@ :event anim-tester-standard-event-handler :enter - (behavior () - (logior! (-> self flags) 2) - (none) - ) + (behavior () (logior! (-> self flags) 2) (none)) :trans (behavior () - (if (and (zero? (logand (-> self flags) 2)) (= *master-mode* 'menu)) - (anim-tester-interface) + (if (and (zero? (logand (-> self flags) 2)) (= *master-mode* 'menu)) + (anim-tester-interface) + ) + (set! (-> self flags) (logand -3 (-> self flags))) + (when (!= *master-mode* 'menu) + (dummy-10 (-> self skel) (the-as symbol *stdcon*)) + (add-debug-x + #t + (bucket-id debug-draw1) + (-> self root trans) + (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + ) + ) + (none) ) - (set! (-> self flags) (logand -3 (-> self flags))) - (when (!= *master-mode* 'menu) - (dummy-10 (-> self skel) (the-as symbol *stdcon*)) - (add-debug-x - #t - (bucket-id debug-draw1) - (-> self root trans) - (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) - ) - ) - (none) - ) :code (behavior () - (local-vars - (s4-0 glst-node) - (s5-1 anim-test-seq-item) - (gp-2 anim-test-sequence) - ) - (while #t - (set! (-> self flags) (logand -2 (-> self flags))) - (let ((v1-2 (-> self obj-list))) - "is the list empty, #t = empty" - (cond - ((= (-> v1-2 tailpred) v1-2) - (format *stdcon* "anim-tester:no objects loaded~%") - (set! (-> self list-con current-index) 0) - (set! (-> self current-obj) "") - (suspend) - 0 - ) - ((begin - (set! - s4-0 - (glst-find-node-by-name (-> self obj-list) (-> self current-obj)) - ) - (when (not s4-0) - (if - (>= - (-> self list-con current-index) - (glst-num-elements (-> self obj-list)) - ) - (set! - (-> self list-con current-index) - (+ (glst-num-elements (-> self obj-list)) -1) - ) - ) - (set! - s4-0 - (glst-get-node-by-index - (-> self obj-list) - (-> self list-con current-index) - ) - ) - (set! (-> self current-obj) (-> (the-as anim-test-obj s4-0) privname)) - ) - (let - ((v1-10 (the-as structure (-> (the-as anim-test-obj s4-0) seq-list)))) - "is the list empty, #t = empty" - (= (-> (the-as anim-test-obj v1-10) privname) (the-as glst-list v1-10)) - ) - ) - (format *stdcon* "anim-tester:no anims loaded~%") - (format *stdcon* "displaying without anim not yet implement~%") - (set! (-> self flags) (logand -2 (-> self flags))) - (suspend) - 0 - ) - ((begin - (if - (>= - (-> (the-as anim-test-obj s4-0) list-con current-index) - (glst-num-elements (-> (the-as anim-test-obj s4-0) seq-list)) - ) - (set! - (-> (the-as anim-test-obj s4-0) list-con current-index) - (+ (glst-num-elements (-> (the-as anim-test-obj s4-0) seq-list)) -1) - ) - ) - (set! - gp-2 - (the-as - anim-test-sequence - (glst-get-node-by-index - (-> (the-as anim-test-obj s4-0) seq-list) - (if (logtest? (-> (the-as anim-test-obj s4-0) flags) 2) - (-> (the-as anim-test-obj s4-0) seq-index) - (-> (the-as anim-test-obj s4-0) anim-index) - ) - ) - ) - ) - (let ((v1-18 (-> gp-2 item-list))) - "is the list empty, #t = empty" - (= (-> v1-18 tailpred) v1-18) - ) - ) - (format - *stdcon* - "anim-tester:no items in sequence ~A~%" - (-> gp-2 privname) - ) - (format *stdcon* "displaying without anim not yet implement~%") - (suspend) - 0 - ) - ((begin - (when - (>= (-> gp-2 playing-item) (glst-num-elements (-> gp-2 item-list))) - (set! (-> gp-2 playing-item) 0) - 0 - ) - (set! s5-1 (anim-tester-get-playing-item gp-2)) - s5-1 - ) - (let - ((s4-1 - (the-as - art-joint-anim - (dummy-10 - (-> (the-as anim-test-obj s4-0) obj-art-group) - (-> s5-1 privname) - art-joint-anim - ) - ) - ) - ) - (anim-tester-update-anim-info s5-1) + (local-vars (s4-0 glst-node) (s5-1 anim-test-seq-item) (gp-2 anim-test-sequence)) + (while #t + (set! (-> self flags) (logand -2 (-> self flags))) + (let ((v1-2 (-> self obj-list))) + "is the list empty, #t = empty" (cond - (s4-1 - (logior! (-> self flags) 1) - (if (nonzero? (-> s5-1 blend)) - (ja-channel-push! - 1 - (the int (* (the float (-> s5-1 blend)) (-> self anim-gspeed))) - ) - (ja-channel-set! 1) - ) - (cond - ((= (-> self anim-first) (-> (new 'static 'array float 1 -1.0) 0)) - (let ((s3-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s3-0 s4-1 num-func-identity) - (set! (-> s3-0 frame-num) 0.0) - ) - ) - ((= (-> self anim-first) (-> (new 'static 'array float 1 -2.0) 0)) - (let ((s3-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s3-1 s4-1 num-func-identity) - (set! - (-> s3-1 frame-num) - (the float (+ (-> s4-1 data 0 length) -1)) - ) - ) - ) - (else - (let ((s3-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s3-2 s4-1 num-func-identity) - (set! (-> s3-2 frame-num) (-> self anim-first)) - ) - ) - ) - (when (nonzero? (-> s5-1 blend)) - (while - (and - (!= (-> self skel root-channel 0) (-> self skel channel)) - (logtest? (-> s5-1 flags) 2) - ) - (when (logtest? (-> self flags) 32) - (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 - (-> self align) - 31 - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (suspend) - ) - ) - (until (ja-done? 0) - (when (logtest? (-> self flags) 32) - (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 - (-> self align) - 31 - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) + ((= (-> v1-2 tailpred) v1-2) + (format *stdcon* "anim-tester:no objects loaded~%") + (set! (-> self list-con current-index) 0) + (set! (-> self current-obj) "") (suspend) - (anim-tester-update-anim-info s5-1) - (let - ((v1-73 - (= (-> self anim-last) (-> (new 'static 'array float 1 -2.0) 0)) - ) - ) - (cond - ((or v1-73 (>= (-> self anim-last) (-> self anim-first))) - (cond - ((= (-> self anim-last) (-> (new 'static 'array float 1 -2.0) 0)) - (let ((a0-42 (-> self skel root-channel 0))) - (set! - (-> a0-42 param 0) - (the float (+ (-> a0-42 frame-group data 0 length) -1)) - ) - (set! (-> a0-42 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-42 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (else - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) (-> self anim-last)) - (set! (-> a0-43 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - ((= (-> self anim-last) (-> (new 'static 'array float 1 -1.0) 0)) - (let ((a0-44 (-> self skel root-channel 0))) - (set! (-> a0-44 param 0) 0.0) - (set! (-> a0-44 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-44 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (else - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 param 0) (-> self anim-last)) - (set! (-> a0-45 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-45 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) + 0 ) - (+! (-> gp-2 playing-item) 1) + ((begin + (set! s4-0 (glst-find-node-by-name (-> self obj-list) (-> self current-obj))) + (when (not s4-0) + (if (>= (-> self list-con current-index) (glst-num-elements (-> self obj-list))) + (set! (-> self list-con current-index) (+ (glst-num-elements (-> self obj-list)) -1)) + ) + (set! s4-0 (glst-get-node-by-index (-> self obj-list) (-> self list-con current-index))) + (set! (-> self current-obj) (-> (the-as anim-test-obj s4-0) privname)) + ) + (let ((v1-10 (the-as structure (-> (the-as anim-test-obj s4-0) seq-list)))) + "is the list empty, #t = empty" + (= (-> (the-as anim-test-obj v1-10) privname) (the-as glst-list v1-10)) + ) + ) + (format *stdcon* "anim-tester:no anims loaded~%") + (format *stdcon* "displaying without anim not yet implement~%") + (set! (-> self flags) (logand -2 (-> self flags))) + (suspend) + 0 + ) + ((begin + (if (>= (-> (the-as anim-test-obj s4-0) list-con current-index) + (glst-num-elements (-> (the-as anim-test-obj s4-0) seq-list)) + ) + (set! (-> (the-as anim-test-obj s4-0) list-con current-index) + (+ (glst-num-elements (-> (the-as anim-test-obj s4-0) seq-list)) -1) + ) + ) + (set! gp-2 (the-as anim-test-sequence (glst-get-node-by-index + (-> (the-as anim-test-obj s4-0) seq-list) + (if (logtest? (-> (the-as anim-test-obj s4-0) flags) 2) + (-> (the-as anim-test-obj s4-0) seq-index) + (-> (the-as anim-test-obj s4-0) anim-index) + ) + ) + ) + ) + (let ((v1-18 (-> gp-2 item-list))) + "is the list empty, #t = empty" + (= (-> v1-18 tailpred) v1-18) + ) + ) + (format *stdcon* "anim-tester:no items in sequence ~A~%" (-> gp-2 privname)) + (format *stdcon* "displaying without anim not yet implement~%") + (suspend) + 0 + ) + ((begin + (when (>= (-> gp-2 playing-item) (glst-num-elements (-> gp-2 item-list))) + (set! (-> gp-2 playing-item) 0) + 0 + ) + (set! s5-1 (anim-tester-get-playing-item gp-2)) + s5-1 + ) + (let ((s4-1 (the-as + art-joint-anim + (dummy-10 (-> (the-as anim-test-obj s4-0) obj-art-group) (-> s5-1 privname) art-joint-anim) + ) + ) + ) + (anim-tester-update-anim-info s5-1) + (cond + (s4-1 + (logior! (-> self flags) 1) + (if (nonzero? (-> s5-1 blend)) + (ja-channel-push! 1 (the int (* (the float (-> s5-1 blend)) (-> self anim-gspeed)))) + (ja-channel-set! 1) + ) + (cond + ((= (-> self anim-first) (-> (new 'static 'array float 1 -1.0) 0)) + (let ((s3-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! s3-0 s4-1 num-func-identity) + (set! (-> s3-0 frame-num) 0.0) + ) + ) + ((= (-> self anim-first) (-> (new 'static 'array float 1 -2.0) 0)) + (let ((s3-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! s3-1 s4-1 num-func-identity) + (set! (-> s3-1 frame-num) (the float (+ (-> s4-1 data 0 length) -1))) + ) + ) + (else + (let ((s3-2 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! s3-2 s4-1 num-func-identity) + (set! (-> s3-2 frame-num) (-> self anim-first)) + ) + ) + ) + (when (nonzero? (-> s5-1 blend)) + (while (and (!= (-> self skel root-channel 0) (-> self skel channel)) (logtest? (-> s5-1 flags) 2)) + (when (logtest? (-> self flags) 32) + (TODO-RENAME-9 (-> self align)) + (TODO-RENAME-10 + (-> self align) + 31 + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + ) + ) + (suspend) + ) + ) + (until (ja-done? 0) + (when (logtest? (-> self flags) 32) + (TODO-RENAME-9 (-> self align)) + (TODO-RENAME-10 + (-> self align) + 31 + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + ) + ) + (suspend) + (anim-tester-update-anim-info s5-1) + (let ((v1-73 (= (-> self anim-last) (-> (new 'static 'array float 1 -2.0) 0)))) + (cond + ((or v1-73 (>= (-> self anim-last) (-> self anim-first))) + (cond + ((= (-> self anim-last) (-> (new 'static 'array float 1 -2.0) 0)) + (let ((a0-42 (-> self skel root-channel 0))) + (set! (-> a0-42 param 0) (the float (+ (-> a0-42 frame-group data 0 length) -1))) + (set! (-> a0-42 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-42 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (else + (let ((a0-43 (-> self skel root-channel 0))) + (set! (-> a0-43 param 0) (-> self anim-last)) + (set! (-> a0-43 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + ((= (-> self anim-last) (-> (new 'static 'array float 1 -1.0) 0)) + (let ((a0-44 (-> self skel root-channel 0))) + (set! (-> a0-44 param 0) 0.0) + (set! (-> a0-44 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-44 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (else + (let ((a0-45 (-> self skel root-channel 0))) + (set! (-> a0-45 param 0) (-> self anim-last)) + (set! (-> a0-45 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-45 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + ) + (+! (-> gp-2 playing-item) 1) + ) + (else + (format *stdcon* "anim ~A not found~%" (-> s5-1 privname)) + (suspend) + 0 + ) + ) + ) + ) + (else + (format *stdcon* "no anims~%") + (suspend) + 0 + ) ) - (else - (format *stdcon* "anim ~A not found~%" (-> s5-1 privname)) - (suspend) - 0 - ) - ) ) - ) - (else - (format *stdcon* "no anims~%") - (suspend) - 0 - ) ) - ) + (none) ) - (none) - ) :post anim-tester-post ) @@ -3235,10 +2699,7 @@ (set! (-> self speed) 100) (set! (-> self current-obj) "") (set! (-> self root) (new 'process 'trsqv)) - (set! - (-> self draw) - (new 'process 'draw-control self (the-as art-joint-geo #f)) - ) + (set! (-> self draw) (new 'process 'draw-control self (the-as art-joint-geo #f))) (set! (-> self draw dma-add-func) dma-add-process-drawable) (set! (-> self skel) (new 'process 'joint-control 24)) (set! (-> self align) (new 'process 'align-control self)) @@ -3250,10 +2711,10 @@ (quaternion-identity! (-> self root quat)) (vector-identity! (-> self root scale)) (position-in-front-of-camera! - (-> self root trans) - (-> (new 'static 'array float 1 40960.0) 0) - (-> (new 'static 'array float 1 4096.0) 0) - ) + (-> self root trans) + (-> (new 'static 'array float 1 40960.0) 0) + (-> (new 'static 'array float 1 4096.0) 0) + ) (set! (-> self event-hook) anim-tester-standard-event-handler) (anim-tester-reset) (go anim-tester-process) @@ -3263,24 +2724,24 @@ ;; definition for function anim-tester-string-get-frame!! (defun anim-tester-string-get-frame!! ((arg0 list-field) (arg1 string)) (cond - ((string-get-arg!! *temp-string* arg1) - (cond - ((or (string= *temp-string* "max") (string= *temp-string* "MAX")) - (set! (-> arg0 left) -2) - ) - ((or (string= *temp-string* "min") (string= *temp-string* "MIN")) - (set! (-> arg0 left) -1) - ) - (else - (set! (-> arg0 left) (string->int *temp-string*)) - ) + ((string-get-arg!! *temp-string* arg1) + (cond + ((or (string= *temp-string* "max") (string= *temp-string* "MAX")) + (set! (-> arg0 left) -2) + ) + ((or (string= *temp-string* "min") (string= *temp-string* "MIN")) + (set! (-> arg0 left) -1) + ) + (else + (set! (-> arg0 left) (string->int *temp-string*)) + ) + ) + #t ) - #t + (else + #f + ) ) - (else - #f - ) - ) ) ;; definition for function anim-tester-load-object-seqs @@ -3295,108 +2756,93 @@ (s3-0 "saving object ~s to ~s~%") (s2-0 (-> arg0 privname)) ) - (format (clear *temp-string*) "data/~s.obinf" (-> arg0 privname)) - (gp-0 s4-0 s3-0 s2-0 *temp-string*) - ) + (format (clear *temp-string*) "data/~s.obinf" (-> arg0 privname)) + (gp-0 s4-0 s3-0 s2-0 *temp-string*) + ) (let ((gp-1 (method-of-type file-stream new)) (s4-1 (new 'stack-no-clear 'file-stream)) (s3-1 file-stream) ) - (format (clear *temp-string*) "data/~s.obinf" (-> arg0 privname)) - (let ((gp-2 (gp-1 (the-as symbol s4-1) s3-1 *temp-string* 'write))) - (format gp-2 "major-version 0~%") - (format gp-2 "minor-version 0~%") - (format gp-2 "Object \"~S\" ~d~%" (-> arg0 privname) 0) - (let ((v1-5 (-> arg0 seq-list))) - "return the start of the list" - (let ((s5-1 (-> v1-5 head))) - (while (let ((v1-30 (the-as anim-test-sequence s5-1))) - "is this node the end of the list. #t = end" - (not (not (-> v1-30 next))) - ) - (set! - (-> (the-as anim-test-sequence s5-1) flags) - (logand -5 (-> (the-as anim-test-sequence s5-1) flags)) - ) - (format - gp-2 - " ~S \"~S\" ~d~%" - (if (logtest? (-> (the-as anim-test-sequence s5-1) flags) 1) - "Sequence" - "Anim" - ) - (-> (the-as anim-test-sequence s5-1) privname) - 0 - ) - (let ((v1-11 (-> (the-as anim-test-sequence s5-1) item-list))) + (format (clear *temp-string*) "data/~s.obinf" (-> arg0 privname)) + (let ((gp-2 (gp-1 (the-as symbol s4-1) s3-1 *temp-string* 'write))) + (format gp-2 "major-version 0~%") + (format gp-2 "minor-version 0~%") + (format gp-2 "Object \"~S\" ~d~%" (-> arg0 privname) 0) + (let ((v1-5 (-> arg0 seq-list))) "return the start of the list" - (let ((s4-2 (the-as anim-test-seq-item (-> v1-11 head)))) - (while (let ((v1-21 s4-2)) - "is this node the end of the list. #t = end" - (not (not (-> v1-21 next))) - ) - (when (zero? (logand (-> s4-2 flags) 5)) - (format - gp-2 - " Item \"~S\" ~d ~d " - (-> s4-2 privname) - (-> s4-2 speed) - (-> s4-2 blend) + (let ((s5-1 (-> v1-5 head))) + (while (let ((v1-30 (the-as anim-test-sequence s5-1))) + "is this node the end of the list. #t = end" + (not (not (-> v1-30 next))) + ) + (set! (-> (the-as anim-test-sequence s5-1) flags) (logand -5 (-> (the-as anim-test-sequence s5-1) flags))) + (format + gp-2 + " ~S \"~S\" ~d~%" + (if (logtest? (-> (the-as anim-test-sequence s5-1) flags) 1) + "Sequence" + "Anim" + ) + (-> (the-as anim-test-sequence s5-1) privname) + 0 + ) + (let ((v1-11 (-> (the-as anim-test-sequence s5-1) item-list))) + "return the start of the list" + (let ((s4-2 (the-as anim-test-seq-item (-> v1-11 head)))) + (while (let ((v1-21 s4-2)) + "is this node the end of the list. #t = end" + (not (not (-> v1-21 next))) + ) + (when (zero? (logand (-> s4-2 flags) 5)) + (format gp-2 " Item \"~S\" ~d ~d " (-> s4-2 privname) (-> s4-2 speed) (-> s4-2 blend)) + (anim-tester-num-print gp-2 (-> s4-2 first-frame)) + (format gp-2 " ") + (anim-tester-num-print gp-2 (-> s4-2 last-frame)) + (format gp-2 " ~S~%" (if (logtest? (-> s4-2 flags) 2) + "B" + "-" + ) + ) + ) + "return the next node in the list" + (set! s4-2 (the-as anim-test-seq-item (-> s4-2 next))) + ) + ) + ) + (format gp-2 " ~S~%" (if (logtest? (-> (the-as anim-test-sequence s5-1) flags) 1) + "EndSequence" + "EndAnim" + ) + ) + "return the next node in the list" + (set! s5-1 (-> (the-as anim-test-sequence s5-1) next)) ) - (anim-tester-num-print gp-2 (-> s4-2 first-frame)) - (format gp-2 " ") - (anim-tester-num-print gp-2 (-> s4-2 last-frame)) - (format gp-2 " ~S~%" (if (logtest? (-> s4-2 flags) 2) - "B" - "-" - ) - ) - ) - "return the next node in the list" - (set! s4-2 (the-as anim-test-seq-item (-> s4-2 next))) ) - ) ) - (format - gp-2 - " ~S~%" - (if (logtest? (-> (the-as anim-test-sequence s5-1) flags) 1) - "EndSequence" - "EndAnim" - ) - ) - "return the next node in the list" - (set! s5-1 (-> (the-as anim-test-sequence s5-1) next)) - ) + (format gp-2 "EndObject~%") + (file-stream-close gp-2) ) - ) - (format gp-2 "EndObject~%") - (file-stream-close gp-2) ) - ) ) ;; definition for function anim-tester-save-all-objects (defun anim-tester-save-all-objects ((arg0 anim-tester)) (let ((v1-0 (-> arg0 obj-list))) - "return the start of the list" - (let ((gp-0 (-> v1-0 head))) - (while (let ((v1-9 (the-as anim-test-obj gp-0))) - "is this node the end of the list. #t = end" - (not (not (-> v1-9 next))) - ) - (when (logtest? (-> (the-as anim-test-obj gp-0) flags) 1) - (set! - (-> (the-as anim-test-obj gp-0) flags) - (logand -2 (-> (the-as anim-test-obj gp-0) flags)) - ) - (anim-tester-save-object-seqs (the-as anim-test-obj gp-0)) + "return the start of the list" + (let ((gp-0 (-> v1-0 head))) + (while (let ((v1-9 (the-as anim-test-obj gp-0))) + "is this node the end of the list. #t = end" + (not (not (-> v1-9 next))) + ) + (when (logtest? (-> (the-as anim-test-obj gp-0) flags) 1) + (set! (-> (the-as anim-test-obj gp-0) flags) (logand -2 (-> (the-as anim-test-obj gp-0) flags))) + (anim-tester-save-object-seqs (the-as anim-test-obj gp-0)) + ) + "return the next node in the list" + (set! gp-0 (-> (the-as anim-test-obj gp-0) next)) + ) ) - "return the next node in the list" - (set! gp-0 (-> (the-as anim-test-obj gp-0) next)) - ) ) - ) #f ) @@ -3407,177 +2853,124 @@ (let ((s2-0 (the-as anim-test-obj #f)) (s5-0 (the-as anim-test-obj #f)) ) - (let ((s1-0 (the-as art-element #f)) - (s0-0 (the-as structure #f)) - ) - (dotimes (s3-0 (-> arg2 length)) - (cond - ((and (= (-> arg2 data s3-0 type) merc-ctrl) (not s2-0)) - (set! sv-96 (-> arg2 data s3-0)) - (set! s0-0 (and s2-0 s0-0)) - (if s0-0 + (let ((s1-0 (the-as art-element #f)) + (s0-0 (the-as structure #f)) + ) + (dotimes (s3-0 (-> arg2 length)) + (cond + ((and (= (-> arg2 data s3-0 type) merc-ctrl) (not s2-0)) + (set! sv-96 (-> arg2 data s3-0)) + (set! s0-0 (and s2-0 s0-0)) + (if s0-0 + (anim-test-obj-remove-invalid s2-0) + ) + (let ((t9-1 anim-tester-load-object-seqs)) + (-> sv-96 name) + (t9-1) + ) + (set! s2-0 (the-as anim-test-obj (glst-find-node-by-name (-> arg0 obj-list) (-> sv-96 name)))) + (set! s0-0 (if s2-0 + #t + #f + ) + ) + (cond + ((the-as symbol s0-0) + ) + (else + (set! s2-0 (new 'global 'anim-test-obj 1 (-> sv-96 name) arg2)) + (glst-add-tail (-> arg0 obj-list) s2-0) + ) + ) + (anim-test-obj-init s2-0 (the-as list-control arg0)) + (set! (-> s2-0 obj-art-group) arg2) + (set! (-> s2-0 mesh-geo) (the-as merc-ctrl sv-96)) + (set! (-> s2-0 joint-geo) (the-as art-joint-geo s1-0)) + (if (not s5-0) + (set! s5-0 s2-0) + ) + ) + ((= (-> arg2 data s3-0 type) art-joint-geo) + (if (and s2-0 (not (-> s2-0 joint-geo))) + (set! (-> s2-0 joint-geo) (the-as art-joint-geo (-> arg2 data s3-0))) + ) + (if (not s1-0) + (set! s1-0 (-> arg2 data s3-0)) + ) + ) + ((= (-> arg2 data s3-0 type) art-joint-anim) + (when s2-0 + (set! sv-112 (-> arg2 data s3-0)) + (set! sv-128 (the-as anim-test-obj (glst-find-node-by-name (-> s2-0 seq-list) (-> sv-112 name)))) + (when (not sv-128) + (set! sv-128 (the-as anim-test-obj (new 'debug 'anim-test-sequence 1 (-> sv-112 name)))) + (glst-add-tail (-> s2-0 seq-list) sv-128) + (anim-test-sequence-init (the-as anim-test-sequence sv-128) s2-0) + (let ((a1-11 (new 'debug 'anim-test-seq-item 1 (-> sv-112 name)))) + (glst-add-tail (the-as glst-list (&-> sv-128 obj-art-group)) a1-11) + ) + ) + (set! (-> sv-128 list-con user-info) (the-as int s2-0)) + (set! (-> sv-128 flags) (logior (-> (the-as anim-test-sequence sv-128) flags) 2)) + (let ((v1-48 (-> (the-as anim-test-sequence sv-128) item-list))) + "is the list empty, #t = empty" + (when (not (= (-> v1-48 tailpred) v1-48)) + (let ((v1-51 (-> (the-as anim-test-sequence sv-128) item-list))) + "return the start of the list" + (let ((v1-52 (-> v1-51 head))) + (set! (-> (the-as anim-test-seq-item v1-52) num-frames) + (the float (-> (the-as art-joint-anim sv-112) data 0 length)) + ) + (set! (-> (the-as anim-test-seq-item v1-52) artist-base) (-> (the-as art-joint-anim sv-112) artist-base)) + (set! (-> (the-as anim-test-seq-item v1-52) parent) (the-as anim-test-sequence sv-128)) + ) + ) + sv-128 + ) + ) + ) + ) + (else + ) + ) + ) + ) + (if s2-0 (anim-test-obj-remove-invalid s2-0) ) - (let ((t9-1 anim-tester-load-object-seqs)) - (-> sv-96 name) - (t9-1) - ) - (set! - s2-0 - (the-as - anim-test-obj - (glst-find-node-by-name (-> arg0 obj-list) (-> sv-96 name)) - ) - ) - (set! s0-0 (if s2-0 - #t - #f - ) - ) - (cond - ((the-as symbol s0-0) - ) - (else - (set! s2-0 (new 'global 'anim-test-obj 1 (-> sv-96 name) arg2)) - (glst-add-tail (-> arg0 obj-list) s2-0) - ) - ) - (anim-test-obj-init s2-0 (the-as list-control arg0)) - (set! (-> s2-0 obj-art-group) arg2) - (set! (-> s2-0 mesh-geo) (the-as merc-ctrl sv-96)) - (set! (-> s2-0 joint-geo) (the-as art-joint-geo s1-0)) - (if (not s5-0) - (set! s5-0 s2-0) - ) - ) - ((= (-> arg2 data s3-0 type) art-joint-geo) - (if (and s2-0 (not (-> s2-0 joint-geo))) - (set! (-> s2-0 joint-geo) (the-as art-joint-geo (-> arg2 data s3-0))) - ) - (if (not s1-0) - (set! s1-0 (-> arg2 data s3-0)) - ) - ) - ((= (-> arg2 data s3-0 type) art-joint-anim) - (when s2-0 - (set! sv-112 (-> arg2 data s3-0)) - (set! - sv-128 - (the-as - anim-test-obj - (glst-find-node-by-name (-> s2-0 seq-list) (-> sv-112 name)) - ) - ) - (when (not sv-128) - (set! - sv-128 - (the-as - anim-test-obj - (new 'debug 'anim-test-sequence 1 (-> sv-112 name)) - ) - ) - (glst-add-tail (-> s2-0 seq-list) sv-128) - (anim-test-sequence-init (the-as anim-test-sequence sv-128) s2-0) - (let ((a1-11 (new 'debug 'anim-test-seq-item 1 (-> sv-112 name)))) - (glst-add-tail (the-as glst-list (&-> sv-128 obj-art-group)) a1-11) - ) - ) - (set! (-> sv-128 list-con user-info) (the-as int s2-0)) - (set! - (-> sv-128 flags) - (logior (-> (the-as anim-test-sequence sv-128) flags) 2) - ) - (let ((v1-48 (-> (the-as anim-test-sequence sv-128) item-list))) - "is the list empty, #t = empty" - (when (not (= (-> v1-48 tailpred) v1-48)) - (let ((v1-51 (-> (the-as anim-test-sequence sv-128) item-list))) - "return the start of the list" - (let ((v1-52 (-> v1-51 head))) - (set! - (-> (the-as anim-test-seq-item v1-52) num-frames) - (the float (-> (the-as art-joint-anim sv-112) data 0 length)) - ) - (set! - (-> (the-as anim-test-seq-item v1-52) artist-base) - (-> (the-as art-joint-anim sv-112) artist-base) - ) - (set! - (-> (the-as anim-test-seq-item v1-52) parent) - (the-as anim-test-sequence sv-128) - ) - ) - ) - sv-128 - ) - ) - ) - ) - (else - ) + (when s5-0 + (set! (-> arg0 current-obj) (-> s5-0 privname)) + (set! (-> arg0 list-con current-index) (glst-get-node-index (-> arg0 obj-list) s5-0)) ) - ) ) - (if s2-0 - (anim-test-obj-remove-invalid s2-0) - ) - (when s5-0 - (set! (-> arg0 current-obj) (-> s5-0 privname)) - (set! - (-> arg0 list-con current-index) - (glst-get-node-index (-> arg0 obj-list) s5-0) - ) - ) - ) (send-event arg0 'reset #f) ) ;; definition for function anim-tester-stop (defun anim-tester-stop () (when *anim-tester* - (kill-by-name 'anim-tester *active-pool*) - (set! *anim-tester* (the-as (pointer anim-tester) #f)) - #f - ) + (kill-by-name 'anim-tester *active-pool*) + (set! *anim-tester* (the-as (pointer anim-tester) #f)) + #f + ) ) ;; definition for function anim-tester-start (defun anim-tester-start () (anim-tester-stop) (let ((gp-0 (get-process *16k-dead-pool* anim-tester #x4000))) - (set! *anim-tester* (the-as (pointer anim-tester) (when gp-0 - (let - ((t9-2 - (method-of-type - anim-tester - activate - ) - ) - ) - (t9-2 - (the-as - anim-tester - gp-0 - ) - *default-pool* - 'anim-tester - (the-as - pointer - #x70004000 - ) - ) - ) - ((the-as - (function process function none) - run-function-in-process - ) - gp-0 - initialize-anim-tester - ) - (-> gp-0 ppointer) - ) - ) + (set! *anim-tester* + (the-as (pointer anim-tester) + (when gp-0 + (let ((t9-2 (method-of-type anim-tester activate))) + (t9-2 (the-as anim-tester gp-0) *default-pool* 'anim-tester (the-as pointer #x70004000)) + ) + ((the-as (function process function none) run-function-in-process) gp-0 initialize-anim-tester) + (-> gp-0 ppointer) + ) + ) + ) ) - ) (set! *camera-orbit-target* *anim-tester*) (send-event *camera* 'change-state cam-orbit 0) #f @@ -3586,201 +2979,149 @@ ;; definition for function anim-tester-add-object ;; INFO: Return type mismatch object vs none. (defun anim-tester-add-object ((arg0 string)) - (let - ((s5-0 - (load-to-heap-by-name - (-> *level* level-default art-group) - arg0 - #t - global - 0 + (let ((s5-0 (load-to-heap-by-name (-> *level* level-default art-group) arg0 #t global 0))) + (cond + (s5-0 + (if (not *anim-tester*) + (anim-tester-start) + ) + (if *anim-tester* + (anim-tester-add-newobj (the-as anim-tester (ppointer->process *anim-tester*)) arg0 s5-0) + ) + ) + (else + (format 0 "ERROR:no object (~A)n" arg0) + ) ) - ) ) - (cond - (s5-0 - (if (not *anim-tester*) - (anim-tester-start) - ) - (if *anim-tester* - (anim-tester-add-newobj - (the-as anim-tester (ppointer->process *anim-tester*)) - arg0 - s5-0 - ) - ) - ) - (else - (format 0 "ERROR:no object (~A)n" arg0) - ) - ) - ) (none) ) ;; definition for function anim-tester-set-name (defun anim-tester-set-name ((arg0 string)) (cond - ((zero? (length arg0)) - (format #t "ERROR: no name~%") - ) - ((and *anim-tester* (let ((v1-6 (-> *anim-tester* 0 obj-list))) - "is the list empty, #t = empty" - (not (= (-> v1-6 tailpred) v1-6)) - ) + ((zero? (length arg0)) + (format #t "ERROR: no name~%") ) - (let - ((s3-0 - (the-as - anim-test-obj - (glst-find-node-by-name - (-> *anim-tester* 0 obj-list) - (-> *anim-tester* 0 current-obj) - ) - ) - ) - ) - (cond - (s3-0 - (let - ((s5-0 - (the-as - anim-test-sequence - (glst-get-node-by-index - (-> s3-0 seq-list) - (-> s3-0 list-con current-index) - ) - ) + ((and *anim-tester* (let ((v1-6 (-> *anim-tester* 0 obj-list))) + "is the list empty, #t = empty" + (not (= (-> v1-6 tailpred) v1-6)) + ) ) - ) - (cond - (s5-0 - (cond - ((logtest? (-> s5-0 flags) 1) - (let ((s4-0 (the-as object (-> s5-0 privname)))) - (let ((v1-14 s5-0)) - (set! (-> v1-14 privname) "") - ) - (cond - ((glst-find-node-by-name (-> s3-0 seq-list) arg0) - (format - #t - "ERROR: another sequence is already using that name (~S)~%" - arg0 - ) - (set! (-> s5-0 privname) (the-as string s4-0)) - ) - (else - (set! s4-0 arg0) - (set! (-> s5-0 privname) (the-as string s4-0)) - ) - ) - s4-0 + (let ((s3-0 + (the-as anim-test-obj (glst-find-node-by-name (-> *anim-tester* 0 obj-list) (-> *anim-tester* 0 current-obj))) + ) + ) + (cond + (s3-0 + (let ((s5-0 + (the-as anim-test-sequence (glst-get-node-by-index (-> s3-0 seq-list) (-> s3-0 list-con current-index))) + ) + ) + (cond + (s5-0 + (cond + ((logtest? (-> s5-0 flags) 1) + (let ((s4-0 (the-as object (-> s5-0 privname)))) + (let ((v1-14 s5-0)) + (set! (-> v1-14 privname) "") + ) + (cond + ((glst-find-node-by-name (-> s3-0 seq-list) arg0) + (format #t "ERROR: another sequence is already using that name (~S)~%" arg0) + (set! (-> s5-0 privname) (the-as string s4-0)) + ) + (else + (set! s4-0 arg0) + (set! (-> s5-0 privname) (the-as string s4-0)) + ) + ) + s4-0 + ) + ) + (else + (format #t "ERROR: no sequence selected~%") + ) + ) + ) + (else + (format #t "ERROR: no sequence selected~%") + ) + ) ) - ) - (else - (format #t "ERROR: no sequence selected~%") - ) ) - ) (else - (format #t "ERROR: no sequence selected~%") - ) + (format #t "ERROR:no object selected~%") + ) ) - ) ) - (else - (format #t "ERROR:no object selected~%") - ) - ) ) + (else + (format #t "ERROR:no object loaded~%") + ) ) - (else - (format #t "ERROR:no object loaded~%") - ) - ) ) ;; definition for function anim-tester-add-sequence ;; INFO: Return type mismatch object vs none. (defun anim-tester-add-sequence ((arg0 string)) (cond - ((zero? (length arg0)) - (format #t "ERROR: no name~%") - ) - ((and *anim-tester* (let ((v1-6 (-> *anim-tester* 0 obj-list))) - "is the list empty, #t = empty" - (not (= (-> v1-6 tailpred) v1-6)) - ) + ((zero? (length arg0)) + (format #t "ERROR: no name~%") ) - (let - ((s5-0 - (the-as - anim-test-obj - (glst-find-node-by-name - (-> *anim-tester* 0 obj-list) - (-> *anim-tester* 0 current-obj) - ) - ) - ) - ) - (cond - (s5-0 - (let ((s4-0 (glst-find-node-by-name (-> s5-0 seq-list) arg0))) - (cond - (s4-0 - (format - #t - "ERROR: there is already a sequence with the name ~S~%" - arg0 - ) - (set! - (-> s5-0 list-con current-index) - (glst-get-node-index (-> s5-0 seq-list) s4-0) - ) - (send-event (ppointer->process *anim-tester*) 'edit-sequence) + ((and *anim-tester* (let ((v1-6 (-> *anim-tester* 0 obj-list))) + "is the list empty, #t = empty" + (not (= (-> v1-6 tailpred) v1-6)) + ) ) + (let ((s5-0 + (the-as anim-test-obj (glst-find-node-by-name (-> *anim-tester* 0 obj-list) (-> *anim-tester* 0 current-obj))) + ) + ) + (cond + (s5-0 + (let ((s4-0 (glst-find-node-by-name (-> s5-0 seq-list) arg0))) + (cond + (s4-0 + (format #t "ERROR: there is already a sequence with the name ~S~%" arg0) + (set! (-> s5-0 list-con current-index) (glst-get-node-index (-> s5-0 seq-list) s4-0)) + (send-event (ppointer->process *anim-tester*) 'edit-sequence) + ) + (else + (let ((gp-1 (new 'global 'anim-test-sequence 1 arg0))) + (glst-add-tail (-> s5-0 seq-list) gp-1) + (set! (-> gp-1 list-con listfunc) anim-test-edit-sequence-list-handler) + (set! (-> gp-1 list-con left) (-> *ANIM_TESTER-bank* EDIT_LIST_X)) + (set! (-> gp-1 list-con top) (-> *ANIM_TESTER-bank* EDIT_LIST_Y)) + (set! (-> gp-1 list-con list) (-> gp-1 item-list)) + (set! (-> gp-1 list-con list-owner) (the-as uint gp-1)) + (set! (-> gp-1 parent) s5-0) + (anim-test-seq-mark-as-edited gp-1) + (logior! (-> gp-1 flags) 1) + (set! (-> s5-0 list-con current-index) (glst-get-node-index (-> s5-0 seq-list) gp-1)) + (set! (-> s5-0 seq-index) (-> s5-0 list-con current-index)) + (set! (-> s5-0 seq-hindex) (-> s5-0 list-con current-index)) + (let ((s5-1 (new 'debug 'anim-test-seq-item 1 "**END**"))) + (logior! (-> s5-1 flags) 1) + (glst-add-tail (-> gp-1 item-list) s5-1) + (set! (-> s5-1 parent) gp-1) + ) + ) + (send-event (ppointer->process *anim-tester*) 'edit-sequence) + ) + ) + ) + ) (else - (let ((gp-1 (new 'global 'anim-test-sequence 1 arg0))) - (glst-add-tail (-> s5-0 seq-list) gp-1) - (set! - (-> gp-1 list-con listfunc) - anim-test-edit-sequence-list-handler - ) - (set! (-> gp-1 list-con left) (-> *ANIM_TESTER-bank* EDIT_LIST_X)) - (set! (-> gp-1 list-con top) (-> *ANIM_TESTER-bank* EDIT_LIST_Y)) - (set! (-> gp-1 list-con list) (-> gp-1 item-list)) - (set! (-> gp-1 list-con list-owner) (the-as uint gp-1)) - (set! (-> gp-1 parent) s5-0) - (anim-test-seq-mark-as-edited gp-1) - (logior! (-> gp-1 flags) 1) - (set! - (-> s5-0 list-con current-index) - (glst-get-node-index (-> s5-0 seq-list) gp-1) - ) - (set! (-> s5-0 seq-index) (-> s5-0 list-con current-index)) - (set! (-> s5-0 seq-hindex) (-> s5-0 list-con current-index)) - (let ((s5-1 (new 'debug 'anim-test-seq-item 1 "**END**"))) - (logior! (-> s5-1 flags) 1) - (glst-add-tail (-> gp-1 item-list) s5-1) - (set! (-> s5-1 parent) gp-1) - ) + (format #t "ERROR:no object selected~%") ) - (send-event (ppointer->process *anim-tester*) 'edit-sequence) - ) ) - ) ) - (else - (format #t "ERROR:no object selected~%") - ) - ) ) + (else + (format #t "ERROR:no object loaded~%") + ) ) - (else - (format #t "ERROR:no object loaded~%") - ) - ) (none) ) diff --git a/test/decompiler/reference/engine/debug/assert-h_REF.gc b/test/decompiler/reference/engine/debug/assert-h_REF.gc index 38e6151317..d63c719695 100644 --- a/test/decompiler/reference/engine/debug/assert-h_REF.gc +++ b/test/decompiler/reference/engine/debug/assert-h_REF.gc @@ -17,10 +17,7 @@ ) ;; definition for method 3 of type __assert-info-private-struct -(defmethod - inspect - __assert-info-private-struct - ((obj __assert-info-private-struct)) +(defmethod inspect __assert-info-private-struct ((obj __assert-info-private-struct)) (format #t "[~8x] ~A~%" obj '__assert-info-private-struct) (format #t "~Tfilename: ~A~%" (-> obj filename)) (format #t "~Tline-num: ~D~%" (-> obj line-num)) @@ -29,14 +26,7 @@ ) ;; definition for method 9 of type __assert-info-private-struct -(defmethod - set-pos - __assert-info-private-struct - ((obj __assert-info-private-struct) - (filename string) - (line-num uint) - (column-num uint) - ) +(defmethod set-pos __assert-info-private-struct ((obj __assert-info-private-struct) (filename string) (line-num uint) (column-num uint)) (set! (-> obj filename) filename) (set! (-> obj line-num) line-num) (set! (-> obj column-num) column-num) @@ -44,17 +34,8 @@ ) ;; definition for method 10 of type __assert-info-private-struct -(defmethod - print-pos - __assert-info-private-struct - ((obj __assert-info-private-struct)) - (format - #t - "file ~S.gc, line ~D, col ~D.~%" - (-> obj filename) - (-> obj line-num) - (-> obj column-num) - ) +(defmethod print-pos __assert-info-private-struct ((obj __assert-info-private-struct)) + (format #t "file ~S.gc, line ~D, col ~D.~%" (-> obj filename) (-> obj line-num) (-> obj column-num)) 0 ) diff --git a/test/decompiler/reference/engine/debug/debug-sphere_REF.gc b/test/decompiler/reference/engine/debug/debug-sphere_REF.gc index 5e8f91b99d..0f5c9df6be 100644 --- a/test/decompiler/reference/engine/debug/debug-sphere_REF.gc +++ b/test/decompiler/reference/engine/debug/debug-sphere_REF.gc @@ -26,58 +26,34 @@ (f30-0 1.0) (s4-0 0) ) - (set-vector! s5-0 0.0 0.0 0.0 1.0) - (dotimes (s3-0 10) - (let ((f28-0 (* f30-0 (sin (* 3276.8 (the float s3-0))))) - (f26-0 (* f30-0 (sin (* 3276.8 (the float (+ s3-0 1)))))) - (s2-0 (new-stack-vector0)) - (s1-0 (new-stack-vector0)) - (s0-0 (new-stack-vector0)) + (set-vector! s5-0 0.0 0.0 0.0 1.0) + (dotimes (s3-0 10) + (let ((f28-0 (* f30-0 (sin (* 3276.8 (the float s3-0))))) + (f26-0 (* f30-0 (sin (* 3276.8 (the float (+ s3-0 1)))))) + (s2-0 (new-stack-vector0)) + (s1-0 (new-stack-vector0)) + (s0-0 (new-stack-vector0)) + ) + (set! (-> s2-0 y) (+ (-> s5-0 y) (* (cos (* 3276.8 (the float s3-0))) f30-0))) + (set! (-> s1-0 y) (-> s2-0 y)) + (set! (-> s0-0 y) (+ (-> s5-0 y) (* (cos (* 3276.8 (the float (+ s3-0 1)))) f30-0))) + (set! sv-80 0) + (while (< sv-80 10) + (set! (-> s2-0 x) (+ (-> s5-0 x) (* (cos (* 6553.6 (the float sv-80))) f28-0))) + (set! (-> s2-0 z) (+ (-> s5-0 z) (* (sin (* 6553.6 (the float sv-80))) f28-0))) + (set! (-> s1-0 x) (+ (-> s5-0 x) (* (cos (* 6553.6 (the float (+ sv-80 1)))) f28-0))) + (set! (-> s1-0 z) (+ (-> s5-0 z) (* (sin (* 6553.6 (the float (+ sv-80 1)))) f28-0))) + (set! (-> s0-0 x) (+ (-> s5-0 x) (* (cos (* 6553.6 (the float sv-80))) f26-0))) + (set! (-> s0-0 z) (+ (-> s5-0 z) (* (sin (* 6553.6 (the float sv-80))) f26-0))) + (set! (-> arg0 point s4-0 quad) (-> s2-0 quad)) + (set! (-> arg0 point (+ s4-0 1) quad) (-> s1-0 quad)) + (set! (-> arg0 point (+ s4-0 2) quad) (-> s0-0 quad)) + (+! s4-0 3) + (set! sv-80 (+ sv-80 1)) ) - (set! - (-> s2-0 y) - (+ (-> s5-0 y) (* (cos (* 3276.8 (the float s3-0))) f30-0)) + ) ) - (set! (-> s1-0 y) (-> s2-0 y)) - (set! - (-> s0-0 y) - (+ (-> s5-0 y) (* (cos (* 3276.8 (the float (+ s3-0 1)))) f30-0)) - ) - (set! sv-80 0) - (while (< sv-80 10) - (set! - (-> s2-0 x) - (+ (-> s5-0 x) (* (cos (* 6553.6 (the float sv-80))) f28-0)) - ) - (set! - (-> s2-0 z) - (+ (-> s5-0 z) (* (sin (* 6553.6 (the float sv-80))) f28-0)) - ) - (set! - (-> s1-0 x) - (+ (-> s5-0 x) (* (cos (* 6553.6 (the float (+ sv-80 1)))) f28-0)) - ) - (set! - (-> s1-0 z) - (+ (-> s5-0 z) (* (sin (* 6553.6 (the float (+ sv-80 1)))) f28-0)) - ) - (set! - (-> s0-0 x) - (+ (-> s5-0 x) (* (cos (* 6553.6 (the float sv-80))) f26-0)) - ) - (set! - (-> s0-0 z) - (+ (-> s5-0 z) (* (sin (* 6553.6 (the float sv-80))) f26-0)) - ) - (set! (-> arg0 point s4-0 quad) (-> s2-0 quad)) - (set! (-> arg0 point (+ s4-0 1) quad) (-> s1-0 quad)) - (set! (-> arg0 point (+ s4-0 2) quad) (-> s0-0 quad)) - (+! s4-0 3) - (set! sv-80 (+ sv-80 1)) - ) - ) ) - ) 0 (none) ) @@ -91,41 +67,39 @@ ;; definition for function add-debug-sphere-from-table ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - add-debug-sphere-from-table - ((arg0 bucket-id) (arg1 vector) (arg2 float) (arg3 rgba)) +(defun add-debug-sphere-from-table ((arg0 bucket-id) (arg1 vector) (arg2 float) (arg3 rgba)) (rlet ((vf1 :class vf) (vf2 :class vf) (vf3 :class vf) (vf4 :class vf) (vf5 :class vf) ) - (let ((s4-0 (new-stack-vector0)) - (s3-0 (new-stack-vector0)) - (s2-0 (new-stack-vector0)) - (points (-> *debug-sphere-table* point)) - ) - (.lvf vf1 (&-> arg1 quad)) - (.mov vf2 arg2) - (dotimes (s0-0 100) - (.lvf vf3 (&-> points 0 quad)) - (.lvf vf4 (&-> points 1 quad)) - (.lvf vf5 (&-> points 2 quad)) - (set! points (the-as (inline-array vector) (-> points 3))) - (.mul.x.vf vf3 vf3 vf2) - (.mul.x.vf vf4 vf4 vf2) - (.mul.x.vf vf5 vf5 vf2) - (.add.vf vf3 vf3 vf1) - (.add.vf vf4 vf4 vf1) - (.add.vf vf5 vf5 vf1) - (.svf (&-> s4-0 quad) vf3) - (.svf (&-> s3-0 quad) vf4) - (.svf (&-> s2-0 quad) vf5) - (add-debug-line #t arg0 s4-0 s3-0 arg3 #f (the-as rgba -1)) - (add-debug-line #t arg0 s4-0 s2-0 arg3 #f (the-as rgba -1)) - ) + (let ((s4-0 (new-stack-vector0)) + (s3-0 (new-stack-vector0)) + (s2-0 (new-stack-vector0)) + (points (-> *debug-sphere-table* point)) + ) + (.lvf vf1 (&-> arg1 quad)) + (.mov vf2 arg2) + (dotimes (s0-0 100) + (.lvf vf3 (&-> points 0 quad)) + (.lvf vf4 (&-> points 1 quad)) + (.lvf vf5 (&-> points 2 quad)) + (set! points (the-as (inline-array vector) (-> points 3))) + (.mul.x.vf vf3 vf3 vf2) + (.mul.x.vf vf4 vf4 vf2) + (.mul.x.vf vf5 vf5 vf2) + (.add.vf vf3 vf3 vf1) + (.add.vf vf4 vf4 vf1) + (.add.vf vf5 vf5 vf1) + (.svf (&-> s4-0 quad) vf3) + (.svf (&-> s3-0 quad) vf4) + (.svf (&-> s2-0 quad) vf5) + (add-debug-line #t arg0 s4-0 s3-0 arg3 #f (the-as rgba -1)) + (add-debug-line #t arg0 s4-0 s2-0 arg3 #f (the-as rgba -1)) + ) + ) + 0 + (none) ) - 0 - (none) - ) ) diff --git a/test/decompiler/reference/engine/debug/debug_REF.gc b/test/decompiler/reference/engine/debug/debug_REF.gc index 32f4992edf..2eda3c998a 100644 --- a/test/decompiler/reference/engine/debug/debug_REF.gc +++ b/test/decompiler/reference/engine/debug/debug_REF.gc @@ -22,615 +22,468 @@ (vf8 :class vf) (vf9 :class vf) ) - (init-vf0-vector) - (.lvf vf5 (&-> arg0 quad)) - (.mul.w.vf acc vf4 vf5) - (.add.mul.x.vf acc vf1 vf5 acc) - (.add.mul.y.vf acc vf2 vf5 acc) - (.add.mul.z.vf vf5 vf3 vf5 acc) - (.div.vf Q vf9 vf5 :fsf #b0 :ftf #b11) - (.wait.vf) - (.mul.vf vf5 vf5 Q :mask #b111) - (.add.vf vf5 vf5 vf8) - (.max.x.vf vf5 vf5 vf0 :mask #b1000) - (.min.x.vf vf5 vf5 vf6 :mask #b1000) - (vftoi4.xyzw vf5 vf5) - (.svf (&-> arg1 quad) vf5) - arg1 - ) + (init-vf0-vector) + (.lvf vf5 (&-> arg0 quad)) + (.mul.w.vf acc vf4 vf5) + (.add.mul.x.vf acc vf1 vf5 acc) + (.add.mul.y.vf acc vf2 vf5 acc) + (.add.mul.z.vf vf5 vf3 vf5 acc) + (.div.vf Q vf9 vf5 :fsf #b0 :ftf #b11) + (.wait.vf) + (.mul.vf vf5 vf5 Q :mask #b111) + (.add.vf vf5 vf5 vf8) + (.max.x.vf vf5 vf5 vf0 :mask #b1000) + (.min.x.vf vf5 vf5 vf6 :mask #b1000) + (vftoi4.xyzw vf5 vf5) + (.svf (&-> arg1 quad) vf5) + arg1 + ) ) ;; definition (debug) for function add-debug-point ;; Used lq/sq -(defun-debug - add-debug-point - ((enable-draw symbol) (bucket bucket-id) (pt vector)) +(defun-debug add-debug-point ((enable-draw symbol) (bucket bucket-id) (pt vector)) (if (not enable-draw) - (return #f) - ) + (return #f) + ) (let ((s5-0 (new 'stack 'vector4w-2))) - (set! (-> pt w) 1.0) - (when (transform-point-qword! (the-as vector4w (-> s5-0 quad)) pt) - (let* ((buf (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (a2-1 (-> buf base)) - ) - (let ((a0-6 (the-as (pointer uint64) (-> buf base)))) - (let* ((a1-3 buf) - (a3-0 (the-as dma-packet (-> a1-3 base))) + (set! (-> pt w) 1.0) + (when (transform-point-qword! (the-as vector4w (-> s5-0 quad)) pt) + (let* ((buf (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (a2-1 (-> buf base)) ) - (set! (-> a3-0 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> a3-0 vif0) (new 'static 'vif-tag)) - (set! - (-> a3-0 vif1) - (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> a1-3 base) (&+ (the-as pointer a3-0) 16)) - ) - (let* ((a1-4 buf) - (a3-2 (the-as gs-gif-tag (-> a1-4 base))) - ) - (set! - (-> a3-2 tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :abe #x1) - :nreg #x8 - ) - ) - (set! - (-> a3-2 regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id rgbaq) - :regs1 (gif-reg-id xyzf2) - :regs2 (gif-reg-id rgbaq) - :regs3 (gif-reg-id xyzf2) - :regs4 (gif-reg-id rgbaq) - :regs5 (gif-reg-id xyzf2) - :regs6 (gif-reg-id rgbaq) - :regs7 (gif-reg-id xyzf2) - ) - ) - (set! (-> a1-4 base) (&+ (the-as pointer a3-2) 16)) - ) - (set! (-> s5-0 vector 1 x) 255) - (set! (-> s5-0 vector 1 y) 128) - (set! (-> s5-0 vector 1 z) 128) - (set! (-> s5-0 vector 1 w) 128) - (+! (-> s5-0 vector 0 y) 160) - (let* ((a1-11 buf) - (a3-4 (the-as vector4w-2 (-> a1-11 base))) - ) - (set! (-> a3-4 quad 0) (-> (&-> s5-0 quad 1) 0)) - (set! (-> a3-4 quad 1) (-> s5-0 quad 0)) - (set! (-> a1-11 base) (&+ (the-as pointer a3-4) 32)) - ) - (+! (-> s5-0 vector 0 x) -256) - (+! (-> s5-0 vector 0 y) -160) - (set! (-> s5-0 vector 1 x) 128) - (set! (-> s5-0 vector 1 y) 255) - (let* ((a1-18 buf) - (a3-6 (the-as vector4w-2 (-> a1-18 base))) - ) - (set! (-> a3-6 quad 0) (-> (&-> s5-0 quad 1) 0)) - (set! (-> a3-6 quad 1) (-> s5-0 quad 0)) - (set! (-> a1-18 base) (&+ (the-as pointer a3-6) 32)) - ) - (+! (-> s5-0 vector 0 x) 512) - (set! (-> s5-0 vector 1 y) 128) - (set! (-> s5-0 vector 1 z) 255) - (let* ((a1-23 buf) - (a3-8 (the-as vector4w-2 (-> a1-23 base))) - ) - (set! (-> a3-8 quad 0) (-> (&-> s5-0 quad 1) 0)) - (set! (-> a3-8 quad 1) (-> s5-0 quad 0)) - (set! (-> a1-23 base) (&+ (the-as pointer a3-8) 32)) - ) - (+! (-> s5-0 vector 0 x) -256) - (+! (-> s5-0 vector 0 y) -160) - (set! (-> s5-0 vector 1 x) 255) - (set! (-> s5-0 vector 1 y) 128) - (let* ((a3-10 buf) - (a1-30 (the-as vector4w-2 (-> a3-10 base))) - ) - (set! (-> a1-30 quad 0) (-> (&-> s5-0 quad 1) 0)) - (set! (-> a1-30 quad 1) (-> s5-0 quad 0)) - (set! (-> a3-10 base) (&+ (the-as pointer a1-30) 32)) - ) - (let - ((a3-14 - (/ - (the-as - int - (+ - (&- (the-as pointer -16) (the-as uint a0-6)) - (the-as int (-> buf base)) + (let ((a0-6 (the-as (pointer uint64) (-> buf base)))) + (let* ((a1-3 buf) + (a3-0 (the-as dma-packet (-> a1-3 base))) + ) + (set! (-> a3-0 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> a3-0 vif0) (new 'static 'vif-tag)) + (set! (-> a3-0 vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1)) + (set! (-> a1-3 base) (&+ (the-as pointer a3-0) 16)) + ) + (let* ((a1-4 buf) + (a3-2 (the-as gs-gif-tag (-> a1-4 base))) + ) + (set! (-> a3-2 tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :abe #x1) + :nreg #x8 + ) + ) + (set! (-> a3-2 regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id rgbaq) + :regs1 (gif-reg-id xyzf2) + :regs2 (gif-reg-id rgbaq) + :regs3 (gif-reg-id xyzf2) + :regs4 (gif-reg-id rgbaq) + :regs5 (gif-reg-id xyzf2) + :regs6 (gif-reg-id rgbaq) + :regs7 (gif-reg-id xyzf2) + ) + ) + (set! (-> a1-4 base) (&+ (the-as pointer a3-2) 16)) + ) + (set! (-> s5-0 vector 1 x) 255) + (set! (-> s5-0 vector 1 y) 128) + (set! (-> s5-0 vector 1 z) 128) + (set! (-> s5-0 vector 1 w) 128) + (+! (-> s5-0 vector 0 y) 160) + (let* ((a1-11 buf) + (a3-4 (the-as vector4w-2 (-> a1-11 base))) + ) + (set! (-> a3-4 quad 0) (-> (&-> s5-0 quad 1) 0)) + (set! (-> a3-4 quad 1) (-> s5-0 quad 0)) + (set! (-> a1-11 base) (&+ (the-as pointer a3-4) 32)) + ) + (+! (-> s5-0 vector 0 x) -256) + (+! (-> s5-0 vector 0 y) -160) + (set! (-> s5-0 vector 1 x) 128) + (set! (-> s5-0 vector 1 y) 255) + (let* ((a1-18 buf) + (a3-6 (the-as vector4w-2 (-> a1-18 base))) + ) + (set! (-> a3-6 quad 0) (-> (&-> s5-0 quad 1) 0)) + (set! (-> a3-6 quad 1) (-> s5-0 quad 0)) + (set! (-> a1-18 base) (&+ (the-as pointer a3-6) 32)) + ) + (+! (-> s5-0 vector 0 x) 512) + (set! (-> s5-0 vector 1 y) 128) + (set! (-> s5-0 vector 1 z) 255) + (let* ((a1-23 buf) + (a3-8 (the-as vector4w-2 (-> a1-23 base))) + ) + (set! (-> a3-8 quad 0) (-> (&-> s5-0 quad 1) 0)) + (set! (-> a3-8 quad 1) (-> s5-0 quad 0)) + (set! (-> a1-23 base) (&+ (the-as pointer a3-8) 32)) + ) + (+! (-> s5-0 vector 0 x) -256) + (+! (-> s5-0 vector 0 y) -160) + (set! (-> s5-0 vector 1 x) 255) + (set! (-> s5-0 vector 1 y) 128) + (let* ((a3-10 buf) + (a1-30 (the-as vector4w-2 (-> a3-10 base))) + ) + (set! (-> a1-30 quad 0) (-> (&-> s5-0 quad 1) 0)) + (set! (-> a1-30 quad 1) (-> s5-0 quad 0)) + (set! (-> a3-10 base) (&+ (the-as pointer a1-30) 32)) + ) + (let ((a3-14 (/ (the-as int (+ (&- (the-as pointer -16) (the-as uint a0-6)) (the-as int (-> buf base)))) 16))) + (cond + ((nonzero? a3-14) + (logior! (-> a0-6 0) (shr (shl a3-14 48) 48)) + (logior! (-> a0-6 1) (shl (shr (shl a3-14 48) 48) 32)) + ) + (else + (set! (-> buf base) a0-6) + ) + ) + ) + ) + (let ((a3-20 (-> buf base))) + (let ((a0-7 (the-as dma-packet (-> buf base)))) + (set! (-> a0-7 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> a0-7 vif0) (new 'static 'vif-tag)) + (set! (-> a0-7 vif1) (new 'static 'vif-tag)) + (set! (-> buf base) (&+ (the-as pointer a0-7) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + bucket + a2-1 + (the-as (pointer dma-tag) a3-20) ) - ) - 16 ) - ) ) - (cond - ((nonzero? a3-14) - (logior! (-> a0-6 0) (shr (shl a3-14 48) 48)) - (logior! (-> a0-6 1) (shl (shr (shl a3-14 48) 48) 32)) - ) - (else - (set! (-> buf base) a0-6) - ) - ) - ) ) - (let ((a3-20 (-> buf base))) - (let ((a0-7 (the-as dma-packet (-> buf base)))) - (set! (-> a0-7 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> a0-7 vif0) (new 'static 'vif-tag)) - (set! (-> a0-7 vif1) (new 'static 'vif-tag)) - (set! (-> buf base) (&+ (the-as pointer a0-7) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - bucket - a2-1 - (the-as (pointer dma-tag) a3-20) - ) - ) - ) ) - ) #f ) ;; definition (debug) for function internal-draw-debug-line ;; Used lq/sq -(defun-debug - internal-draw-debug-line - ((arg0 bucket-id) - (arg1 vector) - (arg2 vector) - (arg3 rgba) - (arg4 symbol) - (arg5 rgba) - ) +(defun-debug internal-draw-debug-line ((arg0 bucket-id) (arg1 vector) (arg2 vector) (arg3 rgba) (arg4 symbol) (arg5 rgba)) (local-vars (sv-80 vector)) (set! sv-80 arg2) (let ((s2-0 arg3) (s3-0 arg4) (s5-0 arg5) ) - (let ((a0-4 (-> *display* frames (-> *display* on-screen) frame debug-buf))) - (if - (< - (the-as - uint - (shr (+ (&- (-> a0-4 end) (the-as uint (-> a0-4 base))) 15) 4) - ) - (the-as uint #x8000) - ) - (return (the-as pointer #f)) - ) - ) - (if - (or - (= s5-0 -1) - (= s5-0 (new 'static 'rgba :r #xff :g #xff :b #xff :a #xff)) - ) - (set! s5-0 s2-0) - ) - (case s3-0 - (('fade) - (set! - s5-0 - (new 'static 'rgba - :r (shr (-> s5-0 r) 1) - :g (shr (-> s5-0 g) 1) - :b (shr (-> s5-0 b) 1) - :a (-> s5-0 a) - ) - ) - ) - ) - (let ((s4-0 (new 'stack 'vector4w-2)) - (s1-0 (new 'stack 'vector4w-2)) - ) - (set! (-> arg1 w) 1.0) - (set! (-> sv-80 w) 1.0) - (when - (and - (transform-point-qword! (the-as vector4w (-> s4-0 quad)) arg1) - (transform-point-qword! (the-as vector4w (&-> s4-0 quad 1)) sv-80) - ) - (let* - ((v1-28 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (a2-1 (-> v1-28 base)) - ) - (let ((a0-31 (the-as (pointer uint64) (-> v1-28 base)))) - (let* ((a1-5 v1-28) - (a3-1 (the-as dma-packet (-> a1-5 base))) - ) - (set! (-> a3-1 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> a3-1 vif0) (new 'static 'vif-tag)) - (set! - (-> a3-1 vif1) - (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> a1-5 base) (&+ (the-as pointer a3-1) 16)) - ) - (let* ((a1-6 v1-28) - (a3-3 (the-as gs-gif-tag (-> a1-6 base))) - ) - (set! - (-> a3-3 tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type line) :iip #x1 :abe #x1) - :nreg #x4 + (let ((a0-4 (-> *display* frames (-> *display* on-screen) frame debug-buf))) + (if (< (the-as uint (shr (+ (&- (-> a0-4 end) (the-as uint (-> a0-4 base))) 15) 4)) (the-as uint #x8000)) + (return (the-as pointer #f)) ) - ) - (set! - (-> a3-3 regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id rgbaq) - :regs1 (gif-reg-id xyzf2) - :regs2 (gif-reg-id rgbaq) - :regs3 (gif-reg-id xyzf2) - ) - ) - (set! (-> a1-6 base) (&+ (the-as pointer a3-3) 16)) + ) + (if (or (= s5-0 -1) (= s5-0 (new 'static 'rgba :r #xff :g #xff :b #xff :a #xff))) + (set! s5-0 s2-0) ) - (case s3-0 - (('fade-depth) - (let - ((f0-3 - (fmax - 0.2 - (fmin 1.0 (* 0.00000005960465 (the float (-> s4-0 vector 0 z)))) - ) + (case s3-0 + (('fade) + (set! s5-0 + (new 'static 'rgba :r (shr (-> s5-0 r) 1) :g (shr (-> s5-0 g) 1) :b (shr (-> s5-0 b) 1) :a (-> s5-0 a)) ) - ) - (set! - (-> s1-0 vector 0 x) - (the int (* (the float (-> s2-0 r)) f0-3)) - ) - (set! - (-> s1-0 vector 0 y) - (the int (* (the float (-> s2-0 g)) f0-3)) - ) - (set! - (-> s1-0 vector 0 z) - (the int (* (the float (-> s2-0 b)) f0-3)) - ) - ) - (set! (-> s1-0 vector 0 w) (the-as int (-> s2-0 a))) - ) - (else - (set! (-> s1-0 vector 0 x) (the-as int (-> s2-0 r))) - (set! (-> s1-0 vector 0 y) (the-as int (-> s2-0 g))) - (set! (-> s1-0 vector 0 z) (the-as int (-> s2-0 b))) - (set! (-> s1-0 vector 0 w) (the-as int (-> s2-0 a))) - ) - ) - (cond - ((= s3-0 'fade-depth) - (let - ((f0-7 - (fmax - 0.2 - (fmin 1.0 (* 0.00000005960465 (the float (-> s4-0 vector 1 z)))) - ) - ) - ) - (set! (-> s1-0 vector 1 x) (the int (* (the float (-> s5-0 r)) f0-7))) - (set! (-> s1-0 vector 1 y) (the int (* (the float (-> s5-0 g)) f0-7))) - (set! (-> s1-0 vector 1 z) (the int (* (the float (-> s5-0 b)) f0-7))) - ) - (set! (-> s1-0 vector 1 w) (the-as int (-> s5-0 a))) - ) - (else - (set! (-> s1-0 vector 1 x) (the-as int (-> s5-0 r))) - (set! (-> s1-0 vector 1 y) (the-as int (-> s5-0 g))) - (set! (-> s1-0 vector 1 z) (the-as int (-> s5-0 b))) - (set! (-> s1-0 vector 1 w) (the-as int (-> s5-0 a))) - ) - ) - (+! (-> s4-0 vector 0 z) -8192) - (+! (-> s4-0 vector 1 z) -8192) - (let* ((a3-6 v1-28) - (a1-43 (the-as (inline-array vector4w-2) (-> a3-6 base))) - ) - (set! (-> a1-43 0 quad 0) (-> s1-0 quad 0)) - (set! (-> a1-43 0 quad 1) (-> s4-0 quad 0)) - (set! (-> a1-43 1 quad 0) (-> (&-> s1-0 quad 1) 0)) - (set! (-> a1-43 1 quad 1) (-> (&-> s4-0 quad 1) 0)) - (set! (-> a3-6 base) (&+ (the-as pointer a1-43) 64)) - ) - (let - ((a3-10 - (/ - (the-as - int - (+ - (&- (the-as pointer -16) (the-as uint a0-31)) - (the-as int (-> v1-28 base)) - ) - ) - 16 - ) - ) - ) - (cond - ((nonzero? a3-10) - (logior! (-> a0-31 0) (shr (shl a3-10 48) 48)) - (logior! (-> a0-31 1) (shl (shr (shl a3-10 48) 48) 32)) - ) - (else - (set! (-> v1-28 base) a0-31) - ) - ) - ) - ) - (let ((a3-16 (-> v1-28 base))) - (let ((a0-32 (the-as dma-packet (-> v1-28 base)))) - (set! (-> a0-32 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> a0-32 vif0) (new 'static 'vif-tag)) - (set! (-> a0-32 vif1) (new 'static 'vif-tag)) - (set! (-> v1-28 base) (&+ (the-as pointer a0-32) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - arg0 - a2-1 - (the-as (pointer dma-tag) a3-16) - ) ) ) - ) + (let ((s4-0 (new 'stack 'vector4w-2)) + (s1-0 (new 'stack 'vector4w-2)) + ) + (set! (-> arg1 w) 1.0) + (set! (-> sv-80 w) 1.0) + (when (and + (transform-point-qword! (the-as vector4w (-> s4-0 quad)) arg1) + (transform-point-qword! (the-as vector4w (&-> s4-0 quad 1)) sv-80) + ) + (let* ((v1-28 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (a2-1 (-> v1-28 base)) + ) + (let ((a0-31 (the-as (pointer uint64) (-> v1-28 base)))) + (let* ((a1-5 v1-28) + (a3-1 (the-as dma-packet (-> a1-5 base))) + ) + (set! (-> a3-1 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> a3-1 vif0) (new 'static 'vif-tag)) + (set! (-> a3-1 vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1)) + (set! (-> a1-5 base) (&+ (the-as pointer a3-1) 16)) + ) + (let* ((a1-6 v1-28) + (a3-3 (the-as gs-gif-tag (-> a1-6 base))) + ) + (set! (-> a3-3 tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type line) :iip #x1 :abe #x1) + :nreg #x4 + ) + ) + (set! (-> a3-3 regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id rgbaq) + :regs1 (gif-reg-id xyzf2) + :regs2 (gif-reg-id rgbaq) + :regs3 (gif-reg-id xyzf2) + ) + ) + (set! (-> a1-6 base) (&+ (the-as pointer a3-3) 16)) + ) + (case s3-0 + (('fade-depth) + (let ((f0-3 (fmax 0.2 (fmin 1.0 (* 0.00000005960465 (the float (-> s4-0 vector 0 z))))))) + (set! (-> s1-0 vector 0 x) (the int (* (the float (-> s2-0 r)) f0-3))) + (set! (-> s1-0 vector 0 y) (the int (* (the float (-> s2-0 g)) f0-3))) + (set! (-> s1-0 vector 0 z) (the int (* (the float (-> s2-0 b)) f0-3))) + ) + (set! (-> s1-0 vector 0 w) (the-as int (-> s2-0 a))) + ) + (else + (set! (-> s1-0 vector 0 x) (the-as int (-> s2-0 r))) + (set! (-> s1-0 vector 0 y) (the-as int (-> s2-0 g))) + (set! (-> s1-0 vector 0 z) (the-as int (-> s2-0 b))) + (set! (-> s1-0 vector 0 w) (the-as int (-> s2-0 a))) + ) + ) + (cond + ((= s3-0 'fade-depth) + (let ((f0-7 (fmax 0.2 (fmin 1.0 (* 0.00000005960465 (the float (-> s4-0 vector 1 z))))))) + (set! (-> s1-0 vector 1 x) (the int (* (the float (-> s5-0 r)) f0-7))) + (set! (-> s1-0 vector 1 y) (the int (* (the float (-> s5-0 g)) f0-7))) + (set! (-> s1-0 vector 1 z) (the int (* (the float (-> s5-0 b)) f0-7))) + ) + (set! (-> s1-0 vector 1 w) (the-as int (-> s5-0 a))) + ) + (else + (set! (-> s1-0 vector 1 x) (the-as int (-> s5-0 r))) + (set! (-> s1-0 vector 1 y) (the-as int (-> s5-0 g))) + (set! (-> s1-0 vector 1 z) (the-as int (-> s5-0 b))) + (set! (-> s1-0 vector 1 w) (the-as int (-> s5-0 a))) + ) + ) + (+! (-> s4-0 vector 0 z) -8192) + (+! (-> s4-0 vector 1 z) -8192) + (let* ((a3-6 v1-28) + (a1-43 (the-as (inline-array vector4w-2) (-> a3-6 base))) + ) + (set! (-> a1-43 0 quad 0) (-> s1-0 quad 0)) + (set! (-> a1-43 0 quad 1) (-> s4-0 quad 0)) + (set! (-> a1-43 1 quad 0) (-> (&-> s1-0 quad 1) 0)) + (set! (-> a1-43 1 quad 1) (-> (&-> s4-0 quad 1) 0)) + (set! (-> a3-6 base) (&+ (the-as pointer a1-43) 64)) + ) + (let ((a3-10 (/ (the-as int (+ (&- (the-as pointer -16) (the-as uint a0-31)) (the-as int (-> v1-28 base)))) 16))) + (cond + ((nonzero? a3-10) + (logior! (-> a0-31 0) (shr (shl a3-10 48) 48)) + (logior! (-> a0-31 1) (shl (shr (shl a3-10 48) 48) 32)) + ) + (else + (set! (-> v1-28 base) a0-31) + ) + ) + ) + ) + (let ((a3-16 (-> v1-28 base))) + (let ((a0-32 (the-as dma-packet (-> v1-28 base)))) + (set! (-> a0-32 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> a0-32 vif0) (new 'static 'vif-tag)) + (set! (-> a0-32 vif1) (new 'static 'vif-tag)) + (set! (-> v1-28 base) (&+ (the-as pointer a0-32) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + arg0 + a2-1 + (the-as (pointer dma-tag) a3-16) + ) + ) + ) + ) + ) ) - ) ) ;; definition (debug) for function internal-draw-debug-text-3d ;; Used lq/sq -(defun-debug - internal-draw-debug-text-3d - ((arg0 bucket-id) - (arg1 string) - (arg2 vector) - (arg3 font-color) - (arg4 vector2h) - ) +(defun-debug internal-draw-debug-text-3d ((arg0 bucket-id) (arg1 string) (arg2 vector) (arg3 font-color) (arg4 vector2h)) (let ((s2-0 (new 'stack-no-clear 'vector4w))) - (set! (-> s2-0 quad) (the-as uint128 0)) - (when (transform-point-qword! s2-0 arg2) - (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s5-0 (-> s3-0 base)) - ) - (let - ((a2-2 - (new - 'stack - 'font-context - *font-default-matrix* - (+ (-> arg4 x) -1792 (/ (-> s2-0 x) 16)) - (- - (+ (-> arg4 y) -8 (/ (-> s2-0 y) 16)) - (-> *video-parms* screen-miny) + (set! (-> s2-0 quad) (the-as uint128 0)) + (when (transform-point-qword! s2-0 arg2) + (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s5-0 (-> s3-0 base)) + ) + (let ((a2-2 (new + 'stack + 'font-context + *font-default-matrix* + (+ (-> arg4 x) -1792 (/ (-> s2-0 x) 16)) + (- (+ (-> arg4 y) -8 (/ (-> s2-0 y) 16)) (-> *video-parms* screen-miny)) + 0.0 + arg3 + (font-flags shadow kerning) + ) + ) + ) + (let ((v1-9 a2-2)) + (set! (-> v1-9 origin z) (the float (/ (-> s2-0 z) 16))) + ) + (draw-string arg1 s3-0 a2-2) + ) + (let ((a3-4 (-> s3-0 base))) + (let ((v1-11 (the-as dma-packet (-> s3-0 base)))) + (set! (-> v1-11 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> v1-11 vif0) (new 'static 'vif-tag)) + (set! (-> v1-11 vif1) (new 'static 'vif-tag)) + (set! (-> s3-0 base) (&+ (the-as pointer v1-11) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + arg0 + s5-0 + (the-as (pointer dma-tag) a3-4) + ) ) - 0.0 - arg3 - (font-flags shadow kerning) - ) ) - ) - (let ((v1-9 a2-2)) - (set! (-> v1-9 origin z) (the float (/ (-> s2-0 z) 16))) - ) - (draw-string arg1 s3-0 a2-2) ) - (let ((a3-4 (-> s3-0 base))) - (let ((v1-11 (the-as dma-packet (-> s3-0 base)))) - (set! (-> v1-11 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> v1-11 vif0) (new 'static 'vif-tag)) - (set! (-> v1-11 vif1) (new 'static 'vif-tag)) - (set! (-> s3-0 base) (&+ (the-as pointer v1-11) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - arg0 - s5-0 - (the-as (pointer dma-tag) a3-4) - ) - ) - ) ) - ) ) ;; definition (debug) for function add-debug-outline-triangle -(defun-debug - add-debug-outline-triangle - ((enable symbol) - (bucket bucket-id) - (p0 vector) - (p1 vector) - (p2 vector) - (color rgba) - ) +(defun-debug add-debug-outline-triangle ((enable symbol) (bucket bucket-id) (p0 vector) (p1 vector) (p2 vector) (color rgba)) (when enable - (add-debug-line #t bucket p0 p1 color #f (the-as rgba -1)) - (add-debug-line #t bucket p1 p2 color #f (the-as rgba -1)) - (add-debug-line #t bucket p2 p0 color #f (the-as rgba -1)) - ) + (add-debug-line #t bucket p0 p1 color #f (the-as rgba -1)) + (add-debug-line #t bucket p1 p2 color #f (the-as rgba -1)) + (add-debug-line #t bucket p2 p0 color #f (the-as rgba -1)) + ) #f ) ;; definition (debug) for function add-debug-triangle-normal ;; Used lq/sq -(defun-debug - add-debug-triangle-normal - ((arg0 symbol) - (arg1 bucket-id) - (arg2 vector) - (arg3 vector) - (arg4 vector) - (arg5 rgba) - ) - (local-vars - (sv-48 (function vector vector float vector)) - (sv-64 vector) - (sv-80 vector) - ) +(defun-debug add-debug-triangle-normal ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 vector) (arg5 rgba)) + (local-vars (sv-48 (function vector vector float vector)) (sv-64 vector) (sv-80 vector)) (when arg0 - (let ((s4-0 (new 'stack-no-clear 'vector)) - (s3-0 (vector-3pt-cross! (new 'stack-no-clear 'vector) arg2 arg3 arg4)) - ) - (set! sv-48 vector-float/!) - (set! sv-64 s3-0) - (set! sv-80 s3-0) - (let ((a2-2 (* 0.00024414062 (vector-length s3-0)))) - (sv-48 sv-64 sv-80 a2-2) - ) - (vector+! s4-0 arg2 arg3) - (vector+! s4-0 s4-0 arg4) - (vector-float/! s4-0 s4-0 3.0) - (vector+! s3-0 s3-0 s4-0) - (add-debug-line #t arg1 s4-0 s3-0 arg5 #f (the-as rgba -1)) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s3-0 (vector-3pt-cross! (new 'stack-no-clear 'vector) arg2 arg3 arg4)) + ) + (set! sv-48 vector-float/!) + (set! sv-64 s3-0) + (set! sv-80 s3-0) + (let ((a2-2 (* 0.00024414062 (vector-length s3-0)))) + (sv-48 sv-64 sv-80 a2-2) + ) + (vector+! s4-0 arg2 arg3) + (vector+! s4-0 s4-0 arg4) + (vector-float/! s4-0 s4-0 3.0) + (vector+! s3-0 s3-0 s4-0) + (add-debug-line #t arg1 s4-0 s3-0 arg5 #f (the-as rgba -1)) + ) ) - ) #f ) ;; definition (debug) for function add-debug-flat-triangle ;; Used lq/sq -(defun-debug - add-debug-flat-triangle - ((arg0 symbol) - (arg1 bucket-id) - (arg2 vector) - (arg3 vector) - (arg4 vector) - (arg5 rgba) - ) +(defun-debug add-debug-flat-triangle ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 vector) (arg5 rgba)) (if (not arg0) - (return #f) - ) + (return #f) + ) (let ((s5-0 (new 'stack 'vector4w-3)) (s4-0 (new 'stack 'vector4w-3)) ) - (set! (-> arg2 w) 1.0) - (set! (-> arg3 w) 1.0) - (set! (-> arg4 w) 1.0) - (when - (and - (transform-point-qword! (the-as vector4w (-> s5-0 quad)) arg2) - (transform-point-qword! (the-as vector4w (&-> s5-0 quad 1)) arg3) - (transform-point-qword! (the-as vector4w (&-> s5-0 quad 2)) arg4) - ) - (let* ((v1-9 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (a2-1 (-> v1-9 base)) - ) - (let ((a0-9 (the-as (pointer uint64) (-> v1-9 base)))) - (let* ((a1-6 v1-9) - (a3-1 (the-as dma-packet (-> a1-6 base))) - ) - (set! (-> a3-1 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> a3-1 vif0) (new 'static 'vif-tag)) - (set! - (-> a3-1 vif1) - (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> a1-6 base) (&+ (the-as pointer a3-1) 16)) - ) - (let* ((a1-7 v1-9) - (a3-3 (the-as gs-gif-tag (-> a1-7 base))) - ) - (set! - (-> a3-3 tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri) :iip #x1 :abe #x1) - :nreg #x6 - ) - ) - (set! - (-> a3-3 regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id rgbaq) - :regs1 (gif-reg-id xyzf2) - :regs2 (gif-reg-id rgbaq) - :regs3 (gif-reg-id xyzf2) - :regs4 (gif-reg-id rgbaq) - :regs5 (gif-reg-id xyzf2) - ) - ) - (set! (-> a1-7 base) (&+ (the-as pointer a3-3) 16)) - ) - (set! (-> s4-0 vector 0 x) (the-as int (-> arg5 r))) - (set! (-> s4-0 vector 0 y) (the-as int (-> arg5 g))) - (set! (-> s4-0 vector 0 z) (the-as int (-> arg5 b))) - (set! (-> s4-0 vector 0 w) (the-as int (-> arg5 a))) - (+! (-> s5-0 vector 0 z) -8192) - (+! (-> s5-0 vector 1 z) -8192) - (+! (-> s5-0 vector 2 z) -8192) - (let* ((a1-21 v1-9) - (a3-5 (the-as (inline-array vector4w-3) (-> a1-21 base))) - ) - (set! (-> a3-5 0 quad 0) (-> s4-0 quad 0)) - (set! (-> a3-5 0 quad 1) (-> s5-0 quad 0)) - (set! (-> a3-5 0 quad 2) (-> s4-0 quad 0)) - (set! (-> a3-5 1 quad 0) (-> (&-> s5-0 quad 1) 0)) - (set! (-> a3-5 1 quad 1) (-> s4-0 quad 0)) - (set! (-> a3-5 1 quad 2) (-> (&-> s5-0 quad 2) 0)) - (set! (-> a1-21 base) (&+ (the-as pointer a3-5) 96)) - ) - (let - ((a1-25 - (/ - (the-as - int - (+ - (&- (the-as pointer -16) (the-as uint a0-9)) - (the-as int (-> v1-9 base)) + (set! (-> arg2 w) 1.0) + (set! (-> arg3 w) 1.0) + (set! (-> arg4 w) 1.0) + (when (and + (transform-point-qword! (the-as vector4w (-> s5-0 quad)) arg2) + (transform-point-qword! (the-as vector4w (&-> s5-0 quad 1)) arg3) + (transform-point-qword! (the-as vector4w (&-> s5-0 quad 2)) arg4) + ) + (let* ((v1-9 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (a2-1 (-> v1-9 base)) + ) + (let ((a0-9 (the-as (pointer uint64) (-> v1-9 base)))) + (let* ((a1-6 v1-9) + (a3-1 (the-as dma-packet (-> a1-6 base))) + ) + (set! (-> a3-1 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> a3-1 vif0) (new 'static 'vif-tag)) + (set! (-> a3-1 vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1)) + (set! (-> a1-6 base) (&+ (the-as pointer a3-1) 16)) + ) + (let* ((a1-7 v1-9) + (a3-3 (the-as gs-gif-tag (-> a1-7 base))) + ) + (set! (-> a3-3 tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri) :iip #x1 :abe #x1) + :nreg #x6 + ) + ) + (set! (-> a3-3 regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id rgbaq) + :regs1 (gif-reg-id xyzf2) + :regs2 (gif-reg-id rgbaq) + :regs3 (gif-reg-id xyzf2) + :regs4 (gif-reg-id rgbaq) + :regs5 (gif-reg-id xyzf2) + ) + ) + (set! (-> a1-7 base) (&+ (the-as pointer a3-3) 16)) + ) + (set! (-> s4-0 vector 0 x) (the-as int (-> arg5 r))) + (set! (-> s4-0 vector 0 y) (the-as int (-> arg5 g))) + (set! (-> s4-0 vector 0 z) (the-as int (-> arg5 b))) + (set! (-> s4-0 vector 0 w) (the-as int (-> arg5 a))) + (+! (-> s5-0 vector 0 z) -8192) + (+! (-> s5-0 vector 1 z) -8192) + (+! (-> s5-0 vector 2 z) -8192) + (let* ((a1-21 v1-9) + (a3-5 (the-as (inline-array vector4w-3) (-> a1-21 base))) + ) + (set! (-> a3-5 0 quad 0) (-> s4-0 quad 0)) + (set! (-> a3-5 0 quad 1) (-> s5-0 quad 0)) + (set! (-> a3-5 0 quad 2) (-> s4-0 quad 0)) + (set! (-> a3-5 1 quad 0) (-> (&-> s5-0 quad 1) 0)) + (set! (-> a3-5 1 quad 1) (-> s4-0 quad 0)) + (set! (-> a3-5 1 quad 2) (-> (&-> s5-0 quad 2) 0)) + (set! (-> a1-21 base) (&+ (the-as pointer a3-5) 96)) + ) + (let ((a1-25 (/ (the-as int (+ (&- (the-as pointer -16) (the-as uint a0-9)) (the-as int (-> v1-9 base)))) 16))) + (cond + ((nonzero? a1-25) + (logior! (-> a0-9 0) (shr (shl a1-25 48) 48)) + (logior! (-> a0-9 1) (shl (shr (shl a1-25 48) 48) 32)) + ) + (else + (set! (-> v1-9 base) a0-9) + ) + ) + ) + ) + (let ((a3-7 (-> v1-9 base))) + (let ((a0-10 (the-as dma-packet (-> v1-9 base)))) + (set! (-> a0-10 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> a0-10 vif0) (new 'static 'vif-tag)) + (set! (-> a0-10 vif1) (new 'static 'vif-tag)) + (set! (-> v1-9 base) (&+ (the-as pointer a0-10) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + arg1 + a2-1 + (the-as (pointer dma-tag) a3-7) ) - ) - 16 ) - ) ) - (cond - ((nonzero? a1-25) - (logior! (-> a0-9 0) (shr (shl a1-25 48) 48)) - (logior! (-> a0-9 1) (shl (shr (shl a1-25 48) 48) 32)) - ) - (else - (set! (-> v1-9 base) a0-9) - ) - ) - ) ) - (let ((a3-7 (-> v1-9 base))) - (let ((a0-10 (the-as dma-packet (-> v1-9 base)))) - (set! (-> a0-10 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> a0-10 vif0) (new 'static 'vif-tag)) - (set! (-> a0-10 vif1) (new 'static 'vif-tag)) - (set! (-> v1-9 base) (&+ (the-as pointer a0-10) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - arg1 - a2-1 - (the-as (pointer dma-tag) a3-7) - ) - ) - ) ) - ) #f ) @@ -709,10 +562,7 @@ ) ;; definition for symbol *debug-lines*, type (inline-array debug-line) -(define - *debug-lines* - (the-as (inline-array debug-line) (malloc 'debug #x100000)) - ) +(define *debug-lines* (the-as (inline-array debug-line) (malloc 'debug #x100000))) ;; definition for symbol *debug-lines-trk*, type debug-tracking-thang (define *debug-lines-trk* (new 'debug 'debug-tracking-thang)) @@ -721,10 +571,7 @@ (set! (-> *debug-lines-trk* allocated-length) #x4000) ;; definition for symbol *debug-text-3ds*, type (inline-array debug-text-3d) -(define - *debug-text-3ds* - (the-as (inline-array debug-text-3d) (malloc 'debug #x6000)) - ) +(define *debug-text-3ds* (the-as (inline-array debug-text-3d) (malloc 'debug #x6000))) ;; definition for symbol *debug-text-3d-trk*, type debug-tracking-thang (define *debug-text-3d-trk* (new 'debug 'debug-tracking-thang)) @@ -734,40 +581,34 @@ ;; failed to figure out what this is: (dotimes (gp-0 (-> *debug-text-3d-trk* allocated-length)) - (set! - (-> *debug-text-3ds* gp-0 str) - (new 'debug 'string 80 (the-as string #f)) - ) + (set! (-> *debug-text-3ds* gp-0 str) (new 'debug 'string 80 (the-as string #f))) ) ) ;; definition (debug) for function get-debug-line (defun-debug get-debug-line () (cond - ((< (-> *debug-lines-trk* length) (-> *debug-lines-trk* allocated-length)) - (+! (-> *debug-lines-trk* length) 1) - (-> *debug-lines* (+ (-> *debug-lines-trk* length) -1)) + ((< (-> *debug-lines-trk* length) (-> *debug-lines-trk* allocated-length)) + (+! (-> *debug-lines-trk* length) 1) + (-> *debug-lines* (+ (-> *debug-lines-trk* length) -1)) + ) + (else + (the-as debug-line #f) + ) ) - (else - (the-as debug-line #f) - ) - ) ) ;; definition (debug) for function get-debug-text-3d (defun-debug get-debug-text-3d () (cond - ((< - (-> *debug-text-3d-trk* length) - (-> *debug-text-3d-trk* allocated-length) + ((< (-> *debug-text-3d-trk* length) (-> *debug-text-3d-trk* allocated-length)) + (+! (-> *debug-text-3d-trk* length) 1) + (-> *debug-text-3ds* (+ (-> *debug-text-3d-trk* length) -1)) ) - (+! (-> *debug-text-3d-trk* length) 1) - (-> *debug-text-3ds* (+ (-> *debug-text-3d-trk* length) -1)) + (else + (the-as debug-text-3d #f) + ) ) - (else - (the-as debug-text-3d #f) - ) - ) ) ;; definition (debug) for function debug-reset-buffers @@ -781,328 +622,273 @@ ;; definition (debug) for function debug-draw-buffers (defun-debug debug-draw-buffers () (dotimes (gp-0 (-> *debug-lines-trk* length)) - (let ((v1-1 (-> *debug-lines* gp-0))) - (internal-draw-debug-line - (-> v1-1 bucket) - (-> v1-1 v1) - (-> v1-1 v2) - (-> v1-1 color) - (-> v1-1 mode) - (-> v1-1 color2) - ) + (let ((v1-1 (-> *debug-lines* gp-0))) + (internal-draw-debug-line + (-> v1-1 bucket) + (-> v1-1 v1) + (-> v1-1 v2) + (-> v1-1 color) + (-> v1-1 mode) + (-> v1-1 color2) + ) + ) ) - ) (dotimes (gp-1 (-> *debug-text-3d-trk* length)) - (let ((v1-8 (-> *debug-text-3ds* gp-1))) - (internal-draw-debug-text-3d - (-> v1-8 bucket) - (-> v1-8 str) - (-> v1-8 pos) - (-> v1-8 color) - (-> v1-8 offset) - ) + (let ((v1-8 (-> *debug-text-3ds* gp-1))) + (internal-draw-debug-text-3d (-> v1-8 bucket) (-> v1-8 str) (-> v1-8 pos) (-> v1-8 color) (-> v1-8 offset)) + ) ) - ) #f ) ;; definition (debug) for function add-debug-line ;; Used lq/sq -(defun-debug - add-debug-line - ((arg0 symbol) - (arg1 bucket-id) - (arg2 vector) - (arg3 vector) - (arg4 rgba) - (arg5 symbol) - (arg6 rgba) - ) +(defun-debug add-debug-line ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 rgba) (arg5 symbol) (arg6 rgba)) (when arg0 - (cond - (*debug-draw-pauseable* - (let ((v1-2 (get-debug-line))) - (when v1-2 - (set! (-> v1-2 bucket) arg1) - (set! (-> v1-2 v1 quad) (-> arg2 quad)) - (set! (-> v1-2 v2 quad) (-> arg3 quad)) - (set! (-> v1-2 color) arg4) - (set! (-> v1-2 color2) arg6) - (set! (-> v1-2 mode) arg5) - ) + (cond + (*debug-draw-pauseable* + (let ((v1-2 (get-debug-line))) + (when v1-2 + (set! (-> v1-2 bucket) arg1) + (set! (-> v1-2 v1 quad) (-> arg2 quad)) + (set! (-> v1-2 v2 quad) (-> arg3 quad)) + (set! (-> v1-2 color) arg4) + (set! (-> v1-2 color2) arg6) + (set! (-> v1-2 mode) arg5) + ) + ) + ) + (else + (internal-draw-debug-line arg1 arg2 arg3 arg4 arg5 arg6) + ) ) - ) - (else - (internal-draw-debug-line arg1 arg2 arg3 arg4 arg5 arg6) - ) ) - ) #f ) ;; definition (debug) for function add-debug-line2d ;; Used lq/sq -(defun-debug - add-debug-line2d - ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 vector)) +(defun-debug add-debug-line2d ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 vector)) (if (not arg0) - (return #f) - ) + (return #f) + ) (let* ((s4-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) (s5-0 (-> s4-0 base)) ) - (let ((s2-0 (new 'stack 'vector4w)) - (v1-7 (new 'stack 'vector4w)) - ) - (set! (-> s2-0 quad) (-> arg2 quad)) - (set! (-> v1-7 quad) (-> arg3 quad)) - (set! (-> s2-0 x) (* (+ (-> s2-0 x) 2048) 16)) - (set! (-> s2-0 y) (* -16 (- 2048 (-> s2-0 y)))) - (set! (-> s2-0 z) #x7fffff) - (set! (-> v1-7 x) (* (+ (-> v1-7 x) 2048) 16)) - (set! (-> v1-7 y) (* -16 (- 2048 (-> v1-7 y)))) - (set! (-> v1-7 z) #x7fffff) - (let ((a0-20 (the-as (pointer uint64) (-> s4-0 base)))) - (let* ((a1-7 s4-0) - (a2-3 (the-as dma-packet (-> a1-7 base))) - ) - (set! (-> a2-3 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> a2-3 vif0) (new 'static 'vif-tag)) - (set! - (-> a2-3 vif1) - (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> a1-7 base) (&+ (the-as pointer a2-3) 16)) - ) - (let* ((a1-8 s4-0) - (a2-5 (the-as gs-gif-tag (-> a1-8 base))) - ) - (set! - (-> a2-5 tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type line) :iip #x1 :abe #x1) - :nreg #x4 - ) - ) - (set! - (-> a2-5 regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id rgbaq) - :regs1 (gif-reg-id xyzf2) - :regs2 (gif-reg-id rgbaq) - :regs3 (gif-reg-id xyzf2) - ) - ) - (set! (-> a1-8 base) (&+ (the-as pointer a2-5) 16)) - ) - (let* ((a1-9 s4-0) - (a2-7 (the-as (inline-array vector4w) (-> a1-9 base))) - ) - (set! (-> a2-7 0 quad) (-> arg4 quad)) - (set! (-> a2-7 1 quad) (-> s2-0 quad)) - (set! (-> a1-9 base) (&+ (the-as pointer a2-7) 32)) - ) - (let* ((a1-10 s4-0) - (a2-9 (the-as (inline-array vector4w) (-> a1-10 base))) - ) - (set! (-> a2-9 0 quad) (-> arg4 quad)) - (set! (-> a2-9 1 quad) (-> v1-7 quad)) - (set! (-> a1-10 base) (&+ (the-as pointer a2-9) 32)) - ) - (let - ((a1-14 - (/ - (the-as - int - (+ - (&- (the-as pointer -16) (the-as uint a0-20)) - (the-as int (-> s4-0 base)) - ) + (let ((s2-0 (new 'stack 'vector4w)) + (v1-7 (new 'stack 'vector4w)) + ) + (set! (-> s2-0 quad) (-> arg2 quad)) + (set! (-> v1-7 quad) (-> arg3 quad)) + (set! (-> s2-0 x) (* (+ (-> s2-0 x) 2048) 16)) + (set! (-> s2-0 y) (* -16 (- 2048 (-> s2-0 y)))) + (set! (-> s2-0 z) #x7fffff) + (set! (-> v1-7 x) (* (+ (-> v1-7 x) 2048) 16)) + (set! (-> v1-7 y) (* -16 (- 2048 (-> v1-7 y)))) + (set! (-> v1-7 z) #x7fffff) + (let ((a0-20 (the-as (pointer uint64) (-> s4-0 base)))) + (let* ((a1-7 s4-0) + (a2-3 (the-as dma-packet (-> a1-7 base))) + ) + (set! (-> a2-3 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> a2-3 vif0) (new 'static 'vif-tag)) + (set! (-> a2-3 vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1)) + (set! (-> a1-7 base) (&+ (the-as pointer a2-3) 16)) + ) + (let* ((a1-8 s4-0) + (a2-5 (the-as gs-gif-tag (-> a1-8 base))) + ) + (set! (-> a2-5 tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type line) :iip #x1 :abe #x1) + :nreg #x4 + ) + ) + (set! (-> a2-5 regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id rgbaq) + :regs1 (gif-reg-id xyzf2) + :regs2 (gif-reg-id rgbaq) + :regs3 (gif-reg-id xyzf2) + ) + ) + (set! (-> a1-8 base) (&+ (the-as pointer a2-5) 16)) + ) + (let* ((a1-9 s4-0) + (a2-7 (the-as (inline-array vector4w) (-> a1-9 base))) + ) + (set! (-> a2-7 0 quad) (-> arg4 quad)) + (set! (-> a2-7 1 quad) (-> s2-0 quad)) + (set! (-> a1-9 base) (&+ (the-as pointer a2-7) 32)) + ) + (let* ((a1-10 s4-0) + (a2-9 (the-as (inline-array vector4w) (-> a1-10 base))) + ) + (set! (-> a2-9 0 quad) (-> arg4 quad)) + (set! (-> a2-9 1 quad) (-> v1-7 quad)) + (set! (-> a1-10 base) (&+ (the-as pointer a2-9) 32)) + ) + (let ((a1-14 (/ (the-as int (+ (&- (the-as pointer -16) (the-as uint a0-20)) (the-as int (-> s4-0 base)))) 16))) + (cond + ((nonzero? a1-14) + (logior! (-> a0-20 0) (shr (shl a1-14 48) 48)) + (logior! (-> a0-20 1) (shl (shr (shl a1-14 48) 48) 32)) + ) + (else + (set! (-> s4-0 base) a0-20) + ) + ) ) - 16 - ) ) - ) - (cond - ((nonzero? a1-14) - (logior! (-> a0-20 0) (shr (shl a1-14 48) 48)) - (logior! (-> a0-20 1) (shl (shr (shl a1-14 48) 48) 32)) - ) - (else - (set! (-> s4-0 base) a0-20) - ) - ) ) - ) + (let ((a3-11 (-> s4-0 base))) + (let ((v1-10 (the-as dma-packet (-> s4-0 base)))) + (set! (-> v1-10 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> v1-10 vif0) (new 'static 'vif-tag)) + (set! (-> v1-10 vif1) (new 'static 'vif-tag)) + (set! (-> s4-0 base) (&+ (the-as pointer v1-10) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + arg1 + s5-0 + (the-as (pointer dma-tag) a3-11) + ) + ) ) - (let ((a3-11 (-> s4-0 base))) - (let ((v1-10 (the-as dma-packet (-> s4-0 base)))) - (set! (-> v1-10 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> v1-10 vif0) (new 'static 'vif-tag)) - (set! (-> v1-10 vif1) (new 'static 'vif-tag)) - (set! (-> s4-0 base) (&+ (the-as pointer v1-10) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - arg1 - s5-0 - (the-as (pointer dma-tag) a3-11) - ) - ) - ) #f ) ;; definition (debug) for function add-debug-box ;; Used lq/sq -(defun-debug - add-debug-box - ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 rgba)) +(defun-debug add-debug-box ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 rgba)) (let ((s5-0 (new-stack-vector0))) - (set! (-> s5-0 quad) (-> arg2 quad)) - (let ((s1-0 (new-stack-vector0))) - (set! (-> s1-0 quad) (-> arg2 quad)) - (when arg0 - (set! (-> s1-0 x) (-> arg3 x)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s1-0 x) (-> arg2 x)) - (set! (-> s1-0 y) (-> arg3 y)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s1-0 y) (-> arg2 y)) - (set! (-> s1-0 z) (-> arg3 z)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s5-0 y) (-> arg3 y)) - (set! (-> s1-0 y) (-> arg3 y)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s1-0 z) (-> arg2 z)) - (set! (-> s1-0 x) (-> arg3 x)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s1-0 y) (-> arg2 y)) - (set! (-> s5-0 x) (-> arg3 x)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s5-0 quad) (-> arg3 quad)) - (set! (-> s1-0 quad) (-> arg3 quad)) - (set! (-> s1-0 x) (-> arg2 x)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s1-0 x) (-> arg3 x)) - (set! (-> s1-0 y) (-> arg2 y)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s1-0 y) (-> arg3 y)) - (set! (-> s1-0 z) (-> arg2 z)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s5-0 y) (-> arg2 y)) - (set! (-> s1-0 y) (-> arg2 y)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s1-0 z) (-> arg3 z)) - (set! (-> s1-0 x) (-> arg2 x)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - (set! (-> s1-0 y) (-> arg3 y)) - (set! (-> s5-0 x) (-> arg2 x)) - (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) - ) + (set! (-> s5-0 quad) (-> arg2 quad)) + (let ((s1-0 (new-stack-vector0))) + (set! (-> s1-0 quad) (-> arg2 quad)) + (when arg0 + (set! (-> s1-0 x) (-> arg3 x)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s1-0 x) (-> arg2 x)) + (set! (-> s1-0 y) (-> arg3 y)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s1-0 y) (-> arg2 y)) + (set! (-> s1-0 z) (-> arg3 z)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s5-0 y) (-> arg3 y)) + (set! (-> s1-0 y) (-> arg3 y)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s1-0 z) (-> arg2 z)) + (set! (-> s1-0 x) (-> arg3 x)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s1-0 y) (-> arg2 y)) + (set! (-> s5-0 x) (-> arg3 x)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s5-0 quad) (-> arg3 quad)) + (set! (-> s1-0 quad) (-> arg3 quad)) + (set! (-> s1-0 x) (-> arg2 x)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s1-0 x) (-> arg3 x)) + (set! (-> s1-0 y) (-> arg2 y)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s1-0 y) (-> arg3 y)) + (set! (-> s1-0 z) (-> arg2 z)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s5-0 y) (-> arg2 y)) + (set! (-> s1-0 y) (-> arg2 y)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s1-0 z) (-> arg3 z)) + (set! (-> s1-0 x) (-> arg2 x)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + (set! (-> s1-0 y) (-> arg3 y)) + (set! (-> s5-0 x) (-> arg2 x)) + (add-debug-line #t arg1 s5-0 s1-0 arg4 #f (the-as rgba -1)) + ) + ) ) - ) #f ) ;; definition (debug) for function add-debug-x ;; Used lq/sq -(defun-debug - add-debug-x - ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 rgba)) +(defun-debug add-debug-x ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 rgba)) (if (not arg0) - (return #f) - ) + (return #f) + ) (let ((s3-0 (new-stack-vector0)) (s2-0 (new-stack-vector0)) ) - (vector+! s3-0 arg2 (new 'static 'vector :x -1228.8)) - (vector+! s2-0 arg2 (new 'static 'vector :x 1228.8)) - (add-debug-line #t arg1 s3-0 s2-0 arg3 #f (the-as rgba -1)) - (vector+! s3-0 arg2 (new 'static 'vector :z -1228.8)) - (vector+! s2-0 arg2 (new 'static 'vector :z 1228.8)) - (add-debug-line #t arg1 s3-0 s2-0 arg3 #f (the-as rgba -1)) - ) + (vector+! s3-0 arg2 (new 'static 'vector :x -1228.8)) + (vector+! s2-0 arg2 (new 'static 'vector :x 1228.8)) + (add-debug-line #t arg1 s3-0 s2-0 arg3 #f (the-as rgba -1)) + (vector+! s3-0 arg2 (new 'static 'vector :z -1228.8)) + (vector+! s2-0 arg2 (new 'static 'vector :z 1228.8)) + (add-debug-line #t arg1 s3-0 s2-0 arg3 #f (the-as rgba -1)) + ) #f ) ;; definition (debug) for function add-debug-text-3d ;; Used lq/sq -(defun-debug - add-debug-text-3d - ((arg0 symbol) - (arg1 bucket-id) - (arg2 string) - (arg3 vector) - (arg4 font-color) - (arg5 vector2h) - ) +(defun-debug add-debug-text-3d ((arg0 symbol) (arg1 bucket-id) (arg2 string) (arg3 vector) (arg4 font-color) (arg5 vector2h)) (when arg0 - (cond - (*debug-draw-pauseable* - (let ((v1-2 (get-debug-text-3d))) - (when v1-2 - (set! (-> v1-2 flags) 0) - (set! (-> v1-2 bucket) arg1) - (set! (-> v1-2 pos quad) (-> arg3 quad)) - (cond - (arg5 - (set! (-> v1-2 offset x) (-> arg5 x)) - (set! (-> v1-2 offset y) (-> arg5 y)) - ) - (else - (set! (-> v1-2 offset x) 0) - (set! (-> v1-2 offset y) 0) - 0 - ) + (cond + (*debug-draw-pauseable* + (let ((v1-2 (get-debug-text-3d))) + (when v1-2 + (set! (-> v1-2 flags) 0) + (set! (-> v1-2 bucket) arg1) + (set! (-> v1-2 pos quad) (-> arg3 quad)) + (cond + (arg5 + (set! (-> v1-2 offset x) (-> arg5 x)) + (set! (-> v1-2 offset y) (-> arg5 y)) + ) + (else + (set! (-> v1-2 offset x) 0) + (set! (-> v1-2 offset y) 0) + 0 + ) + ) + (set! (-> v1-2 color) arg4) + (let ((a0-6 0) + (a1-2 (-> arg2 data)) + (v1-4 (-> v1-2 str data)) + ) + (while (and (nonzero? (-> a1-2 0)) (< a0-6 79)) + (set! (-> v1-4 0) (-> a1-2 0)) + (set! a1-2 (&-> a1-2 1)) + (set! v1-4 (&-> v1-4 1)) + (+! a0-6 1) + ) + (set! (-> v1-4 0) (the-as uint 0)) + ) + 0 + ) + ) ) - (set! (-> v1-2 color) arg4) - (let ((a0-6 0) - (a1-2 (-> arg2 data)) - (v1-4 (-> v1-2 str data)) - ) - (while (and (nonzero? (-> a1-2 0)) (< a0-6 79)) - (set! (-> v1-4 0) (-> a1-2 0)) - (set! a1-2 (&-> a1-2 1)) - (set! v1-4 (&-> v1-4 1)) - (+! a0-6 1) - ) - (set! (-> v1-4 0) (the-as uint 0)) + (else + (internal-draw-debug-text-3d arg1 arg2 arg3 arg4 (cond + (arg5 + (empty) + arg5 + ) + (else + (new 'static 'vector2h) + ) + ) + ) ) - 0 - ) ) - ) - (else - (internal-draw-debug-text-3d arg1 arg2 arg3 arg4 (cond - (arg5 - (empty) - arg5 - ) - (else - (new 'static 'vector2h) - ) - ) - ) - ) ) - ) #f ) ;; definition (debug) for function add-debug-sphere-with-transform -(defun-debug - add-debug-sphere-with-transform - ((arg0 symbol) - (arg1 bucket-id) - (arg2 vector) - (arg3 meters) - (arg4 matrix) - (arg5 rgba) - ) +(defun-debug add-debug-sphere-with-transform ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 meters) (arg4 matrix) (arg5 rgba)) (rlet ((acc :class vf) (vf0 :class vf) (vf1 :class vf) @@ -1111,204 +897,148 @@ (vf4 :class vf) (vf5 :class vf) ) - (init-vf0-vector) - (when arg0 - (.lvf vf5 (&-> arg2 quad)) - (.lvf vf1 (&-> arg4 vector 0 quad)) - (.lvf vf2 (&-> arg4 vector 1 quad)) - (.lvf vf3 (&-> arg4 vector 2 quad)) - (.lvf vf4 (&-> arg4 vector 3 quad)) - (.mul.w.vf acc vf4 vf0) - (.add.mul.x.vf acc vf1 vf5 acc) - (.add.mul.y.vf acc vf2 vf5 acc) - (.add.mul.z.vf vf5 vf3 vf5 acc) - (let ((a2-1 (new 'stack-no-clear 'vector))) - (.svf (&-> a2-1 quad) vf5) - (add-debug-sphere arg0 arg1 a2-1 arg3 arg5) - ) + (init-vf0-vector) + (when arg0 + (.lvf vf5 (&-> arg2 quad)) + (.lvf vf1 (&-> arg4 vector 0 quad)) + (.lvf vf2 (&-> arg4 vector 1 quad)) + (.lvf vf3 (&-> arg4 vector 2 quad)) + (.lvf vf4 (&-> arg4 vector 3 quad)) + (.mul.w.vf acc vf4 vf0) + (.add.mul.x.vf acc vf1 vf5 acc) + (.add.mul.y.vf acc vf2 vf5 acc) + (.add.mul.z.vf vf5 vf3 vf5 acc) + (let ((a2-1 (new 'stack-no-clear 'vector))) + (.svf (&-> a2-1 quad) vf5) + (add-debug-sphere arg0 arg1 a2-1 arg3 arg5) + ) + ) + #f ) - #f - ) ) ;; definition (debug) for function add-debug-sphere -(defun-debug - add-debug-sphere - ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 float) (arg4 rgba)) +(defun-debug add-debug-sphere ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 float) (arg4 rgba)) (if arg0 - (add-debug-sphere-from-table arg1 arg2 arg3 arg4) - ) + (add-debug-sphere-from-table arg1 arg2 arg3 arg4) + ) #f ) ;; definition (debug) for function add-debug-text-sphere -(defun-debug - add-debug-text-sphere - ((arg0 symbol) - (arg1 bucket-id) - (arg2 vector) - (arg3 float) - (arg4 string) - (arg5 rgba) - ) +(defun-debug add-debug-text-sphere ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 float) (arg4 string) (arg5 rgba)) (add-debug-sphere arg0 arg1 arg2 arg3 arg5) - (add-debug-text-3d - arg0 - arg1 - arg4 - arg2 - (font-color default) - (the-as vector2h #f) - ) + (add-debug-text-3d arg0 arg1 arg4 arg2 (font-color default) (the-as vector2h #f)) #f ) ;; definition (debug) for function add-debug-spheres -(defun-debug - add-debug-spheres - ((arg0 symbol) - (arg1 bucket-id) - (arg2 (inline-array vector)) - (arg3 int) - (arg4 rgba) - ) +(defun-debug add-debug-spheres ((arg0 symbol) (arg1 bucket-id) (arg2 (inline-array vector)) (arg3 int) (arg4 rgba)) (when arg0 - (let ((s4-0 (-> arg2 0))) - (countdown (s3-0 arg3) - (add-debug-sphere #t arg1 s4-0 (-> s4-0 w) arg4) - (&+! s4-0 16) - ) + (let ((s4-0 (-> arg2 0))) + (countdown (s3-0 arg3) + (add-debug-sphere #t arg1 s4-0 (-> s4-0 w) arg4) + (&+! s4-0 16) + ) + ) ) - ) #f ) ;; definition (debug) for function add-debug-circle ;; Used lq/sq -(defun-debug - add-debug-circle - ((arg0 symbol) - (arg1 bucket-id) - (arg2 vector) - (arg3 float) - (arg4 rgba) - (arg5 matrix) - ) +(defun-debug add-debug-circle ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 float) (arg4 rgba) (arg5 matrix)) (local-vars (sv-48 int) (sv-64 vector) (sv-80 vector)) "note: you may pass #f for orientation" (if (not arg0) - (return #f) - ) + (return #f) + ) (let ((f30-0 0.0) (s1-0 (new-stack-vector0)) (s0-0 (new-stack-vector0)) ) - (set! sv-48 0) - (while (< sv-48 12) - (set! sv-64 s1-0) - (set! (-> sv-64 x) (* arg3 (cos f30-0))) - (set! (-> sv-64 y) 0.0) - (set! (-> sv-64 z) (* arg3 (sin f30-0))) - (set! (-> sv-64 w) 1.0) - (set! f30-0 (+ 5461.3335 f30-0)) - (set! sv-80 s0-0) - (set! (-> sv-80 x) (* arg3 (cos f30-0))) - (set! (-> sv-80 y) 0.0) - (set! (-> sv-80 z) (* arg3 (sin f30-0))) - (set! (-> sv-80 w) 1.0) - (when arg5 - (vector-matrix*! s1-0 s1-0 arg5) - (vector-matrix*! s0-0 s0-0 arg5) - ) - (vector+! s1-0 s1-0 arg2) - (vector+! s0-0 s0-0 arg2) - (add-debug-line #t arg1 s1-0 s0-0 arg4 #f (the-as rgba -1)) - (set! sv-48 (+ sv-48 1)) + (set! sv-48 0) + (while (< sv-48 12) + (set! sv-64 s1-0) + (set! (-> sv-64 x) (* arg3 (cos f30-0))) + (set! (-> sv-64 y) 0.0) + (set! (-> sv-64 z) (* arg3 (sin f30-0))) + (set! (-> sv-64 w) 1.0) + (set! f30-0 (+ 5461.3335 f30-0)) + (set! sv-80 s0-0) + (set! (-> sv-80 x) (* arg3 (cos f30-0))) + (set! (-> sv-80 y) 0.0) + (set! (-> sv-80 z) (* arg3 (sin f30-0))) + (set! (-> sv-80 w) 1.0) + (when arg5 + (vector-matrix*! s1-0 s1-0 arg5) + (vector-matrix*! s0-0 s0-0 arg5) + ) + (vector+! s1-0 s1-0 arg2) + (vector+! s0-0 s0-0 arg2) + (add-debug-line #t arg1 s1-0 s0-0 arg4 #f (the-as rgba -1)) + (set! sv-48 (+ sv-48 1)) + ) ) - ) #f ) ;; definition (debug) for function add-debug-vector ;; Used lq/sq -(defun-debug - add-debug-vector - ((arg0 symbol) - (arg1 bucket-id) - (arg2 vector) - (arg3 vector) - (arg4 meters) - (arg5 rgba) - ) +(defun-debug add-debug-vector ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 vector) (arg4 meters) (arg5 rgba)) (if (not arg0) - (return #f) - ) + (return #f) + ) (let ((v1-2 (new-stack-vector0))) - (set! (-> v1-2 x) (+ (-> arg2 x) (* (-> arg3 x) arg4))) - (set! (-> v1-2 y) (+ (-> arg2 y) (* (-> arg3 y) arg4))) - (set! (-> v1-2 z) (+ (-> arg2 z) (* (-> arg3 z) arg4))) - (add-debug-line #t arg1 arg2 v1-2 arg5 #f (the-as rgba -1)) - ) + (set! (-> v1-2 x) (+ (-> arg2 x) (* (-> arg3 x) arg4))) + (set! (-> v1-2 y) (+ (-> arg2 y) (* (-> arg3 y) arg4))) + (set! (-> v1-2 z) (+ (-> arg2 z) (* (-> arg3 z) arg4))) + (add-debug-line #t arg1 arg2 v1-2 arg5 #f (the-as rgba -1)) + ) #f ) ;; definition (debug) for function add-debug-matrix (defun-debug add-debug-matrix ((arg0 symbol) (arg1 bucket-id) (arg2 matrix)) (add-debug-vector - arg0 - arg1 - (-> arg2 vector 3) - (the-as vector (-> arg2 vector)) - (meters 2.0) - (new 'static 'rgba :r #xff :a #x80) - ) + arg0 + arg1 + (-> arg2 vector 3) + (the-as vector (-> arg2 vector)) + (meters 2.0) + (new 'static 'rgba :r #xff :a #x80) + ) (add-debug-vector - arg0 - arg1 - (-> arg2 vector 3) - (-> arg2 vector 1) - (meters 2.0) - (new 'static 'rgba :g #xff :a #x80) - ) + arg0 + arg1 + (-> arg2 vector 3) + (-> arg2 vector 1) + (meters 2.0) + (new 'static 'rgba :g #xff :a #x80) + ) (add-debug-vector - arg0 - arg1 - (-> arg2 vector 3) - (-> arg2 vector 2) - (meters 2.0) - (new 'static 'rgba :b #xff :a #x80) - ) + arg0 + arg1 + (-> arg2 vector 3) + (-> arg2 vector 2) + (meters 2.0) + (new 'static 'rgba :b #xff :a #x80) + ) arg2 ) ;; definition (debug) for function add-debug-rot-matrix -(defun-debug - add-debug-rot-matrix - ((arg0 symbol) (arg1 bucket-id) (arg2 matrix) (arg3 vector)) +(defun-debug add-debug-rot-matrix ((arg0 symbol) (arg1 bucket-id) (arg2 matrix) (arg3 vector)) (add-debug-vector - arg0 - arg1 - arg3 - (the-as vector (-> arg2 vector)) - (meters 2.0) - (new 'static 'rgba :r #xff :a #x80) - ) - (add-debug-vector - arg0 - arg1 - arg3 - (-> arg2 vector 1) - (meters 2.0) - (new 'static 'rgba :g #xff :a #x80) - ) - (add-debug-vector - arg0 - arg1 - arg3 - (-> arg2 vector 2) - (meters 2.0) - (new 'static 'rgba :b #xff :a #x80) - ) + arg0 + arg1 + arg3 + (the-as vector (-> arg2 vector)) + (meters 2.0) + (new 'static 'rgba :r #xff :a #x80) + ) + (add-debug-vector arg0 arg1 arg3 (-> arg2 vector 1) (meters 2.0) (new 'static 'rgba :g #xff :a #x80)) + (add-debug-vector arg0 arg1 arg3 (-> arg2 vector 2) (meters 2.0) (new 'static 'rgba :b #xff :a #x80)) arg2 ) @@ -1316,378 +1046,284 @@ ;; WARN: Stack slot offset 32 signed mismatch ;; WARN: Stack slot load at 32 mismatch: defined as size 4, got size 16 ;; Used lq/sq -(defun-debug - add-debug-yrot-vector - ((arg0 symbol) - (arg1 bucket-id) - (arg2 vector) - (arg3 float) - (arg4 float) - (arg5 rgba) - ) +(defun-debug add-debug-yrot-vector ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 float) (arg4 float) (arg5 rgba)) (local-vars (sv-32 float)) (set! sv-32 arg3) (let ((s0-0 arg4) (s3-0 arg5) ) - (if (not arg0) - (return #f) + (if (not arg0) + (return #f) + ) + (let ((s1-0 (new-stack-vector0))) + (set-vector! s1-0 (+ (-> arg2 x) (* (sin sv-32) s0-0)) (-> arg2 y) (+ (-> arg2 z) (* (cos sv-32) s0-0)) 1.0) + (add-debug-line arg0 arg1 s1-0 arg2 s3-0 #f (the-as rgba -1)) + ) ) - (let ((s1-0 (new-stack-vector0))) - (set-vector! - s1-0 - (+ (-> arg2 x) (* (sin sv-32) s0-0)) - (-> arg2 y) - (+ (-> arg2 z) (* (cos sv-32) s0-0)) - 1.0 - ) - (add-debug-line arg0 arg1 s1-0 arg2 s3-0 #f (the-as rgba -1)) - ) - ) #f ) ;; definition (debug) for function add-debug-arc ;; Used lq/sq -(defun-debug - add-debug-arc - ((arg0 symbol) - (arg1 bucket-id) - (arg2 vector) - (arg3 float) - (arg4 float) - (arg5 float) - (arg6 rgba) - (arg7 matrix) - ) - (local-vars - (sv-48 vector) - (sv-64 vector) - (sv-80 int) - (sv-96 vector) - (sv-112 vector) - ) +(defun-debug add-debug-arc ((arg0 symbol) + (arg1 bucket-id) + (arg2 vector) + (arg3 float) + (arg4 float) + (arg5 float) + (arg6 rgba) + (arg7 matrix) + ) + (local-vars (sv-48 vector) (sv-64 vector) (sv-80 int) (sv-96 vector) (sv-112 vector)) "note: you may pass #f for orientation" (if (not arg0) - (return #f) - ) + (return #f) + ) (let ((f30-0 arg3)) - (set! sv-48 (new 'stack-no-clear 'vector)) - (set! (-> sv-48 quad) (the-as uint128 0)) - (set! sv-64 (new 'stack-no-clear 'vector)) - (set! (-> sv-64 quad) (the-as uint128 0)) - (set! sv-80 0) - (while (< sv-80 12) - (set! sv-96 sv-48) - (set! (-> sv-96 x) (* arg5 (sin f30-0))) - (set! (-> sv-96 y) 0.0) - (set! (-> sv-96 z) (* arg5 (cos f30-0))) - (set! (-> sv-96 w) 1.0) - (+! f30-0 (the float (/ (the int (- arg4 arg3)) 12))) - (set! sv-112 sv-64) - (set! (-> sv-112 x) (* arg5 (sin f30-0))) - (set! (-> sv-112 y) 0.0) - (set! (-> sv-112 z) (* arg5 (cos f30-0))) - (set! (-> sv-112 w) 1.0) - (when arg7 - (vector-matrix*! sv-48 sv-48 arg7) - (vector-matrix*! sv-64 sv-64 arg7) - ) - (vector+! sv-48 sv-48 arg2) - (vector+! sv-64 sv-64 arg2) - (add-debug-line #t arg1 sv-48 sv-64 arg6 #f (the-as rgba -1)) - (cond - ((zero? sv-80) - (add-debug-line #t arg1 sv-48 arg2 arg6 #f (the-as rgba -1)) + (set! sv-48 (new 'stack-no-clear 'vector)) + (set! (-> sv-48 quad) (the-as uint128 0)) + (set! sv-64 (new 'stack-no-clear 'vector)) + (set! (-> sv-64 quad) (the-as uint128 0)) + (set! sv-80 0) + (while (< sv-80 12) + (set! sv-96 sv-48) + (set! (-> sv-96 x) (* arg5 (sin f30-0))) + (set! (-> sv-96 y) 0.0) + (set! (-> sv-96 z) (* arg5 (cos f30-0))) + (set! (-> sv-96 w) 1.0) + (+! f30-0 (the float (/ (the int (- arg4 arg3)) 12))) + (set! sv-112 sv-64) + (set! (-> sv-112 x) (* arg5 (sin f30-0))) + (set! (-> sv-112 y) 0.0) + (set! (-> sv-112 z) (* arg5 (cos f30-0))) + (set! (-> sv-112 w) 1.0) + (when arg7 + (vector-matrix*! sv-48 sv-48 arg7) + (vector-matrix*! sv-64 sv-64 arg7) + ) + (vector+! sv-48 sv-48 arg2) + (vector+! sv-64 sv-64 arg2) + (add-debug-line #t arg1 sv-48 sv-64 arg6 #f (the-as rgba -1)) + (cond + ((zero? sv-80) + (add-debug-line #t arg1 sv-48 arg2 arg6 #f (the-as rgba -1)) + ) + ((= sv-80 11) + (add-debug-line #t arg1 sv-64 arg2 arg6 #f (the-as rgba -1)) + ) + ) + (set! sv-80 (+ sv-80 1)) ) - ((= sv-80 11) - (add-debug-line #t arg1 sv-64 arg2 arg6 #f (the-as rgba -1)) - ) - ) - (set! sv-80 (+ sv-80 1)) ) - ) #f ) ;; definition (debug) for function add-debug-curve ;; Used lq/sq -(defun-debug - add-debug-curve - ((arg0 symbol) - (arg1 bucket-id) - (arg2 pointer) - (arg3 int) - (arg4 (inline-array vector)) - (arg5 int) - (arg6 rgba) - ) +(defun-debug add-debug-curve ((arg0 symbol) (arg1 bucket-id) (arg2 pointer) (arg3 int) (arg4 (inline-array vector)) (arg5 int) (arg6 rgba)) (local-vars (sv-48 vector) (sv-64 int) (sv-80 int)) (if (not arg0) - (return #f) - ) + (return #f) + ) (let ((s0-0 (new-stack-vector0))) - (set! sv-48 (new 'stack-no-clear 'vector)) - (set! (-> sv-48 quad) (the-as uint128 0)) - (set! sv-64 (* arg3 4)) - (curve-evaluate! sv-48 (-> arg4 0 x) arg2 arg3 arg4 arg5) - (set! sv-80 0) - (while (< sv-80 sv-64) - (set! (-> s0-0 quad) (-> sv-48 quad)) - (curve-evaluate! - sv-48 - (/ (the float (+ sv-80 1)) (the float sv-64)) - arg2 - arg3 - arg4 - arg5 - ) - (add-debug-line #t arg1 s0-0 sv-48 arg6 #f (the-as rgba -1)) - (set! sv-80 (+ sv-80 1)) + (set! sv-48 (new 'stack-no-clear 'vector)) + (set! (-> sv-48 quad) (the-as uint128 0)) + (set! sv-64 (* arg3 4)) + (curve-evaluate! sv-48 (-> arg4 0 x) arg2 arg3 arg4 arg5) + (set! sv-80 0) + (while (< sv-80 sv-64) + (set! (-> s0-0 quad) (-> sv-48 quad)) + (curve-evaluate! sv-48 (/ (the float (+ sv-80 1)) (the float sv-64)) arg2 arg3 arg4 arg5) + (add-debug-line #t arg1 s0-0 sv-48 arg6 #f (the-as rgba -1)) + (set! sv-80 (+ sv-80 1)) + ) ) - ) #f ) ;; definition (debug) for function add-debug-curve2 -(defun-debug - add-debug-curve2 - ((arg0 symbol) (arg1 bucket-id) (arg2 curve) (arg3 rgba) (arg4 symbol)) +(defun-debug add-debug-curve2 ((arg0 symbol) (arg1 bucket-id) (arg2 curve) (arg3 rgba) (arg4 symbol)) (if arg0 - (add-debug-curve - #t - arg1 - (-> arg2 cverts) - (-> arg2 num-cverts) - (-> arg2 knots) - (-> arg2 num-knots) - arg3 - ) - ) + (add-debug-curve #t arg1 (-> arg2 cverts) (-> arg2 num-cverts) (-> arg2 knots) (-> arg2 num-knots) arg3) + ) #f ) ;; definition (debug) for function add-debug-points ;; Used lq/sq -(defun-debug - add-debug-points - ((arg0 symbol) - (arg1 bucket-id) - (arg2 (inline-array vector)) - (arg3 int) - (arg4 rgba) - (arg5 float) - (arg6 int) - ) +(defun-debug add-debug-points ((arg0 symbol) (arg1 bucket-id) (arg2 (inline-array vector)) (arg3 int) (arg4 rgba) (arg5 float) (arg6 int)) (local-vars - (sv-32 (function symbol bucket-id string vector font-color vector2h symbol)) - (sv-48 symbol) - (sv-64 bucket-id) - (sv-80 (function _varargs_ object)) - (sv-96 vector) - ) - (when arg0 - (dotimes (s0-0 arg3) - (set! sv-96 (new 'stack-no-clear 'vector)) - (set! (-> sv-96 quad) (the-as uint128 0)) - (set! (-> sv-96 quad) (-> arg2 s0-0 quad)) - (if (!= arg5 0.0) - (set! (-> sv-96 y) arg5) - ) - (set! sv-32 add-debug-text-3d) - (set! sv-48 #t) - (set! sv-64 arg1) - (set! sv-80 format) - (let ((a0-5 (clear *temp-string*)) - (a1-1 "~d") - (a2-1 s0-0) - ) - (sv-80 a0-5 a1-1 a2-1) - ) - (let ((a2-2 *temp-string*) - (a3-1 sv-96) - (t0-1 1) - (t1-1 #f) - ) - (sv-32 - sv-48 - sv-64 - a2-2 - a3-1 - (the-as font-color t0-1) - (the-as vector2h t1-1) - ) - ) - (let ((t9-3 add-debug-x) - (a0-7 #t) - (a1-3 arg1) - (a3-2 (if (= s0-0 arg6) - (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) - arg4 - ) - ) - ) - (t9-3 a0-7 a1-3 sv-96 a3-2) - ) + (sv-32 (function symbol bucket-id string vector font-color vector2h symbol)) + (sv-48 symbol) + (sv-64 bucket-id) + (sv-80 (function _varargs_ object)) + (sv-96 vector) + ) + (when arg0 + (dotimes (s0-0 arg3) + (set! sv-96 (new 'stack-no-clear 'vector)) + (set! (-> sv-96 quad) (the-as uint128 0)) + (set! (-> sv-96 quad) (-> arg2 s0-0 quad)) + (if (!= arg5 0.0) + (set! (-> sv-96 y) arg5) + ) + (set! sv-32 add-debug-text-3d) + (set! sv-48 #t) + (set! sv-64 arg1) + (set! sv-80 format) + (let ((a0-5 (clear *temp-string*)) + (a1-1 "~d") + (a2-1 s0-0) + ) + (sv-80 a0-5 a1-1 a2-1) + ) + (let ((a2-2 *temp-string*) + (a3-1 sv-96) + (t0-1 1) + (t1-1 #f) + ) + (sv-32 sv-48 sv-64 a2-2 a3-1 (the-as font-color t0-1) (the-as vector2h t1-1)) + ) + (let ((t9-3 add-debug-x) + (a0-7 #t) + (a1-3 arg1) + (a3-2 (if (= s0-0 arg6) + (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + arg4 + ) + ) + ) + (t9-3 a0-7 a1-3 sv-96 a3-2) + ) + ) ) - ) #f ) ;; definition (debug) for function debug-percent-bar -(defun-debug - debug-percent-bar - ((arg0 symbol) - (arg1 bucket-id) - (arg2 int) - (arg3 int) - (arg4 float) - (arg5 rgba) - ) +(defun-debug debug-percent-bar ((arg0 symbol) (arg1 bucket-id) (arg2 int) (arg3 int) (arg4 float) (arg5 rgba)) (if (not arg0) - (return #f) - ) + (return #f) + ) (let* ((s0-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) (s5-0 (-> s0-0 base)) ) - (draw-sprite2d-xy s0-0 arg2 arg3 255 14 (new 'static 'rgba :a #x40)) - (draw-sprite2d-xy s0-0 arg2 (+ arg3 2) (the int (* 255.0 arg4)) 10 arg5) - (let ((a3-3 (-> s0-0 base))) - (let ((v1-5 (the-as dma-packet (-> s0-0 base)))) - (set! (-> v1-5 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> v1-5 vif0) (new 'static 'vif-tag)) - (set! (-> v1-5 vif1) (new 'static 'vif-tag)) - (set! (-> s0-0 base) (&+ (the-as pointer v1-5) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - arg1 - s5-0 - (the-as (pointer dma-tag) a3-3) - ) + (draw-sprite2d-xy s0-0 arg2 arg3 255 14 (new 'static 'rgba :a #x40)) + (draw-sprite2d-xy s0-0 arg2 (+ arg3 2) (the int (* 255.0 arg4)) 10 arg5) + (let ((a3-3 (-> s0-0 base))) + (let ((v1-5 (the-as dma-packet (-> s0-0 base)))) + (set! (-> v1-5 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> v1-5 vif0) (new 'static 'vif-tag)) + (set! (-> v1-5 vif1) (new 'static 'vif-tag)) + (set! (-> s0-0 base) (&+ (the-as pointer v1-5) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + arg1 + s5-0 + (the-as (pointer dma-tag) a3-3) + ) + ) ) - ) #f ) ;; definition (debug) for function debug-pad-display ;; Used lq/sq (defun-debug debug-pad-display ((arg0 cpad-info)) - (let - ((gp-0 - (new 'static 'inline-array vector 8 - (new 'static 'vector) - (new 'static 'vector) - (new 'static 'vector) - (new 'static 'vector) - (new 'static 'vector) - (new 'static 'vector) - (new 'static 'vector) - (new 'static 'vector) + (let ((gp-0 (new 'static 'inline-array vector 8 + (new 'static 'vector) + (new 'static 'vector) + (new 'static 'vector) + (new 'static 'vector) + (new 'static 'vector) + (new 'static 'vector) + (new 'static 'vector) + (new 'static 'vector) + ) + ) + ) + (countdown (v1-0 31) + (let ((a0-3 (-> gp-0 v1-0 quad))) + (set! (-> gp-0 (+ v1-0 1) quad) a0-3) + ) ) - ) - ) - (countdown (v1-0 31) - (let ((a0-3 (-> gp-0 v1-0 quad))) - (set! (-> gp-0 (+ v1-0 1) quad) a0-3) - ) - ) - (set! (-> gp-0 0 x) (* (sin (-> arg0 stick0-dir)) (-> arg0 stick0-speed))) - (set! (-> gp-0 0 y) (* (cos (-> arg0 stick0-dir)) (-> arg0 stick0-speed))) - (dotimes (s5-1 32) - (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s4-0 (-> s3-0 base)) - ) - (draw-sprite2d-xy - s3-0 - (the int (* 120.0 (-> gp-0 s5-1 x))) - (the int (* 144.0 (-> gp-0 s5-1 y))) - 10 - 10 - (new 'static 'rgba :a #x80 :r (- 255 (* 7 s5-1))) + (set! (-> gp-0 0 x) (* (sin (-> arg0 stick0-dir)) (-> arg0 stick0-speed))) + (set! (-> gp-0 0 y) (* (cos (-> arg0 stick0-dir)) (-> arg0 stick0-speed))) + (dotimes (s5-1 32) + (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s4-0 (-> s3-0 base)) + ) + (draw-sprite2d-xy + s3-0 + (the int (* 120.0 (-> gp-0 s5-1 x))) + (the int (* 144.0 (-> gp-0 s5-1 y))) + 10 + 10 + (new 'static 'rgba :a #x80 :r (- 255 (* 7 s5-1))) + ) + (let ((a3-1 (-> s3-0 base))) + (let ((v1-12 (the-as dma-packet (-> s3-0 base)))) + (set! (-> v1-12 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> v1-12 vif0) (new 'static 'vif-tag)) + (set! (-> v1-12 vif1) (new 'static 'vif-tag)) + (set! (-> s3-0 base) (&+ (the-as pointer v1-12) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s4-0 + (the-as (pointer dma-tag) a3-1) + ) + ) + ) ) - (let ((a3-1 (-> s3-0 base))) - (let ((v1-12 (the-as dma-packet (-> s3-0 base)))) - (set! (-> v1-12 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> v1-12 vif0) (new 'static 'vif-tag)) - (set! (-> v1-12 vif1) (new 'static 'vif-tag)) - (set! (-> s3-0 base) (&+ (the-as pointer v1-12) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s4-0 - (the-as (pointer dma-tag) a3-1) - ) - ) - ) ) - ) #f ) ;; definition (debug) for function add-debug-light ;; Used lq/sq -(defun-debug - add-debug-light - ((arg0 symbol) (arg1 bucket-id) (arg2 light) (arg3 vector) (arg4 string)) +(defun-debug add-debug-light ((arg0 symbol) (arg1 bucket-id) (arg2 light) (arg3 vector) (arg4 string)) (if (not arg0) - (return #f) - ) + (return #f) + ) (when (!= (-> arg2 levels x) 0.0) - (add-debug-vector - arg0 - arg1 - arg3 - (-> arg2 direction) - (meters 3.0) - (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) - ) - (let - ((s2-1 - (vector+*! - (new-stack-vector0) - arg3 - (-> arg2 direction) - (* 12288.0 (-> arg2 levels x)) - ) - ) - (s1-0 - (logior - (logior - (logior - (shr (shl (the int (* 128.0 (-> arg2 color w))) 56) 32) - (shr (shl (the int (* 128.0 (-> arg2 color z))) 56) 40) - ) - (shr (shl (the int (* 128.0 (-> arg2 color y))) 56) 48) - ) - (shr (shl (the int (* 128.0 (-> arg2 color x))) 56) 56) - ) - ) - ) - (format (clear *temp-string*) "~S ~,,2f" arg4 (-> arg2 levels x)) - (let ((t0-2 *temp-string*)) - (add-debug-text-sphere + (add-debug-vector arg0 arg1 - s2-1 - (* 2048.0 (-> arg2 levels x)) - t0-2 - (the-as rgba s1-0) + arg3 + (-> arg2 direction) + (meters 3.0) + (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + ) + (let ((s2-1 (vector+*! (new-stack-vector0) arg3 (-> arg2 direction) (* 12288.0 (-> arg2 levels x)))) + (s1-0 (logior + (logior + (logior + (shr (shl (the int (* 128.0 (-> arg2 color w))) 56) 32) + (shr (shl (the int (* 128.0 (-> arg2 color z))) 56) 40) + ) + (shr (shl (the int (* 128.0 (-> arg2 color y))) 56) 48) + ) + (shr (shl (the int (* 128.0 (-> arg2 color x))) 56) 56) + ) + ) + ) + (format (clear *temp-string*) "~S ~,,2f" arg4 (-> arg2 levels x)) + (let ((t0-2 *temp-string*)) + (add-debug-text-sphere arg0 arg1 s2-1 (* 2048.0 (-> arg2 levels x)) t0-2 (the-as rgba s1-0)) + ) ) - ) ) - ) #f ) ;; definition (debug) for function add-debug-lights -(defun-debug - add-debug-lights - ((arg0 symbol) (arg1 bucket-id) (arg2 (inline-array light)) (arg3 vector)) +(defun-debug add-debug-lights ((arg0 symbol) (arg1 bucket-id) (arg2 (inline-array light)) (arg3 vector)) (if (not arg0) - (return #f) - ) + (return #f) + ) (add-debug-light arg0 arg1 (-> arg2 0) arg3 "dir0") (add-debug-light arg0 arg1 (-> arg2 1) arg3 "dir1") (add-debug-light arg0 arg1 (-> arg2 2) arg3 "dir2") @@ -1698,23 +1334,20 @@ ;; definition (debug) for function drawable-frag-count (defun-debug drawable-frag-count ((arg0 drawable)) (let ((gp-0 0)) - (cond - ((not arg0) - ) - ((type-type? (-> arg0 type) drawable-group) - (dotimes (s4-0 (-> (the-as drawable-group arg0) length)) - (+! - gp-0 - (drawable-frag-count (-> (the-as drawable-group arg0) data s4-0)) + (cond + ((not arg0) ) + ((type-type? (-> arg0 type) drawable-group) + (dotimes (s4-0 (-> (the-as drawable-group arg0) length)) + (+! gp-0 (drawable-frag-count (-> (the-as drawable-group arg0) data s4-0))) + ) + ) + (else + (+! gp-0 1) + ) ) - ) - (else - (+! gp-0 1) - ) + gp-0 ) - gp-0 - ) ) ;; definition for method 3 of type debug-vertex-stats @@ -1725,27 +1358,27 @@ (format #t "~Tpos-count: ~D~%" (-> obj pos-count)) (format #t "~Tdata[~D]: @ #x~X~%" (-> obj length) (-> obj vertex)) (dotimes (s5-0 (-> obj length)) - (let ((s4-0 (-> obj vertex s5-0))) - (format - #t - " ~D : trans: ~D ~D ~D ~D" - s5-0 - (-> s4-0 trans x) - (-> s4-0 trans y) - (-> s4-0 trans z) - (-> s4-0 trans w) - ) - (format #t " st: ~D ~D~%" (-> s4-0 st x) (-> s4-0 st y)) - (format - #t - " col: ~X norm: ~D ~D ~D~%" - (-> s4-0 color) - (-> s4-0 normal x) - (-> s4-0 normal y) - (-> s4-0 normal z) - ) + (let ((s4-0 (-> obj vertex s5-0))) + (format + #t + " ~D : trans: ~D ~D ~D ~D" + s5-0 + (-> s4-0 trans x) + (-> s4-0 trans y) + (-> s4-0 trans z) + (-> s4-0 trans w) + ) + (format #t " st: ~D ~D~%" (-> s4-0 st x) (-> s4-0 st y)) + (format + #t + " col: ~X norm: ~D ~D ~D~%" + (-> s4-0 color) + (-> s4-0 normal x) + (-> s4-0 normal y) + (-> s4-0 normal z) + ) + ) ) - ) obj ) @@ -1758,38 +1391,33 @@ ;; definition (debug) for function history-draw-and-update ;; Used lq/sq -(defun-debug - history-draw-and-update - ((arg0 pos-history) (arg1 int) (arg2 vector)) +(defun-debug history-draw-and-update ((arg0 pos-history) (arg1 int) (arg2 vector)) (if (and arg1 (not (-> arg0 points))) - (set! - (-> arg0 points) - (the-as (inline-array vector) (malloc 'debug (* (-> arg0 num-points) 16))) - ) - ) - (when (-> arg0 points) - (set! (-> arg0 points (-> arg0 h-first) quad) (-> arg2 quad)) - (+! (-> arg0 h-first) 1) - (when (>= (-> arg0 h-first) (-> arg0 num-points)) - (set! (-> arg0 h-first) 0) - 0 - ) - ) - (when arg1 - (dotimes (s5-1 (+ (-> arg0 num-points) -1)) - (if (!= (+ s5-1 1) (-> arg0 h-first)) - (add-debug-line - #t - (bucket-id debug-draw1) - (-> arg0 points s5-1) - (-> arg0 points (+ s5-1 1)) - (new 'static 'rgba :r #x80 :g #xc0 :b #x80 :a #x80) - #f - (the-as rgba -1) + (set! (-> arg0 points) (the-as (inline-array vector) (malloc 'debug (* (-> arg0 num-points) 16)))) + ) + (when (-> arg0 points) + (set! (-> arg0 points (-> arg0 h-first) quad) (-> arg2 quad)) + (+! (-> arg0 h-first) 1) + (when (>= (-> arg0 h-first) (-> arg0 num-points)) + (set! (-> arg0 h-first) 0) + 0 + ) + ) + (when arg1 + (dotimes (s5-1 (+ (-> arg0 num-points) -1)) + (if (!= (+ s5-1 1) (-> arg0 h-first)) + (add-debug-line + #t + (bucket-id debug-draw1) + (-> arg0 points s5-1) + (-> arg0 points (+ s5-1 1)) + (new 'static 'rgba :r #x80 :g #xc0 :b #x80 :a #x80) + #f + (the-as rgba -1) + ) + ) ) - ) ) - ) #f ) @@ -1799,51 +1427,46 @@ (let ((a0-0 (new-stack-vector0)) (a1-0 (new-stack-matrix0)) ) - (set! (-> a0-0 x) -666764.4) - (set! (-> a0-0 y) 21102.984) - (set! (-> a0-0 z) 51613.348) - (set! (-> a0-0 w) 1.0) - (set! (-> a1-0 vector 0 x) -0.911) - (set! (-> a1-0 vector 0 y) 0.0) - (set! (-> a1-0 vector 0 z) 0.4122) - (set! (-> a1-0 vector 0 w) 0.0) - (set! (-> a1-0 vector 1 x) -0.0984) - (set! (-> a1-0 vector 1 y) 0.971) - (set! (-> a1-0 vector 1 z) -0.2174) - (set! (-> a1-0 vector 1 w) 0.0) - (set! (-> a1-0 vector 2 x) -0.4003) - (set! (-> a1-0 vector 2 y) -0.2387) - (set! (-> a1-0 vector 2 z) -0.8847) - (set! (-> a1-0 vector 2 w) 0.0) - (set! (-> a1-0 vector 3 x) 0.0) - (set! (-> a1-0 vector 3 y) 0.0) - (set! (-> a1-0 vector 3 z) 0.0) - (set! (-> a1-0 vector 3 w) 1.0) - (debug-set-camera-pos-rot! a0-0 a1-0) - ) + (set! (-> a0-0 x) -666764.4) + (set! (-> a0-0 y) 21102.984) + (set! (-> a0-0 z) 51613.348) + (set! (-> a0-0 w) 1.0) + (set! (-> a1-0 vector 0 x) -0.911) + (set! (-> a1-0 vector 0 y) 0.0) + (set! (-> a1-0 vector 0 z) 0.4122) + (set! (-> a1-0 vector 0 w) 0.0) + (set! (-> a1-0 vector 1 x) -0.0984) + (set! (-> a1-0 vector 1 y) 0.971) + (set! (-> a1-0 vector 1 z) -0.2174) + (set! (-> a1-0 vector 1 w) 0.0) + (set! (-> a1-0 vector 2 x) -0.4003) + (set! (-> a1-0 vector 2 y) -0.2387) + (set! (-> a1-0 vector 2 z) -0.8847) + (set! (-> a1-0 vector 2 w) 0.0) + (set! (-> a1-0 vector 3 x) 0.0) + (set! (-> a1-0 vector 3 y) 0.0) + (set! (-> a1-0 vector 3 z) 0.0) + (set! (-> a1-0 vector 3 w) 1.0) + (debug-set-camera-pos-rot! a0-0 a1-0) + ) ) ;; definition (debug) for function display-file-info (defun-debug display-file-info () (when (and *display-file-info* (!= *master-mode* 'menu)) - (dotimes (gp-0 (-> *level* length)) - (let ((v1-7 (-> *level* level gp-0))) - (when (= (-> v1-7 status) 'active) - (let ((s5-0 (-> v1-7 bsp))) - (format *stdcon* "file name: ~S~%" (-> s5-0 info file-name)) - (format - *stdcon* - "version: ~D.~D~%" - (-> s5-0 info major-version) - (-> s5-0 info minor-version) + (dotimes (gp-0 (-> *level* length)) + (let ((v1-7 (-> *level* level gp-0))) + (when (= (-> v1-7 status) 'active) + (let ((s5-0 (-> v1-7 bsp))) + (format *stdcon* "file name: ~S~%" (-> s5-0 info file-name)) + (format *stdcon* "version: ~D.~D~%" (-> s5-0 info major-version) (-> s5-0 info minor-version)) + (format *stdcon* "maya file: ~S~%" (-> s5-0 info maya-file-name)) + (format *stdcon* "mdb file: ~S~%" (-> s5-0 info mdb-file-name)) + (format *stdcon* "~S" (-> s5-0 info tool-debug)) + ) + ) ) - (format *stdcon* "maya file: ~S~%" (-> s5-0 info maya-file-name)) - (format *stdcon* "mdb file: ~S~%" (-> s5-0 info mdb-file-name)) - (format *stdcon* "~S" (-> s5-0 info tool-debug)) - ) ) - ) ) - ) 0 ) diff --git a/test/decompiler/reference/engine/debug/default-menu_REF.gc b/test/decompiler/reference/engine/debug/default-menu_REF.gc index 2ee30c8109..2f92fb3b59 100644 --- a/test/decompiler/reference/engine/debug/default-menu_REF.gc +++ b/test/decompiler/reference/engine/debug/default-menu_REF.gc @@ -12,299 +12,294 @@ ;; definition for function dm-cam-mode-func (defun dm-cam-mode-func ((arg0 (state camera-slave)) (arg1 int)) (if (and (= arg1 4) arg0) - (send-event *camera* 'change-state arg0 *dm-cam-mode-interpolation*) - ) + (send-event *camera* 'change-state arg0 *dm-cam-mode-interpolation*) + ) (if *camera* - (send-event *camera* 'query-state arg0) - (not arg0) - ) + (send-event *camera* 'query-state arg0) + (not arg0) + ) ) ;; definition for function dm-cam-settings-func (defun dm-cam-settings-func ((arg0 int) (arg1 int)) (when (and (= arg1 4) *camera*) - (cond - ((zero? arg0) - (send-event *camera* 'toggle-slave-option 1) - ) - ((= arg0 13) - (send-event *camera* 'toggle-slave-option 8192) - ) - ((= arg0 1) - (send-event *camera* 'toggle-slave-option 2) - ) - ((= arg0 2) - (send-event *camera* 'toggle-slave-option 4) - ) - ((= arg0 3) - (send-event *camera* 'toggle-slave-option 128) - ) - ((= arg0 4) - (send-event *camera* 'toggle-slave-option 8) - ) - ((= arg0 7) - (send-event *camera* 'toggle-slave-option 16) - ) - ((= arg0 8) - (send-event *camera* 'toggle-slave-option 64) - ) - ((= arg0 6) - (send-event *camera* 'reset-root) - ) - ((= arg0 9) - (set! (-> *camera* master-options) (logxor (-> *camera* master-options) 1)) - ) - ((= arg0 10) - (set! (-> *camera* master-options) (logxor (-> *camera* master-options) 4)) - ) - ((= arg0 11) - (send-event *camera* 'toggle-slave-option 32) - ) - ((= arg0 12) - (send-event *camera* 'toggle-slave-option 512) - ) - ((= arg0 14) - (send-event *camera* 'toggle-slave-option #x8000) - ) - ((= arg0 15) - (send-event *camera* 'toggle-slave-option #x10000) - ) - ) - ) - (cond - (*camera* (cond - ((zero? arg0) - (logtest? (-> *camera* slave-options) 1) + ((zero? arg0) + (send-event *camera* 'toggle-slave-option 1) + ) + ((= arg0 13) + (send-event *camera* 'toggle-slave-option 8192) + ) + ((= arg0 1) + (send-event *camera* 'toggle-slave-option 2) + ) + ((= arg0 2) + (send-event *camera* 'toggle-slave-option 4) + ) + ((= arg0 3) + (send-event *camera* 'toggle-slave-option 128) + ) + ((= arg0 4) + (send-event *camera* 'toggle-slave-option 8) + ) + ((= arg0 7) + (send-event *camera* 'toggle-slave-option 16) + ) + ((= arg0 8) + (send-event *camera* 'toggle-slave-option 64) + ) + ((= arg0 6) + (send-event *camera* 'reset-root) + ) + ((= arg0 9) + (set! (-> *camera* master-options) (logxor (-> *camera* master-options) 1)) + ) + ((= arg0 10) + (set! (-> *camera* master-options) (logxor (-> *camera* master-options) 4)) + ) + ((= arg0 11) + (send-event *camera* 'toggle-slave-option 32) + ) + ((= arg0 12) + (send-event *camera* 'toggle-slave-option 512) + ) + ((= arg0 14) + (send-event *camera* 'toggle-slave-option #x8000) + ) + ((= arg0 15) + (send-event *camera* 'toggle-slave-option #x10000) + ) ) - ((= arg0 13) - (logtest? (-> *camera* slave-options) 8192) + ) + (cond + (*camera* + (cond + ((zero? arg0) + (logtest? (-> *camera* slave-options) 1) + ) + ((= arg0 13) + (logtest? (-> *camera* slave-options) 8192) + ) + ((= arg0 1) + (logtest? (-> *camera* slave-options) 2) + ) + ((= arg0 2) + (logtest? (-> *camera* slave-options) 4) + ) + ((= arg0 3) + (logtest? (-> *camera* slave-options) 128) + ) + ((= arg0 4) + (logtest? (-> *camera* slave-options) 8) + ) + ((= arg0 7) + (logtest? (-> *camera* slave-options) 16) + ) + ((= arg0 8) + (logtest? (-> *camera* slave-options) 64) + ) + ((= arg0 11) + (logtest? (-> *camera* slave-options) 32) + ) + ((= arg0 12) + (logtest? (-> *camera* slave-options) 512) + ) + ((= arg0 14) + (logtest? (-> *camera* slave-options) #x8000) + ) + ((= arg0 15) + (logtest? #x10000 (-> *camera* slave-options)) + ) + ((= arg0 9) + (logtest? (-> *camera* master-options) 1) + ) + ((= arg0 10) + (logtest? (-> *camera* master-options) 4) + ) + (else + #f + ) + ) ) - ((= arg0 1) - (logtest? (-> *camera* slave-options) 2) - ) - ((= arg0 2) - (logtest? (-> *camera* slave-options) 4) - ) - ((= arg0 3) - (logtest? (-> *camera* slave-options) 128) - ) - ((= arg0 4) - (logtest? (-> *camera* slave-options) 8) - ) - ((= arg0 7) - (logtest? (-> *camera* slave-options) 16) - ) - ((= arg0 8) - (logtest? (-> *camera* slave-options) 64) - ) - ((= arg0 11) - (logtest? (-> *camera* slave-options) 32) - ) - ((= arg0 12) - (logtest? (-> *camera* slave-options) 512) - ) - ((= arg0 14) - (logtest? (-> *camera* slave-options) #x8000) - ) - ((= arg0 15) - (logtest? #x10000 (-> *camera* slave-options)) - ) - ((= arg0 9) - (logtest? (-> *camera* master-options) 1) - ) - ((= arg0 10) - (logtest? (-> *camera* master-options) 4) - ) - (else + (else #f ) - ) ) - (else - #f - ) - ) ) ;; definition for function dm-cam-settings-func-int -(defun - dm-cam-settings-func-int - ((arg0 int) (arg1 int) (arg2 debug-menu) (arg3 debug-menu)) +(defun dm-cam-settings-func-int ((arg0 int) (arg1 int) (arg2 debug-menu) (arg3 debug-menu)) (when (and (= arg1 4) *camera*) - (if (= (/ arg0 8) 5) - (set! *dm-cam-mode-interpolation* arg2) - ) - ) - (cond - (*camera* (if (= (/ arg0 8) 5) - *dm-cam-mode-interpolation* - arg3 - ) + (set! *dm-cam-mode-interpolation* arg2) + ) ) - (else - arg3 + (cond + (*camera* + (if (= (/ arg0 8) 5) + *dm-cam-mode-interpolation* + arg3 + ) + ) + (else + arg3 + ) ) - ) ) ;; definition for function dm-cam-externalize (defun dm-cam-externalize ((arg0 symbol) (arg1 int)) (when (= arg1 4) - (cond - ((= arg0 'reset) - (if (!= *external-cam-mode* 'locked) - (external-cam-reset!) + (cond + ((= arg0 'reset) + (if (!= *external-cam-mode* 'locked) + (external-cam-reset!) + ) + ) + ((= arg0 'allow-z) + (set! *external-cam-options* (logxor *external-cam-options* 1)) + ) + ((= *external-cam-mode* arg0) + (set! *external-cam-mode* #f) + ) + (else + (if (not *external-cam-mode*) + (external-cam-reset!) + ) + (set! *external-cam-mode* arg0) + ) ) - ) - ((= arg0 'allow-z) - (set! *external-cam-options* (logxor *external-cam-options* 1)) - ) - ((= *external-cam-mode* arg0) - (set! *external-cam-mode* #f) - ) - (else - (if (not *external-cam-mode*) - (external-cam-reset!) - ) - (set! *external-cam-mode* arg0) - ) ) - ) (if (= arg0 'allow-z) - (logtest? *external-cam-options* 1) - (= *external-cam-mode* arg0) - ) + (logtest? *external-cam-options* 1) + (= *external-cam-mode* arg0) + ) ) ;; definition for function dm-cam-render-float (defun dm-cam-render-float ((arg0 int) (arg1 int) (arg2 float) (arg3 float)) (with-pp - (when (= arg1 4) - (cond - ((zero? (/ arg0 8)) - (when *math-camera* - (set! (-> *math-camera* fov) (* 182.04445 arg2)) - (update-math-camera - *math-camera* - (-> *setting-control* current video-mode) - (-> *setting-control* current aspect-ratio) - ) - ) - ) - ((= (/ arg0 8) 1) - (if *camera* - (send-event *camera* 'set-fov (* 182.04445 arg2)) - ) - ) - ) - ) - (cond - ((zero? (/ arg0 8)) - (cond - (*math-camera* - (* 0.005493164 (-> *math-camera* fov)) - ) - (else - (empty) - arg3 - ) - ) - ) - ((= (/ arg0 8) 1) - (cond - (*camera* - (let ((f30-0 0.005493164) - (a1-3 (new 'stack-no-clear 'event-message-block)) + (when (= arg1 4) + (cond + ((zero? (/ arg0 8)) + (when *math-camera* + (set! (-> *math-camera* fov) (* 182.04445 arg2)) + (update-math-camera + *math-camera* + (-> *setting-control* current video-mode) + (-> *setting-control* current aspect-ratio) ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'query-fov) - (* f30-0 (the-as float (send-event-function *camera* a1-3))) + ) + ) + ((= (/ arg0 8) 1) + (if *camera* + (send-event *camera* 'set-fov (* 182.04445 arg2)) + ) + ) ) + ) + (cond + ((zero? (/ arg0 8)) + (cond + (*math-camera* + (* 0.005493164 (-> *math-camera* fov)) + ) + (else + (empty) + arg3 + ) + ) + ) + ((= (/ arg0 8) 1) + (cond + (*camera* + (let ((f30-0 0.005493164) + (a1-3 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 0) + (set! (-> a1-3 message) 'query-fov) + (* f30-0 (the-as float (send-event-function *camera* a1-3))) + ) + ) + (else + (empty) + arg3 + ) + ) ) (else - (empty) - arg3 - ) + (empty) + arg3 + ) ) - ) - (else - (empty) - arg3 - ) ) - ) ) ;; definition for function dm-subdiv-float (defun dm-subdiv-float ((arg0 symbol) (arg1 int) (arg2 float) (arg3 float)) (when (= arg1 4) - (case arg0 - (('close) - (if (and *math-camera* *subdivide-settings*) - (set! (-> *subdivide-settings* close 3) (* 4096.0 arg2)) + (case arg0 + (('close) + (if (and *math-camera* *subdivide-settings*) + (set! (-> *subdivide-settings* close 3) (* 4096.0 arg2)) + ) + ) + (('far) + (if (and *math-camera* *subdivide-settings*) + (set! (-> *subdivide-settings* far 3) (* 4096.0 arg2)) + ) ) ) + ) + (case arg0 + (('close) + (if (and *math-camera* *subdivide-settings*) + (* 0.00024414062 (-> *subdivide-settings* close 3)) + arg3 + ) + ) (('far) (if (and *math-camera* *subdivide-settings*) - (set! (-> *subdivide-settings* far 3) (* 4096.0 arg2)) - ) + (* 0.00024414062 (-> *subdivide-settings* far 3)) + arg3 + ) ) - ) - ) - (case arg0 - (('close) - (if (and *math-camera* *subdivide-settings*) - (* 0.00024414062 (-> *subdivide-settings* close 3)) + (else arg3 ) - ) - (('far) - (if (and *math-camera* *subdivide-settings*) - (* 0.00024414062 (-> *subdivide-settings* far 3)) - arg3 - ) ) - (else - arg3 - ) - ) ) ;; definition for function dm-subdiv-int (defun dm-subdiv-int ((arg0 function) (arg1 int) (arg2 object) (arg3 object)) (when (= arg1 4) - (case arg0 - (('anim-speed) - (if *anim-tester* - (set! (-> *anim-tester* 0 speed) (the-as int arg2)) + (case arg0 + (('anim-speed) + (if *anim-tester* + (set! (-> *anim-tester* 0 speed) (the-as int arg2)) + ) ) ) ) - ) - (case arg0 - (('anim-speed) + (case arg0 + (('anim-speed) (if *anim-tester* - (-> *anim-tester* 0 speed) + (-> *anim-tester* 0 speed) + arg3 + ) + ) + (else arg3 ) - ) - (else - arg3 ) - ) ) ;; definition for function dm-setting-language (defun dm-setting-language ((arg0 function) (arg1 int)) (if (= arg1 4) - (set! - (-> *setting-control* default language) - (the-as language-enum (/ (the-as int arg0) 8)) - ) - ) + (set! (-> *setting-control* default language) (the-as language-enum (/ (the-as int arg0) 8))) + ) (= (-> *setting-control* default language) (/ (the-as int arg0) 8)) ) @@ -312,93 +307,87 @@ ;; INFO: Return type mismatch symbol vs object. (defun dm-current-continue ((arg0 function) (arg1 int)) (if (= arg1 4) - (start 'play (get-continue-by-name *game-info* (the-as string arg0))) - ) - (the-as - object - (string= - (-> (get-or-create-continue! *game-info*) name) - (the-as string arg0) - ) - ) + (start 'play (get-continue-by-name *game-info* (the-as string arg0))) + ) + (the-as object (string= (-> (get-or-create-continue! *game-info*) name) (the-as string arg0))) ) ;; definition for function dm-subdiv-draw-func (defun dm-subdiv-draw-func ((arg0 int) (arg1 int)) (if (= arg1 4) - (set! *subdivide-draw-mode* (/ arg0 8)) - ) + (set! *subdivide-draw-mode* (/ arg0 8)) + ) (= (/ arg0 8) *subdivide-draw-mode*) ) ;; definition for function dm-ocean-subdiv-draw-func (defun dm-ocean-subdiv-draw-func ((arg0 int) (arg1 int)) (if (= arg1 4) - (set! *ocean-subdivide-draw-mode* (/ arg0 8)) - ) + (set! *ocean-subdivide-draw-mode* (/ arg0 8)) + ) (= (/ arg0 8) *ocean-subdivide-draw-mode*) ) ;; definition for function dm-time-of-day-func (defun dm-time-of-day-func ((arg0 int) (arg1 int)) (when (= arg1 4) - (set! *time-of-day-mode* (/ arg0 8)) - (set! (-> *time-of-day-proc* 0 minute) 0) - (cond - ((zero? (/ arg0 8)) - (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) - (set! (-> *time-of-day-proc* 0 hour) 7) - ) - ((= (/ arg0 8) 1) - (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) - (set! (-> *time-of-day-proc* 0 hour) 9) - ) - ((= (/ arg0 8) 2) - (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) - (set! (-> *time-of-day-proc* 0 hour) 12) - ) - ((= (/ arg0 8) 3) - (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) - (set! (-> *time-of-day-proc* 0 hour) 15) - ) - ((= (/ arg0 8) 4) - (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) - (set! (-> *time-of-day-proc* 0 hour) 18) - ) - ((= (/ arg0 8) 5) - (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) - (set! (-> *time-of-day-proc* 0 hour) 19) - ) - ((= (/ arg0 8) 6) - (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) - (set! (-> *time-of-day-proc* 0 hour) 23) - ) - ((= (/ arg0 8) 7) - (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) - (set! (-> *time-of-day-proc* 0 hour) 4) - ) - ((= (/ arg0 8) 8) - (if *time-of-day-fast* - (set! (-> *time-of-day-proc* 0 time-ratio) 18000.0) - (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) + (set! *time-of-day-mode* (/ arg0 8)) + (set! (-> *time-of-day-proc* 0 minute) 0) + (cond + ((zero? (/ arg0 8)) + (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) + (set! (-> *time-of-day-proc* 0 hour) 7) + ) + ((= (/ arg0 8) 1) + (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) + (set! (-> *time-of-day-proc* 0 hour) 9) + ) + ((= (/ arg0 8) 2) + (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) + (set! (-> *time-of-day-proc* 0 hour) 12) + ) + ((= (/ arg0 8) 3) + (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) + (set! (-> *time-of-day-proc* 0 hour) 15) + ) + ((= (/ arg0 8) 4) + (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) + (set! (-> *time-of-day-proc* 0 hour) 18) + ) + ((= (/ arg0 8) 5) + (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) + (set! (-> *time-of-day-proc* 0 hour) 19) + ) + ((= (/ arg0 8) 6) + (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) + (set! (-> *time-of-day-proc* 0 hour) 23) + ) + ((= (/ arg0 8) 7) + (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) + (set! (-> *time-of-day-proc* 0 hour) 4) + ) + ((= (/ arg0 8) 8) + (if *time-of-day-fast* + (set! (-> *time-of-day-proc* 0 time-ratio) 18000.0) + (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) + ) + ) ) - ) ) - ) (= (/ arg0 8) *time-of-day-mode*) ) ;; definition for function dm-time-of-day-func2 (defun dm-time-of-day-func2 ((arg0 (pointer symbol)) (arg1 int)) (when (= arg1 4) - (set! (-> arg0 0) (not (-> arg0 0))) - (when (!= (-> *time-of-day-proc* 0 time-ratio) 0.0) - (if *time-of-day-fast* - (set! (-> *time-of-day-proc* 0 time-ratio) 18000.0) - (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) - ) + (set! (-> arg0 0) (not (-> arg0 0))) + (when (!= (-> *time-of-day-proc* 0 time-ratio) 0.0) + (if *time-of-day-fast* + (set! (-> *time-of-day-proc* 0 time-ratio) 18000.0) + (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) + ) + ) ) - ) (-> arg0 0) ) @@ -406,8 +395,8 @@ ;; INFO: Return type mismatch symbol vs object. (defun dm-boolean-toggle-pick-func ((arg0 (pointer symbol)) (arg1 int)) (if (= arg1 4) - (set! (-> arg0 0) (not (-> arg0 0))) - ) + (set! (-> arg0 0) (not (-> arg0 0))) + ) (the-as object (-> arg0 0)) ) @@ -421,8 +410,8 @@ ;; definition for function dm-actor-marks-pick-func (defun dm-actor-marks-pick-func ((arg0 symbol) (arg1 int)) (if (= arg1 4) - (set! *display-actor-marks* arg0) - ) + (set! *display-actor-marks* arg0) + ) (= *display-actor-marks* arg0) ) @@ -430,124 +419,111 @@ ;; INFO: Return type mismatch symbol vs object. (defun dm-compact-actor-pick-func ((arg0 int) (arg1 int)) (if (= arg1 4) - (set! *compact-actors* (the-as symbol arg0)) - ) + (set! *compact-actors* (the-as symbol arg0)) + ) (the-as object (= *compact-actors* arg0)) ) ;; definition for function dm-actor-vis-pick-func (defun dm-actor-vis-pick-func ((arg0 symbol) (arg1 int)) (if (= arg1 4) - (set! *display-actor-vis* arg0) - ) + (set! *display-actor-vis* arg0) + ) (= *display-actor-vis* arg0) ) ;; definition for function dm-game-mode-pick-func (defun dm-game-mode-pick-func ((arg0 symbol) (arg1 int)) (if (= arg1 4) - (set! (-> *game-info* mode) arg0) - ) + (set! (-> *game-info* mode) arg0) + ) (= (-> *game-info* mode) arg0) ) ;; definition for function dm-vu1-user-toggle-pick-func (defun dm-vu1-user-toggle-pick-func ((arg0 int) (arg1 int)) (if (= arg1 4) - (set! - *vu1-enable-user-menu* - (logxor *vu1-enable-user-menu* (the-as uint arg0)) - ) - ) + (set! *vu1-enable-user-menu* (logxor *vu1-enable-user-menu* (the-as uint arg0))) + ) (logtest? *vu1-enable-user-menu* arg0) ) ;; definition for function dm-vu1-user-set-pick-func (defun dm-vu1-user-set-pick-func ((arg0 int) (arg1 int)) (if (= arg1 4) - (set! *vu1-enable-user-menu* (the-as vu1-renderer-mask arg0)) - ) + (set! *vu1-enable-user-menu* (the-as vu1-renderer-mask arg0)) + ) (= *vu1-enable-user-menu* arg0) ) ;; definition for function dm-texture-user-toggle-pick-func (defun dm-texture-user-toggle-pick-func ((arg0 int) (arg1 int)) (if (= arg1 4) - (set! *texture-enable-user-menu* (logxor *texture-enable-user-menu* arg0)) - ) + (set! *texture-enable-user-menu* (logxor *texture-enable-user-menu* arg0)) + ) (logtest? *texture-enable-user-menu* arg0) ) ;; definition for function dm-texture-user-set-pick-func (defun dm-texture-user-set-pick-func ((arg0 int) (arg1 int)) (if (= arg1 4) - (set! *texture-enable-user-menu* arg0) - ) + (set! *texture-enable-user-menu* arg0) + ) (= *texture-enable-user-menu* arg0) ) ;; definition for function dm-strip-lines-toggle-pick-func (defun dm-strip-lines-toggle-pick-func ((arg0 int) (arg1 int)) (if (= arg1 4) - (set! *display-strip-lines* (logxor *display-strip-lines* (/ arg0 8))) - ) + (set! *display-strip-lines* (logxor *display-strip-lines* (/ arg0 8))) + ) (logtest? *display-strip-lines* (/ arg0 8)) ) ;; definition for function dm-strip-lines-set-pick-func (defun dm-strip-lines-set-pick-func ((arg0 int) (arg1 int)) (if (= arg1 4) - (set! *display-strip-lines* (/ arg0 8)) - ) + (set! *display-strip-lines* (/ arg0 8)) + ) (= *display-strip-lines* (/ arg0 8)) ) ;; definition for function dm-edit-instance-toggle-pick-func (defun dm-edit-instance-toggle-pick-func ((arg0 int) (arg1 int)) (let ((v1-0 (find-instance-by-name *edit-instance*))) - (when v1-0 - (if (= arg1 4) - (set! (-> v1-0 flags) (logxor (-> v1-0 flags) (the-as uint arg0))) - ) - (logtest? (-> v1-0 flags) arg0) + (when v1-0 + (if (= arg1 4) + (set! (-> v1-0 flags) (logxor (-> v1-0 flags) (the-as uint arg0))) + ) + (logtest? (-> v1-0 flags) arg0) + ) ) - ) ) ;; definition for function all-texture-tweak-adjust ;; INFO: Return type mismatch int vs object. (defun all-texture-tweak-adjust ((arg0 texture-page-dir) (arg1 float)) (dotimes (s4-0 (-> arg0 length)) - (let ((s3-0 (-> arg0 entries s4-0 page))) - (dotimes (s2-0 (min (-> s3-0 length) (-> arg0 entries s4-0 length))) - (when (-> arg0 entries s4-0 link) - (let ((v1-12 (+ (the-as uint (-> arg0 entries s4-0 link)) (* s2-0 4))) - (s1-0 (-> arg0 entries s4-0 page data s2-0)) + (let ((s3-0 (-> arg0 entries s4-0 page))) + (dotimes (s2-0 (min (-> s3-0 length) (-> arg0 entries s4-0 length))) + (when (-> arg0 entries s4-0 link) + (let ((v1-12 (+ (the-as uint (-> arg0 entries s4-0 link)) (* s2-0 4))) + (s1-0 (-> arg0 entries s4-0 page data s2-0)) + ) + (+! (-> s1-0 uv-dist) arg1) + (+ v1-12 0) + (let ((s0-0 (the-as object (* (-> (dynamic-array-field-access v1-12 next PLACEHOLDER) shader) 16)))) + (while (nonzero? (the-as uint s0-0)) + (adgif-shader-update! (the-as adgif-shader s0-0) s1-0) + (+ (the-as uint s0-0) 40) + (set! s0-0 (* (-> (the-as adgif-shader s0-0) next shader) 16)) + ) + ) ) - (+! (-> s1-0 uv-dist) arg1) - (+ v1-12 0) - (let - ((s0-0 - (the-as - object - (* - (-> (dynamic-array-field-access v1-12 next PLACEHOLDER) shader) - 16 - ) - ) ) - ) - (while (nonzero? (the-as uint s0-0)) - (adgif-shader-update! (the-as adgif-shader s0-0) s1-0) - (+ (the-as uint s0-0) 40) - (set! s0-0 (* (-> (the-as adgif-shader s0-0) next shader) 16)) - ) ) - ) ) - ) ) - ) (the-as object 0) ) @@ -559,18 +535,15 @@ ;; definition for function dm-shader-pick-func ;; INFO: Return type mismatch symbol vs object. (defun dm-shader-pick-func ((arg0 texture-id) (arg1 int)) - (if - (and - (= arg1 4) - *texture-page-dir* - (-> *texture-page-dir* entries (-> arg0 page) page) - (-> *texture-page-dir* entries (-> arg0 page) link) - (nonzero? - (-> *texture-page-dir* entries (-> arg0 page) link next (-> arg0 index)) - ) - ) - (set! *edit-shader* (the-as int arg0)) - ) + (if (and + (= arg1 4) + *texture-page-dir* + (-> *texture-page-dir* entries (-> arg0 page) page) + (-> *texture-page-dir* entries (-> arg0 page) link) + (nonzero? (-> *texture-page-dir* entries (-> arg0 page) link next (-> arg0 index))) + ) + (set! *edit-shader* (the-as int arg0)) + ) (the-as object (and (nonzero? *edit-shader*) (= arg0 *edit-shader*))) ) @@ -581,64 +554,62 @@ (defun build-shader-list () (debug-menu-remove-all-items *shader-pick-menu*) (when *texture-page-dir* - (dotimes (gp-0 (-> *texture-page-dir* length)) - (let ((s5-0 (-> *texture-page-dir* entries gp-0 page)) - (s4-0 (-> *texture-page-dir* entries gp-0 link)) - ) - (when (and s5-0 s4-0) - (dotimes (s3-0 (-> s5-0 length)) - (when (and (-> s5-0 data s3-0) (nonzero? (-> s4-0 next s3-0))) - (let - ((a1-1 - (new - 'debug - 'debug-menu-item-flag - (-> s5-0 data s3-0 name) - (logior (shr (shl s3-0 52) 44) (shr (shl gp-0 52) 32)) - (the-as (function int debug-menu-msg object) dm-shader-pick-func) + (dotimes (gp-0 (-> *texture-page-dir* length)) + (let ((s5-0 (-> *texture-page-dir* entries gp-0 page)) + (s4-0 (-> *texture-page-dir* entries gp-0 link)) + ) + (when (and s5-0 s4-0) + (dotimes (s3-0 (-> s5-0 length)) + (when (and (-> s5-0 data s3-0) (nonzero? (-> s4-0 next s3-0))) + (let ((a1-1 (new + 'debug + 'debug-menu-item-flag + (-> s5-0 data s3-0 name) + (logior (shr (shl s3-0 52) 44) (shr (shl gp-0 52) 32)) + (the-as (function int debug-menu-msg object) dm-shader-pick-func) + ) + ) + ) + (debug-menu-append-item *shader-pick-menu* a1-1) + ) + ) ) - ) ) - (debug-menu-append-item *shader-pick-menu* a1-1) - ) ) - ) ) - ) ) - ) (let ((v0-3 (sort (-> *shader-pick-menu* items) debug-menu-node *shader-pick-menu* items) (the-as pair v0-3)) - v0-3 - ) + (set! (-> *shader-pick-menu* items) (the-as pair v0-3)) + v0-3 + ) ) ;; definition for function dm-instance-pick-func (defun dm-instance-pick-func ((arg0 string) (arg1 int)) (when (= arg1 4) - (if (find-instance-by-name arg0) - (set! *edit-instance* arg0) - (set! *edit-instance* #f) + (if (find-instance-by-name arg0) + (set! *edit-instance* arg0) + (set! *edit-instance* #f) + ) ) - ) (and *edit-instance* (string= arg0 *edit-instance*)) ) ;; definition for function dm-enable-instance-func (defun dm-enable-instance-func ((arg0 string) (arg1 int)) (let ((v1-0 (find-instance-by-name arg0))) - (cond - (v1-0 - (if (= arg1 4) - (set! (-> v1-0 flags) (logxor (-> v1-0 flags) 1)) + (cond + (v1-0 + (if (= arg1 4) + (set! (-> v1-0 flags) (logxor (-> v1-0 flags) 1)) + ) + (zero? (logand (-> v1-0 flags) 1)) + ) + (else + #f + ) ) - (zero? (logand (-> v1-0 flags) 1)) - ) - (else - #f - ) ) - ) ) ;; definition for symbol *instance-shrub-menu*, type debug-menu @@ -658,132 +629,93 @@ (debug-menu-remove-all-items *enable-instance-tie-menu*) (set! *display-instance-info* #f) (dotimes (gp-0 (-> *level* length)) - (let ((v1-3 (-> *level* level gp-0))) - (when (= (-> v1-3 status) 'active) - (let ((s5-0 (-> v1-3 bsp drawable-trees))) - (dotimes (s4-0 (-> s5-0 length)) - (let ((v1-7 (-> s5-0 trees s4-0))) - (case (-> v1-7 type) - ((drawable-tree-instance-shrub) - (let - ((s3-0 - (-> - (the-as drawable-tree-instance-shrub v1-7) - info - prototype-inline-array-shrub - ) - ) - ) - (dotimes (s2-0 (-> s3-0 length)) - (let - ((a1-4 - (new - 'global - 'debug-menu-item-flag - (the-as string (-> s3-0 data s2-0 name)) - (the-as int (-> s3-0 data s2-0 name)) - (the-as - (function int debug-menu-msg object) - dm-instance-pick-func - ) + (let ((v1-3 (-> *level* level gp-0))) + (when (= (-> v1-3 status) 'active) + (let ((s5-0 (-> v1-3 bsp drawable-trees))) + (dotimes (s4-0 (-> s5-0 length)) + (let ((v1-7 (-> s5-0 trees s4-0))) + (case (-> v1-7 type) + ((drawable-tree-instance-shrub) + (let ((s3-0 (-> (the-as drawable-tree-instance-shrub v1-7) info prototype-inline-array-shrub))) + (dotimes (s2-0 (-> s3-0 length)) + (let ((a1-4 + (new + 'global + 'debug-menu-item-flag + (the-as string (-> s3-0 data s2-0 name)) + (the-as int (-> s3-0 data s2-0 name)) + (the-as (function int debug-menu-msg object) dm-instance-pick-func) + ) + ) + ) + (debug-menu-append-item *instance-shrub-menu* a1-4) + ) + ) + ) + ) + ((drawable-tree-instance-tie) + (let ((s3-1 (-> (the-as drawable-tree-instance-tie v1-7) prototypes prototype-array-tie))) + (dotimes (s2-1 (-> s3-1 length)) + (let ((a1-7 + (new + 'debug + 'debug-menu-item-flag + (the-as string (-> s3-1 array-data s2-1 name)) + (the-as int (-> s3-1 array-data s2-1 name)) + (the-as (function int debug-menu-msg object) dm-instance-pick-func) + ) + ) + ) + (debug-menu-append-item *instance-tie-menu* a1-7) + ) + (let ((a1-9 + (new + 'debug + 'debug-menu-item-flag + (the-as string (-> s3-1 array-data s2-1 name)) + (the-as int (-> s3-1 array-data s2-1 name)) + (the-as (function int debug-menu-msg object) dm-enable-instance-func) + ) + ) + ) + (set! (-> a1-9 is-on) #t) + (debug-menu-append-item *enable-instance-tie-menu* a1-9) + ) + ) + ) ) ) - ) - (debug-menu-append-item *instance-shrub-menu* a1-4) ) - ) ) - ) - ((drawable-tree-instance-tie) - (let - ((s3-1 - (-> - (the-as drawable-tree-instance-tie v1-7) - prototypes - prototype-array-tie - ) - ) - ) - (dotimes (s2-1 (-> s3-1 length)) - (let - ((a1-7 - (new - 'debug - 'debug-menu-item-flag - (the-as string (-> s3-1 array-data s2-1 name)) - (the-as int (-> s3-1 array-data s2-1 name)) - (the-as - (function int debug-menu-msg object) - dm-instance-pick-func - ) - ) - ) - ) - (debug-menu-append-item *instance-tie-menu* a1-7) - ) - (let - ((a1-9 - (new - 'debug - 'debug-menu-item-flag - (the-as string (-> s3-1 array-data s2-1 name)) - (the-as int (-> s3-1 array-data s2-1 name)) - (the-as - (function int debug-menu-msg object) - dm-enable-instance-func - ) - ) - ) - ) - (set! (-> a1-9 is-on) #t) - (debug-menu-append-item *enable-instance-tie-menu* a1-9) - ) - ) - ) ) - ) ) - ) ) - ) ) - ) - (set! - (-> *instance-shrub-menu* items) - (the-as - pair - (sort - (-> *instance-shrub-menu* items) - (lambda ((arg0 debug-menu) (arg1 debug-menu)) - (string<=? (-> arg0 name) (-> arg1 name)) - ) - ) - ) - ) - (set! - (-> *instance-tie-menu* items) - (the-as - pair - (sort - (-> *instance-tie-menu* items) - (lambda ((arg0 debug-menu) (arg1 debug-menu)) - (string<=? (-> arg0 name) (-> arg1 name)) - ) - ) - ) - ) - (set! - (-> *enable-instance-tie-menu* items) - (the-as - pair - (sort - (-> *enable-instance-tie-menu* items) - (lambda ((arg0 debug-menu) (arg1 debug-menu)) - (string<=? (-> arg0 name) (-> arg1 name)) - ) - ) - ) - ) + (set! (-> *instance-shrub-menu* items) + (the-as + pair + (sort + (-> *instance-shrub-menu* items) + (lambda ((arg0 debug-menu) (arg1 debug-menu)) (string<=? (-> arg0 name) (-> arg1 name))) + ) + ) + ) + (set! (-> *instance-tie-menu* items) + (the-as + pair + (sort + (-> *instance-tie-menu* items) + (lambda ((arg0 debug-menu) (arg1 debug-menu)) (string<=? (-> arg0 name) (-> arg1 name))) + ) + ) + ) + (set! (-> *enable-instance-tie-menu* items) + (the-as pair (sort + (-> *enable-instance-tie-menu* items) + (lambda ((arg0 debug-menu) (arg1 debug-menu)) (string<=? (-> arg0 name) (-> arg1 name))) + ) + ) + ) 0 (none) ) @@ -792,177 +724,87 @@ ;; INFO: Return type mismatch object vs none. (defun debug-create-cam-restore () (cond - (*math-camera* - (format #t "(defun-debug cam-restore ()~%") - (format #t " ;;this function is a hack, don't use it as an example~%") - (format #t " (let ((pos (new 'stack 'vector))~%") - (format #t " (rot (new 'stack 'matrix)))~%") - (format #t " (set! (-> pos x) ~12F)~%" (-> *math-camera* trans x)) - (format #t " (set! (-> pos y) ~12F)~%" (-> *math-camera* trans y)) - (format #t " (set! (-> pos z) ~12F)~%" (-> *math-camera* trans z)) - (format #t " (set! (-> pos w) 1.0)~%") - (format - #t - " (set! (-> rot data 0) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 0 x) - ) - (format - #t - " (set! (-> rot data 1) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 0 y) - ) - (format - #t - " (set! (-> rot data 2) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 0 z) - ) - (format - #t - " (set! (-> rot data 3) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 0 w) - ) - (format - #t - " (set! (-> rot data 4) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 1 x) - ) - (format - #t - " (set! (-> rot data 5) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 1 y) - ) - (format - #t - " (set! (-> rot data 6) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 1 z) - ) - (format - #t - " (set! (-> rot data 7) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 1 w) - ) - (format - #t - " (set! (-> rot data 8) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 2 x) - ) - (format - #t - " (set! (-> rot data 9) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 2 y) - ) - (format - #t - " (set! (-> rot data 10) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 2 z) - ) - (format - #t - " (set! (-> rot data 11) ~12F)~%" - (-> *math-camera* inv-camera-rot vector 2 w) - ) - (format #t " (set! (-> rot data 12) ~12F)~%" 0.0) - (format #t " (set! (-> rot data 13) ~12F)~%" 0.0) - (format #t " (set! (-> rot data 14) ~12F)~%" 0.0) - (format #t " (set! (-> rot data 15) ~12F)~%" 1.0) - (let ((gp-0 (new 'stack-no-clear 'euler-angles))) - (matrix->eul gp-0 (-> *math-camera* inv-camera-rot) 21) - (format - #t - " ;; euler angles (xyz order degrees) x ~R y ~R z ~R~%" - (-> gp-0 x) - (-> gp-0 y) - (-> gp-0 z) - ) - (format - #t - " ;; MAYA euler angles (xyz order degrees) x ~R y ~R z ~R~%" - (-> gp-0 x) - (- 32768.0 (-> gp-0 y)) - (-> gp-0 z) - ) - ) - (format #t " (debug-set-camera-pos-rot! pos rot)~%") - (format - #t - " (send-event *camera* 'set-fov (deg ~f))~%" - (* 0.005493164 (-> *math-camera* fov)) - ) - (format #t " (clear *camera-old-level*)~%") - (format - #t - " (format *camera-old-level* \"~A\")~%" - (-> *level* level0 name) - ) - (let ((t9-31 format) - (a0-31 #t) - (a1-31 " (set! *camera-old-cpu* ~D)~%") - (v1-29 - (-> *display* frames (-> *display* last-screen) frame profile-bar 0) - ) + (*math-camera* + (format #t "(defun-debug cam-restore ()~%") + (format #t " ;;this function is a hack, don't use it as an example~%") + (format #t " (let ((pos (new 'stack 'vector))~%") + (format #t " (rot (new 'stack 'matrix)))~%") + (format #t " (set! (-> pos x) ~12F)~%" (-> *math-camera* trans x)) + (format #t " (set! (-> pos y) ~12F)~%" (-> *math-camera* trans y)) + (format #t " (set! (-> pos z) ~12F)~%" (-> *math-camera* trans z)) + (format #t " (set! (-> pos w) 1.0)~%") + (format #t " (set! (-> rot data 0) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 x)) + (format #t " (set! (-> rot data 1) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 y)) + (format #t " (set! (-> rot data 2) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 z)) + (format #t " (set! (-> rot data 3) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 w)) + (format #t " (set! (-> rot data 4) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 x)) + (format #t " (set! (-> rot data 5) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 y)) + (format #t " (set! (-> rot data 6) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 z)) + (format #t " (set! (-> rot data 7) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 w)) + (format #t " (set! (-> rot data 8) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 x)) + (format #t " (set! (-> rot data 9) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 y)) + (format #t " (set! (-> rot data 10) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 z)) + (format #t " (set! (-> rot data 11) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 w)) + (format #t " (set! (-> rot data 12) ~12F)~%" 0.0) + (format #t " (set! (-> rot data 13) ~12F)~%" 0.0) + (format #t " (set! (-> rot data 14) ~12F)~%" 0.0) + (format #t " (set! (-> rot data 15) ~12F)~%" 1.0) + (let ((gp-0 (new 'stack-no-clear 'euler-angles))) + (matrix->eul gp-0 (-> *math-camera* inv-camera-rot) 21) + (format #t " ;; euler angles (xyz order degrees) x ~R y ~R z ~R~%" (-> gp-0 x) (-> gp-0 y) (-> gp-0 z)) + (format + #t + " ;; MAYA euler angles (xyz order degrees) x ~R y ~R z ~R~%" + (-> gp-0 x) + (- 32768.0 (-> gp-0 y)) + (-> gp-0 z) ) - (t9-31 - a0-31 - a1-31 - (-> v1-29 data (+ (-> v1-29 profile-frame-count) -2) time-stamp) + ) + (format #t " (debug-set-camera-pos-rot! pos rot)~%") + (format #t " (send-event *camera* 'set-fov (deg ~f))~%" (* 0.005493164 (-> *math-camera* fov))) + (format #t " (clear *camera-old-level*)~%") + (format #t " (format *camera-old-level* \"~A\")~%" (-> *level* level0 name)) + (let ((t9-31 format) + (a0-31 #t) + (a1-31 " (set! *camera-old-cpu* ~D)~%") + (v1-29 (-> *display* frames (-> *display* last-screen) frame profile-bar 0)) + ) + (t9-31 a0-31 a1-31 (-> v1-29 data (+ (-> v1-29 profile-frame-count) -2) time-stamp)) + ) + (let ((t9-32 format) + (a0-32 #t) + (a1-32 " (set! *camera-old-vu* ~D)~%") + (v1-34 (-> *display* frames (-> *display* last-screen) frame profile-bar 1)) + ) + (t9-32 a0-32 a1-32 (-> v1-34 data (+ (-> v1-34 profile-frame-count) -2) time-stamp)) + ) + (compute-memory-usage (-> *level* level0) #f) + (format #t " (set! *camera-old-tfrag-bytes* ~D)~%" (+ (-> *level* level0 mem-usage-block data 1 total) + (-> *level* level0 mem-usage-block data 2 total) + (-> *level* level0 mem-usage-block data 3 total) + (-> *level* level0 mem-usage-block data 4 total) + (-> *level* level0 mem-usage-block data 5 total) + (-> *level* level0 mem-usage-block data 6 total) + (-> *level* level0 mem-usage-block data 7 total) + (-> *level* level0 mem-usage-block data 8 total) + ) + ) + (format #t " (clear *camera-old-stat-string-tfrag*)~%") + (format #t " (clear *camera-old-stat-string-tfrag-near*)~%") + (format #t " (clear *camera-old-stat-string-total*)~%") + (when *stats-poly* + (format #t " (format *camera-old-stat-string-tfrag* \"~S\")~%" *stat-string-tfrag*) + (format #t " (format *camera-old-stat-string-tfrag-near* \"~S\")~%" *stat-string-tfrag-near*) + (format #t " (format *camera-old-stat-string-total* \"~S\")~%" *stat-string-total*) + ) + (format #t " (set! *display-camera-old-stats* #t)~%") + (format #t " )~%") + (format #t " )~%") ) - ) - (let ((t9-32 format) - (a0-32 #t) - (a1-32 " (set! *camera-old-vu* ~D)~%") - (v1-34 - (-> *display* frames (-> *display* last-screen) frame profile-bar 1) - ) - ) - (t9-32 - a0-32 - a1-32 - (-> v1-34 data (+ (-> v1-34 profile-frame-count) -2) time-stamp) + (else + (format #t "camera save failed~%") ) - ) - (compute-memory-usage (-> *level* level0) #f) - (format - #t - " (set! *camera-old-tfrag-bytes* ~D)~%" - (+ - (-> *level* level0 mem-usage-block data 1 total) - (-> *level* level0 mem-usage-block data 2 total) - (-> *level* level0 mem-usage-block data 3 total) - (-> *level* level0 mem-usage-block data 4 total) - (-> *level* level0 mem-usage-block data 5 total) - (-> *level* level0 mem-usage-block data 6 total) - (-> *level* level0 mem-usage-block data 7 total) - (-> *level* level0 mem-usage-block data 8 total) - ) - ) - (format #t " (clear *camera-old-stat-string-tfrag*)~%") - (format #t " (clear *camera-old-stat-string-tfrag-near*)~%") - (format #t " (clear *camera-old-stat-string-total*)~%") - (when *stats-poly* - (format - #t - " (format *camera-old-stat-string-tfrag* \"~S\")~%" - *stat-string-tfrag* - ) - (format - #t - " (format *camera-old-stat-string-tfrag-near* \"~S\")~%" - *stat-string-tfrag-near* - ) - (format - #t - " (format *camera-old-stat-string-total* \"~S\")~%" - *stat-string-total* - ) - ) - (format #t " (set! *display-camera-old-stats* #t)~%") - (format #t " )~%") - (format #t " )~%") ) - (else - (format #t "camera save failed~%") - ) - ) (none) ) @@ -970,271 +812,224 @@ ;; INFO: Return type mismatch debug-menu-item vs object. (defun debug-menu-make-camera-mode-menu ((arg0 int) (arg1 int)) (new 'debug 'debug-menu-item-submenu "Camera" (the-as debug-menu arg0)) - (let - ((a1-3 (new 'debug 'debug-menu-item-submenu "Mode" (the-as debug-menu arg1))) + (let ((a1-3 (new 'debug 'debug-menu-item-submenu "Mode" (the-as debug-menu arg1)))) + (debug-menu-append-item (the-as debug-menu arg0) a1-3) ) - (debug-menu-append-item (the-as debug-menu arg0) a1-3) - ) - (let - ((a1-5 - (new - 'debug - 'debug-menu-item-flag - "Off" - (the-as int #f) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-5 (new + 'debug + 'debug-menu-item-flag + "Off" + (the-as int #f) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-5) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-5) - ) - (let - ((a1-7 - (new - 'debug - 'debug-menu-item-flag - "Free-floating" - (the-as int cam-free-floating) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-7 (new + 'debug + 'debug-menu-item-flag + "Free-floating" + (the-as int cam-free-floating) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-7) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-7) - ) - (let - ((a1-9 - (new - 'debug - 'debug-menu-item-flag - "Fixed" - (the-as int cam-fixed) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-9 (new + 'debug + 'debug-menu-item-flag + "Fixed" + (the-as int cam-fixed) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-9) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-9) - ) - (let - ((a1-11 - (new - 'debug - 'debug-menu-item-flag - "Pov" - (the-as int cam-pov) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-11 (new + 'debug + 'debug-menu-item-flag + "Pov" + (the-as int cam-pov) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-11) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-11) - ) - (let - ((a1-13 - (new - 'debug - 'debug-menu-item-flag - "Pov180" - (the-as int cam-pov180) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-13 (new + 'debug + 'debug-menu-item-flag + "Pov180" + (the-as int cam-pov180) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-13) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-13) - ) - (let - ((a1-15 - (new - 'debug - 'debug-menu-item-flag - "Billy" - (the-as int cam-billy) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-15 (new + 'debug + 'debug-menu-item-flag + "Billy" + (the-as int cam-billy) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-15) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-15) - ) - (let - ((a1-17 - (new - 'debug - 'debug-menu-item-flag - "Pov-track" - (the-as int cam-pov-track) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-17 (new + 'debug + 'debug-menu-item-flag + "Pov-track" + (the-as int cam-pov-track) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-17) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-17) - ) - (let - ((a1-19 - (new - 'debug - 'debug-menu-item-flag - "Decel" - (the-as int cam-decel) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-19 (new + 'debug + 'debug-menu-item-flag + "Decel" + (the-as int cam-decel) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-19) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-19) - ) - (let - ((a1-21 - (new - 'debug - 'debug-menu-item-flag - "Endless fall" - (the-as int cam-endlessfall) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-21 (new + 'debug + 'debug-menu-item-flag + "Endless fall" + (the-as int cam-endlessfall) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-21) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-21) - ) - (let - ((a1-23 - (new - 'debug - 'debug-menu-item-flag - "Eye" - (the-as int cam-eye) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-23 (new + 'debug + 'debug-menu-item-flag + "Eye" + (the-as int cam-eye) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-23) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-23) - ) - (let - ((a1-25 - (new - 'debug - 'debug-menu-item-flag - "Stick" - (the-as int cam-stick) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-25 (new + 'debug + 'debug-menu-item-flag + "Stick" + (the-as int cam-stick) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-25) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-25) - ) - (let - ((a1-27 - (new - 'debug - 'debug-menu-item-flag - "String" - (the-as int cam-string) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-27 (new + 'debug + 'debug-menu-item-flag + "String" + (the-as int cam-string) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-27) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-27) - ) - (let - ((a1-29 - (new - 'debug - 'debug-menu-item-flag - "Standoff" - (the-as int cam-standoff) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-29 (new + 'debug + 'debug-menu-item-flag + "Standoff" + (the-as int cam-standoff) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-29) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-29) - ) - (let - ((a1-31 - (new - 'debug - 'debug-menu-item-flag - "Circular" - (the-as int cam-circular) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-31 (new + 'debug + 'debug-menu-item-flag + "Circular" + (the-as int cam-circular) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-31) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-31) - ) - (let - ((a1-33 - (new - 'debug - 'debug-menu-item-flag - "Look At" - (the-as int cam-lookat) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-33 (new + 'debug + 'debug-menu-item-flag + "Look At" + (the-as int cam-lookat) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-33) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-33) - ) - (let - ((a1-35 - (new - 'debug - 'debug-menu-item-flag - "Center of world" - (the-as int cam-point-watch) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-35 (new + 'debug + 'debug-menu-item-flag + "Center of world" + (the-as int cam-point-watch) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-35) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-35) - ) - (let - ((a1-37 - (new - 'debug - 'debug-menu-item-flag - "Spline" - (the-as int cam-spline) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-37 (new + 'debug + 'debug-menu-item-flag + "Spline" + (the-as int cam-spline) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-37) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-37) - ) - (let - ((a1-39 - (new - 'debug - 'debug-menu-item-flag - "Bike" - (the-as int cam-bike) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-39 (new + 'debug + 'debug-menu-item-flag + "Bike" + (the-as int cam-bike) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-39) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-39) - ) - (let - ((a1-41 - (new - 'debug - 'debug-menu-item-flag - "Robotboss" - (the-as int cam-robotboss) - (the-as (function int debug-menu-msg object) dm-cam-mode-func) - ) - ) + (let ((a1-41 (new + 'debug + 'debug-menu-item-flag + "Robotboss" + (the-as int cam-robotboss) + (the-as (function int debug-menu-msg object) dm-cam-mode-func) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg1) a1-41) ) - (debug-menu-append-item (the-as debug-menu arg1) a1-41) - ) - (let - ((a1-43 - (new - 'debug - 'debug-menu-item-function - "Reset Free" - 6 - (the-as (function int object) dm-cam-settings-func) - ) - ) + (let ((a1-43 + (new 'debug 'debug-menu-item-function "Reset Free" 6 (the-as (function int object) dm-cam-settings-func)) + ) + ) + (the-as object (debug-menu-append-item (the-as debug-menu arg1) a1-43)) ) - (the-as object (debug-menu-append-item (the-as debug-menu arg1) a1-43)) - ) ) ;; definition for function debug-menu-make-camera-menu @@ -1242,580 +1037,452 @@ (let* ((gp-0 (new 'debug 'debug-menu arg0 "Camera menu")) (s5-0 (new 'debug 'debug-menu-item-submenu "Camera" gp-0)) ) - (let ((a1-3 (new 'debug 'debug-menu arg0 "Camera mode menu"))) - (debug-menu-make-camera-mode-menu (the-as int gp-0) (the-as int a1-3)) - ) - (let ((s3-0 (new 'debug 'debug-menu arg0 "Camera externalize menu"))) - (let ((a1-6 (new 'debug 'debug-menu-item-submenu "External" s3-0))) - (debug-menu-append-item gp-0 a1-6) - ) - (let - ((a1-8 - (new - 'debug - 'debug-menu-item-flag - "CPad 0" - (the-as int 'pad-0) - (the-as (function int debug-menu-msg object) dm-cam-externalize) + (let ((a1-3 (new 'debug 'debug-menu arg0 "Camera mode menu"))) + (debug-menu-make-camera-mode-menu (the-as int gp-0) (the-as int a1-3)) + ) + (let ((s3-0 (new 'debug 'debug-menu arg0 "Camera externalize menu"))) + (let ((a1-6 (new 'debug 'debug-menu-item-submenu "External" s3-0))) + (debug-menu-append-item gp-0 a1-6) ) - ) - ) - (debug-menu-append-item s3-0 a1-8) - ) - (let - ((a1-10 - (new - 'debug - 'debug-menu-item-flag - "CPad 1" - (the-as int 'pad-1) - (the-as (function int debug-menu-msg object) dm-cam-externalize) + (let ((a1-8 (new + 'debug + 'debug-menu-item-flag + "CPad 0" + (the-as int 'pad-0) + (the-as (function int debug-menu-msg object) dm-cam-externalize) + ) + ) + ) + (debug-menu-append-item s3-0 a1-8) ) - ) - ) - (debug-menu-append-item s3-0 a1-10) - ) - (let - ((a1-12 - (new - 'debug - 'debug-menu-item-flag - "Lock" - (the-as int 'locked) - (the-as (function int debug-menu-msg object) dm-cam-externalize) + (let ((a1-10 (new + 'debug + 'debug-menu-item-flag + "CPad 1" + (the-as int 'pad-1) + (the-as (function int debug-menu-msg object) dm-cam-externalize) + ) + ) + ) + (debug-menu-append-item s3-0 a1-10) ) - ) - ) - (debug-menu-append-item s3-0 a1-12) - ) - (let - ((a1-14 - (new - 'debug - 'debug-menu-item-flag - "Reset" - (the-as int 'reset) - (the-as (function int debug-menu-msg object) dm-cam-externalize) + (let ((a1-12 (new + 'debug + 'debug-menu-item-flag + "Lock" + (the-as int 'locked) + (the-as (function int debug-menu-msg object) dm-cam-externalize) + ) + ) + ) + (debug-menu-append-item s3-0 a1-12) ) - ) - ) - (debug-menu-append-item s3-0 a1-14) - ) - (let - ((a1-16 - (new - 'debug - 'debug-menu-item-flag - "Allow z rot" - (the-as int 'allow-z) - (the-as (function int debug-menu-msg object) dm-cam-externalize) + (let ((a1-14 (new + 'debug + 'debug-menu-item-flag + "Reset" + (the-as int 'reset) + (the-as (function int debug-menu-msg object) dm-cam-externalize) + ) + ) + ) + (debug-menu-append-item s3-0 a1-14) ) - ) - ) - (debug-menu-append-item s3-0 a1-16) - ) - (let ((s2-0 (new 'debug 'debug-menu-item-var "Fov" 0 80))) - (debug-menu-item-var-make-float - s2-0 - (the-as - (function int debug-menu-msg float float float) - dm-cam-render-float - ) - (the-as float 1.0) - #t - (the-as float 15.0) - (the-as float 180.0) - 1 - ) - (debug-menu-append-item s3-0 s2-0) - ) - ) - (let ((s3-1 (new 'debug 'debug-menu arg0 "Camera collision menu"))) - (let ((a1-22 (new 'debug 'debug-menu-item-submenu "Collision" s3-1))) - (debug-menu-append-item gp-0 a1-22) - ) - (let - ((a1-24 - (new - 'debug - 'debug-menu-item-flag - "Record" - (the-as int '*record-cam-collide-history*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) + (let ((a1-16 (new + 'debug + 'debug-menu-item-flag + "Allow z rot" + (the-as int 'allow-z) + (the-as (function int debug-menu-msg object) dm-cam-externalize) + ) + ) + ) + (debug-menu-append-item s3-0 a1-16) ) - ) - ) - (debug-menu-append-item s3-1 a1-24) - ) - (let - ((a1-26 - (new - 'debug - 'debug-menu-item-flag - "Display" - (the-as int '*display-cam-collide-history*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s3-1 a1-26) - ) - ) - (let ((s4-1 (new 'debug 'debug-menu arg0 "Camera settings menu"))) - (let ((a1-29 (new 'debug 'debug-menu-item-submenu "Settings" s4-1))) - (debug-menu-append-item gp-0 a1-29) - ) - (let - ((a1-31 - (new - 'debug - 'debug-menu-item-flag - "Butt cam" - 0 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-31) - ) - (let - ((a1-33 - (new - 'debug - 'debug-menu-item-flag - "Block shift buttons" - 13 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-33) - ) - (let - ((a1-35 - (new - 'debug - 'debug-menu-item-flag - "Same side" - 1 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-35) - ) - (let - ((a1-37 - (new - 'debug - 'debug-menu-item-flag - "Move spherical" - 2 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-37) - ) - (let - ((a1-39 - (new - 'debug - 'debug-menu-item-flag - "Drag" - 3 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-39) - ) - (let - ((a1-41 - (new - 'debug - 'debug-menu-item-flag - "Allow Z rot" - 4 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-41) - ) - (let - ((a1-43 - (new - 'debug - 'debug-menu-item-flag - "Pitch for jump" - 7 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-43) - ) - (let - ((a1-45 - (new - 'debug - 'debug-menu-item-flag - "Find hidden target" - 8 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-45) - ) - (let - ((a1-47 - (new - 'debug - 'debug-menu-item-flag - "Move along camera Z" - (the-as int '*cam-free-move-along-z*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-47) - ) - (let - ((a1-49 - (new - 'debug - 'debug-menu-item-flag - "Ignore regions" - 9 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-49) - ) - (let - ((a1-51 - (new - 'debug - 'debug-menu-item-flag - "Switch only on ground" - 10 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-51) - ) - (let - ((a1-53 - (new - 'debug - 'debug-menu-item-flag - "Collide" - 11 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-53) - ) - (let - ((a1-55 - (new - 'debug - 'debug-menu-item-flag - "Line of Sight" - 12 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-55) - ) - (let - ((a1-57 - (new - 'debug - 'debug-menu-item-flag - "No Rotate" - 14 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-57) - ) - (let - ((a1-59 - (new - 'debug - 'debug-menu-item-flag - "Sticky Angle" - 15 - (the-as (function int debug-menu-msg object) dm-cam-settings-func) - ) - ) - ) - (debug-menu-append-item s4-1 a1-59) - ) - (let ((s3-2 (new 'debug 'debug-menu-item-var "Interp Frms" 40 80))) - (debug-menu-item-var-make-int - s3-2 - (the-as - (function int debug-menu-msg int int int) - dm-cam-settings-func-int - ) - 1 - #f - 0 - 0 - #f - ) - (debug-menu-append-item s4-1 s3-2) - ) - (let ((s3-3 (new 'debug 'debug-menu-item-var "Fov" 8 80))) - (debug-menu-item-var-make-float - s3-3 - (the-as - (function int debug-menu-msg float float float) - dm-cam-render-float - ) - (the-as float 1.0) - #t - (the-as float 15.0) - (the-as float 180.0) - 1 - ) - (debug-menu-append-item s4-1 s3-3) - ) - (let - ((a1-67 - (new - 'debug - 'debug-menu-item-flag - "no mip/lod correction" - (the-as int '*camera-no-mip-correction*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-67) - ) - (let - ((a1-69 - (new - 'debug - 'debug-menu-item-flag - "last attacker" - (the-as int '*display-camera-last-attacker*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-69) - ) - (let - ((a1-71 - (new - 'debug - 'debug-menu-item-flag - "old stats" - (the-as int '*display-camera-old-stats*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-71) - ) - (let - ((a1-73 - (new - 'debug - 'debug-menu-item-flag - "xyz axes" - (the-as int '*display-xyz-axes*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-73) - ) - (let - ((a1-75 - (new - 'debug - 'debug-menu-item-flag - "Master Marks" - (the-as int '*display-cam-master-marks*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-75) - ) - (let - ((a1-77 - (new - 'debug - 'debug-menu-item-flag - "Other Marks" - (the-as int '*display-cam-other*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-77) - ) - (let - ((a1-79 - (new - 'debug - 'debug-menu-item-flag - "los debug" - (the-as int '*display-cam-los-debug*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-79) - ) - (let - ((a1-81 - (new - 'debug - 'debug-menu-item-flag - "los info" - (the-as int '*display-cam-los-info*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-81) - ) - (let - ((a1-83 - (new - 'debug - 'debug-menu-item-flag - "los Marks" - (the-as int '*display-cam-los-marks*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-83) - ) - (let - ((a1-85 - (new - 'debug - 'debug-menu-item-flag - "coll Marks" - (the-as int '*display-cam-coll-marks*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-85) - ) - (let - ((a1-87 - (new - 'debug - 'debug-menu-item-flag - "Camera Marks" - (the-as int '*display-camera-marks*) - (the-as - (function int debug-menu-msg object) - dm-boolean-toggle-pick-func - ) - ) - ) - ) - (debug-menu-append-item s4-1 a1-87) - ) - ) - (let - ((a1-89 - (new - 'debug - 'debug-menu-item-flag - "Edit" - (the-as int '*cam-layout*) - (the-as - (function int debug-menu-msg object) - (lambda ((arg0 symbol) (arg1 int)) - (when (= arg1 4) - (if (-> arg0 value) - (cam-layout-stop) - (cam-layout-start) - ) + (let ((s2-0 (new 'debug 'debug-menu-item-var "Fov" 0 80))) + (debug-menu-item-var-make-float + s2-0 + (the-as (function int debug-menu-msg float float float) dm-cam-render-float) + (the-as float 1.0) + #t + (the-as float 15.0) + (the-as float 180.0) + 1 ) - (-> arg0 value) - (none) - ) + (debug-menu-append-item s3-0 s2-0) ) - ) ) - ) - (debug-menu-append-item gp-0 a1-89) - ) - (let - ((a1-91 - (new - 'debug - 'debug-menu-item-function - "Save Pos" - (the-as int #f) - (the-as (function int object) debug-create-cam-restore) - ) + (let ((s3-1 (new 'debug 'debug-menu arg0 "Camera collision menu"))) + (let ((a1-22 (new 'debug 'debug-menu-item-submenu "Collision" s3-1))) + (debug-menu-append-item gp-0 a1-22) + ) + (let ((a1-24 (new + 'debug + 'debug-menu-item-flag + "Record" + (the-as int '*record-cam-collide-history*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s3-1 a1-24) + ) + (let ((a1-26 (new + 'debug + 'debug-menu-item-flag + "Display" + (the-as int '*display-cam-collide-history*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s3-1 a1-26) + ) ) - ) - (debug-menu-append-item gp-0 a1-91) + (let ((s4-1 (new 'debug 'debug-menu arg0 "Camera settings menu"))) + (let ((a1-29 (new 'debug 'debug-menu-item-submenu "Settings" s4-1))) + (debug-menu-append-item gp-0 a1-29) + ) + (let ((a1-31 (new + 'debug + 'debug-menu-item-flag + "Butt cam" + 0 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-31) + ) + (let ((a1-33 (new + 'debug + 'debug-menu-item-flag + "Block shift buttons" + 13 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-33) + ) + (let ((a1-35 (new + 'debug + 'debug-menu-item-flag + "Same side" + 1 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-35) + ) + (let ((a1-37 (new + 'debug + 'debug-menu-item-flag + "Move spherical" + 2 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-37) + ) + (let ((a1-39 + (new 'debug 'debug-menu-item-flag "Drag" 3 (the-as (function int debug-menu-msg object) dm-cam-settings-func)) + ) + ) + (debug-menu-append-item s4-1 a1-39) + ) + (let ((a1-41 (new + 'debug + 'debug-menu-item-flag + "Allow Z rot" + 4 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-41) + ) + (let ((a1-43 (new + 'debug + 'debug-menu-item-flag + "Pitch for jump" + 7 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-43) + ) + (let ((a1-45 (new + 'debug + 'debug-menu-item-flag + "Find hidden target" + 8 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-45) + ) + (let ((a1-47 (new + 'debug + 'debug-menu-item-flag + "Move along camera Z" + (the-as int '*cam-free-move-along-z*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-47) + ) + (let ((a1-49 (new + 'debug + 'debug-menu-item-flag + "Ignore regions" + 9 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-49) + ) + (let ((a1-51 (new + 'debug + 'debug-menu-item-flag + "Switch only on ground" + 10 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-51) + ) + (let ((a1-53 (new + 'debug + 'debug-menu-item-flag + "Collide" + 11 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-53) + ) + (let ((a1-55 (new + 'debug + 'debug-menu-item-flag + "Line of Sight" + 12 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-55) + ) + (let ((a1-57 (new + 'debug + 'debug-menu-item-flag + "No Rotate" + 14 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-57) + ) + (let ((a1-59 (new + 'debug + 'debug-menu-item-flag + "Sticky Angle" + 15 + (the-as (function int debug-menu-msg object) dm-cam-settings-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-59) + ) + (let ((s3-2 (new 'debug 'debug-menu-item-var "Interp Frms" 40 80))) + (debug-menu-item-var-make-int + s3-2 + (the-as (function int debug-menu-msg int int int) dm-cam-settings-func-int) + 1 + #f + 0 + 0 + #f + ) + (debug-menu-append-item s4-1 s3-2) + ) + (let ((s3-3 (new 'debug 'debug-menu-item-var "Fov" 8 80))) + (debug-menu-item-var-make-float + s3-3 + (the-as (function int debug-menu-msg float float float) dm-cam-render-float) + (the-as float 1.0) + #t + (the-as float 15.0) + (the-as float 180.0) + 1 + ) + (debug-menu-append-item s4-1 s3-3) + ) + (let ((a1-67 (new + 'debug + 'debug-menu-item-flag + "no mip/lod correction" + (the-as int '*camera-no-mip-correction*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-67) + ) + (let ((a1-69 (new + 'debug + 'debug-menu-item-flag + "last attacker" + (the-as int '*display-camera-last-attacker*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-69) + ) + (let ((a1-71 (new + 'debug + 'debug-menu-item-flag + "old stats" + (the-as int '*display-camera-old-stats*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-71) + ) + (let ((a1-73 (new + 'debug + 'debug-menu-item-flag + "xyz axes" + (the-as int '*display-xyz-axes*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-73) + ) + (let ((a1-75 (new + 'debug + 'debug-menu-item-flag + "Master Marks" + (the-as int '*display-cam-master-marks*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-75) + ) + (let ((a1-77 (new + 'debug + 'debug-menu-item-flag + "Other Marks" + (the-as int '*display-cam-other*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-77) + ) + (let ((a1-79 (new + 'debug + 'debug-menu-item-flag + "los debug" + (the-as int '*display-cam-los-debug*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-79) + ) + (let ((a1-81 (new + 'debug + 'debug-menu-item-flag + "los info" + (the-as int '*display-cam-los-info*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-81) + ) + (let ((a1-83 (new + 'debug + 'debug-menu-item-flag + "los Marks" + (the-as int '*display-cam-los-marks*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-83) + ) + (let ((a1-85 (new + 'debug + 'debug-menu-item-flag + "coll Marks" + (the-as int '*display-cam-coll-marks*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-85) + ) + (let ((a1-87 (new + 'debug + 'debug-menu-item-flag + "Camera Marks" + (the-as int '*display-camera-marks*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item s4-1 a1-87) + ) + ) + (let ((a1-89 (new + 'debug + 'debug-menu-item-flag + "Edit" + (the-as int '*cam-layout*) + (the-as (function int debug-menu-msg object) (lambda ((arg0 symbol) (arg1 int)) + (when (= arg1 4) + (if (-> arg0 value) + (cam-layout-stop) + (cam-layout-start) + ) + ) + (-> arg0 value) + (none) + ) + ) + ) + ) + ) + (debug-menu-append-item gp-0 a1-89) + ) + (let ((a1-91 (new + 'debug + 'debug-menu-item-function + "Save Pos" + (the-as int #f) + (the-as (function int object) debug-create-cam-restore) + ) + ) + ) + (debug-menu-append-item gp-0 a1-91) + ) + s5-0 ) - s5-0 - ) ) ;; definition for function debug-menu-make-shader-menu @@ -1823,1148 +1490,914 @@ (let* ((gp-0 (new 'debug 'debug-menu arg0 "Shader menu")) (s5-0 (new 'debug 'debug-menu-item-submenu "Shader" gp-0)) ) - (let ((a3-3 (new 'debug 'debug-menu arg0 "Shader pick menu"))) - (set! *shader-pick-menu* a3-3) - (let ((a1-4 (new 'debug 'debug-menu-item-submenu "Pick Shader" a3-3))) - (debug-menu-append-item gp-0 a1-4) - ) - ) - (let - ((a1-6 - (new - 'debug - 'debug-menu-item-function - "Refresh" - (the-as int #f) - (the-as (function int object) build-shader-list) - ) + (let ((a3-3 (new 'debug 'debug-menu arg0 "Shader pick menu"))) + (set! *shader-pick-menu* a3-3) + (let ((a1-4 (new 'debug 'debug-menu-item-submenu "Pick Shader" a3-3))) + (debug-menu-append-item gp-0 a1-4) + ) ) - ) - (debug-menu-append-item gp-0 a1-6) - ) - (let - ((s4-1 - (new 'debug 'debug-menu-item-var "tweak" (the-as int '*edit-shader*) 80) + (let ((a1-6 (new + 'debug + 'debug-menu-item-function + "Refresh" + (the-as int #f) + (the-as (function int object) build-shader-list) + ) + ) + ) + (debug-menu-append-item gp-0 a1-6) ) - ) - (debug-menu-item-var-make-float - s4-1 - (the-as - (function int debug-menu-msg float float float) - (lambda ((arg0 symbol) (arg1 int) (arg2 float) (arg3 float)) - (set! arg3 (cond - (*texture-page-dir* - (let* ((s4-0 (the-as texture-id (-> arg0 value))) - (gp-0 - (lookup-texture-by-id (the-as texture-id s4-0)) - ) - (v1-3 - (-> *texture-page-dir* entries (-> s4-0 page) link) - ) + (let ((s4-1 (new 'debug 'debug-menu-item-var "tweak" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-float + s4-1 + (the-as + (function int debug-menu-msg float float float) + (lambda ((arg0 symbol) (arg1 int) (arg2 float) (arg3 float)) + (set! arg3 (cond + (*texture-page-dir* + (let* ((s4-0 (the-as texture-id (-> arg0 value))) + (gp-0 (lookup-texture-by-id (the-as texture-id s4-0))) + (v1-3 (-> *texture-page-dir* entries (-> s4-0 page) link)) + ) + (cond + ((and gp-0 v1-3) + (when (= arg1 4) + (set! (-> gp-0 uv-dist) arg2) + (let ((s5-1 (the-as object (* (-> v1-3 next (-> s4-0 index) shader) 16)))) + (while (nonzero? (the-as uint s5-1)) + (adgif-shader-update! (the-as adgif-shader s5-1) gp-0) + (set! s5-1 (* (-> (the-as adgif-shader s5-1) next shader) 16)) + ) + ) + ) + (-> gp-0 uv-dist) + ) + (else + (empty) + arg3 + ) + ) + ) ) - (cond - ((and gp-0 v1-3) - (when (= arg1 4) - (set! (-> gp-0 uv-dist) arg2) - (let - ((s5-1 - (the-as - object - (* (-> v1-3 next (-> s4-0 index) shader) 16) - ) + (else + (empty) + arg3 ) - ) - (while (nonzero? (the-as uint s5-1)) - (adgif-shader-update! (the-as adgif-shader s5-1) gp-0) - (set! - s5-1 - (* (-> (the-as adgif-shader s5-1) next shader) 16) - ) - ) ) + ) + (none) + ) + ) + (the-as float 0.1) + #t + (the-as float 0.1) + (the-as float 30.0) + 1 + ) + (debug-menu-append-item gp-0 s4-1) + ) + (let ((a1-11 + (new + 'debug + 'debug-menu-item-function + "all tweak+" + (the-as int #f) + (the-as (function int object) (lambda () (all-texture-tweak-adjust *texture-page-dir* (the-as float 0.1)))) + ) + ) + ) + (debug-menu-append-item gp-0 a1-11) + ) + (let ((a1-13 + (new + 'debug + 'debug-menu-item-function + "all tweak-" + (the-as int #f) + (the-as (function int object) (lambda () (all-texture-tweak-adjust *texture-page-dir* (the-as float -0.1)))) + ) + ) + ) + (debug-menu-append-item gp-0 a1-13) + ) + (let ((s4-2 (new 'debug 'debug-menu-item-var "l" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-2 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex1 l) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex1 l) + arg3 + ) ) - (-> gp-0 uv-dist) - ) - (else - (empty) - arg3 - ) ) - ) + (else + arg3 + ) ) - (else - (empty) - arg3 + ) + ) + (else + arg3 + ) + ) + ) + ) + 1 + #t + 0 + 3 + #f + ) + (debug-menu-append-item gp-0 s4-2) + ) + (let ((s4-3 (new 'debug 'debug-menu-item-var "k" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-3 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex1 k) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex1 k) + arg3 + ) + ) + ) + (else + arg3 + ) ) - ) - ) - (none) - ) - ) - (the-as float 0.1) - #t - (the-as float 0.1) - (the-as float 30.0) - 1 - ) - (debug-menu-append-item gp-0 s4-1) - ) - (let - ((a1-11 - (new - 'debug - 'debug-menu-item-function - "all tweak+" - (the-as int #f) - (the-as (function int object) (lambda () - (all-texture-tweak-adjust - *texture-page-dir* - (the-as float 0.1) - ) - ) - ) - ) - ) - ) - (debug-menu-append-item gp-0 a1-11) - ) - (let - ((a1-13 - (new - 'debug - 'debug-menu-item-function - "all tweak-" - (the-as int #f) - (the-as (function int object) (lambda () - (all-texture-tweak-adjust - *texture-page-dir* - (the-as float -0.1) - ) - ) - ) - ) - ) - ) - (debug-menu-append-item gp-0 a1-13) - ) - (let - ((s4-2 (new 'debug 'debug-menu-item-var "l" (the-as int '*edit-shader*) 80)) - ) - (debug-menu-item-var-make-int - s4-2 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex1 l) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex1 l) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + -2048 + 2047 + #f ) - ) + (debug-menu-append-item gp-0 s4-3) ) - 1 - #t - 0 - 3 - #f - ) - (debug-menu-append-item gp-0 s4-2) - ) - (let - ((s4-3 (new 'debug 'debug-menu-item-var "k" (the-as int '*edit-shader*) 80)) - ) - (debug-menu-item-var-make-int - s4-3 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-4 (new 'debug 'debug-menu-item-var "mmin" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-4 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex1 mmin) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex1 mmin) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex1 k) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex1 k) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 5 + #t ) - ) + (debug-menu-append-item gp-0 s4-4) ) - 1 - #t - -2048 - 2047 - #f - ) - (debug-menu-append-item gp-0 s4-3) - ) - (let - ((s4-4 - (new 'debug 'debug-menu-item-var "mmin" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-4 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-5 (new 'debug 'debug-menu-item-var "mmag" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-5 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex1 mmag) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex1 mmag) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex1 mmin) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex1 mmin) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 1 + #t ) - ) + (debug-menu-append-item gp-0 s4-5) ) - 1 - #t - 0 - 5 - #t - ) - (debug-menu-append-item gp-0 s4-4) - ) - (let - ((s4-5 - (new 'debug 'debug-menu-item-var "mmag" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-5 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-6 (new 'debug 'debug-menu-item-var "lcm" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-6 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex1 lcm) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex1 lcm) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex1 mmag) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex1 mmag) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 1 + #t ) - ) + (debug-menu-append-item gp-0 s4-6) ) - 1 - #t - 0 - 1 - #t - ) - (debug-menu-append-item gp-0 s4-5) - ) - (let - ((s4-6 - (new 'debug 'debug-menu-item-var "lcm" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-6 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-7 (new 'debug 'debug-menu-item-var "tfx" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-7 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex0 tfx) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex0 tfx) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex1 lcm) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex1 lcm) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 3 + #t ) - ) + (debug-menu-append-item gp-0 s4-7) ) - 1 - #t - 0 - 1 - #t - ) - (debug-menu-append-item gp-0 s4-6) - ) - (let - ((s4-7 - (new 'debug 'debug-menu-item-var "tfx" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-7 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-8 (new 'debug 'debug-menu-item-var "tbp" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-8 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex0 tbp0) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex0 tbp0) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex0 tfx) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex0 tfx) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + #x4000 + #t ) - ) + (debug-menu-append-item gp-0 s4-8) ) - 1 - #t - 0 - 3 - #t - ) - (debug-menu-append-item gp-0 s4-7) - ) - (let - ((s4-8 - (new 'debug 'debug-menu-item-var "tbp" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-8 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-9 (new 'debug 'debug-menu-item-var "tbw" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-9 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex0 tbw) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex0 tbw) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex0 tbp0) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex0 tbp0) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 15 + #t ) - ) + (debug-menu-append-item gp-0 s4-9) ) - 1 - #t - 0 - #x4000 - #t - ) - (debug-menu-append-item gp-0 s4-8) - ) - (let - ((s4-9 - (new 'debug 'debug-menu-item-var "tbw" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-9 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-10 (new 'debug 'debug-menu-item-var "tw" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-10 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex0 tw) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex0 tw) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex0 tbw) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex0 tbw) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 10 + #t ) - ) + (debug-menu-append-item gp-0 s4-10) ) - 1 - #t - 0 - 15 - #t - ) - (debug-menu-append-item gp-0 s4-9) - ) - (let - ((s4-10 - (new 'debug 'debug-menu-item-var "tw" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-10 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-11 (new 'debug 'debug-menu-item-var "th" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-11 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex0 th) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex0 th) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex0 tw) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex0 tw) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 10 + #t ) - ) + (debug-menu-append-item gp-0 s4-11) ) - 1 - #t - 0 - 10 - #t - ) - (debug-menu-append-item gp-0 s4-10) - ) - (let - ((s4-11 - (new 'debug 'debug-menu-item-var "th" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-11 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-12 (new 'debug 'debug-menu-item-var "mxl" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-12 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) tex1 mxl) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) tex1 mxl) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex0 th) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex0 th) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 6 + #t ) - ) + (debug-menu-append-item gp-0 s4-12) ) - 1 - #t - 0 - 10 - #t - ) - (debug-menu-append-item gp-0 s4-11) - ) - (let - ((s4-12 - (new 'debug 'debug-menu-item-var "mxl" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-12 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-13 (new 'debug 'debug-menu-item-var "wms" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-13 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) clamp wms) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) clamp wms) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) tex1 mxl) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) tex1 mxl) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 3 + #t ) - ) + (debug-menu-append-item gp-0 s4-13) ) - 1 - #t - 0 - 6 - #t - ) - (debug-menu-append-item gp-0 s4-12) - ) - (let - ((s4-13 - (new 'debug 'debug-menu-item-var "wms" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-13 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-14 (new 'debug 'debug-menu-item-var "wmt" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-14 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) clamp wmt) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) clamp wmt) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) clamp wms) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) clamp wms) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 3 + #t ) - ) + (debug-menu-append-item gp-0 s4-14) ) - 1 - #t - 0 - 3 - #t - ) - (debug-menu-append-item gp-0 s4-13) - ) - (let - ((s4-14 - (new 'debug 'debug-menu-item-var "wmt" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-14 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-15 (new 'debug 'debug-menu-item-var "minu" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-15 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) clamp minu) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) clamp minu) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) clamp wmt) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) clamp wmt) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 511 + #t ) - ) + (debug-menu-append-item gp-0 s4-15) ) - 1 - #t - 0 - 3 - #t - ) - (debug-menu-append-item gp-0 s4-14) - ) - (let - ((s4-15 - (new 'debug 'debug-menu-item-var "minu" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-15 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-16 (new 'debug 'debug-menu-item-var "maxu" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-16 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) clamp maxu) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) clamp maxu) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) clamp minu) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) clamp minu) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 511 + #t ) - ) + (debug-menu-append-item gp-0 s4-16) ) - 1 - #t - 0 - 511 - #t - ) - (debug-menu-append-item gp-0 s4-15) - ) - (let - ((s4-16 - (new 'debug 'debug-menu-item-var "maxu" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-16 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-17 (new 'debug 'debug-menu-item-var "minv" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-17 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) clamp minv) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) clamp minv) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) clamp maxu) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) clamp maxu) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 511 + #t ) - ) + (debug-menu-append-item gp-0 s4-17) ) - 1 - #t - 0 - 511 - #t - ) - (debug-menu-append-item gp-0 s4-16) - ) - (let - ((s4-17 - (new 'debug 'debug-menu-item-var "minv" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-17 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + (let ((s4-18 (new 'debug 'debug-menu-item-var "maxv" (the-as int '*edit-shader*) 80))) + (debug-menu-item-var-make-int + s4-18 + (the-as + (function int debug-menu-msg int int int) + (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) + (cond + (*texture-page-dir* + (let* ((v1-1 (the-as texture-id (-> arg0 value))) + (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) + ) + (cond + (a0-3 + (when (= arg1 4) + (let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (while (nonzero? (the-as uint a1-8)) + (set! (-> (the-as adgif-shader a1-8) clamp maxv) arg2) + (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) + ) + ) + ) + (let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)))) + (if (nonzero? (the-as uint v1-8)) + (-> (the-as adgif-shader v1-8) clamp maxv) + arg3 + ) + ) + ) + (else + arg3 + ) + ) + ) ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) + (else + arg3 ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) clamp minv) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) clamp minv) - arg3 - ) - ) ) - (else - arg3 - ) - ) ) - ) - (else - arg3 - ) + 1 + #t + 0 + 511 + #t ) - ) + (debug-menu-append-item gp-0 s4-18) ) - 1 - #t - 0 - 511 - #t - ) - (debug-menu-append-item gp-0 s4-17) + s5-0 ) - (let - ((s4-18 - (new 'debug 'debug-menu-item-var "maxv" (the-as int '*edit-shader*) 80) - ) - ) - (debug-menu-item-var-make-int - s4-18 - (the-as - (function int debug-menu-msg int int int) - (lambda ((arg0 symbol) (arg1 int) (arg2 int) (arg3 basic)) - (cond - (*texture-page-dir* - (let* ((v1-1 (the-as texture-id (-> arg0 value))) - (a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link)) - ) - (cond - (a0-3 - (when (= arg1 4) - (let - ((a1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (while (nonzero? (the-as uint a1-8)) - (set! (-> (the-as adgif-shader a1-8) clamp maxv) arg2) - (set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16)) - ) - ) - ) - (let - ((v1-8 - (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16)) - ) - ) - (if (nonzero? (the-as uint v1-8)) - (-> (the-as adgif-shader v1-8) clamp maxv) - arg3 - ) - ) - ) - (else - arg3 - ) - ) - ) - ) - (else - arg3 - ) - ) - ) - ) - 1 - #t - 0 - 511 - #t - ) - (debug-menu-append-item gp-0 s4-18) - ) - s5-0 - ) ) ;; definition for function debug-menu-make-instance-menu @@ -2972,4405 +2405,1213 @@ (let* ((gp-0 (new 'debug 'debug-menu arg0 "Instance menu")) (s5-0 (new 'debug 'debug-menu-item-submenu "Instance" gp-0)) ) - (let ((a3-3 (new 'debug 'debug-menu arg0 "Instance shrub menu"))) - (set! *instance-shrub-menu* a3-3) - (let ((a1-4 (new 'debug 'debug-menu-item-submenu "Pick Shrub" a3-3))) - (debug-menu-append-item gp-0 a1-4) - ) - ) - (let ((a3-5 (new 'debug 'debug-menu arg0 "Instance tie menu"))) - (set! *instance-tie-menu* a3-5) - (let ((a1-7 (new 'debug 'debug-menu-item-submenu "Pick Tie" a3-5))) - (debug-menu-append-item gp-0 a1-7) - ) - ) - (let - ((a1-9 - (new - 'debug - 'debug-menu-item-function - "Refresh" - (the-as int #f) - (the-as (function int object) build-instance-list) - ) - ) - ) - (debug-menu-append-item gp-0 a1-9) - ) - (let - ((s3-0 - (new 'debug 'debug-menu-item-var "near" (the-as int '*edit-instance*) 80) - ) - ) - (debug-menu-item-var-make-float - s3-0 - (the-as - (function int debug-menu-msg float float float) - (lambda ((arg0 debug-menu) (arg1 int) (arg2 float) (arg3 float)) - (let ((gp-0 (find-instance-by-name (-> arg0 name)))) - (the-as object (cond - (gp-0 - (when (= arg1 4) - (set! (-> gp-0 dists x) (* 4096.0 arg2)) - (prototype-bucket-recalc-fields - (the-as instance gp-0) - ) - ) - (* 0.00024414062 (-> gp-0 dists x)) - ) - (else - (empty) - arg3 - ) - ) - ) + (let ((a3-3 (new 'debug 'debug-menu arg0 "Instance shrub menu"))) + (set! *instance-shrub-menu* a3-3) + (let ((a1-4 (new 'debug 'debug-menu-item-submenu "Pick Shrub" a3-3))) + (debug-menu-append-item gp-0 a1-4) ) - ) ) - (the-as float 1.0) - #t - (the-as float 10.0) - (the-as float 250.0) - 1 - ) - (debug-menu-append-item gp-0 s3-0) - ) - (let - ((s3-1 - (new 'debug 'debug-menu-item-var "far" (the-as int '*edit-instance*) 80) - ) - ) - (debug-menu-item-var-make-float - s3-1 - (the-as - (function int debug-menu-msg float float float) - (lambda ((arg0 debug-menu) (arg1 int) (arg2 float) (arg3 float)) - (let ((gp-0 (find-instance-by-name (-> arg0 name)))) - (the-as object (cond - (gp-0 - (when (= arg1 4) - (set! (-> gp-0 dists w) (* 4096.0 arg2)) - (prototype-bucket-recalc-fields - (the-as instance gp-0) - ) - ) - (* 0.00024414062 (-> gp-0 dists w)) - ) - (else - (empty) - arg3 - ) - ) - ) + (let ((a3-5 (new 'debug 'debug-menu arg0 "Instance tie menu"))) + (set! *instance-tie-menu* a3-5) + (let ((a1-7 (new 'debug 'debug-menu-item-submenu "Pick Tie" a3-5))) + (debug-menu-append-item gp-0 a1-7) ) - ) ) - (the-as float 1.0) - #t - (the-as float 10.0) - (the-as float 250.0) - 1 - ) - (debug-menu-append-item gp-0 s3-1) - ) - (let - ((a1-17 - (new - 'debug - 'debug-menu-item-flag - "invisible" - 1 - (the-as - (function int debug-menu-msg object) - dm-edit-instance-toggle-pick-func + (let ((a1-9 (new + 'debug + 'debug-menu-item-function + "Refresh" + (the-as int #f) + (the-as (function int object) build-instance-list) + ) + ) + ) + (debug-menu-append-item gp-0 a1-9) + ) + (let ((s3-0 (new 'debug 'debug-menu-item-var "near" (the-as int '*edit-instance*) 80))) + (debug-menu-item-var-make-float + s3-0 + (the-as + (function int debug-menu-msg float float float) + (lambda ((arg0 debug-menu) (arg1 int) (arg2 float) (arg3 float)) + (let ((gp-0 (find-instance-by-name (-> arg0 name)))) + (the-as object (cond + (gp-0 + (when (= arg1 4) + (set! (-> gp-0 dists x) (* 4096.0 arg2)) + (prototype-bucket-recalc-fields (the-as instance gp-0)) + ) + (* 0.00024414062 (-> gp-0 dists x)) + ) + (else + (empty) + arg3 + ) + ) + ) + ) + ) + ) + (the-as float 1.0) + #t + (the-as float 10.0) + (the-as float 250.0) + 1 ) - ) + (debug-menu-append-item gp-0 s3-0) ) - ) - (debug-menu-append-item gp-0 a1-17) - ) - (let ((a3-13 (new 'debug 'debug-menu arg0 "Enable Instance Tie Menu"))) - (set! *enable-instance-tie-menu* a3-13) - (let ((a1-20 (new 'debug 'debug-menu-item-submenu "Enable Tie" a3-13))) - (debug-menu-append-item gp-0 a1-20) - ) - ) - (let - ((a1-22 - (new - 'debug - 'debug-menu-item-flag - "Instance Info" - (the-as int '*display-instance-info*) - (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) - ) + (let ((s3-1 (new 'debug 'debug-menu-item-var "far" (the-as int '*edit-instance*) 80))) + (debug-menu-item-var-make-float + s3-1 + (the-as + (function int debug-menu-msg float float float) + (lambda ((arg0 debug-menu) (arg1 int) (arg2 float) (arg3 float)) + (let ((gp-0 (find-instance-by-name (-> arg0 name)))) + (the-as object (cond + (gp-0 + (when (= arg1 4) + (set! (-> gp-0 dists w) (* 4096.0 arg2)) + (prototype-bucket-recalc-fields (the-as instance gp-0)) + ) + (* 0.00024414062 (-> gp-0 dists w)) + ) + (else + (empty) + arg3 + ) + ) + ) + ) + ) + ) + (the-as float 1.0) + #t + (the-as float 10.0) + (the-as float 250.0) + 1 + ) + (debug-menu-append-item gp-0 s3-1) ) - ) - (debug-menu-append-item gp-0 a1-22) + (let ((a1-17 (new + 'debug + 'debug-menu-item-flag + "invisible" + 1 + (the-as (function int debug-menu-msg object) dm-edit-instance-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item gp-0 a1-17) + ) + (let ((a3-13 (new 'debug 'debug-menu arg0 "Enable Instance Tie Menu"))) + (set! *enable-instance-tie-menu* a3-13) + (let ((a1-20 (new 'debug 'debug-menu-item-submenu "Enable Tie" a3-13))) + (debug-menu-append-item gp-0 a1-20) + ) + ) + (let ((a1-22 (new + 'debug + 'debug-menu-item-flag + "Instance Info" + (the-as int '*display-instance-info*) + (the-as (function int debug-menu-msg object) dm-boolean-toggle-pick-func) + ) + ) + ) + (debug-menu-append-item gp-0 a1-22) + ) + s5-0 ) - s5-0 - ) ) ;; definition for function dm-task-unknown (defun dm-task-unknown ((arg0 int) (arg1 int)) (let ((gp-0 (/ arg0 8))) - (if (not (task-exists? (the-as game-task gp-0) (task-status unknown))) - (return 'invalid) + (if (not (task-exists? (the-as game-task gp-0) (task-status unknown))) + (return 'invalid) + ) + (if (= arg1 4) + (close-specific-task! (the-as game-task gp-0) (task-status unknown)) + ) + (task-closed? (the-as game-task gp-0) (task-status unknown)) ) - (if (= arg1 4) - (close-specific-task! (the-as game-task gp-0) (task-status unknown)) - ) - (task-closed? (the-as game-task gp-0) (task-status unknown)) - ) ) ;; definition for function dm-task-hint (defun dm-task-hint ((arg0 int) (arg1 int)) (let ((gp-0 (/ arg0 8))) - (if (not (task-exists? (the-as game-task gp-0) (task-status need-hint))) - (return 'invalid) + (if (not (task-exists? (the-as game-task gp-0) (task-status need-hint))) + (return 'invalid) + ) + (if (= arg1 4) + (close-specific-task! (the-as game-task gp-0) (task-status need-hint)) + ) + (task-closed? (the-as game-task gp-0) (task-status need-hint)) ) - (if (= arg1 4) - (close-specific-task! (the-as game-task gp-0) (task-status need-hint)) - ) - (task-closed? (the-as game-task gp-0) (task-status need-hint)) - ) ) ;; definition for function dm-task-introduction (defun dm-task-introduction ((arg0 int) (arg1 int)) (let ((gp-0 (/ arg0 8))) - (if - (not (task-exists? (the-as game-task gp-0) (task-status need-introduction))) - (return 'invalid) + (if (not (task-exists? (the-as game-task gp-0) (task-status need-introduction))) + (return 'invalid) + ) + (if (= arg1 4) + (close-specific-task! (the-as game-task gp-0) (task-status need-introduction)) + ) + (task-closed? (the-as game-task gp-0) (task-status need-introduction)) ) - (if (= arg1 4) - (close-specific-task! - (the-as game-task gp-0) - (task-status need-introduction) - ) - ) - (task-closed? (the-as game-task gp-0) (task-status need-introduction)) - ) ) ;; definition for function dm-task-reminder-a (defun dm-task-reminder-a ((arg0 int) (arg1 int)) (let ((gp-0 (/ arg0 8))) - (if - (not (task-exists? (the-as game-task gp-0) (task-status need-reminder-a))) - (return 'invalid) + (if (not (task-exists? (the-as game-task gp-0) (task-status need-reminder-a))) + (return 'invalid) + ) + (if (= arg1 4) + (close-specific-task! (the-as game-task gp-0) (task-status need-reminder-a)) + ) + (task-closed? (the-as game-task gp-0) (task-status need-reminder-a)) ) - (if (= arg1 4) - (close-specific-task! (the-as game-task gp-0) (task-status need-reminder-a)) - ) - (task-closed? (the-as game-task gp-0) (task-status need-reminder-a)) - ) ) ;; definition for function dm-task-reminder (defun dm-task-reminder ((arg0 int) (arg1 int)) (let ((gp-0 (/ arg0 8))) - (if (not (task-exists? (the-as game-task gp-0) (task-status need-reminder))) - (return 'invalid) + (if (not (task-exists? (the-as game-task gp-0) (task-status need-reminder))) + (return 'invalid) + ) + (if (= arg1 4) + (close-specific-task! (the-as game-task gp-0) (task-status need-reminder)) + ) + (task-closed? (the-as game-task gp-0) (task-status need-reminder)) ) - (if (= arg1 4) - (close-specific-task! (the-as game-task gp-0) (task-status need-reminder)) - ) - (task-closed? (the-as game-task gp-0) (task-status need-reminder)) - ) ) ;; definition for function dm-task-reward-speech (defun dm-task-reward-speech ((arg0 int) (arg1 int)) (let ((gp-0 (/ arg0 8))) - (if - (not - (task-exists? (the-as game-task gp-0) (task-status need-reward-speech)) - ) - (return 'invalid) + (if (not (task-exists? (the-as game-task gp-0) (task-status need-reward-speech))) + (return 'invalid) + ) + (if (= arg1 4) + (close-specific-task! (the-as game-task gp-0) (task-status need-reward-speech)) + ) + (task-closed? (the-as game-task gp-0) (task-status need-reward-speech)) ) - (if (= arg1 4) - (close-specific-task! - (the-as game-task gp-0) - (task-status need-reward-speech) - ) - ) - (task-closed? (the-as game-task gp-0) (task-status need-reward-speech)) - ) ) ;; definition for function dm-task-resolution (defun dm-task-resolution ((arg0 int) (arg1 int)) (let ((gp-0 (/ arg0 8))) - (if - (not (task-exists? (the-as game-task gp-0) (task-status need-resolution))) - (return 'invalid) + (if (not (task-exists? (the-as game-task gp-0) (task-status need-resolution))) + (return 'invalid) + ) + (when (= arg1 4) + (send-event *target* 'get-pickup 6 (the float gp-0)) + (close-specific-task! (the-as game-task gp-0) (task-status need-resolution)) + ) + (task-closed? (the-as game-task gp-0) (task-status need-resolution)) ) - (when (= arg1 4) - (send-event *target* 'get-pickup 6 (the float gp-0)) - (close-specific-task! (the-as game-task gp-0) (task-status need-resolution)) - ) - (task-closed? (the-as game-task gp-0) (task-status need-resolution)) - ) ) ;; definition for function debug-menu-make-task-unknown-menu -(defun - debug-menu-make-task-unknown-menu - ((arg0 debug-menu-context) (arg1 debug-menu-context)) +(defun debug-menu-make-task-unknown-menu ((arg0 debug-menu-context) (arg1 debug-menu-context)) (debug-menu-append-item - (the-as debug-menu arg0) - (the-as - debug-menu-item - (debug-menu-make-from-template - arg1 - '( - menu "unknown" #f #f (flag - "jungle-eggtop" - (the binteger 2) - dm-task-unknown - ) - (flag - "jungle-lurkerm" - (the binteger 3) - dm-task-unknown - ) - (flag - "jungle-tower" - (the binteger 4) - dm-task-unknown - ) - (flag - "jungle-fishgame" - (the binteger 5) - dm-task-unknown - ) - (flag - "jungle-plant" - (the binteger 6) - dm-task-unknown - ) - (flag - "jungle-buzzer" - (the binteger 7) - dm-task-unknown - ) - (flag - "jungle-canyon-end" - (the binteger 8) - dm-task-unknown - ) - (flag - "jungle-temple-door" - (the binteger 9) - dm-task-unknown - ) - (flag - "village1-yakow" - (the binteger 10) - dm-task-unknown - ) - (flag - "village1-mayor-money" - (the binteger 11) - dm-task-unknown - ) - (flag - "village1-uncle-money" - (the binteger 12) - dm-task-unknown - ) - (flag - "village1-oracle-money1" - (the binteger 13) - dm-task-unknown - ) - (flag - "village1-oracle-money2" - (the binteger 14) - dm-task-unknown - ) - (flag - "beach-ecorocks" - (the binteger 15) - dm-task-unknown - ) - (flag - "beach-pelican" - (the binteger 16) - dm-task-unknown - ) - (flag - "beach-flutflut" - (the binteger 17) - dm-task-unknown - ) - (flag - "beach-seagull" - (the binteger 18) - dm-task-unknown - ) - (flag - "beach-cannon" - (the binteger 19) - dm-task-unknown - ) - (flag - "beach-buzzer" - (the binteger 20) - dm-task-unknown - ) - (flag - "beach-gimmie" - (the binteger 21) - dm-task-unknown - ) - (flag - "beach-sentinel" - (the binteger 22) - dm-task-unknown - ) - (flag - "misty-muse" - (the binteger 23) - dm-task-unknown - ) - (flag - "misty-boat" - (the binteger 24) - dm-task-unknown - ) - (flag - "misty-warehouse" - (the binteger 25) - dm-task-unknown - ) - (flag - "misty-cannon" - (the binteger 26) - dm-task-unknown - ) - (flag - "misty-bike" - (the binteger 27) - dm-task-unknown - ) - (flag - "misty-buzzer" - (the binteger 28) - dm-task-unknown - ) - (flag - "misty-bike-jump" - (the binteger 29) - dm-task-unknown - ) - (flag - "misty-eco-challenge" - (the binteger 30) - dm-task-unknown - ) - (flag - "village2-gambler-money" - (the binteger 31) - dm-task-unknown - ) - (flag - "village2-geologist-money" - (the binteger 32) - dm-task-unknown - ) - (flag - "village2-warrior-money" - (the binteger 33) - dm-task-unknown - ) - (flag - "village2-oracle-money1" - (the binteger 34) - dm-task-unknown - ) - (flag - "village2-oracle-money2" - (the binteger 35) - dm-task-unknown - ) - (flag - "swamp-billy" - (the binteger 36) - dm-task-unknown - ) - (flag - "swamp-flutflut" - (the binteger 37) - dm-task-unknown - ) - (flag - "swamp-battle" - (the binteger 38) - dm-task-unknown - ) - (flag - "swamp-tether-1" - (the binteger 39) - dm-task-unknown - ) - (flag - "swamp-tether-2" - (the binteger 40) - dm-task-unknown - ) - (flag - "swamp-tether-3" - (the binteger 41) - dm-task-unknown - ) - (flag - "swamp-tether-4" - (the binteger 42) - dm-task-unknown - ) - (flag - "swamp-buzzer" - (the binteger 43) - dm-task-unknown - ) - (flag - "sunken-platforms" - (the binteger 44) - dm-task-unknown - ) - (flag - "sunken-pipe" - (the binteger 45) - dm-task-unknown - ) - (flag - "sunken-slide" - (the binteger 46) - dm-task-unknown - ) - (flag - "sunken-room" - (the binteger 47) - dm-task-unknown - ) - (flag - "sunken-sharks" - (the binteger 48) - dm-task-unknown - ) - (flag - "sunken-buzzer" - (the binteger 49) - dm-task-unknown - ) - (flag - "sunken-top-of-helix" - (the binteger 50) - dm-task-unknown - ) - (flag - "sunken-spinning-room" - (the binteger 51) - dm-task-unknown - ) - (flag - "rolling-race" - (the binteger 52) - dm-task-unknown - ) - (flag - "rolling-robbers" - (the binteger 53) - dm-task-unknown - ) - (flag - "rolling-moles" - (the binteger 54) - dm-task-unknown - ) - (flag - "rolling-plants" - (the binteger 55) - dm-task-unknown - ) - (flag - "rolling-lake" - (the binteger 56) - dm-task-unknown - ) - (flag - "rolling-buzzer" - (the binteger 57) - dm-task-unknown - ) - (flag - "rolling-ring-chase-1" - (the binteger 58) - dm-task-unknown - ) - (flag - "rolling-ring-chase-2" - (the binteger 59) - dm-task-unknown - ) - (flag - "snow-eggtop" - (the binteger 60) - dm-task-unknown - ) - (flag - "snow-ram" - (the binteger 61) - dm-task-unknown - ) - (flag - "snow-fort" - (the binteger 62) - dm-task-unknown - ) - (flag - "snow-ball" - (the binteger 63) - dm-task-unknown - ) - (flag - "snow-bunnies" - (the binteger 64) - dm-task-unknown - ) - (flag - "snow-buzzer" - (the binteger 65) - dm-task-unknown - ) - (flag - "snow-bumpers" - (the binteger 66) - dm-task-unknown - ) - (flag - "snow-cage" - (the binteger 67) - dm-task-unknown - ) - (flag - "firecanyon-buzzer" - (the binteger 68) - dm-task-unknown - ) - (flag - "firecanyon-end" - (the binteger 69) - dm-task-unknown - ) - (flag - "citadel-sage-green" - (the binteger 70) - dm-task-unknown - ) - (flag - "citadel-sage-blue" - (the binteger 71) - dm-task-unknown - ) - (flag - "citadel-sage-red" - (the binteger 72) - dm-task-unknown - ) - (flag - "citadel-sage-yellow" - (the binteger 73) - dm-task-unknown - ) - (flag - "village3-extra1" - (the binteger 74) - dm-task-unknown - ) - (flag - "village1-buzzer" - (the binteger 75) - dm-task-unknown - ) - (flag - "village2-buzzer" - (the binteger 76) - dm-task-unknown - ) - (flag - "village3-buzzer" - (the binteger 77) - dm-task-unknown - ) - (flag - "cave-gnawers" - (the binteger 78) - dm-task-unknown - ) - (flag - "cave-dark-crystals" - (the binteger 79) - dm-task-unknown - ) - (flag - "cave-dark-climb" - (the binteger 80) - dm-task-unknown - ) - (flag - "cave-robot-climb" - (the binteger 81) - dm-task-unknown - ) - (flag - "cave-swing-poles" - (the binteger 82) - dm-task-unknown - ) - (flag - "cave-spider-tunnel" - (the binteger 83) - dm-task-unknown - ) - (flag - "cave-platforms" - (the binteger 84) - dm-task-unknown - ) - (flag - "cave-buzzer" - (the binteger 85) - dm-task-unknown - ) - (flag - "ogre-boss" - (the binteger 86) - dm-task-unknown - ) - (flag - "ogre-end" - (the binteger 87) - dm-task-unknown - ) - (flag - "ogre-buzzer" - (the binteger 88) - dm-task-unknown - ) - (flag - "lavatube-end" - (the binteger 89) - dm-task-unknown - ) - (flag - "lavatube-buzzer" - (the binteger 90) - dm-task-unknown - ) - (flag - "citadel-buzzer" - (the binteger 91) - dm-task-unknown - ) - (flag - "training-gimmie" - (the binteger 92) - dm-task-unknown - ) - (flag - "training-door" - (the binteger 93) - dm-task-unknown - ) - (flag - "training-climb" - (the binteger 94) - dm-task-unknown - ) - (flag - "training-buzzer" - (the binteger 95) - dm-task-unknown - ) - (flag - "village3-miner-money1" - (the binteger 96) - dm-task-unknown - ) - (flag - "village3-miner-money2" - (the binteger 97) - dm-task-unknown - ) - (flag - "village3-miner-money3" - (the binteger 98) - dm-task-unknown - ) - (flag - "village3-miner-money4" - (the binteger 99) - dm-task-unknown - ) - (flag - "village3-oracle-money1" - (the binteger 100) - dm-task-unknown - ) - (flag - "village3-oracle-money2" - (the binteger 101) - dm-task-unknown - ) - (flag - "firecanyon-assistant" - (the binteger 102) - dm-task-unknown - ) - (flag - "village2-levitator" - (the binteger 103) - dm-task-unknown - ) - (flag - "swamp-arm" - (the binteger 104) - dm-task-unknown - ) - (flag - "village3-button" - (the binteger 105) - dm-task-unknown - ) - (flag - "red-eggtop" - (the binteger 106) - dm-task-unknown - ) - (flag - "lavatube-balls" - (the binteger 107) - dm-task-unknown - ) - (flag - "lavatube-start" - (the binteger 108) - dm-task-unknown - ) - (flag - "intro" - (the binteger 109) - dm-task-unknown - ) - (flag - "ogre-secret" - (the binteger 110) - dm-task-unknown - ) - (flag - "village4-button" - (the binteger 111) - dm-task-unknown - ) - (flag - "finalboss-movies" - (the binteger 112) - dm-task-unknown - ) - (flag - "plunger-lurker-hit" - (the binteger 113) - dm-task-unknown - ) - (flag - "leaving-misty" - (the binteger 114) - dm-task-unknown - ) - (flag - "assistant-village3" - (the binteger 115) - dm-task-unknown - ) - #f #f #f #f #f #f #f #f - ) - ) + (the-as debug-menu arg0) + (the-as + debug-menu-item + (debug-menu-make-from-template arg1 '(menu + "unknown" + #f + #f + (flag "jungle-eggtop" (the binteger 2) dm-task-unknown) + (flag "jungle-lurkerm" (the binteger 3) dm-task-unknown) + (flag "jungle-tower" (the binteger 4) dm-task-unknown) + (flag "jungle-fishgame" (the binteger 5) dm-task-unknown) + (flag "jungle-plant" (the binteger 6) dm-task-unknown) + (flag "jungle-buzzer" (the binteger 7) dm-task-unknown) + (flag "jungle-canyon-end" (the binteger 8) dm-task-unknown) + (flag "jungle-temple-door" (the binteger 9) dm-task-unknown) + (flag "village1-yakow" (the binteger 10) dm-task-unknown) + (flag "village1-mayor-money" (the binteger 11) dm-task-unknown) + (flag "village1-uncle-money" (the binteger 12) dm-task-unknown) + (flag "village1-oracle-money1" (the binteger 13) dm-task-unknown) + (flag "village1-oracle-money2" (the binteger 14) dm-task-unknown) + (flag "beach-ecorocks" (the binteger 15) dm-task-unknown) + (flag "beach-pelican" (the binteger 16) dm-task-unknown) + (flag "beach-flutflut" (the binteger 17) dm-task-unknown) + (flag "beach-seagull" (the binteger 18) dm-task-unknown) + (flag "beach-cannon" (the binteger 19) dm-task-unknown) + (flag "beach-buzzer" (the binteger 20) dm-task-unknown) + (flag "beach-gimmie" (the binteger 21) dm-task-unknown) + (flag "beach-sentinel" (the binteger 22) dm-task-unknown) + (flag "misty-muse" (the binteger 23) dm-task-unknown) + (flag "misty-boat" (the binteger 24) dm-task-unknown) + (flag "misty-warehouse" (the binteger 25) dm-task-unknown) + (flag "misty-cannon" (the binteger 26) dm-task-unknown) + (flag "misty-bike" (the binteger 27) dm-task-unknown) + (flag "misty-buzzer" (the binteger 28) dm-task-unknown) + (flag "misty-bike-jump" (the binteger 29) dm-task-unknown) + (flag "misty-eco-challenge" (the binteger 30) dm-task-unknown) + (flag "village2-gambler-money" (the binteger 31) dm-task-unknown) + (flag "village2-geologist-money" (the binteger 32) dm-task-unknown) + (flag "village2-warrior-money" (the binteger 33) dm-task-unknown) + (flag "village2-oracle-money1" (the binteger 34) dm-task-unknown) + (flag "village2-oracle-money2" (the binteger 35) dm-task-unknown) + (flag "swamp-billy" (the binteger 36) dm-task-unknown) + (flag "swamp-flutflut" (the binteger 37) dm-task-unknown) + (flag "swamp-battle" (the binteger 38) dm-task-unknown) + (flag "swamp-tether-1" (the binteger 39) dm-task-unknown) + (flag "swamp-tether-2" (the binteger 40) dm-task-unknown) + (flag "swamp-tether-3" (the binteger 41) dm-task-unknown) + (flag "swamp-tether-4" (the binteger 42) dm-task-unknown) + (flag "swamp-buzzer" (the binteger 43) dm-task-unknown) + (flag "sunken-platforms" (the binteger 44) dm-task-unknown) + (flag "sunken-pipe" (the binteger 45) dm-task-unknown) + (flag "sunken-slide" (the binteger 46) dm-task-unknown) + (flag "sunken-room" (the binteger 47) dm-task-unknown) + (flag "sunken-sharks" (the binteger 48) dm-task-unknown) + (flag "sunken-buzzer" (the binteger 49) dm-task-unknown) + (flag "sunken-top-of-helix" (the binteger 50) dm-task-unknown) + (flag "sunken-spinning-room" (the binteger 51) dm-task-unknown) + (flag "rolling-race" (the binteger 52) dm-task-unknown) + (flag "rolling-robbers" (the binteger 53) dm-task-unknown) + (flag "rolling-moles" (the binteger 54) dm-task-unknown) + (flag "rolling-plants" (the binteger 55) dm-task-unknown) + (flag "rolling-lake" (the binteger 56) dm-task-unknown) + (flag "rolling-buzzer" (the binteger 57) dm-task-unknown) + (flag "rolling-ring-chase-1" (the binteger 58) dm-task-unknown) + (flag "rolling-ring-chase-2" (the binteger 59) dm-task-unknown) + (flag "snow-eggtop" (the binteger 60) dm-task-unknown) + (flag "snow-ram" (the binteger 61) dm-task-unknown) + (flag "snow-fort" (the binteger 62) dm-task-unknown) + (flag "snow-ball" (the binteger 63) dm-task-unknown) + (flag "snow-bunnies" (the binteger 64) dm-task-unknown) + (flag "snow-buzzer" (the binteger 65) dm-task-unknown) + (flag "snow-bumpers" (the binteger 66) dm-task-unknown) + (flag "snow-cage" (the binteger 67) dm-task-unknown) + (flag "firecanyon-buzzer" (the binteger 68) dm-task-unknown) + (flag "firecanyon-end" (the binteger 69) dm-task-unknown) + (flag "citadel-sage-green" (the binteger 70) dm-task-unknown) + (flag "citadel-sage-blue" (the binteger 71) dm-task-unknown) + (flag "citadel-sage-red" (the binteger 72) dm-task-unknown) + (flag "citadel-sage-yellow" (the binteger 73) dm-task-unknown) + (flag "village3-extra1" (the binteger 74) dm-task-unknown) + (flag "village1-buzzer" (the binteger 75) dm-task-unknown) + (flag "village2-buzzer" (the binteger 76) dm-task-unknown) + (flag "village3-buzzer" (the binteger 77) dm-task-unknown) + (flag "cave-gnawers" (the binteger 78) dm-task-unknown) + (flag "cave-dark-crystals" (the binteger 79) dm-task-unknown) + (flag "cave-dark-climb" (the binteger 80) dm-task-unknown) + (flag "cave-robot-climb" (the binteger 81) dm-task-unknown) + (flag "cave-swing-poles" (the binteger 82) dm-task-unknown) + (flag "cave-spider-tunnel" (the binteger 83) dm-task-unknown) + (flag "cave-platforms" (the binteger 84) dm-task-unknown) + (flag "cave-buzzer" (the binteger 85) dm-task-unknown) + (flag "ogre-boss" (the binteger 86) dm-task-unknown) + (flag "ogre-end" (the binteger 87) dm-task-unknown) + (flag "ogre-buzzer" (the binteger 88) dm-task-unknown) + (flag "lavatube-end" (the binteger 89) dm-task-unknown) + (flag "lavatube-buzzer" (the binteger 90) dm-task-unknown) + (flag "citadel-buzzer" (the binteger 91) dm-task-unknown) + (flag "training-gimmie" (the binteger 92) dm-task-unknown) + (flag "training-door" (the binteger 93) dm-task-unknown) + (flag "training-climb" (the binteger 94) dm-task-unknown) + (flag "training-buzzer" (the binteger 95) dm-task-unknown) + (flag "village3-miner-money1" (the binteger 96) dm-task-unknown) + (flag "village3-miner-money2" (the binteger 97) dm-task-unknown) + (flag "village3-miner-money3" (the binteger 98) dm-task-unknown) + (flag "village3-miner-money4" (the binteger 99) dm-task-unknown) + (flag "village3-oracle-money1" (the binteger 100) dm-task-unknown) + (flag "village3-oracle-money2" (the binteger 101) dm-task-unknown) + (flag "firecanyon-assistant" (the binteger 102) dm-task-unknown) + (flag "village2-levitator" (the binteger 103) dm-task-unknown) + (flag "swamp-arm" (the binteger 104) dm-task-unknown) + (flag "village3-button" (the binteger 105) dm-task-unknown) + (flag "red-eggtop" (the binteger 106) dm-task-unknown) + (flag "lavatube-balls" (the binteger 107) dm-task-unknown) + (flag "lavatube-start" (the binteger 108) dm-task-unknown) + (flag "intro" (the binteger 109) dm-task-unknown) + (flag "ogre-secret" (the binteger 110) dm-task-unknown) + (flag "village4-button" (the binteger 111) dm-task-unknown) + (flag "finalboss-movies" (the binteger 112) dm-task-unknown) + (flag "plunger-lurker-hit" (the binteger 113) dm-task-unknown) + (flag "leaving-misty" (the binteger 114) dm-task-unknown) + (flag "assistant-village3" (the binteger 115) dm-task-unknown) + #f + #f + #f + #f + #f + #f + #f + #f + ) + ) + ) ) - ) ) ;; definition for function debug-menu-make-task-need-hint-menu -(defun - debug-menu-make-task-need-hint-menu - ((arg0 debug-menu-context) (arg1 debug-menu-context)) +(defun debug-menu-make-task-need-hint-menu ((arg0 debug-menu-context) (arg1 debug-menu-context)) (debug-menu-append-item - (the-as debug-menu arg0) - (the-as - debug-menu-item - (debug-menu-make-from-template - arg1 - '( - menu "need-hint" #f #f (flag - "jungle-eggtop" - (the binteger 2) - dm-task-hint - ) - (flag - "jungle-lurkerm" - (the binteger 3) - dm-task-hint - ) - (flag - "jungle-tower" - (the binteger 4) - dm-task-hint - ) - (flag - "jungle-fishgame" - (the binteger 5) - dm-task-hint - ) - (flag - "jungle-plant" - (the binteger 6) - dm-task-hint - ) - (flag - "jungle-buzzer" - (the binteger 7) - dm-task-hint - ) - (flag - "jungle-canyon-end" - (the binteger 8) - dm-task-hint - ) - (flag - "jungle-temple-door" - (the binteger 9) - dm-task-hint - ) - (flag - "village1-yakow" - (the binteger 10) - dm-task-hint - ) - (flag - "village1-mayor-money" - (the binteger 11) - dm-task-hint - ) - (flag - "village1-uncle-money" - (the binteger 12) - dm-task-hint - ) - (flag - "village1-oracle-money1" - (the binteger 13) - dm-task-hint - ) - (flag - "village1-oracle-money2" - (the binteger 14) - dm-task-hint - ) - (flag - "beach-ecorocks" - (the binteger 15) - dm-task-hint - ) - (flag - "beach-pelican" - (the binteger 16) - dm-task-hint - ) - (flag - "beach-flutflut" - (the binteger 17) - dm-task-hint - ) - (flag - "beach-seagull" - (the binteger 18) - dm-task-hint - ) - (flag - "beach-cannon" - (the binteger 19) - dm-task-hint - ) - (flag - "beach-buzzer" - (the binteger 20) - dm-task-hint - ) - (flag - "beach-gimmie" - (the binteger 21) - dm-task-hint - ) - (flag - "beach-sentinel" - (the binteger 22) - dm-task-hint - ) - (flag - "misty-muse" - (the binteger 23) - dm-task-hint - ) - (flag - "misty-boat" - (the binteger 24) - dm-task-hint - ) - (flag - "misty-warehouse" - (the binteger 25) - dm-task-hint - ) - (flag - "misty-cannon" - (the binteger 26) - dm-task-hint - ) - (flag - "misty-bike" - (the binteger 27) - dm-task-hint - ) - (flag - "misty-buzzer" - (the binteger 28) - dm-task-hint - ) - (flag - "misty-bike-jump" - (the binteger 29) - dm-task-hint - ) - (flag - "misty-eco-challenge" - (the binteger 30) - dm-task-hint - ) - (flag - "village2-gambler-money" - (the binteger 31) - dm-task-hint - ) - (flag - "village2-geologist-money" - (the binteger 32) - dm-task-hint - ) - (flag - "village2-warrior-money" - (the binteger 33) - dm-task-hint - ) - (flag - "village2-oracle-money1" - (the binteger 34) - dm-task-hint - ) - (flag - "village2-oracle-money2" - (the binteger 35) - dm-task-hint - ) - (flag - "swamp-billy" - (the binteger 36) - dm-task-hint - ) - (flag - "swamp-flutflut" - (the binteger 37) - dm-task-hint - ) - (flag - "swamp-battle" - (the binteger 38) - dm-task-hint - ) - (flag - "swamp-tether-1" - (the binteger 39) - dm-task-hint - ) - (flag - "swamp-tether-2" - (the binteger 40) - dm-task-hint - ) - (flag - "swamp-tether-3" - (the binteger 41) - dm-task-hint - ) - (flag - "swamp-tether-4" - (the binteger 42) - dm-task-hint - ) - (flag - "swamp-buzzer" - (the binteger 43) - dm-task-hint - ) - (flag - "sunken-platforms" - (the binteger 44) - dm-task-hint - ) - (flag - "sunken-pipe" - (the binteger 45) - dm-task-hint - ) - (flag - "sunken-slide" - (the binteger 46) - dm-task-hint - ) - (flag - "sunken-room" - (the binteger 47) - dm-task-hint - ) - (flag - "sunken-sharks" - (the binteger 48) - dm-task-hint - ) - (flag - "sunken-buzzer" - (the binteger 49) - dm-task-hint - ) - (flag - "sunken-top-of-helix" - (the binteger 50) - dm-task-hint - ) - (flag - "sunken-spinning-room" - (the binteger 51) - dm-task-hint - ) - (flag - "rolling-race" - (the binteger 52) - dm-task-hint - ) - (flag - "rolling-robbers" - (the binteger 53) - dm-task-hint - ) - (flag - "rolling-moles" - (the binteger 54) - dm-task-hint - ) - (flag - "rolling-plants" - (the binteger 55) - dm-task-hint - ) - (flag - "rolling-lake" - (the binteger 56) - dm-task-hint - ) - (flag - "rolling-buzzer" - (the binteger 57) - dm-task-hint - ) - (flag - "rolling-ring-chase-1" - (the binteger 58) - dm-task-hint - ) - (flag - "rolling-ring-chase-2" - (the binteger 59) - dm-task-hint - ) - (flag - "snow-eggtop" - (the binteger 60) - dm-task-hint - ) - (flag - "snow-ram" - (the binteger 61) - dm-task-hint - ) - (flag - "snow-fort" - (the binteger 62) - dm-task-hint - ) - (flag - "snow-ball" - (the binteger 63) - dm-task-hint - ) - (flag - "snow-bunnies" - (the binteger 64) - dm-task-hint - ) - (flag - "snow-buzzer" - (the binteger 65) - dm-task-hint - ) - (flag - "snow-bumpers" - (the binteger 66) - dm-task-hint - ) - (flag - "snow-cage" - (the binteger 67) - dm-task-hint - ) - (flag - "firecanyon-buzzer" - (the binteger 68) - dm-task-hint - ) - (flag - "firecanyon-end" - (the binteger 69) - dm-task-hint - ) - (flag - "citadel-sage-green" - (the binteger 70) - dm-task-hint - ) - (flag - "citadel-sage-blue" - (the binteger 71) - dm-task-hint - ) - (flag - "citadel-sage-red" - (the binteger 72) - dm-task-hint - ) - (flag - "citadel-sage-yellow" - (the binteger 73) - dm-task-hint - ) - (flag - "village3-extra1" - (the binteger 74) - dm-task-hint - ) - (flag - "village1-buzzer" - (the binteger 75) - dm-task-hint - ) - (flag - "village2-buzzer" - (the binteger 76) - dm-task-hint - ) - (flag - "village3-buzzer" - (the binteger 77) - dm-task-hint - ) - (flag - "cave-gnawers" - (the binteger 78) - dm-task-hint - ) - (flag - "cave-dark-crystals" - (the binteger 79) - dm-task-hint - ) - (flag - "cave-dark-climb" - (the binteger 80) - dm-task-hint - ) - (flag - "cave-robot-climb" - (the binteger 81) - dm-task-hint - ) - (flag - "cave-swing-poles" - (the binteger 82) - dm-task-hint - ) - (flag - "cave-spider-tunnel" - (the binteger 83) - dm-task-hint - ) - (flag - "cave-platforms" - (the binteger 84) - dm-task-hint - ) - (flag - "cave-buzzer" - (the binteger 85) - dm-task-hint - ) - (flag - "ogre-boss" - (the binteger 86) - dm-task-hint - ) - (flag - "ogre-end" - (the binteger 87) - dm-task-hint - ) - (flag - "ogre-buzzer" - (the binteger 88) - dm-task-hint - ) - (flag - "lavatube-end" - (the binteger 89) - dm-task-hint - ) - (flag - "lavatube-buzzer" - (the binteger 90) - dm-task-hint - ) - (flag - "citadel-buzzer" - (the binteger 91) - dm-task-hint - ) - (flag - "training-gimmie" - (the binteger 92) - dm-task-hint - ) - (flag - "training-door" - (the binteger 93) - dm-task-hint - ) - (flag - "training-climb" - (the binteger 94) - dm-task-hint - ) - (flag - "training-buzzer" - (the binteger 95) - dm-task-hint - ) - (flag - "village3-miner-money1" - (the binteger 96) - dm-task-hint - ) - (flag - "village3-miner-money2" - (the binteger 97) - dm-task-hint - ) - (flag - "village3-miner-money3" - (the binteger 98) - dm-task-hint - ) - (flag - "village3-miner-money4" - (the binteger 99) - dm-task-hint - ) - (flag - "village3-oracle-money1" - (the binteger 100) - dm-task-hint - ) - (flag - "village3-oracle-money2" - (the binteger 101) - dm-task-hint - ) - (flag - "firecanyon-assistant" - (the binteger 102) - dm-task-hint - ) - (flag - "village2-levitator" - (the binteger 103) - dm-task-hint - ) - (flag - "swamp-arm" - (the binteger 104) - dm-task-hint - ) - (flag - "village3-button" - (the binteger 105) - dm-task-hint - ) - (flag - "red-eggtop" - (the binteger 106) - dm-task-hint - ) - (flag - "lavatube-balls" - (the binteger 107) - dm-task-hint - ) - (flag - "lavatube-start" - (the binteger 108) - dm-task-hint - ) - (flag - "intro" - (the binteger 109) - dm-task-hint - ) - (flag - "ogre-secret" - (the binteger 110) - dm-task-hint - ) - (flag - "village4-button" - (the binteger 111) - dm-task-hint - ) - (flag - "finalboss-movies" - (the binteger 112) - dm-task-hint - ) - (flag - "plunger-lurker-hit" - (the binteger 113) - dm-task-hint - ) - (flag - "leaving-misty" - (the binteger 114) - dm-task-hint - ) - (flag - "assistant-village3" - (the binteger 115) - dm-task-hint - ) - #f #f #f #f #f #f #f #f - ) - ) + (the-as debug-menu arg0) + (the-as + debug-menu-item + (debug-menu-make-from-template arg1 '(menu + "need-hint" + #f + #f + (flag "jungle-eggtop" (the binteger 2) dm-task-hint) + (flag "jungle-lurkerm" (the binteger 3) dm-task-hint) + (flag "jungle-tower" (the binteger 4) dm-task-hint) + (flag "jungle-fishgame" (the binteger 5) dm-task-hint) + (flag "jungle-plant" (the binteger 6) dm-task-hint) + (flag "jungle-buzzer" (the binteger 7) dm-task-hint) + (flag "jungle-canyon-end" (the binteger 8) dm-task-hint) + (flag "jungle-temple-door" (the binteger 9) dm-task-hint) + (flag "village1-yakow" (the binteger 10) dm-task-hint) + (flag "village1-mayor-money" (the binteger 11) dm-task-hint) + (flag "village1-uncle-money" (the binteger 12) dm-task-hint) + (flag "village1-oracle-money1" (the binteger 13) dm-task-hint) + (flag "village1-oracle-money2" (the binteger 14) dm-task-hint) + (flag "beach-ecorocks" (the binteger 15) dm-task-hint) + (flag "beach-pelican" (the binteger 16) dm-task-hint) + (flag "beach-flutflut" (the binteger 17) dm-task-hint) + (flag "beach-seagull" (the binteger 18) dm-task-hint) + (flag "beach-cannon" (the binteger 19) dm-task-hint) + (flag "beach-buzzer" (the binteger 20) dm-task-hint) + (flag "beach-gimmie" (the binteger 21) dm-task-hint) + (flag "beach-sentinel" (the binteger 22) dm-task-hint) + (flag "misty-muse" (the binteger 23) dm-task-hint) + (flag "misty-boat" (the binteger 24) dm-task-hint) + (flag "misty-warehouse" (the binteger 25) dm-task-hint) + (flag "misty-cannon" (the binteger 26) dm-task-hint) + (flag "misty-bike" (the binteger 27) dm-task-hint) + (flag "misty-buzzer" (the binteger 28) dm-task-hint) + (flag "misty-bike-jump" (the binteger 29) dm-task-hint) + (flag "misty-eco-challenge" (the binteger 30) dm-task-hint) + (flag "village2-gambler-money" (the binteger 31) dm-task-hint) + (flag "village2-geologist-money" (the binteger 32) dm-task-hint) + (flag "village2-warrior-money" (the binteger 33) dm-task-hint) + (flag "village2-oracle-money1" (the binteger 34) dm-task-hint) + (flag "village2-oracle-money2" (the binteger 35) dm-task-hint) + (flag "swamp-billy" (the binteger 36) dm-task-hint) + (flag "swamp-flutflut" (the binteger 37) dm-task-hint) + (flag "swamp-battle" (the binteger 38) dm-task-hint) + (flag "swamp-tether-1" (the binteger 39) dm-task-hint) + (flag "swamp-tether-2" (the binteger 40) dm-task-hint) + (flag "swamp-tether-3" (the binteger 41) dm-task-hint) + (flag "swamp-tether-4" (the binteger 42) dm-task-hint) + (flag "swamp-buzzer" (the binteger 43) dm-task-hint) + (flag "sunken-platforms" (the binteger 44) dm-task-hint) + (flag "sunken-pipe" (the binteger 45) dm-task-hint) + (flag "sunken-slide" (the binteger 46) dm-task-hint) + (flag "sunken-room" (the binteger 47) dm-task-hint) + (flag "sunken-sharks" (the binteger 48) dm-task-hint) + (flag "sunken-buzzer" (the binteger 49) dm-task-hint) + (flag "sunken-top-of-helix" (the binteger 50) dm-task-hint) + (flag "sunken-spinning-room" (the binteger 51) dm-task-hint) + (flag "rolling-race" (the binteger 52) dm-task-hint) + (flag "rolling-robbers" (the binteger 53) dm-task-hint) + (flag "rolling-moles" (the binteger 54) dm-task-hint) + (flag "rolling-plants" (the binteger 55) dm-task-hint) + (flag "rolling-lake" (the binteger 56) dm-task-hint) + (flag "rolling-buzzer" (the binteger 57) dm-task-hint) + (flag "rolling-ring-chase-1" (the binteger 58) dm-task-hint) + (flag "rolling-ring-chase-2" (the binteger 59) dm-task-hint) + (flag "snow-eggtop" (the binteger 60) dm-task-hint) + (flag "snow-ram" (the binteger 61) dm-task-hint) + (flag "snow-fort" (the binteger 62) dm-task-hint) + (flag "snow-ball" (the binteger 63) dm-task-hint) + (flag "snow-bunnies" (the binteger 64) dm-task-hint) + (flag "snow-buzzer" (the binteger 65) dm-task-hint) + (flag "snow-bumpers" (the binteger 66) dm-task-hint) + (flag "snow-cage" (the binteger 67) dm-task-hint) + (flag "firecanyon-buzzer" (the binteger 68) dm-task-hint) + (flag "firecanyon-end" (the binteger 69) dm-task-hint) + (flag "citadel-sage-green" (the binteger 70) dm-task-hint) + (flag "citadel-sage-blue" (the binteger 71) dm-task-hint) + (flag "citadel-sage-red" (the binteger 72) dm-task-hint) + (flag "citadel-sage-yellow" (the binteger 73) dm-task-hint) + (flag "village3-extra1" (the binteger 74) dm-task-hint) + (flag "village1-buzzer" (the binteger 75) dm-task-hint) + (flag "village2-buzzer" (the binteger 76) dm-task-hint) + (flag "village3-buzzer" (the binteger 77) dm-task-hint) + (flag "cave-gnawers" (the binteger 78) dm-task-hint) + (flag "cave-dark-crystals" (the binteger 79) dm-task-hint) + (flag "cave-dark-climb" (the binteger 80) dm-task-hint) + (flag "cave-robot-climb" (the binteger 81) dm-task-hint) + (flag "cave-swing-poles" (the binteger 82) dm-task-hint) + (flag "cave-spider-tunnel" (the binteger 83) dm-task-hint) + (flag "cave-platforms" (the binteger 84) dm-task-hint) + (flag "cave-buzzer" (the binteger 85) dm-task-hint) + (flag "ogre-boss" (the binteger 86) dm-task-hint) + (flag "ogre-end" (the binteger 87) dm-task-hint) + (flag "ogre-buzzer" (the binteger 88) dm-task-hint) + (flag "lavatube-end" (the binteger 89) dm-task-hint) + (flag "lavatube-buzzer" (the binteger 90) dm-task-hint) + (flag "citadel-buzzer" (the binteger 91) dm-task-hint) + (flag "training-gimmie" (the binteger 92) dm-task-hint) + (flag "training-door" (the binteger 93) dm-task-hint) + (flag "training-climb" (the binteger 94) dm-task-hint) + (flag "training-buzzer" (the binteger 95) dm-task-hint) + (flag "village3-miner-money1" (the binteger 96) dm-task-hint) + (flag "village3-miner-money2" (the binteger 97) dm-task-hint) + (flag "village3-miner-money3" (the binteger 98) dm-task-hint) + (flag "village3-miner-money4" (the binteger 99) dm-task-hint) + (flag "village3-oracle-money1" (the binteger 100) dm-task-hint) + (flag "village3-oracle-money2" (the binteger 101) dm-task-hint) + (flag "firecanyon-assistant" (the binteger 102) dm-task-hint) + (flag "village2-levitator" (the binteger 103) dm-task-hint) + (flag "swamp-arm" (the binteger 104) dm-task-hint) + (flag "village3-button" (the binteger 105) dm-task-hint) + (flag "red-eggtop" (the binteger 106) dm-task-hint) + (flag "lavatube-balls" (the binteger 107) dm-task-hint) + (flag "lavatube-start" (the binteger 108) dm-task-hint) + (flag "intro" (the binteger 109) dm-task-hint) + (flag "ogre-secret" (the binteger 110) dm-task-hint) + (flag "village4-button" (the binteger 111) dm-task-hint) + (flag "finalboss-movies" (the binteger 112) dm-task-hint) + (flag "plunger-lurker-hit" (the binteger 113) dm-task-hint) + (flag "leaving-misty" (the binteger 114) dm-task-hint) + (flag "assistant-village3" (the binteger 115) dm-task-hint) + #f + #f + #f + #f + #f + #f + #f + #f + ) + ) + ) ) - ) ) ;; definition for function debug-menu-make-task-need-introduction-menu -(defun - debug-menu-make-task-need-introduction-menu - ((arg0 debug-menu-context) (arg1 debug-menu-context)) +(defun debug-menu-make-task-need-introduction-menu ((arg0 debug-menu-context) (arg1 debug-menu-context)) (debug-menu-append-item - (the-as debug-menu arg0) - (the-as - debug-menu-item - (debug-menu-make-from-template - arg1 - '( - menu "need-introduction" #f #f (flag - "jungle-eggtop" - (the binteger 2) - dm-task-introduction - ) - (flag - "jungle-lurkerm" - (the binteger 3) - dm-task-introduction - ) - (flag - "jungle-tower" - (the binteger 4) - dm-task-introduction - ) - (flag - "jungle-fishgame" - (the binteger 5) - dm-task-introduction - ) - (flag - "jungle-plant" - (the binteger 6) - dm-task-introduction - ) - (flag - "jungle-buzzer" - (the binteger 7) - dm-task-introduction - ) - (flag - "jungle-canyon-end" - (the binteger 8) - dm-task-introduction - ) - (flag - "jungle-temple-door" - (the binteger 9) - dm-task-introduction - ) - (flag - "village1-yakow" - (the binteger 10) - dm-task-introduction - ) - (flag - "village1-mayor-money" - (the binteger 11) - dm-task-introduction - ) - (flag - "village1-uncle-money" - (the binteger 12) - dm-task-introduction - ) - (flag - "village1-oracle-money1" - (the binteger 13) - dm-task-introduction - ) - (flag - "village1-oracle-money2" - (the binteger 14) - dm-task-introduction - ) - (flag - "beach-ecorocks" - (the binteger 15) - dm-task-introduction - ) - (flag - "beach-pelican" - (the binteger 16) - dm-task-introduction - ) - (flag - "beach-flutflut" - (the binteger 17) - dm-task-introduction - ) - (flag - "beach-seagull" - (the binteger 18) - dm-task-introduction - ) - (flag - "beach-cannon" - (the binteger 19) - dm-task-introduction - ) - (flag - "beach-buzzer" - (the binteger 20) - dm-task-introduction - ) - (flag - "beach-gimmie" - (the binteger 21) - dm-task-introduction - ) - (flag - "beach-sentinel" - (the binteger 22) - dm-task-introduction - ) - (flag - "misty-muse" - (the binteger 23) - dm-task-introduction - ) - (flag - "misty-boat" - (the binteger 24) - dm-task-introduction - ) - (flag - "misty-warehouse" - (the binteger 25) - dm-task-introduction - ) - (flag - "misty-cannon" - (the binteger 26) - dm-task-introduction - ) - (flag - "misty-bike" - (the binteger 27) - dm-task-introduction - ) - (flag - "misty-buzzer" - (the binteger 28) - dm-task-introduction - ) - (flag - "misty-bike-jump" - (the binteger 29) - dm-task-introduction - ) - (flag - "misty-eco-challenge" - (the binteger 30) - dm-task-introduction - ) - (flag - "village2-gambler-money" - (the binteger 31) - dm-task-introduction - ) - (flag - "village2-geologist-money" - (the binteger 32) - dm-task-introduction - ) - (flag - "village2-warrior-money" - (the binteger 33) - dm-task-introduction - ) - (flag - "village2-oracle-money1" - (the binteger 34) - dm-task-introduction - ) - (flag - "village2-oracle-money2" - (the binteger 35) - dm-task-introduction - ) - (flag - "swamp-billy" - (the binteger 36) - dm-task-introduction - ) - (flag - "swamp-flutflut" - (the binteger 37) - dm-task-introduction - ) - (flag - "swamp-battle" - (the binteger 38) - dm-task-introduction - ) - (flag - "swamp-tether-1" - (the binteger 39) - dm-task-introduction - ) - (flag - "swamp-tether-2" - (the binteger 40) - dm-task-introduction - ) - (flag - "swamp-tether-3" - (the binteger 41) - dm-task-introduction - ) - (flag - "swamp-tether-4" - (the binteger 42) - dm-task-introduction - ) - (flag - "swamp-buzzer" - (the binteger 43) - dm-task-introduction - ) - (flag - "sunken-platforms" - (the binteger 44) - dm-task-introduction - ) - (flag - "sunken-pipe" - (the binteger 45) - dm-task-introduction - ) - (flag - "sunken-slide" - (the binteger 46) - dm-task-introduction - ) - (flag - "sunken-room" - (the binteger 47) - dm-task-introduction - ) - (flag - "sunken-sharks" - (the binteger 48) - dm-task-introduction - ) - (flag - "sunken-buzzer" - (the binteger 49) - dm-task-introduction - ) - (flag - "sunken-top-of-helix" - (the binteger 50) - dm-task-introduction - ) - (flag - "sunken-spinning-room" - (the binteger 51) - dm-task-introduction - ) - (flag - "rolling-race" - (the binteger 52) - dm-task-introduction - ) - (flag - "rolling-robbers" - (the binteger 53) - dm-task-introduction - ) - (flag - "rolling-moles" - (the binteger 54) - dm-task-introduction - ) - (flag - "rolling-plants" - (the binteger 55) - dm-task-introduction - ) - (flag - "rolling-lake" - (the binteger 56) - dm-task-introduction - ) - (flag - "rolling-buzzer" - (the binteger 57) - dm-task-introduction - ) - (flag - "rolling-ring-chase-1" - (the binteger 58) - dm-task-introduction - ) - (flag - "rolling-ring-chase-2" - (the binteger 59) - dm-task-introduction - ) - (flag - "snow-eggtop" - (the binteger 60) - dm-task-introduction - ) - (flag - "snow-ram" - (the binteger 61) - dm-task-introduction - ) - (flag - "snow-fort" - (the binteger 62) - dm-task-introduction - ) - (flag - "snow-ball" - (the binteger 63) - dm-task-introduction - ) - (flag - "snow-bunnies" - (the binteger 64) - dm-task-introduction - ) - (flag - "snow-buzzer" - (the binteger 65) - dm-task-introduction - ) - (flag - "snow-bumpers" - (the binteger 66) - dm-task-introduction - ) - (flag - "snow-cage" - (the binteger 67) - dm-task-introduction - ) - (flag - "firecanyon-buzzer" - (the binteger 68) - dm-task-introduction - ) - (flag - "firecanyon-end" - (the binteger 69) - dm-task-introduction - ) - (flag - "citadel-sage-green" - (the binteger 70) - dm-task-introduction - ) - (flag - "citadel-sage-blue" - (the binteger 71) - dm-task-introduction - ) - (flag - "citadel-sage-red" - (the binteger 72) - dm-task-introduction - ) - (flag - "citadel-sage-yellow" - (the binteger 73) - dm-task-introduction - ) - (flag - "village3-extra1" - (the binteger 74) - dm-task-introduction - ) - (flag - "village1-buzzer" - (the binteger 75) - dm-task-introduction - ) - (flag - "village2-buzzer" - (the binteger 76) - dm-task-introduction - ) - (flag - "village3-buzzer" - (the binteger 77) - dm-task-introduction - ) - (flag - "cave-gnawers" - (the binteger 78) - dm-task-introduction - ) - (flag - "cave-dark-crystals" - (the binteger 79) - dm-task-introduction - ) - (flag - "cave-dark-climb" - (the binteger 80) - dm-task-introduction - ) - (flag - "cave-robot-climb" - (the binteger 81) - dm-task-introduction - ) - (flag - "cave-swing-poles" - (the binteger 82) - dm-task-introduction - ) - (flag - "cave-spider-tunnel" - (the binteger 83) - dm-task-introduction - ) - (flag - "cave-platforms" - (the binteger 84) - dm-task-introduction - ) - (flag - "cave-buzzer" - (the binteger 85) - dm-task-introduction - ) - (flag - "ogre-boss" - (the binteger 86) - dm-task-introduction - ) - (flag - "ogre-end" - (the binteger 87) - dm-task-introduction - ) - (flag - "ogre-buzzer" - (the binteger 88) - dm-task-introduction - ) - (flag - "lavatube-end" - (the binteger 89) - dm-task-introduction - ) - (flag - "lavatube-buzzer" - (the binteger 90) - dm-task-introduction - ) - (flag - "citadel-buzzer" - (the binteger 91) - dm-task-introduction - ) - (flag - "training-gimmie" - (the binteger 92) - dm-task-introduction - ) - (flag - "training-door" - (the binteger 93) - dm-task-introduction - ) - (flag - "training-climb" - (the binteger 94) - dm-task-introduction - ) - (flag - "training-buzzer" - (the binteger 95) - dm-task-introduction - ) - (flag - "village3-miner-money1" - (the binteger 96) - dm-task-introduction - ) - (flag - "village3-miner-money2" - (the binteger 97) - dm-task-introduction - ) - (flag - "village3-miner-money3" - (the binteger 98) - dm-task-introduction - ) - (flag - "village3-miner-money4" - (the binteger 99) - dm-task-introduction - ) - (flag - "village3-oracle-money1" - (the binteger 100) - dm-task-introduction - ) - (flag - "village3-oracle-money2" - (the binteger 101) - dm-task-introduction - ) - (flag - "firecanyon-assistant" - (the binteger 102) - dm-task-introduction - ) - (flag - "village2-levitator" - (the binteger 103) - dm-task-introduction - ) - (flag - "swamp-arm" - (the binteger 104) - dm-task-introduction - ) - (flag - "village3-button" - (the binteger 105) - dm-task-introduction - ) - (flag - "red-eggtop" - (the binteger 106) - dm-task-introduction - ) - (flag - "lavatube-balls" - (the binteger 107) - dm-task-introduction - ) - (flag - "lavatube-start" - (the binteger 108) - dm-task-introduction - ) - (flag - "intro" - (the binteger 109) - dm-task-introduction - ) - (flag - "ogre-secret" - (the binteger 110) - dm-task-introduction - ) - (flag - "village4-button" - (the binteger 111) - dm-task-introduction - ) - (flag - "finalboss-movies" - (the binteger 112) - dm-task-introduction - ) - (flag - "plunger-lurker-hit" - (the binteger 113) - dm-task-introduction - ) - (flag - "leaving-misty" - (the binteger 114) - dm-task-introduction - ) - (flag - "assistant-village3" - (the binteger 115) - dm-task-introduction - ) - #f #f #f #f #f #f #f #f - ) - ) + (the-as debug-menu arg0) + (the-as debug-menu-item (debug-menu-make-from-template + arg1 + '(menu + "need-introduction" + #f + #f + (flag "jungle-eggtop" (the binteger 2) dm-task-introduction) + (flag "jungle-lurkerm" (the binteger 3) dm-task-introduction) + (flag "jungle-tower" (the binteger 4) dm-task-introduction) + (flag "jungle-fishgame" (the binteger 5) dm-task-introduction) + (flag "jungle-plant" (the binteger 6) dm-task-introduction) + (flag "jungle-buzzer" (the binteger 7) dm-task-introduction) + (flag "jungle-canyon-end" (the binteger 8) dm-task-introduction) + (flag "jungle-temple-door" (the binteger 9) dm-task-introduction) + (flag "village1-yakow" (the binteger 10) dm-task-introduction) + (flag "village1-mayor-money" (the binteger 11) dm-task-introduction) + (flag "village1-uncle-money" (the binteger 12) dm-task-introduction) + (flag "village1-oracle-money1" (the binteger 13) dm-task-introduction) + (flag "village1-oracle-money2" (the binteger 14) dm-task-introduction) + (flag "beach-ecorocks" (the binteger 15) dm-task-introduction) + (flag "beach-pelican" (the binteger 16) dm-task-introduction) + (flag "beach-flutflut" (the binteger 17) dm-task-introduction) + (flag "beach-seagull" (the binteger 18) dm-task-introduction) + (flag "beach-cannon" (the binteger 19) dm-task-introduction) + (flag "beach-buzzer" (the binteger 20) dm-task-introduction) + (flag "beach-gimmie" (the binteger 21) dm-task-introduction) + (flag "beach-sentinel" (the binteger 22) dm-task-introduction) + (flag "misty-muse" (the binteger 23) dm-task-introduction) + (flag "misty-boat" (the binteger 24) dm-task-introduction) + (flag "misty-warehouse" (the binteger 25) dm-task-introduction) + (flag "misty-cannon" (the binteger 26) dm-task-introduction) + (flag "misty-bike" (the binteger 27) dm-task-introduction) + (flag "misty-buzzer" (the binteger 28) dm-task-introduction) + (flag "misty-bike-jump" (the binteger 29) dm-task-introduction) + (flag "misty-eco-challenge" (the binteger 30) dm-task-introduction) + (flag "village2-gambler-money" (the binteger 31) dm-task-introduction) + (flag "village2-geologist-money" (the binteger 32) dm-task-introduction) + (flag "village2-warrior-money" (the binteger 33) dm-task-introduction) + (flag "village2-oracle-money1" (the binteger 34) dm-task-introduction) + (flag "village2-oracle-money2" (the binteger 35) dm-task-introduction) + (flag "swamp-billy" (the binteger 36) dm-task-introduction) + (flag "swamp-flutflut" (the binteger 37) dm-task-introduction) + (flag "swamp-battle" (the binteger 38) dm-task-introduction) + (flag "swamp-tether-1" (the binteger 39) dm-task-introduction) + (flag "swamp-tether-2" (the binteger 40) dm-task-introduction) + (flag "swamp-tether-3" (the binteger 41) dm-task-introduction) + (flag "swamp-tether-4" (the binteger 42) dm-task-introduction) + (flag "swamp-buzzer" (the binteger 43) dm-task-introduction) + (flag "sunken-platforms" (the binteger 44) dm-task-introduction) + (flag "sunken-pipe" (the binteger 45) dm-task-introduction) + (flag "sunken-slide" (the binteger 46) dm-task-introduction) + (flag "sunken-room" (the binteger 47) dm-task-introduction) + (flag "sunken-sharks" (the binteger 48) dm-task-introduction) + (flag "sunken-buzzer" (the binteger 49) dm-task-introduction) + (flag "sunken-top-of-helix" (the binteger 50) dm-task-introduction) + (flag "sunken-spinning-room" (the binteger 51) dm-task-introduction) + (flag "rolling-race" (the binteger 52) dm-task-introduction) + (flag "rolling-robbers" (the binteger 53) dm-task-introduction) + (flag "rolling-moles" (the binteger 54) dm-task-introduction) + (flag "rolling-plants" (the binteger 55) dm-task-introduction) + (flag "rolling-lake" (the binteger 56) dm-task-introduction) + (flag "rolling-buzzer" (the binteger 57) dm-task-introduction) + (flag "rolling-ring-chase-1" (the binteger 58) dm-task-introduction) + (flag "rolling-ring-chase-2" (the binteger 59) dm-task-introduction) + (flag "snow-eggtop" (the binteger 60) dm-task-introduction) + (flag "snow-ram" (the binteger 61) dm-task-introduction) + (flag "snow-fort" (the binteger 62) dm-task-introduction) + (flag "snow-ball" (the binteger 63) dm-task-introduction) + (flag "snow-bunnies" (the binteger 64) dm-task-introduction) + (flag "snow-buzzer" (the binteger 65) dm-task-introduction) + (flag "snow-bumpers" (the binteger 66) dm-task-introduction) + (flag "snow-cage" (the binteger 67) dm-task-introduction) + (flag "firecanyon-buzzer" (the binteger 68) dm-task-introduction) + (flag "firecanyon-end" (the binteger 69) dm-task-introduction) + (flag "citadel-sage-green" (the binteger 70) dm-task-introduction) + (flag "citadel-sage-blue" (the binteger 71) dm-task-introduction) + (flag "citadel-sage-red" (the binteger 72) dm-task-introduction) + (flag "citadel-sage-yellow" (the binteger 73) dm-task-introduction) + (flag "village3-extra1" (the binteger 74) dm-task-introduction) + (flag "village1-buzzer" (the binteger 75) dm-task-introduction) + (flag "village2-buzzer" (the binteger 76) dm-task-introduction) + (flag "village3-buzzer" (the binteger 77) dm-task-introduction) + (flag "cave-gnawers" (the binteger 78) dm-task-introduction) + (flag "cave-dark-crystals" (the binteger 79) dm-task-introduction) + (flag "cave-dark-climb" (the binteger 80) dm-task-introduction) + (flag "cave-robot-climb" (the binteger 81) dm-task-introduction) + (flag "cave-swing-poles" (the binteger 82) dm-task-introduction) + (flag "cave-spider-tunnel" (the binteger 83) dm-task-introduction) + (flag "cave-platforms" (the binteger 84) dm-task-introduction) + (flag "cave-buzzer" (the binteger 85) dm-task-introduction) + (flag "ogre-boss" (the binteger 86) dm-task-introduction) + (flag "ogre-end" (the binteger 87) dm-task-introduction) + (flag "ogre-buzzer" (the binteger 88) dm-task-introduction) + (flag "lavatube-end" (the binteger 89) dm-task-introduction) + (flag "lavatube-buzzer" (the binteger 90) dm-task-introduction) + (flag "citadel-buzzer" (the binteger 91) dm-task-introduction) + (flag "training-gimmie" (the binteger 92) dm-task-introduction) + (flag "training-door" (the binteger 93) dm-task-introduction) + (flag "training-climb" (the binteger 94) dm-task-introduction) + (flag "training-buzzer" (the binteger 95) dm-task-introduction) + (flag "village3-miner-money1" (the binteger 96) dm-task-introduction) + (flag "village3-miner-money2" (the binteger 97) dm-task-introduction) + (flag "village3-miner-money3" (the binteger 98) dm-task-introduction) + (flag "village3-miner-money4" (the binteger 99) dm-task-introduction) + (flag "village3-oracle-money1" (the binteger 100) dm-task-introduction) + (flag "village3-oracle-money2" (the binteger 101) dm-task-introduction) + (flag "firecanyon-assistant" (the binteger 102) dm-task-introduction) + (flag "village2-levitator" (the binteger 103) dm-task-introduction) + (flag "swamp-arm" (the binteger 104) dm-task-introduction) + (flag "village3-button" (the binteger 105) dm-task-introduction) + (flag "red-eggtop" (the binteger 106) dm-task-introduction) + (flag "lavatube-balls" (the binteger 107) dm-task-introduction) + (flag "lavatube-start" (the binteger 108) dm-task-introduction) + (flag "intro" (the binteger 109) dm-task-introduction) + (flag "ogre-secret" (the binteger 110) dm-task-introduction) + (flag "village4-button" (the binteger 111) dm-task-introduction) + (flag "finalboss-movies" (the binteger 112) dm-task-introduction) + (flag "plunger-lurker-hit" (the binteger 113) dm-task-introduction) + (flag "leaving-misty" (the binteger 114) dm-task-introduction) + (flag "assistant-village3" (the binteger 115) dm-task-introduction) + #f + #f + #f + #f + #f + #f + #f + #f + ) + ) + ) ) - ) ) ;; definition for function debug-menu-make-task-need-reminder-a-menu -(defun - debug-menu-make-task-need-reminder-a-menu - ((arg0 debug-menu-context) (arg1 debug-menu-context)) +(defun debug-menu-make-task-need-reminder-a-menu ((arg0 debug-menu-context) (arg1 debug-menu-context)) (debug-menu-append-item - (the-as debug-menu arg0) - (the-as - debug-menu-item - (debug-menu-make-from-template - arg1 - '( - menu "need-reminder-a" #f #f (flag - "jungle-eggtop" - (the binteger 2) - dm-task-reminder-a - ) - (flag - "jungle-lurkerm" - (the binteger 3) - dm-task-reminder-a - ) - (flag - "jungle-tower" - (the binteger 4) - dm-task-reminder-a - ) - (flag - "jungle-fishgame" - (the binteger 5) - dm-task-reminder-a - ) - (flag - "jungle-plant" - (the binteger 6) - dm-task-reminder-a - ) - (flag - "jungle-buzzer" - (the binteger 7) - dm-task-reminder-a - ) - (flag - "jungle-canyon-end" - (the binteger 8) - dm-task-reminder-a - ) - (flag - "jungle-temple-door" - (the binteger 9) - dm-task-reminder-a - ) - (flag - "village1-yakow" - (the binteger 10) - dm-task-reminder-a - ) - (flag - "village1-mayor-money" - (the binteger 11) - dm-task-reminder-a - ) - (flag - "village1-uncle-money" - (the binteger 12) - dm-task-reminder-a - ) - (flag - "village1-oracle-money1" - (the binteger 13) - dm-task-reminder-a - ) - (flag - "village1-oracle-money2" - (the binteger 14) - dm-task-reminder-a - ) - (flag - "beach-ecorocks" - (the binteger 15) - dm-task-reminder-a - ) - (flag - "beach-pelican" - (the binteger 16) - dm-task-reminder-a - ) - (flag - "beach-flutflut" - (the binteger 17) - dm-task-reminder-a - ) - (flag - "beach-seagull" - (the binteger 18) - dm-task-reminder-a - ) - (flag - "beach-cannon" - (the binteger 19) - dm-task-reminder-a - ) - (flag - "beach-buzzer" - (the binteger 20) - dm-task-reminder-a - ) - (flag - "beach-gimmie" - (the binteger 21) - dm-task-reminder-a - ) - (flag - "beach-sentinel" - (the binteger 22) - dm-task-reminder-a - ) - (flag - "misty-muse" - (the binteger 23) - dm-task-reminder-a - ) - (flag - "misty-boat" - (the binteger 24) - dm-task-reminder-a - ) - (flag - "misty-warehouse" - (the binteger 25) - dm-task-reminder-a - ) - (flag - "misty-cannon" - (the binteger 26) - dm-task-reminder-a - ) - (flag - "misty-bike" - (the binteger 27) - dm-task-reminder-a - ) - (flag - "misty-buzzer" - (the binteger 28) - dm-task-reminder-a - ) - (flag - "misty-bike-jump" - (the binteger 29) - dm-task-reminder-a - ) - (flag - "misty-eco-challenge" - (the binteger 30) - dm-task-reminder-a - ) - (flag - "village2-gambler-money" - (the binteger 31) - dm-task-reminder-a - ) - (flag - "village2-geologist-money" - (the binteger 32) - dm-task-reminder-a - ) - (flag - "village2-warrior-money" - (the binteger 33) - dm-task-reminder-a - ) - (flag - "village2-oracle-money1" - (the binteger 34) - dm-task-reminder-a - ) - (flag - "village2-oracle-money2" - (the binteger 35) - dm-task-reminder-a - ) - (flag - "swamp-billy" - (the binteger 36) - dm-task-reminder-a - ) - (flag - "swamp-flutflut" - (the binteger 37) - dm-task-reminder-a - ) - (flag - "swamp-battle" - (the binteger 38) - dm-task-reminder-a - ) - (flag - "swamp-tether-1" - (the binteger 39) - dm-task-reminder-a - ) - (flag - "swamp-tether-2" - (the binteger 40) - dm-task-reminder-a - ) - (flag - "swamp-tether-3" - (the binteger 41) - dm-task-reminder-a - ) - (flag - "swamp-tether-4" - (the binteger 42) - dm-task-reminder-a - ) - (flag - "swamp-buzzer" - (the binteger 43) - dm-task-reminder-a - ) - (flag - "sunken-platforms" - (the binteger 44) - dm-task-reminder-a - ) - (flag - "sunken-pipe" - (the binteger 45) - dm-task-reminder-a - ) - (flag - "sunken-slide" - (the binteger 46) - dm-task-reminder-a - ) - (flag - "sunken-room" - (the binteger 47) - dm-task-reminder-a - ) - (flag - "sunken-sharks" - (the binteger 48) - dm-task-reminder-a - ) - (flag - "sunken-buzzer" - (the binteger 49) - dm-task-reminder-a - ) - (flag - "sunken-top-of-helix" - (the binteger 50) - dm-task-reminder-a - ) - (flag - "sunken-spinning-room" - (the binteger 51) - dm-task-reminder-a - ) - (flag - "rolling-race" - (the binteger 52) - dm-task-reminder-a - ) - (flag - "rolling-robbers" - (the binteger 53) - dm-task-reminder-a - ) - (flag - "rolling-moles" - (the binteger 54) - dm-task-reminder-a - ) - (flag - "rolling-plants" - (the binteger 55) - dm-task-reminder-a - ) - (flag - "rolling-lake" - (the binteger 56) - dm-task-reminder-a - ) - (flag - "rolling-buzzer" - (the binteger 57) - dm-task-reminder-a - ) - (flag - "rolling-ring-chase-1" - (the binteger 58) - dm-task-reminder-a - ) - (flag - "rolling-ring-chase-2" - (the binteger 59) - dm-task-reminder-a - ) - (flag - "snow-eggtop" - (the binteger 60) - dm-task-reminder-a - ) - (flag - "snow-ram" - (the binteger 61) - dm-task-reminder-a - ) - (flag - "snow-fort" - (the binteger 62) - dm-task-reminder-a - ) - (flag - "snow-ball" - (the binteger 63) - dm-task-reminder-a - ) - (flag - "snow-bunnies" - (the binteger 64) - dm-task-reminder-a - ) - (flag - "snow-buzzer" - (the binteger 65) - dm-task-reminder-a - ) - (flag - "snow-bumpers" - (the binteger 66) - dm-task-reminder-a - ) - (flag - "snow-cage" - (the binteger 67) - dm-task-reminder-a - ) - (flag - "firecanyon-buzzer" - (the binteger 68) - dm-task-reminder-a - ) - (flag - "firecanyon-end" - (the binteger 69) - dm-task-reminder-a - ) - (flag - "citadel-sage-green" - (the binteger 70) - dm-task-reminder-a - ) - (flag - "citadel-sage-blue" - (the binteger 71) - dm-task-reminder-a - ) - (flag - "citadel-sage-red" - (the binteger 72) - dm-task-reminder-a - ) - (flag - "citadel-sage-yellow" - (the binteger 73) - dm-task-reminder-a - ) - (flag - "village3-extra1" - (the binteger 74) - dm-task-reminder-a - ) - (flag - "village1-buzzer" - (the binteger 75) - dm-task-reminder-a - ) - (flag - "village2-buzzer" - (the binteger 76) - dm-task-reminder-a - ) - (flag - "village3-buzzer" - (the binteger 77) - dm-task-reminder-a - ) - (flag - "cave-gnawers" - (the binteger 78) - dm-task-reminder-a - ) - (flag - "cave-dark-crystals" - (the binteger 79) - dm-task-reminder-a - ) - (flag - "cave-dark-climb" - (the binteger 80) - dm-task-reminder-a - ) - (flag - "cave-robot-climb" - (the binteger 81) - dm-task-reminder-a - ) - (flag - "cave-swing-poles" - (the binteger 82) - dm-task-reminder-a - ) - (flag - "cave-spider-tunnel" - (the binteger 83) - dm-task-reminder-a - ) - (flag - "cave-platforms" - (the binteger 84) - dm-task-reminder-a - ) - (flag - "cave-buzzer" - (the binteger 85) - dm-task-reminder-a - ) - (flag - "ogre-boss" - (the binteger 86) - dm-task-reminder-a - ) - (flag - "ogre-end" - (the binteger 87) - dm-task-reminder-a - ) - (flag - "ogre-buzzer" - (the binteger 88) - dm-task-reminder-a - ) - (flag - "lavatube-end" - (the binteger 89) - dm-task-reminder-a - ) - (flag - "lavatube-buzzer" - (the binteger 90) - dm-task-reminder-a - ) - (flag - "citadel-buzzer" - (the binteger 91) - dm-task-reminder-a - ) - (flag - "training-gimmie" - (the binteger 92) - dm-task-reminder-a - ) - (flag - "training-door" - (the binteger 93) - dm-task-reminder-a - ) - (flag - "training-climb" - (the binteger 94) - dm-task-reminder-a - ) - (flag - "training-buzzer" - (the binteger 95) - dm-task-reminder-a - ) - (flag - "village3-miner-money1" - (the binteger 96) - dm-task-reminder-a - ) - (flag - "village3-miner-money2" - (the binteger 97) - dm-task-reminder-a - ) - (flag - "village3-miner-money3" - (the binteger 98) - dm-task-reminder-a - ) - (flag - "village3-miner-money4" - (the binteger 99) - dm-task-reminder-a - ) - (flag - "village3-oracle-money1" - (the binteger 100) - dm-task-reminder-a - ) - (flag - "village3-oracle-money2" - (the binteger 101) - dm-task-reminder-a - ) - (flag - "firecanyon-assistant" - (the binteger 102) - dm-task-reminder-a - ) - (flag - "village2-levitator" - (the binteger 103) - dm-task-reminder-a - ) - (flag - "swamp-arm" - (the binteger 104) - dm-task-reminder-a - ) - (flag - "village3-button" - (the binteger 105) - dm-task-reminder-a - ) - (flag - "red-eggtop" - (the binteger 106) - dm-task-reminder-a - ) - (flag - "lavatube-balls" - (the binteger 107) - dm-task-reminder-a - ) - (flag - "lavatube-start" - (the binteger 108) - dm-task-reminder-a - ) - (flag - "intro" - (the binteger 109) - dm-task-reminder-a - ) - (flag - "ogre-secret" - (the binteger 110) - dm-task-reminder-a - ) - (flag - "village4-button" - (the binteger 111) - dm-task-reminder-a - ) - (flag - "finalboss-movies" - (the binteger 112) - dm-task-reminder-a - ) - (flag - "plunger-lurker-hit" - (the binteger 113) - dm-task-reminder-a - ) - (flag - "leaving-misty" - (the binteger 114) - dm-task-reminder-a - ) - (flag - "assistant-village3" - (the binteger 115) - dm-task-reminder-a - ) - #f #f #f #f #f #f #f #f - ) - ) + (the-as debug-menu arg0) + (the-as + debug-menu-item + (debug-menu-make-from-template arg1 '(menu + "need-reminder-a" + #f + #f + (flag "jungle-eggtop" (the binteger 2) dm-task-reminder-a) + (flag "jungle-lurkerm" (the binteger 3) dm-task-reminder-a) + (flag "jungle-tower" (the binteger 4) dm-task-reminder-a) + (flag "jungle-fishgame" (the binteger 5) dm-task-reminder-a) + (flag "jungle-plant" (the binteger 6) dm-task-reminder-a) + (flag "jungle-buzzer" (the binteger 7) dm-task-reminder-a) + (flag "jungle-canyon-end" (the binteger 8) dm-task-reminder-a) + (flag "jungle-temple-door" (the binteger 9) dm-task-reminder-a) + (flag "village1-yakow" (the binteger 10) dm-task-reminder-a) + (flag "village1-mayor-money" (the binteger 11) dm-task-reminder-a) + (flag "village1-uncle-money" (the binteger 12) dm-task-reminder-a) + (flag "village1-oracle-money1" (the binteger 13) dm-task-reminder-a) + (flag "village1-oracle-money2" (the binteger 14) dm-task-reminder-a) + (flag "beach-ecorocks" (the binteger 15) dm-task-reminder-a) + (flag "beach-pelican" (the binteger 16) dm-task-reminder-a) + (flag "beach-flutflut" (the binteger 17) dm-task-reminder-a) + (flag "beach-seagull" (the binteger 18) dm-task-reminder-a) + (flag "beach-cannon" (the binteger 19) dm-task-reminder-a) + (flag "beach-buzzer" (the binteger 20) dm-task-reminder-a) + (flag "beach-gimmie" (the binteger 21) dm-task-reminder-a) + (flag "beach-sentinel" (the binteger 22) dm-task-reminder-a) + (flag "misty-muse" (the binteger 23) dm-task-reminder-a) + (flag "misty-boat" (the binteger 24) dm-task-reminder-a) + (flag "misty-warehouse" (the binteger 25) dm-task-reminder-a) + (flag "misty-cannon" (the binteger 26) dm-task-reminder-a) + (flag "misty-bike" (the binteger 27) dm-task-reminder-a) + (flag "misty-buzzer" (the binteger 28) dm-task-reminder-a) + (flag "misty-bike-jump" (the binteger 29) dm-task-reminder-a) + (flag "misty-eco-challenge" (the binteger 30) dm-task-reminder-a) + (flag "village2-gambler-money" (the binteger 31) dm-task-reminder-a) + (flag "village2-geologist-money" (the binteger 32) dm-task-reminder-a) + (flag "village2-warrior-money" (the binteger 33) dm-task-reminder-a) + (flag "village2-oracle-money1" (the binteger 34) dm-task-reminder-a) + (flag "village2-oracle-money2" (the binteger 35) dm-task-reminder-a) + (flag "swamp-billy" (the binteger 36) dm-task-reminder-a) + (flag "swamp-flutflut" (the binteger 37) dm-task-reminder-a) + (flag "swamp-battle" (the binteger 38) dm-task-reminder-a) + (flag "swamp-tether-1" (the binteger 39) dm-task-reminder-a) + (flag "swamp-tether-2" (the binteger 40) dm-task-reminder-a) + (flag "swamp-tether-3" (the binteger 41) dm-task-reminder-a) + (flag "swamp-tether-4" (the binteger 42) dm-task-reminder-a) + (flag "swamp-buzzer" (the binteger 43) dm-task-reminder-a) + (flag "sunken-platforms" (the binteger 44) dm-task-reminder-a) + (flag "sunken-pipe" (the binteger 45) dm-task-reminder-a) + (flag "sunken-slide" (the binteger 46) dm-task-reminder-a) + (flag "sunken-room" (the binteger 47) dm-task-reminder-a) + (flag "sunken-sharks" (the binteger 48) dm-task-reminder-a) + (flag "sunken-buzzer" (the binteger 49) dm-task-reminder-a) + (flag "sunken-top-of-helix" (the binteger 50) dm-task-reminder-a) + (flag "sunken-spinning-room" (the binteger 51) dm-task-reminder-a) + (flag "rolling-race" (the binteger 52) dm-task-reminder-a) + (flag "rolling-robbers" (the binteger 53) dm-task-reminder-a) + (flag "rolling-moles" (the binteger 54) dm-task-reminder-a) + (flag "rolling-plants" (the binteger 55) dm-task-reminder-a) + (flag "rolling-lake" (the binteger 56) dm-task-reminder-a) + (flag "rolling-buzzer" (the binteger 57) dm-task-reminder-a) + (flag "rolling-ring-chase-1" (the binteger 58) dm-task-reminder-a) + (flag "rolling-ring-chase-2" (the binteger 59) dm-task-reminder-a) + (flag "snow-eggtop" (the binteger 60) dm-task-reminder-a) + (flag "snow-ram" (the binteger 61) dm-task-reminder-a) + (flag "snow-fort" (the binteger 62) dm-task-reminder-a) + (flag "snow-ball" (the binteger 63) dm-task-reminder-a) + (flag "snow-bunnies" (the binteger 64) dm-task-reminder-a) + (flag "snow-buzzer" (the binteger 65) dm-task-reminder-a) + (flag "snow-bumpers" (the binteger 66) dm-task-reminder-a) + (flag "snow-cage" (the binteger 67) dm-task-reminder-a) + (flag "firecanyon-buzzer" (the binteger 68) dm-task-reminder-a) + (flag "firecanyon-end" (the binteger 69) dm-task-reminder-a) + (flag "citadel-sage-green" (the binteger 70) dm-task-reminder-a) + (flag "citadel-sage-blue" (the binteger 71) dm-task-reminder-a) + (flag "citadel-sage-red" (the binteger 72) dm-task-reminder-a) + (flag "citadel-sage-yellow" (the binteger 73) dm-task-reminder-a) + (flag "village3-extra1" (the binteger 74) dm-task-reminder-a) + (flag "village1-buzzer" (the binteger 75) dm-task-reminder-a) + (flag "village2-buzzer" (the binteger 76) dm-task-reminder-a) + (flag "village3-buzzer" (the binteger 77) dm-task-reminder-a) + (flag "cave-gnawers" (the binteger 78) dm-task-reminder-a) + (flag "cave-dark-crystals" (the binteger 79) dm-task-reminder-a) + (flag "cave-dark-climb" (the binteger 80) dm-task-reminder-a) + (flag "cave-robot-climb" (the binteger 81) dm-task-reminder-a) + (flag "cave-swing-poles" (the binteger 82) dm-task-reminder-a) + (flag "cave-spider-tunnel" (the binteger 83) dm-task-reminder-a) + (flag "cave-platforms" (the binteger 84) dm-task-reminder-a) + (flag "cave-buzzer" (the binteger 85) dm-task-reminder-a) + (flag "ogre-boss" (the binteger 86) dm-task-reminder-a) + (flag "ogre-end" (the binteger 87) dm-task-reminder-a) + (flag "ogre-buzzer" (the binteger 88) dm-task-reminder-a) + (flag "lavatube-end" (the binteger 89) dm-task-reminder-a) + (flag "lavatube-buzzer" (the binteger 90) dm-task-reminder-a) + (flag "citadel-buzzer" (the binteger 91) dm-task-reminder-a) + (flag "training-gimmie" (the binteger 92) dm-task-reminder-a) + (flag "training-door" (the binteger 93) dm-task-reminder-a) + (flag "training-climb" (the binteger 94) dm-task-reminder-a) + (flag "training-buzzer" (the binteger 95) dm-task-reminder-a) + (flag "village3-miner-money1" (the binteger 96) dm-task-reminder-a) + (flag "village3-miner-money2" (the binteger 97) dm-task-reminder-a) + (flag "village3-miner-money3" (the binteger 98) dm-task-reminder-a) + (flag "village3-miner-money4" (the binteger 99) dm-task-reminder-a) + (flag "village3-oracle-money1" (the binteger 100) dm-task-reminder-a) + (flag "village3-oracle-money2" (the binteger 101) dm-task-reminder-a) + (flag "firecanyon-assistant" (the binteger 102) dm-task-reminder-a) + (flag "village2-levitator" (the binteger 103) dm-task-reminder-a) + (flag "swamp-arm" (the binteger 104) dm-task-reminder-a) + (flag "village3-button" (the binteger 105) dm-task-reminder-a) + (flag "red-eggtop" (the binteger 106) dm-task-reminder-a) + (flag "lavatube-balls" (the binteger 107) dm-task-reminder-a) + (flag "lavatube-start" (the binteger 108) dm-task-reminder-a) + (flag "intro" (the binteger 109) dm-task-reminder-a) + (flag "ogre-secret" (the binteger 110) dm-task-reminder-a) + (flag "village4-button" (the binteger 111) dm-task-reminder-a) + (flag "finalboss-movies" (the binteger 112) dm-task-reminder-a) + (flag "plunger-lurker-hit" (the binteger 113) dm-task-reminder-a) + (flag "leaving-misty" (the binteger 114) dm-task-reminder-a) + (flag "assistant-village3" (the binteger 115) dm-task-reminder-a) + #f + #f + #f + #f + #f + #f + #f + #f + ) + ) + ) ) - ) ) ;; definition for function debug-menu-make-task-need-reminder-menu -(defun - debug-menu-make-task-need-reminder-menu - ((arg0 debug-menu-context) (arg1 debug-menu-context)) +(defun debug-menu-make-task-need-reminder-menu ((arg0 debug-menu-context) (arg1 debug-menu-context)) (debug-menu-append-item - (the-as debug-menu arg0) - (the-as - debug-menu-item - (debug-menu-make-from-template - arg1 - '( - menu "need-reminder" #f #f (flag - "jungle-eggtop" - (the binteger 2) - dm-task-reminder - ) - (flag - "jungle-lurkerm" - (the binteger 3) - dm-task-reminder - ) - (flag - "jungle-tower" - (the binteger 4) - dm-task-reminder - ) - (flag - "jungle-fishgame" - (the binteger 5) - dm-task-reminder - ) - (flag - "jungle-plant" - (the binteger 6) - dm-task-reminder - ) - (flag - "jungle-buzzer" - (the binteger 7) - dm-task-reminder - ) - (flag - "jungle-canyon-end" - (the binteger 8) - dm-task-reminder - ) - (flag - "jungle-temple-door" - (the binteger 9) - dm-task-reminder - ) - (flag - "village1-yakow" - (the binteger 10) - dm-task-reminder - ) - (flag - "village1-mayor-money" - (the binteger 11) - dm-task-reminder - ) - (flag - "village1-uncle-money" - (the binteger 12) - dm-task-reminder - ) - (flag - "village1-oracle-money1" - (the binteger 13) - dm-task-reminder - ) - (flag - "village1-oracle-money2" - (the binteger 14) - dm-task-reminder - ) - (flag - "beach-ecorocks" - (the binteger 15) - dm-task-reminder - ) - (flag - "beach-pelican" - (the binteger 16) - dm-task-reminder - ) - (flag - "beach-flutflut" - (the binteger 17) - dm-task-reminder - ) - (flag - "beach-seagull" - (the binteger 18) - dm-task-reminder - ) - (flag - "beach-cannon" - (the binteger 19) - dm-task-reminder - ) - (flag - "beach-buzzer" - (the binteger 20) - dm-task-reminder - ) - (flag - "beach-gimmie" - (the binteger 21) - dm-task-reminder - ) - (flag - "beach-sentinel" - (the binteger 22) - dm-task-reminder - ) - (flag - "misty-muse" - (the binteger 23) - dm-task-reminder - ) - (flag - "misty-boat" - (the binteger 24) - dm-task-reminder - ) - (flag - "misty-warehouse" - (the binteger 25) - dm-task-reminder - ) - (flag - "misty-cannon" - (the binteger 26) - dm-task-reminder - ) - (flag - "misty-bike" - (the binteger 27) - dm-task-reminder - ) - (flag - "misty-buzzer" - (the binteger 28) - dm-task-reminder - ) - (flag - "misty-bike-jump" - (the binteger 29) - dm-task-reminder - ) - (flag - "misty-eco-challenge" - (the binteger 30) - dm-task-reminder - ) - (flag - "village2-gambler-money" - (the binteger 31) - dm-task-reminder - ) - (flag - "village2-geologist-money" - (the binteger 32) - dm-task-reminder - ) - (flag - "village2-warrior-money" - (the binteger 33) - dm-task-reminder - ) - (flag - "village2-oracle-money1" - (the binteger 34) - dm-task-reminder - ) - (flag - "village2-oracle-money2" - (the binteger 35) - dm-task-reminder - ) - (flag - "swamp-billy" - (the binteger 36) - dm-task-reminder - ) - (flag - "swamp-flutflut" - (the binteger 37) - dm-task-reminder - ) - (flag - "swamp-battle" - (the binteger 38) - dm-task-reminder - ) - (flag - "swamp-tether-1" - (the binteger 39) - dm-task-reminder - ) - (flag - "swamp-tether-2" - (the binteger 40) - dm-task-reminder - ) - (flag - "swamp-tether-3" - (the binteger 41) - dm-task-reminder - ) - (flag - "swamp-tether-4" - (the binteger 42) - dm-task-reminder - ) - (flag - "swamp-buzzer" - (the binteger 43) - dm-task-reminder - ) - (flag - "sunken-platforms" - (the binteger 44) - dm-task-reminder - ) - (flag - "sunken-pipe" - (the binteger 45) - dm-task-reminder - ) - (flag - "sunken-slide" - (the binteger 46) - dm-task-reminder - ) - (flag - "sunken-room" - (the binteger 47) - dm-task-reminder - ) - (flag - "sunken-sharks" - (the binteger 48) - dm-task-reminder - ) - (flag - "sunken-buzzer" - (the binteger 49) - dm-task-reminder - ) - (flag - "sunken-top-of-helix" - (the binteger 50) - dm-task-reminder - ) - (flag - "sunken-spinning-room" - (the binteger 51) - dm-task-reminder - ) - (flag - "rolling-race" - (the binteger 52) - dm-task-reminder - ) - (flag - "rolling-robbers" - (the binteger 53) - dm-task-reminder - ) - (flag - "rolling-moles" - (the binteger 54) - dm-task-reminder - ) - (flag - "rolling-plants" - (the binteger 55) - dm-task-reminder - ) - (flag - "rolling-lake" - (the binteger 56) - dm-task-reminder - ) - (flag - "rolling-buzzer" - (the binteger 57) - dm-task-reminder - ) - (flag - "rolling-ring-chase-1" - (the binteger 58) - dm-task-reminder - ) - (flag - "rolling-ring-chase-2" - (the binteger 59) - dm-task-reminder - ) - (flag - "snow-eggtop" - (the binteger 60) - dm-task-reminder - ) - (flag - "snow-ram" - (the binteger 61) - dm-task-reminder - ) - (flag - "snow-fort" - (the binteger 62) - dm-task-reminder - ) - (flag - "snow-ball" - (the binteger 63) - dm-task-reminder - ) - (flag - "snow-bunnies" - (the binteger 64) - dm-task-reminder - ) - (flag - "snow-buzzer" - (the binteger 65) - dm-task-reminder - ) - (flag - "snow-bumpers" - (the binteger 66) - dm-task-reminder - ) - (flag - "snow-cage" - (the binteger 67) - dm-task-reminder - ) - (flag - "firecanyon-buzzer" - (the binteger 68) - dm-task-reminder - ) - (flag - "firecanyon-end" - (the binteger 69) - dm-task-reminder - ) - (flag - "citadel-sage-green" - (the binteger 70) - dm-task-reminder - ) - (flag - "citadel-sage-blue" - (the binteger 71) - dm-task-reminder - ) - (flag - "citadel-sage-red" - (the binteger 72) - dm-task-reminder - ) - (flag - "citadel-sage-yellow" - (the binteger 73) - dm-task-reminder - ) - (flag - "village3-extra1" - (the binteger 74) - dm-task-reminder - ) - (flag - "village1-buzzer" - (the binteger 75) - dm-task-reminder - ) - (flag - "village2-buzzer" - (the binteger 76) - dm-task-reminder - ) - (flag - "village3-buzzer" - (the binteger 77) - dm-task-reminder - ) - (flag - "cave-gnawers" - (the binteger 78) - dm-task-reminder - ) - (flag - "cave-dark-crystals" - (the binteger 79) - dm-task-reminder - ) - (flag - "cave-dark-climb" - (the binteger 80) - dm-task-reminder - ) - (flag - "cave-robot-climb" - (the binteger 81) - dm-task-reminder - ) - (flag - "cave-swing-poles" - (the binteger 82) - dm-task-reminder - ) - (flag - "cave-spider-tunnel" - (the binteger 83) - dm-task-reminder - ) - (flag - "cave-platforms" - (the binteger 84) - dm-task-reminder - ) - (flag - "cave-buzzer" - (the binteger 85) - dm-task-reminder - ) - (flag - "ogre-boss" - (the binteger 86) - dm-task-reminder - ) - (flag - "ogre-end" - (the binteger 87) - dm-task-reminder - ) - (flag - "ogre-buzzer" - (the binteger 88) - dm-task-reminder - ) - (flag - "lavatube-end" - (the binteger 89) - dm-task-reminder - ) - (flag - "lavatube-buzzer" - (the binteger 90) - dm-task-reminder - ) - (flag - "citadel-buzzer" - (the binteger 91) - dm-task-reminder - ) - (flag - "training-gimmie" - (the binteger 92) - dm-task-reminder - ) - (flag - "training-door" - (the binteger 93) - dm-task-reminder - ) - (flag - "training-climb" - (the binteger 94) - dm-task-reminder - ) - (flag - "training-buzzer" - (the binteger 95) - dm-task-reminder - ) - (flag - "village3-miner-money1" - (the binteger 96) - dm-task-reminder - ) - (flag - "village3-miner-money2" - (the binteger 97) - dm-task-reminder - ) - (flag - "village3-miner-money3" - (the binteger 98) - dm-task-reminder - ) - (flag - "village3-miner-money4" - (the binteger 99) - dm-task-reminder - ) - (flag - "village3-oracle-money1" - (the binteger 100) - dm-task-reminder - ) - (flag - "village3-oracle-money2" - (the binteger 101) - dm-task-reminder - ) - (flag - "firecanyon-assistant" - (the binteger 102) - dm-task-reminder - ) - (flag - "village2-levitator" - (the binteger 103) - dm-task-reminder - ) - (flag - "swamp-arm" - (the binteger 104) - dm-task-reminder - ) - (flag - "village3-button" - (the binteger 105) - dm-task-reminder - ) - (flag - "red-eggtop" - (the binteger 106) - dm-task-reminder - ) - (flag - "lavatube-balls" - (the binteger 107) - dm-task-reminder - ) - (flag - "lavatube-start" - (the binteger 108) - dm-task-reminder - ) - (flag - "intro" - (the binteger 109) - dm-task-reminder - ) - (flag - "ogre-secret" - (the binteger 110) - dm-task-reminder - ) - (flag - "village4-button" - (the binteger 111) - dm-task-reminder - ) - (flag - "finalboss-movies" - (the binteger 112) - dm-task-reminder - ) - (flag - "plunger-lurker-hit" - (the binteger 113) - dm-task-reminder - ) - (flag - "leaving-misty" - (the binteger 114) - dm-task-reminder - ) - (flag - "assistant-village3" - (the binteger 115) - dm-task-reminder - ) - #f #f #f #f #f #f #f #f - ) - ) + (the-as debug-menu arg0) + (the-as + debug-menu-item + (debug-menu-make-from-template arg1 '(menu + "need-reminder" + #f + #f + (flag "jungle-eggtop" (the binteger 2) dm-task-reminder) + (flag "jungle-lurkerm" (the binteger 3) dm-task-reminder) + (flag "jungle-tower" (the binteger 4) dm-task-reminder) + (flag "jungle-fishgame" (the binteger 5) dm-task-reminder) + (flag "jungle-plant" (the binteger 6) dm-task-reminder) + (flag "jungle-buzzer" (the binteger 7) dm-task-reminder) + (flag "jungle-canyon-end" (the binteger 8) dm-task-reminder) + (flag "jungle-temple-door" (the binteger 9) dm-task-reminder) + (flag "village1-yakow" (the binteger 10) dm-task-reminder) + (flag "village1-mayor-money" (the binteger 11) dm-task-reminder) + (flag "village1-uncle-money" (the binteger 12) dm-task-reminder) + (flag "village1-oracle-money1" (the binteger 13) dm-task-reminder) + (flag "village1-oracle-money2" (the binteger 14) dm-task-reminder) + (flag "beach-ecorocks" (the binteger 15) dm-task-reminder) + (flag "beach-pelican" (the binteger 16) dm-task-reminder) + (flag "beach-flutflut" (the binteger 17) dm-task-reminder) + (flag "beach-seagull" (the binteger 18) dm-task-reminder) + (flag "beach-cannon" (the binteger 19) dm-task-reminder) + (flag "beach-buzzer" (the binteger 20) dm-task-reminder) + (flag "beach-gimmie" (the binteger 21) dm-task-reminder) + (flag "beach-sentinel" (the binteger 22) dm-task-reminder) + (flag "misty-muse" (the binteger 23) dm-task-reminder) + (flag "misty-boat" (the binteger 24) dm-task-reminder) + (flag "misty-warehouse" (the binteger 25) dm-task-reminder) + (flag "misty-cannon" (the binteger 26) dm-task-reminder) + (flag "misty-bike" (the binteger 27) dm-task-reminder) + (flag "misty-buzzer" (the binteger 28) dm-task-reminder) + (flag "misty-bike-jump" (the binteger 29) dm-task-reminder) + (flag "misty-eco-challenge" (the binteger 30) dm-task-reminder) + (flag "village2-gambler-money" (the binteger 31) dm-task-reminder) + (flag "village2-geologist-money" (the binteger 32) dm-task-reminder) + (flag "village2-warrior-money" (the binteger 33) dm-task-reminder) + (flag "village2-oracle-money1" (the binteger 34) dm-task-reminder) + (flag "village2-oracle-money2" (the binteger 35) dm-task-reminder) + (flag "swamp-billy" (the binteger 36) dm-task-reminder) + (flag "swamp-flutflut" (the binteger 37) dm-task-reminder) + (flag "swamp-battle" (the binteger 38) dm-task-reminder) + (flag "swamp-tether-1" (the binteger 39) dm-task-reminder) + (flag "swamp-tether-2" (the binteger 40) dm-task-reminder) + (flag "swamp-tether-3" (the binteger 41) dm-task-reminder) + (flag "swamp-tether-4" (the binteger 42) dm-task-reminder) + (flag "swamp-buzzer" (the binteger 43) dm-task-reminder) + (flag "sunken-platforms" (the binteger 44) dm-task-reminder) + (flag "sunken-pipe" (the binteger 45) dm-task-reminder) + (flag "sunken-slide" (the binteger 46) dm-task-reminder) + (flag "sunken-room" (the binteger 47) dm-task-reminder) + (flag "sunken-sharks" (the binteger 48) dm-task-reminder) + (flag "sunken-buzzer" (the binteger 49) dm-task-reminder) + (flag "sunken-top-of-helix" (the binteger 50) dm-task-reminder) + (flag "sunken-spinning-room" (the binteger 51) dm-task-reminder) + (flag "rolling-race" (the binteger 52) dm-task-reminder) + (flag "rolling-robbers" (the binteger 53) dm-task-reminder) + (flag "rolling-moles" (the binteger 54) dm-task-reminder) + (flag "rolling-plants" (the binteger 55) dm-task-reminder) + (flag "rolling-lake" (the binteger 56) dm-task-reminder) + (flag "rolling-buzzer" (the binteger 57) dm-task-reminder) + (flag "rolling-ring-chase-1" (the binteger 58) dm-task-reminder) + (flag "rolling-ring-chase-2" (the binteger 59) dm-task-reminder) + (flag "snow-eggtop" (the binteger 60) dm-task-reminder) + (flag "snow-ram" (the binteger 61) dm-task-reminder) + (flag "snow-fort" (the binteger 62) dm-task-reminder) + (flag "snow-ball" (the binteger 63) dm-task-reminder) + (flag "snow-bunnies" (the binteger 64) dm-task-reminder) + (flag "snow-buzzer" (the binteger 65) dm-task-reminder) + (flag "snow-bumpers" (the binteger 66) dm-task-reminder) + (flag "snow-cage" (the binteger 67) dm-task-reminder) + (flag "firecanyon-buzzer" (the binteger 68) dm-task-reminder) + (flag "firecanyon-end" (the binteger 69) dm-task-reminder) + (flag "citadel-sage-green" (the binteger 70) dm-task-reminder) + (flag "citadel-sage-blue" (the binteger 71) dm-task-reminder) + (flag "citadel-sage-red" (the binteger 72) dm-task-reminder) + (flag "citadel-sage-yellow" (the binteger 73) dm-task-reminder) + (flag "village3-extra1" (the binteger 74) dm-task-reminder) + (flag "village1-buzzer" (the binteger 75) dm-task-reminder) + (flag "village2-buzzer" (the binteger 76) dm-task-reminder) + (flag "village3-buzzer" (the binteger 77) dm-task-reminder) + (flag "cave-gnawers" (the binteger 78) dm-task-reminder) + (flag "cave-dark-crystals" (the binteger 79) dm-task-reminder) + (flag "cave-dark-climb" (the binteger 80) dm-task-reminder) + (flag "cave-robot-climb" (the binteger 81) dm-task-reminder) + (flag "cave-swing-poles" (the binteger 82) dm-task-reminder) + (flag "cave-spider-tunnel" (the binteger 83) dm-task-reminder) + (flag "cave-platforms" (the binteger 84) dm-task-reminder) + (flag "cave-buzzer" (the binteger 85) dm-task-reminder) + (flag "ogre-boss" (the binteger 86) dm-task-reminder) + (flag "ogre-end" (the binteger 87) dm-task-reminder) + (flag "ogre-buzzer" (the binteger 88) dm-task-reminder) + (flag "lavatube-end" (the binteger 89) dm-task-reminder) + (flag "lavatube-buzzer" (the binteger 90) dm-task-reminder) + (flag "citadel-buzzer" (the binteger 91) dm-task-reminder) + (flag "training-gimmie" (the binteger 92) dm-task-reminder) + (flag "training-door" (the binteger 93) dm-task-reminder) + (flag "training-climb" (the binteger 94) dm-task-reminder) + (flag "training-buzzer" (the binteger 95) dm-task-reminder) + (flag "village3-miner-money1" (the binteger 96) dm-task-reminder) + (flag "village3-miner-money2" (the binteger 97) dm-task-reminder) + (flag "village3-miner-money3" (the binteger 98) dm-task-reminder) + (flag "village3-miner-money4" (the binteger 99) dm-task-reminder) + (flag "village3-oracle-money1" (the binteger 100) dm-task-reminder) + (flag "village3-oracle-money2" (the binteger 101) dm-task-reminder) + (flag "firecanyon-assistant" (the binteger 102) dm-task-reminder) + (flag "village2-levitator" (the binteger 103) dm-task-reminder) + (flag "swamp-arm" (the binteger 104) dm-task-reminder) + (flag "village3-button" (the binteger 105) dm-task-reminder) + (flag "red-eggtop" (the binteger 106) dm-task-reminder) + (flag "lavatube-balls" (the binteger 107) dm-task-reminder) + (flag "lavatube-start" (the binteger 108) dm-task-reminder) + (flag "intro" (the binteger 109) dm-task-reminder) + (flag "ogre-secret" (the binteger 110) dm-task-reminder) + (flag "village4-button" (the binteger 111) dm-task-reminder) + (flag "finalboss-movies" (the binteger 112) dm-task-reminder) + (flag "plunger-lurker-hit" (the binteger 113) dm-task-reminder) + (flag "leaving-misty" (the binteger 114) dm-task-reminder) + (flag "assistant-village3" (the binteger 115) dm-task-reminder) + #f + #f + #f + #f + #f + #f + #f + #f + ) + ) + ) ) - ) ) ;; definition for function debug-menu-make-task-need-reward-speech-menu -(defun - debug-menu-make-task-need-reward-speech-menu - ((arg0 debug-menu-context) (arg1 debug-menu-context)) +(defun debug-menu-make-task-need-reward-speech-menu ((arg0 debug-menu-context) (arg1 debug-menu-context)) (debug-menu-append-item - (the-as debug-menu arg0) - (the-as - debug-menu-item - (debug-menu-make-from-template - arg1 - '( - menu "need-reward-speech" #f #f (flag - "jungle-eggtop" - (the binteger 2) - dm-task-reward-speech - ) - (flag - "jungle-lurkerm" - (the binteger 3) - dm-task-reward-speech - ) - (flag - "jungle-tower" - (the binteger 4) - dm-task-reward-speech - ) - (flag - "jungle-fishgame" - (the binteger 5) - dm-task-reward-speech - ) - (flag - "jungle-plant" - (the binteger 6) - dm-task-reward-speech - ) - (flag - "jungle-buzzer" - (the binteger 7) - dm-task-reward-speech - ) - (flag - "jungle-canyon-end" - (the binteger 8) - dm-task-reward-speech - ) - (flag - "jungle-temple-door" - (the binteger 9) - dm-task-reward-speech - ) - (flag - "village1-yakow" - (the binteger 10) - dm-task-reward-speech - ) - (flag - "village1-mayor-money" - (the binteger 11) - dm-task-reward-speech - ) - (flag - "village1-uncle-money" - (the binteger 12) - dm-task-reward-speech - ) - (flag - "village1-oracle-money1" - (the binteger 13) - dm-task-reward-speech - ) - (flag - "village1-oracle-money2" - (the binteger 14) - dm-task-reward-speech - ) - (flag - "beach-ecorocks" - (the binteger 15) - dm-task-reward-speech - ) - (flag - "beach-pelican" - (the binteger 16) - dm-task-reward-speech - ) - (flag - "beach-flutflut" - (the binteger 17) - dm-task-reward-speech - ) - (flag - "beach-seagull" - (the binteger 18) - dm-task-reward-speech - ) - (flag - "beach-cannon" - (the binteger 19) - dm-task-reward-speech - ) - (flag - "beach-buzzer" - (the binteger 20) - dm-task-reward-speech - ) - (flag - "beach-gimmie" - (the binteger 21) - dm-task-reward-speech - ) - (flag - "beach-sentinel" - (the binteger 22) - dm-task-reward-speech - ) - (flag - "misty-muse" - (the binteger 23) - dm-task-reward-speech - ) - (flag - "misty-boat" - (the binteger 24) - dm-task-reward-speech - ) - (flag - "misty-warehouse" - (the binteger 25) - dm-task-reward-speech - ) - (flag - "misty-cannon" - (the binteger 26) - dm-task-reward-speech - ) - (flag - "misty-bike" - (the binteger 27) - dm-task-reward-speech - ) - (flag - "misty-buzzer" - (the binteger 28) - dm-task-reward-speech - ) - (flag - "misty-bike-jump" - (the binteger 29) - dm-task-reward-speech - ) - (flag - "misty-eco-challenge" - (the binteger 30) - dm-task-reward-speech - ) - (flag - "village2-gambler-money" - (the binteger 31) - dm-task-reward-speech - ) - (flag - "village2-geologist-money" - (the binteger 32) - dm-task-reward-speech - ) - (flag - "village2-warrior-money" - (the binteger 33) - dm-task-reward-speech - ) - (flag - "village2-oracle-money1" - (the binteger 34) - dm-task-reward-speech - ) - (flag - "village2-oracle-money2" - (the binteger 35) - dm-task-reward-speech - ) - (flag - "swamp-billy" - (the binteger 36) - dm-task-reward-speech - ) - (flag - "swamp-flutflut" - (the binteger 37) - dm-task-reward-speech - ) - (flag - "swamp-battle" - (the binteger 38) - dm-task-reward-speech - ) - (flag - "swamp-tether-1" - (the binteger 39) - dm-task-reward-speech - ) - (flag - "swamp-tether-2" - (the binteger 40) - dm-task-reward-speech - ) - (flag - "swamp-tether-3" - (the binteger 41) - dm-task-reward-speech - ) - (flag - "swamp-tether-4" - (the binteger 42) - dm-task-reward-speech - ) - (flag - "swamp-buzzer" - (the binteger 43) - dm-task-reward-speech - ) - (flag - "sunken-platforms" - (the binteger 44) - dm-task-reward-speech - ) - (flag - "sunken-pipe" - (the binteger 45) - dm-task-reward-speech - ) - (flag - "sunken-slide" - (the binteger 46) - dm-task-reward-speech - ) - (flag - "sunken-room" - (the binteger 47) - dm-task-reward-speech - ) - (flag - "sunken-sharks" - (the binteger 48) - dm-task-reward-speech - ) - (flag - "sunken-buzzer" - (the binteger 49) - dm-task-reward-speech - ) - (flag - "sunken-top-of-helix" - (the binteger 50) - dm-task-reward-speech - ) - (flag - "sunken-spinning-room" - (the binteger 51) - dm-task-reward-speech - ) - (flag - "rolling-race" - (the binteger 52) - dm-task-reward-speech - ) - (flag - "rolling-robbers" - (the binteger 53) - dm-task-reward-speech - ) - (flag - "rolling-moles" - (the binteger 54) - dm-task-reward-speech - ) - (flag - "rolling-plants" - (the binteger 55) - dm-task-reward-speech - ) - (flag - "rolling-lake" - (the binteger 56) - dm-task-reward-speech - ) - (flag - "rolling-buzzer" - (the binteger 57) - dm-task-reward-speech - ) - (flag - "rolling-ring-chase-1" - (the binteger 58) - dm-task-reward-speech - ) - (flag - "rolling-ring-chase-2" - (the binteger 59) - dm-task-reward-speech - ) - (flag - "snow-eggtop" - (the binteger 60) - dm-task-reward-speech - ) - (flag - "snow-ram" - (the binteger 61) - dm-task-reward-speech - ) - (flag - "snow-fort" - (the binteger 62) - dm-task-reward-speech - ) - (flag - "snow-ball" - (the binteger 63) - dm-task-reward-speech - ) - (flag - "snow-bunnies" - (the binteger 64) - dm-task-reward-speech - ) - (flag - "snow-buzzer" - (the binteger 65) - dm-task-reward-speech - ) - (flag - "snow-bumpers" - (the binteger 66) - dm-task-reward-speech - ) - (flag - "snow-cage" - (the binteger 67) - dm-task-reward-speech - ) - (flag - "firecanyon-buzzer" - (the binteger 68) - dm-task-reward-speech - ) - (flag - "firecanyon-end" - (the binteger 69) - dm-task-reward-speech - ) - (flag - "citadel-sage-green" - (the binteger 70) - dm-task-reward-speech - ) - (flag - "citadel-sage-blue" - (the binteger 71) - dm-task-reward-speech - ) - (flag - "citadel-sage-red" - (the binteger 72) - dm-task-reward-speech - ) - (flag - "citadel-sage-yellow" - (the binteger 73) - dm-task-reward-speech - ) - (flag - "village3-extra1" - (the binteger 74) - dm-task-reward-speech - ) - (flag - "village1-buzzer" - (the binteger 75) - dm-task-reward-speech - ) - (flag - "village2-buzzer" - (the binteger 76) - dm-task-reward-speech - ) - (flag - "village3-buzzer" - (the binteger 77) - dm-task-reward-speech - ) - (flag - "cave-gnawers" - (the binteger 78) - dm-task-reward-speech - ) - (flag - "cave-dark-crystals" - (the binteger 79) - dm-task-reward-speech - ) - (flag - "cave-dark-climb" - (the binteger 80) - dm-task-reward-speech - ) - (flag - "cave-robot-climb" - (the binteger 81) - dm-task-reward-speech - ) - (flag - "cave-swing-poles" - (the binteger 82) - dm-task-reward-speech - ) - (flag - "cave-spider-tunnel" - (the binteger 83) - dm-task-reward-speech - ) - (flag - "cave-platforms" - (the binteger 84) - dm-task-reward-speech - ) - (flag - "cave-buzzer" - (the binteger 85) - dm-task-reward-speech - ) - (flag - "ogre-boss" - (the binteger 86) - dm-task-reward-speech - ) - (flag - "ogre-end" - (the binteger 87) - dm-task-reward-speech - ) - (flag - "ogre-buzzer" - (the binteger 88) - dm-task-reward-speech - ) - (flag - "lavatube-end" - (the binteger 89) - dm-task-reward-speech - ) - (flag - "lavatube-buzzer" - (the binteger 90) - dm-task-reward-speech - ) - (flag - "citadel-buzzer" - (the binteger 91) - dm-task-reward-speech - ) - (flag - "training-gimmie" - (the binteger 92) - dm-task-reward-speech - ) - (flag - "training-door" - (the binteger 93) - dm-task-reward-speech - ) - (flag - "training-climb" - (the binteger 94) - dm-task-reward-speech - ) - (flag - "training-buzzer" - (the binteger 95) - dm-task-reward-speech - ) - (flag - "village3-miner-money1" - (the binteger 96) - dm-task-reward-speech - ) - (flag - "village3-miner-money2" - (the binteger 97) - dm-task-reward-speech - ) - (flag - "village3-miner-money3" - (the binteger 98) - dm-task-reward-speech - ) - (flag - "village3-miner-money4" - (the binteger 99) - dm-task-reward-speech - ) - (flag - "village3-oracle-money1" - (the binteger 100) - dm-task-reward-speech - ) - (flag - "village3-oracle-money2" - (the binteger 101) - dm-task-reward-speech - ) - (flag - "firecanyon-assistant" - (the binteger 102) - dm-task-reward-speech - ) - (flag - "village2-levitator" - (the binteger 103) - dm-task-reward-speech - ) - (flag - "swamp-arm" - (the binteger 104) - dm-task-reward-speech - ) - (flag - "village3-button" - (the binteger 105) - dm-task-reward-speech - ) - (flag - "red-eggtop" - (the binteger 106) - dm-task-reward-speech - ) - (flag - "lavatube-balls" - (the binteger 107) - dm-task-reward-speech - ) - (flag - "lavatube-start" - (the binteger 108) - dm-task-reward-speech - ) - (flag - "intro" - (the binteger 109) - dm-task-reward-speech - ) - (flag - "ogre-secret" - (the binteger 110) - dm-task-reward-speech - ) - (flag - "village4-button" - (the binteger 111) - dm-task-reward-speech - ) - (flag - "finalboss-movies" - (the binteger 112) - dm-task-reward-speech - ) - (flag - "plunger-lurker-hit" - (the binteger 113) - dm-task-reward-speech - ) - (flag - "leaving-misty" - (the binteger 114) - dm-task-reward-speech - ) - (flag - "assistant-village3" - (the binteger 115) - dm-task-reward-speech - ) - #f #f #f #f #f #f #f #f - ) - ) + (the-as debug-menu arg0) + (the-as debug-menu-item (debug-menu-make-from-template + arg1 + '(menu + "need-reward-speech" + #f + #f + (flag "jungle-eggtop" (the binteger 2) dm-task-reward-speech) + (flag "jungle-lurkerm" (the binteger 3) dm-task-reward-speech) + (flag "jungle-tower" (the binteger 4) dm-task-reward-speech) + (flag "jungle-fishgame" (the binteger 5) dm-task-reward-speech) + (flag "jungle-plant" (the binteger 6) dm-task-reward-speech) + (flag "jungle-buzzer" (the binteger 7) dm-task-reward-speech) + (flag "jungle-canyon-end" (the binteger 8) dm-task-reward-speech) + (flag "jungle-temple-door" (the binteger 9) dm-task-reward-speech) + (flag "village1-yakow" (the binteger 10) dm-task-reward-speech) + (flag "village1-mayor-money" (the binteger 11) dm-task-reward-speech) + (flag "village1-uncle-money" (the binteger 12) dm-task-reward-speech) + (flag "village1-oracle-money1" (the binteger 13) dm-task-reward-speech) + (flag "village1-oracle-money2" (the binteger 14) dm-task-reward-speech) + (flag "beach-ecorocks" (the binteger 15) dm-task-reward-speech) + (flag "beach-pelican" (the binteger 16) dm-task-reward-speech) + (flag "beach-flutflut" (the binteger 17) dm-task-reward-speech) + (flag "beach-seagull" (the binteger 18) dm-task-reward-speech) + (flag "beach-cannon" (the binteger 19) dm-task-reward-speech) + (flag "beach-buzzer" (the binteger 20) dm-task-reward-speech) + (flag "beach-gimmie" (the binteger 21) dm-task-reward-speech) + (flag "beach-sentinel" (the binteger 22) dm-task-reward-speech) + (flag "misty-muse" (the binteger 23) dm-task-reward-speech) + (flag "misty-boat" (the binteger 24) dm-task-reward-speech) + (flag "misty-warehouse" (the binteger 25) dm-task-reward-speech) + (flag "misty-cannon" (the binteger 26) dm-task-reward-speech) + (flag "misty-bike" (the binteger 27) dm-task-reward-speech) + (flag "misty-buzzer" (the binteger 28) dm-task-reward-speech) + (flag "misty-bike-jump" (the binteger 29) dm-task-reward-speech) + (flag "misty-eco-challenge" (the binteger 30) dm-task-reward-speech) + (flag "village2-gambler-money" (the binteger 31) dm-task-reward-speech) + (flag "village2-geologist-money" (the binteger 32) dm-task-reward-speech) + (flag "village2-warrior-money" (the binteger 33) dm-task-reward-speech) + (flag "village2-oracle-money1" (the binteger 34) dm-task-reward-speech) + (flag "village2-oracle-money2" (the binteger 35) dm-task-reward-speech) + (flag "swamp-billy" (the binteger 36) dm-task-reward-speech) + (flag "swamp-flutflut" (the binteger 37) dm-task-reward-speech) + (flag "swamp-battle" (the binteger 38) dm-task-reward-speech) + (flag "swamp-tether-1" (the binteger 39) dm-task-reward-speech) + (flag "swamp-tether-2" (the binteger 40) dm-task-reward-speech) + (flag "swamp-tether-3" (the binteger 41) dm-task-reward-speech) + (flag "swamp-tether-4" (the binteger 42) dm-task-reward-speech) + (flag "swamp-buzzer" (the binteger 43) dm-task-reward-speech) + (flag "sunken-platforms" (the binteger 44) dm-task-reward-speech) + (flag "sunken-pipe" (the binteger 45) dm-task-reward-speech) + (flag "sunken-slide" (the binteger 46) dm-task-reward-speech) + (flag "sunken-room" (the binteger 47) dm-task-reward-speech) + (flag "sunken-sharks" (the binteger 48) dm-task-reward-speech) + (flag "sunken-buzzer" (the binteger 49) dm-task-reward-speech) + (flag "sunken-top-of-helix" (the binteger 50) dm-task-reward-speech) + (flag "sunken-spinning-room" (the binteger 51) dm-task-reward-speech) + (flag "rolling-race" (the binteger 52) dm-task-reward-speech) + (flag "rolling-robbers" (the binteger 53) dm-task-reward-speech) + (flag "rolling-moles" (the binteger 54) dm-task-reward-speech) + (flag "rolling-plants" (the binteger 55) dm-task-reward-speech) + (flag "rolling-lake" (the binteger 56) dm-task-reward-speech) + (flag "rolling-buzzer" (the binteger 57) dm-task-reward-speech) + (flag "rolling-ring-chase-1" (the binteger 58) dm-task-reward-speech) + (flag "rolling-ring-chase-2" (the binteger 59) dm-task-reward-speech) + (flag "snow-eggtop" (the binteger 60) dm-task-reward-speech) + (flag "snow-ram" (the binteger 61) dm-task-reward-speech) + (flag "snow-fort" (the binteger 62) dm-task-reward-speech) + (flag "snow-ball" (the binteger 63) dm-task-reward-speech) + (flag "snow-bunnies" (the binteger 64) dm-task-reward-speech) + (flag "snow-buzzer" (the binteger 65) dm-task-reward-speech) + (flag "snow-bumpers" (the binteger 66) dm-task-reward-speech) + (flag "snow-cage" (the binteger 67) dm-task-reward-speech) + (flag "firecanyon-buzzer" (the binteger 68) dm-task-reward-speech) + (flag "firecanyon-end" (the binteger 69) dm-task-reward-speech) + (flag "citadel-sage-green" (the binteger 70) dm-task-reward-speech) + (flag "citadel-sage-blue" (the binteger 71) dm-task-reward-speech) + (flag "citadel-sage-red" (the binteger 72) dm-task-reward-speech) + (flag "citadel-sage-yellow" (the binteger 73) dm-task-reward-speech) + (flag "village3-extra1" (the binteger 74) dm-task-reward-speech) + (flag "village1-buzzer" (the binteger 75) dm-task-reward-speech) + (flag "village2-buzzer" (the binteger 76) dm-task-reward-speech) + (flag "village3-buzzer" (the binteger 77) dm-task-reward-speech) + (flag "cave-gnawers" (the binteger 78) dm-task-reward-speech) + (flag "cave-dark-crystals" (the binteger 79) dm-task-reward-speech) + (flag "cave-dark-climb" (the binteger 80) dm-task-reward-speech) + (flag "cave-robot-climb" (the binteger 81) dm-task-reward-speech) + (flag "cave-swing-poles" (the binteger 82) dm-task-reward-speech) + (flag "cave-spider-tunnel" (the binteger 83) dm-task-reward-speech) + (flag "cave-platforms" (the binteger 84) dm-task-reward-speech) + (flag "cave-buzzer" (the binteger 85) dm-task-reward-speech) + (flag "ogre-boss" (the binteger 86) dm-task-reward-speech) + (flag "ogre-end" (the binteger 87) dm-task-reward-speech) + (flag "ogre-buzzer" (the binteger 88) dm-task-reward-speech) + (flag "lavatube-end" (the binteger 89) dm-task-reward-speech) + (flag "lavatube-buzzer" (the binteger 90) dm-task-reward-speech) + (flag "citadel-buzzer" (the binteger 91) dm-task-reward-speech) + (flag "training-gimmie" (the binteger 92) dm-task-reward-speech) + (flag "training-door" (the binteger 93) dm-task-reward-speech) + (flag "training-climb" (the binteger 94) dm-task-reward-speech) + (flag "training-buzzer" (the binteger 95) dm-task-reward-speech) + (flag "village3-miner-money1" (the binteger 96) dm-task-reward-speech) + (flag "village3-miner-money2" (the binteger 97) dm-task-reward-speech) + (flag "village3-miner-money3" (the binteger 98) dm-task-reward-speech) + (flag "village3-miner-money4" (the binteger 99) dm-task-reward-speech) + (flag "village3-oracle-money1" (the binteger 100) dm-task-reward-speech) + (flag "village3-oracle-money2" (the binteger 101) dm-task-reward-speech) + (flag "firecanyon-assistant" (the binteger 102) dm-task-reward-speech) + (flag "village2-levitator" (the binteger 103) dm-task-reward-speech) + (flag "swamp-arm" (the binteger 104) dm-task-reward-speech) + (flag "village3-button" (the binteger 105) dm-task-reward-speech) + (flag "red-eggtop" (the binteger 106) dm-task-reward-speech) + (flag "lavatube-balls" (the binteger 107) dm-task-reward-speech) + (flag "lavatube-start" (the binteger 108) dm-task-reward-speech) + (flag "intro" (the binteger 109) dm-task-reward-speech) + (flag "ogre-secret" (the binteger 110) dm-task-reward-speech) + (flag "village4-button" (the binteger 111) dm-task-reward-speech) + (flag "finalboss-movies" (the binteger 112) dm-task-reward-speech) + (flag "plunger-lurker-hit" (the binteger 113) dm-task-reward-speech) + (flag "leaving-misty" (the binteger 114) dm-task-reward-speech) + (flag "assistant-village3" (the binteger 115) dm-task-reward-speech) + #f + #f + #f + #f + #f + #f + #f + #f + ) + ) + ) ) - ) ) ;; definition for function debug-menu-make-task-need-resolution-menu -(defun - debug-menu-make-task-need-resolution-menu - ((arg0 debug-menu-context) (arg1 debug-menu-context)) +(defun debug-menu-make-task-need-resolution-menu ((arg0 debug-menu-context) (arg1 debug-menu-context)) (debug-menu-append-item - (the-as debug-menu arg0) - (the-as - debug-menu-item - (debug-menu-make-from-template - arg1 - '( - menu "need-resolution" #f #f (flag - "jungle-eggtop" - (the binteger 2) - dm-task-resolution - ) - (flag - "jungle-lurkerm" - (the binteger 3) - dm-task-resolution - ) - (flag - "jungle-tower" - (the binteger 4) - dm-task-resolution - ) - (flag - "jungle-fishgame" - (the binteger 5) - dm-task-resolution - ) - (flag - "jungle-plant" - (the binteger 6) - dm-task-resolution - ) - (flag - "jungle-buzzer" - (the binteger 7) - dm-task-resolution - ) - (flag - "jungle-canyon-end" - (the binteger 8) - dm-task-resolution - ) - (flag - "jungle-temple-door" - (the binteger 9) - dm-task-resolution - ) - (flag - "village1-yakow" - (the binteger 10) - dm-task-resolution - ) - (flag - "village1-mayor-money" - (the binteger 11) - dm-task-resolution - ) - (flag - "village1-uncle-money" - (the binteger 12) - dm-task-resolution - ) - (flag - "village1-oracle-money1" - (the binteger 13) - dm-task-resolution - ) - (flag - "village1-oracle-money2" - (the binteger 14) - dm-task-resolution - ) - (flag - "beach-ecorocks" - (the binteger 15) - dm-task-resolution - ) - (flag - "beach-pelican" - (the binteger 16) - dm-task-resolution - ) - (flag - "beach-flutflut" - (the binteger 17) - dm-task-resolution - ) - (flag - "beach-seagull" - (the binteger 18) - dm-task-resolution - ) - (flag - "beach-cannon" - (the binteger 19) - dm-task-resolution - ) - (flag - "beach-buzzer" - (the binteger 20) - dm-task-resolution - ) - (flag - "beach-gimmie" - (the binteger 21) - dm-task-resolution - ) - (flag - "beach-sentinel" - (the binteger 22) - dm-task-resolution - ) - (flag - "misty-muse" - (the binteger 23) - dm-task-resolution - ) - (flag - "misty-boat" - (the binteger 24) - dm-task-resolution - ) - (flag - "misty-warehouse" - (the binteger 25) - dm-task-resolution - ) - (flag - "misty-cannon" - (the binteger 26) - dm-task-resolution - ) - (flag - "misty-bike" - (the binteger 27) - dm-task-resolution - ) - (flag - "misty-buzzer" - (the binteger 28) - dm-task-resolution - ) - (flag - "misty-bike-jump" - (the binteger 29) - dm-task-resolution - ) - (flag - "misty-eco-challenge" - (the binteger 30) - dm-task-resolution - ) - (flag - "village2-gambler-money" - (the binteger 31) - dm-task-resolution - ) - (flag - "village2-geologist-money" - (the binteger 32) - dm-task-resolution - ) - (flag - "village2-warrior-money" - (the binteger 33) - dm-task-resolution - ) - (flag - "village2-oracle-money1" - (the binteger 34) - dm-task-resolution - ) - (flag - "village2-oracle-money2" - (the binteger 35) - dm-task-resolution - ) - (flag - "swamp-billy" - (the binteger 36) - dm-task-resolution - ) - (flag - "swamp-flutflut" - (the binteger 37) - dm-task-resolution - ) - (flag - "swamp-battle" - (the binteger 38) - dm-task-resolution - ) - (flag - "swamp-tether-1" - (the binteger 39) - dm-task-resolution - ) - (flag - "swamp-tether-2" - (the binteger 40) - dm-task-resolution - ) - (flag - "swamp-tether-3" - (the binteger 41) - dm-task-resolution - ) - (flag - "swamp-tether-4" - (the binteger 42) - dm-task-resolution - ) - (flag - "swamp-buzzer" - (the binteger 43) - dm-task-resolution - ) - (flag - "sunken-platforms" - (the binteger 44) - dm-task-resolution - ) - (flag - "sunken-pipe" - (the binteger 45) - dm-task-resolution - ) - (flag - "sunken-slide" - (the binteger 46) - dm-task-resolution - ) - (flag - "sunken-room" - (the binteger 47) - dm-task-resolution - ) - (flag - "sunken-sharks" - (the binteger 48) - dm-task-resolution - ) - (flag - "sunken-buzzer" - (the binteger 49) - dm-task-resolution - ) - (flag - "sunken-top-of-helix" - (the binteger 50) - dm-task-resolution - ) - (flag - "sunken-spinning-room" - (the binteger 51) - dm-task-resolution - ) - (flag - "rolling-race" - (the binteger 52) - dm-task-resolution - ) - (flag - "rolling-robbers" - (the binteger 53) - dm-task-resolution - ) - (flag - "rolling-moles" - (the binteger 54) - dm-task-resolution - ) - (flag - "rolling-plants" - (the binteger 55) - dm-task-resolution - ) - (flag - "rolling-lake" - (the binteger 56) - dm-task-resolution - ) - (flag - "rolling-buzzer" - (the binteger 57) - dm-task-resolution - ) - (flag - "rolling-ring-chase-1" - (the binteger 58) - dm-task-resolution - ) - (flag - "rolling-ring-chase-2" - (the binteger 59) - dm-task-resolution - ) - (flag - "snow-eggtop" - (the binteger 60) - dm-task-resolution - ) - (flag - "snow-ram" - (the binteger 61) - dm-task-resolution - ) - (flag - "snow-fort" - (the binteger 62) - dm-task-resolution - ) - (flag - "snow-ball" - (the binteger 63) - dm-task-resolution - ) - (flag - "snow-bunnies" - (the binteger 64) - dm-task-resolution - ) - (flag - "snow-buzzer" - (the binteger 65) - dm-task-resolution - ) - (flag - "snow-bumpers" - (the binteger 66) - dm-task-resolution - ) - (flag - "snow-cage" - (the binteger 67) - dm-task-resolution - ) - (flag - "firecanyon-buzzer" - (the binteger 68) - dm-task-resolution - ) - (flag - "firecanyon-end" - (the binteger 69) - dm-task-resolution - ) - (flag - "citadel-sage-green" - (the binteger 70) - dm-task-resolution - ) - (flag - "citadel-sage-blue" - (the binteger 71) - dm-task-resolution - ) - (flag - "citadel-sage-red" - (the binteger 72) - dm-task-resolution - ) - (flag - "citadel-sage-yellow" - (the binteger 73) - dm-task-resolution - ) - (flag - "village3-extra1" - (the binteger 74) - dm-task-resolution - ) - (flag - "village1-buzzer" - (the binteger 75) - dm-task-resolution - ) - (flag - "village2-buzzer" - (the binteger 76) - dm-task-resolution - ) - (flag - "village3-buzzer" - (the binteger 77) - dm-task-resolution - ) - (flag - "cave-gnawers" - (the binteger 78) - dm-task-resolution - ) - (flag - "cave-dark-crystals" - (the binteger 79) - dm-task-resolution - ) - (flag - "cave-dark-climb" - (the binteger 80) - dm-task-resolution - ) - (flag - "cave-robot-climb" - (the binteger 81) - dm-task-resolution - ) - (flag - "cave-swing-poles" - (the binteger 82) - dm-task-resolution - ) - (flag - "cave-spider-tunnel" - (the binteger 83) - dm-task-resolution - ) - (flag - "cave-platforms" - (the binteger 84) - dm-task-resolution - ) - (flag - "cave-buzzer" - (the binteger 85) - dm-task-resolution - ) - (flag - "ogre-boss" - (the binteger 86) - dm-task-resolution - ) - (flag - "ogre-end" - (the binteger 87) - dm-task-resolution - ) - (flag - "ogre-buzzer" - (the binteger 88) - dm-task-resolution - ) - (flag - "lavatube-end" - (the binteger 89) - dm-task-resolution - ) - (flag - "lavatube-buzzer" - (the binteger 90) - dm-task-resolution - ) - (flag - "citadel-buzzer" - (the binteger 91) - dm-task-resolution - ) - (flag - "training-gimmie" - (the binteger 92) - dm-task-resolution - ) - (flag - "training-door" - (the binteger 93) - dm-task-resolution - ) - (flag - "training-climb" - (the binteger 94) - dm-task-resolution - ) - (flag - "training-buzzer" - (the binteger 95) - dm-task-resolution - ) - (flag - "village3-miner-money1" - (the binteger 96) - dm-task-resolution - ) - (flag - "village3-miner-money2" - (the binteger 97) - dm-task-resolution - ) - (flag - "village3-miner-money3" - (the binteger 98) - dm-task-resolution - ) - (flag - "village3-miner-money4" - (the binteger 99) - dm-task-resolution - ) - (flag - "village3-oracle-money1" - (the binteger 100) - dm-task-resolution - ) - (flag - "village3-oracle-money2" - (the binteger 101) - dm-task-resolution - ) - (flag - "firecanyon-assistant" - (the binteger 102) - dm-task-resolution - ) - (flag - "village2-levitator" - (the binteger 103) - dm-task-resolution - ) - (flag - "swamp-arm" - (the binteger 104) - dm-task-resolution - ) - (flag - "village3-button" - (the binteger 105) - dm-task-resolution - ) - (flag - "red-eggtop" - (the binteger 106) - dm-task-resolution - ) - (flag - "lavatube-balls" - (the binteger 107) - dm-task-resolution - ) - (flag - "lavatube-start" - (the binteger 108) - dm-task-resolution - ) - (flag - "intro" - (the binteger 109) - dm-task-resolution - ) - (flag - "ogre-secret" - (the binteger 110) - dm-task-resolution - ) - (flag - "village4-button" - (the binteger 111) - dm-task-resolution - ) - (flag - "finalboss-movies" - (the binteger 112) - dm-task-resolution - ) - (flag - "plunger-lurker-hit" - (the binteger 113) - dm-task-resolution - ) - (flag - "leaving-misty" - (the binteger 114) - dm-task-resolution - ) - (flag - "assistant-village3" - (the binteger 115) - dm-task-resolution - ) - #f #f #f #f #f #f #f #f - ) - ) + (the-as debug-menu arg0) + (the-as + debug-menu-item + (debug-menu-make-from-template arg1 '(menu + "need-resolution" + #f + #f + (flag "jungle-eggtop" (the binteger 2) dm-task-resolution) + (flag "jungle-lurkerm" (the binteger 3) dm-task-resolution) + (flag "jungle-tower" (the binteger 4) dm-task-resolution) + (flag "jungle-fishgame" (the binteger 5) dm-task-resolution) + (flag "jungle-plant" (the binteger 6) dm-task-resolution) + (flag "jungle-buzzer" (the binteger 7) dm-task-resolution) + (flag "jungle-canyon-end" (the binteger 8) dm-task-resolution) + (flag "jungle-temple-door" (the binteger 9) dm-task-resolution) + (flag "village1-yakow" (the binteger 10) dm-task-resolution) + (flag "village1-mayor-money" (the binteger 11) dm-task-resolution) + (flag "village1-uncle-money" (the binteger 12) dm-task-resolution) + (flag "village1-oracle-money1" (the binteger 13) dm-task-resolution) + (flag "village1-oracle-money2" (the binteger 14) dm-task-resolution) + (flag "beach-ecorocks" (the binteger 15) dm-task-resolution) + (flag "beach-pelican" (the binteger 16) dm-task-resolution) + (flag "beach-flutflut" (the binteger 17) dm-task-resolution) + (flag "beach-seagull" (the binteger 18) dm-task-resolution) + (flag "beach-cannon" (the binteger 19) dm-task-resolution) + (flag "beach-buzzer" (the binteger 20) dm-task-resolution) + (flag "beach-gimmie" (the binteger 21) dm-task-resolution) + (flag "beach-sentinel" (the binteger 22) dm-task-resolution) + (flag "misty-muse" (the binteger 23) dm-task-resolution) + (flag "misty-boat" (the binteger 24) dm-task-resolution) + (flag "misty-warehouse" (the binteger 25) dm-task-resolution) + (flag "misty-cannon" (the binteger 26) dm-task-resolution) + (flag "misty-bike" (the binteger 27) dm-task-resolution) + (flag "misty-buzzer" (the binteger 28) dm-task-resolution) + (flag "misty-bike-jump" (the binteger 29) dm-task-resolution) + (flag "misty-eco-challenge" (the binteger 30) dm-task-resolution) + (flag "village2-gambler-money" (the binteger 31) dm-task-resolution) + (flag "village2-geologist-money" (the binteger 32) dm-task-resolution) + (flag "village2-warrior-money" (the binteger 33) dm-task-resolution) + (flag "village2-oracle-money1" (the binteger 34) dm-task-resolution) + (flag "village2-oracle-money2" (the binteger 35) dm-task-resolution) + (flag "swamp-billy" (the binteger 36) dm-task-resolution) + (flag "swamp-flutflut" (the binteger 37) dm-task-resolution) + (flag "swamp-battle" (the binteger 38) dm-task-resolution) + (flag "swamp-tether-1" (the binteger 39) dm-task-resolution) + (flag "swamp-tether-2" (the binteger 40) dm-task-resolution) + (flag "swamp-tether-3" (the binteger 41) dm-task-resolution) + (flag "swamp-tether-4" (the binteger 42) dm-task-resolution) + (flag "swamp-buzzer" (the binteger 43) dm-task-resolution) + (flag "sunken-platforms" (the binteger 44) dm-task-resolution) + (flag "sunken-pipe" (the binteger 45) dm-task-resolution) + (flag "sunken-slide" (the binteger 46) dm-task-resolution) + (flag "sunken-room" (the binteger 47) dm-task-resolution) + (flag "sunken-sharks" (the binteger 48) dm-task-resolution) + (flag "sunken-buzzer" (the binteger 49) dm-task-resolution) + (flag "sunken-top-of-helix" (the binteger 50) dm-task-resolution) + (flag "sunken-spinning-room" (the binteger 51) dm-task-resolution) + (flag "rolling-race" (the binteger 52) dm-task-resolution) + (flag "rolling-robbers" (the binteger 53) dm-task-resolution) + (flag "rolling-moles" (the binteger 54) dm-task-resolution) + (flag "rolling-plants" (the binteger 55) dm-task-resolution) + (flag "rolling-lake" (the binteger 56) dm-task-resolution) + (flag "rolling-buzzer" (the binteger 57) dm-task-resolution) + (flag "rolling-ring-chase-1" (the binteger 58) dm-task-resolution) + (flag "rolling-ring-chase-2" (the binteger 59) dm-task-resolution) + (flag "snow-eggtop" (the binteger 60) dm-task-resolution) + (flag "snow-ram" (the binteger 61) dm-task-resolution) + (flag "snow-fort" (the binteger 62) dm-task-resolution) + (flag "snow-ball" (the binteger 63) dm-task-resolution) + (flag "snow-bunnies" (the binteger 64) dm-task-resolution) + (flag "snow-buzzer" (the binteger 65) dm-task-resolution) + (flag "snow-bumpers" (the binteger 66) dm-task-resolution) + (flag "snow-cage" (the binteger 67) dm-task-resolution) + (flag "firecanyon-buzzer" (the binteger 68) dm-task-resolution) + (flag "firecanyon-end" (the binteger 69) dm-task-resolution) + (flag "citadel-sage-green" (the binteger 70) dm-task-resolution) + (flag "citadel-sage-blue" (the binteger 71) dm-task-resolution) + (flag "citadel-sage-red" (the binteger 72) dm-task-resolution) + (flag "citadel-sage-yellow" (the binteger 73) dm-task-resolution) + (flag "village3-extra1" (the binteger 74) dm-task-resolution) + (flag "village1-buzzer" (the binteger 75) dm-task-resolution) + (flag "village2-buzzer" (the binteger 76) dm-task-resolution) + (flag "village3-buzzer" (the binteger 77) dm-task-resolution) + (flag "cave-gnawers" (the binteger 78) dm-task-resolution) + (flag "cave-dark-crystals" (the binteger 79) dm-task-resolution) + (flag "cave-dark-climb" (the binteger 80) dm-task-resolution) + (flag "cave-robot-climb" (the binteger 81) dm-task-resolution) + (flag "cave-swing-poles" (the binteger 82) dm-task-resolution) + (flag "cave-spider-tunnel" (the binteger 83) dm-task-resolution) + (flag "cave-platforms" (the binteger 84) dm-task-resolution) + (flag "cave-buzzer" (the binteger 85) dm-task-resolution) + (flag "ogre-boss" (the binteger 86) dm-task-resolution) + (flag "ogre-end" (the binteger 87) dm-task-resolution) + (flag "ogre-buzzer" (the binteger 88) dm-task-resolution) + (flag "lavatube-end" (the binteger 89) dm-task-resolution) + (flag "lavatube-buzzer" (the binteger 90) dm-task-resolution) + (flag "citadel-buzzer" (the binteger 91) dm-task-resolution) + (flag "training-gimmie" (the binteger 92) dm-task-resolution) + (flag "training-door" (the binteger 93) dm-task-resolution) + (flag "training-climb" (the binteger 94) dm-task-resolution) + (flag "training-buzzer" (the binteger 95) dm-task-resolution) + (flag "village3-miner-money1" (the binteger 96) dm-task-resolution) + (flag "village3-miner-money2" (the binteger 97) dm-task-resolution) + (flag "village3-miner-money3" (the binteger 98) dm-task-resolution) + (flag "village3-miner-money4" (the binteger 99) dm-task-resolution) + (flag "village3-oracle-money1" (the binteger 100) dm-task-resolution) + (flag "village3-oracle-money2" (the binteger 101) dm-task-resolution) + (flag "firecanyon-assistant" (the binteger 102) dm-task-resolution) + (flag "village2-levitator" (the binteger 103) dm-task-resolution) + (flag "swamp-arm" (the binteger 104) dm-task-resolution) + (flag "village3-button" (the binteger 105) dm-task-resolution) + (flag "red-eggtop" (the binteger 106) dm-task-resolution) + (flag "lavatube-balls" (the binteger 107) dm-task-resolution) + (flag "lavatube-start" (the binteger 108) dm-task-resolution) + (flag "intro" (the binteger 109) dm-task-resolution) + (flag "ogre-secret" (the binteger 110) dm-task-resolution) + (flag "village4-button" (the binteger 111) dm-task-resolution) + (flag "finalboss-movies" (the binteger 112) dm-task-resolution) + (flag "plunger-lurker-hit" (the binteger 113) dm-task-resolution) + (flag "leaving-misty" (the binteger 114) dm-task-resolution) + (flag "assistant-village3" (the binteger 115) dm-task-resolution) + #f + #f + #f + #f + #f + #f + #f + #f + ) + ) + ) ) - ) ) ;; definition for function dm-task-get-money (defun dm-task-get-money ((arg0 int) (arg1 int)) (with-pp - (if (= arg1 4) - (send-event *target* 'get-pickup 5 (-> *GAME-bank* money-task-inc)) + (if (= arg1 4) + (send-event *target* 'get-pickup 5 (-> *GAME-bank* money-task-inc)) + ) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) pp) + (set! (-> a1-2 num-params) 2) + (set! (-> a1-2 message) 'query) + (set! (-> a1-2 param 0) (the-as uint 'pickup)) + (set! (-> a1-2 param 1) (the-as uint 5)) + (>= (the-as float (send-event-function *target* a1-2)) (-> *GAME-bank* money-task-inc)) + ) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'pickup)) - (set! (-> a1-2 param 1) (the-as uint 5)) - (>= - (the-as float (send-event-function *target* a1-2)) - (-> *GAME-bank* money-task-inc) - ) - ) - ) ) ;; definition for function dm-give-all-cells (defun dm-give-all-cells ((arg0 int) (arg1 int)) (when (= arg1 4) - (dotimes (gp-0 100) - (send-event *target* 'get-pickup 6 (the float (+ gp-0 2))) - (close-specific-task! - (the-as game-task (+ gp-0 2)) - (task-status need-resolution) - ) + (dotimes (gp-0 100) + (send-event *target* 'get-pickup 6 (the float (+ gp-0 2))) + (close-specific-task! (the-as game-task (+ gp-0 2)) (task-status need-resolution)) + ) ) - ) (dotimes (gp-1 100) - (if - (not - (task-closed? (the-as game-task (+ gp-1 2)) (task-status need-resolution)) - ) - (return #f) + (if (not (task-closed? (the-as game-task (+ gp-1 2)) (task-status need-resolution))) + (return #f) + ) ) - ) #t ) @@ -7385,150 +3626,138 @@ ;; definition for function dm-levitator-ready (defun dm-levitator-ready ((arg0 int) (arg1 int)) (when (= arg1 4) - (close-specific-task! - (game-task village2-levitator) - (task-status need-introduction) + (close-specific-task! (game-task village2-levitator) (task-status need-introduction)) + (close-specific-task! (game-task village2-levitator) (task-status need-reminder-a)) + (dm-give-cell 2) + (dm-give-cell 3) + (dm-give-cell 4) + (dm-give-cell 5) + (dm-give-cell 6) + (dm-give-cell 7) + (dm-give-cell 8) + (dm-give-cell 9) + (dm-give-cell 10) + (dm-give-cell 11) + (dm-give-cell 12) + (dm-give-cell 13) + (dm-give-cell 14) + (dm-give-cell 15) + (dm-give-cell 16) + (dm-give-cell 17) + (dm-give-cell 18) + (dm-give-cell 19) + (dm-give-cell 20) + (dm-give-cell 21) + (dm-give-cell 22) + (dm-give-cell 23) + (dm-give-cell 24) + (dm-give-cell 25) + (dm-give-cell 26) + (dm-give-cell 27) + (dm-give-cell 28) + (dm-give-cell 29) + (dm-give-cell 30) + (dm-give-cell 31) + (dm-give-cell 32) + (dm-give-cell 34) + (dm-give-cell 35) + (dm-give-cell 36) + (dm-give-cell 37) + (dm-give-cell 38) + (dm-give-cell 39) + (dm-give-cell 40) + (dm-give-cell 41) + (dm-give-cell 42) + (dm-give-cell 43) + (dm-give-cell 44) + (dm-give-cell 45) + (dm-give-cell 46) + (dm-give-cell 47) + (dm-give-cell 48) ) - (close-specific-task! - (game-task village2-levitator) - (task-status need-reminder-a) - ) - (dm-give-cell 2) - (dm-give-cell 3) - (dm-give-cell 4) - (dm-give-cell 5) - (dm-give-cell 6) - (dm-give-cell 7) - (dm-give-cell 8) - (dm-give-cell 9) - (dm-give-cell 10) - (dm-give-cell 11) - (dm-give-cell 12) - (dm-give-cell 13) - (dm-give-cell 14) - (dm-give-cell 15) - (dm-give-cell 16) - (dm-give-cell 17) - (dm-give-cell 18) - (dm-give-cell 19) - (dm-give-cell 20) - (dm-give-cell 21) - (dm-give-cell 22) - (dm-give-cell 23) - (dm-give-cell 24) - (dm-give-cell 25) - (dm-give-cell 26) - (dm-give-cell 27) - (dm-give-cell 28) - (dm-give-cell 29) - (dm-give-cell 30) - (dm-give-cell 31) - (dm-give-cell 32) - (dm-give-cell 34) - (dm-give-cell 35) - (dm-give-cell 36) - (dm-give-cell 37) - (dm-give-cell 38) - (dm-give-cell 39) - (dm-give-cell 40) - (dm-give-cell 41) - (dm-give-cell 42) - (dm-give-cell 43) - (dm-give-cell 44) - (dm-give-cell 45) - (dm-give-cell 46) - (dm-give-cell 47) - (dm-give-cell 48) - ) - (= - (get-task-status (game-task village2-levitator)) - (task-status need-reward-speech) - ) + (= (get-task-status (game-task village2-levitator)) (task-status need-reward-speech)) ) ;; definition for function dm-lavabike-ready (defun dm-lavabike-ready ((arg0 int) (arg1 int)) (when (= arg1 4) - (dm-give-cell 2) - (dm-give-cell 3) - (dm-give-cell 4) - (dm-give-cell 5) - (dm-give-cell 6) - (dm-give-cell 7) - (dm-give-cell 8) - (dm-give-cell 9) - (dm-give-cell 10) - (dm-give-cell 11) - (dm-give-cell 12) - (dm-give-cell 13) - (dm-give-cell 14) - (dm-give-cell 15) - (dm-give-cell 16) - (dm-give-cell 17) - (dm-give-cell 18) - (dm-give-cell 19) - (dm-give-cell 20) - (dm-give-cell 21) - (dm-give-cell 22) - (dm-give-cell 23) - (dm-give-cell 24) - (dm-give-cell 25) - (dm-give-cell 26) - (dm-give-cell 27) - (dm-give-cell 28) - (dm-give-cell 29) - (dm-give-cell 30) - (dm-give-cell 31) - (dm-give-cell 32) - (dm-give-cell 33) - (dm-give-cell 34) - (dm-give-cell 35) - (dm-give-cell 36) - (dm-give-cell 37) - (dm-give-cell 38) - (dm-give-cell 39) - (dm-give-cell 40) - (dm-give-cell 41) - (dm-give-cell 42) - (dm-give-cell 43) - (dm-give-cell 44) - (dm-give-cell 45) - (dm-give-cell 46) - (dm-give-cell 47) - (dm-give-cell 48) - (dm-give-cell 49) - (dm-give-cell 50) - (dm-give-cell 51) - (dm-give-cell 52) - (dm-give-cell 53) - (dm-give-cell 54) - (dm-give-cell 55) - (dm-give-cell 56) - (dm-give-cell 57) - (dm-give-cell 58) - (dm-give-cell 59) - (dm-give-cell 60) - (dm-give-cell 61) - (dm-give-cell 62) - (dm-give-cell 63) - (dm-give-cell 64) - (dm-give-cell 65) - (dm-give-cell 66) - (dm-give-cell 67) - (dm-give-cell 68) - (dm-give-cell 69) - (dm-give-cell 70) - (dm-give-cell 71) - (dm-give-cell 72) - (dm-give-cell 73) - (dm-give-cell 74) - (dm-give-cell 75) - (dm-give-cell 76) - ) - (= - (get-task-status (game-task lavatube-start)) - (task-status need-reward-speech) - ) + (dm-give-cell 2) + (dm-give-cell 3) + (dm-give-cell 4) + (dm-give-cell 5) + (dm-give-cell 6) + (dm-give-cell 7) + (dm-give-cell 8) + (dm-give-cell 9) + (dm-give-cell 10) + (dm-give-cell 11) + (dm-give-cell 12) + (dm-give-cell 13) + (dm-give-cell 14) + (dm-give-cell 15) + (dm-give-cell 16) + (dm-give-cell 17) + (dm-give-cell 18) + (dm-give-cell 19) + (dm-give-cell 20) + (dm-give-cell 21) + (dm-give-cell 22) + (dm-give-cell 23) + (dm-give-cell 24) + (dm-give-cell 25) + (dm-give-cell 26) + (dm-give-cell 27) + (dm-give-cell 28) + (dm-give-cell 29) + (dm-give-cell 30) + (dm-give-cell 31) + (dm-give-cell 32) + (dm-give-cell 33) + (dm-give-cell 34) + (dm-give-cell 35) + (dm-give-cell 36) + (dm-give-cell 37) + (dm-give-cell 38) + (dm-give-cell 39) + (dm-give-cell 40) + (dm-give-cell 41) + (dm-give-cell 42) + (dm-give-cell 43) + (dm-give-cell 44) + (dm-give-cell 45) + (dm-give-cell 46) + (dm-give-cell 47) + (dm-give-cell 48) + (dm-give-cell 49) + (dm-give-cell 50) + (dm-give-cell 51) + (dm-give-cell 52) + (dm-give-cell 53) + (dm-give-cell 54) + (dm-give-cell 55) + (dm-give-cell 56) + (dm-give-cell 57) + (dm-give-cell 58) + (dm-give-cell 59) + (dm-give-cell 60) + (dm-give-cell 61) + (dm-give-cell 62) + (dm-give-cell 63) + (dm-give-cell 64) + (dm-give-cell 65) + (dm-give-cell 66) + (dm-give-cell 67) + (dm-give-cell 68) + (dm-give-cell 69) + (dm-give-cell 70) + (dm-give-cell 71) + (dm-give-cell 72) + (dm-give-cell 73) + (dm-give-cell 74) + (dm-give-cell 75) + (dm-give-cell 76) + ) + (= (get-task-status (game-task lavatube-start)) (task-status need-reward-speech)) ) ;; definition for function debug-menu-make-task-menu @@ -7536,91 +3765,68 @@ (let* ((s5-0 (new 'debug 'debug-menu arg0 "Task menu")) (s4-0 (new 'debug 'debug-menu-item-submenu "Task" s5-0)) ) - (debug-menu-append-item - s5-0 - (new - 'debug - 'debug-menu-item-flag - "enough money" - (the-as int #f) - (the-as (function int debug-menu-msg object) dm-task-get-money) - ) + (debug-menu-append-item s5-0 (new + 'debug + 'debug-menu-item-flag + "enough money" + (the-as int #f) + (the-as (function int debug-menu-msg object) dm-task-get-money) + ) + ) + (debug-menu-append-item s5-0 (new + 'debug + 'debug-menu-item-flag + "levitator ready" + (the-as int #f) + (the-as (function int debug-menu-msg object) dm-levitator-ready) + ) + ) + (debug-menu-append-item s5-0 (new + 'debug + 'debug-menu-item-flag + "lavabike ready" + (the-as int #f) + (the-as (function int debug-menu-msg object) dm-lavabike-ready) + ) + ) + (debug-menu-append-item s5-0 (new + 'debug + 'debug-menu-item-flag + "all cells" + (the-as int #f) + (the-as (function int debug-menu-msg object) dm-give-all-cells) + ) + ) + (debug-menu-make-task-unknown-menu (the-as debug-menu-context s5-0) arg0) + (debug-menu-make-task-need-hint-menu (the-as debug-menu-context s5-0) arg0) + (debug-menu-make-task-need-introduction-menu (the-as debug-menu-context s5-0) arg0) + (debug-menu-make-task-need-reminder-a-menu (the-as debug-menu-context s5-0) arg0) + (debug-menu-make-task-need-reminder-menu (the-as debug-menu-context s5-0) arg0) + (debug-menu-make-task-need-reward-speech-menu (the-as debug-menu-context s5-0) arg0) + (debug-menu-make-task-need-resolution-menu (the-as debug-menu-context s5-0) arg0) + s4-0 ) - (debug-menu-append-item - s5-0 - (new - 'debug - 'debug-menu-item-flag - "levitator ready" - (the-as int #f) - (the-as (function int debug-menu-msg object) dm-levitator-ready) - ) - ) - (debug-menu-append-item - s5-0 - (new - 'debug - 'debug-menu-item-flag - "lavabike ready" - (the-as int #f) - (the-as (function int debug-menu-msg object) dm-lavabike-ready) - ) - ) - (debug-menu-append-item - s5-0 - (new - 'debug - 'debug-menu-item-flag - "all cells" - (the-as int #f) - (the-as (function int debug-menu-msg object) dm-give-all-cells) - ) - ) - (debug-menu-make-task-unknown-menu (the-as debug-menu-context s5-0) arg0) - (debug-menu-make-task-need-hint-menu (the-as debug-menu-context s5-0) arg0) - (debug-menu-make-task-need-introduction-menu - (the-as debug-menu-context s5-0) - arg0 - ) - (debug-menu-make-task-need-reminder-a-menu - (the-as debug-menu-context s5-0) - arg0 - ) - (debug-menu-make-task-need-reminder-menu - (the-as debug-menu-context s5-0) - arg0 - ) - (debug-menu-make-task-need-reward-speech-menu - (the-as debug-menu-context s5-0) - arg0 - ) - (debug-menu-make-task-need-resolution-menu - (the-as debug-menu-context s5-0) - arg0 - ) - s4-0 - ) ) ;; definition for function dm-anim-tester-flag-func ;; INFO: Return type mismatch symbol vs object. (defun dm-anim-tester-flag-func ((arg0 int) (arg1 int)) (when *anim-tester* - (case arg0 - (('at-apply-align) - (if (= arg1 4) - (set! (-> *anim-tester* 0 flags) (logxor (-> *anim-tester* 0 flags) 32)) + (case arg0 + (('at-apply-align) + (if (= arg1 4) + (set! (-> *anim-tester* 0 flags) (logxor (-> *anim-tester* 0 flags) 32)) + ) + (return (the-as object (logtest? (-> *anim-tester* 0 flags) 32))) + ) + (('at-show-joint-info) + (if (= arg1 4) + (set! (-> *anim-tester* 0 flags) (logxor (-> *anim-tester* 0 flags) 16)) + ) + (return (the-as object (logtest? (-> *anim-tester* 0 flags) 16))) ) - (return (the-as object (logtest? (-> *anim-tester* 0 flags) 32))) ) - (('at-show-joint-info) - (if (= arg1 4) - (set! (-> *anim-tester* 0 flags) (logxor (-> *anim-tester* 0 flags) 16)) - ) - (return (the-as object (logtest? (-> *anim-tester* 0 flags) 16))) - ) ) - ) #f ) @@ -7628,1278 +3834,655 @@ ;; INFO: Return type mismatch object vs none. (defun dm-anim-tester-func ((arg0 int)) (if (not *anim-tester*) - (anim-tester-start) - ) + (anim-tester-start) + ) (when *anim-tester* - (cond - ((= arg0 'at-pick-object) - (send-event (ppointer->process *anim-tester*) 'pick-object) - (set! (-> *debug-menu-context* is-hidden) #t) - ) - ((= arg0 'at-pick-joint-anim) - (send-event (ppointer->process *anim-tester*) 'pick-joint-anim) - (set! (-> *debug-menu-context* is-hidden) #t) - ) - ((= arg0 'at-pick-sequence) - (send-event (ppointer->process *anim-tester*) 'pick-sequence) - (set! (-> *debug-menu-context* is-hidden) #t) - ) - ((= arg0 'at-save-sequences) - (send-event (ppointer->process *anim-tester*) 'save-sequences) - ) - ((= arg0 'at-cam-stick) - (set! *camera-orbit-target* *anim-tester*) - (send-event *camera* 'change-state cam-orbit 0) - ) - ((= arg0 'at-cam-free-floating) - (send-event *camera* 'change-state cam-free-floating 0) - ) + (cond + ((= arg0 'at-pick-object) + (send-event (ppointer->process *anim-tester*) 'pick-object) + (set! (-> *debug-menu-context* is-hidden) #t) + ) + ((= arg0 'at-pick-joint-anim) + (send-event (ppointer->process *anim-tester*) 'pick-joint-anim) + (set! (-> *debug-menu-context* is-hidden) #t) + ) + ((= arg0 'at-pick-sequence) + (send-event (ppointer->process *anim-tester*) 'pick-sequence) + (set! (-> *debug-menu-context* is-hidden) #t) + ) + ((= arg0 'at-save-sequences) + (send-event (ppointer->process *anim-tester*) 'save-sequences) + ) + ((= arg0 'at-cam-stick) + (set! *camera-orbit-target* *anim-tester*) + (send-event *camera* 'change-state cam-orbit 0) + ) + ((= arg0 'at-cam-free-floating) + (send-event *camera* 'change-state cam-free-floating 0) + ) + ) ) - ) (none) ) ;; definition for function build-continue-menu (defun build-continue-menu ((arg0 debug-menu-context)) (let ((s5-0 *level-load-list*)) - (while (not (null? s5-0)) - (let - ((s4-0 - (-> - (the-as level-load-info (-> (the-as symbol (car s5-0)) value)) - continues + (while (not (null? s5-0)) + (let ((s4-0 (-> (the-as level-load-info (-> (the-as symbol (car s5-0)) value)) continues))) + (while (not (null? s4-0)) + (let* ((v1-2 (the-as level-load-info (car s4-0))) + (a1-1 (new + 'debug + 'debug-menu-item-flag + (the-as string (-> v1-2 name)) + (the-as int (-> v1-2 name)) + (the-as (function int debug-menu-msg object) dm-current-continue) + ) + ) + ) + (debug-menu-append-item (the-as debug-menu arg0) a1-1) + ) + (set! s4-0 (cdr s4-0)) + ) ) - ) + (set! s5-0 (cdr s5-0)) ) - (while (not (null? s4-0)) - (let* ((v1-2 (the-as level-load-info (car s4-0))) - (a1-1 - (new - 'debug - 'debug-menu-item-flag - (the-as string (-> v1-2 name)) - (the-as int (-> v1-2 name)) - (the-as (function int debug-menu-msg object) dm-current-continue) - ) - ) - ) - (debug-menu-append-item (the-as debug-menu arg0) a1-1) - ) - (set! s4-0 (cdr s4-0)) - ) - ) - (set! s5-0 (cdr s5-0)) ) - ) arg0 ) ;; definition for function debug-menu-context-make-default-menus (defun debug-menu-context-make-default-menus ((arg0 debug-menu-context)) (let ((s5-0 (new 'debug 'debug-menu arg0 "Main menu"))) - (debug-menu-context-set-root-menu arg0 s5-0) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Artist" (flag - "Poly Stats" - *stats-poly* - dm-boolean-toggle-pick-func - ) - (flag - "Memory Stats" - *stats-memory* - dm-boolean-toggle-pick-func - ) - (flag - "Memory Stats Short" - *stats-memory-short* - dm-boolean-toggle-pick-func - ) - (flag - "Ground Stats" - *display-ground-stats* - dm-boolean-toggle-pick-func - ) - (flag - "All Visible" - *artist-all-visible* - dm-boolean-toggle-pick-func - ) - (flag - "Flip Visible" - *artist-flip-visible* - dm-boolean-toggle-pick-func - ) - (flag - "Fix Visible" - *artist-fix-visible* - dm-boolean-toggle-pick-func - ) - (flag - "Fix Frustum" - *artist-fix-frustum* - dm-boolean-toggle-pick-func - ) - (flag - "Error Spheres" - *artist-error-spheres* - dm-boolean-toggle-pick-func - ) - (flag - "Use menu subdiv" - *artist-use-menu-subdiv* - dm-boolean-toggle-pick-func - ) - (float-var - "Subdiv Close" - close - dm-subdiv-float - (the binteger 10) - (the binteger 1) - #t - (the binteger 1) - (the binteger 200) - (the binteger 1) - ) - (float-var - "Subdiv Far" - far - dm-subdiv-float - (the binteger 10) - (the binteger 1) - #t - (the binteger 1) - (the binteger 200) - (the binteger 1) - ) - (function "Target Start" #f (lambda () - (the-as - int - (start - 'debug - (get-or-create-continue! *game-info*) - ) - ) - ) - ) - (function "Target Stop" #f (lambda () - (stop 'debug) - ) - ) - (menu - "Anim Tester" - (int-var - "Speed" - anim-speed - dm-subdiv-int - (the binteger 10) - (the binteger 10) - #t - (the binteger -300) - (the binteger 1000) - ) - (flag "Apply Align" at-apply-align dm-anim-tester-flag-func) - (flag "Show Joint Inf" at-show-joint-info dm-anim-tester-flag-func) - (function "Camera Face" at-cam-stick dm-anim-tester-func) - (function "Camera Free" at-cam-free-floating dm-anim-tester-func) - (function "Pick Object" at-pick-object dm-anim-tester-func) - (function "Pick Joint Anim" at-pick-joint-anim dm-anim-tester-func) - (function "Pick Sequence" at-pick-sequence dm-anim-tester-func) - (function "Save Sequences" at-save-sequences dm-anim-tester-func) - ) - (flag - "Show Entity Errors" - *display-entity-errors* - dm-boolean-toggle-pick-func - ) - (flag - "Sprite Info" - *display-sprite-info* - dm-boolean-toggle-pick-func - ) - (flag - "Time of Day" - #f - dm-time-of-day-pick-func - ) - (flag "Preload Anims" *preload-spool-anims* dm-boolean-toggle-pick-func) - ) - ) - ) - ) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Game" (function "New Game" #f (lambda () - (initialize! - *game-info* - 'game - (the-as game-save #f) - (the-as string #f) - ) - (none) - ) - ) - (function "New Life" #f (lambda () - (initialize! - *game-info* - 'die - (the-as game-save #f) - (the-as string #f) - ) - (none) - ) - ) - (function "Reset Game" #f (lambda () - (set! (-> *game-info* mode) 'debug) - (initialize! - *game-info* - 'game - (the-as game-save #f) - (the-as string #f) - ) - (none) - ) - ) - (function "Reset Actors" #f (lambda () - (reset-actors 'debug) - (none) - ) - ) - (function "Save Game" #f (lambda () - (auto-save-command 'save 0 0 *default-pool*) - (none) - ) - ) - (function "Load Game" #f (lambda () - (auto-save-command - 'restore - 0 - 0 - *default-pool* - ) - (none) - ) - ) - (flag "Target" #f (lambda ((arg0 int) (arg1 int)) - (when (= arg1 4) - (if *target* - (stop 'debug) - (start - 'debug - (get-or-create-continue! *game-info*) - ) - ) - ) - *target* - ) - ) - (flag - "Game Mode" - play - dm-game-mode-pick-func - ) - (flag - "Debug Mode" - debug - dm-game-mode-pick-func - ) - (menu - "Continue" - ) - (menu - "Settings" - (float-var "sfx-volume" #f (lambda ((arg0 int) (arg1 int) (arg2 float)) - (cond - ((= arg1 4) - (let ((f0-0 arg2)) - (set! - (-> - *setting-control* - default - sfx-volume - ) - f0-0 - ) - f0-0 - ) - ) - (else - (-> *setting-control* default sfx-volume) - ) - ) - ) - (the binteger 2) (the binteger 1) #t 0 (the binteger 100) 0 - ) - (float-var - "music-volume" - #f - (lambda ((arg0 int) (arg1 int) (arg2 float)) - (cond - ((= arg1 4) - (let ((f0-0 arg2)) - (set! (-> *setting-control* default music-volume) f0-0) - f0-0 - ) + (debug-menu-context-set-root-menu arg0 s5-0) + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Artist" + (flag "Poly Stats" *stats-poly* dm-boolean-toggle-pick-func) + (flag "Memory Stats" *stats-memory* dm-boolean-toggle-pick-func) + (flag "Memory Stats Short" *stats-memory-short* dm-boolean-toggle-pick-func) + (flag "Ground Stats" *display-ground-stats* dm-boolean-toggle-pick-func) + (flag "All Visible" *artist-all-visible* dm-boolean-toggle-pick-func) + (flag "Flip Visible" *artist-flip-visible* dm-boolean-toggle-pick-func) + (flag "Fix Visible" *artist-fix-visible* dm-boolean-toggle-pick-func) + (flag "Fix Frustum" *artist-fix-frustum* dm-boolean-toggle-pick-func) + (flag "Error Spheres" *artist-error-spheres* dm-boolean-toggle-pick-func) + (flag "Use menu subdiv" *artist-use-menu-subdiv* dm-boolean-toggle-pick-func) + (float-var + "Subdiv Close" + close + dm-subdiv-float + (the binteger 10) + (the binteger 1) + #t + (the binteger 1) + (the binteger 200) + (the binteger 1) + ) + (float-var + "Subdiv Far" + far + dm-subdiv-float + (the binteger 10) + (the binteger 1) + #t + (the binteger 1) + (the binteger 200) + (the binteger 1) + ) + (function "Target Start" #f (lambda () (the-as int (start 'debug (get-or-create-continue! *game-info*))))) + (function "Target Stop" #f (lambda () (stop 'debug))) + (menu + "Anim Tester" + (int-var + "Speed" + anim-speed + dm-subdiv-int + (the binteger 10) + (the binteger 10) + #t + (the binteger -300) + (the binteger 1000) + ) + (flag "Apply Align" at-apply-align dm-anim-tester-flag-func) + (flag "Show Joint Inf" at-show-joint-info dm-anim-tester-flag-func) + (function "Camera Face" at-cam-stick dm-anim-tester-func) + (function "Camera Free" at-cam-free-floating dm-anim-tester-func) + (function "Pick Object" at-pick-object dm-anim-tester-func) + (function "Pick Joint Anim" at-pick-joint-anim dm-anim-tester-func) + (function "Pick Sequence" at-pick-sequence dm-anim-tester-func) + (function "Save Sequences" at-save-sequences dm-anim-tester-func) + ) + (flag "Show Entity Errors" *display-entity-errors* dm-boolean-toggle-pick-func) + (flag "Sprite Info" *display-sprite-info* dm-boolean-toggle-pick-func) + (flag "Time of Day" #f dm-time-of-day-pick-func) + (flag "Preload Anims" *preload-spool-anims* dm-boolean-toggle-pick-func) ) - (else - (-> *setting-control* default music-volume) - ) - ) - ) - (the binteger 2) - (the binteger 1) - #t - 0 - (the binteger 100) - 0 ) - (float-var - "dialog-volume" - #f - (lambda ((arg0 int) (arg1 int) (arg2 float)) - (cond - ((= arg1 4) - (let ((f0-0 arg2)) - (set! (-> *setting-control* default dialog-volume) f0-0) - f0-0 - ) - ) - (else - (-> *setting-control* default dialog-volume) - ) - ) - ) - (the binteger 2) - (the binteger 1) - #t - 0 - (the binteger 100) - 0 - ) - (menu - "Language" - (flag "english" 0 dm-setting-language) - (flag "japanese" (the binteger 5) dm-setting-language) - (flag "french" (the binteger 1) dm-setting-language) - (flag "german" (the binteger 2) dm-setting-language) - (flag "spanish" (the binteger 3) dm-setting-language) - (flag "italian" (the binteger 4) dm-setting-language) - (flag "uk-english" (the binteger 6) dm-setting-language) - ) - (flag "play-hints " #f (lambda ((arg0 int) (arg1 int)) - (if (= arg1 4) - (set! - (-> *setting-control* default play-hints) - (not - (-> *setting-control* default play-hints) - ) - ) - ) - (the-as - basic - (-> *setting-control* default play-hints) - ) - ) - ) - (flag "vibration" #f (lambda ((arg0 int) (arg1 int)) - (if (= arg1 4) - (set! - (-> *setting-control* default vibration) - (not (-> *setting-control* default vibration)) - ) - ) - (the-as - basic - (-> *setting-control* default vibration) - ) - ) - ) - (flag "border-mode" #f (lambda ((arg0 int) (arg1 int)) - (if (= arg1 4) - (set! - (-> *setting-control* default border-mode) - (not - (-> *setting-control* default border-mode) - ) - ) - ) - (the-as - basic - (-> *setting-control* default border-mode) - ) - ) - ) - ) ) ) - ) - ) - (let ((a0-8 (debug-menu-find-from-template arg0 '("Game" "Continue"))) - (t9-7 build-continue-menu) - ) - *game-info* - (t9-7 (the-as debug-menu-context a0-8)) - ) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Stats" (flag - "Poly" - *stats-poly* - dm-boolean-toggle-pick-func - ) - (flag - "Collide" - *stats-collide* - dm-boolean-toggle-pick-func - ) - (flag - "Bsp" - *stats-bsp* - dm-boolean-toggle-pick-func - ) - (flag - "Buffer" - *stats-buffer* - dm-boolean-toggle-pick-func - ) - (flag - "Target" - *stats-target* - dm-boolean-toggle-pick-func - ) - (flag - "Dma test" - *stats-dma-test* - dm-boolean-toggle-pick-func - ) - (flag - "Blerc" - *stats-blerc* - dm-boolean-toggle-pick-func - ) - (flag "Perf" *display-perf-stats* dm-boolean-toggle-pick-func) - ) - ) - ) - ) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Render" (flag - "sky" - (the binteger 1) - dm-vu1-user-toggle-pick-func - ) - (flag - "ocean" - (the binteger 2) - dm-vu1-user-toggle-pick-func - ) - (flag - "ocean-wave" - (the binteger 4) - dm-vu1-user-toggle-pick-func - ) - (flag - "TFRAG TIE TEXTURES" - #x1 - dm-texture-user-toggle-pick-func - ) - (flag - "tfrag" - (the binteger 8) - dm-vu1-user-toggle-pick-func - ) - (flag - "tie-near" - (the binteger 16) - dm-vu1-user-toggle-pick-func - ) - (flag - "tie" - (the binteger 32) - dm-vu1-user-toggle-pick-func - ) - (flag - "generic" - (the binteger 64) - dm-vu1-user-toggle-pick-func - ) - (flag - "generic-tie" - *generic-tie* - dm-boolean-toggle-pick-func - ) - (flag - "PRIS TEXTURES" - #x2 - dm-texture-user-toggle-pick-func - ) - (flag - "merc" - (the binteger 128) - dm-vu1-user-toggle-pick-func - ) - (flag - "SHRUB TEXTURES" - #x4 - dm-texture-user-toggle-pick-func - ) - (flag - "shrub-near" - (the binteger 512) - dm-vu1-user-toggle-pick-func - ) - (flag - "shrubbery" - (the binteger 256) - dm-vu1-user-toggle-pick-func - ) - (flag - "billboard" - (the binteger 1024) - dm-vu1-user-toggle-pick-func - ) - (flag - "trans-shrubbery" - (the binteger 2048) - dm-vu1-user-toggle-pick-func - ) - (flag - "ALPHA TEXTURES" - (the binteger 1) - dm-texture-user-toggle-pick-func - ) - (flag - "trans-tfrag" - (the binteger 4096) - dm-vu1-user-toggle-pick-func - ) - (flag - "sprite" - (the binteger 8192) - dm-vu1-user-toggle-pick-func - ) - (flag - "shadow" - (the binteger 16384) - dm-vu1-user-toggle-pick-func - ) - (flag - "shadow-debug" - *shadow-debug* - dm-boolean-toggle-pick-func - ) - (flag - "WATER TEXTURES" - (the binteger 2) - dm-texture-user-toggle-pick-func - ) - (flag - "depth-cue" - (the binteger 32768) - dm-vu1-user-toggle-pick-func - ) - (flag - "all on" - (the binteger 262143) - dm-vu1-user-set-pick-func - ) - (flag - "all off" - (the binteger 196608) - dm-vu1-user-set-pick-func - ) - (flag - "all textures on" - #x1f - dm-texture-user-set-pick-func - ) - (flag "all textures off" 0 dm-texture-user-set-pick-func) - ) - ) - ) - ) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Collision" (flag - "Collide Stats" - *stats-collide* - dm-boolean-toggle-pick-func - ) - (flag - "Collision Marks" - *display-collision-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Collision Cache" - *display-collide-cache* - dm-boolean-toggle-pick-func - ) - (flag - "Render Collision" - *display-render-collision* - dm-boolean-toggle-pick-func - ) - (flag - "Hipri Collision Marks" - *display-hipri-collision-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Edge Collision Marks" - *display-edge-collision-marks* - dm-boolean-toggle-pick-func - ) - ) - ) - ) - ) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Display" (flag - "Profile" - *display-profile* - dm-boolean-toggle-pick-func - ) - (flag - "Ticks" - *profile-ticks* - dm-boolean-toggle-pick-func - ) - (flag - "File Info" - *display-file-info* - dm-boolean-toggle-pick-func - ) - (flag - "Level Spheres" - *display-level-spheres* - dm-boolean-toggle-pick-func - ) - (flag - "Collision Marks" - *display-collision-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Collision Cache" - *display-collide-cache* - dm-boolean-toggle-pick-func - ) - (flag - "Hipri Collision Marks" - *display-hipri-collision-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Edge Collision Marks" - *display-edge-collision-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Target Marks" - *display-target-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Target Stats" - *stats-target* - dm-boolean-toggle-pick-func - ) - (flag - "Entity Lights" - *display-lights* - dm-boolean-toggle-pick-func - ) - (flag - "Camera Marks" - *display-camera-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Camera Info" - *display-camera-info* - dm-boolean-toggle-pick-func - ) - (flag - "Geometry Marks" - *display-geo-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Nav Marks" - *display-nav-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Path Marks" - *display-path-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Vol Marks" - *display-vol-marks* - dm-boolean-toggle-pick-func - ) - (menu - "Ambient Marks" - (flag - "Ambient Hint Marks" - *display-ambient-hint-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Sound Marks" - *display-ambient-sound-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Poi Marks" - *display-ambient-poi-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Light Marks" - *display-ambient-light-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Dark Marks" - *display-ambient-dark-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Weather Off Marks" - *display-ambient-weather-off-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Ocean Off Marks" - *display-ambient-ocean-off-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Ocean Near Off Marks" - *display-ambient-ocean-near-off-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Music" - *display-ambient-music-marks* - dm-boolean-toggle-pick-func - ) - ) - (menu - "Actor Marks" - (flag "off" #f dm-actor-marks-pick-func) - (flag "on" #t dm-actor-marks-pick-func) - (flag "full" full dm-actor-marks-pick-func) - (flag "process" process dm-actor-marks-pick-func) - ) - (menu - "Actor Vis" - (flag "off" #f dm-actor-vis-pick-func) - (flag "box" box dm-actor-vis-pick-func) - (flag "sphere" sphere dm-actor-vis-pick-func) - (flag "all" #t dm-actor-vis-pick-func) - ) - (flag - "Art Control" - *display-art-control* - dm-boolean-toggle-pick-func - ) - (flag - "Instance Info" - *display-instance-info* - dm-boolean-toggle-pick-func - ) - (menu - "strip lines" - (flag "strippable" (the binteger 1) dm-strip-lines-toggle-pick-func) - (flag "convertible" (the binteger 2) dm-strip-lines-toggle-pick-func) - (flag "edgeable" (the binteger 4) dm-strip-lines-toggle-pick-func) - (flag "ordinary" (the binteger 8) dm-strip-lines-toggle-pick-func) - (flag - "color mismatch" - (the binteger 16) - dm-strip-lines-toggle-pick-func - ) - (flag - "shader mismatch" - (the binteger 32) - dm-strip-lines-toggle-pick-func - ) - (flag "uv mismatch" (the binteger 64) dm-strip-lines-toggle-pick-func) - (flag "too big" (the binteger 128) dm-strip-lines-toggle-pick-func) - (flag "good" (the binteger 3) dm-strip-lines-set-pick-func) - (flag "bad" (the binteger 240) dm-strip-lines-set-pick-func) - (flag "all edges" (the binteger 255) dm-strip-lines-set-pick-func) - (flag "strips" (the binteger 256) dm-strip-lines-set-pick-func) - (flag "frags" (the binteger 512) dm-strip-lines-set-pick-func) - (flag "none" 0 dm-strip-lines-set-pick-func) - ) - (menu - "collision mesh" - (flag "wall" (the binteger 1024) dm-strip-lines-toggle-pick-func) - (flag "ground" (the binteger 2048) dm-strip-lines-toggle-pick-func) - (flag "all" (the binteger 3072) dm-strip-lines-set-pick-func) - (flag "none" 0 dm-strip-lines-set-pick-func) - ) - (flag - "Texture Download" - *display-texture-download* - dm-boolean-toggle-pick-func - ) - (flag - "Level Border" - *display-level-border* - dm-boolean-toggle-pick-func - ) - (flag - "Split Boxes" - *display-split-boxes* - dm-boolean-toggle-pick-func - ) - (flag - "Split Box Info" - *display-split-box-info* - dm-boolean-toggle-pick-func - ) - (flag - "Load boundaries" - *display-load-boundaries* - dm-boolean-toggle-pick-func - ) - (flag "Memcard Info" *display-memcard-info* dm-boolean-toggle-pick-func) - ) - ) - ) - ) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Actor" (flag - "Spawn Actors" - *spawn-actors* - dm-boolean-toggle-pick-func - ) - (function "Reset Actors" #f (lambda () - (reset-actors 'debug) - (none) - ) - ) - (menu - "Actor Compaction" - (flag "off" #f dm-compact-actor-pick-func) - (flag "on" #t dm-compact-actor-pick-func) - (flag "debug" debug dm-compact-actor-pick-func) - ) - (flag - "Ambients" - *execute-ambients* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Hint Marks" - *display-ambient-hint-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Sound Marks" - *display-ambient-sound-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Poi Marks" - *display-ambient-poi-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Light Marks" - *display-ambient-light-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Dark Marks" - *display-ambient-dark-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Weather Off Marks" - *display-ambient-weather-off-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Ocean Off Marks" - *display-ambient-ocean-off-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Ocean Near Off Marks" - *display-ambient-ocean-near-off-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Ambient Music" - *display-ambient-music-marks* - dm-boolean-toggle-pick-func - ) - (menu - "Actor Marks" - (flag "off" #f dm-actor-marks-pick-func) - (flag "on" #t dm-actor-marks-pick-func) - (flag "full" full dm-actor-marks-pick-func) - (flag "process" process dm-actor-marks-pick-func) - ) - (menu - "Actor Vis" - (flag "off" #f dm-actor-vis-pick-func) - (flag "box" box dm-actor-vis-pick-func) - (flag "sphere" sphere dm-actor-vis-pick-func) - (flag "all" #t dm-actor-vis-pick-func) - ) - (flag "Actor Vis" *vis-actors* dm-boolean-toggle-pick-func) - ) - ) - ) - ) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Target" (flag - "Target Stats" - *stats-target* - dm-boolean-toggle-pick-func - ) - (function "Play" #f (lambda () - (play #t #t) - ) - ) - (function "Start" #f (lambda () - (the-as - int - (start - 'debug - (get-or-create-continue! *game-info*) - ) - ) - ) - ) - (function "Stop" #f (lambda () - (stop 'debug) - ) - ) - (flag "Invulnerable" #f (lambda ((arg0 int) (arg1 int)) + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Game" + (function + "New Game" + #f + (lambda () (initialize! *game-info* 'game (the-as game-save #f) (the-as string #f)) (none)) + ) + (function + "New Life" + #f + (lambda () (initialize! *game-info* 'die (the-as game-save #f) (the-as string #f)) (none)) + ) + (function + "Reset Game" + #f + (lambda () + (set! (-> *game-info* mode) 'debug) + (initialize! *game-info* 'game (the-as game-save #f) (the-as string #f)) + (none) + ) + ) + (function "Reset Actors" #f (lambda () (reset-actors 'debug) (none))) + (function "Save Game" #f (lambda () (auto-save-command 'save 0 0 *default-pool*) (none))) + (function "Load Game" #f (lambda () (auto-save-command 'restore 0 0 *default-pool*) (none))) + (flag "Target" #f (lambda ((arg0 int) (arg1 int)) (when (= arg1 4) - (if *target* - (set! - (-> *target* state-flags) - (logxor (-> *target* state-flags) 16) - ) - ) - ) - (and - *target* - (logtest? (-> *target* state-flags) 16) - ) - ) - ) - (function "Reset Trans" #f (lambda () - (when *target* - (position-in-front-of-camera! - (target-pos 0) - (the-as float 40960.0) - (the-as float 4096.0) - ) - (set! - (-> *target* control transv quad) - (the-as uint128 0) - ) - (quaternion-identity! - (-> *target* control quat) - ) - (quaternion-identity! - (-> *target* control unknown-quaternion00) - ) - (quaternion-identity! - (-> *target* control dir-targ) - ) - ) - ) - ) - (function "Zero Trans" #f (lambda () - (when *target* - (set-vector! - (-> *target* control trans) - 0.0 - 163840.0 - 0.0 - 1.0 - ) - (set! - (-> *target* control transv quad) - (the-as uint128 0) - ) - (quaternion-identity! - (-> *target* control quat) - ) - (quaternion-identity! - (-> *target* control unknown-quaternion00) - ) - (quaternion-identity! - (-> *target* control dir-targ) - ) - ) - ) - ) - (menu "Mode" (function "normal" #f (lambda () - (send-event *target* 'end-mode) - ) - ) - (function "racing" #f (lambda () - (send-event *target* 'change-mode 'racing #f) - ) - ) - (function "snowball" #f (lambda () - (send-event - *target* - 'change-mode - 'snowball - #f - ) - ) - ) - ) - (flag - "Slow Frame Rate" - *slow-frame-rate* - dm-boolean-toggle-pick-func - ) - (function "Print Pos" #f (lambda () - (let ((v1-0 (target-pos 0))) - (format - #t - "~6,,2m ~6,,2m ~6,,2m~%" - (-> v1-0 x) - (-> v1-0 y) - (-> v1-0 z) - ) - ) - 0 - (none) - ) - ) - (function "Save Continue" #f (lambda () - (the-as continue-point (if *target* - (trsq->continue-point - (-> - *target* - control - ) - ) - ) + (if *target* + (stop 'debug) + (start 'debug (get-or-create-continue! *game-info*)) ) - ) - ) + ) + *target* + ) + ) + (flag "Game Mode" play dm-game-mode-pick-func) + (flag "Debug Mode" debug dm-game-mode-pick-func) + (menu "Continue") + (menu + "Settings" + (float-var + "sfx-volume" + #f + (lambda ((arg0 int) (arg1 int) (arg2 float)) (cond + ((= arg1 4) + (let ((f0-0 arg2)) + (set! (-> *setting-control* default sfx-volume) f0-0) + f0-0 + ) + ) + (else + (-> *setting-control* default sfx-volume) + ) + ) + ) + (the binteger 2) + (the binteger 1) + #t + 0 + (the binteger 100) + 0 + ) + (float-var + "music-volume" + #f + (lambda ((arg0 int) (arg1 int) (arg2 float)) (cond + ((= arg1 4) + (let ((f0-0 arg2)) + (set! (-> *setting-control* default music-volume) f0-0) + f0-0 + ) + ) + (else + (-> *setting-control* default music-volume) + ) + ) + ) + (the binteger 2) + (the binteger 1) + #t + 0 + (the binteger 100) + 0 + ) + (float-var + "dialog-volume" + #f + (lambda ((arg0 int) (arg1 int) (arg2 float)) (cond + ((= arg1 4) + (let ((f0-0 arg2)) + (set! (-> *setting-control* default dialog-volume) f0-0) + f0-0 + ) + ) + (else + (-> *setting-control* default dialog-volume) + ) + ) + ) + (the binteger 2) + (the binteger 1) + #t + 0 + (the binteger 100) + 0 + ) + (menu + "Language" + (flag "english" 0 dm-setting-language) + (flag "japanese" (the binteger 5) dm-setting-language) + (flag "french" (the binteger 1) dm-setting-language) + (flag "german" (the binteger 2) dm-setting-language) + (flag "spanish" (the binteger 3) dm-setting-language) + (flag "italian" (the binteger 4) dm-setting-language) + (flag "uk-english" (the binteger 6) dm-setting-language) + ) + (flag + "play-hints " + #f + (lambda ((arg0 int) (arg1 int)) + (if (= arg1 4) + (set! (-> *setting-control* default play-hints) (not (-> *setting-control* default play-hints))) + ) + (the-as basic (-> *setting-control* default play-hints)) + ) + ) + (flag + "vibration" + #f + (lambda ((arg0 int) (arg1 int)) + (if (= arg1 4) + (set! (-> *setting-control* default vibration) (not (-> *setting-control* default vibration))) + ) + (the-as basic (-> *setting-control* default vibration)) + ) + ) + (flag + "border-mode" + #f + (lambda ((arg0 int) (arg1 int)) + (if (= arg1 4) + (set! (-> *setting-control* default border-mode) (not (-> *setting-control* default border-mode))) + ) + (the-as basic (-> *setting-control* default border-mode)) + ) + ) + ) + ) + ) ) ) - ) - ) - (debug-menu-append-item s5-0 (debug-menu-make-camera-menu arg0)) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Subdiv" (flag - "Textured" - 0 - dm-subdiv-draw-func - ) - (flag - "Outline" - (the binteger 1) - dm-subdiv-draw-func - ) - (flag - "Gouraud" - (the binteger 2) - dm-subdiv-draw-func - ) - (flag "Hack" (the binteger 3) dm-subdiv-draw-func) + (let ((a0-8 (debug-menu-find-from-template arg0 '("Game" "Continue"))) + (t9-7 build-continue-menu) + ) + *game-info* + (t9-7 (the-as debug-menu-context a0-8)) + ) + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Stats" + (flag "Poly" *stats-poly* dm-boolean-toggle-pick-func) + (flag "Collide" *stats-collide* dm-boolean-toggle-pick-func) + (flag "Bsp" *stats-bsp* dm-boolean-toggle-pick-func) + (flag "Buffer" *stats-buffer* dm-boolean-toggle-pick-func) + (flag "Target" *stats-target* dm-boolean-toggle-pick-func) + (flag "Dma test" *stats-dma-test* dm-boolean-toggle-pick-func) + (flag "Blerc" *stats-blerc* dm-boolean-toggle-pick-func) + (flag "Perf" *display-perf-stats* dm-boolean-toggle-pick-func) + ) + ) ) ) - ) - ) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Ocean Subdiv" (flag - "Textured" - 0 - dm-ocean-subdiv-draw-func + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Render" + (flag "sky" (the binteger 1) dm-vu1-user-toggle-pick-func) + (flag "ocean" (the binteger 2) dm-vu1-user-toggle-pick-func) + (flag "ocean-wave" (the binteger 4) dm-vu1-user-toggle-pick-func) + (flag "TFRAG TIE TEXTURES" #x1 dm-texture-user-toggle-pick-func) + (flag "tfrag" (the binteger 8) dm-vu1-user-toggle-pick-func) + (flag "tie-near" (the binteger 16) dm-vu1-user-toggle-pick-func) + (flag "tie" (the binteger 32) dm-vu1-user-toggle-pick-func) + (flag "generic" (the binteger 64) dm-vu1-user-toggle-pick-func) + (flag "generic-tie" *generic-tie* dm-boolean-toggle-pick-func) + (flag "PRIS TEXTURES" #x2 dm-texture-user-toggle-pick-func) + (flag "merc" (the binteger 128) dm-vu1-user-toggle-pick-func) + (flag "SHRUB TEXTURES" #x4 dm-texture-user-toggle-pick-func) + (flag "shrub-near" (the binteger 512) dm-vu1-user-toggle-pick-func) + (flag "shrubbery" (the binteger 256) dm-vu1-user-toggle-pick-func) + (flag "billboard" (the binteger 1024) dm-vu1-user-toggle-pick-func) + (flag "trans-shrubbery" (the binteger 2048) dm-vu1-user-toggle-pick-func) + (flag "ALPHA TEXTURES" (the binteger 1) dm-texture-user-toggle-pick-func) + (flag "trans-tfrag" (the binteger 4096) dm-vu1-user-toggle-pick-func) + (flag "sprite" (the binteger 8192) dm-vu1-user-toggle-pick-func) + (flag "shadow" (the binteger 16384) dm-vu1-user-toggle-pick-func) + (flag "shadow-debug" *shadow-debug* dm-boolean-toggle-pick-func) + (flag "WATER TEXTURES" (the binteger 2) dm-texture-user-toggle-pick-func) + (flag "depth-cue" (the binteger 32768) dm-vu1-user-toggle-pick-func) + (flag "all on" (the binteger 262143) dm-vu1-user-set-pick-func) + (flag "all off" (the binteger 196608) dm-vu1-user-set-pick-func) + (flag "all textures on" #x1f dm-texture-user-set-pick-func) + (flag "all textures off" 0 dm-texture-user-set-pick-func) + ) + ) + ) + ) + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Collision" + (flag "Collide Stats" *stats-collide* dm-boolean-toggle-pick-func) + (flag "Collision Marks" *display-collision-marks* dm-boolean-toggle-pick-func) + (flag "Collision Cache" *display-collide-cache* dm-boolean-toggle-pick-func) + (flag "Render Collision" *display-render-collision* dm-boolean-toggle-pick-func) + (flag "Hipri Collision Marks" *display-hipri-collision-marks* dm-boolean-toggle-pick-func) + (flag "Edge Collision Marks" *display-edge-collision-marks* dm-boolean-toggle-pick-func) + ) + ) + ) + ) + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Display" + (flag "Profile" *display-profile* dm-boolean-toggle-pick-func) + (flag "Ticks" *profile-ticks* dm-boolean-toggle-pick-func) + (flag "File Info" *display-file-info* dm-boolean-toggle-pick-func) + (flag "Level Spheres" *display-level-spheres* dm-boolean-toggle-pick-func) + (flag "Collision Marks" *display-collision-marks* dm-boolean-toggle-pick-func) + (flag "Collision Cache" *display-collide-cache* dm-boolean-toggle-pick-func) + (flag "Hipri Collision Marks" *display-hipri-collision-marks* dm-boolean-toggle-pick-func) + (flag "Edge Collision Marks" *display-edge-collision-marks* dm-boolean-toggle-pick-func) + (flag "Target Marks" *display-target-marks* dm-boolean-toggle-pick-func) + (flag "Target Stats" *stats-target* dm-boolean-toggle-pick-func) + (flag "Entity Lights" *display-lights* dm-boolean-toggle-pick-func) + (flag "Camera Marks" *display-camera-marks* dm-boolean-toggle-pick-func) + (flag "Camera Info" *display-camera-info* dm-boolean-toggle-pick-func) + (flag "Geometry Marks" *display-geo-marks* dm-boolean-toggle-pick-func) + (flag "Nav Marks" *display-nav-marks* dm-boolean-toggle-pick-func) + (flag "Path Marks" *display-path-marks* dm-boolean-toggle-pick-func) + (flag "Vol Marks" *display-vol-marks* dm-boolean-toggle-pick-func) + (menu + "Ambient Marks" + (flag "Ambient Hint Marks" *display-ambient-hint-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Sound Marks" *display-ambient-sound-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Poi Marks" *display-ambient-poi-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Light Marks" *display-ambient-light-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Dark Marks" *display-ambient-dark-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Weather Off Marks" *display-ambient-weather-off-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Ocean Off Marks" *display-ambient-ocean-off-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Ocean Near Off Marks" *display-ambient-ocean-near-off-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Music" *display-ambient-music-marks* dm-boolean-toggle-pick-func) + ) + (menu + "Actor Marks" + (flag "off" #f dm-actor-marks-pick-func) + (flag "on" #t dm-actor-marks-pick-func) + (flag "full" full dm-actor-marks-pick-func) + (flag "process" process dm-actor-marks-pick-func) + ) + (menu + "Actor Vis" + (flag "off" #f dm-actor-vis-pick-func) + (flag "box" box dm-actor-vis-pick-func) + (flag "sphere" sphere dm-actor-vis-pick-func) + (flag "all" #t dm-actor-vis-pick-func) + ) + (flag "Art Control" *display-art-control* dm-boolean-toggle-pick-func) + (flag "Instance Info" *display-instance-info* dm-boolean-toggle-pick-func) + (menu + "strip lines" + (flag "strippable" (the binteger 1) dm-strip-lines-toggle-pick-func) + (flag "convertible" (the binteger 2) dm-strip-lines-toggle-pick-func) + (flag "edgeable" (the binteger 4) dm-strip-lines-toggle-pick-func) + (flag "ordinary" (the binteger 8) dm-strip-lines-toggle-pick-func) + (flag "color mismatch" (the binteger 16) dm-strip-lines-toggle-pick-func) + (flag "shader mismatch" (the binteger 32) dm-strip-lines-toggle-pick-func) + (flag "uv mismatch" (the binteger 64) dm-strip-lines-toggle-pick-func) + (flag "too big" (the binteger 128) dm-strip-lines-toggle-pick-func) + (flag "good" (the binteger 3) dm-strip-lines-set-pick-func) + (flag "bad" (the binteger 240) dm-strip-lines-set-pick-func) + (flag "all edges" (the binteger 255) dm-strip-lines-set-pick-func) + (flag "strips" (the binteger 256) dm-strip-lines-set-pick-func) + (flag "frags" (the binteger 512) dm-strip-lines-set-pick-func) + (flag "none" 0 dm-strip-lines-set-pick-func) + ) + (menu + "collision mesh" + (flag "wall" (the binteger 1024) dm-strip-lines-toggle-pick-func) + (flag "ground" (the binteger 2048) dm-strip-lines-toggle-pick-func) + (flag "all" (the binteger 3072) dm-strip-lines-set-pick-func) + (flag "none" 0 dm-strip-lines-set-pick-func) + ) + (flag "Texture Download" *display-texture-download* dm-boolean-toggle-pick-func) + (flag "Level Border" *display-level-border* dm-boolean-toggle-pick-func) + (flag "Split Boxes" *display-split-boxes* dm-boolean-toggle-pick-func) + (flag "Split Box Info" *display-split-box-info* dm-boolean-toggle-pick-func) + (flag "Load boundaries" *display-load-boundaries* dm-boolean-toggle-pick-func) + (flag "Memcard Info" *display-memcard-info* dm-boolean-toggle-pick-func) + ) + ) + ) + ) + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Actor" + (flag "Spawn Actors" *spawn-actors* dm-boolean-toggle-pick-func) + (function "Reset Actors" #f (lambda () (reset-actors 'debug) (none))) + (menu + "Actor Compaction" + (flag "off" #f dm-compact-actor-pick-func) + (flag "on" #t dm-compact-actor-pick-func) + (flag "debug" debug dm-compact-actor-pick-func) + ) + (flag "Ambients" *execute-ambients* dm-boolean-toggle-pick-func) + (flag "Ambient Hint Marks" *display-ambient-hint-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Sound Marks" *display-ambient-sound-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Poi Marks" *display-ambient-poi-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Light Marks" *display-ambient-light-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Dark Marks" *display-ambient-dark-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Weather Off Marks" *display-ambient-weather-off-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Ocean Off Marks" *display-ambient-ocean-off-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Ocean Near Off Marks" *display-ambient-ocean-near-off-marks* dm-boolean-toggle-pick-func) + (flag "Ambient Music" *display-ambient-music-marks* dm-boolean-toggle-pick-func) + (menu + "Actor Marks" + (flag "off" #f dm-actor-marks-pick-func) + (flag "on" #t dm-actor-marks-pick-func) + (flag "full" full dm-actor-marks-pick-func) + (flag "process" process dm-actor-marks-pick-func) + ) + (menu + "Actor Vis" + (flag "off" #f dm-actor-vis-pick-func) + (flag "box" box dm-actor-vis-pick-func) + (flag "sphere" sphere dm-actor-vis-pick-func) + (flag "all" #t dm-actor-vis-pick-func) + ) + (flag "Actor Vis" *vis-actors* dm-boolean-toggle-pick-func) + ) + ) + ) + ) + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Target" + (flag "Target Stats" *stats-target* dm-boolean-toggle-pick-func) + (function "Play" #f (lambda () (play #t #t))) + (function "Start" #f (lambda () (the-as int (start 'debug (get-or-create-continue! *game-info*))))) + (function "Stop" #f (lambda () (stop 'debug))) + (flag "Invulnerable" #f (lambda ((arg0 int) (arg1 int)) + (when (= arg1 4) + (if *target* + (set! (-> *target* state-flags) (logxor (-> *target* state-flags) 16)) + ) + ) + (and *target* (logtest? (-> *target* state-flags) 16)) + ) + ) + (function + "Reset Trans" + #f + (lambda () (when *target* + (position-in-front-of-camera! (target-pos 0) (the-as float 40960.0) (the-as float 4096.0)) + (set! (-> *target* control transv quad) (the-as uint128 0)) + (quaternion-identity! (-> *target* control quat)) + (quaternion-identity! (-> *target* control unknown-quaternion00)) + (quaternion-identity! (-> *target* control dir-targ)) ) - (flag - "Outline" - (the binteger 1) - dm-ocean-subdiv-draw-func - ) - (flag "Gouraud" (the binteger 2) dm-ocean-subdiv-draw-func) + ) + ) + (function "Zero Trans" #f (lambda () (when *target* + (set-vector! (-> *target* control trans) 0.0 163840.0 0.0 1.0) + (set! (-> *target* control transv quad) (the-as uint128 0)) + (quaternion-identity! (-> *target* control quat)) + (quaternion-identity! (-> *target* control unknown-quaternion00)) + (quaternion-identity! (-> *target* control dir-targ)) + ) + ) + ) + (menu + "Mode" + (function "normal" #f (lambda () (send-event *target* 'end-mode))) + (function "racing" #f (lambda () (send-event *target* 'change-mode 'racing #f))) + (function "snowball" #f (lambda () (send-event *target* 'change-mode 'snowball #f))) + ) + (flag "Slow Frame Rate" *slow-frame-rate* dm-boolean-toggle-pick-func) + (function "Print Pos" #f (lambda () + (let ((v1-0 (target-pos 0))) + (format #t "~6,,2m ~6,,2m ~6,,2m~%" (-> v1-0 x) (-> v1-0 y) (-> v1-0 z)) + ) + 0 + (none) + ) + ) + (function + "Save Continue" + #f + (lambda () (the-as continue-point (if *target* + (trsq->continue-point (-> *target* control)) + ) + ) + ) + ) + ) + ) ) ) - ) - ) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Time of day" (flag - "7am sunrise" - 0 - dm-time-of-day-func - ) - (flag - "9am morning" - (the binteger 1) - dm-time-of-day-func - ) - (flag - "12pm noon" - (the binteger 2) - dm-time-of-day-func - ) - (flag - "3pm afternoon" - (the binteger 3) - dm-time-of-day-func - ) - (flag - "6pm sunset" - (the binteger 4) - dm-time-of-day-func - ) - (flag - "7pm twilight" - (the binteger 5) - dm-time-of-day-func - ) - (flag - "11pm evening" - (the binteger 6) - dm-time-of-day-func - ) - (flag - "4am green sun" - (the binteger 7) - dm-time-of-day-func - ) - (flag - "on" - (the binteger 8) - dm-time-of-day-func - ) - (flag - "Effects" - *time-of-day-effects* - dm-boolean-toggle-pick-func - ) - (flag "Fast" *time-of-day-fast* dm-time-of-day-func2) + (debug-menu-append-item s5-0 (debug-menu-make-camera-menu arg0)) + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Subdiv" + (flag "Textured" 0 dm-subdiv-draw-func) + (flag "Outline" (the binteger 1) dm-subdiv-draw-func) + (flag "Gouraud" (the binteger 2) dm-subdiv-draw-func) + (flag "Hack" (the binteger 3) dm-subdiv-draw-func) + ) + ) ) ) - ) - ) - (debug-menu-append-item - s5-0 - (the-as - debug-menu-item - (debug-menu-make-from-template - arg0 - '( - menu "Sound" (flag - "Effect Debug" - *debug-effect-control* - dm-boolean-toggle-pick-func - ) - (flag - "Amb Snd Marks" - *display-ambient-sound-marks* - dm-boolean-toggle-pick-func - ) - (flag - "Amb Snd Class" - *ambient-sound-class* - dm-boolean-toggle-pick-func - ) - (flag - "Amb Spheres" - *execute-ambients* - dm-boolean-toggle-pick-func - ) - (flag - "Sound channels" - *display-iop-info* - dm-boolean-toggle-pick-func - ) - (function "List Sounds" #f (lambda () - (list-sounds) - ) - ) + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Ocean Subdiv" + (flag "Textured" 0 dm-ocean-subdiv-draw-func) + (flag "Outline" (the binteger 1) dm-ocean-subdiv-draw-func) + (flag "Gouraud" (the binteger 2) dm-ocean-subdiv-draw-func) + ) + ) ) ) - ) + (debug-menu-append-item + s5-0 + (the-as + debug-menu-item + (debug-menu-make-from-template + arg0 + '(menu + "Time of day" + (flag "7am sunrise" 0 dm-time-of-day-func) + (flag "9am morning" (the binteger 1) dm-time-of-day-func) + (flag "12pm noon" (the binteger 2) dm-time-of-day-func) + (flag "3pm afternoon" (the binteger 3) dm-time-of-day-func) + (flag "6pm sunset" (the binteger 4) dm-time-of-day-func) + (flag "7pm twilight" (the binteger 5) dm-time-of-day-func) + (flag "11pm evening" (the binteger 6) dm-time-of-day-func) + (flag "4am green sun" (the binteger 7) dm-time-of-day-func) + (flag "on" (the binteger 8) dm-time-of-day-func) + (flag "Effects" *time-of-day-effects* dm-boolean-toggle-pick-func) + (flag "Fast" *time-of-day-fast* dm-time-of-day-func2) + ) + ) + ) + ) + (debug-menu-append-item + s5-0 + (the-as debug-menu-item (debug-menu-make-from-template + arg0 + '(menu + "Sound" + (flag "Effect Debug" *debug-effect-control* dm-boolean-toggle-pick-func) + (flag "Amb Snd Marks" *display-ambient-sound-marks* dm-boolean-toggle-pick-func) + (flag "Amb Snd Class" *ambient-sound-class* dm-boolean-toggle-pick-func) + (flag "Amb Spheres" *execute-ambients* dm-boolean-toggle-pick-func) + (flag "Sound channels" *display-iop-info* dm-boolean-toggle-pick-func) + (function "List Sounds" #f (lambda () (list-sounds))) + ) + ) + ) + ) + (debug-menu-append-item s5-0 (debug-menu-make-shader-menu arg0)) + (debug-menu-append-item s5-0 (debug-menu-make-instance-menu arg0)) + (debug-menu-append-item s5-0 (debug-menu-make-task-menu arg0)) ) - (debug-menu-append-item s5-0 (debug-menu-make-shader-menu arg0)) - (debug-menu-append-item s5-0 (debug-menu-make-instance-menu arg0)) - (debug-menu-append-item s5-0 (debug-menu-make-task-menu arg0)) - ) arg0 ) @@ -8909,65 +4492,54 @@ ;; definition for function popup-menu-context-make-default-menus (defun popup-menu-context-make-default-menus ((arg0 debug-menu-context)) (debug-menu-make-from-template - arg0 - '( - main-menu "Popup" (flag - "Cam 1" - pad-1 - dm-cam-externalize - ) - (flag "Target" #f (lambda ((arg0 int) (arg1 int)) - (when (= arg1 4) - (if *target* - (stop 'debug) - (start 'debug (get-or-create-continue! *game-info*)) - ) - ) - *target* - ) - ) - (flag "Game" #f (lambda ((arg0 int) (arg1 int)) - (when (= arg1 4) - (let ((v1-3 (-> *game-info* mode))) - (set! (-> *game-info* mode) (cond - ((= v1-3 'play) - 'debug - ) - ((= v1-3 'debug) - 'play - ) - (else - (-> *game-info* mode) - ) - ) - ) - ) - ) - (= (-> *game-info* mode) 'play) - ) - ) - (function "Clean" #f (lambda ((arg0 int) (arg1 int)) - (if (time-of-day-setup #f) - (time-of-day-setup #t) - ) - (set! *display-entity-errors* #f) - (set! *display-profile* #f) - (set! *display-actor-marks* #f) - #f + arg0 + '(main-menu + "Popup" + (flag "Cam 1" pad-1 dm-cam-externalize) + (flag "Target" #f (lambda ((arg0 int) (arg1 int)) + (when (= arg1 4) + (if *target* + (stop 'debug) + (start 'debug (get-or-create-continue! *game-info*)) + ) + ) + *target* ) - ) - (flag - "Stats" - *stats-target* - dm-boolean-toggle-pick-func - ) - (function "Reset" #f (lambda () - (reset-actors 'debug) - (none) + ) + (flag "Game" #f (lambda ((arg0 int) (arg1 int)) + (when (= arg1 4) + (let ((v1-3 (-> *game-info* mode))) + (set! (-> *game-info* mode) (cond + ((= v1-3 'play) + 'debug + ) + ((= v1-3 'debug) + 'play + ) + (else + (-> *game-info* mode) + ) + ) + ) + ) ) - ) - ) - ) + (= (-> *game-info* mode) 'play) + ) + ) + (function "Clean" #f (lambda ((arg0 int) (arg1 int)) + (if (time-of-day-setup #f) + (time-of-day-setup #t) + ) + (set! *display-entity-errors* #f) + (set! *display-profile* #f) + (set! *display-actor-marks* #f) + #f + ) + ) + (flag "Stats" *stats-target* dm-boolean-toggle-pick-func) + (function "Reset" #f (lambda () (reset-actors 'debug) (none))) + ) + ) arg0 ) @@ -8979,34 +4551,18 @@ ;; definition for function menu-respond-to-pause (defun menu-respond-to-pause () - (case *master-mode* - (('menu) + (case *master-mode* + (('menu) (if (cpad-hold? 0 l3) - (debug-menu-context-send-msg - *popup-menu-context* - (debug-menu-msg activate) - (debug-menu-dest activation) - ) - (debug-menu-context-send-msg - *debug-menu-context* - (debug-menu-msg activate) - (debug-menu-dest activation) - ) + (debug-menu-context-send-msg *popup-menu-context* (debug-menu-msg activate) (debug-menu-dest activation)) + (debug-menu-context-send-msg *debug-menu-context* (debug-menu-msg activate) (debug-menu-dest activation)) + ) + ) + (else + (debug-menu-context-send-msg *debug-menu-context* (debug-menu-msg deactivate) (debug-menu-dest activation)) + (debug-menu-context-send-msg *popup-menu-context* (debug-menu-msg deactivate) (debug-menu-dest activation)) ) - ) - (else - (debug-menu-context-send-msg - *debug-menu-context* - (debug-menu-msg deactivate) - (debug-menu-dest activation) - ) - (debug-menu-context-send-msg - *popup-menu-context* - (debug-menu-msg deactivate) - (debug-menu-dest activation) - ) ) - ) #f ) diff --git a/test/decompiler/reference/engine/debug/memory-usage_REF.gc b/test/decompiler/reference/engine/debug/memory-usage_REF.gc index c2bd7b6c97..a3665e96f8 100644 --- a/test/decompiler/reference/engine/debug/memory-usage_REF.gc +++ b/test/decompiler/reference/engine/debug/memory-usage_REF.gc @@ -12,23 +12,23 @@ (let ((s5-0 0) (s4-0 0) ) - (dotimes (s3-0 (-> obj length)) - (let ((v1-2 (-> obj data s3-0))) - (+! s5-0 (-> v1-2 used)) - (+! s4-0 (-> v1-2 total)) - (format - #t - "~3D: ~20S ~7D ~8D ~8D~%" - s3-0 - (-> v1-2 name) - (-> v1-2 count) - (-> v1-2 used) - (-> v1-2 total) + (dotimes (s3-0 (-> obj length)) + (let ((v1-2 (-> obj data s3-0))) + (+! s5-0 (-> v1-2 used)) + (+! s4-0 (-> v1-2 total)) + (format + #t + "~3D: ~20S ~7D ~8D ~8D~%" + s3-0 + (-> v1-2 name) + (-> v1-2 count) + (-> v1-2 used) + (-> v1-2 total) + ) + ) ) - ) + (format #t "total: ~8D ~8D~%" s5-0 s4-0) ) - (format #t "total: ~8D ~8D~%" s5-0 s4-0) - ) (format #t "-------------------------------------------------------------~%") obj ) @@ -36,510 +36,265 @@ ;; definition for method 8 of type object (defmethod mem-usage object ((obj object) (arg0 memory-usage-block) (arg1 int)) (if obj - (format - #t - "WARNING: mem-usage called on object, probably not what was wanted for ~A~%" - obj - ) - ) + (format #t "WARNING: mem-usage called on object, probably not what was wanted for ~A~%" obj) + ) obj ) ;; definition for method 10 of type memory-usage-block (defmethod calculate-total memory-usage-block ((obj memory-usage-block)) (let ((v0-0 0)) - (dotimes (v1-0 (-> obj length)) - (+! v0-0 (-> obj data v1-0 total)) + (dotimes (v1-0 (-> obj length)) + (+! v0-0 (-> obj data v1-0 total)) + ) + v0-0 ) - v0-0 - ) ) ;; definition for method 9 of type memory-usage-block (defmethod reset! memory-usage-block ((obj memory-usage-block)) (set! (-> obj length) 0) (dotimes (v1-0 109) - (set! (-> obj data v1-0 used) 0) - (set! (-> obj data v1-0 total) 0) - (set! (-> obj data v1-0 count) 0) - ) + (set! (-> obj data v1-0 used) 0) + (set! (-> obj data v1-0 total) 0) + (set! (-> obj data v1-0 count) 0) + ) obj ) ;; definition for function mem-size (defun mem-size ((arg0 basic) (arg1 symbol) (arg2 int)) (let ((gp-0 (new 'stack 'memory-usage-block))) - (mem-usage arg0 gp-0 arg2) - (if arg1 - (inspect gp-0) + (mem-usage arg0 gp-0 arg2) + (if arg1 + (inspect gp-0) + ) + (calculate-total gp-0) ) - (calculate-total gp-0) - ) ) ;; definition for method 14 of type level (defmethod compute-memory-usage level ((obj level) (arg0 object)) (if (zero? (-> obj mem-usage-block)) - (set! (-> obj mem-usage-block) (new 'debug 'memory-usage-block)) - ) + (set! (-> obj mem-usage-block) (new 'debug 'memory-usage-block)) + ) (set! arg0 (or (zero? (-> obj mem-usage-block length)) arg0)) (when arg0 - (mem-usage obj (reset! (-> obj mem-usage-block)) 0) - (set! (-> obj mem-usage) (calculate-total (-> obj mem-usage-block))) - ) + (mem-usage obj (reset! (-> obj mem-usage-block)) 0) + (set! (-> obj mem-usage) (calculate-total (-> obj mem-usage-block))) + ) (-> obj mem-usage-block) ) ;; definition for method 8 of type process-tree -(defmethod - mem-usage - process-tree - ((obj process-tree) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage process-tree ((obj process-tree) (arg0 memory-usage-block) (arg1 int)) (let ((v1-0 87)) - (let* ((a0-1 *dead-pool-list*) - (a3-0 (car a0-1)) - ) - (while (not (null? a0-1)) - (set! (-> arg0 data v1-0 name) (symbol->string (the-as symbol a3-0))) - (+! v1-0 1) - (set! a0-1 (cdr a0-1)) - (set! a3-0 (car a0-1)) - ) + (let* ((a0-1 *dead-pool-list*) + (a3-0 (car a0-1)) + ) + (while (not (null? a0-1)) + (set! (-> arg0 data v1-0 name) (symbol->string (the-as symbol a3-0))) + (+! v1-0 1) + (set! a0-1 (cdr a0-1)) + (set! a3-0 (car a0-1)) + ) + ) + (set! (-> arg0 length) (max (-> arg0 length) v1-0)) ) - (set! (-> arg0 length) (max (-> arg0 length) v1-0)) - ) (set! (-> arg0 data 93 name) "*debug-dead-pool*") (set! *temp-mem-usage* arg0) (when (logtest? arg1 32) - (let* ((s5-0 87) - (s4-0 *dead-pool-list*) - (v1-4 (car s4-0)) + (let* ((s5-0 87) + (s4-0 *dead-pool-list*) + (v1-4 (car s4-0)) + ) + (while (not (null? s4-0)) + (let ((a0-5 (-> (the-as symbol v1-4) value))) + (set! *global-search-count* s5-0) + (iterate-process-tree + (the-as process-tree a0-5) + (lambda ((arg0 basic)) + (let ((gp-0 *temp-mem-usage*) + (s5-0 *global-search-count*) + ) + (+! (-> gp-0 data s5-0 used) 1) + (+! (-> gp-0 data s5-0 total) (logand -16 (+ (asize-of arg0) 15))) + ) + #t + ) + *null-kernel-context* + ) ) - (while (not (null? s4-0)) - (let ((a0-5 (-> (the-as symbol v1-4) value))) - (set! *global-search-count* s5-0) - (iterate-process-tree (the-as process-tree a0-5) (lambda ((arg0 basic)) - (let - ((gp-0 - *temp-mem-usage* - ) - (s5-0 - *global-search-count* - ) - ) - (+! - (-> - gp-0 - data - s5-0 - used - ) - 1 - ) - (+! - (-> - gp-0 - data - s5-0 - total - ) - (logand - -16 - (+ - (asize-of arg0) - 15 - ) - ) - ) - ) - #t - ) - *null-kernel-context* - ) + (+! s5-0 1) + (set! s4-0 (cdr s4-0)) + (set! v1-4 (car s4-0)) + ) ) - (+! s5-0 1) - (set! s4-0 (cdr s4-0)) - (set! v1-4 (car s4-0)) - ) ) - ) - (iterate-process-tree obj (lambda ((arg0 process)) - (let ((gp-0 *temp-mem-usage*)) - (let ((s4-0 (cond - ((= (-> arg0 pool) *8k-dead-pool*) - 88 - ) - ((= (-> arg0 pool) *16k-dead-pool*) - 89 - ) - ((= (-> arg0 pool) *nk-dead-pool*) - 90 - ) - ((= - (-> arg0 pool) - *target-dead-pool* - ) - 91 - ) - ((= - (-> arg0 pool) - *camera-dead-pool* - ) - 92 - ) - ((= (-> arg0 pool) *debug-dead-pool*) - 93 - ) - (else - 87 - ) - ) - ) - ) - (+! (-> gp-0 data s4-0 count) 1) - (+! - (-> gp-0 data s4-0 total) - (logand -16 (+ (asize-of arg0) 15)) - ) - ) - (set! (-> gp-0 length) (max 95 (-> gp-0 length))) - (set! (-> gp-0 data 94 name) "process-active") - (+! (-> gp-0 data 94 count) 1) - (let ((v1-23 (asize-of arg0))) - (+! (-> gp-0 data 94 used) v1-23) - (+! - (-> gp-0 data 94 total) - (logand -16 (+ v1-23 15)) - ) - ) - (set! (-> gp-0 length) (max 96 (-> gp-0 length))) - (set! (-> gp-0 data 95 name) "heap-total") - (+! (-> gp-0 data 95 count) 1) - (let - ((v1-34 - (+ - (- -4 (the-as int arg0)) - (the-as int (-> arg0 heap-cur)) - ) - ) - ) - (+! (-> gp-0 data 95 used) v1-34) - (+! - (-> gp-0 data 95 total) - (logand -16 (+ v1-34 15)) - ) - ) - (set! (-> gp-0 length) (max 97 (-> gp-0 length))) - (set! (-> gp-0 data 96 name) "heap-process") - (+! (-> gp-0 data 96 count) 1) - (let - ((v1-45 - (- - (-> arg0 type size) - (-> arg0 type heap-base) - ) - ) - ) - (+! (-> gp-0 data 96 used) v1-45) - (+! - (-> gp-0 data 96 total) - (logand -16 (+ v1-45 15)) - ) - ) - (set! (-> gp-0 length) (max 98 (-> gp-0 length))) - (set! (-> gp-0 data 97 name) "heap-header") - (+! (-> gp-0 data 97 count) 1) - (let ((v1-55 (-> arg0 type heap-base))) - (+! (-> gp-0 data 97 used) v1-55) - (+! - (-> gp-0 data 97 total) - (logand -16 (+ v1-55 15)) - ) - ) - (set! (-> gp-0 length) (max 99 (-> gp-0 length))) - (set! (-> gp-0 data 98 name) "heap-thread") - (+! (-> gp-0 data 98 count) 1) - (let ((v1-65 (asize-of (-> arg0 main-thread)))) - (+! (-> gp-0 data 98 used) v1-65) - (+! - (-> gp-0 data 98 total) - (logand -16 (+ v1-65 15)) - ) - ) - (when (type-type? (-> arg0 type) process-drawable) - (when - (nonzero? - (-> (the-as process-drawable arg0) root) - ) - (set! - (-> gp-0 length) - (max 100 (-> gp-0 length)) - ) - (set! (-> gp-0 data 99 name) "heap-root") - (+! (-> gp-0 data 99 count) 1) - (let - ((v1-78 - (asize-of - (-> (the-as process-drawable arg0) root) - ) - ) - ) - (+! (-> gp-0 data 99 used) v1-78) - (+! - (-> gp-0 data 99 total) - (logand -16 (+ v1-78 15)) - ) - ) - (when - (type-type? - (-> (the-as process-drawable arg0) root type) - collide-shape - ) - (set! - (-> gp-0 length) - (max 106 (-> gp-0 length)) - ) - (set! - (-> gp-0 data 105 name) - "heap-collide-prim" - ) - (+! (-> gp-0 data 105 count) 1) - (let - ((v1-91 - (asize-of - (-> - (the-as - collide-shape - (-> (the-as process-drawable arg0) root) - ) - root-prim - ) - ) - ) - ) - (+! (-> gp-0 data 105 used) v1-91) - (+! - (-> gp-0 data 105 total) - (logand -16 (+ v1-91 15)) - ) - ) - ) - ) - (when - (nonzero? - (-> (the-as process-drawable arg0) node-list) - ) - (set! - (-> gp-0 length) - (max 103 (-> gp-0 length)) - ) - (set! (-> gp-0 data 102 name) "heap-cspace") - (+! (-> gp-0 data 102 count) 1) - (let - ((v1-103 - (asize-of - (-> - (the-as process-drawable arg0) - node-list - ) - ) - ) - ) - (+! (-> gp-0 data 102 used) v1-103) - (+! - (-> gp-0 data 102 total) - (logand -16 (+ v1-103 15)) - ) - ) - ) - (when - (nonzero? - (-> (the-as process-drawable arg0) draw) - ) - (set! - (-> gp-0 length) - (max 101 (-> gp-0 length)) - ) - (set! - (-> gp-0 data 100 name) - "heap-draw-control" - ) - (+! (-> gp-0 data 100 count) 1) - (let - ((v1-115 - (asize-of - (-> (the-as process-drawable arg0) draw) - ) - ) - ) - (+! (-> gp-0 data 100 used) v1-115) - (+! - (-> gp-0 data 100 total) - (logand -16 (+ v1-115 15)) - ) - ) - (when - (nonzero? - (-> - (the-as process-drawable arg0) - draw - skeleton - ) - ) - (set! - (-> gp-0 length) - (max 104 (-> gp-0 length)) - ) - (set! (-> gp-0 data 103 name) "heap-bone") - (+! (-> gp-0 data 103 count) 1) - (let - ((v1-129 - (asize-of - (-> - (the-as process-drawable arg0) - draw - skeleton - ) - ) - ) - ) - (+! (-> gp-0 data 103 used) v1-129) - (+! - (-> gp-0 data 103 total) - (logand -16 (+ v1-129 15)) - ) - ) - ) - ) - (when - (nonzero? - (-> (the-as process-drawable arg0) skel) - ) - (set! - (-> gp-0 length) - (max 102 (-> gp-0 length)) - ) - (set! - (-> gp-0 data 101 name) - "heap-joint-control" - ) - (+! (-> gp-0 data 101 count) 1) - (let - ((v1-141 - (asize-of - (-> (the-as process-drawable arg0) skel) - ) - ) - ) - (+! (-> gp-0 data 101 used) v1-141) - (+! - (-> gp-0 data 101 total) - (logand -16 (+ v1-141 15)) - ) - ) - ) - (when - (nonzero? - (-> (the-as process-drawable arg0) part) - ) - (set! - (-> gp-0 length) - (max 105 (-> gp-0 length)) - ) - (set! (-> gp-0 data 104 name) "heap-part") - (+! (-> gp-0 data 104 count) 1) - (let - ((v1-153 - (asize-of - (-> (the-as process-drawable arg0) part) - ) - ) - ) - (+! (-> gp-0 data 104 used) v1-153) - (+! - (-> gp-0 data 104 total) - (logand -16 (+ v1-153 15)) - ) - ) - ) - (when - (nonzero? - (-> (the-as process-drawable arg0) nav) - ) - (set! - (-> gp-0 length) - (max 107 (-> gp-0 length)) - ) - (set! (-> gp-0 data 106 name) "heap-misc") - (+! (-> gp-0 data 106 count) 1) - (let - ((v1-165 - (asize-of - (-> (the-as process-drawable arg0) nav) - ) - ) - ) - (+! (-> gp-0 data 106 used) v1-165) - (+! - (-> gp-0 data 106 total) - (logand -16 (+ v1-165 15)) - ) - ) - ) - (when - (nonzero? - (-> (the-as process-drawable arg0) path) - ) - (set! - (-> gp-0 length) - (max 107 (-> gp-0 length)) - ) - (set! (-> gp-0 data 106 name) "heap-misc") - (+! (-> gp-0 data 106 count) 1) - (let - ((v1-177 - (asize-of - (-> (the-as process-drawable arg0) path) - ) - ) - ) - (+! (-> gp-0 data 106 used) v1-177) - (+! - (-> gp-0 data 106 total) - (logand -16 (+ v1-177 15)) - ) - ) - ) - (when - (nonzero? - (-> (the-as process-drawable arg0) vol) - ) - (set! - (-> gp-0 length) - (max 107 (-> gp-0 length)) - ) - (set! (-> gp-0 data 106 name) "heap-misc") - (+! (-> gp-0 data 106 count) 1) - (let - ((v1-189 - (asize-of - (-> (the-as process-drawable arg0) vol) - ) - ) - ) - (+! (-> gp-0 data 106 used) v1-189) - (+! - (-> gp-0 data 106 total) - (logand -16 (+ v1-189 15)) - ) - ) - ) - ) - ) - #t - ) - *null-kernel-context* - ) + (iterate-process-tree + obj + (lambda ((arg0 process)) + (let ((gp-0 *temp-mem-usage*)) + (let ((s4-0 (cond + ((= (-> arg0 pool) *8k-dead-pool*) + 88 + ) + ((= (-> arg0 pool) *16k-dead-pool*) + 89 + ) + ((= (-> arg0 pool) *nk-dead-pool*) + 90 + ) + ((= (-> arg0 pool) *target-dead-pool*) + 91 + ) + ((= (-> arg0 pool) *camera-dead-pool*) + 92 + ) + ((= (-> arg0 pool) *debug-dead-pool*) + 93 + ) + (else + 87 + ) + ) + ) + ) + (+! (-> gp-0 data s4-0 count) 1) + (+! (-> gp-0 data s4-0 total) (logand -16 (+ (asize-of arg0) 15))) + ) + (set! (-> gp-0 length) (max 95 (-> gp-0 length))) + (set! (-> gp-0 data 94 name) "process-active") + (+! (-> gp-0 data 94 count) 1) + (let ((v1-23 (asize-of arg0))) + (+! (-> gp-0 data 94 used) v1-23) + (+! (-> gp-0 data 94 total) (logand -16 (+ v1-23 15))) + ) + (set! (-> gp-0 length) (max 96 (-> gp-0 length))) + (set! (-> gp-0 data 95 name) "heap-total") + (+! (-> gp-0 data 95 count) 1) + (let ((v1-34 (+ (- -4 (the-as int arg0)) (the-as int (-> arg0 heap-cur))))) + (+! (-> gp-0 data 95 used) v1-34) + (+! (-> gp-0 data 95 total) (logand -16 (+ v1-34 15))) + ) + (set! (-> gp-0 length) (max 97 (-> gp-0 length))) + (set! (-> gp-0 data 96 name) "heap-process") + (+! (-> gp-0 data 96 count) 1) + (let ((v1-45 (- (-> arg0 type size) (-> arg0 type heap-base)))) + (+! (-> gp-0 data 96 used) v1-45) + (+! (-> gp-0 data 96 total) (logand -16 (+ v1-45 15))) + ) + (set! (-> gp-0 length) (max 98 (-> gp-0 length))) + (set! (-> gp-0 data 97 name) "heap-header") + (+! (-> gp-0 data 97 count) 1) + (let ((v1-55 (-> arg0 type heap-base))) + (+! (-> gp-0 data 97 used) v1-55) + (+! (-> gp-0 data 97 total) (logand -16 (+ v1-55 15))) + ) + (set! (-> gp-0 length) (max 99 (-> gp-0 length))) + (set! (-> gp-0 data 98 name) "heap-thread") + (+! (-> gp-0 data 98 count) 1) + (let ((v1-65 (asize-of (-> arg0 main-thread)))) + (+! (-> gp-0 data 98 used) v1-65) + (+! (-> gp-0 data 98 total) (logand -16 (+ v1-65 15))) + ) + (when (type-type? (-> arg0 type) process-drawable) + (when (nonzero? (-> (the-as process-drawable arg0) root)) + (set! (-> gp-0 length) (max 100 (-> gp-0 length))) + (set! (-> gp-0 data 99 name) "heap-root") + (+! (-> gp-0 data 99 count) 1) + (let ((v1-78 (asize-of (-> (the-as process-drawable arg0) root)))) + (+! (-> gp-0 data 99 used) v1-78) + (+! (-> gp-0 data 99 total) (logand -16 (+ v1-78 15))) + ) + (when (type-type? (-> (the-as process-drawable arg0) root type) collide-shape) + (set! (-> gp-0 length) (max 106 (-> gp-0 length))) + (set! (-> gp-0 data 105 name) "heap-collide-prim") + (+! (-> gp-0 data 105 count) 1) + (let ((v1-91 (asize-of (-> (the-as collide-shape (-> (the-as process-drawable arg0) root)) root-prim)))) + (+! (-> gp-0 data 105 used) v1-91) + (+! (-> gp-0 data 105 total) (logand -16 (+ v1-91 15))) + ) + ) + ) + (when (nonzero? (-> (the-as process-drawable arg0) node-list)) + (set! (-> gp-0 length) (max 103 (-> gp-0 length))) + (set! (-> gp-0 data 102 name) "heap-cspace") + (+! (-> gp-0 data 102 count) 1) + (let ((v1-103 (asize-of (-> (the-as process-drawable arg0) node-list)))) + (+! (-> gp-0 data 102 used) v1-103) + (+! (-> gp-0 data 102 total) (logand -16 (+ v1-103 15))) + ) + ) + (when (nonzero? (-> (the-as process-drawable arg0) draw)) + (set! (-> gp-0 length) (max 101 (-> gp-0 length))) + (set! (-> gp-0 data 100 name) "heap-draw-control") + (+! (-> gp-0 data 100 count) 1) + (let ((v1-115 (asize-of (-> (the-as process-drawable arg0) draw)))) + (+! (-> gp-0 data 100 used) v1-115) + (+! (-> gp-0 data 100 total) (logand -16 (+ v1-115 15))) + ) + (when (nonzero? (-> (the-as process-drawable arg0) draw skeleton)) + (set! (-> gp-0 length) (max 104 (-> gp-0 length))) + (set! (-> gp-0 data 103 name) "heap-bone") + (+! (-> gp-0 data 103 count) 1) + (let ((v1-129 (asize-of (-> (the-as process-drawable arg0) draw skeleton)))) + (+! (-> gp-0 data 103 used) v1-129) + (+! (-> gp-0 data 103 total) (logand -16 (+ v1-129 15))) + ) + ) + ) + (when (nonzero? (-> (the-as process-drawable arg0) skel)) + (set! (-> gp-0 length) (max 102 (-> gp-0 length))) + (set! (-> gp-0 data 101 name) "heap-joint-control") + (+! (-> gp-0 data 101 count) 1) + (let ((v1-141 (asize-of (-> (the-as process-drawable arg0) skel)))) + (+! (-> gp-0 data 101 used) v1-141) + (+! (-> gp-0 data 101 total) (logand -16 (+ v1-141 15))) + ) + ) + (when (nonzero? (-> (the-as process-drawable arg0) part)) + (set! (-> gp-0 length) (max 105 (-> gp-0 length))) + (set! (-> gp-0 data 104 name) "heap-part") + (+! (-> gp-0 data 104 count) 1) + (let ((v1-153 (asize-of (-> (the-as process-drawable arg0) part)))) + (+! (-> gp-0 data 104 used) v1-153) + (+! (-> gp-0 data 104 total) (logand -16 (+ v1-153 15))) + ) + ) + (when (nonzero? (-> (the-as process-drawable arg0) nav)) + (set! (-> gp-0 length) (max 107 (-> gp-0 length))) + (set! (-> gp-0 data 106 name) "heap-misc") + (+! (-> gp-0 data 106 count) 1) + (let ((v1-165 (asize-of (-> (the-as process-drawable arg0) nav)))) + (+! (-> gp-0 data 106 used) v1-165) + (+! (-> gp-0 data 106 total) (logand -16 (+ v1-165 15))) + ) + ) + (when (nonzero? (-> (the-as process-drawable arg0) path)) + (set! (-> gp-0 length) (max 107 (-> gp-0 length))) + (set! (-> gp-0 data 106 name) "heap-misc") + (+! (-> gp-0 data 106 count) 1) + (let ((v1-177 (asize-of (-> (the-as process-drawable arg0) path)))) + (+! (-> gp-0 data 106 used) v1-177) + (+! (-> gp-0 data 106 total) (logand -16 (+ v1-177 15))) + ) + ) + (when (nonzero? (-> (the-as process-drawable arg0) vol)) + (set! (-> gp-0 length) (max 107 (-> gp-0 length))) + (set! (-> gp-0 data 106 name) "heap-misc") + (+! (-> gp-0 data 106 count) 1) + (let ((v1-189 (asize-of (-> (the-as process-drawable arg0) vol)))) + (+! (-> gp-0 data 106 used) v1-189) + (+! (-> gp-0 data 106 total) (logand -16 (+ v1-189 15))) + ) + ) + ) + ) + #t + ) + *null-kernel-context* + ) obj ) @@ -549,282 +304,232 @@ ;; definition for method 11 of type memory-usage-block ;; INFO: Return type mismatch memory-usage-block vs none. ;; Used lq/sq -(defmethod - print-mem-usage - memory-usage-block - ((obj memory-usage-block) (arg0 level) (arg1 object)) - (local-vars - (sv-16 object) - (sv-32 string) - (sv-48 symbol) - (sv-64 int) - (sv-80 int) - ) +(defmethod print-mem-usage memory-usage-block ((obj memory-usage-block) (arg0 level) (arg1 object)) + (local-vars (sv-16 object) (sv-32 string) (sv-48 symbol) (sv-64 int) (sv-80 int)) (let ((s3-0 (&- (-> arg0 heap current) (the-as uint (-> arg0 heap base))))) - (let ((v1-2 (+ (-> obj data 59 total) (-> obj data 60 total)))) - (< #x10000 v1-2) - ) - (let ((s2-0 #xa1a333) - (s1-0 - (* - (dma-buffer-length - (-> *display* frames (-> *display* last-screen) frame global-buf) + (let ((v1-2 (+ (-> obj data 59 total) (-> obj data 60 total)))) + (< #x10000 v1-2) + ) + (let ((s2-0 #xa1a333) + (s1-0 (* (dma-buffer-length (-> *display* frames (-> *display* last-screen) frame global-buf)) 16)) + ) + (set! *max-dma* (max s1-0 *max-dma*)) + (if (< s2-0 (-> arg0 mem-usage)) + (format arg1 "~3L") + ) + (let ((s0-0 format)) + (set! sv-16 arg1) + (set! sv-32 "~0K~10,'-S--~5,'-DK-of-~5,'-DK--~5,'-DK-of-~5,'-DK--") + (set! sv-48 (-> arg0 name)) + (let ((s3-1 (sar s3-0 10)) + (s2-1 (sar s2-0 10)) + ) + (set! sv-64 (sar (memory-used *nk-dead-pool*) 10)) + (let ((t2-0 (sar (memory-total *nk-dead-pool*) 10))) + (s0-0 sv-16 sv-32 sv-48 s3-1 s2-1 sv-64 t2-0) ) - 16 - ) ) - ) - (set! *max-dma* (max s1-0 *max-dma*)) - (if (< s2-0 (-> arg0 mem-usage)) - (format arg1 "~3L") - ) - (let ((s0-0 format)) - (set! sv-16 arg1) - (set! sv-32 "~0K~10,'-S--~5,'-DK-of-~5,'-DK--~5,'-DK-of-~5,'-DK--") - (set! sv-48 (-> arg0 name)) - (let ((s3-1 (sar s3-0 10)) - (s2-1 (sar s2-0 10)) - ) - (set! sv-64 (sar (memory-used *nk-dead-pool*) 10)) - (let ((t2-0 (sar (memory-total *nk-dead-pool*) 10))) - (s0-0 sv-16 sv-32 sv-48 s3-1 s2-1 sv-64 t2-0) - ) + ) + (format arg1 "~5,'-DK/~5,'-DK--~%" (shr s1-0 10) (sar *max-dma* 10)) ) - ) - (format arg1 "~5,'-DK/~5,'-DK--~%" (shr s1-0 10) (sar *max-dma* 10)) ) - ) (when *stats-memory-short* - (let ((s2-2 (if (cpad-hold? 1 l3) - #t - arg1 + (let ((s2-2 (if (cpad-hold? 1 l3) + #t + arg1 + ) ) + (s3-2 format) + (s1-1 "heap-~5,'-DK/~5,'-DK----~D---~D/~D~%") + (s0-1 (sar (memory-used *nk-dead-pool*) 10)) ) - (s3-2 format) - (s1-1 "heap-~5,'-DK/~5,'-DK----~D---~D/~D~%") - (s0-1 (sar (memory-used *nk-dead-pool*) 10)) - ) - (set! sv-80 (sar (memory-total *nk-dead-pool*) 10)) - (let ((t0-1 (compact-time *nk-dead-pool*)) - (t1-1 (-> *nk-dead-pool* compact-count)) - (t2-1 (-> *nk-dead-pool* compact-count-targ)) - ) - (s3-2 s2-2 s1-1 s0-1 sv-80 t0-1 t1-1 t2-1) - ) + (set! sv-80 (sar (memory-total *nk-dead-pool*) 10)) + (let ((t0-1 (compact-time *nk-dead-pool*)) + (t1-1 (-> *nk-dead-pool* compact-count)) + (t2-1 (-> *nk-dead-pool* compact-count-targ)) + ) + (s3-2 s2-2 s1-1 s0-1 sv-80 t0-1 t1-1 t2-1) + ) + ) ) - ) (when (not *stats-memory-short*) - (set! - (-> *dma-mem-usage* data 84 total) - (* - (dma-buffer-length - (-> *display* frames (-> *display* last-screen) frame debug-buf) - ) - 16 - ) - ) - (format - arg1 - " bsp ~192H~5DK ~280Hdebug~456H~5DK~%" - (sar - (+ (-> obj data 56 total) (-> obj data 57 total) (-> obj data 58 total)) - 10 - ) - (sar (-> *dma-mem-usage* data 84 total) 10) - ) - (format - arg1 - " bsp-leaf-vis-iop ~192H~5DK~%" - (sar (if (-> arg0 vis-info (-> arg0 vis-self-index)) - (the-as - int - (-> arg0 vis-info (-> arg0 vis-self-index) allocated-length) - ) - 0 + (set! (-> *dma-mem-usage* data 84 total) + (* (dma-buffer-length (-> *display* frames (-> *display* last-screen) frame debug-buf)) 16) ) - 10 - ) - ) - (format - arg1 - " bsp-leaf-vis-adj ~192H~5DK~%" - (sar (+ (-> obj data 59 total) (-> obj data 60 total)) 10) - ) - (format arg1 " level-code ~192H~5DK~%" (sar (-> obj data 63 total) 10)) - (format - arg1 - " tfrag ~192H~5DK ~280Htfragment~456H~5DK~%" - (sar - (+ - (-> obj data 1 total) - (-> obj data 2 total) - (-> obj data 3 total) - (-> obj data 4 total) - (-> obj data 5 total) - (-> obj data 6 total) - (-> obj data 7 total) - (-> obj data 8 total) + (format + arg1 + " bsp ~192H~5DK ~280Hdebug~456H~5DK~%" + (sar (+ (-> obj data 56 total) (-> obj data 57 total) (-> obj data 58 total)) 10) + (sar (-> *dma-mem-usage* data 84 total) 10) ) - 10 - ) - (sar (-> *dma-mem-usage* data 1 total) 10) - ) - (format - arg1 - " tie-proto ~192H~5DK ~280Hsky~456H~5DK~%" - (sar - (+ - (-> obj data 9 total) - (-> obj data 10 total) - (-> obj data 11 total) - (-> obj data 12 total) - (-> obj data 13 total) - (-> obj data 14 total) - (-> obj data 16 total) - (-> obj data 17 total) + (format + arg1 + " bsp-leaf-vis-iop ~192H~5DK~%" + (sar + (if (-> arg0 vis-info (-> arg0 vis-self-index)) + (the-as int (-> arg0 vis-info (-> arg0 vis-self-index) allocated-length)) + 0 + ) + 10 + ) ) - 10 - ) - (sar (-> *dma-mem-usage* data 85 total) 10) - ) - (format - arg1 - " tie-instance ~192H~5DK ~280Htie-fragment~456H~5DK~%" - (sar - (+ - (-> obj data 18 total) - (-> obj data 20 total) - (-> obj data 21 total) - (-> obj data 22 total) + (format arg1 " bsp-leaf-vis-adj ~192H~5DK~%" (sar (+ (-> obj data 59 total) (-> obj data 60 total)) 10)) + (format arg1 " level-code ~192H~5DK~%" (sar (-> obj data 63 total) 10)) + (format + arg1 + " tfrag ~192H~5DK ~280Htfragment~456H~5DK~%" + (sar + (+ (-> obj data 1 total) + (-> obj data 2 total) + (-> obj data 3 total) + (-> obj data 4 total) + (-> obj data 5 total) + (-> obj data 6 total) + (-> obj data 7 total) + (-> obj data 8 total) + ) + 10 + ) + (sar (-> *dma-mem-usage* data 1 total) 10) ) - 10 - ) - (sar (-> *dma-mem-usage* data 9 total) 10) - ) - (format - arg1 - " shrub-proto ~192H~5DK ~280Htie-near~456H~5DK~%" - (sar - (+ - (-> obj data 25 total) - (-> obj data 26 total) - (-> obj data 27 total) - (-> obj data 28 total) - (-> obj data 29 total) - (-> obj data 30 total) - (-> obj data 31 total) - (-> obj data 32 total) - (-> obj data 33 total) + (format + arg1 + " tie-proto ~192H~5DK ~280Hsky~456H~5DK~%" + (sar + (+ (-> obj data 9 total) + (-> obj data 10 total) + (-> obj data 11 total) + (-> obj data 12 total) + (-> obj data 13 total) + (-> obj data 14 total) + (-> obj data 16 total) + (-> obj data 17 total) + ) + 10 + ) + (sar (-> *dma-mem-usage* data 85 total) 10) ) - 10 - ) - (sar (-> *dma-mem-usage* data 15 total) 10) - ) - (format - arg1 - " shrub-instance ~192H~5DK ~280Hshrubbery~456H~5DK~%" - (sar (-> obj data 34 total) 10) - (sar (-> *dma-mem-usage* data 27 total) 10) - ) - (format - arg1 - " collision ~192H~5DK ~280Htie-generic~456H~5DK~%" - (sar - (+ - (-> obj data 50 total) - (-> obj data 51 total) - (-> obj data 52 total) - (-> obj data 53 total) - (-> obj data 54 total) - (-> obj data 55 total) + (format + arg1 + " tie-instance ~192H~5DK ~280Htie-fragment~456H~5DK~%" + (sar (+ (-> obj data 18 total) (-> obj data 20 total) (-> obj data 21 total) (-> obj data 22 total)) 10) + (sar (-> *dma-mem-usage* data 9 total) 10) ) - 10 - ) - (sar (-> *dma-mem-usage* data 17 total) 10) - ) - (format - arg1 - " pris-geo ~192H~5DK ~280Hpris-fragment~456H~5DK~%" - (sar - (+ - (-> obj data 35 total) - (-> obj data 36 total) - (-> obj data 37 total) - (-> obj data 38 total) - (-> obj data 39 total) - (-> obj data 40 total) - (-> obj data 41 total) - (-> obj data 42 total) - (-> obj data 70 total) - (-> obj data 71 total) - (-> obj data 72 total) - (-> obj data 73 total) - (-> obj data 75 total) - (-> obj data 78 total) - (-> obj data 77 total) - (-> obj data 108 total) + (format + arg1 + " shrub-proto ~192H~5DK ~280Htie-near~456H~5DK~%" + (sar + (+ (-> obj data 25 total) + (-> obj data 26 total) + (-> obj data 27 total) + (-> obj data 28 total) + (-> obj data 29 total) + (-> obj data 30 total) + (-> obj data 31 total) + (-> obj data 32 total) + (-> obj data 33 total) + ) + 10 + ) + (sar (-> *dma-mem-usage* data 15 total) 10) ) - 10 - ) - (sar (-> *dma-mem-usage* data 35 total) 10) - ) - (format - arg1 - " pris-anim ~192H~5DK ~280Hpris-generic~456H~5DK~%" - (sar - (+ - (-> obj data 65 total) - (-> obj data 66 total) - (-> obj data 67 total) - (-> obj data 68 total) - (-> obj data 69 total) - (-> obj data 74 total) - (-> obj data 76 total) + (format + arg1 + " shrub-instance ~192H~5DK ~280Hshrubbery~456H~5DK~%" + (sar (-> obj data 34 total) 10) + (sar (-> *dma-mem-usage* data 27 total) 10) ) - 10 - ) - (sar (-> *dma-mem-usage* data 86 total) 10) - ) - (format - arg1 - " textures ~192H~5DK ~280Htextures~456H~5DK~%" - (sar (-> obj data 79 total) 10) - (sar (-> *dma-mem-usage* data 79 total) 10) - ) - (format - arg1 - " entity ~192H~5DK~%" - (sar - (+ - (-> obj data 64 total) - (-> obj data 43 total) - (-> obj data 44 total) - (-> obj data 45 total) - (-> obj data 49 total) - (-> obj data 48 total) - (-> obj data 46 total) - (-> obj data 47 total) + (format + arg1 + " collision ~192H~5DK ~280Htie-generic~456H~5DK~%" + (sar + (+ (-> obj data 50 total) + (-> obj data 51 total) + (-> obj data 52 total) + (-> obj data 53 total) + (-> obj data 54 total) + (-> obj data 55 total) + ) + 10 + ) + (sar (-> *dma-mem-usage* data 17 total) 10) ) - 10 - ) - ) - (format - arg1 - " misc ~192H~5DK ~280Hsprite~456H~5DK~%" - (sar - (+ - (-> obj data 0 total) - (-> obj data 61 total) - (-> obj data 62 total) - (-> obj data 80 total) - (-> obj data 81 total) + (format + arg1 + " pris-geo ~192H~5DK ~280Hpris-fragment~456H~5DK~%" + (sar + (+ (-> obj data 35 total) + (-> obj data 36 total) + (-> obj data 37 total) + (-> obj data 38 total) + (-> obj data 39 total) + (-> obj data 40 total) + (-> obj data 41 total) + (-> obj data 42 total) + (-> obj data 70 total) + (-> obj data 71 total) + (-> obj data 72 total) + (-> obj data 73 total) + (-> obj data 75 total) + (-> obj data 78 total) + (-> obj data 77 total) + (-> obj data 108 total) + ) + 10 + ) + (sar (-> *dma-mem-usage* data 35 total) 10) ) - 10 - ) - (sar (-> *dma-mem-usage* data 82 total) 10) + (format + arg1 + " pris-anim ~192H~5DK ~280Hpris-generic~456H~5DK~%" + (sar + (+ (-> obj data 65 total) + (-> obj data 66 total) + (-> obj data 67 total) + (-> obj data 68 total) + (-> obj data 69 total) + (-> obj data 74 total) + (-> obj data 76 total) + ) + 10 + ) + (sar (-> *dma-mem-usage* data 86 total) 10) + ) + (format + arg1 + " textures ~192H~5DK ~280Htextures~456H~5DK~%" + (sar (-> obj data 79 total) 10) + (sar (-> *dma-mem-usage* data 79 total) 10) + ) + (format arg1 " entity ~192H~5DK~%" (sar + (+ (-> obj data 64 total) + (-> obj data 43 total) + (-> obj data 44 total) + (-> obj data 45 total) + (-> obj data 49 total) + (-> obj data 48 total) + (-> obj data 46 total) + (-> obj data 47 total) + ) + 10 + ) + ) + (format + arg1 + " misc ~192H~5DK ~280Hsprite~456H~5DK~%" + (sar + (+ (-> obj data 0 total) + (-> obj data 61 total) + (-> obj data 62 total) + (-> obj data 80 total) + (-> obj data 81 total) + ) + 10 + ) + (sar (-> *dma-mem-usage* data 82 total) 10) + ) + (format arg1 "~1K~0L") ) - (format arg1 "~1K~0L") - ) (none) ) diff --git a/test/decompiler/reference/engine/debug/menu_REF.gc b/test/decompiler/reference/engine/debug/menu_REF.gc index 8bce99c69b..ba7c84a9c8 100644 --- a/test/decompiler/reference/engine/debug/menu_REF.gc +++ b/test/decompiler/reference/engine/debug/menu_REF.gc @@ -38,32 +38,18 @@ ;; definition for method 0 of type debug-menu-context (defmethod new debug-menu-context ((allocation symbol) (type-to-make type)) - (let - ((gp-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) + (let ((gp-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> gp-0 is-active) #f) + (set! (-> gp-0 is-hidden) #f) + (set! (-> gp-0 sel-length) 0) + (set! (-> gp-0 root-menu) #f) + (set! (-> gp-0 joypad-func) #f) + (set! (-> gp-0 joypad-item) #f) + (set! (-> gp-0 font) + (new 'debug 'font-context *font-default-matrix* 0 0 0.0 (font-color default) (font-flags shadow kerning)) + ) + gp-0 ) - (set! (-> gp-0 is-active) #f) - (set! (-> gp-0 is-hidden) #f) - (set! (-> gp-0 sel-length) 0) - (set! (-> gp-0 root-menu) #f) - (set! (-> gp-0 joypad-func) #f) - (set! (-> gp-0 joypad-item) #f) - (set! - (-> gp-0 font) - (new - 'debug - 'font-context - *font-default-matrix* - 0 - 0 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) - ) - gp-0 - ) ) ;; definition of type debug-menu-node @@ -126,26 +112,15 @@ ) ;; definition for method 0 of type debug-menu -(defmethod - new - debug-menu - ((allocation symbol) - (type-to-make type) - (arg0 debug-menu-context) - (arg1 string) - ) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new debug-menu ((allocation symbol) (type-to-make type) (arg0 debug-menu-context) (arg1 string)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 context) arg0) + (set! (-> v0-0 name) arg1) + (set! (-> v0-0 parent) #f) + (set! (-> v0-0 selected-item) #f) + (set! (-> v0-0 items) '()) + v0-0 ) - (set! (-> v0-0 context) arg0) - (set! (-> v0-0 name) arg1) - (set! (-> v0-0 parent) #f) - (set! (-> v0-0 selected-item) #f) - (set! (-> v0-0 items) '()) - v0-0 - ) ) ;; definition of type debug-menu-item @@ -193,23 +168,16 @@ ) ;; definition for method 0 of type debug-menu-item-submenu -(defmethod - new - debug-menu-item-submenu - ((allocation symbol) (type-to-make type) (arg0 string) (arg1 debug-menu)) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new debug-menu-item-submenu ((allocation symbol) (type-to-make type) (arg0 string) (arg1 debug-menu)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 name) arg0) + (set! (-> v0-0 parent) #f) + (set! (-> v0-0 refresh-delay) 0) + (set! (-> v0-0 refresh-ctr) (-> v0-0 refresh-delay)) + (set! (-> v0-0 submenu) arg1) + (set! (-> v0-0 submenu parent) (the-as debug-menu v0-0)) + v0-0 ) - (set! (-> v0-0 name) arg0) - (set! (-> v0-0 parent) #f) - (set! (-> v0-0 refresh-delay) 0) - (set! (-> v0-0 refresh-ctr) (-> v0-0 refresh-delay)) - (set! (-> v0-0 submenu) arg1) - (set! (-> v0-0 submenu parent) (the-as debug-menu v0-0)) - v0-0 - ) ) ;; definition of type debug-menu-item-function @@ -239,29 +207,17 @@ ) ;; definition for method 0 of type debug-menu-item-function -(defmethod - new - debug-menu-item-function - ((allocation symbol) - (type-to-make type) - (arg0 string) - (arg1 int) - (arg2 (function int object)) - ) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new debug-menu-item-function ((allocation symbol) (type-to-make type) (arg0 string) (arg1 int) (arg2 (function int object))) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 name) arg0) + (set! (-> v0-0 parent) #f) + (set! (-> v0-0 refresh-delay) 0) + (set! (-> v0-0 refresh-ctr) (-> v0-0 refresh-delay)) + (set! (-> v0-0 id) arg1) + (set! (-> v0-0 activate-func) arg2) + (set! (-> v0-0 hilite-timer) 0) + v0-0 ) - (set! (-> v0-0 name) arg0) - (set! (-> v0-0 parent) #f) - (set! (-> v0-0 refresh-delay) 0) - (set! (-> v0-0 refresh-ctr) (-> v0-0 refresh-delay)) - (set! (-> v0-0 id) arg1) - (set! (-> v0-0 activate-func) arg2) - (set! (-> v0-0 hilite-timer) 0) - v0-0 - ) ) ;; definition of type debug-menu-item-flag @@ -291,29 +247,17 @@ ) ;; definition for method 0 of type debug-menu-item-flag -(defmethod - new - debug-menu-item-flag - ((allocation symbol) - (type-to-make type) - (arg0 string) - (arg1 int) - (arg2 (function int debug-menu-msg object)) - ) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new debug-menu-item-flag ((allocation symbol) (type-to-make type) (arg0 string) (arg1 int) (arg2 (function int debug-menu-msg object))) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 name) arg0) + (set! (-> v0-0 parent) #f) + (set! (-> v0-0 refresh-delay) 23) + (set! (-> v0-0 refresh-ctr) (-> v0-0 refresh-delay)) + (set! (-> v0-0 id) arg1) + (set! (-> v0-0 activate-func) arg2) + (set! (-> v0-0 is-on) (the-as object #f)) + v0-0 ) - (set! (-> v0-0 name) arg0) - (set! (-> v0-0 parent) #f) - (set! (-> v0-0 refresh-delay) 23) - (set! (-> v0-0 refresh-ctr) (-> v0-0 refresh-delay)) - (set! (-> v0-0 id) arg1) - (set! (-> v0-0 activate-func) arg2) - (set! (-> v0-0 is-on) (the-as object #f)) - v0-0 - ) ) ;; definition of type debug-menu-item-var @@ -393,56 +337,51 @@ ;; definition for function debug-menu-item-var-update-display-str (defun debug-menu-item-var-update-display-str ((arg0 debug-menu-item-var)) (cond - ((-> arg0 float-p) - (format (clear (-> arg0 display-str)) "~f" (-> arg0 fval)) - ) - ((-> arg0 ihex-p) - (format (clear (-> arg0 display-str)) "x~X" (-> arg0 fval)) - ) - ((-> arg0 ifloat-p) - (cond - ((and - (< (the-as int (-> arg0 fval)) 0) - (< -100 (the-as int (-> arg0 fval))) - ) - (let ((s5-2 format) - (a0-8 (clear (-> arg0 display-str))) - (a1-2 "-0.~1d") - (v1-8 (abs (the-as int (-> arg0 fval)))) - ) - (s5-2 a0-8 a1-2 (/ (mod v1-8 100) 10)) - ) - ) - (else - (let ((s5-3 format) - (a0-10 (clear (-> arg0 display-str))) - (a1-3 "~2d.~1d") - (a2-6 (/ (the-as int (-> arg0 fval)) 100)) - (v1-12 (abs (the-as int (-> arg0 fval)))) - ) - (s5-3 a0-10 a1-3 a2-6 (/ (mod v1-12 100) 10)) - ) - ) + ((-> arg0 float-p) + (format (clear (-> arg0 display-str)) "~f" (-> arg0 fval)) ) + ((-> arg0 ihex-p) + (format (clear (-> arg0 display-str)) "x~X" (-> arg0 fval)) + ) + ((-> arg0 ifloat-p) + (cond + ((and (< (the-as int (-> arg0 fval)) 0) (< -100 (the-as int (-> arg0 fval)))) + (let ((s5-2 format) + (a0-8 (clear (-> arg0 display-str))) + (a1-2 "-0.~1d") + (v1-8 (abs (the-as int (-> arg0 fval)))) + ) + (s5-2 a0-8 a1-2 (/ (mod v1-8 100) 10)) + ) + ) + (else + (let ((s5-3 format) + (a0-10 (clear (-> arg0 display-str))) + (a1-3 "~2d.~1d") + (a2-6 (/ (the-as int (-> arg0 fval)) 100)) + (v1-12 (abs (the-as int (-> arg0 fval)))) + ) + (s5-3 a0-10 a1-3 a2-6 (/ (mod v1-12 100) 10)) + ) + ) + ) + ) + (else + (format (clear (-> arg0 display-str)) "~D" (-> arg0 fval)) + ) ) - (else - (format (clear (-> arg0 display-str)) "~D" (-> arg0 fval)) - ) - ) arg0 ) ;; definition for function debug-menu-item-var-make-int -(defun - debug-menu-item-var-make-int - ((item debug-menu-item-var) - (callback (function int debug-menu-msg int int int)) - (inc int) - (has-range symbol) - (range-min int) - (range-max int) - (hex symbol) - ) +(defun debug-menu-item-var-make-int ((item debug-menu-item-var) + (callback (function int debug-menu-msg int int int)) + (inc int) + (has-range symbol) + (range-min int) + (range-max int) + (hex symbol) + ) (set! (-> item float-p) #f) (set! (-> item range-p) has-range) (set! (-> item frange-min) (the-as float range-min)) @@ -450,48 +389,37 @@ (set! (-> item fstart-inc) (the-as float inc)) (set! (-> item fstep) (the-as float inc)) (set! (-> item ihex-p) hex) - (set! - (-> item factivate-func) - (the-as (function int debug-menu-msg float float float) callback) - ) + (set! (-> item factivate-func) (the-as (function int debug-menu-msg float float float) callback)) (cond - (has-range - (set! (-> item fval) (the-as float range-min)) - ) - (else - (set! (-> item fval) (the-as float 0)) - 0 - ) - ) - (if callback - (set! - (-> item fval) - (the-as - float - (callback - (-> item id) - (debug-menu-msg update) - (the-as int (-> item fval)) - (the-as int (-> item fval)) + (has-range + (set! (-> item fval) (the-as float range-min)) + ) + (else + (set! (-> item fval) (the-as float 0)) + 0 ) - ) ) - ) + (if callback + (set! (-> item fval) + (the-as + float + (callback (-> item id) (debug-menu-msg update) (the-as int (-> item fval)) (the-as int (-> item fval))) + ) + ) + ) (debug-menu-item-var-update-display-str item) item ) ;; definition for function debug-menu-item-var-make-float -(defun - debug-menu-item-var-make-float - ((item debug-menu-item-var) - (callback (function int debug-menu-msg float float float)) - (inc float) - (has-range symbol) - (range-min float) - (range-max float) - (precision int) - ) +(defun debug-menu-item-var-make-float ((item debug-menu-item-var) + (callback (function int debug-menu-msg float float float)) + (inc float) + (has-range symbol) + (range-min float) + (range-max float) + (precision int) + ) (set! (-> item float-p) #t) (set! (-> item range-p) has-range) (set! (-> item frange-min) range-min) @@ -501,93 +429,59 @@ (set! (-> item fprecision) precision) (set! (-> item factivate-func) callback) (if has-range - (set! (-> item fval) range-min) - (set! (-> item fval) 0.0) - ) - (if callback - (set! - (-> item fval) - (the - float - (callback - (-> item id) - (debug-menu-msg update) - (-> item fval) - (-> item fval) + (set! (-> item fval) range-min) + (set! (-> item fval) 0.0) + ) + (if callback + (set! (-> item fval) + (the float (callback (-> item id) (debug-menu-msg update) (-> item fval) (-> item fval))) + ) ) - ) - ) - ) (debug-menu-item-var-update-display-str item) item ) ;; definition for method 0 of type debug-menu-item-var -(defmethod - new - debug-menu-item-var - ((allocation symbol) - (type-to-make type) - (name string) - (id int) - (max-width int) - ) - (let - ((gp-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) - ) - (let ((v1-2 (/ max-width 8))) - (set! (-> gp-0 name) name) - (set! (-> gp-0 parent) #f) - (set! (-> gp-0 refresh-delay) 31) - (set! (-> gp-0 refresh-ctr) (-> gp-0 refresh-delay)) - (set! (-> gp-0 id) id) - (set! v1-2 (cond - ((< 3 v1-2) - (empty) - v1-2 - ) - (else - 3 - ) - ) - ) - (set! (-> gp-0 show-len) v1-2) - ) - (set! (-> gp-0 grabbed-joypad-p) #f) - (set! (-> gp-0 ifloat-p) #f) - (set! (-> gp-0 display-str) (new 'debug 'string 64 (the-as string #f))) - (debug-menu-item-var-make-int +(defmethod new debug-menu-item-var ((allocation symbol) (type-to-make type) (name string) (id int) (max-width int)) + (let ((gp-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (let ((v1-2 (/ max-width 8))) + (set! (-> gp-0 name) name) + (set! (-> gp-0 parent) #f) + (set! (-> gp-0 refresh-delay) 31) + (set! (-> gp-0 refresh-ctr) (-> gp-0 refresh-delay)) + (set! (-> gp-0 id) id) + (set! v1-2 (cond + ((< 3 v1-2) + (empty) + v1-2 + ) + (else + 3 + ) + ) + ) + (set! (-> gp-0 show-len) v1-2) + ) + (set! (-> gp-0 grabbed-joypad-p) #f) + (set! (-> gp-0 ifloat-p) #f) + (set! (-> gp-0 display-str) (new 'debug 'string 64 (the-as string #f))) + (debug-menu-item-var-make-int gp-0 (the-as (function int debug-menu-msg int int int) #f) 1 #t 0 0 #f) gp-0 - (the-as (function int debug-menu-msg int int int) #f) - 1 - #t - 0 - 0 - #f ) - gp-0 - ) ) ;; definition for function debug-menu-context-grab-joypad -(defun - debug-menu-context-grab-joypad - ((menu debug-menu-context) - (callback-arg basic) - (callback-func (function basic none)) - ) +(defun debug-menu-context-grab-joypad ((menu debug-menu-context) (callback-arg basic) (callback-func (function basic none))) (cond - ((-> menu joypad-func) - #f + ((-> menu joypad-func) + #f + ) + (else + (set! (-> menu joypad-func) callback-func) + (set! (-> menu joypad-item) callback-arg) + #t + ) ) - (else - (set! (-> menu joypad-func) callback-func) - (set! (-> menu joypad-item) callback-arg) - #t - ) - ) ) ;; definition for function debug-menu-context-release-joypad @@ -602,72 +496,44 @@ (local-vars (v0-1 int)) 0 (cond - ((= (-> arg0 type) debug-menu-item-submenu) - (set! - v0-1 - (+ (the int (get-string-length (-> arg0 name) (-> arg1 context font))) 16) + ((= (-> arg0 type) debug-menu-item-submenu) + (set! v0-1 (+ (the int (get-string-length (-> arg0 name) (-> arg1 context font))) 16)) ) - ) - ((= (-> arg0 type) debug-menu-item-var) - (set! - v0-1 - (the - int - (get-string-length - (the-as - string - (the-as - debug-menu-item-var - (-> (the-as debug-menu-item-var arg0) display-str) - ) - ) - (-> arg1 context font) - ) + ((= (-> arg0 type) debug-menu-item-var) + (set! v0-1 + (the int (get-string-length + (the-as string (the-as debug-menu-item-var (-> (the-as debug-menu-item-var arg0) display-str))) + (-> arg1 context font) + ) + ) + ) + ) + (else + (set! v0-1 (+ (the int (get-string-length (-> arg0 name) (-> arg1 context font))) 6)) ) - ) ) - (else - (set! - v0-1 - (+ (the int (get-string-length (-> arg0 name) (-> arg1 context font))) 6) - ) - ) - ) v0-1 ) ;; definition for function debug-menu-context-default-selection -(defun - debug-menu-context-default-selection - ((ctxt debug-menu-context) (keep-current symbol)) +(defun debug-menu-context-default-selection ((ctxt debug-menu-context) (keep-current symbol)) (when (or (zero? (-> ctxt sel-length)) (not keep-current)) - (let ((menu (-> ctxt root-menu))) - (when (and menu (not (null? (-> menu items)))) - (let ((currently-active (-> ctxt is-active))) - (if currently-active - (debug-menu-context-send-msg - ctxt - (debug-menu-msg deactivate) - (debug-menu-dest activation) + (let ((menu (-> ctxt root-menu))) + (when (and menu (not (null? (-> menu items)))) + (let ((currently-active (-> ctxt is-active))) + (if currently-active + (debug-menu-context-send-msg ctxt (debug-menu-msg deactivate) (debug-menu-dest activation)) + ) + (set! (-> ctxt sel-length) 1) + (set! (-> ctxt sel-menu 0) menu) + (set! (-> menu selected-item) (the-as debug-menu-item (car (-> menu items)))) + (if currently-active + (debug-menu-context-send-msg ctxt (debug-menu-msg activate) (debug-menu-dest activation)) + ) + ) ) - ) - (set! (-> ctxt sel-length) 1) - (set! (-> ctxt sel-menu 0) menu) - (set! - (-> menu selected-item) - (the-as debug-menu-item (car (-> menu items))) - ) - (if currently-active - (debug-menu-context-send-msg - ctxt - (debug-menu-msg activate) - (debug-menu-dest activation) - ) - ) ) - ) ) - ) ctxt ) @@ -676,57 +542,38 @@ (let ((max-width 0) (entry-count 0) ) - (let* ((iter (-> menu items)) - (current-item (car iter)) - ) - (while (not (null? iter)) - (+! entry-count 1) - (set! (-> (the-as debug-menu-item current-item) parent) menu) - (set! - max-width - (max - max-width - (debug-menu-item-get-max-width - (the-as debug-menu-item current-item) - menu + (let* ((iter (-> menu items)) + (current-item (car iter)) + ) + (while (not (null? iter)) + (+! entry-count 1) + (set! (-> (the-as debug-menu-item current-item) parent) menu) + (set! max-width (max max-width (debug-menu-item-get-max-width (the-as debug-menu-item current-item) menu))) + (set! iter (cdr iter)) + (set! current-item (car iter)) ) - ) ) - (set! iter (cdr iter)) - (set! current-item (car iter)) - ) + (set! (-> menu pix-width) (+ max-width 18)) + (set! (-> menu pix-height) (+ (* entry-count 8) 6)) ) - (set! (-> menu pix-width) (+ max-width 18)) - (set! (-> menu pix-height) (+ (* entry-count 8) 6)) - ) (let ((a0-2 (-> menu context))) - (debug-menu-context-default-selection a0-2 #t) - ) + (debug-menu-context-default-selection a0-2 #t) + ) menu ) ;; definition for function debug-menu-context-set-root-menu -(defun - debug-menu-context-set-root-menu - ((context debug-menu-context) (menu debug-menu)) +(defun debug-menu-context-set-root-menu ((context debug-menu-context) (menu debug-menu)) (let ((active (-> context is-active))) - (if active - (debug-menu-context-send-msg - context - (debug-menu-msg deactivate) - (debug-menu-dest activation) - ) + (if active + (debug-menu-context-send-msg context (debug-menu-msg deactivate) (debug-menu-dest activation)) + ) + (set! (-> context root-menu) menu) + (debug-menu-context-default-selection context #f) + (if active + (debug-menu-context-send-msg context (debug-menu-msg activate) (debug-menu-dest activation)) + ) ) - (set! (-> context root-menu) menu) - (debug-menu-context-default-selection context #f) - (if active - (debug-menu-context-send-msg - context - (debug-menu-msg activate) - (debug-menu-dest activation) - ) - ) - ) context ) @@ -735,27 +582,16 @@ (let* ((context (-> menu context)) (was-active (-> context is-active)) ) - (if was-active - (debug-menu-context-send-msg - context - (debug-menu-msg deactivate) - (debug-menu-dest activation) - ) + (if was-active + (debug-menu-context-send-msg context (debug-menu-msg deactivate) (debug-menu-dest activation)) + ) + (set! (-> item parent) menu) + (set! (-> menu items) (the-as pair (append! (-> menu items) (cons item '())))) + (debug-menu-rebuild menu) + (if was-active + (debug-menu-context-send-msg context (debug-menu-msg activate) (debug-menu-dest activation)) + ) ) - (set! (-> item parent) menu) - (set! - (-> menu items) - (the-as pair (append! (-> menu items) (cons item '()))) - ) - (debug-menu-rebuild menu) - (if was-active - (debug-menu-context-send-msg - context - (debug-menu-msg activate) - (debug-menu-dest activation) - ) - ) - ) item ) @@ -764,24 +600,16 @@ (let* ((gp-0 (-> arg0 context)) (s4-0 (-> gp-0 is-active)) ) - (if s4-0 - (debug-menu-context-send-msg - gp-0 - (debug-menu-msg deactivate) - (debug-menu-dest activation) - ) + (if s4-0 + (debug-menu-context-send-msg gp-0 (debug-menu-msg deactivate) (debug-menu-dest activation)) + ) + (set! (-> arg0 items) '()) + (set! (-> arg0 selected-item) #f) + (debug-menu-rebuild arg0) + (if s4-0 + (debug-menu-context-send-msg gp-0 (debug-menu-msg activate) (debug-menu-dest activation)) + ) ) - (set! (-> arg0 items) '()) - (set! (-> arg0 selected-item) #f) - (debug-menu-rebuild arg0) - (if s4-0 - (debug-menu-context-send-msg - gp-0 - (debug-menu-msg activate) - (debug-menu-dest activation) - ) - ) - ) arg0 ) @@ -789,19 +617,19 @@ ;; INFO: Return type mismatch object vs function. (defun debug-menu-func-decode ((arg0 object)) (let ((v1-1 (rtype-of arg0))) - (the-as function (cond - ((or (= v1-1 symbol) (= v1-1 type)) - (the-as symbol (-> (the-as symbol arg0) value)) - ) - ((= v1-1 function) - (the-as symbol arg0) - ) - (else - (the-as symbol nothing) - ) - ) + (the-as function (cond + ((or (= v1-1 symbol) (= v1-1 type)) + (the-as symbol (-> (the-as symbol arg0) value)) + ) + ((= v1-1 function) + (the-as symbol arg0) + ) + (else + (the-as symbol nothing) + ) + ) + ) ) - ) ) ;; definition for function debug-menu-make-from-template @@ -815,229 +643,160 @@ ;; WARN: Stack slot load at 96 mismatch: defined as size 4, got size 16 ;; Used lq/sq (defun debug-menu-make-from-template ((arg0 debug-menu-context) (arg1 pair)) - (local-vars - (s5-0 basic) - (sv-16 object) - (sv-32 int) - (sv-48 float) - (sv-64 float) - (sv-80 float) - (sv-96 float) - ) + (local-vars (s5-0 basic) (sv-16 object) (sv-32 int) (sv-48 float) (sv-64 float) (sv-80 float) (sv-96 float)) (when (or (not arg1) (null? arg1)) - (set! s5-0 #f) - (goto cfg-41) - ) + (set! s5-0 #f) + (goto cfg-41) + ) (let ((s4-0 (car arg1)) (s5-1 (the-as string (car (cdr arg1)))) ) - (cond - ((= s4-0 'menu) - (let ((s4-1 (new 'debug 'debug-menu arg0 s5-1))) - (set! s5-0 (new 'debug 'debug-menu-item-submenu s5-1 s4-1)) - (let* ((gp-1 (cdr (cdr arg1))) - (a1-3 (car gp-1)) + (cond + ((= s4-0 'menu) + (let ((s4-1 (new 'debug 'debug-menu arg0 s5-1))) + (set! s5-0 (new 'debug 'debug-menu-item-submenu s5-1 s4-1)) + (let* ((gp-1 (cdr (cdr arg1))) + (a1-3 (car gp-1)) + ) + (while (not (null? gp-1)) + (let ((a1-4 (debug-menu-make-from-template arg0 (the-as pair a1-3)))) + (if a1-4 + (debug-menu-append-item s4-1 (the-as debug-menu-item a1-4)) + ) + ) + (set! gp-1 (cdr gp-1)) + (set! a1-3 (car gp-1)) ) - (while (not (null? gp-1)) - (let ((a1-4 (debug-menu-make-from-template arg0 (the-as pair a1-3)))) - (if a1-4 - (debug-menu-append-item s4-1 (the-as debug-menu-item a1-4)) - ) + ) ) - (set! gp-1 (cdr gp-1)) - (set! a1-3 (car gp-1)) - ) ) - ) - ) - ((= s4-0 'main-menu) - (set! s5-0 (new 'debug 'debug-menu arg0 s5-1)) - (let* ((gp-2 (cdr (cdr arg1))) - (a1-6 (car gp-2)) - ) - (while (not (null? gp-2)) - (let ((a1-7 (debug-menu-make-from-template arg0 (the-as pair a1-6)))) - (if a1-7 - (debug-menu-append-item - (the-as debug-menu s5-0) - (the-as debug-menu-item a1-7) - ) + ((= s4-0 'main-menu) + (set! s5-0 (new 'debug 'debug-menu arg0 s5-1)) + (let* ((gp-2 (cdr (cdr arg1))) + (a1-6 (car gp-2)) + ) + (while (not (null? gp-2)) + (let ((a1-7 (debug-menu-make-from-template arg0 (the-as pair a1-6)))) + (if a1-7 + (debug-menu-append-item (the-as debug-menu s5-0) (the-as debug-menu-item a1-7)) + ) + ) + (set! gp-2 (cdr gp-2)) + (set! a1-6 (car gp-2)) + ) ) - ) - (set! gp-2 (cdr gp-2)) - (set! a1-6 (car gp-2)) + (debug-menu-context-set-root-menu arg0 (the-as debug-menu s5-0)) ) - ) - (debug-menu-context-set-root-menu arg0 (the-as debug-menu s5-0)) - ) - (else - (set! s5-0 (cond - ((= s4-0 'flag) - (new + (else + (set! s5-0 + (cond + ((= s4-0 'flag) + (new 'debug 'debug-menu-item-flag s5-1 (the-as int (car (cdr (cdr arg1)))) - (the-as - (function int debug-menu-msg object) - (debug-menu-func-decode (car (cdr (cdr (cdr arg1))))) - ) + (the-as (function int debug-menu-msg object) (debug-menu-func-decode (car (cdr (cdr (cdr arg1)))))) ) - ) - ((or (= s4-0 0) (= s4-0 'function)) - (new + ) + ((or (= s4-0 0) (= s4-0 'function)) + (new 'debug 'debug-menu-item-function s5-1 (the-as int (car (cdr (cdr arg1)))) - (the-as - (function int object) - (debug-menu-func-decode (car (cdr (cdr (cdr arg1))))) - ) + (the-as (function int object) (debug-menu-func-decode (car (cdr (cdr (cdr arg1)))))) ) - ) - ((= s4-0 'var) - (new + ) + ((= s4-0 'var) + (new 'debug 'debug-menu-item-var s5-1 (the-as int (car (cdr (cdr arg1)))) (the-as int (car (cdr (cdr (cdr arg1))))) ) - ) - ((or - (= s4-0 'int-var) - (= s4-0 'int-var-gat1) - (= s4-0 'hex-var) - ) - (set! - s5-0 - (new - 'debug - 'debug-menu-item-var - s5-1 - (the-as int (car (cdr (cdr arg1)))) - (the-as int (ref arg1 4)) - ) - ) - (let ((s3-4 debug-menu-item-var-make-int) - (s2-3 (the-as debug-menu-item-var s5-0)) - (s1-3 - (debug-menu-func-decode (car (cdr (cdr (cdr arg1))))) - ) - (s0-1 (/ (the-as int (ref arg1 5)) 8)) - ) + ) + ((or (= s4-0 'int-var) (= s4-0 'int-var-gat1) (= s4-0 'hex-var)) + (set! s5-0 + (new 'debug 'debug-menu-item-var s5-1 (the-as int (car (cdr (cdr arg1)))) (the-as int (ref arg1 4))) + ) + (let ((s3-4 debug-menu-item-var-make-int) + (s2-3 (the-as debug-menu-item-var s5-0)) + (s1-3 (debug-menu-func-decode (car (cdr (cdr (cdr arg1)))))) + (s0-1 (/ (the-as int (ref arg1 5)) 8)) + ) (set! sv-16 (ref arg1 6)) (set! sv-32 (/ (the-as int (ref arg1 7)) 8)) (let ((t1-0 (/ (the-as int (ref arg1 8)) 8)) (t2-0 (= s4-0 'hex-var)) ) - (s3-4 - s2-3 - (the-as (function int debug-menu-msg int int int) s1-3) - s0-1 - (the-as symbol sv-16) - sv-32 - t1-0 - t2-0 + (s3-4 s2-3 (the-as (function int debug-menu-msg int int int) s1-3) s0-1 (the-as symbol sv-16) sv-32 t1-0 t2-0) ) - ) ) - (set! (-> (the-as debug-menu-item-var s5-0) ifloat-p) #t) - s5-0 - ) - ((= s4-0 'float-var) - (set! - s5-0 - (new - 'debug - 'debug-menu-item-var - s5-1 - (the-as int (car (cdr (cdr arg1)))) - (the-as int (ref arg1 4)) - ) - ) - (let ((s4-5 debug-menu-item-var-make-float) - (s3-6 (the-as debug-menu-item-var s5-0)) - (s2-5 - (debug-menu-func-decode (car (cdr (cdr (cdr arg1))))) - ) - (s1-5 (the float (/ (the-as int (ref arg1 5)) 8))) - (s0-2 (ref arg1 6)) - ) + (set! (-> (the-as debug-menu-item-var s5-0) ifloat-p) #t) + s5-0 + ) + ((= s4-0 'float-var) + (set! s5-0 + (new 'debug 'debug-menu-item-var s5-1 (the-as int (car (cdr (cdr arg1)))) (the-as int (ref arg1 4))) + ) + (let ((s4-5 debug-menu-item-var-make-float) + (s3-6 (the-as debug-menu-item-var s5-0)) + (s2-5 (debug-menu-func-decode (car (cdr (cdr (cdr arg1)))))) + (s1-5 (the float (/ (the-as int (ref arg1 5)) 8))) + (s0-2 (ref arg1 6)) + ) (set! sv-48 (the float (/ (the-as int (ref arg1 7)) 8))) (set! sv-64 (the float (/ (the-as int (ref arg1 8)) 8))) (let ((t2-1 (/ (the-as int (ref arg1 9)) 8))) - (s4-5 - s3-6 - (the-as - (function int debug-menu-msg float float float) - s2-5 - ) - s1-5 - (the-as symbol s0-2) - sv-48 - sv-64 - t2-1 + (s4-5 + s3-6 + (the-as (function int debug-menu-msg float float float) s2-5) + s1-5 + (the-as symbol s0-2) + sv-48 + sv-64 + t2-1 + ) ) - ) ) - s5-0 - ) - ((= s4-0 'float-fixed-var) - (set! - s5-0 - (new - 'debug - 'debug-menu-item-var - s5-1 - (the-as int (car (cdr (cdr arg1)))) - (the-as int (ref arg1 4)) - ) - ) - (let ((s4-7 debug-menu-item-var-make-float) - (s3-8 (the-as debug-menu-item-var s5-0)) - (s2-7 - (debug-menu-func-decode (car (cdr (cdr (cdr arg1))))) - ) - (s1-7 - (* 0.001 (the float (/ (the-as int (ref arg1 5)) 8))) - ) - (s0-3 (ref arg1 6)) - ) - (set! - sv-80 - (* 0.001 (the float (/ (the-as int (ref arg1 7)) 8))) - ) - (set! - sv-96 - (* 0.001 (the float (/ (the-as int (ref arg1 8)) 8))) - ) + s5-0 + ) + ((= s4-0 'float-fixed-var) + (set! s5-0 + (new 'debug 'debug-menu-item-var s5-1 (the-as int (car (cdr (cdr arg1)))) (the-as int (ref arg1 4))) + ) + (let ((s4-7 debug-menu-item-var-make-float) + (s3-8 (the-as debug-menu-item-var s5-0)) + (s2-7 (debug-menu-func-decode (car (cdr (cdr (cdr arg1)))))) + (s1-7 (* 0.001 (the float (/ (the-as int (ref arg1 5)) 8)))) + (s0-3 (ref arg1 6)) + ) + (set! sv-80 (* 0.001 (the float (/ (the-as int (ref arg1 7)) 8)))) + (set! sv-96 (* 0.001 (the float (/ (the-as int (ref arg1 8)) 8)))) (let ((t2-2 (/ (the-as int (ref arg1 9)) 8))) - (s4-7 - s3-8 - (the-as - (function int debug-menu-msg float float float) - s2-7 - ) - s1-7 - (the-as symbol s0-3) - sv-80 - sv-96 - t2-2 + (s4-7 + s3-8 + (the-as (function int debug-menu-msg float float float) s2-7) + s1-7 + (the-as symbol s0-3) + sv-80 + sv-96 + t2-2 + ) ) - ) ) - s5-0 - ) - (else + s5-0 + ) + (else #f ) - ) + ) + ) + ) ) - ) ) - ) (label cfg-41) (the-as debug-menu-node s5-0) ) @@ -1046,507 +805,423 @@ ;; INFO: Return type mismatch object vs debug-menu. (defun debug-menu-find-from-template ((arg0 debug-menu-context) (arg1 pair)) (let ((s4-0 (the-as object (-> arg0 root-menu)))) - (while (begin - (label cfg-17) - (and - s4-0 - (type-type? (-> (the-as debug-menu-node s4-0) type) debug-menu) - (not (null? arg1)) + (while (begin + (label cfg-17) + (and s4-0 (type-type? (-> (the-as debug-menu-node s4-0) type) debug-menu) (not (null? arg1))) + ) + (let ((s3-0 (-> (the-as debug-menu s4-0) items)) + (s4-1 (car arg1)) + ) + (set! arg1 (cdr arg1)) + (let ((s5-0 (car s3-0))) + (while (not (null? s3-0)) + (when (string= (the-as string s4-1) (-> (the-as debug-menu-item s5-0) name)) + (if (type-type? (rtype-of s5-0) debug-menu-item-submenu) + (set! s4-0 (-> (the-as debug-menu-item-submenu s5-0) submenu)) + (set! s4-0 s5-0) + ) + (goto cfg-17) + ) + (set! s3-0 (cdr s3-0)) + (set! s5-0 (car s3-0)) ) - ) - (let ((s3-0 (-> (the-as debug-menu s4-0) items)) - (s4-1 (car arg1)) ) - (set! arg1 (cdr arg1)) - (let ((s5-0 (car s3-0))) - (while (not (null? s3-0)) - (when - (string= (the-as string s4-1) (-> (the-as debug-menu-item s5-0) name)) - (if (type-type? (rtype-of s5-0) debug-menu-item-submenu) - (set! s4-0 (-> (the-as debug-menu-item-submenu s5-0) submenu)) - (set! s4-0 s5-0) - ) - (goto cfg-17) ) - (set! s3-0 (cdr s3-0)) - (set! s5-0 (car s3-0)) - ) + (set! s4-0 #f) + (goto cfg-24) ) - ) - (set! s4-0 #f) - (goto cfg-24) + (label cfg-24) + (the-as debug-menu s4-0) ) - (label cfg-24) - (the-as debug-menu s4-0) - ) ) ;; definition for function debug-menu-item-submenu-render -(defun - debug-menu-item-submenu-render - ((arg0 debug-menu-item-submenu) - (arg1 int) - (arg2 int) - (arg3 int) - (arg4 symbol) - ) +(defun debug-menu-item-submenu-render ((arg0 debug-menu-item-submenu) (arg1 int) (arg2 int) (arg3 int) (arg4 symbol)) (let ((s5-0 (-> arg0 parent context font))) - (let ((v1-2 s5-0) - (a0-1 arg2) - ) - (set! (-> v1-2 origin x) (the float arg1)) - (set! (-> v1-2 origin y) (the float a0-1)) - ) - (set! (-> s5-0 color) (the-as font-color (cond - ((zero? arg3) - 12 - ) - (arg4 - 11 - ) - (else - 13 - ) - ) - ) - ) - (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s4-0 (-> s3-0 base)) + (let ((v1-2 s5-0) + (a0-1 arg2) ) - (draw-string-adv (-> arg0 name) s3-0 s5-0) - (draw-string-adv "..." s3-0 s5-0) - (let ((a3-1 (-> s3-0 base))) - (let ((v1-7 (the-as object (-> s3-0 base)))) - (set! - (-> (the-as dma-packet v1-7) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-7) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-7) vif1) (new 'static 'vif-tag)) - (set! (-> s3-0 base) (&+ (the-as pointer v1-7) 16)) + (set! (-> v1-2 origin x) (the float arg1)) + (set! (-> v1-2 origin y) (the float a0-1)) ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw1) - s4-0 - (the-as (pointer dma-tag) a3-1) + (set! (-> s5-0 color) (the-as font-color (cond + ((zero? arg3) + 12 + ) + (arg4 + 11 + ) + (else + 13 + ) + ) + ) + ) + (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s4-0 (-> s3-0 base)) + ) + (draw-string-adv (-> arg0 name) s3-0 s5-0) + (draw-string-adv "..." s3-0 s5-0) + (let ((a3-1 (-> s3-0 base))) + (let ((v1-7 (the-as object (-> s3-0 base)))) + (set! (-> (the-as dma-packet v1-7) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-7) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-7) vif1) (new 'static 'vif-tag)) + (set! (-> s3-0 base) (&+ (the-as pointer v1-7) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw1) + s4-0 + (the-as (pointer dma-tag) a3-1) + ) + ) ) - ) ) - ) arg0 ) ;; definition for function debug-menu-item-function-render -(defun - debug-menu-item-function-render - ((arg0 debug-menu-item-function) - (arg1 int) - (arg2 int) - (arg3 int) - (arg4 symbol) - ) +(defun debug-menu-item-function-render ((arg0 debug-menu-item-function) (arg1 int) (arg2 int) (arg3 int) (arg4 symbol)) (let ((v1-2 (-> arg0 parent context font))) - (let ((a0-1 v1-2) - (a1-1 arg2) - ) - (set! (-> a0-1 origin x) (the float arg1)) - (set! (-> a0-1 origin y) (the float a1-1)) - ) - (set! (-> v1-2 color) (the-as font-color (cond - ((> (-> arg0 hilite-timer) 0) - (+! (-> arg0 hilite-timer) -1) - 10 - ) - ((< (-> arg0 hilite-timer) 0) - (+! (-> arg0 hilite-timer) 1) - 14 - ) - ((nonzero? arg3) - 13 - ) - (else - 12 - ) - ) - ) - ) - (let* ((s4-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s5-0 (-> s4-0 base)) + (let ((a0-1 v1-2) + (a1-1 arg2) ) - (draw-string (-> arg0 name) s4-0 v1-2) - (let ((a3-1 (-> s4-0 base))) - (let ((v1-3 (the-as object (-> s4-0 base)))) - (set! - (-> (the-as dma-packet v1-3) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-3) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-3) vif1) (new 'static 'vif-tag)) - (set! (-> s4-0 base) (&+ (the-as pointer v1-3) 16)) + (set! (-> a0-1 origin x) (the float arg1)) + (set! (-> a0-1 origin y) (the float a1-1)) ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw1) - s5-0 - (the-as (pointer dma-tag) a3-1) + (set! (-> v1-2 color) (the-as font-color (cond + ((> (-> arg0 hilite-timer) 0) + (+! (-> arg0 hilite-timer) -1) + 10 + ) + ((< (-> arg0 hilite-timer) 0) + (+! (-> arg0 hilite-timer) 1) + 14 + ) + ((nonzero? arg3) + 13 + ) + (else + 12 + ) + ) + ) + ) + (let* ((s4-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s5-0 (-> s4-0 base)) + ) + (draw-string (-> arg0 name) s4-0 v1-2) + (let ((a3-1 (-> s4-0 base))) + (let ((v1-3 (the-as object (-> s4-0 base)))) + (set! (-> (the-as dma-packet v1-3) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-3) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-3) vif1) (new 'static 'vif-tag)) + (set! (-> s4-0 base) (&+ (the-as pointer v1-3) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw1) + s5-0 + (the-as (pointer dma-tag) a3-1) + ) + ) ) - ) ) - ) arg0 ) ;; definition for function debug-menu-item-flag-render -(defun - debug-menu-item-flag-render - ((arg0 debug-menu-item-flag) (arg1 int) (arg2 int) (arg3 int) (arg4 symbol)) +(defun debug-menu-item-flag-render ((arg0 debug-menu-item-flag) (arg1 int) (arg2 int) (arg3 int) (arg4 symbol)) (let ((v1-2 (-> arg0 parent context font))) - (let ((a0-1 v1-2) - (a1-1 arg2) - ) - (set! (-> a0-1 origin x) (the float arg1)) - (set! (-> a0-1 origin y) (the float a1-1)) - ) - (set! (-> v1-2 color) (the-as font-color (cond - ((= (-> arg0 is-on) 'invalid) - 19 - ) - ((-> arg0 is-on) - (if (zero? arg3) - 15 - 16 - ) - ) - ((zero? arg3) - 17 - ) - (else - 18 - ) - ) - ) - ) - (let* ((s4-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s5-0 (-> s4-0 base)) + (let ((a0-1 v1-2) + (a1-1 arg2) ) - (draw-string (-> arg0 name) s4-0 v1-2) - (let ((a3-1 (-> s4-0 base))) - (let ((v1-3 (the-as object (-> s4-0 base)))) - (set! - (-> (the-as dma-packet v1-3) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-3) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-3) vif1) (new 'static 'vif-tag)) - (set! (-> s4-0 base) (&+ (the-as pointer v1-3) 16)) + (set! (-> a0-1 origin x) (the float arg1)) + (set! (-> a0-1 origin y) (the float a1-1)) ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw1) - s5-0 - (the-as (pointer dma-tag) a3-1) + (set! (-> v1-2 color) (the-as font-color (cond + ((= (-> arg0 is-on) 'invalid) + 19 + ) + ((-> arg0 is-on) + (if (zero? arg3) + 15 + 16 + ) + ) + ((zero? arg3) + 17 + ) + (else + 18 + ) + ) + ) + ) + (let* ((s4-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s5-0 (-> s4-0 base)) + ) + (draw-string (-> arg0 name) s4-0 v1-2) + (let ((a3-1 (-> s4-0 base))) + (let ((v1-3 (the-as object (-> s4-0 base)))) + (set! (-> (the-as dma-packet v1-3) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-3) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-3) vif1) (new 'static 'vif-tag)) + (set! (-> s4-0 base) (&+ (the-as pointer v1-3) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw1) + s5-0 + (the-as (pointer dma-tag) a3-1) + ) + ) ) - ) ) - ) arg0 ) ;; definition for function debug-menu-item-var-render -(defun - debug-menu-item-var-render - ((arg0 debug-menu-item-var) (arg1 int) (arg2 int) (arg3 int) (arg4 symbol)) +(defun debug-menu-item-var-render ((arg0 debug-menu-item-var) (arg1 int) (arg2 int) (arg3 int) (arg4 symbol)) (let ((s5-0 (-> arg0 parent context font))) - (let ((v1-2 s5-0) - (a0-1 arg2) - ) - (set! (-> v1-2 origin x) (the float arg1)) - (set! (-> v1-2 origin y) (the float a0-1)) - ) - (set! (-> s5-0 color) (the-as font-color (cond - ((zero? arg3) - (if (-> arg0 grabbed-joypad-p) - 10 - 12 - ) - ) - (arg4 - 11 - ) - (else - 13 - ) - ) - ) - ) - (let* ((s1-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (s4-0 (-> s1-0 base)) + (let ((v1-2 s5-0) + (a0-1 arg2) ) - (draw-string-adv (-> arg0 name) s1-0 s5-0) - (draw-string-adv ":" s1-0 s5-0) - (cond - ((>= (-> arg0 show-len) (length (-> arg0 display-str))) - (draw-string (-> arg0 display-str) s1-0 s5-0) + (set! (-> v1-2 origin x) (the float arg1)) + (set! (-> v1-2 origin y) (the float a0-1)) ) - (else - (draw-string "..." s1-0 s5-0) - (set! arg4 (and (zero? arg3) arg4)) - (when arg4 - (let ((v1-12 s5-0) - (a1-5 20) - (a0-10 204) - ) - (set! (-> v1-12 origin x) (the float a1-5)) - (set! (-> v1-12 origin y) (the float a0-10)) + (set! (-> s5-0 color) (the-as font-color (cond + ((zero? arg3) + (if (-> arg0 grabbed-joypad-p) + 10 + 12 + ) + ) + (arg4 + 11 + ) + (else + 13 + ) + ) + ) + ) + (let* ((s1-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (s4-0 (-> s1-0 base)) + ) + (draw-string-adv (-> arg0 name) s1-0 s5-0) + (draw-string-adv ":" s1-0 s5-0) + (cond + ((>= (-> arg0 show-len) (length (-> arg0 display-str))) + (draw-string (-> arg0 display-str) s1-0 s5-0) + ) + (else + (draw-string "..." s1-0 s5-0) + (set! arg4 (and (zero? arg3) arg4)) + (when arg4 + (let ((v1-12 s5-0) + (a1-5 20) + (a0-10 204) + ) + (set! (-> v1-12 origin x) (the float a1-5)) + (set! (-> v1-12 origin y) (the float a0-10)) + ) + (draw-string-adv (-> arg0 name) s1-0 s5-0) + (draw-string-adv ":" s1-0 s5-0) + (draw-string (-> arg0 display-str) s1-0 s5-0) + ) + ) + ) + (let ((a3-1 (-> s1-0 base))) + (let ((v1-14 (the-as dma-packet (-> s1-0 base)))) + (set! (-> v1-14 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> v1-14 vif0) (new 'static 'vif-tag)) + (set! (-> v1-14 vif1) (new 'static 'vif-tag)) + (set! (-> s1-0 base) (the-as pointer (&+ v1-14 16))) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw1) + s4-0 + (the-as (pointer dma-tag) a3-1) + ) ) - (draw-string-adv (-> arg0 name) s1-0 s5-0) - (draw-string-adv ":" s1-0 s5-0) - (draw-string (-> arg0 display-str) s1-0 s5-0) - ) ) - ) - (let ((a3-1 (-> s1-0 base))) - (let ((v1-14 (the-as dma-packet (-> s1-0 base)))) - (set! (-> v1-14 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> v1-14 vif0) (new 'static 'vif-tag)) - (set! (-> v1-14 vif1) (new 'static 'vif-tag)) - (set! (-> s1-0 base) (the-as pointer (&+ v1-14 16))) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw1) - s4-0 - (the-as (pointer dma-tag) a3-1) - ) - ) ) - ) arg0 ) ;; definition for function debug-menu-item-render -(defun - debug-menu-item-render - ((arg0 debug-menu-item) (arg1 int) (arg2 int) (arg3 int) (arg4 symbol)) +(defun debug-menu-item-render ((arg0 debug-menu-item) (arg1 int) (arg2 int) (arg3 int) (arg4 symbol)) (when (> (-> arg0 refresh-delay) 0) - (+! (-> arg0 refresh-ctr) -1) - (when (<= (-> arg0 refresh-ctr) 0) - (set! (-> arg0 refresh-ctr) (-> arg0 refresh-delay)) - (debug-menu-item-send-msg arg0 (debug-menu-msg update)) + (+! (-> arg0 refresh-ctr) -1) + (when (<= (-> arg0 refresh-ctr) 0) + (set! (-> arg0 refresh-ctr) (-> arg0 refresh-delay)) + (debug-menu-item-send-msg arg0 (debug-menu-msg update)) + ) ) - ) (cond - ((= (-> arg0 type) debug-menu-item-submenu) - (debug-menu-item-submenu-render - (the-as debug-menu-item-submenu arg0) - arg1 - arg2 - arg3 - arg4 + ((= (-> arg0 type) debug-menu-item-submenu) + (debug-menu-item-submenu-render (the-as debug-menu-item-submenu arg0) arg1 arg2 arg3 arg4) ) - ) - ((= (-> arg0 type) debug-menu-item-function) - (debug-menu-item-function-render - (the-as debug-menu-item-function arg0) - arg1 - arg2 - arg3 - arg4 + ((= (-> arg0 type) debug-menu-item-function) + (debug-menu-item-function-render (the-as debug-menu-item-function arg0) arg1 arg2 arg3 arg4) ) - ) - ((= (-> arg0 type) debug-menu-item-flag) - (debug-menu-item-flag-render - (the-as debug-menu-item-flag arg0) - arg1 - arg2 - arg3 - arg4 + ((= (-> arg0 type) debug-menu-item-flag) + (debug-menu-item-flag-render (the-as debug-menu-item-flag arg0) arg1 arg2 arg3 arg4) ) - ) - ((= (-> arg0 type) debug-menu-item-var) - (debug-menu-item-var-render - (the-as debug-menu-item-var arg0) - arg1 - arg2 - arg3 - arg4 + ((= (-> arg0 type) debug-menu-item-var) + (debug-menu-item-var-render (the-as debug-menu-item-var arg0) arg1 arg2 arg3 arg4) ) + (else + (format 0 "ERROR: Found unknown item type!~%") + ) ) - (else - (format 0 "ERROR: Found unknown item type!~%") - ) - ) arg0 ) ;; definition for function debug-menu-render ;; Used lq/sq -(defun - debug-menu-render - ((arg0 debug-menu) (arg1 int) (arg2 int) (arg3 debug-menu-node) (arg4 int)) +(defun debug-menu-render ((arg0 debug-menu) (arg1 int) (arg2 int) (arg3 debug-menu-node) (arg4 int)) (local-vars (sv-16 dma-buffer) (sv-32 pointer)) (let ((v1-0 0)) - (let* ((a0-1 (-> arg0 items)) - (a1-1 (car a0-1)) + (let* ((a0-1 (-> arg0 items)) (a1-1 (car a0-1))) (while (not (null? a0-1)) + (if (= a1-1 arg3) + (goto cfg-7) + ) + (+! v1-0 1) + (set! a0-1 (cdr a0-1)) + (set! a1-1 (car a0-1)) + ) ) - (while (not (null? a0-1)) - (if (= a1-1 arg3) - (goto cfg-7) - ) - (+! v1-0 1) - (set! a0-1 (cdr a0-1)) - (set! a1-1 (car a0-1)) - ) + (label cfg-7) + (if (< 16 v1-0) + (set! arg2 (- arg2 (* (+ v1-0 -16) 8))) + ) ) - (label cfg-7) - (if (< 16 v1-0) - (set! arg2 (- arg2 (* (+ v1-0 -16) 8))) - ) - ) (let* ((s0-0 (-> *display* frames (-> *display* on-screen) frame debug-buf)) (s1-0 (-> s0-0 base)) ) - (draw-sprite2d-xy - s0-0 - arg1 - arg2 - (-> arg0 pix-width) - (-> arg0 pix-height) - (new 'static 'rgba :a #x40) - ) - (let ((a3-2 (-> s0-0 base))) - (let ((v1-7 (the-as object (-> s0-0 base)))) - (set! - (-> (the-as dma-packet v1-7) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + (draw-sprite2d-xy s0-0 arg1 arg2 (-> arg0 pix-width) (-> arg0 pix-height) (new 'static 'rgba :a #x40)) + (let ((a3-2 (-> s0-0 base))) + (let ((v1-7 (the-as object (-> s0-0 base)))) + (set! (-> (the-as dma-packet v1-7) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-7) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-7) vif1) (new 'static 'vif-tag)) + (set! (-> s0-0 base) (&+ (the-as pointer v1-7) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw1) + s1-0 + (the-as (pointer dma-tag) a3-2) + ) ) - (set! (-> (the-as dma-packet v1-7) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-7) vif1) (new 'static 'vif-tag)) - (set! (-> s0-0 base) (&+ (the-as pointer v1-7) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw1) - s1-0 - (the-as (pointer dma-tag) a3-2) - ) ) - ) (let* ((s3-1 (+ arg1 3)) (s2-1 (+ arg2 3)) (s1-1 (-> arg0 items)) (s0-1 (car s1-1)) ) - (while (not (null? s1-1)) - (when (= s0-1 arg3) - (set! (-> arg0 context font color) (the-as font-color (if (nonzero? arg4) - 13 - 12 - ) - ) - ) - (let ((v1-16 (-> arg0 context font)) - (a1-5 s3-1) - (a0-18 s2-1) - ) - (set! (-> v1-16 origin x) (the float a1-5)) - (set! (-> v1-16 origin y) (the float a0-18)) - ) - (set! sv-16 (-> *display* frames (-> *display* on-screen) frame debug-buf)) - (set! sv-32 (-> sv-16 base)) - (draw-string ">" sv-16 (-> arg0 context font)) - (let ((a3-3 (-> sv-16 base))) - (let ((v1-26 (the-as object (-> sv-16 base)))) - (set! - (-> (the-as dma-packet v1-26) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + (while (not (null? s1-1)) + (when (= s0-1 arg3) + (set! (-> arg0 context font color) (the-as font-color (if (nonzero? arg4) + 13 + 12 + ) + ) + ) + (let ((v1-16 (-> arg0 context font)) + (a1-5 s3-1) + (a0-18 s2-1) + ) + (set! (-> v1-16 origin x) (the float a1-5)) + (set! (-> v1-16 origin y) (the float a0-18)) + ) + (set! sv-16 (-> *display* frames (-> *display* on-screen) frame debug-buf)) + (set! sv-32 (-> sv-16 base)) + (draw-string ">" sv-16 (-> arg0 context font)) + (let ((a3-3 (-> sv-16 base))) + (let ((v1-26 (the-as object (-> sv-16 base)))) + (set! (-> (the-as dma-packet v1-26) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-26) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-26) vif1) (new 'static 'vif-tag)) + (set! (-> sv-16 base) (&+ (the-as pointer v1-26) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw1) + sv-32 + (the-as (pointer dma-tag) a3-3) + ) + ) ) - (set! (-> (the-as dma-packet v1-26) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-26) vif1) (new 'static 'vif-tag)) - (set! (-> sv-16 base) (&+ (the-as pointer v1-26) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw1) - sv-32 - (the-as (pointer dma-tag) a3-3) - ) + (debug-menu-item-render (the-as debug-menu-item s0-1) (+ s3-1 12) s2-1 arg4 (= s0-1 arg3)) + (+! s2-1 8) + (set! s1-1 (cdr s1-1)) + (set! s0-1 (car s1-1)) ) - ) - (debug-menu-item-render - (the-as debug-menu-item s0-1) - (+ s3-1 12) - s2-1 - arg4 - (= s0-1 arg3) - ) - (+! s2-1 8) - (set! s1-1 (cdr s1-1)) - (set! s0-1 (car s1-1)) ) - ) arg0 ) ;; definition for function debug-menu-context-render (defun debug-menu-context-render ((arg0 debug-menu-context)) (let ((s4-0 6)) - (dotimes (s5-0 (-> arg0 sel-length)) - (let ((s3-0 (-> arg0 sel-menu s5-0))) - (let ((a3-0 (-> s3-0 selected-item))) - (debug-menu-render s3-0 s4-0 28 a3-0 (+ (- -1 s5-0) (-> arg0 sel-length))) + (dotimes (s5-0 (-> arg0 sel-length)) + (let ((s3-0 (-> arg0 sel-menu s5-0))) + (let ((a3-0 (-> s3-0 selected-item))) + (debug-menu-render s3-0 s4-0 28 a3-0 (+ (- -1 s5-0) (-> arg0 sel-length))) + ) + (set! s4-0 (+ s4-0 3 (-> s3-0 pix-width))) + ) ) - (set! s4-0 (+ s4-0 3 (-> s3-0 pix-width))) - ) ) - ) arg0 ) ;; definition for function debug-menu-context-select-next-or-prev-item -(defun - debug-menu-context-select-next-or-prev-item - ((arg0 debug-menu-context) (arg1 int)) +(defun debug-menu-context-select-next-or-prev-item ((arg0 debug-menu-context) (arg1 int)) (local-vars (v1-6 object)) (let ((s5-0 (-> arg0 sel-menu (+ (-> arg0 sel-length) -1)))) - (let ((a2-0 (-> s5-0 selected-item)) - (a0-1 '()) - (v1-4 '()) + (let ((a2-0 (-> s5-0 selected-item)) + (a0-1 '()) + (v1-4 '()) + ) + (let ((a3-0 (-> s5-0 items))) + (while (not (null? a3-0)) + (when (= (car a3-0) a2-0) + (set! v1-4 a3-0) + (goto cfg-7) + ) + (set! a0-1 a3-0) + (set! a3-0 (cdr a3-0)) + ) + ) + (label cfg-7) + (when (null? v1-4) + (format 0 "ERROR: Couldn't find selected item in menu.~%") + (set! arg0 arg0) + (goto cfg-19) + ) + (cond + ((>= arg1 0) + (if (null? (cdr v1-4)) + (set! v1-6 (car (-> s5-0 items))) + (set! v1-6 (car (cdr v1-4))) + ) ) - (let ((a3-0 (-> s5-0 items))) - (while (not (null? a3-0)) - (when (= (car a3-0) a2-0) - (set! v1-4 a3-0) - (goto cfg-7) - ) - (set! a0-1 a3-0) - (set! a3-0 (cdr a3-0)) + ((null? a0-1) + (set! v1-6 (car (last (-> s5-0 items)))) + ) + (else + (set! v1-6 (car a0-1)) + ) + ) ) - ) - (label cfg-7) - (when (null? v1-4) - (format 0 "ERROR: Couldn't find selected item in menu.~%") - (set! arg0 arg0) - (goto cfg-19) - ) - (cond - ((>= arg1 0) - (if (null? (cdr v1-4)) - (set! v1-6 (car (-> s5-0 items))) - (set! v1-6 (car (cdr v1-4))) - ) - ) - ((null? a0-1) - (set! v1-6 (car (last (-> s5-0 items)))) - ) - (else - (set! v1-6 (car a0-1)) - ) - ) + (set! (-> s5-0 selected-item) (the-as debug-menu-item v1-6)) ) - (set! (-> s5-0 selected-item) (the-as debug-menu-item v1-6)) - ) (label cfg-19) arg0 ) @@ -1558,587 +1233,464 @@ (a0-1 0) (v1-4 -1) ) - (let ((a2-1 (-> a2-0 items))) - (while (not (null? a2-1)) - (if (= (car a2-1) a1-1) - (set! v1-4 a0-1) + (let ((a2-1 (-> a2-0 items))) + (while (not (null? a2-1)) + (if (= (car a2-1) a1-1) + (set! v1-4 a0-1) + ) + (set! a2-1 (cdr a2-1)) + (+! a0-1 1) + ) + ) + (when (= v1-4 -1) + (format 0 "ERROR: Couldn't find selected item in menu.~%") + (set! arg0 arg0) + (goto cfg-25) + ) + (cond + ((>= arg1 0) + (cond + ((= v1-4 (+ a0-1 -1)) + (set! arg1 1) + ) + ((>= (+ v1-4 arg1) a0-1) + (set! arg1 (+ (- -1 v1-4) a0-1)) + ) + ) + (dotimes (s4-0 arg1) + (debug-menu-context-select-next-or-prev-item arg0 1) + ) + ) + (else + (cond + ((zero? v1-4) + (set! arg1 -1) + ) + ((< (+ v1-4 arg1) 0) + (set! arg1 (- v1-4)) + ) + ) + (dotimes (s4-1 (- arg1)) + (debug-menu-context-select-next-or-prev-item arg0 -1) + ) + ) ) - (set! a2-1 (cdr a2-1)) - (+! a0-1 1) - ) ) - (when (= v1-4 -1) - (format 0 "ERROR: Couldn't find selected item in menu.~%") - (set! arg0 arg0) - (goto cfg-25) - ) - (cond - ((>= arg1 0) - (cond - ((= v1-4 (+ a0-1 -1)) - (set! arg1 1) - ) - ((>= (+ v1-4 arg1) a0-1) - (set! arg1 (+ (- -1 v1-4) a0-1)) - ) - ) - (dotimes (s4-0 arg1) - (debug-menu-context-select-next-or-prev-item arg0 1) - ) - ) - (else - (cond - ((zero? v1-4) - (set! arg1 -1) - ) - ((< (+ v1-4 arg1) 0) - (set! arg1 (- v1-4)) - ) - ) - (dotimes (s4-1 (- arg1)) - (debug-menu-context-select-next-or-prev-item arg0 -1) - ) - ) - ) - ) (label cfg-25) arg0 ) ;; definition for function debug-menu-context-open-submenu -(defun - debug-menu-context-open-submenu - ((arg0 debug-menu-context) (arg1 debug-menu)) +(defun debug-menu-context-open-submenu ((arg0 debug-menu-context) (arg1 debug-menu)) (let ((v1-0 (-> arg0 sel-length))) - (when (>= v1-0 8) - (format 0 "ERROR: Trying to exceed maximum menu depth!") - (return arg1) + (when (>= v1-0 8) + (format 0 "ERROR: Trying to exceed maximum menu depth!") + (return arg1) + ) + (when (null? (-> arg1 items)) + (format 0 "ERROR: Submenu has no items!") + (return arg1) + ) + (set! (-> arg0 sel-menu v1-0) arg1) + (if (not (-> arg1 selected-item)) + (set! (-> arg1 selected-item) (the-as debug-menu-item (-> arg1 items car))) + ) + (set! (-> arg0 sel-length) (+ v1-0 1)) ) - (when (null? (-> arg1 items)) - (format 0 "ERROR: Submenu has no items!") - (return arg1) - ) - (set! (-> arg0 sel-menu v1-0) arg1) - (if (not (-> arg1 selected-item)) - (set! (-> arg1 selected-item) (the-as debug-menu-item (-> arg1 items car))) - ) - (set! (-> arg0 sel-length) (+ v1-0 1)) - ) - (debug-menu-context-send-msg - arg0 - (debug-menu-msg activate) - (debug-menu-dest current-selection) - ) + (debug-menu-context-send-msg arg0 (debug-menu-msg activate) (debug-menu-dest current-selection)) ) ;; definition for function debug-menu-context-close-submenu (defun debug-menu-context-close-submenu ((arg0 debug-menu-context)) - (debug-menu-context-send-msg - arg0 - (debug-menu-msg deactivate) - (debug-menu-dest current-selection) - ) + (debug-menu-context-send-msg arg0 (debug-menu-msg deactivate) (debug-menu-dest current-selection)) (if (< 1 (-> arg0 sel-length)) - (+! (-> arg0 sel-length) -1) - ) + (+! (-> arg0 sel-length) -1) + ) arg0 ) ;; definition for function debug-menu-item-submenu-msg -(defun - debug-menu-item-submenu-msg - ((arg0 debug-menu-item-submenu) (arg1 debug-menu-msg)) +(defun debug-menu-item-submenu-msg ((arg0 debug-menu-item-submenu) (arg1 debug-menu-msg)) (when (= arg1 (debug-menu-msg press)) - (let ((a0-1 (-> arg0 parent context))) - (debug-menu-context-open-submenu a0-1 (-> arg0 submenu)) + (let ((a0-1 (-> arg0 parent context))) + (debug-menu-context-open-submenu a0-1 (-> arg0 submenu)) + ) ) - ) arg0 ) ;; definition for function debug-menu-item-function-msg -(defun - debug-menu-item-function-msg - ((arg0 debug-menu-item-function) (arg1 debug-menu-msg)) +(defun debug-menu-item-function-msg ((arg0 debug-menu-item-function) (arg1 debug-menu-msg)) (cond - ((= arg1 (debug-menu-msg press)) - (cond - ((-> arg0 activate-func) - (if ((-> arg0 activate-func) (-> arg0 id)) - (set! (-> arg0 hilite-timer) 6) - (set! (-> arg0 hilite-timer) -6) + ((= arg1 (debug-menu-msg press)) + (cond + ((-> arg0 activate-func) + (if ((-> arg0 activate-func) (-> arg0 id)) + (set! (-> arg0 hilite-timer) 6) + (set! (-> arg0 hilite-timer) -6) + ) + ) + (else + (set! (-> arg0 hilite-timer) -6) + ) ) - ) - (else - (set! (-> arg0 hilite-timer) -6) - ) + ) + ((= arg1 (debug-menu-msg deactivate)) + (set! (-> arg0 hilite-timer) 0) + 0 ) ) - ((= arg1 (debug-menu-msg deactivate)) - (set! (-> arg0 hilite-timer) 0) - 0 - ) - ) arg0 ) ;; definition for function debug-menu-item-flag-msg -(defun - debug-menu-item-flag-msg - ((arg0 debug-menu-item-flag) (arg1 debug-menu-msg)) +(defun debug-menu-item-flag-msg ((arg0 debug-menu-item-flag) (arg1 debug-menu-msg)) (cond - ((= arg1 (debug-menu-msg press)) - (if (-> arg0 activate-func) - (set! - (-> arg0 is-on) - ((-> arg0 activate-func) (-> arg0 id) (debug-menu-msg press)) - ) + ((= arg1 (debug-menu-msg press)) + (if (-> arg0 activate-func) + (set! (-> arg0 is-on) ((-> arg0 activate-func) (-> arg0 id) (debug-menu-msg press))) + ) + (let ((a0-2 (-> arg0 parent context))) + (debug-menu-context-send-msg a0-2 (debug-menu-msg update) (debug-menu-dest open-menus)) + ) ) - (let ((a0-2 (-> arg0 parent context))) - (debug-menu-context-send-msg - a0-2 - (debug-menu-msg update) - (debug-menu-dest open-menus) - ) + ((or (= arg1 (debug-menu-msg update)) (= arg1 (debug-menu-msg activate))) + (if (-> arg0 activate-func) + (set! (-> arg0 is-on) ((-> arg0 activate-func) (-> arg0 id) (debug-menu-msg update))) + ) + (set! (-> arg0 refresh-ctr) (-> arg0 refresh-delay)) ) ) - ((or (= arg1 (debug-menu-msg update)) (= arg1 (debug-menu-msg activate))) - (if (-> arg0 activate-func) - (set! - (-> arg0 is-on) - ((-> arg0 activate-func) (-> arg0 id) (debug-menu-msg update)) - ) - ) - (set! (-> arg0 refresh-ctr) (-> arg0 refresh-delay)) - ) - ) arg0 ) ;; definition for function debug-menu-item-var-joypad-handler (defun debug-menu-item-var-joypad-handler ((arg0 debug-menu-item-var)) (cond - ((zero? (logand (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons x))) - (let ((a0-1 (-> arg0 parent context))) - (debug-menu-context-release-joypad a0-1) - ) - (set! (-> arg0 grabbed-joypad-p) #f) - (when (cpad-pressed? 0 circle) - (cond - ((-> arg0 float-p) - (if (-> arg0 factivate-func) - (set! - (-> arg0 fval) - ((-> arg0 factivate-func) - (-> arg0 id) - (debug-menu-msg press) - (-> arg0 fundo-val) - (-> arg0 fval) - ) - ) - ) + ((zero? (logand (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons x))) + (let ((a0-1 (-> arg0 parent context))) + (debug-menu-context-release-joypad a0-1) ) - (else - (if (-> arg0 factivate-func) - (set! - (-> arg0 fval) - (the-as - float - ((the-as (function int int int int int) (-> arg0 factivate-func)) - (-> arg0 id) - 4 - (the-as int (-> arg0 fundo-val)) - (the-as int (-> arg0 fval)) + (set! (-> arg0 grabbed-joypad-p) #f) + (when (cpad-pressed? 0 circle) + (cond + ((-> arg0 float-p) + (if (-> arg0 factivate-func) + (set! (-> arg0 fval) + ((-> arg0 factivate-func) (-> arg0 id) (debug-menu-msg press) (-> arg0 fundo-val) (-> arg0 fval)) + ) + ) + ) + (else + (if (-> arg0 factivate-func) + (set! (-> arg0 fval) (the-as float ((the-as (function int int int int int) (-> arg0 factivate-func)) + (-> arg0 id) + 4 + (the-as int (-> arg0 fundo-val)) + (the-as int (-> arg0 fval)) + ) + ) + ) + ) ) - ) ) - ) + (debug-menu-item-var-update-display-str arg0) + ) + (let ((a0-5 (-> arg0 parent context))) + (debug-menu-context-send-msg a0-5 (debug-menu-msg update) (debug-menu-dest open-menus)) ) - ) - (debug-menu-item-var-update-display-str arg0) ) - (let ((a0-5 (-> arg0 parent context))) - (debug-menu-context-send-msg - a0-5 - (debug-menu-msg update) - (debug-menu-dest open-menus) - ) - ) - ) - ((or - (cpad-hold? 0 right) - (cpad-hold? 0 left) - (cpad-hold? 0 down) - (cpad-hold? 0 up) - ) - (let ((v1-39 (cond - ((cpad-hold? 0 right) - 10 - ) - ((cpad-hold? 0 up) - 1 - ) - ((cpad-hold? 0 down) - -1 - ) - (else - -10 - ) + ((or (cpad-hold? 0 right) (cpad-hold? 0 left) (cpad-hold? 0 down) (cpad-hold? 0 up)) + (let ((v1-39 (cond + ((cpad-hold? 0 right) + 10 + ) + ((cpad-hold? 0 up) + 1 + ) + ((cpad-hold? 0 down) + -1 + ) + (else + -10 + ) + ) ) ) - ) - (when (!= v1-39 (-> arg0 inc-dir)) - (set! (-> arg0 inc-dir) v1-39) - (set! (-> arg0 inc-delay) 15) - (set! (-> arg0 inc-delay-ctr) 0) - (set! (-> arg0 step-delay-ctr) 30) - (set! (-> arg0 fstep) (-> arg0 fstart-inc)) - (set! (-> arg0 fstep) (-> arg0 fstart-inc)) - ) - ) - (cond - ((<= (-> arg0 inc-delay-ctr) 0) - (if (> (-> arg0 inc-delay) 0) - (+! (-> arg0 inc-delay) -1) - ) - (when (zero? (-> arg0 inc-delay)) - (cond - ((<= (-> arg0 step-delay-ctr) 0) + (when (!= v1-39 (-> arg0 inc-dir)) + (set! (-> arg0 inc-dir) v1-39) + (set! (-> arg0 inc-delay) 15) + (set! (-> arg0 inc-delay-ctr) 0) (set! (-> arg0 step-delay-ctr) 30) - (cond - ((-> arg0 float-p) - (if (< (-> arg0 fstep) 10000000.0) - (set! (-> arg0 fstep) (* 2.0 (-> arg0 fstep))) + (set! (-> arg0 fstep) (-> arg0 fstart-inc)) + (set! (-> arg0 fstep) (-> arg0 fstart-inc)) + ) + ) + (cond + ((<= (-> arg0 inc-delay-ctr) 0) + (if (> (-> arg0 inc-delay) 0) + (+! (-> arg0 inc-delay) -1) ) + (when (zero? (-> arg0 inc-delay)) + (cond + ((<= (-> arg0 step-delay-ctr) 0) + (set! (-> arg0 step-delay-ctr) 30) + (cond + ((-> arg0 float-p) + (if (< (-> arg0 fstep) 10000000.0) + (set! (-> arg0 fstep) (* 2.0 (-> arg0 fstep))) + ) + ) + (else + (if (< (the-as int (-> arg0 fstep)) #x989680) + (set! (-> arg0 fstep) (the-as float (* (the-as int (-> arg0 fstep)) 2))) + ) + ) + ) + ) + (else + (+! (-> arg0 step-delay-ctr) -1) + ) + ) + ) + (set! (-> arg0 inc-delay-ctr) (-> arg0 inc-delay)) + (cond + ((-> arg0 float-p) + (when (-> arg0 factivate-func) + (let ((f0-8 (+ (-> arg0 fval) (* (the float (-> arg0 inc-dir)) (-> arg0 fstep))))) + (if (-> arg0 range-p) + (set! f0-8 (fmin (fmax f0-8 (-> arg0 frange-min)) (-> arg0 frange-max))) + ) + (set! (-> arg0 fval) ((-> arg0 factivate-func) (-> arg0 id) (debug-menu-msg press) f0-8 (-> arg0 fval))) + ) + ) ) (else - (if (< (the-as int (-> arg0 fstep)) #x989680) - (set! - (-> arg0 fstep) - (the-as float (* (the-as int (-> arg0 fstep)) 2)) - ) + (when (-> arg0 factivate-func) + (let ((a2-4 (+ (the-as int (-> arg0 fval)) (* (-> arg0 inc-dir) (the-as int (-> arg0 fstep)))))) + (if (-> arg0 range-p) + (set! a2-4 (min (max a2-4 (the-as int (-> arg0 frange-min))) (the-as int (-> arg0 frange-max)))) + ) + (set! (-> arg0 fval) (the-as float ((the-as (function int int int int int) (-> arg0 factivate-func)) + (-> arg0 id) + 4 + a2-4 + (the-as int (-> arg0 fval)) + ) + ) + ) + ) + ) ) - ) ) - ) - (else - (+! (-> arg0 step-delay-ctr) -1) - ) - ) - ) - (set! (-> arg0 inc-delay-ctr) (-> arg0 inc-delay)) - (cond - ((-> arg0 float-p) - (when (-> arg0 factivate-func) - (let - ((f0-8 - (+ (-> arg0 fval) (* (the float (-> arg0 inc-dir)) (-> arg0 fstep))) - ) - ) - (if (-> arg0 range-p) - (set! - f0-8 - (fmin (fmax f0-8 (-> arg0 frange-min)) (-> arg0 frange-max)) - ) - ) - (set! - (-> arg0 fval) - ((-> arg0 factivate-func) - (-> arg0 id) - (debug-menu-msg press) - f0-8 - (-> arg0 fval) - ) - ) + (debug-menu-item-var-update-display-str arg0) + (let ((a0-20 (-> arg0 parent context))) + (debug-menu-context-send-msg a0-20 (debug-menu-msg update) (debug-menu-dest current-selection)) ) - ) ) (else - (when (-> arg0 factivate-func) - (let - ((a2-4 - (+ - (the-as int (-> arg0 fval)) - (* (-> arg0 inc-dir) (the-as int (-> arg0 fstep))) - ) - ) - ) - (if (-> arg0 range-p) - (set! - a2-4 - (min - (max a2-4 (the-as int (-> arg0 frange-min))) - (the-as int (-> arg0 frange-max)) - ) - ) - ) - (set! - (-> arg0 fval) - (the-as - float - ((the-as (function int int int int int) (-> arg0 factivate-func)) - (-> arg0 id) - 4 - a2-4 - (the-as int (-> arg0 fval)) - ) - ) - ) - ) + (+! (-> arg0 inc-delay-ctr) -1) ) - ) ) - (debug-menu-item-var-update-display-str arg0) - (let ((a0-20 (-> arg0 parent context))) - (debug-menu-context-send-msg - a0-20 - (debug-menu-msg update) - (debug-menu-dest current-selection) - ) - ) - ) - (else - (+! (-> arg0 inc-delay-ctr) -1) - ) ) + (else + (set! (-> arg0 inc-dir) 0) + 0 + ) ) - (else - (set! (-> arg0 inc-dir) 0) - 0 - ) - ) arg0 ) ;; definition for function debug-menu-item-var-msg (defun debug-menu-item-var-msg ((arg0 debug-menu-item-var) (arg1 debug-menu-msg)) (cond - ((= arg1 (debug-menu-msg deactivate)) - (when (-> arg0 grabbed-joypad-p) - (let ((a0-1 (-> arg0 parent context))) - (debug-menu-context-release-joypad a0-1) - ) - (set! (-> arg0 grabbed-joypad-p) #f) - ) - ) - ((= arg1 (debug-menu-msg press)) - (when (not (-> arg0 grabbed-joypad-p)) - (let ((a0-2 (-> arg0 parent context))) - (when - (debug-menu-context-grab-joypad - a0-2 - arg0 - (the-as (function basic none) debug-menu-item-var-joypad-handler) - ) - (set! (-> arg0 grabbed-joypad-p) #t) - (set! (-> arg0 fundo-val) (-> arg0 fval)) - (set! (-> arg0 fundo-val) (-> arg0 fval)) - (set! (-> arg0 inc-dir) 0) - 0 - ) - ) - ) - ) - ((or (= arg1 (debug-menu-msg update)) (= arg1 (debug-menu-msg activate))) - (cond - ((-> arg0 float-p) - (if (-> arg0 factivate-func) - (set! - (-> arg0 fval) - ((-> arg0 factivate-func) - (-> arg0 id) - (debug-menu-msg update) - (-> arg0 fval) - (-> arg0 fval) + ((= arg1 (debug-menu-msg deactivate)) + (when (-> arg0 grabbed-joypad-p) + (let ((a0-1 (-> arg0 parent context))) + (debug-menu-context-release-joypad a0-1) ) - ) + (set! (-> arg0 grabbed-joypad-p) #f) ) - ) - (else - (if (-> arg0 factivate-func) - (set! - (-> arg0 fval) - (the-as - float - ((the-as (function int int int int int) (-> arg0 factivate-func)) - (-> arg0 id) - 3 - (the-as int (-> arg0 fval)) - (the-as int (-> arg0 fval)) - ) - ) - ) - ) - ) ) - (debug-menu-item-var-update-display-str arg0) - (set! (-> arg0 refresh-ctr) (-> arg0 refresh-delay)) + ((= arg1 (debug-menu-msg press)) + (when (not (-> arg0 grabbed-joypad-p)) + (let ((a0-2 (-> arg0 parent context))) + (when (debug-menu-context-grab-joypad a0-2 arg0 (the-as (function basic none) debug-menu-item-var-joypad-handler)) + (set! (-> arg0 grabbed-joypad-p) #t) + (set! (-> arg0 fundo-val) (-> arg0 fval)) + (set! (-> arg0 fundo-val) (-> arg0 fval)) + (set! (-> arg0 inc-dir) 0) + 0 + ) + ) + ) + ) + ((or (= arg1 (debug-menu-msg update)) (= arg1 (debug-menu-msg activate))) + (cond + ((-> arg0 float-p) + (if (-> arg0 factivate-func) + (set! (-> arg0 fval) + ((-> arg0 factivate-func) (-> arg0 id) (debug-menu-msg update) (-> arg0 fval) (-> arg0 fval)) + ) + ) + ) + (else + (if (-> arg0 factivate-func) + (set! (-> arg0 fval) (the-as float ((the-as (function int int int int int) (-> arg0 factivate-func)) + (-> arg0 id) + 3 + (the-as int (-> arg0 fval)) + (the-as int (-> arg0 fval)) + ) + ) + ) + ) + ) + ) + (debug-menu-item-var-update-display-str arg0) + (set! (-> arg0 refresh-ctr) (-> arg0 refresh-delay)) + ) ) - ) arg0 ) ;; definition for function debug-menu-item-send-msg (defun debug-menu-item-send-msg ((arg0 debug-menu-item) (arg1 debug-menu-msg)) (cond - ((= (-> arg0 type) debug-menu-item-submenu) - (debug-menu-item-submenu-msg (the-as debug-menu-item-submenu arg0) arg1) + ((= (-> arg0 type) debug-menu-item-submenu) + (debug-menu-item-submenu-msg (the-as debug-menu-item-submenu arg0) arg1) + ) + ((= (-> arg0 type) debug-menu-item-function) + (debug-menu-item-function-msg (the-as debug-menu-item-function arg0) arg1) + ) + ((= (-> arg0 type) debug-menu-item-flag) + (debug-menu-item-flag-msg (the-as debug-menu-item-flag arg0) arg1) + ) + ((= (-> arg0 type) debug-menu-item-var) + (debug-menu-item-var-msg (the-as debug-menu-item-var arg0) arg1) + ) + (else + (format 0 "ERROR: Found unknown item type!~%") + ) ) - ((= (-> arg0 type) debug-menu-item-function) - (debug-menu-item-function-msg (the-as debug-menu-item-function arg0) arg1) - ) - ((= (-> arg0 type) debug-menu-item-flag) - (debug-menu-item-flag-msg (the-as debug-menu-item-flag arg0) arg1) - ) - ((= (-> arg0 type) debug-menu-item-var) - (debug-menu-item-var-msg (the-as debug-menu-item-var arg0) arg1) - ) - (else - (format 0 "ERROR: Found unknown item type!~%") - ) - ) arg0 ) ;; definition for function debug-menu-send-msg -(defun - debug-menu-send-msg - ((arg0 debug-menu) (arg1 debug-menu-msg) (arg2 symbol)) +(defun debug-menu-send-msg ((arg0 debug-menu) (arg1 debug-menu-msg) (arg2 symbol)) (let* ((s3-0 (-> arg0 items)) (s2-0 (car s3-0)) ) - (while (not (null? s3-0)) - (debug-menu-item-send-msg (the-as debug-menu-item s2-0) arg1) - (if - (and - arg2 - (= (-> (the-as debug-menu-item s2-0) type) debug-menu-item-submenu) + (while (not (null? s3-0)) + (debug-menu-item-send-msg (the-as debug-menu-item s2-0) arg1) + (if (and arg2 (= (-> (the-as debug-menu-item s2-0) type) debug-menu-item-submenu)) + (debug-menu-send-msg (-> (the-as debug-menu-item-submenu s2-0) submenu) arg1 #t) + ) + (set! s3-0 (cdr s3-0)) + (set! s2-0 (car s3-0)) ) - (debug-menu-send-msg - (-> (the-as debug-menu-item-submenu s2-0) submenu) - arg1 - #t - ) - ) - (set! s3-0 (cdr s3-0)) - (set! s2-0 (car s3-0)) ) - ) arg0 ) ;; definition for function debug-menu-context-send-msg -(defun - debug-menu-context-send-msg - ((arg0 debug-menu-context) (arg1 debug-menu-msg) (arg2 debug-menu-dest)) +(defun debug-menu-context-send-msg ((arg0 debug-menu-context) (arg1 debug-menu-msg) (arg2 debug-menu-dest)) (cond - ((= arg2 (debug-menu-dest root)) - (debug-menu-send-msg (-> arg0 root-menu) arg1 #t) - ) - ((= arg2 (debug-menu-dest open-menus)) - (when (-> arg0 is-active) - (dotimes (s4-0 (-> arg0 sel-length)) - (let ((a0-2 (-> arg0 sel-menu s4-0))) - (debug-menu-send-msg a0-2 arg1 #f) - ) - ) + ((= arg2 (debug-menu-dest root)) + (debug-menu-send-msg (-> arg0 root-menu) arg1 #t) ) - ) - ((= arg2 (debug-menu-dest current-selection)) - (when (-> arg0 is-active) - (if (nonzero? (-> arg0 sel-length)) - (debug-menu-send-msg - (-> arg0 sel-menu (+ (-> arg0 sel-length) -1)) - arg1 - #f + ((= arg2 (debug-menu-dest open-menus)) + (when (-> arg0 is-active) + (dotimes (s4-0 (-> arg0 sel-length)) + (let ((a0-2 (-> arg0 sel-menu s4-0))) + (debug-menu-send-msg a0-2 arg1 #f) + ) + ) ) - ) ) - ) - ((= arg2 (debug-menu-dest activation)) - (cond - ((= arg1 (debug-menu-msg activate)) - (when (not (-> arg0 is-active)) - (set! (-> arg0 is-active) #t) - (debug-menu-context-send-msg - arg0 - (debug-menu-msg activate) - (debug-menu-dest open-menus) + ((= arg2 (debug-menu-dest current-selection)) + (when (-> arg0 is-active) + (if (nonzero? (-> arg0 sel-length)) + (debug-menu-send-msg (-> arg0 sel-menu (+ (-> arg0 sel-length) -1)) arg1 #f) + ) + ) + ) + ((= arg2 (debug-menu-dest activation)) + (cond + ((= arg1 (debug-menu-msg activate)) + (when (not (-> arg0 is-active)) + (set! (-> arg0 is-active) #t) + (debug-menu-context-send-msg arg0 (debug-menu-msg activate) (debug-menu-dest open-menus)) + ) + ) + ((= arg1 (debug-menu-msg deactivate)) + (when (-> arg0 is-active) + (debug-menu-context-send-msg arg0 (debug-menu-msg deactivate) (debug-menu-dest open-menus)) + (set! (-> arg0 is-active) #f) + ) ) ) - ) - ((= arg1 (debug-menu-msg deactivate)) - (when (-> arg0 is-active) - (debug-menu-context-send-msg - arg0 - (debug-menu-msg deactivate) - (debug-menu-dest open-menus) - ) - (set! (-> arg0 is-active) #f) - ) - ) ) ) - ) arg0 ) ;; definition for function debug-menu-context-activate-selection (defun debug-menu-context-activate-selection ((arg0 debug-menu-context)) (let ((a0-1 (-> arg0 sel-menu (+ (-> arg0 sel-length) -1) selected-item))) - (debug-menu-item-send-msg a0-1 (debug-menu-msg press)) - ) + (debug-menu-item-send-msg a0-1 (debug-menu-msg press)) + ) arg0 ) ;; definition for function debug-menus-default-joypad-func (defun debug-menus-default-joypad-func ((arg0 debug-menu-context)) (cond - ((cpad-pressed? 0 square) - (cond - ((< 1 (-> arg0 sel-length)) - (debug-menu-context-close-submenu arg0) - ) - (else - ) + ((cpad-pressed? 0 square) + (cond + ((< 1 (-> arg0 sel-length)) + (debug-menu-context-close-submenu arg0) + ) + (else + ) + ) + ) + ((cpad-pressed? 0 x) + (debug-menu-context-activate-selection arg0) + ) + ((cpad-pressed? 0 up) + (debug-menu-context-select-new-item arg0 -1) + ) + ((cpad-pressed? 0 down) + (debug-menu-context-select-new-item arg0 1) + ) + ((cpad-pressed? 0 left) + (debug-menu-context-select-new-item arg0 -5) + ) + ((cpad-pressed? 0 right) + (debug-menu-context-select-new-item arg0 5) ) ) - ((cpad-pressed? 0 x) - (debug-menu-context-activate-selection arg0) - ) - ((cpad-pressed? 0 up) - (debug-menu-context-select-new-item arg0 -1) - ) - ((cpad-pressed? 0 down) - (debug-menu-context-select-new-item arg0 1) - ) - ((cpad-pressed? 0 left) - (debug-menu-context-select-new-item arg0 -5) - ) - ((cpad-pressed? 0 right) - (debug-menu-context-select-new-item arg0 5) - ) - ) arg0 ) ;; definition for function debug-menus-active (defun debug-menus-active ((arg0 debug-menu-context)) (when (not (-> arg0 is-hidden)) - (if (-> arg0 joypad-func) - ((-> arg0 joypad-func) (-> arg0 joypad-item)) - (debug-menus-default-joypad-func arg0) + (if (-> arg0 joypad-func) + ((-> arg0 joypad-func) (-> arg0 joypad-item)) + (debug-menus-default-joypad-func arg0) + ) + (debug-menu-context-render arg0) ) - (debug-menu-context-render arg0) - ) arg0 ) ;; definition for function debug-menus-handler (defun debug-menus-handler ((arg0 debug-menu-context)) (if (-> arg0 is-active) - (debug-menus-active arg0) - ) + (debug-menus-active arg0) + ) arg0 ) diff --git a/test/decompiler/reference/engine/debug/part-tester_REF.gc b/test/decompiler/reference/engine/debug/part-tester_REF.gc index 307912af92..90b04fdca2 100644 --- a/test/decompiler/reference/engine/debug/part-tester_REF.gc +++ b/test/decompiler/reference/engine/debug/part-tester_REF.gc @@ -4,18 +4,17 @@ ;; this file is debug only (when *debug-segment* ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 105) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-tester" - :launcher - (new 'static 'inline-array sparticle-group-item 2 (sp-item 56) (sp-item 57)) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 105) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-tester" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 56) (sp-item 57)) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; definition of type part-tester (deftype part-tester (process) @@ -32,8 +31,8 @@ ;; definition for method 3 of type part-tester (defmethod inspect part-tester ((obj part-tester)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Troot: ~A~%" (-> obj root)) (format #t "~T~Tpart: ~A~%" (-> obj part)) (format #t "~T~Told-group: ~A~%" (-> obj old-group)) @@ -46,8 +45,8 @@ ;; definition for method 10 of type part-tester (defmethod deactivate part-tester ((obj part-tester)) (if (nonzero? (-> obj part)) - (kill-and-free-particles (-> obj part)) - ) + (kill-and-free-particles (-> obj part)) + ) ((method-of-type process deactivate) obj) (none) ) @@ -56,62 +55,51 @@ (defstate part-tester-idle (part-tester) :code (behavior () - (while #t - (let ((gp-0 (entity-by-name *part-tester-name*))) - (when gp-0 - (let ((s5-0 (-> gp-0 extra process))) - (if - (and - s5-0 - (type-type? (-> s5-0 type) process-drawable) - (nonzero? (-> (the-as process-drawable s5-0) root)) - ) - (set! - (-> self root trans quad) - (-> (the-as process-drawable s5-0) root trans quad) - ) - (set! (-> self root trans quad) (-> gp-0 extra trans quad)) + (while #t + (let ((gp-0 (entity-by-name *part-tester-name*))) + (when gp-0 + (let ((s5-0 (-> gp-0 extra process))) + (if (and s5-0 (type-type? (-> s5-0 type) process-drawable) (nonzero? (-> (the-as process-drawable s5-0) root))) + (set! (-> self root trans quad) (-> (the-as process-drawable s5-0) root trans quad)) + (set! (-> self root trans quad) (-> gp-0 extra trans quad)) + ) + ) + ) ) - ) + (add-debug-x + #t + (bucket-id debug-draw1) + (-> self root trans) + (the-as rgba (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80)) + ) + (let ((gp-1 (-> *part-group-id-table* 105))) + (let ((s5-1 (-> self root trans))) + (when (!= gp-1 (-> self old-group)) + (when (nonzero? (-> self part)) + (kill-and-free-particles (-> self part)) + (set! (-> self heap-cur) (&-> (-> self part) type)) + ) + (set! (-> self part) (create-launch-control gp-1 self)) + ) + (if (nonzero? (-> self part)) + (spawn (-> self part) (cond + ((logtest? (-> gp-1 flags) (sp-group-flag screen-space)) + *zero-vector* + ) + (else + (empty) + s5-1 + ) + ) + ) + ) + ) + (set! (-> self old-group) gp-1) + ) + (suspend) ) - ) - (add-debug-x - #t - (bucket-id debug-draw1) - (-> self root trans) - (the-as rgba (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80)) - ) - (let ((gp-1 (-> *part-group-id-table* 105))) - (let ((s5-1 (-> self root trans))) - (when (!= gp-1 (-> self old-group)) - (when (nonzero? (-> self part)) - (kill-and-free-particles (-> self part)) - (set! (-> self heap-cur) (&-> (-> self part) type)) - ) - (set! (-> self part) (create-launch-control gp-1 self)) - ) - (if (nonzero? (-> self part)) - (spawn (-> self part) (cond - ((logtest? - (-> gp-1 flags) - (sp-group-flag screen-space) - ) - *zero-vector* - ) - (else - (empty) - s5-1 - ) - ) - ) - ) - ) - (set! (-> self old-group) gp-1) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition for function part-tester-init-by-other @@ -126,41 +114,26 @@ ) ;; definition (perm) for symbol *debug-part-dead-pool*, type dead-pool -(define-perm *debug-part-dead-pool* dead-pool - (new 'debug 'dead-pool 1 #x10000 '*debug-part-dead-pool*) - ) +(define-perm *debug-part-dead-pool* dead-pool (new 'debug 'dead-pool 1 #x10000 '*debug-part-dead-pool*)) ;; definition for function start-part ;; INFO: Return type mismatch (pointer process) vs none. (defun start-part () (kill-by-type part-tester *active-pool*) (let ((gp-0 (get-process *debug-part-dead-pool* part-tester #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tester activate))) - (t9-2 - (the-as part-tester gp-0) - *default-pool* - 'part-tester - (the-as pointer #x70004000) + (when gp-0 + (let ((t9-2 (method-of-type part-tester activate))) + (t9-2 (the-as part-tester gp-0) *default-pool* 'part-tester (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 part-tester-init-by-other (if *anim-tester* + (-> *anim-tester* 0 root trans) + (target-pos 0) + ) + ) + (-> gp-0 ppointer) ) - ) - (run-now-in-process gp-0 part-tester-init-by-other (if *anim-tester* - (-> - *anim-tester* - 0 - root - trans - ) - (target-pos 0) - ) - ) - (-> gp-0 ppointer) ) - ) (none) ) ) - - - diff --git a/test/decompiler/reference/engine/debug/stats-h_REF.gc b/test/decompiler/reference/engine/debug/stats-h_REF.gc index 8e73699ff6..08cde746b6 100644 --- a/test/decompiler/reference/engine/debug/stats-h_REF.gc +++ b/test/decompiler/reference/engine/debug/stats-h_REF.gc @@ -129,17 +129,17 @@ (defmethod reset! perf-stat ((obj perf-stat)) (local-vars (r0-0 none)) (let ((v1-0 (-> obj ctrl))) - (+! (-> obj count) 1) - (b! (zero? v1-0) cfg-2 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf v1-0) - ) + (+! (-> obj count) 1) + (b! (zero? v1-0) cfg-2 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf v1-0) + ) (.sync.l) (.sync.p) (label cfg-2) @@ -171,15 +171,12 @@ ;; definition for method 13 of type perf-stat ;; INFO: Return type mismatch int vs none. -(defmethod - update-wait-stats - perf-stat - ((obj perf-stat) (arg0 uint) (arg1 uint) (arg2 uint)) +(defmethod update-wait-stats perf-stat ((obj perf-stat) (arg0 uint) (arg1 uint) (arg2 uint)) (when (nonzero? (-> obj ctrl)) - (+! (-> obj to-vu0-waits) arg0) - (+! (-> obj to-spr-waits) arg1) - (+! (-> obj from-spr-waits) arg2) - ) + (+! (-> obj to-vu0-waits) arg0) + (+! (-> obj to-spr-waits) arg1) + (+! (-> obj from-spr-waits) arg2) + ) 0 (none) ) diff --git a/test/decompiler/reference/engine/debug/viewer_REF.gc b/test/decompiler/reference/engine/debug/viewer_REF.gc index 63e68aed35..477fc5b646 100644 --- a/test/decompiler/reference/engine/debug/viewer_REF.gc +++ b/test/decompiler/reference/engine/debug/viewer_REF.gc @@ -2,14 +2,12 @@ (in-package goal) ;; definition for symbol *viewer-sg*, type skeleton-group -(define - *viewer-sg* - (new 'static 'skeleton-group - :bounds (new 'static 'vector :w 16384.0) - :lod-dist - (new 'static 'array float 4 4095996000.0 0.0 0.0 0.0) - ) - ) +(define *viewer-sg* (new 'static 'skeleton-group + :bounds (new 'static 'vector :w 16384.0) + :lod-dist + (new 'static 'array float 4 4095996000.0 0.0 0.0 0.0) + ) + ) ;; definition of type viewer (deftype viewer (process-drawable) @@ -24,8 +22,8 @@ ;; definition for method 3 of type viewer (defmethod inspect viewer ((obj viewer)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tjanim: ~A~%" (-> obj janim)) obj ) @@ -34,34 +32,27 @@ (defstate viewer-process (viewer) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (-> self janim)) - (set! (-> a0-0 param 0) (the float (+ (-> self janim data 0 length) -1))) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (-> self janim) num-func-seek!) - ) - (until (ja-done? 0) - (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 (-> self align) 31 1.0 1.0 1.0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (-> self janim)) + (set! (-> a0-0 param 0) (the float (+ (-> self janim data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (-> self janim) num-func-seek!) + ) + (until (ja-done? 0) + (TODO-RENAME-9 (-> self align)) + (TODO-RENAME-10 (-> self align) 31 1.0 1.0 1.0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior viewer) ja-post) ) @@ -80,124 +71,119 @@ (let ((s5-0 (-> arg2 data)) (gp-0 (-> arg0 data)) ) - (set! (-> gp-0 0) (the-as uint 0)) - (dotimes (s2-0 (- (length arg2) (+ (length arg1) 2))) - (when (= (-> s5-0 0) 45) - (let ((s1-0 #f)) - (dotimes (s0-0 (length arg1)) - (if (!= (-> s5-0 (+ s0-0 1)) (-> arg1 data s0-0)) - (goto cfg-10) + (set! (-> gp-0 0) (the-as uint 0)) + (dotimes (s2-0 (- (length arg2) (+ (length arg1) 2))) + (when (= (-> s5-0 0) 45) + (let ((s1-0 #f)) + (dotimes (s0-0 (length arg1)) + (if (!= (-> s5-0 (+ s0-0 1)) (-> arg1 data s0-0)) + (goto cfg-10) + ) + ) + (if (= (-> s5-0 (+ (length arg1) 1)) 45) + (set! s1-0 #t) + ) + (label cfg-10) + (when s1-0 + (let ((v1-22 (&+ s5-0 (+ (length arg1) 2)))) + (while (and (!= (-> v1-22 0) 45) (nonzero? (-> v1-22 0))) + (set! (-> gp-0 0) (-> v1-22 0)) + (set! v1-22 (&-> v1-22 1)) + (set! gp-0 (&-> gp-0 1)) + ) + ) + (set! (-> gp-0 0) (the-as uint 0)) + (return #t) + ) + ) ) - ) - (if (= (-> s5-0 (+ (length arg1) 1)) 45) - (set! s1-0 #t) - ) - (label cfg-10) - (when s1-0 - (let ((v1-22 (&+ s5-0 (+ (length arg1) 2)))) - (while (and (!= (-> v1-22 0) 45) (nonzero? (-> v1-22 0))) - (set! (-> gp-0 0) (-> v1-22 0)) - (set! v1-22 (&-> v1-22 1)) - (set! gp-0 (&-> gp-0 1)) - ) - ) - (set! (-> gp-0 0) (the-as uint 0)) - (return #t) - ) + (set! s5-0 (&-> s5-0 1)) ) - ) - (set! s5-0 (&-> s5-0 1)) ) - ) #f ) ;; definition for function art-part-name (defun art-part-name ((arg0 string)) (let ((gp-0 (-> arg0 data))) - (while (nonzero? (-> gp-0 0)) - (when (= (-> gp-0 0) 45) - (copyn-string<-charp - viewer-string - (&-> gp-0 1) - (- - (length arg0) - (the-as int (+ (- -1 (the-as int (-> arg0 data))) (the-as int gp-0))) - ) + (while (nonzero? (-> gp-0 0)) + (when (= (-> gp-0 0) 45) + (copyn-string<-charp + viewer-string + (&-> gp-0 1) + (- (length arg0) (the-as int (+ (- -1 (the-as int (-> arg0 data))) (the-as int gp-0)))) + ) + (return viewer-string) + ) + (set! gp-0 (&-> gp-0 1)) ) - (return viewer-string) - ) - (set! gp-0 (&-> gp-0 1)) ) - ) (clear viewer-string) ) ;; definition for function init-viewer (defbehavior init-viewer viewer ((arg0 string)) - (let ((s2-0 (load-to-heap-by-name (-> (if (-> self entity) - (-> self entity extra level) - (-> *level* level-default) - ) - art-group - ) - arg0 #f global 0 - ) - ) + (let ((s2-0 (load-to-heap-by-name + (-> (if (-> self entity) + (-> self entity extra level) + (-> *level* level-default) + ) + art-group + ) + arg0 + #f + global + 0 + ) + ) (s5-0 (the-as int #f)) (s4-0 (the-as int #f)) (s3-0 (the-as int #f)) ) - (when s2-0 - (dotimes (s1-0 (-> s2-0 length)) - (cond - ((and - (not s4-0) - (= (-> s2-0 data s1-0 type) merc-ctrl) - (or - (zero? (length viewer-geo-name)) - (string= (art-part-name (-> s2-0 data s1-0 name)) viewer-geo-name) - ) + (when s2-0 + (dotimes (s1-0 (-> s2-0 length)) + (cond + ((and + (not s4-0) + (= (-> s2-0 data s1-0 type) merc-ctrl) + (or (zero? (length viewer-geo-name)) (string= (art-part-name (-> s2-0 data s1-0 name)) viewer-geo-name)) + ) + (set! s4-0 s1-0) + ) + ((= (-> s2-0 data s1-0 type) art-joint-geo) + (set! s3-0 s1-0) + ) + ((and + (= (-> s2-0 data s1-0 type) art-joint-anim) + (or (zero? (length viewer-ja-name)) (string= (art-part-name (-> s2-0 data s1-0 name)) viewer-ja-name)) + ) + (set! s5-0 s1-0) + ) + ) + (if (and s4-0 s3-0 s5-0) + (goto cfg-34) + ) ) - (set! s4-0 s1-0) - ) - ((= (-> s2-0 data s1-0 type) art-joint-geo) - (set! s3-0 s1-0) - ) - ((and - (= (-> s2-0 data s1-0 type) art-joint-anim) - (or - (zero? (length viewer-ja-name)) - (string= (art-part-name (-> s2-0 data s1-0 name)) viewer-ja-name) + ) + (label cfg-34) + (cond + ((and s4-0 s3-0 s5-0) + (set! (-> self janim) (the-as art-joint-anim (-> s2-0 data s5-0))) + (let ((a1-3 *viewer-sg*)) + (set! (-> a1-3 art-group-name) arg0) + (set! (-> a1-3 jgeo) s3-0) + (set! (-> a1-3 janim) s5-0) + (set! (-> a1-3 mgeo 0) s4-0) + (initialize-skeleton self a1-3 '()) ) - ) - (set! s5-0 s1-0) + (set! (-> self align) (new 'process 'align-control self)) + (go viewer-process) ) + (else + (go process-drawable-art-error arg0) + ) ) - (if (and s4-0 s3-0 s5-0) - (goto cfg-34) - ) - ) ) - (label cfg-34) - (cond - ((and s4-0 s3-0 s5-0) - (set! (-> self janim) (the-as art-joint-anim (-> s2-0 data s5-0))) - (let ((a1-3 *viewer-sg*)) - (set! (-> a1-3 art-group-name) arg0) - (set! (-> a1-3 jgeo) s3-0) - (set! (-> a1-3 janim) s5-0) - (set! (-> a1-3 mgeo 0) s4-0) - (initialize-skeleton self a1-3 '()) - ) - (set! (-> self align) (new 'process 'align-control self)) - (go viewer-process) - ) - (else - (go process-drawable-art-error arg0) - ) - ) - ) ) ;; definition for method 11 of type viewer @@ -209,11 +195,11 @@ (actor-get-arg! viewer-ja-name "ja" (res-lump-struct arg0 'name string)) (actor-get-arg! viewer-geo-name "geo" (res-lump-struct arg0 'name string)) (let ((gp-1 (-> arg0 etype))) - (if (valid? gp-1 type #f #f 0) - (init-viewer (symbol->string (-> gp-1 symbol))) - (go process-drawable-art-error "unknown") + (if (valid? gp-1 type #f #f 0) + (init-viewer (symbol->string (-> gp-1 symbol))) + (go process-drawable-art-error "unknown") + ) ) - ) (none) ) @@ -237,27 +223,22 @@ (defun add-a-bunch ((arg0 string) (arg1 int) (arg2 int) (arg3 float)) (local-vars (sv-32 process)) (dotimes (s2-0 arg1) - (dotimes (s1-0 arg2) - (let ((s0-0 (new-stack-vector0))) - (position-in-front-of-camera! s0-0 40960.0 4096.0) - (+! (-> s0-0 x) (the float (* (- s2-0 (/ arg1 2)) (the int arg3)))) - (+! (-> s0-0 z) (the float (* (- s1-0 (/ arg2 2)) (the int arg3)))) - (set! sv-32 (get-process *default-dead-pool* viewer #x4000)) - (when sv-32 - (let ((t9-2 (method-of-type viewer activate))) - (t9-2 - (the-as viewer sv-32) - *entity-pool* - 'viewer - (the-as pointer #x70004000) + (dotimes (s1-0 arg2) + (let ((s0-0 (new-stack-vector0))) + (position-in-front-of-camera! s0-0 40960.0 4096.0) + (+! (-> s0-0 x) (the float (* (- s2-0 (/ arg1 2)) (the int arg3)))) + (+! (-> s0-0 z) (the float (* (- s1-0 (/ arg2 2)) (the int arg3)))) + (set! sv-32 (get-process *default-dead-pool* viewer #x4000)) + (when sv-32 + (let ((t9-2 (method-of-type viewer activate))) + (t9-2 (the-as viewer sv-32) *entity-pool* 'viewer (the-as pointer #x70004000)) + ) + (run-now-in-process sv-32 init-viewer-for-other arg0 s0-0) + (-> sv-32 ppointer) + ) ) - ) - (run-now-in-process sv-32 init-viewer-for-other arg0 s0-0) - (-> sv-32 ppointer) ) - ) ) - ) #f ) @@ -266,8 +247,8 @@ (defun birth-viewer ((arg0 process) (arg1 entity)) (set! (-> arg0 type) viewer) (let ((t9-0 init-entity)) - viewer - (t9-0 arg0 arg1) - ) + viewer + (t9-0 arg0 arg1) + ) (the-as object #t) ) diff --git a/test/decompiler/reference/engine/dma/dma-bucket_REF.gc b/test/decompiler/reference/engine/dma/dma-bucket_REF.gc index d62694ba01..3fa9038c7b 100644 --- a/test/decompiler/reference/engine/dma/dma-bucket_REF.gc +++ b/test/decompiler/reference/engine/dma/dma-bucket_REF.gc @@ -5,51 +5,38 @@ ;; INFO: Return type mismatch pointer vs (inline-array dma-bucket). (defun dma-buffer-add-buckets ((dma-buf dma-buffer) (count int)) (let ((v0-0 (-> dma-buf base))) - (let ((current-bucket (the-as dma-bucket v0-0))) - (dotimes (i count) - (set! - (-> current-bucket tag) - (new 'static 'dma-tag - :id (dma-tag-id next) - :addr (the-as int (&+ (the-as pointer current-bucket) 16)) - ) + (let ((current-bucket (the-as dma-bucket v0-0))) + (dotimes (i count) + (set! (-> current-bucket tag) + (new 'static 'dma-tag :id (dma-tag-id next) :addr (the-as int (&+ (the-as pointer current-bucket) 16))) + ) + (set! (-> current-bucket last) (the-as (pointer dma-tag) current-bucket)) + (set! current-bucket (the-as dma-bucket (&+ (the-as pointer current-bucket) 16))) + ) + (set! (-> dma-buf base) (the-as pointer current-bucket)) ) - (set! (-> current-bucket last) (the-as (pointer dma-tag) current-bucket)) - (set! - current-bucket - (the-as dma-bucket (&+ (the-as pointer current-bucket) 16)) - ) - ) - (set! (-> dma-buf base) (the-as pointer current-bucket)) + (the-as (inline-array dma-bucket) v0-0) ) - (the-as (inline-array dma-bucket) v0-0) - ) ) ;; definition for function dma-buffer-patch-buckets (defun dma-buffer-patch-buckets ((bucket (inline-array dma-bucket)) (count int)) (when (nonzero? bucket) - (dotimes (i count) - (set! (-> bucket 0 last 0 addr) (the-as int (the-as pointer (-> bucket 1)))) - (set! (-> bucket 0 last) (the-as (pointer dma-tag) 0)) - (set! bucket (the-as (inline-array dma-bucket) (-> bucket 1))) + (dotimes (i count) + (set! (-> bucket 0 last 0 addr) (the-as int (the-as pointer (-> bucket 1)))) + (set! (-> bucket 0 last) (the-as (pointer dma-tag) 0)) + (set! bucket (the-as (inline-array dma-bucket) (-> bucket 1))) + ) ) - ) bucket ) ;; definition for function dma-bucket-insert-tag -(defun - dma-bucket-insert-tag - ((base (inline-array dma-bucket)) - (idx bucket-id) - (tag-start pointer) - (tag-end (pointer dma-tag)) - ) +(defun dma-bucket-insert-tag ((base (inline-array dma-bucket)) (idx bucket-id) (tag-start pointer) (tag-end (pointer dma-tag))) (let ((bucket (-> base idx))) - (set! (-> (the-as dma-bucket (-> bucket last)) next) (the-as uint tag-start)) - (set! (-> bucket last) tag-end) - ) + (set! (-> (the-as dma-bucket (-> bucket last)) next) (the-as uint tag-start)) + (set! (-> bucket last) tag-end) + ) tag-start ) diff --git a/test/decompiler/reference/engine/dma/dma-buffer_REF.gc b/test/decompiler/reference/engine/dma/dma-buffer_REF.gc index 2551d89de2..e15b413634 100644 --- a/test/decompiler/reference/engine/dma/dma-buffer_REF.gc +++ b/test/decompiler/reference/engine/dma/dma-buffer_REF.gc @@ -94,15 +94,11 @@ ;; definition for method 0 of type dma-buffer (defmethod new dma-buffer ((allocation symbol) (type-to-make type) (arg0 int)) - (let - ((v0-0 - (object-new allocation type-to-make (+ arg0 -4 (-> type-to-make size))) - ) + (let ((v0-0 (object-new allocation type-to-make (+ arg0 -4 (-> type-to-make size))))) + (set! (-> v0-0 base) (-> v0-0 data)) + (set! (-> v0-0 allocated-length) arg0) + v0-0 ) - (set! (-> v0-0 base) (-> v0-0 data)) - (set! (-> v0-0 allocated-length) arg0) - v0-0 - ) ) ;; definition for function dma-buffer-inplace-new @@ -133,73 +129,46 @@ ) ;; definition for function dma-buffer-add-vu-function -(defun - dma-buffer-add-vu-function - ((dma-buf dma-buffer) (vu-func vu-function) (arg2 int)) +(defun dma-buffer-add-vu-function ((dma-buf dma-buffer) (vu-func vu-function) (arg2 int)) (let ((func-ptr (&-> vu-func data 4)) (qlen (-> vu-func qlength)) (origin (-> vu-func origin)) ) - (while (> qlen 0) - (let ((qwc-now (min 127 qlen))) - (let* ((dma-buf-2 dma-buf) - (buf-ptr (the-as dma-packet (-> dma-buf-2 base))) - ) - (set! - (-> buf-ptr dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (the-as int func-ptr) - :qwc qwc-now + (while (> qlen 0) + (let ((qwc-now (min 127 qlen))) + (let* ((dma-buf-2 dma-buf) + (buf-ptr (the-as dma-packet (-> dma-buf-2 base))) + ) + (set! (-> buf-ptr dma) (new 'static 'dma-tag :id (dma-tag-id ref) :addr (the-as int func-ptr) :qwc qwc-now)) + (set! (-> buf-ptr vif0) (new 'static 'vif-tag :cmd (if (zero? arg2) 16 19))) + (set! (-> buf-ptr vif1) (new 'static 'vif-tag :cmd (vif-cmd mpg) :num (* qwc-now 2) :imm origin)) + (set! (-> dma-buf-2 base) (&+ (the-as pointer buf-ptr) 16)) + ) + (&+! func-ptr (* qwc-now 16)) + (set! qlen (- qlen qwc-now)) + (+! origin (* qwc-now 2)) ) - ) - (set! - (-> buf-ptr vif0) - (new 'static 'vif-tag :cmd (if (zero? arg2) 16 19)) - ) - (set! - (-> buf-ptr vif1) - (new 'static 'vif-tag :cmd (vif-cmd mpg) :num (* qwc-now 2) :imm origin) - ) - (set! (-> dma-buf-2 base) (&+ (the-as pointer buf-ptr) 16)) ) - (&+! func-ptr (* qwc-now 16)) - (set! qlen (- qlen qwc-now)) - (+! origin (* qwc-now 2)) - ) ) - ) #f ) ;; definition for function dma-buffer-send (defun dma-buffer-send ((arg0 dma-bank) (arg1 dma-buffer)) - (when - (< - (-> arg1 allocated-length) - (&- (-> arg1 base) (the-as uint (-> arg1 data))) + (when (< (-> arg1 allocated-length) (&- (-> arg1 base) (the-as uint (-> arg1 data)))) + (crash!) + 0 ) - (crash!) - 0 - ) - (dma-send - arg0 - (the-as uint (-> arg1 data)) - (the-as uint (dma-buffer-length arg1)) - ) + (dma-send arg0 (the-as uint (-> arg1 data)) (the-as uint (dma-buffer-length arg1))) (none) ) ;; definition for function dma-buffer-send-chain (defun dma-buffer-send-chain ((arg0 dma-bank-source) (arg1 dma-buffer)) - (when - (< - (-> arg1 allocated-length) - (&- (-> arg1 base) (the-as uint (-> arg1 data))) + (when (< (-> arg1 allocated-length) (&- (-> arg1 base) (the-as uint (-> arg1 data)))) + (crash!) + 0 ) - (crash!) - 0 - ) (dma-send-chain arg0 (the-as uint (-> arg1 data))) (none) ) diff --git a/test/decompiler/reference/engine/dma/dma-disasm_REF.gc b/test/decompiler/reference/engine/dma/dma-disasm_REF.gc index c42c00c5b7..dcb3be880f 100644 --- a/test/decompiler/reference/engine/dma/dma-disasm_REF.gc +++ b/test/decompiler/reference/engine/dma/dma-disasm_REF.gc @@ -33,530 +33,425 @@ (define *vif-disasm-table* (the-as (array vif-disasm-element) - (new - 'static - 'boxed-array - :type vif-disasm-element :length 34 :allocated-length 34 - (new 'static 'vif-disasm-element :mask #x7f :string1 "nop") - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 stcycl) - :print #x2 - :string1 "stcycl" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 offset) - :print #x1 - :string1 "offset" - :string2 "offset" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 base) - :print #x1 - :string1 "base" - :string2 "base" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 itop) - :print #x1 - :string1 "itop" - :string2 "addr" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 stmod) - :print #x1 - :string1 "stmod" - :string2 "mode" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 mskpath3) - :print #x1 - :string1 "mskpath3" - :string2 "mask" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 mark) - :print #x1 - :string1 "mark" - :string2 "mark" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 flushe) - :string1 "flushe" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 flush) - :string1 "flush" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 flusha) - :string1 "flusha" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 mscal) - :print #x1 - :string1 "mscal" - :string2 "addr" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 mscnt) - :string1 "mscnt" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 mscalf) - :print #x1 - :string1 "mscalf" - :string2 "addr" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 stmask) - :print #x3 - :string1 "stmask" - :string2 "mask" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 strow) - :print #x4 - :string1 "strow" - :string2 "row" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 stcol) - :print #x4 - :string1 "stcol" - :string2 "col" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 mpg) - :print #x5 - :string1 "mpg" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 direct) - :print #x6 - :string1 "direct" - ) - (new 'static 'vif-disasm-element - :mask #x7f - :tag (vif-cmd-32 directhl) - :print #x6 - :string1 "directhl" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-s-32) - :val #x10 - :print #x7 - :string1 "unpack-s-32" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-s-16) - :val #x8 - :print #x7 - :string1 "unpack-s-16" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-s-8) - :val #x4 - :print #x7 - :string1 "unpack-s-8" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-v2-32) - :val #x8 - :print #x7 - :string1 "unpack-v2-32" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-v2-16) - :val #x4 - :print #x7 - :string1 "unpack-v2-16" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-v2-8) - :val #x2 - :print #x7 - :string1 "unpack-v2-8" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-v3-32) - :val #xc - :print #x7 - :string1 "unpack-v3-32" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-v3-16) - :val #x6 - :print #x7 - :string1 "unpack-v3-16" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-v3-8) - :val #x3 - :print #x7 - :string1 "unpack-v3-8" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-v4-32) - :val #x10 - :print #x7 - :string1 "unpack-v4-32" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-v4-16) - :val #x8 - :print #x7 - :string1 "unpack-v4-16" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-v4-8) - :val #x4 - :print #x7 - :string1 "unpack-v4-8" - ) - (new 'static 'vif-disasm-element - :mask #x6f - :tag (vif-cmd-32 unpack-v4-5) - :val #x2 - :print #x7 - :string1 "unpack-v4-5" - ) - (new 'static 'vif-disasm-element :print #x8) + (new + 'static + 'boxed-array + :type vif-disasm-element :length 34 :allocated-length 34 + (new 'static 'vif-disasm-element :mask #x7f :string1 "nop") + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 stcycl) :print #x2 :string1 "stcycl") + (new 'static 'vif-disasm-element + :mask #x7f + :tag (vif-cmd-32 offset) + :print #x1 + :string1 "offset" + :string2 "offset" + ) + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 base) :print #x1 :string1 "base" :string2 "base") + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 itop) :print #x1 :string1 "itop" :string2 "addr") + (new 'static 'vif-disasm-element + :mask #x7f + :tag (vif-cmd-32 stmod) + :print #x1 + :string1 "stmod" + :string2 "mode" + ) + (new 'static 'vif-disasm-element + :mask #x7f + :tag (vif-cmd-32 mskpath3) + :print #x1 + :string1 "mskpath3" + :string2 "mask" + ) + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 mark) :print #x1 :string1 "mark" :string2 "mark") + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 flushe) :string1 "flushe") + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 flush) :string1 "flush") + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 flusha) :string1 "flusha") + (new 'static 'vif-disasm-element + :mask #x7f + :tag (vif-cmd-32 mscal) + :print #x1 + :string1 "mscal" + :string2 "addr" + ) + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 mscnt) :string1 "mscnt") + (new 'static 'vif-disasm-element + :mask #x7f + :tag (vif-cmd-32 mscalf) + :print #x1 + :string1 "mscalf" + :string2 "addr" + ) + (new 'static 'vif-disasm-element + :mask #x7f + :tag (vif-cmd-32 stmask) + :print #x3 + :string1 "stmask" + :string2 "mask" + ) + (new 'static 'vif-disasm-element + :mask #x7f + :tag (vif-cmd-32 strow) + :print #x4 + :string1 "strow" + :string2 "row" + ) + (new 'static 'vif-disasm-element + :mask #x7f + :tag (vif-cmd-32 stcol) + :print #x4 + :string1 "stcol" + :string2 "col" + ) + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 mpg) :print #x5 :string1 "mpg") + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 direct) :print #x6 :string1 "direct") + (new 'static 'vif-disasm-element :mask #x7f :tag (vif-cmd-32 directhl) :print #x6 :string1 "directhl") + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-s-32) + :val #x10 + :print #x7 + :string1 "unpack-s-32" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-s-16) + :val #x8 + :print #x7 + :string1 "unpack-s-16" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-s-8) + :val #x4 + :print #x7 + :string1 "unpack-s-8" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-v2-32) + :val #x8 + :print #x7 + :string1 "unpack-v2-32" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-v2-16) + :val #x4 + :print #x7 + :string1 "unpack-v2-16" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-v2-8) + :val #x2 + :print #x7 + :string1 "unpack-v2-8" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-v3-32) + :val #xc + :print #x7 + :string1 "unpack-v3-32" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-v3-16) + :val #x6 + :print #x7 + :string1 "unpack-v3-16" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-v3-8) + :val #x3 + :print #x7 + :string1 "unpack-v3-8" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-v4-32) + :val #x10 + :print #x7 + :string1 "unpack-v4-32" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-v4-16) + :val #x8 + :print #x7 + :string1 "unpack-v4-16" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-v4-8) + :val #x4 + :print #x7 + :string1 "unpack-v4-8" + ) + (new 'static 'vif-disasm-element + :mask #x6f + :tag (vif-cmd-32 unpack-v4-5) + :val #x2 + :print #x7 + :string1 "unpack-v4-5" + ) + (new 'static 'vif-disasm-element :print #x8) + ) ) - ) ) ;; definition for function disasm-vif-details -(defun - disasm-vif-details - ((stream symbol) (data (pointer uint8)) (kind vif-cmd) (count int)) +(defun disasm-vif-details ((stream symbol) (data (pointer uint8)) (kind vif-cmd) (count int)) (let ((count2 count)) - (cond - ((= kind (vif-cmd unpack-v4-8)) - (let ((data-ptr (&-> data 4))) - (dotimes (i count2) - (format - stream - " #x~X: #x~2X #x~2X #x~2X #x~2X~%" - (+ (+ (* i 4) 4) (the-as int data)) - (-> data-ptr (* i 4)) - (-> data-ptr (+ (* i 4) 1)) - (-> data-ptr (+ (* i 4) 2)) - (-> data-ptr (+ (* i 4) 3)) - ) + (cond + ((= kind (vif-cmd unpack-v4-8)) + (let ((data-ptr (&-> data 4))) + (dotimes (i count2) + (format + stream + " #x~X: #x~2X #x~2X #x~2X #x~2X~%" + (+ (+ (* i 4) 4) (the-as int data)) + (-> data-ptr (* i 4)) + (-> data-ptr (+ (* i 4) 1)) + (-> data-ptr (+ (* i 4) 2)) + (-> data-ptr (+ (* i 4) 3)) + ) + ) + ) ) - ) - ) - ((= kind (vif-cmd unpack-s-8)) - (let ((s3-1 (&-> data 4))) - (dotimes (s2-1 count2) - (format - stream - " #x~X: #x~2x~%" - (+ (+ s2-1 4) (the-as int data)) - count - ) - (-> s3-1 (* 3 s2-1)) - (-> s3-1 (+ (* 3 s2-1) 1)) + ((= kind (vif-cmd unpack-s-8)) + (let ((s3-1 (&-> data 4))) + (dotimes (s2-1 count2) + (format stream " #x~X: #x~2x~%" (+ (+ s2-1 4) (the-as int data)) count) + (-> s3-1 (* 3 s2-1)) + (-> s3-1 (+ (* 3 s2-1) 1)) + ) + ) ) - ) - ) - ((= kind (vif-cmd unpack-v4-32)) - (let ((s3-2 (the-as (pointer uint32) (&-> data 4)))) - (dotimes (s2-2 count2) - (format - stream - " #x~X: #x~8x #x~8x #x~8x #x~8x~%" - (+ (+ (* s2-2 16) 4) (the-as int data)) - (-> s3-2 (* s2-2 4)) - (-> s3-2 (+ (* s2-2 4) 1)) - (-> s3-2 (+ (* s2-2 4) 2)) - (-> s3-2 (+ (* s2-2 4) 3)) - ) + ((= kind (vif-cmd unpack-v4-32)) + (let ((s3-2 (the-as (pointer uint32) (&-> data 4)))) + (dotimes (s2-2 count2) + (format + stream + " #x~X: #x~8x #x~8x #x~8x #x~8x~%" + (+ (+ (* s2-2 16) 4) (the-as int data)) + (-> s3-2 (* s2-2 4)) + (-> s3-2 (+ (* s2-2 4) 1)) + (-> s3-2 (+ (* s2-2 4) 2)) + (-> s3-2 (+ (* s2-2 4) 3)) + ) + ) + ) ) - ) - ) - ((= kind (vif-cmd unpack-v4-16)) - (let ((s3-3 (the-as (pointer uint16) (&-> data 4)))) - (dotimes (s2-3 count2) - (format - stream - " #x~X: #x~4x #x~4x #x~4x #x~4x~%" - (+ (+ (* s2-3 8) 4) (the-as int data)) - (-> s3-3 (* s2-3 4)) - (-> s3-3 (+ (* s2-3 4) 1)) - (-> s3-3 (+ (* s2-3 4) 2)) - (-> s3-3 (+ (* s2-3 4) 3)) - ) + ((= kind (vif-cmd unpack-v4-16)) + (let ((s3-3 (the-as (pointer uint16) (&-> data 4)))) + (dotimes (s2-3 count2) + (format + stream + " #x~X: #x~4x #x~4x #x~4x #x~4x~%" + (+ (+ (* s2-3 8) 4) (the-as int data)) + (-> s3-3 (* s2-3 4)) + (-> s3-3 (+ (* s2-3 4) 1)) + (-> s3-3 (+ (* s2-3 4) 2)) + (-> s3-3 (+ (* s2-3 4) 3)) + ) + ) + ) ) - ) - ) - ((= kind (vif-cmd unpack-v3-32)) - (let ((s3-4 (the-as (pointer uint32) (&-> data 4)))) - (dotimes (s2-4 count2) - (format - stream - " #x~X: #x~8x #x~8x #x~8x~%" - (+ (+ (* 12 s2-4) 4) (the-as int data)) - (-> (&+ s3-4 (* 12 s2-4)) 0) - (-> s3-4 (+ (* 3 s2-4) 1)) - (-> s3-4 (+ (* 3 s2-4) 2)) - ) + ((= kind (vif-cmd unpack-v3-32)) + (let ((s3-4 (the-as (pointer uint32) (&-> data 4)))) + (dotimes (s2-4 count2) + (format + stream + " #x~X: #x~8x #x~8x #x~8x~%" + (+ (+ (* 12 s2-4) 4) (the-as int data)) + (-> (&+ s3-4 (* 12 s2-4)) 0) + (-> s3-4 (+ (* 3 s2-4) 1)) + (-> s3-4 (+ (* 3 s2-4) 2)) + ) + ) + ) ) - ) - ) - ((= kind (vif-cmd unpack-v3-16)) - (let ((s3-5 (the-as (pointer uint16) (&-> data 4)))) - (dotimes (s2-5 count2) - (format - stream - " #x~X: #x~4x #x~4x #x~4x~%" - (+ (+ (* 6 s2-5) 4) (the-as int data)) - (-> (&+ s3-5 (* 6 s2-5)) 0) - (-> s3-5 (+ (* 3 s2-5) 1)) - (-> s3-5 (+ (* 3 s2-5) 2)) - ) + ((= kind (vif-cmd unpack-v3-16)) + (let ((s3-5 (the-as (pointer uint16) (&-> data 4)))) + (dotimes (s2-5 count2) + (format + stream + " #x~X: #x~4x #x~4x #x~4x~%" + (+ (+ (* 6 s2-5) 4) (the-as int data)) + (-> (&+ s3-5 (* 6 s2-5)) 0) + (-> s3-5 (+ (* 3 s2-5) 1)) + (-> s3-5 (+ (* 3 s2-5) 2)) + ) + ) + ) ) - ) - ) - ((= kind (vif-cmd unpack-v2-16)) - (let ((s3-6 (the-as (pointer uint16) (&-> data 4)))) - (dotimes (s2-6 count2) - (format - stream - " #x~X: #x~4x #x~4x~%" - (+ (+ (* s2-6 4) 4) (the-as int data)) - (-> (&+ s3-6 (* 6 s2-6)) 0) - (-> s3-6 (+ (* 3 s2-6) 1)) - ) + ((= kind (vif-cmd unpack-v2-16)) + (let ((s3-6 (the-as (pointer uint16) (&-> data 4)))) + (dotimes (s2-6 count2) + (format + stream + " #x~X: #x~4x #x~4x~%" + (+ (+ (* s2-6 4) 4) (the-as int data)) + (-> (&+ s3-6 (* 6 s2-6)) 0) + (-> s3-6 (+ (* 3 s2-6) 1)) + ) + ) + ) ) + (else + (format stream " #x~X: Data format #b~b not yet supported, add it for yourself!~%" (&-> data 4) kind) + ) ) - ) - (else - (format - stream - " #x~X: Data format #b~b not yet supported, add it for yourself!~%" - (&-> data 4) - kind - ) - ) ) - ) #f ) ;; definition for function disasm-vif-tag ;; Used lq/sq -(defun - disasm-vif-tag - ((data (pointer vif-tag)) (words int) (stream symbol) (details symbol)) - (local-vars - (cmd vif-cmd) - (data-ptr (pointer vif-tag)) - (data-idx int) - (unpack-imm vif-unpack-imm) - ) +(defun disasm-vif-tag ((data (pointer vif-tag)) (words int) (stream symbol) (details symbol)) + (local-vars (cmd vif-cmd) (data-ptr (pointer vif-tag)) (data-idx int) (unpack-imm vif-unpack-imm)) (let ((byte-idx 0)) - (while (< byte-idx (* words 4)) - (let ((packet-size 4)) - (let ((first-tag (-> data 0))) - (format stream " #x~X:" data) - (dotimes (cmd-template-idx (-> *vif-disasm-table* length)) - (set! cmd (-> first-tag cmd)) - (when - (= - (logand cmd (-> *vif-disasm-table* cmd-template-idx mask)) - (-> *vif-disasm-table* cmd-template-idx tag) - ) - (let ((print-kind (-> *vif-disasm-table* cmd-template-idx print))) - (cond - ((zero? print-kind) - (format - stream - " (~s :irq ~D)~%" - (-> *vif-disasm-table* cmd-template-idx string1) - (-> first-tag irq) - ) - ) - ((= print-kind 1) - (format - stream - " (~s :irq ~D :~s #x~X)~%" - (-> *vif-disasm-table* cmd-template-idx string1) - (-> first-tag irq) - (-> *vif-disasm-table* cmd-template-idx string2) - (-> first-tag imm) - ) - ) - ((= print-kind 2) - (let ((stcycl-imm (the-as vif-stcycl-imm (-> first-tag imm)))) - (format - stream - " (~s :irq ~D :wl ~D :cl ~D)~%" - (-> *vif-disasm-table* cmd-template-idx string1) - (-> first-tag irq) - (-> stcycl-imm wl) - (-> stcycl-imm cl) - ) - ) - ) - ((= print-kind 3) - (set! packet-size 8) - (format - stream - " (~s :irq ~D :~s #x~X)~%" - (-> *vif-disasm-table* cmd-template-idx string1) - (-> first-tag irq) - (-> *vif-disasm-table* cmd-template-idx string2) - (-> data 1) - ) - ) - ((= print-kind 4) - (set! packet-size 20) - (format - stream - " (~s :irq ~D :~s " - (-> *vif-disasm-table* cmd-template-idx string1) - (-> first-tag irq) - (-> *vif-disasm-table* cmd-template-idx string2) - ) - (format - stream - "#x~X #x~X #x~X #x~X)~%" - (-> data 1) - (-> data 2) - (-> data 3) - (-> data 4) - ) - ) - ((= print-kind 5) - (format - stream - " (~s :irq ~D :instructions #x~D :addr #x~X)~%" - (-> *vif-disasm-table* cmd-template-idx string1) - (-> first-tag irq) - (-> first-tag num) - (-> first-tag imm) - ) - ) - ((= print-kind 6) - (if (-> first-tag imm) - (set! packet-size #x100000) - (set! packet-size (the-as int (* (-> first-tag imm) 16))) - ) - (format - stream - " (~s :irq ~D :qwc #x~D)~%" - (-> *vif-disasm-table* cmd-template-idx string1) - (-> first-tag irq) - (-> first-tag imm) - ) - (set! data-ptr (&-> data 1)) - (set! data-idx 0) - (while (< data-idx (the-as int (-> first-tag imm))) - (format - stream - " #x~X: #x~8x #x~8x #x~8x #x~8x~%" - (+ (+ (* data-idx 16) 4) (the-as int data)) - (-> data-ptr (* data-idx 4)) - (-> data-ptr (+ (* data-idx 4) 1)) - (-> data-ptr (+ (* data-idx 4) 2)) - (-> data-ptr (+ (* data-idx 4) 3)) - ) - (set! data-idx (+ data-idx 1)) - ) - #f - ) - ((= print-kind 7) - (set! - packet-size - (the-as - int - (+ - (logand - -4 - (+ - (* - (-> *vif-disasm-table* cmd-template-idx val) - (-> first-tag num) - ) - 3 + (while (< byte-idx (* words 4)) + (let ((packet-size 4)) + (let ((first-tag (-> data 0))) + (format stream " #x~X:" data) + (dotimes (cmd-template-idx (-> *vif-disasm-table* length)) + (set! cmd (-> first-tag cmd)) + (when (= (logand cmd (-> *vif-disasm-table* cmd-template-idx mask)) (-> *vif-disasm-table* cmd-template-idx tag)) + (let ((print-kind (-> *vif-disasm-table* cmd-template-idx print))) + (cond + ((zero? print-kind) + (format stream " (~s :irq ~D)~%" (-> *vif-disasm-table* cmd-template-idx string1) (-> first-tag irq)) + ) + ((= print-kind 1) + (format + stream + " (~s :irq ~D :~s #x~X)~%" + (-> *vif-disasm-table* cmd-template-idx string1) + (-> first-tag irq) + (-> *vif-disasm-table* cmd-template-idx string2) + (-> first-tag imm) + ) + ) + ((= print-kind 2) + (let ((stcycl-imm (the-as vif-stcycl-imm (-> first-tag imm)))) + (format + stream + " (~s :irq ~D :wl ~D :cl ~D)~%" + (-> *vif-disasm-table* cmd-template-idx string1) + (-> first-tag irq) + (-> stcycl-imm wl) + (-> stcycl-imm cl) + ) + ) + ) + ((= print-kind 3) + (set! packet-size 8) + (format + stream + " (~s :irq ~D :~s #x~X)~%" + (-> *vif-disasm-table* cmd-template-idx string1) + (-> first-tag irq) + (-> *vif-disasm-table* cmd-template-idx string2) + (-> data 1) + ) + ) + ((= print-kind 4) + (set! packet-size 20) + (format + stream + " (~s :irq ~D :~s " + (-> *vif-disasm-table* cmd-template-idx string1) + (-> first-tag irq) + (-> *vif-disasm-table* cmd-template-idx string2) + ) + (format stream "#x~X #x~X #x~X #x~X)~%" (-> data 1) (-> data 2) (-> data 3) (-> data 4)) + ) + ((= print-kind 5) + (format + stream + " (~s :irq ~D :instructions #x~D :addr #x~X)~%" + (-> *vif-disasm-table* cmd-template-idx string1) + (-> first-tag irq) + (-> first-tag num) + (-> first-tag imm) + ) + ) + ((= print-kind 6) + (if (-> first-tag imm) + (set! packet-size #x100000) + (set! packet-size (the-as int (* (-> first-tag imm) 16))) + ) + (format + stream + " (~s :irq ~D :qwc #x~D)~%" + (-> *vif-disasm-table* cmd-template-idx string1) + (-> first-tag irq) + (-> first-tag imm) + ) + (set! data-ptr (&-> data 1)) + (set! data-idx 0) + (while (< data-idx (the-as int (-> first-tag imm))) + (format + stream + " #x~X: #x~8x #x~8x #x~8x #x~8x~%" + (+ (+ (* data-idx 16) 4) (the-as int data)) + (-> data-ptr (* data-idx 4)) + (-> data-ptr (+ (* data-idx 4) 1)) + (-> data-ptr (+ (* data-idx 4) 2)) + (-> data-ptr (+ (* data-idx 4) 3)) + ) + (set! data-idx (+ data-idx 1)) + ) + #f + ) + ((= print-kind 7) + (set! packet-size + (the-as int (+ (logand -4 (+ (* (-> *vif-disasm-table* cmd-template-idx val) (-> first-tag num)) 3)) 4)) + ) + (set! unpack-imm (the-as vif-unpack-imm (-> first-tag imm))) + (format + stream + " (~s :irq ~D :num ~D :addr #x~X " + (-> *vif-disasm-table* cmd-template-idx string1) + (-> first-tag irq) + (-> first-tag num) + (-> unpack-imm addr) + ) + (format + stream + ":msk ~D :flg ~D :usn ~D [skip ~d])~%" + (-> first-tag msk) + (-> unpack-imm flg) + (-> unpack-imm usn) + (the-as uint packet-size) + ) + (if details + (disasm-vif-details + stream + (the-as (pointer uint8) data) + (logand cmd (vif-cmd cmd-mask)) + (the-as int (-> first-tag num)) + ) + ) + ) + ((= print-kind 8) + (format stream " (*unknown* vif-tag #x~X)~%" (-> first-tag cmd)) + ) + ) ) - ) - 4 + (set! cmd-template-idx (-> *vif-disasm-table* length)) ) - ) ) - (set! unpack-imm (the-as vif-unpack-imm (-> first-tag imm))) - (format - stream - " (~s :irq ~D :num ~D :addr #x~X " - (-> *vif-disasm-table* cmd-template-idx string1) - (-> first-tag irq) - (-> first-tag num) - (-> unpack-imm addr) - ) - (format - stream - ":msk ~D :flg ~D :usn ~D [skip ~d])~%" - (-> first-tag msk) - (-> unpack-imm flg) - (-> unpack-imm usn) - (the-as uint packet-size) - ) - (if details - (disasm-vif-details - stream - (the-as (pointer uint8) data) - (logand cmd (vif-cmd cmd-mask)) - (the-as int (-> first-tag num)) - ) - ) - ) - ((= print-kind 8) - (format stream " (*unknown* vif-tag #x~X)~%" (-> first-tag cmd)) - ) ) - ) - (set! cmd-template-idx (-> *vif-disasm-table* length)) + (+! byte-idx packet-size) + (&+! data packet-size) ) - ) ) - (+! byte-idx packet-size) - (&+! data packet-size) - ) + (- byte-idx (* words 4)) ) - (- byte-idx (* words 4)) - ) ) ;; definition for function disasm-dma-tag @@ -568,52 +463,52 @@ (a1-2 "~s") (v1-1 (-> arg0 id)) ) - (t9-1 a0-2 a1-2 (cond - ((= v1-1 (dma-tag-id end)) - "end" - ) - ((= v1-1 (dma-tag-id ret)) - "ret" - ) - ((= v1-1 (dma-tag-id call)) - "call" - ) - ((= v1-1 (dma-tag-id refs)) - "refs" - ) - ((= v1-1 (dma-tag-id ref)) - "ref" - ) - ((= v1-1 (dma-tag-id next)) - "next" - ) - ((= v1-1 (dma-tag-id cnt)) - "cnt" - ) - ((= v1-1 (dma-tag-id refe)) - "refe" - ) - (else - "*unknown*" - ) - ) + (t9-1 a0-2 a1-2 (cond + ((= v1-1 (dma-tag-id end)) + "end" + ) + ((= v1-1 (dma-tag-id ret)) + "ret" + ) + ((= v1-1 (dma-tag-id call)) + "call" + ) + ((= v1-1 (dma-tag-id refs)) + "refs" + ) + ((= v1-1 (dma-tag-id ref)) + "ref" + ) + ((= v1-1 (dma-tag-id next)) + "next" + ) + ((= v1-1 (dma-tag-id cnt)) + "cnt" + ) + ((= v1-1 (dma-tag-id refe)) + "refe" + ) + (else + "*unknown*" + ) + ) + ) ) - ) (if (> (-> arg0 addr) 0) - (format arg1 " :addr #x~8x" (-> arg0 addr)) - ) + (format arg1 " :addr #x~8x" (-> arg0 addr)) + ) (if (> (-> arg0 qwc) 0) - (format arg1 " :qwc ~d" (-> arg0 qwc)) - ) + (format arg1 " :qwc ~d" (-> arg0 qwc)) + ) (if (> (-> arg0 spr) 0) - (format arg1 " :spr ~d" (-> arg0 spr)) - ) + (format arg1 " :spr ~d" (-> arg0 spr)) + ) (if (> (-> arg0 irq) 0) - (format arg1 " :irq ~d" (-> arg0 irq)) - ) + (format arg1 " :irq ~d" (-> arg0 irq)) + ) (if (> (-> arg0 pce) 0) - (format arg1 " :pce ~d" (-> arg0 pce)) - ) + (format arg1 " :pce ~d" (-> arg0 pce)) + ) (format arg1 ")~%") (none) ) @@ -624,233 +519,208 @@ ;; definition for function disasm-dma-list ;; WARN: Check prologue - tricky store of a0 ;; Used lq/sq -(defun - disasm-dma-list - ((data dma-packet) - (mode symbol) - (verbose symbol) - (stream symbol) - (expected-size int) - ) +(defun disasm-dma-list ((data dma-packet) (mode symbol) (verbose symbol) (stream symbol) (expected-size int)) (local-vars - (addr object) - (data-2 dma-packet) - (qwc int) - (ra-1 object) - (ra-2 object) - (call-depth int) - (current-tag dma-tag) - ) + (addr object) + (data-2 dma-packet) + (qwc int) + (ra-1 object) + (ra-2 object) + (call-depth int) + (current-tag dma-tag) + ) (set! data-2 data) (let ((mode-2 mode) (verbose-2 verbose) (stream-2 stream) (expected-size-2 expected-size) ) - (if verbose-2 - (format stream-2 "~%--- ~X -----------------------------~%" data-2) - ) - (let ((end-condition #f)) - (let ((total-qwc 0) - (total-tags 0) - ) - (set! addr 0) - (set! qwc 0) - (set! ra-1 0) - (set! ra-2 1) - (set! call-depth -1) - (set! current-tag (new 'static 'dma-tag)) - (while (not end-condition) - (cond - ((not - (valid? data-2 (the-as type #f) "dma-list tag pointer" #t stream-2) - ) - (format stream-2 "ERROR: dma-list tag pointer invalid~%") - (set! end-condition 'error) + (if verbose-2 + (format stream-2 "~%--- ~X -----------------------------~%" data-2) ) - (else - (set! current-tag (-> data-2 dma)) - (when - (not - (or - (zero? total-tags) - (valid? addr (the-as type #f) "dma-list data pointer" #t stream-2) - ) - ) - (format stream-2 "ERROR: dma-list data pointer invalid~%") - (set! end-condition 'error) - ) - (when (logtest? (the-as dma-tag #x3ff0000) current-tag) - (format stream-2 "ERROR: dma tag has data in reserved bits ~X~%") - (set! end-condition 'error) - ) - ) - ) - (when (or verbose-2 (= end-condition 'error)) - (format stream-2 "#x~8x: " data-2) - (cond - ((zero? call-depth) - (format stream-2 " ") - ) - ((= call-depth 1) - (format stream-2 " ") - ) - ) - (disasm-dma-tag current-tag stream-2) - ) - (cond - (end-condition - ) - ((or - (= (-> current-tag id) (dma-tag-id ref)) - (= (-> current-tag id) (dma-tag-id refs)) - (zero? (-> current-tag id)) - ) - (set! addr (-> current-tag addr)) - (set! qwc (the-as int (-> current-tag qwc))) - (when mode-2 - (let - ((v0-10 - (disasm-vif-tag (&-> data-2 vif0) 2 stream-2 (= mode-2 'details)) + (let ((end-condition #f)) + (let ((total-qwc 0) + (total-tags 0) ) - ) - (disasm-vif-tag - (the-as (pointer vif-tag) (+ addr v0-10)) - (the-as int (- (* qwc 4) (the-as uint (/ v0-10 4)))) - stream-2 - (= mode-2 'details) - ) + (set! addr 0) + (set! qwc 0) + (set! ra-1 0) + (set! ra-2 1) + (set! call-depth -1) + (set! current-tag (new 'static 'dma-tag)) + (while (not end-condition) + (cond + ((not (valid? data-2 (the-as type #f) "dma-list tag pointer" #t stream-2)) + (format stream-2 "ERROR: dma-list tag pointer invalid~%") + (set! end-condition 'error) + ) + (else + (set! current-tag (-> data-2 dma)) + (when (not (or (zero? total-tags) (valid? addr (the-as type #f) "dma-list data pointer" #t stream-2))) + (format stream-2 "ERROR: dma-list data pointer invalid~%") + (set! end-condition 'error) + ) + (when (logtest? (the-as dma-tag #x3ff0000) current-tag) + (format stream-2 "ERROR: dma tag has data in reserved bits ~X~%") + (set! end-condition 'error) + ) + ) + ) + (when (or verbose-2 (= end-condition 'error)) + (format stream-2 "#x~8x: " data-2) + (cond + ((zero? call-depth) + (format stream-2 " ") + ) + ((= call-depth 1) + (format stream-2 " ") + ) + ) + (disasm-dma-tag current-tag stream-2) + ) + (cond + (end-condition + ) + ((or + (= (-> current-tag id) (dma-tag-id ref)) + (= (-> current-tag id) (dma-tag-id refs)) + (zero? (-> current-tag id)) + ) + (set! addr (-> current-tag addr)) + (set! qwc (the-as int (-> current-tag qwc))) + (when mode-2 + (let ((v0-10 (disasm-vif-tag (&-> data-2 vif0) 2 stream-2 (= mode-2 'details)))) + (disasm-vif-tag + (the-as (pointer vif-tag) (+ addr v0-10)) + (the-as int (- (* qwc 4) (the-as uint (/ v0-10 4)))) + stream-2 + (= mode-2 'details) + ) + ) + ) + (set! data-2 (the-as dma-packet (&-> (the-as (pointer uint64) data-2) 2))) + (if (= (-> current-tag id) (dma-tag-id refe)) + (set! end-condition #t) + ) + ) + ((= (-> current-tag id) (dma-tag-id cnt)) + (set! addr (&-> (the-as (pointer uint64) data-2) 2)) + (set! qwc (the-as int (-> current-tag qwc))) + (if mode-2 + (disasm-vif-tag + (the-as (pointer vif-tag) (&-> (the-as (pointer uint64) data-2) 1)) + (the-as int (+ (* qwc 4) 2)) + stream-2 + (= mode-2 'details) + ) + ) + (set! data-2 (the-as dma-packet (+ (the-as uint data-2) (* (+ qwc 1) 16)))) + data-2 + ) + ((= (-> current-tag id) (dma-tag-id next)) + (set! addr (&-> (the-as (pointer uint64) data-2) 2)) + (set! qwc (the-as int (-> current-tag qwc))) + (if mode-2 + (disasm-vif-tag + (the-as (pointer vif-tag) (&-> (the-as (pointer uint64) data-2) 1)) + (the-as int (+ (* qwc 4) 2)) + stream-2 + (= mode-2 'details) + ) + ) + (when (= data-2 (-> current-tag addr)) + (format stream-2 "ERROR: next tag creates infinite loop.~%") + (set! end-condition 'error) + ) + (set! data-2 (the-as dma-packet (-> current-tag addr))) + data-2 + ) + ((= (-> current-tag id) (dma-tag-id call)) + (set! addr (&-> (the-as (pointer uint64) data-2) 2)) + (set! qwc (the-as int (-> current-tag qwc))) + (if mode-2 + (disasm-vif-tag + (the-as (pointer vif-tag) (&-> (the-as (pointer uint64) data-2) 1)) + (the-as int (+ (* qwc 4) 2)) + stream-2 + (= mode-2 'details) + ) + ) + (set! data-2 (the-as dma-packet (-> current-tag addr))) + (set! call-depth (+ call-depth 1)) + (cond + ((zero? call-depth) + (set! ra-1 (&+ addr qwc)) + (the-as (pointer uint64) ra-1) + ) + (else + (set! ra-2 (&+ addr qwc)) + (the-as (pointer uint64) ra-2) + ) + ) + ) + ((= (-> current-tag id) (dma-tag-id ret)) + (set! addr (&-> (the-as (pointer uint64) data-2) 2)) + (set! qwc (the-as int (-> current-tag qwc))) + (if mode-2 + (disasm-vif-tag + (the-as (pointer vif-tag) (&-> (the-as (pointer uint64) data-2) 1)) + (the-as int (+ (* qwc 4) 2)) + stream-2 + (= mode-2 'details) + ) + ) + (let ((v1-123 call-depth)) + (cond + ((zero? v1-123) + (set! data-2 (the-as dma-packet ra-1)) + data-2 + ) + ((= v1-123 1) + (set! data-2 (the-as dma-packet ra-2)) + data-2 + ) + (else + (set! end-condition #t) + ) + ) + ) + (set! call-depth (+ call-depth -1)) + call-depth + ) + ((= (-> current-tag id) (dma-tag-id end)) + (set! addr (&-> (the-as (pointer uint64) data-2) 2)) + (set! qwc (the-as int (-> current-tag qwc))) + (set! end-condition #t) + (if mode-2 + (disasm-vif-tag + (the-as (pointer vif-tag) (&-> (the-as (pointer uint64) data-2) 1)) + (the-as int (+ (* qwc 4) 2)) + stream-2 + (= mode-2 'details) + ) + ) + ) + (else + (format stream-2 "ERROR: Unknown DMA TAG command.~%") + (set! end-condition 'error) + ) + ) + (+! total-qwc qwc) + (+! total-tags 1) + (if (and (>= expected-size-2 0) (>= total-tags expected-size-2)) + (set! end-condition #t) + ) + ) + (when (or verbose-2 (= end-condition 'error)) + (format stream-2 "NOTICE: Total tags: ~d~%" total-tags) + (format stream-2 "NOTICE: Total QWC: ~d~%" total-qwc) + (format stream-2 "--------------------------------~%~%") ) - ) - (set! - data-2 - (the-as dma-packet (&-> (the-as (pointer uint64) data-2) 2)) - ) - (if (= (-> current-tag id) (dma-tag-id refe)) - (set! end-condition #t) - ) ) - ((= (-> current-tag id) (dma-tag-id cnt)) - (set! addr (&-> (the-as (pointer uint64) data-2) 2)) - (set! qwc (the-as int (-> current-tag qwc))) - (if mode-2 - (disasm-vif-tag - (the-as (pointer vif-tag) (&-> (the-as (pointer uint64) data-2) 1)) - (the-as int (+ (* qwc 4) 2)) - stream-2 - (= mode-2 'details) - ) - ) - (set! - data-2 - (the-as dma-packet (+ (the-as uint data-2) (* (+ qwc 1) 16))) - ) - data-2 - ) - ((= (-> current-tag id) (dma-tag-id next)) - (set! addr (&-> (the-as (pointer uint64) data-2) 2)) - (set! qwc (the-as int (-> current-tag qwc))) - (if mode-2 - (disasm-vif-tag - (the-as (pointer vif-tag) (&-> (the-as (pointer uint64) data-2) 1)) - (the-as int (+ (* qwc 4) 2)) - stream-2 - (= mode-2 'details) - ) - ) - (when (= data-2 (-> current-tag addr)) - (format stream-2 "ERROR: next tag creates infinite loop.~%") - (set! end-condition 'error) - ) - (set! data-2 (the-as dma-packet (-> current-tag addr))) - data-2 - ) - ((= (-> current-tag id) (dma-tag-id call)) - (set! addr (&-> (the-as (pointer uint64) data-2) 2)) - (set! qwc (the-as int (-> current-tag qwc))) - (if mode-2 - (disasm-vif-tag - (the-as (pointer vif-tag) (&-> (the-as (pointer uint64) data-2) 1)) - (the-as int (+ (* qwc 4) 2)) - stream-2 - (= mode-2 'details) - ) - ) - (set! data-2 (the-as dma-packet (-> current-tag addr))) - (set! call-depth (+ call-depth 1)) - (cond - ((zero? call-depth) - (set! ra-1 (&+ addr qwc)) - (the-as (pointer uint64) ra-1) - ) - (else - (set! ra-2 (&+ addr qwc)) - (the-as (pointer uint64) ra-2) - ) - ) - ) - ((= (-> current-tag id) (dma-tag-id ret)) - (set! addr (&-> (the-as (pointer uint64) data-2) 2)) - (set! qwc (the-as int (-> current-tag qwc))) - (if mode-2 - (disasm-vif-tag - (the-as (pointer vif-tag) (&-> (the-as (pointer uint64) data-2) 1)) - (the-as int (+ (* qwc 4) 2)) - stream-2 - (= mode-2 'details) - ) - ) - (let ((v1-123 call-depth)) - (cond - ((zero? v1-123) - (set! data-2 (the-as dma-packet ra-1)) - data-2 - ) - ((= v1-123 1) - (set! data-2 (the-as dma-packet ra-2)) - data-2 - ) - (else - (set! end-condition #t) - ) - ) - ) - (set! call-depth (+ call-depth -1)) - call-depth - ) - ((= (-> current-tag id) (dma-tag-id end)) - (set! addr (&-> (the-as (pointer uint64) data-2) 2)) - (set! qwc (the-as int (-> current-tag qwc))) - (set! end-condition #t) - (if mode-2 - (disasm-vif-tag - (the-as (pointer vif-tag) (&-> (the-as (pointer uint64) data-2) 1)) - (the-as int (+ (* qwc 4) 2)) - stream-2 - (= mode-2 'details) - ) - ) - ) - (else - (format stream-2 "ERROR: Unknown DMA TAG command.~%") - (set! end-condition 'error) - ) - ) - (+! total-qwc qwc) - (+! total-tags 1) - (if (and (>= expected-size-2 0) (>= total-tags expected-size-2)) - (set! end-condition #t) - ) + (!= end-condition 'error) ) - (when (or verbose-2 (= end-condition 'error)) - (format stream-2 "NOTICE: Total tags: ~d~%" total-tags) - (format stream-2 "NOTICE: Total QWC: ~d~%" total-qwc) - (format stream-2 "--------------------------------~%~%") - ) - ) - (!= end-condition 'error) ) - ) ) ) diff --git a/test/decompiler/reference/engine/dma/dma_REF.gc b/test/decompiler/reference/engine/dma/dma_REF.gc index 2cb7091414..755adeba23 100644 --- a/test/decompiler/reference/engine/dma/dma_REF.gc +++ b/test/decompiler/reference/engine/dma/dma_REF.gc @@ -8,18 +8,18 @@ ;; INFO: Return type mismatch int vs none. (defun dma-sync-crash ((arg0 dma-bank)) (let ((v1-0 #x4c4b40)) - (while (nonzero? (-> arg0 chcr str)) - (cond - ((zero? v1-0) - (crash!) - 0 + (while (nonzero? (-> arg0 chcr str)) + (cond + ((zero? v1-0) + (crash!) + 0 + ) + (else + (+! v1-0 -1) + ) + ) ) - (else - (+! v1-0 -1) - ) - ) ) - ) 0 (none) ) @@ -33,14 +33,12 @@ (dma-sync (the-as pointer arg0) 0 0) (flush-cache 0) (.sync.l) - (set! - (-> arg0 madr) - (logior (logand #xfffffff arg1) (if (= (logand #x70000000 arg1) #x70000000) - (shl #x8000 16) - 0 - ) - ) - ) + (set! (-> arg0 madr) (logior (logand #xfffffff arg1) (if (= (logand #x70000000 arg1) #x70000000) + (shl #x8000 16) + 0 + ) + ) + ) (set! (-> arg0 qwc) arg2) (.sync.l) (set! (-> arg0 chcr) (new 'static 'dma-chcr :str #x1)) @@ -59,19 +57,14 @@ (flush-cache 0) (.sync.l) (set! (-> arg0 qwc) (the-as uint 0)) - (set! - (-> arg0 tadr) - (logior (logand #xfffffff arg1) (if (= (logand #x70000000 arg1) #x70000000) - (shl #x8000 16) - 0 - ) - ) - ) + (set! (-> arg0 tadr) (logior (logand #xfffffff arg1) (if (= (logand #x70000000 arg1) #x70000000) + (shl #x8000 16) + 0 + ) + ) + ) (.sync.l) - (set! - (-> arg0 chcr) - (new 'static 'dma-chcr :dir #x1 :mod #x1 :tte #x1 :str #x1) - ) + (set! (-> arg0 chcr) (new 'static 'dma-chcr :dir #x1 :mod #x1 :tte #x1 :str #x1)) (.sync.l) 0 (none) @@ -87,14 +80,12 @@ (flush-cache 0) (.sync.l) (set! (-> arg0 qwc) (the-as uint 0)) - (set! - (-> arg0 tadr) - (logior (logand #xfffffff arg1) (if (= (logand #x70000000 arg1) #x70000000) - (shl #x8000 16) - 0 - ) - ) - ) + (set! (-> arg0 tadr) (logior (logand #xfffffff arg1) (if (= (logand #x70000000 arg1) #x70000000) + (shl #x8000 16) + 0 + ) + ) + ) (.sync.l) (set! (-> arg0 chcr) (new 'static 'dma-chcr :dir #x1 :mod #x1 :str #x1)) (.sync.l) @@ -111,19 +102,14 @@ (dma-sync (the-as pointer arg0) 0 0) (.sync.l) (set! (-> arg0 qwc) (the-as uint 0)) - (set! - (-> arg0 tadr) - (logior (logand #xfffffff arg1) (if (= (logand #x70000000 arg1) #x70000000) - (shl #x8000 16) - 0 - ) - ) - ) + (set! (-> arg0 tadr) (logior (logand #xfffffff arg1) (if (= (logand #x70000000 arg1) #x70000000) + (shl #x8000 16) + 0 + ) + ) + ) (.sync.l) - (set! - (-> arg0 chcr) - (new 'static 'dma-chcr :dir #x1 :mod #x1 :tte #x1 :str #x1) - ) + (set! (-> arg0 chcr) (new 'static 'dma-chcr :dir #x1 :mod #x1 :tte #x1 :str #x1)) (.sync.l) 0 (none) @@ -136,19 +122,19 @@ ;; WARN: Unsupported inline assembly instruction kind - [sync.l] (defun dma-send-to-spr ((sadr uint) (madr uint) (qwc uint) (sync symbol)) (let ((s5-0 (the-as dma-bank-spr #x1000d400))) - (dma-sync (the-as pointer s5-0) 0 0) - (flush-cache 0) - (.sync.l) - (set! (-> s5-0 madr) (logand #xfffffff madr)) - (set! (-> s5-0 sadr) (logand #xfffffff sadr)) - (set! (-> s5-0 qwc) qwc) - (.sync.l) - (set! (-> s5-0 chcr) (new 'static 'dma-chcr :str #x1)) - (.sync.l) - (if sync (dma-sync (the-as pointer s5-0) 0 0) + (flush-cache 0) + (.sync.l) + (set! (-> s5-0 madr) (logand #xfffffff madr)) + (set! (-> s5-0 sadr) (logand #xfffffff sadr)) + (set! (-> s5-0 qwc) qwc) + (.sync.l) + (set! (-> s5-0 chcr) (new 'static 'dma-chcr :str #x1)) + (.sync.l) + (if sync + (dma-sync (the-as pointer s5-0) 0 0) + ) ) - ) 0 (none) ) @@ -158,22 +144,20 @@ ;; WARN: Unsupported inline assembly instruction kind - [sync.l] ;; WARN: Unsupported inline assembly instruction kind - [sync.l] ;; WARN: Unsupported inline assembly instruction kind - [sync.l] -(defun - dma-send-to-spr-no-flush - ((sadr uint) (madr uint) (qwc uint) (sync symbol)) +(defun dma-send-to-spr-no-flush ((sadr uint) (madr uint) (qwc uint) (sync symbol)) (let ((s5-0 (the-as dma-bank-spr #x1000d400))) - (dma-sync (the-as pointer s5-0) 0 0) - (.sync.l) - (set! (-> s5-0 madr) (logand #xfffffff madr)) - (set! (-> s5-0 sadr) (logand #xfffffff sadr)) - (set! (-> s5-0 qwc) qwc) - (.sync.l) - (set! (-> s5-0 chcr) (new 'static 'dma-chcr :str #x1)) - (.sync.l) - (if sync (dma-sync (the-as pointer s5-0) 0 0) + (.sync.l) + (set! (-> s5-0 madr) (logand #xfffffff madr)) + (set! (-> s5-0 sadr) (logand #xfffffff sadr)) + (set! (-> s5-0 qwc) qwc) + (.sync.l) + (set! (-> s5-0 chcr) (new 'static 'dma-chcr :str #x1)) + (.sync.l) + (if sync + (dma-sync (the-as pointer s5-0) 0 0) + ) ) - ) 0 (none) ) @@ -185,19 +169,19 @@ ;; WARN: Unsupported inline assembly instruction kind - [sync.l] (defun dma-send-from-spr ((madr uint) (sadr uint) (qwc uint) (sync symbol)) (let ((s5-0 (the-as dma-bank-spr #x1000d000))) - (dma-sync (the-as pointer s5-0) 0 0) - (flush-cache 0) - (.sync.l) - (set! (-> s5-0 madr) (logand #xfffffff madr)) - (set! (-> s5-0 sadr) (logand #xfffffff sadr)) - (set! (-> s5-0 qwc) qwc) - (.sync.l) - (set! (-> s5-0 chcr) (new 'static 'dma-chcr :str #x1)) - (.sync.l) - (if sync (dma-sync (the-as pointer s5-0) 0 0) + (flush-cache 0) + (.sync.l) + (set! (-> s5-0 madr) (logand #xfffffff madr)) + (set! (-> s5-0 sadr) (logand #xfffffff sadr)) + (set! (-> s5-0 qwc) qwc) + (.sync.l) + (set! (-> s5-0 chcr) (new 'static 'dma-chcr :str #x1)) + (.sync.l) + (if sync + (dma-sync (the-as pointer s5-0) 0 0) + ) ) - ) 0 (none) ) @@ -207,22 +191,20 @@ ;; WARN: Unsupported inline assembly instruction kind - [sync.l] ;; WARN: Unsupported inline assembly instruction kind - [sync.l] ;; WARN: Unsupported inline assembly instruction kind - [sync.l] -(defun - dma-send-from-spr-no-flush - ((madr uint) (sadr uint) (qwc uint) (sync symbol)) +(defun dma-send-from-spr-no-flush ((madr uint) (sadr uint) (qwc uint) (sync symbol)) (let ((s5-0 (the-as dma-bank-spr #x1000d000))) - (dma-sync (the-as pointer s5-0) 0 0) - (.sync.l) - (set! (-> s5-0 madr) (logand #xfffffff madr)) - (set! (-> s5-0 sadr) (logand #xfffffff sadr)) - (set! (-> s5-0 qwc) qwc) - (.sync.l) - (set! (-> s5-0 chcr) (new 'static 'dma-chcr :str #x1)) - (.sync.l) - (if sync (dma-sync (the-as pointer s5-0) 0 0) + (.sync.l) + (set! (-> s5-0 madr) (logand #xfffffff madr)) + (set! (-> s5-0 sadr) (logand #xfffffff sadr)) + (set! (-> s5-0 qwc) qwc) + (.sync.l) + (set! (-> s5-0 chcr) (new 'static 'dma-chcr :str #x1)) + (.sync.l) + (if sync + (dma-sync (the-as pointer s5-0) 0 0) + ) ) - ) 0 (none) ) @@ -240,10 +222,10 @@ ;; INFO: Return type mismatch int vs none. (defun clear-vu0-mem () (let ((v1-0 (the-as (pointer uint32) #x11004000))) - (dotimes (a0-0 1024) - (set! (-> v1-0 a0-0) (the-as uint #xabadbeef)) + (dotimes (a0-0 1024) + (set! (-> v1-0 a0-0) (the-as uint #xabadbeef)) + ) ) - ) 0 (none) ) @@ -252,10 +234,10 @@ ;; INFO: Return type mismatch int vs none. (defun clear-vu1-mem () (let ((v1-0 (the-as (pointer uint32) #x1100c000))) - (dotimes (a0-0 4096) - (set! (-> v1-0 a0-0) (the-as uint #xabadbeef)) + (dotimes (a0-0 4096) + (set! (-> v1-0 a0-0) (the-as uint #xabadbeef)) + ) ) - ) 0 (none) ) @@ -264,54 +246,54 @@ ;; INFO: Return type mismatch symbol vs none. (defun dump-vu1-mem () (let ((gp-0 (the-as (pointer uint32) #x1100c000))) - (dotimes (s5-0 1024) - (format - 0 - "~4,'0X: ~8,'0X ~8,'0X ~8,'0X ~8,'0X" - s5-0 - (-> gp-0 (* s5-0 4)) - (-> gp-0 (+ (* s5-0 4) 1)) - (-> gp-0 (+ (* s5-0 4) 2)) - (-> gp-0 (+ (* s5-0 4) 3)) - ) - (format - 0 - " ~F ~F ~F ~F ~%" - (-> gp-0 (* s5-0 4)) - (-> gp-0 (+ (* s5-0 4) 1)) - (-> gp-0 (+ (* s5-0 4) 2)) - (-> gp-0 (+ (* s5-0 4) 3)) - ) + (dotimes (s5-0 1024) + (format + 0 + "~4,'0X: ~8,'0X ~8,'0X ~8,'0X ~8,'0X" + s5-0 + (-> gp-0 (* s5-0 4)) + (-> gp-0 (+ (* s5-0 4) 1)) + (-> gp-0 (+ (* s5-0 4) 2)) + (-> gp-0 (+ (* s5-0 4) 3)) + ) + (format + 0 + " ~F ~F ~F ~F ~%" + (-> gp-0 (* s5-0 4)) + (-> gp-0 (+ (* s5-0 4) 1)) + (-> gp-0 (+ (* s5-0 4) 2)) + (-> gp-0 (+ (* s5-0 4) 3)) + ) + ) ) - ) (none) ) ;; definition for function dump-vu1-range (defun dump-vu1-range ((start uint) (total-count uint)) (let ((s4-0 (the-as (pointer uint32) #x1100c000))) - (dotimes (s3-0 (the-as int total-count)) - (let ((s2-0 (+ s3-0 start))) - (format - 0 - "~4,'0X: ~8x ~8x ~8x ~8x" - s2-0 - (-> s4-0 (* s2-0 4)) - (-> s4-0 (+ (* s2-0 4) 1)) - (-> s4-0 (+ (* s2-0 4) 2)) - (-> s4-0 (+ (* s2-0 4) 3)) + (dotimes (s3-0 (the-as int total-count)) + (let ((s2-0 (+ s3-0 start))) + (format + 0 + "~4,'0X: ~8x ~8x ~8x ~8x" + s2-0 + (-> s4-0 (* s2-0 4)) + (-> s4-0 (+ (* s2-0 4) 1)) + (-> s4-0 (+ (* s2-0 4) 2)) + (-> s4-0 (+ (* s2-0 4) 3)) + ) + (format + 0 + " ~F ~F ~F ~F ~%" + (-> s4-0 (* s2-0 4)) + (-> s4-0 (+ (* s2-0 4) 1)) + (-> s4-0 (+ (* s2-0 4) 2)) + (-> s4-0 (+ (* s2-0 4) 3)) + ) + ) ) - (format - 0 - " ~F ~F ~F ~F ~%" - (-> s4-0 (* s2-0 4)) - (-> s4-0 (+ (* s2-0 4) 1)) - (-> s4-0 (+ (* s2-0 4) 2)) - (-> s4-0 (+ (* s2-0 4) 3)) - ) - ) ) - ) #f ) @@ -342,35 +324,35 @@ (spr-from-bank (the-as dma-bank-spr #x1000d000)) (qwc-remaining (shr size-bytes 4)) ) - (flush-cache 0) - (dma-sync (the-as pointer spr-to-bank) 0 0) - (dma-sync (the-as pointer spr-from-bank) 0 0) - (while (> qwc-remaining 0) - (let ((qwc-transferred-now (the-as int qwc-remaining))) - (if (< (the-as uint 1024) (the-as uint qwc-transferred-now)) - (set! qwc-transferred-now 1024) + (flush-cache 0) + (dma-sync (the-as pointer spr-to-bank) 0 0) + (dma-sync (the-as pointer spr-from-bank) 0 0) + (while (> qwc-remaining 0) + (let ((qwc-transferred-now (the-as int qwc-remaining))) + (if (< (the-as uint 1024) (the-as uint qwc-transferred-now)) + (set! qwc-transferred-now 1024) + ) + (set! qwc-remaining (- qwc-remaining (the-as uint qwc-transferred-now))) + (.sync.l) + (set! (-> spr-to-bank madr) (the-as uint src)) + (set! (-> spr-to-bank sadr) (the-as uint 0)) + (set! (-> spr-to-bank qwc) (the-as uint qwc-transferred-now)) + (.sync.l) + (set! (-> spr-to-bank chcr) (new 'static 'dma-chcr :str #x1)) + (.sync.l) + (dma-sync (the-as pointer spr-to-bank) 0 0) + (&+! src (* qwc-transferred-now 16)) + (set! (-> spr-from-bank madr) (the-as uint dst)) + (set! (-> spr-from-bank sadr) (the-as uint 0)) + (set! (-> spr-from-bank qwc) (the-as uint qwc-transferred-now)) + (.sync.l) + (set! (-> spr-from-bank chcr) (new 'static 'dma-chcr :str #x1)) + (.sync.l) + (dma-sync (the-as pointer spr-from-bank) 0 0) + (&+! dst (* qwc-transferred-now 16)) + ) ) - (set! qwc-remaining (- qwc-remaining (the-as uint qwc-transferred-now))) - (.sync.l) - (set! (-> spr-to-bank madr) (the-as uint src)) - (set! (-> spr-to-bank sadr) (the-as uint 0)) - (set! (-> spr-to-bank qwc) (the-as uint qwc-transferred-now)) - (.sync.l) - (set! (-> spr-to-bank chcr) (new 'static 'dma-chcr :str #x1)) - (.sync.l) - (dma-sync (the-as pointer spr-to-bank) 0 0) - (&+! src (* qwc-transferred-now 16)) - (set! (-> spr-from-bank madr) (the-as uint dst)) - (set! (-> spr-from-bank sadr) (the-as uint 0)) - (set! (-> spr-from-bank qwc) (the-as uint qwc-transferred-now)) - (.sync.l) - (set! (-> spr-from-bank chcr) (new 'static 'dma-chcr :str #x1)) - (.sync.l) - (dma-sync (the-as pointer spr-from-bank) 0 0) - (&+! dst (* qwc-transferred-now 16)) - ) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/draw/draw-node_REF.gc b/test/decompiler/reference/engine/draw/draw-node_REF.gc index 6f75fc90fa..c571797a48 100644 --- a/test/decompiler/reference/engine/draw/draw-node_REF.gc +++ b/test/decompiler/reference/engine/draw/draw-node_REF.gc @@ -3,32 +3,26 @@ ;; definition for method 11 of type draw-node ;; INFO: Return type mismatch int vs none. -(defmethod - collide-with-box - draw-node - ((obj draw-node) (arg0 int) (arg1 collide-list)) +(defmethod collide-with-box draw-node ((obj draw-node) (arg0 int) (arg1 collide-list)) (dotimes (s3-0 arg0) - (if (collide-cache-using-box-test (-> obj bsphere)) - (collide-with-box (-> obj child) (the-as int (-> obj child-count)) arg1) + (if (collide-cache-using-box-test (-> obj bsphere)) + (collide-with-box (-> obj child) (the-as int (-> obj child-count)) arg1) + ) + (&+! obj 32) ) - (&+! obj 32) - ) 0 (none) ) ;; definition for method 12 of type draw-node ;; INFO: Return type mismatch int vs none. -(defmethod - collide-y-probe - draw-node - ((obj draw-node) (arg0 int) (arg1 collide-list)) +(defmethod collide-y-probe draw-node ((obj draw-node) (arg0 int) (arg1 collide-list)) (dotimes (s3-0 arg0) - (if (collide-cache-using-y-probe-test (-> obj bsphere)) - (collide-y-probe (-> obj child) (the-as int (-> obj child-count)) arg1) + (if (collide-cache-using-y-probe-test (-> obj bsphere)) + (collide-y-probe (-> obj child) (the-as int (-> obj child-count)) arg1) + ) + (&+! obj 32) ) - (&+! obj 32) - ) 0 (none) ) @@ -37,32 +31,24 @@ ;; INFO: Return type mismatch int vs none. (defmethod collide-ray draw-node ((obj draw-node) (arg0 int) (arg1 collide-list)) (dotimes (s3-0 arg0) - (if (collide-cache-using-line-sphere-test (-> obj bsphere)) - (collide-ray (-> obj child) (the-as int (-> obj child-count)) arg1) + (if (collide-cache-using-line-sphere-test (-> obj bsphere)) + (collide-ray (-> obj child) (the-as int (-> obj child-count)) arg1) + ) + (&+! obj 32) ) - (&+! obj 32) - ) 0 (none) ) ;; definition for method 17 of type draw-node ;; INFO: Return type mismatch int vs none. -(defmethod - collect-ambients - draw-node - ((obj draw-node) (arg0 sphere) (arg1 int) (arg2 ambient-list)) +(defmethod collect-ambients draw-node ((obj draw-node) (arg0 sphere) (arg1 int) (arg2 ambient-list)) (dotimes (s2-0 arg1) - (if (spheres-overlap? arg0 (the-as sphere (-> obj bsphere))) - (collect-ambients - (-> obj child) - arg0 - (the-as int (-> obj child-count)) - arg2 - ) + (if (spheres-overlap? arg0 (the-as sphere (-> obj bsphere))) + (collect-ambients (-> obj child) arg0 (the-as int (-> obj child-count)) arg2) + ) + (&+! obj 32) ) - (&+! obj 32) - ) 0 (none) ) @@ -73,41 +59,32 @@ (format #t "~Tlength: ~D~%" (-> obj length)) (format #t "~Tdata[~D]: @ #x~X~%" (-> obj length) (-> obj data)) (dotimes (s5-0 (-> obj length)) - (format #t "~T [~D] ~A~%" s5-0 (-> obj data s5-0)) - ) + (format #t "~T [~D] ~A~%" s5-0 (-> obj data s5-0)) + ) obj ) ;; definition for method 8 of type drawable-inline-array-node -(defmethod - mem-usage - drawable-inline-array-node - ((obj drawable-inline-array-node) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage drawable-inline-array-node ((obj drawable-inline-array-node) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 62 (-> arg0 length))) (set! (-> arg0 data 61 name) "draw-node") (+! (-> arg0 data 61 count) (-> obj length)) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 61 used) v1-6) - (+! (-> arg0 data 61 total) (logand -16 (+ v1-6 15))) - ) + (+! (-> arg0 data 61 used) v1-6) + (+! (-> arg0 data 61 total) (logand -16 (+ v1-6 15))) + ) obj ) ;; definition for method 5 of type drawable-inline-array-node ;; INFO: Return type mismatch uint vs int. (defmethod asize-of drawable-inline-array-node ((obj drawable-inline-array-node)) - (the-as - int - (+ (-> drawable-inline-array-node size) (* (+ (-> obj length) -1) 32)) - ) + (the-as int (+ (-> drawable-inline-array-node size) (* (+ (-> obj length) -1) 32))) ) ;; definition for method 11 of type drawable-inline-array-node ;; INFO: Return type mismatch int vs none. -(defmethod - collide-with-box - drawable-inline-array-node - ((obj drawable-inline-array-node) (arg0 int) (arg1 collide-list)) +(defmethod collide-with-box drawable-inline-array-node ((obj drawable-inline-array-node) (arg0 int) (arg1 collide-list)) (collide-with-box (the-as drawable (-> obj data)) (-> obj length) arg1) 0 (none) @@ -115,10 +92,7 @@ ;; definition for method 12 of type drawable-inline-array-node ;; INFO: Return type mismatch int vs none. -(defmethod - collide-y-probe - drawable-inline-array-node - ((obj drawable-inline-array-node) (arg0 int) (arg1 collide-list)) +(defmethod collide-y-probe drawable-inline-array-node ((obj drawable-inline-array-node) (arg0 int) (arg1 collide-list)) (collide-y-probe (the-as drawable (-> obj data)) (-> obj length) arg1) 0 (none) @@ -126,10 +100,7 @@ ;; definition for method 13 of type drawable-inline-array-node ;; INFO: Return type mismatch int vs none. -(defmethod - collide-ray - drawable-inline-array-node - ((obj drawable-inline-array-node) (arg0 int) (arg1 collide-list)) +(defmethod collide-ray drawable-inline-array-node ((obj drawable-inline-array-node) (arg0 int) (arg1 collide-list)) (collide-ray (the-as drawable (-> obj data)) (-> obj length) arg1) 0 (none) @@ -137,14 +108,7 @@ ;; definition for method 17 of type drawable-inline-array-node ;; INFO: Return type mismatch int vs none. -(defmethod - collect-ambients - drawable-inline-array-node - ((obj drawable-inline-array-node) - (arg0 sphere) - (arg1 int) - (arg2 ambient-list) - ) +(defmethod collect-ambients drawable-inline-array-node ((obj drawable-inline-array-node) (arg0 sphere) (arg1 int) (arg2 ambient-list)) (collect-ambients (the-as drawable (-> obj data)) arg0 (-> obj length) arg2) 0 (none) diff --git a/test/decompiler/reference/engine/draw/drawable-actor-h_REF.gc b/test/decompiler/reference/engine/draw/drawable-actor-h_REF.gc index 6e8b7cbc9d..66ae515de2 100644 --- a/test/decompiler/reference/engine/draw/drawable-actor-h_REF.gc +++ b/test/decompiler/reference/engine/draw/drawable-actor-h_REF.gc @@ -39,10 +39,7 @@ ;; definition for method 10 of type drawable-tree-actor ;; INFO: Return type mismatch int vs none. -(defmethod - draw - drawable-tree-actor - ((obj drawable-tree-actor) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-tree-actor ((obj drawable-tree-actor) (arg0 drawable) (arg1 display-frame)) 0 (none) ) diff --git a/test/decompiler/reference/engine/draw/drawable-ambient-h_REF.gc b/test/decompiler/reference/engine/draw/drawable-ambient-h_REF.gc index 5f150371eb..82787864a0 100644 --- a/test/decompiler/reference/engine/draw/drawable-ambient-h_REF.gc +++ b/test/decompiler/reference/engine/draw/drawable-ambient-h_REF.gc @@ -42,19 +42,13 @@ ;; definition for method 10 of type drawable-tree-ambient ;; INFO: Return type mismatch int vs none. -(defmethod - draw - drawable-tree-ambient - ((obj drawable-tree-ambient) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-tree-ambient ((obj drawable-tree-ambient) (arg0 drawable) (arg1 display-frame)) 0 (none) ) ;; definition for method 16 of type drawable-tree-ambient -(defmethod - dummy-16 - drawable-tree-ambient - ((obj drawable-tree-ambient) (arg0 object) (arg1 object)) +(defmethod dummy-16 drawable-tree-ambient ((obj drawable-tree-ambient) (arg0 object) (arg1 object)) arg1 ) @@ -90,8 +84,8 @@ ;; definition for method 3 of type level-hint (defmethod inspect level-hint ((obj level-hint)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttext-id-to-display: ~D~%" (-> obj text-id-to-display)) (format #t "~T~Tsound-to-play: ~A~%" (-> obj sound-to-play)) (format #t "~T~Ttrans: #~%" (-> obj trans)) diff --git a/test/decompiler/reference/engine/draw/drawable-group_REF.gc b/test/decompiler/reference/engine/draw/drawable-group_REF.gc index 85933b91ed..49eab4460c 100644 --- a/test/decompiler/reference/engine/draw/drawable-group_REF.gc +++ b/test/decompiler/reference/engine/draw/drawable-group_REF.gc @@ -2,22 +2,11 @@ (in-package goal) ;; definition for method 0 of type drawable-group -(defmethod - new - drawable-group - ((allocation symbol) (type-to-make type) (arg0 int)) - (let - ((v0-0 - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* (+ arg0 -1) 4))) - ) - ) +(defmethod new drawable-group ((allocation symbol) (type-to-make type) (arg0 int)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) (* (+ arg0 -1) 4)))))) + (set! (-> v0-0 length) arg0) + v0-0 ) - (set! (-> v0-0 length) arg0) - v0-0 - ) ) ;; definition for method 3 of type drawable-group @@ -27,8 +16,8 @@ (format #t "~Tlength: ~D~%" (-> obj length)) (format #t "~Tdata[~D]: @ #x~X~%" (-> obj length) (-> obj data)) (dotimes (s5-0 (-> obj length)) - (format #t "~T [~D] ~A~%" s5-0 (-> obj data s5-0)) - ) + (format #t "~T [~D] ~A~%" s5-0 (-> obj data s5-0)) + ) obj ) @@ -36,8 +25,8 @@ (defmethod print drawable-group ((obj drawable-group)) (format #t "#<~A @ #x~X [~D]" (-> obj type) obj (-> obj length)) (dotimes (s5-0 (-> obj length)) - (format #t " ~A" (-> obj data s5-0)) - ) + (format #t " ~A" (-> obj data s5-0)) + ) (format #t ">") obj ) @@ -54,44 +43,38 @@ ) ;; definition for method 8 of type drawable-group -(defmethod - mem-usage - drawable-group - ((obj drawable-group) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage drawable-group ((obj drawable-group) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 1 (-> arg0 length))) (set! (-> arg0 data 0 name) "drawable-group") (+! (-> arg0 data 0 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 0 used) v1-6) - (+! (-> arg0 data 0 total) (logand -16 (+ v1-6 15))) - ) + (+! (-> arg0 data 0 used) v1-6) + (+! (-> arg0 data 0 total) (logand -16 (+ v1-6 15))) + ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj data s3-0) arg0 arg1) - ) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) obj ) ;; definition for method 9 of type drawable-group (defmethod login drawable-group ((obj drawable-group)) (dotimes (s5-0 (-> obj length)) - (login (-> obj data s5-0)) - ) + (login (-> obj data s5-0)) + ) obj ) ;; definition for method 10 of type drawable-group ;; INFO: Return type mismatch int vs none. -(defmethod - draw - drawable-group - ((obj drawable-group) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-group ((obj drawable-group) (arg0 drawable) (arg1 display-frame)) (when (vis-cull (-> obj id)) - (when (sphere-cull (-> obj bsphere)) - (dotimes (s3-0 (-> obj length)) - (draw (-> obj data s3-0) (-> (the-as drawable-group arg0) data s3-0) arg1) - ) + (when (sphere-cull (-> obj bsphere)) + (dotimes (s3-0 (-> obj length)) + (draw (-> obj data s3-0) (-> (the-as drawable-group arg0) data s3-0) arg1) + ) + ) ) - ) 0 (none) ) @@ -100,44 +83,34 @@ ;; INFO: Return type mismatch int vs none. (defmethod collect-stats drawable-group ((obj drawable-group)) (when (vis-cull (-> obj id)) - (when (sphere-cull (-> obj bsphere)) - (dotimes (s5-0 (-> obj length)) - (collect-stats (-> obj data s5-0)) - ) + (when (sphere-cull (-> obj bsphere)) + (dotimes (s5-0 (-> obj length)) + (collect-stats (-> obj data s5-0)) + ) + ) ) - ) 0 (none) ) ;; definition for method 15 of type drawable-group ;; INFO: Return type mismatch int vs none. -(defmethod - debug-draw - drawable-group - ((obj drawable-group) (arg0 drawable) (arg1 display-frame)) +(defmethod debug-draw drawable-group ((obj drawable-group) (arg0 drawable) (arg1 display-frame)) (when (vis-cull (-> obj id)) - (when (sphere-cull (-> obj bsphere)) - (dotimes (s3-0 (-> obj length)) - (debug-draw - (-> obj data s3-0) - (-> (the-as drawable-group arg0) data s3-0) - arg1 + (when (sphere-cull (-> obj bsphere)) + (dotimes (s3-0 (-> obj length)) + (debug-draw (-> obj data s3-0) (-> (the-as drawable-group arg0) data s3-0) arg1) + ) ) - ) ) - ) 0 (none) ) ;; definition for method 16 of type drawable-group -(defmethod - dummy-16 - drawable-group - ((obj drawable-group) (arg0 object) (arg1 object)) +(defmethod dummy-16 drawable-group ((obj drawable-group) (arg0 object) (arg1 object)) (dotimes (s4-0 (-> obj length)) - (set! arg1 (dummy-16 (-> obj data s4-0) arg0 arg1)) - ) + (set! arg1 (dummy-16 (-> obj data s4-0) arg0 arg1)) + ) arg1 ) diff --git a/test/decompiler/reference/engine/draw/drawable-inline-array_REF.gc b/test/decompiler/reference/engine/draw/drawable-inline-array_REF.gc index 69ee179e68..b270655c7c 100644 --- a/test/decompiler/reference/engine/draw/drawable-inline-array_REF.gc +++ b/test/decompiler/reference/engine/draw/drawable-inline-array_REF.gc @@ -13,10 +13,7 @@ ;; definition for method 10 of type drawable-inline-array ;; INFO: Return type mismatch int vs none. -(defmethod - draw - drawable-inline-array - ((obj drawable-inline-array) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-inline-array ((obj drawable-inline-array) (arg0 drawable) (arg1 display-frame)) 0 (none) ) @@ -30,10 +27,7 @@ ;; definition for method 15 of type drawable-inline-array ;; INFO: Return type mismatch int vs none. -(defmethod - debug-draw - drawable-inline-array - ((obj drawable-inline-array) (arg0 drawable) (arg1 display-frame)) +(defmethod debug-draw drawable-inline-array ((obj drawable-inline-array) (arg0 drawable) (arg1 display-frame)) 0 (none) ) diff --git a/test/decompiler/reference/engine/draw/process-drawable-h_REF.gc b/test/decompiler/reference/engine/draw/process-drawable-h_REF.gc index f34b19b7c4..794616cb21 100644 --- a/test/decompiler/reference/engine/draw/process-drawable-h_REF.gc +++ b/test/decompiler/reference/engine/draw/process-drawable-h_REF.gc @@ -5,34 +5,34 @@ ;; INFO: Return type mismatch object vs cspace. (defun cspace-by-name-no-fail ((arg0 process-drawable) (arg1 string)) (let ((result (cspace-by-name arg0 arg1))) - (the-as cspace (cond - (result - (empty) - result - ) - (else - (format 0 "no cspace (~A)~%" arg1) - (the-as cspace (-> arg0 node-list data)) - ) - ) + (the-as cspace (cond + (result + (empty) + result + ) + (else + (format 0 "no cspace (~A)~%" arg1) + (the-as cspace (-> arg0 node-list data)) + ) + ) + ) ) - ) ) ;; definition for function cspace-index-by-name-no-fail (defun cspace-index-by-name-no-fail ((arg0 process-drawable) (arg1 string)) (let ((v0-0 (cspace-index-by-name arg0 arg1))) - (cond - ((< v0-0 0) - (format 0 "no cspace[ndx] (~A)~%" arg1) - 0 - ) - (else - (empty) - v0-0 - ) + (cond + ((< v0-0 0) + (format 0 "no cspace[ndx] (~A)~%" arg1) + 0 + ) + (else + (empty) + v0-0 + ) + ) ) - ) ) ;; definition for function num-func-none @@ -42,113 +42,68 @@ ;; definition for function num-func-+! (defun num-func-+! ((arg0 joint-control-channel) (arg1 float) (arg2 float)) - (let - ((f0-1 - (+ - (-> arg0 frame-num) - (* arg1 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio))) - ) - ) + (let ((f0-1 (+ (-> arg0 frame-num) (* arg1 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio)))))) + (set! (-> arg0 frame-num) f0-1) + f0-1 ) - (set! (-> arg0 frame-num) f0-1) - f0-1 - ) ) ;; definition for function num-func--! (defun num-func--! ((arg0 joint-control-channel) (arg1 float) (arg2 float)) - (let - ((f0-1 - (- - (-> arg0 frame-num) - (* arg1 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio))) - ) - ) + (let ((f0-1 (- (-> arg0 frame-num) (* arg1 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio)))))) + (set! (-> arg0 frame-num) f0-1) + f0-1 ) - (set! (-> arg0 frame-num) f0-1) - f0-1 - ) ) ;; definition for function num-func-loop! (defun num-func-loop! ((chan joint-control-channel) (inc float) (arg2 float)) (let* ((duration (the float (+ (-> chan frame-group data 0 length) -1))) (after-inc - (+ - (-> chan frame-num) - duration - (* - inc - (* (-> chan frame-group speed) (-> *display* time-adjust-ratio)) - ) + (+ (-> chan frame-num) duration (* inc (* (-> chan frame-group speed) (-> *display* time-adjust-ratio)))) ) - ) - (wrapped - (- - after-inc - (* (the float (the int (/ after-inc duration))) duration) - ) - ) + (wrapped (- after-inc (* (the float (the int (/ after-inc duration))) duration))) ) - (set! (-> chan frame-num) wrapped) - wrapped - ) + (set! (-> chan frame-num) wrapped) + wrapped + ) ) ;; definition for function num-func-seek! (defun num-func-seek! ((arg0 joint-control-channel) (arg1 float) (arg2 float)) - (let - ((f0-3 - (seek - (-> arg0 frame-num) - arg1 - (* arg2 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio))) - ) - ) + (let ((f0-3 + (seek (-> arg0 frame-num) arg1 (* arg2 (* (-> arg0 frame-group speed) (-> *display* time-adjust-ratio)))) + ) + ) + (set! (-> arg0 frame-num) f0-3) + (set! (-> arg0 frame-num) f0-3) + f0-3 ) - (set! (-> arg0 frame-num) f0-3) - (set! (-> arg0 frame-num) f0-3) - f0-3 - ) ) ;; definition for function num-func-blend-in! -(defun - num-func-blend-in! - ((arg0 joint-control-channel) (arg1 float) (arg2 float)) - (let - ((f30-0 - (seek (-> arg0 frame-interp) 1.0 (* arg1 (-> *display* time-adjust-ratio))) - ) +(defun num-func-blend-in! ((arg0 joint-control-channel) (arg1 float) (arg2 float)) + (let ((f30-0 (seek (-> arg0 frame-interp) 1.0 (* arg1 (-> *display* time-adjust-ratio))))) + (set! (-> arg0 frame-interp) f30-0) + (set! (-> arg0 frame-interp) f30-0) + (if (= f30-0 1.0) + (joint-control-reset! (-> arg0 parent) arg0) + ) + f30-0 ) - (set! (-> arg0 frame-interp) f30-0) - (set! (-> arg0 frame-interp) f30-0) - (if (= f30-0 1.0) - (joint-control-reset! (-> arg0 parent) arg0) - ) - f30-0 - ) ) ;; definition for function num-func-chan (defun num-func-chan ((arg0 joint-control-channel) (arg1 float) (arg2 float)) - (let - ((f0-2 - (-> - (the-as - joint-control-channel - (+ - (the-as uint arg0) - (* 48 (- (the int arg1) (-> arg0 group-sub-index))) + (let ((f0-2 + (-> (the-as joint-control-channel (+ (the-as uint arg0) (* 48 (- (the int arg1) (-> arg0 group-sub-index))))) + frame-num + ) + ) ) - ) - frame-num - ) - ) + (set! (-> arg0 frame-num) f0-2) + f0-2 ) - (set! (-> arg0 frame-num) f0-2) - f0-2 - ) ) ;; definition for function num-func-identity diff --git a/test/decompiler/reference/engine/draw/process-drawable_REF.gc b/test/decompiler/reference/engine/draw/process-drawable_REF.gc index 2c3e3bb6e4..6c9c678155 100644 --- a/test/decompiler/reference/engine/draw/process-drawable_REF.gc +++ b/test/decompiler/reference/engine/draw/process-drawable_REF.gc @@ -7,14 +7,14 @@ (s3-0 0) (s2-0 (-> arg0 node-list data s3-0)) ) - (while (< s3-0 s4-0) - (if (and (-> s2-0 joint) (name= (-> s2-0 joint name) arg1)) - (return s2-0) - ) - (+! s3-0 1) - (set! s2-0 (-> arg0 node-list data s3-0)) + (while (< s3-0 s4-0) + (if (and (-> s2-0 joint) (name= (-> s2-0 joint name) arg1)) + (return s2-0) + ) + (+! s3-0 1) + (set! s2-0 (-> arg0 node-list data s3-0)) + ) ) - ) (the-as cspace #f) ) @@ -25,15 +25,15 @@ (s2-0 0) (v1-3 (-> arg0 node-list data s2-0)) ) - (while (< s2-0 s3-0) - (if (and (-> v1-3 joint) (name= (-> v1-3 joint name) arg1)) - (return s4-0) - ) - (+! s4-0 1) - (+! s2-0 1) - (set! v1-3 (-> arg0 node-list data s2-0)) + (while (< s2-0 s3-0) + (if (and (-> v1-3 joint) (name= (-> v1-3 joint name) arg1)) + (return s4-0) + ) + (+! s4-0 1) + (+! s2-0 1) + (set! v1-3 (-> arg0 node-list data s2-0)) + ) ) - ) -1 ) @@ -43,17 +43,17 @@ (vf0 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (.lvf vf2 (&-> (-> arg1 bone) transform vector 3 quad)) - (.div.vf Q vf0 vf2 :fsf #b11 :ftf #b11) - (.wait.vf) - (.mul.vf vf2 vf2 Q :mask #b111) - (.nop.vf) - (.nop.vf) - (.mov.vf vf2 vf0 :mask #b1000) - (.svf (&-> arg0 quad) vf2) - arg0 - ) + (init-vf0-vector) + (.lvf vf2 (&-> (-> arg1 bone) transform vector 3 quad)) + (.div.vf Q vf0 vf2 :fsf #b11 :ftf #b11) + (.wait.vf) + (.mul.vf vf2 vf2 Q :mask #b111) + (.nop.vf) + (.nop.vf) + (.mov.vf vf2 vf0 :mask #b1000) + (.svf (&-> arg0 quad) vf2) + arg0 + ) ) ;; definition for function vector<-cspace+vector! @@ -64,44 +64,37 @@ ;; definition (debug) for function cspace-children (defun-debug cspace-children ((arg0 process-drawable) (arg1 int)) (let ((a3-0 '())) - (countdown (s4-0 (-> arg0 node-list length)) - (if (= (-> arg0 node-list data s4-0 parent) arg1) - (set! a3-0 (cons (-> arg0 node-list data s4-0) a3-0)) - ) + (countdown (s4-0 (-> arg0 node-list length)) + (if (= (-> arg0 node-list data s4-0 parent) arg1) + (set! a3-0 (cons (-> arg0 node-list data s4-0) a3-0)) + ) + ) + a3-0 ) - a3-0 - ) ) ;; definition (debug) for function cspace-inspect-tree ;; ERROR: function was not converted to expressions. Cannot decompile. ;; definition for method 0 of type draw-control -(defmethod - new - draw-control - ((allocation symbol) (type-to-make type) (arg0 process) (arg1 art-joint-geo)) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new draw-control ((allocation symbol) (type-to-make type) (arg0 process) (arg1 art-joint-geo)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 jgeo) arg1) + (set! (-> v0-0 process) arg0) + v0-0 ) - (set! (-> v0-0 jgeo) arg1) - (set! (-> v0-0 process) arg0) - v0-0 - ) ) ;; definition for method 10 of type draw-control ;; INFO: Return type mismatch int vs none. (defmethod lod-set! draw-control ((obj draw-control) (arg0 int)) (let ((v1-1 (max 0 (min arg0 (-> obj lod-set max-lod))))) - (set! (-> obj desired-lod) v1-1) - (when (!= (-> obj cur-lod) v1-1) - (set! (-> obj mgeo) (-> obj lod-set lod v1-1 geo)) - (set! (-> obj cur-lod) v1-1) + (set! (-> obj desired-lod) v1-1) + (when (!= (-> obj cur-lod) v1-1) + (set! (-> obj mgeo) (-> obj lod-set lod v1-1 geo)) + (set! (-> obj cur-lod) v1-1) + ) ) - ) 0 (none) ) @@ -111,177 +104,132 @@ (defmethod lods-assign! draw-control ((obj draw-control) (arg0 lod-set)) (mem-copy! (the-as pointer (-> obj lod-set)) (the-as pointer arg0) 33) (let ((a1-2 (min (-> obj cur-lod) (-> obj lod-set max-lod)))) - (set! (-> obj cur-lod) -1) - (lod-set! obj a1-2) - ) + (set! (-> obj cur-lod) -1) + (lod-set! obj a1-2) + ) 0 (none) ) ;; definition for method 9 of type lod-set ;; Used lq/sq -(defmethod - dummy-9 - lod-set - ((obj lod-set) (arg0 skeleton-group) (arg1 art-group) (arg2 entity)) +(defmethod dummy-9 lod-set ((obj lod-set) (arg0 skeleton-group) (arg1 art-group) (arg2 entity)) (local-vars (sv-16 res-tag)) (let ((s4-0 arg0) (s5-0 arg1) ) - (let ((v1-0 (-> s5-0 length)) - (s3-0 (-> s4-0 max-lod)) - ) - (set! (-> obj max-lod) s3-0) - (dotimes (a0-1 (+ s3-0 1)) - (when (or (>= (-> s4-0 mgeo a0-1) v1-0) (begin - (set! - arg0 - (the-as - skeleton-group - (-> - s5-0 - data - (-> s4-0 mgeo a0-1) - ) - ) - ) - (!= - (-> - (the-as art-element arg0) - type - ) - merc-ctrl - ) - ) - ) - (set! obj (the-as lod-set #f)) - (goto cfg-16) - ) - (set! (-> obj lod a0-1 geo) (the-as merc-ctrl arg0)) - (set! (-> obj lod a0-1 dist) (-> s4-0 lod-dist a0-1)) - ) - (if (= (-> obj lod s3-0 dist) 4095996000.0) - (set! - (-> obj lod s3-0 dist) - (res-lump-float arg2 'vis-dist :default 4095996000.0) - ) - ) - ) - (let ((v1-13 (-> s5-0 data (-> s4-0 jgeo)))) - (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-14 - (res-lump-data (-> v1-13 extra) 'lod-dist pointer :tag-ptr (& sv-16)) - ) - ) - (when v1-14 - (dotimes (a0-6 (the-as int (-> sv-16 elt-count))) - (set! - (-> obj lod a0-6 dist) - (-> (the-as (pointer float) (&+ v1-14 (* a0-6 4)))) + (let ((v1-0 (-> s5-0 length)) + (s3-0 (-> s4-0 max-lod)) + ) + (set! (-> obj max-lod) s3-0) + (dotimes (a0-1 (+ s3-0 1)) + (when (or (>= (-> s4-0 mgeo a0-1) v1-0) (begin + (set! arg0 (the-as skeleton-group (-> s5-0 data (-> s4-0 mgeo a0-1)))) + (!= (-> (the-as art-element arg0) type) merc-ctrl) + ) + ) + (set! obj (the-as lod-set #f)) + (goto cfg-16) + ) + (set! (-> obj lod a0-1 geo) (the-as merc-ctrl arg0)) + (set! (-> obj lod a0-1 dist) (-> s4-0 lod-dist a0-1)) + ) + (if (= (-> obj lod s3-0 dist) 4095996000.0) + (set! (-> obj lod s3-0 dist) (res-lump-float arg2 'vis-dist :default 4095996000.0)) + ) + ) + (let ((v1-13 (-> s5-0 data (-> s4-0 jgeo)))) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-14 (res-lump-data (-> v1-13 extra) 'lod-dist pointer :tag-ptr (& sv-16)))) + (when v1-14 + (dotimes (a0-6 (the-as int (-> sv-16 elt-count))) + (set! (-> obj lod a0-6 dist) (-> (the-as (pointer float) (&+ v1-14 (* a0-6 4))))) + ) + ) ) - ) ) - ) ) - ) (label cfg-16) obj ) ;; definition for symbol *default-skel-template*, type pair -(define - *default-skel-template* - '( - (align root #f) (prejoint root cspace<-parented-matrix-joint!) - ) - ) +(define *default-skel-template* '((align root #f) (prejoint root cspace<-parented-matrix-joint!))) ;; definition for function make-nodes-from-jg -(defbehavior - make-nodes-from-jg process-drawable - ((arg0 art-joint-geo) (arg1 pair) (arg2 symbol)) - (let - ((gp-0 - ((method-of-type cspace-array new) - arg2 - cspace-array - (+ (-> arg0 length) 1) - ) - ) - ) - (let - ((v0-1 ((method-of-type skeleton new) arg2 skeleton (+ (-> arg0 length) 1))) - ) - (set! (-> self draw skeleton) v0-1) - (let ((s4-1 v0-1)) - (when (or (zero? gp-0) (zero? s4-1)) - (go process-drawable-art-error "memory") - (set! gp-0 (the-as cspace-array #f)) - (goto cfg-16) - ) - (let - ((v1-10 - ((method-of-type cspace dummy-9) (the-as cspace (-> gp-0 data)) #f) - ) - ) - (set! (-> v1-10 bone) (the-as bone (-> s4-1 bones))) - (let ((a0-6 (-> gp-0 data))) - (set! (-> a0-6 0 param0) cspace<-transformq!) - (set! (-> a0-6 0 param1) (the-as basic (-> self root trans))) - ) - (set! (-> v1-10 bone cache bone-matrix) (the-as uint 0)) - ) - 0 - (let ((v1-14 (dummy-9 (-> gp-0 data 1) #f))) - (set! (-> v1-14 joint) (-> arg0 data 0)) - (set! (-> v1-14 bone) (-> s4-1 bones 1)) - (set! (-> v1-14 parent) (the-as cspace (-> gp-0 data))) - (set! (-> v1-14 bone cache bone-matrix) (the-as uint 128)) - ) - (let ((v1-17 (dummy-9 (-> gp-0 data 2) #f))) - (set! (-> v1-17 joint) (-> arg0 data 1)) - (set! (-> v1-17 bone) (-> s4-1 bones 2)) - (set! (-> v1-17 parent) (the-as cspace (-> gp-0 data))) - (let ((a1-9 v1-17)) - (set! (-> a1-9 param0) cspace<-parented-matrix-joint!) - (set! (-> a1-9 param1) self) - ) - (set! (-> v1-17 bone cache bone-matrix) (the-as uint 256)) - ) - (let ((s3-0 3)) - (while (< s3-0 (-> gp-0 length)) - (let* ((s1-0 (-> arg0 data (+ s3-0 -1))) - (s2-0 (if (-> s1-0 parent) - (+ (-> s1-0 parent number) 1) - 0 - ) - ) - (v1-29 (dummy-9 (-> gp-0 data s3-0) #f)) +(defbehavior make-nodes-from-jg process-drawable ((arg0 art-joint-geo) (arg1 pair) (arg2 symbol)) + (let ((gp-0 ((method-of-type cspace-array new) arg2 cspace-array (+ (-> arg0 length) 1)))) + (let ((v0-1 ((method-of-type skeleton new) arg2 skeleton (+ (-> arg0 length) 1)))) + (set! (-> self draw skeleton) v0-1) + (let ((s4-1 v0-1)) + (when (or (zero? gp-0) (zero? s4-1)) + (go process-drawable-art-error "memory") + (set! gp-0 (the-as cspace-array #f)) + (goto cfg-16) + ) + (let ((v1-10 ((method-of-type cspace dummy-9) (the-as cspace (-> gp-0 data)) #f))) + (set! (-> v1-10 bone) (the-as bone (-> s4-1 bones))) + (let ((a0-6 (-> gp-0 data))) + (set! (-> a0-6 0 param0) cspace<-transformq!) + (set! (-> a0-6 0 param1) (the-as basic (-> self root trans))) + ) + (set! (-> v1-10 bone cache bone-matrix) (the-as uint 0)) + ) + 0 + (let ((v1-14 (dummy-9 (-> gp-0 data 1) #f))) + (set! (-> v1-14 joint) (-> arg0 data 0)) + (set! (-> v1-14 bone) (-> s4-1 bones 1)) + (set! (-> v1-14 parent) (the-as cspace (-> gp-0 data))) + (set! (-> v1-14 bone cache bone-matrix) (the-as uint 128)) + ) + (let ((v1-17 (dummy-9 (-> gp-0 data 2) #f))) + (set! (-> v1-17 joint) (-> arg0 data 1)) + (set! (-> v1-17 bone) (-> s4-1 bones 2)) + (set! (-> v1-17 parent) (the-as cspace (-> gp-0 data))) + (let ((a1-9 v1-17)) + (set! (-> a1-9 param0) cspace<-parented-matrix-joint!) + (set! (-> a1-9 param1) self) + ) + (set! (-> v1-17 bone cache bone-matrix) (the-as uint 256)) + ) + (let ((s3-0 3)) + (while (< s3-0 (-> gp-0 length)) + (let* ((s1-0 (-> arg0 data (+ s3-0 -1))) + (s2-0 (if (-> s1-0 parent) + (+ (-> s1-0 parent number) 1) + 0 + ) + ) + (v1-29 (dummy-9 (-> gp-0 data s3-0) #f)) + ) + (set! (-> v1-29 joint) s1-0) + (set! (-> v1-29 bone) (-> s4-1 bones s3-0)) + (set! (-> v1-29 parent) (-> gp-0 data s2-0)) + (set! (-> v1-29 bone cache bone-matrix) (the-as uint (* s3-0 128))) + (set! (-> v1-29 bone cache parent-matrix) (the-as uint (* s2-0 128))) ) - (set! (-> v1-29 joint) s1-0) - (set! (-> v1-29 bone) (-> s4-1 bones s3-0)) - (set! (-> v1-29 parent) (-> gp-0 data s2-0)) - (set! (-> v1-29 bone cache bone-matrix) (the-as uint (* s3-0 128))) - (set! (-> v1-29 bone cache parent-matrix) (the-as uint (* s2-0 128))) + (+! s3-0 1) + ) + ) ) - (+! s3-0 1) - ) ) - ) + (add-connection + (-> (if (-> self entity) + (-> self entity extra level) + (-> *level* level-default) + ) + foreground-draw-engine + (-> self draw sink-group merc-sink foreground-texture-page) + ) + self + add-process-drawable + self + (-> self draw) + #f + ) + (label cfg-16) + gp-0 ) - (add-connection (-> (if (-> self entity) - (-> self entity extra level) - (-> *level* level-default) - ) - foreground-draw-engine - (-> self draw sink-group merc-sink foreground-texture-page) - ) - self add-process-drawable self (-> self draw) #f - ) - (label cfg-16) - gp-0 - ) ) ;; definition for function fill-skeleton-cache @@ -294,50 +242,42 @@ (let ((v1-0 (-> arg0 node-list)) (a0-2 (-> arg0 draw skeleton)) ) - (dotimes (a1-0 (-> v1-0 length)) - (let ((a3-0 (-> v1-0 data a1-0)) - (a2-3 - (the-as - bone-cache - (+ - (the-as uint (the-as bone-cache (-> a0-2 bones 0 cache))) - (* 96 a1-0) - ) + (dotimes (a1-0 (-> v1-0 length)) + (let ((a3-0 (-> v1-0 data a1-0)) + (a2-3 (the-as bone-cache (+ (the-as uint (the-as bone-cache (-> a0-2 bones 0 cache))) (* 96 a1-0)))) ) - ) + (set! (-> a2-3 bone-matrix) (the-as uint (* a1-0 128))) + (set! (-> a2-3 frame) (the-as uint 0)) + (let ((t0-3 0)) + (if (and (-> a3-0 parent) (-> a3-0 parent joint)) + (set! t0-3 (-> a3-0 parent joint number)) + ) + (set! (-> a2-3 parent-matrix) (the-as uint (* (+ t0-3 1) 128))) ) - (set! (-> a2-3 bone-matrix) (the-as uint (* a1-0 128))) - (set! (-> a2-3 frame) (the-as uint 0)) - (let ((t0-3 0)) - (if (and (-> a3-0 parent) (-> a3-0 parent joint)) - (set! t0-3 (-> a3-0 parent joint number)) - ) - (set! (-> a2-3 parent-matrix) (the-as uint (* (+ t0-3 1) 128))) + (.sync.l) + (.cache dxwbin a2-3 0) + (.sync.l) + (.cache dxwbin a2-3 1) + ) + (.sync.l) + 0 ) - (.sync.l) - (.cache dxwbin a2-3 0) - (.sync.l) - (.cache dxwbin a2-3 1) - ) - (.sync.l) - 0 ) - ) 0 ) ;; definition for function execute-math-engine (defun execute-math-engine () (let ((gp-0 *matrix-engine*)) - (countdown (s5-0 (-> gp-0 length)) - (let ((a0-1 (handle->process (-> gp-0 s5-0)))) - (if a0-1 - (dummy-17 a0-1) + (countdown (s5-0 (-> gp-0 length)) + (let ((a0-1 (handle->process (-> gp-0 s5-0)))) + (if a0-1 + (dummy-17 a0-1) + ) + ) ) - ) + (set! (-> gp-0 length) 0) ) - (set! (-> gp-0 length) 0) - ) 0 0 ) @@ -347,113 +287,89 @@ ;; Used lq/sq (defmethod dummy-17 process-drawable ((obj process-drawable)) (cond - ((logtest? (-> obj draw status) 6) - ) - ((zero? (-> obj skel)) - (matrix<-transformq+trans! - (the-as matrix (-> obj draw skeleton bones 3)) - (the-as transformq (-> obj root trans)) - (-> obj draw skeleton bones 0 transform vector 3) + ((logtest? (-> obj draw status) 6) ) - (set! - (-> obj draw origin quad) - (-> obj draw skeleton bones 3 transform vector 3 quad) - ) - ) - (else - (let* ((s5-0 (-> obj draw mgeo num-joints)) - (s4-0 (+ s5-0 2)) - ) - (+ s4-0 1) - (let ((t9-1 (-> obj skel generate-frame-function)) - (a0-7 (+ 2416 #x70000000)) - (a1-1 (the-as object s4-0)) - (a2-1 (the-as basic obj)) - ) - (t9-1 - (the-as pointer a0-7) - (the-as int a1-1) - (the-as process-drawable a2-1) + ((zero? (-> obj skel)) + (matrix<-transformq+trans! + (the-as matrix (-> obj draw skeleton bones 3)) + (the-as transformq (-> obj root trans)) + (-> obj draw skeleton bones 0 transform vector 3) ) - (when (-> obj skel prebind-function) - (let ((t9-2 (-> obj skel prebind-function)) - (a0-9 (+ 2416 #x70000000)) + (set! (-> obj draw origin quad) (-> obj draw skeleton bones 3 transform vector 3 quad)) + ) + (else + (let* ((s5-0 (-> obj draw mgeo num-joints)) + (s4-0 (+ s5-0 2)) ) - (set! a2-1 obj) - (set! a1-1 s4-0) - (t9-2 - (the-as pointer a0-9) - (the-as int a1-1) - (the-as process-drawable a2-1) - ) - ) - ) - (dotimes (s4-1 1) - (let* ((v1-25 (-> obj node-list data s4-1)) - (t9-3 (-> v1-25 param0)) + (+ s4-0 1) + (let ((t9-1 (-> obj skel generate-frame-function)) + (a0-7 (+ 2416 #x70000000)) + (a1-1 (the-as object s4-0)) + (a2-1 (the-as basic obj)) + ) + (t9-1 (the-as pointer a0-7) (the-as int a1-1) (the-as process-drawable a2-1)) + (when (-> obj skel prebind-function) + (let ((t9-2 (-> obj skel prebind-function)) + (a0-9 (+ 2416 #x70000000)) + ) + (set! a2-1 obj) + (set! a1-1 s4-0) + (t9-2 (the-as pointer a0-9) (the-as int a1-1) (the-as process-drawable a2-1)) + ) + ) + (dotimes (s4-1 1) + (let* ((v1-25 (-> obj node-list data s4-1)) + (t9-3 (-> v1-25 param0)) + ) + (when t9-3 + (let ((a0-12 v1-25)) + (set! a1-1 (-> v1-25 param1)) + (set! a2-1 (-> v1-25 param2)) + ((the-as (function cspace basic basic int) t9-3) a0-12 (the-as basic a1-1) a2-1) + ) + ) + ) + ) + (dotimes (s4-2 2) + (let ((a0-15 (-> obj node-list data (+ s4-2 1)))) + (set! a1-1 (+ (* s4-2 64) 2416 #x70000000)) + (let ((t9-4 (-> a0-15 param0))) + (if t9-4 + ((the-as (function none) t9-4)) + ) + ) + ) + ) + (let ((s4-3 3)) + (dotimes (s3-0 s5-0) + (let ((a0-17 (-> obj node-list data (+ s3-0 s4-3)))) + (set! a1-1 (+ (* 48 s3-0) 2544 #x70000000)) + (if (-> a0-17 param0) + ((the-as (function none) (-> a0-17 param0))) + (cspace<-parented-transformq-joint! a0-17 (the-as transformq a1-1)) + ) + ) + ) + ) + (if (-> obj skel postbind-function) + ((-> obj skel postbind-function) (the-as pointer obj) (the-as int a1-1) (the-as process-drawable a2-1)) ) - (when t9-3 - (let ((a0-12 v1-25)) - (set! a1-1 (-> v1-25 param1)) - (set! a2-1 (-> v1-25 param2)) - ((the-as (function cspace basic basic int) t9-3) - a0-12 - (the-as basic a1-1) - a2-1 - ) ) - ) ) - ) - (dotimes (s4-2 2) - (let ((a0-15 (-> obj node-list data (+ s4-2 1)))) - (set! a1-1 (+ (* s4-2 64) 2416 #x70000000)) - (let ((t9-4 (-> a0-15 param0))) - (if t9-4 - ((the-as (function none) t9-4)) - ) - ) + (let ((v1-54 (-> obj draw origin-joint-index))) + (if (zero? v1-54) + (set! (-> obj draw origin quad) + (-> (the-as + (pointer uint128) + (+ (the-as uint (-> obj draw skeleton bones 0 transform vector 3)) (* (the-as uint 96) v1-54)) + ) + ) + ) + (vector<-cspace! (-> obj draw origin) (-> obj node-list data v1-54)) + ) ) - ) - (let ((s4-3 3)) - (dotimes (s3-0 s5-0) - (let ((a0-17 (-> obj node-list data (+ s3-0 s4-3)))) - (set! a1-1 (+ (* 48 s3-0) 2544 #x70000000)) - (if (-> a0-17 param0) - ((the-as (function none) (-> a0-17 param0))) - (cspace<-parented-transformq-joint! a0-17 (the-as transformq a1-1)) - ) - ) - ) - ) - (if (-> obj skel postbind-function) - ((-> obj skel postbind-function) - (the-as pointer obj) - (the-as int a1-1) - (the-as process-drawable a2-1) - ) - ) ) - ) - (let ((v1-54 (-> obj draw origin-joint-index))) - (if (zero? v1-54) - (set! - (-> obj draw origin quad) - (-> - (the-as - (pointer uint128) - (+ - (the-as uint (-> obj draw skeleton bones 0 transform vector 3)) - (* (the-as uint 96) v1-54) - ) - ) - ) - ) - (vector<-cspace! (-> obj draw origin) (-> obj node-list data v1-54)) - ) - ) ) - ) 0 (none) ) @@ -462,11 +378,11 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-18 process-drawable ((obj process-drawable)) (if (type-type? (-> obj root type) collide-shape) - (clear-collide-with-as (the-as collide-shape (-> obj root))) - ) + (clear-collide-with-as (the-as collide-shape (-> obj root))) + ) (if (nonzero? (-> obj skel)) - (ja-channel-set! 0) - ) + (ja-channel-set! 0) + ) (process-entity-status! obj (entity-perm-status dead) #t) (none) ) @@ -475,28 +391,21 @@ ;; Used lq/sq (defun draw-joint-spheres ((arg0 process-drawable)) (dotimes (s5-0 (-> arg0 node-list length)) - (let - ((a2-0 (vector<-cspace! (new-stack-vector0) (-> arg0 node-list data s5-0)))) - (add-debug-sphere - #t - (bucket-id debug-draw0) - a2-0 - 819.2 - (new 'static 'rgba :g #xff :a #x40) - ) + (let ((a2-0 (vector<-cspace! (new-stack-vector0) (-> arg0 node-list data s5-0)))) + (add-debug-sphere #t (bucket-id debug-draw0) a2-0 819.2 (new 'static 'rgba :g #xff :a #x40)) + ) ) - ) #f ) ;; definition for method 10 of type process-drawable (defmethod deactivate process-drawable ((obj process-drawable)) (if (nonzero? (-> obj part)) - (kill-and-free-particles (-> obj part)) - ) + (kill-and-free-particles (-> obj part)) + ) (if (nonzero? (-> obj sound)) - (stop! (-> obj sound)) - ) + (stop! (-> obj sound)) + ) ((method-of-type process deactivate) obj) (none) ) @@ -505,33 +414,28 @@ (defstate process-drawable-art-error (process-drawable) :code (behavior ((arg0 string)) - (logior! (-> self entity extra perm status) (entity-perm-status bit-1)) - (while #t - (when *display-entity-errors* - (let ((s5-0 add-debug-text-3d) - (s4-0 #t) - (s3-0 68) - ) - (format - (clear *temp-string*) - "~2j~s art error for ~s" - arg0 - (-> self name) - ) - (s5-0 - s4-0 - (the-as bucket-id s3-0) - *temp-string* - (-> self root trans) - (font-color orange-red) - (the-as vector2h #f) - ) + (logior! (-> self entity extra perm status) (entity-perm-status bit-1)) + (while #t + (when *display-entity-errors* + (let ((s5-0 add-debug-text-3d) + (s4-0 #t) + (s3-0 68) + ) + (format (clear *temp-string*) "~2j~s art error for ~s" arg0 (-> self name)) + (s5-0 + s4-0 + (the-as bucket-id s3-0) + *temp-string* + (-> self root trans) + (font-color orange-red) + (the-as vector2h #f) + ) + ) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -548,334 +452,239 @@ ;; WARN: Stack slot offset 20 signed mismatch ;; INFO: Return type mismatch draw-control vs none. ;; Used lq/sq -(defmethod - initialize-skeleton - process-drawable - ((obj process-drawable) (arg0 skeleton-group) (arg1 pair)) +(defmethod initialize-skeleton process-drawable ((obj process-drawable) (arg0 skeleton-group) (arg1 pair)) (local-vars (s3-0 draw-control) (sv-16 art-element) (sv-20 int)) (let ((s1-0 (cond - ((= (-> arg0 texture-level) 2) - (-> *level* level-default) + ((= (-> arg0 texture-level) 2) + (-> *level* level-default) + ) + ((-> obj entity) + (-> obj entity extra level) + ) + (else + (-> *level* level-default) + ) ) - ((-> obj entity) - (-> obj entity extra level) - ) - (else - (-> *level* level-default) - ) - ) - ) + ) ) - (let - ((s4-0 - (load-to-heap-by-name - (-> s1-0 art-group) - (the-as string (-> arg0 art-group-name)) - #f - global - (-> arg0 version) - ) - ) - ) - (when (or (zero? s4-0) (or (not s4-0) (!= (-> s4-0 type) art-group))) - (go process-drawable-art-error "art-group") - (set! s3-0 (the-as draw-control #f)) - (goto cfg-59) - ) - (set! sv-16 (-> s4-0 data (-> arg0 jgeo))) - (set! sv-20 (-> s4-0 length)) - (when (or (>= (-> arg0 jgeo) sv-20) (!= (-> sv-16 type) art-joint-geo)) - (go process-drawable-art-error "joint-geo") - (set! s3-0 (the-as draw-control #f)) - (goto cfg-59) - ) - (let ((v0-3 (new 'process 'draw-control obj (the-as art-joint-geo sv-16)))) - (set! (-> obj draw) v0-3) - (set! s3-0 v0-3) - ) - (let ((v1-26 s3-0)) - (set! (-> v1-26 status) (the-as uint 16)) - (set! (-> v1-26 art-group) s4-0) - (set! (-> v1-26 jgeo) (the-as art-joint-geo sv-16)) - (set! (-> v1-26 force-lod) -1) - (set! (-> v1-26 cur-lod) -1) - (set! (-> v1-26 shadow) #f) - (set! (-> v1-26 shadow-ctrl) #f) - (set! (-> v1-26 data-format) (the-as uint 1)) - (set! - (-> v1-26 color-mult quad) - (-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad) - ) - (set! (-> v1-26 color-emissive quad) (-> (new 'static 'vector) quad)) - (set! (-> v1-26 level-index) (the-as uint (-> (if (-> obj entity) - (-> obj entity extra level) - (-> *level* level-default) - ) - index - ) - ) - ) - (set! (-> v1-26 longest-edge) (-> arg0 longest-edge)) - (set! (-> v1-26 ripple) #f) - ) - (set! (-> s3-0 bounds quad) (-> arg0 bounds quad)) - (let ((v1-28 (-> arg0 shadow))) - (when (and (> v1-28 0) (< v1-28 sv-20)) - (let ((s0-0 (-> s4-0 data v1-28)) - (v1-32 (res-lump-value (-> obj entity) 'options uint128)) + (let ((s4-0 (load-to-heap-by-name + (-> s1-0 art-group) + (the-as string (-> arg0 art-group-name)) + #f + global + (-> arg0 version) + ) + ) + ) + (when (or (zero? s4-0) (or (not s4-0) (!= (-> s4-0 type) art-group))) + (go process-drawable-art-error "art-group") + (set! s3-0 (the-as draw-control #f)) + (goto cfg-59) + ) + (set! sv-16 (-> s4-0 data (-> arg0 jgeo))) + (set! sv-20 (-> s4-0 length)) + (when (or (>= (-> arg0 jgeo) sv-20) (!= (-> sv-16 type) art-joint-geo)) + (go process-drawable-art-error "joint-geo") + (set! s3-0 (the-as draw-control #f)) + (goto cfg-59) + ) + (let ((v0-3 (new 'process 'draw-control obj (the-as art-joint-geo sv-16)))) + (set! (-> obj draw) v0-3) + (set! s3-0 v0-3) + ) + (let ((v1-26 s3-0)) + (set! (-> v1-26 status) (the-as uint 16)) + (set! (-> v1-26 art-group) s4-0) + (set! (-> v1-26 jgeo) (the-as art-joint-geo sv-16)) + (set! (-> v1-26 force-lod) -1) + (set! (-> v1-26 cur-lod) -1) + (set! (-> v1-26 shadow) #f) + (set! (-> v1-26 shadow-ctrl) #f) + (set! (-> v1-26 data-format) (the-as uint 1)) + (set! (-> v1-26 color-mult quad) (-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad)) + (set! (-> v1-26 color-emissive quad) (-> (new 'static 'vector) quad)) + (set! (-> v1-26 level-index) (the-as uint (-> (if (-> obj entity) + (-> obj entity extra level) + (-> *level* level-default) + ) + index + ) + ) + ) + (set! (-> v1-26 longest-edge) (-> arg0 longest-edge)) + (set! (-> v1-26 ripple) #f) + ) + (set! (-> s3-0 bounds quad) (-> arg0 bounds quad)) + (let ((v1-28 (-> arg0 shadow))) + (when (and (> v1-28 0) (< v1-28 sv-20)) + (let ((s0-0 (-> s4-0 data v1-28)) + (v1-32 (res-lump-value (-> obj entity) 'options uint128)) + ) + (if (and (zero? (logand #x20000 v1-32)) (= (-> s0-0 type) shadow-geo)) + (set! (-> s3-0 shadow) (the-as shadow-geo s0-0)) + ) ) - (if (and (zero? (logand #x20000 v1-32)) (= (-> s0-0 type) shadow-geo)) - (set! (-> s3-0 shadow) (the-as shadow-geo s0-0)) + ) ) - ) - ) - ) - (if (not (dummy-9 (-> s3-0 lod-set) arg0 s4-0 (-> obj entity))) - (go process-drawable-art-error "mesh") - ) - (let - ((v1-43 - (res-lump-value - (-> sv-16 extra) - 'texture-bucket - int - :default - (the-as uint128 1) + (if (not (dummy-9 (-> s3-0 lod-set) arg0 s4-0 (-> obj entity))) + (go process-drawable-art-error "mesh") + ) + (let ((v1-43 (res-lump-value (-> sv-16 extra) 'texture-bucket int :default (the-as uint128 1)))) + (let ((a0-39 (if (= (-> arg0 texture-level) 2) + 2 + (-> s1-0 index) + ) + ) + ) + (if (= (the-as uint v1-43) 4) + (set! v1-43 2) + ) + (if (= a0-39 2) + (set! v1-43 (-> arg0 sort)) + ) + ) + (set! (-> s3-0 sink-group) (-> s1-0 foreground-sink-group v1-43)) ) - ) - ) - (let ((a0-39 (if (= (-> arg0 texture-level) 2) - 2 - (-> s1-0 index) + (set! (-> s3-0 dma-add-func) (the-as (function process-drawable draw-control symbol object none) nothing)) + (set! (-> obj node-list) (make-nodes-from-jg (the-as art-joint-geo sv-16) arg1 'process)) + (set! (-> s3-0 dma-add-func) dma-add-process-drawable) + (set! (-> s3-0 shadow-mask) (res-lump-value (-> obj entity) 'shadow-mask uint)) + (set! (-> s3-0 light-index) (res-lump-value (-> obj entity) 'light-index uint)) + (lod-set! s3-0 0) + (let ((a2-10 (res-lump-value (-> sv-16 extra) 'joint-channel int :default (the-as uint128 6)))) + (cond + ((> a2-10 0) + (logior! (-> s3-0 status) 128) + (let ((v0-13 (new 'process 'joint-control a2-10))) + (set! (-> obj skel) v0-13) + (let ((s2-1 v0-13)) + (cond + ((>= (-> arg0 janim) 0) + (when (or (>= (-> arg0 janim) sv-20) (!= (-> s4-0 data (-> arg0 janim) type) art-joint-anim)) + (go process-drawable-art-error "initial joint-anim") + (set! s3-0 (the-as draw-control #f)) + (goto cfg-59) + ) + (ja-channel-set! 1) + (let ((s1-1 (-> obj skel root-channel 0))) + (joint-control-channel-group-eval! + s1-1 + (the-as art-joint-anim (-> s4-0 data (-> arg0 janim))) + num-func-identity + ) + (set! (-> s1-1 frame-num) 0.0) + ) + ) + (else + (ja-channel-set! 0) ) - ) - ) - (if (= (the-as uint v1-43) 4) - (set! v1-43 2) - ) - (if (= a0-39 2) - (set! v1-43 (-> arg0 sort)) - ) - ) - (set! (-> s3-0 sink-group) (-> s1-0 foreground-sink-group v1-43)) - ) - (set! - (-> s3-0 dma-add-func) - (the-as - (function process-drawable draw-control symbol object none) - nothing - ) - ) - (set! - (-> obj node-list) - (make-nodes-from-jg (the-as art-joint-geo sv-16) arg1 'process) - ) - (set! (-> s3-0 dma-add-func) dma-add-process-drawable) - (set! - (-> s3-0 shadow-mask) - (res-lump-value (-> obj entity) 'shadow-mask uint) - ) - (set! - (-> s3-0 light-index) - (res-lump-value (-> obj entity) 'light-index uint) - ) - (lod-set! s3-0 0) - (let - ((a2-10 - (res-lump-value - (-> sv-16 extra) - 'joint-channel - int - :default - (the-as uint128 6) - ) - ) - ) - (cond - ((> a2-10 0) - (logior! (-> s3-0 status) 128) - (let ((v0-13 (new 'process 'joint-control a2-10))) - (set! (-> obj skel) v0-13) - (let ((s2-1 v0-13)) - (cond - ((>= (-> arg0 janim) 0) - (when - (or - (>= (-> arg0 janim) sv-20) - (!= (-> s4-0 data (-> arg0 janim) type) art-joint-anim) + ) + (set! (-> s2-1 effect) (new 'process 'effect-control obj)) + ) ) - (go process-drawable-art-error "initial joint-anim") - (set! s3-0 (the-as draw-control #f)) - (goto cfg-59) - ) - (ja-channel-set! 1) - (let ((s1-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s1-1 - (the-as art-joint-anim (-> s4-0 data (-> arg0 janim))) - num-func-identity - ) - (set! (-> s1-1 frame-num) 0.0) - ) ) (else - (ja-channel-set! 0) - ) + (set! (-> s3-0 skeleton bones 0 transform vector 3 quad) (-> (the-as vector (get-property-struct + (-> sv-16 extra) + 'trans-offset + 'interp + -1000000000.0 + *null-vector* + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + quad + ) + ) + ) ) - (set! (-> s2-1 effect) (new 'process 'effect-control obj)) - ) ) - ) - (else - (set! - (-> s3-0 skeleton bones 0 transform vector 3 quad) - (-> - (the-as - vector - (get-property-struct - (-> sv-16 extra) - 'trans-offset - 'interp - -1000000000.0 - *null-vector* - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - quad - ) - ) - ) ) - ) ) - ) - (let - ((gp-1 (the-as collide-shape (-> (the-as collide-shape obj) dir-targ x)))) - (if (and gp-1 (nonzero? gp-1) (type-type? (-> gp-1 type) collide-shape)) - (find-collision-meshes gp-1) + (let ((gp-1 (the-as collide-shape (-> (the-as collide-shape obj) dir-targ x)))) + (if (and gp-1 (nonzero? gp-1) (type-type? (-> gp-1 type) collide-shape)) + (find-collision-meshes gp-1) + ) ) - ) (label cfg-59) (none) ) ;; definition for method 15 of type process-drawable -(defmethod - dummy-15 - process-drawable - ((obj process-drawable) (arg0 string) (arg1 object)) +(defmethod dummy-15 process-drawable ((obj process-drawable) (arg0 string) (arg1 object)) (let ((s3-0 string->symbol)) - (format (clear *temp-string*) "*~S-sg*" arg0) - (let ((s3-1 (-> (s3-0 *temp-string*) value))) - (if (and (nonzero? s3-1) (valid? s3-1 skeleton-group #f #f 0)) - (initialize-skeleton obj (the-as skeleton-group s3-1) (the-as pair arg1)) - (go process-drawable-art-error arg0) - ) + (format (clear *temp-string*) "*~S-sg*" arg0) + (let ((s3-1 (-> (s3-0 *temp-string*) value))) + (if (and (nonzero? s3-1) (valid? s3-1 skeleton-group #f #f 0)) + (initialize-skeleton obj (the-as skeleton-group s3-1) (the-as pair arg1)) + (go process-drawable-art-error arg0) + ) + ) ) - ) obj ) ;; definition for method 16 of type process-drawable ;; INFO: Return type mismatch trsqv vs collide-shape. -(defmethod - dummy-16 - process-drawable - ((obj process-drawable) (arg0 int) (arg1 (inline-array vector)) (arg2 vector)) +(defmethod dummy-16 process-drawable ((obj process-drawable) (arg0 int) (arg1 (inline-array vector)) (arg2 vector)) (when (logtest? arg0 7) - (let* - ((body-T-world - (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root quat)) + (let* ((body-T-world (quaternion->matrix (new 'stack-no-clear 'matrix) (-> obj root quat))) + (world-T-body (matrix-transpose! (new 'stack-no-clear 'matrix) body-T-world)) + (grav-rt-body (vector-matrix*! (new 'stack-no-clear 'vector) (-> *standard-dynamics* gravity) world-T-body)) + (vel-rt-body (vector-matrix*! (new 'stack-no-clear 'vector) (-> obj root transv) world-T-body)) + ) + (if (logtest? arg0 2048) + (set-vector! grav-rt-body 0.0 0.0 0.0 1.0) + ) + (when (logtest? arg0 1) + (set! (-> vel-rt-body x) (+ (* (-> arg1 0 x) (-> arg2 x) (-> *display* frames-per-second)) + (* (-> grav-rt-body x) (-> *display* seconds-per-frame)) + ) + ) + (if (zero? (logand arg0 12)) + (set! (-> vel-rt-body z) 0.0) + ) + ) + (if (and (logtest? arg0 2) (not (and (logtest? arg0 4096) (= (-> arg1 0 y) 0.0)))) + (set! (-> vel-rt-body y) (+ (* (-> arg1 0 y) (-> arg2 y) (-> *display* frames-per-second)) + (* (-> grav-rt-body y) (-> *display* seconds-per-frame)) + ) + ) + ) + (when (logtest? arg0 4) + (set! (-> vel-rt-body z) (+ (* (-> arg1 0 z) (-> arg2 z) (-> *display* frames-per-second)) + (* (-> grav-rt-body z) (-> *display* seconds-per-frame)) + ) + ) + (if (zero? (logand arg0 9)) + (set! (-> vel-rt-body x) 0.0) + ) + ) + (vector-matrix*! (-> obj root transv) vel-rt-body body-T-world) ) - (world-T-body - (matrix-transpose! (new 'stack-no-clear 'matrix) body-T-world) - ) - (grav-rt-body - (vector-matrix*! - (new 'stack-no-clear 'vector) - (-> *standard-dynamics* gravity) - world-T-body - ) - ) - (vel-rt-body - (vector-matrix*! - (new 'stack-no-clear 'vector) - (-> obj root transv) - world-T-body - ) - ) - ) - (if (logtest? arg0 2048) - (set-vector! grav-rt-body 0.0 0.0 0.0 1.0) - ) - (when (logtest? arg0 1) - (set! - (-> vel-rt-body x) - (+ - (* (-> arg1 0 x) (-> arg2 x) (-> *display* frames-per-second)) - (* (-> grav-rt-body x) (-> *display* seconds-per-frame)) - ) - ) - (if (zero? (logand arg0 12)) - (set! (-> vel-rt-body z) 0.0) - ) - ) - (if - (and - (logtest? arg0 2) - (not (and (logtest? arg0 4096) (= (-> arg1 0 y) 0.0))) - ) - (set! - (-> vel-rt-body y) - (+ - (* (-> arg1 0 y) (-> arg2 y) (-> *display* frames-per-second)) - (* (-> grav-rt-body y) (-> *display* seconds-per-frame)) - ) - ) - ) - (when (logtest? arg0 4) - (set! - (-> vel-rt-body z) - (+ - (* (-> arg1 0 z) (-> arg2 z) (-> *display* frames-per-second)) - (* (-> grav-rt-body z) (-> *display* seconds-per-frame)) - ) - ) - (if (zero? (logand arg0 9)) - (set! (-> vel-rt-body x) 0.0) - ) - ) - (vector-matrix*! (-> obj root transv) vel-rt-body body-T-world) ) - ) (if (logtest? arg0 16) - (quaternion-normalize! - (quaternion*! - (-> obj root quat) - (-> obj root quat) - (the-as quaternion (-> arg1 1)) - ) - ) - ) + (quaternion-normalize! (quaternion*! (-> obj root quat) (-> obj root quat) (the-as quaternion (-> arg1 1)))) + ) (the-as collide-shape (-> obj root)) ) ;; definition for function ja-done? (defbehavior ja-done? process-drawable ((arg0 int)) (let ((v1-2 (-> self skel root-channel arg0))) - (cond - ((zero? (-> self skel active-channels)) - #t - ) - ((= (-> v1-2 num-func) num-func-seek!) - (= (-> v1-2 frame-num) (-> v1-2 param 0)) - ) - (else - #t - ) + (cond + ((zero? (-> self skel active-channels)) + #t + ) + ((= (-> v1-2 num-func) num-func-seek!) + (= (-> v1-2 frame-num) (-> v1-2 param 0)) + ) + (else + #t + ) + ) ) - ) ) ;; definition for function ja-min? @@ -886,11 +695,8 @@ ;; definition for function ja-max? (defbehavior ja-max? process-drawable ((arg0 int)) (let ((v1-2 (-> self skel root-channel arg0))) - (>= - (-> v1-2 frame-num) - (the float (+ (-> v1-2 frame-group data 0 length) -1)) + (>= (-> v1-2 frame-num) (the float (+ (-> v1-2 frame-group data 0 length) -1))) ) - ) ) ;; definition for function ja-num-frames @@ -908,30 +714,28 @@ (let* ((a0-2 (-> self skel root-channel arg0)) (v1-2 (-> a0-2 frame-group)) ) - (+ - (* (-> a0-2 frame-num) (-> v1-2 artist-step)) - (if (and v1-2 (nonzero? v1-2)) - (-> v1-2 artist-base) - 0.0 - ) + (+ (* (-> a0-2 frame-num) (-> v1-2 artist-step)) (if (and v1-2 (nonzero? v1-2)) + (-> v1-2 artist-base) + 0.0 + ) + ) ) - ) ) ;; definition for function ja-aframe (defbehavior ja-aframe process-drawable ((arg0 float) (arg1 int)) (let ((v1-3 (-> self skel root-channel arg1 frame-group))) - (/ (- arg0 (if (and v1-3 (nonzero? v1-3)) - (-> v1-3 artist-base) - 0.0 - ) + (/ (- arg0 (if (and v1-3 (nonzero? v1-3)) + (-> v1-3 artist-base) + 0.0 + ) + ) + (if v1-3 + (-> v1-3 artist-step) + 1.0 + ) ) - (if v1-3 - (-> v1-3 artist-step) - 1.0 - ) ) - ) ) ;; definition for function ja-speed @@ -951,181 +755,135 @@ (set! (-> self skel blend-index) -1) (set! (-> self skel root-channel 0 frame-group) #f) (dotimes (v1-6 arg0) - (set! - (-> self skel root-channel v1-6 eval-time) - (the-as uint (-> *display* base-frame-counter)) + (set! (-> self skel root-channel v1-6 eval-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> self skel root-channel v1-6 group-sub-index) v1-6) + (set! (-> self skel root-channel v1-6 command) (if (zero? v1-6) + 'push + 'blend + ) + ) + (set! (-> self skel root-channel v1-6 frame-interp) 0.0) + (set! (-> self skel root-channel v1-6 frame-num) 0.0) + (set! (-> self skel root-channel v1-6 frame-group) #f) + (set! (-> self skel root-channel v1-6 num-func) num-func-none) + (set! (-> self skel root-channel v1-6 group-size) arg0) ) - (set! (-> self skel root-channel v1-6 group-sub-index) v1-6) - (set! (-> self skel root-channel v1-6 command) (if (zero? v1-6) - 'push - 'blend - ) - ) - (set! (-> self skel root-channel v1-6 frame-interp) 0.0) - (set! (-> self skel root-channel v1-6 frame-num) 0.0) - (set! (-> self skel root-channel v1-6 frame-group) #f) - (set! (-> self skel root-channel v1-6 num-func) num-func-none) - (set! (-> self skel root-channel v1-6 group-size) arg0) - ) arg0 ) ;; definition for function ja-channel-push! (defbehavior ja-channel-push! process-drawable ((arg0 int) (arg1 int)) (cond - ((or - (zero? (-> self skel active-channels)) - (zero? arg1) - (when - (>= - (+ (-> self skel active-channels) arg0) - (-> self skel allocated-length) + ((or + (zero? (-> self skel active-channels)) + (zero? arg1) + (when (>= (+ (-> self skel active-channels) arg0) (-> self skel allocated-length)) + (format + 0 + "WARNING: ~A could not do (ja-channel-push ~D) because it has ~D/~D channels.~%" + self + arg0 + (-> self skel active-channels) + (-> self skel allocated-length) + ) + #t + ) ) - (format - 0 - "WARNING: ~A could not do (ja-channel-push ~D) because it has ~D/~D channels.~%" - self - arg0 - (-> self skel active-channels) - (-> self skel allocated-length) - ) - #t - ) + (ja-channel-set! arg0) ) - (ja-channel-set! arg0) - ) - (else - (when (not (-> self skel root-channel 0 frame-group)) - (set! - (-> self skel active-channels) - (/ - (&- - (the-as pointer (-> self skel root-channel)) - (the-as uint (the-as pointer (-> self skel channel))) + (else + (when (not (-> self skel root-channel 0 frame-group)) + (set! (-> self skel active-channels) + (/ (&- (the-as pointer (-> self skel root-channel)) (the-as uint (the-as pointer (-> self skel channel)))) 48) + ) + (if (zero? (-> self skel active-channels)) + (return (ja-channel-set! arg0)) + ) ) - 48 - ) + (set! (-> self skel root-channel) + (the-as (inline-array joint-control-channel) (-> self skel channel (-> self skel active-channels))) + ) + (set! (-> self skel active-channels) (+ arg0 1 (-> self skel active-channels))) + (dotimes (v1-26 arg0) + (set! (-> self skel root-channel v1-26 eval-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> self skel root-channel v1-26 group-sub-index) v1-26) + (set! (-> self skel root-channel v1-26 command) (if (zero? v1-26) + 'push + 'blend + ) + ) + (set! (-> self skel root-channel v1-26 frame-interp) 0.0) + (set! (-> self skel root-channel v1-26 frame-num) 0.0) + (set! (-> self skel root-channel v1-26 frame-group) #f) + (set! (-> self skel root-channel v1-26 num-func) num-func-none) + (set! (-> self skel root-channel v1-26 group-size) arg0) + ) + (let ((v1-31 (-> self skel root-channel arg0))) + (set! (-> v1-31 eval-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> v1-31 group-sub-index) arg0) + (set! (-> self skel blend-index) (+ (-> self skel active-channels) -1)) + (set! (-> v1-31 frame-interp) 0.0) + (set! (-> v1-31 frame-num) 0.0) + (set! (-> v1-31 frame-group) #f) + (set! (-> v1-31 group-size) arg0) + (set! (-> v1-31 param 0) (/ 5.0 (+ 5.0 (the float arg1)))) + (set! (-> v1-31 num-func) num-func-blend-in!) + (cond + ((= arg0 1) + (set! (-> v1-31 command) 'stack1) + (set! (-> self skel root-channel 0 command) 'push1) + ) + (else + (set! (-> v1-31 command) 'stack) + ) + ) + ) + arg0 ) - (if (zero? (-> self skel active-channels)) - (return (ja-channel-set! arg0)) - ) - ) - (set! - (-> self skel root-channel) - (the-as - (inline-array joint-control-channel) - (-> self skel channel (-> self skel active-channels)) - ) - ) - (set! - (-> self skel active-channels) - (+ arg0 1 (-> self skel active-channels)) - ) - (dotimes (v1-26 arg0) - (set! - (-> self skel root-channel v1-26 eval-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! (-> self skel root-channel v1-26 group-sub-index) v1-26) - (set! (-> self skel root-channel v1-26 command) (if (zero? v1-26) - 'push - 'blend - ) - ) - (set! (-> self skel root-channel v1-26 frame-interp) 0.0) - (set! (-> self skel root-channel v1-26 frame-num) 0.0) - (set! (-> self skel root-channel v1-26 frame-group) #f) - (set! (-> self skel root-channel v1-26 num-func) num-func-none) - (set! (-> self skel root-channel v1-26 group-size) arg0) - ) - (let ((v1-31 (-> self skel root-channel arg0))) - (set! (-> v1-31 eval-time) (the-as uint (-> *display* base-frame-counter))) - (set! (-> v1-31 group-sub-index) arg0) - (set! (-> self skel blend-index) (+ (-> self skel active-channels) -1)) - (set! (-> v1-31 frame-interp) 0.0) - (set! (-> v1-31 frame-num) 0.0) - (set! (-> v1-31 frame-group) #f) - (set! (-> v1-31 group-size) arg0) - (set! (-> v1-31 param 0) (/ 5.0 (+ 5.0 (the float arg1)))) - (set! (-> v1-31 num-func) num-func-blend-in!) - (cond - ((= arg0 1) - (set! (-> v1-31 command) 'stack1) - (set! (-> self skel root-channel 0 command) 'push1) - ) - (else - (set! (-> v1-31 command) 'stack) - ) - ) - ) - arg0 ) - ) ) ;; definition for function joint-control-reset! ;; INFO: Return type mismatch int vs none. -(defbehavior - joint-control-reset! process-drawable - ((arg0 joint-control) (arg1 joint-control-channel)) - (let* - ((v1-2 - (the-as - joint-control-channel - (&- (the-as pointer arg1) (the-as uint (* 48 (-> arg1 group-size)))) +(defbehavior joint-control-reset! process-drawable ((arg0 joint-control) (arg1 joint-control-channel)) + (let* ((v1-2 (the-as joint-control-channel (&- (the-as pointer arg1) (the-as uint (* 48 (-> arg1 group-size)))))) + (s5-0 (/ (&- (the-as pointer v1-2) (the-as uint (the-as pointer (-> arg0 channel)))) 48)) + (s4-0 (/ (&- (the-as pointer arg1) (the-as uint v1-2)) 48)) + ) + (when (> s5-0 0) + (if (= (-> v1-2 command) 'push1) + (set! (-> v1-2 command) 'push) + ) + (if (= (-> arg0 root-channel) v1-2) + (set! (-> arg0 root-channel) (-> arg0 channel)) + (set! (-> arg0 root-channel) + (the-as (inline-array joint-control-channel) (-> arg0 root-channel (- (+ s5-0 1)))) + ) + ) + (qmem-copy<-! + (the-as pointer (-> arg0 channel)) + (the-as pointer v1-2) + (* 48 (- (-> arg0 active-channels) s5-0)) + ) + (qmem-copy<-! + (the-as pointer (-> arg0 channel s4-0)) + (the-as pointer (+ (the-as uint (-> arg0 channel 1)) (* 48 s4-0))) + (* 48 (+ (- (- -1 s5-0) s4-0) (-> arg0 active-channels))) + ) + (set! (-> arg0 active-channels) (- (-> arg0 active-channels) (+ s5-0 1))) ) - ) - (s5-0 - (/ - (&- - (the-as pointer v1-2) - (the-as uint (the-as pointer (-> arg0 channel))) - ) - 48 - ) - ) - (s4-0 (/ (&- (the-as pointer arg1) (the-as uint v1-2)) 48)) ) - (when (> s5-0 0) - (if (= (-> v1-2 command) 'push1) - (set! (-> v1-2 command) 'push) - ) - (if (= (-> arg0 root-channel) v1-2) - (set! (-> arg0 root-channel) (-> arg0 channel)) - (set! - (-> arg0 root-channel) - (the-as - (inline-array joint-control-channel) - (-> arg0 root-channel (- (+ s5-0 1))) - ) - ) - ) - (qmem-copy<-! - (the-as pointer (-> arg0 channel)) - (the-as pointer v1-2) - (* 48 (- (-> arg0 active-channels) s5-0)) - ) - (qmem-copy<-! - (the-as pointer (-> arg0 channel s4-0)) - (the-as pointer (+ (the-as uint (-> arg0 channel 1)) (* 48 s4-0))) - (* 48 (+ (- (- -1 s5-0) s4-0) (-> arg0 active-channels))) - ) - (set! (-> arg0 active-channels) (- (-> arg0 active-channels) (+ s5-0 1))) - ) - ) (none) ) ;; definition for function ja-group-size (defbehavior ja-group-size process-drawable () - (if - (< - (the-as int (-> self skel root-channel)) - (the-as int (-> self skel channel (-> self skel active-channels))) - ) - (-> self skel root-channel 0 group-size) - 0 - ) + (if (< (the-as int (-> self skel root-channel)) + (the-as int (-> self skel channel (-> self skel active-channels))) + ) + (-> self skel root-channel 0 group-size) + 0 + ) ) ;; definition for function ja-eval @@ -1134,19 +892,19 @@ (s5-0 (-> self skel channel (-> self skel active-channels))) (s4-0 (-> *display* base-frame-counter)) ) - (while (< (the-as int gp-0) (the-as int s5-0)) - (case (-> gp-0 command) - (('stack 'stack1) - ) - (else - (if (!= (-> gp-0 eval-time) s4-0) - (joint-control-channel-eval gp-0) - ) + (while (< (the-as int gp-0) (the-as int s5-0)) + (case (-> gp-0 command) + (('stack 'stack1) + ) + (else + (if (!= (-> gp-0 eval-time) s4-0) + (joint-control-channel-eval gp-0) + ) + ) + ) + (&+! gp-0 48) ) - ) - (&+! gp-0 48) ) - ) 0 ) @@ -1156,21 +914,21 @@ (s5-0 (the-as joint-control-channel (-> self skel channel))) (s4-0 (-> *display* base-frame-counter)) ) - (when (and (nonzero? (-> self skel active-channels)) (!= gp-0 s5-0)) - (while (< (the-as int s5-0) (the-as int gp-0)) - (case (-> s5-0 command) - (('stack 'stack1) + (when (and (nonzero? (-> self skel active-channels)) (!= gp-0 s5-0)) + (while (< (the-as int s5-0) (the-as int gp-0)) + (case (-> s5-0 command) + (('stack 'stack1) + ) + (else + (if (!= (-> s5-0 eval-time) s4-0) + (joint-control-channel-eval s5-0) + ) + ) + ) + (&+! s5-0 48) ) - (else - (if (!= (-> s5-0 eval-time) s4-0) - (joint-control-channel-eval s5-0) - ) - ) ) - (&+! s5-0 48) - ) ) - ) 0 ) @@ -1182,24 +940,24 @@ ;; WARN: Expression building failed: Function ja-post has a return type of none, but the expression builder found a return statement. (defbehavior ja-post process-drawable () (when (nonzero? (-> self draw)) - (let ((gp-1 (logtest? (-> self draw status) 16))) - (set! (-> self draw status) (logand -21 (-> self draw status))) - (when (nonzero? (-> self skel)) - (dummy-19 self) - (when (or (logtest? (-> self skel status) 1) gp-1) - (dummy-17 self) - (if (and gp-1 (type-type? (-> self root type) collide-shape)) - (dummy-47 (the-as collide-shape (-> self root))) - ) - (return #f) + (let ((gp-1 (logtest? (-> self draw status) 16))) + (set! (-> self draw status) (logand -21 (-> self draw status))) + (when (nonzero? (-> self skel)) + (dummy-19 self) + (when (or (logtest? (-> self skel status) 1) gp-1) + (dummy-17 self) + (if (and gp-1 (type-type? (-> self root type) collide-shape)) + (dummy-47 (the-as collide-shape (-> self root))) + ) + (return #f) + ) + ) + ) + (let ((v1-24 *matrix-engine*)) + (set! (-> v1-24 (-> v1-24 length)) (process->handle self)) + (+! (-> v1-24 length) 1) ) - ) ) - (let ((v1-24 *matrix-engine*)) - (set! (-> v1-24 (-> v1-24 length)) (process->handle self)) - (+! (-> v1-24 length) 1) - ) - ) 0 (none) ) @@ -1207,52 +965,43 @@ ;; definition for method 9 of type joint-control (defmethod dummy-9 joint-control ((obj joint-control)) (cond - ((< - (the-as int (-> obj root-channel)) - (the-as int (-> obj channel (-> obj active-channels))) - ) - (let ((s5-0 (-> obj root-channel (-> obj root-channel 0 group-size))) - (s4-0 (the-as joint-control-channel (-> obj root-channel))) - (gp-0 (the-as (pointer float) (new 'stack-no-clear 'vector))) - ) - (while (< (the-as int s4-0) (the-as int s5-0)) - (case (-> s4-0 command) - (('push) - (set! (-> gp-0 0) (-> s4-0 dist)) - (set! gp-0 (&-> gp-0 1)) + ((< (the-as int (-> obj root-channel)) (the-as int (-> obj channel (-> obj active-channels)))) + (let ((s5-0 (-> obj root-channel (-> obj root-channel 0 group-size))) + (s4-0 (the-as joint-control-channel (-> obj root-channel))) + (gp-0 (the-as (pointer float) (new 'stack-no-clear 'vector))) + ) + (while (< (the-as int s4-0) (the-as int s5-0)) + (case (-> s4-0 command) + (('push) + (set! (-> gp-0 0) (-> s4-0 dist)) + (set! gp-0 (&-> gp-0 1)) + ) + (('blend 'push1) + (set! (-> gp-0 -1) (lerp (-> gp-0 -1) (-> s4-0 dist) (-> s4-0 frame-interp))) + ) + (('stack) + (set! (-> gp-0 -2) (lerp (-> gp-0 -2) (-> gp-0 -1) (-> s4-0 frame-interp))) + (set! gp-0 (&-> gp-0 -1)) + ) + ) + (&+! s4-0 48) ) - (('blend 'push1) - (set! - (-> gp-0 -1) - (lerp (-> gp-0 -1) (-> s4-0 dist) (-> s4-0 frame-interp)) - ) - ) - (('stack) - (set! - (-> gp-0 -2) - (lerp (-> gp-0 -2) (-> gp-0 -1) (-> s4-0 frame-interp)) - ) - (set! gp-0 (&-> gp-0 -1)) - ) + (-> gp-0 -1) ) - (&+! s4-0 48) - ) - (-> gp-0 -1) ) + (else + 0.0 + ) ) - (else - 0.0 - ) - ) ) ;; definition for function anim-loop (defbehavior anim-loop process-drawable () (logior! (-> self mask) (process-mask sleep-code)) (while #t - (nop!) - (suspend) - ) + (nop!) + (suspend) + ) (none) ) @@ -1273,10 +1022,10 @@ (defbehavior rider-post process-drawable () (ja-post) (let ((gp-0 (the-as collide-shape (-> self root)))) - (dummy-47 gp-0) - (dummy-44 gp-0) - (dummy-45 gp-0) - ) + (dummy-47 gp-0) + (dummy-44 gp-0) + (dummy-45 gp-0) + ) 0 ) @@ -1284,36 +1033,34 @@ (defbehavior pusher-post process-drawable () (ja-post) (let ((gp-0 (the-as collide-shape (-> self root)))) - (dummy-47 gp-0) - (dummy-45 gp-0) - ) + (dummy-47 gp-0) + (dummy-45 gp-0) + ) 0 ) ;; definition for function process-drawable-delay-player (defbehavior process-drawable-delay-player process-drawable ((arg0 int)) - (while - (and - *target* - (logtest? (-> *target* control unknown-surface00 flags) 2048) - (zero? (logand (-> *target* control status) 1)) + (while (and + *target* + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) + ) + (suspend) ) - (suspend) - ) (set! (-> self state-time) (-> *display* base-frame-counter)) (process-grab? *target*) - (while - (or - (-> *setting-control* current talking) - (-> *setting-control* current spooling) - (-> *setting-control* current hint) - (-> *setting-control* current ambient) + (while (or + (-> *setting-control* current talking) + (-> *setting-control* current spooling) + (-> *setting-control* current hint) + (-> *setting-control* current ambient) + ) + (suspend) ) - (suspend) - ) (while (< (- (-> *display* base-frame-counter) (-> self state-time)) arg0) - (suspend) - ) + (suspend) + ) (process-release? *target*) (suspend) 0 @@ -1321,20 +1068,18 @@ ;; definition for function process-drawable-fuel-cell-handler ;; INFO: Return type mismatch int vs none. -(defbehavior - process-drawable-fuel-cell-handler process-drawable - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('notify) - (case (-> arg3 param 0) - (('pickup) +(defbehavior process-drawable-fuel-cell-handler process-drawable ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('notify) + (case (-> arg3 param 0) + (('pickup) (if (type-type? (-> arg0 type) fuel-cell) - (process-entity-status! self (entity-perm-status dead) #t) - ) + (process-entity-status! self (entity-perm-status dead) #t) + ) ) - ) + ) ) - ) + ) (none) ) @@ -1342,43 +1087,34 @@ ;; WARN: Found some very strange gotos. Check result carefully, this is not well tested. ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defbehavior - process-drawable-birth-fuel-cell process-drawable - ((arg0 entity) (arg1 vector) (arg2 symbol)) +(defbehavior process-drawable-birth-fuel-cell process-drawable ((arg0 entity) (arg1 vector) (arg2 symbol)) (let ((v1-0 arg0) (gp-0 (new 'stack-no-clear 'vector)) ) - (if (not v1-0) - (set! v1-0 (-> self entity)) - ) - (if arg1 - (set! (-> gp-0 quad) (-> arg1 quad)) - (set! (-> gp-0 quad) (-> v1-0 extra trans quad)) - ) - (let ((s5-0 (-> v1-0 extra perm task)) - (s4-0 (new 'static 'fact-info)) - ) - (set! (-> s4-0 options) (fact-options)) - (if arg2 - (set! (-> s4-0 options) (fact-options fop6)) - ) - (when (and (nonzero? s5-0) (not (task-complete? *game-info* s5-0))) - (label cfg-12) - (birth-pickup-at-point - gp-0 - (pickup-type fuel-cell) - (the float s5-0) - #f - self - s4-0 + (if (not v1-0) + (set! v1-0 (-> self entity)) + ) + (if arg1 + (set! (-> gp-0 quad) (-> arg1 quad)) + (set! (-> gp-0 quad) (-> v1-0 extra trans quad)) + ) + (let ((s5-0 (-> v1-0 extra perm task)) + (s4-0 (new 'static 'fact-info)) + ) + (set! (-> s4-0 options) (fact-options)) + (if arg2 + (set! (-> s4-0 options) (fact-options fop6)) + ) + (when (and (nonzero? s5-0) (not (task-complete? *game-info* s5-0))) + (label cfg-12) + (birth-pickup-at-point gp-0 (pickup-type fuel-cell) (the float s5-0) #f self s4-0) + (when (not (-> self child)) + (suspend) + (goto cfg-12) + ) + ) ) - (when (not (-> self child)) - (suspend) - (goto cfg-12) - ) - ) ) - ) 0 (none) ) @@ -1392,96 +1128,81 @@ ;; definition (debug) for function process-drawable-valid? (defun-debug process-drawable-valid? ((arg0 process-drawable)) (let ((s5-0 #t)) - (clear *valid-con*) - (format *valid-con* "~%--- ~A -----------------------------~%" arg0) - (dotimes (s4-0 (-> arg0 node-list length)) - (let ((s3-0 (-> arg0 node-list data s4-0))) - (when (-> s3-0 geo) - (cond - ((valid? (-> s3-0 geo) drawable "cspace geo" #t *valid-con*) + (clear *valid-con*) + (format *valid-con* "~%--- ~A -----------------------------~%" arg0) + (dotimes (s4-0 (-> arg0 node-list length)) + (let ((s3-0 (-> arg0 node-list data s4-0))) + (when (-> s3-0 geo) + (cond + ((valid? (-> s3-0 geo) drawable "cspace geo" #t *valid-con*) + ) + (else + (format *valid-con* "ERROR: ~A has an invalid geo ~A~%" s3-0 (-> s3-0 geo)) + (set! s5-0 #f) + ) + ) + ) ) - (else + ) + (let ((s4-1 (-> arg0 skel active-channels))) + (when (< (-> arg0 skel allocated-length) s4-1) (format - *valid-con* - "ERROR: ~A has an invalid geo ~A~%" - s3-0 - (-> s3-0 geo) - ) + *valid-con* + "ERROR: ~~A has ~D joint channels, but only ~D are allowed~%" + arg0 + s4-1 + (-> arg0 skel allocated-length) + ) (set! s5-0 #f) ) - ) - ) - ) - ) - (let ((s4-1 (-> arg0 skel active-channels))) - (when (< (-> arg0 skel allocated-length) s4-1) - (format - *valid-con* - "ERROR: ~~A has ~D joint channels, but only ~D are allowed~%" - arg0 - s4-1 - (-> arg0 skel allocated-length) - ) - (set! s5-0 #f) - ) - (dotimes (s3-1 s4-1) - (let ((s2-0 (-> arg0 skel channel s3-1))) - (case (-> s2-0 command) - (('stack 'stack1) - ) - (else - (set! s5-0 (cond - ((valid? - (-> s2-0 frame-group) - art-joint-anim - "joint-control frame-group" - #t - *valid-con* - ) - (when - (not - (and - (>= (the int (-> s2-0 frame-num)) 0) - (< - (the int (-> s2-0 frame-num)) - (-> s2-0 frame-group data 0 length) - ) - ) - ) - (format - *valid-con* - "ERROR: ~`joint-control-channel`P #~D has an invalid frame-num ~F/~D [0-~D]~%" - s2-0 - s3-1 - (-> s2-0 frame-num) - (the int (-> s2-0 frame-num)) - (+ (-> s2-0 frame-group data 0 length) -1) - ) - (set! s5-0 #f) - ) - s5-0 - ) - (else - (format - *valid-con* - "ERROR: ~`joint-control-channel`P #~D has an invalid frame-group ~A~%" - s2-0 - s3-1 - (-> s2-0 frame-group) - ) - #f - ) + (dotimes (s3-1 s4-1) + (let ((s2-0 (-> arg0 skel channel s3-1))) + (case (-> s2-0 command) + (('stack 'stack1) + ) + (else + (set! s5-0 (cond + ((valid? (-> s2-0 frame-group) art-joint-anim "joint-control frame-group" #t *valid-con*) + (when (not + (and + (>= (the int (-> s2-0 frame-num)) 0) + (< (the int (-> s2-0 frame-num)) (-> s2-0 frame-group data 0 length)) + ) + ) + (format + *valid-con* + "ERROR: ~`joint-control-channel`P #~D has an invalid frame-num ~F/~D [0-~D]~%" + s2-0 + s3-1 + (-> s2-0 frame-num) + (the int (-> s2-0 frame-num)) + (+ (-> s2-0 frame-group data 0 length) -1) + ) + (set! s5-0 #f) + ) + s5-0 + ) + (else + (format + *valid-con* + "ERROR: ~`joint-control-channel`P #~D has an invalid frame-group ~A~%" + s2-0 + s3-1 + (-> s2-0 frame-group) + ) + #f + ) + ) ) - ) + ) + ) + ) ) - ) ) - ) + (when (not s5-0) + (format *valid-con* "--------------------------------~%~%") + (format 0 "~S" *valid-con*) + ) + s5-0 ) - (when (not s5-0) - (format *valid-con* "--------------------------------~%~%") - (format 0 "~S" *valid-con*) - ) - s5-0 - ) ) diff --git a/test/decompiler/reference/engine/engine/connect_REF.gc b/test/decompiler/reference/engine/engine/connect_REF.gc index 63a21747e8..1efe1898f0 100644 --- a/test/decompiler/reference/engine/engine/connect_REF.gc +++ b/test/decompiler/reference/engine/engine/connect_REF.gc @@ -101,14 +101,14 @@ ;; definition for method 2 of type connection (defmethod print connection ((obj connection)) (format - #t - "#" - (-> obj param0) - (-> obj param1) - (-> obj param2) - (-> obj param3) - obj - ) + #t + "#" + (-> obj param0) + (-> obj param1) + (-> obj param2) + (-> obj param3) + obj + ) obj ) @@ -116,10 +116,10 @@ ;; INFO: Return type mismatch pointer vs engine. (defmethod get-engine connection ((obj connection)) (while (-> (the-as connectable obj) prev0) - (nop!) - (nop!) - (set! obj (the-as connection (-> (the-as connectable obj) prev0))) - ) + (nop!) + (nop!) + (set! obj (the-as connection (-> (the-as connectable obj) prev0))) + ) (the-as engine (&+ (the-as pointer obj) -28)) ) @@ -127,19 +127,19 @@ ;; INFO: Return type mismatch pointer vs process. (defmethod get-process connection ((obj connection)) (while (-> (the-as connectable obj) prev1) - (nop!) - (nop!) - (set! obj (the-as connection (-> (the-as connectable obj) prev1))) - ) + (nop!) + (nop!) + (set! obj (the-as connection (-> (the-as connectable obj) prev1))) + ) (the-as process (&+ (the-as pointer obj) -92)) ) ;; definition for method 11 of type connection (defmethod belongs-to-engine? connection ((obj connection) (arg0 engine)) (and - (< (the-as int arg0) (the-as int obj)) - (< (the-as int obj) (the-as int (-> arg0 data (-> arg0 allocated-length)))) - ) + (< (the-as int arg0) (the-as int obj)) + (< (the-as int obj) (the-as int (-> arg0 data (-> arg0 allocated-length)))) + ) ) ;; definition for method 21 of type engine @@ -158,86 +158,47 @@ ) ;; definition for method 0 of type engine -(defmethod - new - engine - ((allocation symbol) (type-to-make type) (name basic) (length int)) - (let - ((obj - (the-as - object - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* (+ length -1) 32))) - ) +(defmethod new engine ((allocation symbol) (type-to-make type) (name basic) (length int)) + (let ((obj (the-as + object + (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) (* (+ length -1) 32)))) + ) + ) + ) + (set! (-> (the-as engine obj) allocated-length) length) + (set! (-> (the-as engine obj) length) 0) + (set! (-> (the-as engine obj) name) name) + (set! (-> (the-as engine obj) alive-list next0) (-> (the-as engine obj) alive-list-end)) + (set! (-> (the-as engine obj) alive-list prev0) #f) + (set! (-> (the-as engine obj) alive-list next1) #f) + (set! (-> (the-as engine obj) alive-list prev1) #f) + (set! (-> (the-as engine obj) alive-list-end next0) #f) + (set! (-> (the-as engine obj) alive-list-end prev0) (-> (the-as engine obj) alive-list)) + (set! (-> (the-as engine obj) alive-list-end next1) #f) + (set! (-> (the-as engine obj) alive-list-end prev1) #f) + (set! (-> (the-as engine obj) dead-list next0) (the-as connectable (-> (the-as engine obj) data))) + (set! (-> (the-as engine obj) dead-list prev0) #f) + (set! (-> (the-as engine obj) dead-list next1) #f) + (set! (-> (the-as engine obj) dead-list prev1) #f) + (set! (-> (the-as engine obj) dead-list-end next0) #f) + (set! (-> (the-as engine obj) dead-list-end prev0) (-> (the-as engine obj) data (+ length -1))) + (set! (-> (the-as engine obj) dead-list-end next1) #f) + (set! (-> (the-as engine obj) dead-list-end prev1) #f) + (set! (-> (the-as engine obj) data 0 prev0) (-> (the-as engine obj) dead-list)) + (set! (-> (the-as engine obj) data 0 next0) (the-as connectable (&+ (the-as pointer obj) 124))) + (let ((idx-to-link 1) + (end-idx (+ length -2)) + ) + (while (>= end-idx idx-to-link) + (set! (-> (the-as engine obj) data idx-to-link prev0) (-> (the-as engine obj) data (+ idx-to-link -1))) + (set! (-> (the-as engine obj) data idx-to-link next0) (-> (the-as engine obj) data (+ idx-to-link 1))) + (+! idx-to-link 1) + ) ) - ) + (set! (-> (the-as engine obj) data (+ length -1) prev0) (-> (the-as engine obj) data (+ length -2))) + (set! (-> (the-as engine obj) data (+ length -1) next0) (-> (the-as engine obj) dead-list-end)) + (the-as engine obj) ) - (set! (-> (the-as engine obj) allocated-length) length) - (set! (-> (the-as engine obj) length) 0) - (set! (-> (the-as engine obj) name) name) - (set! - (-> (the-as engine obj) alive-list next0) - (-> (the-as engine obj) alive-list-end) - ) - (set! (-> (the-as engine obj) alive-list prev0) #f) - (set! (-> (the-as engine obj) alive-list next1) #f) - (set! (-> (the-as engine obj) alive-list prev1) #f) - (set! (-> (the-as engine obj) alive-list-end next0) #f) - (set! - (-> (the-as engine obj) alive-list-end prev0) - (-> (the-as engine obj) alive-list) - ) - (set! (-> (the-as engine obj) alive-list-end next1) #f) - (set! (-> (the-as engine obj) alive-list-end prev1) #f) - (set! - (-> (the-as engine obj) dead-list next0) - (the-as connectable (-> (the-as engine obj) data)) - ) - (set! (-> (the-as engine obj) dead-list prev0) #f) - (set! (-> (the-as engine obj) dead-list next1) #f) - (set! (-> (the-as engine obj) dead-list prev1) #f) - (set! (-> (the-as engine obj) dead-list-end next0) #f) - (set! - (-> (the-as engine obj) dead-list-end prev0) - (-> (the-as engine obj) data (+ length -1)) - ) - (set! (-> (the-as engine obj) dead-list-end next1) #f) - (set! (-> (the-as engine obj) dead-list-end prev1) #f) - (set! - (-> (the-as engine obj) data 0 prev0) - (-> (the-as engine obj) dead-list) - ) - (set! - (-> (the-as engine obj) data 0 next0) - (the-as connectable (&+ (the-as pointer obj) 124)) - ) - (let ((idx-to-link 1) - (end-idx (+ length -2)) - ) - (while (>= end-idx idx-to-link) - (set! - (-> (the-as engine obj) data idx-to-link prev0) - (-> (the-as engine obj) data (+ idx-to-link -1)) - ) - (set! - (-> (the-as engine obj) data idx-to-link next0) - (-> (the-as engine obj) data (+ idx-to-link 1)) - ) - (+! idx-to-link 1) - ) - ) - (set! - (-> (the-as engine obj) data (+ length -1) prev0) - (-> (the-as engine obj) data (+ length -2)) - ) - (set! - (-> (the-as engine obj) data (+ length -1) next0) - (-> (the-as engine obj) dead-list-end) - ) - (the-as engine obj) - ) ) ;; definition for method 2 of type engine @@ -255,28 +216,28 @@ (format #t "~Tlength: ~D~%" (-> obj length)) (format #t "~Talive-list:~%") (let ((s5-0 *print-column*)) - (set! *print-column* (+ *print-column* 64)) - (inspect (-> obj alive-list)) - (set! *print-column* s5-0) - ) + (set! *print-column* (+ *print-column* 64)) + (inspect (-> obj alive-list)) + (set! *print-column* s5-0) + ) (format #t "~Talive-list-end:~%") (let ((s5-1 *print-column*)) - (set! *print-column* (+ *print-column* 64)) - (inspect (-> obj alive-list-end)) - (set! *print-column* s5-1) - ) + (set! *print-column* (+ *print-column* 64)) + (inspect (-> obj alive-list-end)) + (set! *print-column* s5-1) + ) (format #t "~Tdead-list:~%") (let ((s5-2 *print-column*)) - (set! *print-column* (+ *print-column* 64)) - (inspect (-> obj dead-list)) - (set! *print-column* s5-2) - ) + (set! *print-column* (+ *print-column* 64)) + (inspect (-> obj dead-list)) + (set! *print-column* s5-2) + ) (format #t "~Tdead-list-end:~%") (let ((s5-3 *print-column*)) - (set! *print-column* (+ *print-column* 64)) - (inspect (-> obj dead-list-end)) - (set! *print-column* s5-3) - ) + (set! *print-column* (+ *print-column* 64)) + (inspect (-> obj dead-list-end)) + (set! *print-column* s5-3) + ) (format #t "~Tdata[~D]: @ #x~X~%" (-> obj allocated-length) (-> obj data)) obj ) @@ -293,33 +254,27 @@ ) ;; definition for method 10 of type engine -(defmethod - apply-to-connections - engine - ((obj engine) (f (function connectable none))) +(defmethod apply-to-connections engine ((obj engine) (f (function connectable none))) (let* ((current (-> obj alive-list next0)) (next (-> current next0)) ) - (while (!= current (-> obj alive-list-end)) - (f current) - (set! current next) - (set! next (-> next next0)) + (while (!= current (-> obj alive-list-end)) + (f current) + (set! current next) + (set! next (-> next next0)) + ) ) - ) 0 ) ;; definition for method 11 of type engine -(defmethod - apply-to-connections-reverse - engine - ((obj engine) (f (function connectable none))) +(defmethod apply-to-connections-reverse engine ((obj engine) (f (function connectable none))) (let ((iter (-> obj alive-list-end prev0))) - (while (!= iter (-> obj alive-list)) - (f iter) - (set! iter (-> iter prev0)) + (while (!= iter (-> obj alive-list)) + (f iter) + (set! iter (-> iter prev0)) + ) ) - ) 0 ) @@ -327,180 +282,154 @@ (defmethod execute-connections engine ((obj engine) (arg0 object)) (set! (-> obj engine-time) (-> *display* real-frame-counter)) (let ((ct (the-as connection (-> obj alive-list-end prev0)))) - (while (!= ct (-> obj alive-list)) - ((the-as (function basic basic basic object object) (-> ct param0)) - (-> ct param1) - (-> ct param2) - (-> ct param3) - arg0 - ) - (set! ct (the-as connection (-> ct prev0))) + (while (!= ct (-> obj alive-list)) + ((the-as (function basic basic basic object object) (-> ct param0)) + (-> ct param1) + (-> ct param2) + (-> ct param3) + arg0 + ) + (set! ct (the-as connection (-> ct prev0))) + ) ) - ) 0 ) ;; definition for method 13 of type engine -(defmethod - execute-connections-and-move-to-dead - engine - ((obj engine) (arg0 object)) +(defmethod execute-connections-and-move-to-dead engine ((obj engine) (arg0 object)) (set! (-> obj engine-time) (-> *display* real-frame-counter)) (let ((ct (the-as connection (-> obj alive-list-end prev0)))) - (while (!= ct (-> obj alive-list)) - (let - ((result - ((the-as (function basic basic basic object object) (-> ct param0)) - (-> ct param1) - (-> ct param2) - (-> ct param3) - arg0 + (while (!= ct (-> obj alive-list)) + (let ((result ((the-as (function basic basic basic object object) (-> ct param0)) + (-> ct param1) + (-> ct param2) + (-> ct param3) + arg0 + ) + ) + ) + (set! ct (the-as connection (-> ct prev0))) + (if (= result 'dead) + ((method-of-type connection move-to-dead) (the-as connection (-> ct next0))) + ) ) - ) ) - (set! ct (the-as connection (-> ct prev0))) - (if (= result 'dead) - ((method-of-type connection move-to-dead) - (the-as connection (-> ct next0)) - ) - ) - ) ) - ) 0 ) ;; definition for method 14 of type engine (defmethod execute-connections-if-needed engine ((obj engine) (arg0 object)) (if (!= (-> *display* real-frame-counter) (-> obj engine-time)) - (execute-connections obj arg0) - ) + (execute-connections obj arg0) + ) 0 ) ;; definition for function connection-process-apply (defun connection-process-apply ((proc process) (func (function object none))) (when proc - (let ((iter (-> proc connection-list next1))) - (while iter - (func iter) - (set! iter (-> iter next1)) - ) + (let ((iter (-> proc connection-list next1))) + (while iter + (func iter) + (set! iter (-> iter next1)) + ) + ) + #f ) - #f - ) ) ;; definition for method 9 of type engine (defmethod inspect-all-connections engine ((obj engine)) - (apply-to-connections - obj - (the-as (function connectable none) (method-of-type connection inspect)) - ) + (apply-to-connections obj (the-as (function connectable none) (method-of-type connection inspect))) obj ) ;; definition for method 15 of type engine -(defmethod - add-connection - engine - ((obj engine) - (proc process) - (func object) - (p1 object) - (p2 object) - (p3 object) - ) +(defmethod add-connection engine ((obj engine) (proc process) (func object) (p1 object) (p2 object) (p3 object)) (let ((con (the-as connection (-> obj dead-list next0)))) - (when (not (or (not proc) (= con (-> obj dead-list-end)))) - (set! (-> con param0) (the-as basic func)) - (set! (-> con param1) (the-as basic p1)) - (set! (-> con param2) (the-as basic p2)) - (set! (-> con param3) (the-as basic p3)) - (set! (-> obj dead-list next0) (-> con next0)) - (set! (-> con next0 prev0) (-> obj dead-list)) - (set! (-> con next0) (-> obj alive-list next0)) - (set! (-> con next0 prev0) con) - (set! (-> con prev0) (-> obj alive-list)) - (set! (-> obj alive-list next0) con) - (set! (-> con next1) (-> proc connection-list next1)) - (if (-> con next1) - (set! (-> con next1 prev1) con) - ) - (set! (-> con prev1) (-> proc connection-list)) - (set! (-> proc connection-list next1) con) - (+! (-> obj length) 1) - con + (when (not (or (not proc) (= con (-> obj dead-list-end)))) + (set! (-> con param0) (the-as basic func)) + (set! (-> con param1) (the-as basic p1)) + (set! (-> con param2) (the-as basic p2)) + (set! (-> con param3) (the-as basic p3)) + (set! (-> obj dead-list next0) (-> con next0)) + (set! (-> con next0 prev0) (-> obj dead-list)) + (set! (-> con next0) (-> obj alive-list next0)) + (set! (-> con next0 prev0) con) + (set! (-> con prev0) (-> obj alive-list)) + (set! (-> obj alive-list next0) con) + (set! (-> con next1) (-> proc connection-list next1)) + (if (-> con next1) + (set! (-> con next1 prev1) con) + ) + (set! (-> con prev1) (-> proc connection-list)) + (set! (-> proc connection-list next1) con) + (+! (-> obj length) 1) + con + ) ) - ) ) ;; definition for method 13 of type connection (defmethod move-to-dead connection ((obj connection)) (let ((v1-1 (get-engine obj))) - (set! (-> obj prev0 next0) (-> obj next0)) - (set! (-> obj next0 prev0) (-> obj prev0)) - (set! (-> obj prev1 next1) (-> obj next1)) - (if (-> obj next1) - (set! (-> obj next1 prev1) (-> obj prev1)) + (set! (-> obj prev0 next0) (-> obj next0)) + (set! (-> obj next0 prev0) (-> obj prev0)) + (set! (-> obj prev1 next1) (-> obj next1)) + (if (-> obj next1) + (set! (-> obj next1 prev1) (-> obj prev1)) + ) + (set! (-> obj next0) (-> v1-1 dead-list next0)) + (set! (-> obj next0 prev0) obj) + (set! (-> obj prev0) (-> v1-1 dead-list)) + (set! (-> v1-1 dead-list next0) obj) + (+! (-> v1-1 length) -1) ) - (set! (-> obj next0) (-> v1-1 dead-list next0)) - (set! (-> obj next0 prev0) obj) - (set! (-> obj prev0) (-> v1-1 dead-list)) - (set! (-> v1-1 dead-list next0) obj) - (+! (-> v1-1 length) -1) - ) obj ) ;; definition for function process-disconnect (defun process-disconnect ((arg0 process)) (when arg0 - (let ((gp-0 (-> arg0 connection-list next1))) - (while gp-0 - ((method-of-type connection move-to-dead) (the-as connection gp-0)) - (set! gp-0 (-> gp-0 next1)) - ) + (let ((gp-0 (-> arg0 connection-list next1))) + (while gp-0 + ((method-of-type connection move-to-dead) (the-as connection gp-0)) + (set! gp-0 (-> gp-0 next1)) + ) + ) ) - ) 0 ) ;; definition for method 16 of type engine (defmethod remove-from-process engine ((obj engine) (arg0 process)) (when arg0 - (let ((s5-0 (-> arg0 connection-list next1))) - (while s5-0 - (if - ((method-of-type connection belongs-to-engine?) - (the-as connection s5-0) - obj - ) - ((method-of-type connection move-to-dead) (the-as connection s5-0)) + (let ((s5-0 (-> arg0 connection-list next1))) + (while s5-0 + (if ((method-of-type connection belongs-to-engine?) (the-as connection s5-0) obj) + ((method-of-type connection move-to-dead) (the-as connection s5-0)) + ) + (set! s5-0 (-> s5-0 next1)) + ) ) - (set! s5-0 (-> s5-0 next1)) - ) ) - ) 0 ) ;; definition for method 17 of type engine -(defmethod - remove-matching - engine - ((obj engine) (arg0 (function connection engine symbol))) +(defmethod remove-matching engine ((obj engine) (arg0 (function connection engine symbol))) (let* ((s4-0 (-> obj alive-list next0)) (s3-0 (-> s4-0 next0)) ) - (while (!= s4-0 (-> obj alive-list-end)) - (if (arg0 (the-as connection s4-0) obj) - ((method-of-type connection move-to-dead) (the-as connection s4-0)) - ) - (set! s4-0 s3-0) - (set! s3-0 (-> s3-0 next0)) + (while (!= s4-0 (-> obj alive-list-end)) + (if (arg0 (the-as connection s4-0) obj) + ((method-of-type connection move-to-dead) (the-as connection s4-0)) + ) + (set! s4-0 s3-0) + (set! s3-0 (-> s3-0 next0)) + ) ) - ) 0 ) @@ -509,12 +438,12 @@ (let* ((a0-1 (-> obj alive-list next0)) (s5-0 (-> a0-1 next0)) ) - (while (!= a0-1 (-> obj alive-list-end)) - ((method-of-type connection move-to-dead) (the-as connection a0-1)) - (set! a0-1 s5-0) - (set! s5-0 (-> s5-0 next0)) + (while (!= a0-1 (-> obj alive-list-end)) + ((method-of-type connection move-to-dead) (the-as connection a0-1)) + (set! a0-1 s5-0) + (set! s5-0 (-> s5-0 next0)) + ) ) - ) 0 ) @@ -523,14 +452,14 @@ (let* ((current (-> obj alive-list next0)) (next (-> current next0)) ) - (while (!= current (-> obj alive-list-end)) - (if (= (-> (the-as connection current) param1) p1-value) - ((method-of-type connection move-to-dead) (the-as connection current)) - ) - (set! current next) - (set! next (-> next next0)) + (while (!= current (-> obj alive-list-end)) + (if (= (-> (the-as connection current) param1) p1-value) + ((method-of-type connection move-to-dead) (the-as connection current)) + ) + (set! current next) + (set! next (-> next next0)) + ) ) - ) 0 ) @@ -539,13 +468,13 @@ (let* ((current (-> obj alive-list next0)) (next (-> current next0)) ) - (while (!= current (-> obj alive-list-end)) - (if (= (-> (the-as connection current) param2) p2-value) - ((method-of-type connection move-to-dead) (the-as connection current)) - ) - (set! current next) - (set! next (-> next next0)) + (while (!= current (-> obj alive-list-end)) + (if (= (-> (the-as connection current) param2) p2-value) + ((method-of-type connection move-to-dead) (the-as connection current)) + ) + (set! current next) + (set! next (-> next next0)) + ) ) - ) 0 ) diff --git a/test/decompiler/reference/engine/engine/engines_REF.gc b/test/decompiler/reference/engine/engine/engines_REF.gc index df4aacdf21..a6352dc46b 100644 --- a/test/decompiler/reference/engine/engine/engines_REF.gc +++ b/test/decompiler/reference/engine/engine/engines_REF.gc @@ -5,10 +5,7 @@ (define *background-draw-engine* (new 'global 'engine 'draw 10)) ;; definition for symbol *matrix-engine*, type (array handle) -(define - *matrix-engine* - (the-as (array handle) (new 'global 'boxed-array handle 1024)) - ) +(define *matrix-engine* (the-as (array handle) (new 'global 'boxed-array handle 1024))) ;; failed to figure out what this is: (set! (-> *matrix-engine* length) 0) diff --git a/test/decompiler/reference/engine/entity/actor-link-h_REF.gc b/test/decompiler/reference/engine/entity/actor-link-h_REF.gc index a986fda480..f34953b629 100644 --- a/test/decompiler/reference/engine/entity/actor-link-h_REF.gc +++ b/test/decompiler/reference/engine/entity/actor-link-h_REF.gc @@ -8,18 +8,16 @@ (local-vars (sv-16 res-tag)) (set! sv-16 (new 'static 'res-tag)) (let ((v1-1 (res-lump-data lump name (pointer uint32) :tag-ptr (& sv-16)))) - (the-as - entity-actor - (when (and v1-1 (< idx (the-as int (-> sv-16 elt-count)))) - (if (= (-> sv-16 elt-type) string) - (entity-by-name - (the-as string (-> (the-as (pointer uint32) (&+ v1-1 (* idx 4))) 0)) - ) - (entity-by-aid (-> (the-as (pointer uint32) (&+ v1-1 (* idx 4))) 0)) + (the-as + entity-actor + (when (and v1-1 (< idx (the-as int (-> sv-16 elt-count)))) + (if (= (-> sv-16 elt-type) string) + (entity-by-name (the-as string (-> (the-as (pointer uint32) (&+ v1-1 (* idx 4))) 0))) + (entity-by-aid (-> (the-as (pointer uint32) (&+ v1-1 (* idx 4))) 0)) + ) + ) ) - ) ) - ) ) ;; definition for function entity-actor-count @@ -29,9 +27,9 @@ (local-vars (tag res-tag)) (set! tag (new 'static 'res-tag)) (if (res-lump-data res name pointer :tag-ptr (& tag)) - (the-as int (-> tag elt-count)) - 0 - ) + (the-as int (-> tag elt-count)) + 0 + ) ) ;; definition of type actor-link-info @@ -85,24 +83,17 @@ ) ;; definition for method 0 of type actor-link-info -(defmethod - new - actor-link-info - ((allocation symbol) (type-to-make type) (proc process)) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new actor-link-info ((allocation symbol) (type-to-make type) (proc process)) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj process) proc) + (let ((ent (-> proc entity))) + (set! (-> obj next) (entity-actor-lookup ent 'next-actor 0)) + ) + (let ((a0-2 (-> proc entity))) + (set! (-> obj prev) (entity-actor-lookup a0-2 'prev-actor 0)) + ) + obj ) - (set! (-> obj process) proc) - (let ((ent (-> proc entity))) - (set! (-> obj next) (entity-actor-lookup ent 'next-actor 0)) - ) - (let ((a0-2 (-> proc entity))) - (set! (-> obj prev) (entity-actor-lookup a0-2 'prev-actor 0)) - ) - obj - ) ) ;; definition for method 12 of type actor-link-info @@ -118,162 +109,132 @@ ;; definition for method 14 of type actor-link-info ;; INFO: Return type mismatch basic vs process. (defmethod get-next-process actor-link-info ((obj actor-link-info)) - (the-as - process - (and (-> obj next) (-> (the-as entity-links (-> obj next extra)) process)) - ) + (the-as process (and (-> obj next) (-> (the-as entity-links (-> obj next extra)) process))) ) ;; definition for method 15 of type actor-link-info ;; INFO: Return type mismatch basic vs process. (defmethod get-prev-process actor-link-info ((obj actor-link-info)) - (the-as - process - (and (-> obj prev) (-> (the-as entity-links (-> obj prev extra)) process)) - ) + (the-as process (and (-> obj prev) (-> (the-as entity-links (-> obj prev extra)) process))) ) ;; definition for method 11 of type actor-link-info (defmethod link-to-next-and-prev-actor actor-link-info ((obj actor-link-info)) (let ((a0-1 (-> obj process entity))) - (set! (-> obj next) (entity-actor-lookup a0-1 'next-actor 0)) - ) + (set! (-> obj next) (entity-actor-lookup a0-1 'next-actor 0)) + ) (let ((a0-2 (-> obj process entity))) - (set! (-> obj prev) (entity-actor-lookup a0-2 'prev-actor 0)) - ) + (set! (-> obj prev) (entity-actor-lookup a0-2 'prev-actor 0)) + ) (-> obj next) ) ;; definition for method 16 of type actor-link-info -(defmethod - apply-function-forward - actor-link-info - ((obj actor-link-info) - (arg0 (function entity-actor object object)) - (arg1 object) - ) +(defmethod apply-function-forward actor-link-info ((obj actor-link-info) (arg0 (function entity-actor object object)) (arg1 object)) (let ((s3-0 (-> obj next))) - (while s3-0 - (if (arg0 s3-0 arg1) - (return (the-as int #f)) - ) - (set! s3-0 (entity-actor-lookup s3-0 'next-actor 0)) + (while s3-0 + (if (arg0 s3-0 arg1) + (return (the-as int #f)) + ) + (set! s3-0 (entity-actor-lookup s3-0 'next-actor 0)) + ) ) - ) 0 ) ;; definition for method 17 of type actor-link-info -(defmethod - apply-function-reverse - actor-link-info - ((obj actor-link-info) - (arg0 (function entity-actor object object)) - (arg1 object) - ) +(defmethod apply-function-reverse actor-link-info ((obj actor-link-info) (arg0 (function entity-actor object object)) (arg1 object)) (let ((s3-0 (-> obj prev))) - (while s3-0 - (if (arg0 s3-0 arg1) - (return (the-as int #f)) - ) - (set! s3-0 (entity-actor-lookup s3-0 'prev-actor 0)) + (while s3-0 + (if (arg0 s3-0 arg1) + (return (the-as int #f)) + ) + (set! s3-0 (entity-actor-lookup s3-0 'prev-actor 0)) + ) ) - ) 0 ) ;; definition for method 18 of type actor-link-info -(defmethod - apply-all - actor-link-info - ((obj actor-link-info) - (arg0 (function entity-actor object object)) - (arg1 object) - ) +(defmethod apply-all actor-link-info ((obj actor-link-info) (arg0 (function entity-actor object object)) (arg1 object)) (let ((s4-0 (-> obj process entity))) - (while (let ((a0-2 s4-0)) - (entity-actor-lookup a0-2 'prev-actor 0) - ) - (set! s4-0 (entity-actor-lookup s4-0 'prev-actor 0)) + (while (let ((a0-2 s4-0)) + (entity-actor-lookup a0-2 'prev-actor 0) + ) + (set! s4-0 (entity-actor-lookup s4-0 'prev-actor 0)) + ) + (while s4-0 + (if (arg0 (the-as entity-actor s4-0) arg1) + (return (the-as int #f)) + ) + (let ((a0-4 s4-0)) + (set! s4-0 (entity-actor-lookup a0-4 'next-actor 0)) + ) + ) ) - (while s4-0 - (if (arg0 (the-as entity-actor s4-0) arg1) - (return (the-as int #f)) - ) - (let ((a0-4 s4-0)) - (set! s4-0 (entity-actor-lookup a0-4 'next-actor 0)) - ) - ) - ) 0 ) ;; definition for method 20 of type actor-link-info -(defmethod - send-to-all-after - actor-link-info - ((obj actor-link-info) (message symbol)) +(defmethod send-to-all-after actor-link-info ((obj actor-link-info) (message symbol)) (with-pp - (let ((iter (-> obj next)) - (result (the-as object #f)) - ) - (while iter - (let ((proc (-> iter extra process))) - (when proc - (let ((msg-block (new 'stack-no-clear 'event-message-block))) - (set! (-> msg-block from) pp) - (set! (-> msg-block num-params) 0) - (set! (-> msg-block message) message) - (set! result (or (send-event-function proc msg-block) result)) + (let ((iter (-> obj next)) + (result (the-as object #f)) + ) + (while iter + (let ((proc (-> iter extra process))) + (when proc + (let ((msg-block (new 'stack-no-clear 'event-message-block))) + (set! (-> msg-block from) pp) + (set! (-> msg-block num-params) 0) + (set! (-> msg-block message) message) + (set! result (or (send-event-function proc msg-block) result)) + ) + ) + ) + (set! iter (entity-actor-lookup iter 'next-actor 0)) ) - ) + result ) - (set! iter (entity-actor-lookup iter 'next-actor 0)) - ) - result ) - ) ) ;; definition for method 21 of type actor-link-info -(defmethod - send-to-all-before - actor-link-info - ((obj actor-link-info) (arg0 symbol)) +(defmethod send-to-all-before actor-link-info ((obj actor-link-info) (arg0 symbol)) (with-pp - (let ((s4-0 (-> obj prev)) - (s5-0 (the-as object #f)) - ) - (while s4-0 - (let ((a0-1 (-> s4-0 extra process))) - (when a0-1 - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) pp) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) arg0) - (set! s5-0 (or (send-event-function a0-1 a1-1) s5-0)) + (let ((s4-0 (-> obj prev)) + (s5-0 (the-as object #f)) + ) + (while s4-0 + (let ((a0-1 (-> s4-0 extra process))) + (when a0-1 + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) pp) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) arg0) + (set! s5-0 (or (send-event-function a0-1 a1-1) s5-0)) + ) + ) + ) + (set! s4-0 (entity-actor-lookup s4-0 'prev-actor 0)) ) - ) + s5-0 ) - (set! s4-0 (entity-actor-lookup s4-0 'prev-actor 0)) - ) - s5-0 ) - ) ) ;; definition for method 23 of type actor-link-info ;; INFO: Return type mismatch int vs none. (defmethod send-to-next actor-link-info ((obj actor-link-info) (arg0 symbol)) (let ((a0-1 (-> obj next))) - (when a0-1 - (let ((a0-2 (-> (the-as entity-links (-> a0-1 extra)) process))) - (if a0-2 - (send-event a0-2 arg0) + (when a0-1 + (let ((a0-2 (-> (the-as entity-links (-> a0-1 extra)) process))) + (if a0-2 + (send-event a0-2 arg0) + ) + ) ) - ) ) - ) 0 (none) ) @@ -282,23 +243,20 @@ ;; INFO: Return type mismatch int vs none. (defmethod send-to-prev actor-link-info ((obj actor-link-info) (arg0 symbol)) (let ((a0-1 (-> obj prev))) - (when a0-1 - (let ((a0-2 (-> (the-as entity-links (-> a0-1 extra)) process))) - (if a0-2 - (send-event a0-2 arg0) + (when a0-1 + (let ((a0-2 (-> (the-as entity-links (-> a0-1 extra)) process))) + (if a0-2 + (send-event a0-2 arg0) + ) + ) ) - ) ) - ) 0 (none) ) ;; definition for method 22 of type actor-link-info -(defmethod - send-to-next-and-prev - actor-link-info - ((obj actor-link-info) (arg0 symbol)) +(defmethod send-to-next-and-prev actor-link-info ((obj actor-link-info) (arg0 symbol)) (send-to-next obj arg0) (send-to-prev obj arg0) (none) @@ -317,47 +275,44 @@ (let ((actor (-> obj process entity)) (count 0) ) - (while (let ((a0-2 actor)) - (entity-actor-lookup a0-2 'prev-actor 0) - ) - (set! actor (entity-actor-lookup actor 'prev-actor 0)) + (while (let ((a0-2 actor)) + (entity-actor-lookup a0-2 'prev-actor 0) + ) + (set! actor (entity-actor-lookup actor 'prev-actor 0)) + ) + (while actor + (+! count 1) + (let ((a0-3 actor)) + (set! actor (entity-actor-lookup a0-3 'next-actor 0)) + ) + ) + count ) - (while actor - (+! count 1) - (let ((a0-3 actor)) - (set! actor (entity-actor-lookup a0-3 'next-actor 0)) - ) - ) - count - ) ) ;; definition for method 9 of type actor-link-info -(defmethod - get-matching-actor-type-mask - actor-link-info - ((obj actor-link-info) (matching-type type)) +(defmethod get-matching-actor-type-mask actor-link-info ((obj actor-link-info) (matching-type type)) (let ((actor (the-as entity-actor (-> obj process entity))) (mask 0) ) - (let ((current-bit 1)) - (while (let ((a0-2 actor)) - (entity-actor-lookup a0-2 'prev-actor 0) + (let ((current-bit 1)) + (while (let ((a0-2 actor)) + (entity-actor-lookup a0-2 'prev-actor 0) + ) + (set! actor (entity-actor-lookup actor 'prev-actor 0)) + ) + (while actor + (if (= (-> actor etype) matching-type) + (set! mask (logior mask current-bit)) ) - (set! actor (entity-actor-lookup actor 'prev-actor 0)) - ) - (while actor - (if (= (-> actor etype) matching-type) - (set! mask (logior mask current-bit)) + (let ((a0-3 actor)) + (set! actor (entity-actor-lookup a0-3 'next-actor 0)) + ) + (set! current-bit (* current-bit 2)) + ) ) - (let ((a0-3 actor)) - (set! actor (entity-actor-lookup a0-3 'next-actor 0)) - ) - (set! current-bit (* current-bit 2)) - ) + mask ) - mask - ) ) ;; definition for method 10 of type actor-link-info @@ -366,55 +321,47 @@ (actor this-actor) (count 0) ) - (while (let ((a0-2 actor)) - (entity-actor-lookup a0-2 'prev-actor 0) - ) - (set! actor (entity-actor-lookup actor 'prev-actor 0)) + (while (let ((a0-2 actor)) + (entity-actor-lookup a0-2 'prev-actor 0) + ) + (set! actor (entity-actor-lookup actor 'prev-actor 0)) + ) + (while (!= actor this-actor) + (+! count 1) + (let ((a0-3 actor)) + (set! actor (entity-actor-lookup a0-3 'next-actor 0)) + ) + ) + count ) - (while (!= actor this-actor) - (+! count 1) - (let ((a0-3 actor)) - (set! actor (entity-actor-lookup a0-3 'next-actor 0)) - ) - ) - count - ) ) ;; definition for function actor-link-subtask-complete-hook -(defun - actor-link-subtask-complete-hook - ((arg0 entity-actor) (arg1 (pointer symbol))) +(defun actor-link-subtask-complete-hook ((arg0 entity-actor) (arg1 (pointer symbol))) (cond - ((logtest? - (-> (the-as entity-links (-> arg0 extra)) perm status) - (entity-perm-status complete) + ((logtest? (-> (the-as entity-links (-> arg0 extra)) perm status) (entity-perm-status complete)) + (set! (-> arg1 0) #t) + #f ) - (set! (-> arg1 0) #t) - #f + (else + (set! (-> arg1 0) #f) + #t + ) ) - (else - (set! (-> arg1 0) #f) - #t - ) - ) ) ;; definition for function actor-link-dead-hook (defun actor-link-dead-hook ((arg0 entity-actor) (arg1 (pointer symbol))) (cond - ((logtest? - (-> (the-as entity-links (-> arg0 extra)) perm status) - (entity-perm-status dead) + ((logtest? (-> (the-as entity-links (-> arg0 extra)) perm status) (entity-perm-status dead)) + (set! (-> arg1 0) #t) + #f ) - (set! (-> arg1 0) #t) - #f + (else + (set! (-> arg1 0) #f) + #t + ) ) - (else - (set! (-> arg1 0) #f) - #t - ) - ) ) ;; definition for function alt-actor-list-subtask-incomplete-count @@ -422,23 +369,16 @@ (let ((alt-actor-count (entity-actor-count (-> arg0 entity) 'alt-actor)) (incomplete-count 0) ) - (dotimes (alt-actor-idx alt-actor-count) - (let - ((a0-3 (entity-actor-lookup (-> arg0 entity) 'alt-actor alt-actor-idx))) - (if - (or - (not a0-3) - (zero? - (logand - (-> (the-as entity-links (-> a0-3 extra)) perm status) - (entity-perm-status complete) - ) + (dotimes (alt-actor-idx alt-actor-count) + (let ((a0-3 (entity-actor-lookup (-> arg0 entity) 'alt-actor alt-actor-idx))) + (if (or + (not a0-3) + (zero? (logand (-> (the-as entity-links (-> a0-3 extra)) perm status) (entity-perm-status complete))) + ) + (+! incomplete-count 1) + ) ) - ) - (+! incomplete-count 1) ) - ) + incomplete-count ) - incomplete-count - ) ) diff --git a/test/decompiler/reference/engine/entity/entity-h_REF.gc b/test/decompiler/reference/engine/entity/entity-h_REF.gc index 8a7624ca6c..241de803d6 100644 --- a/test/decompiler/reference/engine/entity/entity-h_REF.gc +++ b/test/decompiler/reference/engine/entity/entity-h_REF.gc @@ -281,8 +281,8 @@ ;; failed to figure out what this is: (if (zero? entity-nav-login) - (set! entity-nav-login (the-as (function entity-actor none) nothing)) - ) + (set! entity-nav-login (the-as (function entity-actor none) nothing)) + ) ;; definition of type actor-bank (deftype actor-bank (basic) @@ -305,14 +305,7 @@ ) ;; definition for symbol *ACTOR-bank*, type actor-bank -(define - *ACTOR-bank* - (new 'static 'actor-bank - :pause-dist 204800.0 - :birth-dist 901120.0 - :birth-max 10 - ) - ) +(define *ACTOR-bank* (new 'static 'actor-bank :pause-dist 204800.0 :birth-dist 901120.0 :birth-max 10)) ;; failed to figure out what this is: 0 diff --git a/test/decompiler/reference/engine/entity/entity-table_REF.gc b/test/decompiler/reference/engine/entity/entity-table_REF.gc index d0b0e7cb3e..81784d2b46 100644 --- a/test/decompiler/reference/engine/entity/entity-table_REF.gc +++ b/test/decompiler/reference/engine/entity/entity-table_REF.gc @@ -2,177 +2,171 @@ (in-package goal) ;; definition for symbol *entity-info*, type (array entity-info) -(define - *entity-info* - (the-as (array entity-info) - (new - 'static - 'boxed-array - :type entity-info :length 19 :allocated-length 19 - (new 'static 'entity-info - :ptype - (type-ref sage-finalboss :method-count 53) - :package "l1" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #x8000 - ) - (new 'static 'entity-info - :ptype (type-ref robotboss :method-count 21) - :package "l1" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #x8000 - ) - (new 'static 'entity-info - :ptype - (type-ref assistant-levitator :method-count 53) - :package "l1" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #x8000 - ) - (new 'static 'entity-info - :ptype (type-ref babak :method-count 76) - :package "l1" - :art-group '("babak") - :pool '*16k-dead-pool* - :heap-size #x2800 - ) - (new 'static 'entity-info - :ptype (type-ref racer :method-count 24) - :package "game" - :art-group '("racer") - :pool '*16k-dead-pool* - :heap-size #x4000 - ) - (new 'static 'entity-info - :ptype (type-ref springbox :method-count 20) - :package "game" - :art-group '("bounceytarp") - :pool '*16k-dead-pool* - :heap-size #x1400 - ) - (new 'static 'entity-info - :ptype (type-ref launcher :method-count 20) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #x400 - ) - (new 'static 'entity-info - :ptype - (type-ref pickup-spawner :method-count 30) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #xc00 - ) - (new 'static 'entity-info - :ptype (type-ref bucket :method-count 30) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #xc00 - ) - (new 'static 'entity-info - :ptype (type-ref barrel :method-count 30) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #xc00 - ) - (new 'static 'entity-info - :ptype (type-ref crate :method-count 30) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #xc00 - ) - (new 'static 'entity-info - :ptype - (type-ref orb-cache-top :method-count 29) - :package "game" - :art-group '("orb-cache-top") - :pool '*16k-dead-pool* - :heap-size #x1000 - ) - (new 'static 'entity-info - :ptype (type-ref eco :method-count 31) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #x1000 - ) - (new 'static 'entity-info - :ptype (type-ref ecovent :method-count 21) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #x1000 - ) - (new 'static 'entity-info - :ptype (type-ref fuel-cell :method-count 31) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #x1400 - ) - (new 'static 'entity-info - :ptype (type-ref buzzer :method-count 31) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #x1000 - ) - (new 'static 'entity-info - :ptype (type-ref money :method-count 31) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #x800 - ) - (new 'static 'entity-info - :ptype (type-ref water-vol :method-count 30) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #xc00 - ) - (new 'static 'entity-info - :ptype - (type-ref target-start :method-count 15) - :package "game" - :art-group '() - :pool '*16k-dead-pool* - :heap-size #x400 - ) - ) - ) - ) +(define *entity-info* (the-as (array entity-info) (new + 'static + 'boxed-array + :type entity-info :length 19 :allocated-length 19 + (new 'static 'entity-info + :ptype + (type-ref sage-finalboss :method-count 53) + :package "l1" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #x8000 + ) + (new 'static 'entity-info + :ptype (type-ref robotboss :method-count 21) + :package "l1" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #x8000 + ) + (new 'static 'entity-info + :ptype + (type-ref assistant-levitator :method-count 53) + :package "l1" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #x8000 + ) + (new 'static 'entity-info + :ptype (type-ref babak :method-count 76) + :package "l1" + :art-group '("babak") + :pool '*16k-dead-pool* + :heap-size #x2800 + ) + (new 'static 'entity-info + :ptype (type-ref racer :method-count 24) + :package "game" + :art-group '("racer") + :pool '*16k-dead-pool* + :heap-size #x4000 + ) + (new 'static 'entity-info + :ptype (type-ref springbox :method-count 20) + :package "game" + :art-group '("bounceytarp") + :pool '*16k-dead-pool* + :heap-size #x1400 + ) + (new 'static 'entity-info + :ptype (type-ref launcher :method-count 20) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #x400 + ) + (new 'static 'entity-info + :ptype + (type-ref pickup-spawner :method-count 30) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #xc00 + ) + (new 'static 'entity-info + :ptype (type-ref bucket :method-count 30) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #xc00 + ) + (new 'static 'entity-info + :ptype (type-ref barrel :method-count 30) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #xc00 + ) + (new 'static 'entity-info + :ptype (type-ref crate :method-count 30) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #xc00 + ) + (new 'static 'entity-info + :ptype + (type-ref orb-cache-top :method-count 29) + :package "game" + :art-group '("orb-cache-top") + :pool '*16k-dead-pool* + :heap-size #x1000 + ) + (new 'static 'entity-info + :ptype (type-ref eco :method-count 31) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #x1000 + ) + (new 'static 'entity-info + :ptype (type-ref ecovent :method-count 21) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #x1000 + ) + (new 'static 'entity-info + :ptype (type-ref fuel-cell :method-count 31) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #x1400 + ) + (new 'static 'entity-info + :ptype (type-ref buzzer :method-count 31) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #x1000 + ) + (new 'static 'entity-info + :ptype (type-ref money :method-count 31) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #x800 + ) + (new 'static 'entity-info + :ptype (type-ref water-vol :method-count 30) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #xc00 + ) + (new 'static 'entity-info + :ptype + (type-ref target-start :method-count 15) + :package "game" + :art-group '() + :pool '*16k-dead-pool* + :heap-size #x400 + ) + ) + ) + ) ;; definition for function entity-info-lookup ;; INFO: Return type mismatch basic vs entity-info. (defun entity-info-lookup ((arg0 type)) (the-as entity-info (cond - ((nonzero? (-> arg0 method-table 13)) - (-> arg0 method-table 13) - ) - (else - (let ((v1-1 *entity-info*)) - (dotimes (a1-0 (-> v1-1 length)) - (when (= arg0 (-> v1-1 a1-0 ptype)) - (set! - (-> arg0 method-table 13) - (the-as function (-> v1-1 a1-0)) - ) - (return (the-as entity-info (-> v1-1 a1-0))) - ) - ) + ((nonzero? (-> arg0 method-table 13)) + (-> arg0 method-table 13) ) - (set! (-> arg0 method-table 13) #f) - #f + (else + (let ((v1-1 *entity-info*)) + (dotimes (a1-0 (-> v1-1 length)) + (when (= arg0 (-> v1-1 a1-0 ptype)) + (set! (-> arg0 method-table 13) (the-as function (-> v1-1 a1-0))) + (return (the-as entity-info (-> v1-1 a1-0))) + ) + ) + ) + (set! (-> arg0 method-table 13) #f) + #f + ) ) - ) - ) + ) ) diff --git a/test/decompiler/reference/engine/entity/relocate_REF.gc b/test/decompiler/reference/engine/entity/relocate_REF.gc index b64d544cdc..8e11e69624 100644 --- a/test/decompiler/reference/engine/entity/relocate_REF.gc +++ b/test/decompiler/reference/engine/entity/relocate_REF.gc @@ -4,88 +4,78 @@ ;; definition for method 7 of type process (defmethod relocate process ((obj process) (arg0 int)) (let ((v1-0 *kernel-context*)) - (set! (-> v1-0 relocating-process) obj) - (set! (-> v1-0 relocating-min) (the-as int (&-> obj type))) - (set! - (-> v1-0 relocating-max) - (the-as - int - (+ (+ (-> obj allocated-length) -4 (-> process size)) (the-as int obj)) - ) + (set! (-> v1-0 relocating-process) obj) + (set! (-> v1-0 relocating-min) (the-as int (&-> obj type))) + (set! (-> v1-0 relocating-max) + (the-as int (+ (+ (-> obj allocated-length) -4 (-> process size)) (the-as int obj))) + ) + (set! (-> v1-0 relocating-offset) arg0) ) - (set! (-> v1-0 relocating-offset) arg0) - ) (&+! (-> obj ppointer 0) arg0) (let ((v1-5 (-> obj entity))) - (if (and v1-5 (= (-> v1-5 extra process) obj)) - (&+! (-> v1-5 extra process) arg0) + (if (and v1-5 (= (-> v1-5 extra process) obj)) + (&+! (-> v1-5 extra process) arg0) + ) ) - ) (let ((v1-7 (-> obj connection-list next1))) - (while (the-as connection v1-7) - (let ((a0-14 (-> v1-7 prev1))) - (if - (and - (>= (the-as int a0-14) (-> *kernel-context* relocating-min)) - (< (the-as int a0-14) (-> *kernel-context* relocating-max)) - ) - (&+! (-> v1-7 prev1) arg0) + (while (the-as connection v1-7) + (let ((a0-14 (-> v1-7 prev1))) + (if (and + (>= (the-as int a0-14) (-> *kernel-context* relocating-min)) + (< (the-as int a0-14) (-> *kernel-context* relocating-max)) + ) + (&+! (-> v1-7 prev1) arg0) + ) + ) + (let ((a0-19 (-> (the-as connection v1-7) param1))) + (if (and + (>= (the-as int a0-19) (-> *kernel-context* relocating-min)) + (< (the-as int a0-19) (-> *kernel-context* relocating-max)) + ) + (&+! (-> (the-as connection v1-7) param1) arg0) + ) + ) + (let ((a0-24 (-> (the-as connection v1-7) param2))) + (if (and + (>= (the-as int a0-24) (-> *kernel-context* relocating-min)) + (< (the-as int a0-24) (-> *kernel-context* relocating-max)) + ) + (&+! (-> (the-as connection v1-7) param2) arg0) + ) + ) + (let ((a0-29 (-> (the-as connection v1-7) param3))) + (if (and + (>= (the-as int a0-29) (-> *kernel-context* relocating-min)) + (< (the-as int a0-29) (-> *kernel-context* relocating-max)) + ) + (&+! (-> (the-as connection v1-7) param3) arg0) + ) + ) + (set! v1-7 (-> (the-as connection v1-7) next1)) ) - ) - (let ((a0-19 (-> (the-as connection v1-7) param1))) - (if - (and - (>= (the-as int a0-19) (-> *kernel-context* relocating-min)) - (< (the-as int a0-19) (-> *kernel-context* relocating-max)) - ) - (&+! (-> (the-as connection v1-7) param1) arg0) - ) - ) - (let ((a0-24 (-> (the-as connection v1-7) param2))) - (if - (and - (>= (the-as int a0-24) (-> *kernel-context* relocating-min)) - (< (the-as int a0-24) (-> *kernel-context* relocating-max)) - ) - (&+! (-> (the-as connection v1-7) param2) arg0) - ) - ) - (let ((a0-29 (-> (the-as connection v1-7) param3))) - (if - (and - (>= (the-as int a0-29) (-> *kernel-context* relocating-min)) - (< (the-as int a0-29) (-> *kernel-context* relocating-max)) - ) - (&+! (-> (the-as connection v1-7) param3) arg0) - ) - ) - (set! v1-7 (-> (the-as connection v1-7) next1)) ) - ) (let ((v1-10 (-> obj self))) - (if - (and - (>= (the-as int v1-10) (-> *kernel-context* relocating-min)) - (< (the-as int v1-10) (-> *kernel-context* relocating-max)) - ) - (&+! (-> obj self) arg0) + (if (and + (>= (the-as int v1-10) (-> *kernel-context* relocating-min)) + (< (the-as int v1-10) (-> *kernel-context* relocating-max)) + ) + (&+! (-> obj self) arg0) + ) ) - ) (let ((v1-15 (-> obj ppointer))) - (if - (and - (>= (the-as int v1-15) (-> *kernel-context* relocating-min)) - (< (the-as int v1-15) (-> *kernel-context* relocating-max)) - ) - (&+! (-> obj ppointer) arg0) + (if (and + (>= (the-as int v1-15) (-> *kernel-context* relocating-min)) + (< (the-as int v1-15) (-> *kernel-context* relocating-max)) + ) + (&+! (-> obj ppointer) arg0) + ) ) - ) (let ((s4-0 (&+ (-> obj heap-base) 4))) - (while (< (the-as int s4-0) (the-as int (-> obj heap-cur))) - (relocate s4-0 arg0) - (&+! s4-0 (logand -16 (+ (asize-of s4-0) 15))) + (while (< (the-as int s4-0) (the-as int (-> obj heap-cur))) + (relocate s4-0 arg0) + (&+! s4-0 (logand -16 (+ (asize-of s4-0) 15))) + ) ) - ) (&+! (-> obj main-thread) arg0) (&+! (-> obj top-thread) arg0) (&+! (-> obj heap-base) arg0) @@ -94,18 +84,18 @@ (let ((a2-4 (asize-of obj)) (a1-22 (&-> obj type)) ) - (cond - ((>= arg0 0) - (qmem-copy->! (&+ a1-22 arg0) a1-22 a2-4) - ) - ((< a2-4 2560) - (qmem-copy<-! (&+ a1-22 arg0) a1-22 a2-4) - ) - (else - (ultimate-memcpy (&+ a1-22 arg0) a1-22 (the-as uint a2-4)) - ) + (cond + ((>= arg0 0) + (qmem-copy->! (&+ a1-22 arg0) a1-22 a2-4) + ) + ((< a2-4 2560) + (qmem-copy<-! (&+ a1-22 arg0) a1-22 a2-4) + ) + (else + (ultimate-memcpy (&+ a1-22 arg0) a1-22 (the-as uint a2-4)) + ) + ) ) - ) (set! (-> *kernel-context* relocating-process) #f) (&+ obj arg0) ) @@ -120,56 +110,52 @@ ;; INFO: Return type mismatch process vs process-drawable. (defmethod relocate process-drawable ((obj process-drawable) (arg0 int)) (let ((v1-0 *kernel-context*)) - (set! (-> v1-0 relocating-process) obj) - (set! (-> v1-0 relocating-min) (the-as int (&-> obj type))) - (set! - (-> v1-0 relocating-max) - (the-as - int - (+ (+ (-> obj allocated-length) -4 (-> process size)) (the-as int obj)) - ) + (set! (-> v1-0 relocating-process) obj) + (set! (-> v1-0 relocating-min) (the-as int (&-> obj type))) + (set! (-> v1-0 relocating-max) + (the-as int (+ (+ (-> obj allocated-length) -4 (-> process size)) (the-as int obj))) + ) + (set! (-> v1-0 relocating-offset) arg0) ) - (set! (-> v1-0 relocating-offset) arg0) - ) (if (nonzero? (-> obj root)) - (&+! (-> obj root) arg0) - ) + (&+! (-> obj root) arg0) + ) (if (nonzero? (-> obj node-list)) - (&+! (-> obj node-list) arg0) - ) + (&+! (-> obj node-list) arg0) + ) (if (nonzero? (-> obj draw)) - (&+! (-> obj draw) arg0) - ) + (&+! (-> obj draw) arg0) + ) (if (nonzero? (-> obj skel)) - (&+! (-> obj skel) arg0) - ) + (&+! (-> obj skel) arg0) + ) (if (nonzero? (-> obj nav)) - (&+! (-> obj nav) arg0) - ) + (&+! (-> obj nav) arg0) + ) (if (nonzero? (-> obj align)) - (&+! (-> obj align) arg0) - ) + (&+! (-> obj align) arg0) + ) (if (nonzero? (-> obj path)) - (&+! (-> obj path) arg0) - ) + (&+! (-> obj path) arg0) + ) (if (nonzero? (-> obj vol)) - (&+! (-> obj vol) arg0) - ) + (&+! (-> obj vol) arg0) + ) (if (nonzero? (-> obj fact)) - (&+! (-> obj fact) arg0) - ) + (&+! (-> obj fact) arg0) + ) (if (nonzero? (-> obj link)) - (&+! (-> obj link) arg0) - ) + (&+! (-> obj link) arg0) + ) (if (nonzero? (-> obj part)) - (&+! (-> obj part) arg0) - ) + (&+! (-> obj part) arg0) + ) (if (nonzero? (-> obj water)) - (&+! (-> obj water) arg0) - ) + (&+! (-> obj water) arg0) + ) (if (nonzero? (-> obj sound)) - (&+! (-> obj sound) arg0) - ) + (&+! (-> obj sound) arg0) + ) (the-as process-drawable ((method-of-type process relocate) obj arg0)) ) @@ -178,8 +164,8 @@ (&+! (-> obj process) arg0) (&+! (-> obj root-prim) arg0) (if (-> obj riders) - (&+! (-> obj riders) arg0) - ) + (&+! (-> obj riders) arg0) + ) obj ) @@ -187,26 +173,20 @@ ;; INFO: Return type mismatch collide-shape vs collide-shape-moving. (defmethod relocate collide-shape-moving ((obj collide-shape-moving) (arg0 int)) (if (-> obj dynam) - (&+! (-> obj dynam) arg0) - ) - (the-as - collide-shape-moving - ((method-of-type collide-shape relocate) obj arg0) - ) + (&+! (-> obj dynam) arg0) + ) + (the-as collide-shape-moving ((method-of-type collide-shape relocate) obj arg0)) ) ;; definition for method 7 of type collide-sticky-rider-group -(defmethod - relocate - collide-sticky-rider-group - ((obj collide-sticky-rider-group) (arg0 int)) +(defmethod relocate collide-sticky-rider-group ((obj collide-sticky-rider-group) (arg0 int)) (countdown (v1-0 (-> obj num-riders)) - (let ((a2-2 (-> obj rider v1-0))) - (if (-> a2-2 sticky-prim) - (&+! (-> a2-2 sticky-prim) arg0) - ) + (let ((a2-2 (-> obj rider v1-0))) + (if (-> a2-2 sticky-prim) + (&+! (-> a2-2 sticky-prim) arg0) + ) + ) ) - ) obj ) @@ -217,14 +197,11 @@ ) ;; definition for method 7 of type collide-shape-prim-group -(defmethod - relocate - collide-shape-prim-group - ((obj collide-shape-prim-group) (arg0 int)) +(defmethod relocate collide-shape-prim-group ((obj collide-shape-prim-group) (arg0 int)) (&+! (-> obj cshape) arg0) (countdown (v1-2 (-> obj num-prims)) - (&+! (-> obj prims v1-2) arg0) - ) + (&+! (-> obj prims v1-2) arg0) + ) obj ) @@ -239,69 +216,62 @@ (&+! (-> obj skeleton) arg0) (&+! (-> obj process) arg0) (when (-> obj ripple) - (if (-> obj ripple query) - (&+! (-> obj ripple query) arg0) + (if (-> obj ripple query) + (&+! (-> obj ripple query) arg0) + ) + (&+! (-> obj ripple) arg0) ) - (&+! (-> obj ripple) arg0) - ) (let ((v1-14 (-> obj shadow-ctrl))) - (if - (and - (>= (the-as int v1-14) (-> *kernel-context* relocating-min)) - (< (the-as int v1-14) (-> *kernel-context* relocating-max)) - ) - (&+! (-> obj shadow-ctrl) arg0) + (if (and + (>= (the-as int v1-14) (-> *kernel-context* relocating-min)) + (< (the-as int v1-14) (-> *kernel-context* relocating-max)) + ) + (&+! (-> obj shadow-ctrl) arg0) + ) ) - ) obj ) ;; definition for method 7 of type joint-control (defmethod relocate joint-control ((obj joint-control) (arg0 int)) (if (-> obj effect) - (&+! (-> obj effect) arg0) - ) - (set! - (-> obj root-channel) - (the-as - (inline-array joint-control-channel) - (+ (the-as uint (-> obj root-channel)) arg0) - ) - ) + (&+! (-> obj effect) arg0) + ) + (set! (-> obj root-channel) + (the-as (inline-array joint-control-channel) (+ (the-as uint (-> obj root-channel)) arg0)) + ) (countdown (v1-6 (-> obj allocated-length)) - (&+! (-> obj channel v1-6 parent) arg0) - ) + (&+! (-> obj channel v1-6 parent) arg0) + ) obj ) ;; definition for method 7 of type cspace-array (defmethod relocate cspace-array ((obj cspace-array) (arg0 int)) (countdown (v1-0 (-> obj length)) - (let ((a2-2 (-> obj data v1-0))) - (if (-> a2-2 parent) - (&+! (-> a2-2 parent) arg0) - ) - (&+! (-> a2-2 bone) arg0) - (let ((a3-6 (-> a2-2 param1))) - (if - (and - (>= (the-as int a3-6) (-> *kernel-context* relocating-min)) - (< (the-as int a3-6) (-> *kernel-context* relocating-max)) - ) - (&+! (-> a2-2 param1) arg0) + (let ((a2-2 (-> obj data v1-0))) + (if (-> a2-2 parent) + (&+! (-> a2-2 parent) arg0) + ) + (&+! (-> a2-2 bone) arg0) + (let ((a3-6 (-> a2-2 param1))) + (if (and + (>= (the-as int a3-6) (-> *kernel-context* relocating-min)) + (< (the-as int a3-6) (-> *kernel-context* relocating-max)) + ) + (&+! (-> a2-2 param1) arg0) + ) + ) + (let ((a3-11 (-> a2-2 param2))) + (if (and + (>= (the-as int a3-11) (-> *kernel-context* relocating-min)) + (< (the-as int a3-11) (-> *kernel-context* relocating-max)) + ) + (&+! (-> a2-2 param2) arg0) + ) + ) ) - ) - (let ((a3-11 (-> a2-2 param2))) - (if - (and - (>= (the-as int a3-11) (-> *kernel-context* relocating-min)) - (< (the-as int a3-11) (-> *kernel-context* relocating-max)) - ) - (&+! (-> a2-2 param2) arg0) - ) - ) ) - ) obj ) @@ -362,45 +332,35 @@ ) ;; definition for method 7 of type sparticle-launch-control -(defmethod - relocate - sparticle-launch-control - ((obj sparticle-launch-control) (arg0 int)) +(defmethod relocate sparticle-launch-control ((obj sparticle-launch-control) (arg0 int)) (&+! (-> obj proc) arg0) (countdown (v1-2 (-> obj length)) - (let* ((a0-3 (-> obj data v1-2)) - (a2-0 (-> a0-3 origin)) + (let* ((a0-3 (-> obj data v1-2)) + (a2-0 (-> a0-3 origin)) + ) + (if (and + (>= (the-as int a2-0) (-> *kernel-context* relocating-min)) + (< (the-as int a2-0) (-> *kernel-context* relocating-max)) + ) + (&+! (-> a0-3 origin) arg0) ) - (if - (and - (>= (the-as int a2-0) (-> *kernel-context* relocating-min)) - (< (the-as int a2-0) (-> *kernel-context* relocating-max)) ) - (&+! (-> a0-3 origin) arg0) - ) ) - ) (forall-particles-with-key - obj - (lambda ((arg0 sparticle-system) (arg1 sparticle-cpuinfo)) - (let ((v1-1 (-> *kernel-context* relocating-offset))) - (set! - (-> arg1 key) - (the-as sparticle-launch-control (+ (the-as int (-> arg1 key)) v1-1)) + obj + (lambda ((arg0 sparticle-system) (arg1 sparticle-cpuinfo)) + (let ((v1-1 (-> *kernel-context* relocating-offset))) + (set! (-> arg1 key) (the-as sparticle-launch-control (+ (the-as int (-> arg1 key)) v1-1))) + (if (-> arg1 binding) + (set! (-> arg1 binding) (the-as sparticle-launch-state (+ (the-as int (-> arg1 binding)) v1-1))) + ) + ) + 0 + (none) ) - (if (-> arg1 binding) - (set! - (-> arg1 binding) - (the-as sparticle-launch-state (+ (the-as int (-> arg1 binding)) v1-1)) - ) - ) - ) - 0 - (none) + #t + #t ) - #t - #t - ) obj ) @@ -408,8 +368,8 @@ ;; INFO: Return type mismatch process vs camera-master. (defmethod relocate camera-master ((obj camera-master) (arg0 int)) (if (nonzero? (-> obj water-drip)) - (&+! (-> obj water-drip) arg0) - ) + (&+! (-> obj water-drip) arg0) + ) (the-as camera-master ((method-of-type process relocate) obj arg0)) ) @@ -417,17 +377,17 @@ ;; INFO: Return type mismatch process vs time-of-day-proc. (defmethod relocate time-of-day-proc ((obj time-of-day-proc) (arg0 int)) (if (nonzero? (-> obj stars)) - (&+! (-> obj stars) arg0) - ) + (&+! (-> obj stars) arg0) + ) (if (nonzero? (-> obj sun)) - (&+! (-> obj sun) arg0) - ) + (&+! (-> obj sun) arg0) + ) (if (nonzero? (-> obj green-sun)) - (&+! (-> obj green-sun) arg0) - ) + (&+! (-> obj green-sun) arg0) + ) (if (nonzero? (-> obj moon)) - (&+! (-> obj moon) arg0) - ) + (&+! (-> obj moon) arg0) + ) (the-as time-of-day-proc ((method-of-type process relocate) obj arg0)) ) @@ -435,8 +395,8 @@ ;; INFO: Return type mismatch process vs swingpole. (defmethod relocate swingpole ((obj swingpole) (arg0 int)) (if (nonzero? (-> obj root)) - (&+! (-> obj root) arg0) - ) + (&+! (-> obj root) arg0) + ) (the-as swingpole ((method-of-type process relocate) obj arg0)) ) @@ -444,11 +404,11 @@ ;; INFO: Return type mismatch process vs part-tracker. (defmethod relocate part-tracker ((obj part-tracker) (arg0 int)) (if (nonzero? (-> obj root)) - (&+! (-> obj root) arg0) - ) + (&+! (-> obj root) arg0) + ) (if (nonzero? (-> obj part)) - (&+! (-> obj part) arg0) - ) + (&+! (-> obj part) arg0) + ) (the-as part-tracker ((method-of-type process relocate) obj arg0)) ) @@ -456,16 +416,16 @@ ;; INFO: Return type mismatch process-drawable vs manipy. (defmethod relocate manipy ((obj manipy) (arg0 int)) (if (nonzero? (-> obj joint 0)) - (&+! (-> obj joint 0) arg0) - ) + (&+! (-> obj joint 0) arg0) + ) (if (nonzero? (-> obj joint 1)) - (&+! (-> obj joint 1) arg0) - ) + (&+! (-> obj joint 1) arg0) + ) (if (nonzero? (-> obj joint 2)) - (&+! (-> obj joint 2) arg0) - ) + (&+! (-> obj joint 2) arg0) + ) (if (nonzero? (-> obj joint 3)) - (&+! (-> obj joint 3) arg0) - ) + (&+! (-> obj joint 3) arg0) + ) (the-as manipy ((method-of-type process-drawable relocate) obj arg0)) ) diff --git a/test/decompiler/reference/engine/game/collectables-part_REF.gc b/test/decompiler/reference/engine/game/collectables-part_REF.gc index d0a11fc775..24bb20ba75 100644 --- a/test/decompiler/reference/engine/game/collectables-part_REF.gc +++ b/test/decompiler/reference/engine/game/collectables-part_REF.gc @@ -4,49 +4,38 @@ ;; definition for function eco-fadeout ;; INFO: Return type mismatch int vs none. (defun eco-fadeout ((arg0 sparticle-system) (arg1 sparticle-cpuinfo)) - (if - (zero? - (logand (-> (the-as process-drawable (-> arg1 key proc)) state-flags) 1) - ) - (set! (-> arg1 next-time) (the-as uint (* (-> *sp-frame-time* x) 2))) - ) + (if (zero? (logand (-> (the-as process-drawable (-> arg1 key proc)) state-flags) 1)) + (set! (-> arg1 next-time) (the-as uint (* (-> *sp-frame-time* x) 2))) + ) 0 (none) ) ;; definition for function eco-track-root-prim-fadeout ;; INFO: Return type mismatch int vs none. -(defun - eco-track-root-prim-fadeout - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun eco-track-root-prim-fadeout ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (let ((v1-1 (the-as process-drawable (-> arg1 key proc)))) - (let - ((a0-3 - (-> (the-as collide-shape-moving (-> v1-1 root)) root-prim prim-core) + (let ((a0-3 (-> (the-as collide-shape-moving (-> v1-1 root)) root-prim prim-core))) + (set! (-> arg2 x) (-> a0-3 world-sphere x)) + (set! (-> arg2 y) (-> a0-3 world-sphere y)) + (set! (-> arg2 z) (-> a0-3 world-sphere z)) ) - ) - (set! (-> arg2 x) (-> a0-3 world-sphere x)) - (set! (-> arg2 y) (-> a0-3 world-sphere y)) - (set! (-> arg2 z) (-> a0-3 world-sphere z)) + (if (zero? (logand (-> v1-1 state-flags) 1)) + (set! (-> arg1 next-time) (the-as uint (* (-> *sp-frame-time* x) 2))) + ) ) - (if (zero? (logand (-> v1-1 state-flags) 1)) - (set! (-> arg1 next-time) (the-as uint (* (-> *sp-frame-time* x) 2))) - ) - ) 0 (none) ) ;; definition for function part-tracker-track-root ;; INFO: Return type mismatch int vs none. -(defun - part-tracker-track-root - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun part-tracker-track-root ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (let ((v1-3 (-> (the-as process-drawable (-> arg1 key proc)) root trans))) - (set! (-> arg2 x) (-> v1-3 x)) - (set! (-> arg2 y) (-> v1-3 y)) - (set! (-> arg2 z) (-> v1-3 z)) - ) + (set! (-> arg2 x) (-> v1-3 x)) + (set! (-> arg2 y) (-> v1-3 y)) + (set! (-> arg2 z) (-> v1-3 z)) + ) 0 (none) ) @@ -55,27 +44,18 @@ (defun part-tracker-move-to-target ((arg0 part-tracker)) (let* ((v1-0 *target*) (a2-0 (if (not v1-0) - (-> arg0 root trans) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> v1-0 node-list data 5) - ) - ) - ) + (-> arg0 root trans) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> v1-0 node-list data 5)) + ) + ) ) - (vector-lerp! - (-> arg0 root trans) - (-> arg0 offset) - a2-0 - (* - 0.006666667 - (the - float - (- (-> *display* base-frame-counter) (the-as int (-> arg0 start-time))) + (vector-lerp! + (-> arg0 root trans) + (-> arg0 offset) + a2-0 + (* 0.006666667 (the float (- (-> *display* base-frame-counter) (the-as int (-> arg0 start-time))))) ) - ) ) - ) ) ;; definition for function part-tracker-track-target @@ -84,3403 +64,3082 @@ (set! (-> arg0 linger-callback) (-> arg0 callback)) (let* ((v1-1 *target*) (v1-3 (if (not v1-1) - (-> arg0 root trans) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> v1-1 node-list data 5) - ) - ) - ) + (-> arg0 root trans) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> v1-1 node-list data 5)) + ) + ) (v0-1 (-> arg0 root trans)) ) - (set! (-> v0-1 quad) (-> v1-3 quad)) - v0-1 - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 42) - (new 'static 'sparticle-launch-group - :length 20 - :duration #xbb8 - :linger-duration #x5dc - :name "group-eco-blue" - :launcher - (new 'static 'inline-array sparticle-group-item 20 - (sp-item 2 :flags (launch-asap) :binding 3) - (sp-item 3 :fade-after (meters 40.0) :flags (start-dead launch-asap) :binding 5) - (sp-item 3 :fade-after (meters 60.0) :flags (start-dead launch-asap) :binding 5) - (sp-item 3 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 5) - (sp-item 3 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 5) - (sp-item 3 :fade-after (meters 130.0) :flags (start-dead launch-asap) :binding 5) - (sp-item 3 :flags (start-dead launch-asap) :binding 5) - (sp-item 5 :flags (start-dead launch-asap) :binding 7) - (sp-item 5 :flags (start-dead launch-asap) :binding 8) - (sp-item 5 :flags (start-dead launch-asap) :binding 9) - (sp-item 5 :flags (start-dead launch-asap) :binding 7) - (sp-item 5 :flags (start-dead launch-asap) :binding 8) - (sp-item 5 :flags (start-dead launch-asap) :binding 9) - (sp-item 7 :fade-after (meters 60.0) :flags (start-dead) :binding 10) - (sp-item 8 :fade-after (meters 70.0) :flags (start-dead) :binding 10) - (sp-item 9 :fade-after (meters 80.0) :flags (start-dead) :binding 10) - (sp-item 7 :fade-after (meters 90.0) :flags (start-dead) :binding 10) - (sp-item 8 :fade-after (meters 100.0) :flags (start-dead) :binding 10) - (sp-item 9 :fade-after (meters 100.0) :flags (start-dead) :binding 10) - (sp-item 10 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 4.0)) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3 bit14) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 3) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 1228.8 614.4 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 32.0 96.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0148148155) (meters 0.0044444446) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 4) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 4) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-a -0.21333334) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 5) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 819.2 409.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.8) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 96.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.0148148155) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees 269.52002) (degrees 208.99998) 1.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 6) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 6) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-a -0.16) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 7) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 128.0 64.0 1.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 8) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) - (sp-rnd-flt spt-num 0.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 128.0 64.0 1.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 9) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) - (sp-rnd-flt spt-num 0.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 128.0 64.0 1.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 10) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.2 0.2 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 96.0 64.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 43) - (new 'static 'sparticle-launch-group - :length 18 - :duration #x96 - :linger-duration #x258 - :name "group-eco-blue-collect" - :launcher - (new 'static 'inline-array sparticle-group-item 18 - (sp-item 11 :flags (launch-asap) :binding 12) - (sp-item 12 :flags (start-dead launch-asap) :binding 13) - (sp-item 12 :flags (start-dead launch-asap) :binding 14) - (sp-item 12 :flags (start-dead launch-asap) :binding 13) - (sp-item 12 :flags (start-dead launch-asap) :binding 14) - (sp-item 12 :flags (start-dead launch-asap) :binding 147) - (sp-item 13 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 13 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 13 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 13 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 14 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 14 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 14 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 14 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 147 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 147 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 147 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 147 :fade-after (meters 40.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 11) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 96.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 64.0) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit3 bit14) - (sp-func spt-func 'part-tracker-track-root) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 148) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 12) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 5.0) - (sp-rnd-flt spt-y (meters -4.0) (meters 16.0) 1.0) - (sp-flt spt-z 327.68) - (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 127.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.00048828125) 145.63556) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.08)) - (sp-flt spt-accel-z -21.845333) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 13) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 128.0 64.0 1.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 14) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 128.0 64.0 1.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 147) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 128.0 64.0 1.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 44) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-vent-blue-active" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 149 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 156) - (sp-item 149 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 155) - (sp-item 149 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 154) - (sp-item 150) - (sp-item 151 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 152 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 153 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 154 :fade-after (meters 30.0) :falloff-to (meters 30.0) :flags (start-dead)) - (sp-item 155 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (start-dead)) - (sp-item 156 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 154 :fade-after (meters 90.0) :falloff-to (meters 90.0) :flags (start-dead)) - (sp-item 155 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 156 :fade-after (meters 110.0) :falloff-to (meters 110.0) :flags (start-dead)) - (sp-item 154 :fade-after (meters 120.0) :falloff-to (meters 120.0) :flags (start-dead)) - (sp-item 155 :fade-after (meters 120.0) :falloff-to (meters 120.0) :flags (start-dead)) - ) - :bounds - (new 'static 'sphere :y 20480.0 :w 20480.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 45) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-vent-blue-inactive" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 149 :fade-after (meters 100.0)) - (sp-item 150) - ) - :bounds - (new 'static 'sphere :y 20480.0 :w 20480.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 150) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -3072.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 64.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) - (sp-flt spt-fade-a -0.2) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 149) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.1 1.0) - (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -3072.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 156) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 155) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 154) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 151) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.1 0.5 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 10.0) (degrees 160.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 91) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 152) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) - (sp-rnd-flt spt-num 0.2 0.4 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 10.0) (degrees 160.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 91) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 153) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) - (sp-rnd-flt spt-num 0.3 0.1 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 10.0) (degrees 160.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 91) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 146) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-fade-r -1.0) - (sp-flt spt-fade-g -1.0) - (sp-flt spt-fade-a -2.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 48) - (new 'static 'sparticle-launch-group - :length 16 - :duration #xbb8 - :linger-duration #x5dc - :name "group-eco-red" - :launcher - (new 'static 'inline-array sparticle-group-item 16 - (sp-item 160 :flags (launch-asap) :binding 161) - (sp-item 161 :flags (start-dead launch-asap) :binding 162) - (sp-item 161 :flags (start-dead launch-asap) :binding 162) - (sp-item 161 :flags (start-dead launch-asap) :binding 162) - (sp-item 161 :flags (start-dead launch-asap) :binding 162) - (sp-item 161 :flags (start-dead launch-asap) :binding 162) - (sp-item 161 :flags (start-dead launch-asap) :binding 162) - (sp-item 162 :flags (start-dead launch-asap) :binding 163) - (sp-item 162 :flags (start-dead launch-asap) :binding 163) - (sp-item 162 :flags (start-dead launch-asap) :binding 163) - (sp-item 163 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 164) - (sp-item 163 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 164) - (sp-item 163 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 164) - (sp-item 164 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) - (sp-item 164 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) - (sp-item 164 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 160) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 4.0)) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3 bit14) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 161) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 614.4 819.2 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0148148155) (meters 0.0044444446) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 165) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 165) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-a -0.16) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 162) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 1024.0 409.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.0148148155) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 166) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 166) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-a -0.21333334) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 163) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 286.72 122.88 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-a 32.0) - (sp-flt spt-vel-x (meters 0.11259259)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 166) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 164) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.00038095238)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.4) - (sp-flt spt-fade-a -0.01904762) - (sp-rnd-flt spt-accel-y 0.40960002 0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 149 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 167) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 167) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-g 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 49) - (new 'static 'sparticle-launch-group - :length 11 - :duration #x96 - :linger-duration #x258 - :flags (sp-group-flag use-local-clock) - :name "group-eco-red-collect" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 168 :flags (launch-asap) :binding 169) - (sp-item 169 :flags (start-dead launch-asap) :binding 170) - (sp-item 169 :flags (start-dead launch-asap) :binding 170) - (sp-item 169 :flags (start-dead launch-asap) :binding 170) - (sp-item 169 :flags (start-dead launch-asap) :binding 170) - (sp-item 169 :flags (start-dead launch-asap) :binding 170) - (sp-item 170 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 170 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 170 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 170 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 170 :fade-after (meters 40.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 168) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit3 bit14) - (sp-func spt-func 'part-tracker-track-root) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 148) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 169) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-rnd-flt spt-y (meters -4.0) (meters 16.0) 1.0) - (sp-flt spt-z 327.68) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 127.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.00048828125) 145.63556) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.08)) - (sp-flt spt-accel-z -21.845333) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 170) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.005555555)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.0) - (sp-flt spt-fade-a -0.22857143) - (sp-rnd-flt spt-accel-y 0.40960002 0.6144 1.0) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 171) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 50) - (new 'static 'sparticle-launch-group - :length 31 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-vent-red-active" - :launcher - (new 'static 'inline-array sparticle-group-item 31 - (sp-item 172 :fade-after (meters 30.0) :period 330 :length 5 :binding 173) - (sp-item 172 :fade-after (meters 60.0) :period 736 :length 5 :binding 173) - (sp-item 172 :fade-after (meters 90.0) :period 936 :length 5 :binding 173) - (sp-item 172 :fade-after (meters 130.0) :period 528 :length 5 :binding 173) - (sp-item 172 :fade-after (meters 170.0) :period 801 :length 5 :binding 173) - (sp-item 173 :flags (start-dead launch-asap) :binding 174) - (sp-item 173 :flags (start-dead launch-asap) :binding 174) - (sp-item 173 :flags (start-dead launch-asap) :binding 174) - (sp-item 173 :flags (start-dead launch-asap) :binding 174) - (sp-item 173 :flags (start-dead launch-asap) :binding 174) - (sp-item 173 :flags (start-dead launch-asap) :binding 174) - (sp-item 173 :flags (start-dead launch-asap) :binding 174) - (sp-item 173 :flags (start-dead launch-asap) :binding 174) - (sp-item 174 :flags (start-dead launch-asap) :binding 175) - (sp-item 174 :flags (start-dead launch-asap) :binding 175) - (sp-item 174 :flags (start-dead launch-asap) :binding 175) - (sp-item 174 :flags (start-dead launch-asap) :binding 175) - (sp-item 174 :flags (start-dead launch-asap) :binding 175) - (sp-item 174 :flags (start-dead launch-asap) :binding 175) - (sp-item 174 :flags (start-dead launch-asap) :binding 175) - (sp-item 174 :flags (start-dead launch-asap) :binding 175) - (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 50.0) :flags (start-dead)) - (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 60.0) :flags (start-dead)) - (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 70.0) :flags (start-dead)) - (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 90.0) :flags (start-dead)) - (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 176 :fade-after (meters 140.0) :falloff-to (meters 140.0)) - (sp-item 177) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 20480.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 51) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-vent-red-inactive" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 176 :fade-after (meters 140.0) :falloff-to (meters 140.0)) - (sp-item 177) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 20480.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 177) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.6 0.6 1.0) - (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -3072.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.9) (meters 1.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) - (sp-flt spt-fade-a -0.10666667) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 176) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.3 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 64.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.1) 1.0) - (sp-flt spt-fade-a -0.21333334) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 172) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.5) 1.0) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 173) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 2048.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.017777778) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) - (sp-flt spt-fade-a -0.28444445) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 174) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 1024.0 409.6 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.0148148155) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 175) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.0023809525)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.4) - (sp-flt spt-fade-a -0.07619048) - (sp-rnd-flt spt-accel-y 0.40960002 0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 149 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 171) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 171) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-g 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 52) - (new 'static 'sparticle-launch-group - :length 31 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-vent-yellow-active" - :launcher - (new 'static 'inline-array sparticle-group-item 31 - (sp-item 178 :fade-after (meters 40.0) :period 330 :length 5 :binding 179) - (sp-item 178 :fade-after (meters 60.0) :period 736 :length 5 :binding 179) - (sp-item 178 :fade-after (meters 80.0) :period 936 :length 5 :binding 179) - (sp-item 178 :fade-after (meters 100.0) :period 528 :length 5 :binding 179) - (sp-item 178 :fade-after (meters 130.0) :period 801 :length 5 :binding 179) - (sp-item 179 :flags (start-dead launch-asap) :binding 180) - (sp-item 179 :flags (start-dead launch-asap) :binding 180) - (sp-item 179 :flags (start-dead launch-asap) :binding 180) - (sp-item 179 :flags (start-dead launch-asap) :binding 180) - (sp-item 179 :flags (start-dead launch-asap) :binding 180) - (sp-item 179 :flags (start-dead launch-asap) :binding 180) - (sp-item 179 :flags (start-dead launch-asap) :binding 180) - (sp-item 179 :flags (start-dead launch-asap) :binding 180) - (sp-item 180 :flags (start-dead launch-asap) :binding 181) - (sp-item 180 :flags (start-dead launch-asap) :binding 181) - (sp-item 180 :flags (start-dead launch-asap) :binding 181) - (sp-item 180 :flags (start-dead launch-asap) :binding 181) - (sp-item 180 :flags (start-dead launch-asap) :binding 181) - (sp-item 180 :flags (start-dead launch-asap) :binding 181) - (sp-item 180 :flags (start-dead launch-asap) :binding 181) - (sp-item 180 :flags (start-dead launch-asap) :binding 181) - (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 60.0) :flags (start-dead)) - (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 70.0) :flags (start-dead)) - (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 90.0) :flags (start-dead)) - (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 182 :fade-after (meters 140.0) :falloff-to (meters 140.0)) - (sp-item 183) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 20480.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 53) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-vent-yellow-inactive" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 182 :fade-after (meters 140.0) :falloff-to (meters 140.0)) - (sp-item 183) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 20480.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 183) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.6 0.6 1.0) - (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -3072.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.9) (meters 1.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 92.0 32.0 1.0) - (sp-rnd-flt spt-g 32.0 92.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) - (sp-flt spt-fade-a -0.10666667) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 182) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.3 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 64.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.1) 1.0) - (sp-flt spt-fade-a -0.21333334) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 178) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.5) 1.0) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-int spt-timer 375) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 179) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z 819.2 819.2 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-x (meters 0.10666667)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-flt spt-fade-a -0.34133333) - (sp-int spt-timer 375) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 180) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 819.2) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-x (meters 0.11259259)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-flt spt-fade-a -0.34133333) - (sp-int spt-timer 375) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 181) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.5 2.0 1.0) - (sp-flt spt-y (meters -0.05)) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0023333333) (meters 0.0016666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.4) - (sp-flt spt-fade-a -0.024242423) - (sp-rnd-flt spt-accel-y -0.40960002 -1.2288 1.0) - (sp-flt spt-friction 0.93) - (sp-int-plain-rnd spt-timer 30 209 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 190) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.05)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 190) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-r 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 56) - (new 'static 'sparticle-launch-group - :length 19 - :duration #xbb8 - :linger-duration #x5dc - :name "group-eco-yellow" - :launcher - (new 'static 'inline-array sparticle-group-item 19 - (sp-item 191 :flags (launch-asap) :binding 192) - (sp-item 192 :flags (start-dead launch-asap) :binding 193) - (sp-item 192 :flags (start-dead launch-asap) :binding 193) - (sp-item 192 :flags (start-dead launch-asap) :binding 193) - (sp-item 192 :flags (start-dead launch-asap) :binding 193) - (sp-item 192 :flags (start-dead launch-asap) :binding 193) - (sp-item 192 :flags (start-dead launch-asap) :binding 193) - (sp-item 193 :flags (start-dead launch-asap) :binding 194) - (sp-item 193 :flags (start-dead launch-asap) :binding 194) - (sp-item 193 :flags (start-dead launch-asap) :binding 194) - (sp-item 193 :flags (start-dead launch-asap) :binding 194) - (sp-item 194 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 195) - (sp-item 194 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 195) - (sp-item 194 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 195) - (sp-item 194 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 195) - (sp-item 195 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) - (sp-item 195 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) - (sp-item 195 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) - (sp-item 195 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 191) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 4.0)) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3 bit14) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 192) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 5.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 614.4 819.2 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 192.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 16.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0148148155) (meters 0.0044444446) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 196) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 196) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-a -0.10666667) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 193) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 3072.0 409.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.0148148155) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 197) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 197) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-a -0.16) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 194) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 491.52 122.88 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-a 32.0) - (sp-flt spt-vel-x (meters 0.11259259)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 197) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 195) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0006190476)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.4) - (sp-flt spt-fade-a -0.01904762) - (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 198) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 198) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-g 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 57) - (new 'static 'sparticle-launch-group - :length 11 - :duration #x96 - :linger-duration #x258 - :name "group-eco-yellow-collect" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 199 :flags (launch-asap) :binding 200) - (sp-item 200 :flags (start-dead launch-asap) :binding 201) - (sp-item 200 :flags (start-dead launch-asap) :binding 201) - (sp-item 200 :flags (start-dead launch-asap) :binding 201) - (sp-item 200 :flags (start-dead launch-asap) :binding 201) - (sp-item 200 :flags (start-dead launch-asap) :binding 201) - (sp-item 201 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 201 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 201 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 201 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 201 :fade-after (meters 40.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 199) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 192.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 64.0) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit3 bit14) - (sp-func spt-func 'part-tracker-track-root) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 148) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 200) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-rnd-flt spt-y (meters -4.0) (meters 16.0) 1.0) - (sp-flt spt-z 327.68) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 127.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.00048828125) 145.63556) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.08)) - (sp-flt spt-accel-z -21.845333) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 201) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0006190476)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.4) - (sp-flt spt-fade-a -0.01904762) - (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 198) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 58) - (new 'static 'sparticle-launch-group - :length 18 - :duration #xbb8 - :linger-duration #x5dc - :name "group-eco-green" - :launcher - (new 'static 'inline-array sparticle-group-item 18 - (sp-item 202 :flags (launch-asap) :binding 203) - (sp-item 203 :flags (start-dead launch-asap) :binding 204) - (sp-item 203 :flags (start-dead launch-asap) :binding 204) - (sp-item 203 :flags (start-dead launch-asap) :binding 204) - (sp-item 203 :flags (start-dead launch-asap) :binding 204) - (sp-item 203 :flags (start-dead launch-asap) :binding 204) - (sp-item 203 :flags (start-dead launch-asap) :binding 204) - (sp-item 203 :flags (start-dead launch-asap) :binding 204) - (sp-item 204 :fade-after (meters 90.0) :flags (start-dead launch-asap) :binding 205) - (sp-item 204 :fade-after (meters 90.0) :flags (start-dead launch-asap) :binding 205) - (sp-item 204 :fade-after (meters 90.0) :flags (start-dead launch-asap) :binding 205) - (sp-item 204 :fade-after (meters 90.0) :flags (start-dead launch-asap) :binding 205) - (sp-item 204 :fade-after (meters 90.0) :flags (start-dead launch-asap) :binding 205) - (sp-item 205 :fade-after (meters 40.0) :falloff-to (meters 60.0) :flags (start-dead)) - (sp-item 205 :fade-after (meters 40.0) :falloff-to (meters 60.0) :flags (start-dead)) - (sp-item 205 :fade-after (meters 40.0) :falloff-to (meters 60.0) :flags (start-dead)) - (sp-item 205 :fade-after (meters 40.0) :falloff-to (meters 60.0) :flags (start-dead)) - (sp-item 205 :fade-after (meters 40.0) :falloff-to (meters 60.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 202) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 4.0)) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-flt spt-a 1.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 203) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 1228.8 1024.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0148148155) (meters 0.0044444446) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 206) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 206) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-a -0.16) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 204) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 1228.8) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 64.0 1.0) - (sp-flt spt-g 255.0) - (sp-flt spt-a 64.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.0148148155) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 207) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 207) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 205) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-y (meters -0.05)) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 48.0) - (sp-flt spt-scalevel-x (meters -0.00075757573)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -2.8333333) - (sp-flt spt-accel-y -0.6144) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 208) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 208) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-r 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 59) - (new 'static 'sparticle-launch-group - :length 8 - :duration #xbb8 - :linger-duration #x5dc - :name "group-eco-green-pill" - :launcher - (new 'static 'inline-array sparticle-group-item 8 - (sp-item 209 :flags (launch-asap) :binding 210) - (sp-item 210 :flags (start-dead launch-asap) :binding 211) - (sp-item 211 :flags (start-dead launch-asap) :binding 212) - (sp-item 212 :flags (start-dead launch-asap) :binding 213) - (sp-item 212 :flags (start-dead launch-asap)) - (sp-item 212 :flags (start-dead launch-asap)) - (sp-item 212 :flags (start-dead launch-asap)) - (sp-item 213 :fade-after (meters 40.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 1638.4) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 209) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 0.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3 bit14) - (sp-func spt-func 'eco-track-root-prim-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 214) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 210) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 819.2 409.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.026666667) 1.0) - (sp-flt spt-vel-y (meters 0.0014814815)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-func spt-func 'eco-track-root-prim-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 214) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 214) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-a -0.16) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 211) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 3.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 0.0 819.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.017777778) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.4) 1 145.63556) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-func spt-func 'eco-track-root-prim-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 214) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 212) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 327.68) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.05) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 255.0) - (sp-flt spt-a 127.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.10666667)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-func spt-func 'eco-fadeout) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 215) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 215) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-a -0.8466667) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 213) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-y (meters -0.05)) - (sp-flt spt-scale-x (meters 0.15)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-flt spt-scalevel-x (meters -0.00039393938)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -2.8333333) - (sp-flt spt-accel-y -0.40960002) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 208) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 60) - (new 'static 'sparticle-launch-group - :length 11 - :duration #x96 - :linger-duration #x258 - :name "group-eco-green-pill-collect" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 216 :flags (launch-asap) :binding 217) - (sp-item 217 :flags (start-dead launch-asap) :binding 218) - (sp-item 217 :flags (start-dead launch-asap) :binding 218) - (sp-item 217 :flags (start-dead launch-asap) :binding 218) - (sp-item 217 :flags (start-dead launch-asap) :binding 218) - (sp-item 217 :flags (start-dead launch-asap) :binding 218) - (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 61) - (new 'static 'sparticle-launch-group - :length 11 - :duration #x96 - :linger-duration #x258 - :name "group-eco-green-collect" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 216 :flags (launch-asap) :binding 219) - (sp-item 219 :flags (start-dead launch-asap) :binding 218) - (sp-item 219 :flags (start-dead launch-asap) :binding 218) - (sp-item 219 :flags (start-dead launch-asap) :binding 218) - (sp-item 219 :flags (start-dead launch-asap) :binding 218) - (sp-item 219 :flags (start-dead launch-asap) :binding 218) - (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 216) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-a 64.0) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit3 bit14) - (sp-func spt-func 'part-tracker-track-root) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 148) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 148) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 0.0) - (sp-flt spt-fade-a 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 219) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-rnd-flt spt-y (meters -4.0) (meters 16.0) 1.0) - (sp-flt spt-z 327.68) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 255.0) - (sp-flt spt-a 127.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.00048828125) 145.63556) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.08)) - (sp-flt spt-accel-z -21.845333) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 217) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters -4.0) (meters 16.0) 1.0) - (sp-flt spt-z 327.68) - (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.05) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 255.0) - (sp-flt spt-a 127.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.017777778) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.04)) - (sp-flt spt-accel-z -10.922667) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 220) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -0.05)) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-flt spt-scalevel-x (meters -0.00075757573)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -2.8333333) - (sp-flt spt-accel-y -0.40960002) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 221) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 218) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -0.05)) - (sp-flt spt-scale-x (meters 0.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-flt spt-scalevel-x (meters -0.0004545455)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -2.8333333) - (sp-flt spt-accel-y -0.40960002) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 221) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 62) - (new 'static 'sparticle-launch-group - :length 33 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-vent-green-active" - :launcher - (new 'static 'inline-array sparticle-group-item 33 - (sp-item 222 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 48 :length 5 :binding 223) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) - (sp-item 225 :fade-after (meters 100.0)) - (sp-item 226) - ) - :bounds - (new 'static 'sphere :y 20480.0 :w 20480.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 226) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.6 0.6 1.0) - (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -3072.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.9) (meters 1.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 92.0 32.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) - (sp-flt spt-fade-a -0.10666667) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 225) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.3 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 64.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.1) 1.0) - (sp-flt spt-fade-a -0.21333334) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 222) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-int spt-timer 750) - (sp-cpuinfo-flags bit3 bit14) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 223) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 819.2 2457.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.3) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 127.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-r -0.2) - (sp-int-plain-rnd spt-timer 600 149 1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-int-plain-rnd spt-next-time 450 149 1) - (sp-launcher-by-id spt-next-launcher 227) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 227) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-a -0.8466667) - (sp-int spt-timer 150) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 224) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-flt spt-scalevel-x (meters -0.0006060606)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -2.8333333) - (sp-flt spt-accel-y -0.81920004) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 208) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 63) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-fuel-cell-starburst" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 228 :fade-after (meters 35.0)) - (sp-item 229 :fade-after (meters 20.0)) - (sp-item 230 :flags (bit1 launch-asap)) - (sp-item 231 :flags (bit1 launch-asap)) - ) - :bounds - (new 'static 'sphere :y 2048.0 :w 6144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 228) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.8) 1.0) - (sp-rnd-int spt-r 0 1 255.0) - (sp-rnd-int spt-g 0 1 255.0) - (sp-rnd-int spt-b 0 1 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 0.35555556) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 232) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 232) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 229) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.2)) - (sp-rnd-int spt-r 0 1 255.0) - (sp-rnd-int spt-g 0 1 255.0) - (sp-rnd-int spt-b 0 1 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 232) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 230) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 3.5)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 3.0)) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 0.0 128.0 1.0) - (sp-flt spt-a 64.0) - (sp-flt spt-rotvel-z (degrees -0.4)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 231) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 3.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 64.0) - (sp-flt spt-rotvel-z (degrees 0.3)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) + (set! (-> v0-1 quad) (-> v1-3 quad)) + v0-1 + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 42) + (new 'static 'sparticle-launch-group + :length 20 + :duration #xbb8 + :linger-duration #x5dc + :name "group-eco-blue" + :launcher + (new 'static 'inline-array sparticle-group-item 20 + (sp-item 2 :flags (launch-asap) :binding 3) + (sp-item 3 :fade-after (meters 40.0) :flags (start-dead launch-asap) :binding 5) + (sp-item 3 :fade-after (meters 60.0) :flags (start-dead launch-asap) :binding 5) + (sp-item 3 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 5) + (sp-item 3 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 5) + (sp-item 3 :fade-after (meters 130.0) :flags (start-dead launch-asap) :binding 5) + (sp-item 3 :flags (start-dead launch-asap) :binding 5) + (sp-item 5 :flags (start-dead launch-asap) :binding 7) + (sp-item 5 :flags (start-dead launch-asap) :binding 8) + (sp-item 5 :flags (start-dead launch-asap) :binding 9) + (sp-item 5 :flags (start-dead launch-asap) :binding 7) + (sp-item 5 :flags (start-dead launch-asap) :binding 8) + (sp-item 5 :flags (start-dead launch-asap) :binding 9) + (sp-item 7 :fade-after (meters 60.0) :flags (start-dead) :binding 10) + (sp-item 8 :fade-after (meters 70.0) :flags (start-dead) :binding 10) + (sp-item 9 :fade-after (meters 80.0) :flags (start-dead) :binding 10) + (sp-item 7 :fade-after (meters 90.0) :flags (start-dead) :binding 10) + (sp-item 8 :fade-after (meters 100.0) :flags (start-dead) :binding 10) + (sp-item 9 :fade-after (meters 100.0) :flags (start-dead) :binding 10) + (sp-item 10 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 9 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 4.0)) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3 bit14) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 3) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 1228.8 614.4 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 96.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0148148155) (meters 0.0044444446) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 4) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 4) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-fade-a -0.21333334) + (sp-int spt-timer 150) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 5) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 819.2 409.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.8) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 96.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.0148148155) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees 269.52002) (degrees 208.99998) 1.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 6) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 6) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 7) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 128.0 64.0 1.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 8) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + (sp-rnd-flt spt-num 0.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 128.0 64.0 1.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 9) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + (sp-rnd-flt spt-num 0.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 128.0 64.0 1.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 10) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.2 0.2 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 96.0 64.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 43) (new 'static 'sparticle-launch-group + :length 18 + :duration #x96 + :linger-duration #x258 + :name "group-eco-blue-collect" + :launcher + (new 'static 'inline-array sparticle-group-item 18 + (sp-item 11 :flags (launch-asap) :binding 12) + (sp-item 12 :flags (start-dead launch-asap) :binding 13) + (sp-item 12 :flags (start-dead launch-asap) :binding 14) + (sp-item 12 :flags (start-dead launch-asap) :binding 13) + (sp-item 12 :flags (start-dead launch-asap) :binding 14) + (sp-item 12 :flags (start-dead launch-asap) :binding 147) + (sp-item 13 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 13 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 13 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 13 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 14 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 14 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 14 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 14 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 147 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 147 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 147 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 147 :fade-after (meters 40.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 11) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 96.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 64.0) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit3 bit14) + (sp-func spt-func 'part-tracker-track-root) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 148) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 12) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 5.0) + (sp-rnd-flt spt-y (meters -4.0) (meters 16.0) 1.0) + (sp-flt spt-z 327.68) + (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 127.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.00048828125) 145.63556) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.08)) + (sp-flt spt-accel-z -21.845333) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 13) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 128.0 64.0 1.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 14) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 128.0 64.0 1.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 147) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 128.0 64.0 1.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 44) + (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-vent-blue-active" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 149 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 156) + (sp-item 149 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 155) + (sp-item 149 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 154) + (sp-item 150) + (sp-item 151 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 152 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 153 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 154 :fade-after (meters 30.0) :falloff-to (meters 30.0) :flags (start-dead)) + (sp-item 155 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (start-dead)) + (sp-item 156 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 154 :fade-after (meters 90.0) :falloff-to (meters 90.0) :flags (start-dead)) + (sp-item 155 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 156 :fade-after (meters 110.0) :falloff-to (meters 110.0) :flags (start-dead)) + (sp-item 154 :fade-after (meters 120.0) :falloff-to (meters 120.0) :flags (start-dead)) + (sp-item 155 :fade-after (meters 120.0) :falloff-to (meters 120.0) :flags (start-dead)) + ) + :bounds + (new 'static 'sphere :y 20480.0 :w 20480.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 45) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-vent-blue-inactive" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 149 :fade-after (meters 100.0)) (sp-item 150)) + :bounds + (new 'static 'sphere :y 20480.0 :w 20480.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 150) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -3072.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) + (sp-flt spt-fade-a -0.2) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 149) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.1 1.0) + (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -3072.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 156) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 155) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 154) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 151) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.1 0.5 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 10.0) (degrees 160.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 91) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 152) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + (sp-rnd-flt spt-num 0.2 0.4 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 10.0) (degrees 160.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 91) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 153) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + (sp-rnd-flt spt-num 0.3 0.1 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 10.0) (degrees 160.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 91) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 146) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-fade-r -1.0) + (sp-flt spt-fade-g -1.0) + (sp-flt spt-fade-a -2.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 48) + (new 'static 'sparticle-launch-group + :length 16 + :duration #xbb8 + :linger-duration #x5dc + :name "group-eco-red" + :launcher + (new 'static 'inline-array sparticle-group-item 16 + (sp-item 160 :flags (launch-asap) :binding 161) + (sp-item 161 :flags (start-dead launch-asap) :binding 162) + (sp-item 161 :flags (start-dead launch-asap) :binding 162) + (sp-item 161 :flags (start-dead launch-asap) :binding 162) + (sp-item 161 :flags (start-dead launch-asap) :binding 162) + (sp-item 161 :flags (start-dead launch-asap) :binding 162) + (sp-item 161 :flags (start-dead launch-asap) :binding 162) + (sp-item 162 :flags (start-dead launch-asap) :binding 163) + (sp-item 162 :flags (start-dead launch-asap) :binding 163) + (sp-item 162 :flags (start-dead launch-asap) :binding 163) + (sp-item 163 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 164) + (sp-item 163 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 164) + (sp-item 163 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 164) + (sp-item 164 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) + (sp-item 164 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) + (sp-item 164 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 160) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 9 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 4.0)) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3 bit14) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 161) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 614.4 819.2 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0148148155) (meters 0.0044444446) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 165) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 165) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 162) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 1024.0 409.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.0148148155) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 166) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 166) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-fade-a -0.21333334) + (sp-int spt-timer 150) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 163) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 286.72 122.88 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-a 32.0) + (sp-flt spt-vel-x (meters 0.11259259)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 166) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 164) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.00038095238)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.4) + (sp-flt spt-fade-a -0.01904762) + (sp-rnd-flt spt-accel-y 0.40960002 0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 149 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 167) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 167) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-g 0.0) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 49) (new 'static 'sparticle-launch-group + :length 11 + :duration #x96 + :linger-duration #x258 + :flags (sp-group-flag use-local-clock) + :name "group-eco-red-collect" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 168 :flags (launch-asap) :binding 169) + (sp-item 169 :flags (start-dead launch-asap) :binding 170) + (sp-item 169 :flags (start-dead launch-asap) :binding 170) + (sp-item 169 :flags (start-dead launch-asap) :binding 170) + (sp-item 169 :flags (start-dead launch-asap) :binding 170) + (sp-item 169 :flags (start-dead launch-asap) :binding 170) + (sp-item 170 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 170 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 170 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 170 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 170 :fade-after (meters 40.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 168) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit3 bit14) + (sp-func spt-func 'part-tracker-track-root) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 148) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 169) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-rnd-flt spt-y (meters -4.0) (meters 16.0) 1.0) + (sp-flt spt-z 327.68) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 127.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.00048828125) 145.63556) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.08)) + (sp-flt spt-accel-z -21.845333) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 170) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.005555555)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.0) + (sp-flt spt-fade-a -0.22857143) + (sp-rnd-flt spt-accel-y 0.40960002 0.6144 1.0) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 171) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 50) + (new 'static 'sparticle-launch-group + :length 31 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-vent-red-active" + :launcher + (new 'static 'inline-array sparticle-group-item 31 + (sp-item 172 :fade-after (meters 30.0) :period 330 :length 5 :binding 173) + (sp-item 172 :fade-after (meters 60.0) :period 736 :length 5 :binding 173) + (sp-item 172 :fade-after (meters 90.0) :period 936 :length 5 :binding 173) + (sp-item 172 :fade-after (meters 130.0) :period 528 :length 5 :binding 173) + (sp-item 172 :fade-after (meters 170.0) :period 801 :length 5 :binding 173) + (sp-item 173 :flags (start-dead launch-asap) :binding 174) + (sp-item 173 :flags (start-dead launch-asap) :binding 174) + (sp-item 173 :flags (start-dead launch-asap) :binding 174) + (sp-item 173 :flags (start-dead launch-asap) :binding 174) + (sp-item 173 :flags (start-dead launch-asap) :binding 174) + (sp-item 173 :flags (start-dead launch-asap) :binding 174) + (sp-item 173 :flags (start-dead launch-asap) :binding 174) + (sp-item 173 :flags (start-dead launch-asap) :binding 174) + (sp-item 174 :flags (start-dead launch-asap) :binding 175) + (sp-item 174 :flags (start-dead launch-asap) :binding 175) + (sp-item 174 :flags (start-dead launch-asap) :binding 175) + (sp-item 174 :flags (start-dead launch-asap) :binding 175) + (sp-item 174 :flags (start-dead launch-asap) :binding 175) + (sp-item 174 :flags (start-dead launch-asap) :binding 175) + (sp-item 174 :flags (start-dead launch-asap) :binding 175) + (sp-item 174 :flags (start-dead launch-asap) :binding 175) + (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 50.0) :flags (start-dead)) + (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 60.0) :flags (start-dead)) + (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 70.0) :flags (start-dead)) + (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 90.0) :flags (start-dead)) + (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 175 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 176 :fade-after (meters 140.0) :falloff-to (meters 140.0)) + (sp-item 177) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 20480.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 51) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-vent-red-inactive" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 176 :fade-after (meters 140.0) :falloff-to (meters 140.0)) + (sp-item 177) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 20480.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 177) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.6 0.6 1.0) + (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -3072.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.9) (meters 1.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) + (sp-flt spt-fade-a -0.10666667) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 176) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.3 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.1) 1.0) + (sp-flt spt-fade-a -0.21333334) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 172) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.5) 1.0) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 173) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 2048.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.017777778) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) + (sp-flt spt-fade-a -0.28444445) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 174) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 1024.0 409.6 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.0148148155) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 175) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.0023809525)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.4) + (sp-flt spt-fade-a -0.07619048) + (sp-rnd-flt spt-accel-y 0.40960002 0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 149 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 171) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 171) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-g 0.0) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 52) + (new 'static 'sparticle-launch-group + :length 31 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-vent-yellow-active" + :launcher + (new 'static 'inline-array sparticle-group-item 31 + (sp-item 178 :fade-after (meters 40.0) :period 330 :length 5 :binding 179) + (sp-item 178 :fade-after (meters 60.0) :period 736 :length 5 :binding 179) + (sp-item 178 :fade-after (meters 80.0) :period 936 :length 5 :binding 179) + (sp-item 178 :fade-after (meters 100.0) :period 528 :length 5 :binding 179) + (sp-item 178 :fade-after (meters 130.0) :period 801 :length 5 :binding 179) + (sp-item 179 :flags (start-dead launch-asap) :binding 180) + (sp-item 179 :flags (start-dead launch-asap) :binding 180) + (sp-item 179 :flags (start-dead launch-asap) :binding 180) + (sp-item 179 :flags (start-dead launch-asap) :binding 180) + (sp-item 179 :flags (start-dead launch-asap) :binding 180) + (sp-item 179 :flags (start-dead launch-asap) :binding 180) + (sp-item 179 :flags (start-dead launch-asap) :binding 180) + (sp-item 179 :flags (start-dead launch-asap) :binding 180) + (sp-item 180 :flags (start-dead launch-asap) :binding 181) + (sp-item 180 :flags (start-dead launch-asap) :binding 181) + (sp-item 180 :flags (start-dead launch-asap) :binding 181) + (sp-item 180 :flags (start-dead launch-asap) :binding 181) + (sp-item 180 :flags (start-dead launch-asap) :binding 181) + (sp-item 180 :flags (start-dead launch-asap) :binding 181) + (sp-item 180 :flags (start-dead launch-asap) :binding 181) + (sp-item 180 :flags (start-dead launch-asap) :binding 181) + (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 60.0) :flags (start-dead)) + (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 70.0) :flags (start-dead)) + (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 90.0) :flags (start-dead)) + (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 181 :fade-after (meters 90.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 182 :fade-after (meters 140.0) :falloff-to (meters 140.0)) + (sp-item 183) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 20480.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 53) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-vent-yellow-inactive" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 182 :fade-after (meters 140.0) :falloff-to (meters 140.0)) + (sp-item 183) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 20480.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 183) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.6 0.6 1.0) + (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -3072.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.9) (meters 1.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 92.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 92.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) + (sp-flt spt-fade-a -0.10666667) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 182) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.3 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.1) 1.0) + (sp-flt spt-fade-a -0.21333334) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 178) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.5) 1.0) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-int spt-timer 375) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 179) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z 819.2 819.2 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-x (meters 0.10666667)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-flt spt-fade-a -0.34133333) + (sp-int spt-timer 375) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 180) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 819.2) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-x (meters 0.11259259)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-flt spt-fade-a -0.34133333) + (sp-int spt-timer 375) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 181) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.5 2.0 1.0) + (sp-flt spt-y (meters -0.05)) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0023333333) (meters 0.0016666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.4) + (sp-flt spt-fade-a -0.024242423) + (sp-rnd-flt spt-accel-y -0.40960002 -1.2288 1.0) + (sp-flt spt-friction 0.93) + (sp-int-plain-rnd spt-timer 30 209 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 190) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.05)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 190) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-r 0.0) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 56) + (new 'static 'sparticle-launch-group + :length 19 + :duration #xbb8 + :linger-duration #x5dc + :name "group-eco-yellow" + :launcher + (new 'static 'inline-array sparticle-group-item 19 + (sp-item 191 :flags (launch-asap) :binding 192) + (sp-item 192 :flags (start-dead launch-asap) :binding 193) + (sp-item 192 :flags (start-dead launch-asap) :binding 193) + (sp-item 192 :flags (start-dead launch-asap) :binding 193) + (sp-item 192 :flags (start-dead launch-asap) :binding 193) + (sp-item 192 :flags (start-dead launch-asap) :binding 193) + (sp-item 192 :flags (start-dead launch-asap) :binding 193) + (sp-item 193 :flags (start-dead launch-asap) :binding 194) + (sp-item 193 :flags (start-dead launch-asap) :binding 194) + (sp-item 193 :flags (start-dead launch-asap) :binding 194) + (sp-item 193 :flags (start-dead launch-asap) :binding 194) + (sp-item 194 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 195) + (sp-item 194 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 195) + (sp-item 194 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 195) + (sp-item 194 :fade-after (meters 100.0) :flags (start-dead launch-asap) :binding 195) + (sp-item 195 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) + (sp-item 195 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) + (sp-item 195 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) + (sp-item 195 :fade-after (meters 90.0) :falloff-to (meters 110.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 191) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 9 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 4.0)) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3 bit14) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 192) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 5.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 614.4 819.2 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 192.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 16.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0148148155) (meters 0.0044444446) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 196) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 196) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-fade-a -0.10666667) + (sp-int spt-timer 150) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 193) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 3072.0 409.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.0148148155) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 197) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 197) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 194) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 491.52 122.88 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-a 32.0) + (sp-flt spt-vel-x (meters 0.11259259)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 197) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 195) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0006190476)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.4) + (sp-flt spt-fade-a -0.01904762) + (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 198) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 198) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-g 0.0) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 57) (new 'static 'sparticle-launch-group + :length 11 + :duration #x96 + :linger-duration #x258 + :name "group-eco-yellow-collect" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 199 :flags (launch-asap) :binding 200) + (sp-item 200 :flags (start-dead launch-asap) :binding 201) + (sp-item 200 :flags (start-dead launch-asap) :binding 201) + (sp-item 200 :flags (start-dead launch-asap) :binding 201) + (sp-item 200 :flags (start-dead launch-asap) :binding 201) + (sp-item 200 :flags (start-dead launch-asap) :binding 201) + (sp-item 201 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 201 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 201 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 201 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 201 :fade-after (meters 40.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 199) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 192.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 64.0) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit3 bit14) + (sp-func spt-func 'part-tracker-track-root) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 148) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 200) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-rnd-flt spt-y (meters -4.0) (meters 16.0) 1.0) + (sp-flt spt-z 327.68) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 127.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.00048828125) 145.63556) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.08)) + (sp-flt spt-accel-z -21.845333) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 201) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0006190476)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.4) + (sp-flt spt-fade-a -0.01904762) + (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 198) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 58) + (new 'static 'sparticle-launch-group + :length 18 + :duration #xbb8 + :linger-duration #x5dc + :name "group-eco-green" + :launcher + (new 'static 'inline-array sparticle-group-item 18 + (sp-item 202 :flags (launch-asap) :binding 203) + (sp-item 203 :flags (start-dead launch-asap) :binding 204) + (sp-item 203 :flags (start-dead launch-asap) :binding 204) + (sp-item 203 :flags (start-dead launch-asap) :binding 204) + (sp-item 203 :flags (start-dead launch-asap) :binding 204) + (sp-item 203 :flags (start-dead launch-asap) :binding 204) + (sp-item 203 :flags (start-dead launch-asap) :binding 204) + (sp-item 203 :flags (start-dead launch-asap) :binding 204) + (sp-item 204 :fade-after (meters 90.0) :flags (start-dead launch-asap) :binding 205) + (sp-item 204 :fade-after (meters 90.0) :flags (start-dead launch-asap) :binding 205) + (sp-item 204 :fade-after (meters 90.0) :flags (start-dead launch-asap) :binding 205) + (sp-item 204 :fade-after (meters 90.0) :flags (start-dead launch-asap) :binding 205) + (sp-item 204 :fade-after (meters 90.0) :flags (start-dead launch-asap) :binding 205) + (sp-item 205 :fade-after (meters 40.0) :falloff-to (meters 60.0) :flags (start-dead)) + (sp-item 205 :fade-after (meters 40.0) :falloff-to (meters 60.0) :flags (start-dead)) + (sp-item 205 :fade-after (meters 40.0) :falloff-to (meters 60.0) :flags (start-dead)) + (sp-item 205 :fade-after (meters 40.0) :falloff-to (meters 60.0) :flags (start-dead)) + (sp-item 205 :fade-after (meters 40.0) :falloff-to (meters 60.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 202) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 4.0)) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-flt spt-a 1.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 203) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 1228.8 1024.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0148148155) (meters 0.0044444446) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 206) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 206) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 204) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 1228.8) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 64.0 1.0) + (sp-flt spt-g 255.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.0148148155) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 207) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 207) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 150) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 205) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-y (meters -0.05)) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 48.0) + (sp-flt spt-scalevel-x (meters -0.00075757573)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -2.8333333) + (sp-flt spt-accel-y -0.6144) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 208) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 208) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-r 0.0) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 59) (new 'static 'sparticle-launch-group + :length 8 + :duration #xbb8 + :linger-duration #x5dc + :name "group-eco-green-pill" + :launcher + (new 'static 'inline-array sparticle-group-item 8 + (sp-item 209 :flags (launch-asap) :binding 210) + (sp-item 210 :flags (start-dead launch-asap) :binding 211) + (sp-item 211 :flags (start-dead launch-asap) :binding 212) + (sp-item 212 :flags (start-dead launch-asap) :binding 213) + (sp-item 212 :flags (start-dead launch-asap)) + (sp-item 212 :flags (start-dead launch-asap)) + (sp-item 212 :flags (start-dead launch-asap)) + (sp-item 213 :fade-after (meters 40.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 1638.4) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 209) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 0.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3 bit14) + (sp-func spt-func 'eco-track-root-prim-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 214) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 210) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 819.2 409.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.026666667) 1.0) + (sp-flt spt-vel-y (meters 0.0014814815)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-func spt-func 'eco-track-root-prim-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 214) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 214) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-fade-a -0.16) (sp-int spt-timer 150) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 211) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 3.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 0.0 819.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.017777778) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.4) 1 145.63556) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-func spt-func 'eco-track-root-prim-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 214) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 212) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 327.68) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.05) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 255.0) + (sp-flt spt-a 127.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.10666667)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-func spt-func 'eco-fadeout) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 215) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 215) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-a -0.8466667) + (sp-int spt-timer 150) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 213) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-y (meters -0.05)) + (sp-flt spt-scale-x (meters 0.15)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-flt spt-scalevel-x (meters -0.00039393938)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -2.8333333) + (sp-flt spt-accel-y -0.40960002) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 208) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 60) (new 'static 'sparticle-launch-group + :length 11 + :duration #x96 + :linger-duration #x258 + :name "group-eco-green-pill-collect" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 216 :flags (launch-asap) :binding 217) + (sp-item 217 :flags (start-dead launch-asap) :binding 218) + (sp-item 217 :flags (start-dead launch-asap) :binding 218) + (sp-item 217 :flags (start-dead launch-asap) :binding 218) + (sp-item 217 :flags (start-dead launch-asap) :binding 218) + (sp-item 217 :flags (start-dead launch-asap) :binding 218) + (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 61) (new 'static 'sparticle-launch-group + :length 11 + :duration #x96 + :linger-duration #x258 + :name "group-eco-green-collect" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 216 :flags (launch-asap) :binding 219) + (sp-item 219 :flags (start-dead launch-asap) :binding 218) + (sp-item 219 :flags (start-dead launch-asap) :binding 218) + (sp-item 219 :flags (start-dead launch-asap) :binding 218) + (sp-item 219 :flags (start-dead launch-asap) :binding 218) + (sp-item 219 :flags (start-dead launch-asap) :binding 218) + (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 218 :fade-after (meters 40.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 216) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-a 64.0) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit3 bit14) + (sp-func spt-func 'part-tracker-track-root) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 148) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 148) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 0.0) + (sp-flt spt-fade-a 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 219) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-rnd-flt spt-y (meters -4.0) (meters 16.0) 1.0) + (sp-flt spt-z 327.68) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 255.0) + (sp-flt spt-a 127.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.00048828125) 145.63556) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.08)) + (sp-flt spt-accel-z -21.845333) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 217) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters -4.0) (meters 16.0) 1.0) + (sp-flt spt-z 327.68) + (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.05) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 255.0) + (sp-flt spt-a 127.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.017777778) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.04)) + (sp-flt spt-accel-z -10.922667) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 220) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -0.05)) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-flt spt-scalevel-x (meters -0.00075757573)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -2.8333333) + (sp-flt spt-accel-y -0.40960002) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 221) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 218) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -0.05)) + (sp-flt spt-scale-x (meters 0.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-flt spt-scalevel-x (meters -0.0004545455)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -2.8333333) + (sp-flt spt-accel-y -0.40960002) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 221) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 62) + (new 'static 'sparticle-launch-group + :length 33 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-vent-green-active" + :launcher + (new 'static 'inline-array sparticle-group-item 33 + (sp-item 222 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 48 :length 5 :binding 223) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 223 :fade-after (meters 80.0) :flags (start-dead launch-asap) :binding 224) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 224 :fade-after (meters 80.0) :falloff-to (meters 80.0) :flags (start-dead)) + (sp-item 225 :fade-after (meters 100.0)) + (sp-item 226) + ) + :bounds + (new 'static 'sphere :y 20480.0 :w 20480.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 226) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.6 0.6 1.0) + (sp-rnd-flt spt-x (meters -0.75) (meters 1.5) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -3072.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.9) (meters 1.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 92.0 32.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.1) 1 36.40889) + (sp-flt spt-fade-a -0.10666667) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 225) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.3 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.1) 1.0) + (sp-flt spt-fade-a -0.21333334) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 222) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 10 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-int spt-timer 750) + (sp-cpuinfo-flags bit3 bit14) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 223) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 819.2 2457.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.3) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 127.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-r -0.2) + (sp-int-plain-rnd spt-timer 600 149 1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-int-plain-rnd spt-next-time 450 149 1) + (sp-launcher-by-id spt-next-launcher 227) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 227) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-a -0.8466667) + (sp-int spt-timer 150) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 224) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-flt spt-scalevel-x (meters -0.0006060606)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -2.8333333) + (sp-flt spt-accel-y -0.81920004) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 208) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 63) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-fuel-cell-starburst" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 228 :fade-after (meters 35.0)) + (sp-item 229 :fade-after (meters 20.0)) + (sp-item 230 :flags (bit1 launch-asap)) + (sp-item 231 :flags (bit1 launch-asap)) + ) + :bounds + (new 'static 'sphere :y 2048.0 :w 6144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 228) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.8) 1.0) + (sp-rnd-int spt-r 0 1 255.0) + (sp-rnd-int spt-g 0 1 255.0) + (sp-rnd-int spt-b 0 1 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 0.35555556) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 232) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 232) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.53333336) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 229) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.2)) + (sp-rnd-int spt-r 0 1 255.0) + (sp-rnd-int spt-g 0 1 255.0) + (sp-rnd-int spt-b 0 1 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 232) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 230) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 3.5)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 3.0)) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 0.0 128.0 1.0) + (sp-flt spt-a 64.0) + (sp-flt spt-rotvel-z (degrees -0.4)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 231) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 3.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 64.0) + (sp-flt spt-rotvel-z (degrees 0.3)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) ;; definition for function sparticle-track-root-money ;; INFO: Return type mismatch int vs none. -(defun - sparticle-track-root-money - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun sparticle-track-root-money ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (let ((v1-1 (-> arg1 key proc))) - (when (!= (-> v1-1 type) hud-money) - (let ((v1-3 (-> (the-as process-drawable v1-1) root trans))) - (set! (-> arg2 x) (-> v1-3 x)) - (set! (-> arg2 y) (+ 2048.0 (-> v1-3 y))) - (set! (-> arg2 z) (-> v1-3 z)) - ) + (when (!= (-> v1-1 type) hud-money) + (let ((v1-3 (-> (the-as process-drawable v1-1) root trans))) + (set! (-> arg2 x) (-> v1-3 x)) + (set! (-> arg2 y) (+ 2048.0 (-> v1-3 y))) + (set! (-> arg2 z) (-> v1-3 z)) + ) + ) ) - ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 233) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 0.0 128.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 0.35555556) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 234) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 233) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 0.0 128.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 0.35555556) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 234) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 234) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 234) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.53333336) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 235) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.2)) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 0.0 128.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 234) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 235) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.2)) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 0.0 128.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 234) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 236) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.5)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 2.0)) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 0.0 128.0 1.0) - (sp-flt spt-a 32.0) - (sp-flt spt-rotvel-z (degrees -0.4)) - (sp-int spt-timer 3600) - (sp-cpuinfo-flags bit2 bit3) - (sp-func spt-func 'sparticle-track-root-money) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 236) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.5)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 2.0)) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 0.0 128.0 1.0) + (sp-flt spt-a 32.0) + (sp-flt spt-rotvel-z (degrees -0.4)) + (sp-int spt-timer 3600) + (sp-cpuinfo-flags bit2 bit3) + (sp-func spt-func 'sparticle-track-root-money) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 237) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 3.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 2.5)) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 0.0 128.0 1.0) - (sp-flt spt-a 32.0) - (sp-flt spt-rotvel-z (degrees 0.3)) - (sp-int spt-timer 3600) - (sp-cpuinfo-flags bit2 bit3) - (sp-func spt-func 'sparticle-track-root-money) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 237) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 3.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 2.5)) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 0.0 128.0 1.0) + (sp-flt spt-a 32.0) + (sp-flt spt-rotvel-z (degrees 0.3)) + (sp-int spt-timer 3600) + (sp-cpuinfo-flags bit2 bit3) + (sp-func spt-func 'sparticle-track-root-money) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 64) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-money-starburst" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 238)) - :bounds - (new 'static 'sphere :y 2048.0 :w 6144.0) - ) - ) +(set! (-> *part-group-id-table* 64) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-money-starburst" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 238)) + :bounds + (new 'static 'sphere :y 2048.0 :w 6144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 65) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-buzzer-effect" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 239 :flags (is-3d)) - (sp-item 240 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 65) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-buzzer-effect" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 239 :flags (is-3d)) (sp-item 240 :flags (is-3d))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 239) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-x 0.0 12743.111 1.0) - (sp-flt spt-rot-y (degrees 0.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 32.0) - (sp-flt spt-fade-a -1.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-launchrot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 239) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-x 0.0 12743.111 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 32.0) + (sp-flt spt-fade-a -1.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-launchrot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 240) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-x 20024.889 12743.111 1.0) - (sp-flt spt-rot-y (degrees 0.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 32.0) - (sp-flt spt-fade-a -1.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-launchrot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 240) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1a :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-x 20024.889 12743.111 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 32.0) + (sp-flt spt-fade-a -1.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-launchrot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 66) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x4b0 - :flags (sp-group-flag use-local-clock) - :name "group-green-collect" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 241) - (sp-item 242) - (sp-item 243) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 66) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x4b0 + :flags (sp-group-flag use-local-clock) + :name "group-green-collect" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 241) (sp-item 242) (sp-item 243)) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 241) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 2.1333334) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 244) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 241) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 2.1333334) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 244) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 242) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 2.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-fade-a 2.1333334) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 244) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 242) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 2.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-fade-a 2.1333334) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 244) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 243) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 6.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters 0.1)) - (sp-flt spt-rotvel-z (degrees -0.8)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 245) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 243) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 6.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters 0.1)) + (sp-flt spt-rotvel-z (degrees -0.8)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 245) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 67) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x4b0 - :flags (sp-group-flag use-local-clock) - :name "group-blue-collect" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 246) - (sp-item 247) - (sp-item 248) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 67) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x4b0 + :flags (sp-group-flag use-local-clock) + :name "group-blue-collect" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 246) (sp-item 247) (sp-item 248)) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 246) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 60.0 20.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 2.1333334) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 244) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 246) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 60.0 20.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 2.1333334) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 244) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 247) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 2.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 60.0 20.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-fade-a 2.1333334) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 244) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 247) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 2.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 60.0 20.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-fade-a 2.1333334) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 244) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 248) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 6.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 60.0 20.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters 0.1)) - (sp-flt spt-rotvel-z (degrees -0.8)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 245) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 248) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 6.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 60.0 20.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters 0.1)) + (sp-flt spt-rotvel-z (degrees -0.8)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 245) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 68) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x4b0 - :flags (sp-group-flag use-local-clock) - :name "group-yellow-collect" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 249) - (sp-item 250) - (sp-item 251) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 68) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x4b0 + :flags (sp-group-flag use-local-clock) + :name "group-yellow-collect" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 249) (sp-item 250) (sp-item 251)) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 249) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 192.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 2.1333334) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 244) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 249) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 192.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 2.1333334) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 244) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 244) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.15238096) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 244) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.15238096) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 250) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 2.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 192.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-fade-a 2.1333334) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 244) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 250) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 2.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 192.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-fade-a 2.1333334) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 244) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 251) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 6.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 192.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters 0.1)) - (sp-flt spt-rotvel-z (degrees -0.8)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 245) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 251) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 6.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 192.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters 0.1)) + (sp-flt spt-rotvel-z (degrees -0.8)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 245) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 245) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-scalevel-x (meters -0.025)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 245) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-scalevel-x (meters -0.025)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 69) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x4b0 - :flags (sp-group-flag use-local-clock) - :name "group-red-collect" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 252) - (sp-item 253) - (sp-item 254) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 69) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x4b0 + :flags (sp-group-flag use-local-clock) + :name "group-red-collect" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 252) (sp-item 253) (sp-item 254)) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 252) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 2.1333334) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 244) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 252) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 2.1333334) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 244) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 253) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 2.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-fade-a 2.1333334) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 244) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 253) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 2.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-fade-a 2.1333334) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 244) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 254) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 6.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters 0.1)) - (sp-flt spt-rotvel-z (degrees -0.8)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 245) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 254) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 6.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters 0.1)) + (sp-flt spt-rotvel-z (degrees -0.8)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 245) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/engine/game/effect-control-h_REF.gc b/test/decompiler/reference/engine/game/effect-control-h_REF.gc index f634804d75..93a341dc9f 100644 --- a/test/decompiler/reference/engine/game/effect-control-h_REF.gc +++ b/test/decompiler/reference/engine/game/effect-control-h_REF.gc @@ -41,26 +41,19 @@ ) ;; definition for method 0 of type effect-control -(defmethod - new - effect-control - ((allocation symbol) (type-to-make type) (arg0 process-drawable)) +(defmethod new effect-control ((allocation symbol) (type-to-make type) (arg0 process-drawable)) (cond - ((res-lump-struct (-> arg0 draw jgeo extra) 'effect-name structure) - (let - ((v0-1 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) + ((res-lump-struct (-> arg0 draw jgeo extra) 'effect-name structure) + (let ((v0-1 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-1 process) arg0) + (set! (-> v0-1 last-frame-group) #f) + v0-1 ) - ) - (set! (-> v0-1 process) arg0) - (set! (-> v0-1 last-frame-group) #f) - v0-1 ) + (else + (the-as effect-control #f) + ) ) - (else - (the-as effect-control #f) - ) - ) ) ;; definition for method 13 of type effect-control diff --git a/test/decompiler/reference/engine/game/effect-control_REF.gc b/test/decompiler/reference/engine/game/effect-control_REF.gc index d3374217b7..b8806107cc 100644 --- a/test/decompiler/reference/engine/game/effect-control_REF.gc +++ b/test/decompiler/reference/engine/game/effect-control_REF.gc @@ -14,114 +14,116 @@ (a1-1 "~S-~S~S") (v1-1 (shr (shl arg1 52) 58)) ) - (gp-0 a0-2 a1-1 arg0 (cond - ((= v1-1 5) - "sand" - ) - ((= v1-1 6) - "wood" - ) - ((= v1-1 13) - "crwood" - ) - ((or (= v1-1 18) (= v1-1 8)) - "pcmetal" - ) - ((or (= v1-1 16) (= v1-1 21)) - "metal" - ) - ((= v1-1 9) - "snow" - ) - ((= v1-1 10) - "dpsnow" - ) - ((= v1-1 14) - "gravel" - ) - ((= v1-1 15) - "dirt" - ) - ((zero? v1-1) - "stone" - ) - ((= v1-1 3) - "water" - ) - ((= v1-1 4) - "tar" - ) - ((= v1-1 17) - "straw" - ) - ((= v1-1 1) - "ice" - ) - ((= v1-1 19) - "swamp" - ) - ((= v1-1 22) - "neutral" - ) - (else - "grass" - ) - ) - arg2 + (gp-0 + a0-2 + a1-1 + arg0 + (cond + ((= v1-1 5) + "sand" + ) + ((= v1-1 6) + "wood" + ) + ((= v1-1 13) + "crwood" + ) + ((or (= v1-1 18) (= v1-1 8)) + "pcmetal" + ) + ((or (= v1-1 16) (= v1-1 21)) + "metal" + ) + ((= v1-1 9) + "snow" + ) + ((= v1-1 10) + "dpsnow" + ) + ((= v1-1 14) + "gravel" + ) + ((= v1-1 15) + "dirt" + ) + ((zero? v1-1) + "stone" + ) + ((= v1-1 3) + "water" + ) + ((= v1-1 4) + "tar" + ) + ((= v1-1 17) + "straw" + ) + ((= v1-1 1) + "ice" + ) + ((= v1-1 19) + "swamp" + ) + ((= v1-1 22) + "neutral" + ) + (else + "grass" + ) + ) + arg2 + ) ) - ) (string->sound-name *temp-string*) ) ;; definition for function effect-param->sound-spec -(defun - effect-param->sound-spec - ((arg0 sound-spec) (arg1 (pointer float)) (arg2 int)) +(defun effect-param->sound-spec ((arg0 sound-spec) (arg1 (pointer float)) (arg2 int)) (while (> arg2 0) - (case (the int (-> arg1 0)) - ((3) - (logior! (-> arg0 mask) 1) - (set! (-> arg0 volume) (the int (* 10.24 (-> arg1 1)))) + (case (the int (-> arg1 0)) + ((3) + (logior! (-> arg0 mask) 1) + (set! (-> arg0 volume) (the int (* 10.24 (-> arg1 1)))) + ) + ((4) + (logior! (-> arg0 mask) 1) + (+! (-> arg0 volume) (the int (* 10.24 (* (-> arg1 1) (rand-vu))))) + ) + ((5) + (logior! (-> arg0 mask) 2) + (set! (-> arg0 pitch-mod) (the int (* 1524.0 (-> arg1 1)))) + ) + ((6) + (logior! (-> arg0 mask) 2) + (+! (-> arg0 pitch-mod) (the int (* 1524.0 (* (-> arg1 1) (rand-vu))))) + ) + ((9) + (logior! (-> arg0 mask) 4) + (set! (-> arg0 bend) (the int (* 327.66998 (-> arg1 1)))) + ) + ((10) + (logior! (-> arg0 mask) 4) + (+! (-> arg0 bend) (the int (* 327.66998 (* (-> arg1 1) (rand-vu))))) + ) + ((11) + (logior! (-> arg0 mask) 64) + (set! (-> arg0 fo-min) (the int (-> arg1 1))) + ) + ((12) + (logior! (-> arg0 mask) 128) + (set! (-> arg0 fo-max) (the int (-> arg1 1))) + ) + ((13) + (logior! (-> arg0 mask) 256) + (set! (-> arg0 fo-curve) (the int (-> arg1 1))) + ) + ((19) + (set! (-> arg0 priority) (the int (-> arg1 1))) + ) ) - ((4) - (logior! (-> arg0 mask) 1) - (+! (-> arg0 volume) (the int (* 10.24 (* (-> arg1 1) (rand-vu))))) - ) - ((5) - (logior! (-> arg0 mask) 2) - (set! (-> arg0 pitch-mod) (the int (* 1524.0 (-> arg1 1)))) - ) - ((6) - (logior! (-> arg0 mask) 2) - (+! (-> arg0 pitch-mod) (the int (* 1524.0 (* (-> arg1 1) (rand-vu))))) - ) - ((9) - (logior! (-> arg0 mask) 4) - (set! (-> arg0 bend) (the int (* 327.66998 (-> arg1 1)))) - ) - ((10) - (logior! (-> arg0 mask) 4) - (+! (-> arg0 bend) (the int (* 327.66998 (* (-> arg1 1) (rand-vu))))) - ) - ((11) - (logior! (-> arg0 mask) 64) - (set! (-> arg0 fo-min) (the int (-> arg1 1))) - ) - ((12) - (logior! (-> arg0 mask) 128) - (set! (-> arg0 fo-max) (the int (-> arg1 1))) - ) - ((13) - (logior! (-> arg0 mask) 256) - (set! (-> arg0 fo-curve) (the int (-> arg1 1))) - ) - ((19) - (set! (-> arg0 priority) (the int (-> arg1 1))) - ) + (+! arg2 -2) + (set! arg1 (&-> arg1 2)) ) - (+! arg2 -2) - (set! arg1 (&-> arg1 2)) - ) arg0 ) @@ -131,119 +133,100 @@ (defmethod TODO-RENAME-9 effect-control ((obj effect-control)) (let* ((a0-1 (-> obj process skel)) (v1-3 (if (< (-> obj channel-offset) (-> a0-1 active-channels)) - (-> a0-1 root-channel (-> obj channel-offset)) - (the-as joint-control-channel #f) - ) - ) + (-> a0-1 root-channel (-> obj channel-offset)) + (the-as joint-control-channel #f) + ) + ) ) - (cond - ((and v1-3 (-> v1-3 frame-group)) - (let* ((s5-0 (-> v1-3 frame-group)) - (f30-0 - (+ - (* (-> v1-3 frame-num) (-> s5-0 artist-step)) - (-> s5-0 artist-base) + (cond + ((and v1-3 (-> v1-3 frame-group)) + (let* ((s5-0 (-> v1-3 frame-group)) + (f30-0 (+ (* (-> v1-3 frame-num) (-> s5-0 artist-step)) (-> s5-0 artist-base))) ) - ) - ) - (let ((a0-3 (-> a0-1 root-channel 0 num-func))) - (cond - ((!= s5-0 (-> obj last-frame-group)) - (set! (-> obj res) (-> s5-0 extra)) - (let - ((v1-6 - (-> - (lookup-tag-idx (-> s5-0 extra) 'effect-name 'base -1000000000.0) - lo - ) - ) - ) - (set! (-> obj name) (if (>= (the-as int v1-6) 0) - (&-> (-> s5-0 extra tag) v1-6) - (the-as (pointer res-tag) #f) - ) - ) - ) - (if (and (-> obj name) (= (-> obj name 0 key-frame) -1000000000.0)) - (set! (-> obj name) (&-> (-> obj name) 1)) - ) - (TODO-RENAME-14 obj f30-0 f30-0 f30-0) - ) - ((or (not (-> obj name)) (= f30-0 (-> obj last-frame-num))) - ) - (else - (let ((f28-0 (-> obj last-frame-num)) - (f26-0 f30-0) - ) - (cond - ((= a0-3 num-func-seek!) - (let - ((f0-6 - (+ - (* (-> v1-3 param 0) (-> s5-0 artist-step)) - (-> s5-0 artist-base) + (let ((a0-3 (-> a0-1 root-channel 0 num-func))) + (cond + ((!= s5-0 (-> obj last-frame-group)) + (set! (-> obj res) (-> s5-0 extra)) + (let ((v1-6 (-> (lookup-tag-idx (-> s5-0 extra) 'effect-name 'base -1000000000.0) lo))) + (set! (-> obj name) (if (>= (the-as int v1-6) 0) + (&-> (-> s5-0 extra tag) v1-6) + (the-as (pointer res-tag) #f) + ) + ) ) - ) + (if (and (-> obj name) (= (-> obj name 0 key-frame) -1000000000.0)) + (set! (-> obj name) (&-> (-> obj name) 1)) + ) + (TODO-RENAME-14 obj f30-0 f30-0 f30-0) ) - (cond - ((< f26-0 f28-0) - (if (>= f28-0 f0-6) - (TODO-RENAME-14 obj f26-0 f28-0 f30-0) - ) - ) - (else - (if (>= f0-6 f28-0) - (TODO-RENAME-14 obj f28-0 f26-0 f30-0) - ) - ) - ) - ) - ) - ((= a0-3 num-func-loop!) - (cond - ((>= (-> v1-3 param 0) 0.0) - (cond - ((< f26-0 f28-0) - (TODO-RENAME-14 obj f28-0 9999999.0 f30-0) - (TODO-RENAME-14 obj -100000000.0 f26-0 9999999.0) - ) - (else - (TODO-RENAME-14 obj f28-0 f26-0 f30-0) - ) - ) - ) - ((< f28-0 f26-0) - (TODO-RENAME-14 obj f26-0 9999999.0 f30-0) - (TODO-RENAME-14 obj -100000000.0 f28-0 9999999.0) + ((or (not (-> obj name)) (= f30-0 (-> obj last-frame-num))) ) (else - (TODO-RENAME-14 obj f26-0 f28-0 f30-0) - ) + (let ((f28-0 (-> obj last-frame-num)) + (f26-0 f30-0) + ) + (cond + ((= a0-3 num-func-seek!) + (let ((f0-6 (+ (* (-> v1-3 param 0) (-> s5-0 artist-step)) (-> s5-0 artist-base)))) + (cond + ((< f26-0 f28-0) + (if (>= f28-0 f0-6) + (TODO-RENAME-14 obj f26-0 f28-0 f30-0) + ) + ) + (else + (if (>= f0-6 f28-0) + (TODO-RENAME-14 obj f28-0 f26-0 f30-0) + ) + ) + ) + ) + ) + ((= a0-3 num-func-loop!) + (cond + ((>= (-> v1-3 param 0) 0.0) + (cond + ((< f26-0 f28-0) + (TODO-RENAME-14 obj f28-0 9999999.0 f30-0) + (TODO-RENAME-14 obj -100000000.0 f26-0 9999999.0) + ) + (else + (TODO-RENAME-14 obj f28-0 f26-0 f30-0) + ) + ) + ) + ((< f28-0 f26-0) + (TODO-RENAME-14 obj f26-0 9999999.0 f30-0) + (TODO-RENAME-14 obj -100000000.0 f28-0 9999999.0) + ) + (else + (TODO-RENAME-14 obj f26-0 f28-0 f30-0) + ) + ) + ) + ((= a0-3 num-func-+!) + (if (>= (-> v1-3 param 0) 0.0) + (TODO-RENAME-14 obj f28-0 f26-0 f30-0) + (TODO-RENAME-14 obj f26-0 f28-0 f30-0) + ) + ) + ((= a0-3 num-func-identity) + (TODO-RENAME-14 obj f30-0 f30-0 f30-0) + ) + ) + ) + ) ) - ) - ((= a0-3 num-func-+!) - (if (>= (-> v1-3 param 0) 0.0) - (TODO-RENAME-14 obj f28-0 f26-0 f30-0) - (TODO-RENAME-14 obj f26-0 f28-0 f30-0) - ) - ) - ((= a0-3 num-func-identity) - (TODO-RENAME-14 obj f30-0 f30-0 f30-0) - ) ) - ) + (set! (-> obj last-frame-group) s5-0) + (set! (-> obj last-frame-num) f30-0) ) - ) ) - (set! (-> obj last-frame-group) s5-0) - (set! (-> obj last-frame-num) f30-0) + (else + (set! (-> obj last-frame-group) #f) + ) ) - ) - (else - (set! (-> obj last-frame-group) #f) - ) ) - ) 0 (none) ) @@ -251,39 +234,28 @@ ;; definition for method 14 of type effect-control ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - TODO-RENAME-14 - effect-control - ((obj effect-control) (arg0 float) (arg1 float) (arg2 float)) +(defmethod TODO-RENAME-14 effect-control ((obj effect-control) (arg0 float) (arg1 float) (arg2 float)) (let ((s2-0 (-> obj name))) - (while (= (-> s2-0 0 name) 'effect-name) - (let ((f0-0 (-> s2-0 0 key-frame))) - (when (or (and (< f0-0 arg1) (< arg0 f0-0)) (= f0-0 arg2)) - (let* ((a0-1 obj) - (t9-0 (method-of-object a0-1 dummy-10)) - (v1-7 (-> obj res)) - (a1-1 (-> s2-0 0)) - ) - (t9-0 - a0-1 - (the-as - symbol - (-> - (the-as - (pointer uint32) - (&+ (-> v1-7 data-base) (-> a1-1 data-offset)) - ) + (while (= (-> s2-0 0 name) 'effect-name) + (let ((f0-0 (-> s2-0 0 key-frame))) + (when (or (and (< f0-0 arg1) (< arg0 f0-0)) (= f0-0 arg2)) + (let* ((a0-1 obj) + (t9-0 (method-of-object a0-1 dummy-10)) + (v1-7 (-> obj res)) + (a1-1 (-> s2-0 0)) + ) + (t9-0 + a0-1 + (the-as symbol (-> (the-as (pointer uint32) (&+ (-> v1-7 data-base) (-> a1-1 data-offset))))) + f0-0 + -1 + ) + ) ) - ) - f0-0 - -1 ) - ) + (set! s2-0 (&-> s2-0 1)) ) - ) - (set! s2-0 (&-> s2-0 1)) ) - ) 0 (none) ) @@ -298,1049 +270,907 @@ ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 450] ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 469] ;; Used lq/sq -(defmethod - dummy-10 - effect-control - ((obj effect-control) (arg0 symbol) (arg1 float) (arg2 int)) +(defmethod dummy-10 effect-control ((obj effect-control) (arg0 symbol) (arg1 float) (arg2 int)) (local-vars - (sv-160 int) - (sv-176 symbol) - (sv-192 symbol) - (sv-208 symbol) - (sv-224 int) - (sv-240 symbol) - (sv-256 symbol) - (sv-272 symbol) - (sv-288 res-lump) - ) - (with-pp - (let ((s3-0 (-> arg0 value)) - (s5-0 (cond - ((< arg2 0) - (let - ((v0-0 - (get-property-value - (-> obj res) - 'effect-joint - 'exact - arg1 - (the-as uint128 0) - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (if (zero? v0-0) - 0 - (the-as int (+ v0-0 1)) - ) - ) - ) - (else - (empty) - arg2 - ) - ) - ) - ) - (when (logtest? (-> obj flags) 1) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 3) - (set! (-> a1-2 message) 'effect) - (set! (-> a1-2 param 0) (the-as uint arg0)) - (set! (-> a1-2 param 1) (the-as uint arg1)) - (set! (-> a1-2 param 2) (the-as uint s5-0)) - (if (send-event-function (-> obj process) a1-2) - (return (the-as object 0)) - ) - ) - ) - (let ((v1-10 (symbol->string arg0))) - (cond - ((and - (= (-> v1-10 data 0) 101) - (= (-> v1-10 data 1) 102) - (= (-> v1-10 data 2) 102) - (= (-> v1-10 data 3) 101) - (= (-> v1-10 data 4) 99) - (= (-> v1-10 data 5) 116) - (= (-> v1-10 data 6) 45) - ) - (let* ((s3-1 (-> obj process root)) - (v1-14 - (if - (and - (nonzero? s3-1) - (type-type? (-> s3-1 type) collide-shape-moving) - ) - s3-1 - ) - ) - (t1-1 (if v1-14 - (the-as - int - (-> (the-as collide-shape-moving v1-14) ground-pat) - ) - *footstep-surface* - ) - ) - ) - (dummy-11 obj arg0 (the-as basic arg1) s5-0 (-> obj res) t1-1) - ) - ) - ((let ((v1-18 (symbol->string arg0))) - (and - (= (-> v1-18 data 0) 103) - (= (-> v1-18 data 1) 114) - (= (-> v1-18 data 2) 111) - (= (-> v1-18 data 3) 117) - (= (-> v1-18 data 4) 112) - (= (-> v1-18 data 5) 45) - ) - ) - (set! s3-0 (cond - ((zero? s3-0) - (let - ((v0-5 - (lookup-part-group-pointer-by-name (symbol->string arg0)) - ) - ) - (when v0-5 - (set! (-> arg0 value) v0-5) - (set! s3-0 (-> v0-5 0)) - ) - ) - (the-as (pointer sparticle-launch-group) s3-0) - ) - (else - (-> (the-as (pointer sparticle-launch-group) s3-0) 0) - ) - ) - ) - (when - (and - (nonzero? s3-0) - (= - (-> (the-as sparticle-launch-group s3-0) type) - sparticle-launch-group - ) - ) - (if *debug-effect-control* - (format - #t - "(~5D) effect group ~A ~A frame ~F joint ~D~%" - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - arg1 - s5-0 - ) - ) - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 - (the-as part-tracker s4-1) - (-> obj process) - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (let ((s2-1 run-function-in-process) - (s1-0 s4-1) - (s0-0 part-tracker-init) - ) - (set! sv-160 -1) - (set! sv-176 (the-as symbol #f)) - (set! sv-192 (the-as symbol #f)) - (set! sv-208 (the-as symbol #f)) - (let - ((t3-0 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj process node-list data s5-0) - ) - ) - ) - ((the-as - (function object object object object object object object object none) - s2-1 - ) - s1-0 - s0-0 - (the-as sparticle-launch-group s3-0) - sv-160 - sv-176 - sv-192 - sv-208 - t3-0 - ) - ) - ) - (-> s4-1 ppointer) - ) - ) - ) - ) - ((= arg0 'camera-shake) - (activate! *camera-smush-control* 819.2 37 600 1.0 0.995) - ) - ((zero? s3-0) - (dummy-12 - obj - arg0 - (the-as basic arg1) - s5-0 - (-> obj res) - (string->sound-name (symbol->string arg0)) - ) - ) - ((= (-> (the-as basic s3-0) type) sparticle-launcher) - (if *debug-effect-control* - (format - #t - "(~5D) effect part ~A ~A frame ~F joint ~D~%" - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - arg1 - s5-0 - ) - ) - (format - #t - "-----> (~5D) effect part ~A ~A frame ~F joint ~D~%" - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - arg1 - s5-0 - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (the-as sparticle-launcher s3-0) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj process node-list data s5-0) - ) - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) - ((= (-> (the-as basic s3-0) type) sparticle-launch-group) - (if *debug-effect-control* - (format - #t - "(~5D) effect group ~A ~A frame ~F joint ~D~%" - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - arg1 - s5-0 - ) - ) - (let ((s4-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-3 - (let ((t9-19 (method-of-type part-tracker activate))) - (t9-19 - (the-as part-tracker s4-3) - (-> obj process) - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (let ((s2-3 run-function-in-process) - (s1-2 s4-3) - (s0-2 part-tracker-init) - ) - (set! sv-224 -1) - (set! sv-240 (the-as symbol #f)) - (set! sv-256 (the-as symbol #f)) - (set! sv-272 (the-as symbol #f)) - (let - ((t3-1 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj process node-list data s5-0) - ) - ) - ) - ((the-as - (function object object object object object object object object none) - s2-3 - ) - s1-2 - s0-2 - s3-0 - sv-224 - sv-240 - sv-256 - sv-272 - t3-1 - ) - ) - ) - (-> s4-3 ppointer) - ) - ) - ) - ((= (-> (the-as basic s3-0) type) sound-spec) - (sound-play-by-spec - (the-as sound-spec s3-0) - (new-sound-id) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj process node-list data s5-0) - ) - ) - ) - ((= (-> (the-as basic s3-0) type) death-info) - (let ((v1-67 (-> obj process draw))) - (let ((a1-42 (-> (the-as death-info s3-0) vertex-skip)) - (a0-55 - (max - 2 - (the-as - int - (/ - (-> (the-as death-info s3-0) timer) - (the-as uint (the int (-> *display* time-factor))) - ) - ) - ) - ) - ) - (when (= (-> *setting-control* current video-mode) 'pal) - (if (< (the-as uint 1) a1-42) - (set! - a1-42 - (/ (the-as uint (* (the-as uint 50) a1-42)) (the-as uint 60)) - ) - ) - ) - (let - ((a2-29 - (-> *display* frames (-> *display* last-screen) frame run-time) - ) - ) - (cond - ((< 9000 (the-as int a2-29)) - (set! a1-42 (* a1-42 4)) - ) - ((< 7000 (the-as int a2-29)) - (set! a1-42 (* a1-42 2)) - ) - ) - ) - (set! (-> v1-67 death-vertex-skip) a1-42) - (set! (-> v1-67 death-effect) (-> (the-as death-info s3-0) effect)) - (set! (-> v1-67 death-timer) (+ a0-55 1)) - ) - (set! (-> v1-67 death-timer-org) (-> v1-67 death-timer)) - (set! - (-> v1-67 death-draw-overlap) - (-> (the-as death-info s3-0) overlap) - ) - ) - (when (-> (the-as death-info s3-0) sound) - (let* ((s2-5 obj) - (s1-3 (method-of-object s2-5 dummy-12)) - (s0-3 (-> (the-as death-info s3-0) sound)) - ) - (set! sv-288 (-> obj res)) - (let - ((t1-11 - (string->sound-name - (the-as - string - (-> - (the-as - (pointer uint32) - (+ #xff38 (the-as int (-> (the-as death-info s3-0) sound))) - ) - ) - ) - ) - ) - ) - (s1-3 s2-5 (the-as symbol s0-3) (the-as basic arg1) s5-0 sv-288 t1-11) - ) - ) - ) - (send-event (-> obj process) 'death-start (the-as death-info s3-0)) - ) - (else - (dummy-12 - obj - arg0 - (the-as basic arg1) - s5-0 - (-> obj res) - (string->sound-name (symbol->string arg0)) - ) - ) - ) - ) + (sv-160 int) + (sv-176 symbol) + (sv-192 symbol) + (sv-208 symbol) + (sv-224 int) + (sv-240 symbol) + (sv-256 symbol) + (sv-272 symbol) + (sv-288 res-lump) + ) + (with-pp + (let ((s3-0 (-> arg0 value)) + (s5-0 (cond + ((< arg2 0) + (let ((v0-0 (get-property-value + (-> obj res) + 'effect-joint + 'exact + arg1 + (the-as uint128 0) + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (if (zero? v0-0) + 0 + (the-as int (+ v0-0 1)) + ) + ) + ) + (else + (empty) + arg2 + ) + ) + ) + ) + (when (logtest? (-> obj flags) 1) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) pp) + (set! (-> a1-2 num-params) 3) + (set! (-> a1-2 message) 'effect) + (set! (-> a1-2 param 0) (the-as uint arg0)) + (set! (-> a1-2 param 1) (the-as uint arg1)) + (set! (-> a1-2 param 2) (the-as uint s5-0)) + (if (send-event-function (-> obj process) a1-2) + (return (the-as object 0)) + ) + ) + ) + (let ((v1-10 (symbol->string arg0))) + (cond + ((and + (= (-> v1-10 data 0) 101) + (= (-> v1-10 data 1) 102) + (= (-> v1-10 data 2) 102) + (= (-> v1-10 data 3) 101) + (= (-> v1-10 data 4) 99) + (= (-> v1-10 data 5) 116) + (= (-> v1-10 data 6) 45) + ) + (let* ((s3-1 (-> obj process root)) + (v1-14 (if (and (nonzero? s3-1) (type-type? (-> s3-1 type) collide-shape-moving)) + s3-1 + ) + ) + (t1-1 (if v1-14 + (the-as int (-> (the-as collide-shape-moving v1-14) ground-pat)) + *footstep-surface* + ) + ) + ) + (dummy-11 obj arg0 (the-as basic arg1) s5-0 (-> obj res) t1-1) + ) + ) + ((let ((v1-18 (symbol->string arg0))) + (and + (= (-> v1-18 data 0) 103) + (= (-> v1-18 data 1) 114) + (= (-> v1-18 data 2) 111) + (= (-> v1-18 data 3) 117) + (= (-> v1-18 data 4) 112) + (= (-> v1-18 data 5) 45) + ) + ) + (set! s3-0 (cond + ((zero? s3-0) + (let ((v0-5 (lookup-part-group-pointer-by-name (symbol->string arg0)))) + (when v0-5 + (set! (-> arg0 value) v0-5) + (set! s3-0 (-> v0-5 0)) + ) + ) + (the-as (pointer sparticle-launch-group) s3-0) + ) + (else + (-> (the-as (pointer sparticle-launch-group) s3-0) 0) + ) + ) + ) + (when (and (nonzero? s3-0) (= (-> (the-as sparticle-launch-group s3-0) type) sparticle-launch-group)) + (if *debug-effect-control* + (format + #t + "(~5D) effect group ~A ~A frame ~F joint ~D~%" + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + arg1 + s5-0 + ) + ) + (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s4-1 + (let ((t9-7 (method-of-type part-tracker activate))) + (t9-7 (the-as part-tracker s4-1) (-> obj process) 'part-tracker (the-as pointer #x70004000)) + ) + (let ((s2-1 run-function-in-process) + (s1-0 s4-1) + (s0-0 part-tracker-init) + ) + (set! sv-160 -1) + (set! sv-176 (the-as symbol #f)) + (set! sv-192 (the-as symbol #f)) + (set! sv-208 (the-as symbol #f)) + (let ((t3-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)))) + ((the-as (function object object object object object object object object none) s2-1) + s1-0 + s0-0 + (the-as sparticle-launch-group s3-0) + sv-160 + sv-176 + sv-192 + sv-208 + t3-0 + ) + ) + ) + (-> s4-1 ppointer) + ) + ) + ) + ) + ((= arg0 'camera-shake) + (activate! *camera-smush-control* 819.2 37 600 1.0 0.995) + ) + ((zero? s3-0) + (dummy-12 obj arg0 (the-as basic arg1) s5-0 (-> obj res) (string->sound-name (symbol->string arg0))) + ) + ((= (-> (the-as basic s3-0) type) sparticle-launcher) + (if *debug-effect-control* + (format + #t + "(~5D) effect part ~A ~A frame ~F joint ~D~%" + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + arg1 + s5-0 + ) + ) + (format + #t + "-----> (~5D) effect part ~A ~A frame ~F joint ~D~%" + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + arg1 + s5-0 + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (the-as sparticle-launcher s3-0) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)) + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) + ((= (-> (the-as basic s3-0) type) sparticle-launch-group) + (if *debug-effect-control* + (format + #t + "(~5D) effect group ~A ~A frame ~F joint ~D~%" + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + arg1 + s5-0 + ) + ) + (let ((s4-3 (get-process *default-dead-pool* part-tracker #x4000))) + (when s4-3 + (let ((t9-19 (method-of-type part-tracker activate))) + (t9-19 (the-as part-tracker s4-3) (-> obj process) 'part-tracker (the-as pointer #x70004000)) + ) + (let ((s2-3 run-function-in-process) + (s1-2 s4-3) + (s0-2 part-tracker-init) + ) + (set! sv-224 -1) + (set! sv-240 (the-as symbol #f)) + (set! sv-256 (the-as symbol #f)) + (set! sv-272 (the-as symbol #f)) + (let ((t3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)))) + ((the-as (function object object object object object object object object none) s2-3) + s1-2 + s0-2 + s3-0 + sv-224 + sv-240 + sv-256 + sv-272 + t3-1 + ) + ) + ) + (-> s4-3 ppointer) + ) + ) + ) + ((= (-> (the-as basic s3-0) type) sound-spec) + (sound-play-by-spec + (the-as sound-spec s3-0) + (new-sound-id) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-0)) + ) + ) + ((= (-> (the-as basic s3-0) type) death-info) + (let ((v1-67 (-> obj process draw))) + (let ((a1-42 (-> (the-as death-info s3-0) vertex-skip)) + (a0-55 + (max + 2 + (the-as int (/ (-> (the-as death-info s3-0) timer) (the-as uint (the int (-> *display* time-factor))))) + ) + ) + ) + (when (= (-> *setting-control* current video-mode) 'pal) + (if (< (the-as uint 1) a1-42) + (set! a1-42 (/ (the-as uint (* (the-as uint 50) a1-42)) (the-as uint 60))) + ) + ) + (let ((a2-29 (-> *display* frames (-> *display* last-screen) frame run-time))) + (cond + ((< 9000 (the-as int a2-29)) + (set! a1-42 (* a1-42 4)) + ) + ((< 7000 (the-as int a2-29)) + (set! a1-42 (* a1-42 2)) + ) + ) + ) + (set! (-> v1-67 death-vertex-skip) a1-42) + (set! (-> v1-67 death-effect) (-> (the-as death-info s3-0) effect)) + (set! (-> v1-67 death-timer) (+ a0-55 1)) + ) + (set! (-> v1-67 death-timer-org) (-> v1-67 death-timer)) + (set! (-> v1-67 death-draw-overlap) (-> (the-as death-info s3-0) overlap)) + ) + (when (-> (the-as death-info s3-0) sound) + (let* ((s2-5 obj) + (s1-3 (method-of-object s2-5 dummy-12)) + (s0-3 (-> (the-as death-info s3-0) sound)) + ) + (set! sv-288 (-> obj res)) + (let ((t1-11 + (string->sound-name + (the-as string (-> (the-as (pointer uint32) (+ #xff38 (the-as int (-> (the-as death-info s3-0) sound)))))) + ) + ) + ) + (s1-3 s2-5 (the-as symbol s0-3) (the-as basic arg1) s5-0 sv-288 t1-11) + ) + ) + ) + (send-event (-> obj process) 'death-start (the-as death-info s3-0)) + ) + (else + (dummy-12 obj arg0 (the-as basic arg1) s5-0 (-> obj res) (string->sound-name (symbol->string arg0))) + ) + ) + ) + ) + 0 ) - 0 - ) ) ;; definition for method 11 of type effect-control ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - dummy-11 - effect-control - ((obj effect-control) - (arg0 symbol) - (arg1 basic) - (arg2 int) - (arg3 basic) - (arg4 int) - ) +(defmethod dummy-11 effect-control ((obj effect-control) (arg0 symbol) (arg1 basic) (arg2 int) (arg3 basic) (arg4 int)) (local-vars - (sv-48 - (function sparticle-system sparticle-launcher vector sparticle-launch-state sparticle-launch-control float none) + (sv-48 + (function sparticle-system sparticle-launcher vector sparticle-launch-state sparticle-launch-control float none) + ) + (sv-64 sparticle-system) + (sv-80 + (function sparticle-system sparticle-launcher vector sparticle-launch-state sparticle-launch-control float none) + ) + (sv-96 sparticle-system) ) - (sv-64 sparticle-system) - (sv-80 - (function sparticle-system sparticle-launcher vector sparticle-launch-state sparticle-launch-control float none) - ) - (sv-96 sparticle-system) - ) (let ((s1-0 (the-as sound-name #f))) - (let ((a0-4 (-> *display* frames (-> *display* last-screen) frame run-time))) - (case arg0 - (('effect-walk-step-left 'effect-run-step-left) - (set! s1-0 (sound-name-with-material 'walk arg4 "1")) - ) - (('effect-walk-step-right 'effect-run-step-right) - (set! s1-0 (sound-name-with-material 'walk arg4 "2")) - ) - (('effect-roll) - (set! s1-0 (sound-name-with-material 'roll arg4 "")) - ) - (('effect-slide) - (set! s1-0 (sound-name-with-material 'slide arg4 "")) - ) - (('effect-land) - (set! s1-0 (sound-name-with-material 'land arg4 "")) - ) - (('effect-zoom-land) - (set! s1-0 (sound-name-with-material 'zoom-land arg4 "")) - ) - (('effect-zoom-hit) - (set! s1-0 (sound-name-with-material 'zoom-hit arg4 "")) - ) - (('effect-flut-land) - (set! s1-0 (sound-name-with-material 'flut-land arg4 "")) - ) - (('effect-land-poof) - (when (< (the-as int a0-4) 9000) - (let* ((a0-13 obj) - (t9-8 (method-of-object a0-13 dummy-10)) - (v1-15 (shr (shl arg4 52) 58)) - ) - (t9-8 a0-13 (cond - ((= v1-15 5) - 'group-land-poof-sand - ) - ((= v1-15 6) - 'group-land-poof-wood - ) - ((= v1-15 13) - 'group-land-poof-crwood - ) - ((or (= v1-15 18) (= v1-15 8)) - 'group-land-poof-pcmetal - ) - ((or (= v1-15 16) (= v1-15 21)) - 'group-land-poof-metal - ) - ((= v1-15 1) - 'group-land-poof-ice - ) - ((= v1-15 9) - 'group-land-poof-snow - ) - ((= v1-15 10) - 'group-land-poof-dpsnow - ) - ((= v1-15 14) - 'group-land-poof-gravel - ) - ((= v1-15 15) - 'group-land-poof-dirt - ) - ((zero? v1-15) - 'group-land-poof-stone - ) - ((= v1-15 3) - 'group-land-poof-water - ) - ((= v1-15 4) - 'group-land-poof-tar - ) - ((= v1-15 17) - 'group-land-poof-straw - ) - ((= v1-15 19) - 'group-land-poof-swamp - ) - ((= v1-15 22) - 'group-land-poof-neutral - ) - (else - 'group-land-poof-grass - ) - ) - (the-as float arg1) -1 + (let ((a0-4 (-> *display* frames (-> *display* last-screen) frame run-time))) + (case arg0 + (('effect-walk-step-left 'effect-run-step-left) + (set! s1-0 (sound-name-with-material 'walk arg4 "1")) ) - ) - ) - ) - (('effect-run-poof) - (when (< (the-as int a0-4) 9000) - (let* ((a0-14 obj) - (t9-9 (method-of-object a0-14 dummy-10)) - (v1-20 (shr (shl arg4 52) 58)) - ) - (t9-9 a0-14 (cond - ((= v1-20 5) - 'group-run-poof-sand - ) - ((= v1-20 6) - 'group-run-poof-wood - ) - ((= v1-20 13) - 'group-run-poof-crwood - ) - ((or (= v1-20 18) (= v1-20 8)) - 'group-run-poof-pcmetal - ) - ((or (= v1-20 16) (= v1-20 21)) - 'group-run-poof-metal - ) - ((= v1-20 1) - 'group-run-poof-ice - ) - ((= v1-20 9) - 'group-run-poof-snow - ) - ((= v1-20 10) - 'group-run-poof-dpsnow - ) - ((= v1-20 14) - 'group-run-poof-gravel - ) - ((= v1-20 15) - 'group-run-poof-dirt - ) - ((zero? v1-20) - 'group-run-poof-stone - ) - ((= v1-20 3) - 'group-run-poof-water - ) - ((= v1-20 4) - 'group-run-poof-tar - ) - ((= v1-20 17) - 'group-run-poof-straw - ) - ((= v1-20 19) - 'group-run-poof-swamp - ) - ((= v1-20 22) - 'group-run-poof-neutral - ) - (else - 'group-run-poof-grass - ) - ) - (the-as float arg1) -1 + (('effect-walk-step-right 'effect-run-step-right) + (set! s1-0 (sound-name-with-material 'walk arg4 "2")) ) - ) - ) - ) - (('effect-just-footprint) - (let* ((a0-15 obj) - (t9-10 (method-of-object a0-15 dummy-10)) - (v1-24 (shr (shl arg4 52) 58)) - ) - (t9-10 a0-15 (cond - ((= v1-24 5) - 'group-just-footprint-sand - ) - ((= v1-24 6) - 'group-just-footprint-wood - ) - ((= v1-24 13) - 'group-just-footprint-crwood - ) - ((or (= v1-24 18) (= v1-24 8)) - 'group-just-footprint-pcmetal - ) - ((or (= v1-24 16) (= v1-24 21)) - 'group-just-footprint-metal - ) - ((= v1-24 1) - 'group-just-footprint-ice - ) - ((= v1-24 9) - 'group-just-footprint-snow - ) - ((= v1-24 10) - 'group-just-footprint-dpsnow - ) - ((= v1-24 14) - 'group-just-footprint-gravel - ) - ((= v1-24 15) - 'group-just-footprint-dirt - ) - ((zero? v1-24) - 'group-just-footprint-stone - ) - ((= v1-24 3) - 'group-just-footprint-water - ) - ((= v1-24 4) - 'group-just-footprint-tar - ) - ((= v1-24 17) - 'group-just-footprint-straw - ) - ((= v1-24 19) - 'group-just-footprint-swamp - ) - ((= v1-24 22) - 'group-just-footprint-neutral - ) - (else - 'group-just-footprint-grass - ) - ) - (the-as float arg1) -1 - ) - ) - ) - (('effect-just-poof) - (when (< (the-as int a0-4) 9000) - (let* ((a0-16 obj) - (t9-11 (method-of-object a0-16 dummy-10)) - (v1-29 (shr (shl arg4 52) 58)) - ) - (t9-11 a0-16 (cond - ((= v1-29 5) - 'group-just-poof-sand - ) - ((= v1-29 6) - 'group-just-poof-wood - ) - ((= v1-29 13) - 'group-just-poof-crwood - ) - ((or (= v1-29 18) (= v1-29 8)) - 'group-just-poof-pcmetal - ) - ((or (= v1-29 16) (= v1-29 21)) - 'group-just-poof-metal - ) - ((= v1-29 1) - 'group-just-poof-ice - ) - ((= v1-29 9) - 'group-just-poof-snow - ) - ((= v1-29 10) - 'group-just-poof-dpsnow - ) - ((= v1-29 14) - 'group-just-poof-gravel - ) - ((= v1-29 15) - 'group-just-poof-dirt - ) - ((zero? v1-29) - 'group-just-poof-stone - ) - ((= v1-29 3) - 'group-just-poof-water - ) - ((= v1-29 4) - 'group-just-poof-tar - ) - ((= v1-29 17) - 'group-just-poof-straw - ) - ((= v1-29 19) - 'group-just-poof-swamp - ) - ((= v1-29 22) - 'group-just-poof-neutral - ) - (else - 'group-just-poof-grass - ) - ) - (the-as float arg1) -1 + (('effect-roll) + (set! s1-0 (sound-name-with-material 'roll arg4 "")) ) - ) - ) - ) - (('effect-slide-poof) - (let* ((a0-19 obj) - (t9-12 (method-of-object a0-19 dummy-10)) - (v1-33 (shr (shl arg4 52) 58)) + (('effect-slide) + (set! s1-0 (sound-name-with-material 'slide arg4 "")) + ) + (('effect-land) + (set! s1-0 (sound-name-with-material 'land arg4 "")) + ) + (('effect-zoom-land) + (set! s1-0 (sound-name-with-material 'zoom-land arg4 "")) + ) + (('effect-zoom-hit) + (set! s1-0 (sound-name-with-material 'zoom-hit arg4 "")) + ) + (('effect-flut-land) + (set! s1-0 (sound-name-with-material 'flut-land arg4 "")) + ) + (('effect-land-poof) + (when (< (the-as int a0-4) 9000) + (let* ((a0-13 obj) + (t9-8 (method-of-object a0-13 dummy-10)) + (v1-15 (shr (shl arg4 52) 58)) + ) + (t9-8 + a0-13 + (cond + ((= v1-15 5) + 'group-land-poof-sand + ) + ((= v1-15 6) + 'group-land-poof-wood + ) + ((= v1-15 13) + 'group-land-poof-crwood + ) + ((or (= v1-15 18) (= v1-15 8)) + 'group-land-poof-pcmetal + ) + ((or (= v1-15 16) (= v1-15 21)) + 'group-land-poof-metal + ) + ((= v1-15 1) + 'group-land-poof-ice + ) + ((= v1-15 9) + 'group-land-poof-snow + ) + ((= v1-15 10) + 'group-land-poof-dpsnow + ) + ((= v1-15 14) + 'group-land-poof-gravel + ) + ((= v1-15 15) + 'group-land-poof-dirt + ) + ((zero? v1-15) + 'group-land-poof-stone + ) + ((= v1-15 3) + 'group-land-poof-water + ) + ((= v1-15 4) + 'group-land-poof-tar + ) + ((= v1-15 17) + 'group-land-poof-straw + ) + ((= v1-15 19) + 'group-land-poof-swamp + ) + ((= v1-15 22) + 'group-land-poof-neutral + ) + (else + 'group-land-poof-grass + ) + ) + (the-as float arg1) + -1 + ) ) - (t9-12 a0-19 (cond - ((= v1-33 5) - 'group-slide-poof-sand - ) - ((= v1-33 6) - 'group-slide-poof-wood - ) - ((= v1-33 13) - 'group-slide-poof-crwood - ) - ((or (= v1-33 18) (= v1-33 8)) - 'group-slide-poof-pcmetal - ) - ((or (= v1-33 16) (= v1-33 21)) - 'group-slide-poof-metal - ) - ((= v1-33 1) - 'group-slide-poof-ice - ) - ((= v1-33 9) - 'group-slide-poof-snow - ) - ((= v1-33 10) - 'group-slide-poof-dpsnow - ) - ((= v1-33 14) - 'group-slide-poof-gravel - ) - ((= v1-33 15) - 'group-slide-poof-dirt - ) - ((zero? v1-33) - 'group-slide-poof-stone - ) - ((= v1-33 3) - 'group-slide-poof-water - ) - ((= v1-33 4) - 'group-slide-poof-tar - ) - ((= v1-33 17) - 'group-slide-poof-straw - ) - ((= v1-33 19) - 'group-slide-poof-swamp - ) - ((= v1-33 22) - 'group-slide-poof-neutral - ) - (else - 'group-slide-poof-grass - ) - ) - (the-as float arg1) -1 - ) - ) - ) - (('effect-droppings) - (let* ((v1-36 (shr (shl arg4 52) 58)) - (s0-0 (cond - ((= v1-36 5) - (-> *part-id-table* 95) - ) - ((= v1-36 6) - (-> *part-id-table* 97) - ) - ((= v1-36 13) - (-> *part-id-table* 99) - ) - ((or (= v1-36 18) (= v1-36 8)) - (-> *part-id-table* 2248) - ) - ((or (= v1-36 16) (= v1-36 21)) - (-> *part-id-table* 2334) - ) - ((= v1-36 1) - (-> *part-id-table* 2249) - ) - ((= v1-36 9) - (-> *part-id-table* 2250) - ) - ((= v1-36 10) - (-> *part-id-table* 2251) - ) - ((= v1-36 14) - (-> *part-id-table* 2252) - ) - ((= v1-36 15) - (-> *part-id-table* 2253) - ) - ((zero? v1-36) - (-> *part-id-table* 98) - ) - ((= v1-36 3) - (-> *part-id-table* 2254) - ) - ((= v1-36 4) - (-> *part-id-table* 2255) - ) - ((= v1-36 17) - (-> *part-id-table* 2256) - ) - ((= v1-36 19) - (-> *part-id-table* 2257) - ) - ((= v1-36 22) - (-> *part-id-table* 2773) - ) - (else - (-> *part-id-table* 96) - ) - ) - ) - ) - (when (nonzero? s0-0) - (set! sv-48 sp-launch-particles-var) - (set! sv-64 *sp-particle-system-2d*) - (let - ((a2-36 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj process node-list data arg2) - ) ) - (a3-6 #f) - (t0-1 #f) - (t1-1 1.0) - ) - (sv-48 - sv-64 - s0-0 - a2-36 - (the-as sparticle-launch-state a3-6) - (the-as sparticle-launch-control t0-1) - t1-1 - ) ) - ) - ) - ) - (('effect-jump-droppings) - (let* ((v1-61 (shr (shl arg4 52) 58)) - (s0-1 (cond - ((= v1-61 5) - (-> *part-id-table* 106) - ) - ((= v1-61 6) - (-> *part-id-table* 2258) - ) - ((= v1-61 13) - (-> *part-id-table* 2259) - ) - ((or (= v1-61 18) (= v1-61 8)) - (-> *part-id-table* 2260) - ) - ((or (= v1-61 16) (= v1-61 21)) - (-> *part-id-table* 2335) - ) - ((= v1-61 1) - (-> *part-id-table* 2261) - ) - ((= v1-61 9) - (-> *part-id-table* 2262) - ) - ((= v1-61 10) - (-> *part-id-table* 2263) - ) - ((= v1-61 14) - (-> *part-id-table* 2264) - ) - ((= v1-61 15) - (-> *part-id-table* 2265) - ) - ((zero? v1-61) - (-> *part-id-table* 2266) - ) - ((= v1-61 3) - (-> *part-id-table* 2267) - ) - ((= v1-61 4) - (-> *part-id-table* 2268) - ) - ((= v1-61 17) - (-> *part-id-table* 2269) - ) - ((= v1-61 19) - (-> *part-id-table* 2270) - ) - ((= v1-61 22) - (-> *part-id-table* 2774) - ) - (else - (-> *part-id-table* 107) - ) - ) - ) + (('effect-run-poof) + (when (< (the-as int a0-4) 9000) + (let* ((a0-14 obj) + (t9-9 (method-of-object a0-14 dummy-10)) + (v1-20 (shr (shl arg4 52) 58)) + ) + (t9-9 + a0-14 + (cond + ((= v1-20 5) + 'group-run-poof-sand + ) + ((= v1-20 6) + 'group-run-poof-wood + ) + ((= v1-20 13) + 'group-run-poof-crwood + ) + ((or (= v1-20 18) (= v1-20 8)) + 'group-run-poof-pcmetal + ) + ((or (= v1-20 16) (= v1-20 21)) + 'group-run-poof-metal + ) + ((= v1-20 1) + 'group-run-poof-ice + ) + ((= v1-20 9) + 'group-run-poof-snow + ) + ((= v1-20 10) + 'group-run-poof-dpsnow + ) + ((= v1-20 14) + 'group-run-poof-gravel + ) + ((= v1-20 15) + 'group-run-poof-dirt + ) + ((zero? v1-20) + 'group-run-poof-stone + ) + ((= v1-20 3) + 'group-run-poof-water + ) + ((= v1-20 4) + 'group-run-poof-tar + ) + ((= v1-20 17) + 'group-run-poof-straw + ) + ((= v1-20 19) + 'group-run-poof-swamp + ) + ((= v1-20 22) + 'group-run-poof-neutral + ) + (else + 'group-run-poof-grass + ) + ) + (the-as float arg1) + -1 + ) + ) + ) + ) + (('effect-just-footprint) + (let* ((a0-15 obj) + (t9-10 (method-of-object a0-15 dummy-10)) + (v1-24 (shr (shl arg4 52) 58)) + ) + (t9-10 + a0-15 + (cond + ((= v1-24 5) + 'group-just-footprint-sand + ) + ((= v1-24 6) + 'group-just-footprint-wood + ) + ((= v1-24 13) + 'group-just-footprint-crwood + ) + ((or (= v1-24 18) (= v1-24 8)) + 'group-just-footprint-pcmetal + ) + ((or (= v1-24 16) (= v1-24 21)) + 'group-just-footprint-metal + ) + ((= v1-24 1) + 'group-just-footprint-ice + ) + ((= v1-24 9) + 'group-just-footprint-snow + ) + ((= v1-24 10) + 'group-just-footprint-dpsnow + ) + ((= v1-24 14) + 'group-just-footprint-gravel + ) + ((= v1-24 15) + 'group-just-footprint-dirt + ) + ((zero? v1-24) + 'group-just-footprint-stone + ) + ((= v1-24 3) + 'group-just-footprint-water + ) + ((= v1-24 4) + 'group-just-footprint-tar + ) + ((= v1-24 17) + 'group-just-footprint-straw + ) + ((= v1-24 19) + 'group-just-footprint-swamp + ) + ((= v1-24 22) + 'group-just-footprint-neutral + ) + (else + 'group-just-footprint-grass + ) + ) + (the-as float arg1) + -1 + ) + ) + ) + (('effect-just-poof) + (when (< (the-as int a0-4) 9000) + (let* ((a0-16 obj) + (t9-11 (method-of-object a0-16 dummy-10)) + (v1-29 (shr (shl arg4 52) 58)) + ) + (t9-11 + a0-16 + (cond + ((= v1-29 5) + 'group-just-poof-sand + ) + ((= v1-29 6) + 'group-just-poof-wood + ) + ((= v1-29 13) + 'group-just-poof-crwood + ) + ((or (= v1-29 18) (= v1-29 8)) + 'group-just-poof-pcmetal + ) + ((or (= v1-29 16) (= v1-29 21)) + 'group-just-poof-metal + ) + ((= v1-29 1) + 'group-just-poof-ice + ) + ((= v1-29 9) + 'group-just-poof-snow + ) + ((= v1-29 10) + 'group-just-poof-dpsnow + ) + ((= v1-29 14) + 'group-just-poof-gravel + ) + ((= v1-29 15) + 'group-just-poof-dirt + ) + ((zero? v1-29) + 'group-just-poof-stone + ) + ((= v1-29 3) + 'group-just-poof-water + ) + ((= v1-29 4) + 'group-just-poof-tar + ) + ((= v1-29 17) + 'group-just-poof-straw + ) + ((= v1-29 19) + 'group-just-poof-swamp + ) + ((= v1-29 22) + 'group-just-poof-neutral + ) + (else + 'group-just-poof-grass + ) + ) + (the-as float arg1) + -1 + ) + ) + ) + ) + (('effect-slide-poof) + (let* ((a0-19 obj) + (t9-12 (method-of-object a0-19 dummy-10)) + (v1-33 (shr (shl arg4 52) 58)) + ) + (t9-12 + a0-19 + (cond + ((= v1-33 5) + 'group-slide-poof-sand + ) + ((= v1-33 6) + 'group-slide-poof-wood + ) + ((= v1-33 13) + 'group-slide-poof-crwood + ) + ((or (= v1-33 18) (= v1-33 8)) + 'group-slide-poof-pcmetal + ) + ((or (= v1-33 16) (= v1-33 21)) + 'group-slide-poof-metal + ) + ((= v1-33 1) + 'group-slide-poof-ice + ) + ((= v1-33 9) + 'group-slide-poof-snow + ) + ((= v1-33 10) + 'group-slide-poof-dpsnow + ) + ((= v1-33 14) + 'group-slide-poof-gravel + ) + ((= v1-33 15) + 'group-slide-poof-dirt + ) + ((zero? v1-33) + 'group-slide-poof-stone + ) + ((= v1-33 3) + 'group-slide-poof-water + ) + ((= v1-33 4) + 'group-slide-poof-tar + ) + ((= v1-33 17) + 'group-slide-poof-straw + ) + ((= v1-33 19) + 'group-slide-poof-swamp + ) + ((= v1-33 22) + 'group-slide-poof-neutral + ) + (else + 'group-slide-poof-grass + ) + ) + (the-as float arg1) + -1 + ) + ) + ) + (('effect-droppings) + (let* ((v1-36 (shr (shl arg4 52) 58)) + (s0-0 (cond + ((= v1-36 5) + (-> *part-id-table* 95) + ) + ((= v1-36 6) + (-> *part-id-table* 97) + ) + ((= v1-36 13) + (-> *part-id-table* 99) + ) + ((or (= v1-36 18) (= v1-36 8)) + (-> *part-id-table* 2248) + ) + ((or (= v1-36 16) (= v1-36 21)) + (-> *part-id-table* 2334) + ) + ((= v1-36 1) + (-> *part-id-table* 2249) + ) + ((= v1-36 9) + (-> *part-id-table* 2250) + ) + ((= v1-36 10) + (-> *part-id-table* 2251) + ) + ((= v1-36 14) + (-> *part-id-table* 2252) + ) + ((= v1-36 15) + (-> *part-id-table* 2253) + ) + ((zero? v1-36) + (-> *part-id-table* 98) + ) + ((= v1-36 3) + (-> *part-id-table* 2254) + ) + ((= v1-36 4) + (-> *part-id-table* 2255) + ) + ((= v1-36 17) + (-> *part-id-table* 2256) + ) + ((= v1-36 19) + (-> *part-id-table* 2257) + ) + ((= v1-36 22) + (-> *part-id-table* 2773) + ) + (else + (-> *part-id-table* 96) + ) + ) + ) + ) + (when (nonzero? s0-0) + (set! sv-48 sp-launch-particles-var) + (set! sv-64 *sp-particle-system-2d*) + (let ((a2-36 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data arg2))) + (a3-6 #f) + (t0-1 #f) + (t1-1 1.0) + ) + (sv-48 sv-64 s0-0 a2-36 (the-as sparticle-launch-state a3-6) (the-as sparticle-launch-control t0-1) t1-1) + ) + ) + ) + ) + (('effect-jump-droppings) + (let* ((v1-61 (shr (shl arg4 52) 58)) + (s0-1 (cond + ((= v1-61 5) + (-> *part-id-table* 106) + ) + ((= v1-61 6) + (-> *part-id-table* 2258) + ) + ((= v1-61 13) + (-> *part-id-table* 2259) + ) + ((or (= v1-61 18) (= v1-61 8)) + (-> *part-id-table* 2260) + ) + ((or (= v1-61 16) (= v1-61 21)) + (-> *part-id-table* 2335) + ) + ((= v1-61 1) + (-> *part-id-table* 2261) + ) + ((= v1-61 9) + (-> *part-id-table* 2262) + ) + ((= v1-61 10) + (-> *part-id-table* 2263) + ) + ((= v1-61 14) + (-> *part-id-table* 2264) + ) + ((= v1-61 15) + (-> *part-id-table* 2265) + ) + ((zero? v1-61) + (-> *part-id-table* 2266) + ) + ((= v1-61 3) + (-> *part-id-table* 2267) + ) + ((= v1-61 4) + (-> *part-id-table* 2268) + ) + ((= v1-61 17) + (-> *part-id-table* 2269) + ) + ((= v1-61 19) + (-> *part-id-table* 2270) + ) + ((= v1-61 22) + (-> *part-id-table* 2774) + ) + (else + (-> *part-id-table* 107) + ) + ) + ) + ) + (when (nonzero? s0-1) + (set! sv-80 sp-launch-particles-var) + (set! sv-96 *sp-particle-system-2d*) + (let ((a2-37 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data arg2))) + (a3-7 #f) + (t0-2 #f) + (t1-2 1.0) + ) + (sv-80 sv-96 s0-1 a2-37 (the-as sparticle-launch-state a3-7) (the-as sparticle-launch-control t0-2) t1-2) + ) ) - (when (nonzero? s0-1) - (set! sv-80 sp-launch-particles-var) - (set! sv-96 *sp-particle-system-2d*) - (let - ((a2-37 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj process node-list data arg2) - ) ) - (a3-7 #f) - (t0-2 #f) - (t1-2 1.0) - ) - (sv-80 - sv-96 - s0-1 - a2-37 - (the-as sparticle-launch-state a3-7) - (the-as sparticle-launch-control t0-2) - t1-2 - ) ) ) - ) ) - ) + (if s1-0 + (dummy-12 obj arg0 arg1 arg2 arg3 s1-0) + ) ) - (if s1-0 - (dummy-12 obj arg0 arg1 arg2 arg3 s1-0) - ) - ) 0 (none) ) ;; definition for method 12 of type effect-control ;; Used lq/sq -(defmethod - dummy-12 - effect-control - ((obj effect-control) - (arg0 symbol) - (arg1 basic) - (arg2 int) - (arg3 basic) - (arg4 sound-name) - ) +(defmethod dummy-12 effect-control ((obj effect-control) (arg0 symbol) (arg1 basic) (arg2 int) (arg3 basic) (arg4 sound-name)) (local-vars - (r0-0 uint128) - (v1-10 uint128) - (sv-112 int) - (sv-128 sound-name) - (sv-144 basic) - (sv-160 (function vector vector float)) - ) + (r0-0 uint128) + (v1-10 uint128) + (sv-112 int) + (sv-128 sound-name) + (sv-144 basic) + (sv-160 (function vector vector float)) + ) (set! sv-144 arg3) (let ((s0-0 arg4) (gp-0 (new 'stack 'sound-spec)) (s5-0 (if (< arg2 0) - (the-as vector #f) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj process node-list data arg2) - ) - ) - ) + (the-as vector #f) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data arg2)) + ) + ) ) - (set! (-> gp-0 sound-name) s0-0) - (logior! (-> gp-0 mask) 1) - (set! (-> gp-0 volume) 1024) - (logior! (-> gp-0 mask) 4) - (set! - (-> gp-0 bend) - (the int (* 327.66998 (rand-vu-float-range -100.0 100.0))) - ) - (set! sv-112 0) - (let* ((t9-3 (method-of-type res-lump get-property-data)) - (a1-6 'effect-param) - (a2-1 'exact) - (a3-1 arg1) - (t0-1 #f) - (t1-1 (the-as (pointer int) (& sv-112))) - (t2-0 *res-static-buf*) - (a1-7 - (t9-3 - (the-as res-lump sv-144) - a1-6 - a2-1 - (the-as float a3-1) - (the-as pointer t0-1) - (the-as (pointer res-tag) t1-1) - t2-0 - ) + (set! (-> gp-0 sound-name) s0-0) + (logior! (-> gp-0 mask) 1) + (set! (-> gp-0 volume) 1024) + (logior! (-> gp-0 mask) 4) + (set! (-> gp-0 bend) (the int (* 327.66998 (rand-vu-float-range -100.0 100.0)))) + (set! sv-112 0) + (let* ((t9-3 (method-of-type res-lump get-property-data)) + (a1-6 'effect-param) + (a2-1 'exact) + (a3-1 arg1) + (t0-1 #f) + (t1-1 (the-as (pointer int) (& sv-112))) + (t2-0 *res-static-buf*) + (a1-7 (t9-3 + (the-as res-lump sv-144) + a1-6 + a2-1 + (the-as float a3-1) + (the-as pointer t0-1) + (the-as (pointer res-tag) t1-1) + t2-0 + ) + ) ) + (when a1-7 + (let ((t9-4 effect-param->sound-spec) + (a0-5 gp-0) + ) + (let ((v1-9 (the-as uint128 sv-112))) + (.pcpyud v1-10 v1-9 r0-0) + ) + (t9-4 a0-5 (the-as (pointer float) a1-7) (shr (* (the-as int v1-10) 2) 49)) ) - (when a1-7 - (let ((t9-4 effect-param->sound-spec) - (a0-5 gp-0) - ) - (let ((v1-9 (the-as uint128 sv-112))) - (.pcpyud v1-10 v1-9 r0-0) - ) - (t9-4 - a0-5 - (the-as (pointer float) a1-7) - (shr (* (the-as int v1-10) 2) 49) - ) + ) ) - ) - ) - (if - (and - (nonzero? (-> gp-0 fo-max)) - (let ((f30-1 (* 4096.0 (the float (-> gp-0 fo-max))))) - (set! sv-160 vector-vector-distance) - (let ((a0-6 (ear-trans)) - (a1-8 s5-0) - ) - (< f30-1 (sv-160 a0-6 a1-8)) - ) + (if (and (nonzero? (-> gp-0 fo-max)) (let ((f30-1 (* 4096.0 (the float (-> gp-0 fo-max))))) + (set! sv-160 vector-vector-distance) + (let ((a0-6 (ear-trans)) + (a1-8 s5-0) + ) + (< f30-1 (sv-160 a0-6 a1-8)) + ) + ) + ) + (return 0) + ) + (when *debug-effect-control* + (set! sv-128 s0-0) + (string<-charp (clear *temp-string*) (the-as (pointer uint8) (& sv-128))) + (format + #t + "(~5D) effect sound ~A ~A (~S) frame ~F joint ~D " + (-> *display* base-frame-counter) + (-> obj process name) + arg0 + *temp-string* + arg1 + arg2 + ) + (format + #t + "volume: ~f pitch-mod: ~f~%" + (* 0.09765625 (the float (-> gp-0 volume))) + (* 0.000656168 (the float (-> gp-0 pitch-mod))) + ) ) - ) - (return 0) + (sound-play-by-spec gp-0 (new-sound-id) s5-0) ) - (when *debug-effect-control* - (set! sv-128 s0-0) - (string<-charp (clear *temp-string*) (the-as (pointer uint8) (& sv-128))) - (format - #t - "(~5D) effect sound ~A ~A (~S) frame ~F joint ~D " - (-> *display* base-frame-counter) - (-> obj process name) - arg0 - *temp-string* - arg1 - arg2 - ) - (format - #t - "volume: ~f pitch-mod: ~f~%" - (* 0.09765625 (the float (-> gp-0 volume))) - (* 0.000656168 (the float (-> gp-0 pitch-mod))) - ) - ) - (sound-play-by-spec gp-0 (new-sound-id) s5-0) - ) 0 ) @@ -1348,48 +1178,31 @@ ;; INFO: Return type mismatch int vs none. (defbehavior target-land-effect target () (cond - ((logtest? (-> self control root-prim prim-core action) #x4000) - (dummy-10 (-> self skel effect) 'effect-land-poof -1.0 -1) - (dummy-10 (-> self skel effect) 'effect-flut-land -1.0 -1) - ) - ((logtest? (-> self control root-prim prim-core action) 512) - (sound-play-by-name - (sound-name-with-material - 'zoom-land - (the-as int (-> self control ground-pat)) - "" - ) - (new-sound-id) - (the - int - (* - 10.24 - (* - 100.0 - (the - float - (the - int - (* 10.24 (* 0.000016276043 (-> self control ground-impact-vel))) - ) - ) - ) - ) - ) - 0 - 0 - 1 - #t + ((logtest? (-> self control root-prim prim-core action) #x4000) + (dummy-10 (-> self skel effect) 'effect-land-poof -1.0 -1) + (dummy-10 (-> self skel effect) 'effect-flut-land -1.0 -1) ) + ((logtest? (-> self control root-prim prim-core action) 512) + (sound-play-by-name + (sound-name-with-material 'zoom-land (the-as int (-> self control ground-pat)) "") + (new-sound-id) + (the int + (* 10.24 (* 100.0 (the float (the int (* 10.24 (* 0.000016276043 (-> self control ground-impact-vel))))))) + ) + 0 + 0 + 1 + #t + ) + ) + ((logtest? (-> self water flags) 512) + (dummy-10 (-> self skel effect) 'effect-land-water -1.0 -1) + ) + (else + (dummy-10 (-> self skel effect) 'effect-land-poof -1.0 -1) + (dummy-10 (-> self skel effect) 'effect-land -1.0 -1) + ) ) - ((logtest? (-> self water flags) 512) - (dummy-10 (-> self skel effect) 'effect-land-water -1.0 -1) - ) - (else - (dummy-10 (-> self skel effect) 'effect-land-poof -1.0 -1) - (dummy-10 (-> self skel effect) 'effect-land -1.0 -1) - ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/game/fact-h_REF.gc b/test/decompiler/reference/engine/game/fact-h_REF.gc index 5c2f5b3cc5..5cb3d91adc 100644 --- a/test/decompiler/reference/engine/game/fact-h_REF.gc +++ b/test/decompiler/reference/engine/game/fact-h_REF.gc @@ -46,63 +46,61 @@ ) ;; definition for symbol *FACT-bank*, type fact-bank -(define - *FACT-bank* - (new 'static 'fact-bank - :eco-level-max 2.0 - :eco-single-inc 1.0 - :eco-full-inc 5.0 - :eco-single-timeout (seconds 5) - :eco-full-timeout (seconds 20) - :dummy (seconds 15) - :health-max-default 3.0 - :health-single-inc 1.0 - :eco-pill-max-default 50.0 - :health-small-inc 1.0 - :buzzer-max-default 7.0 - :buzzer-single-inc 1.0 - :suck-bounce-dist (meters 18.0) - :suck-suck-dist (meters 7.5) - ) - ) +(define *FACT-bank* (new 'static 'fact-bank + :eco-level-max 2.0 + :eco-single-inc 1.0 + :eco-full-inc 5.0 + :eco-single-timeout (seconds 5) + :eco-full-timeout (seconds 20) + :dummy (seconds 15) + :health-max-default 3.0 + :health-single-inc 1.0 + :eco-pill-max-default 50.0 + :health-small-inc 1.0 + :buzzer-max-default 7.0 + :buzzer-single-inc 1.0 + :suck-bounce-dist (meters 18.0) + :suck-suck-dist (meters 7.5) + ) + ) ;; definition for function pickup-type->string (defun pickup-type->string ((arg0 pickup-type)) - (case arg0 - (((pickup-type eco-pill-random)) + (case arg0 + (((pickup-type eco-pill-random)) "eco-pill-random" ) - (((pickup-type buzzer)) - "buzzer" + (((pickup-type buzzer)) + "buzzer" + ) + (((pickup-type eco-pill)) + "eco-pill" + ) + (((pickup-type fuel-cell)) + "fuel-cell" + ) + (((pickup-type money)) + "money" + ) + (((pickup-type eco-green)) + "eco-green" + ) + (((pickup-type eco-blue)) + "eco-blue" + ) + (((pickup-type eco-red)) + "eco-red" + ) + (((pickup-type eco-yellow)) + "eco-yellow" + ) + (((pickup-type none)) + "none" + ) + (else + "*unknown*" + ) ) - (((pickup-type eco-pill)) - "eco-pill" - ) - (((pickup-type fuel-cell)) - "fuel-cell" - ) - (((pickup-type money)) - "money" - ) - (((pickup-type eco-green)) - "eco-green" - ) - (((pickup-type eco-blue)) - "eco-blue" - ) - (((pickup-type eco-red)) - "eco-red" - ) - (((pickup-type eco-yellow)) - "eco-yellow" - ) - (((pickup-type none)) - "none" - ) - (else - "*unknown*" - ) - ) ) ;; definition of type fact-info @@ -233,138 +231,77 @@ ;; definition for method 0 of type fact-info ;; Used lq/sq -(defmethod - new - fact-info - ((allocation symbol) - (type-to-make type) - (proc process-drawable) - (pkup-type pickup-type) - (pkup-amount float) - ) +(defmethod new fact-info ((allocation symbol) (type-to-make type) (proc process-drawable) (pkup-type pickup-type) (pkup-amount float)) (local-vars (tag res-tag)) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) - ) - (let ((ent (-> proc entity))) - (when (zero? obj) - (go process-drawable-art-error "memory") - (set! obj (the-as fact-info 0)) - (goto cfg-10) - ) - (set! (-> obj process) proc) - (set! tag (new 'static 'res-tag)) - (let - ((v1-6 - (res-lump-data ent 'eco-info (pointer int32) :tag-ptr (& tag) :time 0.0) - ) - ) - (cond - (v1-6 - (let ((a0-6 (-> tag elt-count))) - (set! (-> obj pickup-type) (the-as pickup-type (-> v1-6 0))) - (set! pkup-amount (cond - ((< (the-as uint 1) a0-6) - (the float (-> v1-6 1)) - ) - (else - (empty) - pkup-amount - ) - ) - ) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (let ((ent (-> proc entity))) + (when (zero? obj) + (go process-drawable-art-error "memory") + (set! obj (the-as fact-info 0)) + (goto cfg-10) ) - (set! (-> obj pickup-amount) pkup-amount) - ) - (else - (set! (-> obj pickup-type) pkup-type) - (set! (-> obj pickup-amount) pkup-amount) - ) + (set! (-> obj process) proc) + (set! tag (new 'static 'res-tag)) + (let ((v1-6 (res-lump-data ent 'eco-info (pointer int32) :tag-ptr (& tag) :time 0.0))) + (cond + (v1-6 + (let ((a0-6 (-> tag elt-count))) + (set! (-> obj pickup-type) (the-as pickup-type (-> v1-6 0))) + (set! pkup-amount (cond + ((< (the-as uint 1) a0-6) + (the float (-> v1-6 1)) + ) + (else + (empty) + pkup-amount + ) + ) + ) + ) + (set! (-> obj pickup-amount) pkup-amount) + ) + (else + (set! (-> obj pickup-type) pkup-type) + (set! (-> obj pickup-amount) pkup-amount) + ) + ) + ) + (set! (-> obj options) (res-lump-value ent 'options fact-options)) + (if (logtest? (fact-options fade respawn) (-> obj options)) + (set! (-> obj fade-time) (the int (* 300.0 (res-lump-float ent 'timeout)))) + ) ) - ) - (set! (-> obj options) (res-lump-value ent 'options fact-options)) - (if (logtest? (fact-options fade respawn) (-> obj options)) - (set! (-> obj fade-time) (the int (* 300.0 (res-lump-float ent 'timeout)))) - ) + (label cfg-10) + obj ) - (label cfg-10) - obj - ) ) ;; definition for method 11 of type fact-info -(defmethod - pickup-collectable! - fact-info - ((obj fact-info) (arg0 pickup-type) (arg1 float) (arg2 handle)) +(defmethod pickup-collectable! fact-info ((obj fact-info) (arg0 pickup-type) (arg1 float) (arg2 handle)) 0.0 ) ;; definition for method 0 of type fact-info-enemy -(defmethod - new - fact-info-enemy - ((allocation symbol) - (type-to-make type) - (arg0 process-drawable) - (arg1 pickup-type) - (arg2 float) - ) - (let - ((obj - (the-as - fact-info-enemy - ((method-of-type fact-info new) allocation type-to-make arg0 arg1 arg2) +(defmethod new fact-info-enemy ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 pickup-type) (arg2 float)) + (let ((obj (the-as fact-info-enemy ((method-of-type fact-info new) allocation type-to-make arg0 arg1 arg2)))) + (let ((entity (-> obj process entity))) + (set! (-> obj speed) (res-lump-float entity 'speed :default 1.0)) + (set! (-> obj idle-distance) (res-lump-float entity 'idle-distance :default 327680.0)) + (set! (-> obj notice-top) (res-lump-float entity 'notice-top :default 4096000.0)) + (set! (-> obj notice-bottom) (res-lump-float entity 'notice-bottom :default 4096000.0)) + (set! (-> obj cam-horz) (res-lump-float entity 'cam-horz)) + (set! (-> obj cam-vert) (res-lump-float entity 'cam-vert)) + (set! (-> obj cam-notice-dist) (res-lump-float entity 'cam-notice-dist :default -4096.0)) ) - ) + obj ) - (let ((entity (-> obj process entity))) - (set! (-> obj speed) (res-lump-float entity 'speed :default 1.0)) - (set! - (-> obj idle-distance) - (res-lump-float entity 'idle-distance :default 327680.0) - ) - (set! - (-> obj notice-top) - (res-lump-float entity 'notice-top :default 4096000.0) - ) - (set! - (-> obj notice-bottom) - (res-lump-float entity 'notice-bottom :default 4096000.0) - ) - (set! (-> obj cam-horz) (res-lump-float entity 'cam-horz)) - (set! (-> obj cam-vert) (res-lump-float entity 'cam-vert)) - (set! - (-> obj cam-notice-dist) - (res-lump-float entity 'cam-notice-dist :default -4096.0) - ) - ) - obj - ) ) ;; definition for method 0 of type fact-info-target -(defmethod - new - fact-info-target - ((allocation symbol) - (type-to-make type) - (arg0 process-drawable) - (arg1 pickup-type) - (arg2 float) - ) - (let - ((obj - (the-as - fact-info-target - ((method-of-type fact-info new) allocation type-to-make arg0 arg1 arg2) - ) - ) +(defmethod new fact-info-target ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 pickup-type) (arg2 float)) + (let ((obj (the-as fact-info-target ((method-of-type fact-info new) allocation type-to-make arg0 arg1 arg2)))) + (set! (-> obj eco-source) (the-as handle #f)) + (reset! obj #f) + obj ) - (set! (-> obj eco-source) (the-as handle #f)) - (reset! obj #f) - obj - ) ) diff --git a/test/decompiler/reference/engine/game/game-h_REF.gc b/test/decompiler/reference/engine/game/game-h_REF.gc index 1320f448cd..89c91ea670 100644 --- a/test/decompiler/reference/engine/game/game-h_REF.gc +++ b/test/decompiler/reference/engine/game/game-h_REF.gc @@ -36,8 +36,8 @@ ;; definition for method 3 of type process-drawable (defmethod inspect process-drawable ((obj process-drawable)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Troot: ~A~%" (-> obj root)) (format #t "~T~Tnode-list: ~A~%" (-> obj node-list)) (format #t "~T~Tdraw: ~A~%" (-> obj draw)) @@ -113,8 +113,8 @@ ;; definition for method 3 of type process-drawable-reserved (defmethod inspect process-drawable-reserved ((obj process-drawable-reserved)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) diff --git a/test/decompiler/reference/engine/game/game-info-h_REF.gc b/test/decompiler/reference/engine/game/game-info-h_REF.gc index 8595459e7b..7243dfb17c 100644 --- a/test/decompiler/reference/engine/game/game-info-h_REF.gc +++ b/test/decompiler/reference/engine/game/game-info-h_REF.gc @@ -28,16 +28,14 @@ ) ;; definition for symbol *GAME-bank*, type game-bank -(define - *GAME-bank* - (new 'static 'game-bank - :life-max-default 99.0 - :life-start-default 5.0 - :life-single-inc 1.0 - :money-task-inc 90.0 - :money-oracle-inc 120.0 - ) - ) +(define *GAME-bank* (new 'static 'game-bank + :life-max-default 99.0 + :life-start-default 5.0 + :life-single-inc 1.0 + :money-task-inc 90.0 + :money-oracle-inc 120.0 + ) + ) ;; definition of type actor-id (deftype actor-id (uint32) @@ -111,9 +109,7 @@ ;; definition for method 0 of type load-state (defmethod new load-state ((allocation symbol) (type-to-make type)) - (reset! - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) + (reset! (object-new allocation type-to-make (the-as int (-> type-to-make size)))) ) ;; definition of type continue-point @@ -285,23 +281,11 @@ ;; failed to figure out what this is: (set! gp-0 (when (or (not *game-info*) (zero? *game-info*)) - (set! - gp-0 - (new 'static 'game-info :mode 'debug :current-continue #f) - ) - (set! - (-> gp-0 fuel-cell-time) - (the-as (array int64) (new 'global 'boxed-array uint64 116)) - ) - (set! - (-> gp-0 enter-level-time) - (the-as (array int64) (new 'global 'boxed-array uint64 32)) - ) - (set! - (-> gp-0 in-level-time) - (the-as (array int64) (new 'global 'boxed-array uint64 32)) - ) - (set! *game-info* gp-0) - gp-0 - ) - ) + (set! gp-0 (new 'static 'game-info :mode 'debug :current-continue #f)) + (set! (-> gp-0 fuel-cell-time) (the-as (array int64) (new 'global 'boxed-array uint64 116))) + (set! (-> gp-0 enter-level-time) (the-as (array int64) (new 'global 'boxed-array uint64 32))) + (set! (-> gp-0 in-level-time) (the-as (array int64) (new 'global 'boxed-array uint64 32))) + (set! *game-info* gp-0) + gp-0 + ) + ) diff --git a/test/decompiler/reference/engine/game/game-info_REF.gc b/test/decompiler/reference/engine/game/game-info_REF.gc index baba74a198..03f174e858 100644 --- a/test/decompiler/reference/engine/game/game-info_REF.gc +++ b/test/decompiler/reference/engine/game/game-info_REF.gc @@ -6,153 +6,121 @@ (defmethod debug-draw! border-plane ((obj border-plane)) (let* ((v1-0 (-> obj action)) (s5-0 (if (= v1-0 'load) - (new 'static 'rgba :g #xff :a #x80) - (new 'static 'rgba :r #xff :a #x80) - ) - ) + (new 'static 'rgba :g #xff :a #x80) + (new 'static 'rgba :r #xff :a #x80) + ) + ) ) - (add-debug-text-sphere - #t - (bucket-id debug-draw1) - (-> obj trans) - 819.2 - (symbol->string (-> obj name)) - s5-0 + (add-debug-text-sphere #t (bucket-id debug-draw1) (-> obj trans) 819.2 (symbol->string (-> obj name)) s5-0) + (add-debug-vector #t (bucket-id debug-draw1) (-> obj trans) (-> obj normal) (meters 2.0) s5-0) ) - (add-debug-vector - #t - (bucket-id debug-draw1) - (-> obj trans) - (-> obj normal) - (meters 2.0) - s5-0 - ) - ) 0 (none) ) ;; definition for method 10 of type border-plane (defmethod point-past-plane? border-plane ((obj border-plane) (arg0 vector)) - (>= - (vector-dot - (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj trans)) - (-> obj normal) - ) - 0.0 - ) + (>= (vector-dot (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj trans)) (-> obj normal)) 0.0) ) ;; definition for method 11 of type game-info (defmethod task-complete? game-info ((obj game-info) (arg0 game-task)) - (logtest? - (-> obj task-perm-list data arg0 status) - (entity-perm-status real-complete) - ) + (logtest? (-> obj task-perm-list data arg0 status) (entity-perm-status real-complete)) ) ;; definition for symbol *default-continue*, type continue-point -(define - *default-continue* - (new 'static 'continue-point - :name "default" - :level #f - :trans (new 'static 'vector :w 1.0) - :quat (new 'static 'quaternion :w 1.0) - :camera-trans (new 'static 'vector :w 1.0) - :load-commands '() - :vis-nick #f - :lev0 #f - :disp0 #f - :lev1 #f - :disp1 #f - ) - ) +(define *default-continue* (new 'static 'continue-point + :name "default" + :level #f + :trans (new 'static 'vector :w 1.0) + :quat (new 'static 'quaternion :w 1.0) + :camera-trans (new 'static 'vector :w 1.0) + :load-commands '() + :vis-nick #f + :lev0 #f + :disp0 #f + :lev1 #f + :disp1 #f + ) + ) ;; definition for method 17 of type game-info (defmethod get-or-create-continue! game-info ((obj game-info)) (cond - ((and (= (-> obj mode) 'play) (-> obj current-continue)) - (-> obj current-continue) - ) - (else - (let ((gp-0 *default-continue*)) - (position-in-front-of-camera! (-> gp-0 trans) 40960.0 4096.0) - (quaternion-identity! (-> gp-0 quat)) - (set! (-> gp-0 vis-nick) (-> *load-state* vis-nick)) - (set! (-> gp-0 lev0) (-> *load-state* want 0 name)) - (set! (-> gp-0 disp0) (-> *load-state* want 0 display?)) - (set! (-> gp-0 lev1) (-> *load-state* want 1 name)) - (set! (-> gp-0 disp1) (-> *load-state* want 1 display?)) - gp-0 + ((and (= (-> obj mode) 'play) (-> obj current-continue)) + (-> obj current-continue) ) + (else + (let ((gp-0 *default-continue*)) + (position-in-front-of-camera! (-> gp-0 trans) 40960.0 4096.0) + (quaternion-identity! (-> gp-0 quat)) + (set! (-> gp-0 vis-nick) (-> *load-state* vis-nick)) + (set! (-> gp-0 lev0) (-> *load-state* want 0 name)) + (set! (-> gp-0 disp0) (-> *load-state* want 0 display?)) + (set! (-> gp-0 lev1) (-> *load-state* want 1 name)) + (set! (-> gp-0 disp1) (-> *load-state* want 1 display?)) + gp-0 + ) + ) ) - ) ) ;; definition for method 18 of type game-info ;; INFO: Return type mismatch object vs continue-point. (defmethod get-continue-by-name game-info ((obj game-info) (arg0 string)) (let ((s5-0 *level-load-list*)) - (while (not (null? s5-0)) - (let - ((s4-0 - (-> - (the-as level-load-info (-> (the-as symbol (car s5-0)) value)) - continues + (while (not (null? s5-0)) + (let ((s4-0 (-> (the-as level-load-info (-> (the-as symbol (car s5-0)) value)) continues))) + (while (not (null? s4-0)) + (let ((s3-0 (car s4-0))) + (if (string= arg0 (-> (the-as continue-point s3-0) name)) + (return (the-as continue-point s3-0)) + ) + ) + (set! s4-0 (cdr s4-0)) + ) ) - ) + (set! s5-0 (cdr s5-0)) ) - (while (not (null? s4-0)) - (let ((s3-0 (car s4-0))) - (if (string= arg0 (-> (the-as continue-point s3-0) name)) - (return (the-as continue-point s3-0)) - ) - ) - (set! s4-0 (cdr s4-0)) - ) - ) - (set! s5-0 (cdr s5-0)) ) - ) (the-as continue-point #f) ) ;; definition for method 19 of type game-info (defmethod set-continue! game-info ((obj game-info) (arg0 basic)) (let ((s5-0 (-> obj current-continue))) - (if (null? arg0) - (set! arg0 #f) - ) - (case (-> arg0 type) - ((string) - (let ((v1-5 (get-continue-by-name obj (the-as string arg0)))) - (if v1-5 - (set! (-> obj current-continue) v1-5) + (if (null? arg0) + (set! arg0 #f) ) + (case (-> arg0 type) + ((string) + (let ((v1-5 (get-continue-by-name obj (the-as string arg0)))) + (if v1-5 + (set! (-> obj current-continue) v1-5) + ) + ) ) + ((continue-point) + (set! (-> obj current-continue) (the-as continue-point arg0)) + ) + (else + (let ((s4-3 *default-continue*)) + (position-in-front-of-camera! (-> s4-3 trans) 40960.0 4096.0) + (quaternion-identity! (-> s4-3 quat)) + (set! (-> s4-3 vis-nick) (-> *load-state* vis-nick)) + (set! (-> s4-3 lev0) (-> *load-state* want 0 name)) + (set! (-> s4-3 disp0) (-> *load-state* want 0 display?)) + (set! (-> s4-3 lev1) (-> *load-state* want 1 name)) + (set! (-> s4-3 disp1) (-> *load-state* want 1 display?)) + (set! (-> obj current-continue) s4-3) + ) + ) ) - ((continue-point) - (set! (-> obj current-continue) (the-as continue-point arg0)) - ) - (else - (let ((s4-3 *default-continue*)) - (position-in-front-of-camera! (-> s4-3 trans) 40960.0 4096.0) - (quaternion-identity! (-> s4-3 quat)) - (set! (-> s4-3 vis-nick) (-> *load-state* vis-nick)) - (set! (-> s4-3 lev0) (-> *load-state* want 0 name)) - (set! (-> s4-3 disp0) (-> *load-state* want 0 display?)) - (set! (-> s4-3 lev1) (-> *load-state* want 1 name)) - (set! (-> s4-3 disp1) (-> *load-state* want 1 display?)) - (set! (-> obj current-continue) s4-3) + (when (!= s5-0 (-> obj current-continue)) + (set! (-> obj continue-deaths) 0) + (set! (-> obj continue-time) (-> *display* base-frame-counter)) ) - ) ) - (when (!= s5-0 (-> obj current-continue)) - (set! (-> obj continue-deaths) 0) - (set! (-> obj continue-time) (-> *display* base-frame-counter)) - ) - ) (-> obj current-continue) ) @@ -164,87 +132,60 @@ ;; definition for method 9 of type game-info ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 191] ;; Used lq/sq -(defmethod - initialize! - game-info - ((obj game-info) - (cause symbol) - (save-to-load game-save) - (continue-point-override string) - ) +(defmethod initialize! game-info ((obj game-info) (cause symbol) (save-to-load game-save) (continue-point-override string)) (local-vars (v0-0 int) (sv-96 symbol)) - (case cause - (('dead) + (case cause + (('dead) (+! (-> obj total-deaths) 1) (+! (-> obj continue-deaths) 1) (+! (-> obj fuel-cell-deaths) 1) (when *target* - (let ((lev-info (-> *target* current-level info))) - (set! - v0-0 - (when (>= (-> *level-task-data-remap* length) (-> lev-info index)) - (set! - v0-0 - (seekl - (the-as - int - (-> - obj - deaths-per-level - (-> *level-task-data-remap* (+ (-> lev-info index) -1)) - ) - ) - 255 - 1 - ) - ) - (set! - (-> - obj - deaths-per-level - (-> *level-task-data-remap* (+ (-> lev-info index) -1)) - ) - (the-as uint v0-0) - ) - v0-0 + (let ((lev-info (-> *target* current-level info))) + (set! v0-0 + (when (>= (-> *level-task-data-remap* length) (-> lev-info index)) + (set! v0-0 + (seekl (the-as int (-> obj deaths-per-level (-> *level-task-data-remap* (+ (-> lev-info index) -1)))) 255 1) + ) + (set! (-> obj deaths-per-level (-> *level-task-data-remap* (+ (-> lev-info index) -1))) (the-as uint v0-0)) + v0-0 + ) + ) ) - ) ) - ) - (case (-> obj mode) - (('play) + (case (-> obj mode) + (('play) (if (< 0.0 (-> obj life)) - (set! cause 'life) - (set! cause 'try) - ) + (set! cause 'life) + (set! cause 'try) + ) ) - (else - (set! obj obj) - (goto cfg-50) + (else + (set! obj obj) + (goto cfg-50) + ) ) - ) ) - ) + ) (kill-current-level-hint '() '() 'die) - (case cause - (('game) + (case cause + (('game) (reset-all-hint-controls) (set-continue! obj (cond - (continue-point-override - (empty) - continue-point-override + (continue-point-override + (empty) + continue-point-override + ) + ((!= *kernel-boot-message* 'play) + "demo-start" + ) + (*debug-segment* + "village1-hut" + ) + (else + "title-start" + ) ) - ((!= *kernel-boot-message* 'play) - "demo-start" - ) - (*debug-segment* - "village1-hut" - ) - (else - "title-start" - ) - ) - ) + ) (set! (-> obj auto-save-count) 0) (set! (-> *setting-control* default auto-save) #f) (set! (-> obj money) 0.0) @@ -264,219 +205,173 @@ (set! (-> obj death-time) (-> *display* base-frame-counter)) (set! (-> obj hit-time) (-> *display* base-frame-counter)) (dotimes (v1-50 116) - (set! (-> obj fuel-cell-time 0) 0) - (nop!) - ) + (set! (-> obj fuel-cell-time 0) 0) + (nop!) + ) (dotimes (v1-53 32) - (set! (-> obj money-per-level v1-53) (the-as uint 0)) - (set! (-> obj deaths-per-level v1-53) (the-as uint 0)) - (set! (-> obj enter-level-time v1-53) 0) - (set! (-> obj in-level-time v1-53) 0) - (set! (-> obj level-opened v1-53) (the-as uint 0)) - (nop!) - ) + (set! (-> obj money-per-level v1-53) (the-as uint 0)) + (set! (-> obj deaths-per-level v1-53) (the-as uint 0)) + (set! (-> obj enter-level-time v1-53) 0) + (set! (-> obj in-level-time v1-53) 0) + (set! (-> obj level-opened v1-53) (the-as uint 0)) + (nop!) + ) ) - ) - (case cause - (('game 'try) - (case (-> obj mode) - (('play) + ) + (case cause + (('game 'try) + (case (-> obj mode) + (('play) (set! *display-profile* #f) (set! *display-entity-errors* #f) ) - ) + ) (set! (-> obj life-max) (-> *GAME-bank* life-max-default)) (set! (-> obj life) (-> *GAME-bank* life-start-default)) ) - ) + ) (let ((v1-65 (-> obj mode))) - (cond - ((= v1-65 'debug) - (reset-actors cause) - (if save-to-load - (load-game! obj save-to-load) - ) - ) - ((= v1-65 'play) - (when *target* - (set-setting! *setting-control* *target* 'allow-pause #f 0.0 0) - (set-setting! *setting-control* *target* 'allow-progress #f 0.0 0) - (copy-settings-from-target! *setting-control*) - ) - (send-event (handle->process (-> *game-info* auto-save-proc)) 'die) - (set! (-> *level* border?) #f) - (set! (-> *setting-control* default border-mode) #f) - (set! *spawn-actors* #f) - (set-blackout-frames 30) - (send-event *target* 'reset) - (let ((s3-1 (get-process *4k-dead-pool* process #x4000))) - (when s3-1 - (let ((t9-15 (method-of-type process activate))) - (t9-15 s3-1 *default-pool* 'process (the-as pointer #x70004000)) - ) - (let - ((s2-0 - (the-as - (function cpu-thread function object object object object pointer) - set-to-run + (cond + ((= v1-65 'debug) + (reset-actors cause) + (if save-to-load + (load-game! obj save-to-load) ) - ) - (s1-0 (-> s3-1 main-thread)) - (s0-0 - (lambda - ((arg0 symbol) (arg1 symbol) (arg2 continue-point) (arg3 symbol)) - (stop arg0) - (reset-actors arg1) - (set-continue! *game-info* arg2) - (when arg3 - (load-game! *game-info* (the-as game-save arg3)) - (set! arg2 (get-or-create-continue! *game-info*)) - ) - (suspend) - (start arg0 arg2) - (none) + ) + ((= v1-65 'play) + (when *target* + (set-setting! *setting-control* *target* 'allow-pause #f 0.0 0) + (set-setting! *setting-control* *target* 'allow-progress #f 0.0 0) + (copy-settings-from-target! *setting-control*) + ) + (send-event (handle->process (-> *game-info* auto-save-proc)) 'die) + (set! (-> *level* border?) #f) + (set! (-> *setting-control* default border-mode) #f) + (set! *spawn-actors* #f) + (set-blackout-frames 30) + (send-event *target* 'reset) + (let ((s3-1 (get-process *4k-dead-pool* process #x4000))) + (when s3-1 + (let ((t9-15 (method-of-type process activate))) + (t9-15 s3-1 *default-pool* 'process (the-as pointer #x70004000)) + ) + (let ((s2-0 (the-as (function cpu-thread function object object object object pointer) set-to-run)) + (s1-0 (-> s3-1 main-thread)) + (s0-0 (lambda ((arg0 symbol) (arg1 symbol) (arg2 continue-point) (arg3 symbol)) + (stop arg0) + (reset-actors arg1) + (set-continue! *game-info* arg2) + (when arg3 + (load-game! *game-info* (the-as game-save arg3)) + (set! arg2 (get-or-create-continue! *game-info*)) + ) + (suspend) + (start arg0 arg2) + (none) + ) + ) + ) + (set! sv-96 (-> obj mode)) + (let ((t0-2 (get-or-create-continue! obj)) + (t1-2 save-to-load) + ) + (s2-0 s1-0 s0-0 sv-96 cause t0-2 t1-2) + ) + ) + (-> s3-1 ppointer) ) - ) ) - (set! sv-96 (-> obj mode)) - (let ((t0-2 (get-or-create-continue! obj)) - (t1-2 save-to-load) - ) - (s2-0 s1-0 s0-0 sv-96 cause t0-2 t1-2) - ) - ) - (-> s3-1 ppointer) + (set-master-mode 'game) ) ) - (set-master-mode 'game) - ) ) - ) (label cfg-50) obj ) ;; definition for method 10 of type game-info -(defmethod - adjust - game-info - ((obj game-info) (item symbol) (amount float) (source handle)) - (case item - (('life) +(defmethod adjust game-info ((obj game-info) (item symbol) (amount float) (source handle)) + (case item + (('life) (if (>= amount 0.0) - (set! (-> obj life) (seek (-> obj life) (-> obj life-max) amount)) - (set! (-> obj life) (seek (-> obj life) 0.0 (- amount))) - ) + (set! (-> obj life) (seek (-> obj life) (-> obj life-max) amount)) + (set! (-> obj life) (seek (-> obj life) 0.0 (- amount))) + ) (-> obj life) ) - (('money) - (if - (and - (< 0.0 amount) - (= (+ (-> obj money) amount) (-> *GAME-bank* money-task-inc)) - ) - (level-hint-spawn - (game-text-id MISSING-orb-hint) - "sksp0014" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - (when (< 0.0 amount) - (let ((proc (handle->process source))) - (when (and proc (-> proc entity)) - (when - (>= - (-> *level-task-data-remap* length) - (-> proc entity extra level info index) - ) - (let - ((level-idx - (-> - *level-task-data-remap* - (+ (-> proc entity extra level info index) -1) - ) + (('money) + (if (and (< 0.0 amount) (= (+ (-> obj money) amount) (-> *GAME-bank* money-task-inc))) + (level-hint-spawn + (game-text-id MISSING-orb-hint) + "sksp0014" + (the-as entity #f) + *entity-pool* + (game-task none) ) - ) - (+! (-> obj money-per-level level-idx) (the int amount)) - (+! (-> obj money-total) amount) - (if - (= - (-> obj money-per-level level-idx) - (-> (get-game-count level-idx) money-count) - ) - (activate-orb-all level-idx) - ) ) - ) - ) - ) - ) - (let ((f0-18 (+ (-> obj money) amount))) - (set! (-> obj money) f0-18) - f0-18 - ) - ) - (('fuel-cell) - (let ((s5-1 (the int amount))) - (when - (not - (or - (task-complete? obj (the-as game-task s5-1)) - (>= (the-as uint 1) (the-as uint s5-1)) - ) - ) - (set! (-> obj fuel-cell-deaths) 0) - (set! (-> obj fuel-cell-pickup-time) (-> *display* base-frame-counter)) - (set! (-> obj fuel-cell-time s5-1) (-> *display* base-frame-counter)) - (set! (-> obj fuel) (+ 1.0 (-> obj fuel))) - (logior! - (-> obj task-perm-list data s5-1 status) - (entity-perm-status real-complete) - ) - (get-task-control (the-as game-task s5-1)) - (close-specific-task! - (the-as game-task s5-1) - (task-status need-resolution) - ) - ) - ) - (-> obj fuel) - ) - (('buzzer) - (let ((buzz-task (logand (the int amount) #xffff)) - (buzz-index (sar (the int amount) 16)) - (buzz-count 0.0) - ) - (when (> (the-as uint buzz-task) 0) - (let* ((ctrl (get-task-control (the-as game-task buzz-task))) - (buzz-bits (get-reminder ctrl 0)) + (when (< 0.0 amount) + (let ((proc (handle->process source))) + (when (and proc (-> proc entity)) + (when (>= (-> *level-task-data-remap* length) (-> proc entity extra level info index)) + (let ((level-idx (-> *level-task-data-remap* (+ (-> proc entity extra level info index) -1)))) + (+! (-> obj money-per-level level-idx) (the int amount)) + (+! (-> obj money-total) amount) + (if (= (-> obj money-per-level level-idx) (-> (get-game-count level-idx) money-count)) + (activate-orb-all level-idx) + ) + ) ) - (when - (and - (>= buzz-index 0) - (< buzz-index (the int (-> *FACT-bank* buzzer-max-default))) + ) ) - (if (zero? (logand buzz-bits (ash 1 buzz-index))) - (set! (-> obj buzzer-total) (+ 1.0 (-> obj buzzer-total))) - ) - (let ((t9-10 (method-of-object ctrl save-reminder))) - (set! buzz-bits (logior buzz-bits (ash 1 buzz-index))) - (t9-10 ctrl buzz-bits 0) - ) - ) - (countdown (v1-58 (the int (-> *FACT-bank* buzzer-max-default))) - (if (logtest? buzz-bits (ash 1 v1-58)) - (set! buzz-count (+ 1.0 buzz-count)) - ) - ) ) - ) - buzz-count + (let ((f0-18 (+ (-> obj money) amount))) + (set! (-> obj money) f0-18) + f0-18 + ) + ) + (('fuel-cell) + (let ((s5-1 (the int amount))) + (when (not (or (task-complete? obj (the-as game-task s5-1)) (>= (the-as uint 1) (the-as uint s5-1)))) + (set! (-> obj fuel-cell-deaths) 0) + (set! (-> obj fuel-cell-pickup-time) (-> *display* base-frame-counter)) + (set! (-> obj fuel-cell-time s5-1) (-> *display* base-frame-counter)) + (set! (-> obj fuel) (+ 1.0 (-> obj fuel))) + (logior! (-> obj task-perm-list data s5-1 status) (entity-perm-status real-complete)) + (get-task-control (the-as game-task s5-1)) + (close-specific-task! (the-as game-task s5-1) (task-status need-resolution)) + ) + ) + (-> obj fuel) + ) + (('buzzer) + (let ((buzz-task (logand (the int amount) #xffff)) + (buzz-index (sar (the int amount) 16)) + (buzz-count 0.0) + ) + (when (> (the-as uint buzz-task) 0) + (let* ((ctrl (get-task-control (the-as game-task buzz-task))) + (buzz-bits (get-reminder ctrl 0)) + ) + (when (and (>= buzz-index 0) (< buzz-index (the int (-> *FACT-bank* buzzer-max-default)))) + (if (zero? (logand buzz-bits (ash 1 buzz-index))) + (set! (-> obj buzzer-total) (+ 1.0 (-> obj buzzer-total))) + ) + (let ((t9-10 (method-of-object ctrl save-reminder))) + (set! buzz-bits (logior buzz-bits (ash 1 buzz-index))) + (t9-10 ctrl buzz-bits 0) + ) + ) + (countdown (v1-58 (the int (-> *FACT-bank* buzzer-max-default))) + (if (logtest? buzz-bits (ash 1 v1-58)) + (set! buzz-count (+ 1.0 buzz-count)) + ) + ) + ) + ) + buzz-count + ) ) ) - ) ) ;; definition for method 23 of type game-info @@ -489,13 +384,13 @@ (let ((v1-1 (get-reminder (get-task-control arg0) 0)) (v0-2 0) ) - (countdown (a0-4 (the int (-> *FACT-bank* buzzer-max-default))) - (if (logtest? v1-1 (ash 1 a0-4)) - (+! v0-2 1) - ) + (countdown (a0-4 (the int (-> *FACT-bank* buzzer-max-default))) + (if (logtest? v1-1 (ash 1 a0-4)) + (+! v0-2 1) + ) + ) + v0-2 ) - v0-2 - ) ) ;; definition for method 21 of type game-info @@ -507,8 +402,8 @@ ;; INFO: Return type mismatch int vs none. (defmethod mark-text-as-seen game-info ((obj game-info) (arg0 game-text-id)) (if (and (< (the-as uint arg0) (the-as uint 4095)) (> (the-as uint arg0) 0)) - (set-bit (-> obj text-ids-seen) (the-as int arg0)) - ) + (set-bit (-> obj text-ids-seen) (the-as int arg0)) + ) 0 (none) ) @@ -525,469 +420,253 @@ ;; INFO: Return type mismatch float vs none. (defmethod reset! fact-info-target ((obj fact-info-target) (arg0 symbol)) (when (or (not arg0) (= arg0 'eco)) - (set! (-> obj eco-timeout) 0) - (set! (-> obj eco-level) 0.0) - (set! - (-> obj eco-pickup-time) - (the-as uint (-> *display* game-frame-counter)) + (set! (-> obj eco-timeout) 0) + (set! (-> obj eco-level) 0.0) + (set! (-> obj eco-pickup-time) (the-as uint (-> *display* game-frame-counter))) ) - ) (when (or (not arg0) (= arg0 'health)) - (set! (-> obj health-max) (-> *FACT-bank* health-max-default)) - (set! (-> obj health) (-> obj health-max)) - (set! (-> obj health-pickup-time) (the-as uint -30000)) - ) + (set! (-> obj health-max) (-> *FACT-bank* health-max-default)) + (set! (-> obj health) (-> obj health-max)) + (set! (-> obj health-pickup-time) (the-as uint -30000)) + ) (when (or (not arg0) (= arg0 'buzzer)) - (set! (-> obj buzzer-max) (-> *FACT-bank* buzzer-max-default)) - (set! (-> obj buzzer) 0.0) - ) + (set! (-> obj buzzer-max) (-> *FACT-bank* buzzer-max-default)) + (set! (-> obj buzzer) 0.0) + ) (when (or (not arg0) (= arg0 'eco-pill)) - (set! (-> obj eco-pill-max) (-> *FACT-bank* eco-pill-max-default)) - (set! (-> obj eco-pill) 0.0) - ) + (set! (-> obj eco-pill-max) (-> *FACT-bank* eco-pill-max-default)) + (set! (-> obj eco-pill) 0.0) + ) (none) ) ;; definition for method 11 of type fact-info-target -(defmethod - pickup-collectable! - fact-info-target - ((obj fact-info-target) - (kind pickup-type) - (amount float) - (source-handle handle) - ) - (case kind - (((pickup-type eco-green)) +(defmethod pickup-collectable! fact-info-target ((obj fact-info-target) (kind pickup-type) (amount float) (source-handle handle)) + (case kind + (((pickup-type eco-green)) (cond - ((>= amount 0.0) - (when (< 0.0 amount) - (if - (or - (!= - (handle->process source-handle) - (handle->process (-> obj eco-source)) - ) - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> obj eco-source-time)) + ((>= amount 0.0) + (when (< 0.0 amount) + (if (or + (!= (handle->process source-handle) (handle->process (-> obj eco-source))) + (>= (- (-> *display* base-frame-counter) (the-as int (-> obj eco-source-time))) 150) + ) + (sound-play-by-name (static-sound-name "get-green-eco") (new-sound-id) 1024 0 0 1 #t) + ) + (when (handle->process source-handle) + (set! (-> obj eco-source) source-handle) + (set! (-> obj eco-source-time) (the-as uint (-> *display* base-frame-counter))) ) - 150 - ) ) - (sound-play-by-name - (static-sound-name "get-green-eco") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (when (handle->process source-handle) - (set! (-> obj eco-source) source-handle) - (set! - (-> obj eco-source-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) + (if (= (-> obj health) (-> obj health-max)) + (pickup-collectable! + obj + (pickup-type eco-pill) + (-> *FACT-bank* eco-pill-max-default) + (process->handle (-> obj process)) + ) + ) + (set! (-> obj health-pickup-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> obj health) (seek (-> obj health) (-> obj health-max) amount)) ) - (if (= (-> obj health) (-> obj health-max)) - (pickup-collectable! - obj - (pickup-type eco-pill) - (-> *FACT-bank* eco-pill-max-default) - (process->handle (-> obj process)) + (else + (set! (-> obj health) (seek (-> obj health) 0.0 (- amount))) + (if (>= amount -10.0) + (pickup-collectable! obj (pickup-type eco-pill) 0.0 source-handle) + ) + (if (= (-> obj health) 0.0) + (adjust (-> (the-as target (-> obj process)) game) 'life (- (-> *GAME-bank* life-single-inc)) source-handle) + ) ) - ) - (set! - (-> obj health-pickup-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! (-> obj health) (seek (-> obj health) (-> obj health-max) amount)) ) - (else - (set! (-> obj health) (seek (-> obj health) 0.0 (- amount))) - (if (>= amount -10.0) - (pickup-collectable! obj (pickup-type eco-pill) 0.0 source-handle) - ) - (if (= (-> obj health) 0.0) - (adjust - (-> (the-as target (-> obj process)) game) - 'life - (- (-> *GAME-bank* life-single-inc)) - source-handle - ) - ) - ) - ) (b! - (and - (logtest? - (-> - (the-as collide-shape (-> obj process root)) - root-prim - prim-core - action + (and + (logtest? (-> (the-as collide-shape (-> obj process root)) root-prim prim-core action) 512) + (type-type? (-> (handle->process source-handle) type) vent) ) - 512 - ) - (type-type? (-> (handle->process source-handle) type) vent) + cfg-80 + :delay + (nop!) ) - cfg-80 - :delay - (nop!) - ) (-> obj health) ) - (((pickup-type eco-pill)) - (when (>= amount 0.0) - (set! - (-> obj eco-pill-pickup-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! - (-> obj eco-pill) - (seek (-> obj eco-pill) (-> obj eco-pill-max) amount) - ) - (when - (and - (>= (-> obj eco-pill) (-> *FACT-bank* eco-pill-max-default)) - (< (-> obj health) (-> obj health-max)) - ) - (set! - (-> obj eco-pill) - (- (-> obj eco-pill) (-> *FACT-bank* eco-pill-max-default)) - ) - (pickup-collectable! - obj - (pickup-type eco-green) - (-> *FACT-bank* health-small-inc) - (process->handle (-> obj process)) - ) - ) - ) - (-> obj eco-pill) - ) - (((pickup-type money)) - (when (< 0.0 amount) - (if - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> obj money-pickup-time)) - ) - 15 - ) - (sound-play-by-name - (static-sound-name "money-pickup") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (set! - (-> obj money-pickup-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - (adjust - (-> (the-as target (-> obj process)) game) - 'money - amount - source-handle - ) - ) - (((pickup-type fuel-cell)) - (let ((s4-2 (the int amount))) - (if - (not - (or - (task-complete? - (-> (the-as target (-> obj process)) game) - (the-as game-task s4-2) - ) - (>= (the-as uint 1) (the-as uint s4-2)) - ) - ) - (set! - (-> obj fuel-cell-pickup-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - (adjust - (-> (the-as target (-> obj process)) game) - 'fuel-cell - amount - source-handle - ) - ) - (((pickup-type buzzer)) - (let - ((buzz-count - (adjust - (-> (the-as target (-> obj process)) game) - 'buzzer - amount - source-handle - ) - ) - ) - (if (!= buzz-count (-> obj buzzer)) - (set! - (-> obj buzzer-pickup-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - (set! (-> obj buzzer) buzz-count) - ) - (-> obj buzzer) - ) - (((pickup-type eco-red) (pickup-type eco-blue) (pickup-type eco-yellow)) - (label cfg-80) - (if (= amount 0.0) - (return (if (= (-> obj eco-type) kind) - (-> obj eco-level) - 0.0 - ) - ) - ) - (when (!= (-> obj eco-type) kind) - (set! (-> obj eco-level) 0.0) - (set! (-> obj eco-timeout) 0) - 0 - ) - (set! (-> obj eco-type) (the-as int kind)) - (let ((eco-lev (-> obj eco-level))) - (set! (-> obj eco-level) 1.0) - (when (and (= eco-lev 0.0) (< 0.0 (-> obj eco-level))) - (set! - (-> obj eco-pickup-time) - (the-as uint (-> *display* game-frame-counter)) - ) - (send-event (-> obj process) 'reset-collide) - ) - (set! - (-> obj eco-timeout) - (min - (the-as - int - (+ - (-> obj eco-timeout) - (* (the-as int (-> *FACT-bank* eco-single-timeout)) (the int amount)) - ) - ) - (the-as - int - (+ - (-> *FACT-bank* eco-full-timeout) - (- - (-> *display* game-frame-counter) - (the-as int (-> obj eco-pickup-time)) - ) - ) - ) - ) - ) - (if - (>= - (the-as - int - (- - (-> obj eco-timeout) - (the-as - uint - (- - (-> *display* game-frame-counter) - (the-as int (-> obj eco-pickup-time)) + (((pickup-type eco-pill)) + (when (>= amount 0.0) + (set! (-> obj eco-pill-pickup-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> obj eco-pill) (seek (-> obj eco-pill) (-> obj eco-pill-max) amount)) + (when (and (>= (-> obj eco-pill) (-> *FACT-bank* eco-pill-max-default)) (< (-> obj health) (-> obj health-max))) + (set! (-> obj eco-pill) (- (-> obj eco-pill) (-> *FACT-bank* eco-pill-max-default))) + (pickup-collectable! + obj + (pickup-type eco-green) + (-> *FACT-bank* health-small-inc) + (process->handle (-> obj process)) ) - ) ) - ) - (the-as int (-> *FACT-bank* eco-full-timeout)) ) - (set! (-> obj eco-level) 2.0) - ) - (when - (not - (and - (= - (handle->process source-handle) - (handle->process (-> obj eco-source)) - ) - (< - (- - (-> *display* base-frame-counter) - (the-as int (-> obj eco-source-time)) - ) - 150 - ) - ) + (-> obj eco-pill) + ) + (((pickup-type money)) + (when (< 0.0 amount) + (if (>= (- (-> *display* base-frame-counter) (the-as int (-> obj money-pickup-time))) 15) + (sound-play-by-name (static-sound-name "money-pickup") (new-sound-id) 1024 0 0 1 #t) + ) + (set! (-> obj money-pickup-time) (the-as uint (-> *display* base-frame-counter))) ) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 127 60) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 17 60) - (case kind - (((pickup-type eco-blue)) - (sound-play-by-name - (static-sound-name "get-blue-eco") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (((pickup-type eco-green)) - (sound-play-by-name - (static-sound-name "get-green-eco") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (((pickup-type eco-yellow)) - (sound-play-by-name - (static-sound-name "get-yellow-eco") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (((pickup-type eco-red)) - (sound-play-by-name - (static-sound-name "get-red-eco") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) + (adjust (-> (the-as target (-> obj process)) game) 'money amount source-handle) + ) + (((pickup-type fuel-cell)) + (let ((s4-2 (the int amount))) + (if (not (or + (task-complete? (-> (the-as target (-> obj process)) game) (the-as game-task s4-2)) + (>= (the-as uint 1) (the-as uint s4-2)) + ) + ) + (set! (-> obj fuel-cell-pickup-time) (the-as uint (-> *display* base-frame-counter))) + ) ) - ) - (set! (-> obj eco-source) source-handle) - (set! - (-> obj eco-source-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (when (= kind (pickup-type eco-blue)) - (when (= eco-lev 0.0) - (let ((s5-1 (-> obj process))) - (let* ((s3-5 (get-process *default-dead-pool* touch-tracker #x4000)) - (s4-3 (when s3-5 - (let ((t9-28 (method-of-type touch-tracker activate))) - (t9-28 - (the-as touch-tracker s3-5) - s5-1 - 'touch-tracker - (the-as pointer #x70004000) - ) + (adjust (-> (the-as target (-> obj process)) game) 'fuel-cell amount source-handle) + ) + (((pickup-type buzzer)) + (let ((buzz-count (adjust (-> (the-as target (-> obj process)) game) 'buzzer amount source-handle))) + (if (!= buzz-count (-> obj buzzer)) + (set! (-> obj buzzer-pickup-time) (the-as uint (-> *display* base-frame-counter))) + ) + (set! (-> obj buzzer) buzz-count) + ) + (-> obj buzzer) + ) + (((pickup-type eco-red) (pickup-type eco-blue) (pickup-type eco-yellow)) + (label cfg-80) + (if (= amount 0.0) + (return (if (= (-> obj eco-type) kind) + (-> obj eco-level) + 0.0 + ) + ) + ) + (when (!= (-> obj eco-type) kind) + (set! (-> obj eco-level) 0.0) + (set! (-> obj eco-timeout) 0) + 0 + ) + (set! (-> obj eco-type) (the-as int kind)) + (let ((eco-lev (-> obj eco-level))) + (set! (-> obj eco-level) 1.0) + (when (and (= eco-lev 0.0) (< 0.0 (-> obj eco-level))) + (set! (-> obj eco-pickup-time) (the-as uint (-> *display* game-frame-counter))) + (send-event (-> obj process) 'reset-collide) + ) + (set! (-> obj eco-timeout) + (min + (the-as int (+ (-> obj eco-timeout) (* (the-as int (-> *FACT-bank* eco-single-timeout)) (the int amount)))) + (the-as int (+ (-> *FACT-bank* eco-full-timeout) + (- (-> *display* game-frame-counter) (the-as int (-> obj eco-pickup-time))) + ) ) - (run-now-in-process - s3-5 - touch-tracker-init - (-> s5-1 root trans) - (-> *FACT-bank* suck-bounce-dist) - 300 - ) - (-> s3-5 ppointer) - ) - ) ) - (send-event (ppointer->process s4-3) 'target s5-1) - (send-event (ppointer->process s4-3) 'event 'eco-blue) - (send-event (ppointer->process s4-3) 'exit (lambda () - (send-event - *target* - 'query - 'powerup - 3 - ) - ) - ) - (send-event - (ppointer->process s4-3) - 'eval - (lambda :behavior process-drawable - () - (set! - (-> (the-as collide-shape (-> self root)) root-prim collide-with) - (the-as uint #x800e) + ) + (if (>= (the-as int (- (-> obj eco-timeout) + (the-as uint (- (-> *display* game-frame-counter) (the-as int (-> obj eco-pickup-time)))) + ) + ) + (the-as int (-> *FACT-bank* eco-full-timeout)) + ) + (set! (-> obj eco-level) 2.0) + ) + (when (not (and + (= (handle->process source-handle) (handle->process (-> obj eco-source))) + (< (- (-> *display* base-frame-counter) (the-as int (-> obj eco-source-time))) 150) + ) + ) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 127 60) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 0 17 60) + (case kind + (((pickup-type eco-blue)) + (sound-play-by-name (static-sound-name "get-blue-eco") (new-sound-id) 1024 0 0 1 #t) + ) + (((pickup-type eco-green)) + (sound-play-by-name (static-sound-name "get-green-eco") (new-sound-id) 1024 0 0 1 #t) + ) + (((pickup-type eco-yellow)) + (sound-play-by-name (static-sound-name "get-yellow-eco") (new-sound-id) 1024 0 0 1 #t) + ) + (((pickup-type eco-red)) + (sound-play-by-name (static-sound-name "get-red-eco") (new-sound-id) 1024 0 0 1 #t) ) - (none) ) - ) ) - (let ((s4-4 (get-process *4k-dead-pool* process #x4000))) - (when s4-4 - (let ((t9-35 (method-of-type process activate))) - (t9-35 s4-4 s5-1 'process (the-as pointer #x70004000)) + (set! (-> obj eco-source) source-handle) + (set! (-> obj eco-source-time) (the-as uint (-> *display* base-frame-counter))) + (when (= kind (pickup-type eco-blue)) + (when (= eco-lev 0.0) + (let ((s5-1 (-> obj process))) + (let* ((s3-5 (get-process *default-dead-pool* touch-tracker #x4000)) + (s4-3 + (when s3-5 + (let ((t9-28 (method-of-type touch-tracker activate))) + (t9-28 (the-as touch-tracker s3-5) s5-1 'touch-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s3-5 touch-tracker-init (-> s5-1 root trans) (-> *FACT-bank* suck-bounce-dist) 300) + (-> s3-5 ppointer) + ) + ) + ) + (send-event (ppointer->process s4-3) 'target s5-1) + (send-event (ppointer->process s4-3) 'event 'eco-blue) + (send-event (ppointer->process s4-3) 'exit (lambda () (send-event *target* 'query 'powerup 3))) + (send-event + (ppointer->process s4-3) + 'eval + (lambda :behavior process-drawable + () + (set! (-> (the-as collide-shape (-> self root)) root-prim collide-with) (the-as uint #x800e)) + (none) + ) + ) + ) + (let ((s4-4 (get-process *4k-dead-pool* process #x4000))) + (when s4-4 + (let ((t9-35 (method-of-type process activate))) + (t9-35 s4-4 s5-1 'process (the-as pointer #x70004000)) + ) + (run-next-time-in-process + s4-4 + (lambda ((arg0 process-drawable)) + (let ((s5-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) s5-0) 180) + (send-event arg0 'effect 'eco-blue) + (suspend) + ) + ) + (none) + ) + s5-1 + ) + (-> s4-4 ppointer) + ) + ) + ) ) - (run-next-time-in-process s4-4 (lambda ((arg0 process-drawable)) - (let - ((s5-0 - (-> *display* base-frame-counter) - ) - ) - (until - (>= - (- - (-> *display* base-frame-counter) - s5-0 - ) - 180 - ) - (send-event arg0 'effect 'eco-blue) - (suspend) - ) - ) - (none) - ) - s5-1 - ) - (-> s4-4 ppointer) - ) ) - ) ) + (-> obj eco-level) + ) + (else + ((method-of-type fact-info pickup-collectable!) obj kind amount source-handle) ) - ) - (-> obj eco-level) ) - (else - ((method-of-type fact-info pickup-collectable!) - obj - kind - amount - source-handle - ) - ) - ) ) ;; definition for method 12 of type game-info (defmethod lookup-entity-perm-by-aid game-info ((obj game-info) (arg0 actor-id)) (let ((v1-0 (-> obj perm-list))) - (countdown (a0-1 (-> v1-0 length)) - (if (= arg0 (-> v1-0 data a0-1 aid)) - (return (-> v1-0 data a0-1)) - ) + (countdown (a0-1 (-> v1-0 length)) + (if (= arg0 (-> v1-0 data a0-1 aid)) + (return (-> v1-0 data a0-1)) + ) + ) ) - ) (the-as entity-perm #f) ) @@ -998,29 +677,24 @@ (let ((perms (-> obj perm-list)) (lev-entities (-> lev bsp level entity)) ) - (dotimes (lev-entity-idx (-> lev-entities length)) - (let - ((lev-entity-perm (-> lev-entities data lev-entity-idx entity extra perm))) - (when (nonzero? (-> lev-entity-perm task)) - (let - ((info-entity-perm - (lookup-entity-perm-by-aid obj (-> lev-entity-perm aid)) - ) + (dotimes (lev-entity-idx (-> lev-entities length)) + (let ((lev-entity-perm (-> lev-entities data lev-entity-idx entity extra perm))) + (when (nonzero? (-> lev-entity-perm task)) + (let ((info-entity-perm (lookup-entity-perm-by-aid obj (-> lev-entity-perm aid)))) + (cond + (info-entity-perm + (set! (-> info-entity-perm quad) (-> lev-entity-perm quad)) + ) + ((< (-> perms length) (-> perms allocated-length)) + (set! (-> perms data (-> perms length) quad) (-> lev-entity-perm quad)) + (+! (-> perms length) 1) + ) + ) + ) + ) ) - (cond - (info-entity-perm - (set! (-> info-entity-perm quad) (-> lev-entity-perm quad)) - ) - ((< (-> perms length) (-> perms allocated-length)) - (set! (-> perms data (-> perms length) quad) (-> lev-entity-perm quad)) - (+! (-> perms length) 1) - ) - ) - ) ) - ) ) - ) 0 (none) ) @@ -1030,32 +704,21 @@ ;; Used lq/sq (defmethod copy-perms-to-level! game-info ((obj game-info) (lev level)) (let ((lev-entities (-> lev bsp level entity))) - (dotimes (lev-entity-idx (-> lev-entities length)) - (let* - ((lev-entity-perm (-> lev-entities data lev-entity-idx entity extra perm)) - (info-entity-perm - (lookup-entity-perm-by-aid obj (-> lev-entity-perm aid)) - ) - ) - (when info-entity-perm - (set! (-> lev-entity-perm quad) (-> info-entity-perm quad)) - (update-perm! - lev-entity-perm - 'try - (entity-perm-status - bit-0 - bit-1 - dead - bit-3 - user-set-from-cstage - complete - bit-9 + (dotimes (lev-entity-idx (-> lev-entities length)) + (let* ((lev-entity-perm (-> lev-entities data lev-entity-idx entity extra perm)) + (info-entity-perm (lookup-entity-perm-by-aid obj (-> lev-entity-perm aid))) + ) + (when info-entity-perm + (set! (-> lev-entity-perm quad) (-> info-entity-perm quad)) + (update-perm! + lev-entity-perm + 'try + (entity-perm-status bit-0 bit-1 dead bit-3 user-set-from-cstage complete bit-9) + ) + ) ) - ) ) - ) ) - ) 0 (none) ) @@ -1070,30 +733,25 @@ ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defmethod debug-draw! continue-point ((obj continue-point)) - (add-debug-x - #t - (bucket-id debug-draw1) - (-> obj trans) - (new 'static 'rgba :r #xff :a #x80) - ) + (add-debug-x #t (bucket-id debug-draw1) (-> obj trans) (new 'static 'rgba :r #xff :a #x80)) (add-debug-text-3d - #t - (bucket-id debug-draw1) - (-> obj name) - (-> obj trans) - (font-color white) - (new 'static 'vector2h :y 8) - ) - (let ((a3-2 (vector-z-quaternion! (new-stack-vector0) (-> obj quat)))) - (add-debug-vector #t (bucket-id debug-draw1) + (-> obj name) (-> obj trans) - a3-2 - (meters 2.0) - (new 'static 'rgba :r #xff :g #x80 :a #x80) + (font-color white) + (new 'static 'vector2h :y 8) + ) + (let ((a3-2 (vector-z-quaternion! (new-stack-vector0) (-> obj quat)))) + (add-debug-vector + #t + (bucket-id debug-draw1) + (-> obj trans) + a3-2 + (meters 2.0) + (new 'static 'rgba :r #xff :g #x80 :a #x80) + ) ) - ) 0 (none) ) @@ -1102,58 +760,41 @@ ;; INFO: Return type mismatch int vs none. (defun-debug trsq->continue-point ((arg0 trsq)) (let ((a2-0 (level-get-target-inside *level*))) - (format - #t - "~%(static-continue-point ~A ()~%" - (symbol->string (-> a2-0 name)) + (format #t "~%(static-continue-point ~A ()~%" (symbol->string (-> a2-0 name))) ) - ) - (format - #t - " (target ~m ~m ~m " - (-> arg0 trans x) - (-> arg0 trans y) - (-> arg0 trans z) - ) - (format - #t - "~f ~f ~f ~f)~%" - (-> arg0 quat x) - (-> arg0 quat y) - (-> arg0 quat z) - (-> arg0 quat w) - ) + (format #t " (target ~m ~m ~m " (-> arg0 trans x) (-> arg0 trans y) (-> arg0 trans z)) + (format #t "~f ~f ~f ~f)~%" (-> arg0 quat x) (-> arg0 quat y) (-> arg0 quat z) (-> arg0 quat w)) (let ((gp-1 *math-camera*)) - (format - #t - " (camera ~m ~m ~m ~f ~f ~f " - (-> gp-1 trans x) - (-> gp-1 trans y) - (-> gp-1 trans z) - (-> gp-1 inv-camera-rot vector 0 x) - (-> gp-1 inv-camera-rot vector 0 y) - (-> gp-1 inv-camera-rot vector 0 z) + (format + #t + " (camera ~m ~m ~m ~f ~f ~f " + (-> gp-1 trans x) + (-> gp-1 trans y) + (-> gp-1 trans z) + (-> gp-1 inv-camera-rot vector 0 x) + (-> gp-1 inv-camera-rot vector 0 y) + (-> gp-1 inv-camera-rot vector 0 z) + ) + (format + #t + "~f ~f ~f ~f ~f ~f)~%" + (-> gp-1 inv-camera-rot vector 1 x) + (-> gp-1 inv-camera-rot vector 1 y) + (-> gp-1 inv-camera-rot vector 1 z) + (-> gp-1 inv-camera-rot vector 2 x) + (-> gp-1 inv-camera-rot vector 2 y) + (-> gp-1 inv-camera-rot vector 2 z) + ) ) - (format - #t - "~f ~f ~f ~f ~f ~f)~%" - (-> gp-1 inv-camera-rot vector 1 x) - (-> gp-1 inv-camera-rot vector 1 y) - (-> gp-1 inv-camera-rot vector 1 z) - (-> gp-1 inv-camera-rot vector 2 x) - (-> gp-1 inv-camera-rot vector 2 y) - (-> gp-1 inv-camera-rot vector 2 z) - ) - ) (format - #t - " (load '~A '~A '~A '~A '~A)~%" - (-> *load-state* vis-nick) - (-> *load-state* want 0 name) - (-> *load-state* want 0 display?) - (-> *load-state* want 1 name) - (-> *load-state* want 1 display?) - ) + #t + " (load '~A '~A '~A '~A '~A)~%" + (-> *load-state* vis-nick) + (-> *load-state* want 0 name) + (-> *load-state* want 0 display?) + (-> *load-state* want 1 name) + (-> *load-state* want 1 display?) + ) (format #t " )~%") 0 (none) @@ -1161,416 +802,416 @@ ;; definition (debug) for function game-task->string (defun-debug game-task->string ((arg0 game-task)) - (case arg0 - (((game-task max)) + (case arg0 + (((game-task max)) "max" ) - (((game-task assistant-village3)) - "assistant-village3" + (((game-task assistant-village3)) + "assistant-village3" + ) + (((game-task leaving-misty)) + "leaving-misty" + ) + (((game-task plunger-lurker-hit)) + "plunger-lurker-hit" + ) + (((game-task finalboss-movies)) + "finalboss-movies" + ) + (((game-task village4-button)) + "village4-button" + ) + (((game-task ogre-secret)) + "ogre-secret" + ) + (((game-task intro)) + "intro" + ) + (((game-task lavatube-start)) + "lavatube-start" + ) + (((game-task lavatube-balls)) + "lavatube-balls" + ) + (((game-task red-eggtop)) + "red-eggtop" + ) + (((game-task village3-button)) + "village3-button" + ) + (((game-task swamp-arm)) + "swamp-arm" + ) + (((game-task village2-levitator)) + "village2-levitator" + ) + (((game-task firecanyon-assistant)) + "firecanyon-assistant" + ) + (((game-task village3-oracle-money2)) + "village3-oracle-money2" + ) + (((game-task village3-oracle-money1)) + "village3-oracle-money1" + ) + (((game-task village3-miner-money4)) + "village3-miner-money4" + ) + (((game-task village3-miner-money3)) + "village3-miner-money3" + ) + (((game-task village3-miner-money2)) + "village3-miner-money2" + ) + (((game-task village3-miner-money1)) + "village3-miner-money1" + ) + (((game-task training-buzzer)) + "training-buzzer" + ) + (((game-task training-climb)) + "training-climb" + ) + (((game-task training-door)) + "training-door" + ) + (((game-task training-gimmie)) + "training-gimmie" + ) + (((game-task citadel-buzzer)) + "citadel-buzzer" + ) + (((game-task lavatube-buzzer)) + "lavatube-buzzer" + ) + (((game-task lavatube-end)) + "lavatube-end" + ) + (((game-task ogre-buzzer)) + "ogre-buzzer" + ) + (((game-task ogre-end)) + "ogre-end" + ) + (((game-task ogre-boss)) + "ogre-boss" + ) + (((game-task cave-buzzer)) + "cave-buzzer" + ) + (((game-task cave-platforms)) + "cave-platforms" + ) + (((game-task cave-spider-tunnel)) + "cave-spider-tunnel" + ) + (((game-task cave-swing-poles)) + "cave-swing-poles" + ) + (((game-task cave-robot-climb)) + "cave-robot-climb" + ) + (((game-task cave-dark-climb)) + "cave-dark-climb" + ) + (((game-task cave-dark-crystals)) + "cave-dark-crystals" + ) + (((game-task cave-gnawers)) + "cave-gnawers" + ) + (((game-task village3-buzzer)) + "village3-buzzer" + ) + (((game-task village2-buzzer)) + "village2-buzzer" + ) + (((game-task village1-buzzer)) + "village1-buzzer" + ) + (((game-task village3-extra1)) + "village3-extra1" + ) + (((game-task citadel-sage-yellow)) + "citadel-sage-yellow" + ) + (((game-task citadel-sage-red)) + "citadel-sage-red" + ) + (((game-task citadel-sage-blue)) + "citadel-sage-blue" + ) + (((game-task citadel-sage-green)) + "citadel-sage-green" + ) + (((game-task firecanyon-end)) + "firecanyon-end" + ) + (((game-task firecanyon-buzzer)) + "firecanyon-buzzer" + ) + (((game-task snow-cage)) + "snow-cage" + ) + (((game-task snow-bumpers)) + "snow-bumpers" + ) + (((game-task snow-buzzer)) + "snow-buzzer" + ) + (((game-task snow-bunnies)) + "snow-bunnies" + ) + (((game-task snow-ball)) + "snow-ball" + ) + (((game-task snow-fort)) + "snow-fort" + ) + (((game-task snow-ram)) + "snow-ram" + ) + (((game-task snow-eggtop)) + "snow-eggtop" + ) + (((game-task rolling-ring-chase-2)) + "rolling-ring-chase-2" + ) + (((game-task rolling-ring-chase-1)) + "rolling-ring-chase-1" + ) + (((game-task rolling-buzzer)) + "rolling-buzzer" + ) + (((game-task rolling-lake)) + "rolling-lake" + ) + (((game-task rolling-plants)) + "rolling-plants" + ) + (((game-task rolling-moles)) + "rolling-moles" + ) + (((game-task rolling-robbers)) + "rolling-robbers" + ) + (((game-task rolling-race)) + "rolling-race" + ) + (((game-task sunken-spinning-room)) + "sunken-spinning-room" + ) + (((game-task sunken-top-of-helix)) + "sunken-top-of-helix" + ) + (((game-task sunken-buzzer)) + "sunken-buzzer" + ) + (((game-task sunken-sharks)) + "sunken-sharks" + ) + (((game-task sunken-room)) + "sunken-room" + ) + (((game-task sunken-slide)) + "sunken-slide" + ) + (((game-task sunken-pipe)) + "sunken-pipe" + ) + (((game-task sunken-platforms)) + "sunken-platforms" + ) + (((game-task swamp-buzzer)) + "swamp-buzzer" + ) + (((game-task swamp-tether-4)) + "swamp-tether-4" + ) + (((game-task swamp-tether-3)) + "swamp-tether-3" + ) + (((game-task swamp-tether-2)) + "swamp-tether-2" + ) + (((game-task swamp-tether-1)) + "swamp-tether-1" + ) + (((game-task swamp-battle)) + "swamp-battle" + ) + (((game-task swamp-flutflut)) + "swamp-flutflut" + ) + (((game-task swamp-billy)) + "swamp-billy" + ) + (((game-task village2-oracle-money2)) + "village2-oracle-money2" + ) + (((game-task village2-oracle-money1)) + "village2-oracle-money1" + ) + (((game-task village2-warrior-money)) + "village2-warrior-money" + ) + (((game-task village2-geologist-money)) + "village2-geologist-money" + ) + (((game-task village2-gambler-money)) + "village2-gambler-money" + ) + (((game-task misty-eco-challenge)) + "misty-eco-challenge" + ) + (((game-task misty-bike-jump)) + "misty-bike-jump" + ) + (((game-task misty-buzzer)) + "misty-buzzer" + ) + (((game-task misty-bike)) + "misty-bike" + ) + (((game-task misty-cannon)) + "misty-cannon" + ) + (((game-task misty-warehouse)) + "misty-warehouse" + ) + (((game-task misty-boat)) + "misty-boat" + ) + (((game-task misty-muse)) + "misty-muse" + ) + (((game-task beach-sentinel)) + "beach-sentinel" + ) + (((game-task beach-gimmie)) + "beach-gimmie" + ) + (((game-task beach-buzzer)) + "beach-buzzer" + ) + (((game-task beach-cannon)) + "beach-cannon" + ) + (((game-task beach-seagull)) + "beach-seagull" + ) + (((game-task beach-flutflut)) + "beach-flutflut" + ) + (((game-task beach-pelican)) + "beach-pelican" + ) + (((game-task beach-ecorocks)) + "beach-ecorocks" + ) + (((game-task village1-oracle-money2)) + "village1-oracle-money2" + ) + (((game-task village1-oracle-money1)) + "village1-oracle-money1" + ) + (((game-task village1-uncle-money)) + "village1-uncle-money" + ) + (((game-task village1-mayor-money)) + "village1-mayor-money" + ) + (((game-task village1-yakow)) + "village1-yakow" + ) + (((game-task jungle-temple-door)) + "jungle-temple-door" + ) + (((game-task jungle-canyon-end)) + "jungle-canyon-end" + ) + (((game-task jungle-buzzer)) + "jungle-buzzer" + ) + (((game-task jungle-plant)) + "jungle-plant" + ) + (((game-task jungle-fishgame)) + "jungle-fishgame" + ) + (((game-task jungle-tower)) + "jungle-tower" + ) + (((game-task jungle-lurkerm)) + "jungle-lurkerm" + ) + (((game-task jungle-eggtop)) + "jungle-eggtop" + ) + (((game-task complete)) + "complete" + ) + (((game-task none)) + "none" + ) + (else + "*unknown*" + ) ) - (((game-task leaving-misty)) - "leaving-misty" - ) - (((game-task plunger-lurker-hit)) - "plunger-lurker-hit" - ) - (((game-task finalboss-movies)) - "finalboss-movies" - ) - (((game-task village4-button)) - "village4-button" - ) - (((game-task ogre-secret)) - "ogre-secret" - ) - (((game-task intro)) - "intro" - ) - (((game-task lavatube-start)) - "lavatube-start" - ) - (((game-task lavatube-balls)) - "lavatube-balls" - ) - (((game-task red-eggtop)) - "red-eggtop" - ) - (((game-task village3-button)) - "village3-button" - ) - (((game-task swamp-arm)) - "swamp-arm" - ) - (((game-task village2-levitator)) - "village2-levitator" - ) - (((game-task firecanyon-assistant)) - "firecanyon-assistant" - ) - (((game-task village3-oracle-money2)) - "village3-oracle-money2" - ) - (((game-task village3-oracle-money1)) - "village3-oracle-money1" - ) - (((game-task village3-miner-money4)) - "village3-miner-money4" - ) - (((game-task village3-miner-money3)) - "village3-miner-money3" - ) - (((game-task village3-miner-money2)) - "village3-miner-money2" - ) - (((game-task village3-miner-money1)) - "village3-miner-money1" - ) - (((game-task training-buzzer)) - "training-buzzer" - ) - (((game-task training-climb)) - "training-climb" - ) - (((game-task training-door)) - "training-door" - ) - (((game-task training-gimmie)) - "training-gimmie" - ) - (((game-task citadel-buzzer)) - "citadel-buzzer" - ) - (((game-task lavatube-buzzer)) - "lavatube-buzzer" - ) - (((game-task lavatube-end)) - "lavatube-end" - ) - (((game-task ogre-buzzer)) - "ogre-buzzer" - ) - (((game-task ogre-end)) - "ogre-end" - ) - (((game-task ogre-boss)) - "ogre-boss" - ) - (((game-task cave-buzzer)) - "cave-buzzer" - ) - (((game-task cave-platforms)) - "cave-platforms" - ) - (((game-task cave-spider-tunnel)) - "cave-spider-tunnel" - ) - (((game-task cave-swing-poles)) - "cave-swing-poles" - ) - (((game-task cave-robot-climb)) - "cave-robot-climb" - ) - (((game-task cave-dark-climb)) - "cave-dark-climb" - ) - (((game-task cave-dark-crystals)) - "cave-dark-crystals" - ) - (((game-task cave-gnawers)) - "cave-gnawers" - ) - (((game-task village3-buzzer)) - "village3-buzzer" - ) - (((game-task village2-buzzer)) - "village2-buzzer" - ) - (((game-task village1-buzzer)) - "village1-buzzer" - ) - (((game-task village3-extra1)) - "village3-extra1" - ) - (((game-task citadel-sage-yellow)) - "citadel-sage-yellow" - ) - (((game-task citadel-sage-red)) - "citadel-sage-red" - ) - (((game-task citadel-sage-blue)) - "citadel-sage-blue" - ) - (((game-task citadel-sage-green)) - "citadel-sage-green" - ) - (((game-task firecanyon-end)) - "firecanyon-end" - ) - (((game-task firecanyon-buzzer)) - "firecanyon-buzzer" - ) - (((game-task snow-cage)) - "snow-cage" - ) - (((game-task snow-bumpers)) - "snow-bumpers" - ) - (((game-task snow-buzzer)) - "snow-buzzer" - ) - (((game-task snow-bunnies)) - "snow-bunnies" - ) - (((game-task snow-ball)) - "snow-ball" - ) - (((game-task snow-fort)) - "snow-fort" - ) - (((game-task snow-ram)) - "snow-ram" - ) - (((game-task snow-eggtop)) - "snow-eggtop" - ) - (((game-task rolling-ring-chase-2)) - "rolling-ring-chase-2" - ) - (((game-task rolling-ring-chase-1)) - "rolling-ring-chase-1" - ) - (((game-task rolling-buzzer)) - "rolling-buzzer" - ) - (((game-task rolling-lake)) - "rolling-lake" - ) - (((game-task rolling-plants)) - "rolling-plants" - ) - (((game-task rolling-moles)) - "rolling-moles" - ) - (((game-task rolling-robbers)) - "rolling-robbers" - ) - (((game-task rolling-race)) - "rolling-race" - ) - (((game-task sunken-spinning-room)) - "sunken-spinning-room" - ) - (((game-task sunken-top-of-helix)) - "sunken-top-of-helix" - ) - (((game-task sunken-buzzer)) - "sunken-buzzer" - ) - (((game-task sunken-sharks)) - "sunken-sharks" - ) - (((game-task sunken-room)) - "sunken-room" - ) - (((game-task sunken-slide)) - "sunken-slide" - ) - (((game-task sunken-pipe)) - "sunken-pipe" - ) - (((game-task sunken-platforms)) - "sunken-platforms" - ) - (((game-task swamp-buzzer)) - "swamp-buzzer" - ) - (((game-task swamp-tether-4)) - "swamp-tether-4" - ) - (((game-task swamp-tether-3)) - "swamp-tether-3" - ) - (((game-task swamp-tether-2)) - "swamp-tether-2" - ) - (((game-task swamp-tether-1)) - "swamp-tether-1" - ) - (((game-task swamp-battle)) - "swamp-battle" - ) - (((game-task swamp-flutflut)) - "swamp-flutflut" - ) - (((game-task swamp-billy)) - "swamp-billy" - ) - (((game-task village2-oracle-money2)) - "village2-oracle-money2" - ) - (((game-task village2-oracle-money1)) - "village2-oracle-money1" - ) - (((game-task village2-warrior-money)) - "village2-warrior-money" - ) - (((game-task village2-geologist-money)) - "village2-geologist-money" - ) - (((game-task village2-gambler-money)) - "village2-gambler-money" - ) - (((game-task misty-eco-challenge)) - "misty-eco-challenge" - ) - (((game-task misty-bike-jump)) - "misty-bike-jump" - ) - (((game-task misty-buzzer)) - "misty-buzzer" - ) - (((game-task misty-bike)) - "misty-bike" - ) - (((game-task misty-cannon)) - "misty-cannon" - ) - (((game-task misty-warehouse)) - "misty-warehouse" - ) - (((game-task misty-boat)) - "misty-boat" - ) - (((game-task misty-muse)) - "misty-muse" - ) - (((game-task beach-sentinel)) - "beach-sentinel" - ) - (((game-task beach-gimmie)) - "beach-gimmie" - ) - (((game-task beach-buzzer)) - "beach-buzzer" - ) - (((game-task beach-cannon)) - "beach-cannon" - ) - (((game-task beach-seagull)) - "beach-seagull" - ) - (((game-task beach-flutflut)) - "beach-flutflut" - ) - (((game-task beach-pelican)) - "beach-pelican" - ) - (((game-task beach-ecorocks)) - "beach-ecorocks" - ) - (((game-task village1-oracle-money2)) - "village1-oracle-money2" - ) - (((game-task village1-oracle-money1)) - "village1-oracle-money1" - ) - (((game-task village1-uncle-money)) - "village1-uncle-money" - ) - (((game-task village1-mayor-money)) - "village1-mayor-money" - ) - (((game-task village1-yakow)) - "village1-yakow" - ) - (((game-task jungle-temple-door)) - "jungle-temple-door" - ) - (((game-task jungle-canyon-end)) - "jungle-canyon-end" - ) - (((game-task jungle-buzzer)) - "jungle-buzzer" - ) - (((game-task jungle-plant)) - "jungle-plant" - ) - (((game-task jungle-fishgame)) - "jungle-fishgame" - ) - (((game-task jungle-tower)) - "jungle-tower" - ) - (((game-task jungle-lurkerm)) - "jungle-lurkerm" - ) - (((game-task jungle-eggtop)) - "jungle-eggtop" - ) - (((game-task complete)) - "complete" - ) - (((game-task none)) - "none" - ) - (else - "*unknown*" - ) - ) ) ;; definition for method 16 of type game-info (defmethod debug-print game-info ((obj game-info) (arg0 symbol)) (inspect obj) (when (or (not arg0) (= arg0 'game-task)) - (format #t "~Tgame-task:~%") - (dotimes (s4-0 116) - (if (task-complete? obj (the-as game-task s4-0)) - (format #t "~T~T~S~%" (game-task->string (the-as game-task s4-0))) - ) + (format #t "~Tgame-task:~%") + (dotimes (s4-0 116) + (if (task-complete? obj (the-as game-task s4-0)) + (format #t "~T~T~S~%" (game-task->string (the-as game-task s4-0))) + ) + ) ) - ) (when (or (not arg0) (= arg0 'entity-perm)) - (format #t "~Tentity-perm:~%") - (let ((s5-1 (-> obj perm-list))) - (dotimes (s4-1 (-> s5-1 length)) - (format #t "~T~T~`entity-perm`P~%" (-> s5-1 data s4-1)) - ) + (format #t "~Tentity-perm:~%") + (let ((s5-1 (-> obj perm-list))) + (dotimes (s4-1 (-> s5-1 length)) + (format #t "~T~T~`entity-perm`P~%" (-> s5-1 data s4-1)) + ) + ) ) - ) obj ) ;; failed to figure out what this is: (let ((gp-0 *game-info*)) (when (zero? (-> gp-0 perm-list)) - (set! (-> gp-0 perm-list) (new 'global 'entity-perm-array 4096)) - (set! (-> gp-0 perm-list length) 0) - 0 - ) - (when (zero? (-> gp-0 task-perm-list)) - (let ((v1-15 (new 'global 'entity-perm-array 116))) - (set! (-> gp-0 task-perm-list) v1-15) - (dotimes (a0-24 (-> v1-15 length)) - (set! (-> v1-15 data a0-24 task) (the-as game-task a0-24)) - ) - (logior! (-> v1-15 data 1 status) (entity-perm-status real-complete)) + (set! (-> gp-0 perm-list) (new 'global 'entity-perm-array 4096)) + (set! (-> gp-0 perm-list length) 0) + 0 + ) + (when (zero? (-> gp-0 task-perm-list)) + (let ((v1-15 (new 'global 'entity-perm-array 116))) + (set! (-> gp-0 task-perm-list) v1-15) + (dotimes (a0-24 (-> v1-15 length)) + (set! (-> v1-15 data a0-24 task) (the-as game-task a0-24)) + ) + (logior! (-> v1-15 data 1 status) (entity-perm-status real-complete)) + ) ) - ) (if (zero? (-> gp-0 text-ids-seen)) - (set! (-> gp-0 text-ids-seen) (new 'global 'bit-array 4095)) - ) + (set! (-> gp-0 text-ids-seen) (new 'global 'bit-array 4095)) + ) (when (zero? (-> gp-0 death-pos)) - (set! (-> gp-0 death-pos) (new 'global 'vector-array 64)) - (set! (-> gp-0 death-pos length) 0) - 0 - ) + (set! (-> gp-0 death-pos) (new 'global 'vector-array 64)) + (set! (-> gp-0 death-pos length) 0) + 0 + ) (if (zero? (-> gp-0 display-text-handle)) - (set! (-> gp-0 display-text-handle) (the-as handle #f)) - ) + (set! (-> gp-0 display-text-handle) (the-as handle #f)) + ) (if (not (-> gp-0 current-continue)) - (set-continue! gp-0 *default-continue*) - ) + (set-continue! gp-0 *default-continue*) + ) (set! (-> gp-0 want-auto-save) #f) (set! (-> gp-0 auto-save-proc) (the-as handle #f)) (set! (-> gp-0 auto-save-status) (mc-status-code ok)) @@ -1582,35 +1223,19 @@ ;; definition for method 27 of type game-info (defmethod get-death-count game-info ((obj game-info) (arg0 symbol)) - (let - ((v1-13 - (if - (and - arg0 - *target* - (>= - (-> *level-task-data-remap* length) - (-> *target* current-level info index) + (let ((v1-13 + (if (and arg0 *target* (>= (-> *level-task-data-remap* length) (-> *target* current-level info index))) + (the-as + int + (-> obj deaths-per-level (-> *level-task-data-remap* (+ (-> *target* current-level info index) -1))) + ) + (-> obj fuel-cell-deaths) + ) + ) ) - ) - (the-as - int - (-> - obj - deaths-per-level - (-> - *level-task-data-remap* - (+ (-> *target* current-level info index) -1) - ) - ) - ) - (-> obj fuel-cell-deaths) - ) - ) + 0 + (min 4 (/ v1-13 5)) ) - 0 - (min 4 (/ v1-13 5)) - ) ) ;; definition for method 28 of type game-info diff --git a/test/decompiler/reference/engine/game/game-save_REF.gc b/test/decompiler/reference/engine/game/game-save_REF.gc index da4318ae83..9ffd771de4 100644 --- a/test/decompiler/reference/engine/game/game-save_REF.gc +++ b/test/decompiler/reference/engine/game/game-save_REF.gc @@ -110,165 +110,157 @@ ;; definition for method 0 of type game-save (defmethod new game-save ((allocation symbol) (type-to-make type) (arg0 int)) - (let - ((v0-0 - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) arg0)) - ) - ) + (let ((v0-0 (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) arg0))))) + (set! (-> v0-0 version) 1) + (set! (-> v0-0 allocated-length) arg0) + v0-0 ) - (set! (-> v0-0 version) 1) - (set! (-> v0-0 allocated-length) arg0) - v0-0 - ) ) ;; definition (debug) for function game-save-elt->string (defun-debug game-save-elt->string ((arg0 game-save-elt)) - (case arg0 - (((game-save-elt aspect-ratio)) + (case arg0 + (((game-save-elt aspect-ratio)) "aspect-ratio" ) - (((game-save-elt video-mode)) - "video-mode" + (((game-save-elt video-mode)) + "video-mode" + ) + (((game-save-elt play-hints)) + "play-hints" + ) + (((game-save-elt vibration)) + "vibration" + ) + (((game-save-elt screeny)) + "screeny" + ) + (((game-save-elt screenx)) + "screenx" + ) + (((game-save-elt language)) + "language" + ) + (((game-save-elt dialog-volume)) + "dialog-volume" + ) + (((game-save-elt music-volume)) + "music-volume" + ) + (((game-save-elt sfx-volume)) + "sfx-volume" + ) + (((game-save-elt in-level-time)) + "in-level-time" + ) + (((game-save-elt auto-save-count)) + "auto-save-count" + ) + (((game-save-elt death-pos)) + "death-pos" + ) + (((game-save-elt deaths-per-level)) + "deaths-per-level" + ) + (((game-save-elt enter-level-time)) + "enter-level-time" + ) + (((game-save-elt fuel-cell-time)) + "fuel-cell-time" + ) + (((game-save-elt continue-time)) + "continue-time" + ) + (((game-save-elt fuel-cell-pickup-time)) + "fuel-cell-pickup-time" + ) + (((game-save-elt hit-time)) + "hit-time" + ) + (((game-save-elt death-time)) + "death-time" + ) + (((game-save-elt continue-timke)) + "continue-timke" + ) + (((game-save-elt game-start-time)) + "game-start-time" + ) + (((game-save-elt fuel-cell-deaths)) + "fuel-cell-deaths" + ) + (((game-save-elt continue-deaths)) + "continue-deaths" + ) + (((game-save-elt total-deaths)) + "total-deaths" + ) + (((game-save-elt level-open-list)) + "level-open-list" + ) + (((game-save-elt text-list)) + "text-list" + ) + (((game-save-elt hint-list)) + "hint-list" + ) + (((game-save-elt perm-list)) + "perm-list" + ) + (((game-save-elt task-list)) + "task-list" + ) + (((game-save-elt death-movie-tick)) + "death-movie-tick" + ) + (((game-save-elt fuel-cell)) + "fuel-cell" + ) + (((game-save-elt buzzer-total)) + "buzzer-total" + ) + (((game-save-elt moeny-per-level)) + "money-per-level" + ) + (((game-save-elt money-total)) + "money-total" + ) + (((game-save-elt money)) + "money" + ) + (((game-save-elt life)) + "life" + ) + (((game-save-elt continue)) + "continue" + ) + (((game-save-elt integral-time)) + "integral-time" + ) + (((game-save-elt game-time)) + "game-time" + ) + (((game-save-elt real-time)) + "real-time" + ) + (((game-save-elt base-time)) + "base-time" + ) + (((game-save-elt name)) + "name" + ) + (else + "*unknown*" + ) ) - (((game-save-elt play-hints)) - "play-hints" - ) - (((game-save-elt vibration)) - "vibration" - ) - (((game-save-elt screeny)) - "screeny" - ) - (((game-save-elt screenx)) - "screenx" - ) - (((game-save-elt language)) - "language" - ) - (((game-save-elt dialog-volume)) - "dialog-volume" - ) - (((game-save-elt music-volume)) - "music-volume" - ) - (((game-save-elt sfx-volume)) - "sfx-volume" - ) - (((game-save-elt in-level-time)) - "in-level-time" - ) - (((game-save-elt auto-save-count)) - "auto-save-count" - ) - (((game-save-elt death-pos)) - "death-pos" - ) - (((game-save-elt deaths-per-level)) - "deaths-per-level" - ) - (((game-save-elt enter-level-time)) - "enter-level-time" - ) - (((game-save-elt fuel-cell-time)) - "fuel-cell-time" - ) - (((game-save-elt continue-time)) - "continue-time" - ) - (((game-save-elt fuel-cell-pickup-time)) - "fuel-cell-pickup-time" - ) - (((game-save-elt hit-time)) - "hit-time" - ) - (((game-save-elt death-time)) - "death-time" - ) - (((game-save-elt continue-timke)) - "continue-timke" - ) - (((game-save-elt game-start-time)) - "game-start-time" - ) - (((game-save-elt fuel-cell-deaths)) - "fuel-cell-deaths" - ) - (((game-save-elt continue-deaths)) - "continue-deaths" - ) - (((game-save-elt total-deaths)) - "total-deaths" - ) - (((game-save-elt level-open-list)) - "level-open-list" - ) - (((game-save-elt text-list)) - "text-list" - ) - (((game-save-elt hint-list)) - "hint-list" - ) - (((game-save-elt perm-list)) - "perm-list" - ) - (((game-save-elt task-list)) - "task-list" - ) - (((game-save-elt death-movie-tick)) - "death-movie-tick" - ) - (((game-save-elt fuel-cell)) - "fuel-cell" - ) - (((game-save-elt buzzer-total)) - "buzzer-total" - ) - (((game-save-elt moeny-per-level)) - "money-per-level" - ) - (((game-save-elt money-total)) - "money-total" - ) - (((game-save-elt money)) - "money" - ) - (((game-save-elt life)) - "life" - ) - (((game-save-elt continue)) - "continue" - ) - (((game-save-elt integral-time)) - "integral-time" - ) - (((game-save-elt game-time)) - "game-time" - ) - (((game-save-elt real-time)) - "real-time" - ) - (((game-save-elt base-time)) - "base-time" - ) - (((game-save-elt name)) - "name" - ) - (else - "*unknown*" - ) - ) ) ;; definition for function progress-level-index->string (defun progress-level-index->string ((arg0 int)) (if (< arg0 (-> *level-task-data* length)) - (lookup-text! *common-text* (-> *level-task-data* arg0 level-name-id) #f) - (the-as string #f) - ) + (lookup-text! *common-text* (-> *level-task-data* arg0 level-name-id) #f) + (the-as string #f) + ) ) ;; definition for method 11 of type game-save @@ -285,136 +277,108 @@ (format #t "~Tbuzzer-count: ~f~%" (-> obj buzzer-count)) (format #t "~Tcompletion-percentage: ~f~%" (-> obj completion-percentage)) (format - #t - "~Tsave-time: ~x:~x ~x/~x/~x~%" - (-> obj hour) - (-> obj minute) - (-> obj day) - (-> obj month) - (-> obj year) - ) + #t + "~Tsave-time: ~x:~x ~x/~x/~x~%" + (-> obj hour) + (-> obj minute) + (-> obj day) + (-> obj month) + (-> obj year) + ) (format #t "~Ttag[]: @ #x~X~%" (-> obj tag)) (let ((tag (the-as game-save-tag (-> obj tag))) (tag-idx 0) ) - (while - (< (the-as int tag) (the-as int (&-> obj tag 0 user-int8 (-> obj length)))) - (let ((s2-0 format) - (s1-0 #t) - (s0-0 "~T [~3D] ~-32S [~3D/~3D] ~12D ~8f ") - ) - (set! sv-16 tag-idx) - (let ((a3-2 (game-save-elt->string (-> tag elt-type))) - (t0-1 (-> tag elt-count)) - (t1-1 (-> tag elt-size)) - (t2-1 (-> tag user-uint64)) - (t3-0 (-> tag user-float0)) - ) - (s2-0 s1-0 s0-0 sv-16 a3-2 t0-1 t1-1 t2-1 t3-0) - ) - ) - (let ((v1-0 (-> tag elt-type))) - (if (or (= v1-0 (game-save-elt name)) (= v1-0 (game-save-elt continue))) - (format #t "= \"~G\"~%" (&+ (the-as pointer tag) 16)) - (format #t "~%") - ) - ) - (when detail - (case (-> tag elt-type) - (((game-save-elt moeny-per-level) (game-save-elt deaths-per-level)) - (dotimes (prog-lev-idx (-> tag elt-count)) - (let ((lev-name (progress-level-index->string prog-lev-idx))) - (if lev-name - (format - #t - " ~-32S: ~D~%" - lev-name - (-> - (the-as - (pointer uint8) - (&+ - (the-as pointer (&-> (the-as (pointer uint8) tag) 16)) - prog-lev-idx - ) + (while (< (the-as int tag) (the-as int (&-> obj tag 0 user-int8 (-> obj length)))) + (let ((s2-0 format) + (s1-0 #t) + (s0-0 "~T [~3D] ~-32S [~3D/~3D] ~12D ~8f ") + ) + (set! sv-16 tag-idx) + (let ((a3-2 (game-save-elt->string (-> tag elt-type))) + (t0-1 (-> tag elt-count)) + (t1-1 (-> tag elt-size)) + (t2-1 (-> tag user-uint64)) + (t3-0 (-> tag user-float0)) ) - ) + (s2-0 s1-0 s0-0 sv-16 a3-2 t0-1 t1-1 t2-1 t3-0) + ) + ) + (let ((v1-0 (-> tag elt-type))) + (if (or (= v1-0 (game-save-elt name)) (= v1-0 (game-save-elt continue))) + (format #t "= \"~G\"~%" (&+ (the-as pointer tag) 16)) + (format #t "~%") ) + ) + (when detail + (case (-> tag elt-type) + (((game-save-elt moeny-per-level) (game-save-elt deaths-per-level)) + (dotimes (prog-lev-idx (-> tag elt-count)) + (let ((lev-name (progress-level-index->string prog-lev-idx))) + (if lev-name + (format + #t + " ~-32S: ~D~%" + lev-name + (-> (the-as (pointer uint8) (&+ (the-as pointer (&-> (the-as (pointer uint8) tag) 16)) prog-lev-idx))) + ) + ) + ) + ) + ) + (((game-save-elt enter-level-time)) + (dotimes (s2-2 (-> tag elt-count)) + (let ((a2-14 (progress-level-index->string s2-2))) + (if a2-14 + (format + #t + " ~-32S: ~D~%" + a2-14 + (-> (the-as (pointer uint64) (&+ (&+ (the-as pointer tag) 16) (* s2-2 8)))) + ) + ) + ) + ) + ) + (((game-save-elt in-level-time)) + (dotimes (s2-3 (-> tag elt-count)) + (let ((a2-15 (progress-level-index->string s2-3))) + (if a2-15 + (format + #t + " ~-32S: ~D~%" + a2-15 + (-> (the-as (pointer uint64) (&+ (&+ (the-as pointer tag) 16) (* s2-3 8)))) + ) + ) + ) + ) + ) + (((game-save-elt fuel-cell-time)) + (dotimes (s2-4 (-> tag elt-count)) + (let ((a2-16 (game-task->string (the-as game-task s2-4)))) + (if a2-16 + (format + #t + " ~-32S: ~D~%" + a2-16 + (-> (the-as (pointer uint64) (&+ (&+ (the-as pointer tag) 16) (* s2-4 8)))) + ) + ) + ) + ) ) ) - ) ) - (((game-save-elt enter-level-time)) - (dotimes (s2-2 (-> tag elt-count)) - (let ((a2-14 (progress-level-index->string s2-2))) - (if a2-14 - (format - #t - " ~-32S: ~D~%" - a2-14 - (-> + (set! tag (the-as - (pointer uint64) - (&+ (&+ (the-as pointer tag) 16) (* s2-2 8)) - ) + game-save-tag + (&+ (the-as pointer tag) (logand -16 (+ (* (the-as int (-> tag elt-size)) (-> tag elt-count)) 31))) + ) ) - ) - ) - ) - ) - ) - (((game-save-elt in-level-time)) - (dotimes (s2-3 (-> tag elt-count)) - (let ((a2-15 (progress-level-index->string s2-3))) - (if a2-15 - (format - #t - " ~-32S: ~D~%" - a2-15 - (-> - (the-as - (pointer uint64) - (&+ (&+ (the-as pointer tag) 16) (* s2-3 8)) - ) - ) - ) - ) - ) - ) - ) - (((game-save-elt fuel-cell-time)) - (dotimes (s2-4 (-> tag elt-count)) - (let ((a2-16 (game-task->string (the-as game-task s2-4)))) - (if a2-16 - (format - #t - " ~-32S: ~D~%" - a2-16 - (-> - (the-as - (pointer uint64) - (&+ (&+ (the-as pointer tag) 16) (* s2-4 8)) - ) - ) - ) - ) - ) - ) - ) + (+! tag-idx 1) ) - ) - (set! - tag - (the-as - game-save-tag - (&+ - (the-as pointer tag) - (logand -16 (+ (* (the-as int (-> tag elt-size)) (-> tag elt-count)) 31)) - ) - ) - ) - (+! tag-idx 1) ) - ) obj ) @@ -428,1348 +392,719 @@ ;; INFO: Return type mismatch game-save vs none. (defmethod save-game! game-info ((obj game-info) (arg0 game-save) (arg1 string)) (dotimes (s3-0 (-> *level* length)) - (let ((a1-1 (-> *level* level s3-0))) - (if (= (-> a1-1 status) 'active) - (copy-perms-from-level! obj a1-1) - ) + (let ((a1-1 (-> *level* level s3-0))) + (if (= (-> a1-1 status) 'active) + (copy-perms-from-level! obj a1-1) + ) + ) ) - ) (set! (-> arg0 length) 0) (set! (-> arg0 version) 1) - (set! - (-> arg0 level-index) - (-> (lookup-level-info (-> obj current-continue level)) index) - ) + (set! (-> arg0 level-index) (-> (lookup-level-info (-> obj current-continue level)) index)) (set! (-> arg0 fuel-cell-count) (-> obj fuel)) (set! (-> arg0 money-count) (-> obj money-total)) (set! (-> arg0 buzzer-count) (-> obj buzzer-total)) - (set! - (-> arg0 completion-percentage) - (calculate-completion (the-as progress #f)) - ) + (set! (-> arg0 completion-percentage) (calculate-completion (the-as progress #f))) (when (string= (-> obj current-continue name) "title-start") - (set! (-> arg0 new-game) 1) - (set! (-> arg0 level-index) (-> (lookup-level-info 'training) index)) - (set! (-> arg0 fuel-cell-count) 0.0) - (set! (-> arg0 money-count) 0.0) - (set! (-> arg0 buzzer-count) 0.0) - (set! (-> arg0 completion-percentage) 0.0) - ) + (set! (-> arg0 new-game) 1) + (set! (-> arg0 level-index) (-> (lookup-level-info 'training) index)) + (set! (-> arg0 fuel-cell-count) 0.0) + (set! (-> arg0 money-count) 0.0) + (set! (-> arg0 buzzer-count) 0.0) + (set! (-> arg0 completion-percentage) 0.0) + ) (let ((s3-1 (new 'stack 'scf-time))) - (scf-get-time s3-1) - (when (zero? (-> s3-1 stat)) - (set! (-> arg0 minute) (-> s3-1 minute)) - (set! (-> arg0 hour) (-> s3-1 hour)) - (set! (-> arg0 day) (-> s3-1 day)) - (set! (-> arg0 week) (-> s3-1 week)) - (set! (-> arg0 month) (-> s3-1 month)) - (set! (-> arg0 year) (-> s3-1 year)) + (scf-get-time s3-1) + (when (zero? (-> s3-1 stat)) + (set! (-> arg0 minute) (-> s3-1 minute)) + (set! (-> arg0 hour) (-> s3-1 hour)) + (set! (-> arg0 day) (-> s3-1 day)) + (set! (-> arg0 week) (-> s3-1 week)) + (set! (-> arg0 month) (-> s3-1 month)) + (set! (-> arg0 year) (-> s3-1 year)) + ) ) - ) (let ((s3-2 (the-as object (-> arg0 tag)))) - (let ((s2-0 (-> (the-as (inline-array game-save-tag) s3-2) 0))) - (set! (-> s2-0 elt-type) (game-save-elt name)) - (set! (-> s2-0 elt-count) (+ (length arg1) 1)) - (set! (-> s2-0 elt-size) (the-as uint 1)) - ) - (copy-charp<-charp - (the-as (pointer uint8) (-> (the-as (inline-array game-save-tag) s3-2) 1)) - (-> arg1 data) - ) - (let - ((v1-37 - (&+ - (the-as pointer s3-2) - (+ - (logand - -16 - (+ (-> (the-as (inline-array game-save-tag) s3-2) 0 elt-count) 15) - ) - 16 - ) - ) + (let ((s2-0 (-> (the-as (inline-array game-save-tag) s3-2) 0))) + (set! (-> s2-0 elt-type) (game-save-elt name)) + (set! (-> s2-0 elt-count) (+ (length arg1) 1)) + (set! (-> s2-0 elt-size) (the-as uint 1)) ) - ) - (let ((a0-15 (the-as game-save-tag (&+ v1-37 0)))) - (set! (-> a0-15 elt-type) (game-save-elt base-time)) - (set! (-> a0-15 elt-count) 0) - (set! - (-> a0-15 user-uint64) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - (let ((v1-38 (&+ v1-37 16))) - (let ((a0-16 (the-as game-save-tag (&+ v1-38 0)))) - (set! (-> a0-16 elt-type) (game-save-elt real-time)) - (set! (-> a0-16 elt-count) 0) - (set! - (-> a0-16 user-uint64) - (the-as uint (-> *display* real-frame-counter)) - ) - ) - (let ((v1-39 (&+ v1-38 16))) - (let ((a0-17 (the-as game-save-tag (&+ v1-39 0)))) - (set! (-> a0-17 elt-type) (game-save-elt game-time)) - (set! (-> a0-17 elt-count) 0) - (set! - (-> a0-17 user-uint64) - (the-as uint (-> *display* game-frame-counter)) - ) - ) - (let ((v1-40 (&+ v1-39 16))) - (let ((a0-18 (the-as game-save-tag (&+ v1-40 0)))) - (set! (-> a0-18 elt-type) (game-save-elt integral-time)) - (set! (-> a0-18 elt-count) 0) - (set! - (-> a0-18 user-uint64) - (the-as uint (-> *display* integral-frame-counter)) - ) - ) - (let ((s4-1 (the-as object (&+ v1-40 16)))) - (let ((s3-3 (-> obj current-continue name))) - (let - ((s2-1 - (the-as game-save-tag (-> (the-as game-save-tag s4-1) user-object)) - ) - ) - (set! (-> s2-1 elt-type) (game-save-elt continue)) - (set! (-> s2-1 elt-count) (+ ((method-of-type string length) s3-3) 1)) - (set! (-> s2-1 elt-size) (the-as uint 1)) - ) - (copy-charp<-charp - (the-as - (pointer uint8) - (the-as game-save-tag (&+ (the-as game-save-tag s4-1) 16)) - ) - (-> s3-3 data) - ) - ) - (let - ((v1-50 - (&+ - (the-as pointer s4-1) - (+ - (logand -16 (+ (-> (the-as game-save-tag s4-1) elt-count) 15)) - 16 - ) - ) - ) - ) - (let ((a0-24 (the-as game-save-tag (&+ v1-50 0)))) - (set! (-> a0-24 elt-type) (game-save-elt life)) - (set! (-> a0-24 elt-count) 0) - (set! (-> a0-24 user-float0) (-> obj life)) - ) - (let ((v1-51 (&+ v1-50 16))) - (let ((a0-25 (the-as game-save-tag (&+ v1-51 0)))) - (set! (-> a0-25 elt-type) (game-save-elt buzzer-total)) - (set! (-> a0-25 elt-count) 0) - (set! (-> a0-25 user-float0) (-> obj buzzer-total)) - ) - (let ((v1-52 (&+ v1-51 16))) - (let ((a0-26 (the-as game-save-tag (&+ v1-52 0)))) - (set! (-> a0-26 elt-type) (game-save-elt fuel-cell)) - (set! (-> a0-26 elt-count) 0) - (set! (-> a0-26 user-float0) (-> obj fuel)) - ) - (let ((v1-53 (&+ v1-52 16))) - (let ((a0-27 (the-as game-save-tag (&+ v1-53 0)))) - (set! (-> a0-27 elt-type) (game-save-elt death-movie-tick)) - (set! (-> a0-27 elt-count) 0) - (set! - (-> a0-27 user-uint64) - (the-as uint (-> obj death-movie-tick)) - ) - ) - (let ((v1-54 (&+ v1-53 16))) - (let ((a0-28 (the-as game-save-tag (&+ v1-54 0)))) - (set! (-> a0-28 elt-type) (game-save-elt money)) - (set! (-> a0-28 elt-count) 0) - (set! (-> a0-28 user-float0) (-> obj money)) - ) - (let ((v1-55 (&+ v1-54 16))) - (let ((a0-29 (the-as game-save-tag (&+ v1-55 0)))) - (set! (-> a0-29 elt-type) (game-save-elt money-total)) - (set! (-> a0-29 elt-count) 0) - (set! (-> a0-29 user-float0) (-> obj money-total)) - ) - (let ((v1-56 (&+ v1-55 16))) - (let ((a0-30 (the-as game-save-tag (&+ v1-56 0)))) - (set! (-> a0-30 elt-type) (game-save-elt moeny-per-level)) - (set! (-> a0-30 elt-count) 32) - (set! (-> a0-30 elt-size) (the-as uint 1)) - ) - (let ((v1-57 (&+ v1-56 16))) - (dotimes (a0-31 32) - (set! - (-> (the-as (pointer uint8) (&+ v1-57 a0-31))) - (-> obj money-per-level a0-31) - ) + (copy-charp<-charp (the-as (pointer uint8) (-> (the-as (inline-array game-save-tag) s3-2) 1)) (-> arg1 data)) + (let ((v1-37 (&+ + (the-as pointer s3-2) + (+ (logand -16 (+ (-> (the-as (inline-array game-save-tag) s3-2) 0 elt-count) 15)) 16) + ) ) - (let ((v1-58 (&+ v1-57 32))) - (let ((a0-34 (the-as object (&+ v1-58 0)))) - (set! - (-> (the-as game-save-tag a0-34) elt-type) - (game-save-elt level-open-list) - ) - (set! (-> (the-as game-save-tag a0-34) elt-count) 32) - (set! - (-> (the-as game-save-tag a0-34) elt-size) - (the-as uint 1) - ) - ) - (let ((v1-59 (&+ v1-58 16))) - (dotimes (a0-35 32) - (set! - (-> (the-as (pointer uint8) (&+ v1-59 a0-35))) - (-> obj level-opened a0-35) - ) - ) - (let ((v1-60 (&+ v1-59 32)) - (s4-2 - (-> (the-as (pointer int32) (-> obj perm-list)) 0) - ) - ) - (let ((a0-39 (the-as game-save-tag (&+ v1-60 0)))) - (set! (-> a0-39 elt-type) (game-save-elt perm-list)) - (set! (-> a0-39 elt-count) s4-2) - (set! (-> a0-39 elt-size) (the-as uint 16)) - ) - (let ((s3-4 (&+ v1-60 16))) - (dotimes (s2-2 s4-2) - (mem-copy! - (the-as - pointer - (the-as game-save-tag (&+ s3-4 (* s2-2 16))) - ) - (the-as pointer (-> obj perm-list data s2-2)) - 16 - ) - ) - (let ((v1-68 (&+ s3-4 (logand -16 (+ (* s4-2 16) 15)))) - (s4-3 (-> obj task-perm-list length)) - ) - (let ((a0-45 (the-as game-save-tag (&+ v1-68 0)))) - (set! (-> a0-45 elt-type) (game-save-elt task-list)) - (set! (-> a0-45 elt-count) s4-3) - (set! (-> a0-45 elt-size) (the-as uint 16)) - ) - (let ((s3-5 (&+ v1-68 16))) - (dotimes (s2-3 s4-3) - (mem-copy! - (the-as - pointer - (the-as game-save-tag (&+ s3-5 (* s2-3 16))) - ) - (the-as pointer (-> obj task-perm-list data s2-3)) - 16 - ) - ) - (let ((a0-49 (&+ s3-5 (logand -16 (+ (* s4-3 16) 15)))) - (v1-79 - (/ - (logand - -8 - (+ (-> obj text-ids-seen allocated-length) 7) - ) - 8 - ) - ) - ) - (let ((a1-46 (the-as object (&+ a0-49 0)))) - (set! - (-> (the-as game-save-tag a1-46) elt-type) - (game-save-elt text-list) - ) - (set! (-> (the-as game-save-tag a1-46) elt-count) v1-79) - (set! - (-> (the-as game-save-tag a1-46) elt-size) - (the-as uint 1) - ) - ) - (let ((a0-50 (&+ a0-49 16))) - (dotimes (a1-47 v1-79) - (set! - (-> (the-as (pointer uint8) (&+ a0-50 a1-47))) - (-> obj text-ids-seen bytes a1-47) - ) - ) - (let ((a0-51 (&+ a0-50 (logand -16 (+ v1-79 15)))) - (v1-84 (-> obj hint-control length)) - ) - (let ((a1-51 (the-as game-save-tag (&+ a0-51 0)))) - (set! (-> a1-51 elt-type) (game-save-elt hint-list)) - (set! (-> a1-51 elt-count) v1-84) - (set! (-> a1-51 elt-size) (the-as uint 32)) - ) - (let ((a0-52 (&+ a0-51 16))) - (dotimes (a1-52 v1-84) - (set! - (-> - (the-as - (pointer int64) - (&+ a0-52 (* (* a1-52 4) 8)) - ) - ) - (-> obj hint-control a1-52 start-time) - ) - (set! - (-> - (the-as - (pointer int64) - (&+ a0-52 (* (+ (* a1-52 4) 1) 8)) - ) - ) - (-> obj hint-control a1-52 last-time-called) - ) - (set! - (-> - (the-as - (pointer int8) - (&+ a0-52 (+ (* a1-52 32) 16)) - ) - ) - (-> obj hint-control a1-52 num-attempts) - ) - (set! - (-> - (the-as - (pointer int8) - (&+ a0-52 (+ (* a1-52 32) 17)) - ) - ) - (-> obj hint-control a1-52 num-success) - ) - ) - (let ((v1-86 (&+ a0-52 (* v1-84 32)))) - (let ((a0-54 (the-as game-save-tag (&+ v1-86 0)))) - (set! - (-> a0-54 elt-type) - (game-save-elt auto-save-count) - ) - (set! (-> a0-54 elt-count) 0) - (set! - (-> a0-54 user-uint64) - (the-as uint (-> obj auto-save-count)) - ) - ) - (let ((v1-87 (&+ v1-86 16))) - (let ((a0-55 (the-as game-save-tag (&+ v1-87 0)))) - (set! - (-> a0-55 elt-type) - (game-save-elt total-deaths) - ) - (set! (-> a0-55 elt-count) 0) - (set! - (-> a0-55 user-uint64) - (the-as uint (-> obj total-deaths)) - ) - ) - (let ((v1-88 (&+ v1-87 16))) - (let ((a0-56 (the-as game-save-tag (&+ v1-88 0)))) - (set! - (-> a0-56 elt-type) - (game-save-elt continue-deaths) - ) - (set! (-> a0-56 elt-count) 0) - (set! - (-> a0-56 user-uint64) - (the-as uint (-> obj continue-deaths)) - ) - ) - (let ((v1-89 (&+ v1-88 16))) - (let ((a0-57 (the-as game-save-tag (&+ v1-89 0)))) - (set! - (-> a0-57 elt-type) - (game-save-elt fuel-cell-deaths) - ) - (set! (-> a0-57 elt-count) 0) - (set! - (-> a0-57 user-uint64) - (the-as uint (-> obj fuel-cell-deaths)) - ) - ) - (let ((v1-90 (&+ v1-89 16))) - (let - ((a0-58 (the-as game-save-tag (&+ v1-90 0)))) - (set! - (-> a0-58 elt-type) - (game-save-elt game-start-time) - ) - (set! (-> a0-58 elt-count) 0) - (set! - (-> a0-58 user-uint64) - (the-as uint (-> obj game-start-time)) - ) - ) - (let ((v1-91 (&+ v1-90 16))) - (let - ((a0-59 (the-as game-save-tag (&+ v1-91 0)))) - (set! - (-> a0-59 elt-type) - (game-save-elt continue-time) - ) - (set! (-> a0-59 elt-count) 0) - (set! - (-> a0-59 user-uint64) - (the-as uint (-> obj continue-time)) - ) - ) - (let ((v1-92 (&+ v1-91 16))) - (let - ((a0-60 (the-as game-save-tag (&+ v1-92 0)))) - (set! - (-> a0-60 elt-type) - (game-save-elt death-time) - ) - (set! (-> a0-60 elt-count) 0) - (set! - (-> a0-60 user-uint64) - (the-as uint (-> obj death-time)) - ) - ) - (let ((v1-93 (&+ v1-92 16))) - (let - ((a0-61 (the-as game-save-tag (&+ v1-93 0)))) - (set! - (-> a0-61 elt-type) - (game-save-elt hit-time) - ) - (set! (-> a0-61 elt-count) 0) - (set! - (-> a0-61 user-uint64) - (the-as uint (-> obj hit-time)) - ) - ) - (let ((v1-94 (&+ v1-93 16))) - (let - ((a0-62 (the-as game-save-tag (&+ v1-94 0))) - ) - (set! - (-> a0-62 elt-type) - (game-save-elt fuel-cell-pickup-time) - ) - (set! (-> a0-62 elt-count) 0) - (set! - (-> a0-62 user-uint64) - (the-as - uint - (-> obj fuel-cell-pickup-time) - ) - ) - ) - (let ((v1-95 (&+ v1-94 16))) - (let - ((a0-63 - (the-as game-save-tag (&+ v1-95 0)) - ) - ) - (set! - (-> a0-63 elt-type) - (game-save-elt fuel-cell-time) - ) - (set! (-> a0-63 elt-count) 116) - (set! (-> a0-63 elt-size) (the-as uint 8)) - ) - (let ((v1-96 (&+ v1-95 16))) - (let ((a0-64 (the-as object 0))) - (while (< (the-as int a0-64) 116) - (set! - (-> - (the-as - (pointer int64) - (&+ v1-96 (* (the-as int a0-64) 8)) - ) - ) - (-> - obj - fuel-cell-time - (the-as int a0-64) - ) - ) - (set! a0-64 (+ (the-as int a0-64) 1)) - ) - ) - (let ((v1-97 (&+ v1-96 928))) - (let - ((a0-67 - (the-as game-save-tag (&+ v1-97 0)) - ) - ) - (set! - (-> a0-67 elt-type) - (game-save-elt deaths-per-level) - ) - (set! (-> a0-67 elt-count) 32) - (set! - (-> a0-67 elt-size) - (the-as uint 1) - ) - ) - (let ((v1-98 (&+ v1-97 16))) - (dotimes (a0-68 32) - (set! - (-> - (the-as - (pointer uint8) - (&+ v1-98 a0-68) - ) - ) - (-> obj deaths-per-level a0-68) - ) - ) - (let ((v1-99 (&+ v1-98 32))) - (let - ((a0-71 - (the-as game-save-tag (&+ v1-99 0)) - ) - ) - (set! - (-> a0-71 elt-type) - (game-save-elt enter-level-time) - ) - (set! (-> a0-71 elt-count) 32) - (set! - (-> a0-71 elt-size) - (the-as uint 8) - ) - ) - (let ((v1-100 (&+ v1-99 16))) - (dotimes (a0-72 32) - (set! - (-> - (the-as - (pointer int64) - (&+ v1-100 (* a0-72 8)) - ) - ) - (-> obj enter-level-time a0-72) - ) - ) - (let ((v1-101 (&+ v1-100 256))) - (let - ((a0-75 - (the-as - game-save-tag - (&+ v1-101 0) - ) - ) - ) - (set! - (-> a0-75 elt-type) - (game-save-elt in-level-time) - ) - (set! (-> a0-75 elt-count) 32) - (set! - (-> a0-75 elt-size) - (the-as uint 8) - ) - ) - (let ((v1-102 (&+ v1-101 16))) - (dotimes (a0-76 32) - (set! - (-> - (the-as - (pointer int64) - (&+ v1-102 (* a0-76 8)) - ) - ) - (-> obj in-level-time a0-76) - ) - ) - (let ((v1-103 (&+ v1-102 256))) - (let - ((a0-79 - (the-as - game-save-tag - (&+ v1-103 0) - ) - ) - ) - (set! - (-> a0-79 elt-type) - (game-save-elt sfx-volume) - ) - (set! (-> a0-79 elt-count) 0) - (set! - (-> a0-79 user-float0) - (-> - *setting-control* - default - sfx-volume - ) - ) - ) - (let ((v1-104 (&+ v1-103 16))) - (let - ((a0-80 - (the-as - game-save-tag - (&+ v1-104 0) - ) - ) - ) - (set! - (-> a0-80 elt-type) - (game-save-elt music-volume) - ) - (set! (-> a0-80 elt-count) 0) - (set! - (-> a0-80 user-float0) - (-> - *setting-control* - default - music-volume - ) - ) - ) - (let ((v1-105 (&+ v1-104 16))) - (let - ((a0-81 - (the-as - game-save-tag - (&+ v1-105 0) - ) - ) - ) - (set! - (-> a0-81 elt-type) - (game-save-elt dialog-volume) - ) - (set! (-> a0-81 elt-count) 0) - (set! - (-> a0-81 user-float0) - (-> - *setting-control* - default - dialog-volume - ) - ) - ) - (let ((v1-106 (&+ v1-105 16))) - (let - ((a0-82 - (the-as - game-save-tag - (&+ v1-106 0) - ) - ) - ) - (set! - (-> a0-82 elt-type) - (game-save-elt language) - ) - (set! (-> a0-82 elt-count) 0) - (set! - (-> a0-82 user-uint64) - (the-as - uint - (-> - *setting-control* - default - language - ) - ) - ) - ) - (let ((v1-107 (&+ v1-106 16))) - (let - ((a0-83 - (the-as - game-save-tag - (&+ v1-107 0) - ) - ) - ) - (set! - (-> a0-83 elt-type) - (game-save-elt screenx) - ) - (set! (-> a0-83 elt-count) 0) - (set! - (-> a0-83 user-float0) - (the - float - (-> - *setting-control* - default - screenx - ) - ) - ) - ) - (let ((v1-108 (&+ v1-107 16))) - (let - ((a0-84 - (the-as - game-save-tag - (&+ v1-108 0) - ) - ) - ) - (set! - (-> a0-84 elt-type) - (game-save-elt screeny) - ) - (set! (-> a0-84 elt-count) 0) - (set! - (-> a0-84 user-float0) - (the - float - (-> - *setting-control* - default - screeny - ) - ) - ) - ) - (let ((v1-109 (&+ v1-108 16))) - (let - ((a0-85 - (the-as - game-save-tag - (&+ v1-109 0) - ) - ) - ) - (set! - (-> a0-85 elt-type) - (game-save-elt vibration) - ) - (set! (-> a0-85 elt-count) 0) - (set! - (-> a0-85 user-uint64) - (the-as - uint - (if - (-> - *setting-control* - default - vibration - ) - 1 - 0 - ) - ) - ) - ) - (let ((v1-110 (&+ v1-109 16))) - (let - ((a0-86 - (the-as - game-save-tag - (&+ v1-110 0) - ) - ) - ) - (set! - (-> a0-86 elt-type) - (game-save-elt play-hints) - ) - (set! - (-> a0-86 elt-count) - 0 - ) - (set! - (-> a0-86 user-uint64) - (the-as - uint - (if - (-> - *setting-control* - default - play-hints - ) - 1 - 0 - ) - ) - ) - ) - (let - ((v1-111 (&+ v1-110 16))) - (let - ((a0-87 - (the-as - game-save-tag - (&+ v1-111 0) - ) - ) - ) - (set! - (-> a0-87 elt-type) - (game-save-elt video-mode) - ) - (set! - (-> a0-87 elt-count) - 0 - ) - (let - ((a1-121 - (-> - *setting-control* - default - video-mode - ) - ) - ) - (set! - (-> a0-87 user-uint64) - (the-as uint (cond - ((= - a1-121 - 'ntsc - ) - 1 - ) - ((= - a1-121 - 'pal - ) - 2 - ) - (else - 0 - ) - ) - ) - ) - ) - ) - (let - ((v1-112 (&+ v1-111 16))) - (let - ((a0-88 - (the-as - object - (&+ v1-112 0) - ) - ) - ) - (set! - (-> - (the-as - game-save-tag - a0-88 - ) - elt-type - ) - (game-save-elt - aspect-ratio - ) - ) - (set! - (-> - (the-as - game-save-tag - a0-88 - ) - elt-count - ) - 0 - ) - (let - ((a1-125 - (-> - *setting-control* - default - aspect-ratio - ) - ) - ) - (set! - (-> - (the-as - (pointer int64) - a0-88 - ) - ) - (cond - ((= a1-125 'aspect4x3) - 1 - ) - ((= a1-125 'aspect16x9) - 2 - ) - (else - 0 - ) - ) - ) - ) - ) - (set! - (-> arg0 length) - (&- - (&+ v1-112 16) - (the-as - uint - (the-as - pointer - (-> arg0 tag) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) ) - ) + (let ((a0-15 (the-as game-save-tag (&+ v1-37 0)))) + (set! (-> a0-15 elt-type) (game-save-elt base-time)) + (set! (-> a0-15 elt-count) 0) + (set! (-> a0-15 user-uint64) (the-as uint (-> *display* base-frame-counter))) + ) + (let ((v1-38 (&+ v1-37 16))) + (let ((a0-16 (the-as game-save-tag (&+ v1-38 0)))) + (set! (-> a0-16 elt-type) (game-save-elt real-time)) + (set! (-> a0-16 elt-count) 0) + (set! (-> a0-16 user-uint64) (the-as uint (-> *display* real-frame-counter))) + ) + (let ((v1-39 (&+ v1-38 16))) + (let ((a0-17 (the-as game-save-tag (&+ v1-39 0)))) + (set! (-> a0-17 elt-type) (game-save-elt game-time)) + (set! (-> a0-17 elt-count) 0) + (set! (-> a0-17 user-uint64) (the-as uint (-> *display* game-frame-counter))) + ) + (let ((v1-40 (&+ v1-39 16))) + (let ((a0-18 (the-as game-save-tag (&+ v1-40 0)))) + (set! (-> a0-18 elt-type) (game-save-elt integral-time)) + (set! (-> a0-18 elt-count) 0) + (set! (-> a0-18 user-uint64) (the-as uint (-> *display* integral-frame-counter))) + ) + (let ((s4-1 (the-as object (&+ v1-40 16)))) + (let ((s3-3 (-> obj current-continue name))) + (let ((s2-1 (the-as game-save-tag (-> (the-as game-save-tag s4-1) user-object)))) + (set! (-> s2-1 elt-type) (game-save-elt continue)) + (set! (-> s2-1 elt-count) (+ ((method-of-type string length) s3-3) 1)) + (set! (-> s2-1 elt-size) (the-as uint 1)) + ) + (copy-charp<-charp + (the-as (pointer uint8) (the-as game-save-tag (&+ (the-as game-save-tag s4-1) 16))) + (-> s3-3 data) + ) + ) + (let ((v1-50 (&+ (the-as pointer s4-1) (+ (logand -16 (+ (-> (the-as game-save-tag s4-1) elt-count) 15)) 16)))) + (let ((a0-24 (the-as game-save-tag (&+ v1-50 0)))) + (set! (-> a0-24 elt-type) (game-save-elt life)) + (set! (-> a0-24 elt-count) 0) + (set! (-> a0-24 user-float0) (-> obj life)) + ) + (let ((v1-51 (&+ v1-50 16))) + (let ((a0-25 (the-as game-save-tag (&+ v1-51 0)))) + (set! (-> a0-25 elt-type) (game-save-elt buzzer-total)) + (set! (-> a0-25 elt-count) 0) + (set! (-> a0-25 user-float0) (-> obj buzzer-total)) + ) + (let ((v1-52 (&+ v1-51 16))) + (let ((a0-26 (the-as game-save-tag (&+ v1-52 0)))) + (set! (-> a0-26 elt-type) (game-save-elt fuel-cell)) + (set! (-> a0-26 elt-count) 0) + (set! (-> a0-26 user-float0) (-> obj fuel)) + ) + (let ((v1-53 (&+ v1-52 16))) + (let ((a0-27 (the-as game-save-tag (&+ v1-53 0)))) + (set! (-> a0-27 elt-type) (game-save-elt death-movie-tick)) + (set! (-> a0-27 elt-count) 0) + (set! (-> a0-27 user-uint64) (the-as uint (-> obj death-movie-tick))) + ) + (let ((v1-54 (&+ v1-53 16))) + (let ((a0-28 (the-as game-save-tag (&+ v1-54 0)))) + (set! (-> a0-28 elt-type) (game-save-elt money)) + (set! (-> a0-28 elt-count) 0) + (set! (-> a0-28 user-float0) (-> obj money)) + ) + (let ((v1-55 (&+ v1-54 16))) + (let ((a0-29 (the-as game-save-tag (&+ v1-55 0)))) + (set! (-> a0-29 elt-type) (game-save-elt money-total)) + (set! (-> a0-29 elt-count) 0) + (set! (-> a0-29 user-float0) (-> obj money-total)) + ) + (let ((v1-56 (&+ v1-55 16))) + (let ((a0-30 (the-as game-save-tag (&+ v1-56 0)))) + (set! (-> a0-30 elt-type) (game-save-elt moeny-per-level)) + (set! (-> a0-30 elt-count) 32) + (set! (-> a0-30 elt-size) (the-as uint 1)) + ) + (let ((v1-57 (&+ v1-56 16))) + (dotimes (a0-31 32) + (set! (-> (the-as (pointer uint8) (&+ v1-57 a0-31))) (-> obj money-per-level a0-31)) + ) + (let ((v1-58 (&+ v1-57 32))) + (let ((a0-34 (the-as object (&+ v1-58 0)))) + (set! (-> (the-as game-save-tag a0-34) elt-type) (game-save-elt level-open-list)) + (set! (-> (the-as game-save-tag a0-34) elt-count) 32) + (set! (-> (the-as game-save-tag a0-34) elt-size) (the-as uint 1)) + ) + (let ((v1-59 (&+ v1-58 16))) + (dotimes (a0-35 32) + (set! (-> (the-as (pointer uint8) (&+ v1-59 a0-35))) (-> obj level-opened a0-35)) + ) + (let ((v1-60 (&+ v1-59 32)) + (s4-2 (-> (the-as (pointer int32) (-> obj perm-list)) 0)) + ) + (let ((a0-39 (the-as game-save-tag (&+ v1-60 0)))) + (set! (-> a0-39 elt-type) (game-save-elt perm-list)) + (set! (-> a0-39 elt-count) s4-2) + (set! (-> a0-39 elt-size) (the-as uint 16)) + ) + (let ((s3-4 (&+ v1-60 16))) + (dotimes (s2-2 s4-2) + (mem-copy! + (the-as pointer (the-as game-save-tag (&+ s3-4 (* s2-2 16)))) + (the-as pointer (-> obj perm-list data s2-2)) + 16 + ) + ) + (let ((v1-68 (&+ s3-4 (logand -16 (+ (* s4-2 16) 15)))) + (s4-3 (-> obj task-perm-list length)) + ) + (let ((a0-45 (the-as game-save-tag (&+ v1-68 0)))) + (set! (-> a0-45 elt-type) (game-save-elt task-list)) + (set! (-> a0-45 elt-count) s4-3) + (set! (-> a0-45 elt-size) (the-as uint 16)) + ) + (let ((s3-5 (&+ v1-68 16))) + (dotimes (s2-3 s4-3) + (mem-copy! + (the-as pointer (the-as game-save-tag (&+ s3-5 (* s2-3 16)))) + (the-as pointer (-> obj task-perm-list data s2-3)) + 16 + ) + ) + (let ((a0-49 (&+ s3-5 (logand -16 (+ (* s4-3 16) 15)))) + (v1-79 (/ (logand -8 (+ (-> obj text-ids-seen allocated-length) 7)) 8)) + ) + (let ((a1-46 (the-as object (&+ a0-49 0)))) + (set! (-> (the-as game-save-tag a1-46) elt-type) (game-save-elt text-list)) + (set! (-> (the-as game-save-tag a1-46) elt-count) v1-79) + (set! (-> (the-as game-save-tag a1-46) elt-size) (the-as uint 1)) + ) + (let ((a0-50 (&+ a0-49 16))) + (dotimes (a1-47 v1-79) + (set! (-> (the-as (pointer uint8) (&+ a0-50 a1-47))) (-> obj text-ids-seen bytes a1-47)) + ) + (let ((a0-51 (&+ a0-50 (logand -16 (+ v1-79 15)))) + (v1-84 (-> obj hint-control length)) + ) + (let ((a1-51 (the-as game-save-tag (&+ a0-51 0)))) + (set! (-> a1-51 elt-type) (game-save-elt hint-list)) + (set! (-> a1-51 elt-count) v1-84) + (set! (-> a1-51 elt-size) (the-as uint 32)) + ) + (let ((a0-52 (&+ a0-51 16))) + (dotimes (a1-52 v1-84) + (set! (-> (the-as (pointer int64) (&+ a0-52 (* (* a1-52 4) 8)))) (-> obj hint-control a1-52 start-time)) + (set! (-> (the-as (pointer int64) (&+ a0-52 (* (+ (* a1-52 4) 1) 8)))) + (-> obj hint-control a1-52 last-time-called) + ) + (set! (-> (the-as (pointer int8) (&+ a0-52 (+ (* a1-52 32) 16)))) (-> obj hint-control a1-52 num-attempts)) + (set! (-> (the-as (pointer int8) (&+ a0-52 (+ (* a1-52 32) 17)))) (-> obj hint-control a1-52 num-success)) + ) + (let ((v1-86 (&+ a0-52 (* v1-84 32)))) + (let ((a0-54 (the-as game-save-tag (&+ v1-86 0)))) + (set! (-> a0-54 elt-type) (game-save-elt auto-save-count)) + (set! (-> a0-54 elt-count) 0) + (set! (-> a0-54 user-uint64) (the-as uint (-> obj auto-save-count))) + ) + (let ((v1-87 (&+ v1-86 16))) + (let ((a0-55 (the-as game-save-tag (&+ v1-87 0)))) + (set! (-> a0-55 elt-type) (game-save-elt total-deaths)) + (set! (-> a0-55 elt-count) 0) + (set! (-> a0-55 user-uint64) (the-as uint (-> obj total-deaths))) + ) + (let ((v1-88 (&+ v1-87 16))) + (let ((a0-56 (the-as game-save-tag (&+ v1-88 0)))) + (set! (-> a0-56 elt-type) (game-save-elt continue-deaths)) + (set! (-> a0-56 elt-count) 0) + (set! (-> a0-56 user-uint64) (the-as uint (-> obj continue-deaths))) + ) + (let ((v1-89 (&+ v1-88 16))) + (let ((a0-57 (the-as game-save-tag (&+ v1-89 0)))) + (set! (-> a0-57 elt-type) (game-save-elt fuel-cell-deaths)) + (set! (-> a0-57 elt-count) 0) + (set! (-> a0-57 user-uint64) (the-as uint (-> obj fuel-cell-deaths))) + ) + (let ((v1-90 (&+ v1-89 16))) + (let ((a0-58 (the-as game-save-tag (&+ v1-90 0)))) + (set! (-> a0-58 elt-type) (game-save-elt game-start-time)) + (set! (-> a0-58 elt-count) 0) + (set! (-> a0-58 user-uint64) (the-as uint (-> obj game-start-time))) + ) + (let ((v1-91 (&+ v1-90 16))) + (let ((a0-59 (the-as game-save-tag (&+ v1-91 0)))) + (set! (-> a0-59 elt-type) (game-save-elt continue-time)) + (set! (-> a0-59 elt-count) 0) + (set! (-> a0-59 user-uint64) (the-as uint (-> obj continue-time))) + ) + (let ((v1-92 (&+ v1-91 16))) + (let ((a0-60 (the-as game-save-tag (&+ v1-92 0)))) + (set! (-> a0-60 elt-type) (game-save-elt death-time)) + (set! (-> a0-60 elt-count) 0) + (set! (-> a0-60 user-uint64) (the-as uint (-> obj death-time))) + ) + (let ((v1-93 (&+ v1-92 16))) + (let ((a0-61 (the-as game-save-tag (&+ v1-93 0)))) + (set! (-> a0-61 elt-type) (game-save-elt hit-time)) + (set! (-> a0-61 elt-count) 0) + (set! (-> a0-61 user-uint64) (the-as uint (-> obj hit-time))) + ) + (let ((v1-94 (&+ v1-93 16))) + (let ((a0-62 (the-as game-save-tag (&+ v1-94 0)))) + (set! (-> a0-62 elt-type) (game-save-elt fuel-cell-pickup-time)) + (set! (-> a0-62 elt-count) 0) + (set! (-> a0-62 user-uint64) (the-as uint (-> obj fuel-cell-pickup-time))) + ) + (let ((v1-95 (&+ v1-94 16))) + (let ((a0-63 (the-as game-save-tag (&+ v1-95 0)))) + (set! (-> a0-63 elt-type) (game-save-elt fuel-cell-time)) + (set! (-> a0-63 elt-count) 116) + (set! (-> a0-63 elt-size) (the-as uint 8)) + ) + (let ((v1-96 (&+ v1-95 16))) + (let ((a0-64 (the-as object 0))) + (while (< (the-as int a0-64) 116) + (set! (-> (the-as (pointer int64) (&+ v1-96 (* (the-as int a0-64) 8)))) + (-> obj fuel-cell-time (the-as int a0-64)) + ) + (set! a0-64 (+ (the-as int a0-64) 1)) + ) + ) + (let ((v1-97 (&+ v1-96 928))) + (let ((a0-67 (the-as game-save-tag (&+ v1-97 0)))) + (set! (-> a0-67 elt-type) (game-save-elt deaths-per-level)) + (set! (-> a0-67 elt-count) 32) + (set! (-> a0-67 elt-size) (the-as uint 1)) + ) + (let ((v1-98 (&+ v1-97 16))) + (dotimes (a0-68 32) + (set! (-> (the-as (pointer uint8) (&+ v1-98 a0-68))) (-> obj deaths-per-level a0-68)) + ) + (let ((v1-99 (&+ v1-98 32))) + (let ((a0-71 (the-as game-save-tag (&+ v1-99 0)))) + (set! (-> a0-71 elt-type) (game-save-elt enter-level-time)) + (set! (-> a0-71 elt-count) 32) + (set! (-> a0-71 elt-size) (the-as uint 8)) + ) + (let ((v1-100 (&+ v1-99 16))) + (dotimes (a0-72 32) + (set! (-> (the-as (pointer int64) (&+ v1-100 (* a0-72 8)))) (-> obj enter-level-time a0-72)) + ) + (let ((v1-101 (&+ v1-100 256))) + (let ((a0-75 (the-as game-save-tag (&+ v1-101 0)))) + (set! (-> a0-75 elt-type) (game-save-elt in-level-time)) + (set! (-> a0-75 elt-count) 32) + (set! (-> a0-75 elt-size) (the-as uint 8)) + ) + (let ((v1-102 (&+ v1-101 16))) + (dotimes (a0-76 32) + (set! (-> (the-as (pointer int64) (&+ v1-102 (* a0-76 8)))) (-> obj in-level-time a0-76)) + ) + (let ((v1-103 (&+ v1-102 256))) + (let ((a0-79 (the-as game-save-tag (&+ v1-103 0)))) + (set! (-> a0-79 elt-type) (game-save-elt sfx-volume)) + (set! (-> a0-79 elt-count) 0) + (set! (-> a0-79 user-float0) (-> *setting-control* default sfx-volume)) + ) + (let ((v1-104 (&+ v1-103 16))) + (let ((a0-80 (the-as game-save-tag (&+ v1-104 0)))) + (set! (-> a0-80 elt-type) (game-save-elt music-volume)) + (set! (-> a0-80 elt-count) 0) + (set! (-> a0-80 user-float0) (-> *setting-control* default music-volume)) + ) + (let ((v1-105 (&+ v1-104 16))) + (let ((a0-81 (the-as game-save-tag (&+ v1-105 0)))) + (set! (-> a0-81 elt-type) (game-save-elt dialog-volume)) + (set! (-> a0-81 elt-count) 0) + (set! (-> a0-81 user-float0) (-> *setting-control* default dialog-volume)) + ) + (let ((v1-106 (&+ v1-105 16))) + (let ((a0-82 (the-as game-save-tag (&+ v1-106 0)))) + (set! (-> a0-82 elt-type) (game-save-elt language)) + (set! (-> a0-82 elt-count) 0) + (set! (-> a0-82 user-uint64) (the-as uint (-> *setting-control* default language))) + ) + (let ((v1-107 (&+ v1-106 16))) + (let ((a0-83 (the-as game-save-tag (&+ v1-107 0)))) + (set! (-> a0-83 elt-type) (game-save-elt screenx)) + (set! (-> a0-83 elt-count) 0) + (set! (-> a0-83 user-float0) (the float (-> *setting-control* default screenx))) + ) + (let ((v1-108 (&+ v1-107 16))) + (let ((a0-84 (the-as game-save-tag (&+ v1-108 0)))) + (set! (-> a0-84 elt-type) (game-save-elt screeny)) + (set! (-> a0-84 elt-count) 0) + (set! (-> a0-84 user-float0) (the float (-> *setting-control* default screeny))) + ) + (let ((v1-109 (&+ v1-108 16))) + (let ((a0-85 (the-as game-save-tag (&+ v1-109 0)))) + (set! (-> a0-85 elt-type) (game-save-elt vibration)) + (set! (-> a0-85 elt-count) 0) + (set! (-> a0-85 user-uint64) (the-as uint (if (-> *setting-control* default vibration) + 1 + 0 + ) + ) + ) + ) + (let ((v1-110 (&+ v1-109 16))) + (let ((a0-86 (the-as game-save-tag (&+ v1-110 0)))) + (set! (-> a0-86 elt-type) (game-save-elt play-hints)) + (set! (-> a0-86 elt-count) 0) + (set! (-> a0-86 user-uint64) (the-as uint (if (-> *setting-control* default play-hints) + 1 + 0 + ) + ) + ) + ) + (let ((v1-111 (&+ v1-110 16))) + (let ((a0-87 (the-as game-save-tag (&+ v1-111 0)))) + (set! (-> a0-87 elt-type) (game-save-elt video-mode)) + (set! (-> a0-87 elt-count) 0) + (let ((a1-121 (-> *setting-control* default video-mode))) + (set! (-> a0-87 user-uint64) (the-as uint (cond + ((= a1-121 'ntsc) + 1 + ) + ((= a1-121 'pal) + 2 + ) + (else + 0 + ) + ) + ) + ) + ) + ) + (let ((v1-112 (&+ v1-111 16))) + (let ((a0-88 (the-as object (&+ v1-112 0)))) + (set! (-> (the-as game-save-tag a0-88) elt-type) (game-save-elt aspect-ratio)) + (set! (-> (the-as game-save-tag a0-88) elt-count) 0) + (let ((a1-125 (-> *setting-control* default aspect-ratio))) + (set! (-> (the-as (pointer int64) a0-88)) (cond + ((= a1-125 'aspect4x3) + 1 + ) + ((= a1-125 'aspect16x9) + 2 + ) + (else + 0 + ) + ) + ) + ) + ) + (set! (-> arg0 length) (&- (&+ v1-112 16) (the-as uint (the-as pointer (-> arg0 tag))))) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) ) - ) ) - ) ) - ) (if (< (-> arg0 allocated-length) (-> arg0 length)) - (format - 0 - "ERROR: SAVEGAME: fatal error, save is using ~D of ~D bytes." - (-> arg0 length) - (-> arg0 allocated-length) - ) - ) + (format + 0 + "ERROR: SAVEGAME: fatal error, save is using ~D of ~D bytes." + (-> arg0 length) + (-> arg0 allocated-length) + ) + ) (none) ) ;; definition for method 25 of type game-info (defmethod load-game! game-info ((obj game-info) (save game-save)) (let ((save-data (the-as game-save-tag (-> save tag)))) - (while - (< - (the-as int save-data) - (the-as int (&-> save tag 0 user-int8 (-> save length))) - ) - (case (-> save-data elt-type) - (((game-save-elt sfx-volume)) - (set! - (-> *setting-control* default sfx-volume) - (-> save-data user-float0) + (while (< (the-as int save-data) (the-as int (&-> save tag 0 user-int8 (-> save length)))) + (case (-> save-data elt-type) + (((game-save-elt sfx-volume)) + (set! (-> *setting-control* default sfx-volume) (-> save-data user-float0)) + ) + (((game-save-elt music-volume)) + (set! (-> *setting-control* default music-volume) (-> save-data user-float0)) + ) + (((game-save-elt dialog-volume)) + (set! (-> *setting-control* default dialog-volume) (-> save-data user-float0)) + ) + (((game-save-elt language)) + (set! (-> *setting-control* default language) (the-as language-enum (-> save-data user-uint64))) + ) + (((game-save-elt vibration)) + (set! (-> *setting-control* default vibration) (= (-> save-data user-uint64) 1)) + ) + (((game-save-elt play-hints)) + (set! (-> *setting-control* default play-hints) (= (-> save-data user-uint64) 1)) + ) ) - ) - (((game-save-elt music-volume)) - (set! - (-> *setting-control* default music-volume) - (-> save-data user-float0) - ) + (set! save-data + (the-as game-save-tag (&+ + (the-as pointer save-data) + (logand -16 (+ (* (the-as int (-> save-data elt-size)) (-> save-data elt-count)) 31)) + ) + ) + ) ) - (((game-save-elt dialog-volume)) - (set! - (-> *setting-control* default dialog-volume) - (-> save-data user-float0) - ) - ) - (((game-save-elt language)) - (set! - (-> *setting-control* default language) - (the-as language-enum (-> save-data user-uint64)) - ) - ) - (((game-save-elt vibration)) - (set! - (-> *setting-control* default vibration) - (= (-> save-data user-uint64) 1) - ) - ) - (((game-save-elt play-hints)) - (set! - (-> *setting-control* default play-hints) - (= (-> save-data user-uint64) 1) - ) - ) - ) - (set! - save-data - (the-as - game-save-tag - (&+ - (the-as pointer save-data) - (logand - -16 - (+ (* (the-as int (-> save-data elt-size)) (-> save-data elt-count)) 31) - ) - ) - ) - ) ) - ) (when (nonzero? (-> save new-game)) - (set-continue! obj "game-start") - (set! save save) - (goto cfg-134) - ) + (set-continue! obj "game-start") + (set! save save) + (goto cfg-134) + ) (let ((data (the-as game-save-tag (-> save tag)))) - (while - (< - (the-as int data) - (the-as int (&-> save tag 0 user-int8 (-> save length))) - ) - (case (-> data elt-type) - (((game-save-elt base-time)) - (let ((old-base-frame (-> *display* base-frame-counter))) - (set! - (-> *display* base-frame-counter) - (the-as int (-> data user-uint64)) - ) - (set! - (-> *display* old-base-frame-counter) - (+ (-> *display* base-frame-counter) -1) - ) - (let - ((frame-counter-diff - (- (-> *display* base-frame-counter) old-base-frame) - ) - ) - (if (nonzero? (-> obj blackout-time)) - (+! (-> obj blackout-time) frame-counter-diff) - ) - (if (nonzero? (-> obj letterbox-time)) - (+! (-> obj letterbox-time) frame-counter-diff) - ) - (if (nonzero? (-> obj hint-play-time)) - (+! (-> obj hint-play-time) frame-counter-diff) - ) - (if (nonzero? (-> obj display-text-time)) - (+! (-> obj display-text-time) frame-counter-diff) - ) - ) - ) - (buzz-stop! 0) - ) - (((game-save-elt game-time)) - (set! - (-> *display* game-frame-counter) - (the-as int (-> data user-uint64)) - ) - (set! - (-> *display* old-game-frame-counter) - (+ (-> *display* game-frame-counter) -1) - ) - ) - (((game-save-elt real-time)) - (set! - (-> *display* real-frame-counter) - (the-as int (-> data user-uint64)) - ) - (set! - (-> *display* old-real-frame-counter) - (+ (-> *display* real-frame-counter) -1) - ) - ) - (((game-save-elt integral-time)) - (set! - (-> *display* integral-frame-counter) - (the-as int (-> data user-uint64)) - ) - (set! - (-> *display* old-integral-frame-counter) - (+ (-> *display* integral-frame-counter) -1) - ) - ) - (((game-save-elt continue)) - (format (clear *temp-string*) "~G" (&+ (the-as pointer data) 16)) - (set-continue! obj *temp-string*) - ) - (((game-save-elt life)) - (set! (-> obj life) (-> data user-float0)) - ) - (((game-save-elt buzzer-total)) - (set! (-> obj buzzer-total) (-> data user-float0)) - ) - (((game-save-elt fuel-cell)) - (set! (-> obj fuel) (-> data user-float0)) - ) - (((game-save-elt death-movie-tick)) - (set! (-> obj death-movie-tick) (the-as int (-> data user-uint64))) - ) - (((game-save-elt money)) - (set! (-> obj money) (-> data user-float0)) - ) - (((game-save-elt money-total)) - (set! (-> obj money-total) (-> data user-float0)) - ) - (((game-save-elt moeny-per-level)) - (let ((v1-34 (min 32 (-> data elt-count)))) - (dotimes (a0-76 v1-34) - (set! - (-> obj money-per-level a0-76) - (-> (the-as (pointer uint8) (&+ (the-as pointer data) 16)) a0-76) - ) - ) - ) - ) - (((game-save-elt level-open-list)) - (let ((v1-38 (min 32 (-> data elt-count)))) - (dotimes (a0-80 v1-38) - (set! - (-> obj level-opened a0-80) - (-> (the-as (pointer uint8) (&+ (the-as pointer data) 16)) a0-80) - ) - ) - ) - ) - (((game-save-elt perm-list)) - (let - ((s3-2 (min (-> data elt-count) (-> obj perm-list allocated-length)))) - (set! (-> obj perm-list length) s3-2) - (dotimes (s2-0 s3-2) - (mem-copy! - (the-as pointer (-> obj perm-list data s2-0)) - (&+ (&+ (the-as pointer data) 16) (* s2-0 16)) - 16 - ) - ) - ) - ) - (((game-save-elt task-list)) - (let - ((s3-4 - (min (-> data elt-count) (-> obj task-perm-list allocated-length)) - ) - ) - (set! (-> obj task-perm-list length) s3-4) - (dotimes (s2-1 s3-4) - (mem-copy! - (the-as pointer (-> obj task-perm-list data s2-1)) - (&+ (&+ (the-as pointer data) 16) (* s2-1 16)) - 16 - ) - ) - ) - ) - (((game-save-elt text-list)) - (let - ((v1-61 (/ (logand -8 (+ (-> obj text-ids-seen allocated-length) 7)) 8)) - (a0-94 (-> data elt-count)) - ) - (dotimes (a1-35 v1-61) - (cond - ((>= a1-35 a0-94) - (set! (-> obj text-ids-seen bytes a1-35) (the-as uint 0)) - 0 - ) - (else - (set! - (-> obj text-ids-seen bytes a1-35) - (-> (the-as (pointer uint8) (&+ (the-as pointer data) 16)) a1-35) - ) - ) - ) - ) - ) - ) - (((game-save-elt hint-list)) - (cond - ((= (-> obj hint-control length) (-> data elt-count)) - (let ((v1-65 (&+ (the-as pointer data) 16))) - (dotimes (a0-99 (-> data elt-count)) - (set! - (-> obj hint-control a0-99 start-time) - (the-as - int - (-> (the-as (pointer uint64) (&+ v1-65 (* (* a0-99 4) 8)))) - ) - ) - (set! - (-> obj hint-control a0-99 last-time-called) - (the-as - int - (-> (the-as (pointer uint64) (&+ v1-65 (* (+ (* a0-99 4) 1) 8)))) - ) - ) - (set! - (-> obj hint-control a0-99 num-attempts) - (-> - (the-as - (pointer int8) - (&+ (the-as (pointer uint8) v1-65) (+ (* a0-99 32) 16)) + (while (< (the-as int data) (the-as int (&-> save tag 0 user-int8 (-> save length)))) + (case (-> data elt-type) + (((game-save-elt base-time)) + (let ((old-base-frame (-> *display* base-frame-counter))) + (set! (-> *display* base-frame-counter) (the-as int (-> data user-uint64))) + (set! (-> *display* old-base-frame-counter) (+ (-> *display* base-frame-counter) -1)) + (let ((frame-counter-diff (- (-> *display* base-frame-counter) old-base-frame))) + (if (nonzero? (-> obj blackout-time)) + (+! (-> obj blackout-time) frame-counter-diff) + ) + (if (nonzero? (-> obj letterbox-time)) + (+! (-> obj letterbox-time) frame-counter-diff) + ) + (if (nonzero? (-> obj hint-play-time)) + (+! (-> obj hint-play-time) frame-counter-diff) + ) + (if (nonzero? (-> obj display-text-time)) + (+! (-> obj display-text-time) frame-counter-diff) + ) ) - ) ) - (set! - (-> obj hint-control a0-99 num-success) - (-> - (the-as - (pointer int8) - (&+ (the-as (pointer uint8) v1-65) (+ (* a0-99 32) 17)) + (buzz-stop! 0) + ) + (((game-save-elt game-time)) + (set! (-> *display* game-frame-counter) (the-as int (-> data user-uint64))) + (set! (-> *display* old-game-frame-counter) (+ (-> *display* game-frame-counter) -1)) + ) + (((game-save-elt real-time)) + (set! (-> *display* real-frame-counter) (the-as int (-> data user-uint64))) + (set! (-> *display* old-real-frame-counter) (+ (-> *display* real-frame-counter) -1)) + ) + (((game-save-elt integral-time)) + (set! (-> *display* integral-frame-counter) (the-as int (-> data user-uint64))) + (set! (-> *display* old-integral-frame-counter) (+ (-> *display* integral-frame-counter) -1)) + ) + (((game-save-elt continue)) + (format (clear *temp-string*) "~G" (&+ (the-as pointer data) 16)) + (set-continue! obj *temp-string*) + ) + (((game-save-elt life)) + (set! (-> obj life) (-> data user-float0)) + ) + (((game-save-elt buzzer-total)) + (set! (-> obj buzzer-total) (-> data user-float0)) + ) + (((game-save-elt fuel-cell)) + (set! (-> obj fuel) (-> data user-float0)) + ) + (((game-save-elt death-movie-tick)) + (set! (-> obj death-movie-tick) (the-as int (-> data user-uint64))) + ) + (((game-save-elt money)) + (set! (-> obj money) (-> data user-float0)) + ) + (((game-save-elt money-total)) + (set! (-> obj money-total) (-> data user-float0)) + ) + (((game-save-elt moeny-per-level)) + (let ((v1-34 (min 32 (-> data elt-count)))) + (dotimes (a0-76 v1-34) + (set! (-> obj money-per-level a0-76) (-> (the-as (pointer uint8) (&+ (the-as pointer data) 16)) a0-76)) ) - ) ) - ) ) - ) - (else - (format - 0 - "WARNING: SAVEGAME: hint control list did not match current, ignoring~%" - ) - ) - ) - ) - (((game-save-elt auto-save-count)) - (set! (-> obj auto-save-count) (the-as int (-> data user-uint64))) - ) - (((game-save-elt total-deaths)) - (set! (-> obj total-deaths) (the-as int (-> data user-uint64))) - ) - (((game-save-elt continue-deaths)) - (set! (-> obj continue-deaths) (the-as int (-> data user-uint64))) - ) - (((game-save-elt fuel-cell-deaths)) - (set! (-> obj fuel-cell-deaths) (the-as int (-> data user-uint64))) - ) - (((game-save-elt game-start-time)) - (set! (-> obj game-start-time) (the-as int (-> data user-uint64))) - ) - (((game-save-elt continue-time)) - (set! (-> obj continue-time) (the-as int (-> data user-uint64))) - ) - (((game-save-elt death-time)) - (set! (-> obj death-time) (the-as int (-> data user-uint64))) - ) - (((game-save-elt hit-time)) - (set! (-> obj hit-time) (the-as int (-> data user-uint64))) - ) - (((game-save-elt fuel-cell-pickup-time)) - (set! (-> obj fuel-cell-pickup-time) (the-as int (-> data user-uint64))) - ) - (((game-save-elt deaths-per-level)) - (let ((v1-79 (min 32 (-> data elt-count)))) - (dotimes (a0-122 v1-79) - (set! - (-> obj deaths-per-level a0-122) - (-> (the-as (pointer uint8) (&+ (the-as pointer data) 16)) a0-122) - ) - ) - ) - ) - (((game-save-elt enter-level-time)) - (let ((v1-83 (min 32 (-> data elt-count)))) - (dotimes (a0-126 v1-83) - (set! - (-> obj enter-level-time a0-126) - (the-as - int - (-> - (the-as - (pointer uint64) - (&+ (&+ (the-as pointer data) 16) (* a0-126 8)) - ) + (((game-save-elt level-open-list)) + (let ((v1-38 (min 32 (-> data elt-count)))) + (dotimes (a0-80 v1-38) + (set! (-> obj level-opened a0-80) (-> (the-as (pointer uint8) (&+ (the-as pointer data) 16)) a0-80)) + ) ) - ) ) - ) - ) - ) - (((game-save-elt in-level-time)) - (let ((v1-87 (min 32 (-> data elt-count)))) - (dotimes (a0-130 v1-87) - (set! - (-> obj in-level-time a0-130) - (the-as - int - (-> - (the-as - (pointer uint64) - (&+ (&+ (the-as pointer data) 16) (* a0-130 8)) - ) + (((game-save-elt perm-list)) + (let ((s3-2 (min (-> data elt-count) (-> obj perm-list allocated-length)))) + (set! (-> obj perm-list length) s3-2) + (dotimes (s2-0 s3-2) + (mem-copy! (the-as pointer (-> obj perm-list data s2-0)) (&+ (&+ (the-as pointer data) 16) (* s2-0 16)) 16) + ) ) - ) ) - ) - ) - ) - (((game-save-elt fuel-cell-time)) - (let ((v1-92 (min 32 (-> data elt-count)))) - (dotimes (a0-133 v1-92) - (set! - (-> obj fuel-cell-time a0-133) - (the-as - int - (-> - (the-as - (pointer uint64) - (&+ (&+ (the-as pointer data) 16) (* a0-133 8)) - ) + (((game-save-elt task-list)) + (let ((s3-4 (min (-> data elt-count) (-> obj task-perm-list allocated-length)))) + (set! (-> obj task-perm-list length) s3-4) + (dotimes (s2-1 s3-4) + (mem-copy! + (the-as pointer (-> obj task-perm-list data s2-1)) + (&+ (&+ (the-as pointer data) 16) (* s2-1 16)) + 16 + ) + ) + ) + ) + (((game-save-elt text-list)) + (let ((v1-61 (/ (logand -8 (+ (-> obj text-ids-seen allocated-length) 7)) 8)) + (a0-94 (-> data elt-count)) + ) + (dotimes (a1-35 v1-61) + (cond + ((>= a1-35 a0-94) + (set! (-> obj text-ids-seen bytes a1-35) (the-as uint 0)) + 0 + ) + (else + (set! (-> obj text-ids-seen bytes a1-35) (-> (the-as (pointer uint8) (&+ (the-as pointer data) 16)) a1-35)) + ) + ) + ) + ) + ) + (((game-save-elt hint-list)) + (cond + ((= (-> obj hint-control length) (-> data elt-count)) + (let ((v1-65 (&+ (the-as pointer data) 16))) + (dotimes (a0-99 (-> data elt-count)) + (set! (-> obj hint-control a0-99 start-time) + (the-as int (-> (the-as (pointer uint64) (&+ v1-65 (* (* a0-99 4) 8))))) + ) + (set! (-> obj hint-control a0-99 last-time-called) + (the-as int (-> (the-as (pointer uint64) (&+ v1-65 (* (+ (* a0-99 4) 1) 8))))) + ) + (set! (-> obj hint-control a0-99 num-attempts) + (-> (the-as (pointer int8) (&+ (the-as (pointer uint8) v1-65) (+ (* a0-99 32) 16)))) + ) + (set! (-> obj hint-control a0-99 num-success) + (-> (the-as (pointer int8) (&+ (the-as (pointer uint8) v1-65) (+ (* a0-99 32) 17)))) + ) + ) + ) + ) + (else + (format 0 "WARNING: SAVEGAME: hint control list did not match current, ignoring~%") + ) + ) + ) + (((game-save-elt auto-save-count)) + (set! (-> obj auto-save-count) (the-as int (-> data user-uint64))) + ) + (((game-save-elt total-deaths)) + (set! (-> obj total-deaths) (the-as int (-> data user-uint64))) + ) + (((game-save-elt continue-deaths)) + (set! (-> obj continue-deaths) (the-as int (-> data user-uint64))) + ) + (((game-save-elt fuel-cell-deaths)) + (set! (-> obj fuel-cell-deaths) (the-as int (-> data user-uint64))) + ) + (((game-save-elt game-start-time)) + (set! (-> obj game-start-time) (the-as int (-> data user-uint64))) + ) + (((game-save-elt continue-time)) + (set! (-> obj continue-time) (the-as int (-> data user-uint64))) + ) + (((game-save-elt death-time)) + (set! (-> obj death-time) (the-as int (-> data user-uint64))) + ) + (((game-save-elt hit-time)) + (set! (-> obj hit-time) (the-as int (-> data user-uint64))) + ) + (((game-save-elt fuel-cell-pickup-time)) + (set! (-> obj fuel-cell-pickup-time) (the-as int (-> data user-uint64))) + ) + (((game-save-elt deaths-per-level)) + (let ((v1-79 (min 32 (-> data elt-count)))) + (dotimes (a0-122 v1-79) + (set! (-> obj deaths-per-level a0-122) (-> (the-as (pointer uint8) (&+ (the-as pointer data) 16)) a0-122)) + ) + ) + ) + (((game-save-elt enter-level-time)) + (let ((v1-83 (min 32 (-> data elt-count)))) + (dotimes (a0-126 v1-83) + (set! (-> obj enter-level-time a0-126) + (the-as int (-> (the-as (pointer uint64) (&+ (&+ (the-as pointer data) 16) (* a0-126 8))))) + ) + ) + ) + ) + (((game-save-elt in-level-time)) + (let ((v1-87 (min 32 (-> data elt-count)))) + (dotimes (a0-130 v1-87) + (set! (-> obj in-level-time a0-130) + (the-as int (-> (the-as (pointer uint64) (&+ (&+ (the-as pointer data) 16) (* a0-130 8))))) + ) + ) + ) + ) + (((game-save-elt fuel-cell-time)) + (let ((v1-92 (min 32 (-> data elt-count)))) + (dotimes (a0-133 v1-92) + (set! (-> obj fuel-cell-time a0-133) + (the-as int (-> (the-as (pointer uint64) (&+ (&+ (the-as pointer data) 16) (* a0-133 8))))) + ) + ) ) - ) ) ) - ) + (set! data + (the-as + game-save-tag + (&+ (the-as pointer data) (logand -16 (+ (* (the-as int (-> data elt-size)) (-> data elt-count)) 31))) + ) + ) ) - ) - (set! - data - (the-as - game-save-tag - (&+ - (the-as pointer data) - (logand - -16 - (+ (* (the-as int (-> data elt-size)) (-> data elt-count)) 31) - ) - ) - ) - ) ) - ) (dotimes (s4-1 (-> *level* length)) - (let ((a1-68 (-> *level* level s4-1))) - (if (= (-> a1-68 status) 'active) - (copy-perms-to-level! obj a1-68) - ) + (let ((a1-68 (-> *level* level s4-1))) + (if (= (-> a1-68 status) 'active) + (copy-perms-to-level! obj a1-68) + ) + ) ) - ) (let ((s5-1 2) (s4-2 115) ) - (while (>= (the-as uint s4-2) (the-as uint s5-1)) - (get-task-status (the-as game-task s5-1)) - (+! s5-1 1) + (while (>= (the-as uint s4-2) (the-as uint s5-1)) + (get-task-status (the-as game-task s5-1)) + (+! s5-1 1) + ) ) - ) (label cfg-134) save ) @@ -1777,96 +1112,84 @@ ;; definition for method 9 of type game-save (defmethod save-to-file game-save ((obj game-save) (arg0 string)) (let ((s5-0 (new 'stack 'file-stream arg0 'write))) - (file-stream-write - s5-0 - (&-> obj type) - (+ (-> obj type size) (-> obj length)) + (file-stream-write s5-0 (&-> obj type) (+ (-> obj type size) (-> obj length))) + (file-stream-close s5-0) ) - (file-stream-close s5-0) - ) obj ) ;; definition for method 10 of type game-save (defmethod load-from-file! game-save ((obj game-save) (filename string)) (let ((stream (new 'stack 'file-stream filename 'read))) - (let ((in-size (file-stream-length stream)) - (my-size (-> obj allocated-length)) - ) - (cond - ((>= (asize-of obj) in-size) + (let ((in-size (file-stream-length stream)) + (my-size (-> obj allocated-length)) + ) (cond - ((= (file-stream-read stream (&-> obj type) in-size) in-size) - (set! (-> obj type) game-save) - ) - (else - (format - 0 - "ERROR: SAVEGAME: save file ~A did not read correctly.~%" - stream + ((>= (asize-of obj) in-size) + (cond + ((= (file-stream-read stream (&-> obj type) in-size) in-size) + (set! (-> obj type) game-save) + ) + (else + (format 0 "ERROR: SAVEGAME: save file ~A did not read correctly.~%" stream) + (set! (-> obj length) 0) + 0 + ) + ) ) - (set! (-> obj length) 0) - 0 + (else + (format 0 "ERROR: SAVEGAME: save file ~A is too big~%" stream) + ) ) - ) + (set! (-> obj allocated-length) my-size) ) - (else - (format 0 "ERROR: SAVEGAME: save file ~A is too big~%" stream) + (when (!= (-> obj version) 1) + (format + 0 + "ERROR: SAVEGAME: save file ~A was version ~d, but only ~d is supported.~%" + stream + (-> obj version) + 1 + ) + (set! (-> obj length) 0) + 0 ) - ) - (set! (-> obj allocated-length) my-size) + (file-stream-close stream) ) - (when (!= (-> obj version) 1) - (format - 0 - "ERROR: SAVEGAME: save file ~A was version ~d, but only ~d is supported.~%" - stream - (-> obj version) - 1 - ) - (set! (-> obj length) 0) - 0 - ) - (file-stream-close stream) - ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 656) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-save-icon" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2662)) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 656) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-save-icon" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2662)) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2662) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x6b :page #x1cf)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2662) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x6b :page #x1cf)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-end) + ) + ) + ) ;; definition for symbol *auto-save-info*, type mc-slot-info (define *auto-save-info* (new 'global 'mc-slot-info)) @@ -1905,8 +1228,8 @@ ;; definition for method 3 of type auto-save (defmethod inspect auto-save ((obj auto-save)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tcard: ~D~%" (-> obj card)) (format #t "~T~Tslot: ~D~%" (-> obj slot)) (format #t "~T~Twhich: ~D~%" (-> obj which)) @@ -1924,8 +1247,8 @@ ;; definition for method 10 of type auto-save (defmethod deactivate auto-save ((obj auto-save)) (if (nonzero? (-> obj part)) - (kill-and-free-particles (-> obj part)) - ) + (kill-and-free-particles (-> obj part)) + ) ((method-of-type process deactivate) obj) (none) ) @@ -1934,8 +1257,8 @@ ;; INFO: Return type mismatch process vs auto-save. (defmethod relocate auto-save ((obj auto-save) (arg0 int)) (if (nonzero? (-> obj part)) - (&+! (-> obj part) arg0) - ) + (&+! (-> obj part) arg0) + ) (the-as auto-save ((method-of-type process relocate) obj arg0)) ) @@ -1943,113 +1266,81 @@ ;; INFO: Return type mismatch object vs none. (defbehavior auto-save-post auto-save () (when (and (= *cheat-mode* 'debug) (cpad-hold? 0 l3)) - (let - ((gp-0 - (new - 'stack - 'font-context - *font-default-matrix* - 32 - 160 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) + (let ((gp-0 + (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-5 gp-0)) + (set! (-> v1-5 width) (the float 440)) + ) + (let ((v1-6 gp-0)) + (set! (-> v1-6 height) (the float 80)) + ) + (set! (-> gp-0 flags) (font-flags shadow kerning)) + (format (clear *temp-string*) "~S / ~S ~D~%" (-> self mode) (-> self state name) (-> self which)) + (print-game-text *temp-string* gp-0 #f 128 22) ) - ) - (let ((v1-5 gp-0)) - (set! (-> v1-5 width) (the float 440)) - ) - (let ((v1-6 gp-0)) - (set! (-> v1-6 height) (the float 80)) - ) - (set! (-> gp-0 flags) (font-flags shadow kerning)) - (format - (clear *temp-string*) - "~S / ~S ~D~%" - (-> self mode) - (-> self state name) - (-> self which) - ) - (print-game-text *temp-string* gp-0 #f 128 22) ) - ) (when (and (= (-> self mode) 'auto-save) (!= (-> self next-state name) 'done)) - (let - ((gp-1 - (new - 'stack - 'font-context - *font-default-matrix* - 20 - 40 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) + (let ((gp-1 + (new 'stack 'font-context *font-default-matrix* 20 40 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-15 gp-1)) + (set! (-> v1-15 scale) 0.8) + ) + (let ((v1-16 gp-1)) + (set! (-> v1-16 width) (the float 472)) + ) + (let ((v1-17 gp-1)) + (set! (-> v1-17 height) (the float 20)) + ) + (set! (-> gp-1 flags) (font-flags shadow kerning middle left large)) + (when (zero? (-> *game-info* auto-save-count)) + (print-game-text (lookup-text! *common-text* (game-text-id saving-data) #f) gp-1 #f 128 22) + (set! (-> gp-1 origin x) 20.0) + (set! (-> gp-1 origin y) 130.0) + (let ((v1-23 gp-1)) + (set! (-> v1-23 scale) 0.7) + ) + (let ((v1-24 gp-1)) + (set! (-> v1-24 height) (the float 40)) + ) + (let ((s5-2 print-game-text)) + ((the-as (function object string object none) format) + (clear *temp-string*) + (lookup-text! *common-text* (game-text-id do-not-remove-mem-card) #f) + 1 + ) + (s5-2 *temp-string* gp-1 #f 128 22) + ) + ) ) - ) - (let ((v1-15 gp-1)) - (set! (-> v1-15 scale) 0.8) - ) - (let ((v1-16 gp-1)) - (set! (-> v1-16 width) (the float 472)) - ) - (let ((v1-17 gp-1)) - (set! (-> v1-17 height) (the float 20)) - ) - (set! (-> gp-1 flags) (font-flags shadow kerning middle left large)) - (when (zero? (-> *game-info* auto-save-count)) - (print-game-text - (lookup-text! *common-text* (game-text-id saving-data) #f) - gp-1 - #f - 128 - 22 + (when (< (mod (-> *display* real-frame-counter) 300) 270) + (if (> (-> self part matrix) 0) + (set-vector! + (sprite-get-user-hvdf (-> self part matrix)) + 1842.0 + (the float (+ (the int (* 0.5 (- (* (if (= (get-aspect-ratio) 'aspect16x9) + 370.0 + 360.0 + ) + (-> *video-parms* relative-y-scale) + ) + (the float (-> *video-parms* screen-sy)) + ) + ) + ) + 2048 + ) + ) + (+ -1024.0 (-> *math-camera* hvdf-off z)) + (-> *math-camera* hvdf-off w) + ) + ) + (spawn (-> self part) *zero-vector*) ) - (set! (-> gp-1 origin x) 20.0) - (set! (-> gp-1 origin y) 130.0) - (let ((v1-23 gp-1)) - (set! (-> v1-23 scale) 0.7) - ) - (let ((v1-24 gp-1)) - (set! (-> v1-24 height) (the float 40)) - ) - (let ((s5-2 print-game-text)) - ((the-as (function object string object none) format) - (clear *temp-string*) - (lookup-text! *common-text* (game-text-id do-not-remove-mem-card) #f) - 1 - ) - (s5-2 *temp-string* gp-1 #f 128 22) - ) - ) ) - (when (< (mod (-> *display* real-frame-counter) 300) 270) - (if (> (-> self part matrix) 0) - (set-vector! - (sprite-get-user-hvdf (-> self part matrix)) - 1842.0 - (the float (+ (the int (* 0.5 (- (* (if (= (get-aspect-ratio) 'aspect16x9) - 370.0 - 360.0 - ) - (-> *video-parms* relative-y-scale) - ) - (the float (-> *video-parms* screen-sy)) - ) - ) - ) - 2048 - ) - ) - (+ -1024.0 (-> *math-camera* hvdf-off z)) - (-> *math-camera* hvdf-off w) - ) - ) - (spawn (-> self part) *zero-vector*) - ) - ) (none) ) @@ -2059,17 +1350,11 @@ auto-save-post ;; definition for function auto-save-init-by-other ;; INFO: Return type mismatch object vs none. ;; WARN: Expression building failed: Function auto-save-init-by-other has a return type of none, but the expression builder found a return statement. -(defbehavior - auto-save-init-by-other auto-save - ((desired-mode symbol) - (notify-proc process-tree) - (card-idx int) - (file-idx int) - ) +(defbehavior auto-save-init-by-other auto-save ((desired-mode symbol) (notify-proc process-tree) (card-idx int) (file-idx int)) (when (handle->process (-> *game-info* auto-save-proc)) - (send-event notify-proc 'notify 'error 16) - (return #f) - ) + (send-event notify-proc 'notify 'error 16) + (return #f) + ) (set! (-> *game-info* auto-save-proc) (process->handle self)) (set! (-> *game-info* auto-save-status) (mc-status-code ok)) (stack-size-set! (-> self main-thread) 512) @@ -2081,26 +1366,23 @@ auto-save-post (set! (-> self result) (mc-status-code ok)) (set! (-> self save) #f) (set! (-> self notify) (process->handle (the-as process notify-proc))) - (set! - (-> self part) - (create-launch-control (-> *part-group-id-table* 656) self) - ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 656) self)) (set! (-> self part matrix) (sprite-allocate-user-hvdf)) (cond - ((= desired-mode 'auto-save) - (if (not (-> *setting-control* current auto-save)) - (go-virtual error (mc-status-code no-auto-save)) + ((= desired-mode 'auto-save) + (if (not (-> *setting-control* current auto-save)) + (go-virtual error (mc-status-code no-auto-save)) + ) + (when (and (zero? (-> self card)) (-> *setting-control* current auto-save)) + (set! (-> self card) (-> *game-info* auto-save-card)) + (set! (-> self which) (-> *game-info* auto-save-which)) + ) ) - (when (and (zero? (-> self card)) (-> *setting-control* current auto-save)) - (set! (-> self card) (-> *game-info* auto-save-card)) - (set! (-> self which) (-> *game-info* auto-save-which)) + ((= desired-mode 'error) + (set! (-> *setting-control* default auto-save) #f) + (go-virtual error (mc-status-code no-card)) ) ) - ((= desired-mode 'error) - (set! (-> *setting-control* default auto-save) #f) - (go-virtual error (mc-status-code no-card)) - ) - ) (set! (-> *setting-control* default auto-save) #f) (go-virtual get-heap) (none) @@ -2111,20 +1393,20 @@ auto-save-post :virtual #t :code (behavior () - (set! (-> self state-time) (-> *display* real-frame-counter)) - (let ((a0-1 (reserve-alloc *art-control*))) - (while (not a0-1) - (if (>= (- (-> *display* real-frame-counter) (-> self state-time)) #x4650) - (go-virtual error (mc-status-code no-memory)) + (set! (-> self state-time) (-> *display* real-frame-counter)) + (let ((a0-1 (reserve-alloc *art-control*))) + (while (not a0-1) + (if (>= (- (-> *display* real-frame-counter) (-> self state-time)) #x4650) + (go-virtual error (mc-status-code no-memory)) + ) + (suspend) + (set! a0-1 (reserve-alloc *art-control*)) + ) + (set! (-> self buffer) a0-1) ) - (suspend) - (set! a0-1 (reserve-alloc *art-control*)) - ) - (set! (-> self buffer) a0-1) + (go-virtual get-card) + (none) ) - (go-virtual get-card) - (none) - ) :post auto-save-post ) @@ -2134,52 +1416,52 @@ auto-save-post :virtual #t :code (behavior () - (label cfg-0) - (mc-get-slot-info (-> self slot) (-> self info)) - (when (zero? (-> self info known)) - (suspend) - (goto cfg-0) - ) - (cond - ((zero? (-> self info handle)) - (go-virtual error (mc-status-code no-card)) - ) - ((zero? (-> self card)) - (set! (-> self card) (-> self info handle)) - ) - ((!= (-> self info handle) (-> self card)) - (go-virtual error (mc-status-code bad-handle)) - ) - ) - (case (-> self mode) - (('save 'auto-save) - (go-virtual save) + (label cfg-0) + (mc-get-slot-info (-> self slot) (-> self info)) + (when (zero? (-> self info known)) + (suspend) + (goto cfg-0) ) - (('save-last) - (set! (-> self which) (-> self info last-file)) - (if (= (-> self which) -1) - (go-virtual error (mc-status-code no-last)) - (go-virtual save) + (cond + ((zero? (-> self info handle)) + (go-virtual error (mc-status-code no-card)) + ) + ((zero? (-> self card)) + (set! (-> self card) (-> self info handle)) + ) + ((!= (-> self info handle) (-> self card)) + (go-virtual error (mc-status-code bad-handle)) + ) ) - ) - (('restore) - (go-virtual restore) - ) - (('format-card) - (go-virtual format-card) - ) - (('unformat-card) - (go-virtual unformat-card) - ) - (('create-file) - (go-virtual create-file) - ) - (else - (go-virtual done) - ) + (case (-> self mode) + (('save 'auto-save) + (go-virtual save) + ) + (('save-last) + (set! (-> self which) (-> self info last-file)) + (if (= (-> self which) -1) + (go-virtual error (mc-status-code no-last)) + (go-virtual save) + ) + ) + (('restore) + (go-virtual restore) + ) + (('format-card) + (go-virtual format-card) + ) + (('unformat-card) + (go-virtual unformat-card) + ) + (('create-file) + (go-virtual create-file) + ) + (else + (go-virtual done) + ) + ) + (none) ) - (none) - ) :post auto-save-post ) @@ -2189,41 +1471,41 @@ auto-save-post :virtual #t :code (behavior () - (when (zero? (-> self info formatted)) - (label cfg-1) - (set! (-> self result) (mc-format (-> self card))) - (when (!= (-> self result) (mc-status-code ok)) - (suspend) - (goto cfg-1) - ) - (label cfg-3) - (set! (-> self result) (the-as mc-status-code (mc-check-result))) - (let ((v1-4 (-> self result))) - (b! (nonzero? v1-4) cfg-5 :delay (nop!)) - (b! #t cfg-10 :delay (nop!)) - (label cfg-5) - (b! (= v1-4 (mc-status-code format-failed)) cfg-1 :delay (nop!)) - (nop!) - (b! (!= v1-4 (mc-status-code ok)) cfg-9 :delay (nop!)) - ) - (b! #t cfg-12 :delay (nop!)) - (the-as none 0) - (b! #t cfg-10 :delay (nop!)) - (label cfg-9) - (go-virtual error (-> self result)) - (label cfg-10) - (suspend) - (b! #t cfg-3 :delay (nop!)) - ) - (label cfg-12) - (case (-> self mode) - (('create-file 'save 'save-last 'auto-save 'restore) - (go-virtual create-file) + (when (zero? (-> self info formatted)) + (label cfg-1) + (set! (-> self result) (mc-format (-> self card))) + (when (!= (-> self result) (mc-status-code ok)) + (suspend) + (goto cfg-1) + ) + (label cfg-3) + (set! (-> self result) (the-as mc-status-code (mc-check-result))) + (let ((v1-4 (-> self result))) + (b! (nonzero? v1-4) cfg-5 :delay (nop!)) + (b! #t cfg-10 :delay (nop!)) + (label cfg-5) + (b! (= v1-4 (mc-status-code format-failed)) cfg-1 :delay (nop!)) + (nop!) + (b! (!= v1-4 (mc-status-code ok)) cfg-9 :delay (nop!)) + ) + (b! #t cfg-12 :delay (nop!)) + (the-as none 0) + (b! #t cfg-10 :delay (nop!)) + (label cfg-9) + (go-virtual error (-> self result)) + (label cfg-10) + (suspend) + (b! #t cfg-3 :delay (nop!)) ) + (label cfg-12) + (case (-> self mode) + (('create-file 'save 'save-last 'auto-save 'restore) + (go-virtual create-file) + ) + ) + (go-virtual done) + (none) ) - (go-virtual done) - (none) - ) :post auto-save-post ) @@ -2233,32 +1515,32 @@ auto-save-post :virtual #t :code (behavior () - (when (nonzero? (-> self info formatted)) - (label cfg-1) - (set! (-> self result) (mc-unformat (-> self card))) - (when (!= (-> self result) (mc-status-code ok)) - (suspend) - (goto cfg-1) - ) - (while #t - (set! (-> self result) (the-as mc-status-code (mc-check-result))) - (case (-> self result) - (((mc-status-code busy)) + (when (nonzero? (-> self info formatted)) + (label cfg-1) + (set! (-> self result) (mc-unformat (-> self card))) + (when (!= (-> self result) (mc-status-code ok)) + (suspend) + (goto cfg-1) + ) + (while #t + (set! (-> self result) (the-as mc-status-code (mc-check-result))) + (case (-> self result) + (((mc-status-code busy)) + ) + (((mc-status-code ok)) + (goto cfg-11) + ) + (else + (go-virtual error (-> self result)) + ) + ) + (suspend) ) - (((mc-status-code ok)) - (goto cfg-11) - ) - (else - (go-virtual error (-> self result)) - ) ) - (suspend) - ) + (label cfg-11) + (go-virtual done) + (none) ) - (label cfg-11) - (go-virtual done) - (none) - ) :post auto-save-post ) @@ -2268,54 +1550,51 @@ auto-save-post :virtual #t :code (behavior () - (cond - ((zero? (-> self info formatted)) - (go-virtual error (mc-status-code no-format)) - ) - ((zero? (-> self info inited)) - (if (< (-> self info mem-actual) (-> self info mem-required)) - (go-virtual error (mc-status-code no-space)) - ) - (let ((v1-12 (-> self buffer))) - (set! (-> v1-12 current) (-> v1-12 base)) - ) - (label cfg-6) - (set! - (-> self result) - (mc-create-file (-> self card) (the-as uint (-> self buffer base))) - ) - (when (!= (-> self result) (mc-status-code ok)) - (suspend) - (goto cfg-6) - ) - (while #t - (set! (-> self result) (the-as mc-status-code (mc-check-result))) - (case (-> self result) - (((mc-status-code busy)) - ) - (((mc-status-code ok)) - (goto cfg-16) - ) - (else - (go-virtual error (-> self result)) - ) + (cond + ((zero? (-> self info formatted)) + (go-virtual error (mc-status-code no-format)) + ) + ((zero? (-> self info inited)) + (if (< (-> self info mem-actual) (-> self info mem-required)) + (go-virtual error (mc-status-code no-space)) + ) + (let ((v1-12 (-> self buffer))) + (set! (-> v1-12 current) (-> v1-12 base)) + ) + (label cfg-6) + (set! (-> self result) (mc-create-file (-> self card) (the-as uint (-> self buffer base)))) + (when (!= (-> self result) (mc-status-code ok)) + (suspend) + (goto cfg-6) + ) + (while #t + (set! (-> self result) (the-as mc-status-code (mc-check-result))) + (case (-> self result) + (((mc-status-code busy)) + ) + (((mc-status-code ok)) + (goto cfg-16) + ) + (else + (go-virtual error (-> self result)) + ) + ) + (suspend) + ) ) - (suspend) ) - ) - ) - (label cfg-16) - (case (-> self mode) - (('restore) - (go-virtual restore) + (label cfg-16) + (case (-> self mode) + (('restore) + (go-virtual restore) + ) + (('save 'save-last 'auto-save) + (go-virtual save) + ) ) - (('save 'save-last 'auto-save) - (go-virtual save) - ) + (go-virtual done) + (none) ) - (go-virtual done) - (none) - ) :post auto-save-post ) @@ -2325,78 +1604,69 @@ auto-save-post :virtual #t :code (behavior () - (cond - ((zero? (-> self info formatted)) - (go-virtual error (mc-status-code no-format)) - ) - ((zero? (-> self info inited)) - (go-virtual error (mc-status-code no-file)) - ) - ) - (case (-> self mode) - (('auto-save) - (+! (-> *game-info* auto-save-count) 1) - ) - ) - (let ((v1-14 (-> self buffer))) - (set! (-> v1-14 current) (-> v1-14 base)) - ) - (let ((gp-0 (the-as object loading-level))) - (set! loading-level (-> self buffer)) - (set! (-> self save) (new 'loading-level 'game-save #x10000)) - (save-game! *game-info* (-> self save) "save") - (set! loading-level (the-as kheap gp-0)) - 0 - (label cfg-7) - (set! - (-> self result) - (mc-save - (-> self card) - (-> self which) - (&-> (-> self save) type) - (the-as int (-> self save info-int32)) - ) - ) - (when (!= (-> self result) (mc-status-code ok)) - (suspend) - (goto cfg-7) - ) - (while #t - (set! (-> self result) (the-as mc-status-code (mc-check-result))) - (let ((v1-24 (-> self result))) - (set! gp-0 (cond - ((= v1-24 (mc-status-code busy)) - #f - ) - ((= v1-24 (mc-status-code ok)) - (goto cfg-21) - gp-0 - ) - ((= v1-24 (mc-status-code write-error)) - (suspend) - gp-0 - ) - (else - (case (-> self mode) - (('auto-save) - (set! - (-> *game-info* auto-save-count) - (seekl (-> *game-info* auto-save-count) 0 1) - ) - ) - ) - (go-virtual error (-> self result)) - ) - ) + (cond + ((zero? (-> self info formatted)) + (go-virtual error (mc-status-code no-format)) + ) + ((zero? (-> self info inited)) + (go-virtual error (mc-status-code no-file)) ) ) - (suspend) - ) + (case (-> self mode) + (('auto-save) + (+! (-> *game-info* auto-save-count) 1) + ) + ) + (let ((v1-14 (-> self buffer))) + (set! (-> v1-14 current) (-> v1-14 base)) + ) + (let ((gp-0 (the-as object loading-level))) + (set! loading-level (-> self buffer)) + (set! (-> self save) (new 'loading-level 'game-save #x10000)) + (save-game! *game-info* (-> self save) "save") + (set! loading-level (the-as kheap gp-0)) + 0 + (label cfg-7) + (set! (-> self result) + (mc-save (-> self card) (-> self which) (&-> (-> self save) type) (the-as int (-> self save info-int32))) + ) + (when (!= (-> self result) (mc-status-code ok)) + (suspend) + (goto cfg-7) + ) + (while #t + (set! (-> self result) (the-as mc-status-code (mc-check-result))) + (let ((v1-24 (-> self result))) + (set! gp-0 (cond + ((= v1-24 (mc-status-code busy)) + #f + ) + ((= v1-24 (mc-status-code ok)) + (goto cfg-21) + gp-0 + ) + ((= v1-24 (mc-status-code write-error)) + (suspend) + gp-0 + ) + (else + (case (-> self mode) + (('auto-save) + (set! (-> *game-info* auto-save-count) (seekl (-> *game-info* auto-save-count) 0 1)) + ) + ) + (go-virtual error (-> self result)) + ) + ) + ) + ) + (suspend) + ) + ) + (label cfg-21) + (go-virtual done) + (none) ) - (label cfg-21) - (go-virtual done) - (none) - ) :post auto-save-post ) @@ -2406,77 +1676,74 @@ auto-save-post :virtual #t :code (behavior () - (local-vars (gp-0 object)) - (cond - ((zero? (-> self info formatted)) - (go-virtual error (mc-status-code no-format)) - ) - ((zero? (-> self info inited)) - (go-virtual error (mc-status-code no-file)) - ) - ) - (let ((v1-10 (-> self buffer))) - (set! (-> v1-10 current) (-> v1-10 base)) - ) - (if (zero? (-> self info file (-> self which) present)) - (go-virtual error (mc-status-code no-save)) - ) - (label cfg-6) - (set! - (-> self result) - (mc-load (-> self card) (-> self which) (-> self buffer base)) - ) - (when (!= (-> self result) (mc-status-code ok)) - (suspend) - (goto cfg-6) - ) - (while #t - (set! (-> self result) (the-as mc-status-code (mc-check-result))) - (let ((v1-22 (-> self result))) - (set! gp-0 (cond - ((= v1-22 (mc-status-code busy)) - #f - ) - ((= v1-22 (mc-status-code ok)) - (goto cfg-20) - gp-0 - ) - ((= v1-22 (mc-status-code read-error)) - (suspend) - gp-0 - ) - ((= v1-22 (mc-status-code new-game)) - (go-virtual error (mc-status-code no-save)) - ) - (else - (go-virtual error (-> self result)) - ) - ) + (local-vars (gp-0 object)) + (cond + ((zero? (-> self info formatted)) + (go-virtual error (mc-status-code no-format)) + ) + ((zero? (-> self info inited)) + (go-virtual error (mc-status-code no-file)) + ) ) - ) - (suspend) + (let ((v1-10 (-> self buffer))) + (set! (-> v1-10 current) (-> v1-10 base)) + ) + (if (zero? (-> self info file (-> self which) present)) + (go-virtual error (mc-status-code no-save)) + ) + (label cfg-6) + (set! (-> self result) (mc-load (-> self card) (-> self which) (-> self buffer base))) + (when (!= (-> self result) (mc-status-code ok)) + (suspend) + (goto cfg-6) + ) + (while #t + (set! (-> self result) (the-as mc-status-code (mc-check-result))) + (let ((v1-22 (-> self result))) + (set! gp-0 (cond + ((= v1-22 (mc-status-code busy)) + #f + ) + ((= v1-22 (mc-status-code ok)) + (goto cfg-20) + gp-0 + ) + ((= v1-22 (mc-status-code read-error)) + (suspend) + gp-0 + ) + ((= v1-22 (mc-status-code new-game)) + (go-virtual error (mc-status-code no-save)) + ) + (else + (go-virtual error (-> self result)) + ) + ) + ) + ) + (suspend) + ) + (label cfg-20) + (set! (-> self save) (the-as game-save (&+ (-> self buffer base) 4))) + (let ((v1-34 (-> self save))) + (set! (-> v1-34 type) game-save) + (if (!= (-> v1-34 version) 1) + (go-virtual error (mc-status-code bad-version)) + ) + ) + (set-setting! *setting-control* self 'music-volume 'abs 0.0 0) + (set-setting! *setting-control* self 'sfx-volume 'abs 0.0 0) + (set! (-> *game-info* mode) 'play) + (initialize! *game-info* 'game (-> self save) (the-as string #f)) + (set-master-mode 'game) + (push-setting! *setting-control* self 'process-mask 'set 0.0 16) + (copy-settings-from-target! *setting-control*) + (dotimes (gp-1 15) + (suspend) + ) + (go-virtual done) + (none) ) - (label cfg-20) - (set! (-> self save) (the-as game-save (&+ (-> self buffer base) 4))) - (let ((v1-34 (-> self save))) - (set! (-> v1-34 type) game-save) - (if (!= (-> v1-34 version) 1) - (go-virtual error (mc-status-code bad-version)) - ) - ) - (set-setting! *setting-control* self 'music-volume 'abs 0.0 0) - (set-setting! *setting-control* self 'sfx-volume 'abs 0.0 0) - (set! (-> *game-info* mode) 'play) - (initialize! *game-info* 'game (-> self save) (the-as string #f)) - (set-master-mode 'game) - (push-setting! *setting-control* self 'process-mask 'set 0.0 16) - (copy-settings-from-target! *setting-control*) - (dotimes (gp-1 15) - (suspend) - ) - (go-virtual done) - (none) - ) :post auto-save-post ) @@ -2486,121 +1753,115 @@ auto-save-post :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'progress-allowed?) - #t - ) - ((= v1-0 'die) - (deactivate self) - ) - ) - ) - ) - ) - :code - (behavior ((arg0 mc-status-code)) - (if (-> self buffer) - (reserve-free *art-control* (-> self buffer)) - ) - (set! (-> self result) arg0) - (let ((s5-0 *auto-save-info*)) - (mem-copy! (the-as pointer s5-0) (the-as pointer (-> self info)) 300) - (send-event - (handle->process (-> self notify)) - 'notify - 'error - (-> self result) - s5-0 - ) - ) - (let ((t9-3 format) - (a0-7 #t) - (a1-3 "SAVE ERROR: ~A~%") - (v1-12 (-> self result)) - ) - (t9-3 a0-7 a1-3 (cond - ((= v1-12 (mc-status-code no-auto-save)) - "no-auto-save" - ) - ((= v1-12 (mc-status-code no-process)) - "no-process" - ) - ((= v1-12 (mc-status-code bad-version)) - "bad-version" - ) - ((= v1-12 (mc-status-code no-space)) - "no-space" - ) - ((= v1-12 (mc-status-code no-save)) - "no-save" - ) - ((= v1-12 (mc-status-code no-file)) - "no-file" - ) - ((= v1-12 (mc-status-code no-format)) - "no-format" - ) - ((= v1-12 (mc-status-code no-last)) - "no-last" - ) - ((= v1-12 (mc-status-code no-card)) - "no-card" - ) - ((= v1-12 (mc-status-code no-memory)) - "no-memory" - ) - ((= v1-12 (mc-status-code new-game)) - "new-game" - ) - ((= v1-12 (mc-status-code read-error)) - "read-error" - ) - ((= v1-12 (mc-status-code write-error)) - "write-error" - ) - ((= v1-12 (mc-status-code internal-error)) - "internal-error" - ) - ((= v1-12 (mc-status-code format-failed)) - "format-failed" - ) - ((= v1-12 (mc-status-code bad-handle)) - "bad-handle" - ) - ((= v1-12 (mc-status-code ok)) - "ok" - ) - ((= v1-12 (mc-status-code busy)) - "busy" - ) - (else - "*unknown*" - ) - ) - ) - ) - (if (= (-> self result) (mc-status-code no-auto-save)) - (return #f) - ) - (case (-> self mode) - (('auto-save 'error) - (set! (-> self state-time) (-> *display* real-frame-counter)) - (set! (-> *game-info* auto-save-status) arg0) - (while (< (- (-> *display* real-frame-counter) (-> self state-time)) 60) - (if (not (progress-allowed?)) - (set! (-> self state-time) (-> *display* real-frame-counter)) - ) - (suspend) - ) - (if (= arg0 (mc-status-code no-card)) - (activate-progress *dproc* (progress-screen memcard-removed)) - (activate-progress *dproc* (progress-screen memcard-auto-save-error)) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'progress-allowed?) + #t + ) + ((= v1-0 'die) + (deactivate self) + ) + ) + ) ) ) - (none) - ) + :code + (behavior ((arg0 mc-status-code)) + (if (-> self buffer) + (reserve-free *art-control* (-> self buffer)) + ) + (set! (-> self result) arg0) + (let ((s5-0 *auto-save-info*)) + (mem-copy! (the-as pointer s5-0) (the-as pointer (-> self info)) 300) + (send-event (handle->process (-> self notify)) 'notify 'error (-> self result) s5-0) + ) + (let ((t9-3 format) + (a0-7 #t) + (a1-3 "SAVE ERROR: ~A~%") + (v1-12 (-> self result)) + ) + (t9-3 a0-7 a1-3 (cond + ((= v1-12 (mc-status-code no-auto-save)) + "no-auto-save" + ) + ((= v1-12 (mc-status-code no-process)) + "no-process" + ) + ((= v1-12 (mc-status-code bad-version)) + "bad-version" + ) + ((= v1-12 (mc-status-code no-space)) + "no-space" + ) + ((= v1-12 (mc-status-code no-save)) + "no-save" + ) + ((= v1-12 (mc-status-code no-file)) + "no-file" + ) + ((= v1-12 (mc-status-code no-format)) + "no-format" + ) + ((= v1-12 (mc-status-code no-last)) + "no-last" + ) + ((= v1-12 (mc-status-code no-card)) + "no-card" + ) + ((= v1-12 (mc-status-code no-memory)) + "no-memory" + ) + ((= v1-12 (mc-status-code new-game)) + "new-game" + ) + ((= v1-12 (mc-status-code read-error)) + "read-error" + ) + ((= v1-12 (mc-status-code write-error)) + "write-error" + ) + ((= v1-12 (mc-status-code internal-error)) + "internal-error" + ) + ((= v1-12 (mc-status-code format-failed)) + "format-failed" + ) + ((= v1-12 (mc-status-code bad-handle)) + "bad-handle" + ) + ((= v1-12 (mc-status-code ok)) + "ok" + ) + ((= v1-12 (mc-status-code busy)) + "busy" + ) + (else + "*unknown*" + ) + ) + ) + ) + (if (= (-> self result) (mc-status-code no-auto-save)) + (return #f) + ) + (case (-> self mode) + (('auto-save 'error) + (set! (-> self state-time) (-> *display* real-frame-counter)) + (set! (-> *game-info* auto-save-status) arg0) + (while (< (- (-> *display* real-frame-counter) (-> self state-time)) 60) + (if (not (progress-allowed?)) + (set! (-> self state-time) (-> *display* real-frame-counter)) + ) + (suspend) + ) + (if (= arg0 (mc-status-code no-card)) + (activate-progress *dproc* (progress-screen memcard-removed)) + (activate-progress *dproc* (progress-screen memcard-auto-save-error)) + ) + ) + ) + (none) + ) :post auto-save-post ) @@ -2610,84 +1871,69 @@ auto-save-post :virtual #t :code (behavior () - (if (and (-> self buffer) (-> *art-control* reserve-buffer)) - (reserve-free *art-control* (-> self buffer)) - ) - (set! (-> *game-info* auto-save-status) (mc-status-code ok)) - (case (-> self mode) - (('save 'save-last 'auto-save 'restore) - (set! (-> *setting-control* default auto-save) #t) - (set! (-> *game-info* auto-save-card) (-> self card)) - (set! (-> *game-info* auto-save-which) (-> self which)) - ) - ) - (let ((gp-0 *auto-save-info*)) - (mem-copy! (the-as pointer gp-0) (the-as pointer (-> self info)) 300) - (send-event (handle->process (-> self notify)) 'notify 'done 1 gp-0) - ) - (case (-> self mode) - (('auto-save) - (when (= (-> *game-info* auto-save-count) 1) - (set! (-> self event-hook) (-> (method-of-object self error) event)) - (set! (-> self state-time) (-> *display* real-frame-counter)) - (while (< (- (-> *display* real-frame-counter) (-> self state-time)) 60) - (if (not (progress-allowed?)) - (set! (-> self state-time) (-> *display* real-frame-counter)) - ) - (suspend) + (if (and (-> self buffer) (-> *art-control* reserve-buffer)) + (reserve-free *art-control* (-> self buffer)) ) - (activate-progress *dproc* (progress-screen auto-save)) + (set! (-> *game-info* auto-save-status) (mc-status-code ok)) + (case (-> self mode) + (('save 'save-last 'auto-save 'restore) + (set! (-> *setting-control* default auto-save) #t) + (set! (-> *game-info* auto-save-card) (-> self card)) + (set! (-> *game-info* auto-save-which) (-> self which)) ) ) + (let ((gp-0 *auto-save-info*)) + (mem-copy! (the-as pointer gp-0) (the-as pointer (-> self info)) 300) + (send-event (handle->process (-> self notify)) 'notify 'done 1 gp-0) + ) + (case (-> self mode) + (('auto-save) + (when (= (-> *game-info* auto-save-count) 1) + (set! (-> self event-hook) (-> (method-of-object self error) event)) + (set! (-> self state-time) (-> *display* real-frame-counter)) + (while (< (- (-> *display* real-frame-counter) (-> self state-time)) 60) + (if (not (progress-allowed?)) + (set! (-> self state-time) (-> *display* real-frame-counter)) + ) + (suspend) + ) + (activate-progress *dproc* (progress-screen auto-save)) + ) + ) + ) + (none) ) - (none) - ) :post auto-save-post ) ;; definition for function auto-save-command ;; INFO: Return type mismatch (pointer process) vs none. -(defun - auto-save-command - ((arg0 symbol) (arg1 int) (arg2 int) (arg3 process-tree)) +(defun auto-save-command ((arg0 symbol) (arg1 int) (arg2 int) (arg3 process-tree)) (let ((s2-0 (get-process *default-dead-pool* auto-save #x4000))) - (when s2-0 - (let ((t9-1 (method-of-type auto-save activate))) - (t9-1 - (the-as auto-save s2-0) - *default-pool* - 'auto-save - (&-> *dram-stack* 14336) + (when s2-0 + (let ((t9-1 (method-of-type auto-save activate))) + (t9-1 (the-as auto-save s2-0) *default-pool* 'auto-save (&-> *dram-stack* 14336)) + ) + (run-now-in-process s2-0 auto-save-init-by-other arg0 arg3 arg1 arg2) + (-> s2-0 ppointer) ) - ) - (run-now-in-process s2-0 auto-save-init-by-other arg0 arg3 arg1 arg2) - (-> s2-0 ppointer) ) - ) (none) ) ;; definition for function auto-save-check ;; INFO: Return type mismatch int vs none. (defun auto-save-check () - (when - (and - (-> *setting-control* current auto-save) - (not (handle->process (-> *game-info* auto-save-proc))) + (when (and (-> *setting-control* current auto-save) (not (handle->process (-> *game-info* auto-save-proc)))) + (mc-get-slot-info 0 *auto-save-info*) + (if (and + (nonzero? (-> *auto-save-info* known)) + (or (zero? (-> *auto-save-info* handle)) (!= (-> *auto-save-info* handle) (-> *game-info* auto-save-card))) + ) + (auto-save-command 'error 0 0 *default-pool*) + ) ) - (mc-get-slot-info 0 *auto-save-info*) - (if - (and - (nonzero? (-> *auto-save-info* known)) - (or - (zero? (-> *auto-save-info* handle)) - (!= (-> *auto-save-info* handle) (-> *game-info* auto-save-card)) - ) - ) - (auto-save-command 'error 0 0 *default-pool*) - ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/game/generic-obs-h_REF.gc b/test/decompiler/reference/engine/game/generic-obs-h_REF.gc index 69eb0998e3..0a1121ec2d 100644 --- a/test/decompiler/reference/engine/game/generic-obs-h_REF.gc +++ b/test/decompiler/reference/engine/game/generic-obs-h_REF.gc @@ -28,8 +28,8 @@ ;; definition for method 3 of type manipy (defmethod inspect manipy ((obj manipy)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tnew-trans-hook: ~A~%" (-> obj new-trans-hook)) (format #t "~T~Tcur-trans-hook: ~A~%" (-> obj cur-trans-hook)) (format #t "~T~Tcur-event-hook: ~A~%" (-> obj cur-event-hook)) @@ -67,8 +67,8 @@ ;; definition for method 3 of type part-spawner (defmethod inspect part-spawner ((obj part-spawner)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tmode: #x~X~%" (-> obj mode)) (format #t "~T~Tenable: ~A~%" (-> obj enable)) (format #t "~T~Tradius: (meters ~m)~%" (-> obj radius)) @@ -101,8 +101,8 @@ ;; definition for method 3 of type part-tracker (defmethod inspect part-tracker ((obj part-tracker)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Troot: ~A~%" (-> obj root)) (format #t "~T~Tpart: ~A~%" (-> obj part)) (format #t "~T~Ttarget: ~D~%" (-> obj target)) @@ -154,8 +154,8 @@ ;; definition for method 3 of type camera-tracker (defmethod inspect camera-tracker ((obj camera-tracker)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tname: ~A~%" (-> obj name)) (format #t "~T~Tgrab-target: ~D~%" (-> obj grab-target)) (format #t "~T~Tgrab-event: ~A~%" (-> obj grab-event)) @@ -198,8 +198,8 @@ ;; definition for method 3 of type touch-tracker (defmethod inspect touch-tracker ((obj touch-tracker)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tduration: ~D~%" (-> obj duration)) (format #t "~T~Ttarget: ~D~%" (-> obj target)) (format #t "~T~Tevent: ~A~%" (-> obj event)) @@ -225,8 +225,8 @@ ;; definition for method 3 of type swingpole (defmethod inspect swingpole ((obj swingpole)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Troot: ~A~%" (-> obj root)) (format #t "~T~Tdir: ~`vector`P~%" (-> obj dir)) (format #t "~T~Trange: (meters ~m)~%" (-> obj range)) @@ -290,8 +290,8 @@ ;; definition for method 3 of type othercam (defmethod inspect othercam ((obj othercam)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Thand: ~D~%" (-> obj hand)) (format #t "~T~Told-global-mask: ~D~%" (-> obj old-global-mask)) (format #t "~T~Tmask-to-clear: ~D~%" (-> obj mask-to-clear)) diff --git a/test/decompiler/reference/engine/game/generic-obs_REF.gc b/test/decompiler/reference/engine/game/generic-obs_REF.gc index 6ce1dc1b81..54eb7c5499 100644 --- a/test/decompiler/reference/engine/game/generic-obs_REF.gc +++ b/test/decompiler/reference/engine/game/generic-obs_REF.gc @@ -4,104 +4,87 @@ ;; definition for function clone-anim-once ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defbehavior - clone-anim-once process-drawable - ((arg0 handle) (arg1 int) (arg2 symbol) (arg3 string)) +(defbehavior clone-anim-once process-drawable ((arg0 handle) (arg1 int) (arg2 symbol) (arg3 string)) (set! (-> self skel status) (logand -33 (-> self skel status))) (let ((s5-0 (handle->process arg0))) - (if (the-as process-drawable s5-0) - (joint-control-copy! - (-> self skel) - (-> (the-as process-drawable s5-0) skel) - ) - ) - (cond - ((and - (the-as process-drawable s5-0) - (joint-control-remap! - (-> self skel) - (-> self draw art-group) - (-> (the-as process-drawable s5-0) draw art-group) - '() - 0 - arg3 - ) - ) - (when arg2 - (let* ((s4-1 (-> self root)) - (a0-7 - (if - (and (nonzero? s4-1) (type-type? (-> s4-1 type) collide-shape)) - (the-as collide-shape s4-1) - ) - ) - ) - (if a0-7 - (TODO-RENAME-30 a0-7 (-> (the-as process-drawable s5-0) root trans)) - (set! - (-> self root trans quad) - (-> (the-as process-drawable s5-0) root trans quad) - ) + (if (the-as process-drawable s5-0) + (joint-control-copy! (-> self skel) (-> (the-as process-drawable s5-0) skel)) ) - ) - (quaternion-copy! - (-> self root quat) - (-> (the-as process-drawable s5-0) root quat) - ) - ) - (if (logtest? (-> (the-as process-drawable s5-0) skel status) 32) - (logior! (-> self skel status) 32) - ) - (set! (-> self draw status) (logand -7 (-> self draw status))) - (if (not (-> self skel root-channel 0 frame-group)) - (logior! (-> self draw status) 4) - ) - (let* ((s5-1 self) - (v1-37 (if (and (nonzero? s5-1) (type-type? (-> s5-1 type) manipy)) - s5-1 - ) - ) + (cond + ((and (the-as process-drawable s5-0) (joint-control-remap! + (-> self skel) + (-> self draw art-group) + (-> (the-as process-drawable s5-0) draw art-group) + '() + 0 + arg3 + ) ) - (if (and manipy (not (-> (the-as manipy v1-37) draw?))) - (logior! (-> self draw status) 4) + (when arg2 + (let* ((s4-1 (-> self root)) + (a0-7 (if (and (nonzero? s4-1) (type-type? (-> s4-1 type) collide-shape)) + (the-as collide-shape s4-1) + ) + ) + ) + (if a0-7 + (TODO-RENAME-30 a0-7 (-> (the-as process-drawable s5-0) root trans)) + (set! (-> self root trans quad) (-> (the-as process-drawable s5-0) root trans quad)) + ) + ) + (quaternion-copy! (-> self root quat) (-> (the-as process-drawable s5-0) root quat)) + ) + (if (logtest? (-> (the-as process-drawable s5-0) skel status) 32) + (logior! (-> self skel status) 32) + ) + (set! (-> self draw status) (logand -7 (-> self draw status))) + (if (not (-> self skel root-channel 0 frame-group)) + (logior! (-> self draw status) 4) + ) + (let* ((s5-1 self) + (v1-37 (if (and (nonzero? s5-1) (type-type? (-> s5-1 type) manipy)) + s5-1 + ) + ) + ) + (if (and manipy (not (-> (the-as manipy v1-37) draw?))) + (logior! (-> self draw status) 4) + ) + ) + (dummy-17 self) + (let ((a0-22 (-> self skel effect))) + (if a0-22 + (TODO-RENAME-9 a0-22) + ) + ) + (if (logtest? (-> self skel status) 72) + (merc-blend-shape self) + ) + (if (logtest? (-> self skel status) 384) + (merc-eye-anim self) + ) ) + (else + (logior! (-> self draw status) 2) + (ja-post) + ) ) - (dummy-17 self) - (let ((a0-22 (-> self skel effect))) - (if a0-22 - (TODO-RENAME-9 a0-22) - ) - ) - (if (logtest? (-> self skel status) 72) - (merc-blend-shape self) - ) - (if (logtest? (-> self skel status) 384) - (merc-eye-anim self) - ) - ) - (else - (logior! (-> self draw status) 2) - (ja-post) - ) ) - ) (if (>= arg1 0) - (vector<-cspace! (-> self draw origin) (-> self node-list data arg1)) - ) + (vector<-cspace! (-> self draw origin) (-> self node-list data arg1)) + ) 0 (none) ) ;; definition for function clone-anim ;; INFO: Return type mismatch int vs none. -(defbehavior - clone-anim process-drawable - ((arg0 handle) (arg1 int) (arg2 symbol) (arg3 string)) +(defbehavior clone-anim process-drawable ((arg0 handle) (arg1 int) (arg2 symbol) (arg3 string)) (ja-post) (while (handle->process arg0) - (clone-anim-once arg0 arg1 #t arg3) - (suspend) - ) + (clone-anim-once arg0 arg1 #t arg3) + (suspend) + ) (set! (-> self skel status) (logand -33 (-> self skel status))) 0 (none) @@ -111,59 +94,45 @@ (defstate swingpole-stance (swingpole) :code (behavior () - (while #t - (when - (and - *target* - (< - (vector-vector-distance - (-> self root trans) - (-> *target* control unknown-vector90) + (while #t + (when (and + *target* + (< (vector-vector-distance (-> self root trans) (-> *target* control unknown-vector90)) (-> self range)) + (logtest? (-> *target* control root-prim prim-core action) 64) + (< (-> *target* control unknown-vector90 y) (+ (-> self root trans y) (* 0.5 (-> self range)))) + ) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'pole-grab) + (set! (-> a1-1 param 0) (the-as uint self)) + (if (send-event-function *target* a1-1) + (go swingpole-active) + ) + ) ) - (-> self range) - ) - (logtest? (-> *target* control root-prim prim-core action) 64) - (< - (-> *target* control unknown-vector90 y) - (+ (-> self root trans y) (* 0.5 (-> self range))) - ) + (suspend) ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'pole-grab) - (set! (-> a1-1 param 0) (the-as uint self)) - (if (send-event-function *target* a1-1) - (go swingpole-active) - ) - ) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate swingpole-active (swingpole) :code (behavior () - (suspend) - (while - (and - *target* - (= (handle->process (-> *target* control unknown-handle10)) self) - ) (suspend) + (while (and *target* (= (handle->process (-> *target* control unknown-handle10)) self)) + (suspend) + ) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) 150) + (suspend) + ) + ) + (go swingpole-stance) + (none) ) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) 150) - (suspend) - ) - ) - (go swingpole-stance) - (none) - ) ) ;; definition for method 11 of type swingpole @@ -195,10 +164,7 @@ ;; definition for method 11 of type process-hidden ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - process-hidden - ((obj process-hidden) (arg0 entity-actor)) +(defmethod init-from-entity! process-hidden ((obj process-hidden) (arg0 entity-actor)) "Copy defaults from the entity." (process-entity-status! obj (entity-perm-status dead) #t) (go (method-of-object obj die)) @@ -289,420 +255,309 @@ (defstate manipy-idle (manipy) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-0 none)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'attackable) - (cond - ((-> arg3 param 0) - (set! - v0-0 - (the-as - none - (logior (process-mask attackable) (-> self mask)) - ) - ) - (set! (-> self mask) (the-as process-mask v0-0)) + (local-vars (v0-0 none)) + (let ((v1-0 arg2)) + (the-as + object + (cond + ((= v1-0 'attackable) + (cond + ((-> arg3 param 0) + (set! v0-0 (the-as none (logior (process-mask attackable) (-> self mask)))) + (set! (-> self mask) (the-as process-mask v0-0)) + ) + (else + (set! v0-0 (the-as none (logclear (-> self mask) (process-mask attackable)))) + (set! (-> self mask) (the-as process-mask v0-0)) + ) + ) + v0-0 + ) + ((= v1-0 'blend-shape) + (cond + ((-> arg3 param 0) + (set! v0-0 (the-as none (logior (-> self skel status) 264))) + (set! (-> self skel status) (the-as uint v0-0)) + ) + (else + (set! v0-0 (the-as none (logand -265 (-> self skel status)))) + (set! (-> self skel status) (the-as uint v0-0)) + ) + ) + v0-0 + ) + ((= v1-0 'shadow) + (cond + ((-> arg3 param 0) + (set! v0-0 (the-as none (-> self shadow-backup))) + (set! (-> self draw shadow) (the-as shadow-geo v0-0)) + v0-0 + ) + (else + (set! (-> self draw shadow) #f) + #f + ) + ) + ) + ((= v1-0 'trans-hook) + (set! v0-0 (the-as none (-> arg3 param 0))) + (set! (-> self new-trans-hook) (the-as (function none) v0-0)) + v0-0 + ) + ((= v1-0 'post-hook) + (set! v0-0 (the-as none (-> arg3 param 0))) + (set! (-> self new-post-hook) (the-as (function none) v0-0)) + v0-0 + ) + ((= v1-0 'eval) + ((the-as (function manipy none) (-> arg3 param 0)) self) + ) + ((= v1-0 'become-hud-object) + (convert-to-hud-object self (the-as hud (-> arg3 param 0))) + ) + ((= v1-0 'event-hook) + (set! v0-0 (the-as none (-> arg3 param 0))) + (set! (-> self cur-event-hook) (the-as (function none) v0-0)) + v0-0 + ) + ((= v1-0 'art-joint-anim) + (set! (-> self new-joint-anim) + (the-as art-joint-anim (dummy-10 (-> self draw art-group) (the-as string (-> arg3 param 0)) art-joint-anim)) + ) + (set! v0-0 (the-as none (-> arg3 param 1))) + (set! (-> self new-joint-anim-blend) (the-as uint v0-0)) + v0-0 + ) + ((= v1-0 'anim-mode) + (when (nonzero? (-> self skel)) + (set! (-> self anim-mode) (the-as symbol (-> arg3 param 0))) + (if (= (-> self anim-mode) 'clone-anim) + (ja-post) + ) + (-> self anim-mode) + ) + ) + ((or (= v1-0 'origin-joint-index) (= v1-0 'center-joint)) + (set! (-> self draw origin-joint-index) (-> arg3 param 0)) + (set! v0-0 (the-as none (-> arg3 param 0))) + (set! (-> self draw shadow-joint-index) (the-as uint v0-0)) + v0-0 + ) + ((= v1-0 'max-vis-dist) + (let ((f0-0 (the-as float (-> arg3 param 0)))) + (set! (-> self draw lod-set lod (-> self draw lod-set max-lod) dist) f0-0) + f0-0 + ) + ) + ((= v1-0 'grab) + (set! (-> self cur-grab-handle) (process->handle (the-as process (-> arg3 param 0)))) + (let ((v1-30 (handle->process (-> self cur-grab-handle)))) + (when v1-30 + (set! v0-0 (the-as none (-> self old-grab-pos))) + (set! (-> (the-as vector v0-0) quad) (-> (the-as process-drawable v1-30) root trans quad)) + v0-0 + ) + ) + ) + ((= v1-0 'target) + (set! v0-0 (the-as none (process->handle (the-as process (-> arg3 param 0))))) + (set! (-> self cur-target-handle) (the-as handle v0-0)) + v0-0 + ) + ((= v1-0 'trans) + (cond + ((type-type? (-> self root type) collide-shape) + (TODO-RENAME-30 (the-as collide-shape (-> self root)) (the-as vector (-> arg3 param 0))) + ) + (else + (set! v0-0 (the-as none (-> self root trans))) + (set! (-> (the-as vector v0-0) quad) (-> (the-as vector (-> arg3 param 0)) quad)) + v0-0 + ) + ) + ) + ((= v1-0 'rot) + (let ((s5-0 (new 'stack-no-clear 'matrix))) + (matrix-rotate-y! s5-0 (the-as float (-> arg3 param 0))) + (matrix->quaternion (-> self root quat) s5-0) + ) + ) + ((= v1-0 'rot-quat) + (quaternion-copy! (-> self root quat) (the-as quaternion (-> arg3 param 0))) + ) + ((= v1-0 'clone-copy-trans) + (set! v0-0 (the-as none (-> arg3 param 0))) + (set! (-> self clone-copy-trans) (the-as basic v0-0)) + v0-0 + ) + ((= v1-0 'release) + (set! (-> self cur-grab-handle) (the-as handle #f)) + #f + ) + ((= v1-0 'draw) + (set! (-> self draw?) (the-as symbol (-> arg3 param 0))) + (cond + ((-> arg3 param 0) + (let ((v1-47 (logtest? (-> self draw status) 2))) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (when v1-47 + (cond + ((nonzero? (-> self skel)) + (let ((gp-1 (-> self skel status))) + (logior! (-> self skel status) 1) + (set! v0-0 (ja-post)) + (set! (-> self skel status) gp-1) ) - (else - (set! - v0-0 - (the-as - none - (logclear (-> self mask) (process-mask attackable)) - ) - ) - (set! (-> self mask) (the-as process-mask v0-0)) - ) - ) v0-0 ) - ((= v1-0 'blend-shape) - (cond - ((-> arg3 param 0) - (set! - v0-0 - (the-as none (logior (-> self skel status) 264)) - ) - (set! (-> self skel status) (the-as uint v0-0)) - ) - (else - (set! - v0-0 - (the-as none (logand -265 (-> self skel status))) - ) - (set! (-> self skel status) (the-as uint v0-0)) - ) - ) - v0-0 - ) - ((= v1-0 'shadow) - (cond - ((-> arg3 param 0) - (set! v0-0 (the-as none (-> self shadow-backup))) - (set! (-> self draw shadow) (the-as shadow-geo v0-0)) - v0-0 - ) - (else - (set! (-> self draw shadow) #f) - #f - ) - ) - ) - ((= v1-0 'trans-hook) - (set! v0-0 (the-as none (-> arg3 param 0))) - (set! - (-> self new-trans-hook) - (the-as (function none) v0-0) - ) - v0-0 - ) - ((= v1-0 'post-hook) - (set! v0-0 (the-as none (-> arg3 param 0))) - (set! - (-> self new-post-hook) - (the-as (function none) v0-0) - ) - v0-0 - ) - ((= v1-0 'eval) - ((the-as (function manipy none) (-> arg3 param 0)) self) - ) - ((= v1-0 'become-hud-object) - (convert-to-hud-object self (the-as hud (-> arg3 param 0))) - ) - ((= v1-0 'event-hook) - (set! v0-0 (the-as none (-> arg3 param 0))) - (set! - (-> self cur-event-hook) - (the-as (function none) v0-0) - ) - v0-0 - ) - ((= v1-0 'art-joint-anim) - (set! - (-> self new-joint-anim) - (the-as - art-joint-anim - (dummy-10 - (-> self draw art-group) - (the-as string (-> arg3 param 0)) - art-joint-anim - ) - ) - ) - (set! v0-0 (the-as none (-> arg3 param 1))) - (set! (-> self new-joint-anim-blend) (the-as uint v0-0)) - v0-0 - ) - ((= v1-0 'anim-mode) - (when (nonzero? (-> self skel)) - (set! - (-> self anim-mode) - (the-as symbol (-> arg3 param 0)) - ) - (if (= (-> self anim-mode) 'clone-anim) - (ja-post) - ) - (-> self anim-mode) - ) - ) - ((or (= v1-0 'origin-joint-index) (= v1-0 'center-joint)) - (set! (-> self draw origin-joint-index) (-> arg3 param 0)) - (set! v0-0 (the-as none (-> arg3 param 0))) - (set! (-> self draw shadow-joint-index) (the-as uint v0-0)) - v0-0 - ) - ((= v1-0 'max-vis-dist) - (let ((f0-0 (the-as float (-> arg3 param 0)))) - (set! - (-> - self - draw - lod-set - lod - (-> self draw lod-set max-lod) - dist - ) - f0-0 - ) - f0-0 - ) - ) - ((= v1-0 'grab) - (set! - (-> self cur-grab-handle) - (process->handle (the-as process (-> arg3 param 0))) - ) - (let ((v1-30 (handle->process (-> self cur-grab-handle)))) - (when v1-30 - (set! v0-0 (the-as none (-> self old-grab-pos))) - (set! - (-> (the-as vector v0-0) quad) - (-> (the-as process-drawable v1-30) root trans quad) - ) - v0-0 - ) - ) - ) - ((= v1-0 'target) - (set! - v0-0 - (the-as - none - (process->handle (the-as process (-> arg3 param 0))) - ) - ) - (set! (-> self cur-target-handle) (the-as handle v0-0)) - v0-0 - ) - ((= v1-0 'trans) - (cond - ((type-type? (-> self root type) collide-shape) - (TODO-RENAME-30 - (the-as collide-shape (-> self root)) - (the-as vector (-> arg3 param 0)) - ) - ) - (else - (set! v0-0 (the-as none (-> self root trans))) - (set! - (-> (the-as vector v0-0) quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - v0-0 - ) - ) - ) - ((= v1-0 'rot) - (let ((s5-0 (new 'stack-no-clear 'matrix))) - (matrix-rotate-y! s5-0 (the-as float (-> arg3 param 0))) - (matrix->quaternion (-> self root quat) s5-0) - ) - ) - ((= v1-0 'rot-quat) - (quaternion-copy! - (-> self root quat) - (the-as quaternion (-> arg3 param 0)) - ) - ) - ((= v1-0 'clone-copy-trans) - (set! v0-0 (the-as none (-> arg3 param 0))) - (set! (-> self clone-copy-trans) (the-as basic v0-0)) - v0-0 - ) - ((= v1-0 'release) - (set! (-> self cur-grab-handle) (the-as handle #f)) - #f - ) - ((= v1-0 'draw) - (set! (-> self draw?) (the-as symbol (-> arg3 param 0))) - (cond - ((-> arg3 param 0) - (let ((v1-47 (logtest? (-> self draw status) 2))) - (set! - (-> self draw status) - (logand -3 (-> self draw status)) - ) - (when v1-47 - (cond - ((nonzero? (-> self skel)) - (let ((gp-1 (-> self skel status))) - (logior! (-> self skel status) 1) - (set! v0-0 (ja-post)) - (set! (-> self skel status) gp-1) - ) - v0-0 - ) - (else - (ja-post) - ) - ) - ) - ) - ) - (else - (set! - v0-0 - (the-as none (logior (-> self draw status) 2)) - ) - (set! (-> self draw status) (the-as uint v0-0)) - v0-0 - ) - ) - ) - ((= v1-0 'query) - (case (-> arg3 param 0) - (('grab) - (handle->process (-> self cur-grab-handle)) - ) - (('done) - (case (-> self anim-mode) - (('play1 'play) - (>= - (ja-frame-num 0) - (the - float - (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -2 - ) - ) - ) - ) - ) - ) - ) - ) - ((= v1-0 'set-frame-num) - (let ((v1-73 (-> self skel root-channel 0))) - (set! (-> v1-73 num-func) num-func-identity) - (let ((f0-2 (the-as float (-> arg3 param 0)))) - (set! (-> v1-73 frame-num) f0-2) - f0-2 - ) - ) - ) (else - (if (-> self cur-event-hook) - ((-> self cur-event-hook)) + (ja-post) ) - ) ) - ) + ) + ) + ) + (else + (set! v0-0 (the-as none (logior (-> self draw status) 2))) + (set! (-> self draw status) (the-as uint v0-0)) + v0-0 + ) + ) + ) + ((= v1-0 'query) + (case (-> arg3 param 0) + (('grab) + (handle->process (-> self cur-grab-handle)) + ) + (('done) + (case (-> self anim-mode) + (('play1 'play) + (>= (ja-frame-num 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -2 + ) + ) + ) + ) + ) + ) + ) + ) + ((= v1-0 'set-frame-num) + (let ((v1-73 (-> self skel root-channel 0))) + (set! (-> v1-73 num-func) num-func-identity) + (let ((f0-2 (the-as float (-> arg3 param 0)))) + (set! (-> v1-73 frame-num) f0-2) + f0-2 + ) + ) + ) + (else + (if (-> self cur-event-hook) + ((-> self cur-event-hook)) + ) + ) + ) + ) + ) ) - ) :trans (behavior () - (if (!= (-> self cur-trans-hook) (-> self new-trans-hook)) - (set! (-> self cur-trans-hook) (-> self new-trans-hook)) - ) - (if (!= (-> self cur-post-hook) (-> self new-post-hook)) - (set! (-> self cur-post-hook) (-> self new-post-hook)) - ) - (when - (and - (-> self new-joint-anim) - (nonzero? (-> self skel)) - (and (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (if (!= (-> self cur-trans-hook) (-> self new-trans-hook)) + (set! (-> self cur-trans-hook) (-> self new-trans-hook)) + ) + (if (!= (-> self cur-post-hook) (-> self new-post-hook)) + (set! (-> self cur-post-hook) (-> self new-post-hook)) + ) + (when (and (-> self new-joint-anim) (nonzero? (-> self skel)) (and + (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self new-joint-anim) + ) + (!= (-> self anim-mode) 'clone-anim) + ) ) - (-> self new-joint-anim) - ) - (!= (-> self anim-mode) 'clone-anim) - ) - ) - (ja-channel-push! 1 (the-as int (-> self new-joint-anim-blend))) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (-> self new-joint-anim) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - ) - (let ((v1-20 (handle->process (-> self cur-grab-handle)))) - (when v1-20 - (let ((gp-1 (-> (the-as process-drawable v1-20) root trans))) - (if (type-type? (-> self root type) collide-shape) - (TODO-RENAME-28 - (the-as collide-shape (-> self root)) - (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self old-grab-pos)) + (ja-channel-push! 1 (the-as int (-> self new-joint-anim-blend))) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! gp-0 (-> self new-joint-anim) num-func-identity) + (set! (-> gp-0 frame-num) 0.0) ) - (vector+! - (-> self root trans) - (-> self root trans) - (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self old-grab-pos)) - ) - ) - (set! (-> self old-grab-pos quad) (-> gp-1 quad)) ) - ) + (let ((v1-20 (handle->process (-> self cur-grab-handle)))) + (when v1-20 + (let ((gp-1 (-> (the-as process-drawable v1-20) root trans))) + (if (type-type? (-> self root type) collide-shape) + (TODO-RENAME-28 + (the-as collide-shape (-> self root)) + (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self old-grab-pos)) + ) + (vector+! + (-> self root trans) + (-> self root trans) + (vector-! (new 'stack-no-clear 'vector) gp-1 (-> self old-grab-pos)) + ) + ) + (set! (-> self old-grab-pos quad) (-> gp-1 quad)) + ) + ) + ) + ((-> self cur-trans-hook)) + (none) ) - ((-> self cur-trans-hook)) - (none) - ) ) ;; definition for function manipy-init ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - manipy-init manipy - ((arg0 vector) (arg1 entity) (arg2 skeleton-group) (arg3 vector)) +(defbehavior manipy-init manipy ((arg0 vector) (arg1 entity) (arg2 skeleton-group) (arg3 vector)) (stack-size-set! (-> self main-thread) 128) (logior! (-> self mask) (process-mask heap-shrunk)) (set! (-> self entity) arg1) (cond - ((= arg3 'collide-shape-moving) - (let - ((s4-1 - (new - 'process - 'collide-shape-moving - self - (collide-list-enum hit-by-player) + ((= arg3 'collide-shape-moving) + (let ((s4-1 (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player)))) + (set! (-> s4-1 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-1 reaction) default-collision-reaction) + (set! (-> s4-1 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-1 (new 'process 'collide-shape-prim-sphere s4-1 (the-as uint 0)))) + (set-vector! (-> s3-1 local-sphere) 0.0 0.0 0.0 4096.0) + (set-root-prim! s4-1 s3-1) + ) + (set! (-> s4-1 nav-radius) (* 0.75 (-> s4-1 root-prim local-sphere w))) + (backup-collide-with-as s4-1) + (set! (-> self root) s4-1) + ) + ) + (arg3 + (let ((s4-2 (new 'process 'collide-shape self (collide-list-enum hit-by-player)))) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-2 (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint #x8040)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set-vector! (-> s2-0 local-sphere) (-> arg3 x) (-> arg3 y) (-> arg3 z) (-> arg3 w)) + (set-root-prim! s4-2 s2-0) + ) + (set! (-> s4-2 nav-radius) (* 0.75 (-> s4-2 root-prim local-sphere w))) + (backup-collide-with-as s4-2) + (set! (-> self root) s4-2) ) - ) ) - (set! (-> s4-1 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-1 reaction) default-collision-reaction) - (set! - (-> s4-1 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) + (else + (set! (-> self root) (new 'process 'trsqv)) ) - (let - ((s3-1 (new 'process 'collide-shape-prim-sphere s4-1 (the-as uint 0)))) - (set-vector! (-> s3-1 local-sphere) 0.0 0.0 0.0 4096.0) - (set-root-prim! s4-1 s3-1) - ) - (set! (-> s4-1 nav-radius) (* 0.75 (-> s4-1 root-prim local-sphere w))) - (backup-collide-with-as s4-1) - (set! (-> self root) s4-1) - ) ) - (arg3 - (let - ((s4-2 - (new 'process 'collide-shape self (collide-list-enum hit-by-player)) - ) - ) - (let - ((s2-0 (new 'process 'collide-shape-prim-sphere s4-2 (the-as uint 0)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint #x8040)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set-vector! - (-> s2-0 local-sphere) - (-> arg3 x) - (-> arg3 y) - (-> arg3 z) - (-> arg3 w) - ) - (set-root-prim! s4-2 s2-0) - ) - (set! (-> s4-2 nav-radius) (* 0.75 (-> s4-2 root-prim local-sphere w))) - (backup-collide-with-as s4-2) - (set! (-> self root) s4-2) - ) - ) - (else - (set! (-> self root) (new 'process 'trsqv)) - ) - ) (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self arg2 '()) (if (type-type? (-> self root type) collide-shape) - (dummy-47 (the-as collide-shape (-> self root))) - ) + (dummy-47 (the-as collide-shape (-> self root))) + ) (set! (-> self shadow-backup) (-> self draw shadow)) (set! (-> self new-trans-hook) nothing) (set! (-> self cur-trans-hook) nothing) @@ -714,17 +569,17 @@ (set! (-> self clone-copy-trans) #t) (set! (-> self draw?) #t) (cond - ((nonzero? (-> self skel)) - (set! (-> self new-joint-anim) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + ((nonzero? (-> self skel)) + (set! (-> self new-joint-anim) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> self anim-mode) 'loop) ) - (set! (-> self anim-mode) 'loop) + (else + (set! (-> self anim-mode) 'still) + ) ) - (else - (set! (-> self anim-mode) 'still) - ) - ) (set! (-> self event-hook) (-> manipy-idle event)) (go manipy-idle) (none) @@ -733,8 +588,8 @@ ;; definition for method 10 of type part-tracker (defmethod deactivate part-tracker ((obj part-tracker)) (if (nonzero? (-> obj part)) - (kill-and-free-particles (-> obj part)) - ) + (kill-and-free-particles (-> obj part)) + ) ((method-of-type process deactivate) obj) (none) ) @@ -742,90 +597,72 @@ ;; definition for function part-tracker-notify (defbehavior part-tracker-notify part-tracker () (let ((gp-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> gp-0 from) self) - (set! (-> gp-0 num-params) 1) - (set! (-> gp-0 message) 'notify) - (set! (-> gp-0 param 0) (the-as uint 'die)) - (let ((s5-0 send-event-function) - (s4-0 (ppointer->process (-> self parent))) - ) - (s5-0 (if (and (nonzero? s4-0) (type-type? (-> s4-0 type) process)) - s4-0 - ) - gp-0 - ) + (set! (-> gp-0 from) self) + (set! (-> gp-0 num-params) 1) + (set! (-> gp-0 message) 'notify) + (set! (-> gp-0 param 0) (the-as uint 'die)) + (let ((s5-0 send-event-function) + (s4-0 (ppointer->process (-> self parent))) + ) + (s5-0 + (if (and (nonzero? s4-0) (type-type? (-> s4-0 type) process)) + s4-0 + ) + gp-0 + ) + ) ) - ) ) ;; failed to figure out what this is: (defstate part-tracker-process (part-tracker) :code (behavior () - (set! (-> self start-time) (the-as uint (-> *display* base-frame-counter))) - (while - (< - (- (-> *display* base-frame-counter) (the-as int (-> self start-time))) - (the-as int (-> self duration)) - ) - (let ((gp-0 (handle->process (-> self target)))) - (when gp-0 - (if - (and - gp-0 - (type-type? (-> gp-0 type) process-drawable) - (nonzero? (-> (the-as process-drawable gp-0) root)) + (set! (-> self start-time) (the-as uint (-> *display* base-frame-counter))) + (while (< (- (-> *display* base-frame-counter) (the-as int (-> self start-time))) (the-as int (-> self duration))) + (let ((gp-0 (handle->process (-> self target)))) + (when gp-0 + (if (and gp-0 (type-type? (-> gp-0 type) process-drawable) (nonzero? (-> (the-as process-drawable gp-0) root))) + (vector+! (-> self root trans) (-> (the-as process-drawable gp-0) root trans) (-> self offset)) + ) + ) ) - (vector+! - (-> self root trans) - (-> (the-as process-drawable gp-0) root trans) - (-> self offset) + (let ((gp-1 (-> self root trans))) + (if (-> self callback) + ((-> self callback) self) + ) + (spawn (-> self part) gp-1) ) - ) + (suspend) ) - ) - (let ((gp-1 (-> self root trans))) - (if (-> self callback) - ((-> self callback) self) + (let ((gp-2 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-2) (the-as int (-> self linger-duration))) + (if (-> self linger-callback) + ((-> self linger-callback) self) + ) + (suspend) + ) ) - (spawn (-> self part) gp-1) - ) + (if (-> self linger-callback) + ((-> self linger-callback) self) + ) + (part-tracker-notify) (suspend) + 0 + (none) ) - (let ((gp-2 (-> *display* base-frame-counter))) - (until - (>= - (- (-> *display* base-frame-counter) gp-2) - (the-as int (-> self linger-duration)) - ) - (if (-> self linger-callback) - ((-> self linger-callback) self) - ) - (suspend) - ) - ) - (if (-> self linger-callback) - ((-> self linger-callback) self) - ) - (part-tracker-notify) - (suspend) - 0 - (none) - ) ) ;; definition for function part-tracker-init ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - part-tracker-init part-tracker - ((arg0 sparticle-launch-group) - (arg1 int) - (arg2 (function part-tracker none)) - (arg3 (pointer process-drawable)) - (arg4 process) - (arg5 collide-prim-core) - ) +(defbehavior part-tracker-init part-tracker ((arg0 sparticle-launch-group) + (arg1 int) + (arg2 (function part-tracker none)) + (arg3 (pointer process-drawable)) + (arg4 process) + (arg5 collide-prim-core) + ) (stack-size-set! (-> self main-thread) 128) (set! (-> self root) (new 'process 'trsqv)) (set! (-> self root trans quad) (-> arg5 world-sphere quad)) @@ -835,15 +672,15 @@ (set! (-> self userdata) (the-as uint arg3)) (set! (-> self target) (process->handle arg4)) (set! arg1 (cond - ((> arg1 0) - (empty) - arg1 + ((> arg1 0) + (empty) + arg1 + ) + (else + (the-as int (-> arg0 duration)) + ) ) - (else - (the-as int (-> arg0 duration)) - ) - ) - ) + ) (set! (-> self duration) (the-as uint arg1)) (set! (-> self linger-duration) (-> arg0 linger-duration)) (set! (-> self part) (create-launch-control arg0 self)) @@ -857,703 +694,574 @@ ;; WARN: disable def twice: 82. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. ;; WARN: disable def twice: 96. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. ;; WARN: disable def twice: 110. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. -(defbehavior - command-get-process camera-tracker - ((arg0 object) (arg1 process-drawable)) +(defbehavior command-get-process camera-tracker ((arg0 object) (arg1 process-drawable)) (the-as process (cond - ((null? arg0) - (empty) - arg1 - ) - ((type-type? (rtype-of arg0) process) - (the-as process-drawable arg0) - ) - ((= arg0 'target) - *target* - ) - ((= arg0 'sidekick) - (when *target* - (let ((v1-6 (-> *target* sidekick))) - (if v1-6 - (the-as process-drawable (-> v1-6 0 self)) + ((null? arg0) + (empty) + arg1 + ) + ((type-type? (rtype-of arg0) process) + (the-as process-drawable arg0) + ) + ((= arg0 'target) + *target* + ) + ((= arg0 'sidekick) + (when *target* + (let ((v1-6 (-> *target* sidekick))) + (if v1-6 + (the-as process-drawable (-> v1-6 0 self)) + ) + ) ) + ) + ((= arg0 'parent) + (let ((v1-9 (-> self parent))) + (if v1-9 + (the-as process-drawable (-> v1-9 0 self)) + ) + ) + ) + ((= arg0 'camera) + (the-as process-drawable *camera*) + ) + ((type-type? (rtype-of arg0) string) + (the-as process-drawable (process-by-ename (the-as string arg0))) + ) + ((type-type? (-> self type) camera-tracker) + (let ((v1-13 self)) + (cond + ((= arg0 'work) + (let ((v1-14 (-> v1-13 work-process))) + (and (nonzero? (l32-false-check v1-14)) (let ((a0-8 (-> v1-14 process 0))) + (if (= (-> v1-14 pid) (-> a0-8 pid)) + (the-as process-drawable a0-8) + ) + ) + ) + ) + ) + ((= arg0 'grab) + (let ((v1-17 (-> v1-13 grab-target))) + (and (nonzero? (l32-false-check v1-17)) (let ((a0-12 (-> v1-17 process 0))) + (if (= (-> v1-17 pid) (-> a0-12 pid)) + (the-as process-drawable a0-12) + ) + ) + ) + ) + ) + ((= arg0 'look-at) + (let ((v1-20 (-> v1-13 look-at-target))) + (and (nonzero? (l32-false-check v1-20)) (let ((a0-16 (-> v1-20 process 0))) + (if (= (-> v1-20 pid) (-> a0-16 pid)) + (the-as process-drawable a0-16) + ) + ) + ) + ) + ) + ((= arg0 'pov) + (let ((v1-23 (-> v1-13 pov-target))) + (and (nonzero? (l32-false-check v1-23)) (let ((a0-20 (-> v1-23 process 0))) + (if (= (-> v1-23 pid) (-> a0-20 pid)) + (the-as process-drawable a0-20) + ) + ) + ) + ) + ) + ((= arg0 'anim) + (let ((v1-26 (-> v1-13 anim-process))) + (and (nonzero? (l32-false-check v1-26)) (let ((a0-24 (-> v1-26 process 0))) + (if (= (-> v1-26 pid) (-> a0-24 pid)) + (the-as process-drawable a0-24) + ) + ) + ) + ) + ) + (else + (empty) + arg1 + ) + ) + ) + ) + (else + (empty) + arg1 ) - ) ) - ((= arg0 'parent) - (let ((v1-9 (-> self parent))) - (if v1-9 - (the-as process-drawable (-> v1-9 0 self)) - ) - ) - ) - ((= arg0 'camera) - (the-as process-drawable *camera*) - ) - ((type-type? (rtype-of arg0) string) - (the-as - process-drawable - (process-by-ename (the-as string arg0)) - ) - ) - ((type-type? (-> self type) camera-tracker) - (let ((v1-13 self)) - (cond - ((= arg0 'work) - (let ((v1-14 (-> v1-13 work-process))) - (and - (nonzero? (l32-false-check v1-14)) - (let ((a0-8 (-> v1-14 process 0))) - (if (= (-> v1-14 pid) (-> a0-8 pid)) - (the-as process-drawable a0-8) - ) - ) - ) - ) - ) - ((= arg0 'grab) - (let ((v1-17 (-> v1-13 grab-target))) - (and - (nonzero? (l32-false-check v1-17)) - (let ((a0-12 (-> v1-17 process 0))) - (if (= (-> v1-17 pid) (-> a0-12 pid)) - (the-as process-drawable a0-12) - ) - ) - ) - ) - ) - ((= arg0 'look-at) - (let ((v1-20 (-> v1-13 look-at-target))) - (and - (nonzero? (l32-false-check v1-20)) - (let ((a0-16 (-> v1-20 process 0))) - (if (= (-> v1-20 pid) (-> a0-16 pid)) - (the-as process-drawable a0-16) - ) - ) - ) - ) - ) - ((= arg0 'pov) - (let ((v1-23 (-> v1-13 pov-target))) - (and - (nonzero? (l32-false-check v1-23)) - (let ((a0-20 (-> v1-23 process 0))) - (if (= (-> v1-23 pid) (-> a0-20 pid)) - (the-as process-drawable a0-20) - ) - ) - ) - ) - ) - ((= arg0 'anim) - (let ((v1-26 (-> v1-13 anim-process))) - (and - (nonzero? (l32-false-check v1-26)) - (let ((a0-24 (-> v1-26 process 0))) - (if (= (-> v1-26 pid) (-> a0-24 pid)) - (the-as process-drawable a0-24) - ) - ) - ) - ) - ) - (else - (empty) - arg1 - ) - ) - ) - ) - (else - (empty) - arg1 - ) - ) - ) + ) ) ;; definition for function command-get-camera (defun command-get-camera ((arg0 object) (arg1 state)) (cond - ((null? arg0) - (empty) - arg1 + ((null? arg0) + (empty) + arg1 + ) + ((= arg0 'base) + *camera-base-mode* + ) + ((= arg0 'string) + cam-string + ) + ((= arg0 'fixed) + cam-fixed + ) + ((type-type? (rtype-of arg0) symbol) + (the-as state (-> (the-as symbol arg0) value)) + ) + ((type-type? (rtype-of arg0) string) + (the-as state arg0) + ) + ((type-type? (rtype-of arg0) state) + (the-as state arg0) + ) + (else + (empty) + arg1 + ) ) - ((= arg0 'base) - *camera-base-mode* - ) - ((= arg0 'string) - cam-string - ) - ((= arg0 'fixed) - cam-fixed - ) - ((type-type? (rtype-of arg0) symbol) - (the-as state (-> (the-as symbol arg0) value)) - ) - ((type-type? (rtype-of arg0) string) - (the-as state arg0) - ) - ((type-type? (rtype-of arg0) state) - (the-as state arg0) - ) - (else - (empty) - arg1 - ) - ) ) ;; definition for function command-get-trans (defun command-get-trans ((arg0 object) (arg1 vector)) (cond - ((null? arg0) - (empty) - arg1 - ) - ((= arg0 'null) - *null-vector* - ) - ((= arg0 'target) - (target-pos 0) - ) - ((pair? arg0) - (let ((s4-0 (command-get-process (car arg0) *target*)) - (v1-4 (command-get-int (car (cdr arg0)) 0)) - ) - (cond - (s4-0 - (-> (the-as target s4-0) node-list data v1-4 bone transform vector 3) - ) - (else - (empty) - arg1 - ) - ) + ((null? arg0) + (empty) + arg1 ) + ((= arg0 'null) + *null-vector* + ) + ((= arg0 'target) + (target-pos 0) + ) + ((pair? arg0) + (let ((s4-0 (command-get-process (car arg0) *target*)) + (v1-4 (command-get-int (car (cdr arg0)) 0)) + ) + (cond + (s4-0 + (-> (the-as target s4-0) node-list data v1-4 bone transform vector 3) + ) + (else + (empty) + arg1 + ) + ) + ) + ) + (else + (empty) + arg1 + ) ) - (else - (empty) - arg1 - ) - ) ) ;; definition for function process-grab? ;; INFO: Return type mismatch object vs symbol. (defbehavior process-grab? process ((arg0 process)) (let ((gp-0 (command-get-process arg0 *target*))) - (the-as symbol (when gp-0 - (if (type-type? (-> self type) camera-tracker) - (set! - (-> (the-as camera-tracker self) grab-target) - (process->handle gp-0) + (the-as symbol (when gp-0 + (if (type-type? (-> self type) camera-tracker) + (set! (-> (the-as camera-tracker self) grab-target) (process->handle gp-0)) + ) + (send-event gp-0 'change-mode 'grab) ) - ) - (send-event gp-0 'change-mode 'grab) - ) + ) ) - ) ) ;; definition for function process-release? ;; INFO: Return type mismatch object vs symbol. (defbehavior process-release? process ((arg0 process)) (let ((gp-0 (command-get-process arg0 *target*))) - (the-as - symbol - (if (and gp-0 (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'mode)) - (send-event-function gp-0 a1-1) - ) - 'target-grab - ) - (send-event gp-0 'end-mode) - #t - ) + (the-as symbol (if (and + gp-0 + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'query) + (set! (-> a1-1 param 0) (the-as uint 'mode)) + (send-event-function gp-0 a1-1) + ) + 'target-grab + ) + (send-event gp-0 'end-mode) + #t + ) + ) ) - ) ) ;; definition for function camera-change-to (defun camera-change-to ((arg0 string) (arg1 int) (arg2 symbol)) (let ((gp-0 (command-get-camera arg0 *camera-base-mode*))) - (cond - ((not gp-0) - #f - ) - ((type-type? (rtype-of gp-0) string) - (send-event *camera* 'change-to-entity-by-name gp-0) - #t - ) - ((type-type? (rtype-of gp-0) state) - (send-event *camera* 'change-state gp-0 arg1) - (if arg2 - (send-event *camera* 'blend-from-as-fixed) + (cond + ((not gp-0) + #f + ) + ((type-type? (rtype-of gp-0) string) + (send-event *camera* 'change-to-entity-by-name gp-0) + #t + ) + ((type-type? (rtype-of gp-0) state) + (send-event *camera* 'change-state gp-0 arg1) + (if arg2 + (send-event *camera* 'blend-from-as-fixed) + ) + #t + ) ) - #t - ) ) - ) ) ;; definition for function camera-look-at (defbehavior camera-look-at camera-tracker ((arg0 pair) (arg1 uint)) (let ((gp-0 (command-get-process arg0 *target*))) - (when gp-0 - (if (type-type? (-> self type) camera-tracker) - (set! (-> self look-at-target) (process->handle gp-0)) - ) - (send-event *camera* 'change-target gp-0 arg1) + (when gp-0 + (if (type-type? (-> self type) camera-tracker) + (set! (-> self look-at-target) (process->handle gp-0)) + ) + (send-event *camera* 'change-target gp-0 arg1) + ) + gp-0 ) - gp-0 - ) ) ;; definition for function ja-anim-done? ;; INFO: Return type mismatch object vs symbol. (defun ja-anim-done? ((arg0 process)) (with-pp - (let ((gp-0 (command-get-process arg0 *target*))) - (the-as symbol (when gp-0 - (cond - ((type-type? (-> gp-0 type) manipy) - (send-event gp-0 'query 'done) - ) - ((type-type? (-> gp-0 type) process-drawable) - (when - (zero? - (logand - (-> (the-as process-drawable gp-0) skel status) - 4 - ) - ) - (let ((s5-0 pp)) - (let ((s6-1 gp-0)) - ) - (let ((v0-1 (the-as object (ja-done? 0)))) - (let ((s6-2 s5-0)) + (let ((gp-0 (command-get-process arg0 *target*))) + (the-as symbol (when gp-0 + (cond + ((type-type? (-> gp-0 type) manipy) + (send-event gp-0 'query 'done) + ) + ((type-type? (-> gp-0 type) process-drawable) + (when (zero? (logand (-> (the-as process-drawable gp-0) skel status) 4)) + (let ((s5-0 pp)) + (let ((s6-1 gp-0)) + ) + (let ((v0-1 (the-as object (ja-done? 0)))) + (let ((s6-2 s5-0)) + ) + v0-1 + ) + ) + ) ) - v0-1 ) - ) ) - ) - ) - ) - ) + ) + ) ) - ) ) ;; definition for function camera-pov-from (defbehavior camera-pov-from camera-tracker ((arg0 pair) (arg1 uint)) (let ((gp-0 (command-get-process arg0 *target*))) - (when gp-0 - (if (type-type? (-> self type) camera-tracker) - (set! (-> self pov-target) (process->handle gp-0)) - ) - (when (= arg1 -10) - (set! arg1 (the-as uint 0)) - (when (> (-> (the-as process-drawable gp-0) skel active-channels) 0) - (let - ((v1-11 - (dummy-10 - (-> (the-as process-drawable gp-0) draw jgeo) - "camera" - (the-as type #f) + (when gp-0 + (if (type-type? (-> self type) camera-tracker) + (set! (-> self pov-target) (process->handle gp-0)) + ) + (when (= arg1 -10) + (set! arg1 (the-as uint 0)) + (when (> (-> (the-as process-drawable gp-0) skel active-channels) 0) + (let ((v1-11 (dummy-10 (-> (the-as process-drawable gp-0) draw jgeo) "camera" (the-as type #f)))) + (if v1-11 + (set! arg1 (the-as uint (+ (-> v1-11 number) 1))) + ) + ) ) - ) ) - (if v1-11 - (set! arg1 (the-as uint (+ (-> v1-11 number) 1))) - ) - ) + (send-event *camera* 'change-pov gp-0 arg1) ) - ) - (send-event *camera* 'change-pov gp-0 arg1) + gp-0 ) - gp-0 - ) ) ;; definition for function camera-anim -(defbehavior - camera-anim camera-tracker - ((arg0 symbol) (arg1 basic) (arg2 entity)) +(defbehavior camera-anim camera-tracker ((arg0 symbol) (arg1 basic) (arg2 entity)) (set! (-> self anim-process) (the-as handle #f)) (let* ((s2-0 (get-process *default-dead-pool* manipy #x4000)) (gp-0 (when s2-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 - (the-as manipy s2-0) - self - 'manipy - (the-as pointer #x70004000) + (let ((t9-1 (method-of-type manipy activate))) + (t9-1 (the-as manipy s2-0) self 'manipy (the-as pointer #x70004000)) + ) + ((the-as (function process function object object object object object) run-function-in-process) + s2-0 + manipy-init + arg2 + #f + arg0 + #f ) + (-> s2-0 ppointer) ) - ((the-as - (function process function object object object object object) - run-function-in-process - ) - s2-0 - manipy-init - arg2 - #f - arg0 - #f - ) - (-> s2-0 ppointer) - ) - ) + ) ) - (when gp-0 - (send-event (-> gp-0 0 self) 'anim-mode 'play1) - (send-event (-> gp-0 0 self) 'art-joint-anim arg1) - (set! (-> self anim-process) (ppointer->handle gp-0)) + (when gp-0 + (send-event (-> gp-0 0 self) 'anim-mode 'play1) + (send-event (-> gp-0 0 self) 'art-joint-anim arg1) + (set! (-> self anim-process) (ppointer->handle gp-0)) + ) + gp-0 ) - gp-0 - ) ) ;; definition for method 14 of type camera-tracker ;; INFO: Return type mismatch object vs process. (defmethod dummy-14 camera-tracker ((obj camera-tracker) (arg0 pair)) (with-pp - (let ((gp-0 (the-as object #f))) - (cond - ((null? arg0) - ) - ((pair? arg0) - (let ((a2-0 (car arg0)) - (s4-0 (cdr arg0)) - ) - (case a2-0 - (('print) - (set! gp-0 (car s4-0)) - (if (pair? gp-0) - (set! gp-0 (dummy-14 obj (the-as pair gp-0))) - ) - (format - #t - "~A MESSAGE (~D): ~A~%" - obj - (-> *display* base-frame-counter) - gp-0 - ) - ) - (('while) - (let ((s3-0 (car s4-0))) - (while (dummy-14 obj (the-as pair s3-0)) - (let* ((s2-0 (cdr s4-0)) - (a1-3 (car s2-0)) + (let ((gp-0 (the-as object #f))) + (cond + ((null? arg0) + ) + ((pair? arg0) + (let ((a2-0 (car arg0)) + (s4-0 (cdr arg0)) + ) + (case a2-0 + (('print) + (set! gp-0 (car s4-0)) + (if (pair? gp-0) + (set! gp-0 (dummy-14 obj (the-as pair gp-0))) ) - (while (not (null? s2-0)) - (set! gp-0 (dummy-14 obj (the-as pair a1-3))) - (set! s2-0 (cdr s2-0)) - (set! a1-3 (car s2-0)) - ) - ) - ) - ) - ) - (('until) - (let ((s3-1 (car s4-0))) - (while (not (dummy-14 obj (the-as pair s3-1))) - (let* ((s2-1 (cdr s4-0)) - (a1-5 (car s2-1)) + (format #t "~A MESSAGE (~D): ~A~%" obj (-> *display* base-frame-counter) gp-0) + ) + (('while) + (let ((s3-0 (car s4-0))) + (while (dummy-14 obj (the-as pair s3-0)) + (let* ((s2-0 (cdr s4-0)) (a1-3 (car s2-0))) (while (not (null? s2-0)) + (set! gp-0 (dummy-14 obj (the-as pair a1-3))) + (set! s2-0 (cdr s2-0)) + (set! a1-3 (car s2-0)) + ) + ) ) - (while (not (null? s2-1)) - (set! gp-0 (dummy-14 obj (the-as pair a1-5))) - (set! s2-1 (cdr s2-1)) - (set! a1-5 (car s2-1)) - ) - ) - ) - ) - ) - (('not) - (set! gp-0 (not (dummy-14 obj (the-as pair (car s4-0))))) - ) - (('wait-for 'wait 'suspend) - (let ((s5-1 (command-get-time (car s4-0) 1)) - (s4-1 (-> *display* base-frame-counter)) - ) - (until (>= (- (-> *display* base-frame-counter) s4-1) s5-1) - (suspend) - ) - ) - ) - (('message?) - (when (= (-> obj message) (car s4-0)) - (set! gp-0 (-> obj message)) - (set! (-> obj message) #f) - ) - ) - (('send-event) - (let ((s5-2 (command-get-process (car s4-0) *target*)) - (s3-2 (car (cdr s4-0))) - (s4-2 (cdr (cdr s4-0))) - ) - (when (and s5-2 (not (null? s3-2))) - (let ((gp-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> gp-1 from) pp) - (let ((a0-22 s4-2)) - (set! - (-> gp-1 num-params) - ((method-of-type (rtype-of a0-22) length) a0-22) + ) ) - ) - (set! (-> gp-1 message) (the-as symbol s3-2)) - (set! - (-> gp-1 param 0) - (the-as uint (command-get-param (car s4-2) #f)) - ) - (set! - (-> gp-1 param 1) - (the-as uint (command-get-param (car (cdr s4-2)) #f)) - ) - (set! - (-> gp-1 param 2) - (the-as uint (command-get-param (car (cdr (cdr s4-2))) #f)) - ) - (set! gp-0 (send-event-function s5-2 gp-1)) - ) - ) - ) - ) - (('eval) - (let ((s4-3 (car s4-0))) - (if (and s4-3 (type-type? (-> (the-as basic s4-3) type) function)) - (set! gp-0 ((the-as (function camera-tracker symbol) s4-3) obj)) - ) - ) - ) - (('work-set!) - (set! gp-0 (process->handle (dummy-14 obj (the-as pair (car s4-0))))) - (set! (-> obj work-process) (the-as handle gp-0)) - ) - (('grab) - (let ((a0-38 (command-get-process (car s4-0) *target*))) - (set! gp-0 (process-grab? a0-38)) - ) - ) - (('release) - (set! gp-0 (process-release? (handle->process (-> obj grab-target)))) - ) - (('alive?) - (set! gp-0 (command-get-process (car s4-0) *target*)) - ) - (('draw) - (set! gp-0 (command-get-process (car s4-0) *target*)) - (when (the-as target gp-0) - (if (car (cdr s4-0)) - (set! - (-> (the-as target gp-0) skel status) - (logand -3 (-> (the-as target gp-0) skel status)) - ) - (logior! (-> (the-as target gp-0) skel status) 2) - ) - ) - ) - (('camera-change-to 'camera) - (set! - gp-0 - (camera-change-to - (the-as string (car s4-0)) - (command-get-time (car (cdr s4-0)) 0) - #f - ) - ) - ) - (('intro-done?) - (let ((a1-25 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-25 from) pp) - (set! (-> a1-25 num-params) 0) - (set! (-> a1-25 message) 'intro-done?) - (set! gp-0 (send-event-function *camera* a1-25)) - ) - ) - (('camera-look-at 'look-at) - (set! - gp-0 - (camera-look-at - (the-as pair (car s4-0)) - (the-as uint (command-get-int (car (cdr s4-0)) 0)) - ) - ) - ) - (('pov) - (set! - gp-0 - (camera-pov-from - (the-as pair (car s4-0)) - (the-as uint (command-get-int (car (cdr s4-0)) 0)) - ) - ) - ) - (('camera-anim) - (let ((s2-2 (car s4-0)) - (s3-3 (car (cdr s4-0))) - (s4-4 (command-get-trans (car (cdr (cdr s4-0))) *null-vector*)) - (s1-0 string->symbol) - ) - (format (clear *temp-string*) "*~S-sg*" s2-2) - (let ((s2-3 (-> (s1-0 *temp-string*) value))) - (when (type-type? (rtype-of s2-3) skeleton-group) - (set! (-> obj anim-process) (the-as handle #f)) - (let ((s1-1 (get-process *default-dead-pool* manipy #x4000))) - (set! gp-0 (when s1-1 - (let ((t9-35 (method-of-type manipy activate))) - (t9-35 - (the-as manipy s1-1) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process s1-1 manipy-init s4-4 #f s2-3 #f) - (-> s1-1 ppointer) - ) + (('until) + (let ((s3-1 (car s4-0))) + (while (not (dummy-14 obj (the-as pair s3-1))) + (let* ((s2-1 (cdr s4-0)) (a1-5 (car s2-1))) (while (not (null? s2-1)) + (set! gp-0 (dummy-14 obj (the-as pair a1-5))) + (set! s2-1 (cdr s2-1)) + (set! a1-5 (car s2-1)) + ) + ) + ) + ) ) + (('not) + (set! gp-0 (not (dummy-14 obj (the-as pair (car s4-0))))) + ) + (('wait-for 'wait 'suspend) + (let ((s5-1 (command-get-time (car s4-0) 1)) + (s4-1 (-> *display* base-frame-counter)) + ) + (until (>= (- (-> *display* base-frame-counter) s4-1) s5-1) + (suspend) + ) + ) + ) + (('message?) + (when (= (-> obj message) (car s4-0)) + (set! gp-0 (-> obj message)) + (set! (-> obj message) #f) + ) + ) + (('send-event) + (let ((s5-2 (command-get-process (car s4-0) *target*)) + (s3-2 (car (cdr s4-0))) + (s4-2 (cdr (cdr s4-0))) + ) + (when (and s5-2 (not (null? s3-2))) + (let ((gp-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> gp-1 from) pp) + (let ((a0-22 s4-2)) + (set! (-> gp-1 num-params) ((method-of-type (rtype-of a0-22) length) a0-22)) + ) + (set! (-> gp-1 message) (the-as symbol s3-2)) + (set! (-> gp-1 param 0) (the-as uint (command-get-param (car s4-2) #f))) + (set! (-> gp-1 param 1) (the-as uint (command-get-param (car (cdr s4-2)) #f))) + (set! (-> gp-1 param 2) (the-as uint (command-get-param (car (cdr (cdr s4-2))) #f))) + (set! gp-0 (send-event-function s5-2 gp-1)) + ) + ) + ) + ) + (('eval) + (let ((s4-3 (car s4-0))) + (if (and s4-3 (type-type? (-> (the-as basic s4-3) type) function)) + (set! gp-0 ((the-as (function camera-tracker symbol) s4-3) obj)) + ) + ) + ) + (('work-set!) + (set! gp-0 (process->handle (dummy-14 obj (the-as pair (car s4-0))))) + (set! (-> obj work-process) (the-as handle gp-0)) + ) + (('grab) + (let ((a0-38 (command-get-process (car s4-0) *target*))) + (set! gp-0 (process-grab? a0-38)) + ) + ) + (('release) + (set! gp-0 (process-release? (handle->process (-> obj grab-target)))) + ) + (('alive?) + (set! gp-0 (command-get-process (car s4-0) *target*)) + ) + (('draw) + (set! gp-0 (command-get-process (car s4-0) *target*)) + (when (the-as target gp-0) + (if (car (cdr s4-0)) + (set! (-> (the-as target gp-0) skel status) (logand -3 (-> (the-as target gp-0) skel status))) + (logior! (-> (the-as target gp-0) skel status) 2) + ) + ) + ) + (('camera-change-to 'camera) + (set! gp-0 (camera-change-to (the-as string (car s4-0)) (command-get-time (car (cdr s4-0)) 0) #f)) + ) + (('intro-done?) + (let ((a1-25 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-25 from) pp) + (set! (-> a1-25 num-params) 0) + (set! (-> a1-25 message) 'intro-done?) + (set! gp-0 (send-event-function *camera* a1-25)) + ) + ) + (('camera-look-at 'look-at) + (set! gp-0 (camera-look-at (the-as pair (car s4-0)) (the-as uint (command-get-int (car (cdr s4-0)) 0)))) + ) + (('pov) + (set! gp-0 (camera-pov-from (the-as pair (car s4-0)) (the-as uint (command-get-int (car (cdr s4-0)) 0)))) + ) + (('camera-anim) + (let ((s2-2 (car s4-0)) + (s3-3 (car (cdr s4-0))) + (s4-4 (command-get-trans (car (cdr (cdr s4-0))) *null-vector*)) + (s1-0 string->symbol) + ) + (format (clear *temp-string*) "*~S-sg*" s2-2) + (let ((s2-3 (-> (s1-0 *temp-string*) value))) + (when (type-type? (rtype-of s2-3) skeleton-group) + (set! (-> obj anim-process) (the-as handle #f)) + (let ((s1-1 (get-process *default-dead-pool* manipy #x4000))) + (set! gp-0 (when s1-1 + (let ((t9-35 (method-of-type manipy activate))) + (t9-35 (the-as manipy s1-1) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s1-1 manipy-init s4-4 #f s2-3 #f) + (-> s1-1 ppointer) + ) + ) + ) + (send-event (-> (the-as (pointer process) gp-0) 0 self) 'anim-mode 'play1) + (send-event (-> (the-as (pointer process) gp-0) 0 self) 'art-joint-anim s3-3) + (set! (-> obj anim-process) (ppointer->handle (the-as (pointer process) gp-0))) + ) + ) + ) + ) + (else + (format 0 "ERROR: camera-tracker does not know script line command ~A.~%" a2-0) + ) ) - (send-event - (-> (the-as (pointer process) gp-0) 0 self) - 'anim-mode - 'play1 - ) - (send-event - (-> (the-as (pointer process) gp-0) 0 self) - 'art-joint-anim - s3-3 - ) - (set! - (-> obj anim-process) - (ppointer->handle (the-as (pointer process) gp-0)) - ) - ) ) - ) ) (else - (format - 0 - "ERROR: camera-tracker does not know script line command ~A.~%" - a2-0 + (format 0 "ERROR: camera-tracker requires a pair as a script line, not ~A.~%" arg0) ) - ) ) - ) + (the-as process gp-0) ) - (else - (format - 0 - "ERROR: camera-tracker requires a pair as a script line, not ~A.~%" - arg0 - ) - ) - ) - (the-as process gp-0) ) - ) ) ;; failed to figure out what this is: (defstate camera-tracker-process (camera-tracker) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-0 uint)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'message) - (set! v0-0 (-> arg3 param 0)) - (set! (-> self message) (the-as basic v0-0)) - v0-0 - ) - ((= v1-0 'mask) - (set! v0-0 (-> arg3 param 0)) - (set! (-> self mask-to-clear) v0-0) - v0-0 - ) - ((= v1-0 'border) - (set! v0-0 (-> arg3 param 0)) - (set! (-> self border-value) (the-as basic v0-0)) - v0-0 - ) - ) - ) + (local-vars (v0-0 uint)) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'message) + (set! v0-0 (-> arg3 param 0)) + (set! (-> self message) (the-as basic v0-0)) + v0-0 + ) + ((= v1-0 'mask) + (set! v0-0 (-> arg3 param 0)) + (set! (-> self mask-to-clear) v0-0) + v0-0 + ) + ((= v1-0 'border) + (set! v0-0 (-> arg3 param 0)) + (set! (-> self border-value) (the-as basic v0-0)) + v0-0 + ) + ) + ) + ) ) - ) :enter (behavior () - (if (-> self entity-override) - (dummy-30 (-> self entity-override) (entity-perm-status bit-3) #t) + (if (-> self entity-override) + (dummy-30 (-> self entity-override) (entity-perm-status bit-3) #t) + ) + (if (not (-> self border-value)) + (push-setting! *setting-control* self 'border-mode (-> self border-value) 0.0 0) + ) + (push-setting! *setting-control* self 'process-mask 'set 0.0 (-> self mask-to-clear)) + (push-setting! *setting-control* self 'movie (process->ppointer self) 0.0 0) + (hide-hud-quick) + (none) ) - (if (not (-> self border-value)) - (push-setting! - *setting-control* - self - 'border-mode - (-> self border-value) - 0.0 - 0 - ) - ) - (push-setting! - *setting-control* - self - 'process-mask - 'set - 0.0 - (-> self mask-to-clear) - ) - (push-setting! *setting-control* self 'movie (process->ppointer self) 0.0 0) - (hide-hud-quick) - (none) - ) :exit (behavior () - (if (-> self entity-override) - (dummy-30 (-> self entity-override) (entity-perm-status bit-3) #f) + (if (-> self entity-override) + (dummy-30 (-> self entity-override) (entity-perm-status bit-3) #f) + ) + (send-event *camera* 'clear-entity) + (none) ) - (send-event *camera* 'clear-entity) - (none) - ) :code (behavior () - (cond - ((-> self script-func) - ((-> self script-func)) - ) - (else - (while (not (null? (-> self script-line))) - (dummy-14 self (the-as pair (-> self script-line car))) - (set! (-> self script-line) (the-as pair (-> self script-line cdr))) + (cond + ((-> self script-func) + ((-> self script-func)) + ) + (else + (while (not (null? (-> self script-line))) + (dummy-14 self (the-as pair (-> self script-line car))) + (set! (-> self script-line) (the-as pair (-> self script-line cdr))) + ) + ) ) - ) + (clear-pending-settings-from-process *setting-control* self 'process-mask) + (send-event *camera* 'clear-entity) + (suspend) + (suspend) + (suspend) + 0 + (none) ) - (clear-pending-settings-from-process *setting-control* self 'process-mask) - (send-event *camera* 'clear-entity) - (suspend) - (suspend) - (suspend) - 0 - (none) - ) ) ;; definition for function camera-tracker-init (defbehavior camera-tracker-init camera-tracker ((arg0 object)) (stack-size-set! (-> self main-thread) 512) - (logclear! - (-> self mask) - (process-mask actor-pause movie enemy platform projectile) - ) + (logclear! (-> self mask) (process-mask actor-pause movie enemy platform projectile)) (set! (-> self mask-to-clear) (the-as uint #x4a0800)) (set! (-> self grab-target) (the-as handle #f)) (set! (-> self grab-event) 'grab) @@ -1569,34 +1277,27 @@ (set! (-> self message) #f) (set! (-> self border-value) #f) (cond - ((pair? arg0) - (set! (-> self script) (the-as pair arg0)) - (set! (-> self script-line) (the-as pair arg0)) - ) - ((type-type? (rtype-of arg0) function) - (set! (-> self script-func) (the-as (function none) arg0)) - ) - (else - (format - 0 - "ERROR: camera-tracker requires a pair as a script, not ~A.~%" - arg0 + ((pair? arg0) + (set! (-> self script) (the-as pair arg0)) + (set! (-> self script-line) (the-as pair arg0)) ) + ((type-type? (rtype-of arg0) function) + (set! (-> self script-func) (the-as (function none) arg0)) + ) + (else + (format 0 "ERROR: camera-tracker requires a pair as a script, not ~A.~%" arg0) + ) ) - ) (let* ((gp-1 (ppointer->process (-> self parent))) (v1-17 (if (and (nonzero? gp-1) (type-type? (-> gp-1 type) process)) - gp-1 - ) - ) + gp-1 + ) + ) ) - (if v1-17 - (set! - (-> self entity-override) - (the-as entity-actor (-> (the-as process v1-17) entity)) - ) + (if v1-17 + (set! (-> self entity-override) (the-as entity-actor (-> (the-as process v1-17) entity))) + ) ) - ) (set! (-> self event-hook) (-> camera-tracker-process event)) (go camera-tracker-process) ) @@ -1616,8 +1317,8 @@ ;; definition for method 3 of type med-res-level (defmethod inspect med-res-level ((obj med-res-level)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tlevel: ~A~%" (-> obj level)) (format #t "~T~Tpart-mode: ~A~%" (-> obj part-mode)) (format #t "~T~Tindex: ~D~%" (-> obj index)) @@ -1628,77 +1329,63 @@ (defstate med-res-level-idle (med-res-level) :code (behavior () - (local-vars (v1-37 float)) - (rlet ((vf0 :class vf) - (vf16 :class vf) - (vf17 :class vf) - ) - (init-vf0-vector) - (while #t - (let ((a0-1 (level-get *level* (-> self level))) - (v1-3 (-> *game-info* current-continue level)) + (local-vars (v1-37 float)) + (rlet ((vf0 :class vf) + (vf16 :class vf) + (vf17 :class vf) ) - (cond - ((and - a0-1 - (or - (= (-> a0-1 display?) 'special) - (= (-> a0-1 display?) 'special-vis) - ) - ) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (when (nonzero? (-> self skel)) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - ) - ((or (and a0-1 (= (-> a0-1 status) 'active)) (= v1-3 'firecanyon)) - (logior! (-> self draw status) 2) - ) - ((and (= (-> self level) 'firecanyon) (< (-> (camera-pos) y) 327680.0)) - (logior! (-> self draw status) 2) - ) - (else - (set! (-> self draw status) (logand -3 (-> self draw status))) - (if (nonzero? (-> self part)) - (spawn (-> self part) (-> self root trans)) - ) - (when (nonzero? (-> self skel)) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) 1.0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - ) - ) - ) - (when (zero? (logand (-> self draw status) 2)) - (let ((v1-36 (-> self draw)) - (a0-18 (new 'stack-no-clear 'vector)) + (init-vf0-vector) + (while #t + (let ((a0-1 (level-get *level* (-> self level))) + (v1-3 (-> *game-info* current-continue level)) + ) + (cond + ((and a0-1 (or (= (-> a0-1 display?) 'special) (= (-> a0-1 display?) 'special-vis))) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (when (nonzero? (-> self skel)) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + ) + ((or (and a0-1 (= (-> a0-1 status) 'active)) (= v1-3 'firecanyon)) + (logior! (-> self draw status) 2) + ) + ((and (= (-> self level) 'firecanyon) (< (-> (camera-pos) y) 327680.0)) + (logior! (-> self draw status) 2) + ) + (else + (set! (-> self draw status) (logand -3 (-> self draw status))) + (if (nonzero? (-> self part)) + (spawn (-> self part) (-> self root trans)) + ) + (when (nonzero? (-> self skel)) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) 1.0) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + ) ) - (.lvf vf16 (&-> v1-36 origin quad)) - (.lvf vf17 (&-> v1-36 bounds quad)) - (.mul.x.vf vf16 vf16 vf0 :mask #b1000) - (.add.vf vf16 vf16 vf17) - (.svf (&-> a0-18 quad) vf16) - ) - (.mov v1-37 vf16) + ) + (when (zero? (logand (-> self draw status) 2)) + (let ((v1-36 (-> self draw)) + (a0-18 (new 'stack-no-clear 'vector)) + ) + (.lvf vf16 (&-> v1-36 origin quad)) + (.lvf vf17 (&-> v1-36 bounds quad)) + (.mul.x.vf vf16 vf16 vf0 :mask #b1000) + (.add.vf vf16 vf16 vf17) + (.svf (&-> a0-18 quad) vf16) + ) + (.mov v1-37 vf16) + ) + (suspend) + ) + (none) ) - (suspend) - ) - (none) ) - ) :post (the-as (function none :behavior med-res-level) ja-post) ) @@ -1709,79 +1396,67 @@ ;; definition for method 11 of type med-res-level ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - med-res-level - ((obj med-res-level) (arg0 entity-actor)) +(defmethod init-from-entity! med-res-level ((obj med-res-level) (arg0 entity-actor)) (local-vars (sv-16 res-tag)) (stack-size-set! (-> obj main-thread) 128) "#f" (let ((s4-0 (the-as (pointer sparticle-launch-group) #f))) - (set! sv-16 (new 'static 'res-tag)) - (let* - ((s3-0 - (res-lump-data - arg0 - 'art-name - (pointer (pointer sparticle-launch-group)) - :tag-ptr - (& sv-16) - ) + (set! sv-16 (new 'static 'res-tag)) + (let* ((s3-0 (res-lump-data arg0 'art-name (pointer (pointer sparticle-launch-group)) :tag-ptr (& sv-16))) + (s2-0 (-> s3-0 0)) + ) + (cond + ((not s3-0) + ) + ((part-group-pointer? s2-0) + (set! s4-0 (-> s3-0 0)) + ) + ((= (-> s2-0 -1) string) + (set! s4-0 (lookup-part-group-pointer-by-name (the-as string s2-0))) + (if s4-0 + (set! (-> s3-0 0) s4-0) + ) + ) + ((= (-> s2-0 -1) symbol) + (let ((a0-7 (-> (&+ s2-0 #xff38) 0))) + (set! s4-0 (lookup-part-group-pointer-by-name (the-as string a0-7))) + ) + (if s4-0 + (set! (-> s3-0 0) s4-0) + ) + ) + ) ) - (s2-0 (-> s3-0 0)) - ) - (cond - ((not s3-0) + (when s4-0 + (let ((a0-8 (-> s4-0 0))) + (if (and (nonzero? a0-8) (= (-> a0-8 type) sparticle-launch-group)) + (set! (-> obj part) (create-launch-control a0-8 obj)) + ) + ) ) - ((part-group-pointer? s2-0) - (set! s4-0 (-> s3-0 0)) - ) - ((= (-> s2-0 -1) string) - (set! s4-0 (lookup-part-group-pointer-by-name (the-as string s2-0))) - (if s4-0 - (set! (-> s3-0 0) s4-0) - ) - ) - ((= (-> s2-0 -1) symbol) - (let ((a0-7 (-> (&+ s2-0 #xff38) 0))) - (set! s4-0 (lookup-part-group-pointer-by-name (the-as string a0-7))) - ) - (if s4-0 - (set! (-> s3-0 0) s4-0) - ) - ) - ) ) - (when s4-0 - (let ((a0-8 (-> s4-0 0))) - (if (and (nonzero? a0-8) (= (-> a0-8 type) sparticle-launch-group)) - (set! (-> obj part) (create-launch-control a0-8 obj)) - ) - ) - ) - ) (process-entity-status! obj (entity-perm-status bit-7) #t) (let ((s4-1 (res-lump-struct (-> obj entity) 'level structure)) (s3-1 (res-lump-value (-> obj entity) 'index uint128)) ) - (when s4-1 - (set! (-> obj level) (the-as symbol s4-1)) - (set! (-> obj index) (the-as int s3-1)) - (set! (-> obj root) (new 'process 'trsqv)) - (process-drawable-from-entity! obj arg0) - (logclear! (-> obj mask) (process-mask actor-pause)) - (format (clear *lev-string*) "med-res-~S~S" s4-1 (if (zero? s3-1) - "" - (* s3-1 8) - ) - ) - (dummy-15 obj *lev-string* '()) - (logior! (-> obj draw status) 64) - (if (nonzero? (-> obj draw)) - (go med-res-level-idle) - ) + (when s4-1 + (set! (-> obj level) (the-as symbol s4-1)) + (set! (-> obj index) (the-as int s3-1)) + (set! (-> obj root) (new 'process 'trsqv)) + (process-drawable-from-entity! obj arg0) + (logclear! (-> obj mask) (process-mask actor-pause)) + (format (clear *lev-string*) "med-res-~S~S" s4-1 (if (zero? s3-1) + "" + (* s3-1 8) + ) + ) + (dummy-15 obj *lev-string* '()) + (logior! (-> obj draw status) 64) + (if (nonzero? (-> obj draw)) + (go med-res-level-idle) + ) + ) ) - ) (none) ) @@ -1797,47 +1472,44 @@ (defstate part-spawner-active (part-spawner) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('stop) - (process-entity-status! self (entity-perm-status complete) #t) - (set! (-> self enable) #f) - #t + (case arg2 + (('stop) + (process-entity-status! self (entity-perm-status complete) #t) + (set! (-> self enable) #f) + #t + ) + (('start) + (process-entity-status! self (entity-perm-status complete) #f) + (set! (-> self enable) #t) + #t + ) + (('trans) + (let ((v0-1 (the-as object (-> (the-as vector (-> arg3 param 0)) quad)))) + (set! (-> self root trans quad) (the-as uint128 v0-1)) + v0-1 + ) + ) ) - (('start) - (process-entity-status! self (entity-perm-status complete) #f) - (set! (-> self enable) #t) - #t - ) - (('trans) - (let ((v0-1 (the-as object (-> (the-as vector (-> arg3 param 0)) quad)))) - (set! (-> self root trans quad) (the-as uint128 v0-1)) - v0-1 - ) - ) ) - ) :code (behavior () - (while #t - (when (-> self enable) - (spawn (-> self part) (-> self root trans)) - (if (nonzero? (-> self sound)) - (update! (-> self sound)) + (while #t + (when (-> self enable) + (spawn (-> self part) (-> self root trans)) + (if (nonzero? (-> self sound)) + (update! (-> self sound)) + ) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition for method 11 of type part-spawner ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - part-spawner - ((obj part-spawner) (arg0 entity-actor)) +(defmethod init-from-entity! part-spawner ((obj part-spawner) (arg0 entity-actor)) (local-vars (sv-16 res-tag)) (stack-size-set! (-> obj main-thread) 128) (set! (-> obj mask) (logior (process-mask ambient) (-> obj mask))) @@ -1845,73 +1517,55 @@ (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (set! (-> obj radius) 12288.0) - (set! - (-> obj enable) - (not - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - ) - ) - (set! - (-> obj sound) - (new 'process 'ambient-sound (-> obj entity) (-> obj root trans)) - ) + (set! (-> obj enable) + (not (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete)))) + ) + (set! (-> obj sound) (new 'process 'ambient-sound (-> obj entity) (-> obj root trans))) (let ((s4-0 (the-as object "#f"))) - (let ((s3-0 (the-as (pointer sparticle-launch-group) #f))) - (set! sv-16 (new 'static 'res-tag)) - (let* - ((s5-1 - (res-lump-data - arg0 - 'art-name - (pointer (pointer sparticle-launch-group)) - :tag-ptr - (& sv-16) + (let ((s3-0 (the-as (pointer sparticle-launch-group) #f))) + (set! sv-16 (new 'static 'res-tag)) + (let* ((s5-1 (res-lump-data arg0 'art-name (pointer (pointer sparticle-launch-group)) :tag-ptr (& sv-16))) + (s2-0 (-> s5-1 0)) + ) + (cond + ((part-group-pointer? s2-0) + (set! s3-0 (-> s5-1 0)) + ) + ((= (-> s2-0 -1) string) + (when (string= (the-as string s2-0) "group-beach-grotto-1") + (set! (-> obj radius) 61440.0) + (go beach-part-grotto-1) + ) + (set! s4-0 s2-0) + (set! s3-0 (lookup-part-group-pointer-by-name (the-as string s4-0))) + (if s3-0 + (set! (-> s5-1 0) s3-0) + ) + ) + ((= (-> s2-0 -1) symbol) + (set! s4-0 (-> (&+ s2-0 #xff38) 0)) + (set! s3-0 (lookup-part-group-pointer-by-name (the-as string s4-0))) + (if s3-0 + (set! (-> s5-1 0) s3-0) + ) + ) + (else + (go process-drawable-art-error (the-as string s2-0)) + ) + ) + ) + (set! (-> obj mode) s3-0) + (when s3-0 + (let ((a0-19 (-> s3-0 0))) + (when (and (nonzero? a0-19) (= (-> a0-19 type) sparticle-launch-group)) + (set! (-> obj part) (create-launch-control a0-19 obj)) + (go part-spawner-active) + ) + ) ) - ) - (s2-0 (-> s5-1 0)) ) - (cond - ((part-group-pointer? s2-0) - (set! s3-0 (-> s5-1 0)) - ) - ((= (-> s2-0 -1) string) - (when (string= (the-as string s2-0) "group-beach-grotto-1") - (set! (-> obj radius) 61440.0) - (go beach-part-grotto-1) - ) - (set! s4-0 s2-0) - (set! s3-0 (lookup-part-group-pointer-by-name (the-as string s4-0))) - (if s3-0 - (set! (-> s5-1 0) s3-0) - ) - ) - ((= (-> s2-0 -1) symbol) - (set! s4-0 (-> (&+ s2-0 #xff38) 0)) - (set! s3-0 (lookup-part-group-pointer-by-name (the-as string s4-0))) - (if s3-0 - (set! (-> s5-1 0) s3-0) - ) - ) - (else - (go process-drawable-art-error (the-as string s2-0)) - ) - ) - ) - (set! (-> obj mode) s3-0) - (when s3-0 - (let ((a0-19 (-> s3-0 0))) - (when (and (nonzero? a0-19) (= (-> a0-19 type) sparticle-launch-group)) - (set! (-> obj part) (create-launch-control a0-19 obj)) - (go part-spawner-active) - ) - ) - ) + (go process-drawable-art-error (the-as string s4-0)) ) - (go process-drawable-art-error (the-as string s4-0)) - ) (none) ) @@ -1934,8 +1588,8 @@ ;; definition for method 3 of type launcher (defmethod inspect launcher ((obj launcher)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tspring-height: (meters ~m)~%" (-> obj spring-height)) (format #t "~T~Tcamera: ~A~%" (-> obj camera)) (format #t "~T~Tactive-distance: ~f~%" (-> obj active-distance)) @@ -1946,699 +1600,586 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 37) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-launcher" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 45 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 46 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 47 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 48 :fade-after (meters 50.0) :falloff-to (meters 80.0)) - (sp-item 49 :fade-after (meters 70.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 20480.0) - ) - ) +(set! (-> *part-group-id-table* 37) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-launcher" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 45 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 46 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 47 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 48 :fade-after (meters 50.0) :falloff-to (meters 80.0)) + (sp-item 49 :fade-after (meters 70.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 20480.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 45) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-flt spt-num 1.5) - (sp-flt spt-x (meters 1.5)) - (sp-flt spt-y (meters -0.5)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3276.8) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-int spt-timer 270) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 180) - (sp-launcher-by-id spt-next-launcher 50) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 45) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-flt spt-num 1.5) + (sp-flt spt-x (meters 1.5)) + (sp-flt spt-y (meters -0.5)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3276.8) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-int spt-timer 270) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 180) + (sp-launcher-by-id spt-next-launcher 50) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 50) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -4.551111) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 50) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -4.551111) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 46) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.8) 1.0) - (sp-flt spt-scale-x (meters 0.2)) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.5) (meters 2.5) 1.0) - (sp-rnd-int spt-r 0 1 128.0) - (sp-rnd-flt spt-g 64.0 196.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-scalevel-y (meters 0.24414062) (meters 0.48828125) 1.0) - (sp-int spt-timer 81) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 46) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.8) 1.0) + (sp-flt spt-scale-x (meters 0.2)) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.5) (meters 2.5) 1.0) + (sp-rnd-int spt-r 0 1 128.0) + (sp-rnd-flt spt-g 64.0 196.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-scalevel-y (meters 0.24414062) (meters 0.48828125) 1.0) + (sp-int spt-timer 81) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 47) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 1.8) (meters 1.0) 1.0) - (sp-flt spt-scale-x (meters 0.2)) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-int spt-r 0 1 128.0) - (sp-rnd-flt spt-g 64.0 196.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-scalevel-y (meters 0.048828125) (meters 0.09765625) 1.0) - (sp-int spt-timer 81) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 47) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 1.8) (meters 1.0) 1.0) + (sp-flt spt-scale-x (meters 0.2)) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-int spt-r 0 1 128.0) + (sp-rnd-flt spt-g 64.0 196.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-scalevel-y (meters 0.048828125) (meters 0.09765625) 1.0) + (sp-int spt-timer 81) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 48) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.1) 1.0) - (sp-rnd-flt spt-r 10.0 6.0 1.0) - (sp-rnd-flt spt-g 64.0 128.0 1.0) - (sp-rnd-flt spt-b 10.0 6.0 1.0) - (sp-flt spt-a 80.0) - (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) - (sp-flt spt-fade-a -0.2) - (sp-flt spt-accel-y 6.826667) - (sp-flt spt-friction 0.996) - (sp-int-plain-rnd spt-timer 180 119 1) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 48) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.1) 1.0) + (sp-rnd-flt spt-r 10.0 6.0 1.0) + (sp-rnd-flt spt-g 64.0 128.0 1.0) + (sp-rnd-flt spt-b 10.0 6.0 1.0) + (sp-flt spt-a 80.0) + (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) + (sp-flt spt-fade-a -0.2) + (sp-flt spt-accel-y 6.826667) + (sp-flt spt-friction 0.996) + (sp-int-plain-rnd spt-timer 180 119 1) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 49) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 32.0 32.0 1.0) - (sp-rnd-flt spt-b 10.0 5.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) - (sp-flt spt-fade-a 0.6) - (sp-flt spt-accel-y 6.826667) - (sp-flt spt-friction 0.996) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 45) - (sp-launcher-by-id spt-next-launcher 51) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 49) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 10.0 5.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) + (sp-flt spt-fade-a 0.6) + (sp-flt spt-accel-y 6.826667) + (sp-flt spt-friction 0.996) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 45) + (sp-launcher-by-id spt-next-launcher 51) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 51) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.18) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 51) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.18) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 38) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-jungle-launcher" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 45 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 52 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 53 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 54 :fade-after (meters 70.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 20480.0) - ) - ) +(set! (-> *part-group-id-table* 38) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-jungle-launcher" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 45 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 52 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 53 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 54 :fade-after (meters 70.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 20480.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 52) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.4) 1.0) - (sp-flt spt-scale-x (meters 0.2)) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.5) (meters 2.5) 1.0) - (sp-rnd-int spt-r 0 1 128.0) - (sp-rnd-flt spt-g 64.0 196.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-scalevel-y (meters 0.24414062) (meters 0.48828125) 1.0) - (sp-int spt-timer 81) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 52) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.4) 1.0) + (sp-flt spt-scale-x (meters 0.2)) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.5) (meters 2.5) 1.0) + (sp-rnd-int spt-r 0 1 128.0) + (sp-rnd-flt spt-g 64.0 196.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-scalevel-y (meters 0.24414062) (meters 0.48828125) 1.0) + (sp-int spt-timer 81) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 53) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 1.4) (meters 0.9) 1.0) - (sp-flt spt-scale-x (meters 0.2)) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-int spt-r 0 1 128.0) - (sp-rnd-flt spt-g 64.0 196.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-scalevel-y (meters 0.048828125) (meters 0.09765625) 1.0) - (sp-int spt-timer 81) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 53) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 1.4) (meters 0.9) 1.0) + (sp-flt spt-scale-x (meters 0.2)) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-int spt-r 0 1 128.0) + (sp-rnd-flt spt-g 64.0 196.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-scalevel-y (meters 0.048828125) (meters 0.09765625) 1.0) + (sp-int spt-timer 81) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 54) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 32.0 32.0 1.0) - (sp-rnd-flt spt-b 10.0 5.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) - (sp-flt spt-fade-a 0.6) - (sp-flt spt-accel-y 6.826667) - (sp-flt spt-friction 0.996) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 45) - (sp-launcher-by-id spt-next-launcher 51) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 54) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 10.0 5.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) + (sp-flt spt-fade-a 0.6) + (sp-flt spt-accel-y 6.826667) + (sp-flt spt-friction 0.996) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 45) + (sp-launcher-by-id spt-next-launcher 51) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 39) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-launcher" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 45 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 46 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 47 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 55 :fade-after (meters 70.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 20480.0) - ) - ) +(set! (-> *part-group-id-table* 39) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-launcher" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 45 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 46 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 47 :fade-after (meters 70.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 55 :fade-after (meters 70.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 20480.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 55) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 16.0 16.0 1.0) - (sp-rnd-flt spt-g 16.0 16.0 1.0) - (sp-rnd-flt spt-b 5.0 2.5 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) - (sp-flt spt-fade-a 0.6) - (sp-flt spt-accel-y 6.826667) - (sp-flt spt-friction 0.996) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 45) - (sp-launcher-by-id spt-next-launcher 51) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 55) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters 2.9) (meters 2.5) 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 16.0 16.0 1.0) + (sp-rnd-flt spt-g 16.0 16.0 1.0) + (sp-rnd-flt spt-b 5.0 2.5 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) + (sp-flt spt-fade-a 0.6) + (sp-flt spt-accel-y 6.826667) + (sp-flt spt-friction 0.996) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 45) + (sp-launcher-by-id spt-next-launcher 51) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition for function cam-launcher-joystick ;; Used lq/sq (defbehavior cam-launcher-joystick camera-slave () (when *camera-read-analog* - (let ((s5-0 (new-stack-matrix0)) - (gp-0 (vector-reset! (new 'stack-no-clear 'vector))) - ) - (let* - ((f0-0 - (analog-input - (the-as int (+ (-> *cpad-list* cpads 0 rightx) -128)) - 0.0 - 48.0 - 110.0 - -1.0 + (let ((s5-0 (new-stack-matrix0)) + (gp-0 (vector-reset! (new 'stack-no-clear 'vector))) + ) + (let* ((f0-0 (analog-input (the-as int (+ (-> *cpad-list* cpads 0 rightx) -128)) 0.0 48.0 110.0 -1.0)) + (f1-1 (* -546.13336 f0-0)) + (f0-2 (fmin 546.13336 (fmax -546.13336 f1-1))) + ) + (matrix-axis-angle! s5-0 (-> *camera* local-down) f0-2) ) - ) - (f1-1 (* -546.13336 f0-0)) - (f0-2 (fmin 546.13336 (fmax -546.13336 f1-1))) + (vector-! gp-0 (-> self trans) (-> *camera* tpos-curr)) + (vector-matrix*! gp-0 gp-0 s5-0) + (vector+! (-> self trans) gp-0 (-> *camera* tpos-curr)) ) - (matrix-axis-angle! s5-0 (-> *camera* local-down) f0-2) - ) - (vector-! gp-0 (-> self trans) (-> *camera* tpos-curr)) - (vector-matrix*! gp-0 gp-0 s5-0) - (vector+! (-> self trans) gp-0 (-> *camera* tpos-curr)) ) - ) ) ;; failed to figure out what this is: (defstate cam-launcher-shortfall (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector--float*! - (-> self trans) - (-> *camera* tpos-curr) - (-> *camera* local-down) - 28672.0 + (when (not (-> self enter-has-run)) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector--float*! (-> self trans) (-> *camera* tpos-curr) (-> *camera* local-down) 28672.0) + (vector-flatten! gp-0 (-> self tracking inv-mat vector 2) (-> *camera* local-down)) + (vector-normalize! gp-0 1.0) + (set! (-> self pivot-pt quad) (-> gp-0 quad)) + (vector+float*! gp-0 gp-0 (-> *camera* local-down) 1000.0) + (vector-normalize-copy! (-> self tracking inv-mat vector 2) gp-0 1.0) + ) + (vector-cross! + (-> self tracking inv-mat vector 1) + (-> self tracking inv-mat vector 2) + (the-as vector (-> self tracking)) + ) + (set! (-> self blend-from-type) (the-as uint 0)) + (set! (-> self blend-to-type) (the-as uint 0)) + 0 ) - (vector-flatten! - gp-0 - (-> self tracking inv-mat vector 2) - (-> *camera* local-down) - ) - (vector-normalize! gp-0 1.0) - (set! (-> self pivot-pt quad) (-> gp-0 quad)) - (vector+float*! gp-0 gp-0 (-> *camera* local-down) 1000.0) - (vector-normalize-copy! (-> self tracking inv-mat vector 2) gp-0 1.0) - ) - (vector-cross! - (-> self tracking inv-mat vector 1) - (-> self tracking inv-mat vector 2) - (the-as vector (-> self tracking)) - ) - (set! (-> self blend-from-type) (the-as uint 0)) - (set! (-> self blend-to-type) (the-as uint 0)) - 0 + (none) ) - (none) - ) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (cam-slave-go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (cam-slave-go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (let ((gp-0 (-> *display* base-frame-counter))) - (while #t - (when (not (paused?)) - (vector--float*! - (-> self trans) - (-> *camera* tpos-curr) - (-> *camera* local-down) - 28672.0 - ) - (send-event *camera* 'teleport) - (if - (and - (-> *camera* on-ground) - (>= (- (-> *display* base-frame-counter) gp-0) 300) + (let ((gp-0 (-> *display* base-frame-counter))) + (while #t + (when (not (paused?)) + (vector--float*! (-> self trans) (-> *camera* tpos-curr) (-> *camera* local-down) 28672.0) + (send-event *camera* 'teleport) + (if (and (-> *camera* on-ground) (>= (- (-> *display* base-frame-counter) gp-0) 300)) + (send-event *camera* 'change-state *camera-base-mode* 150) + ) + ) + (suspend) ) - (send-event *camera* 'change-state *camera-base-mode* 150) - ) ) - (suspend) - ) + (none) ) - (none) - ) ) ;; definition for function cam-launcher-long-joystick ;; Used lq/sq (defbehavior cam-launcher-long-joystick camera-slave () (when *camera-read-analog* - (let ((gp-0 (new-stack-matrix0))) - (let* - ((f0-0 - (analog-input - (the-as int (+ (-> *cpad-list* cpads 0 rightx) -128)) - 0.0 - 48.0 - 110.0 - -1.0 + (let ((gp-0 (new-stack-matrix0))) + (let* ((f0-0 (analog-input (the-as int (+ (-> *cpad-list* cpads 0 rightx) -128)) 0.0 48.0 110.0 -1.0)) + (f1-1 (* -546.13336 f0-0)) + (f0-2 (fmin 546.13336 (fmax -546.13336 f1-1))) + ) + (matrix-axis-angle! gp-0 (-> *camera* local-down) f0-2) ) - ) - (f1-1 (* -546.13336 f0-0)) - (f0-2 (fmin 546.13336 (fmax -546.13336 f1-1))) + (vector-matrix*! (-> self view-flat) (-> self view-flat) gp-0) ) - (matrix-axis-angle! gp-0 (-> *camera* local-down) f0-2) - ) - (vector-matrix*! (-> self view-flat) (-> self view-flat) gp-0) + (vector-normalize! (-> self view-flat) 4096.0) ) - (vector-normalize! (-> self view-flat) 4096.0) - ) ) ;; failed to figure out what this is: (defstate cam-launcher-longfall (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('teleport) - #f + (case arg2 + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (when (not (-> self enter-has-run)) - (new 'stack-no-clear 'vector) - (vector-negate! (-> self view-flat) (-> self tracking inv-mat vector 2)) - (vector-normalize! (-> self view-flat) 4096.0) - (vector--float*! - (-> self trans) - (-> *camera* tpos-curr) - (-> *camera* local-down) - 28672.0 - ) - (vector+! (-> self trans) (-> self trans) (-> self view-flat)) - (set! (-> self blend-from-type) (the-as uint 0)) - (set! (-> self blend-to-type) (the-as uint 0)) - (cam-calc-follow! (-> self tracking) (-> self trans) #f) - (slave-set-rotation! - (-> self tracking) - (-> self trans) - (the-as float (-> self options)) - (-> self fov) - #f - ) + (when (not (-> self enter-has-run)) + (new 'stack-no-clear 'vector) + (vector-negate! (-> self view-flat) (-> self tracking inv-mat vector 2)) + (vector-normalize! (-> self view-flat) 4096.0) + (vector--float*! (-> self trans) (-> *camera* tpos-curr) (-> *camera* local-down) 28672.0) + (vector+! (-> self trans) (-> self trans) (-> self view-flat)) + (set! (-> self blend-from-type) (the-as uint 0)) + (set! (-> self blend-to-type) (the-as uint 0)) + (cam-calc-follow! (-> self tracking) (-> self trans) #f) + (slave-set-rotation! (-> self tracking) (-> self trans) (the-as float (-> self options)) (-> self fov) #f) + ) + (none) ) - (none) - ) :trans (behavior () - (if (zero? (logand (-> *camera* master-options) 2)) - (cam-slave-go cam-free-floating) + (if (zero? (logand (-> *camera* master-options) 2)) + (cam-slave-go cam-free-floating) + ) + (cam-launcher-long-joystick) + (none) ) - (cam-launcher-long-joystick) - (none) - ) :code (behavior () - (let ((gp-0 (-> *display* base-frame-counter))) - (while #t - (when (not (paused?)) - (let ((s4-0 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'vector)) - ) - 0.0 - 0.0 - 0.0 - (send-event *camera* 'teleport) - (let* ((f0-4 (vector-dot (-> self velocity) (-> *camera* local-down))) - (f30-0 (* 0.975 f0-4)) + (let ((gp-0 (-> *display* base-frame-counter))) + (while #t + (when (not (paused?)) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'vector)) + ) + 0.0 + 0.0 + 0.0 + (send-event *camera* 'teleport) + (let* ((f0-4 (vector-dot (-> self velocity) (-> *camera* local-down))) + (f30-0 (* 0.975 f0-4)) + ) + (vector--float*! s4-0 (-> *camera* tpos-curr) (-> *camera* local-down) 28672.0) + (vector-! s4-0 s4-0 (-> self trans)) + (let ((f28-0 (vector-dot s4-0 (-> *camera* local-down)))) + (vector--float*! s5-0 s4-0 (-> *camera* local-down) f28-0) + (cond + ((< f28-0 f30-0) + (set! f30-0 f28-0) + ) + ((< 20480.0 f28-0) + (let ((f28-1 (+ -20480.0 f28-0))) + (let ((f0-8 (lerp f30-0 f28-1 0.005))) + (if (< f30-0 f0-8) + (set! f30-0 f0-8) + ) + ) + (if (< (* 0.09 f28-1) f30-0) + (set! f30-0 (* 0.09 f28-1)) + ) + ) + ) + ) + ) + (vector+float*! (-> self velocity) s5-0 (-> *camera* local-down) f30-0) ) - (vector--float*! - s4-0 - (-> *camera* tpos-curr) - (-> *camera* local-down) - 28672.0 - ) - (vector-! s4-0 s4-0 (-> self trans)) - (let ((f28-0 (vector-dot s4-0 (-> *camera* local-down)))) - (vector--float*! s5-0 s4-0 (-> *camera* local-down) f28-0) - (cond - ((< f28-0 f30-0) - (set! f30-0 f28-0) - ) - ((< 20480.0 f28-0) - (let ((f28-1 (+ -20480.0 f28-0))) - (let ((f0-8 (lerp f30-0 f28-1 0.005))) - (if (< f30-0 f0-8) - (set! f30-0 f0-8) - ) - ) - (if (< (* 0.09 f28-1) f30-0) - (set! f30-0 (* 0.09 f28-1)) - ) ) - ) + (vector+! (-> self trans) (-> self trans) (-> self velocity)) + (set! (-> self trans x) (-> *camera* tpos-curr x)) + (set! (-> self trans z) (-> *camera* tpos-curr z)) + (vector+! (-> self trans) (-> self trans) (-> self view-flat)) + (if (and (-> *camera* on-ground) (>= (- (-> *display* base-frame-counter) gp-0) 300)) + (send-event *camera* 'change-state *camera-base-mode* 150) + ) ) - ) - (vector+float*! (-> self velocity) s5-0 (-> *camera* local-down) f30-0) + (vector-reset! (-> self tracking follow-off)) + (vector+! (-> self tracking follow-pt) (-> *camera* tpos-curr-adj) (-> self tracking follow-off)) + (vector--float*! + (-> self tracking follow-pt) + (-> self tracking follow-pt) + (-> *camera* local-down) + (-> *camera* target-height) + ) + (slave-set-rotation! (-> self tracking) (-> self trans) (the-as float (-> self options)) (-> self fov) #f) + (suspend) ) - ) - (vector+! (-> self trans) (-> self trans) (-> self velocity)) - (set! (-> self trans x) (-> *camera* tpos-curr x)) - (set! (-> self trans z) (-> *camera* tpos-curr z)) - (vector+! (-> self trans) (-> self trans) (-> self view-flat)) - (if - (and - (-> *camera* on-ground) - (>= (- (-> *display* base-frame-counter) gp-0) 300) - ) - (send-event *camera* 'change-state *camera-base-mode* 150) - ) ) - (vector-reset! (-> self tracking follow-off)) - (vector+! - (-> self tracking follow-pt) - (-> *camera* tpos-curr-adj) - (-> self tracking follow-off) - ) - (vector--float*! - (-> self tracking follow-pt) - (-> self tracking follow-pt) - (-> *camera* local-down) - (-> *camera* target-height) - ) - (slave-set-rotation! - (-> self tracking) - (-> self trans) - (the-as float (-> self options)) - (-> self fov) - #f - ) - (suspend) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate launcher-idle (launcher) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('instant-death) - (go launcher-deactivated) + (case arg2 + (('instant-death) + (go launcher-deactivated) + ) + (('trans) + (TODO-RENAME-30 (-> self root-override) (the-as vector (-> arg3 param 0))) + (dummy-47 (-> self root-override)) + ) ) - (('trans) - (TODO-RENAME-30 (-> self root-override) (the-as vector (-> arg3 param 0))) - (dummy-47 (-> self root-override)) - ) ) - ) :trans (behavior () - (when - (and - *target* - (>= - (-> self active-distance) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (cond - ((send-event-function *target* a1-1) - (go launcher-active) - ) - (else - (let ((gp-0 'target-launch) - (a1-2 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'mode)) - (if (= (send-event-function *target* a1-2) gp-0) - (send-event *target* 'end-mode) - ) + (when (and *target* (>= (-> self active-distance) + (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 2) + (set! (-> a1-1 message) 'query) + (set! (-> a1-1 param 0) (the-as uint 'powerup)) + (set! (-> a1-1 param 1) (the-as uint 3)) + (cond + ((send-event-function *target* a1-1) + (go launcher-active) + ) + (else + (let ((gp-0 'target-launch) + (a1-2 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 1) + (set! (-> a1-2 message) 'query) + (set! (-> a1-2 param 0) (the-as uint 'mode)) + (if (= (send-event-function *target* a1-2) gp-0) + (send-event *target* 'end-mode) + ) + ) + ) + ) ) - ) + (if (and + (and *target* (>= 32768.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + (let ((a1-5 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-5 from) self) + (set! (-> a1-5 num-params) 2) + (set! (-> a1-5 message) 'query) + (set! (-> a1-5 param 0) (the-as uint 'powerup)) + (set! (-> a1-5 param 1) (the-as uint 3)) + (not (send-event-function *target* a1-5)) + ) + ) + (level-hint-spawn + (game-text-id daxter-launcher-no-eco) + "sksp0035" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) ) - ) - (if - (and - (and - *target* - (>= - 32768.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 2) - (set! (-> a1-5 message) 'query) - (set! (-> a1-5 param 0) (the-as uint 'powerup)) - (set! (-> a1-5 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-5)) - ) - ) - (level-hint-spawn - (game-text-id daxter-launcher-no-eco) - "sksp0035" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) + (none) ) - (none) - ) :code (the-as (function none :behavior launcher) anim-loop) ) @@ -2647,114 +2188,74 @@ (defstate launcher-active (launcher) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (when (or (= arg2 'touch) (= arg2 'attack)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (send-event - arg0 - 'launch - (-> self spring-height) - (-> self camera) - (-> self dest) - (-> self seek-time) - ) + (when (or (= arg2 'touch) (= arg2 'attack)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (send-event arg0 'launch (-> self spring-height) (-> self camera) (-> self dest) (-> self seek-time)) + ) + (cond + ((= arg2 'instant-death) + (go launcher-deactivated) + ) + ((= arg2 'trans) + (TODO-RENAME-30 (-> self root-override) (the-as vector (-> arg3 param 0))) + (dummy-47 (-> self root-override)) + ) + ) ) - (cond - ((= arg2 'instant-death) - (go launcher-deactivated) - ) - ((= arg2 'trans) - (TODO-RENAME-30 (-> self root-override) (the-as vector (-> arg3 param 0))) - (dummy-47 (-> self root-override)) - ) - ) - ) :exit (behavior () - (let ((v1-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) - (set! (-> v1-0 command) (sound-command set-param)) - (set! (-> v1-0 id) (-> self sound-id)) - (set! (-> v1-0 parms volume) -4) - (set! (-> v1-0 auto-time) 120) - (set! (-> v1-0 auto-from) 2) - (set! (-> v1-0 parms mask) (the-as uint 17)) - (-> v1-0 id) + (let ((v1-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) + (set! (-> v1-0 command) (sound-command set-param)) + (set! (-> v1-0 id) (-> self sound-id)) + (set! (-> v1-0 parms volume) -4) + (set! (-> v1-0 auto-time) 120) + (set! (-> v1-0 auto-from) 2) + (set! (-> v1-0 parms mask) (the-as uint 17)) + (-> v1-0 id) + ) + (none) ) - (none) - ) :trans (behavior () - (if - (or - (or - (not *target*) - (< - (-> self active-distance) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) + (if (or + (or + (not *target*) + (< (-> self active-distance) + (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 2) + (set! (-> a1-1 message) 'query) + (set! (-> a1-1 param 0) (the-as uint 'powerup)) + (set! (-> a1-1 param 1) (the-as uint 3)) + (not (send-event-function *target* a1-1)) + ) + ) + (go launcher-idle) ) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-1)) - ) - ) - (go launcher-idle) - ) - (spawn (-> self part) (-> self root-override trans)) - (sound-play-by-name - (static-sound-name "launch-idle") - (-> self sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (if - (and - (and - *target* - (>= - (+ 2867.2 (-> self root-override root-prim prim-core world-sphere w)) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) + (spawn (-> self part) (-> self root-override trans)) + (sound-play-by-name (static-sound-name "launch-idle") (-> self sound-id) 1024 0 0 1 #t) + (if (and + (and + *target* + (>= (+ 2867.2 (-> self root-override root-prim prim-core world-sphere w)) + (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + (< (- (-> *display* base-frame-counter) (-> self state-time)) 150) + ) + (send-event *target* 'launch (-> self spring-height) (-> self camera) (-> self dest) (-> self seek-time)) ) - ) - ) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 150) - ) - (send-event - *target* - 'launch - (-> self spring-height) - (-> self camera) - (-> self dest) - (-> self seek-time) - ) + (none) ) - (none) - ) :code (behavior () - (sound-play-by-name - (static-sound-name "launch-start") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (sound-play-by-name (static-sound-name "launch-start") (new-sound-id) 1024 0 0 1 #t) + (anim-loop) + (none) ) - (anim-loop) - (none) - ) ) ;; failed to figure out what this is: @@ -2767,62 +2268,59 @@ ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! launcher ((obj launcher) (arg0 entity-actor)) (stack-size-set! (-> obj main-thread) 128) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 12288.0) - (set-root-prim! s4-0 s3-0) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 12288.0) + (set-root-prim! s4-0 s3-0) + ) + (set! (-> s4-0 nav-radius) 13926.4) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) 13926.4) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (dummy-47 (-> obj root-override)) (set! (-> obj active-distance) 409600.0) - (set! - (-> obj spring-height) - (res-lump-float arg0 'spring-height :default 163840.0) - ) + (set! (-> obj spring-height) (res-lump-float arg0 'spring-height :default 163840.0)) (let ((s4-1 (res-lump-value arg0 'mode uint128))) - (let ((v1-18 (-> obj entity extra level name))) - (set! (-> obj part) (create-launch-control (cond - ((= v1-18 'beach) - (-> *part-group-id-table* 37) - ) - ((= v1-18 'swamp) - (-> *part-group-id-table* 39) - ) - (else - (-> *part-group-id-table* 38) - ) - ) - obj - ) - ) + (let ((v1-18 (-> obj entity extra level name))) + (set! (-> obj part) (create-launch-control + (cond + ((= v1-18 'beach) + (-> *part-group-id-table* 37) + ) + ((= v1-18 'swamp) + (-> *part-group-id-table* 39) + ) + (else + (-> *part-group-id-table* 38) + ) + ) + obj + ) + ) + ) + (let ((v1-24 (logand (the-as int s4-1) 255))) + (cond + ((= (the-as uint v1-24) 1) + (set! (-> obj camera) cam-launcher-longfall) + ) + ((= (the-as uint v1-24) 2) + (set! (-> obj camera) #f) + ) + (else + (set! (-> obj camera) cam-launcher-shortfall) + ) + ) + ) ) - (let ((v1-24 (logand (the-as int s4-1) 255))) - (cond - ((= (the-as uint v1-24) 1) - (set! (-> obj camera) cam-launcher-longfall) - ) - ((= (the-as uint v1-24) 2) - (set! (-> obj camera) #f) - ) - (else - (set! (-> obj camera) cam-launcher-shortfall) - ) - ) - ) - ) (let ((v1-29 (res-lump-struct arg0 'alt-vector vector))) - (when v1-29 - (set-vector! (-> obj dest) (-> v1-29 x) (-> v1-29 y) (-> v1-29 z) 1.0) - (set! (-> obj seek-time) (the-as uint (the int (* 300.0 (-> v1-29 w))))) + (when v1-29 + (set-vector! (-> obj dest) (-> v1-29 x) (-> v1-29 y) (-> v1-29 z) 1.0) + (set! (-> obj seek-time) (the-as uint (the int (* 300.0 (-> v1-29 w))))) + ) ) - ) (set! (-> obj sound-id) (new-sound-id)) (nav-mesh-connect obj (-> obj root-override) (the-as nav-control #f)) (go launcher-idle) @@ -2832,22 +2330,19 @@ ;; definition for function launcher-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - launcher-init-by-other launcher - ((arg0 vector) (arg1 float) (arg2 int) (arg3 float)) +(defbehavior launcher-init-by-other launcher ((arg0 vector) (arg1 float) (arg2 int) (arg3 float)) (stack-size-set! (-> self main-thread) 128) - (let - ((s2-0 (new 'process 'collide-shape self (collide-list-enum hit-by-player)))) - (let ((s1-0 (new 'process 'collide-shape-prim-sphere s2-0 (the-as uint 0)))) - (set! (-> s1-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s1-0 collide-with) (the-as uint 16)) - (set-vector! (-> s1-0 local-sphere) 0.0 0.0 0.0 12288.0) - (set-root-prim! s2-0 s1-0) + (let ((s2-0 (new 'process 'collide-shape self (collide-list-enum hit-by-player)))) + (let ((s1-0 (new 'process 'collide-shape-prim-sphere s2-0 (the-as uint 0)))) + (set! (-> s1-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s1-0 collide-with) (the-as uint 16)) + (set-vector! (-> s1-0 local-sphere) 0.0 0.0 0.0 12288.0) + (set-root-prim! s2-0 s1-0) + ) + (set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w))) + (backup-collide-with-as s2-0) + (set! (-> self root-override) s2-0) ) - (set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w))) - (backup-collide-with-as s2-0) - (set! (-> self root-override) s2-0) - ) (set! (-> self root-override trans quad) (-> arg0 quad)) (set-vector! (-> self root-override scale) 1.0 1.0 1.0 1.0) (set-vector! (-> self root-override quat) 0.0 0.0 0.0 1.0) @@ -2855,38 +2350,39 @@ (set! (-> self spring-height) arg1) (set! (-> self active-distance) arg3) (let ((v1-23 (-> self entity extra level name))) - (set! (-> self part) (create-launch-control (cond - ((= v1-23 'beach) - (-> *part-group-id-table* 37) - ) - ((= v1-23 'swamp) - (-> *part-group-id-table* 39) - ) - (else - (-> *part-group-id-table* 38) - ) - ) - self - ) + (set! (-> self part) (create-launch-control + (cond + ((= v1-23 'beach) + (-> *part-group-id-table* 37) + ) + ((= v1-23 'swamp) + (-> *part-group-id-table* 39) + ) + (else + (-> *part-group-id-table* 38) + ) + ) + self + ) + ) ) - ) - (case (logand arg2 255) - ((1) + (case (logand arg2 255) + ((1) (set! (-> self camera) cam-launcher-longfall) ) - ((2) - (set! (-> self camera) #f) + ((2) + (set! (-> self camera) #f) + ) + (else + (set! (-> self camera) cam-launcher-shortfall) + ) ) - (else - (set! (-> self camera) cam-launcher-shortfall) - ) - ) (let ((v1-34 (res-lump-struct (-> self entity) 'alt-vector vector))) - (when v1-34 - (set-vector! (-> self dest) (-> v1-34 x) (-> v1-34 y) (-> v1-34 z) 1.0) - (set! (-> self seek-time) (the-as uint (the int (* 300.0 (-> v1-34 w))))) + (when v1-34 + (set-vector! (-> self dest) (-> v1-34 x) (-> v1-34 y) (-> v1-34 z) 1.0) + (set! (-> self seek-time) (the-as uint (the int (* 300.0 (-> v1-34 w))))) + ) ) - ) (set! (-> self sound-id) (new-sound-id)) (go launcher-idle) (none) @@ -2896,241 +2392,191 @@ (defstate touch-tracker-idle (touch-tracker) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-0 none)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'touched) - (let ((v1-1 (ppointer->process (-> self parent)))) - (when (!= v1-1 arg0) - (cond - ((= (-> self event) 'attack) - (cond - ((= (-> arg0 type) target) - (let - ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) (the-as process v1-1)) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) (-> self event)) - (set! (-> a1-2 param 0) (the-as uint #f)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! - (-> a2-2 mode) - (the-as symbol (-> self event-mode)) + (local-vars (v0-0 none)) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'touched) + (let ((v1-1 (ppointer->process (-> self parent)))) + (when (!= v1-1 arg0) + (cond + ((= (-> self event) 'attack) + (cond + ((= (-> arg0 type) target) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) (the-as process v1-1)) + (set! (-> a1-2 num-params) 2) + (set! (-> a1-2 message) (-> self event)) + (set! (-> a1-2 param 0) (the-as uint #f)) + (let ((a2-2 (new 'static 'attack-info :mask #x20))) + (set! (-> a2-2 mode) (the-as symbol (-> self event-mode))) + (set! (-> a1-2 param 1) (the-as uint a2-2)) + ) + (send-event-function arg0 a1-2) + ) + ) + ((= (-> v1-1 type) target) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) (the-as process v1-1)) + (set! (-> a1-4 num-params) 4) + (set! (-> a1-4 message) (-> self event)) + (set! (-> a1-4 param 0) (the-as uint #f)) + (set! (-> a1-4 param 1) (the-as uint (-> self event-mode))) + (set! (-> a1-4 param 2) (the-as uint (-> *target* control unknown-dword50))) + (set! (-> a1-4 param 3) (the-as uint (-> *target* control unknown-dword51))) + (send-event-function arg0 a1-4) + ) + ) + (else + (let ((a1-5 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-5 from) (the-as process v1-1)) + (set! (-> a1-5 num-params) 4) + (set! (-> a1-5 message) (-> self event)) + (set! (-> a1-5 param 0) (the-as uint #f)) + (set! (-> a1-5 param 1) (the-as uint (-> self event-mode))) + (let ((v1-19 (+ *global-attack-id* 1))) + (set! *global-attack-id* v1-19) + (set! (-> a1-5 param 2) (the-as uint v1-19)) + ) + (set! (-> a1-5 param 3) (the-as uint 0)) + (send-event-function arg0 a1-5) + ) + ) + ) + ) + ((-> self event) + (let ((a1-6 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-6 from) (the-as process v1-1)) + (set! (-> a1-6 num-params) 0) + (set! (-> a1-6 message) (-> self event)) + (send-event-function arg0 a1-6) + ) + ) + (else + (let ((t0-5 (new 'stack-no-clear 'event-message-block))) + (set! (-> t0-5 from) arg0) + (set! (-> t0-5 num-params) arg1) + (set! (-> t0-5 message) arg2) + (set! (-> t0-5 param 0) (-> arg3 param 0)) + (set! (-> t0-5 param 1) (-> arg3 param 1)) + (set! (-> t0-5 param 2) (-> arg3 param 2)) + (set! (-> t0-5 param 3) (-> arg3 param 3)) + (set! (-> t0-5 param 4) (-> arg3 param 4)) + (set! (-> t0-5 param 5) (-> arg3 param 5)) + (set! (-> t0-5 param 6) (-> arg3 param 6)) + (send-event-function v1-1 t0-5) + ) + ) ) - (set! (-> a1-2 param 1) (the-as uint a2-2)) - ) - (send-event-function arg0 a1-2) ) - ) - ((= (-> v1-1 type) target) - (let - ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) (the-as process v1-1)) - (set! (-> a1-4 num-params) 4) - (set! (-> a1-4 message) (-> self event)) - (set! (-> a1-4 param 0) (the-as uint #f)) - (set! - (-> a1-4 param 1) - (the-as uint (-> self event-mode)) - ) - (set! - (-> a1-4 param 2) - (the-as uint (-> *target* control unknown-dword50)) - ) - (set! - (-> a1-4 param 3) - (the-as uint (-> *target* control unknown-dword51)) - ) - (send-event-function arg0 a1-4) - ) - ) - (else - (let - ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) (the-as process v1-1)) - (set! (-> a1-5 num-params) 4) - (set! (-> a1-5 message) (-> self event)) - (set! (-> a1-5 param 0) (the-as uint #f)) - (set! - (-> a1-5 param 1) - (the-as uint (-> self event-mode)) - ) - (let ((v1-19 (+ *global-attack-id* 1))) - (set! *global-attack-id* v1-19) - (set! (-> a1-5 param 2) (the-as uint v1-19)) - ) - (set! (-> a1-5 param 3) (the-as uint 0)) - (send-event-function arg0 a1-5) - ) - ) ) - ) - ((-> self event) - (let - ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) (the-as process v1-1)) - (set! (-> a1-6 num-params) 0) - (set! (-> a1-6 message) (-> self event)) - (send-event-function arg0 a1-6) - ) - ) - (else - (let - ((t0-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> t0-5 from) arg0) - (set! (-> t0-5 num-params) arg1) - (set! (-> t0-5 message) arg2) - (set! (-> t0-5 param 0) (-> arg3 param 0)) - (set! (-> t0-5 param 1) (-> arg3 param 1)) - (set! (-> t0-5 param 2) (-> arg3 param 2)) - (set! (-> t0-5 param 3) (-> arg3 param 3)) - (set! (-> t0-5 param 4) (-> arg3 param 4)) - (set! (-> t0-5 param 5) (-> arg3 param 5)) - (set! (-> t0-5 param 6) (-> arg3 param 6)) - (send-event-function v1-1 t0-5) - ) - ) + ) + ((= v1-0 'target) + (set! v0-0 (the-as none (process->handle (the-as process (-> arg3 param 0))))) + (set! (-> self target) (the-as handle v0-0)) + v0-0 + ) + ((= v1-0 'event) + (set! (-> self event) (the-as symbol (-> arg3 param 0))) + (set! v0-0 (the-as none (-> arg3 param 1))) + (set! (-> self event-mode) (the-as basic v0-0)) + v0-0 + ) + ((= v1-0 'exit) + (set! v0-0 (the-as none (-> arg3 param 0))) + (set! (-> self run-function) (the-as (function none) v0-0)) + v0-0 + ) + ((= v1-0 'eval) + ((the-as (function touch-tracker none) (-> arg3 param 0)) self) + ) + ((= v1-0 'function) + (set! v0-0 (the-as none (-> arg3 param 0))) + (set! (-> self callback) (the-as (function touch-tracker none) v0-0)) + v0-0 ) ) - ) - ) - ((= v1-0 'target) - (set! - v0-0 - (the-as - none - (process->handle (the-as process (-> arg3 param 0))) - ) - ) - (set! (-> self target) (the-as handle v0-0)) - v0-0 - ) - ((= v1-0 'event) - (set! (-> self event) (the-as symbol (-> arg3 param 0))) - (set! v0-0 (the-as none (-> arg3 param 1))) - (set! (-> self event-mode) (the-as basic v0-0)) - v0-0 - ) - ((= v1-0 'exit) - (set! v0-0 (the-as none (-> arg3 param 0))) - (set! (-> self run-function) (the-as (function none) v0-0)) - v0-0 - ) - ((= v1-0 'eval) - ((the-as (function touch-tracker none) (-> arg3 param 0)) - self - ) - ) - ((= v1-0 'function) - (set! v0-0 (the-as none (-> arg3 param 0))) - (set! - (-> self callback) - (the-as (function touch-tracker none) v0-0) - ) - v0-0 - ) - ) - ) + ) + ) ) - ) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while ((-> self run-function)) - (let* ((gp-0 (handle->process (-> self target))) - (a0-4 - (if - (and (nonzero? gp-0) (type-type? (-> gp-0 type) process-drawable)) - gp-0 + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while ((-> self run-function)) + (let* ((gp-0 (handle->process (-> self target))) + (a0-4 (if (and (nonzero? gp-0) (type-type? (-> gp-0 type) process-drawable)) + gp-0 + ) + ) ) + (when a0-4 + (let* ((gp-1 (-> (the-as process-drawable a0-4) root)) + (a0-6 (if (and (nonzero? gp-1) (type-type? (-> gp-1 type) collide-shape)) + gp-1 + ) + ) + ) + (if a0-6 + (set! (-> self root-override trans quad) + (-> (the-as collide-shape a0-6) root-prim prim-core world-sphere quad) + ) + ) ) - ) - (when a0-4 - (let* ((gp-1 (-> (the-as process-drawable a0-4) root)) - (a0-6 - (if - (and (nonzero? gp-1) (type-type? (-> gp-1 type) collide-shape)) - gp-1 - ) - ) - ) - (if a0-6 - (set! - (-> self root-override trans quad) - (-> (the-as collide-shape a0-6) root-prim prim-core world-sphere quad) - ) + ) ) - ) + (if (-> self callback) + ((-> self callback) self) + ) + (dummy-47 (-> self root-override)) + (let ((a1-3 (new 'stack-no-clear 'touching-shapes-entry))) + (set! (-> a1-3 cshape1) (the-as collide-shape 2)) + (set! (-> a1-3 cshape2) (the-as collide-shape *touching-list*)) + (dummy-40 (-> self root-override) a1-3) + ) + (suspend) ) - ) - (if (-> self callback) - ((-> self callback) self) - ) - (dummy-47 (-> self root-override)) - (let ((a1-3 (new 'stack-no-clear 'touching-shapes-entry))) - (set! (-> a1-3 cshape1) (the-as collide-shape 2)) - (set! (-> a1-3 cshape2) (the-as collide-shape *touching-list*)) - (dummy-40 (-> self root-override) a1-3) - ) + (clear-collide-with-as (-> self root-override)) (suspend) + 0 + (none) ) - (clear-collide-with-as (-> self root-override)) - (suspend) - 0 - (none) - ) ) ;; definition for function touch-tracker-init ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - touch-tracker-init touch-tracker - ((arg0 vector) (arg1 float) (arg2 uint)) - (let - ((s4-0 - (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player)) - ) +(defbehavior touch-tracker-init touch-tracker ((arg0 vector) (arg1 float) (arg2 uint)) + (let ((s4-0 (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 272)) + (set! (-> s2-0 collide-with) (the-as uint 3022)) + (set! (-> s2-0 prim-core offense) 4) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 arg1) + (set-root-prim! s4-0 s2-0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> s4-0 event-self) 'touched) + (set! (-> self root-override) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 272)) - (set! (-> s2-0 collide-with) (the-as uint 3022)) - (set! (-> s2-0 prim-core offense) 4) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 arg1) - (set-root-prim! s4-0 s2-0) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> s4-0 event-self) 'touched) - (set! (-> self root-override) s4-0) - ) (set! (-> self root-override trans quad) (-> arg0 quad)) (set! (-> self duration) arg2) (set! (-> self target) (the-as handle #f)) (set! (-> self event) #f) (set! (-> self callback) #f) - (set! - (-> self run-function) - (the-as - (function none) - (lambda :behavior touch-tracker - () - (< - (- (-> *display* base-frame-counter) (-> self state-time)) - (the-as int (-> self duration)) - ) - ) - ) - ) + (set! (-> self run-function) + (the-as + (function none) + (lambda :behavior touch-tracker + () + (< (- (-> *display* base-frame-counter) (-> self state-time)) (the-as int (-> self duration))) + ) + ) + ) (set! (-> self event-hook) (-> touch-tracker-idle event)) (go touch-tracker-idle) (none) @@ -3141,46 +2587,37 @@ (let ((v1-1 (-> arg0 node-list length)) (s4-0 (-> arg0 root)) ) - (cond - ((>= v1-1 7) - (let ((v1-2 (rand-vu-int-range 3 (+ v1-1 -1)))) - (vector<-cspace! arg1 (-> arg0 node-list data v1-2)) - ) - ) - ((and (nonzero? s4-0) (type-type? (-> s4-0 type) collide-shape)) - (vector+! - arg1 - (the-as vector (-> (the-as collide-shape s4-0) root-prim prim-core)) - (rand-vu-sphere-point! - arg1 - (-> (the-as collide-shape s4-0) root-prim prim-core world-sphere w) + (cond + ((>= v1-1 7) + (let ((v1-2 (rand-vu-int-range 3 (+ v1-1 -1)))) + (vector<-cspace! arg1 (-> arg0 node-list data v1-2)) + ) ) + ((and (nonzero? s4-0) (type-type? (-> s4-0 type) collide-shape)) + (vector+! + arg1 + (the-as vector (-> (the-as collide-shape s4-0) root-prim prim-core)) + (rand-vu-sphere-point! arg1 (-> (the-as collide-shape s4-0) root-prim prim-core world-sphere w)) + ) + ) + (else + (vector+! arg1 (-> arg0 root trans) (rand-vu-sphere-point! arg1 (-> arg0 draw bounds w))) + ) ) - ) - (else - (vector+! - arg1 - (-> arg0 root trans) - (rand-vu-sphere-point! arg1 (-> arg0 draw bounds w)) - ) - ) ) - ) arg1 ) ;; definition for function process-drawable-pair-random-point! ;; Used lq/sq -(defun - process-drawable-pair-random-point! - ((arg0 process-drawable) (arg1 process-drawable) (arg2 vector) (arg3 float)) +(defun process-drawable-pair-random-point! ((arg0 process-drawable) (arg1 process-drawable) (arg2 vector) (arg3 float)) (let ((s4-0 (new-stack-vector0)) (s3-0 (new-stack-vector0)) ) - (process-drawable-random-point! arg0 s4-0) - (process-drawable-random-point! arg1 s3-0) - (vector-lerp! arg2 s4-0 s3-0 arg3) - ) + (process-drawable-random-point! arg0 s4-0) + (process-drawable-random-point! arg1 s3-0) + (vector-lerp! arg2 s4-0 s3-0 arg3) + ) ) ;; definition for symbol *particle-quat*, type quaternion @@ -3188,92 +2625,85 @@ ;; definition for function birth-func-set-quat ;; INFO: Return type mismatch int vs none. -(defun - birth-func-set-quat - ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) +(defun birth-func-set-quat ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) (local-vars (a0-2 float) (a0-3 float)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (let ((a0-1 arg2) - (v1-0 *particle-quat*) + (init-vf0-vector) + (let ((a0-1 arg2) + (v1-0 *particle-quat*) + ) + (cond + ((< (-> v1-0 w) 0.0) + (.lvf vf1 (&-> a0-1 conerot quad)) + (.lvf vf2 (&-> v1-0 vec quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> a0-1 conerot quad) vf1) + (.mov a0-2 vf1) ) - (cond - ((< (-> v1-0 w) 0.0) - (.lvf vf1 (&-> a0-1 conerot quad)) - (.lvf vf2 (&-> v1-0 vec quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> a0-1 conerot quad) vf1) - (.mov a0-2 vf1) + (else + (.lvf vf1 (&-> a0-1 conerot quad)) + (.lvf vf2 (&-> v1-0 vec quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> a0-1 conerot quad) vf1) + (.mov a0-3 vf1) + ) + ) ) - (else - (.lvf vf1 (&-> a0-1 conerot quad)) - (.lvf vf2 (&-> v1-0 vec quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> a0-1 conerot quad) vf1) - (.mov a0-3 vf1) - ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2528) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) - (sp-func spt-birth-func 'birth-func-set-quat) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-flt spt-scale-y (meters 5.6)) - (sp-rnd-flt spt-r 0.0 44.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 32.0 1.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2528) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) + (sp-func spt-birth-func 'birth-func-set-quat) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-flt spt-scale-y (meters 5.6)) + (sp-rnd-flt spt-r 0.0 44.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) + (sp-end) + ) + ) + ) ;; definition for function draw-eco-beam ;; INFO: Return type mismatch int vs none. (defun draw-eco-beam ((arg0 vector) (arg1 vector)) (when (line-in-view-frustum? arg0 arg1) - (let ((s2-1 (vector-! (new 'stack-no-clear 'vector) arg1 arg0)) - (gp-1 (new 'stack-no-clear 'vector)) - (s4-0 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'quaternion)) - ) - (vector+*! gp-1 arg0 s2-1 0.5) - (vector-normalize-copy! s4-0 s2-1 1.0) - (set! - (-> *part-id-table* 2528 init-specs 4 initial-valuef) - (vector-length s2-1) - ) - (forward-up->quaternion s5-0 s4-0 *y-vector*) - (dotimes (s4-1 3) - (quaternion-rotate-local-z! s5-0 s5-0 10922.667) - (quaternion-copy! *particle-quat* s5-0) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 2528) - gp-1 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 + (let ((s2-1 (vector-! (new 'stack-no-clear 'vector) arg1 arg0)) + (gp-1 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'quaternion)) + ) + (vector+*! gp-1 arg0 s2-1 0.5) + (vector-normalize-copy! s4-0 s2-1 1.0) + (set! (-> *part-id-table* 2528 init-specs 4 initial-valuef) (vector-length s2-1)) + (forward-up->quaternion s5-0 s4-0 *y-vector*) + (dotimes (s4-1 3) + (quaternion-rotate-local-z! s5-0 s5-0 10922.667) + (quaternion-copy! *particle-quat* s5-0) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 2528) + gp-1 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) ) - ) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/game/main_REF.gc b/test/decompiler/reference/engine/game/main_REF.gc index fee147cdcb..f4abec05c2 100644 --- a/test/decompiler/reference/engine/game/main_REF.gc +++ b/test/decompiler/reference/engine/game/main_REF.gc @@ -4,35 +4,34 @@ ;; definition for function set-letterbox-frames (defun set-letterbox-frames ((arg0 int)) (let ((v0-0 (+ (-> *display* base-frame-counter) arg0))) - (set! (-> *game-info* letterbox-time) v0-0) - v0-0 - ) + (set! (-> *game-info* letterbox-time) v0-0) + v0-0 + ) ) ;; definition for function letterbox ;; INFO: Return type mismatch pointer vs none. (defun letterbox () - (let* - ((dma-buf (-> *display* frames (-> *display* on-screen) frame global-buf)) - (gp-0 (-> dma-buf base)) + (let* ((dma-buf (-> *display* frames (-> *display* on-screen) frame global-buf)) + (gp-0 (-> dma-buf base)) + ) + (draw-sprite2d-xy dma-buf 0 0 512 25 (new 'static 'rgba :a #x80)) + (draw-sprite2d-xy dma-buf 0 199 512 26 (new 'static 'rgba :a #x80)) + (let ((a3-2 (-> dma-buf base))) + (let ((pkt (the-as dma-packet (-> dma-buf base)))) + (set! (-> pkt dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> pkt vif0) (new 'static 'vif-tag)) + (set! (-> pkt vif1) (new 'static 'vif-tag)) + (set! (-> dma-buf base) (the-as pointer (&+ pkt 16))) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw1) + gp-0 + (the-as (pointer dma-tag) a3-2) + ) + ) ) - (draw-sprite2d-xy dma-buf 0 0 512 25 (new 'static 'rgba :a #x80)) - (draw-sprite2d-xy dma-buf 0 199 512 26 (new 'static 'rgba :a #x80)) - (let ((a3-2 (-> dma-buf base))) - (let ((pkt (the-as dma-packet (-> dma-buf base)))) - (set! (-> pkt dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> pkt vif0) (new 'static 'vif-tag)) - (set! (-> pkt vif1) (new 'static 'vif-tag)) - (set! (-> dma-buf base) (the-as pointer (&+ pkt 16))) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw1) - gp-0 - (the-as (pointer dma-tag) a3-2) - ) - ) - ) (none) ) @@ -40,47 +39,40 @@ (defun set-blackout-frames ((arg0 int)) (local-vars (v0-0 int)) (cond - ((zero? arg0) - (set! v0-0 (-> *display* base-frame-counter)) - (set! (-> *game-info* blackout-time) v0-0) - ) - (else - (set! - v0-0 - (max - (-> *game-info* blackout-time) - (+ (-> *display* base-frame-counter) arg0) - ) + ((zero? arg0) + (set! v0-0 (-> *display* base-frame-counter)) + (set! (-> *game-info* blackout-time) v0-0) ) - (set! (-> *game-info* blackout-time) v0-0) + (else + (set! v0-0 (max (-> *game-info* blackout-time) (+ (-> *display* base-frame-counter) arg0))) + (set! (-> *game-info* blackout-time) v0-0) + ) ) - ) v0-0 ) ;; definition for function blackout ;; INFO: Return type mismatch pointer vs none. (defun blackout () - (let* - ((dma-buf (-> *display* frames (-> *display* on-screen) frame global-buf)) - (sprite-dma-data (-> dma-buf base)) + (let* ((dma-buf (-> *display* frames (-> *display* on-screen) frame global-buf)) + (sprite-dma-data (-> dma-buf base)) + ) + (draw-sprite2d-xy dma-buf 0 0 512 224 (new 'static 'rgba :a #x80)) + (let ((a3-1 (-> dma-buf base))) + (let ((pkt (the-as dma-packet (-> dma-buf base)))) + (set! (-> pkt dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> pkt vif0) (new 'static 'vif-tag)) + (set! (-> pkt vif1) (new 'static 'vif-tag)) + (set! (-> dma-buf base) (the-as pointer (&+ pkt 16))) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw1) + sprite-dma-data + (the-as (pointer dma-tag) a3-1) + ) + ) ) - (draw-sprite2d-xy dma-buf 0 0 512 224 (new 'static 'rgba :a #x80)) - (let ((a3-1 (-> dma-buf base))) - (let ((pkt (the-as dma-packet (-> dma-buf base)))) - (set! (-> pkt dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> pkt vif0) (new 'static 'vif-tag)) - (set! (-> pkt vif1) (new 'static 'vif-tag)) - (set! (-> dma-buf base) (the-as pointer (&+ pkt 16))) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw1) - sprite-dma-data - (the-as (pointer dma-tag) a3-1) - ) - ) - ) (none) ) @@ -88,15 +80,12 @@ ;; INFO: Return type mismatch object vs symbol. (defun paused? () (the-as - symbol - (or - (= *master-mode* 'pause) + symbol (or - (and *progress-process* (not (hidden? (-> *progress-process* 0)))) - (= *master-mode* 'menu) - ) + (= *master-mode* 'pause) + (or (and *progress-process* (not (hidden? (-> *progress-process* 0)))) (= *master-mode* 'menu)) + ) ) - ) ) ;; definition for function movie? @@ -109,45 +98,39 @@ (defun set-master-mode ((new-mode symbol)) (set! *master-mode* new-mode) (if *debug-segment* - (menu-respond-to-pause) - ) - (case *master-mode* - (('pause) - (if (not *debug-pause*) - (logior! (-> *setting-control* default process-mask) (process-mask pause)) + (menu-respond-to-pause) ) + (case *master-mode* + (('pause) + (if (not *debug-pause*) + (logior! (-> *setting-control* default process-mask) (process-mask pause)) + ) (logclear! (-> *setting-control* default process-mask) (process-mask menu)) (set! *pause-lock* #f) (sound-group-pause (the-as uint 255)) (hide-progress-screen) ) - (('menu) - (logior! (-> *setting-control* default process-mask) (process-mask menu)) - (logclear! - (-> *setting-control* default process-mask) - (process-mask pause progress) + (('menu) + (logior! (-> *setting-control* default process-mask) (process-mask menu)) + (logclear! (-> *setting-control* default process-mask) (process-mask pause progress)) + (set! *pause-lock* #f) + (hide-progress-screen) ) - (set! *pause-lock* #f) - (hide-progress-screen) - ) - (('progress) - (logclear! (-> *setting-control* default process-mask) (process-mask menu)) - (when (not *progress-process*) - (activate-progress *dproc* (progress-screen fuel-cell)) - (if (not *progress-process*) - (set-master-mode 'game) - ) + (('progress) + (logclear! (-> *setting-control* default process-mask) (process-mask menu)) + (when (not *progress-process*) + (activate-progress *dproc* (progress-screen fuel-cell)) + (if (not *progress-process*) + (set-master-mode 'game) + ) + ) + ) + (('game) + (logclear! (-> *setting-control* default process-mask) (process-mask pause menu)) + (sound-group-continue (the-as uint 255)) + (hide-progress-screen) ) ) - (('game) - (logclear! - (-> *setting-control* default process-mask) - (process-mask pause menu) - ) - (sound-group-continue (the-as uint 255)) - (hide-progress-screen) - ) - ) (copy-settings-from-target! *setting-control*) 0 (none) @@ -158,140 +141,119 @@ ;; definition for function toggle-pause (defun toggle-pause () - (case *master-mode* - (('game) + (case *master-mode* + (('game) + (set! *last-master-mode* *master-mode*) + (set-master-mode + (cond + ((and (logtest? (-> *cpad-list* cpads 0 valid) 128) *target*) + (if (or *progress-process* (not (-> *setting-control* current allow-pause))) + *master-mode* + 'pause + ) + ) + ((cpad-hold? 0 r3) + (if *debug-segment* + 'menu + *master-mode* + ) + ) + ((and (or (cpad-hold? 0 select) (cpad-hold? 0 r2)) *debug-segment*) + 'pause + ) + ((and (not *debug-segment*) (zero? (logand (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons start)))) + *master-mode* + ) + ((not (progress-allowed?)) + (if (pause-allowed?) + 'pause + *master-mode* + ) + ) + ((cpad-hold? 0 start) + (if *progress-process* + 'game + 'progress + ) + ) + (else + *master-mode* + ) + ) + ) + ) + (('menu) + (set-master-mode (cond + ((cpad-hold? 0 r3) + *last-master-mode* + ) + ((cpad-hold? 0 select r2) + (if *debug-segment* + 'pause + *master-mode* + ) + ) + ((and (not (movie?)) (not *progress-process*)) + (if (not *target*) + 'pause + 'progress + ) + ) + (else + 'game + ) + ) + ) + (set! *pause-lock* (and *cheat-mode* (cpad-hold? 0 r2))) + ) + (('pause) (set! *last-master-mode* *master-mode*) (set-master-mode (cond - ((and - (logtest? (-> *cpad-list* cpads 0 valid) 128) - *target* + ((cpad-hold? 0 r3) + (if *debug-segment* + 'menu + *master-mode* + ) ) - (if - (or - *progress-process* - (not (-> *setting-control* current allow-pause)) - ) - *master-mode* - 'pause - ) - ) - ((cpad-hold? 0 r3) - (if *debug-segment* - 'menu - *master-mode* - ) - ) - ((and - (or (cpad-hold? 0 select) (cpad-hold? 0 r2)) - *debug-segment* - ) - 'pause - ) - ((and - (not *debug-segment*) - (zero? - (logand - (-> *cpad-list* cpads 0 button0-abs 0) - (pad-buttons start) - ) - ) - ) - *master-mode* - ) - ((not (progress-allowed?)) - (if (pause-allowed?) - 'pause - *master-mode* - ) - ) - ((cpad-hold? 0 start) - (if *progress-process* + ((and *cheat-mode* (cpad-hold? 0 select r2)) 'game - 'progress ) + ((cpad-hold? 0 start) + 'game + ) + (else + *master-mode* + ) ) - (else - *master-mode* - ) - ) - ) - ) - (('menu) - (set-master-mode (cond - ((cpad-hold? 0 r3) - *last-master-mode* - ) - ((cpad-hold? 0 select r2) - (if *debug-segment* - 'pause - *master-mode* - ) - ) - ((and (not (movie?)) (not *progress-process*)) - (if (not *target*) - 'pause - 'progress - ) - ) - (else - 'game - ) ) + (set! *pause-lock* (and *cheat-mode* (cpad-hold? 0 r2))) ) - (set! *pause-lock* (and *cheat-mode* (cpad-hold? 0 r2))) - ) - (('pause) - (set! *last-master-mode* *master-mode*) - (set-master-mode (cond - ((cpad-hold? 0 r3) - (if *debug-segment* - 'menu - *master-mode* + (('progress) + (set-master-mode (cond + ((cpad-hold? 0 r3) + (if *debug-segment* + 'menu + *master-mode* + ) + ) + ((cpad-hold? 0 start) + *last-master-mode* + ) + (else + *master-mode* + ) ) - ) - ((and *cheat-mode* (cpad-hold? 0 select r2)) - 'game - ) - ((cpad-hold? 0 start) - 'game - ) - (else - *master-mode* - ) ) + (set! *pause-lock* (and *cheat-mode* (cpad-hold? 0 r2))) ) - (set! *pause-lock* (and *cheat-mode* (cpad-hold? 0 r2))) ) - (('progress) - (set-master-mode (cond - ((cpad-hold? 0 r3) - (if *debug-segment* - 'menu - *master-mode* - ) - ) - ((cpad-hold? 0 start) - *last-master-mode* - ) - (else - *master-mode* - ) - ) - ) - (set! *pause-lock* (and *cheat-mode* (cpad-hold? 0 r2))) - ) - ) 0 ) ;; definition for symbol *screen-filter*, type screen-filter (define *screen-filter* - (new 'static 'screen-filter - :draw? #f - :color - (new 'static 'rgba :g #x20 :b #x40 :a #x50) - ) + (new 'static 'screen-filter :draw? #f :color (new 'static 'rgba :g #x20 :b #x40 :a #x50)) ) ;; definition for method 9 of type screen-filter @@ -300,29 +262,22 @@ (let* ((buf (-> *display* frames (-> *display* on-screen) frame global-buf)) (gp-0 (-> buf base)) ) - (draw-sprite2d-xy - buf - -256 - (- (-> *video-parms* screen-hy)) - 512 - (-> *video-parms* screen-sy) - (-> obj color) + (draw-sprite2d-xy buf -256 (- (-> *video-parms* screen-hy)) 512 (-> *video-parms* screen-sy) (-> obj color)) + (let ((a3-1 (-> buf base))) + (let ((v1-4 (the-as dma-packet (-> buf base)))) + (set! (-> v1-4 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> v1-4 vif0) (new 'static 'vif-tag)) + (set! (-> v1-4 vif1) (new 'static 'vif-tag)) + (set! (-> buf base) (&+ (the-as pointer v1-4) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw1) + gp-0 + (the-as (pointer dma-tag) a3-1) + ) + ) ) - (let ((a3-1 (-> buf base))) - (let ((v1-4 (the-as dma-packet (-> buf base)))) - (set! (-> v1-4 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> v1-4 vif0) (new 'static 'vif-tag)) - (set! (-> v1-4 vif1) (new 'static 'vif-tag)) - (set! (-> buf base) (&+ (the-as pointer v1-4) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw1) - gp-0 - (the-as (pointer dma-tag) a3-1) - ) - ) - ) (none) ) @@ -337,761 +292,663 @@ ;; definition for function main-cheats (defun main-cheats () - (when - (and (cpad-hold? 0 l3) (or *cheat-mode* (= *kernel-boot-message* 'play))) - (when (nonzero? (-> *cpad-list* cpads 0 button0-rel 0)) - (let ((cheatmode-state (-> *cheat-temp* 0))) - (cond - ((zero? cheatmode-state) - (cond - ((cpad-pressed? 0 up) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 1) - (cond - ((cpad-pressed? 0 up) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 2) - (cond - ((cpad-pressed? 0 down) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 3) - (cond - ((cpad-pressed? 0 down) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 4) - (cond - ((cpad-pressed? 0 left) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 5) - (cond - ((cpad-pressed? 0 right) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 6) - (cond - ((cpad-pressed? 0 left) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 7) - (cond - ((cpad-pressed? 0 right) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 8) - (cond - ((cpad-pressed? 0 x) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 9) - (cond - ((cpad-pressed? 0 x) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 10) - (cond - ((cpad-pressed? 0 square) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 11) - (cond - ((cpad-pressed? 0 circle) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 12) - (cond - ((cpad-pressed? 0 square) - (+! (-> *cheat-temp* 0) 1) - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ((= cheatmode-state 13) - (cond - ((cpad-pressed? 0 circle) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons r1)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons r1)) - (set! *cheat-mode* (not *cheat-mode*)) - (if *cheat-mode* - (sound-play-by-name - (static-sound-name "select-menu") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (sound-play-by-name - (static-sound-name "cursor-options") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (set! (-> *cheat-temp* 0) 0) - 0 - ) - (else - (set! (-> *cheat-temp* 0) 0) - 0 - ) - ) - ) - ) - ) - ) - (when *cheat-mode* + (when (and (cpad-hold? 0 l3) (or *cheat-mode* (= *kernel-boot-message* 'play))) (when (nonzero? (-> *cpad-list* cpads 0 button0-rel 0)) - (let ((cheatmode-debug-state (-> *cheat-temp* 1))) - (cond - ((zero? cheatmode-debug-state) + (let ((cheatmode-state (-> *cheat-temp* 0))) (cond - ((cpad-pressed? 0 circle) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 1) - (cond - ((cpad-pressed? 0 square) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 2) - (cond - ((cpad-pressed? 0 circle) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 3) - (cond - ((cpad-pressed? 0 square) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 4) - (cond - ((cpad-pressed? 0 x) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 5) - (cond - ((cpad-pressed? 0 x) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 6) - (cond - ((cpad-pressed? 0 right) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 7) - (cond - ((cpad-pressed? 0 left) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 8) - (cond - ((cpad-pressed? 0 right) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 9) - (cond - ((cpad-pressed? 0 left) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 10) - (cond - ((cpad-pressed? 0 down) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 11) - (cond - ((cpad-pressed? 0 down) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 12) - (cond - ((cpad-pressed? 0 up) - (+! (-> *cheat-temp* 1) 1) - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ((= cheatmode-debug-state 13) - (cond - ((cpad-pressed? 0 up) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons r1)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons r1)) - (set! *cheat-mode* (if (= *cheat-mode* 'debug) - #t - 'debug - ) - ) - (if *cheat-mode* - (sound-play-by-name - (static-sound-name "select-menu") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (sound-play-by-name - (static-sound-name "cursor-options") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (set! (-> *cheat-temp* 1) 0) - 0 - ) - (else - (set! (-> *cheat-temp* 1) 0) - 0 - ) - ) - ) - ) - ) - ) - ) - (case (scf-get-territory) - ((2) - (when (nonzero? (-> *cpad-list* cpads 0 button0-rel 0)) - (let ((cheat-language-state (-> *cheat-temp* 2))) - (cond - ((zero? cheat-language-state) - (cond - ((cpad-pressed? 0 l1) - (+! (-> *cheat-temp* 2) 1) - ) - (else - (set! (-> *cheat-temp* 2) 0) - 0 - ) - ) - ) - ((= cheat-language-state 1) - (cond - ((cpad-pressed? 0 r1) - (+! (-> *cheat-temp* 2) 1) - ) - (else - (set! (-> *cheat-temp* 2) 0) - 0 - ) - ) - ) - ((= cheat-language-state 2) - (cond - ((cpad-pressed? 0 l1) - (+! (-> *cheat-temp* 2) 1) - ) - (else - (set! (-> *cheat-temp* 2) 0) - 0 - ) - ) - ) - ((= cheat-language-state 3) - (cond - ((cpad-pressed? 0 r1) - (+! (-> *cheat-temp* 2) 1) - ) - (else - (set! (-> *cheat-temp* 2) 0) - 0 - ) - ) - ) - ((= cheat-language-state 4) - (cond - ((cpad-pressed? 0 triangle) - (+! (-> *cheat-temp* 2) 1) - ) - (else - (set! (-> *cheat-temp* 2) 0) - 0 - ) - ) - ) - ((= cheat-language-state 5) - (cond - ((cpad-pressed? 0 circle) - (+! (-> *cheat-temp* 2) 1) - ) - (else - (set! (-> *cheat-temp* 2) 0) - 0 - ) - ) - ) - ((= cheat-language-state 6) - (cond - ((cpad-pressed? 0 x) - (+! (-> *cheat-temp* 2) 1) - ) - (else - (set! (-> *cheat-temp* 2) 0) - 0 - ) - ) - ) - ((= cheat-language-state 7) - (cond - ((cpad-pressed? 0 square) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons r1)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons r1)) - (set! *progress-cheat* (if *progress-cheat* - #f - 'language - ) - ) - (if *progress-cheat* - (sound-play-by-name - (static-sound-name "select-menu") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + ((zero? cheatmode-state) + (cond + ((cpad-pressed? 0 up) + (+! (-> *cheat-temp* 0) 1) ) - (sound-play-by-name - (static-sound-name "cursor-options") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (set! (-> *cheat-temp* 2) 0) - 0 - ) - (else - (set! (-> *cheat-temp* 2) 0) - 0 - ) - ) - ) - ) - ) - ) - ) - ) - (when *debug-segment* - (when (nonzero? (-> *cpad-list* cpads 0 button0-rel 0)) - (let ((cheat-pal-state (-> *cheat-temp* 3))) - (cond - ((zero? cheat-pal-state) - (cond - ((cpad-pressed? 0 x) - (+! (-> *cheat-temp* 3) 1) - ) - (else - (set! (-> *cheat-temp* 3) 0) - 0 - ) - ) - ) - ((= cheat-pal-state 1) - (cond - ((cpad-pressed? 0 square) - (+! (-> *cheat-temp* 3) 1) - ) - (else - (set! (-> *cheat-temp* 3) 0) - 0 - ) - ) - ) - ((= cheat-pal-state 2) - (cond - ((cpad-pressed? 0 triangle) - (+! (-> *cheat-temp* 3) 1) - ) - (else - (set! (-> *cheat-temp* 3) 0) - 0 - ) - ) - ) - ((= cheat-pal-state 3) - (cond - ((cpad-pressed? 0 circle) - (+! (-> *cheat-temp* 3) 1) - ) - (else - (set! (-> *cheat-temp* 3) 0) - 0 - ) - ) - ) - ((= cheat-pal-state 4) - (cond - ((cpad-pressed? 0 x) - (+! (-> *cheat-temp* 3) 1) - ) - (else - (set! (-> *cheat-temp* 3) 0) - 0 - ) - ) - ) - ((= cheat-pal-state 5) - (cond - ((cpad-pressed? 0 square) - (+! (-> *cheat-temp* 3) 1) - ) - (else - (set! (-> *cheat-temp* 3) 0) - 0 - ) - ) - ) - ((= cheat-pal-state 6) - (cond - ((cpad-pressed? 0 triangle) - (+! (-> *cheat-temp* 3) 1) - ) - (else - (set! (-> *cheat-temp* 3) 0) - 0 - ) - ) - ) - ((= cheat-pal-state 7) - (cond - ((cpad-pressed? 0 circle) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons r1)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons r1)) - (set! *progress-cheat* (if *progress-cheat* - #f - 'pal - ) - ) - (if *progress-cheat* - (sound-play-by-name - (static-sound-name "select-menu") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (sound-play-by-name - (static-sound-name "cursor-options") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (set! (-> *cheat-temp* 3) 0) - 0 - ) - (else - (set! (-> *cheat-temp* 3) 0) - 0 - ) - ) - ) - ) - ) - ) - ) - ) - (when (and (= *cheat-mode* 'debug) (not *debug-segment*)) - (when - (and - (cpad-hold? 0 l1) - (cpad-hold? 0 l2) - (cpad-hold? 0 r1) - (cpad-pressed? 0 r2) - ) - (if *target* - (stop 'debug) - (start 'play (get-or-create-continue! *game-info*)) - ) - ) - (if (and (cpad-hold? 0 left) (cpad-hold? 0 up) (cpad-pressed? 0 select)) - (initialize! *game-info* 'game (the-as game-save #f) "title-start") - ) - (if (cpad-pressed? 1 r3) - (inspect global) - ) - (when (cpad-hold? 1 r3) - (let* ((dma-buff (if *debug-segment* - (-> - *display* - frames - (-> *display* on-screen) - frame - debug-buf - ) - (-> - *display* - frames - (-> *display* on-screen) - frame - global-buf - ) - ) - ) - (dma-start (-> dma-buff base)) - ) - (show-iop-memory dma-buff) - (let ((a3-9 (-> dma-buff base))) - (let ((dma-pkt (the-as dma-packet (-> dma-buff base)))) - (set! (-> dma-pkt dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> dma-pkt vif0) (new 'static 'vif-tag)) - (set! (-> dma-pkt vif1) (new 'static 'vif-tag)) - (set! (-> dma-buff base) (&+ (the-as pointer dma-pkt) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - dma-start - (the-as (pointer dma-tag) a3-9) - ) - ) - ) - ) - (if (cpad-pressed? 1 triangle) - (set! *display-level-border* (not *display-level-border*)) - ) - ) - (when (!= *kernel-boot-message* 'play) - (let ((timeout (scf-get-timeout)) - (inactive-timeout (scf-get-inactive-timeout)) - ) - (when - (and - (or - (and - (nonzero? timeout) - (>= - (+ -300000 (-> *display* real-frame-counter)) - (the int (* 300.0 (the float timeout))) - ) - ) - (and - (nonzero? inactive-timeout) - (>= - (- - (-> *display* base-frame-counter) - (-> *cpad-list* cpads 0 change-time) - ) - (the int (* 300.0 (the float inactive-timeout))) - ) - ) - (= *master-exit* 'force) - ) - (progress-allowed?) - (!= *master-exit* #t) - ) - (let ((game-end-proc (get-process *default-dead-pool* process #x4000))) - (if (when game-end-proc - (let ((t9-28 (method-of-type process activate))) - (t9-28 - game-end-proc - *default-pool* - 'process - (the-as pointer #x70004000) - ) - ) - (run-next-time-in-process - game-end-proc - (lambda :behavior process - () - (set-blackout-frames #x7530) - (set! (-> *setting-control* default allow-pause) #f) - (set! (-> *setting-control* default allow-progress) #f) - (copy-settings-from-target! *setting-control*) - (set! (-> *setting-control* default sfx-volume) 0.0) - (set! (-> *setting-control* default music-volume) 0.0) - (set! (-> *setting-control* default dialog-volume) 0.0) - (set! (-> *setting-control* default ambient-volume) 0.0) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) 30) - (suspend) + (else + (set! (-> *cheat-temp* 0) 0) + 0 ) + ) + ) + ((= cheatmode-state 1) + (cond + ((cpad-pressed? 0 up) + (+! (-> *cheat-temp* 0) 1) ) - (kernel-shutdown) - (none) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 2) + (cond + ((cpad-pressed? 0 down) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 3) + (cond + ((cpad-pressed? 0 down) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 4) + (cond + ((cpad-pressed? 0 left) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 5) + (cond + ((cpad-pressed? 0 right) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 6) + (cond + ((cpad-pressed? 0 left) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 7) + (cond + ((cpad-pressed? 0 right) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 8) + (cond + ((cpad-pressed? 0 x) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 9) + (cond + ((cpad-pressed? 0 x) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 10) + (cond + ((cpad-pressed? 0 square) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 11) + (cond + ((cpad-pressed? 0 circle) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 12) + (cond + ((cpad-pressed? 0 square) + (+! (-> *cheat-temp* 0) 1) + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ((= cheatmode-state 13) + (cond + ((cpad-pressed? 0 circle) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons r1)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons r1)) + (set! *cheat-mode* (not *cheat-mode*)) + (if *cheat-mode* + (sound-play-by-name (static-sound-name "select-menu") (new-sound-id) 1024 0 0 1 #t) + (sound-play-by-name (static-sound-name "cursor-options") (new-sound-id) 1024 0 0 1 #t) + ) + (set! (-> *cheat-temp* 0) 0) + 0 + ) + (else + (set! (-> *cheat-temp* 0) 0) + 0 + ) + ) + ) + ) + ) + ) + (when *cheat-mode* + (when (nonzero? (-> *cpad-list* cpads 0 button0-rel 0)) + (let ((cheatmode-debug-state (-> *cheat-temp* 1))) + (cond + ((zero? cheatmode-debug-state) + (cond + ((cpad-pressed? 0 circle) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 1) + (cond + ((cpad-pressed? 0 square) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 2) + (cond + ((cpad-pressed? 0 circle) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 3) + (cond + ((cpad-pressed? 0 square) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 4) + (cond + ((cpad-pressed? 0 x) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 5) + (cond + ((cpad-pressed? 0 x) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 6) + (cond + ((cpad-pressed? 0 right) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 7) + (cond + ((cpad-pressed? 0 left) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 8) + (cond + ((cpad-pressed? 0 right) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 9) + (cond + ((cpad-pressed? 0 left) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 10) + (cond + ((cpad-pressed? 0 down) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 11) + (cond + ((cpad-pressed? 0 down) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 12) + (cond + ((cpad-pressed? 0 up) + (+! (-> *cheat-temp* 1) 1) + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) + ) + ((= cheatmode-debug-state 13) + (cond + ((cpad-pressed? 0 up) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons r1)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons r1)) + (set! *cheat-mode* (if (= *cheat-mode* 'debug) + #t + 'debug + ) + ) + (if *cheat-mode* + (sound-play-by-name (static-sound-name "select-menu") (new-sound-id) 1024 0 0 1 #t) + (sound-play-by-name (static-sound-name "cursor-options") (new-sound-id) 1024 0 0 1 #t) + ) + (set! (-> *cheat-temp* 1) 0) + 0 + ) + (else + (set! (-> *cheat-temp* 1) 0) + 0 + ) + ) ) ) - (-> game-end-proc ppointer) + ) + ) + ) + (case (scf-get-territory) + ((2) + (when (nonzero? (-> *cpad-list* cpads 0 button0-rel 0)) + (let ((cheat-language-state (-> *cheat-temp* 2))) + (cond + ((zero? cheat-language-state) + (cond + ((cpad-pressed? 0 l1) + (+! (-> *cheat-temp* 2) 1) + ) + (else + (set! (-> *cheat-temp* 2) 0) + 0 + ) + ) + ) + ((= cheat-language-state 1) + (cond + ((cpad-pressed? 0 r1) + (+! (-> *cheat-temp* 2) 1) + ) + (else + (set! (-> *cheat-temp* 2) 0) + 0 + ) + ) + ) + ((= cheat-language-state 2) + (cond + ((cpad-pressed? 0 l1) + (+! (-> *cheat-temp* 2) 1) + ) + (else + (set! (-> *cheat-temp* 2) 0) + 0 + ) + ) + ) + ((= cheat-language-state 3) + (cond + ((cpad-pressed? 0 r1) + (+! (-> *cheat-temp* 2) 1) + ) + (else + (set! (-> *cheat-temp* 2) 0) + 0 + ) + ) + ) + ((= cheat-language-state 4) + (cond + ((cpad-pressed? 0 triangle) + (+! (-> *cheat-temp* 2) 1) + ) + (else + (set! (-> *cheat-temp* 2) 0) + 0 + ) + ) + ) + ((= cheat-language-state 5) + (cond + ((cpad-pressed? 0 circle) + (+! (-> *cheat-temp* 2) 1) + ) + (else + (set! (-> *cheat-temp* 2) 0) + 0 + ) + ) + ) + ((= cheat-language-state 6) + (cond + ((cpad-pressed? 0 x) + (+! (-> *cheat-temp* 2) 1) + ) + (else + (set! (-> *cheat-temp* 2) 0) + 0 + ) + ) + ) + ((= cheat-language-state 7) + (cond + ((cpad-pressed? 0 square) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons r1)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons r1)) + (set! *progress-cheat* (if *progress-cheat* + #f + 'language + ) + ) + (if *progress-cheat* + (sound-play-by-name (static-sound-name "select-menu") (new-sound-id) 1024 0 0 1 #t) + (sound-play-by-name (static-sound-name "cursor-options") (new-sound-id) 1024 0 0 1 #t) + ) + (set! (-> *cheat-temp* 2) 0) + 0 + ) + (else + (set! (-> *cheat-temp* 2) 0) + 0 + ) + ) + ) + ) ) - (set! *master-exit* #t) + ) ) ) - ) + (when *debug-segment* + (when (nonzero? (-> *cpad-list* cpads 0 button0-rel 0)) + (let ((cheat-pal-state (-> *cheat-temp* 3))) + (cond + ((zero? cheat-pal-state) + (cond + ((cpad-pressed? 0 x) + (+! (-> *cheat-temp* 3) 1) + ) + (else + (set! (-> *cheat-temp* 3) 0) + 0 + ) + ) + ) + ((= cheat-pal-state 1) + (cond + ((cpad-pressed? 0 square) + (+! (-> *cheat-temp* 3) 1) + ) + (else + (set! (-> *cheat-temp* 3) 0) + 0 + ) + ) + ) + ((= cheat-pal-state 2) + (cond + ((cpad-pressed? 0 triangle) + (+! (-> *cheat-temp* 3) 1) + ) + (else + (set! (-> *cheat-temp* 3) 0) + 0 + ) + ) + ) + ((= cheat-pal-state 3) + (cond + ((cpad-pressed? 0 circle) + (+! (-> *cheat-temp* 3) 1) + ) + (else + (set! (-> *cheat-temp* 3) 0) + 0 + ) + ) + ) + ((= cheat-pal-state 4) + (cond + ((cpad-pressed? 0 x) + (+! (-> *cheat-temp* 3) 1) + ) + (else + (set! (-> *cheat-temp* 3) 0) + 0 + ) + ) + ) + ((= cheat-pal-state 5) + (cond + ((cpad-pressed? 0 square) + (+! (-> *cheat-temp* 3) 1) + ) + (else + (set! (-> *cheat-temp* 3) 0) + 0 + ) + ) + ) + ((= cheat-pal-state 6) + (cond + ((cpad-pressed? 0 triangle) + (+! (-> *cheat-temp* 3) 1) + ) + (else + (set! (-> *cheat-temp* 3) 0) + 0 + ) + ) + ) + ((= cheat-pal-state 7) + (cond + ((cpad-pressed? 0 circle) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons r1)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons r1)) + (set! *progress-cheat* (if *progress-cheat* + #f + 'pal + ) + ) + (if *progress-cheat* + (sound-play-by-name (static-sound-name "select-menu") (new-sound-id) 1024 0 0 1 #t) + (sound-play-by-name (static-sound-name "cursor-options") (new-sound-id) 1024 0 0 1 #t) + ) + (set! (-> *cheat-temp* 3) 0) + 0 + ) + (else + (set! (-> *cheat-temp* 3) 0) + 0 + ) + ) + ) + ) + ) + ) + ) + ) + (when (and (= *cheat-mode* 'debug) (not *debug-segment*)) + (when (and (cpad-hold? 0 l1) (cpad-hold? 0 l2) (cpad-hold? 0 r1) (cpad-pressed? 0 r2)) + (if *target* + (stop 'debug) + (start 'play (get-or-create-continue! *game-info*)) + ) + ) + (if (and (cpad-hold? 0 left) (cpad-hold? 0 up) (cpad-pressed? 0 select)) + (initialize! *game-info* 'game (the-as game-save #f) "title-start") + ) + (if (cpad-pressed? 1 r3) + (inspect global) + ) + (when (cpad-hold? 1 r3) + (let* ((dma-buff (if *debug-segment* + (-> *display* frames (-> *display* on-screen) frame debug-buf) + (-> *display* frames (-> *display* on-screen) frame global-buf) + ) + ) + (dma-start (-> dma-buff base)) + ) + (show-iop-memory dma-buff) + (let ((a3-9 (-> dma-buff base))) + (let ((dma-pkt (the-as dma-packet (-> dma-buff base)))) + (set! (-> dma-pkt dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> dma-pkt vif0) (new 'static 'vif-tag)) + (set! (-> dma-pkt vif1) (new 'static 'vif-tag)) + (set! (-> dma-buff base) (&+ (the-as pointer dma-pkt) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + dma-start + (the-as (pointer dma-tag) a3-9) + ) + ) + ) + ) + (if (cpad-pressed? 1 triangle) + (set! *display-level-border* (not *display-level-border*)) + ) + ) + (when (!= *kernel-boot-message* 'play) + (let ((timeout (scf-get-timeout)) + (inactive-timeout (scf-get-inactive-timeout)) + ) + (when (and + (or + (and + (nonzero? timeout) + (>= (+ -300000 (-> *display* real-frame-counter)) (the int (* 300.0 (the float timeout)))) + ) + (and + (nonzero? inactive-timeout) + (>= (- (-> *display* base-frame-counter) (-> *cpad-list* cpads 0 change-time)) + (the int (* 300.0 (the float inactive-timeout))) + ) + ) + (= *master-exit* 'force) + ) + (progress-allowed?) + (!= *master-exit* #t) + ) + (let ((game-end-proc (get-process *default-dead-pool* process #x4000))) + (if (when game-end-proc + (let ((t9-28 (method-of-type process activate))) + (t9-28 game-end-proc *default-pool* 'process (the-as pointer #x70004000)) + ) + (run-next-time-in-process game-end-proc (lambda :behavior process + () + (set-blackout-frames #x7530) + (set! (-> *setting-control* default allow-pause) #f) + (set! (-> *setting-control* default allow-progress) #f) + (copy-settings-from-target! *setting-control*) + (set! (-> *setting-control* default sfx-volume) 0.0) + (set! (-> *setting-control* default music-volume) 0.0) + (set! (-> *setting-control* default dialog-volume) 0.0) + (set! (-> *setting-control* default ambient-volume) 0.0) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) 30) + (suspend) + ) + ) + (kernel-shutdown) + (none) + ) + ) + (-> game-end-proc ppointer) + ) + (set! *master-exit* #t) + ) + ) + ) + ) ) - ) 0 ) @@ -1130,519 +987,413 @@ (local-vars (r0-0 none) (a0-54 int) (a0-56 int) (a0-73 int) (a0-75 int)) (stack-size-set! (-> self main-thread) 512) (let ((disp *display*)) - (dma-send-to-spr - (the-as uint #x70000000) - (the-as uint *terrain-context*) - (the-as uint 0) - #t - ) - (set! *teleport* #t) - (update-per-frame-settings! *setting-control*) - (init-time-of-day-context *time-of-day-context*) - (display-sync disp) - (swap-display disp) - (dummy-14 *touching-list*) - (blerc-init) - (dma-send - (the-as dma-bank #x10008000) - (the-as uint (-> *collide-vif0-init* data)) - (the-as uint (/ (-> *collide-vif0-init* length) 4)) - ) - (suspend) - (while *run* - (blerc-execute) - (blerc-init) - (texscroll-execute) - (ripple-execute) - (set! *weather-off* #f) - (let ((v1-13 (-> *game-info* current-continue level))) - (dotimes (a0-8 (-> *level* length)) - (let ((a1-6 (-> *level* level a0-8))) - (when (= (-> a1-6 status) 'active) - (if (and (= (-> a1-6 name) v1-13) (-> *level* play?)) - (set! (-> *setting-control* default music) (-> a1-6 info music-bank)) - ) - ) - ) - ) - ) - (set! (-> *setting-control* default sound-flava) (the-as uint 49)) - (set! (-> *setting-control* default sound-flava-priority) 0.0) - (when (and *execute-ambients* (not (paused?))) - (if *target* - (set! (-> *target* draw secondary-interp) 0.0) - ) - (let ((s5-1 (sphere<-vector+r! (new 'stack 'sphere) (ear-trans) 0.0))) - (let ((v1-28 #x70000000)) - (s.w! (+ v1-28 16) 0) - ) - (dotimes (s4-1 (-> *level* length)) - (let ((v1-32 (-> *level* level s4-1))) - (if (= (-> v1-32 status) 'active) - (collect-ambients - (-> v1-32 bsp) - s5-1 - 0 - (the-as ambient-list (+ 16 #x70000000)) - ) - ) - ) - ) - ) - (countdown (s4-2 (-> (the-as (pointer int32) #x70000000) 4)) - (dummy-18 - (-> - (+ - (* s4-2 4) - (the-as int (the-as (pointer process-drawable) #x70000000)) - ) - 5 - ) - ) - ) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (execute-math-engine) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :a #x80) - ) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (*debug-hook*) - (main-cheats) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x20 :g #x20 :a #x80) - ) - ) - (update-camera) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (*draw-hook*) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :g #x80 :a #x80) - ) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (*menu-hook*) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :g #x40 :a #x80) - ) - ) - (make-current-level-available-to-progress) - (update-task-hints) - (load-level-text-files -1) - (if *debug-segment* - (add-frame - (-> disp frames (-> disp on-screen) frame profile-bar 0) - 'unknown-cpu-time - (new 'static 'rgba :a #x80) - ) - ) - (let ((v1-112 (-> *perf-stats* data))) - (b! (zero? (-> v1-112 0 ctrl)) cfg-46 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-54 pcr0) - (+! (-> v1-112 0 accum0) a0-54) - (.mfpc a0-56 pcr1) - (+! (-> v1-112 0 accum1) a0-56) - ) - (label cfg-46) - 0 - (when (nonzero? (sync-path 0 0)) - (*dma-timeout-hook*) - (reset-vif1-path) - (if *debug-segment* - (format - 0 - "profile bar at ~D.~%" - (-> - *display* - frames - (-> *display* on-screen) - frame - profile-bar - 1 - profile-frame-count - ) - ) - ) - ) - (let* ((v1-123 (-> *perf-stats* data)) - (a0-60 (-> v1-123 0 ctrl)) - ) - (+! (-> v1-123 0 count) 1) - (b! (zero? a0-60) cfg-51 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-60) - ) - (.sync.l) - (.sync.p) - (label cfg-51) - 0 - (if (not *progress-process*) - (depth-cue disp) - ) - (if (-> *screen-filter* draw?) - (draw *screen-filter*) - ) - (when - (or - (movie?) - (< (-> *display* base-frame-counter) (-> *game-info* letterbox-time)) - ) - (if (< (-> *game-info* letterbox-time) (-> *display* base-frame-counter)) - (set! (-> *game-info* letterbox-time) (-> *display* base-frame-counter)) - ) - (if (= (-> *setting-control* current aspect-ratio) 'aspect4x3) - (letterbox) - ) - ) - (if (< (-> *display* base-frame-counter) (-> *game-info* blackout-time)) - (set! (-> *setting-control* default bg-a-force) 1.0) - (set! (-> *setting-control* default bg-a-force) 0.0) - ) - (let ((v1-152 (-> *perf-stats* data))) - (b! (zero? (-> v1-152 0 ctrl)) cfg-68 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-73 pcr0) - (+! (-> v1-152 0 accum0) a0-73) - (.mfpc a0-75 pcr1) - (+! (-> v1-152 0 accum1) a0-75) - ) - (label cfg-68) - 0 - (let ((debug-txt-buf (-> (if *debug-segment* - (-> - disp - frames - (-> disp on-screen) - frame - debug-buf - ) - (-> - disp - frames - (-> disp on-screen) - frame - global-buf - ) - ) - base - ) - ) - ) - (when *debug-segment* - (debug-draw-buffers) - (let* ((debug-buf (-> disp frames (-> disp on-screen) frame debug-buf)) - (s4-3 (-> debug-buf base)) - ) - (when *display-profile* - (let* ((v1-172 debug-buf) - (a0-77 (the-as object (-> v1-172 base))) - ) - (set! - (-> (the-as dma-packet a0-77) dma) - (new 'static 'dma-tag :qwc #xa :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a0-77) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-77) vif1) - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-172 base) (&+ (the-as pointer a0-77) 16)) - ) - (let* ((v1-173 debug-buf) - (a0-79 (the-as object (-> v1-173 base))) - ) - (set! - (-> (the-as gs-gif-tag a0-79) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x9) - ) - (set! - (-> (the-as gs-gif-tag a0-79) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-173 base) (&+ (the-as pointer a0-79) 16)) - ) - (let* ((v1-174 debug-buf) - (a0-81 (-> v1-174 base)) - ) - (set! - (-> (the-as (pointer gs-alpha) a0-81) 0) - (new 'static 'gs-alpha :b #x1 :d #x1) - ) - (set! (-> (the-as (pointer gs-reg64) a0-81) 1) (gs-reg64 alpha-1)) - (set! - (-> (the-as (pointer gs-zbuf) a0-81) 2) - (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24) :zmsk #x1) - ) - (set! (-> (the-as (pointer gs-reg64) a0-81) 3) (gs-reg64 zbuf-1)) - (set! - (-> (the-as (pointer gs-test) a0-81) 4) - (new 'static 'gs-test :zte #x1 :ztst (gs-ztest always)) - ) - (set! (-> (the-as (pointer gs-reg64) a0-81) 5) (gs-reg64 test-1)) - (set! (-> (the-as (pointer uint64) a0-81) 6) (the-as uint 0)) - (set! (-> (the-as (pointer gs-reg64) a0-81) 7) (gs-reg64 pabe)) - (set! - (-> (the-as (pointer gs-clamp) a0-81) 8) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) - ) - ) - (set! (-> (the-as (pointer gs-reg64) a0-81) 9) (gs-reg64 clamp-1)) - (set! - (-> (the-as (pointer gs-tex1) a0-81) 10) - (new 'static 'gs-tex1 :mmag #x1 :mmin #x1) - ) - (set! (-> (the-as (pointer gs-reg64) a0-81) 11) (gs-reg64 tex1-1)) - (set! - (-> (the-as (pointer gs-texa) a0-81) 12) - (new 'static 'gs-texa :ta1 #x80) - ) - (set! (-> (the-as (pointer gs-reg64) a0-81) 13) (gs-reg64 texa)) - (set! - (-> (the-as (pointer gs-texclut) a0-81) 14) - (new 'static 'gs-texclut :cbw #x4) - ) - (set! (-> (the-as (pointer gs-reg64) a0-81) 15) (gs-reg64 texclut)) - (set! - (-> (the-as (pointer gs-fogcol) a0-81) 16) - (the-as gs-fogcol *fog-color*) - ) - (set! (-> (the-as (pointer gs-reg64) a0-81) 17) (gs-reg64 fogcol)) - (set! (-> v1-174 base) (&+ a0-81 144)) - ) - (dotimes (s2-0 2) - (let - ((s1-0 (-> disp frames (-> disp on-screen) frame profile-bar s2-0))) - (add-end-frame - s1-0 - 'end-draw - (new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x40) - ) - (draw s1-0 debug-buf (* 10 s2-0)) - ) - 0 - ) - ) - (when *display-deci-count* - (let ((s2-1 draw-string-xy)) - (format (clear *temp-string*) "~D" *deci-count*) - (s2-1 - *temp-string* - debug-buf - 448 - 210 - (font-color default) - (font-flags shadow kerning) - ) - ) - ) - (display-file-info) - (let ((a3-6 (-> debug-buf base))) - (let ((v1-188 (the-as object (-> debug-buf base)))) - (set! - (-> (the-as dma-packet v1-188) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-188) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-188) vif1) (new 'static 'vif-tag)) - (set! (-> debug-buf base) (&+ (the-as pointer v1-188) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw1) - s4-3 - (the-as (pointer dma-tag) a3-6) - ) - ) - ) - ) - (let* ((s3-1 (if *debug-segment* - (-> disp frames (-> disp on-screen) frame debug-buf) - (-> disp frames (-> disp on-screen) frame global-buf) - ) - ) - (s4-4 (-> s3-1 base)) - ) - (if (= *master-mode* 'pause) - (draw-string-xy - (lookup-text! *common-text* (game-text-id pause) #f) - s3-1 - 256 - 160 - (font-color orange-red) - (font-flags shadow kerning middle large) - ) - ) - (let ((a3-8 (the int (draw-string *stdcon0* s3-1 *font-context*)))) - (draw-string-xy - *stdcon1* - s3-1 - (the int (-> *font-context* origin x)) - a3-8 - (font-color default) - (font-flags shadow kerning) - ) - ) - (if *display-iop-info* - (show-iop-info s3-1) - ) - (if *display-memcard-info* - (show-mc-info s3-1) - ) - (let ((a3-9 (-> s3-1 base))) - (let ((v1-215 (the-as object (-> s3-1 base)))) - (set! - (-> (the-as dma-packet v1-215) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-215) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-215) vif1) (new 'static 'vif-tag)) - (set! (-> s3-1 base) (&+ (the-as pointer v1-215) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s4-4 - (the-as (pointer dma-tag) a3-9) - ) - ) - ) - (let ((v1-220 *dma-mem-usage*)) - (when (nonzero? v1-220) - (set! (-> v1-220 length) (max 85 (-> v1-220 length))) - (set! (-> v1-220 data 84 name) "debug") - (+! (-> v1-220 data 84 count) 1) - (+! (-> v1-220 data 84 used) (&- (-> (if *debug-segment* - (-> - disp - frames - (-> disp on-screen) - frame - debug-buf - ) - (-> - disp - frames - (-> disp on-screen) - frame - global-buf - ) - ) - base - ) - (the-as uint debug-txt-buf) - ) - ) - (set! (-> v1-220 data 84 total) (-> v1-220 data 84 used)) - ) - ) - ) - (set! *stdcon* (clear *stdcon0*)) + (dma-send-to-spr (the-as uint #x70000000) (the-as uint *terrain-context*) (the-as uint 0) #t) + (set! *teleport* #t) + (update-per-frame-settings! *setting-control*) + (init-time-of-day-context *time-of-day-context*) + (display-sync disp) (swap-display disp) - (set! (-> *time-of-day-context* title-updated) #f) - (set! *teleport* #f) - (when (nonzero? *teleport-count*) - (set! *teleport* #t) - (set! *teleport-count* (+ *teleport-count* -1)) - ) - (let* ((v1-228 (-> *perf-stats* data)) - (a0-112 (-> v1-228 0 ctrl)) - ) - (+! (-> v1-228 0 count) 1) - (b! (zero? a0-112) cfg-98 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-112) - ) - (.sync.l) - (.sync.p) - (label cfg-98) - 0 - (process-particles) + (dummy-14 *touching-list*) + (blerc-init) (dma-send - (the-as dma-bank #x10008000) - (the-as uint (-> *collide-vif0-init* data)) - (the-as uint (/ (-> *collide-vif0-init* length) 4)) - ) - (swap-sound-buffers (ear-trans) (camera-pos) (camera-angle)) - (str-play-kick) - (level-update *level*) - (mc-run) - (auto-save-check) + (the-as dma-bank #x10008000) + (the-as uint (-> *collide-vif0-init* data)) + (the-as uint (/ (-> *collide-vif0-init* length) 4)) + ) (suspend) + (while *run* + (blerc-execute) + (blerc-init) + (texscroll-execute) + (ripple-execute) + (set! *weather-off* #f) + (let ((v1-13 (-> *game-info* current-continue level))) + (dotimes (a0-8 (-> *level* length)) + (let ((a1-6 (-> *level* level a0-8))) + (when (= (-> a1-6 status) 'active) + (if (and (= (-> a1-6 name) v1-13) (-> *level* play?)) + (set! (-> *setting-control* default music) (-> a1-6 info music-bank)) + ) + ) + ) + ) + ) + (set! (-> *setting-control* default sound-flava) (the-as uint 49)) + (set! (-> *setting-control* default sound-flava-priority) 0.0) + (when (and *execute-ambients* (not (paused?))) + (if *target* + (set! (-> *target* draw secondary-interp) 0.0) + ) + (let ((s5-1 (sphere<-vector+r! (new 'stack 'sphere) (ear-trans) 0.0))) + (let ((v1-28 #x70000000)) + (s.w! (+ v1-28 16) 0) + ) + (dotimes (s4-1 (-> *level* length)) + (let ((v1-32 (-> *level* level s4-1))) + (if (= (-> v1-32 status) 'active) + (collect-ambients (-> v1-32 bsp) s5-1 0 (the-as ambient-list (+ 16 #x70000000))) + ) + ) + ) + ) + (countdown (s4-2 (-> (the-as (pointer int32) #x70000000) 4)) + (dummy-18 (-> (+ (* s4-2 4) (the-as int (the-as (pointer process-drawable) #x70000000))) 5)) + ) + ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (execute-math-engine) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :a #x80) + ) + ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (*debug-hook*) + (main-cheats) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x20 :g #x20 :a #x80) + ) + ) + (update-camera) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (*draw-hook*) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :g #x80 :a #x80) + ) + ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (*menu-hook*) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :g #x40 :a #x80) + ) + ) + (make-current-level-available-to-progress) + (update-task-hints) + (load-level-text-files -1) + (if *debug-segment* + (add-frame + (-> disp frames (-> disp on-screen) frame profile-bar 0) + 'unknown-cpu-time + (new 'static 'rgba :a #x80) + ) + ) + (let ((v1-112 (-> *perf-stats* data))) + (b! (zero? (-> v1-112 0 ctrl)) cfg-46 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-54 pcr0) + (+! (-> v1-112 0 accum0) a0-54) + (.mfpc a0-56 pcr1) + (+! (-> v1-112 0 accum1) a0-56) + ) + (label cfg-46) + 0 + (when (nonzero? (sync-path 0 0)) + (*dma-timeout-hook*) + (reset-vif1-path) + (if *debug-segment* + (format + 0 + "profile bar at ~D.~%" + (-> *display* frames (-> *display* on-screen) frame profile-bar 1 profile-frame-count) + ) + ) + ) + (let* ((v1-123 (-> *perf-stats* data)) + (a0-60 (-> v1-123 0 ctrl)) + ) + (+! (-> v1-123 0 count) 1) + (b! (zero? a0-60) cfg-51 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-60) + ) + (.sync.l) + (.sync.p) + (label cfg-51) + 0 + (if (not *progress-process*) + (depth-cue disp) + ) + (if (-> *screen-filter* draw?) + (draw *screen-filter*) + ) + (when (or (movie?) (< (-> *display* base-frame-counter) (-> *game-info* letterbox-time))) + (if (< (-> *game-info* letterbox-time) (-> *display* base-frame-counter)) + (set! (-> *game-info* letterbox-time) (-> *display* base-frame-counter)) + ) + (if (= (-> *setting-control* current aspect-ratio) 'aspect4x3) + (letterbox) + ) + ) + (if (< (-> *display* base-frame-counter) (-> *game-info* blackout-time)) + (set! (-> *setting-control* default bg-a-force) 1.0) + (set! (-> *setting-control* default bg-a-force) 0.0) + ) + (let ((v1-152 (-> *perf-stats* data))) + (b! (zero? (-> v1-152 0 ctrl)) cfg-68 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-73 pcr0) + (+! (-> v1-152 0 accum0) a0-73) + (.mfpc a0-75 pcr1) + (+! (-> v1-152 0 accum1) a0-75) + ) + (label cfg-68) + 0 + (let ((debug-txt-buf (-> (if *debug-segment* + (-> disp frames (-> disp on-screen) frame debug-buf) + (-> disp frames (-> disp on-screen) frame global-buf) + ) + base + ) + ) + ) + (when *debug-segment* + (debug-draw-buffers) + (let* ((debug-buf (-> disp frames (-> disp on-screen) frame debug-buf)) + (s4-3 (-> debug-buf base)) + ) + (when *display-profile* + (let* ((v1-172 debug-buf) + (a0-77 (the-as object (-> v1-172 base))) + ) + (set! (-> (the-as dma-packet a0-77) dma) (new 'static 'dma-tag :qwc #xa :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-77) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-77) vif1) (new 'static 'vif-tag :imm #xa :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-172 base) (&+ (the-as pointer a0-77) 16)) + ) + (let* ((v1-173 debug-buf) + (a0-79 (the-as object (-> v1-173 base))) + ) + (set! (-> (the-as gs-gif-tag a0-79) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x9)) + (set! (-> (the-as gs-gif-tag a0-79) regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-173 base) (&+ (the-as pointer a0-79) 16)) + ) + (let* ((v1-174 debug-buf) + (a0-81 (-> v1-174 base)) + ) + (set! (-> (the-as (pointer gs-alpha) a0-81) 0) (new 'static 'gs-alpha :b #x1 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) a0-81) 1) (gs-reg64 alpha-1)) + (set! (-> (the-as (pointer gs-zbuf) a0-81) 2) (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24) :zmsk #x1)) + (set! (-> (the-as (pointer gs-reg64) a0-81) 3) (gs-reg64 zbuf-1)) + (set! (-> (the-as (pointer gs-test) a0-81) 4) (new 'static 'gs-test :zte #x1 :ztst (gs-ztest always))) + (set! (-> (the-as (pointer gs-reg64) a0-81) 5) (gs-reg64 test-1)) + (set! (-> (the-as (pointer uint64) a0-81) 6) (the-as uint 0)) + (set! (-> (the-as (pointer gs-reg64) a0-81) 7) (gs-reg64 pabe)) + (set! (-> (the-as (pointer gs-clamp) a0-81) 8) + (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)) + ) + (set! (-> (the-as (pointer gs-reg64) a0-81) 9) (gs-reg64 clamp-1)) + (set! (-> (the-as (pointer gs-tex1) a0-81) 10) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) + (set! (-> (the-as (pointer gs-reg64) a0-81) 11) (gs-reg64 tex1-1)) + (set! (-> (the-as (pointer gs-texa) a0-81) 12) (new 'static 'gs-texa :ta1 #x80)) + (set! (-> (the-as (pointer gs-reg64) a0-81) 13) (gs-reg64 texa)) + (set! (-> (the-as (pointer gs-texclut) a0-81) 14) (new 'static 'gs-texclut :cbw #x4)) + (set! (-> (the-as (pointer gs-reg64) a0-81) 15) (gs-reg64 texclut)) + (set! (-> (the-as (pointer gs-fogcol) a0-81) 16) (the-as gs-fogcol *fog-color*)) + (set! (-> (the-as (pointer gs-reg64) a0-81) 17) (gs-reg64 fogcol)) + (set! (-> v1-174 base) (&+ a0-81 144)) + ) + (dotimes (s2-0 2) + (let ((s1-0 (-> disp frames (-> disp on-screen) frame profile-bar s2-0))) + (add-end-frame s1-0 'end-draw (new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x40)) + (draw s1-0 debug-buf (* 10 s2-0)) + ) + 0 + ) + ) + (when *display-deci-count* + (let ((s2-1 draw-string-xy)) + (format (clear *temp-string*) "~D" *deci-count*) + (s2-1 *temp-string* debug-buf 448 210 (font-color default) (font-flags shadow kerning)) + ) + ) + (display-file-info) + (let ((a3-6 (-> debug-buf base))) + (let ((v1-188 (the-as object (-> debug-buf base)))) + (set! (-> (the-as dma-packet v1-188) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-188) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-188) vif1) (new 'static 'vif-tag)) + (set! (-> debug-buf base) (&+ (the-as pointer v1-188) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw1) + s4-3 + (the-as (pointer dma-tag) a3-6) + ) + ) + ) + ) + (let* ((s3-1 (if *debug-segment* + (-> disp frames (-> disp on-screen) frame debug-buf) + (-> disp frames (-> disp on-screen) frame global-buf) + ) + ) + (s4-4 (-> s3-1 base)) + ) + (if (= *master-mode* 'pause) + (draw-string-xy + (lookup-text! *common-text* (game-text-id pause) #f) + s3-1 + 256 + 160 + (font-color orange-red) + (font-flags shadow kerning middle large) + ) + ) + (let ((a3-8 (the int (draw-string *stdcon0* s3-1 *font-context*)))) + (draw-string-xy + *stdcon1* + s3-1 + (the int (-> *font-context* origin x)) + a3-8 + (font-color default) + (font-flags shadow kerning) + ) + ) + (if *display-iop-info* + (show-iop-info s3-1) + ) + (if *display-memcard-info* + (show-mc-info s3-1) + ) + (let ((a3-9 (-> s3-1 base))) + (let ((v1-215 (the-as object (-> s3-1 base)))) + (set! (-> (the-as dma-packet v1-215) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-215) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-215) vif1) (new 'static 'vif-tag)) + (set! (-> s3-1 base) (&+ (the-as pointer v1-215) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s4-4 + (the-as (pointer dma-tag) a3-9) + ) + ) + ) + (let ((v1-220 *dma-mem-usage*)) + (when (nonzero? v1-220) + (set! (-> v1-220 length) (max 85 (-> v1-220 length))) + (set! (-> v1-220 data 84 name) "debug") + (+! (-> v1-220 data 84 count) 1) + (+! (-> v1-220 data 84 used) (&- + (-> (if *debug-segment* + (-> disp frames (-> disp on-screen) frame debug-buf) + (-> disp frames (-> disp on-screen) frame global-buf) + ) + base + ) + (the-as uint debug-txt-buf) + ) + ) + (set! (-> v1-220 data 84 total) (-> v1-220 data 84 used)) + ) + ) + ) + (set! *stdcon* (clear *stdcon0*)) + (swap-display disp) + (set! (-> *time-of-day-context* title-updated) #f) + (set! *teleport* #f) + (when (nonzero? *teleport-count*) + (set! *teleport* #t) + (set! *teleport-count* (+ *teleport-count* -1)) + ) + (let* ((v1-228 (-> *perf-stats* data)) + (a0-112 (-> v1-228 0 ctrl)) + ) + (+! (-> v1-228 0 count) 1) + (b! (zero? a0-112) cfg-98 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-112) + ) + (.sync.l) + (.sync.p) + (label cfg-98) + 0 + (process-particles) + (dma-send + (the-as dma-bank #x10008000) + (the-as uint (-> *collide-vif0-init* data)) + (the-as uint (/ (-> *collide-vif0-init* length) 4)) + ) + (swap-sound-buffers (ear-trans) (camera-pos) (camera-angle)) + (str-play-kick) + (level-update *level*) + (mc-run) + (auto-save-check) + (suspend) + ) ) - ) (set! *dproc* #f) (format 0 "display is off #<#x~X>.~%" self) 0 @@ -1651,70 +1402,59 @@ ;; definition for function on (defun on ((arg0 symbol)) (when (not *dproc*) - (when (not arg0) - (if (= (-> *level* level0 status) 'inactive) - (bg 'halfpipe) - ) - ) - (set! *run* #t) - (let ((s5-0 (get-process *4k-dead-pool* process #x4000))) - (set! *dproc* (ppointer->process (when s5-0 - (let - ((t9-2 (method-of-type process activate)) - ) - (t9-2 - s5-0 - *display-pool* - 'display - (&-> *dram-stack* 14336) - ) - ) - ((the-as - (function cpu-thread function none) - set-to-run - ) - (-> s5-0 main-thread) - display-loop - ) - (-> s5-0 ppointer) - ) - ) - ) - ) - (cond - ((or - (level-get-with-status *level* 'loaded) - (level-get-with-status *level* 'alive) - (level-get-with-status *level* 'active) + (when (not arg0) + (if (= (-> *level* level0 status) 'inactive) + (bg 'halfpipe) + ) ) - (activate-levels! *level*) - (when (not arg0) - (let ((gp-1 (entity-by-type camera-start))) - (if (and gp-1 (type-type? (-> gp-1 type) entity-actor)) - (camera-teleport-to-entity gp-1) - ) + (set! *run* #t) + (let ((s5-0 (get-process *4k-dead-pool* process #x4000))) + (set! *dproc* + (ppointer->process + (when s5-0 + (let ((t9-2 (method-of-type process activate))) + (t9-2 s5-0 *display-pool* 'display (&-> *dram-stack* 14336)) + ) + ((the-as (function cpu-thread function none) set-to-run) (-> s5-0 main-thread) display-loop) + (-> s5-0 ppointer) + ) + ) + ) + ) + (cond + ((or + (level-get-with-status *level* 'loaded) + (level-get-with-status *level* 'alive) + (level-get-with-status *level* 'active) + ) + (activate-levels! *level*) + (when (not arg0) + (let ((gp-1 (entity-by-type camera-start))) + (if (and gp-1 (type-type? (-> gp-1 type) entity-actor)) + (camera-teleport-to-entity gp-1) + ) + ) + ) ) + (else + (kill-by-name 'display *active-pool*) + (set! *dproc* #f) + ) ) - ) - (else - (kill-by-name 'display *active-pool*) - (set! *dproc* #f) - ) + *dproc* ) - *dproc* - ) ) ;; definition for function off (defun off () (stop 'debug) (dotimes (gp-0 (-> *level* length)) - (let ((a0-2 (-> *level* level gp-0))) - (if (= (-> a0-2 status) 'active) - (deactivate a0-2) - ) + (let ((a0-2 (-> *level* level gp-0))) + (if (= (-> a0-2 status) 'active) + (deactivate a0-2) + ) + ) ) - ) (set! *run* #f) 0 ) diff --git a/test/decompiler/reference/engine/game/projectiles-h_REF.gc b/test/decompiler/reference/engine/game/projectiles-h_REF.gc index acce4e3bf9..4c7833e414 100644 --- a/test/decompiler/reference/engine/game/projectiles-h_REF.gc +++ b/test/decompiler/reference/engine/game/projectiles-h_REF.gc @@ -47,8 +47,8 @@ ;; definition for method 3 of type projectile (defmethod inspect projectile ((obj projectile)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tbase-trans: ~`vector`P~%" (-> obj base-trans)) (format #t "~T~Ttarget: ~`vector`P~%" (-> obj target)) (format #t "~T~Ttarget-base: ~`vector`P~%" (-> obj target-base)) @@ -88,8 +88,8 @@ ;; definition for method 3 of type projectile-yellow (defmethod inspect projectile-yellow ((obj projectile-yellow)) (let ((t9-0 (method-of-type projectile inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tmode: ~D~%" (-> obj mode)) (format #t "~T~Tangle: ~f~%" (-> obj angle)) obj @@ -109,8 +109,8 @@ ;; definition for method 3 of type projectile-blue (defmethod inspect projectile-blue ((obj projectile-blue)) (let ((t9-0 (method-of-type projectile inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tmode: ~D~%" (-> obj mode)) (format #t "~T~Tjoint-num: ~D~%" (-> obj joint-num)) obj diff --git a/test/decompiler/reference/engine/game/projectiles_REF.gc b/test/decompiler/reference/engine/game/projectiles_REF.gc index 304b2748bd..68247cd5cc 100644 --- a/test/decompiler/reference/engine/game/projectiles_REF.gc +++ b/test/decompiler/reference/engine/game/projectiles_REF.gc @@ -42,874 +42,691 @@ ;; definition for function find-nearest-attackable ;; Used lq/sq -(defun - find-nearest-attackable - ((arg0 vector) - (arg1 float) - (arg2 uint) - (arg3 uint) - (arg4 vector) - (arg5 float) - ) +(defun find-nearest-attackable ((arg0 vector) (arg1 float) (arg2 uint) (arg3 uint) (arg4 vector) (arg5 float)) (let ((gp-0 *search-info*)) - (set! (-> gp-0 match) #f) - (set! (-> gp-0 point quad) (-> arg0 quad)) - (set! (-> gp-0 radius) arg1) - (set! (-> gp-0 best) arg1) - (set! (-> gp-0 rating) (the-as uint 0)) - (set! (-> gp-0 require) arg3) - (set! (-> gp-0 mask) arg2) - (set! (-> gp-0 rot-base quad) (-> arg4 quad)) - (set! (-> gp-0 rot-range) (if (= arg5 65536.0) - -2.0 - (cos arg5) - ) + (set! (-> gp-0 match) #f) + (set! (-> gp-0 point quad) (-> arg0 quad)) + (set! (-> gp-0 radius) arg1) + (set! (-> gp-0 best) arg1) + (set! (-> gp-0 rating) (the-as uint 0)) + (set! (-> gp-0 require) arg3) + (set! (-> gp-0 mask) arg2) + (set! (-> gp-0 rot-base quad) (-> arg4 quad)) + (set! (-> gp-0 rot-range) (if (= arg5 65536.0) + -2.0 + (cos arg5) + ) + ) + (iterate-process-tree + *entity-pool* + (lambda ((arg0 projectile)) + (when (logtest? (process-mask crate enemy attackable) (-> arg0 mask)) + (let* ((gp-0 *search-info*) + (s4-0 arg0) + (s5-0 (if (and (nonzero? s4-0) (type-type? (-> s4-0 type) process-drawable)) + s4-0 + ) + ) + ) + (when s5-0 + (let* ((s3-0 (-> s5-0 root-override)) + (s4-1 (if (and (nonzero? s3-0) (type-type? (-> s3-0 type) collide-shape)) + s3-0 + ) + ) + ) + (when (the-as collide-shape-moving s4-1) + (let* ((s3-1 (-> s4-1 root-prim prim-core)) + (f30-0 (- (vector-vector-distance (-> gp-0 point) (the-as vector s3-1)) (-> s3-1 world-sphere w))) + ) + (when (nonzero? (-> s4-1 root-prim prim-core collide-as)) + (let ((s4-2 0) + (v1-8 (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (the-as vector s3-1) (-> gp-0 point)) 1.0)) + ) + (if (logtest? (process-mask enemy) (-> s5-0 mask)) + (set! s4-2 (logior s4-2 1)) + ) + (if (and (nonzero? (-> s5-0 draw)) (logtest? (-> s5-0 draw status) 8)) + (set! s4-2 (logior s4-2 2)) + ) + (let ((a0-16 (logand s4-2 (-> gp-0 mask)))) + (when (and + (>= a0-16 (the-as int (-> gp-0 rating))) + (or (zero? (-> gp-0 require)) (logtest? a0-16 (-> gp-0 require))) + (< f30-0 (-> gp-0 best)) + (>= (vector-dot v1-8 (-> gp-0 rot-base)) (-> gp-0 rot-range)) + ) + (set! (-> gp-0 match) s5-0) + (set! (-> gp-0 best) f30-0) + (set! (-> gp-0 rating) (the-as uint a0-16)) + a0-16 + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + ) + *null-kernel-context* + ) + (-> gp-0 match) ) - (iterate-process-tree *entity-pool* (lambda ((arg0 projectile)) - (when - (logtest? - (process-mask crate enemy attackable) - (-> arg0 mask) - ) - (let* ((gp-0 *search-info*) - (s4-0 arg0) - (s5-0 - (if - (and - (nonzero? s4-0) - (type-type? - (-> s4-0 type) - process-drawable - ) - ) - s4-0 - ) - ) - ) - (when s5-0 - (let* ((s3-0 (-> s5-0 root-override)) - (s4-1 - (if - (and - (nonzero? s3-0) - (type-type? - (-> s3-0 type) - collide-shape - ) - ) - s3-0 - ) - ) - ) - (when - (the-as collide-shape-moving s4-1) - (let* - ((s3-1 - (-> s4-1 root-prim prim-core) - ) - (f30-0 - (- - (vector-vector-distance - (-> gp-0 point) - (the-as vector s3-1) - ) - (-> s3-1 world-sphere w) - ) - ) - ) - (when - (nonzero? - (-> - s4-1 - root-prim - prim-core - collide-as - ) - ) - (let ((s4-2 0) - (v1-8 - (vector-normalize! - (vector-! - (new 'stack-no-clear 'vector - ) - (the-as vector s3-1) - (-> gp-0 point) - ) - 1.0 - ) - ) - ) - (if - (logtest? - (process-mask enemy) - (-> s5-0 mask) - ) - (set! s4-2 (logior s4-2 1)) - ) - (if - (and - (nonzero? (-> s5-0 draw)) - (logtest? - (-> s5-0 draw status) - 8 - ) - ) - (set! s4-2 (logior s4-2 2)) - ) - (let - ((a0-16 - (logand s4-2 (-> gp-0 mask)) - ) - ) - (when - (and - (>= - a0-16 - (the-as - int - (-> gp-0 rating) - ) - ) - (or - (zero? (-> gp-0 require)) - (logtest? - a0-16 - (-> gp-0 require) - ) - ) - (< f30-0 (-> gp-0 best)) - (>= - (vector-dot - v1-8 - (-> gp-0 rot-base) - ) - (-> gp-0 rot-range) - ) - ) - (set! (-> gp-0 match) s5-0) - (set! (-> gp-0 best) f30-0) - (set! - (-> gp-0 rating) - (the-as uint a0-16) - ) - a0-16 - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ) - *null-kernel-context* - ) - (-> gp-0 match) - ) ) ;; definition for function projectile-collision-reaction ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - projectile-collision-reaction - ((arg0 collide-shape-moving) - (arg1 collide-shape-intersect) - (arg2 vector) - (arg3 vector) - ) - (local-vars - (sv-64 vector) - (sv-68 vector) - (sv-72 matrix) - (sv-80 int) - (sv-224 symbol) - ) +(defun projectile-collision-reaction ((arg0 collide-shape-moving) (arg1 collide-shape-intersect) (arg2 vector) (arg3 vector)) + (local-vars (sv-64 vector) (sv-68 vector) (sv-72 matrix) (sv-80 int) (sv-224 symbol)) (set! sv-64 (new-stack-vector0)) (set! sv-68 (new-stack-vector0)) (set! sv-72 (new 'stack-no-clear 'matrix)) (set! sv-80 0) (set! (-> sv-72 vector 0 quad) (-> arg3 quad)) (let ((a1-1 (new 'stack-no-clear 'vector))) - (vector-float*! a1-1 (-> arg1 move-vec) (-> arg1 best-u)) - (TODO-RENAME-28 arg0 a1-1) - ) + (vector-float*! a1-1 (-> arg1 move-vec) (-> arg1 best-u)) + (TODO-RENAME-28 arg0 a1-1) + ) (dummy-56 arg0 (-> arg1 best-tri pat)) - (case (-> arg1 best-tri pat material) - (((pat-material stopproj)) + (case (-> arg1 best-tri pat material) + (((pat-material stopproj)) (send-event (-> arg0 process) 'die) ) - ) - (vector-! - sv-64 - (the-as vector (-> arg1 best-from-prim prim-core)) - (-> arg1 best-tri intersect) - ) + ) + (vector-! sv-64 (the-as vector (-> arg1 best-from-prim prim-core)) (-> arg1 best-tri intersect)) (set! (-> sv-64 w) 1.0) (vector-normalize! sv-64 1.0) (set! (-> arg0 coverage) (vector-dot sv-64 (-> arg1 best-tri normal))) (let ((v1-22 (-> sv-64 quad))) - (set! (-> sv-68 quad) v1-22) - ) - (when (= (-> arg1 best-u) 0.0) - (let ((a1-7 (vector-float*! (new 'stack-no-clear 'vector) sv-68 32.0))) - (TODO-RENAME-28 arg0 a1-7) + (set! (-> sv-68 quad) v1-22) + ) + (when (= (-> arg1 best-u) 0.0) + (let ((a1-7 (vector-float*! (new 'stack-no-clear 'vector) sv-68 32.0))) + (TODO-RENAME-28 arg0 a1-7) + ) ) - ) (set! (-> arg0 surface-normal quad) (-> sv-68 quad)) (set! (-> arg0 poly-normal quad) (-> arg1 best-tri normal quad)) - (set! - (-> arg0 surface-angle) - (vector-dot sv-68 (-> arg0 dynam gravity-normal)) - ) - (set! - (-> arg0 poly-angle) - (vector-dot (-> arg0 poly-normal) (-> arg0 dynam gravity-normal)) - ) - (set! - (-> arg0 touch-angle) - (vector-dot - sv-68 - (vector-normalize! - (vector-negate! (new-stack-vector0) (the-as vector sv-72)) - 1.0 - ) - ) - ) + (set! (-> arg0 surface-angle) (vector-dot sv-68 (-> arg0 dynam gravity-normal))) + (set! (-> arg0 poly-angle) (vector-dot (-> arg0 poly-normal) (-> arg0 dynam gravity-normal))) + (set! (-> arg0 touch-angle) + (vector-dot sv-68 (vector-normalize! (vector-negate! (new-stack-vector0) (the-as vector sv-72)) 1.0)) + ) (if (< (-> arg0 poly-angle) -0.2) - (set! sv-80 (logior sv-80 16)) - ) - (set! - sv-224 - (< - (fabs (-> arg0 surface-angle)) - (-> *pat-mode-info* (-> arg0 cur-pat mode) wall-angle) - ) - ) + (set! sv-80 (logior sv-80 16)) + ) + (set! sv-224 (< (fabs (-> arg0 surface-angle)) (-> *pat-mode-info* (-> arg0 cur-pat mode) wall-angle))) (if (zero? (logand (-> arg0 prev-status) 1)) - (set! - (-> arg0 ground-impact-vel) - (- (vector-dot (-> arg0 transv) (-> arg0 dynam gravity-normal))) - ) - ) + (set! (-> arg0 ground-impact-vel) (- (vector-dot (-> arg0 transv) (-> arg0 dynam gravity-normal)))) + ) (set! sv-80 (logior sv-80 4)) (if (-> arg1 best-to-prim) - (set! sv-80 (logior sv-80 32)) - ) + (set! sv-80 (logior sv-80 32)) + ) (cond - (sv-224 - (set! sv-80 (logior sv-80 8)) - (set! (-> arg0 cur-pat mode) 1) - (set! (-> arg0 local-normal quad) (-> sv-68 quad)) + (sv-224 + (set! sv-80 (logior sv-80 8)) + (set! (-> arg0 cur-pat mode) 1) + (set! (-> arg0 local-normal quad) (-> sv-68 quad)) + ) + (else + (set! sv-80 (logior sv-80 1)) + (set! (-> arg0 local-normal quad) (-> sv-68 quad)) + ) ) - (else - (set! sv-80 (logior sv-80 1)) - (set! (-> arg0 local-normal quad) (-> sv-68 quad)) - ) - ) (vector-reflect-flat-above! arg2 (the-as vector sv-72) sv-68) (when (and (not sv-224) (>= (-> arg0 coverage) 0.9)) - (set! sv-80 (logior sv-80 2)) - (set! (-> arg0 ground-poly-normal quad) (-> arg0 poly-normal quad)) - (when (!= (-> arg0 poly-pat mode) (pat-mode wall)) - (set! (-> arg0 ground-pat) (-> arg0 poly-pat)) - (set! (-> arg0 ground-touch-point quad) (-> arg1 best-tri intersect quad)) + (set! sv-80 (logior sv-80 2)) + (set! (-> arg0 ground-poly-normal quad) (-> arg0 poly-normal quad)) + (when (!= (-> arg0 poly-pat mode) (pat-mode wall)) + (set! (-> arg0 ground-pat) (-> arg0 poly-pat)) + (set! (-> arg0 ground-touch-point quad) (-> arg1 best-tri intersect quad)) + ) ) - ) (logior! (-> arg0 status) sv-80) sv-80 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 102) - (new 'static 'sparticle-launch-group - :length 34 - :duration #x12c - :linger-duration #x5dc - :name "group-yellow-eco-fireball" - :launcher - (new 'static 'inline-array sparticle-group-item 34 - (sp-item 349 :flags (launch-asap) :binding 350) - (sp-item 350 :flags (start-dead launch-asap) :binding 351) - (sp-item 351 :flags (start-dead launch-asap) :binding 352) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 352 :flags (start-dead) :binding 353) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 12288.0) - ) - ) +(set! (-> *part-group-id-table* 102) + (new 'static 'sparticle-launch-group + :length 34 + :duration #x12c + :linger-duration #x5dc + :name "group-yellow-eco-fireball" + :launcher + (new 'static 'inline-array sparticle-group-item 34 + (sp-item 349 :flags (launch-asap) :binding 350) + (sp-item 350 :flags (start-dead launch-asap) :binding 351) + (sp-item 351 :flags (start-dead launch-asap) :binding 352) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 352 :flags (start-dead) :binding 353) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 353 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 12288.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 349) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 349) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 9 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 350) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 16.0) 1.0) - (sp-flt spt-z 0.0) - (sp-flt spt-scale-x (meters 5.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-a 32.0) - (sp-rnd-int-flt spt-vel-x (meters -0.10666667) 1 873.81335) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.4) 1 145.63556) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 350) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 16.0) 1.0) + (sp-flt spt-z 0.0) + (sp-flt spt-scale-x (meters 5.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-a 32.0) + (sp-rnd-int-flt spt-vel-x (meters -0.10666667) 1 873.81335) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.4) 1 145.63556) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 351) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 0.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-a 64.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.11259259)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 351) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 0.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.11259259)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 352) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-a 64.0) - (sp-flt spt-scalevel-x (meters -0.02)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -1.0) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 352) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-a 64.0) + (sp-flt spt-scalevel-x (meters -0.02)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -1.0) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 353) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-y (meters -0.05)) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.011666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.000909091)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.4) - (sp-flt spt-fade-a -0.024242423) - (sp-rnd-flt spt-accel-y -0.40960002 -1.2288 1.0) - (sp-flt spt-friction 0.93) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 354) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.3)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 353) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-y (meters -0.05)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.011666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.000909091)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.4) + (sp-flt spt-fade-a -0.024242423) + (sp-rnd-flt spt-accel-y -0.40960002 -1.2288 1.0) + (sp-flt spt-friction 0.93) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 354) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.3)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 354) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-r 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 354) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-r 0.0) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 103) - (new 'static 'sparticle-launch-group - :length 20 - :duration #x258 - :linger-duration #x5dc - :name - "group-part-yellow-eco-fireball-launcher" - :launcher - (new 'static 'inline-array sparticle-group-item 20 - (sp-item 355 :flags (launch-asap)) - (sp-item 356 :flags (bit1) :period 630 :length 15) - (sp-item 357 :flags (launch-asap)) - (sp-item 358 :flags (launch-asap) :binding 359) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - (sp-item 359 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 103) (new 'static 'sparticle-launch-group + :length 20 + :duration #x258 + :linger-duration #x5dc + :name + "group-part-yellow-eco-fireball-launcher" + :launcher + (new 'static 'inline-array sparticle-group-item 20 + (sp-item 355 :flags (launch-asap)) + (sp-item 356 :flags (bit1) :period 630 :length 15) + (sp-item 357 :flags (launch-asap)) + (sp-item 358 :flags (launch-asap) :binding 359) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + (sp-item 359 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 355) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 8.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 64.0) - (sp-flt spt-scalevel-x (meters -0.06666667)) - (sp-rnd-int-flt spt-rotvel-z (degrees -204.8) 1 74565.41) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.0) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 355) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 8.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 64.0) + (sp-flt spt-scalevel-x (meters -0.06666667)) + (sp-rnd-int-flt spt-rotvel-z (degrees -204.8) 1 74565.41) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 357) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 5.0) - (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) - (sp-rnd-flt spt-y (meters -0.6) (meters 1.2) 1.0) - (sp-rnd-flt spt-z -2457.6 4915.2 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.75) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters 0.0044444446)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.14222223) - (sp-flt spt-fade-a -0.14222223) - (sp-flt spt-accel-y -0.06826667) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 357) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 5.0) + (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) + (sp-rnd-flt spt-y (meters -0.6) (meters 1.2) 1.0) + (sp-rnd-flt spt-z -2457.6 4915.2 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.75) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters 0.0044444446)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.14222223) + (sp-flt spt-fade-a -0.14222223) + (sp-flt spt-accel-y -0.06826667) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 356) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters -0.0025000002)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-a -0.17777778) - (sp-flt spt-accel-y -4.096) - (sp-flt spt-friction 0.99) - (sp-int-plain-rnd spt-timer 60 59 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 90.0) (degrees 180.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 356) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters -0.0025000002)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-a -0.17777778) + (sp-flt spt-accel-y -4.096) + (sp-flt spt-friction 0.99) + (sp-int-plain-rnd spt-timer 60 59 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 90.0) (degrees 180.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 360) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 24.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters -0.0025000002)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-a -0.17777778) - (sp-flt spt-accel-y -4.096) - (sp-flt spt-friction 0.99) - (sp-int-plain-rnd spt-timer 60 59 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 360) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 24.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters -0.0025000002)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-a -0.17777778) + (sp-flt spt-accel-y -4.096) + (sp-flt spt-friction 0.99) + (sp-int-plain-rnd spt-timer 60 59 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 358) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 16.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) - (sp-flt spt-accel-y -2.048) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 330) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 100.00001) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 90.0) (degrees 180.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 358) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 16.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) + (sp-flt spt-accel-y -2.048) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 330) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 100.00001) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 90.0) (degrees 180.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 361) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 32.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) - (sp-flt spt-accel-y -2.048) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 330) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 361) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 32.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) + (sp-flt spt-accel-y -2.048) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 330) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 359) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 409.6 819.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.10666667)) - (sp-flt spt-scalevel-x (meters -0.000909091)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.26666668) - (sp-flt spt-fade-a -0.19393939) - (sp-int-plain-rnd spt-timer 90 239 1) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 359) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 409.6 819.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.10666667)) + (sp-flt spt-scalevel-x (meters -0.000909091)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.26666668) + (sp-flt spt-fade-a -0.19393939) + (sp-int-plain-rnd spt-timer 90 239 1) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 104) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x258 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-part-yellow-eco-fireball-hit" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2059 :period 600 :length 5) - (sp-item 2060 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 600 :length 40) - (sp-item 2061 :period 600 :length 20) - (sp-item 2062 :fade-after (meters 120.0) :falloff-to (meters 120.0) :period 600 :length 20) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 104) + (new 'static 'sparticle-launch-group + :length 4 + :duration #x258 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-part-yellow-eco-fireball-hit" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2059 :period 600 :length 5) + (sp-item 2060 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 600 :length 40) + (sp-item 2061 :period 600 :length 20) + (sp-item 2062 :fade-after (meters 120.0) :falloff-to (meters 120.0) :period 600 :length 20) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2060) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.10666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 29 1) - (sp-launcher-by-id spt-next-launcher 2063) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2060) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.10666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 29 1) + (sp-launcher-by-id spt-next-launcher 2063) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2063) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.4222223) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2063) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.4222223) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2062) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 3.0) - (sp-flt spt-scale-x (meters 0.2)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 8.0)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 0.42666668)) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2062) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 3.0) + (sp-flt spt-scale-x (meters 0.2)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 8.0)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 0.42666668)) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2059) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 16.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-flt spt-fade-a -1.7454545) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2059) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 16.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-flt spt-fade-a -1.7454545) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2061) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -1.6) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2064) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2061) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -1.6) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2064) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2064) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r -0.53333336) - (sp-flt spt-fade-g -0.53333336) - (sp-flt spt-fade-b -1.0666667) - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2064) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r -0.53333336) + (sp-flt spt-fade-g -0.53333336) + (sp-flt spt-fade-b -1.0666667) + (sp-flt spt-fade-a -0.53333336) + (sp-end) + ) + ) + ) ;; definition for method 24 of type projectile ;; INFO: Return type mismatch int vs none. (defmethod dummy-24 projectile ((obj projectile)) - (spawn - (-> obj part) - (the-as vector (-> obj root-override root-prim prim-core)) - ) + (spawn (-> obj part) (the-as vector (-> obj root-override root-prim prim-core))) 0 (none) ) @@ -926,206 +743,149 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touched) - (when (-> self attack-mode) - (when (cond - ((= (-> arg0 type) target) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (-> arg3 param 0)) - (let ((a0-4 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-4 mode) (-> self attack-mode)) - (set! (-> a1-1 param 1) (the-as uint a0-4)) + (case arg2 + (('touched) + (when (-> self attack-mode) + (when (cond + ((= (-> arg0 type) target) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 2) + (set! (-> a1-1 message) 'attack) + (set! (-> a1-1 param 0) (-> arg3 param 0)) + (let ((a0-4 (new 'static 'attack-info :mask #x20))) + (set! (-> a0-4 mode) (-> self attack-mode)) + (set! (-> a1-1 param 1) (the-as uint a0-4)) + ) + (send-event-function arg0 a1-1) + ) + ) + (else + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 4) + (set! (-> a1-2 message) 'attack) + (set! (-> a1-2 param 0) (-> arg3 param 0)) + (set! (-> a1-2 param 1) (the-as uint (-> self attack-mode))) + (let ((v1-13 (+ *global-attack-id* 1))) + (set! *global-attack-id* v1-13) + (set! (-> a1-2 param 2) (the-as uint v1-13)) + ) + (set! (-> a1-2 param 3) (the-as uint 0)) + (send-event-function arg0 a1-2) + ) + ) ) - (send-event-function arg0 a1-1) - ) - ) - (else - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 4) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (set! (-> a1-2 param 1) (the-as uint (-> self attack-mode))) - (let ((v1-13 (+ *global-attack-id* 1))) - (set! *global-attack-id* v1-13) - (set! (-> a1-2 param 2) (the-as uint v1-13)) + (let ((v1-14 (-> self notify-handle))) + (if (handle->process v1-14) + (send-event (-> v1-14 process 0) 'notify 'attack arg0) ) - (set! (-> a1-2 param 3) (the-as uint 0)) - (send-event-function arg0 a1-2) - ) + ) + (+! (-> self hits) 1) + (if (>= (-> self hits) (-> self max-hits)) + (go-virtual projectile-impact) ) - ) - (let ((v1-14 (-> self notify-handle))) - (if (handle->process v1-14) - (send-event (-> v1-14 process 0) 'notify 'attack arg0) - ) + ) ) - (+! (-> self hits) 1) - (if (>= (-> self hits) (-> self max-hits)) - (go-virtual projectile-impact) - ) - ) + ) + (('die) + (go-virtual projectile-impact) ) ) - (('die) - (go-virtual projectile-impact) - ) ) - ) :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :code (behavior () - (let ((gp-0 #f)) - (while - (< - (- (-> *display* base-frame-counter) (-> self state-time)) - (the-as int (-> self timeout)) + (let ((gp-0 #f)) + (while (< (- (-> *display* base-frame-counter) (-> self state-time)) (the-as int (-> self timeout))) + (let ((s5-0 (the int (-> *display* time-ratio)))) + (set-time-ratios *display* 1.0) + (countdown (s4-0 s5-0) + (if gp-0 + (go-virtual projectile-impact) + ) + (dummy-28 self) + ((-> self update-velocity) self) + (when (logtest? (-> self options) 2) + (set! (-> self tween) (seek (-> self tween) 1.0 (* 0.5 (-> *display* seconds-per-frame)))) + (let ((f0-6 (vector-vector-distance (-> self root-override trans) (-> self target)))) + (cond + ((< f0-6 20480.0) + (set! (-> self tween) (seek (-> self tween) 1.0 (* 3.0 (-> *display* seconds-per-frame)))) + ) + ((< f0-6 40960.0) + (set! (-> self tween) (seek (-> self tween) 1.0 (-> *display* seconds-per-frame))) + ) + ) + ) + ) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (set! (-> s3-0 quad) (-> self root-override trans quad)) + (dummy-33 + (-> self root-override) + (-> self root-override transv) + (-> self root-override root-prim collide-with) + ) + (set! (-> self old-dist (-> self old-dist-count)) + (* 0.0625 (vector-vector-distance s3-0 (-> self root-override trans))) + ) + ) + (set! (-> self old-dist-count) (logand (+ (-> self old-dist-count) 1) 15)) + (let ((f0-16 0.0)) + (countdown (v1-35 16) + (+! f0-16 (-> self old-dist v1-35)) + ) + (if (or (and (logtest? (-> self root-override status) 8) (< f0-16 2048.0)) (< f0-16 204.8)) + (set! gp-0 #t) + ) + ) + ) + (set-time-ratios *display* (the float s5-0)) + ) + (dummy-24 self) + (suspend) + ) ) - (let ((s5-0 (the int (-> *display* time-ratio)))) - (set-time-ratios *display* 1.0) - (countdown (s4-0 s5-0) - (if gp-0 - (go-virtual projectile-impact) - ) - (dummy-28 self) - ((-> self update-velocity) self) - (when (logtest? (-> self options) 2) - (set! - (-> self tween) - (seek (-> self tween) 1.0 (* 0.5 (-> *display* seconds-per-frame))) - ) - (let - ((f0-6 - (vector-vector-distance - (-> self root-override trans) - (-> self target) - ) - ) - ) - (cond - ((< f0-6 20480.0) - (set! - (-> self tween) - (seek (-> self tween) 1.0 (* 3.0 (-> *display* seconds-per-frame))) - ) - ) - ((< f0-6 40960.0) - (set! - (-> self tween) - (seek (-> self tween) 1.0 (-> *display* seconds-per-frame)) - ) - ) - ) - ) - ) - (let ((s3-0 (new 'stack-no-clear 'vector))) - (set! (-> s3-0 quad) (-> self root-override trans quad)) - (dummy-33 - (-> self root-override) - (-> self root-override transv) - (-> self root-override root-prim collide-with) - ) - (set! - (-> self old-dist (-> self old-dist-count)) - (* 0.0625 (vector-vector-distance s3-0 (-> self root-override trans))) - ) - ) - (set! - (-> self old-dist-count) - (logand (+ (-> self old-dist-count) 1) 15) - ) - (let ((f0-16 0.0)) - (countdown (v1-35 16) - (+! f0-16 (-> self old-dist v1-35)) - ) - (if - (or - (and (logtest? (-> self root-override status) 8) (< f0-16 2048.0)) - (< f0-16 204.8) - ) - (set! gp-0 #t) - ) - ) - ) - (set-time-ratios *display* (the float s5-0)) - ) - (dummy-24 self) - (suspend) - ) + (go-virtual projectile-dissipate) + (none) ) - (go-virtual projectile-dissipate) - (none) - ) ) ;; definition for function projectile-update-velocity-space-wars ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defun projectile-update-velocity-space-wars ((arg0 projectile)) - (let - ((s5-1 - (vector-! - (new 'stack-no-clear 'vector) - (-> arg0 target) - (-> arg0 root-override trans) - ) - ) - ) - (let ((s4-0 (new 'stack-no-clear 'vector)) - (s3-0 - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - (-> arg0 root-override transv) - 1.0 - ) + (let ((s5-1 (vector-! (new 'stack-no-clear 'vector) (-> arg0 target) (-> arg0 root-override trans)))) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (s3-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> arg0 root-override transv) 1.0)) + (f30-0 (vector-length (-> arg0 root-override transv))) ) - (f30-0 (vector-length (-> arg0 root-override transv))) - ) - (if (logtest? (-> arg0 root-override status) 4) - (vector-flatten! s5-1 s5-1 (-> arg0 root-override local-normal)) - ) - (vector-normalize-copy! s4-0 s5-1 1.0) - (if - (and - (or - (not (handle->process (-> arg0 last-target))) - (zero? - (-> - (the-as target (handle->process (-> arg0 last-target))) - control - root-prim - prim-core - collide-as - ) - ) - ) - (< (vector-dot s4-0 s3-0) 0.0) + (if (logtest? (-> arg0 root-override status) 4) + (vector-flatten! s5-1 s5-1 (-> arg0 root-override local-normal)) + ) + (vector-normalize-copy! s4-0 s5-1 1.0) + (if (and + (or + (not (handle->process (-> arg0 last-target))) + (zero? (-> (the-as target (handle->process (-> arg0 last-target))) control root-prim prim-core collide-as)) + ) + (< (vector-dot s4-0 s3-0) 0.0) + ) + (go (method-of-object arg0 projectile-dissipate)) + ) + (vector-deg-slerp (-> arg0 root-override transv) s3-0 s4-0 (-> arg0 tween)) + (vector-normalize! (-> arg0 root-override transv) f30-0) ) - (go (method-of-object arg0 projectile-dissipate)) - ) - (vector-deg-slerp (-> arg0 root-override transv) s3-0 s4-0 (-> arg0 tween)) - (vector-normalize! (-> arg0 root-override transv) f30-0) + (vector+! (-> arg0 root-override transv) (-> arg0 root-override transv) s5-1) ) - (vector+! (-> arg0 root-override transv) (-> arg0 root-override transv) s5-1) - ) - (vector-v++! - (-> arg0 root-override transv) - (dummy-62 (-> arg0 root-override) (new-stack-vector0) 0.0) - ) + (vector-v++! (-> arg0 root-override transv) (dummy-62 (-> arg0 root-override) (new-stack-vector0) 0.0)) (if (< (-> arg0 max-speed) (vector-length (-> arg0 root-override transv))) - (vector-normalize! (-> arg0 root-override transv) (-> arg0 max-speed)) - ) + (vector-normalize! (-> arg0 root-override transv) (-> arg0 max-speed)) + ) (if (logtest? (-> arg0 options) 1) - (set! (-> arg0 root-override transv y) -40960.0) - ) + (set! (-> arg0 root-override transv y) -40960.0) + ) 0 (none) ) @@ -1135,45 +895,32 @@ :virtual #t :code (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + part-tracker-init + (-> *part-group-id-table* 104) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + ) + (-> gp-0 ppointer) + ) ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 104) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-0 ppointer) - ) + (if (nonzero? (-> self sound-id)) + (sound-stop (-> self sound-id)) + ) + (sound-play-by-name (static-sound-name "yellow-explode") (new-sound-id) 1024 0 0 1 #t) + (suspend) + (go-virtual projectile-die) + (none) ) - (if (nonzero? (-> self sound-id)) - (sound-stop (-> self sound-id)) - ) - (sound-play-by-name - (static-sound-name "yellow-explode") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (suspend) - (go-virtual projectile-die) - (none) - ) ) ;; failed to figure out what this is: @@ -1181,45 +928,32 @@ :virtual #t :code (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + part-tracker-init + (-> *part-group-id-table* 104) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + ) + (-> gp-0 ppointer) + ) ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 104) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-0 ppointer) - ) + (if (nonzero? (-> self sound-id)) + (sound-stop (-> self sound-id)) + ) + (sound-play-by-name (static-sound-name "yellow-fizzle") (new-sound-id) 1024 0 0 1 #t) + (suspend) + (go-virtual projectile-die) + (none) ) - (if (nonzero? (-> self sound-id)) - (sound-stop (-> self sound-id)) - ) - (sound-play-by-name - (static-sound-name "yellow-fizzle") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (suspend) - (go-virtual projectile-die) - (none) - ) ) ;; definition for method 27 of type projectile @@ -1232,34 +966,26 @@ ;; definition for method 26 of type projectile ;; INFO: Return type mismatch int vs none. (defmethod dummy-26 projectile ((obj projectile)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) projectile-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 1024)) + (set! (-> s4-0 collide-with) (the-as uint 2957)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 5324.8 0.0 5324.8) + (set-root-prim! s5-0 s4-0) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> s5-0 max-iteration-count) (the-as uint 2)) + (set! (-> s5-0 event-self) 'touched) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) projectile-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 1024)) - (set! (-> s4-0 collide-with) (the-as uint 2957)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 3) - (set-vector! (-> s4-0 local-sphere) 0.0 5324.8 0.0 5324.8) - (set-root-prim! s5-0 s4-0) - ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> s5-0 max-iteration-count) (the-as uint 2)) - (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -1277,30 +1003,28 @@ :virtual #t :code (behavior () - (let ((v1-0 (-> self notify-handle))) - (if (handle->process v1-0) - (send-event (-> v1-0 process 0) 'notify 'die) - ) + (let ((v1-0 (-> self notify-handle))) + (if (handle->process v1-0) + (send-event (-> v1-0 process 0) 'notify 'die) + ) + ) + (dummy-18 self) + (none) ) - (dummy-18 self) - (none) - ) ) ;; definition for method 10 of type projectile (defmethod deactivate projectile ((obj projectile)) (if (nonzero? (-> obj sound-id)) - (sound-stop (-> obj sound-id)) - ) + (sound-stop (-> obj sound-id)) + ) ((method-of-type process-drawable deactivate) obj) (none) ) ;; definition for function projectile-init-by-other ;; Used lq/sq -(defbehavior - projectile-init-by-other projectile - ((arg0 entity) (arg1 vector) (arg2 vector) (arg3 uint) (arg4 handle)) +(defbehavior projectile-init-by-other projectile ((arg0 entity) (arg1 vector) (arg2 vector) (arg3 uint) (arg4 handle)) (stack-size-set! (-> self main-thread) 512) (set! (-> self entity) arg0) (set! (-> self attack-mode) #f) @@ -1313,8 +1037,8 @@ (set! (-> self options) arg3) (set! (-> self notify-handle) (the-as handle #f)) (countdown (v1-4 16) - (set! (-> self old-dist v1-4) 4095996000.0) - ) + (set! (-> self old-dist v1-4) 4095996000.0) + ) (dummy-26 self) (set! (-> self root-override dynam gravity y) 1228800.0) (set! (-> self root-override dynam gravity-length) 1228800.0) @@ -1322,37 +1046,26 @@ (set! (-> self root-override trans quad) (-> arg1 quad)) (set! (-> self base-trans quad) (-> arg1 quad)) (set! (-> self parent-base quad) (-> arg1 quad)) + (quaternion-copy! (-> self root-override quat) (-> (the-as process-drawable (-> self parent 0)) root quat)) (quaternion-copy! - (-> self root-override quat) - (-> (the-as process-drawable (-> self parent 0)) root quat) - ) - (quaternion-copy! - (the-as quaternion (-> self parent-quat)) - (-> (the-as process-drawable (-> self parent 0)) root quat) - ) + (the-as quaternion (-> self parent-quat)) + (-> (the-as process-drawable (-> self parent 0)) root quat) + ) (vector-identity! (-> self root-override scale)) (set! (-> self root-override transv quad) (-> arg2 quad)) (vector-normalize-copy! (-> self base-vector) arg2 1.0) - (vector+float*! - (-> self target) - (-> self root-override trans) - (-> self root-override transv) - 2.0 - ) + (vector+float*! (-> self target) (-> self root-override trans) (-> self root-override transv) 2.0) (set! (-> self target-base quad) (-> self target quad)) (dummy-27 self) (dummy-24 self) (when (not (type-type? (-> self type) projectile-blue)) - (let ((a1-8 (new 'stack-no-clear 'collide-edge-hold-list))) - (set! (-> a1-8 num-allocs) (the-as uint 1)) - (set! (-> a1-8 num-attempts) (the-as uint *touching-list*)) - (dummy-40 (-> self root-override) a1-8) + (let ((a1-8 (new 'stack-no-clear 'collide-edge-hold-list))) + (set! (-> a1-8 num-allocs) (the-as uint 1)) + (set! (-> a1-8 num-attempts) (the-as uint *touching-list*)) + (dummy-40 (-> self root-override) a1-8) + ) ) - ) - (set! - (-> self event-hook) - (-> (method-of-object self projectile-moving) event) - ) + (set! (-> self event-hook) (-> (method-of-object self projectile-moving) event)) (dummy-25 self) (none) ) @@ -1370,129 +1083,67 @@ (set! (-> obj tween) 0.05) (logior! (-> obj options) 2) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> obj root-override trans quad)) - (set! - (-> obj root-override trans y) - (+ -5324.8 (-> obj root-override trans y)) - ) - (vector+float*! - (-> obj target) - (-> obj root-override trans) - (-> obj root-override transv) - 2.0 - ) - (set! (-> obj target-base quad) (-> obj target quad)) - (let - ((f30-0 - (the float (sar (shl (the int (y-angle (-> obj root-override))) 48) 48)) - ) - ) - (set! - (-> obj mask) - (the-as process-mask (logior (process-mask projectile) (-> obj mask))) - ) - (if (logtest? (-> obj options) 16) - (set! (-> obj max-hits) 1) - ) - (set! - (-> *part-id-table* 356 init-specs 18 initial-valuef) - (the float (sar (shl (the int (+ -16384.0 f30-0)) 48) 48)) - ) - (set! - (-> *part-id-table* 358 init-specs 11 initial-valuef) - (the float (sar (shl (the int (+ -16384.0 f30-0)) 48) 48)) - ) - (sound-play-by-name - (static-sound-name "yellow-fire") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (set! - (-> obj sound-id) - (sound-play-by-name - (static-sound-name "yellow-buzz") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (when (zero? (logand (-> obj options) 416)) - (let ((s4-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-2 - (let ((t9-10 (method-of-type part-tracker activate))) - (t9-10 - (the-as part-tracker s4-2) - obj - 'part-tracker - (the-as pointer #x70004000) - ) + (set! (-> s5-0 quad) (-> obj root-override trans quad)) + (set! (-> obj root-override trans y) (+ -5324.8 (-> obj root-override trans y))) + (vector+float*! (-> obj target) (-> obj root-override trans) (-> obj root-override transv) 2.0) + (set! (-> obj target-base quad) (-> obj target quad)) + (let ((f30-0 (the float (sar (shl (the int (y-angle (-> obj root-override))) 48) 48)))) + (set! (-> obj mask) (the-as process-mask (logior (process-mask projectile) (-> obj mask)))) + (if (logtest? (-> obj options) 16) + (set! (-> obj max-hits) 1) + ) + (set! (-> *part-id-table* 356 init-specs 18 initial-valuef) + (the float (sar (shl (the int (+ -16384.0 f30-0)) 48) 48)) + ) + (set! (-> *part-id-table* 358 init-specs 11 initial-valuef) + (the float (sar (shl (the int (+ -16384.0 f30-0)) 48) 48)) + ) + (sound-play-by-name (static-sound-name "yellow-fire") (new-sound-id) 1024 0 0 1 #t) + (set! (-> obj sound-id) (sound-play-by-name (static-sound-name "yellow-buzz") (new-sound-id) 1024 0 0 1 #t)) + (when (zero? (logand (-> obj options) 416)) + (let ((s4-2 (get-process *default-dead-pool* part-tracker #x4000))) + (when s4-2 + (let ((t9-10 (method-of-type part-tracker activate))) + (t9-10 (the-as part-tracker s4-2) obj 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s4-2 part-tracker-init (-> *part-group-id-table* 103) -1 #f #f #f s5-0) + (-> s4-2 ppointer) + ) + ) ) - (run-now-in-process - s4-2 - part-tracker-init - (-> *part-group-id-table* 103) - -1 - #f - #f - #f - s5-0 - ) - (-> s4-2 ppointer) - ) + (set! (-> *part-id-table* 350 init-specs 2 initial-valuef) f30-0) ) - ) - (set! (-> *part-id-table* 350 init-specs 2 initial-valuef) f30-0) ) - ) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 102) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 102) obj)) (when *target* - (case (-> *target* current-level name) - (('swamp) - (set! - (-> obj water) - (new 'process 'water-control obj 0 0.0 8192.0 2048.0) + (case (-> *target* current-level name) + (('swamp) + (set! (-> obj water) (new 'process 'water-control obj 0 0.0 8192.0 2048.0)) + (set! (-> obj water flags) (the-as uint 146)) + (set! (-> obj water height) (if (logtest? (-> obj options) 64) + 8192.0 + 10240.0 + ) + ) + (logior! (-> obj root-override root-prim collide-with) 32) ) - (set! (-> obj water flags) (the-as uint 146)) - (set! (-> obj water height) (if (logtest? (-> obj options) 64) - 8192.0 - 10240.0 - ) + (('ogre) + (when (zero? (logand (-> obj options) 128)) + (set! (-> obj water) (new 'process 'water-control obj 0 0.0 8192.0 2048.0)) + (set! (-> obj water flags) (the-as uint 146)) + (set! (-> obj water height) 129024.0) + (logior! (-> obj root-override root-prim collide-with) 32) + ) ) - (logior! (-> obj root-override root-prim collide-with) 32) - ) - (('ogre) - (when (zero? (logand (-> obj options) 128)) - (set! - (-> obj water) - (new 'process 'water-control obj 0 0.0 8192.0 2048.0) + (('finalboss) + (set! (-> obj root-override trans y) (+ 4096.0 (-> obj root-override trans y))) + (set! (-> obj water) (new 'process 'water-control obj 0 0.0 8192.0 2048.0)) + (set! (-> obj water flags) (the-as uint 146)) + (set! (-> obj water height) 1977958.4) + (logior! (-> obj root-override root-prim collide-with) 32) ) - (set! (-> obj water flags) (the-as uint 146)) - (set! (-> obj water height) 129024.0) - (logior! (-> obj root-override root-prim collide-with) 32) ) - ) - (('finalboss) - (set! - (-> obj root-override trans y) - (+ 4096.0 (-> obj root-override trans y)) - ) - (set! (-> obj water) (new 'process 'water-control obj 0 0.0 8192.0 2048.0)) - (set! (-> obj water flags) (the-as uint 146)) - (set! (-> obj water height) 1977958.4) - (logior! (-> obj root-override root-prim collide-with) 32) - ) ) - ) 0 (none) ) @@ -1501,8 +1152,8 @@ ;; INFO: Return type mismatch uint vs none. (defmethod dummy-26 projectile-yellow ((obj projectile-yellow)) (let ((t9-0 (method-of-type projectile dummy-26))) - (t9-0 obj) - ) + (t9-0 obj) + ) (logior! (-> obj root-override root-prim collide-with) 8192) (none) ) @@ -1511,82 +1162,56 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-24 projectile-yellow ((obj projectile-yellow)) (with-pp - (find-ground-and-draw-shadow - (-> obj root-override trans) - (-> obj root-override shadow-pos) - 8192.0 - (the-as uint 1) - (the-as process #f) - 12288.0 - 81920.0 - ) - (if (< (-> obj root-override trans y) (-> obj root-override shadow-pos y)) - (set! - (-> obj root-override trans y) - (+ 1228.8 (-> obj root-override shadow-pos y)) - ) - ) - (dummy-47 (-> obj root-override)) - (set! - (-> *part-id-table* 353 init-specs 16 initial-valuef) - (the-as float 30) - ) - (set! - (-> *part-id-table* 353 init-specs 16 random-rangef) - (the-as float 300) - ) - (cond - ((logtest? (-> obj options) 32) - (when (>= (- (-> *display* base-frame-counter) (-> obj state-time)) 15) - (when (< (- (-> *display* base-frame-counter) (-> obj state-time)) 150) - (set! - (-> *part-id-table* 353 init-specs 16 initial-valuef) - (the-as float 0) - ) - (set! - (-> *part-id-table* 353 init-specs 16 random-rangef) - (the-as float 0) - ) - 0 - ) - (spawn - (-> obj part) - (the-as vector (-> obj root-override root-prim prim-core)) - ) + (find-ground-and-draw-shadow + (-> obj root-override trans) + (-> obj root-override shadow-pos) + 8192.0 + (the-as uint 1) + (the-as process #f) + 12288.0 + 81920.0 ) - ) - (else - (spawn - (-> obj part) - (the-as vector (-> obj root-override root-prim prim-core)) - ) - ) - ) - (let ((s5-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) - (set! (-> s5-0 command) (sound-command set-param)) - (set! (-> s5-0 id) (-> obj sound-id)) - (let ((a1-3 (-> obj root-override trans))) - (let ((gp-1 pp)) - (when (= a1-3 #t) - (if - (and - gp-1 - (type-type? (-> gp-1 type) process-drawable) - (nonzero? (-> (the-as process-drawable gp-1) root)) + (if (< (-> obj root-override trans y) (-> obj root-override shadow-pos y)) + (set! (-> obj root-override trans y) (+ 1228.8 (-> obj root-override shadow-pos y))) + ) + (dummy-47 (-> obj root-override)) + (set! (-> *part-id-table* 353 init-specs 16 initial-valuef) (the-as float 30)) + (set! (-> *part-id-table* 353 init-specs 16 random-rangef) (the-as float 300)) + (cond + ((logtest? (-> obj options) 32) + (when (>= (- (-> *display* base-frame-counter) (-> obj state-time)) 15) + (when (< (- (-> *display* base-frame-counter) (-> obj state-time)) 150) + (set! (-> *part-id-table* 353 init-specs 16 initial-valuef) (the-as float 0)) + (set! (-> *part-id-table* 353 init-specs 16 random-rangef) (the-as float 0)) + 0 + ) + (spawn (-> obj part) (the-as vector (-> obj root-override root-prim prim-core))) ) - (set! a1-3 (-> (the-as process-drawable gp-1) root trans)) - (set! a1-3 (the-as vector #f)) - ) ) + (else + (spawn (-> obj part) (the-as vector (-> obj root-override root-prim prim-core))) + ) ) - (sound-trans-convert (-> s5-0 parms trans) a1-3) - ) - (set! (-> s5-0 parms mask) (the-as uint 32)) - (-> s5-0 id) + (let ((s5-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) + (set! (-> s5-0 command) (sound-command set-param)) + (set! (-> s5-0 id) (-> obj sound-id)) + (let ((a1-3 (-> obj root-override trans))) + (let ((gp-1 pp)) + (when (= a1-3 #t) + (if (and gp-1 (type-type? (-> gp-1 type) process-drawable) (nonzero? (-> (the-as process-drawable gp-1) root))) + (set! a1-3 (-> (the-as process-drawable gp-1) root trans)) + (set! a1-3 (the-as vector #f)) + ) + ) + ) + (sound-trans-convert (-> s5-0 parms trans) a1-3) + ) + (set! (-> s5-0 parms mask) (the-as uint 32)) + (-> s5-0 id) + ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for method 28 of type projectile-yellow @@ -1594,103 +1219,80 @@ ;; Used lq/sq (defmethod dummy-28 projectile-yellow ((obj projectile-yellow)) (cond - ((or - (not (handle->process (-> obj last-target))) - (zero? - (-> - (the-as target (handle->process (-> obj last-target))) - control - root-prim - prim-core - collide-as + ((or + (not (handle->process (-> obj last-target))) + (zero? (-> (the-as target (handle->process (-> obj last-target))) control root-prim prim-core collide-as)) ) - ) - ) - (cond - ((zero? (-> obj target-count)) - (let - ((s5-0 - (find-nearest-attackable - (-> obj parent-base) - 409600.0 - (the-as uint 0) - (the-as uint 0) - (-> obj base-vector) - (if (logtest? (-> obj options) 160) - 546.13336 - 8192.0 - ) - ) - ) - ) - (let - ((s4-0 - (find-nearest-attackable - (-> obj parent-base) - 163840.0 - (the-as uint 1) - (the-as uint 0) - (-> obj base-vector) - (if (logtest? (-> obj options) 160) - 910.2222 - 8192.0 + (cond + ((zero? (-> obj target-count)) + (let ((s5-0 (find-nearest-attackable + (-> obj parent-base) + 409600.0 + (the-as uint 0) + (the-as uint 0) + (-> obj base-vector) + (if (logtest? (-> obj options) 160) + 546.13336 + 8192.0 + ) + ) + ) + ) + (let ((s4-0 (find-nearest-attackable + (-> obj parent-base) + 163840.0 + (the-as uint 1) + (the-as uint 0) + (-> obj base-vector) + (if (logtest? (-> obj options) 160) + 910.2222 + 8192.0 + ) + ) + ) + (v1-10 (find-nearest-attackable + (-> obj parent-base) + 28672.0 + (the-as uint 1) + (the-as uint 0) + (-> obj base-vector) + 16384.0 + ) + ) + ) + (if s4-0 + (set! s5-0 s4-0) + ) + (if v1-10 + (set! s5-0 v1-10) + ) + ) + (set! (-> obj last-target) (process->handle s5-0)) + (when s5-0 + (set! (-> obj target quad) (-> s5-0 root-override root-prim prim-core world-sphere quad)) + (if (= (-> s5-0 type symbol) 'mother-spider) + (set! (-> obj options) (logand -2 (-> obj options))) + ) ) - ) ) - (v1-10 - (find-nearest-attackable - (-> obj parent-base) - 28672.0 - (the-as uint 1) - (the-as uint 0) - (-> obj base-vector) - 16384.0 - ) + ) + (else + (set! (-> obj target quad) (-> obj target-base quad)) + ) + ) + ) + (else + (let ((a1-8 (handle->process (-> obj last-target)))) + (set! (-> obj target quad) (-> (the-as target a1-8) control root-prim prim-core world-sphere quad)) + ) + (if (and + (< (vector-vector-xz-distance (-> obj root-override trans) (-> obj target)) 20480.0) + (< 24576.0 (fabs (- (-> obj target y) (-> obj root-override trans y)))) + ) + (set! (-> obj last-target) (the-as handle #f)) ) - ) - (if s4-0 - (set! s5-0 s4-0) - ) - (if v1-10 - (set! s5-0 v1-10) - ) - ) - (set! (-> obj last-target) (process->handle s5-0)) - (when s5-0 - (set! - (-> obj target quad) - (-> s5-0 root-override root-prim prim-core world-sphere quad) - ) - (if (= (-> s5-0 type symbol) 'mother-spider) - (set! (-> obj options) (logand -2 (-> obj options))) - ) - ) - ) ) - (else - (set! (-> obj target quad) (-> obj target-base quad)) - ) - ) ) - (else - (let ((a1-8 (handle->process (-> obj last-target)))) - (set! - (-> obj target quad) - (-> (the-as target a1-8) control root-prim prim-core world-sphere quad) - ) - ) - (if - (and - (< - (vector-vector-xz-distance (-> obj root-override trans) (-> obj target)) - 20480.0 - ) - (< 24576.0 (fabs (- (-> obj target y) (-> obj root-override trans y)))) - ) - (set! (-> obj last-target) (the-as handle #f)) - ) - ) - ) (+! (-> obj target-count) 1) 0 (none) @@ -1701,52 +1303,26 @@ ;; Used lq/sq (defmethod dummy-27 projectile-blue ((obj projectile-blue)) (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 204 30) - (sound-play-by-name - (static-sound-name "blue-eco-on") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (sound-play-by-name (static-sound-name "blue-eco-on") (new-sound-id) 1024 0 0 1 #t) (set! (-> obj mode) 2) (set! (-> obj max-speed) (-> *TARGET-bank* yellow-projectile-speed)) (set! (-> obj update-velocity) projectile-update-velocity-space-wars) - (set! - (-> obj root-override trans y) - (+ -5324.8 (-> obj root-override trans y)) - ) - (vector+float*! - (-> obj target) - (-> obj root-override trans) - (-> obj root-override transv) - 2.0 - ) + (set! (-> obj root-override trans y) (+ -5324.8 (-> obj root-override trans y))) + (vector+float*! (-> obj target) (-> obj root-override trans) (-> obj root-override transv) 2.0) (set! (-> obj target-base quad) (-> obj target quad)) - (set! - (-> obj mask) - (the-as process-mask (logior (process-mask ambient) (-> obj mask))) - ) + (set! (-> obj mask) (the-as process-mask (logior (process-mask ambient) (-> obj mask)))) (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 42) obj)) (set! (-> obj root-override root-prim collide-with) (the-as uint 1)) (let* ((s5-1 (handle->process (-> obj last-target))) - (v1-20 - (if (and (nonzero? s5-1) (type-type? (-> s5-1 type) process-drawable)) - s5-1 - ) - ) + (v1-20 (if (and (nonzero? s5-1) (type-type? (-> s5-1 type) process-drawable)) + s5-1 + ) + ) ) - (if v1-20 - (set! - (-> obj joint-num) - (rand-vu-int-range - 3 - (+ (-> (the-as process-drawable v1-20) node-list length) -1) - ) - ) + (if v1-20 + (set! (-> obj joint-num) (rand-vu-int-range 3 (+ (-> (the-as process-drawable v1-20) node-list length) -1))) + ) ) - ) 0 (none) ) @@ -1754,34 +1330,26 @@ ;; definition for method 26 of type projectile-blue ;; INFO: Return type mismatch int vs none. (defmethod dummy-26 projectile-blue ((obj projectile-blue)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) projectile-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 1024)) + (set! (-> s4-0 collide-with) (the-as uint 1)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 5324.8 0.0 5324.8) + (set-root-prim! s5-0 s4-0) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> s5-0 max-iteration-count) (the-as uint 2)) + (set! (-> s5-0 event-self) 'touched) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) projectile-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 1024)) - (set! (-> s4-0 collide-with) (the-as uint 1)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 3) - (set-vector! (-> s4-0 local-sphere) 0.0 5324.8 0.0 5324.8) - (set-root-prim! s5-0 s4-0) - ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> s5-0 max-iteration-count) (the-as uint 2)) - (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -1792,90 +1360,68 @@ (defun spawn-projectile-blue ((arg0 target)) (local-vars (sv-48 entity)) (with-pp - (when arg0 - (let ((s3-0 (rand-vu-int-range 3 (+ (-> arg0 node-list length) -1))) - (gp-0 (new-stack-vector0)) - ) - (set-vector! - gp-0 - (rand-vu-float-range -81920.0 81920.0) - (rand-vu-float-range -81920.0 81920.0) - (rand-vu-float-range -81920.0 81920.0) - 1.0 - ) - (let ((s4-1 (get-process *default-dead-pool* projectile-blue #x4000))) - (when s4-1 - (let ((t9-5 (method-of-type projectile-blue activate))) - (t9-5 - (the-as projectile-blue s4-1) - pp - 'projectile-blue - (the-as pointer #x70004000) - ) - ) - (let ((s2-0 run-function-in-process) - (s1-0 s4-1) - (s0-0 projectile-init-by-other) - ) - (set! sv-48 (-> pp entity)) - (let - ((a3-1 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> arg0 node-list data s3-0) + (when arg0 + (let ((s3-0 (rand-vu-int-range 3 (+ (-> arg0 node-list length) -1))) + (gp-0 (new-stack-vector0)) ) - ) - (t1-0 8) - (t2-0 (process->handle pp)) - ) - ((the-as - (function process function object object object object object object) - s2-0 - ) - s1-0 - s0-0 - sv-48 - a3-1 + (set-vector! gp-0 - t1-0 - t2-0 + (rand-vu-float-range -81920.0 81920.0) + (rand-vu-float-range -81920.0 81920.0) + (rand-vu-float-range -81920.0 81920.0) + 1.0 + ) + (let ((s4-1 (get-process *default-dead-pool* projectile-blue #x4000))) + (when s4-1 + (let ((t9-5 (method-of-type projectile-blue activate))) + (t9-5 (the-as projectile-blue s4-1) pp 'projectile-blue (the-as pointer #x70004000)) + ) + (let ((s2-0 run-function-in-process) + (s1-0 s4-1) + (s0-0 projectile-init-by-other) + ) + (set! sv-48 (-> pp entity)) + (let ((a3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> arg0 node-list data s3-0))) + (t1-0 8) + (t2-0 (process->handle pp)) + ) + ((the-as (function process function object object object object object object) s2-0) + s1-0 + s0-0 + sv-48 + a3-1 + gp-0 + t1-0 + t2-0 + ) + ) + ) + (-> s4-1 ppointer) + ) ) - ) ) - (-> s4-1 ppointer) - ) ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for method 28 of type projectile-blue ;; INFO: Return type mismatch int vs none. (defmethod dummy-28 projectile-blue ((obj projectile-blue)) (let* ((s5-0 (handle->process (-> obj last-target))) - (v1-4 - (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) process-drawable)) - s5-0 - ) - ) + (v1-4 (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) process-drawable)) + s5-0 + ) + ) ) - (if v1-4 - (vector<-cspace! - (-> obj target) - (-> (the-as process-drawable v1-4) node-list data (-> obj joint-num)) - ) + (if v1-4 + (vector<-cspace! (-> obj target) (-> (the-as process-drawable v1-4) node-list data (-> obj joint-num))) + ) ) - ) - (if - (< - (vector-vector-distance (-> obj target) (-> obj root-override trans)) - 4096.0 - ) - (go (method-of-object obj projectile-impact)) - ) + (if (< (vector-vector-distance (-> obj target) (-> obj root-override trans)) 4096.0) + (go (method-of-object obj projectile-impact)) + ) 0 (none) ) @@ -1884,8 +1430,8 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-24 projectile-blue ((obj projectile-blue)) (if (rand-vu-percent? 0.75) - (eco-blue-glow (the-as vector (-> obj root-override root-prim prim-core))) - ) + (eco-blue-glow (the-as vector (-> obj root-override root-prim prim-core))) + ) 0 (none) ) @@ -1894,18 +1440,12 @@ (defstate projectile-impact (projectile-blue) :virtual #t :code - (behavior () - (dummy-18 self) - (none) - ) + (behavior () (dummy-18 self) (none)) ) ;; failed to figure out what this is: (defstate projectile-dissipate (projectile-blue) :virtual #t :code - (behavior () - (go-virtual projectile-die) - (none) - ) + (behavior () (go-virtual projectile-die) (none)) ) diff --git a/test/decompiler/reference/engine/game/settings-h_REF.gc b/test/decompiler/reference/engine/game/settings-h_REF.gc index 219778da5b..0782a75509 100644 --- a/test/decompiler/reference/engine/game/settings-h_REF.gc +++ b/test/decompiler/reference/engine/game/settings-h_REF.gc @@ -125,21 +125,11 @@ ) ;; definition for method 0 of type setting-control -(defmethod - new - setting-control - ((allocation symbol) (type-to-make type) (arg0 int)) - (let - ((s4-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new setting-control ((allocation symbol) (type-to-make type) (arg0 int)) + (let ((s4-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> s4-0 engine) ((method-of-type engine new) allocation engine 'setting-control arg0)) + s4-0 ) - (set! - (-> s4-0 engine) - ((method-of-type engine new) allocation engine 'setting-control arg0) - ) - s4-0 - ) ) ;; definition of type scf-time diff --git a/test/decompiler/reference/engine/game/settings_REF.gc b/test/decompiler/reference/engine/game/settings_REF.gc index c86ad72ae5..37939b1b6c 100644 --- a/test/decompiler/reference/engine/game/settings_REF.gc +++ b/test/decompiler/reference/engine/game/settings_REF.gc @@ -6,238 +6,196 @@ (let ((conn (the-as connection (-> arg0 alive-list-end))) (s4-0 (-> arg0 alive-list-end prev0)) ) - (while (!= (the-as connectable conn) (-> arg0 alive-list)) - (case (-> conn param0) - (('border-mode) - (set! (-> obj border-mode) (the-as symbol (-> conn param1))) - ) - (('allow-look-around) - (set! (-> obj allow-look-around) (the-as symbol (-> conn param1))) - ) - (('ocean-off) - (set! (-> obj ocean-off) (the-as symbol (-> conn param1))) - ) - (('music) - (set! (-> obj music) (the-as symbol (-> conn param1))) - ) - (('process-mask) - (case (-> conn param1) - (('set) - (logior! (-> obj process-mask) (the-as int (-> conn param3))) + (while (!= (the-as connectable conn) (-> arg0 alive-list)) + (case (-> conn param0) + (('border-mode) + (set! (-> obj border-mode) (the-as symbol (-> conn param1))) ) - (('clear) - (logclear! (-> obj process-mask) (the-as uint (-> conn param3))) - ) - (('abs) - (set! - (-> obj process-mask) - (the-as process-mask (the-as int (-> conn param3))) + (('allow-look-around) + (set! (-> obj allow-look-around) (the-as symbol (-> conn param1))) ) - ) - ) - ) - (('sfx-volume) - (when - (or - (zero? - (logand (-> *kernel-context* prevent-from-run) (process-mask progress)) + (('ocean-off) + (set! (-> obj ocean-off) (the-as symbol (-> conn param1))) ) - (= (get-process conn) (ppointer->process *progress-process*)) - ) - (case (the-as symbol (-> conn param1)) - (('rel) - (set! - (-> obj sfx-volume) - (* 0.01 (the-as float (-> conn param2)) (-> obj sfx-volume)) + (('music) + (set! (-> obj music) (the-as symbol (-> conn param1))) + ) + (('process-mask) + (case (-> conn param1) + (('set) + (logior! (-> obj process-mask) (the-as int (-> conn param3))) + ) + (('clear) + (logclear! (-> obj process-mask) (the-as uint (-> conn param3))) + ) + (('abs) + (set! (-> obj process-mask) (the-as process-mask (the-as int (-> conn param3)))) + ) + ) + ) + (('sfx-volume) + (when (or + (zero? (logand (-> *kernel-context* prevent-from-run) (process-mask progress))) + (= (get-process conn) (ppointer->process *progress-process*)) + ) + (case (the-as symbol (-> conn param1)) + (('rel) + (set! (-> obj sfx-volume) (* 0.01 (the-as float (-> conn param2)) (-> obj sfx-volume))) + ) + (else + (set! (-> obj sfx-volume) (the-as float (-> conn param2))) + ) + ) + ) + ) + (('music-volume) + (case (the-as symbol (-> conn param1)) + (('rel) + (set! (-> obj music-volume) (* 0.01 (the-as float (-> conn param2)) (-> obj music-volume))) + ) + (else + (set! (-> obj music-volume) (the-as float (-> conn param2))) + ) + ) + ) + (('ambient-volume) + (case (the-as symbol (-> conn param1)) + (('rel) + (set! (-> obj ambient-volume) (* 0.01 (the-as float (-> conn param2)) (-> obj ambient-volume))) + ) + (else + (set! (-> obj ambient-volume) (the-as float (-> conn param2))) + ) + ) + ) + (('dialog-volume) + (case (the-as symbol (-> conn param1)) + (('rel) + (set! (-> obj dialog-volume) (* 0.01 (the-as float (-> conn param2)) (-> obj dialog-volume))) + ) + (else + (set! (-> obj dialog-volume) (the-as float (-> conn param2))) + ) + ) + ) + (('sfx-volume-movie) + (case (the-as symbol (-> conn param1)) + (('rel) + (set! (-> obj sfx-volume-movie) (* 0.01 (the-as float (-> conn param2)) (-> obj sfx-volume-movie))) + ) + (else + (set! (-> obj sfx-volume-movie) (the-as float (-> conn param2))) + ) + ) + ) + (('music-volume-movie) + (case (the-as symbol (-> conn param1)) + (('rel) + (set! (-> obj music-volume-movie) (* 0.01 (the-as float (-> conn param2)) (-> obj music-volume-movie))) + ) + (else + (set! (-> obj music-volume-movie) (the-as float (-> conn param2))) + ) + ) + ) + (('ambient-volume-movie) + (case (the-as symbol (-> conn param1)) + (('rel) + (set! (-> obj ambient-volume-movie) (* 0.01 (the-as float (-> conn param2)) (-> obj ambient-volume-movie))) + ) + (else + (set! (-> obj ambient-volume-movie) (the-as float (-> conn param2))) + ) + ) + ) + (('dialog-volume-hint) + (case (the-as symbol (-> conn param1)) + (('rel) + (set! (-> obj dialog-volume-hint) (* 0.01 (the-as float (-> conn param2)) (-> obj dialog-volume-hint))) + ) + (else + (set! (-> obj dialog-volume-hint) (the-as float (-> conn param2))) + ) + ) + ) + (('sound-flava) + (when (>= (the-as float (-> conn param2)) (-> obj sound-flava-priority)) + (set! (-> obj sound-flava) (the-as uint (the-as int (-> conn param3)))) + (set! (-> obj sound-flava-priority) (the-as float (-> conn param2))) + ) + ) + (('bg-r) + (set! (-> obj bg-r) (the-as float (-> conn param2))) + ) + (('bg-g) + (set! (-> obj bg-g) (the-as float (-> conn param2))) + ) + (('bg-b) + (set! (-> obj bg-b) (the-as float (-> conn param2))) + ) + (('bg-a) + (set! (-> obj bg-a) (the-as float (-> conn param2))) + ) + (('bg-a-speed) + (set! (-> obj bg-a-speed) (the-as float (-> conn param2))) + ) + (('bg-a-force) + (set! (-> obj bg-a-force) (the-as float (-> conn param2))) + ) + (('language) + (set! (-> obj language) (the-as language-enum (the-as int (-> conn param3)))) + ) + (('vibration) + (set! (-> obj vibration) (the-as symbol (-> conn param1))) + ) + (('auto-save) + (set! (-> obj auto-save) (the-as symbol (-> conn param1))) + ) + (('allow-pause) + (set! (-> obj allow-pause) (the-as symbol (-> conn param1))) + ) + (('allow-progress) + (set! (-> obj allow-progress) (the-as symbol (-> conn param1))) + ) + (('play-hints) + (set! (-> obj play-hints) (the-as symbol (-> conn param1))) + ) + (('movie) + (set! (-> obj movie) (the-as (pointer progress) (-> conn param1))) + ) + (('talking) + (set! (-> obj talking) (the-as (pointer progress) (-> conn param1))) + ) + (('spooling) + (set! (-> obj spooling) (the-as (pointer progress) (-> conn param1))) + ) + (('hint) + (set! (-> obj hint) (the-as (pointer process) (-> conn param1))) + ) + (('ambient) + (set! (-> obj ambient) (the-as (pointer progress) (-> conn param1))) + ) + (('common-page) + (case (-> conn param1) + (('set) + (logior! (-> obj common-page) (the-as int (-> conn param3))) + ) + (('clear) + (logclear! (-> obj common-page) (the-as uint (-> conn param3))) + ) ) - ) - (else - (set! (-> obj sfx-volume) (the-as float (-> conn param2))) ) ) - ) + (set! conn (the-as connection s4-0)) + (set! s4-0 (-> (the-as connectable conn) prev0)) ) - (('music-volume) - (case (the-as symbol (-> conn param1)) - (('rel) - (set! - (-> obj music-volume) - (* 0.01 (the-as float (-> conn param2)) (-> obj music-volume)) - ) - ) - (else - (set! (-> obj music-volume) (the-as float (-> conn param2))) - ) - ) - ) - (('ambient-volume) - (case (the-as symbol (-> conn param1)) - (('rel) - (set! - (-> obj ambient-volume) - (* 0.01 (the-as float (-> conn param2)) (-> obj ambient-volume)) - ) - ) - (else - (set! (-> obj ambient-volume) (the-as float (-> conn param2))) - ) - ) - ) - (('dialog-volume) - (case (the-as symbol (-> conn param1)) - (('rel) - (set! - (-> obj dialog-volume) - (* 0.01 (the-as float (-> conn param2)) (-> obj dialog-volume)) - ) - ) - (else - (set! (-> obj dialog-volume) (the-as float (-> conn param2))) - ) - ) - ) - (('sfx-volume-movie) - (case (the-as symbol (-> conn param1)) - (('rel) - (set! - (-> obj sfx-volume-movie) - (* 0.01 (the-as float (-> conn param2)) (-> obj sfx-volume-movie)) - ) - ) - (else - (set! (-> obj sfx-volume-movie) (the-as float (-> conn param2))) - ) - ) - ) - (('music-volume-movie) - (case (the-as symbol (-> conn param1)) - (('rel) - (set! - (-> obj music-volume-movie) - (* 0.01 (the-as float (-> conn param2)) (-> obj music-volume-movie)) - ) - ) - (else - (set! (-> obj music-volume-movie) (the-as float (-> conn param2))) - ) - ) - ) - (('ambient-volume-movie) - (case (the-as symbol (-> conn param1)) - (('rel) - (set! - (-> obj ambient-volume-movie) - (* 0.01 (the-as float (-> conn param2)) (-> obj ambient-volume-movie)) - ) - ) - (else - (set! (-> obj ambient-volume-movie) (the-as float (-> conn param2))) - ) - ) - ) - (('dialog-volume-hint) - (case (the-as symbol (-> conn param1)) - (('rel) - (set! - (-> obj dialog-volume-hint) - (* 0.01 (the-as float (-> conn param2)) (-> obj dialog-volume-hint)) - ) - ) - (else - (set! (-> obj dialog-volume-hint) (the-as float (-> conn param2))) - ) - ) - ) - (('sound-flava) - (when (>= (the-as float (-> conn param2)) (-> obj sound-flava-priority)) - (set! (-> obj sound-flava) (the-as uint (the-as int (-> conn param3)))) - (set! (-> obj sound-flava-priority) (the-as float (-> conn param2))) - ) - ) - (('bg-r) - (set! (-> obj bg-r) (the-as float (-> conn param2))) - ) - (('bg-g) - (set! (-> obj bg-g) (the-as float (-> conn param2))) - ) - (('bg-b) - (set! (-> obj bg-b) (the-as float (-> conn param2))) - ) - (('bg-a) - (set! (-> obj bg-a) (the-as float (-> conn param2))) - ) - (('bg-a-speed) - (set! (-> obj bg-a-speed) (the-as float (-> conn param2))) - ) - (('bg-a-force) - (set! (-> obj bg-a-force) (the-as float (-> conn param2))) - ) - (('language) - (set! - (-> obj language) - (the-as language-enum (the-as int (-> conn param3))) - ) - ) - (('vibration) - (set! (-> obj vibration) (the-as symbol (-> conn param1))) - ) - (('auto-save) - (set! (-> obj auto-save) (the-as symbol (-> conn param1))) - ) - (('allow-pause) - (set! (-> obj allow-pause) (the-as symbol (-> conn param1))) - ) - (('allow-progress) - (set! (-> obj allow-progress) (the-as symbol (-> conn param1))) - ) - (('play-hints) - (set! (-> obj play-hints) (the-as symbol (-> conn param1))) - ) - (('movie) - (set! (-> obj movie) (the-as (pointer progress) (-> conn param1))) - ) - (('talking) - (set! (-> obj talking) (the-as (pointer progress) (-> conn param1))) - ) - (('spooling) - (set! (-> obj spooling) (the-as (pointer progress) (-> conn param1))) - ) - (('hint) - (set! (-> obj hint) (the-as (pointer process) (-> conn param1))) - ) - (('ambient) - (set! (-> obj ambient) (the-as (pointer progress) (-> conn param1))) - ) - (('common-page) - (case (-> conn param1) - (('set) - (logior! (-> obj common-page) (the-as int (-> conn param3))) - ) - (('clear) - (logclear! (-> obj common-page) (the-as uint (-> conn param3))) - ) - ) - ) - ) - (set! conn (the-as connection s4-0)) - (set! s4-0 (-> (the-as connectable conn) prev0)) ) - ) obj ) ;; definition for method 9 of type setting-control ;; INFO: Return type mismatch int vs none. -(defmethod - push-setting! - setting-control - ((obj setting-control) - (arg0 process) - (arg1 symbol) - (arg2 object) - (arg3 object) - (arg4 object) - ) +(defmethod push-setting! setting-control ((obj setting-control) (arg0 process) (arg1 symbol) (arg2 object) (arg3 object) (arg4 object)) (add-connection (-> obj engine) arg0 arg1 arg2 arg3 arg4) 0 (none) @@ -245,16 +203,7 @@ ;; definition for method 10 of type setting-control ;; INFO: Return type mismatch int vs none. -(defmethod - set-setting! - setting-control - ((obj setting-control) - (arg0 process) - (arg1 symbol) - (arg2 symbol) - (arg3 float) - (arg4 int) - ) +(defmethod set-setting! setting-control ((obj setting-control) (arg0 process) (arg1 symbol) (arg2 symbol) (arg3 float) (arg4 int)) (clear-pending-settings-from-process obj arg0 arg1) (add-connection (-> obj engine) arg0 arg1 arg2 arg3 arg4) 0 @@ -263,26 +212,22 @@ ;; definition for method 11 of type setting-control ;; INFO: Return type mismatch int vs none. -(defmethod - clear-pending-settings-from-process - setting-control - ((obj setting-control) (arg0 process) (arg1 symbol)) +(defmethod clear-pending-settings-from-process setting-control ((obj setting-control) (arg0 process) (arg1 symbol)) (when arg0 - (let ((s5-0 (-> obj engine)) - (s4-0 (-> arg0 connection-list next1)) - ) - (while s4-0 - (if - (and - (belongs-to-engine? (the-as connection s4-0) s5-0) - (or (= arg1 #t) (= arg1 (-> (the-as connection s4-0) param0))) - ) - (move-to-dead (the-as connection s4-0)) + (let ((s5-0 (-> obj engine)) + (s4-0 (-> arg0 connection-list next1)) + ) + (while s4-0 + (if (and + (belongs-to-engine? (the-as connection s4-0) s5-0) + (or (= arg1 #t) (= arg1 (-> (the-as connection s4-0) param0))) + ) + (move-to-dead (the-as connection s4-0)) + ) + (set! s4-0 (-> s4-0 next1)) + ) ) - (set! s4-0 (-> s4-0 next1)) - ) ) - ) 0 (none) ) @@ -290,185 +235,145 @@ ;; definition for method 12 of type setting-control (defmethod copy-settings-from-target! setting-control ((obj setting-control)) (let ((gp-0 (-> obj current))) - (let ((s5-0 (-> obj target))) - (mem-copy! (the-as pointer s5-0) (the-as pointer (-> obj default)) 196) - (set! - (-> s5-0 ambient-volume) - (* 0.01 (-> obj default ambient-volume) (-> obj default sfx-volume)) - ) - (update-from-engine s5-0 (-> obj engine)) - (set! (-> gp-0 border-mode) (-> s5-0 border-mode)) - (set! (-> gp-0 common-page) (-> s5-0 common-page)) - (set! (-> gp-0 vibration) (-> s5-0 vibration)) - (set! (-> gp-0 auto-save) (-> s5-0 auto-save)) - (set! (-> gp-0 play-hints) (-> s5-0 play-hints)) - (set! (-> gp-0 movie) (-> s5-0 movie)) - (set! (-> gp-0 talking) (-> s5-0 talking)) - (set! (-> gp-0 spooling) (-> s5-0 spooling)) - (set! (-> gp-0 hint) (-> s5-0 hint)) - (set! (-> gp-0 ambient) (-> s5-0 ambient)) - (set! (-> gp-0 allow-pause) (-> s5-0 allow-pause)) - (set! (-> gp-0 allow-progress) (-> s5-0 allow-progress)) - (set! (-> gp-0 allow-look-around) (-> s5-0 allow-look-around)) - (set! (-> gp-0 ocean-off) (-> s5-0 ocean-off)) - (set! (-> gp-0 ambient-volume-movie) (-> s5-0 ambient-volume-movie)) - (set! (-> gp-0 music-volume-movie) (-> s5-0 music-volume-movie)) - (set! (-> gp-0 sfx-volume-movie) (-> s5-0 sfx-volume-movie)) - (set! (-> gp-0 dialog-volume-hint) (-> s5-0 dialog-volume-hint)) - (set! (-> gp-0 process-mask) (-> s5-0 process-mask)) + (let ((s5-0 (-> obj target))) + (mem-copy! (the-as pointer s5-0) (the-as pointer (-> obj default)) 196) + (set! (-> s5-0 ambient-volume) (* 0.01 (-> obj default ambient-volume) (-> obj default sfx-volume))) + (update-from-engine s5-0 (-> obj engine)) + (set! (-> gp-0 border-mode) (-> s5-0 border-mode)) + (set! (-> gp-0 common-page) (-> s5-0 common-page)) + (set! (-> gp-0 vibration) (-> s5-0 vibration)) + (set! (-> gp-0 auto-save) (-> s5-0 auto-save)) + (set! (-> gp-0 play-hints) (-> s5-0 play-hints)) + (set! (-> gp-0 movie) (-> s5-0 movie)) + (set! (-> gp-0 talking) (-> s5-0 talking)) + (set! (-> gp-0 spooling) (-> s5-0 spooling)) + (set! (-> gp-0 hint) (-> s5-0 hint)) + (set! (-> gp-0 ambient) (-> s5-0 ambient)) + (set! (-> gp-0 allow-pause) (-> s5-0 allow-pause)) + (set! (-> gp-0 allow-progress) (-> s5-0 allow-progress)) + (set! (-> gp-0 allow-look-around) (-> s5-0 allow-look-around)) + (set! (-> gp-0 ocean-off) (-> s5-0 ocean-off)) + (set! (-> gp-0 ambient-volume-movie) (-> s5-0 ambient-volume-movie)) + (set! (-> gp-0 music-volume-movie) (-> s5-0 music-volume-movie)) + (set! (-> gp-0 sfx-volume-movie) (-> s5-0 sfx-volume-movie)) + (set! (-> gp-0 dialog-volume-hint) (-> s5-0 dialog-volume-hint)) + (set! (-> gp-0 process-mask) (-> s5-0 process-mask)) + ) + (set! (-> *kernel-context* prevent-from-run) (-> gp-0 process-mask)) + gp-0 ) - (set! (-> *kernel-context* prevent-from-run) (-> gp-0 process-mask)) - gp-0 - ) ) ;; definition for method 13 of type setting-control (defmethod update-per-frame-settings! setting-control ((obj setting-control)) (copy-settings-from-target! obj) (let ((gp-0 (-> obj current))) - (let ((s5-1 (-> obj target))) - (when *sound-player-enable* - (when (!= (-> gp-0 sfx-volume) (-> s5-1 sfx-volume)) - (set! - (-> gp-0 sfx-volume) - (seek - (-> gp-0 sfx-volume) - (-> s5-1 sfx-volume) - (* 100.0 (-> *display* seconds-per-frame)) + (let ((s5-1 (-> obj target))) + (when *sound-player-enable* + (when (!= (-> gp-0 sfx-volume) (-> s5-1 sfx-volume)) + (set! (-> gp-0 sfx-volume) + (seek (-> gp-0 sfx-volume) (-> s5-1 sfx-volume) (* 100.0 (-> *display* seconds-per-frame))) + ) + (sound-set-volume (the-as uint 1) (-> gp-0 sfx-volume)) + ) + (when (!= (-> gp-0 music-volume) (-> s5-1 music-volume)) + (set! (-> gp-0 music-volume) + (seek (-> gp-0 music-volume) (-> s5-1 music-volume) (* 100.0 (-> *display* seconds-per-frame))) + ) + (sound-set-volume (the-as uint 2) (-> gp-0 music-volume)) + ) + (when (!= (-> gp-0 dialog-volume) (-> s5-1 dialog-volume)) + (set! (-> gp-0 dialog-volume) + (seek (-> gp-0 dialog-volume) (-> s5-1 dialog-volume) (* 100.0 (-> *display* seconds-per-frame))) + ) + (sound-set-volume (the-as uint 4) (-> gp-0 dialog-volume)) + ) + (when (!= (-> gp-0 ambient-volume) (-> s5-1 ambient-volume)) + (set! (-> gp-0 ambient-volume) + (seek (-> gp-0 ambient-volume) (-> s5-1 ambient-volume) (* 100.0 (-> *display* seconds-per-frame))) + ) + (sound-set-volume (the-as uint 16) (-> gp-0 ambient-volume)) + ) ) - ) - (sound-set-volume (the-as uint 1) (-> gp-0 sfx-volume)) - ) - (when (!= (-> gp-0 music-volume) (-> s5-1 music-volume)) - (set! - (-> gp-0 music-volume) - (seek - (-> gp-0 music-volume) - (-> s5-1 music-volume) - (* 100.0 (-> *display* seconds-per-frame)) + (when (!= (-> gp-0 language) (-> s5-1 language)) + (set! (-> gp-0 language) (-> s5-1 language)) + (set-language (-> gp-0 language)) ) - ) - (sound-set-volume (the-as uint 2) (-> gp-0 music-volume)) - ) - (when (!= (-> gp-0 dialog-volume) (-> s5-1 dialog-volume)) - (set! - (-> gp-0 dialog-volume) - (seek - (-> gp-0 dialog-volume) - (-> s5-1 dialog-volume) - (* 100.0 (-> *display* seconds-per-frame)) + (when (and + (!= (-> s5-1 music) (-> gp-0 music)) + (and (< 0.0 (-> *setting-control* current music-volume)) (zero? (rpc-busy? 1)) *sound-bank-1* *sound-bank-2*) + ) + (cond + ((-> s5-1 music) + (format 0 "Load music ~A~%" (-> s5-1 music)) + (sound-music-load (string->sound-name (symbol->string (-> s5-1 music)))) + ) + (else + (format 0 "Unload music~%") + (sound-music-unload) + ) + ) + (set! (-> gp-0 music) (-> s5-1 music)) ) - ) - (sound-set-volume (the-as uint 4) (-> gp-0 dialog-volume)) - ) - (when (!= (-> gp-0 ambient-volume) (-> s5-1 ambient-volume)) - (set! - (-> gp-0 ambient-volume) - (seek - (-> gp-0 ambient-volume) - (-> s5-1 ambient-volume) - (* 100.0 (-> *display* seconds-per-frame)) + (set! (-> s5-1 sound-flava) (the-as uint (flava-lookup (-> gp-0 music) (the-as int (-> s5-1 sound-flava))))) + (set! (-> gp-0 sound-flava) (-> s5-1 sound-flava)) + (if *sound-player-enable* + (sound-set-flava (-> gp-0 sound-flava)) + ) + (when (!= (-> gp-0 aspect-ratio) (-> s5-1 aspect-ratio)) + (set! (-> gp-0 aspect-ratio) (-> s5-1 aspect-ratio)) + (set-aspect-ratio (-> gp-0 aspect-ratio)) ) - ) - (sound-set-volume (the-as uint 16) (-> gp-0 ambient-volume)) + (when (!= (-> gp-0 video-mode) (-> s5-1 video-mode)) + (set! (-> gp-0 video-mode) (-> s5-1 video-mode)) + (set-video-mode (-> gp-0 video-mode)) + ) + (when (!= (-> gp-0 screenx) (-> s5-1 screenx)) + (set! (-> gp-0 screenx) (-> s5-1 screenx)) + (set! (-> *video-parms* display-dx) (/ (-> s5-1 screenx) 2)) + (set! (-> *video-parms* set-video-mode) #t) + ) + (when (!= (-> gp-0 screeny) (-> s5-1 screeny)) + (set! (-> gp-0 screeny) (-> s5-1 screeny)) + (set! (-> *video-parms* display-dy) (* (/ (-> s5-1 screeny) 2) 2)) + (set! (-> *video-parms* set-video-mode) #t) + ) + (set! (-> gp-0 bg-a-speed) (-> s5-1 bg-a-speed)) + (set! (-> gp-0 bg-a-force) (-> s5-1 bg-a-force)) + (set! (-> gp-0 bg-r) (-> s5-1 bg-r)) + (set! (-> gp-0 bg-g) (-> s5-1 bg-g)) + (set! (-> gp-0 bg-b) (-> s5-1 bg-b)) + (set! (-> gp-0 bg-a) + (seek (-> gp-0 bg-a) (-> s5-1 bg-a) (* (-> s5-1 bg-a-speed) (-> *display* seconds-per-frame))) + ) ) - ) - (when (!= (-> gp-0 language) (-> s5-1 language)) - (set! (-> gp-0 language) (-> s5-1 language)) - (set-language (-> gp-0 language)) - ) - (when - (and - (!= (-> s5-1 music) (-> gp-0 music)) - (and - (< 0.0 (-> *setting-control* current music-volume)) - (zero? (rpc-busy? 1)) - *sound-bank-1* - *sound-bank-2* + (let ((v1-60 (-> *display* frames (-> *display* on-screen) display)) + (f0-39 (-> gp-0 bg-a)) + ) + (if (!= (-> gp-0 bg-a-force) 0.0) + (set! f0-39 (-> gp-0 bg-a-force)) + ) + (set! (-> v1-60 bgcolor r) (the int (* 255.0 (-> gp-0 bg-r)))) + (set! (-> v1-60 bgcolor g) (the int (* 255.0 (-> gp-0 bg-g)))) + (set! (-> v1-60 bgcolor b) (the int (* 255.0 (-> gp-0 bg-b)))) + (set! (-> v1-60 pmode alp) (the int (* 255.0 (- 1.0 f0-39)))) + ) + (set! (-> *level* border?) (-> gp-0 border-mode)) + (set! (-> *texture-pool* common-page-mask) (-> gp-0 common-page)) + (set! (-> *cpad-list* cpads 0 buzz) (-> gp-0 vibration)) + (case (-> gp-0 ocean-off) + ((#t) + (set! *ocean-off* #t) + ) + (('mid) + (set! *ocean-mid-off* #t) + ) + (('near) + (set! *ocean-near-off* #t) ) ) - (cond - ((-> s5-1 music) - (format 0 "Load music ~A~%" (-> s5-1 music)) - (sound-music-load (string->sound-name (symbol->string (-> s5-1 music)))) - ) - (else - (format 0 "Unload music~%") - (sound-music-unload) - ) - ) - (set! (-> gp-0 music) (-> s5-1 music)) - ) - (set! - (-> s5-1 sound-flava) - (the-as - uint - (flava-lookup (-> gp-0 music) (the-as int (-> s5-1 sound-flava))) - ) - ) - (set! (-> gp-0 sound-flava) (-> s5-1 sound-flava)) - (if *sound-player-enable* - (sound-set-flava (-> gp-0 sound-flava)) - ) - (when (!= (-> gp-0 aspect-ratio) (-> s5-1 aspect-ratio)) - (set! (-> gp-0 aspect-ratio) (-> s5-1 aspect-ratio)) - (set-aspect-ratio (-> gp-0 aspect-ratio)) - ) - (when (!= (-> gp-0 video-mode) (-> s5-1 video-mode)) - (set! (-> gp-0 video-mode) (-> s5-1 video-mode)) - (set-video-mode (-> gp-0 video-mode)) - ) - (when (!= (-> gp-0 screenx) (-> s5-1 screenx)) - (set! (-> gp-0 screenx) (-> s5-1 screenx)) - (set! (-> *video-parms* display-dx) (/ (-> s5-1 screenx) 2)) - (set! (-> *video-parms* set-video-mode) #t) - ) - (when (!= (-> gp-0 screeny) (-> s5-1 screeny)) - (set! (-> gp-0 screeny) (-> s5-1 screeny)) - (set! (-> *video-parms* display-dy) (* (/ (-> s5-1 screeny) 2) 2)) - (set! (-> *video-parms* set-video-mode) #t) - ) - (set! (-> gp-0 bg-a-speed) (-> s5-1 bg-a-speed)) - (set! (-> gp-0 bg-a-force) (-> s5-1 bg-a-force)) - (set! (-> gp-0 bg-r) (-> s5-1 bg-r)) - (set! (-> gp-0 bg-g) (-> s5-1 bg-g)) - (set! (-> gp-0 bg-b) (-> s5-1 bg-b)) - (set! - (-> gp-0 bg-a) - (seek - (-> gp-0 bg-a) - (-> s5-1 bg-a) - (* (-> s5-1 bg-a-speed) (-> *display* seconds-per-frame)) - ) - ) + gp-0 ) - (let ((v1-60 (-> *display* frames (-> *display* on-screen) display)) - (f0-39 (-> gp-0 bg-a)) - ) - (if (!= (-> gp-0 bg-a-force) 0.0) - (set! f0-39 (-> gp-0 bg-a-force)) - ) - (set! (-> v1-60 bgcolor r) (the int (* 255.0 (-> gp-0 bg-r)))) - (set! (-> v1-60 bgcolor g) (the int (* 255.0 (-> gp-0 bg-g)))) - (set! (-> v1-60 bgcolor b) (the int (* 255.0 (-> gp-0 bg-b)))) - (set! (-> v1-60 pmode alp) (the int (* 255.0 (- 1.0 f0-39)))) - ) - (set! (-> *level* border?) (-> gp-0 border-mode)) - (set! (-> *texture-pool* common-page-mask) (-> gp-0 common-page)) - (set! (-> *cpad-list* cpads 0 buzz) (-> gp-0 vibration)) - (case (-> gp-0 ocean-off) - ((#t) - (set! *ocean-off* #t) - ) - (('mid) - (set! *ocean-mid-off* #t) - ) - (('near) - (set! *ocean-near-off* #t) - ) - ) - gp-0 - ) ) ;; failed to figure out what this is: @@ -477,89 +382,65 @@ (let ((gp-0 (-> *setting-control* default)) (s5-0 (-> *setting-control* current)) ) - (let ((f0-2 (* 0.01 (the float (scf-get-volume))))) - (set! (-> gp-0 ocean-off) #f) - (set! (-> gp-0 allow-look-around) #t) - (set! (-> gp-0 border-mode) #f) - (set! - (-> gp-0 sfx-volume) - (the float (* 5 (the int (+ 0.5 (* 15.0 f0-2))))) - ) - (set! - (-> gp-0 music-volume) - (the float (* 5 (the int (+ 0.5 (* 13.0 f0-2))))) - ) - (set! - (-> gp-0 dialog-volume) - (the float (* 5 (the int (+ 0.5 (* 20.0 f0-2))))) - ) - (set! - (-> gp-0 ambient-volume) - (the float (* 5 (the int (+ 0.5 (* 15.0 f0-2))))) - ) - (set! - (-> gp-0 sfx-volume-movie) - (the float (* 5 (the int (+ 0.5 (* 11.0 f0-2))))) - ) - (set! - (-> gp-0 music-volume-movie) - (the float (* 5 (the int (+ 0.5 (* 13.0 f0-2))))) - ) - (set! - (-> gp-0 ambient-volume-movie) - (the float (* 5 (the int (+ 0.5 (* 11.0 f0-2))))) - ) - (set! - (-> gp-0 dialog-volume-hint) - (the float (* 5 (the int (+ 0.5 (* 16.0 f0-2))))) - ) - ) - (set! (-> gp-0 language) (scf-get-language)) - (set! (-> gp-0 process-mask) (process-mask execute sleep)) - (set! (-> gp-0 screenx) 0) - (set! (-> gp-0 screeny) 0) - (set! (-> gp-0 vibration) #t) - (set! (-> gp-0 auto-save) #f) - (set! (-> gp-0 play-hints) #t) - (set! (-> gp-0 movie) (the-as (pointer process) #f)) - (set! (-> gp-0 talking) (the-as (pointer process) #f)) - (set! (-> gp-0 spooling) (the-as (pointer process) #f)) - (set! (-> gp-0 hint) (the-as (pointer process) #f)) - (set! (-> gp-0 ambient) (the-as (pointer process) #f)) - (set! (-> gp-0 sound-flava) (the-as uint 49)) - (set! (-> gp-0 sound-flava-priority) 0.0) - (set! (-> gp-0 music) #f) - (set! (-> gp-0 bg-a-speed) 8.0) - (set! (-> gp-0 allow-pause) #t) - (set! (-> gp-0 allow-progress) #t) - (case (scf-get-aspect) - ((2) - (set! (-> gp-0 aspect-ratio) 'aspect16x9) + (let ((f0-2 (* 0.01 (the float (scf-get-volume))))) + (set! (-> gp-0 ocean-off) #f) + (set! (-> gp-0 allow-look-around) #t) + (set! (-> gp-0 border-mode) #f) + (set! (-> gp-0 sfx-volume) (the float (* 5 (the int (+ 0.5 (* 15.0 f0-2)))))) + (set! (-> gp-0 music-volume) (the float (* 5 (the int (+ 0.5 (* 13.0 f0-2)))))) + (set! (-> gp-0 dialog-volume) (the float (* 5 (the int (+ 0.5 (* 20.0 f0-2)))))) + (set! (-> gp-0 ambient-volume) (the float (* 5 (the int (+ 0.5 (* 15.0 f0-2)))))) + (set! (-> gp-0 sfx-volume-movie) (the float (* 5 (the int (+ 0.5 (* 11.0 f0-2)))))) + (set! (-> gp-0 music-volume-movie) (the float (* 5 (the int (+ 0.5 (* 13.0 f0-2)))))) + (set! (-> gp-0 ambient-volume-movie) (the float (* 5 (the int (+ 0.5 (* 11.0 f0-2)))))) + (set! (-> gp-0 dialog-volume-hint) (the float (* 5 (the int (+ 0.5 (* 16.0 f0-2)))))) ) - (else - (set! (-> gp-0 aspect-ratio) 'aspect4x3) - ) + (set! (-> gp-0 language) (scf-get-language)) + (set! (-> gp-0 process-mask) (process-mask execute sleep)) + (set! (-> gp-0 screenx) 0) + (set! (-> gp-0 screeny) 0) + (set! (-> gp-0 vibration) #t) + (set! (-> gp-0 auto-save) #f) + (set! (-> gp-0 play-hints) #t) + (set! (-> gp-0 movie) (the-as (pointer process) #f)) + (set! (-> gp-0 talking) (the-as (pointer process) #f)) + (set! (-> gp-0 spooling) (the-as (pointer process) #f)) + (set! (-> gp-0 hint) (the-as (pointer process) #f)) + (set! (-> gp-0 ambient) (the-as (pointer process) #f)) + (set! (-> gp-0 sound-flava) (the-as uint 49)) + (set! (-> gp-0 sound-flava-priority) 0.0) + (set! (-> gp-0 music) #f) + (set! (-> gp-0 bg-a-speed) 8.0) + (set! (-> gp-0 allow-pause) #t) + (set! (-> gp-0 allow-progress) #t) + (case (scf-get-aspect) + ((2) + (set! (-> gp-0 aspect-ratio) 'aspect16x9) + ) + (else + (set! (-> gp-0 aspect-ratio) 'aspect4x3) + ) + ) + (if (zero? *boot-video-mode*) + (set! (-> gp-0 video-mode) 'ntsc) + (set! (-> gp-0 video-mode) 'pal) + ) + (set! (-> s5-0 sfx-volume) (+ -1.0 (-> gp-0 sfx-volume))) + (set! (-> s5-0 music-volume) (+ -1.0 (-> gp-0 music-volume))) + (set! (-> s5-0 dialog-volume) (+ -1.0 (-> gp-0 dialog-volume))) + (set! (-> s5-0 ambient-volume) (+ -1.0 (-> gp-0 ambient-volume))) + (set! (-> s5-0 sfx-volume-movie) (-> gp-0 sfx-volume-movie)) + (set! (-> s5-0 music-volume-movie) (-> gp-0 music-volume-movie)) + (set! (-> s5-0 ambient-volume-movie) (-> gp-0 ambient-volume-movie)) + (set! (-> s5-0 dialog-volume-hint) (-> gp-0 dialog-volume-hint)) + (set! (-> s5-0 language) (+ (-> gp-0 language) -1)) + (set! (-> s5-0 aspect-ratio) #f) + (set! (-> s5-0 video-mode) #f) + (set! (-> s5-0 music) #f) + (set! (-> s5-0 bg-a-speed) (-> gp-0 bg-a-speed)) + (set! (-> s5-0 allow-pause) (-> gp-0 allow-pause)) + (set! (-> s5-0 allow-progress) (-> gp-0 allow-progress)) + (set! (-> s5-0 allow-look-around) (-> gp-0 allow-look-around)) + (set! (-> s5-0 ocean-off) (-> gp-0 ocean-off)) ) - (if (zero? *boot-video-mode*) - (set! (-> gp-0 video-mode) 'ntsc) - (set! (-> gp-0 video-mode) 'pal) - ) - (set! (-> s5-0 sfx-volume) (+ -1.0 (-> gp-0 sfx-volume))) - (set! (-> s5-0 music-volume) (+ -1.0 (-> gp-0 music-volume))) - (set! (-> s5-0 dialog-volume) (+ -1.0 (-> gp-0 dialog-volume))) - (set! (-> s5-0 ambient-volume) (+ -1.0 (-> gp-0 ambient-volume))) - (set! (-> s5-0 sfx-volume-movie) (-> gp-0 sfx-volume-movie)) - (set! (-> s5-0 music-volume-movie) (-> gp-0 music-volume-movie)) - (set! (-> s5-0 ambient-volume-movie) (-> gp-0 ambient-volume-movie)) - (set! (-> s5-0 dialog-volume-hint) (-> gp-0 dialog-volume-hint)) - (set! (-> s5-0 language) (+ (-> gp-0 language) -1)) - (set! (-> s5-0 aspect-ratio) #f) - (set! (-> s5-0 video-mode) #f) - (set! (-> s5-0 music) #f) - (set! (-> s5-0 bg-a-speed) (-> gp-0 bg-a-speed)) - (set! (-> s5-0 allow-pause) (-> gp-0 allow-pause)) - (set! (-> s5-0 allow-progress) (-> gp-0 allow-progress)) - (set! (-> s5-0 allow-look-around) (-> gp-0 allow-look-around)) - (set! (-> s5-0 ocean-off) (-> gp-0 ocean-off)) - ) ) diff --git a/test/decompiler/reference/engine/game/task/hint-control-h_REF.gc b/test/decompiler/reference/engine/game/task/hint-control-h_REF.gc index e21a36cc68..f83d664590 100644 --- a/test/decompiler/reference/engine/game/task/hint-control-h_REF.gc +++ b/test/decompiler/reference/engine/game/task/hint-control-h_REF.gc @@ -22,16 +22,8 @@ (format #t "[~8x] ~A~%" obj 'level-hint-control) (format #t "~Tdelay-before-playing: ~D~%" (-> obj delay-before-playing)) (format #t "~Tid: ~D~%" (-> obj id)) - (format - #t - "~Tnum-attempts-before-playing: ~D~%" - (-> obj num-attempts-before-playing) - ) - (format - #t - "~Tnum-success-before-killing: ~D~%" - (-> obj num-success-before-killing) - ) + (format #t "~Tnum-attempts-before-playing: ~D~%" (-> obj num-attempts-before-playing)) + (format #t "~Tnum-success-before-killing: ~D~%" (-> obj num-success-before-killing)) (format #t "~Tnum-attempts: ~D~%" (-> obj num-attempts)) (format #t "~Tnum-success: ~D~%" (-> obj num-success)) (format #t "~Tstart-time: ~D~%" (-> obj start-time)) diff --git a/test/decompiler/reference/engine/game/task/hint-control_REF.gc b/test/decompiler/reference/engine/game/task/hint-control_REF.gc index 8d4667f9ba..3609428cda 100644 --- a/test/decompiler/reference/engine/game/task/hint-control_REF.gc +++ b/test/decompiler/reference/engine/game/task/hint-control_REF.gc @@ -2,391 +2,254 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *game-info* hint-control) - (the-as - (array level-hint-control) - (new - 'static - 'boxed-array - :type level-hint-control :length 25 :allocated-length 25 - (new 'static 'level-hint-control - :id #x917 - :num-attempts-before-playing 1 - :num-success-before-killing 3 - ) - (new 'static 'level-hint-control - :id #x90a - :num-attempts-before-playing 3 - :num-success-before-killing -1 - ) - (new 'static 'level-hint-control - :id #x284 - :num-attempts-before-playing 3 - :num-success-before-killing 3 - ) - (new 'static 'level-hint-control - :id #x285 - :num-attempts-before-playing 1 - :num-success-before-killing 1 - ) - (new 'static 'level-hint-control - :id #x251 - :num-attempts-before-playing 1 - :num-success-before-killing 1 - ) - (new 'static 'level-hint-control - :id #x2af - :num-attempts-before-playing 1 - :num-success-before-killing 1 - ) - (new 'static 'level-hint-control - :delay-before-playing #x384 - :id #x239 - :num-attempts-before-playing 1 - :num-success-before-killing 1 - ) - (new 'static 'level-hint-control - :delay-before-playing #x5dc - :id #x29d - :num-attempts-before-playing 1 - :num-success-before-killing -1 - ) - (new 'static 'level-hint-control - :delay-before-playing #x384 - :id #x25b - :num-attempts-before-playing 1 - :num-success-before-killing -1 - ) - (new 'static 'level-hint-control - :id #x2a4 - :num-attempts-before-playing 3 - :num-success-before-killing 1 - ) - (new 'static 'level-hint-control - :delay-before-playing #x384 - :id #x2aa - :num-attempts-before-playing 1 - :num-success-before-killing 1 - ) - (new 'static 'level-hint-control - :delay-before-playing #x5dc - :id #x33a - :num-attempts-before-playing 1 - :num-success-before-killing 1 - ) - (new 'static 'level-hint-control - :delay-before-playing #x1194 - :id #x34b - :num-attempts-before-playing 3 - :num-success-before-killing 2 - ) - (new 'static 'level-hint-control - :delay-before-playing #x4650 - :id #x34a - :num-attempts-before-playing 3 - :num-success-before-killing -1 - ) - (new 'static 'level-hint-control - :id #x34d - :num-attempts-before-playing 3 - :num-success-before-killing -1 - ) - (new 'static 'level-hint-control - :id #x345 - :num-attempts-before-playing 3 - :num-success-before-killing 2 - ) - (new 'static 'level-hint-control - :id #x352 - :num-attempts-before-playing 1 - :num-success-before-killing 1 - ) - (new 'static 'level-hint-control - :delay-before-playing #x2328 - :id #x347 - :num-attempts-before-playing 3 - :num-success-before-killing 1 - ) - (new 'static 'level-hint-control - :id #x34e - :num-attempts-before-playing 3 - :num-success-before-killing -1 - ) - (new 'static 'level-hint-control - :id #x444 - :num-attempts-before-playing 5 - :num-success-before-killing -1 - ) - (new 'static 'level-hint-control - :delay-before-playing #x384 - :id #x438 - :num-attempts-before-playing 1 - :num-success-before-killing -1 - ) - (new 'static 'level-hint-control - :id #x433 - :num-attempts-before-playing 4 - :num-success-before-killing -1 - ) - (new 'static 'level-hint-control - :id #x70d - :num-attempts-before-playing 1 - :num-success-before-killing 2 - ) - (new 'static 'level-hint-control - :delay-before-playing #x5dc - :id #x806 - :num-attempts-before-playing 1 - :num-success-before-killing 1 - ) - (new 'static 'level-hint-control - :delay-before-playing #x5dc - :id #x809 - :num-attempts-before-playing 1 - :num-success-before-killing 1 - ) - ) - ) - ) +(set! (-> *game-info* hint-control) + (the-as + (array level-hint-control) + (new + 'static + 'boxed-array + :type level-hint-control :length 25 :allocated-length 25 + (new 'static 'level-hint-control :id #x917 :num-attempts-before-playing 1 :num-success-before-killing 3) + (new 'static 'level-hint-control :id #x90a :num-attempts-before-playing 3 :num-success-before-killing -1) + (new 'static 'level-hint-control :id #x284 :num-attempts-before-playing 3 :num-success-before-killing 3) + (new 'static 'level-hint-control :id #x285 :num-attempts-before-playing 1 :num-success-before-killing 1) + (new 'static 'level-hint-control :id #x251 :num-attempts-before-playing 1 :num-success-before-killing 1) + (new 'static 'level-hint-control :id #x2af :num-attempts-before-playing 1 :num-success-before-killing 1) + (new 'static 'level-hint-control + :delay-before-playing #x384 + :id #x239 + :num-attempts-before-playing 1 + :num-success-before-killing 1 + ) + (new 'static 'level-hint-control + :delay-before-playing #x5dc + :id #x29d + :num-attempts-before-playing 1 + :num-success-before-killing -1 + ) + (new 'static 'level-hint-control + :delay-before-playing #x384 + :id #x25b + :num-attempts-before-playing 1 + :num-success-before-killing -1 + ) + (new 'static 'level-hint-control :id #x2a4 :num-attempts-before-playing 3 :num-success-before-killing 1) + (new 'static 'level-hint-control + :delay-before-playing #x384 + :id #x2aa + :num-attempts-before-playing 1 + :num-success-before-killing 1 + ) + (new 'static 'level-hint-control + :delay-before-playing #x5dc + :id #x33a + :num-attempts-before-playing 1 + :num-success-before-killing 1 + ) + (new 'static 'level-hint-control + :delay-before-playing #x1194 + :id #x34b + :num-attempts-before-playing 3 + :num-success-before-killing 2 + ) + (new 'static 'level-hint-control + :delay-before-playing #x4650 + :id #x34a + :num-attempts-before-playing 3 + :num-success-before-killing -1 + ) + (new 'static 'level-hint-control :id #x34d :num-attempts-before-playing 3 :num-success-before-killing -1) + (new 'static 'level-hint-control :id #x345 :num-attempts-before-playing 3 :num-success-before-killing 2) + (new 'static 'level-hint-control :id #x352 :num-attempts-before-playing 1 :num-success-before-killing 1) + (new 'static 'level-hint-control + :delay-before-playing #x2328 + :id #x347 + :num-attempts-before-playing 3 + :num-success-before-killing 1 + ) + (new 'static 'level-hint-control :id #x34e :num-attempts-before-playing 3 :num-success-before-killing -1) + (new 'static 'level-hint-control :id #x444 :num-attempts-before-playing 5 :num-success-before-killing -1) + (new 'static 'level-hint-control + :delay-before-playing #x384 + :id #x438 + :num-attempts-before-playing 1 + :num-success-before-killing -1 + ) + (new 'static 'level-hint-control :id #x433 :num-attempts-before-playing 4 :num-success-before-killing -1) + (new 'static 'level-hint-control :id #x70d :num-attempts-before-playing 1 :num-success-before-killing 2) + (new 'static 'level-hint-control + :delay-before-playing #x5dc + :id #x806 + :num-attempts-before-playing 1 + :num-success-before-killing 1 + ) + (new 'static 'level-hint-control + :delay-before-playing #x5dc + :id #x809 + :num-attempts-before-playing 1 + :num-success-before-killing 1 + ) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *game-info* task-hint-control) - (new - 'static - 'boxed-array - :type task-hint-control-group :length 16 :allocated-length 16 - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 3 :allocated-length 3 - (new 'static 'task-hint-control - :task (game-task training-gimmie) - :delay #x2bf20 +(set! (-> *game-info* task-hint-control) + (new + 'static + 'boxed-array + :type task-hint-control-group :length 16 :allocated-length 16 + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 3 :allocated-length 3 + (new 'static 'task-hint-control :task (game-task training-gimmie) :delay #x2bf20) + (new 'static 'task-hint-control :task (game-task training-door) :delay #x57e40) + (new 'static 'task-hint-control :task (game-task training-climb) :delay #x83d60) + ) + ) + (new 'static 'task-hint-control-group) + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 3 :allocated-length 3 + (new 'static 'task-hint-control :task (game-task beach-gimmie) :delay #x41eb0) + (new 'static 'task-hint-control :task (game-task beach-sentinel) :delay #x83d60) + (new 'static 'task-hint-control :task (game-task beach-cannon) :delay #xc5c10) + ) + ) + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 2 :allocated-length 2 + (new 'static 'task-hint-control :task (game-task jungle-plant) :delay #x57e40) + (new 'static 'task-hint-control :task (game-task jungle-canyon-end) :delay #xafc80) + ) + ) + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 4 :allocated-length 4 + (new 'static 'task-hint-control :task (game-task misty-boat) :delay #x57e40) + (new 'static 'task-hint-control :task (game-task misty-warehouse) :delay #x83d60) + (new 'static 'task-hint-control :task (game-task misty-bike-jump) :delay #xafc80) + (new 'static 'task-hint-control :task (game-task misty-eco-challenge) :delay #xdbba0) + ) + ) + (new 'static 'task-hint-control-group) + (new 'static 'task-hint-control-group) + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 3 :allocated-length 3 + (new 'static 'task-hint-control :task (game-task sunken-spinning-room) :delay #x57e40) + (new 'static 'task-hint-control :task (game-task sunken-sharks) :delay #x83d60) + (new 'static 'task-hint-control :task (game-task sunken-slide) :delay #xafc80) + ) + ) + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 1 :allocated-length 1 + (new 'static 'task-hint-control :task (game-task swamp-battle) :delay #xafc80) + ) + ) + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 1 :allocated-length 1 + (new 'static 'task-hint-control :task (game-task rolling-lake) :delay #xafc80) + ) + ) + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 1 :allocated-length 1 + (new 'static 'task-hint-control :task (game-task ogre-secret) :delay #x107ac0) + ) + ) + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 1 :allocated-length 1 + (new 'static 'task-hint-control :task (game-task village3-extra1) :delay #x107ac0) + ) + ) + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 4 :allocated-length 4 + (new 'static 'task-hint-control :task (game-task snow-bumpers) :delay #x57e40) + (new 'static 'task-hint-control :task (game-task snow-cage) :delay #x83d60) + (new 'static 'task-hint-control :task (game-task snow-ball) :delay #xafc80) + (new 'static 'task-hint-control :task (game-task snow-bunnies) :delay #xdbba0) + ) + ) + (new 'static 'task-hint-control-group + :tasks + (new + 'static + 'boxed-array + :type task-hint-control :length 4 :allocated-length 4 + (new 'static 'task-hint-control :task (game-task cave-dark-climb) :delay #x57e40) + (new 'static 'task-hint-control :task (game-task cave-robot-climb) :delay #x83d60) + (new 'static 'task-hint-control :task (game-task cave-swing-poles) :delay #xafc80) + (new 'static 'task-hint-control :task (game-task cave-platforms) :delay #xdbba0) + ) + ) + (new 'static 'task-hint-control-group) + (new 'static 'task-hint-control-group) + ) ) - (new 'static 'task-hint-control - :task (game-task training-door) - :delay #x57e40 - ) - (new 'static 'task-hint-control - :task (game-task training-climb) - :delay #x83d60 - ) - ) - ) - (new 'static 'task-hint-control-group) - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 3 :allocated-length 3 - (new 'static 'task-hint-control - :task (game-task beach-gimmie) - :delay #x41eb0 - ) - (new 'static 'task-hint-control - :task (game-task beach-sentinel) - :delay #x83d60 - ) - (new 'static 'task-hint-control - :task (game-task beach-cannon) - :delay #xc5c10 - ) - ) - ) - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 2 :allocated-length 2 - (new 'static 'task-hint-control - :task (game-task jungle-plant) - :delay #x57e40 - ) - (new 'static 'task-hint-control - :task (game-task jungle-canyon-end) - :delay #xafc80 - ) - ) - ) - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 4 :allocated-length 4 - (new 'static 'task-hint-control - :task (game-task misty-boat) - :delay #x57e40 - ) - (new 'static 'task-hint-control - :task (game-task misty-warehouse) - :delay #x83d60 - ) - (new 'static 'task-hint-control - :task (game-task misty-bike-jump) - :delay #xafc80 - ) - (new 'static 'task-hint-control - :task (game-task misty-eco-challenge) - :delay #xdbba0 - ) - ) - ) - (new 'static 'task-hint-control-group) - (new 'static 'task-hint-control-group) - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 3 :allocated-length 3 - (new 'static 'task-hint-control - :task (game-task sunken-spinning-room) - :delay #x57e40 - ) - (new 'static 'task-hint-control - :task (game-task sunken-sharks) - :delay #x83d60 - ) - (new 'static 'task-hint-control - :task (game-task sunken-slide) - :delay #xafc80 - ) - ) - ) - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 - (new 'static 'task-hint-control - :task (game-task swamp-battle) - :delay #xafc80 - ) - ) - ) - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 - (new 'static 'task-hint-control - :task (game-task rolling-lake) - :delay #xafc80 - ) - ) - ) - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 - (new 'static 'task-hint-control - :task (game-task ogre-secret) - :delay #x107ac0 - ) - ) - ) - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 1 :allocated-length 1 - (new 'static 'task-hint-control - :task (game-task village3-extra1) - :delay #x107ac0 - ) - ) - ) - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 4 :allocated-length 4 - (new 'static 'task-hint-control - :task (game-task snow-bumpers) - :delay #x57e40 - ) - (new 'static 'task-hint-control :task (game-task snow-cage) :delay #x83d60) - (new 'static 'task-hint-control :task (game-task snow-ball) :delay #xafc80) - (new 'static 'task-hint-control - :task (game-task snow-bunnies) - :delay #xdbba0 - ) - ) - ) - (new 'static 'task-hint-control-group - :tasks - (new - 'static - 'boxed-array - :type task-hint-control :length 4 :allocated-length 4 - (new 'static 'task-hint-control - :task (game-task cave-dark-climb) - :delay #x57e40 - ) - (new 'static 'task-hint-control - :task (game-task cave-robot-climb) - :delay #x83d60 - ) - (new 'static 'task-hint-control - :task (game-task cave-swing-poles) - :delay #xafc80 - ) - (new 'static 'task-hint-control - :task (game-task cave-platforms) - :delay #xdbba0 - ) - ) - ) - (new 'static 'task-hint-control-group) - (new 'static 'task-hint-control-group) - ) - ) ;; definition for function find-hint-control-index (defun find-hint-control-index ((arg0 game-text-id)) (let ((gp-0 -1)) - (let ((v1-2 (length (-> *game-info* hint-control)))) - (dotimes (a0-2 v1-2) - (when (= (-> *game-info* hint-control a0-2 id) arg0) - (set! gp-0 a0-2) - (set! a0-2 v1-2) + (let ((v1-2 (length (-> *game-info* hint-control)))) + (dotimes (a0-2 v1-2) + (when (= (-> *game-info* hint-control a0-2 id) arg0) + (set! gp-0 a0-2) + (set! a0-2 v1-2) + ) + ) ) - ) + gp-0 ) - gp-0 - ) ) ;; definition for function start-hint-timer ;; INFO: Return type mismatch int vs none. (defun start-hint-timer ((arg0 game-text-id)) (let ((v1-0 (find-hint-control-index arg0))) - (when - (and - (>= v1-0 0) - (zero? (-> *game-info* hint-control v1-0 start-time)) - (!= (-> *game-info* hint-control v1-0 num-attempts-before-playing) 1) - ) - (set! - (-> *game-info* hint-control v1-0 start-time) - (-> *display* base-frame-counter) - ) - 0 + (when (and + (>= v1-0 0) + (zero? (-> *game-info* hint-control v1-0 start-time)) + (!= (-> *game-info* hint-control v1-0 num-attempts-before-playing) 1) + ) + (set! (-> *game-info* hint-control v1-0 start-time) (-> *display* base-frame-counter)) + 0 + ) ) - ) 0 (none) ) @@ -395,14 +258,13 @@ ;; INFO: Return type mismatch int vs none. (defun increment-success-for-hint ((arg0 game-text-id)) (let ((gp-0 (find-hint-control-index arg0))) - (when (>= gp-0 0) - (set! - (-> *game-info* hint-control gp-0 num-success) - (seekl (-> *game-info* hint-control gp-0 num-success) 127 1) - ) - 0 + (when (>= gp-0 0) + (set! (-> *game-info* hint-control gp-0 num-success) + (seekl (-> *game-info* hint-control gp-0 num-success) 127 1) + ) + 0 + ) ) - ) 0 (none) ) @@ -411,128 +273,104 @@ ;; WARN: disable def twice: 139. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. (defun can-hint-be-played? ((arg0 game-text-id) (arg1 entity) (arg2 string)) (let ((v1-0 (not (str-is-playing?)))) - (if (and v1-0 (nonzero? arg0)) - (set! v1-0 (not (seen-text? *game-info* arg0))) - ) - (when v1-0 - (when *hint-semaphore* - (set! - v1-0 - (dummy-15 (the-as level-hint (ppointer->process *hint-semaphore*))) - ) - 0 - ) - (when - (and - v1-0 - (< - (- (-> *display* base-frame-counter) (-> *game-info* hint-play-time)) - 30 - ) - ) - (set! v1-0 #f) - 0 - ) - (set! - v1-0 - (and - v1-0 - (not (-> *setting-control* current talking)) - (not (-> *setting-control* current spooling)) - (not (-> *setting-control* current hint)) - (not (-> *setting-control* current ambient)) - (>= (-> *display* base-frame-counter) (-> *game-info* blackout-time)) - ) - ) - 0 - ) - (cond - (v1-0 - (let ((v1-16 (find-hint-control-index arg0))) - (cond - ((< v1-16 0) - #t + (if (and v1-0 (nonzero? arg0)) + (set! v1-0 (not (seen-text? *game-info* arg0))) ) - (else - (let ((gp-1 (-> *game-info* hint-control v1-16)) - (a0-24 - (- - (-> *display* base-frame-counter) - (-> *game-info* hint-control v1-16 last-time-called) - ) - ) - (v1-21 #t) - ) - (if (and (= (-> gp-1 num-attempts-before-playing) 1) (< a0-24 30)) - (+! (-> gp-1 start-time) a0-24) - ) - (cond - ((and - (!= (-> gp-1 num-attempts-before-playing) 1) - (nonzero? (-> gp-1 last-time-called)) - (< - (- (-> *display* base-frame-counter) (-> gp-1 last-time-called)) - 150 - ) + (when v1-0 + (when *hint-semaphore* + (set! v1-0 (dummy-15 (the-as level-hint (ppointer->process *hint-semaphore*)))) + 0 + ) + (when (and v1-0 (< (- (-> *display* base-frame-counter) (-> *game-info* hint-play-time)) 30)) + (set! v1-0 #f) + 0 + ) + (set! v1-0 (and + v1-0 + (not (-> *setting-control* current talking)) + (not (-> *setting-control* current spooling)) + (not (-> *setting-control* current hint)) + (not (-> *setting-control* current ambient)) + (>= (-> *display* base-frame-counter) (-> *game-info* blackout-time)) + ) ) - (set! (-> gp-1 last-time-called) (-> *display* base-frame-counter)) - #f - ) - (else - (set! (-> gp-1 last-time-called) (-> *display* base-frame-counter)) - (when (nonzero? (-> gp-1 delay-before-playing)) - (if - (< - (-> gp-1 start-time) - (the-as int (-> gp-1 delay-before-playing)) - ) - (set! v1-21 #f) - ) - 0 - ) - (cond - (v1-21 - (set! (-> gp-1 num-attempts) (seekl (-> gp-1 num-attempts) 127 1)) - (and - (>= (-> gp-1 num-attempts) (-> gp-1 num-attempts-before-playing)) - (or - (= (-> gp-1 num-success-before-killing) -1) - (< (-> gp-1 num-success) (-> gp-1 num-success-before-killing)) - ) - ) + 0 + ) + (cond + (v1-0 + (let ((v1-16 (find-hint-control-index arg0))) + (cond + ((< v1-16 0) + #t ) (else - #f - ) + (let ((gp-1 (-> *game-info* hint-control v1-16)) + (a0-24 (- (-> *display* base-frame-counter) (-> *game-info* hint-control v1-16 last-time-called))) + (v1-21 #t) + ) + (if (and (= (-> gp-1 num-attempts-before-playing) 1) (< a0-24 30)) + (+! (-> gp-1 start-time) a0-24) + ) + (cond + ((and + (!= (-> gp-1 num-attempts-before-playing) 1) + (nonzero? (-> gp-1 last-time-called)) + (< (- (-> *display* base-frame-counter) (-> gp-1 last-time-called)) 150) + ) + (set! (-> gp-1 last-time-called) (-> *display* base-frame-counter)) + #f + ) + (else + (set! (-> gp-1 last-time-called) (-> *display* base-frame-counter)) + (when (nonzero? (-> gp-1 delay-before-playing)) + (if (< (-> gp-1 start-time) (the-as int (-> gp-1 delay-before-playing))) + (set! v1-21 #f) + ) + 0 + ) + (cond + (v1-21 + (set! (-> gp-1 num-attempts) (seekl (-> gp-1 num-attempts) 127 1)) + (and + (>= (-> gp-1 num-attempts) (-> gp-1 num-attempts-before-playing)) + (or + (= (-> gp-1 num-success-before-killing) -1) + (< (-> gp-1 num-success) (-> gp-1 num-success-before-killing)) + ) + ) + ) + (else + #f + ) + ) + ) + ) + ) + ) ) - ) ) - ) ) - ) + (else + #f + ) ) - ) - (else - #f - ) ) - ) ) ;; definition for function reset-all-hint-controls ;; INFO: Return type mismatch int vs none. (defun reset-all-hint-controls () (let ((v1-2 (length (-> *game-info* hint-control)))) - (dotimes (a0-1 v1-2) - (let ((a1-2 (-> *game-info* hint-control a0-1))) - (set! (-> a1-2 start-time) 0) - (set! (-> a1-2 last-time-called) 0) - (set! (-> a1-2 num-attempts) 0) - (set! (-> a1-2 num-success) 0) - ) - 0 + (dotimes (a0-1 v1-2) + (let ((a1-2 (-> *game-info* hint-control a0-1))) + (set! (-> a1-2 start-time) 0) + (set! (-> a1-2 last-time-called) 0) + (set! (-> a1-2 num-attempts) 0) + (set! (-> a1-2 num-success) 0) + ) + 0 + ) ) - ) 0 (none) ) @@ -541,35 +379,32 @@ ;; INFO: Return type mismatch int vs none. (defun update-task-hints () (when *target* - (let ((a0-0 (+ (-> *target* current-level info index) -1)) - (v1-7 (-> *game-info* task-hint-control)) - ) - (when (and (>= a0-0 0) (< a0-0 (-> *level-task-data-remap* length))) - (let ((a0-3 (-> *level-task-data-remap* a0-0))) - (when (< a0-3 (-> v1-7 length)) - (let ((gp-0 (-> v1-7 a0-3 tasks))) - (when (and (!= gp-0 0) (nonzero? (-> gp-0 length))) - (let ((s5-0 (-> *game-info* in-level-time a0-3))) - (dotimes (s4-0 (-> gp-0 length)) - (case (get-task-status (-> gp-0 s4-0 task)) - (((task-status need-hint) (task-status unknown)) - (if (< (the-as uint (-> gp-0 s4-0 delay)) (the-as uint s5-0)) - (close-specific-task! - (-> gp-0 s4-0 task) - (task-status need-hint) + (let ((a0-0 (+ (-> *target* current-level info index) -1)) + (v1-7 (-> *game-info* task-hint-control)) + ) + (when (and (>= a0-0 0) (< a0-0 (-> *level-task-data-remap* length))) + (let ((a0-3 (-> *level-task-data-remap* a0-0))) + (when (< a0-3 (-> v1-7 length)) + (let ((gp-0 (-> v1-7 a0-3 tasks))) + (when (and (!= gp-0 0) (nonzero? (-> gp-0 length))) + (let ((s5-0 (-> *game-info* in-level-time a0-3))) + (dotimes (s4-0 (-> gp-0 length)) + (case (get-task-status (-> gp-0 s4-0 task)) + (((task-status need-hint) (task-status unknown)) + (if (< (the-as uint (-> gp-0 s4-0 delay)) (the-as uint s5-0)) + (close-specific-task! (-> gp-0 s4-0 task) (task-status need-hint)) + ) + ) + ) + ) + ) ) - ) ) ) - ) ) - ) ) - ) ) - ) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/game/task/process-taskable_REF.gc b/test/decompiler/reference/engine/game/task/process-taskable_REF.gc index 958158d4ca..be02486f87 100644 --- a/test/decompiler/reference/engine/game/task/process-taskable_REF.gc +++ b/test/decompiler/reference/engine/game/task/process-taskable_REF.gc @@ -5,31 +5,21 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 process-taskable ((obj process-taskable)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((a0-1 v1-1)) - (set! (-> a0-1 settings bot-plane w) (- -12288.0)) - ) - 0 - (set! (-> v1-1 settings top-plane w) (- 4096.0)) - 0 + (when v1-1 + (let ((a0-1 v1-1)) + (set! (-> a0-1 settings bot-plane w) (- -12288.0)) + ) + 0 + (set! (-> v1-1 settings top-plane w) (- 4096.0)) + 0 + ) ) - ) (none) ) ;; definition for method 9 of type gui-query ;; INFO: Return type mismatch int vs none. -(defmethod - init! - gui-query - ((obj gui-query) - (arg0 string) - (arg1 int) - (arg2 int) - (arg3 int) - (arg4 symbol) - (arg5 string) - ) +(defmethod init! gui-query ((obj gui-query) (arg0 string) (arg1 int) (arg2 int) (arg3 int) (arg4 symbol) (arg5 string)) (set! (-> obj x-position) arg1) (set! (-> obj y-position) arg2) (set! (-> obj message-space) arg3) @@ -47,211 +37,180 @@ (level-hint-surpress!) (hide-hud) (when (hud-hidden?) - (when (-> obj message) - (let - ((a1-2 - (new - 'stack - 'font-context - *font-default-matrix* - (-> obj x-position) - (-> obj y-position) - 0.0 - (font-color default) - (font-flags shadow kerning) - ) - ) - ) - (let ((v1-4 a1-2)) - (set! (-> v1-4 width) (the float (- 512 (-> obj x-position)))) - ) - (let ((v1-5 a1-2)) - (set! (-> v1-5 height) (the float 40)) - ) - (let ((v1-6 a1-2)) - (set! (-> v1-6 scale) 0.9) - ) - (set! (-> a1-2 flags) (font-flags shadow kerning left large)) - (print-game-text (-> obj message) a1-2 #f 128 22) - ) - ) - (cond - ((-> obj only-allow-cancel) - (when (-> obj no-msg) - (clear *temp-string*) - (format *temp-string* "; = ~S" (-> obj no-msg)) - (let* - ((s4-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s5-0 (-> s4-0 base)) - ) - (draw-string-xy - *temp-string* - s4-0 - (-> obj x-position) - (+ (-> obj y-position) 5 (-> obj message-space)) - (font-color default) - (font-flags shadow kerning large) - ) - (let ((a3-4 (-> s4-0 base))) - (let ((v1-17 (the-as object (-> s4-0 base)))) - (set! - (-> (the-as dma-packet v1-17) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + (when (-> obj message) + (let ((a1-2 (new + 'stack + 'font-context + *font-default-matrix* + (-> obj x-position) + (-> obj y-position) + 0.0 + (font-color default) + (font-flags shadow kerning) + ) + ) + ) + (let ((v1-4 a1-2)) + (set! (-> v1-4 width) (the float (- 512 (-> obj x-position)))) ) - (set! (-> (the-as dma-packet v1-17) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-17) vif1) (new 'static 'vif-tag)) - (set! (-> s4-0 base) (&+ (the-as pointer v1-17) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s5-0 - (the-as (pointer dma-tag) a3-4) - ) + (let ((v1-5 a1-2)) + (set! (-> v1-5 height) (the float 40)) + ) + (let ((v1-6 a1-2)) + (set! (-> v1-6 scale) 0.9) + ) + (set! (-> a1-2 flags) (font-flags shadow kerning left large)) + (print-game-text (-> obj message) a1-2 #f 128 22) ) + ) + (cond + ((-> obj only-allow-cancel) + (when (-> obj no-msg) + (clear *temp-string*) + (format *temp-string* "; = ~S" (-> obj no-msg)) + (let* ((s4-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s5-0 (-> s4-0 base)) + ) + (draw-string-xy + *temp-string* + s4-0 + (-> obj x-position) + (+ (-> obj y-position) 5 (-> obj message-space)) + (font-color default) + (font-flags shadow kerning large) + ) + (let ((a3-4 (-> s4-0 base))) + (let ((v1-17 (the-as object (-> s4-0 base)))) + (set! (-> (the-as dma-packet v1-17) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-17) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-17) vif1) (new 'static 'vif-tag)) + (set! (-> s4-0 base) (&+ (the-as pointer v1-17) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s5-0 + (the-as (pointer dma-tag) a3-4) + ) + ) + ) + ) + ) + (else + (let* ((s4-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s5-1 (-> s4-1 base)) + ) + (draw-string-xy + (lookup-text! *common-text* (game-text-id confirm) #f) + s4-1 + (-> obj x-position) + (+ (-> obj y-position) 5 (-> obj message-space)) + (font-color default) + (font-flags shadow kerning large) + ) + (let ((a3-7 (-> s4-1 base))) + (let ((v1-29 (the-as object (-> s4-1 base)))) + (set! (-> (the-as dma-packet v1-29) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-29) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-29) vif1) (new 'static 'vif-tag)) + (set! (-> s4-1 base) (&+ (the-as pointer v1-29) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s5-1 + (the-as (pointer dma-tag) a3-7) + ) + ) + ) + ) + ) + (cond + ((!= (-> obj decision) 'undecided) + ) + ((and (cpad-pressed? 0 x) (not (-> obj only-allow-cancel))) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons x)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons x)) + (set! (-> obj decision) 'yes) + ) + ((cpad-pressed? 0 triangle) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons triangle)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons triangle)) + (set! (-> obj decision) 'no) ) ) - ) - (else - (let* - ((s4-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s5-1 (-> s4-1 base)) - ) - (draw-string-xy - (lookup-text! *common-text* (game-text-id confirm) #f) - s4-1 - (-> obj x-position) - (+ (-> obj y-position) 5 (-> obj message-space)) - (font-color default) - (font-flags shadow kerning large) - ) - (let ((a3-7 (-> s4-1 base))) - (let ((v1-29 (the-as object (-> s4-1 base)))) - (set! - (-> (the-as dma-packet v1-29) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-29) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-29) vif1) (new 'static 'vif-tag)) - (set! (-> s4-1 base) (&+ (the-as pointer v1-29) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s5-1 - (the-as (pointer dma-tag) a3-7) - ) - ) - ) - ) ) - (cond - ((!= (-> obj decision) 'undecided) - ) - ((and (cpad-pressed? 0 x) (not (-> obj only-allow-cancel))) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons x)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons x)) - (set! (-> obj decision) 'yes) - ) - ((cpad-pressed? 0 triangle) - (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons triangle)) - (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons triangle)) - (set! (-> obj decision) 'no) - ) - ) - ) (-> obj decision) ) ;; definition for method 7 of type process-taskable ;; INFO: Return type mismatch process-drawable vs process-taskable. (defmethod relocate process-taskable ((obj process-taskable) (arg0 int)) - (the-as - process-taskable - ((method-of-type process-drawable relocate) obj arg0) - ) + (the-as process-taskable ((method-of-type process-drawable relocate) obj arg0)) ) ;; definition for method 46 of type process-taskable ;; INFO: Return type mismatch int vs none. (defmethod dummy-46 process-taskable ((obj process-taskable)) (with-pp - (when (nonzero? (-> obj sound-flava)) - (let - ((s5-1 - (vector-! - (new 'stack-no-clear 'vector) - (target-pos 0) - (the-as vector (-> obj root-override root-prim prim-core)) + (when (nonzero? (-> obj sound-flava)) + (let ((s5-1 (vector-! + (new 'stack-no-clear 'vector) + (target-pos 0) + (the-as vector (-> obj root-override root-prim prim-core)) + ) + ) + ) + (set! (-> s5-1 y) (* 4.0 (-> s5-1 y))) + (cond + ((< (vector-length s5-1) 102400.0) + (when (not (-> obj have-flava)) + (set! (-> obj have-flava) #t) + (set-setting! *setting-control* pp 'sound-flava #f 20.0 (the-as int (-> obj sound-flava))) + ) + ) + ((-> obj have-flava) + (clear-pending-settings-from-process *setting-control* pp 'sound-flava) + (set! (-> obj have-flava) #f) + ) + ) ) - ) ) - (set! (-> s5-1 y) (* 4.0 (-> s5-1 y))) - (cond - ((< (vector-length s5-1) 102400.0) - (when (not (-> obj have-flava)) - (set! (-> obj have-flava) #t) - (set-setting! - *setting-control* - pp - 'sound-flava - #f - 20.0 - (the-as int (-> obj sound-flava)) - ) + (when (-> obj music) + (let ((s5-3 (vector-! + (new 'stack-no-clear 'vector) + (target-pos 0) + (the-as vector (-> obj root-override root-prim prim-core)) + ) + ) + ) + (set! (-> s5-3 y) (* 4.0 (-> s5-3 y))) + (cond + ((< (vector-length s5-3) 102400.0) + (when (not (-> obj have-music)) + (set! (-> obj have-music) #t) + (set-setting! *setting-control* pp 'music (the-as symbol (-> obj music)) 0.0 0) + ) + ) + ((-> obj have-music) + (clear-pending-settings-from-process *setting-control* pp 'music) + (set! (-> obj have-music) #f) + ) + ) ) - ) - ((-> obj have-flava) - (clear-pending-settings-from-process *setting-control* pp 'sound-flava) - (set! (-> obj have-flava) #f) - ) ) - ) + 0 + (none) ) - (when (-> obj music) - (let - ((s5-3 - (vector-! - (new 'stack-no-clear 'vector) - (target-pos 0) - (the-as vector (-> obj root-override root-prim prim-core)) - ) - ) - ) - (set! (-> s5-3 y) (* 4.0 (-> s5-3 y))) - (cond - ((< (vector-length s5-3) 102400.0) - (when (not (-> obj have-music)) - (set! (-> obj have-music) #t) - (set-setting! - *setting-control* - pp - 'music - (the-as symbol (-> obj music)) - 0.0 - 0 - ) - ) - ) - ((-> obj have-music) - (clear-pending-settings-from-process *setting-control* pp 'music) - (set! (-> obj have-music) #f) - ) - ) - ) - ) - 0 - (none) - ) ) ;; definition for method 31 of type process-taskable ;; INFO: Return type mismatch art-joint-anim vs art-element. (defmethod get-art-elem process-taskable ((obj process-taskable)) (the-as art-element (if (> (-> obj skel active-channels) 0) - (-> obj skel root-channel 0 frame-group) - ) - ) + (-> obj skel root-channel 0 frame-group) + ) + ) ) ;; definition for method 32 of type process-taskable @@ -264,10 +223,10 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-33 process-taskable ((obj process-taskable)) (let ((s5-0 (play-anim! obj #f))) - (if (type-type? (-> s5-0 type) spool-anim) - (spool-push *art-control* (-> (the-as spool-anim s5-0) name) 0 obj -99.0) + (if (type-type? (-> s5-0 type) spool-anim) + (spool-push *art-control* (-> (the-as spool-anim s5-0) name) 0 obj -99.0) + ) ) - ) 0 (none) ) @@ -276,22 +235,19 @@ (defmethod close-anim-file! process-taskable ((obj process-taskable)) (let* ((gp-0 (play-anim! obj #f)) (v1-2 (if (and (nonzero? gp-0) (type-type? (-> gp-0 type) spool-anim)) - gp-0 - ) - ) + gp-0 + ) + ) ) - (if v1-2 - (file-status *art-control* (-> (the-as spool-anim v1-2) name) 0) + (if v1-2 + (file-status *art-control* (-> (the-as spool-anim v1-2) name) 0) + ) ) - ) ) ;; definition for method 34 of type process-taskable ;; INFO: Return type mismatch symbol vs spool-anim. -(defmethod - get-accept-anim - process-taskable - ((obj process-taskable) (arg0 symbol)) +(defmethod get-accept-anim process-taskable ((obj process-taskable) (arg0 symbol)) (the-as spool-anim #f) ) @@ -299,20 +255,17 @@ ;; INFO: Return type mismatch int vs none. (defmethod push-accept-anim process-taskable ((obj process-taskable)) (let ((s5-0 (get-accept-anim obj #f))) - (if (type-type? (-> s5-0 type) spool-anim) - (spool-push *art-control* (-> s5-0 name) 0 obj -99.0) + (if (type-type? (-> s5-0 type) spool-anim) + (spool-push *art-control* (-> s5-0 name) 0 obj -99.0) + ) ) - ) 0 (none) ) ;; definition for method 36 of type process-taskable ;; INFO: Return type mismatch symbol vs spool-anim. -(defmethod - get-reject-anim - process-taskable - ((obj process-taskable) (arg0 symbol)) +(defmethod get-reject-anim process-taskable ((obj process-taskable) (arg0 symbol)) (the-as spool-anim #f) ) @@ -320,10 +273,10 @@ ;; INFO: Return type mismatch int vs none. (defmethod push-reject-anim process-taskable ((obj process-taskable)) (let ((s5-0 (get-reject-anim obj #f))) - (if (type-type? (-> s5-0 type) spool-anim) - (spool-push *art-control* (-> s5-0 name) 0 obj -99.0) + (if (type-type? (-> s5-0 type) spool-anim) + (spool-push *art-control* (-> s5-0 name) 0 obj -99.0) + ) ) - ) 0 (none) ) @@ -332,8 +285,8 @@ ;; INFO: Return type mismatch object vs none. (defmethod dummy-38 process-taskable ((obj process-taskable)) (if (nonzero? (-> obj cell-for-task)) - (go (method-of-object obj give-cell)) - ) + (go (method-of-object obj give-cell)) + ) (go (method-of-object obj release)) (none) ) @@ -341,29 +294,25 @@ ;; definition for function process-taskable-anim-loop (defbehavior process-taskable-anim-loop process-taskable () (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + (-> self skel root-channel 0 frame-group) + ) + (get-art-elem self) + ) + (ja-channel-push! 1 60) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + ) ) - ) (while #t - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 1.0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-loop! - ) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) 1.0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) + ) + (if (= (-> self next-state name) 'idle) + (TODO-RENAME-43 self) + ) ) - (if (= (-> self next-state name) 'idle) - (TODO-RENAME-43 self) - ) - ) (the-as none 0) (none) ) @@ -373,17 +322,17 @@ :virtual #t :trans (behavior () - (when (process-release? *target*) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (if (should-display? self) - (go-virtual idle) - (go-virtual hidden) - ) + (when (process-release? *target*) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (if (should-display? self) + (go-virtual idle) + (go-virtual hidden) + ) + ) + (dummy-33 self) + ((-> self cur-trans-hook)) + (none) ) - (dummy-33 self) - ((-> self cur-trans-hook)) - (none) - ) :code process-taskable-anim-loop :post @@ -395,32 +344,32 @@ :virtual #t :trans (behavior () - (cond - ((nonzero? (-> self cell-for-task)) - (let ((gp-0 (handle->process (-> self cell-x)))) - (when gp-0 - (send-event *target* 'trans 'reset) - (send-event gp-0 'pickup (target-pos 0)) - (go-virtual idle) + (cond + ((nonzero? (-> self cell-for-task)) + (let ((gp-0 (handle->process (-> self cell-x)))) + (when gp-0 + (send-event *target* 'trans 'reset) + (send-event gp-0 'pickup (target-pos 0)) + (go-virtual idle) + ) + ) + (format #t "ERROR: ~S no cell spawned~%" (-> self name)) + (send-event *target* 'get-pickup 6 (the float (-> self cell-for-task))) ) + (else + (format + #t + "ERROR: ~S got into give-cell with give-cell == #f task = ~S~%" + (-> self name) + (game-task->string (current-task (-> self tasks))) + ) + ) ) - (format #t "ERROR: ~S no cell spawned~%" (-> self name)) - (send-event *target* 'get-pickup 6 (the float (-> self cell-for-task))) - ) - (else - (format - #t - "ERROR: ~S got into give-cell with give-cell == #f task = ~S~%" - (-> self name) - (game-task->string (current-task (-> self tasks))) - ) - ) + (go-virtual release) + (dummy-33 self) + ((-> self cur-trans-hook)) + (none) ) - (go-virtual release) - (dummy-33 self) - ((-> self cur-trans-hook)) - (none) - ) :code process-taskable-anim-loop :post @@ -431,31 +380,21 @@ (defstate lose (process-taskable) :virtual #t :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (if - (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 1500) - (or - (not *target*) - (< - 20480.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) + (if (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 1500) + (or + (not *target*) + (< 20480.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + ) + ) + (go-virtual idle) ) - ) - ) - ) - (go-virtual idle) + ((-> self cur-trans-hook)) + (none) ) - ((-> self cur-trans-hook)) - (none) - ) :code process-taskable-anim-loop :post @@ -476,35 +415,17 @@ (init! (-> self query) (the-as string #f) 40 150 25 #t (the-as string #f)) (logior! (-> self skel status) 8) (let ((gp-0 (get-process *default-dead-pool* othercam #x4000))) - (set! (-> self camera) (ppointer->handle (when gp-0 - (let - ((t9-2 - (method-of-type - othercam - activate - ) - ) - ) - (t9-2 - (the-as othercam gp-0) - self - 'othercam - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - othercam-init-by-other - self - (-> self cam-joint-index) - #f - #t - ) - (-> gp-0 ppointer) - ) - ) + (set! (-> self camera) + (ppointer->handle (when gp-0 + (let ((t9-2 (method-of-type othercam activate))) + (t9-2 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 othercam-init-by-other self (-> self cam-joint-index) #f #t) + (-> gp-0 ppointer) + ) + ) + ) ) - ) (set! (-> self cell-for-task) (game-task none)) (set! (-> self skippable) #f) (set! (-> self blend-on-exit) #f) @@ -516,10 +437,10 @@ (defbehavior process-taskable-play-anim-exit process-taskable () (set! (-> self skel status) (logand -9 (-> self skel status))) (let ((a0-4 (handle->process (-> self camera)))) - (if a0-4 - (deactivate a0-4) + (if a0-4 + (deactivate a0-4) + ) ) - ) (set! (-> self last-talk) (the-as uint (-> *display* game-frame-counter))) (dummy-52 self) (none) @@ -528,251 +449,177 @@ ;; definition for function process-taskable-play-anim-trans (defbehavior process-taskable-play-anim-trans process-taskable () (if (nonzero? *camera-look-through-other*) - (set! *camera-look-through-other* 2) - ) + (set! *camera-look-through-other* 2) + ) (set-letterbox-frames 5) (draw-npc-shadow self) (none) ) ;; definition for function process-taskable-play-anim-code -(defbehavior - process-taskable-play-anim-code process-taskable - ((arg0 art-joint-anim) (arg1 basic)) +(defbehavior process-taskable-play-anim-code process-taskable ((arg0 art-joint-anim) (arg1 basic)) (when (nonzero? (-> self cell-for-task)) - (cond - ((name= (-> self state name) "play-anim") - (let ((s4-0 (get-process *default-dead-pool* fuel-cell #x4000))) - (set! (-> self cell-x) (ppointer->handle (when s4-0 - (let - ((t9-2 - (method-of-type - fuel-cell - activate - ) - ) - ) - (t9-2 - (the-as fuel-cell s4-0) - self - 'fuel-cell - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s4-0 - fuel-cell-init-as-clone - (process->handle self) - (-> self cell-for-task) - ) - (-> s4-0 ppointer) - ) - ) + (cond + ((name= (-> self state name) "play-anim") + (let ((s4-0 (get-process *default-dead-pool* fuel-cell #x4000))) + (set! (-> self cell-x) + (ppointer->handle + (when s4-0 + (let ((t9-2 (method-of-type fuel-cell activate))) + (t9-2 (the-as fuel-cell s4-0) self 'fuel-cell (the-as pointer #x70004000)) + ) + (run-now-in-process s4-0 fuel-cell-init-as-clone (process->handle self) (-> self cell-for-task)) + (-> s4-0 ppointer) + ) + ) + ) + ) ) + (else + (format #t "ERROR: ~S ~S trying to give cell on release~%" (-> self name) (-> self state name)) + ) ) + ) + (cond + ((and arg1 (type-type? (-> arg1 type) spool-anim)) + (when *target* + (while (let ((a1-9 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-9 from) self) + (set! (-> a1-9 num-params) 1) + (set! (-> a1-9 message) 'clone-anim) + (set! (-> a1-9 param 0) (the-as uint self)) + (not (send-event-function *target* a1-9)) + ) + (spool-push *art-control* (-> (the-as spool-anim arg1) name) 0 self -99.0) + (format #t "WARNING: ~A stall on not cloning.~%" (-> self name)) + (suspend) + ) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + ) + (push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) + (push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) + (push-setting! + *setting-control* + self + 'ambient-volume + 'rel + (-> *setting-control* current ambient-volume-movie) + 0 + ) + (if (-> self blend-on-exit) + (set! (-> self blend-on-exit) arg0) + ) + (if (and *debug-segment* *cheat-mode*) + (ja-play-spooled-anim + (the-as spool-anim arg1) + arg0 + (the-as art-joint-anim (-> self blend-on-exit)) + (lambda ((arg0 process-taskable)) (= (get-response (-> arg0 query)) 'no)) + ) + (ja-play-spooled-anim + (the-as spool-anim arg1) + arg0 + (the-as art-joint-anim (-> self blend-on-exit)) + (the-as (function process-drawable symbol) false-func) + ) + ) + (clear-pending-settings-from-process *setting-control* self 'music-volume) + (clear-pending-settings-from-process *setting-control* self 'sfx-volume) + (clear-pending-settings-from-process *setting-control* self 'ambient-volume) + (send-event *target* 'blend-shape #f) ) (else - (format - #t - "ERROR: ~S ~S trying to give cell on release~%" - (-> self name) - (-> self state name) - ) - ) - ) - ) - (cond - ((and arg1 (type-type? (-> arg1 type) spool-anim)) - (when *target* - (while (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 1) - (set! (-> a1-9 message) 'clone-anim) - (set! (-> a1-9 param 0) (the-as uint self)) - (not (send-event-function *target* a1-9)) - ) - (spool-push *art-control* (-> (the-as spool-anim arg1) name) 0 self -99.0) - (format #t "WARNING: ~A stall on not cloning.~%" (-> self name)) - (suspend) - ) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - ) - (push-setting! - *setting-control* - self - 'music-volume - 'rel - (-> *setting-control* current music-volume-movie) - 0 - ) - (push-setting! - *setting-control* - self - 'sfx-volume - 'rel - (-> *setting-control* current sfx-volume-movie) - 0 - ) - (push-setting! - *setting-control* - self - 'ambient-volume - 'rel - (-> *setting-control* current ambient-volume-movie) - 0 - ) - (if (-> self blend-on-exit) - (set! (-> self blend-on-exit) arg0) - ) - (if (and *debug-segment* *cheat-mode*) - (ja-play-spooled-anim - (the-as spool-anim arg1) - arg0 - (the-as art-joint-anim (-> self blend-on-exit)) - (lambda ((arg0 process-taskable)) - (= (get-response (-> arg0 query)) 'no) - ) - ) - (ja-play-spooled-anim - (the-as spool-anim arg1) - arg0 - (the-as art-joint-anim (-> self blend-on-exit)) - (the-as (function process-drawable symbol) false-func) - ) - ) - (clear-pending-settings-from-process *setting-control* self 'music-volume) - (clear-pending-settings-from-process *setting-control* self 'sfx-volume) - (clear-pending-settings-from-process *setting-control* self 'ambient-volume) - (send-event *target* 'blend-shape #f) - ) - (else - (when (not arg1) - (format - #t - "ERROR: ~S ~S got #f from anim picker~%" - (-> self name) - (-> self state name) - ) - (set! arg1 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (when (not (type-type? (-> arg1 type) art-joint-anim)) - (format - 0 - "ERROR: ~S ~S anim picker didn't return spool-anim or joint-art-anim (probably need to override it)~%" - (-> self name) - (-> self state name) - ) - (set! arg1 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (format - #t - "~S ~S anim ~S~%" - (-> self name) - (-> self state name) - (-> (the-as art-joint-anim arg1) name) - ) - (ja-channel-push! 1 60) - (set! - (-> self skel root-channel 0 frame-group) - (the-as art-joint-anim arg1) - ) - (when (< (ja-num-frames 0) 3) - (suspend) - (suspend) - 0 - ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-30 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! - a0-30 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (when (and *debug-segment* (= (get-response (-> self query)) 'no)) - (let ((v1-106 (-> self skel root-channel 0))) - (set! (-> v1-106 num-func) num-func-identity) - (set! - (-> v1-106 frame-num) - (the float (+ (-> v1-106 frame-group data 0 length) -1)) + (when (not arg1) + (format #t "ERROR: ~S ~S got #f from anim picker~%" (-> self name) (-> self state name)) + (set! arg1 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) ) - ) + (when (not (type-type? (-> arg1 type) art-joint-anim)) + (format + 0 + "ERROR: ~S ~S anim picker didn't return spool-anim or joint-art-anim (probably need to override it)~%" + (-> self name) + (-> self state name) + ) + (set! arg1 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (format #t "~S ~S anim ~S~%" (-> self name) (-> self state name) (-> (the-as art-joint-anim arg1) name)) + (ja-channel-push! 1 60) + (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim arg1)) + (when (< (ja-num-frames 0) 3) + (suspend) + (suspend) + 0 + ) + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-30 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-30 param 1) 1.0) + (set! (-> a0-30 frame-num) 0.0) + (joint-control-channel-group! + a0-30 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (when (and *debug-segment* (= (get-response (-> self query)) 'no)) + (let ((v1-106 (-> self skel root-channel 0))) + (set! (-> v1-106 num-func) num-func-identity) + (set! (-> v1-106 frame-num) (the float (+ (-> v1-106 frame-group data 0 length) -1))) + ) + ) + (suspend) + (let ((a0-38 (-> self skel root-channel 0))) + (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) + (set! (-> a0-38 param 1) 1.0) + (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + #f ) - (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! - (-> a0-38 param 0) - (the float (+ (-> a0-38 frame-group data 0 length) -1)) - ) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! - a0-38 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - #f ) - ) ) ;; failed to figure out what this is: (defstate play-accept (process-taskable) :virtual #t :enter - (the-as - (function none :behavior process-taskable) - process-taskable-play-anim-enter - ) + (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) :exit process-taskable-play-anim-exit :trans - (behavior () - (process-taskable-play-anim-trans) - ((-> self cur-trans-hook)) - (none) - ) + (behavior () (process-taskable-play-anim-trans) ((-> self cur-trans-hook)) (none)) :code (behavior () - (process-taskable-play-anim-code - (the-as art-joint-anim (get-art-elem self)) - (get-accept-anim self #t) + (process-taskable-play-anim-code (the-as art-joint-anim (get-art-elem self)) (get-accept-anim self #t)) + (while (not (process-release? *target*)) + (suspend) + ) + (go-virtual enter-playing) + (none) ) - (while (not (process-release? *target*)) - (suspend) - ) - (go-virtual enter-playing) - (none) - ) :post (the-as (function none :behavior process-taskable) ja-post) ) @@ -781,27 +628,17 @@ (defstate play-reject (process-taskable) :virtual #t :enter - (the-as - (function none :behavior process-taskable) - process-taskable-play-anim-enter - ) + (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) :exit process-taskable-play-anim-exit :trans - (behavior () - (process-taskable-play-anim-trans) - ((-> self cur-trans-hook)) - (none) - ) + (behavior () (process-taskable-play-anim-trans) ((-> self cur-trans-hook)) (none)) :code (behavior () - (process-taskable-play-anim-code - (the-as art-joint-anim (get-art-elem self)) - (get-reject-anim self #t) + (process-taskable-play-anim-code (the-as art-joint-anim (get-art-elem self)) (get-reject-anim self #t)) + (go-virtual release) + (none) ) - (go-virtual release) - (none) - ) :post (the-as (function none :behavior process-taskable) ja-post) ) @@ -811,51 +648,51 @@ :virtual #t :enter (behavior () - (init! - (-> self query) - (lookup-text! *common-text* (game-text-id confirm-play) #f) - 40 - 150 - 25 - #f - (lookup-text! *common-text* (game-text-id quit) #f) + (init! + (-> self query) + (lookup-text! *common-text* (game-text-id confirm-play) #f) + 40 + 150 + 25 + #f + (lookup-text! *common-text* (game-text-id quit) #f) + ) + (none) ) - (none) - ) :exit process-taskable-play-anim-exit :trans (behavior () - (case (current-status (-> self tasks)) - (((task-status need-reminder-a)) - (case (get-response (-> self query)) - (('yes) - (go-virtual play-accept) + (case (current-status (-> self tasks)) + (((task-status need-reminder-a)) + (case (get-response (-> self query)) + (('yes) + (go-virtual play-accept) + ) + (('no) + (go-virtual play-reject) + ) ) - (('no) - (go-virtual play-reject) - ) + (push-accept-anim self) ) - (push-accept-anim self) - ) - (else - (let ((gp-0 (get-response (-> self query)))) - (cond - ((and (= gp-0 'yes) (process-release? *target*)) - (go-virtual enter-playing) + (else + (let ((gp-0 (get-response (-> self query)))) + (cond + ((and (= gp-0 'yes) (process-release? *target*)) + (go-virtual enter-playing) + ) + ((= gp-0 'no) + (go-virtual play-reject) + ) + ) + ) ) - ((= gp-0 'no) - (go-virtual play-reject) - ) - ) ) - ) + (push-reject-anim self) + (set! *camera-look-through-other* 2) + ((-> self cur-trans-hook)) + (none) ) - (push-reject-anim self) - (set! *camera-look-through-other* 2) - ((-> self cur-trans-hook)) - (none) - ) :code process-taskable-anim-loop :post @@ -867,63 +704,54 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('shadow) - (cond - ((-> arg3 param 0) - (let ((v0-0 (the-as object (-> self shadow-backup)))) - (set! (-> self draw shadow) (the-as shadow-geo v0-0)) - v0-0 + (case arg2 + (('shadow) + (cond + ((-> arg3 param 0) + (let ((v0-0 (the-as object (-> self shadow-backup)))) + (set! (-> self draw shadow) (the-as shadow-geo v0-0)) + v0-0 + ) + ) + (else + (set! (-> self draw shadow) #f) + #f + ) ) - ) - (else - (set! (-> self draw shadow) #f) - #f - ) + ) + (('shadow-min-max) + (let ((v1-5 (-> self draw shadow-ctrl))) + (let ((a0-4 v1-5)) + (set! (-> a0-4 settings bot-plane w) (- (the-as float (-> arg3 param 0)))) + ) + 0 + (set! (-> v1-5 settings top-plane w) (- (the-as float (-> arg3 param 1)))) + ) + 0 ) ) - (('shadow-min-max) - (let ((v1-5 (-> self draw shadow-ctrl))) - (let ((a0-4 v1-5)) - (set! - (-> a0-4 settings bot-plane w) - (- (the-as float (-> arg3 param 0))) - ) - ) - 0 - (set! (-> v1-5 settings top-plane w) (- (the-as float (-> arg3 param 1)))) - ) - 0 - ) ) - ) :enter - (the-as - (function none :behavior process-taskable) - process-taskable-play-anim-enter - ) + (the-as (function none :behavior process-taskable) process-taskable-play-anim-enter) :exit process-taskable-play-anim-exit :trans (behavior () - (process-taskable-play-anim-trans) - (let ((a3-0 (handle->process (-> self cell-x)))) - (if a3-0 - (spool-push *art-control* (-> self fuel-cell-anim name) 0 a3-0 -99.0) - ) + (process-taskable-play-anim-trans) + (let ((a3-0 (handle->process (-> self cell-x)))) + (if a3-0 + (spool-push *art-control* (-> self fuel-cell-anim name) 0 a3-0 -99.0) + ) + ) + ((-> self cur-trans-hook)) + (none) ) - ((-> self cur-trans-hook)) - (none) - ) :code (behavior () - (process-taskable-play-anim-code - (the-as art-joint-anim (get-art-elem self)) - (play-anim! self #t) + (process-taskable-play-anim-code (the-as art-joint-anim (get-art-elem self)) (play-anim! self #t)) + (dummy-38 self) + (none) ) - (dummy-38 self) - (none) - ) :post (the-as (function none :behavior process-taskable) ja-post) ) @@ -944,22 +772,20 @@ ;; definition for function process-taskable-hide-handler ;; INFO: Return type mismatch object vs none. -(defbehavior - process-taskable-hide-handler process-taskable - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('clone) +(defbehavior process-taskable-hide-handler process-taskable ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('clone) (go-virtual be-clone (the-as handle (-> arg3 param 0))) ) - (('play-anim) - (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self been-kicked) #t) - (go-virtual idle) + (('play-anim) + (logclear! (-> self mask) (process-mask actor-pause)) + (set! (-> self been-kicked) #t) + (go-virtual idle) + ) + (('hidden-other) + (go-virtual hidden-other) + ) ) - (('hidden-other) - (go-virtual hidden-other) - ) - ) (none) ) @@ -968,8 +794,8 @@ (defbehavior process-taskable-hide-enter process-taskable () (set! (-> self state-time) (-> *display* base-frame-counter)) (let ((v1-3 (-> self draw shadow-ctrl))) - (logior! (-> v1-3 settings flags) 32) - ) + (logior! (-> v1-3 settings flags) 32) + ) 0 (process-taskable-clean-up-after-talking) (clear-collide-with-as (-> self root-override)) @@ -981,22 +807,22 @@ ;; INFO: Return type mismatch int vs none. (defbehavior process-taskable-hide-exit process-taskable ((arg0 symbol)) (cond - (arg0 - (process-entity-status! self (entity-perm-status bit-3) #f) + (arg0 + (process-entity-status! self (entity-perm-status bit-3) #f) + ) + (else + (ja-channel-set! 1) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + ) + (restore-collide-with-as (-> self root-override)) + (process-entity-status! self (entity-perm-status bit-3) #t) + (let ((v1-7 (-> self draw shadow-ctrl))) + (set! (-> v1-7 settings flags) (logand -33 (-> v1-7 settings flags))) + ) + 0 + ) ) - (else - (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) - (restore-collide-with-as (-> self root-override)) - (process-entity-status! self (entity-perm-status bit-3) #t) - (let ((v1-7 (-> self draw shadow-ctrl))) - (set! (-> v1-7 settings flags) (logand -33 (-> v1-7 settings flags))) - ) - 0 - ) - ) (none) ) @@ -1005,29 +831,23 @@ :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior process-taskable) - process-taskable-hide-handler - ) + (function process int symbol event-message-block object :behavior process-taskable) + process-taskable-hide-handler + ) :enter - (the-as - (function none :behavior process-taskable) - process-taskable-hide-enter - ) + (the-as (function none :behavior process-taskable) process-taskable-hide-enter) :exit - (behavior () - (process-taskable-hide-exit (= (-> self next-state name) 'hidden)) - (none) - ) + (behavior () (process-taskable-hide-exit (= (-> self next-state name) 'hidden)) (none)) :trans (behavior () - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (process-entity-status! self (entity-perm-status bit-3) #f) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (process-entity-status! self (entity-perm-status bit-3) #f) + ) + (if (or (-> self been-kicked) (should-display? self)) + (go-virtual idle) + ) + (none) ) - (if (or (-> self been-kicked) (should-display? self)) - (go-virtual idle) - ) - (none) - ) :code (the-as (function none :behavior process-taskable) anim-loop) ) @@ -1036,24 +856,14 @@ ;; WARN: disable def twice: 4. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. (defmethod TODO-RENAME-50 process-taskable ((obj process-taskable)) (if *target* - (or - (not *target*) - (< - 245760.0 - (vector-vector-distance - (-> obj root-override trans) - (-> *target* control trans) + (or + (not *target*) + (< 245760.0 (vector-vector-distance (-> obj root-override trans) (-> *target* control trans))) + ) + (< 60397978000.0 + (vector-vector-distance-squared (the-as vector (-> obj root-override root-prim prim-core)) (camera-pos)) + ) ) - ) - ) - (< - 60397978000.0 - (vector-vector-distance-squared - (the-as vector (-> obj root-override root-prim prim-core)) - (camera-pos) - ) - ) - ) ) ;; failed to figure out what this is: @@ -1061,37 +871,31 @@ :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior process-taskable) - process-taskable-hide-handler - ) + (function process int symbol event-message-block object :behavior process-taskable) + process-taskable-hide-handler + ) :enter - (the-as - (function none :behavior process-taskable) - process-taskable-hide-enter - ) + (the-as (function none :behavior process-taskable) process-taskable-hide-enter) :exit - (behavior () - (process-taskable-hide-exit (= (-> self next-state name) 'hidden-other)) - (none) - ) + (behavior () (process-taskable-hide-exit (= (-> self next-state name) 'hidden-other)) (none)) :trans (behavior () - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (process-entity-status! self (entity-perm-status bit-3) #f) - ) - (cond - ((-> self been-kicked) - (go-virtual idle) - ) - ((TODO-RENAME-50 self) - (if (should-display? self) - (go-virtual idle) - (go-virtual hidden) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (process-entity-status! self (entity-perm-status bit-3) #f) + ) + (cond + ((-> self been-kicked) + (go-virtual idle) + ) + ((TODO-RENAME-50 self) + (if (should-display? self) + (go-virtual idle) + (go-virtual hidden) + ) + ) ) - ) + (none) ) - (none) - ) :code (the-as (function none :behavior process-taskable) anim-loop) ) @@ -1101,95 +905,72 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as shadow-geo (cond - ((= v1-0 'shadow) - (the-as shadow-geo (cond - ((-> arg3 param 0) - (let - ((v0-0 (-> self shadow-backup))) - (set! (-> self draw shadow) v0-0) - v0-0 - ) - ) - (else - (set! (-> self draw shadow) #f) - (the-as shadow-geo #f) - ) - ) - ) - ) - ((= v1-0 'shadow-min-max) - (let ((v1-5 (-> self draw shadow-ctrl))) - (let ((a0-5 v1-5)) - (set! - (-> a0-5 settings bot-plane w) - (- (the-as float (-> arg3 param 0))) + (let ((v1-0 arg2)) + (the-as shadow-geo (cond + ((= v1-0 'shadow) + (the-as shadow-geo (cond + ((-> arg3 param 0) + (let ((v0-0 (-> self shadow-backup))) + (set! (-> self draw shadow) v0-0) + v0-0 + ) + ) + (else + (set! (-> self draw shadow) #f) + (the-as shadow-geo #f) + ) + ) + ) + ) + ((= v1-0 'shadow-min-max) + (let ((v1-5 (-> self draw shadow-ctrl))) + (let ((a0-5 v1-5)) + (set! (-> a0-5 settings bot-plane w) (- (the-as float (-> arg3 param 0)))) + ) + 0 + (set! (-> v1-5 settings top-plane w) (- (the-as float (-> arg3 param 1)))) + ) + (the-as shadow-geo 0) + ) + ((= v1-0 'end-mode) + (the-as shadow-geo (if (should-display? self) + (the-as shadow-geo (go-virtual idle)) + (the-as shadow-geo (go-virtual hidden)) + ) + ) ) ) - 0 - (set! - (-> v1-5 settings top-plane w) - (- (the-as float (-> arg3 param 1))) - ) - ) - (the-as shadow-geo 0) - ) - ((= v1-0 'end-mode) - (the-as shadow-geo (if (should-display? self) - (the-as - shadow-geo - (go-virtual idle) - ) - (the-as - shadow-geo - (go-virtual hidden) - ) - ) - ) - ) - ) - ) + ) + ) ) - ) :enter (behavior ((arg0 handle)) - (logior! (-> self skel status) 8) - (logclear! (-> self mask) (process-mask actor-pause)) - (set-vector! - (-> self draw bounds) - 0.0 - (-> self draw-bounds-y-offset) - 0.0 - (-> self draw bounds w) + (logior! (-> self skel status) 8) + (logclear! (-> self mask) (process-mask actor-pause)) + (set-vector! (-> self draw bounds) 0.0 (-> self draw-bounds-y-offset) 0.0 (-> self draw bounds w)) + (none) ) - (none) - ) :exit (behavior () - (set! (-> self skel status) (logand -41 (-> self skel status))) - (logior! (-> self mask) (process-mask actor-pause)) - (let ((v1-6 (-> self entity extra trans))) - (if v1-6 - (set! (-> self root-override trans quad) (-> v1-6 quad)) - ) + (set! (-> self skel status) (logand -41 (-> self skel status))) + (logior! (-> self mask) (process-mask actor-pause)) + (let ((v1-6 (-> self entity extra trans))) + (if v1-6 + (set! (-> self root-override trans quad) (-> v1-6 quad)) + ) + ) + (ja-channel-set! 0) + (none) ) - (ja-channel-set! 0) - (none) - ) :trans - (behavior () - (draw-npc-shadow self) - ((-> self cur-trans-hook)) - (none) - ) + (behavior () (draw-npc-shadow self) ((-> self cur-trans-hook)) (none)) :code (behavior ((arg0 handle)) - (clone-anim arg0 (-> self center-joint-index) #t "") - (format #t "ERROR: handle invalid while ~S is cloning~%" (-> self name)) - (go-virtual hidden) - (none) - ) + (clone-anim arg0 (-> self center-joint-index) #t "") + (format #t "ERROR: handle invalid while ~S is cloning~%" (-> self name)) + (go-virtual hidden) + (none) + ) ) ;; definition for method 47 of type process-taskable @@ -1202,356 +983,257 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'attack) - (the-as symbol (when (-> self bounce-away) - (let - ((a1-3 - (new 'stack-no-clear 'event-message-block - ) - ) - ) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (the-as uint #f)) - (let - ((v1-4 - (new 'static 'attack-info :mask #xc0) - ) - ) - (set! (-> v1-4 shove-back) 12288.0) - (set! (-> v1-4 shove-up) 4096.0) - (set! - (-> a1-3 param 1) - (the-as uint v1-4) - ) - ) - (the-as - symbol - (send-event-function arg0 a1-3) - ) - ) - ) - ) - ) - ((= v1-0 'touch) - (the-as - symbol - (dummy-55 - (-> self root-override) - arg0 - (the-as touching-shapes-entry (-> arg3 param 0)) - 0.7 - 6144.0 - 16384.0 - ) - ) - ) - ((= v1-0 'clone) - (the-as - symbol - (go-virtual be-clone (the-as handle (-> arg3 param 0))) - ) - ) - ((= v1-0 'play-anim) - (logclear! (-> self mask) (process-mask actor-pause)) - (let ((v0-0 #t)) - (set! (-> self been-kicked) v0-0) - v0-0 - ) - ) - ((= v1-0 'hidden-other) - (the-as symbol (go-virtual hidden-other)) - ) - ) - ) - ) - ) - :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (process-taskable-clean-up-after-talking) - (none) - ) - :exit - (behavior () - (cond - ((or - (= (-> self next-state name) 'dead-state) - (= (-> self next-state name) 'idle) - ) - (process-entity-status! self (entity-perm-status bit-3) #f) - ) - (else - (kill-current-level-hint '() '() 'exit) - (logior! (-> self skel status) 1) - (logclear! (-> self mask) (process-mask actor-pause)) - (process-entity-status! self (entity-perm-status bit-3) #t) - (set-setting! *setting-control* self 'border-mode #f 0.0 0) - (set-setting! - *setting-control* - self - 'talking - (the-as symbol (process->ppointer self)) - 0.0 - 0 - ) - (copy-settings-from-target! *setting-control*) - ) - ) - (none) - ) - :trans - (behavior () - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) - (logior! (-> self mask) (process-mask actor-pause)) - (process-entity-status! self (entity-perm-status bit-3) #f) - ) - (cond - ((not *target*) - ) - ((not (-> self will-talk)) - (if - (>= - (- (-> *display* game-frame-counter) (the-as int (-> self last-talk))) - 3000 - ) - (set! (-> self will-talk) #t) - ) - ) - ((begin - (dummy-46 self) - (and - (not - (and - (logtest? (-> *target* control unknown-surface00 flags) 2048) - (zero? (logand (-> *target* control status) 1)) - ) - ) - (< - (-> (target-pos 0) y) - (+ 8192.0 (-> self root-override root-prim prim-core world-sphere y)) - ) - (< - (vector-vector-distance - (target-pos 0) - (the-as vector (-> self root-override root-prim prim-core)) - ) - 32768.0 - ) - (= (-> *level* loading-level) (-> *level* level-default)) - (not (movie?)) - (not (level-hint-displayed?)) - (none-reserved? *art-control*) - (not *progress-process*) - (and - (not (handle->process (-> *game-info* other-camera-handle))) - (close-anim-file! self) - ) - ) - ) - (first-any (-> self tasks) #t) - (when (target-above-threshold? self) - (case (current-status (-> self tasks)) - (((task-status need-hint) - (task-status need-introduction) - (task-status need-reminder) - (task-status need-reminder-a) - (task-status need-reward-speech) - ) - (kill-current-level-hint '() '(sidekick voicebox ambient) 'exit) - (level-hint-surpress!) - (hide-hud) - (when (and (hud-hidden?) (can-grab-display? self)) - (let - ((gp-1 - (new - 'stack - 'font-context - *font-default-matrix* - 32 - 140 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) - ) - ) - (let ((v1-57 gp-1)) - (set! (-> v1-57 width) (the float 440)) - ) - (let ((v1-58 gp-1)) - (set! (-> v1-58 height) (the float 60)) - ) - (let ((v1-59 gp-1)) - (set! (-> v1-59 scale) 0.9) - ) - (set! (-> gp-1 flags) (font-flags shadow kerning left large)) - (print-game-text - (lookup-text! - *common-text* - (the-as game-text-id (-> self talk-message)) - #f - ) - gp-1 - #f - 128 - 22 - ) + (let ((v1-0 arg2)) + (the-as + object + (cond + ((= v1-0 'attack) + (the-as symbol (when (-> self bounce-away) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'shove) + (set! (-> a1-3 param 0) (the-as uint #f)) + (let ((v1-4 (new 'static 'attack-info :mask #xc0))) + (set! (-> v1-4 shove-back) 12288.0) + (set! (-> v1-4 shove-up) 4096.0) + (set! (-> a1-3 param 1) (the-as uint v1-4)) + ) + (the-as symbol (send-event-function arg0 a1-3)) + ) + ) + ) ) - (when (and (cpad-pressed? 0 circle) (process-grab? *target*)) - (logclear! - (-> *cpad-list* cpads 0 button0-abs 0) - (pad-buttons circle) - ) - (logclear! - (-> *cpad-list* cpads 0 button0-rel 0) - (pad-buttons circle) - ) - (send-event *target* 'trans 'save (-> self old-target-pos)) - (go-virtual play-anim) + ((= v1-0 'touch) + (the-as + symbol + (dummy-55 (-> self root-override) arg0 (the-as touching-shapes-entry (-> arg3 param 0)) 0.7 6144.0 16384.0) + ) + ) + ((= v1-0 'clone) + (the-as symbol (go-virtual be-clone (the-as handle (-> arg3 param 0)))) + ) + ((= v1-0 'play-anim) + (logclear! (-> self mask) (process-mask actor-pause)) + (let ((v0-0 #t)) + (set! (-> self been-kicked) v0-0) + v0-0 + ) + ) + ((= v1-0 'hidden-other) + (the-as symbol (go-virtual hidden-other)) ) ) + ) + ) + ) + :enter + (behavior () + (set! (-> self state-time) (-> *display* base-frame-counter)) + (process-taskable-clean-up-after-talking) + (none) + ) + :exit + (behavior () + (cond + ((or (= (-> self next-state name) 'dead-state) (= (-> self next-state name) 'idle)) + (process-entity-status! self (entity-perm-status bit-3) #f) + ) + (else + (kill-current-level-hint '() '() 'exit) + (logior! (-> self skel status) 1) + (logclear! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status bit-3) #t) + (set-setting! *setting-control* self 'border-mode #f 0.0 0) + (set-setting! *setting-control* self 'talking (the-as symbol (process->ppointer self)) 0.0 0) + (copy-settings-from-target! *setting-control*) + ) + ) + (none) + ) + :trans + (behavior () + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) + (logior! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status bit-3) #f) + ) + (cond + ((not *target*) + ) + ((not (-> self will-talk)) + (if (>= (- (-> *display* game-frame-counter) (the-as int (-> self last-talk))) 3000) + (set! (-> self will-talk) #t) + ) + ) + ((begin + (dummy-46 self) + (and + (not + (and + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) + ) + ) + (< (-> (target-pos 0) y) (+ 8192.0 (-> self root-override root-prim prim-core world-sphere y))) + (< (vector-vector-distance (target-pos 0) (the-as vector (-> self root-override root-prim prim-core))) + 32768.0 + ) + (= (-> *level* loading-level) (-> *level* level-default)) + (not (movie?)) + (not (level-hint-displayed?)) + (none-reserved? *art-control*) + (not *progress-process*) + (and (not (handle->process (-> *game-info* other-camera-handle))) (close-anim-file! self)) + ) + ) + (first-any (-> self tasks) #t) + (when (target-above-threshold? self) + (case (current-status (-> self tasks)) + (((task-status need-hint) + (task-status need-introduction) + (task-status need-reminder) + (task-status need-reminder-a) + (task-status need-reward-speech) + ) + (kill-current-level-hint '() '(sidekick voicebox ambient) 'exit) + (level-hint-surpress!) + (hide-hud) + (when (and (hud-hidden?) (can-grab-display? self)) + (let ((gp-1 + (new 'stack 'font-context *font-default-matrix* 32 140 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-57 gp-1)) + (set! (-> v1-57 width) (the float 440)) + ) + (let ((v1-58 gp-1)) + (set! (-> v1-58 height) (the float 60)) + ) + (let ((v1-59 gp-1)) + (set! (-> v1-59 scale) 0.9) + ) + (set! (-> gp-1 flags) (font-flags shadow kerning left large)) + (print-game-text (lookup-text! *common-text* (the-as game-text-id (-> self talk-message)) #f) gp-1 #f 128 22) + ) + (when (and (cpad-pressed? 0 circle) (process-grab? *target*)) + (logclear! (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons circle)) + (logclear! (-> *cpad-list* cpads 0 button0-rel 0) (pad-buttons circle)) + (send-event *target* 'trans 'save (-> self old-target-pos)) + (go-virtual play-anim) + ) + ) + ) + ) ) ) ) - ) - ) - (if (= (-> *level* loading-level) (-> *level* level-default)) - (dummy-33 self) - ) - (draw-npc-shadow self) - (when - (and - (-> self been-kicked) - (and - (not *progress-process*) - (process-grab? *target*) - (not (handle->process (-> *game-info* other-camera-handle))) + (if (= (-> *level* loading-level) (-> *level* level-default)) + (dummy-33 self) + ) + (draw-npc-shadow self) + (when (and (-> self been-kicked) (and + (not *progress-process*) + (process-grab? *target*) + (not (handle->process (-> *game-info* other-camera-handle))) + ) + ) + (set! (-> self been-kicked) #f) + (send-event *target* 'trans 'save (-> self old-target-pos)) + (go-virtual play-anim) ) - ) - (set! (-> self been-kicked) #f) - (send-event *target* 'trans 'save (-> self old-target-pos)) - (go-virtual play-anim) + ((-> self cur-trans-hook)) + (none) ) - ((-> self cur-trans-hook)) - (none) - ) :code process-taskable-anim-loop :post (behavior () - (when *target* - (when (!= (-> self neck-joint-index) -1) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data (-> self neck-joint-index))) - (if *target* - (look-at-enemy! (-> *target* neck) gp-0 'nothing self) - ) + (when *target* + (when (!= (-> self neck-joint-index) -1) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-0 (-> self node-list data (-> self neck-joint-index))) + (if *target* + (look-at-enemy! (-> *target* neck) gp-0 'nothing self) + ) + ) + ) ) - ) + (transform-post) + (none) ) - (transform-post) - (none) - ) ) ;; definition for method 41 of type process-taskable ;; INFO: Return type mismatch int vs none. -(defmethod - initialize-collision - process-taskable - ((obj process-taskable) (arg0 int) (arg1 vector)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) arg0) - (set-vector! - (-> s4-0 local-sphere) - (-> arg1 x) - (-> arg1 y) - (-> arg1 z) - (-> arg1 w) - ) - (set-root-prim! s5-0 s4-0) +(defmethod initialize-collision process-taskable ((obj process-taskable) (arg0 int) (arg1 vector)) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) arg0) + (set-vector! (-> s4-0 local-sphere) (-> arg1 x) (-> arg1 y) (-> arg1 z) (-> arg1 w)) + (set-root-prim! s5-0 s4-0) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) ;; definition for method 40 of type process-taskable ;; INFO: Return type mismatch int vs none. -(defmethod - dummy-40 - process-taskable - ((obj process-taskable) - (arg0 object) - (arg1 skeleton-group) - (arg2 int) - (arg3 int) - (arg4 vector) - (arg5 int) - ) +(defmethod dummy-40 process-taskable ((obj process-taskable) (arg0 object) (arg1 skeleton-group) (arg2 int) (arg3 int) (arg4 vector) (arg5 int)) (let ((s3-0 arg2) (s4-0 arg3) (s0-0 arg4) (s5-0 arg5) ) - (stack-size-set! (-> obj main-thread) 512) - (initialize-collision obj s3-0 s0-0) - (process-drawable-from-entity! obj (the-as entity-actor arg0)) - (let* ((a0-4 obj) - (t9-3 (method-of-object a0-4 initialize-skeleton)) - (a2-2 '()) - (a1-4 arg1) - ) - (t9-3 a0-4 a1-4 a2-2) - (set! (-> obj shadow-backup) (-> obj draw shadow)) - (logior! (-> obj skel status) 256) - (set! (-> obj root-override pause-adjust-distance) -122880.0) - (set! (-> obj fuel-cell-anim) (fuel-cell-pick-anim obj)) - (set! (-> obj draw origin-joint-index) (the-as uint s3-0)) - (set! (-> obj draw shadow-joint-index) (the-as uint s3-0)) - (set! (-> obj center-joint-index) s3-0) - (set! (-> obj draw-bounds-y-offset) (-> obj draw bounds y)) - (set! (-> obj have-flava) #f) - (set! (-> obj music) #f) - (set! (-> obj have-music) #f) - (set! (-> obj cam-joint-index) s4-0) - (set! (-> obj cell-x) (the-as handle #f)) - (set! (-> obj cell-for-task) (game-task none)) - (set! (-> obj camera) (the-as handle #f)) - (set! (-> obj will-talk) #t) - (set! (-> obj talk-message) (the-as uint 260)) - (set! (-> obj last-talk) (the-as uint 0)) - (set! (-> obj bounce-away) #t) - (set! (-> obj been-kicked) #f) - (set! (-> obj neck-joint-index) s5-0) - (set! (-> obj cur-trans-hook) nothing) - (dummy-9 - (-> obj ambient) - (the-as vector a1-4) - (the-as int a2-2) - (the-as float arg2) - (the-as process-drawable arg3) - ) + (stack-size-set! (-> obj main-thread) 512) + (initialize-collision obj s3-0 s0-0) + (process-drawable-from-entity! obj (the-as entity-actor arg0)) + (let* ((a0-4 obj) + (t9-3 (method-of-object a0-4 initialize-skeleton)) + (a2-2 '()) + (a1-4 arg1) + ) + (t9-3 a0-4 a1-4 a2-2) + (set! (-> obj shadow-backup) (-> obj draw shadow)) + (logior! (-> obj skel status) 256) + (set! (-> obj root-override pause-adjust-distance) -122880.0) + (set! (-> obj fuel-cell-anim) (fuel-cell-pick-anim obj)) + (set! (-> obj draw origin-joint-index) (the-as uint s3-0)) + (set! (-> obj draw shadow-joint-index) (the-as uint s3-0)) + (set! (-> obj center-joint-index) s3-0) + (set! (-> obj draw-bounds-y-offset) (-> obj draw bounds y)) + (set! (-> obj have-flava) #f) + (set! (-> obj music) #f) + (set! (-> obj have-music) #f) + (set! (-> obj cam-joint-index) s4-0) + (set! (-> obj cell-x) (the-as handle #f)) + (set! (-> obj cell-for-task) (game-task none)) + (set! (-> obj camera) (the-as handle #f)) + (set! (-> obj will-talk) #t) + (set! (-> obj talk-message) (the-as uint 260)) + (set! (-> obj last-talk) (the-as uint 0)) + (set! (-> obj bounce-away) #t) + (set! (-> obj been-kicked) #f) + (set! (-> obj neck-joint-index) s5-0) + (set! (-> obj cur-trans-hook) nothing) + (dummy-9 + (-> obj ambient) + (the-as vector a1-4) + (the-as int a2-2) + (the-as float arg2) + (the-as process-drawable arg3) + ) + ) ) - ) (set! (-> obj event-hook) (-> (method-of-object obj idle) event)) - (set! - (-> obj draw shadow-ctrl) - (new 'process 'shadow-control 0.0 0.0 614400.0 (the-as float 60) 245760.0) - ) + (set! (-> obj draw shadow-ctrl) (new 'process 'shadow-control 0.0 0.0 614400.0 (the-as float 60) 245760.0)) (dummy-52 obj) 0 (none) @@ -1561,16 +1243,16 @@ ;; INFO: Return type mismatch object vs none. (defmethod dummy-42 process-taskable ((obj process-taskable)) (cond - ((not (should-display? obj)) - (go (method-of-object obj hidden)) + ((not (should-display? obj)) + (go (method-of-object obj hidden)) + ) + ((= (current-status (-> obj tasks)) (task-status need-resolution)) + (go (method-of-object obj give-cell)) + ) + (else + (go (method-of-object obj idle)) + ) ) - ((= (current-status (-> obj tasks)) (task-status need-resolution)) - (go (method-of-object obj give-cell)) - ) - (else - (go (method-of-object obj idle)) - ) - ) (none) ) @@ -1582,343 +1264,216 @@ ;; definition for method 9 of type ambient-control ;; INFO: Return type mismatch int vs none. -(defmethod - dummy-9 - ambient-control - ((obj ambient-control) - (arg0 vector) - (arg1 int) - (arg2 float) - (arg3 process-drawable) - ) +(defmethod dummy-9 ambient-control ((obj ambient-control) (arg0 vector) (arg1 int) (arg2 float) (arg3 process-drawable)) (set! (-> obj last-ambient-time) (-> *display* game-frame-counter)) 0 (none) ) ;; definition for method 10 of type ambient-control -(defmethod - TODO-RENAME-10 - ambient-control - ((obj ambient-control) - (arg0 vector) - (arg1 int) - (arg2 float) - (arg3 process-drawable) - ) - (when - (< (- (-> *display* game-frame-counter) (-> obj last-ambient-time)) arg1) - (set! arg0 (the-as vector #f)) - (goto cfg-6) - ) +(defmethod TODO-RENAME-10 ambient-control ((obj ambient-control) (arg0 vector) (arg1 int) (arg2 float) (arg3 process-drawable)) + (when (< (- (-> *display* game-frame-counter) (-> obj last-ambient-time)) arg1) + (set! arg0 (the-as vector #f)) + (goto cfg-6) + ) (vector-for-ambient arg3 arg0) (when (< arg2 (vector-length arg0)) - (set! arg0 (the-as vector #f)) - (goto cfg-6) - ) + (set! arg0 (the-as vector #f)) + (goto cfg-6) + ) (label cfg-6) arg0 ) ;; definition for method 11 of type ambient-control -(defmethod - play-ambient - ambient-control - ((obj ambient-control) (arg0 string) (arg1 symbol) (arg2 vector)) - (when - (and - (not (string= arg0 (-> obj last-ambient))) - (or - arg1 - (can-hint-be-played? - (game-text-id one) - (the-as entity #f) - (the-as string #f) - ) - ) - (= (-> *level* loading-level) (-> *level* level-default)) - (ambient-hint-spawn arg0 arg2 *entity-pool* 'ambient) +(defmethod play-ambient ambient-control ((obj ambient-control) (arg0 string) (arg1 symbol) (arg2 vector)) + (when (and + (not (string= arg0 (-> obj last-ambient))) + (or arg1 (can-hint-be-played? (game-text-id one) (the-as entity #f) (the-as string #f))) + (= (-> *level* loading-level) (-> *level* level-default)) + (ambient-hint-spawn arg0 arg2 *entity-pool* 'ambient) + ) + (set! (-> obj last-ambient-time) (-> *display* game-frame-counter)) + (set! (-> obj last-ambient) arg0) + (return #t) ) - (set! (-> obj last-ambient-time) (-> *display* game-frame-counter)) - (set! (-> obj last-ambient) arg0) - (return #t) - ) #f ) ;; definition for function vector-for-ambient (defun vector-for-ambient ((arg0 process-drawable) (arg1 vector)) (if *target* - (vector-! arg1 (target-pos 0) (-> arg0 root trans)) - (vector-! arg1 (camera-pos) (-> arg0 root trans)) - ) + (vector-! arg1 (target-pos 0) (-> arg0 root trans)) + (vector-! arg1 (camera-pos) (-> arg0 root trans)) + ) arg1 ) ;; definition for function othercam-calc (defun othercam-calc ((arg0 float)) (let ((f0-3 (* 2.0 (atan (/ 14.941477 (* 20.3 arg0)) 1.0)))) - (set! (-> *camera-other-fov* data) f0-3) - f0-3 - ) + (set! (-> *camera-other-fov* data) f0-3) + f0-3 + ) ) ;; failed to figure out what this is: (defstate othercam-running (othercam) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-0 object)) - (case arg2 - (('die) - (set! v0-0 #t) - (set! (-> self die?) (the-as symbol v0-0)) - v0-0 - ) - (('joint) - (let ((t9-0 type-type?) - (v1-1 (-> arg3 param 0)) - ) - (cond - ((t9-0 (rtype-of v1-1) string) - (let - ((v1-8 - (dummy-10 - (-> (the-as process-taskable (-> self hand process 0)) draw jgeo) - (the-as string (-> arg3 param 0)) - (the-as type #f) + (local-vars (v0-0 object)) + (case arg2 + (('die) + (set! v0-0 #t) + (set! (-> self die?) (the-as symbol v0-0)) + v0-0 + ) + (('joint) + (let ((t9-0 type-type?) + (v1-1 (-> arg3 param 0)) + ) + (cond + ((t9-0 (rtype-of v1-1) string) + (let ((v1-8 + (dummy-10 + (-> (the-as process-taskable (-> self hand process 0)) draw jgeo) + (the-as string (-> arg3 param 0)) + (the-as type #f) + ) + ) + ) + (when v1-8 + (set! v0-0 (+ (-> v1-8 number) 1)) + (set! (-> self cam-joint-index) (the-as int v0-0)) + v0-0 + ) + ) + ) + ((zero? (logand (-> arg3 param 0) 7)) + (set! v0-0 (-> arg3 param 0)) + (set! (-> self cam-joint-index) (the-as int v0-0)) + v0-0 ) ) - ) - (when v1-8 - (set! v0-0 (+ (-> v1-8 number) 1)) - (set! (-> self cam-joint-index) (the-as int v0-0)) - v0-0 - ) ) - ) - ((zero? (logand (-> arg3 param 0) 7)) - (set! v0-0 (-> arg3 param 0)) - (set! (-> self cam-joint-index) (the-as int v0-0)) - v0-0 - ) + ) + (('mask) + (set! v0-0 (-> arg3 param 0)) + (set! (-> self mask-to-clear) (the-as uint v0-0)) + v0-0 ) ) - ) - (('mask) - (set! v0-0 (-> arg3 param 0)) - (set! (-> self mask-to-clear) (the-as uint v0-0)) - v0-0 - ) ) - ) :enter (behavior () - (hide-hud-quick) - (case (-> self spooling?) - (('logo) - ) - (else - (push-setting! - *setting-control* - self - 'process-mask - 'set - 0.0 - (-> self mask-to-clear) - ) - (push-setting! - *setting-control* - self - 'movie - (process->ppointer self) - 0.0 - 0 - ) - (if (not (-> self border-value)) - (push-setting! - *setting-control* - self - 'border-mode - (-> self border-value) - 0.0 - 0 + (hide-hud-quick) + (case (-> self spooling?) + (('logo) ) - ) - ) - ) - (set! (-> self had-valid-frame) #f) - (let ((gp-0 (-> self hand process 0))) - (vector<-cspace! - (-> self old-pos) - (-> - (the-as process-taskable gp-0) - node-list - data - (-> self cam-joint-index) - ) - ) - (let - ((v1-19 - (-> - (the-as process-taskable gp-0) - node-list - data - (-> self cam-joint-index) - bone - transform + (else + (push-setting! *setting-control* self 'process-mask 'set 0.0 (-> self mask-to-clear)) + (push-setting! *setting-control* self 'movie (process->ppointer self) 0.0 0) + (if (not (-> self border-value)) + (push-setting! *setting-control* self 'border-mode (-> self border-value) 0.0 0) + ) ) - ) ) - (vector-normalize-copy! (-> self old-mat-z) (-> v1-19 vector 2) -1.0) - ) + (set! (-> self had-valid-frame) #f) + (let ((gp-0 (-> self hand process 0))) + (vector<-cspace! + (-> self old-pos) + (-> (the-as process-taskable gp-0) node-list data (-> self cam-joint-index)) + ) + (let ((v1-19 (-> (the-as process-taskable gp-0) node-list data (-> self cam-joint-index) bone transform))) + (vector-normalize-copy! (-> self old-mat-z) (-> v1-19 vector 2) -1.0) + ) + ) + (copy-settings-from-target! *setting-control*) + (none) ) - (copy-settings-from-target! *setting-control*) - (none) - ) :exit (behavior () - (clear-pending-settings-from-process *setting-control* self 'process-mask) - (copy-settings-from-target! *setting-control*) - (none) - ) + (clear-pending-settings-from-process *setting-control* self 'process-mask) + (copy-settings-from-target! *setting-control*) + (none) + ) :code (behavior () - (while #t - (let ((s2-0 (-> self hand process 0))) - (when (not s2-0) - (format #t "ERROR: othercam parent invalid~%") - (deactivate self) - ) - (set! - (-> *camera-other-root* quad) - (-> (the-as process-taskable s2-0) root-override trans quad) - ) - (let - ((s4-0 - (-> - (the-as process-taskable s2-0) - node-list - data - (-> self cam-joint-index) - bone - transform - ) - ) - (s3-0 - (-> - (the-as process-taskable s2-0) - node-list - data - (-> self cam-joint-index) - bone - scale - ) - ) - (gp-0 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'vector)) - (s1-0 - (or - (!= (-> self spooling?) #t) - (logtest? (-> (the-as process-taskable s2-0) skel status) 32) - ) - ) - ) - (vector<-cspace! - s5-0 - (-> - (the-as process-taskable s2-0) - node-list - data - (-> self cam-joint-index) - ) - ) - (vector-normalize-copy! gp-0 (-> s4-0 vector 2) -1.0) - (when s1-0 - (when (not (-> self had-valid-frame)) - (set! (-> self had-valid-frame) #t) - (set! (-> self old-pos quad) (-> s5-0 quad)) - (set! (-> self old-mat-z quad) (-> gp-0 quad)) - ) - (when #t - (set! (-> *camera-other-trans* quad) (-> s5-0 quad)) - (vector-normalize-copy! - (the-as vector (-> *camera-other-matrix* vector)) - (the-as vector (-> s4-0 vector)) - -1.0 - ) - (set! (-> *camera-other-matrix* vector 0 w) 0.0) - (vector-normalize-copy! - (-> *camera-other-matrix* vector 1) - (-> s4-0 vector 1) - 1.0 - ) - (set! (-> *camera-other-matrix* vector 1 w) 0.0) - (vector-normalize-copy! - (-> *camera-other-matrix* vector 2) - (-> s4-0 vector 2) - -1.0 - ) - (set! (-> *camera-other-matrix* vector 2 w) 0.0) - (vector-reset! (-> *camera-other-matrix* vector 3)) - (othercam-calc (-> s3-0 x)) - ) - (set! *camera-look-through-other* 2) - (set! (-> self old-pos quad) (-> s5-0 quad)) - (set! (-> self old-mat-z quad) (-> gp-0 quad)) - ) - ) - ) - (suspend) - (let ((a0-25 (-> self hand process 0))) - (when - (or - (-> self die?) - (and (not (-> self survive-anim-end?)) (ja-anim-done? a0-25)) - ) - (let ((gp-1 (-> *display* base-frame-counter))) - (while - (and - (< (- (-> *display* base-frame-counter) gp-1) #x4650) - (or - (and - (-> self entity) - (not - (is-object-visible? - (-> self entity extra level) - (-> self entity extra vis-id) - ) - ) - ) - (< - 81920.0 - (vector-vector-distance (camera-pos) (-> *math-camera* trans)) - ) + (while #t + (let ((s2-0 (-> self hand process 0))) + (when (not s2-0) + (format #t "ERROR: othercam parent invalid~%") + (deactivate self) + ) + (set! (-> *camera-other-root* quad) (-> (the-as process-taskable s2-0) root-override trans quad)) + (let ((s4-0 (-> (the-as process-taskable s2-0) node-list data (-> self cam-joint-index) bone transform)) + (s3-0 (-> (the-as process-taskable s2-0) node-list data (-> self cam-joint-index) bone scale)) + (gp-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'vector)) + (s1-0 (or (!= (-> self spooling?) #t) (logtest? (-> (the-as process-taskable s2-0) skel status) 32))) + ) + (vector<-cspace! s5-0 (-> (the-as process-taskable s2-0) node-list data (-> self cam-joint-index))) + (vector-normalize-copy! gp-0 (-> s4-0 vector 2) -1.0) + (when s1-0 + (when (not (-> self had-valid-frame)) + (set! (-> self had-valid-frame) #t) + (set! (-> self old-pos quad) (-> s5-0 quad)) + (set! (-> self old-mat-z quad) (-> gp-0 quad)) + ) + (when #t + (set! (-> *camera-other-trans* quad) (-> s5-0 quad)) + (vector-normalize-copy! + (the-as vector (-> *camera-other-matrix* vector)) + (the-as vector (-> s4-0 vector)) + -1.0 + ) + (set! (-> *camera-other-matrix* vector 0 w) 0.0) + (vector-normalize-copy! (-> *camera-other-matrix* vector 1) (-> s4-0 vector 1) 1.0) + (set! (-> *camera-other-matrix* vector 1 w) 0.0) + (vector-normalize-copy! (-> *camera-other-matrix* vector 2) (-> s4-0 vector 2) -1.0) + (set! (-> *camera-other-matrix* vector 2 w) 0.0) + (vector-reset! (-> *camera-other-matrix* vector 3)) + (othercam-calc (-> s3-0 x)) + ) + (set! *camera-look-through-other* 2) + (set! (-> self old-pos quad) (-> s5-0 quad)) + (set! (-> self old-mat-z quad) (-> gp-0 quad)) + ) + ) + ) + (suspend) + (let ((a0-25 (-> self hand process 0))) + (when (or (-> self die?) (and (not (-> self survive-anim-end?)) (ja-anim-done? a0-25))) + (let ((gp-1 (-> *display* base-frame-counter))) + (while (and + (< (- (-> *display* base-frame-counter) gp-1) #x4650) + (or + (and (-> self entity) (not (is-object-visible? (-> self entity extra level) (-> self entity extra vis-id)))) + (< 81920.0 (vector-vector-distance (camera-pos) (-> *math-camera* trans))) + ) + ) + (suspend) + ) + ) + (deactivate self) ) - ) - (suspend) ) - ) - (deactivate self) ) - ) + (none) ) - (none) - ) ) ;; definition for function othercam-init-by-other ;; INFO: Return type mismatch int vs none. -(defbehavior - othercam-init-by-other othercam - ((arg0 process-taskable) (arg1 symbol) (arg2 symbol) (arg3 symbol)) +(defbehavior othercam-init-by-other othercam ((arg0 process-taskable) (arg1 symbol) (arg2 symbol) (arg3 symbol)) (set! (-> self spooling?) arg3) - (case (-> self spooling?) - (('logo) + (case (-> self spooling?) + (('logo) ) - (else - (set! (-> *game-info* other-camera-handle) (process->handle self)) + (else + (set! (-> *game-info* other-camera-handle) (process->handle self)) + ) ) - ) (set! (-> self hand) (process->handle arg0)) (set! (-> self cam-joint-index) (the-as int arg1)) (logclear! (-> self mask) (process-mask pause menu actor-pause)) @@ -1935,22 +1490,18 @@ ;; definition for method 48 of type process-taskable (defmethod draw-npc-shadow process-taskable ((obj process-taskable)) (let ((gp-0 (-> obj draw shadow-ctrl))) - (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + (cond + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (dummy-15 gp-0 (-> obj draw origin) -4096.0 4096.0 32768.0) + (dummy-14 gp-0) + ) + (else + (let ((v1-10 gp-0)) + (logior! (-> v1-10 settings flags) 32) + ) + 0 + ) ) - (dummy-15 gp-0 (-> obj draw origin) -4096.0 4096.0 32768.0) - (dummy-14 gp-0) - ) - (else - (let ((v1-10 gp-0)) - (logior! (-> v1-10 settings flags) 32) - ) - 0 - ) ) - ) (none) ) diff --git a/test/decompiler/reference/engine/game/task/task-control-h_REF.gc b/test/decompiler/reference/engine/game/task/task-control-h_REF.gc index 1d6ed2fe52..8388b39dae 100644 --- a/test/decompiler/reference/engine/game/task/task-control-h_REF.gc +++ b/test/decompiler/reference/engine/game/task/task-control-h_REF.gc @@ -160,15 +160,11 @@ ;; definition for method 3 of type process-taskable (defmethod inspect process-taskable ((obj process-taskable)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttasks: ~A~%" (-> obj tasks)) (format #t "~T~Tquery: #~%" (-> obj query)) - (format - #t - "~T~Told-target-pos: #~%" - (-> obj old-target-pos) - ) + (format #t "~T~Told-target-pos: #~%" (-> obj old-target-pos)) (format #t "~T~Tcell-for-task: ~D~%" (-> obj cell-for-task)) (format #t "~T~Tcell-x: ~D~%" (-> obj cell-x)) (format #t "~T~Tcam-joint-index: ~D~%" (-> obj cam-joint-index)) diff --git a/test/decompiler/reference/engine/game/task/task-control_REF.gc b/test/decompiler/reference/engine/game/task/task-control_REF.gc index f2ea1917bd..1dc8190b97 100644 --- a/test/decompiler/reference/engine/game/task/task-control_REF.gc +++ b/test/decompiler/reference/engine/game/task/task-control_REF.gc @@ -3,35 +3,35 @@ ;; definition (debug) for function task-status->string (defun-debug task-status->string ((arg0 task-status)) - (case arg0 - (((task-status need-resolution)) + (case arg0 + (((task-status need-resolution)) "need-resolution" ) - (((task-status need-reward-speech)) - "need-reward-speech" + (((task-status need-reward-speech)) + "need-reward-speech" + ) + (((task-status need-reminder)) + "need-reminder" + ) + (((task-status need-reminder-a)) + "need-reminder-a" + ) + (((task-status need-introduction)) + "need-introduction" + ) + (((task-status need-hint)) + "need-hint" + ) + (((task-status unknown)) + "unknown" + ) + (((task-status invalid)) + "invalid" + ) + (else + "*unknown*" + ) ) - (((task-status need-reminder)) - "need-reminder" - ) - (((task-status need-reminder-a)) - "need-reminder-a" - ) - (((task-status need-introduction)) - "need-introduction" - ) - (((task-status need-hint)) - "need-hint" - ) - (((task-status unknown)) - "unknown" - ) - (((task-status invalid)) - "invalid" - ) - (else - "*unknown*" - ) - ) ) ;; definition for method 9 of type task-cstage @@ -57,45 +57,41 @@ ;; definition for method 11 of type task-cstage (defmethod task-available? task-cstage ((obj task-cstage) (arg0 task-control)) (let ((a0-1 obj)) - (cond - ((logtest? (-> a0-1 flags) (task-flags closed)) - #f - ) - ((>= - (the-as - int - (-> (get-entity-task-perm *game-info* (-> obj game-task)) user-uint8 0) + (cond + ((logtest? (-> a0-1 flags) (task-flags closed)) + #f ) - (the-as int (-> obj status)) + ((>= (the-as int (-> (get-entity-task-perm *game-info* (-> obj game-task)) user-uint8 0)) + (the-as int (-> obj status)) + ) + (logior! (-> obj flags) (task-flags closed)) + #f + ) + ((task-complete? *game-info* (-> obj game-task)) + (logior! (-> obj flags) (task-flags closed)) + #f + ) + (else + ((-> obj condition) arg0) + ) ) - (logior! (-> obj flags) (task-flags closed)) - #f - ) - ((task-complete? *game-info* (-> obj game-task)) - (logior! (-> obj flags) (task-flags closed)) - #f - ) - (else - ((-> obj condition) arg0) - ) ) - ) ) ;; definition for method 14 of type task-cstage (defmethod close-task! task-cstage ((obj task-cstage)) (if (= (-> obj game-task) (game-task none)) - (return (the-as int #f)) - ) + (return (the-as int #f)) + ) (logior! (-> obj flags) (task-flags closed)) (when (logtest? (-> obj flags) (task-flags has-entity)) - (let ((v1-9 (get-entity-task-perm *game-info* (-> obj game-task)))) - (logior! (-> v1-9 status) (entity-perm-status user-set-from-cstage)) - (if (< (-> v1-9 user-uint8 0) (the-as uint (-> obj status))) - (set! (-> v1-9 user-int8 0) (the-as int (-> obj status))) - ) + (let ((v1-9 (get-entity-task-perm *game-info* (-> obj game-task)))) + (logior! (-> v1-9 status) (entity-perm-status user-set-from-cstage)) + (if (< (-> v1-9 user-uint8 0) (the-as uint (-> obj status))) + (set! (-> v1-9 user-int8 0) (the-as int (-> obj status))) + ) + ) ) - ) 0 ) @@ -106,79 +102,62 @@ ) ;; definition for symbol *null-task-control*, type task-control -(define - *null-task-control* - (new 'static 'task-control - :current-stage -1 - :stage - (new 'static 'boxed-array :type task-cstage :length 0 :allocated-length 0) - ) - ) +(define *null-task-control* (new 'static 'task-control + :current-stage -1 + :stage + (new 'static 'boxed-array :type task-cstage :length 0 :allocated-length 0) + ) + ) ;; definition for method 9 of type task-control ;; INFO: Return type mismatch int vs game-task. (defmethod current-task task-control ((obj task-control)) (the-as game-task (cond - ((= obj *null-task-control*) - (format + ((= obj *null-task-control*) + (format 0 "ERROR: current-task received *null-task-control*~%") 0 - "ERROR: current-task received *null-task-control*~%" ) - 0 - ) - ((= (-> obj current-stage) -1) - 0 - ) - (else - (the-as - int - (-> obj stage (-> obj current-stage) game-task) + ((= (-> obj current-stage) -1) + 0 ) + (else + (the-as int (-> obj stage (-> obj current-stage) game-task)) + ) ) - ) - ) + ) ) ;; definition for method 10 of type task-control ;; INFO: Return type mismatch int vs task-status. (defmethod current-status task-control ((obj task-control)) (the-as task-status (cond - ((= obj *null-task-control*) - (format + ((= obj *null-task-control*) + (format 0 "ERROR: current-status received self of *null-task-control*~%~%") 0 - "ERROR: current-status received self of *null-task-control*~%~%" ) - 0 - ) - ((= (-> obj current-stage) -1) - 0 - ) - (else - (the-as - int - (-> obj stage (-> obj current-stage) status) + ((= (-> obj current-stage) -1) + 0 ) + (else + (the-as int (-> obj stage (-> obj current-stage) status)) + ) ) - ) - ) + ) ) ;; definition for method 11 of type task-control ;; INFO: Return type mismatch int vs none. (defmethod close-current! task-control ((obj task-control)) (cond - ((= obj *null-task-control*) - (format - 0 - "ERROR: close-current! received self of *null-task-control*~%~%" + ((= obj *null-task-control*) + (format 0 "ERROR: close-current! received self of *null-task-control*~%~%") ) + ((= (-> obj current-stage) -1) + ) + (else + (close-task! (-> obj stage (-> obj current-stage))) + ) ) - ((= (-> obj current-stage) -1) - ) - (else - (close-task! (-> obj stage (-> obj current-stage))) - ) - ) (first-any obj #t) (none) ) @@ -186,40 +165,36 @@ ;; definition for method 12 of type task-control (defmethod close-status! task-control ((obj task-control) (arg0 task-status)) (let ((a0-2 (current-task obj))) - (dotimes (v1-1 (-> obj stage length)) - (when - (and - (= a0-2 (-> obj stage v1-1 game-task)) - (= arg0 (-> obj stage v1-1 status)) + (dotimes (v1-1 (-> obj stage length)) + (when (and (= a0-2 (-> obj stage v1-1 game-task)) (= arg0 (-> obj stage v1-1 status))) + (close-task! (-> obj stage v1-1)) + (return (first-any obj #t)) + ) + ) + (format + 0 + "ERROR: close-status! received non-existent task-cstage(~S ~S)--returning #t.~%" + (game-task->string a0-2) + (task-status->string arg0) ) - (close-task! (-> obj stage v1-1)) - (return (first-any obj #t)) - ) ) - (format - 0 - "ERROR: close-status! received non-existent task-cstage(~S ~S)--returning #t.~%" - (game-task->string a0-2) - (task-status->string arg0) - ) - ) 0 ) ;; definition for method 13 of type task-control (defmethod first-any task-control ((obj task-control) (arg0 symbol)) (when (= obj *null-task-control*) - (if arg0 - (format 0 "ERROR: first-any received self of *null-task-control*~%~%") + (if arg0 + (format 0 "ERROR: first-any received self of *null-task-control*~%~%") + ) + (return 0) ) - (return 0) - ) (dotimes (s5-0 (-> obj stage length)) - (when (task-available? (-> obj stage s5-0) obj) - (set! (-> obj current-stage) s5-0) - (return (the-as int (-> obj stage s5-0 game-task))) + (when (task-available? (-> obj stage s5-0) obj) + (set! (-> obj current-stage) s5-0) + (return (the-as int (-> obj stage s5-0 game-task))) + ) ) - ) (set! (-> obj current-stage) -1) 0 ) @@ -227,109 +202,84 @@ ;; definition for method 14 of type task-control (defmethod reset! task-control ((obj task-control) (arg0 symbol) (arg1 symbol)) (when (= obj *null-task-control*) - (if arg1 - (format 0 "ERROR: reset! received self of *null-task-control*~%~%") - ) - (return 0) - ) - (dotimes (s4-0 (-> obj stage length)) - (if (or (= arg0 'game) (let ((a0-4 (-> obj stage s4-0))) - (not - (logtest? - (-> a0-4 flags) - (task-flags closed-by-default) - ) - ) - ) + (if arg1 + (format 0 "ERROR: reset! received self of *null-task-control*~%~%") ) - (open-task! (-> obj stage s4-0)) + (return 0) ) - (let ((a0-10 (-> obj stage s4-0))) - (if (logtest? (-> a0-10 flags) (task-flags closed)) - (close-task! (-> obj stage s4-0)) - ) + (dotimes (s4-0 (-> obj stage length)) + (if (or (= arg0 'game) (let ((a0-4 (-> obj stage s4-0))) + (not (logtest? (-> a0-4 flags) (task-flags closed-by-default))) + ) + ) + (open-task! (-> obj stage s4-0)) + ) + (let ((a0-10 (-> obj stage s4-0))) + (if (logtest? (-> a0-10 flags) (task-flags closed)) + (close-task! (-> obj stage s4-0)) + ) + ) ) - ) (the-as int #f) ) ;; definition for method 15 of type task-control -(defmethod - closed? - task-control - ((obj task-control) (arg0 game-task) (arg1 task-status)) +(defmethod closed? task-control ((obj task-control) (arg0 game-task) (arg1 task-status)) (when (= obj *null-task-control*) - (format 0 "ERROR: closed? received self of *null-task-control*~%~%") - (return #f) - ) - (dotimes (v1-3 (-> obj stage length)) - (when - (and - (= arg0 (-> obj stage v1-3 game-task)) - (= arg1 (-> obj stage v1-3 status)) - ) - (let ((a0-3 (-> obj stage v1-3))) - (return (logtest? (-> a0-3 flags) (task-flags closed))) - ) + (format 0 "ERROR: closed? received self of *null-task-control*~%~%") + (return #f) + ) + (dotimes (v1-3 (-> obj stage length)) + (when (and (= arg0 (-> obj stage v1-3 game-task)) (= arg1 (-> obj stage v1-3 status))) + (let ((a0-3 (-> obj stage v1-3))) + (return (logtest? (-> a0-3 flags) (task-flags closed))) + ) + ) ) - ) (format - 0 - "ERROR: closed? received non-existent task-cstage(~S ~S)--returning #t.~%" - (game-task->string arg0) - (task-status->string arg1) - ) + 0 + "ERROR: closed? received non-existent task-cstage(~S ~S)--returning #t.~%" + (game-task->string arg0) + (task-status->string arg1) + ) #t ) ;; definition for method 18 of type task-control -(defmethod - exists? - task-control - ((obj task-control) (arg0 game-task) (arg1 task-status)) +(defmethod exists? task-control ((obj task-control) (arg0 game-task) (arg1 task-status)) (when (= obj *null-task-control*) - (format 0 "ERROR: exists? received self of *null-task-control*~%~%") - (return #f) - ) - (dotimes (v1-3 (-> obj stage length)) - (if - (and - (= arg0 (-> obj stage v1-3 game-task)) - (= arg1 (-> obj stage v1-3 status)) - ) - (return #t) + (format 0 "ERROR: exists? received self of *null-task-control*~%~%") + (return #f) + ) + (dotimes (v1-3 (-> obj stage length)) + (if (and (= arg0 (-> obj stage v1-3 game-task)) (= arg1 (-> obj stage v1-3 status))) + (return #t) + ) ) - ) #f ) ;; definition for method 16 of type task-control (defmethod get-reminder task-control ((obj task-control) (arg0 int)) (when (= obj *null-task-control*) - (format - 0 - "ERROR: get-reminder received self of *null-task-control*~%~%" + (format 0 "ERROR: get-reminder received self of *null-task-control*~%~%") + (return 0) ) - (return 0) - ) (let ((v1-4 (get-entity-task-perm *game-info* (-> obj stage 0 game-task)))) - (the-as int (-> v1-4 user-uint8 (+ arg0 1))) - ) + (the-as int (-> v1-4 user-uint8 (+ arg0 1))) + ) ) ;; definition for method 17 of type task-control (defmethod save-reminder task-control ((obj task-control) (arg0 int) (arg1 int)) (when (= obj *null-task-control*) - (format - 0 - "ERROR: save-reminder received self of *null-task-control*~%~%" + (format 0 "ERROR: save-reminder received self of *null-task-control*~%~%") + (return 0) ) - (return 0) - ) (let ((v1-4 (get-entity-task-perm *game-info* (-> obj stage 0 game-task)))) - (logior! (-> v1-4 status) (entity-perm-status user-set-from-cstage)) - (set! (-> v1-4 user-int8 (+ arg1 1)) arg0) - ) + (logior! (-> v1-4 status) (entity-perm-status user-set-from-cstage)) + (set! (-> v1-4 user-int8 (+ arg1 1)) arg0) + ) 0 ) @@ -337,5047 +287,4783 @@ (define *assistant-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 12 :allocated-length 12 - (new 'static 'task-cstage - :game-task (game-task jungle-eggtop) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-eggtop) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-bike) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control)) - (with-pp - (or - (closed? arg0 (game-task jungle-eggtop) (task-status need-reminder)) - (and - (closed? - arg0 - (game-task jungle-eggtop) - (task-status need-introduction) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'pickup)) - (set! (-> a1-2 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-2)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 12 :allocated-length 12 + (new 'static 'task-cstage + :game-task (game-task jungle-eggtop) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task misty-bike) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control)) - (with-pp - (or - (closed? arg0 (game-task jungle-eggtop) (task-status need-reminder)) - (and - (closed? - arg0 - (game-task jungle-eggtop) - (task-status need-introduction) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'pickup)) - (set! (-> a1-2 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-2)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task jungle-eggtop) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-bike) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control)) + (with-pp + (or + (closed? arg0 (game-task jungle-eggtop) (task-status need-reminder)) + (and + (closed? arg0 (game-task jungle-eggtop) (task-status need-introduction)) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) pp) + (set! (-> a1-2 num-params) 2) + (set! (-> a1-2 message) 'query) + (set! (-> a1-2 param 0) (the-as uint 'pickup)) + (set! (-> a1-2 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-2)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task misty-bike) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control)) + (with-pp + (or + (closed? arg0 (game-task jungle-eggtop) (task-status need-reminder)) + (and + (closed? arg0 (game-task jungle-eggtop) (task-status need-introduction)) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) pp) + (set! (-> a1-2 num-params) 2) + (set! (-> a1-2 message) 'query) + (set! (-> a1-2 param 0) (the-as uint 'pickup)) + (set! (-> a1-2 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-2)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-eggtop) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-bike) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-bike) + :status (task-status need-reminder-a) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-bike) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :status (task-status unknown) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) (task-closed? (game-task village4-button) (task-status need-reward-speech))) + ) + (new 'static 'task-cstage + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-eggtop) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-bike) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-eggtop) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-bike) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-bike) - :status (task-status need-reminder-a) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-bike) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :status (task-status unknown) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (task-closed? - (game-task village4-button) - (task-status need-reward-speech) - ) - ) - ) - (new 'static 'task-cstage - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-eggtop) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-bike) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) ) - ) ) ;; definition for symbol *assistant-village2-tasks*, type task-control (define *assistant-village2-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 22 :allocated-length 22 - (new 'static 'task-cstage - :game-task (game-task village2-levitator) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-levitator) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-levitator) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-levitator) - :status (task-status need-reminder-a) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-levitator) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (send-event-function *target* a1-0)) 45) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 22 :allocated-length 22 + (new 'static 'task-cstage + :game-task (game-task village2-levitator) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-room) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-room) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-flutflut) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (and - (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or - (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and - (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-4)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village2-levitator) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-flutflut) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (and - (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or - (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and - (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-4)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village2-levitator) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-robbers) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or - (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) - (and - (closed? - arg0 - (game-task swamp-flutflut) - (task-status need-introduction) - ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-4)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) - ) - (or - (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and - (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) pp) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'query) - (set! (-> a1-8 param 0) (the-as uint 'pickup)) - (set! (-> a1-8 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-8)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village2-levitator) + :status (task-status need-reminder-a) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-robbers) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - (or - (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) - (and - (closed? - arg0 - (game-task swamp-flutflut) - (task-status need-introduction) - ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) pp) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'query) - (set! (-> a1-4 param 0) (the-as uint 'pickup)) - (set! (-> a1-4 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-4)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) - ) - (or - (closed? arg0 (game-task sunken-room) (task-status need-reminder)) - (and - (closed? arg0 (game-task sunken-room) (task-status need-introduction)) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) pp) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'query) - (set! (-> a1-8 param 0) (the-as uint 'pickup)) - (set! (-> a1-8 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-8)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village2-levitator) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) (with-pp + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-0)) 45) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-room) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-room) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-flutflut) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (and + (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or + (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and + (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) pp) + (set! (-> a1-4 num-params) 2) + (set! (-> a1-4 message) 'query) + (set! (-> a1-4 param 0) (the-as uint 'pickup)) + (set! (-> a1-4 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-4)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-flutflut) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (and + (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or + (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and + (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) pp) + (set! (-> a1-4 num-params) 2) + (set! (-> a1-4 message) 'query) + (set! (-> a1-4 param 0) (the-as uint 'pickup)) + (set! (-> a1-4 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-4)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-robbers) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or + (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) + (and + (closed? arg0 (game-task swamp-flutflut) (task-status need-introduction)) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) pp) + (set! (-> a1-4 num-params) 2) + (set! (-> a1-4 message) 'query) + (set! (-> a1-4 param 0) (the-as uint 'pickup)) + (set! (-> a1-4 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-4)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + (or + (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and + (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (let ((a1-8 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-8 from) pp) + (set! (-> a1-8 num-params) 2) + (set! (-> a1-8 message) 'query) + (set! (-> a1-8 param 0) (the-as uint 'pickup)) + (set! (-> a1-8 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-8)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-robbers) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (if (task-closed? (game-task beach-flutflut) (task-status need-reminder)) + (or + (closed? arg0 (game-task swamp-flutflut) (task-status need-reminder)) + (and + (closed? arg0 (game-task swamp-flutflut) (task-status need-introduction)) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) pp) + (set! (-> a1-4 num-params) 2) + (set! (-> a1-4 message) 'query) + (set! (-> a1-4 param 0) (the-as uint 'pickup)) + (set! (-> a1-4 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-4)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + (or + (closed? arg0 (game-task sunken-room) (task-status need-reminder)) + (and + (closed? arg0 (game-task sunken-room) (task-status need-introduction)) + (let ((a1-8 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-8 from) pp) + (set! (-> a1-8 num-params) 2) + (set! (-> a1-8 message) 'query) + (set! (-> a1-8 param 0) (the-as uint 'pickup)) + (set! (-> a1-8 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-8)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-room) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-room) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-flutflut) + :status (task-status unknown) + :condition + (lambda ((arg0 task-control)) (task-closed? (game-task beach-flutflut) (task-status need-reminder))) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-flutflut) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) (task-closed? (game-task beach-flutflut) (task-status need-reminder))) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-robbers) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-robbers) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage :status (task-status unknown) :condition (lambda ((arg0 task-control)) #t)) + (new 'static 'task-cstage + :game-task (game-task sunken-room) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-robbers) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-flutflut) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-levitator) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-room) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-room) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-flutflut) - :status (task-status unknown) - :condition - (lambda ((arg0 task-control)) - (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-flutflut) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (task-closed? (game-task beach-flutflut) (task-status need-reminder)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-robbers) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-robbers) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-room) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-robbers) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-flutflut) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-levitator) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) ) - ) ) ;; definition for symbol *gambler-tasks*, type task-control (define *gambler-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 - (new 'static 'task-cstage - :game-task (game-task rolling-race) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-race) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-gambler-money) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-gambler-money) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-race) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task rolling-race) (task-status need-reward-speech)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-gambler-money) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? - arg0 - (game-task village2-gambler-money) - (task-status need-reward-speech) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-race) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task rolling-race) (task-status need-reminder)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-gambler-money) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-task-inc) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 10 :allocated-length 10 + (new 'static 'task-cstage + :game-task (game-task rolling-race) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-race) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-gambler-money) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-gambler-money) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-race) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task rolling-race) (task-status need-reward-speech)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-gambler-money) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task village2-gambler-money) (task-status need-reward-speech)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-race) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task rolling-race) (task-status need-reminder)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-gambler-money) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-task-inc) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-race) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task rolling-race) (task-status need-introduction)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-gambler-money) + :status (task-status need-reminder) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task rolling-race) (task-status need-introduction)) + ) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-race) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task rolling-race) (task-status need-introduction)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-gambler-money) - :status (task-status need-reminder) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task rolling-race) (task-status need-introduction)) - ) - ) ) - ) ) ;; definition for symbol *geologist-tasks*, type task-control (define *geologist-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 - (new 'static 'task-cstage - :game-task (game-task rolling-moles) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-moles) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-geologist-money) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-geologist-money) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-moles) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task rolling-moles) (task-status need-reward-speech)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-geologist-money) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? - arg0 - (game-task village2-geologist-money) - (task-status need-reward-speech) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-moles) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task rolling-moles) (task-status need-reminder)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-geologist-money) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-task-inc) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 10 :allocated-length 10 + (new 'static 'task-cstage + :game-task (game-task rolling-moles) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-moles) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-geologist-money) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-geologist-money) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-moles) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task rolling-moles) (task-status need-reward-speech)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-geologist-money) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task village2-geologist-money) (task-status need-reward-speech)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-moles) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task rolling-moles) (task-status need-reminder)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-geologist-money) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-task-inc) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-moles) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task rolling-moles) (task-status need-introduction)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-geologist-money) + :status (task-status need-reminder) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task rolling-moles) (task-status need-introduction)) + ) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-moles) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task rolling-moles) (task-status need-introduction)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-geologist-money) - :status (task-status need-reminder) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task rolling-moles) (task-status need-introduction)) - ) - ) ) - ) ) ;; definition for symbol *mayor-tasks*, type task-control (define *mayor-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 11 :allocated-length 11 - (new 'static 'task-cstage - :game-task (game-task jungle-lurkerm) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-lurkerm) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-mayor-money) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-mayor-money) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-lurkerm) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task jungle-lurkerm) (task-status need-reward-speech)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village1-mayor-money) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? - arg0 - (game-task village1-mayor-money) - (task-status need-reward-speech) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-lurkerm) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task jungle-lurkerm) (task-status need-reminder)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village1-mayor-money) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-task-inc) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 11 :allocated-length 11 + (new 'static 'task-cstage + :game-task (game-task jungle-lurkerm) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-lurkerm) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-mayor-money) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-mayor-money) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-lurkerm) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task jungle-lurkerm) (task-status need-reward-speech)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village1-mayor-money) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task village1-mayor-money) (task-status need-reward-speech)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-lurkerm) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task jungle-lurkerm) (task-status need-reminder)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village1-mayor-money) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-task-inc) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-lurkerm) + :status (task-status need-reminder-a) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-lurkerm) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village1-mayor-money) + :status (task-status need-reminder) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) + ) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-lurkerm) - :status (task-status need-reminder-a) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-lurkerm) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village1-mayor-money) - :status (task-status need-reminder) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (closed? arg0 (game-task jungle-lurkerm) (task-status need-introduction)) - ) - ) ) - ) ) ;; definition for symbol *sage-tasks*, type task-control (define *sage-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 14 :allocated-length 14 - (new 'static 'task-cstage - :game-task (game-task intro) - :status (task-status need-introduction) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task intro) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task intro) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-ecorocks) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-ecorocks) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-cannon) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or - (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) - (and - (closed? - arg0 - (game-task beach-ecorocks) - (task-status need-introduction) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-3)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 14 :allocated-length 14 + (new 'static 'task-cstage + :game-task (game-task intro) + :status (task-status need-introduction) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task misty-cannon) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or - (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) - (and - (closed? - arg0 - (game-task beach-ecorocks) - (task-status need-introduction) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-3)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task intro) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task intro) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-ecorocks) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-ecorocks) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-cannon) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (or + (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) + (and + (closed? arg0 (game-task beach-ecorocks) (task-status need-introduction)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-3)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task misty-cannon) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (or + (closed? arg0 (game-task beach-ecorocks) (task-status need-reminder)) + (and + (closed? arg0 (game-task beach-ecorocks) (task-status need-introduction)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-3)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task beach-ecorocks) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-cannon) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-cannon) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :status (task-status unknown) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) (task-closed? (game-task village4-button) (task-status need-reward-speech))) + ) + (new 'static 'task-cstage + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-ecorocks) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-cannon) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task beach-ecorocks) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-cannon) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-cannon) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :status (task-status unknown) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (task-closed? - (game-task village4-button) - (task-status need-reward-speech) - ) - ) - ) - (new 'static 'task-cstage - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-ecorocks) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-cannon) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) ) - ) ) ;; definition for symbol *sage-bluehut-tasks*, type task-control (define *sage-bluehut-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 - (new 'static 'task-cstage - :game-task (game-task rolling-plants) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-plants) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-arm) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or - (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) - (and - (closed? - arg0 - (game-task rolling-plants) - (task-status need-introduction) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-3)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 10 :allocated-length 10 + (new 'static 'task-cstage + :game-task (game-task rolling-plants) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-arm) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or - (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) - (and - (closed? - arg0 - (game-task rolling-plants) - (task-status need-introduction) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-3)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task rolling-plants) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-arm) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (or + (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) + (and + (closed? arg0 (game-task rolling-plants) (task-status need-introduction)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-3)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-arm) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (or + (closed? arg0 (game-task rolling-plants) (task-status need-reminder)) + (and + (closed? arg0 (game-task rolling-plants) (task-status need-introduction)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-3)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-plants) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-arm) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-arm) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage :status (task-status unknown) :condition (lambda ((arg0 task-control)) #t)) + (new 'static 'task-cstage + :game-task (game-task rolling-plants) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-arm) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-plants) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-arm) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-arm) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-plants) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-arm) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) ) - ) ) ;; definition for symbol *oracle-village1-tasks*, type task-control (define *oracle-village1-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 - (new 'static 'task-cstage - :game-task (game-task village1-oracle-money1) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-oracle-money1) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-oracle-money2) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-oracle-money2) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-oracle-money1) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-oracle-inc) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 10 :allocated-length 10 + (new 'static 'task-cstage + :game-task (game-task village1-oracle-money1) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village1-oracle-money1) - :status (task-status need-reminder) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-oracle-money1) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-oracle-money2) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-oracle-inc) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village1-oracle-money1) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-oracle-money2) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-oracle-money2) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-oracle-money1) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-oracle-inc) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village1-oracle-money1) + :status (task-status need-reminder) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-oracle-money1) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-oracle-money2) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-oracle-inc) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village1-oracle-money2) + :status (task-status need-reminder) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-oracle-money2) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task village1-oracle-money2) - :status (task-status need-reminder) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-oracle-money2) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) ) - ) ) ;; definition for symbol *oracle-village2-tasks*, type task-control (define *oracle-village2-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 - (new 'static 'task-cstage - :game-task (game-task village2-oracle-money1) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-oracle-money1) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-oracle-money2) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-oracle-money2) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-oracle-money1) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-oracle-inc) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 10 :allocated-length 10 + (new 'static 'task-cstage + :game-task (game-task village2-oracle-money1) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-oracle-money1) - :status (task-status need-reminder) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-oracle-money1) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-oracle-money2) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-oracle-inc) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village2-oracle-money1) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-oracle-money2) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-oracle-money2) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-oracle-money1) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-oracle-inc) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-oracle-money1) + :status (task-status need-reminder) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-oracle-money1) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-oracle-money2) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-oracle-inc) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-oracle-money2) + :status (task-status need-reminder) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-oracle-money2) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-oracle-money2) - :status (task-status need-reminder) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-oracle-money2) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) ) - ) ) ;; definition for symbol *oracle-village3-tasks*, type task-control (define *oracle-village3-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 10 :allocated-length 10 - (new 'static 'task-cstage - :game-task (game-task village3-oracle-money1) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-oracle-money1) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-oracle-money2) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-oracle-money2) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-oracle-money1) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-oracle-inc) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 10 :allocated-length 10 + (new 'static 'task-cstage + :game-task (game-task village3-oracle-money1) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village3-oracle-money1) - :status (task-status need-reminder) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-oracle-money1) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-oracle-money2) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-oracle-inc) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village3-oracle-money1) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-oracle-money2) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-oracle-money2) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-oracle-money1) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-oracle-inc) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village3-oracle-money1) + :status (task-status need-reminder) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-oracle-money1) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-oracle-money2) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-oracle-inc) + ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village3-oracle-money2) + :status (task-status need-reminder) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-oracle-money2) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task village3-oracle-money2) - :status (task-status need-reminder) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-oracle-money2) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) ) - ) ) ;; definition for symbol *miners-tasks*, type task-control (define *miners-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 35 :allocated-length 35 - (new 'static 'task-cstage - :game-task (game-task village3-miner-money1) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money1) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money2) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money2) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money3) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money3) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money4) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money4) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money1) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-task-inc) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 35 :allocated-length 35 + (new 'static 'task-cstage + :game-task (game-task village3-miner-money1) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money2) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-task-inc) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money1) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money3) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-task-inc) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money2) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money4) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) - (-> *GAME-bank* money-task-inc) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money2) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task cave-gnawers) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or - (closed? - arg0 - (game-task village3-miner-money4) - (task-status need-reminder) - ) - (and - (closed? - arg0 - (game-task village3-miner-money4) - (task-status need-introduction) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money3) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money3) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money4) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money4) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money1) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-task-inc) + ) + ) + ) + ) + ) ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-3)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task cave-gnawers) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or - (closed? - arg0 - (game-task village3-miner-money4) - (task-status need-reminder) - ) - (and - (closed? - arg0 - (game-task village3-miner-money4) - (task-status need-introduction) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money2) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-task-inc) + ) + ) + ) + ) + ) ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-3)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task snow-eggtop) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or - (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) - (and - (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-3)) - (+ (get-reminder arg0 1) 3) - ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money3) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-task-inc) + ) + ) + ) + ) + ) ) - ) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task snow-eggtop) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or - (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) - (and - (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-3)) - (+ (get-reminder arg0 1) 3) - ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money4) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) + (-> *GAME-bank* money-task-inc) + ) + ) + ) + ) + ) ) - ) ) - ) + (new 'static 'task-cstage + :game-task (game-task cave-gnawers) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (or + (closed? arg0 (game-task village3-miner-money4) (task-status need-reminder)) + (and + (closed? arg0 (game-task village3-miner-money4) (task-status need-introduction)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-3)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task cave-gnawers) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (or + (closed? arg0 (game-task village3-miner-money4) (task-status need-reminder)) + (and + (closed? arg0 (game-task village3-miner-money4) (task-status need-introduction)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-3)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task snow-eggtop) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (or + (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) + (and + (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-3)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task snow-eggtop) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (or + (closed? arg0 (game-task cave-gnawers) (task-status need-reminder)) + (and + (closed? arg0 (game-task cave-gnawers) (task-status need-introduction)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-3)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money1) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money1) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money2) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money2) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money3) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money3) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money4) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money4) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-gnawers) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-gnawers) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-eggtop) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-eggtop) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage :status (task-status unknown) :condition (lambda ((arg0 task-control)) #t)) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money1) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money2) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money3) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-miner-money4) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-gnawers) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-eggtop) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) ) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money1) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money1) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money2) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money2) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money3) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money3) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money4) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money4) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-gnawers) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-gnawers) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-eggtop) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-eggtop) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money1) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money2) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money3) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-miner-money4) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-gnawers) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-eggtop) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) ) - ) ) ;; definition for symbol *sage-villagec-tasks*, type task-control (define *sage-villagec-tasks* (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 14 :allocated-length 14 - (new 'static 'task-cstage - :game-task (game-task village3-button) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-button) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-button) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-dark-crystals) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-dark-crystals) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-ram) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or - (closed? - arg0 - (game-task cave-dark-crystals) - (task-status need-reminder) - ) - (and - (closed? - arg0 - (game-task cave-dark-crystals) - (task-status need-introduction) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-3)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 14 :allocated-length 14 + (new 'static 'task-cstage + :game-task (game-task village3-button) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) ) - ) - ) - ) - (new 'static 'task-cstage - :game-task (game-task snow-ram) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control) (arg1 task-control)) - (with-pp - (or - (closed? - arg0 - (game-task cave-dark-crystals) - (task-status need-reminder) - ) - (and - (closed? - arg0 - (game-task cave-dark-crystals) - (task-status need-introduction) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (>= - (the int (send-event-function *target* a1-3)) - (+ (get-reminder arg0 1) 3) - ) - ) - ) + (new 'static 'task-cstage + :game-task (game-task village3-button) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-button) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-dark-crystals) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-dark-crystals) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-ram) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (or + (closed? arg0 (game-task cave-dark-crystals) (task-status need-reminder)) + (and + (closed? arg0 (game-task cave-dark-crystals) (task-status need-introduction)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-3)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task snow-ram) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control) (arg1 task-control)) + (with-pp + (or + (closed? arg0 (game-task cave-dark-crystals) (task-status need-reminder)) + (and + (closed? arg0 (game-task cave-dark-crystals) (task-status need-introduction)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-3)) (+ (get-reminder arg0 1) 3)) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task cave-dark-crystals) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-ram) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-ram) + :status (task-status need-reminder-a) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-ram) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage :status (task-status unknown) :condition (lambda ((arg0 task-control)) #t)) + (new 'static 'task-cstage + :game-task (game-task cave-dark-crystals) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-ram) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task cave-dark-crystals) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-ram) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-ram) - :status (task-status need-reminder-a) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-ram) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-dark-crystals) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-ram) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) ) - ) ) ;; definition for symbol *citb-greensage-tasks*, type task-control (define *citb-greensage-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 - (new 'static 'task-cstage - :game-task (game-task citadel-sage-green) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task citadel-sage-green) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) + (new 'static 'task-control :current-stage -1 :stage (new + 'static + 'boxed-array + :type task-cstage :length 2 :allocated-length 2 + (new 'static 'task-cstage + :game-task (game-task citadel-sage-green) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task citadel-sage-green) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) ) ;; definition for symbol *citb-bluesage-tasks*, type task-control (define *citb-bluesage-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 - (new 'static 'task-cstage - :game-task (game-task citadel-sage-blue) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task citadel-sage-blue) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) + (new 'static 'task-control :current-stage -1 :stage (new + 'static + 'boxed-array + :type task-cstage :length 2 :allocated-length 2 + (new 'static 'task-cstage + :game-task (game-task citadel-sage-blue) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task citadel-sage-blue) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) ) ;; definition for symbol *citb-redsage-tasks*, type task-control (define *citb-redsage-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 - (new 'static 'task-cstage - :game-task (game-task citadel-sage-red) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task citadel-sage-red) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) + (new 'static 'task-control :current-stage -1 :stage (new + 'static + 'boxed-array + :type task-cstage :length 2 :allocated-length 2 + (new 'static 'task-cstage + :game-task (game-task citadel-sage-red) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task citadel-sage-red) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) ) ;; definition for symbol *citb-yellowsage-tasks*, type task-control (define *citb-yellowsage-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 - (new 'static 'task-cstage - :game-task (game-task citadel-sage-yellow) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task citadel-sage-yellow) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) + (new 'static 'task-control :current-stage -1 :stage (new + 'static + 'boxed-array + :type task-cstage :length 2 :allocated-length 2 + (new 'static 'task-cstage + :game-task (game-task citadel-sage-yellow) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task citadel-sage-yellow) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) ) ;; definition for symbol *task-controls*, type (array basic) (define *task-controls* (the-as (array basic) - (new - 'static - 'boxed-array - :type basic :length 116 :allocated-length 116 - '*null-task-control* - '*null-task-control* - '*assistant-tasks* - '*mayor-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new + (new 'static 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task jungle-tower) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-tower) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-tower) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-tower) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 7 :allocated-length 7 - (new 'static 'task-cstage - :game-task (game-task jungle-fishgame) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-fishgame) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-fishgame) - :status (task-status need-reminder-a) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-fishgame) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-fishgame) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-fishgame) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :status (task-status need-reminder) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task jungle-plant) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-plant) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-plant) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-plant) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task jungle-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task jungle-canyon-end) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-canyon-end) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-canyon-end) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-canyon-end) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task jungle-temple-door) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-temple-door) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-temple-door) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task jungle-temple-door) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 - (new 'static 'task-cstage - :game-task (game-task village1-yakow) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-yakow) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-yakow) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-yakow) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-yakow) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*mayor-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 - (new 'static 'task-cstage - :game-task (game-task village1-uncle-money) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-uncle-money) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-uncle-money) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) + :type basic :length 116 :allocated-length 116 + '*null-task-control* + '*null-task-control* + '*assistant-tasks* + '*mayor-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task jungle-tower) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-tower) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-tower) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-tower) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 7 :allocated-length 7 + (new 'static 'task-cstage + :game-task (game-task jungle-fishgame) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-fishgame) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-fishgame) + :status (task-status need-reminder-a) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-fishgame) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-fishgame) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-fishgame) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage :status (task-status need-reminder) :condition (lambda ((arg0 task-control)) #t)) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task jungle-plant) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-plant) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-plant) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-plant) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task jungle-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task jungle-canyon-end) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-canyon-end) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-canyon-end) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-canyon-end) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task jungle-temple-door) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-temple-door) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-temple-door) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task jungle-temple-door) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 5 :allocated-length 5 + (new 'static 'task-cstage + :game-task (game-task village1-yakow) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-yakow) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-yakow) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-yakow) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-yakow) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*mayor-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 5 :allocated-length 5 + (new 'static 'task-cstage + :game-task (game-task village1-uncle-money) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-uncle-money) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-uncle-money) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) (-> *GAME-bank* money-task-inc) ) - ) - ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village1-uncle-money) + :status (task-status need-reminder) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-uncle-money) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task village1-uncle-money) - :status (task-status need-reminder) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-uncle-money) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*oracle-village1-tasks* - '*oracle-village1-tasks* - '*sage-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task beach-pelican) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-pelican) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-pelican) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-pelican) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 - (new 'static 'task-cstage - :game-task (game-task beach-flutflut) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-flutflut) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-flutflut) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-flutflut) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-flutflut) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task beach-seagull) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-seagull) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-seagull) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-seagull) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task beach-cannon) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-cannon) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-cannon) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-cannon) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task beach-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task beach-gimmie) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-gimmie) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-gimmie) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-gimmie) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task beach-sentinel) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-sentinel) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-sentinel) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task beach-sentinel) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 - (new 'static 'task-cstage - :game-task (game-task misty-muse) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-muse) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-muse) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-muse) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-muse) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task misty-boat) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-boat) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-boat) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-boat) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task misty-warehouse) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-warehouse) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-warehouse) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-warehouse) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*sage-tasks* - '*assistant-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task misty-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task misty-bike-jump) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-bike-jump) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-bike-jump) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-bike-jump) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task misty-eco-challenge) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-eco-challenge) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-eco-challenge) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task misty-eco-challenge) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*gambler-tasks* - '*geologist-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 - (new 'static 'task-cstage - :game-task (game-task village2-warrior-money) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control)) - (and - (not (task-closed? (game-task ogre-boss) (task-status need-reminder))) - (not - (task-closed? - (game-task village2-levitator) - (task-status need-reward-speech) - ) + '*oracle-village1-tasks* + '*oracle-village1-tasks* + '*sage-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task beach-pelican) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-pelican) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-pelican) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-pelican) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-warrior-money) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition - (lambda ((arg0 task-control)) - (and - (not (task-closed? (game-task ogre-boss) (task-status need-reminder))) - (not - (task-closed? - (game-task village2-levitator) - (task-status need-reward-speech) - ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 5 :allocated-length 5 + (new 'static 'task-cstage + :game-task (game-task beach-flutflut) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-flutflut) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-flutflut) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-flutflut) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-flutflut) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-warrior-money) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 5)) - (>= - ((the-as - (function process event-message-block float) - send-event-function - ) - *target* - a1-0 - ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task beach-seagull) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-seagull) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-seagull) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-seagull) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task beach-cannon) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-cannon) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-cannon) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-cannon) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task beach-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task beach-gimmie) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-gimmie) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-gimmie) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-gimmie) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task beach-sentinel) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-sentinel) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-sentinel) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task beach-sentinel) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 5 :allocated-length 5 + (new 'static 'task-cstage + :game-task (game-task misty-muse) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-muse) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-muse) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-muse) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-muse) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task misty-boat) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-boat) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-boat) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-boat) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task misty-warehouse) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-warehouse) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-warehouse) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-warehouse) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*sage-tasks* + '*assistant-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task misty-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task misty-bike-jump) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-bike-jump) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-bike-jump) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-bike-jump) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task misty-eco-challenge) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-eco-challenge) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-eco-challenge) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task misty-eco-challenge) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*gambler-tasks* + '*geologist-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 5 :allocated-length 5 + (new 'static 'task-cstage + :game-task (game-task village2-warrior-money) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control)) + (and + (not (task-closed? (game-task ogre-boss) (task-status need-reminder))) + (not (task-closed? (game-task village2-levitator) (task-status need-reward-speech))) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-warrior-money) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition + (lambda ((arg0 task-control)) + (and + (not (task-closed? (game-task ogre-boss) (task-status need-reminder))) + (not (task-closed? (game-task village2-levitator) (task-status need-reward-speech))) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-warrior-money) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) + (with-pp + (the-as + symbol + (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 5)) + (>= ((the-as (function process event-message-block float) send-event-function) *target* a1-0) (-> *GAME-bank* money-task-inc) ) - ) - ) + ) + ) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task village2-warrior-money) + :status (task-status need-reminder) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-warrior-money) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task village2-warrior-money) - :status (task-status need-reminder) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-warrior-money) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*oracle-village2-tasks* - '*oracle-village2-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 6 :allocated-length 6 - (new 'static 'task-cstage - :game-task (game-task swamp-billy) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-billy) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-billy) - :status (task-status need-reminder-a) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-billy) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-billy) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-billy) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*assistant-village2-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task swamp-battle) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-battle) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-battle) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-battle) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task swamp-tether-1) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-1) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-1) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-1) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task swamp-tether-2) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-2) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-2) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-2) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task swamp-tether-3) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-3) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-3) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-3) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task swamp-tether-4) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-4) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-4) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-tether-4) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task swamp-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task swamp-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task sunken-platforms) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-platforms) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-platforms) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-platforms) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task sunken-pipe) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-pipe) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-pipe) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-pipe) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task sunken-slide) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-slide) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-slide) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-slide) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*assistant-village2-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task sunken-sharks) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-sharks) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-sharks) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-sharks) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task sunken-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task sunken-top-of-helix) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-top-of-helix) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-top-of-helix) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-top-of-helix) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task sunken-spinning-room) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-spinning-room) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-spinning-room) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task sunken-spinning-room) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*gambler-tasks* - '*assistant-village2-tasks* - '*geologist-tasks* - '*sage-bluehut-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task rolling-lake) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-lake) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-lake) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-lake) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task rolling-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task rolling-ring-chase-1) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-ring-chase-1) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-ring-chase-1) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-ring-chase-1) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task rolling-ring-chase-2) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-ring-chase-2) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-ring-chase-2) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task rolling-ring-chase-2) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*miners-tasks* - '*sage-villagec-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task snow-fort) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-fort) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-fort) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-fort) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task snow-ball) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-ball) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-ball) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-ball) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task snow-bunnies) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-bunnies) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-bunnies) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-bunnies) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task snow-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task snow-bumpers) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-bumpers) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-bumpers) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-bumpers) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task snow-cage) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-cage) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-cage) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task snow-cage) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task firecanyon-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task firecanyon-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task firecanyon-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task firecanyon-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task firecanyon-end) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task firecanyon-end) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task firecanyon-end) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task firecanyon-end) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*citb-greensage-tasks* - '*citb-bluesage-tasks* - '*citb-redsage-tasks* - '*citb-yellowsage-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task village3-extra1) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-extra1) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-extra1) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-extra1) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task village1-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village1-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task village2-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village2-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task village3-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village3-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*miners-tasks* - '*sage-villagec-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task cave-dark-climb) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-dark-climb) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-dark-climb) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-dark-climb) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task cave-robot-climb) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-robot-climb) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-robot-climb) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-robot-climb) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task cave-swing-poles) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-swing-poles) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-swing-poles) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-swing-poles) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task cave-spider-tunnel) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-spider-tunnel) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-spider-tunnel) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-spider-tunnel) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task cave-platforms) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-platforms) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-platforms) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-platforms) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task cave-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task cave-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task ogre-boss) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-boss) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-boss) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-boss) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task ogre-end) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-end) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-end) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-end) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task ogre-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task lavatube-end) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task lavatube-end) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task lavatube-end) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task lavatube-end) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task lavatube-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task lavatube-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task lavatube-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task lavatube-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task citadel-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task citadel-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task citadel-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task citadel-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task training-gimmie) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-gimmie) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-gimmie) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-gimmie) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task training-door) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-door) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-door) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-door) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task training-climb) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-climb) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-climb) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-climb) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task training-buzzer) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-buzzer) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-buzzer) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task training-buzzer) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*miners-tasks* - '*miners-tasks* - '*miners-tasks* - '*miners-tasks* - '*oracle-village3-tasks* - '*oracle-village3-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 - (new 'static 'task-cstage - :game-task (game-task firecanyon-assistant) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (send-event-function *target* a1-0)) 20) + '*oracle-village2-tasks* + '*oracle-village2-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 6 :allocated-length 6 + (new 'static 'task-cstage + :game-task (game-task swamp-billy) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-billy) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-billy) + :status (task-status need-reminder-a) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-billy) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-billy) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-billy) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task firecanyon-assistant) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*assistant-village2-tasks* - '*sage-bluehut-tasks* - '*sage-villagec-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task red-eggtop) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task red-eggtop) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task red-eggtop) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task red-eggtop) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task lavatube-balls) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task lavatube-balls) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task lavatube-balls) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task lavatube-balls) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 - (new 'static 'task-cstage - :game-task (game-task lavatube-start) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (with-pp - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= (the int (send-event-function *target* a1-0)) 72) + '*assistant-village2-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task swamp-battle) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-battle) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-battle) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-battle) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) ) - ) ) - ) - (new 'static 'task-cstage - :game-task (game-task lavatube-start) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - '*sage-tasks* - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 4 :allocated-length 4 - (new 'static 'task-cstage - :game-task (game-task ogre-secret) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-secret) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-secret) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task ogre-secret) - :status (task-status need-resolution) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 3 :allocated-length 3 - (new 'static 'task-cstage - :game-task (game-task village4-button) - :status (task-status unknown) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village4-button) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task village4-button) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 5 :allocated-length 5 - (new 'static 'task-cstage - :game-task (game-task finalboss-movies) - :status (task-status unknown) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task finalboss-movies) - :status (task-status need-introduction) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task finalboss-movies) - :status (task-status need-reminder-a) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task finalboss-movies) - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task finalboss-movies) - :status (task-status need-reward-speech) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 - (new 'static 'task-cstage - :game-task (game-task plunger-lurker-hit) - :status (task-status unknown) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task plunger-lurker-hit) - :status (task-status need-hint) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 - (new 'static 'task-cstage - :game-task (game-task leaving-misty) - :status (task-status need-introduction) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - (new 'static 'task-cstage - :game-task (game-task leaving-misty) - :status (task-status need-reminder) - :flags - (task-flags has-entity closed-by-default) - :condition (lambda ((arg0 task-control)) #t) - ) - ) - ) - (new 'static 'task-control - :current-stage -1 - :stage - (new - 'static - 'boxed-array - :type task-cstage :length 2 :allocated-length 2 - (new 'static 'task-cstage - :status (task-status unknown) - :flags (task-flags has-entity) - :condition - (lambda ((arg0 task-control)) - (task-closed? - (game-task village4-button) - (task-status need-reward-speech) - ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task swamp-tether-1) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-1) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-1) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-1) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task swamp-tether-2) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-2) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-2) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-2) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task swamp-tether-3) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-3) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-3) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-3) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task swamp-tether-4) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-4) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-4) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-tether-4) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task swamp-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task swamp-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task sunken-platforms) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-platforms) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-platforms) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-platforms) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task sunken-pipe) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-pipe) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-pipe) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-pipe) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task sunken-slide) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-slide) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-slide) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-slide) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*assistant-village2-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task sunken-sharks) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-sharks) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-sharks) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-sharks) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task sunken-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task sunken-top-of-helix) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-top-of-helix) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-top-of-helix) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-top-of-helix) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task sunken-spinning-room) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-spinning-room) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-spinning-room) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task sunken-spinning-room) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*gambler-tasks* + '*assistant-village2-tasks* + '*geologist-tasks* + '*sage-bluehut-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task rolling-lake) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-lake) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-lake) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-lake) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task rolling-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task rolling-ring-chase-1) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-ring-chase-1) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-ring-chase-1) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-ring-chase-1) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task rolling-ring-chase-2) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-ring-chase-2) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-ring-chase-2) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task rolling-ring-chase-2) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*miners-tasks* + '*sage-villagec-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task snow-fort) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-fort) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-fort) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-fort) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task snow-ball) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-ball) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-ball) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-ball) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task snow-bunnies) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-bunnies) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-bunnies) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-bunnies) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task snow-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task snow-bumpers) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-bumpers) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-bumpers) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-bumpers) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task snow-cage) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-cage) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-cage) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task snow-cage) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task firecanyon-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task firecanyon-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task firecanyon-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task firecanyon-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task firecanyon-end) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task firecanyon-end) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task firecanyon-end) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task firecanyon-end) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*citb-greensage-tasks* + '*citb-bluesage-tasks* + '*citb-redsage-tasks* + '*citb-yellowsage-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task village3-extra1) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-extra1) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-extra1) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-extra1) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task village1-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village1-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task village2-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village2-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task village3-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village3-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*miners-tasks* + '*sage-villagec-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task cave-dark-climb) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-dark-climb) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-dark-climb) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-dark-climb) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task cave-robot-climb) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-robot-climb) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-robot-climb) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-robot-climb) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task cave-swing-poles) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-swing-poles) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-swing-poles) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-swing-poles) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task cave-spider-tunnel) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-spider-tunnel) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-spider-tunnel) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-spider-tunnel) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task cave-platforms) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-platforms) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-platforms) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-platforms) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task cave-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task cave-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task ogre-boss) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-boss) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-boss) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-boss) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task ogre-end) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-end) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-end) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-end) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task ogre-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task lavatube-end) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task lavatube-end) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task lavatube-end) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task lavatube-end) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task lavatube-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task lavatube-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task lavatube-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task lavatube-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task citadel-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task citadel-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task citadel-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task citadel-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task training-gimmie) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-gimmie) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-gimmie) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-gimmie) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task training-door) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-door) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-door) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-door) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task training-climb) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-climb) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-climb) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-climb) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task training-buzzer) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-buzzer) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-buzzer) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task training-buzzer) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*miners-tasks* + '*miners-tasks* + '*miners-tasks* + '*miners-tasks* + '*oracle-village3-tasks* + '*oracle-village3-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 2 :allocated-length 2 + (new 'static 'task-cstage + :game-task (game-task firecanyon-assistant) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) (with-pp + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-0)) 20) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task firecanyon-assistant) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*assistant-village2-tasks* + '*sage-bluehut-tasks* + '*sage-villagec-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task red-eggtop) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task red-eggtop) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task red-eggtop) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task red-eggtop) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task lavatube-balls) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task lavatube-balls) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task lavatube-balls) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task lavatube-balls) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 2 :allocated-length 2 + (new 'static 'task-cstage + :game-task (game-task lavatube-start) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) (with-pp + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 6)) + (>= (the int (send-event-function *target* a1-0)) 72) + ) + ) + ) + ) + (new 'static 'task-cstage + :game-task (game-task lavatube-start) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + '*sage-tasks* + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 4 :allocated-length 4 + (new 'static 'task-cstage + :game-task (game-task ogre-secret) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-secret) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-secret) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task ogre-secret) + :status (task-status need-resolution) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 3 :allocated-length 3 + (new 'static 'task-cstage + :game-task (game-task village4-button) + :status (task-status unknown) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village4-button) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task village4-button) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 5 :allocated-length 5 + (new 'static 'task-cstage + :game-task (game-task finalboss-movies) + :status (task-status unknown) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task finalboss-movies) + :status (task-status need-introduction) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task finalboss-movies) + :status (task-status need-reminder-a) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task finalboss-movies) + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task finalboss-movies) + :status (task-status need-reward-speech) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 2 :allocated-length 2 + (new 'static 'task-cstage + :game-task (game-task plunger-lurker-hit) + :status (task-status unknown) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task plunger-lurker-hit) + :status (task-status need-hint) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 2 :allocated-length 2 + (new 'static 'task-cstage + :game-task (game-task leaving-misty) + :status (task-status need-introduction) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + (new 'static 'task-cstage + :game-task (game-task leaving-misty) + :status (task-status need-reminder) + :flags + (task-flags has-entity closed-by-default) + :condition (lambda ((arg0 task-control)) #t) + ) + ) + ) + (new 'static 'task-control + :current-stage -1 + :stage + (new + 'static + 'boxed-array + :type task-cstage :length 2 :allocated-length 2 + (new 'static 'task-cstage + :status (task-status unknown) + :flags (task-flags has-entity) + :condition + (lambda ((arg0 task-control)) (task-closed? (game-task village4-button) (task-status need-reward-speech))) + ) + (new 'static 'task-cstage + :status (task-status need-reminder) + :flags (task-flags has-entity) + :condition (lambda ((arg0 task-control)) #t) + ) + ) ) - ) - (new 'static 'task-cstage - :status (task-status need-reminder) - :flags (task-flags has-entity) - :condition (lambda ((arg0 task-control)) #t) - ) ) - ) ) - ) ) ;; definition for function task-control-reset ;; INFO: Return type mismatch int vs none. (defun task-control-reset ((arg0 symbol)) (let ((s5-0 *task-controls*)) - (countdown (s4-0 (-> s5-0 length)) - (reset! (the-as task-control (-> s5-0 s4-0)) arg0 #f) - (first-any (the-as task-control (-> s5-0 s4-0)) #f) + (countdown (s4-0 (-> s5-0 length)) + (reset! (the-as task-control (-> s5-0 s4-0)) arg0 #f) + (first-any (the-as task-control (-> s5-0 s4-0)) #f) + ) ) - ) 0 (none) ) @@ -5385,94 +5071,76 @@ ;; definition for function get-task-control ;; INFO: Return type mismatch basic vs task-control. (defun get-task-control ((arg0 game-task)) - (the-as task-control (cond - ((or - (>= (the-as uint 1) (the-as uint arg0)) - (>= (the-as uint arg0) (the-as uint 116)) - ) - (format - 0 - "ERROR: get-task-control received invalid task ~D/~S~%" - arg0 - (game-task->string arg0) - ) - *null-task-control* - ) - (else - (-> *task-controls* arg0) - ) - ) - ) + (the-as + task-control + (cond + ((or (>= (the-as uint 1) (the-as uint arg0)) (>= (the-as uint arg0) (the-as uint 116))) + (format 0 "ERROR: get-task-control received invalid task ~D/~S~%" arg0 (game-task->string arg0)) + *null-task-control* + ) + (else + (-> *task-controls* arg0) + ) + ) + ) ) ;; definition for function get-task-status ;; INFO: Return type mismatch int vs task-status. (defun get-task-status ((arg0 game-task)) (let ((gp-0 (get-task-control arg0))) - (when gp-0 - (dotimes (s5-0 (-> gp-0 stage length)) - (when - (and - (= arg0 (-> gp-0 stage s5-0 game-task)) - (task-available? (-> gp-0 stage s5-0) gp-0) - ) - (first-any gp-0 #t) - (return (the-as task-status (-> gp-0 stage s5-0 status))) + (when gp-0 + (dotimes (s5-0 (-> gp-0 stage length)) + (when (and (= arg0 (-> gp-0 stage s5-0 game-task)) (task-available? (-> gp-0 stage s5-0) gp-0)) + (first-any gp-0 #t) + (return (the-as task-status (-> gp-0 stage s5-0 status))) + ) + ) ) - ) + (first-any gp-0 #t) ) - (first-any gp-0 #t) - ) (the-as task-status 0) ) ;; definition for function close-specific-task! (defun close-specific-task! ((arg0 game-task) (arg1 task-status)) (let ((gp-0 (get-task-control arg0))) - (when gp-0 - (dotimes (v1-1 (-> gp-0 stage length)) - (when - (and - (= arg0 (-> gp-0 stage v1-1 game-task)) - (= arg1 (-> gp-0 stage v1-1 status)) - ) - (close-task! (-> gp-0 stage v1-1)) - (return (first-any gp-0 #t)) + (when gp-0 + (dotimes (v1-1 (-> gp-0 stage length)) + (when (and (= arg0 (-> gp-0 stage v1-1 game-task)) (= arg1 (-> gp-0 stage v1-1 status))) + (close-task! (-> gp-0 stage v1-1)) + (return (first-any gp-0 #t)) + ) + ) + (format + 0 + "ERROR: close-specific! received non-existent task-cstage(~S ~S)--returning #t.~%" + (game-task->string arg0) + (task-status->string arg1) + ) ) - ) - (format - 0 - "ERROR: close-specific! received non-existent task-cstage(~S ~S)--returning #t.~%" - (game-task->string arg0) - (task-status->string arg1) - ) ) - ) 0 ) ;; definition for function open-specific-task! (defun open-specific-task! ((arg0 game-task) (arg1 task-status)) (let ((gp-0 (get-task-control arg0))) - (when gp-0 - (dotimes (v1-1 (-> gp-0 stage length)) - (when - (and - (= arg0 (-> gp-0 stage v1-1 game-task)) - (= arg1 (-> gp-0 stage v1-1 status)) - ) - (open-task! (-> gp-0 stage v1-1)) - (return (first-any gp-0 #t)) + (when gp-0 + (dotimes (v1-1 (-> gp-0 stage length)) + (when (and (= arg0 (-> gp-0 stage v1-1 game-task)) (= arg1 (-> gp-0 stage v1-1 status))) + (open-task! (-> gp-0 stage v1-1)) + (return (first-any gp-0 #t)) + ) + ) + (format + 0 + "ERROR: open-specific! received non-existent task-cstage(~S ~S)--returning #t.~%" + (game-task->string arg0) + (task-status->string arg1) + ) ) - ) - (format - 0 - "ERROR: open-specific! received non-existent task-cstage(~S ~S)--returning #t.~%" - (game-task->string arg0) - (task-status->string arg1) - ) ) - ) 0 ) @@ -5488,20 +5156,20 @@ ;; definition for function task-known? (defun task-known? ((arg0 game-task)) - (case (get-task-status arg0) - (((task-status need-reward-speech) - (task-status need-introduction) - (task-status need-reminder) - (task-status need-reminder-a) - (task-status need-resolution) - (task-status invalid) - ) + (case (get-task-status arg0) + (((task-status need-reward-speech) + (task-status need-introduction) + (task-status need-reminder) + (task-status need-reminder-a) + (task-status need-resolution) + (task-status invalid) + ) #t ) - (else - #f + (else + #f + ) ) - ) ) ;; definition for function sages-kidnapped? @@ -5512,23 +5180,20 @@ ;; failed to figure out what this is: (let ((gp-0 *task-controls*)) (countdown (s5-0 (-> gp-0 length)) - (when (and (-> gp-0 s5-0) (= (-> gp-0 s5-0 type) symbol)) - (let ((s4-0 (-> (the-as symbol (-> gp-0 s5-0)) value))) - (cond - ((and (nonzero? s4-0) (type-type? (rtype-of s4-0) task-control)) - (set! (-> gp-0 s5-0) (the-as basic s4-0)) - ) - (else - (format - 0 - "ERROR: value of symbol ~A in task-controls is not a task-control~%" + (when (and (-> gp-0 s5-0) (= (-> gp-0 s5-0 type) symbol)) + (let ((s4-0 (-> (the-as symbol (-> gp-0 s5-0)) value))) + (cond + ((and (nonzero? s4-0) (type-type? (rtype-of s4-0) task-control)) + (set! (-> gp-0 s5-0) (the-as basic s4-0)) + ) + (else + (format 0 "ERROR: value of symbol ~A in task-controls is not a task-control~%") + (set! (-> gp-0 s5-0) '*null-task-control*) + ) + ) ) - (set! (-> gp-0 s5-0) '*null-task-control*) - ) ) - ) ) - ) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/engine/game/video_REF.gc b/test/decompiler/reference/engine/game/video_REF.gc index 64b1e46430..7979e7aa83 100644 --- a/test/decompiler/reference/engine/game/video_REF.gc +++ b/test/decompiler/reference/engine/game/video_REF.gc @@ -4,8 +4,8 @@ ;; definition for function set-video-mode ;; INFO: Return type mismatch int vs none. (defun set-video-mode ((arg0 symbol)) - (case arg0 - (('ntsc) + (case arg0 + (('ntsc) (set! (-> *video-parms* screen-sy) 224) (set! (-> *setting-control* default screenx) 0) (set! (-> *setting-control* default screeny) 8) @@ -17,45 +17,36 @@ (set! (-> *math-camera* y-clip) 448.0) (set! (-> *shadow-data* texoffset y) 112.5) ) - (('pal) - (set! (-> *video-parms* screen-sy) 256) - (set! (-> *setting-control* default screenx) 0) - (set! (-> *setting-control* default screeny) 24) - (set! (-> *video-parms* screen-pages-high) 8) - (set! (-> *video-parms* relative-y-scale) 1.1428572) - (set! *ticks-per-frame* #x2dc6) - (set! (-> *math-camera* isometric vector 1 y) 0.4375) - (set! (-> *math-camera* y-pix) 128.0) - (set! (-> *math-camera* y-clip) 512.0) - (set! (-> *shadow-data* texoffset y) 128.5) + (('pal) + (set! (-> *video-parms* screen-sy) 256) + (set! (-> *setting-control* default screenx) 0) + (set! (-> *setting-control* default screeny) 24) + (set! (-> *video-parms* screen-pages-high) 8) + (set! (-> *video-parms* relative-y-scale) 1.1428572) + (set! *ticks-per-frame* #x2dc6) + (set! (-> *math-camera* isometric vector 1 y) 0.4375) + (set! (-> *math-camera* y-pix) 128.0) + (set! (-> *math-camera* y-clip) 512.0) + (set! (-> *shadow-data* texoffset y) 128.5) + ) ) - ) (set-time-ratios *display* (-> *display* time-ratio)) (set! (-> *video-parms* reset-video-mode) #t) (set! (-> *video-parms* screen-hy) (/ (-> *video-parms* screen-sy) 2)) (set! (-> *video-parms* screen-miny) (- 2048 (-> *video-parms* screen-hy))) (set! (-> *video-parms* screen-maxy) (+ (-> *video-parms* screen-hy) 2048)) (set! (-> *video-parms* screen-masky) (+ (-> *video-parms* screen-sy) -1)) - (set! - (-> *pause-context* origin y) - (the float (+ (-> *video-parms* screen-sy) -54)) - ) + (set! (-> *pause-context* origin y) (the float (+ (-> *video-parms* screen-sy) -54))) (set! (-> *pause-context* height) (the float (-> *video-parms* screen-sy))) - (set! - (-> *font-default-matrix* vector 1 y) - (-> *video-parms* relative-y-scale) - ) - (set! - (-> *font-default-matrix* vector 3 y) - (- (the float (-> *video-parms* screen-hy))) - ) + (set! (-> *font-default-matrix* vector 1 y) (-> *video-parms* relative-y-scale)) + (set! (-> *font-default-matrix* vector 3 y) (- (the float (-> *video-parms* screen-hy)))) (set! (-> *video-parms* relative-y-scale-reciprical) 1.0) (set! *profile-y* (+ (-> *video-parms* screen-miny) 8)) (set! (-> *video-parms* set-video-mode) #t) (set-hud-aspect-ratio (get-aspect-ratio) arg0) (if *progress-process* - (adjust-ratios (-> *progress-process* 0) (get-aspect-ratio) arg0) - ) + (adjust-ratios (-> *progress-process* 0) (get-aspect-ratio) arg0) + ) 0 (none) ) @@ -68,24 +59,21 @@ ;; definition for function set-aspect-ratio ;; INFO: Return type mismatch int vs none. (defun set-aspect-ratio ((arg0 symbol)) - (case arg0 - (('aspect4x3) + (case arg0 + (('aspect4x3) (set! (-> *video-parms* relative-x-scale) 1.0) (set! (-> *video-parms* relative-x-scale-reciprical) 1.0) ) - (('aspect16x9) - (set! (-> *video-parms* relative-x-scale) 0.75) - (set! (-> *video-parms* relative-x-scale-reciprical) 1.3333334) + (('aspect16x9) + (set! (-> *video-parms* relative-x-scale) 0.75) + (set! (-> *video-parms* relative-x-scale-reciprical) 1.3333334) + ) ) - ) - (set! - (-> *font-default-matrix* vector 0 x) - (-> *video-parms* relative-x-scale) - ) + (set! (-> *font-default-matrix* vector 0 x) (-> *video-parms* relative-x-scale)) (set-hud-aspect-ratio arg0 (get-video-mode)) (if *progress-process* - (adjust-ratios (-> *progress-process* 0) arg0 (get-video-mode)) - ) + (adjust-ratios (-> *progress-process* 0) arg0 (get-video-mode)) + ) 0 (none) ) diff --git a/test/decompiler/reference/engine/geometry/bounding-box_REF.gc b/test/decompiler/reference/engine/geometry/bounding-box_REF.gc index 9cafcb977f..a408f00a04 100644 --- a/test/decompiler/reference/engine/geometry/bounding-box_REF.gc +++ b/test/decompiler/reference/engine/geometry/bounding-box_REF.gc @@ -4,32 +4,29 @@ ;; definition for function box-vector-enside? (defun box-vector-enside? ((box bounding-box) (pt vector)) (and - (< (-> box min x) (-> pt x)) - (< (-> box min y) (-> pt y)) - (< (-> box min z) (-> pt z)) - (< (-> pt x) (-> box max x)) - (< (-> pt y) (-> box max y)) - (< (-> pt z) (-> box max z)) - ) + (< (-> box min x) (-> pt x)) + (< (-> box min y) (-> pt y)) + (< (-> box min z) (-> pt z)) + (< (-> pt x) (-> box max x)) + (< (-> pt y) (-> box max y)) + (< (-> pt z) (-> box max z)) + ) ) ;; definition for function box-vector-inside? (defun box-vector-inside? ((box bounding-box) (pt vector)) (and - (>= (-> pt x) (-> box min x)) - (>= (-> pt y) (-> box min y)) - (>= (-> pt z) (-> box min z)) - (>= (-> box max x) (-> pt x)) - (>= (-> box max y) (-> pt y)) - (>= (-> box max z) (-> pt z)) - ) + (>= (-> pt x) (-> box min x)) + (>= (-> pt y) (-> box min y)) + (>= (-> pt z) (-> box min z)) + (>= (-> box max x) (-> pt x)) + (>= (-> box max y) (-> pt y)) + (>= (-> box max z) (-> pt z)) + ) ) ;; definition for method 11 of type bounding-box -(defmethod - set-from-point-offset! - bounding-box - ((obj bounding-box) (arg0 vector3s) (arg1 vector3s)) +(defmethod set-from-point-offset! bounding-box ((obj bounding-box) (arg0 vector3s) (arg1 vector3s)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) @@ -37,18 +34,18 @@ (vf4 :class vf) (vf5 :class vf) ) - (init-vf0-vector) - (.lvf vf3 arg1) - (.lvf vf4 arg0) - (.add.vf vf5 vf4 vf3) - (.min.vf vf1 vf4 vf5) - (.max.vf vf2 vf4 vf5) - (.mov.vf vf1 vf0 :mask #b1000) - (.mov.vf vf2 vf0 :mask #b1000) - (.svf (&-> obj min quad) vf1) - (.svf (&-> obj max quad) vf2) - 0 - ) + (init-vf0-vector) + (.lvf vf3 arg1) + (.lvf vf4 arg0) + (.add.vf vf5 vf4 vf3) + (.min.vf vf1 vf4 vf5) + (.max.vf vf2 vf4 vf5) + (.mov.vf vf1 vf0 :mask #b1000) + (.mov.vf vf2 vf0 :mask #b1000) + (.svf (&-> obj min quad) vf1) + (.svf (&-> obj max quad) vf2) + 0 + ) ) ;; definition for method 10 of type bounding-box @@ -57,15 +54,15 @@ (vf2 :class vf) (vf3 :class vf) ) - (.lvf vf1 (&-> obj min quad)) - (.lvf vf2 (&-> obj max quad)) - (.lvf vf3 arg0) - (.min.vf vf1 vf1 vf3) - (.max.vf vf2 vf2 vf3) - (.svf (&-> obj min quad) vf1) - (.svf (&-> obj max quad) vf2) - 0 - ) + (.lvf vf1 (&-> obj min quad)) + (.lvf vf2 (&-> obj max quad)) + (.lvf vf3 arg0) + (.min.vf vf1 vf1 vf3) + (.max.vf vf2 vf2 vf3) + (.svf (&-> obj min quad) vf1) + (.svf (&-> obj max quad) vf2) + 0 + ) ) ;; definition for method 15 of type bounding-box @@ -75,23 +72,20 @@ (vf3 :class vf) (vf4 :class vf) ) - (.lvf vf1 (&-> obj min quad)) - (.lvf vf2 (&-> obj max quad)) - (.lvf vf3 (&-> arg0 min quad)) - (.lvf vf4 (&-> arg0 max quad)) - (.min.vf vf1 vf1 vf3) - (.max.vf vf2 vf2 vf4) - (.svf (&-> obj min quad) vf1) - (.svf (&-> obj max quad) vf2) - 0 - ) + (.lvf vf1 (&-> obj min quad)) + (.lvf vf2 (&-> obj max quad)) + (.lvf vf3 (&-> arg0 min quad)) + (.lvf vf4 (&-> arg0 max quad)) + (.min.vf vf1 vf1 vf3) + (.max.vf vf2 vf2 vf4) + (.svf (&-> obj min quad) vf1) + (.svf (&-> obj max quad) vf2) + 0 + ) ) ;; definition for method 12 of type bounding-box -(defmethod - set-from-point-offset-pad! - bounding-box - ((obj bounding-box) (arg0 vector3s) (arg1 vector3s) (arg2 float)) +(defmethod set-from-point-offset-pad! bounding-box ((obj bounding-box) (arg0 vector3s) (arg1 vector3s) (arg2 float)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) @@ -100,21 +94,21 @@ (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (.lvf vf4 arg1) - (.lvf vf5 arg0) - (.mov vf1 arg2) - (.add.vf vf6 vf5 vf4) - (.min.vf vf2 vf5 vf6) - (.max.vf vf3 vf5 vf6) - (.add.x.vf vf3 vf3 vf1 :mask #b111) - (.sub.x.vf vf2 vf2 vf1 :mask #b111) - (.mov.vf vf2 vf0 :mask #b1000) - (.mov.vf vf3 vf0 :mask #b1000) - (.svf (&-> obj min quad) vf2) - (.svf (&-> obj max quad) vf3) - 0 - ) + (init-vf0-vector) + (.lvf vf4 arg1) + (.lvf vf5 arg0) + (.mov vf1 arg2) + (.add.vf vf6 vf5 vf4) + (.min.vf vf2 vf5 vf6) + (.max.vf vf3 vf5 vf6) + (.add.x.vf vf3 vf3 vf1 :mask #b111) + (.sub.x.vf vf2 vf2 vf1 :mask #b111) + (.mov.vf vf2 vf0 :mask #b1000) + (.mov.vf vf3 vf0 :mask #b1000) + (.svf (&-> obj min quad) vf2) + (.svf (&-> obj max quad) vf3) + 0 + ) ) ;; definition for method 13 of type bounding-box @@ -124,16 +118,16 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 quad)) - (.sub.w.vf vf2 vf1 vf1 :mask #b111) - (.add.w.vf vf3 vf1 vf1 :mask #b111) - (.mov.vf vf2 vf0 :mask #b1000) - (.mov.vf vf3 vf0 :mask #b1000) - (.svf (&-> obj min quad) vf2) - (.svf (&-> obj max quad) vf3) - 0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 quad)) + (.sub.w.vf vf2 vf1 vf1 :mask #b111) + (.add.w.vf vf3 vf1 vf1 :mask #b111) + (.mov.vf vf2 vf0 :mask #b1000) + (.mov.vf vf3 vf0 :mask #b1000) + (.svf (&-> obj min quad) vf2) + (.svf (&-> obj max quad) vf3) + 0 + ) ) ;; definition for method 14 of type bounding-box @@ -141,7 +135,3 @@ ;; definition for method 9 of type bounding-box ;; ERROR: function was not converted to expressions. Cannot decompile. - - - - diff --git a/test/decompiler/reference/engine/geometry/cylinder_REF.gc b/test/decompiler/reference/engine/geometry/cylinder_REF.gc index f259a9c9c0..6693914951 100644 --- a/test/decompiler/reference/engine/geometry/cylinder_REF.gc +++ b/test/decompiler/reference/engine/geometry/cylinder_REF.gc @@ -2,55 +2,37 @@ (in-package goal) ;; definition for method 10 of type cylinder -(defmethod - ray-capsule-intersect - cylinder - ((obj cylinder) (probe-origin vector) (probe-dir vector)) +(defmethod ray-capsule-intersect cylinder ((obj cylinder) (probe-origin vector) (probe-dir vector)) (let ((t2-0 (new 'stack-no-clear 'vector)) (end-pt (new 'stack-no-clear 'vector)) ) - 0.0 - 0.0 - (let - ((result - (ray-cylinder-intersect - probe-origin - probe-dir - (-> obj origin) - (-> obj axis) - (-> obj radius) - (-> obj length) - t2-0 - ) - ) - ) - (let - ((u-origin-sph - (ray-sphere-intersect - probe-origin - probe-dir - (-> obj origin) - (-> obj radius) + 0.0 + 0.0 + (let ((result (ray-cylinder-intersect + probe-origin + probe-dir + (-> obj origin) + (-> obj axis) + (-> obj radius) + (-> obj length) + t2-0 + ) + ) + ) + (let ((u-origin-sph (ray-sphere-intersect probe-origin probe-dir (-> obj origin) (-> obj radius)))) + (if (and (>= u-origin-sph 0.0) (or (< result 0.0) (< u-origin-sph result))) + (set! result u-origin-sph) + ) ) - ) + (vector+float*! end-pt (-> obj origin) (-> obj axis) (-> obj length)) + (let ((u-end-sphere (ray-sphere-intersect probe-origin probe-dir end-pt (-> obj radius)))) + (if (and (>= u-end-sphere 0.0) (or (< result 0.0) (< u-end-sphere result))) + (set! result u-end-sphere) + ) + ) + result ) - (if (and (>= u-origin-sph 0.0) (or (< result 0.0) (< u-origin-sph result))) - (set! result u-origin-sph) - ) - ) - (vector+float*! end-pt (-> obj origin) (-> obj axis) (-> obj length)) - (let - ((u-end-sphere - (ray-sphere-intersect probe-origin probe-dir end-pt (-> obj radius)) - ) - ) - (if (and (>= u-end-sphere 0.0) (or (< result 0.0) (< u-end-sphere result))) - (set! result u-end-sphere) - ) - ) - result ) - ) ) ;; definition of type cylinder-verts @@ -74,221 +56,171 @@ ;; Used lq/sq (defmethod debug-draw cylinder ((obj cylinder) (arg0 vector4w)) (local-vars - (sv-896 matrix) - (sv-912 int) - (sv-928 (function vector vector vector float vector)) - (sv-944 vector) - (sv-960 vector) - (sv-976 vector) - (sv-992 (function vector vector vector float vector)) - (sv-1008 vector) - (sv-1024 vector) - (sv-1040 vector) - (sv-1056 (function vector vector vector float vector)) - (sv-1072 vector) - (sv-1088 vector) - (sv-1104 vector) - (sv-1120 (function vector vector vector float vector)) - (sv-1136 vector) - (sv-1152 vector) - (sv-1168 vector) - ) + (sv-896 matrix) + (sv-912 int) + (sv-928 (function vector vector vector float vector)) + (sv-944 vector) + (sv-960 vector) + (sv-976 vector) + (sv-992 (function vector vector vector float vector)) + (sv-1008 vector) + (sv-1024 vector) + (sv-1040 vector) + (sv-1056 (function vector vector vector float vector)) + (sv-1072 vector) + (sv-1088 vector) + (sv-1104 vector) + (sv-1120 (function vector vector vector float vector)) + (sv-1136 vector) + (sv-1152 vector) + (sv-1168 vector) + ) (rlet ((vf0 :class vf) (vf4 :class vf) (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (let ((s1-0 (new 'stack-no-clear 'vector)) - (s0-0 (new 'stack-no-clear 'vector)) - ) - (if (< 0.999 (fabs (-> obj axis y))) - (vector-cross! s1-0 (-> obj axis) (new 'static 'vector :z 1.0)) - (vector-cross! s1-0 (-> obj axis) (new 'static 'vector :y 1.0)) - ) - (vector-normalize! s1-0 (-> obj radius)) - (vector-float*! s0-0 (-> obj axis) (* 0.125 (-> obj length))) - (let ((s5-0 (new 'stack-no-clear 'cylinder-verts)) - (s4-0 (new 'stack-no-clear 'cylinder-verts)) - (s3-0 (new 'stack-no-clear 'matrix)) + (init-vf0-vector) + (let ((s1-0 (new 'stack-no-clear 'vector)) + (s0-0 (new 'stack-no-clear 'vector)) ) - (matrix-axis-angle! s3-0 (-> obj axis) 4096.0) - (set! sv-896 (new 'stack-no-clear 'matrix)) - (vector-matrix*! (the-as vector sv-896) (-> obj origin) s3-0) - (let ((v1-5 (-> s3-0 vector 3))) - (.lvf vf4 (&-> (-> obj origin) quad)) - (.lvf vf5 (&-> sv-896 vector 0 quad)) - (.mov.vf vf6 vf0 :mask #b1000) - (.sub.vf vf6 vf4 vf5 :mask #b111) - (.svf (&-> v1-5 quad) vf6) - ) - (set! sv-912 0) - (while (< sv-912 8) - (vector+! (-> s5-0 vert (+ sv-912 8)) (-> obj origin) s1-0) - (vector+float*! - (-> s5-0 vert (+ sv-912 8)) - (-> s5-0 vert (+ sv-912 8)) - s0-0 - (the float sv-912) - ) - (set! sv-912 (+ sv-912 1)) - ) - (dotimes (s0-1 8) - (set! sv-928 vector+float*!) - (set! sv-944 (-> s5-0 vert s0-1)) - (set! sv-960 (-> obj origin)) - (set! sv-976 s1-0) - (let ((a3-1 (cos (* 2048.0 (the float (- 7 s0-1)))))) - (sv-928 sv-944 sv-960 sv-976 a3-1) - ) - (set! sv-992 vector+float*!) - (set! sv-1008 (-> s5-0 vert s0-1)) - (set! sv-1024 (-> s5-0 vert s0-1)) - (set! sv-1040 (-> obj axis)) - (let - ((a3-2 (* (- (-> obj radius)) (sin (* 2048.0 (the float (- 7 s0-1))))))) - (sv-992 sv-1008 sv-1024 sv-1040 a3-2) - ) - (set! sv-1056 vector+float*!) - (set! sv-1072 (-> s5-0 vert (+ s0-1 16))) - (set! sv-1088 (-> obj origin)) - (set! sv-1104 s1-0) - (let ((a3-3 (cos (* 2048.0 (the float s0-1))))) - (sv-1056 sv-1072 sv-1088 sv-1104 a3-3) - ) - (set! sv-1120 vector+float*!) - (set! sv-1136 (-> s5-0 vert (+ s0-1 16))) - (set! sv-1152 (-> s5-0 vert (+ s0-1 16))) - (set! sv-1168 (-> obj axis)) - (let - ((a3-4 - (+ - (-> obj length) - (* (-> obj radius) (sin (* 2048.0 (the float s0-1)))) + (if (< 0.999 (fabs (-> obj axis y))) + (vector-cross! s1-0 (-> obj axis) (new 'static 'vector :z 1.0)) + (vector-cross! s1-0 (-> obj axis) (new 'static 'vector :y 1.0)) + ) + (vector-normalize! s1-0 (-> obj radius)) + (vector-float*! s0-0 (-> obj axis) (* 0.125 (-> obj length))) + (let ((s5-0 (new 'stack-no-clear 'cylinder-verts)) + (s4-0 (new 'stack-no-clear 'cylinder-verts)) + (s3-0 (new 'stack-no-clear 'matrix)) + ) + (matrix-axis-angle! s3-0 (-> obj axis) 4096.0) + (set! sv-896 (new 'stack-no-clear 'matrix)) + (vector-matrix*! (the-as vector sv-896) (-> obj origin) s3-0) + (let ((v1-5 (-> s3-0 vector 3))) + (.lvf vf4 (&-> (-> obj origin) quad)) + (.lvf vf5 (&-> sv-896 vector 0 quad)) + (.mov.vf vf6 vf0 :mask #b1000) + (.sub.vf vf6 vf4 vf5 :mask #b111) + (.svf (&-> v1-5 quad) vf6) + ) + (set! sv-912 0) + (while (< sv-912 8) + (vector+! (-> s5-0 vert (+ sv-912 8)) (-> obj origin) s1-0) + (vector+float*! (-> s5-0 vert (+ sv-912 8)) (-> s5-0 vert (+ sv-912 8)) s0-0 (the float sv-912)) + (set! sv-912 (+ sv-912 1)) + ) + (dotimes (s0-1 8) + (set! sv-928 vector+float*!) + (set! sv-944 (-> s5-0 vert s0-1)) + (set! sv-960 (-> obj origin)) + (set! sv-976 s1-0) + (let ((a3-1 (cos (* 2048.0 (the float (- 7 s0-1)))))) + (sv-928 sv-944 sv-960 sv-976 a3-1) + ) + (set! sv-992 vector+float*!) + (set! sv-1008 (-> s5-0 vert s0-1)) + (set! sv-1024 (-> s5-0 vert s0-1)) + (set! sv-1040 (-> obj axis)) + (let ((a3-2 (* (- (-> obj radius)) (sin (* 2048.0 (the float (- 7 s0-1))))))) + (sv-992 sv-1008 sv-1024 sv-1040 a3-2) + ) + (set! sv-1056 vector+float*!) + (set! sv-1072 (-> s5-0 vert (+ s0-1 16))) + (set! sv-1088 (-> obj origin)) + (set! sv-1104 s1-0) + (let ((a3-3 (cos (* 2048.0 (the float s0-1))))) + (sv-1056 sv-1072 sv-1088 sv-1104 a3-3) + ) + (set! sv-1120 vector+float*!) + (set! sv-1136 (-> s5-0 vert (+ s0-1 16))) + (set! sv-1152 (-> s5-0 vert (+ s0-1 16))) + (set! sv-1168 (-> obj axis)) + (let ((a3-4 (+ (-> obj length) (* (-> obj radius) (sin (* 2048.0 (the float s0-1))))))) + (sv-1120 sv-1136 sv-1152 sv-1168 a3-4) + ) + ) + (dotimes (s2-1 16) + (dotimes (s1-1 24) + (vector-matrix*! (-> s4-0 vert s1-1) (-> s5-0 vert s1-1) s3-0) + (camera-line (-> s5-0 vert s1-1) (-> s4-0 vert s1-1) arg0) + (if (nonzero? s1-1) + (camera-line (-> s5-0 vert s1-1) (-> s5-0 vert (+ s1-1 -1)) arg0) + ) + ) + (let ((v1-77 s5-0)) + (set! s5-0 s4-0) + (set! s4-0 v1-77) + ) ) - ) ) - (sv-1120 sv-1136 sv-1152 sv-1168 a3-4) - ) ) - (dotimes (s2-1 16) - (dotimes (s1-1 24) - (vector-matrix*! (-> s4-0 vert s1-1) (-> s5-0 vert s1-1) s3-0) - (camera-line (-> s5-0 vert s1-1) (-> s4-0 vert s1-1) arg0) - (if (nonzero? s1-1) - (camera-line (-> s5-0 vert s1-1) (-> s5-0 vert (+ s1-1 -1)) arg0) - ) - ) - (let ((v1-77 s5-0)) - (set! s5-0 s4-0) - (set! s4-0 v1-77) - ) - ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function ray-arbitrary-circle-intersect -(defun - ray-arbitrary-circle-intersect - ((probe-origin vector) - (probe-dir vector) - (circle-origin vector) - (circle-normal vector) - (radius float) - ) - (let* - ((v1-1 (vector-! (new 'stack-no-clear 'vector) circle-origin probe-origin)) - (f0-2 - (/ (vector-dot v1-1 circle-normal) (vector-dot probe-dir circle-normal)) - ) - ) - (cond - ((or (< 1.0 f0-2) (< f0-2 0.0)) - -100000000.0 - ) - ((let ((a0-7 (new 'stack-no-clear 'vector))) - (vector-float*! a0-7 probe-dir f0-2) - (vector-! a0-7 a0-7 v1-1) - (< (vector-dot a0-7 a0-7) (* radius radius)) +(defun ray-arbitrary-circle-intersect ((probe-origin vector) (probe-dir vector) (circle-origin vector) (circle-normal vector) (radius float)) + (let* ((v1-1 (vector-! (new 'stack-no-clear 'vector) circle-origin probe-origin)) + (f0-2 (/ (vector-dot v1-1 circle-normal) (vector-dot probe-dir circle-normal))) + ) + (cond + ((or (< 1.0 f0-2) (< f0-2 0.0)) + -100000000.0 + ) + ((let ((a0-7 (new 'stack-no-clear 'vector))) + (vector-float*! a0-7 probe-dir f0-2) + (vector-! a0-7 a0-7 v1-1) + (< (vector-dot a0-7 a0-7) (* radius radius)) + ) + f0-2 + ) + (else + -100000000.0 + ) ) - f0-2 - ) - (else - -100000000.0 - ) ) - ) ) ;; definition for method 10 of type cylinder-flat ;; Used lq/sq -(defmethod - ray-flat-cyl-intersect - cylinder-flat - ((obj cylinder-flat) (probe-origin vector) (probe-dir vector)) +(defmethod ray-flat-cyl-intersect cylinder-flat ((obj cylinder-flat) (probe-origin vector) (probe-dir vector)) (let ((gp-0 (new 'stack-no-clear 'vector)) (end-pt (new 'stack-no-clear 'vector)) ) - 0.0 - 0.0 - (let - ((result - (ray-cylinder-intersect - probe-origin - probe-dir - (-> obj origin) - (-> obj axis) - (-> obj radius) - (-> obj length) - gp-0 - ) - ) - ) - (let - ((u-origin-circle - (ray-arbitrary-circle-intersect - probe-origin - probe-dir - (-> obj origin) - (-> obj axis) - (-> obj radius) + 0.0 + 0.0 + (let ((result (ray-cylinder-intersect + probe-origin + probe-dir + (-> obj origin) + (-> obj axis) + (-> obj radius) + (-> obj length) + gp-0 + ) + ) + ) + (let ((u-origin-circle + (ray-arbitrary-circle-intersect probe-origin probe-dir (-> obj origin) (-> obj axis) (-> obj radius)) + ) + ) + (when (and (>= u-origin-circle 0.0) (or (< result 0.0) (< u-origin-circle result))) + (set! result u-origin-circle) + (set! (-> gp-0 quad) (-> obj origin quad)) + ) ) - ) - ) - (when - (and - (>= u-origin-circle 0.0) - (or (< result 0.0) (< u-origin-circle result)) - ) - (set! result u-origin-circle) - (set! (-> gp-0 quad) (-> obj origin quad)) - ) - ) - (vector+float*! end-pt (-> obj origin) (-> obj axis) (-> obj length)) - (let - ((u-end-circle - (ray-arbitrary-circle-intersect - probe-origin - probe-dir - end-pt - (-> obj axis) - (-> obj radius) + (vector+float*! end-pt (-> obj origin) (-> obj axis) (-> obj length)) + (let ((u-end-circle (ray-arbitrary-circle-intersect probe-origin probe-dir end-pt (-> obj axis) (-> obj radius)))) + (when (and (>= u-end-circle 0.0) (or (< result 0.0) (< u-end-circle result))) + (set! result u-end-circle) + (set! (-> gp-0 quad) (-> end-pt quad)) + ) ) - ) + result ) - (when - (and (>= u-end-circle 0.0) (or (< result 0.0) (< u-end-circle result))) - (set! result u-end-circle) - (set! (-> gp-0 quad) (-> end-pt quad)) - ) - ) - result ) - ) ) ;; definition of type cylinder-flat-verts @@ -317,64 +249,54 @@ (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (let ((s1-0 (new 'stack-no-clear 'vector)) - (s0-0 (new 'stack-no-clear 'vector)) - ) - (if (< 0.999 (fabs (-> obj axis y))) - (vector-cross! s1-0 (-> obj axis) (new 'static 'vector :z 1.0)) - (vector-cross! s1-0 (-> obj axis) (new 'static 'vector :y 1.0)) - ) - (vector-normalize! s1-0 (-> obj radius)) - (vector-float*! s0-0 (-> obj axis) (* 0.14285715 (-> obj length))) - (let ((s5-0 (new 'stack-no-clear 'cylinder-flat-verts)) - (s4-0 (new 'stack-no-clear 'cylinder-flat-verts)) - (s3-0 (new 'stack-no-clear 'matrix)) + (init-vf0-vector) + (let ((s1-0 (new 'stack-no-clear 'vector)) + (s0-0 (new 'stack-no-clear 'vector)) + ) + (if (< 0.999 (fabs (-> obj axis y))) + (vector-cross! s1-0 (-> obj axis) (new 'static 'vector :z 1.0)) + (vector-cross! s1-0 (-> obj axis) (new 'static 'vector :y 1.0)) + ) + (vector-normalize! s1-0 (-> obj radius)) + (vector-float*! s0-0 (-> obj axis) (* 0.14285715 (-> obj length))) + (let ((s5-0 (new 'stack-no-clear 'cylinder-flat-verts)) + (s4-0 (new 'stack-no-clear 'cylinder-flat-verts)) + (s3-0 (new 'stack-no-clear 'matrix)) + ) + (matrix-axis-angle! s3-0 (-> obj axis) 4096.0) + (set! sv-448 (new 'stack-no-clear 'vector)) + (vector-matrix*! sv-448 (-> obj origin) s3-0) + (let ((v1-5 (-> s3-0 vector 3))) + (.lvf vf4 (&-> (-> obj origin) quad)) + (.lvf vf5 (&-> sv-448 quad)) + (.mov.vf vf6 vf0 :mask #b1000) + (.sub.vf vf6 vf4 vf5 :mask #b111) + (.svf (&-> v1-5 quad) vf6) + ) + (set! sv-464 0) + (while (< sv-464 8) + (vector+! (-> s5-0 vert (+ sv-464 1)) (-> obj origin) s1-0) + (vector+float*! (-> s5-0 vert (+ sv-464 1)) (-> s5-0 vert (+ sv-464 1)) s0-0 (the float sv-464)) + (set! sv-464 (+ sv-464 1)) + ) + (set! (-> s5-0 vert 0 quad) (-> obj origin quad)) + (vector+float*! (-> s5-0 vert 9) (-> obj origin) (-> obj axis) (-> obj length)) + (dotimes (s2-1 16) + (dotimes (s1-1 10) + (vector-matrix*! (-> s4-0 vert s1-1) (-> s5-0 vert s1-1) s3-0) + (camera-line (-> s5-0 vert s1-1) (-> s4-0 vert s1-1) arg0) + (if (nonzero? s1-1) + (camera-line (-> s5-0 vert s1-1) (-> s5-0 vert (+ s1-1 -1)) arg0) + ) + ) + (let ((v1-43 s5-0)) + (set! s5-0 s4-0) + (set! s4-0 v1-43) + ) ) - (matrix-axis-angle! s3-0 (-> obj axis) 4096.0) - (set! sv-448 (new 'stack-no-clear 'vector)) - (vector-matrix*! sv-448 (-> obj origin) s3-0) - (let ((v1-5 (-> s3-0 vector 3))) - (.lvf vf4 (&-> (-> obj origin) quad)) - (.lvf vf5 (&-> sv-448 quad)) - (.mov.vf vf6 vf0 :mask #b1000) - (.sub.vf vf6 vf4 vf5 :mask #b111) - (.svf (&-> v1-5 quad) vf6) - ) - (set! sv-464 0) - (while (< sv-464 8) - (vector+! (-> s5-0 vert (+ sv-464 1)) (-> obj origin) s1-0) - (vector+float*! - (-> s5-0 vert (+ sv-464 1)) - (-> s5-0 vert (+ sv-464 1)) - s0-0 - (the float sv-464) - ) - (set! sv-464 (+ sv-464 1)) - ) - (set! (-> s5-0 vert 0 quad) (-> obj origin quad)) - (vector+float*! - (-> s5-0 vert 9) - (-> obj origin) - (-> obj axis) - (-> obj length) - ) - (dotimes (s2-1 16) - (dotimes (s1-1 10) - (vector-matrix*! (-> s4-0 vert s1-1) (-> s5-0 vert s1-1) s3-0) - (camera-line (-> s5-0 vert s1-1) (-> s4-0 vert s1-1) arg0) - (if (nonzero? s1-1) - (camera-line (-> s5-0 vert s1-1) (-> s5-0 vert (+ s1-1 -1)) arg0) ) - ) - (let ((v1-43 s5-0)) - (set! s5-0 s4-0) - (set! s4-0 v1-43) - ) ) - ) + 0 + (none) ) - 0 - (none) - ) ) diff --git a/test/decompiler/reference/engine/geometry/geometry_REF.gc b/test/decompiler/reference/engine/geometry/geometry_REF.gc index 3cd51b5021..bd67035324 100644 --- a/test/decompiler/reference/engine/geometry/geometry_REF.gc +++ b/test/decompiler/reference/engine/geometry/geometry_REF.gc @@ -9,15 +9,15 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> src quad)) - (.lvf vf2 (&-> plane-normal quad)) - (.mov.vf vf3 vf0 :mask #b1000) - (.outer.product.vf vf3 vf1 vf2) - (.outer.product.vf vf3 vf2 vf3) - (.svf (&-> dst quad) vf3) - dst - ) + (init-vf0-vector) + (.lvf vf1 (&-> src quad)) + (.lvf vf2 (&-> plane-normal quad)) + (.mov.vf vf3 vf0 :mask #b1000) + (.outer.product.vf vf3 vf1 vf2) + (.outer.product.vf vf3 vf2 vf3) + (.svf (&-> dst quad) vf3) + dst + ) ) ;; definition for function vector-reflect! @@ -28,17 +28,17 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> src quad)) - (.lvf vf2 (&-> plane-normal quad)) - (.mov.vf vf3 vf0 :mask #b1000) - (.outer.product.vf vf3 vf1 vf2) - (.outer.product.vf vf3 vf2 vf3) - (.add.vf acc vf3 vf3 :mask #b111) - (.sub.mul.w.vf vf3 vf1 vf0 acc :mask #b111) - (.svf (&-> dst quad) vf3) - dst - ) + (init-vf0-vector) + (.lvf vf1 (&-> src quad)) + (.lvf vf2 (&-> plane-normal quad)) + (.mov.vf vf3 vf0 :mask #b1000) + (.outer.product.vf vf3 vf1 vf2) + (.outer.product.vf vf3 vf2 vf3) + (.add.vf acc vf3 vf3 :mask #b111) + (.sub.mul.w.vf vf3 vf1 vf0 acc :mask #b111) + (.svf (&-> dst quad) vf3) + dst + ) ) ;; definition for function vector-reflect-flat! @@ -49,69 +49,63 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> src quad)) - (.lvf vf2 (&-> plane-normal quad)) - (.mov.vf vf3 vf0 :mask #b1000) - (.outer.product.vf vf3 vf1 vf2) - (.outer.product.vf vf3 vf2 vf3) - (.add.vf vf3 vf3 vf2 :mask #b111) - (.svf (&-> dst quad) vf3) - dst - ) + (init-vf0-vector) + (.lvf vf1 (&-> src quad)) + (.lvf vf2 (&-> plane-normal quad)) + (.mov.vf vf3 vf0 :mask #b1000) + (.outer.product.vf vf3 vf1 vf2) + (.outer.product.vf vf3 vf2 vf3) + (.add.vf vf3 vf3 vf2 :mask #b111) + (.svf (&-> dst quad) vf3) + dst + ) ) ;; definition for function vector-reflect-true-flat! -(defun - vector-reflect-true-flat! - ((dst vector) (src vector) (plane-normal vector)) +(defun vector-reflect-true-flat! ((dst vector) (src vector) (plane-normal vector)) (rlet ((acc :class vf) (vf0 :class vf) (vf1 :class vf) (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> src quad)) - (.lvf vf2 (&-> plane-normal quad)) - (.mov.vf vf3 vf0 :mask #b1000) - (.outer.product.vf vf3 vf1 vf2) - (.outer.product.vf vf3 vf2 vf3) - (.svf (&-> dst quad) vf3) - dst - ) + (init-vf0-vector) + (.lvf vf1 (&-> src quad)) + (.lvf vf2 (&-> plane-normal quad)) + (.mov.vf vf3 vf0 :mask #b1000) + (.outer.product.vf vf3 vf1 vf2) + (.outer.product.vf vf3 vf2 vf3) + (.svf (&-> dst quad) vf3) + dst + ) ) ;; definition for function vector-reflect-flat-above! -(defun - vector-reflect-flat-above! - ((dst vector) (src vector) (plane-normal vector)) +(defun vector-reflect-flat-above! ((dst vector) (src vector) (plane-normal vector)) (rlet ((acc :class vf) (vf0 :class vf) (vf1 :class vf) (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> src quad)) - (.lvf vf2 (&-> plane-normal quad)) - (.mov.vf vf3 vf0 :mask #b1000) - (.outer.product.vf vf3 vf1 vf2) - (.outer.product.vf vf3 vf2 vf3) - (.svf (&-> dst quad) vf3) - (let* ((f0-0 (vector-length dst)) - (f1-1 (vector-dot dst plane-normal)) - (f1-2 (- (* 0.02 f0-0) f1-1)) - ) - (vector+float*! dst dst plane-normal (fmin 16384.0 (* 16.0 f1-2))) + (init-vf0-vector) + (.lvf vf1 (&-> src quad)) + (.lvf vf2 (&-> plane-normal quad)) + (.mov.vf vf3 vf0 :mask #b1000) + (.outer.product.vf vf3 vf1 vf2) + (.outer.product.vf vf3 vf2 vf3) + (.svf (&-> dst quad) vf3) + (let* ((f0-0 (vector-length dst)) + (f1-1 (vector-dot dst plane-normal)) + (f1-2 (- (* 0.02 f0-0) f1-1)) + ) + (vector+float*! dst dst plane-normal (fmin 16384.0 (* 16.0 f1-2))) + ) ) - ) ) ;; definition for function vector-segment-distance-point! -(defun - vector-segment-distance-point! - ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector)) +(defun vector-segment-distance-point! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector)) (local-vars (v0-0 float) (v1-0 float) (v1-1 float)) (rlet ((acc :class vf) (Q :class vf) @@ -125,59 +119,59 @@ (vf7 :class vf) (vf8 :class vf) ) - (init-vf0-vector) - (nop!) - (.lvf vf3 (&-> arg1 quad)) - (.lvf vf4 (&-> arg2 quad)) - (.lvf vf5 (&-> arg0 quad)) - (.sub.vf vf1 vf4 vf3) - (.sub.vf vf6 vf5 vf3) - (.mul.vf vf2 vf1 vf1) - (.mul.x.vf acc vf0 vf2 :mask #b1000) - (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) - (.add.mul.z.vf vf2 vf0 vf2 acc :mask #b1000) - (.sqrt.vf Q vf2 :ftf #b11) - (.wait.vf) - (.add.vf vf2 vf0 Q :mask #b1) - (.nop.vf) - (.nop.vf) - (.div.vf Q vf0 vf2 :fsf #b11 :ftf #b0) - (.mov v1-0 vf2) - (let ((f2-0 v1-0)) + (init-vf0-vector) + (nop!) + (.lvf vf3 (&-> arg1 quad)) + (.lvf vf4 (&-> arg2 quad)) + (.lvf vf5 (&-> arg0 quad)) + (.sub.vf vf1 vf4 vf3) + (.sub.vf vf6 vf5 vf3) + (.mul.vf vf2 vf1 vf1) + (.mul.x.vf acc vf0 vf2 :mask #b1000) + (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) + (.add.mul.z.vf vf2 vf0 vf2 acc :mask #b1000) + (.sqrt.vf Q vf2 :ftf #b11) (.wait.vf) - (.mul.vf vf1 vf1 Q) - (.mul.vf vf7 vf1 vf6) - (let ((f1-0 0.0)) - (.add.y.vf vf7 vf7 vf7 :mask #b1) - (.add.z.vf vf7 vf7 vf7 :mask #b1) - (.mov v1-1 vf7) - (let ((f0-0 v1-1)) - (b! (< f0-0 f1-0) cfg-4 :likely-delay (set! f0-0 f1-0)) - (b! (< f2-0 f0-0) cfg-4 :likely-delay (set! f0-0 f2-0)) - (label cfg-4) - (let ((v1-2 f0-0)) - (.mov vf7 v1-2) - ) + (.add.vf vf2 vf0 Q :mask #b1) + (.nop.vf) + (.nop.vf) + (.div.vf Q vf0 vf2 :fsf #b11 :ftf #b0) + (.mov v1-0 vf2) + (let ((f2-0 v1-0)) + (.wait.vf) + (.mul.vf vf1 vf1 Q) + (.mul.vf vf7 vf1 vf6) + (let ((f1-0 0.0)) + (.add.y.vf vf7 vf7 vf7 :mask #b1) + (.add.z.vf vf7 vf7 vf7 :mask #b1) + (.mov v1-1 vf7) + (let ((f0-0 v1-1)) + (b! (< f0-0 f1-0) cfg-4 :likely-delay (set! f0-0 f1-0)) + (b! (< f2-0 f0-0) cfg-4 :likely-delay (set! f0-0 f2-0)) + (label cfg-4) + (let ((v1-2 f0-0)) + (.mov vf7 v1-2) + ) + ) + ) ) - ) + (.mul.x.vf vf1 vf1 vf7) + (b! (= arg3 #f) cfg-6 :delay (.mov.vf vf8 vf0 :mask #b1000)) + (.add.vf vf8 vf3 vf1 :mask #b111) + (.svf (&-> arg3 quad) vf8) + (label cfg-6) + (.sub.vf vf2 vf6 vf1) + (.mul.vf vf2 vf2 vf2) + (.mul.x.vf acc vf0 vf2 :mask #b1000) + (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) + (.add.mul.z.vf vf2 vf0 vf2 acc :mask #b1000) + (.sqrt.vf Q vf2 :ftf #b11) + (.wait.vf) + (.add.vf vf2 vf0 Q :mask #b1) + (.nop.vf) + (.mov v0-0 vf2) + v0-0 ) - (.mul.x.vf vf1 vf1 vf7) - (b! (= arg3 #f) cfg-6 :delay (.mov.vf vf8 vf0 :mask #b1000)) - (.add.vf vf8 vf3 vf1 :mask #b111) - (.svf (&-> arg3 quad) vf8) - (label cfg-6) - (.sub.vf vf2 vf6 vf1) - (.mul.vf vf2 vf2 vf2) - (.mul.x.vf acc vf0 vf2 :mask #b1000) - (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) - (.add.mul.z.vf vf2 vf0 vf2 acc :mask #b1000) - (.sqrt.vf Q vf2 :ftf #b11) - (.wait.vf) - (.add.vf vf2 vf0 Q :mask #b1) - (.nop.vf) - (.mov v0-0 vf2) - v0-0 - ) ) ;; definition for function vector-line-distance @@ -188,25 +182,23 @@ (f0-1 (vector-dot a1-3 gp-1)) (v1-3 (vector-float*! (new-stack-vector0) a1-3 f0-1)) ) - (vector-length (vector-! (new-stack-vector0) gp-1 v1-3)) - ) + (vector-length (vector-! (new-stack-vector0) gp-1 v1-3)) + ) ) ;; definition for function vector-line-distance-point! ;; Used lq/sq -(defun - vector-line-distance-point! - ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector)) +(defun vector-line-distance-point! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector)) (let* ((a1-3 (vector-normalize! (vector-! (new-stack-vector0) arg2 arg1) 1.0)) (s4-1 (vector-! (new-stack-vector0) arg0 arg1)) (f0-1 (vector-dot a1-3 s4-1)) (v1-4 (vector-float*! (new-stack-vector0) a1-3 f0-1)) ) - (if arg3 - (vector+! arg3 arg1 v1-4) + (if arg3 + (vector+! arg3 arg1 v1-4) + ) + (vector-length (vector-! (new-stack-vector0) s4-1 v1-4)) ) - (vector-length (vector-! (new-stack-vector0) s4-1 v1-4)) - ) ) ;; definition for function vector-orient-by-quat! @@ -220,35 +212,35 @@ (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg2 vec quad)) - (.lvf vf6 (&-> arg1 quad)) - (.add.vf vf5 vf1 vf1) - (.add.w.vf vf2 vf0 vf1 :mask #b1) - (.add.z.vf vf2 vf0 vf1 :mask #b10) - (.sub.y.vf vf2 vf0 vf1 :mask #b100) - (.sub.w.vf vf2 vf0 vf0 :mask #b1000) - (.sub.z.vf vf3 vf0 vf1 :mask #b1) - (.add.w.vf vf3 vf0 vf1 :mask #b10) - (.add.x.vf vf3 vf0 vf1 :mask #b100) - (.sub.w.vf vf3 vf0 vf0 :mask #b1000) - (.add.y.vf vf4 vf0 vf1 :mask #b1) - (.sub.x.vf vf4 vf0 vf1 :mask #b10) - (.add.w.vf vf4 vf0 vf1 :mask #b100) - (.sub.w.vf vf4 vf0 vf0 :mask #b1000) - (.outer.product.vf vf2 vf5 vf2) - (.outer.product.vf vf3 vf5 vf3) - (.outer.product.vf vf4 vf5 vf4) - (.add.w.vf vf2 vf2 vf0 :mask #b1) - (.add.w.vf vf3 vf3 vf0 :mask #b10) - (.add.w.vf vf4 vf4 vf0 :mask #b100) - (.mul.w.vf acc vf0 vf6) - (.add.mul.x.vf acc vf2 vf6 acc) - (.add.mul.y.vf acc vf3 vf6 acc) - (.add.mul.z.vf vf6 vf4 vf6 acc) - (.svf (&-> arg0 quad) vf6) - arg0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg2 vec quad)) + (.lvf vf6 (&-> arg1 quad)) + (.add.vf vf5 vf1 vf1) + (.add.w.vf vf2 vf0 vf1 :mask #b1) + (.add.z.vf vf2 vf0 vf1 :mask #b10) + (.sub.y.vf vf2 vf0 vf1 :mask #b100) + (.sub.w.vf vf2 vf0 vf0 :mask #b1000) + (.sub.z.vf vf3 vf0 vf1 :mask #b1) + (.add.w.vf vf3 vf0 vf1 :mask #b10) + (.add.x.vf vf3 vf0 vf1 :mask #b100) + (.sub.w.vf vf3 vf0 vf0 :mask #b1000) + (.add.y.vf vf4 vf0 vf1 :mask #b1) + (.sub.x.vf vf4 vf0 vf1 :mask #b10) + (.add.w.vf vf4 vf0 vf1 :mask #b100) + (.sub.w.vf vf4 vf0 vf0 :mask #b1000) + (.outer.product.vf vf2 vf5 vf2) + (.outer.product.vf vf3 vf5 vf3) + (.outer.product.vf vf4 vf5 vf4) + (.add.w.vf vf2 vf2 vf0 :mask #b1) + (.add.w.vf vf3 vf3 vf0 :mask #b10) + (.add.w.vf vf4 vf4 vf0 :mask #b100) + (.mul.w.vf acc vf0 vf6) + (.add.mul.x.vf acc vf2 vf6 acc) + (.add.mul.y.vf acc vf3 vf6 acc) + (.add.mul.z.vf vf6 vf4 vf6 acc) + (.svf (&-> arg0 quad) vf6) + arg0 + ) ) ;; definition for function forward-down->inv-matrix @@ -269,18 +261,12 @@ ;; definition for function forward-down-nopitch->inv-matrix ;; Used lq/sq -(defun - forward-down-nopitch->inv-matrix - ((arg0 matrix) (arg1 vector) (arg2 vector)) +(defun forward-down-nopitch->inv-matrix ((arg0 matrix) (arg1 vector) (arg2 vector)) (vector-normalize-copy! (-> arg0 vector 1) arg2 1.0) (vector-negate! (-> arg0 vector 1) (-> arg0 vector 1)) (vector-cross! (the-as vector (-> arg0 vector)) (-> arg0 vector 1) arg1) (vector-normalize! (the-as vector (-> arg0 vector)) 1.0) - (vector-cross! - (-> arg0 vector 2) - (the-as vector (-> arg0 vector)) - (-> arg0 vector 1) - ) + (vector-cross! (-> arg0 vector 2) (the-as vector (-> arg0 vector)) (-> arg0 vector 1)) (vector-normalize! (-> arg0 vector 2) 1.0) (set! (-> arg0 vector 3 quad) (the-as uint128 0)) (set! (-> arg0 vector 0 w) 0.0) @@ -293,208 +279,181 @@ ;; definition for function forward-up-nopitch->inv-matrix ;; Used lq/sq (defun forward-up-nopitch->inv-matrix ((arg0 matrix) (arg1 vector) (arg2 vector)) - (forward-down-nopitch->inv-matrix - arg0 - arg1 - (vector-negate! (new-stack-vector0) arg2) - ) + (forward-down-nopitch->inv-matrix arg0 arg1 (vector-negate! (new-stack-vector0) arg2)) ) ;; definition for function forward-up-nopitch->quaternion ;; Used lq/sq -(defun - forward-up-nopitch->quaternion - ((arg0 quaternion) (arg1 vector) (arg2 vector)) - (matrix->quaternion - arg0 - (forward-up-nopitch->inv-matrix (new-stack-matrix0) arg1 arg2) - ) +(defun forward-up-nopitch->quaternion ((arg0 quaternion) (arg1 vector) (arg2 vector)) + (matrix->quaternion arg0 (forward-up-nopitch->inv-matrix (new-stack-matrix0) arg1 arg2)) ) ;; definition for function forward-up->quaternion ;; Used lq/sq (defun forward-up->quaternion ((arg0 quaternion) (arg1 vector) (arg2 vector)) (matrix->quaternion - arg0 - (forward-down->inv-matrix - (new-stack-matrix0) - arg1 - (vector-negate! (new 'stack-no-clear 'vector) arg2) + arg0 + (forward-down->inv-matrix (new-stack-matrix0) arg1 (vector-negate! (new 'stack-no-clear 'vector) arg2)) ) - ) ) ;; definition for function quaternion-from-two-vectors! ;; Used lq/sq -(defun - quaternion-from-two-vectors! - ((arg0 quaternion) (arg1 vector) (arg2 vector)) +(defun quaternion-from-two-vectors! ((arg0 quaternion) (arg1 vector) (arg2 vector)) (let* ((s5-0 (vector-cross! (new-stack-vector0) arg1 arg2)) (f0-0 (vector-length s5-0)) (f1-1 (vector-dot arg1 arg2)) ) - (let ((f0-1 (/ (sqrtf (* 0.5 (- 1.0 f1-1))) f0-0))) - (set! (-> arg0 x) (* (-> s5-0 x) f0-1)) - (set! (-> arg0 y) (* (-> s5-0 y) f0-1)) - (set! (-> arg0 z) (* (-> s5-0 z) f0-1)) + (let ((f0-1 (/ (sqrtf (* 0.5 (- 1.0 f1-1))) f0-0))) + (set! (-> arg0 x) (* (-> s5-0 x) f0-1)) + (set! (-> arg0 y) (* (-> s5-0 y) f0-1)) + (set! (-> arg0 z) (* (-> s5-0 z) f0-1)) + ) + (set! (-> arg0 w) (sqrtf (* 0.5 (+ 1.0 f1-1)))) ) - (set! (-> arg0 w) (sqrtf (* 0.5 (+ 1.0 f1-1)))) - ) arg0 ) ;; definition for function quaternion-from-two-vectors-max-angle! ;; Used lq/sq -(defun - quaternion-from-two-vectors-max-angle! - ((arg0 quaternion) (arg1 vector) (arg2 vector) (arg3 float)) +(defun quaternion-from-two-vectors-max-angle! ((arg0 quaternion) (arg1 vector) (arg2 vector) (arg3 float)) (let* ((s5-0 (vector-cross! (new-stack-vector0) arg1 arg2)) (f30-0 (vector-length s5-0)) (f26-0 (vector-dot arg1 arg2)) (f28-0 (sqrtf (* 0.5 (- 1.0 f26-0)))) ) - (let ((f0-5 (sin (* 0.5 arg3)))) - (cond - ((< f0-5 f28-0) - (set! f28-0 f0-5) - (set! (-> arg0 w) (cos (* 0.5 arg3))) + (let ((f0-5 (sin (* 0.5 arg3)))) + (cond + ((< f0-5 f28-0) + (set! f28-0 f0-5) + (set! (-> arg0 w) (cos (* 0.5 arg3))) + ) + (else + (set! (-> arg0 w) (sqrtf (* 0.5 (+ 1.0 f26-0)))) + ) + ) ) - (else - (set! (-> arg0 w) (sqrtf (* 0.5 (+ 1.0 f26-0)))) + (let ((f0-12 (/ f28-0 f30-0))) + (set! (-> arg0 x) (* (-> s5-0 x) f0-12)) + (set! (-> arg0 y) (* (-> s5-0 y) f0-12)) + (set! (-> arg0 z) (* (-> s5-0 z) f0-12)) ) - ) ) - (let ((f0-12 (/ f28-0 f30-0))) - (set! (-> arg0 x) (* (-> s5-0 x) f0-12)) - (set! (-> arg0 y) (* (-> s5-0 y) f0-12)) - (set! (-> arg0 z) (* (-> s5-0 z) f0-12)) - ) - ) arg0 ) ;; definition for function matrix-from-two-vectors! ;; Used lq/sq (defun matrix-from-two-vectors! ((arg0 matrix) (arg1 vector) (arg2 vector)) - (let* - ((a1-3 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0)) - (f0-1 (vector-dot arg1 arg2)) - (f1-0 1.0) - (f2-0 f0-1) - (f1-2 (sqrtf (- f1-0 (* f2-0 f2-0)))) + (let* ((a1-3 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0)) + (f0-1 (vector-dot arg1 arg2)) + (f1-0 1.0) + (f2-0 f0-1) + (f1-2 (sqrtf (- f1-0 (* f2-0 f2-0)))) + ) + (matrix-axis-sin-cos! arg0 a1-3 f1-2 f0-1) ) - (matrix-axis-sin-cos! arg0 a1-3 f1-2 f0-1) - ) ) ;; definition for function matrix-from-two-vectors-max-angle! ;; Used lq/sq -(defun - matrix-from-two-vectors-max-angle! - ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 float)) - (let - ((s4-1 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0)) - (f30-0 (vector-dot arg1 arg2)) - (f28-0 (cos arg3)) - ) - (cond - ((< f30-0 f28-0) - (matrix-axis-sin-cos! arg0 s4-1 (sin arg3) f28-0) - ) - (else - (let ((t9-5 matrix-axis-sin-cos!) - (a0-6 arg0) - (a1-4 s4-1) - (f0-1 1.0) - (f1-0 f30-0) - ) - (t9-5 a0-6 a1-4 (sqrtf (- f0-1 (* f1-0 f1-0))) f30-0) +(defun matrix-from-two-vectors-max-angle! ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 float)) + (let ((s4-1 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0)) + (f30-0 (vector-dot arg1 arg2)) + (f28-0 (cos arg3)) + ) + (cond + ((< f30-0 f28-0) + (matrix-axis-sin-cos! arg0 s4-1 (sin arg3) f28-0) + ) + (else + (let ((t9-5 matrix-axis-sin-cos!) + (a0-6 arg0) + (a1-4 s4-1) + (f0-1 1.0) + (f1-0 f30-0) + ) + (t9-5 a0-6 a1-4 (sqrtf (- f0-1 (* f1-0 f1-0))) f30-0) + ) + ) ) - ) ) - ) ) ;; definition for function matrix-from-two-vectors-max-angle-partial! ;; Used lq/sq -(defun - matrix-from-two-vectors-max-angle-partial! - ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 float) (arg4 float)) - (let* - ((s4-1 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0)) - (f28-0 (vector-dot arg1 arg2)) - (f30-0 (cos arg3)) - (f0-2 (+ 1.0 (* (+ -1.0 f28-0) arg4))) - ) - (cond - ((< f0-2 f30-0) - (matrix-axis-sin-cos! arg0 s4-1 (sin arg3) f30-0) - ) - (else - (let ((t9-5 matrix-axis-sin-cos!) - (a0-6 arg0) - (a1-4 s4-1) - (f1-3 1.0) - (f2-1 f0-2) - ) - (t9-5 a0-6 a1-4 (sqrtf (- f1-3 (* f2-1 f2-1))) f0-2) +(defun matrix-from-two-vectors-max-angle-partial! ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 float) (arg4 float)) + (let* ((s4-1 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0)) + (f28-0 (vector-dot arg1 arg2)) + (f30-0 (cos arg3)) + (f0-2 (+ 1.0 (* (+ -1.0 f28-0) arg4))) + ) + (cond + ((< f0-2 f30-0) + (matrix-axis-sin-cos! arg0 s4-1 (sin arg3) f30-0) + ) + (else + (let ((t9-5 matrix-axis-sin-cos!) + (a0-6 arg0) + (a1-4 s4-1) + (f1-3 1.0) + (f2-1 f0-2) + ) + (t9-5 a0-6 a1-4 (sqrtf (- f1-3 (* f2-1 f2-1))) f0-2) + ) + ) ) - ) ) - ) ) ;; definition for function matrix-from-two-vectors-partial-linear! ;; Used lq/sq -(defun - matrix-from-two-vectors-partial-linear! - ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 float)) - (let - ((gp-1 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0)) - (f0-1 (vector-dot arg1 arg2)) - ) - (cond - ((< 0.9999 (fabs f0-1)) - (matrix-identity! arg0) - ) - (else - (let* ((f0-4 (cos (* arg3 (acos f0-1)))) - (t9-5 matrix-axis-sin-cos!) - (a0-6 arg0) - (f1-1 1.0) - (f2-1 f0-4) - ) - (t9-5 a0-6 gp-1 (sqrtf (- f1-1 (* f2-1 f2-1))) f0-4) +(defun matrix-from-two-vectors-partial-linear! ((arg0 matrix) (arg1 vector) (arg2 vector) (arg3 float)) + (let ((gp-1 (vector-normalize! (vector-cross! (new-stack-vector0) arg2 arg1) 1.0)) + (f0-1 (vector-dot arg1 arg2)) + ) + (cond + ((< 0.9999 (fabs f0-1)) + (matrix-identity! arg0) + ) + (else + (let* ((f0-4 (cos (* arg3 (acos f0-1)))) + (t9-5 matrix-axis-sin-cos!) + (a0-6 arg0) + (f1-1 1.0) + (f2-1 f0-4) + ) + (t9-5 a0-6 gp-1 (sqrtf (- f1-1 (* f2-1 f2-1))) f0-4) + ) + ) ) - ) ) - ) ) ;; definition for function matrix-remove-z-rot ;; Used lq/sq (defun matrix-remove-z-rot ((arg0 matrix) (arg1 matrix)) (let ((s4-0 (new-stack-vector0))) - 0.0 - 0.0 - (let ((s5-0 (new-stack-matrix0))) - (vector-negate! s4-0 (the-as vector arg1)) - (vector-flatten! s4-0 s4-0 (-> arg0 vector 2)) - (vector-normalize! s4-0 1.0) - (let ((f30-0 (vector-dot (-> arg0 vector 1) s4-0))) - (when (< f30-0 0.99999) - (vector-cross! s4-0 (-> arg0 vector 1) s4-0) - (let ((f0-4 (vector-length s4-0))) - (if (< 0.0 (vector-dot s4-0 (-> arg0 vector 2))) - (set! f0-4 (- f0-4)) + 0.0 + 0.0 + (let ((s5-0 (new-stack-matrix0))) + (vector-negate! s4-0 (the-as vector arg1)) + (vector-flatten! s4-0 s4-0 (-> arg0 vector 2)) + (vector-normalize! s4-0 1.0) + (let ((f30-0 (vector-dot (-> arg0 vector 1) s4-0))) + (when (< f30-0 0.99999) + (vector-cross! s4-0 (-> arg0 vector 1) s4-0) + (let ((f0-4 (vector-length s4-0))) + (if (< 0.0 (vector-dot s4-0 (-> arg0 vector 2))) + (set! f0-4 (- f0-4)) + ) + (matrix-axis-sin-cos! s5-0 (-> arg0 vector 2) f0-4 f30-0) + ) + (matrix*! arg0 arg0 s5-0) + ) ) - (matrix-axis-sin-cos! s5-0 (-> arg0 vector 2) f0-4 f30-0) - ) - (matrix*! arg0 arg0 s5-0) ) - ) ) - ) arg0 ) @@ -505,127 +464,105 @@ (s2-0 (new-stack-quaternion0)) (s5-0 (new-stack-quaternion0)) ) - 0.0 - (matrix->quaternion s3-0 arg1) - (matrix->quaternion s2-0 arg2) - (quaternion-conjugate! s5-0 s3-0) - (quaternion*! s5-0 s2-0 s5-0) - (quaternion-normalize! s5-0) - (if (< (-> s5-0 w) 0.0) - (quaternion-negate! s5-0 s5-0) + 0.0 + (matrix->quaternion s3-0 arg1) + (matrix->quaternion s2-0 arg2) + (quaternion-conjugate! s5-0 s3-0) + (quaternion*! s5-0 s2-0 s5-0) + (quaternion-normalize! s5-0) + (if (< (-> s5-0 w) 0.0) + (quaternion-negate! s5-0 s5-0) + ) + (let ((f30-1 (* 2.0 (acos (-> s5-0 w))))) + (set! (-> arg0 quad) (-> s5-0 vec quad)) + (vector-negate! arg0 arg0) + (if (= (vector-normalize-ret-len! arg0 1.0) 0.0) + (set! (-> arg0 y) 1.0) + ) + f30-1 + ) ) - (let ((f30-1 (* 2.0 (acos (-> s5-0 w))))) - (set! (-> arg0 quad) (-> s5-0 vec quad)) - (vector-negate! arg0 arg0) - (if (= (vector-normalize-ret-len! arg0 1.0) 0.0) - (set! (-> arg0 y) 1.0) - ) - f30-1 - ) - ) ) ;; definition for function quaternion-seek ;; Used lq/sq -(defun - quaternion-seek - ((arg0 quaternion) - (arg1 quaternion) - (arg2 quaternion) - (arg3 float) - (arg4 float) - ) +(defun quaternion-seek ((arg0 quaternion) (arg1 quaternion) (arg2 quaternion) (arg3 float) (arg4 float)) (let ((s5-0 (new-stack-matrix0)) (s4-0 (new-stack-matrix0)) ) - (quaternion->matrix s5-0 arg1) - (quaternion->matrix s4-0 arg2) - (let ((s2-1 (new-stack-quaternion0))) - (quaternion-from-two-vectors-max-angle! - s2-1 - (-> s5-0 vector 2) - (-> s4-0 vector 2) - arg4 - ) - (quaternion-normalize! (quaternion*! arg0 arg0 s2-1)) + (quaternion->matrix s5-0 arg1) + (quaternion->matrix s4-0 arg2) + (let ((s2-1 (new-stack-quaternion0))) + (quaternion-from-two-vectors-max-angle! s2-1 (-> s5-0 vector 2) (-> s4-0 vector 2) arg4) + (quaternion-normalize! (quaternion*! arg0 arg0 s2-1)) + ) ) - ) ) ;; definition for function vector-deg-seek ;; Used lq/sq (defun vector-deg-seek ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float)) (let ((s4-0 (new-stack-matrix0))) - (matrix-from-two-vectors-max-angle! s4-0 arg1 arg2 arg3) - (vector-matrix*! arg0 arg1 s4-0) - ) + (matrix-from-two-vectors-max-angle! s4-0 arg1 arg2 arg3) + (vector-matrix*! arg0 arg1 s4-0) + ) ) ;; definition for function vector-deg-slerp ;; Used lq/sq (defun vector-deg-slerp ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float)) (cond - ((>= 0.0 arg3) - (set! (-> arg0 quad) (-> arg1 quad)) - arg0 - ) - ((>= arg3 1.0) - (set! (-> arg0 quad) (-> arg2 quad)) - arg0 - ) - (else - (let ((s1-0 (new-stack-matrix0))) - (let - ((s2-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg1 1.0)) - (a2-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg2 1.0)) - ) - (matrix-from-two-vectors-partial-linear! s1-0 s2-0 a2-3 arg3) - ) - (vector-matrix*! arg0 arg1 s1-0) + ((>= 0.0 arg3) + (set! (-> arg0 quad) (-> arg1 quad)) + arg0 ) + ((>= arg3 1.0) + (set! (-> arg0 quad) (-> arg2 quad)) + arg0 + ) + (else + (let ((s1-0 (new-stack-matrix0))) + (let ((s2-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg1 1.0)) + (a2-3 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg2 1.0)) + ) + (matrix-from-two-vectors-partial-linear! s1-0 s2-0 a2-3 arg3) + ) + (vector-matrix*! arg0 arg1 s1-0) + ) + ) ) - ) ) ;; definition for function vector-vector-deg-slerp! ;; Used lq/sq -(defun - vector-vector-deg-slerp! - ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float) (arg4 vector)) +(defun vector-vector-deg-slerp! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float) (arg4 vector)) (local-vars (sv-112 (function float float float float))) (cond - ((>= 0.0 arg3) - (set! (-> arg0 quad) (-> arg1 quad)) - ) - ((>= arg3 1.0) - (set! (-> arg0 quad) (-> arg2 quad)) - ) - (else - (let* - ((s0-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg1 1.0)) - (s1-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg2 1.0)) - (s0-1 - (forward-up->quaternion (new 'stack-no-clear 'quaternion) s0-0 arg4) - ) - (a2-5 - (forward-up->quaternion (new 'stack-no-clear 'quaternion) s1-0 arg4) - ) - (a1-6 - (quaternion-slerp! (new 'stack-no-clear 'quaternion) s0-1 a2-5 arg3) - ) - (s2-1 vector-normalize-copy!) - (s1-1 arg0) - (s0-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) a1-6)) - ) - (set! sv-112 lerp) - (let ((s3-1 (vector-length arg1)) - (a1-7 (vector-length arg2)) - ) - (s2-1 s1-1 s0-2 (sv-112 s3-1 a1-7 arg3)) - ) + ((>= 0.0 arg3) + (set! (-> arg0 quad) (-> arg1 quad)) ) + ((>= arg3 1.0) + (set! (-> arg0 quad) (-> arg2 quad)) + ) + (else + (let* ((s0-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg1 1.0)) + (s1-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) arg2 1.0)) + (s0-1 (forward-up->quaternion (new 'stack-no-clear 'quaternion) s0-0 arg4)) + (a2-5 (forward-up->quaternion (new 'stack-no-clear 'quaternion) s1-0 arg4)) + (a1-6 (quaternion-slerp! (new 'stack-no-clear 'quaternion) s0-1 a2-5 arg3)) + (s2-1 vector-normalize-copy!) + (s1-1 arg0) + (s0-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) a1-6)) + ) + (set! sv-112 lerp) + (let ((s3-1 (vector-length arg1)) + (a1-7 (vector-length arg2)) + ) + (s2-1 s1-1 s0-2 (sv-112 s3-1 a1-7 arg3)) + ) + ) + ) ) - ) arg0 ) @@ -640,31 +577,29 @@ (vf4 :class vf) (vf5 :class vf) ) - (init-vf0-vector) - (.lvf vf3 (&-> arg2 quad)) - (.lvf vf1 (&-> arg1 quad)) - (.lvf vf2 (&-> arg3 quad)) - (.sub.vf vf1 vf3 vf1) - (.sub.vf vf2 vf3 vf2) - (.outer.product.vf vf4 vf2 vf1) - (.mul.vf vf5 vf4 vf4) - (.add.y.vf vf5 vf5 vf5 :mask #b1) - (.add.z.vf vf5 vf5 vf5 :mask #b1) - (.isqrt.vf Q vf0 vf5 :fsf #b11 :ftf #b0) - (.mov.vf vf4 vf0 :mask #b1000) - (.wait.vf) - (.mul.vf vf4 vf4 Q :mask #b111) - (.nop.vf) - (.nop.vf) - (.svf (&-> arg0 quad) vf4) - arg0 - ) + (init-vf0-vector) + (.lvf vf3 (&-> arg2 quad)) + (.lvf vf1 (&-> arg1 quad)) + (.lvf vf2 (&-> arg3 quad)) + (.sub.vf vf1 vf3 vf1) + (.sub.vf vf2 vf3 vf2) + (.outer.product.vf vf4 vf2 vf1) + (.mul.vf vf5 vf4 vf4) + (.add.y.vf vf5 vf5 vf5 :mask #b1) + (.add.z.vf vf5 vf5 vf5 :mask #b1) + (.isqrt.vf Q vf0 vf5 :fsf #b11 :ftf #b0) + (.mov.vf vf4 vf0 :mask #b1000) + (.wait.vf) + (.mul.vf vf4 vf4 Q :mask #b111) + (.nop.vf) + (.nop.vf) + (.svf (&-> arg0 quad) vf4) + arg0 + ) ) ;; definition for function vector-3pt-cross! -(defun - vector-3pt-cross! - ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector)) +(defun vector-3pt-cross! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector)) (rlet ((acc :class vf) (vf0 :class vf) (vf1 :class vf) @@ -672,35 +607,24 @@ (vf3 :class vf) (vf4 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg1 quad)) - (.lvf vf2 (&-> arg2 quad)) - (.lvf vf3 (&-> arg3 quad)) - (.add.x.vf vf4 vf0 vf0 :mask #b1000) - (.sub.vf vf2 vf2 vf1) - (.sub.vf vf3 vf3 vf1) - (.outer.product.vf vf4 vf2 vf3) - (.svf (&-> arg0 quad) vf4) - arg0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg1 quad)) + (.lvf vf2 (&-> arg2 quad)) + (.lvf vf3 (&-> arg3 quad)) + (.add.x.vf vf4 vf0 vf0 :mask #b1000) + (.sub.vf vf2 vf2 vf1) + (.sub.vf vf3 vf3 vf1) + (.outer.product.vf vf4 vf2 vf3) + (.svf (&-> arg0 quad) vf4) + arg0 + ) ) ;; definition for function closest-pt-in-triangle ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - closest-pt-in-triangle - ((arg0 vector) (arg1 vector) (arg2 matrix) (arg3 vector)) - (local-vars - (v1-0 float) - (v1-4 int) - (v1-5 int) - (v1-6 int) - (v1-7 int) - (v1-10 int) - (a0-1 float) - (a1-1 float) - ) +(defun closest-pt-in-triangle ((arg0 vector) (arg1 vector) (arg2 matrix) (arg3 vector)) + (local-vars (v1-0 float) (v1-4 int) (v1-5 int) (v1-6 int) (v1-7 int) (v1-10 int) (a0-1 float) (a1-1 float)) (rlet ((acc :class vf) (vf0 :class vf) (vf1 :class vf) @@ -722,170 +646,102 @@ (vf8 :class vf) (vf9 :class vf) ) - (init-vf0-vector) - (nop!) - (nop!) - (.lvf vf3 (&-> arg2 vector 1 quad)) - (nop!) - (.lvf vf4 (&-> arg2 vector 2 quad)) - (nop!) - (.lvf vf5 (&-> arg1 quad)) - (.sub.vf vf6 vf3 vf4) - (.lvf vf2 (&-> arg2 vector 0 quad)) - (.sub.vf vf7 vf3 vf5) - (.lvf vf1 (&-> arg3 quad)) - (.sub.vf vf8 vf3 vf2) - (.sub.vf vf9 vf5 vf4) - (.sub.vf vf10 vf5 vf2) - (.outer.product.vf vf14 vf7 vf8) - (.outer.product.vf vf15 vf6 vf7) - (.mul.vf vf11 vf14 vf1) - (.outer.product.vf vf16 vf9 vf10) - (.mul.vf vf12 vf15 vf1) - (.add.x.vf vf11 vf11 vf11 :mask #b10) - (.mul.vf vf13 vf16 vf1) - (.add.x.vf vf12 vf12 vf12 :mask #b10) - (.add.x.vf vf13 vf13 vf13 :mask #b10) - (.add.z.vf vf11 vf11 vf11 :mask #b10) - (.add.z.vf vf12 vf12 vf12 :mask #b10) - (.add.z.vf vf13 vf13 vf13 :mask #b10) - (.mov v1-0 vf11) - (.mov a1-1 vf12) - (.mov a0-1 vf13) - (let* ((v1-1 (shr (the-as int v1-0) 63)) - (a1-2 (shr (the-as int a1-1) 63)) - (a0-2 (shr (the-as int a0-1) 63)) - (a1-3 (* a1-2 2)) - (a0-3 (* a0-2 4)) - (v1-3 (logior (logior v1-1 a1-3) a0-3)) + (init-vf0-vector) + (nop!) + (nop!) + (.lvf vf3 (&-> arg2 vector 1 quad)) + (nop!) + (.lvf vf4 (&-> arg2 vector 2 quad)) + (nop!) + (.lvf vf5 (&-> arg1 quad)) + (.sub.vf vf6 vf3 vf4) + (.lvf vf2 (&-> arg2 vector 0 quad)) + (.sub.vf vf7 vf3 vf5) + (.lvf vf1 (&-> arg3 quad)) + (.sub.vf vf8 vf3 vf2) + (.sub.vf vf9 vf5 vf4) + (.sub.vf vf10 vf5 vf2) + (.outer.product.vf vf14 vf7 vf8) + (.outer.product.vf vf15 vf6 vf7) + (.mul.vf vf11 vf14 vf1) + (.outer.product.vf vf16 vf9 vf10) + (.mul.vf vf12 vf15 vf1) + (.add.x.vf vf11 vf11 vf11 :mask #b10) + (.mul.vf vf13 vf16 vf1) + (.add.x.vf vf12 vf12 vf12 :mask #b10) + (.add.x.vf vf13 vf13 vf13 :mask #b10) + (.add.z.vf vf11 vf11 vf11 :mask #b10) + (.add.z.vf vf12 vf12 vf12 :mask #b10) + (.add.z.vf vf13 vf13 vf13 :mask #b10) + (.mov v1-0 vf11) + (.mov a1-1 vf12) + (.mov a0-1 vf13) + (let* ((v1-1 (shr (the-as int v1-0) 63)) + (a1-2 (shr (the-as int a1-1) 63)) + (a0-2 (shr (the-as int a0-1) 63)) + (a1-3 (* a1-2 2)) + (a0-3 (* a0-2 4)) + (v1-3 (logior (logior v1-1 a1-3) a0-3)) + ) + (b! (nonzero? v1-3) cfg-3 :delay (set! v1-4 (+ v1-3 -1))) + ) + (.sub.vf vf17 vf5 vf2) + (.mov.vf vf18 vf0 :mask #b1000) + (.outer.product.vf vf18 vf17 vf1) + (.outer.product.vf vf18 vf1 vf18) + (.add.vf vf18 vf18 vf2 :mask #b111) + (b! #t cfg-24 :delay (.svf (&-> arg0 quad) vf18)) + (nop!) + (label cfg-3) + (b! (nonzero? v1-4) cfg-6 :delay (set! v1-5 (+ v1-4 -1))) + (vector-segment-distance-point! arg1 (the-as vector (-> arg2 vector)) (-> arg2 vector 1) arg0) + (goto cfg-24) + (label cfg-6) + (b! (nonzero? v1-5) cfg-9 :delay (set! v1-6 (+ v1-5 -1))) + (vector-segment-distance-point! arg1 (-> arg2 vector 1) (-> arg2 vector 2) arg0) + (goto cfg-24) + (label cfg-9) + (b! (nonzero? v1-6) cfg-14 :delay (set! v1-7 (+ v1-6 -1))) + (let ((f30-0 (vector-segment-distance-point! arg1 (-> arg2 vector 1) (the-as vector (-> arg2 vector)) arg0)) + (s3-0 (new 'stack-no-clear 'vector)) + ) + (if (< (vector-segment-distance-point! arg1 (-> arg2 vector 1) (-> arg2 vector 2) s3-0) f30-0) + (set! (-> arg0 quad) (-> s3-0 quad)) ) - (b! (nonzero? v1-3) cfg-3 :delay (set! v1-4 (+ v1-3 -1))) - ) - (.sub.vf vf17 vf5 vf2) - (.mov.vf vf18 vf0 :mask #b1000) - (.outer.product.vf vf18 vf17 vf1) - (.outer.product.vf vf18 vf1 vf18) - (.add.vf vf18 vf18 vf2 :mask #b111) - (b! #t cfg-24 :delay (.svf (&-> arg0 quad) vf18)) - (nop!) - (label cfg-3) - (b! (nonzero? v1-4) cfg-6 :delay (set! v1-5 (+ v1-4 -1))) - (vector-segment-distance-point! - arg1 - (the-as vector (-> arg2 vector)) - (-> arg2 vector 1) - arg0 - ) - (goto cfg-24) - (label cfg-6) - (b! (nonzero? v1-5) cfg-9 :delay (set! v1-6 (+ v1-5 -1))) - (vector-segment-distance-point! - arg1 - (-> arg2 vector 1) - (-> arg2 vector 2) - arg0 - ) - (goto cfg-24) - (label cfg-9) - (b! (nonzero? v1-6) cfg-14 :delay (set! v1-7 (+ v1-6 -1))) - (let - ((f30-0 - (vector-segment-distance-point! - arg1 - (-> arg2 vector 1) - (the-as vector (-> arg2 vector)) - arg0 - ) ) - (s3-0 (new 'stack-no-clear 'vector)) - ) - (if - (< - (vector-segment-distance-point! - arg1 - (-> arg2 vector 1) - (-> arg2 vector 2) - s3-0 - ) - f30-0 + (goto cfg-24) + (label cfg-14) + (b! (nonzero? v1-7) cfg-17 :delay (set! v1-10 (+ v1-7 -1))) + (vector-segment-distance-point! arg1 (-> arg2 vector 2) (the-as vector (-> arg2 vector)) arg0) + (goto cfg-24) + (label cfg-17) + (b! (nonzero? v1-10) cfg-22 :delay (nop!)) + (let ((f30-1 (vector-segment-distance-point! arg1 (the-as vector (-> arg2 vector)) (-> arg2 vector 1) arg0)) + (s3-1 (new 'stack-no-clear 'vector)) + ) + (if (< (vector-segment-distance-point! arg1 (the-as vector (-> arg2 vector)) (-> arg2 vector 2) s3-1) f30-1) + (set! (-> arg0 quad) (-> s3-1 quad)) + ) ) - (set! (-> arg0 quad) (-> s3-0 quad)) - ) + (goto cfg-24) + (label cfg-22) + (let ((f30-2 (vector-segment-distance-point! arg1 (-> arg2 vector 2) (the-as vector (-> arg2 vector)) arg0)) + (s3-2 (new 'stack-no-clear 'vector)) + ) + (if (< (vector-segment-distance-point! arg1 (-> arg2 vector 2) (-> arg2 vector 1) s3-2) f30-2) + (set! (-> arg0 quad) (-> s3-2 quad)) + ) + ) + (label cfg-24) + 0 + (none) ) - (goto cfg-24) - (label cfg-14) - (b! (nonzero? v1-7) cfg-17 :delay (set! v1-10 (+ v1-7 -1))) - (vector-segment-distance-point! - arg1 - (-> arg2 vector 2) - (the-as vector (-> arg2 vector)) - arg0 - ) - (goto cfg-24) - (label cfg-17) - (b! (nonzero? v1-10) cfg-22 :delay (nop!)) - (let - ((f30-1 - (vector-segment-distance-point! - arg1 - (the-as vector (-> arg2 vector)) - (-> arg2 vector 1) - arg0 - ) - ) - (s3-1 (new 'stack-no-clear 'vector)) - ) - (if - (< - (vector-segment-distance-point! - arg1 - (the-as vector (-> arg2 vector)) - (-> arg2 vector 2) - s3-1 - ) - f30-1 - ) - (set! (-> arg0 quad) (-> s3-1 quad)) - ) - ) - (goto cfg-24) - (label cfg-22) - (let - ((f30-2 - (vector-segment-distance-point! - arg1 - (-> arg2 vector 2) - (the-as vector (-> arg2 vector)) - arg0 - ) - ) - (s3-2 (new 'stack-no-clear 'vector)) - ) - (if - (< - (vector-segment-distance-point! - arg1 - (-> arg2 vector 2) - (-> arg2 vector 1) - s3-2 - ) - f30-2 - ) - (set! (-> arg0 quad) (-> s3-2 quad)) - ) - ) - (label cfg-24) - 0 - (none) - ) ) ;; definition for function point-in-triangle-cross ;; WARN: Using logior on floats ;; WARN: Using logior on floats -(defun - point-in-triangle-cross - ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 vector)) +(defun point-in-triangle-cross ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 vector)) (local-vars (v1-0 float) (a0-1 float) (a1-1 float)) (rlet ((acc :class vf) (vf1 :class vf) @@ -899,94 +755,65 @@ (vf8 :class vf) (vf9 :class vf) ) - (.lvf vf3 (&-> arg3 quad)) - (.lvf vf4 (&-> arg4 quad)) - (.lvf vf5 (&-> arg0 quad)) - (.lvf vf2 (&-> arg2 quad)) - (.lvf vf1 (&-> arg1 quad)) - (.sub.vf vf6 vf3 vf4) - (.sub.vf vf7 vf3 vf5) - (.sub.vf vf8 vf3 vf2) - (.sub.vf vf9 vf5 vf4) - (.sub.vf vf10 vf5 vf2) - (.outer.product.vf vf2 vf6 vf7) - (.outer.product.vf vf3 vf7 vf8) - (.outer.product.vf vf4 vf9 vf10) - (.mul.vf vf2 vf2 vf1) - (.mul.vf vf3 vf3 vf1) - (.nop.vf) - (.mul.vf vf4 vf4 vf1) - (.add.x.vf vf2 vf2 vf2 :mask #b10) - (.add.x.vf vf3 vf3 vf3 :mask #b10) - (.add.x.vf vf4 vf4 vf4 :mask #b10) - (.nop.vf) - (.add.z.vf vf2 vf2 vf2 :mask #b10) - (.add.z.vf vf3 vf3 vf3 :mask #b10) - (.add.z.vf vf4 vf4 vf4 :mask #b10) - (.nop.vf) - (.mov a0-1 vf2) - (.mov a1-1 vf3) - (.mov v1-0 vf4) - (>= - (the-as int (logior (logior a0-1 (the-as uint a1-1)) (the-as uint v1-0))) - 0 + (.lvf vf3 (&-> arg3 quad)) + (.lvf vf4 (&-> arg4 quad)) + (.lvf vf5 (&-> arg0 quad)) + (.lvf vf2 (&-> arg2 quad)) + (.lvf vf1 (&-> arg1 quad)) + (.sub.vf vf6 vf3 vf4) + (.sub.vf vf7 vf3 vf5) + (.sub.vf vf8 vf3 vf2) + (.sub.vf vf9 vf5 vf4) + (.sub.vf vf10 vf5 vf2) + (.outer.product.vf vf2 vf6 vf7) + (.outer.product.vf vf3 vf7 vf8) + (.outer.product.vf vf4 vf9 vf10) + (.mul.vf vf2 vf2 vf1) + (.mul.vf vf3 vf3 vf1) + (.nop.vf) + (.mul.vf vf4 vf4 vf1) + (.add.x.vf vf2 vf2 vf2 :mask #b10) + (.add.x.vf vf3 vf3 vf3 :mask #b10) + (.add.x.vf vf4 vf4 vf4 :mask #b10) + (.nop.vf) + (.add.z.vf vf2 vf2 vf2 :mask #b10) + (.add.z.vf vf3 vf3 vf3 :mask #b10) + (.add.z.vf vf4 vf4 vf4 :mask #b10) + (.nop.vf) + (.mov a0-1 vf2) + (.mov a1-1 vf3) + (.mov v1-0 vf4) + (>= (the-as int (logior (logior a0-1 (the-as uint a1-1)) (the-as uint v1-0))) 0) ) - ) ) ;; definition for function point-in-plane-<-point+normal! (defun point-in-plane-<-point+normal! ((arg0 vector) (arg1 vector) (arg2 vector)) - (let - ((f0-3 - (+ - (* (-> arg2 x) (-> arg1 x)) - (* (-> arg2 y) (-> arg1 y)) - (* (-> arg2 z) (-> arg1 z)) - ) - ) - ) - (set! (-> arg0 w) 1.0) - (let ((f1-7 (fabs (-> arg2 x))) - (f2-3 (fabs (-> arg2 y))) - (f3-1 (fabs (-> arg2 z))) + (let ((f0-3 (+ (* (-> arg2 x) (-> arg1 x)) (* (-> arg2 y) (-> arg1 y)) (* (-> arg2 z) (-> arg1 z))))) + (set! (-> arg0 w) 1.0) + (let ((f1-7 (fabs (-> arg2 x))) + (f2-3 (fabs (-> arg2 y))) + (f3-1 (fabs (-> arg2 z))) + ) + (cond + ((and (< f2-3 f1-7) (< f3-1 f1-7)) + (set! (-> arg0 y) (+ 4096.0 (-> arg1 y))) + (set! (-> arg0 z) (+ 4096.0 (-> arg1 z))) + (set! (-> arg0 x) (/ (+ (- (- (* (-> arg2 y) (-> arg0 y))) (* (-> arg2 z) (-> arg0 z))) f0-3) (-> arg2 x))) ) - (cond - ((and (< f2-3 f1-7) (< f3-1 f1-7)) - (set! (-> arg0 y) (+ 4096.0 (-> arg1 y))) - (set! (-> arg0 z) (+ 4096.0 (-> arg1 z))) - (set! - (-> arg0 x) - (/ - (+ (- (- (* (-> arg2 y) (-> arg0 y))) (* (-> arg2 z) (-> arg0 z))) f0-3) - (-> arg2 x) + ((and (< f1-7 f2-3) (< f3-1 f2-3)) + (set! (-> arg0 x) (+ 4096.0 (-> arg1 x))) + (set! (-> arg0 z) (+ 4096.0 (-> arg1 z))) + (set! (-> arg0 y) (/ (- (- f0-3 (* (-> arg2 x) (-> arg0 x))) (* (-> arg2 z) (-> arg0 z))) (-> arg2 y))) + ) + (else + (set! (-> arg0 x) (+ 4096.0 (-> arg1 x))) + (set! (-> arg0 y) (+ 4096.0 (-> arg1 y))) + (set! (-> arg0 z) (/ (+ (- (- (* (-> arg2 x) (-> arg0 x))) (* (-> arg2 y) (-> arg0 y))) f0-3) (-> arg2 z))) + ) ) - ) ) - ((and (< f1-7 f2-3) (< f3-1 f2-3)) - (set! (-> arg0 x) (+ 4096.0 (-> arg1 x))) - (set! (-> arg0 z) (+ 4096.0 (-> arg1 z))) - (set! - (-> arg0 y) - (/ - (- (- f0-3 (* (-> arg2 x) (-> arg0 x))) (* (-> arg2 z) (-> arg0 z))) - (-> arg2 y) - ) - ) - ) - (else - (set! (-> arg0 x) (+ 4096.0 (-> arg1 x))) - (set! (-> arg0 y) (+ 4096.0 (-> arg1 y))) - (set! - (-> arg0 z) - (/ - (+ (- (- (* (-> arg2 x) (-> arg0 x))) (* (-> arg2 y) (-> arg0 y))) f0-3) - (-> arg2 z) - ) - ) - ) - ) ) - ) arg0 ) @@ -1002,23 +829,21 @@ (s5-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) ) - (set-vector! s4-0 0.0 0.0 0.0 1.0) - (set-vector! a1-2 100.0 0.0 0.0 10000.0) - (let ((a2-1 (circle-circle-xz-intersect s4-0 a1-2 s5-0 gp-0))) - (format #t "res = ~d~%" a2-1) + (set-vector! s4-0 0.0 0.0 0.0 1.0) + (set-vector! a1-2 100.0 0.0 0.0 10000.0) + (let ((a2-1 (circle-circle-xz-intersect s4-0 a1-2 s5-0 gp-0))) + (format #t "res = ~d~%" a2-1) + ) + (format #t "(~f, ~f)~%" (-> s5-0 x) (-> s5-0 z)) + (format #t "(~f, ~f)~%" (-> gp-0 x) (-> gp-0 z)) ) - (format #t "(~f, ~f)~%" (-> s5-0 x) (-> s5-0 z)) - (format #t "(~f, ~f)~%" (-> gp-0 x) (-> gp-0 z)) - ) (none) ) ;; definition for function vector-circle-tangent-new ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - vector-circle-tangent-new - ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector)) +(defun vector-circle-tangent-new ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector)) (rlet ((Q :class vf) (vf0 :class vf) (vf1 :class vf) @@ -1027,117 +852,107 @@ (vf4 :class vf) (vf5 :class vf) ) - (init-vf0-vector) - (let ((a1-2 (new 'stack 'sphere))) - (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) - (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) - (let ((v1-3 0.5)) - (.lvf vf3 (&-> arg1 quad)) - (.mov vf2 v1-3) - ) - (.lvf vf4 (&-> arg0 quad)) - (.add.vf vf1 vf3 vf4) - (.sub.vf vf5 vf4 vf3) - (.mul.x.vf vf1 vf1 vf2) - (.mul.x.vf vf5 vf5 vf2) - (.mul.vf vf5 vf5 vf5 :mask #b101) - (.add.z.vf vf5 vf5 vf5 :mask #b1) - (.sqrt.vf Q vf5 :ftf #b0) - (.wait.vf) - (.mul.vf vf1 vf0 Q :mask #b1000) - (.nop.vf) - (.nop.vf) - (.svf (&-> a1-2 quad) vf1) - (circle-circle-xz-intersect (the-as sphere arg1) a1-2 arg2 arg3) + (init-vf0-vector) + (let ((a1-2 (new 'stack 'sphere))) + (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) + (set! (-> (new 'stack-no-clear 'vector) quad) (the-as uint128 0)) + (let ((v1-3 0.5)) + (.lvf vf3 (&-> arg1 quad)) + (.mov vf2 v1-3) + ) + (.lvf vf4 (&-> arg0 quad)) + (.add.vf vf1 vf3 vf4) + (.sub.vf vf5 vf4 vf3) + (.mul.x.vf vf1 vf1 vf2) + (.mul.x.vf vf5 vf5 vf2) + (.mul.vf vf5 vf5 vf5 :mask #b101) + (.add.z.vf vf5 vf5 vf5 :mask #b1) + (.sqrt.vf Q vf5 :ftf #b0) + (.wait.vf) + (.mul.vf vf1 vf0 Q :mask #b1000) + (.nop.vf) + (.nop.vf) + (.svf (&-> a1-2 quad) vf1) + (circle-circle-xz-intersect (the-as sphere arg1) a1-2 arg2 arg3) + ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function vector-circle-tangent ;; INFO: Return type mismatch int vs none. -(defun - vector-circle-tangent - ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector)) - (let* - ((s3-1 (vector-! (the-as vector (new 'stack-no-clear 'sphere)) arg1 arg0)) - (f0-0 (vector-xz-length s3-1)) - (f28-0 (acos (/ (-> arg1 w) f0-0))) - ) - (cond - ((>= 546.13336 f28-0) - (set! (-> arg2 x) (- (-> arg0 x) (-> s3-1 z))) - (set! (-> arg2 y) 0.0) - (set! (-> arg2 z) (+ (-> arg0 z) (-> s3-1 x))) - (set! (-> arg3 x) (+ (-> arg0 x) (-> s3-1 z))) - (set! (-> arg3 y) 0.0) - (set! (-> arg3 z) (- (-> arg0 z) (-> s3-1 x))) - ) - (else - (let ((f0-15 (atan (-> s3-1 z) (-> s3-1 x))) - (f30-0 (- (-> arg1 w))) - (s3-2 (new 'stack-no-clear 'vector)) - ) - (let ((s2-1 (new 'stack-no-clear 'vector))) - (let ((a2-1 (new 'stack-no-clear 'vector))) - (set! (-> a2-1 x) (- f0-15 f28-0)) - (set! (-> a2-1 y) (+ f0-15 f28-0)) - (vector-sincos! s3-2 s2-1 a2-1) - ) - (set! (-> arg2 x) (+ (-> arg1 x) (* f30-0 (-> s2-1 x)))) - (set! (-> arg2 z) (+ (-> arg1 z) (* f30-0 (-> s3-2 x)))) - (set! (-> arg3 x) (+ (-> arg1 x) (* f30-0 (-> s2-1 y)))) +(defun vector-circle-tangent ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector)) + (let* ((s3-1 (vector-! (the-as vector (new 'stack-no-clear 'sphere)) arg1 arg0)) + (f0-0 (vector-xz-length s3-1)) + (f28-0 (acos (/ (-> arg1 w) f0-0))) + ) + (cond + ((>= 546.13336 f28-0) + (set! (-> arg2 x) (- (-> arg0 x) (-> s3-1 z))) + (set! (-> arg2 y) 0.0) + (set! (-> arg2 z) (+ (-> arg0 z) (-> s3-1 x))) + (set! (-> arg3 x) (+ (-> arg0 x) (-> s3-1 z))) + (set! (-> arg3 y) 0.0) + (set! (-> arg3 z) (- (-> arg0 z) (-> s3-1 x))) ) - (set! (-> arg3 z) (+ (-> arg1 z) (* f30-0 (-> s3-2 y)))) + (else + (let ((f0-15 (atan (-> s3-1 z) (-> s3-1 x))) + (f30-0 (- (-> arg1 w))) + (s3-2 (new 'stack-no-clear 'vector)) + ) + (let ((s2-1 (new 'stack-no-clear 'vector))) + (let ((a2-1 (new 'stack-no-clear 'vector))) + (set! (-> a2-1 x) (- f0-15 f28-0)) + (set! (-> a2-1 y) (+ f0-15 f28-0)) + (vector-sincos! s3-2 s2-1 a2-1) + ) + (set! (-> arg2 x) (+ (-> arg1 x) (* f30-0 (-> s2-1 x)))) + (set! (-> arg2 z) (+ (-> arg1 z) (* f30-0 (-> s3-2 x)))) + (set! (-> arg3 x) (+ (-> arg1 x) (* f30-0 (-> s2-1 y)))) + ) + (set! (-> arg3 z) (+ (-> arg1 z) (* f30-0 (-> s3-2 y)))) + ) + ) ) - ) ) - ) 0 (none) ) ;; definition for function find-knot-span -(defun - find-knot-span - ((arg0 int) (arg1 int) (arg2 float) (arg3 (inline-array vector))) +(defun find-knot-span ((arg0 int) (arg1 int) (arg2 float) (arg3 (inline-array vector))) (local-vars (v0-0 int)) - (b! - (= arg2 (-> (&-> arg3 0 data (+ arg0 1)) 0)) - cfg-11 - :delay - (set! v0-0 arg0) - ) + (b! (= arg2 (-> (&-> arg3 0 data (+ arg0 1)) 0)) cfg-11 :delay (set! v0-0 arg0)) (let ((v1-3 (the int arg2))) - (let* ((a2-1 (+ v1-3 3)) - (t0-1 (&-> arg3 0 data a2-1)) - (f1-2 (-> t0-1 0)) - (f2-0 (-> t0-1 1)) - ) - (b! (> f1-2 arg2) cfg-4) - (b! (>= arg2 f2-0) cfg-4 :delay (set! v0-0 a2-1)) - ) - (b! #t cfg-11 :delay (nop!)) - (label cfg-4) - (let ((a1-1 arg1) - (a0-1 (+ arg0 1)) - ) - (label cfg-5) - (let ((a2-3 (/ (+ a1-1 a0-1) 2))) - (let ((t0-3 (&-> arg3 0 data a2-3))) - (b! (>= arg2 (-> t0-3 0)) cfg-7) - (b! #t cfg-5 :delay (set! a0-1 a2-3)) - (label cfg-7) - (b! (< arg2 (-> t0-3 1)) cfg-9) + (let* ((a2-1 (+ v1-3 3)) + (t0-1 (&-> arg3 0 data a2-1)) + (f1-2 (-> t0-1 0)) + (f2-0 (-> t0-1 1)) + ) + (b! (> f1-2 arg2) cfg-4) + (b! (>= arg2 f2-0) cfg-4 :delay (set! v0-0 a2-1)) ) - (b! #t cfg-5 :delay (set! a1-1 a2-3)) - (label cfg-9) - (set! v0-0 a2-3) - ) + (b! #t cfg-11 :delay (nop!)) + (label cfg-4) + (let ((a1-1 arg1) + (a0-1 (+ arg0 1)) + ) + (label cfg-5) + (let ((a2-3 (/ (+ a1-1 a0-1) 2))) + (let ((t0-3 (&-> arg3 0 data a2-3))) + (b! (>= arg2 (-> t0-3 0)) cfg-7) + (b! #t cfg-5 :delay (set! a0-1 a2-3)) + (label cfg-7) + (b! (< arg2 (-> t0-3 1)) cfg-9) + ) + (b! #t cfg-5 :delay (set! a1-1 a2-3)) + (label cfg-9) + (set! v0-0 a2-3) + ) + ) + (b! (= v0-0 v1-3) cfg-11 :delay (nop!)) ) - (b! (= v0-0 v1-3) cfg-11 :delay (nop!)) - ) (nop!) (nop!) (label cfg-11) @@ -1147,77 +962,67 @@ ;; definition for function calculate-basis-functions-vector! ;; WARN: Unsupported inline assembly instruction kind - [sll v1, a1, 2] ;; WARN: Unsupported inline assembly instruction kind - [addu v1, a3, v1] -(defun - calculate-basis-functions-vector! - ((arg0 (pointer float)) (arg1 int) (arg2 float) (arg3 (pointer float))) +(defun calculate-basis-functions-vector! ((arg0 (pointer float)) (arg1 int) (arg2 float) (arg3 (pointer float))) (local-vars (v1-0 int) (v1-1 object)) (.sll v1-0 arg1 2) (let ((a1-1 #x3f800000) (f3-0 arg2) ) - (.addu v1-1 arg3 v1-0) - (let* ((f1-0 (the-as float (gpr->fpr a1-1))) - (f5-0 f1-0) - ) - 0.0 - 0.0 - (let* ((f0-2 (-> (the-as (pointer float) v1-1) 0)) - (f2-0 (-> (the-as (pointer float) v1-1) 1)) - (f0-3 (- f3-0 f0-2)) - (f4-0 (- f2-0 f3-0)) - (f10-0 (/ f1-0 (+ f4-0 f0-3))) - (f2-2 (-> (the-as (pointer float) v1-1) -1)) - (f8-0 (-> (the-as (pointer float) v1-1) 2)) - (f2-3 (- f3-0 f2-2)) - (f9-0 (+ f4-0 f2-3)) - (f6-0 (-> (the-as (pointer float) v1-1) -2)) - (f7-0 (-> (the-as (pointer float) v1-1) 3)) - (f9-1 (/ f1-0 f9-0)) - (f5-1 (* f5-0 f10-0)) - (f11-0 (* f4-0 f5-1)) - (f10-1 (* f0-3 f5-1)) - (f5-2 (- f8-0 f3-0)) - (f8-1 (* f11-0 f9-1)) - (f11-1 (/ f1-0 (+ f5-2 f0-3))) - (f9-3 (* f4-0 f8-1)) - (f8-2 (* f2-3 f8-1)) - (f11-2 (* f10-1 f11-1)) - (f10-3 (+ (* f5-2 f11-2) f8-2)) - (f8-3 (* f0-3 f11-2)) - (f6-1 (- f3-0 f6-0)) - (f3-1 (- f7-0 f3-0)) - (f7-3 (* f9-3 (/ f1-0 (+ f4-0 f6-1)))) - (f4-1 (* f4-0 f7-3)) - (f6-2 (* f6-1 f7-3)) - (f7-6 (* f10-3 (/ f1-0 (+ f5-2 f2-3)))) - (f5-4 (+ (* f5-2 f7-6) f6-2)) - (f2-4 (* f2-3 f7-6)) - (f1-2 (* f8-3 (the-as float (/ f1-0 (+ f3-1 f0-3))))) - (f2-5 (+ (* f3-1 f1-2) f2-4)) - (f0-4 (* f0-3 f1-2)) + (.addu v1-1 arg3 v1-0) + (let* ((f1-0 (the-as float (gpr->fpr a1-1))) + (f5-0 f1-0) ) - (set! (-> arg0 0) f4-1) - (set! (-> arg0 1) f5-4) - (set! (-> arg0 2) f2-5) - (set! (-> arg0 3) f0-4) - ) + 0.0 + 0.0 + (let* ((f0-2 (-> (the-as (pointer float) v1-1) 0)) + (f2-0 (-> (the-as (pointer float) v1-1) 1)) + (f0-3 (- f3-0 f0-2)) + (f4-0 (- f2-0 f3-0)) + (f10-0 (/ f1-0 (+ f4-0 f0-3))) + (f2-2 (-> (the-as (pointer float) v1-1) -1)) + (f8-0 (-> (the-as (pointer float) v1-1) 2)) + (f2-3 (- f3-0 f2-2)) + (f9-0 (+ f4-0 f2-3)) + (f6-0 (-> (the-as (pointer float) v1-1) -2)) + (f7-0 (-> (the-as (pointer float) v1-1) 3)) + (f9-1 (/ f1-0 f9-0)) + (f5-1 (* f5-0 f10-0)) + (f11-0 (* f4-0 f5-1)) + (f10-1 (* f0-3 f5-1)) + (f5-2 (- f8-0 f3-0)) + (f8-1 (* f11-0 f9-1)) + (f11-1 (/ f1-0 (+ f5-2 f0-3))) + (f9-3 (* f4-0 f8-1)) + (f8-2 (* f2-3 f8-1)) + (f11-2 (* f10-1 f11-1)) + (f10-3 (+ (* f5-2 f11-2) f8-2)) + (f8-3 (* f0-3 f11-2)) + (f6-1 (- f3-0 f6-0)) + (f3-1 (- f7-0 f3-0)) + (f7-3 (* f9-3 (/ f1-0 (+ f4-0 f6-1)))) + (f4-1 (* f4-0 f7-3)) + (f6-2 (* f6-1 f7-3)) + (f7-6 (* f10-3 (/ f1-0 (+ f5-2 f2-3)))) + (f5-4 (+ (* f5-2 f7-6) f6-2)) + (f2-4 (* f2-3 f7-6)) + (f1-2 (* f8-3 (the-as float (/ f1-0 (+ f3-1 f0-3))))) + (f2-5 (+ (* f3-1 f1-2) f2-4)) + (f0-4 (* f0-3 f1-2)) + ) + (set! (-> arg0 0) f4-1) + (set! (-> arg0 1) f5-4) + (set! (-> arg0 2) f2-5) + (set! (-> arg0 3) f0-4) + ) + ) ) - ) arg0 ) ;; definition for function curve-evaluate! ;; WARN: Unsupported inline assembly instruction kind - [addiu v1, s3, -3] ;; WARN: Unsupported inline assembly instruction kind - [sll v1, v1, 4] -(defun - curve-evaluate! - ((arg0 vector) - (arg1 float) - (arg2 pointer) - (arg3 int) - (arg4 (inline-array vector)) - (arg5 int) - ) +(defun curve-evaluate! ((arg0 vector) (arg1 float) (arg2 pointer) (arg3 int) (arg4 (inline-array vector)) (arg5 int)) (local-vars (v1-7 int) (v1-8 int) (v1-10 float) (s3-0 int)) (rlet ((acc :class vf) (vf0 :class vf) @@ -1228,112 +1033,95 @@ (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (let ((s4-0 (new 'static 'array float 4 0.0 0.0 0.0 0.0))) - 0 - (let* ((f0-0 (-> arg4 0 x)) - (f1-0 (-> (&-> arg4 0 data (+ arg5 -1)) 0)) - (a2-1 (fmax (fmin (* arg1 f1-0) f1-0) f0-0)) - ) - (let* ((a1-1 (+ arg5 -5)) - (a3-1 3) - (f0-2 a2-1) - (v1-5 arg4) - (f0-3 f0-2) - ) - (b! - (= f0-3 (-> (&-> v1-5 0 data (+ a1-1 1)) 0)) - cfg-11 - :delay - (set! s3-0 a1-1) - ) - (let ((a0-4 (the int f0-3))) - (let* ((t1-1 (+ a0-4 3)) - (t2-1 (&-> v1-5 0 data t1-1)) - (f1-4 (-> t2-1 0)) - (f2-3 (-> t2-1 1)) - ) - (b! (> f1-4 f0-3) cfg-4) - (b! (>= f0-3 f2-3) cfg-4 :delay (set! s3-0 t1-1)) - ) - (b! #t cfg-11 :delay (nop!)) - (label cfg-4) - (let ((a3-2 a3-1) - (a1-2 (+ a1-1 1)) + (init-vf0-vector) + (let ((s4-0 (new 'static 'array float 4 0.0 0.0 0.0 0.0))) + 0 + (let* ((f0-0 (-> arg4 0 x)) + (f1-0 (-> (&-> arg4 0 data (+ arg5 -1)) 0)) + (a2-1 (fmax (fmin (* arg1 f1-0) f1-0) f0-0)) ) - (label cfg-5) - (let ((t1-3 (/ (+ a3-2 a1-2) 2))) - (let ((t2-3 (&-> v1-5 0 data t1-3))) - (b! (>= f0-3 (-> t2-3 0)) cfg-7) - (b! #t cfg-5 :delay (set! a1-2 t1-3)) - (label cfg-7) - (b! (< f0-3 (-> t2-3 1)) cfg-9) + (let* ((a1-1 (+ arg5 -5)) + (a3-1 3) + (f0-2 a2-1) + (v1-5 arg4) + (f0-3 f0-2) + ) + (b! (= f0-3 (-> (&-> v1-5 0 data (+ a1-1 1)) 0)) cfg-11 :delay (set! s3-0 a1-1)) + (let ((a0-4 (the int f0-3))) + (let* ((t1-1 (+ a0-4 3)) + (t2-1 (&-> v1-5 0 data t1-1)) + (f1-4 (-> t2-1 0)) + (f2-3 (-> t2-1 1)) + ) + (b! (> f1-4 f0-3) cfg-4) + (b! (>= f0-3 f2-3) cfg-4 :delay (set! s3-0 t1-1)) + ) + (b! #t cfg-11 :delay (nop!)) + (label cfg-4) + (let ((a3-2 a3-1) + (a1-2 (+ a1-1 1)) + ) + (label cfg-5) + (let ((t1-3 (/ (+ a3-2 a1-2) 2))) + (let ((t2-3 (&-> v1-5 0 data t1-3))) + (b! (>= f0-3 (-> t2-3 0)) cfg-7) + (b! #t cfg-5 :delay (set! a1-2 t1-3)) + (label cfg-7) + (b! (< f0-3 (-> t2-3 1)) cfg-9) + ) + (b! #t cfg-5 :delay (set! a3-2 t1-3)) + (label cfg-9) + (set! s3-0 t1-3) + ) + ) + (b! (= s3-0 a0-4) cfg-11 :delay (nop!)) + ) ) - (b! #t cfg-5 :delay (set! a3-2 t1-3)) - (label cfg-9) - (set! s3-0 t1-3) - ) + (nop!) + (nop!) + (label cfg-11) + (calculate-basis-functions-vector! s4-0 s3-0 a2-1 (the-as (pointer float) arg4)) ) - (b! (= s3-0 a0-4) cfg-11 :delay (nop!)) - ) + (.addiu v1-7 s3-0 -3) + (.lvf vf6 s4-0) ) - (nop!) - (nop!) - (label cfg-11) - (calculate-basis-functions-vector! - s4-0 - s3-0 - a2-1 - (the-as (pointer float) arg4) + (.sll v1-8 v1-7 4) + (.add.x.vf vf1 vf0 vf0 :mask #b1000) + (let ((v1-9 (+ v1-8 (the-as int arg2)))) + (nop!) + (nop!) + (.lvf vf2 (&-> (the-as (pointer int128) v1-9))) + (nop!) + (.lvf vf3 (+ v1-9 16)) + (nop!) + (.lvf vf4 (+ v1-9 32)) + (nop!) + (.lvf vf5 (+ v1-9 48)) ) - ) - (.addiu v1-7 s3-0 -3) - (.lvf vf6 s4-0) + (.mul.x.vf acc vf2 vf6) + (nop!) + (.add.mul.y.vf acc vf3 vf6 acc :mask #b111) + (nop!) + (.add.mul.z.vf acc vf4 vf6 acc :mask #b111) + (nop!) + (.add.mul.w.vf vf1 vf5 vf6 acc :mask #b111) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (.svf (&-> arg0 quad) vf1) + (.mov v1-10 vf1) + arg0 ) - (.sll v1-8 v1-7 4) - (.add.x.vf vf1 vf0 vf0 :mask #b1000) - (let ((v1-9 (+ v1-8 (the-as int arg2)))) - (nop!) - (nop!) - (.lvf vf2 (&-> (the-as (pointer int128) v1-9))) - (nop!) - (.lvf vf3 (+ v1-9 16)) - (nop!) - (.lvf vf4 (+ v1-9 32)) - (nop!) - (.lvf vf5 (+ v1-9 48)) - ) - (.mul.x.vf acc vf2 vf6) - (nop!) - (.add.mul.y.vf acc vf3 vf6 acc :mask #b111) - (nop!) - (.add.mul.z.vf acc vf4 vf6 acc :mask #b111) - (nop!) - (.add.mul.w.vf vf1 vf5 vf6 acc :mask #b111) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (.svf (&-> arg0 quad) vf1) - (.mov v1-10 vf1) - arg0 - ) ) ;; definition for function curve-get-pos! (defun curve-get-pos! ((arg0 vector) (arg1 float) (arg2 curve)) - (curve-evaluate! - arg0 - arg1 - (-> arg2 cverts) - (-> arg2 num-cverts) - (-> arg2 knots) - (-> arg2 num-knots) - ) + (curve-evaluate! arg0 arg1 (-> arg2 cverts) (-> arg2 num-cverts) (-> arg2 knots) (-> arg2 num-knots)) ) ;; definition for function curve-length @@ -1344,28 +1132,28 @@ (s3-0 (* 3 (-> arg0 num-cverts))) (f30-0 0.0) ) - (curve-evaluate! - s4-0 - (-> arg0 knots 0 x) - (-> arg0 cverts) - (-> arg0 num-cverts) - (-> arg0 knots) - (-> arg0 num-knots) - ) - (dotimes (s2-0 s3-0) - (set! (-> s5-0 quad) (-> s4-0 quad)) (curve-evaluate! - s4-0 - (/ (the float (+ s2-0 1)) (the float s3-0)) - (-> arg0 cverts) - (-> arg0 num-cverts) - (-> arg0 knots) - (-> arg0 num-knots) - ) - (+! f30-0 (vector-vector-distance s5-0 s4-0)) + s4-0 + (-> arg0 knots 0 x) + (-> arg0 cverts) + (-> arg0 num-cverts) + (-> arg0 knots) + (-> arg0 num-knots) + ) + (dotimes (s2-0 s3-0) + (set! (-> s5-0 quad) (-> s4-0 quad)) + (curve-evaluate! + s4-0 + (/ (the float (+ s2-0 1)) (the float s3-0)) + (-> arg0 cverts) + (-> arg0 num-cverts) + (-> arg0 knots) + (-> arg0 num-knots) + ) + (+! f30-0 (vector-vector-distance s5-0 s4-0)) + ) + f30-0 ) - f30-0 - ) ) ;; definition for function curve-copy! @@ -1381,9 +1169,7 @@ ;; definition for function curve-closest-point ;; WARN: Stack slot offset 48 signed mismatch ;; WARN: Stack slot offset 48 signed mismatch -(defun - curve-closest-point - ((arg0 curve) (arg1 vector) (arg2 float) (arg3 float) (arg4 int) (arg5 float)) +(defun curve-closest-point ((arg0 curve) (arg1 vector) (arg2 float) (arg3 float) (arg4 int) (arg5 float)) (local-vars (sv-48 float)) (set! sv-48 arg3) (let ((s3-0 arg4) @@ -1392,62 +1178,59 @@ (s2-0 (new 'stack-no-clear 'vector)) (s1-0 (new 'stack-no-clear 'vector)) ) - 0.0 - 0.0 - 0.0 - 0.0 - (let ((f28-0 0.5)) 0.0 - (if (< 0.0 sv-48) - (set! f28-0 (/ sv-48 f30-0)) - ) - (let* ((s0-1 (- arg2 (/ gp-0 f30-0))) - (f26-0 (- s0-1 f28-0)) - (f24-0 (+ s0-1 f28-0)) - ) - (curve-get-pos! s2-0 f26-0 arg0) - (curve-get-pos! s1-0 f24-0 arg0) - (let ((f22-0 (vector-vector-distance-squared s2-0 arg1)) - (f20-0 (vector-vector-distance-squared s1-0 arg1)) - ) - (while (> s3-0 0) - (+! s3-0 -1) - (set! f28-0 (* 0.5 f28-0)) - (let ((v1-4 (cond - ((< f22-0 f20-0) - (curve-get-pos! s1-0 s0-1 arg0) - (set! f20-0 (vector-vector-distance-squared s1-0 arg1)) - (set! f24-0 s0-1) - (- s0-1 f28-0) - ) - (else - (curve-get-pos! s2-0 s0-1 arg0) - (set! f22-0 (vector-vector-distance-squared s2-0 arg1)) - (set! f26-0 s0-1) - (+ s0-1 f28-0) - ) - ) - ) - ) - (set! s0-1 (fmin 1.0 (fmax 0.0 v1-4))) - ) - ) - (+ (if (< f22-0 f20-0) - f26-0 - f24-0 + 0.0 + 0.0 + 0.0 + (let ((f28-0 0.5)) + 0.0 + (if (< 0.0 sv-48) + (set! f28-0 (/ sv-48 f30-0)) ) - (/ gp-0 f30-0) - ) + (let* ((s0-1 (- arg2 (/ gp-0 f30-0))) + (f26-0 (- s0-1 f28-0)) + (f24-0 (+ s0-1 f28-0)) + ) + (curve-get-pos! s2-0 f26-0 arg0) + (curve-get-pos! s1-0 f24-0 arg0) + (let ((f22-0 (vector-vector-distance-squared s2-0 arg1)) + (f20-0 (vector-vector-distance-squared s1-0 arg1)) + ) + (while (> s3-0 0) + (+! s3-0 -1) + (set! f28-0 (* 0.5 f28-0)) + (let ((v1-4 (cond + ((< f22-0 f20-0) + (curve-get-pos! s1-0 s0-1 arg0) + (set! f20-0 (vector-vector-distance-squared s1-0 arg1)) + (set! f24-0 s0-1) + (- s0-1 f28-0) + ) + (else + (curve-get-pos! s2-0 s0-1 arg0) + (set! f22-0 (vector-vector-distance-squared s2-0 arg1)) + (set! f26-0 s0-1) + (+ s0-1 f28-0) + ) + ) + ) + ) + (set! s0-1 (fmin 1.0 (fmax 0.0 v1-4))) + ) + ) + (+ (if (< f22-0 f20-0) + f26-0 + f24-0 + ) + (/ gp-0 f30-0) + ) + ) + ) ) - ) ) - ) ) ;; definition for function vector-plane-distance (defun vector-plane-distance ((arg0 vector) (arg1 plane) (arg2 vector)) - (vector-dot - (vector-! (new 'stack-no-clear 'vector) arg0 (the-as vector (&-> arg1 x))) - arg2 - ) + (vector-dot (vector-! (new 'stack-no-clear 'vector) arg0 (the-as vector (&-> arg1 x))) arg2) ) diff --git a/test/decompiler/reference/engine/geometry/vol-h_REF.gc b/test/decompiler/reference/engine/geometry/vol-h_REF.gc index e3c79f10e2..960a90f1f7 100644 --- a/test/decompiler/reference/engine/geometry/vol-h_REF.gc +++ b/test/decompiler/reference/engine/geometry/vol-h_REF.gc @@ -74,119 +74,61 @@ ;; definition for method 0 of type vol-control ;; INFO: Return type mismatch object vs vol-control. ;; Used lq/sq -(defmethod - new - vol-control - ((allocation symbol) (type-to-make type) (arg0 process-drawable)) - (let - ((gp-0 - (the-as - object - (object-new allocation type-to-make (the-as int (-> type-to-make size))) +(defmethod new vol-control ((allocation symbol) (type-to-make type) (arg0 process-drawable)) + (let ((gp-0 (the-as object (object-new allocation type-to-make (the-as int (-> type-to-make size)))))) + (when (zero? (the-as vol-control gp-0)) + (go process-drawable-art-error "memory") + (set! gp-0 0) + (goto cfg-13) ) - ) - ) - (when (zero? (the-as vol-control gp-0)) - (go process-drawable-art-error "memory") - (set! gp-0 0) - (goto cfg-13) - ) - (set! (-> (the-as vol-control gp-0) process) arg0) - (let* ((s5-1 (the-as res-lump (-> (the-as vol-control gp-0) process entity))) - (s4-0 - (-> - ((method-of-type res-lump lookup-tag-idx) - (the-as entity s5-1) - 'vol - 'exact - 0.0 - ) - lo + (set! (-> (the-as vol-control gp-0) process) arg0) + (let* ((s5-1 (the-as res-lump (-> (the-as vol-control gp-0) process entity))) + (s4-0 (-> ((method-of-type res-lump lookup-tag-idx) (the-as entity s5-1) 'vol 'exact 0.0) lo)) + ) + (when (>= (the-as int s4-0) 0) + (let ((s3-0 (the-as uint s4-0)) + (s2-0 (-> s5-1 tag s4-0)) + ) + 0 + (while (= (-> s2-0 name) (-> s5-1 tag s4-0 name)) + (let ((v1-12 (make-property-data s5-1 0.0 (the-as res-tag-pair s3-0) (the-as pointer #f))) + (a0-8 (-> (the-as vol-control gp-0) pos-vol (-> (the-as vol-control gp-0) pos-vol-count))) + ) + (set! (-> a0-8 num-planes) (the-as int (-> s2-0 elt-count))) + (set! (-> a0-8 plane) (the-as uint v1-12)) + ) + (+! (-> (the-as vol-control gp-0) pos-vol-count) 1) + (+! s3-0 1) + (set! s2-0 (-> s5-1 tag s3-0)) ) - ) ) - (when (>= (the-as int s4-0) 0) - (let ((s3-0 (the-as uint s4-0)) - (s2-0 (-> s5-1 tag s4-0)) - ) - 0 - (while (= (-> s2-0 name) (-> s5-1 tag s4-0 name)) - (let - ((v1-12 - (make-property-data - s5-1 - 0.0 - (the-as res-tag-pair s3-0) - (the-as pointer #f) - ) - ) - (a0-8 - (-> - (the-as vol-control gp-0) - pos-vol - (-> (the-as vol-control gp-0) pos-vol-count) - ) - ) - ) - (set! (-> a0-8 num-planes) (the-as int (-> s2-0 elt-count))) - (set! (-> a0-8 plane) (the-as uint v1-12)) ) - (+! (-> (the-as vol-control gp-0) pos-vol-count) 1) - (+! s3-0 1) - (set! s2-0 (-> s5-1 tag s3-0)) - ) ) - ) - ) - (let* ((s5-2 (the-as res-lump (-> (the-as vol-control gp-0) process entity))) - (s4-1 - (-> - ((method-of-type res-lump lookup-tag-idx) - (the-as entity s5-2) - 'cutoutvol - 'exact - 0.0 - ) - lo + (let* ((s5-2 (the-as res-lump (-> (the-as vol-control gp-0) process entity))) + (s4-1 (-> ((method-of-type res-lump lookup-tag-idx) (the-as entity s5-2) 'cutoutvol 'exact 0.0) lo)) + ) + (when (>= (the-as int s4-1) 0) + (let ((s3-1 (the-as uint s4-1)) + (s2-1 (-> s5-2 tag s4-1)) + ) + 0 + (while (= (-> s2-1 name) (-> s5-2 tag s4-1 name)) + (let ((v1-31 (make-property-data s5-2 0.0 (the-as res-tag-pair s3-1) (the-as pointer #f))) + (a0-19 (-> (the-as vol-control gp-0) neg-vol (-> (the-as vol-control gp-0) neg-vol-count))) + ) + (set! (-> a0-19 num-planes) (the-as int (-> s2-1 elt-count))) + (set! (-> a0-19 plane) (the-as uint v1-31)) + ) + (+! (-> (the-as vol-control gp-0) neg-vol-count) 1) + (+! s3-1 1) + (set! s2-1 (-> s5-2 tag s3-1)) ) - ) ) - (when (>= (the-as int s4-1) 0) - (let ((s3-1 (the-as uint s4-1)) - (s2-1 (-> s5-2 tag s4-1)) - ) - 0 - (while (= (-> s2-1 name) (-> s5-2 tag s4-1 name)) - (let - ((v1-31 - (make-property-data - s5-2 - 0.0 - (the-as res-tag-pair s3-1) - (the-as pointer #f) - ) - ) - (a0-19 - (-> - (the-as vol-control gp-0) - neg-vol - (-> (the-as vol-control gp-0) neg-vol-count) - ) - ) - ) - (set! (-> a0-19 num-planes) (the-as int (-> s2-1 elt-count))) - (set! (-> a0-19 plane) (the-as uint v1-31)) ) - (+! (-> (the-as vol-control gp-0) neg-vol-count) 1) - (+! s3-1 1) - (set! s2-1 (-> s5-2 tag s3-1)) - ) ) - ) + (label cfg-13) + (the-as vol-control gp-0) ) - (label cfg-13) - (the-as vol-control gp-0) - ) ) ;; definition for method 11 of type vol-control diff --git a/test/decompiler/reference/engine/gfx/background-h_REF.gc b/test/decompiler/reference/engine/gfx/background-h_REF.gc index 29967a724b..a16c199e9a 100644 --- a/test/decompiler/reference/engine/gfx/background-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/background-h_REF.gc @@ -53,21 +53,9 @@ (format #t "~Tlowres-tfrag-tree-count: ~D~%" (-> obj lowres-tfrag-tree-count)) (format #t "~Tlowres-tfrag-trees[8] @ #x~X~%" (-> obj lowres-tfrag-trees)) (format #t "~Tlowres-tfrag-levels[8] @ #x~X~%" (-> obj lowres-tfrag-levels)) - (format - #t - "~Tlowres-trans-tfrag-tree-count: ~D~%" - (-> obj lowres-trans-tfrag-tree-count) - ) - (format - #t - "~Tlowres-trans-tfrag-trees[8] @ #x~X~%" - (-> obj lowres-trans-tfrag-trees) - ) - (format - #t - "~Tlowres-trans-tfrag-levels[8] @ #x~X~%" - (-> obj lowres-trans-tfrag-levels) - ) + (format #t "~Tlowres-trans-tfrag-tree-count: ~D~%" (-> obj lowres-trans-tfrag-tree-count)) + (format #t "~Tlowres-trans-tfrag-trees[8] @ #x~X~%" (-> obj lowres-trans-tfrag-trees)) + (format #t "~Tlowres-trans-tfrag-levels[8] @ #x~X~%" (-> obj lowres-trans-tfrag-levels)) (format #t "~Tshrub-tree-count: ~D~%" (-> obj shrub-tree-count)) (format #t "~Tshrub-trees[8] @ #x~X~%" (-> obj shrub-trees)) (format #t "~Tshrub-levels[8] @ #x~X~%" (-> obj shrub-levels)) diff --git a/test/decompiler/reference/engine/gfx/background_REF.gc b/test/decompiler/reference/engine/gfx/background_REF.gc index 7713f29780..f559ad2c0f 100644 --- a/test/decompiler/reference/engine/gfx/background_REF.gc +++ b/test/decompiler/reference/engine/gfx/background_REF.gc @@ -14,13 +14,13 @@ ;; INFO: Return type mismatch int vs none. (defun init-background () (dotimes (v1-0 8) - (set! (-> *background-work* tfrag-trees v1-0) #f) - (set! (-> *background-work* trans-tfrag-trees v1-0) #f) - (set! (-> *background-work* dirt-tfrag-trees v1-0) #f) - (set! (-> *background-work* ice-tfrag-trees v1-0) #f) - (set! (-> *background-work* lowres-tfrag-trees v1-0) #f) - (set! (-> *background-work* lowres-trans-tfrag-trees v1-0) #f) - ) + (set! (-> *background-work* tfrag-trees v1-0) #f) + (set! (-> *background-work* trans-tfrag-trees v1-0) #f) + (set! (-> *background-work* dirt-tfrag-trees v1-0) #f) + (set! (-> *background-work* ice-tfrag-trees v1-0) #f) + (set! (-> *background-work* lowres-tfrag-trees v1-0) #f) + (set! (-> *background-work* lowres-trans-tfrag-trees v1-0) #f) + ) (set! (-> *background-work* tfrag-tree-count) 0) (set! (-> *background-work* trans-tfrag-tree-count) 0) (set! (-> *background-work* dirt-tfrag-tree-count) 0) @@ -39,45 +39,45 @@ ;; Used lq/sq (defun upload-vis-bits ((arg0 level) (arg1 level) (arg2 bsp-header)) (let ((qwc (/ (+ (-> arg2 visible-list-length) 15) 16))) - (let ((lev-vis-bits (the-as (pointer uint128) (-> arg0 vis-bits))) - (all-vis (the-as (pointer uint128) (-> arg2 all-visible-list))) - (spad-vis (the-as (pointer uint128) (+ #x38b0 #x70000000))) - ) - (b! (not *artist-flip-visible*) cfg-5 :delay (nop!)) - (nop!) - (nop!) - (label cfg-2) - (let ((a3-2 (-> lev-vis-bits 0))) - (set! lev-vis-bits (&-> lev-vis-bits 1)) - (let ((t0-0 (-> all-vis 0))) - (set! all-vis (&-> all-vis 1)) + (let ((lev-vis-bits (the-as (pointer uint128) (-> arg0 vis-bits))) + (all-vis (the-as (pointer uint128) (-> arg2 all-visible-list))) + (spad-vis (the-as (pointer uint128) (+ #x38b0 #x70000000))) + ) + (b! (not *artist-flip-visible*) cfg-5 :delay (nop!)) (nop!) (nop!) - (let ((a3-3 (logxor a3-2 (the-as uint t0-0)))) - (+! qwc -1) - (set! (-> spad-vis 0) a3-3) - ) + (label cfg-2) + (let ((a3-2 (-> lev-vis-bits 0))) + (set! lev-vis-bits (&-> lev-vis-bits 1)) + (let ((t0-0 (-> all-vis 0))) + (set! all-vis (&-> all-vis 1)) + (nop!) + (nop!) + (let ((a3-3 (logxor a3-2 (the-as uint t0-0)))) + (+! qwc -1) + (set! (-> spad-vis 0) a3-3) + ) + ) + ) + (set! spad-vis (&-> spad-vis 1)) + (b! (> qwc 0) cfg-2 :delay (nop!)) + 0 + (b! #t cfg-8 :delay (nop!)) + (nop!) + (label cfg-5) + (nop!) + (nop!) + (label cfg-6) + (let ((a1-2 (-> lev-vis-bits 0))) + (set! lev-vis-bits (&-> lev-vis-bits 1)) + (nop!) + (+! qwc -1) + (set! (-> spad-vis 0) a1-2) + ) + (set! spad-vis (&-> spad-vis 1)) ) - ) - (set! spad-vis (&-> spad-vis 1)) - (b! (> qwc 0) cfg-2 :delay (nop!)) - 0 - (b! #t cfg-8 :delay (nop!)) - (nop!) - (label cfg-5) - (nop!) - (nop!) - (label cfg-6) - (let ((a1-2 (-> lev-vis-bits 0))) - (set! lev-vis-bits (&-> lev-vis-bits 1)) - (nop!) - (+! qwc -1) - (set! (-> spad-vis 0) a1-2) - ) - (set! spad-vis (&-> spad-vis 1)) + (b! (> qwc 0) cfg-6 :delay (nop!)) ) - (b! (> qwc 0) cfg-6 :delay (nop!)) - ) 0 (label cfg-8) (none) @@ -103,423 +103,290 @@ (vf30 :class vf) (vf31 :class vf) ) - (background-upload-vu0) - (set! (-> *instance-shrub-work* paused) (paused?)) - (when (nonzero? (-> *background-work* shrub-tree-count)) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (dotimes (gp-0 (-> *background-work* shrub-tree-count)) - (set! - (-> (the-as terrain-context #x70000000) bsp lev-index) - (-> *background-work* shrub-levels gp-0 index) - ) - (flush-cache 0) - (let ((s5-0 (-> *background-work* shrub-trees gp-0)) - (s4-0 (-> *background-work* shrub-levels gp-0)) - ) - (if (nonzero? (-> s5-0 colors-added)) - (time-of-day-interp-colors - (-> *instance-shrub-work* colors) - (-> s5-0 colors-added) - (-> s4-0 mood) - ) - ) - (draw-drawable-tree-instance-shrub s5-0 s4-0) - ) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :g #x60 :b #x80 :a #x80) - ) - ) - ) - (let ((gp-1 (the-as level #f))) - (when - (or - (nonzero? (-> *background-work* tfrag-tree-count)) - (nonzero? (-> *background-work* trans-tfrag-tree-count)) - (nonzero? (-> *background-work* dirt-tfrag-tree-count)) - (nonzero? (-> *background-work* ice-tfrag-tree-count)) - (nonzero? (-> *background-work* lowres-tfrag-tree-count)) - (nonzero? (-> *background-work* lowres-trans-tfrag-tree-count)) - ) - (let ((v1-48 *math-camera*)) - (.lvf vf16 (&-> v1-48 plane 0 quad)) - (.lvf vf17 (&-> v1-48 plane 1 quad)) - (.lvf vf18 (&-> v1-48 plane 2 quad)) - (.lvf vf19 (&-> v1-48 plane 3 quad)) - (.lvf vf20 (&-> v1-48 shrub-mat vector 0 quad)) - (.lvf vf21 (&-> v1-48 shrub-mat vector 1 quad)) - (.lvf vf22 (&-> v1-48 shrub-mat vector 2 quad)) - (.lvf vf23 (&-> v1-48 shrub-mat vector 3 quad)) - (.lvf vf24 (&-> v1-48 camera-rot vector 0 quad)) - (.lvf vf25 (&-> v1-48 camera-rot vector 1 quad)) - (.lvf vf26 (&-> v1-48 camera-rot vector 2 quad)) - (.lvf vf27 (&-> v1-48 camera-rot vector 3 quad)) - (.lvf vf28 (&-> v1-48 camera-temp vector 0 quad)) - (.lvf vf29 (&-> v1-48 camera-temp vector 1 quad)) - (.lvf vf30 (&-> v1-48 camera-temp vector 2 quad)) - (.lvf vf31 (&-> v1-48 camera-temp vector 3 quad)) - (.lvf vf31 (&-> v1-48 camera-temp vector 3 quad)) - ) - (let* - ((v1-52 - (max - (-> *background-work* tfrag-tree-count) - (-> *background-work* trans-tfrag-tree-count) - ) - ) - (s4-1 (the-as time-of-day-palette #f)) - (s5-2 - (max - (max v1-52 (-> *background-work* lowres-tfrag-tree-count)) - (-> *background-work* lowres-trans-tfrag-tree-count) - ) - ) - ) + (background-upload-vu0) + (set! (-> *instance-shrub-work* paused) (paused?)) + (when (nonzero? (-> *background-work* shrub-tree-count)) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (dotimes (s3-0 s5-2) - (let ((s2-0 (-> *background-work* tfrag-trees s3-0))) - (when s2-0 - (let ((s1-0 (-> *background-work* tfrag-levels s3-0))) - (let ((a2-4 (-> s1-0 bsp)) - (s0-0 (-> s2-0 time-of-day-pal)) - ) - (upload-vis-bits s1-0 gp-1 a2-4) - (when (not (or (zero? s0-0) (= s4-1 s0-0))) - (flush-cache 0) - (time-of-day-interp-colors-scratch - (the-as - (pointer rgba) - (+ 6160 (the-as int (the-as terrain-context #x70000000))) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (dotimes (gp-0 (-> *background-work* shrub-tree-count)) + (set! (-> (the-as terrain-context #x70000000) bsp lev-index) (-> *background-work* shrub-levels gp-0 index)) + (flush-cache 0) + (let ((s5-0 (-> *background-work* shrub-trees gp-0)) + (s4-0 (-> *background-work* shrub-levels gp-0)) ) - s0-0 - (-> s1-0 mood) - ) - (set! s4-1 s0-0) - ) - ) - (set! - (-> (the-as terrain-context #x70000000) bsp lev-index) - (-> s1-0 index) - ) + (if (nonzero? (-> s5-0 colors-added)) + (time-of-day-interp-colors (-> *instance-shrub-work* colors) (-> s5-0 colors-added) (-> s4-0 mood)) + ) + (draw-drawable-tree-instance-shrub s5-0 s4-0) ) - (set! (-> *tfrag-work* min-dist z) 4095996000.0) - (draw-drawable-tree-tfrag s2-0) - (set! - (-> - *level* - level - (-> (the-as terrain-context #x70000000) bsp lev-index) - closest-object - 0 - ) - (-> *tfrag-work* min-dist z) - ) - ) ) - (let ((s2-1 (-> *background-work* trans-tfrag-trees s3-0))) - (when s2-1 - (let ((s1-1 (-> *background-work* trans-tfrag-levels s3-0))) - (let ((a2-6 (-> s1-1 bsp)) - (s0-1 (-> s2-1 time-of-day-pal)) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :g #x60 :b #x80 :a #x80) + ) + ) + ) + (let ((gp-1 (the-as level #f))) + (when (or + (nonzero? (-> *background-work* tfrag-tree-count)) + (nonzero? (-> *background-work* trans-tfrag-tree-count)) + (nonzero? (-> *background-work* dirt-tfrag-tree-count)) + (nonzero? (-> *background-work* ice-tfrag-tree-count)) + (nonzero? (-> *background-work* lowres-tfrag-tree-count)) + (nonzero? (-> *background-work* lowres-trans-tfrag-tree-count)) + ) + (let ((v1-48 *math-camera*)) + (.lvf vf16 (&-> v1-48 plane 0 quad)) + (.lvf vf17 (&-> v1-48 plane 1 quad)) + (.lvf vf18 (&-> v1-48 plane 2 quad)) + (.lvf vf19 (&-> v1-48 plane 3 quad)) + (.lvf vf20 (&-> v1-48 shrub-mat vector 0 quad)) + (.lvf vf21 (&-> v1-48 shrub-mat vector 1 quad)) + (.lvf vf22 (&-> v1-48 shrub-mat vector 2 quad)) + (.lvf vf23 (&-> v1-48 shrub-mat vector 3 quad)) + (.lvf vf24 (&-> v1-48 camera-rot vector 0 quad)) + (.lvf vf25 (&-> v1-48 camera-rot vector 1 quad)) + (.lvf vf26 (&-> v1-48 camera-rot vector 2 quad)) + (.lvf vf27 (&-> v1-48 camera-rot vector 3 quad)) + (.lvf vf28 (&-> v1-48 camera-temp vector 0 quad)) + (.lvf vf29 (&-> v1-48 camera-temp vector 1 quad)) + (.lvf vf30 (&-> v1-48 camera-temp vector 2 quad)) + (.lvf vf31 (&-> v1-48 camera-temp vector 3 quad)) + (.lvf vf31 (&-> v1-48 camera-temp vector 3 quad)) + ) + (let* ((v1-52 (max (-> *background-work* tfrag-tree-count) (-> *background-work* trans-tfrag-tree-count))) + (s4-1 (the-as time-of-day-palette #f)) + (s5-2 (max + (max v1-52 (-> *background-work* lowres-tfrag-tree-count)) + (-> *background-work* lowres-trans-tfrag-tree-count) + ) + ) + ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) ) - (upload-vis-bits s1-1 gp-1 a2-6) - (when (not (or (zero? s0-1) (= s4-1 s0-1))) - (flush-cache 0) - (time-of-day-interp-colors-scratch - (the-as (pointer rgba) (+ 6160 #x70000000)) - s0-1 - (-> s1-1 mood) - ) - (set! s4-1 s0-1) - ) - ) - (set! - (-> (the-as terrain-context #x70000000) bsp lev-index) - (-> s1-1 index) - ) - ) - (set! (-> *tfrag-work* min-dist z) 4095996000.0) - (draw-drawable-tree-trans-tfrag s2-1) - (set! - (-> - *level* - level - (-> (the-as terrain-context #x70000000) bsp lev-index) - closest-object - 3 - ) - (-> *tfrag-work* min-dist z) - ) - ) - ) - (let ((s2-2 (-> *background-work* dirt-tfrag-trees s3-0))) - (when s2-2 - (let ((s1-2 (-> *background-work* dirt-tfrag-levels s3-0))) - (let ((a2-8 (-> s1-2 bsp)) - (s0-2 (-> s2-2 time-of-day-pal)) + ) + (dotimes (s3-0 s5-2) + (let ((s2-0 (-> *background-work* tfrag-trees s3-0))) + (when s2-0 + (let ((s1-0 (-> *background-work* tfrag-levels s3-0))) + (let ((a2-4 (-> s1-0 bsp)) + (s0-0 (-> s2-0 time-of-day-pal)) + ) + (upload-vis-bits s1-0 gp-1 a2-4) + (when (not (or (zero? s0-0) (= s4-1 s0-0))) + (flush-cache 0) + (time-of-day-interp-colors-scratch + (the-as (pointer rgba) (+ 6160 (the-as int (the-as terrain-context #x70000000)))) + s0-0 + (-> s1-0 mood) + ) + (set! s4-1 s0-0) + ) + ) + (set! (-> (the-as terrain-context #x70000000) bsp lev-index) (-> s1-0 index)) + ) + (set! (-> *tfrag-work* min-dist z) 4095996000.0) + (draw-drawable-tree-tfrag s2-0) + (set! (-> *level* level (-> (the-as terrain-context #x70000000) bsp lev-index) closest-object 0) + (-> *tfrag-work* min-dist z) + ) ) - (upload-vis-bits s1-2 gp-1 a2-8) - (when (not (or (zero? s0-2) (= s4-1 s0-2))) - (flush-cache 0) - (time-of-day-interp-colors-scratch - (the-as (pointer rgba) (+ 6160 #x70000000)) - s0-2 - (-> s1-2 mood) - ) - (set! s4-1 s0-2) - ) - ) - (set! - (-> (the-as terrain-context #x70000000) bsp lev-index) - (-> s1-2 index) - ) - ) - (set! (-> *tfrag-work* min-dist z) 4095996000.0) - (draw-drawable-tree-dirt-tfrag s2-2) - (set! - (-> - *level* - level - (-> (the-as terrain-context #x70000000) bsp lev-index) - closest-object - 3 - ) - (fmin - (-> - *level* - level - (-> (the-as terrain-context #x70000000) bsp lev-index) - closest-object - 3 - ) - (-> *tfrag-work* min-dist z) - ) - ) - ) - ) - (let ((s2-3 (-> *background-work* ice-tfrag-trees s3-0))) - (when s2-3 - (let ((s1-3 (-> *background-work* ice-tfrag-levels s3-0))) - (let ((a2-10 (-> s1-3 bsp)) - (s0-3 (-> s2-3 time-of-day-pal)) + ) + (let ((s2-1 (-> *background-work* trans-tfrag-trees s3-0))) + (when s2-1 + (let ((s1-1 (-> *background-work* trans-tfrag-levels s3-0))) + (let ((a2-6 (-> s1-1 bsp)) + (s0-1 (-> s2-1 time-of-day-pal)) + ) + (upload-vis-bits s1-1 gp-1 a2-6) + (when (not (or (zero? s0-1) (= s4-1 s0-1))) + (flush-cache 0) + (time-of-day-interp-colors-scratch (the-as (pointer rgba) (+ 6160 #x70000000)) s0-1 (-> s1-1 mood)) + (set! s4-1 s0-1) + ) + ) + (set! (-> (the-as terrain-context #x70000000) bsp lev-index) (-> s1-1 index)) + ) + (set! (-> *tfrag-work* min-dist z) 4095996000.0) + (draw-drawable-tree-trans-tfrag s2-1) + (set! (-> *level* level (-> (the-as terrain-context #x70000000) bsp lev-index) closest-object 3) + (-> *tfrag-work* min-dist z) + ) ) - (upload-vis-bits s1-3 gp-1 a2-10) - (when (not (or (zero? s0-3) (= s4-1 s0-3))) - (flush-cache 0) - (time-of-day-interp-colors-scratch - (the-as (pointer rgba) (+ 6160 #x70000000)) - s0-3 - (-> s1-3 mood) - ) - (set! s4-1 s0-3) - ) - ) - (set! - (-> (the-as terrain-context #x70000000) bsp lev-index) - (-> s1-3 index) - ) - ) - (set! (-> *tfrag-work* min-dist z) 4095996000.0) - (draw-drawable-tree-ice-tfrag s2-3) - (set! - (-> - *level* - level - (-> (the-as terrain-context #x70000000) bsp lev-index) - closest-object - 3 - ) - (fmin - (-> - *level* - level - (-> (the-as terrain-context #x70000000) bsp lev-index) - closest-object - 3 - ) - (-> *tfrag-work* min-dist z) - ) - ) - ) - ) - (let ((s2-4 (-> *background-work* lowres-tfrag-trees s3-0))) - (when s2-4 - (let ((s1-4 (-> *background-work* lowres-tfrag-levels s3-0))) - (let ((a2-12 (-> s1-4 bsp)) - (s0-4 (-> s2-4 time-of-day-pal)) + ) + (let ((s2-2 (-> *background-work* dirt-tfrag-trees s3-0))) + (when s2-2 + (let ((s1-2 (-> *background-work* dirt-tfrag-levels s3-0))) + (let ((a2-8 (-> s1-2 bsp)) + (s0-2 (-> s2-2 time-of-day-pal)) + ) + (upload-vis-bits s1-2 gp-1 a2-8) + (when (not (or (zero? s0-2) (= s4-1 s0-2))) + (flush-cache 0) + (time-of-day-interp-colors-scratch (the-as (pointer rgba) (+ 6160 #x70000000)) s0-2 (-> s1-2 mood)) + (set! s4-1 s0-2) + ) + ) + (set! (-> (the-as terrain-context #x70000000) bsp lev-index) (-> s1-2 index)) + ) + (set! (-> *tfrag-work* min-dist z) 4095996000.0) + (draw-drawable-tree-dirt-tfrag s2-2) + (set! (-> *level* level (-> (the-as terrain-context #x70000000) bsp lev-index) closest-object 3) + (fmin + (-> *level* level (-> (the-as terrain-context #x70000000) bsp lev-index) closest-object 3) + (-> *tfrag-work* min-dist z) + ) + ) ) - (upload-vis-bits s1-4 gp-1 a2-12) - (when (not (or (zero? s0-4) (= s4-1 s0-4))) - (flush-cache 0) - (time-of-day-interp-colors-scratch - (the-as (pointer rgba) (+ 6160 #x70000000)) - s0-4 - (-> s1-4 mood) - ) - (set! s4-1 s0-4) - ) - ) - (set! - (-> (the-as terrain-context #x70000000) bsp lev-index) - (-> s1-4 index) - ) - ) - (draw-drawable-tree-tfrag s2-4) - ) - ) - (let ((s2-5 (-> *background-work* lowres-trans-tfrag-trees s3-0))) - (when s2-5 - (let ((s1-5 (-> *background-work* lowres-trans-tfrag-levels s3-0))) - (let ((a2-14 (-> s1-5 bsp)) - (s0-5 (-> s2-5 time-of-day-pal)) + ) + (let ((s2-3 (-> *background-work* ice-tfrag-trees s3-0))) + (when s2-3 + (let ((s1-3 (-> *background-work* ice-tfrag-levels s3-0))) + (let ((a2-10 (-> s1-3 bsp)) + (s0-3 (-> s2-3 time-of-day-pal)) + ) + (upload-vis-bits s1-3 gp-1 a2-10) + (when (not (or (zero? s0-3) (= s4-1 s0-3))) + (flush-cache 0) + (time-of-day-interp-colors-scratch (the-as (pointer rgba) (+ 6160 #x70000000)) s0-3 (-> s1-3 mood)) + (set! s4-1 s0-3) + ) + ) + (set! (-> (the-as terrain-context #x70000000) bsp lev-index) (-> s1-3 index)) + ) + (set! (-> *tfrag-work* min-dist z) 4095996000.0) + (draw-drawable-tree-ice-tfrag s2-3) + (set! (-> *level* level (-> (the-as terrain-context #x70000000) bsp lev-index) closest-object 3) + (fmin + (-> *level* level (-> (the-as terrain-context #x70000000) bsp lev-index) closest-object 3) + (-> *tfrag-work* min-dist z) + ) + ) ) - (upload-vis-bits s1-5 gp-1 a2-14) - (when (not (or (zero? s0-5) (= s4-1 s0-5))) - (flush-cache 0) - (time-of-day-interp-colors-scratch - (the-as (pointer rgba) (+ 6160 #x70000000)) - s0-5 - (-> s1-5 mood) - ) - (set! s4-1 s0-5) + ) + (let ((s2-4 (-> *background-work* lowres-tfrag-trees s3-0))) + (when s2-4 + (let ((s1-4 (-> *background-work* lowres-tfrag-levels s3-0))) + (let ((a2-12 (-> s1-4 bsp)) + (s0-4 (-> s2-4 time-of-day-pal)) + ) + (upload-vis-bits s1-4 gp-1 a2-12) + (when (not (or (zero? s0-4) (= s4-1 s0-4))) + (flush-cache 0) + (time-of-day-interp-colors-scratch (the-as (pointer rgba) (+ 6160 #x70000000)) s0-4 (-> s1-4 mood)) + (set! s4-1 s0-4) + ) + ) + (set! (-> (the-as terrain-context #x70000000) bsp lev-index) (-> s1-4 index)) + ) + (draw-drawable-tree-tfrag s2-4) + ) + ) + (let ((s2-5 (-> *background-work* lowres-trans-tfrag-trees s3-0))) + (when s2-5 + (let ((s1-5 (-> *background-work* lowres-trans-tfrag-levels s3-0))) + (let ((a2-14 (-> s1-5 bsp)) + (s0-5 (-> s2-5 time-of-day-pal)) + ) + (upload-vis-bits s1-5 gp-1 a2-14) + (when (not (or (zero? s0-5) (= s4-1 s0-5))) + (flush-cache 0) + (time-of-day-interp-colors-scratch (the-as (pointer rgba) (+ 6160 #x70000000)) s0-5 (-> s1-5 mood)) + (set! s4-1 s0-5) + ) + ) + (set! (-> (the-as terrain-context #x70000000) bsp lev-index) (-> s1-5 index)) + ) + (set! (-> *tfrag-work* min-dist z) 4095996000.0) + (draw-drawable-tree-trans-tfrag s2-5) + (set! (-> *level* level (-> (the-as terrain-context #x70000000) bsp lev-index) closest-object 3) + (fmin + (-> *level* level (-> (the-as terrain-context #x70000000) bsp lev-index) closest-object 3) + (-> *tfrag-work* min-dist z) + ) + ) + ) + ) ) - ) - (set! - (-> (the-as terrain-context #x70000000) bsp lev-index) - (-> s1-5 index) - ) ) - (set! (-> *tfrag-work* min-dist z) 4095996000.0) - (draw-drawable-tree-trans-tfrag s2-5) - (set! - (-> - *level* - level - (-> (the-as terrain-context #x70000000) bsp lev-index) - closest-object - 3 - ) - (fmin - (-> - *level* - level - (-> (the-as terrain-context #x70000000) bsp lev-index) - closest-object - 3 + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :g #x80 :b #x60 :a #x80) + ) ) - (-> *tfrag-work* min-dist z) - ) + ) + (set! (-> *instance-tie-work* paused) (paused?)) + (when (nonzero? (-> *background-work* tie-tree-count)) + (tie-near-make-perspective-matrix (-> *instance-tie-work* tie-near-perspective-matrix)) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (dotimes (s5-3 (-> *background-work* tie-tree-count)) + (let ((s4-2 (-> *background-work* tie-levels s5-3))) + (let ((a2-18 (-> s4-2 bsp))) + (when (!= s4-2 gp-1) + (set! (-> *instance-tie-work* min-dist x) 4095996000.0) + (upload-vis-bits s4-2 gp-1 a2-18) + (set! gp-1 s4-2) + ) + ) + (set! (-> (the-as terrain-context #x70000000) bsp lev-index) (-> s4-2 index)) + (set! (-> (the-as terrain-context #x70000000) bsp mood) (-> s4-2 mood)) + (draw-drawable-tree-instance-tie (-> *background-work* tie-trees s5-3) s4-2) + ) + (set! (-> *background-work* tie-generic s5-3) (the-as basic (-> *instance-tie-work* first-generic-prototype))) ) - ) - ) - ) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :g #x80 :b #x60 :a #x80) - ) - ) - ) - (set! (-> *instance-tie-work* paused) (paused?)) - (when (nonzero? (-> *background-work* tie-tree-count)) - (tie-near-make-perspective-matrix - (-> *instance-tie-work* tie-near-perspective-matrix) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (dotimes (s5-3 (-> *background-work* tie-tree-count)) - (let ((s4-2 (-> *background-work* tie-levels s5-3))) - (let ((a2-18 (-> s4-2 bsp))) - (when (!= s4-2 gp-1) - (set! (-> *instance-tie-work* min-dist x) 4095996000.0) - (upload-vis-bits s4-2 gp-1 a2-18) - (set! gp-1 s4-2) - ) - ) - (set! - (-> (the-as terrain-context #x70000000) bsp lev-index) - (-> s4-2 index) - ) - (set! (-> (the-as terrain-context #x70000000) bsp mood) (-> s4-2 mood)) - (draw-drawable-tree-instance-tie - (-> *background-work* tie-trees s5-3) - s4-2 - ) - ) - (set! - (-> *background-work* tie-generic s5-3) - (the-as basic (-> *instance-tie-work* first-generic-prototype)) - ) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :g #x20 :b #x60 :a #x80) - ) - ) - (dotimes (gp-2 (-> *background-work* tie-tree-count)) - (when (nonzero? (-> *background-work* tie-generic gp-2)) - (let* - ((s5-4 - (-> - *background-work* - tie-levels - gp-2 - foreground-sink-group - 0 - generic-sink - ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :g #x20 :b #x60 :a #x80) + ) + ) + (dotimes (gp-2 (-> *background-work* tie-tree-count)) + (when (nonzero? (-> *background-work* tie-generic gp-2)) + (let* ((s5-4 (-> *background-work* tie-levels gp-2 foreground-sink-group 0 generic-sink)) + (s3-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s4-3 (-> s3-1 base)) + ) + (generic-tie-execute s5-4 s3-1 (-> *background-work* tie-generic gp-2)) + (let ((a3-0 (-> s3-1 base))) + (let ((v1-219 (the-as object (-> s3-1 base)))) + (set! (-> (the-as dma-packet v1-219) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-219) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-219) vif1) (new 'static 'vif-tag)) + (set! (-> s3-1 base) (&+ (the-as pointer v1-219) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (-> s5-4 bucket) + s4-3 + (the-as (pointer dma-tag) a3-0) + ) + ) + ) + ) ) - (s3-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s4-3 (-> s3-1 base)) - ) - (generic-tie-execute s5-4 s3-1 (-> *background-work* tie-generic gp-2)) - (let ((a3-0 (-> s3-1 base))) - (let ((v1-219 (the-as object (-> s3-1 base)))) - (set! - (-> (the-as dma-packet v1-219) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-219) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-219) vif1) (new 'static 'vif-tag)) - (set! (-> s3-1 base) (&+ (the-as pointer v1-219) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (-> s5-4 bucket) - s4-3 - (the-as (pointer dma-tag) a3-0) - ) - ) ) - ) ) - ) + 0 + (none) ) - 0 - (none) - ) ) diff --git a/test/decompiler/reference/engine/gfx/capture_REF.gc b/test/decompiler/reference/engine/gfx/capture_REF.gc index f415ee0cba..5ea6098cc3 100644 --- a/test/decompiler/reference/engine/gfx/capture_REF.gc +++ b/test/decompiler/reference/engine/gfx/capture_REF.gc @@ -45,44 +45,26 @@ ;; definition for function gs-set-default-store-image ;; WARN: Unsupported inline assembly instruction kind - [sync.l] ;; Used lq/sq -(defun - gs-set-default-store-image - ((packet gs-store-image-packet) - (src-fbp int) - (src-w int) - (src-psm int) - (ssax int) - (ssay int) - (rrw int) - (rrh int) - ) +(defun gs-set-default-store-image ((packet gs-store-image-packet) + (src-fbp int) + (src-w int) + (src-psm int) + (ssax int) + (ssay int) + (rrw int) + (rrh int) + ) (set! (-> packet vifcode 0) (new 'static 'vif-tag)) - (set! - (-> packet vifcode 1) - (new 'static 'vif-tag :imm #x8000 :cmd (vif-cmd mskpath3)) - ) - (set! - (-> packet vifcode 2) - (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1) - ) - (set! - (-> packet vifcode 3) - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) - ) - (set! - (-> packet giftag) - (the-as - gif-tag - (make-u128 - (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d)) - (new 'static 'gif-tag64 :nloop #x5 :eop #x1 :nreg #x1) - ) - ) - ) - (set! - (-> packet bitbltbuf) - (new 'static 'gs-bitbltbuf :sbp src-fbp :sbw src-w :spsm src-psm) - ) + (set! (-> packet vifcode 1) (new 'static 'vif-tag :imm #x8000 :cmd (vif-cmd mskpath3))) + (set! (-> packet vifcode 2) (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1)) + (set! (-> packet vifcode 3) (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> packet giftag) (the-as gif-tag (make-u128 + (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d)) + (new 'static 'gif-tag64 :nloop #x5 :eop #x1 :nreg #x1) + ) + ) + ) + (set! (-> packet bitbltbuf) (new 'static 'gs-bitbltbuf :sbp src-fbp :sbw src-w :spsm src-psm)) (set! (-> packet bitbltbuf-addr) (gs-reg64 bitbltbuf)) (set! (-> packet trxpos) (new 'static 'gs-trxpos :ssax ssax :ssay ssay)) (set! (-> packet trxpos-addr) (gs-reg64 trxpos)) @@ -104,62 +86,46 @@ (height (-> *video-parms* screen-sy)) (file (new 'debug 'file-stream "image.raw" 'write)) ) - (let ((buff0 (new 'debug 'boxed-array uint128 (/ (* width height) 4)))) - (let ((buff1 (new 'debug 'boxed-array uint128 (/ (* width height) 4)))) - (let ((packet (new 'static 'gs-store-image-packet))) - (gs-set-default-store-image packet #x2800 (/ width 64) 0 0 0 width height) - (flush-cache 0) - (gs-store-image packet (-> buff0 data)) - (sync-path 0 0) - (gs-set-default-store-image packet #x3000 (/ width 64) 0 0 0 width height) - (flush-cache 0) - (gs-store-image packet (-> buff1 data)) - ) - (sync-path 0 0) - (let ((ptr-0 (-> buff0 data))) - (set! ptr-1 (-> buff1 data)) - (cond - ((zero? oddeven) - (set! y-idx 0) - (while (< y-idx height) - (file-stream-write - file - (&+ ptr-0 (* y-idx (* width 4))) - (the-as uint (* width 4)) + (let ((buff0 (new 'debug 'boxed-array uint128 (/ (* width height) 4)))) + (let ((buff1 (new 'debug 'boxed-array uint128 (/ (* width height) 4)))) + (let ((packet (new 'static 'gs-store-image-packet))) + (gs-set-default-store-image packet #x2800 (/ width 64) 0 0 0 width height) + (flush-cache 0) + (gs-store-image packet (-> buff0 data)) + (sync-path 0 0) + (gs-set-default-store-image packet #x3000 (/ width 64) 0 0 0 width height) + (flush-cache 0) + (gs-store-image packet (-> buff1 data)) ) - (file-stream-write - file - (&+ ptr-1 (* y-idx (* width 4))) - (the-as uint (* width 4)) + (sync-path 0 0) + (let ((ptr-0 (-> buff0 data))) + (set! ptr-1 (-> buff1 data)) + (cond + ((zero? oddeven) + (set! y-idx 0) + (while (< y-idx height) + (file-stream-write file (&+ ptr-0 (* y-idx (* width 4))) (the-as uint (* width 4))) + (file-stream-write file (&+ ptr-1 (* y-idx (* width 4))) (the-as uint (* width 4))) + (set! y-idx (+ y-idx 1)) + ) + ) + (else + (set! y-idx-2 0) + (while (< y-idx-2 height) + (file-stream-write file (&+ ptr-1 (* y-idx-2 (* width 4))) (the-as uint (* width 4))) + (file-stream-write file (&+ ptr-0 (* y-idx-2 (* width 4))) (the-as uint (* width 4))) + (set! y-idx-2 (+ y-idx-2 1)) + ) + ) + ) ) - (set! y-idx (+ y-idx 1)) - ) + (format #t "oddeven = ~d~%" oddeven) + (delete buff1) ) - (else - (set! y-idx-2 0) - (while (< y-idx-2 height) - (file-stream-write - file - (&+ ptr-1 (* y-idx-2 (* width 4))) - (the-as uint (* width 4)) - ) - (file-stream-write - file - (&+ ptr-0 (* y-idx-2 (* width 4))) - (the-as uint (* width 4)) - ) - (set! y-idx-2 (+ y-idx-2 1)) - ) - ) - ) + (delete buff0) ) - (format #t "oddeven = ~d~%" oddeven) - (delete buff1) - ) - (delete buff0) + (file-stream-close file) ) - (file-stream-close file) - ) 0 ) diff --git a/test/decompiler/reference/engine/gfx/depth-cue-h_REF.gc b/test/decompiler/reference/engine/gfx/depth-cue-h_REF.gc index 8c0639dcbb..4f3e0e746a 100644 --- a/test/decompiler/reference/engine/gfx/depth-cue-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/depth-cue-h_REF.gc @@ -44,16 +44,8 @@ ;; definition for method 3 of type depth-cue-work (defmethod inspect depth-cue-work ((obj depth-cue-work)) (format #t "[~8x] ~A~%" obj 'depth-cue-work) - (format - #t - "~Ttexture-strip-tmpl: #~%" - (-> obj texture-strip-tmpl) - ) - (format - #t - "~Ttemp-strip-tmpl: #~%" - (-> obj temp-strip-tmpl) - ) + (format #t "~Ttexture-strip-tmpl: #~%" (-> obj texture-strip-tmpl)) + (format #t "~Ttemp-strip-tmpl: #~%" (-> obj temp-strip-tmpl)) (format #t "~Tstencil-tmpl: #~%" (-> obj stencil-tmpl)) (format #t "~Tclear-color: #~%" (-> obj clear-color)) (format #t "~Tset-color: #~%" (-> obj set-color)) diff --git a/test/decompiler/reference/engine/gfx/font-h_REF.gc b/test/decompiler/reference/engine/gfx/font-h_REF.gc index 6c6c6c729d..5c2f43c7eb 100644 --- a/test/decompiler/reference/engine/gfx/font-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/font-h_REF.gc @@ -38,18 +38,14 @@ ) ;; definition for symbol *font-default-matrix*, type matrix -(define - *font-default-matrix* - (new 'static 'matrix - :vector - (new 'static 'inline-array vector 4 - (new 'static 'vector :x 1.0) - (new 'static 'vector :y 1.0) - (new 'static 'vector :z 1.0) - (new 'static 'vector :x -256.0 :w 1.0) - ) - ) - ) +(define *font-default-matrix* (new 'static 'matrix :vector (new 'static 'inline-array vector 4 + (new 'static 'vector :x 1.0) + (new 'static 'vector :y 1.0) + (new 'static 'vector :z 1.0) + (new 'static 'vector :x -256.0 :w 1.0) + ) + ) + ) ;; definition of type font-context (deftype font-context (basic) @@ -170,62 +166,55 @@ ) ;; definition for method 0 of type font-context -(defmethod - new - font-context - ((allocation symbol) - (type-to-make type) - (mat matrix) - (x int) - (y int) - (z float) - (color font-color) - (flags font-flags) - ) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) - ) - (set! (-> obj mat) mat) - (let ((v1-3 obj)) - (set! (-> v1-3 origin x) (the float x)) - (set! (-> v1-3 origin y) (the float y)) - ) - (cond - ((= z 0.0) - (let ((v1-4 obj)) - (set! (-> v1-4 origin z) (-> *math-camera* isometric vector 3 z)) +(defmethod new font-context ((allocation symbol) + (type-to-make type) + (mat matrix) + (x int) + (y int) + (z float) + (color font-color) + (flags font-flags) + ) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj mat) mat) + (let ((v1-3 obj)) + (set! (-> v1-3 origin x) (the float x)) + (set! (-> v1-3 origin y) (the float y)) ) - ) - (else - (let ((v1-5 obj)) - (set! (-> v1-5 origin z) z) + (cond + ((= z 0.0) + (let ((v1-4 obj)) + (set! (-> v1-4 origin z) (-> *math-camera* isometric vector 3 z)) + ) + ) + (else + (let ((v1-5 obj)) + (set! (-> v1-5 origin z) z) + ) + ) ) - ) + (let ((v1-6 obj)) + (set! (-> v1-6 origin w) 1.0) + ) + (let ((v1-7 obj)) + (set! (-> v1-7 width) (the float 512)) + ) + (let ((v1-8 obj)) + (set! (-> v1-8 height) (the float 256)) + ) + (let ((v1-9 obj)) + (set! (-> v1-9 projection) 1.0) + ) + (set! (-> obj color) color) + (set! (-> obj flags) flags) + (let ((a0-4 obj)) + (set! (-> a0-4 start-line) (the-as uint 0)) + ) + (let ((v1-13 obj)) + (set! (-> v1-13 scale) 1.0) + ) + obj ) - (let ((v1-6 obj)) - (set! (-> v1-6 origin w) 1.0) - ) - (let ((v1-7 obj)) - (set! (-> v1-7 width) (the float 512)) - ) - (let ((v1-8 obj)) - (set! (-> v1-8 height) (the float 256)) - ) - (let ((v1-9 obj)) - (set! (-> v1-9 projection) 1.0) - ) - (set! (-> obj color) color) - (set! (-> obj flags) flags) - (let ((a0-4 obj)) - (set! (-> a0-4 start-line) (the-as uint 0)) - ) - (let ((v1-13 obj)) - (set! (-> v1-13 scale) 1.0) - ) - obj - ) ) ;; definition of type font-work @@ -314,473 +303,394 @@ (define *font-work* (new 'static 'font-work - :font-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) - ) - :gif - (new 'static 'array uint64 2 #x102e400000008001 #xe) + :font-tmpl + (new 'static 'dma-gif-packet + :dma-vif + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt)) + :vif1 + (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) + ) + :gif + (new 'static 'array uint64 2 #x102e400000008001 #xe) + ) + :char-tmpl + (new 'static 'dma-gif-packet + :dma-vif + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #xe :id (dma-tag-id cnt)) + :vif1 + (new 'static 'vif-tag :imm #xe :cmd (vif-cmd direct) :msk #x1) + ) + :gif + (new 'static 'array uint64 2 #xd02e400000008001 #x412412412412e) + ) + :tex1-tmpl (new 'static 'array uint64 2 #x60 #x14) + :small-font-lo-tmpl (new 'static 'array uint64 2 #x0 #x6) + :small-font-hi-tmpl (new 'static 'array uint64 2 #x0 #x6) + :large-font-lo-tmpl (new 'static 'array uint64 2 #x0 #x6) + :large-font-hi-tmpl (new 'static 'array uint64 2 #x0 #x6) + :size1-small (new 'static 'vector :x 12.0 :w 0.5) + :size2-small (new 'static 'vector :y 8.0 :w 8.0) + :size3-small + (new 'static 'vector :x 12.0 :y 8.0 :w 8.0) + :size1-large (new 'static 'vector :x 24.0 :w 1.0) + :size2-large (new 'static 'vector :y 16.0 :w 16.0) + :size3-large + (new 'static 'vector :x 24.0 :y 16.0 :w 16.0) + :size-st1 (new 'static 'vector :x 0.08985 :w 0.5) + :size-st2 + (new 'static 'vector :y 0.06153846 :w 0.5) + :size-st3 + (new 'static 'vector :x 0.08985 :y 0.06153846 :w 0.5) + :current-verts + (new 'static 'char-verts + :pos + (new 'static 'inline-array vector 4 + (new 'static 'vector :w 1.0) + (new 'static 'vector :w 1.0) + (new 'static 'vector :w 1.0) + (new 'static 'vector :w 1.0) + ) + :tex-st + (new 'static 'inline-array vector 4 + (new 'static 'vector :z 1.0) + (new 'static 'vector :z 1.0) + (new 'static 'vector :z 1.0) + (new 'static 'vector :z 1.0) + ) + ) + :src-verts + (new 'static 'char-verts + :pos + (new 'static 'inline-array vector 4 + (new 'static 'vector :w 1.0) + (new 'static 'vector :w 1.0) + (new 'static 'vector :w 1.0) + (new 'static 'vector :w 1.0) + ) + :tex-st + (new 'static 'inline-array vector 4 + (new 'static 'vector :z 1.0) + (new 'static 'vector :z 1.0) + (new 'static 'vector :z 1.0) + (new 'static 'vector :z 1.0) + ) + ) + :dest-verts + (new 'static 'char-verts + :pos + (new 'static 'inline-array vector 4 + (new 'static 'vector :w 1.0) + (new 'static 'vector :w 1.0) + (new 'static 'vector :w 1.0) + (new 'static 'vector :w 1.0) + ) + :tex-st + (new 'static 'inline-array vector 4 + (new 'static 'vector :z 1.0) + (new 'static 'vector :z 1.0) + (new 'static 'vector :z 1.0) + (new 'static 'vector :z 1.0) + ) + ) + :color-shadow (new 'static 'vector4w :w #x80) + :color-table + (new 'static 'inline-array char-color 64 + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80) + (new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80) + (new 'static 'rgba :r #x30 :g #x38 :b #x30 :a #x80) + (new 'static 'rgba :r #x30 :g #x38 :b #x30 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) + (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) + (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80) + (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x40) + (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x40) + (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x40) + (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x40) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) + (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) + (new 'static 'rgba :r #x60 :a #x80) + (new 'static 'rgba :r #x60 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x80 :g #x64 :a #x80) + (new 'static 'rgba :r #x80 :g #x64 :a #x80) + (new 'static 'rgba :r #x80 :a #x80) + (new 'static 'rgba :r #x80 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x80 :g #x80 :a #x80) + (new 'static 'rgba :r #x80 :g #x80 :a #x80) + (new 'static 'rgba :r #x28 :g #x28 :a #x80) + (new 'static 'rgba :r #x28 :g #x28 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x20 :g #x80 :b #x20 :a #x80) + (new 'static 'rgba :r #x20 :g #x80 :b #x20 :a #x80) + (new 'static 'rgba :g #x30 :a #x80) + (new 'static 'rgba :g #x30 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x40 :g #x40 :b #x80 :a #x80) + (new 'static 'rgba :r #x40 :g #x40 :b #x80 :a #x80) + (new 'static 'rgba :b #x60 :a #x80) + (new 'static 'rgba :b #x60 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :g #x80 :b #x80 :a #x80) + (new 'static 'rgba :g #x80 :b #x80 :a #x80) + (new 'static 'rgba :g #x20 :b #x50 :a #x80) + (new 'static 'rgba :g #x20 :b #x50 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x80 :g #x40 :b #x80 :a #x80) + (new 'static 'rgba :r #x80 :g #x40 :b #x80 :a #x80) + (new 'static 'rgba :r #x30 :b #x30 :a #x80) + (new 'static 'rgba :r #x30 :b #x30 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x60 :g #x80 :b #x80 :a #x80) + (new 'static 'rgba :r #x60 :g #x80 :b #x80 :a #x80) + (new 'static 'rgba :g #x40 :b #x60 :a #x80) + (new 'static 'rgba :g #x40 :b #x60 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x40 :g #x60 :b #x60 :a #x80) + (new 'static 'rgba :r #x40 :g #x60 :b #x60 :a #x80) + (new 'static 'rgba :g #x20 :b #x40 :a #x80) + (new 'static 'rgba :g #x20 :b #x40 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) + (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) + (new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80) + (new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80) + (new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80) + (new 'static 'rgba :r #x28 :g #x28 :b #x28 :a #x80) + (new 'static 'rgba :r #x28 :g #x28 :b #x28 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x80 :g #x54 :a #x80) + (new 'static 'rgba :r #x80 :g #x54 :a #x80) + (new 'static 'rgba :r #x60 :a #x80) + (new 'static 'rgba :r #x60 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x70 :g #x80 :b #x30 :a #x80) + (new 'static 'rgba :r #x70 :g #x80 :b #x30 :a #x80) + (new 'static 'rgba :g #x60 :a #x80) + (new 'static 'rgba :g #x60 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x48 :g #x58 :b #x8 :a #x80) + (new 'static 'rgba :r #x48 :g #x58 :b #x10 :a #x80) + (new 'static 'rgba :g #x38 :a #x80) + (new 'static 'rgba :g #x38 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x58 :g #x60 :b #x58 :a #x80) + (new 'static 'rgba :r #x58 :g #x60 :b #x58 :a #x80) + (new 'static 'rgba :r #x30 :g #x40 :b #x30 :a #x80) + (new 'static 'rgba :r #x30 :g #x40 :b #x30 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x40 :g #x48 :b #x40 :a #x80) + (new 'static 'rgba :r #x40 :g #x48 :b #x40 :a #x80) + (new 'static 'rgba :r #x18 :g #x28 :b #x18 :a #x80) + (new 'static 'rgba :r #x18 :g #x28 :b #x18 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80) + (new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80) + (new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80) + (new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80) + (new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80) + (new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80) + (new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x20 :g #x5e :b #x78 :a #x80) + (new 'static 'rgba :r #x20 :g #x5e :b #x78 :a #x80) + (new 'static 'rgba :r #x80 :g #x7d :b #x4f :a #x80) + (new 'static 'rgba :r #x80 :g #x7d :b #x4f :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80) + (new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80) + (new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80) + (new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80) + (new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80) + (new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80) + (new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80) + (new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80) + (new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80) + (new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80) + (new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80) + (new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80) + (new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80) + (new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80) + (new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80) + (new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80) + (new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80) + (new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80) + (new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x57 :g #x7e :b #x80 :a #x80) + (new 'static 'rgba :r #x57 :g #x7e :b #x80 :a #x80) + (new 'static 'rgba :r #x29 :g #x63 :b #x79 :a #x80) + (new 'static 'rgba :r #x29 :g #x63 :b #x70 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x7f :g #x7b :b #x33 :a #x80) + (new 'static 'rgba :r #x7f :g #x7b :b #x33 :a #x80) + (new 'static 'rgba :r #x76 :g #x40 :b #x14 :a #x80) + (new 'static 'rgba :r #x76 :g #x40 :b #x14 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x79 :g #x79 :b #x2 :a #x80) + (new 'static 'rgba :r #x79 :g #x79 :b #x2 :a #x80) + (new 'static 'rgba :r #x1b :g #x51 :b #x20 :a #x80) + (new 'static 'rgba :r #x1b :g #x51 :b #x20 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x47 :g #x68 :b #x7a :a #x80) + (new 'static 'rgba :r #x47 :g #x68 :b #x7a :a #x80) + (new 'static 'rgba :g #x3c :b #x4f :a #x80) + (new 'static 'rgba :g #x3c :b #x4f :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80) + (new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80) + (new 'static 'rgba :r #x30 :g #x38 :b #x30 :a #x80) + (new 'static 'rgba :r #x30 :g #x38 :b #x30 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x60 :a #x80) + (new 'static 'rgba :r #x60 :a #x80) + (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) + (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) + ) + ) + (new 'static 'char-color :color (new 'static 'array rgba 4 + (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) + (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) + (new 'static 'rgba :r #x60 :a #x80) + (new 'static 'rgba :r #x60 :a #x80) + ) + ) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + (new 'static 'char-color) + ) ) - :char-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #xe :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #xe :cmd (vif-cmd direct) :msk #x1) - ) - :gif - (new 'static 'array uint64 2 #xd02e400000008001 #x412412412412e) - ) - :tex1-tmpl (new 'static 'array uint64 2 #x60 #x14) - :small-font-lo-tmpl (new 'static 'array uint64 2 #x0 #x6) - :small-font-hi-tmpl (new 'static 'array uint64 2 #x0 #x6) - :large-font-lo-tmpl (new 'static 'array uint64 2 #x0 #x6) - :large-font-hi-tmpl (new 'static 'array uint64 2 #x0 #x6) - :size1-small (new 'static 'vector :x 12.0 :w 0.5) - :size2-small (new 'static 'vector :y 8.0 :w 8.0) - :size3-small - (new 'static 'vector :x 12.0 :y 8.0 :w 8.0) - :size1-large (new 'static 'vector :x 24.0 :w 1.0) - :size2-large (new 'static 'vector :y 16.0 :w 16.0) - :size3-large - (new 'static 'vector :x 24.0 :y 16.0 :w 16.0) - :size-st1 (new 'static 'vector :x 0.08985 :w 0.5) - :size-st2 - (new 'static 'vector :y 0.06153846 :w 0.5) - :size-st3 - (new 'static 'vector :x 0.08985 :y 0.06153846 :w 0.5) - :current-verts - (new 'static 'char-verts - :pos - (new 'static 'inline-array vector 4 - (new 'static 'vector :w 1.0) - (new 'static 'vector :w 1.0) - (new 'static 'vector :w 1.0) - (new 'static 'vector :w 1.0) - ) - :tex-st - (new 'static 'inline-array vector 4 - (new 'static 'vector :z 1.0) - (new 'static 'vector :z 1.0) - (new 'static 'vector :z 1.0) - (new 'static 'vector :z 1.0) - ) - ) - :src-verts - (new 'static 'char-verts - :pos - (new 'static 'inline-array vector 4 - (new 'static 'vector :w 1.0) - (new 'static 'vector :w 1.0) - (new 'static 'vector :w 1.0) - (new 'static 'vector :w 1.0) - ) - :tex-st - (new 'static 'inline-array vector 4 - (new 'static 'vector :z 1.0) - (new 'static 'vector :z 1.0) - (new 'static 'vector :z 1.0) - (new 'static 'vector :z 1.0) - ) - ) - :dest-verts - (new 'static 'char-verts - :pos - (new 'static 'inline-array vector 4 - (new 'static 'vector :w 1.0) - (new 'static 'vector :w 1.0) - (new 'static 'vector :w 1.0) - (new 'static 'vector :w 1.0) - ) - :tex-st - (new 'static 'inline-array vector 4 - (new 'static 'vector :z 1.0) - (new 'static 'vector :z 1.0) - (new 'static 'vector :z 1.0) - (new 'static 'vector :z 1.0) - ) - ) - :color-shadow (new 'static 'vector4w :w #x80) - :color-table - (new 'static 'inline-array char-color 64 - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80) - (new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80) - (new 'static 'rgba :r #x30 :g #x38 :b #x30 :a #x80) - (new 'static 'rgba :r #x30 :g #x38 :b #x30 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) - (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80) - (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x40) - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x40) - (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x40) - (new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x40) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) - (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) - (new 'static 'rgba :r #x60 :a #x80) - (new 'static 'rgba :r #x60 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x80 :g #x64 :a #x80) - (new 'static 'rgba :r #x80 :g #x64 :a #x80) - (new 'static 'rgba :r #x80 :a #x80) - (new 'static 'rgba :r #x80 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x80 :g #x80 :a #x80) - (new 'static 'rgba :r #x80 :g #x80 :a #x80) - (new 'static 'rgba :r #x28 :g #x28 :a #x80) - (new 'static 'rgba :r #x28 :g #x28 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x20 :g #x80 :b #x20 :a #x80) - (new 'static 'rgba :r #x20 :g #x80 :b #x20 :a #x80) - (new 'static 'rgba :g #x30 :a #x80) - (new 'static 'rgba :g #x30 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x40 :g #x40 :b #x80 :a #x80) - (new 'static 'rgba :r #x40 :g #x40 :b #x80 :a #x80) - (new 'static 'rgba :b #x60 :a #x80) - (new 'static 'rgba :b #x60 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :g #x80 :b #x80 :a #x80) - (new 'static 'rgba :g #x80 :b #x80 :a #x80) - (new 'static 'rgba :g #x20 :b #x50 :a #x80) - (new 'static 'rgba :g #x20 :b #x50 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x80 :g #x40 :b #x80 :a #x80) - (new 'static 'rgba :r #x80 :g #x40 :b #x80 :a #x80) - (new 'static 'rgba :r #x30 :b #x30 :a #x80) - (new 'static 'rgba :r #x30 :b #x30 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x60 :g #x80 :b #x80 :a #x80) - (new 'static 'rgba :r #x60 :g #x80 :b #x80 :a #x80) - (new 'static 'rgba :g #x40 :b #x60 :a #x80) - (new 'static 'rgba :g #x40 :b #x60 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x40 :g #x60 :b #x60 :a #x80) - (new 'static 'rgba :r #x40 :g #x60 :b #x60 :a #x80) - (new 'static 'rgba :g #x20 :b #x40 :a #x80) - (new 'static 'rgba :g #x20 :b #x40 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) - (new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80) - (new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80) - (new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80) - (new 'static 'rgba :r #x28 :g #x28 :b #x28 :a #x80) - (new 'static 'rgba :r #x28 :g #x28 :b #x28 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x80 :g #x54 :a #x80) - (new 'static 'rgba :r #x80 :g #x54 :a #x80) - (new 'static 'rgba :r #x60 :a #x80) - (new 'static 'rgba :r #x60 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x70 :g #x80 :b #x30 :a #x80) - (new 'static 'rgba :r #x70 :g #x80 :b #x30 :a #x80) - (new 'static 'rgba :g #x60 :a #x80) - (new 'static 'rgba :g #x60 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x48 :g #x58 :b #x8 :a #x80) - (new 'static 'rgba :r #x48 :g #x58 :b #x10 :a #x80) - (new 'static 'rgba :g #x38 :a #x80) - (new 'static 'rgba :g #x38 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x58 :g #x60 :b #x58 :a #x80) - (new 'static 'rgba :r #x58 :g #x60 :b #x58 :a #x80) - (new 'static 'rgba :r #x30 :g #x40 :b #x30 :a #x80) - (new 'static 'rgba :r #x30 :g #x40 :b #x30 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x40 :g #x48 :b #x40 :a #x80) - (new 'static 'rgba :r #x40 :g #x48 :b #x40 :a #x80) - (new 'static 'rgba :r #x18 :g #x28 :b #x18 :a #x80) - (new 'static 'rgba :r #x18 :g #x28 :b #x18 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80) - (new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80) - (new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80) - (new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80) - (new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80) - (new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80) - (new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x20 :g #x5e :b #x78 :a #x80) - (new 'static 'rgba :r #x20 :g #x5e :b #x78 :a #x80) - (new 'static 'rgba :r #x80 :g #x7d :b #x4f :a #x80) - (new 'static 'rgba :r #x80 :g #x7d :b #x4f :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80) - (new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80) - (new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80) - (new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80) - (new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80) - (new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80) - (new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80) - (new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80) - (new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80) - (new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80) - (new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80) - (new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80) - (new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80) - (new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80) - (new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80) - (new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80) - (new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80) - (new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80) - (new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x57 :g #x7e :b #x80 :a #x80) - (new 'static 'rgba :r #x57 :g #x7e :b #x80 :a #x80) - (new 'static 'rgba :r #x29 :g #x63 :b #x79 :a #x80) - (new 'static 'rgba :r #x29 :g #x63 :b #x70 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x7f :g #x7b :b #x33 :a #x80) - (new 'static 'rgba :r #x7f :g #x7b :b #x33 :a #x80) - (new 'static 'rgba :r #x76 :g #x40 :b #x14 :a #x80) - (new 'static 'rgba :r #x76 :g #x40 :b #x14 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x79 :g #x79 :b #x2 :a #x80) - (new 'static 'rgba :r #x79 :g #x79 :b #x2 :a #x80) - (new 'static 'rgba :r #x1b :g #x51 :b #x20 :a #x80) - (new 'static 'rgba :r #x1b :g #x51 :b #x20 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x47 :g #x68 :b #x7a :a #x80) - (new 'static 'rgba :r #x47 :g #x68 :b #x7a :a #x80) - (new 'static 'rgba :g #x3c :b #x4f :a #x80) - (new 'static 'rgba :g #x3c :b #x4f :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80) - (new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80) - (new 'static 'rgba :r #x30 :g #x38 :b #x30 :a #x80) - (new 'static 'rgba :r #x30 :g #x38 :b #x30 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x60 :a #x80) - (new 'static 'rgba :r #x60 :a #x80) - (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) - (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) - ) - ) - (new 'static 'char-color - :color - (new 'static 'array rgba 4 - (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) - (new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80) - (new 'static 'rgba :r #x60 :a #x80) - (new 'static 'rgba :r #x60 :a #x80) - ) - ) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - (new 'static 'char-color) - ) - ) ) ;; definition for function font-set-tex0 ;; INFO: Return type mismatch int vs none. -(defun - font-set-tex0 - ((ptr-tex0 (pointer gs-tex0)) - (tex texture) - (tex-addr uint) - (psm uint) - (clut-addr uint) - ) - (set! - (-> ptr-tex0 0) - (new 'static 'gs-tex0 - :tcc #x1 - :cld #x1 - :cbp clut-addr - :th (log2 (-> tex h)) - :tw (log2 (-> tex w)) - :tbw (-> tex width 0) - :tbp0 (/ (the-as int tex-addr) 64) - :psm psm - ) - ) +(defun font-set-tex0 ((ptr-tex0 (pointer gs-tex0)) (tex texture) (tex-addr uint) (psm uint) (clut-addr uint)) + (set! (-> ptr-tex0 0) (new 'static 'gs-tex0 + :tcc #x1 + :cld #x1 + :cbp clut-addr + :th (log2 (-> tex h)) + :tw (log2 (-> tex w)) + :tbw (-> tex width 0) + :tbp0 (/ (the-as int tex-addr) 64) + :psm psm + ) + ) (none) ) diff --git a/test/decompiler/reference/engine/gfx/font_REF.gc b/test/decompiler/reference/engine/gfx/font_REF.gc index 6da59c700c..e7d3bea977 100644 --- a/test/decompiler/reference/engine/gfx/font_REF.gc +++ b/test/decompiler/reference/engine/gfx/font_REF.gc @@ -2,557 +2,553 @@ (in-package goal) ;; definition for symbol *font12-table*, type (inline-array vector) -(define - *font12-table* - (new 'static 'inline-array vector 250 - (new 'static 'vector :x 0.0039 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.0019 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.7539 :y 0.0019 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.8476 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.0644 :z 1.0 :w 22.5) - (new 'static 'vector :x 0.1914 :y 0.0644 :z 1.0 :w 19.5) - (new 'static 'vector :x 0.2851 :y 0.0644 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.3789 :y 0.0644 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.4726 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.0644 :z 1.0 :w 10.5) - (new 'static 'vector :x 0.6601 :y 0.0644 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.7539 :y 0.0644 :z 1.0 :w 10.5) - (new 'static 'vector :x 0.8476 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.1269 :z 1.0 :w 16.5) - (new 'static 'vector :x 0.0976 :y 0.1269 :z 1.0 :w 18.0) - (new 'static 'vector :x 0.1914 :y 0.1269 :z 1.0 :w 10.5) - (new 'static 'vector :x 0.2851 :y 0.1269 :z 1.0 :w 7.5) - (new 'static 'vector :x 0.3789 :y 0.1269 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.4726 :y 0.1269 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.5664 :y 0.1269 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.6601 :y 0.1269 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.7539 :y 0.1269 :z 1.0 :w 7.5) - (new 'static 'vector :x 0.8476 :y 0.1269 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.0039 :y 0.1894 :z 1.0 :w 7.5) - (new 'static 'vector :x 0.0976 :y 0.1894 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.1914 :y 0.1894 :z 1.0 :w 16.5) - (new 'static 'vector :x 0.2851 :y 0.1894 :z 1.0 :w 11.25) - (new 'static 'vector :x 0.3789 :y 0.1894 :z 1.0 :w 16.5) - (new 'static 'vector :x 0.4726 :y 0.1894 :z 1.0 :w 16.5) - (new 'static 'vector :x 0.5664 :y 0.1894 :z 1.0 :w 16.5) - (new 'static 'vector :x 0.6601 :y 0.1894 :z 1.0 :w 16.5) - (new 'static 'vector :x 0.7539 :y 0.1894 :z 1.0 :w 16.5) - (new 'static 'vector :x 0.8476 :y 0.1894 :z 1.0 :w 18.0) - (new 'static 'vector :x 0.0039 :y 0.2519 :z 1.0 :w 18.0) - (new 'static 'vector :x 0.0976 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.2519 :z 1.0 :w 7.5) - (new 'static 'vector :x 0.2851 :y 0.2519 :z 1.0 :w 7.5) - (new 'static 'vector :x 0.3789 :y 0.2519 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.4726 :y 0.2519 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.5664 :y 0.2519 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.6601 :y 0.2519 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.7539 :y 0.2519 :z 1.0 :w 18.0) - (new 'static 'vector :x 0.8476 :y 0.2519 :z 1.0 :w 17.25) - (new 'static 'vector :x 0.0039 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.3144 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.1914 :y 0.3144 :z 1.0 :w 15.75) - (new 'static 'vector :x 0.2851 :y 0.3144 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.3789 :y 0.3144 :z 1.0 :w 14.25) - (new 'static 'vector :x 0.4726 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.3144 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.6601 :y 0.3144 :z 1.0 :w 7.5) - (new 'static 'vector :x 0.7539 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.3769 :z 1.0 :w 15.75) - (new 'static 'vector :x 0.0976 :y 0.3769 :z 1.0 :w 19.5) - (new 'static 'vector :x 0.1914 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.3769 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.4726 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.3769 :z 1.0 :w 15.75) - (new 'static 'vector :x 0.6601 :y 0.3769 :z 1.0 :w 12.75) - (new 'static 'vector :x 0.7539 :y 0.3769 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.8476 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.4394 :z 1.0 :w 18.0) - (new 'static 'vector :x 0.1914 :y 0.4394 :z 1.0 :w 17.25) - (new 'static 'vector :x 0.2851 :y 0.4394 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.3789 :y 0.4394 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.4726 :y 0.4394 :z 1.0 :w 9.0) - (new 'static 'vector :x 0.5664 :y 0.4394 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.6601 :y 0.4394 :z 1.0 :w 10.5) - (new 'static 'vector :x 0.7539 :y 0.4394 :z 1.0 :w 19.5) - (new 'static 'vector :x 0.8476 :y 0.4394 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.0039 :y 0.5019 :z 1.0 :w 6.0) - (new 'static 'vector :x 0.0976 :y 0.5019 :z 1.0 :w 14.25) - (new 'static 'vector :x 0.1914 :y 0.5019 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.2851 :y 0.5019 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.3789 :y 0.5019 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.4726 :y 0.5019 :z 1.0 :w 12.75) - (new 'static 'vector :x 0.5664 :y 0.5019 :z 1.0 :w 12.75) - (new 'static 'vector :x 0.6601 :y 0.5019 :z 1.0 :w 17.25) - (new 'static 'vector :x 0.7539 :y 0.5019 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.8476 :y 0.5019 :z 1.0 :w 9.0) - (new 'static 'vector :x 0.0039 :y 0.5644 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.0976 :y 0.5644 :z 1.0 :w 14.25) - (new 'static 'vector :x 0.1914 :y 0.5644 :z 1.0 :w 9.75) - (new 'static 'vector :x 0.2851 :y 0.5644 :z 1.0 :w 18.5) - (new 'static 'vector :x 0.3789 :y 0.5644 :z 1.0 :w 14.25) - (new 'static 'vector :x 0.4726 :y 0.5644 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.5664 :y 0.5644 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.6601 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.5644 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.8476 :y 0.5644 :z 1.0 :w 10.5) - (new 'static 'vector :x 0.0039 :y 0.6269 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.0976 :y 0.6269 :z 1.0 :w 12.75) - (new 'static 'vector :x 0.1914 :y 0.6269 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.2851 :y 0.6269 :z 1.0 :w 18.0) - (new 'static 'vector :x 0.3789 :y 0.6269 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.4726 :y 0.6269 :z 1.0 :w 16.5) - (new 'static 'vector :x 0.5664 :y 0.6269 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.6601 :y 0.6269 :z 1.0 :w 10.5) - (new 'static 'vector :x 0.7539 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.6269 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.0039 :y 0.6894 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.0976 :y 0.6894 :z 1.0 :w 13.5) - (new 'static 'vector :x 0.0039 :y 0.7519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.7519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.7519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.7519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.7519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.8769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.8769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.8769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.8769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.8769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.7519 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.2851 :y 0.7519 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.3789 :y 0.7519 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.4726 :y 0.7519 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.5664 :y 0.7519 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.6601 :y 0.7519 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.0039 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.1269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.1269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.1269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.1269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.1269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.1269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.1269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.1269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.1269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.1269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.2519 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.3144 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.3769 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.4394 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.5019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.5019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.5019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.5019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.5019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.5019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.5019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.5019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.5019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.5019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.5644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.6269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.6269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.6269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.2851 :y 0.6269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.6269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.4726 :y 0.6269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.6269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.6269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.7539 :y 0.6269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.8476 :y 0.6269 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.6894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0976 :y 0.6894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.0039 :y 0.7519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.7519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.7519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.7519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.7519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.8769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.8769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.8769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.8769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.8769 :z 1.0 :w 24.0) - ) - ) +(define *font12-table* (new 'static 'inline-array vector 250 + (new 'static 'vector :x 0.0039 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.0019 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.7539 :y 0.0019 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.8476 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.0644 :z 1.0 :w 22.5) + (new 'static 'vector :x 0.1914 :y 0.0644 :z 1.0 :w 19.5) + (new 'static 'vector :x 0.2851 :y 0.0644 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.3789 :y 0.0644 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.4726 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.0644 :z 1.0 :w 10.5) + (new 'static 'vector :x 0.6601 :y 0.0644 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.7539 :y 0.0644 :z 1.0 :w 10.5) + (new 'static 'vector :x 0.8476 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.1269 :z 1.0 :w 16.5) + (new 'static 'vector :x 0.0976 :y 0.1269 :z 1.0 :w 18.0) + (new 'static 'vector :x 0.1914 :y 0.1269 :z 1.0 :w 10.5) + (new 'static 'vector :x 0.2851 :y 0.1269 :z 1.0 :w 7.5) + (new 'static 'vector :x 0.3789 :y 0.1269 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.4726 :y 0.1269 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.5664 :y 0.1269 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.6601 :y 0.1269 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.7539 :y 0.1269 :z 1.0 :w 7.5) + (new 'static 'vector :x 0.8476 :y 0.1269 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.0039 :y 0.1894 :z 1.0 :w 7.5) + (new 'static 'vector :x 0.0976 :y 0.1894 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.1914 :y 0.1894 :z 1.0 :w 16.5) + (new 'static 'vector :x 0.2851 :y 0.1894 :z 1.0 :w 11.25) + (new 'static 'vector :x 0.3789 :y 0.1894 :z 1.0 :w 16.5) + (new 'static 'vector :x 0.4726 :y 0.1894 :z 1.0 :w 16.5) + (new 'static 'vector :x 0.5664 :y 0.1894 :z 1.0 :w 16.5) + (new 'static 'vector :x 0.6601 :y 0.1894 :z 1.0 :w 16.5) + (new 'static 'vector :x 0.7539 :y 0.1894 :z 1.0 :w 16.5) + (new 'static 'vector :x 0.8476 :y 0.1894 :z 1.0 :w 18.0) + (new 'static 'vector :x 0.0039 :y 0.2519 :z 1.0 :w 18.0) + (new 'static 'vector :x 0.0976 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.2519 :z 1.0 :w 7.5) + (new 'static 'vector :x 0.2851 :y 0.2519 :z 1.0 :w 7.5) + (new 'static 'vector :x 0.3789 :y 0.2519 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.4726 :y 0.2519 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.5664 :y 0.2519 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.6601 :y 0.2519 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.7539 :y 0.2519 :z 1.0 :w 18.0) + (new 'static 'vector :x 0.8476 :y 0.2519 :z 1.0 :w 17.25) + (new 'static 'vector :x 0.0039 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.3144 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.1914 :y 0.3144 :z 1.0 :w 15.75) + (new 'static 'vector :x 0.2851 :y 0.3144 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.3789 :y 0.3144 :z 1.0 :w 14.25) + (new 'static 'vector :x 0.4726 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.3144 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.6601 :y 0.3144 :z 1.0 :w 7.5) + (new 'static 'vector :x 0.7539 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.3769 :z 1.0 :w 15.75) + (new 'static 'vector :x 0.0976 :y 0.3769 :z 1.0 :w 19.5) + (new 'static 'vector :x 0.1914 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.3769 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.4726 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.3769 :z 1.0 :w 15.75) + (new 'static 'vector :x 0.6601 :y 0.3769 :z 1.0 :w 12.75) + (new 'static 'vector :x 0.7539 :y 0.3769 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.8476 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.4394 :z 1.0 :w 18.0) + (new 'static 'vector :x 0.1914 :y 0.4394 :z 1.0 :w 17.25) + (new 'static 'vector :x 0.2851 :y 0.4394 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.3789 :y 0.4394 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.4726 :y 0.4394 :z 1.0 :w 9.0) + (new 'static 'vector :x 0.5664 :y 0.4394 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.6601 :y 0.4394 :z 1.0 :w 10.5) + (new 'static 'vector :x 0.7539 :y 0.4394 :z 1.0 :w 19.5) + (new 'static 'vector :x 0.8476 :y 0.4394 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.0039 :y 0.5019 :z 1.0 :w 6.0) + (new 'static 'vector :x 0.0976 :y 0.5019 :z 1.0 :w 14.25) + (new 'static 'vector :x 0.1914 :y 0.5019 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.2851 :y 0.5019 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.3789 :y 0.5019 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.4726 :y 0.5019 :z 1.0 :w 12.75) + (new 'static 'vector :x 0.5664 :y 0.5019 :z 1.0 :w 12.75) + (new 'static 'vector :x 0.6601 :y 0.5019 :z 1.0 :w 17.25) + (new 'static 'vector :x 0.7539 :y 0.5019 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.8476 :y 0.5019 :z 1.0 :w 9.0) + (new 'static 'vector :x 0.0039 :y 0.5644 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.0976 :y 0.5644 :z 1.0 :w 14.25) + (new 'static 'vector :x 0.1914 :y 0.5644 :z 1.0 :w 9.75) + (new 'static 'vector :x 0.2851 :y 0.5644 :z 1.0 :w 18.5) + (new 'static 'vector :x 0.3789 :y 0.5644 :z 1.0 :w 14.25) + (new 'static 'vector :x 0.4726 :y 0.5644 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.5664 :y 0.5644 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.6601 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.5644 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.8476 :y 0.5644 :z 1.0 :w 10.5) + (new 'static 'vector :x 0.0039 :y 0.6269 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.0976 :y 0.6269 :z 1.0 :w 12.75) + (new 'static 'vector :x 0.1914 :y 0.6269 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.2851 :y 0.6269 :z 1.0 :w 18.0) + (new 'static 'vector :x 0.3789 :y 0.6269 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.4726 :y 0.6269 :z 1.0 :w 16.5) + (new 'static 'vector :x 0.5664 :y 0.6269 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.6601 :y 0.6269 :z 1.0 :w 10.5) + (new 'static 'vector :x 0.7539 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.6269 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.0039 :y 0.6894 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.0976 :y 0.6894 :z 1.0 :w 13.5) + (new 'static 'vector :x 0.0039 :y 0.7519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.7519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.7519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.7519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.7519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.8769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.8769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.8769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.8769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.8769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.7519 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.2851 :y 0.7519 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.3789 :y 0.7519 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.4726 :y 0.7519 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.5664 :y 0.7519 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.6601 :y 0.7519 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.0039 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.1269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.1269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.1269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.1269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.1269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.1269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.1269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.1269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.1269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.1269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.2519 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.3144 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.3769 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.4394 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.5019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.5019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.5019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.5019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.5019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.5019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.5019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.5019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.5019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.5019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.5644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.6269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.6269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.6269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.2851 :y 0.6269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.6269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.4726 :y 0.6269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.6269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.6269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.7539 :y 0.6269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.8476 :y 0.6269 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.6894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0976 :y 0.6894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.0039 :y 0.7519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.7519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.7519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.7519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.7519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.8769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.8769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.8769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.8769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.8769 :z 1.0 :w 24.0) + ) + ) ;; definition for symbol *font24-table*, type (inline-array vector) -(define - *font24-table* - (new 'static 'inline-array vector 289 - (new 'static 'vector :x 0.0039 :y 0.0019 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.0976 :y 0.0019 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.1914 :y 0.0019 :z 1.0 :w 19.5) - (new 'static 'vector :x 0.2851 :y 0.0019 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.3789 :y 0.0019 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.4726 :y 0.0019 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.5664 :y 0.0019 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.6601 :y 0.0019 :z 1.0 :w 9.0) - (new 'static 'vector :x 0.7539 :y 0.0019 :z 1.0 :w 19.0) - (new 'static 'vector :x 0.8476 :y 0.0019 :z 1.0 :w 12.0) - (new 'static 'vector :x 0.0039 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.0644 :z 1.0 :w 20.0) - (new 'static 'vector :x 0.3789 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.0644 :z 1.0 :w 20.0) - (new 'static 'vector :x 0.5664 :y 0.0644 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.6601 :y 0.0644 :z 1.0 :w 8.0) - (new 'static 'vector :x 0.7539 :y 0.0644 :z 1.0 :w 10.0) - (new 'static 'vector :x 0.8476 :y 0.0644 :z 1.0 :w 22.5) - (new 'static 'vector :x 0.0039 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.1269 :z 1.0 :w 20.0) - (new 'static 'vector :x 0.1914 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.1269 :z 1.0 :w 10.0) - (new 'static 'vector :x 0.4726 :y 0.1269 :z 1.0 :w 9.0) - (new 'static 'vector :x 0.5664 :y 0.1269 :z 1.0 :w 22.5) - (new 'static 'vector :x 0.6601 :y 0.1269 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.7539 :y 0.1269 :z 1.0 :w 7.0) - (new 'static 'vector :x 0.8476 :y 0.1269 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.0039 :y 0.1894 :z 1.0 :w 9.0) - (new 'static 'vector :x 0.0976 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.1914 :y 0.1894 :z 1.0 :w 22.0) - (new 'static 'vector :x 0.2851 :y 0.1894 :z 1.0 :w 10.0) - (new 'static 'vector :x 0.3789 :y 0.1894 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.4726 :y 0.1894 :z 1.0 :w 15.0) - (new 'static 'vector :x 0.5664 :y 0.1894 :z 1.0 :w 19.0) - (new 'static 'vector :x 0.6601 :y 0.1894 :z 1.0 :w 19.0) - (new 'static 'vector :x 0.7539 :y 0.1894 :z 1.0 :w 18.0) - (new 'static 'vector :x 0.8476 :y 0.1894 :z 1.0 :w 17.0) - (new 'static 'vector :x 0.0039 :y 0.2519 :z 1.0 :w 17.0) - (new 'static 'vector :x 0.0976 :y 0.2519 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.1914 :y 0.2519 :z 1.0 :w 8.0) - (new 'static 'vector :x 0.2851 :y 0.2519 :z 1.0 :w 22.5) - (new 'static 'vector :x 0.3789 :y 0.2519 :z 1.0 :w 9.0) - (new 'static 'vector :x 0.4726 :y 0.2519 :z 1.0 :w 20.0) - (new 'static 'vector :x 0.5664 :y 0.2519 :z 1.0 :w 9.0) - (new 'static 'vector :x 0.6601 :y 0.2519 :z 1.0 :w 18.0) - (new 'static 'vector :x 0.7539 :y 0.2519 :z 1.0 :w 22.5) - (new 'static 'vector :x 0.8476 :y 0.2519 :z 1.0 :w 19.0) - (new 'static 'vector :x 0.0039 :y 0.3144 :z 1.0 :w 19.0) - (new 'static 'vector :x 0.0976 :y 0.3144 :z 1.0 :w 19.0) - (new 'static 'vector :x 0.1914 :y 0.3144 :z 1.0 :w 21.0) - (new 'static 'vector :x 0.2851 :y 0.3144 :z 1.0 :w 19.0) - (new 'static 'vector :x 0.3789 :y 0.3144 :z 1.0 :w 18.0) - (new 'static 'vector :x 0.4726 :y 0.3144 :z 1.0 :w 20.0) - (new 'static 'vector :x 0.5664 :y 0.3144 :z 1.0 :w 20.0) - (new 'static 'vector :x 0.6601 :y 0.3144 :z 1.0 :w 11.0) - (new 'static 'vector :x 0.7539 :y 0.3144 :z 1.0 :w 16.0) - (new 'static 'vector :x 0.8476 :y 0.3144 :z 1.0 :w 21.0) - (new 'static 'vector :x 0.0039 :y 0.3769 :z 1.0 :w 17.0) - (new 'static 'vector :x 0.0976 :y 0.3769 :z 1.0 :w 23.0) - (new 'static 'vector :x 0.1914 :y 0.3769 :z 1.0 :w 18.0) - (new 'static 'vector :x 0.2851 :y 0.3769 :z 1.0 :w 21.0) - (new 'static 'vector :x 0.3789 :y 0.3769 :z 1.0 :w 19.0) - (new 'static 'vector :x 0.4726 :y 0.3769 :z 1.0 :w 22.0) - (new 'static 'vector :x 0.5664 :y 0.3769 :z 1.0 :w 20.0) - (new 'static 'vector :x 0.6601 :y 0.3769 :z 1.0 :w 20.0) - (new 'static 'vector :x 0.7539 :y 0.3769 :z 1.0 :w 20.0) - (new 'static 'vector :x 0.8476 :y 0.3769 :z 1.0 :w 22.0) - (new 'static 'vector :x 0.0039 :y 0.4394 :z 1.0 :w 23.0) - (new 'static 'vector :x 0.0976 :y 0.4394 :z 1.0 :w 23.0) - (new 'static 'vector :x 0.1914 :y 0.4394 :z 1.0 :w 23.0) - (new 'static 'vector :x 0.2851 :y 0.4394 :z 1.0 :w 23.0) - (new 'static 'vector :x 0.3789 :y 0.4394 :z 1.0 :w 20.0) - (new 'static 'vector :x 0.4726 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.0019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.0019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.0019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.0019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.0019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.0019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.0019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.0019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.0019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.0019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.0644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.1269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.1894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.1894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.1894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.1894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.1894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.1894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.1894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.1894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.1894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.1894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.2519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.2519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.2519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.2519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.2519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.2519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.2519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.2519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.2519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.2519 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.3144 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.3144 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.3144 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.3144 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.3144 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.3144 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.3144 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.3144 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.3144 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.3144 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.3769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.3769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.3769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.3769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.3769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.3769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.3769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.3769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.3769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.3769 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.4394 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.5019 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.5644 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.6269 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.6894 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0039 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.0976 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.1914 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.2851 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.3789 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.4726 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.5664 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.6601 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.7539 :y 0.7512 :z 1.0 :w 24.0) - (new 'static 'vector :x 0.8476 :y 0.7512 :z 1.0 :w 5.0) - ) - ) +(define *font24-table* (new 'static 'inline-array vector 289 + (new 'static 'vector :x 0.0039 :y 0.0019 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.0976 :y 0.0019 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.1914 :y 0.0019 :z 1.0 :w 19.5) + (new 'static 'vector :x 0.2851 :y 0.0019 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.3789 :y 0.0019 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.4726 :y 0.0019 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.5664 :y 0.0019 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.6601 :y 0.0019 :z 1.0 :w 9.0) + (new 'static 'vector :x 0.7539 :y 0.0019 :z 1.0 :w 19.0) + (new 'static 'vector :x 0.8476 :y 0.0019 :z 1.0 :w 12.0) + (new 'static 'vector :x 0.0039 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.0644 :z 1.0 :w 20.0) + (new 'static 'vector :x 0.3789 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.0644 :z 1.0 :w 20.0) + (new 'static 'vector :x 0.5664 :y 0.0644 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.6601 :y 0.0644 :z 1.0 :w 8.0) + (new 'static 'vector :x 0.7539 :y 0.0644 :z 1.0 :w 10.0) + (new 'static 'vector :x 0.8476 :y 0.0644 :z 1.0 :w 22.5) + (new 'static 'vector :x 0.0039 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.1269 :z 1.0 :w 20.0) + (new 'static 'vector :x 0.1914 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.1269 :z 1.0 :w 10.0) + (new 'static 'vector :x 0.4726 :y 0.1269 :z 1.0 :w 9.0) + (new 'static 'vector :x 0.5664 :y 0.1269 :z 1.0 :w 22.5) + (new 'static 'vector :x 0.6601 :y 0.1269 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.7539 :y 0.1269 :z 1.0 :w 7.0) + (new 'static 'vector :x 0.8476 :y 0.1269 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.0039 :y 0.1894 :z 1.0 :w 9.0) + (new 'static 'vector :x 0.0976 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.1914 :y 0.1894 :z 1.0 :w 22.0) + (new 'static 'vector :x 0.2851 :y 0.1894 :z 1.0 :w 10.0) + (new 'static 'vector :x 0.3789 :y 0.1894 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.4726 :y 0.1894 :z 1.0 :w 15.0) + (new 'static 'vector :x 0.5664 :y 0.1894 :z 1.0 :w 19.0) + (new 'static 'vector :x 0.6601 :y 0.1894 :z 1.0 :w 19.0) + (new 'static 'vector :x 0.7539 :y 0.1894 :z 1.0 :w 18.0) + (new 'static 'vector :x 0.8476 :y 0.1894 :z 1.0 :w 17.0) + (new 'static 'vector :x 0.0039 :y 0.2519 :z 1.0 :w 17.0) + (new 'static 'vector :x 0.0976 :y 0.2519 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.1914 :y 0.2519 :z 1.0 :w 8.0) + (new 'static 'vector :x 0.2851 :y 0.2519 :z 1.0 :w 22.5) + (new 'static 'vector :x 0.3789 :y 0.2519 :z 1.0 :w 9.0) + (new 'static 'vector :x 0.4726 :y 0.2519 :z 1.0 :w 20.0) + (new 'static 'vector :x 0.5664 :y 0.2519 :z 1.0 :w 9.0) + (new 'static 'vector :x 0.6601 :y 0.2519 :z 1.0 :w 18.0) + (new 'static 'vector :x 0.7539 :y 0.2519 :z 1.0 :w 22.5) + (new 'static 'vector :x 0.8476 :y 0.2519 :z 1.0 :w 19.0) + (new 'static 'vector :x 0.0039 :y 0.3144 :z 1.0 :w 19.0) + (new 'static 'vector :x 0.0976 :y 0.3144 :z 1.0 :w 19.0) + (new 'static 'vector :x 0.1914 :y 0.3144 :z 1.0 :w 21.0) + (new 'static 'vector :x 0.2851 :y 0.3144 :z 1.0 :w 19.0) + (new 'static 'vector :x 0.3789 :y 0.3144 :z 1.0 :w 18.0) + (new 'static 'vector :x 0.4726 :y 0.3144 :z 1.0 :w 20.0) + (new 'static 'vector :x 0.5664 :y 0.3144 :z 1.0 :w 20.0) + (new 'static 'vector :x 0.6601 :y 0.3144 :z 1.0 :w 11.0) + (new 'static 'vector :x 0.7539 :y 0.3144 :z 1.0 :w 16.0) + (new 'static 'vector :x 0.8476 :y 0.3144 :z 1.0 :w 21.0) + (new 'static 'vector :x 0.0039 :y 0.3769 :z 1.0 :w 17.0) + (new 'static 'vector :x 0.0976 :y 0.3769 :z 1.0 :w 23.0) + (new 'static 'vector :x 0.1914 :y 0.3769 :z 1.0 :w 18.0) + (new 'static 'vector :x 0.2851 :y 0.3769 :z 1.0 :w 21.0) + (new 'static 'vector :x 0.3789 :y 0.3769 :z 1.0 :w 19.0) + (new 'static 'vector :x 0.4726 :y 0.3769 :z 1.0 :w 22.0) + (new 'static 'vector :x 0.5664 :y 0.3769 :z 1.0 :w 20.0) + (new 'static 'vector :x 0.6601 :y 0.3769 :z 1.0 :w 20.0) + (new 'static 'vector :x 0.7539 :y 0.3769 :z 1.0 :w 20.0) + (new 'static 'vector :x 0.8476 :y 0.3769 :z 1.0 :w 22.0) + (new 'static 'vector :x 0.0039 :y 0.4394 :z 1.0 :w 23.0) + (new 'static 'vector :x 0.0976 :y 0.4394 :z 1.0 :w 23.0) + (new 'static 'vector :x 0.1914 :y 0.4394 :z 1.0 :w 23.0) + (new 'static 'vector :x 0.2851 :y 0.4394 :z 1.0 :w 23.0) + (new 'static 'vector :x 0.3789 :y 0.4394 :z 1.0 :w 20.0) + (new 'static 'vector :x 0.4726 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.0019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.0019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.0019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.0019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.0019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.0019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.0019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.0019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.0019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.0019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.0644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.1269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.1894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.1894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.1894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.1894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.1894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.1894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.1894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.1894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.1894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.1894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.2519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.2519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.2519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.2519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.2519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.2519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.2519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.2519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.2519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.2519 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.3144 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.3144 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.3144 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.3144 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.3144 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.3144 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.3144 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.3144 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.3144 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.3144 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.3769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.3769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.3769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.3769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.3769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.3769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.3769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.3769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.3769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.3769 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.4394 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.5019 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.5644 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.6269 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7505 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.6894 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0039 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.0976 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.1914 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.2851 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.3789 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.4726 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.5664 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.6601 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.7539 :y 0.7512 :z 1.0 :w 24.0) + (new 'static 'vector :x 0.8476 :y 0.7512 :z 1.0 :w 5.0) + ) + ) ;; definition for function draw-string ;; ERROR: function was not converted to expressions. Cannot decompile. @@ -562,22 +558,10 @@ ;; definition for function draw-string-xy ;; INFO: Return type mismatch float vs none. -(defun - draw-string-xy - ((arg0 string) - (arg1 dma-buffer) - (arg2 int) - (arg3 int) - (arg4 font-color) - (arg5 font-flags) - ) - (let - ((a2-2 - (new 'stack 'font-context *font-default-matrix* arg2 arg3 0.0 arg4 arg5) - ) +(defun draw-string-xy ((arg0 string) (arg1 dma-buffer) (arg2 int) (arg3 int) (arg4 font-color) (arg5 font-flags)) + (let ((a2-2 (new 'stack 'font-context *font-default-matrix* arg2 arg3 0.0 arg4 arg5))) + (draw-string arg0 arg1 a2-2) ) - (draw-string arg0 arg1 a2-2) - ) (none) ) @@ -587,7 +571,3 @@ (+! (-> arg2 origin x) (draw-string arg0 arg1 arg2)) (none) ) - - - - diff --git a/test/decompiler/reference/engine/gfx/generic/generic-h_REF.gc b/test/decompiler/reference/engine/gfx/generic/generic-h_REF.gc index 8e9a66616a..a313596956 100644 --- a/test/decompiler/reference/engine/gfx/generic/generic-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/generic/generic-h_REF.gc @@ -311,11 +311,7 @@ (format #t "~Tptr-env-shader: ~D~%" (-> obj ptr-env-shader)) (format #t "~Tis-envmap: ~D~%" (-> obj is-envmap)) (format #t "~Tbasep: #x~X~%" (-> obj basep)) - (format - #t - "~Tptr-interp-job: #~%" - (-> obj ptr-interp-job) - ) + (format #t "~Tptr-interp-job: #~%" (-> obj ptr-interp-job)) (format #t "~Tgifbuf-adr: ~D~%" (-> obj gifbuf-adr)) (format #t "~Tinbuf-adr: ~D~%" (-> obj inbuf-adr)) (format #t "~Tfade-val: ~D~%" (-> obj fade-val)) @@ -450,11 +446,7 @@ (format #t "~Tmatrix: #~%" (-> obj matrix)) (format #t "~Tbase-strgif: #~%" (-> obj base-strgif)) (format #t "~Talpha-opaque: #~%" (-> obj alpha-opaque)) - (format - #t - "~Talpha-translucent: #~%" - (-> obj alpha-translucent) - ) + (format #t "~Talpha-translucent: #~%" (-> obj alpha-translucent)) (format #t "~Tztest-normal: #~%" (-> obj ztest-normal)) (format #t "~Tztest-opaque: #~%" (-> obj ztest-opaque)) (format #t "~Tadcmd-offsets[16] @ #x~X~%" (-> obj adcmd-offsets)) @@ -491,7 +483,4 @@ ) ;; definition for symbol *gsf-buffer*, type gsf-buffer -(define - *gsf-buffer* - (the-as gsf-buffer (kmalloc global 9216 (kmalloc-flags align-64) "malloc")) - ) +(define *gsf-buffer* (the-as gsf-buffer (kmalloc global 9216 (kmalloc-flags align-64) "malloc"))) diff --git a/test/decompiler/reference/engine/gfx/generic/generic_REF.gc b/test/decompiler/reference/engine/gfx/generic/generic_REF.gc index 6cf27abe3c..5e18f60849 100644 --- a/test/decompiler/reference/engine/gfx/generic/generic_REF.gc +++ b/test/decompiler/reference/engine/gfx/generic/generic_REF.gc @@ -5,69 +5,38 @@ (define *generic-foreground-sinks* (the-as (array generic-dma-foreground-sink) - (new - 'static - 'boxed-array - :type generic-dma-foreground-sink :length 0 :allocated-length 9 + (new 'static 'boxed-array :type generic-dma-foreground-sink :length 0 :allocated-length 9) ) - ) ) ;; failed to figure out what this is: -(set! - (-> *generic-foreground-sinks* 0) - (-> *level* level0 foreground-sink-group 0 generic-sink) - ) +(set! (-> *generic-foreground-sinks* 0) (-> *level* level0 foreground-sink-group 0 generic-sink)) ;; failed to figure out what this is: -(set! - (-> *generic-foreground-sinks* 1) - (-> *level* level0 foreground-sink-group 1 generic-sink) - ) +(set! (-> *generic-foreground-sinks* 1) (-> *level* level0 foreground-sink-group 1 generic-sink)) ;; failed to figure out what this is: -(set! - (-> *generic-foreground-sinks* 2) - (-> *level* level1 foreground-sink-group 0 generic-sink) - ) +(set! (-> *generic-foreground-sinks* 2) (-> *level* level1 foreground-sink-group 0 generic-sink)) ;; failed to figure out what this is: -(set! - (-> *generic-foreground-sinks* 3) - (-> *level* level1 foreground-sink-group 1 generic-sink) - ) +(set! (-> *generic-foreground-sinks* 3) (-> *level* level1 foreground-sink-group 1 generic-sink)) ;; failed to figure out what this is: -(set! - (-> *generic-foreground-sinks* 4) - (-> *level* level-default foreground-sink-group 0 generic-sink) - ) +(set! (-> *generic-foreground-sinks* 4) (-> *level* level-default foreground-sink-group 0 generic-sink)) ;; failed to figure out what this is: -(set! - (-> *generic-foreground-sinks* 5) - (-> *level* level-default foreground-sink-group 1 generic-sink) - ) +(set! (-> *generic-foreground-sinks* 5) (-> *level* level-default foreground-sink-group 1 generic-sink)) ;; failed to figure out what this is: -(set! - (-> *generic-foreground-sinks* 6) - (new 'static 'generic-dma-foreground-sink - :bucket (bucket-id generic-foreground) - ) - ) +(set! (-> *generic-foreground-sinks* 6) + (new 'static 'generic-dma-foreground-sink :bucket (bucket-id generic-foreground)) + ) ;; failed to figure out what this is: -(set! - (-> *generic-foreground-sinks* 7) - (-> *level* level0 foreground-sink-group 2 generic-sink) - ) +(set! (-> *generic-foreground-sinks* 7) (-> *level* level0 foreground-sink-group 2 generic-sink)) ;; failed to figure out what this is: -(set! - (-> *generic-foreground-sinks* 8) - (-> *level* level1 foreground-sink-group 2 generic-sink) - ) +(set! (-> *generic-foreground-sinks* 8) (-> *level* level1 foreground-sink-group 2 generic-sink)) ;; definition for function generic-dma-foreground-sink-init ;; INFO: Return type mismatch int vs none. @@ -83,39 +52,37 @@ (let ((gp-0 (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24))) (s5-0 (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24) :zmsk #x1)) ) - (dotimes (s4-0 9) - (let ((s1-0 (-> *generic-foreground-sinks* s4-0))) - (when s1-0 - (let* ((s3-0 (-> s1-0 bucket)) - (s0-0 - (-> *display* frames (-> *display* on-screen) frame global-buf) + (dotimes (s4-0 9) + (let ((s1-0 (-> *generic-foreground-sinks* s4-0))) + (when s1-0 + (let* ((s3-0 (-> s1-0 bucket)) + (s0-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s2-0 (-> s0-0 base)) + ) + (if (>= s4-0 7) + (generic-init-buf s0-0 1 s5-0) + (generic-init-buf s0-0 1 gp-0) + ) + (generic-dma-foreground-sink-init s1-0) + (let ((a3-0 (-> s0-0 base))) + (let ((packet (the-as dma-packet (-> s0-0 base)))) + (set! (-> packet dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> packet vif0) (new 'static 'vif-tag)) + (set! (-> packet vif1) (new 'static 'vif-tag)) + (set! (-> s0-0 base) (&+ (the-as pointer packet) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + s3-0 + s2-0 + (the-as (pointer dma-tag) a3-0) + ) ) - (s2-0 (-> s0-0 base)) - ) - (if (>= s4-0 7) - (generic-init-buf s0-0 1 s5-0) - (generic-init-buf s0-0 1 gp-0) + ) + ) ) - (generic-dma-foreground-sink-init s1-0) - (let ((a3-0 (-> s0-0 base))) - (let ((packet (the-as dma-packet (-> s0-0 base)))) - (set! (-> packet dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> packet vif0) (new 'static 'vif-tag)) - (set! (-> packet vif1) (new 'static 'vif-tag)) - (set! (-> s0-0 base) (&+ (the-as pointer packet) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - s3-0 - s2-0 - (the-as (pointer dma-tag) a3-0) - ) - ) - ) ) - ) ) - ) #f ) diff --git a/test/decompiler/reference/engine/gfx/hw/display-h_REF.gc b/test/decompiler/reference/engine/gfx/hw/display-h_REF.gc index 119b14b287..5f441409b8 100644 --- a/test/decompiler/reference/engine/gfx/hw/display-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/hw/display-h_REF.gc @@ -75,11 +75,7 @@ ;; definition for function put-draw-env ;; Used lq/sq (defun put-draw-env ((arg0 (pointer gif-tag))) - (dma-send - (the-as dma-bank #x1000a000) - (the-as uint arg0) - (+ (-> arg0 0 nloop) 1) - ) + (dma-send (the-as dma-bank #x1000a000) (the-as uint arg0) (+ (-> arg0 0 nloop) 1)) (none) ) @@ -118,20 +114,16 @@ ;; definition for method 0 of type display-frame (defmethod new display-frame ((allocation symbol) (type-to-make type)) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj calc-buf) (the-as dma-buffer 0)) + (set! (-> obj global-buf) (the-as dma-buffer 0)) + (set! (-> obj debug-buf) (the-as dma-buffer 0)) + (when *debug-segment* + (set! (-> obj profile-bar 0) (new 'debug 'profile-bar)) + (set! (-> obj profile-bar 1) (new 'debug 'profile-bar)) + ) + obj ) - (set! (-> obj calc-buf) (the-as dma-buffer 0)) - (set! (-> obj global-buf) (the-as dma-buffer 0)) - (set! (-> obj debug-buf) (the-as dma-buffer 0)) - (when *debug-segment* - (set! (-> obj profile-bar 0) (new 'debug 'profile-bar)) - (set! (-> obj profile-bar 1) (new 'debug 'profile-bar)) - ) - obj - ) ) ;; definition of type virtual-frame @@ -225,41 +217,17 @@ (format #t "~Tbase-frame-counter: ~D~%" (-> obj base-frame-counter)) (format #t "~Tgame-frame-counter: ~D~%" (-> obj game-frame-counter)) (format #t "~Tintegral-frame-counter: ~D~%" (-> obj integral-frame-counter)) - (format - #t - "~Treal-integral-frame-counter: ~D~%" - (-> obj real-integral-frame-counter) - ) + (format #t "~Treal-integral-frame-counter: ~D~%" (-> obj real-integral-frame-counter)) (format #t "~Tactual-frame-counter: ~D~%" (-> obj actual-frame-counter)) - (format - #t - "~Treal-actual-frame-counter: ~D~%" - (-> obj real-actual-frame-counter) - ) + (format #t "~Treal-actual-frame-counter: ~D~%" (-> obj real-actual-frame-counter)) (format #t "~Tpart-frame-counter: ~D~%" (-> obj part-frame-counter)) (format #t "~Told-real-frame-counter: ~D~%" (-> obj old-real-frame-counter)) (format #t "~Told-base-frame-counter: ~D~%" (-> obj old-base-frame-counter)) (format #t "~Told-game-frame-counter: ~D~%" (-> obj old-game-frame-counter)) - (format - #t - "~Told-integral-frame-counter: ~D~%" - (-> obj old-integral-frame-counter) - ) - (format - #t - "~Told-real-integral-frame-counter: ~D~%" - (-> obj old-real-integral-frame-counter) - ) - (format - #t - "~Told-actual-frame-counter: ~D~%" - (-> obj old-actual-frame-counter) - ) - (format - #t - "~Told-real-actual-frame-counter: ~D~%" - (-> obj old-real-actual-frame-counter) - ) + (format #t "~Told-integral-frame-counter: ~D~%" (-> obj old-integral-frame-counter)) + (format #t "~Told-real-integral-frame-counter: ~D~%" (-> obj old-real-integral-frame-counter)) + (format #t "~Told-actual-frame-counter: ~D~%" (-> obj old-actual-frame-counter)) + (format #t "~Told-real-actual-frame-counter: ~D~%" (-> obj old-real-actual-frame-counter)) (format #t "~Told-part-frame-counter: ~D~%" (-> obj old-part-frame-counter)) (format #t "~Ttime-ratio: ~f~%" (-> obj time-ratio)) (format #t "~Tseconds-per-frame: ~f~%" (-> obj seconds-per-frame)) @@ -270,72 +238,46 @@ ) ;; definition for method 0 of type display -(defmethod - new - display - ((allocation symbol) - (type-to-make type) - (psm int) - (w int) - (h int) - (ztest int) - (zpsm int) - ) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new display ((allocation symbol) (type-to-make type) (psm int) (w int) (h int) (ztest int) (zpsm int)) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set-display obj psm w h ztest zpsm) + (set! (-> obj frames 0 display) (-> obj display-env0)) + (set! (-> obj frames 1 display) (-> obj display-env1)) + (set! (-> obj frames 2 display) (-> obj display-env2)) + (set! (-> obj frames 3 display) (-> obj display-env0)) + (set! (-> obj frames 4 display) (-> obj display-env1)) + (set! (-> obj frames 5 display) (-> obj display-env2)) + (set! (-> obj frames 0 display-last) (-> obj display-env2)) + (set! (-> obj frames 1 display-last) (-> obj display-env0)) + (set! (-> obj frames 2 display-last) (-> obj display-env1)) + (set! (-> obj frames 3 display-last) (-> obj display-env2)) + (set! (-> obj frames 4 display-last) (-> obj display-env0)) + (set! (-> obj frames 5 display-last) (-> obj display-env1)) + (set! (-> obj frames 0 gif) (the-as pointer (-> obj gif-tag0))) + (set! (-> obj frames 1 gif) (the-as pointer (-> obj gif-tag1))) + (set! (-> obj frames 2 gif) (the-as pointer (-> obj gif-tag2))) + (set! (-> obj frames 3 gif) (the-as pointer (-> obj gif-tag0))) + (set! (-> obj frames 4 gif) (the-as pointer (-> obj gif-tag1))) + (set! (-> obj frames 5 gif) (the-as pointer (-> obj gif-tag2))) + (set! (-> obj frames 0 draw) (-> obj draw0)) + (set! (-> obj frames 1 draw) (-> obj draw1)) + (set! (-> obj frames 2 draw) (-> obj draw2)) + (set! (-> obj frames 3 draw) (-> obj draw0)) + (set! (-> obj frames 4 draw) (-> obj draw1)) + (set! (-> obj frames 5 draw) (-> obj draw2)) + (set! (-> obj frames 0 frame) (new 'global 'display-frame)) + (set! (-> obj frames 1 frame) (new 'global 'display-frame)) + (set! (-> obj frames 2 frame) (-> obj frames 0 frame)) + (set! (-> obj frames 3 frame) (-> obj frames 1 frame)) + (set! (-> obj frames 4 frame) (-> obj frames 0 frame)) + (set! (-> obj frames 5 frame) (-> obj frames 1 frame)) + (default-buffer-init *default-regs-buffer*) + (set! (-> obj bg-clear-color 0) (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)) + (set! (-> obj bg-clear-color 1) (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)) + (set! (-> obj bg-clear-color 2) (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)) + (set! (-> obj bg-clear-color 3) (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)) + obj ) - (set-display obj psm w h ztest zpsm) - (set! (-> obj frames 0 display) (-> obj display-env0)) - (set! (-> obj frames 1 display) (-> obj display-env1)) - (set! (-> obj frames 2 display) (-> obj display-env2)) - (set! (-> obj frames 3 display) (-> obj display-env0)) - (set! (-> obj frames 4 display) (-> obj display-env1)) - (set! (-> obj frames 5 display) (-> obj display-env2)) - (set! (-> obj frames 0 display-last) (-> obj display-env2)) - (set! (-> obj frames 1 display-last) (-> obj display-env0)) - (set! (-> obj frames 2 display-last) (-> obj display-env1)) - (set! (-> obj frames 3 display-last) (-> obj display-env2)) - (set! (-> obj frames 4 display-last) (-> obj display-env0)) - (set! (-> obj frames 5 display-last) (-> obj display-env1)) - (set! (-> obj frames 0 gif) (the-as pointer (-> obj gif-tag0))) - (set! (-> obj frames 1 gif) (the-as pointer (-> obj gif-tag1))) - (set! (-> obj frames 2 gif) (the-as pointer (-> obj gif-tag2))) - (set! (-> obj frames 3 gif) (the-as pointer (-> obj gif-tag0))) - (set! (-> obj frames 4 gif) (the-as pointer (-> obj gif-tag1))) - (set! (-> obj frames 5 gif) (the-as pointer (-> obj gif-tag2))) - (set! (-> obj frames 0 draw) (-> obj draw0)) - (set! (-> obj frames 1 draw) (-> obj draw1)) - (set! (-> obj frames 2 draw) (-> obj draw2)) - (set! (-> obj frames 3 draw) (-> obj draw0)) - (set! (-> obj frames 4 draw) (-> obj draw1)) - (set! (-> obj frames 5 draw) (-> obj draw2)) - (set! (-> obj frames 0 frame) (new 'global 'display-frame)) - (set! (-> obj frames 1 frame) (new 'global 'display-frame)) - (set! (-> obj frames 2 frame) (-> obj frames 0 frame)) - (set! (-> obj frames 3 frame) (-> obj frames 1 frame)) - (set! (-> obj frames 4 frame) (-> obj frames 0 frame)) - (set! (-> obj frames 5 frame) (-> obj frames 1 frame)) - (default-buffer-init *default-regs-buffer*) - (set! - (-> obj bg-clear-color 0) - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) - ) - (set! - (-> obj bg-clear-color 1) - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) - ) - (set! - (-> obj bg-clear-color 2) - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) - ) - (set! - (-> obj bg-clear-color 3) - (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80) - ) - obj - ) ) ;; definition for symbol *pre-draw-hook*, type (function object none) diff --git a/test/decompiler/reference/engine/gfx/hw/display_REF.gc b/test/decompiler/reference/engine/gfx/hw/display_REF.gc index 7a02449cd7..6e3770c44b 100644 --- a/test/decompiler/reference/engine/gfx/hw/display_REF.gc +++ b/test/decompiler/reference/engine/gfx/hw/display_REF.gc @@ -14,117 +14,72 @@ ;; definition for method 9 of type display (defmethod set-time-ratios display ((obj display) (slowdown float)) (let ((ratio (fmin 4.0 slowdown))) - (set! (-> obj time-ratio) ratio) - (case (get-video-mode) - (('pal) - (set! (-> obj time-adjust-ratio) (* 1.2 ratio)) - (set! (-> obj seconds-per-frame) (* 0.02 ratio)) - (set! (-> obj frames-per-second) (* 50.0 (/ 1.0 ratio))) - (set! (-> obj time-factor) 6.0) + (set! (-> obj time-ratio) ratio) + (case (get-video-mode) + (('pal) + (set! (-> obj time-adjust-ratio) (* 1.2 ratio)) + (set! (-> obj seconds-per-frame) (* 0.02 ratio)) + (set! (-> obj frames-per-second) (* 50.0 (/ 1.0 ratio))) + (set! (-> obj time-factor) 6.0) + ) + (else + (set! (-> obj time-adjust-ratio) ratio) + (set! (-> obj seconds-per-frame) (* 0.016666668 ratio)) + (set! (-> obj frames-per-second) (* 60.0 (/ 1.0 ratio))) + (set! (-> obj time-factor) 5.0) + ) ) - (else - (set! (-> obj time-adjust-ratio) ratio) - (set! (-> obj seconds-per-frame) (* 0.016666668 ratio)) - (set! (-> obj frames-per-second) (* 60.0 (/ 1.0 ratio))) - (set! (-> obj time-factor) 5.0) - ) ) - ) (-> obj time-ratio) ) ;; definition for function set-display-env -(defun - set-display-env - ((env display-env) - (psm int) - (width int) - (height int) - (dx int) - (dy int) - (fbp int) - ) - (set! - (-> env pmode) - (new 'static 'gs-pmode :en1 #x1 :mmod #x1 :slbg #x1 :alp #xff) - ) +(defun set-display-env ((env display-env) (psm int) (width int) (height int) (dx int) (dy int) (fbp int)) + (set! (-> env pmode) (new 'static 'gs-pmode :en1 #x1 :mmod #x1 :slbg #x1 :alp #xff)) (set! (-> env smode2) (new 'static 'gs-smode2 :int #x1 :ffmd #x1)) - (set! - (-> env dspfb) - (new 'static 'gs-display-fb :psm psm :fbw (/ width 64) :fbp fbp) - ) - (set! - (-> env display) - (new 'static 'gs-display - :dw #x9ff - :dy (+ dy 50) - :dx (+ (* dx (/ 2560 width)) 652) - :dh (+ (* height 2) -1) - :magh (+ (/ (+ width 2559) width) -1) - ) - ) + (set! (-> env dspfb) (new 'static 'gs-display-fb :psm psm :fbw (/ width 64) :fbp fbp)) + (set! (-> env display) (new 'static 'gs-display + :dw #x9ff + :dy (+ dy 50) + :dx (+ (* dx (/ 2560 width)) 652) + :dh (+ (* height 2) -1) + :magh (+ (/ (+ width 2559) width) -1) + ) + ) (set! (-> env bgcolor) (new 'static 'gs-bgcolor)) env ) ;; definition for function set-draw-env -(defun - set-draw-env - ((env draw-env) - (psm int) - (width int) - (height int) - (ztest int) - (zpsm int) - (fbp int) - ) +(defun set-draw-env ((env draw-env) (psm int) (width int) (height int) (ztest int) (zpsm int) (fbp int)) (set! (-> env frame1addr) (gs-reg64 frame-1)) - (set! - (-> env frame1) - (new 'static 'gs-frame :fbw (/ width 64) :psm (logand psm 15) :fbp fbp) - ) + (set! (-> env frame1) (new 'static 'gs-frame :fbw (/ width 64) :psm (logand psm 15) :fbp fbp)) (set! (-> env dtheaddr) (gs-reg64 dthe)) (cond - ((zero? (logand psm 2)) - (set! (-> env dthe) (new 'static 'gs-dthe)) - 0 + ((zero? (logand psm 2)) + (set! (-> env dthe) (new 'static 'gs-dthe)) + 0 + ) + (else + (set! (-> env dthe) (new 'static 'gs-dthe :dthe #x1)) + ) ) - (else - (set! (-> env dthe) (new 'static 'gs-dthe :dthe #x1)) - ) - ) (set! (-> env zbuf1addr) (gs-reg64 zbuf-1)) - (set! - (-> env zbuf1) - (new 'static 'gs-zbuf - :zbp #x1c0 - :psm (logand zpsm 15) - :zmsk (if (zero? ztest) 1 0) - ) - ) + (set! (-> env zbuf1) (new 'static 'gs-zbuf :zbp #x1c0 :psm (logand zpsm 15) :zmsk (if (zero? ztest) 1 0))) (set! (-> env test1addr) (gs-reg64 test-1)) (cond - ((zero? ztest) - (set! (-> env test1) (new 'static 'gs-test)) - 0 + ((zero? ztest) + (set! (-> env test1) (new 'static 'gs-test)) + 0 + ) + (else + (set! (-> env test1) (new 'static 'gs-test :zte #x1 :ztst ztest)) + ) ) - (else - (set! (-> env test1) (new 'static 'gs-test :zte #x1 :ztst ztest)) - ) - ) (set! (-> env xyoffset1addr) (gs-reg64 xyoffset-1)) - (set! - (-> env xyoffset1) - (new 'static 'gs-xy-offset - :ofx #x7000 - :ofy (* (-> *video-parms* screen-miny) 16) - ) - ) + (set! (-> env xyoffset1) (new 'static 'gs-xy-offset :ofx #x7000 :ofy (* (-> *video-parms* screen-miny) 16))) (set! (-> env scissor1addr) (gs-reg64 scissor-1)) - (set! - (-> env scissor1) - (new 'static 'gs-scissor :scax1 (+ width -1) :scay1 (+ height -1)) - ) + (set! (-> env scissor1) (new 'static 'gs-scissor :scax1 (+ width -1) :scay1 (+ height -1))) (set! (-> env prmodecontaddr) (gs-reg64 prmodecont)) (set! (-> env prmodecont) (new 'static 'gs-prmode-cont :ac #x1)) (set! (-> env colclampaddr) (gs-reg64 colclamp)) @@ -134,13 +89,12 @@ ;; definition for function set-draw-env-offset (defun set-draw-env-offset ((env draw-env) (x int) (y int) (arg3 int)) - (set! - (-> env xyoffset1) - (new 'static 'gs-xy-offset - :ofx (* (- x (the-as int (shr (+ (-> env scissor1 scax1) 1) 1))) 16) - :ofy (+ (* (- y (the-as int (shr (+ (-> env scissor1 scay1) 1) 1))) 16) (if (zero? arg3) 0 8)) - ) - ) + (set! (-> env xyoffset1) + (new 'static 'gs-xy-offset + :ofx (* (- x (the-as int (shr (+ (-> env scissor1 scax1) 1) 1))) 16) + :ofy (+ (* (- y (the-as int (shr (+ (-> env scissor1 scay1) 1) 1))) 16) (if (zero? arg3) 0 8)) + ) + ) env ) @@ -148,41 +102,39 @@ ;; INFO: Return type mismatch gs-display vs none. (defun put-display-alpha-env ((arg0 display-env)) (let ((v1-0 (the-as gs-bank #x12000000))) - (set! (-> v1-0 dspfb1) (-> arg0 dspfb)) - (set! (-> v1-0 display1) (-> arg0 display)) - ) + (set! (-> v1-0 dspfb1) (-> arg0 dspfb)) + (set! (-> v1-0 display1) (-> arg0 display)) + ) (none) ) ;; definition for function set-display ;; Used lq/sq -(defun - set-display - ((disp display) (psm int) (w int) (h int) (ztest int) (zpsm int)) +(defun set-display ((disp display) (psm int) (w int) (h int) (ztest int) (zpsm int)) (let ((v1-0 (-> disp gif-tag0))) - (set! (-> v1-0 tag) (new 'static 'gif-tag64 :nloop #x8 :eop #x1 :nreg #x1)) - (set! (-> v1-0 regs) (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d))) - ) + (set! (-> v1-0 tag) (new 'static 'gif-tag64 :nloop #x8 :eop #x1 :nreg #x1)) + (set! (-> v1-0 regs) (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d))) + ) (set! (-> disp gif-tag1 qword) (-> disp gif-tag0 qword)) (set! (-> disp gif-tag2 qword) (-> disp gif-tag0 qword)) (set-display-env - (-> disp display-env0) - psm - w - h - (-> *video-parms* display-dx) - (-> *video-parms* display-dy) - 320 - ) + (-> disp display-env0) + psm + w + h + (-> *video-parms* display-dx) + (-> *video-parms* display-dy) + 320 + ) (set-display-env - (-> disp display-env1) - psm - w - h - (-> *video-parms* display-dx) - (-> *video-parms* display-dy) - 384 - ) + (-> disp display-env1) + psm + w + h + (-> *video-parms* display-dx) + (-> *video-parms* display-dy) + 384 + ) (set-draw-env (-> disp draw0) psm w h ztest zpsm 384) (set-draw-env (-> disp draw1) psm w h ztest zpsm 320) (set! (-> disp base-frame-counter) #x493e0) @@ -194,48 +146,34 @@ (set! (-> disp old-base-frame-counter) (+ (-> disp base-frame-counter) -1)) (set! (-> disp old-game-frame-counter) (+ (-> disp game-frame-counter) -1)) (set! (-> disp old-real-frame-counter) (+ (-> disp real-frame-counter) -1)) - (set! - (-> disp old-integral-frame-counter) - (+ (-> disp integral-frame-counter) -1) - ) - (set! - (-> disp old-real-integral-frame-counter) - (+ (-> disp real-integral-frame-counter) -1) - ) + (set! (-> disp old-integral-frame-counter) (+ (-> disp integral-frame-counter) -1)) + (set! (-> disp old-real-integral-frame-counter) (+ (-> disp real-integral-frame-counter) -1)) (set! (-> disp old-part-frame-counter) (+ (-> disp part-frame-counter) -1)) - (set! - (-> disp old-actual-frame-counter) - (+ (-> disp actual-frame-counter) -1) - ) - (set! - (-> disp old-real-actual-frame-counter) - (+ (-> disp real-actual-frame-counter) -1) - ) + (set! (-> disp old-actual-frame-counter) (+ (-> disp actual-frame-counter) -1)) + (set! (-> disp old-real-actual-frame-counter) (+ (-> disp real-actual-frame-counter) -1)) disp ) ;; definition for function set-display2 -(defun - set-display2 - ((disp display) (psm int) (w int) (h int) (ztest int) (zpsm int)) +(defun set-display2 ((disp display) (psm int) (w int) (h int) (ztest int) (zpsm int)) (set-display-env - (-> disp display-env0) - psm - w - h - (-> *video-parms* display-dx) - (-> *video-parms* display-dy) - 320 - ) + (-> disp display-env0) + psm + w + h + (-> *video-parms* display-dx) + (-> *video-parms* display-dy) + 320 + ) (set-display-env - (-> disp display-env1) - psm - w - h - (-> *video-parms* display-dx) - (-> *video-parms* display-dy) - 384 - ) + (-> disp display-env1) + psm + w + h + (-> *video-parms* display-dx) + (-> *video-parms* display-dy) + 384 + ) (set-draw-env (-> disp draw0) psm w h ztest zpsm 384) (set-draw-env (-> disp draw1) psm w h ztest zpsm 320) disp @@ -244,62 +182,48 @@ ;; definition for function allocate-dma-buffers (defun allocate-dma-buffers ((arg0 display)) (when (zero? (-> arg0 frames 0 frame calc-buf)) - (set! (-> arg0 frames 0 frame calc-buf) (new 'global 'dma-buffer 10000)) - (set! (-> arg0 frames 1 frame calc-buf) (new 'global 'dma-buffer 10000)) - (set! (-> arg0 frames 0 frame global-buf) (new 'global 'dma-buffer #x1ac000)) - (set! (-> arg0 frames 1 frame global-buf) (new 'global 'dma-buffer #x1ac000)) - (when *debug-segment* - (set! (-> arg0 frames 0 frame debug-buf) (new 'debug 'dma-buffer #x800000)) - (set! (-> arg0 frames 1 frame debug-buf) (new 'debug 'dma-buffer #x800000)) + (set! (-> arg0 frames 0 frame calc-buf) (new 'global 'dma-buffer 10000)) + (set! (-> arg0 frames 1 frame calc-buf) (new 'global 'dma-buffer 10000)) + (set! (-> arg0 frames 0 frame global-buf) (new 'global 'dma-buffer #x1ac000)) + (set! (-> arg0 frames 1 frame global-buf) (new 'global 'dma-buffer #x1ac000)) + (when *debug-segment* + (set! (-> arg0 frames 0 frame debug-buf) (new 'debug 'dma-buffer #x800000)) + (set! (-> arg0 frames 1 frame debug-buf) (new 'debug 'dma-buffer #x800000)) + ) ) - ) arg0 ) ;; definition for symbol *font-context*, type font-context (define *font-context* - (new - 'global - 'font-context - *font-default-matrix* - 0 - 24 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) + (new 'global 'font-context *font-default-matrix* 0 24 0.0 (font-color default) (font-flags shadow kerning)) ) ;; definition for symbol *pause-context*, type font-context -(define - *pause-context* - (new - 'global - 'font-context - *font-default-matrix* - 256 - 170 - 0.0 - (font-color orange-red) - (font-flags shadow kerning) - ) - ) +(define *pause-context* (new + 'global + 'font-context + *font-default-matrix* + 256 + 170 + 0.0 + (font-color orange-red) + (font-flags shadow kerning) + ) + ) ;; definition for method 11 of type profile-bar (defmethod add-frame profile-bar ((obj profile-bar) (name symbol) (color rgba)) (when *debug-segment* - (let ((new-frame (-> obj data (-> obj profile-frame-count)))) - (+! (-> obj profile-frame-count) 1) - (set! (-> new-frame name) name) - (set! - (-> new-frame time-stamp) - (timer-count (the-as timer-bank #x10000800)) - ) - (set! (-> new-frame color) color) - new-frame + (let ((new-frame (-> obj data (-> obj profile-frame-count)))) + (+! (-> obj profile-frame-count) 1) + (set! (-> new-frame name) name) + (set! (-> new-frame time-stamp) (timer-count (the-as timer-bank #x10000800))) + (set! (-> new-frame color) color) + new-frame + ) ) - ) ) ;; definition for method 10 of type profile-bar @@ -310,17 +234,14 @@ ) ;; definition for method 12 of type profile-bar -(defmethod - add-end-frame - profile-bar - ((obj profile-bar) (name symbol) (color rgba)) +(defmethod add-end-frame profile-bar ((obj profile-bar) (name symbol) (color rgba)) (let ((new-frame (-> obj data (-> obj profile-frame-count)))) - (+! (-> obj profile-frame-count) 1) - (set! (-> new-frame name) name) - (set! (-> new-frame time-stamp) (the-as uint *ticks-per-frame*)) - (set! (-> new-frame color) color) - new-frame - ) + (+! (-> obj profile-frame-count) 1) + (set! (-> new-frame name) name) + (set! (-> new-frame time-stamp) (the-as uint *ticks-per-frame*)) + (set! (-> new-frame color) color) + new-frame + ) ) ;; definition for symbol *profile-x*, type int @@ -341,171 +262,104 @@ ;; definition for method 13 of type profile-bar (defmethod draw profile-bar ((obj profile-bar) (buf dma-buffer) (bar-pos int)) (let ((height (the int (* 8.0 (-> *video-parms* relative-y-scale))))) - (set! *profile-y* (+ (-> *video-parms* screen-miny) height)) - (set! *profile-h* height) - ) + (set! *profile-y* (+ (-> *video-parms* screen-miny) height)) + (set! *profile-h* height) + ) (let ((block-idx 1) (block-count (-> obj profile-frame-count)) (left (* *profile-x* 16)) (end-time 0) (worst-time-cache (new 'static 'array uint32 2 #x0 #x0)) ) - (let - ((screen-y - (the int (* (the float bar-pos) (-> *video-parms* relative-y-scale))) - ) - ) - (let* ((t1-0 buf) - (direct-tag (the-as dma-packet (-> t1-0 base))) - ) - (set! - (-> direct-tag dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc (+ (* block-count 2) -1)) - ) - (set! (-> direct-tag vif0) (new 'static 'vif-tag)) - (set! - (-> direct-tag vif1) - (new 'static 'vif-tag - :cmd (vif-cmd direct) - :msk #x1 - :imm (+ (* block-count 2) -1) - ) - ) - (set! (-> t1-0 base) (&+ (the-as pointer direct-tag) 16)) - ) - (let* ((t1-1 buf) - (start-gif-tag (the-as gs-gif-tag (-> t1-1 base))) - ) - (set! - (-> start-gif-tag tag) - (new 'static 'gif-tag64 - :eop #x1 - :flg (gif-flag reg-list) - :nreg #x4 - :nloop (+ block-count -1) - ) - ) - (set! - (-> start-gif-tag regs) - (new 'static 'gif-tag-regs - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - :regs3 (gif-reg-id xyzf2) - ) - ) - (set! (-> t1-1 base) (&+ (the-as pointer start-gif-tag) 16)) - ) - (while (< block-idx block-count) - (let ((block (-> obj data block-idx))) - (let* ((t2-4 buf) - (t3-8 (-> t2-4 base)) + (let ((screen-y (the int (* (the float bar-pos) (-> *video-parms* relative-y-scale))))) + (let* ((t1-0 buf) + (direct-tag (the-as dma-packet (-> t1-0 base))) ) - (set! - (-> (the-as (pointer gs-prim) t3-8) 0) - (new 'static 'gs-prim :prim (gs-prim-type sprite) :abe #x1) + (set! (-> direct-tag dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc (+ (* block-count 2) -1))) + (set! (-> direct-tag vif0) (new 'static 'vif-tag)) + (set! (-> direct-tag vif1) + (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm (+ (* block-count 2) -1)) + ) + (set! (-> t1-0 base) (&+ (the-as pointer direct-tag) 16)) ) - (set! - (-> (the-as (pointer uint64) t3-8) 1) - (the-as uint (-> block color)) + (let* ((t1-1 buf) + (start-gif-tag (the-as gs-gif-tag (-> t1-1 base))) + ) + (set! (-> start-gif-tag tag) + (new 'static 'gif-tag64 :eop #x1 :flg (gif-flag reg-list) :nreg #x4 :nloop (+ block-count -1)) + ) + (set! (-> start-gif-tag regs) + (new 'static 'gif-tag-regs :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2) :regs3 (gif-reg-id xyzf2)) + ) + (set! (-> t1-1 base) (&+ (the-as pointer start-gif-tag) 16)) ) - (set! - (-> (the-as (pointer gs-xyzf) t3-8) 2) - (new 'static 'gs-xyzf - :z #x3fffff - :y (* (+ *profile-y* screen-y) 16) - :x left - ) - ) - (set! (-> t2-4 base) (&+ t3-8 24)) - ) - (if (!= (-> block name) 'end-draw) - (set! end-time (the-as int (-> block time-stamp))) - ) - (set! - left - (* - (+ - *profile-x* - (/ - (* (-> block time-stamp) (the-as uint *profile-w*)) - (the-as uint *ticks-per-frame*) - ) - ) - 16 - ) - ) - ) - (let* ((t1-8 buf) - (t2-8 (-> t1-8 base)) + (while (< block-idx block-count) + (let ((block (-> obj data block-idx))) + (let* ((t2-4 buf) + (t3-8 (-> t2-4 base)) + ) + (set! (-> (the-as (pointer gs-prim) t3-8) 0) (new 'static 'gs-prim :prim (gs-prim-type sprite) :abe #x1)) + (set! (-> (the-as (pointer uint64) t3-8) 1) (the-as uint (-> block color))) + (set! (-> (the-as (pointer gs-xyzf) t3-8) 2) + (new 'static 'gs-xyzf :z #x3fffff :y (* (+ *profile-y* screen-y) 16) :x left) + ) + (set! (-> t2-4 base) (&+ t3-8 24)) ) - (set! - (-> (the-as (pointer gs-xyzf) t2-8) 0) - (new 'static 'gs-xyzf - :z #x3fffff - :y (* (+ *profile-y* screen-y *profile-h*) 16) - :x left + (if (!= (-> block name) 'end-draw) + (set! end-time (the-as int (-> block time-stamp))) + ) + (set! left + (* (+ *profile-x* (/ (* (-> block time-stamp) (the-as uint *profile-w*)) (the-as uint *ticks-per-frame*))) 16) + ) + ) + (let* ((t1-8 buf) + (t2-8 (-> t1-8 base)) + ) + (set! (-> (the-as (pointer gs-xyzf) t2-8) 0) + (new 'static 'gs-xyzf :z #x3fffff :y (* (+ *profile-y* screen-y *profile-h*) 16) :x left) + ) + (set! (-> t1-8 base) (&+ t2-8 8)) + ) + (+! block-idx 1) ) - ) - (set! (-> t1-8 base) (&+ t2-8 8)) ) - (+! block-idx 1) - ) - ) - (when - (or - (< - 75 - (- (-> *display* real-frame-counter) (the-as int (-> obj cache-time))) + (when (or + (< 75 (- (-> *display* real-frame-counter) (the-as int (-> obj cache-time)))) + (>= end-time (the-as int (-> worst-time-cache (/ bar-pos 10)))) + ) + (set! (-> worst-time-cache (/ bar-pos 10)) (the-as uint end-time)) + (set! (-> obj cache-time) (the-as uint (-> *display* real-frame-counter))) ) - (>= end-time (the-as int (-> worst-time-cache (/ bar-pos 10)))) - ) - (set! (-> worst-time-cache (/ bar-pos 10)) (the-as uint end-time)) - (set! (-> obj cache-time) (the-as uint (-> *display* real-frame-counter))) - ) - (cond - (*profile-ticks* - (let ((s3-0 draw-string-xy)) - (format (clear *temp-string*) "~5D" (-> worst-time-cache (/ bar-pos 10))) - (s3-0 - *temp-string* - buf - 488 - (+ bar-pos 8) - (font-color default) - (font-flags shadow right) - ) - ) - (the float (-> worst-time-cache (/ bar-pos 10))) - ) - (else - (let - ((f30-0 - (/ - (* 104.0 (the float (-> worst-time-cache (/ bar-pos 10)))) - (the float *ticks-per-frame*) - ) + (cond + (*profile-ticks* + (let ((s3-0 draw-string-xy)) + (format (clear *temp-string*) "~5D" (-> worst-time-cache (/ bar-pos 10))) + (s3-0 *temp-string* buf 488 (+ bar-pos 8) (font-color default) (font-flags shadow right)) + ) + (the float (-> worst-time-cache (/ bar-pos 10))) ) - ) - (let ((s4-1 draw-string-xy)) - (format (clear *temp-string*) "~5,,2f" f30-0) - (s4-1 - *temp-string* - buf - 488 - (+ bar-pos 8) - (the-as font-color (if (>= f30-0 100.0) - 3 - 0 - ) - ) - (font-flags shadow right) + (else + (let ((f30-0 (/ (* 104.0 (the float (-> worst-time-cache (/ bar-pos 10)))) (the float *ticks-per-frame*)))) + (let ((s4-1 draw-string-xy)) + (format (clear *temp-string*) "~5,,2f" f30-0) + (s4-1 + *temp-string* + buf + 488 + (+ bar-pos 8) + (the-as font-color (if (>= f30-0 100.0) + 3 + 0 + ) + ) + (font-flags shadow right) + ) + ) + f30-0 + ) ) - ) - f30-0 ) - ) ) - ) ) ;; failed to figure out what this is: @@ -518,104 +372,65 @@ ;; definition for function draw-sprite2d-xy ;; INFO: Return type mismatch pointer vs none. -(defun - draw-sprite2d-xy - ((buf dma-buffer) (x int) (y int) (w int) (h int) (color rgba)) +(defun draw-sprite2d-xy ((buf dma-buffer) (x int) (y int) (w int) (h int) (color rgba)) (let* ((context (new 'stack 'draw-context x y w h color)) (draw-x (max 1792 (min 2304 (+ (-> context orgx) 1792)))) (draw-y - (max - (min - (+ (-> context orgy) (-> *video-parms* screen-miny)) - (-> *video-parms* screen-maxy) - ) - (-> *video-parms* screen-miny) + (max + (min (+ (-> context orgy) (-> *video-parms* screen-miny)) (-> *video-parms* screen-maxy)) + (-> *video-parms* screen-miny) + ) ) - ) (draw-w (-> context width)) (draw-h (-> context height)) (end-dma (the-as dma-packet (-> buf base))) ) - (let* ((a2-2 buf) - (dma (the-as dma-packet (-> a2-2 base))) + (let* ((a2-2 buf) + (dma (the-as dma-packet (-> a2-2 base))) + ) + (set! (-> dma dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> dma vif0) (new 'static 'vif-tag)) + (set! (-> dma vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1)) + (set! (-> a2-2 base) (&+ (the-as pointer dma) 16)) + ) + (let* ((a2-3 buf) + (gif (the-as gs-gif-tag (-> a2-3 base))) + ) + (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :flg (gif-flag reg-list) :nreg #x4)) + (set! (-> gif regs) + (new 'static 'gif-tag-regs :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2) :regs3 (gif-reg-id xyzf2)) + ) + (set! (-> a2-3 base) (&+ (the-as pointer gif) 16)) + ) + (let* ((a2-4 buf) + (gif-buf (-> a2-4 base)) + ) + (set! (-> (the-as (pointer gs-prim) gif-buf) 0) (new 'static 'gs-prim :prim (gs-prim-type sprite) :abe #x1)) + (set! (-> (the-as (pointer gs-rgbaq) gif-buf) 1) (the-as gs-rgbaq (-> context color 0))) + (set! (-> (the-as (pointer gs-xyzf) gif-buf) 2) + (new 'static 'gs-xyzf :z #x3fffff :y (* draw-y 16) :x (* draw-x 16)) + ) + (set! (-> (the-as (pointer gs-xyzf) gif-buf) 3) + (new 'static 'gs-xyzf + :z #x3fffff + :y (* (max (min (+ draw-y draw-h) (-> *video-parms* screen-maxy)) (-> *video-parms* screen-miny)) 16) + :x (* (max 1792 (min 2304 (+ draw-x draw-w))) 16) + ) + ) + (set! (-> a2-4 base) (&+ gif-buf 32)) + ) + (let ((total-qwc (/ (the-as int (+ (- -16 (the-as int end-dma)) (the-as int (-> buf base)))) 16))) + (cond + ((nonzero? total-qwc) + (logior! (-> (the-as (pointer dma-tag) end-dma) 0) (new 'static 'dma-tag :qwc total-qwc)) + (logior! (-> (the-as (pointer dma-tag) end-dma) 1) (shl (shr (shl total-qwc 48) 48) 32)) + ) + (else + (set! (-> buf base) (the-as pointer end-dma)) ) - (set! (-> dma dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> dma vif0) (new 'static 'vif-tag)) - (set! (-> dma vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1)) - (set! (-> a2-2 base) (&+ (the-as pointer dma) 16)) + ) + ) ) - (let* ((a2-3 buf) - (gif (the-as gs-gif-tag (-> a2-3 base))) - ) - (set! - (-> gif tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :flg (gif-flag reg-list) - :nreg #x4 - ) - ) - (set! - (-> gif regs) - (new 'static 'gif-tag-regs - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - :regs3 (gif-reg-id xyzf2) - ) - ) - (set! (-> a2-3 base) (&+ (the-as pointer gif) 16)) - ) - (let* ((a2-4 buf) - (gif-buf (-> a2-4 base)) - ) - (set! - (-> (the-as (pointer gs-prim) gif-buf) 0) - (new 'static 'gs-prim :prim (gs-prim-type sprite) :abe #x1) - ) - (set! - (-> (the-as (pointer gs-rgbaq) gif-buf) 1) - (the-as gs-rgbaq (-> context color 0)) - ) - (set! - (-> (the-as (pointer gs-xyzf) gif-buf) 2) - (new 'static 'gs-xyzf :z #x3fffff :y (* draw-y 16) :x (* draw-x 16)) - ) - (set! - (-> (the-as (pointer gs-xyzf) gif-buf) 3) - (new 'static 'gs-xyzf - :z #x3fffff - :y (* (max (min (+ draw-y draw-h) (-> *video-parms* screen-maxy)) (-> *video-parms* screen-miny)) 16) - :x (* (max 1792 (min 2304 (+ draw-x draw-w))) 16) - ) - ) - (set! (-> a2-4 base) (&+ gif-buf 32)) - ) - (let - ((total-qwc - (/ - (the-as int (+ (- -16 (the-as int end-dma)) (the-as int (-> buf base)))) - 16 - ) - ) - ) - (cond - ((nonzero? total-qwc) - (logior! - (-> (the-as (pointer dma-tag) end-dma) 0) - (new 'static 'dma-tag :qwc total-qwc) - ) - (logior! - (-> (the-as (pointer dma-tag) end-dma) 1) - (shl (shr (shl total-qwc 48) 48) 32) - ) - ) - (else - (set! (-> buf base) (the-as pointer end-dma)) - ) - ) - ) - ) (none) ) @@ -624,143 +439,93 @@ (defun draw-quad2d ((buf dma-buffer) (context draw-context)) (let ((draw-x (max 1792 (min 2304 (+ (-> context orgx) 1792)))) (draw-y - (max - (min - (+ (-> context orgy) (-> *video-parms* screen-miny)) - (-> *video-parms* screen-maxy) - ) - (-> *video-parms* screen-miny) + (max + (min (+ (-> context orgy) (-> *video-parms* screen-miny)) (-> *video-parms* screen-maxy)) + (-> *video-parms* screen-miny) + ) ) - ) (draw-w (-> context width)) (draw-h (-> context height)) (end-dma (-> buf base)) ) - (let* ((t0-0 buf) - (dma (the-as dma-packet (-> t0-0 base))) + (let* ((t0-0 buf) + (dma (the-as dma-packet (-> t0-0 base))) + ) + (set! (-> dma dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> dma vif0) (new 'static 'vif-tag)) + (set! (-> dma vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1)) + (set! (-> t0-0 base) (&+ (the-as pointer dma) 16)) + ) + (let* ((t0-1 buf) + (gif (the-as gs-gif-tag (-> t0-1 base))) + ) + (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :flg (gif-flag reg-list) :nreg #x9)) + (set! (-> gif regs) (new 'static 'gif-tag-regs + :regs1 (gif-reg-id rgbaq) + :regs2 (gif-reg-id xyzf2) + :regs3 (gif-reg-id rgbaq) + :regs4 (gif-reg-id xyzf2) + :regs5 (gif-reg-id rgbaq) + :regs6 (gif-reg-id xyzf2) + :regs7 (gif-reg-id rgbaq) + :regs8 (gif-reg-id xyzf2) + ) + ) + (set! (-> t0-1 base) (&+ (the-as pointer gif) 16)) + ) + (let* ((t0-2 buf) + (gif-buf (-> t0-2 base)) + ) + (set! (-> (the-as (pointer gs-prim) gif-buf) 0) + (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :abe #x1) + ) + (set! (-> (the-as (pointer gs-rgbaq) gif-buf) 1) (the-as gs-rgbaq (-> context color 0))) + (set! (-> (the-as (pointer gs-xyzf) gif-buf) 2) (new 'static 'gs-xyzf :y (* draw-y 16) :x (* draw-x 16))) + (set! (-> (the-as (pointer gs-rgbaq) gif-buf) 3) (the-as gs-rgbaq (-> context color 1))) + (set! (-> (the-as (pointer gs-xyzf) gif-buf) 4) + (new 'static 'gs-xyzf :y (* draw-y 16) :x (* (max 1792 (min 2304 (+ draw-x draw-w))) 16)) + ) + (set! (-> (the-as (pointer gs-rgbaq) gif-buf) 5) (the-as gs-rgbaq (-> context color 2))) + (set! (-> (the-as (pointer gs-xyzf) gif-buf) 6) + (new 'static 'gs-xyzf + :y (* (max (min (+ draw-y draw-h) (-> *video-parms* screen-maxy)) (-> *video-parms* screen-miny)) 16) + :x (* draw-x 16) + ) + ) + (set! (-> (the-as (pointer gs-rgbaq) gif-buf) 7) (the-as gs-rgbaq (-> context color 3))) + (set! (-> (the-as (pointer gs-xyzf) gif-buf) 8) + (new 'static 'gs-xyzf + :y (* (max (min (+ draw-y draw-h) (-> *video-parms* screen-maxy)) (-> *video-parms* screen-miny)) 16) + :x (* (max 1792 (min 2304 (+ draw-x draw-w))) 16) + ) + ) + (set! (-> (the-as (pointer uint64) gif-buf) 9) (the-as uint 0)) + (set! (-> t0-2 base) (&+ gif-buf 80)) + ) + (let ((total-qwc (/ (the-as int (+ (- -16 (the-as int end-dma)) (the-as int (-> buf base)))) 16))) + (cond + ((nonzero? total-qwc) + (logior! (-> (the-as (pointer dma-tag) end-dma) 0) (new 'static 'dma-tag :qwc total-qwc)) + (logior! (-> (the-as (pointer dma-tag) end-dma) 1) (shl (shr (shl total-qwc 48) 48) 32)) + ) + (else + (set! (-> buf base) end-dma) ) - (set! (-> dma dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> dma vif0) (new 'static 'vif-tag)) - (set! (-> dma vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1)) - (set! (-> t0-0 base) (&+ (the-as pointer dma) 16)) + ) + ) ) - (let* ((t0-1 buf) - (gif (the-as gs-gif-tag (-> t0-1 base))) - ) - (set! - (-> gif tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :flg (gif-flag reg-list) - :nreg #x9 - ) - ) - (set! - (-> gif regs) - (new 'static 'gif-tag-regs - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - :regs3 (gif-reg-id rgbaq) - :regs4 (gif-reg-id xyzf2) - :regs5 (gif-reg-id rgbaq) - :regs6 (gif-reg-id xyzf2) - :regs7 (gif-reg-id rgbaq) - :regs8 (gif-reg-id xyzf2) - ) - ) - (set! (-> t0-1 base) (&+ (the-as pointer gif) 16)) - ) - (let* ((t0-2 buf) - (gif-buf (-> t0-2 base)) - ) - (set! - (-> (the-as (pointer gs-prim) gif-buf) 0) - (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :abe #x1) - ) - (set! - (-> (the-as (pointer gs-rgbaq) gif-buf) 1) - (the-as gs-rgbaq (-> context color 0)) - ) - (set! - (-> (the-as (pointer gs-xyzf) gif-buf) 2) - (new 'static 'gs-xyzf :y (* draw-y 16) :x (* draw-x 16)) - ) - (set! - (-> (the-as (pointer gs-rgbaq) gif-buf) 3) - (the-as gs-rgbaq (-> context color 1)) - ) - (set! - (-> (the-as (pointer gs-xyzf) gif-buf) 4) - (new 'static 'gs-xyzf - :y (* draw-y 16) - :x (* (max 1792 (min 2304 (+ draw-x draw-w))) 16) - ) - ) - (set! - (-> (the-as (pointer gs-rgbaq) gif-buf) 5) - (the-as gs-rgbaq (-> context color 2)) - ) - (set! - (-> (the-as (pointer gs-xyzf) gif-buf) 6) - (new 'static 'gs-xyzf - :y (* (max (min (+ draw-y draw-h) (-> *video-parms* screen-maxy)) (-> *video-parms* screen-miny)) 16) - :x (* draw-x 16) - ) - ) - (set! - (-> (the-as (pointer gs-rgbaq) gif-buf) 7) - (the-as gs-rgbaq (-> context color 3)) - ) - (set! - (-> (the-as (pointer gs-xyzf) gif-buf) 8) - (new 'static 'gs-xyzf - :y (* (max (min (+ draw-y draw-h) (-> *video-parms* screen-maxy)) (-> *video-parms* screen-miny)) 16) - :x (* (max 1792 (min 2304 (+ draw-x draw-w))) 16) - ) - ) - (set! (-> (the-as (pointer uint64) gif-buf) 9) (the-as uint 0)) - (set! (-> t0-2 base) (&+ gif-buf 80)) - ) - (let - ((total-qwc - (/ - (the-as int (+ (- -16 (the-as int end-dma)) (the-as int (-> buf base)))) - 16 - ) - ) - ) - (cond - ((nonzero? total-qwc) - (logior! - (-> (the-as (pointer dma-tag) end-dma) 0) - (new 'static 'dma-tag :qwc total-qwc) - ) - (logior! - (-> (the-as (pointer dma-tag) end-dma) 1) - (shl (shr (shl total-qwc 48) 48) 32) - ) - ) - (else - (set! (-> buf base) end-dma) - ) - ) - ) - ) (none) ) ;; definition for function screen-gradient -(defun - screen-gradient - ((arg0 dma-buffer) (arg1 rgba) (arg2 rgba) (arg3 rgba) (arg4 rgba)) +(defun screen-gradient ((arg0 dma-buffer) (arg1 rgba) (arg2 rgba) (arg3 rgba) (arg4 rgba)) (let ((a1-2 (new 'stack 'draw-context 0 0 512 224 (new 'static 'rgba)))) - (set! (-> a1-2 color 0) arg1) - (set! (-> a1-2 color 1) arg2) - (set! (-> a1-2 color 2) arg3) - (set! (-> a1-2 color 3) arg4) - (draw-quad2d arg0 a1-2) - ) + (set! (-> a1-2 color 0) arg1) + (set! (-> a1-2 color 1) arg2) + (set! (-> a1-2 color 2) arg3) + (set! (-> a1-2 color 3) arg4) + (draw-quad2d arg0 a1-2) + ) (none) ) @@ -772,10 +537,10 @@ ;; failed to figure out what this is: (install-handler 5 (if *debug-segment* - vif1-handler-debug - vif1-handler - ) - ) + vif1-handler-debug + vif1-handler + ) + ) ;; failed to figure out what this is: (when #f @@ -788,178 +553,134 @@ (define *oddeven* 0) ;; definition for function set-display-gs-state -(defun - set-display-gs-state - ((dma-buf dma-buffer) (fbp int) (scx int) (scy int) (fb-msk int) (psm int)) +(defun set-display-gs-state ((dma-buf dma-buffer) (fbp int) (scx int) (scy int) (fb-msk int) (psm int)) (let ((fbw (/ (+ scx 63) 64))) - (let* ((v1-1 dma-buf) - (dma (the-as dma-packet (-> v1-1 base))) - ) - (set! (-> dma dma) (new 'static 'dma-tag :qwc #x8 :id (dma-tag-id cnt))) - (set! (-> dma vif0) (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1)) - (set! - (-> dma vif1) - (new 'static 'vif-tag :imm #x8 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-1 base) (&+ (the-as pointer dma) 16)) - ) - (let* ((v1-2 dma-buf) - (gif (the-as gs-gif-tag (-> v1-2 base))) - ) - (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x7)) - (set! - (-> gif regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) + (let* ((v1-1 dma-buf) + (dma (the-as dma-packet (-> v1-1 base))) + ) + (set! (-> dma dma) (new 'static 'dma-tag :qwc #x8 :id (dma-tag-id cnt))) + (set! (-> dma vif0) (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1)) + (set! (-> dma vif1) (new 'static 'vif-tag :imm #x8 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-1 base) (&+ (the-as pointer dma) 16)) + ) + (let* ((v1-2 dma-buf) + (gif (the-as gs-gif-tag (-> v1-2 base))) + ) + (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x7)) + (set! (-> gif regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-2 base) (&+ (the-as pointer gif) 16)) + ) + (let* ((v1-3 dma-buf) + (gif-buf (-> v1-3 base)) + ) + (set! (-> (the-as (pointer gs-scissor) gif-buf) 0) + (new 'static 'gs-scissor :scax1 (+ scx -1) :scay1 (+ scy -1)) + ) + (set! (-> (the-as (pointer gs-reg64) gif-buf) 1) (gs-reg64 scissor-1)) + (set! (-> (the-as (pointer gs-xy-offset) gif-buf) 2) (new 'static 'gs-xy-offset)) + (set! (-> (the-as (pointer gs-reg64) gif-buf) 3) (gs-reg64 xyoffset-1)) + (set! (-> (the-as (pointer gs-frame) gif-buf) 4) + (new 'static 'gs-frame :fbp fbp :fbw fbw :psm psm :fbmsk fb-msk) + ) + (set! (-> (the-as (pointer gs-reg64) gif-buf) 5) (gs-reg64 frame-1)) + (set! (-> (the-as (pointer gs-test) gif-buf) 6) (new 'static 'gs-test :zte #x1 :ztst (gs-ztest always))) + (set! (-> (the-as (pointer gs-reg64) gif-buf) 7) (gs-reg64 test-1)) + (set! (-> (the-as (pointer gs-texa) gif-buf) 8) (new 'static 'gs-texa :ta0 #x80 :ta1 #x80)) + (set! (-> (the-as (pointer gs-reg64) gif-buf) 9) (gs-reg64 texa)) + (set! (-> (the-as (pointer gs-zbuf) gif-buf) 10) + (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24) :zmsk #x1) + ) + (set! (-> (the-as (pointer gs-reg64) gif-buf) 11) (gs-reg64 zbuf-1)) + (set! (-> (the-as (pointer uint64) gif-buf) 12) (the-as uint 0)) + (set! (-> (the-as (pointer gs-reg64) gif-buf) 13) (gs-reg64 texflush)) + (set! (-> v1-3 base) (&+ gif-buf 112)) ) - ) - (set! (-> v1-2 base) (&+ (the-as pointer gif) 16)) ) - (let* ((v1-3 dma-buf) - (gif-buf (-> v1-3 base)) - ) - (set! - (-> (the-as (pointer gs-scissor) gif-buf) 0) - (new 'static 'gs-scissor :scax1 (+ scx -1) :scay1 (+ scy -1)) - ) - (set! (-> (the-as (pointer gs-reg64) gif-buf) 1) (gs-reg64 scissor-1)) - (set! - (-> (the-as (pointer gs-xy-offset) gif-buf) 2) - (new 'static 'gs-xy-offset) - ) - (set! (-> (the-as (pointer gs-reg64) gif-buf) 3) (gs-reg64 xyoffset-1)) - (set! - (-> (the-as (pointer gs-frame) gif-buf) 4) - (new 'static 'gs-frame :fbp fbp :fbw fbw :psm psm :fbmsk fb-msk) - ) - (set! (-> (the-as (pointer gs-reg64) gif-buf) 5) (gs-reg64 frame-1)) - (set! - (-> (the-as (pointer gs-test) gif-buf) 6) - (new 'static 'gs-test :zte #x1 :ztst (gs-ztest always)) - ) - (set! (-> (the-as (pointer gs-reg64) gif-buf) 7) (gs-reg64 test-1)) - (set! - (-> (the-as (pointer gs-texa) gif-buf) 8) - (new 'static 'gs-texa :ta0 #x80 :ta1 #x80) - ) - (set! (-> (the-as (pointer gs-reg64) gif-buf) 9) (gs-reg64 texa)) - (set! - (-> (the-as (pointer gs-zbuf) gif-buf) 10) - (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24) :zmsk #x1) - ) - (set! (-> (the-as (pointer gs-reg64) gif-buf) 11) (gs-reg64 zbuf-1)) - (set! (-> (the-as (pointer uint64) gif-buf) 12) (the-as uint 0)) - (set! (-> (the-as (pointer gs-reg64) gif-buf) 13) (gs-reg64 texflush)) - (set! (-> v1-3 base) (&+ gif-buf 112)) - ) - ) dma-buf ) ;; definition for function set-display-gs-state-offset -(defun - set-display-gs-state-offset - ((dma-buf dma-buffer) - (fbp int) - (width int) - (height int) - (fb-msk int) - (psm int) - (off-x int) - (off-y int) - ) +(defun set-display-gs-state-offset ((dma-buf dma-buffer) (fbp int) (width int) (height int) (fb-msk int) (psm int) (off-x int) (off-y int)) (let ((fbw (/ (+ width 63) 64))) - (let* ((v1-1 dma-buf) - (dma (the-as dma-packet (-> v1-1 base))) - ) - (set! (-> dma dma) (new 'static 'dma-tag :qwc #x8 :id (dma-tag-id cnt))) - (set! (-> dma vif0) (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1)) - (set! - (-> dma vif1) - (new 'static 'vif-tag :imm #x8 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-1 base) (&+ (the-as pointer dma) 16)) - ) - (let* ((v1-2 dma-buf) - (gif (the-as gs-gif-tag (-> v1-2 base))) - ) - (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x7)) - (set! - (-> gif regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) + (let* ((v1-1 dma-buf) + (dma (the-as dma-packet (-> v1-1 base))) + ) + (set! (-> dma dma) (new 'static 'dma-tag :qwc #x8 :id (dma-tag-id cnt))) + (set! (-> dma vif0) (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1)) + (set! (-> dma vif1) (new 'static 'vif-tag :imm #x8 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-1 base) (&+ (the-as pointer dma) 16)) + ) + (let* ((v1-2 dma-buf) + (gif (the-as gs-gif-tag (-> v1-2 base))) + ) + (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x7)) + (set! (-> gif regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-2 base) (&+ (the-as pointer gif) 16)) + ) + (let* ((v1-3 dma-buf) + (gif-data (the-as (pointer uint64) (-> v1-3 base))) + ) + (set! (-> (the-as (pointer gs-scissor) gif-data) 0) + (new 'static 'gs-scissor :scax1 (+ width -1) :scay1 (+ height -1)) + ) + (set! (-> (the-as (pointer gs-reg64) gif-data) 1) (gs-reg64 scissor-1)) + (set! (-> (the-as (pointer gs-xy-offset) gif-data) 2) + (new 'static 'gs-xy-offset :ofx (* off-x 16) :ofy (* off-y 16)) + ) + (set! (-> (the-as (pointer gs-reg64) gif-data) 3) (gs-reg64 xyoffset-1)) + (set! (-> (the-as (pointer gs-frame) gif-data) 4) + (new 'static 'gs-frame :fbp fbp :fbw fbw :psm psm :fbmsk fb-msk) + ) + (set! (-> (the-as (pointer gs-reg64) gif-data) 5) (gs-reg64 frame-1)) + (set! (-> (the-as (pointer gs-test) gif-data) 6) (new 'static 'gs-test :zte #x1 :ztst (gs-ztest always))) + (set! (-> (the-as (pointer gs-reg64) gif-data) 7) (gs-reg64 test-1)) + (set! (-> (the-as (pointer gs-texa) gif-data) 8) (new 'static 'gs-texa :ta0 #x80 :ta1 #x80)) + (set! (-> (the-as (pointer gs-reg64) gif-data) 9) (gs-reg64 texa)) + (set! (-> (the-as (pointer gs-zbuf) gif-data) 10) + (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24) :zmsk #x1) + ) + (set! (-> (the-as (pointer gs-reg64) gif-data) 11) (gs-reg64 zbuf-1)) + (set! (-> gif-data 12) (the-as uint 0)) + (set! (-> (the-as (pointer gs-reg64) gif-data) 13) (gs-reg64 texflush)) + (set! (-> v1-3 base) (&+ (the-as pointer gif-data) 112)) ) - ) - (set! (-> v1-2 base) (&+ (the-as pointer gif) 16)) ) - (let* ((v1-3 dma-buf) - (gif-data (the-as (pointer uint64) (-> v1-3 base))) - ) - (set! - (-> (the-as (pointer gs-scissor) gif-data) 0) - (new 'static 'gs-scissor :scax1 (+ width -1) :scay1 (+ height -1)) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 1) (gs-reg64 scissor-1)) - (set! - (-> (the-as (pointer gs-xy-offset) gif-data) 2) - (new 'static 'gs-xy-offset :ofx (* off-x 16) :ofy (* off-y 16)) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 3) (gs-reg64 xyoffset-1)) - (set! - (-> (the-as (pointer gs-frame) gif-data) 4) - (new 'static 'gs-frame :fbp fbp :fbw fbw :psm psm :fbmsk fb-msk) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 5) (gs-reg64 frame-1)) - (set! - (-> (the-as (pointer gs-test) gif-data) 6) - (new 'static 'gs-test :zte #x1 :ztst (gs-ztest always)) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 7) (gs-reg64 test-1)) - (set! - (-> (the-as (pointer gs-texa) gif-data) 8) - (new 'static 'gs-texa :ta0 #x80 :ta1 #x80) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 9) (gs-reg64 texa)) - (set! - (-> (the-as (pointer gs-zbuf) gif-data) 10) - (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24) :zmsk #x1) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 11) (gs-reg64 zbuf-1)) - (set! (-> gif-data 12) (the-as uint 0)) - (set! (-> (the-as (pointer gs-reg64) gif-data) 13) (gs-reg64 texflush)) - (set! (-> v1-3 base) (&+ (the-as pointer gif-data) 112)) - ) - ) dma-buf ) @@ -969,90 +690,63 @@ (hoff (* oddeven 8)) (fbp (-> disp frames onscreen draw frame1 fbp)) ) - (let* ((a3-1 dma-buf) - (dma (the-as dma-packet (-> a3-1 base))) - ) - (set! (-> dma dma) (new 'static 'dma-tag :qwc #x8 :id (dma-tag-id cnt))) - (set! (-> dma vif0) (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1)) - (set! - (-> dma vif1) - (new 'static 'vif-tag :imm #x8 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> a3-1 base) (&+ (the-as pointer dma) 16)) + (let* ((a3-1 dma-buf) + (dma (the-as dma-packet (-> a3-1 base))) + ) + (set! (-> dma dma) (new 'static 'dma-tag :qwc #x8 :id (dma-tag-id cnt))) + (set! (-> dma vif0) (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1)) + (set! (-> dma vif1) (new 'static 'vif-tag :imm #x8 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> a3-1 base) (&+ (the-as pointer dma) 16)) + ) + (let* ((a3-2 dma-buf) + (gif (the-as gs-gif-tag (-> a3-2 base))) + ) + (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x7)) + (set! (-> gif regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> a3-2 base) (&+ (the-as pointer gif) 16)) + ) + (let ((gif-data (the-as (pointer uint64) (-> dma-buf base)))) + (set! (-> (the-as (pointer gs-scissor) gif-data) 0) + (new 'static 'gs-scissor :scax1 #x1ff :scay1 (-> *video-parms* screen-masky)) + ) + (set! (-> (the-as (pointer gs-reg64) gif-data) 1) (gs-reg64 scissor-1)) + (set! (-> (the-as (pointer gs-xy-offset) gif-data) 2) + (new 'static 'gs-xy-offset :ofx #x7000 :ofy (+ (* (-> *video-parms* screen-miny) 16) hoff)) + ) + (set! (-> (the-as (pointer gs-reg64) gif-data) 3) (gs-reg64 xyoffset-1)) + (set! (-> (the-as (pointer gs-frame) gif-data) 4) (new 'static 'gs-frame :fbw #x8 :fbp fbp)) + (set! (-> (the-as (pointer gs-reg64) gif-data) 5) (gs-reg64 frame-1)) + (set! (-> (the-as (pointer gs-test) gif-data) 6) + (new 'static 'gs-test :atst (gs-atest not-equal) :zte #x1 :ztst (gs-ztest greater-equal)) + ) + (set! (-> (the-as (pointer gs-reg64) gif-data) 7) (gs-reg64 test-1)) + (set! (-> (the-as (pointer gs-texa) gif-data) 8) (new 'static 'gs-texa :ta1 #x80)) + (set! (-> (the-as (pointer gs-reg64) gif-data) 9) (gs-reg64 texa)) + (set! (-> (the-as (pointer gs-zbuf) gif-data) 10) (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24))) + (set! (-> (the-as (pointer gs-reg64) gif-data) 11) (gs-reg64 zbuf-1)) + (set! (-> gif-data 12) (the-as uint 0)) + (set! (-> (the-as (pointer gs-reg64) gif-data) 13) (gs-reg64 texflush)) + (set! (-> dma-buf base) (&+ (the-as pointer gif-data) 112)) + ) ) - (let* ((a3-2 dma-buf) - (gif (the-as gs-gif-tag (-> a3-2 base))) - ) - (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x7)) - (set! - (-> gif regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> a3-2 base) (&+ (the-as pointer gif) 16)) - ) - (let ((gif-data (the-as (pointer uint64) (-> dma-buf base)))) - (set! - (-> (the-as (pointer gs-scissor) gif-data) 0) - (new 'static 'gs-scissor - :scax1 #x1ff - :scay1 (-> *video-parms* screen-masky) - ) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 1) (gs-reg64 scissor-1)) - (set! - (-> (the-as (pointer gs-xy-offset) gif-data) 2) - (new 'static 'gs-xy-offset - :ofx #x7000 - :ofy (+ (* (-> *video-parms* screen-miny) 16) hoff) - ) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 3) (gs-reg64 xyoffset-1)) - (set! - (-> (the-as (pointer gs-frame) gif-data) 4) - (new 'static 'gs-frame :fbw #x8 :fbp fbp) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 5) (gs-reg64 frame-1)) - (set! - (-> (the-as (pointer gs-test) gif-data) 6) - (new 'static 'gs-test - :atst (gs-atest not-equal) - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 7) (gs-reg64 test-1)) - (set! - (-> (the-as (pointer gs-texa) gif-data) 8) - (new 'static 'gs-texa :ta1 #x80) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 9) (gs-reg64 texa)) - (set! - (-> (the-as (pointer gs-zbuf) gif-data) 10) - (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24)) - ) - (set! (-> (the-as (pointer gs-reg64) gif-data) 11) (gs-reg64 zbuf-1)) - (set! (-> gif-data 12) (the-as uint 0)) - (set! (-> (the-as (pointer gs-reg64) gif-data) 13) (gs-reg64 texflush)) - (set! (-> dma-buf base) (&+ (the-as pointer gif-data) 112)) - ) - ) disp ) diff --git a/test/decompiler/reference/engine/gfx/hw/gs_REF.gc b/test/decompiler/reference/engine/gfx/hw/gs_REF.gc index 69f629de4d..3b81fa50a3 100644 --- a/test/decompiler/reference/engine/gfx/hw/gs_REF.gc +++ b/test/decompiler/reference/engine/gfx/hw/gs_REF.gc @@ -30,95 +30,85 @@ ;; definition for function psm-size (defun psm-size ((arg0 gs-psm)) (cond - ((= arg0 (gs-psm mt8)) - 64 - ) - ((= arg0 (gs-psm mt4)) - 32 - ) - ((or - (= arg0 (gs-psm ct16)) - (= arg0 (gs-psm ct16s)) - (= arg0 (gs-psm mz16)) - (= arg0 (gs-psm mz16s)) + ((= arg0 (gs-psm mt8)) + 64 ) - 128 + ((= arg0 (gs-psm mt4)) + 32 + ) + ((or (= arg0 (gs-psm ct16)) (= arg0 (gs-psm ct16s)) (= arg0 (gs-psm mz16)) (= arg0 (gs-psm mz16s))) + 128 + ) + (else + 256 + ) ) - (else - 256 - ) - ) ) ;; definition for function psm-page-height (defun psm-page-height ((arg0 gs-psm)) (cond - ((= arg0 (gs-psm mt8)) - 64 - ) - ((= arg0 (gs-psm mt4)) - 128 - ) - ((or - (= arg0 (gs-psm ct16)) - (= arg0 (gs-psm ct16s)) - (= arg0 (gs-psm mz16)) - (= arg0 (gs-psm mz16s)) + ((= arg0 (gs-psm mt8)) + 64 ) - 64 + ((= arg0 (gs-psm mt4)) + 128 + ) + ((or (= arg0 (gs-psm ct16)) (= arg0 (gs-psm ct16s)) (= arg0 (gs-psm mz16)) (= arg0 (gs-psm mz16s))) + 64 + ) + (else + 32 + ) ) - (else - 32 - ) - ) ) ;; definition for function psm->string (defun psm->string ((arg0 gs-psm)) - (case arg0 - (((gs-psm mz16s)) + (case arg0 + (((gs-psm mz16s)) "mz16s" ) - (((gs-psm mz16)) - "mz16" + (((gs-psm mz16)) + "mz16" + ) + (((gs-psm mz24)) + "mz24" + ) + (((gs-psm mz32)) + "mz32" + ) + (((gs-psm mt4hh)) + "mt4hh" + ) + (((gs-psm mt4hl)) + "mt4hl" + ) + (((gs-psm mt8h)) + "mt8h" + ) + (((gs-psm mt4)) + "mt4" + ) + (((gs-psm mt8)) + "mt8" + ) + (((gs-psm ct16s)) + "ct16s" + ) + (((gs-psm ct16)) + "ct16" + ) + (((gs-psm ct24)) + "ct24" + ) + (((gs-psm ct32)) + "ct32" + ) + (else + "*unknown*" + ) ) - (((gs-psm mz24)) - "mz24" - ) - (((gs-psm mz32)) - "mz32" - ) - (((gs-psm mt4hh)) - "mt4hh" - ) - (((gs-psm mt4hl)) - "mt4hl" - ) - (((gs-psm mt8h)) - "mt8h" - ) - (((gs-psm mt4)) - "mt4" - ) - (((gs-psm mt8)) - "mt8" - ) - (((gs-psm ct16s)) - "ct16s" - ) - (((gs-psm ct16)) - "ct16" - ) - (((gs-psm ct24)) - "ct24" - ) - (((gs-psm ct32)) - "ct32" - ) - (else - "*unknown*" - ) - ) ) ;; definition of type gs-display-fb @@ -800,121 +790,78 @@ ;; INFO: Return type mismatch pointer vs none. (defun default-buffer-init ((buff dma-buffer)) (let ((buff-ptr buff)) - (set! (-> buff-ptr base) (-> buff-ptr data)) - (set! - (-> buff-ptr end) - (&-> buff-ptr data-buffer (-> buff-ptr allocated-length)) + (set! (-> buff-ptr base) (-> buff-ptr data)) + (set! (-> buff-ptr end) (&-> buff-ptr data-buffer (-> buff-ptr allocated-length))) ) - ) (let* ((buff-ptr2 buff) (packet (the-as dma-gif-packet (-> buff-ptr2 base))) ) - (set! - (-> packet dma-vif dma) - (new 'static 'dma-tag :qwc #xa :id (dma-tag-id cnt)) + (set! (-> packet dma-vif dma) (new 'static 'dma-tag :qwc #xa :id (dma-tag-id cnt))) + (set! (-> packet dma-vif vif0) (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1)) + (set! (-> packet dma-vif vif1) (new 'static 'vif-tag :imm #xa :cmd (vif-cmd direct) :msk #x1)) + (set! (-> buff-ptr2 base) (&+ (the-as pointer packet) 16)) ) - (set! - (-> packet dma-vif vif0) - (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1) - ) - (set! - (-> packet dma-vif vif1) - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> buff-ptr2 base) (&+ (the-as pointer packet) 16)) - ) (let* ((buff-ptr5 buff) (gif-tag (the-as gs-gif-tag (-> buff-ptr5 base))) ) - (set! - (-> gif-tag tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x9) + (set! (-> gif-tag tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x9)) + (set! (-> gif-tag regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> buff-ptr5 base) (&+ (the-as pointer gif-tag) 16)) ) - (set! - (-> gif-tag regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> buff-ptr5 base) (&+ (the-as pointer gif-tag) 16)) - ) (let* ((buff-ptr3 buff) (data (the-as (pointer uint64) (-> buff-ptr3 base))) ) - (set! - (-> (the-as (pointer gs-alpha) data) 0) - (new 'static 'gs-alpha :b #x1 :d #x1) + (set! (-> (the-as (pointer gs-alpha) data) 0) (new 'static 'gs-alpha :b #x1 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) data) 1) (gs-reg64 alpha-1)) + (set! (-> (the-as (pointer gs-zbuf) data) 2) (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24))) + (set! (-> (the-as (pointer gs-reg64) data) 3) (gs-reg64 zbuf-1)) + (set! (-> (the-as (pointer gs-test) data) 4) + (new 'static 'gs-test :atst (gs-atest not-equal) :zte #x1 :ztst (gs-ztest greater-equal)) + ) + (set! (-> (the-as (pointer gs-reg64) data) 5) (gs-reg64 test-1)) + (set! (-> data 6) (the-as uint 0)) + (set! (-> (the-as (pointer gs-reg64) data) 7) (gs-reg64 pabe)) + (set! (-> (the-as (pointer gs-clamp) data) 8) + (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)) + ) + (set! (-> (the-as (pointer gs-reg64) data) 9) (gs-reg64 clamp-1)) + (set! (-> (the-as (pointer gs-tex1) data) 10) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) + (set! (-> (the-as (pointer gs-reg64) data) 11) (gs-reg64 tex1-1)) + (set! (-> (the-as (pointer gs-texa) data) 12) (new 'static 'gs-texa :ta1 #x80)) + (set! (-> (the-as (pointer gs-reg64) data) 13) (gs-reg64 texa)) + (set! (-> (the-as (pointer gs-texclut) data) 14) (new 'static 'gs-texclut :cbw #x4)) + (set! (-> (the-as (pointer gs-reg64) data) 15) (gs-reg64 texclut)) + (set! (-> (the-as (pointer gs-fogcol) data) 16) (the-as gs-fogcol *fog-color*)) + (set! (-> (the-as (pointer gs-reg64) data) 17) (gs-reg64 fogcol)) + (set! (-> buff-ptr3 base) (&+ (the-as pointer data) 144)) ) - (set! (-> (the-as (pointer gs-reg64) data) 1) (gs-reg64 alpha-1)) - (set! - (-> (the-as (pointer gs-zbuf) data) 2) - (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24)) - ) - (set! (-> (the-as (pointer gs-reg64) data) 3) (gs-reg64 zbuf-1)) - (set! - (-> (the-as (pointer gs-test) data) 4) - (new 'static 'gs-test - :atst (gs-atest not-equal) - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - ) - (set! (-> (the-as (pointer gs-reg64) data) 5) (gs-reg64 test-1)) - (set! (-> data 6) (the-as uint 0)) - (set! (-> (the-as (pointer gs-reg64) data) 7) (gs-reg64 pabe)) - (set! - (-> (the-as (pointer gs-clamp) data) 8) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) - ) - ) - (set! (-> (the-as (pointer gs-reg64) data) 9) (gs-reg64 clamp-1)) - (set! - (-> (the-as (pointer gs-tex1) data) 10) - (new 'static 'gs-tex1 :mmag #x1 :mmin #x1) - ) - (set! (-> (the-as (pointer gs-reg64) data) 11) (gs-reg64 tex1-1)) - (set! - (-> (the-as (pointer gs-texa) data) 12) - (new 'static 'gs-texa :ta1 #x80) - ) - (set! (-> (the-as (pointer gs-reg64) data) 13) (gs-reg64 texa)) - (set! - (-> (the-as (pointer gs-texclut) data) 14) - (new 'static 'gs-texclut :cbw #x4) - ) - (set! (-> (the-as (pointer gs-reg64) data) 15) (gs-reg64 texclut)) - (set! - (-> (the-as (pointer gs-fogcol) data) 16) - (the-as gs-fogcol *fog-color*) - ) - (set! (-> (the-as (pointer gs-reg64) data) 17) (gs-reg64 fogcol)) - (set! (-> buff-ptr3 base) (&+ (the-as pointer data) 144)) - ) (let* ((buff-ptr4 buff) (ret-packet (the-as dma-packet (-> buff-ptr4 base))) ) - (set! (-> ret-packet dma) (new 'static 'dma-tag :id (dma-tag-id ret))) - (set! (-> ret-packet vif0) (new 'static 'vif-tag)) - (set! (-> ret-packet vif1) (new 'static 'vif-tag)) - (set! (-> buff-ptr4 base) (&+ (the-as pointer ret-packet) 16)) - ) + (set! (-> ret-packet dma) (new 'static 'dma-tag :id (dma-tag-id ret))) + (set! (-> ret-packet vif0) (new 'static 'vif-tag)) + (set! (-> ret-packet vif1) (new 'static 'vif-tag)) + (set! (-> buff-ptr4 base) (&+ (the-as pointer ret-packet) 16)) + ) (none) ) @@ -948,11 +895,7 @@ ;; definition for method 0 of type gif-packet (defmethod new gif-packet ((allocation symbol) (type-to-make type) (arg0 int)) - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* (+ arg0 -1) 8))) - ) + (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) (* (+ arg0 -1) 8)))) ) ;; definition for function open-gif-packet @@ -966,8 +909,8 @@ ;; INFO: Return type mismatch gif-packet vs none. (defun add-reg-gif-packet ((packet gif-packet) (reg-idx int) (reg-val int)) (let ((tag (-> packet gif-tag))) - (logior! (-> tag regs) (ash reg-idx (* (-> packet reg-count) 4))) - ) + (logior! (-> tag regs) (ash reg-idx (* (-> packet reg-count) 4))) + ) (set! (-> (&-> packet args (-> packet reg-count)) 0) (the-as uint reg-val)) (+! (-> packet reg-count) 1) (none) @@ -975,15 +918,9 @@ ;; definition for function close-gif-packet (defun close-gif-packet ((arg0 gif-packet) (arg1 int)) - (set! - (-> arg0 gif-tag tag) - (new 'static 'gif-tag64 - :nloop #x1 - :flg (gif-flag reg-list) - :eop arg1 - :nreg (-> arg0 reg-count) - ) - ) + (set! (-> arg0 gif-tag tag) + (new 'static 'gif-tag64 :nloop #x1 :flg (gif-flag reg-list) :eop arg1 :nreg (-> arg0 reg-count)) + ) arg0 ) @@ -1017,43 +954,28 @@ ) ;; definition for method 0 of type draw-context -(defmethod - new - draw-context - ((allocation symbol) - (type-to-make type) - (org-x int) - (org-y int) - (width int) - (height int) - (color-0 rgba) - ) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new draw-context ((allocation symbol) (type-to-make type) (org-x int) (org-y int) (width int) (height int) (color-0 rgba)) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (let ((v1-3 (the int (* (the float org-y) (-> *video-parms* relative-y-scale)))) + (a0-2 (the int (* (the float height) (-> *video-parms* relative-y-scale)))) + ) + (set! (-> obj orgx) org-x) + (set! (-> obj orgy) v1-3) + (set! (-> obj orgz) #xffffff) + (set! (-> obj width) width) + (set! (-> obj height) a0-2) + ) + (set! (-> obj color 0) color-0) + obj ) - (let - ((v1-3 (the int (* (the float org-y) (-> *video-parms* relative-y-scale)))) - (a0-2 (the int (* (the float height) (-> *video-parms* relative-y-scale)))) - ) - (set! (-> obj orgx) org-x) - (set! (-> obj orgy) v1-3) - (set! (-> obj orgz) #xffffff) - (set! (-> obj width) width) - (set! (-> obj height) a0-2) - ) - (set! (-> obj color 0) color-0) - obj - ) ) ;; definition for function draw-context-set-xy ;; INFO: Return type mismatch int vs none. (defun draw-context-set-xy ((ctxt draw-context) (x int) (y int)) (let ((v0-0 (the int (* (the float y) (-> *video-parms* relative-y-scale))))) - (set! (-> ctxt orgx) x) - (set! (-> ctxt orgy) v0-0) - ) + (set! (-> ctxt orgx) x) + (set! (-> ctxt orgy) v0-0) + ) (none) ) diff --git a/test/decompiler/reference/engine/gfx/hw/video-h_REF.gc b/test/decompiler/reference/engine/gfx/hw/video-h_REF.gc index fcadcd4099..bdb9c49523 100644 --- a/test/decompiler/reference/engine/gfx/hw/video-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/hw/video-h_REF.gc @@ -40,37 +40,27 @@ (format #t "~Tscreen-pages-high: ~D~%" (-> obj screen-pages-high)) (format #t "~Trelative-x-scale: ~f~%" (-> obj relative-x-scale)) (format #t "~Trelative-y-scale: ~f~%" (-> obj relative-y-scale)) - (format - #t - "~Trelative-x-scale-reciprical: ~f~%" - (-> obj relative-x-scale-reciprical) - ) - (format - #t - "~Trelative-y-scale-reciprical: ~f~%" - (-> obj relative-y-scale-reciprical) - ) + (format #t "~Trelative-x-scale-reciprical: ~f~%" (-> obj relative-x-scale-reciprical)) + (format #t "~Trelative-y-scale-reciprical: ~f~%" (-> obj relative-y-scale-reciprical)) obj ) ;; definition for symbol *video-parms*, type video-parms -(define - *video-parms* - (new 'static 'video-parms - :set-video-mode #f - :reset-video-mode #f - :screen-sy #xe0 - :screen-hy #x70 - :screen-miny #x720 - :screen-maxy #x8e0 - :screen-masky #xdf - :display-dy 8 - :screen-pages-high 7 - :relative-x-scale 1.0 - :relative-y-scale 1.0 - :relative-x-scale-reciprical 1.0 - ) - ) +(define *video-parms* (new 'static 'video-parms + :set-video-mode #f + :reset-video-mode #f + :screen-sy #xe0 + :screen-hy #x70 + :screen-miny #x720 + :screen-maxy #x8e0 + :screen-masky #xdf + :display-dy 8 + :screen-pages-high 7 + :relative-x-scale 1.0 + :relative-y-scale 1.0 + :relative-x-scale-reciprical 1.0 + ) + ) ;; failed to figure out what this is: 0 diff --git a/test/decompiler/reference/engine/gfx/hw/vu1-user-h_REF.gc b/test/decompiler/reference/engine/gfx/hw/vu1-user-h_REF.gc index cc9ff8cdef..e4261bbd0c 100644 --- a/test/decompiler/reference/engine/gfx/hw/vu1-user-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/hw/vu1-user-h_REF.gc @@ -2,29 +2,27 @@ (in-package goal) ;; definition for symbol *vu1-enable-user-menu*, type vu1-renderer-mask -(define - *vu1-enable-user-menu* - (vu1-renderer-mask - sky - ocean - ocean-wave - tfrag - tie-near - tie - generic - merc - shrubbery - shrub-near - billboard - trans-shrubbery - trans-frag - sprite - shadow - depth-cue - nineteen - twenty - ) - ) +(define *vu1-enable-user-menu* (vu1-renderer-mask + sky + ocean + ocean-wave + tfrag + tie-near + tie + generic + merc + shrubbery + shrub-near + billboard + trans-shrubbery + trans-frag + sprite + shadow + depth-cue + nineteen + twenty + ) + ) ;; definition for symbol *vu1-enable-user*, type vu1-renderer-mask (define *vu1-enable-user* (the-as vu1-renderer-mask 0)) @@ -46,16 +44,8 @@ (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tbucket: ~D~%" (-> obj bucket)) (format #t "~Tforeground-texture-page: ~D~%" (-> obj foreground-texture-page)) - (format - #t - "~Tforeground-texture-level: ~D~%" - (-> obj foreground-texture-level) - ) - (format - #t - "~Tforeground-output-bucket: ~D~%" - (-> obj foreground-output-bucket) - ) + (format #t "~Tforeground-texture-level: ~D~%" (-> obj foreground-texture-level)) + (format #t "~Tforeground-output-bucket: ~D~%" (-> obj foreground-output-bucket)) obj ) @@ -88,23 +78,12 @@ ) ;; definition for method 3 of type generic-dma-foreground-sink -(defmethod - inspect - generic-dma-foreground-sink - ((obj generic-dma-foreground-sink)) +(defmethod inspect generic-dma-foreground-sink ((obj generic-dma-foreground-sink)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tbucket: ~D~%" (-> obj bucket)) (format #t "~Tforeground-texture-page: ~D~%" (-> obj foreground-texture-page)) - (format - #t - "~Tforeground-texture-level: ~D~%" - (-> obj foreground-texture-level) - ) - (format - #t - "~Tforeground-output-bucket: ~D~%" - (-> obj foreground-output-bucket) - ) + (format #t "~Tforeground-texture-level: ~D~%" (-> obj foreground-texture-level)) + (format #t "~Tforeground-output-bucket: ~D~%" (-> obj foreground-output-bucket)) (format #t "~Tstate: #~%" (-> obj state)) obj ) diff --git a/test/decompiler/reference/engine/gfx/lights-h_REF.gc b/test/decompiler/reference/engine/gfx/lights-h_REF.gc index 8c03471149..fce6ff29f9 100644 --- a/test/decompiler/reference/engine/gfx/lights-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/lights-h_REF.gc @@ -164,21 +164,14 @@ ;; definition for method 2 of type light (defmethod print light ((obj light)) (format - #t - "# obj levels x) - (-> obj direction x) - (-> obj direction y) - (-> obj direction z) - ) - (format - #t - "~F ~F ~F @ #x~X>" - (-> obj color x) - (-> obj color y) - (-> obj color z) - obj - ) + #t + "# obj levels x) + (-> obj direction x) + (-> obj direction y) + (-> obj direction z) + ) + (format #t "~F ~F ~F @ #x~X>" (-> obj color x) (-> obj color y) (-> obj color z) obj) obj ) diff --git a/test/decompiler/reference/engine/gfx/lights_REF.gc b/test/decompiler/reference/engine/gfx/lights_REF.gc index f4df4966f6..8450aa76ef 100644 --- a/test/decompiler/reference/engine/gfx/lights_REF.gc +++ b/test/decompiler/reference/engine/gfx/lights_REF.gc @@ -4,41 +4,27 @@ ;; definition for function light-slerp (defun light-slerp ((arg0 light) (arg1 light) (arg2 light) (arg3 float)) (let ((s3-0 (fmax 0.0 (fmin 1.0 arg3)))) - (vector-lerp! (-> arg0 color) (-> arg1 color) (-> arg2 color) s3-0) - (vector-deg-slerp - (-> arg0 direction) - (-> arg1 direction) - (-> arg2 direction) - s3-0 + (vector-lerp! (-> arg0 color) (-> arg1 color) (-> arg2 color) s3-0) + (vector-deg-slerp (-> arg0 direction) (-> arg1 direction) (-> arg2 direction) s3-0) + (let ((f0-2 (-> arg1 levels x)) + (f1-2 (-> arg2 levels x)) + ) + (set! (-> arg0 levels x) (+ f0-2 (* s3-0 (- f1-2 f0-2)))) + ) ) - (let ((f0-2 (-> arg1 levels x)) - (f1-2 (-> arg2 levels x)) - ) - (set! (-> arg0 levels x) (+ f0-2 (* s3-0 (- f1-2 f0-2)))) - ) - ) arg0 ) ;; definition for function light-group-slerp -(defun - light-group-slerp - ((arg0 light-group) (arg1 light-group) (arg2 light-group) (arg3 float)) +(defun light-group-slerp ((arg0 light-group) (arg1 light-group) (arg2 light-group) (arg3 float)) (dotimes (s2-0 4) - (light-slerp - (-> arg0 lights s2-0) - (-> arg1 lights s2-0) - (-> arg2 lights s2-0) - arg3 + (light-slerp (-> arg0 lights s2-0) (-> arg1 lights s2-0) (-> arg2 lights s2-0) arg3) ) - ) arg0 ) ;; definition for function light-group-process! -(defun - light-group-process! - ((arg0 vu-lights) (arg1 light-group) (arg2 vector) (arg3 vector)) +(defun light-group-process! ((arg0 vu-lights) (arg1 light-group) (arg2 vector) (arg3 vector)) (rotate-y<-vector+vector arg3 arg2) (vu-lights<-light-group! arg0 arg1) (none) diff --git a/test/decompiler/reference/engine/gfx/merc/generic-merc-h_REF.gc b/test/decompiler/reference/engine/gfx/merc/generic-merc-h_REF.gc index 3416499f30..a93c1286bc 100644 --- a/test/decompiler/reference/engine/gfx/merc/generic-merc-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/merc/generic-merc-h_REF.gc @@ -108,11 +108,7 @@ (format #t "~Tgeo-block[1296] @ #x~X~%" (-> obj geo-block)) (format #t "~Tbyte-header: #~%" (-> obj geo-block)) (format #t "~Tmatrix[9] @ #x~X~%" (-> obj matrix)) - (format - #t - "~Tcontrol: #~%" - (-> obj control) - ) + (format #t "~Tcontrol: #~%" (-> obj control)) (format #t "~Tend-tag: #~%" (-> obj end-tag)) (format #t "~Tshader: #~%" (-> obj shader)) obj @@ -214,40 +210,16 @@ (format #t "~Tbuf-index: ~D~%" (-> obj buf-index)) (format #t "~Tfragment-count: ~D~%" (-> obj fragment-count)) (format #t "~Twrite-limit: ~D~%" (-> obj write-limit)) - (format - #t - "~Tindexed-input-base: #~%" - (-> obj indexed-input-base) - ) - (format - #t - "~Tother-input-base: #~%" - (-> obj other-input-base) - ) - (format - #t - "~Tindexed-output-base: #~%" - (-> obj indexed-output-base) - ) - (format - #t - "~Tother-output-base: #~%" - (-> obj other-output-base) - ) + (format #t "~Tindexed-input-base: #~%" (-> obj indexed-input-base)) + (format #t "~Tother-input-base: #~%" (-> obj other-input-base)) + (format #t "~Tindexed-output-base: #~%" (-> obj indexed-output-base)) + (format #t "~Tother-output-base: #~%" (-> obj other-output-base)) (format #t "~Tp-input: #x~X~%" (-> obj p-input)) (format #t "~Tgsf-buf: #~%" (-> obj gsf-buf)) (format #t "~Tp-fheader: #~%" (-> obj p-fheader)) (format #t "~Tmercneric-convert: ~A~%" (-> obj mercneric-convert)) - (format - #t - "~Tgeneric-prepare-dma-single: ~A~%" - (-> obj generic-prepare-dma-single) - ) - (format - #t - "~Tgeneric-prepare-dma-double: ~A~%" - (-> obj generic-prepare-dma-double) - ) + (format #t "~Tgeneric-prepare-dma-single: ~A~%" (-> obj generic-prepare-dma-single)) + (format #t "~Tgeneric-prepare-dma-double: ~A~%" (-> obj generic-prepare-dma-double)) (format #t "~Tgeneric-light-proc: ~A~%" (-> obj generic-light-proc)) (format #t "~Tgeneric-envmap-proc: ~A~%" (-> obj generic-envmap-proc)) (format #t "~Thigh-speed-reject: ~A~%" (-> obj high-speed-reject)) diff --git a/test/decompiler/reference/engine/gfx/merc/merc-death_REF.gc b/test/decompiler/reference/engine/gfx/merc/merc-death_REF.gc index cf979484cd..181c3dc566 100644 --- a/test/decompiler/reference/engine/gfx/merc/merc-death_REF.gc +++ b/test/decompiler/reference/engine/gfx/merc/merc-death_REF.gc @@ -38,123 +38,86 @@ ;; definition for symbol death-beach-puppy, type death-info (define death-beach-puppy - (new 'static 'death-info - :vertex-skip #x82 - :timer #x4b - :overlap #x4 - :effect #x29 - :sound 'temp-enemy-die - ) + (new 'static 'death-info :vertex-skip #x82 :timer #x4b :overlap #x4 :effect #x29 :sound 'temp-enemy-die) ) ;; definition for symbol death-jungle-snake, type death-info (define death-jungle-snake - (new 'static 'death-info - :vertex-skip #xa - :timer #x4b - :overlap #x4 - :effect #x29 - :sound 'temp-enemy-die - ) + (new 'static 'death-info :vertex-skip #xa :timer #x4b :overlap #x4 :effect #x29 :sound 'temp-enemy-die) ) ;; definition for symbol death-default, type death-info (define death-default - (new 'static 'death-info - :vertex-skip #x50 - :timer #x4b - :overlap #x4 - :effect #x29 - :sound 'temp-enemy-die - ) + (new 'static 'death-info :vertex-skip #x50 :timer #x4b :overlap #x4 :effect #x29 :sound 'temp-enemy-die) ) ;; definition for symbol death-warp-in, type death-info (define death-warp-in - (new 'static 'death-info - :vertex-skip #x96 - :timer #x4b - :effect #x29 - :sound 'warpgate-tele - ) + (new 'static 'death-info :vertex-skip #x96 :timer #x4b :effect #x29 :sound 'warpgate-tele) ) ;; definition for symbol death-warp-out, type death-info (define death-warp-out - (new 'static 'death-info - :vertex-skip #x96 - :timer #x96 - :effect #x29 - :sound 'warpgate-tele - ) + (new 'static 'death-info :vertex-skip #x96 :timer #x96 :effect #x29 :sound 'warpgate-tele) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 41) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 16.0 32.0 1.0) - (sp-rnd-flt spt-b 48.0 32.0 1.0) - (sp-rnd-flt spt-a 48.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-flt spt-scalevel-y (meters 0.02)) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2 bit3 bit12) - (sp-int-plain-rnd spt-next-time 15 59 1) - (sp-launcher-by-id spt-next-launcher 42) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 41) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 16.0 32.0 1.0) + (sp-rnd-flt spt-b 48.0 32.0 1.0) + (sp-rnd-flt spt-a 48.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-flt spt-scalevel-y (meters 0.02)) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2 bit3 bit12) + (sp-int-plain-rnd spt-next-time 15 59 1) + (sp-launcher-by-id spt-next-launcher 42) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 42) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-a -1.4222223) - (sp-int spt-timer 45) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 43) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 42) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-a -1.4222223) + (sp-int spt-timer 45) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 43) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 43) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-flt spt-fade-a -0.21333334) - (sp-int-plain-rnd spt-timer 0 296 1) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 43) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-flt spt-fade-a -0.21333334) + (sp-int-plain-rnd spt-timer 0 296 1) + (sp-end) + ) + ) + ) ;; definition for function merc-death-spawn ;; INFO: Return type mismatch int vs none. (defun merc-death-spawn ((arg0 int) (arg1 vector) (arg2 vector)) (let ((v1-2 (-> *part-id-table* arg0))) - (if (and (nonzero? v1-2) (= (-> v1-2 type) sparticle-launcher)) - (sp-launch-particles-death *sp-particle-system-2d* v1-2 arg1) + (if (and (nonzero? v1-2) (= (-> v1-2 type) sparticle-launcher)) + (sp-launch-particles-death *sp-particle-system-2d* v1-2 arg1) + ) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/gfx/merc/merc-h_REF.gc b/test/decompiler/reference/engine/gfx/merc/merc-h_REF.gc index 57d07b34ee..7b74d9a496 100644 --- a/test/decompiler/reference/engine/gfx/merc/merc-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/merc/merc-h_REF.gc @@ -162,10 +162,7 @@ ;; definition for function merc-fragment-fp-data ;; INFO: Return type mismatch int vs merc-fp-header. (defun merc-fragment-fp-data ((arg0 merc-fragment)) - (the-as - merc-fp-header - (+ (the-as uint arg0) (* (-> arg0 header mm-quadword-fp-off) 16)) - ) + (the-as merc-fp-header (+ (the-as uint arg0) (* (-> arg0 header mm-quadword-fp-off) 16))) ) ;; definition of type merc-mat-dest @@ -373,11 +370,7 @@ (defmethod inspect merc-effect ((obj merc-effect)) (format #t "[~8x] ~A~%" obj 'merc-effect) (format #t "~Tfrag-geo: #~%" (-> obj frag-geo)) - (format - #t - "~Tfrag-ctrl: #~%" - (-> obj frag-ctrl) - ) + (format #t "~Tfrag-ctrl: #~%" (-> obj frag-ctrl)) (format #t "~Tblend-data: #~%" (-> obj blend-data)) (format #t "~Tblend-ctrl: #~%" (-> obj blend-ctrl)) (format #t "~Tdummy0: ~D~%" (-> obj dummy0)) @@ -700,22 +693,18 @@ ;; definition for method 0 of type ripple-control (defmethod new ripple-control ((allocation symbol) (type-to-make type)) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj global-scale) 0.0) + (set! (-> obj last-frame-scale) -0.001) + (set! (-> obj close-fade-dist) 4096000000.0) + (set! (-> obj far-fade-dist) 8192000000.0) + (set! (-> obj faded-scale) -0.001) + (set! (-> obj waveform) #f) + (set! (-> obj individual-normal-scale) 1.0) + (set! (-> obj send-query) #f) + (set! (-> obj query) #f) + obj ) - (set! (-> obj global-scale) 0.0) - (set! (-> obj last-frame-scale) -0.001) - (set! (-> obj close-fade-dist) 4096000000.0) - (set! (-> obj far-fade-dist) 8192000000.0) - (set! (-> obj faded-scale) -0.001) - (set! (-> obj waveform) #f) - (set! (-> obj individual-normal-scale) 1.0) - (set! (-> obj send-query) #f) - (set! (-> obj query) #f) - obj - ) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/engine/gfx/merc/merc_REF.gc b/test/decompiler/reference/engine/gfx/merc/merc_REF.gc index 9a301255e1..1dceac84c0 100644 --- a/test/decompiler/reference/engine/gfx/merc/merc_REF.gc +++ b/test/decompiler/reference/engine/gfx/merc/merc_REF.gc @@ -15,75 +15,57 @@ (defmethod login-adgifs merc-fragment ((obj merc-fragment)) (let* ((fp-data (merc-fragment-fp-data obj)) (eye-ctrl (if (nonzero? (-> *merc-ctrl-header* eye-ctrl)) - (-> *merc-ctrl-header* eye-ctrl) - (the-as merc-eye-ctrl #f) - ) - ) + (-> *merc-ctrl-header* eye-ctrl) + (the-as merc-eye-ctrl #f) + ) + ) (shader (the-as adgif-shader (&+ fp-data 16))) ) - (dotimes (s2-0 (the-as int (-> fp-data shader-cnt))) - (cond - ((and - eye-ctrl - (= (logand (the-as texture-id -256) (-> shader texture-id)) #x1cf06f00) - ) - (adgif-shader-login shader) - (let ((eye-tex-block (get-eye-block (-> eye-ctrl eye-slot) 0))) - (set! (-> shader tex0 tbp0) eye-tex-block) - ) - (set! (-> shader tex0 tw) 5) - (set! (-> shader tex0 th) 5) - (set! (-> shader tex0 tcc) 1) - (set! (-> shader tex0 tbw) 1) - (set! (-> shader tex0 psm) 0) - (set! (-> shader tex1 mxl) 0) - (set! - (-> shader clamp) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) - :maxu #x1f - :maxv #x1f - ) - ) - ) - ((and - eye-ctrl - (= (logand (the-as texture-id -256) (-> shader texture-id)) #x1cf07000) - ) - (adgif-shader-login shader) - (let ((eye-tex-block-2 (get-eye-block (-> eye-ctrl eye-slot) 1))) - (set! (-> shader tex0 tbp0) eye-tex-block-2) - ) - (set! (-> shader tex0 tw) 5) - (set! (-> shader tex0 th) 5) - (set! (-> shader tex0 tcc) 1) - (set! (-> shader tex0 tbw) 1) - (set! (-> shader tex0 psm) 0) - (set! (-> shader tex1 mxl) 0) - (set! - (-> shader clamp) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) - :maxu #x1f - :maxv #x1f - ) - ) - ) - (else - (let ((tex (adgif-shader-login shader))) - (when tex - (dotimes (seg 3) - (logior! (-> *merc-ctrl-header* masks seg) (-> tex masks seg)) + (dotimes (s2-0 (the-as int (-> fp-data shader-cnt))) + (cond + ((and eye-ctrl (= (logand (the-as texture-id -256) (-> shader texture-id)) #x1cf06f00)) + (adgif-shader-login shader) + (let ((eye-tex-block (get-eye-block (-> eye-ctrl eye-slot) 0))) + (set! (-> shader tex0 tbp0) eye-tex-block) + ) + (set! (-> shader tex0 tw) 5) + (set! (-> shader tex0 th) 5) + (set! (-> shader tex0 tcc) 1) + (set! (-> shader tex0 tbw) 1) + (set! (-> shader tex0 psm) 0) + (set! (-> shader tex1 mxl) 0) + (set! (-> shader clamp) + (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp) :maxu #x1f :maxv #x1f) + ) ) + ((and eye-ctrl (= (logand (the-as texture-id -256) (-> shader texture-id)) #x1cf07000)) + (adgif-shader-login shader) + (let ((eye-tex-block-2 (get-eye-block (-> eye-ctrl eye-slot) 1))) + (set! (-> shader tex0 tbp0) eye-tex-block-2) + ) + (set! (-> shader tex0 tw) 5) + (set! (-> shader tex0 th) 5) + (set! (-> shader tex0 tcc) 1) + (set! (-> shader tex0 tbw) 1) + (set! (-> shader tex0 psm) 0) + (set! (-> shader tex1 mxl) 0) + (set! (-> shader clamp) + (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp) :maxu #x1f :maxv #x1f) + ) + ) + (else + (let ((tex (adgif-shader-login shader))) + (when tex + (dotimes (seg 3) + (logior! (-> *merc-ctrl-header* masks seg) (-> tex masks seg)) + ) + ) + ) + ) ) - ) + (&+! shader 80) ) - ) - (&+! shader 80) ) - ) (none) ) @@ -102,14 +84,10 @@ (format #t "~Tfp-qwc: ~D~%" (-> obj fp-qwc)) (format #t "~Tmat-xfer-count: ~D~%" (-> obj mat-xfer-count)) (dotimes (s5-0 (the-as int (-> obj mat-xfer-count))) - (format #t "~Tmat-dest-data[~d]:~%" s5-0) - (format - #t - "~T~Tmatrix-number: ~D~%" - (-> obj mat-dest-data s5-0 matrix-number) + (format #t "~Tmat-dest-data[~d]:~%" s5-0) + (format #t "~T~Tmatrix-number: ~D~%" (-> obj mat-dest-data s5-0 matrix-number)) + (format #t "~T~Tmatrix-dest: ~D~%" (-> obj mat-dest-data s5-0 matrix-dest)) ) - (format #t "~T~Tmatrix-dest: ~D~%" (-> obj mat-dest-data s5-0 matrix-dest)) - ) obj ) @@ -117,43 +95,31 @@ ;; INFO: Return type mismatch merc-effect vs none. (defmethod login-adgifs merc-effect ((obj merc-effect)) (let ((data (-> obj extra-info))) - (when (nonzero? data) - (when (nonzero? (-> data shader-offset)) - (let - ((tex - (adgif-shader-login - (the-as - adgif-shader - (+ (the-as uint data) (* (-> data shader-offset) 16)) + (when (nonzero? data) + (when (nonzero? (-> data shader-offset)) + (let ((tex (adgif-shader-login (the-as adgif-shader (+ (the-as uint data) (* (-> data shader-offset) 16)))))) + (when tex + (dotimes (seg 3) + (logior! (-> *merc-ctrl-header* masks seg) (-> tex masks seg)) + ) + ) ) - ) ) - ) - (when tex - (dotimes (seg 3) - (logior! (-> *merc-ctrl-header* masks seg) (-> tex masks seg)) - ) - ) ) - ) ) - ) (let ((ctrl (-> obj frag-ctrl)) (geo (-> obj frag-geo)) ) - (dotimes (frag-idx (the-as int (-> obj frag-count))) - (let ((ctrl-size (asize-of ctrl))) - (let ((geo-size (asize-of geo))) - (login-adgifs geo) - (set! geo (the-as merc-fragment (&+ (the-as pointer geo) geo-size))) + (dotimes (frag-idx (the-as int (-> obj frag-count))) + (let ((ctrl-size (asize-of ctrl))) + (let ((geo-size (asize-of geo))) + (login-adgifs geo) + (set! geo (the-as merc-fragment (&+ (the-as pointer geo) geo-size))) + ) + (set! ctrl (the-as merc-fragment-control (&+ (the-as pointer ctrl) ctrl-size))) + ) ) - (set! - ctrl - (the-as merc-fragment-control (&+ (the-as pointer ctrl) ctrl-size)) - ) - ) ) - ) (none) ) @@ -167,109 +133,74 @@ (format #t "~Textra: ~A~%" (-> obj extra)) (inspect (-> obj header)) (dotimes (s5-0 (the-as int (-> obj header effect-count))) - (inspect (-> obj effect s5-0)) - ) + (inspect (-> obj effect s5-0)) + ) obj ) ;; definition for method 8 of type merc-ctrl -(defmethod - mem-usage - merc-ctrl - ((obj merc-ctrl) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage merc-ctrl ((obj merc-ctrl) (arg0 memory-usage-block) (arg1 int)) (if (-> obj extra) - (mem-usage (-> obj extra) arg0 arg1) - ) + (mem-usage (-> obj extra) arg0 arg1) + ) (let ((ctrl-mem (+ 32 80 (* (-> obj header effect-count) 32)))) - (dotimes (effect-idx (the-as int (-> obj header effect-count))) - (let ((fctrl (-> obj effect effect-idx frag-ctrl))) - (dotimes (frag-idx (the-as int (-> obj effect effect-idx frag-count))) - (set! - ctrl-mem - (+ - ctrl-mem - (* (shr (+ (-> fctrl unsigned-four-count) 3) 2) 16) - (* (shr (+ (-> fctrl lump-four-count) 3) 2) 16) - (* (-> fctrl fp-qwc) 16) - (asize-of fctrl) - ) - ) - (set! - fctrl - (the-as - merc-fragment-control - (&+ (the-as pointer fctrl) (asize-of fctrl)) - ) - ) - ) - ) - ) - (set! (-> arg0 length) (max 76 (-> arg0 length))) - (set! (-> arg0 data 75 name) "merc-ctrl") - (+! (-> arg0 data 75 count) 1) - (+! (-> arg0 data 75 used) ctrl-mem) - (+! (-> arg0 data 75 total) (logand -16 (+ ctrl-mem 15))) - ) - (let ((effect-mem 0)) - (dotimes (effect-idx2 (the-as int (-> obj header effect-count))) - (when (nonzero? (-> obj effect effect-idx2 blend-frag-count)) - (let ((bctrl (-> obj effect effect-idx2 blend-ctrl))) - (dotimes - (blend-frag-idx - (the-as int (-> obj effect effect-idx2 blend-frag-count)) - ) - (let - ((v1-36 - (+ - effect-mem - (* - (+ (-> bctrl nonzero-index-count) 1) - (the-as - uint - (logand - (+ (* (the-as uint 6) (-> bctrl blend-vtx-count)) 15) - #xfff0 - ) - ) - ) - ) + (dotimes (effect-idx (the-as int (-> obj header effect-count))) + (let ((fctrl (-> obj effect effect-idx frag-ctrl))) + (dotimes (frag-idx (the-as int (-> obj effect effect-idx frag-count))) + (set! ctrl-mem (+ ctrl-mem + (* (shr (+ (-> fctrl unsigned-four-count) 3) 2) 16) + (* (shr (+ (-> fctrl lump-four-count) 3) 2) 16) + (* (-> fctrl fp-qwc) 16) + (asize-of fctrl) + ) + ) + (set! fctrl (the-as merc-fragment-control (&+ (the-as pointer fctrl) (asize-of fctrl)))) ) - ) - (set! - effect-mem - (the-as int (+ (-> obj header blend-target-count) 2 v1-36)) - ) ) - (set! - bctrl - (the-as - merc-blend-ctrl - (&+ (the-as pointer bctrl) (+ (-> obj header blend-target-count) 2)) - ) - ) - ) ) - ) + (set! (-> arg0 length) (max 76 (-> arg0 length))) + (set! (-> arg0 data 75 name) "merc-ctrl") + (+! (-> arg0 data 75 count) 1) + (+! (-> arg0 data 75 used) ctrl-mem) + (+! (-> arg0 data 75 total) (logand -16 (+ ctrl-mem 15))) ) - (when (nonzero? effect-mem) - (set! (-> arg0 length) (max 78 (-> arg0 length))) - (set! (-> arg0 data 77 name) "blend-shape") - (+! (-> arg0 data 77 count) 1) - (+! (-> arg0 data 77 used) effect-mem) - (+! (-> arg0 data 77 total) (logand -16 (+ effect-mem 15))) + (let ((effect-mem 0)) + (dotimes (effect-idx2 (the-as int (-> obj header effect-count))) + (when (nonzero? (-> obj effect effect-idx2 blend-frag-count)) + (let ((bctrl (-> obj effect effect-idx2 blend-ctrl))) + (dotimes (blend-frag-idx (the-as int (-> obj effect effect-idx2 blend-frag-count))) + (let ((v1-36 (+ effect-mem (* (+ (-> bctrl nonzero-index-count) 1) + (the-as uint (logand (+ (* (the-as uint 6) (-> bctrl blend-vtx-count)) 15) #xfff0)) + ) + ) + ) + ) + (set! effect-mem (the-as int (+ (-> obj header blend-target-count) 2 v1-36))) + ) + (set! bctrl (the-as merc-blend-ctrl (&+ (the-as pointer bctrl) (+ (-> obj header blend-target-count) 2)))) + ) + ) + ) + ) + (when (nonzero? effect-mem) + (set! (-> arg0 length) (max 78 (-> arg0 length))) + (set! (-> arg0 data 77 name) "blend-shape") + (+! (-> arg0 data 77 count) 1) + (+! (-> arg0 data 77 used) effect-mem) + (+! (-> arg0 data 77 total) (logand -16 (+ effect-mem 15))) + ) ) - ) (when (nonzero? (-> obj header eye-ctrl)) - (let ((a0-28 (-> obj header eye-ctrl))) - (set! (-> arg0 length) (max 109 (-> arg0 length))) - (set! (-> arg0 data 108 name) "eye-anim") - (+! (-> arg0 data 108 count) 1) - (let ((v1-47 (asize-of a0-28))) - (+! (-> arg0 data 108 used) v1-47) - (+! (-> arg0 data 108 total) (logand -16 (+ v1-47 15))) - ) + (let ((a0-28 (-> obj header eye-ctrl))) + (set! (-> arg0 length) (max 109 (-> arg0 length))) + (set! (-> arg0 data 108 name) "eye-anim") + (+! (-> arg0 data 108 count) 1) + (let ((v1-47 (asize-of a0-28))) + (+! (-> arg0 data 108 used) v1-47) + (+! (-> arg0 data 108 total) (logand -16 (+ v1-47 15))) + ) + ) ) - ) obj ) @@ -277,52 +208,52 @@ (defmethod login merc-ctrl ((obj merc-ctrl)) (set! *merc-ctrl-header* (-> obj header)) (dotimes (v1-1 3) - (set! (-> *merc-ctrl-header* masks v1-1) (the-as uint 0)) - ) + (set! (-> *merc-ctrl-header* masks v1-1) (the-as uint 0)) + ) (dotimes (effect-idx (the-as int (-> obj header effect-count))) - (login-adgifs (-> obj effect effect-idx)) - ) + (login-adgifs (-> obj effect effect-idx)) + ) (let ((idx-with-bit1 -1) (a1-1 (-> obj header effect-count)) ) - (dotimes (v1-11 (the-as int a1-1)) - (if (logtest? (-> obj effect v1-11 effect-bits) 2) - (set! idx-with-bit1 v1-11) - ) - ) - (when (!= idx-with-bit1 -1) - (let ((v1-16 4) - (this-effect (-> obj effect idx-with-bit1)) - (last-effect (-> obj effect (+ a1-1 -1))) + (dotimes (v1-11 (the-as int a1-1)) + (if (logtest? (-> obj effect v1-11 effect-bits) 2) + (set! idx-with-bit1 v1-11) ) - (dotimes (copy-idx v1-16) - (let ((a3-2 (-> this-effect data copy-idx))) - (set! (-> this-effect data copy-idx) (-> last-effect data copy-idx)) - (set! (-> last-effect data copy-idx) a3-2) - ) ) - ) - ) - ) - (cond - ((zero? (logand -65536 (the-as int (-> obj header eye-ctrl)))) - (set! (-> obj header eye-ctrl) (the-as merc-eye-ctrl 0)) - 0 - ) - (else - (let ((s5-1 (-> obj header eye-ctrl))) - (dotimes (s4-0 3) - (let ((v1-25 (adgif-shader-login (-> s5-1 shader s4-0)))) - (when v1-25 - (dotimes (a0-11 3) - (logior! (-> *merc-ctrl-header* masks a0-11) (-> v1-25 masks a0-11)) - ) + (when (!= idx-with-bit1 -1) + (let ((v1-16 4) + (this-effect (-> obj effect idx-with-bit1)) + (last-effect (-> obj effect (+ a1-1 -1))) + ) + (dotimes (copy-idx v1-16) + (let ((a3-2 (-> this-effect data copy-idx))) + (set! (-> this-effect data copy-idx) (-> last-effect data copy-idx)) + (set! (-> last-effect data copy-idx) a3-2) + ) + ) + ) + ) + ) + (cond + ((zero? (logand -65536 (the-as int (-> obj header eye-ctrl)))) + (set! (-> obj header eye-ctrl) (the-as merc-eye-ctrl 0)) + 0 + ) + (else + (let ((s5-1 (-> obj header eye-ctrl))) + (dotimes (s4-0 3) + (let ((v1-25 (adgif-shader-login (-> s5-1 shader s4-0)))) + (when v1-25 + (dotimes (a0-11 3) + (logior! (-> *merc-ctrl-header* masks a0-11) (-> v1-25 masks a0-11)) + ) + ) + ) + ) ) - ) ) - ) ) - ) obj ) @@ -333,41 +264,41 @@ (let ((s5-0 (-> arg0 header st-int-scale)) (s4-0 (ash 1 (- 12 (the-as int (-> arg0 header st-int-scale))))) ) - (format #t " ST ~3D, " s4-0) - (cond - ((>= s5-0 (the-as uint 5)) - (format #t "RANGE ~D+," (/ 128 s4-0)) - ) - ((= s5-0 4) - (format #t "RANGE 0.5+,") - ) + (format #t " ST ~3D, " s4-0) + (cond + ((>= s5-0 (the-as uint 5)) + (format #t "RANGE ~D+," (/ 128 s4-0)) + ) + ((= s5-0 4) + (format #t "RANGE 0.5+,") + ) + ) ) - ) (dotimes (s5-1 (the-as int (-> arg0 header effect-count))) - (let ((s3-0 (-> arg0 effect s5-1))) - (if (nonzero? s5-1) - (format #t "~48s " " ") - ) - (let ((a2-4 (-> s3-0 frag-count)) - (s4-1 (-> s3-0 tri-count)) - (f30-0 (the float (-> s3-0 frag-count))) - (f28-0 (the float (-> s3-0 dvert-count))) - (f26-0 (the float (-> s3-0 tri-count))) + (let ((s3-0 (-> arg0 effect s5-1))) + (if (nonzero? s5-1) + (format #t "~48s " " ") ) - (if (>= (/ (+ 50.0 f28-0) f30-0) 50.0) - (format #t "~3D frags, ~2,,1f dverts/frag " a2-4 (/ f28-0 f30-0)) - (format #t "~3D frags, ~2,,1f ******/**** " a2-4 (/ f28-0 f30-0)) + (let ((a2-4 (-> s3-0 frag-count)) + (s4-1 (-> s3-0 tri-count)) + (f30-0 (the float (-> s3-0 frag-count))) + (f28-0 (the float (-> s3-0 dvert-count))) + (f26-0 (the float (-> s3-0 tri-count))) + ) + (if (>= (/ (+ 50.0 f28-0) f30-0) 50.0) + (format #t "~3D frags, ~2,,1f dverts/frag " a2-4 (/ f28-0 f30-0)) + (format #t "~3D frags, ~2,,1f ******/**** " a2-4 (/ f28-0 f30-0)) + ) + (format + #t + "(~4D tris, striplen ~2,,2f, ~2,,1f tris/frag)~%" + s4-1 + (/ (* 2.0 f26-0) (- f28-0 f26-0)) + (/ f26-0 f30-0) + ) + ) ) - (format - #t - "(~4D tris, striplen ~2,,2f, ~2,,1f tris/frag)~%" - s4-1 - (/ (* 2.0 f26-0) (- f28-0 f26-0)) - (/ f26-0 f30-0) - ) - ) ) - ) (none) ) @@ -375,28 +306,27 @@ ;; INFO: Return type mismatch int vs none. (defun-debug merc-stats () (dotimes (gp-0 3) - (let ((s5-0 (-> *level* level gp-0 art-group))) - (when (nonzero? s5-0) - (dotimes (s4-0 (-> s5-0 art-group-array length)) - (let ((s3-0 (-> s5-0 art-group-array s4-0))) - (dotimes (s2-0 (-> s3-0 length)) - (let* ((s1-0 (-> s3-0 data s2-0)) - (a0-3 - (if (and (nonzero? s1-0) (type-type? (-> s1-0 type) merc-ctrl)) - s1-0 - ) + (let ((s5-0 (-> *level* level gp-0 art-group))) + (when (nonzero? s5-0) + (dotimes (s4-0 (-> s5-0 art-group-array length)) + (let ((s3-0 (-> s5-0 art-group-array s4-0))) + (dotimes (s2-0 (-> s3-0 length)) + (let* ((s1-0 (-> s3-0 data s2-0)) + (a0-3 (if (and (nonzero? s1-0) (type-type? (-> s1-0 type) merc-ctrl)) + s1-0 + ) + ) + ) + (if a0-3 + (merc-stats-display (the-as merc-ctrl a0-3)) + ) ) - ) - (if a0-3 - (merc-stats-display (the-as merc-ctrl a0-3)) + ) + ) ) - ) ) - ) ) - ) ) - ) 0 (none) ) @@ -405,75 +335,52 @@ ;; INFO: Return type mismatch int vs none. (defun-debug merc-edge-stats () (dotimes (gp-0 3) - (let ((s5-0 (-> *level* level gp-0 art-group))) - (when (nonzero? s5-0) - (dotimes (s4-0 (-> s5-0 art-group-array length)) - (let ((s3-0 (-> s5-0 art-group-array s4-0))) - (dotimes (s2-0 (-> s3-0 length)) - (let* ((s1-0 (-> s3-0 data s2-0)) - (v1-10 - (if (and (nonzero? s1-0) (type-type? (-> s1-0 type) merc-ctrl)) - s1-0 - ) + (let ((s5-0 (-> *level* level gp-0 art-group))) + (when (nonzero? s5-0) + (dotimes (s4-0 (-> s5-0 art-group-array length)) + (let ((s3-0 (-> s5-0 art-group-array s4-0))) + (dotimes (s2-0 (-> s3-0 length)) + (let* ((s1-0 (-> s3-0 data s2-0)) + (v1-10 (if (and (nonzero? s1-0) (type-type? (-> s1-0 type) merc-ctrl)) + s1-0 + ) + ) + ) + (if v1-10 + (format #t "~30s: ~f~%" (-> (the-as merc-ctrl v1-10) name) (-> (the-as merc-ctrl v1-10) header longest-edge)) + ) ) - ) - (if v1-10 - (format - #t - "~30s: ~f~%" - (-> (the-as merc-ctrl v1-10) name) - (-> (the-as merc-ctrl v1-10) header longest-edge) - ) + ) + ) ) - ) ) - ) ) - ) ) - ) 0 (none) ) ;; definition for function merc-vu1-add-vu-function ;; INFO: Return type mismatch dma-packet vs dma-gif-packet. -(defun - merc-vu1-add-vu-function - ((dma dma-packet) (func vu-function) (flush-mode int)) +(defun merc-vu1-add-vu-function ((dma dma-packet) (func vu-function) (flush-mode int)) (let ((func-data (&-> func data 4)) (qwc (-> func qlength)) (dst (-> func origin)) ) - (while (> qwc 0) - (let ((qwc-this-time (min 127 qwc))) - (set! - (-> dma dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :qwc qwc-this-time - :addr (the-as int func-data) - ) + (while (> qwc 0) + (let ((qwc-this-time (min 127 qwc))) + (set! (-> dma dma) + (new 'static 'dma-tag :id (dma-tag-id ref) :qwc qwc-this-time :addr (the-as int func-data)) + ) + (set! (-> dma vif0) (new 'static 'vif-tag :cmd (if (zero? flush-mode) 16 19))) + (set! (-> dma vif1) (new 'static 'vif-tag :cmd (vif-cmd mpg) :num (* qwc-this-time 2) :imm dst)) + (&+! dma 16) + (&+! func-data (* qwc-this-time 16)) + (set! qwc (- qwc qwc-this-time)) + (+! dst (* qwc-this-time 2)) + ) ) - (set! - (-> dma vif0) - (new 'static 'vif-tag :cmd (if (zero? flush-mode) 16 19)) - ) - (set! - (-> dma vif1) - (new 'static 'vif-tag - :cmd (vif-cmd mpg) - :num (* qwc-this-time 2) - :imm dst - ) - ) - (&+! dma 16) - (&+! func-data (* qwc-this-time 16)) - (set! qwc (- qwc qwc-this-time)) - (+! dst (* qwc-this-time 2)) - ) ) - ) (the-as dma-gif-packet dma) ) @@ -481,183 +388,104 @@ ;; INFO: Return type mismatch dma-packet vs none. ;; Used lq/sq (defun merc-vu1-initialize-chain ((arg0 dma-gif-packet)) - (let - ((gp-0 - (the-as - object - (merc-vu1-add-vu-function (the-as dma-packet arg0) merc-vu1-block 1) + (let ((gp-0 (the-as object (merc-vu1-add-vu-function (the-as dma-packet arg0) merc-vu1-block 1)))) + (set! (-> (the-as dma-gif-packet gp-0) dma-vif dma) (new 'static 'dma-tag :qwc #xa :id (dma-tag-id cnt))) + (set! (-> (the-as dma-gif-packet gp-0) dma-vif vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-gif-packet gp-0) dma-vif vif1) (new 'static 'vif-tag :cmd (vif-cmd stmod))) + (set! (-> (the-as (pointer vif-tag) gp-0) 4) (new 'static 'vif-tag :imm #x1ba :cmd (vif-cmd base))) + (set! (-> (the-as (pointer vif-tag) gp-0) 5) (new 'static 'vif-tag :imm #xfe46 :cmd (vif-cmd offset))) + (set! (-> (the-as (pointer vif-tag) gp-0) 6) (new 'static 'vif-tag)) + (set! (-> (the-as (pointer vif-tag) gp-0) 7) (new 'static 'vif-tag :num #x8 :cmd (vif-cmd unpack-v4-32))) + (let ((s5-0 (the-as merc-vu1-low-mem (&+ (the-as dma-gif-packet gp-0) 32)))) + (set! (-> s5-0 tri-strip-gif tag) + (new 'static 'gif-tag64 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :tme #x1 :fge #x1) + :nreg #x3 + ) + ) + (set! (-> s5-0 tri-strip-gif regs) + (new 'static 'gif-tag-regs :regs0 (gif-reg-id st) :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2)) + ) + (set! (-> s5-0 tri-strip-gif word 3) (shr (make-u128 0 (shl #x303e4000 32)) 32)) + (set! (-> s5-0 ad-gif tag) (new 'static 'gif-tag64 :nloop #x5 :nreg #x1)) + (set! (-> s5-0 ad-gif regs) (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d))) + (set! (-> s5-0 hvdf-offset quad) (-> *math-camera* hvdf-off quad)) + (quad-copy! (-> s5-0 perspective) (the-as pointer (-> *math-camera* perspective)) 4) + (set-vector! (-> s5-0 fog) (-> *math-camera* pfog0) (-> *math-camera* fog-min) (-> *math-camera* fog-max) 0.0) ) - ) - ) - (set! - (-> (the-as dma-gif-packet gp-0) dma-vif dma) - (new 'static 'dma-tag :qwc #xa :id (dma-tag-id cnt)) - ) - (set! - (-> (the-as dma-gif-packet gp-0) dma-vif vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-gif-packet gp-0) dma-vif vif1) - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - ) - (set! - (-> (the-as (pointer vif-tag) gp-0) 4) - (new 'static 'vif-tag :imm #x1ba :cmd (vif-cmd base)) - ) - (set! - (-> (the-as (pointer vif-tag) gp-0) 5) - (new 'static 'vif-tag :imm #xfe46 :cmd (vif-cmd offset)) - ) - (set! (-> (the-as (pointer vif-tag) gp-0) 6) (new 'static 'vif-tag)) - (set! - (-> (the-as (pointer vif-tag) gp-0) 7) - (new 'static 'vif-tag :num #x8 :cmd (vif-cmd unpack-v4-32)) - ) - (let ((s5-0 (the-as merc-vu1-low-mem (&+ (the-as dma-gif-packet gp-0) 32)))) - (set! - (-> s5-0 tri-strip-gif tag) - (new 'static 'gif-tag64 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :tme #x1 :fge #x1) - :nreg #x3 + (let ((v1-20 (-> (the-as (inline-array dma-packet) gp-0) 10))) + (set! (-> v1-20 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> v1-20 vif0) (new 'static 'vif-tag)) + (set! (-> v1-20 vif1) (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1 :imm #x0)) + (&+ v1-20 16) ) - ) - (set! - (-> s5-0 tri-strip-gif regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id st) - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - ) - ) - (set! - (-> s5-0 tri-strip-gif word 3) - (shr (make-u128 0 (shl #x303e4000 32)) 32) - ) - (set! (-> s5-0 ad-gif tag) (new 'static 'gif-tag64 :nloop #x5 :nreg #x1)) - (set! - (-> s5-0 ad-gif regs) - (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d)) - ) - (set! (-> s5-0 hvdf-offset quad) (-> *math-camera* hvdf-off quad)) - (quad-copy! - (-> s5-0 perspective) - (the-as pointer (-> *math-camera* perspective)) - 4 - ) - (set-vector! - (-> s5-0 fog) - (-> *math-camera* pfog0) - (-> *math-camera* fog-min) - (-> *math-camera* fog-max) - 0.0 - ) ) - (let ((v1-20 (-> (the-as (inline-array dma-packet) gp-0) 10))) - (set! (-> v1-20 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> v1-20 vif0) (new 'static 'vif-tag)) - (set! - (-> v1-20 vif1) - (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1 :imm #x0) - ) - (&+ v1-20 16) - ) - ) (none) ) ;; definition for function merc-vu1-init-buffer ;; INFO: Return type mismatch int vs none. (defun merc-vu1-init-buffer ((dma-bucket bucket-id) (test gs-test) (arg2 int)) - (let - ((bucket - (-> - *display* - frames - (-> *display* on-screen) - frame - bucket-group - dma-bucket - ) - ) - ) - (when (!= bucket (-> bucket last)) - (let* - ((dma-buf (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s3-1 (-> dma-buf base)) - ) - (set! - (-> dma-buf base) - (the-as - pointer - (merc-vu1-initialize-chain (the-as dma-gif-packet (-> dma-buf base))) - ) - ) - (let* ((v1-8 dma-buf) - (a0-6 (the-as object (-> v1-8 base))) - ) - (set! - (-> (the-as dma-packet a0-6) dma) - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a0-6) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-6) vif1) - (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-8 base) (&+ (the-as pointer a0-6) 16)) - ) - (let* ((v1-9 dma-buf) - (a0-8 (the-as object (-> v1-9 base))) - ) - (set! - (-> (the-as gs-gif-tag a0-8) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1) - ) - (set! - (-> (the-as gs-gif-tag a0-8) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) + (let ((bucket (-> *display* frames (-> *display* on-screen) frame bucket-group dma-bucket))) + (when (!= bucket (-> bucket last)) + (let* ((dma-buf (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s3-1 (-> dma-buf base)) + ) + (set! (-> dma-buf base) + (the-as pointer (merc-vu1-initialize-chain (the-as dma-gif-packet (-> dma-buf base)))) + ) + (let* ((v1-8 dma-buf) + (a0-6 (the-as object (-> v1-8 base))) + ) + (set! (-> (the-as dma-packet a0-6) dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-6) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-6) vif1) (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-8 base) (&+ (the-as pointer a0-6) 16)) + ) + (let* ((v1-9 dma-buf) + (a0-8 (the-as object (-> v1-9 base))) + ) + (set! (-> (the-as gs-gif-tag a0-8) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) + (set! (-> (the-as gs-gif-tag a0-8) regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-9 base) (&+ (the-as pointer a0-8) 16)) + ) + (let* ((v1-10 dma-buf) + (a0-10 (-> v1-10 base)) + ) + (set! (-> (the-as (pointer gs-test) a0-10) 0) test) + (set! (-> (the-as (pointer gs-reg64) a0-10) 1) (gs-reg64 test-1)) + (set! (-> v1-10 base) (&+ a0-10 16)) + ) + (let ((v1-11 (the-as object (-> dma-buf base)))) + (set! (-> (the-as dma-packet v1-11) dma) (new 'static 'dma-tag :id (dma-tag-id next) :addr (-> bucket next))) + (set! (-> (the-as dma-packet v1-11) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-11) vif1) (new 'static 'vif-tag)) + (set! (-> dma-buf base) (&+ (the-as pointer v1-11) 16)) + ) + (set! (-> bucket next) (the-as uint s3-1)) ) - ) - (set! (-> v1-9 base) (&+ (the-as pointer a0-8) 16)) ) - (let* ((v1-10 dma-buf) - (a0-10 (-> v1-10 base)) - ) - (set! (-> (the-as (pointer gs-test) a0-10) 0) test) - (set! (-> (the-as (pointer gs-reg64) a0-10) 1) (gs-reg64 test-1)) - (set! (-> v1-10 base) (&+ a0-10 16)) - ) - (let ((v1-11 (the-as object (-> dma-buf base)))) - (set! - (-> (the-as dma-packet v1-11) dma) - (new 'static 'dma-tag :id (dma-tag-id next) :addr (-> bucket next)) - ) - (set! (-> (the-as dma-packet v1-11) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-11) vif1) (new 'static 'vif-tag)) - (set! (-> dma-buf base) (&+ (the-as pointer v1-11) 16)) - ) - (set! (-> bucket next) (the-as uint s3-1)) - ) ) - ) 0 (none) ) @@ -666,97 +494,97 @@ ;; INFO: Return type mismatch int vs none. (defun merc-vu1-init-buffers () (when (logtest? *vu1-enable-user* (vu1-renderer-mask merc)) - (merc-vu1-init-buffer - (bucket-id bucket-10) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x26 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 0 + (merc-vu1-init-buffer + (bucket-id bucket-10) + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x26 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 0 + ) + (merc-vu1-init-buffer + (bucket-id bucket-49) + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x26 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 0 + ) + (merc-vu1-init-buffer + (bucket-id bucket-17) + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x26 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 0 + ) + (merc-vu1-init-buffer + (bucket-id bucket-52) + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x26 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 0 + ) + (merc-vu1-init-buffer + (bucket-id bucket-45) + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x26 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 0 + ) + (merc-vu1-init-buffer + (bucket-id bucket-55) + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x26 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 0 + ) + (merc-vu1-init-buffer + (bucket-id bucket-58) + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x80 + :afail #x1 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 0 + ) + (merc-vu1-init-buffer + (bucket-id bucket-61) + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x80 + :afail #x1 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 0 + ) ) - (merc-vu1-init-buffer - (bucket-id bucket-49) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x26 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 0 - ) - (merc-vu1-init-buffer - (bucket-id bucket-17) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x26 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 0 - ) - (merc-vu1-init-buffer - (bucket-id bucket-52) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x26 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 0 - ) - (merc-vu1-init-buffer - (bucket-id bucket-45) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x26 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 0 - ) - (merc-vu1-init-buffer - (bucket-id bucket-55) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x26 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 0 - ) - (merc-vu1-init-buffer - (bucket-id bucket-58) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x80 - :afail #x1 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 0 - ) - (merc-vu1-init-buffer - (bucket-id bucket-61) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x80 - :afail #x1 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 0 - ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/gfx/mood-h_REF.gc b/test/decompiler/reference/engine/gfx/mood-h_REF.gc index 33b65afbdf..41a954d2d5 100644 --- a/test/decompiler/reference/engine/gfx/mood-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/mood-h_REF.gc @@ -151,45 +151,17 @@ ;; definition for method 3 of type mood-context (defmethod inspect mood-context ((obj mood-context)) (format #t "[~8x] ~A~%" obj (-> obj type)) - (format - #t - "~Tmood-fog-table: #~%" - (-> obj mood-fog-table) - ) - (format - #t - "~Tmood-lights-table: #~%" - (-> obj mood-lights-table) - ) - (format - #t - "~Tmood-sun-table: #~%" - (-> obj mood-sun-table) - ) + (format #t "~Tmood-fog-table: #~%" (-> obj mood-fog-table)) + (format #t "~Tmood-lights-table: #~%" (-> obj mood-lights-table)) + (format #t "~Tmood-sun-table: #~%" (-> obj mood-sun-table)) (format #t "~Tfog-interp: #~%" (-> obj fog-interp)) - (format - #t - "~Tpalette-interp: #~%" - (-> obj palette-interp) - ) - (format - #t - "~Tsky-texture-interp: #~%" - (-> obj sky-texture-interp) - ) + (format #t "~Tpalette-interp: #~%" (-> obj palette-interp)) + (format #t "~Tsky-texture-interp: #~%" (-> obj sky-texture-interp)) (format #t "~Tcurrent-fog: #~%" (-> obj current-fog)) (format #t "~Tcurrent-sun: #~%" (-> obj current-sun)) - (format - #t - "~Tcurrent-prt-color: #~%" - (-> obj current-prt-color) - ) + (format #t "~Tcurrent-prt-color: #~%" (-> obj current-prt-color)) (format #t "~Tcurrent-shadow: #~%" (-> obj current-shadow)) - (format - #t - "~Tcurrent-shadow-color: #~%" - (-> obj current-shadow-color) - ) + (format #t "~Tcurrent-shadow-color: #~%" (-> obj current-shadow-color)) (format #t "~Tlight-group[8] @ #x~X~%" (-> obj light-group)) (format #t "~Ttimes[8] @ #x~X~%" (-> obj times)) (format #t "~Tsky-times[8] @ #x~X~%" (-> obj sky-times)) @@ -201,21 +173,17 @@ ;; definition for method 0 of type mood-context (defmethod new mood-context ((allocation symbol) (type-to-make type)) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set-vector! (-> v0-0 times 0) 1.0 1.0 1.0 0.0) + (set-vector! (-> v0-0 times 1) 1.0 1.0 1.0 0.0) + (set-vector! (-> v0-0 times 2) 1.0 1.0 1.0 0.0) + (set-vector! (-> v0-0 times 3) 1.0 1.0 1.0 0.0) + (set-vector! (-> v0-0 times 4) 1.0 1.0 1.0 0.0) + (set-vector! (-> v0-0 times 5) 1.0 1.0 1.0 0.0) + (set-vector! (-> v0-0 times 6) 1.0 1.0 1.0 0.0) + (set-vector! (-> v0-0 times 7) 1.0 1.0 1.0 0.0) + v0-0 ) - (set-vector! (-> v0-0 times 0) 1.0 1.0 1.0 0.0) - (set-vector! (-> v0-0 times 1) 1.0 1.0 1.0 0.0) - (set-vector! (-> v0-0 times 2) 1.0 1.0 1.0 0.0) - (set-vector! (-> v0-0 times 3) 1.0 1.0 1.0 0.0) - (set-vector! (-> v0-0 times 4) 1.0 1.0 1.0 0.0) - (set-vector! (-> v0-0 times 5) 1.0 1.0 1.0 0.0) - (set-vector! (-> v0-0 times 6) 1.0 1.0 1.0 0.0) - (set-vector! (-> v0-0 times 7) 1.0 1.0 1.0 0.0) - v0-0 - ) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/engine/gfx/ocean/ocean-h_REF.gc b/test/decompiler/reference/engine/gfx/ocean/ocean-h_REF.gc index 31304ca706..a339139d0e 100644 --- a/test/decompiler/reference/engine/gfx/ocean/ocean-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/ocean/ocean-h_REF.gc @@ -288,11 +288,7 @@ (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tstart-corner: #~%" (-> obj start-corner)) (format #t "~Tfar-color: #~%" (-> obj far-color)) - (format - #t - "~Tocean-spheres: #~%" - (-> obj ocean-spheres) - ) + (format #t "~Tocean-spheres: #~%" (-> obj ocean-spheres)) (format #t "~Tocean-colors: #~%" (-> obj ocean-colors)) (format #t "~Tocean-mid-indices: ~A~%" (-> obj ocean-mid-indices)) (format #t "~Tocean-trans-indices: ~A~%" (-> obj ocean-trans-indices)) @@ -772,11 +768,7 @@ (format #t "~Tmasks[2] @ #x~X~%" (-> obj masks)) (format #t "~Tstart-height: #~%" (-> obj start-height)) (format #t "~Tstart-st: #~%" (-> obj start-st)) - (format - #t - "~Tnear-colors: #~%" - (-> obj near-colors) - ) + (format #t "~Tnear-colors: #~%" (-> obj near-colors)) obj ) diff --git a/test/decompiler/reference/engine/gfx/ocean/ocean-trans-tables_REF.gc b/test/decompiler/reference/engine/gfx/ocean/ocean-trans-tables_REF.gc index 1497f175c6..9f8be99b47 100644 --- a/test/decompiler/reference/engine/gfx/ocean/ocean-trans-tables_REF.gc +++ b/test/decompiler/reference/engine/gfx/ocean/ocean-trans-tables_REF.gc @@ -2,1136 +2,1097 @@ (in-package goal) ;; definition for symbol *ocean-left-table*, type (pointer float) -(define - *ocean-left-table* - (new 'static 'array float 28 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - ) - ) +(define *ocean-left-table* (new 'static 'array float 28 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + ) + ) ;; definition for symbol *ocean-right-table*, type (pointer float) -(define - *ocean-right-table* - (new 'static 'array float 28 - 0.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.0 - 0.0 - 1.0 - ) - ) +(define *ocean-right-table* (new 'static 'array float 28 + 0.0 + 0.0 + 1.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.0 + 0.0 + 1.0 + ) + ) ;; definition for symbol *ocean-up-table*, type (pointer float) -(define - *ocean-up-table* - (new 'static 'array float 28 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - ) - ) +(define *ocean-up-table* (new 'static 'array float 28 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + ) + ) ;; definition for symbol *ocean-down-table*, type (pointer float) -(define - *ocean-down-table* - (new 'static 'array float 28 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.0 - 1.0 - ) - ) +(define *ocean-down-table* (new 'static 'array float 28 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.0 + 1.0 + ) + ) ;; definition for symbol *ocean-down-left-table*, type (pointer float) -(define - *ocean-down-left-table* - (new 'static 'array float 40 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.0 - 1.0 - ) - ) +(define *ocean-down-left-table* (new 'static 'array float 40 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.0 + 1.0 + ) + ) ;; definition for symbol *ocean-down-right-table*, type (pointer float) -(define - *ocean-down-right-table* - (new 'static 'array float 40 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.0 - 0.0 - 1.0 - ) - ) +(define *ocean-down-right-table* (new 'static 'array float 40 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.0 + 0.0 + 1.0 + ) + ) ;; definition for symbol *ocean-up-right-table*, type (pointer float) -(define - *ocean-up-right-table* - (new 'static 'array float 40 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 1.0 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - ) - ) +(define *ocean-up-right-table* (new 'static 'array float 40 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 1.0 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + ) + ) ;; definition for symbol *ocean-up-left-table*, type (pointer float) -(define - *ocean-up-left-table* - (new 'static 'array float 40 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - ) - ) +(define *ocean-up-left-table* (new 'static 'array float 40 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + ) + ) ;; definition for symbol *ocean-trans-left-table*, type (pointer float) -(define - *ocean-trans-left-table* - (new 'static 'array float 44 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.125 - 0.0 - 0.875 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.375 - 0.0 - 0.625 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.625 - 0.0 - 0.375 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.875 - 0.0 - 0.125 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - ) - ) +(define *ocean-trans-left-table* (new 'static 'array float 44 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.125 + 0.0 + 0.875 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.375 + 0.0 + 0.625 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.625 + 0.0 + 0.375 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.875 + 0.0 + 0.125 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + ) + ) ;; definition for symbol *ocean-trans-right-table*, type (pointer float) -(define - *ocean-trans-right-table* - (new 'static 'array float 44 - 0.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.875 - 0.0 - 0.125 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.625 - 0.0 - 0.375 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.375 - 0.0 - 0.625 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.125 - 0.0 - 0.875 - 0.0 - 0.0 - 0.0 - 1.0 - ) - ) +(define *ocean-trans-right-table* (new 'static 'array float 44 + 0.0 + 0.0 + 1.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.875 + 0.0 + 0.125 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.625 + 0.0 + 0.375 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.375 + 0.0 + 0.625 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.125 + 0.0 + 0.875 + 0.0 + 0.0 + 0.0 + 1.0 + ) + ) ;; definition for symbol *ocean-trans-up-table*, type (pointer float) -(define - *ocean-trans-up-table* - (new 'static 'array float 44 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.125 - 0.875 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.375 - 0.625 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.625 - 0.375 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 0.875 - 0.125 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - ) - ) +(define *ocean-trans-up-table* (new 'static 'array float 44 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.125 + 0.875 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.375 + 0.625 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.625 + 0.375 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 0.875 + 0.125 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + ) + ) ;; definition for symbol *ocean-trans-down-table*, type (pointer float) -(define - *ocean-trans-down-table* - (new 'static 'array float 44 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.875 - 0.125 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 0.625 - 0.375 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.375 - 0.625 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.125 - 0.875 - 0.0 - 0.0 - 0.0 - 1.0 - ) - ) +(define *ocean-trans-down-table* (new 'static 'array float 44 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.875 + 0.125 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 0.625 + 0.375 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.375 + 0.625 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.125 + 0.875 + 0.0 + 0.0 + 0.0 + 1.0 + ) + ) ;; definition for symbol *ocean-trans-down-left-table*, type (pointer float) -(define - *ocean-trans-down-left-table* - (new 'static 'array float 72 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.875 - 0.0 - 0.125 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.625 - 0.0 - 0.375 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.375 - 0.0 - 0.625 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.125 - 0.0 - 0.875 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.875 - 0.125 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 0.625 - 0.375 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.375 - 0.625 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.125 - 0.875 - 0.0 - 0.0 - 0.0 - 1.0 - ) - ) +(define *ocean-trans-down-left-table* (new 'static 'array float 72 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.875 + 0.0 + 0.125 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.625 + 0.0 + 0.375 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.375 + 0.0 + 0.625 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.125 + 0.0 + 0.875 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.875 + 0.125 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 0.625 + 0.375 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.375 + 0.625 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.125 + 0.875 + 0.0 + 0.0 + 0.0 + 1.0 + ) + ) ;; definition for symbol *ocean-trans-down-right-table*, type (pointer float) -(define - *ocean-trans-down-right-table* - (new 'static 'array float 72 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.875 - 0.125 - 0.0 - 0.875 - 0.0 - 0.125 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.0 - 0.625 - 0.375 - 0.0 - 0.625 - 0.0 - 0.375 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.0 - 0.375 - 0.625 - 0.0 - 0.375 - 0.0 - 0.625 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.0 - 0.125 - 0.875 - 0.0 - 0.125 - 0.0 - 0.875 - 0.0 - 0.0 - 0.0 - 1.0 - ) - ) +(define *ocean-trans-down-right-table* (new 'static 'array float 72 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 0.875 + 0.125 + 0.0 + 0.875 + 0.0 + 0.125 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.0 + 0.625 + 0.375 + 0.0 + 0.625 + 0.0 + 0.375 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.0 + 0.375 + 0.625 + 0.0 + 0.375 + 0.0 + 0.625 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.0 + 0.125 + 0.875 + 0.0 + 0.125 + 0.0 + 0.875 + 0.0 + 0.0 + 0.0 + 1.0 + ) + ) ;; definition for symbol *ocean-trans-up-right-table*, type (pointer float) -(define - *ocean-trans-up-right-table* - (new 'static 'array float 72 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.125 - 0.0 - 0.875 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.375 - 0.0 - 0.625 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.625 - 0.0 - 0.375 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.875 - 0.0 - 0.125 - 0.0 - 1.0 - 0.0 - 0.0 - 0.125 - 0.875 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.375 - 0.625 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.625 - 0.375 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 0.875 - 0.125 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - ) - ) +(define *ocean-trans-up-right-table* (new 'static 'array float 72 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.125 + 0.0 + 0.875 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.375 + 0.0 + 0.625 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.625 + 0.0 + 0.375 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.875 + 0.0 + 0.125 + 0.0 + 1.0 + 0.0 + 0.0 + 0.125 + 0.875 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.375 + 0.625 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.625 + 0.375 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 0.875 + 0.125 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + ) + ) ;; definition for symbol *ocean-trans-up-left-table*, type (pointer float) -(define - *ocean-trans-up-left-table* - (new 'static 'array float 72 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.125 - 0.0 - 0.875 - 0.0 - 0.125 - 0.875 - 0.0 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.375 - 0.0 - 0.625 - 0.0 - 0.375 - 0.625 - 0.0 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.625 - 0.0 - 0.375 - 0.0 - 0.625 - 0.375 - 0.0 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 0.875 - 0.0 - 0.125 - 0.0 - 0.875 - 0.125 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - ) - ) +(define *ocean-trans-up-left-table* (new 'static 'array float 72 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.125 + 0.0 + 0.875 + 0.0 + 0.125 + 0.875 + 0.0 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.375 + 0.0 + 0.625 + 0.0 + 0.375 + 0.625 + 0.0 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.625 + 0.0 + 0.375 + 0.0 + 0.625 + 0.375 + 0.0 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 0.875 + 0.0 + 0.125 + 0.0 + 0.875 + 0.125 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + ) + ) ;; definition for symbol *ocean-trans-corner-table*, type (inline-array vector4w-2) -(define - *ocean-trans-corner-table* - (the-as (inline-array vector4w-2) - (new 'static 'array float 100 - 1.0 - 0.0 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.5625 - 0.1875 - 0.1875 - 0.0625 - 0.375 - 0.375 - 0.125 - 0.125 - 0.1875 - 0.5625 - 0.0625 - 0.1875 - 0.0 - 0.75 - 0.0 - 0.25 - 0.5 - 0.0 - 0.5 - 0.0 - 0.375 - 0.125 - 0.375 - 0.125 - 0.25 - 0.25 - 0.25 - 0.25 - 0.125 - 0.375 - 0.125 - 0.375 - 0.0 - 0.5 - 0.0 - 0.5 - 0.25 - 0.0 - 0.75 - 0.0 - 0.1875 - 0.0625 - 0.5625 - 0.1875 - 0.125 - 0.125 - 0.375 - 0.375 - 0.0625 - 0.1875 - 0.1875 - 0.5625 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.0 - 0.0 - 1.0 - ) - ) - ) +(define *ocean-trans-corner-table* (the-as (inline-array vector4w-2) (new 'static 'array float 100 + 1.0 + 0.0 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.5625 + 0.1875 + 0.1875 + 0.0625 + 0.375 + 0.375 + 0.125 + 0.125 + 0.1875 + 0.5625 + 0.0625 + 0.1875 + 0.0 + 0.75 + 0.0 + 0.25 + 0.5 + 0.0 + 0.5 + 0.0 + 0.375 + 0.125 + 0.375 + 0.125 + 0.25 + 0.25 + 0.25 + 0.25 + 0.125 + 0.375 + 0.125 + 0.375 + 0.0 + 0.5 + 0.0 + 0.5 + 0.25 + 0.0 + 0.75 + 0.0 + 0.1875 + 0.0625 + 0.5625 + 0.1875 + 0.125 + 0.125 + 0.375 + 0.375 + 0.0625 + 0.1875 + 0.1875 + 0.5625 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.0 + 0.0 + 1.0 + ) + ) + ) ;; definition for symbol *ocean-trans-strip-array*, type (pointer float) -(define - *ocean-trans-strip-array* - (new 'static 'array float 160 - 1.0 - 0.0 - 0.0 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.75 - 0.25 - 0.0 - 0.0 - 0.5625 - 0.1875 - 0.1875 - 0.0625 - 0.5 - 0.5 - 0.0 - 0.0 - 0.375 - 0.375 - 0.125 - 0.125 - 0.25 - 0.75 - 0.0 - 0.0 - 0.1875 - 0.5625 - 0.0625 - 0.1875 - 0.0 - 1.0 - 0.0 - 0.0 - 0.0 - 0.75 - 0.0 - 0.25 - 0.75 - 0.0 - 0.25 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.5625 - 0.1875 - 0.1875 - 0.0625 - 0.375 - 0.125 - 0.375 - 0.125 - 0.375 - 0.375 - 0.125 - 0.125 - 0.25 - 0.25 - 0.25 - 0.25 - 0.1875 - 0.5625 - 0.0625 - 0.1875 - 0.125 - 0.375 - 0.125 - 0.375 - 0.0 - 0.75 - 0.0 - 0.25 - 0.0 - 0.5 - 0.0 - 0.5 - 0.5 - 0.0 - 0.5 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.375 - 0.125 - 0.375 - 0.125 - 0.1875 - 0.0625 - 0.5625 - 0.1875 - 0.25 - 0.25 - 0.25 - 0.25 - 0.125 - 0.125 - 0.375 - 0.375 - 0.125 - 0.375 - 0.125 - 0.375 - 0.0625 - 0.1875 - 0.1875 - 0.5625 - 0.0 - 0.5 - 0.0 - 0.5 - 0.0 - 0.25 - 0.0 - 0.75 - 0.25 - 0.0 - 0.75 - 0.0 - 0.0 - 0.0 - 1.0 - 0.0 - 0.1875 - 0.0625 - 0.5625 - 0.1875 - 0.0 - 0.0 - 0.75 - 0.25 - 0.125 - 0.125 - 0.375 - 0.375 - 0.0 - 0.0 - 0.5 - 0.5 - 0.0625 - 0.1875 - 0.1875 - 0.5625 - 0.0 - 0.0 - 0.25 - 0.75 - 0.0 - 0.25 - 0.0 - 0.75 - 0.0 - 0.0 - 0.0 - 1.0 - ) - ) +(define *ocean-trans-strip-array* (new 'static 'array float 160 + 1.0 + 0.0 + 0.0 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.75 + 0.25 + 0.0 + 0.0 + 0.5625 + 0.1875 + 0.1875 + 0.0625 + 0.5 + 0.5 + 0.0 + 0.0 + 0.375 + 0.375 + 0.125 + 0.125 + 0.25 + 0.75 + 0.0 + 0.0 + 0.1875 + 0.5625 + 0.0625 + 0.1875 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 0.75 + 0.0 + 0.25 + 0.75 + 0.0 + 0.25 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.5625 + 0.1875 + 0.1875 + 0.0625 + 0.375 + 0.125 + 0.375 + 0.125 + 0.375 + 0.375 + 0.125 + 0.125 + 0.25 + 0.25 + 0.25 + 0.25 + 0.1875 + 0.5625 + 0.0625 + 0.1875 + 0.125 + 0.375 + 0.125 + 0.375 + 0.0 + 0.75 + 0.0 + 0.25 + 0.0 + 0.5 + 0.0 + 0.5 + 0.5 + 0.0 + 0.5 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.375 + 0.125 + 0.375 + 0.125 + 0.1875 + 0.0625 + 0.5625 + 0.1875 + 0.25 + 0.25 + 0.25 + 0.25 + 0.125 + 0.125 + 0.375 + 0.375 + 0.125 + 0.375 + 0.125 + 0.375 + 0.0625 + 0.1875 + 0.1875 + 0.5625 + 0.0 + 0.5 + 0.0 + 0.5 + 0.0 + 0.25 + 0.0 + 0.75 + 0.25 + 0.0 + 0.75 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.1875 + 0.0625 + 0.5625 + 0.1875 + 0.0 + 0.0 + 0.75 + 0.25 + 0.125 + 0.125 + 0.375 + 0.375 + 0.0 + 0.0 + 0.5 + 0.5 + 0.0625 + 0.1875 + 0.1875 + 0.5625 + 0.0 + 0.0 + 0.25 + 0.75 + 0.0 + 0.25 + 0.0 + 0.75 + 0.0 + 0.0 + 0.0 + 1.0 + ) + ) ;; definition for symbol *ocean-trans-st-table*, type (inline-array vector) -(define - *ocean-trans-st-table* - (new 'static 'inline-array vector 4 - (new 'static 'vector :z 1.0) - (new 'static 'vector :x 1.0 :z 1.0) - (new 'static 'vector :y 1.0 :z 1.0) - (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) - ) - ) +(define *ocean-trans-st-table* (new 'static 'inline-array vector 4 + (new 'static 'vector :z 1.0) + (new 'static 'vector :x 1.0 :z 1.0) + (new 'static 'vector :y 1.0 :z 1.0) + (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) + ) + ) diff --git a/test/decompiler/reference/engine/gfx/ocean/ocean-transition_REF.gc b/test/decompiler/reference/engine/gfx/ocean/ocean-transition_REF.gc index 203c943913..c4e08a639c 100644 --- a/test/decompiler/reference/engine/gfx/ocean/ocean-transition_REF.gc +++ b/test/decompiler/reference/engine/gfx/ocean/ocean-transition_REF.gc @@ -6,30 +6,22 @@ (let ((v1-3 (- arg0 (* (-> *ocean-work* mid-minz) 4))) (a0-4 (- arg1 (* (-> *ocean-work* mid-minx) 4))) ) - (cond - ((or - (< v1-3 0) - (>= v1-3 (the-as uint 16)) - (< a0-4 0) - (>= a0-4 (the-as uint 16)) - ) - #f - ) - (else - (let* ((a3-0 (shr v1-3 2)) - (a2-3 (shr a0-4 2)) - (a1-2 (logand v1-3 3)) - (v1-4 (logand a0-4 3)) - (a0-6 (+ (* a3-0 4) a2-3)) - ) - (logtest? - (-> *ocean-work* trans-camera-masks 0 mask (+ a1-2 (* a0-6 8))) - (ash 1 v1-4) + (cond + ((or (< v1-3 0) (>= v1-3 (the-as uint 16)) (< a0-4 0) (>= a0-4 (the-as uint 16))) + #f ) + (else + (let* ((a3-0 (shr v1-3 2)) + (a2-3 (shr a0-4 2)) + (a1-2 (logand v1-3 3)) + (v1-4 (logand a0-4 3)) + (a0-6 (+ (* a3-0 4) a2-3)) + ) + (logtest? (-> *ocean-work* trans-camera-masks 0 mask (+ a1-2 (* a0-6 8))) (ash 1 v1-4)) + ) + ) ) - ) ) - ) ) ;; definition for function ocean-trans-mask-ptrs-bit? @@ -37,36 +29,30 @@ (let ((v1-3 (- arg0 (the-as int (* (-> *ocean-work* mid-minz) 4)))) (a0-4 (- arg1 (the-as int (* (-> *ocean-work* mid-minx) 4)))) ) - (cond - ((or - (< (the-as uint v1-3) 0) - (>= (the-as uint v1-3) (the-as uint 16)) - (< (the-as uint a0-4) 0) - (>= (the-as uint a0-4) (the-as uint 16)) - ) - #f - ) - (else - (let* ((a3-0 (shr v1-3 2)) - (a2-3 (shr a0-4 2)) - (a1-2 (logand v1-3 3)) - (v1-4 (logand a0-4 3)) - (a0-11 - (-> - *ocean-work* - trans-mask-ptrs - (+ (* (+ (* a3-0 4) a2-3) 4) a1-2) - ) - ) - ) - (if a0-11 - (logtest? (-> a0-11 1) (ash 1 v1-4)) + (cond + ((or + (< (the-as uint v1-3) 0) + (>= (the-as uint v1-3) (the-as uint 16)) + (< (the-as uint a0-4) 0) + (>= (the-as uint a0-4) (the-as uint 16)) + ) #f ) + (else + (let* ((a3-0 (shr v1-3 2)) + (a2-3 (shr a0-4 2)) + (a1-2 (logand v1-3 3)) + (v1-4 (logand a0-4 3)) + (a0-11 (-> *ocean-work* trans-mask-ptrs (+ (* (+ (* a3-0 4) a2-3) 4) a1-2))) + ) + (if a0-11 + (logtest? (-> a0-11 1) (ash 1 v1-4)) + #f + ) + ) + ) ) - ) ) - ) ) ;; definition for function ocean-trans-mask-ptrs-set! @@ -74,83 +60,69 @@ (let ((v1-3 (- arg0 (the-as int (* (-> *ocean-work* mid-minz) 4)))) (a0-4 (- arg1 (the-as int (* (-> *ocean-work* mid-minx) 4)))) ) - (cond - ((or - (< (the-as uint v1-3) 0) - (>= (the-as uint v1-3) (the-as uint 16)) - (< (the-as uint a0-4) 0) - (>= (the-as uint a0-4) (the-as uint 16)) - ) - #f - ) - (else - (let* ((a2-3 (shr v1-3 2)) - (a1-2 (shr a0-4 2)) - (v1-4 (logand v1-3 3)) - (a0-5 (logand a0-4 3)) - (a3-6 - (-> - *ocean-work* - trans-mask-ptrs - (+ (* (+ (* a2-3 4) a1-2) 4) v1-4) - ) - ) - ) - (cond - (a3-6 - (cond - ((logtest? (-> a3-6 1) (ash 1 a0-5)) - #f - ) - (else - (let ((a1-6 (-> *ocean-work* trans-temp-masks (+ (* a2-3 4) a1-2)))) - (logior! (-> a1-6 mask v1-4) (ash 1 a0-5)) - ) - #t - ) + (cond + ((or + (< (the-as uint v1-3) 0) + (>= (the-as uint v1-3) (the-as uint 16)) + (< (the-as uint a0-4) 0) + (>= (the-as uint a0-4) (the-as uint 16)) ) - ) - (else - #f - ) + #f ) + (else + (let* ((a2-3 (shr v1-3 2)) + (a1-2 (shr a0-4 2)) + (v1-4 (logand v1-3 3)) + (a0-5 (logand a0-4 3)) + (a3-6 (-> *ocean-work* trans-mask-ptrs (+ (* (+ (* a2-3 4) a1-2) 4) v1-4))) + ) + (cond + (a3-6 + (cond + ((logtest? (-> a3-6 1) (ash 1 a0-5)) + #f + ) + (else + (let ((a1-6 (-> *ocean-work* trans-temp-masks (+ (* a2-3 4) a1-2)))) + (logior! (-> a1-6 mask v1-4) (ash 1 a0-5)) + ) + #t + ) + ) + ) + (else + #f + ) + ) + ) + ) ) - ) ) - ) ) ;; definition for function ocean-trans-add-upload-table ;; WARN: Function may read a register that is not set: f31 ;; Used lq/sq -(defun - ocean-trans-add-upload-table - ((arg0 dma-buffer) - (arg1 int) - (arg2 int) - (arg3 (pointer float)) - (arg4 int) - (arg5 symbol) - ) +(defun ocean-trans-add-upload-table ((arg0 dma-buffer) (arg1 int) (arg2 int) (arg3 (pointer float)) (arg4 int) (arg5 symbol)) (local-vars - (r0-0 uint128) - (r0-1 uint128) - (r0-2 uint128) - (r0-3 uint128) - (r0-4 uint128) - (r0-5 uint128) - (v1-12 (inline-array vector)) - (v1-14 float) - (a0-23 uint128) - (a0-24 uint128) - (a1-15 uint128) - (a1-16 uint128) - (a1-17 uint128) - (a2-15 uint128) - (a2-16 uint128) - (a3-10 uint128) - (f31-0 none) - ) + (r0-0 uint128) + (r0-1 uint128) + (r0-2 uint128) + (r0-3 uint128) + (r0-4 uint128) + (r0-5 uint128) + (v1-12 (inline-array vector)) + (v1-14 float) + (a0-23 uint128) + (a0-24 uint128) + (a1-15 uint128) + (a1-16 uint128) + (a1-17 uint128) + (a2-15 uint128) + (a2-16 uint128) + (a3-10 uint128) + (f31-0 none) + ) (rlet ((acc :class vf) (vf1 :class vf) (vf10 :class vf) @@ -165,783 +137,526 @@ (vf8 :class vf) (vf9 :class vf) ) - (when (ocean-trans-mask-ptrs-set! arg1 arg2) - (let ((a1-2 (new-stack-vector0))) - (let ((v1-1 (-> *ocean-map* start-corner))) - (set! (-> a1-2 x) (+ (-> v1-1 x) (* 98304.0 (the float arg2)))) - (set! (-> a1-2 y) (-> v1-1 y)) - (set! (-> a1-2 z) (+ (-> v1-1 z) (* 98304.0 (the float arg1)))) - ) - (set! (-> a1-2 w) 1.0) - ) - (ocean-mid-add-matrices arg0) - (let* ((a1-3 9) - (v1-3 arg0) - (a0-3 (the-as object (-> v1-3 base))) - ) - (set! - (-> (the-as dma-packet a0-3) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a1-3) - ) - (set! - (-> (the-as dma-packet a0-3) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a0-3) vif1) - (new 'static 'vif-tag :imm #x8008 :cmd (vif-cmd unpack-v4-32) :num a1-3) - ) - (set! (-> v1-3 base) (&+ (the-as pointer a0-3) 16)) - ) - (set-vector! (the-as vector4w (-> arg0 base)) arg4 0 0 0) - (&+! (-> arg0 base) 16) - (let* ((a0-5 (logand arg1 3)) - (v1-7 (logand arg2 3)) - (v1-8 (+ (* 5 a0-5) v1-7)) - ) - (.lvf vf5 (&-> (&-> *ocean-trans-corner-table* 0 quad v1-8) 0)) - (.lvf vf6 (&-> (&-> *ocean-trans-corner-table* 0 quad (+ v1-8 1)) 0)) - (.lvf vf7 (&-> (&-> *ocean-trans-corner-table* 0 quad (+ v1-8 5)) 0)) - (.lvf vf8 (&-> (&-> *ocean-trans-corner-table* 0 quad (+ v1-8 6)) 0)) - ) - (.mov v1-12 vf8) - (let ((v1-13 (the-as (inline-array vector) (-> arg0 base)))) - (let ((a0-16 (/ arg1 4)) - (a1-11 (/ arg2 4)) - ) - (.lvf vf1 (&-> *ocean-trans-st-table* 0 quad)) - (.lvf vf2 (&-> *ocean-trans-st-table* 1 quad)) - (.lvf vf3 (&-> *ocean-trans-st-table* 2 quad)) - (.lvf vf4 (&-> *ocean-trans-st-table* 3 quad)) - (.mul.x.vf acc vf1 vf5) - (nop!) - (.add.mul.y.vf acc vf2 vf5 acc) - (nop!) - (.add.mul.z.vf acc vf3 vf5 acc) - (nop!) - (.add.mul.w.vf vf9 vf4 vf5 acc) - (nop!) - (.mul.x.vf acc vf1 vf6) - (nop!) - (.add.mul.y.vf acc vf2 vf6 acc) - (nop!) - (.add.mul.z.vf acc vf3 vf6 acc) - (nop!) - (.add.mul.w.vf vf10 vf4 vf6 acc) - (.svf (&-> v1-13 0 quad) vf9) - (.mul.x.vf acc vf1 vf7) - (nop!) - (.add.mul.y.vf acc vf2 vf7 acc) - (nop!) - (.add.mul.z.vf acc vf3 vf7 acc) - (nop!) - (.add.mul.w.vf vf11 vf4 vf7 acc) - (.svf (&-> v1-13 1 quad) vf10) - (.mul.x.vf acc vf1 vf8) - (nop!) - (.add.mul.y.vf acc vf2 vf8 acc) - (nop!) - (.add.mul.z.vf acc vf3 vf8 acc) - (nop!) - (.add.mul.w.vf vf12 vf4 vf8 acc) - (.svf (&-> v1-13 2 quad) vf11) - (nop!) - (.svf (&-> v1-13 3 quad) vf12) - (let - ((a2-14 - (the-as - uint128 - (-> *ocean-map* ocean-colors colors (+ (* 52 a0-16) a1-11)) + (when (ocean-trans-mask-ptrs-set! arg1 arg2) + (let ((a1-2 (new-stack-vector0))) + (let ((v1-1 (-> *ocean-map* start-corner))) + (set! (-> a1-2 x) (+ (-> v1-1 x) (* 98304.0 (the float arg2)))) + (set! (-> a1-2 y) (-> v1-1 y)) + (set! (-> a1-2 z) (+ (-> v1-1 z) (* 98304.0 (the float arg1)))) ) - ) - (a3-9 - (the-as - uint128 - (-> *ocean-map* ocean-colors colors (+ a1-11 1 (* 52 a0-16))) - ) - ) - (t0-10 - (the-as - uint128 - (-> *ocean-map* ocean-colors colors (+ (* 52 (+ a0-16 1)) a1-11)) - ) - ) - (a0-22 - (the-as - uint128 - (-> *ocean-map* ocean-colors colors (+ a1-11 1 (* 52 (+ a0-16 1)))) - ) - ) + (set! (-> a1-2 w) 1.0) ) - (.pextlb a1-15 r0-0 a2-14) - (.mov r0-1 f31-0) - (.pextlb a2-15 r0-1 a3-9) - (.mov r0-2 f31-0) - (.pextlb a3-10 r0-2 t0-10) - (.mov r0-3 f31-0) - (.pextlb a0-23 r0-3 a0-22) - ) + (ocean-mid-add-matrices arg0) + (let* ((a1-3 9) + (v1-3 arg0) + (a0-3 (the-as object (-> v1-3 base))) + ) + (set! (-> (the-as dma-packet a0-3) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a1-3)) + (set! (-> (the-as dma-packet a0-3) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a0-3) vif1) + (new 'static 'vif-tag :imm #x8008 :cmd (vif-cmd unpack-v4-32) :num a1-3) + ) + (set! (-> v1-3 base) (&+ (the-as pointer a0-3) 16)) + ) + (set-vector! (the-as vector4w (-> arg0 base)) arg4 0 0 0) + (&+! (-> arg0 base) 16) + (let* ((a0-5 (logand arg1 3)) + (v1-7 (logand arg2 3)) + (v1-8 (+ (* 5 a0-5) v1-7)) + ) + (.lvf vf5 (&-> (&-> *ocean-trans-corner-table* 0 quad v1-8) 0)) + (.lvf vf6 (&-> (&-> *ocean-trans-corner-table* 0 quad (+ v1-8 1)) 0)) + (.lvf vf7 (&-> (&-> *ocean-trans-corner-table* 0 quad (+ v1-8 5)) 0)) + (.lvf vf8 (&-> (&-> *ocean-trans-corner-table* 0 quad (+ v1-8 6)) 0)) + ) + (.mov v1-12 vf8) + (let ((v1-13 (the-as (inline-array vector) (-> arg0 base)))) + (let ((a0-16 (/ arg1 4)) + (a1-11 (/ arg2 4)) + ) + (.lvf vf1 (&-> *ocean-trans-st-table* 0 quad)) + (.lvf vf2 (&-> *ocean-trans-st-table* 1 quad)) + (.lvf vf3 (&-> *ocean-trans-st-table* 2 quad)) + (.lvf vf4 (&-> *ocean-trans-st-table* 3 quad)) + (.mul.x.vf acc vf1 vf5) + (nop!) + (.add.mul.y.vf acc vf2 vf5 acc) + (nop!) + (.add.mul.z.vf acc vf3 vf5 acc) + (nop!) + (.add.mul.w.vf vf9 vf4 vf5 acc) + (nop!) + (.mul.x.vf acc vf1 vf6) + (nop!) + (.add.mul.y.vf acc vf2 vf6 acc) + (nop!) + (.add.mul.z.vf acc vf3 vf6 acc) + (nop!) + (.add.mul.w.vf vf10 vf4 vf6 acc) + (.svf (&-> v1-13 0 quad) vf9) + (.mul.x.vf acc vf1 vf7) + (nop!) + (.add.mul.y.vf acc vf2 vf7 acc) + (nop!) + (.add.mul.z.vf acc vf3 vf7 acc) + (nop!) + (.add.mul.w.vf vf11 vf4 vf7 acc) + (.svf (&-> v1-13 1 quad) vf10) + (.mul.x.vf acc vf1 vf8) + (nop!) + (.add.mul.y.vf acc vf2 vf8 acc) + (nop!) + (.add.mul.z.vf acc vf3 vf8 acc) + (nop!) + (.add.mul.w.vf vf12 vf4 vf8 acc) + (.svf (&-> v1-13 2 quad) vf11) + (nop!) + (.svf (&-> v1-13 3 quad) vf12) + (let ((a2-14 (the-as uint128 (-> *ocean-map* ocean-colors colors (+ (* 52 a0-16) a1-11)))) + (a3-9 (the-as uint128 (-> *ocean-map* ocean-colors colors (+ a1-11 1 (* 52 a0-16))))) + (t0-10 (the-as uint128 (-> *ocean-map* ocean-colors colors (+ (* 52 (+ a0-16 1)) a1-11)))) + (a0-22 (the-as uint128 (-> *ocean-map* ocean-colors colors (+ a1-11 1 (* 52 (+ a0-16 1)))))) + ) + (.pextlb a1-15 r0-0 a2-14) + (.mov r0-1 f31-0) + (.pextlb a2-15 r0-1 a3-9) + (.mov r0-2 f31-0) + (.pextlb a3-10 r0-2 t0-10) + (.mov r0-3 f31-0) + (.pextlb a0-23 r0-3 a0-22) + ) + ) + (.mov r0-4 f31-0) + (.pextlh a1-16 r0-4 a1-15) + (.mov r0-5 f31-0) + (.pextlh a2-16 r0-5 a2-15) + (.mov vf1 a1-16) + (.pextlh a1-17 r0-5 a3-10) + (.mov vf2 a2-16) + (.pextlh a0-24 r0-5 a0-23) + (.mov vf3 a1-17) + (nop!) + (.mov vf4 a0-24) + (.itof.vf vf1 vf1) + (nop!) + (.itof.vf vf2 vf2) + (nop!) + (.itof.vf vf3 vf3) + (nop!) + (.itof.vf vf4 vf4) + (nop!) + (.mul.x.vf acc vf1 vf5) + (nop!) + (.add.mul.y.vf acc vf2 vf5 acc) + (nop!) + (.add.mul.z.vf acc vf3 vf5 acc) + (nop!) + (.add.mul.w.vf vf9 vf4 vf5 acc) + (nop!) + (.mul.x.vf acc vf1 vf6) + (nop!) + (.add.mul.y.vf acc vf2 vf6 acc) + (nop!) + (.add.mul.z.vf acc vf3 vf6 acc) + (nop!) + (.add.mul.w.vf vf10 vf4 vf6 acc) + (.svf (&-> v1-13 4 quad) vf9) + (.mul.x.vf acc vf1 vf7) + (nop!) + (.add.mul.y.vf acc vf2 vf7 acc) + (nop!) + (.add.mul.z.vf acc vf3 vf7 acc) + (nop!) + (.add.mul.w.vf vf11 vf4 vf7 acc) + (.svf (&-> v1-13 5 quad) vf10) + (.mul.x.vf acc vf1 vf8) + (nop!) + (.add.mul.y.vf acc vf2 vf8 acc) + (nop!) + (.add.mul.z.vf acc vf3 vf8 acc) + (nop!) + (.add.mul.w.vf vf12 vf4 vf8 acc) + (.svf (&-> v1-13 6 quad) vf11) + (nop!) + (.svf (&-> v1-13 7 quad) vf12) + ) + (.mov v1-14 vf12) + (&+! (-> arg0 base) 128) + (let* ((v1-17 arg0) + (a0-25 (the-as object (-> v1-17 base))) + ) + (set! (-> (the-as dma-packet a0-25) dma) + (new 'static 'dma-tag :id (dma-tag-id ref) :addr (the-as int arg3) :qwc arg4) + ) + (set! (-> (the-as dma-packet a0-25) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a0-25) vif1) + (new 'static 'vif-tag :imm #x8011 :cmd (vif-cmd unpack-v4-32) :num arg4) + ) + (set! (-> v1-17 base) (&+ (the-as pointer a0-25) 16)) + ) + (if arg5 + (ocean-mid-add-call arg0 275) + (ocean-mid-add-call arg0 107) + ) ) - (.mov r0-4 f31-0) - (.pextlh a1-16 r0-4 a1-15) - (.mov r0-5 f31-0) - (.pextlh a2-16 r0-5 a2-15) - (.mov vf1 a1-16) - (.pextlh a1-17 r0-5 a3-10) - (.mov vf2 a2-16) - (.pextlh a0-24 r0-5 a0-23) - (.mov vf3 a1-17) - (nop!) - (.mov vf4 a0-24) - (.itof.vf vf1 vf1) - (nop!) - (.itof.vf vf2 vf2) - (nop!) - (.itof.vf vf3 vf3) - (nop!) - (.itof.vf vf4 vf4) - (nop!) - (.mul.x.vf acc vf1 vf5) - (nop!) - (.add.mul.y.vf acc vf2 vf5 acc) - (nop!) - (.add.mul.z.vf acc vf3 vf5 acc) - (nop!) - (.add.mul.w.vf vf9 vf4 vf5 acc) - (nop!) - (.mul.x.vf acc vf1 vf6) - (nop!) - (.add.mul.y.vf acc vf2 vf6 acc) - (nop!) - (.add.mul.z.vf acc vf3 vf6 acc) - (nop!) - (.add.mul.w.vf vf10 vf4 vf6 acc) - (.svf (&-> v1-13 4 quad) vf9) - (.mul.x.vf acc vf1 vf7) - (nop!) - (.add.mul.y.vf acc vf2 vf7 acc) - (nop!) - (.add.mul.z.vf acc vf3 vf7 acc) - (nop!) - (.add.mul.w.vf vf11 vf4 vf7 acc) - (.svf (&-> v1-13 5 quad) vf10) - (.mul.x.vf acc vf1 vf8) - (nop!) - (.add.mul.y.vf acc vf2 vf8 acc) - (nop!) - (.add.mul.z.vf acc vf3 vf8 acc) - (nop!) - (.add.mul.w.vf vf12 vf4 vf8 acc) - (.svf (&-> v1-13 6 quad) vf11) - (nop!) - (.svf (&-> v1-13 7 quad) vf12) - ) - (.mov v1-14 vf12) - (&+! (-> arg0 base) 128) - (let* ((v1-17 arg0) - (a0-25 (the-as object (-> v1-17 base))) - ) - (set! - (-> (the-as dma-packet a0-25) dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (the-as int arg3) - :qwc arg4 - ) - ) - (set! - (-> (the-as dma-packet a0-25) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a0-25) vif1) - (new 'static 'vif-tag :imm #x8011 :cmd (vif-cmd unpack-v4-32) :num arg4) - ) - (set! (-> v1-17 base) (&+ (the-as pointer a0-25) 16)) - ) - (if arg5 - (ocean-mid-add-call arg0 275) - (ocean-mid-add-call arg0 107) - ) + (none) ) - (none) - ) ) ;; definition for function ocean-trans-add-upload-strip ;; WARN: Function may read a register that is not set: f31 ;; Used lq/sq -(defun - ocean-trans-add-upload-strip - ((arg0 dma-buffer) - (arg1 uint) - (arg2 uint) - (arg3 uint) - (arg4 uint) - (arg5 uint) - ) +(defun ocean-trans-add-upload-strip ((arg0 dma-buffer) (arg1 uint) (arg2 uint) (arg3 uint) (arg4 uint) (arg5 uint)) (local-vars - (r0-0 uint128) - (r0-1 uint128) - (r0-2 uint128) - (r0-3 uint128) - (r0-4 uint128) - (r0-5 uint128) - (v1-8 float) - (a0-23 uint128) - (a0-24 uint128) - (a0-25 uint128) - (a1-14 uint128) - (a1-15 uint128) - (a1-16 uint128) - (a2-15 uint128) - (a3-11 uint128) - (f31-0 none) - ) + (r0-0 uint128) + (r0-1 uint128) + (r0-2 uint128) + (r0-3 uint128) + (r0-4 uint128) + (r0-5 uint128) + (v1-8 float) + (a0-23 uint128) + (a0-24 uint128) + (a0-25 uint128) + (a1-14 uint128) + (a1-15 uint128) + (a1-16 uint128) + (a2-15 uint128) + (a3-11 uint128) + (f31-0 none) + ) (rlet ((vf1 :class vf) (vf2 :class vf) (vf3 :class vf) (vf4 :class vf) ) - (let ((a1-1 (new-stack-vector0))) - (let ((v1-1 (-> *ocean-map* start-corner))) - (set! (-> a1-1 x) (+ (-> v1-1 x) (* 393216.0 (the float arg2)))) - (set! (-> a1-1 y) (-> v1-1 y)) - (set! (-> a1-1 z) (+ (-> v1-1 z) (* 393216.0 (the float arg1)))) - ) - (set! (-> a1-1 w) 1.0) - ) - (ocean-mid-add-matrices arg0) - (let* ((a1-2 9) - (v1-3 arg0) - (a0-2 (the-as object (-> v1-3 base))) - ) - (set! - (-> (the-as dma-packet a0-2) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a1-2) - ) - (set! - (-> (the-as dma-packet a0-2) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a0-2) vif1) - (new 'static 'vif-tag :imm #x8008 :cmd (vif-cmd unpack-v4-32) :num a1-2) - ) - (set! (-> v1-3 base) (&+ (the-as pointer a0-2) 16)) - ) - (let ((v1-4 (the-as object (-> arg0 base)))) - (set! - (-> *ocean-work* trans-mask-ptrs (+ (* arg4 4) arg5)) - (the-as (pointer int32) v1-4) - ) - (set! (-> (the-as vector4w v1-4) x) 10) - (set! (-> (the-as vector4w v1-4) y) (the-as int arg3)) - (set! (-> (the-as vector4w v1-4) z) 0) - (set! (-> (the-as vector4w v1-4) w) 0) - ) - (&+! (-> arg0 base) 16) - (let ((v1-7 (the-as (inline-array vector) (-> arg0 base)))) - (set! (-> v1-7 0 quad) (-> *ocean-trans-st-table* 0 quad)) - (set! (-> v1-7 1 quad) (-> *ocean-trans-st-table* 1 quad)) - (set! (-> v1-7 2 quad) (-> *ocean-trans-st-table* 2 quad)) - (set! (-> v1-7 3 quad) (-> *ocean-trans-st-table* 3 quad)) - (let - ((a0-22 - (the-as - uint128 - (-> *ocean-map* ocean-colors colors (+ (* 52 (the-as int arg1)) arg2)) + (let ((a1-1 (new-stack-vector0))) + (let ((v1-1 (-> *ocean-map* start-corner))) + (set! (-> a1-1 x) (+ (-> v1-1 x) (* 393216.0 (the float arg2)))) + (set! (-> a1-1 y) (-> v1-1 y)) + (set! (-> a1-1 z) (+ (-> v1-1 z) (* 393216.0 (the float arg1)))) ) - ) - (a1-13 - (the-as - uint128 - (-> *ocean-map* ocean-colors colors (+ arg2 1 (* 52 (the-as int arg1)))) - ) - ) - (a2-14 - (the-as - uint128 - (-> - *ocean-map* - ocean-colors - colors - (+ (* 52 (the-as int (+ arg1 1))) arg2) - ) - ) - ) - (a3-10 - (the-as - uint128 - (-> - *ocean-map* - ocean-colors - colors - (+ arg2 1 (* 52 (the-as int (+ arg1 1)))) - ) - ) - ) + (set! (-> a1-1 w) 1.0) ) - (.pextlb a0-23 r0-0 a0-22) - (.mov r0-1 f31-0) - (.pextlb a1-14 r0-1 a1-13) - (.mov r0-2 f31-0) - (.pextlb a2-15 r0-2 a2-14) - (.mov r0-3 f31-0) - (.pextlb a3-11 r0-3 a3-10) - ) - (.mov r0-4 f31-0) - (.pextlh a0-24 r0-4 a0-23) - (.mov r0-5 f31-0) - (.pextlh a1-15 r0-5 a1-14) - (.mov vf1 a0-24) - (.pextlh a0-25 r0-5 a2-15) - (.mov vf2 a1-15) - (.pextlh a1-16 r0-5 a3-11) - (.mov vf3 a0-25) - (nop!) - (.mov vf4 a1-16) - (.itof.vf vf1 vf1) - (nop!) - (.itof.vf vf2 vf2) - (nop!) - (.itof.vf vf3 vf3) - (nop!) - (.itof.vf vf4 vf4) - (nop!) - (nop!) - (.svf (&-> v1-7 4 quad) vf1) - (nop!) - (.svf (&-> v1-7 5 quad) vf2) - (nop!) - (.svf (&-> v1-7 6 quad) vf3) - (nop!) - (.svf (&-> v1-7 7 quad) vf4) - ) - (.mov v1-8 vf4) - (&+! (-> arg0 base) 128) - (let* ((a1-17 10) - (v1-11 arg0) - (a0-26 (the-as object (-> v1-11 base))) - ) - (set! - (-> (the-as dma-packet a0-26) dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (the-as int (+ (+ (* 160 (the-as int arg5)) 0) (the-as int *ocean-trans-strip-array*))) - :qwc a1-17 + (ocean-mid-add-matrices arg0) + (let* ((a1-2 9) + (v1-3 arg0) + (a0-2 (the-as object (-> v1-3 base))) + ) + (set! (-> (the-as dma-packet a0-2) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a1-2)) + (set! (-> (the-as dma-packet a0-2) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a0-2) vif1) + (new 'static 'vif-tag :imm #x8008 :cmd (vif-cmd unpack-v4-32) :num a1-2) + ) + (set! (-> v1-3 base) (&+ (the-as pointer a0-2) 16)) ) - ) - (set! - (-> (the-as dma-packet a0-26) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a0-26) vif1) - (new 'static 'vif-tag :imm #x8011 :cmd (vif-cmd unpack-v4-32) :num a1-17) - ) - (set! (-> v1-11 base) (&+ (the-as pointer a0-26) 16)) + (let ((v1-4 (the-as object (-> arg0 base)))) + (set! (-> *ocean-work* trans-mask-ptrs (+ (* arg4 4) arg5)) (the-as (pointer int32) v1-4)) + (set! (-> (the-as vector4w v1-4) x) 10) + (set! (-> (the-as vector4w v1-4) y) (the-as int arg3)) + (set! (-> (the-as vector4w v1-4) z) 0) + (set! (-> (the-as vector4w v1-4) w) 0) + ) + (&+! (-> arg0 base) 16) + (let ((v1-7 (the-as (inline-array vector) (-> arg0 base)))) + (set! (-> v1-7 0 quad) (-> *ocean-trans-st-table* 0 quad)) + (set! (-> v1-7 1 quad) (-> *ocean-trans-st-table* 1 quad)) + (set! (-> v1-7 2 quad) (-> *ocean-trans-st-table* 2 quad)) + (set! (-> v1-7 3 quad) (-> *ocean-trans-st-table* 3 quad)) + (let ((a0-22 (the-as uint128 (-> *ocean-map* ocean-colors colors (+ (* 52 (the-as int arg1)) arg2)))) + (a1-13 (the-as uint128 (-> *ocean-map* ocean-colors colors (+ arg2 1 (* 52 (the-as int arg1)))))) + (a2-14 (the-as uint128 (-> *ocean-map* ocean-colors colors (+ (* 52 (the-as int (+ arg1 1))) arg2)))) + (a3-10 (the-as uint128 (-> *ocean-map* ocean-colors colors (+ arg2 1 (* 52 (the-as int (+ arg1 1))))))) + ) + (.pextlb a0-23 r0-0 a0-22) + (.mov r0-1 f31-0) + (.pextlb a1-14 r0-1 a1-13) + (.mov r0-2 f31-0) + (.pextlb a2-15 r0-2 a2-14) + (.mov r0-3 f31-0) + (.pextlb a3-11 r0-3 a3-10) + ) + (.mov r0-4 f31-0) + (.pextlh a0-24 r0-4 a0-23) + (.mov r0-5 f31-0) + (.pextlh a1-15 r0-5 a1-14) + (.mov vf1 a0-24) + (.pextlh a0-25 r0-5 a2-15) + (.mov vf2 a1-15) + (.pextlh a1-16 r0-5 a3-11) + (.mov vf3 a0-25) + (nop!) + (.mov vf4 a1-16) + (.itof.vf vf1 vf1) + (nop!) + (.itof.vf vf2 vf2) + (nop!) + (.itof.vf vf3 vf3) + (nop!) + (.itof.vf vf4 vf4) + (nop!) + (nop!) + (.svf (&-> v1-7 4 quad) vf1) + (nop!) + (.svf (&-> v1-7 5 quad) vf2) + (nop!) + (.svf (&-> v1-7 6 quad) vf3) + (nop!) + (.svf (&-> v1-7 7 quad) vf4) + ) + (.mov v1-8 vf4) + (&+! (-> arg0 base) 128) + (let* ((a1-17 10) + (v1-11 arg0) + (a0-26 (the-as object (-> v1-11 base))) + ) + (set! (-> (the-as dma-packet a0-26) dma) + (new 'static 'dma-tag + :id (dma-tag-id ref) + :addr (the-as int (+ (+ (* 160 (the-as int arg5)) 0) (the-as int *ocean-trans-strip-array*))) + :qwc a1-17 + ) + ) + (set! (-> (the-as dma-packet a0-26) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a0-26) vif1) + (new 'static 'vif-tag :imm #x8011 :cmd (vif-cmd unpack-v4-32) :num a1-17) + ) + (set! (-> v1-11 base) (&+ (the-as pointer a0-26) 16)) + ) + (ocean-mid-add-call arg0 107) + (none) ) - (ocean-mid-add-call arg0 107) - (none) - ) ) ;; definition for function ocean-transition-check ;; Used lq/sq -(defun - ocean-transition-check - ((arg0 ocean-trans-mask) (arg1 int) (arg2 int) (arg3 vector)) - (local-vars - (v0-0 symbol) - (v1-10 float) - (a3-2 float) - (a3-6 float) - (a3-10 float) - ) +(defun ocean-transition-check ((arg0 ocean-trans-mask) (arg1 int) (arg2 int) (arg3 vector)) + (local-vars (v0-0 symbol) (v1-10 float) (a3-2 float) (a3-6 float) (a3-10 float)) (rlet ((vf1 :class vf) (vf2 :class vf) (vf3 :class vf) ) - (let ((v1-0 (new-stack-vector0)) - (t0-1 (-> *math-camera* trans)) - ) - 1.0 - (set! (-> v1-0 x) (+ (-> arg3 x) (* 98304.0 (the float arg1)))) - (set! (-> v1-0 y) (-> arg3 y)) - (set! (-> v1-0 z) (+ (-> arg3 z) (* 98304.0 (the float arg2)))) - (let ((a3-1 v1-0) - (t1-0 t0-1) + (let ((v1-0 (new-stack-vector0)) + (t0-1 (-> *math-camera* trans)) ) - (.lvf vf2 (&-> a3-1 quad)) - (.lvf vf3 (&-> t1-0 quad)) - ) + 1.0 + (set! (-> v1-0 x) (+ (-> arg3 x) (* 98304.0 (the float arg1)))) + (set! (-> v1-0 y) (-> arg3 y)) + (set! (-> v1-0 z) (+ (-> arg3 z) (* 98304.0 (the float arg2)))) + (let ((a3-1 v1-0) + (t1-0 t0-1) + ) + (.lvf vf2 (&-> a3-1 quad)) + (.lvf vf3 (&-> t1-0 quad)) + ) + (.sub.vf vf1 vf3 vf2) + (.mul.vf vf1 vf1 vf1) + (.add.y.vf vf1 vf1 vf1 :mask #b1) + (.add.z.vf vf1 vf1 vf1 :mask #b1) + (.mov a3-2 vf1) + (when (< a3-2 19327350000.0) + (logior! (-> arg0 mask arg2) (ash 1 arg1)) + (return #f) + ) + (set! (-> v1-0 x) (+ 98304.0 (-> v1-0 x))) + (let ((a3-5 v1-0) + (t1-1 t0-1) + ) + (.lvf vf2 (&-> a3-5 quad)) + (.lvf vf3 (&-> t1-1 quad)) + ) + (.sub.vf vf1 vf3 vf2) + (.mul.vf vf1 vf1 vf1) + (.add.y.vf vf1 vf1 vf1 :mask #b1) + (.add.z.vf vf1 vf1 vf1 :mask #b1) + (.mov a3-6 vf1) + (when (< a3-6 19327350000.0) + (logior! (-> arg0 mask arg2) (ash 1 arg1)) + (return #f) + ) + (set! (-> v1-0 z) (+ 98304.0 (-> v1-0 z))) + (let ((a3-9 v1-0) + (t1-2 t0-1) + ) + (.lvf vf2 (&-> a3-9 quad)) + (.lvf vf3 (&-> t1-2 quad)) + ) + (.sub.vf vf1 vf3 vf2) + (.mul.vf vf1 vf1 vf1) + (.add.y.vf vf1 vf1 vf1 :mask #b1) + (.add.z.vf vf1 vf1 vf1 :mask #b1) + (.mov a3-10 vf1) + (when (< a3-10 19327350000.0) + (logior! (-> arg0 mask arg2) (ash 1 arg1)) + (return #f) + ) + (set! (-> v1-0 x) (+ -98304.0 (-> v1-0 x))) + (.lvf vf2 (&-> v1-0 quad)) + (.lvf vf3 (&-> t0-1 quad)) + ) (.sub.vf vf1 vf3 vf2) (.mul.vf vf1 vf1 vf1) (.add.y.vf vf1 vf1 vf1 :mask #b1) (.add.z.vf vf1 vf1 vf1 :mask #b1) - (.mov a3-2 vf1) - (when (< a3-2 19327350000.0) - (logior! (-> arg0 mask arg2) (ash 1 arg1)) - (return #f) - ) - (set! (-> v1-0 x) (+ 98304.0 (-> v1-0 x))) - (let ((a3-5 v1-0) - (t1-1 t0-1) - ) - (.lvf vf2 (&-> a3-5 quad)) - (.lvf vf3 (&-> t1-1 quad)) - ) - (.sub.vf vf1 vf3 vf2) - (.mul.vf vf1 vf1 vf1) - (.add.y.vf vf1 vf1 vf1 :mask #b1) - (.add.z.vf vf1 vf1 vf1 :mask #b1) - (.mov a3-6 vf1) - (when (< a3-6 19327350000.0) - (logior! (-> arg0 mask arg2) (ash 1 arg1)) - (return #f) - ) - (set! (-> v1-0 z) (+ 98304.0 (-> v1-0 z))) - (let ((a3-9 v1-0) - (t1-2 t0-1) - ) - (.lvf vf2 (&-> a3-9 quad)) - (.lvf vf3 (&-> t1-2 quad)) - ) - (.sub.vf vf1 vf3 vf2) - (.mul.vf vf1 vf1 vf1) - (.add.y.vf vf1 vf1 vf1 :mask #b1) - (.add.z.vf vf1 vf1 vf1 :mask #b1) - (.mov a3-10 vf1) - (when (< a3-10 19327350000.0) - (logior! (-> arg0 mask arg2) (ash 1 arg1)) - (return #f) - ) - (set! (-> v1-0 x) (+ -98304.0 (-> v1-0 x))) - (.lvf vf2 (&-> v1-0 quad)) - (.lvf vf3 (&-> t0-1 quad)) + (.mov v1-10 vf1) + (when (< v1-10 19327350000.0) + (logior! (-> arg0 mask arg2) (ash 1 arg1)) + (return #f) + v0-0 + ) ) - (.sub.vf vf1 vf3 vf2) - (.mul.vf vf1 vf1 vf1) - (.add.y.vf vf1 vf1 vf1 :mask #b1) - (.add.z.vf vf1 vf1 vf1 :mask #b1) - (.mov v1-10 vf1) - (when (< v1-10 19327350000.0) - (logior! (-> arg0 mask arg2) (ash 1 arg1)) - (return #f) - v0-0 - ) - ) ) ;; definition for function ocean-make-trans-camera-masks ;; Used lq/sq -(defun - ocean-make-trans-camera-masks - ((arg0 uint) (arg1 uint) (arg2 uint) (arg3 uint)) - (local-vars - (sv-48 ocean-trans-mask) - (sv-52 vector) - (sv-56 vector) - (sv-60 vector) - ) +(defun ocean-make-trans-camera-masks ((arg0 uint) (arg1 uint) (arg2 uint) (arg3 uint)) + (local-vars (sv-48 ocean-trans-mask) (sv-52 vector) (sv-56 vector) (sv-60 vector)) (set! sv-48 (-> *ocean-work* trans-camera-masks (+ (* arg2 4) arg3))) (set! sv-52 (-> *math-camera* trans)) (set! sv-56 (new-stack-vector0)) (set! sv-60 (new-stack-vector0)) - (set! - (-> sv-56 x) - (+ (-> *ocean-map* start-corner x) (* 393216.0 (the float arg1))) - ) + (set! (-> sv-56 x) (+ (-> *ocean-map* start-corner x) (* 393216.0 (the float arg1)))) (set! (-> sv-56 y) (-> *ocean-map* start-corner y)) - (set! - (-> sv-56 z) - (+ (-> *ocean-map* start-corner z) (* 393216.0 (the float arg0))) - ) + (set! (-> sv-56 z) (+ (-> *ocean-map* start-corner z) (* 393216.0 (the float arg0)))) (set! (-> sv-56 w) 1.0) (dotimes (gp-0 4) - (dotimes (s5-0 4) - (set! - (-> sv-60 x) - (- (+ (-> sv-56 x) (* 98304.0 (the float s5-0))) (-> sv-52 x)) - ) - (set! (-> sv-60 y) (- (-> sv-56 y) (-> sv-52 y))) - (set! - (-> sv-60 z) - (- (+ (-> sv-56 z) (* 98304.0 (the float gp-0))) (-> sv-52 z)) - ) - (ocean-transition-check sv-48 s5-0 gp-0 sv-56) + (dotimes (s5-0 4) + (set! (-> sv-60 x) (- (+ (-> sv-56 x) (* 98304.0 (the float s5-0))) (-> sv-52 x))) + (set! (-> sv-60 y) (- (-> sv-56 y) (-> sv-52 y))) + (set! (-> sv-60 z) (- (+ (-> sv-56 z) (* 98304.0 (the float gp-0))) (-> sv-52 z))) + (ocean-transition-check sv-48 s5-0 gp-0 sv-56) + ) ) - ) #f ) ;; definition for function ocean-trans-add-upload (defun ocean-trans-add-upload ((arg0 dma-buffer) (arg1 int) (arg2 int)) (when (not (ocean-trans-mask-ptrs-bit? arg1 arg2)) - (let - ((s1-0 - (ocean-trans-camera-masks-bit? - (the-as uint (+ arg1 -1)) - (the-as uint arg2) - ) - ) - (s2-0 - (ocean-trans-camera-masks-bit? - (the-as uint (+ arg1 1)) - (the-as uint arg2) - ) - ) - (s3-0 - (ocean-trans-camera-masks-bit? - (the-as uint arg1) - (the-as uint (+ arg2 -1)) - ) - ) - (a0-6 - (ocean-trans-camera-masks-bit? - (the-as uint arg1) - (the-as uint (+ arg2 1)) - ) - ) - (v1-0 0) - ) - (if s1-0 - (+! v1-0 1) - ) - (if s2-0 - (+! v1-0 2) - ) - (if s3-0 - (+! v1-0 4) - ) - (if a0-6 - (+! v1-0 8) - ) - (cond - ((= v1-0 1) - (if (not (ocean-trans-mask-ptrs-bit? (+ arg1 -1) arg2)) - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-up-table* - 11 - #t - ) - ) - ) - ((= v1-0 2) - (if (not (ocean-trans-mask-ptrs-bit? (+ arg1 1) arg2)) - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-down-table* - 11 - #t - ) - ) - ) - ((= v1-0 4) - (if (not (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 -1))) - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-left-table* - 11 - #t - ) - ) - ) - ((= v1-0 5) - (let ((s3-1 (ocean-trans-mask-ptrs-bit? (+ arg1 -1) arg2)) - (v1-1 (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 -1))) - ) - (cond - ((and s3-1 v1-1) - ) - (s3-1 - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-left-table* - 11 - #t + (let ((s1-0 (ocean-trans-camera-masks-bit? (the-as uint (+ arg1 -1)) (the-as uint arg2))) + (s2-0 (ocean-trans-camera-masks-bit? (the-as uint (+ arg1 1)) (the-as uint arg2))) + (s3-0 (ocean-trans-camera-masks-bit? (the-as uint arg1) (the-as uint (+ arg2 -1)))) + (a0-6 (ocean-trans-camera-masks-bit? (the-as uint arg1) (the-as uint (+ arg2 1)))) + (v1-0 0) ) - ) - (v1-1 - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-up-table* - 11 - #t + (if s1-0 + (+! v1-0 1) ) - ) - (else - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-up-left-table* - 18 - #f + (if s2-0 + (+! v1-0 2) ) + (if s3-0 + (+! v1-0 4) + ) + (if a0-6 + (+! v1-0 8) + ) + (cond + ((= v1-0 1) + (if (not (ocean-trans-mask-ptrs-bit? (+ arg1 -1) arg2)) + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-up-table* 11 #t) + ) + ) + ((= v1-0 2) + (if (not (ocean-trans-mask-ptrs-bit? (+ arg1 1) arg2)) + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-down-table* 11 #t) + ) + ) + ((= v1-0 4) + (if (not (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 -1))) + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-left-table* 11 #t) + ) + ) + ((= v1-0 5) + (let ((s3-1 (ocean-trans-mask-ptrs-bit? (+ arg1 -1) arg2)) + (v1-1 (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 -1))) + ) + (cond + ((and s3-1 v1-1) + ) + (s3-1 + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-left-table* 11 #t) + ) + (v1-1 + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-up-table* 11 #t) + ) + (else + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-up-left-table* 18 #f) + ) + ) + ) + ) + ((= v1-0 6) + (let ((s3-2 (ocean-trans-mask-ptrs-bit? (+ arg1 1) arg2)) + (v1-2 (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 -1))) + ) + (cond + ((and s3-2 v1-2) + ) + (s3-2 + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-left-table* 11 #t) + ) + (v1-2 + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-down-table* 11 #t) + ) + (else + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-down-left-table* 18 #t) + ) + ) + ) + ) + ((= v1-0 8) + (if (not (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 1))) + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-right-table* 11 #t) + ) + ) + ((= v1-0 9) + (let ((s3-3 (ocean-trans-mask-ptrs-bit? (+ arg1 -1) arg2)) + (v1-3 (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 1))) + ) + (cond + ((and s3-3 v1-3) + ) + (s3-3 + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-right-table* 11 #t) + ) + (v1-3 + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-up-table* 11 #t) + ) + (else + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-up-right-table* 18 #t) + ) + ) + ) + ) + ((= v1-0 10) + (let ((s3-4 (ocean-trans-mask-ptrs-bit? (+ arg1 1) arg2)) + (v1-4 (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 1))) + ) + (cond + ((and s3-4 v1-4) + ) + (s3-4 + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-right-table* 11 #t) + ) + (v1-4 + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-down-table* 11 #t) + ) + (else + (ocean-trans-add-upload-table arg0 arg1 arg2 *ocean-trans-down-right-table* 18 #f) + ) + ) + ) ) ) - ) ) - ((= v1-0 6) - (let ((s3-2 (ocean-trans-mask-ptrs-bit? (+ arg1 1) arg2)) - (v1-2 (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 -1))) - ) - (cond - ((and s3-2 v1-2) - ) - (s3-2 - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-left-table* - 11 - #t - ) - ) - (v1-2 - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-down-table* - 11 - #t - ) - ) - (else - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-down-left-table* - 18 - #t - ) - ) - ) - ) - ) - ((= v1-0 8) - (if (not (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 1))) - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-right-table* - 11 - #t - ) - ) - ) - ((= v1-0 9) - (let ((s3-3 (ocean-trans-mask-ptrs-bit? (+ arg1 -1) arg2)) - (v1-3 (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 1))) - ) - (cond - ((and s3-3 v1-3) - ) - (s3-3 - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-right-table* - 11 - #t - ) - ) - (v1-3 - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-up-table* - 11 - #t - ) - ) - (else - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-up-right-table* - 18 - #t - ) - ) - ) - ) - ) - ((= v1-0 10) - (let ((s3-4 (ocean-trans-mask-ptrs-bit? (+ arg1 1) arg2)) - (v1-4 (ocean-trans-mask-ptrs-bit? arg1 (+ arg2 1))) - ) - (cond - ((and s3-4 v1-4) - ) - (s3-4 - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-right-table* - 11 - #t - ) - ) - (v1-4 - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-down-table* - 11 - #t - ) - ) - (else - (ocean-trans-add-upload-table - arg0 - arg1 - arg2 - *ocean-trans-down-right-table* - 18 - #f - ) - ) - ) - ) - ) - ) ) - ) (none) ) ;; definition for function draw-ocean-transition-seams (defun draw-ocean-transition-seams ((arg0 dma-buffer)) - (local-vars - (sv-32 uint) - (sv-33 uint) - (sv-34 uint) - (sv-35 uint) - (sv-36 sphere) - ) + (local-vars (sv-32 uint) (sv-33 uint) (sv-34 uint) (sv-35 uint) (sv-36 sphere)) (set! sv-32 (-> *ocean-work* near-minx)) (set! sv-33 (-> *ocean-work* near-maxx)) (set! sv-34 (-> *ocean-work* near-minz)) @@ -950,48 +665,39 @@ (set! (-> sv-36 y) (-> *ocean-map* start-corner y)) (set! (-> sv-36 w) 69511.42) (when (and (< sv-32 sv-33) (< sv-34 sv-35)) - (let ((s5-0 sv-34) - (s4-0 sv-35) - ) - (while (>= s4-0 s5-0) - (let ((s3-0 sv-32) - (s2-0 sv-33) - ) - (while (>= s2-0 s3-0) - (set! - (-> sv-36 x) - (+ 49152.0 (* 98304.0 (the float s3-0)) (-> *ocean-map* start-corner x)) + (let ((s5-0 sv-34) + (s4-0 sv-35) + ) + (while (>= s4-0 s5-0) + (let ((s3-0 sv-32) + (s2-0 sv-33) + ) + (while (>= s2-0 s3-0) + (set! (-> sv-36 x) (+ 49152.0 (* 98304.0 (the float s3-0)) (-> *ocean-map* start-corner x))) + (set! (-> sv-36 z) (+ 49152.0 (* 98304.0 (the float s5-0)) (-> *ocean-map* start-corner z))) + (when (sphere-cull sv-36) + (if (not (ocean-trans-camera-masks-bit? s5-0 s3-0)) + (ocean-trans-add-upload arg0 (the-as int s5-0) (the-as int s3-0)) + ) + ) + (+! s3-0 1) + ) + ) + (+! s5-0 1) ) - (set! - (-> sv-36 z) - (+ 49152.0 (* 98304.0 (the float s5-0)) (-> *ocean-map* start-corner z)) - ) - (when (sphere-cull sv-36) - (if (not (ocean-trans-camera-masks-bit? s5-0 s3-0)) - (ocean-trans-add-upload arg0 (the-as int s5-0) (the-as int s3-0)) - ) - ) - (+! s3-0 1) - ) ) - (+! s5-0 1) - ) ) - ) (dotimes (v1-27 16) - (when (nonzero? (-> *ocean-work* trans-camera-masks v1-27 word)) - (dotimes (a0-12 4) - (let ((a1-8 (-> *ocean-work* trans-mask-ptrs (+ (* v1-27 4) a0-12)))) - (if a1-8 - (logior! - (-> a1-8 1) - (-> *ocean-work* trans-temp-masks 0 mask (+ a0-12 (* v1-27 8))) + (when (nonzero? (-> *ocean-work* trans-camera-masks v1-27 word)) + (dotimes (a0-12 4) + (let ((a1-8 (-> *ocean-work* trans-mask-ptrs (+ (* v1-27 4) a0-12)))) + (if a1-8 + (logior! (-> a1-8 1) (-> *ocean-work* trans-temp-masks 0 mask (+ a0-12 (* v1-27 8)))) + ) + ) ) - ) ) - ) ) - ) #f ) @@ -1001,51 +707,44 @@ (v1-0 arg0) (a1-0 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as dma-packet a1-0) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a2-0) + (set! (-> (the-as dma-packet a1-0) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a2-0)) + (set! (-> (the-as dma-packet a1-0) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a1-0) vif1) + (new 'static 'vif-tag :imm #x2fd :cmd (vif-cmd unpack-v4-32) :num a2-0) + ) + (set! (-> v1-0 base) (&+ (the-as pointer a1-0) 16)) ) - (set! - (-> (the-as dma-packet a1-0) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a1-0) vif1) - (new 'static 'vif-tag :imm #x2fd :cmd (vif-cmd unpack-v4-32) :num a2-0) - ) - (set! (-> v1-0 base) (&+ (the-as pointer a1-0) 16)) - ) (let ((v1-1 (the-as matrix (-> arg0 base)))) - (set-vector! (-> v1-1 vector 0) 0.0 0.0 0.0 1.0) - (set-vector! (-> v1-1 vector 1) 98304.0 0.0 0.0 1.0) - (set-vector! (-> v1-1 vector 2) 0.0 0.0 98304.0 1.0) - (set-vector! (-> v1-1 vector 3) 98304.0 0.0 98304.0 1.0) - ) + (set-vector! (-> v1-1 vector 0) 0.0 0.0 0.0 1.0) + (set-vector! (-> v1-1 vector 1) 98304.0 0.0 0.0 1.0) + (set-vector! (-> v1-1 vector 2) 0.0 0.0 98304.0 1.0) + (set-vector! (-> v1-1 vector 3) 98304.0 0.0 98304.0 1.0) + ) (let ((v0-0 (&+ (-> arg0 base) 64))) - (set! (-> arg0 base) v0-0) - v0-0 - ) + (set! (-> arg0 base) v0-0) + v0-0 + ) ) ;; definition for function draw-ocean-transition ;; INFO: Return type mismatch int vs none. (defun draw-ocean-transition ((arg0 dma-buffer)) (local-vars - (sv-32 uint) - (sv-33 uint) - (sv-34 uint) - (sv-35 uint) - (sv-36 sphere) - (sv-40 ocean-trans-mask) - (sv-44 uint) - ) + (sv-32 uint) + (sv-33 uint) + (sv-34 uint) + (sv-35 uint) + (sv-36 sphere) + (sv-40 ocean-trans-mask) + (sv-44 uint) + ) (dotimes (v1-0 16) - (set! (-> *ocean-work* trans-camera-masks v1-0 word) (the-as uint 0)) - (set! (-> *ocean-work* near-mask-indices v1-0) (the-as uint -1)) - ) + (set! (-> *ocean-work* trans-camera-masks v1-0 word) (the-as uint 0)) + (set! (-> *ocean-work* near-mask-indices v1-0) (the-as uint -1)) + ) (dotimes (v1-3 64) - (set! (-> *ocean-work* trans-mask-ptrs v1-3) (the-as (pointer int32) #f)) - ) + (set! (-> *ocean-work* trans-mask-ptrs v1-3) (the-as (pointer int32) #f)) + ) (set! sv-32 (-> *ocean-work* mid-minx)) (set! sv-33 (-> *ocean-work* mid-maxx)) (set! sv-34 (-> *ocean-work* mid-minz)) @@ -1056,162 +755,115 @@ (let ((s5-0 sv-34) (s4-0 sv-35) ) - (while (>= s4-0 s5-0) - (let ((s3-0 sv-32) - (s2-0 sv-33) + (while (>= s4-0 s5-0) + (let ((s3-0 sv-32) + (s2-0 sv-33) + ) + (while (>= s2-0 s3-0) + (when (not (ocean-mid-mask-ptrs-bit? s5-0)) + (when (ocean-mid-camera-masks-bit? s5-0) + (set! (-> sv-36 x) (+ 196608.0 (* 393216.0 (the float s3-0)) (-> *ocean-map* start-corner x))) + (set! (-> sv-36 z) (+ 196608.0 (* 393216.0 (the float s5-0)) (-> *ocean-map* start-corner z))) + (if (sphere-cull sv-36) + (ocean-make-trans-camera-masks s5-0 s3-0 (- s5-0 sv-34) (- s3-0 sv-32)) + ) + ) + ) + (+! s3-0 1) ) - (while (>= s2-0 s3-0) - (when (not (ocean-mid-mask-ptrs-bit? s5-0)) - (when (ocean-mid-camera-masks-bit? s5-0) - (set! - (-> sv-36 x) - (+ - 196608.0 - (* 393216.0 (the float s3-0)) - (-> *ocean-map* start-corner x) - ) - ) - (set! - (-> sv-36 z) - (+ - 196608.0 - (* 393216.0 (the float s5-0)) - (-> *ocean-map* start-corner z) - ) - ) - (if (sphere-cull sv-36) - (ocean-make-trans-camera-masks s5-0 s3-0 (- s5-0 sv-34) (- s3-0 sv-32)) - ) ) - ) - (+! s3-0 1) + (+! s5-0 1) ) - ) - (+! s5-0 1) ) - ) (let ((a2-2 192) (a1-8 0) (a0-11 192) (v1-32 0) ) - (let ((a3-1 sv-34) - (t0-0 sv-35) - ) - (while (>= t0-0 a3-1) - (let ((t1-0 sv-32) - (t2-0 sv-33) - ) - (while (>= t2-0 t1-0) - (set! - sv-40 - (-> - *ocean-work* - trans-camera-masks - (+ (* (- a3-1 sv-34) 4) (- t1-0 sv-32)) - ) - ) - (when (nonzero? (-> sv-40 word)) - (dotimes (t3-10 4) - (let ((t4-5 (-> sv-40 mask t3-10))) - (when (nonzero? t4-5) - (let ((t5-2 (+ (* a3-1 4) t3-10))) - (if (< t5-2 (the-as uint a0-11)) - (set! a0-11 (the-as int t5-2)) - ) - (if (< (the-as uint v1-32) t5-2) - (set! v1-32 (the-as int t5-2)) - ) - ) - (dotimes (t5-3 4) - (when (logtest? t4-5 (ash 1 t5-3)) - (let ((t6-9 (+ (* t1-0 4) t5-3))) - (if (< t6-9 (the-as uint a2-2)) - (set! a2-2 (the-as int t6-9)) - ) - (if (< (the-as uint a1-8) t6-9) - (set! a1-8 (the-as int t6-9)) - ) - ) - ) - ) - ) + (let ((a3-1 sv-34) + (t0-0 sv-35) ) - ) + (while (>= t0-0 a3-1) + (let ((t1-0 sv-32) + (t2-0 sv-33) + ) + (while (>= t2-0 t1-0) + (set! sv-40 (-> *ocean-work* trans-camera-masks (+ (* (- a3-1 sv-34) 4) (- t1-0 sv-32)))) + (when (nonzero? (-> sv-40 word)) + (dotimes (t3-10 4) + (let ((t4-5 (-> sv-40 mask t3-10))) + (when (nonzero? t4-5) + (let ((t5-2 (+ (* a3-1 4) t3-10))) + (if (< t5-2 (the-as uint a0-11)) + (set! a0-11 (the-as int t5-2)) + ) + (if (< (the-as uint v1-32) t5-2) + (set! v1-32 (the-as int t5-2)) + ) + ) + (dotimes (t5-3 4) + (when (logtest? t4-5 (ash 1 t5-3)) + (let ((t6-9 (+ (* t1-0 4) t5-3))) + (if (< t6-9 (the-as uint a2-2)) + (set! a2-2 (the-as int t6-9)) + ) + (if (< (the-as uint a1-8) t6-9) + (set! a1-8 (the-as int t6-9)) + ) + ) + ) + ) + ) + ) + ) + ) + (+! t1-0 1) + ) + ) + (+! a3-1 1) ) - (+! t1-0 1) - ) ) - (+! a3-1 1) - ) + (set! (-> *ocean-work* near-minx) (the-as uint (+ a2-2 -1))) + (set! (-> *ocean-work* near-maxx) (the-as uint (+ a1-8 1))) + (set! (-> *ocean-work* near-minz) (the-as uint (+ a0-11 -1))) + (set! (-> *ocean-work* near-maxz) (the-as uint (+ v1-32 1))) ) - (set! (-> *ocean-work* near-minx) (the-as uint (+ a2-2 -1))) - (set! (-> *ocean-work* near-maxx) (the-as uint (+ a1-8 1))) - (set! (-> *ocean-work* near-minz) (the-as uint (+ a0-11 -1))) - (set! (-> *ocean-work* near-maxz) (the-as uint (+ v1-32 1))) - ) (dotimes (v1-34 16) - (set! - (-> *ocean-work* trans-temp-masks v1-34 word) - (-> *ocean-work* trans-camera-masks v1-34 word) + (set! (-> *ocean-work* trans-temp-masks v1-34 word) (-> *ocean-work* trans-camera-masks v1-34 word)) ) - ) (let ((s5-1 sv-34) (s4-1 sv-35) ) - (while (>= s4-1 s5-1) - (let ((s3-1 sv-32) - (s2-1 sv-33) - ) - (while (>= s2-1 s3-1) - (when (not (ocean-mid-mask-ptrs-bit? s5-1)) - (when (ocean-mid-camera-masks-bit? s5-1) - (let - ((v1-43 - (-> - *ocean-map* - ocean-trans-indices - data - (+ (* (the-as uint 48) s5-1) s3-1) + (while (>= s4-1 s5-1) + (let ((s3-1 sv-32) + (s2-1 sv-33) ) - ) - ) - (when (>= (-> v1-43 parent) 0) - (set! sv-44 (+ (* (- s5-1 sv-34) 4) (- s3-1 sv-32))) - (set! - (-> *ocean-work* near-mask-indices sv-44) - (the-as uint (-> v1-43 child)) - ) - (let ((s1-0 (-> *ocean-map* ocean-mid-masks data (-> v1-43 parent)))) - (dotimes (s0-0 4) - (let - ((a3-5 - (-> (the-as ocean-mid-mask (+ s0-0 (the-as int s1-0))) mask 0) - ) + (while (>= s2-1 s3-1) + (when (not (ocean-mid-mask-ptrs-bit? s5-1)) + (when (ocean-mid-camera-masks-bit? s5-1) + (let ((v1-43 (-> *ocean-map* ocean-trans-indices data (+ (* (the-as uint 48) s5-1) s3-1)))) + (when (>= (-> v1-43 parent) 0) + (set! sv-44 (+ (* (- s5-1 sv-34) 4) (- s3-1 sv-32))) + (set! (-> *ocean-work* near-mask-indices sv-44) (the-as uint (-> v1-43 child))) + (let ((s1-0 (-> *ocean-map* ocean-mid-masks data (-> v1-43 parent)))) + (dotimes (s0-0 4) + (let ((a3-5 (-> (the-as ocean-mid-mask (+ s0-0 (the-as int s1-0))) mask 0))) + (if (!= a3-5 255) + (ocean-trans-add-upload-strip arg0 s5-1 s3-1 a3-5 sv-44 (the-as uint s0-0)) + ) + ) + ) + ) + ) + ) ) - (if (!= a3-5 255) - (ocean-trans-add-upload-strip - arg0 - s5-1 - s3-1 - a3-5 - sv-44 - (the-as uint s0-0) - ) - ) - ) ) - ) + (+! s3-1 1) ) - ) ) - ) - (+! s3-1 1) + (+! s5-1 1) ) - ) - (+! s5-1 1) ) - ) (ocean-mid-add-call-flush arg0 (the-as uint 41)) (ocean-trans-add-constants arg0) (draw-ocean-transition-seams arg0) diff --git a/test/decompiler/reference/engine/gfx/ripple_REF.gc b/test/decompiler/reference/engine/gfx/ripple_REF.gc index 0e5780f824..d6dd9e535f 100644 --- a/test/decompiler/reference/engine/gfx/ripple_REF.gc +++ b/test/decompiler/reference/engine/gfx/ripple_REF.gc @@ -48,19 +48,19 @@ (a2-1 (-> *ripple-globals* requests)) (a3-0 0) ) - (when (< v1-1 16) - (dotimes (t0-1 v1-1) - (if (= arg1 (-> a2-1 t0-1 effect)) - (set! a3-0 1) + (when (< v1-1 16) + (dotimes (t0-1 v1-1) + (if (= arg1 (-> a2-1 t0-1 effect)) + (set! a3-0 1) + ) + ) + (when (zero? a3-0) + (set! (-> a2-1 v1-1 effect) arg1) + (set! (-> a2-1 v1-1 waveform) arg0) + (+! (-> *ripple-globals* count) 1) + ) ) - ) - (when (zero? a3-0) - (set! (-> a2-1 v1-1 effect) arg1) - (set! (-> a2-1 v1-1 waveform) arg0) - (+! (-> *ripple-globals* count) 1) - ) ) - ) 0 (none) ) @@ -68,30 +68,17 @@ ;; definition for function ripple-update-waveform-offs ;; INFO: Return type mismatch int vs none. (defun ripple-update-waveform-offs ((arg0 ripple-wave-set)) - (let - ((f0-1 - (the - float - (- - (-> *display* integral-frame-counter) - (the-as int (-> arg0 frame-save)) - ) + (let ((f0-1 (the float (- (-> *display* integral-frame-counter) (the-as int (-> arg0 frame-save)))))) + (when (!= f0-1 0.0) + (dotimes (v1-4 (-> arg0 count)) + (let ((a1-4 (-> arg0 wave v1-4))) + (+! (-> a1-4 offs) (* f0-1 (-> a1-4 delta))) + (set! (-> a1-4 offs) (the float (logand (the int (-> a1-4 offs)) #xffff))) + ) + ) + (set! (-> arg0 frame-save) (the-as uint (-> *display* integral-frame-counter))) ) - ) ) - (when (!= f0-1 0.0) - (dotimes (v1-4 (-> arg0 count)) - (let ((a1-4 (-> arg0 wave v1-4))) - (+! (-> a1-4 offs) (* f0-1 (-> a1-4 delta))) - (set! (-> a1-4 offs) (the float (logand (the int (-> a1-4 offs)) #xffff))) - ) - ) - (set! - (-> arg0 frame-save) - (the-as uint (-> *display* integral-frame-counter)) - ) - ) - ) 0 (none) ) @@ -109,32 +96,32 @@ ;; INFO: Return type mismatch int vs none. (defun ripple-execute () (when (-> *ripple-globals* count) - (ripple-execute-init) - (let ((gp-0 0) - (s5-0 (-> *ripple-globals* count)) - (s4-0 (-> *ripple-globals* requests)) - ) - (while (!= gp-0 s5-0) - (when (-> s4-0 gp-0 waveform) - (let ((s3-0 gp-0) - (s2-0 (-> s4-0 gp-0 waveform)) + (ripple-execute-init) + (let ((gp-0 0) + (s5-0 (-> *ripple-globals* count)) + (s4-0 (-> *ripple-globals* requests)) + ) + (while (!= gp-0 s5-0) + (when (-> s4-0 gp-0 waveform) + (let ((s3-0 gp-0) + (s2-0 (-> s4-0 gp-0 waveform)) + ) + (ripple-create-wave-table (the-as ripple-wave-set s2-0)) + (while (!= s3-0 s5-0) + (when (= s2-0 (-> s4-0 s3-0 waveform)) + (ripple-apply-wave-table (-> s4-0 s3-0 effect)) + (set! (-> s4-0 s3-0 waveform) #f) + ) + (+! s3-0 1) + ) ) - (ripple-create-wave-table (the-as ripple-wave-set s2-0)) - (while (!= s3-0 s5-0) - (when (= s2-0 (-> s4-0 s3-0 waveform)) - (ripple-apply-wave-table (-> s4-0 s3-0 effect)) - (set! (-> s4-0 s3-0 waveform) #f) - ) - (+! s3-0 1) + ) + (+! gp-0 1) ) - ) ) - (+! gp-0 1) - ) + (set! (-> *ripple-globals* count) 0) + 0 ) - (set! (-> *ripple-globals* count) 0) - 0 - ) (none) ) @@ -144,48 +131,36 @@ ;; definition (debug) for function ripple-add-debug-sphere ;; INFO: Return type mismatch symbol vs none. ;; Used lq/sq -(defun-debug - ripple-add-debug-sphere - ((arg0 process-drawable) (arg1 vector) (arg2 float) (arg3 float)) +(defun-debug ripple-add-debug-sphere ((arg0 process-drawable) (arg1 vector) (arg2 float) (arg3 float)) (let ((f30-0 (- (quaternion-y-angle (-> arg0 root quat)))) (s5-0 (new-stack-vector0)) ) - (let ((f28-0 (+ (-> arg1 x) (* arg2 (-> arg1 z)))) - (f26-0 (+ (-> arg1 y) (* arg3 (-> arg1 z)))) - ) - (set! (-> s5-0 x) (- (* f28-0 (cos f30-0)) (* f26-0 (sin f30-0)))) - (set! (-> s5-0 y) 0.0) - (set! (-> s5-0 z) (+ (* f26-0 (cos f30-0)) (* f28-0 (sin f30-0)))) + (let ((f28-0 (+ (-> arg1 x) (* arg2 (-> arg1 z)))) + (f26-0 (+ (-> arg1 y) (* arg3 (-> arg1 z)))) + ) + (set! (-> s5-0 x) (- (* f28-0 (cos f30-0)) (* f26-0 (sin f30-0)))) + (set! (-> s5-0 y) 0.0) + (set! (-> s5-0 z) (+ (* f26-0 (cos f30-0)) (* f28-0 (sin f30-0)))) + ) + (set! (-> s5-0 w) 0.0) + (vector+! s5-0 s5-0 (-> arg0 root trans)) + (add-debug-sphere #t (bucket-id debug-draw0) s5-0 2048.0 (new 'static 'rgba :r #xff :g #xff :a #x80)) ) - (set! (-> s5-0 w) 0.0) - (vector+! s5-0 s5-0 (-> arg0 root trans)) - (add-debug-sphere - #t - (bucket-id debug-draw0) - s5-0 - 2048.0 - (new 'static 'rgba :r #xff :g #xff :a #x80) - ) - ) (none) ) ;; definition for function ripple-slow-add-sine-waves -(defun - ripple-slow-add-sine-waves - ((arg0 ripple-wave-set) (arg1 float) (arg2 float)) +(defun ripple-slow-add-sine-waves ((arg0 ripple-wave-set) (arg1 float) (arg2 float)) (let ((f30-0 0.0)) - (dotimes (s3-0 (-> arg0 count)) - (let* ((v1-3 (-> arg0 wave s3-0)) - (f0-2 - (+ (-> v1-3 offs) (* arg1 (-> v1-3 xmul)) (* arg2 (-> v1-3 zmul))) - ) - ) - (+! f30-0 (* (-> v1-3 scale) (cos f0-2))) - ) + (dotimes (s3-0 (-> arg0 count)) + (let* ((v1-3 (-> arg0 wave s3-0)) + (f0-2 (+ (-> v1-3 offs) (* arg1 (-> v1-3 xmul)) (* arg2 (-> v1-3 zmul)))) + ) + (+! f30-0 (* (-> v1-3 scale) (cos f0-2))) + ) + ) + (fmax -127.0 (fmin 127.0 f30-0)) ) - (fmax -127.0 (fmin 127.0 f30-0)) - ) ) ;; definition for function ripple-find-height @@ -195,57 +170,51 @@ (v1-1 (-> arg0 draw)) (a1-5 (-> v1-1 lod-set lod (-> v1-1 cur-lod) geo effect)) ) - (if (or (zero? (logand (-> a1-5 0 effect-bits) 4)) (not (-> v1-1 ripple))) - (return f30-0) - ) - (let* ((a1-6 (-> a1-5 0 extra-info)) - (s4-0 - (the-as - mei-ripple - (+ (the-as uint a1-6) (* (-> a1-6 ripple-offset) 16)) - ) + (if (or (zero? (logand (-> a1-5 0 effect-bits) 4)) (not (-> v1-1 ripple))) + (return f30-0) + ) + (let* ((a1-6 (-> a1-5 0 extra-info)) + (s4-0 (the-as mei-ripple (+ (the-as uint a1-6) (* (-> a1-6 ripple-offset) 16)))) + (gp-0 (-> v1-1 ripple)) + (s5-0 (-> gp-0 waveform)) ) - (gp-0 (-> v1-1 ripple)) - (s5-0 (-> gp-0 waveform)) + (if (not (-> gp-0 waveform)) + (return f30-0) ) - (if (not (-> gp-0 waveform)) - (return f30-0) - ) - (if (not (-> s5-0 converted)) - (return f30-0) - ) - (let* ((f28-0 (- (-> arg2 x) (-> arg0 root trans x))) - (f26-0 (- (-> arg2 z) (-> arg0 root trans z))) - (f22-0 (+ (quaternion-y-angle (-> arg0 root quat)) (-> s4-0 angle))) - (f24-0 (cos f22-0)) - (f1-3 (sin f22-0)) - (f0-4 (- (* f28-0 f24-0) (* f26-0 f1-3))) - (f1-5 (+ (* f26-0 f24-0) (* f28-0 f1-3))) - (f2-3 (/ 1.0 (-> s4-0 grid-size))) - (f28-1 (* f2-3 (- f0-4 (-> s4-0 x-base)))) - (f26-1 (* f2-3 (- f1-5 (-> s4-0 z-base)))) - ) - (ripple-update-waveform-offs s5-0) - (let* ((f22-1 (the float (the int f28-1))) - (f24-1 (the float (the int f26-1))) - (f20-0 (ripple-slow-add-sine-waves s5-0 f22-1 f24-1)) + (if (not (-> s5-0 converted)) + (return f30-0) + ) + (let* ((f28-0 (- (-> arg2 x) (-> arg0 root trans x))) + (f26-0 (- (-> arg2 z) (-> arg0 root trans z))) + (f22-0 (+ (quaternion-y-angle (-> arg0 root quat)) (-> s4-0 angle))) + (f24-0 (cos f22-0)) + (f1-3 (sin f22-0)) + (f0-4 (- (* f28-0 f24-0) (* f26-0 f1-3))) + (f1-5 (+ (* f26-0 f24-0) (* f28-0 f1-3))) + (f2-3 (/ 1.0 (-> s4-0 grid-size))) + (f28-1 (* f2-3 (- f0-4 (-> s4-0 x-base)))) + (f26-1 (* f2-3 (- f1-5 (-> s4-0 z-base)))) + ) + (ripple-update-waveform-offs s5-0) + (let* ((f22-1 (the float (the int f28-1))) + (f24-1 (the float (the int f26-1))) + (f20-0 (ripple-slow-add-sine-waves s5-0 f22-1 f24-1)) + ) + (set! sv-16 (ripple-slow-add-sine-waves s5-0 (+ 1.0 f22-1) f24-1)) + (set! sv-32 (ripple-slow-add-sine-waves s5-0 f22-1 (+ 1.0 f24-1))) + (let* ((f1-6 (ripple-slow-add-sine-waves s5-0 (+ 1.0 f22-1) (+ 1.0 f24-1))) + (f0-22 (+ f20-0 (* (- f28-1 f22-1) (- sv-16 f20-0)))) + (f1-9 (+ sv-32 (* (- f28-1 f22-1) (- f1-6 sv-32)))) + (f1-12 (+ f0-22 (* (- f26-1 f24-1) (- f1-9 f0-22)))) + (f0-23 (-> gp-0 faded-scale)) + ) + (if (< f0-23 0.0) + (set! f0-23 (-> gp-0 global-scale)) + ) + (+ f30-0 (* 0.0078125 f1-12 f0-23)) ) - (set! sv-16 (ripple-slow-add-sine-waves s5-0 (+ 1.0 f22-1) f24-1)) - (set! sv-32 (ripple-slow-add-sine-waves s5-0 f22-1 (+ 1.0 f24-1))) - (let* - ((f1-6 (ripple-slow-add-sine-waves s5-0 (+ 1.0 f22-1) (+ 1.0 f24-1))) - (f0-22 (+ f20-0 (* (- f28-1 f22-1) (- sv-16 f20-0)))) - (f1-9 (+ sv-32 (* (- f28-1 f22-1) (- f1-6 sv-32)))) - (f1-12 (+ f0-22 (* (- f26-1 f24-1) (- f1-9 f0-22)))) - (f0-23 (-> gp-0 faded-scale)) + ) ) - (if (< f0-23 0.0) - (set! f0-23 (-> gp-0 global-scale)) - ) - (+ f30-0 (* 0.0078125 f1-12 f0-23)) - ) ) - ) ) - ) ) diff --git a/test/decompiler/reference/engine/gfx/shadow/shadow_REF.gc b/test/decompiler/reference/engine/gfx/shadow/shadow_REF.gc index 5f87732219..1583dda87b 100644 --- a/test/decompiler/reference/engine/gfx/shadow/shadow_REF.gc +++ b/test/decompiler/reference/engine/gfx/shadow/shadow_REF.gc @@ -3,24 +3,22 @@ ;; definition for function add-fake-shadow-to-buffer ;; INFO: Return type mismatch int vs none. -(defun - add-fake-shadow-to-buffer - ((arg0 vector) (arg1 vector) (arg2 float) (arg3 int)) +(defun add-fake-shadow-to-buffer ((arg0 vector) (arg1 vector) (arg2 float) (arg3 int)) (let ((v1-0 *fake-shadow-buffer*)) - (when (< (-> v1-0 num-shadows) 32) - (let ((t0-5 (-> v1-0 data (-> v1-0 num-shadows)))) - (set! (-> t0-5 px) (-> arg0 x)) - (set! (-> t0-5 py) (-> arg0 y)) - (set! (-> t0-5 pz) (-> arg0 z)) - (set! (-> t0-5 scale) arg2) - (set! (-> t0-5 qx) (-> arg1 x)) - (set! (-> t0-5 qy) (-> arg1 y)) - (set! (-> t0-5 qz) (-> arg1 z)) - (set! (-> t0-5 flags) arg3) - ) - (+! (-> v1-0 num-shadows) 1) + (when (< (-> v1-0 num-shadows) 32) + (let ((t0-5 (-> v1-0 data (-> v1-0 num-shadows)))) + (set! (-> t0-5 px) (-> arg0 x)) + (set! (-> t0-5 py) (-> arg0 y)) + (set! (-> t0-5 pz) (-> arg0 z)) + (set! (-> t0-5 scale) arg2) + (set! (-> t0-5 qx) (-> arg1 x)) + (set! (-> t0-5 qy) (-> arg1 y)) + (set! (-> t0-5 qz) (-> arg1 z)) + (set! (-> t0-5 flags) arg3) + ) + (+! (-> v1-0 num-shadows) 1) + ) ) - ) 0 (none) ) @@ -29,10 +27,10 @@ ;; INFO: Return type mismatch int vs none. (defun swap-fake-shadow-buffers () (set! *fake-shadow-buffer* (if (= *fake-shadow-buffer* *fake-shadow-buffer-1*) - *fake-shadow-buffer-2* - *fake-shadow-buffer-1* - ) - ) + *fake-shadow-buffer-2* + *fake-shadow-buffer-1* + ) + ) (set! (-> *fake-shadow-buffer* num-shadows) 0) 0 (none) @@ -40,25 +38,12 @@ ;; definition for function draw-shadow ;; INFO: Return type mismatch int vs none. -(defun - draw-shadow - ((arg0 vector) - (arg1 vector) - (arg2 vector) - (arg3 float) - (arg4 float) - (arg5 float) - ) +(defun draw-shadow ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float) (arg4 float) (arg5 float)) (let ((f0-1 (- (-> arg0 y) (-> arg1 y)))) - (if (< f0-1 arg4) - (add-fake-shadow-to-buffer - arg1 - arg2 - (* (- 1.0 (/ f0-1 arg4)) arg3) - (the-as int arg5) - ) + (if (< f0-1 arg4) + (add-fake-shadow-to-buffer arg1 arg2 (* (- 1.0 (/ f0-1 arg4)) arg3) (the-as int arg5)) + ) ) - ) 0 (none) ) @@ -66,133 +51,93 @@ ;; definition for function compute-and-draw-shadow ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - compute-and-draw-shadow - ((arg0 vector) - (arg1 vector) - (arg2 vector) - (arg3 vector) - (arg4 float) - (arg5 float) - ) +(defun compute-and-draw-shadow ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector) (arg4 float) (arg5 float)) (local-vars - (v1-10 float) - (v1-11 float) - (sv-96 vector) - (sv-112 (function quaternion vector float quaternion)) - (sv-128 vector) - (sv-144 vector) - ) + (v1-10 float) + (v1-11 float) + (sv-96 vector) + (sv-112 (function quaternion vector float quaternion)) + (sv-128 vector) + (sv-144 vector) + ) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (set! sv-96 arg2) - (let ((s4-0 arg3) - (s3-0 arg4) - (s2-0 arg5) - ) - (when (< (- (-> arg0 y) (-> arg1 y)) s3-0) - (set! sv-144 (new 'stack-no-clear 'vector)) - (let ((s0-0 (new 'stack-no-clear 'vector)) - (s1-0 (new 'stack-no-clear 'sparticle-cpuinfo)) - ) - (set! (-> arg1 y) (+ 40.96 (-> arg1 y))) - (set! (-> sv-144 x) (-> sv-96 z)) - (set! (-> sv-144 y) 0.0) - (set! (-> sv-144 z) (- (-> sv-96 x))) - (vector-normalize! sv-144 1.0) - (set! sv-112 quaternion-vector-angle!) - (set! sv-128 s0-0) - (let ((a2-1 (acos (-> sv-96 y)))) - (sv-112 (the-as quaternion sv-128) sv-144 a2-1) - ) - (let ((v1-9 s1-0)) - (cond - ((< (-> s0-0 w) 0.0) - (.lvf vf1 (&-> v1-9 vel-sxvel quad)) - (.lvf vf2 (&-> s0-0 quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> v1-9 vel-sxvel quad) vf1) - (.mov v1-10 vf1) - ) - (else - (.lvf vf1 (&-> v1-9 vel-sxvel quad)) - (.lvf vf2 (&-> s0-0 quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> v1-9 vel-sxvel quad) vf1) - (.mov v1-11 vf1) - ) + (init-vf0-vector) + (set! sv-96 arg2) + (let ((s4-0 arg3) + (s3-0 arg4) + (s2-0 arg5) + ) + (when (< (- (-> arg0 y) (-> arg1 y)) s3-0) + (set! sv-144 (new 'stack-no-clear 'vector)) + (let ((s0-0 (new 'stack-no-clear 'vector)) + (s1-0 (new 'stack-no-clear 'sparticle-cpuinfo)) + ) + (set! (-> arg1 y) (+ 40.96 (-> arg1 y))) + (set! (-> sv-144 x) (-> sv-96 z)) + (set! (-> sv-144 y) 0.0) + (set! (-> sv-144 z) (- (-> sv-96 x))) + (vector-normalize! sv-144 1.0) + (set! sv-112 quaternion-vector-angle!) + (set! sv-128 s0-0) + (let ((a2-1 (acos (-> sv-96 y)))) + (sv-112 (the-as quaternion sv-128) sv-144 a2-1) + ) + (let ((v1-9 s1-0)) + (cond + ((< (-> s0-0 w) 0.0) + (.lvf vf1 (&-> v1-9 vel-sxvel quad)) + (.lvf vf2 (&-> s0-0 quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> v1-9 vel-sxvel quad) vf1) + (.mov v1-10 vf1) + ) + (else + (.lvf vf1 (&-> v1-9 vel-sxvel quad)) + (.lvf vf2 (&-> s0-0 quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> v1-9 vel-sxvel quad) vf1) + (.mov v1-11 vf1) + ) + ) + ) + (draw-shadow arg0 arg1 (-> s1-0 vel-sxvel) (the-as float s4-0) s3-0 s2-0) + ) ) - ) - (draw-shadow arg0 arg1 (-> s1-0 vel-sxvel) (the-as float s4-0) s3-0 s2-0) ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function find-ground-and-draw-shadow ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - find-ground-and-draw-shadow - ((arg0 vector) - (arg1 vector) - (arg2 float) - (arg3 uint) - (arg4 process) - (arg5 float) - (arg6 float) - ) +(defun find-ground-and-draw-shadow ((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint) (arg4 process) (arg5 float) (arg6 float)) (let ((s2-0 (new 'stack-no-clear 'vector))) - (set! (-> s2-0 quad) (-> arg0 quad)) - (new 'stack-no-clear 'vector) - (+! (-> s2-0 y) arg5) - (let ((s4-0 (new 'stack-no-clear 'collide-tri-result))) - (cond - ((>= - (fill-and-probe-using-y-probe - *collide-cache* - s2-0 - arg6 - arg3 - arg4 - s4-0 - (the-as uint 1) + (set! (-> s2-0 quad) (-> arg0 quad)) + (new 'stack-no-clear 'vector) + (+! (-> s2-0 y) arg5) + (let ((s4-0 (new 'stack-no-clear 'collide-tri-result))) + (cond + ((>= (fill-and-probe-using-y-probe *collide-cache* s2-0 arg6 arg3 arg4 s4-0 (the-as uint 1)) 0.0) + (if (!= arg2 0.0) + (compute-and-draw-shadow s2-0 (-> s4-0 intersect) (-> s4-0 normal) (the-as vector arg2) arg6 (the-as float 0)) + ) + (if (and arg1 (!= (-> s4-0 pat material) 3)) + (set! (-> arg1 quad) (-> s4-0 intersect quad)) + ) + ) + (else + (if arg1 + (vector+float*! arg1 arg0 (-> *standard-dynamics* gravity-normal) (- arg6)) + ) + ) ) - 0.0 - ) - (if (!= arg2 0.0) - (compute-and-draw-shadow - s2-0 - (-> s4-0 intersect) - (-> s4-0 normal) - (the-as vector arg2) - arg6 - (the-as float 0) - ) - ) - (if (and arg1 (!= (-> s4-0 pat material) 3)) - (set! (-> arg1 quad) (-> s4-0 intersect quad)) - ) ) - (else - (if arg1 - (vector+float*! - arg1 - arg0 - (-> *standard-dynamics* gravity-normal) - (- arg6) - ) - ) - ) - ) ) - ) 0 (none) ) @@ -201,59 +146,52 @@ ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defbehavior do-target-shadow target () - (if - (and - (logtest? (-> self control status) 1) - (!= (-> self control unknown-surface00 mode) 'swim) - (!= (-> self control unknown-surface00 mode) 'dive) - (!= (-> self next-state name) 'target-flop) - (zero? (logand (-> self draw status) 38)) - ) - (set! (-> self control shadow-pos quad) (-> self control trans quad)) - (find-ground-and-draw-shadow - (-> self control trans) - (-> self control shadow-pos) - 0.0 - (-> (the-as collide-shape-prim (-> self control root-prim)) collide-with) - self - 0.0 - 81920.0 - ) - ) + (if (and + (logtest? (-> self control status) 1) + (!= (-> self control unknown-surface00 mode) 'swim) + (!= (-> self control unknown-surface00 mode) 'dive) + (!= (-> self next-state name) 'target-flop) + (zero? (logand (-> self draw status) 38)) + ) + (set! (-> self control shadow-pos quad) (-> self control trans quad)) + (find-ground-and-draw-shadow + (-> self control trans) + (-> self control shadow-pos) + 0.0 + (-> (the-as collide-shape-prim (-> self control root-prim)) collide-with) + self + 0.0 + 81920.0 + ) + ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 362) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 8.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-rnd-flt spt-rot-z (degrees -180.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 90.0) - (sp-flt spt-g 90.0) - (sp-flt spt-b 90.0) - (sp-rnd-flt spt-a 20.0 20.0 1.0) - (sp-flt spt-vel-y (meters 0.002)) - (sp-flt spt-scalevel-x (meters 0.004166667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.3) - (sp-int spt-timer 5004) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 15.0) 1.0) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.2)) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-id-table* 362) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 8.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-rnd-flt spt-rot-z (degrees -180.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 90.0) + (sp-flt spt-g 90.0) + (sp-flt spt-b 90.0) + (sp-rnd-flt spt-a 20.0 20.0 1.0) + (sp-flt spt-vel-y (meters 0.002)) + (sp-flt spt-scalevel-x (meters 0.004166667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.3) + (sp-int spt-timer 5004) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 15.0) 1.0) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.2)) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/engine/gfx/shrub/shrub-work_REF.gc b/test/decompiler/reference/engine/gfx/shrub/shrub-work_REF.gc index 2a34bf9623..44c314c712 100644 --- a/test/decompiler/reference/engine/gfx/shrub/shrub-work_REF.gc +++ b/test/decompiler/reference/engine/gfx/shrub/shrub-work_REF.gc @@ -5,612 +5,471 @@ (define *instance-shrub-work* (new 'static 'instance-shrub-work - :matrix-tmpl - (new 'static 'inline-array qword 20 - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050143) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050148) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05014d) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050152) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050157) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05015c) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050161) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050166) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05016b) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050170) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050176) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05017b) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050180) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050185) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05018a) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05018f) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050194) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050199) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05019e) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c0501a3) - ) - ) - :count-tmpl - (new 'static 'inline-array qword 20 - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #xa) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x1) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x2) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x3) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x4) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x5) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x6) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x7) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x8) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x9) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #xa) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x1) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x2) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x3) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x4) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x5) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x6) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x7) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x8) - ) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x9) - ) - ) - :mscalf-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) - ) - :mscalf-ret-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ret)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) - ) - :adgif-tmpl - (new 'static 'dma-gif-packet - :dma-vif + :matrix-tmpl + (new 'static 'inline-array qword 20 + (new 'static 'qword :data (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050143)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050148)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05014d)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050152)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050157)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05015c)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050161)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050166)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05016b)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050170)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c050176)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05017b)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050180)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050185)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05018a)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05018f)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050194)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c050199)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000005 #x0 #x0 #x6c05019e)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x10000005 #x0 #x0 #x6c0501a3)) + ) + :count-tmpl + (new 'static 'inline-array qword 20 + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #xa)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x1)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x2)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x3)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x4)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x5)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x6)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x7)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x8)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #x9)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010142 #xa)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x1)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x2)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x3)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x4)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x5)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x6)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x7)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x8)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x20000000 #x0 #x60010175 #x9)) + ) + :mscalf-tmpl (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id next)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) - ) - :gif - (new 'static 'array uint64 2 #x1000000000008005 #xe) - ) - :billboard-tmpl - (new 'static 'dma-gif-packet - :dma-vif + :dma + (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) + ) + :mscalf-ret-tmpl (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #xd :id (dma-tag-id next)) - :vif1 - (new 'static 'vif-tag :imm #xd :cmd (vif-cmd direct) :msk #x1) - ) - :gif - (new 'static 'array uint64 2 #x303e400000008004 #x412) + :dma + (new 'static 'dma-tag :id (dma-tag-id ret)) + :vif0 + (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) + ) + :adgif-tmpl + (new 'static 'dma-gif-packet + :dma-vif + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id next)) + :vif1 + (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + ) + :gif + (new 'static 'array uint64 2 #x1000000000008005 #xe) + ) + :billboard-tmpl + (new 'static 'dma-gif-packet + :dma-vif + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #xd :id (dma-tag-id next)) + :vif1 + (new 'static 'vif-tag :imm #xd :cmd (vif-cmd direct) :msk #x1) + ) + :gif + (new 'static 'array uint64 2 #x303e400000008004 #x412) + ) + :shrub-near-packets + (new 'static 'inline-array shrub-near-packet 6 + (new 'static 'shrub-near-packet + :matrix-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) + ) + :header-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) + ) + :stq-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) + ) + :color-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) + ) + :vertex-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) + ) + :mscal-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + ) + :init-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + ) + :init-data + (new 'static 'array uint32 8 #x0 #x0 #x345 #x117 #x0 #x0 #x0 #x1500000c) + ) + (new 'static 'shrub-near-packet + :matrix-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) + ) + :header-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) + ) + :stq-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) + ) + :color-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) + ) + :vertex-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) + ) + :mscal-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + ) + :init-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + ) + :init-data + (new 'static 'array uint32 8 #x0 #x0 #x363 #x22e #x0 #x0 #x0 #x1500000c) + ) + (new 'static 'shrub-near-packet + :matrix-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) + ) + :header-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) + ) + :stq-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) + ) + :color-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) + ) + :vertex-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) + ) + :mscal-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + ) + :init-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + ) + :init-data + (new 'static 'array uint32 8 #x0 #x0 #x345 #x0 #x0 #x0 #x0 #x1500000c) + ) + (new 'static 'shrub-near-packet + :matrix-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) + ) + :header-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) + ) + :stq-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) + ) + :color-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) + ) + :vertex-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) + ) + :mscal-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + ) + :init-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + ) + :init-data + (new 'static 'array uint32 8 #x0 #x0 #x363 #x117 #x0 #x0 #x0 #x1500000c) + ) + (new 'static 'shrub-near-packet + :matrix-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) + ) + :header-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) + ) + :stq-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) + ) + :color-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) + ) + :vertex-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) + ) + :mscal-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + ) + :init-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + ) + :init-data + (new 'static 'array uint32 8 #x0 #x0 #x345 #x22e #x0 #x0 #x0 #x1500000c) + ) + (new 'static 'shrub-near-packet + :matrix-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) + ) + :header-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) + ) + :stq-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) + ) + :color-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) + ) + :vertex-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) + ) + :mscal-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) + ) + :init-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) + ) + :init-data + (new 'static 'array uint32 8 #x0 #x0 #x363 #x0 #x0 #x0 #x0 #x1500000c) + ) + ) + :dma-ref + (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) + :dma-end + (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end))) + :wind-const + (new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0) + :constants (new 'static 'vector :x 128.0 :y 1.0) + :color-constant + (new 'static 'vector4w :x #x47000000 :y #x47000000 :z #x47000000) + :start-bank + (new 'static 'array uint8 20 #x0 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x1 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0 #x0) ) - :shrub-near-packets - (new 'static 'inline-array shrub-near-packet 6 - (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) - ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) - ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) - ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) - ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) - ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) - ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) - ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x345 #x117 #x0 #x0 #x0 #x1500000c) - ) - (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) - ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) - ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) - ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) - ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) - ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) - ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) - ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x363 #x22e #x0 #x0 #x0 #x1500000c) - ) - (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) - ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) - ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) - ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) - ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) - ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) - ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) - ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x345 #x0 #x0 #x0 #x0 #x1500000c) - ) - (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) - ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) - ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x9 :cmd (vif-cmd unpack-v2-16)) - ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x400a :cmd (vif-cmd unpack-v3-8)) - ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #xb :cmd (vif-cmd unpack-v3-16)) - ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) - ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) - ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x363 #x117 #x0 #x0 #x0 #x1500000c) - ) - (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x345 :num #x6 :cmd (vif-cmd unpack-v4-32)) - ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x34c :cmd (vif-cmd unpack-v4-32)) - ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x120 :cmd (vif-cmd unpack-v2-16)) - ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4121 :cmd (vif-cmd unpack-v3-8)) - ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x122 :cmd (vif-cmd unpack-v3-16)) - ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) - ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) - ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x345 #x22e #x0 #x0 #x0 #x1500000c) - ) - (new 'static 'shrub-near-packet - :matrix-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x363 :num #x6 :cmd (vif-cmd unpack-v4-32)) - ) - :header-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x36a :cmd (vif-cmd unpack-v4-32)) - ) - :stq-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x237 :cmd (vif-cmd unpack-v2-16)) - ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4238 :cmd (vif-cmd unpack-v3-8)) - ) - :vertex-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x239 :cmd (vif-cmd unpack-v3-16)) - ) - :mscal-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) - ) - :init-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #x38a :num #x1 :cmd (vif-cmd unpack-v4-32)) - ) - :init-data - (new 'static 'array uint32 8 #x0 #x0 #x363 #x0 #x0 #x0 #x0 #x1500000c) - ) - ) - :dma-ref - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) - :dma-end - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end))) - :wind-const - (new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0) - :constants (new 'static 'vector :x 128.0 :y 1.0) - :color-constant - (new 'static 'vector4w :x #x47000000 :y #x47000000 :z #x47000000) - :start-bank - (new 'static 'array uint8 20 - #x0 - #x1 - #x1 - #x1 - #x1 - #x1 - #x1 - #x1 - #x1 - #x1 - #x1 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - ) - ) ) ;; failed to figure out what this is: @@ -621,30 +480,17 @@ ;; definition for function upload-generic-shrub ;; Used lq/sq -(defun - upload-generic-shrub - ((arg0 dma-buffer) (arg1 generic-shrub-fragment) (arg2 int) (arg3 int)) +(defun upload-generic-shrub ((arg0 dma-buffer) (arg1 generic-shrub-fragment) (arg2 int) (arg3 int)) (let* ((v1-0 arg0) (t0-0 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as dma-packet t0-0) dma) - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + (set! (-> (the-as dma-packet t0-0) dma) (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet t0-0) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet t0-0) vif1) + (new 'static 'vif-tag :num #x6 :cmd (vif-cmd unpack-v4-32) :imm (shr (shl arg2 54) 54)) + ) + (set! (-> v1-0 base) (&+ (the-as pointer t0-0) 16)) ) - (set! - (-> (the-as dma-packet t0-0) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet t0-0) vif1) - (new 'static 'vif-tag - :num #x6 - :cmd (vif-cmd unpack-v4-32) - :imm (shr (shl arg2 54) 54) - ) - ) - (set! (-> v1-0 base) (&+ (the-as pointer t0-0) 16)) - ) (let* ((v1-1 (the-as matrix (-> arg0 base))) (t3-0 (-> *math-camera* camera-temp)) (t0-3 (-> t3-0 vector 0 quad)) @@ -652,135 +498,80 @@ (t2-4 (-> t3-0 vector 2 quad)) (t3-1 (-> t3-0 vector 3 quad)) ) - (set! (-> v1-1 vector 0 quad) t0-3) - (set! (-> v1-1 vector 1 quad) t1-4) - (set! (-> v1-1 vector 2 quad) t2-4) - (set! (-> v1-1 vector 3 quad) t3-1) - ) + (set! (-> v1-1 vector 0 quad) t0-3) + (set! (-> v1-1 vector 1 quad) t1-4) + (set! (-> v1-1 vector 2 quad) t2-4) + (set! (-> v1-1 vector 3 quad) t3-1) + ) (&+! (-> arg0 base) 64) (let* ((v1-4 arg0) (t0-4 (the-as object (-> v1-4 base))) ) - (set! (-> (the-as vector4w-2 t0-4) vector 0 x) #x3f800000) - (set! (-> (the-as vector4w-2 t0-4) vector 0 y) #x3f800000) - (set! (-> (the-as vector4w-2 t0-4) vector 0 z) #x3f800000) - (set! (-> (the-as vector4w-2 t0-4) vector 0 w) 128) - (set! - (-> (the-as vector4w-2 t0-4) vector 1 x) - (the-as int (-> arg1 vtx-cnt)) + (set! (-> (the-as vector4w-2 t0-4) vector 0 x) #x3f800000) + (set! (-> (the-as vector4w-2 t0-4) vector 0 y) #x3f800000) + (set! (-> (the-as vector4w-2 t0-4) vector 0 z) #x3f800000) + (set! (-> (the-as vector4w-2 t0-4) vector 0 w) 128) + (set! (-> (the-as vector4w-2 t0-4) vector 1 x) (the-as int (-> arg1 vtx-cnt))) + (set! (-> (the-as vector4w-2 t0-4) vector 1 y) 0) + (set! (-> (the-as vector4w-2 t0-4) vector 1 z) 0) + (set! (-> (the-as vector4w-2 t0-4) vector 1 w) 0) + (set! (-> v1-4 base) (&+ (the-as pointer t0-4) 32)) ) - (set! (-> (the-as vector4w-2 t0-4) vector 1 y) 0) - (set! (-> (the-as vector4w-2 t0-4) vector 1 z) 0) - (set! (-> (the-as vector4w-2 t0-4) vector 1 w) 0) - (set! (-> v1-4 base) (&+ (the-as pointer t0-4) 32)) - ) (let* ((v1-5 arg0) (t0-6 (the-as object (-> v1-5 base))) ) - (set! - (-> (the-as dma-packet t0-6) dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (-> arg1 cnt) - :qwc (-> arg1 cnt-qwc) - ) + (set! (-> (the-as dma-packet t0-6) dma) + (new 'static 'dma-tag :id (dma-tag-id ref) :addr (-> arg1 cnt) :qwc (-> arg1 cnt-qwc)) + ) + (set! (-> (the-as dma-packet t0-6) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet t0-6) vif1) + (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32) :imm (shr (shl (+ arg2 6) 54) 54) :num (-> arg1 cnt-qwc)) + ) + (set! (-> v1-5 base) (&+ (the-as pointer t0-6) 16)) ) - (set! (-> (the-as dma-packet t0-6) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet t0-6) vif1) - (new 'static 'vif-tag - :cmd (vif-cmd unpack-v4-32) - :imm (shr (shl (+ arg2 6) 54) 54) - :num (-> arg1 cnt-qwc) - ) - ) - (set! (-> v1-5 base) (&+ (the-as pointer t0-6) 16)) - ) (let* ((v1-6 arg0) (a2-8 (the-as object (-> v1-6 base))) ) - (set! - (-> (the-as dma-packet a2-8) dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (-> arg1 stq) - :qwc (-> arg1 stq-qwc) - ) + (set! (-> (the-as dma-packet a2-8) dma) + (new 'static 'dma-tag :id (dma-tag-id ref) :addr (-> arg1 stq) :qwc (-> arg1 stq-qwc)) + ) + (set! (-> (the-as dma-packet a2-8) vif0) (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a2-8) vif1) + (new 'static 'vif-tag :cmd (vif-cmd unpack-v2-16) :imm (shr (shl arg3 54) 54) :num (-> arg1 vtx-cnt)) + ) + (set! (-> v1-6 base) (&+ (the-as pointer a2-8) 16)) ) - (set! - (-> (the-as dma-packet a2-8) vif0) - (new 'static 'vif-tag :imm #x103 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a2-8) vif1) - (new 'static 'vif-tag - :cmd (vif-cmd unpack-v2-16) - :imm (shr (shl arg3 54) 54) - :num (-> arg1 vtx-cnt) - ) - ) - (set! (-> v1-6 base) (&+ (the-as pointer a2-8) 16)) - ) (let* ((v1-7 arg0) (a2-10 (the-as object (-> v1-7 base))) ) - (set! - (-> (the-as dma-packet a2-10) dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (-> arg1 col) - :qwc (-> arg1 col-qwc) - ) + (set! (-> (the-as dma-packet a2-10) dma) + (new 'static 'dma-tag :id (dma-tag-id ref) :addr (-> arg1 col) :qwc (-> arg1 col-qwc)) + ) + (set! (-> (the-as dma-packet a2-10) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a2-10) vif1) + (new 'static 'vif-tag :cmd (vif-cmd unpack-v3-8) :imm (shr (shl (+ arg3 1) 54) 54) :num (-> arg1 vtx-cnt)) + ) + (set! (-> v1-7 base) (&+ (the-as pointer a2-10) 16)) ) - (set! (-> (the-as dma-packet a2-10) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a2-10) vif1) - (new 'static 'vif-tag - :cmd (vif-cmd unpack-v3-8) - :imm (shr (shl (+ arg3 1) 54) 54) - :num (-> arg1 vtx-cnt) - ) - ) - (set! (-> v1-7 base) (&+ (the-as pointer a2-10) 16)) - ) (let* ((v1-8 arg0) (a2-12 (the-as object (-> v1-8 base))) ) - (set! - (-> (the-as dma-packet a2-12) dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (-> arg1 vtx) - :qwc (-> arg1 vtx-qwc) - ) + (set! (-> (the-as dma-packet a2-12) dma) + (new 'static 'dma-tag :id (dma-tag-id ref) :addr (-> arg1 vtx) :qwc (-> arg1 vtx-qwc)) + ) + (set! (-> (the-as dma-packet a2-12) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a2-12) vif1) + (new 'static 'vif-tag :cmd (vif-cmd unpack-v3-16) :imm (shr (shl (+ arg3 2) 54) 54) :num (-> arg1 vtx-cnt)) + ) + (set! (-> v1-8 base) (&+ (the-as pointer a2-12) 16)) ) - (set! (-> (the-as dma-packet a2-12) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a2-12) vif1) - (new 'static 'vif-tag - :cmd (vif-cmd unpack-v3-16) - :imm (shr (shl (+ arg3 2) 54) 54) - :num (-> arg1 vtx-cnt) - ) - ) - (set! (-> v1-8 base) (&+ (the-as pointer a2-12) 16)) - ) (let* ((v1-9 arg0) (a1-7 (the-as object (-> v1-9 base))) ) - (set! - (-> (the-as dma-packet a1-7) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) + (set! (-> (the-as dma-packet a1-7) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-7) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a1-7) vif1) (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1)) + (set! (-> v1-9 base) (&+ (the-as pointer a1-7) 16)) ) - (set! - (-> (the-as dma-packet a1-7) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a1-7) vif1) - (new 'static 'vif-tag :imm #xa :cmd (vif-cmd mscal) :msk #x1) - ) - (set! (-> v1-9 base) (&+ (the-as pointer a1-7) 16)) - ) arg0 ) diff --git a/test/decompiler/reference/engine/gfx/shrub/shrubbery-h_REF.gc b/test/decompiler/reference/engine/gfx/shrub/shrubbery-h_REF.gc index f9ff4401fa..b32ad31892 100644 --- a/test/decompiler/reference/engine/gfx/shrub/shrubbery-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/shrub/shrubbery-h_REF.gc @@ -223,37 +223,32 @@ ;; Used lq/sq (defun shrubbery-login-post-texture ((obj shrubbery)) (let* ((shader-count (-> obj header data 0)) - (dst - (the-as - qword - (+ (the-as uint (-> obj header)) (* (+ (-> obj header data 1) 1) 16)) - ) - ) + (dst (the-as qword (+ (the-as uint (-> obj header)) (* (+ (-> obj header data 1) 1) 16)))) (tex-dst (the-as qword (+ (the-as int dst) (* shader-count 64)))) (src (the-as qword (-> obj textures))) ) - (dotimes (a0-1 (the-as int shader-count)) - (set! (-> tex-dst quad) (-> src quad)) - (let ((text-dst2 (the-as qword (+ (the-as int tex-dst) 16))) - (src-2 (the-as qword (&+ (the-as pointer src) 16))) + (dotimes (a0-1 (the-as int shader-count)) + (set! (-> tex-dst quad) (-> src quad)) + (let ((text-dst2 (the-as qword (+ (the-as int tex-dst) 16))) + (src-2 (the-as qword (&+ (the-as pointer src) 16))) + ) + (set! (-> dst vector4w x) (the-as int (-> src-2 data 0))) + (set! (-> dst vector4w y) (the-as int (-> src-2 data 1))) + (set! (-> dst vector4w z) (the-as int (-> src-2 data 2))) + (set! dst (the-as qword (+ (the-as int dst) 16))) + (let ((src-3 (the-as qword (&+ (the-as pointer src-2) 16)))) + (dotimes (t0-4 3) + (set! (-> dst quad) (-> src-3 quad)) + (set! dst (the-as qword (+ (the-as int dst) 16))) + (set! src-3 (the-as qword (&+ (the-as pointer src-3) 16))) + ) + (set! (-> text-dst2 quad) (-> src-3 quad)) + (set! tex-dst (the-as qword (+ (the-as int text-dst2) 16))) + (set! src (the-as qword (&+ (the-as pointer src-3) 80))) ) - (set! (-> dst vector4w x) (the-as int (-> src-2 data 0))) - (set! (-> dst vector4w y) (the-as int (-> src-2 data 1))) - (set! (-> dst vector4w z) (the-as int (-> src-2 data 2))) - (set! dst (the-as qword (+ (the-as int dst) 16))) - (let ((src-3 (the-as qword (&+ (the-as pointer src-2) 16)))) - (dotimes (t0-4 3) - (set! (-> dst quad) (-> src-3 quad)) - (set! dst (the-as qword (+ (the-as int dst) 16))) - (set! src-3 (the-as qword (&+ (the-as pointer src-3) 16))) - ) - (set! (-> text-dst2 quad) (-> src-3 quad)) - (set! tex-dst (the-as qword (+ (the-as int text-dst2) 16))) - (set! src (the-as qword (&+ (the-as pointer src-3) 80))) + ) ) - ) ) - ) (none) ) @@ -368,17 +363,9 @@ (format #t "~Tmatrix-tmpl[20] @ #x~X~%" (-> obj matrix-tmpl)) (format #t "~Tcount-tmpl[20] @ #x~X~%" (-> obj count-tmpl)) (format #t "~Tmscalf-tmpl: #~%" (-> obj mscalf-tmpl)) - (format - #t - "~Tmscalf-ret-tmpl: #~%" - (-> obj mscalf-ret-tmpl) - ) + (format #t "~Tmscalf-ret-tmpl: #~%" (-> obj mscalf-ret-tmpl)) (format #t "~Tadgif-tmpl: #~%" (-> obj adgif-tmpl)) - (format - #t - "~Tbillboard-tmpl: #~%" - (-> obj billboard-tmpl) - ) + (format #t "~Tbillboard-tmpl: #~%" (-> obj billboard-tmpl)) (format #t "~Tbillboard-const: #~%" (-> obj billboard-const)) (format #t "~Tshrub-near-packets[6] @ #x~X~%" (-> obj shrub-near-packets)) (format #t "~Tdma-ref: #~%" (-> obj dma-ref)) @@ -418,11 +405,7 @@ (format #t "~Tbuffer-index: ~D~%" (-> obj buffer-index)) (format #t "~Tcurrent-spr: ~D~%" (-> obj current-spr)) (format #t "~Tcurrent-mem: ~D~%" (-> obj current-mem)) - (format - #t - "~Tcurrent-shrub-near-packet: ~D~%" - (-> obj current-shrub-near-packet) - ) + (format #t "~Tcurrent-shrub-near-packet: ~D~%" (-> obj current-shrub-near-packet)) (format #t "~Tto-spr: ~D~%" (-> obj to-spr)) (format #t "~Tdma-buffer: ~A~%" (-> obj dma-buffer)) (format #t "~Tnear-last: ~D~%" (-> obj near-last)) diff --git a/test/decompiler/reference/engine/gfx/sky/sky-h_REF.gc b/test/decompiler/reference/engine/gfx/sky/sky-h_REF.gc index d655f8168d..bb2adb479e 100644 --- a/test/decompiler/reference/engine/gfx/sky/sky-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/sky/sky-h_REF.gc @@ -183,29 +183,17 @@ (format #t "~Tupload-data: #~%" (-> obj upload-data)) (format #t "~Tsun-lights: #~%" (-> obj sun-lights)) (format #t "~Tmoon-lights: #~%" (-> obj moon-lights)) - (format - #t - "~Tdefault-lights: #~%" - (-> obj default-lights) - ) - (format - #t - "~Tdefault-vu-lights: #~%" - (-> obj default-vu-lights) - ) + (format #t "~Tdefault-lights: #~%" (-> obj default-lights)) + (format #t "~Tdefault-vu-lights: #~%" (-> obj default-vu-lights)) obj ) ;; definition for method 0 of type sky-parms (defmethod new sky-parms ((allocation symbol) (type-to-make type)) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 upload-data type) sky-upload-data) + v0-0 ) - (set! (-> v0-0 upload-data type) sky-upload-data) - v0-0 - ) ) ;; definition for symbol *sky-parms*, type sky-parms @@ -217,9 +205,9 @@ ;; failed to figure out what this is: (dotimes (gp-0 17) (let ((f30-0 (+ MINUS_PI (* 0.39269906 (the float (logand gp-0 15)))))) - (set! (-> *sky-upload-data* circle data gp-0 x) (* 2.2 (sin-rad f30-0))) - (set! (-> *sky-upload-data* circle data gp-0 y) (cos-rad f30-0)) - ) + (set! (-> *sky-upload-data* circle data gp-0 x) (* 2.2 (sin-rad f30-0))) + (set! (-> *sky-upload-data* circle data gp-0 y) (cos-rad f30-0)) + ) (set! (-> *sky-upload-data* circle data gp-0 z) 0.0) (set! (-> *sky-upload-data* circle data gp-0 w) 0.0) ) diff --git a/test/decompiler/reference/engine/gfx/sky/sky-tng_REF.gc b/test/decompiler/reference/engine/gfx/sky/sky-tng_REF.gc index 5d0fc28a86..c49711b886 100644 --- a/test/decompiler/reference/engine/gfx/sky/sky-tng_REF.gc +++ b/test/decompiler/reference/engine/gfx/sky/sky-tng_REF.gc @@ -2,133 +2,101 @@ (in-package goal) ;; definition for symbol *sky-work*, type sky-work -(define - *sky-work* - (new 'static 'sky-work - :adgif-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) - ) - :gif - (new 'static 'array uint64 2 #x1000000000008005 #xe) - ) - :draw-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) - ) - :gif - (new 'static 'array uint64 2 #x508b400000008001 #x43431) - ) - :blend-tmpl - (new 'static 'dma-gif-packet - :dma-vif - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - :vif1 - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) - ) - :gif - (new 'static 'array uint64 2 #x50ab400000008001 #x43431) - ) - :sky-data - (new 'static 'inline-array qword 5 - (new 'static 'qword :data (new 'static 'array uint32 4 #x0 #x0 #x0 #x80)) - (new 'static 'qword) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x0 #x0 #xffffff #x0) - ) - (new 'static 'qword :data (new 'static 'array uint32 4 #x200 #x200 #x0 #x0)) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x200 #x200 #xffffff #x0) - ) - ) - :cloud-data - (new 'static 'inline-array qword 5 - (new 'static 'qword :data (new 'static 'array uint32 4 #x0 #x0 #x0 #x80)) - (new 'static 'qword) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x0 #x200 #xffffff #x0) - ) - (new 'static 'qword :data (new 'static 'array uint32 4 #x400 #x400 #x0 #x0)) - (new 'static 'qword - :data - (new 'static 'array uint32 4 #x400 #x600 #xffffff #x0) - ) - ) - ) - ) +(define *sky-work* (new 'static 'sky-work + :adgif-tmpl + (new 'static 'dma-gif-packet + :dma-vif + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 + (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + ) + :gif + (new 'static 'array uint64 2 #x1000000000008005 #xe) + ) + :draw-tmpl + (new 'static 'dma-gif-packet + :dma-vif + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 + (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + ) + :gif + (new 'static 'array uint64 2 #x508b400000008001 #x43431) + ) + :blend-tmpl + (new 'static 'dma-gif-packet + :dma-vif + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) + :vif1 + (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) + ) + :gif + (new 'static 'array uint64 2 #x50ab400000008001 #x43431) + ) + :sky-data + (new 'static 'inline-array qword 5 + (new 'static 'qword :data (new 'static 'array uint32 4 #x0 #x0 #x0 #x80)) + (new 'static 'qword) + (new 'static 'qword :data (new 'static 'array uint32 4 #x0 #x0 #xffffff #x0)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x200 #x200 #x0 #x0)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x200 #x200 #xffffff #x0)) + ) + :cloud-data + (new 'static 'inline-array qword 5 + (new 'static 'qword :data (new 'static 'array uint32 4 #x0 #x0 #x0 #x80)) + (new 'static 'qword) + (new 'static 'qword :data (new 'static 'array uint32 4 #x0 #x200 #xffffff #x0)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x400 #x400 #x0 #x0)) + (new 'static 'qword :data (new 'static 'array uint32 4 #x400 #x600 #xffffff #x0)) + ) + ) + ) ;; definition for function init-sky-tng-data ;; INFO: Return type mismatch int vs none. (defun init-sky-tng-data ((arg0 sky-tng-data)) - (set! - (-> arg0 giftag-base tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan)) - :nreg #x3 - ) - ) - (set! - (-> arg0 giftag-base regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id st) - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - ) - ) - (set! - (-> arg0 giftag-roof tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :tme #x1 :abe #x1) - :nreg #x3 - ) - ) - (set! - (-> arg0 giftag-roof regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id st) - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - ) - ) - (set! - (-> arg0 giftag-ocean tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :tme #x1 :fge #x1) - :nreg #x3 - ) - ) - (set! - (-> arg0 giftag-ocean regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id st) - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - ) - ) + (set! (-> arg0 giftag-base tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan)) + :nreg #x3 + ) + ) + (set! (-> arg0 giftag-base regs) + (new 'static 'gif-tag-regs :regs0 (gif-reg-id st) :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2)) + ) + (set! (-> arg0 giftag-roof tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :tme #x1 :abe #x1) + :nreg #x3 + ) + ) + (set! (-> arg0 giftag-roof regs) + (new 'static 'gif-tag-regs :regs0 (gif-reg-id st) :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2)) + ) + (set! (-> arg0 giftag-ocean tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :tme #x1 :fge #x1) + :nreg #x3 + ) + ) + (set! (-> arg0 giftag-ocean regs) + (new 'static 'gif-tag-regs :regs0 (gif-reg-id st) :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2)) + ) (set! (-> arg0 time) 0.0) (set! (-> arg0 off-s-0) (the-as uint 0)) (set! (-> arg0 off-t-0) (the-as uint 0)) @@ -148,30 +116,9 @@ ;; INFO: this function exists in multiple non-identical object files (defmethod inspect sky-vertex ((obj sky-vertex)) (format #t "sky-vertex [~X]:~%" obj) - (format - #t - "~TPos: [~F ~F ~F ~F]~%" - (-> obj pos x) - (-> obj pos y) - (-> obj pos z) - (-> obj pos w) - ) - (format - #t - "~TSTQ: [~F ~F ~F ~F]~%" - (-> obj stq x) - (-> obj stq y) - (-> obj stq z) - (-> obj stq w) - ) - (format - #t - "~TCol: [~F ~F ~F ~F]~%" - (-> obj col x) - (-> obj col y) - (-> obj col z) - (-> obj col w) - ) + (format #t "~TPos: [~F ~F ~F ~F]~%" (-> obj pos x) (-> obj pos y) (-> obj pos z) (-> obj pos w)) + (format #t "~TSTQ: [~F ~F ~F ~F]~%" (-> obj stq x) (-> obj stq y) (-> obj stq z) (-> obj stq w)) + (format #t "~TCol: [~F ~F ~F ~F]~%" (-> obj col x) (-> obj col y) (-> obj col z) (-> obj col w)) obj ) @@ -182,12 +129,12 @@ (sky-make-sun-data *sky-parms* 1 arg0) (sky-make-moon-data *sky-parms* arg0) (let ((v1-0 *sky-tng-data*)) - (+! (-> v1-0 off-s-0) 16) - (+! (-> v1-0 off-t-0) 32) - (+! (-> v1-0 off-s-1) -21) - (+! (-> v1-0 off-t-1) 42) - (set! (-> v1-0 time) arg0) - ) + (+! (-> v1-0 off-s-0) 16) + (+! (-> v1-0 off-t-0) 32) + (+! (-> v1-0 off-s-1) -21) + (+! (-> v1-0 off-t-1) 42) + (set! (-> v1-0 time) arg0) + ) 0 (none) ) @@ -227,444 +174,429 @@ (let ((v1-0 #x8000) (v0-0 (-> arg0 base)) ) - (set! (-> (the-as (pointer int128) v0-0)) 0) - (nop!) - (set! (-> (the-as (pointer int32) v0-0)) v1-0) - (let ((v0-1 (&+ v0-0 16))) - (.jr ra-0) - (set! (-> arg0 base) v0-1) + (set! (-> (the-as (pointer int128) v0-0)) 0) + (nop!) + (set! (-> (the-as (pointer int32) v0-0)) v1-0) + (let ((v0-1 (&+ v0-0 16))) + (.jr ra-0) + (set! (-> arg0 base) v0-1) + ) ) - ) (none) ) ;; definition for symbol sky-base-polygons, type (inline-array sky-vertex) -(define - sky-base-polygons - (new 'static 'inline-array sky-vertex 12 - (new 'static 'sky-vertex - :pos (new 'static 'vector :z -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :x 40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :y -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :x 40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :z 40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :y -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :z 40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :x -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :y -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :x -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :z -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :y -40960000.0) - :col - (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) - ) - ) - ) +(define sky-base-polygons (new 'static 'inline-array sky-vertex 12 + (new 'static 'sky-vertex + :pos (new 'static 'vector :z -40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :x 40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :y -40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :x 40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :z 40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :y -40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :z 40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :x -40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :y -40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :x -40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :z -40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :y -40960000.0) + :col + (new 'static 'vector :x 3.0 :y 18.0 :z 113.0 :w 128.0) + ) + ) + ) ;; definition for symbol sky-roof-polygons, type (inline-array sky-vertex) -(define - sky-roof-polygons - (new 'static 'inline-array sky-vertex 12 - (new 'static 'sky-vertex - :pos (new 'static 'vector :z -40960000.0) - :stq (new 'static 'vector :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :x 40960000.0) - :stq (new 'static 'vector :x 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :y 10240000.0) - :stq - (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :x 40960000.0) - :stq (new 'static 'vector :x 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :z 40960000.0) - :stq - (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :y 10240000.0) - :stq - (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :z 40960000.0) - :stq - (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :x -40960000.0) - :stq (new 'static 'vector :y 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :y 10240000.0) - :stq - (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :x -40960000.0) - :stq (new 'static 'vector :y 1.0 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :z -40960000.0) - :stq (new 'static 'vector :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - (new 'static 'sky-vertex - :pos (new 'static 'vector :y 10240000.0) - :stq - (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) - :col - (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) - ) - ) - ) +(define sky-roof-polygons (new 'static 'inline-array sky-vertex 12 + (new 'static 'sky-vertex + :pos (new 'static 'vector :z -40960000.0) + :stq (new 'static 'vector :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :x 40960000.0) + :stq (new 'static 'vector :x 1.0 :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :y 10240000.0) + :stq + (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :x 40960000.0) + :stq (new 'static 'vector :x 1.0 :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :z 40960000.0) + :stq + (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :y 10240000.0) + :stq + (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :z 40960000.0) + :stq + (new 'static 'vector :x 1.0 :y 1.0 :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :x -40960000.0) + :stq (new 'static 'vector :y 1.0 :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :y 10240000.0) + :stq + (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :x -40960000.0) + :stq (new 'static 'vector :y 1.0 :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :z -40960000.0) + :stq (new 'static 'vector :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + (new 'static 'sky-vertex + :pos (new 'static 'vector :y 10240000.0) + :stq + (new 'static 'vector :x 0.5 :y 0.5 :z 1.0) + :col + (new 'static 'vector :x 128.0 :y 128.0 :z 128.0 :w 128.0) + ) + ) + ) ;; definition for symbol sky-cloud-polygons, type (inline-array sky-vertex) -(define - sky-cloud-polygons - (new 'static 'inline-array sky-vertex 72 - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - (new 'static 'sky-vertex) - ) - ) +(define sky-cloud-polygons (new 'static 'inline-array sky-vertex 72 + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + (new 'static 'sky-vertex) + ) + ) ;; definition for symbol sky-cloud-polygon-indices, type (pointer uint8) -(define - sky-cloud-polygon-indices - (new 'static 'array uint8 48 - #x0 - #x1 - #x9 - #x8 - #x1 - #x2 - #xa - #x9 - #x2 - #x3 - #xb - #xa - #x3 - #x0 - #x8 - #xb - #x8 - #x9 - #x5 - #x4 - #x9 - #xa - #x6 - #x5 - #xa - #xb - #x7 - #x6 - #xb - #x8 - #x4 - #x7 - #x4 - #x5 - #x6 - #x7 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - ) - ) +(define sky-cloud-polygon-indices (new 'static 'array uint8 48 + #x0 + #x1 + #x9 + #x8 + #x1 + #x2 + #xa + #x9 + #x2 + #x3 + #xb + #xa + #x3 + #x0 + #x8 + #xb + #x8 + #x9 + #x5 + #x4 + #x9 + #xa + #x6 + #x5 + #xa + #xb + #x7 + #x6 + #xb + #x8 + #x4 + #x7 + #x4 + #x5 + #x6 + #x7 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + ) + ) ;; definition for function sky-tng-setup-cloud-layer ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - sky-tng-setup-cloud-layer - ((arg0 float) (arg1 float) (arg2 vector) (arg3 (inline-array sky-vertex))) +(defun sky-tng-setup-cloud-layer ((arg0 float) (arg1 float) (arg2 vector) (arg3 (inline-array sky-vertex))) (let ((f28-0 (sqrtf (- 1.0 (* arg0 arg0)))) (f26-0 (sqrtf (- 1.0 (* arg1 arg1)))) (s5-0 (new 'stack-no-clear 'inline-array 'sky-vertex 12)) ) - (dotimes (s1-0 12) - ((method-of-type sky-vertex new) (the-as symbol (-> s5-0 s1-0)) sky-vertex) - ) - (let ((f30-0 0.5)) - (let ((f9-0 -22.0) - (f10-0 22.0) - (f11-0 -22.0) - (f8-0 22.0) - (f6-0 -4.0) - (f7-0 5.0) - (f12-0 -5.0) - (f13-0 4.0) - (f1-4 -2.0) - (f2-2 2.0) - (f4-0 -2.0) - (f0-4 2.0) - ) - 0.0 - 1.0 - -1.0 - 0.0 - (let* ((f3-5 (/ (- f1-4 f9-0) (- f10-0 f9-0))) - (f5-2 (/ (- f2-2 f9-0) (- f10-0 f9-0))) - (f15-1 (/ (- f4-0 f11-0) (- f8-0 f11-0))) - (f14-3 (/ (- f0-4 f11-0) (- f8-0 f11-0))) - (f3-7 (+ f6-0 (* f3-5 (- f7-0 f6-0)))) - (f5-4 (+ f6-0 (* f5-2 (- f7-0 f6-0)))) + (dotimes (s1-0 12) + ((method-of-type sky-vertex new) (the-as symbol (-> s5-0 s1-0)) sky-vertex) + ) + (let ((f30-0 0.5)) + (let ((f9-0 -22.0) + (f10-0 22.0) + (f11-0 -22.0) + (f8-0 22.0) + (f6-0 -4.0) + (f7-0 5.0) + (f12-0 -5.0) + (f13-0 4.0) + (f1-4 -2.0) + (f2-2 2.0) + (f4-0 -2.0) + (f0-4 2.0) ) - (+ f12-0 (* f15-1 (- f13-0 f12-0))) - (+ f12-0 (* f14-3 (- f13-0 f12-0))) - (let ((v1-5 (-> s5-0 0))) - (set! (-> v1-5 pos x) f9-0) - (set! (-> v1-5 pos y) 0.0) - (set! (-> v1-5 pos z) f11-0) - (set! (-> v1-5 pos w) 0.0) - ) - (let ((v1-6 (-> s5-0 1))) - (set! (-> v1-6 pos x) f10-0) - (set! (-> v1-6 pos y) 0.0) - (set! (-> v1-6 pos z) f11-0) - (set! (-> v1-6 pos w) 0.0) - ) - (let ((v1-7 (-> s5-0 2))) - (set! (-> v1-7 pos x) f10-0) - (set! (-> v1-7 pos y) 0.0) - (set! (-> v1-7 pos z) f8-0) - (set! (-> v1-7 pos w) 0.0) - ) - (let ((v1-8 (-> s5-0 3))) - (set! (-> v1-8 pos x) f9-0) - (set! (-> v1-8 pos y) 0.0) - (set! (-> v1-8 pos z) f8-0) - (set! (-> v1-8 pos w) 0.0) - ) - (set-vector! (-> s5-0 0 stq) f6-0 f6-0 1.0 1.0) - (set-vector! (-> s5-0 1 stq) f7-0 f6-0 1.0 1.0) - (set-vector! (-> s5-0 2 stq) f7-0 f7-0 1.0 1.0) - (set-vector! (-> s5-0 3 stq) f6-0 f7-0 1.0 1.0) - (let ((v1-13 (-> s5-0 4))) - (set! (-> v1-13 pos x) f1-4) - (set! (-> v1-13 pos y) 1.0) - (set! (-> v1-13 pos z) f4-0) - (set! (-> v1-13 pos w) 0.0) - ) - (let ((v1-14 (-> s5-0 5))) - (set! (-> v1-14 pos x) f2-2) - (set! (-> v1-14 pos y) 1.0) - (set! (-> v1-14 pos z) f4-0) - (set! (-> v1-14 pos w) 0.0) - ) - (let ((v1-15 (-> s5-0 6))) - (set! (-> v1-15 pos x) f2-2) - (set! (-> v1-15 pos y) 1.0) - (set! (-> v1-15 pos z) f0-4) - (set! (-> v1-15 pos w) 0.0) - ) - (let ((v1-16 (-> s5-0 7))) - (set! (-> v1-16 pos x) f1-4) - (set! (-> v1-16 pos y) 1.0) - (set! (-> v1-16 pos z) f0-4) - (set! (-> v1-16 pos w) 0.0) - ) - (set-vector! (-> s5-0 4 stq) f3-7 f3-7 1.0 1.0) - (set-vector! (-> s5-0 5 stq) f5-4 f3-7 1.0 1.0) - (set-vector! (-> s5-0 6 stq) f5-4 f5-4 1.0 1.0) - (set-vector! (-> s5-0 7 stq) f3-7 f5-4 1.0 1.0) + 0.0 + 1.0 + -1.0 + 0.0 + (let* ((f3-5 (/ (- f1-4 f9-0) (- f10-0 f9-0))) + (f5-2 (/ (- f2-2 f9-0) (- f10-0 f9-0))) + (f15-1 (/ (- f4-0 f11-0) (- f8-0 f11-0))) + (f14-3 (/ (- f0-4 f11-0) (- f8-0 f11-0))) + (f3-7 (+ f6-0 (* f3-5 (- f7-0 f6-0)))) + (f5-4 (+ f6-0 (* f5-2 (- f7-0 f6-0)))) + ) + (+ f12-0 (* f15-1 (- f13-0 f12-0))) + (+ f12-0 (* f14-3 (- f13-0 f12-0))) + (let ((v1-5 (-> s5-0 0))) + (set! (-> v1-5 pos x) f9-0) + (set! (-> v1-5 pos y) 0.0) + (set! (-> v1-5 pos z) f11-0) + (set! (-> v1-5 pos w) 0.0) + ) + (let ((v1-6 (-> s5-0 1))) + (set! (-> v1-6 pos x) f10-0) + (set! (-> v1-6 pos y) 0.0) + (set! (-> v1-6 pos z) f11-0) + (set! (-> v1-6 pos w) 0.0) + ) + (let ((v1-7 (-> s5-0 2))) + (set! (-> v1-7 pos x) f10-0) + (set! (-> v1-7 pos y) 0.0) + (set! (-> v1-7 pos z) f8-0) + (set! (-> v1-7 pos w) 0.0) + ) + (let ((v1-8 (-> s5-0 3))) + (set! (-> v1-8 pos x) f9-0) + (set! (-> v1-8 pos y) 0.0) + (set! (-> v1-8 pos z) f8-0) + (set! (-> v1-8 pos w) 0.0) + ) + (set-vector! (-> s5-0 0 stq) f6-0 f6-0 1.0 1.0) + (set-vector! (-> s5-0 1 stq) f7-0 f6-0 1.0 1.0) + (set-vector! (-> s5-0 2 stq) f7-0 f7-0 1.0 1.0) + (set-vector! (-> s5-0 3 stq) f6-0 f7-0 1.0 1.0) + (let ((v1-13 (-> s5-0 4))) + (set! (-> v1-13 pos x) f1-4) + (set! (-> v1-13 pos y) 1.0) + (set! (-> v1-13 pos z) f4-0) + (set! (-> v1-13 pos w) 0.0) + ) + (let ((v1-14 (-> s5-0 5))) + (set! (-> v1-14 pos x) f2-2) + (set! (-> v1-14 pos y) 1.0) + (set! (-> v1-14 pos z) f4-0) + (set! (-> v1-14 pos w) 0.0) + ) + (let ((v1-15 (-> s5-0 6))) + (set! (-> v1-15 pos x) f2-2) + (set! (-> v1-15 pos y) 1.0) + (set! (-> v1-15 pos z) f0-4) + (set! (-> v1-15 pos w) 0.0) + ) + (let ((v1-16 (-> s5-0 7))) + (set! (-> v1-16 pos x) f1-4) + (set! (-> v1-16 pos y) 1.0) + (set! (-> v1-16 pos z) f0-4) + (set! (-> v1-16 pos w) 0.0) + ) + (set-vector! (-> s5-0 4 stq) f3-7 f3-7 1.0 1.0) + (set-vector! (-> s5-0 5 stq) f5-4 f3-7 1.0 1.0) + (set-vector! (-> s5-0 6 stq) f5-4 f5-4 1.0 1.0) + (set-vector! (-> s5-0 7 stq) f3-7 f5-4 1.0 1.0) + ) + ) + (dotimes (v1-21 4) + (let ((f0-14 (-> s5-0 v1-21 pos x)) + (f1-6 (-> s5-0 v1-21 pos z)) + ) + (set! (-> s5-0 v1-21 pos x) (+ (* f0-14 f26-0) (* f1-6 arg1))) + (set! (-> s5-0 v1-21 pos z) (- (* f1-6 f26-0) (* f0-14 arg1))) + ) + (set! (-> s5-0 v1-21 col quad) (-> arg2 quad)) + (set! (-> s5-0 v1-21 col w) 0.0) + ) + (dotimes (v1-24 4) + (let ((f0-18 (-> s5-0 (+ v1-24 4) pos x)) + (f1-8 (-> s5-0 (+ v1-24 4) pos z)) + ) + (set! (-> s5-0 (+ v1-24 4) pos x) (+ (* f0-18 f28-0) (* f1-8 arg0))) + (set! (-> s5-0 (+ v1-24 4) pos z) (- (* f1-8 f28-0) (* f0-18 arg0))) + ) + (set! (-> s5-0 (+ v1-24 4) col quad) (-> arg2 quad)) + ) + (dotimes (s3-1 4) + (vector4-lerp! + (the-as vector (-> s5-0 (+ s3-1 8))) + (the-as vector (-> s5-0 s3-1)) + (the-as vector (-> s5-0 (+ s3-1 4))) + f30-0 + ) + (vector4-lerp! (-> s5-0 (+ s3-1 8) stq) (-> s5-0 s3-1 stq) (-> s5-0 (+ s3-1 4) stq) f30-0) + (set! (-> s5-0 (+ s3-1 8) col quad) (-> arg2 quad)) + ) ) - ) - (dotimes (v1-21 4) - (let ((f0-14 (-> s5-0 v1-21 pos x)) - (f1-6 (-> s5-0 v1-21 pos z)) - ) - (set! (-> s5-0 v1-21 pos x) (+ (* f0-14 f26-0) (* f1-6 arg1))) - (set! (-> s5-0 v1-21 pos z) (- (* f1-6 f26-0) (* f0-14 arg1))) + (dotimes (v1-51 36) + (let ((a0-47 (-> sky-cloud-polygon-indices v1-51))) + (set! (-> arg3 v1-51 pos quad) (-> s5-0 a0-47 pos quad)) + (set! (-> arg3 v1-51 stq quad) (-> s5-0 a0-47 stq quad)) + (set! (-> arg3 v1-51 col quad) (-> s5-0 a0-47 col quad)) + ) ) - (set! (-> s5-0 v1-21 col quad) (-> arg2 quad)) - (set! (-> s5-0 v1-21 col w) 0.0) - ) - (dotimes (v1-24 4) - (let ((f0-18 (-> s5-0 (+ v1-24 4) pos x)) - (f1-8 (-> s5-0 (+ v1-24 4) pos z)) - ) - (set! (-> s5-0 (+ v1-24 4) pos x) (+ (* f0-18 f28-0) (* f1-8 arg0))) - (set! (-> s5-0 (+ v1-24 4) pos z) (- (* f1-8 f28-0) (* f0-18 arg0))) - ) - (set! (-> s5-0 (+ v1-24 4) col quad) (-> arg2 quad)) - ) - (dotimes (s3-1 4) - (vector4-lerp! - (the-as vector (-> s5-0 (+ s3-1 8))) - (the-as vector (-> s5-0 s3-1)) - (the-as vector (-> s5-0 (+ s3-1 4))) - f30-0 - ) - (vector4-lerp! - (-> s5-0 (+ s3-1 8) stq) - (-> s5-0 s3-1 stq) - (-> s5-0 (+ s3-1 4) stq) - f30-0 - ) - (set! (-> s5-0 (+ s3-1 8) col quad) (-> arg2 quad)) - ) ) - (dotimes (v1-51 36) - (let ((a0-47 (-> sky-cloud-polygon-indices v1-51))) - (set! (-> arg3 v1-51 pos quad) (-> s5-0 a0-47 pos quad)) - (set! (-> arg3 v1-51 stq quad) (-> s5-0 a0-47 stq quad)) - (set! (-> arg3 v1-51 col quad) (-> s5-0 a0-47 col quad)) - ) - ) - ) 0 (none) ) @@ -675,14 +607,9 @@ (let ((a2-0 (new 'static 'vector :x 20.0 :y 20.0 :z 20.0 :w 128.0)) (gp-0 (new 'static 'vector :x 20.0 :y 20.0 :z 30.0 :w 128.0)) ) - (sky-tng-setup-cloud-layer 0.0 0.0 a2-0 sky-cloud-polygons) - (sky-tng-setup-cloud-layer - 0.05584 - 0.01396 - gp-0 - (the-as (inline-array sky-vertex) (-> sky-cloud-polygons 36)) + (sky-tng-setup-cloud-layer 0.0 0.0 a2-0 sky-cloud-polygons) + (sky-tng-setup-cloud-layer 0.05584 0.01396 gp-0 (the-as (inline-array sky-vertex) (-> sky-cloud-polygons 36))) ) - ) 0 (none) ) @@ -697,392 +624,251 @@ (rlet ((vf23 :class vf) (vf27 :class vf) ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (let - ((gp-0 (-> *display* frames (-> *display* on-screen) frame global-buf base)) - ) - (let* - ((s4-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s5-0 (-> s4-0 base)) - ) - (let* ((v1-14 s4-0) - (a0-11 (the-as object (-> v1-14 base))) - ) - (set! - (-> (the-as dma-packet a0-11) dma) - (new 'static 'dma-tag :qwc #x4 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a0-11) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-11) vif1) - (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-14 base) (&+ (the-as pointer a0-11) 16)) - ) - (let* ((v1-15 s4-0) - (a0-13 (the-as object (-> v1-15 base))) - ) - (set! - (-> (the-as gs-gif-tag a0-13) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x3) - ) - (set! - (-> (the-as gs-gif-tag a0-13) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-15 base) (&+ (the-as pointer a0-13) 16)) - ) - (let* ((v1-16 s4-0) - (a0-15 (-> v1-16 base)) - ) - (set! - (-> (the-as (pointer gs-zbuf) a0-15) 0) - (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24)) - ) - (set! (-> (the-as (pointer gs-reg64) a0-15) 1) (gs-reg64 zbuf-1)) - (set! - (-> (the-as (pointer gs-test) a0-15) 2) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest always) - :zte #x1 - :ztst (gs-ztest always) - ) - ) - (set! (-> (the-as (pointer gs-reg64) a0-15) 3) (gs-reg64 test-1)) - (set! - (-> (the-as (pointer gs-alpha) a0-15) 4) - (new 'static 'gs-alpha :b #x1 :d #x1) - ) - (set! (-> (the-as (pointer gs-reg64) a0-15) 5) (gs-reg64 alpha-1)) - (set! (-> v1-16 base) (&+ a0-15 48)) - ) - (init-sky-regs) - (.lvf vf27 (&-> *sky-tng-data* giftag-roof qword)) - (when *sky-drawn* - (let* ((v1-20 s4-0) - (a0-17 (the-as object (-> v1-20 base))) - ) - (set! - (-> (the-as dma-packet a0-17) dma) - (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a0-17) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-17) vif1) - (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-20 base) (&+ (the-as pointer a0-17) 16)) - ) - (let* ((v1-21 s4-0) - (a0-19 (the-as object (-> v1-21 base))) - ) - (set! - (-> (the-as gs-gif-tag a0-19) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x4) - ) - (set! - (-> (the-as gs-gif-tag a0-19) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-21 base) (&+ (the-as pointer a0-19) 16)) - ) - (let* ((s3-0 s4-0) - (s2-0 (-> s3-0 base)) - ) - (set! - (-> (the-as (pointer gs-tex0) s2-0) 0) - (new 'static 'gs-tex0 - :tbw #x1 - :th (log2 32) - :tw (log2 32) - :tbp0 *sky-base-block* - ) - ) - (set! (-> (the-as (pointer gs-reg64) s2-0) 1) (gs-reg64 tex0-1)) - (set! - (-> (the-as (pointer gs-tex1) s2-0) 2) - (new 'static 'gs-tex1 :mmag #x1 :mmin #x1) - ) - (set! (-> (the-as (pointer gs-reg64) s2-0) 3) (gs-reg64 tex1-1)) - (set! - (-> (the-as (pointer gs-clamp) s2-0) 4) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) - ) - ) - (set! (-> (the-as (pointer gs-reg64) s2-0) 5) (gs-reg64 clamp-1)) - (set! (-> (the-as (pointer uint64) s2-0) 6) (the-as uint 0)) - (set! (-> (the-as (pointer gs-reg64) s2-0) 7) (gs-reg64 texflush)) - (set! (-> s3-0 base) (&+ s2-0 64)) - ) - (let ((s3-1 (the-as object (-> s4-0 base)))) - (&+! (-> s4-0 base) 16) - (render-sky-tri - (the-as (inline-array sky-vertex) (-> sky-roof-polygons 0)) - s4-0 - ) - (render-sky-tri - (the-as (inline-array sky-vertex) (-> sky-roof-polygons 3)) - s4-0 - ) - (render-sky-tri - (the-as (inline-array sky-vertex) (-> sky-roof-polygons 6)) - s4-0 - ) - (render-sky-tri - (the-as (inline-array sky-vertex) (-> sky-roof-polygons 9)) - s4-0 - ) - (close-sky-buffer s4-0) - (let - ((v1-46 - (/ - (the-as - int - (+ (- -16 (the-as int s3-1)) (the-as int (-> s4-0 base))) - ) - 16 - ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) ) - ) - (set! - (-> (the-as dma-packet s3-1) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc v1-46) - ) - (set! (-> (the-as dma-packet s3-1) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet s3-1) vif1) - (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm v1-46) - ) ) - ) - ) - (when *cloud-drawn* - (let* ((v1-52 s4-0) - (a0-32 (the-as object (-> v1-52 base))) + (let ((gp-0 (-> *display* frames (-> *display* on-screen) frame global-buf base))) + (let* ((s4-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s5-0 (-> s4-0 base)) ) - (set! - (-> (the-as dma-packet a0-32) dma) - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a0-32) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-32) vif1) - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-52 base) (&+ (the-as pointer a0-32) 16)) - ) - (let* ((v1-53 s4-0) - (a0-34 (the-as object (-> v1-53 base))) - ) - (set! - (-> (the-as gs-gif-tag a0-34) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x5) - ) - (set! - (-> (the-as gs-gif-tag a0-34) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-53 base) (&+ (the-as pointer a0-34) 16)) - ) - (let* ((s3-2 s4-0) - (s2-1 (-> s3-2 base)) - ) - (set! - (-> (the-as (pointer gs-alpha) s2-1) 0) - (new 'static 'gs-alpha :b #x2 :d #x1) - ) - (set! (-> (the-as (pointer gs-reg64) s2-1) 1) (gs-reg64 alpha-1)) - (set! - (-> (the-as (pointer gs-tex0) s2-1) 2) - (new 'static 'gs-tex0 - :tbw #x1 - :th (log2 64) - :tw (log2 64) - :tbp0 (+ *sky-base-block* 32) - ) - ) - (set! (-> (the-as (pointer gs-reg64) s2-1) 3) (gs-reg64 tex0-1)) - (set! - (-> (the-as (pointer gs-tex1) s2-1) 4) - (new 'static 'gs-tex1 :mmag #x1 :mmin #x1) - ) - (set! (-> (the-as (pointer gs-reg64) s2-1) 5) (gs-reg64 tex1-1)) - (set! (-> (the-as (pointer gs-clamp) s2-1) 6) (new 'static 'gs-clamp)) - (set! (-> (the-as (pointer gs-reg64) s2-1) 7) (gs-reg64 clamp-1)) - (set! (-> (the-as (pointer int64) s2-1) 8) 0) - (set! (-> (the-as (pointer gs-reg64) s2-1) 9) (gs-reg64 texflush)) - (set! (-> s3-2 base) (&+ s2-1 80)) - ) - (let ((s3-3 (the-as object (-> s4-0 base)))) - (&+! (-> s4-0 base) 16) - (init-sky-regs) - (let ((s2-2 (the-as object (-> sky-cloud-polygons 0)))) - (set-tex-offset - (the-as int (-> *sky-tng-data* off-s-0)) - (the-as int (-> *sky-tng-data* off-t-0)) - ) - (dotimes (s1-4 9) - (render-sky-quad (the-as int s2-2) s4-0) - (set! s2-2 (-> (the-as (inline-array sky-vertex) s2-2) 4)) - ) - (set-tex-offset - (the-as int (-> *sky-tng-data* off-s-1)) - (the-as int (-> *sky-tng-data* off-t-1)) - ) - (dotimes (s1-5 9) - (render-sky-quad (the-as int s2-2) s4-0) - (set! s2-2 (-> (the-as (inline-array sky-vertex) s2-2) 4)) - ) - ) - (.lvf vf27 (&-> *sky-tng-data* giftag-base qword)) - (let ((v1-83 #x43800000)) - (.mov vf23 v1-83) - ) - (.mov v1-84 vf23) - (render-sky-tri - (the-as (inline-array sky-vertex) (-> sky-base-polygons 0)) - s4-0 - ) - (render-sky-tri - (the-as (inline-array sky-vertex) (-> sky-base-polygons 3)) - s4-0 - ) - (render-sky-tri - (the-as (inline-array sky-vertex) (-> sky-base-polygons 6)) - s4-0 - ) - (render-sky-tri - (the-as (inline-array sky-vertex) (-> sky-base-polygons 9)) - s4-0 - ) - (close-sky-buffer s4-0) - (let - ((v1-92 - (/ - (the-as - int - (+ (- -16 (the-as int s3-3)) (the-as int (-> s4-0 base))) - ) - 16 - ) + (let* ((v1-14 s4-0) + (a0-11 (the-as object (-> v1-14 base))) + ) + (set! (-> (the-as dma-packet a0-11) dma) (new 'static 'dma-tag :qwc #x4 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-11) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-11) vif1) (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-14 base) (&+ (the-as pointer a0-11) 16)) + ) + (let* ((v1-15 s4-0) + (a0-13 (the-as object (-> v1-15 base))) + ) + (set! (-> (the-as gs-gif-tag a0-13) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x3)) + (set! (-> (the-as gs-gif-tag a0-13) regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-15 base) (&+ (the-as pointer a0-13) 16)) + ) + (let* ((v1-16 s4-0) + (a0-15 (-> v1-16 base)) + ) + (set! (-> (the-as (pointer gs-zbuf) a0-15) 0) (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24))) + (set! (-> (the-as (pointer gs-reg64) a0-15) 1) (gs-reg64 zbuf-1)) + (set! (-> (the-as (pointer gs-test) a0-15) 2) + (new 'static 'gs-test :ate #x1 :atst (gs-atest always) :zte #x1 :ztst (gs-ztest always)) + ) + (set! (-> (the-as (pointer gs-reg64) a0-15) 3) (gs-reg64 test-1)) + (set! (-> (the-as (pointer gs-alpha) a0-15) 4) (new 'static 'gs-alpha :b #x1 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) a0-15) 5) (gs-reg64 alpha-1)) + (set! (-> v1-16 base) (&+ a0-15 48)) + ) + (init-sky-regs) + (.lvf vf27 (&-> *sky-tng-data* giftag-roof qword)) + (when *sky-drawn* + (let* ((v1-20 s4-0) + (a0-17 (the-as object (-> v1-20 base))) + ) + (set! (-> (the-as dma-packet a0-17) dma) (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-17) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-17) vif1) (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-20 base) (&+ (the-as pointer a0-17) 16)) + ) + (let* ((v1-21 s4-0) + (a0-19 (the-as object (-> v1-21 base))) + ) + (set! (-> (the-as gs-gif-tag a0-19) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x4)) + (set! (-> (the-as gs-gif-tag a0-19) regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-21 base) (&+ (the-as pointer a0-19) 16)) + ) + (let* ((s3-0 s4-0) + (s2-0 (-> s3-0 base)) + ) + (set! (-> (the-as (pointer gs-tex0) s2-0) 0) + (new 'static 'gs-tex0 :tbw #x1 :th (log2 32) :tw (log2 32) :tbp0 *sky-base-block*) + ) + (set! (-> (the-as (pointer gs-reg64) s2-0) 1) (gs-reg64 tex0-1)) + (set! (-> (the-as (pointer gs-tex1) s2-0) 2) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) + (set! (-> (the-as (pointer gs-reg64) s2-0) 3) (gs-reg64 tex1-1)) + (set! (-> (the-as (pointer gs-clamp) s2-0) 4) + (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)) + ) + (set! (-> (the-as (pointer gs-reg64) s2-0) 5) (gs-reg64 clamp-1)) + (set! (-> (the-as (pointer uint64) s2-0) 6) (the-as uint 0)) + (set! (-> (the-as (pointer gs-reg64) s2-0) 7) (gs-reg64 texflush)) + (set! (-> s3-0 base) (&+ s2-0 64)) + ) + (let ((s3-1 (the-as object (-> s4-0 base)))) + (&+! (-> s4-0 base) 16) + (render-sky-tri (the-as (inline-array sky-vertex) (-> sky-roof-polygons 0)) s4-0) + (render-sky-tri (the-as (inline-array sky-vertex) (-> sky-roof-polygons 3)) s4-0) + (render-sky-tri (the-as (inline-array sky-vertex) (-> sky-roof-polygons 6)) s4-0) + (render-sky-tri (the-as (inline-array sky-vertex) (-> sky-roof-polygons 9)) s4-0) + (close-sky-buffer s4-0) + (let ((v1-46 (/ (the-as int (+ (- -16 (the-as int s3-1)) (the-as int (-> s4-0 base)))) 16))) + (set! (-> (the-as dma-packet s3-1) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc v1-46)) + (set! (-> (the-as dma-packet s3-1) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet s3-1) vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm v1-46)) + ) + ) + ) + (when *cloud-drawn* + (let* ((v1-52 s4-0) + (a0-32 (the-as object (-> v1-52 base))) + ) + (set! (-> (the-as dma-packet a0-32) dma) (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-32) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-32) vif1) (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-52 base) (&+ (the-as pointer a0-32) 16)) + ) + (let* ((v1-53 s4-0) + (a0-34 (the-as object (-> v1-53 base))) + ) + (set! (-> (the-as gs-gif-tag a0-34) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x5)) + (set! (-> (the-as gs-gif-tag a0-34) regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-53 base) (&+ (the-as pointer a0-34) 16)) + ) + (let* ((s3-2 s4-0) + (s2-1 (-> s3-2 base)) + ) + (set! (-> (the-as (pointer gs-alpha) s2-1) 0) (new 'static 'gs-alpha :b #x2 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) s2-1) 1) (gs-reg64 alpha-1)) + (set! (-> (the-as (pointer gs-tex0) s2-1) 2) + (new 'static 'gs-tex0 :tbw #x1 :th (log2 64) :tw (log2 64) :tbp0 (+ *sky-base-block* 32)) + ) + (set! (-> (the-as (pointer gs-reg64) s2-1) 3) (gs-reg64 tex0-1)) + (set! (-> (the-as (pointer gs-tex1) s2-1) 4) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) + (set! (-> (the-as (pointer gs-reg64) s2-1) 5) (gs-reg64 tex1-1)) + (set! (-> (the-as (pointer gs-clamp) s2-1) 6) (new 'static 'gs-clamp)) + (set! (-> (the-as (pointer gs-reg64) s2-1) 7) (gs-reg64 clamp-1)) + (set! (-> (the-as (pointer int64) s2-1) 8) 0) + (set! (-> (the-as (pointer gs-reg64) s2-1) 9) (gs-reg64 texflush)) + (set! (-> s3-2 base) (&+ s2-1 80)) + ) + (let ((s3-3 (the-as object (-> s4-0 base)))) + (&+! (-> s4-0 base) 16) + (init-sky-regs) + (let ((s2-2 (the-as object (-> sky-cloud-polygons 0)))) + (set-tex-offset (the-as int (-> *sky-tng-data* off-s-0)) (the-as int (-> *sky-tng-data* off-t-0))) + (dotimes (s1-4 9) + (render-sky-quad (the-as int s2-2) s4-0) + (set! s2-2 (-> (the-as (inline-array sky-vertex) s2-2) 4)) + ) + (set-tex-offset (the-as int (-> *sky-tng-data* off-s-1)) (the-as int (-> *sky-tng-data* off-t-1))) + (dotimes (s1-5 9) + (render-sky-quad (the-as int s2-2) s4-0) + (set! s2-2 (-> (the-as (inline-array sky-vertex) s2-2) 4)) + ) + ) + (.lvf vf27 (&-> *sky-tng-data* giftag-base qword)) + (let ((v1-83 #x43800000)) + (.mov vf23 v1-83) + ) + (.mov v1-84 vf23) + (render-sky-tri (the-as (inline-array sky-vertex) (-> sky-base-polygons 0)) s4-0) + (render-sky-tri (the-as (inline-array sky-vertex) (-> sky-base-polygons 3)) s4-0) + (render-sky-tri (the-as (inline-array sky-vertex) (-> sky-base-polygons 6)) s4-0) + (render-sky-tri (the-as (inline-array sky-vertex) (-> sky-base-polygons 9)) s4-0) + (close-sky-buffer s4-0) + (let ((v1-92 (/ (the-as int (+ (- -16 (the-as int s3-3)) (the-as int (-> s4-0 base)))) 16))) + (set! (-> (the-as dma-packet s3-3) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc v1-92)) + (set! (-> (the-as dma-packet s3-3) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet s3-3) vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm v1-92)) + ) + ) + ) + (let ((a3-0 (-> s4-0 base))) + (let ((v1-96 (the-as object (-> s4-0 base)))) + (set! (-> (the-as dma-packet v1-96) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-96) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-96) vif1) (new 'static 'vif-tag)) + (set! (-> s4-0 base) (&+ (the-as pointer v1-96) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id sky-draw) + s5-0 + (the-as (pointer dma-tag) a3-0) + ) ) - ) - (set! - (-> (the-as dma-packet s3-3) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc v1-92) - ) - (set! (-> (the-as dma-packet s3-3) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet s3-3) vif1) - (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm v1-92) - ) ) - ) - ) - (let ((a3-0 (-> s4-0 base))) - (let ((v1-96 (the-as object (-> s4-0 base)))) - (set! - (-> (the-as dma-packet v1-96) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + (let ((v1-101 *dma-mem-usage*)) + (when (nonzero? v1-101) + (set! (-> v1-101 length) (max 86 (-> v1-101 length))) + (set! (-> v1-101 data 85 name) "sky") + (+! (-> v1-101 data 85 count) 1) + (+! + (-> v1-101 data 85 used) + (&- (-> *display* frames (-> *display* on-screen) frame global-buf base) (the-as uint gp-0)) + ) + (set! (-> v1-101 data 85 total) (-> v1-101 data 85 used)) + ) ) - (set! (-> (the-as dma-packet v1-96) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-96) vif1) (new 'static 'vif-tag)) - (set! (-> s4-0 base) (&+ (the-as pointer v1-96) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id sky-draw) - s5-0 - (the-as (pointer dma-tag) a3-0) - ) ) - ) - (let ((v1-101 *dma-mem-usage*)) - (when (nonzero? v1-101) - (set! (-> v1-101 length) (max 86 (-> v1-101 length))) - (set! (-> v1-101 data 85 name) "sky") - (+! (-> v1-101 data 85 count) 1) - (+! - (-> v1-101 data 85 used) - (&- - (-> *display* frames (-> *display* on-screen) frame global-buf base) - (the-as uint gp-0) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #xff :b #xff :a #x80) + ) ) - ) - (set! (-> v1-101 data 85 total) (-> v1-101 data 85 used)) - ) - ) + 0 + (none) ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #xff :b #xff :a #x80) - ) - ) - 0 - (none) - ) ) ;; definition for function copy-sky-texture @@ -1090,62 +876,37 @@ ;; Used lq/sq (defun copy-sky-texture ((arg0 dma-buffer) (arg1 adgif-shader) (arg2 float)) (let ((s5-0 (-> arg0 base))) - (let ((v1-0 (the int (+ 0.5 (* 128.0 arg2)))) - (a0-2 (-> *sky-work* sky-data)) - ) - (set! (-> a0-2 0 vector4w x) v1-0) - (set! (-> a0-2 0 vector4w y) v1-0) - (set! (-> a0-2 0 vector4w z) v1-0) - (set! (-> a0-2 0 vector4w w) 128) - ) - (set! - (-> (the-as (pointer uint128) s5-0) 0) - (-> *sky-work* adgif-tmpl dma-vif quad) - ) - (set! - (-> (the-as (pointer uint128) s5-0) 1) - (-> *sky-work* adgif-tmpl quad 1) - ) - (let ((s4-0 (the-as object (&-> (the-as (pointer uint128) s5-0) 2)))) - (quad-copy! (the-as (pointer uint128) s4-0) (the-as pointer arg1) 5) - (set! - (-> (the-as adgif-shader s4-0) clamp) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) + (let ((v1-0 (the int (+ 0.5 (* 128.0 arg2)))) + (a0-2 (-> *sky-work* sky-data)) + ) + (set! (-> a0-2 0 vector4w x) v1-0) + (set! (-> a0-2 0 vector4w y) v1-0) + (set! (-> a0-2 0 vector4w z) v1-0) + (set! (-> a0-2 0 vector4w w) 128) ) - ) - (set! - (-> (the-as adgif-shader s4-0) alpha) - (new 'static 'gs-miptbp :tbp1 #x68 :tbw2 #x20) - ) + (set! (-> (the-as (pointer uint128) s5-0) 0) (-> *sky-work* adgif-tmpl dma-vif quad)) + (set! (-> (the-as (pointer uint128) s5-0) 1) (-> *sky-work* adgif-tmpl quad 1)) + (let ((s4-0 (the-as object (&-> (the-as (pointer uint128) s5-0) 2)))) + (quad-copy! (the-as (pointer uint128) s4-0) (the-as pointer arg1) 5) + (set! (-> (the-as adgif-shader s4-0) clamp) + (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)) + ) + (set! (-> (the-as adgif-shader s4-0) alpha) (new 'static 'gs-miptbp :tbp1 #x68 :tbw2 #x20)) + ) + (cond + (*sky-drawn* + (set! (-> (the-as (pointer uint128) s5-0) 7) (-> *sky-work* blend-tmpl dma-vif quad)) + (set! (-> (the-as (pointer uint128) s5-0) 8) (-> *sky-work* blend-tmpl quad 1)) + ) + (else + (set! (-> (the-as (pointer uint128) s5-0) 7) (-> *sky-work* draw-tmpl dma-vif quad)) + (set! (-> (the-as (pointer uint128) s5-0) 8) (-> *sky-work* draw-tmpl quad 1)) + (set! *sky-drawn* #t) + ) + ) + (quad-copy! (&+ s5-0 144) (the-as pointer (-> *sky-work* sky-data)) 5) + (set! (-> arg0 base) (&+ s5-0 224)) ) - (cond - (*sky-drawn* - (set! - (-> (the-as (pointer uint128) s5-0) 7) - (-> *sky-work* blend-tmpl dma-vif quad) - ) - (set! - (-> (the-as (pointer uint128) s5-0) 8) - (-> *sky-work* blend-tmpl quad 1) - ) - ) - (else - (set! - (-> (the-as (pointer uint128) s5-0) 7) - (-> *sky-work* draw-tmpl dma-vif quad) - ) - (set! - (-> (the-as (pointer uint128) s5-0) 8) - (-> *sky-work* draw-tmpl quad 1) - ) - (set! *sky-drawn* #t) - ) - ) - (quad-copy! (&+ s5-0 144) (the-as pointer (-> *sky-work* sky-data)) 5) - (set! (-> arg0 base) (&+ s5-0 224)) - ) (none) ) @@ -1154,180 +915,134 @@ ;; Used lq/sq (defun copy-cloud-texture ((arg0 dma-buffer) (arg1 adgif-shader) (arg2 float)) (let ((s5-0 (-> arg0 base))) - (let ((v1-0 (the int (+ 0.5 (* 128.0 arg2)))) - (a0-2 (-> *sky-work* cloud-data)) - ) - (set! (-> a0-2 0 vector4w x) v1-0) - (set! (-> a0-2 0 vector4w y) v1-0) - (set! (-> a0-2 0 vector4w z) v1-0) - (set! (-> a0-2 0 vector4w w) 128) - ) - (set! - (-> (the-as (pointer uint128) s5-0) 0) - (-> *sky-work* adgif-tmpl dma-vif quad) - ) - (set! - (-> (the-as (pointer uint128) s5-0) 1) - (-> *sky-work* adgif-tmpl quad 1) - ) - (let ((s4-0 (the-as object (&-> (the-as (pointer uint128) s5-0) 2)))) - (quad-copy! (the-as (pointer uint128) s4-0) (the-as pointer arg1) 5) - (set! - (-> (the-as adgif-shader s4-0) clamp) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) + (let ((v1-0 (the int (+ 0.5 (* 128.0 arg2)))) + (a0-2 (-> *sky-work* cloud-data)) + ) + (set! (-> a0-2 0 vector4w x) v1-0) + (set! (-> a0-2 0 vector4w y) v1-0) + (set! (-> a0-2 0 vector4w z) v1-0) + (set! (-> a0-2 0 vector4w w) 128) ) - ) - (set! - (-> (the-as adgif-shader s4-0) alpha) - (new 'static 'gs-miptbp :tbp1 #x68 :tbw2 #x20) - ) + (set! (-> (the-as (pointer uint128) s5-0) 0) (-> *sky-work* adgif-tmpl dma-vif quad)) + (set! (-> (the-as (pointer uint128) s5-0) 1) (-> *sky-work* adgif-tmpl quad 1)) + (let ((s4-0 (the-as object (&-> (the-as (pointer uint128) s5-0) 2)))) + (quad-copy! (the-as (pointer uint128) s4-0) (the-as pointer arg1) 5) + (set! (-> (the-as adgif-shader s4-0) clamp) + (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)) + ) + (set! (-> (the-as adgif-shader s4-0) alpha) (new 'static 'gs-miptbp :tbp1 #x68 :tbw2 #x20)) + ) + (cond + (*cloud-drawn* + (set! (-> (the-as (pointer uint128) s5-0) 7) (-> *sky-work* blend-tmpl dma-vif quad)) + (set! (-> (the-as (pointer uint128) s5-0) 8) (-> *sky-work* blend-tmpl quad 1)) + ) + (else + (set! (-> (the-as (pointer uint128) s5-0) 7) (-> *sky-work* draw-tmpl dma-vif quad)) + (set! (-> (the-as (pointer uint128) s5-0) 8) (-> *sky-work* draw-tmpl quad 1)) + (set! *cloud-drawn* #t) + ) + ) + (quad-copy! (&+ s5-0 144) (the-as pointer (-> *sky-work* cloud-data)) 5) + (set! (-> arg0 base) (&+ s5-0 224)) ) - (cond - (*cloud-drawn* - (set! - (-> (the-as (pointer uint128) s5-0) 7) - (-> *sky-work* blend-tmpl dma-vif quad) - ) - (set! - (-> (the-as (pointer uint128) s5-0) 8) - (-> *sky-work* blend-tmpl quad 1) - ) - ) - (else - (set! - (-> (the-as (pointer uint128) s5-0) 7) - (-> *sky-work* draw-tmpl dma-vif quad) - ) - (set! - (-> (the-as (pointer uint128) s5-0) 8) - (-> *sky-work* draw-tmpl quad 1) - ) - (set! *cloud-drawn* #t) - ) - ) - (quad-copy! (&+ s5-0 144) (the-as pointer (-> *sky-work* cloud-data)) 5) - (set! (-> arg0 base) (&+ s5-0 224)) - ) (none) ) ;; definition for function make-sky-textures ;; INFO: Return type mismatch int vs none. (defun make-sky-textures ((arg0 time-of-day-context) (arg1 int)) - (when - (and - (= (-> *level* level arg1 status) 'active) - (-> *level* level arg1 info sky) - ) - (let ((f30-0 (-> arg0 current-interp))) - (if (zero? arg1) - (set! f30-0 (- 1.0 f30-0)) - ) - (if (= (-> arg0 active-count) 1) - (set! f30-0 1.0) - ) - (when (!= f30-0 0.0) - (let ((gp-0 (if (zero? arg1) - 32 - 39 + (when (and (= (-> *level* level arg1 status) 'active) (-> *level* level arg1 info sky)) + (let ((f30-0 (-> arg0 current-interp))) + (if (zero? arg1) + (set! f30-0 (- 1.0 f30-0)) + ) + (if (= (-> arg0 active-count) 1) + (set! f30-0 1.0) + ) + (when (!= f30-0 0.0) + (let ((gp-0 (if (zero? arg1) + 32 + 39 + ) + ) + (s1-0 (-> *level* level arg1 bsp adgifs)) + ) + (when (nonzero? s1-0) + (let* ((s2-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s3-0 (-> s2-0 base)) + ) + (set-display-gs-state s2-0 *sky-base-page* 64 96 0 0) + (dotimes (s0-0 8) + (let ((f0-3 (* (-> arg0 moods arg1 sky-times s0-0) f30-0))) + (if (!= f0-3 0.0) + (copy-sky-texture s2-0 (-> s1-0 data s0-0) f0-3) + ) ) + ) + (copy-cloud-texture s2-0 (-> s1-0 data 8) f30-0) + (let* ((v1-31 s2-0) + (a0-19 (the-as object (-> v1-31 base))) + ) + (set! (-> (the-as dma-packet a0-19) dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-19) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-19) vif1) (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-31 base) (&+ (the-as pointer a0-19) 16)) + ) + (let* ((v1-32 s2-0) + (a0-21 (the-as object (-> v1-32 base))) + ) + (set! (-> (the-as gs-gif-tag a0-21) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) + (set! (-> (the-as gs-gif-tag a0-21) regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-32 base) (&+ (the-as pointer a0-21) 16)) + ) + (let* ((v1-33 s2-0) + (a0-23 (-> v1-33 base)) + ) + (set! (-> (the-as (pointer gs-alpha) a0-23) 0) (new 'static 'gs-alpha :b #x1 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) a0-23) 1) (gs-reg64 alpha-1)) + (set! (-> v1-33 base) (&+ a0-23 16)) + ) + (reset-display-gs-state *display* s2-0 *oddeven*) + (let ((a3-1 (-> s2-0 base))) + (let ((v1-34 (the-as object (-> s2-0 base)))) + (set! (-> (the-as dma-packet v1-34) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-34) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-34) vif1) (new 'static 'vif-tag)) + (set! (-> s2-0 base) (&+ (the-as pointer v1-34) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (the-as bucket-id gp-0) + s3-0 + (the-as (pointer dma-tag) a3-1) + ) + ) + ) ) - (s1-0 (-> *level* level arg1 bsp adgifs)) - ) - (when (nonzero? s1-0) - (let* - ((s2-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s3-0 (-> s2-0 base)) - ) - (set-display-gs-state s2-0 *sky-base-page* 64 96 0 0) - (dotimes (s0-0 8) - (let ((f0-3 (* (-> arg0 moods arg1 sky-times s0-0) f30-0))) - (if (!= f0-3 0.0) - (copy-sky-texture s2-0 (-> s1-0 data s0-0) f0-3) - ) ) - ) - (copy-cloud-texture s2-0 (-> s1-0 data 8) f30-0) - (let* ((v1-31 s2-0) - (a0-19 (the-as object (-> v1-31 base))) - ) - (set! - (-> (the-as dma-packet a0-19) dma) - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a0-19) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-19) vif1) - (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-31 base) (&+ (the-as pointer a0-19) 16)) - ) - (let* ((v1-32 s2-0) - (a0-21 (the-as object (-> v1-32 base))) - ) - (set! - (-> (the-as gs-gif-tag a0-21) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1) - ) - (set! - (-> (the-as gs-gif-tag a0-21) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-32 base) (&+ (the-as pointer a0-21) 16)) - ) - (let* ((v1-33 s2-0) - (a0-23 (-> v1-33 base)) - ) - (set! - (-> (the-as (pointer gs-alpha) a0-23) 0) - (new 'static 'gs-alpha :b #x1 :d #x1) - ) - (set! (-> (the-as (pointer gs-reg64) a0-23) 1) (gs-reg64 alpha-1)) - (set! (-> v1-33 base) (&+ a0-23 16)) - ) - (reset-display-gs-state *display* s2-0 *oddeven*) - (let ((a3-1 (-> s2-0 base))) - (let ((v1-34 (the-as object (-> s2-0 base)))) - (set! - (-> (the-as dma-packet v1-34) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-34) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-34) vif1) (new 'static 'vif-tag)) - (set! (-> s2-0 base) (&+ (the-as pointer v1-34) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (the-as bucket-id gp-0) - s3-0 - (the-as (pointer dma-tag) a3-1) - ) - ) ) - ) ) - ) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/gfx/sky/sky-utils_REF.gc b/test/decompiler/reference/engine/gfx/sky/sky-utils_REF.gc index af006ffd44..925c4b3d1f 100644 --- a/test/decompiler/reference/engine/gfx/sky/sky-utils_REF.gc +++ b/test/decompiler/reference/engine/gfx/sky/sky-utils_REF.gc @@ -2,77 +2,57 @@ (in-package goal) ;; definition for function sky-set-sun-radii -(defun - sky-set-sun-radii - ((arg0 sky-parms) (arg1 int) (arg2 float) (arg3 float) (arg4 float)) +(defun sky-set-sun-radii ((arg0 sky-parms) (arg1 int) (arg2 float) (arg3 float) (arg4 float)) (let ((v1-0 (logand arg1 1))) - (set! (-> arg0 upload-data sun v1-0 r-sun) arg2) - (set! (-> arg0 upload-data sun v1-0 r-halo) arg3) - (set! (-> arg0 upload-data sun v1-0 r-aurora) arg4) - ) + (set! (-> arg0 upload-data sun v1-0 r-sun) arg2) + (set! (-> arg0 upload-data sun v1-0 r-halo) arg3) + (set! (-> arg0 upload-data sun v1-0 r-aurora) arg4) + ) #f ) ;; definition for function sky-set-sun-colors -(defun - sky-set-sun-colors - ((arg0 sky-parms) (arg1 int) (arg2 rgba) (arg3 rgba) (arg4 rgba) (arg5 rgba)) +(defun sky-set-sun-colors ((arg0 sky-parms) (arg1 int) (arg2 rgba) (arg3 rgba) (arg4 rgba) (arg5 rgba)) (let ((v1-0 (logand arg1 1))) - (set! (-> arg0 upload-data sun v1-0 c-sun-start) arg2) - (set! (-> arg0 upload-data sun v1-0 c-sun-end) arg3) - (set! (-> arg0 upload-data sun v1-0 c-halo-start) arg3) - (set! (-> arg0 upload-data sun v1-0 c-halo-end) arg4) - (set! (-> arg0 upload-data sun v1-0 c-aurora-start) arg4) - (set! (-> arg0 upload-data sun v1-0 c-aurora-end) arg5) - ) + (set! (-> arg0 upload-data sun v1-0 c-sun-start) arg2) + (set! (-> arg0 upload-data sun v1-0 c-sun-end) arg3) + (set! (-> arg0 upload-data sun v1-0 c-halo-start) arg3) + (set! (-> arg0 upload-data sun v1-0 c-halo-end) arg4) + (set! (-> arg0 upload-data sun v1-0 c-aurora-start) arg4) + (set! (-> arg0 upload-data sun v1-0 c-aurora-end) arg5) + ) #f ) ;; definition for function sky-set-sun-colors-sun -(defun - sky-set-sun-colors-sun - ((arg0 sky-parms) (arg1 int) (arg2 rgba) (arg3 rgba)) +(defun sky-set-sun-colors-sun ((arg0 sky-parms) (arg1 int) (arg2 rgba) (arg3 rgba)) (let ((v1-0 (logand arg1 1))) - (set! (-> arg0 upload-data sun v1-0 c-sun-start) arg2) - (set! (-> arg0 upload-data sun v1-0 c-sun-end) arg3) - ) + (set! (-> arg0 upload-data sun v1-0 c-sun-start) arg2) + (set! (-> arg0 upload-data sun v1-0 c-sun-end) arg3) + ) #f ) ;; definition for function sky-set-sun-colors-halo -(defun - sky-set-sun-colors-halo - ((arg0 sky-parms) (arg1 int) (arg2 rgba) (arg3 rgba)) +(defun sky-set-sun-colors-halo ((arg0 sky-parms) (arg1 int) (arg2 rgba) (arg3 rgba)) (let ((v1-0 (logand arg1 1))) - (set! (-> arg0 upload-data sun v1-0 c-halo-start) arg2) - (set! (-> arg0 upload-data sun v1-0 c-halo-end) arg3) - ) + (set! (-> arg0 upload-data sun v1-0 c-halo-start) arg2) + (set! (-> arg0 upload-data sun v1-0 c-halo-end) arg3) + ) #f ) ;; definition for function sky-set-sun-colors-aurora -(defun - sky-set-sun-colors-aurora - ((arg0 sky-parms) (arg1 int) (arg2 rgba) (arg3 rgba)) +(defun sky-set-sun-colors-aurora ((arg0 sky-parms) (arg1 int) (arg2 rgba) (arg3 rgba)) (let ((v1-0 (logand arg1 1))) - (set! (-> arg0 upload-data sun v1-0 c-aurora-start) arg2) - (set! (-> arg0 upload-data sun v1-0 c-aurora-end) arg3) - ) + (set! (-> arg0 upload-data sun v1-0 c-aurora-start) arg2) + (set! (-> arg0 upload-data sun v1-0 c-aurora-end) arg3) + ) #f ) ;; definition for function sky-set-orbit -(defun - sky-set-orbit - ((arg0 sky-parms) - (arg1 int) - (arg2 float) - (arg3 float) - (arg4 float) - (arg5 float) - (arg6 float) - (arg7 float) - ) +(defun sky-set-orbit ((arg0 sky-parms) (arg1 int) (arg2 float) (arg3 float) (arg4 float) (arg5 float) (arg6 float) (arg7 float)) (set! (-> arg0 orbit arg1 high-noon) arg2) (set! (-> arg0 orbit arg1 tilt) (* 0.017453292 arg3)) (set! (-> arg0 orbit arg1 rise) (* 0.017453292 arg4)) diff --git a/test/decompiler/reference/engine/gfx/sparticle/sparticle-h_REF.gc b/test/decompiler/reference/engine/gfx/sparticle/sparticle-h_REF.gc index 2a92cd7cc2..653b9e0050 100644 --- a/test/decompiler/reference/engine/gfx/sparticle/sparticle-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/sparticle/sparticle-h_REF.gc @@ -5,13 +5,7 @@ (define *sp-frame-time* (new 'global 'vector)) ;; failed to figure out what this is: -(set-vector! - *sp-frame-time* - 0.00000000000000000000000000000000000001175495 - 5.0 - 1.0 - 1.0 - ) +(set-vector! *sp-frame-time* 0.00000000000000000000000000000000000001175495 5.0 1.0 1.0) ;; definition for symbol *sp-60-hz*, type symbol (define *sp-60-hz* #t) @@ -78,11 +72,7 @@ (format #t "~Tuser-uint32: ~D~%" (-> obj user-float)) (format #t "~Tuser-float: ~f~%" (the-as float (-> obj user-float))) (format #t "~Tuser-pntr: #x~X~%" (-> obj user-float)) - (format - #t - "~Tuser-sprite: #~%" - (-> obj user-float) - ) + (format #t "~Tuser-sprite: #~%" (-> obj user-float)) (format #t "~Tfunc: ~A~%" (-> obj func)) (format #t "~Tnext-time: ~D~%" (-> obj next-time)) (format #t "~Tnext-launcher: ~A~%" (-> obj next-launcher)) diff --git a/test/decompiler/reference/engine/gfx/sparticle/sparticle-launcher-h_REF.gc b/test/decompiler/reference/engine/gfx/sparticle/sparticle-launcher-h_REF.gc index 4c32c026d6..562fec8e98 100644 --- a/test/decompiler/reference/engine/gfx/sparticle/sparticle-launcher-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/sparticle/sparticle-launcher-h_REF.gc @@ -119,11 +119,7 @@ ;; definition for method 3 of type sparticle-launch-state (defmethod inspect sparticle-launch-state ((obj sparticle-launch-state)) (format #t "[~8x] ~A~%" obj 'sparticle-launch-state) - (format - #t - "~Tgroup-item: #~%" - (-> obj group-item) - ) + (format #t "~Tgroup-item: #~%" (-> obj group-item)) (format #t "~Tflags: ~D~%" (-> obj flags)) (format #t "~Trandomize: ~D~%" (-> obj randomize)) (format #t "~Torigin: #~%" (-> obj origin)) diff --git a/test/decompiler/reference/engine/gfx/sparticle/sparticle-launcher_REF.gc b/test/decompiler/reference/engine/gfx/sparticle/sparticle-launcher_REF.gc index 83f1c6d937..ba66df6ff4 100644 --- a/test/decompiler/reference/engine/gfx/sparticle/sparticle-launcher_REF.gc +++ b/test/decompiler/reference/engine/gfx/sparticle/sparticle-launcher_REF.gc @@ -42,245 +42,246 @@ (defmethod inspect sparticle-launcher ((obj sparticle-launcher)) (format #t "~X: sparticle-launcher~%" obj) (let ((s5-0 0)) - (while (!= (-> obj init-specs s5-0 field) (sp-field-id spt-end)) - (let* ((v1-1 (-> obj init-specs s5-0)) - (t9-1 format) - (a0-3 #t) - (a1-1 "~T~S : ~F / #x~X / ~D~%") - (a2-1 (-> v1-1 field)) - ) - (t9-1 a0-3 a1-1 (cond - ((= a2-1 (sp-field-id spt-end)) - "spt-end" - ) - ((= a2-1 (sp-field-id spt-scalevel)) - "spt-scalevel" - ) - ((= a2-1 (sp-field-id spt-scale)) - "spt-scale" - ) - ((= a2-1 (sp-field-id launch-fields-end)) - "launch-fields-end" - ) - ((= a2-1 (sp-field-id spt-rotate-y)) - "spt-rotate-y" - ) - ((= a2-1 (sp-field-id spt-conerot-radius)) - "spt-conerot-radius" - ) - ((= a2-1 (sp-field-id spt-conerot-w)) - "spt-conerot-w" - ) - ((= a2-1 (sp-field-id spt-conerot-z)) - "spt-conerot-z" - ) - ((= a2-1 (sp-field-id spt-conerot-y)) - "spt-conerot-y" - ) - ((= a2-1 (sp-field-id spt-conerot-x)) - "spt-conerot-x" - ) - ((= a2-1 (sp-field-id spt-launchrot-w)) - "spt-launchrot-w" - ) - ((= a2-1 (sp-field-id spt-launchrot-z)) - "spt-launchrot-z" - ) - ((= a2-1 (sp-field-id spt-launchrot-y)) - "spt-launchrot-y" - ) - ((= a2-1 (sp-field-id spt-launchrot-x)) - "spt-launchrot-x" - ) - ((= a2-1 (sp-field-id launch-fields-start)) - "launch-fields-start" - ) - ((= a2-1 (sp-field-id cpu-fields-end)) - "cpu-fields-end" - ) - ((= a2-1 (sp-field-id spt-next-launcher)) - "spt-next-launcher" - ) - ((= a2-1 (sp-field-id spt-next-time)) - "spt-next-time" - ) - ((= a2-1 (sp-field-id spt-func)) - "spt-func" - ) - ((= a2-1 (sp-field-id spt-userdata)) - "spt-userdata" - ) - ((= a2-1 (sp-field-id spt-flags)) - "spt-flags" - ) - ((= a2-1 (sp-field-id spt-timer)) - "spt-timer" - ) - ((= a2-1 (sp-field-id spt-friction)) - "spt-friction" - ) - ((= a2-1 (sp-field-id spt-quad-w)) - "spt-quad-w" - ) - ((= a2-1 (sp-field-id spt-quat-z)) - "spt-quat-z" - ) - ((= a2-1 (sp-field-id spt-quat-y)) - "spt-quat-y" - ) - ((= a2-1 (sp-field-id spt-quat-x)) - "spt-quat-x" - ) - ((= a2-1 (sp-field-id spt-dummy)) - "spt-dummy" - ) - ((= a2-1 (sp-field-id spt-accel-z)) - "spt-accel-z" - ) - ((= a2-1 (sp-field-id spt-accel-y)) - "spt-accel-y" - ) - ((= a2-1 (sp-field-id spt-accel-x)) - "spt-accel-x" - ) - ((= a2-1 (sp-field-id spt-fade-a)) - "spt-fade-a" - ) - ((= a2-1 (sp-field-id spt-fade-b)) - "spt-fade-b" - ) - ((= a2-1 (sp-field-id spt-fade-g)) - "spt-fade-g" - ) - ((= a2-1 (sp-field-id spt-fade-r)) - "spt-fade-r" - ) - ((= a2-1 (sp-field-id spt-scalevel-y)) - "spt-scalevel-y" - ) - ((= a2-1 (sp-field-id spt-rotvel-z)) - "spt-rotvel-z" - ) - ((= a2-1 (sp-field-id spt-rotvel-y)) - "spt-rotvel-y" - ) - ((= a2-1 (sp-field-id spt-rotvel-x)) - "spt-rotvel-x" - ) - ((= a2-1 (sp-field-id spt-scalevel-x)) - "spt-scalevel-x" - ) - ((= a2-1 (sp-field-id spt-vel-z)) - "spt-vel-z" - ) - ((= a2-1 (sp-field-id spt-vel-y)) - "spt-vel-y" - ) - ((= a2-1 (sp-field-id spt-vel-x)) - "spt-vel-x" - ) - ((= a2-1 (sp-field-id spt-omega)) - "spt-omega" - ) - ((= a2-1 (sp-field-id cpu-fields-start)) - "cpu-fields-start" - ) - ((= a2-1 (sp-field-id sprite-fields-end)) - "sprite-fields-end" - ) - ((= a2-1 (sp-field-id spt-a)) - "spt-a" - ) - ((= a2-1 (sp-field-id spt-b)) - "spt-b" - ) - ((= a2-1 (sp-field-id spt-g)) - "spt-g" - ) - ((= a2-1 (sp-field-id spt-r)) - "spt-r" - ) - ((= a2-1 (sp-field-id spt-scale-y)) - "spt-scale-y" - ) - ((= a2-1 (sp-field-id spt-rot-z)) - "spt-rot-z" - ) - ((= a2-1 (sp-field-id spt-rot-y)) - "spt-rot-y" - ) - ((= a2-1 (sp-field-id spt-rot-x)) - "spt-rot-x" - ) - ((= a2-1 (sp-field-id spt-scale-x)) - "spt-scale-x" - ) - ((= a2-1 (sp-field-id spt-z)) - "spt-z" - ) - ((= a2-1 (sp-field-id spt-y)) - "spt-y" - ) - ((= a2-1 (sp-field-id spt-x)) - "spt-x" - ) - ((= a2-1 (sp-field-id sprite-fields-start)) - "sprite-fields-start" - ) - ((= a2-1 (sp-field-id misc-fields-end)) - "misc-fields-end" - ) - ((= a2-1 (sp-field-id spt-sound)) - "spt-sound" - ) - ((= a2-1 (sp-field-id spt-num)) - "spt-num" - ) - ((= a2-1 (sp-field-id spt-joint/refpoint)) - "spt-joint/refpoint" - ) - ((= a2-1 (sp-field-id spt-birth-func)) - "spt-birth-func" - ) - ((= a2-1 (sp-field-id spt-anim-speed)) - "spt-anim-speed" - ) - ((= a2-1 (sp-field-id spt-anim)) - "spt-anim" - ) - ((= a2-1 (sp-field-id spt-texture)) - "spt-texture" - ) - ((= a2-1 (sp-field-id misc-fields-start)) - "misc-fields-start" - ) - (else - "*unknown*" - ) - ) - (-> v1-1 initial-valuef) (-> v1-1 initial-valuef) (-> v1-1 initial-valuef) + (while (!= (-> obj init-specs s5-0 field) (sp-field-id spt-end)) + (let* ((v1-1 (-> obj init-specs s5-0)) + (t9-1 format) + (a0-3 #t) + (a1-1 "~T~S : ~F / #x~X / ~D~%") + (a2-1 (-> v1-1 field)) + ) + (t9-1 + a0-3 + a1-1 + (cond + ((= a2-1 (sp-field-id spt-end)) + "spt-end" + ) + ((= a2-1 (sp-field-id spt-scalevel)) + "spt-scalevel" + ) + ((= a2-1 (sp-field-id spt-scale)) + "spt-scale" + ) + ((= a2-1 (sp-field-id launch-fields-end)) + "launch-fields-end" + ) + ((= a2-1 (sp-field-id spt-rotate-y)) + "spt-rotate-y" + ) + ((= a2-1 (sp-field-id spt-conerot-radius)) + "spt-conerot-radius" + ) + ((= a2-1 (sp-field-id spt-conerot-w)) + "spt-conerot-w" + ) + ((= a2-1 (sp-field-id spt-conerot-z)) + "spt-conerot-z" + ) + ((= a2-1 (sp-field-id spt-conerot-y)) + "spt-conerot-y" + ) + ((= a2-1 (sp-field-id spt-conerot-x)) + "spt-conerot-x" + ) + ((= a2-1 (sp-field-id spt-launchrot-w)) + "spt-launchrot-w" + ) + ((= a2-1 (sp-field-id spt-launchrot-z)) + "spt-launchrot-z" + ) + ((= a2-1 (sp-field-id spt-launchrot-y)) + "spt-launchrot-y" + ) + ((= a2-1 (sp-field-id spt-launchrot-x)) + "spt-launchrot-x" + ) + ((= a2-1 (sp-field-id launch-fields-start)) + "launch-fields-start" + ) + ((= a2-1 (sp-field-id cpu-fields-end)) + "cpu-fields-end" + ) + ((= a2-1 (sp-field-id spt-next-launcher)) + "spt-next-launcher" + ) + ((= a2-1 (sp-field-id spt-next-time)) + "spt-next-time" + ) + ((= a2-1 (sp-field-id spt-func)) + "spt-func" + ) + ((= a2-1 (sp-field-id spt-userdata)) + "spt-userdata" + ) + ((= a2-1 (sp-field-id spt-flags)) + "spt-flags" + ) + ((= a2-1 (sp-field-id spt-timer)) + "spt-timer" + ) + ((= a2-1 (sp-field-id spt-friction)) + "spt-friction" + ) + ((= a2-1 (sp-field-id spt-quad-w)) + "spt-quad-w" + ) + ((= a2-1 (sp-field-id spt-quat-z)) + "spt-quat-z" + ) + ((= a2-1 (sp-field-id spt-quat-y)) + "spt-quat-y" + ) + ((= a2-1 (sp-field-id spt-quat-x)) + "spt-quat-x" + ) + ((= a2-1 (sp-field-id spt-dummy)) + "spt-dummy" + ) + ((= a2-1 (sp-field-id spt-accel-z)) + "spt-accel-z" + ) + ((= a2-1 (sp-field-id spt-accel-y)) + "spt-accel-y" + ) + ((= a2-1 (sp-field-id spt-accel-x)) + "spt-accel-x" + ) + ((= a2-1 (sp-field-id spt-fade-a)) + "spt-fade-a" + ) + ((= a2-1 (sp-field-id spt-fade-b)) + "spt-fade-b" + ) + ((= a2-1 (sp-field-id spt-fade-g)) + "spt-fade-g" + ) + ((= a2-1 (sp-field-id spt-fade-r)) + "spt-fade-r" + ) + ((= a2-1 (sp-field-id spt-scalevel-y)) + "spt-scalevel-y" + ) + ((= a2-1 (sp-field-id spt-rotvel-z)) + "spt-rotvel-z" + ) + ((= a2-1 (sp-field-id spt-rotvel-y)) + "spt-rotvel-y" + ) + ((= a2-1 (sp-field-id spt-rotvel-x)) + "spt-rotvel-x" + ) + ((= a2-1 (sp-field-id spt-scalevel-x)) + "spt-scalevel-x" + ) + ((= a2-1 (sp-field-id spt-vel-z)) + "spt-vel-z" + ) + ((= a2-1 (sp-field-id spt-vel-y)) + "spt-vel-y" + ) + ((= a2-1 (sp-field-id spt-vel-x)) + "spt-vel-x" + ) + ((= a2-1 (sp-field-id spt-omega)) + "spt-omega" + ) + ((= a2-1 (sp-field-id cpu-fields-start)) + "cpu-fields-start" + ) + ((= a2-1 (sp-field-id sprite-fields-end)) + "sprite-fields-end" + ) + ((= a2-1 (sp-field-id spt-a)) + "spt-a" + ) + ((= a2-1 (sp-field-id spt-b)) + "spt-b" + ) + ((= a2-1 (sp-field-id spt-g)) + "spt-g" + ) + ((= a2-1 (sp-field-id spt-r)) + "spt-r" + ) + ((= a2-1 (sp-field-id spt-scale-y)) + "spt-scale-y" + ) + ((= a2-1 (sp-field-id spt-rot-z)) + "spt-rot-z" + ) + ((= a2-1 (sp-field-id spt-rot-y)) + "spt-rot-y" + ) + ((= a2-1 (sp-field-id spt-rot-x)) + "spt-rot-x" + ) + ((= a2-1 (sp-field-id spt-scale-x)) + "spt-scale-x" + ) + ((= a2-1 (sp-field-id spt-z)) + "spt-z" + ) + ((= a2-1 (sp-field-id spt-y)) + "spt-y" + ) + ((= a2-1 (sp-field-id spt-x)) + "spt-x" + ) + ((= a2-1 (sp-field-id sprite-fields-start)) + "sprite-fields-start" + ) + ((= a2-1 (sp-field-id misc-fields-end)) + "misc-fields-end" + ) + ((= a2-1 (sp-field-id spt-sound)) + "spt-sound" + ) + ((= a2-1 (sp-field-id spt-num)) + "spt-num" + ) + ((= a2-1 (sp-field-id spt-joint/refpoint)) + "spt-joint/refpoint" + ) + ((= a2-1 (sp-field-id spt-birth-func)) + "spt-birth-func" + ) + ((= a2-1 (sp-field-id spt-anim-speed)) + "spt-anim-speed" + ) + ((= a2-1 (sp-field-id spt-anim)) + "spt-anim" + ) + ((= a2-1 (sp-field-id spt-texture)) + "spt-texture" + ) + ((= a2-1 (sp-field-id misc-fields-start)) + "misc-fields-start" + ) + (else + "*unknown*" + ) + ) + (-> v1-1 initial-valuef) + (-> v1-1 initial-valuef) + (-> v1-1 initial-valuef) + ) + ) + (+! s5-0 1) ) - ) - (+! s5-0 1) ) - ) (the-as sparticle-launcher 0) ) ;; definition for symbol *part-id-table*, type (array sparticle-launcher) (define *part-id-table* - (the-as (array sparticle-launcher) - (new 'global 'boxed-array sparticle-launcher 3584) - ) + (the-as (array sparticle-launcher) (new 'global 'boxed-array sparticle-launcher 3584)) ) ;; definition for symbol *part-group-id-table*, type (array sparticle-launch-group) (define *part-group-id-table* - (the-as (array sparticle-launch-group) - (new 'global 'boxed-array sparticle-launch-group 1024) - ) + (the-as (array sparticle-launch-group) (new 'global 'boxed-array sparticle-launch-group 1024)) ) ;; definition for function lookup-part-group-by-name @@ -289,14 +290,14 @@ (let* ((s5-0 *part-group-id-table*) (s4-0 (-> s5-0 length)) ) - (dotimes (s3-0 s4-0) - (let ((s2-0 (-> s5-0 s3-0))) - (if (and (nonzero? s2-0) (string= arg0 (-> s2-0 name))) - (return (the-as basic s2-0)) + (dotimes (s3-0 s4-0) + (let ((s2-0 (-> s5-0 s3-0))) + (if (and (nonzero? s2-0) (string= arg0 (-> s2-0 name))) + (return (the-as basic s2-0)) + ) + ) ) - ) ) - ) (the-as sparticle-launch-group #f) ) @@ -305,25 +306,22 @@ (let* ((s4-0 *part-group-id-table*) (s3-0 (-> s4-0 length)) ) - (dotimes (gp-0 s3-0) - (let ((v1-2 (-> s4-0 gp-0))) - (if (and (nonzero? v1-2) (string= arg0 (-> v1-2 name))) - (return (&+ (-> s4-0 data) (* gp-0 4))) + (dotimes (gp-0 s3-0) + (let ((v1-2 (-> s4-0 gp-0))) + (if (and (nonzero? v1-2) (string= arg0 (-> v1-2 name))) + (return (&+ (-> s4-0 data) (* gp-0 4))) + ) + ) ) - ) ) - ) (the-as (pointer sparticle-launch-group) #f) ) ;; definition for function part-group-pointer? (defun part-group-pointer? ((arg0 pointer)) (let ((v1-0 *part-group-id-table*)) - (and - (>= (the-as int arg0) (the-as int (-> v1-0 data))) - (< (the-as int arg0) (the-as int (&-> v1-0 1024))) + (and (>= (the-as int arg0) (the-as int (-> v1-0 data))) (< (the-as int arg0) (the-as int (&-> v1-0 1024)))) ) - ) ) ;; definition for function unlink-part-group-by-heap @@ -333,20 +331,16 @@ (a1-0 (-> arg0 base)) (a0-1 (-> arg0 top-base)) ) - (while (nonzero? a2-0) - (+! a2-0 -1) - (let ((a3-2 (-> v1-0 a2-0))) - (when - (and - (>= (the-as int a3-2) (the-as int a1-0)) - (< (the-as int a3-2) (the-as int a0-1)) - ) - (set! (-> v1-0 a2-0) (the-as sparticle-launch-group 0)) - 0 + (while (nonzero? a2-0) + (+! a2-0 -1) + (let ((a3-2 (-> v1-0 a2-0))) + (when (and (>= (the-as int a3-2) (the-as int a1-0)) (< (the-as int a3-2) (the-as int a0-1))) + (set! (-> v1-0 a2-0) (the-as sparticle-launch-group 0)) + 0 + ) + ) ) - ) ) - ) 0 ) @@ -404,12 +398,12 @@ ;; INFO: Return type mismatch int vs none. (defun particle-setup-adgif ((arg0 adgif-shader) (arg1 texture-id)) (let ((a1-1 (lookup-texture-by-id arg1))) - (set! (-> arg0 tex1) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) - (set! (-> arg0 tex0 tfx) 0) - (if a1-1 - (adgif-shader<-texture! arg0 a1-1) + (set! (-> arg0 tex1) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) + (set! (-> arg0 tex0 tfx) 0) + (if a1-1 + (adgif-shader<-texture! arg0 a1-1) + ) ) - ) (set! (-> arg0 prims 1) (gs-reg64 tex0-1)) (set! (-> arg0 prims 3) (gs-reg64 tex1-1)) (set! (-> arg0 prims 5) (gs-reg64 miptbp1-1)) @@ -456,95 +450,65 @@ ;; definition for function sp-queue-launch ;; Used lq/sq -(defun - sp-queue-launch - ((arg0 sparticle-system) (arg1 sparticle-launcher) (arg2 vector)) +(defun sp-queue-launch ((arg0 sparticle-system) (arg1 sparticle-launcher) (arg2 vector)) (let ((v1-0 *sp-launch-queue*)) - (when (= (-> v1-0 in-use) 32) - (format - 0 - "ERROR: sp-launch-particles called during processing, and queue is full~%" - ) - (return 0) + (when (= (-> v1-0 in-use) 32) + (format 0 "ERROR: sp-launch-particles called during processing, and queue is full~%") + (return 0) + ) + (let ((a3-5 (-> v1-0 queue (-> v1-0 in-use)))) + (set! (-> a3-5 sp-system) arg0) + (set! (-> a3-5 sp-launcher) arg1) + (set! (-> a3-5 pos quad) (-> arg2 quad)) + ) + (let ((v0-1 (+ (-> v1-0 in-use) 1))) + (set! (-> v1-0 in-use) v0-1) + v0-1 + ) ) - (let ((a3-5 (-> v1-0 queue (-> v1-0 in-use)))) - (set! (-> a3-5 sp-system) arg0) - (set! (-> a3-5 sp-launcher) arg1) - (set! (-> a3-5 pos quad) (-> arg2 quad)) - ) - (let ((v0-1 (+ (-> v1-0 in-use) 1))) - (set! (-> v1-0 in-use) v0-1) - v0-1 - ) - ) ) ;; definition for function sp-adjust-launch ;; INFO: Return type mismatch int vs none. -(defun - sp-adjust-launch - ((arg0 sparticle-launchinfo) - (arg1 sparticle-cpuinfo) - (arg2 (inline-array sp-field-init-spec)) - ) +(defun sp-adjust-launch ((arg0 sparticle-launchinfo) (arg1 sparticle-cpuinfo) (arg2 (inline-array sp-field-init-spec))) (let ((s5-0 (new 'stack-no-clear 'sparticle-launchinfo))) - (let ((s2-0 (new 'stack-no-clear 'matrix)) - (s3-0 (new 'stack-no-clear 'vector)) - ) - (sp-init-fields! - (-> s5-0 launchrot) - arg2 - (sp-field-id launch-fields-start) - (sp-field-id launch-fields-end) - #t - ) - (matrix-rotate-xyz! s2-0 (-> s5-0 launchrot)) - (vector3s-matrix*! - (the-as vector3s (-> arg1 vel-sxvel)) - (the-as vector3s (-> arg1 vel-sxvel)) - s2-0 - ) - (matrix-rotate-xyz! s2-0 (-> s5-0 conerot)) - (vector3s-matrix*! - (the-as vector3s (-> arg1 vel-sxvel)) - (the-as vector3s (-> arg1 vel-sxvel)) - s2-0 - ) - (if (logtest? (sp-cpuinfo-flag launch-along-z) (-> arg1 flags)) - (set-vector! s3-0 0.0 0.0 (-> s5-0 coneradius) 1.0) - (set-vector! s3-0 0.0 (-> s5-0 coneradius) 0.0 1.0) - ) - (vector-matrix*! s3-0 s3-0 s2-0) - (+! (-> arg0 launchrot x) (-> s3-0 x)) - (+! (-> arg0 launchrot y) (-> s3-0 y)) - (+! (-> arg0 launchrot z) (-> s3-0 z)) + (let ((s2-0 (new 'stack-no-clear 'matrix)) + (s3-0 (new 'stack-no-clear 'vector)) + ) + (sp-init-fields! + (-> s5-0 launchrot) + arg2 + (sp-field-id launch-fields-start) + (sp-field-id launch-fields-end) + #t + ) + (matrix-rotate-xyz! s2-0 (-> s5-0 launchrot)) + (vector3s-matrix*! (the-as vector3s (-> arg1 vel-sxvel)) (the-as vector3s (-> arg1 vel-sxvel)) s2-0) + (matrix-rotate-xyz! s2-0 (-> s5-0 conerot)) + (vector3s-matrix*! (the-as vector3s (-> arg1 vel-sxvel)) (the-as vector3s (-> arg1 vel-sxvel)) s2-0) + (if (logtest? (sp-cpuinfo-flag launch-along-z) (-> arg1 flags)) + (set-vector! s3-0 0.0 0.0 (-> s5-0 coneradius) 1.0) + (set-vector! s3-0 0.0 (-> s5-0 coneradius) 0.0 1.0) + ) + (vector-matrix*! s3-0 s3-0 s2-0) + (+! (-> arg0 launchrot x) (-> s3-0 x)) + (+! (-> arg0 launchrot y) (-> s3-0 y)) + (+! (-> arg0 launchrot z) (-> s3-0 z)) + ) + (when (!= (-> s5-0 rotate-y) 0.0) + (let ((s3-1 (new 'stack-no-clear 'matrix))) + (matrix-rotate-y! s3-1 (-> s5-0 rotate-y)) + (vector3s-rotate*! (the-as vector3s (-> arg0 launchrot)) (the-as vector3s (-> arg0 launchrot)) s3-1) + (vector3s-rotate*! (the-as vector3s (-> arg1 vel-sxvel)) (the-as vector3s (-> arg1 vel-sxvel)) s3-1) + (if (zero? (logand (sp-cpuinfo-flag use-global-acc) (-> arg1 flags))) + (vector3s-rotate*! (the-as vector3s (-> arg1 acc)) (the-as vector3s (-> arg1 acc)) s3-1) + ) + ) + (if (logtest? (sp-cpuinfo-flag set-conerot) (-> arg1 flags)) + (set! (-> arg0 conerot y) (+ 16384.0 (-> s5-0 rotate-y))) + ) + ) ) - (when (!= (-> s5-0 rotate-y) 0.0) - (let ((s3-1 (new 'stack-no-clear 'matrix))) - (matrix-rotate-y! s3-1 (-> s5-0 rotate-y)) - (vector3s-rotate*! - (the-as vector3s (-> arg0 launchrot)) - (the-as vector3s (-> arg0 launchrot)) - s3-1 - ) - (vector3s-rotate*! - (the-as vector3s (-> arg1 vel-sxvel)) - (the-as vector3s (-> arg1 vel-sxvel)) - s3-1 - ) - (if (zero? (logand (sp-cpuinfo-flag use-global-acc) (-> arg1 flags))) - (vector3s-rotate*! - (the-as vector3s (-> arg1 acc)) - (the-as vector3s (-> arg1 acc)) - s3-1 - ) - ) - ) - (if (logtest? (sp-cpuinfo-flag set-conerot) (-> arg1 flags)) - (set! (-> arg0 conerot y) (+ 16384.0 (-> s5-0 rotate-y))) - ) - ) - ) 0 (none) ) @@ -557,94 +521,71 @@ (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (let ((a1-1 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'quaternion)) + (init-vf0-vector) + (let ((a1-1 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'quaternion)) + ) + (set-vector! a1-1 (-> arg0 conerot x) (-> arg0 conerot y) (-> arg0 conerot z) 1.0) + (quaternion-zxy! s5-0 a1-1) + (cond + ((< (-> s5-0 w) 0.0) + (.lvf vf1 (&-> arg0 conerot quad)) + (.lvf vf2 (&-> s5-0 vec quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg0 conerot quad) vf1) + (.mov v1-1 vf1) ) - (set-vector! - a1-1 - (-> arg0 conerot x) - (-> arg0 conerot y) - (-> arg0 conerot z) - 1.0 - ) - (quaternion-zxy! s5-0 a1-1) + (else + (.lvf vf1 (&-> arg0 conerot quad)) + (.lvf vf2 (&-> s5-0 vec quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg0 conerot quad) vf1) + (.mov v1-2 vf1) + ) + ) + ) (cond - ((< (-> s5-0 w) 0.0) - (.lvf vf1 (&-> arg0 conerot quad)) - (.lvf vf2 (&-> s5-0 vec quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg0 conerot quad) vf1) - (.mov v1-1 vf1) + (*sp-60-hz* + (set! (-> arg1 rot-syvel x) (* 5.0 (-> arg1 rot-syvel x))) + (set! (-> arg1 rot-syvel y) (* 5.0 (-> arg1 rot-syvel y))) + (set! (-> arg1 rot-syvel z) (* 5.0 (-> arg1 rot-syvel z))) + ) + (else + (set! (-> arg1 rot-syvel x) (* 6.0 (-> arg1 rot-syvel x))) + (set! (-> arg1 rot-syvel y) (* 6.0 (-> arg1 rot-syvel y))) + (set! (-> arg1 rot-syvel z) (* 6.0 (-> arg1 rot-syvel z))) + ) ) - (else - (.lvf vf1 (&-> arg0 conerot quad)) - (.lvf vf2 (&-> s5-0 vec quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg0 conerot quad) vf1) - (.mov v1-2 vf1) - ) - ) + (quaternion-zxy! (-> arg1 rotvel3d) (-> arg1 rot-syvel)) + 0 + (none) ) - (cond - (*sp-60-hz* - (set! (-> arg1 rot-syvel x) (* 5.0 (-> arg1 rot-syvel x))) - (set! (-> arg1 rot-syvel y) (* 5.0 (-> arg1 rot-syvel y))) - (set! (-> arg1 rot-syvel z) (* 5.0 (-> arg1 rot-syvel z))) - ) - (else - (set! (-> arg1 rot-syvel x) (* 6.0 (-> arg1 rot-syvel x))) - (set! (-> arg1 rot-syvel y) (* 6.0 (-> arg1 rot-syvel y))) - (set! (-> arg1 rot-syvel z) (* 6.0 (-> arg1 rot-syvel z))) - ) - ) - (quaternion-zxy! (-> arg1 rotvel3d) (-> arg1 rot-syvel)) - 0 - (none) - ) ) ;; definition for function sp-rotate-system ;; INFO: Return type mismatch int vs none. -(defun - sp-rotate-system - ((arg0 sparticle-launchinfo) (arg1 sparticle-cpuinfo) (arg2 transformq)) +(defun sp-rotate-system ((arg0 sparticle-launchinfo) (arg1 sparticle-cpuinfo) (arg2 transformq)) (let ((s5-0 (new 'stack-no-clear 'matrix))) - (let ((a1-1 (new 'stack-no-clear 'quaternion))) - (let* ((v1-0 a1-1) - (a0-1 arg2) - (f0-0 (-> a0-1 quat x)) - (f1-0 (-> a0-1 quat y)) - (f3-0 (-> a0-1 quat z)) - ) - (set! (-> v1-0 x) f0-0) - (set! (-> v1-0 y) f1-0) - (set! (-> v1-0 z) f3-0) - (set! - (-> v1-0 w) - (sqrtf (- (- (- 1.0 (* f3-0 f3-0)) (* f1-0 f1-0)) (* f0-0 f0-0))) + (let ((a1-1 (new 'stack-no-clear 'quaternion))) + (let* ((v1-0 a1-1) + (a0-1 arg2) + (f0-0 (-> a0-1 quat x)) + (f1-0 (-> a0-1 quat y)) + (f3-0 (-> a0-1 quat z)) + ) + (set! (-> v1-0 x) f0-0) + (set! (-> v1-0 y) f1-0) + (set! (-> v1-0 z) f3-0) + (set! (-> v1-0 w) (sqrtf (- (- (- 1.0 (* f3-0 f3-0)) (* f1-0 f1-0)) (* f0-0 f0-0)))) + ) + (quaternion->matrix s5-0 a1-1) ) - ) - (quaternion->matrix s5-0 a1-1) + (vector3s-rotate*! (the-as vector3s (-> arg0 launchrot)) (the-as vector3s (-> arg0 launchrot)) s5-0) + (vector3s-rotate*! (the-as vector3s (-> arg1 vel-sxvel)) (the-as vector3s (-> arg1 vel-sxvel)) s5-0) + (if (zero? (logand (sp-cpuinfo-flag use-global-acc) (-> arg1 flags))) + (vector3s-rotate*! (the-as vector3s (-> arg1 acc)) (the-as vector3s (-> arg1 acc)) s5-0) + ) ) - (vector3s-rotate*! - (the-as vector3s (-> arg0 launchrot)) - (the-as vector3s (-> arg0 launchrot)) - s5-0 - ) - (vector3s-rotate*! - (the-as vector3s (-> arg1 vel-sxvel)) - (the-as vector3s (-> arg1 vel-sxvel)) - s5-0 - ) - (if (zero? (logand (sp-cpuinfo-flag use-global-acc) (-> arg1 flags))) - (vector3s-rotate*! - (the-as vector3s (-> arg1 acc)) - (the-as vector3s (-> arg1 acc)) - s5-0 - ) - ) - ) 0 (none) ) @@ -659,9 +600,7 @@ ;; INFO: Return type mismatch int vs none. ;; WARN: Expression building failed: Function sp-launch-particles-death has a return type of none, but the expression builder found a return statement. ;; Used lq/sq -(defun - sp-launch-particles-death - ((arg0 sparticle-system) (arg1 sparticle-launcher) (arg2 vector)) +(defun sp-launch-particles-death ((arg0 sparticle-system) (arg1 sparticle-launcher) (arg2 vector)) (local-vars (v1-25 float) (v1-27 float)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -673,226 +612,215 @@ (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (.lvf vf30 (&-> arg2 quad)) - (let ((v1-0 #x437f0000)) - (.mov vf31 v1-0) - ) - (let ((s5-0 (new 'stack-no-clear 'sprite-vec-data-2d)) - (gp-0 (sp-get-particle arg0 0 (the-as sparticle-launch-state #f))) - ) - (if (not gp-0) - (return 0) - ) - (let* ((a1-2 (-> arg1 init-specs 0)) - (a1-3 - (sp-init-fields! - (&-> s5-0 x) - (the-as (inline-array sp-field-init-spec) a1-2) - (sp-field-id sprite-fields-start) - (sp-field-id sprite-fields-end) - #t + (init-vf0-vector) + (.lvf vf30 (&-> arg2 quad)) + (let ((v1-0 #x437f0000)) + (.mov vf31 v1-0) + ) + (let ((s5-0 (new 'stack-no-clear 'sprite-vec-data-2d)) + (gp-0 (sp-get-particle arg0 0 (the-as sparticle-launch-state #f))) + ) + (if (not gp-0) + (return 0) + ) + (let* ((a1-2 (-> arg1 init-specs 0)) + (a1-3 + (sp-init-fields! + (&-> s5-0 x) + (the-as (inline-array sp-field-init-spec) a1-2) + (sp-field-id sprite-fields-start) + (sp-field-id sprite-fields-end) + #t + ) + ) ) - ) - ) - (sp-init-fields! - (&-> gp-0 omega) - (the-as (inline-array sp-field-init-spec) a1-3) - (sp-field-id cpu-fields-start) - (sp-field-id cpu-fields-end) - #t + (sp-init-fields! + (&-> gp-0 omega) + (the-as (inline-array sp-field-init-spec) a1-3) + (sp-field-id cpu-fields-start) + (sp-field-id cpu-fields-end) + #t + ) + ) + (set! (-> s5-0 matrix) 0) + (set! (-> s5-0 rot) (the float (sar (shl (the int (-> s5-0 rot)) 48) 48))) + (.lvf vf4 (&-> s5-0 color quad)) + (.lvf vf5 (&-> s5-0 x-y-z-sx quad)) + (.min.x.vf vf4 vf4 vf31 :mask #b111) + (.add.vf vf5 vf5 vf30 :mask #b111) + (.svf (&-> s5-0 color quad) vf4) + (.svf (&-> s5-0 x-y-z-sx quad) vf5) + (when (not *death-adgif*) + (set! *death-adgif* (new 'static 'adgif-shader)) + (particle-adgif *death-adgif* (new 'static 'texture-id :index #x18 :page #x2)) + (set! (-> *death-adgif* alpha) (new 'static 'gs-miptbp :tbp1 #x48)) + ) + (let ((v1-14 (-> *death-adgif* quad 0 quad))) + (set! (-> gp-0 adgif quad 0 quad) v1-14) + ) + (let ((v1-16 (-> *death-adgif* quad 1 quad))) + (set! (-> gp-0 adgif quad 1 quad) v1-16) + ) + (let ((v1-18 (-> *death-adgif* quad 2 quad))) + (set! (-> gp-0 adgif quad 2 quad) v1-18) + ) + (let ((v1-20 (-> *death-adgif* quad 3 quad))) + (set! (-> gp-0 adgif quad 3 quad) v1-20) + ) + (let ((v1-22 (-> *death-adgif* quad 4 quad))) + (set! (-> gp-0 adgif quad 4 quad) v1-22) + ) + (.lvf vf4 (&-> (-> *time-of-day-context* current-prt-color) quad)) + (.lvf vf5 (&-> s5-0 color quad)) + (.lvf vf6 (&-> gp-0 fade quad)) + (.mul.vf vf5 vf5 vf4 :mask #b111) + (.mul.vf vf6 vf6 vf4 :mask #b111) + (.svf (&-> s5-0 color quad) vf5) + (.svf (&-> gp-0 fade quad) vf6) + (.mov v1-25 vf6) + (set! (-> gp-0 key) (the-as sparticle-launch-control 0)) + (set! (-> gp-0 binding) #f) + (let ((v1-26 (-> gp-0 sprite))) + (.lvf vf1 (&-> s5-0 x-y-z-sx quad)) + (.lvf vf2 (&-> s5-0 flag-rot-sy quad)) + (.lvf vf3 (&-> s5-0 color quad)) + (.svf (&-> v1-26 x-y-z-sx quad) vf1) + (.svf (&-> v1-26 flag-rot-sy quad) vf2) + (.sub.w.vf vf3 vf0 vf0 :mask #b1000) + (.svf (&-> v1-26 color quad) vf3) + ) + (.mov v1-27 vf3) + (logior! (-> gp-0 flags) (sp-cpuinfo-flag ready-to-launch)) + (set! (-> gp-0 cache-alpha) (-> s5-0 a)) ) - ) - (set! (-> s5-0 matrix) 0) - (set! (-> s5-0 rot) (the float (sar (shl (the int (-> s5-0 rot)) 48) 48))) - (.lvf vf4 (&-> s5-0 color quad)) - (.lvf vf5 (&-> s5-0 x-y-z-sx quad)) - (.min.x.vf vf4 vf4 vf31 :mask #b111) - (.add.vf vf5 vf5 vf30 :mask #b111) - (.svf (&-> s5-0 color quad) vf4) - (.svf (&-> s5-0 x-y-z-sx quad) vf5) - (when (not *death-adgif*) - (set! *death-adgif* (new 'static 'adgif-shader)) - (particle-adgif - *death-adgif* - (new 'static 'texture-id :index #x18 :page #x2) - ) - (set! (-> *death-adgif* alpha) (new 'static 'gs-miptbp :tbp1 #x48)) - ) - (let ((v1-14 (-> *death-adgif* quad 0 quad))) - (set! (-> gp-0 adgif quad 0 quad) v1-14) - ) - (let ((v1-16 (-> *death-adgif* quad 1 quad))) - (set! (-> gp-0 adgif quad 1 quad) v1-16) - ) - (let ((v1-18 (-> *death-adgif* quad 2 quad))) - (set! (-> gp-0 adgif quad 2 quad) v1-18) - ) - (let ((v1-20 (-> *death-adgif* quad 3 quad))) - (set! (-> gp-0 adgif quad 3 quad) v1-20) - ) - (let ((v1-22 (-> *death-adgif* quad 4 quad))) - (set! (-> gp-0 adgif quad 4 quad) v1-22) - ) - (.lvf vf4 (&-> (-> *time-of-day-context* current-prt-color) quad)) - (.lvf vf5 (&-> s5-0 color quad)) - (.lvf vf6 (&-> gp-0 fade quad)) - (.mul.vf vf5 vf5 vf4 :mask #b111) - (.mul.vf vf6 vf6 vf4 :mask #b111) - (.svf (&-> s5-0 color quad) vf5) - (.svf (&-> gp-0 fade quad) vf6) - (.mov v1-25 vf6) - (set! (-> gp-0 key) (the-as sparticle-launch-control 0)) - (set! (-> gp-0 binding) #f) - (let ((v1-26 (-> gp-0 sprite))) - (.lvf vf1 (&-> s5-0 x-y-z-sx quad)) - (.lvf vf2 (&-> s5-0 flag-rot-sy quad)) - (.lvf vf3 (&-> s5-0 color quad)) - (.svf (&-> v1-26 x-y-z-sx quad) vf1) - (.svf (&-> v1-26 flag-rot-sy quad) vf2) - (.sub.w.vf vf3 vf0 vf0 :mask #b1000) - (.svf (&-> v1-26 color quad) vf3) - ) - (.mov v1-27 vf3) - (logior! (-> gp-0 flags) (sp-cpuinfo-flag ready-to-launch)) - (set! (-> gp-0 cache-alpha) (-> s5-0 a)) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function sp-clear-queue ;; INFO: Return type mismatch int vs none. (defun sp-clear-queue () (let ((gp-0 *sp-launch-queue*)) - (when (> (-> gp-0 in-use) 0) - (dotimes (s5-0 (-> gp-0 in-use)) - (let ((v1-4 (-> gp-0 queue s5-0))) - (sp-launch-particles-var - (-> v1-4 sp-system) - (-> v1-4 sp-launcher) - (-> v1-4 pos) - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) + (when (> (-> gp-0 in-use) 0) + (dotimes (s5-0 (-> gp-0 in-use)) + (let ((v1-4 (-> gp-0 queue s5-0))) + (sp-launch-particles-var + (-> v1-4 sp-system) + (-> v1-4 sp-launcher) + (-> v1-4 pos) + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) + ) + (set! (-> gp-0 in-use) 0) + 0 ) - ) - (set! (-> gp-0 in-use) 0) - 0 ) - ) 0 (none) ) ;; definition for function sp-relaunch-setup-fields ;; INFO: Return type mismatch int vs none. -(defun - sp-relaunch-setup-fields - ((arg0 object) - (arg1 sparticle-launcher) - (arg2 sparticle-cpuinfo) - (arg3 sprite-vec-data-3d) - ) +(defun sp-relaunch-setup-fields ((arg0 object) (arg1 sparticle-launcher) (arg2 sparticle-cpuinfo) (arg3 sprite-vec-data-3d)) (let ((a1-1 (-> arg1 init-specs 0)) (s4-0 (logand (-> arg2 flags) (sp-cpuinfo-flag level0 level1))) ) - (set! (-> arg2 next-launcher) (the-as basic 0)) - (cond - ((and - (logtest? (-> arg2 flags) (sp-cpuinfo-flag bit12)) - (zero? (logand (-> arg2 flags) (sp-cpuinfo-flag aux-list))) - ) - (let ((f20-0 (-> arg3 r-g-b-a x)) - (f22-0 (-> arg3 r-g-b-a y)) - (f24-0 (-> arg3 r-g-b-a z)) - (f26-0 (-> arg2 fade x)) - (f28-0 (-> arg2 fade y)) - (f30-0 (-> arg2 fade z)) + (set! (-> arg2 next-launcher) (the-as basic 0)) + (cond + ((and + (logtest? (-> arg2 flags) (sp-cpuinfo-flag bit12)) + (zero? (logand (-> arg2 flags) (sp-cpuinfo-flag aux-list))) + ) + (let ((f20-0 (-> arg3 r-g-b-a x)) + (f22-0 (-> arg3 r-g-b-a y)) + (f24-0 (-> arg3 r-g-b-a z)) + (f26-0 (-> arg2 fade x)) + (f28-0 (-> arg2 fade y)) + (f30-0 (-> arg2 fade z)) + ) + (set! (-> arg3 r-g-b-a x) 99999.0) + (set! (-> arg3 r-g-b-a y) 99999.0) + (set! (-> arg3 r-g-b-a z) 99999.0) + (set! (-> arg2 fade x) 99999.0) + (set! (-> arg2 fade y) 99999.0) + (set! (-> arg2 fade z) 99999.0) + (let ((a1-2 + (sp-init-fields! + (-> arg3 x-y-z-sx) + (the-as (inline-array sp-field-init-spec) a1-1) + (sp-field-id sprite-fields-start) + (sp-field-id sprite-fields-end) + #f + ) + ) + ) + (sp-init-fields! + (&-> arg2 omega) + (the-as (inline-array sp-field-init-spec) a1-2) + (sp-field-id cpu-fields-start) + (sp-field-id cpu-fields-end) + #f + ) ) - (set! (-> arg3 r-g-b-a x) 99999.0) - (set! (-> arg3 r-g-b-a y) 99999.0) - (set! (-> arg3 r-g-b-a z) 99999.0) - (set! (-> arg2 fade x) 99999.0) - (set! (-> arg2 fade y) 99999.0) - (set! (-> arg2 fade z) 99999.0) - (let - ((a1-2 - (sp-init-fields! - (-> arg3 x-y-z-sx) - (the-as (inline-array sp-field-init-spec) a1-1) - (sp-field-id sprite-fields-start) - (sp-field-id sprite-fields-end) - #f + (logior! (-> arg2 flags) s4-0) + (if (logtest? (-> arg2 flags) (sp-cpuinfo-flag level1)) + (-> *level* level1) + (-> *level* level0) + ) + (let ((v1-16 (-> *time-of-day-context* current-prt-color))) + (if (= (-> arg3 r-g-b-a x) 99999.0) + (set! (-> arg3 r-g-b-a x) f20-0) + (set! (-> arg3 r-g-b-a x) (* (-> arg3 r-g-b-a x) (-> v1-16 x))) + ) + (if (= (-> arg3 r-g-b-a y) 99999.0) + (set! (-> arg3 r-g-b-a y) f22-0) + (set! (-> arg3 r-g-b-a y) (* (-> arg3 r-g-b-a y) (-> v1-16 y))) + ) + (if (= (-> arg3 r-g-b-a z) 99999.0) + (set! (-> arg3 r-g-b-a z) f24-0) + (set! (-> arg3 r-g-b-a z) (* (-> arg3 r-g-b-a z) (-> v1-16 z))) + ) + (if (= (-> arg2 fade x) 99999.0) + (set! (-> arg2 fade x) f26-0) + (set! (-> arg2 fade x) (* (-> arg2 fade x) (-> v1-16 x))) + ) + (if (= (-> arg2 fade y) 99999.0) + (set! (-> arg2 fade y) f28-0) + (set! (-> arg2 fade y) (* (-> arg2 fade y) (-> v1-16 y))) + ) + (if (= (-> arg2 fade z) 99999.0) + (set! (-> arg2 fade z) f30-0) + (set! (-> arg2 fade z) (* (-> arg2 fade z) (-> v1-16 z))) + ) + ) + ) + ) + (else + (let ((a1-3 + (sp-init-fields! + (-> arg3 x-y-z-sx) + (the-as (inline-array sp-field-init-spec) a1-1) + (sp-field-id sprite-fields-start) + (sp-field-id sprite-fields-end) + #f + ) + ) + ) + (sp-init-fields! + (&-> arg2 omega) + (the-as (inline-array sp-field-init-spec) a1-3) + (sp-field-id cpu-fields-start) + (sp-field-id cpu-fields-end) + #f + ) ) - ) ) - (sp-init-fields! - (&-> arg2 omega) - (the-as (inline-array sp-field-init-spec) a1-2) - (sp-field-id cpu-fields-start) - (sp-field-id cpu-fields-end) - #f - ) - ) - (logior! (-> arg2 flags) s4-0) - (if (logtest? (-> arg2 flags) (sp-cpuinfo-flag level1)) - (-> *level* level1) - (-> *level* level0) - ) - (let ((v1-16 (-> *time-of-day-context* current-prt-color))) - (if (= (-> arg3 r-g-b-a x) 99999.0) - (set! (-> arg3 r-g-b-a x) f20-0) - (set! (-> arg3 r-g-b-a x) (* (-> arg3 r-g-b-a x) (-> v1-16 x))) - ) - (if (= (-> arg3 r-g-b-a y) 99999.0) - (set! (-> arg3 r-g-b-a y) f22-0) - (set! (-> arg3 r-g-b-a y) (* (-> arg3 r-g-b-a y) (-> v1-16 y))) - ) - (if (= (-> arg3 r-g-b-a z) 99999.0) - (set! (-> arg3 r-g-b-a z) f24-0) - (set! (-> arg3 r-g-b-a z) (* (-> arg3 r-g-b-a z) (-> v1-16 z))) - ) - (if (= (-> arg2 fade x) 99999.0) - (set! (-> arg2 fade x) f26-0) - (set! (-> arg2 fade x) (* (-> arg2 fade x) (-> v1-16 x))) - ) - (if (= (-> arg2 fade y) 99999.0) - (set! (-> arg2 fade y) f28-0) - (set! (-> arg2 fade y) (* (-> arg2 fade y) (-> v1-16 y))) - ) - (if (= (-> arg2 fade z) 99999.0) - (set! (-> arg2 fade z) f30-0) - (set! (-> arg2 fade z) (* (-> arg2 fade z) (-> v1-16 z))) - ) - ) ) - ) - (else - (let - ((a1-3 - (sp-init-fields! - (-> arg3 x-y-z-sx) - (the-as (inline-array sp-field-init-spec) a1-1) - (sp-field-id sprite-fields-start) - (sp-field-id sprite-fields-end) - #f - ) - ) - ) - (sp-init-fields! - (&-> arg2 omega) - (the-as (inline-array sp-field-init-spec) a1-3) - (sp-field-id cpu-fields-start) - (sp-field-id cpu-fields-end) - #f - ) - ) - ) ) - ) 0 0 (none) @@ -900,575 +828,439 @@ ;; definition for function sp-relaunch-particle-2d ;; INFO: Return type mismatch int vs none. -(defun - sp-relaunch-particle-2d - ((arg0 object) - (arg1 sparticle-launcher) - (arg2 sparticle-cpuinfo) - (arg3 sprite-vec-data-3d) - ) +(defun sp-relaunch-particle-2d ((arg0 object) (arg1 sparticle-launcher) (arg2 sparticle-cpuinfo) (arg3 sprite-vec-data-3d)) (sp-relaunch-setup-fields arg0 arg1 arg2 arg3) (when (logtest? (-> arg2 flags) (sp-cpuinfo-flag aux-list)) - (set! (-> arg2 func) add-to-sprite-aux-list) - (set! (-> arg3 r-g-b-a w) 0.0) - (set! (-> arg2 fade w) 0.0) - (logclear! (-> arg2 flags) (sp-cpuinfo-flag bit2)) - ) + (set! (-> arg2 func) add-to-sprite-aux-list) + (set! (-> arg3 r-g-b-a w) 0.0) + (set! (-> arg2 fade w) 0.0) + (logclear! (-> arg2 flags) (sp-cpuinfo-flag bit2)) + ) 0 (none) ) ;; definition for function sp-relaunch-particle-3d ;; INFO: Return type mismatch int vs none. -(defun - sp-relaunch-particle-3d - ((arg0 object) - (arg1 sparticle-launcher) - (arg2 sparticle-cpuinfo) - (arg3 sprite-vec-data-3d) - ) +(defun sp-relaunch-particle-3d ((arg0 object) (arg1 sparticle-launcher) (arg2 sparticle-cpuinfo) (arg3 sprite-vec-data-3d)) (local-vars (v1-9 float) (v1-10 float)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (let ((s4-0 (new 'stack-no-clear 'quaternion))) - (let* ((v1-0 s4-0) - (a2-1 arg3) - (f0-0 (-> a2-1 qx-qy-qz-sy x)) - (f1-0 (-> a2-1 qx-qy-qz-sy y)) - (f3-0 (-> a2-1 qx-qy-qz-sy z)) - ) - (set! (-> v1-0 x) f0-0) - (set! (-> v1-0 y) f1-0) - (set! (-> v1-0 z) f3-0) - (set! - (-> v1-0 w) - (sqrtf (- (- (- 1.0 (* f3-0 f3-0)) (* f1-0 f1-0)) (* f0-0 f0-0))) - ) - ) - (set! (-> arg3 qx-qy-qz-sy x) 0.0) - (set! (-> arg3 qx-qy-qz-sy y) 0.0) - (set! (-> arg3 qx-qy-qz-sy z) 0.0) - (sp-relaunch-setup-fields arg0 arg1 arg2 arg3) - (let ((a1-1 (new 'stack-no-clear 'vector)) - (s3-0 (new 'stack-no-clear 'quaternion)) - ) - (set-vector! - a1-1 - (-> arg3 qx-qy-qz-sy x) - (-> arg3 qx-qy-qz-sy y) - (-> arg3 qx-qy-qz-sy z) - 1.0 - ) - (quaternion-zxy! s3-0 a1-1) - (cond - ((logtest? (sp-cpuinfo-flag left-multiply-quat) (-> arg2 flags)) - (quaternion*! s3-0 s4-0 s3-0) - ) - (else - (if (logtest? (sp-cpuinfo-flag right-multiply-quat) (-> arg2 flags)) - (quaternion*! s3-0 s3-0 s4-0) + (init-vf0-vector) + (let ((s4-0 (new 'stack-no-clear 'quaternion))) + (let* ((v1-0 s4-0) + (a2-1 arg3) + (f0-0 (-> a2-1 qx-qy-qz-sy x)) + (f1-0 (-> a2-1 qx-qy-qz-sy y)) + (f3-0 (-> a2-1 qx-qy-qz-sy z)) + ) + (set! (-> v1-0 x) f0-0) + (set! (-> v1-0 y) f1-0) + (set! (-> v1-0 z) f3-0) + (set! (-> v1-0 w) (sqrtf (- (- (- 1.0 (* f3-0 f3-0)) (* f1-0 f1-0)) (* f0-0 f0-0)))) + ) + (set! (-> arg3 qx-qy-qz-sy x) 0.0) + (set! (-> arg3 qx-qy-qz-sy y) 0.0) + (set! (-> arg3 qx-qy-qz-sy z) 0.0) + (sp-relaunch-setup-fields arg0 arg1 arg2 arg3) + (let ((a1-1 (new 'stack-no-clear 'vector)) + (s3-0 (new 'stack-no-clear 'quaternion)) + ) + (set-vector! a1-1 (-> arg3 qx-qy-qz-sy x) (-> arg3 qx-qy-qz-sy y) (-> arg3 qx-qy-qz-sy z) 1.0) + (quaternion-zxy! s3-0 a1-1) + (cond + ((logtest? (sp-cpuinfo-flag left-multiply-quat) (-> arg2 flags)) + (quaternion*! s3-0 s4-0 s3-0) + ) + (else + (if (logtest? (sp-cpuinfo-flag right-multiply-quat) (-> arg2 flags)) + (quaternion*! s3-0 s3-0 s4-0) + ) + ) + ) + (cond + ((< (-> s3-0 w) 0.0) + (.lvf vf1 (&-> arg3 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> s3-0 vec quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg3 qx-qy-qz-sy quad) vf1) + (.mov v1-9 vf1) + ) + (else + (.lvf vf1 (&-> arg3 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> s3-0 vec quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg3 qx-qy-qz-sy quad) vf1) + (.mov v1-10 vf1) + ) + ) ) - ) ) - (cond - ((< (-> s3-0 w) 0.0) - (.lvf vf1 (&-> arg3 qx-qy-qz-sy quad)) - (.lvf vf2 (&-> s3-0 vec quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg3 qx-qy-qz-sy quad) vf1) - (.mov v1-9 vf1) - ) + (cond + (*sp-60-hz* + (set! (-> arg2 rot-syvel x) (* 5.0 (-> arg2 rot-syvel x))) + (set! (-> arg2 rot-syvel y) (* 5.0 (-> arg2 rot-syvel y))) + (set! (-> arg2 rot-syvel z) (* 5.0 (-> arg2 rot-syvel z))) + ) (else - (.lvf vf1 (&-> arg3 qx-qy-qz-sy quad)) - (.lvf vf2 (&-> s3-0 vec quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg3 qx-qy-qz-sy quad) vf1) - (.mov v1-10 vf1) - ) + (set! (-> arg2 rot-syvel x) (* 6.0 (-> arg2 rot-syvel x))) + (set! (-> arg2 rot-syvel y) (* 6.0 (-> arg2 rot-syvel y))) + (set! (-> arg2 rot-syvel z) (* 6.0 (-> arg2 rot-syvel z))) + ) ) - ) + (quaternion-zxy! (-> arg2 rotvel3d) (-> arg2 rot-syvel)) + 0 + (none) ) - (cond - (*sp-60-hz* - (set! (-> arg2 rot-syvel x) (* 5.0 (-> arg2 rot-syvel x))) - (set! (-> arg2 rot-syvel y) (* 5.0 (-> arg2 rot-syvel y))) - (set! (-> arg2 rot-syvel z) (* 5.0 (-> arg2 rot-syvel z))) - ) - (else - (set! (-> arg2 rot-syvel x) (* 6.0 (-> arg2 rot-syvel x))) - (set! (-> arg2 rot-syvel y) (* 6.0 (-> arg2 rot-syvel y))) - (set! (-> arg2 rot-syvel z) (* 6.0 (-> arg2 rot-syvel z))) - ) - ) - (quaternion-zxy! (-> arg2 rotvel3d) (-> arg2 rot-syvel)) - 0 - (none) - ) ) ;; definition for method 9 of type sparticle-launch-control ;; INFO: Return type mismatch int vs none. -(defmethod - initialize - sparticle-launch-control - ((obj sparticle-launch-control) (arg0 sparticle-launch-group) (arg1 process)) +(defmethod initialize sparticle-launch-control ((obj sparticle-launch-control) (arg0 sparticle-launch-group) (arg1 process)) (let ((s5-0 0)) - (set! (-> obj group) arg0) - (set! (-> obj proc) arg1) - (set! (-> obj local-clock) 0) - (set! (-> obj fade) 1.0) - (set! (-> obj matrix) 0) - (set! - (-> obj last-spawn-frame) - (+ (-> *display* real-actual-frame-counter) -2) - ) - (set! (-> obj last-spawn-time) 0) - (dotimes (s3-0 (-> arg0 length)) - (let* ((a0-2 (-> arg0 launcher s3-0)) - (a1-2 (-> *part-id-table* (-> a0-2 launcher))) - (v1-9 (-> obj data s5-0)) - ) - (when (nonzero? a1-2) - (set! (-> v1-9 group-item) a0-2) - (cond - ((= (-> a1-2 type) sparticle-launcher) - (set! (-> v1-9 accum) 0.0) - (set! - (-> v1-9 spawn-time) - (the-as uint (+ *particle-300hz-timer* -30000)) - ) - (set! (-> v1-9 offset) (-> a0-2 offset)) - (set! (-> v1-9 randomize) (the-as uint 0)) - (cond - ((logtest? (-> a0-2 flags) (sp-group-item-flag start-dead)) - (logclear! (-> v1-9 flags) (sp-launch-state-flags launcher-active)) - (set! (-> v1-9 origin) #f) - (set! (-> v1-9 sprite3d) #f) - (set! (-> v1-9 sprite) #f) + (set! (-> obj group) arg0) + (set! (-> obj proc) arg1) + (set! (-> obj local-clock) 0) + (set! (-> obj fade) 1.0) + (set! (-> obj matrix) 0) + (set! (-> obj last-spawn-frame) (+ (-> *display* real-actual-frame-counter) -2)) + (set! (-> obj last-spawn-time) 0) + (dotimes (s3-0 (-> arg0 length)) + (let* ((a0-2 (-> arg0 launcher s3-0)) + (a1-2 (-> *part-id-table* (-> a0-2 launcher))) + (v1-9 (-> obj data s5-0)) + ) + (when (nonzero? a1-2) + (set! (-> v1-9 group-item) a0-2) + (cond + ((= (-> a1-2 type) sparticle-launcher) + (set! (-> v1-9 accum) 0.0) + (set! (-> v1-9 spawn-time) (the-as uint (+ *particle-300hz-timer* -30000))) + (set! (-> v1-9 offset) (-> a0-2 offset)) + (set! (-> v1-9 randomize) (the-as uint 0)) + (cond + ((logtest? (-> a0-2 flags) (sp-group-item-flag start-dead)) + (logclear! (-> v1-9 flags) (sp-launch-state-flags launcher-active)) + (set! (-> v1-9 origin) #f) + (set! (-> v1-9 sprite3d) #f) + (set! (-> v1-9 sprite) #f) + ) + (else + (logior! (-> v1-9 flags) (sp-launch-state-flags launcher-active)) + (set! (-> v1-9 origin) (-> obj center)) + (set! (-> v1-9 sprite3d) #f) + (set! (-> v1-9 sprite) #f) + ) + ) + (+! s5-0 1) + ) + (else + (format 0 "initialize called with non-particle-launcher~%") + ) + ) ) - (else - (logior! (-> v1-9 flags) (sp-launch-state-flags launcher-active)) - (set! (-> v1-9 origin) (-> obj center)) - (set! (-> v1-9 sprite3d) #f) - (set! (-> v1-9 sprite) #f) - ) - ) - (+! s5-0 1) ) - (else - (format 0 "initialize called with non-particle-launcher~%") - ) - ) ) - ) + (set! (-> obj length) s5-0) ) - (set! (-> obj length) s5-0) - ) 0 (none) ) ;; definition for method 9 of type sparticle-launch-group ;; INFO: Return type mismatch object vs sparticle-launch-control. -(defmethod - create-launch-control - sparticle-launch-group - ((obj sparticle-launch-group) (arg0 process)) - (let - ((gp-0 - (the-as object (new 'process 'sparticle-launch-control (-> obj length))) - ) +(defmethod create-launch-control sparticle-launch-group ((obj sparticle-launch-group) (arg0 process)) + (let ((gp-0 (the-as object (new 'process 'sparticle-launch-control (-> obj length))))) + (when (zero? (the-as sparticle-launch-control gp-0)) + (go process-drawable-art-error "memory") + (set! gp-0 0) + (goto cfg-4) + ) + (initialize (the-as sparticle-launch-control gp-0) obj arg0) + (label cfg-4) + (the-as sparticle-launch-control gp-0) ) - (when (zero? (the-as sparticle-launch-control gp-0)) - (go process-drawable-art-error "memory") - (set! gp-0 0) - (goto cfg-4) - ) - (initialize (the-as sparticle-launch-control gp-0) obj arg0) - (label cfg-4) - (the-as sparticle-launch-control gp-0) - ) ) ;; definition for method 12 of type sparticle-launch-control ;; INFO: Return type mismatch int vs none. -(defmethod - kill-and-free-particles - sparticle-launch-control - ((obj sparticle-launch-control)) +(defmethod kill-and-free-particles sparticle-launch-control ((obj sparticle-launch-control)) (countdown (v1-0 (-> obj length)) - (let ((a0-3 (-> obj data v1-0))) - (logclear! (-> a0-3 flags) (sp-launch-state-flags particles-active)) + (let ((a0-3 (-> obj data v1-0))) + (logclear! (-> a0-3 flags) (sp-launch-state-flags particles-active)) + ) ) - ) (set! (-> obj local-clock) 0) (set! (-> obj fade) 1.0) (kill-all-particles-with-key obj) (if (> (-> obj matrix) 0) - (sprite-release-user-hvdf (-> obj matrix)) - ) + (sprite-release-user-hvdf (-> obj matrix)) + ) 0 (none) ) ;; definition for method 13 of type sparticle-launch-control ;; INFO: Return type mismatch int vs none. -(defmethod - kill-particles - sparticle-launch-control - ((obj sparticle-launch-control)) +(defmethod kill-particles sparticle-launch-control ((obj sparticle-launch-control)) (kill-all-particles-with-key obj) 0 (none) ) ;; definition for method 10 of type sparticle-launch-control -(defmethod - is-visible? - sparticle-launch-control - ((obj sparticle-launch-control) (arg0 vector)) +(defmethod is-visible? sparticle-launch-control ((obj sparticle-launch-control) (arg0 vector)) (let* ((v1-0 (-> obj group)) (f0-0 (-> v1-0 bounds w)) ) - (cond - ((= f0-0 0.0) - #t - ) - ((nonzero? (-> obj matrix)) - #t - ) - (else - (let - ((gp-1 - (vector+! - (new 'stack-no-clear 'vector) - arg0 - (the-as vector (-> v1-0 bounds)) - ) - ) + (cond + ((= f0-0 0.0) + #t ) - (set! (-> gp-1 w) f0-0) - (if - (and - *display-actor-vis* - (or - (not *display-actor-anim*) - (name= *display-actor-anim* (-> obj proc name)) - ) - ) - (add-debug-sphere - *display-actor-vis* - (bucket-id debug-draw0) - gp-1 - (-> gp-1 w) - (new 'static 'rgba :g #xff :a #x80) - ) + ((nonzero? (-> obj matrix)) + #t ) - (sphere-in-view-frustum? (the-as sphere gp-1)) + (else + (let ((gp-1 (vector+! (new 'stack-no-clear 'vector) arg0 (the-as vector (-> v1-0 bounds))))) + (set! (-> gp-1 w) f0-0) + (if (and *display-actor-vis* (or (not *display-actor-anim*) (name= *display-actor-anim* (-> obj proc name)))) + (add-debug-sphere + *display-actor-vis* + (bucket-id debug-draw0) + gp-1 + (-> gp-1 w) + (new 'static 'rgba :g #xff :a #x80) + ) + ) + (sphere-in-view-frustum? (the-as sphere gp-1)) + ) + ) ) - ) ) - ) ) ;; definition for method 11 of type sparticle-launch-control ;; INFO: Return type mismatch int vs object. ;; Used lq/sq -(defmethod - spawn - sparticle-launch-control - ((obj sparticle-launch-control) (arg0 vector)) +(defmethod spawn sparticle-launch-control ((obj sparticle-launch-control) (arg0 vector)) (set! (-> obj center quad) (-> arg0 quad)) - (if - (not - (or - (is-visible? obj arg0) - (logtest? (-> obj group flags) (sp-group-flag always-draw screen-space)) - ) - ) - (return (the-as object 0)) - ) + (if (not (or (is-visible? obj arg0) (logtest? (-> obj group flags) (sp-group-flag always-draw screen-space)))) + (return (the-as object 0)) + ) (let ((s4-0 *particle-300hz-timer*) (s5-0 (-> obj last-spawn-time)) ) - (let ((v1-8 (-> *display* real-actual-frame-counter))) - (if (!= v1-8 (+ (-> obj last-spawn-frame) 1)) - (set! s5-0 (- s4-0 (logand (the-as int (-> *sp-frame-time* x)) 255))) - ) - ) - (set! (-> obj last-spawn-frame) (-> *display* real-actual-frame-counter)) - (set! (-> obj last-spawn-time) s4-0) - (when (logtest? (-> obj group flags) (sp-group-flag use-local-clock)) - (set! s5-0 (-> obj local-clock)) - (+! (-> obj local-clock) (logand (the-as int (-> *sp-frame-time* x)) 255)) - (set! s4-0 (-> obj local-clock)) - ) - (let ((f30-0 (vector-vector-distance arg0 (math-camera-pos))) - (s3-1 (ash 1 (if *time-of-day-proc* - (-> *time-of-day-proc* 0 hour) - 0 - ) + (let ((v1-8 (-> *display* real-actual-frame-counter))) + (if (!= v1-8 (+ (-> obj last-spawn-frame) 1)) + (set! s5-0 (- s4-0 (logand (the-as int (-> *sp-frame-time* x)) 255))) + ) + ) + (set! (-> obj last-spawn-frame) (-> *display* real-actual-frame-counter)) + (set! (-> obj last-spawn-time) s4-0) + (when (logtest? (-> obj group flags) (sp-group-flag use-local-clock)) + (set! s5-0 (-> obj local-clock)) + (+! (-> obj local-clock) (logand (the-as int (-> *sp-frame-time* x)) 255)) + (set! s4-0 (-> obj local-clock)) + ) + (let ((f30-0 (vector-vector-distance arg0 (math-camera-pos))) + (s3-1 (ash 1 (if *time-of-day-proc* + (-> *time-of-day-proc* 0 hour) + 0 + ) + ) ) ) - ) - (if (nonzero? (-> obj matrix)) - (set! f30-0 0.0) - ) - (let ((s2-1 (-> obj length))) - (while (begin - (label cfg-79) - (nonzero? s2-1) - ) - (+! s2-1 -1) - (let* ((a3-0 (-> obj data s2-1)) - (v1-29 (-> a3-0 group-item)) - (a1-4 (-> *part-id-table* (-> v1-29 launcher))) - ) - (when - (and - a1-4 - (nonzero? a1-4) - (logtest? (-> a3-0 flags) (sp-launch-state-flags launcher-active)) - ) - (let ((f0-2 1.0)) - (if (!= (-> v1-29 falloff-to) 0.0) - (set! f0-2 (- 1.0 (/ f30-0 (-> v1-29 falloff-to)))) + (if (nonzero? (-> obj matrix)) + (set! f30-0 0.0) ) - (let ((a0-26 sparticle-launcher)) - (b! (!= (-> a1-4 type) a0-26) cfg-78 :delay (nop!)) - ) - (b! - (zero? (logand (-> v1-29 flags) (sp-group-item-flag launch-asap))) - cfg-36 - :delay - (nop!) - ) - (when - (zero? - (logand (-> a3-0 flags) (sp-launch-state-flags particles-active)) - ) - (set! (-> a3-0 spawn-time) (the-as uint s4-0)) - (logior! (-> a3-0 flags) (sp-launch-state-flags particles-active)) - (if (< 0.0 f0-2) - (sp-launch-particles-var - (if (logtest? (-> v1-29 flags) (sp-group-item-flag is-3d)) - *sp-particle-system-3d* - *sp-particle-system-2d* - ) - a1-4 - (-> a3-0 origin) - a3-0 - obj - f0-2 - ) - ) - ) - (b! #t cfg-77 :delay (nop!)) - (label cfg-36) - (when (logtest? s3-1 (-> v1-29 hour-mask)) - 0 - (goto cfg-77) - ) - (when - (not - (or (= (-> v1-29 fade-after) 0.0) (< f30-0 (-> v1-29 fade-after))) - ) - 0 - (b! #t cfg-77 :delay (nop!)) - (set! v1-29 (the-as sparticle-group-item 0)) - ) - (b! (nonzero? (-> v1-29 period)) cfg-50 :delay (empty-form)) - (let ((f0-4 (* 0.2 (the float (- s4-0 s5-0)) f0-2))) - (b! #t cfg-72 :delay (nop!)) - (label cfg-50) - (let - ((a2-5 - (mod - (+ s5-0 (-> obj data s2-1 offset)) - (the-as int (-> v1-29 period)) - ) - ) - (a0-56 - (mod - (the-as uint (+ s4-0 (-> obj data s2-1 offset))) - (-> v1-29 period) - ) - ) - (t0-2 (-> v1-29 length)) - ) - (set! f0-4 (cond - ((and (< a2-5 (the-as int t0-2)) (< a0-56 t0-2)) - (* 0.2 (the float (- s4-0 s5-0)) f0-2) + (let ((s2-1 (-> obj length))) + (while (begin (label cfg-79) (nonzero? s2-1)) + (+! s2-1 -1) + (let* ((a3-0 (-> obj data s2-1)) + (v1-29 (-> a3-0 group-item)) + (a1-4 (-> *part-id-table* (-> v1-29 launcher))) + ) + (when (and a1-4 (nonzero? a1-4) (logtest? (-> a3-0 flags) (sp-launch-state-flags launcher-active))) + (let ((f0-2 1.0)) + (if (!= (-> v1-29 falloff-to) 0.0) + (set! f0-2 (- 1.0 (/ f30-0 (-> v1-29 falloff-to)))) + ) + (let ((a0-26 sparticle-launcher)) + (b! (!= (-> a1-4 type) a0-26) cfg-78 :delay (nop!)) + ) + (b! (zero? (logand (-> v1-29 flags) (sp-group-item-flag launch-asap))) cfg-36 :delay (nop!)) + (when (zero? (logand (-> a3-0 flags) (sp-launch-state-flags particles-active))) + (set! (-> a3-0 spawn-time) (the-as uint s4-0)) + (logior! (-> a3-0 flags) (sp-launch-state-flags particles-active)) + (if (< 0.0 f0-2) + (sp-launch-particles-var + (if (logtest? (-> v1-29 flags) (sp-group-item-flag is-3d)) + *sp-particle-system-3d* + *sp-particle-system-2d* + ) + a1-4 + (-> a3-0 origin) + a3-0 + obj + f0-2 ) - ((and (< a2-5 (the-as int t0-2)) (>= a0-56 t0-2)) - (* 0.2 (the float (- t0-2 (the-as uint a2-5))) f0-2) + ) + ) + (b! #t cfg-77 :delay (nop!)) + (label cfg-36) + (when (logtest? s3-1 (-> v1-29 hour-mask)) + 0 + (goto cfg-77) + ) + (when (not (or (= (-> v1-29 fade-after) 0.0) (< f30-0 (-> v1-29 fade-after)))) + 0 + (b! #t cfg-77 :delay (nop!)) + (set! v1-29 (the-as sparticle-group-item 0)) + ) + (b! (nonzero? (-> v1-29 period)) cfg-50 :delay (empty-form)) + (let ((f0-4 (* 0.2 (the float (- s4-0 s5-0)) f0-2))) + (b! #t cfg-72 :delay (nop!)) + (label cfg-50) + (let ((a2-5 (mod (+ s5-0 (-> obj data s2-1 offset)) (the-as int (-> v1-29 period)))) + (a0-56 (mod (the-as uint (+ s4-0 (-> obj data s2-1 offset))) (-> v1-29 period))) + (t0-2 (-> v1-29 length)) ) - ((and (>= a2-5 (the-as int t0-2)) (< a0-56 t0-2)) - (* 0.2 (the float a0-56) f0-2) - ) - (else - (when - (zero? - (logand (-> v1-29 flags) (sp-group-item-flag bit1)) + (set! f0-4 (cond + ((and (< a2-5 (the-as int t0-2)) (< a0-56 t0-2)) + (* 0.2 (the float (- s4-0 s5-0)) f0-2) + ) + ((and (< a2-5 (the-as int t0-2)) (>= a0-56 t0-2)) + (* 0.2 (the float (- t0-2 (the-as uint a2-5))) f0-2) + ) + ((and (>= a2-5 (the-as int t0-2)) (< a0-56 t0-2)) + (* 0.2 (the float a0-56) f0-2) + ) + (else + (when (zero? (logand (-> v1-29 flags) (sp-group-item-flag bit1))) + 0 + (goto cfg-77) + ) + (when (< (the-as uint (- s4-0 (the-as int (-> obj data s2-1 spawn-time)))) (-> v1-29 period)) + 0 + (goto cfg-77) + ) + (set! (-> obj data s2-1 offset) (- (-> v1-29 period) a0-56)) + (* 0.2 (the float (- s4-0 s5-0)) f0-2) + ) + ) ) - 0 - (goto cfg-77) - ) - (when - (< - (the-as - uint - (- s4-0 (the-as int (-> obj data s2-1 spawn-time))) - ) - (-> v1-29 period) - ) - 0 - (goto cfg-77) - ) - (set! - (-> obj data s2-1 offset) - (- (-> v1-29 period) a0-56) - ) - (* 0.2 (the float (- s4-0 s5-0)) f0-2) + ) + (label cfg-72) + (set! (-> a3-0 spawn-time) (the-as uint s4-0)) + (logior! (-> a3-0 flags) (sp-launch-state-flags particles-active)) + (if (< 0.0 f0-4) + (sp-launch-particles-var + (if (logtest? (-> v1-29 flags) (sp-group-item-flag is-3d)) + *sp-particle-system-3d* + *sp-particle-system-2d* + ) + a1-4 + (-> a3-0 origin) + a3-0 + obj + f0-4 ) - ) + ) + ) + ) + (label cfg-77) + (b! #t cfg-79 :delay (nop!)) + (label cfg-78) + (format 0 "spawn called for non-sparticle-launcher~%") + ) ) - ) - (label cfg-72) - (set! (-> a3-0 spawn-time) (the-as uint s4-0)) - (logior! (-> a3-0 flags) (sp-launch-state-flags particles-active)) - (if (< 0.0 f0-4) - (sp-launch-particles-var - (if (logtest? (-> v1-29 flags) (sp-group-item-flag is-3d)) - *sp-particle-system-3d* - *sp-particle-system-2d* - ) - a1-4 - (-> a3-0 origin) - a3-0 - obj - f0-4 - ) - ) ) - ) - (label cfg-77) - (b! #t cfg-79 :delay (nop!)) - (label cfg-78) - (format 0 "spawn called for non-sparticle-launcher~%") ) - ) ) - ) ) - ) 0 ) ;; definition for function sparticle-track-root ;; INFO: Return type mismatch int vs none. -(defun - sparticle-track-root - ((arg0 object) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun sparticle-track-root ((arg0 object) (arg1 sparticle-cpuinfo) (arg2 vector)) (let ((v1-3 (-> (the-as process-drawable (-> arg1 key proc)) root trans))) - (set! (-> arg2 x) (-> v1-3 x)) - (set! (-> arg2 y) (-> v1-3 y)) - (set! (-> arg2 z) (-> v1-3 z)) - ) + (set! (-> arg2 x) (-> v1-3 x)) + (set! (-> arg2 y) (-> v1-3 y)) + (set! (-> arg2 z) (-> v1-3 z)) + ) 0 (none) ) ;; definition for function sparticle-track-root-prim ;; INFO: Return type mismatch int vs none. -(defun - sparticle-track-root-prim - ((arg0 object) (arg1 sparticle-cpuinfo) (arg2 vector)) - (let - ((v1-4 - (-> - (the-as - collide-shape - (-> (the-as process-drawable (-> arg1 key proc)) root) - ) - root-prim - prim-core - ) - ) +(defun sparticle-track-root-prim ((arg0 object) (arg1 sparticle-cpuinfo) (arg2 vector)) + (let ((v1-4 (-> (the-as collide-shape (-> (the-as process-drawable (-> arg1 key proc)) root)) root-prim prim-core)) + ) + (set! (-> arg2 x) (-> v1-4 world-sphere x)) + (set! (-> arg2 y) (-> v1-4 world-sphere y)) + (set! (-> arg2 z) (-> v1-4 world-sphere z)) ) - (set! (-> arg2 x) (-> v1-4 world-sphere x)) - (set! (-> arg2 y) (-> v1-4 world-sphere y)) - (set! (-> arg2 z) (-> v1-4 world-sphere z)) - ) 0 (none) ) ;; definition for function birth-func-copy-rot-color ;; INFO: Return type mismatch int vs none. -(defun - birth-func-copy-rot-color - ((arg0 sparticle-system) - (arg1 sparticle-cpuinfo) - (arg2 sprite-vec-data-3d) - (arg3 sparticle-launcher) - (arg4 sparticle-launch-state) - ) +(defun birth-func-copy-rot-color ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) (local-vars (v1-4 float) (v1-5 float)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (let ((s5-0 (-> arg4 sprite))) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (let* ((v1-0 arg2) - (f0-0 (-> v1-0 qx-qy-qz-sy x)) - (f1-0 (-> v1-0 qx-qy-qz-sy y)) - (f3-0 (-> v1-0 qx-qy-qz-sy z)) + (init-vf0-vector) + (let ((s5-0 (-> arg4 sprite))) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let* ((v1-0 arg2) + (f0-0 (-> v1-0 qx-qy-qz-sy x)) + (f1-0 (-> v1-0 qx-qy-qz-sy y)) + (f3-0 (-> v1-0 qx-qy-qz-sy z)) + ) + (set! (-> s4-0 x) f0-0) + (set! (-> s4-0 y) f1-0) + (set! (-> s4-0 z) f3-0) + (set! (-> s4-0 w) (sqrtf (- (- (- 1.0 (* f3-0 f3-0)) (* f1-0 f1-0)) (* f0-0 f0-0)))) + ) + (quaternion-rotate-y! (the-as quaternion s4-0) (the-as quaternion s4-0) (-> s5-0 sprite rot)) + (let ((v1-3 arg2)) + (cond + ((< (-> s4-0 w) 0.0) + (.lvf vf1 (&-> v1-3 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> s4-0 quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> v1-3 qx-qy-qz-sy quad) vf1) + (.mov v1-4 vf1) + ) + (else + (.lvf vf1 (&-> v1-3 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> s4-0 quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> v1-3 qx-qy-qz-sy quad) vf1) + (.mov v1-5 vf1) + ) ) - (set! (-> s4-0 x) f0-0) - (set! (-> s4-0 y) f1-0) - (set! (-> s4-0 z) f3-0) - (set! - (-> s4-0 w) - (sqrtf (- (- (- 1.0 (* f3-0 f3-0)) (* f1-0 f1-0)) (* f0-0 f0-0))) - ) - ) - (quaternion-rotate-y! - (the-as quaternion s4-0) - (the-as quaternion s4-0) - (-> s5-0 sprite rot) - ) - (let ((v1-3 arg2)) - (cond - ((< (-> s4-0 w) 0.0) - (.lvf vf1 (&-> v1-3 qx-qy-qz-sy quad)) - (.lvf vf2 (&-> s4-0 quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> v1-3 qx-qy-qz-sy quad) vf1) - (.mov v1-4 vf1) + ) ) - (else - (.lvf vf1 (&-> v1-3 qx-qy-qz-sy quad)) - (.lvf vf2 (&-> s4-0 quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> v1-3 qx-qy-qz-sy quad) vf1) - (.mov v1-5 vf1) - ) - ) + (set! (-> arg2 r-g-b-a x) (-> s5-0 sprite r)) + (set! (-> arg2 r-g-b-a y) (-> s5-0 sprite g)) + (set! (-> arg2 r-g-b-a z) (-> s5-0 sprite b)) ) - ) - (set! (-> arg2 r-g-b-a x) (-> s5-0 sprite r)) - (set! (-> arg2 r-g-b-a y) (-> s5-0 sprite g)) - (set! (-> arg2 r-g-b-a z) (-> s5-0 sprite b)) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for symbol *global-toggle*, type int @@ -1477,119 +1269,92 @@ ;; definition for function birth-func-copy2-rot-color ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - birth-func-copy2-rot-color - ((arg0 sparticle-system) - (arg1 sparticle-cpuinfo) - (arg2 sprite-vec-data-3d) - (arg3 sparticle-launcher) - (arg4 sparticle-launch-state) - ) +(defun birth-func-copy2-rot-color ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) (local-vars (v1-15 float) (v1-16 float)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (let ((s5-0 (-> arg4 sprite))) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (let* ((v1-0 arg2) - (f0-0 (-> v1-0 qx-qy-qz-sy x)) - (f1-0 (-> v1-0 qx-qy-qz-sy y)) - (f3-0 (-> v1-0 qx-qy-qz-sy z)) + (init-vf0-vector) + (let ((s5-0 (-> arg4 sprite))) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let* ((v1-0 arg2) + (f0-0 (-> v1-0 qx-qy-qz-sy x)) + (f1-0 (-> v1-0 qx-qy-qz-sy y)) + (f3-0 (-> v1-0 qx-qy-qz-sy z)) + ) + (set! (-> s4-0 x) f0-0) + (set! (-> s4-0 y) f1-0) + (set! (-> s4-0 z) f3-0) + (set! (-> s4-0 w) (sqrtf (- (- (- 1.0 (* f3-0 f3-0)) (* f1-0 f1-0)) (* f0-0 f0-0)))) + ) + (let ((a1-1 (new-stack-vector0))) + (set! (-> a1-1 y) (-> s5-0 sprite rot)) + (set! (-> a1-1 z) (if (logtest? *global-toggle* 1) + (the float (sar (shl (the int (- 16384.0 (-> s5-0 sprite sx))) 48) 48)) + (the float (sar (shl (the int (+ 16384.0 (-> s5-0 sprite sx))) 48) 48)) + ) + ) + (quaternion-zxy! (the-as quaternion s4-0) a1-1) + ) + (let ((v1-14 arg2)) + (cond + ((< (-> s4-0 w) 0.0) + (.lvf vf1 (&-> v1-14 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> s4-0 quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> v1-14 qx-qy-qz-sy quad) vf1) + (.mov v1-15 vf1) + ) + (else + (.lvf vf1 (&-> v1-14 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> s4-0 quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> v1-14 qx-qy-qz-sy quad) vf1) + (.mov v1-16 vf1) + ) ) - (set! (-> s4-0 x) f0-0) - (set! (-> s4-0 y) f1-0) - (set! (-> s4-0 z) f3-0) - (set! - (-> s4-0 w) - (sqrtf (- (- (- 1.0 (* f3-0 f3-0)) (* f1-0 f1-0)) (* f0-0 f0-0))) - ) - ) - (let ((a1-1 (new-stack-vector0))) - (set! (-> a1-1 y) (-> s5-0 sprite rot)) - (set! (-> a1-1 z) (if (logtest? *global-toggle* 1) - (the - float - (sar - (shl (the int (- 16384.0 (-> s5-0 sprite sx))) 48) - 48 - ) - ) - (the - float - (sar - (shl (the int (+ 16384.0 (-> s5-0 sprite sx))) 48) - 48 - ) - ) - ) - ) - (quaternion-zxy! (the-as quaternion s4-0) a1-1) - ) - (let ((v1-14 arg2)) - (cond - ((< (-> s4-0 w) 0.0) - (.lvf vf1 (&-> v1-14 qx-qy-qz-sy quad)) - (.lvf vf2 (&-> s4-0 quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> v1-14 qx-qy-qz-sy quad) vf1) - (.mov v1-15 vf1) + ) ) - (else - (.lvf vf1 (&-> v1-14 qx-qy-qz-sy quad)) - (.lvf vf2 (&-> s4-0 quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> v1-14 qx-qy-qz-sy quad) vf1) - (.mov v1-16 vf1) - ) - ) + (set! (-> arg2 r-g-b-a x) (-> s5-0 sprite r)) + (set! (-> arg2 r-g-b-a y) (-> s5-0 sprite g)) + (set! (-> arg2 r-g-b-a z) (-> s5-0 sprite b)) ) - ) - (set! (-> arg2 r-g-b-a x) (-> s5-0 sprite r)) - (set! (-> arg2 r-g-b-a y) (-> s5-0 sprite g)) - (set! (-> arg2 r-g-b-a z) (-> s5-0 sprite b)) + (set! *global-toggle* (+ *global-toggle* 1)) + 0 + (none) ) - (set! *global-toggle* (+ *global-toggle* 1)) - 0 - (none) - ) ) ;; definition for function birth-func-copy-omega-to-z ;; INFO: Return type mismatch int vs none. -(defun - birth-func-copy-omega-to-z - ((arg0 sparticle-system) - (arg1 sparticle-cpuinfo) - (arg2 sprite-vec-data-3d) - (arg3 sparticle-launcher) - (arg4 sparticle-launch-state) - ) +(defun birth-func-copy-omega-to-z ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) (set! (-> arg2 qx-qy-qz-sy z) (+ -16384.0 (-> arg1 omega))) (set! (-> arg1 next-time) (-> arg4 sprite next-time)) - (set! - (-> arg2 x-y-z-sx w) - (* 163.85638 (the float (-> arg4 sprite next-time))) - ) + (set! (-> arg2 x-y-z-sx w) (* 163.85638 (the float (-> arg4 sprite next-time)))) 0 (none) ) ;; definition for function birth-func-random-next-time ;; INFO: Return type mismatch int vs none. -(defun - birth-func-random-next-time - ((arg0 sparticle-system) - (arg1 sparticle-cpuinfo) - (arg2 sprite-vec-data-3d) - (arg3 sparticle-launcher) - (arg4 sparticle-launch-state) - ) - (set! - (-> arg1 next-time) - (the-as uint (the int (rand-vu-float-range 0.0 (-> arg1 user-float)))) - ) +(defun birth-func-random-next-time ((arg0 sparticle-system) + (arg1 sparticle-cpuinfo) + (arg2 sprite-vec-data-3d) + (arg3 sparticle-launcher) + (arg4 sparticle-launch-state) + ) + (set! (-> arg1 next-time) (the-as uint (the int (rand-vu-float-range 0.0 (-> arg1 user-float))))) 0 (none) ) diff --git a/test/decompiler/reference/engine/gfx/sparticle/sparticle_REF.gc b/test/decompiler/reference/engine/gfx/sparticle/sparticle_REF.gc index 16de2746ae..b06219857f 100644 --- a/test/decompiler/reference/engine/gfx/sparticle/sparticle_REF.gc +++ b/test/decompiler/reference/engine/gfx/sparticle/sparticle_REF.gc @@ -6,8 +6,8 @@ (defmethod print sparticle-cpuinfo ((obj sparticle-cpuinfo)) (format #t "~%") (dotimes (s5-0 16) - (format #t "~D:~F~%" s5-0 (the-as float (-> obj data s5-0))) - ) + (format #t "~D:~F~%" s5-0 (the-as float (-> obj data s5-0))) + ) (format #t "TIMER:~D~%" (-> obj timer)) (the-as sparticle-cpuinfo (format #t "FLAGS:~X~%" (-> obj flags))) ) @@ -17,17 +17,17 @@ ;; Used lq/sq (defun sp-particle-copy! ((arg0 sparticle-cpuinfo) (arg1 sparticle-cpuinfo)) (let ((v1-1 (-> arg1 sprite x-y-z-sx quad))) - (set! (-> arg0 sprite x-y-z-sx quad) v1-1) - ) + (set! (-> arg0 sprite x-y-z-sx quad) v1-1) + ) (let ((v1-3 (-> arg1 sprite flag-rot-sy quad))) - (set! (-> arg0 sprite flag-rot-sy quad) v1-3) - ) + (set! (-> arg0 sprite flag-rot-sy quad) v1-3) + ) (let ((v1-5 (-> arg1 sprite color quad))) - (set! (-> arg0 sprite color quad) v1-5) - ) + (set! (-> arg0 sprite color quad) v1-5) + ) (dotimes (v1-6 10) - (set! (-> arg0 adgif prims v1-6) (-> arg1 adgif prims v1-6)) - ) + (set! (-> arg0 adgif prims v1-6) (-> arg1 adgif prims v1-6)) + ) (set! (-> arg0 vel-sxvel quad) (-> arg1 vel-sxvel quad)) (set! (-> arg0 rot-syvel quad) (-> arg1 rot-syvel quad)) (set! (-> arg0 fade quad) (-> arg1 fade quad)) @@ -41,116 +41,80 @@ ) ;; definition for method 0 of type sparticle-system -(defmethod - new - sparticle-system - ((allocation symbol) - (type-to-make type) - (arg0 int) - (arg1 int) - (arg2 symbol) - (arg3 pointer) - (arg4 (inline-array adgif-shader)) - ) - (let - ((gp-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new sparticle-system ((allocation symbol) + (type-to-make type) + (arg0 int) + (arg1 int) + (arg2 symbol) + (arg3 pointer) + (arg4 (inline-array adgif-shader)) + ) + (let ((gp-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (let* ((v1-3 (/ (+ arg0 63) 64)) + (a0-2 (/ (+ arg1 63) 64)) + (a1-2 (* v1-3 64)) + (a2-2 (* a0-2 64)) + (s2-1 (+ v1-3 a0-2)) + (s5-1 (+ a1-2 a2-2)) + ) + (set! (-> gp-0 blocks 0) v1-3) + (set! (-> gp-0 length 0) a1-2) + (set! (-> gp-0 num-alloc 0) 0) + (set! (-> gp-0 blocks 1) a0-2) + (set! (-> gp-0 length 1) a2-2) + (set! (-> gp-0 num-alloc 1) 0) + (set! (-> gp-0 is-3d) arg2) + (set! (-> gp-0 alloc-table) (the-as (pointer uint64) (malloc 'global (* s2-1 8)))) + (set! (-> gp-0 cpuinfo-table) (the-as (inline-array sparticle-cpuinfo) (malloc 'global (* 144 s5-1)))) + (set! (-> gp-0 vecdata-table) arg3) + (set! (-> gp-0 adgifdata-table) arg4) + (dotimes (v1-5 s2-1) + (set! (-> gp-0 alloc-table v1-5) (the-as uint -1)) + ) + (dotimes (s4-1 s5-1) + (set! (-> gp-0 cpuinfo-table s4-1 valid) #f) + (set! (-> gp-0 cpuinfo-table s4-1 sprite) + (the-as sprite-vec-data-2d (&+ (-> gp-0 vecdata-table) (* 48 s4-1))) + ) + (set! (-> gp-0 cpuinfo-table s4-1 adgif) (-> gp-0 adgifdata-table s4-1)) + (adgif-shader<-texture-simple! (-> gp-0 adgifdata-table s4-1) (the-as texture #f)) + (set! (-> gp-0 adgifdata-table s4-1 alpha) (new 'static 'gs-miptbp :tbp1 #x48)) + ) + ) + gp-0 ) - (let* ((v1-3 (/ (+ arg0 63) 64)) - (a0-2 (/ (+ arg1 63) 64)) - (a1-2 (* v1-3 64)) - (a2-2 (* a0-2 64)) - (s2-1 (+ v1-3 a0-2)) - (s5-1 (+ a1-2 a2-2)) - ) - (set! (-> gp-0 blocks 0) v1-3) - (set! (-> gp-0 length 0) a1-2) - (set! (-> gp-0 num-alloc 0) 0) - (set! (-> gp-0 blocks 1) a0-2) - (set! (-> gp-0 length 1) a2-2) - (set! (-> gp-0 num-alloc 1) 0) - (set! (-> gp-0 is-3d) arg2) - (set! - (-> gp-0 alloc-table) - (the-as (pointer uint64) (malloc 'global (* s2-1 8))) - ) - (set! - (-> gp-0 cpuinfo-table) - (the-as (inline-array sparticle-cpuinfo) (malloc 'global (* 144 s5-1))) - ) - (set! (-> gp-0 vecdata-table) arg3) - (set! (-> gp-0 adgifdata-table) arg4) - (dotimes (v1-5 s2-1) - (set! (-> gp-0 alloc-table v1-5) (the-as uint -1)) - ) - (dotimes (s4-1 s5-1) - (set! (-> gp-0 cpuinfo-table s4-1 valid) #f) - (set! - (-> gp-0 cpuinfo-table s4-1 sprite) - (the-as sprite-vec-data-2d (&+ (-> gp-0 vecdata-table) (* 48 s4-1))) - ) - (set! (-> gp-0 cpuinfo-table s4-1 adgif) (-> gp-0 adgifdata-table s4-1)) - (adgif-shader<-texture-simple! - (-> gp-0 adgifdata-table s4-1) - (the-as texture #f) - ) - (set! - (-> gp-0 adgifdata-table s4-1 alpha) - (new 'static 'gs-miptbp :tbp1 #x48) - ) - ) - ) - gp-0 - ) ) ;; definition for symbol *sp-particle-system-2d*, type sparticle-system (define *sp-particle-system-2d* - (new - 'global - 'sparticle-system - 1920 - 128 - #f - (-> *sprite-array-2d* vec-data) - (-> *sprite-array-2d* adgif-data) - ) + (new 'global 'sparticle-system 1920 128 #f (-> *sprite-array-2d* vec-data) (-> *sprite-array-2d* adgif-data)) ) ;; definition for symbol *sp-particle-system-3d*, type sparticle-system (define *sp-particle-system-3d* - (new - 'global - 'sparticle-system - 256 - 0 - #t - (-> *sprite-array-3d* vec-data) - (-> *sprite-array-3d* adgif-data) - ) + (new 'global 'sparticle-system 256 0 #t (-> *sprite-array-3d* vec-data) (-> *sprite-array-3d* adgif-data)) ) ;; definition for function sp-get-block-size (defun sp-get-block-size ((arg0 sparticle-system) (arg1 int)) (let ((v0-0 0)) - (let ((v1-0 0) - (a2-0 (-> arg0 blocks 0)) - ) - (when (= arg1 1) - (set! v1-0 a2-0) - (set! a2-0 (-> arg0 blocks 1)) - ) - (dotimes (a1-3 a2-0) - (if (!= (-> arg0 alloc-table (+ v1-0 a1-3)) -1) - (set! v0-0 (+ a1-3 1)) + (let ((v1-0 0) + (a2-0 (-> arg0 blocks 0)) + ) + (when (= arg1 1) + (set! v1-0 a2-0) + (set! a2-0 (-> arg0 blocks 1)) + ) + (dotimes (a1-3 a2-0) + (if (!= (-> arg0 alloc-table (+ v1-0 a1-3)) -1) + (set! v0-0 (+ a1-3 1)) + ) + ) ) - ) + v0-0 ) - v0-0 - ) ) ;; definition for function sp-get-approx-alloc-size @@ -158,47 +122,38 @@ (let ((a3-0 arg1) (v1-0 0) ) - (let ((a1-1 0) - (a2-0 (-> arg0 blocks 0)) - ) - (when (= a3-0 1) - (set! a1-1 a2-0) - (set! a2-0 (-> arg0 blocks 1)) - ) - (dotimes (a3-3 a2-0) - (if (!= (-> arg0 alloc-table (+ a1-1 a3-3)) -1) - (set! v1-0 (+ a3-3 1)) + (let ((a1-1 0) + (a2-0 (-> arg0 blocks 0)) + ) + (when (= a3-0 1) + (set! a1-1 a2-0) + (set! a2-0 (-> arg0 blocks 1)) + ) + (dotimes (a3-3 a2-0) + (if (!= (-> arg0 alloc-table (+ a1-1 a3-3)) -1) + (set! v1-0 (+ a3-3 1)) + ) + ) ) - ) + (* v1-0 64) ) - (* v1-0 64) - ) ) ;; definition for function sp-free-particle ;; INFO: Return type mismatch int vs none. -(defun - sp-free-particle - ((arg0 sparticle-system) - (arg1 int) - (arg2 sparticle-cpuinfo) - (arg3 sprite-vec-data-2d) - ) +(defun sp-free-particle ((arg0 sparticle-system) (arg1 int) (arg2 sparticle-cpuinfo) (arg3 sprite-vec-data-2d)) (if (and (-> arg2 binding) (nonzero? (-> arg2 binding))) - (logclear! - (-> arg2 binding flags) - (sp-launch-state-flags launcher-active particles-active) - ) - ) + (logclear! (-> arg2 binding flags) (sp-launch-state-flags launcher-active particles-active)) + ) (let ((v1-6 (/ arg1 64)) (t0-4 (logand arg1 63)) ) - (logior! (-> arg0 alloc-table v1-6) (ash 1 t0-4)) - ) + (logior! (-> arg0 alloc-table v1-6) (ash 1 t0-4)) + ) (if (< arg1 (-> arg0 length 0)) - (+! (-> arg0 num-alloc 0) -1) - (+! (-> arg0 num-alloc 1) -1) - ) + (+! (-> arg0 num-alloc 0) -1) + (+! (-> arg0 num-alloc 1) -1) + ) (set! (-> arg2 valid) #f) (set! (-> arg3 a) 0.0) 0 @@ -218,102 +173,99 @@ ;; WARN: Unsupported inline assembly instruction kind - [movz a2, t3, t2] ;; WARN: Unsupported inline assembly instruction kind - [movn t3, t1, t1] ;; WARN: Unsupported inline assembly instruction kind - [movz a2, t2, t1] -(defun - sp-get-particle - ((arg0 sparticle-system) (arg1 int) (arg2 sparticle-launch-state)) +(defun sp-get-particle ((arg0 sparticle-system) (arg1 int) (arg2 sparticle-launch-state)) (local-vars - (a2-3 int) - (a2-4 int) - (a2-5 int) - (a2-6 int) - (a2-7 int) - (a2-8 int) - (t1-16 int) - (t1-17 int) - (t1-18 int) - (t1-19 int) - (t1-20 int) - (t3-5 int) - ) + (a2-3 int) + (a2-4 int) + (a2-5 int) + (a2-6 int) + (a2-7 int) + (a2-8 int) + (t1-16 int) + (t1-17 int) + (t1-18 int) + (t1-19 int) + (t1-20 int) + (t3-5 int) + ) (let ((v1-0 0) (t0-0 (-> arg0 blocks 0)) (a3-0 0) ) - (when (= arg1 1) - (set! v1-0 t0-0) - (set! t0-0 (-> arg0 blocks 1)) - ) - (when arg2 - (set! a3-0 (the-as int (-> arg2 randomize))) - (+! (-> arg2 randomize) 1) - (when (= (-> arg2 randomize) t0-0) - (set! (-> arg2 randomize) (the-as uint 0)) - 0 - ) - ) - (dotimes (a2-1 t0-0) - (when (nonzero? (-> arg0 alloc-table (+ v1-0 a3-0))) - (let ((a2-2 0) - (t1-15 (-> arg0 alloc-table (+ v1-0 a3-0))) - (t0-4 (* (+ v1-0 a3-0) 64)) - ) - 0 - 0 - (let ((t2-4 (shl t1-15 32)) - (t3-0 (+ a2-2 32)) - ) - (.movn t1-16 t2-4 t2-4 t1-15) - (.movz a2-3 t3-0 t2-4 a2-2) - ) - (let ((t2-5 (shl t1-16 16)) - (t3-1 (+ a2-3 16)) - ) - (.movn t1-17 t2-5 t2-5 t1-16) - (.movz a2-4 t3-1 t2-5 a2-3) - ) - (let ((t2-6 (* t1-17 256)) - (t3-2 (+ a2-4 8)) - ) - (.movn t1-18 t2-6 t2-6 t1-17) - (.movz a2-5 t3-2 t2-6 a2-4) - ) - (let ((t2-7 (* t1-18 16)) - (t3-3 (+ a2-5 4)) - ) - (.movn t1-19 t2-7 t2-7 t1-18) - (.movz a2-6 t3-3 t2-7 a2-5) - ) - (let ((t2-8 (* t1-19 4)) - (t3-4 (+ a2-6 2)) - ) - (.movn t1-20 t2-8 t2-8 t1-19) - (.movz a2-7 t3-4 t2-8 a2-6) - (let ((t1-21 (* t1-20 2)) - (t2-9 (+ a2-7 1)) - ) - (.movn t3-5 t1-21 t1-21 t3-4) - (.movz a2-8 t2-9 t1-21 a2-7) - ) - ) - (let ((t0-5 (+ t0-4 a2-8))) - (set! - (-> arg0 alloc-table (+ v1-0 a3-0)) - (logxor (-> arg0 alloc-table (+ v1-0 a3-0)) (the-as uint (ash 1 a2-8))) - ) - (+! (-> arg0 num-alloc arg1) 1) - (let ((v1-9 (-> arg0 cpuinfo-table t0-5))) - (set! (-> v1-9 valid) #t) - (return v1-9) - ) - ) + (when (= arg1 1) + (set! v1-0 t0-0) + (set! t0-0 (-> arg0 blocks 1)) + ) + (when arg2 + (set! a3-0 (the-as int (-> arg2 randomize))) + (+! (-> arg2 randomize) 1) + (when (= (-> arg2 randomize) t0-0) + (set! (-> arg2 randomize) (the-as uint 0)) + 0 + ) + ) + (dotimes (a2-1 t0-0) + (when (nonzero? (-> arg0 alloc-table (+ v1-0 a3-0))) + (let ((a2-2 0) + (t1-15 (-> arg0 alloc-table (+ v1-0 a3-0))) + (t0-4 (* (+ v1-0 a3-0) 64)) + ) + 0 + 0 + (let ((t2-4 (shl t1-15 32)) + (t3-0 (+ a2-2 32)) + ) + (.movn t1-16 t2-4 t2-4 t1-15) + (.movz a2-3 t3-0 t2-4 a2-2) + ) + (let ((t2-5 (shl t1-16 16)) + (t3-1 (+ a2-3 16)) + ) + (.movn t1-17 t2-5 t2-5 t1-16) + (.movz a2-4 t3-1 t2-5 a2-3) + ) + (let ((t2-6 (* t1-17 256)) + (t3-2 (+ a2-4 8)) + ) + (.movn t1-18 t2-6 t2-6 t1-17) + (.movz a2-5 t3-2 t2-6 a2-4) + ) + (let ((t2-7 (* t1-18 16)) + (t3-3 (+ a2-5 4)) + ) + (.movn t1-19 t2-7 t2-7 t1-18) + (.movz a2-6 t3-3 t2-7 a2-5) + ) + (let ((t2-8 (* t1-19 4)) + (t3-4 (+ a2-6 2)) + ) + (.movn t1-20 t2-8 t2-8 t1-19) + (.movz a2-7 t3-4 t2-8 a2-6) + (let ((t1-21 (* t1-20 2)) + (t2-9 (+ a2-7 1)) + ) + (.movn t3-5 t1-21 t1-21 t3-4) + (.movz a2-8 t2-9 t1-21 a2-7) + ) + ) + (let ((t0-5 (+ t0-4 a2-8))) + (set! (-> arg0 alloc-table (+ v1-0 a3-0)) + (logxor (-> arg0 alloc-table (+ v1-0 a3-0)) (the-as uint (ash 1 a2-8))) + ) + (+! (-> arg0 num-alloc arg1) 1) + (let ((v1-9 (-> arg0 cpuinfo-table t0-5))) + (set! (-> v1-9 valid) #t) + (return v1-9) + ) + ) + ) + ) + (+! a3-0 1) + (if (= a3-0 t0-0) + (set! a3-0 0) + ) ) - ) - (+! a3-0 1) - (if (= a3-0 t0-0) - (set! a3-0 0) - ) ) - ) (the-as sparticle-cpuinfo #f) ) @@ -322,39 +274,27 @@ ;; WARN: Expression building failed: Function sp-kill-particle has a return type of none, but the expression builder found a return statement. (defun sp-kill-particle ((arg0 sparticle-system) (arg1 sparticle-cpuinfo)) (cond - ((>= (the-as int arg1) #x70000000) - (set! (-> arg1 timer) 0) - 0 - ) - (else - (let - ((a2-1 - (/ - (the-as - int - (- (the-as uint arg1) (the-as uint (-> arg0 cpuinfo-table 0))) - ) - 144 - ) - ) - ) - (when (or (< a2-1 0) (>= a2-1 (+ (-> arg0 length 0) (-> arg0 length 1)))) - (format 0 "Tried to release particle ~D~%" a2-1) - (return #f) - ) - (sp-free-particle arg0 a2-1 arg1 (-> arg1 sprite)) + ((>= (the-as int arg1) #x70000000) + (set! (-> arg1 timer) 0) + 0 ) + (else + (let ((a2-1 (/ (the-as int (- (the-as uint arg1) (the-as uint (-> arg0 cpuinfo-table 0)))) 144))) + (when (or (< a2-1 0) (>= a2-1 (+ (-> arg0 length 0) (-> arg0 length 1)))) + (format 0 "Tried to release particle ~D~%" a2-1) + (return #f) + ) + (sp-free-particle arg0 a2-1 arg1 (-> arg1 sprite)) + ) + ) ) - ) #t (none) ) ;; definition for function sp-orbiter ;; INFO: Return type mismatch int vs none. -(defun - sp-orbiter - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun sp-orbiter ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (let* ((f2-0 (-> arg1 omega)) (f0-0 (-> arg1 radius)) (f4-0 (-> arg1 vel-sxvel x)) @@ -363,36 +303,32 @@ (f3-0 (-> *sp-frame-time* y)) (f28-0 (+ f2-0 (* f4-0 f3-0))) ) - (set! (-> arg1 omega) f28-0) - (let ((f30-0 (+ f0-0 (* f1-0 f3-0)))) - (set! (-> arg1 radius) f30-0) - (let ((f26-0 (sin f28-0)) - (f28-1 (cos f28-0)) - (f22-0 (sin (* 0.5 f24-0))) - (f0-5 (cos (* 0.5 f24-0))) - (a1-1 (new 'stack-no-clear 'vector)) - (s4-0 (new 'stack-no-clear 'vector)) + (set! (-> arg1 omega) f28-0) + (let ((f30-0 (+ f0-0 (* f1-0 f3-0)))) + (set! (-> arg1 radius) f30-0) + (let ((f26-0 (sin f28-0)) + (f28-1 (cos f28-0)) + (f22-0 (sin (* 0.5 f24-0))) + (f0-5 (cos (* 0.5 f24-0))) + (a1-1 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (let ((s3-0 (new 'stack-no-clear 'matrix))) + (set-vector! a1-1 (* f22-0 f28-1) 0.0 (* f22-0 f26-0) f0-5) + (quaternion*! (-> arg1 rotvel3d) (the-as quaternion a1-1) (-> arg1 rotvel3d)) + (quaternion-normalize! (-> arg1 rotvel3d)) + (set-vector! s4-0 (* f26-0 f30-0) 0.0 (* f28-1 f30-0) 1.0) + (quaternion->matrix s3-0 (-> arg1 rotvel3d)) + (vector-matrix*! s4-0 s4-0 s3-0) ) - (let ((s3-0 (new 'stack-no-clear 'matrix))) - (set-vector! a1-1 (* f22-0 f28-1) 0.0 (* f22-0 f26-0) f0-5) - (quaternion*! - (-> arg1 rotvel3d) - (the-as quaternion a1-1) - (-> arg1 rotvel3d) - ) - (quaternion-normalize! (-> arg1 rotvel3d)) - (set-vector! s4-0 (* f26-0 f30-0) 0.0 (* f28-1 f30-0) 1.0) - (quaternion->matrix s3-0 (-> arg1 rotvel3d)) - (vector-matrix*! s4-0 s4-0 s3-0) + (let ((v1-3 (the-as object (-> arg1 user-float)))) + (set! (-> arg2 x) (+ (-> s4-0 x) (-> (the-as sprite-vec-data-2d v1-3) x))) + (set! (-> arg2 y) (+ (-> s4-0 y) (-> (the-as sprite-vec-data-2d v1-3) y))) + (set! (-> arg2 z) (+ (-> s4-0 z) (-> (the-as sprite-vec-data-2d v1-3) z))) + ) + ) ) - (let ((v1-3 (the-as object (-> arg1 user-float)))) - (set! (-> arg2 x) (+ (-> s4-0 x) (-> (the-as sprite-vec-data-2d v1-3) x))) - (set! (-> arg2 y) (+ (-> s4-0 y) (-> (the-as sprite-vec-data-2d v1-3) y))) - (set! (-> arg2 z) (+ (-> s4-0 z) (-> (the-as sprite-vec-data-2d v1-3) z))) - ) - ) ) - ) 0 (none) ) @@ -407,13 +343,8 @@ ;; INFO: Return type mismatch int vs none. (defun sp-copy-to-spr ((arg0 int) (arg1 pointer) (arg2 int)) (let ((a2-1 (/ (+ arg2 15) 16))) - (dma-send-to-spr-no-flush - (the-as uint arg0) - (the-as uint arg1) - (the-as uint a2-1) - #t + (dma-send-to-spr-no-flush (the-as uint arg0) (the-as uint arg1) (the-as uint a2-1) #t) ) - ) 0 (none) ) @@ -422,13 +353,8 @@ ;; INFO: Return type mismatch int vs none. (defun sp-copy-from-spr ((arg0 int) (arg1 pointer) (arg2 int)) (let ((a2-1 (/ (+ arg2 15) 16))) - (dma-send-from-spr-no-flush - (the-as uint arg1) - (the-as uint arg0) - (the-as uint a2-1) - #t + (dma-send-from-spr-no-flush (the-as uint arg1) (the-as uint arg0) (the-as uint a2-1) #t) ) - ) 0 (none) ) @@ -439,91 +365,87 @@ ;; definition for function sp-process-block ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - sp-process-block - ((arg0 sparticle-system) (arg1 int) (arg2 sprite-array-2d) (arg3 int)) +(defun sp-process-block ((arg0 sparticle-system) (arg1 int) (arg2 sprite-array-2d) (arg3 int)) (local-vars - (sv-16 int) - (sv-32 int) - (sv-48 (function sparticle-system int int int int symbol none)) - (sv-64 sparticle-system) - (sv-80 int) - (sv-96 int) - (sv-112 int) - (sv-128 (function sparticle-system int int int int symbol none)) - (sv-144 sparticle-system) - (sv-160 int) - (sv-176 int) - (sv-192 int) - ) + (sv-16 int) + (sv-32 int) + (sv-48 (function sparticle-system int int int int symbol none)) + (sv-64 sparticle-system) + (sv-80 int) + (sv-96 int) + (sv-112 int) + (sv-128 (function sparticle-system int int int int symbol none)) + (sv-144 sparticle-system) + (sv-160 int) + (sv-176 int) + (sv-192 int) + ) (let ((s3-0 16) (s2-0 (* 144 arg3)) (s5-0 (* 48 arg3)) ) - (set! sv-32 (* 80 arg3)) - (let ((s1-0 (+ s3-0 s2-0))) - (set! sv-16 (+ s1-0 s5-0)) - (sp-copy-to-spr s3-0 (the-as pointer (-> arg0 cpuinfo-table arg1)) s2-0) - (sp-copy-to-spr s1-0 (&+ (-> arg0 vecdata-table) (* 48 arg1)) s5-0) - (let ((t9-2 sp-copy-to-spr) - (a1-7 (-> arg0 adgifdata-table arg1)) + (set! sv-32 (* 80 arg3)) + (let ((s1-0 (+ s3-0 s2-0))) + (set! sv-16 (+ s1-0 s5-0)) + (sp-copy-to-spr s3-0 (the-as pointer (-> arg0 cpuinfo-table arg1)) s2-0) + (sp-copy-to-spr s1-0 (&+ (-> arg0 vecdata-table) (* 48 arg1)) s5-0) + (let ((t9-2 sp-copy-to-spr) + (a1-7 (-> arg0 adgifdata-table arg1)) + ) + (t9-2 sv-16 (the-as pointer a1-7) sv-32) + ) + (set! sv-80 (+ #x70000000 s3-0)) + (set! sv-96 (+ #x70000000 s1-0)) + (cond + ((-> arg0 is-3d) + (set! sv-48 sp-process-block-3d) + (set! sv-64 arg0) + (set! sv-112 arg1) + (let ((t1-0 (paused?))) + (sv-48 sv-64 sv-80 sv-96 sv-112 arg3 t1-0) + ) + ) + (else + (set! sv-128 sp-process-block-2d) + (set! sv-144 arg0) + (set! sv-160 sv-80) + (set! sv-176 sv-96) + (set! sv-192 arg1) + (let ((t1-1 (paused?))) + (sv-128 sv-144 sv-160 sv-176 sv-192 arg3 t1-1) + ) ) - (t9-2 sv-16 (the-as pointer a1-7) sv-32) - ) - (set! sv-80 (+ #x70000000 s3-0)) - (set! sv-96 (+ #x70000000 s1-0)) - (cond - ((-> arg0 is-3d) - (set! sv-48 sp-process-block-3d) - (set! sv-64 arg0) - (set! sv-112 arg1) - (let ((t1-0 (paused?))) - (sv-48 sv-64 sv-80 sv-96 sv-112 arg3 t1-0) - ) + ) + (sp-copy-from-spr s3-0 (the-as pointer (-> arg0 cpuinfo-table arg1)) s2-0) + (sp-copy-from-spr s1-0 (&+ (-> arg0 vecdata-table) (* 48 arg1)) s5-0) ) - (else - (set! sv-128 sp-process-block-2d) - (set! sv-144 arg0) - (set! sv-160 sv-80) - (set! sv-176 sv-96) - (set! sv-192 arg1) - (let ((t1-1 (paused?))) - (sv-128 sv-144 sv-160 sv-176 sv-192 arg3 t1-1) - ) - ) - ) - (sp-copy-from-spr s3-0 (the-as pointer (-> arg0 cpuinfo-table arg1)) s2-0) - (sp-copy-from-spr s1-0 (&+ (-> arg0 vecdata-table) (* 48 arg1)) s5-0) ) - ) 0 (none) ) ;; definition for function sp-process-particle-system ;; INFO: Return type mismatch int vs none. -(defun - sp-process-particle-system - ((arg0 sparticle-system) (arg1 int) (arg2 sprite-array-2d)) +(defun sp-process-particle-system ((arg0 sparticle-system) (arg1 int) (arg2 sprite-array-2d)) (let* ((v1-0 16) (s1-0 (/ (- #x4000 v1-0) 272)) (s3-0 0) (s4-0 (sp-get-approx-alloc-size arg0 arg1)) ) - (if (= arg1 1) - (set! s3-0 (* (-> arg0 blocks 0) 64)) + (if (= arg1 1) + (set! s3-0 (* (-> arg0 blocks 0) 64)) + ) + (set! (-> arg2 num-valid arg1) s4-0) + (flush-cache 0) + (while (>= s4-0 s1-0) + (sp-process-block arg0 s3-0 arg2 s1-0) + (set! s4-0 (- s4-0 s1-0)) + (+! s3-0 s1-0) + ) + (if (> s4-0 0) + (sp-process-block arg0 s3-0 arg2 s4-0) + ) ) - (set! (-> arg2 num-valid arg1) s4-0) - (flush-cache 0) - (while (>= s4-0 s1-0) - (sp-process-block arg0 s3-0 arg2 s1-0) - (set! s4-0 (- s4-0 s1-0)) - (+! s3-0 s1-0) - ) - (if (> s4-0 0) - (sp-process-block arg0 s3-0 arg2 s4-0) - ) - ) 0 (none) ) @@ -534,60 +456,52 @@ ;; definition for function forall-particles-with-key-runner ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - forall-particles-with-key-runner - ((arg0 sparticle-launch-control) - (arg1 (function sparticle-system sparticle-cpuinfo none)) - (arg2 sparticle-system) - ) +(defun forall-particles-with-key-runner ((arg0 sparticle-launch-control) + (arg1 (function sparticle-system sparticle-cpuinfo none)) + (arg2 sparticle-system) + ) (local-vars (sv-16 int)) (let ((s3-0 (the-as object (-> arg2 cpuinfo-table 0))) (s2-0 (&+ (-> arg2 vecdata-table) 0)) (s1-0 (+ (-> arg2 blocks 0) (-> arg2 blocks 1))) ) - (dotimes (s0-0 s1-0) - (cond - ((!= (-> arg2 alloc-table s0-0) -1) - (set! sv-16 0) - (while (< sv-16 64) - (if - (and - (-> (the-as sparticle-cpuinfo s3-0) valid) - (= (-> (the-as sparticle-cpuinfo s3-0) key) arg0) + (dotimes (s0-0 s1-0) + (cond + ((!= (-> arg2 alloc-table s0-0) -1) + (set! sv-16 0) + (while (< sv-16 64) + (if (and (-> (the-as sparticle-cpuinfo s3-0) valid) (= (-> (the-as sparticle-cpuinfo s3-0) key) arg0)) + (arg1 arg2 (the-as sparticle-cpuinfo s3-0)) + ) + (set! s3-0 (-> (the-as (inline-array sparticle-cpuinfo) s3-0) 1)) + (&+! s2-0 48) + (set! sv-16 (+ sv-16 1)) + ) ) - (arg1 arg2 (the-as sparticle-cpuinfo s3-0)) + (else + (set! s3-0 (-> (the-as (inline-array sparticle-cpuinfo) s3-0) 64)) + (&+! s2-0 3072) + ) ) - (set! s3-0 (-> (the-as (inline-array sparticle-cpuinfo) s3-0) 1)) - (&+! s2-0 48) - (set! sv-16 (+ sv-16 1)) - ) ) - (else - (set! s3-0 (-> (the-as (inline-array sparticle-cpuinfo) s3-0) 64)) - (&+! s2-0 3072) - ) - ) ) - ) 0 (none) ) ;; definition for function forall-particles-with-key ;; INFO: Return type mismatch int vs none. -(defun - forall-particles-with-key - ((arg0 sparticle-launch-control) - (arg1 (function sparticle-system sparticle-cpuinfo none)) - (arg2 symbol) - (arg3 symbol) - ) +(defun forall-particles-with-key ((arg0 sparticle-launch-control) + (arg1 (function sparticle-system sparticle-cpuinfo none)) + (arg2 symbol) + (arg3 symbol) + ) (if arg2 - (forall-particles-with-key-runner arg0 arg1 *sp-particle-system-2d*) - ) + (forall-particles-with-key-runner arg0 arg1 *sp-particle-system-2d*) + ) (if arg3 - (forall-particles-with-key-runner arg0 arg1 *sp-particle-system-3d*) - ) + (forall-particles-with-key-runner arg0 arg1 *sp-particle-system-3d*) + ) 0 (none) ) @@ -598,68 +512,57 @@ (set! (-> arg1 timer) 0) (set! (-> arg1 func) (the-as basic 0)) (when (and (-> arg1 binding) (nonzero? (-> arg1 binding))) - (logclear! - (-> arg1 binding flags) - (sp-launch-state-flags launcher-active particles-active) + (logclear! (-> arg1 binding flags) (sp-launch-state-flags launcher-active particles-active)) + (set! (-> arg1 binding) #f) ) - (set! (-> arg1 binding) #f) - ) 0 (none) ) ;; definition for function sparticle-kill-it-level0 ;; INFO: Return type mismatch int vs none. -(defun - sparticle-kill-it-level0 - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo)) +(defun sparticle-kill-it-level0 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo)) (if (logtest? (-> arg1 flags) (sp-cpuinfo-flag level0)) - (sparticle-kill-it arg0 arg1) - ) + (sparticle-kill-it arg0 arg1) + ) 0 (none) ) ;; definition for function sparticle-kill-it-level1 ;; INFO: Return type mismatch int vs none. -(defun - sparticle-kill-it-level1 - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo)) +(defun sparticle-kill-it-level1 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo)) (if (logtest? (-> arg1 flags) (sp-cpuinfo-flag level1)) - (sparticle-kill-it arg0 arg1) - ) + (sparticle-kill-it arg0 arg1) + ) 0 (none) ) ;; definition for function sparticle-60-to-50 ;; INFO: Return type mismatch int vs none. -(defun - sparticle-60-to-50 - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 pointer)) +(defun sparticle-60-to-50 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 pointer)) (let ((gp-0 (-> arg1 rotvel3d)) (s5-0 (new 'stack-no-clear 'quaternion)) ) - (vector-angle<-quaternion! (the-as vector s5-0) gp-0) - (set! (-> s5-0 w) (* 12516.455 (-> s5-0 w))) - (quaternion-vector-angle! gp-0 (the-as vector s5-0) (-> s5-0 w)) - ) + (vector-angle<-quaternion! (the-as vector s5-0) gp-0) + (set! (-> s5-0 w) (* 12516.455 (-> s5-0 w))) + (quaternion-vector-angle! gp-0 (the-as vector s5-0) (-> s5-0 w)) + ) 0 (none) ) ;; definition for function sparticle-50-to-60 ;; INFO: Return type mismatch int vs none. -(defun - sparticle-50-to-60 - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 pointer)) +(defun sparticle-50-to-60 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 pointer)) (let ((gp-0 (-> arg1 rotvel3d)) (s5-0 (new 'stack-no-clear 'quaternion)) ) - (vector-angle<-quaternion! (the-as vector s5-0) gp-0) - (set! (-> s5-0 w) (* 8691.982 (-> s5-0 w))) - (quaternion-vector-angle! gp-0 (the-as vector s5-0) (-> s5-0 w)) - ) + (vector-angle<-quaternion! (the-as vector s5-0) gp-0) + (set! (-> s5-0 w) (* 8691.982 (-> s5-0 w))) + (quaternion-vector-angle! gp-0 (the-as vector s5-0) (-> s5-0 w)) + ) 0 (none) ) @@ -674,33 +577,29 @@ ;; definition for function forall-particles-runner ;; INFO: Return type mismatch int vs none. -(defun - forall-particles-runner - ((arg0 (function sparticle-system sparticle-cpuinfo pointer none)) - (arg1 sparticle-system) - ) +(defun forall-particles-runner ((arg0 (function sparticle-system sparticle-cpuinfo pointer none)) (arg1 sparticle-system)) (let ((s4-0 (the-as object (-> arg1 cpuinfo-table 0))) (s3-0 (&+ (-> arg1 vecdata-table) 0)) (s2-0 (+ (-> arg1 blocks 0) (-> arg1 blocks 1))) ) - (dotimes (s1-0 s2-0) - (cond - ((!= (-> arg1 alloc-table s1-0) -1) - (dotimes (s0-0 64) - (if (-> (the-as sparticle-cpuinfo s4-0) valid) - (arg0 arg1 (the-as sparticle-cpuinfo s4-0) s3-0) + (dotimes (s1-0 s2-0) + (cond + ((!= (-> arg1 alloc-table s1-0) -1) + (dotimes (s0-0 64) + (if (-> (the-as sparticle-cpuinfo s4-0) valid) + (arg0 arg1 (the-as sparticle-cpuinfo s4-0) s3-0) + ) + (set! s4-0 (+ (the-as uint s4-0) 144)) + (&+! s3-0 48) + ) + ) + (else + (set! s4-0 (&+ (the-as pointer s4-0) 9216)) + (&+! s3-0 3072) + ) ) - (set! s4-0 (+ (the-as uint s4-0) 144)) - (&+! s3-0 48) - ) ) - (else - (set! s4-0 (&+ (the-as pointer s4-0) 9216)) - (&+! s3-0 3072) - ) - ) ) - ) 0 (none) ) @@ -709,30 +608,31 @@ ;; INFO: Return type mismatch int vs none. (defun forall-particles ((arg0 function) (arg1 symbol) (arg2 symbol)) (if arg1 - (forall-particles-runner - (the-as (function sparticle-system sparticle-cpuinfo pointer none) arg0) - *sp-particle-system-2d* - ) - ) + (forall-particles-runner + (the-as (function sparticle-system sparticle-cpuinfo pointer none) arg0) + *sp-particle-system-2d* + ) + ) (if arg2 - (forall-particles-runner - (the-as (function sparticle-system sparticle-cpuinfo pointer none) arg0) - *sp-particle-system-3d* - ) - ) + (forall-particles-runner + (the-as (function sparticle-system sparticle-cpuinfo pointer none) arg0) + *sp-particle-system-3d* + ) + ) 0 (none) ) ;; definition for function kill-all-particles-in-level (defun kill-all-particles-in-level ((arg0 level)) - (forall-particles (if (zero? (-> arg0 index)) - sparticle-kill-it-level0 - sparticle-kill-it-level1 - ) - #t - #t - ) + (forall-particles + (if (zero? (-> arg0 index)) + sparticle-kill-it-level0 + sparticle-kill-it-level1 + ) + #t + #t + ) 0 ) @@ -752,43 +652,19 @@ ;; INFO: Return type mismatch int vs none. (defun set-particle-frame-time ((arg0 int)) (cond - ((= arg0 5) - (set-vector! - *sp-frame-time* - 0.00000000000000000000000000000000000001175495 - 5.0 - 1.0 - 1.0 + ((= arg0 5) + (set-vector! *sp-frame-time* 0.00000000000000000000000000000000000001175495 5.0 1.0 1.0) + ) + ((= arg0 6) + (set-vector! *sp-frame-time* 0.000000000000000000000000000000000000011754952 6.0 1.2 1.2) + ) + ((= arg0 10) + (set-vector! *sp-frame-time* 0.000000000000000000000000000000000000011754958 10.0 2.0 2.0) + ) + ((= arg0 12) + (set-vector! *sp-frame-time* 0.00000000000000000000000000000000000001175496 12.0 2.4 2.4) ) ) - ((= arg0 6) - (set-vector! - *sp-frame-time* - 0.000000000000000000000000000000000000011754952 - 6.0 - 1.2 - 1.2 - ) - ) - ((= arg0 10) - (set-vector! - *sp-frame-time* - 0.000000000000000000000000000000000000011754958 - 10.0 - 2.0 - 2.0 - ) - ) - ((= arg0 12) - (set-vector! - *sp-frame-time* - 0.00000000000000000000000000000000000001175496 - 12.0 - 2.4 - 2.4 - ) - ) - ) 0 (none) ) @@ -800,70 +676,62 @@ (defun process-particles () (local-vars (v1-29 int) (gp-0 int)) (when *particles-flag* - 0 - 0 - (.mfc0 gp-0 Count) - (set! *sp-launcher-lock* #t) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (let ((v1-14 (logand (the-as int (-> *sp-frame-time* x)) 255))) - (set! *particle-300hz-timer* (+ *particle-300hz-timer* v1-14)) - (cond - (*sp-60-hz* - (when (or (= v1-14 6) (= v1-14 12)) - (set! *sp-60-hz* #f) - (all-particles-60-to-50) - ) - ) - (else - (when (or (= v1-14 5) (= v1-14 10)) - (set! *sp-60-hz* #t) - (all-particles-50-to-60) - ) - ) - ) - ) - (clear-sprite-aux-list) - (sp-process-particle-system *sp-particle-system-2d* 0 *sprite-array-2d*) - (sp-process-particle-system *sp-particle-system-2d* 1 *sprite-array-2d*) - (sp-process-particle-system - *sp-particle-system-3d* 0 - (the-as sprite-array-2d *sprite-array-3d*) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :g #x80 :b #xff :a #x80) - ) - ) - (set! *sp-launcher-lock* #f) - (sp-clear-queue) - (.mfc0 v1-29 Count) - (let ((a2-5 (- v1-29 gp-0))) - (if *display-sprite-info* - (format - *stdcon* - "Particle time = ~D cycles for ~D 2D [~D warp] and ~D HUD and ~D 3D~%" - a2-5 - (-> *sp-particle-system-2d* num-alloc 0) - (-> *sprite-aux-list* entry) - (-> *sp-particle-system-2d* num-alloc 1) - (-> *sp-particle-system-3d* num-alloc 0) + 0 + (.mfc0 gp-0 Count) + (set! *sp-launcher-lock* #t) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (let ((v1-14 (logand (the-as int (-> *sp-frame-time* x)) 255))) + (set! *particle-300hz-timer* (+ *particle-300hz-timer* v1-14)) + (cond + (*sp-60-hz* + (when (or (= v1-14 6) (= v1-14 12)) + (set! *sp-60-hz* #f) + (all-particles-60-to-50) + ) + ) + (else + (when (or (= v1-14 5) (= v1-14 10)) + (set! *sp-60-hz* #t) + (all-particles-50-to-60) + ) + ) + ) + ) + (clear-sprite-aux-list) + (sp-process-particle-system *sp-particle-system-2d* 0 *sprite-array-2d*) + (sp-process-particle-system *sp-particle-system-2d* 1 *sprite-array-2d*) + (sp-process-particle-system *sp-particle-system-3d* 0 (the-as sprite-array-2d *sprite-array-3d*)) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :g #x80 :b #xff :a #x80) + ) + ) + (set! *sp-launcher-lock* #f) + (sp-clear-queue) + (.mfc0 v1-29 Count) + (let ((a2-5 (- v1-29 gp-0))) + (if *display-sprite-info* + (format + *stdcon* + "Particle time = ~D cycles for ~D 2D [~D warp] and ~D HUD and ~D 3D~%" + a2-5 + (-> *sp-particle-system-2d* num-alloc 0) + (-> *sprite-aux-list* entry) + (-> *sp-particle-system-2d* num-alloc 1) + (-> *sp-particle-system-3d* num-alloc 0) + ) + ) ) - ) ) - ) 0 (none) ) - - - - diff --git a/test/decompiler/reference/engine/gfx/sprite/sprite-distort_REF.gc b/test/decompiler/reference/engine/gfx/sprite/sprite-distort_REF.gc index 9d6c065074..efb0aac273 100644 --- a/test/decompiler/reference/engine/gfx/sprite/sprite-distort_REF.gc +++ b/test/decompiler/reference/engine/gfx/sprite/sprite-distort_REF.gc @@ -16,10 +16,7 @@ ) ;; definition for method 3 of type sprite-distorter-sine-tables -(defmethod - inspect - sprite-distorter-sine-tables - ((obj sprite-distorter-sine-tables)) +(defmethod inspect sprite-distorter-sine-tables ((obj sprite-distorter-sine-tables)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Taspx: ~f~%" (-> obj aspx)) (format #t "~Taspy: ~f~%" (-> obj aspy)) @@ -31,101 +28,79 @@ ) ;; definition for symbol *sprite-distorter-sine-tables*, type sprite-distorter-sine-tables -(define - *sprite-distorter-sine-tables* - (new 'global 'sprite-distorter-sine-tables) - ) +(define *sprite-distorter-sine-tables* (new 'global 'sprite-distorter-sine-tables)) ;; definition for function sprite-distorter-generate-tables ;; INFO: Return type mismatch int vs none. (defun sprite-distorter-generate-tables () (let ((gp-0 *sprite-distorter-sine-tables*)) - (let ((s3-0 0) - (s5-0 0) - (s4-0 3) - (f28-0 (- (-> *math-camera* perspective vector 0 x))) - (f30-0 (- (-> *math-camera* perspective vector 1 y))) - ) - (when (or (!= f28-0 (-> gp-0 aspx)) (!= f30-0 (-> gp-0 aspy))) - (set! (-> gp-0 aspx) f28-0) - (set! (-> gp-0 aspy) f30-0) - (while (< s4-0 12) - (set! (-> gp-0 ientry s5-0 vector4w x) (+ s3-0 352)) - (+! s5-0 1) - (dotimes (s2-0 s4-0) - (let ((f26-0 (* 65536.0 (/ (the float s2-0) (the float s4-0))))) - (set-vector! - (-> gp-0 entry s3-0) - (* (sin f26-0) f28-0) - (* (cos f26-0) f30-0) - 0.0 - 0.0 - ) - (let ((s3-1 (+ s3-0 1))) - (set-vector! - (-> gp-0 entry s3-1) - (* 0.001953125 f28-0 (sin f26-0)) - (* 0.00390625 f30-0 (cos f26-0)) - 0.0 - 0.0 + (let ((s3-0 0) + (s5-0 0) + (s4-0 3) + (f28-0 (- (-> *math-camera* perspective vector 0 x))) + (f30-0 (- (-> *math-camera* perspective vector 1 y))) + ) + (when (or (!= f28-0 (-> gp-0 aspx)) (!= f30-0 (-> gp-0 aspy))) + (set! (-> gp-0 aspx) f28-0) + (set! (-> gp-0 aspy) f30-0) + (while (< s4-0 12) + (set! (-> gp-0 ientry s5-0 vector4w x) (+ s3-0 352)) + (+! s5-0 1) + (dotimes (s2-0 s4-0) + (let ((f26-0 (* 65536.0 (/ (the float s2-0) (the float s4-0))))) + (set-vector! (-> gp-0 entry s3-0) (* (sin f26-0) f28-0) (* (cos f26-0) f30-0) 0.0 0.0) + (let ((s3-1 (+ s3-0 1))) + (set-vector! (-> gp-0 entry s3-1) (* 0.001953125 f28-0 (sin f26-0)) (* 0.00390625 f30-0 (cos f26-0)) 0.0 0.0) + (set! s3-0 (+ s3-1 1)) + ) + ) + ) + (+! s4-0 1) + ) + (set-vector! (-> gp-0 entry s3-0) 0.0 f30-0 0.0 0.0) + (let ((v1-17 (+ s3-0 1))) + (set-vector! (-> gp-0 entry v1-17) 0.0 (* 0.00390625 f30-0) 0.0 0.0) + (+ v1-17 1) ) - (set! s3-0 (+ s3-1 1)) - ) ) - ) - (+! s4-0 1) ) - (set-vector! (-> gp-0 entry s3-0) 0.0 f30-0 0.0 0.0) - (let ((v1-17 (+ s3-0 1))) - (set-vector! (-> gp-0 entry v1-17) 0.0 (* 0.00390625 f30-0) 0.0 0.0) - (+ v1-17 1) - ) - ) + (set! (-> gp-0 giftag tag) (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :tme #x1) + :nreg #xf + ) + ) + (set! (-> gp-0 giftag regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id st) + :regs1 (gif-reg-id rgbaq) + :regs2 (gif-reg-id xyzf2) + :regs3 (gif-reg-id st) + :regs4 (gif-reg-id rgbaq) + :regs5 (gif-reg-id xyzf2) + :regs6 (gif-reg-id st) + :regs7 (gif-reg-id rgbaq) + :regs8 (gif-reg-id xyzf2) + :regs9 (gif-reg-id st) + :regs10 (gif-reg-id rgbaq) + :regs11 (gif-reg-id xyzf2) + :regs12 (gif-reg-id st) + :regs13 (gif-reg-id rgbaq) + :regs14 (gif-reg-id xyzf2) + ) + ) + (set! (-> gp-0 color vector4w x) 128) + (set! (-> gp-0 color vector4w y) 128) + (set! (-> gp-0 color vector4w z) 128) + (set! (-> gp-0 color vector4w w) 128) ) - (set! - (-> gp-0 giftag tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :tme #x1) - :nreg #xf - ) - ) - (set! - (-> gp-0 giftag regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id st) - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - :regs3 (gif-reg-id st) - :regs4 (gif-reg-id rgbaq) - :regs5 (gif-reg-id xyzf2) - :regs6 (gif-reg-id st) - :regs7 (gif-reg-id rgbaq) - :regs8 (gif-reg-id xyzf2) - :regs9 (gif-reg-id st) - :regs10 (gif-reg-id rgbaq) - :regs11 (gif-reg-id xyzf2) - :regs12 (gif-reg-id st) - :regs13 (gif-reg-id rgbaq) - :regs14 (gif-reg-id xyzf2) - ) - ) - (set! (-> gp-0 color vector4w x) 128) - (set! (-> gp-0 color vector4w y) 128) - (set! (-> gp-0 color vector4w z) 128) - (set! (-> gp-0 color vector4w w) 128) - ) 0 (none) ) ;; definition for symbol sprite-distort-vu1-block, type vu-function -(define - sprite-distort-vu1-block - (new 'static 'vu-function :length 63 :qlength 32) - ) +(define sprite-distort-vu1-block (new 'static 'vu-function :length 63 :qlength 32)) ;; definition for function sprite-init-distorter ;; INFO: Return type mismatch int vs none. @@ -133,105 +108,77 @@ (let* ((v1-0 arg0) (a2-0 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as dma-packet a2-0) dma) - (new 'static 'dma-tag :qwc #x7 :id (dma-tag-id cnt)) + (set! (-> (the-as dma-packet a2-0) dma) (new 'static 'dma-tag :qwc #x7 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a2-0) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a2-0) vif1) (new 'static 'vif-tag :imm #x7 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-0 base) (&+ (the-as pointer a2-0) 16)) ) - (set! (-> (the-as dma-packet a2-0) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a2-0) vif1) - (new 'static 'vif-tag :imm #x7 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-0 base) (&+ (the-as pointer a2-0) 16)) - ) (let* ((v1-1 arg0) (a2-2 (the-as object (-> v1-1 base))) ) - (set! - (-> (the-as gs-gif-tag a2-2) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x6) + (set! (-> (the-as gs-gif-tag a2-2) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x6)) + (set! (-> (the-as gs-gif-tag a2-2) regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-1 base) (&+ (the-as pointer a2-2) 16)) ) - (set! - (-> (the-as gs-gif-tag a2-2) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-1 base) (&+ (the-as pointer a2-2) 16)) - ) (let* ((v1-2 arg0) (a2-4 (-> v1-2 base)) ) - (set! - (-> (the-as (pointer gs-zbuf) a2-4) 0) - (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24) :zmsk #x1) + (set! (-> (the-as (pointer gs-zbuf) a2-4) 0) (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24) :zmsk #x1)) + (set! (-> (the-as (pointer gs-reg64) a2-4) 1) (gs-reg64 zbuf-1)) + (set! (-> (the-as (pointer gs-tex0) a2-4) 2) + (new 'static 'gs-tex0 :tbw #x8 :tw #x9 :th #x8 :tbp0 (* arg1 32)) + ) + (set! (-> (the-as (pointer gs-reg64) a2-4) 3) (gs-reg64 tex0-1)) + (set! (-> (the-as (pointer gs-tex1) a2-4) 4) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) + (set! (-> (the-as (pointer gs-reg64) a2-4) 5) (gs-reg64 tex1-1)) + (set! (-> (the-as (pointer gs-miptbp) a2-4) 6) (new 'static 'gs-miptbp)) + (set! (-> (the-as (pointer gs-reg64) a2-4) 7) (gs-reg64 miptbp1-1)) + (set! (-> (the-as (pointer gs-clamp) a2-4) 8) (new 'static 'gs-clamp + :wms (gs-tex-wrap-mode region-clamp) + :wmt (gs-tex-wrap-mode region-clamp) + :maxu #x1ff + :maxv (-> *video-parms* screen-masky) + ) + ) + (set! (-> (the-as (pointer gs-reg64) a2-4) 9) (gs-reg64 clamp-1)) + (set! (-> (the-as (pointer gs-alpha) a2-4) 10) (new 'static 'gs-alpha :b #x1 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) a2-4) 11) (gs-reg64 alpha-1)) + (set! (-> v1-2 base) (&+ a2-4 96)) ) - (set! (-> (the-as (pointer gs-reg64) a2-4) 1) (gs-reg64 zbuf-1)) - (set! - (-> (the-as (pointer gs-tex0) a2-4) 2) - (new 'static 'gs-tex0 :tbw #x8 :tw #x9 :th #x8 :tbp0 (* arg1 32)) - ) - (set! (-> (the-as (pointer gs-reg64) a2-4) 3) (gs-reg64 tex0-1)) - (set! - (-> (the-as (pointer gs-tex1) a2-4) 4) - (new 'static 'gs-tex1 :mmag #x1 :mmin #x1) - ) - (set! (-> (the-as (pointer gs-reg64) a2-4) 5) (gs-reg64 tex1-1)) - (set! (-> (the-as (pointer gs-miptbp) a2-4) 6) (new 'static 'gs-miptbp)) - (set! (-> (the-as (pointer gs-reg64) a2-4) 7) (gs-reg64 miptbp1-1)) - (set! - (-> (the-as (pointer gs-clamp) a2-4) 8) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode region-clamp) - :wmt (gs-tex-wrap-mode region-clamp) - :maxu #x1ff - :maxv (-> *video-parms* screen-masky) - ) - ) - (set! (-> (the-as (pointer gs-reg64) a2-4) 9) (gs-reg64 clamp-1)) - (set! - (-> (the-as (pointer gs-alpha) a2-4) 10) - (new 'static 'gs-alpha :b #x1 :d #x1) - ) - (set! (-> (the-as (pointer gs-reg64) a2-4) 11) (gs-reg64 alpha-1)) - (set! (-> v1-2 base) (&+ a2-4 96)) - ) (let* ((v1-3 arg0) (a1-15 (the-as object (-> v1-3 base))) ) - (set! - (-> (the-as dma-packet a1-15) dma) - (new 'static 'dma-tag - :qwc #x8b - :id (dma-tag-id ref) - :addr (the-as uint (-> *sprite-distorter-sine-tables* entry)) - ) + (set! (-> (the-as dma-packet a1-15) dma) + (new 'static 'dma-tag + :qwc #x8b + :id (dma-tag-id ref) + :addr (the-as uint (-> *sprite-distorter-sine-tables* entry)) + ) + ) + (set! (-> (the-as dma-packet a1-15) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a1-15) vif1) + (new 'static 'vif-tag :imm #x160 :num #x8b :cmd (vif-cmd unpack-v4-32)) + ) + (set! (-> v1-3 base) (&+ (the-as pointer a1-15) 16)) ) - (set! - (-> (the-as dma-packet a1-15) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a1-15) vif1) - (new 'static 'vif-tag :imm #x160 :num #x8b :cmd (vif-cmd unpack-v4-32)) - ) - (set! (-> v1-3 base) (&+ (the-as pointer a1-15) 16)) - ) (dma-buffer-add-vu-function arg0 sprite-distort-vu1-block 1) 0 (none) @@ -244,14 +191,14 @@ ;; Used lq/sq (defun sprite-draw-distorters ((arg0 dma-buffer)) (local-vars - (v1-14 float) - (v1-20 float) - (v1-25 int) - (v1-57 float) - (sv-16 sprite-vec-data-2d) - (sv-32 pointer) - (sv-48 pointer) - ) + (v1-14 float) + (v1-20 float) + (v1-25 int) + (v1-57 float) + (sv-16 sprite-vec-data-2d) + (sv-32 pointer) + (sv-48 pointer) + ) (rlet ((acc :class vf) (Q :class vf) (vf0 :class vf) @@ -265,252 +212,199 @@ (vf8 :class vf) (vf9 :class vf) ) - (init-vf0-vector) - (.lvf vf8 (&-> *math-camera* hmge-scale quad)) - (let ((s0-0 (-> arg0 base)) - (s4-0 0) - (s5-0 0) - ) - (&+! (-> arg0 base) 16) - (let* ((s3-0 *sprite-aux-list*) - (s2-0 (-> s3-0 entry)) - ) - (dotimes (s1-0 s2-0) - (set! sv-16 (-> s3-0 data s1-0)) - (let ((a0-1 (the-as object (-> arg0 base)))) - (set! sv-32 (&+ (the-as pointer a0-1) 16)) - (set! sv-48 (&+ (the-as pointer a0-1) 32)) - (cond - ((= (-> sv-16 matrix) 1) - (.lvf vf3 (&-> *math-camera* sprite-2d vector 0 quad)) - (.lvf vf4 (&-> *math-camera* sprite-2d vector 1 quad)) - (.lvf vf5 (&-> *math-camera* sprite-2d vector 2 quad)) - (.lvf vf6 (&-> *math-camera* sprite-2d vector 3 quad)) - (.lvf vf9 (&-> *math-camera* sprite-2d-hvdf quad)) - (.mov v1-14 vf9) + (init-vf0-vector) + (.lvf vf8 (&-> *math-camera* hmge-scale quad)) + (let ((s0-0 (-> arg0 base)) + (s4-0 0) + (s5-0 0) + ) + (&+! (-> arg0 base) 16) + (let* ((s3-0 *sprite-aux-list*) + (s2-0 (-> s3-0 entry)) + ) + (dotimes (s1-0 s2-0) + (set! sv-16 (-> s3-0 data s1-0)) + (let ((a0-1 (the-as object (-> arg0 base)))) + (set! sv-32 (&+ (the-as pointer a0-1) 16)) + (set! sv-48 (&+ (the-as pointer a0-1) 32)) + (cond + ((= (-> sv-16 matrix) 1) + (.lvf vf3 (&-> *math-camera* sprite-2d vector 0 quad)) + (.lvf vf4 (&-> *math-camera* sprite-2d vector 1 quad)) + (.lvf vf5 (&-> *math-camera* sprite-2d vector 2 quad)) + (.lvf vf6 (&-> *math-camera* sprite-2d vector 3 quad)) + (.lvf vf9 (&-> *math-camera* sprite-2d-hvdf quad)) + (.mov v1-14 vf9) + ) + (else + (.lvf vf3 (&-> *math-camera* camera-temp vector 0 quad)) + (.lvf vf4 (&-> *math-camera* camera-temp vector 1 quad)) + (.lvf vf5 (&-> *math-camera* camera-temp vector 2 quad)) + (.lvf vf6 (&-> *math-camera* camera-temp vector 3 quad)) + (.lvf vf9 (&-> *math-camera* hvdf-off quad)) + (.mov v1-20 vf9) + ) + ) + (.lvf vf1 (&-> sv-16 x-y-z-sx quad)) + (.lvf vf2 (&-> sv-16 color quad)) + (.mul.w.vf acc vf6 vf0) + (.add.mul.x.vf acc vf3 vf1 acc) + (.add.mul.y.vf acc vf4 vf1 acc) + (.add.mul.z.vf vf1 vf5 vf1 acc) + (.mul.vf vf10 vf1 vf8) + (.div.vf Q vf0 vf10 :fsf #b11 :ftf #b11) + (TODO.VCLIP vf10 vf10) + (b! (zero? (-> sv-16 flag)) cfg-21 :delay (nop!)) + (.wait.vf) + (.mul.vf vf1 vf1 Q :mask #b111) + (.mul.vf vf2 vf2 Q :mask #b111) + (.cfc2.i v1-25 Clipping) + (b! (logtest? v1-25 63) cfg-21 :delay (.add.vf vf1 vf1 vf9)) + (.max.x.vf vf1 vf1 vf0 :mask #b1000) + (.svf (&-> (the-as vector a0-1) quad) vf1) + (.svf (&-> (the-as vector sv-48) quad) vf2) + (set! (-> (the-as vector a0-1) w) 255.0) + (set! (-> (the-as (pointer float) sv-32)) (* 0.001953125 (+ -1792.0 (-> (the-as vector a0-1) x)))) + (set! (-> (the-as vector sv-32) y) + (* 0.00390625 (+ -2048.0 (the float (-> *video-parms* screen-hy)) (-> (the-as vector a0-1) y))) + ) + ) + (set! (-> (the-as vector sv-32) z) 1.0) + (when (or (< (-> sv-16 flag) 3) (< 11 (-> sv-16 flag))) + (format 0 "Turns = ~D!!!~%" (-> sv-16 flag)) + (set! (-> (the-as (pointer int32) sv-16) 4) 11) + ) + (set! (-> (the-as (pointer int32) sv-32) 3) (-> sv-16 flag)) + (let* ((f0-7 (- (-> *math-camera* perspective vector 1 y))) + (f2-4 (-> (the-as vector sv-32) y)) + (f4-0 (+ f2-4 (* (-> (the-as (pointer float) sv-48)) f0-7))) + (f3-0 256.0) + (f1-7 (-> (the-as (pointer float) sv-48))) + ) + (if (< (the float (-> *video-parms* screen-sy)) f4-0) + (set! f3-0 (/ (- (the float (-> *video-parms* screen-sy)) f2-4) f0-7)) + ) + (if (< 128.0 f3-0) + (set! f3-0 128.0) + ) + (when (< f3-0 f1-7) + (let ((v1-55 (/ f3-0 f1-7))) + (.mov vf1 v1-55) + ) + (.mul.x.vf vf2 vf2 vf1) + (.svf (&-> (the-as vector sv-48) quad) vf2) + (.mov v1-57 vf2) + ) + ) + (&+! (-> arg0 base) 48) + (+! s4-0 1) + (when (= s4-0 85) + (let ((v1-62 (-> arg0 base))) + (set! (-> arg0 base) s0-0) + (let* ((a0-8 arg0) + (a1-3 (the-as object (-> a0-8 base))) + ) + (set! (-> (the-as dma-packet a1-3) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc (* 3 s4-0))) + (set! (-> (the-as dma-packet a1-3) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-3) vif1) + (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32) :imm (shr (shl (+ (* 3 s5-0) 512) 54) 54) :num (* 3 s4-0)) + ) + (set! (-> a0-8 base) (&+ (the-as pointer a1-3) 16)) + ) + (set! (-> arg0 base) v1-62) + ) + (set! s4-0 0) + (+! s5-0 85) + (when (= s5-0 170) + (let* ((v1-65 arg0) + (a0-9 (the-as object (-> v1-65 base))) + ) + (set! (-> (the-as dma-packet a0-9) dma) (new 'static 'dma-tag :qwc #x1 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-9) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-9) vif1) + (new 'static 'vif-tag :imm #x1ff :num #x1 :cmd (vif-cmd unpack-v4-32)) + ) + (set! (-> v1-65 base) (&+ (the-as pointer a0-9) 16)) + ) + (let* ((v1-66 arg0) + (a0-11 (the-as object (-> v1-66 base))) + ) + (set! (-> (the-as vector4w a0-11) x) s5-0) + (set! (-> (the-as vector4w a0-11) y) 0) + (set! (-> (the-as vector4w a0-11) z) 0) + (set! (-> (the-as vector4w a0-11) w) 0) + (set! (-> v1-66 base) (&+ (the-as pointer a0-11) 16)) + ) + (let* ((v1-67 arg0) + (a0-13 (the-as object (-> v1-67 base))) + ) + (set! (-> (the-as dma-packet a0-13) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-13) vif0) (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1)) + (set! (-> (the-as dma-packet a0-13) vif1) (new 'static 'vif-tag :cmd (vif-cmd flush) :msk #x1)) + (set! (-> v1-67 base) (&+ (the-as pointer a0-13) 16)) + ) + (set! s5-0 0) + ) + (set! s0-0 (-> arg0 base)) + (&+! (-> arg0 base) 16) + ) + (label cfg-21) + ) + ) + (cond + ((zero? s4-0) + (set! (-> arg0 base) s0-0) + (nop!) + 0 ) (else - (.lvf vf3 (&-> *math-camera* camera-temp vector 0 quad)) - (.lvf vf4 (&-> *math-camera* camera-temp vector 1 quad)) - (.lvf vf5 (&-> *math-camera* camera-temp vector 2 quad)) - (.lvf vf6 (&-> *math-camera* camera-temp vector 3 quad)) - (.lvf vf9 (&-> *math-camera* hvdf-off quad)) - (.mov v1-20 vf9) - ) - ) - (.lvf vf1 (&-> sv-16 x-y-z-sx quad)) - (.lvf vf2 (&-> sv-16 color quad)) - (.mul.w.vf acc vf6 vf0) - (.add.mul.x.vf acc vf3 vf1 acc) - (.add.mul.y.vf acc vf4 vf1 acc) - (.add.mul.z.vf vf1 vf5 vf1 acc) - (.mul.vf vf10 vf1 vf8) - (.div.vf Q vf0 vf10 :fsf #b11 :ftf #b11) - (TODO.VCLIP vf10 vf10) - (b! (zero? (-> sv-16 flag)) cfg-21 :delay (nop!)) - (.wait.vf) - (.mul.vf vf1 vf1 Q :mask #b111) - (.mul.vf vf2 vf2 Q :mask #b111) - (.cfc2.i v1-25 Clipping) - (b! (logtest? v1-25 63) cfg-21 :delay (.add.vf vf1 vf1 vf9)) - (.max.x.vf vf1 vf1 vf0 :mask #b1000) - (.svf (&-> (the-as vector a0-1) quad) vf1) - (.svf (&-> (the-as vector sv-48) quad) vf2) - (set! (-> (the-as vector a0-1) w) 255.0) - (set! - (-> (the-as (pointer float) sv-32)) - (* 0.001953125 (+ -1792.0 (-> (the-as vector a0-1) x))) - ) - (set! - (-> (the-as vector sv-32) y) - (* - 0.00390625 - (+ - -2048.0 - (the float (-> *video-parms* screen-hy)) - (-> (the-as vector a0-1) y) - ) - ) - ) - ) - (set! (-> (the-as vector sv-32) z) 1.0) - (when (or (< (-> sv-16 flag) 3) (< 11 (-> sv-16 flag))) - (format 0 "Turns = ~D!!!~%" (-> sv-16 flag)) - (set! (-> (the-as (pointer int32) sv-16) 4) 11) - ) - (set! (-> (the-as (pointer int32) sv-32) 3) (-> sv-16 flag)) - (let* ((f0-7 (- (-> *math-camera* perspective vector 1 y))) - (f2-4 (-> (the-as vector sv-32) y)) - (f4-0 (+ f2-4 (* (-> (the-as (pointer float) sv-48)) f0-7))) - (f3-0 256.0) - (f1-7 (-> (the-as (pointer float) sv-48))) - ) - (if (< (the float (-> *video-parms* screen-sy)) f4-0) - (set! f3-0 (/ (- (the float (-> *video-parms* screen-sy)) f2-4) f0-7)) - ) - (if (< 128.0 f3-0) - (set! f3-0 128.0) - ) - (when (< f3-0 f1-7) - (let ((v1-55 (/ f3-0 f1-7))) - (.mov vf1 v1-55) - ) - (.mul.x.vf vf2 vf2 vf1) - (.svf (&-> (the-as vector sv-48) quad) vf2) - (.mov v1-57 vf2) - ) - ) - (&+! (-> arg0 base) 48) - (+! s4-0 1) - (when (= s4-0 85) - (let ((v1-62 (-> arg0 base))) - (set! (-> arg0 base) s0-0) - (let* ((a0-8 arg0) - (a1-3 (the-as object (-> a0-8 base))) - ) - (set! - (-> (the-as dma-packet a1-3) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc (* 3 s4-0)) - ) - (set! (-> (the-as dma-packet a1-3) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a1-3) vif1) - (new 'static 'vif-tag - :cmd (vif-cmd unpack-v4-32) - :imm (shr (shl (+ (* 3 s5-0) 512) 54) 54) - :num (* 3 s4-0) - ) - ) - (set! (-> a0-8 base) (&+ (the-as pointer a1-3) 16)) - ) - (set! (-> arg0 base) v1-62) - ) - (set! s4-0 0) - (+! s5-0 85) - (when (= s5-0 170) - (let* ((v1-65 arg0) - (a0-9 (the-as object (-> v1-65 base))) - ) - (set! - (-> (the-as dma-packet a0-9) dma) - (new 'static 'dma-tag :qwc #x1 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a0-9) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-9) vif1) - (new 'static 'vif-tag :imm #x1ff :num #x1 :cmd (vif-cmd unpack-v4-32)) - ) - (set! (-> v1-65 base) (&+ (the-as pointer a0-9) 16)) - ) - (let* ((v1-66 arg0) - (a0-11 (the-as object (-> v1-66 base))) - ) - (set! (-> (the-as vector4w a0-11) x) s5-0) - (set! (-> (the-as vector4w a0-11) y) 0) - (set! (-> (the-as vector4w a0-11) z) 0) - (set! (-> (the-as vector4w a0-11) w) 0) - (set! (-> v1-66 base) (&+ (the-as pointer a0-11) 16)) - ) - (let* ((v1-67 arg0) - (a0-13 (the-as object (-> v1-67 base))) - ) - (set! - (-> (the-as dma-packet a0-13) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) - ) - (set! - (-> (the-as dma-packet a0-13) vif0) - (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) - ) - (set! - (-> (the-as dma-packet a0-13) vif1) - (new 'static 'vif-tag :cmd (vif-cmd flush) :msk #x1) - ) - (set! (-> v1-67 base) (&+ (the-as pointer a0-13) 16)) - ) - (set! s5-0 0) - ) - (set! s0-0 (-> arg0 base)) - (&+! (-> arg0 base) 16) - ) - (label cfg-21) - ) - ) - (cond - ((zero? s4-0) - (set! (-> arg0 base) s0-0) - (nop!) - 0 - ) - (else - (let ((v1-74 (-> arg0 base))) - (set! (-> arg0 base) s0-0) - (let* ((a0-15 arg0) - (a1-10 (the-as object (-> a0-15 base))) + (let ((v1-74 (-> arg0 base))) + (set! (-> arg0 base) s0-0) + (let* ((a0-15 arg0) + (a1-10 (the-as object (-> a0-15 base))) + ) + (set! (-> (the-as dma-packet a1-10) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc (* 3 s4-0))) + (set! (-> (the-as dma-packet a1-10) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-10) vif1) + (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32) :imm (shr (shl (+ (* 3 s5-0) 512) 54) 54) :num (* 3 s4-0)) + ) + (set! (-> a0-15 base) (&+ (the-as pointer a1-10) 16)) ) - (set! - (-> (the-as dma-packet a1-10) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc (* 3 s4-0)) - ) - (set! (-> (the-as dma-packet a1-10) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a1-10) vif1) - (new 'static 'vif-tag - :cmd (vif-cmd unpack-v4-32) - :imm (shr (shl (+ (* 3 s5-0) 512) 54) 54) - :num (* 3 s4-0) + (set! (-> arg0 base) v1-74) + ) + ) + ) + (let ((v1-75 (+ s4-0 s5-0))) + (when (nonzero? v1-75) + (let* ((a0-17 arg0) + (a1-12 (the-as object (-> a0-17 base))) + ) + (set! (-> (the-as dma-packet a1-12) dma) (new 'static 'dma-tag :qwc #x1 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-12) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-12) vif1) + (new 'static 'vif-tag :imm #x1ff :num #x1 :cmd (vif-cmd unpack-v4-32)) + ) + (set! (-> a0-17 base) (&+ (the-as pointer a1-12) 16)) + ) + (let* ((a0-18 arg0) + (a1-14 (the-as object (-> a0-18 base))) + ) + (set! (-> (the-as vector4w a1-14) x) v1-75) + (set! (-> (the-as vector4w a1-14) y) 0) + (set! (-> (the-as vector4w a1-14) z) 0) + (set! (-> (the-as vector4w a1-14) w) 0) + (set! (-> a0-18 base) (&+ (the-as pointer a1-14) 16)) + ) + (let ((v1-77 (the-as object (-> arg0 base)))) + (set! (-> (the-as dma-packet v1-77) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet v1-77) vif0) (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1)) + (set! (-> (the-as dma-packet v1-77) vif1) (new 'static 'vif-tag :cmd (vif-cmd flush) :msk #x1)) + (set! (-> arg0 base) (&+ (the-as pointer v1-77) 16)) + ) ) - ) - (set! (-> a0-15 base) (&+ (the-as pointer a1-10) 16)) ) - (set! (-> arg0 base) v1-74) - ) ) - ) - (let ((v1-75 (+ s4-0 s5-0))) - (when (nonzero? v1-75) - (let* ((a0-17 arg0) - (a1-12 (the-as object (-> a0-17 base))) - ) - (set! - (-> (the-as dma-packet a1-12) dma) - (new 'static 'dma-tag :qwc #x1 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a1-12) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a1-12) vif1) - (new 'static 'vif-tag :imm #x1ff :num #x1 :cmd (vif-cmd unpack-v4-32)) - ) - (set! (-> a0-17 base) (&+ (the-as pointer a1-12) 16)) - ) - (let* ((a0-18 arg0) - (a1-14 (the-as object (-> a0-18 base))) - ) - (set! (-> (the-as vector4w a1-14) x) v1-75) - (set! (-> (the-as vector4w a1-14) y) 0) - (set! (-> (the-as vector4w a1-14) z) 0) - (set! (-> (the-as vector4w a1-14) w) 0) - (set! (-> a0-18 base) (&+ (the-as pointer a1-14) 16)) - ) - (let ((v1-77 (the-as object (-> arg0 base)))) - (set! - (-> (the-as dma-packet v1-77) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) - ) - (set! - (-> (the-as dma-packet v1-77) vif0) - (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1) - ) - (set! - (-> (the-as dma-packet v1-77) vif1) - (new 'static 'vif-tag :cmd (vif-cmd flush) :msk #x1) - ) - (set! (-> arg0 base) (&+ (the-as pointer v1-77) 16)) - ) - ) - ) + 0 + (none) ) - 0 - (none) - ) ) diff --git a/test/decompiler/reference/engine/gfx/sprite/sprite_REF.gc b/test/decompiler/reference/engine/gfx/sprite/sprite_REF.gc index 6ef93a6bd3..9cdace169e 100644 --- a/test/decompiler/reference/engine/gfx/sprite/sprite_REF.gc +++ b/test/decompiler/reference/engine/gfx/sprite/sprite_REF.gc @@ -97,23 +97,12 @@ ) ;; definition for method 0 of type sprite-aux-list -(defmethod - new - sprite-aux-list - ((allocation symbol) (type-to-make type) (size int)) - (let - ((v0-0 - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* (+ size -1) 4))) - ) - ) +(defmethod new sprite-aux-list ((allocation symbol) (type-to-make type) (size int)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) (* (+ size -1) 4)))))) + (set! (-> v0-0 num-entries) size) + (set! (-> v0-0 entry) 0) + v0-0 ) - (set! (-> v0-0 num-entries) size) - (set! (-> v0-0 entry) 0) - v0-0 - ) ) ;; definition for method 3 of type sprite-aux-list @@ -124,8 +113,8 @@ (format #t "~Tnum-entries: ~D~%" (-> obj num-entries)) (format #t "~Tentry: ~D~%" (-> obj entry)) (dotimes (s5-0 (-> obj entry)) - (format #t "~T~D : ~X~%" s5-0 (-> obj data s5-0)) - ) + (format #t "~T~D : ~X~%" s5-0 (-> obj data s5-0)) + ) (the-as sprite-aux-list #f) ) @@ -142,15 +131,13 @@ ;; definition for function add-to-sprite-aux-list ;; INFO: Return type mismatch int vs none. -(defun - add-to-sprite-aux-list - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sprite-vec-data-3d)) +(defun add-to-sprite-aux-list ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sprite-vec-data-3d)) (let ((v1-0 *sprite-aux-list*)) - (when (< (-> v1-0 entry) (-> v1-0 num-entries)) - (set! (-> v1-0 data (-> v1-0 entry)) (-> arg1 sprite)) - (+! (-> v1-0 entry) 1) + (when (< (-> v1-0 entry) (-> v1-0 num-entries)) + (set! (-> v1-0 data (-> v1-0 entry)) (-> arg1 sprite)) + (+! (-> v1-0 entry) 1) + ) ) - ) (set! (-> arg2 r-g-b-a w) 0.0) 0 (none) @@ -210,11 +197,7 @@ (format #t "~Tinv-area: ~f~%" (-> obj inv-area)) (format #t "~Tadgif-giftag: #~%" (-> obj adgif-giftag)) (format #t "~Tsprite-2d-giftag: #~%" (-> obj sprite-2d-giftag)) - (format - #t - "~Tsprite-2d-giftag-2: #~%" - (-> obj sprite-2d-giftag-2) - ) + (format #t "~Tsprite-2d-giftag-2: #~%" (-> obj sprite-2d-giftag-2)) (format #t "~Tsincos-01: #~%" (-> obj sincos-01)) (format #t "~Tsincos-23: #~%" (-> obj sincos-23)) (format #t "~Tsincos-45: #~%" (-> obj sincos-45)) @@ -245,156 +228,131 @@ (set! (-> data inv-hmge-scale quad) (-> *math-camera* inv-hmge-scale quad)) (set! (-> data pfog0) (-> *math-camera* pfog0)) (set! (-> data deg-to-rad) 0.000095873795) - (set! - (-> data adgif-giftag tag) - (new 'static 'gif-tag64 :nloop #x1 :nreg #x5) - ) - (set! - (-> data adgif-giftag regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - ) - ) - (set! - (-> data sprite-2d-giftag tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :tme #x1 :fge #x1 :abe #x1) - :nreg #x9 - ) - ) - (set! - (-> data sprite-2d-giftag regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id rgbaq) - :regs1 (gif-reg-id st) - :regs2 (gif-reg-id xyzf2) - :regs3 (gif-reg-id st) - :regs4 (gif-reg-id xyzf2) - :regs5 (gif-reg-id st) - :regs6 (gif-reg-id xyzf2) - :regs7 (gif-reg-id st) - :regs8 (gif-reg-id xyzf2) - ) - ) - (set! - (-> data sprite-2d-giftag-2 tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :tme #x1 :abe #x1) - :nreg #x9 - ) - ) - (set! - (-> data sprite-2d-giftag-2 regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id rgbaq) - :regs1 (gif-reg-id st) - :regs2 (gif-reg-id xyzf2) - :regs3 (gif-reg-id st) - :regs4 (gif-reg-id xyzf2) - :regs5 (gif-reg-id st) - :regs6 (gif-reg-id xyzf2) - :regs7 (gif-reg-id st) - :regs8 (gif-reg-id xyzf2) - ) - ) - (set! - (-> data sprite-3d-giftag tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :tme #x1 :fge #x1 :abe #x1) - :nreg #xc - ) - ) - (set! - (-> data sprite-3d-giftag regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id st) - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - :regs3 (gif-reg-id st) - :regs4 (gif-reg-id rgbaq) - :regs5 (gif-reg-id xyzf2) - :regs6 (gif-reg-id st) - :regs7 (gif-reg-id rgbaq) - :regs8 (gif-reg-id xyzf2) - :regs9 (gif-reg-id st) - :regs10 (gif-reg-id rgbaq) - :regs11 (gif-reg-id xyzf2) - ) - ) - (set! - (-> data clipped-giftag tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :tme #x1 :fge #x1 :abe #x1) - :nreg #x3 - ) - ) - (set! - (-> data clipped-giftag regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id st) - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - ) - ) - (set! - (-> data warp-giftag tag) - (new 'static 'gif-tag64 - :nloop #x1 - :eop #x1 - :pre #x1 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri) :tme #x1 :abe #x1) - :nreg #xc - ) - ) - (set! - (-> data warp-giftag regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id st) - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - :regs3 (gif-reg-id st) - :regs4 (gif-reg-id rgbaq) - :regs5 (gif-reg-id xyzf2) - :regs6 (gif-reg-id st) - :regs7 (gif-reg-id rgbaq) - :regs8 (gif-reg-id xyzf2) - ) - ) + (set! (-> data adgif-giftag tag) (new 'static 'gif-tag64 :nloop #x1 :nreg #x5)) + (set! (-> data adgif-giftag regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + ) + ) + (set! (-> data sprite-2d-giftag tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :tme #x1 :fge #x1 :abe #x1) + :nreg #x9 + ) + ) + (set! (-> data sprite-2d-giftag regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id rgbaq) + :regs1 (gif-reg-id st) + :regs2 (gif-reg-id xyzf2) + :regs3 (gif-reg-id st) + :regs4 (gif-reg-id xyzf2) + :regs5 (gif-reg-id st) + :regs6 (gif-reg-id xyzf2) + :regs7 (gif-reg-id st) + :regs8 (gif-reg-id xyzf2) + ) + ) + (set! (-> data sprite-2d-giftag-2 tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :tme #x1 :abe #x1) + :nreg #x9 + ) + ) + (set! (-> data sprite-2d-giftag-2 regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id rgbaq) + :regs1 (gif-reg-id st) + :regs2 (gif-reg-id xyzf2) + :regs3 (gif-reg-id st) + :regs4 (gif-reg-id xyzf2) + :regs5 (gif-reg-id st) + :regs6 (gif-reg-id xyzf2) + :regs7 (gif-reg-id st) + :regs8 (gif-reg-id xyzf2) + ) + ) + (set! (-> data sprite-3d-giftag tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :tme #x1 :fge #x1 :abe #x1) + :nreg #xc + ) + ) + (set! (-> data sprite-3d-giftag regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id st) + :regs1 (gif-reg-id rgbaq) + :regs2 (gif-reg-id xyzf2) + :regs3 (gif-reg-id st) + :regs4 (gif-reg-id rgbaq) + :regs5 (gif-reg-id xyzf2) + :regs6 (gif-reg-id st) + :regs7 (gif-reg-id rgbaq) + :regs8 (gif-reg-id xyzf2) + :regs9 (gif-reg-id st) + :regs10 (gif-reg-id rgbaq) + :regs11 (gif-reg-id xyzf2) + ) + ) + (set! (-> data clipped-giftag tag) + (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :tme #x1 :fge #x1 :abe #x1) + :nreg #x3 + ) + ) + (set! (-> data clipped-giftag regs) + (new 'static 'gif-tag-regs :regs0 (gif-reg-id st) :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2)) + ) + (set! (-> data warp-giftag tag) (new 'static 'gif-tag64 + :nloop #x1 + :eop #x1 + :pre #x1 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri) :tme #x1 :abe #x1) + :nreg #xc + ) + ) + (set! (-> data warp-giftag regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id st) + :regs1 (gif-reg-id rgbaq) + :regs2 (gif-reg-id xyzf2) + :regs3 (gif-reg-id st) + :regs4 (gif-reg-id rgbaq) + :regs5 (gif-reg-id xyzf2) + :regs6 (gif-reg-id st) + :regs7 (gif-reg-id rgbaq) + :regs8 (gif-reg-id xyzf2) + ) + ) (set! (-> data screen-shader prims 1) (gs-reg64 tex0-1)) - (set! - (-> data screen-shader tex0) - (new 'static 'gs-tex0 :tbw #x8 :tw #xa :th #x8 :tbp0 (* tbp-offset 32)) - ) + (set! (-> data screen-shader tex0) (new 'static 'gs-tex0 :tbw #x8 :tw #xa :th #x8 :tbp0 (* tbp-offset 32))) (set! (-> data screen-shader prims 3) (gs-reg64 tex1-1)) (set! (-> data screen-shader tex1) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) (set! (-> data screen-shader prims 5) (gs-reg64 miptbp1-1)) (set! (-> data screen-shader miptbp1) (new 'static 'gs-miptbp)) (set! (-> data screen-shader clamp-reg) (gs-reg64 clamp-1)) - (set! - (-> data screen-shader clamp) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode region-clamp) - :wmt (gs-tex-wrap-mode region-clamp) - :maxu #x27f - :maxv #xef - ) - ) + (set! (-> data screen-shader clamp) (new 'static 'gs-clamp + :wms (gs-tex-wrap-mode region-clamp) + :wmt (gs-tex-wrap-mode region-clamp) + :maxu #x27f + :maxv #xef + ) + ) (set! (-> data screen-shader prims 9) (gs-reg64 alpha-1)) (set! (-> data screen-shader alpha) (new 'static 'gs-miptbp :tbp1 #x44)) (set! (-> data sincos-01 z) 0.999998) @@ -411,10 +369,7 @@ (set! (-> data basis-x x) (- (-> *math-camera* perspective vector 0 x))) (set! (-> data basis-y quad) (the-as uint128 0)) (set! (-> data basis-y y) (- (-> *math-camera* perspective vector 1 y))) - (set! - (-> data min-scale) - (sqrtf (* (/ 1.0 (-> data basis-x x)) (/ 1.0 (-> data basis-y y)))) - ) + (set! (-> data min-scale) (sqrtf (* (/ 1.0 (-> data basis-x x)) (/ 1.0 (-> data basis-y y))))) (set! (-> data inv-area) (/ 1.0 (* (-> data min-scale) (-> data min-scale)))) (set-vector! (-> data cdata 0) -0.5 -0.5 0.0 0.0) (set-vector! (-> data cdata 1) 0.5 -0.5 0.0 0.0) @@ -432,13 +387,7 @@ (set-vector! (-> data cdata 13) 0.5 0.0 -0.5 0.0) (set-vector! (-> data cdata 14) 0.5 0.0 0.5 0.0) (set-vector! (-> data cdata 15) -0.5 0.0 0.5 0.0) - (set-vector! - (-> data stq-offset) - -1792.0 - (+ -2048.0 (the float (-> *video-parms* screen-hy))) - 0.0 - 0.0 - ) + (set-vector! (-> data stq-offset) -1792.0 (+ -2048.0 (the float (-> *video-parms* screen-hy))) 0.0 0.0) (set-vector! (-> data stq-scale) 0.0009765625 0.00390625 1.0 1.0) (set! (-> data rgba-plain vector4w x) 128) (set! (-> data rgba-plain vector4w y) 128) @@ -454,81 +403,47 @@ (define sprite-vu1-block (new 'static 'vu-function :length #x356 :qlength #x1ab)) ;; definition for method 0 of type sprite-array-2d -(defmethod - new - sprite-array-2d - ((allocation symbol) - (type-to-make type) - (group-0-size int) - (group-1-size int) - ) +(defmethod new sprite-array-2d ((allocation symbol) (type-to-make type) (group-0-size int) (group-1-size int)) (let* ((sprite-count (+ group-0-size group-1-size)) (vec-data-size (* 3 sprite-count)) (adgif-data-size (* 5 sprite-count)) - (v0-0 - (object-new - allocation - type-to-make - (the-as - int - (+ - (-> type-to-make size) - (* (+ adgif-data-size -1 vec-data-size) 16) - ) - ) - ) - ) + (v0-0 (object-new + allocation + type-to-make + (the-as int (+ (-> type-to-make size) (* (+ adgif-data-size -1 vec-data-size) 16))) + ) + ) ) - (set! (-> v0-0 num-sprites 0) group-0-size) - (set! (-> v0-0 num-sprites 1) group-1-size) - (set! (-> v0-0 num-valid 0) 0) - (set! (-> v0-0 num-valid 1) 0) - (set! (-> v0-0 vec-data) (-> v0-0 data)) - (set! - (-> v0-0 adgif-data) - (the-as (inline-array adgif-shader) (&-> v0-0 data vec-data-size)) + (set! (-> v0-0 num-sprites 0) group-0-size) + (set! (-> v0-0 num-sprites 1) group-1-size) + (set! (-> v0-0 num-valid 0) 0) + (set! (-> v0-0 num-valid 1) 0) + (set! (-> v0-0 vec-data) (-> v0-0 data)) + (set! (-> v0-0 adgif-data) (the-as (inline-array adgif-shader) (&-> v0-0 data vec-data-size))) + v0-0 ) - v0-0 - ) ) ;; definition for method 0 of type sprite-array-3d -(defmethod - new - sprite-array-3d - ((allocation symbol) - (type-to-make type) - (group-0-size int) - (group-1-size int) - ) +(defmethod new sprite-array-3d ((allocation symbol) (type-to-make type) (group-0-size int) (group-1-size int)) (let* ((sprite-count (+ group-0-size group-1-size)) (vec-data-size (* 3 sprite-count)) (adgif-data-size (* 5 sprite-count)) - (v0-0 - (object-new - allocation - type-to-make - (the-as - int - (+ - (-> type-to-make size) - (* (+ adgif-data-size -1 vec-data-size) 16) - ) - ) - ) - ) + (v0-0 (object-new + allocation + type-to-make + (the-as int (+ (-> type-to-make size) (* (+ adgif-data-size -1 vec-data-size) 16))) + ) + ) ) - (set! (-> v0-0 num-sprites 0) group-0-size) - (set! (-> v0-0 num-sprites 1) group-1-size) - (set! (-> v0-0 num-valid 0) 0) - (set! (-> v0-0 num-valid 1) 0) - (set! (-> v0-0 vec-data) (-> v0-0 data)) - (set! - (-> v0-0 adgif-data) - (the-as (inline-array adgif-shader) (&-> v0-0 data vec-data-size)) + (set! (-> v0-0 num-sprites 0) group-0-size) + (set! (-> v0-0 num-sprites 1) group-1-size) + (set! (-> v0-0 num-valid 0) 0) + (set! (-> v0-0 num-valid 1) 0) + (set! (-> v0-0 vec-data) (-> v0-0 data)) + (set! (-> v0-0 adgif-data) (the-as (inline-array adgif-shader) (&-> v0-0 data vec-data-size))) + v0-0 ) - v0-0 - ) ) ;; definition for symbol *sprite-array-2d*, type sprite-array-2d @@ -544,25 +459,25 @@ (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (cond - ((< (-> arg1 w) 0.0) - (.lvf vf1 (&-> arg0 qx-qy-qz-sy quad)) - (.lvf vf2 (&-> arg1 vec quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg0 qx-qy-qz-sy quad) vf1) - (.mov v1-0 vf1) - ) - (else - (.lvf vf1 (&-> arg0 qx-qy-qz-sy quad)) - (.lvf vf2 (&-> arg1 vec quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg0 qx-qy-qz-sy quad) vf1) - (.mov v1-1 vf1) - ) + (init-vf0-vector) + (cond + ((< (-> arg1 w) 0.0) + (.lvf vf1 (&-> arg0 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> arg1 vec quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg0 qx-qy-qz-sy quad) vf1) + (.mov v1-0 vf1) + ) + (else + (.lvf vf1 (&-> arg0 qx-qy-qz-sy quad)) + (.lvf vf2 (&-> arg1 vec quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg0 qx-qy-qz-sy quad) vf1) + (.mov v1-1 vf1) + ) + ) + arg1 ) - arg1 - ) ) ;; definition for function sprite-get-3d-quaternion! @@ -571,14 +486,11 @@ (f1-0 (-> arg1 qx-qy-qz-sy y)) (f3-0 (-> arg1 qx-qy-qz-sy z)) ) - (set! (-> arg0 x) f0-0) - (set! (-> arg0 y) f1-0) - (set! (-> arg0 z) f3-0) - (set! - (-> arg0 w) - (sqrtf (- (- (- 1.0 (* f3-0 f3-0)) (* f1-0 f1-0)) (* f0-0 f0-0))) + (set! (-> arg0 x) f0-0) + (set! (-> arg0 y) f1-0) + (set! (-> arg0 z) f3-0) + (set! (-> arg0 w) (sqrtf (- (- (- 1.0 (* f3-0 f3-0)) (* f1-0 f1-0)) (* f0-0 f0-0)))) ) - ) arg0 ) @@ -587,106 +499,76 @@ ;; Used lq/sq (defun sprite-add-matrix-data ((dma-buff dma-buffer) (matrix-mode uint)) (let ((count 900)) - (cond - ((zero? matrix-mode) - (let* ((a1-1 dma-buff) - (pkt1 (the-as dma-packet (-> a1-1 base))) - ) - (set! (-> pkt1 dma) (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt))) - (set! - (-> pkt1 vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> pkt1 vif1) - (new 'static 'vif-tag - :num #x5 - :cmd (vif-cmd unpack-v4-32) - :imm (shr (shl count 54) 54) - ) - ) - (set! (-> a1-1 base) (&+ (the-as pointer pkt1) 16)) - ) - (let* ((mtx (the-as matrix (-> dma-buff base))) - (t1-0 (-> *math-camera* camera-temp)) - (a2-4 (-> t1-0 vector 0 quad)) - (a3-4 (-> t1-0 vector 1 quad)) - (t0-4 (-> t1-0 vector 2 quad)) - (t1-1 (-> t1-0 vector 3 quad)) - ) - (set! (-> mtx vector 0 quad) a2-4) - (set! (-> mtx vector 1 quad) a3-4) - (set! (-> mtx vector 2 quad) t0-4) - (set! (-> mtx vector 3 quad) t1-1) - ) - (&+! (-> dma-buff base) 64) - (let ((v1-1 (+ count 4))) - (set! - (-> (the-as (pointer uint128) (-> dma-buff base))) - (-> *math-camera* hvdf-off quad) - ) - (&+! (-> dma-buff base) 16) - (+ v1-1 1) - ) - ) - ((= matrix-mode 1) - (let* ((a1-10 dma-buff) - (pkt2 (the-as dma-packet (-> a1-10 base))) - ) - (set! (-> pkt2 dma) (new 'static 'dma-tag :qwc #x50 :id (dma-tag-id cnt))) - (set! - (-> pkt2 vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> pkt2 vif1) - (new 'static 'vif-tag - :num #x50 - :cmd (vif-cmd unpack-v4-32) - :imm (shr (shl count 54) 54) - ) - ) - (set! (-> a1-10 base) (&+ (the-as pointer pkt2) 16)) - ) - (let ((mtx2 (the-as matrix (-> dma-buff base))) - (f1-0 (-> *math-camera* perspective vector 0 x)) - (f2-0 (-> *math-camera* perspective vector 1 y)) - (f0-1 (* -1.9996 (-> *math-camera* perspective vector 0 x))) - ) - (set-vector! (-> mtx2 vector 0) f0-1 0.0 0.0 0.0) - (set-vector! (-> mtx2 vector 1) 0.0 (- (* (/ f2-0 f1-0) f0-1)) 0.0 0.0) - (set-vector! (-> mtx2 vector 2) 0.0 0.0 (- f0-1) 0.0) - (set-vector! - (-> mtx2 vector 3) - 0.0 - 0.0 - (* 500000000.0 f0-1) - (* 60.0 f0-1 (-> *math-camera* pfog0)) - ) - ) - (&+! (-> dma-buff base) 64) - (let ((v1-2 (+ count 4))) - (let ((a1-16 (the-as vector (-> dma-buff base)))) - (set! (-> a1-16 quad) (-> *math-camera* hvdf-off quad)) - (set! (-> a1-16 x) 2048.0) - (set! (-> a1-16 y) 2048.0) - (set! (-> a1-16 z) (-> *math-camera* hvdf-off z)) - ) - (&+! (-> dma-buff base) 16) - (let ((v1-3 (+ v1-2 1))) - (dotimes (hvdf-idx 75) - (set! - (-> (the-as (pointer uint128) (-> dma-buff base))) - (-> *sprite-hvdf-data* data (+ hvdf-idx 1) quad) + (cond + ((zero? matrix-mode) + (let* ((a1-1 dma-buff) + (pkt1 (the-as dma-packet (-> a1-1 base))) + ) + (set! (-> pkt1 dma) (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt))) + (set! (-> pkt1 vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> pkt1 vif1) (new 'static 'vif-tag :num #x5 :cmd (vif-cmd unpack-v4-32) :imm (shr (shl count 54) 54))) + (set! (-> a1-1 base) (&+ (the-as pointer pkt1) 16)) + ) + (let* ((mtx (the-as matrix (-> dma-buff base))) + (t1-0 (-> *math-camera* camera-temp)) + (a2-4 (-> t1-0 vector 0 quad)) + (a3-4 (-> t1-0 vector 1 quad)) + (t0-4 (-> t1-0 vector 2 quad)) + (t1-1 (-> t1-0 vector 3 quad)) + ) + (set! (-> mtx vector 0 quad) a2-4) + (set! (-> mtx vector 1 quad) a3-4) + (set! (-> mtx vector 2 quad) t0-4) + (set! (-> mtx vector 3 quad) t1-1) + ) + (&+! (-> dma-buff base) 64) + (let ((v1-1 (+ count 4))) + (set! (-> (the-as (pointer uint128) (-> dma-buff base))) (-> *math-camera* hvdf-off quad)) + (&+! (-> dma-buff base) 16) + (+ v1-1 1) + ) + ) + ((= matrix-mode 1) + (let* ((a1-10 dma-buff) + (pkt2 (the-as dma-packet (-> a1-10 base))) + ) + (set! (-> pkt2 dma) (new 'static 'dma-tag :qwc #x50 :id (dma-tag-id cnt))) + (set! (-> pkt2 vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> pkt2 vif1) + (new 'static 'vif-tag :num #x50 :cmd (vif-cmd unpack-v4-32) :imm (shr (shl count 54) 54)) + ) + (set! (-> a1-10 base) (&+ (the-as pointer pkt2) 16)) + ) + (let ((mtx2 (the-as matrix (-> dma-buff base))) + (f1-0 (-> *math-camera* perspective vector 0 x)) + (f2-0 (-> *math-camera* perspective vector 1 y)) + (f0-1 (* -1.9996 (-> *math-camera* perspective vector 0 x))) + ) + (set-vector! (-> mtx2 vector 0) f0-1 0.0 0.0 0.0) + (set-vector! (-> mtx2 vector 1) 0.0 (- (* (/ f2-0 f1-0) f0-1)) 0.0 0.0) + (set-vector! (-> mtx2 vector 2) 0.0 0.0 (- f0-1) 0.0) + (set-vector! (-> mtx2 vector 3) 0.0 0.0 (* 500000000.0 f0-1) (* 60.0 f0-1 (-> *math-camera* pfog0))) + ) + (&+! (-> dma-buff base) 64) + (let ((v1-2 (+ count 4))) + (let ((a1-16 (the-as vector (-> dma-buff base)))) + (set! (-> a1-16 quad) (-> *math-camera* hvdf-off quad)) + (set! (-> a1-16 x) 2048.0) + (set! (-> a1-16 y) 2048.0) + (set! (-> a1-16 z) (-> *math-camera* hvdf-off z)) + ) + (&+! (-> dma-buff base) 16) + (let ((v1-3 (+ v1-2 1))) + (dotimes (hvdf-idx 75) + (set! (-> (the-as (pointer uint128) (-> dma-buff base))) (-> *sprite-hvdf-data* data (+ hvdf-idx 1) quad)) + (&+! (-> dma-buff base) 16) + (+! v1-3 1) + ) + ) ) - (&+! (-> dma-buff base) 16) - (+! v1-3 1) - ) ) ) - ) ) - ) 0 (none) ) @@ -695,540 +577,387 @@ ;; INFO: Return type mismatch pointer vs none. (defun sprite-add-frame-data ((dma-buff dma-buffer) (tbp-offset uint)) (let ((s5-0 41)) - (let* ((v1-0 dma-buff) - (pkt (the-as dma-packet (-> v1-0 base))) - ) - (set! (-> pkt dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc s5-0)) - (set! (-> pkt vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) - (set! - (-> pkt vif1) - (new 'static 'vif-tag :imm #x3d4 :cmd (vif-cmd unpack-v4-32) :num s5-0) - ) - (set! (-> v1-0 base) (&+ (the-as pointer pkt) 16)) + (let* ((v1-0 dma-buff) + (pkt (the-as dma-packet (-> v1-0 base))) + ) + (set! (-> pkt dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc s5-0)) + (set! (-> pkt vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> pkt vif1) (new 'static 'vif-tag :imm #x3d4 :cmd (vif-cmd unpack-v4-32) :num s5-0)) + (set! (-> v1-0 base) (&+ (the-as pointer pkt) 16)) + ) + (sprite-setup-frame-data (the-as sprite-frame-data (-> dma-buff base)) (the-as int tbp-offset)) + (&+! (-> dma-buff base) (* s5-0 16)) ) - (sprite-setup-frame-data - (the-as sprite-frame-data (-> dma-buff base)) - (the-as int tbp-offset) - ) - (&+! (-> dma-buff base) (* s5-0 16)) - ) (none) ) ;; definition for function sprite-add-2d-chunk ;; INFO: Return type mismatch pointer vs none. -(defun - sprite-add-2d-chunk - ((sprites sprite-array-2d) - (start-sprite-idx int) - (num-sprites int) - (dma-buff dma-buffer) - (mscal-addr int) - ) +(defun sprite-add-2d-chunk ((sprites sprite-array-2d) (start-sprite-idx int) (num-sprites int) (dma-buff dma-buffer) (mscal-addr int)) (let ((qwc-pkt1 1)) - (let* ((v1-0 dma-buff) - (pkt1 (the-as dma-packet (-> v1-0 base))) - ) - (set! - (-> pkt1 dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc qwc-pkt1) - ) - (set! - (-> pkt1 vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> pkt1 vif1) - (new 'static 'vif-tag - :imm #x8000 - :cmd (vif-cmd unpack-v4-32) - :num qwc-pkt1 + (let* ((v1-0 dma-buff) + (pkt1 (the-as dma-packet (-> v1-0 base))) + ) + (set! (-> pkt1 dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc qwc-pkt1)) + (set! (-> pkt1 vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> pkt1 vif1) (new 'static 'vif-tag :imm #x8000 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt1)) + (set! (-> v1-0 base) (&+ (the-as pointer pkt1) 16)) ) - ) - (set! (-> v1-0 base) (&+ (the-as pointer pkt1) 16)) + (sprite-setup-header (the-as sprite-header (-> dma-buff base)) num-sprites) + (&+! (-> dma-buff base) (* qwc-pkt1 16)) ) - (sprite-setup-header (the-as sprite-header (-> dma-buff base)) num-sprites) - (&+! (-> dma-buff base) (* qwc-pkt1 16)) - ) (let* ((qwc-pkt2 (* 3 num-sprites)) (v1-4 dma-buff) (pkt2 (the-as dma-packet (-> v1-4 base))) ) - (set! - (-> pkt2 dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (the-as int (&+ (-> sprites vec-data) (* 48 start-sprite-idx))) - :qwc qwc-pkt2 - ) + (set! (-> pkt2 dma) (new 'static 'dma-tag + :id (dma-tag-id ref) + :addr (the-as int (&+ (-> sprites vec-data) (* 48 start-sprite-idx))) + :qwc qwc-pkt2 + ) + ) + (set! (-> pkt2 vif0) (new 'static 'vif-tag)) + (set! (-> pkt2 vif1) (new 'static 'vif-tag :imm #x8001 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt2)) + (set! (-> v1-4 base) (&+ (the-as pointer pkt2) 16)) ) - (set! (-> pkt2 vif0) (new 'static 'vif-tag)) - (set! - (-> pkt2 vif1) - (new 'static 'vif-tag :imm #x8001 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt2) - ) - (set! (-> v1-4 base) (&+ (the-as pointer pkt2) 16)) - ) (let* ((qwc-pkt3 (* 5 num-sprites)) (v1-6 dma-buff) (pkt3 (the-as dma-packet (-> v1-6 base))) ) - (set! - (-> pkt3 dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (+ (the-as int (-> sprites adgif-data)) (* 80 start-sprite-idx)) - :qwc qwc-pkt3 - ) + (set! (-> pkt3 dma) (new 'static 'dma-tag + :id (dma-tag-id ref) + :addr (+ (the-as int (-> sprites adgif-data)) (* 80 start-sprite-idx)) + :qwc qwc-pkt3 + ) + ) + (set! (-> pkt3 vif0) (new 'static 'vif-tag)) + (set! (-> pkt3 vif1) (new 'static 'vif-tag :imm #x8091 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt3)) + (set! (-> v1-6 base) (&+ (the-as pointer pkt3) 16)) ) - (set! (-> pkt3 vif0) (new 'static 'vif-tag)) - (set! - (-> pkt3 vif1) - (new 'static 'vif-tag :imm #x8091 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt3) - ) - (set! (-> v1-6 base) (&+ (the-as pointer pkt3) 16)) - ) (let ((pkt4 (the-as dma-packet (-> dma-buff base)))) - (set! (-> pkt4 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> pkt4 vif0) (new 'static 'vif-tag)) - (set! - (-> pkt4 vif1) - (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1 :imm mscal-addr) + (set! (-> pkt4 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> pkt4 vif0) (new 'static 'vif-tag)) + (set! (-> pkt4 vif1) (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1 :imm mscal-addr)) + (set! (-> dma-buff base) (&+ (the-as pointer pkt4) 16)) ) - (set! (-> dma-buff base) (&+ (the-as pointer pkt4) 16)) - ) (none) ) ;; definition for function sprite-add-2d-all -(defun - sprite-add-2d-all - ((sprites sprite-array-2d) (dma-buff dma-buffer) (group-idx int)) +(defun sprite-add-2d-all ((sprites sprite-array-2d) (dma-buff dma-buffer) (group-idx int)) (when (> (-> sprites num-valid group-idx) 0) - (let ((current-sprite-idx 0) - (mscal-addr 3) - ) - (when (= group-idx 1) - (set! current-sprite-idx (-> sprites num-sprites 0)) - (set! mscal-addr 109) - ) - (let ((remaining-sprites (-> sprites num-valid group-idx))) - (while (< 48 remaining-sprites) - (sprite-add-2d-chunk sprites current-sprite-idx 48 dma-buff mscal-addr) - (+! current-sprite-idx 48) - (+! remaining-sprites -48) + (let ((current-sprite-idx 0) + (mscal-addr 3) + ) + (when (= group-idx 1) + (set! current-sprite-idx (-> sprites num-sprites 0)) + (set! mscal-addr 109) + ) + (let ((remaining-sprites (-> sprites num-valid group-idx))) + (while (< 48 remaining-sprites) + (sprite-add-2d-chunk sprites current-sprite-idx 48 dma-buff mscal-addr) + (+! current-sprite-idx 48) + (+! remaining-sprites -48) + ) + (sprite-add-2d-chunk sprites current-sprite-idx remaining-sprites dma-buff mscal-addr) + ) ) - (sprite-add-2d-chunk - sprites - current-sprite-idx - remaining-sprites - dma-buff - mscal-addr - ) - ) ) - ) (none) ) ;; definition for function sprite-add-3d-chunk ;; INFO: Return type mismatch pointer vs none. -(defun - sprite-add-3d-chunk - ((sprites sprite-array-3d) - (start-sprite-idx int) - (num-sprites int) - (dma-buff dma-buffer) - ) +(defun sprite-add-3d-chunk ((sprites sprite-array-3d) (start-sprite-idx int) (num-sprites int) (dma-buff dma-buffer)) (let ((qwc-pkt1 1)) - (let* ((v1-0 dma-buff) - (pkt1 (the-as dma-packet (-> v1-0 base))) - ) - (set! - (-> pkt1 dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc qwc-pkt1) - ) - (set! - (-> pkt1 vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> pkt1 vif1) - (new 'static 'vif-tag - :imm #x8000 - :cmd (vif-cmd unpack-v4-32) - :num qwc-pkt1 + (let* ((v1-0 dma-buff) + (pkt1 (the-as dma-packet (-> v1-0 base))) + ) + (set! (-> pkt1 dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc qwc-pkt1)) + (set! (-> pkt1 vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> pkt1 vif1) (new 'static 'vif-tag :imm #x8000 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt1)) + (set! (-> v1-0 base) (&+ (the-as pointer pkt1) 16)) ) - ) - (set! (-> v1-0 base) (&+ (the-as pointer pkt1) 16)) + (sprite-setup-header (the-as sprite-header (-> dma-buff base)) num-sprites) + (&+! (-> dma-buff base) (* qwc-pkt1 16)) ) - (sprite-setup-header (the-as sprite-header (-> dma-buff base)) num-sprites) - (&+! (-> dma-buff base) (* qwc-pkt1 16)) - ) (let* ((qwc-pkt2 (* 3 num-sprites)) (v1-4 dma-buff) (pkt2 (the-as dma-packet (-> v1-4 base))) ) - (set! - (-> pkt2 dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (the-as int (&+ (-> sprites vec-data) (* 48 start-sprite-idx))) - :qwc qwc-pkt2 - ) + (set! (-> pkt2 dma) (new 'static 'dma-tag + :id (dma-tag-id ref) + :addr (the-as int (&+ (-> sprites vec-data) (* 48 start-sprite-idx))) + :qwc qwc-pkt2 + ) + ) + (set! (-> pkt2 vif0) (new 'static 'vif-tag)) + (set! (-> pkt2 vif1) (new 'static 'vif-tag :imm #x8001 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt2)) + (set! (-> v1-4 base) (&+ (the-as pointer pkt2) 16)) ) - (set! (-> pkt2 vif0) (new 'static 'vif-tag)) - (set! - (-> pkt2 vif1) - (new 'static 'vif-tag :imm #x8001 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt2) - ) - (set! (-> v1-4 base) (&+ (the-as pointer pkt2) 16)) - ) (let* ((qwc-pkt3 (* 5 num-sprites)) (v1-6 dma-buff) (pkt3 (the-as dma-packet (-> v1-6 base))) ) - (set! - (-> pkt3 dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (the-as int (-> sprites adgif-data start-sprite-idx)) - :qwc qwc-pkt3 - ) + (set! (-> pkt3 dma) (new 'static 'dma-tag + :id (dma-tag-id ref) + :addr (the-as int (-> sprites adgif-data start-sprite-idx)) + :qwc qwc-pkt3 + ) + ) + (set! (-> pkt3 vif0) (new 'static 'vif-tag)) + (set! (-> pkt3 vif1) (new 'static 'vif-tag :imm #x8091 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt3)) + (set! (-> v1-6 base) (&+ (the-as pointer pkt3) 16)) ) - (set! (-> pkt3 vif0) (new 'static 'vif-tag)) - (set! - (-> pkt3 vif1) - (new 'static 'vif-tag :imm #x8091 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt3) - ) - (set! (-> v1-6 base) (&+ (the-as pointer pkt3) 16)) - ) (let ((pkt4 (the-as dma-packet (-> dma-buff base)))) - (set! (-> pkt4 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> pkt4 vif0) (new 'static 'vif-tag)) - (set! - (-> pkt4 vif1) - (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1 :imm #xd3) + (set! (-> pkt4 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> pkt4 vif0) (new 'static 'vif-tag)) + (set! (-> pkt4 vif1) (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1 :imm #xd3)) + (set! (-> dma-buff base) (&+ (the-as pointer pkt4) 16)) ) - (set! (-> dma-buff base) (&+ (the-as pointer pkt4) 16)) - ) (none) ) ;; definition for function sprite-add-3d-all -(defun - sprite-add-3d-all - ((sprites sprite-array-3d) (dma-buff dma-buffer) (group-idx int)) +(defun sprite-add-3d-all ((sprites sprite-array-3d) (dma-buff dma-buffer) (group-idx int)) (when (> (-> sprites num-valid group-idx) 0) - (let ((current-sprite-idx (if (zero? group-idx) - 0 - (-> sprites num-sprites 0) + (let ((current-sprite-idx (if (zero? group-idx) + 0 + (-> sprites num-sprites 0) + ) ) + (remaining-sprites (-> sprites num-valid group-idx)) ) - (remaining-sprites (-> sprites num-valid group-idx)) - ) - (while (< 48 remaining-sprites) - (sprite-add-3d-chunk sprites current-sprite-idx 48 dma-buff) - (+! current-sprite-idx 48) - (+! remaining-sprites -48) - ) - (sprite-add-3d-chunk sprites current-sprite-idx remaining-sprites dma-buff) + (while (< 48 remaining-sprites) + (sprite-add-3d-chunk sprites current-sprite-idx 48 dma-buff) + (+! current-sprite-idx 48) + (+! remaining-sprites -48) + ) + (sprite-add-3d-chunk sprites current-sprite-idx remaining-sprites dma-buff) + ) ) - ) (none) ) ;; definition for function sprite-add-shadow-chunk ;; INFO: Return type mismatch pointer vs none. -(defun - sprite-add-shadow-chunk - ((shadow-buff fake-shadow-buffer) - (start-idx int) - (num-sprites int) - (dma-buff dma-buffer) - ) +(defun sprite-add-shadow-chunk ((shadow-buff fake-shadow-buffer) (start-idx int) (num-sprites int) (dma-buff dma-buffer)) (let ((qwc-pkt1 1)) - (let* ((v1-0 dma-buff) - (pkt1 (the-as dma-packet (-> v1-0 base))) - ) - (set! - (-> pkt1 dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc qwc-pkt1) - ) - (set! - (-> pkt1 vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> pkt1 vif1) - (new 'static 'vif-tag - :imm #x8000 - :cmd (vif-cmd unpack-v4-32) - :num qwc-pkt1 + (let* ((v1-0 dma-buff) + (pkt1 (the-as dma-packet (-> v1-0 base))) + ) + (set! (-> pkt1 dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc qwc-pkt1)) + (set! (-> pkt1 vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> pkt1 vif1) (new 'static 'vif-tag :imm #x8000 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt1)) + (set! (-> v1-0 base) (&+ (the-as pointer pkt1) 16)) ) - ) - (set! (-> v1-0 base) (&+ (the-as pointer pkt1) 16)) + (sprite-setup-header (the-as sprite-header (-> dma-buff base)) num-sprites) + (&+! (-> dma-buff base) (* qwc-pkt1 16)) ) - (sprite-setup-header (the-as sprite-header (-> dma-buff base)) num-sprites) - (&+! (-> dma-buff base) (* qwc-pkt1 16)) - ) (let* ((qwc-pkt2 (* 3 num-sprites)) (v1-4 dma-buff) (pkt2 (the-as dma-packet (-> v1-4 base))) ) - (set! - (-> pkt2 dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc qwc-pkt2) + (set! (-> pkt2 dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc qwc-pkt2)) + (set! (-> pkt2 vif0) (new 'static 'vif-tag)) + (set! (-> pkt2 vif1) (new 'static 'vif-tag :imm #x8001 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt2)) + (set! (-> v1-4 base) (&+ (the-as pointer pkt2) 16)) ) - (set! (-> pkt2 vif0) (new 'static 'vif-tag)) - (set! - (-> pkt2 vif1) - (new 'static 'vif-tag :imm #x8001 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt2) - ) - (set! (-> v1-4 base) (&+ (the-as pointer pkt2) 16)) - ) (dotimes (sprite-idx num-sprites) - (let ((dma-vec-data (the-as (inline-array vector) (-> dma-buff base)))) - (let ((in-vec-data (-> shadow-buff data (+ start-idx sprite-idx)))) - (set! (-> dma-vec-data 0 x) (-> in-vec-data px)) - (set! (-> dma-vec-data 0 y) (-> in-vec-data py)) - (set! (-> dma-vec-data 0 z) (-> in-vec-data pz)) - (set! (-> dma-vec-data 0 w) (-> in-vec-data scale)) - (set! (-> dma-vec-data 1 x) (-> in-vec-data qx)) - (set! (-> dma-vec-data 1 y) (-> in-vec-data qy)) - (set! (-> dma-vec-data 1 z) (-> in-vec-data qz)) - (set! (-> dma-vec-data 1 w) (-> in-vec-data scale)) - ) - (set! (-> dma-vec-data 2 x) 128.0) - (set! (-> dma-vec-data 2 y) 128.0) - (set! (-> dma-vec-data 2 z) 128.0) - (set! (-> dma-vec-data 2 w) 40.0) + (let ((dma-vec-data (the-as (inline-array vector) (-> dma-buff base)))) + (let ((in-vec-data (-> shadow-buff data (+ start-idx sprite-idx)))) + (set! (-> dma-vec-data 0 x) (-> in-vec-data px)) + (set! (-> dma-vec-data 0 y) (-> in-vec-data py)) + (set! (-> dma-vec-data 0 z) (-> in-vec-data pz)) + (set! (-> dma-vec-data 0 w) (-> in-vec-data scale)) + (set! (-> dma-vec-data 1 x) (-> in-vec-data qx)) + (set! (-> dma-vec-data 1 y) (-> in-vec-data qy)) + (set! (-> dma-vec-data 1 z) (-> in-vec-data qz)) + (set! (-> dma-vec-data 1 w) (-> in-vec-data scale)) + ) + (set! (-> dma-vec-data 2 x) 128.0) + (set! (-> dma-vec-data 2 y) 128.0) + (set! (-> dma-vec-data 2 z) 128.0) + (set! (-> dma-vec-data 2 w) 40.0) + ) + (&+! (-> dma-buff base) 48) ) - (&+! (-> dma-buff base) 48) - ) (let* ((qwc-pkt3 (* 5 num-sprites)) (v1-9 dma-buff) (pkt3 (the-as dma-packet (-> v1-9 base))) ) - (set! - (-> pkt3 dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc qwc-pkt3) + (set! (-> pkt3 dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc qwc-pkt3)) + (set! (-> pkt3 vif0) (new 'static 'vif-tag)) + (set! (-> pkt3 vif1) (new 'static 'vif-tag :imm #x8091 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt3)) + (set! (-> v1-9 base) (&+ (the-as pointer pkt3) 16)) ) - (set! (-> pkt3 vif0) (new 'static 'vif-tag)) - (set! - (-> pkt3 vif1) - (new 'static 'vif-tag :imm #x8091 :cmd (vif-cmd unpack-v4-32) :num qwc-pkt3) - ) - (set! (-> v1-9 base) (&+ (the-as pointer pkt3) 16)) - ) (dotimes (si num-sprites) - (let ((dma-adgif-data (the-as adgif-shader (-> dma-buff base))) - (in-adgif-data (-> shadow-buff data (+ start-idx si))) - ) - (adgif-shader<-texture-simple! dma-adgif-data *shadow-middot-texture*) - (if (logtest? (-> in-adgif-data flags) 1) - (set! (-> dma-adgif-data alpha) (new 'static 'gs-miptbp :tbp1 #x48)) - (set! (-> dma-adgif-data alpha) (new 'static 'gs-miptbp :tbp1 #x42)) - ) + (let ((dma-adgif-data (the-as adgif-shader (-> dma-buff base))) + (in-adgif-data (-> shadow-buff data (+ start-idx si))) + ) + (adgif-shader<-texture-simple! dma-adgif-data *shadow-middot-texture*) + (if (logtest? (-> in-adgif-data flags) 1) + (set! (-> dma-adgif-data alpha) (new 'static 'gs-miptbp :tbp1 #x48)) + (set! (-> dma-adgif-data alpha) (new 'static 'gs-miptbp :tbp1 #x42)) + ) + ) + (&+! (-> dma-buff base) 80) ) - (&+! (-> dma-buff base) 80) - ) (let ((pkt4 (the-as dma-packet (-> dma-buff base)))) - (set! (-> pkt4 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> pkt4 vif0) (new 'static 'vif-tag)) - (set! - (-> pkt4 vif1) - (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1 :imm #xd3) + (set! (-> pkt4 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> pkt4 vif0) (new 'static 'vif-tag)) + (set! (-> pkt4 vif1) (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1 :imm #xd3)) + (set! (-> dma-buff base) (&+ (the-as pointer pkt4) 16)) ) - (set! (-> dma-buff base) (&+ (the-as pointer pkt4) 16)) - ) (none) ) ;; definition for function sprite-add-shadow-all -(defun - sprite-add-shadow-all - ((shadow-buff fake-shadow-buffer) (dma-buff dma-buffer)) +(defun sprite-add-shadow-all ((shadow-buff fake-shadow-buffer) (dma-buff dma-buffer)) (when (> (-> shadow-buff num-shadows) 0) - (let ((current-shadow 0) - (remaining-shadows (-> shadow-buff num-shadows)) - ) - (while (< 48 remaining-shadows) - (sprite-add-shadow-chunk shadow-buff current-shadow 48 dma-buff) - (+! current-shadow 48) - (+! remaining-shadows -48) - ) - (sprite-add-shadow-chunk - shadow-buff - current-shadow - remaining-shadows - dma-buff - ) + (let ((current-shadow 0) + (remaining-shadows (-> shadow-buff num-shadows)) + ) + (while (< 48 remaining-shadows) + (sprite-add-shadow-chunk shadow-buff current-shadow 48 dma-buff) + (+! current-shadow 48) + (+! remaining-shadows -48) + ) + (sprite-add-shadow-chunk shadow-buff current-shadow remaining-shadows dma-buff) + ) ) - ) (none) ) ;; definition for function sprite-draw ;; INFO: Return type mismatch int vs none. (defun sprite-draw ((disp display)) - (let - ((dma-mem-begin - (-> *display* frames (-> *display* on-screen) frame global-buf base) - ) + (let ((dma-mem-begin (-> *display* frames (-> *display* on-screen) frame global-buf base))) + (let* ((dma-buff (-> *display* frames (-> *display* on-screen) frame global-buf)) + (dma-bucket-begin (-> dma-buff base)) + ) + (sprite-init-distorter dma-buff (-> disp frames (-> disp on-screen) draw frame1 fbp)) + (sprite-draw-distorters dma-buff) + (let* ((v1-13 dma-buff) + (pkt1 (the-as dma-packet (-> v1-13 base))) + ) + (set! (-> pkt1 dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) + (set! (-> pkt1 vif0) (new 'static 'vif-tag)) + (set! (-> pkt1 vif1) (new 'static 'vif-tag :imm #x3 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-13 base) (&+ (the-as pointer pkt1) 16)) + ) + (let* ((v1-14 dma-buff) + (giftag (the-as gs-gif-tag (-> v1-14 base))) + ) + (set! (-> giftag tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x2)) + (set! (-> giftag regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-14 base) (&+ (the-as pointer giftag) 16)) + ) + (let* ((v1-15 dma-buff) + (a0-13 (-> v1-15 base)) + ) + (set! (-> (the-as (pointer gs-test) a0-13) 0) + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x26 + :afail #x1 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + ) + (set! (-> (the-as (pointer gs-reg64) a0-13) 1) (gs-reg64 test-1)) + (set! (-> (the-as (pointer gs-clamp) a0-13) 2) + (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp)) + ) + (set! (-> (the-as (pointer gs-reg64) a0-13) 3) (gs-reg64 clamp-1)) + (set! (-> v1-15 base) (&+ a0-13 32)) + ) + (dma-buffer-add-vu-function dma-buff sprite-vu1-block 1) + (sprite-add-frame-data dma-buff (-> disp frames (-> disp on-screen) draw frame1 fbp)) + (let* ((v1-22 dma-buff) + (pkt2 (the-as dma-packet (-> v1-22 base))) + ) + (set! (-> pkt2 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> pkt2 vif0) (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1 :imm #x0)) + (set! (-> pkt2 vif1) (new 'static 'vif-tag :cmd (vif-cmd flushe) :msk #x1)) + (set! (-> v1-22 base) (&+ (the-as pointer pkt2) 16)) + ) + (let* ((v1-23 dma-buff) + (pkt3 (the-as dma-packet (-> v1-23 base))) + ) + (set! (-> pkt3 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> pkt3 vif0) (new 'static 'vif-tag :cmd (vif-cmd base))) + (set! (-> pkt3 vif1) (new 'static 'vif-tag :imm #x190 :cmd (vif-cmd offset))) + (set! (-> v1-23 base) (&+ (the-as pointer pkt3) 16)) + ) + (sprite-add-matrix-data dma-buff (the-as uint 0)) + (sprite-add-3d-all *sprite-array-3d* dma-buff 0) + (sprite-add-2d-all *sprite-array-2d* dma-buff 0) + (sprite-add-shadow-all + (if (= *fake-shadow-buffer* *fake-shadow-buffer-1*) + *fake-shadow-buffer-2* + *fake-shadow-buffer-1* + ) + dma-buff + ) + (let* ((v1-25 dma-buff) + (pkt4 (the-as dma-packet (-> v1-25 base))) + ) + (set! (-> pkt4 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> pkt4 vif0) (new 'static 'vif-tag)) + (set! (-> pkt4 vif1) (new 'static 'vif-tag :cmd (vif-cmd flushe) :msk #x1)) + (set! (-> v1-25 base) (&+ (the-as pointer pkt4) 16)) + ) + (sprite-add-matrix-data dma-buff (the-as uint 1)) + (sprite-add-2d-all *sprite-array-2d* dma-buff 1) + (let ((a3-0 (-> dma-buff base))) + (let ((pkt5 (the-as dma-packet (-> dma-buff base)))) + (set! (-> pkt5 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> pkt5 vif0) (new 'static 'vif-tag)) + (set! (-> pkt5 vif1) (new 'static 'vif-tag)) + (set! (-> dma-buff base) (&+ (the-as pointer pkt5) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id sprite) + dma-bucket-begin + (the-as (pointer dma-tag) a3-0) + ) + ) + ) + (let ((mem-use *dma-mem-usage*)) + (when (nonzero? mem-use) + (set! (-> mem-use length) (max 83 (-> mem-use length))) + (set! (-> mem-use data 82 name) "sprite") + (+! (-> mem-use data 82 count) 1) + (+! + (-> mem-use data 82 used) + (&- (-> *display* frames (-> *display* on-screen) frame global-buf base) (the-as uint dma-mem-begin)) + ) + (set! (-> mem-use data 82 total) (-> mem-use data 82 used)) + ) + ) ) - (let* - ((dma-buff (-> *display* frames (-> *display* on-screen) frame global-buf)) - (dma-bucket-begin (-> dma-buff base)) - ) - (sprite-init-distorter - dma-buff - (-> disp frames (-> disp on-screen) draw frame1 fbp) - ) - (sprite-draw-distorters dma-buff) - (let* ((v1-13 dma-buff) - (pkt1 (the-as dma-packet (-> v1-13 base))) - ) - (set! (-> pkt1 dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) - (set! (-> pkt1 vif0) (new 'static 'vif-tag)) - (set! - (-> pkt1 vif1) - (new 'static 'vif-tag :imm #x3 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-13 base) (&+ (the-as pointer pkt1) 16)) - ) - (let* ((v1-14 dma-buff) - (giftag (the-as gs-gif-tag (-> v1-14 base))) - ) - (set! - (-> giftag tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x2) - ) - (set! - (-> giftag regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-14 base) (&+ (the-as pointer giftag) 16)) - ) - (let* ((v1-15 dma-buff) - (a0-13 (-> v1-15 base)) - ) - (set! - (-> (the-as (pointer gs-test) a0-13) 0) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x26 - :afail #x1 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - ) - (set! (-> (the-as (pointer gs-reg64) a0-13) 1) (gs-reg64 test-1)) - (set! - (-> (the-as (pointer gs-clamp) a0-13) 2) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) - ) - ) - (set! (-> (the-as (pointer gs-reg64) a0-13) 3) (gs-reg64 clamp-1)) - (set! (-> v1-15 base) (&+ a0-13 32)) - ) - (dma-buffer-add-vu-function dma-buff sprite-vu1-block 1) - (sprite-add-frame-data - dma-buff - (-> disp frames (-> disp on-screen) draw frame1 fbp) - ) - (let* ((v1-22 dma-buff) - (pkt2 (the-as dma-packet (-> v1-22 base))) - ) - (set! (-> pkt2 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! - (-> pkt2 vif0) - (new 'static 'vif-tag :cmd (vif-cmd mscalf) :msk #x1 :imm #x0) - ) - (set! (-> pkt2 vif1) (new 'static 'vif-tag :cmd (vif-cmd flushe) :msk #x1)) - (set! (-> v1-22 base) (&+ (the-as pointer pkt2) 16)) - ) - (let* ((v1-23 dma-buff) - (pkt3 (the-as dma-packet (-> v1-23 base))) - ) - (set! (-> pkt3 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> pkt3 vif0) (new 'static 'vif-tag :cmd (vif-cmd base))) - (set! - (-> pkt3 vif1) - (new 'static 'vif-tag :imm #x190 :cmd (vif-cmd offset)) - ) - (set! (-> v1-23 base) (&+ (the-as pointer pkt3) 16)) - ) - (sprite-add-matrix-data dma-buff (the-as uint 0)) - (sprite-add-3d-all *sprite-array-3d* dma-buff 0) - (sprite-add-2d-all *sprite-array-2d* dma-buff 0) - (sprite-add-shadow-all (if (= *fake-shadow-buffer* *fake-shadow-buffer-1*) - *fake-shadow-buffer-2* - *fake-shadow-buffer-1* - ) - dma-buff - ) - (let* ((v1-25 dma-buff) - (pkt4 (the-as dma-packet (-> v1-25 base))) - ) - (set! (-> pkt4 dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) - (set! (-> pkt4 vif0) (new 'static 'vif-tag)) - (set! (-> pkt4 vif1) (new 'static 'vif-tag :cmd (vif-cmd flushe) :msk #x1)) - (set! (-> v1-25 base) (&+ (the-as pointer pkt4) 16)) - ) - (sprite-add-matrix-data dma-buff (the-as uint 1)) - (sprite-add-2d-all *sprite-array-2d* dma-buff 1) - (let ((a3-0 (-> dma-buff base))) - (let ((pkt5 (the-as dma-packet (-> dma-buff base)))) - (set! (-> pkt5 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> pkt5 vif0) (new 'static 'vif-tag)) - (set! (-> pkt5 vif1) (new 'static 'vif-tag)) - (set! (-> dma-buff base) (&+ (the-as pointer pkt5) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id sprite) - dma-bucket-begin - (the-as (pointer dma-tag) a3-0) - ) - ) - ) - (let ((mem-use *dma-mem-usage*)) - (when (nonzero? mem-use) - (set! (-> mem-use length) (max 83 (-> mem-use length))) - (set! (-> mem-use data 82 name) "sprite") - (+! (-> mem-use data 82 count) 1) - (+! - (-> mem-use data 82 used) - (&- - (-> *display* frames (-> *display* on-screen) frame global-buf base) - (the-as uint dma-mem-begin) - ) - ) - (set! (-> mem-use data 82 total) (-> mem-use data 82 used)) - ) - ) - ) 0 (none) ) @@ -1236,11 +965,11 @@ ;; definition for function sprite-allocate-user-hvdf (defun sprite-allocate-user-hvdf () (dotimes (v1-0 76) - (when (zero? (-> *sprite-hvdf-control* alloc v1-0)) - (set! (-> *sprite-hvdf-control* alloc v1-0) 1) - (return v1-0) + (when (zero? (-> *sprite-hvdf-control* alloc v1-0)) + (set! (-> *sprite-hvdf-control* alloc v1-0) 1) + (return v1-0) + ) ) - ) 0 ) @@ -1248,9 +977,9 @@ ;; INFO: Return type mismatch int vs none. (defun sprite-release-user-hvdf ((arg0 int)) (when (and (>= arg0 1) (< arg0 76)) - (set! (-> *sprite-hvdf-control* alloc arg0) 0) - 0 - ) + (set! (-> *sprite-hvdf-control* alloc arg0) 0) + 0 + ) 0 (none) ) diff --git a/test/decompiler/reference/engine/gfx/texture-h_REF.gc b/test/decompiler/reference/engine/gfx/texture-h_REF.gc index 5e89638eb9..7dcd429b34 100644 --- a/test/decompiler/reference/engine/gfx/texture-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/texture-h_REF.gc @@ -87,16 +87,8 @@ (format #t "~Tallocate-func: ~A~%" (-> obj allocate-func)) (format #t "~Tfont-palette: ~D~%" (-> obj font-palette)) (format #t "~Tsegment[4] @ #x~X~%" (-> obj segment-near)) - (format - #t - "~Tsegment-near: #~%" - (-> obj segment-near) - ) - (format - #t - "~Tsegment-common: #~%" - (-> obj segment-common) - ) + (format #t "~Tsegment-near: #~%" (-> obj segment-near)) + (format #t "~Tsegment-common: #~%" (-> obj segment-common)) (format #t "~Tcommon-page[32] @ #x~X~%" (-> obj common-page)) (format #t "~Tcommon-page-mask: ~D~%" (-> obj common-page-mask)) (format #t "~Tids[126] @ #x~X~%" (-> obj ids)) @@ -171,9 +163,9 @@ ;; definition for function texture-mip->segment (defun texture-mip->segment ((arg0 int) (arg1 int)) (if (>= 2 arg1) - (+ (- -1 arg0) arg1) - (max 0 (- 2 arg0)) - ) + (+ (- -1 arg0) arg1) + (max 0 (- 2 arg0)) + ) ) ;; definition of type texture-page diff --git a/test/decompiler/reference/engine/gfx/texture_REF.gc b/test/decompiler/reference/engine/gfx/texture_REF.gc index 7b5a2962fc..51cc8e7760 100644 --- a/test/decompiler/reference/engine/gfx/texture_REF.gc +++ b/test/decompiler/reference/engine/gfx/texture_REF.gc @@ -4,14 +4,14 @@ ;; definition for method 2 of type texture-page (defmethod print texture-page ((obj texture-page)) (format - #t - "#" - (-> obj name) - (-> obj length) - (shr (-> obj segment 0 dest) 6) - (shr (-> obj size) 8) - obj - ) + #t + "#" + (-> obj name) + (-> obj length) + (shr (-> obj segment 0 dest) 6) + (shr (-> obj size) 8) + obj + ) obj ) @@ -27,48 +27,45 @@ ) ;; definition for method 8 of type texture-page -(defmethod - mem-usage - texture-page - ((obj texture-page) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage texture-page ((obj texture-page) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 80 (-> arg0 length))) (set! (-> arg0 data 79 name) "texture") (+! (-> arg0 data 79 count) (-> obj length)) (let ((v1-7 (- (asize-of obj) (the-as int (* (-> obj size) 4))))) - (dotimes (a0-6 (-> obj length)) - (if (-> obj data a0-6) - (+! v1-7 64) - ) + (dotimes (a0-6 (-> obj length)) + (if (-> obj data a0-6) + (+! v1-7 64) + ) + ) + (+! (-> arg0 data 79 used) v1-7) + (+! (-> arg0 data 79 total) (logand -16 (+ v1-7 15))) ) - (+! (-> arg0 data 79 used) v1-7) - (+! (-> arg0 data 79 total) (logand -16 (+ v1-7 15))) - ) obj ) ;; definition for function texture-bpp (defun texture-bpp ((arg0 gs-psm)) - (case arg0 - (((gs-psm mt8)) + (case arg0 + (((gs-psm mt8)) 8 ) - (((gs-psm mt4)) - 4 + (((gs-psm mt4)) + 4 + ) + (((gs-psm ct16) (gs-psm ct16s) (gs-psm mz16) (gs-psm mz16s)) + 16 + ) + (else + 32 + ) ) - (((gs-psm ct16) (gs-psm ct16s) (gs-psm mz16) (gs-psm mz16s)) - 16 - ) - (else - 32 - ) - ) ) ;; definition for function texture-qwc (defun texture-qwc ((w int) (h int) (tex-format gs-psm)) (let ((v1-0 (texture-bpp tex-format))) - (/ (+ (* (* w h) v1-0) 127) 128) - ) + (/ (+ (* (* w h) v1-0) 127) 128) + ) ) ;; definition for function physical-address @@ -78,582 +75,531 @@ ;; definition for function dma-buffer-add-ref-texture ;; INFO: Return type mismatch symbol vs none. -(defun - dma-buffer-add-ref-texture - ((buf dma-buffer) (data pointer) (tex-w int) (tex-h int) (tex-format gs-psm)) +(defun dma-buffer-add-ref-texture ((buf dma-buffer) (data pointer) (tex-w int) (tex-h int) (tex-format gs-psm)) (let ((data-ptr (physical-address data)) (qwc (texture-qwc tex-w tex-h tex-format)) ) - (while (> qwc 0) - (let ((qwc-this-time (min #x7fff qwc))) - (let ((eop (if (= qwc qwc-this-time) - 1 - 0 + (while (> qwc 0) + (let ((qwc-this-time (min #x7fff qwc))) + (let ((eop (if (= qwc qwc-this-time) + 1 + 0 + ) + ) + ) + (let* ((a2-2 buf) + (setup-dma (the-as dma-packet (-> a2-2 base))) ) + (set! (-> setup-dma dma) (new 'static 'dma-tag :qwc #x1 :id (dma-tag-id cnt))) + (set! (-> setup-dma vif0) (new 'static 'vif-tag)) + (set! (-> setup-dma vif1) (new 'static 'vif-tag :imm #x1 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> a2-2 base) (&+ (the-as pointer setup-dma) 16)) ) - ) - (let* ((a2-2 buf) - (setup-dma (the-as dma-packet (-> a2-2 base))) - ) - (set! - (-> setup-dma dma) - (new 'static 'dma-tag :qwc #x1 :id (dma-tag-id cnt)) - ) - (set! (-> setup-dma vif0) (new 'static 'vif-tag)) - (set! - (-> setup-dma vif1) - (new 'static 'vif-tag :imm #x1 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> a2-2 base) (&+ (the-as pointer setup-dma) 16)) - ) - (let* ((a2-3 buf) - (setup-dif (the-as gs-gif-tag (-> a2-3 base))) - ) - (set! - (-> setup-dif tag) - (new 'static 'gif-tag64 - :flg (gif-flag image) - :eop eop - :nloop qwc-this-time - ) - ) - (set! (-> setup-dif regs) (new 'static 'gif-tag-regs)) - (set! (-> a2-3 base) (&+ (the-as pointer setup-dif) 16)) - ) - ) - (let* ((a1-9 buf) - (data-dma (the-as dma-packet (-> a1-9 base))) + (let* ((a2-3 buf) + (setup-dif (the-as gs-gif-tag (-> a2-3 base))) + ) + (set! (-> setup-dif tag) (new 'static 'gif-tag64 :flg (gif-flag image) :eop eop :nloop qwc-this-time)) + (set! (-> setup-dif regs) (new 'static 'gif-tag-regs)) + (set! (-> a2-3 base) (&+ (the-as pointer setup-dif) 16)) ) - (set! - (-> data-dma dma) - (new 'static 'dma-tag - :id (dma-tag-id ref) - :addr (the-as int data-ptr) - :qwc qwc-this-time + ) + (let* ((a1-9 buf) + (data-dma (the-as dma-packet (-> a1-9 base))) + ) + (set! (-> data-dma dma) + (new 'static 'dma-tag :id (dma-tag-id ref) :addr (the-as int data-ptr) :qwc qwc-this-time) + ) + (set! (-> data-dma vif0) (new 'static 'vif-tag)) + (set! (-> data-dma vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm qwc-this-time)) + (set! (-> a1-9 base) (&+ (the-as pointer data-dma) 16)) + ) + (&+! data-ptr (* qwc-this-time 16)) + (set! qwc (- qwc qwc-this-time)) ) - ) - (set! (-> data-dma vif0) (new 'static 'vif-tag)) - (set! - (-> data-dma vif1) - (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm qwc-this-time) - ) - (set! (-> a1-9 base) (&+ (the-as pointer data-dma) 16)) ) - (&+! data-ptr (* qwc-this-time 16)) - (set! qwc (- qwc qwc-this-time)) - ) ) - ) (none) ) ;; definition for method 2 of type texture (defmethod print texture ((obj texture)) (format - #t - "# obj name) - (psm->string (-> obj psm)) - (-> obj w) - (-> obj h) - (-> obj num-mips) - (shr (-> obj size) 8) - ) + #t + "# obj name) + (psm->string (-> obj psm)) + (-> obj w) + (-> obj h) + (-> obj num-mips) + (shr (-> obj size) 8) + ) (dotimes (s5-1 (the-as int (-> obj num-mips))) - (format #t " #x~X/~X" (-> obj dest s5-1) (-> obj width s5-1)) - ) + (format #t " #x~X/~X" (-> obj dest s5-1) (-> obj width s5-1)) + ) (if (< (texture-bpp (-> obj psm)) 16) - (format #t " :clut #x~X/1" (-> obj clutdest)) - ) + (format #t " :clut #x~X/1" (-> obj clutdest)) + ) (format #t " @ #x~X>" obj) obj ) ;; definition for symbol ct32-24-block-table, type (array int32) -(define - ct32-24-block-table - (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 - 0 - 1 - 4 - 5 - 16 - 17 - 20 - 21 - 2 - 3 - 6 - 7 - 18 - 19 - 22 - 23 - 8 - 9 - 12 - 13 - 24 - 25 - 28 - 29 - 10 - 11 - 14 - 15 - 26 - 27 - 30 - 31 - ) - ) - ) +(define ct32-24-block-table (the-as (array int32) (new + 'static + 'boxed-array + :type int32 :length 32 :allocated-length 32 + 0 + 1 + 4 + 5 + 16 + 17 + 20 + 21 + 2 + 3 + 6 + 7 + 18 + 19 + 22 + 23 + 8 + 9 + 12 + 13 + 24 + 25 + 28 + 29 + 10 + 11 + 14 + 15 + 26 + 27 + 30 + 31 + ) + ) + ) ;; definition for symbol mz32-24-block-table, type (array int32) -(define - mz32-24-block-table - (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 - 16 - 17 - 20 - 21 - 0 - 1 - 4 - 5 - 18 - 19 - 22 - 23 - 2 - 3 - 6 - 7 - 24 - 25 - 28 - 29 - 8 - 9 - 12 - 13 - 26 - 27 - 30 - 31 - 10 - 11 - 14 - 15 - ) - ) - ) +(define mz32-24-block-table (the-as (array int32) (new + 'static + 'boxed-array + :type int32 :length 32 :allocated-length 32 + 16 + 17 + 20 + 21 + 0 + 1 + 4 + 5 + 18 + 19 + 22 + 23 + 2 + 3 + 6 + 7 + 24 + 25 + 28 + 29 + 8 + 9 + 12 + 13 + 26 + 27 + 30 + 31 + 10 + 11 + 14 + 15 + ) + ) + ) ;; definition for symbol ct16-block-table, type (array int32) -(define - ct16-block-table - (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 - 0 - 2 - 8 - 10 - 1 - 3 - 9 - 11 - 4 - 6 - 12 - 14 - 5 - 7 - 13 - 15 - 16 - 18 - 24 - 26 - 17 - 19 - 25 - 27 - 20 - 22 - 28 - 30 - 21 - 23 - 29 - 31 - ) - ) - ) +(define ct16-block-table (the-as (array int32) (new + 'static + 'boxed-array + :type int32 :length 32 :allocated-length 32 + 0 + 2 + 8 + 10 + 1 + 3 + 9 + 11 + 4 + 6 + 12 + 14 + 5 + 7 + 13 + 15 + 16 + 18 + 24 + 26 + 17 + 19 + 25 + 27 + 20 + 22 + 28 + 30 + 21 + 23 + 29 + 31 + ) + ) + ) ;; definition for symbol ct16s-block-table, type (array int32) -(define - ct16s-block-table - (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 - 0 - 2 - 16 - 18 - 1 - 3 - 17 - 19 - 8 - 10 - 24 - 26 - 9 - 11 - 25 - 27 - 4 - 6 - 20 - 22 - 5 - 7 - 21 - 23 - 12 - 14 - 28 - 30 - 13 - 15 - 29 - 31 - ) - ) - ) +(define ct16s-block-table (the-as (array int32) (new + 'static + 'boxed-array + :type int32 :length 32 :allocated-length 32 + 0 + 2 + 16 + 18 + 1 + 3 + 17 + 19 + 8 + 10 + 24 + 26 + 9 + 11 + 25 + 27 + 4 + 6 + 20 + 22 + 5 + 7 + 21 + 23 + 12 + 14 + 28 + 30 + 13 + 15 + 29 + 31 + ) + ) + ) ;; definition for symbol mz16-block-table, type (array int32) -(define - mz16-block-table - (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 - 16 - 18 - 24 - 26 - 17 - 19 - 25 - 27 - 20 - 22 - 28 - 30 - 21 - 23 - 29 - 31 - 0 - 2 - 8 - 10 - 1 - 3 - 9 - 11 - 4 - 6 - 12 - 14 - 5 - 7 - 13 - 15 - ) - ) - ) +(define mz16-block-table (the-as (array int32) (new + 'static + 'boxed-array + :type int32 :length 32 :allocated-length 32 + 16 + 18 + 24 + 26 + 17 + 19 + 25 + 27 + 20 + 22 + 28 + 30 + 21 + 23 + 29 + 31 + 0 + 2 + 8 + 10 + 1 + 3 + 9 + 11 + 4 + 6 + 12 + 14 + 5 + 7 + 13 + 15 + ) + ) + ) ;; definition for symbol mz16s-block-table, type (array int32) -(define - mz16s-block-table - (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 - 16 - 18 - 0 - 2 - 17 - 19 - 1 - 3 - 24 - 26 - 8 - 10 - 25 - 27 - 9 - 11 - 20 - 22 - 4 - 6 - 21 - 23 - 5 - 7 - 28 - 30 - 12 - 14 - 29 - 31 - 13 - 15 - ) - ) - ) +(define mz16s-block-table (the-as (array int32) (new + 'static + 'boxed-array + :type int32 :length 32 :allocated-length 32 + 16 + 18 + 0 + 2 + 17 + 19 + 1 + 3 + 24 + 26 + 8 + 10 + 25 + 27 + 9 + 11 + 20 + 22 + 4 + 6 + 21 + 23 + 5 + 7 + 28 + 30 + 12 + 14 + 29 + 31 + 13 + 15 + ) + ) + ) ;; definition for symbol mt8-block-table, type (array int32) -(define - mt8-block-table - (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 - 0 - 1 - 4 - 5 - 16 - 17 - 20 - 21 - 2 - 3 - 6 - 7 - 18 - 19 - 22 - 23 - 8 - 9 - 12 - 13 - 24 - 25 - 28 - 29 - 10 - 11 - 14 - 15 - 26 - 27 - 30 - 31 - ) - ) - ) +(define mt8-block-table (the-as (array int32) (new + 'static + 'boxed-array + :type int32 :length 32 :allocated-length 32 + 0 + 1 + 4 + 5 + 16 + 17 + 20 + 21 + 2 + 3 + 6 + 7 + 18 + 19 + 22 + 23 + 8 + 9 + 12 + 13 + 24 + 25 + 28 + 29 + 10 + 11 + 14 + 15 + 26 + 27 + 30 + 31 + ) + ) + ) ;; definition for symbol mt4-block-table, type (array int32) -(define - mt4-block-table - (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 32 :allocated-length 32 - 0 - 2 - 8 - 10 - 1 - 3 - 9 - 11 - 4 - 6 - 12 - 14 - 5 - 7 - 13 - 15 - 16 - 18 - 24 - 26 - 17 - 19 - 25 - 27 - 20 - 22 - 28 - 30 - 21 - 23 - 29 - 31 - ) - ) - ) +(define mt4-block-table (the-as (array int32) (new + 'static + 'boxed-array + :type int32 :length 32 :allocated-length 32 + 0 + 2 + 8 + 10 + 1 + 3 + 9 + 11 + 4 + 6 + 12 + 14 + 5 + 7 + 13 + 15 + 16 + 18 + 24 + 26 + 17 + 19 + 25 + 27 + 20 + 22 + 28 + 30 + 21 + 23 + 29 + 31 + ) + ) + ) ;; definition for function gs-find-block (defun gs-find-block ((bx int) (by int) (tex-format gs-psm)) (cond - ((= tex-format (gs-psm ct32)) - (-> ct32-24-block-table (+ bx (* by 8))) + ((= tex-format (gs-psm ct32)) + (-> ct32-24-block-table (+ bx (* by 8))) + ) + ((= tex-format (gs-psm ct24)) + (-> ct32-24-block-table (+ bx (* by 8))) + ) + ((= tex-format (gs-psm ct16)) + (-> ct16-block-table (+ bx (* by 4))) + ) + ((= tex-format (gs-psm ct16s)) + (-> ct16s-block-table (+ bx (* by 4))) + ) + ((= tex-format (gs-psm mz32)) + (-> mz32-24-block-table (+ bx (* by 8))) + ) + ((= tex-format (gs-psm mz24)) + (-> mz32-24-block-table (+ bx (* by 8))) + ) + ((= tex-format (gs-psm mz16)) + (-> mz16-block-table (+ bx (* by 4))) + ) + ((= tex-format (gs-psm mz16s)) + (-> mz16s-block-table (+ bx (* by 4))) + ) + ((= tex-format (gs-psm mt8)) + (-> mt8-block-table (+ bx (* by 8))) + ) + ((= tex-format (gs-psm mt4)) + (-> mt4-block-table (+ bx (* by 4))) + ) + (else + 0 + ) ) - ((= tex-format (gs-psm ct24)) - (-> ct32-24-block-table (+ bx (* by 8))) - ) - ((= tex-format (gs-psm ct16)) - (-> ct16-block-table (+ bx (* by 4))) - ) - ((= tex-format (gs-psm ct16s)) - (-> ct16s-block-table (+ bx (* by 4))) - ) - ((= tex-format (gs-psm mz32)) - (-> mz32-24-block-table (+ bx (* by 8))) - ) - ((= tex-format (gs-psm mz24)) - (-> mz32-24-block-table (+ bx (* by 8))) - ) - ((= tex-format (gs-psm mz16)) - (-> mz16-block-table (+ bx (* by 4))) - ) - ((= tex-format (gs-psm mz16s)) - (-> mz16s-block-table (+ bx (* by 4))) - ) - ((= tex-format (gs-psm mt8)) - (-> mt8-block-table (+ bx (* by 8))) - ) - ((= tex-format (gs-psm mt4)) - (-> mt4-block-table (+ bx (* by 4))) - ) - (else - 0 - ) - ) ) ;; definition for function gs-page-width (defun gs-page-width ((arg0 gs-psm)) - (case arg0 - (((gs-psm ct32) (gs-psm ct24) (gs-psm ct16) (gs-psm ct16s)) + (case arg0 + (((gs-psm ct32) (gs-psm ct24) (gs-psm ct16) (gs-psm ct16s)) 64 ) - (((gs-psm mt8) (gs-psm mt4)) - 128 + (((gs-psm mt8) (gs-psm mt4)) + 128 + ) + (else + (format #t "Warning: Unknown block width for psm ~D~%" arg0) + 1 + ) ) - (else - (format #t "Warning: Unknown block width for psm ~D~%" arg0) - 1 - ) - ) ) ;; definition for function gs-page-height (defun gs-page-height ((arg0 gs-psm)) - (case arg0 - (((gs-psm ct32) (gs-psm ct24)) + (case arg0 + (((gs-psm ct32) (gs-psm ct24)) 32 ) - (((gs-psm ct16) (gs-psm ct16s)) - 64 + (((gs-psm ct16) (gs-psm ct16s)) + 64 + ) + (((gs-psm mt8)) + 64 + ) + (((gs-psm mt4)) + 128 + ) + (else + (format #t "Warning: Unknown block width for psm ~D~%" arg0) + 1 + ) ) - (((gs-psm mt8)) - 64 - ) - (((gs-psm mt4)) - 128 - ) - (else - (format #t "Warning: Unknown block width for psm ~D~%" arg0) - 1 - ) - ) ) ;; definition for function gs-block-width (defun gs-block-width ((arg0 gs-psm)) - (case arg0 - (((gs-psm ct32) (gs-psm ct24)) + (case arg0 + (((gs-psm ct32) (gs-psm ct24)) 8 ) - (((gs-psm ct16) (gs-psm ct16s) (gs-psm mt8)) - 16 + (((gs-psm ct16) (gs-psm ct16s) (gs-psm mt8)) + 16 + ) + (((gs-psm mt4)) + 32 + ) + (else + (format #t "Warning: Unknown block width for psm ~D~%" arg0) + 1 + ) ) - (((gs-psm mt4)) - 32 - ) - (else - (format #t "Warning: Unknown block width for psm ~D~%" arg0) - 1 - ) - ) ) ;; definition for function gs-block-height (defun gs-block-height ((arg0 gs-psm)) - (case arg0 - (((gs-psm ct32) (gs-psm ct24) (gs-psm ct16) (gs-psm ct16s)) + (case arg0 + (((gs-psm ct32) (gs-psm ct24) (gs-psm ct16) (gs-psm ct16s)) 8 ) - (((gs-psm mt8) (gs-psm mt4)) - 16 + (((gs-psm mt8) (gs-psm mt4)) + 16 + ) + (else + (format #t "Warning: Unknown block width for psm ~D~%" arg0) + 1 + ) ) - (else - (format #t "Warning: Unknown block width for psm ~D~%" arg0) - 1 - ) - ) ) ;; definition for function gs-largest-block (defun gs-largest-block ((tex-width int) (tex-height int) (tex-format gs-psm)) (let* ((block-width (gs-block-width tex-format)) (block-height (gs-block-height tex-format)) - (real-width - (* (/ (+ block-width -1 tex-width) block-width) block-width) - ) - (real-height - (* (/ (+ block-height -1 tex-height) block-height) block-height) - ) + (real-width (* (/ (+ block-width -1 tex-width) block-width) block-width)) + (real-height (* (/ (+ block-height -1 tex-height) block-height) block-height)) (width-blocks (/ real-width block-width)) (height-blocks (/ real-height block-height)) (max-block 0) ) - (dotimes (x width-blocks) - (dotimes (y height-blocks) - (set! max-block (max max-block (gs-find-block x y tex-format))) - ) + (dotimes (x width-blocks) + (dotimes (y height-blocks) + (set! max-block (max max-block (gs-find-block x y tex-format))) + ) + ) + max-block ) - max-block - ) ) ;; definition for function gs-blocks-used @@ -661,110 +607,99 @@ (let* ((page-width (gs-page-width tex-format)) (page-height (gs-page-height tex-format)) (real-width (* (/ (+ page-width -1 tex-width) page-width) page-width)) - (real-height - (* (/ (+ page-height -1 tex-height) page-height) page-height) - ) + (real-height (* (/ (+ page-height -1 tex-height) page-height) page-height)) (width-blocks (/ real-width page-width)) (height-blocks (/ real-height page-height)) (a0-9 (- tex-width (* (+ width-blocks -1) page-width))) (a1-7 (- tex-height (* (+ height-blocks -1) page-height))) ) - (if (or (< a0-9 page-width) (< a1-7 page-height)) - (+ - (gs-largest-block a0-9 a1-7 tex-format) - 1 - (* (+ (* width-blocks height-blocks) -1) 32) - ) - (* (* height-blocks width-blocks) 32) + (if (or (< a0-9 page-width) (< a1-7 page-height)) + (+ (gs-largest-block a0-9 a1-7 tex-format) 1 (* (+ (* width-blocks height-blocks) -1) 32)) + (* (* height-blocks width-blocks) 32) + ) ) - ) ) ;; definition for method 0 of type texture-pool (defmethod new texture-pool ((allocation symbol) (type-to-make type)) - (initialize! - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) + (initialize! (object-new allocation type-to-make (the-as int (-> type-to-make size)))) ) ;; definition for method 15 of type texture-pool -(defmethod - allocate-vram-words! - texture-pool - ((obj texture-pool) (word-count int)) +(defmethod allocate-vram-words! texture-pool ((obj texture-pool) (word-count int)) (let ((v0-0 (-> obj cur))) - (+! (-> obj cur) word-count) - v0-0 - ) + (+! (-> obj cur) word-count) + v0-0 + ) ) ;; definition for method 22 of type texture-pool (defmethod lookup-boot-common-id texture-pool ((obj texture-pool) (tpage-id int)) - (case tpage-id - ((1032) + (case tpage-id + ((1032) 0 ) - ((1119) - 1 + ((1119) + 1 + ) + ((1478) + 2 + ) + ((1485) + 3 + ) + ((1486) + 4 + ) + ((1487) + 5 + ) + ((635 1609) + 6 + ) + ((636) + 7 + ) + ((637) + 8 + ) + ((752) + 9 + ) + ((1598) + 10 + ) + ((1599) + 11 + ) + ((1600) + 12 + ) + ((1601) + 13 + ) + ((1602) + 14 + ) + ((1603) + 15 + ) + ((1604) + 16 + ) + ((1605) + 17 + ) + ((1606) + 18 + ) + ((1607) + 19 + ) + (else + -1 + ) ) - ((1478) - 2 - ) - ((1485) - 3 - ) - ((1486) - 4 - ) - ((1487) - 5 - ) - ((635 1609) - 6 - ) - ((636) - 7 - ) - ((637) - 8 - ) - ((752) - 9 - ) - ((1598) - 10 - ) - ((1599) - 11 - ) - ((1600) - 12 - ) - ((1601) - 13 - ) - ((1602) - 14 - ) - ((1603) - 15 - ) - ((1604) - 16 - ) - ((1605) - 17 - ) - ((1606) - 18 - ) - ((1607) - 19 - ) - (else - -1 - ) - ) ) ;; definition for method 9 of type texture-pool @@ -775,48 +710,42 @@ (allocate-defaults! obj) (set! (-> obj font-palette) (allocate-vram-words! obj 64)) (dotimes (v1-6 32) - (set! (-> obj common-page v1-6) (the-as texture-page 0)) - ) + (set! (-> obj common-page v1-6) (the-as texture-page 0)) + ) (set! (-> obj common-page-mask) 0) (dotimes (v1-9 160) - (set! (-> obj ids v1-9) (the-as uint 0)) - ) + (set! (-> obj ids v1-9) (the-as uint 0)) + ) obj ) ;; definition for method 10 of type texture-page -(defmethod - get-leftover-block-count - texture-page - ((obj texture-page) (segment-count int) (additional-size int)) +(defmethod get-leftover-block-count texture-page ((obj texture-page) (segment-count int) (additional-size int)) (let ((v1-0 additional-size)) - (dotimes (a2-1 segment-count) - (+! v1-0 (-> obj segment a2-1 size)) + (dotimes (a2-1 segment-count) + (+! v1-0 (-> obj segment a2-1 size)) + ) + (logand (/ v1-0 64) 63) ) - (logand (/ v1-0 64) 63) - ) ) ;; definition for method 10 of type texture-pool (defmethod print-usage texture-pool ((obj texture-pool)) (format #t "--------------------~%") (format - #t - "texture pool ~DK - ~DK (~DK used, ~DK free)~%" - (/ (-> obj top) 256) - (/ (-> obj cur) 256) - (/ (- (-> obj cur) (-> obj top)) 256) - (/ (- #xfa000 (-> obj cur)) 256) - ) + #t + "texture pool ~DK - ~DK (~DK used, ~DK free)~%" + (/ (-> obj top) 256) + (/ (-> obj cur) 256) + (/ (- (-> obj cur) (-> obj top)) 256) + (/ (- #xfa000 (-> obj cur)) 256) + ) (format #t "--------------------~%") obj ) ;; definition for method 16 of type texture-pool -(defmethod - allocate-segment! - texture-pool - ((obj texture-pool) (segment texture-pool-segment) (size int)) +(defmethod allocate-segment! texture-pool ((obj texture-pool) (segment texture-pool-segment) (size int)) (set! (-> segment size) (the-as uint size)) (set! (-> segment dest) (the-as uint (allocate-vram-words! obj size))) segment @@ -850,1000 +779,824 @@ ) ;; definition for function texture-page-default-allocate -(defun - texture-page-default-allocate - ((pool texture-pool) (page texture-page) (seg kheap) (tpage-id int)) +(defun texture-page-default-allocate ((pool texture-pool) (page texture-page) (seg kheap) (tpage-id int)) (dotimes (seg-id 3) - (let - ((a1-2 - (allocate-vram-words! pool (the-as int (-> page segment seg-id size))) + (let ((a1-2 (allocate-vram-words! pool (the-as int (-> page segment seg-id size))))) + (relocate-dests! page a1-2 seg-id) ) - ) - (relocate-dests! page a1-2 seg-id) ) - ) (upload-now! page -1) (remove-from-heap page seg) page ) ;; definition for function texture-page-common-allocate -(defun - texture-page-common-allocate - ((pool texture-pool) (page texture-page) (seg kheap) (tpage-id int)) +(defun texture-page-common-allocate ((pool texture-pool) (page texture-page) (seg kheap) (tpage-id int)) (let ((s5-0 (-> pool segment-common dest))) - (dotimes (seg-id 3) - (relocate-dests! page (the-as int s5-0) seg-id) - (+! s5-0 (-> page segment seg-id size)) + (dotimes (seg-id 3) + (relocate-dests! page (the-as int s5-0) seg-id) + (+! s5-0 (-> page segment seg-id size)) + ) ) - ) page ) ;; definition for function texture-page-common-boot-allocate -(defun - texture-page-common-boot-allocate - ((pool texture-pool) (page texture-page) (heap kheap) (tpage-id int)) +(defun texture-page-common-boot-allocate ((pool texture-pool) (page texture-page) (heap kheap) (tpage-id int)) (let ((tex-id (lookup-boot-common-id pool tpage-id))) - (cond - ((>= tex-id 0) - (texture-page-common-allocate pool page heap tpage-id) - (set! (-> pool common-page tex-id) page) - ) - (else - (set! (-> *texture-pool* allocate-func) texture-page-default-allocate) - (texture-page-default-allocate pool page heap tpage-id) - ) + (cond + ((>= tex-id 0) + (texture-page-common-allocate pool page heap tpage-id) + (set! (-> pool common-page tex-id) page) + ) + (else + (set! (-> *texture-pool* allocate-func) texture-page-default-allocate) + (texture-page-default-allocate pool page heap tpage-id) + ) + ) ) - ) page ) ;; definition for function upload-vram-data ;; INFO: Return type mismatch symbol vs none. -(defun - upload-vram-data - ((buf dma-buffer) (dest int) (tex-data pointer) (tex-h int)) +(defun upload-vram-data ((buf dma-buffer) (dest int) (tex-data pointer) (tex-h int)) (while (> tex-h 0) - (let ((height-this-time (min 2048 tex-h))) - (let* ((v1-1 buf) - (dma (the-as dma-packet (-> v1-1 base))) - ) - (set! (-> dma dma) (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt))) - (set! (-> dma vif0) (new 'static 'vif-tag)) - (set! - (-> dma vif1) - (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1) + (let ((height-this-time (min 2048 tex-h))) + (let* ((v1-1 buf) + (dma (the-as dma-packet (-> v1-1 base))) + ) + (set! (-> dma dma) (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt))) + (set! (-> dma vif0) (new 'static 'vif-tag)) + (set! (-> dma vif1) (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-1 base) (&+ (the-as pointer dma) 16)) + ) + (let* ((v1-2 buf) + (gif (the-as gs-gif-tag (-> v1-2 base))) + ) + (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x4 :nreg #x1)) + (set! (-> gif regs) (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d))) + (set! (-> v1-2 base) (&+ (the-as pointer gif) 16)) + ) + (let* ((v1-3 buf) + (gs-data (-> v1-3 base)) + ) + (set! (-> (the-as (pointer gs-bitbltbuf) gs-data) 0) (new 'static 'gs-bitbltbuf :dbw #x2 :dbp dest)) + (set! (-> (the-as (pointer gs-reg64) gs-data) 1) (gs-reg64 bitbltbuf)) + (set! (-> (the-as (pointer gs-trxpos) gs-data) 2) (new 'static 'gs-trxpos)) + (set! (-> (the-as (pointer gs-reg64) gs-data) 3) (gs-reg64 trxpos)) + (set! (-> (the-as (pointer gs-trxreg) gs-data) 4) (new 'static 'gs-trxreg :rrw #x80 :rrh height-this-time)) + (set! (-> (the-as (pointer gs-reg64) gs-data) 5) (gs-reg64 trxreg)) + (set! (-> (the-as (pointer gs-trxdir) gs-data) 6) (new 'static 'gs-trxdir)) + (set! (-> (the-as (pointer gs-reg64) gs-data) 7) (gs-reg64 trxdir)) + (set! (-> v1-3 base) (&+ gs-data 64)) + ) + (dma-buffer-add-ref-texture buf tex-data 128 height-this-time (gs-psm ct32)) ) - (set! (-> v1-1 base) (&+ (the-as pointer dma) 16)) - ) - (let* ((v1-2 buf) - (gif (the-as gs-gif-tag (-> v1-2 base))) - ) - (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x4 :nreg #x1)) - (set! (-> gif regs) (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d))) - (set! (-> v1-2 base) (&+ (the-as pointer gif) 16)) - ) - (let* ((v1-3 buf) - (gs-data (-> v1-3 base)) - ) - (set! - (-> (the-as (pointer gs-bitbltbuf) gs-data) 0) - (new 'static 'gs-bitbltbuf :dbw #x2 :dbp dest) - ) - (set! (-> (the-as (pointer gs-reg64) gs-data) 1) (gs-reg64 bitbltbuf)) - (set! (-> (the-as (pointer gs-trxpos) gs-data) 2) (new 'static 'gs-trxpos)) - (set! (-> (the-as (pointer gs-reg64) gs-data) 3) (gs-reg64 trxpos)) - (set! - (-> (the-as (pointer gs-trxreg) gs-data) 4) - (new 'static 'gs-trxreg :rrw #x80 :rrh height-this-time) - ) - (set! (-> (the-as (pointer gs-reg64) gs-data) 5) (gs-reg64 trxreg)) - (set! (-> (the-as (pointer gs-trxdir) gs-data) 6) (new 'static 'gs-trxdir)) - (set! (-> (the-as (pointer gs-reg64) gs-data) 7) (gs-reg64 trxdir)) - (set! (-> v1-3 base) (&+ gs-data 64)) - ) - (dma-buffer-add-ref-texture buf tex-data 128 height-this-time (gs-psm ct32)) + (+! dest 4096) + (&+! tex-data #x100000) + (+! tex-h -2048) ) - (+! dest 4096) - (&+! tex-data #x100000) - (+! tex-h -2048) - ) (none) ) ;; definition for function upload-vram-pages -(defun - upload-vram-pages - ((pool texture-pool) - (segment texture-pool-segment) - (page texture-page) - (mode int) - (bucket-idx bucket-id) - ) +(defun upload-vram-pages ((pool texture-pool) (segment texture-pool-segment) (page texture-page) (mode int) (bucket-idx bucket-id)) (local-vars - (tex-data pointer) - (tex-dest-base-chunk uint) - (chunk-count int) - (chunks-to-upload-count int) - (first-chunk-idx-to-upload int) - (tex-id uint) - ) - (let ((total-upload-size 0)) - (let* - ((dma-buf (-> *display* frames (-> *display* on-screen) frame global-buf)) - (dma-start (-> dma-buf base)) - ) - (set! tex-data (-> page segment 0 block-data)) - (set! tex-dest-base-chunk (shr (-> page segment 0 dest) 12)) - (set! chunk-count (the-as int (-> page segment 0 size))) - (set! chunks-to-upload-count 0) - (set! first-chunk-idx-to-upload 0) - (set! tex-id (-> page id)) - (let ((v1-8 mode)) - (cond - ((= v1-8 -3) - (return 0) - ) - ((zero? v1-8) - ) - ((= v1-8 -2) - (set! chunk-count (the-as int (+ chunk-count (-> page segment 1 size)))) - ) - ((= v1-8 -1) - (set! chunk-count (the-as int (-> page size))) - ) - ((= v1-8 2) - (set! tex-data (-> page segment 2 block-data)) - (set! tex-dest-base-chunk (shr (-> page segment 2 dest) 12)) - (set! chunk-count (the-as int (-> page segment 2 size))) - ) - ) - ) - (set! - chunk-count - (shr - (min (the-as int (-> segment size)) (the-as int (+ chunk-count 4095))) - 12 - ) - ) - (dotimes (upload-chunk-idx chunk-count) - (let ((current-dest-chunk (+ tex-dest-base-chunk upload-chunk-idx))) - (cond - ((zero? chunks-to-upload-count) - (when (!= (-> pool ids current-dest-chunk) tex-id) - (set! first-chunk-idx-to-upload upload-chunk-idx) - (set! (-> pool ids current-dest-chunk) tex-id) - (set! chunks-to-upload-count (+ chunks-to-upload-count 1)) - ) - ) - ((= (-> pool ids current-dest-chunk) tex-id) - (upload-vram-data - dma-buf - (the-as int (* (+ tex-dest-base-chunk first-chunk-idx-to-upload) 64)) - (&+ tex-data (shl first-chunk-idx-to-upload 14)) - (* chunks-to-upload-count 32) - ) - (+! total-upload-size chunks-to-upload-count) - (set! chunks-to-upload-count 0) - 0 - ) - (else - (set! (-> pool ids current-dest-chunk) tex-id) - (set! chunks-to-upload-count (+ chunks-to-upload-count 1)) - ) - ) - ) - ) - (when (nonzero? chunks-to-upload-count) - (upload-vram-data - dma-buf - (the-as int (* (+ tex-dest-base-chunk first-chunk-idx-to-upload) 64)) - (&+ tex-data (shl first-chunk-idx-to-upload 14)) - (* chunks-to-upload-count 32) - ) - (+! total-upload-size chunks-to-upload-count) - ) - (let* ((v1-47 dma-buf) - (dma (the-as dma-packet (-> v1-47 base))) - ) - (set! (-> dma dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) - (set! (-> dma vif0) (new 'static 'vif-tag)) - (set! - (-> dma vif1) - (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-47 base) (&+ (the-as pointer dma) 16)) - ) - (let* ((v1-48 dma-buf) - (gif (the-as gs-gif-tag (-> v1-48 base))) - ) - (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) - (set! - (-> gif regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-48 base) (&+ (the-as pointer gif) 16)) - ) - (let* ((v1-49 dma-buf) - (gif-data (-> v1-49 base)) - ) - (set! (-> (the-as (pointer uint64) gif-data) 0) (the-as uint 1)) - (set! (-> (the-as (pointer gs-reg64) gif-data) 1) (gs-reg64 texflush)) - (set! (-> v1-49 base) (&+ gif-data 16)) - ) - (let ((a3-3 (-> dma-buf base))) - (let ((dma-end (the-as dma-packet (-> dma-buf base)))) - (set! (-> dma-end dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> dma-end vif0) (new 'static 'vif-tag)) - (set! (-> dma-end vif1) (new 'static 'vif-tag)) - (set! (-> dma-buf base) (&+ (the-as pointer dma-end) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - bucket-idx - dma-start - (the-as (pointer dma-tag) a3-3) - ) - ) + (tex-data pointer) + (tex-dest-base-chunk uint) + (chunk-count int) + (chunks-to-upload-count int) + (first-chunk-idx-to-upload int) + (tex-id uint) + ) + (let ((total-upload-size 0)) + (let* ((dma-buf (-> *display* frames (-> *display* on-screen) frame global-buf)) + (dma-start (-> dma-buf base)) + ) + (set! tex-data (-> page segment 0 block-data)) + (set! tex-dest-base-chunk (shr (-> page segment 0 dest) 12)) + (set! chunk-count (the-as int (-> page segment 0 size))) + (set! chunks-to-upload-count 0) + (set! first-chunk-idx-to-upload 0) + (set! tex-id (-> page id)) + (let ((v1-8 mode)) + (cond + ((= v1-8 -3) + (return 0) + ) + ((zero? v1-8) + ) + ((= v1-8 -2) + (set! chunk-count (the-as int (+ chunk-count (-> page segment 1 size)))) + ) + ((= v1-8 -1) + (set! chunk-count (the-as int (-> page size))) + ) + ((= v1-8 2) + (set! tex-data (-> page segment 2 block-data)) + (set! tex-dest-base-chunk (shr (-> page segment 2 dest) 12)) + (set! chunk-count (the-as int (-> page segment 2 size))) + ) + ) + ) + (set! chunk-count (shr (min (the-as int (-> segment size)) (the-as int (+ chunk-count 4095))) 12)) + (dotimes (upload-chunk-idx chunk-count) + (let ((current-dest-chunk (+ tex-dest-base-chunk upload-chunk-idx))) + (cond + ((zero? chunks-to-upload-count) + (when (!= (-> pool ids current-dest-chunk) tex-id) + (set! first-chunk-idx-to-upload upload-chunk-idx) + (set! (-> pool ids current-dest-chunk) tex-id) + (set! chunks-to-upload-count (+ chunks-to-upload-count 1)) + ) + ) + ((= (-> pool ids current-dest-chunk) tex-id) + (upload-vram-data + dma-buf + (the-as int (* (+ tex-dest-base-chunk first-chunk-idx-to-upload) 64)) + (&+ tex-data (shl first-chunk-idx-to-upload 14)) + (* chunks-to-upload-count 32) + ) + (+! total-upload-size chunks-to-upload-count) + (set! chunks-to-upload-count 0) + 0 + ) + (else + (set! (-> pool ids current-dest-chunk) tex-id) + (set! chunks-to-upload-count (+ chunks-to-upload-count 1)) + ) + ) + ) + ) + (when (nonzero? chunks-to-upload-count) + (upload-vram-data + dma-buf + (the-as int (* (+ tex-dest-base-chunk first-chunk-idx-to-upload) 64)) + (&+ tex-data (shl first-chunk-idx-to-upload 14)) + (* chunks-to-upload-count 32) + ) + (+! total-upload-size chunks-to-upload-count) + ) + (let* ((v1-47 dma-buf) + (dma (the-as dma-packet (-> v1-47 base))) + ) + (set! (-> dma dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) + (set! (-> dma vif0) (new 'static 'vif-tag)) + (set! (-> dma vif1) (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-47 base) (&+ (the-as pointer dma) 16)) + ) + (let* ((v1-48 dma-buf) + (gif (the-as gs-gif-tag (-> v1-48 base))) + ) + (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) + (set! (-> gif regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-48 base) (&+ (the-as pointer gif) 16)) + ) + (let* ((v1-49 dma-buf) + (gif-data (-> v1-49 base)) + ) + (set! (-> (the-as (pointer uint64) gif-data) 0) (the-as uint 1)) + (set! (-> (the-as (pointer gs-reg64) gif-data) 1) (gs-reg64 texflush)) + (set! (-> v1-49 base) (&+ gif-data 16)) + ) + (let ((a3-3 (-> dma-buf base))) + (let ((dma-end (the-as dma-packet (-> dma-buf base)))) + (set! (-> dma-end dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> dma-end vif0) (new 'static 'vif-tag)) + (set! (-> dma-end vif1) (new 'static 'vif-tag)) + (set! (-> dma-buf base) (&+ (the-as pointer dma-end) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + bucket-idx + dma-start + (the-as (pointer dma-tag) a3-3) + ) + ) + ) + (shl total-upload-size 14) ) - (shl total-upload-size 14) - ) ) ;; definition for function update-vram-pages -(defun - update-vram-pages - ((pool texture-pool) - (pool-segment texture-pool-segment) - (page texture-page) - (mode int) - ) +(defun update-vram-pages ((pool texture-pool) (pool-segment texture-pool-segment) (page texture-page) (mode int)) (-> page segment 0 block-data) (let ((dest-block (shr (-> page segment 0 dest) 12)) (sz (-> page segment 0 size)) (modified-chunk-count 0) ) - 0 - (let ((page-id (-> page id))) - (cond - ((= mode -3) - (return 0) - ) - ((zero? mode) - ) - ((= mode -2) - (+! sz (-> page segment 1 size)) - ) - ((= mode -1) - (set! sz (-> page size)) - ) - ((= mode 2) - (-> page segment 2 block-data) - (set! dest-block (shr (-> page segment 2 dest) 12)) - (set! sz (-> page segment 2 size)) - ) - ) - (let - ((upload-chunks - (shr - (min (the-as int (-> pool-segment size)) (the-as int (+ sz 4095))) - 12 + 0 + (let ((page-id (-> page id))) + (cond + ((= mode -3) + (return 0) + ) + ((zero? mode) + ) + ((= mode -2) + (+! sz (-> page segment 1 size)) + ) + ((= mode -1) + (set! sz (-> page size)) + ) + ((= mode 2) + (-> page segment 2 block-data) + (set! dest-block (shr (-> page segment 2 dest) 12)) + (set! sz (-> page segment 2 size)) + ) ) - ) - ) - (dotimes (chunk-idx upload-chunks) - (let ((vram-chunk (+ dest-block chunk-idx))) - (cond - ((zero? modified-chunk-count) - (when (!= (-> pool ids vram-chunk) page-id) - (set! (-> pool ids vram-chunk) page-id) - (+! modified-chunk-count 1) + (let ((upload-chunks (shr (min (the-as int (-> pool-segment size)) (the-as int (+ sz 4095))) 12))) + (dotimes (chunk-idx upload-chunks) + (let ((vram-chunk (+ dest-block chunk-idx))) + (cond + ((zero? modified-chunk-count) + (when (!= (-> pool ids vram-chunk) page-id) + (set! (-> pool ids vram-chunk) page-id) + (+! modified-chunk-count 1) + ) + ) + ((= (-> pool ids vram-chunk) page-id) + (set! modified-chunk-count 0) + ) + (else + (set! (-> pool ids vram-chunk) page-id) + (+! modified-chunk-count 1) + ) + ) + ) ) - ) - ((= (-> pool ids vram-chunk) page-id) - (set! modified-chunk-count 0) - ) - (else - (set! (-> pool ids vram-chunk) page-id) - (+! modified-chunk-count 1) - ) ) - ) ) - ) ) - ) 0 ) ;; definition for function upload-vram-pages-pris -(defun - upload-vram-pages-pris - ((pool texture-pool) - (segment texture-pool-segment) - (page texture-page) - (bucket-idx bucket-id) - (allow-cache-mask int) - ) +(defun upload-vram-pages-pris ((pool texture-pool) + (segment texture-pool-segment) + (page texture-page) + (bucket-idx bucket-id) + (allow-cache-mask int) + ) (local-vars - (tex-data pointer) - (tex-dest-base-chunk uint) - (chunk-count int) - (chunks-to-upload-count int) - (first-chunk-idx-to-upload int) - (page-id uint) - (current-dest-chunk uint) - (need-tex symbol) - ) - (let ((total-upload-size 0)) - (let* - ((dma-buf (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s4-0 (-> dma-buf base)) - ) - (set! tex-data (-> page segment 0 block-data)) - (set! tex-dest-base-chunk (shr (-> page segment 0 dest) 12)) - (set! chunk-count (the-as int (-> page size))) - (set! chunks-to-upload-count 0) - (set! first-chunk-idx-to-upload 0) - (set! page-id (-> page id)) - (set! - chunk-count - (shr - (min (the-as int (-> segment size)) (the-as int (+ chunk-count 4095))) - 12 - ) - ) - (dotimes (upload-chunk-idx chunk-count) - (set! current-dest-chunk (+ tex-dest-base-chunk upload-chunk-idx)) - (set! need-tex (logtest? allow-cache-mask (ash 1 upload-chunk-idx))) - (cond - ((zero? chunks-to-upload-count) - (when (and (!= (-> pool ids current-dest-chunk) page-id) need-tex) - (set! first-chunk-idx-to-upload upload-chunk-idx) - (set! (-> pool ids current-dest-chunk) page-id) - (set! chunks-to-upload-count (+ chunks-to-upload-count 1)) - ) - ) - ((or (= (-> pool ids current-dest-chunk) page-id) (not need-tex)) - (upload-vram-data - dma-buf - (the-as int (* (+ tex-dest-base-chunk first-chunk-idx-to-upload) 64)) - (&+ tex-data (shl first-chunk-idx-to-upload 14)) - (* chunks-to-upload-count 32) - ) - (+! total-upload-size chunks-to-upload-count) - (set! chunks-to-upload-count 0) - 0 - ) - (else - (set! (-> pool ids current-dest-chunk) page-id) - (set! chunks-to-upload-count (+ chunks-to-upload-count 1)) - ) - ) - ) - (when (nonzero? chunks-to-upload-count) - (upload-vram-data - dma-buf - (the-as int (* (+ tex-dest-base-chunk first-chunk-idx-to-upload) 64)) - (&+ tex-data (shl first-chunk-idx-to-upload 14)) - (* chunks-to-upload-count 32) - ) - (+! total-upload-size chunks-to-upload-count) - ) - (let* ((v1-52 dma-buf) - (dma (the-as dma-packet (-> v1-52 base))) - ) - (set! (-> dma dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) - (set! (-> dma vif0) (new 'static 'vif-tag)) - (set! - (-> dma vif1) - (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-52 base) (&+ (the-as pointer dma) 16)) - ) - (let* ((v1-53 dma-buf) - (gif (the-as gs-gif-tag (-> v1-53 base))) - ) - (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) - (set! - (-> gif regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-53 base) (&+ (the-as pointer gif) 16)) - ) - (let* ((v1-54 dma-buf) - (a0-25 (-> v1-54 base)) - ) - (set! (-> (the-as (pointer uint64) a0-25) 0) (the-as uint 1)) - (set! (-> (the-as (pointer gs-reg64) a0-25) 1) (gs-reg64 texflush)) - (set! (-> v1-54 base) (&+ a0-25 16)) - ) - (let ((a3-3 (-> dma-buf base))) - (let ((dma-end (the-as dma-packet (-> dma-buf base)))) - (set! (-> dma-end dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> dma-end vif0) (new 'static 'vif-tag)) - (set! (-> dma-end vif1) (new 'static 'vif-tag)) - (set! (-> dma-buf base) (&+ (the-as pointer dma-end) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - bucket-idx - s4-0 - (the-as (pointer dma-tag) a3-3) - ) - ) + (tex-data pointer) + (tex-dest-base-chunk uint) + (chunk-count int) + (chunks-to-upload-count int) + (first-chunk-idx-to-upload int) + (page-id uint) + (current-dest-chunk uint) + (need-tex symbol) + ) + (let ((total-upload-size 0)) + (let* ((dma-buf (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s4-0 (-> dma-buf base)) + ) + (set! tex-data (-> page segment 0 block-data)) + (set! tex-dest-base-chunk (shr (-> page segment 0 dest) 12)) + (set! chunk-count (the-as int (-> page size))) + (set! chunks-to-upload-count 0) + (set! first-chunk-idx-to-upload 0) + (set! page-id (-> page id)) + (set! chunk-count (shr (min (the-as int (-> segment size)) (the-as int (+ chunk-count 4095))) 12)) + (dotimes (upload-chunk-idx chunk-count) + (set! current-dest-chunk (+ tex-dest-base-chunk upload-chunk-idx)) + (set! need-tex (logtest? allow-cache-mask (ash 1 upload-chunk-idx))) + (cond + ((zero? chunks-to-upload-count) + (when (and (!= (-> pool ids current-dest-chunk) page-id) need-tex) + (set! first-chunk-idx-to-upload upload-chunk-idx) + (set! (-> pool ids current-dest-chunk) page-id) + (set! chunks-to-upload-count (+ chunks-to-upload-count 1)) + ) + ) + ((or (= (-> pool ids current-dest-chunk) page-id) (not need-tex)) + (upload-vram-data + dma-buf + (the-as int (* (+ tex-dest-base-chunk first-chunk-idx-to-upload) 64)) + (&+ tex-data (shl first-chunk-idx-to-upload 14)) + (* chunks-to-upload-count 32) + ) + (+! total-upload-size chunks-to-upload-count) + (set! chunks-to-upload-count 0) + 0 + ) + (else + (set! (-> pool ids current-dest-chunk) page-id) + (set! chunks-to-upload-count (+ chunks-to-upload-count 1)) + ) + ) + ) + (when (nonzero? chunks-to-upload-count) + (upload-vram-data + dma-buf + (the-as int (* (+ tex-dest-base-chunk first-chunk-idx-to-upload) 64)) + (&+ tex-data (shl first-chunk-idx-to-upload 14)) + (* chunks-to-upload-count 32) + ) + (+! total-upload-size chunks-to-upload-count) + ) + (let* ((v1-52 dma-buf) + (dma (the-as dma-packet (-> v1-52 base))) + ) + (set! (-> dma dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) + (set! (-> dma vif0) (new 'static 'vif-tag)) + (set! (-> dma vif1) (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-52 base) (&+ (the-as pointer dma) 16)) + ) + (let* ((v1-53 dma-buf) + (gif (the-as gs-gif-tag (-> v1-53 base))) + ) + (set! (-> gif tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) + (set! (-> gif regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-53 base) (&+ (the-as pointer gif) 16)) + ) + (let* ((v1-54 dma-buf) + (a0-25 (-> v1-54 base)) + ) + (set! (-> (the-as (pointer uint64) a0-25) 0) (the-as uint 1)) + (set! (-> (the-as (pointer gs-reg64) a0-25) 1) (gs-reg64 texflush)) + (set! (-> v1-54 base) (&+ a0-25 16)) + ) + (let ((a3-3 (-> dma-buf base))) + (let ((dma-end (the-as dma-packet (-> dma-buf base)))) + (set! (-> dma-end dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> dma-end vif0) (new 'static 'vif-tag)) + (set! (-> dma-end vif1) (new 'static 'vif-tag)) + (set! (-> dma-buf base) (&+ (the-as pointer dma-end) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + bucket-idx + s4-0 + (the-as (pointer dma-tag) a3-3) + ) + ) + ) + (shl total-upload-size 14) ) - (shl total-upload-size 14) - ) ) ;; definition for function texture-page-near-allocate-0 -(defun - texture-page-near-allocate-0 - ((pool texture-pool) (page texture-page) (heap kheap) (mode int)) +(defun texture-page-near-allocate-0 ((pool texture-pool) (page texture-page) (heap kheap) (mode int)) (relocate-dests! page (the-as int (-> pool segment-near dest)) 2) (let ((common-dest (-> pool segment-common dest))) - (dotimes (page-seg-idx 2) - (relocate-dests! page (the-as int common-dest) page-seg-idx) - (+! common-dest (-> page segment page-seg-idx size)) + (dotimes (page-seg-idx 2) + (relocate-dests! page (the-as int common-dest) page-seg-idx) + (+! common-dest (-> page segment page-seg-idx size)) + ) ) - ) (upload-now! page 2) (update-vram-pages pool (-> pool segment-near) page 2) (let ((page-seg-2-size (logand -4096 (+ (-> page segment 2 size) 4095)))) - (cond - ((< (the-as uint #x24000) page-seg-2-size) - (let ((after-seg-2-data (&+ (-> page segment 2 block-data) #x90000))) - (let ((seg-2-data (-> page segment 2 block-data))) - (set! (-> page segment 2 size) (+ -147456 page-seg-2-size)) - (set! (-> page segment 2 dest) (+ #x24000 (-> pool segment-near dest))) - (set! - (-> heap current) - (&+ (-> page segment 2 block-data) (* (-> page segment 2 size) 4)) - ) - (set! (-> *texture-relocate-later* memcpy) #t) - (set! (-> *texture-relocate-later* dest) (the-as uint seg-2-data)) + (cond + ((< (the-as uint #x24000) page-seg-2-size) + (let ((after-seg-2-data (&+ (-> page segment 2 block-data) #x90000))) + (let ((seg-2-data (-> page segment 2 block-data))) + (set! (-> page segment 2 size) (+ -147456 page-seg-2-size)) + (set! (-> page segment 2 dest) (+ #x24000 (-> pool segment-near dest))) + (set! (-> heap current) (&+ (-> page segment 2 block-data) (* (-> page segment 2 size) 4))) + (set! (-> *texture-relocate-later* memcpy) #t) + (set! (-> *texture-relocate-later* dest) (the-as uint seg-2-data)) + ) + (set! (-> *texture-relocate-later* source) (the-as uint after-seg-2-data)) + ) + (set! (-> *texture-relocate-later* move) (* (-> page segment 2 size) 4)) ) - (set! (-> *texture-relocate-later* source) (the-as uint after-seg-2-data)) + (else + (set! (-> page segment 2 size) (the-as uint 0)) + (set! (-> heap current) (-> page segment 2 block-data)) + ) ) - (set! (-> *texture-relocate-later* move) (* (-> page segment 2 size) 4)) - ) - (else - (set! (-> page segment 2 size) (the-as uint 0)) - (set! (-> heap current) (-> page segment 2 block-data)) - ) ) - ) (set! (-> *texture-pool* allocate-func) texture-page-common-allocate) (set! (-> *level* loading-level code-memory-end) (the-as pointer page)) page ) ;; definition for function texture-page-near-allocate-1 -(defun - texture-page-near-allocate-1 - ((pool texture-pool) (page texture-page) (heap kheap) (mode int)) +(defun texture-page-near-allocate-1 ((pool texture-pool) (page texture-page) (heap kheap) (mode int)) (let ((seg2-size (logand -4096 (+ (-> page segment 2 size) 4095)))) - (let - ((seg2-dest - (+ (- #x62000 (the-as int seg2-size)) (-> pool segment-near dest)) + (let ((seg2-dest (+ (- #x62000 (the-as int seg2-size)) (-> pool segment-near dest)))) + (relocate-dests! page (the-as int seg2-dest) 2) ) - ) - (relocate-dests! page (the-as int seg2-dest) 2) - ) - (let ((common-dest (-> pool segment-common dest))) - (dotimes (page-seg-idx 2) - (relocate-dests! page (the-as int common-dest) page-seg-idx) - (+! common-dest (-> page segment page-seg-idx size)) - ) - ) - (upload-now! page 2) - (update-vram-pages pool (-> pool segment-near) page 2) - (cond - ((< (the-as uint #x24000) seg2-size) - (set! (-> page segment 2 size) (+ -147456 seg2-size)) - (set! - (-> heap current) - (&+ (-> page segment 2 block-data) (* (-> page segment 2 size) 4)) + (let ((common-dest (-> pool segment-common dest))) + (dotimes (page-seg-idx 2) + (relocate-dests! page (the-as int common-dest) page-seg-idx) + (+! common-dest (-> page segment page-seg-idx size)) + ) + ) + (upload-now! page 2) + (update-vram-pages pool (-> pool segment-near) page 2) + (cond + ((< (the-as uint #x24000) seg2-size) + (set! (-> page segment 2 size) (+ -147456 seg2-size)) + (set! (-> heap current) (&+ (-> page segment 2 block-data) (* (-> page segment 2 size) 4))) + ) + (else + (set! (-> page segment 2 size) (the-as uint 0)) + (set! (-> heap current) (-> page segment 2 block-data)) + ) ) - ) - (else - (set! (-> page segment 2 size) (the-as uint 0)) - (set! (-> heap current) (-> page segment 2 block-data)) - ) ) - ) (set! (-> *texture-pool* allocate-func) texture-page-common-allocate) (set! (-> *level* loading-level code-memory-end) (the-as pointer page)) page ) ;; definition for function texture-page-level-allocate -(defun - texture-page-level-allocate - ((pool texture-pool) (page texture-page) (heap kheap) (mode int)) +(defun texture-page-level-allocate ((pool texture-pool) (page texture-page) (heap kheap) (mode int)) (let ((common-id (lookup-boot-common-id pool mode))) - (cond - ((>= common-id 0) - (texture-page-common-allocate pool page heap mode) - (set! (-> pool common-page common-id) page) - ) - (else - (let ((level-idx (-> *level* loading-level index))) - (cond - ((zero? level-idx) - (texture-page-near-allocate-0 pool page heap mode) - ) - ((= level-idx 1) - (texture-page-near-allocate-1 pool page heap mode) - ) + (cond + ((>= common-id 0) + (texture-page-common-allocate pool page heap mode) + (set! (-> pool common-page common-id) page) ) + (else + (let ((level-idx (-> *level* loading-level index))) + (cond + ((zero? level-idx) + (texture-page-near-allocate-0 pool page heap mode) + ) + ((= level-idx 1) + (texture-page-near-allocate-1 pool page heap mode) + ) + ) + ) + ) ) - ) ) - ) page ) ;; definition for function texture-page-size-check -(defun - texture-page-size-check - ((pool texture-pool) (level level) (hide-prints symbol)) +(defun texture-page-size-check ((pool texture-pool) (level level) (hide-prints symbol)) (let ((oversize 0)) - (let* ((tfrag-page (-> level texture-page 0)) - (tfrag-mip0-size (-> tfrag-page mip0-size)) + (let* ((tfrag-page (-> level texture-page 0)) + (tfrag-mip0-size (-> tfrag-page mip0-size)) + ) + (when tfrag-page + (if (< (the-as uint #x3e000) tfrag-mip0-size) + (set! oversize (logior oversize 1)) + ) + (if (< (the-as uint #x1c000) (+ (-> tfrag-page segment 0 size) (-> tfrag-page segment 1 size))) + (set! oversize (logior oversize 1)) + ) + (when (not hide-prints) + (format + #t + "~Tlevel ~10S TFRAG tpage ~A uses ~DK of near ~DK~%" + (-> level name) + (-> tfrag-page name) + (shr tfrag-mip0-size 8) + 992 + ) + (format + #t + "~Tlevel ~10S TFRAG tpage ~A uses ~DK of common ~DK~%" + (-> level name) + (-> tfrag-page name) + (shr (+ (-> tfrag-page segment 0 size) (-> tfrag-page segment 1 size)) 8) + 448 + ) ) - (when tfrag-page - (if (< (the-as uint #x3e000) tfrag-mip0-size) - (set! oversize (logior oversize 1)) + ) ) - (if - (< - (the-as uint #x1c000) - (+ (-> tfrag-page segment 0 size) (-> tfrag-page segment 1 size)) - ) - (set! oversize (logior oversize 1)) + (let ((pris-page (-> level texture-page 1))) + (when pris-page + (if (< (the-as uint #x1c000) (-> pris-page size)) + (set! oversize (logior oversize 2)) + ) + (if (not hide-prints) + (format + #t + "~Tlevel ~10S PRIS tpage ~A uses ~DK of common ~DK~%" + (-> level name) + (-> pris-page name) + (shr (-> pris-page size) 8) + 448 + ) + ) + ) ) - (when (not hide-prints) - (format - #t - "~Tlevel ~10S TFRAG tpage ~A uses ~DK of near ~DK~%" - (-> level name) - (-> tfrag-page name) - (shr tfrag-mip0-size 8) - 992 - ) - (format - #t - "~Tlevel ~10S TFRAG tpage ~A uses ~DK of common ~DK~%" - (-> level name) - (-> tfrag-page name) - (shr (+ (-> tfrag-page segment 0 size) (-> tfrag-page segment 1 size)) 8) - 448 - ) + (let ((shrub-page (-> level texture-page 2))) + (when shrub-page + (if (< (the-as uint #x1c000) (-> shrub-page size)) + (set! oversize (logior oversize 4)) + ) + (if (not hide-prints) + (format + #t + "~Tlevel ~10S SHRUB tpage ~A uses ~DK of common ~DK~%" + (-> level name) + (-> shrub-page name) + (shr (-> shrub-page size) 8) + 448 + ) + ) + ) ) - ) + (let ((alpha-page (-> level texture-page 3))) + (when alpha-page + (if (< (the-as uint #x1c000) (-> alpha-page size)) + (set! oversize (logior oversize 8)) + ) + (if (not hide-prints) + (format + #t + "~Tlevel ~10S ALPHA tpage ~A uses ~DK of common ~DK~%" + (-> level name) + (-> alpha-page name) + (shr (-> alpha-page size) 8) + 448 + ) + ) + ) + ) + (let ((water-page (-> level texture-page 4))) + (when water-page + (if (< (the-as uint #x1c000) (-> water-page size)) + (set! oversize (logior oversize 16)) + ) + (if (not hide-prints) + (format + #t + "~Tlevel ~10S WATER tpage ~A uses ~DK of common ~DK~%" + (-> level name) + (-> water-page name) + (shr (-> water-page size) 8) + 448 + ) + ) + ) + ) + oversize ) - (let ((pris-page (-> level texture-page 1))) - (when pris-page - (if (< (the-as uint #x1c000) (-> pris-page size)) - (set! oversize (logior oversize 2)) - ) - (if (not hide-prints) - (format - #t - "~Tlevel ~10S PRIS tpage ~A uses ~DK of common ~DK~%" - (-> level name) - (-> pris-page name) - (shr (-> pris-page size) 8) - 448 - ) - ) - ) - ) - (let ((shrub-page (-> level texture-page 2))) - (when shrub-page - (if (< (the-as uint #x1c000) (-> shrub-page size)) - (set! oversize (logior oversize 4)) - ) - (if (not hide-prints) - (format - #t - "~Tlevel ~10S SHRUB tpage ~A uses ~DK of common ~DK~%" - (-> level name) - (-> shrub-page name) - (shr (-> shrub-page size) 8) - 448 - ) - ) - ) - ) - (let ((alpha-page (-> level texture-page 3))) - (when alpha-page - (if (< (the-as uint #x1c000) (-> alpha-page size)) - (set! oversize (logior oversize 8)) - ) - (if (not hide-prints) - (format - #t - "~Tlevel ~10S ALPHA tpage ~A uses ~DK of common ~DK~%" - (-> level name) - (-> alpha-page name) - (shr (-> alpha-page size) 8) - 448 - ) - ) - ) - ) - (let ((water-page (-> level texture-page 4))) - (when water-page - (if (< (the-as uint #x1c000) (-> water-page size)) - (set! oversize (logior oversize 16)) - ) - (if (not hide-prints) - (format - #t - "~Tlevel ~10S WATER tpage ~A uses ~DK of common ~DK~%" - (-> level name) - (-> water-page name) - (shr (-> water-page size) 8) - 448 - ) - ) - ) - ) - oversize - ) ) ;; definition for method 13 of type texture-pool ;; INFO: Return type mismatch int vs none. -(defmethod - login-level-textures - texture-pool - ((obj texture-pool) - (level level) - (max-page-kind int) - (id-array (pointer texture-id)) - ) +(defmethod login-level-textures texture-pool ((obj texture-pool) (level level) (max-page-kind int) (id-array (pointer texture-id))) (dotimes (page-idx 9) - (set! (-> level texture-page page-idx) #f) - ) + (set! (-> level texture-page page-idx) #f) + ) (when (>= max-page-kind 0) - (let - ((tfrag-dir-entry - (texture-page-login (-> id-array 0) (if (= (-> level index) 1) - texture-page-near-allocate-1 - texture-page-near-allocate-0 - ) - loading-level - ) + (let ((tfrag-dir-entry (texture-page-login + (-> id-array 0) + (if (= (-> level index) 1) + texture-page-near-allocate-1 + texture-page-near-allocate-0 + ) + loading-level + ) + ) + ) + (if tfrag-dir-entry + (set! (-> level texture-page 0) (-> tfrag-dir-entry page)) + ) ) - ) - (if tfrag-dir-entry - (set! (-> level texture-page 0) (-> tfrag-dir-entry page)) - ) ) - ) (when (>= max-page-kind 1) - (let - ((pris-dir-entry - (texture-page-login - (-> id-array 1) - texture-page-common-allocate - loading-level - ) + (let ((pris-dir-entry (texture-page-login (-> id-array 1) texture-page-common-allocate loading-level))) + (if pris-dir-entry + (set! (-> level texture-page 1) (-> pris-dir-entry page)) + ) ) - ) - (if pris-dir-entry - (set! (-> level texture-page 1) (-> pris-dir-entry page)) - ) ) - ) (when (>= max-page-kind 2) - (let - ((shrub-dir-entry - (texture-page-login - (-> id-array 2) - texture-page-common-allocate - loading-level - ) + (let ((shrub-dir-entry (texture-page-login (-> id-array 2) texture-page-common-allocate loading-level))) + (if shrub-dir-entry + (set! (-> level texture-page 2) (-> shrub-dir-entry page)) + ) ) - ) - (if shrub-dir-entry - (set! (-> level texture-page 2) (-> shrub-dir-entry page)) - ) ) - ) (when (>= max-page-kind 3) - (let - ((alpha-dir-entry - (texture-page-login - (-> id-array 3) - texture-page-common-allocate - loading-level - ) + (let ((alpha-dir-entry (texture-page-login (-> id-array 3) texture-page-common-allocate loading-level))) + (if alpha-dir-entry + (set! (-> level texture-page 3) (-> alpha-dir-entry page)) + ) ) - ) - (if alpha-dir-entry - (set! (-> level texture-page 3) (-> alpha-dir-entry page)) - ) ) - ) (when (>= max-page-kind 4) - (let - ((water-dir-entry - (texture-page-login - (-> id-array 4) - texture-page-common-allocate - loading-level - ) + (let ((water-dir-entry (texture-page-login (-> id-array 4) texture-page-common-allocate loading-level))) + (if water-dir-entry + (set! (-> level texture-page 4) (-> water-dir-entry page)) + ) ) - ) - (if water-dir-entry - (set! (-> level texture-page 4) (-> water-dir-entry page)) - ) ) - ) (let ((overflow-bits (texture-page-size-check obj level #t))) - (when (nonzero? overflow-bits) - (format - #t - "-------------------- tpage overflow error #x~X~%" - overflow-bits - ) - (texture-page-size-check obj level #f) - (format #t "--------------------~%") + (when (nonzero? overflow-bits) + (format #t "-------------------- tpage overflow error #x~X~%" overflow-bits) + (texture-page-size-check obj level #f) + (format #t "--------------------~%") + ) ) - ) 0 (none) ) ;; definition for method 14 of type texture-pool ;; INFO: Return type mismatch int vs none. -(defmethod - add-tex-to-dma! - texture-pool - ((obj texture-pool) (level level) (tex-page-kind int)) +(defmethod add-tex-to-dma! texture-pool ((obj texture-pool) (level level) (tex-page-kind int)) (when (zero? tex-page-kind) - (let ((tfrag-page (-> level texture-page 0)) - (tfrag-bucket (if (zero? (-> level index)) - 5 - 12 + (let ((tfrag-page (-> level texture-page 0)) + (tfrag-bucket (if (zero? (-> level index)) + 5 + 12 + ) ) - ) - (distance - (fmin - (fmin - (-> level closest-object 0) - (if - (and - (< 0.0 (-> level level-distance)) - (< - (+ 409600.0 (-> level level-distance)) - (-> level closest-object 5) - ) + (distance + (fmin + (fmin + (-> level closest-object 0) + (if (and (< 0.0 (-> level level-distance)) (< (+ 409600.0 (-> level level-distance)) (-> level closest-object 5))) + 4095996000.0 + (-> level closest-object 5) + ) + ) + (-> level closest-object 6) + ) + ) + ) + (when tfrag-page + (set! (-> level upload-size 0) 0) + (if (< distance 81920.0) + (+! + (-> level upload-size 0) + (upload-vram-pages obj (-> obj segment-near) tfrag-page 2 (the-as bucket-id tfrag-bucket)) + ) + ) + (cond + ((= distance 4095996000.0) + ) + ((< 102400.0 distance) + (+! + (-> level upload-size 0) + (upload-vram-pages obj (-> obj segment-common) tfrag-page 0 (the-as bucket-id tfrag-bucket)) + ) + ) + (else + (+! + (-> level upload-size 0) + (upload-vram-pages obj (-> obj segment-common) tfrag-page -2 (the-as bucket-id tfrag-bucket)) ) - 4095996000.0 - (-> level closest-object 5) - ) ) - (-> level closest-object 6) - ) ) - ) - (when tfrag-page - (set! (-> level upload-size 0) 0) - (if (< distance 81920.0) - (+! - (-> level upload-size 0) - (upload-vram-pages - obj - (-> obj segment-near) - tfrag-page - 2 - (the-as bucket-id tfrag-bucket) ) - ) ) - (cond - ((= distance 4095996000.0) - ) - ((< 102400.0 distance) - (+! - (-> level upload-size 0) - (upload-vram-pages - obj - (-> obj segment-common) - tfrag-page - 0 - (the-as bucket-id tfrag-bucket) - ) - ) - ) - (else - (+! - (-> level upload-size 0) - (upload-vram-pages - obj - (-> obj segment-common) - tfrag-page - -2 - (the-as bucket-id tfrag-bucket) - ) - ) - ) - ) - ) + 0 ) - 0 - ) (when (= tex-page-kind 1) - (let ((pris-page (-> level texture-page 1))) - (when (and pris-page (nonzero? pris-page)) - (let ((pris-bucket (if (zero? (-> level index)) - 48 - 51 - ) - ) - ) - (set! - (-> level upload-size 1) - (upload-vram-pages-pris - obj - (-> obj segment-common) - pris-page - (the-as bucket-id pris-bucket) - (the-as int (-> level texture-mask 7)) + (let ((pris-page (-> level texture-page 1))) + (when (and pris-page (nonzero? pris-page)) + (let ((pris-bucket (if (zero? (-> level index)) + 48 + 51 + ) + ) + ) + (set! (-> level upload-size 1) (upload-vram-pages-pris + obj + (-> obj segment-common) + pris-page + (the-as bucket-id pris-bucket) + (the-as int (-> level texture-mask 7)) + ) + ) + ) ) - ) ) - ) ) - ) (when (= tex-page-kind 2) - (let ((shrub-page (-> level texture-page 2)) - (shrub-closest (-> level closest-object 2)) - ) - (when (and shrub-page (nonzero? shrub-page)) - (let ((shrub-bucket (if (zero? (-> level index)) - 19 - 25 + (let ((shrub-page (-> level texture-page 2)) + (shrub-closest (-> level closest-object 2)) + ) + (when (and shrub-page (nonzero? shrub-page)) + (let ((shrub-bucket (if (zero? (-> level index)) + 19 + 25 + ) + ) + (shrub-mode (cond + ((= shrub-closest 4095996000.0) + -3 + ) + ((< 102400.0 shrub-closest) + 0 + ) + ((< 81920.0 shrub-closest) + -2 + ) + (else + -1 + ) + ) ) - ) - (shrub-mode (cond - ((= shrub-closest 4095996000.0) - -3 - ) - ((< 102400.0 shrub-closest) - 0 - ) - ((< 81920.0 shrub-closest) - -2 - ) - (else - -1 - ) - ) - ) - ) - (set! - (-> level upload-size 2) - (upload-vram-pages - obj - (-> obj segment-common) - shrub-page - shrub-mode - (the-as bucket-id shrub-bucket) + ) + (set! (-> level upload-size 2) + (upload-vram-pages obj (-> obj segment-common) shrub-page shrub-mode (the-as bucket-id shrub-bucket)) + ) + ) ) - ) ) - ) ) - ) (when (= tex-page-kind 3) - (let ((alpha-page (-> level texture-page 3)) - (alpha-closest (-> level closest-object 3)) - ) - (when (and alpha-page (nonzero? alpha-page)) - (let ((alpha-bucket (if (zero? (-> level index)) - 31 - 38 + (let ((alpha-page (-> level texture-page 3)) + (alpha-closest (-> level closest-object 3)) + ) + (when (and alpha-page (nonzero? alpha-page)) + (let ((alpha-bucket (if (zero? (-> level index)) + 31 + 38 + ) + ) + (alpha-mode (cond + ((< 348160.0 alpha-closest) + 0 + ) + ((< 163840.0 alpha-closest) + -2 + ) + (else + -1 + ) + ) ) + ) + (let ((alpha-dest-chunk (shr (-> alpha-page segment 0 dest) 12))) + (when (movie?) + (set! (-> obj ids alpha-dest-chunk) (the-as uint 0)) + (set! (-> obj ids (+ alpha-dest-chunk 1)) (the-as uint 0)) + 0 + ) ) - (alpha-mode (cond - ((< 348160.0 alpha-closest) - 0 - ) - ((< 163840.0 alpha-closest) - -2 - ) - (else - -1 - ) - ) - ) - ) - (let ((alpha-dest-chunk (shr (-> alpha-page segment 0 dest) 12))) - (when (movie?) - (set! (-> obj ids alpha-dest-chunk) (the-as uint 0)) - (set! (-> obj ids (+ alpha-dest-chunk 1)) (the-as uint 0)) - 0 + (set! (-> level upload-size 3) + (upload-vram-pages obj (-> obj segment-common) alpha-page alpha-mode (the-as bucket-id alpha-bucket)) + ) + ) ) - ) - (set! - (-> level upload-size 3) - (upload-vram-pages - obj - (-> obj segment-common) - alpha-page - alpha-mode - (the-as bucket-id alpha-bucket) - ) - ) ) - ) ) - ) (when (= tex-page-kind 4) - (let ((water-page (-> level texture-page 4))) - (when (and water-page (nonzero? water-page)) - (let ((water-bucket (if (zero? (-> level index)) - 57 - 60 - ) - ) - ) - (set! - (-> level upload-size 4) - (upload-vram-pages-pris - obj - (-> obj segment-common) - water-page - (the-as bucket-id water-bucket) - (the-as int (-> level texture-mask 8)) + (let ((water-page (-> level texture-page 4))) + (when (and water-page (nonzero? water-page)) + (let ((water-bucket (if (zero? (-> level index)) + 57 + 60 + ) + ) + ) + (set! (-> level upload-size 4) (upload-vram-pages-pris + obj + (-> obj segment-common) + water-page + (the-as bucket-id water-bucket) + (the-as int (-> level texture-mask 8)) + ) + ) + ) ) - ) ) - ) ) - ) 0 (none) ) @@ -1851,20 +1604,13 @@ ;; definition for method 21 of type texture-pool (defmethod upload-one-common! texture-pool ((obj texture-pool) (arg0 level)) (dotimes (v1-0 32) - (let ((a2-0 (-> obj common-page v1-0))) - (when - (and (nonzero? a2-0) (logtest? (-> obj common-page-mask) (ash 1 v1-0))) - (upload-vram-pages - obj - (-> obj segment-common) - a2-0 - -2 - (bucket-id pre-sprite-textures) + (let ((a2-0 (-> obj common-page v1-0))) + (when (and (nonzero? a2-0) (logtest? (-> obj common-page-mask) (ash 1 v1-0))) + (upload-vram-pages obj (-> obj segment-common) a2-0 -2 (bucket-id pre-sprite-textures)) + (return #f) + ) ) - (return #f) - ) ) - ) #f ) @@ -1872,275 +1618,219 @@ ;; INFO: Return type mismatch int vs none. (defmethod add-irq-to-tex-buckets! level ((obj level)) (cond - ((zero? (-> obj index)) - (let* - ((v1-4 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (a2-0 (-> v1-4 base)) - ) - (let* ((a0-4 v1-4) - (a1-0 (the-as object (-> a0-4 base))) + ((zero? (-> obj index)) + (let* ((v1-4 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (a2-0 (-> v1-4 base)) ) - (set! - (-> (the-as dma-packet a1-0) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) + (let* ((a0-4 v1-4) + (a1-0 (the-as object (-> a0-4 base))) + ) + (set! (-> (the-as dma-packet a1-0) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-0) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-0) vif1) (new 'static 'vif-tag :irq #x1)) + (set! (-> a0-4 base) (&+ (the-as pointer a1-0) 16)) + ) + (let ((a3-3 (-> v1-4 base))) + (let ((a0-5 (the-as object (-> v1-4 base)))) + (set! (-> (the-as dma-packet a0-5) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet a0-5) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-5) vif1) (new 'static 'vif-tag)) + (set! (-> v1-4 base) (&+ (the-as pointer a0-5) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id tfrag-tex0) + a2-0 + (the-as (pointer dma-tag) a3-3) + ) + ) ) - (set! (-> (the-as dma-packet a1-0) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a1-0) vif1) (new 'static 'vif-tag :irq #x1)) - (set! (-> a0-4 base) (&+ (the-as pointer a1-0) 16)) - ) - (let ((a3-3 (-> v1-4 base))) - (let ((a0-5 (the-as object (-> v1-4 base)))) - (set! - (-> (the-as dma-packet a0-5) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet a0-5) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a0-5) vif1) (new 'static 'vif-tag)) - (set! (-> v1-4 base) (&+ (the-as pointer a0-5) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id tfrag-tex0) - a2-0 - (the-as (pointer dma-tag) a3-3) - ) - ) - ) - (let* - ((v1-12 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (a2-1 (-> v1-12 base)) - ) - (let* ((a0-14 v1-12) - (a1-4 (the-as object (-> a0-14 base))) + (let* ((v1-12 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (a2-1 (-> v1-12 base)) ) - (set! - (-> (the-as dma-packet a1-4) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) + (let* ((a0-14 v1-12) + (a1-4 (the-as object (-> a0-14 base))) + ) + (set! (-> (the-as dma-packet a1-4) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-4) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-4) vif1) (new 'static 'vif-tag :irq #x1)) + (set! (-> a0-14 base) (&+ (the-as pointer a1-4) 16)) + ) + (let ((a3-7 (-> v1-12 base))) + (let ((a0-15 (the-as object (-> v1-12 base)))) + (set! (-> (the-as dma-packet a0-15) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet a0-15) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-15) vif1) (new 'static 'vif-tag)) + (set! (-> v1-12 base) (&+ (the-as pointer a0-15) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id pris-tex0) + a2-1 + (the-as (pointer dma-tag) a3-7) + ) + ) ) - (set! (-> (the-as dma-packet a1-4) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a1-4) vif1) (new 'static 'vif-tag :irq #x1)) - (set! (-> a0-14 base) (&+ (the-as pointer a1-4) 16)) - ) - (let ((a3-7 (-> v1-12 base))) - (let ((a0-15 (the-as object (-> v1-12 base)))) - (set! - (-> (the-as dma-packet a0-15) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet a0-15) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a0-15) vif1) (new 'static 'vif-tag)) - (set! (-> v1-12 base) (&+ (the-as pointer a0-15) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id pris-tex0) - a2-1 - (the-as (pointer dma-tag) a3-7) - ) - ) - ) - (let* - ((v1-20 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (a2-2 (-> v1-20 base)) - ) - (let* ((a0-24 v1-20) - (a1-8 (the-as object (-> a0-24 base))) + (let* ((v1-20 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (a2-2 (-> v1-20 base)) ) - (set! - (-> (the-as dma-packet a1-8) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) + (let* ((a0-24 v1-20) + (a1-8 (the-as object (-> a0-24 base))) + ) + (set! (-> (the-as dma-packet a1-8) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-8) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-8) vif1) (new 'static 'vif-tag :irq #x1)) + (set! (-> a0-24 base) (&+ (the-as pointer a1-8) 16)) + ) + (let ((a3-11 (-> v1-20 base))) + (let ((a0-25 (the-as object (-> v1-20 base)))) + (set! (-> (the-as dma-packet a0-25) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet a0-25) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-25) vif1) (new 'static 'vif-tag)) + (set! (-> v1-20 base) (&+ (the-as pointer a0-25) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id shrub-tex0) + a2-2 + (the-as (pointer dma-tag) a3-11) + ) + ) ) - (set! (-> (the-as dma-packet a1-8) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a1-8) vif1) (new 'static 'vif-tag :irq #x1)) - (set! (-> a0-24 base) (&+ (the-as pointer a1-8) 16)) - ) - (let ((a3-11 (-> v1-20 base))) - (let ((a0-25 (the-as object (-> v1-20 base)))) - (set! - (-> (the-as dma-packet a0-25) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet a0-25) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a0-25) vif1) (new 'static 'vif-tag)) - (set! (-> v1-20 base) (&+ (the-as pointer a0-25) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id shrub-tex0) - a2-2 - (the-as (pointer dma-tag) a3-11) - ) - ) - ) - (let* - ((v1-28 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (a2-3 (-> v1-28 base)) - ) - (let* ((a0-34 v1-28) - (a1-12 (the-as object (-> a0-34 base))) + (let* ((v1-28 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (a2-3 (-> v1-28 base)) ) - (set! - (-> (the-as dma-packet a1-12) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) + (let* ((a0-34 v1-28) + (a1-12 (the-as object (-> a0-34 base))) + ) + (set! (-> (the-as dma-packet a1-12) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-12) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-12) vif1) (new 'static 'vif-tag :irq #x1)) + (set! (-> a0-34 base) (&+ (the-as pointer a1-12) 16)) + ) + (let ((a3-15 (-> v1-28 base))) + (let ((a0-35 (the-as object (-> v1-28 base)))) + (set! (-> (the-as dma-packet a0-35) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet a0-35) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-35) vif1) (new 'static 'vif-tag)) + (set! (-> v1-28 base) (&+ (the-as pointer a0-35) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id alpha-tex0) + a2-3 + (the-as (pointer dma-tag) a3-15) + ) + ) ) - (set! (-> (the-as dma-packet a1-12) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a1-12) vif1) (new 'static 'vif-tag :irq #x1)) - (set! (-> a0-34 base) (&+ (the-as pointer a1-12) 16)) - ) - (let ((a3-15 (-> v1-28 base))) - (let ((a0-35 (the-as object (-> v1-28 base)))) - (set! - (-> (the-as dma-packet a0-35) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet a0-35) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a0-35) vif1) (new 'static 'vif-tag)) - (set! (-> v1-28 base) (&+ (the-as pointer a0-35) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id alpha-tex0) - a2-3 - (the-as (pointer dma-tag) a3-15) - ) - ) ) + (else + (let* ((v1-36 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (a2-4 (-> v1-36 base)) + ) + (let* ((a0-44 v1-36) + (a1-16 (the-as object (-> a0-44 base))) + ) + (set! (-> (the-as dma-packet a1-16) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-16) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-16) vif1) (new 'static 'vif-tag :irq #x1)) + (set! (-> a0-44 base) (&+ (the-as pointer a1-16) 16)) + ) + (let ((a3-19 (-> v1-36 base))) + (let ((a0-45 (the-as object (-> v1-36 base)))) + (set! (-> (the-as dma-packet a0-45) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet a0-45) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-45) vif1) (new 'static 'vif-tag)) + (set! (-> v1-36 base) (&+ (the-as pointer a0-45) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id tfrag-tex1) + a2-4 + (the-as (pointer dma-tag) a3-19) + ) + ) + ) + (let* ((v1-44 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (a2-5 (-> v1-44 base)) + ) + (let* ((a0-54 v1-44) + (a1-20 (the-as object (-> a0-54 base))) + ) + (set! (-> (the-as dma-packet a1-20) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-20) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-20) vif1) (new 'static 'vif-tag :irq #x1)) + (set! (-> a0-54 base) (&+ (the-as pointer a1-20) 16)) + ) + (let ((a3-23 (-> v1-44 base))) + (let ((a0-55 (the-as object (-> v1-44 base)))) + (set! (-> (the-as dma-packet a0-55) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet a0-55) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-55) vif1) (new 'static 'vif-tag)) + (set! (-> v1-44 base) (&+ (the-as pointer a0-55) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id pris-tex1) + a2-5 + (the-as (pointer dma-tag) a3-23) + ) + ) + ) + (let* ((v1-52 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (a2-6 (-> v1-52 base)) + ) + (let* ((a0-64 v1-52) + (a1-24 (the-as object (-> a0-64 base))) + ) + (set! (-> (the-as dma-packet a1-24) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-24) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-24) vif1) (new 'static 'vif-tag :irq #x1)) + (set! (-> a0-64 base) (&+ (the-as pointer a1-24) 16)) + ) + (let ((a3-27 (-> v1-52 base))) + (let ((a0-65 (the-as object (-> v1-52 base)))) + (set! (-> (the-as dma-packet a0-65) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet a0-65) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-65) vif1) (new 'static 'vif-tag)) + (set! (-> v1-52 base) (&+ (the-as pointer a0-65) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id shrub-tex1) + a2-6 + (the-as (pointer dma-tag) a3-27) + ) + ) + ) + (let* ((v1-60 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (a2-7 (-> v1-60 base)) + ) + (let* ((a0-74 v1-60) + (a1-28 (the-as object (-> a0-74 base))) + ) + (set! (-> (the-as dma-packet a1-28) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-28) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a1-28) vif1) (new 'static 'vif-tag :irq #x1)) + (set! (-> a0-74 base) (&+ (the-as pointer a1-28) 16)) + ) + (let ((a3-31 (-> v1-60 base))) + (let ((a0-75 (the-as object (-> v1-60 base)))) + (set! (-> (the-as dma-packet a0-75) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet a0-75) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-75) vif1) (new 'static 'vif-tag)) + (set! (-> v1-60 base) (&+ (the-as pointer a0-75) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id alpha-tex1) + a2-7 + (the-as (pointer dma-tag) a3-31) + ) + ) + ) + ) ) - (else - (let* - ((v1-36 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (a2-4 (-> v1-36 base)) - ) - (let* ((a0-44 v1-36) - (a1-16 (the-as object (-> a0-44 base))) - ) - (set! - (-> (the-as dma-packet a1-16) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a1-16) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a1-16) vif1) (new 'static 'vif-tag :irq #x1)) - (set! (-> a0-44 base) (&+ (the-as pointer a1-16) 16)) - ) - (let ((a3-19 (-> v1-36 base))) - (let ((a0-45 (the-as object (-> v1-36 base)))) - (set! - (-> (the-as dma-packet a0-45) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet a0-45) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a0-45) vif1) (new 'static 'vif-tag)) - (set! (-> v1-36 base) (&+ (the-as pointer a0-45) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id tfrag-tex1) - a2-4 - (the-as (pointer dma-tag) a3-19) - ) - ) - ) - (let* - ((v1-44 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (a2-5 (-> v1-44 base)) - ) - (let* ((a0-54 v1-44) - (a1-20 (the-as object (-> a0-54 base))) - ) - (set! - (-> (the-as dma-packet a1-20) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a1-20) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a1-20) vif1) (new 'static 'vif-tag :irq #x1)) - (set! (-> a0-54 base) (&+ (the-as pointer a1-20) 16)) - ) - (let ((a3-23 (-> v1-44 base))) - (let ((a0-55 (the-as object (-> v1-44 base)))) - (set! - (-> (the-as dma-packet a0-55) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet a0-55) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a0-55) vif1) (new 'static 'vif-tag)) - (set! (-> v1-44 base) (&+ (the-as pointer a0-55) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id pris-tex1) - a2-5 - (the-as (pointer dma-tag) a3-23) - ) - ) - ) - (let* - ((v1-52 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (a2-6 (-> v1-52 base)) - ) - (let* ((a0-64 v1-52) - (a1-24 (the-as object (-> a0-64 base))) - ) - (set! - (-> (the-as dma-packet a1-24) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a1-24) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a1-24) vif1) (new 'static 'vif-tag :irq #x1)) - (set! (-> a0-64 base) (&+ (the-as pointer a1-24) 16)) - ) - (let ((a3-27 (-> v1-52 base))) - (let ((a0-65 (the-as object (-> v1-52 base)))) - (set! - (-> (the-as dma-packet a0-65) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet a0-65) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a0-65) vif1) (new 'static 'vif-tag)) - (set! (-> v1-52 base) (&+ (the-as pointer a0-65) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id shrub-tex1) - a2-6 - (the-as (pointer dma-tag) a3-27) - ) - ) - ) - (let* - ((v1-60 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (a2-7 (-> v1-60 base)) - ) - (let* ((a0-74 v1-60) - (a1-28 (the-as object (-> a0-74 base))) - ) - (set! - (-> (the-as dma-packet a1-28) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a1-28) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a1-28) vif1) (new 'static 'vif-tag :irq #x1)) - (set! (-> a0-74 base) (&+ (the-as pointer a1-28) 16)) - ) - (let ((a3-31 (-> v1-60 base))) - (let ((a0-75 (the-as object (-> v1-60 base)))) - (set! - (-> (the-as dma-packet a0-75) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet a0-75) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet a0-75) vif1) (new 'static 'vif-tag)) - (set! (-> v1-60 base) (&+ (the-as pointer a0-75) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id alpha-tex1) - a2-7 - (the-as (pointer dma-tag) a3-31) - ) - ) - ) - ) - ) 0 (none) ) @@ -2152,418 +1842,313 @@ ;; INFO: Return type mismatch int vs none. (defmethod upload-now! texture-page ((obj texture-page) (arg0 int)) (let ((gp-0 *txt-dma-list*)) - (let ((v1-0 gp-0)) - (set! (-> v1-0 base) (-> v1-0 data)) - (set! (-> v1-0 end) (&-> v1-0 data-buffer (-> v1-0 allocated-length))) - ) - (add-to-dma-buffer obj gp-0 arg0) - (let* ((v1-3 gp-0) - (a0-1 (the-as object (-> v1-3 base))) - ) - (set! - (-> (the-as dma-packet a0-1) dma) - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a0-1) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-1) vif1) - (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-3 base) (&+ (the-as pointer a0-1) 16)) - ) - (let* ((v1-4 gp-0) - (a0-3 (the-as object (-> v1-4 base))) - ) - (set! - (-> (the-as gs-gif-tag a0-3) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1) - ) - (set! - (-> (the-as gs-gif-tag a0-3) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) + (let ((v1-0 gp-0)) + (set! (-> v1-0 base) (-> v1-0 data)) + (set! (-> v1-0 end) (&-> v1-0 data-buffer (-> v1-0 allocated-length))) ) - ) - (set! (-> v1-4 base) (&+ (the-as pointer a0-3) 16)) + (add-to-dma-buffer obj gp-0 arg0) + (let* ((v1-3 gp-0) + (a0-1 (the-as object (-> v1-3 base))) + ) + (set! (-> (the-as dma-packet a0-1) dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-1) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-1) vif1) (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-3 base) (&+ (the-as pointer a0-1) 16)) + ) + (let* ((v1-4 gp-0) + (a0-3 (the-as object (-> v1-4 base))) + ) + (set! (-> (the-as gs-gif-tag a0-3) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) + (set! (-> (the-as gs-gif-tag a0-3) regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-4 base) (&+ (the-as pointer a0-3) 16)) + ) + (let* ((v1-5 gp-0) + (a0-5 (-> v1-5 base)) + ) + (set! (-> (the-as (pointer uint64) a0-5) 0) (the-as uint 1)) + (set! (-> (the-as (pointer gs-reg64) a0-5) 1) (gs-reg64 texflush)) + (set! (-> v1-5 base) (&+ a0-5 16)) + ) + (let* ((v1-6 gp-0) + (a0-7 (the-as object (-> v1-6 base))) + ) + (set! (-> (the-as dma-packet a0-7) dma) (new 'static 'dma-tag :id (dma-tag-id end))) + (set! (-> (the-as (pointer uint64) a0-7) 1) (the-as uint 0)) + (set! (-> v1-6 base) (&+ (the-as pointer a0-7) 16)) + ) + (dma-buffer-send-chain (the-as dma-bank-source #x1000a000) gp-0) ) - (let* ((v1-5 gp-0) - (a0-5 (-> v1-5 base)) - ) - (set! (-> (the-as (pointer uint64) a0-5) 0) (the-as uint 1)) - (set! (-> (the-as (pointer gs-reg64) a0-5) 1) (gs-reg64 texflush)) - (set! (-> v1-5 base) (&+ a0-5 16)) - ) - (let* ((v1-6 gp-0) - (a0-7 (the-as object (-> v1-6 base))) - ) - (set! - (-> (the-as dma-packet a0-7) dma) - (new 'static 'dma-tag :id (dma-tag-id end)) - ) - (set! (-> (the-as (pointer uint64) a0-7) 1) (the-as uint 0)) - (set! (-> v1-6 base) (&+ (the-as pointer a0-7) 16)) - ) - (dma-buffer-send-chain (the-as dma-bank-source #x1000a000) gp-0) - ) (dma-sync (the-as pointer #x1000a000) 0 0) (none) ) ;; definition for method 13 of type texture-page -(defmethod - add-to-dma-buffer - texture-page - ((obj texture-page) (dma-buff dma-buffer) (mode int)) +(defmethod add-to-dma-buffer texture-page ((obj texture-page) (dma-buff dma-buffer) (mode int)) (local-vars (total-size int)) (let ((v1-0 mode)) - (set! total-size (cond - ((= v1-0 -3) - 0 - ) - ((= v1-0 -2) - (the-as - int - (+ (-> obj segment 0 size) (-> obj segment 1 size)) + (set! total-size (cond + ((= v1-0 -3) + 0 + ) + ((= v1-0 -2) + (the-as int (+ (-> obj segment 0 size) (-> obj segment 1 size))) + ) + ((= v1-0 -1) + (the-as int (-> obj size)) + ) + (else + (the-as int (-> obj segment mode size)) + ) ) - ) - ((= v1-0 -1) - (the-as int (-> obj size)) - ) - (else - (the-as int (-> obj segment mode size)) - ) - ) + ) ) - ) (let* ((start-segment (max 0 mode)) (chunk-count (* (/ (+ (/ total-size 64) 63) 64) 32)) (current-dest (shr (-> obj segment start-segment dest) 6)) (current-data (-> obj segment start-segment block-data)) ) - (while (> chunk-count 0) - (let ((chunks-now (min 2048 chunk-count))) - (let* ((v1-11 dma-buff) - (pkt (the-as dma-packet (-> v1-11 base))) - ) - (set! (-> pkt dma) (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt))) - (set! (-> pkt vif0) (new 'static 'vif-tag)) - (set! - (-> pkt vif1) - (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-11 base) (&+ (the-as pointer pkt) 16)) + (while (> chunk-count 0) + (let ((chunks-now (min 2048 chunk-count))) + (let* ((v1-11 dma-buff) + (pkt (the-as dma-packet (-> v1-11 base))) + ) + (set! (-> pkt dma) (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt))) + (set! (-> pkt vif0) (new 'static 'vif-tag)) + (set! (-> pkt vif1) (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-11 base) (&+ (the-as pointer pkt) 16)) + ) + (let* ((v1-12 dma-buff) + (gs-tag (the-as gs-gif-tag (-> v1-12 base))) + ) + (set! (-> gs-tag tag) (new 'static 'gif-tag64 :nloop #x4 :nreg #x1)) + (set! (-> gs-tag regs) (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d))) + (set! (-> v1-12 base) (&+ (the-as pointer gs-tag) 16)) + ) + (let* ((v1-13 dma-buff) + (gs-reg-data (-> v1-13 base)) + ) + (set! (-> (the-as (pointer gs-bitbltbuf) gs-reg-data) 0) + (new 'static 'gs-bitbltbuf :dbw #x2 :dbp current-dest) + ) + (set! (-> (the-as (pointer gs-reg64) gs-reg-data) 1) (gs-reg64 bitbltbuf)) + (set! (-> (the-as (pointer gs-trxpos) gs-reg-data) 2) (new 'static 'gs-trxpos)) + (set! (-> (the-as (pointer gs-reg64) gs-reg-data) 3) (gs-reg64 trxpos)) + (set! (-> (the-as (pointer gs-trxreg) gs-reg-data) 4) (new 'static 'gs-trxreg :rrw #x80 :rrh chunks-now)) + (set! (-> (the-as (pointer gs-reg64) gs-reg-data) 5) (gs-reg64 trxreg)) + (set! (-> (the-as (pointer gs-trxdir) gs-reg-data) 6) (new 'static 'gs-trxdir)) + (set! (-> (the-as (pointer gs-reg64) gs-reg-data) 7) (gs-reg64 trxdir)) + (set! (-> v1-13 base) (&+ gs-reg-data 64)) + ) + (dma-buffer-add-ref-texture dma-buff current-data 128 chunks-now (gs-psm ct32)) + ) + (+! current-dest 4096) + (&+! current-data #x100000) + (+! chunk-count -2048) ) - (let* ((v1-12 dma-buff) - (gs-tag (the-as gs-gif-tag (-> v1-12 base))) - ) - (set! (-> gs-tag tag) (new 'static 'gif-tag64 :nloop #x4 :nreg #x1)) - (set! - (-> gs-tag regs) - (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d)) - ) - (set! (-> v1-12 base) (&+ (the-as pointer gs-tag) 16)) - ) - (let* ((v1-13 dma-buff) - (gs-reg-data (-> v1-13 base)) - ) - (set! - (-> (the-as (pointer gs-bitbltbuf) gs-reg-data) 0) - (new 'static 'gs-bitbltbuf :dbw #x2 :dbp current-dest) - ) - (set! (-> (the-as (pointer gs-reg64) gs-reg-data) 1) (gs-reg64 bitbltbuf)) - (set! - (-> (the-as (pointer gs-trxpos) gs-reg-data) 2) - (new 'static 'gs-trxpos) - ) - (set! (-> (the-as (pointer gs-reg64) gs-reg-data) 3) (gs-reg64 trxpos)) - (set! - (-> (the-as (pointer gs-trxreg) gs-reg-data) 4) - (new 'static 'gs-trxreg :rrw #x80 :rrh chunks-now) - ) - (set! (-> (the-as (pointer gs-reg64) gs-reg-data) 5) (gs-reg64 trxreg)) - (set! - (-> (the-as (pointer gs-trxdir) gs-reg-data) 6) - (new 'static 'gs-trxdir) - ) - (set! (-> (the-as (pointer gs-reg64) gs-reg-data) 7) (gs-reg64 trxdir)) - (set! (-> v1-13 base) (&+ gs-reg-data 64)) - ) - (dma-buffer-add-ref-texture - dma-buff - current-data - 128 - chunks-now - (gs-psm ct32) - ) - ) - (+! current-dest 4096) - (&+! current-data #x100000) - (+! chunk-count -2048) ) - ) total-size ) ;; definition for function texture-relocate -(defun - texture-relocate - ((dma-buff dma-buffer) - (tex texture) - (dest-loc int) - (dest-fmt gs-psm) - (clut-dst int) - ) +(defun texture-relocate ((dma-buff dma-buffer) (tex texture) (dest-loc int) (dest-fmt gs-psm) (clut-dst int)) (dotimes (mip-level (the-as int (-> tex num-mips))) - (let ((mip-w (ash (-> tex w) (- mip-level))) - (mip-h (ash (-> tex h) (- mip-level))) - ) - (let* ((t3-2 dma-buff) - (dma-pkt (the-as dma-packet (-> t3-2 base))) - ) - (set! - (-> dma-pkt dma) - (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt)) + (let ((mip-w (ash (-> tex w) (- mip-level))) + (mip-h (ash (-> tex h) (- mip-level))) + ) + (let* ((t3-2 dma-buff) + (dma-pkt (the-as dma-packet (-> t3-2 base))) + ) + (set! (-> dma-pkt dma) (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt))) + (set! (-> dma-pkt vif0) (new 'static 'vif-tag)) + (set! (-> dma-pkt vif1) (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> t3-2 base) (&+ (the-as pointer dma-pkt) 16)) + ) + (let* ((t3-3 dma-buff) + (gs-pkt (the-as gs-gif-tag (-> t3-3 base))) + ) + (set! (-> gs-pkt tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x4)) + (set! (-> gs-pkt regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> t3-3 base) (&+ (the-as pointer gs-pkt) 16)) + ) + (let* ((t3-4 dma-buff) + (t4-4 (-> t3-4 base)) + ) + (set! (-> (the-as (pointer gs-bitbltbuf) t4-4) 0) (new 'static 'gs-bitbltbuf + :sbp (-> tex dest mip-level) + :sbw (-> tex width mip-level) + :spsm (the-as int (-> tex psm)) + :dbp (/ dest-loc 64) + :dbw (-> tex width mip-level) + :dpsm (the-as int dest-fmt) + ) + ) + (set! (-> (the-as (pointer gs-reg64) t4-4) 1) (gs-reg64 bitbltbuf)) + (set! (-> (the-as (pointer gs-trxpos) t4-4) 2) (new 'static 'gs-trxpos)) + (set! (-> (the-as (pointer gs-reg64) t4-4) 3) (gs-reg64 trxpos)) + (set! (-> (the-as (pointer gs-trxreg) t4-4) 4) (new 'static 'gs-trxreg :rrw mip-w :rrh mip-h)) + (set! (-> (the-as (pointer gs-reg64) t4-4) 5) (gs-reg64 trxreg)) + (set! (-> (the-as (pointer gs-trxdir) t4-4) 6) (new 'static 'gs-trxdir :xdir #x2)) + (set! (-> (the-as (pointer gs-reg64) t4-4) 7) (gs-reg64 trxdir)) + (set! (-> t3-4 base) (&+ t4-4 64)) + ) ) - (set! (-> dma-pkt vif0) (new 'static 'vif-tag)) - (set! - (-> dma-pkt vif1) - (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> t3-2 base) (&+ (the-as pointer dma-pkt) 16)) - ) - (let* ((t3-3 dma-buff) - (gs-pkt (the-as gs-gif-tag (-> t3-3 base))) - ) - (set! - (-> gs-pkt tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x4) - ) - (set! - (-> gs-pkt regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> t3-3 base) (&+ (the-as pointer gs-pkt) 16)) - ) - (let* ((t3-4 dma-buff) - (t4-4 (-> t3-4 base)) - ) - (set! - (-> (the-as (pointer gs-bitbltbuf) t4-4) 0) - (new 'static 'gs-bitbltbuf - :sbp (-> tex dest mip-level) - :sbw (-> tex width mip-level) - :spsm (the-as int (-> tex psm)) - :dbp (/ dest-loc 64) - :dbw (-> tex width mip-level) - :dpsm (the-as int dest-fmt) - ) - ) - (set! (-> (the-as (pointer gs-reg64) t4-4) 1) (gs-reg64 bitbltbuf)) - (set! (-> (the-as (pointer gs-trxpos) t4-4) 2) (new 'static 'gs-trxpos)) - (set! (-> (the-as (pointer gs-reg64) t4-4) 3) (gs-reg64 trxpos)) - (set! - (-> (the-as (pointer gs-trxreg) t4-4) 4) - (new 'static 'gs-trxreg :rrw mip-w :rrh mip-h) - ) - (set! (-> (the-as (pointer gs-reg64) t4-4) 5) (gs-reg64 trxreg)) - (set! - (-> (the-as (pointer gs-trxdir) t4-4) 6) - (new 'static 'gs-trxdir :xdir #x2) - ) - (set! (-> (the-as (pointer gs-reg64) t4-4) 7) (gs-reg64 trxdir)) - (set! (-> t3-4 base) (&+ t4-4 64)) - ) + (set! (-> tex dest mip-level) (the-as uint (/ dest-loc 64))) ) - (set! (-> tex dest mip-level) (the-as uint (/ dest-loc 64))) - ) (cond - ((< clut-dst 0) + ((< clut-dst 0) + ) + ((= (-> tex psm) (gs-psm mt4)) + (let* ((v1-7 dma-buff) + (a2-2 (the-as object (-> v1-7 base))) + ) + (set! (-> (the-as dma-packet a2-2) dma) (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a2-2) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a2-2) vif1) (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-7 base) (&+ (the-as pointer a2-2) 16)) + ) + (let* ((v1-8 dma-buff) + (a2-4 (the-as object (-> v1-8 base))) + ) + (set! (-> (the-as gs-gif-tag a2-4) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x4)) + (set! (-> (the-as gs-gif-tag a2-4) regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-8 base) (&+ (the-as pointer a2-4) 16)) + ) + (let* ((v1-9 dma-buff) + (a2-6 (-> v1-9 base)) + ) + (set! (-> (the-as (pointer gs-bitbltbuf) a2-6) 0) (new 'static 'gs-bitbltbuf + :sbw #x1 + :dbw #x1 + :dpsm (-> tex clutpsm) + :dbp (/ clut-dst 64) + :spsm (-> tex clutpsm) + :sbp (-> tex clutdest) + ) + ) + (set! (-> (the-as (pointer gs-reg64) a2-6) 1) (gs-reg64 bitbltbuf)) + (set! (-> (the-as (pointer gs-trxpos) a2-6) 2) (new 'static 'gs-trxpos)) + (set! (-> (the-as (pointer gs-reg64) a2-6) 3) (gs-reg64 trxpos)) + (set! (-> (the-as (pointer gs-trxreg) a2-6) 4) (new 'static 'gs-trxreg :rrw #x8 :rrh #x2)) + (set! (-> (the-as (pointer gs-reg64) a2-6) 5) (gs-reg64 trxreg)) + (set! (-> (the-as (pointer gs-trxdir) a2-6) 6) (new 'static 'gs-trxdir :xdir #x2)) + (set! (-> (the-as (pointer gs-reg64) a2-6) 7) (gs-reg64 trxdir)) + (set! (-> v1-9 base) (&+ a2-6 64)) + ) + (set! (-> tex clutdest) (the-as uint (/ clut-dst 64))) + ) + ((= (-> tex psm) (gs-psm mt8)) + (let* ((v1-13 dma-buff) + (a2-9 (the-as object (-> v1-13 base))) + ) + (set! (-> (the-as dma-packet a2-9) dma) (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a2-9) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a2-9) vif1) (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-13 base) (&+ (the-as pointer a2-9) 16)) + ) + (let* ((v1-14 dma-buff) + (a2-11 (the-as object (-> v1-14 base))) + ) + (set! (-> (the-as gs-gif-tag a2-11) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x4)) + (set! (-> (the-as gs-gif-tag a2-11) regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-14 base) (&+ (the-as pointer a2-11) 16)) + ) + (let* ((v1-15 dma-buff) + (a2-13 (-> v1-15 base)) + ) + (set! (-> (the-as (pointer gs-bitbltbuf) a2-13) 0) (new 'static 'gs-bitbltbuf + :sbw #x2 + :dbw #x2 + :dpsm (-> tex clutpsm) + :dbp (/ clut-dst 64) + :spsm (-> tex clutpsm) + :sbp (-> tex clutdest) + ) + ) + (set! (-> (the-as (pointer gs-reg64) a2-13) 1) (gs-reg64 bitbltbuf)) + (set! (-> (the-as (pointer gs-trxpos) a2-13) 2) (new 'static 'gs-trxpos)) + (set! (-> (the-as (pointer gs-reg64) a2-13) 3) (gs-reg64 trxpos)) + (set! (-> (the-as (pointer gs-trxreg) a2-13) 4) (new 'static 'gs-trxreg :rrw #x10 :rrh #x10)) + (set! (-> (the-as (pointer gs-reg64) a2-13) 5) (gs-reg64 trxreg)) + (set! (-> (the-as (pointer gs-trxdir) a2-13) 6) (new 'static 'gs-trxdir :xdir #x2)) + (set! (-> (the-as (pointer gs-reg64) a2-13) 7) (gs-reg64 trxdir)) + (set! (-> v1-15 base) (&+ a2-13 64)) + ) + (set! (-> tex clutdest) (the-as uint (/ clut-dst 64))) + ) ) - ((= (-> tex psm) (gs-psm mt4)) - (let* ((v1-7 dma-buff) - (a2-2 (the-as object (-> v1-7 base))) - ) - (set! - (-> (the-as dma-packet a2-2) dma) - (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a2-2) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a2-2) vif1) - (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-7 base) (&+ (the-as pointer a2-2) 16)) - ) - (let* ((v1-8 dma-buff) - (a2-4 (the-as object (-> v1-8 base))) - ) - (set! - (-> (the-as gs-gif-tag a2-4) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x4) - ) - (set! - (-> (the-as gs-gif-tag a2-4) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-8 base) (&+ (the-as pointer a2-4) 16)) - ) - (let* ((v1-9 dma-buff) - (a2-6 (-> v1-9 base)) - ) - (set! - (-> (the-as (pointer gs-bitbltbuf) a2-6) 0) - (new 'static 'gs-bitbltbuf - :sbw #x1 - :dbw #x1 - :dpsm (-> tex clutpsm) - :dbp (/ clut-dst 64) - :spsm (-> tex clutpsm) - :sbp (-> tex clutdest) - ) - ) - (set! (-> (the-as (pointer gs-reg64) a2-6) 1) (gs-reg64 bitbltbuf)) - (set! (-> (the-as (pointer gs-trxpos) a2-6) 2) (new 'static 'gs-trxpos)) - (set! (-> (the-as (pointer gs-reg64) a2-6) 3) (gs-reg64 trxpos)) - (set! - (-> (the-as (pointer gs-trxreg) a2-6) 4) - (new 'static 'gs-trxreg :rrw #x8 :rrh #x2) - ) - (set! (-> (the-as (pointer gs-reg64) a2-6) 5) (gs-reg64 trxreg)) - (set! - (-> (the-as (pointer gs-trxdir) a2-6) 6) - (new 'static 'gs-trxdir :xdir #x2) - ) - (set! (-> (the-as (pointer gs-reg64) a2-6) 7) (gs-reg64 trxdir)) - (set! (-> v1-9 base) (&+ a2-6 64)) - ) - (set! (-> tex clutdest) (the-as uint (/ clut-dst 64))) - ) - ((= (-> tex psm) (gs-psm mt8)) - (let* ((v1-13 dma-buff) - (a2-9 (the-as object (-> v1-13 base))) - ) - (set! - (-> (the-as dma-packet a2-9) dma) - (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a2-9) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a2-9) vif1) - (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-13 base) (&+ (the-as pointer a2-9) 16)) - ) - (let* ((v1-14 dma-buff) - (a2-11 (the-as object (-> v1-14 base))) - ) - (set! - (-> (the-as gs-gif-tag a2-11) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x4) - ) - (set! - (-> (the-as gs-gif-tag a2-11) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-14 base) (&+ (the-as pointer a2-11) 16)) - ) - (let* ((v1-15 dma-buff) - (a2-13 (-> v1-15 base)) - ) - (set! - (-> (the-as (pointer gs-bitbltbuf) a2-13) 0) - (new 'static 'gs-bitbltbuf - :sbw #x2 - :dbw #x2 - :dpsm (-> tex clutpsm) - :dbp (/ clut-dst 64) - :spsm (-> tex clutpsm) - :sbp (-> tex clutdest) - ) - ) - (set! (-> (the-as (pointer gs-reg64) a2-13) 1) (gs-reg64 bitbltbuf)) - (set! (-> (the-as (pointer gs-trxpos) a2-13) 2) (new 'static 'gs-trxpos)) - (set! (-> (the-as (pointer gs-reg64) a2-13) 3) (gs-reg64 trxpos)) - (set! - (-> (the-as (pointer gs-trxreg) a2-13) 4) - (new 'static 'gs-trxreg :rrw #x10 :rrh #x10) - ) - (set! (-> (the-as (pointer gs-reg64) a2-13) 5) (gs-reg64 trxreg)) - (set! - (-> (the-as (pointer gs-trxdir) a2-13) 6) - (new 'static 'gs-trxdir :xdir #x2) - ) - (set! (-> (the-as (pointer gs-reg64) a2-13) 7) (gs-reg64 trxdir)) - (set! (-> v1-15 base) (&+ a2-13 64)) - ) - (set! (-> tex clutdest) (the-as uint (/ clut-dst 64))) - ) - ) (set! (-> tex psm) dest-fmt) dma-buff ) @@ -2583,190 +2168,134 @@ (defmethod setup-font-texture! texture-pool ((obj texture-pool)) (local-vars (heap-before-font-tex int) (clut-dest-addr int)) (let ((font-clut (-> obj font-palette))) - (set! heap-before-font-tex (-> obj cur)) - (set! clut-dest-addr (/ font-clut 64)) - (set! - *font-texture* - (lookup-texture-by-id (new 'static 'texture-id :index #x1 :page #x4fe)) + (set! heap-before-font-tex (-> obj cur)) + (set! clut-dest-addr (/ font-clut 64)) + (set! *font-texture* (lookup-texture-by-id (new 'static 'texture-id :index #x1 :page #x4fe))) + (let ((main-font-tx + (texture-page-login (new 'static 'texture-id :index #x1 :page #x4fe) texture-page-default-allocate global) + ) + ) + (if (and main-font-tx (-> main-font-tx page)) + (set! heap-before-font-tex (the-as int (-> main-font-tx page segment 0 dest))) + ) + (let ((dma-buff *txt-dma-list*)) + (let ((v1-6 dma-buff)) + (set! (-> v1-6 base) (-> v1-6 data)) + (set! (-> v1-6 end) (&-> v1-6 data-buffer (-> v1-6 allocated-length))) + ) + (let ((font-tx-1 *font-texture*) + (font-tx-1-dest #xe0000) + (font-tx-1-fmt 36) + ) + (texture-relocate dma-buff font-tx-1 font-tx-1-dest (the-as gs-psm font-tx-1-fmt) font-clut) + (font-set-tex0 + (the-as (pointer gs-tex0) (-> *font-work* small-font-lo-tmpl)) + font-tx-1 + (the-as uint font-tx-1-dest) + (the-as uint font-tx-1-fmt) + (the-as uint clut-dest-addr) + ) + ) + (let ((font-tx-0 (lookup-texture-by-id (new 'static 'texture-id :page #x4fe))) + (font-tx-0-dest #xe0000) + (font-tx-0-fmt 44) + ) + (texture-relocate dma-buff font-tx-0 font-tx-0-dest (the-as gs-psm font-tx-0-fmt) font-clut) + (font-set-tex0 + (the-as (pointer gs-tex0) (-> *font-work* small-font-hi-tmpl)) + font-tx-0 + (the-as uint font-tx-0-dest) + (the-as uint font-tx-0-fmt) + (the-as uint clut-dest-addr) + ) + ) + (let ((font-tx-3 (lookup-texture-by-id (new 'static 'texture-id :index #x3 :page #x4fe))) + (font-tx-3-dest #xe6000) + (font-tx-3-fmt 36) + ) + (texture-relocate dma-buff font-tx-3 font-tx-3-dest (the-as gs-psm font-tx-3-fmt) font-clut) + (font-set-tex0 + (the-as (pointer gs-tex0) (-> *font-work* large-font-lo-tmpl)) + font-tx-3 + (the-as uint font-tx-3-dest) + (the-as uint font-tx-3-fmt) + (the-as uint clut-dest-addr) + ) + ) + (let ((font-tx-2 (lookup-texture-by-id (new 'static 'texture-id :index #x2 :page #x4fe))) + (font-tx-2-dest #xe6000) + (font-tx-2-fmt 44) + ) + (texture-relocate dma-buff font-tx-2 font-tx-2-dest (the-as gs-psm font-tx-2-fmt) font-clut) + (font-set-tex0 + (the-as (pointer gs-tex0) (-> *font-work* large-font-hi-tmpl)) + font-tx-2 + (the-as uint font-tx-2-dest) + (the-as uint font-tx-2-fmt) + (the-as uint clut-dest-addr) + ) + ) + (let* ((v1-15 dma-buff) + (a0-18 (the-as object (-> v1-15 base))) + ) + (set! (-> (the-as dma-packet a0-18) dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-18) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-18) vif1) (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-15 base) (&+ (the-as pointer a0-18) 16)) + ) + (let* ((v1-16 dma-buff) + (a0-20 (the-as object (-> v1-16 base))) + ) + (set! (-> (the-as gs-gif-tag a0-20) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) + (set! (-> (the-as gs-gif-tag a0-20) regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-16 base) (&+ (the-as pointer a0-20) 16)) + ) + (let* ((v1-17 dma-buff) + (a0-22 (-> v1-17 base)) + ) + (set! (-> (the-as (pointer uint64) a0-22) 0) (the-as uint 1)) + (set! (-> (the-as (pointer gs-reg64) a0-22) 1) (gs-reg64 texflush)) + (set! (-> v1-17 base) (&+ a0-22 16)) + ) + (let* ((v1-18 dma-buff) + (a0-24 (the-as object (-> v1-18 base))) + ) + (set! (-> (the-as dma-packet a0-24) dma) (new 'static 'dma-tag :id (dma-tag-id end))) + (set! (-> (the-as (pointer uint64) a0-24) 1) (the-as uint 0)) + (set! (-> v1-18 base) (&+ (the-as pointer a0-24) 16)) + ) + (dma-buffer-send-chain (the-as dma-bank-source #x10009000) dma-buff) + ) + (dma-sync (the-as pointer #x10009000) 0 0) + (if (and + main-font-tx + (-> main-font-tx page) + (= (-> obj cur) (+ heap-before-font-tex (-> main-font-tx page size))) + ) + (set! (-> obj cur) heap-before-font-tex) + (format 0 "ERROR: could not resize heap to remove gamefont.~%") + ) + ) ) - (let - ((main-font-tx - (texture-page-login - (new 'static 'texture-id :index #x1 :page #x4fe) - texture-page-default-allocate - global - ) - ) - ) - (if (and main-font-tx (-> main-font-tx page)) - (set! - heap-before-font-tex - (the-as int (-> main-font-tx page segment 0 dest)) - ) - ) - (let ((dma-buff *txt-dma-list*)) - (let ((v1-6 dma-buff)) - (set! (-> v1-6 base) (-> v1-6 data)) - (set! (-> v1-6 end) (&-> v1-6 data-buffer (-> v1-6 allocated-length))) - ) - (let ((font-tx-1 *font-texture*) - (font-tx-1-dest #xe0000) - (font-tx-1-fmt 36) - ) - (texture-relocate - dma-buff - font-tx-1 - font-tx-1-dest - (the-as gs-psm font-tx-1-fmt) - font-clut - ) - (font-set-tex0 - (the-as (pointer gs-tex0) (-> *font-work* small-font-lo-tmpl)) - font-tx-1 - (the-as uint font-tx-1-dest) - (the-as uint font-tx-1-fmt) - (the-as uint clut-dest-addr) - ) - ) - (let - ((font-tx-0 (lookup-texture-by-id (new 'static 'texture-id :page #x4fe))) - (font-tx-0-dest #xe0000) - (font-tx-0-fmt 44) - ) - (texture-relocate - dma-buff - font-tx-0 - font-tx-0-dest - (the-as gs-psm font-tx-0-fmt) - font-clut - ) - (font-set-tex0 - (the-as (pointer gs-tex0) (-> *font-work* small-font-hi-tmpl)) - font-tx-0 - (the-as uint font-tx-0-dest) - (the-as uint font-tx-0-fmt) - (the-as uint clut-dest-addr) - ) - ) - (let - ((font-tx-3 - (lookup-texture-by-id (new 'static 'texture-id :index #x3 :page #x4fe)) - ) - (font-tx-3-dest #xe6000) - (font-tx-3-fmt 36) - ) - (texture-relocate - dma-buff - font-tx-3 - font-tx-3-dest - (the-as gs-psm font-tx-3-fmt) - font-clut - ) - (font-set-tex0 - (the-as (pointer gs-tex0) (-> *font-work* large-font-lo-tmpl)) - font-tx-3 - (the-as uint font-tx-3-dest) - (the-as uint font-tx-3-fmt) - (the-as uint clut-dest-addr) - ) - ) - (let - ((font-tx-2 - (lookup-texture-by-id (new 'static 'texture-id :index #x2 :page #x4fe)) - ) - (font-tx-2-dest #xe6000) - (font-tx-2-fmt 44) - ) - (texture-relocate - dma-buff - font-tx-2 - font-tx-2-dest - (the-as gs-psm font-tx-2-fmt) - font-clut - ) - (font-set-tex0 - (the-as (pointer gs-tex0) (-> *font-work* large-font-hi-tmpl)) - font-tx-2 - (the-as uint font-tx-2-dest) - (the-as uint font-tx-2-fmt) - (the-as uint clut-dest-addr) - ) - ) - (let* ((v1-15 dma-buff) - (a0-18 (the-as object (-> v1-15 base))) - ) - (set! - (-> (the-as dma-packet a0-18) dma) - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a0-18) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-18) vif1) - (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-15 base) (&+ (the-as pointer a0-18) 16)) - ) - (let* ((v1-16 dma-buff) - (a0-20 (the-as object (-> v1-16 base))) - ) - (set! - (-> (the-as gs-gif-tag a0-20) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1) - ) - (set! - (-> (the-as gs-gif-tag a0-20) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-16 base) (&+ (the-as pointer a0-20) 16)) - ) - (let* ((v1-17 dma-buff) - (a0-22 (-> v1-17 base)) - ) - (set! (-> (the-as (pointer uint64) a0-22) 0) (the-as uint 1)) - (set! (-> (the-as (pointer gs-reg64) a0-22) 1) (gs-reg64 texflush)) - (set! (-> v1-17 base) (&+ a0-22 16)) - ) - (let* ((v1-18 dma-buff) - (a0-24 (the-as object (-> v1-18 base))) - ) - (set! - (-> (the-as dma-packet a0-24) dma) - (new 'static 'dma-tag :id (dma-tag-id end)) - ) - (set! (-> (the-as (pointer uint64) a0-24) 1) (the-as uint 0)) - (set! (-> v1-18 base) (&+ (the-as pointer a0-24) 16)) - ) - (dma-buffer-send-chain (the-as dma-bank-source #x10009000) dma-buff) - ) - (dma-sync (the-as pointer #x10009000) 0 0) - (if - (and - main-font-tx - (-> main-font-tx page) - (= (-> obj cur) (+ heap-before-font-tex (-> main-font-tx page size))) - ) - (set! (-> obj cur) heap-before-font-tex) - (format 0 "ERROR: could not resize heap to remove gamefont.~%") - ) - ) - ) 0 (none) ) @@ -2784,213 +2313,156 @@ ;; definition for method 7 of type texture-page-dir ;; INFO: Return type mismatch texture-page-dir vs none. -(defmethod - relocate - texture-page-dir - ((obj texture-page-dir) (arg0 kheap) (arg1 (pointer uint8))) +(defmethod relocate texture-page-dir ((obj texture-page-dir) (arg0 kheap) (arg1 (pointer uint8))) (set! *texture-page-dir* obj) (none) ) ;; definition for method 12 of type texture-page ;; INFO: Return type mismatch texture-page vs none. -(defmethod - relocate-dests! - texture-page - ((obj texture-page) (new-dest int) (seg-id int)) +(defmethod relocate-dests! texture-page ((obj texture-page) (new-dest int) (seg-id int)) (let ((v1-0 (shr new-dest 6)) (dst-block (shr (-> obj segment seg-id dest) 6)) ) - (when (!= v1-0 dst-block) - (dotimes (tex-id (-> obj length)) - (when (-> obj data tex-id) - (let* ((tex (-> obj data tex-id)) - (num-mips (-> tex num-mips)) - ) - (if (zero? seg-id) - (set! (-> tex clutdest) (+ (- (-> tex clutdest) dst-block) v1-0)) - ) - (dotimes (mip-id (the-as int num-mips)) - (let ((t4-0 mip-id) - (t5-0 num-mips) + (when (!= v1-0 dst-block) + (dotimes (tex-id (-> obj length)) + (when (-> obj data tex-id) + (let* ((tex (-> obj data tex-id)) + (num-mips (-> tex num-mips)) + ) + (if (zero? seg-id) + (set! (-> tex clutdest) (+ (- (-> tex clutdest) dst-block) v1-0)) + ) + (dotimes (mip-id (the-as int num-mips)) + (let ((t4-0 mip-id) + (t5-0 num-mips) + ) + (if (= seg-id (if (>= (the-as uint 2) t5-0) + (+ (- -1 t4-0) t5-0) + (max 0 (- 2 t4-0)) + ) + ) + (set! (-> tex dest mip-id) (+ (- (-> tex dest mip-id) dst-block) v1-0)) + ) + ) ) - (if (= seg-id (if (>= (the-as uint 2) t5-0) - (+ (- -1 t4-0) t5-0) - (max 0 (- 2 t4-0)) - ) - ) - (set! - (-> tex dest mip-id) - (+ (- (-> tex dest mip-id) dst-block) v1-0) - ) + ) ) - ) ) - ) + (set! (-> obj segment seg-id dest) (the-as uint new-dest)) ) - ) - (set! (-> obj segment seg-id dest) (the-as uint new-dest)) ) - ) (none) ) ;; definition for method 7 of type texture-page ;; INFO: Return type mismatch texture-page vs none. -(defmethod - relocate - texture-page - ((obj texture-page) (arg0 kheap) (arg1 (pointer uint8))) +(defmethod relocate texture-page ((obj texture-page) (arg0 kheap) (arg1 (pointer uint8))) (local-vars (s4-0 texture-page-dir-entry)) (cond - ((or - (not obj) - (not (file-info-correct-version? (-> obj info) (file-kind tpage) 0)) + ((or (not obj) (not (file-info-correct-version? (-> obj info) (file-kind tpage) 0))) + (set! obj (the-as texture-page #f)) ) - (set! obj (the-as texture-page #f)) - ) - ((begin - (let ((v1-2 (-> *level* loading-level))) - (when v1-2 - (set! - (-> v1-2 loaded-texture-page (-> v1-2 loaded-texture-page-count)) - obj + ((begin + (let ((v1-2 (-> *level* loading-level))) + (when v1-2 + (set! (-> v1-2 loaded-texture-page (-> v1-2 loaded-texture-page-count)) obj) + (+! (-> v1-2 loaded-texture-page-count) 1) + ) + ) + (set! (-> obj segment 1 dest) (-> obj segment 0 size)) + (set! (-> obj segment 2 dest) (+ (-> obj segment 0 size) (-> obj segment 1 size))) + (let ((a3-0 (-> obj id))) + (set! s4-0 (-> *texture-page-dir* entries a3-0)) + (set! (-> *texture-relocate-later* memcpy) #f) + ((-> *texture-pool* allocate-func) *texture-pool* obj arg0 (the-as int a3-0)) + ) + (not (-> *texture-relocate-later* memcpy)) + ) + (set! (-> s4-0 page) obj) + (if (not (-> s4-0 link)) + (set! (-> s4-0 link) + (the-as texture-link (malloc 'loading-level (* (max (-> s4-0 length) (-> obj length)) 4))) + ) + ) + ) + (else + (let ((v1-19 *texture-relocate-later*)) + (set! (-> v1-19 entry) s4-0) + (set! (-> v1-19 page) obj) ) - (+! (-> v1-2 loaded-texture-page-count) 1) - ) ) - (set! (-> obj segment 1 dest) (-> obj segment 0 size)) - (set! - (-> obj segment 2 dest) - (+ (-> obj segment 0 size) (-> obj segment 1 size)) - ) - (let ((a3-0 (-> obj id))) - (set! s4-0 (-> *texture-page-dir* entries a3-0)) - (set! (-> *texture-relocate-later* memcpy) #f) - ((-> *texture-pool* allocate-func) - *texture-pool* - obj - arg0 - (the-as int a3-0) - ) - ) - (not (-> *texture-relocate-later* memcpy)) - ) - (set! (-> s4-0 page) obj) - (if (not (-> s4-0 link)) - (set! - (-> s4-0 link) - (the-as - texture-link - (malloc 'loading-level (* (max (-> s4-0 length) (-> obj length)) 4)) - ) - ) - ) ) - (else - (let ((v1-19 *texture-relocate-later*)) - (set! (-> v1-19 entry) s4-0) - (set! (-> v1-19 page) obj) - ) - ) - ) (none) ) ;; definition for function relocate-later (defun relocate-later () (let ((gp-0 *texture-relocate-later*)) - (let ((s5-0 (-> gp-0 entry)) - (s4-0 (-> gp-0 page)) - ) - (ultimate-memcpy - (the-as pointer (-> gp-0 dest)) - (the-as pointer (-> gp-0 source)) - (-> gp-0 move) - ) - (set! (-> s5-0 page) s4-0) - (if (not (-> s5-0 link)) - (set! - (-> s5-0 link) - (the-as - texture-link - (malloc 'loading-level (* (max (-> s5-0 length) (-> s4-0 length)) 4)) - ) + (let ((s5-0 (-> gp-0 entry)) + (s4-0 (-> gp-0 page)) + ) + (ultimate-memcpy (the-as pointer (-> gp-0 dest)) (the-as pointer (-> gp-0 source)) (-> gp-0 move)) + (set! (-> s5-0 page) s4-0) + (if (not (-> s5-0 link)) + (set! (-> s5-0 link) + (the-as texture-link (malloc 'loading-level (* (max (-> s5-0 length) (-> s4-0 length)) 4))) + ) + ) ) - ) + (set! (-> gp-0 memcpy) #f) ) - (set! (-> gp-0 memcpy) #f) - ) #f ) ;; definition for function texture-page-login -(defun - texture-page-login - ((id texture-id) - (alloc-func (function texture-pool texture-page kheap int texture-page)) - (heap kheap) - ) - (when - (and - (nonzero? (-> id page)) - (< (-> id page) (the-as uint (-> *texture-page-dir* length))) - ) - (let ((dir-entry (-> *texture-page-dir* entries (-> id page)))) - (when (not (-> dir-entry page)) - (let ((old-alloc-func (-> *texture-pool* allocate-func))) - (set! (-> *texture-pool* allocate-func) alloc-func) - (let* - ((file-name - (make-file-name - (file-kind tpage) - (the-as string (* (-> id page) 8)) - 0 - #f +(defun texture-page-login ((id texture-id) (alloc-func (function texture-pool texture-page kheap int texture-page)) (heap kheap)) + (when (and (nonzero? (-> id page)) (< (-> id page) (the-as uint (-> *texture-page-dir* length)))) + (let ((dir-entry (-> *texture-page-dir* entries (-> id page)))) + (when (not (-> dir-entry page)) + (let ((old-alloc-func (-> *texture-pool* allocate-func))) + (set! (-> *texture-pool* allocate-func) alloc-func) + (let* ((file-name (make-file-name (file-kind tpage) (the-as string (* (-> id page) 8)) 0 #f)) + (s2-0 (the-as texture-page (loado file-name heap))) + ) + (if s2-0 + (relocate s2-0 heap (charp-basename (-> file-name data))) + ) + ) + (set! (-> *texture-pool* allocate-func) old-alloc-func) ) - ) - (s2-0 (the-as texture-page (loado file-name heap))) ) - (if s2-0 - (relocate s2-0 heap (charp-basename (-> file-name data))) - ) - ) - (set! (-> *texture-pool* allocate-func) old-alloc-func) + dir-entry ) - ) - dir-entry ) - ) ) ;; definition for function lookup-texture-by-id (defun lookup-texture-by-id ((arg0 texture-id)) - (let - ((v1-0 (texture-page-login arg0 texture-page-default-allocate loading-level)) + (let ((v1-0 (texture-page-login arg0 texture-page-default-allocate loading-level))) + (if (and v1-0 (< (-> arg0 index) (the-as uint (-> v1-0 page length)))) + (-> v1-0 page data (-> arg0 index)) + ) ) - (if (and v1-0 (< (-> arg0 index) (the-as uint (-> v1-0 page length)))) - (-> v1-0 page data (-> arg0 index)) - ) - ) ) ;; definition for method 20 of type texture-pool (defmethod unload! texture-pool ((obj texture-pool) (arg0 texture-page)) (local-vars (a0-2 int)) (let ((v1-0 *texture-page-dir*)) - (dotimes (a0-1 (-> v1-0 length)) - (when (= arg0 (-> v1-0 entries a0-1 page)) - (set! a0-2 a0-1) - (goto cfg-7) - ) + (dotimes (a0-1 (-> v1-0 length)) + (when (= arg0 (-> v1-0 entries a0-1 page)) + (set! a0-2 a0-1) + (goto cfg-7) + ) + ) + (set! a0-2 -1) + (label cfg-7) + (when (>= a0-2 0) + (set! (-> v1-0 entries a0-2 page) #f) + (set! (-> v1-0 entries a0-2 link) #f) + ) ) - (set! a0-2 -1) - (label cfg-7) - (when (>= a0-2 0) - (set! (-> v1-0 entries a0-2 page) #f) - (set! (-> v1-0 entries a0-2 link) #f) - ) - ) 0 ) @@ -3002,79 +2474,61 @@ ;; definition for function link-texture-by-id (defun link-texture-by-id ((arg0 texture-id) (arg1 adgif-shader)) - (when - (not - (or - (zero? (-> arg0 page)) - (>= (-> arg0 page) (the-as uint (-> *texture-page-dir* length))) - ) + (when (not (or (zero? (-> arg0 page)) (>= (-> arg0 page) (the-as uint (-> *texture-page-dir* length))))) + (let ((dir-entry (-> *texture-page-dir* entries (-> arg0 page)))) + (if (not (-> dir-entry link)) + (set! (-> dir-entry link) (the-as texture-link (malloc 'loading-level (* (-> dir-entry length) 4)))) + ) + (when (< (-> arg0 index) (the-as uint (-> dir-entry length))) + (set! (-> arg1 next shader) (-> dir-entry link next (-> arg0 index) shader)) + (set! (-> dir-entry link next (-> arg0 index) shader) (shr (the-as uint arg1) 4)) + ) + dir-entry + ) ) - (let ((dir-entry (-> *texture-page-dir* entries (-> arg0 page)))) - (if (not (-> dir-entry link)) - (set! - (-> dir-entry link) - (the-as texture-link (malloc 'loading-level (* (-> dir-entry length) 4))) - ) - ) - (when (< (-> arg0 index) (the-as uint (-> dir-entry length))) - (set! - (-> arg1 next shader) - (-> dir-entry link next (-> arg0 index) shader) - ) - (set! - (-> dir-entry link next (-> arg0 index) shader) - (shr (the-as uint arg1) 4) - ) - ) - dir-entry - ) - ) ) ;; definition for method 9 of type texture-page-dir -(defmethod - unlink-textures-in-heap! - texture-page-dir - ((obj texture-page-dir) (heap kheap)) +(defmethod unlink-textures-in-heap! texture-page-dir ((obj texture-page-dir) (heap kheap)) (local-vars (dist-past-end uint)) (let ((mem-start (-> heap base)) (mem-end (-> heap top-base)) ) - (dotimes (entry-idx (-> obj length)) - (let* ((entry (-> obj entries entry-idx)) - (tex-page (-> entry page)) - (link-arr (-> entry link next)) - (tex-count (min (-> tex-page length) (-> entry length))) - ) - 0 - (when link-arr - (dotimes (tex-idx tex-count) - (let ((link-slot (&-> link-arr 0)) - (shader (the-as adgif-shader (* (-> link-arr 0 shader) 16))) + (dotimes (entry-idx (-> obj length)) + (let* ((entry (-> obj entries entry-idx)) + (tex-page (-> entry page)) + (link-arr (-> entry link next)) + (tex-count (min (-> tex-page length) (-> entry length))) ) - (while (nonzero? (the-as uint shader)) - (b! - (< (the-as int (- (the-as uint shader) (the-as uint mem-start))) 0) - cfg-7 - :delay - (set! dist-past-end (- (the-as uint shader) mem-end)) + 0 + (when link-arr + (dotimes (tex-idx tex-count) + (let ((link-slot (&-> link-arr 0)) + (shader (the-as adgif-shader (* (-> link-arr 0 shader) 16))) + ) + (while (nonzero? (the-as uint shader)) + (b! + (< (the-as int (- (the-as uint shader) (the-as uint mem-start))) 0) + cfg-7 + :delay + (set! dist-past-end (- (the-as uint shader) mem-end)) + ) + (b! (>= (the-as int dist-past-end) 0) cfg-7 :delay (nop!)) + (let ((t4-2 (-> shader next))) + (b! #t cfg-8 :delay (set! (-> link-slot 0) t4-2)) + ) + (label cfg-7) + (set! link-slot (&-> shader next)) + (label cfg-8) + (set! shader (the-as adgif-shader (* (-> shader next shader) 16))) + ) + ) + (set! link-arr (&-> link-arr 1)) + ) ) - (b! (>= (the-as int dist-past-end) 0) cfg-7 :delay (nop!)) - (let ((t4-2 (-> shader next))) - (b! #t cfg-8 :delay (set! (-> link-slot 0) t4-2)) - ) - (label cfg-7) - (set! link-slot (&-> shader next)) - (label cfg-8) - (set! shader (the-as adgif-shader (* (-> shader next shader) 16))) - ) ) - (set! link-arr (&-> link-arr 1)) - ) ) - ) ) - ) 0 ) @@ -3084,46 +2538,40 @@ (set! (-> arg0 tex1 l) (-> arg1 mip-shift)) (set! (-> arg0 tex1 mmag) (logand (-> arg1 tex1-control) 1)) (set! (-> arg0 tex1 mmin) (shr (-> arg1 tex1-control) 1)) - (set! - (-> arg0 tex0) - (new 'static 'gs-tex0 - :tcc #x1 - :cld #x1 - :cpsm (-> arg1 clutpsm) - :cbp (-> arg1 clutdest) - :tfx (-> arg0 tex0 tfx) - :th (log2 (-> arg1 h)) - :tw (log2 (-> arg1 w)) - :tbw (-> arg1 width 0) - :tbp0 (-> arg1 dest 0) - :psm (the-as int (-> arg1 psm)) - ) - ) - (set! - (-> arg0 miptbp1) - (new 'static 'gs-miptbp - :tbp1 (-> arg1 dest 1) - :tbw1 (-> arg1 width 1) - :tbp2 (-> arg1 dest 2) - :tbw2 (-> arg1 width 2) - :tbp3 (-> arg1 dest 3) - :tbw3 (-> arg1 width 3) - ) - ) + (set! (-> arg0 tex0) (new 'static 'gs-tex0 + :tcc #x1 + :cld #x1 + :cpsm (-> arg1 clutpsm) + :cbp (-> arg1 clutdest) + :tfx (-> arg0 tex0 tfx) + :th (log2 (-> arg1 h)) + :tw (log2 (-> arg1 w)) + :tbw (-> arg1 width 0) + :tbp0 (-> arg1 dest 0) + :psm (the-as int (-> arg1 psm)) + ) + ) + (set! (-> arg0 miptbp1) (new 'static 'gs-miptbp + :tbp1 (-> arg1 dest 1) + :tbw1 (-> arg1 width 1) + :tbp2 (-> arg1 dest 2) + :tbw2 (-> arg1 width 2) + :tbp3 (-> arg1 dest 3) + :tbw3 (-> arg1 width 3) + ) + ) (when (< (the-as uint 4) (-> arg1 num-mips)) - (set! - (-> arg0 alpha) - (new 'static 'gs-miptbp - :tbp1 (-> arg1 dest 4) - :tbw1 (-> arg1 width 4) - :tbp2 (-> arg1 dest 5) - :tbw2 (-> arg1 width 5) - :tbp3 (-> arg1 dest 6) - :tbw3 (-> arg1 width 6) - ) + (set! (-> arg0 alpha) (new 'static 'gs-miptbp + :tbp1 (-> arg1 dest 4) + :tbw1 (-> arg1 width 4) + :tbp2 (-> arg1 dest 5) + :tbw2 (-> arg1 width 5) + :tbp3 (-> arg1 dest 6) + :tbw3 (-> arg1 width 6) + ) + ) + (set! (-> (&-> arg0 quad 4 vector4w z) 0) 54) ) - (set! (-> (&-> arg0 quad 4 vector4w z) 0) 54) - ) arg0 ) @@ -3131,21 +2579,15 @@ ;; INFO: Return type mismatch gs-tex1 vs none. (defun adgif-shader-update! ((arg0 adgif-shader) (arg1 texture)) (let ((s5-0 (the int (/ 256.0 (-> arg1 uv-dist))))) - (case (-> arg0 tex1 l) - ((1) - (set! - (-> arg0 tex1 k) - (+ (logand (ash s5-0 (- 5 (log2 s5-0))) 31) -350 (* (log2 s5-0) 32)) + (case (-> arg0 tex1 l) + ((1) + (set! (-> arg0 tex1 k) (+ (logand (ash s5-0 (- 5 (log2 s5-0))) 31) -350 (* (log2 s5-0) 32))) ) + (else + (set! (-> arg0 tex1 k) (+ (logand (ash s5-0 (- 4 (log2 s5-0))) 15) -175 (* (log2 s5-0) 16))) + ) ) - (else - (set! - (-> arg0 tex1 k) - (+ (logand (ash s5-0 (- 4 (log2 s5-0))) 15) -175 (* (log2 s5-0) 16)) - ) - ) ) - ) (none) ) @@ -3155,123 +2597,83 @@ ;; definition for function adgif-shader-login (defun adgif-shader-login ((shader adgif-shader)) (when (logtest? (-> shader link-test) (link-test-flags needs-log-in)) - (logclear! (-> shader link-test) (link-test-flags needs-log-in bit-9)) - (set! (-> shader texture-id) (level-remap-texture (-> shader texture-id))) - (link-texture-by-id (-> shader texture-id) shader) - (let ((tex (lookup-texture-by-id (-> shader texture-id)))) - (if tex - (adgif-shader<-texture-with-update! shader tex) - (format - 0 - "login could not find texture ~X in shader ~X~%" - (-> shader texture-id) - shader + (logclear! (-> shader link-test) (link-test-flags needs-log-in bit-9)) + (set! (-> shader texture-id) (level-remap-texture (-> shader texture-id))) + (link-texture-by-id (-> shader texture-id) shader) + (let ((tex (lookup-texture-by-id (-> shader texture-id)))) + (if tex + (adgif-shader<-texture-with-update! shader tex) + (format 0 "login could not find texture ~X in shader ~X~%" (-> shader texture-id) shader) + ) + tex ) - ) - tex ) - ) ) ;; definition for function adgif-shader-login-no-remap (defun adgif-shader-login-no-remap ((arg0 adgif-shader)) (when (logtest? (-> arg0 link-test) (link-test-flags needs-log-in)) - (logclear! (-> arg0 link-test) (link-test-flags needs-log-in bit-9)) - (link-texture-by-id (-> arg0 texture-id) arg0) - (let ((s5-0 (lookup-texture-by-id (-> arg0 texture-id)))) - (if s5-0 - (adgif-shader<-texture-with-update! arg0 s5-0) - (format - 0 - "login could not find texture ~X in shader ~X~%" - (-> arg0 texture-id) - arg0 + (logclear! (-> arg0 link-test) (link-test-flags needs-log-in bit-9)) + (link-texture-by-id (-> arg0 texture-id) arg0) + (let ((s5-0 (lookup-texture-by-id (-> arg0 texture-id)))) + (if s5-0 + (adgif-shader<-texture-with-update! arg0 s5-0) + (format 0 "login could not find texture ~X in shader ~X~%" (-> arg0 texture-id) arg0) + ) + s5-0 ) - ) - s5-0 ) - ) ) ;; definition for function adgif-shader-login-fast (defun adgif-shader-login-fast ((shader adgif-shader)) (when (logtest? (-> shader link-test) (link-test-flags needs-log-in)) - (logclear! (-> shader link-test) (link-test-flags needs-log-in bit-9)) - (set! (-> shader texture-id) (level-remap-texture (-> shader texture-id))) - (let ((tex-id (-> shader texture-id))) - (when - (and - (nonzero? (-> tex-id page)) - (< (-> tex-id page) (the-as uint (-> *texture-page-dir* length))) + (logclear! (-> shader link-test) (link-test-flags needs-log-in bit-9)) + (set! (-> shader texture-id) (level-remap-texture (-> shader texture-id))) + (let ((tex-id (-> shader texture-id))) + (when (and (nonzero? (-> tex-id page)) (< (-> tex-id page) (the-as uint (-> *texture-page-dir* length)))) + (let ((dir-entry (-> *texture-page-dir* entries (-> tex-id page)))) + (when (and (< (-> tex-id index) (the-as uint (-> dir-entry length))) (-> dir-entry link)) + (set! (-> shader next shader) (-> dir-entry link next (-> tex-id index) shader)) + (set! (-> dir-entry link next (-> tex-id index) shader) (shr (the-as uint shader) 4)) + ) + (when (and (-> dir-entry page) (< (-> tex-id index) (the-as uint (-> dir-entry page length)))) + (let ((tex (-> dir-entry page data (-> tex-id index)))) + (if tex + (adgif-shader<-texture-with-update! shader tex) + ) + tex + ) + ) + ) + ) ) - (let ((dir-entry (-> *texture-page-dir* entries (-> tex-id page)))) - (when - (and - (< (-> tex-id index) (the-as uint (-> dir-entry length))) - (-> dir-entry link) - ) - (set! - (-> shader next shader) - (-> dir-entry link next (-> tex-id index) shader) - ) - (set! - (-> dir-entry link next (-> tex-id index) shader) - (shr (the-as uint shader) 4) - ) - ) - (when - (and - (-> dir-entry page) - (< (-> tex-id index) (the-as uint (-> dir-entry page length))) - ) - (let ((tex (-> dir-entry page data (-> tex-id index)))) - (if tex - (adgif-shader<-texture-with-update! shader tex) - ) - tex - ) - ) - ) - ) ) - ) ) ;; definition for function adgif-shader-login-no-remap-fast (defun adgif-shader-login-no-remap-fast ((arg0 adgif-shader)) (when (logtest? (-> arg0 link-test) (link-test-flags needs-log-in)) - (logclear! (-> arg0 link-test) (link-test-flags needs-log-in bit-9)) - (let ((v1-4 (-> arg0 texture-id))) - (when - (and - (nonzero? (-> v1-4 page)) - (< (-> v1-4 page) (the-as uint (-> *texture-page-dir* length))) + (logclear! (-> arg0 link-test) (link-test-flags needs-log-in bit-9)) + (let ((v1-4 (-> arg0 texture-id))) + (when (and (nonzero? (-> v1-4 page)) (< (-> v1-4 page) (the-as uint (-> *texture-page-dir* length)))) + (let ((a1-7 (-> *texture-page-dir* entries (-> v1-4 page)))) + (when (and (< (-> v1-4 index) (the-as uint (-> a1-7 length))) (-> a1-7 link)) + (set! (-> arg0 next shader) (-> a1-7 link next (-> v1-4 index) shader)) + (set! (-> a1-7 link next (-> v1-4 index) shader) (shr (the-as uint arg0) 4)) + ) + (when (and (-> a1-7 page) (< (-> v1-4 index) (the-as uint (-> a1-7 page length)))) + (let ((gp-0 (-> a1-7 page data (-> v1-4 index)))) + (if gp-0 + (adgif-shader<-texture-with-update! arg0 gp-0) + ) + gp-0 + ) + ) + ) + ) ) - (let ((a1-7 (-> *texture-page-dir* entries (-> v1-4 page)))) - (when - (and (< (-> v1-4 index) (the-as uint (-> a1-7 length))) (-> a1-7 link)) - (set! (-> arg0 next shader) (-> a1-7 link next (-> v1-4 index) shader)) - (set! - (-> a1-7 link next (-> v1-4 index) shader) - (shr (the-as uint arg0) 4) - ) - ) - (when - (and - (-> a1-7 page) - (< (-> v1-4 index) (the-as uint (-> a1-7 page length))) - ) - (let ((gp-0 (-> a1-7 page data (-> v1-4 index)))) - (if gp-0 - (adgif-shader<-texture-with-update! arg0 gp-0) - ) - gp-0 - ) - ) - ) - ) ) - ) ) ;; failed to figure out what this is: @@ -3283,23 +2685,11 @@ ;; definition for function adgif-shader<-texture-simple! (defun adgif-shader<-texture-simple! ((arg0 adgif-shader) (arg1 texture)) (set! (-> arg0 tex1) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) - (set! - (-> arg0 tex0) - (the-as - gs-tex0 - (logand (the-as uint (-> arg0 tex0)) (the-as uint #xffffffe7ffffffff)) - ) - ) + (set! (-> arg0 tex0) (the-as gs-tex0 (logand (the-as uint (-> arg0 tex0)) (the-as uint #xffffffe7ffffffff)))) (if arg1 - (adgif-shader<-texture! arg0 arg1) - ) - (set! - (-> arg0 clamp) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) - ) - ) + (adgif-shader<-texture! arg0 arg1) + ) + (set! (-> arg0 clamp) (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp))) (set! (-> arg0 alpha) (new 'static 'gs-miptbp :tbp1 #x44)) (set! (-> arg0 prims 1) (gs-reg64 tex0-1)) (set! (-> arg0 prims 3) (gs-reg64 tex1-1)) @@ -3314,96 +2704,96 @@ (defun-debug texture-page-dir-inspect ((dir texture-page-dir) (mode symbol)) (format #t "[~8x] ~A~%" dir (-> dir type)) (let ((pool *texture-pool*)) - (format - #t - "~Ttexture pool (~DK used, ~DK free)~%" - (/ (- (-> pool cur) (-> pool top)) 256) - (/ (- #xa0000 (-> pool cur)) 256) + (format + #t + "~Ttexture pool (~DK used, ~DK free)~%" + (/ (- (-> pool cur) (-> pool top)) 256) + (/ (- #xa0000 (-> pool cur)) 256) + ) ) - ) (dotimes (level-idx (-> *level* length)) - (let ((lev (-> *level* level level-idx))) - (if (= (-> lev status) 'active) - (texture-page-size-check *texture-pool* lev #f) - ) + (let ((lev (-> *level* level level-idx))) + (if (= (-> lev status) 'active) + (texture-page-size-check *texture-pool* lev #f) + ) + ) ) - ) (format #t "~Tlength: ~D~%" (-> dir length)) (format #t "~Tdata[~D]: @ #x~X~%" (-> dir length) (-> dir entries)) (dotimes (entry-idx (-> dir length)) - (let ((entry-page (-> dir entries entry-idx page)) - (entry-link (-> dir entries entry-idx link)) - ) - (cond - (entry-page - (format #t "~T [~3D] loaded ~S ~A~%" entry-idx (if entry-link - " linked" - "unlinked" - ) - entry-page - ) - ) - (else - (if (= mode 'full) - (format - #t - "~T [~3D] unloaded ~S #~%" - entry-idx - (if entry-link - " linked" - "unlinked" - ) - (-> dir entries entry-idx length) - ) - ) - ) - ) - (when (and (or entry-page entry-link) mode) - (dotimes (entry-list-length (-> dir entries entry-idx length)) - (cond - ((not entry-link) - (format #t "~T [~3D] unlinked" entry-list-length) - ) - ((zero? (-> entry-link next entry-list-length shader)) - (format #t "~T [~3D] UNUSED " entry-list-length) - ) - (else - (let ((t9-9 format) - (a0-12 #t) - (a1-10 "~T [~3D] ~3D links ") - (a2-11 entry-list-length) - (a3-7 0) - ) - (let - ((v1-40 - (the-as object (* (-> entry-link next entry-list-length shader) 16)) - ) - ) - (while (nonzero? (the-as uint v1-40)) - (nop!) - (+! a3-7 1) - (set! v1-40 (* (-> (the-as adgif-shader v1-40) next shader) 16)) - ) + (let ((entry-page (-> dir entries entry-idx page)) + (entry-link (-> dir entries entry-idx link)) ) - (t9-9 a0-12 a1-10 a2-11 a3-7) - ) - ) - ) (cond - ((not entry-page) - (format #t " unloaded~%") + (entry-page + (format + #t + "~T [~3D] loaded ~S ~A~%" + entry-idx + (if entry-link + " linked" + "unlinked" + ) + entry-page + ) + ) + (else + (if (= mode 'full) + (format + #t + "~T [~3D] unloaded ~S #~%" + entry-idx + (if entry-link + " linked" + "unlinked" + ) + (-> dir entries entry-idx length) + ) + ) + ) ) - ((not (-> entry-page data entry-list-length)) - (format #t " empty~%") + (when (and (or entry-page entry-link) mode) + (dotimes (entry-list-length (-> dir entries entry-idx length)) + (cond + ((not entry-link) + (format #t "~T [~3D] unlinked" entry-list-length) + ) + ((zero? (-> entry-link next entry-list-length shader)) + (format #t "~T [~3D] UNUSED " entry-list-length) + ) + (else + (let ((t9-9 format) + (a0-12 #t) + (a1-10 "~T [~3D] ~3D links ") + (a2-11 entry-list-length) + (a3-7 0) + ) + (let ((v1-40 (the-as object (* (-> entry-link next entry-list-length shader) 16)))) + (while (nonzero? (the-as uint v1-40)) + (nop!) + (+! a3-7 1) + (set! v1-40 (* (-> (the-as adgif-shader v1-40) next shader) 16)) + ) + ) + (t9-9 a0-12 a1-10 a2-11 a3-7) + ) + ) + ) + (cond + ((not entry-page) + (format #t " unloaded~%") + ) + ((not (-> entry-page data entry-list-length)) + (format #t " empty~%") + ) + (else + (format #t " ~A~%" (-> entry-page data entry-list-length)) + ) + ) + ) ) - (else - (format #t " ~A~%" (-> entry-page data entry-list-length)) - ) - ) ) - ) ) - ) (none) ) diff --git a/test/decompiler/reference/engine/gfx/tfrag/subdivide-h_REF.gc b/test/decompiler/reference/engine/gfx/tfrag/subdivide-h_REF.gc index 5f81890765..dddd944826 100644 --- a/test/decompiler/reference/engine/gfx/tfrag/subdivide-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/tfrag/subdivide-h_REF.gc @@ -27,21 +27,14 @@ ) ;; definition for method 0 of type subdivide-settings -(defmethod - new - subdivide-settings - ((allocation symbol) (type-to-make type) (arg0 meters) (arg1 meters)) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new subdivide-settings ((allocation symbol) (type-to-make type) (arg0 meters) (arg1 meters)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (dotimes (v1-2 3) + (set! (-> v0-0 close v1-2) arg0) + (set! (-> v0-0 far v1-2) arg1) + ) + v0-0 ) - (dotimes (v1-2 3) - (set! (-> v0-0 close v1-2) arg0) - (set! (-> v0-0 far v1-2) arg1) - ) - v0-0 - ) ) ;; definition of type subdivide-dists @@ -233,11 +226,7 @@ (format #t "~Ttfrag: #~%" (-> obj tfrag)) (format #t "~Tbillboard: #~%" (-> obj billboard)) (format #t "~Ttrans-tfrag: #~%" (-> obj trans-tfrag)) - (format - #t - "~Ttrans-tfrag-near: #~%" - (-> obj trans-tfrag-near) - ) + (format #t "~Ttrans-tfrag-near: #~%" (-> obj trans-tfrag-near)) (format #t "~Ttrans-pris: #~%" (-> obj trans-pris)) (format #t "~Ttrans-shrub: #~%" (-> obj trans-shrub)) (format #t "~Tocean-mid: #~%" (-> obj ocean-mid)) @@ -265,32 +254,12 @@ ;; definition for method 3 of type dma-area (defmethod inspect dma-area ((obj dma-area)) (format #t "[~8x] ~A~%" obj 'dma-area) - (format - #t - "~Tdraw-node-dma: #~%" - (-> obj draw-node-dma) - ) + (format #t "~Tdraw-node-dma: #~%" (-> obj draw-node-dma)) (format #t "~Ttfrag-dma: #~%" (-> obj draw-node-dma)) - (format - #t - "~Tinstance-shrub-dma: #~%" - (-> obj draw-node-dma) - ) - (format - #t - "~Tinstance-tie-dma: #~%" - (-> obj draw-node-dma) - ) - (format - #t - "~Tprototype-tie-dma: #~%" - (-> obj draw-node-dma) - ) - (format - #t - "~Ttime-of-day-dma: #~%" - (-> obj draw-node-dma) - ) + (format #t "~Tinstance-shrub-dma: #~%" (-> obj draw-node-dma)) + (format #t "~Tinstance-tie-dma: #~%" (-> obj draw-node-dma)) + (format #t "~Tprototype-tie-dma: #~%" (-> obj draw-node-dma)) + (format #t "~Ttime-of-day-dma: #~%" (-> obj draw-node-dma)) (format #t "~Tdecomp-work: #~%" (-> obj draw-node-dma)) (format #t "~Tocean-vertex[4] @ #x~X~%" (-> obj draw-node-dma)) obj diff --git a/test/decompiler/reference/engine/gfx/tfrag/subdivide_REF.gc b/test/decompiler/reference/engine/gfx/tfrag/subdivide_REF.gc index 3df2b2c361..089dc4339d 100644 --- a/test/decompiler/reference/engine/gfx/tfrag/subdivide_REF.gc +++ b/test/decompiler/reference/engine/gfx/tfrag/subdivide_REF.gc @@ -29,41 +29,22 @@ ;; INFO: Return type mismatch uint vs none. (defun-debug print-tr-stat ((stat tr-stat) (name string) (dest string)) (clear dest) - (when - (nonzero? - (+ - (-> stat groups) - (-> stat fragments) - (-> stat tris) - (-> stat dverts) - (-> stat instances) - ) + (when (nonzero? (+ (-> stat groups) (-> stat fragments) (-> stat tris) (-> stat dverts) (-> stat instances))) + (format dest "~0k~4d ~5d ~6d ~6d" (-> stat groups) (-> stat fragments) (-> stat tris) (-> stat dverts)) + (format + dest + "~0k ~7f ~5d ~s" + (/ (* 2.0 (the float (-> stat tris))) (the float (- (-> stat dverts) (-> stat tris)))) + (-> stat instances) + name + ) + (format *stdcon* "~S~%" dest) + (+! (-> *terrain-stats* total groups) (-> stat groups)) + (+! (-> *terrain-stats* total fragments) (-> stat fragments)) + (+! (-> *terrain-stats* total tris) (-> stat tris)) + (+! (-> *terrain-stats* total dverts) (-> stat dverts)) + (+! (-> *terrain-stats* total instances) (-> stat instances)) ) - (format - dest - "~0k~4d ~5d ~6d ~6d" - (-> stat groups) - (-> stat fragments) - (-> stat tris) - (-> stat dverts) - ) - (format - dest - "~0k ~7f ~5d ~s" - (/ - (* 2.0 (the float (-> stat tris))) - (the float (- (-> stat dverts) (-> stat tris))) - ) - (-> stat instances) - name - ) - (format *stdcon* "~S~%" dest) - (+! (-> *terrain-stats* total groups) (-> stat groups)) - (+! (-> *terrain-stats* total fragments) (-> stat fragments)) - (+! (-> *terrain-stats* total tris) (-> stat tris)) - (+! (-> *terrain-stats* total dverts) (-> stat dverts)) - (+! (-> *terrain-stats* total instances) (-> stat instances)) - ) (none) ) @@ -71,26 +52,26 @@ ;; INFO: Return type mismatch int vs none. (defun-debug print-terrain-stats () (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (dotimes (gp-0 (-> *level* length)) - (let ((s5-0 (-> *level* level gp-0))) - (when (= (-> s5-0 status) 'active) - (compute-memory-usage s5-0 #f) - (format - *stdcon* - "~0k~D ~A ~,,2fK + textures~%" - (-> s5-0 index) - (-> s5-0 name) - (* 0.0009765625 (the float (-> s5-0 mem-usage))) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (dotimes (gp-0 (-> *level* length)) + (let ((s5-0 (-> *level* level gp-0))) + (when (= (-> s5-0 status) 'active) + (compute-memory-usage s5-0 #f) + (format + *stdcon* + "~0k~D ~A ~,,2fK + textures~%" + (-> s5-0 index) + (-> s5-0 name) + (* 0.0009765625 (the float (-> s5-0 mem-usage))) + ) + ) ) - ) ) - ) (format *stdcon* "~0k~%grps frags tris dverts strip insts~%") (print-tr-stat (-> *terrain-stats* pris) "pris" *temp-string*) (print-tr-stat (-> *merc-global-stats* merc) "merc" *temp-string*) @@ -100,27 +81,16 @@ (print-tr-stat (-> *terrain-stats* tie-generic) "tie-generic" *temp-string*) (print-tr-stat (-> *terrain-stats* shrub-near) "shrub-near" *temp-string*) (print-tr-stat (-> *terrain-stats* shrub) "shrub" *temp-string*) - (print-tr-stat - (-> *terrain-stats* tfrag-near) - "tfrag-near" - *stat-string-tfrag-near* - ) + (print-tr-stat (-> *terrain-stats* tfrag-near) "tfrag-near" *stat-string-tfrag-near*) (print-tr-stat (-> *terrain-stats* tfrag) "tfrag" *stat-string-tfrag*) (print-tr-stat (-> *terrain-stats* trans-tfrag) "trans-tfrag" *temp-string*) - (print-tr-stat - (-> *terrain-stats* trans-tfrag-near) - "trans-tfrag-near" - *temp-string* - ) + (print-tr-stat (-> *terrain-stats* trans-tfrag-near) "trans-tfrag-near" *temp-string*) (print-tr-stat (-> *terrain-stats* trans-pris) "trans-pris" *temp-string*) (print-tr-stat (-> *terrain-stats* billboard) "billboard" *temp-string*) (print-tr-stat (-> *terrain-stats* trans-shrub) "trans-shrub" *temp-string*) (print-tr-stat (-> *terrain-stats* ocean-mid) "ocean-mid" *temp-string*) (print-tr-stat (-> *terrain-stats* ocean-near) "ocean-near" *temp-string*) - (format - *stdcon* - "~0k---------------------------------------------------------------~%" - ) + (format *stdcon* "~0k---------------------------------------------------------------~%") (print-tr-stat (-> *terrain-stats* total) "total" *stat-string-total*) (clear-tr-stat (-> *terrain-stats* pris)) (clear-tr-stat (-> *merc-global-stats* merc)) @@ -141,33 +111,31 @@ (clear-tr-stat (-> *terrain-stats* ocean-near)) (clear-tr-stat (-> *terrain-stats* total)) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :b #xff :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :b #xff :a #x80) + ) + ) 0 (none) ) ;; definition for function update-subdivide-settings! ;; INFO: Return type mismatch int vs none. -(defun - update-subdivide-settings! - ((settings subdivide-settings) (math-cam math-camera) (idx int)) +(defun update-subdivide-settings! ((settings subdivide-settings) (math-cam math-camera) (idx int)) (set! (-> settings meters 0) (-> settings far idx)) (set! (-> settings meters 4) (-> settings close idx)) (let ((f0-3 (* 0.14285715 (- (-> settings meters 0) (-> settings meters 4))))) - (set! (-> settings meters 3) (+ (-> settings meters 4) (* 0.5 f0-3))) - (set! (-> settings meters 2) (+ (-> settings meters 3) f0-3)) - (set! (-> settings meters 1) (+ (-> settings meters 2) (* 2.0 f0-3))) - ) - (let ((f0-7 (/ (-> math-cam inv-hmge-scale w) (-> math-cam d)))) - (dotimes (v1-5 5) - (set! (-> settings dist v1-5) (* f0-7 (-> settings meters v1-5))) + (set! (-> settings meters 3) (+ (-> settings meters 4) (* 0.5 f0-3))) + (set! (-> settings meters 2) (+ (-> settings meters 3) f0-3)) + (set! (-> settings meters 1) (+ (-> settings meters 2) (* 2.0 f0-3))) + ) + (let ((f0-7 (/ (-> math-cam inv-hmge-scale w) (-> math-cam d)))) + (dotimes (v1-5 5) + (set! (-> settings dist v1-5) (* f0-7 (-> settings meters v1-5))) + ) ) - ) (set! (-> *tfrag-work* frag-dists x) (- (-> settings meters 0))) (set! (-> *tfrag-work* frag-dists y) (- (-> settings meters 1))) (set! (-> *tfrag-work* frag-dists z) (- (-> settings meters 2))) @@ -177,10 +145,7 @@ ) ;; definition for symbol *subdivide-settings*, type subdivide-settings -(define - *subdivide-settings* - (new 'global 'subdivide-settings (meters 30.0) (meters 70.0)) - ) +(define *subdivide-settings* (new 'global 'subdivide-settings (meters 30.0) (meters 70.0))) ;; definition for function set-tfrag-dists! ;; INFO: Return type mismatch tfrag-dists vs none. @@ -189,25 +154,25 @@ (f1-0 (-> *subdivide-settings* dist 1)) (f0-0 (-> *subdivide-settings* dist 2)) ) - (set! (-> arg0 k0s 0 w) f2-0) - (set! (-> arg0 k0s 1 w) f1-0) - (let ((f4-1 (/ 1.0 (- f2-0 f1-0))) - (f3-2 (/ 1.0 (- f1-0 f0-0))) - ) - (set! (-> arg0 k0s 0 y) (- f4-1)) - (set! (-> arg0 k0s 1 y) (- f3-2)) - (set! (-> arg0 k0s 0 x) (* 0.5 f4-1)) - (set! (-> arg0 k0s 1 x) (* 0.5 f3-2)) - (let ((f2-1 (* f2-0 f4-1)) - (f5-7 (* f1-0 f3-2)) + (set! (-> arg0 k0s 0 w) f2-0) + (set! (-> arg0 k0s 1 w) f1-0) + (let ((f4-1 (/ 1.0 (- f2-0 f1-0))) + (f3-2 (/ 1.0 (- f1-0 f0-0))) ) - (set! (-> arg0 k1s 0 y) f2-1) - (set! (-> arg0 k1s 1 y) f5-7) - ) - (set! (-> arg0 k1s 0 x) (* -0.5 f4-1 f1-0)) - (set! (-> arg0 k1s 1 x) (* -0.5 f3-2 f0-0)) + (set! (-> arg0 k0s 0 y) (- f4-1)) + (set! (-> arg0 k0s 1 y) (- f3-2)) + (set! (-> arg0 k0s 0 x) (* 0.5 f4-1)) + (set! (-> arg0 k0s 1 x) (* 0.5 f3-2)) + (let ((f2-1 (* f2-0 f4-1)) + (f5-7 (* f1-0 f3-2)) + ) + (set! (-> arg0 k1s 0 y) f2-1) + (set! (-> arg0 k1s 1 y) f5-7) + ) + (set! (-> arg0 k1s 0 x) (* -0.5 f4-1 f1-0)) + (set! (-> arg0 k1s 1 x) (* -0.5 f3-2 f0-0)) + ) ) - ) (none) ) @@ -221,83 +186,77 @@ ;; INFO: Return type mismatch perf-stat vs none. (defmethod print-to-stream perf-stat ((obj perf-stat) (arg0 string) (arg1 basic)) (format - *stdcon* - "~3d ~8d ~8d ~6d ~6d" - (-> obj count) - (-> obj cycles) - (-> obj instructions) - (-> obj icache) - (-> obj dcache) - ) - (format - *stdcon* - " ~2d ~2d ~2d" - (-> obj to-vu0-waits) - (-> obj to-spr-waits) - (-> obj from-spr-waits) - ) + *stdcon* + "~3d ~8d ~8d ~6d ~6d" + (-> obj count) + (-> obj cycles) + (-> obj instructions) + (-> obj icache) + (-> obj dcache) + ) + (format *stdcon* " ~2d ~2d ~2d" (-> obj to-vu0-waits) (-> obj to-spr-waits) (-> obj from-spr-waits)) (format *stdcon* " ~s~%" arg0) (none) ) ;; definition (debug) for function perf-stat-bucket->string (defun-debug perf-stat-bucket->string ((arg0 perf-stat-bucket)) - (case arg0 - (((perf-stat-bucket camera)) + (case arg0 + (((perf-stat-bucket camera)) "camera" ) - (((perf-stat-bucket collide)) - "collide" + (((perf-stat-bucket collide)) + "collide" + ) + (((perf-stat-bucket nav)) + "nav" + ) + (((perf-stat-bucket bones)) + "bones" + ) + (((perf-stat-bucket proto-tie-n)) + "proto-tie-n" + ) + (((perf-stat-bucket proto-tie)) + "proto-tie" + ) + (((perf-stat-bucket proto-tie-g)) + "proto-tie-g" + ) + (((perf-stat-bucket inst-tie)) + "inst-tie" + ) + (((perf-stat-bucket proto-shrub)) + "proto-shrub" + ) + (((perf-stat-bucket inst-shrub)) + "inst-shrub" + ) + (((perf-stat-bucket tfrag-near)) + "tfrag-near" + ) + (((perf-stat-bucket tfrag)) + "tfrag" + ) + (((perf-stat-bucket drawable)) + "drawable" + ) + (((perf-stat-bucket background)) + "background" + ) + (((perf-stat-bucket tie-generic)) + "tie-generic" + ) + (((perf-stat-bucket mercneric)) + "mercneric" + ) + (((perf-stat-bucket all-code)) + "all-code" + ) + (else + "*unknown*" + ) ) - (((perf-stat-bucket nav)) - "nav" - ) - (((perf-stat-bucket bones)) - "bones" - ) - (((perf-stat-bucket proto-tie-n)) - "proto-tie-n" - ) - (((perf-stat-bucket proto-tie)) - "proto-tie" - ) - (((perf-stat-bucket proto-tie-g)) - "proto-tie-g" - ) - (((perf-stat-bucket inst-tie)) - "inst-tie" - ) - (((perf-stat-bucket proto-shrub)) - "proto-shrub" - ) - (((perf-stat-bucket inst-shrub)) - "inst-shrub" - ) - (((perf-stat-bucket tfrag-near)) - "tfrag-near" - ) - (((perf-stat-bucket tfrag)) - "tfrag" - ) - (((perf-stat-bucket drawable)) - "drawable" - ) - (((perf-stat-bucket background)) - "background" - ) - (((perf-stat-bucket tie-generic)) - "tie-generic" - ) - (((perf-stat-bucket mercneric)) - "mercneric" - ) - (((perf-stat-bucket all-code)) - "all-code" - ) - (else - "*unknown*" - ) - ) ) ;; definition for symbol GSH_ENABLE, type symbol @@ -316,10 +275,7 @@ (define GSH_TIME 64) ;; definition for symbol *gomi-stats-hack*, type (inline-array perf-stat) -(define - *gomi-stats-hack* - (the-as (inline-array perf-stat) (malloc 'debug (* 52 (+ GSH_TIME 1)))) - ) +(define *gomi-stats-hack* (the-as (inline-array perf-stat) (malloc 'debug (* 52 (+ GSH_TIME 1))))) ;; definition (debug) for function start-perf-stat-collection ;; INFO: Return type mismatch int vs none. @@ -336,136 +292,92 @@ (defun-debug start-perf-stat-collection () (local-vars (r0-0 none)) (let ((frame-idx (+ (-> *perf-stats* data 0 frame-number) 1))) - (set! (-> *perf-stats* data 0 frame-number) frame-idx) - (let ((gp-0 (mod frame-idx (the-as uint 34)))) - (when GSH_ENABLE - (let ((bucket GSH_BUCKET)) - (let ((which-stat GSH_WHICH_STAT)) - (set! gp-0 (+ (* bucket 2) which-stat)) - ) - (when GSH_MAX_DISPLAY - (let - ((stat-idx - (logand (-> *perf-stats* data 0 frame-number) (+ GSH_TIME -1)) + (set! (-> *perf-stats* data 0 frame-number) frame-idx) + (let ((gp-0 (mod frame-idx (the-as uint 34)))) + (when GSH_ENABLE + (let ((bucket GSH_BUCKET)) + (let ((which-stat GSH_WHICH_STAT)) + (set! gp-0 (+ (* bucket 2) which-stat)) + ) + (when GSH_MAX_DISPLAY + (let ((stat-idx (logand (-> *perf-stats* data 0 frame-number) (+ GSH_TIME -1)))) + (set! (-> *gomi-stats-hack* stat-idx cycles) (-> *perf-stats* data (the-as int bucket) cycles)) + (set! (-> *gomi-stats-hack* stat-idx instructions) (-> *perf-stats* data (the-as int bucket) instructions)) + (set! (-> *gomi-stats-hack* stat-idx icache) (-> *perf-stats* data (the-as int bucket) icache)) + (set! (-> *gomi-stats-hack* stat-idx dcache) (-> *perf-stats* data (the-as int bucket) dcache)) + (when (zero? stat-idx) + (set! (-> *gomi-stats-hack* GSH_TIME cycles) (the-as uint 0)) + (set! (-> *gomi-stats-hack* GSH_TIME instructions) (the-as uint 0)) + (set! (-> *gomi-stats-hack* GSH_TIME icache) (the-as uint 0)) + (set! (-> *gomi-stats-hack* GSH_TIME dcache) (the-as uint 0)) + (dotimes (v1-22 GSH_TIME) + (if (< (-> *gomi-stats-hack* GSH_TIME cycles) (-> *gomi-stats-hack* v1-22 cycles)) + (set! (-> *gomi-stats-hack* GSH_TIME cycles) (-> *gomi-stats-hack* v1-22 cycles)) + ) + (if (< (-> *gomi-stats-hack* GSH_TIME instructions) (-> *gomi-stats-hack* v1-22 instructions)) + (set! (-> *gomi-stats-hack* GSH_TIME instructions) (-> *gomi-stats-hack* v1-22 instructions)) + ) + (if (< (-> *gomi-stats-hack* GSH_TIME icache) (-> *gomi-stats-hack* v1-22 icache)) + (set! (-> *gomi-stats-hack* GSH_TIME icache) (-> *gomi-stats-hack* v1-22 icache)) + ) + (if (< (-> *gomi-stats-hack* GSH_TIME dcache) (-> *gomi-stats-hack* v1-22 dcache)) + (set! (-> *gomi-stats-hack* GSH_TIME dcache) (-> *gomi-stats-hack* v1-22 dcache)) + ) + ) + ) + ) + (format *stdcon* "~%") + (print-to-stream (-> *gomi-stats-hack* GSH_TIME) "max-value" *stdcon*) + ) ) - ) - (set! - (-> *gomi-stats-hack* stat-idx cycles) - (-> *perf-stats* data (the-as int bucket) cycles) - ) - (set! - (-> *gomi-stats-hack* stat-idx instructions) - (-> *perf-stats* data (the-as int bucket) instructions) - ) - (set! - (-> *gomi-stats-hack* stat-idx icache) - (-> *perf-stats* data (the-as int bucket) icache) - ) - (set! - (-> *gomi-stats-hack* stat-idx dcache) - (-> *perf-stats* data (the-as int bucket) dcache) - ) - (when (zero? stat-idx) - (set! (-> *gomi-stats-hack* GSH_TIME cycles) (the-as uint 0)) - (set! (-> *gomi-stats-hack* GSH_TIME instructions) (the-as uint 0)) - (set! (-> *gomi-stats-hack* GSH_TIME icache) (the-as uint 0)) - (set! (-> *gomi-stats-hack* GSH_TIME dcache) (the-as uint 0)) - (dotimes (v1-22 GSH_TIME) - (if - (< - (-> *gomi-stats-hack* GSH_TIME cycles) - (-> *gomi-stats-hack* v1-22 cycles) - ) - (set! - (-> *gomi-stats-hack* GSH_TIME cycles) - (-> *gomi-stats-hack* v1-22 cycles) - ) - ) - (if - (< - (-> *gomi-stats-hack* GSH_TIME instructions) - (-> *gomi-stats-hack* v1-22 instructions) - ) - (set! - (-> *gomi-stats-hack* GSH_TIME instructions) - (-> *gomi-stats-hack* v1-22 instructions) - ) - ) - (if - (< - (-> *gomi-stats-hack* GSH_TIME icache) - (-> *gomi-stats-hack* v1-22 icache) - ) - (set! - (-> *gomi-stats-hack* GSH_TIME icache) - (-> *gomi-stats-hack* v1-22 icache) - ) - ) - (if - (< - (-> *gomi-stats-hack* GSH_TIME dcache) - (-> *gomi-stats-hack* v1-22 dcache) - ) - (set! - (-> *gomi-stats-hack* GSH_TIME dcache) - (-> *gomi-stats-hack* v1-22 dcache) - ) - ) - ) - ) ) - (format *stdcon* "~%") - (print-to-stream (-> *gomi-stats-hack* GSH_TIME) "max-value" *stdcon*) - ) - ) - ) - (dotimes (v1-27 17) - (set! (-> *perf-stats* data v1-27 count) (the-as uint 0)) - (cond - ((!= v1-27 (shr gp-0 1)) - (set! (-> *perf-stats* data v1-27 ctrl) (the-as uint 0)) - 0 - ) - (else - (let ((a1-63 (logand gp-0 1)) - (a0-64 (the-as uint #x80004010)) - ) + (dotimes (v1-27 17) + (set! (-> *perf-stats* data v1-27 count) (the-as uint 0)) (cond - ((zero? a1-63) - (set! a0-64 (+ #x60020 a0-64)) + ((!= v1-27 (shr gp-0 1)) + (set! (-> *perf-stats* data v1-27 ctrl) (the-as uint 0)) + 0 + ) + (else + (let ((a1-63 (logand gp-0 1)) + (a0-64 (the-as uint #x80004010)) + ) + (cond + ((zero? a1-63) + (set! a0-64 (+ #x60020 a0-64)) + ) + ((= a1-63 1) + (set! a0-64 (+ #x300c0 a0-64)) + ) + ) + (set! (-> *perf-stats* data v1-27 select) a1-63) + (set! (-> *perf-stats* data v1-27 ctrl) a0-64) + ) + (set! (-> *perf-stats* data v1-27 accum0) (the-as uint 0)) + (set! (-> *perf-stats* data v1-27 accum1) (the-as uint 0)) + (set! (-> *perf-stats* data v1-27 to-vu0-waits) (the-as uint 0)) + (set! (-> *perf-stats* data v1-27 to-spr-waits) (the-as uint 0)) + (set! (-> *perf-stats* data v1-27 from-spr-waits) (the-as uint 0)) + 0 + ) ) - ((= a1-63 1) - (set! a0-64 (+ #x300c0 a0-64)) - ) - ) - (set! (-> *perf-stats* data v1-27 select) a1-63) - (set! (-> *perf-stats* data v1-27 ctrl) a0-64) ) - (set! (-> *perf-stats* data v1-27 accum0) (the-as uint 0)) - (set! (-> *perf-stats* data v1-27 accum1) (the-as uint 0)) - (set! (-> *perf-stats* data v1-27 to-vu0-waits) (the-as uint 0)) - (set! (-> *perf-stats* data v1-27 to-spr-waits) (the-as uint 0)) - (set! (-> *perf-stats* data v1-27 from-spr-waits) (the-as uint 0)) - 0 - ) ) - ) ) - ) (let* ((v1-31 (-> *perf-stats* data)) (a0-76 (-> v1-31 0 ctrl)) ) - (+! (-> v1-31 0 count) 1) - (b! (zero? a0-76) cfg-28 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-76) - ) + (+! (-> v1-31 0 count) 1) + (b! (zero? a0-76) cfg-28 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-76) + ) (.sync.l) (.sync.p) (label cfg-28) @@ -484,36 +396,36 @@ (defun-debug end-perf-stat-collection () (local-vars (r0-0 none) (a0-1 int) (a0-3 int)) (let ((v1-1 (-> *perf-stats* data))) - (b! (zero? (-> v1-1 0 ctrl)) cfg-2 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-1 pcr0) - (+! (-> v1-1 0 accum0) a0-1) - (.mfpc a0-3 pcr1) - (+! (-> v1-1 0 accum1) a0-3) - ) + (b! (zero? (-> v1-1 0 ctrl)) cfg-2 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-1 pcr0) + (+! (-> v1-1 0 accum0) a0-1) + (.mfpc a0-3 pcr1) + (+! (-> v1-1 0 accum1) a0-3) + ) (label cfg-2) 0 (dotimes (v1-3 17) - (when (nonzero? (-> *perf-stats* data v1-3 ctrl)) - (let ((a2-0 (-> *perf-stats* data v1-3 select)) - (a1-8 (-> *perf-stats* data v1-3 accum0)) - (a0-15 (-> *perf-stats* data v1-3 accum1)) + (when (nonzero? (-> *perf-stats* data v1-3 ctrl)) + (let ((a2-0 (-> *perf-stats* data v1-3 select)) + (a1-8 (-> *perf-stats* data v1-3 accum0)) + (a0-15 (-> *perf-stats* data v1-3 accum1)) + ) + (cond + ((zero? a2-0) + (set! (-> *perf-stats* data v1-3 cycles) a1-8) + (set! (-> *perf-stats* data v1-3 instructions) a0-15) + ) + ((= a2-0 1) + (set! (-> *perf-stats* data v1-3 icache) a1-8) + (set! (-> *perf-stats* data v1-3 dcache) a0-15) + ) ) - (cond - ((zero? a2-0) - (set! (-> *perf-stats* data v1-3 cycles) a1-8) - (set! (-> *perf-stats* data v1-3 instructions) a0-15) - ) - ((= a2-0 1) - (set! (-> *perf-stats* data v1-3 icache) a1-8) - (set! (-> *perf-stats* data v1-3 dcache) a0-15) - ) + ) ) - ) ) - ) 0 (none) ) @@ -523,14 +435,14 @@ (defun-debug print-perf-stats () (format *stdcon* "~0k~%count cycles instr icache dcache vu0/to/from~%") (dotimes (gp-0 17) - (if (nonzero? (-> *perf-stats* data gp-0 count)) - (print-to-stream - (-> *perf-stats* data gp-0) - (perf-stat-bucket->string (the-as perf-stat-bucket gp-0)) - *stdcon* - ) + (if (nonzero? (-> *perf-stats* data gp-0 count)) + (print-to-stream + (-> *perf-stats* data gp-0) + (perf-stat-bucket->string (the-as perf-stat-bucket gp-0)) + *stdcon* + ) + ) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/gfx/tfrag/tfrag-h_REF.gc b/test/decompiler/reference/engine/gfx/tfrag/tfrag-h_REF.gc index f9831125cf..81fa8968d1 100644 --- a/test/decompiler/reference/engine/gfx/tfrag/tfrag-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/tfrag/tfrag-h_REF.gc @@ -88,11 +88,7 @@ (format #t "~Tid: ~D~%" (-> obj id)) (format #t "~Tbsphere: ~`vector`P~%" (-> obj bsphere)) (format #t "~Tcolor-index: ~D~%" (-> obj color-index)) - (format - #t - "~Tdebug-data: #~%" - (-> obj debug-data) - ) + (format #t "~Tdebug-data: #~%" (-> obj debug-data)) (format #t "~Tcolor-indices: #x~X~%" (-> obj color-indices)) (format #t "~Tcolors: #x~X~%" (-> obj color-indices)) (format #t "~Tdma-chain[3] @ #x~X~%" (-> obj dma-chain)) @@ -284,45 +280,21 @@ (format #t "~Tnum-base-points: ~D~%" (-> obj num-base-points)) (format #t "~Tnum-shared-base-points: ~D~%" (-> obj num-shared-base-points)) (format #t "~Tnum-level0-points: ~D~%" (-> obj num-level0-points)) - (format - #t - "~Tnum-shared-level0-points: ~D~%" - (-> obj num-shared-level0-points) - ) + (format #t "~Tnum-shared-level0-points: ~D~%" (-> obj num-shared-level0-points)) (format #t "~Tnum-level1-points: ~D~%" (-> obj num-level1-points)) - (format - #t - "~Tnum-shared-level1-points: ~D~%" - (-> obj num-shared-level1-points) - ) + (format #t "~Tnum-shared-level1-points: ~D~%" (-> obj num-shared-level1-points)) (format #t "~Tptr-vtxdata: ~D~%" (-> obj ptr-vtxdata)) (format #t "~Tptr-base-points: ~D~%" (-> obj ptr-base-points)) (format #t "~Tptr-shared-base-points: ~D~%" (-> obj ptr-shared-base-points)) (format #t "~Tptr-level0-points: ~D~%" (-> obj ptr-level0-points)) - (format - #t - "~Tptr-shared-level0-points: ~D~%" - (-> obj ptr-shared-level0-points) - ) + (format #t "~Tptr-shared-level0-points: ~D~%" (-> obj ptr-shared-level0-points)) (format #t "~Tptr-level1-points: ~D~%" (-> obj ptr-level1-points)) - (format - #t - "~Tptr-shared-level1-points: ~D~%" - (-> obj ptr-shared-level1-points) - ) + (format #t "~Tptr-shared-level1-points: ~D~%" (-> obj ptr-shared-level1-points)) (format #t "~Tptr-draw-points: ~D~%" (-> obj ptr-draw-points)) (format #t "~Tptr-interpolated-0: ~D~%" (-> obj ptr-interpolated-0)) - (format - #t - "~Tptr-shared-interpolated-0: ~D~%" - (-> obj ptr-shared-interpolated-0) - ) + (format #t "~Tptr-shared-interpolated-0: ~D~%" (-> obj ptr-shared-interpolated-0)) (format #t "~Tptr-interpolated1: ~D~%" (-> obj ptr-interpolated1)) - (format - #t - "~Tptr-shared-interpolated1: ~D~%" - (-> obj ptr-shared-interpolated1) - ) + (format #t "~Tptr-shared-interpolated1: ~D~%" (-> obj ptr-shared-interpolated1)) (format #t "~Tptr-strip-data: ~D~%" (-> obj ptr-strip-data)) (format #t "~Tptr-texture-data: ~D~%" (-> obj ptr-texture-data)) obj @@ -434,11 +406,7 @@ (format #t "~Tmin-dist: #~%" (-> obj min-dist)) (format #t "~Tcolor-ptr: #~%" (-> obj color-ptr)) (format #t "~Ttr-stat-tfrag: #~%" (-> obj tr-stat-tfrag)) - (format - #t - "~Ttr-stat-tfrag-near: #~%" - (-> obj tr-stat-tfrag-near) - ) + (format #t "~Ttr-stat-tfrag-near: #~%" (-> obj tr-stat-tfrag-near)) (format #t "~Tvu1-enable-tfrag: ~D~%" (-> obj vu1-enable-tfrag)) (format #t "~Tvu1-enable-tfrag-near: ~D~%" (-> obj vu1-enable-tfrag-near)) (format #t "~Tcur-vis-bits: ~D~%" (-> obj cur-vis-bits)) diff --git a/test/decompiler/reference/engine/gfx/tfrag/tfrag-methods_REF.gc b/test/decompiler/reference/engine/gfx/tfrag/tfrag-methods_REF.gc index c3fe7296be..50befc4f30 100644 --- a/test/decompiler/reference/engine/gfx/tfrag/tfrag-methods_REF.gc +++ b/test/decompiler/reference/engine/gfx/tfrag/tfrag-methods_REF.gc @@ -5,24 +5,24 @@ ;; INFO: Return type mismatch symbol vs none. (defun edge-debug-lines ((arg0 (array vector-array))) (when (nonzero? arg0) - (dotimes (s5-0 (-> arg0 length)) - (when (logtest? *display-strip-lines* (ash 1 s5-0)) - (let ((s4-0 (-> arg0 s5-0))) - (dotimes (s3-0 (/ (-> s4-0 length) 2)) - (add-debug-line - #t - (bucket-id debug-draw1) - (-> s4-0 data (* s3-0 2)) - (-> s4-0 data (+ (* s3-0 2) 1)) - (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) - #f - (the-as rgba -1) + (dotimes (s5-0 (-> arg0 length)) + (when (logtest? *display-strip-lines* (ash 1 s5-0)) + (let ((s4-0 (-> arg0 s5-0))) + (dotimes (s3-0 (/ (-> s4-0 length) 2)) + (add-debug-line + #t + (bucket-id debug-draw1) + (-> s4-0 data (* s3-0 2)) + (-> s4-0 data (+ (* s3-0 2) 1)) + (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + #f + (the-as rgba -1) + ) + ) + ) ) - ) ) - ) ) - ) (none) ) @@ -59,260 +59,195 @@ ;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr0] ;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr1] (defun draw-drawable-tree-tfrag ((arg0 drawable-tree-tfrag)) - (local-vars - (r0-0 none) - (a0-20 int) - (a0-22 int) - (a0-38 int) - (a0-40 int) - (sv-16 (pointer uint8)) - ) + (local-vars (r0-0 none) (a0-20 int) (a0-22 int) (a0-38 int) (a0-40 int) (sv-16 (pointer uint8))) (when (logtest? *vu1-enable-user* (vu1-renderer-mask tfrag)) - (let ((s5-0 (+ (-> arg0 length) -1))) - (when (nonzero? s5-0) - (dotimes (s4-0 s5-0) - (let* ((v1-7 (-> arg0 arrays s4-0)) - (a0-4 (-> arg0 arrays (+ s4-0 1))) - (a1-1 - (/ (-> (the-as drawable-inline-array-node v1-7) data 0 id) 8) - ) - (a0-6 - (/ (-> (the-as drawable-inline-array-node a0-4) data 0 id) 8) - ) - (a1-3 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - a1-1 - ) - ) - (a0-8 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - a0-6 - ) + (let ((s5-0 (+ (-> arg0 length) -1))) + (when (nonzero? s5-0) + (dotimes (s4-0 s5-0) + (let* ((v1-7 (-> arg0 arrays s4-0)) + (a0-4 (-> arg0 arrays (+ s4-0 1))) + (a1-1 (/ (-> (the-as drawable-inline-array-node v1-7) data 0 id) 8)) + (a0-6 (/ (-> (the-as drawable-inline-array-node a0-4) data 0 id) 8)) + (a1-3 (&-> (the-as terrain-context #x70000000) work background vis-list a1-1)) + (a0-8 (&-> (the-as terrain-context #x70000000) work background vis-list a0-6)) + ) + (draw-node-cull + a0-8 + a1-3 + (-> (the-as drawable-inline-array-node v1-7) data) + (-> (the-as drawable-inline-array-node v1-7) length) ) + ) + ) + ) + (let* ((v1-13 (the-as drawable-inline-array-tfrag (-> arg0 arrays s5-0))) + (s4-1 (-> v1-13 data)) + (s3-0 (-> v1-13 length)) ) - (draw-node-cull - a0-8 - a1-3 - (-> (the-as drawable-inline-array-node v1-7) data) - (-> (the-as drawable-inline-array-node v1-7) length) - ) - ) - ) - ) - (let* ((v1-13 (the-as drawable-inline-array-tfrag (-> arg0 arrays s5-0))) - (s4-1 (-> v1-13 data)) - (s3-0 (-> v1-13 length)) - ) - (set! - sv-16 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - (/ (-> s4-1 0 id) 8) - ) - ) - (let - ((s5-1 - (-> *display* frames (-> *display* on-screen) frame global-buf base) - ) - ) - (let* - ((s1-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s2-0 (-> s1-0 base)) - ) - (set! (-> *tfrag-work* wait-to-spr) (the-as uint 0)) - (set! (-> *tfrag-work* wait-from-spr) (the-as uint 0)) - (tfrag-init-buffer - s1-0 - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x26 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 0 - ) - (let* ((v1-28 (-> *perf-stats* data 5)) - (a0-17 (-> v1-28 ctrl)) + (set! sv-16 (&-> (the-as terrain-context #x70000000) work background vis-list (/ (-> s4-1 0 id) 8))) + (let ((s5-1 (-> *display* frames (-> *display* on-screen) frame global-buf base))) + (let* ((s1-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s2-0 (-> s1-0 base)) + ) + (set! (-> *tfrag-work* wait-to-spr) (the-as uint 0)) + (set! (-> *tfrag-work* wait-from-spr) (the-as uint 0)) + (tfrag-init-buffer + s1-0 + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x26 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 0 ) - (+! (-> v1-28 count) 1) - (b! (zero? a0-17) cfg-8 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-17) - ) - (.sync.l) - (.sync.p) - (label cfg-8) - 0 - (draw-inline-array-tfrag - sv-16 - (the-as drawable-inline-array s4-1) - s3-0 - s1-0 - ) - (let ((v1-31 (-> *perf-stats* data 5))) - (b! (zero? (-> v1-31 ctrl)) cfg-10 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-20 pcr0) - (+! (-> v1-31 accum0) a0-20) - (.mfpc a0-22 pcr1) - (+! (-> v1-31 accum1) a0-22) - ) - (label cfg-10) - 0 - (update-wait-stats - (-> *perf-stats* data 5) - (the-as uint 0) - (-> *tfrag-work* wait-to-spr) - (-> *tfrag-work* wait-from-spr) - ) - (tfrag-end-buffer s1-0) - (let ((a3-3 (-> s1-0 base))) - (let ((v1-38 (the-as object (-> s1-0 base)))) - (set! - (-> (the-as dma-packet v1-38) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-38) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-38) vif1) (new 'static 'vif-tag)) - (set! (-> s1-0 base) (&+ (the-as pointer v1-38) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (the-as - bucket-id - (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) - 6 - 13 - ) - ) - s2-0 - (the-as (pointer dma-tag) a3-3) - ) - ) - ) - (let* - ((s1-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s2-1 (-> s1-1 base)) - ) - (set! (-> *tfrag-work* near-wait-to-spr) (the-as uint 0)) - (set! (-> *tfrag-work* near-wait-from-spr) (the-as uint 0)) - (tfrag-near-init-buffer - s1-1 - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x26 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 0 - ) - (let* ((v1-52 (-> *perf-stats* data 6)) - (a0-35 (-> v1-52 ctrl)) + (let* ((v1-28 (-> *perf-stats* data 5)) + (a0-17 (-> v1-28 ctrl)) + ) + (+! (-> v1-28 count) 1) + (b! (zero? a0-17) cfg-8 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-17) ) - (+! (-> v1-52 count) 1) - (b! (zero? a0-35) cfg-15 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-35) - ) - (.sync.l) - (.sync.p) - (label cfg-15) - 0 - (draw-inline-array-tfrag-near - sv-16 - (the-as drawable-inline-array s4-1) - s3-0 - s1-1 - ) - (let ((v1-55 (-> *perf-stats* data 6))) - (b! (zero? (-> v1-55 ctrl)) cfg-17 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-38 pcr0) - (+! (-> v1-55 accum0) a0-38) - (.mfpc a0-40 pcr1) - (+! (-> v1-55 accum1) a0-40) - ) - (label cfg-17) - 0 - (update-wait-stats - (-> *perf-stats* data 6) - (the-as uint 0) - (-> *tfrag-work* near-wait-to-spr) - (-> *tfrag-work* near-wait-from-spr) - ) - (tfrag-near-end-buffer s1-1) - (let ((a3-6 (-> s1-1 base))) - (let ((v1-62 (the-as object (-> s1-1 base)))) - (set! - (-> (the-as dma-packet v1-62) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + (.sync.l) + (.sync.p) + (label cfg-8) + 0 + (draw-inline-array-tfrag sv-16 (the-as drawable-inline-array s4-1) s3-0 s1-0) + (let ((v1-31 (-> *perf-stats* data 5))) + (b! (zero? (-> v1-31 ctrl)) cfg-10 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-20 pcr0) + (+! (-> v1-31 accum0) a0-20) + (.mfpc a0-22 pcr1) + (+! (-> v1-31 accum1) a0-22) + ) + (label cfg-10) + 0 + (update-wait-stats + (-> *perf-stats* data 5) + (the-as uint 0) + (-> *tfrag-work* wait-to-spr) + (-> *tfrag-work* wait-from-spr) + ) + (tfrag-end-buffer s1-0) + (let ((a3-3 (-> s1-0 base))) + (let ((v1-38 (the-as object (-> s1-0 base)))) + (set! (-> (the-as dma-packet v1-38) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-38) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-38) vif1) (new 'static 'vif-tag)) + (set! (-> s1-0 base) (&+ (the-as pointer v1-38) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (the-as bucket-id (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) + 6 + 13 + ) + ) + s2-0 + (the-as (pointer dma-tag) a3-3) + ) + ) + ) + (let* ((s1-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s2-1 (-> s1-1 base)) + ) + (set! (-> *tfrag-work* near-wait-to-spr) (the-as uint 0)) + (set! (-> *tfrag-work* near-wait-from-spr) (the-as uint 0)) + (tfrag-near-init-buffer + s1-1 + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x26 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 0 + ) + (let* ((v1-52 (-> *perf-stats* data 6)) + (a0-35 (-> v1-52 ctrl)) + ) + (+! (-> v1-52 count) 1) + (b! (zero? a0-35) cfg-15 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-35) + ) + (.sync.l) + (.sync.p) + (label cfg-15) + 0 + (draw-inline-array-tfrag-near sv-16 (the-as drawable-inline-array s4-1) s3-0 s1-1) + (let ((v1-55 (-> *perf-stats* data 6))) + (b! (zero? (-> v1-55 ctrl)) cfg-17 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-38 pcr0) + (+! (-> v1-55 accum0) a0-38) + (.mfpc a0-40 pcr1) + (+! (-> v1-55 accum1) a0-40) + ) + (label cfg-17) + 0 + (update-wait-stats + (-> *perf-stats* data 6) + (the-as uint 0) + (-> *tfrag-work* near-wait-to-spr) + (-> *tfrag-work* near-wait-from-spr) + ) + (tfrag-near-end-buffer s1-1) + (let ((a3-6 (-> s1-1 base))) + (let ((v1-62 (the-as object (-> s1-1 base)))) + (set! (-> (the-as dma-packet v1-62) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-62) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-62) vif1) (new 'static 'vif-tag)) + (set! (-> s1-1 base) (&+ (the-as pointer v1-62) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (the-as bucket-id (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) + 7 + 14 + ) + ) + s2-1 + (the-as (pointer dma-tag) a3-6) + ) + ) + ) + (let ((v1-69 *dma-mem-usage*)) + (when (nonzero? v1-69) + (set! (-> v1-69 length) (max 2 (-> v1-69 length))) + (set! (-> v1-69 data 1 name) "tfragment") + (+! (-> v1-69 data 1 count) 1) + (+! + (-> v1-69 data 1 used) + (&- (-> *display* frames (-> *display* on-screen) frame global-buf base) (the-as uint s5-1)) + ) + (set! (-> v1-69 data 1 total) (-> v1-69 data 1 used)) + ) + ) ) - (set! (-> (the-as dma-packet v1-62) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-62) vif1) (new 'static 'vif-tag)) - (set! (-> s1-1 base) (&+ (the-as pointer v1-62) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (the-as - bucket-id - (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) - 7 - 14 - ) - ) - s2-1 - (the-as (pointer dma-tag) a3-6) - ) ) - ) - (let ((v1-69 *dma-mem-usage*)) - (when (nonzero? v1-69) - (set! (-> v1-69 length) (max 2 (-> v1-69 length))) - (set! (-> v1-69 data 1 name) "tfragment") - (+! (-> v1-69 data 1 count) 1) - (+! - (-> v1-69 data 1 used) - (&- - (-> *display* frames (-> *display* on-screen) frame global-buf base) - (the-as uint s5-1) - ) - ) - (set! (-> v1-69 data 1 total) (-> v1-69 data 1 used)) - ) - ) ) - ) ) - ) (none) ) @@ -349,231 +284,183 @@ ;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr0] ;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr1] (defun draw-drawable-tree-trans-tfrag ((arg0 drawable-tree-trans-tfrag)) - (local-vars - (r0-0 none) - (a0-18 int) - (a0-20 int) - (a0-35 int) - (a0-37 int) - (sv-16 (pointer uint8)) - ) + (local-vars (r0-0 none) (a0-18 int) (a0-20 int) (a0-35 int) (a0-37 int) (sv-16 (pointer uint8))) (when (logtest? *vu1-enable-user* (vu1-renderer-mask trans-frag)) - (let ((s5-0 (+ (-> arg0 length) -1))) - (when (nonzero? s5-0) - (dotimes (s4-0 s5-0) - (let* ((v1-7 (-> arg0 arrays s4-0)) - (a0-4 (-> arg0 arrays (+ s4-0 1))) - (a1-1 - (/ (-> (the-as drawable-inline-array-node v1-7) data 0 id) 8) + (let ((s5-0 (+ (-> arg0 length) -1))) + (when (nonzero? s5-0) + (dotimes (s4-0 s5-0) + (let* ((v1-7 (-> arg0 arrays s4-0)) + (a0-4 (-> arg0 arrays (+ s4-0 1))) + (a1-1 (/ (-> (the-as drawable-inline-array-node v1-7) data 0 id) 8)) + (a0-6 (/ (-> (the-as drawable-inline-array-node a0-4) data 0 id) 8)) + (a1-3 (&-> (the-as terrain-context #x70000000) work background vis-list a1-1)) + (a0-8 (&-> (the-as terrain-context #x70000000) work background vis-list a0-6)) + ) + (draw-node-cull + a0-8 + a1-3 + (-> (the-as drawable-inline-array-node v1-7) data) + (-> (the-as drawable-inline-array-node v1-7) length) ) - (a0-6 - (/ (-> (the-as drawable-inline-array-node a0-4) data 0 id) 8) - ) - (a1-3 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - a1-1 - ) - ) - (a0-8 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - a0-6 - ) - ) - ) - (draw-node-cull - a0-8 - a1-3 - (-> (the-as drawable-inline-array-node v1-7) data) - (-> (the-as drawable-inline-array-node v1-7) length) - ) - ) - ) - ) - (let* ((v1-13 (-> arg0 arrays s5-0)) - (s5-1 (&+ v1-13 32)) - (s4-1 (-> v1-13 length)) - ) - (set! - sv-16 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - (/ (-> s5-1 id) 8) - ) - ) - (let* - ((s2-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s3-0 (-> s2-0 base)) - ) - (set! (-> *tfrag-work* wait-to-spr) (the-as uint 0)) - (set! (-> *tfrag-work* wait-from-spr) (the-as uint 0)) - (tfrag-init-buffer - s2-0 - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x7e - :afail #x1 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 1 - ) - (let* ((v1-24 (-> *perf-stats* data 5)) - (a0-14 (-> v1-24 ctrl)) - ) - (+! (-> v1-24 count) 1) - (b! (zero? a0-14) cfg-8 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-14) - ) - (.sync.l) - (.sync.p) - (label cfg-8) - 0 - (draw-inline-array-tfrag sv-16 s5-1 s4-1 s2-0) - (update-wait-stats - (-> *perf-stats* data 5) - (the-as uint 0) - (-> *tfrag-work* wait-to-spr) - (-> *tfrag-work* wait-from-spr) - ) - (let ((v1-32 (-> *perf-stats* data 5))) - (b! (zero? (-> v1-32 ctrl)) cfg-10 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-18 pcr0) - (+! (-> v1-32 accum0) a0-18) - (.mfpc a0-20 pcr1) - (+! (-> v1-32 accum1) a0-20) - ) - (label cfg-10) - 0 - (tfrag-end-buffer s2-0) - (let ((a3-3 (-> s2-0 base))) - (let ((v1-34 (the-as object (-> s2-0 base)))) - (set! - (-> (the-as dma-packet v1-34) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-34) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-34) vif1) (new 'static 'vif-tag)) - (set! (-> s2-0 base) (&+ (the-as pointer v1-34) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (the-as - bucket-id - (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) - 32 - 39 + ) ) - ) - s3-0 - (the-as (pointer dma-tag) a3-3) ) - ) - ) - (let* - ((s2-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s3-1 (-> s2-1 base)) - ) - (set! (-> *tfrag-work* near-wait-to-spr) (the-as uint 0)) - (set! (-> *tfrag-work* near-wait-from-spr) (the-as uint 0)) - (tfrag-near-init-buffer - s2-1 - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x7e - :afail #x1 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 1 - ) - (let* ((v1-48 (-> *perf-stats* data 6)) - (a0-32 (-> v1-48 ctrl)) + (let* ((v1-13 (-> arg0 arrays s5-0)) + (s5-1 (&+ v1-13 32)) + (s4-1 (-> v1-13 length)) ) - (+! (-> v1-48 count) 1) - (b! (zero? a0-32) cfg-15 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-32) - ) - (.sync.l) - (.sync.p) - (label cfg-15) - 0 - (draw-inline-array-tfrag-near sv-16 s5-1 s4-1 s2-1) - (let ((v1-51 (-> *perf-stats* data 6))) - (b! (zero? (-> v1-51 ctrl)) cfg-17 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-35 pcr0) - (+! (-> v1-51 accum0) a0-35) - (.mfpc a0-37 pcr1) - (+! (-> v1-51 accum1) a0-37) - ) - (label cfg-17) - 0 - (update-wait-stats - (-> *perf-stats* data 6) - (the-as uint 0) - (-> *tfrag-work* near-wait-to-spr) - (-> *tfrag-work* near-wait-from-spr) - ) - (tfrag-near-end-buffer s2-1) - (let ((a3-6 (-> s2-1 base))) - (let ((v1-58 (the-as object (-> s2-1 base)))) - (set! - (-> (the-as dma-packet v1-58) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-58) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-58) vif1) (new 'static 'vif-tag)) - (set! (-> s2-1 base) (&+ (the-as pointer v1-58) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (the-as - bucket-id - (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) - 33 - 40 + (set! sv-16 (&-> (the-as terrain-context #x70000000) work background vis-list (/ (-> s5-1 id) 8))) + (let* ((s2-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s3-0 (-> s2-0 base)) + ) + (set! (-> *tfrag-work* wait-to-spr) (the-as uint 0)) + (set! (-> *tfrag-work* wait-from-spr) (the-as uint 0)) + (tfrag-init-buffer + s2-0 + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x7e + :afail #x1 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 1 + ) + (let* ((v1-24 (-> *perf-stats* data 5)) + (a0-14 (-> v1-24 ctrl)) + ) + (+! (-> v1-24 count) 1) + (b! (zero? a0-14) cfg-8 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-14) + ) + (.sync.l) + (.sync.p) + (label cfg-8) + 0 + (draw-inline-array-tfrag sv-16 s5-1 s4-1 s2-0) + (update-wait-stats + (-> *perf-stats* data 5) + (the-as uint 0) + (-> *tfrag-work* wait-to-spr) + (-> *tfrag-work* wait-from-spr) + ) + (let ((v1-32 (-> *perf-stats* data 5))) + (b! (zero? (-> v1-32 ctrl)) cfg-10 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-18 pcr0) + (+! (-> v1-32 accum0) a0-18) + (.mfpc a0-20 pcr1) + (+! (-> v1-32 accum1) a0-20) + ) + (label cfg-10) + 0 + (tfrag-end-buffer s2-0) + (let ((a3-3 (-> s2-0 base))) + (let ((v1-34 (the-as object (-> s2-0 base)))) + (set! (-> (the-as dma-packet v1-34) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-34) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-34) vif1) (new 'static 'vif-tag)) + (set! (-> s2-0 base) (&+ (the-as pointer v1-34) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (the-as bucket-id (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) + 32 + 39 + ) + ) + s3-0 + (the-as (pointer dma-tag) a3-3) + ) + ) + ) + (let* ((s2-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s3-1 (-> s2-1 base)) + ) + (set! (-> *tfrag-work* near-wait-to-spr) (the-as uint 0)) + (set! (-> *tfrag-work* near-wait-from-spr) (the-as uint 0)) + (tfrag-near-init-buffer + s2-1 + (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x7e + :afail #x1 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + 1 + ) + (let* ((v1-48 (-> *perf-stats* data 6)) + (a0-32 (-> v1-48 ctrl)) + ) + (+! (-> v1-48 count) 1) + (b! (zero? a0-32) cfg-15 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-32) + ) + (.sync.l) + (.sync.p) + (label cfg-15) + 0 + (draw-inline-array-tfrag-near sv-16 s5-1 s4-1 s2-1) + (let ((v1-51 (-> *perf-stats* data 6))) + (b! (zero? (-> v1-51 ctrl)) cfg-17 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-35 pcr0) + (+! (-> v1-51 accum0) a0-35) + (.mfpc a0-37 pcr1) + (+! (-> v1-51 accum1) a0-37) + ) + (label cfg-17) + 0 + (update-wait-stats + (-> *perf-stats* data 6) + (the-as uint 0) + (-> *tfrag-work* near-wait-to-spr) + (-> *tfrag-work* near-wait-from-spr) + ) + (tfrag-near-end-buffer s2-1) + (let ((a3-6 (-> s2-1 base))) + (let ((v1-58 (the-as object (-> s2-1 base)))) + (set! (-> (the-as dma-packet v1-58) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-58) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-58) vif1) (new 'static 'vif-tag)) + (set! (-> s2-1 base) (&+ (the-as pointer v1-58) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (the-as bucket-id (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) + 33 + 40 + ) + ) + s3-1 + (the-as (pointer dma-tag) a3-6) + ) + ) ) - ) - s3-1 - (the-as (pointer dma-tag) a3-6) ) - ) ) - ) ) - ) (none) ) @@ -610,227 +497,165 @@ ;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr0] ;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr1] (defun draw-drawable-tree-dirt-tfrag ((arg0 drawable-tree-dirt-tfrag)) - (local-vars - (r0-0 none) - (a0-18 int) - (a0-20 int) - (a0-35 int) - (a0-37 int) - (sv-16 (pointer uint8)) - ) + (local-vars (r0-0 none) (a0-18 int) (a0-20 int) (a0-35 int) (a0-37 int) (sv-16 (pointer uint8))) (when (logtest? *vu1-enable-user* (vu1-renderer-mask trans-frag)) - (let ((s5-0 (+ (-> arg0 length) -1))) - (when (nonzero? s5-0) - (dotimes (s4-0 s5-0) - (let* ((v1-7 (-> arg0 arrays s4-0)) - (a0-4 (-> arg0 arrays (+ s4-0 1))) - (a1-1 - (/ (-> (the-as drawable-inline-array-node v1-7) data 0 id) 8) + (let ((s5-0 (+ (-> arg0 length) -1))) + (when (nonzero? s5-0) + (dotimes (s4-0 s5-0) + (let* ((v1-7 (-> arg0 arrays s4-0)) + (a0-4 (-> arg0 arrays (+ s4-0 1))) + (a1-1 (/ (-> (the-as drawable-inline-array-node v1-7) data 0 id) 8)) + (a0-6 (/ (-> (the-as drawable-inline-array-node a0-4) data 0 id) 8)) + (a1-3 (&-> (the-as terrain-context #x70000000) work background vis-list a1-1)) + (a0-8 (&-> (the-as terrain-context #x70000000) work background vis-list a0-6)) + ) + (draw-node-cull + a0-8 + a1-3 + (-> (the-as drawable-inline-array-node v1-7) data) + (-> (the-as drawable-inline-array-node v1-7) length) ) - (a0-6 - (/ (-> (the-as drawable-inline-array-node a0-4) data 0 id) 8) - ) - (a1-3 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - a1-1 - ) - ) - (a0-8 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - a0-6 - ) - ) - ) - (draw-node-cull - a0-8 - a1-3 - (-> (the-as drawable-inline-array-node v1-7) data) - (-> (the-as drawable-inline-array-node v1-7) length) - ) - ) - ) - ) - (let* ((v1-13 (-> arg0 arrays s5-0)) - (s5-1 (&+ v1-13 32)) - (s4-1 (-> v1-13 length)) - ) - (set! - sv-16 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - (/ (-> s5-1 id) 8) - ) - ) - (let* - ((s2-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s3-0 (-> s2-0 base)) - ) - (set! (-> *tfrag-work* wait-to-spr) (the-as uint 0)) - (set! (-> *tfrag-work* wait-from-spr) (the-as uint 0)) - (tfrag-init-buffer - s2-0 - (new 'static 'gs-test - :ate #x1 - :afail #x1 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 1 - ) - (let* ((v1-24 (-> *perf-stats* data 5)) - (a0-14 (-> v1-24 ctrl)) - ) - (+! (-> v1-24 count) 1) - (b! (zero? a0-14) cfg-8 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-14) - ) - (.sync.l) - (.sync.p) - (label cfg-8) - 0 - (draw-inline-array-tfrag sv-16 s5-1 s4-1 s2-0) - (update-wait-stats - (-> *perf-stats* data 5) - (the-as uint 0) - (-> *tfrag-work* wait-to-spr) - (-> *tfrag-work* wait-from-spr) - ) - (let ((v1-32 (-> *perf-stats* data 5))) - (b! (zero? (-> v1-32 ctrl)) cfg-10 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-18 pcr0) - (+! (-> v1-32 accum0) a0-18) - (.mfpc a0-20 pcr1) - (+! (-> v1-32 accum1) a0-20) - ) - (label cfg-10) - 0 - (tfrag-end-buffer s2-0) - (let ((a3-3 (-> s2-0 base))) - (let ((v1-34 (the-as object (-> s2-0 base)))) - (set! - (-> (the-as dma-packet v1-34) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-34) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-34) vif1) (new 'static 'vif-tag)) - (set! (-> s2-0 base) (&+ (the-as pointer v1-34) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (the-as - bucket-id - (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) - 34 - 41 + ) ) - ) - s3-0 - (the-as (pointer dma-tag) a3-3) ) - ) - ) - (let* - ((s2-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s3-1 (-> s2-1 base)) - ) - (set! (-> *tfrag-work* near-wait-to-spr) (the-as uint 0)) - (set! (-> *tfrag-work* near-wait-from-spr) (the-as uint 0)) - (tfrag-near-init-buffer - s2-1 - (new 'static 'gs-test - :ate #x1 - :afail #x1 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 1 - ) - (let* ((v1-48 (-> *perf-stats* data 6)) - (a0-32 (-> v1-48 ctrl)) + (let* ((v1-13 (-> arg0 arrays s5-0)) + (s5-1 (&+ v1-13 32)) + (s4-1 (-> v1-13 length)) ) - (+! (-> v1-48 count) 1) - (b! (zero? a0-32) cfg-15 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-32) - ) - (.sync.l) - (.sync.p) - (label cfg-15) - 0 - (draw-inline-array-tfrag-near sv-16 s5-1 s4-1 s2-1) - (let ((v1-51 (-> *perf-stats* data 6))) - (b! (zero? (-> v1-51 ctrl)) cfg-17 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-35 pcr0) - (+! (-> v1-51 accum0) a0-35) - (.mfpc a0-37 pcr1) - (+! (-> v1-51 accum1) a0-37) - ) - (label cfg-17) - 0 - (update-wait-stats - (-> *perf-stats* data 6) - (the-as uint 0) - (-> *tfrag-work* near-wait-to-spr) - (-> *tfrag-work* near-wait-from-spr) - ) - (tfrag-near-end-buffer s2-1) - (let ((a3-6 (-> s2-1 base))) - (let ((v1-58 (the-as object (-> s2-1 base)))) - (set! - (-> (the-as dma-packet v1-58) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-58) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-58) vif1) (new 'static 'vif-tag)) - (set! (-> s2-1 base) (&+ (the-as pointer v1-58) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (the-as - bucket-id - (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) - 35 - 42 + (set! sv-16 (&-> (the-as terrain-context #x70000000) work background vis-list (/ (-> s5-1 id) 8))) + (let* ((s2-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s3-0 (-> s2-0 base)) + ) + (set! (-> *tfrag-work* wait-to-spr) (the-as uint 0)) + (set! (-> *tfrag-work* wait-from-spr) (the-as uint 0)) + (tfrag-init-buffer s2-0 (new 'static 'gs-test :ate #x1 :afail #x1 :zte #x1 :ztst (gs-ztest greater-equal)) 1) + (let* ((v1-24 (-> *perf-stats* data 5)) + (a0-14 (-> v1-24 ctrl)) + ) + (+! (-> v1-24 count) 1) + (b! (zero? a0-14) cfg-8 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-14) + ) + (.sync.l) + (.sync.p) + (label cfg-8) + 0 + (draw-inline-array-tfrag sv-16 s5-1 s4-1 s2-0) + (update-wait-stats + (-> *perf-stats* data 5) + (the-as uint 0) + (-> *tfrag-work* wait-to-spr) + (-> *tfrag-work* wait-from-spr) + ) + (let ((v1-32 (-> *perf-stats* data 5))) + (b! (zero? (-> v1-32 ctrl)) cfg-10 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-18 pcr0) + (+! (-> v1-32 accum0) a0-18) + (.mfpc a0-20 pcr1) + (+! (-> v1-32 accum1) a0-20) + ) + (label cfg-10) + 0 + (tfrag-end-buffer s2-0) + (let ((a3-3 (-> s2-0 base))) + (let ((v1-34 (the-as object (-> s2-0 base)))) + (set! (-> (the-as dma-packet v1-34) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-34) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-34) vif1) (new 'static 'vif-tag)) + (set! (-> s2-0 base) (&+ (the-as pointer v1-34) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (the-as bucket-id (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) + 34 + 41 + ) + ) + s3-0 + (the-as (pointer dma-tag) a3-3) + ) + ) + ) + (let* ((s2-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s3-1 (-> s2-1 base)) + ) + (set! (-> *tfrag-work* near-wait-to-spr) (the-as uint 0)) + (set! (-> *tfrag-work* near-wait-from-spr) (the-as uint 0)) + (tfrag-near-init-buffer + s2-1 + (new 'static 'gs-test :ate #x1 :afail #x1 :zte #x1 :ztst (gs-ztest greater-equal)) + 1 + ) + (let* ((v1-48 (-> *perf-stats* data 6)) + (a0-32 (-> v1-48 ctrl)) + ) + (+! (-> v1-48 count) 1) + (b! (zero? a0-32) cfg-15 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-32) + ) + (.sync.l) + (.sync.p) + (label cfg-15) + 0 + (draw-inline-array-tfrag-near sv-16 s5-1 s4-1 s2-1) + (let ((v1-51 (-> *perf-stats* data 6))) + (b! (zero? (-> v1-51 ctrl)) cfg-17 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-35 pcr0) + (+! (-> v1-51 accum0) a0-35) + (.mfpc a0-37 pcr1) + (+! (-> v1-51 accum1) a0-37) + ) + (label cfg-17) + 0 + (update-wait-stats + (-> *perf-stats* data 6) + (the-as uint 0) + (-> *tfrag-work* near-wait-to-spr) + (-> *tfrag-work* near-wait-from-spr) + ) + (tfrag-near-end-buffer s2-1) + (let ((a3-6 (-> s2-1 base))) + (let ((v1-58 (the-as object (-> s2-1 base)))) + (set! (-> (the-as dma-packet v1-58) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-58) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-58) vif1) (new 'static 'vif-tag)) + (set! (-> s2-1 base) (&+ (the-as pointer v1-58) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (the-as bucket-id (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) + 35 + 42 + ) + ) + s3-1 + (the-as (pointer dma-tag) a3-6) + ) + ) ) - ) - s3-1 - (the-as (pointer dma-tag) a3-6) ) - ) ) - ) ) - ) (none) ) @@ -867,330 +692,252 @@ ;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr0] ;; WARN: Unsupported inline assembly instruction kind - [mfpc a0, pcr1] (defun draw-drawable-tree-ice-tfrag ((arg0 drawable-tree-ice-tfrag)) - (local-vars - (r0-0 none) - (a0-18 int) - (a0-20 int) - (a0-35 int) - (a0-37 int) - (sv-16 (pointer uint8)) - ) + (local-vars (r0-0 none) (a0-18 int) (a0-20 int) (a0-35 int) (a0-37 int) (sv-16 (pointer uint8))) (when (logtest? *vu1-enable-user* (vu1-renderer-mask trans-frag)) - (let ((s5-0 (+ (-> arg0 length) -1))) - (when (nonzero? s5-0) - (dotimes (s4-0 s5-0) - (let* ((v1-7 (-> arg0 arrays s4-0)) - (a0-4 (-> arg0 arrays (+ s4-0 1))) - (a1-1 - (/ (-> (the-as drawable-inline-array-node v1-7) data 0 id) 8) + (let ((s5-0 (+ (-> arg0 length) -1))) + (when (nonzero? s5-0) + (dotimes (s4-0 s5-0) + (let* ((v1-7 (-> arg0 arrays s4-0)) + (a0-4 (-> arg0 arrays (+ s4-0 1))) + (a1-1 (/ (-> (the-as drawable-inline-array-node v1-7) data 0 id) 8)) + (a0-6 (/ (-> (the-as drawable-inline-array-node a0-4) data 0 id) 8)) + (a1-3 (&-> (the-as terrain-context #x70000000) work background vis-list a1-1)) + (a0-8 (&-> (the-as terrain-context #x70000000) work background vis-list a0-6)) + ) + (draw-node-cull + a0-8 + a1-3 + (-> (the-as drawable-inline-array-node v1-7) data) + (-> (the-as drawable-inline-array-node v1-7) length) ) - (a0-6 - (/ (-> (the-as drawable-inline-array-node a0-4) data 0 id) 8) - ) - (a1-3 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - a1-1 - ) - ) - (a0-8 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - a0-6 - ) - ) - ) - (draw-node-cull - a0-8 - a1-3 - (-> (the-as drawable-inline-array-node v1-7) data) - (-> (the-as drawable-inline-array-node v1-7) length) - ) - ) - ) - ) - (let* ((v1-13 (-> arg0 arrays s5-0)) - (s5-1 (&+ v1-13 32)) - (s4-1 (-> v1-13 length)) - ) - (set! - sv-16 - (&-> - (the-as terrain-context #x70000000) - work - background - vis-list - (/ (-> s5-1 id) 8) - ) - ) - (let* - ((s2-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s3-0 (-> s2-0 base)) - ) - (set! (-> *tfrag-work* wait-to-spr) (the-as uint 0)) - (set! (-> *tfrag-work* wait-from-spr) (the-as uint 0)) - (tfrag-init-buffer - s2-0 - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest always) - :afail #x1 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 1 - ) - (let* ((v1-24 (-> *perf-stats* data 5)) - (a0-14 (-> v1-24 ctrl)) - ) - (+! (-> v1-24 count) 1) - (b! (zero? a0-14) cfg-8 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-14) - ) - (.sync.l) - (.sync.p) - (label cfg-8) - 0 - (draw-inline-array-tfrag sv-16 s5-1 s4-1 s2-0) - (update-wait-stats - (-> *perf-stats* data 5) - (the-as uint 0) - (-> *tfrag-work* wait-to-spr) - (-> *tfrag-work* wait-from-spr) - ) - (let ((v1-32 (-> *perf-stats* data 5))) - (b! (zero? (-> v1-32 ctrl)) cfg-10 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-18 pcr0) - (+! (-> v1-32 accum0) a0-18) - (.mfpc a0-20 pcr1) - (+! (-> v1-32 accum1) a0-20) - ) - (label cfg-10) - 0 - (tfrag-end-buffer s2-0) - (let ((a3-3 (-> s2-0 base))) - (let ((v1-34 (the-as object (-> s2-0 base)))) - (set! - (-> (the-as dma-packet v1-34) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-34) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-34) vif1) (new 'static 'vif-tag)) - (set! (-> s2-0 base) (&+ (the-as pointer v1-34) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (the-as - bucket-id - (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) - 36 - 43 + ) ) - ) - s3-0 - (the-as (pointer dma-tag) a3-3) ) - ) - ) - (let* - ((s2-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s3-1 (-> s2-1 base)) - ) - (set! (-> *tfrag-work* near-wait-to-spr) (the-as uint 0)) - (set! (-> *tfrag-work* near-wait-from-spr) (the-as uint 0)) - (tfrag-near-init-buffer - s2-1 - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest always) - :afail #x1 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - 1 - ) - (let* ((v1-48 (-> *perf-stats* data 6)) - (a0-32 (-> v1-48 ctrl)) + (let* ((v1-13 (-> arg0 arrays s5-0)) + (s5-1 (&+ v1-13 32)) + (s4-1 (-> v1-13 length)) ) - (+! (-> v1-48 count) 1) - (b! (zero? a0-32) cfg-15 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mtpc pcr0 r0-0) - (.mtpc pcr1 r0-0) - (.sync.l) - (.sync.p) - (.mtc0 Perf a0-32) - ) - (.sync.l) - (.sync.p) - (label cfg-15) - 0 - (draw-inline-array-tfrag-near sv-16 s5-1 s4-1 s2-1) - (let ((v1-51 (-> *perf-stats* data 6))) - (b! (zero? (-> v1-51 ctrl)) cfg-17 :delay (nop!)) - (.mtc0 Perf r0-0) - (.sync.l) - (.sync.p) - (.mfpc a0-35 pcr0) - (+! (-> v1-51 accum0) a0-35) - (.mfpc a0-37 pcr1) - (+! (-> v1-51 accum1) a0-37) - ) - (label cfg-17) - 0 - (update-wait-stats - (-> *perf-stats* data 6) - (the-as uint 0) - (-> *tfrag-work* near-wait-to-spr) - (-> *tfrag-work* near-wait-from-spr) - ) - (tfrag-near-end-buffer s2-1) - (let ((a3-6 (-> s2-1 base))) - (let ((v1-58 (the-as object (-> s2-1 base)))) - (set! - (-> (the-as dma-packet v1-58) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-58) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-58) vif1) (new 'static 'vif-tag)) - (set! (-> s2-1 base) (&+ (the-as pointer v1-58) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (the-as - bucket-id - (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) - 37 - 44 + (set! sv-16 (&-> (the-as terrain-context #x70000000) work background vis-list (/ (-> s5-1 id) 8))) + (let* ((s2-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s3-0 (-> s2-0 base)) + ) + (set! (-> *tfrag-work* wait-to-spr) (the-as uint 0)) + (set! (-> *tfrag-work* wait-from-spr) (the-as uint 0)) + (tfrag-init-buffer + s2-0 + (new 'static 'gs-test :ate #x1 :atst (gs-atest always) :afail #x1 :zte #x1 :ztst (gs-ztest greater-equal)) + 1 + ) + (let* ((v1-24 (-> *perf-stats* data 5)) + (a0-14 (-> v1-24 ctrl)) + ) + (+! (-> v1-24 count) 1) + (b! (zero? a0-14) cfg-8 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-14) + ) + (.sync.l) + (.sync.p) + (label cfg-8) + 0 + (draw-inline-array-tfrag sv-16 s5-1 s4-1 s2-0) + (update-wait-stats + (-> *perf-stats* data 5) + (the-as uint 0) + (-> *tfrag-work* wait-to-spr) + (-> *tfrag-work* wait-from-spr) + ) + (let ((v1-32 (-> *perf-stats* data 5))) + (b! (zero? (-> v1-32 ctrl)) cfg-10 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-18 pcr0) + (+! (-> v1-32 accum0) a0-18) + (.mfpc a0-20 pcr1) + (+! (-> v1-32 accum1) a0-20) + ) + (label cfg-10) + 0 + (tfrag-end-buffer s2-0) + (let ((a3-3 (-> s2-0 base))) + (let ((v1-34 (the-as object (-> s2-0 base)))) + (set! (-> (the-as dma-packet v1-34) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-34) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-34) vif1) (new 'static 'vif-tag)) + (set! (-> s2-0 base) (&+ (the-as pointer v1-34) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (the-as bucket-id (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) + 36 + 43 + ) + ) + s3-0 + (the-as (pointer dma-tag) a3-3) + ) + ) + ) + (let* ((s2-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s3-1 (-> s2-1 base)) + ) + (set! (-> *tfrag-work* near-wait-to-spr) (the-as uint 0)) + (set! (-> *tfrag-work* near-wait-from-spr) (the-as uint 0)) + (tfrag-near-init-buffer + s2-1 + (new 'static 'gs-test :ate #x1 :atst (gs-atest always) :afail #x1 :zte #x1 :ztst (gs-ztest greater-equal)) + 1 + ) + (let* ((v1-48 (-> *perf-stats* data 6)) + (a0-32 (-> v1-48 ctrl)) + ) + (+! (-> v1-48 count) 1) + (b! (zero? a0-32) cfg-15 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mtpc pcr0 r0-0) + (.mtpc pcr1 r0-0) + (.sync.l) + (.sync.p) + (.mtc0 Perf a0-32) + ) + (.sync.l) + (.sync.p) + (label cfg-15) + 0 + (draw-inline-array-tfrag-near sv-16 s5-1 s4-1 s2-1) + (let ((v1-51 (-> *perf-stats* data 6))) + (b! (zero? (-> v1-51 ctrl)) cfg-17 :delay (nop!)) + (.mtc0 Perf r0-0) + (.sync.l) + (.sync.p) + (.mfpc a0-35 pcr0) + (+! (-> v1-51 accum0) a0-35) + (.mfpc a0-37 pcr1) + (+! (-> v1-51 accum1) a0-37) + ) + (label cfg-17) + 0 + (update-wait-stats + (-> *perf-stats* data 6) + (the-as uint 0) + (-> *tfrag-work* near-wait-to-spr) + (-> *tfrag-work* near-wait-from-spr) + ) + (tfrag-near-end-buffer s2-1) + (let ((a3-6 (-> s2-1 base))) + (let ((v1-58 (the-as object (-> s2-1 base)))) + (set! (-> (the-as dma-packet v1-58) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-58) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-58) vif1) (new 'static 'vif-tag)) + (set! (-> s2-1 base) (&+ (the-as pointer v1-58) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (the-as bucket-id (if (zero? (-> (the-as terrain-context #x70000000) bsp lev-index)) + 37 + 44 + ) + ) + s3-1 + (the-as (pointer dma-tag) a3-6) + ) + ) ) - ) - s3-1 - (the-as (pointer dma-tag) a3-6) ) - ) ) - ) ) - ) (none) ) ;; definition for method 10 of type drawable-tree-tfrag ;; INFO: Return type mismatch drawable-tree-tfrag vs none. -(defmethod - draw - drawable-tree-tfrag - ((obj drawable-tree-tfrag) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-tree-tfrag ((obj drawable-tree-tfrag) (arg0 drawable) (arg1 display-frame)) (let* ((v1-1 (-> *background-work* tfrag-tree-count)) (a1-2 (-> (the-as terrain-context #x70000000) bsp lev-index)) (a1-5 (-> *level* level a1-2)) ) - (set! (-> *background-work* tfrag-trees v1-1) obj) - (set! (-> *background-work* tfrag-levels v1-1) a1-5) - ) + (set! (-> *background-work* tfrag-trees v1-1) obj) + (set! (-> *background-work* tfrag-levels v1-1) a1-5) + ) (+! (-> *background-work* tfrag-tree-count) 1) (none) ) ;; definition for method 10 of type drawable-tree-trans-tfrag ;; INFO: Return type mismatch drawable-tree-trans-tfrag vs none. -(defmethod - draw - drawable-tree-trans-tfrag - ((obj drawable-tree-trans-tfrag) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-tree-trans-tfrag ((obj drawable-tree-trans-tfrag) (arg0 drawable) (arg1 display-frame)) (let* ((v1-1 (-> *background-work* trans-tfrag-tree-count)) (a1-2 (-> (the-as terrain-context #x70000000) bsp lev-index)) (a1-5 (-> *level* level a1-2)) ) - (set! (-> *background-work* trans-tfrag-trees v1-1) obj) - (set! (-> *background-work* trans-tfrag-levels v1-1) a1-5) - ) + (set! (-> *background-work* trans-tfrag-trees v1-1) obj) + (set! (-> *background-work* trans-tfrag-levels v1-1) a1-5) + ) (+! (-> *background-work* trans-tfrag-tree-count) 1) (none) ) ;; definition for method 10 of type drawable-tree-dirt-tfrag ;; INFO: Return type mismatch drawable-tree-dirt-tfrag vs none. -(defmethod - draw - drawable-tree-dirt-tfrag - ((obj drawable-tree-dirt-tfrag) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-tree-dirt-tfrag ((obj drawable-tree-dirt-tfrag) (arg0 drawable) (arg1 display-frame)) (let* ((v1-1 (-> *background-work* dirt-tfrag-tree-count)) (a1-2 (-> (the-as terrain-context #x70000000) bsp lev-index)) (a1-5 (-> *level* level a1-2)) ) - (set! (-> *background-work* dirt-tfrag-trees v1-1) obj) - (set! (-> *background-work* dirt-tfrag-levels v1-1) a1-5) - ) + (set! (-> *background-work* dirt-tfrag-trees v1-1) obj) + (set! (-> *background-work* dirt-tfrag-levels v1-1) a1-5) + ) (+! (-> *background-work* dirt-tfrag-tree-count) 1) (none) ) ;; definition for method 10 of type drawable-tree-ice-tfrag ;; INFO: Return type mismatch drawable-tree-ice-tfrag vs none. -(defmethod - draw - drawable-tree-ice-tfrag - ((obj drawable-tree-ice-tfrag) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-tree-ice-tfrag ((obj drawable-tree-ice-tfrag) (arg0 drawable) (arg1 display-frame)) (let* ((v1-1 (-> *background-work* ice-tfrag-tree-count)) (a1-2 (-> (the-as terrain-context #x70000000) bsp lev-index)) (a1-5 (-> *level* level a1-2)) ) - (set! (-> *background-work* ice-tfrag-trees v1-1) obj) - (set! (-> *background-work* ice-tfrag-levels v1-1) a1-5) - ) + (set! (-> *background-work* ice-tfrag-trees v1-1) obj) + (set! (-> *background-work* ice-tfrag-levels v1-1) a1-5) + ) (+! (-> *background-work* ice-tfrag-tree-count) 1) (none) ) ;; definition for method 10 of type drawable-tree-lowres-tfrag ;; INFO: Return type mismatch drawable-tree-lowres-tfrag vs none. -(defmethod - draw - drawable-tree-lowres-tfrag - ((obj drawable-tree-lowres-tfrag) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-tree-lowres-tfrag ((obj drawable-tree-lowres-tfrag) (arg0 drawable) (arg1 display-frame)) (let* ((v1-1 (-> *background-work* lowres-tfrag-tree-count)) (a1-2 (-> (the-as terrain-context #x70000000) bsp lev-index)) (a1-5 (-> *level* level a1-2)) ) - (set! (-> *background-work* lowres-tfrag-trees v1-1) obj) - (set! (-> *background-work* lowres-tfrag-levels v1-1) a1-5) - ) + (set! (-> *background-work* lowres-tfrag-trees v1-1) obj) + (set! (-> *background-work* lowres-tfrag-levels v1-1) a1-5) + ) (+! (-> *background-work* lowres-tfrag-tree-count) 1) (none) ) ;; definition for method 10 of type drawable-tree-lowres-trans-tfrag ;; INFO: Return type mismatch drawable-tree-lowres-trans-tfrag vs none. -(defmethod - draw - drawable-tree-lowres-trans-tfrag - ((obj drawable-tree-lowres-trans-tfrag) (arg0 drawable) (arg1 display-frame)) +(defmethod draw drawable-tree-lowres-trans-tfrag ((obj drawable-tree-lowres-trans-tfrag) (arg0 drawable) (arg1 display-frame)) (let* ((v1-1 (-> *background-work* lowres-trans-tfrag-tree-count)) (a1-2 (-> (the-as terrain-context #x70000000) bsp lev-index)) (a1-5 (-> *level* level a1-2)) ) - (set! (-> *background-work* lowres-trans-tfrag-trees v1-1) obj) - (set! (-> *background-work* lowres-trans-tfrag-levels v1-1) a1-5) - ) + (set! (-> *background-work* lowres-trans-tfrag-trees v1-1) obj) + (set! (-> *background-work* lowres-trans-tfrag-levels v1-1) a1-5) + ) (+! (-> *background-work* lowres-trans-tfrag-tree-count) 1) (none) ) @@ -1206,144 +953,109 @@ ;; Used lq/sq (defmethod collect-stats drawable-tree-tfrag ((obj drawable-tree-tfrag)) (when (logtest? *vu1-enable-user* (vu1-renderer-mask tfrag)) - (set! - (-> *tfrag-work* vu1-enable-tfrag) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask tfrag))) + (set! (-> *tfrag-work* vu1-enable-tfrag) (the-as int (logand *vu1-enable-user* (vu1-renderer-mask tfrag)))) + (set! (-> *tfrag-work* vu1-enable-tfrag-near) + (the-as int (logand *vu1-enable-user* (vu1-renderer-mask tfrag))) + ) + (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* tfrag)) + (set! (-> *tfrag-work* tr-stat-tfrag-near) (-> *terrain-stats* tfrag-near)) + (let ((v1-12 (-> *tfrag-work* frag-dists quad))) + (set! (-> *tfrag-work* frag-dists quad) v1-12) + ) + (dotimes (s5-0 (-> obj length)) + (collect-stats (-> obj arrays s5-0)) + ) ) - (set! - (-> *tfrag-work* vu1-enable-tfrag-near) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask tfrag))) - ) - (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* tfrag)) - (set! (-> *tfrag-work* tr-stat-tfrag-near) (-> *terrain-stats* tfrag-near)) - (let ((v1-12 (-> *tfrag-work* frag-dists quad))) - (set! (-> *tfrag-work* frag-dists quad) v1-12) - ) - (dotimes (s5-0 (-> obj length)) - (collect-stats (-> obj arrays s5-0)) - ) - ) (none) ) ;; definition for method 14 of type drawable-tree-lowres-tfrag ;; INFO: Return type mismatch drawable-tree-lowres-tfrag vs none. ;; Used lq/sq -(defmethod - collect-stats - drawable-tree-lowres-tfrag - ((obj drawable-tree-lowres-tfrag)) +(defmethod collect-stats drawable-tree-lowres-tfrag ((obj drawable-tree-lowres-tfrag)) (when (logtest? *vu1-enable-user* (vu1-renderer-mask tfrag)) - (set! - (-> *tfrag-work* vu1-enable-tfrag) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask tfrag))) + (set! (-> *tfrag-work* vu1-enable-tfrag) (the-as int (logand *vu1-enable-user* (vu1-renderer-mask tfrag)))) + (set! (-> *tfrag-work* vu1-enable-tfrag-near) + (the-as int (logand *vu1-enable-user* (vu1-renderer-mask tfrag))) + ) + (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* tfrag)) + (set! (-> *tfrag-work* tr-stat-tfrag-near) (-> *terrain-stats* tfrag-near)) + (let ((v1-12 (-> *tfrag-work* frag-dists quad))) + (set! (-> *tfrag-work* frag-dists quad) v1-12) + ) + (dotimes (s5-0 (-> obj length)) + (collect-stats (-> obj arrays s5-0)) + ) ) - (set! - (-> *tfrag-work* vu1-enable-tfrag-near) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask tfrag))) - ) - (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* tfrag)) - (set! (-> *tfrag-work* tr-stat-tfrag-near) (-> *terrain-stats* tfrag-near)) - (let ((v1-12 (-> *tfrag-work* frag-dists quad))) - (set! (-> *tfrag-work* frag-dists quad) v1-12) - ) - (dotimes (s5-0 (-> obj length)) - (collect-stats (-> obj arrays s5-0)) - ) - ) (none) ) ;; definition for method 14 of type drawable-tree-trans-tfrag ;; INFO: Return type mismatch drawable-tree-trans-tfrag vs none. ;; Used lq/sq -(defmethod - collect-stats - drawable-tree-trans-tfrag - ((obj drawable-tree-trans-tfrag)) +(defmethod collect-stats drawable-tree-trans-tfrag ((obj drawable-tree-trans-tfrag)) (when (logtest? *vu1-enable-user* (vu1-renderer-mask trans-frag)) - (set! - (-> *tfrag-work* vu1-enable-tfrag) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + (set! (-> *tfrag-work* vu1-enable-tfrag) + (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + ) + (set! (-> *tfrag-work* vu1-enable-tfrag-near) + (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + ) + (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* trans-tfrag)) + (set! (-> *tfrag-work* tr-stat-tfrag-near) (-> *terrain-stats* trans-tfrag-near)) + (let ((v1-12 (-> *tfrag-work* frag-dists quad))) + (set! (-> *tfrag-work* frag-dists quad) v1-12) + ) + (dotimes (s5-0 (-> obj length)) + (collect-stats (-> obj arrays s5-0)) + ) ) - (set! - (-> *tfrag-work* vu1-enable-tfrag-near) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) - ) - (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* trans-tfrag)) - (set! - (-> *tfrag-work* tr-stat-tfrag-near) - (-> *terrain-stats* trans-tfrag-near) - ) - (let ((v1-12 (-> *tfrag-work* frag-dists quad))) - (set! (-> *tfrag-work* frag-dists quad) v1-12) - ) - (dotimes (s5-0 (-> obj length)) - (collect-stats (-> obj arrays s5-0)) - ) - ) (none) ) ;; definition for method 14 of type drawable-tree-lowres-trans-tfrag ;; INFO: Return type mismatch drawable-tree-lowres-trans-tfrag vs none. ;; Used lq/sq -(defmethod - collect-stats - drawable-tree-lowres-trans-tfrag - ((obj drawable-tree-lowres-trans-tfrag)) +(defmethod collect-stats drawable-tree-lowres-trans-tfrag ((obj drawable-tree-lowres-trans-tfrag)) (when (logtest? *vu1-enable-user* (vu1-renderer-mask trans-frag)) - (set! - (-> *tfrag-work* vu1-enable-tfrag) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + (set! (-> *tfrag-work* vu1-enable-tfrag) + (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + ) + (set! (-> *tfrag-work* vu1-enable-tfrag-near) + (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + ) + (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* trans-tfrag)) + (set! (-> *tfrag-work* tr-stat-tfrag-near) (-> *terrain-stats* trans-tfrag-near)) + (let ((v1-12 (-> *tfrag-work* frag-dists quad))) + (set! (-> *tfrag-work* frag-dists quad) v1-12) + ) + (dotimes (s5-0 (-> obj length)) + (collect-stats (-> obj arrays s5-0)) + ) ) - (set! - (-> *tfrag-work* vu1-enable-tfrag-near) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) - ) - (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* trans-tfrag)) - (set! - (-> *tfrag-work* tr-stat-tfrag-near) - (-> *terrain-stats* trans-tfrag-near) - ) - (let ((v1-12 (-> *tfrag-work* frag-dists quad))) - (set! (-> *tfrag-work* frag-dists quad) v1-12) - ) - (dotimes (s5-0 (-> obj length)) - (collect-stats (-> obj arrays s5-0)) - ) - ) (none) ) ;; definition for method 14 of type drawable-tree-dirt-tfrag ;; INFO: Return type mismatch drawable-tree-dirt-tfrag vs none. ;; Used lq/sq -(defmethod - collect-stats - drawable-tree-dirt-tfrag - ((obj drawable-tree-dirt-tfrag)) +(defmethod collect-stats drawable-tree-dirt-tfrag ((obj drawable-tree-dirt-tfrag)) (when (logtest? *vu1-enable-user* (vu1-renderer-mask trans-frag)) - (set! - (-> *tfrag-work* vu1-enable-tfrag) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + (set! (-> *tfrag-work* vu1-enable-tfrag) + (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + ) + (set! (-> *tfrag-work* vu1-enable-tfrag-near) + (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + ) + (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* trans-tfrag)) + (set! (-> *tfrag-work* tr-stat-tfrag-near) (-> *terrain-stats* trans-tfrag-near)) + (let ((v1-12 (-> *tfrag-work* frag-dists quad))) + (set! (-> *tfrag-work* frag-dists quad) v1-12) + ) + (dotimes (s5-0 (-> obj length)) + (collect-stats (-> obj arrays s5-0)) + ) ) - (set! - (-> *tfrag-work* vu1-enable-tfrag-near) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) - ) - (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* trans-tfrag)) - (set! - (-> *tfrag-work* tr-stat-tfrag-near) - (-> *terrain-stats* trans-tfrag-near) - ) - (let ((v1-12 (-> *tfrag-work* frag-dists quad))) - (set! (-> *tfrag-work* frag-dists quad) v1-12) - ) - (dotimes (s5-0 (-> obj length)) - (collect-stats (-> obj arrays s5-0)) - ) - ) (none) ) @@ -1352,123 +1064,96 @@ ;; Used lq/sq (defmethod collect-stats drawable-tree-ice-tfrag ((obj drawable-tree-ice-tfrag)) (when (logtest? *vu1-enable-user* (vu1-renderer-mask trans-frag)) - (set! - (-> *tfrag-work* vu1-enable-tfrag) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + (set! (-> *tfrag-work* vu1-enable-tfrag) + (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + ) + (set! (-> *tfrag-work* vu1-enable-tfrag-near) + (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) + ) + (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* trans-tfrag)) + (set! (-> *tfrag-work* tr-stat-tfrag-near) (-> *terrain-stats* trans-tfrag-near)) + (let ((v1-12 (-> *tfrag-work* frag-dists quad))) + (set! (-> *tfrag-work* frag-dists quad) v1-12) + ) + (dotimes (s5-0 (-> obj length)) + (collect-stats (-> obj arrays s5-0)) + ) ) - (set! - (-> *tfrag-work* vu1-enable-tfrag-near) - (the-as int (logand *vu1-enable-user* (vu1-renderer-mask trans-frag))) - ) - (set! (-> *tfrag-work* tr-stat-tfrag) (-> *terrain-stats* trans-tfrag)) - (set! - (-> *tfrag-work* tr-stat-tfrag-near) - (-> *terrain-stats* trans-tfrag-near) - ) - (let ((v1-12 (-> *tfrag-work* frag-dists quad))) - (set! (-> *tfrag-work* frag-dists quad) v1-12) - ) - (dotimes (s5-0 (-> obj length)) - (collect-stats (-> obj arrays s5-0)) - ) - ) (none) ) ;; definition for method 14 of type drawable-inline-array-tfrag ;; INFO: Return type mismatch drawable-inline-array-tfrag vs none. -(defmethod - collect-stats - drawable-inline-array-tfrag - ((obj drawable-inline-array-tfrag)) +(defmethod collect-stats drawable-inline-array-tfrag ((obj drawable-inline-array-tfrag)) (when (logtest? *vu1-enable-user* (vu1-renderer-mask tfrag)) - (dotimes (s5-0 (-> obj length)) - (let ((s4-0 (-> obj data s5-0))) - (if (vis-cull (-> s4-0 id)) - (collect-stats s4-0) + (dotimes (s5-0 (-> obj length)) + (let ((s4-0 (-> obj data s5-0))) + (if (vis-cull (-> s4-0 id)) + (collect-stats s4-0) + ) + ) ) - ) ) - ) (none) ) ;; definition for method 14 of type drawable-inline-array-trans-tfrag ;; INFO: Return type mismatch drawable-inline-array-trans-tfrag vs none. -(defmethod - collect-stats - drawable-inline-array-trans-tfrag - ((obj drawable-inline-array-trans-tfrag)) +(defmethod collect-stats drawable-inline-array-trans-tfrag ((obj drawable-inline-array-trans-tfrag)) (when (logtest? *vu1-enable-user* (vu1-renderer-mask trans-frag)) - (dotimes (s5-0 (-> obj length)) - (let ((s4-0 (-> obj data s5-0))) - (if (vis-cull (-> s4-0 id)) - (collect-stats s4-0) + (dotimes (s5-0 (-> obj length)) + (let ((s4-0 (-> obj data s5-0))) + (if (vis-cull (-> s4-0 id)) + (collect-stats s4-0) + ) + ) ) - ) ) - ) (none) ) ;; definition for method 15 of type drawable-tree-tfrag ;; INFO: Return type mismatch drawable-tree-tfrag vs none. -(defmethod - debug-draw - drawable-tree-tfrag - ((obj drawable-tree-tfrag) (arg0 drawable) (arg1 display-frame)) +(defmethod debug-draw drawable-tree-tfrag ((obj drawable-tree-tfrag) (arg0 drawable) (arg1 display-frame)) (when (logtest? *vu1-enable-user* (vu1-renderer-mask tfrag)) - (dotimes (s4-0 (-> obj length)) - (let ((a1-1 (-> obj arrays s4-0))) - (debug-draw a1-1 a1-1 arg1) - ) + (dotimes (s4-0 (-> obj length)) + (let ((a1-1 (-> obj arrays s4-0))) + (debug-draw a1-1 a1-1 arg1) + ) + ) ) - ) (none) ) ;; definition for method 15 of type drawable-tree-trans-tfrag ;; INFO: Return type mismatch drawable-tree-trans-tfrag vs none. -(defmethod - debug-draw - drawable-tree-trans-tfrag - ((obj drawable-tree-trans-tfrag) (arg0 drawable) (arg1 display-frame)) +(defmethod debug-draw drawable-tree-trans-tfrag ((obj drawable-tree-trans-tfrag) (arg0 drawable) (arg1 display-frame)) (when (logtest? *vu1-enable-user* (vu1-renderer-mask tfrag)) - (dotimes (s4-0 (-> obj length)) - (let ((a1-1 (-> obj arrays s4-0))) - (debug-draw a1-1 a1-1 arg1) - ) + (dotimes (s4-0 (-> obj length)) + (let ((a1-1 (-> obj arrays s4-0))) + (debug-draw a1-1 a1-1 arg1) + ) + ) ) - ) (none) ) ;; definition for method 15 of type drawable-inline-array-tfrag ;; INFO: Return type mismatch drawable-inline-array-tfrag vs none. -(defmethod - debug-draw - drawable-inline-array-tfrag - ((obj drawable-inline-array-tfrag) (arg0 drawable) (arg1 display-frame)) +(defmethod debug-draw drawable-inline-array-tfrag ((obj drawable-inline-array-tfrag) (arg0 drawable) (arg1 display-frame)) (dotimes (s4-0 (-> obj length)) - (let ((s3-0 (-> obj data s4-0))) - (if (vis-cull (-> s3-0 id)) - (debug-draw s3-0 s3-0 arg1) - ) + (let ((s3-0 (-> obj data s4-0))) + (if (vis-cull (-> s3-0 id)) + (debug-draw s3-0 s3-0 arg1) + ) + ) ) - ) (none) ) ;; definition for method 15 of type tfragment -(defmethod - debug-draw - tfragment - ((obj tfragment) (arg0 drawable) (arg1 display-frame)) +(defmethod debug-draw tfragment ((obj tfragment) (arg0 drawable) (arg1 display-frame)) (-> arg1 global-buf) (edge-debug-lines (-> obj debug-data debug-lines)) (none) ) - - - - diff --git a/test/decompiler/reference/engine/gfx/tfrag/tfrag-near_REF.gc b/test/decompiler/reference/engine/gfx/tfrag/tfrag-near_REF.gc index 6e94cdcdc5..89f2a54c42 100644 --- a/test/decompiler/reference/engine/gfx/tfrag/tfrag-near_REF.gc +++ b/test/decompiler/reference/engine/gfx/tfrag/tfrag-near_REF.gc @@ -12,50 +12,30 @@ (let ((s5-0 (-> arg0 dma-qwc 0)) (s4-0 (-> arg0 dma-common)) ) - (format 0 "qwc = ~d, ref = ~x~%" s5-0 s4-0) - (disasm-vif-tag - (the-as (pointer vif-tag) s4-0) - (the-as int (* s5-0 4)) - (the-as symbol 0) - #t + (format 0 "qwc = ~d, ref = ~x~%" s5-0 s4-0) + (disasm-vif-tag (the-as (pointer vif-tag) s4-0) (the-as int (* s5-0 4)) (the-as symbol 0) #t) ) - ) (format 0 "base:~%") (let ((s5-1 (-> arg0 dma-qwc 1)) (s4-1 (-> arg0 dma-base)) ) - (format 0 "qwc = ~d, ref = ~x~%" s5-1 s4-1) - (disasm-vif-tag - (the-as (pointer vif-tag) s4-1) - (the-as int (* s5-1 4)) - (the-as symbol 0) - #t + (format 0 "qwc = ~d, ref = ~x~%" s5-1 s4-1) + (disasm-vif-tag (the-as (pointer vif-tag) s4-1) (the-as int (* s5-1 4)) (the-as symbol 0) #t) ) - ) (format 0 "level-0:~%") (let ((s5-2 (-> arg0 dma-qwc 3)) (s4-2 (-> (the-as (pointer uint32) arg0) 10)) ) - (format 0 "qwc = ~d, ref = ~x~%" s5-2 s4-2) - (disasm-vif-tag - (the-as (pointer vif-tag) s4-2) - (the-as int (* s5-2 4)) - (the-as symbol 0) - #t + (format 0 "qwc = ~d, ref = ~x~%" s5-2 s4-2) + (disasm-vif-tag (the-as (pointer vif-tag) s4-2) (the-as int (* s5-2 4)) (the-as symbol 0) #t) ) - ) (format 0 "level-1:~%") (let ((s5-3 (-> arg0 dma-qwc 2)) (gp-1 (-> arg0 dma-level-1)) ) - (format 0 "qwc = ~d, ref = ~x~%" s5-3 gp-1) - (disasm-vif-tag - (the-as (pointer vif-tag) gp-1) - (the-as int (* s5-3 4)) - (the-as symbol 0) - #t + (format 0 "qwc = ~d, ref = ~x~%" s5-3 gp-1) + (disasm-vif-tag (the-as (pointer vif-tag) gp-1) (the-as int (* s5-3 4)) (the-as symbol 0) #t) ) - ) (none) ) @@ -66,31 +46,27 @@ (let ((a0-0 (new-stack-vector0)) (a1-0 (new-stack-matrix0)) ) - (set! (-> a0-0 x) 92648.22) - (set! (-> a0-0 y) 238025.03) - (set! (-> a0-0 z) 199836.31) - (set! (-> a0-0 w) 1.0) - (set! (-> a1-0 vector 0 x) -0.9283) - (set! (-> a1-0 vector 0 y) 0.0) - (set! (-> a1-0 vector 0 z) 0.3716) - (set! (-> a1-0 vector 0 w) 0.0) - (set! (-> a1-0 vector 1 x) -0.2257) - (set! (-> a1-0 vector 1 y) 0.7945) - (set! (-> a1-0 vector 1 z) -0.5637) - (set! (-> a1-0 vector 1 w) 0.0) - (set! (-> a1-0 vector 2 x) -0.2952) - (set! (-> a1-0 vector 2 y) -0.6072) - (set! (-> a1-0 vector 2 z) -0.7375) - (set! (-> a1-0 vector 2 w) 0.0) - (set! (-> a1-0 vector 3 x) 0.0) - (set! (-> a1-0 vector 3 y) 0.0) - (set! (-> a1-0 vector 3 z) 0.0) - (set! (-> a1-0 vector 3 w) 1.0) - (debug-set-camera-pos-rot! a0-0 a1-0) - ) + (set! (-> a0-0 x) 92648.22) + (set! (-> a0-0 y) 238025.03) + (set! (-> a0-0 z) 199836.31) + (set! (-> a0-0 w) 1.0) + (set! (-> a1-0 vector 0 x) -0.9283) + (set! (-> a1-0 vector 0 y) 0.0) + (set! (-> a1-0 vector 0 z) 0.3716) + (set! (-> a1-0 vector 0 w) 0.0) + (set! (-> a1-0 vector 1 x) -0.2257) + (set! (-> a1-0 vector 1 y) 0.7945) + (set! (-> a1-0 vector 1 z) -0.5637) + (set! (-> a1-0 vector 1 w) 0.0) + (set! (-> a1-0 vector 2 x) -0.2952) + (set! (-> a1-0 vector 2 y) -0.6072) + (set! (-> a1-0 vector 2 z) -0.7375) + (set! (-> a1-0 vector 2 w) 0.0) + (set! (-> a1-0 vector 3 x) 0.0) + (set! (-> a1-0 vector 3 y) 0.0) + (set! (-> a1-0 vector 3 z) 0.0) + (set! (-> a1-0 vector 3 w) 1.0) + (debug-set-camera-pos-rot! a0-0 a1-0) + ) (none) ) - - - - diff --git a/test/decompiler/reference/engine/gfx/tfrag/tfrag-work_REF.gc b/test/decompiler/reference/engine/gfx/tfrag/tfrag-work_REF.gc index 3f3de42c30..70effb6172 100644 --- a/test/decompiler/reference/engine/gfx/tfrag/tfrag-work_REF.gc +++ b/test/decompiler/reference/engine/gfx/tfrag/tfrag-work_REF.gc @@ -2,49 +2,47 @@ (in-package goal) ;; definition for symbol *tfrag-work*, type tfrag-work -(define - *tfrag-work* - (new 'static 'tfrag-work - :base-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - :level-0-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - :common-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - :level-1-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - :color-tmpl - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x102 :cmd (vif-cmd stcycl)) - :vif1 - (new 'static 'vif-tag :imm #xc000 :cmd (vif-cmd unpack-v4-8)) - ) - :max-dist (new 'static 'vector :z 4095996000.0) - ) - ) +(define *tfrag-work* (new 'static 'tfrag-work + :base-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + ) + :level-0-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + ) + :common-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + ) + :level-1-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) + ) + :color-tmpl + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id cnt)) + :vif0 + (new 'static 'vif-tag :imm #x102 :cmd (vif-cmd stcycl)) + :vif1 + (new 'static 'vif-tag :imm #xc000 :cmd (vif-cmd unpack-v4-8)) + ) + :max-dist (new 'static 'vector :z 4095996000.0) + ) + ) ;; failed to figure out what this is: (set! (-> *tfrag-work* color-ptr x) (+ 6160 #x70000000)) @@ -57,7 +55,3 @@ ;; failed to figure out what this is: (set! (-> *tfrag-work* color-ptr w) (+ 6160 #x70000000)) - - - - diff --git a/test/decompiler/reference/engine/gfx/tfrag/tfrag_REF.gc b/test/decompiler/reference/engine/gfx/tfrag/tfrag_REF.gc index c41faa06c9..81f3147de2 100644 --- a/test/decompiler/reference/engine/gfx/tfrag/tfrag_REF.gc +++ b/test/decompiler/reference/engine/gfx/tfrag/tfrag_REF.gc @@ -4,196 +4,153 @@ ;; definition for method 9 of type tfragment (defmethod login tfragment ((obj tfragment)) (dotimes (s5-0 (the-as int (-> obj num-shaders))) - (adgif-shader-login-no-remap (-> obj shader s5-0)) - ) + (adgif-shader-login-no-remap (-> obj shader s5-0)) + ) obj ) ;; definition for method 8 of type tfragment -(defmethod - mem-usage - tfragment - ((obj tfragment) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage tfragment ((obj tfragment) (arg0 memory-usage-block) (arg1 int)) (when (logtest? arg1 2) - (+! (-> arg0 data 19 count) 1) - (let - ((v1-6 - (+ - (-> obj num-base-colors) - (-> obj num-level0-colors) - (-> obj num-level1-colors) - ) + (+! (-> arg0 data 19 count) 1) + (let ((v1-6 (+ (-> obj num-base-colors) (-> obj num-level0-colors) (-> obj num-level1-colors)))) + (+! (-> arg0 data 19 used) v1-6) + (+! (-> arg0 data 19 total) (logand -4 (+ v1-6 3))) ) - ) - (+! (-> arg0 data 19 used) v1-6) - (+! (-> arg0 data 19 total) (logand -4 (+ v1-6 3))) + (set! obj obj) + (goto cfg-16) ) - (set! obj obj) - (goto cfg-16) - ) (let ((s4-0 1)) - (set! (-> arg0 length) (max (-> arg0 length) (+ s4-0 8))) - (set! (-> arg0 data s4-0 name) (symbol->string 'tfragment)) - (+! (-> arg0 data s4-0 count) 1) - (let ((v1-22 (asize-of obj))) - (+! (-> arg0 data s4-0 used) v1-22) - (+! (-> arg0 data s4-0 total) (logand -16 (+ v1-22 15))) - ) - (set! (-> arg0 data (+ s4-0 1) name) "tfragment-base") - (+! (-> arg0 data (+ s4-0 1) count) 1) - (let ((v1-33 (* (-> obj dma-qwc 0) 16))) - (+! (-> arg0 data (+ s4-0 1) used) v1-33) - (+! (-> arg0 data (+ s4-0 1) total) v1-33) - ) - (set! (-> arg0 data (+ s4-0 2) name) "tfragment-common") - (+! (-> arg0 data (+ s4-0 2) count) 1) - (let ((v1-43 (* (- (-> obj dma-qwc 1) (-> obj dma-qwc 0)) 16))) - (+! (-> arg0 data (+ s4-0 2) used) v1-43) - (+! (-> arg0 data (+ s4-0 2) total) v1-43) - ) - (set! (-> arg0 data (+ s4-0 3) name) "tfragment-level0") - (when (nonzero? (-> obj num-level0-colors)) - (+! (-> arg0 data (+ s4-0 3) count) 1) - (let ((v1-55 (* (- (-> obj dma-qwc 2) (-> obj dma-qwc 0)) 16))) - (+! (-> arg0 data (+ s4-0 3) used) v1-55) - (+! (-> arg0 data (+ s4-0 3) total) v1-55) - ) - ) - (set! (-> arg0 data (+ s4-0 4) name) "tfragment-level1") - (when - (not - (or - (= (-> obj dma-level-1) (-> obj dma-common)) - (= (-> obj dma-level-1) (-> obj dma-base)) - (zero? (-> obj num-level1-colors)) + (set! (-> arg0 length) (max (-> arg0 length) (+ s4-0 8))) + (set! (-> arg0 data s4-0 name) (symbol->string 'tfragment)) + (+! (-> arg0 data s4-0 count) 1) + (let ((v1-22 (asize-of obj))) + (+! (-> arg0 data s4-0 used) v1-22) + (+! (-> arg0 data s4-0 total) (logand -16 (+ v1-22 15))) ) - ) - (+! (-> arg0 data (+ s4-0 4) count) 1) - (let - ((v1-70 - (* - (- - (-> obj dma-qwc 3) - (the-as - uint - (- - (/ (the-as int (- (-> obj dma-level-1) (-> obj dma-common))) 16) - (the-as int (-> obj dma-qwc 0)) - ) - ) - ) - 16 + (set! (-> arg0 data (+ s4-0 1) name) "tfragment-base") + (+! (-> arg0 data (+ s4-0 1) count) 1) + (let ((v1-33 (* (-> obj dma-qwc 0) 16))) + (+! (-> arg0 data (+ s4-0 1) used) v1-33) + (+! (-> arg0 data (+ s4-0 1) total) v1-33) + ) + (set! (-> arg0 data (+ s4-0 2) name) "tfragment-common") + (+! (-> arg0 data (+ s4-0 2) count) 1) + (let ((v1-43 (* (- (-> obj dma-qwc 1) (-> obj dma-qwc 0)) 16))) + (+! (-> arg0 data (+ s4-0 2) used) v1-43) + (+! (-> arg0 data (+ s4-0 2) total) v1-43) + ) + (set! (-> arg0 data (+ s4-0 3) name) "tfragment-level0") + (when (nonzero? (-> obj num-level0-colors)) + (+! (-> arg0 data (+ s4-0 3) count) 1) + (let ((v1-55 (* (- (-> obj dma-qwc 2) (-> obj dma-qwc 0)) 16))) + (+! (-> arg0 data (+ s4-0 3) used) v1-55) + (+! (-> arg0 data (+ s4-0 3) total) v1-55) ) - ) ) - (+! (-> arg0 data (+ s4-0 4) used) v1-70) - (+! (-> arg0 data (+ s4-0 4) total) v1-70) - ) - ) - (set! (-> arg0 data (+ s4-0 5) name) "tfragment-color") - (+! (-> arg0 data (+ s4-0 5) count) 1) - (let ((v1-79 (if (logtest? arg1 1) - 0 - (the-as - int - (* - (+ - (-> obj num-base-colors) - (-> obj num-level0-colors) - (-> obj num-level1-colors) - ) - 2 - ) - ) + (set! (-> arg0 data (+ s4-0 4) name) "tfragment-level1") + (when (not (or + (= (-> obj dma-level-1) (-> obj dma-common)) + (= (-> obj dma-level-1) (-> obj dma-base)) + (zero? (-> obj num-level1-colors)) ) + ) + (+! (-> arg0 data (+ s4-0 4) count) 1) + (let ((v1-70 + (* (- (-> obj dma-qwc 3) + (the-as + uint + (- (/ (the-as int (- (-> obj dma-level-1) (-> obj dma-common))) 16) (the-as int (-> obj dma-qwc 0))) + ) + ) + 16 + ) + ) + ) + (+! (-> arg0 data (+ s4-0 4) used) v1-70) + (+! (-> arg0 data (+ s4-0 4) total) v1-70) + ) + ) + (set! (-> arg0 data (+ s4-0 5) name) "tfragment-color") + (+! (-> arg0 data (+ s4-0 5) count) 1) + (let ((v1-79 + (if (logtest? arg1 1) + 0 + (the-as int (* (+ (-> obj num-base-colors) (-> obj num-level0-colors) (-> obj num-level1-colors)) 2)) + ) + ) ) - ) - (+! (-> arg0 data (+ s4-0 5) used) v1-79) - (+! (-> arg0 data (+ s4-0 5) total) (logand -16 (+ v1-79 15))) + (+! (-> arg0 data (+ s4-0 5) used) v1-79) + (+! (-> arg0 data (+ s4-0 5) total) (logand -16 (+ v1-79 15))) + ) + (set! (-> arg0 data (+ s4-0 6) name) "tfragment-debug") ) - (set! (-> arg0 data (+ s4-0 6) name) "tfragment-debug") - ) (label cfg-16) obj ) ;; definition for method 3 of type drawable-inline-array-tfrag -(defmethod - inspect - drawable-inline-array-tfrag - ((obj drawable-inline-array-tfrag)) +(defmethod inspect drawable-inline-array-tfrag ((obj drawable-inline-array-tfrag)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tlength: ~D~%" (-> obj length)) (format #t "~Tdata[~D]: @ #x~X~%" (-> obj length) (-> obj data)) (dotimes (s5-0 (-> obj length)) - (format #t "~T [~D] ~A~%" s5-0 (-> obj data s5-0)) - ) + (format #t "~T [~D] ~A~%" s5-0 (-> obj data s5-0)) + ) obj ) ;; definition for method 9 of type drawable-inline-array-tfrag (defmethod login drawable-inline-array-tfrag ((obj drawable-inline-array-tfrag)) (dotimes (s5-0 (-> obj length)) - (login (-> obj data s5-0)) - ) + (login (-> obj data s5-0)) + ) obj ) ;; definition for method 8 of type drawable-inline-array-tfrag -(defmethod - mem-usage - drawable-inline-array-tfrag - ((obj drawable-inline-array-tfrag) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage drawable-inline-array-tfrag ((obj drawable-inline-array-tfrag) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 1 (-> arg0 length))) (set! (-> arg0 data 0 name) (symbol->string 'drawable-group)) (+! (-> arg0 data 0 count) 1) (let ((v1-7 32)) - (+! (-> arg0 data 0 used) v1-7) - (+! (-> arg0 data 0 total) (logand -16 (+ v1-7 15))) - ) + (+! (-> arg0 data 0 used) v1-7) + (+! (-> arg0 data 0 total) (logand -16 (+ v1-7 15))) + ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj data s3-0) arg0 arg1) - ) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) obj ) ;; definition for method 8 of type drawable-tree-tfrag -(defmethod - mem-usage - drawable-tree-tfrag - ((obj drawable-tree-tfrag) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage drawable-tree-tfrag ((obj drawable-tree-tfrag) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 1 (-> arg0 length))) (set! (-> arg0 data 0 name) "drawable-group") (+! (-> arg0 data 0 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 0 used) v1-6) - (+! (-> arg0 data 0 total) (logand -16 (+ v1-6 15))) - ) - (when (nonzero? (-> obj time-of-day-pal)) - (set! (-> arg0 length) (max 9 (-> arg0 length))) - (set! (-> arg0 data 8 name) "tfragment-pal") - (+! (-> arg0 data 8 count) 1) - (let ((v1-18 (asize-of (-> obj time-of-day-pal)))) - (+! (-> arg0 data 8 used) v1-18) - (+! (-> arg0 data 8 total) (logand -16 (+ v1-18 15))) + (+! (-> arg0 data 0 used) v1-6) + (+! (-> arg0 data 0 total) (logand -16 (+ v1-6 15))) + ) + (when (nonzero? (-> obj time-of-day-pal)) + (set! (-> arg0 length) (max 9 (-> arg0 length))) + (set! (-> arg0 data 8 name) "tfragment-pal") + (+! (-> arg0 data 8 count) 1) + (let ((v1-18 (asize-of (-> obj time-of-day-pal)))) + (+! (-> arg0 data 8 used) v1-18) + (+! (-> arg0 data 8 total) (logand -16 (+ v1-18 15))) + ) ) - ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj arrays s3-0) arg0 arg1) - ) + (mem-usage (-> obj arrays s3-0) arg0 arg1) + ) obj ) ;; definition for method 5 of type drawable-inline-array-tfrag ;; INFO: Return type mismatch uint vs int. -(defmethod - asize-of - drawable-inline-array-tfrag - ((obj drawable-inline-array-tfrag)) - (the-as - int - (+ (-> drawable-inline-array-tfrag size) (* (+ (-> obj length) -1) 64)) - ) +(defmethod asize-of drawable-inline-array-tfrag ((obj drawable-inline-array-tfrag)) + (the-as int (+ (-> drawable-inline-array-tfrag size) (* (+ (-> obj length) -1) 64))) ) ;; definition for symbol *tfrag-display-stats*, type symbol @@ -207,97 +164,72 @@ ;; Used lq/sq (defun tfrag-data-setup ((arg0 tfrag-data) (arg1 int)) (let ((v1-0 *math-camera*)) - (set-vector! - (-> arg0 fog) - (-> v1-0 pfog0) - (-> v1-0 fog-min) - (-> v1-0 fog-max) - 3072.0 + (set-vector! (-> arg0 fog) (-> v1-0 pfog0) (-> v1-0 fog-min) (-> v1-0 fog-max) 3072.0) + (set-vector! (-> arg0 val) 0.5 1.0 2048.0 0.0) + (set-vector! (-> arg0 ambient) 1.0 1.0 1.0 1.0) + (cond + ((zero? *subdivide-draw-mode*) + (set! (-> arg0 strgif tag) + (new 'static 'gif-tag64 + :pre #x1 + :nreg #x3 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :tme #x1 :fge #x1 :abe arg1) + ) + ) + (set! (-> arg0 fangif tag) + (new 'static 'gif-tag64 + :pre #x1 + :nreg #x3 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :tme #x1 :fge #x1 :abe arg1) + ) + ) + ) + ((= *subdivide-draw-mode* 1) + (set! (-> arg0 strgif tag) + (new 'static 'gif-tag64 + :pre #x1 + :nreg #x3 + :prim (new 'static 'gs-prim :prim (gs-prim-type line-strip) :iip #x1 :tme #x1 :fge #x1 :abe arg1) + ) + ) + (set! (-> arg0 fangif tag) + (new 'static 'gif-tag64 + :pre #x1 + :nreg #x3 + :prim (new 'static 'gs-prim :prim (gs-prim-type line-strip) :iip #x1 :tme #x1 :fge #x1 :abe arg1) + ) + ) + ) + ((= *subdivide-draw-mode* 2) + (set! (-> arg0 strgif tag) + (new 'static 'gif-tag64 + :pre #x1 + :nreg #x3 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :fge #x1 :abe arg1) + ) + ) + (set! (-> arg0 fangif tag) + (new 'static 'gif-tag64 + :pre #x1 + :nreg #x3 + :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :fge #x1 :abe arg1) + ) + ) + ) + ) + (set! (-> arg0 strgif regs) + (new 'static 'gif-tag-regs :regs0 (gif-reg-id st) :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2)) + ) + (set! (-> arg0 fangif regs) + (new 'static 'gif-tag-regs :regs0 (gif-reg-id st) :regs1 (gif-reg-id rgbaq) :regs2 (gif-reg-id xyzf2)) + ) + (set! (-> arg0 adgif tag) (new 'static 'gif-tag64 :nloop #x5 :nreg #x1)) + (set! (-> arg0 adgif regs) (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d))) + (set! (-> arg0 hvdf-offset quad) (-> v1-0 hvdf-off quad)) + (set! (-> arg0 hmge-scale quad) (-> v1-0 hmge-scale quad)) + (set! (-> arg0 invh-scale quad) (-> v1-0 inv-hmge-scale quad)) + (set! (-> arg0 guard quad) (-> v1-0 guard quad)) ) - (set-vector! (-> arg0 val) 0.5 1.0 2048.0 0.0) - (set-vector! (-> arg0 ambient) 1.0 1.0 1.0 1.0) - (cond - ((zero? *subdivide-draw-mode*) - (set! - (-> arg0 strgif tag) - (new 'static 'gif-tag64 - :pre #x1 - :nreg #x3 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :tme #x1 :fge #x1 :abe arg1) - ) - ) - (set! - (-> arg0 fangif tag) - (new 'static 'gif-tag64 - :pre #x1 - :nreg #x3 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :tme #x1 :fge #x1 :abe arg1) - ) - ) - ) - ((= *subdivide-draw-mode* 1) - (set! - (-> arg0 strgif tag) - (new 'static 'gif-tag64 - :pre #x1 - :nreg #x3 - :prim (new 'static 'gs-prim :prim (gs-prim-type line-strip) :iip #x1 :tme #x1 :fge #x1 :abe arg1) - ) - ) - (set! - (-> arg0 fangif tag) - (new 'static 'gif-tag64 - :pre #x1 - :nreg #x3 - :prim (new 'static 'gs-prim :prim (gs-prim-type line-strip) :iip #x1 :tme #x1 :fge #x1 :abe arg1) - ) - ) - ) - ((= *subdivide-draw-mode* 2) - (set! - (-> arg0 strgif tag) - (new 'static 'gif-tag64 - :pre #x1 - :nreg #x3 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :fge #x1 :abe arg1) - ) - ) - (set! - (-> arg0 fangif tag) - (new 'static 'gif-tag64 - :pre #x1 - :nreg #x3 - :prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :fge #x1 :abe arg1) - ) - ) - ) - ) - (set! - (-> arg0 strgif regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id st) - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - ) - ) - (set! - (-> arg0 fangif regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id st) - :regs1 (gif-reg-id rgbaq) - :regs2 (gif-reg-id xyzf2) - ) - ) - (set! (-> arg0 adgif tag) (new 'static 'gif-tag64 :nloop #x5 :nreg #x1)) - (set! - (-> arg0 adgif regs) - (new 'static 'gif-tag-regs :regs0 (gif-reg-id a+d)) - ) - (set! (-> arg0 hvdf-offset quad) (-> v1-0 hvdf-off quad)) - (set! (-> arg0 hmge-scale quad) (-> v1-0 hmge-scale quad)) - (set! (-> arg0 invh-scale quad) (-> v1-0 inv-hmge-scale quad)) - (set! (-> arg0 guard quad) (-> v1-0 guard quad)) - ) (set-tfrag-dists! (-> arg0 dists)) (none) ) @@ -309,25 +241,18 @@ (v1-0 arg0) (a0-1 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as dma-packet a0-1) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a1-0) + (set! (-> (the-as dma-packet a0-1) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a1-0)) + (set! (-> (the-as dma-packet a0-1) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a0-1) vif1) + (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd unpack-v4-32) :num a1-0) + ) + (set! (-> v1-0 base) (&+ (the-as pointer a0-1) 16)) ) - (set! - (-> (the-as dma-packet a0-1) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a0-1) vif1) - (new 'static 'vif-tag :imm #x5 :cmd (vif-cmd unpack-v4-32) :num a1-0) - ) - (set! (-> v1-0 base) (&+ (the-as pointer a0-1) 16)) - ) (column-scale-matrix! - (the-as matrix (-> arg0 base)) - (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - (-> *math-camera* camera-temp) - ) + (the-as matrix (-> arg0 base)) + (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) + (-> *math-camera* camera-temp) + ) (&+! (-> arg0 base) 64) (none) ) @@ -339,25 +264,18 @@ (v1-0 arg0) (a0-1 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as dma-packet a0-1) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a1-0) + (set! (-> (the-as dma-packet a0-1) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a1-0)) + (set! (-> (the-as dma-packet a0-1) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a0-1) vif1) + (new 'static 'vif-tag :imm #x14d :cmd (vif-cmd unpack-v4-32) :num a1-0) + ) + (set! (-> v1-0 base) (&+ (the-as pointer a0-1) 16)) ) - (set! - (-> (the-as dma-packet a0-1) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a0-1) vif1) - (new 'static 'vif-tag :imm #x14d :cmd (vif-cmd unpack-v4-32) :num a1-0) - ) - (set! (-> v1-0 base) (&+ (the-as pointer a0-1) 16)) - ) (column-scale-matrix! - (the-as matrix (-> arg0 base)) - (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) - (-> *math-camera* camera-temp) - ) + (the-as matrix (-> arg0 base)) + (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) + (-> *math-camera* camera-temp) + ) (&+! (-> arg0 base) 64) (none) ) @@ -369,34 +287,21 @@ (v1-0 arg0) (a0-1 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as dma-packet a0-1) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a2-0) + (set! (-> (the-as dma-packet a0-1) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc a2-0)) + (set! (-> (the-as dma-packet a0-1) vif0) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as dma-packet a0-1) vif1) + (new 'static 'vif-tag :imm #x290 :cmd (vif-cmd unpack-v4-32) :num a2-0) + ) + (set! (-> v1-0 base) (&+ (the-as pointer a0-1) 16)) ) - (set! - (-> (the-as dma-packet a0-1) vif0) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! - (-> (the-as dma-packet a0-1) vif1) - (new 'static 'vif-tag :imm #x290 :cmd (vif-cmd unpack-v4-32) :num a2-0) - ) - (set! (-> v1-0 base) (&+ (the-as pointer a0-1) 16)) - ) (tfrag-data-setup (the-as tfrag-data (-> arg0 base)) arg1) (&+! (-> arg0 base) 224) (let ((v1-3 (the-as object (-> arg0 base)))) - (set! - (-> (the-as dma-packet v1-3) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) + (set! (-> (the-as dma-packet v1-3) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet v1-3) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-3) vif1) (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1)) + (set! (-> arg0 base) (&+ (the-as pointer v1-3) 16)) ) - (set! (-> (the-as dma-packet v1-3) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet v1-3) vif1) - (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1) - ) - (set! (-> arg0 base) (&+ (the-as pointer v1-3) 16)) - ) (none) ) @@ -407,46 +312,28 @@ ;; INFO: Return type mismatch symbol vs none. (defun tfrag-print-stats ((arg0 symbol)) (when (and *tfrag-display-stats* (!= *master-mode* 'menu)) - (format arg0 "~%") - (format arg0 "tris: ~8d~%" (-> t-stat tris)) - (format - arg0 - "verts: ~8d~%" - (+ (-> t-stat base-verts) (-> t-stat level0-verts) (-> t-stat level1-verts)) + (format arg0 "~%") + (format arg0 "tris: ~8d~%" (-> t-stat tris)) + (format arg0 "verts: ~8d~%" (+ (-> t-stat base-verts) (-> t-stat level0-verts) (-> t-stat level1-verts))) + (format arg0 " base: ~8d~%" (-> t-stat base-verts)) + (format arg0 " lev0: ~8d~%" (-> t-stat level0-verts)) + (format arg0 " lev1: ~8d~%" (-> t-stat level1-verts)) + (format arg0 "tfaces: ~8d~%" (-> t-stat tfaces)) + (format arg0 "tfrags: ~8d~%" (-> t-stat tfrags)) + (format arg0 "dtris: ~8d~%" (-> t-stat dtris)) + (format arg0 "dps: ~8d~%" (-> t-stat drawpoints)) + (format arg0 "strips: ~8d~%" (-> t-stat strips)) + (format arg0 "shaders:~8d~%" (-> t-stat dma-tex)) + (format arg0 "tri/str:~8f~%" (/ (the float (-> t-stat dtris)) (the float (-> t-stat strips)))) + (format arg0 "dma-cnt:~8d (~8d)~%" (-> t-stat dma-cnt) (* (-> t-stat dma-cnt) 32)) + (format arg0 "dma-dta:~8d (~8d)~%" (-> t-stat dma-dta) (/ (* 33 (-> t-stat dma-dta)) 10)) + (let ((f0-4 (* 32.0 (the float (-> t-stat dma-cnt)))) + (f1-5 (* 3.3 (the float (-> t-stat dma-dta)))) + (f2-3 (* 30.0 (the float (-> t-stat tfrags)))) + ) + (+ f0-4 f1-5 f2-3) + ) ) - (format arg0 " base: ~8d~%" (-> t-stat base-verts)) - (format arg0 " lev0: ~8d~%" (-> t-stat level0-verts)) - (format arg0 " lev1: ~8d~%" (-> t-stat level1-verts)) - (format arg0 "tfaces: ~8d~%" (-> t-stat tfaces)) - (format arg0 "tfrags: ~8d~%" (-> t-stat tfrags)) - (format arg0 "dtris: ~8d~%" (-> t-stat dtris)) - (format arg0 "dps: ~8d~%" (-> t-stat drawpoints)) - (format arg0 "strips: ~8d~%" (-> t-stat strips)) - (format arg0 "shaders:~8d~%" (-> t-stat dma-tex)) - (format - arg0 - "tri/str:~8f~%" - (/ (the float (-> t-stat dtris)) (the float (-> t-stat strips))) - ) - (format - arg0 - "dma-cnt:~8d (~8d)~%" - (-> t-stat dma-cnt) - (* (-> t-stat dma-cnt) 32) - ) - (format - arg0 - "dma-dta:~8d (~8d)~%" - (-> t-stat dma-dta) - (/ (* 33 (-> t-stat dma-dta)) 10) - ) - (let ((f0-4 (* 32.0 (the float (-> t-stat dma-cnt)))) - (f1-5 (* 3.3 (the float (-> t-stat dma-dta)))) - (f2-3 (* 30.0 (the float (-> t-stat tfrags)))) - ) - (+ f0-4 f1-5 f2-3) - ) - ) (none) ) @@ -466,72 +353,53 @@ (let* ((v1-0 arg0) (a0-2 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as dma-packet a0-2) dma) - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt)) + (set! (-> (the-as dma-packet a0-2) dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-2) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-2) vif1) (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-0 base) (&+ (the-as pointer a0-2) 16)) ) - (set! (-> (the-as dma-packet a0-2) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-2) vif1) - (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-0 base) (&+ (the-as pointer a0-2) 16)) - ) (let* ((v1-1 arg0) (a0-4 (the-as object (-> v1-1 base))) ) - (set! - (-> (the-as gs-gif-tag a0-4) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1) + (set! (-> (the-as gs-gif-tag a0-4) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) + (set! (-> (the-as gs-gif-tag a0-4) regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-1 base) (&+ (the-as pointer a0-4) 16)) ) - (set! - (-> (the-as gs-gif-tag a0-4) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-1 base) (&+ (the-as pointer a0-4) 16)) - ) (let* ((v1-2 arg0) (a0-6 (-> v1-2 base)) ) - (set! (-> (the-as (pointer gs-test) a0-6) 0) arg1) - (set! (-> (the-as (pointer gs-reg64) a0-6) 1) (gs-reg64 test-1)) - (set! (-> v1-2 base) (&+ a0-6 16)) - ) + (set! (-> (the-as (pointer gs-test) a0-6) 0) arg1) + (set! (-> (the-as (pointer gs-reg64) a0-6) 1) (gs-reg64 test-1)) + (set! (-> v1-2 base) (&+ a0-6 16)) + ) (add-tfrag-mtx-0 arg0) (add-tfrag-mtx-1 arg0) (add-tfrag-data arg0 arg2) (let ((v1-3 (the-as object (-> arg0 base)))) - (set! - (-> (the-as dma-packet v1-3) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) + (set! (-> (the-as dma-packet v1-3) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet v1-3) vif0) (new 'static 'vif-tag :cmd (vif-cmd base))) + (set! (-> (the-as dma-packet v1-3) vif1) (new 'static 'vif-tag :imm #x148 :cmd (vif-cmd offset))) + (set! (-> arg0 base) (&+ (the-as pointer v1-3) 16)) ) - (set! - (-> (the-as dma-packet v1-3) vif0) - (new 'static 'vif-tag :cmd (vif-cmd base)) - ) - (set! - (-> (the-as dma-packet v1-3) vif1) - (new 'static 'vif-tag :imm #x148 :cmd (vif-cmd offset)) - ) - (set! (-> arg0 base) (&+ (the-as pointer v1-3) 16)) - ) (set! (-> *tfrag-work* last-call) (the-as uint 0)) (set! (-> t-stat cnt) 0) (set! (-> t-stat tris) 0) @@ -555,55 +423,28 @@ (let* ((v1-0 arg0) (a1-0 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as dma-packet a1-0) dma) - (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt)) + (set! (-> (the-as dma-packet a1-0) dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-0) vif0) (new 'static 'vif-tag :cmd (vif-cmd stmask))) + (set! (-> (the-as dma-packet a1-0) vif1) (new 'static 'vif-tag)) + (set! (-> v1-0 base) (&+ (the-as pointer a1-0) 16)) ) - (set! - (-> (the-as dma-packet a1-0) vif0) - (new 'static 'vif-tag :cmd (vif-cmd stmask)) - ) - (set! (-> (the-as dma-packet a1-0) vif1) (new 'static 'vif-tag)) - (set! (-> v1-0 base) (&+ (the-as pointer a1-0) 16)) - ) (let* ((v1-1 arg0) (a0-1 (-> v1-1 base)) ) - (set! - (-> (the-as (pointer vif-tag) a0-1) 0) - (the-as vif-tag (-> *tfrag-work* last-call)) + (set! (-> (the-as (pointer vif-tag) a0-1) 0) (the-as vif-tag (-> *tfrag-work* last-call))) + (set! (-> (the-as (pointer vif-tag) a0-1) 1) (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1)) + (set! (-> (the-as (pointer vif-tag) a0-1) 2) (new 'static 'vif-tag :cmd (vif-cmd stmod))) + (set! (-> (the-as (pointer vif-tag) a0-1) 3) (new 'static 'vif-tag :cmd (vif-cmd strow) :msk #x1)) + (set! (-> (the-as (pointer uint32) a0-1) 4) (the-as uint 0)) + (set! (-> (the-as (pointer uint32) a0-1) 5) (the-as uint 0)) + (set! (-> (the-as (pointer uint32) a0-1) 6) (the-as uint 0)) + (set! (-> (the-as (pointer uint32) a0-1) 7) (the-as uint 0)) + (set! (-> (the-as (pointer vif-tag) a0-1) 8) (new 'static 'vif-tag :cmd (vif-cmd base))) + (set! (-> (the-as (pointer vif-tag) a0-1) 9) (new 'static 'vif-tag :cmd (vif-cmd offset))) + (set! (-> (the-as (pointer vif-tag) a0-1) 10) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as (pointer vif-tag) a0-1) 11) (new 'static 'vif-tag)) + (set! (-> v1-1 base) (&+ a0-1 48)) ) - (set! - (-> (the-as (pointer vif-tag) a0-1) 1) - (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1) - ) - (set! - (-> (the-as (pointer vif-tag) a0-1) 2) - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - ) - (set! - (-> (the-as (pointer vif-tag) a0-1) 3) - (new 'static 'vif-tag :cmd (vif-cmd strow) :msk #x1) - ) - (set! (-> (the-as (pointer uint32) a0-1) 4) (the-as uint 0)) - (set! (-> (the-as (pointer uint32) a0-1) 5) (the-as uint 0)) - (set! (-> (the-as (pointer uint32) a0-1) 6) (the-as uint 0)) - (set! (-> (the-as (pointer uint32) a0-1) 7) (the-as uint 0)) - (set! - (-> (the-as (pointer vif-tag) a0-1) 8) - (new 'static 'vif-tag :cmd (vif-cmd base)) - ) - (set! - (-> (the-as (pointer vif-tag) a0-1) 9) - (new 'static 'vif-tag :cmd (vif-cmd offset)) - ) - (set! - (-> (the-as (pointer vif-tag) a0-1) 10) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! (-> (the-as (pointer vif-tag) a0-1) 11) (new 'static 'vif-tag)) - (set! (-> v1-1 base) (&+ a0-1 48)) - ) (none) ) @@ -617,72 +458,53 @@ (let* ((v1-0 arg0) (a0-2 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as dma-packet a0-2) dma) - (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt)) + (set! (-> (the-as dma-packet a0-2) dma) (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-2) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-2) vif1) (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-0 base) (&+ (the-as pointer a0-2) 16)) ) - (set! (-> (the-as dma-packet a0-2) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-2) vif1) - (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-0 base) (&+ (the-as pointer a0-2) 16)) - ) (let* ((v1-1 arg0) (a0-4 (the-as object (-> v1-1 base))) ) - (set! - (-> (the-as gs-gif-tag a0-4) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1) + (set! (-> (the-as gs-gif-tag a0-4) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x1)) + (set! (-> (the-as gs-gif-tag a0-4) regs) + (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-1 base) (&+ (the-as pointer a0-4) 16)) ) - (set! - (-> (the-as gs-gif-tag a0-4) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-1 base) (&+ (the-as pointer a0-4) 16)) - ) (let* ((v1-2 arg0) (a0-6 (-> v1-2 base)) ) - (set! (-> (the-as (pointer gs-test) a0-6) 0) arg1) - (set! (-> (the-as (pointer gs-reg64) a0-6) 1) (gs-reg64 test-1)) - (set! (-> v1-2 base) (&+ a0-6 16)) - ) + (set! (-> (the-as (pointer gs-test) a0-6) 0) arg1) + (set! (-> (the-as (pointer gs-reg64) a0-6) 1) (gs-reg64 test-1)) + (set! (-> v1-2 base) (&+ a0-6 16)) + ) (add-tfrag-mtx-0 arg0) (add-tfrag-mtx-1 arg0) (add-tfrag-data arg0 arg2) (let ((v1-3 (the-as object (-> arg0 base)))) - (set! - (-> (the-as dma-packet v1-3) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt)) + (set! (-> (the-as dma-packet v1-3) dma) (new 'static 'dma-tag :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet v1-3) vif0) (new 'static 'vif-tag :cmd (vif-cmd base))) + (set! (-> (the-as dma-packet v1-3) vif1) (new 'static 'vif-tag :imm #x148 :cmd (vif-cmd offset))) + (set! (-> arg0 base) (&+ (the-as pointer v1-3) 16)) ) - (set! - (-> (the-as dma-packet v1-3) vif0) - (new 'static 'vif-tag :cmd (vif-cmd base)) - ) - (set! - (-> (the-as dma-packet v1-3) vif1) - (new 'static 'vif-tag :imm #x148 :cmd (vif-cmd offset)) - ) - (set! (-> arg0 base) (&+ (the-as pointer v1-3) 16)) - ) (set! (-> *tfrag-work* last-call) (the-as uint 0)) (none) ) @@ -693,52 +515,28 @@ (let* ((v1-0 arg0) (a1-0 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as dma-packet a1-0) dma) - (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt)) + (set! (-> (the-as dma-packet a1-0) dma) (new 'static 'dma-tag :qwc #x3 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a1-0) vif0) (new 'static 'vif-tag :cmd (vif-cmd stmask))) + (set! (-> (the-as dma-packet a1-0) vif1) (new 'static 'vif-tag)) + (set! (-> v1-0 base) (&+ (the-as pointer a1-0) 16)) ) - (set! - (-> (the-as dma-packet a1-0) vif0) - (new 'static 'vif-tag :cmd (vif-cmd stmask)) - ) - (set! (-> (the-as dma-packet a1-0) vif1) (new 'static 'vif-tag)) - (set! (-> v1-0 base) (&+ (the-as pointer a1-0) 16)) - ) (let* ((v1-1 arg0) (a0-1 (-> v1-1 base)) ) - (set! (-> (the-as (pointer uint32) a0-1)) (-> *tfrag-work* last-call)) - (set! - (-> (the-as (pointer vif-tag) a0-1) 1) - (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1) + (set! (-> (the-as (pointer uint32) a0-1)) (-> *tfrag-work* last-call)) + (set! (-> (the-as (pointer vif-tag) a0-1) 1) (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1)) + (set! (-> (the-as (pointer vif-tag) a0-1) 2) (new 'static 'vif-tag :cmd (vif-cmd stmod))) + (set! (-> (the-as (pointer vif-tag) a0-1) 3) (new 'static 'vif-tag :cmd (vif-cmd strow) :msk #x1)) + (set! (-> (the-as (pointer uint32) a0-1) 4) (the-as uint 0)) + (set! (-> (the-as (pointer uint32) a0-1) 5) (the-as uint 0)) + (set! (-> (the-as (pointer uint32) a0-1) 6) (the-as uint 0)) + (set! (-> (the-as (pointer uint32) a0-1) 7) (the-as uint 0)) + (set! (-> (the-as (pointer vif-tag) a0-1) 8) (new 'static 'vif-tag :cmd (vif-cmd base))) + (set! (-> (the-as (pointer vif-tag) a0-1) 9) (new 'static 'vif-tag :cmd (vif-cmd offset))) + (set! (-> (the-as (pointer vif-tag) a0-1) 10) (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl))) + (set! (-> (the-as (pointer vif-tag) a0-1) 11) (new 'static 'vif-tag)) + (set! (-> v1-1 base) (&+ a0-1 48)) ) - (set! - (-> (the-as (pointer vif-tag) a0-1) 2) - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - ) - (set! - (-> (the-as (pointer vif-tag) a0-1) 3) - (new 'static 'vif-tag :cmd (vif-cmd strow) :msk #x1) - ) - (set! (-> (the-as (pointer uint32) a0-1) 4) (the-as uint 0)) - (set! (-> (the-as (pointer uint32) a0-1) 5) (the-as uint 0)) - (set! (-> (the-as (pointer uint32) a0-1) 6) (the-as uint 0)) - (set! (-> (the-as (pointer uint32) a0-1) 7) (the-as uint 0)) - (set! - (-> (the-as (pointer vif-tag) a0-1) 8) - (new 'static 'vif-tag :cmd (vif-cmd base)) - ) - (set! - (-> (the-as (pointer vif-tag) a0-1) 9) - (new 'static 'vif-tag :cmd (vif-cmd offset)) - ) - (set! - (-> (the-as (pointer vif-tag) a0-1) 10) - (new 'static 'vif-tag :imm #x404 :cmd (vif-cmd stcycl)) - ) - (set! (-> (the-as (pointer vif-tag) a0-1) 11) (new 'static 'vif-tag)) - (set! (-> v1-1 base) (&+ a0-1 48)) - ) (none) ) @@ -747,7 +545,3 @@ ;; definition for function stats-tfrag-asm ;; ERROR: function was not converted to expressions. Cannot decompile. - - - - diff --git a/test/decompiler/reference/engine/gfx/tie/generic-tie-h_REF.gc b/test/decompiler/reference/engine/gfx/tie/generic-tie-h_REF.gc index 6e236d1177..978466fea1 100644 --- a/test/decompiler/reference/engine/gfx/tie/generic-tie-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/tie/generic-tie-h_REF.gc @@ -319,17 +319,9 @@ (format #t "[~8x] ~A~%" obj 'generic-tie-control) (format #t "~Tptr-palette: #x~X~%" (-> obj ptr-palette)) (format #t "~Tptr-shaders: #x~X~%" (-> obj ptr-shaders)) - (format - #t - "~Tptr-runctrl: #~%" - (-> obj ptr-runctrl) - ) + (format #t "~Tptr-runctrl: #~%" (-> obj ptr-runctrl)) (format #t "~Tptr-verts: #x~X~%" (-> obj ptr-verts)) - (format - #t - "~Tptr-generic: #~%" - (-> obj ptr-generic) - ) + (format #t "~Tptr-generic: #~%" (-> obj ptr-generic)) (format #t "~Tptr-dps: #x~X~%" (-> obj ptr-dps)) (format #t "~Tptr-kicks: #x~X~%" (-> obj ptr-kicks)) (format #t "~Tptr-normals: #x~X~%" (-> obj ptr-normals)) @@ -391,11 +383,7 @@ ;; definition for method 3 of type generic-tie-calls (defmethod inspect generic-tie-calls ((obj generic-tie-calls)) (format #t "[~8x] ~A~%" obj 'generic-tie-calls) - (format - #t - "~Tgeneric-prepare-dma-double: ~A~%" - (-> obj generic-prepare-dma-double) - ) + (format #t "~Tgeneric-prepare-dma-double: ~A~%" (-> obj generic-prepare-dma-double)) (format #t "~Tgeneric-envmap-dproc: ~A~%" (-> obj generic-envmap-dproc)) (format #t "~Tgeneric-interp-dproc: ~A~%" (-> obj generic-interp-dproc)) (format #t "~Tgeneric-no-light-dproc: ~A~%" (-> obj generic-no-light-dproc)) diff --git a/test/decompiler/reference/engine/gfx/tie/prototype-h_REF.gc b/test/decompiler/reference/engine/gfx/tie/prototype-h_REF.gc index 8bbaf817ca..e0a75189e1 100644 --- a/test/decompiler/reference/engine/gfx/tie/prototype-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/tie/prototype-h_REF.gc @@ -106,10 +106,7 @@ ) ;; definition for method 3 of type prototype-inline-array-shrub -(defmethod - inspect - prototype-inline-array-shrub - ((obj prototype-inline-array-shrub)) +(defmethod inspect prototype-inline-array-shrub ((obj prototype-inline-array-shrub)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tid: ~D~%" (-> obj id)) (format #t "~Tbsphere: ~`vector`P~%" (-> obj bsphere)) @@ -131,11 +128,7 @@ ;; definition for method 3 of type prototype-array-shrub-info (defmethod inspect prototype-array-shrub-info ((obj prototype-array-shrub-info)) (format #t "[~8x] ~A~%" obj (-> obj type)) - (format - #t - "~Tprototype-inline-array-shrub: ~A~%" - (-> obj prototype-inline-array-shrub) - ) + (format #t "~Tprototype-inline-array-shrub: ~A~%" (-> obj prototype-inline-array-shrub)) (format #t "~Twind-vectors: #x~X~%" (-> obj wind-vectors)) obj ) diff --git a/test/decompiler/reference/engine/gfx/tie/prototype_REF.gc b/test/decompiler/reference/engine/gfx/tie/prototype_REF.gc index dce8c4fbaa..52206db936 100644 --- a/test/decompiler/reference/engine/gfx/tie/prototype_REF.gc +++ b/test/decompiler/reference/engine/gfx/tie/prototype_REF.gc @@ -5,154 +5,131 @@ ;; INFO: Return type mismatch prototype-array-tie vs none. (defmethod TODO-RENAME-9 prototype-array-tie ((obj prototype-array-tie)) (dotimes (s5-0 (-> obj length)) - (let ((s4-0 (-> obj array-data s5-0))) - (dotimes (s3-0 4) - (let ((a0-1 (-> s4-0 geometry s3-0))) - (if (nonzero? a0-1) - (login a0-1) - ) - ) - ) - (let ((s4-1 (-> s4-0 envmap-shader))) - (when (nonzero? s4-1) - (adgif-shader-login-no-remap s4-1) - (set! (-> s4-1 tex1) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) - (set! - (-> s4-1 clamp) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) + (let ((s4-0 (-> obj array-data s5-0))) + (dotimes (s3-0 4) + (let ((a0-1 (-> s4-0 geometry s3-0))) + (if (nonzero? a0-1) + (login a0-1) + ) + ) + ) + (let ((s4-1 (-> s4-0 envmap-shader))) + (when (nonzero? s4-1) + (adgif-shader-login-no-remap s4-1) + (set! (-> s4-1 tex1) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) + (set! (-> s4-1 clamp) (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp))) + (set! (-> s4-1 alpha) (new 'static 'gs-miptbp :tbp1 #x58)) + (set! (-> s4-1 prims 1) (gs-reg64 tex0-1)) + (set! (-> s4-1 prims 3) (gs-reg64 tex1-1)) + (set! (-> s4-1 prims 5) (gs-reg64 miptbp1-1)) + (set! (-> s4-1 clamp-reg) (gs-reg64 clamp-1)) + (set! (-> s4-1 prims 9) (gs-reg64 alpha-1)) + ) ) - ) - (set! (-> s4-1 alpha) (new 'static 'gs-miptbp :tbp1 #x58)) - (set! (-> s4-1 prims 1) (gs-reg64 tex0-1)) - (set! (-> s4-1 prims 3) (gs-reg64 tex1-1)) - (set! (-> s4-1 prims 5) (gs-reg64 miptbp1-1)) - (set! (-> s4-1 clamp-reg) (gs-reg64 clamp-1)) - (set! (-> s4-1 prims 9) (gs-reg64 alpha-1)) ) - ) ) - ) (none) ) ;; definition for method 9 of type prototype-inline-array-shrub -(defmethod - login - prototype-inline-array-shrub - ((obj prototype-inline-array-shrub)) +(defmethod login prototype-inline-array-shrub ((obj prototype-inline-array-shrub)) (dotimes (s5-0 (-> obj length)) - (let ((s4-0 (-> obj data s5-0))) - (dotimes (s3-0 4) - (let ((a0-1 (-> s4-0 geometry s3-0))) - (if (nonzero? a0-1) - (login a0-1) - ) + (let ((s4-0 (-> obj data s5-0))) + (dotimes (s3-0 4) + (let ((a0-1 (-> s4-0 geometry s3-0))) + (if (nonzero? a0-1) + (login a0-1) + ) + ) + ) ) - ) ) - ) obj ) ;; definition for method 8 of type prototype-array-tie -(defmethod - mem-usage - prototype-array-tie - ((obj prototype-array-tie) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage prototype-array-tie ((obj prototype-array-tie) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 1 (-> arg0 length))) (set! (-> arg0 data 0 name) (symbol->string 'drawable-group)) (+! (-> arg0 data 0 count) 1) (let ((v1-8 (asize-of obj))) - (+! (-> arg0 data 0 used) v1-8) - (+! (-> arg0 data 0 total) (logand -16 (+ v1-8 15))) - ) + (+! (-> arg0 data 0 used) v1-8) + (+! (-> arg0 data 0 total) (logand -16 (+ v1-8 15))) + ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj array-data s3-0) arg0 arg1) - ) + (mem-usage (-> obj array-data s3-0) arg0 arg1) + ) obj ) ;; definition for method 8 of type prototype-bucket-tie -(defmethod - mem-usage - prototype-bucket-tie - ((obj prototype-bucket-tie) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage prototype-bucket-tie ((obj prototype-bucket-tie) (arg0 memory-usage-block) (arg1 int)) (dotimes (s3-0 4) - (let ((a0-1 (-> obj geometry s3-0))) - (if (nonzero? a0-1) - (mem-usage a0-1 arg0 (logior arg1 1)) - ) + (let ((a0-1 (-> obj geometry s3-0))) + (if (nonzero? a0-1) + (mem-usage a0-1 arg0 (logior arg1 1)) + ) + ) ) - ) (set! (-> arg0 length) (max 81 (-> arg0 length))) (set! (-> arg0 data 80 name) "string") (+! (-> arg0 data 80 count) 1) - (let - ((v1-13 ((method-of-type string asize-of) (the-as string (-> obj name))))) - (+! (-> arg0 data 80 used) v1-13) - (+! (-> arg0 data 80 total) (logand -16 (+ v1-13 15))) - ) - (when (nonzero? (-> obj tie-colors)) - (set! (-> arg0 length) (max 17 (-> arg0 length))) - (set! (-> arg0 data 16 name) "tie-pal") - (+! (-> arg0 data 16 count) 1) - (let ((v1-25 (asize-of (-> obj tie-colors)))) - (+! (-> arg0 data 16 used) v1-25) - (+! (-> arg0 data 16 total) (logand -16 (+ v1-25 15))) + (let ((v1-13 ((method-of-type string asize-of) (the-as string (-> obj name))))) + (+! (-> arg0 data 80 used) v1-13) + (+! (-> arg0 data 80 total) (logand -16 (+ v1-13 15))) + ) + (when (nonzero? (-> obj tie-colors)) + (set! (-> arg0 length) (max 17 (-> arg0 length))) + (set! (-> arg0 data 16 name) "tie-pal") + (+! (-> arg0 data 16 count) 1) + (let ((v1-25 (asize-of (-> obj tie-colors)))) + (+! (-> arg0 data 16 used) v1-25) + (+! (-> arg0 data 16 total) (logand -16 (+ v1-25 15))) + ) ) - ) (if (nonzero? (-> obj collide-frag)) - (mem-usage (-> obj collide-frag) arg0 (logior arg1 1)) - ) + (mem-usage (-> obj collide-frag) arg0 (logior arg1 1)) + ) obj ) ;; definition for method 8 of type prototype-inline-array-shrub -(defmethod - mem-usage - prototype-inline-array-shrub - ((obj prototype-inline-array-shrub) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage prototype-inline-array-shrub ((obj prototype-inline-array-shrub) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 1 (-> arg0 length))) (set! (-> arg0 data 0 name) (symbol->string 'drawable-group)) (+! (-> arg0 data 0 count) 1) (let ((v1-8 (asize-of obj))) - (+! (-> arg0 data 0 used) v1-8) - (+! (-> arg0 data 0 total) (logand -16 (+ v1-8 15))) - ) + (+! (-> arg0 data 0 used) v1-8) + (+! (-> arg0 data 0 total) (logand -16 (+ v1-8 15))) + ) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj data s3-0) arg0 arg1) - ) + (mem-usage (-> obj data s3-0) arg0 arg1) + ) obj ) ;; definition for method 8 of type prototype-bucket-shrub -(defmethod - mem-usage - prototype-bucket-shrub - ((obj prototype-bucket-shrub) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage prototype-bucket-shrub ((obj prototype-bucket-shrub) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 25 (-> arg0 length))) (set! (-> arg0 data 24 name) "prototype-bucket-shrub") (+! (-> arg0 data 24 count) 1) (let ((v1-5 112)) - (+! (-> arg0 data 24 used) v1-5) - (+! (-> arg0 data 24 total) (logand -16 (+ v1-5 15))) - ) - (dotimes (s3-0 4) - (let ((a0-5 (-> obj geometry s3-0))) - (if (nonzero? a0-5) - (mem-usage a0-5 arg0 (logior arg1 1)) - ) + (+! (-> arg0 data 24 used) v1-5) + (+! (-> arg0 data 24 total) (logand -16 (+ v1-5 15))) + ) + (dotimes (s3-0 4) + (let ((a0-5 (-> obj geometry s3-0))) + (if (nonzero? a0-5) + (mem-usage a0-5 arg0 (logior arg1 1)) + ) + ) ) - ) (set! (-> arg0 length) (max 81 (-> arg0 length))) (set! (-> arg0 data 80 name) "string") (+! (-> arg0 data 80 count) 1) - (let - ((v1-22 ((method-of-type string asize-of) (the-as string (-> obj name))))) - (+! (-> arg0 data 80 used) v1-22) - (+! (-> arg0 data 80 total) (logand -16 (+ v1-22 15))) - ) + (let ((v1-22 ((method-of-type string asize-of) (the-as string (-> obj name))))) + (+! (-> arg0 data 80 used) v1-22) + (+! (-> arg0 data 80 total) (logand -16 (+ v1-22 15))) + ) obj ) diff --git a/test/decompiler/reference/engine/gfx/tie/tie-h_REF.gc b/test/decompiler/reference/engine/gfx/tie/tie-h_REF.gc index 255c164819..7376f96660 100644 --- a/test/decompiler/reference/engine/gfx/tie/tie-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/tie/tie-h_REF.gc @@ -191,36 +191,12 @@ (format #t "~Tupload-color-0: #~%" (-> obj upload-color-0)) (format #t "~Tupload-color-1: #~%" (-> obj upload-color-1)) (format #t "~Tupload-color-2: #~%" (-> obj upload-color-2)) - (format - #t - "~Tupload-color-ret: #~%" - (-> obj upload-color-ret) - ) - (format - #t - "~Tupload-color-temp: #~%" - (-> obj upload-color-temp) - ) - (format - #t - "~Tgeneric-color-0: #~%" - (-> obj generic-color-0) - ) - (format - #t - "~Tgeneric-color-1: #~%" - (-> obj generic-color-1) - ) - (format - #t - "~Tgeneric-color-end: #~%" - (-> obj generic-color-end) - ) - (format - #t - "~Ttie-near-perspective-matrix: #~%" - (-> obj tie-near-perspective-matrix) - ) + (format #t "~Tupload-color-ret: #~%" (-> obj upload-color-ret)) + (format #t "~Tupload-color-temp: #~%" (-> obj upload-color-temp)) + (format #t "~Tgeneric-color-0: #~%" (-> obj generic-color-0)) + (format #t "~Tgeneric-color-1: #~%" (-> obj generic-color-1)) + (format #t "~Tgeneric-color-end: #~%" (-> obj generic-color-end)) + (format #t "~Ttie-near-perspective-matrix: #~%" (-> obj tie-near-perspective-matrix)) (format #t "~Twind-vectors: #x~X~%" (-> obj wind-vectors)) (format #t "~Ttest-id: ~D~%" (-> obj test-id)) (format #t "~Ttest-id2: ~D~%" (-> obj test-id2)) @@ -230,11 +206,7 @@ (format #t "~Twind-work: ~D~%" (-> obj wind-work)) (format #t "~Tcur-vis-bits: ~D~%" (-> obj cur-vis-bits)) (format #t "~Tend-vis-bits: ~D~%" (-> obj end-vis-bits)) - (format - #t - "~Tfirst-generic-prototype: #x~X~%" - (-> obj first-generic-prototype) - ) + (format #t "~Tfirst-generic-prototype: #x~X~%" (-> obj first-generic-prototype)) (format #t "~Trefl-fade-fac: ~f~%" (-> obj refl-fade-fac)) (format #t "~Trefl-fade-end: ~f~%" (-> obj refl-fade-end)) (format #t "~Tflags: ~D~%" (-> obj flags)) @@ -304,75 +276,23 @@ ;; definition for method 3 of type prototype-tie-work (defmethod inspect prototype-tie-work ((obj prototype-tie-work)) (format #t "[~8x] ~A~%" obj 'prototype-tie-work) - (format - #t - "~Tupload-palette-0: #~%" - (-> obj upload-palette-0) - ) - (format - #t - "~Tupload-palette-1: #~%" - (-> obj upload-palette-1) - ) + (format #t "~Tupload-palette-0: #~%" (-> obj upload-palette-0)) + (format #t "~Tupload-palette-1: #~%" (-> obj upload-palette-1)) (format #t "~Tupload-model-0: #~%" (-> obj upload-model-0)) (format #t "~Tupload-model-1: #~%" (-> obj upload-model-1)) (format #t "~Tupload-model-2: #~%" (-> obj upload-model-2)) (format #t "~Tupload-model-3: #~%" (-> obj upload-model-3)) - (format - #t - "~Tupload-model-near-0: #~%" - (-> obj upload-model-near-0) - ) - (format - #t - "~Tupload-model-near-1: #~%" - (-> obj upload-model-near-1) - ) - (format - #t - "~Tupload-model-near-2: #~%" - (-> obj upload-model-near-2) - ) - (format - #t - "~Tupload-model-near-3: #~%" - (-> obj upload-model-near-3) - ) - (format - #t - "~Tupload-model-near-4: #~%" - (-> obj upload-model-near-4) - ) - (format - #t - "~Tgeneric-envmap-shader: #~%" - (-> obj generic-envmap-shader) - ) - (format - #t - "~Tgeneric-palette: #~%" - (-> obj generic-palette) - ) - (format - #t - "~Tgeneric-model-0: #~%" - (-> obj generic-model-0) - ) - (format - #t - "~Tgeneric-model-1: #~%" - (-> obj generic-model-1) - ) - (format - #t - "~Tgeneric-model-2: #~%" - (-> obj generic-model-2) - ) - (format - #t - "~Tgeneric-model-next: #~%" - (-> obj generic-model-next) - ) + (format #t "~Tupload-model-near-0: #~%" (-> obj upload-model-near-0)) + (format #t "~Tupload-model-near-1: #~%" (-> obj upload-model-near-1)) + (format #t "~Tupload-model-near-2: #~%" (-> obj upload-model-near-2)) + (format #t "~Tupload-model-near-3: #~%" (-> obj upload-model-near-3)) + (format #t "~Tupload-model-near-4: #~%" (-> obj upload-model-near-4)) + (format #t "~Tgeneric-envmap-shader: #~%" (-> obj generic-envmap-shader)) + (format #t "~Tgeneric-palette: #~%" (-> obj generic-palette)) + (format #t "~Tgeneric-model-0: #~%" (-> obj generic-model-0)) + (format #t "~Tgeneric-model-1: #~%" (-> obj generic-model-1)) + (format #t "~Tgeneric-model-2: #~%" (-> obj generic-model-2)) + (format #t "~Tgeneric-model-next: #~%" (-> obj generic-model-next)) (format #t "~Tclamp: ~D~%" (-> obj clamp)) (format #t "~Tprototype-array: ~A~%" (-> obj prototype-array)) (format #t "~Tgeneric-wait-from-spr: ~D~%" (-> obj generic-wait-from-spr)) diff --git a/test/decompiler/reference/engine/gfx/tie/tie-work_REF.gc b/test/decompiler/reference/engine/gfx/tie/tie-work_REF.gc index eb27108362..16653940e1 100644 --- a/test/decompiler/reference/engine/gfx/tie/tie-work_REF.gc +++ b/test/decompiler/reference/engine/gfx/tie/tie-work_REF.gc @@ -2,200 +2,182 @@ (in-package goal) ;; definition for symbol *instance-tie-work*, type instance-tie-work -(define - *instance-tie-work* - (new 'static 'instance-tie-work - :wind-const - (new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0) - :constant - (new 'static 'vector :x 4096.0 :y 128.0) - :far-morph (new 'static 'vector :x 1.0 :w 256.0) - :upload-color-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x80c6 :num #x6 :cmd (vif-cmd unpack-v4-32)) - ) - :upload-color-1 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - :vif1 - (new 'static 'vif-tag :imm #xc0cc :cmd (vif-cmd unpack-v4-8)) - ) - :upload-color-2 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id next)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - ) - :upload-color-ret - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ret)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - ) - :generic-color-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id ref)) - :vif0 (new 'static 'vif-tag :imm #x3) - ) - :generic-color-1 - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) - :generic-color-end - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end))) - :refl-fade-fac -0.000625 - :refl-fade-end 409600.0 - ) - ) +(define *instance-tie-work* (new 'static 'instance-tie-work + :wind-const + (new 'static 'vector :x 0.5 :y 100.0 :z 0.0166 :w -1.0) + :constant + (new 'static 'vector :x 4096.0 :y 128.0) + :far-morph (new 'static 'vector :x 1.0 :w 256.0) + :upload-color-0 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x80c6 :num #x6 :cmd (vif-cmd unpack-v4-32)) + ) + :upload-color-1 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :cmd (vif-cmd stmod)) + :vif1 + (new 'static 'vif-tag :imm #xc0cc :cmd (vif-cmd unpack-v4-8)) + ) + :upload-color-2 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id next)) + :vif0 + (new 'static 'vif-tag :cmd (vif-cmd stmod)) + ) + :upload-color-ret + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ret)) + :vif0 + (new 'static 'vif-tag :cmd (vif-cmd stmod)) + ) + :generic-color-0 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x6 :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x3) + ) + :generic-color-1 + (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) + :generic-color-end + (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id end))) + :refl-fade-fac -0.000625 + :refl-fade-end 409600.0 + ) + ) ;; failed to figure out what this is: -(set! - (-> *instance-tie-work* upload-color-2 vif1) - (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1) - ) +(set! (-> *instance-tie-work* upload-color-2 vif1) (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1)) ;; failed to figure out what this is: -(set! - (-> *instance-tie-work* upload-color-ret vif1) - (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1) - ) +(set! (-> *instance-tie-work* upload-color-ret vif1) (new 'static 'vif-tag :cmd (vif-cmd mscal) :msk #x1)) ;; definition for symbol *prototype-tie-work*, type prototype-tie-work -(define - *prototype-tie-work* - (new 'static 'prototype-tie-work - :upload-palette-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1) - ) - :upload-palette-1 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x20 :id (dma-tag-id cnt)) - :vif0 - (new 'static 'vif-tag :imm #x1 :cmd (vif-cmd stmod)) - :vif1 - (new 'static 'vif-tag :imm #x4346 :num #x80 :cmd (vif-cmd unpack-v4-8)) - ) - :upload-model-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - :vif1 - (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32)) - ) - :upload-model-1 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4000 :cmd (vif-cmd unpack-v4-8)) - ) - :upload-model-2 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x32 :cmd (vif-cmd unpack-v4-16)) - ) - :upload-model-3 - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id call))) - :upload-model-near-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 - (new 'static 'vif-tag :cmd (vif-cmd stmod)) - :vif1 - (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32)) - ) - :upload-model-near-1 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x4000 :cmd (vif-cmd unpack-v4-8)) - ) - :upload-model-near-2 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x1e :cmd (vif-cmd unpack-v4-8)) - ) - :upload-model-near-3 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif1 - (new 'static 'vif-tag :imm #x32 :cmd (vif-cmd unpack-v4-16)) - ) - :upload-model-near-4 - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id call))) - :generic-envmap-shader - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id ref)) - :vif0 (new 'static 'vif-tag :imm #x1) - ) - :generic-palette - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :qwc #x20 :id (dma-tag-id cnt)) - :vif0 (new 'static 'vif-tag :imm #x1) - ) - :generic-model-0 - (new 'static 'dma-packet - :dma - (new 'static 'dma-tag :id (dma-tag-id ref)) - :vif0 (new 'static 'vif-tag :imm #x2) - ) - :generic-model-1 - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) - :generic-model-2 - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) - :generic-model-next - (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id next))) - :clamp #x8000ff00ff00ff - ) - ) +(define *prototype-tie-work* (new 'static 'prototype-tie-work + :upload-palette-0 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id cnt)) + :vif0 + (new 'static 'vif-tag :cmd (vif-cmd flusha) :msk #x1) + ) + :upload-palette-1 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x20 :id (dma-tag-id cnt)) + :vif0 + (new 'static 'vif-tag :imm #x1 :cmd (vif-cmd stmod)) + :vif1 + (new 'static 'vif-tag :imm #x4346 :num #x80 :cmd (vif-cmd unpack-v4-8)) + ) + :upload-model-0 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :cmd (vif-cmd stmod)) + :vif1 + (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32)) + ) + :upload-model-1 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x4000 :cmd (vif-cmd unpack-v4-8)) + ) + :upload-model-2 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x32 :cmd (vif-cmd unpack-v4-16)) + ) + :upload-model-3 + (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id call))) + :upload-model-near-0 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 + (new 'static 'vif-tag :cmd (vif-cmd stmod)) + :vif1 + (new 'static 'vif-tag :cmd (vif-cmd unpack-v4-32)) + ) + :upload-model-near-1 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x4000 :cmd (vif-cmd unpack-v4-8)) + ) + :upload-model-near-2 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x1e :cmd (vif-cmd unpack-v4-8)) + ) + :upload-model-near-3 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif1 + (new 'static 'vif-tag :imm #x32 :cmd (vif-cmd unpack-v4-16)) + ) + :upload-model-near-4 + (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id call))) + :generic-envmap-shader + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x5 :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x1) + ) + :generic-palette + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :qwc #x20 :id (dma-tag-id cnt)) + :vif0 (new 'static 'vif-tag :imm #x1) + ) + :generic-model-0 + (new 'static 'dma-packet + :dma + (new 'static 'dma-tag :id (dma-tag-id ref)) + :vif0 (new 'static 'vif-tag :imm #x2) + ) + :generic-model-1 + (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) + :generic-model-2 + (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id ref))) + :generic-model-next + (new 'static 'dma-packet :dma (new 'static 'dma-tag :id (dma-tag-id next))) + :clamp #x8000ff00ff00ff + ) + ) ;; failed to figure out what this is: -(set! - (-> *prototype-tie-work* upload-model-1 vif0) - (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd mscal) :msk #x1) - ) +(set! (-> *prototype-tie-work* upload-model-1 vif0) + (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd mscal) :msk #x1) + ) ;; failed to figure out what this is: -(set! - (-> *prototype-tie-work* upload-model-3 vif0) - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd mscal) :msk #x1) - ) +(set! (-> *prototype-tie-work* upload-model-3 vif0) + (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd mscal) :msk #x1) + ) ;; failed to figure out what this is: -(set! - (-> *prototype-tie-work* upload-model-near-1 vif0) - (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd mscal) :msk #x1) - ) +(set! (-> *prototype-tie-work* upload-model-near-1 vif0) + (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd mscal) :msk #x1) + ) ;; failed to figure out what this is: -(set! - (-> *prototype-tie-work* upload-model-near-4 vif0) - (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd mscal) :msk #x1) - ) - - - - +(set! (-> *prototype-tie-work* upload-model-near-4 vif0) + (new 'static 'vif-tag :imm #x6 :cmd (vif-cmd mscal) :msk #x1) + ) diff --git a/test/decompiler/reference/engine/gfx/time-of-day-h_REF.gc b/test/decompiler/reference/engine/gfx/time-of-day-h_REF.gc index 2a95f76e2d..2d6ae9ab56 100644 --- a/test/decompiler/reference/engine/gfx/time-of-day-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/time-of-day-h_REF.gc @@ -42,9 +42,7 @@ ) ;; definition (perm) for symbol *palette-fade-controls*, type palette-fade-controls -(define-perm *palette-fade-controls* palette-fade-controls - (new 'global 'palette-fade-controls) - ) +(define-perm *palette-fade-controls* palette-fade-controls (new 'global 'palette-fade-controls)) ;; definition of type time-of-day-proc (deftype time-of-day-proc (process) @@ -76,8 +74,8 @@ ;; definition for method 3 of type time-of-day-proc (defmethod inspect time-of-day-proc ((obj time-of-day-proc)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tyear: ~D~%" (-> obj year)) (format #t "~T~Tmonth: ~D~%" (-> obj month)) (format #t "~T~Tweek: ~D~%" (-> obj week)) @@ -159,23 +157,11 @@ (format #t "~Tmoods[2] @ #x~X~%" (-> obj moods)) (format #t "~Tcurrent-fog: #~%" (-> obj current-fog)) (format #t "~Tcurrent-sun: #~%" (-> obj current-sun)) - (format - #t - "~Tcurrent-prt-color: #~%" - (-> obj current-prt-color) - ) + (format #t "~Tcurrent-prt-color: #~%" (-> obj current-prt-color)) (format #t "~Tcurrent-shadow: #~%" (-> obj current-shadow)) - (format - #t - "~Tcurrent-shadow-color: #~%" - (-> obj current-shadow-color) - ) + (format #t "~Tcurrent-shadow-color: #~%" (-> obj current-shadow-color)) (format #t "~Tlight-group[9] @ #x~X~%" (-> obj light-group)) - (format - #t - "~Ttitle-light-group: #~%" - (-> obj title-light-group) - ) + (format #t "~Ttitle-light-group: #~%" (-> obj title-light-group)) (format #t "~Ttime: ~f~%" (-> obj time)) (format #t "~Ttarget-interp: ~f~%" (-> obj target-interp)) (format #t "~Terase-color: ~D~%" (-> obj erase-color)) diff --git a/test/decompiler/reference/engine/gfx/time-of-day_REF.gc b/test/decompiler/reference/engine/gfx/time-of-day_REF.gc index 8ece4c597d..e589cfc6cd 100644 --- a/test/decompiler/reference/engine/gfx/time-of-day_REF.gc +++ b/test/decompiler/reference/engine/gfx/time-of-day_REF.gc @@ -9,80 +9,73 @@ ;; failed to figure out what this is: (if (zero? time-of-day-effect) - (set! time-of-day-effect nothing) - ) + (set! time-of-day-effect nothing) + ) ;; definition for function time-of-day-update ;; INFO: Return type mismatch int vs none. (defbehavior time-of-day-update time-of-day-proc () (time-of-day-effect) (cond - ((and - (or (>= (-> self hour) 19) (>= 5 (-> self hour))) - (and - (< 45.0 (-> *time-of-day-context* num-stars)) - (-> *time-of-day-context* sky) - ) - ) - (when - (and - *dproc* - (< (-> self star-count) (the int (-> *time-of-day-context* num-stars))) - ) - (spawn (-> self stars) (math-camera-pos)) - (+! (-> self star-count) 1) - ) - ) - ((> (-> self star-count) 0) - (forall-particles-with-key - (-> self stars) - (lambda ((arg0 sparticle-system) (arg1 sparticle-cpuinfo)) - (if (< (the-as uint #x493e0) (-> arg1 next-time)) - (set! (-> arg1 next-time) (the-as uint 5)) - (sparticle-kill-it arg0 arg1) + ((and + (or (>= (-> self hour) 19) (>= 5 (-> self hour))) + (and (< 45.0 (-> *time-of-day-context* num-stars)) (-> *time-of-day-context* sky)) + ) + (when (and *dproc* (< (-> self star-count) (the int (-> *time-of-day-context* num-stars)))) + (spawn (-> self stars) (math-camera-pos)) + (+! (-> self star-count) 1) ) - (none) - ) - #t - #t ) - (set! (-> self star-count) 0) - 0 + ((> (-> self star-count) 0) + (forall-particles-with-key + (-> self stars) + (lambda ((arg0 sparticle-system) (arg1 sparticle-cpuinfo)) + (if (< (the-as uint #x493e0) (-> arg1 next-time)) + (set! (-> arg1 next-time) (the-as uint 5)) + (sparticle-kill-it arg0 arg1) + ) + (none) + ) + #t + #t + ) + (set! (-> self star-count) 0) + 0 + ) ) - ) (cond - ((and - (>= (-> self time-of-day) 6.25) - (< (-> self time-of-day) 18.75) - (!= (-> *time-of-day-context* sun-fade) 0.0) + ((and + (>= (-> self time-of-day) 6.25) + (< (-> self time-of-day) 18.75) + (!= (-> *time-of-day-context* sun-fade) 0.0) + ) + (when (and *dproc* (zero? (-> self sun-count))) + (spawn (-> self sun) (math-camera-pos)) + (+! (-> self sun-count) 1) + ) ) - (when (and *dproc* (zero? (-> self sun-count))) - (spawn (-> self sun) (math-camera-pos)) - (+! (-> self sun-count) 1) + ((> (-> self sun-count) 0) + (kill-and-free-particles (-> self sun)) + (set! (-> self sun-count) 0) + 0 ) ) - ((> (-> self sun-count) 0) - (kill-and-free-particles (-> self sun)) - (set! (-> self sun-count) 0) - 0 - ) - ) (cond - ((and - (or (>= (-> self time-of-day) 21.75) (>= 10.25 (-> self time-of-day))) - (!= (-> *time-of-day-context* sun-fade) 0.0) + ((and + (or (>= (-> self time-of-day) 21.75) (>= 10.25 (-> self time-of-day))) + (!= (-> *time-of-day-context* sun-fade) 0.0) + ) + (when (and *dproc* (zero? (-> self green-sun-count))) + (spawn (-> self green-sun) (math-camera-pos)) + (+! (-> self green-sun-count) 1) + ) ) - (when (and *dproc* (zero? (-> self green-sun-count))) - (spawn (-> self green-sun) (math-camera-pos)) - (+! (-> self green-sun-count) 1) + ((> (-> self green-sun-count) 0) + (kill-and-free-particles (-> self green-sun)) + (set! (-> self green-sun-count) 0) + 0 ) ) - ((> (-> self green-sun-count) 0) - (kill-and-free-particles (-> self green-sun)) - (set! (-> self green-sun-count) 0) - 0 - ) - ) (update-sky-tng-data (-> self time-of-day)) 0 (none) @@ -92,65 +85,62 @@ (defstate time-of-day-tick (time-of-day-proc) :code (behavior () - (while #t - (+! - (-> self frame) - (the int (* (-> self time-ratio) (-> *display* time-adjust-ratio))) - ) - (when (>= (-> self frame) 300) - (while (>= (-> self frame) 300) - (+! (-> self frame) -300) - (+! (-> self second) 1) - ) - (when (>= (-> self second) 60) - (while (>= (-> self second) 60) - (+! (-> self second) -60) - (+! (-> self minute) 1) - ) - (when (>= (-> self minute) 60) - (while (>= (-> self minute) 60) - (+! (-> self minute) -60) - (+! (-> self hour) 1) - ) - (when (>= (-> self hour) 24) - (while (>= (-> self hour) 24) - (+! (-> self hour) -24) - (+! (-> self day) 1) - ) - (when (>= (-> self day) 7) - (while (>= (-> self day) 7) - (+! (-> self day) -7) - (+! (-> self week) 1) + (while #t + (+! (-> self frame) (the int (* (-> self time-ratio) (-> *display* time-adjust-ratio)))) + (when (>= (-> self frame) 300) + (while (>= (-> self frame) 300) + (+! (-> self frame) -300) + (+! (-> self second) 1) ) - (when (>= (-> self week) 4) - (while (>= (-> self week) 4) - (+! (-> self week) -4) - (+! (-> self month) 1) - ) - (when (>= (-> self month) 12) - (while (>= (-> self month) 12) - (+! (-> self month) -12) - (+! (-> self year) 1) + (when (>= (-> self second) 60) + (while (>= (-> self second) 60) + (+! (-> self second) -60) + (+! (-> self minute) 1) + ) + (when (>= (-> self minute) 60) + (while (>= (-> self minute) 60) + (+! (-> self minute) -60) + (+! (-> self hour) 1) + ) + (when (>= (-> self hour) 24) + (while (>= (-> self hour) 24) + (+! (-> self hour) -24) + (+! (-> self day) 1) + ) + (when (>= (-> self day) 7) + (while (>= (-> self day) 7) + (+! (-> self day) -7) + (+! (-> self week) 1) + ) + (when (>= (-> self week) 4) + (while (>= (-> self week) 4) + (+! (-> self week) -4) + (+! (-> self month) 1) + ) + (when (>= (-> self month) 12) + (while (>= (-> self month) 12) + (+! (-> self month) -12) + (+! (-> self year) 1) + ) + ) + ) + ) + ) ) - ) ) - ) ) - ) + (let* ((f0-4 (the float (-> self frame))) + (f0-6 (+ (* 0.0033333334 f0-4) (the float (-> self second)))) + (f0-8 (+ (* 0.016666668 f0-6) (the float (-> self minute)))) + (f0-10 (+ (* 0.016666668 f0-8) (the float (-> self hour)))) + ) + (set! (-> self time-of-day) f0-10) + (set! (-> *time-of-day-context* time) f0-10) + ) + (suspend) ) - ) - (let* ((f0-4 (the float (-> self frame))) - (f0-6 (+ (* 0.0033333334 f0-4) (the float (-> self second)))) - (f0-8 (+ (* 0.016666668 f0-6) (the float (-> self minute)))) - (f0-10 (+ (* 0.016666668 f0-8) (the float (-> self hour)))) - ) - (set! (-> self time-of-day) f0-10) - (set! (-> *time-of-day-context* time) f0-10) - ) - (suspend) + (none) ) - (none) - ) :post time-of-day-update ) @@ -169,22 +159,13 @@ (set! (-> self frame) 0) (set! (-> self time-of-day) 0.0) (if *time-of-day-fast* - (set! (-> self time-ratio) 18000.0) - (set! (-> self time-ratio) 300.0) - ) + (set! (-> self time-ratio) 18000.0) + (set! (-> self time-ratio) 300.0) + ) (set! (-> self star-count) 0) - (set! - (-> self stars) - (create-launch-control (-> *part-group-id-table* 34) self) - ) - (set! - (-> self sun) - (create-launch-control (-> *part-group-id-table* 35) self) - ) - (set! - (-> self green-sun) - (create-launch-control (-> *part-group-id-table* 36) self) - ) + (set! (-> self stars) (create-launch-control (-> *part-group-id-table* 34) self)) + (set! (-> self sun) (create-launch-control (-> *part-group-id-table* 35) self)) + (set! (-> self green-sun) (create-launch-control (-> *part-group-id-table* 36) self)) (go time-of-day-tick) (none) ) @@ -194,82 +175,57 @@ (defun start-time-of-day () (kill-by-name 'time-of-day-proc *active-pool*) (let ((gp-0 (get-process *default-dead-pool* time-of-day-proc #x4000))) - (set! *time-of-day-proc* (the-as (pointer time-of-day-proc) (when gp-0 - (let - ((t9-2 - (method-of-type - time-of-day-proc - activate - ) - ) - ) - (t9-2 - (the-as - time-of-day-proc - gp-0 - ) - *default-pool* - 'time-of-day-proc - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - gp-0 - init-time-of-day - ) - (-> - gp-0 - ppointer - ) - ) - ) + (set! *time-of-day-proc* + (the-as (pointer time-of-day-proc) + (when gp-0 + (let ((t9-2 (method-of-type time-of-day-proc activate))) + (t9-2 (the-as time-of-day-proc gp-0) *default-pool* 'time-of-day-proc (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 init-time-of-day) + (-> gp-0 ppointer) + ) + ) + ) ) - ) (none) ) ;; definition for function time-of-day-setup (defun time-of-day-setup ((arg0 symbol)) (when arg0 - (cond - ((= (-> *time-of-day-proc* 0 time-ratio) 0.0) - (if *time-of-day-fast* - (set! (-> *time-of-day-proc* 0 time-ratio) 18000.0) - (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) + (cond + ((= (-> *time-of-day-proc* 0 time-ratio) 0.0) + (if *time-of-day-fast* + (set! (-> *time-of-day-proc* 0 time-ratio) 18000.0) + (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) + ) + (set! *time-of-day-mode* 8) + ) + (else + (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) + (set! *time-of-day-mode* 4) + (set! (-> *time-of-day-proc* 0 hour) 12) + (set! (-> *time-of-day-proc* 0 minute) 0) + 0 + ) ) - (set! *time-of-day-mode* 8) - ) - (else - (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) - (set! *time-of-day-mode* 4) - (set! (-> *time-of-day-proc* 0 hour) 12) - (set! (-> *time-of-day-proc* 0 minute) 0) - 0 - ) ) - ) (if (= (-> *time-of-day-proc* 0 time-ratio) 0.0) - #f - #t - ) + #f + #t + ) ) ;; definition for function set-time-of-day ;; INFO: Return type mismatch int vs none. (defun set-time-of-day ((arg0 float)) (let ((v1-0 *time-of-day-proc*)) - (set! (-> v1-0 0 hour) (the int arg0)) - (let ((a0-1 (* 60.0 (- arg0 (the float (the int arg0)))))) - (set! (-> v1-0 0 minute) (the int a0-1)) - (set! - (-> v1-0 0 second) - (the int (* 60.0 (- a0-1 (the float (the int a0-1))))) - ) + (set! (-> v1-0 0 hour) (the int arg0)) + (let ((a0-1 (* 60.0 (- arg0 (the float (the int arg0)))))) + (set! (-> v1-0 0 minute) (the int a0-1)) + (set! (-> v1-0 0 second) (the int (* 60.0 (- a0-1 (the float (the int a0-1)))))) + ) ) - ) 0 (none) ) @@ -288,9 +244,9 @@ (set! (-> arg0 title-light-group dir0 levels x) 1.0) (set! (-> arg0 title-light-group dir1 levels x) 1.0) (let ((f0-14 1.0)) - (set! (-> arg0 title-light-group ambi levels x) f0-14) - f0-14 - ) + (set! (-> arg0 title-light-group ambi levels x) f0-14) + f0-14 + ) ) ;; definition for function update-time-of-day @@ -300,381 +256,264 @@ (set! (-> arg0 sky) #f) (set! (-> arg0 target-interp) 0.0) (when *target* - (set! (-> *target* draw light-index) (the-as uint 0)) - (when (-> *target* sidekick) - (set! (-> *target* sidekick 0 draw light-index) (the-as uint 0)) - 0 + (set! (-> *target* draw light-index) (the-as uint 0)) + (when (-> *target* sidekick) + (set! (-> *target* sidekick 0 draw light-index) (the-as uint 0)) + 0 + ) ) - ) (dotimes (v1-12 (-> *level* length)) - (let ((a0-4 (-> *level* level v1-12))) - (when (= (-> a0-4 status) 'active) - (if (-> a0-4 info sky) - (set! (-> arg0 sky) #t) - ) - ) - ) - ) - (let ((s4-0 (the-as (array float) (new 'stack 'array float 2)))) - 0.0 - (let ((s5-0 0) - (f30-0 (-> arg0 current-interp)) - ) - (set! *lightning-frame-done* #f) - (set! *lightning-realtime-done* #f) - (dotimes (s3-0 2) - (let ((s2-0 (-> *level* level s3-0))) - (cond - ((!= (-> s2-0 status) 'inactive) - (set! (-> s4-0 s3-0) (-> s2-0 level-distance)) - (set! (-> arg0 moods s3-0) (-> s2-0 mood)) - ((-> s2-0 mood-func) (-> s2-0 mood) (-> arg0 time) s3-0) - (if (and (= (-> s2-0 status) 'active) (-> s2-0 info sky)) - (+! s5-0 1) - ) - ) - (else - (set! (-> s4-0 s3-0) 4095996000.0) - (set! (-> arg0 moods s3-0) *default-mood*) - (update-mood-default *default-mood* (-> arg0 time) 0) - ) - ) - ) - ) - (let* ((f0-6 (-> s4-0 0)) - (f1-0 (-> s4-0 1)) - (f28-0 (cond - ((= f1-0 4095996000.0) - 0.0 - ) - ((= f0-6 4095996000.0) - 1.0 - ) - ((= f0-6 f1-0) - 0.5 - ) - ((and - (< 0.0 (-> *math-camera* trans y)) - (= (-> *level* level0 name) 'village2) - (= (-> *level* level1 name) 'sunken) - ) - 0.0 - ) - ((and - (< 0.0 (-> *math-camera* trans y)) - (= (-> *level* level0 name) 'sunken) - (= (-> *level* level1 name) 'village2) - ) - 1.0 - ) - (else - (/ f0-6 (+ f0-6 f1-0)) - ) - ) + (let ((a0-4 (-> *level* level v1-12))) + (when (= (-> a0-4 status) 'active) + (if (-> a0-4 info sky) + (set! (-> arg0 sky) #t) ) - ) - (if *teleport* - (set! f30-0 f28-0) + ) ) - (when (not (or (paused?) (= f28-0 f30-0))) - (let ((f0-7 (- f30-0 f28-0))) - (set! f30-0 (cond - ((= (-> *setting-control* current video-mode) 'pal) - (cond - ((< (fabs f0-7) 0.00396) - f28-0 + ) + (let ((s4-0 (the-as (array float) (new 'stack 'array float 2)))) + 0.0 + (let ((s5-0 0) + (f30-0 (-> arg0 current-interp)) + ) + (set! *lightning-frame-done* #f) + (set! *lightning-realtime-done* #f) + (dotimes (s3-0 2) + (let ((s2-0 (-> *level* level s3-0))) + (cond + ((!= (-> s2-0 status) 'inactive) + (set! (-> s4-0 s3-0) (-> s2-0 level-distance)) + (set! (-> arg0 moods s3-0) (-> s2-0 mood)) + ((-> s2-0 mood-func) (-> s2-0 mood) (-> arg0 time) s3-0) + (if (and (= (-> s2-0 status) 'active) (-> s2-0 info sky)) + (+! s5-0 1) + ) + ) + (else + (set! (-> s4-0 s3-0) 4095996000.0) + (set! (-> arg0 moods s3-0) *default-mood*) + (update-mood-default *default-mood* (-> arg0 time) 0) + ) + ) + ) + ) + (let* ((f0-6 (-> s4-0 0)) + (f1-0 (-> s4-0 1)) + (f28-0 (cond + ((= f1-0 4095996000.0) + 0.0 ) - ((< f0-7 0.0) - (+ 0.00396 f30-0) + ((= f0-6 4095996000.0) + 1.0 + ) + ((= f0-6 f1-0) + 0.5 + ) + ((and + (< 0.0 (-> *math-camera* trans y)) + (= (-> *level* level0 name) 'village2) + (= (-> *level* level1 name) 'sunken) + ) + 0.0 + ) + ((and + (< 0.0 (-> *math-camera* trans y)) + (= (-> *level* level0 name) 'sunken) + (= (-> *level* level1 name) 'village2) + ) + 1.0 ) (else - (+ -0.00396 f30-0) - ) + (/ f0-6 (+ f0-6 f1-0)) + ) ) - ) - ((< (fabs f0-7) 0.0033) - f28-0 - ) - ((< f0-7 0.0) - (+ 0.0033 f30-0) - ) - (else - (+ -0.0033 f30-0) - ) ) - ) - ) - ) - (set! (-> arg0 active-count) (the-as uint s5-0)) - (set! (-> arg0 interp) f28-0) - ) - (set! (-> arg0 current-interp) f30-0) - (set! *sky-drawn* #f) - (set! *cloud-drawn* #f) - (let ((s5-1 (-> arg0 current-fog))) - (cond - ((= f30-0 0.0) - (let ((v1-67 (-> arg0 moods 0 current-fog))) - (set! (-> s5-1 fog-color quad) (-> v1-67 fog-color quad)) - (set! (-> s5-1 fog-dists quad) (-> v1-67 fog-dists quad)) - (set! (-> s5-1 erase-color quad) (-> v1-67 erase-color quad)) - ) - (set! - (-> arg0 current-prt-color quad) - (-> arg0 moods 0 current-prt-color quad) - ) - (set! - (-> arg0 current-sun sun-color quad) - (-> arg0 moods 0 current-sun sun-color quad) - ) - (set! - (-> arg0 current-sun env-color quad) - (-> arg0 moods 0 current-sun env-color quad) - ) - (set! - (-> arg0 current-shadow quad) - (-> arg0 moods 0 current-shadow quad) - ) - (set! - (-> arg0 current-shadow-color quad) - (-> arg0 moods 0 current-shadow-color quad) - ) - (dotimes (s4-1 8) - (quad-copy! - (the-as pointer (-> arg0 light-group s4-1)) - (the-as pointer (-> arg0 moods 0 light-group s4-1)) - 12 - ) - ) - (set! (-> arg0 num-stars) (-> arg0 moods 0 num-stars)) - (set! (-> arg0 sun-fade) (-> *level* level0 info sun-fade)) - ) - ((= f30-0 1.0) - (let ((v1-88 (-> arg0 moods 1 current-fog))) - (set! (-> s5-1 fog-color quad) (-> v1-88 fog-color quad)) - (set! (-> s5-1 fog-dists quad) (-> v1-88 fog-dists quad)) - (set! (-> s5-1 erase-color quad) (-> v1-88 erase-color quad)) - ) - (set! - (-> arg0 current-prt-color quad) - (-> arg0 moods 1 current-prt-color quad) - ) - (set! - (-> arg0 current-sun sun-color quad) - (-> arg0 moods 1 current-sun sun-color quad) - ) - (set! - (-> arg0 current-sun env-color quad) - (-> arg0 moods 1 current-sun env-color quad) - ) - (set! - (-> arg0 current-shadow quad) - (-> arg0 moods 1 current-shadow quad) - ) - (set! - (-> arg0 current-shadow-color quad) - (-> arg0 moods 1 current-shadow-color quad) - ) - (dotimes (s4-2 8) - (quad-copy! - (the-as pointer (-> arg0 light-group s4-2)) - (the-as pointer (-> arg0 moods 1 light-group s4-2)) - 12 - ) - ) - (set! (-> arg0 num-stars) (-> arg0 moods 1 num-stars)) - (set! (-> arg0 sun-fade) (-> *level* level1 info sun-fade)) - ) - (else - (let ((s4-3 (-> arg0 moods 0 current-fog)) - (s3-1 (-> arg0 moods 1 current-fog)) ) - (vector4-lerp! - (-> s5-1 fog-color) - (-> s4-3 fog-color) - (-> s3-1 fog-color) - f30-0 - ) - (vector4-lerp! - (-> s5-1 fog-dists) - (-> s4-3 fog-dists) - (-> s3-1 fog-dists) - f30-0 - ) - (vector4-lerp! - (-> s5-1 erase-color) - (-> s4-3 erase-color) - (-> s3-1 erase-color) - f30-0 - ) + (if *teleport* + (set! f30-0 f28-0) + ) + (when (not (or (paused?) (= f28-0 f30-0))) + (let ((f0-7 (- f30-0 f28-0))) + (set! f30-0 (cond + ((= (-> *setting-control* current video-mode) 'pal) + (cond + ((< (fabs f0-7) 0.00396) + f28-0 + ) + ((< f0-7 0.0) + (+ 0.00396 f30-0) + ) + (else + (+ -0.00396 f30-0) + ) + ) + ) + ((< (fabs f0-7) 0.0033) + f28-0 + ) + ((< f0-7 0.0) + (+ 0.0033 f30-0) + ) + (else + (+ -0.0033 f30-0) + ) + ) + ) + ) + ) + (set! (-> arg0 active-count) (the-as uint s5-0)) + (set! (-> arg0 interp) f28-0) ) - (vector4-lerp! - (-> arg0 current-prt-color) - (-> arg0 moods 0 current-prt-color) - (-> arg0 moods 1 current-prt-color) - f30-0 - ) - (vector4-lerp! - (the-as vector (-> arg0 current-sun)) - (the-as vector (-> arg0 moods 0 current-sun)) - (the-as vector (-> arg0 moods 1 current-sun)) - f30-0 - ) - (vector4-lerp! - (-> arg0 current-sun env-color) - (-> arg0 moods 0 current-sun env-color) - (-> arg0 moods 1 current-sun env-color) - f30-0 - ) - (vector4-lerp! - (-> arg0 current-shadow) - (-> arg0 moods 0 current-shadow) - (-> arg0 moods 1 current-shadow) - f30-0 - ) - (vector4-lerp! - (-> arg0 current-shadow-color) - (-> arg0 moods 0 current-shadow-color) - (-> arg0 moods 1 current-shadow-color) - f30-0 - ) - (dotimes (s4-4 8) - (dotimes (s3-2 3) - (let ((s2-1 (+ (+ (* 48 s3-2) 156 (* 192 s4-4)) (the-as int arg0)))) - (let - ((s1-0 - (+ (+ (* 48 s3-2) 156 (* 192 s4-4)) (the-as int (-> arg0 moods 0))) + (set! (-> arg0 current-interp) f30-0) + (set! *sky-drawn* #f) + (set! *cloud-drawn* #f) + (let ((s5-1 (-> arg0 current-fog))) + (cond + ((= f30-0 0.0) + (let ((v1-67 (-> arg0 moods 0 current-fog))) + (set! (-> s5-1 fog-color quad) (-> v1-67 fog-color quad)) + (set! (-> s5-1 fog-dists quad) (-> v1-67 fog-dists quad)) + (set! (-> s5-1 erase-color quad) (-> v1-67 erase-color quad)) ) - (s0-0 - (+ (+ (* 48 s3-2) 156 (* 192 s4-4)) (the-as int (-> arg0 moods 1))) + (set! (-> arg0 current-prt-color quad) (-> arg0 moods 0 current-prt-color quad)) + (set! (-> arg0 current-sun sun-color quad) (-> arg0 moods 0 current-sun sun-color quad)) + (set! (-> arg0 current-sun env-color quad) (-> arg0 moods 0 current-sun env-color quad)) + (set! (-> arg0 current-shadow quad) (-> arg0 moods 0 current-shadow quad)) + (set! (-> arg0 current-shadow-color quad) (-> arg0 moods 0 current-shadow-color quad)) + (dotimes (s4-1 8) + (quad-copy! + (the-as pointer (-> arg0 light-group s4-1)) + (the-as pointer (-> arg0 moods 0 light-group s4-1)) + 12 + ) ) - ) - (vector4-lerp! - (the-as vector (+ s2-1 0)) - (the-as vector (+ s1-0 0)) - (the-as vector (+ s0-0 0)) - f30-0 - ) - (vector4-lerp! - (the-as vector (+ s2-1 16)) - (the-as vector (+ s1-0 16)) - (the-as vector (+ s0-0 16)) - f30-0 - ) - (vector4-lerp! - (the-as vector (+ s2-1 32)) - (the-as vector (+ s1-0 32)) - (the-as vector (+ s0-0 32)) - f30-0 - ) + (set! (-> arg0 num-stars) (-> arg0 moods 0 num-stars)) + (set! (-> arg0 sun-fade) (-> *level* level0 info sun-fade)) ) - (vector-normalize! (the-as vector (+ s2-1 0)) 1.0) - ) - ) - (let ((s3-3 (+ (the-as uint (-> arg0 light-group 0 ambi)) (* 192 s4-4))) - (s2-2 - (+ - (the-as uint (-> arg0 moods 0 light-group 0 ambi)) - (* 192 s4-4) - ) - ) - (s1-1 - (+ - (the-as uint (-> arg0 moods 1 light-group 0 ambi)) - (* 192 s4-4) - ) + ((= f30-0 1.0) + (let ((v1-88 (-> arg0 moods 1 current-fog))) + (set! (-> s5-1 fog-color quad) (-> v1-88 fog-color quad)) + (set! (-> s5-1 fog-dists quad) (-> v1-88 fog-dists quad)) + (set! (-> s5-1 erase-color quad) (-> v1-88 erase-color quad)) + ) + (set! (-> arg0 current-prt-color quad) (-> arg0 moods 1 current-prt-color quad)) + (set! (-> arg0 current-sun sun-color quad) (-> arg0 moods 1 current-sun sun-color quad)) + (set! (-> arg0 current-sun env-color quad) (-> arg0 moods 1 current-sun env-color quad)) + (set! (-> arg0 current-shadow quad) (-> arg0 moods 1 current-shadow quad)) + (set! (-> arg0 current-shadow-color quad) (-> arg0 moods 1 current-shadow-color quad)) + (dotimes (s4-2 8) + (quad-copy! + (the-as pointer (-> arg0 light-group s4-2)) + (the-as pointer (-> arg0 moods 1 light-group s4-2)) + 12 ) + ) + (set! (-> arg0 num-stars) (-> arg0 moods 1 num-stars)) + (set! (-> arg0 sun-fade) (-> *level* level1 info sun-fade)) + ) + (else + (let ((s4-3 (-> arg0 moods 0 current-fog)) + (s3-1 (-> arg0 moods 1 current-fog)) + ) + (vector4-lerp! (-> s5-1 fog-color) (-> s4-3 fog-color) (-> s3-1 fog-color) f30-0) + (vector4-lerp! (-> s5-1 fog-dists) (-> s4-3 fog-dists) (-> s3-1 fog-dists) f30-0) + (vector4-lerp! (-> s5-1 erase-color) (-> s4-3 erase-color) (-> s3-1 erase-color) f30-0) ) - (vector4-lerp! - (the-as vector (+ s3-3 0)) - (the-as vector (+ s2-2 0)) - (the-as vector (+ s1-1 0)) - f30-0 + (vector4-lerp! + (-> arg0 current-prt-color) + (-> arg0 moods 0 current-prt-color) + (-> arg0 moods 1 current-prt-color) + f30-0 + ) + (vector4-lerp! + (the-as vector (-> arg0 current-sun)) + (the-as vector (-> arg0 moods 0 current-sun)) + (the-as vector (-> arg0 moods 1 current-sun)) + f30-0 + ) + (vector4-lerp! + (-> arg0 current-sun env-color) + (-> arg0 moods 0 current-sun env-color) + (-> arg0 moods 1 current-sun env-color) + f30-0 + ) + (vector4-lerp! + (-> arg0 current-shadow) + (-> arg0 moods 0 current-shadow) + (-> arg0 moods 1 current-shadow) + f30-0 + ) + (vector4-lerp! + (-> arg0 current-shadow-color) + (-> arg0 moods 0 current-shadow-color) + (-> arg0 moods 1 current-shadow-color) + f30-0 + ) + (dotimes (s4-4 8) + (dotimes (s3-2 3) + (let ((s2-1 (+ (+ (* 48 s3-2) 156 (* 192 s4-4)) (the-as int arg0)))) + (let ((s1-0 (+ (+ (* 48 s3-2) 156 (* 192 s4-4)) (the-as int (-> arg0 moods 0)))) + (s0-0 (+ (+ (* 48 s3-2) 156 (* 192 s4-4)) (the-as int (-> arg0 moods 1)))) + ) + (vector4-lerp! (the-as vector (+ s2-1 0)) (the-as vector (+ s1-0 0)) (the-as vector (+ s0-0 0)) f30-0) + (vector4-lerp! (the-as vector (+ s2-1 16)) (the-as vector (+ s1-0 16)) (the-as vector (+ s0-0 16)) f30-0) + (vector4-lerp! (the-as vector (+ s2-1 32)) (the-as vector (+ s1-0 32)) (the-as vector (+ s0-0 32)) f30-0) + ) + (vector-normalize! (the-as vector (+ s2-1 0)) 1.0) + ) + ) + (let ((s3-3 (+ (the-as uint (-> arg0 light-group 0 ambi)) (* 192 s4-4))) + (s2-2 (+ (the-as uint (-> arg0 moods 0 light-group 0 ambi)) (* 192 s4-4))) + (s1-1 (+ (the-as uint (-> arg0 moods 1 light-group 0 ambi)) (* 192 s4-4))) + ) + (vector4-lerp! (the-as vector (+ s3-3 0)) (the-as vector (+ s2-2 0)) (the-as vector (+ s1-1 0)) f30-0) + (vector4-lerp! (the-as vector (+ s3-3 16)) (the-as vector (+ s2-2 16)) (the-as vector (+ s1-1 16)) f30-0) + (vector4-lerp! (the-as vector (+ s3-3 32)) (the-as vector (+ s2-2 32)) (the-as vector (+ s1-1 32)) f30-0) + ) + ) + (set! (-> arg0 num-stars) + (+ (-> arg0 moods 0 num-stars) (* (- (-> arg0 moods 1 num-stars) (-> arg0 moods 0 num-stars)) f30-0)) + ) + (let ((f0-20 (-> *level* level0 info sun-fade))) + (set! (-> arg0 sun-fade) (+ f0-20 (* f30-0 (- (-> *level* level1 info sun-fade) f0-20)))) + ) + ) ) - (vector4-lerp! - (the-as vector (+ s3-3 16)) - (the-as vector (+ s2-2 16)) - (the-as vector (+ s1-1 16)) - f30-0 + (dotimes (s4-5 2) + (make-sky-textures arg0 s4-5) ) - (vector4-lerp! - (the-as vector (+ s3-3 32)) - (the-as vector (+ s2-2 32)) - (the-as vector (+ s1-1 32)) - f30-0 - ) - ) + (set! (-> sky-base-polygons 0 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 1 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 2 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 3 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 4 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 5 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 6 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 7 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 8 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 9 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 10 col quad) (-> s5-1 erase-color quad)) + (set! (-> sky-base-polygons 11 col quad) (-> s5-1 erase-color quad)) ) - (set! - (-> arg0 num-stars) - (+ - (-> arg0 moods 0 num-stars) - (* (- (-> arg0 moods 1 num-stars) (-> arg0 moods 0 num-stars)) f30-0) - ) - ) - (let ((f0-20 (-> *level* level0 info sun-fade))) - (set! - (-> arg0 sun-fade) - (+ f0-20 (* f30-0 (- (-> *level* level1 info sun-fade) f0-20))) - ) - ) - ) ) - (dotimes (s4-5 2) - (make-sky-textures arg0 s4-5) - ) - (set! (-> sky-base-polygons 0 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 1 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 2 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 3 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 4 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 5 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 6 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 7 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 8 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 9 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 10 col quad) (-> s5-1 erase-color quad)) - (set! (-> sky-base-polygons 11 col quad) (-> s5-1 erase-color quad)) - ) ) - ) - (set! - (-> arg0 current-sun env-color x) - (* 0.5019608 (-> arg0 current-sun env-color x)) - ) - (set! - (-> arg0 current-sun env-color y) - (* 0.5019608 (-> arg0 current-sun env-color y)) - ) - (set! - (-> arg0 current-sun env-color z) - (* 0.5019608 (-> arg0 current-sun env-color z)) - ) - (set! - (-> arg0 current-sun env-color w) - (* 0.5019608 (-> arg0 current-sun env-color w)) - ) + (set! (-> arg0 current-sun env-color x) (* 0.5019608 (-> arg0 current-sun env-color x))) + (set! (-> arg0 current-sun env-color y) (* 0.5019608 (-> arg0 current-sun env-color y))) + (set! (-> arg0 current-sun env-color z) (* 0.5019608 (-> arg0 current-sun env-color z))) + (set! (-> arg0 current-sun env-color w) (* 0.5019608 (-> arg0 current-sun env-color w))) (let ((v1-179 (-> arg0 current-fog))) - (set! - *fog-color* - (new 'static 'rgba - :r (the int (-> v1-179 fog-color x)) - :g (the int (-> v1-179 fog-color y)) - :b (the int (-> v1-179 fog-color z)) - ) + (set! *fog-color* (new 'static 'rgba + :r (the int (-> v1-179 fog-color x)) + :g (the int (-> v1-179 fog-color y)) + :b (the int (-> v1-179 fog-color z)) + ) + ) ) - ) (let ((v1-184 (-> arg0 current-fog erase-color))) - (set! - (-> arg0 erase-color) - (new 'static 'rgba - :a #x80 - :b (the int (-> v1-184 z)) - :g (the int (-> v1-184 y)) - :r (the int (-> v1-184 x)) - ) + (set! (-> arg0 erase-color) + (new 'static 'rgba :a #x80 :b (the int (-> v1-184 z)) :g (the int (-> v1-184 y)) :r (the int (-> v1-184 x))) + ) ) - ) (set! (-> *math-camera* fog-start) (-> arg0 current-fog fog-dists x)) (set! (-> *math-camera* fog-end) (-> arg0 current-fog fog-dists y)) (set! (-> *math-camera* fog-max) (-> arg0 current-fog fog-dists z)) @@ -684,70 +523,58 @@ (s4-6 (-> arg0 light-group)) (s5-2 (-> arg0 light-group v1-195)) ) - (when (nonzero? v1-195) - (cond - ((= f30-1 1.0) - ) - ((= f30-1 0.0) - (quad-copy! - (the-as pointer (-> arg0 light-group v1-195)) - (the-as pointer (-> arg0 light-group)) - 12 - ) - ) - (else - (dotimes (s3-4 4) - (vector4-lerp! - (the-as vector (+ (the-as uint (-> s5-2 dir0)) (* 48 s3-4))) - (the-as vector (+ (the-as uint (-> s4-6 0)) (* 48 s3-4))) - (the-as vector (+ (the-as uint (-> s5-2 dir0)) (* 48 s3-4))) - f30-1 + (when (nonzero? v1-195) + (cond + ((= f30-1 1.0) + ) + ((= f30-1 0.0) + (quad-copy! (the-as pointer (-> arg0 light-group v1-195)) (the-as pointer (-> arg0 light-group)) 12) + ) + (else + (dotimes (s3-4 4) + (vector4-lerp! + (the-as vector (+ (the-as uint (-> s5-2 dir0)) (* 48 s3-4))) + (the-as vector (+ (the-as uint (-> s4-6 0)) (* 48 s3-4))) + (the-as vector (+ (the-as uint (-> s5-2 dir0)) (* 48 s3-4))) + f30-1 + ) + (vector4-lerp! + (the-as vector (+ (the-as uint (-> s5-2 dir0 color)) (* 48 s3-4))) + (the-as vector (+ (the-as uint (-> s4-6 0 dir0 color)) (* 48 s3-4))) + (the-as vector (+ (the-as uint (-> s5-2 dir0 color)) (* 48 s3-4))) + f30-1 + ) + (vector4-lerp! + (the-as vector (+ (the-as uint (-> s5-2 dir0 levels)) (* 48 s3-4))) + (the-as vector (+ (the-as uint (-> s4-6 0 dir0 levels)) (* 48 s3-4))) + (the-as vector (+ (the-as uint (-> s5-2 dir0 levels)) (* 48 s3-4))) + f30-1 + ) + (vector-normalize! (the-as vector (+ (the-as uint (-> s5-2 dir0)) (* 48 s3-4))) 1.0) + ) + ) ) - (vector4-lerp! - (the-as vector (+ (the-as uint (-> s5-2 dir0 color)) (* 48 s3-4))) - (the-as vector (+ (the-as uint (-> s4-6 0 dir0 color)) (* 48 s3-4))) - (the-as vector (+ (the-as uint (-> s5-2 dir0 color)) (* 48 s3-4))) - f30-1 + (let ((a2-30 (new 'stack-no-clear 'vector))) + (set! (-> a2-30 x) (- (-> s5-2 dir0 direction x))) + (set! (-> a2-30 y) (- (-> s5-2 dir0 direction y))) + (set! (-> a2-30 z) (- (-> s5-2 dir0 direction z))) + (when (< (-> s5-2 dir0 direction y) 0.9063) + (let* ((f0-56 0.4226) + (f1-17 (-> a2-30 x)) + (f1-19 (* f1-17 f1-17)) + (f2-7 (-> a2-30 z)) + (f0-57 (/ f0-56 (sqrtf (+ f1-19 (* f2-7 f2-7))))) + ) + (set! (-> a2-30 x) (* (-> a2-30 x) f0-57)) + (set! (-> a2-30 y) -0.9063) + (set! (-> a2-30 z) (* (-> a2-30 z) f0-57)) + ) + ) + (vector4-lerp! (-> arg0 current-shadow) (-> arg0 current-shadow) a2-30 f30-1) ) - (vector4-lerp! - (the-as vector (+ (the-as uint (-> s5-2 dir0 levels)) (* 48 s3-4))) - (the-as vector (+ (the-as uint (-> s4-6 0 dir0 levels)) (* 48 s3-4))) - (the-as vector (+ (the-as uint (-> s5-2 dir0 levels)) (* 48 s3-4))) - f30-1 - ) - (vector-normalize! - (the-as vector (+ (the-as uint (-> s5-2 dir0)) (* 48 s3-4))) - 1.0 - ) - ) + (vector-normalize! (-> arg0 current-shadow) 1.0) ) - ) - (let ((a2-30 (new 'stack-no-clear 'vector))) - (set! (-> a2-30 x) (- (-> s5-2 dir0 direction x))) - (set! (-> a2-30 y) (- (-> s5-2 dir0 direction y))) - (set! (-> a2-30 z) (- (-> s5-2 dir0 direction z))) - (when (< (-> s5-2 dir0 direction y) 0.9063) - (let* ((f0-56 0.4226) - (f1-17 (-> a2-30 x)) - (f1-19 (* f1-17 f1-17)) - (f2-7 (-> a2-30 z)) - (f0-57 (/ f0-56 (sqrtf (+ f1-19 (* f2-7 f2-7))))) - ) - (set! (-> a2-30 x) (* (-> a2-30 x) f0-57)) - (set! (-> a2-30 y) -0.9063) - (set! (-> a2-30 z) (* (-> a2-30 z) f0-57)) - ) - ) - (vector4-lerp! - (-> arg0 current-shadow) - (-> arg0 current-shadow) - a2-30 - f30-1 - ) - ) - (vector-normalize! (-> arg0 current-shadow) 1.0) ) - ) (reset! *palette-fade-controls*) 0 (none) @@ -755,50 +582,38 @@ ;; definition for method 10 of type palette-fade-controls ;; Used lq/sq -(defmethod - set-fade! - palette-fade-controls - ((obj palette-fade-controls) - (arg0 int) - (arg1 float) - (arg2 float) - (arg3 vector) - ) +(defmethod set-fade! palette-fade-controls ((obj palette-fade-controls) (arg0 int) (arg1 float) (arg2 float) (arg3 vector)) (cond - ((and (>= arg0 0) (< arg0 8)) - (let ((v1-3 (-> obj control arg0))) - (when (< arg2 (-> v1-3 actor-dist)) - (if arg3 - (set! (-> v1-3 trans quad) (-> arg3 quad)) + ((and (>= arg0 0) (< arg0 8)) + (let ((v1-3 (-> obj control arg0))) + (when (< arg2 (-> v1-3 actor-dist)) + (if arg3 + (set! (-> v1-3 trans quad) (-> arg3 quad)) + ) + (set! (-> v1-3 fade) (fmax 0.0 (fmin 1.993 arg1))) + (let ((f0-3 arg2)) + (set! (-> v1-3 actor-dist) f0-3) + f0-3 + ) + ) ) - (set! (-> v1-3 fade) (fmax 0.0 (fmin 1.993 arg1))) - (let ((f0-3 arg2)) - (set! (-> v1-3 actor-dist) f0-3) - f0-3 - ) - ) ) + (else + (format 0 "ERROR: Bogus palette-fade-control index!~%") + ) ) - (else - (format 0 "ERROR: Bogus palette-fade-control index!~%") - ) - ) ) ;; definition for method 9 of type palette-fade-controls (defmethod reset! palette-fade-controls ((obj palette-fade-controls)) (countdown (v1-0 8) - (let ((a1-2 (-> obj control v1-0))) - (set! (-> a1-2 fade) 0.0) - (set! (-> a1-2 actor-dist) 4096000000.0) + (let ((a1-2 (-> obj control v1-0))) + (set! (-> a1-2 fade) 0.0) + (set! (-> a1-2 actor-dist) 4096000000.0) + ) ) - ) #f ) ;; failed to figure out what this is: (start-time-of-day) - - - - diff --git a/test/decompiler/reference/engine/gfx/vis/bsp-h_REF.gc b/test/decompiler/reference/engine/gfx/vis/bsp-h_REF.gc index 13864502b7..47ec13726c 100644 --- a/test/decompiler/reference/engine/gfx/vis/bsp-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/vis/bsp-h_REF.gc @@ -104,16 +104,8 @@ (format #t "[~8x] ~A~%" obj 'view-frustum) (format #t "~Thither-top-left: #~%" (-> obj hither-top-left)) (format #t "~Thither-top-right: #~%" (-> obj hither-top-right)) - (format - #t - "~Thither-bottom-left: #~%" - (-> obj hither-bottom-left) - ) - (format - #t - "~Thither-bottom-right: #~%" - (-> obj hither-bottom-right) - ) + (format #t "~Thither-bottom-left: #~%" (-> obj hither-bottom-left)) + (format #t "~Thither-bottom-right: #~%" (-> obj hither-bottom-right)) (format #t "~Tyon-top-left: #~%" (-> obj yon-top-left)) (format #t "~Tyon-top-right: #~%" (-> obj yon-top-right)) (format #t "~Tyon-bottom-left: #~%" (-> obj yon-bottom-left)) @@ -137,47 +129,45 @@ ;; INFO: Return type mismatch bsp-header vs none. (defun-debug inspect-bsp-tree ((arg0 bsp-header) (arg1 bsp-node)) (cond - ((zero? arg1) - ) - (else - (format #t "_#x~X________________~%" arg1) - (inspect arg1) - (let ((s4-0 *print-column*)) - (set! *print-column* (+ *print-column* 64)) - (if (> (-> arg1 front) 0) - (inspect-bsp-tree arg0 (the-as bsp-node (-> arg1 front))) - (format #t "_#x~X________________~%" arg1) - ) - (if (> (-> arg1 back) 0) - (inspect-bsp-tree arg0 (the-as bsp-node (-> arg1 back))) - (format #t "_#x~X________________~%" arg1) - ) - (set! *print-column* s4-0) + ((zero? arg1) ) + (else + (format #t "_#x~X________________~%" arg1) + (inspect arg1) + (let ((s4-0 *print-column*)) + (set! *print-column* (+ *print-column* 64)) + (if (> (-> arg1 front) 0) + (inspect-bsp-tree arg0 (the-as bsp-node (-> arg1 front))) + (format #t "_#x~X________________~%" arg1) + ) + (if (> (-> arg1 back) 0) + (inspect-bsp-tree arg0 (the-as bsp-node (-> arg1 back))) + (format #t "_#x~X________________~%" arg1) + ) + (set! *print-column* s4-0) + ) + ) ) - ) (none) ) ;; definition for function map-bsp-tree ;; INFO: Return type mismatch bsp-header vs none. -(defun - map-bsp-tree - ((arg0 (function bsp-node none)) (arg1 bsp-header) (arg2 bsp-node)) +(defun map-bsp-tree ((arg0 (function bsp-node none)) (arg1 bsp-header) (arg2 bsp-node)) (cond - ((zero? arg2) - ) - (else - (if (> (-> arg2 front) 0) - (map-bsp-tree arg0 arg1 (the-as bsp-node (-> arg2 front))) - (arg0 arg2) - ) - (if (> (-> arg2 back) 0) - (map-bsp-tree arg0 arg1 (the-as bsp-node (-> arg2 back))) - (arg0 arg2) + ((zero? arg2) ) + (else + (if (> (-> arg2 front) 0) + (map-bsp-tree arg0 arg1 (the-as bsp-node (-> arg2 front))) + (arg0 arg2) + ) + (if (> (-> arg2 back) 0) + (map-bsp-tree arg0 arg1 (the-as bsp-node (-> arg2 back))) + (arg0 arg2) + ) + ) ) - ) (none) ) @@ -226,16 +216,8 @@ (format #t "~Tnodes: ~D~%" (-> obj nodes)) (format #t "~Tcalls: ~D~%" (-> obj calls)) (format #t "~Ttotal-target: #~%" (-> obj total-target)) - (format - #t - "~Ttarget-cache-fill: #~%" - (-> obj target-cache-fill) - ) - (format - #t - "~Ttarget-ray-poly: #~%" - (-> obj target-ray-poly) - ) + (format #t "~Ttarget-cache-fill: #~%" (-> obj target-cache-fill)) + (format #t "~Ttarget-ray-poly: #~%" (-> obj target-ray-poly)) obj ) diff --git a/test/decompiler/reference/engine/gfx/vis/bsp_REF.gc b/test/decompiler/reference/engine/gfx/vis/bsp_REF.gc index bac83641c8..a4a1b6016f 100644 --- a/test/decompiler/reference/engine/gfx/vis/bsp_REF.gc +++ b/test/decompiler/reference/engine/gfx/vis/bsp_REF.gc @@ -3,47 +3,42 @@ ;; definition for function mem-usage-bsp-tree ;; INFO: Return type mismatch bsp-header vs none. -(defun - mem-usage-bsp-tree - ((header bsp-header) (node bsp-node) (mem-use memory-usage-block) (flags int)) +(defun mem-usage-bsp-tree ((header bsp-header) (node bsp-node) (mem-use memory-usage-block) (flags int)) (cond - ((zero? node) + ((zero? node) + ) + (else + (+! (-> mem-use data 58 count) 1) + (let ((v1-3 32)) + (+! (-> mem-use data 58 used) v1-3) + (+! (-> mem-use data 58 total) (logand -16 (+ v1-3 15))) + ) + (if (> (-> node front) 0) + (mem-usage-bsp-tree header (the-as bsp-node (-> node front)) mem-use flags) + ) + (if (> (-> node back) 0) + (mem-usage-bsp-tree header (the-as bsp-node (-> node back)) mem-use flags) + ) + ) ) - (else - (+! (-> mem-use data 58 count) 1) - (let ((v1-3 32)) - (+! (-> mem-use data 58 used) v1-3) - (+! (-> mem-use data 58 total) (logand -16 (+ v1-3 15))) - ) - (if (> (-> node front) 0) - (mem-usage-bsp-tree header (the-as bsp-node (-> node front)) mem-use flags) - ) - (if (> (-> node back) 0) - (mem-usage-bsp-tree header (the-as bsp-node (-> node back)) mem-use flags) - ) - ) - ) (none) ) ;; definition for method 8 of type bsp-header -(defmethod - mem-usage - bsp-header - ((obj bsp-header) (mem-use memory-usage-block) (flags int)) +(defmethod mem-usage bsp-header ((obj bsp-header) (mem-use memory-usage-block) (flags int)) (set! (-> mem-use work-bsp) obj) (when (nonzero? (-> obj info)) - (set! (-> mem-use length) (max 82 (-> mem-use length))) - (set! (-> mem-use data 81 name) "array") - (+! (-> mem-use data 81 count) 1) - (let ((v1-8 (asize-of (-> obj info)))) - (+! (-> mem-use data 81 used) v1-8) - (+! (-> mem-use data 81 total) (logand -16 (+ v1-8 15))) + (set! (-> mem-use length) (max 82 (-> mem-use length))) + (set! (-> mem-use data 81 name) "array") + (+! (-> mem-use data 81 count) 1) + (let ((v1-8 (asize-of (-> obj info)))) + (+! (-> mem-use data 81 used) v1-8) + (+! (-> mem-use data 81 total) (logand -16 (+ v1-8 15))) + ) ) - ) (if (nonzero? (-> obj drawable-trees)) - (mem-usage (-> obj drawable-trees) mem-use flags) - ) + (mem-usage (-> obj drawable-trees) mem-use flags) + ) (set! (-> mem-use length) (max 63 (-> mem-use length))) (set! (-> mem-use data 43 name) "entity") (set! (-> mem-use data 44 name) "camera") @@ -53,87 +48,87 @@ (set! (-> mem-use data 56 name) "bsp-main") (+! (-> mem-use data 56 count) 1) (let ((v1-27 400)) - (+! (-> mem-use data 56 used) v1-27) - (+! (-> mem-use data 56 total) (logand -16 (+ v1-27 15))) - ) + (+! (-> mem-use data 56 used) v1-27) + (+! (-> mem-use data 56 total) (logand -16 (+ v1-27 15))) + ) (set! (-> mem-use length) (max 60 (-> mem-use length))) (set! (-> mem-use data 59 name) "bsp-leaf-vis-self") (+! (-> mem-use data 59 count) 1) (let ((v1-36 (-> obj visible-list-length))) - (+! (-> mem-use data 59 used) v1-36) - (+! (-> mem-use data 59 total) (logand -16 (+ v1-36 15))) - ) + (+! (-> mem-use data 59 used) v1-36) + (+! (-> mem-use data 59 total) (logand -16 (+ v1-36 15))) + ) (set! (-> mem-use length) (max 58 (-> mem-use length))) (set! (-> mem-use data 57 name) "bsp-misc") (+! (-> mem-use data 57 count) 1) (let ((v1-46 (* (-> obj texture-remap-table-len) 8))) - (+! (-> mem-use data 57 used) v1-46) - (+! (-> mem-use data 57 total) (logand -16 (+ v1-46 15))) - ) + (+! (-> mem-use data 57 used) v1-46) + (+! (-> mem-use data 57 total) (logand -16 (+ v1-46 15))) + ) (set! (-> mem-use length) (max 58 (-> mem-use length))) (set! (-> mem-use data 57 name) "bsp-misc") (+! (-> mem-use data 57 count) 1) (let ((v1-56 (* (-> obj texture-page-count) 4))) - (+! (-> mem-use data 57 used) v1-56) - (+! (-> mem-use data 57 total) (logand -16 (+ v1-56 15))) - ) + (+! (-> mem-use data 57 used) v1-56) + (+! (-> mem-use data 57 total) (logand -16 (+ v1-56 15))) + ) (when (nonzero? (-> obj unk-zero-0)) - (set! (-> mem-use length) (max 58 (-> mem-use length))) - (set! (-> mem-use data 57 name) "bsp-misc") - (+! (-> mem-use data 57 count) 1) - (let ((v1-68 (asize-of (-> obj unk-zero-0)))) - (+! (-> mem-use data 57 used) v1-68) - (+! (-> mem-use data 57 total) (logand -16 (+ v1-68 15))) - ) - ) - (when (nonzero? (-> obj adgifs)) - (set! (-> mem-use length) (max 58 (-> mem-use length))) - (set! (-> mem-use data 57 name) "bsp-misc") - (+! (-> mem-use data 57 count) 1) - (let ((v1-80 (asize-of (-> obj adgifs)))) - (+! (-> mem-use data 57 used) v1-80) - (+! (-> mem-use data 57 total) (logand -16 (+ v1-80 15))) - ) - ) - (when (nonzero? (-> obj boxes)) - (set! (-> mem-use length) (max 58 (-> mem-use length))) - (set! (-> mem-use data 57 name) "bsp-misc") - (+! (-> mem-use data 57 count) 1) - (let ((v1-92 (asize-of (-> obj boxes)))) - (+! (-> mem-use data 57 used) v1-92) - (+! (-> mem-use data 57 total) (logand -16 (+ v1-92 15))) - ) - (when (nonzero? (-> obj split-box-indices)) (set! (-> mem-use length) (max 58 (-> mem-use length))) (set! (-> mem-use data 57 name) "bsp-misc") (+! (-> mem-use data 57 count) 1) - (let ((v1-105 (* (-> obj boxes length) 2))) - (+! (-> mem-use data 57 used) v1-105) - (+! (-> mem-use data 57 total) (logand -16 (+ v1-105 15))) - ) + (let ((v1-68 (asize-of (-> obj unk-zero-0)))) + (+! (-> mem-use data 57 used) v1-68) + (+! (-> mem-use data 57 total) (logand -16 (+ v1-68 15))) + ) + ) + (when (nonzero? (-> obj adgifs)) + (set! (-> mem-use length) (max 58 (-> mem-use length))) + (set! (-> mem-use data 57 name) "bsp-misc") + (+! (-> mem-use data 57 count) 1) + (let ((v1-80 (asize-of (-> obj adgifs)))) + (+! (-> mem-use data 57 used) v1-80) + (+! (-> mem-use data 57 total) (logand -16 (+ v1-80 15))) + ) + ) + (when (nonzero? (-> obj boxes)) + (set! (-> mem-use length) (max 58 (-> mem-use length))) + (set! (-> mem-use data 57 name) "bsp-misc") + (+! (-> mem-use data 57 count) 1) + (let ((v1-92 (asize-of (-> obj boxes)))) + (+! (-> mem-use data 57 used) v1-92) + (+! (-> mem-use data 57 total) (logand -16 (+ v1-92 15))) + ) + (when (nonzero? (-> obj split-box-indices)) + (set! (-> mem-use length) (max 58 (-> mem-use length))) + (set! (-> mem-use data 57 name) "bsp-misc") + (+! (-> mem-use data 57 count) 1) + (let ((v1-105 (* (-> obj boxes length) 2))) + (+! (-> mem-use data 57 used) v1-105) + (+! (-> mem-use data 57 total) (logand -16 (+ v1-105 15))) + ) + ) ) - ) (when (nonzero? (-> obj actor-birth-order)) - (set! (-> mem-use length) (max 58 (-> mem-use length))) - (set! (-> mem-use data 57 name) "bsp-misc") - (+! (-> mem-use data 57 count) 1) - (let ((v1-118 (* (-> obj actors length) 4))) - (+! (-> mem-use data 57 used) v1-118) - (+! (-> mem-use data 57 total) (logand -16 (+ v1-118 15))) + (set! (-> mem-use length) (max 58 (-> mem-use length))) + (set! (-> mem-use data 57 name) "bsp-misc") + (+! (-> mem-use data 57 count) 1) + (let ((v1-118 (* (-> obj actors length) 4))) + (+! (-> mem-use data 57 used) v1-118) + (+! (-> mem-use data 57 total) (logand -16 (+ v1-118 15))) + ) ) - ) (+! (-> mem-use data 62 count) (-> obj pat-length)) (let ((v1-125 (* (-> obj pat-length) 4))) - (+! (-> mem-use data 62 used) v1-125) - (+! (-> mem-use data 62 total) (logand -16 (+ v1-125 15))) - ) - (let ((s3-0 (-> obj cameras))) - (when (nonzero? s3-0) - (dotimes (s2-0 (-> s3-0 length)) - (mem-usage (-> s3-0 s2-0) mem-use (logior flags 256)) - ) + (+! (-> mem-use data 62 used) v1-125) + (+! (-> mem-use data 62 total) (logand -16 (+ v1-125 15))) + ) + (let ((s3-0 (-> obj cameras))) + (when (nonzero? s3-0) + (dotimes (s2-0 (-> s3-0 length)) + (mem-usage (-> s3-0 s2-0) mem-use (logior flags 256)) + ) + ) ) - ) (mem-usage-bsp-tree obj (the-as bsp-node (-> obj nodes)) mem-use flags) obj ) @@ -141,15 +136,15 @@ ;; definition for method 9 of type bsp-header (defmethod login bsp-header ((obj bsp-header)) (if (nonzero? (-> obj drawable-trees)) - (login (-> obj drawable-trees)) - ) + (login (-> obj drawable-trees)) + ) (when (nonzero? (-> obj adgifs)) - (let ((s5-0 (-> obj adgifs))) - (dotimes (s4-0 (-> s5-0 length)) - (adgif-shader-login-no-remap (-> s5-0 data s4-0)) - ) + (let ((s5-0 (-> obj adgifs))) + (dotimes (s4-0 (-> s5-0 length)) + (adgif-shader-login-no-remap (-> s5-0 data s4-0)) + ) + ) ) - ) obj ) @@ -158,10 +153,7 @@ ;; definition for method 10 of type bsp-header ;; Used lq/sq -(defmethod - draw - bsp-header - ((obj bsp-header) (other-draw drawable) (disp-frame display-frame)) +(defmethod draw bsp-header ((obj bsp-header) (other-draw drawable) (disp-frame display-frame)) (local-vars (r0-0 uint128) (a3-4 uint128) (a3-5 uint128)) (rlet ((vf16 :class vf) (vf17 :class vf) @@ -180,110 +172,103 @@ (vf30 :class vf) (vf31 :class vf) ) - (let ((lev (-> obj level))) - (set! (-> (the-as terrain-bsp #x70000000) lev-index) (-> lev index)) - (set! (-> (the-as terrain-bsp #x70000000) mood) (-> lev mood)) - (if *artist-use-menu-subdiv* - (update-subdivide-settings! *subdivide-settings* *math-camera* 3) - (update-subdivide-settings! - *subdivide-settings* - *math-camera* - (-> lev index) - ) - ) - (add-irq-to-tex-buckets! lev) - (let ((vis-list-qwc (/ (+ (-> obj visible-list-length) 15) 16))) - (dma-send-to-spr-no-flush - (the-as uint (+ #x38b0 #x70000000)) - (the-as uint (-> lev vis-bits)) - (the-as uint vis-list-qwc) - #f - ) - ) - ) - (when *artist-flip-visible* - (let ((vis-list-qwc2 (/ (+ (-> obj visible-list-length) 15) 16)) - (vis-list-spad (the-as (pointer uint128) (+ #x38b0 #x70000000))) - (vis-list-lev (the-as (pointer uint128) (-> obj all-visible-list))) + (let ((lev (-> obj level))) + (set! (-> (the-as terrain-bsp #x70000000) lev-index) (-> lev index)) + (set! (-> (the-as terrain-bsp #x70000000) mood) (-> lev mood)) + (if *artist-use-menu-subdiv* + (update-subdivide-settings! *subdivide-settings* *math-camera* 3) + (update-subdivide-settings! *subdivide-settings* *math-camera* (-> lev index)) ) - (dotimes (current-qw vis-list-qwc2) - (let ((a3-3 (-> vis-list-spad current-qw))) - (.pnor a3-4 a3-3 r0-0) - ) - (let ((t0-2 (-> vis-list-lev current-qw))) - (.pand a3-5 a3-4 t0-2) - ) - (set! (-> vis-list-spad current-qw) a3-5) + (add-irq-to-tex-buckets! lev) + (let ((vis-list-qwc (/ (+ (-> obj visible-list-length) 15) 16))) + (dma-send-to-spr-no-flush + (the-as uint (+ #x38b0 #x70000000)) + (the-as uint (-> lev vis-bits)) + (the-as uint vis-list-qwc) + #f + ) + ) ) - ) - ) - (let ((at-0 *math-camera*)) - (.lvf vf16 (&-> at-0 plane 0 quad)) - (.lvf vf17 (&-> at-0 plane 1 quad)) - (.lvf vf18 (&-> at-0 plane 2 quad)) - (.lvf vf19 (&-> at-0 plane 3 quad)) - (.lvf vf20 (&-> at-0 shrub-mat vector 0 quad)) - (.lvf vf21 (&-> at-0 shrub-mat vector 1 quad)) - (.lvf vf22 (&-> at-0 shrub-mat vector 2 quad)) - (.lvf vf23 (&-> at-0 shrub-mat vector 3 quad)) - (.lvf vf24 (&-> at-0 camera-rot vector 0 quad)) - (.lvf vf25 (&-> at-0 camera-rot vector 1 quad)) - (.lvf vf26 (&-> at-0 camera-rot vector 2 quad)) - (.lvf vf27 (&-> at-0 camera-rot vector 3 quad)) - (.lvf vf28 (&-> at-0 camera-temp vector 0 quad)) - (.lvf vf29 (&-> at-0 camera-temp vector 1 quad)) - (.lvf vf30 (&-> at-0 camera-temp vector 2 quad)) - (.lvf vf31 (&-> at-0 camera-temp vector 3 quad)) - ) - (when (nonzero? (-> obj drawable-trees)) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) + (when *artist-flip-visible* + (let ((vis-list-qwc2 (/ (+ (-> obj visible-list-length) 15) 16)) + (vis-list-spad (the-as (pointer uint128) (+ #x38b0 #x70000000))) + (vis-list-lev (the-as (pointer uint128) (-> obj all-visible-list))) + ) + (dotimes (current-qw vis-list-qwc2) + (let ((a3-3 (-> vis-list-spad current-qw))) + (.pnor a3-4 a3-3 r0-0) + ) + (let ((t0-2 (-> vis-list-lev current-qw))) + (.pand a3-5 a3-4 t0-2) + ) + (set! (-> vis-list-spad current-qw) a3-5) + ) + ) ) - ) - (let ((a1-7 (-> obj drawable-trees))) - (draw a1-7 a1-7 disp-frame) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :g #xc0 :a #x80) + (let ((at-0 *math-camera*)) + (.lvf vf16 (&-> at-0 plane 0 quad)) + (.lvf vf17 (&-> at-0 plane 1 quad)) + (.lvf vf18 (&-> at-0 plane 2 quad)) + (.lvf vf19 (&-> at-0 plane 3 quad)) + (.lvf vf20 (&-> at-0 shrub-mat vector 0 quad)) + (.lvf vf21 (&-> at-0 shrub-mat vector 1 quad)) + (.lvf vf22 (&-> at-0 shrub-mat vector 2 quad)) + (.lvf vf23 (&-> at-0 shrub-mat vector 3 quad)) + (.lvf vf24 (&-> at-0 camera-rot vector 0 quad)) + (.lvf vf25 (&-> at-0 camera-rot vector 1 quad)) + (.lvf vf26 (&-> at-0 camera-rot vector 2 quad)) + (.lvf vf27 (&-> at-0 camera-rot vector 3 quad)) + (.lvf vf28 (&-> at-0 camera-temp vector 0 quad)) + (.lvf vf29 (&-> at-0 camera-temp vector 1 quad)) + (.lvf vf30 (&-> at-0 camera-temp vector 2 quad)) + (.lvf vf31 (&-> at-0 camera-temp vector 3 quad)) ) - ) + (when (nonzero? (-> obj drawable-trees)) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (let ((a1-7 (-> obj drawable-trees))) + (draw a1-7 a1-7 disp-frame) + ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :g #xc0 :a #x80) + ) + ) + ) + (let ((s5-1 (-> *display* frames (-> *display* on-screen) frame))) + (foreground-engine-execute + (-> obj level foreground-draw-engine 0) + s5-1 + (-> (the-as terrain-bsp #x70000000) lev-index) + 0 + ) + (foreground-engine-execute + (-> obj level foreground-draw-engine 1) + s5-1 + (-> (the-as terrain-bsp #x70000000) lev-index) + 1 + ) + (foreground-engine-execute + (-> obj level foreground-draw-engine 2) + s5-1 + (-> (the-as terrain-bsp #x70000000) lev-index) + 2 + ) + ) + (none) ) - (let ((s5-1 (-> *display* frames (-> *display* on-screen) frame))) - (foreground-engine-execute - (-> obj level foreground-draw-engine 0) - s5-1 - (-> (the-as terrain-bsp #x70000000) lev-index) - 0 - ) - (foreground-engine-execute - (-> obj level foreground-draw-engine 1) - s5-1 - (-> (the-as terrain-bsp #x70000000) lev-index) - 1 - ) - (foreground-engine-execute - (-> obj level foreground-draw-engine 2) - s5-1 - (-> (the-as terrain-bsp #x70000000) lev-index) - 2 - ) - ) - (none) - ) ) ;; definition for method 15 of type bsp-header ;; INFO: Return type mismatch profile-frame vs none. -(defmethod - debug-draw - bsp-header - ((obj bsp-header) (arg0 drawable) (arg1 display-frame)) +(defmethod debug-draw bsp-header ((obj bsp-header) (arg0 drawable) (arg1 display-frame)) (rlet ((vf16 :class vf) (vf17 :class vf) (vf18 :class vf) @@ -301,58 +286,58 @@ (vf30 :class vf) (vf31 :class vf) ) - (let ((s4-0 (-> obj level))) - (set! (-> (the-as terrain-bsp #x70000000) lev-index) (-> s4-0 index)) - (set! (-> (the-as terrain-bsp #x70000000) mood) (-> s4-0 mood)) - (add-irq-to-tex-buckets! s4-0) - (let ((a2-1 (/ (+ (-> obj visible-list-length) 15) 16))) - (dma-send-to-spr-no-flush - (the-as uint (+ #x38b0 #x70000000)) - (the-as uint (-> s4-0 vis-bits)) - (the-as uint a2-1) - #f + (let ((s4-0 (-> obj level))) + (set! (-> (the-as terrain-bsp #x70000000) lev-index) (-> s4-0 index)) + (set! (-> (the-as terrain-bsp #x70000000) mood) (-> s4-0 mood)) + (add-irq-to-tex-buckets! s4-0) + (let ((a2-1 (/ (+ (-> obj visible-list-length) 15) 16))) + (dma-send-to-spr-no-flush + (the-as uint (+ #x38b0 #x70000000)) + (the-as uint (-> s4-0 vis-bits)) + (the-as uint a2-1) + #f + ) + ) ) - ) - ) - (let ((at-0 *math-camera*)) - (.lvf vf16 (&-> at-0 plane 0 quad)) - (.lvf vf17 (&-> at-0 plane 1 quad)) - (.lvf vf18 (&-> at-0 plane 2 quad)) - (.lvf vf19 (&-> at-0 plane 3 quad)) - (.lvf vf20 (&-> at-0 shrub-mat vector 0 quad)) - (.lvf vf21 (&-> at-0 shrub-mat vector 1 quad)) - (.lvf vf22 (&-> at-0 shrub-mat vector 2 quad)) - (.lvf vf23 (&-> at-0 shrub-mat vector 3 quad)) - (.lvf vf24 (&-> at-0 camera-rot vector 0 quad)) - (.lvf vf25 (&-> at-0 camera-rot vector 1 quad)) - (.lvf vf26 (&-> at-0 camera-rot vector 2 quad)) - (.lvf vf27 (&-> at-0 camera-rot vector 3 quad)) - (.lvf vf28 (&-> at-0 camera-temp vector 0 quad)) - (.lvf vf29 (&-> at-0 camera-temp vector 1 quad)) - (.lvf vf30 (&-> at-0 camera-temp vector 2 quad)) - (.lvf vf31 (&-> at-0 camera-temp vector 3 quad)) - ) - (when (nonzero? (-> obj drawable-trees)) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) + (let ((at-0 *math-camera*)) + (.lvf vf16 (&-> at-0 plane 0 quad)) + (.lvf vf17 (&-> at-0 plane 1 quad)) + (.lvf vf18 (&-> at-0 plane 2 quad)) + (.lvf vf19 (&-> at-0 plane 3 quad)) + (.lvf vf20 (&-> at-0 shrub-mat vector 0 quad)) + (.lvf vf21 (&-> at-0 shrub-mat vector 1 quad)) + (.lvf vf22 (&-> at-0 shrub-mat vector 2 quad)) + (.lvf vf23 (&-> at-0 shrub-mat vector 3 quad)) + (.lvf vf24 (&-> at-0 camera-rot vector 0 quad)) + (.lvf vf25 (&-> at-0 camera-rot vector 1 quad)) + (.lvf vf26 (&-> at-0 camera-rot vector 2 quad)) + (.lvf vf27 (&-> at-0 camera-rot vector 3 quad)) + (.lvf vf28 (&-> at-0 camera-temp vector 0 quad)) + (.lvf vf29 (&-> at-0 camera-temp vector 1 quad)) + (.lvf vf30 (&-> at-0 camera-temp vector 2 quad)) + (.lvf vf31 (&-> at-0 camera-temp vector 3 quad)) ) - ) - (let ((a1-3 (-> obj drawable-trees))) - (debug-draw a1-3 a1-3 arg1) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :g #xc0 :a #x80) + (when (nonzero? (-> obj drawable-trees)) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (let ((a1-3 (-> obj drawable-trees))) + (debug-draw a1-3 a1-3 arg1) + ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :g #xc0 :a #x80) + ) + ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 14 of type bsp-header @@ -374,39 +359,39 @@ (vf30 :class vf) (vf31 :class vf) ) - (let ((v1-0 (-> obj level)) - (a2-0 (/ (+ (-> obj visible-list-length) 15) 16)) - ) - (dma-send-to-spr-no-flush - (the-as uint (+ #x38b0 #x70000000)) - (the-as uint (-> v1-0 vis-bits)) - (the-as uint a2-0) - #f - ) + (let ((v1-0 (-> obj level)) + (a2-0 (/ (+ (-> obj visible-list-length) 15) 16)) + ) + (dma-send-to-spr-no-flush + (the-as uint (+ #x38b0 #x70000000)) + (the-as uint (-> v1-0 vis-bits)) + (the-as uint a2-0) + #f + ) + ) + (let ((at-0 *math-camera*)) + (.lvf vf16 (&-> at-0 plane 0 quad)) + (.lvf vf17 (&-> at-0 plane 1 quad)) + (.lvf vf18 (&-> at-0 plane 2 quad)) + (.lvf vf19 (&-> at-0 plane 3 quad)) + (.lvf vf20 (&-> at-0 shrub-mat vector 0 quad)) + (.lvf vf21 (&-> at-0 shrub-mat vector 1 quad)) + (.lvf vf22 (&-> at-0 shrub-mat vector 2 quad)) + (.lvf vf23 (&-> at-0 shrub-mat vector 3 quad)) + (.lvf vf24 (&-> at-0 camera-rot vector 0 quad)) + (.lvf vf25 (&-> at-0 camera-rot vector 1 quad)) + (.lvf vf26 (&-> at-0 camera-rot vector 2 quad)) + (.lvf vf27 (&-> at-0 camera-rot vector 3 quad)) + (.lvf vf28 (&-> at-0 camera-temp vector 0 quad)) + (.lvf vf29 (&-> at-0 camera-temp vector 1 quad)) + (.lvf vf30 (&-> at-0 camera-temp vector 2 quad)) + (.lvf vf31 (&-> at-0 camera-temp vector 3 quad)) + ) + (if (nonzero? (-> obj drawable-trees)) + (collect-stats (-> obj drawable-trees)) + ) + (none) ) - (let ((at-0 *math-camera*)) - (.lvf vf16 (&-> at-0 plane 0 quad)) - (.lvf vf17 (&-> at-0 plane 1 quad)) - (.lvf vf18 (&-> at-0 plane 2 quad)) - (.lvf vf19 (&-> at-0 plane 3 quad)) - (.lvf vf20 (&-> at-0 shrub-mat vector 0 quad)) - (.lvf vf21 (&-> at-0 shrub-mat vector 1 quad)) - (.lvf vf22 (&-> at-0 shrub-mat vector 2 quad)) - (.lvf vf23 (&-> at-0 shrub-mat vector 3 quad)) - (.lvf vf24 (&-> at-0 camera-rot vector 0 quad)) - (.lvf vf25 (&-> at-0 camera-rot vector 1 quad)) - (.lvf vf26 (&-> at-0 camera-rot vector 2 quad)) - (.lvf vf27 (&-> at-0 camera-rot vector 3 quad)) - (.lvf vf28 (&-> at-0 camera-temp vector 0 quad)) - (.lvf vf29 (&-> at-0 camera-temp vector 1 quad)) - (.lvf vf30 (&-> at-0 camera-temp vector 2 quad)) - (.lvf vf31 (&-> at-0 camera-temp vector 3 quad)) - ) - (if (nonzero? (-> obj drawable-trees)) - (collect-stats (-> obj drawable-trees)) - ) - (none) - ) ) ;; definition for function bsp-camera-asm @@ -417,92 +402,75 @@ (rlet ((vf1 :class vf) (vf2 :class vf) ) - (nop!) - (let ((next-node (the-as bsp-node (-> bsp-hdr nodes)))) - (.lvf vf1 (&-> camera-pos quad)) - (label cfg-1) - (b! (< (the-as int next-node) 0) cfg-4 :delay (set! real-node next-node)) - (.lvf vf2 (&-> real-node plane quad)) - (.mul.vf vf2 vf2 vf1 :mask #b111) - (.add.x.vf vf2 vf2 vf2 :mask #b10) - (.add.z.vf vf2 vf2 vf2 :mask #b10) - (.sub.w.vf vf2 vf2 vf2 :mask #b10) - (.mov v1-1 vf2) - (let ((a2-0 (-> real-node front-flags))) - (b! - (>= (the-as int v1-1) 0) - cfg-1 - :delay - (set! next-node (the-as bsp-node (-> real-node front))) + (nop!) + (let ((next-node (the-as bsp-node (-> bsp-hdr nodes)))) + (.lvf vf1 (&-> camera-pos quad)) + (label cfg-1) + (b! (< (the-as int next-node) 0) cfg-4 :delay (set! real-node next-node)) + (.lvf vf2 (&-> real-node plane quad)) + (.mul.vf vf2 vf2 vf1 :mask #b111) + (.add.x.vf vf2 vf2 vf2 :mask #b10) + (.add.z.vf vf2 vf2 vf2 :mask #b10) + (.sub.w.vf vf2 vf2 vf2 :mask #b10) + (.mov v1-1 vf2) + (let ((a2-0 (-> real-node front-flags))) + (b! (>= (the-as int v1-1) 0) cfg-1 :delay (set! next-node (the-as bsp-node (-> real-node front)))) + (set! a2-0 (-> real-node back-flags)) + (b! #t cfg-1 :delay (set! next-node (the-as bsp-node (-> real-node back)))) + (label cfg-4) + (set! (-> bsp-hdr current-leaf-idx) (the-as uint next-node)) + (set! (-> bsp-hdr current-bsp-back-flags) a2-0) + ) ) - (set! a2-0 (-> real-node back-flags)) - (b! #t cfg-1 :delay (set! next-node (the-as bsp-node (-> real-node back)))) - (label cfg-4) - (set! (-> bsp-hdr current-leaf-idx) (the-as uint next-node)) - (set! (-> bsp-hdr current-bsp-back-flags) a2-0) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for method 11 of type bsp-header ;; INFO: Return type mismatch symbol vs none. -(defmethod - collide-with-box - bsp-header - ((obj bsp-header) (arg0 int) (arg1 collide-list)) +(defmethod collide-with-box bsp-header ((obj bsp-header) (arg0 int) (arg1 collide-list)) (+! (-> *collide-stats* calls) 1) (let ((s4-0 (-> obj drawable-trees))) - (dotimes (s3-0 (-> s4-0 length)) - (collide-with-box (-> s4-0 trees s3-0) arg0 arg1) + (dotimes (s3-0 (-> s4-0 length)) + (collide-with-box (-> s4-0 trees s3-0) arg0 arg1) + ) ) - ) (none) ) ;; definition for method 12 of type bsp-header ;; INFO: Return type mismatch symbol vs none. -(defmethod - collide-y-probe - bsp-header - ((obj bsp-header) (arg0 int) (arg1 collide-list)) +(defmethod collide-y-probe bsp-header ((obj bsp-header) (arg0 int) (arg1 collide-list)) (+! (-> *collide-stats* calls) 1) (let ((s4-0 (-> obj drawable-trees))) - (dotimes (s3-0 (-> s4-0 length)) - (collide-y-probe (-> s4-0 trees s3-0) arg0 arg1) + (dotimes (s3-0 (-> s4-0 length)) + (collide-y-probe (-> s4-0 trees s3-0) arg0 arg1) + ) ) - ) (none) ) ;; definition for method 13 of type bsp-header ;; INFO: Return type mismatch symbol vs none. -(defmethod - collide-ray - bsp-header - ((obj bsp-header) (arg0 int) (arg1 collide-list)) +(defmethod collide-ray bsp-header ((obj bsp-header) (arg0 int) (arg1 collide-list)) (+! (-> *collide-stats* calls) 1) (let ((s4-0 (-> obj drawable-trees))) - (dotimes (s3-0 (-> s4-0 length)) - (collide-ray (-> s4-0 trees s3-0) arg0 arg1) + (dotimes (s3-0 (-> s4-0 length)) + (collide-ray (-> s4-0 trees s3-0) arg0 arg1) + ) ) - ) (none) ) ;; definition for method 17 of type bsp-header ;; INFO: Return type mismatch symbol vs none. -(defmethod - collect-ambients - bsp-header - ((obj bsp-header) (arg0 sphere) (arg1 int) (arg2 ambient-list)) +(defmethod collect-ambients bsp-header ((obj bsp-header) (arg0 sphere) (arg1 int) (arg2 ambient-list)) (let ((s3-0 (-> obj drawable-trees))) - (dotimes (s2-0 (-> s3-0 length)) - (collect-ambients (-> s3-0 trees s2-0) arg0 arg1 arg2) + (dotimes (s2-0 (-> s3-0 length)) + (collect-ambients (-> s3-0 trees s2-0) arg0 arg1 arg2) + ) ) - ) (none) ) @@ -520,21 +488,21 @@ ;; INFO: Return type mismatch uint vs none. (defun print-cl-stat ((arg0 cl-stat) (arg1 string)) (when (nonzero? (+ (-> arg0 fragments) (-> arg0 tris))) - (format - *stdcon* - "~0k~5d/~d ~6d/~d ~6d/~d " - (-> arg0 fragments) - (/ (-> arg0 fragments) (-> *collide-stats* calls)) - (-> arg0 tris) - (/ (-> arg0 tris) (-> *collide-stats* calls)) - (-> arg0 output) - (/ (-> arg0 output) (-> *collide-stats* calls)) + (format + *stdcon* + "~0k~5d/~d ~6d/~d ~6d/~d " + (-> arg0 fragments) + (/ (-> arg0 fragments) (-> *collide-stats* calls)) + (-> arg0 tris) + (/ (-> arg0 tris) (-> *collide-stats* calls)) + (-> arg0 output) + (/ (-> arg0 output) (-> *collide-stats* calls)) + ) + (format *stdcon* "~0k~s~%" arg1) + (+! (-> *collide-stats* total fragments) (-> arg0 fragments)) + (+! (-> *collide-stats* total tris) (-> arg0 tris)) + (+! (-> *collide-stats* total output) (-> arg0 output)) ) - (format *stdcon* "~0k~s~%" arg1) - (+! (-> *collide-stats* total fragments) (-> arg0 fragments)) - (+! (-> *collide-stats* total tris) (-> arg0 tris)) - (+! (-> *collide-stats* total output) (-> arg0 output)) - ) (none) ) @@ -542,38 +510,25 @@ ;; INFO: Return type mismatch int vs none. (defun print-collide-stats () (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) (format *stdcon* "~0k frags tris output~%") (print-cl-stat (-> *collide-stats* other) "other") - (format - *stdcon* - "~0k---------------------------------------------------------------~%" - ) + (format *stdcon* "~0k---------------------------------------------------------------~%") (print-cl-stat (-> *collide-stats* total) "total") (format *stdcon* "~0kcalls = ~d~%" (-> *collide-stats* calls)) (let ((gp-0 (stopwatch-elapsed-ticks (-> *collide-stats* total-target))) (s4-0 (stopwatch-elapsed-ticks (-> *collide-stats* target-cache-fill))) (s5-0 (stopwatch-elapsed-ticks (-> *collide-stats* target-ray-poly))) ) - (format *stdcon* "~0ktotal-target ~D~%" gp-0) - (format - *stdcon* - "~0ktarget-cache-fill ~D ~0,,2f%~%" - s4-0 - (/ (* 100.0 (the float s4-0)) (the float gp-0)) + (format *stdcon* "~0ktotal-target ~D~%" gp-0) + (format *stdcon* "~0ktarget-cache-fill ~D ~0,,2f%~%" s4-0 (/ (* 100.0 (the float s4-0)) (the float gp-0))) + (format *stdcon* "~0ktarget-ray-poly ~D ~0,,2f%~%" s5-0 (/ (* 100.0 (the float s5-0)) (the float gp-0))) ) - (format - *stdcon* - "~0ktarget-ray-poly ~D ~0,,2f%~%" - s5-0 - (/ (* 100.0 (the float s5-0)) (the float gp-0)) - ) - ) (clear-cl-stat (-> *collide-stats* other)) (clear-cl-stat (-> *collide-stats* total)) (set! *collide-nodes* 0) @@ -582,12 +537,12 @@ (stopwatch-init (-> *collide-stats* target-cache-fill)) (stopwatch-init (-> *collide-stats* target-ray-poly)) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :b #xff :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :b #xff :a #x80) + ) + ) 0 (none) ) @@ -596,74 +551,36 @@ ;; INFO: Return type mismatch int vs texture-id. (defun level-remap-texture ((tex-id texture-id)) (let ((bsp-hdr (-> *level* log-in-level-bsp))) - (when bsp-hdr - (let* ((table-size (-> bsp-hdr texture-remap-table-len)) - (table-data-start (-> bsp-hdr texture-remap-table)) - (table-data-ptr table-data-start) - (mask1 (the-as uint #xfffffff8)) - (masked-tex-id - (logand (new 'static 'texture-id :index #xfff :page #xfff) tex-id) + (when bsp-hdr + (let* ((table-size (-> bsp-hdr texture-remap-table-len)) + (table-data-start (-> bsp-hdr texture-remap-table)) + (table-data-ptr table-data-start) + (mask1 (the-as uint #xfffffff8)) + (masked-tex-id (logand (new 'static 'texture-id :index #xfff :page #xfff) tex-id)) + (table-data-end (&+ table-data-ptr (* table-size 8))) + ) + (label cfg-2) + (b! (= (the-as object table-data-start) table-data-end) cfg-8 :delay (nop!)) + (let ((midpoint (the-as + object + (logand (/ (the-as int (+ (the-as int table-data-start) (the-as int table-data-end))) 2) mask1) + ) + ) + ) + (let ((diff (- (-> (the-as (pointer int32) midpoint) 0) (the-as int masked-tex-id)))) + (b! (zero? diff) cfg-7 :delay (nop!)) + (b! (< diff 0) cfg-6 :delay (nop!)) ) - (table-data-end (&+ table-data-ptr (* table-size 8))) - ) - (label cfg-2) - (b! - (= (the-as object table-data-start) table-data-end) - cfg-8 - :delay - (nop!) - ) - (let - ((midpoint - (the-as - object - (logand - (/ - (the-as - int - (+ (the-as int table-data-start) (the-as int table-data-end)) - ) - 2 - ) - mask1 + (b! #t cfg-2 :delay (set! table-data-end (the-as (pointer uint64) midpoint))) + (label cfg-6) + (b! #t cfg-2 :delay (set! table-data-start (the-as (pointer uint64) (+ (the-as int midpoint) 8)))) + (label cfg-7) + (set! tex-id (the-as texture-id (logior (-> (the-as (pointer int32) midpoint) 1) 20))) ) - ) ) - ) - (let - ((diff - (- (-> (the-as (pointer int32) midpoint) 0) (the-as int masked-tex-id)) - ) - ) - (b! (zero? diff) cfg-7 :delay (nop!)) - (b! (< diff 0) cfg-6 :delay (nop!)) - ) - (b! - #t - cfg-2 - :delay - (set! table-data-end (the-as (pointer uint64) midpoint)) - ) - (label cfg-6) - (b! - #t - cfg-2 - :delay - (set! - table-data-start - (the-as (pointer uint64) (+ (the-as int midpoint) 8)) - ) - ) - (label cfg-7) - (set! - tex-id - (the-as texture-id (logior (-> (the-as (pointer int32) midpoint) 1) 20)) - ) + (label cfg-8) + 0 ) - ) - (label cfg-8) - 0 ) - ) (the-as texture-id tex-id) ) diff --git a/test/decompiler/reference/engine/gfx/water/water-h_REF.gc b/test/decompiler/reference/engine/gfx/water/water-h_REF.gc index 2e1b13a432..e8e2c6d448 100644 --- a/test/decompiler/reference/engine/gfx/water/water-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/water/water-h_REF.gc @@ -100,33 +100,19 @@ ) ;; definition for method 0 of type water-control -(defmethod - new - water-control - ((allocation symbol) - (type-to-make type) - (arg0 process) - (arg1 int) - (arg2 float) - (arg3 float) - (arg4 float) - ) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new water-control ((allocation symbol) (type-to-make type) (arg0 process) (arg1 int) (arg2 float) (arg3 float) (arg4 float)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 process) (the-as process-drawable arg0)) + (set! (-> v0-0 joint-index) arg1) + (set! (-> v0-0 wade-height) arg4) + (set! (-> v0-0 swim-height) arg3) + (set! (-> v0-0 bottom-height) 32768.0) + (set! (-> v0-0 ripple-size) 1638.4) + (set! (-> v0-0 volume) (the-as handle #f)) + (set! (-> v0-0 drip-mult) 1.0) + (set! (-> v0-0 top-y-offset) arg2) + v0-0 ) - (set! (-> v0-0 process) (the-as process-drawable arg0)) - (set! (-> v0-0 joint-index) arg1) - (set! (-> v0-0 wade-height) arg4) - (set! (-> v0-0 swim-height) arg3) - (set! (-> v0-0 bottom-height) 32768.0) - (set! (-> v0-0 ripple-size) 1638.4) - (set! (-> v0-0 volume) (the-as handle #f)) - (set! (-> v0-0 drip-mult) 1.0) - (set! (-> v0-0 top-y-offset) arg2) - v0-0 - ) ) ;; definition for method 12 of type water-control @@ -165,8 +151,8 @@ ;; definition for method 3 of type water-vol (defmethod inspect water-vol ((obj water-vol)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Twater-height: (meters ~m)~%" (-> obj water-height)) (format #t "~T~Twade-height: (meters ~m)~%" (-> obj wade-height)) (format #t "~T~Tswim-height: (meters ~m)~%" (-> obj swim-height)) diff --git a/test/decompiler/reference/engine/gfx/water/water_REF.gc b/test/decompiler/reference/engine/gfx/water/water_REF.gc index 4e9790b50c..39c00bed1e 100644 --- a/test/decompiler/reference/engine/gfx/water/water_REF.gc +++ b/test/decompiler/reference/engine/gfx/water/water_REF.gc @@ -2,48 +2,40 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 108) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.001) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 109) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 108) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.001) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 109) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 109) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.2) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 109) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.2) (sp-end)) + ) + ) ;; definition for function birth-func-y->userdata ;; INFO: Return type mismatch int vs none. -(defun - birth-func-y->userdata - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun birth-func-y->userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (+! (-> arg1 user-float) (-> arg2 vector 0 y)) 0 (none) @@ -51,917 +43,799 @@ ;; definition for function birth-func-ocean-height ;; INFO: Return type mismatch int vs none. -(defun - birth-func-ocean-height - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) - (set! - (-> arg2 vector 0 y) - (+ (ocean-get-height (the-as vector (-> arg2 vector))) (-> arg1 user-float)) - ) +(defun birth-func-ocean-height ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) + (set! (-> arg2 vector 0 y) (+ (ocean-get-height (the-as vector (-> arg2 vector))) (-> arg1 user-float))) 0 (none) ) ;; definition for function check-water-level-drop ;; INFO: Return type mismatch int vs none. -(defun - check-water-level-drop - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-water-level-drop ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (and (< (-> arg2 y) (-> arg1 user-float)) (< (-> arg1 vel-sxvel y) 0.0)) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (set-vector! s5-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) - (sound-play-by-name - (static-sound-name "water-drop") - (new-sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol s5-0) - ) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 108) - s5-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! s5-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 (the-as symbol s5-0)) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 108) + s5-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) ) - ) 0 (none) ) ;; definition for function check-water-level-drop-and-die -(defun - check-water-level-drop-and-die - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-water-level-drop-and-die ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (if (and (< (-> arg2 y) (-> arg1 user-float)) (< (-> arg1 vel-sxvel y) 0.0)) - (sp-kill-particle arg0 arg1) - ) + (sp-kill-particle arg0 arg1) + ) (none) ) ;; definition for function check-water-level-above-and-die -(defun - check-water-level-above-and-die - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-water-level-above-and-die ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (if (>= (-> arg2 y) (-> arg1 user-float)) - (sp-kill-particle arg0 arg1) - ) + (sp-kill-particle arg0 arg1) + ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 110) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters -0.05) (meters 0.1) 1.0) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.05) (meters 0.05) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 24.0 40.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-above-and-die) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 110) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters -0.05) (meters 0.1) 1.0) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.05) (meters 0.05) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 24.0 40.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-above-and-die) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 111) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) - (sp-flt spt-y (meters 0.15)) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.05) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 40.0 24.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.006666667) 1.0) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-above-and-die) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 111) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-flt spt-y (meters 0.15)) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.05) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 40.0 24.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.006666667) 1.0) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-above-and-die) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 112) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.05) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.001) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.42666668) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 113) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 112) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.05) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.001) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.42666668) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 113) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 113) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 360) - (sp-launcher-by-id spt-next-launcher 114) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 113) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 360) + (sp-launcher-by-id spt-next-launcher 114) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 114) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.7111111) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 114) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.7111111) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 115) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-rnd-flt spt-num 0.04 0.03 1.0) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -819.2 1638.4 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.008333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.64) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 116) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 115) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-rnd-flt spt-num 0.04 0.03 1.0) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -819.2 1638.4 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.008333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.64) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 116) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 116) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 117) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 116) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 117) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 117) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.32) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 117) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.32) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 118) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) - (sp-flt spt-num 0.06) - (sp-flt spt-x (meters 10.0)) - (sp-rnd-flt spt-scale-x (meters 0.75) (meters 1.5) 1.0) - (sp-flt spt-rot-y (degrees 0.0)) - (sp-rnd-flt spt-scale-y (meters 0.75) (meters 1.5) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.004333333) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.0033333334) (meters 0.004333333) 1.0) - (sp-flt spt-fade-a 0.7111111) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 119) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 118) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + (sp-flt spt-num 0.06) + (sp-flt spt-x (meters 10.0)) + (sp-rnd-flt spt-scale-x (meters 0.75) (meters 1.5) 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-rnd-flt spt-scale-y (meters 0.75) (meters 1.5) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.004333333) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.0033333334) (meters 0.004333333) 1.0) + (sp-flt spt-fade-a 0.7111111) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 119) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 119) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int-plain-rnd spt-next-time 90 119 1) - (sp-launcher-by-id spt-next-launcher 120) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 119) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int-plain-rnd spt-next-time 90 119 1) + (sp-launcher-by-id spt-next-launcher 120) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 120) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 120) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.21333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 121) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-rnd-flt spt-num 0.05 0.4 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z 2048.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.7) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.42666668) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 122) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 121) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-rnd-flt spt-num 0.05 0.4 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z 2048.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.7) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0016666667) (meters 0.003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.42666668) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 122) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 122) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 360) - (sp-launcher-by-id spt-next-launcher 123) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 122) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 360) + (sp-launcher-by-id spt-next-launcher 123) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 123) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.7111111) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 123) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.7111111) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 40) - (new 'static 'sparticle-launch-group - :length 30 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-part-water-splash" - :launcher - (new 'static 'inline-array sparticle-group-item 30 - (sp-item 124 :flags (is-3d) :period 900 :length 63) - (sp-item 125 :period 900 :length 15) - (sp-item 126 :flags (is-3d) :period 900 :length 15) - (sp-item 127 :flags (is-3d) :period 900 :length 15) - (sp-item 128 :period 900 :length 15 :binding 129) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 130 :flags (is-3d) :period 900 :length 15 :offset 840) - (sp-item 131 :flags (is-3d) :period 900 :length 60 :offset 840) - (sp-item 132 :period 900 :length 10 :offset 840 :binding 133) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) - ) - :bounds - (new 'static 'sphere :y -49152.0 :w 57344.0) - ) - ) +(set! (-> *part-group-id-table* 40) (new 'static 'sparticle-launch-group + :length 30 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-part-water-splash" + :launcher + (new 'static 'inline-array sparticle-group-item 30 + (sp-item 124 :flags (is-3d) :period 900 :length 63) + (sp-item 125 :period 900 :length 15) + (sp-item 126 :flags (is-3d) :period 900 :length 15) + (sp-item 127 :flags (is-3d) :period 900 :length 15) + (sp-item 128 :period 900 :length 15 :binding 129) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 130 :flags (is-3d) :period 900 :length 15 :offset 840) + (sp-item 131 :flags (is-3d) :period 900 :length 60 :offset 840) + (sp-item 132 :period 900 :length 10 :offset 840 :binding 133) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + (sp-item 133 :flags (start-dead) :period 900 :length 120 :offset 840) + ) + :bounds + (new 'static 'sphere :y -49152.0 :w 57344.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 41) - (new 'static 'sparticle-launch-group - :length 16 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-part-water-splash-small" - :launcher - (new 'static 'inline-array sparticle-group-item 16 - (sp-item 124 :flags (is-3d) :period 900 :length 63) - (sp-item 125 :period 900 :length 15) - (sp-item 126 :flags (is-3d) :period 900 :length 15) - (sp-item 127 :flags (is-3d) :period 900 :length 15) - (sp-item 128 :period 900 :length 10 :binding 129) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - ) - :bounds - (new 'static 'sphere :y -49152.0 :w 57344.0) - ) - ) +(set! (-> *part-group-id-table* 41) (new 'static 'sparticle-launch-group + :length 16 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-part-water-splash-small" + :launcher + (new 'static 'inline-array sparticle-group-item 16 + (sp-item 124 :flags (is-3d) :period 900 :length 63) + (sp-item 125 :period 900 :length 15) + (sp-item 126 :flags (is-3d) :period 900 :length 15) + (sp-item 127 :flags (is-3d) :period 900 :length 15) + (sp-item 128 :period 900 :length 10 :binding 129) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + ) + :bounds + (new 'static 'sphere :y -49152.0 :w 57344.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 129) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) - (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.15) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 40.0 24.0 1.0) - (sp-flt spt-scalevel-x (meters 0.000033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -1.6384001 -0.81920004 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit3) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop-and-die) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 129) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) + (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.15) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 40.0 24.0 1.0) + (sp-flt spt-scalevel-x (meters 0.000033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -1.6384001 -0.81920004 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit3) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop-and-die) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 133) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) - (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.15) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 40.0 24.0 1.0) - (sp-flt spt-scalevel-x (meters 0.000033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -1.6384001 -0.81920004 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit3) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop-and-die) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 133) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) + (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.15) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 40.0 24.0 1.0) + (sp-flt spt-scalevel-x (meters 0.000033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -1.6384001 -0.81920004 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit3) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop-and-die) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 131) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.3) - (sp-rnd-flt spt-scale-x (meters 0.080000006) (meters 0.32000002) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.080000006) (meters 0.32000002) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.004) (meters 0.0090666665) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.004) (meters 0.0090666665) 1.0) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 134) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 131) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.3) + (sp-rnd-flt spt-scale-x (meters 0.080000006) (meters 0.32000002) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.080000006) (meters 0.32000002) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.004) (meters 0.0090666665) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.004) (meters 0.0090666665) 1.0) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 134) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 132) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 3.2) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) - (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.35) (meters 0.075) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.075) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 40.0 24.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.002) (meters 0.004) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.018666666) (meters 0.0053333333) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.002) (meters 0.004) 1.0) - (sp-flt spt-scalevel-x (meters -0.00066666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -3.2768002 -0.81920004 1.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit3) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 135) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 132) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 3.2) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) + (sp-rnd-flt spt-y (meters -0.2) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.35) (meters 0.075) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.075) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 40.0 24.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.002) (meters 0.004) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.018666666) (meters 0.0053333333) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.002) (meters 0.004) 1.0) + (sp-flt spt-scalevel-x (meters -0.00066666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -3.2768002 -0.81920004 1.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit3) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 135) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 130) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.24000001) (meters 0.71999997) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-rnd-flt spt-scale-y (meters 0.8) (meters 1.7600001) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.053333335) (meters 0.013333334) 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat set-conerot) - (sp-int-plain-rnd spt-next-time 20 19 1) - (sp-launcher-by-id spt-next-launcher 136) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 130) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.24000001) (meters 0.71999997) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-rnd-flt spt-scale-y (meters 0.8) (meters 1.7600001) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.053333335) (meters 0.013333334) 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat set-conerot) + (sp-int-plain-rnd spt-next-time 20 19 1) + (sp-launcher-by-id spt-next-launcher 136) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 136) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-scalevel-y (meters 0.026666667)) - (sp-int spt-next-time 20) - (sp-launcher-by-id spt-next-launcher 137) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 136) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-scalevel-y (meters 0.026666667)) + (sp-int spt-next-time 20) + (sp-launcher-by-id spt-next-launcher 137) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 137) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-scalevel-y (meters 0.0)) - (sp-flt spt-fade-a -0.64) - (sp-int spt-next-time 20) - (sp-launcher-by-id spt-next-launcher 138) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 137) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-scalevel-y (meters 0.0)) + (sp-flt spt-fade-a -0.64) + (sp-int spt-next-time 20) + (sp-launcher-by-id spt-next-launcher 138) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 138) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-flt spt-scalevel-y (meters -0.026666667)) - (sp-int spt-next-time 20) - (sp-launcher-by-id spt-next-launcher 139) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 138) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-flt spt-scalevel-y (meters -0.026666667)) + (sp-int spt-next-time 20) + (sp-launcher-by-id spt-next-launcher 139) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 139) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-flt spt-scalevel-y (meters -0.053333335)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 139) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-flt spt-scalevel-y (meters -0.053333335)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 126) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.4) (meters 1.6) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.004) (meters 0.0037333334) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.004) (meters 0.0037333334) 1.0) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 134) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 126) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.4) (meters 1.6) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.004) (meters 0.0037333334) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.004) (meters 0.0037333334) 1.0) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 134) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 134) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 360) - (sp-launcher-by-id spt-next-launcher 140) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 134) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 360) + (sp-launcher-by-id spt-next-launcher 140) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 140) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 140) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.53333336) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 127) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-rnd-flt spt-num 0.5 1.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.8) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.004) (meters 0.0026666666) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.004) (meters 0.0026666666) 1.0) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 134) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 127) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-rnd-flt spt-num 0.5 1.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.8) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.004) (meters 0.0026666666) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.004) (meters 0.0026666666) 1.0) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 134) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 128) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 3.2) - (sp-flt spt-x (meters 0.96000004)) - (sp-rnd-flt spt-scale-x (meters 0.35) (meters 0.075) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.075) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 40.0 24.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0026666666) (meters 0.0053333333) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016) (meters 0.0053333333) 1.0) - (sp-flt spt-scalevel-x (meters -0.00066666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -3.2768002 -0.81920004 1.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit3) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 135) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 128) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 3.2) + (sp-flt spt-x (meters 0.96000004)) + (sp-rnd-flt spt-scale-x (meters 0.35) (meters 0.075) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.075) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 40.0 24.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0026666666) (meters 0.0053333333) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016) (meters 0.0053333333) 1.0) + (sp-flt spt-scalevel-x (meters -0.00066666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -3.2768002 -0.81920004 1.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit3) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 135) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 135) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 135) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 125) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 8.0) - (sp-flt spt-x (meters 0.8)) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.05) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 40.0 24.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0026666666) (meters 0.0053333333) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0053333333) (meters 0.0053333333) 1.0) - (sp-flt spt-scalevel-x (meters -0.00033333333)) - (sp-flt spt-scalevel-y (meters -0.00033333333)) - (sp-rnd-flt spt-accel-y -2.1845336 -0.5461334 1.0) - (sp-int spt-timer 375) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop-and-die) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 125) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 8.0) + (sp-flt spt-x (meters 0.8)) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.05) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 40.0 24.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0026666666) (meters 0.0053333333) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0053333333) (meters 0.0053333333) 1.0) + (sp-flt spt-scalevel-x (meters -0.00033333333)) + (sp-flt spt-scalevel-y (meters -0.00033333333)) + (sp-rnd-flt spt-accel-y -2.1845336 -0.5461334 1.0) + (sp-int spt-timer 375) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop-and-die) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 124) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters 0.96000004) (meters 0.16000001) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.32000002) (meters 0.96000004) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-rnd-flt spt-scale-y (meters 0.16000001) (meters 1.7600001) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 48.0 24.0 1.0) - (sp-flt spt-vel-x (meters 0.0026666666)) - (sp-rnd-flt spt-scalevel-x (meters 0.0) (meters 0.0016666667) 1.0) - (sp-flt spt-rotvel-x (degrees 0.2)) - (sp-flt spt-scalevel-y (meters 0.04)) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat set-conerot) - (sp-int-plain-rnd spt-next-time 20 19 1) - (sp-launcher-by-id spt-next-launcher 141) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 124) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x10 :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters 0.96000004) (meters 0.16000001) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.32000002) (meters 0.96000004) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-rnd-flt spt-scale-y (meters 0.16000001) (meters 1.7600001) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 48.0 24.0 1.0) + (sp-flt spt-vel-x (meters 0.0026666666)) + (sp-rnd-flt spt-scalevel-x (meters 0.0) (meters 0.0016666667) 1.0) + (sp-flt spt-rotvel-x (degrees 0.2)) + (sp-flt spt-scalevel-y (meters 0.04)) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat set-conerot) + (sp-int-plain-rnd spt-next-time 20 19 1) + (sp-launcher-by-id spt-next-launcher 141) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 141) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-flt spt-rotvel-x (degrees 0.16666667)) - (sp-flt spt-scalevel-y (meters 0.016666668)) - (sp-int spt-next-time 20) - (sp-launcher-by-id spt-next-launcher 142) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 141) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-flt spt-rotvel-x (degrees 0.16666667)) + (sp-flt spt-scalevel-y (meters 0.016666668)) + (sp-int spt-next-time 20) + (sp-launcher-by-id spt-next-launcher 142) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 142) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-rotvel-x (degrees 0.13333334)) - (sp-flt spt-scalevel-y (meters 0.0)) - (sp-flt spt-fade-a -0.64) - (sp-int spt-next-time 20) - (sp-launcher-by-id spt-next-launcher 143) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 142) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-rotvel-x (degrees 0.13333334)) + (sp-flt spt-scalevel-y (meters 0.0)) + (sp-flt spt-fade-a -0.64) + (sp-int spt-next-time 20) + (sp-launcher-by-id spt-next-launcher 143) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 143) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-rotvel-x (degrees 0.1)) - (sp-flt spt-scalevel-y (meters -0.016666668)) - (sp-int spt-next-time 20) - (sp-launcher-by-id spt-next-launcher 144) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 143) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-rotvel-x (degrees 0.1)) + (sp-flt spt-scalevel-y (meters -0.016666668)) + (sp-int spt-next-time 20) + (sp-launcher-by-id spt-next-launcher 144) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 144) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-rotvel-x (degrees 0.06666667)) - (sp-flt spt-scalevel-y (meters -0.033333335)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 144) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-rotvel-x (degrees 0.06666667)) + (sp-flt spt-scalevel-y (meters -0.033333335)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 145) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 40.0 24.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.016666668) (meters 0.0016666667) 1.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-rnd-flt spt-vel-z (meters -0.016666668) (meters 0.0016666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.00016666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop-and-die) - (sp-int spt-next-time 225) - (sp-launcher-by-id spt-next-launcher 114) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 145) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 40.0 24.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.016666668) (meters 0.0016666667) 1.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-rnd-flt spt-vel-z (meters -0.016666668) (meters 0.0016666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.00016666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop-and-die) + (sp-int spt-next-time 225) + (sp-launcher-by-id spt-next-launcher 114) + (sp-end) + ) + ) + ) ;; definition for method 9 of type water-control ;; INFO: Return type mismatch int vs none. @@ -975,717 +849,406 @@ ;; Used lq/sq (defmethod dummy-10 water-control ((obj water-control)) (with-pp - (let ((s5-0 (-> obj flags))) - (cond - ((zero? (logand (-> obj flags) 2)) - (set! (-> obj flags) (logand -97793 (-> obj flags))) - ) - ((and - (logtest? #x200000 (-> obj flags)) - (logtest? (-> obj process state-flags) 256) - ) - (set! (-> obj flags) (logior #x10000 (-> obj flags))) - ) - ((begin - (set! (-> obj top 1 quad) (-> obj top 0 quad)) - (vector<-cspace! - (the-as vector (-> obj top)) - (-> obj process node-list data (-> obj joint-index)) - ) - (+! (-> obj top 0 y) (-> obj top-y-offset)) - (set! (-> obj bottom 1 quad) (-> obj bottom 0 quad)) - (set! (-> obj bottom 0 quad) (-> obj process root trans quad)) - (set! (-> obj flags) (logand -31745 (-> obj flags))) - (set! (-> obj bob-offset) (update! (-> obj bob))) - (cond - ((and - (logtest? (-> obj flags) 256) - (zero? - (logand - (-> - (the-as collide-shape-moving (-> obj process root)) - root-prim - prim-core - action - ) - 512 - ) - ) - ) - (set! - (-> obj real-ocean-offset) - (- - (ocean-get-height (the-as vector (-> obj bottom))) - (-> obj base-height) - ) - ) - (if (zero? (logand (-> obj flags) 512)) - (set! (-> obj ocean-offset) (-> obj real-ocean-offset)) - (set! - (-> obj ocean-offset) - (lerp (-> obj ocean-offset) (-> obj real-ocean-offset) 0.2) - ) - ) - ) - ((logtest? #x100000 (-> obj flags)) - (let* ((a0-26 (-> obj volume process 0)) - (f30-0 - (ripple-find-height - (the-as process-drawable a0-26) - 0 - (the-as vector (-> obj bottom)) - ) - ) - ) - (set! (-> obj real-ocean-offset) (- f30-0 (-> obj base-height))) - (if (zero? (logand (-> obj flags) 512)) - (set! (-> obj ocean-offset) (-> obj real-ocean-offset)) - (set! - (-> obj ocean-offset) - (lerp (-> obj ocean-offset) (-> obj real-ocean-offset) 0.2) - ) - ) - (let ((v1-36 (new 'stack-no-clear 'vector))) - (set! (-> v1-36 quad) (-> obj bottom 0 quad)) - (set! (-> v1-36 y) f30-0) - ) - ) - ) - (else - (set! (-> obj real-ocean-offset) 0.0) - (set! (-> obj ocean-offset) 0.0) - ) - ) - (if - (logtest? - (-> - (the-as collide-shape-moving (-> obj process root)) - root-prim - prim-core - action - ) - 512 - ) - (set! (-> obj bob-offset) 0.0) - ) - (set! - (-> obj height) - (+ - (-> obj base-height) - (-> obj ocean-offset) - (-> obj bob-offset) - (-> obj align-offset) - ) - ) - (set! - (-> obj surface-height) - (+ (-> obj base-height) (-> obj real-ocean-offset)) - ) - (set! - (-> obj swim-depth) - (fmax - 0.0 - (- - (- (-> obj surface-height) (-> obj swim-height)) - (-> obj bottom 0 y) - ) - ) - ) - (>= (-> obj height) (-> obj bottom 0 y)) - ) - (if - (logtest? - (-> (the-as collide-shape-moving (-> obj process root)) status) - 1024 - ) - (set! - (-> obj on-water-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - (set! (-> obj drip-wetness) 1.0) - (set! - (-> obj drip-height) - (fmax - (- (-> obj surface-height) (-> obj bottom 0 y)) - (-> obj drip-height) - ) - ) - (set! (-> obj drip-speed) 15.0) - (if (zero? (logand (-> obj flags) 512)) - (TODO-RENAME-15 obj) - ) + (let ((s5-0 (-> obj flags))) (cond - ((>= (-> obj top 0 y) (-> obj height)) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (set! (-> s4-0 quad) (-> obj bottom 0 quad)) - (vector-xz-length (-> obj process root transv)) - (set! (-> s4-0 y) (-> obj surface-height)) - (when - (and - (logtest? (-> obj process draw status) 8) - (zero? (-> obj process draw cur-lod)) - (logtest? #x400000 (-> obj flags)) - (logtest? #x800000 (-> obj flags)) - ) - (let ((f30-1 (y-angle (-> obj process root))) - (f28-0 (vector-xz-length (-> obj process root transv))) + ((zero? (logand (-> obj flags) 2)) + (set! (-> obj flags) (logand -97793 (-> obj flags))) + ) + ((and (logtest? #x200000 (-> obj flags)) (logtest? (-> obj process state-flags) 256)) + (set! (-> obj flags) (logior #x10000 (-> obj flags))) + ) + ((begin + (set! (-> obj top 1 quad) (-> obj top 0 quad)) + (vector<-cspace! (the-as vector (-> obj top)) (-> obj process node-list data (-> obj joint-index))) + (+! (-> obj top 0 y) (-> obj top-y-offset)) + (set! (-> obj bottom 1 quad) (-> obj bottom 0 quad)) + (set! (-> obj bottom 0 quad) (-> obj process root trans quad)) + (set! (-> obj flags) (logand -31745 (-> obj flags))) + (set! (-> obj bob-offset) (update! (-> obj bob))) + (cond + ((and + (logtest? (-> obj flags) 256) + (zero? (logand (-> (the-as collide-shape-moving (-> obj process root)) root-prim prim-core action) 512)) ) - (set! - (-> *part-id-table* 118 init-specs 4 initial-valuef) - (+ 24576.0 f30-1) - ) - (set! - (-> *part-id-table* 118 init-specs 19 initial-valuef) - (+ 49152.0 f30-1) - ) - (set! - (-> *part-id-table* 118 init-specs 1 initial-valuef) - (* 0.0000036621095 f28-0) - ) - (set! - (-> *part-id-table* 118 init-specs 2 initial-valuef) - (* 0.1 f28-0) - ) - (set! - (-> *part-id-table* 118 init-specs 13 initial-valuef) - 0.7111111 - ) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 118) - s4-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (set! - (-> *part-id-table* 121 init-specs 1 initial-valuef) - (* 0.000004150391 f28-0) - ) - (set! (-> *part-id-table* 121 init-specs 18 initial-valuef) f30-1) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 121) - s4-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (when (< f28-0 4096.0) - (set! - (-> *part-id-table* 112 init-specs 4 random-rangef) - (-> obj ripple-size) - ) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 112) - s4-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 115) - s4-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) - ) - ) - (if (< (-> obj top 1 y) (-> obj height)) - (dummy-13 obj 0.2 s4-0 1 (-> obj process root transv)) - ) - ) - ) - (else - (logior! (-> obj flags) 8192) - ) - ) - (when - (and (logtest? (-> obj flags) 32) (logtest? #x800000 (-> obj flags))) - (let* - ((v1-124 (rand-vu-int-range 3 (+ (-> obj process node-list length) -1))) - (s4-1 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj process node-list data v1-124) - ) - ) - ) - (set! - (-> *part-id-table* 110 init-specs 16 initial-valuef) - (-> obj surface-height) - ) - (set! - (-> *part-id-table* 110 init-specs 1 initial-valuef) - (+ - (lerp-scale - 12.0 - 0.4 - (the - float - (- - (-> *display* base-frame-counter) - (the-as int (-> obj enter-water-time)) - ) - ) - 0.0 - 600.0 - ) - (* 0.00012207031 (vector-xz-length (-> obj process root transv))) - ) - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 110) - s4-1 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (set! - (-> *part-id-table* 111 init-specs 16 initial-valuef) - (-> obj surface-height) - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 111) - s4-1 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) - ) - (let - ((f30-3 - (- - (+ - (-> obj base-height) - (-> obj ocean-offset) - (-> obj bob-offset) - (-> obj align-offset) - ) - (-> obj swim-height) - ) - ) - ) - (let* ((s4-2 (-> obj process root)) - (v1-146 - (if - (and (nonzero? s4-2) (type-type? (-> s4-2 type) control-info)) - s4-2 - ) - ) - (s4-3 - (and - v1-146 - (< - (- - (-> *display* base-frame-counter) - (-> (the-as control-info v1-146) unknown-dword11) + (set! (-> obj real-ocean-offset) (- (ocean-get-height (the-as vector (-> obj bottom))) (-> obj base-height))) + (if (zero? (logand (-> obj flags) 512)) + (set! (-> obj ocean-offset) (-> obj real-ocean-offset)) + (set! (-> obj ocean-offset) (lerp (-> obj ocean-offset) (-> obj real-ocean-offset) 0.2)) ) - 150 - ) - ) - ) ) - (if - (and - (logtest? (-> obj flags) 16) - (and - s4-3 - (zero? - (logand - (-> (the-as collide-shape-moving (-> obj process root)) status) - 1024 - ) - ) - ) - ) - (set! (-> obj bob amp) (* 0.8 (-> obj bob amp))) - ) - (cond - ((and - (logtest? (-> obj flags) 8) - (or - (logtest? - (-> (the-as collide-shape-moving (-> obj process root)) status) - 1024 - ) - (>= f30-3 (-> obj bottom 0 y)) - (and - (logtest? s5-0 2048) - (logtest? - (-> (the-as collide-shape-moving (-> obj process root)) status) - 4 - ) - (zero? - (logand - (-> (the-as collide-shape-moving (-> obj process root)) status) - 1 - ) - ) - (>= (+ 204.8 f30-3) (-> obj bottom 0 y)) - ) - ) - (or - (logtest? s5-0 2048) - (< 12288.0 (vector-xz-length (-> obj process root transv))) - (< - (+ (-> *display* base-frame-counter) -60) - (the-as int (-> obj enter-water-time)) - ) - (>= - (+ - (- - 204.8 - (fmin - 6144.0 - (+ - (-> obj ocean-offset) - (-> obj bob-offset) - (-> obj align-offset) - ) - ) - ) - f30-3 - ) - (-> obj bottom 0 y) - ) - ) - ) - (set! - (-> obj swim-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (send-event (-> obj process) 'swim) - (logior! (-> obj flags) 2048) - (if (zero? (logand s5-0 2048)) - (set! - (-> obj enter-swim-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - (cond - ((and - (logtest? (-> obj flags) 16) - (logtest? - (-> (the-as collide-shape-moving (-> obj process root)) status) - 4 - ) - (zero? (logand #x10000 (-> obj flags))) - ) - (let ((v1-200 (new 'stack-no-clear 'vector))) - (set! (-> v1-200 quad) (-> obj bottom 0 quad)) - (set! (-> v1-200 y) (- (-> obj height) (-> obj swim-height))) - (let ((s4-4 (-> obj process root))) - (when - (and - (zero? - (logand (-> (the-as collide-shape-moving s4-4) status) 4096) - ) - (logtest? (-> obj flags) 2048) - (zero? - (logand - (-> - (the-as collide-shape-moving s4-4) - root-prim - prim-core - action - ) - 512 + ((logtest? #x100000 (-> obj flags)) + (let* ((a0-26 (-> obj volume process 0)) + (f30-0 (ripple-find-height (the-as process-drawable a0-26) 0 (the-as vector (-> obj bottom)))) + ) + (set! (-> obj real-ocean-offset) (- f30-0 (-> obj base-height))) + (if (zero? (logand (-> obj flags) 512)) + (set! (-> obj ocean-offset) (-> obj real-ocean-offset)) + (set! (-> obj ocean-offset) (lerp (-> obj ocean-offset) (-> obj real-ocean-offset) 0.2)) + ) + (let ((v1-36 (new 'stack-no-clear 'vector))) + (set! (-> v1-36 quad) (-> obj bottom 0 quad)) + (set! (-> v1-36 y) f30-0) ) - ) ) - (let - ((a1-27 - (vector-! - (new 'stack-no-clear 'vector) - v1-200 - (-> s4-4 trans) - ) + ) + (else + (set! (-> obj real-ocean-offset) 0.0) + (set! (-> obj ocean-offset) 0.0) + ) + ) + (if (logtest? (-> (the-as collide-shape-moving (-> obj process root)) root-prim prim-core action) 512) + (set! (-> obj bob-offset) 0.0) + ) + (set! (-> obj height) + (+ (-> obj base-height) (-> obj ocean-offset) (-> obj bob-offset) (-> obj align-offset)) + ) + (set! (-> obj surface-height) (+ (-> obj base-height) (-> obj real-ocean-offset))) + (set! (-> obj swim-depth) (fmax 0.0 (- (- (-> obj surface-height) (-> obj swim-height)) (-> obj bottom 0 y)))) + (>= (-> obj height) (-> obj bottom 0 y)) + ) + (if (logtest? (-> (the-as collide-shape-moving (-> obj process root)) status) 1024) + (set! (-> obj on-water-time) (the-as uint (-> *display* base-frame-counter))) + ) + (set! (-> obj drip-wetness) 1.0) + (set! (-> obj drip-height) (fmax (- (-> obj surface-height) (-> obj bottom 0 y)) (-> obj drip-height))) + (set! (-> obj drip-speed) 15.0) + (if (zero? (logand (-> obj flags) 512)) + (TODO-RENAME-15 obj) + ) + (cond + ((>= (-> obj top 0 y) (-> obj height)) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (set! (-> s4-0 quad) (-> obj bottom 0 quad)) + (vector-xz-length (-> obj process root transv)) + (set! (-> s4-0 y) (-> obj surface-height)) + (when (and + (logtest? (-> obj process draw status) 8) + (zero? (-> obj process draw cur-lod)) + (logtest? #x400000 (-> obj flags)) + (logtest? #x800000 (-> obj flags)) + ) + (let ((f30-1 (y-angle (-> obj process root))) + (f28-0 (vector-xz-length (-> obj process root transv))) + ) + (set! (-> *part-id-table* 118 init-specs 4 initial-valuef) (+ 24576.0 f30-1)) + (set! (-> *part-id-table* 118 init-specs 19 initial-valuef) (+ 49152.0 f30-1)) + (set! (-> *part-id-table* 118 init-specs 1 initial-valuef) (* 0.0000036621095 f28-0)) + (set! (-> *part-id-table* 118 init-specs 2 initial-valuef) (* 0.1 f28-0)) + (set! (-> *part-id-table* 118 init-specs 13 initial-valuef) 0.7111111) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 118) + s4-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (set! (-> *part-id-table* 121 init-specs 1 initial-valuef) (* 0.000004150391 f28-0)) + (set! (-> *part-id-table* 121 init-specs 18 initial-valuef) f30-1) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 121) + s4-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (when (< f28-0 4096.0) + (set! (-> *part-id-table* 112 init-specs 4 random-rangef) (-> obj ripple-size)) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 112) + s4-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 115) + s4-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) ) - ) - (vector-float*! a1-27 a1-27 (-> *display* frames-per-second)) - (dummy-37 (the-as collide-shape-moving s4-4) a1-27) ) - (logior! (-> (the-as collide-shape-moving s4-4) status) 1031) - ) + (if (< (-> obj top 1 y) (-> obj height)) + (dummy-13 obj 0.2 s4-0 1 (-> obj process root transv)) + ) ) - ) - ) - ((and - (< (-> obj bottom 0 y) f30-3) - (zero? (logand #x10000 (-> obj flags))) - ) - (logior! (-> obj flags) 4096) - ) - ) - ) - ((begin - (set! - s4-3 - (and - (logtest? (-> obj flags) 4) - (or - (not (!= (-> obj bob amp) 0.0)) - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> obj swim-time)) - ) - 15 - ) - ) - (and - (>= (- (-> obj height) (-> obj wade-height)) (-> obj bottom 0 y)) - s4-3 - ) - ) - ) - s4-3 - ) - (set! - (-> obj wade-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (send-event (-> obj process) 'wade) - (logior! (-> obj flags) 1024) - ) - ) - ) - (when - (and - (logtest? (-> obj flags) 8) - (< (-> obj bottom 1 y) f30-3) - (and (< f30-3 (-> obj bottom 0 y)) (logtest? s5-0 4096)) - ) - (logior! (-> obj flags) 2048) - (let ((a1-30 (new 'stack-no-clear 'vector))) - (set! (-> a1-30 quad) (-> obj bottom 0 quad)) - (let ((s5-1 (-> obj process root))) - (set! (-> a1-30 y) f30-3) - (when - (zero? - (logand - (-> (the-as collide-shape-moving s5-1) root-prim prim-core action) - 512 - ) - ) - (let - ((f30-4 (-> (the-as collide-shape-moving s5-1) ground-impact-vel))) - (TODO-RENAME-61 - (the-as collide-shape-moving s5-1) - a1-30 - (-> s5-1 transv) - *up-vector* - ) - (logior! (-> (the-as collide-shape-moving s5-1) status) 1024) - (set! - (-> (the-as collide-shape-moving s5-1) ground-impact-vel) - f30-4 - ) - ) - ) - ) - ) - ) - ) - (when - (and (logtest? #x20000 (-> obj flags)) (= (-> obj process type) target)) - (when - (and - (logtest? - (-> (the-as collide-shape-moving (-> obj process root)) status) - 1025 - ) - (zero? - (logand - (-> - (the-as collide-shape-moving (-> obj process root)) - root-prim - prim-core - action - ) - 512 - ) - ) - ) - (when (< (-> obj process root trans y) -409.6) - (send-event (-> obj process) 'no-look-around 450) - (when - (zero? - (logand - (-> - (the-as collide-shape-moving (-> obj process root)) - root-prim - prim-core - action - ) - #x4000 - ) - ) - (cond - ((= (-> obj process type) target) - (let ((a1-32 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-32 from) pp) - (set! (-> a1-32 num-params) 2) - (set! (-> a1-32 message) 'attack) - (set! (-> a1-32 param 0) (the-as uint #f)) - (let ((v1-275 (new 'static 'attack-info :mask #xe0))) - (set! (-> v1-275 shove-up) 2048.0) - (set! (-> v1-275 shove-back) 0.0) - (set! (-> v1-275 mode) 'tar) - (set! (-> a1-32 param 1) (the-as uint v1-275)) - ) - (send-event-function (-> obj process) a1-32) - ) ) (else - (let ((a1-33 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-33 from) pp) - (set! (-> a1-33 num-params) 4) - (set! (-> a1-33 message) 'attack) - (set! (-> a1-33 param 0) (the-as uint #f)) - (set! (-> a1-33 param 1) (the-as uint 'tar)) - (let ((v1-281 (+ *global-attack-id* 1))) - (set! *global-attack-id* v1-281) - (set! (-> a1-33 param 2) (the-as uint v1-281)) - ) - (set! (-> a1-33 param 3) (the-as uint 0)) - (send-event-function (-> obj process) a1-33) + (logior! (-> obj flags) 8192) ) + ) + (when (and (logtest? (-> obj flags) 32) (logtest? #x800000 (-> obj flags))) + (let* ((v1-124 (rand-vu-int-range 3 (+ (-> obj process node-list length) -1))) + (s4-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data v1-124))) + ) + (set! (-> *part-id-table* 110 init-specs 16 initial-valuef) (-> obj surface-height)) + (set! (-> *part-id-table* 110 init-specs 1 initial-valuef) + (+ (lerp-scale + 12.0 + 0.4 + (the float (- (-> *display* base-frame-counter) (the-as int (-> obj enter-water-time)))) + 0.0 + 600.0 + ) + (* 0.00012207031 (vector-xz-length (-> obj process root transv))) + ) + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 110) + s4-1 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (set! (-> *part-id-table* 111 init-specs 16 initial-valuef) (-> obj surface-height)) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 111) + s4-1 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) + ) + (let ((f30-3 (- (+ (-> obj base-height) (-> obj ocean-offset) (-> obj bob-offset) (-> obj align-offset)) + (-> obj swim-height) + ) + ) + ) + (let* ((s4-2 (-> obj process root)) + (v1-146 (if (and (nonzero? s4-2) (type-type? (-> s4-2 type) control-info)) + s4-2 + ) + ) + (s4-3 + (and v1-146 (< (- (-> *display* base-frame-counter) (-> (the-as control-info v1-146) unknown-dword11)) 150)) + ) + ) + (if (and + (logtest? (-> obj flags) 16) + (and s4-3 (zero? (logand (-> (the-as collide-shape-moving (-> obj process root)) status) 1024))) + ) + (set! (-> obj bob amp) (* 0.8 (-> obj bob amp))) + ) + (cond + ((and + (logtest? (-> obj flags) 8) + (or + (logtest? (-> (the-as collide-shape-moving (-> obj process root)) status) 1024) + (>= f30-3 (-> obj bottom 0 y)) + (and + (logtest? s5-0 2048) + (logtest? (-> (the-as collide-shape-moving (-> obj process root)) status) 4) + (zero? (logand (-> (the-as collide-shape-moving (-> obj process root)) status) 1)) + (>= (+ 204.8 f30-3) (-> obj bottom 0 y)) + ) + ) + (or + (logtest? s5-0 2048) + (< 12288.0 (vector-xz-length (-> obj process root transv))) + (< (+ (-> *display* base-frame-counter) -60) (the-as int (-> obj enter-water-time))) + (>= (+ (- 204.8 (fmin 6144.0 (+ (-> obj ocean-offset) (-> obj bob-offset) (-> obj align-offset)))) f30-3) + (-> obj bottom 0 y) + ) + ) + ) + (set! (-> obj swim-time) (the-as uint (-> *display* base-frame-counter))) + (send-event (-> obj process) 'swim) + (logior! (-> obj flags) 2048) + (if (zero? (logand s5-0 2048)) + (set! (-> obj enter-swim-time) (the-as uint (-> *display* base-frame-counter))) + ) + (cond + ((and + (logtest? (-> obj flags) 16) + (logtest? (-> (the-as collide-shape-moving (-> obj process root)) status) 4) + (zero? (logand #x10000 (-> obj flags))) + ) + (let ((v1-200 (new 'stack-no-clear 'vector))) + (set! (-> v1-200 quad) (-> obj bottom 0 quad)) + (set! (-> v1-200 y) (- (-> obj height) (-> obj swim-height))) + (let ((s4-4 (-> obj process root))) + (when (and + (zero? (logand (-> (the-as collide-shape-moving s4-4) status) 4096)) + (logtest? (-> obj flags) 2048) + (zero? (logand (-> (the-as collide-shape-moving s4-4) root-prim prim-core action) 512)) + ) + (let ((a1-27 (vector-! (new 'stack-no-clear 'vector) v1-200 (-> s4-4 trans)))) + (vector-float*! a1-27 a1-27 (-> *display* frames-per-second)) + (dummy-37 (the-as collide-shape-moving s4-4) a1-27) + ) + (logior! (-> (the-as collide-shape-moving s4-4) status) 1031) + ) + ) + ) + ) + ((and (< (-> obj bottom 0 y) f30-3) (zero? (logand #x10000 (-> obj flags)))) + (logior! (-> obj flags) 4096) + ) + ) + ) + ((begin + (set! s4-3 (and + (logtest? (-> obj flags) 4) + (or + (not (!= (-> obj bob amp) 0.0)) + (>= (- (-> *display* base-frame-counter) (the-as int (-> obj swim-time))) 15) + ) + (and (>= (- (-> obj height) (-> obj wade-height)) (-> obj bottom 0 y)) s4-3) + ) + ) + s4-3 + ) + (set! (-> obj wade-time) (the-as uint (-> *display* base-frame-counter))) + (send-event (-> obj process) 'wade) + (logior! (-> obj flags) 1024) + ) + ) + ) + (when (and + (logtest? (-> obj flags) 8) + (< (-> obj bottom 1 y) f30-3) + (and (< f30-3 (-> obj bottom 0 y)) (logtest? s5-0 4096)) + ) + (logior! (-> obj flags) 2048) + (let ((a1-30 (new 'stack-no-clear 'vector))) + (set! (-> a1-30 quad) (-> obj bottom 0 quad)) + (let ((s5-1 (-> obj process root))) + (set! (-> a1-30 y) f30-3) + (when (zero? (logand (-> (the-as collide-shape-moving s5-1) root-prim prim-core action) 512)) + (let ((f30-4 (-> (the-as collide-shape-moving s5-1) ground-impact-vel))) + (TODO-RENAME-61 (the-as collide-shape-moving s5-1) a1-30 (-> s5-1 transv) *up-vector*) + (logior! (-> (the-as collide-shape-moving s5-1) status) 1024) + (set! (-> (the-as collide-shape-moving s5-1) ground-impact-vel) f30-4) + ) + ) + ) + ) + ) + ) + (when (and (logtest? #x20000 (-> obj flags)) (= (-> obj process type) target)) + (when (and + (logtest? (-> (the-as collide-shape-moving (-> obj process root)) status) 1025) + (zero? (logand (-> (the-as collide-shape-moving (-> obj process root)) root-prim prim-core action) 512)) + ) + (when (< (-> obj process root trans y) -409.6) + (send-event (-> obj process) 'no-look-around 450) + (when (zero? (logand (-> (the-as collide-shape-moving (-> obj process root)) root-prim prim-core action) #x4000)) + (cond + ((= (-> obj process type) target) + (let ((a1-32 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-32 from) pp) + (set! (-> a1-32 num-params) 2) + (set! (-> a1-32 message) 'attack) + (set! (-> a1-32 param 0) (the-as uint #f)) + (let ((v1-275 (new 'static 'attack-info :mask #xe0))) + (set! (-> v1-275 shove-up) 2048.0) + (set! (-> v1-275 shove-back) 0.0) + (set! (-> v1-275 mode) 'tar) + (set! (-> a1-32 param 1) (the-as uint v1-275)) + ) + (send-event-function (-> obj process) a1-32) + ) + ) + (else + (let ((a1-33 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-33 from) pp) + (set! (-> a1-33 num-params) 4) + (set! (-> a1-33 message) 'attack) + (set! (-> a1-33 param 0) (the-as uint #f)) + (set! (-> a1-33 param 1) (the-as uint 'tar)) + (let ((v1-281 (+ *global-attack-id* 1))) + (set! *global-attack-id* v1-281) + (set! (-> a1-33 param 2) (the-as uint v1-281)) + ) + (set! (-> a1-33 param 3) (the-as uint 0)) + (send-event-function (-> obj process) a1-33) + ) + ) + ) + ) + (let ((v1-283 (-> obj process))) + (set! (-> (the-as collide-shape-moving (-> v1-283 root)) surf) *tar-surface*) + (set! (-> (the-as collide-shape-moving (-> v1-283 root)) ground-pat material) 4) + ) + ) + (set! (-> obj swim-height) (lerp (-> obj swim-height) 7372.8 0.05)) + ) + ) + ) + (else + (if (logtest? (-> obj flags) 512) + (TODO-RENAME-16 obj) + ) + ) + ) + ) + (when (not + (or (zero? (logand (-> obj flags) 64)) (zero? (logand #x800000 (-> obj flags))) (= (-> obj drip-wetness) 0.0)) ) + (cond + ((logtest? (-> obj flags) #x8000) + (let ((a2-15 + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data (-> obj drip-joint-index))) + ) + ) + (set! (-> *part-id-table* 145 init-specs 16 initial-valuef) + (fmax (-> obj surface-height) (-> obj bottom 0 y)) + ) + (set! (-> *part-id-table* 145 init-specs 8 initial-valuef) (* 0.05 (- (-> a2-15 x) (-> obj drip-old-pos x)))) + (set! (-> *part-id-table* 145 init-specs 9 initial-valuef) (* 0.05 (- (-> a2-15 y) (-> obj drip-old-pos y)))) + (set! (-> *part-id-table* 145 init-specs 10 initial-valuef) (* 0.05 (- (-> a2-15 z) (-> obj drip-old-pos z)))) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 145) + a2-15 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) + (set! (-> obj drip-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> obj flags) (logand -32769 (-> obj flags))) + (set! (-> obj drip-wetness) (seek (-> obj drip-wetness) 0.0 (* 0.001 (-> obj drip-speed)))) + (set! (-> obj drip-speed) (* 1.05 (-> obj drip-speed))) + (if (= (-> obj drip-wetness) 0.0) + (set! (-> obj drip-height) 0.0) + ) + ) + ((>= (- (-> *display* base-frame-counter) (the int (/ (the float (-> obj drip-time)) (-> obj drip-mult)))) + (the int (-> obj drip-speed)) + ) + (let* ((s5-2 (rand-vu-int-range 3 (+ (-> obj process node-list length) -1))) + (v1-328 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj process node-list data s5-2))) + ) + (when (and + (< (- (-> v1-328 y) (-> obj process root trans y)) (-> obj drip-height)) + (< (-> obj height) (-> v1-328 y)) + ) + (set! (-> obj drip-joint-index) s5-2) + (set! (-> obj drip-old-pos quad) (-> v1-328 quad)) + (logior! (-> obj flags) #x8000) + ) ) - ) - (let ((v1-283 (-> obj process))) - (set! - (-> (the-as collide-shape-moving (-> v1-283 root)) surf) - *tar-surface* - ) - (set! - (-> - (the-as collide-shape-moving (-> v1-283 root)) - ground-pat - material - ) - 4 - ) - ) ) - (set! (-> obj swim-height) (lerp (-> obj swim-height) 7372.8 0.05)) ) - ) ) - (else - (if (logtest? (-> obj flags) 512) - (TODO-RENAME-16 obj) - ) - ) - ) + 0 + (none) ) - (when - (not - (or - (zero? (logand (-> obj flags) 64)) - (zero? (logand #x800000 (-> obj flags))) - (= (-> obj drip-wetness) 0.0) - ) - ) - (cond - ((logtest? (-> obj flags) #x8000) - (let - ((a2-15 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj process node-list data (-> obj drip-joint-index)) - ) - ) - ) - (set! - (-> *part-id-table* 145 init-specs 16 initial-valuef) - (fmax (-> obj surface-height) (-> obj bottom 0 y)) - ) - (set! - (-> *part-id-table* 145 init-specs 8 initial-valuef) - (* 0.05 (- (-> a2-15 x) (-> obj drip-old-pos x))) - ) - (set! - (-> *part-id-table* 145 init-specs 9 initial-valuef) - (* 0.05 (- (-> a2-15 y) (-> obj drip-old-pos y))) - ) - (set! - (-> *part-id-table* 145 init-specs 10 initial-valuef) - (* 0.05 (- (-> a2-15 z) (-> obj drip-old-pos z))) - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 145) - a2-15 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) - (set! (-> obj drip-time) (the-as uint (-> *display* base-frame-counter))) - (set! (-> obj flags) (logand -32769 (-> obj flags))) - (set! - (-> obj drip-wetness) - (seek (-> obj drip-wetness) 0.0 (* 0.001 (-> obj drip-speed))) - ) - (set! (-> obj drip-speed) (* 1.05 (-> obj drip-speed))) - (if (= (-> obj drip-wetness) 0.0) - (set! (-> obj drip-height) 0.0) - ) - ) - ((>= - (- - (-> *display* base-frame-counter) - (the int (/ (the float (-> obj drip-time)) (-> obj drip-mult))) - ) - (the int (-> obj drip-speed)) - ) - (let* - ((s5-2 (rand-vu-int-range 3 (+ (-> obj process node-list length) -1))) - (v1-328 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj process node-list data s5-2) - ) - ) - ) - (when - (and - (< - (- (-> v1-328 y) (-> obj process root trans y)) - (-> obj drip-height) - ) - (< (-> obj height) (-> v1-328 y)) - ) - (set! (-> obj drip-joint-index) s5-2) - (set! (-> obj drip-old-pos quad) (-> v1-328 quad)) - (logior! (-> obj flags) #x8000) - ) - ) - ) - ) - ) - 0 - (none) - ) ) ;; definition for method 11 of type water-control ;; INFO: Return type mismatch int vs none. -(defmethod - start-bobbing! - water-control - ((obj water-control) (arg0 float) (arg1 int) (arg2 int)) +(defmethod start-bobbing! water-control ((obj water-control) (arg0 float) (arg1 int) (arg2 int)) (activate! (-> obj bob) (- arg0) arg1 arg2 0.9 1.0) 0 (none) @@ -1697,290 +1260,89 @@ (let ((f1-0 (-> arg0 root trans y)) (f0-0 (the-as float (-> arg0 userdata))) ) - (set! (-> *part-id-table* 128 init-specs 16 initial-valuef) f1-0) - (set! (-> *part-id-table* 132 init-specs 18 initial-valuef) f1-0) - (set! (-> *part-id-table* 125 init-specs 16 initial-valuef) f1-0) - (set! (-> *part-id-table* 129 init-specs 15 initial-valuef) f1-0) - (set! (-> *part-id-table* 133 init-specs 15 initial-valuef) f1-0) - (set! - (-> *part-id-table* 129 init-specs 12 initial-valuef) - (* 13.653334 (* -0.15 f0-0)) + (set! (-> *part-id-table* 128 init-specs 16 initial-valuef) f1-0) + (set! (-> *part-id-table* 132 init-specs 18 initial-valuef) f1-0) + (set! (-> *part-id-table* 125 init-specs 16 initial-valuef) f1-0) + (set! (-> *part-id-table* 129 init-specs 15 initial-valuef) f1-0) + (set! (-> *part-id-table* 133 init-specs 15 initial-valuef) f1-0) + (set! (-> *part-id-table* 129 init-specs 12 initial-valuef) (* 13.653334 (* -0.15 f0-0))) + (set! (-> *part-id-table* 129 init-specs 12 random-rangef) (* 13.653334 (* -0.075 f0-0))) + (set! (-> *part-id-table* 133 init-specs 12 initial-valuef) (* 13.653334 (* -0.15 f0-0))) + (set! (-> *part-id-table* 133 init-specs 12 random-rangef) (* 13.653334 (* -0.075 f0-0))) + (set! (-> *part-id-table* 131 init-specs 2 initial-valuef) (* 4096.0 (* 0.1 f0-0))) + (set! (-> *part-id-table* 131 init-specs 2 random-rangef) (* 4096.0 (* 0.4 f0-0))) + (set! (-> *part-id-table* 131 init-specs 4 initial-valuef) (* 4096.0 (* 0.1 f0-0))) + (set! (-> *part-id-table* 131 init-specs 4 random-rangef) (* 4096.0 (* 0.4 f0-0))) + (set! (-> *part-id-table* 131 init-specs 9 initial-valuef) (* 13.653334 (* 1.5 f0-0))) + (set! (-> *part-id-table* 131 init-specs 9 random-rangef) (* 13.653334 (* 3.4 f0-0))) + (set! (-> *part-id-table* 131 init-specs 10 initial-valuef) (* 13.653334 (* 1.5 f0-0))) + (set! (-> *part-id-table* 131 init-specs 10 random-rangef) (* 13.653334 (* 3.4 f0-0))) + (set! (-> *part-id-table* 126 init-specs 2 initial-valuef) (* 4096.0 (* 3.0 f0-0))) + (set! (-> *part-id-table* 126 init-specs 2 random-rangef) (* 4096.0 (* 2.0 f0-0))) + (set! (-> *part-id-table* 126 init-specs 4 initial-valuef) (* 4096.0 (* 3.0 f0-0))) + (set! (-> *part-id-table* 126 init-specs 4 random-rangef) (* 4096.0 (* 2.0 f0-0))) + (set! (-> *part-id-table* 126 init-specs 9 initial-valuef) (* 13.653334 (* 1.5 f0-0))) + (set! (-> *part-id-table* 126 init-specs 9 random-rangef) (* 13.653334 (* 1.4 f0-0))) + (set! (-> *part-id-table* 126 init-specs 10 initial-valuef) (* 13.653334 (* 1.5 f0-0))) + (set! (-> *part-id-table* 126 init-specs 10 random-rangef) (* 13.653334 (* 1.4 f0-0))) + (set! (-> *part-id-table* 127 init-specs 2 initial-valuef) (* 4096.0 (* -0.5 f0-0))) + (set! (-> *part-id-table* 127 init-specs 2 random-rangef) (* 4096.0 f0-0)) + (set! (-> *part-id-table* 127 init-specs 3 initial-valuef) (* 4096.0 (* -0.5 f0-0))) + (set! (-> *part-id-table* 127 init-specs 3 random-rangef) (* 4096.0 f0-0)) + (set! (-> *part-id-table* 127 init-specs 4 initial-valuef) (* 4096.0 (* 0.5 f0-0))) + (set! (-> *part-id-table* 127 init-specs 4 random-rangef) (* 4096.0 f0-0)) + (set! (-> *part-id-table* 127 init-specs 6 initial-valuef) (* 4096.0 (* 0.5 f0-0))) + (set! (-> *part-id-table* 127 init-specs 6 random-rangef) (* 4096.0 f0-0)) + (set! (-> *part-id-table* 127 init-specs 11 initial-valuef) (* 13.653334 (* 1.5 f0-0))) + (set! (-> *part-id-table* 127 init-specs 11 random-rangef) (* 13.653334 f0-0)) + (set! (-> *part-id-table* 127 init-specs 12 initial-valuef) (* 13.653334 (* 1.5 f0-0))) + (set! (-> *part-id-table* 127 init-specs 12 random-rangef) (* 13.653334 f0-0)) + (set! (-> *part-id-table* 132 init-specs 1 initial-valuef) (* 4.0 f0-0)) + (set! (-> *part-id-table* 132 init-specs 2 initial-valuef) (* 4096.0 (* -0.25 f0-0))) + (set! (-> *part-id-table* 132 init-specs 2 random-rangef) (* 4096.0 (* 0.5 f0-0))) + (set! (-> *part-id-table* 132 init-specs 3 initial-valuef) (* 4096.0 (* -0.25 f0-0))) + (set! (-> *part-id-table* 132 init-specs 3 random-rangef) (* 4096.0 (* 0.5 f0-0))) + (set! (-> *part-id-table* 132 init-specs 10 initial-valuef) (* 13.653334 (* -0.75 f0-0))) + (set! (-> *part-id-table* 132 init-specs 10 random-rangef) (* 13.653334 (* 1.5 f0-0))) + (set! (-> *part-id-table* 132 init-specs 12 initial-valuef) (* 13.653334 (* -0.75 f0-0))) + (set! (-> *part-id-table* 132 init-specs 12 random-rangef) (* 13.653334 (* 1.5 f0-0))) + (set! (-> *part-id-table* 132 init-specs 11 initial-valuef) (* 13.653334 (* 7.0 f0-0))) + (set! (-> *part-id-table* 132 init-specs 11 random-rangef) (* 13.653334 (* 2.0 f0-0))) + (set! (-> *part-id-table* 132 init-specs 15 initial-valuef) (* 13.653334 (* -0.3 f0-0))) + (set! (-> *part-id-table* 132 init-specs 15 random-rangef) (* 13.653334 (* -0.075 f0-0))) + (set! (-> *part-id-table* 128 init-specs 1 initial-valuef) (* 4.0 f0-0)) + (set! (-> *part-id-table* 128 init-specs 2 initial-valuef) (* 1.2 f0-0)) + (set! (-> *part-id-table* 128 init-specs 9 initial-valuef) (* 13.653334 f0-0)) + (set! (-> *part-id-table* 128 init-specs 9 random-rangef) (* 13.653334 (* 2.0 f0-0))) + (set! (-> *part-id-table* 128 init-specs 10 initial-valuef) (* 13.653334 (* 6.0 f0-0))) + (set! (-> *part-id-table* 128 init-specs 10 random-rangef) (* 13.653334 (* 2.0 f0-0))) + (set! (-> *part-id-table* 128 init-specs 13 initial-valuef) (* 13.653334 (* -0.3 f0-0))) + (set! (-> *part-id-table* 128 init-specs 13 random-rangef) (* 13.653334 (* -0.075 f0-0))) + (set! (-> *part-id-table* 128 init-specs 9 initial-valuef) (* 13.653334 f0-0)) + (set! (-> *part-id-table* 128 init-specs 9 random-rangef) (* 13.653334 (* 2.0 f0-0))) + (set! (-> *part-id-table* 128 init-specs 10 initial-valuef) (* 13.653334 (* 6.0 f0-0))) + (set! (-> *part-id-table* 128 init-specs 10 random-rangef) (* 13.653334 (* 2.0 f0-0))) + (set! (-> *part-id-table* 128 init-specs 13 initial-valuef) (* 13.653334 (* -0.3 f0-0))) + (set! (-> *part-id-table* 128 init-specs 13 random-rangef) (* 13.653334 (* -0.075 f0-0))) + (set! (-> *part-id-table* 125 init-specs 1 initial-valuef) (* 8.0 f0-0)) + (set! (-> *part-id-table* 125 init-specs 2 initial-valuef) (* 4096.0 f0-0)) + (set! (-> *part-id-table* 125 init-specs 9 initial-valuef) (* 13.653334 f0-0)) + (set! (-> *part-id-table* 125 init-specs 9 random-rangef) (* 13.653334 (* 2.0 f0-0))) + (set! (-> *part-id-table* 125 init-specs 10 initial-valuef) (* 13.653334 (* 6.0 f0-0))) + (set! (-> *part-id-table* 125 init-specs 10 random-rangef) (* 13.653334 (* 2.0 f0-0))) + (set! (-> *part-id-table* 125 init-specs 13 initial-valuef) (* 13.653334 (* -0.3 f0-0))) + (set! (-> *part-id-table* 125 init-specs 13 random-rangef) (* 13.653334 (* -0.075 f0-0))) + (set! (-> *part-id-table* 124 init-specs 2 initial-valuef) (* 4096.0 (* 1.2 f0-0))) + (set! (-> *part-id-table* 124 init-specs 2 random-rangef) (* 4096.0 (* 0.2 f0-0))) + (set! (-> *part-id-table* 124 init-specs 3 initial-valuef) (* 4096.0 (* 0.4 f0-0))) + (set! (-> *part-id-table* 124 init-specs 3 random-rangef) (* 4096.0 (* 1.2 f0-0))) + (set! (-> *part-id-table* 124 init-specs 7 initial-valuef) (* 4096.0 (* 0.2 f0-0))) + (set! (-> *part-id-table* 124 init-specs 7 random-rangef) (* 4096.0 (* 2.2 f0-0))) + (set! (-> *part-id-table* 130 init-specs 2 initial-valuef) (* 4096.0 (* 0.3 f0-0))) + (set! (-> *part-id-table* 130 init-specs 2 random-rangef) (* 4096.0 (* 0.9 f0-0))) + (set! (-> *part-id-table* 130 init-specs 6 initial-valuef) (* 4096.0 f0-0)) + (set! (-> *part-id-table* 130 init-specs 6 random-rangef) (* 4096.0 (* 2.2 f0-0))) ) - (set! - (-> *part-id-table* 129 init-specs 12 random-rangef) - (* 13.653334 (* -0.075 f0-0)) - ) - (set! - (-> *part-id-table* 133 init-specs 12 initial-valuef) - (* 13.653334 (* -0.15 f0-0)) - ) - (set! - (-> *part-id-table* 133 init-specs 12 random-rangef) - (* 13.653334 (* -0.075 f0-0)) - ) - (set! - (-> *part-id-table* 131 init-specs 2 initial-valuef) - (* 4096.0 (* 0.1 f0-0)) - ) - (set! - (-> *part-id-table* 131 init-specs 2 random-rangef) - (* 4096.0 (* 0.4 f0-0)) - ) - (set! - (-> *part-id-table* 131 init-specs 4 initial-valuef) - (* 4096.0 (* 0.1 f0-0)) - ) - (set! - (-> *part-id-table* 131 init-specs 4 random-rangef) - (* 4096.0 (* 0.4 f0-0)) - ) - (set! - (-> *part-id-table* 131 init-specs 9 initial-valuef) - (* 13.653334 (* 1.5 f0-0)) - ) - (set! - (-> *part-id-table* 131 init-specs 9 random-rangef) - (* 13.653334 (* 3.4 f0-0)) - ) - (set! - (-> *part-id-table* 131 init-specs 10 initial-valuef) - (* 13.653334 (* 1.5 f0-0)) - ) - (set! - (-> *part-id-table* 131 init-specs 10 random-rangef) - (* 13.653334 (* 3.4 f0-0)) - ) - (set! - (-> *part-id-table* 126 init-specs 2 initial-valuef) - (* 4096.0 (* 3.0 f0-0)) - ) - (set! - (-> *part-id-table* 126 init-specs 2 random-rangef) - (* 4096.0 (* 2.0 f0-0)) - ) - (set! - (-> *part-id-table* 126 init-specs 4 initial-valuef) - (* 4096.0 (* 3.0 f0-0)) - ) - (set! - (-> *part-id-table* 126 init-specs 4 random-rangef) - (* 4096.0 (* 2.0 f0-0)) - ) - (set! - (-> *part-id-table* 126 init-specs 9 initial-valuef) - (* 13.653334 (* 1.5 f0-0)) - ) - (set! - (-> *part-id-table* 126 init-specs 9 random-rangef) - (* 13.653334 (* 1.4 f0-0)) - ) - (set! - (-> *part-id-table* 126 init-specs 10 initial-valuef) - (* 13.653334 (* 1.5 f0-0)) - ) - (set! - (-> *part-id-table* 126 init-specs 10 random-rangef) - (* 13.653334 (* 1.4 f0-0)) - ) - (set! - (-> *part-id-table* 127 init-specs 2 initial-valuef) - (* 4096.0 (* -0.5 f0-0)) - ) - (set! (-> *part-id-table* 127 init-specs 2 random-rangef) (* 4096.0 f0-0)) - (set! - (-> *part-id-table* 127 init-specs 3 initial-valuef) - (* 4096.0 (* -0.5 f0-0)) - ) - (set! (-> *part-id-table* 127 init-specs 3 random-rangef) (* 4096.0 f0-0)) - (set! - (-> *part-id-table* 127 init-specs 4 initial-valuef) - (* 4096.0 (* 0.5 f0-0)) - ) - (set! (-> *part-id-table* 127 init-specs 4 random-rangef) (* 4096.0 f0-0)) - (set! - (-> *part-id-table* 127 init-specs 6 initial-valuef) - (* 4096.0 (* 0.5 f0-0)) - ) - (set! (-> *part-id-table* 127 init-specs 6 random-rangef) (* 4096.0 f0-0)) - (set! - (-> *part-id-table* 127 init-specs 11 initial-valuef) - (* 13.653334 (* 1.5 f0-0)) - ) - (set! - (-> *part-id-table* 127 init-specs 11 random-rangef) - (* 13.653334 f0-0) - ) - (set! - (-> *part-id-table* 127 init-specs 12 initial-valuef) - (* 13.653334 (* 1.5 f0-0)) - ) - (set! - (-> *part-id-table* 127 init-specs 12 random-rangef) - (* 13.653334 f0-0) - ) - (set! (-> *part-id-table* 132 init-specs 1 initial-valuef) (* 4.0 f0-0)) - (set! - (-> *part-id-table* 132 init-specs 2 initial-valuef) - (* 4096.0 (* -0.25 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 2 random-rangef) - (* 4096.0 (* 0.5 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 3 initial-valuef) - (* 4096.0 (* -0.25 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 3 random-rangef) - (* 4096.0 (* 0.5 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 10 initial-valuef) - (* 13.653334 (* -0.75 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 10 random-rangef) - (* 13.653334 (* 1.5 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 12 initial-valuef) - (* 13.653334 (* -0.75 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 12 random-rangef) - (* 13.653334 (* 1.5 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 11 initial-valuef) - (* 13.653334 (* 7.0 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 11 random-rangef) - (* 13.653334 (* 2.0 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 15 initial-valuef) - (* 13.653334 (* -0.3 f0-0)) - ) - (set! - (-> *part-id-table* 132 init-specs 15 random-rangef) - (* 13.653334 (* -0.075 f0-0)) - ) - (set! (-> *part-id-table* 128 init-specs 1 initial-valuef) (* 4.0 f0-0)) - (set! (-> *part-id-table* 128 init-specs 2 initial-valuef) (* 1.2 f0-0)) - (set! - (-> *part-id-table* 128 init-specs 9 initial-valuef) - (* 13.653334 f0-0) - ) - (set! - (-> *part-id-table* 128 init-specs 9 random-rangef) - (* 13.653334 (* 2.0 f0-0)) - ) - (set! - (-> *part-id-table* 128 init-specs 10 initial-valuef) - (* 13.653334 (* 6.0 f0-0)) - ) - (set! - (-> *part-id-table* 128 init-specs 10 random-rangef) - (* 13.653334 (* 2.0 f0-0)) - ) - (set! - (-> *part-id-table* 128 init-specs 13 initial-valuef) - (* 13.653334 (* -0.3 f0-0)) - ) - (set! - (-> *part-id-table* 128 init-specs 13 random-rangef) - (* 13.653334 (* -0.075 f0-0)) - ) - (set! - (-> *part-id-table* 128 init-specs 9 initial-valuef) - (* 13.653334 f0-0) - ) - (set! - (-> *part-id-table* 128 init-specs 9 random-rangef) - (* 13.653334 (* 2.0 f0-0)) - ) - (set! - (-> *part-id-table* 128 init-specs 10 initial-valuef) - (* 13.653334 (* 6.0 f0-0)) - ) - (set! - (-> *part-id-table* 128 init-specs 10 random-rangef) - (* 13.653334 (* 2.0 f0-0)) - ) - (set! - (-> *part-id-table* 128 init-specs 13 initial-valuef) - (* 13.653334 (* -0.3 f0-0)) - ) - (set! - (-> *part-id-table* 128 init-specs 13 random-rangef) - (* 13.653334 (* -0.075 f0-0)) - ) - (set! (-> *part-id-table* 125 init-specs 1 initial-valuef) (* 8.0 f0-0)) - (set! (-> *part-id-table* 125 init-specs 2 initial-valuef) (* 4096.0 f0-0)) - (set! - (-> *part-id-table* 125 init-specs 9 initial-valuef) - (* 13.653334 f0-0) - ) - (set! - (-> *part-id-table* 125 init-specs 9 random-rangef) - (* 13.653334 (* 2.0 f0-0)) - ) - (set! - (-> *part-id-table* 125 init-specs 10 initial-valuef) - (* 13.653334 (* 6.0 f0-0)) - ) - (set! - (-> *part-id-table* 125 init-specs 10 random-rangef) - (* 13.653334 (* 2.0 f0-0)) - ) - (set! - (-> *part-id-table* 125 init-specs 13 initial-valuef) - (* 13.653334 (* -0.3 f0-0)) - ) - (set! - (-> *part-id-table* 125 init-specs 13 random-rangef) - (* 13.653334 (* -0.075 f0-0)) - ) - (set! - (-> *part-id-table* 124 init-specs 2 initial-valuef) - (* 4096.0 (* 1.2 f0-0)) - ) - (set! - (-> *part-id-table* 124 init-specs 2 random-rangef) - (* 4096.0 (* 0.2 f0-0)) - ) - (set! - (-> *part-id-table* 124 init-specs 3 initial-valuef) - (* 4096.0 (* 0.4 f0-0)) - ) - (set! - (-> *part-id-table* 124 init-specs 3 random-rangef) - (* 4096.0 (* 1.2 f0-0)) - ) - (set! - (-> *part-id-table* 124 init-specs 7 initial-valuef) - (* 4096.0 (* 0.2 f0-0)) - ) - (set! - (-> *part-id-table* 124 init-specs 7 random-rangef) - (* 4096.0 (* 2.2 f0-0)) - ) - (set! - (-> *part-id-table* 130 init-specs 2 initial-valuef) - (* 4096.0 (* 0.3 f0-0)) - ) - (set! - (-> *part-id-table* 130 init-specs 2 random-rangef) - (* 4096.0 (* 0.9 f0-0)) - ) - (set! (-> *part-id-table* 130 init-specs 6 initial-valuef) (* 4096.0 f0-0)) - (set! - (-> *part-id-table* 130 init-specs 6 random-rangef) - (* 4096.0 (* 2.2 f0-0)) - ) - ) 0 (none) ) @@ -1989,47 +1351,32 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-15 water-control ((obj water-control)) (with-pp - (logior! (-> obj flags) 512) - (set! (-> obj flags) (logand -65537 (-> obj flags))) - (set! - (-> obj enter-water-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set-vector! - (-> obj enter-water-pos) - (-> obj bottom 0 x) - (-> obj surface-height) - (-> obj bottom 0 z) - 1.0 - ) - (when (and (logtest? (-> obj flags) 32) (logtest? #x800000 (-> obj flags))) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) pp) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'ground-height)) - (let* ((f0-4 (the-as float (send-event-function (-> obj process) a1-1))) - (f30-0 (lerp-scale 0.3 1.0 f0-4 2048.0 24576.0)) - ) - (if (nonzero? (-> obj process skel effect)) - (dummy-10 (-> obj process skel effect) 'swim-stroke 0.0 -1) - ) - (dummy-13 - obj - f30-0 - (-> obj enter-water-pos) - 1 - (-> obj process root transv) - ) + (logior! (-> obj flags) 512) + (set! (-> obj flags) (logand -65537 (-> obj flags))) + (set! (-> obj enter-water-time) (the-as uint (-> *display* base-frame-counter))) + (set-vector! (-> obj enter-water-pos) (-> obj bottom 0 x) (-> obj surface-height) (-> obj bottom 0 z) 1.0) + (when (and (logtest? (-> obj flags) 32) (logtest? #x800000 (-> obj flags))) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) pp) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'query) + (set! (-> a1-1 param 0) (the-as uint 'ground-height)) + (let* ((f0-4 (the-as float (send-event-function (-> obj process) a1-1))) + (f30-0 (lerp-scale 0.3 1.0 f0-4 2048.0 24576.0)) + ) + (if (nonzero? (-> obj process skel effect)) + (dummy-10 (-> obj process skel effect) 'swim-stroke 0.0 -1) + ) + (dummy-13 obj f30-0 (-> obj enter-water-pos) 1 (-> obj process root transv)) + ) + ) ) - ) + (if (logtest? #x20000 (-> obj flags)) + (set! (-> obj swim-height) 2867.2) + ) + 0 + (none) ) - (if (logtest? #x20000 (-> obj flags)) - (set! (-> obj swim-height) 2867.2) - ) - 0 - (none) - ) ) ;; definition for method 16 of type water-control @@ -2038,8 +1385,8 @@ (set! (-> obj flags) (logand -513 (-> obj flags))) (set-zero! (-> obj bob)) (if (logtest? #x20000 (-> obj flags)) - (set! (-> obj swim-height) 2867.2) - ) + (set! (-> obj swim-height) 2867.2) + ) 0 (none) ) @@ -2048,44 +1395,39 @@ ;; INFO: Return type mismatch int vs none. (defun splash-spawn ((arg0 basic) (arg1 basic) (arg2 int)) (let ((s4-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s4-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (when s4-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker s4-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + s4-0 + part-tracker-init + (if (zero? arg2) + (-> *part-group-id-table* 41) + (-> *part-group-id-table* 40) + ) + -1 + part-water-splash-callback + arg0 + #f + arg1 + ) + (-> s4-0 ppointer) ) - ) - (run-now-in-process s4-0 part-tracker-init (if (zero? arg2) - (-> *part-group-id-table* 41) - (-> *part-group-id-table* 40) - ) - -1 - part-water-splash-callback - arg0 - #f - arg1 - ) - (-> s4-0 ppointer) ) - ) 0 (none) ) ;; definition for method 13 of type water-control ;; INFO: Return type mismatch int vs none. -(defmethod - dummy-13 - water-control - ((obj water-control) (arg0 float) (arg1 vector) (arg2 int) (arg3 vector)) +(defmethod dummy-13 water-control ((obj water-control) (arg0 float) (arg1 vector) (arg2 int) (arg3 vector)) (when (and (logtest? (-> obj flags) 32) (logtest? #x800000 (-> obj flags))) - (let ((a1-3 (vector+float*! (new 'stack-no-clear 'vector) arg1 arg3 0.05))) - (set! (-> a1-3 y) (-> obj surface-height)) - (splash-spawn (the-as basic arg0) (the-as basic a1-3) arg2) + (let ((a1-3 (vector+float*! (new 'stack-no-clear 'vector) arg1 arg3 0.05))) + (set! (-> a1-3 y) (-> obj surface-height)) + (splash-spawn (the-as basic arg0) (the-as basic a1-3) arg2) + ) ) - ) 0 (none) ) @@ -2094,26 +1436,23 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-27 water-vol ((obj water-vol)) (when (handle->process (-> obj target)) - (let ((v1-7 (-> (the-as target (-> obj target process 0)) water))) - (set! (-> v1-7 flags) (logand -129892623 (-> v1-7 flags))) - (set! (-> v1-7 volume) (the-as handle #f)) + (let ((v1-7 (-> (the-as target (-> obj target process 0)) water))) + (set! (-> v1-7 flags) (logand -129892623 (-> v1-7 flags))) + (set! (-> v1-7 volume) (the-as handle #f)) + ) + (set! (-> obj target) (the-as handle #f)) + (iterate-process-tree + *entity-pool* + (lambda ((arg0 water-vol)) (with-pp + (if (and (type-type? (-> arg0 type) water-vol) (!= arg0 pp)) + (send-event arg0 'update) + ) + ) + ) + *null-kernel-context* + ) + (process-entity-status! obj (entity-perm-status bit-3) #f) ) - (set! (-> obj target) (the-as handle #f)) - (iterate-process-tree *entity-pool* (lambda ((arg0 water-vol)) - (with-pp - (if - (and - (type-type? (-> arg0 type) water-vol) - (!= arg0 pp) - ) - (send-event arg0 'update) - ) - ) - ) - *null-kernel-context* - ) - (process-entity-status! obj (entity-perm-status bit-3) #f) - ) 0 (none) ) @@ -2122,114 +1461,98 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-26 water-vol ((obj water-vol)) (with-pp - (cond - ((handle->process (-> obj target)) - (cond - ((not - (dummy-10 - (-> obj vol) - (-> (the-as target (-> obj target process 0)) control trans) - ) - ) - (dummy-27 obj) - ) - (else - (let ((v1-15 (-> (the-as target (-> obj target process 0)) water))) - (when - (and - (logtest? #x80000 (-> obj flags)) - (logtest? (-> v1-15 flags) 512) - (>= (-> v1-15 surface-height) (-> v1-15 bottom 0 y)) + (cond + ((handle->process (-> obj target)) + (cond + ((not (dummy-10 (-> obj vol) (-> (the-as target (-> obj target process 0)) control trans))) + (dummy-27 obj) ) - (let ((v1-18 (-> obj attack-event))) - (case v1-18 - ((#f) + (else + (let ((v1-15 (-> (the-as target (-> obj target process 0)) water))) + (when (and + (logtest? #x80000 (-> obj flags)) + (logtest? (-> v1-15 flags) 512) + (>= (-> v1-15 surface-height) (-> v1-15 bottom 0 y)) + ) + (let ((v1-18 (-> obj attack-event))) + (case v1-18 + ((#f) + ) + (('heat) + (send-event (handle->process (-> obj target)) 'heat (* 10.0 (-> *display* seconds-per-frame))) + ) + (('drown-death 'lava 'dark-eco-pool) + (let ((a1-8 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-8 from) pp) + (set! (-> a1-8 num-params) 2) + (set! (-> a1-8 message) 'attack-invinc) + (set! (-> a1-8 param 0) (the-as uint #f)) + (let ((a0-19 (new 'static 'attack-info :mask #x20))) + (set! (-> a0-19 mode) v1-18) + (set! (-> a1-8 param 1) (the-as uint a0-19)) + ) + (if (send-event-function (handle->process (-> obj target)) a1-8) + (send-event obj 'notify 'attack) + ) + ) + ) + (else + (let ((a1-10 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-10 from) pp) + (set! (-> a1-10 num-params) 2) + (set! (-> a1-10 message) 'attack) + (set! (-> a1-10 param 0) (the-as uint #f)) + (let ((a0-27 (new 'static 'attack-info :mask #x20))) + (set! (-> a0-27 mode) v1-18) + (set! (-> a1-10 param 1) (the-as uint a0-27)) + ) + (if (send-event-function (handle->process (-> obj target)) a1-10) + (send-event obj 'notify 'attack) + ) + ) + ) + ) + ) + ) ) - (('heat) - (send-event - (handle->process (-> obj target)) - 'heat - (* 10.0 (-> *display* seconds-per-frame)) - ) - ) - (('drown-death 'lava 'dark-eco-pool) - (let ((a1-8 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-8 from) pp) - (set! (-> a1-8 num-params) 2) - (set! (-> a1-8 message) 'attack-invinc) - (set! (-> a1-8 param 0) (the-as uint #f)) - (let ((a0-19 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-19 mode) v1-18) - (set! (-> a1-8 param 1) (the-as uint a0-19)) - ) - (if (send-event-function (handle->process (-> obj target)) a1-8) - (send-event obj 'notify 'attack) - ) - ) - ) - (else - (let ((a1-10 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-10 from) pp) - (set! (-> a1-10 num-params) 2) - (set! (-> a1-10 message) 'attack) - (set! (-> a1-10 param 0) (the-as uint #f)) - (let ((a0-27 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-27 mode) v1-18) - (set! (-> a1-10 param 1) (the-as uint a0-27)) - ) - (if (send-event-function (handle->process (-> obj target)) a1-10) - (send-event obj 'notify 'attack) - ) - ) - ) ) - ) ) - ) + ) + ((and + *target* + (and (not (handle->process (-> *target* water volume))) (dummy-10 (-> obj vol) (-> *target* control trans))) + ) + (let ((s5-0 (-> *target* water))) + (process-entity-status! obj (entity-perm-status bit-3) #t) + (set! (-> s5-0 volume) (process->handle obj)) + (set! (-> obj target) (process->handle *target*)) + (logior! (-> s5-0 flags) 2) + (set! (-> s5-0 base-height) (-> obj water-height)) + (set! (-> s5-0 ocean-offset) 0.0) + (logior! (-> s5-0 flags) (-> obj flags)) + (if (< 0.0 (-> obj wade-height)) + (set! (-> s5-0 wade-height) (-> obj wade-height)) + ) + (if (< 0.0 (-> obj swim-height)) + (set! (-> s5-0 swim-height) (-> obj swim-height)) + ) + (if (< 0.0 (-> obj bottom-height)) + (set! (-> s5-0 bottom-height) (-> obj bottom-height)) + ) + (set-zero! (-> s5-0 bob)) + ) ) ) - ) - ((and - *target* - (and - (not (handle->process (-> *target* water volume))) - (dummy-10 (-> obj vol) (-> *target* control trans)) - ) - ) - (let ((s5-0 (-> *target* water))) - (process-entity-status! obj (entity-perm-status bit-3) #t) - (set! (-> s5-0 volume) (process->handle obj)) - (set! (-> obj target) (process->handle *target*)) - (logior! (-> s5-0 flags) 2) - (set! (-> s5-0 base-height) (-> obj water-height)) - (set! (-> s5-0 ocean-offset) 0.0) - (logior! (-> s5-0 flags) (-> obj flags)) - (if (< 0.0 (-> obj wade-height)) - (set! (-> s5-0 wade-height) (-> obj wade-height)) - ) - (if (< 0.0 (-> obj swim-height)) - (set! (-> s5-0 swim-height) (-> obj swim-height)) - ) - (if (< 0.0 (-> obj bottom-height)) - (set! (-> s5-0 bottom-height) (-> obj bottom-height)) - ) - (set-zero! (-> s5-0 bob)) - ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; failed to figure out what this is: (defstate water-vol-startup (water-vol) :virtual #t :code - (behavior () - (go-virtual water-vol-idle) - (none) - ) + (behavior () (go-virtual water-vol-idle) (none)) ) ;; failed to figure out what this is: @@ -2237,23 +1560,17 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (if (= v1-0 'update) - (TODO-RENAME-26 self) - ) - ) + (let ((v1-0 arg2)) + (the-as object (if (= v1-0 'update) + (TODO-RENAME-26 self) + ) + ) + ) ) - ) :exit - (behavior () - (dummy-27 self) - (none) - ) + (behavior () (dummy-27 self) (none)) :trans - (behavior () - (TODO-RENAME-26 self) - (none) - ) + (behavior () (TODO-RENAME-26 self) (none)) :code (the-as (function none :behavior water-vol) anim-loop) ) @@ -2282,21 +1599,17 @@ ;; Used lq/sq (defmethod TODO-RENAME-29 water-vol ((obj water-vol)) (local-vars (sv-16 res-tag)) - (set! - (-> obj attack-event) - (the-as - symbol - ((method-of-type res-lump get-property-struct) - (-> obj entity) - 'attack-event - 'interp - -1000000000.0 - 'drown - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) + (set! (-> obj attack-event) (the-as symbol ((method-of-type res-lump get-property-struct) + (-> obj entity) + 'attack-event + 'interp + -1000000000.0 + 'drown + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) (process-drawable-from-entity! obj (the-as entity-actor (-> obj entity))) (logclear! (-> obj mask) (process-mask actor-pause)) (set! (-> obj vol) (new 'process 'vol-control obj)) @@ -2304,51 +1617,47 @@ (set! (-> obj bottom-height) 32768.0) (set! (-> obj target) (the-as handle #f)) (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-8 - (the-as - (pointer float) - ((method-of-type res-lump get-property-data) - (-> obj entity) - 'water-height - 'exact - -1000000000.0 - (the-as pointer #f) - (& sv-16) - *res-static-buf* - ) + (let ((v1-8 (the-as (pointer float) ((method-of-type res-lump get-property-data) + (-> obj entity) + 'water-height + 'exact + -1000000000.0 + (the-as pointer #f) + (& sv-16) + *res-static-buf* + ) + ) + ) + ) + (when v1-8 + (set! (-> obj water-height) (-> v1-8 0)) + (set! (-> obj wade-height) (-> v1-8 1)) + (set! (-> obj swim-height) (-> v1-8 2)) + (if (>= (-> sv-16 elt-count) (the-as uint 4)) + (set! (-> obj flags) (the-as uint (the int (-> v1-8 3)))) + ) + (if (>= (-> sv-16 elt-count) (the-as uint 5)) + (set! (-> obj bottom-height) (-> v1-8 4)) + ) ) - ) ) - (when v1-8 - (set! (-> obj water-height) (-> v1-8 0)) - (set! (-> obj wade-height) (-> v1-8 1)) - (set! (-> obj swim-height) (-> v1-8 2)) - (if (>= (-> sv-16 elt-count) (the-as uint 4)) - (set! (-> obj flags) (the-as uint (the int (-> v1-8 3)))) - ) - (if (>= (-> sv-16 elt-count) (the-as uint 5)) - (set! (-> obj bottom-height) (-> v1-8 4)) - ) - ) - ) (set! (-> obj flags) (logior #x800000 (-> obj flags))) (cond - ((zero? (-> obj flags)) - (if (< 0.0 (-> obj wade-height)) - (logior! (-> obj flags) 4) + ((zero? (-> obj flags)) + (if (< 0.0 (-> obj wade-height)) + (logior! (-> obj flags) 4) + ) + (when (< 0.0 (-> obj swim-height)) + (let ((v0-4 (logior (-> obj flags) 8))) + (set! (-> obj flags) v0-4) + v0-4 + ) + ) ) - (when (< 0.0 (-> obj swim-height)) - (let ((v0-4 (logior (-> obj flags) 8))) - (set! (-> obj flags) v0-4) - v0-4 + (else + (the-as uint #f) ) - ) ) - (else - (the-as uint #f) - ) - ) ) ;; definition for method 22 of type water-vol diff --git a/test/decompiler/reference/engine/gfx/wind-h_REF.gc b/test/decompiler/reference/engine/gfx/wind-h_REF.gc index fe51665394..ebd9bbd130 100644 --- a/test/decompiler/reference/engine/gfx/wind-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/wind-h_REF.gc @@ -20,48 +20,45 @@ ) ;; definition for symbol *wind-scales*, type (array uint8) -(define - *wind-scales* - (the-as (array uint8) - (new - 'static - 'boxed-array - :type uint8 :length 32 :allocated-length 32 - #x2 - #x5 - #x2 - #x3 - #x2 - #x2 - #x3 - #x10 - #xa - #x2 - #x4 - #x2 - #x8 - #x2 - #x2 - #x10 - #x2 - #x2 - #x8 - #x2 - #x10 - #x2 - #x4 - #x10 - #xa - #x2 - #x4 - #x2 - #x8 - #x2 - #x2 - #x10 - ) - ) - ) +(define *wind-scales* (the-as (array uint8) (new + 'static + 'boxed-array + :type uint8 :length 32 :allocated-length 32 + #x2 + #x5 + #x2 + #x3 + #x2 + #x2 + #x3 + #x10 + #xa + #x2 + #x4 + #x2 + #x8 + #x2 + #x2 + #x10 + #x2 + #x2 + #x8 + #x2 + #x10 + #x2 + #x4 + #x10 + #xa + #x2 + #x4 + #x2 + #x8 + #x2 + #x2 + #x10 + ) + ) + ) ;; definition of type wind-work (deftype wind-work (basic) @@ -89,8 +86,5 @@ ;; definition for function wind-get-hashed-index (defun wind-get-hashed-index ((arg0 vector)) - (logand - (+ (the int (-> arg0 x)) (the int (-> arg0 z)) (-> *wind-work* wind-time)) - 63 - ) + (logand (+ (the int (-> arg0 x)) (the int (-> arg0 z)) (-> *wind-work* wind-time)) 63) ) diff --git a/test/decompiler/reference/engine/gfx/wind_REF.gc b/test/decompiler/reference/engine/gfx/wind_REF.gc index ee0a149cf2..e46192a6f7 100644 --- a/test/decompiler/reference/engine/gfx/wind_REF.gc +++ b/test/decompiler/reference/engine/gfx/wind_REF.gc @@ -10,51 +10,25 @@ (let* ((f0-1 (+ (-> arg0 wind-normal w) (rand-vu-float-range -1024.0 1024.0))) (f30-1 (- f0-1 (* (the float (the int (/ f0-1 65536.0))) 65536.0))) ) - (set! (-> arg0 wind-normal w) f30-1) - (set! (-> arg0 wind-normal x) (cos f30-1)) - (set! (-> arg0 wind-normal z) (sin f30-1)) - ) + (set! (-> arg0 wind-normal w) f30-1) + (set! (-> arg0 wind-normal x) (cos f30-1)) + (set! (-> arg0 wind-normal z) (sin f30-1)) + ) (+! (-> arg0 wind-time) 1) (let* ((s4-0 (logand (-> arg0 wind-time) 63)) (f0-4 (rand-vu-float-range 0.0 100.0)) (v1-5 (/ (-> arg0 wind-time) (the-as uint 120))) - (f1-6 - (* - 0.008333334 - (the float (mod (-> arg0 wind-time) (the-as uint 120))) - ) - ) - (f2-4 - (* - 0.0625 - (the float (-> arg1 (mod (the-as int v1-5) (-> arg1 length)))) - ) - ) + (f1-6 (* 0.008333334 (the float (mod (-> arg0 wind-time) (the-as uint 120))))) + (f2-4 (* 0.0625 (the float (-> arg1 (mod (the-as int v1-5) (-> arg1 length)))))) (f0-5 - (* - (+ - (* - (- - (* - 0.0625 - (the - float - (-> arg1 (mod (the-as int (+ v1-5 1)) (-> arg1 length))) - ) - ) - f2-4 + (* (+ (* (- (* 0.0625 (the float (-> arg1 (mod (the-as int (+ v1-5 1)) (-> arg1 length))))) f2-4) f1-6) f2-4) + f0-4 ) - f1-6 - ) - f2-4 - ) - f0-4 ) - ) ) - (set! (-> *wind-work* wind-force s4-0) f0-5) - (vector-float*! (-> *wind-work* wind-array s4-0) (-> arg0 wind-normal) f0-5) - ) + (set! (-> *wind-work* wind-force s4-0) f0-5) + (vector-float*! (-> *wind-work* wind-array s4-0) (-> arg0 wind-normal) f0-5) + ) 0 (none) ) diff --git a/test/decompiler/reference/engine/level/level-h_REF.gc b/test/decompiler/reference/engine/level/level-h_REF.gc index 270bed35b0..e2e5090644 100644 --- a/test/decompiler/reference/engine/level/level-h_REF.gc +++ b/test/decompiler/reference/engine/level/level-h_REF.gc @@ -223,21 +223,9 @@ (format #t "~Tinfo: ~A~%" (-> obj info)) (format #t "~Ttexture-page[9] @ #x~X~%" (-> obj texture-page)) (format #t "~Tloaded-texture-page[16] @ #x~X~%" (-> obj loaded-texture-page)) - (format - #t - "~Tloaded-texture-page-count: ~D~%" - (-> obj loaded-texture-page-count) - ) - (format - #t - "~Tforeground-sink-group[3] @ #x~X~%" - (-> obj foreground-sink-group) - ) - (format - #t - "~Tforeground-draw-engine[3] @ #x~X~%" - (-> obj foreground-draw-engine) - ) + (format #t "~Tloaded-texture-page-count: ~D~%" (-> obj loaded-texture-page-count)) + (format #t "~Tforeground-sink-group[3] @ #x~X~%" (-> obj foreground-sink-group)) + (format #t "~Tforeground-draw-engine[3] @ #x~X~%" (-> obj foreground-draw-engine)) (format #t "~Tentity: ~A~%" (-> obj entity)) (format #t "~Tambient: ~A~%" (-> obj ambient)) (format #t "~Tclosest-object[9] @ #x~X~%" (-> obj closest-object)) @@ -332,182 +320,158 @@ ;; failed to figure out what this is: (if (zero? *level*) - (set! - *level* - (new 'static 'level-group - :length 2 - :log-in-level-bsp #f - :loading-level #f - :entity-link #f - :border? #f - :want-level #f - :load-commands '() - :play? #f - :level0 - (new 'static 'level - :name #f - :status 'inactive - :foreground-sink-group - (new 'static 'inline-array dma-foreground-sink-group 3 - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 - (new 'static 'dma-foreground-sink :bucket (bucket-id bucket-10)) - (new 'static 'generic-dma-foreground-sink - :bucket (bucket-id bucket-11) - :foreground-output-bucket 1 - ) - ) - ) - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 - (new 'static 'dma-foreground-sink - :bucket (bucket-id bucket-49) - :foreground-texture-page 1 - ) - (new 'static 'generic-dma-foreground-sink - :bucket (bucket-id bucket-50) - :foreground-texture-page 1 - :foreground-output-bucket 1 - ) - ) - ) - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 - (new 'static 'dma-foreground-sink - :bucket (bucket-id bucket-58) - :foreground-texture-page 2 - ) - (new 'static 'generic-dma-foreground-sink - :bucket (bucket-id bucket-59) - :foreground-texture-page 2 - :foreground-output-bucket 1 - ) - ) - ) - ) - :inside-sphere? #f - :inside-boxes? #f - :force-inside? #f - ) - :level1 - (new 'static 'level - :name #f - :index 1 - :status 'inactive - :foreground-sink-group - (new 'static 'inline-array dma-foreground-sink-group 3 - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 - (new 'static 'dma-foreground-sink - :bucket (bucket-id bucket-17) - :foreground-texture-level 1 - ) - (new 'static 'generic-dma-foreground-sink - :bucket (bucket-id bucket-18) - :foreground-texture-level 1 - :foreground-output-bucket 1 - ) - ) - ) - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 - (new 'static 'dma-foreground-sink - :bucket (bucket-id bucket-52) - :foreground-texture-page 1 - :foreground-texture-level 1 - ) - (new 'static 'generic-dma-foreground-sink - :bucket (bucket-id bucket-53) - :foreground-texture-page 1 - :foreground-texture-level 1 - :foreground-output-bucket 1 - ) - ) - ) - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 - (new 'static 'dma-foreground-sink - :bucket (bucket-id bucket-61) - :foreground-texture-page 2 - :foreground-texture-level 1 - ) - (new 'static 'generic-dma-foreground-sink - :bucket (bucket-id bucket-62) - :foreground-texture-page 2 - :foreground-texture-level 1 - :foreground-output-bucket 1 - ) - ) - ) - ) - :inside-sphere? #f - :inside-boxes? #f - :force-inside? #f - ) - :level-default - (new 'static 'level - :name 'default - :index 2 - :status 'reserved - :foreground-sink-group - (new 'static 'inline-array dma-foreground-sink-group 3 - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 - (new 'static 'dma-foreground-sink - :bucket (bucket-id bucket-45) - :foreground-texture-level 2 - ) - (new 'static 'generic-dma-foreground-sink - :bucket (bucket-id bucket-46) - :foreground-texture-level 2 - :foreground-output-bucket 1 - ) - ) - ) - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 - (new 'static 'dma-foreground-sink - :bucket (bucket-id bucket-55) - :foreground-texture-page 1 - :foreground-texture-level 2 - ) - (new 'static 'generic-dma-foreground-sink - :bucket (bucket-id bucket-56) - :foreground-texture-page 1 - :foreground-texture-level 2 - :foreground-output-bucket 1 - ) - ) - ) - (new 'static 'dma-foreground-sink-group - :sink - (new 'static 'array dma-foreground-sink 3 - (new 'static 'dma-foreground-sink - :bucket (bucket-id bucket-58) - :foreground-texture-page 2 - :foreground-texture-level 2 - ) - (new 'static 'generic-dma-foreground-sink - :bucket (bucket-id bucket-59) - :foreground-texture-page 2 - :foreground-texture-level 2 - :foreground-output-bucket 1 - ) - ) - ) - ) - :inside-sphere? #f - :inside-boxes? #f - :force-inside? #f - ) + (set! *level* + (new 'static 'level-group + :length 2 + :log-in-level-bsp #f + :loading-level #f + :entity-link #f + :border? #f + :want-level #f + :load-commands '() + :play? #f + :level0 + (new 'static 'level + :name #f + :status 'inactive + :foreground-sink-group + (new 'static 'inline-array dma-foreground-sink-group 3 + (new 'static 'dma-foreground-sink-group + :sink + (new 'static 'array dma-foreground-sink 3 + (new 'static 'dma-foreground-sink :bucket (bucket-id bucket-10)) + (new 'static 'generic-dma-foreground-sink :bucket (bucket-id bucket-11) :foreground-output-bucket 1) + ) + ) + (new 'static 'dma-foreground-sink-group + :sink + (new 'static 'array dma-foreground-sink 3 + (new 'static 'dma-foreground-sink :bucket (bucket-id bucket-49) :foreground-texture-page 1) + (new 'static 'generic-dma-foreground-sink + :bucket (bucket-id bucket-50) + :foreground-texture-page 1 + :foreground-output-bucket 1 + ) + ) + ) + (new 'static 'dma-foreground-sink-group + :sink + (new 'static 'array dma-foreground-sink 3 + (new 'static 'dma-foreground-sink :bucket (bucket-id bucket-58) :foreground-texture-page 2) + (new 'static 'generic-dma-foreground-sink + :bucket (bucket-id bucket-59) + :foreground-texture-page 2 + :foreground-output-bucket 1 + ) + ) + ) + ) + :inside-sphere? #f + :inside-boxes? #f + :force-inside? #f + ) + :level1 + (new 'static 'level + :name #f + :index 1 + :status 'inactive + :foreground-sink-group + (new 'static 'inline-array dma-foreground-sink-group 3 + (new 'static 'dma-foreground-sink-group + :sink + (new 'static 'array dma-foreground-sink 3 + (new 'static 'dma-foreground-sink :bucket (bucket-id bucket-17) :foreground-texture-level 1) + (new 'static 'generic-dma-foreground-sink + :bucket (bucket-id bucket-18) + :foreground-texture-level 1 + :foreground-output-bucket 1 + ) + ) + ) + (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 + (new 'static 'dma-foreground-sink + :bucket (bucket-id bucket-52) + :foreground-texture-page 1 + :foreground-texture-level 1 + ) + (new 'static 'generic-dma-foreground-sink + :bucket (bucket-id bucket-53) + :foreground-texture-page 1 + :foreground-texture-level 1 + :foreground-output-bucket 1 + ) + ) + ) + (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 + (new 'static 'dma-foreground-sink + :bucket (bucket-id bucket-61) + :foreground-texture-page 2 + :foreground-texture-level 1 + ) + (new 'static 'generic-dma-foreground-sink + :bucket (bucket-id bucket-62) + :foreground-texture-page 2 + :foreground-texture-level 1 + :foreground-output-bucket 1 + ) + ) + ) + ) + :inside-sphere? #f + :inside-boxes? #f + :force-inside? #f + ) + :level-default + (new 'static 'level + :name 'default + :index 2 + :status 'reserved + :foreground-sink-group + (new 'static 'inline-array dma-foreground-sink-group 3 + (new 'static 'dma-foreground-sink-group + :sink + (new 'static 'array dma-foreground-sink 3 + (new 'static 'dma-foreground-sink :bucket (bucket-id bucket-45) :foreground-texture-level 2) + (new 'static 'generic-dma-foreground-sink + :bucket (bucket-id bucket-46) + :foreground-texture-level 2 + :foreground-output-bucket 1 + ) + ) + ) + (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 + (new 'static 'dma-foreground-sink + :bucket (bucket-id bucket-55) + :foreground-texture-page 1 + :foreground-texture-level 2 + ) + (new 'static 'generic-dma-foreground-sink + :bucket (bucket-id bucket-56) + :foreground-texture-page 1 + :foreground-texture-level 2 + :foreground-output-bucket 1 + ) + ) + ) + (new 'static 'dma-foreground-sink-group :sink (new 'static 'array dma-foreground-sink 3 + (new 'static 'dma-foreground-sink + :bucket (bucket-id bucket-58) + :foreground-texture-page 2 + :foreground-texture-level 2 + ) + (new 'static 'generic-dma-foreground-sink + :bucket (bucket-id bucket-59) + :foreground-texture-page 2 + :foreground-texture-level 2 + :foreground-output-bucket 1 + ) + ) + ) + ) + :inside-sphere? #f + :inside-boxes? #f + :force-inside? #f + ) + ) + ) ) - ) - ) diff --git a/test/decompiler/reference/engine/level/level-info_REF.gc b/test/decompiler/reference/engine/level/level-info_REF.gc index 815fcf2234..742af7aa27 100644 --- a/test/decompiler/reference/engine/level/level-info_REF.gc +++ b/test/decompiler/reference/engine/level/level-info_REF.gc @@ -5,3524 +5,2454 @@ (define training (new 'static 'level-load-info - :index 1 - :name 'training - :visname 'training-vis - :nickname 'tra - :packages '(training) - :sound-banks '(training) - :music-bank 'village1 - :ambient-sounds '() - :mood '*training-mood* - :mood-func 'update-mood-training - :ocean '*ocean-map-village1* - :sky #t - :sun-fade 1.0 - :continues - '( - (new 'static 'continue-point - :name "training-start" - :level 'training - :trans - (new 'static 'vector :x -5393626.5 :y 28072.346 :z 4332472.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9995 :w 0.0297) - :camera-trans - (new 'static 'vector :x -5426915.0 :y 45930.906 :z 4353156.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.5571 - 0.0 - -0.8304 - 0.1264 - 0.9883 - -0.0848 - 0.8207 - -0.1522 - -0.5506 + :index 1 + :name 'training + :visname 'training-vis + :nickname 'tra + :packages '(training) + :sound-banks '(training) + :music-bank 'village1 + :ambient-sounds '() + :mood '*training-mood* + :mood-func 'update-mood-training + :ocean '*ocean-map-village1* + :sky #t + :sun-fade 1.0 + :continues + '((new 'static 'continue-point + :name "training-start" + :level 'training + :trans + (new 'static 'vector :x -5393626.5 :y 28072.346 :z 4332472.5 :w 1.0) + :quat + (new 'static 'quaternion :y 0.9995 :w 0.0297) + :camera-trans + (new 'static 'vector :x -5426915.0 :y 45930.906 :z 4353156.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.5571 0.0 -0.8304 0.1264 0.9883 -0.0848 0.8207 -0.1522 -0.5506) + :load-commands + '((special "med-res-level-1" #t) + (special "med-res-level-2" #t) + (special "med-res-level-4" #t) + (special "med-res-level-6" #t) + (special "med-res-level-7" #t) + (special "med-res-level-8" #t) + (special "med-res-level-9" #t) + (special "med-res-level-14" #t) + (special "med-res-level-22" #t) + (special "med-res-level-23" #t) + ) + :vis-nick 'tra + :lev0 'training + :disp0 'display + :lev1 'village1 + :disp1 'special ) - :load-commands - '( - (special - "med-res-level-1" - #t - ) - (special - "med-res-level-2" - #t + (new 'static 'continue-point + :name "training-warp" + :level 'training + :flags #x4 + :trans + (new 'static 'vector :x -5383524.0 :y 28019.098 :z 4360302.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.084 :w 0.9964) + :camera-trans + (new 'static 'vector :x -5366765.0 :y 45646.234 :z 4325889.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.9057 0.0 0.4238 -0.0666 0.9875 0.1424 -0.4186 -0.1572 0.8944) + :load-commands + '((special "med-res-level-1" #t) + (special "med-res-level-2" #t) + (special "med-res-level-4" #t) + (special "med-res-level-6" #t) + (special "med-res-level-7" #t) + (special "med-res-level-8" #t) + (special "med-res-level-9" #t) + (special "med-res-level-14" #t) + (special "med-res-level-22" #t) + (special "med-res-level-23" #t) ) - (special - "med-res-level-4" - #t - ) - (special - "med-res-level-6" - #t - ) - (special - "med-res-level-7" - #t - ) - (special - "med-res-level-8" - #t - ) - (special - "med-res-level-9" - #t - ) - (special - "med-res-level-14" - #t - ) - (special "med-res-level-22" #t) (special "med-res-level-23" #t) - ) - :vis-nick 'tra - :lev0 'training - :disp0 'display - :lev1 'village1 - :disp1 'special - ) - (new 'static 'continue-point - :name "training-warp" - :level 'training - :flags #x4 - :trans - (new 'static 'vector :x -5383524.0 :y 28019.098 :z 4360302.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.084 :w 0.9964) - :camera-trans - (new 'static 'vector :x -5366765.0 :y 45646.234 :z 4325889.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.9057 - 0.0 - 0.4238 - -0.0666 - 0.9875 - 0.1424 - -0.4186 - -0.1572 - 0.8944 - ) - :load-commands - '( - (special - "med-res-level-1" - #t - ) - (special - "med-res-level-2" - #t - ) - (special - "med-res-level-4" - #t - ) - (special - "med-res-level-6" - #t - ) - (special - "med-res-level-7" - #t - ) - (special - "med-res-level-8" - #t - ) - (special - "med-res-level-9" - #t - ) - (special - "med-res-level-14" - #t - ) - (special "med-res-level-22" #t) (special "med-res-level-23" #t) + :vis-nick 'tra + :lev0 'training + :disp0 'display + :lev1 'village1 + :disp1 'special + ) + (new 'static 'continue-point + :name "game-start" + :level 'training + :flags #x404 + :trans + (new 'static 'vector :x -5393740.5 :y 28259.533 :z 4360945.5 :w 1.0) + :quat + (new 'static 'quaternion :y 0.9993 :w 0.0359) + :camera-trans + (new 'static 'vector :x -5434444.5 :y 47050.344 :z 4372832.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.3536 0.0 -0.9353 0.1315 0.99 -0.0497 0.926 -0.1406 -0.35) + :load-commands + '((special "med-res-level-1" #t) + (special "med-res-level-2" #t) + (special "med-res-level-4" #t) + (special "med-res-level-6" #t) + (special "med-res-level-7" #t) + (special "med-res-level-8" #t) + (special "med-res-level-9" #t) + (special "med-res-level-14" #t) + (special "med-res-level-22" #t) + (special "med-res-level-23" #t) + ) + :vis-nick 'tra + :lev0 'training + :disp0 'display + :lev1 'village1 + :disp1 'special ) - :vis-nick 'tra - :lev0 'training - :disp0 'display - :lev1 'village1 - :disp1 'special ) - (new 'static 'continue-point - :name "game-start" - :level 'training - :flags #x404 - :trans - (new 'static 'vector :x -5393740.5 :y 28259.533 :z 4360945.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9993 :w 0.0359) - :camera-trans - (new 'static 'vector :x -5434444.5 :y 47050.344 :z 4372832.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.3536 - 0.0 - -0.9353 - 0.1315 - 0.99 - -0.0497 - 0.926 - -0.1406 - -0.35 - ) - :load-commands - '( - (special - "med-res-level-1" - #t - ) - (special - "med-res-level-2" - #t - ) - (special - "med-res-level-4" - #t - ) - (special - "med-res-level-6" - #t - ) - (special - "med-res-level-7" - #t - ) - (special - "med-res-level-8" - #t - ) - (special - "med-res-level-9" - #t - ) - (special - "med-res-level-14" - #t - ) - (special "med-res-level-22" #t) (special "med-res-level-23" #t) - ) - :vis-nick 'tra - :lev0 'training - :disp0 'display - :lev1 'village1 - :disp1 'special - ) - ) - :tasks - '( - (the binteger 92) (the binteger 93) (the binteger 94) (the binteger 95) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -5079040.0 :z 4055040.0 :w 1024000.0) - :buzzer 95 - :bottom-height (meters -114.0) - :run-packages '("common" "villagep") - :wait-for-load #f - ) + :tasks + '((the binteger 92) (the binteger 93) (the binteger 94) (the binteger 95)) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x -5079040.0 :z 4055040.0 :w 1024000.0) + :buzzer 95 + :bottom-height (meters -114.0) + :run-packages '("common" "villagep") + :wait-for-load #f + ) ) ;; definition for symbol village1, type level-load-info (define village1 (new 'static 'level-load-info - :index 2 - :name 'village1 - :visname 'village1-vis - :nickname 'vi1 - :packages '(village1) - :sound-banks '(village1) - :music-bank 'village1 - :ambient-sounds '() - :mood '*village1-mood* - :mood-func 'update-mood-village1 - :ocean '*ocean-map-village1* - :sky #t - :sun-fade 1.0 - :continues - '( - (new 'static 'continue-point - :name "village1-hut" - :level 'village1 - :trans - (new 'static 'vector :x -638860.06 :y 139319.7 :z 769990.6 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9889 :w -0.148) - :camera-trans - (new 'static 'vector :x -668114.1 :y 164536.31 :z 828633.06 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.8947 - 0.0 - -0.4464 - 0.1082 - 0.9701 - -0.2169 - 0.4331 - -0.2424 - -0.868 + :index 2 + :name 'village1 + :visname 'village1-vis + :nickname 'vi1 + :packages '(village1) + :sound-banks '(village1) + :music-bank 'village1 + :ambient-sounds '() + :mood '*village1-mood* + :mood-func 'update-mood-village1 + :ocean '*ocean-map-village1* + :sky #t + :sun-fade 1.0 + :continues + '((new 'static 'continue-point + :name "village1-hut" + :level 'village1 + :trans + (new 'static 'vector :x -638860.06 :y 139319.7 :z 769990.6 :w 1.0) + :quat + (new 'static 'quaternion :y -0.9889 :w -0.148) + :camera-trans + (new 'static 'vector :x -668114.1 :y 164536.31 :z 828633.06 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.8947 0.0 -0.4464 0.1082 0.9701 -0.2169 0.4331 -0.2424 -0.868) + :load-commands '() + :vis-nick 'vi1 + :lev0 'village1 + :disp0 'display + :lev1 'beach + :disp1 #f ) - :load-commands '() - :vis-nick 'vi1 - :lev0 'village1 - :disp0 'display - :lev1 'beach - :disp1 #f - ) - (new 'static 'continue-point - :name "village1-intro" - :level 'village1 - :flags #x24 - :trans - (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) - :quat - (new 'static 'quaternion :y 0.591 :w 0.8066) - :camera-trans - (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.7221 - 0.0 - -0.6917 - -0.0517 - 0.9972 - -0.054 - 0.6897 - 0.0747 - 0.7201 - ) - :load-commands '() - :vis-nick 'vi1 - :lev0 'village1 - :disp0 'display - :lev1 #f - :disp1 #f - ) - (new 'static 'continue-point - :name "village1-warp" - :level 'village1 - :flags #x804 - :trans - (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) - :quat - (new 'static 'quaternion :y 0.591 :w 0.8066) - :camera-trans - (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.7221 - 0.0 - -0.6917 - -0.0517 - 0.9972 - -0.054 - 0.6897 - 0.0747 - 0.7201 - ) - :load-commands '() - :vis-nick 'vi1 - :lev0 'village1 - :disp0 'display - :lev1 'beach - :disp1 #f - ) - (new 'static 'continue-point - :name "village1-demo-convo" - :level 'village1 - :flags #x40 - :trans - (new 'static 'vector :x -542529.1 :y 189424.03 :z 847101.94 :w 1.0) - :quat - (new 'static 'quaternion :y -0.1717 :w -0.9851) - :camera-trans - (new 'static 'vector :x -559085.2 :y 202996.53 :z 826054.25 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.7868 - 0.0 - -0.6171 - 0.0775 - 0.992 - 0.0989 - 0.6122 - -0.1257 - 0.7806 - ) - :load-commands '() - :vis-nick 'vi1 - :lev0 'village1 - :disp0 'display - :lev1 'misty - :disp1 #f - ) - (new 'static 'continue-point - :name "intro-start" - :level 'village1 - :flags #x10 - :trans - (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2339 :w 0.9722) - :camera-trans - (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.6381 - 0.0 - 0.7699 - -0.0938 - 0.9925 - 0.0777 - -0.7642 - -0.1218 - 0.6333 - ) - :load-commands - '( - (special - "med-res-level-1" - #t + (new 'static 'continue-point + :name "village1-intro" + :level 'village1 + :flags #x24 + :trans + (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) + :quat + (new 'static 'quaternion :y 0.591 :w 0.8066) + :camera-trans + (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.7221 0.0 -0.6917 -0.0517 0.9972 -0.054 0.6897 0.0747 0.7201) + :load-commands '() + :vis-nick 'vi1 + :lev0 'village1 + :disp0 'display + :lev1 #f + :disp1 #f + ) + (new 'static 'continue-point + :name "village1-warp" + :level 'village1 + :flags #x804 + :trans + (new 'static 'vector :x -518468.8 :y 189424.03 :z 868568.7 :w 1.0) + :quat + (new 'static 'quaternion :y 0.591 :w 0.8066) + :camera-trans + (new 'static 'vector :x -559109.3 :y 200461.92 :z 826073.06 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.7221 0.0 -0.6917 -0.0517 0.9972 -0.054 0.6897 0.0747 0.7201) + :load-commands '() + :vis-nick 'vi1 + :lev0 'village1 + :disp0 'display + :lev1 'beach + :disp1 #f + ) + (new 'static 'continue-point + :name "village1-demo-convo" + :level 'village1 + :flags #x40 + :trans + (new 'static 'vector :x -542529.1 :y 189424.03 :z 847101.94 :w 1.0) + :quat + (new 'static 'quaternion :y -0.1717 :w -0.9851) + :camera-trans + (new 'static 'vector :x -559085.2 :y 202996.53 :z 826054.25 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.7868 0.0 -0.6171 0.0775 0.992 0.0989 0.6122 -0.1257 0.7806) + :load-commands '() + :vis-nick 'vi1 + :lev0 'village1 + :disp0 'display + :lev1 'misty + :disp1 #f + ) + (new 'static 'continue-point + :name "intro-start" + :level 'village1 + :flags #x10 + :trans + (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.2339 :w 0.9722) + :camera-trans + (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.6381 0.0 0.7699 -0.0938 0.9925 0.0777 -0.7642 -0.1218 0.6333) + :load-commands + '((special "med-res-level-1" #t) + (special "med-res-level-2" #t) + (special "med-res-level-4" #t) + (special "med-res-level-6" #t) + (special "med-res-level-7" #t) + (special "med-res-level-8" #t) + (special "med-res-level-9" #t) + (special "med-res-level-11" #t) + (special "med-res-level-14" #t) + (special "med-res-level-22" #t) + (special "med-res-level-23" #t) + (special "fishermans-boat-2" #t) ) - (special - "med-res-level-2" - #t - ) - (special - "med-res-level-4" - #t - ) - (special - "med-res-level-6" - #t - ) - (special - "med-res-level-7" - #t - ) - (special - "med-res-level-8" - #t - ) - (special - "med-res-level-9" - #t - ) - (special - "med-res-level-11" - #t - ) - (special - "med-res-level-14" - #t - ) - (special - "med-res-level-22" - #t - ) - (special "med-res-level-23" #t) (special "fishermans-boat-2" #t) + :vis-nick 'vi1 + :lev0 'village1 + :disp0 'display + :lev1 'misty + :disp1 #f ) - :vis-nick 'vi1 - :lev0 'village1 - :disp0 'display - :lev1 'misty - :disp1 #f ) - ) - :tasks - '( - (the binteger 10) (the binteger 11) (the binteger 12) (the binteger 13) (the binteger 14) (the binteger 75) - ) - :priority #xc8 - :load-commands '() - :alt-load-commands - '( - ((display village1) - (load misty) - ) - ((special village1) (display misty)) ((display village1) (load beach)) - ) - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -444416.0 :y 133120.0 :z 360448.0 :w 843776.0) - :buzzer 75 - :bottom-height (meters -20.0) - :run-packages '("common") - :wait-for-load #t - ) + :tasks + '((the binteger 10) (the binteger 11) (the binteger 12) (the binteger 13) (the binteger 14) (the binteger 75)) + :priority #xc8 + :load-commands '() + :alt-load-commands + '(((display village1) (load misty)) ((special village1) (display misty)) ((display village1) (load beach))) + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x -444416.0 :y 133120.0 :z 360448.0 :w 843776.0) + :buzzer 75 + :bottom-height (meters -20.0) + :run-packages '("common") + :wait-for-load #t + ) ) ;; definition for symbol beach, type level-load-info (define beach (new 'static 'level-load-info - :index 3 - :name 'beach - :visname 'beach-vis - :nickname 'bea - :packages '(beach) - :sound-banks '(beach) - :music-bank 'beach - :ambient-sounds '() - :mood '*beach-mood* - :mood-func 'update-mood-village1 - :ocean '*ocean-map-village1* - :sky #t - :sun-fade 1.0 - :continues - '( - (new 'static 'continue-point - :name "beach-start" - :level 'beach - :trans - (new 'static 'vector :x -504960.22 :y 9477.325 :z -223513.81 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9486 :w -0.3163) - :camera-trans - (new 'static 'vector :x -487550.16 :y 28354.15 :z -184211.05 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9139 - 0.0 - 0.4058 - -0.0551 - 0.9907 - -0.1241 - -0.4021 - -0.1358 - -0.9054 + :index 3 + :name 'beach + :visname 'beach-vis + :nickname 'bea + :packages '(beach) + :sound-banks '(beach) + :music-bank 'beach + :ambient-sounds '() + :mood '*beach-mood* + :mood-func 'update-mood-village1 + :ocean '*ocean-map-village1* + :sky #t + :sun-fade 1.0 + :continues + '((new 'static 'continue-point + :name "beach-start" + :level 'beach + :trans + (new 'static 'vector :x -504960.22 :y 9477.325 :z -223513.81 :w 1.0) + :quat + (new 'static 'quaternion :y 0.9486 :w -0.3163) + :camera-trans + (new 'static 'vector :x -487550.16 :y 28354.15 :z -184211.05 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9139 0.0 0.4058 -0.0551 0.9907 -0.1241 -0.4021 -0.1358 -0.9054) + :load-commands '() + :vis-nick 'bea + :lev0 'beach + :disp0 'display + :lev1 'village1 + :disp1 'display ) - :load-commands '() - :vis-nick 'bea - :lev0 'beach - :disp0 'display - :lev1 'village1 - :disp1 'display + ) + :tasks + '((the binteger 15) + (the binteger 16) + (the binteger 17) + (the binteger 18) + (the binteger 19) + (the binteger 20) + (the binteger 21) + (the binteger 22) ) - ) - :tasks - '( - (the binteger 15) (the binteger 16) (the binteger 17) (the binteger 18) (the binteger 19) (the binteger 20) (the binteger 21) (the binteger 22) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -819200.0 :z -1556480.0 :w 1474560.0) - :buzzer 20 - :bottom-height (meters -20.0) - :run-packages '("common") - :wait-for-load #t - ) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x -819200.0 :z -1556480.0 :w 1474560.0) + :buzzer 20 + :bottom-height (meters -20.0) + :run-packages '("common") + :wait-for-load #t + ) ) ;; definition for symbol jungle, type level-load-info (define jungle (new 'static 'level-load-info - :index 4 - :name 'jungle - :visname 'jungle-vis - :nickname 'jun - :packages '(jungle) - :sound-banks '(jungle) - :music-bank 'jungle - :ambient-sounds '() - :mood '*jungle-mood* - :mood-func 'update-mood-jungle - :ocean '*ocean-map-village1* - :sky #t - :sun-fade 1.0 - :continues - '( - (new 'static 'continue-point - :name "jungle-start" - :level 'jungle - :trans - (new 'static 'vector :x 1057631.9 :y 86404.305 :z -647140.56 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9009 :w -0.4339) - :camera-trans - (new 'static 'vector :x 1004424.8 :y 111181.82 :z -611527.9 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.5568 - 0.0 - -0.8306 - 0.201 - 0.9702 - -0.1347 - 0.8059 - -0.2419 - -0.5402 + :index 4 + :name 'jungle + :visname 'jungle-vis + :nickname 'jun + :packages '(jungle) + :sound-banks '(jungle) + :music-bank 'jungle + :ambient-sounds '() + :mood '*jungle-mood* + :mood-func 'update-mood-jungle + :ocean '*ocean-map-village1* + :sky #t + :sun-fade 1.0 + :continues + '((new 'static 'continue-point + :name "jungle-start" + :level 'jungle + :trans + (new 'static 'vector :x 1057631.9 :y 86404.305 :z -647140.56 :w 1.0) + :quat + (new 'static 'quaternion :y -0.9009 :w -0.4339) + :camera-trans + (new 'static 'vector :x 1004424.8 :y 111181.82 :z -611527.9 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.5568 0.0 -0.8306 0.201 0.9702 -0.1347 0.8059 -0.2419 -0.5402) + :load-commands '() + :vis-nick 'jun + :lev0 'jungle + :disp0 'display + :lev1 'village1 + :disp1 'display ) - :load-commands '() - :vis-nick 'jun - :lev0 'jungle - :disp0 'display - :lev1 'village1 - :disp1 'display + ) + :tasks + '((the binteger 2) + (the binteger 3) + (the binteger 4) + (the binteger 5) + (the binteger 7) + (the binteger 8) + (the binteger 9) ) - ) - :tasks - '( - (the binteger 2) (the binteger 3) (the binteger 4) (the binteger 5) (the binteger 7) (the binteger 8) (the binteger 9) - ) - :priority 100 - :load-commands '() - :alt-load-commands - '( - ((display jungle) (display jungleb)) ((display jungle) (display village1)) - ) - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 1474560.0 :y 2519040.0 :z -983040.0 :w 2457600.0) - :buzzer 7 - :bottom-height (meters -20.0) - :run-packages '("common") - :wait-for-load #t - ) + :priority 100 + :load-commands '() + :alt-load-commands + '(((display jungle) (display jungleb)) ((display jungle) (display village1))) + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 1474560.0 :y 2519040.0 :z -983040.0 :w 2457600.0) + :buzzer 7 + :bottom-height (meters -20.0) + :run-packages '("common") + :wait-for-load #t + ) ) ;; definition for symbol jungleb, type level-load-info (define jungleb (new 'static 'level-load-info - :index 5 - :name 'jungleb - :visname 'jungleb-vis - :nickname 'jub - :packages '(jungleb) - :sound-banks '(jungleb) - :music-bank 'jungleb - :ambient-sounds '() - :mood '*jungleb-mood* - :mood-func 'update-mood-jungleb - :ocean 'none - :sky #f - :continues - '( - (new 'static 'continue-point - :name "jungle-tower" - :level 'jungleb - :trans - (new 'static 'vector :x 1469510.0 :y -204745.52 :z -959058.3 :w 1.0) - :quat - (new 'static 'quaternion :y -0.6194 :w -0.785) - :camera-trans - (new 'static 'vector :x 1485298.5 :y -189972.08 :z -936548.75 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.8614 - 0.0 - 0.5078 - -0.1177 - 0.9727 - -0.1997 - -0.4939 - -0.2318 - -0.8379 + :index 5 + :name 'jungleb + :visname 'jungleb-vis + :nickname 'jub + :packages '(jungleb) + :sound-banks '(jungleb) + :music-bank 'jungleb + :ambient-sounds '() + :mood '*jungleb-mood* + :mood-func 'update-mood-jungleb + :ocean 'none + :sky #f + :continues + '((new 'static 'continue-point + :name "jungle-tower" + :level 'jungleb + :trans + (new 'static 'vector :x 1469510.0 :y -204745.52 :z -959058.3 :w 1.0) + :quat + (new 'static 'quaternion :y -0.6194 :w -0.785) + :camera-trans + (new 'static 'vector :x 1485298.5 :y -189972.08 :z -936548.75 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.8614 0.0 0.5078 -0.1177 0.9727 -0.1997 -0.4939 -0.2318 -0.8379) + :load-commands '() + :vis-nick 'jub + :lev0 'jungle + :disp0 'display + :lev1 'jungleb + :disp1 'display ) - :load-commands '() - :vis-nick 'jub - :lev0 'jungle - :disp0 'display - :lev1 'jungleb - :disp1 'display - ) - ) - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsphere - (new 'static 'sphere :x 1486848.0 :y -1269760.0 :z -1064960.0 :w 1228800.0) - :buzzer 7 - :bottom-height (meters -80.0) - :run-packages '("common" "jungle") - :wait-for-load #f - ) + ) + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsphere + (new 'static 'sphere :x 1486848.0 :y -1269760.0 :z -1064960.0 :w 1228800.0) + :buzzer 7 + :bottom-height (meters -80.0) + :run-packages '("common" "jungle") + :wait-for-load #f + ) ) ;; definition for symbol misty, type level-load-info (define misty (new 'static 'level-load-info - :index 6 - :name 'misty - :visname 'misty-vis - :nickname 'mis - :packages '(misty) - :sound-banks '(misty) - :music-bank 'misty - :ambient-sounds '() - :mood '*misty-mood* - :mood-func 'update-mood-misty - :ocean '*ocean-map-village1* - :sky #t - :sun-fade 0.25 - :continues - '( - (new 'static 'continue-point - :name "misty-start" - :level 'misty - :trans - (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2339 :w 0.9722) - :camera-trans - (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.6381 - 0.0 - 0.7699 - -0.0938 - 0.9925 - 0.0777 - -0.7642 - -0.1218 - 0.6333 + :index 6 + :name 'misty + :visname 'misty-vis + :nickname 'mis + :packages '(misty) + :sound-banks '(misty) + :music-bank 'misty + :ambient-sounds '() + :mood '*misty-mood* + :mood-func 'update-mood-misty + :ocean '*ocean-map-village1* + :sky #t + :sun-fade 0.25 + :continues + '((new 'static 'continue-point + :name "misty-start" + :level 'misty + :trans + (new 'static 'vector :x 164316.78 :y 15128.576 :z 3390588.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.2339 :w 0.9722) + :camera-trans + (new 'static 'vector :x 204089.34 :y 36257.793 :z 3358341.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.6381 0.0 0.7699 -0.0938 0.9925 0.0777 -0.7642 -0.1218 0.6333) + :load-commands + '((special "med-res-level-1" #t) + (special "med-res-level-2" #t) + (special "med-res-level-4" #t) + (special "med-res-level-6" #t) + (special "med-res-level-7" #t) + (special "med-res-level-8" #t) + (special "med-res-level-9" #t) + (special "med-res-level-11" #t) + (special "med-res-level-14" #t) + (special "med-res-level-22" #t) + (special "med-res-level-23" #t) + (special "fishermans-boat-2" #t) + ) + :vis-nick 'mis + :lev0 'misty + :disp0 'display + :lev1 'village1 + :disp1 'special ) - :load-commands - '( - (special - "med-res-level-1" - #t - ) - (special - "med-res-level-2" - #t + (new 'static 'continue-point + :name "misty-silo" + :level 'misty + :trans + (new 'static 'vector :x -672503.0 :y 82131.35 :z 3651465.8 :w 1.0) + :quat + (new 'static 'quaternion :y 0.0878 :w 0.9961) + :camera-trans + (new 'static 'vector :x -675754.0 :y 102028.91 :z 3604800.8 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.9975 0.0 -0.0704 0.0086 0.9924 0.1223 0.0698 -0.1226 0.9899) + :load-commands + '((special "med-res-level-1" #t) + (special "med-res-level-2" #t) + (special "med-res-level-4" #t) + (special "med-res-level-6" #t) + (special "med-res-level-7" #t) + (special "med-res-level-8" #t) + (special "med-res-level-9" #t) + (special "med-res-level-11" #t) + (special "med-res-level-14" #t) + (special "med-res-level-22" #t) + (special "med-res-level-23" #t) + (special "fishermans-boat-2" #t) ) - (special - "med-res-level-4" - #t - ) - (special - "med-res-level-6" - #t - ) - (special - "med-res-level-7" - #t - ) - (special - "med-res-level-8" - #t - ) - (special - "med-res-level-9" - #t - ) - (special - "med-res-level-11" - #t - ) - (special - "med-res-level-14" - #t - ) - (special - "med-res-level-22" - #t - ) - (special "med-res-level-23" #t) (special "fishermans-boat-2" #t) - ) - :vis-nick 'mis - :lev0 'misty - :disp0 'display - :lev1 'village1 - :disp1 'special - ) - (new 'static 'continue-point - :name "misty-silo" - :level 'misty - :trans - (new 'static 'vector :x -672503.0 :y 82131.35 :z 3651465.8 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0878 :w 0.9961) - :camera-trans - (new 'static 'vector :x -675754.0 :y 102028.91 :z 3604800.8 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.9975 - 0.0 - -0.0704 - 0.0086 - 0.9924 - 0.1223 - 0.0698 - -0.1226 - 0.9899 - ) - :load-commands - '( - (special - "med-res-level-1" - #t - ) - (special - "med-res-level-2" - #t - ) - (special - "med-res-level-4" - #t - ) - (special - "med-res-level-6" - #t - ) - (special - "med-res-level-7" - #t - ) - (special - "med-res-level-8" - #t - ) - (special - "med-res-level-9" - #t - ) - (special - "med-res-level-11" - #t - ) - (special - "med-res-level-14" - #t - ) - (special - "med-res-level-22" - #t - ) - (special "med-res-level-23" #t) (special "fishermans-boat-2" #t) + :vis-nick 'mis + :lev0 'misty + :disp0 'display + :lev1 'village1 + :disp1 'special + ) + (new 'static 'continue-point + :name "misty-bike" + :level 'misty + :trans + (new 'static 'vector :x 302533.44 :y 35901.848 :z 4138967.8 :w 1.0) + :quat + (new 'static 'quaternion :y -0.2809 :w 0.9597) + :camera-trans + (new 'static 'vector :x 338476.25 :y 55700.684 :z 4109729.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.6308 0.0 0.7759 -0.096 0.9923 0.078 -0.7699 -0.1237 0.6259) + :load-commands + '((special "med-res-level-1" #t) + (special "med-res-level-2" #t) + (special "med-res-level-4" #t) + (special "med-res-level-6" #t) + (special "med-res-level-7" #t) + (special "med-res-level-8" #t) + (special "med-res-level-9" #t) + (special "med-res-level-11" #t) + (special "med-res-level-14" #t) + (special "med-res-level-22" #t) + (special "med-res-level-23" #t) + (special "fishermans-boat-2" #t) + ) + :vis-nick 'mis + :lev0 'misty + :disp0 'display + :lev1 'village1 + :disp1 'special + ) + (new 'static 'continue-point + :name "misty-backside" + :level 'misty + :trans + (new 'static 'vector :x -304192.72 :y 33270.99 :z 4646525.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.8443 :w -0.5357) + :camera-trans + (new 'static 'vector :x -346989.78 :y 54377.676 :z 4674685.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.5497 0.0 -0.8353 0.1009 0.9926 -0.0664 0.8291 -0.1208 -0.5457) + :load-commands + '((special "med-res-level-1" #t) + (special "med-res-level-2" #t) + (special "med-res-level-4" #t) + (special "med-res-level-6" #t) + (special "med-res-level-7" #t) + (special "med-res-level-8" #t) + (special "med-res-level-9" #t) + (special "med-res-level-11" #t) + (special "med-res-level-14" #t) + (special "med-res-level-22" #t) + (special "med-res-level-23" #t) + (special "fishermans-boat-2" #t) + ) + :vis-nick 'mis + :lev0 'misty + :disp0 'display + :lev1 'village1 + :disp1 'special + ) + (new 'static 'continue-point + :name "misty-silo2" + :level 'misty + :trans + (new 'static 'vector :x -898000.06 :y 98038.17 :z 4162091.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.1102 :w 0.9938) + :camera-trans + (new 'static 'vector :x -931459.9 :y 118198.68 :z 4196081.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.6605 0.0 -0.7508 0.1086 0.9894 -0.0955 0.7429 -0.1447 -0.6535) + :load-commands + '((special "med-res-level-1" #t) + (special "med-res-level-2" #t) + (special "med-res-level-4" #t) + (special "med-res-level-6" #t) + (special "med-res-level-7" #t) + (special "med-res-level-8" #t) + (special "med-res-level-9" #t) + (special "med-res-level-11" #t) + (special "med-res-level-14" #t) + (special "med-res-level-22" #t) + (special "med-res-level-23" #t) + (special "fishermans-boat-2" #t) + ) + :vis-nick 'mis + :lev0 'misty + :disp0 'display + :lev1 'village1 + :disp1 'special ) - :vis-nick 'mis - :lev0 'misty - :disp0 'display - :lev1 'village1 - :disp1 'special ) - (new 'static 'continue-point - :name "misty-bike" - :level 'misty - :trans - (new 'static 'vector :x 302533.44 :y 35901.848 :z 4138967.8 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2809 :w 0.9597) - :camera-trans - (new 'static 'vector :x 338476.25 :y 55700.684 :z 4109729.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.6308 - 0.0 - 0.7759 - -0.096 - 0.9923 - 0.078 - -0.7699 - -0.1237 - 0.6259 + :tasks + '((the binteger 23) + (the binteger 24) + (the binteger 25) + (the binteger 26) + (the binteger 27) + (the binteger 28) + (the binteger 29) + (the binteger 30) ) - :load-commands - '( - (special - "med-res-level-1" - #t - ) - (special - "med-res-level-2" - #t - ) - (special - "med-res-level-4" - #t - ) - (special - "med-res-level-6" - #t - ) - (special - "med-res-level-7" - #t - ) - (special - "med-res-level-8" - #t - ) - (special - "med-res-level-9" - #t - ) - (special - "med-res-level-11" - #t - ) - (special - "med-res-level-14" - #t - ) - (special - "med-res-level-22" - #t - ) - (special "med-res-level-23" #t) (special "fishermans-boat-2" #t) - ) - :vis-nick 'mis - :lev0 'misty - :disp0 'display - :lev1 'village1 - :disp1 'special - ) - (new 'static 'continue-point - :name "misty-backside" - :level 'misty - :trans - (new 'static 'vector :x -304192.72 :y 33270.99 :z 4646525.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8443 :w -0.5357) - :camera-trans - (new 'static 'vector :x -346989.78 :y 54377.676 :z 4674685.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.5497 - 0.0 - -0.8353 - 0.1009 - 0.9926 - -0.0664 - 0.8291 - -0.1208 - -0.5457 - ) - :load-commands - '( - (special - "med-res-level-1" - #t - ) - (special - "med-res-level-2" - #t - ) - (special - "med-res-level-4" - #t - ) - (special - "med-res-level-6" - #t - ) - (special - "med-res-level-7" - #t - ) - (special - "med-res-level-8" - #t - ) - (special - "med-res-level-9" - #t - ) - (special - "med-res-level-11" - #t - ) - (special - "med-res-level-14" - #t - ) - (special - "med-res-level-22" - #t - ) - (special "med-res-level-23" #t) (special "fishermans-boat-2" #t) - ) - :vis-nick 'mis - :lev0 'misty - :disp0 'display - :lev1 'village1 - :disp1 'special - ) - (new 'static 'continue-point - :name "misty-silo2" - :level 'misty - :trans - (new 'static 'vector :x -898000.06 :y 98038.17 :z 4162091.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.1102 :w 0.9938) - :camera-trans - (new 'static 'vector :x -931459.9 :y 118198.68 :z 4196081.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.6605 - 0.0 - -0.7508 - 0.1086 - 0.9894 - -0.0955 - 0.7429 - -0.1447 - -0.6535 - ) - :load-commands - '( - (special - "med-res-level-1" - #t - ) - (special - "med-res-level-2" - #t - ) - (special - "med-res-level-4" - #t - ) - (special - "med-res-level-6" - #t - ) - (special - "med-res-level-7" - #t - ) - (special - "med-res-level-8" - #t - ) - (special - "med-res-level-9" - #t - ) - (special - "med-res-level-11" - #t - ) - (special - "med-res-level-14" - #t - ) - (special - "med-res-level-22" - #t - ) - (special "med-res-level-23" #t) (special "fishermans-boat-2" #t) - ) - :vis-nick 'mis - :lev0 'misty - :disp0 'display - :lev1 'village1 - :disp1 'special - ) - ) - :tasks - '( - (the binteger 23) (the binteger 24) (the binteger 25) (the binteger 26) (the binteger 27) (the binteger 28) (the binteger 29) (the binteger 30) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :z 4096000.0 :w 1269760.0) - :buzzer 28 - :bottom-height (meters -20.0) - :run-packages '("common") - :wait-for-load #f - ) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :z 4096000.0 :w 1269760.0) + :buzzer 28 + :bottom-height (meters -20.0) + :run-packages '("common") + :wait-for-load #f + ) ) ;; definition for symbol firecanyon, type level-load-info (define firecanyon (new 'static 'level-load-info - :index 7 - :name 'firecanyon - :visname 'firecanyon-vis - :nickname 'fic - :packages '(firecanyon) - :sound-banks '(firecanyon) - :music-bank 'firecanyon - :ambient-sounds '() - :mood '*firecanyon-mood* - :mood-func 'update-mood-firecanyon - :ocean 'none - :sky #t - :continues - '( - (new 'static 'continue-point - :name "firecanyon-start" - :level 'firecanyon - :trans - (new 'static 'vector :x -87377.1 :y 126444.75 :z -681697.25 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9921 :w -0.1246) - :camera-trans - (new 'static 'vector :x -84559.055 :y 144685.47 :z -641194.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9976 - 0.0 - 0.0688 - -0.01 - 0.9893 - -0.1452 - -0.068 - -0.1456 - -0.9869 + :index 7 + :name 'firecanyon + :visname 'firecanyon-vis + :nickname 'fic + :packages '(firecanyon) + :sound-banks '(firecanyon) + :music-bank 'firecanyon + :ambient-sounds '() + :mood '*firecanyon-mood* + :mood-func 'update-mood-firecanyon + :ocean 'none + :sky #t + :continues + '((new 'static 'continue-point + :name "firecanyon-start" + :level 'firecanyon + :trans + (new 'static 'vector :x -87377.1 :y 126444.75 :z -681697.25 :w 1.0) + :quat + (new 'static 'quaternion :y 0.9921 :w -0.1246) + :camera-trans + (new 'static 'vector :x -84559.055 :y 144685.47 :z -641194.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9976 0.0 0.0688 -0.01 0.9893 -0.1452 -0.068 -0.1456 -0.9869) + :load-commands '() + :vis-nick 'fic + :lev0 'firecanyon + :disp0 'display + :lev1 'village1 + :disp1 'display + ) + (new 'static 'continue-point + :name "firecanyon-end" + :level 'firecanyon + :trans + (new 'static 'vector :x 1360576.1 :y 126976.0 :z -5839533.5 :w 1.0) + :quat + (new 'static 'quaternion :y 0.1666 :w 0.986) + :camera-trans + (new 'static 'vector :x 1378912.6 :y 144452.81 :z -5872527.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.8847 0.0 0.466 -0.0744 0.9871 0.1414 -0.46 -0.1598 0.8733) + :load-commands '() + :vis-nick 'fic + :lev0 'village2 + :disp0 'display + :lev1 'firecanyon + :disp1 'display ) - :load-commands '() - :vis-nick 'fic - :lev0 'firecanyon - :disp0 'display - :lev1 'village1 - :disp1 'display - ) - (new 'static 'continue-point - :name "firecanyon-end" - :level 'firecanyon - :trans - (new 'static 'vector :x 1360576.1 :y 126976.0 :z -5839533.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.1666 :w 0.986) - :camera-trans - (new 'static 'vector :x 1378912.6 :y 144452.81 :z -5872527.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.8847 - 0.0 - 0.466 - -0.0744 - 0.9871 - 0.1414 - -0.46 - -0.1598 - 0.8733 - ) - :load-commands '() - :vis-nick 'fic - :lev0 'village2 - :disp0 'display - :lev1 'firecanyon - :disp1 'display ) - ) - :tasks - '( - (the binteger 68) (the binteger 69) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 419840.0 :y 151552.0 :z -3006464.0 :w 2048000.0) - :buzzer 68 - :bottom-height (meters -20.0) - :run-packages '("common") - :wait-for-load #t - ) + :tasks + '((the binteger 68) (the binteger 69)) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 419840.0 :y 151552.0 :z -3006464.0 :w 2048000.0) + :buzzer 68 + :bottom-height (meters -20.0) + :run-packages '("common") + :wait-for-load #t + ) ) ;; definition for symbol village2, type level-load-info (define village2 (new 'static 'level-load-info - :index 8 - :name 'village2 - :visname 'village2-vis - :nickname 'vi2 - :packages '(village2) - :sound-banks '(village2) - :music-bank 'village2 - :ambient-sounds '() - :mood '*village2-mood* - :mood-func 'update-mood-village2 - :ocean '*ocean-map-village2* - :sky #t - :continues - '( - (new 'static 'continue-point - :name "village2-start" - :level 'village2 - :trans - (new 'static 'vector :x 1460961.2 :y 108562.02 :z -6161391.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9917 :w 0.1278) - :camera-trans - (new 'static 'vector :x 1468018.8 :y 133790.92 :z -6096227.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9941 - 0.0 - 0.1076 - -0.0261 - 0.9699 - -0.2418 - -0.1044 - -0.2432 - -0.9643 + :index 8 + :name 'village2 + :visname 'village2-vis + :nickname 'vi2 + :packages '(village2) + :sound-banks '(village2) + :music-bank 'village2 + :ambient-sounds '() + :mood '*village2-mood* + :mood-func 'update-mood-village2 + :ocean '*ocean-map-village2* + :sky #t + :continues + '((new 'static 'continue-point + :name "village2-start" + :level 'village2 + :trans + (new 'static 'vector :x 1460961.2 :y 108562.02 :z -6161391.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.9917 :w 0.1278) + :camera-trans + (new 'static 'vector :x 1468018.8 :y 133790.92 :z -6096227.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9941 0.0 0.1076 -0.0261 0.9699 -0.2418 -0.1044 -0.2432 -0.9643) + :load-commands '() + :vis-nick 'vi2 + :lev0 'village2 + :disp0 'display + :lev1 'firecanyon + :disp1 #f + ) + (new 'static 'continue-point + :name "village2-warp" + :level 'village2 + :flags #x4 + :trans + (new 'static 'vector :x 1592492.9 :y 91648.0 :z -6328677.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.7469 :w 0.6648) + :camera-trans + (new 'static 'vector :x 1555766.1 :y 103759.46 :z -6318964.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.2562 0.0 -0.9666 -0.0253 0.9996 0.0067 0.9662 0.0262 -0.2561) + :load-commands '() + :vis-nick 'vi2 + :lev0 'village2 + :disp0 'display + :lev1 'firecanyon + :disp1 #f + ) + (new 'static 'continue-point + :name "village2-dock" + :level 'village2 + :trans + (new 'static 'vector :x 1264346.8 :y 19451.494 :z -6833563.5 :w 1.0) + :quat + (new 'static 'quaternion :y 0.0258 :w 0.9996) + :camera-trans + (new 'static 'vector :x 1265547.2 :y 34647.656 :z -6862636.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.9991 0.0 0.0411 -0.0088 0.9764 0.2155 -0.0401 -0.2156 0.9756) + :load-commands '() + :vis-nick 'vi2 + :lev0 'village2 + :disp0 'display + :lev1 'rolling + :disp1 #f ) - :load-commands '() - :vis-nick 'vi2 - :lev0 'village2 - :disp0 'display - :lev1 'firecanyon - :disp1 #f - ) - (new 'static 'continue-point - :name "village2-warp" - :level 'village2 - :flags #x4 - :trans - (new 'static 'vector :x 1592492.9 :y 91648.0 :z -6328677.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7469 :w 0.6648) - :camera-trans - (new 'static 'vector :x 1555766.1 :y 103759.46 :z -6318964.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.2562 - 0.0 - -0.9666 - -0.0253 - 0.9996 - 0.0067 - 0.9662 - 0.0262 - -0.2561 - ) - :load-commands '() - :vis-nick 'vi2 - :lev0 'village2 - :disp0 'display - :lev1 'firecanyon - :disp1 #f ) - (new 'static 'continue-point - :name "village2-dock" - :level 'village2 - :trans - (new 'static 'vector :x 1264346.8 :y 19451.494 :z -6833563.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0258 :w 0.9996) - :camera-trans - (new 'static 'vector :x 1265547.2 :y 34647.656 :z -6862636.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.9991 - 0.0 - 0.0411 - -0.0088 - 0.9764 - 0.2155 - -0.0401 - -0.2156 - 0.9756 - ) - :load-commands '() - :vis-nick 'vi2 - :lev0 'village2 - :disp0 'display - :lev1 'rolling - :disp1 #f - ) - ) - :tasks - '( - (the binteger 31) (the binteger 32) (the binteger 34) (the binteger 35) (the binteger 76) - ) - :priority #xc8 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 1392640.0 :y 81920.0 :z -6770688.0 :w 696320.0) - :buzzer 76 - :bottom-height (meters -20.0) - :run-packages '("common") - :wait-for-load #t - ) + :tasks + '((the binteger 31) (the binteger 32) (the binteger 34) (the binteger 35) (the binteger 76)) + :priority #xc8 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 1392640.0 :y 81920.0 :z -6770688.0 :w 696320.0) + :buzzer 76 + :bottom-height (meters -20.0) + :run-packages '("common") + :wait-for-load #t + ) ) ;; definition for symbol sunken, type level-load-info (define sunken (new 'static 'level-load-info - :index 9 - :name 'sunken - :visname 'sunken-vis - :nickname 'sun - :packages '(sunken) - :sound-banks '(sunken) - :music-bank 'sunken - :ambient-sounds '() - :mood '*sunken-mood* - :mood-func 'update-mood-sunken - :ocean '*ocean-map-sunken* - :sky #f - :continues - '( - (new 'static 'continue-point - :name "sunken-start" - :level 'sunken - :trans - (new 'static 'vector :x 2172095.2 :y -591749.94 :z -6721553.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.5083 :w 0.8611) - :camera-trans - (new 'static 'vector :x 2138871.5 :y -572296.4 :z -6751967.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.7575 - 0.0 - -0.6527 - 0.0858 - 0.9913 - 0.0995 - 0.647 - -0.1314 - 0.7509 + :index 9 + :name 'sunken + :visname 'sunken-vis + :nickname 'sun + :packages '(sunken) + :sound-banks '(sunken) + :music-bank 'sunken + :ambient-sounds '() + :mood '*sunken-mood* + :mood-func 'update-mood-sunken + :ocean '*ocean-map-sunken* + :sky #f + :continues + '((new 'static 'continue-point + :name "sunken-start" + :level 'sunken + :trans + (new 'static 'vector :x 2172095.2 :y -591749.94 :z -6721553.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.5083 :w 0.8611) + :camera-trans + (new 'static 'vector :x 2138871.5 :y -572296.4 :z -6751967.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.7575 0.0 -0.6527 0.0858 0.9913 0.0995 0.647 -0.1314 0.7509) + :load-commands '() + :vis-nick 'sun + :lev0 'sunken + :disp0 'display + :lev1 'village2 + :disp1 'display + ) + (new 'static 'continue-point + :name "sunken1" + :level 'sunken + :trans + (new 'static 'vector :x 3062988.5 :y -536575.56 :z -6527484.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.5304 :w 0.8477) + :camera-trans + (new 'static 'vector :x 3015461.2 :y -515480.38 :z -6546573.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.3725 0.0 -0.928 0.1121 0.9926 0.045 0.9212 -0.1208 0.3697) + :load-commands '() + :vis-nick 'sun + :lev0 'sunken + :disp0 'display + :lev1 'sunkenb + :disp1 #f + ) + (new 'static 'continue-point + :name "sunken2" + :level 'sunken + :trans + (new 'static 'vector :x 3133625.5 :y -569343.56 :z -6909587.5 :w 1.0) + :quat + (new 'static 'quaternion :y -0.9512 :w 0.3083) + :camera-trans + (new 'static 'vector :x 3170833.2 :y -548244.25 :z -6874378.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.6872 0.0 0.7263 -0.0878 0.9926 -0.0831 -0.721 -0.1209 -0.6822) + :load-commands '() + :vis-nick 'sun + :lev0 'sunken + :disp0 'display + :lev1 'sunkenb + :disp1 #f + ) + (new 'static 'continue-point + :name "sunken-tube1" + :level 'sunken + :trans + (new 'static 'vector :x 2649601.8 :y -569343.56 :z -7132970.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.9936 :w 0.1124) + :camera-trans + (new 'static 'vector :x 2636150.2 :y -555656.4 :z -7114732.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.8024 0.0 -0.5967 0.1721 0.9574 -0.2315 0.5713 -0.2885 -0.7683) + :load-commands '() + :vis-nick 'sun + :lev0 'sunken + :disp0 'display + :lev1 'sunkenb + :disp1 #f ) - :load-commands '() - :vis-nick 'sun - :lev0 'sunken - :disp0 'display - :lev1 'village2 - :disp1 'display - ) - (new 'static 'continue-point - :name "sunken1" - :level 'sunken - :trans - (new 'static 'vector :x 3062988.5 :y -536575.56 :z -6527484.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.5304 :w 0.8477) - :camera-trans - (new 'static 'vector :x 3015461.2 :y -515480.38 :z -6546573.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.3725 - 0.0 - -0.928 - 0.1121 - 0.9926 - 0.045 - 0.9212 - -0.1208 - 0.3697 - ) - :load-commands '() - :vis-nick 'sun - :lev0 'sunken - :disp0 'display - :lev1 'sunkenb - :disp1 #f ) - (new 'static 'continue-point - :name "sunken2" - :level 'sunken - :trans - (new 'static 'vector :x 3133625.5 :y -569343.56 :z -6909587.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9512 :w 0.3083) - :camera-trans - (new 'static 'vector :x 3170833.2 :y -548244.25 :z -6874378.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.6872 - 0.0 - 0.7263 - -0.0878 - 0.9926 - -0.0831 - -0.721 - -0.1209 - -0.6822 - ) - :load-commands '() - :vis-nick 'sun - :lev0 'sunken - :disp0 'display - :lev1 'sunkenb - :disp1 #f - ) - (new 'static 'continue-point - :name "sunken-tube1" - :level 'sunken - :trans - (new 'static 'vector :x 2649601.8 :y -569343.56 :z -7132970.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9936 :w 0.1124) - :camera-trans - (new 'static 'vector :x 2636150.2 :y -555656.4 :z -7114732.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.8024 - 0.0 - -0.5967 - 0.1721 - 0.9574 - -0.2315 - 0.5713 - -0.2885 - -0.7683 - ) - :load-commands '() - :vis-nick 'sun - :lev0 'sunken - :disp0 'display - :lev1 'sunkenb - :disp1 #f - ) - ) - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) - :buzzer 49 - :bottom-height (meters -500.0) - :run-packages '("common") - :wait-for-load #f - ) + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) + :buzzer 49 + :bottom-height (meters -500.0) + :run-packages '("common") + :wait-for-load #f + ) ) ;; definition for symbol sunkenb, type level-load-info (define sunkenb (new 'static 'level-load-info - :index 10 - :name 'sunkenb - :visname 'sunkenb-vis - :nickname 'sub - :packages '() - :sound-banks '(sunken) - :music-bank 'sunken - :ambient-sounds '() - :mood '*sunkenb-mood* - :mood-func 'update-mood-sunken - :ocean '*ocean-map-sunken* - :sky #t - :continues - '( - (new 'static 'continue-point - :name "sunkenb-start" - :level 'sunkenb - :trans - (new 'static 'vector :x 2229231.2 :y -1019912.2 :z -6788748.5 :w 1.0) - :quat - (new 'static 'quaternion :y 0.895 :w 0.446) - :camera-trans - (new 'static 'vector :x 2187840.0 :y -998915.7 :z -6759328.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.5786 - 0.0 - -0.8155 - 0.0992 - 0.9925 - -0.0704 - 0.8094 - -0.1217 - -0.5743 + :index 10 + :name 'sunkenb + :visname 'sunkenb-vis + :nickname 'sub + :packages '() + :sound-banks '(sunken) + :music-bank 'sunken + :ambient-sounds '() + :mood '*sunkenb-mood* + :mood-func 'update-mood-sunken + :ocean '*ocean-map-sunken* + :sky #t + :continues + '((new 'static 'continue-point + :name "sunkenb-start" + :level 'sunkenb + :trans + (new 'static 'vector :x 2229231.2 :y -1019912.2 :z -6788748.5 :w 1.0) + :quat + (new 'static 'quaternion :y 0.895 :w 0.446) + :camera-trans + (new 'static 'vector :x 2187840.0 :y -998915.7 :z -6759328.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.5786 0.0 -0.8155 0.0992 0.9925 -0.0704 0.8094 -0.1217 -0.5743) + :load-commands '((alive "exit-chamber-1")) + :vis-nick 'sub + :lev0 'sunken + :disp0 'display + :lev1 'sunkenb + :disp1 'display + ) + (new 'static 'continue-point + :name "sunkenb-helix" + :level 'sunkenb + :trans + (new 'static 'vector :x 2466572.8 :y -1838989.2 :z -7299582.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.8841 :w 0.4672) + :camera-trans + (new 'static 'vector :x 2515616.2 :y -1817888.4 :z -7284843.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.2889 0.0 0.9573 -0.1163 0.9925 -0.0351 -0.9502 -0.1214 -0.2867) + :load-commands '() + :vis-nick 'sub + :lev0 'sunken + :disp0 'display + :lev1 'sunkenb + :disp1 'display ) - :load-commands '((alive "exit-chamber-1")) - :vis-nick 'sub - :lev0 'sunken - :disp0 'display - :lev1 'sunkenb - :disp1 'display - ) - (new 'static 'continue-point - :name "sunkenb-helix" - :level 'sunkenb - :trans - (new 'static 'vector :x 2466572.8 :y -1838989.2 :z -7299582.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8841 :w 0.4672) - :camera-trans - (new 'static 'vector :x 2515616.2 :y -1817888.4 :z -7284843.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.2889 - 0.0 - 0.9573 - -0.1163 - 0.9925 - -0.0351 - -0.9502 - -0.1214 - -0.2867 - ) - :load-commands '() - :vis-nick 'sub - :lev0 'sunken - :disp0 'display - :lev1 'sunkenb - :disp1 'display ) - ) - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) - :buzzer 49 - :bottom-height (meters -500.0) - :run-packages '("common" "sunken") - :wait-for-load #f - ) + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 2867200.0 :y -2048000.0 :z -6553600.0 :w 2048000.0) + :buzzer 49 + :bottom-height (meters -500.0) + :run-packages '("common" "sunken") + :wait-for-load #f + ) ) ;; definition for symbol swamp, type level-load-info (define swamp (new 'static 'level-load-info - :index 11 - :name 'swamp - :visname 'swamp-vis - :nickname 'swa - :packages '(swamp) - :sound-banks '(swamp) - :music-bank 'swamp - :ambient-sounds '() - :mood '*swamp-mood* - :mood-func 'update-mood-swamp - :ocean '*ocean-map-village2* - :sky #t - :continues - '( - (new 'static 'continue-point - :name "swamp-start" - :level 'swamp - :trans - (new 'static 'vector :x 1842537.2 :y 21027.227 :z -7333297.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9933 :w 0.1153) - :camera-trans - (new 'static 'vector :x 1862529.9 :y 44371.56 :z -7277995.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9403 - 0.0 - 0.3402 - -0.0814 - 0.9708 - -0.2252 - -0.3303 - -0.2394 - -0.9129 + :index 11 + :name 'swamp + :visname 'swamp-vis + :nickname 'swa + :packages '(swamp) + :sound-banks '(swamp) + :music-bank 'swamp + :ambient-sounds '() + :mood '*swamp-mood* + :mood-func 'update-mood-swamp + :ocean '*ocean-map-village2* + :sky #t + :continues + '((new 'static 'continue-point + :name "swamp-start" + :level 'swamp + :trans + (new 'static 'vector :x 1842537.2 :y 21027.227 :z -7333297.5 :w 1.0) + :quat + (new 'static 'quaternion :y -0.9933 :w 0.1153) + :camera-trans + (new 'static 'vector :x 1862529.9 :y 44371.56 :z -7277995.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9403 0.0 0.3402 -0.0814 0.9708 -0.2252 -0.3303 -0.2394 -0.9129) + :load-commands + '((special "swamp-blimp-3" #t) + (special "precursor-arm-3" #t) + (special "swamp-tetherrock-13" #t) + (special "swamp-tetherrock-14" #t) + (special "swamp-tetherrock-15" #t) + (special "swamp-tetherrock-16" #t) + ) + :vis-nick 'swa + :lev0 'swamp + :disp0 'display + :lev1 'village2 + :disp1 'display ) - :load-commands - '( - (special - "swamp-blimp-3" - #t - ) - (special - "precursor-arm-3" - #t + (new 'static 'continue-point + :name "swamp-dock1" + :level 'swamp + :trans + (new 'static 'vector :x 1360386.9 :y 5823.693 :z -8218890.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.585 :w -0.811) + :camera-trans + (new 'static 'vector :x 1314475.6 :y 26164.838 :z -8234152.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.3154 0.0 -0.9489 0.1134 0.9928 0.0376 0.9421 -0.1195 0.3131) + :load-commands + '((special "swamp-blimp-3" #t) + (special "precursor-arm-3" #t) + (special "swamp-tetherrock-13" #t) + (special "swamp-tetherrock-14" #t) + (special "swamp-tetherrock-15" #t) + (special "swamp-tetherrock-16" #t) ) - (special - "swamp-tetherrock-13" - #t - ) - (special - "swamp-tetherrock-14" - #t - ) - (special "swamp-tetherrock-15" #t) (special "swamp-tetherrock-16" #t) - ) - :vis-nick 'swa - :lev0 'swamp - :disp0 'display - :lev1 'village2 - :disp1 'display - ) - (new 'static 'continue-point - :name "swamp-dock1" - :level 'swamp - :trans - (new 'static 'vector :x 1360386.9 :y 5823.693 :z -8218890.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.585 :w -0.811) - :camera-trans - (new 'static 'vector :x 1314475.6 :y 26164.838 :z -8234152.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.3154 - 0.0 - -0.9489 - 0.1134 - 0.9928 - 0.0376 - 0.9421 - -0.1195 - 0.3131 - ) - :load-commands - '( - (special - "swamp-blimp-3" - #t - ) - (special - "precursor-arm-3" - #t - ) - (special - "swamp-tetherrock-13" - #t - ) - (special - "swamp-tetherrock-14" - #t - ) - (special "swamp-tetherrock-15" #t) (special "swamp-tetherrock-16" #t) + :vis-nick 'swa + :lev0 'swamp + :disp0 'display + :lev1 'village2 + :disp1 'special-vis + ) + (new 'static 'continue-point + :name "swamp-cave1" + :level 'swamp + :trans + (new 'static 'vector :x 1553700.5 :y 1835.4176 :z -8258429.5 :w 1.0) + :quat + (new 'static 'quaternion :y -0.9871 :w -0.1599) + :camera-trans + (new 'static 'vector :x 1556873.2 :y 22715.598 :z -8208106.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9982 0.0 0.0596 -0.0072 0.9926 -0.1209 -0.0592 -0.1211 -0.9908) + :load-commands + '((special "swamp-blimp-3" #t) + (special "precursor-arm-3" #t) + (special "swamp-tetherrock-13" #t) + (special "swamp-tetherrock-14" #t) + (special "swamp-tetherrock-15" #t) + (special "swamp-tetherrock-16" #t) + ) + :vis-nick 'swa + :lev0 'swamp + :disp0 'display + :lev1 'village2 + :disp1 'special-vis + ) + (new 'static 'continue-point + :name "swamp-dock2" + :level 'swamp + :trans + (new 'static 'vector :x 1645872.4 :y 36495.77 :z -8427323.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.8294 :w -0.5586) + :camera-trans + (new 'static 'vector :x 1599338.9 :y 57590.168 :z -8405954.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.418 0.0 -0.9084 0.1106 0.9925 -0.0509 0.9016 -0.1218 -0.4149) + :load-commands + '((special "swamp-blimp-3" #t) + (special "precursor-arm-3" #t) + (special "swamp-tetherrock-13" #t) + (special "swamp-tetherrock-14" #t) + (special "swamp-tetherrock-15" #t) + (special "swamp-tetherrock-16" #t) + ) + :vis-nick 'swa + :lev0 'swamp + :disp0 'display + :lev1 'village2 + :disp1 'special-vis + ) + (new 'static 'continue-point + :name "swamp-cave2" + :level 'swamp + :trans + (new 'static 'vector :x 2037539.2 :y 1103.872 :z -8560013.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.0559 :w 0.9984) + :camera-trans + (new 'static 'vector :x 1995208.2 :y 21832.908 :z -8586304.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.5516 0.0 -0.834 0.097 0.9932 0.0641 0.8283 -0.1163 0.5479) + :load-commands + '((special "swamp-blimp-3" #t) + (special "precursor-arm-3" #t) + (special "swamp-tetherrock-13" #t) + (special "swamp-tetherrock-14" #t) + (special "swamp-tetherrock-15" #t) + (special "swamp-tetherrock-16" #t) + ) + :vis-nick 'swa + :lev0 'swamp + :disp0 'display + :lev1 'village2 + :disp1 'special-vis + ) + (new 'static 'continue-point + :name "swamp-game" + :level 'swamp + :trans + (new 'static 'vector :x 2612289.2 :y -2047.5905 :z -8315907.5 :w 1.0) + :quat + (new 'static 'quaternion :y -0.6975 :w 0.7165) + :camera-trans + (new 'static 'vector :x 2661940.5 :y 20693.81 :z -8317980.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.0406 0.0 0.9991 -0.1452 0.9893 0.0059 -0.9885 -0.1453 0.0402) + :load-commands + '((special "swamp-blimp-3" #t) + (special "precursor-arm-3" #t) + (special "swamp-tetherrock-13" #t) + (special "swamp-tetherrock-14" #t) + (special "swamp-tetherrock-15" #t) + (special "swamp-tetherrock-16" #t) + ) + :vis-nick 'swa + :lev0 'swamp + :disp0 'display + :lev1 'village2 + :disp1 'special-vis + ) + (new 'static 'continue-point + :name "swamp-cave3" + :level 'swamp + :trans + (new 'static 'vector :x 2011811.4 :y 3711.7952 :z -7923027.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.5269 :w 0.8499) + :camera-trans + (new 'static 'vector :x 2053120.4 :y 22242.51 :z -7927784.5 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.1145 0.0 0.9934 -0.1412 0.9898 0.0162 -0.9833 -0.1422 0.1134) + :load-commands + '((special "swamp-blimp-3" #t) + (special "precursor-arm-3" #t) + (special "swamp-tetherrock-13" #t) + (special "swamp-tetherrock-14" #t) + (special "swamp-tetherrock-15" #t) + (special "swamp-tetherrock-16" #t) + ) + :vis-nick 'swa + :lev0 'swamp + :disp0 'display + :lev1 'village2 + :disp1 'special-vis ) - :vis-nick 'swa - :lev0 'swamp - :disp0 'display - :lev1 'village2 - :disp1 'special-vis ) - (new 'static 'continue-point - :name "swamp-cave1" - :level 'swamp - :trans - (new 'static 'vector :x 1553700.5 :y 1835.4176 :z -8258429.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9871 :w -0.1599) - :camera-trans - (new 'static 'vector :x 1556873.2 :y 22715.598 :z -8208106.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9982 - 0.0 - 0.0596 - -0.0072 - 0.9926 - -0.1209 - -0.0592 - -0.1211 - -0.9908 + :tasks + '((the binteger 36) + (the binteger 37) + (the binteger 38) + (the binteger 39) + (the binteger 40) + (the binteger 41) + (the binteger 42) + (the binteger 43) ) - :load-commands - '( - (special - "swamp-blimp-3" - #t - ) - (special - "precursor-arm-3" - #t - ) - (special - "swamp-tetherrock-13" - #t - ) - (special - "swamp-tetherrock-14" - #t - ) - (special "swamp-tetherrock-15" #t) (special "swamp-tetherrock-16" #t) - ) - :vis-nick 'swa - :lev0 'swamp - :disp0 'display - :lev1 'village2 - :disp1 'special-vis - ) - (new 'static 'continue-point - :name "swamp-dock2" - :level 'swamp - :trans - (new 'static 'vector :x 1645872.4 :y 36495.77 :z -8427323.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8294 :w -0.5586) - :camera-trans - (new 'static 'vector :x 1599338.9 :y 57590.168 :z -8405954.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.418 - 0.0 - -0.9084 - 0.1106 - 0.9925 - -0.0509 - 0.9016 - -0.1218 - -0.4149 - ) - :load-commands - '( - (special - "swamp-blimp-3" - #t - ) - (special - "precursor-arm-3" - #t - ) - (special - "swamp-tetherrock-13" - #t - ) - (special - "swamp-tetherrock-14" - #t - ) - (special "swamp-tetherrock-15" #t) (special "swamp-tetherrock-16" #t) - ) - :vis-nick 'swa - :lev0 'swamp - :disp0 'display - :lev1 'village2 - :disp1 'special-vis - ) - (new 'static 'continue-point - :name "swamp-cave2" - :level 'swamp - :trans - (new 'static 'vector :x 2037539.2 :y 1103.872 :z -8560013.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0559 :w 0.9984) - :camera-trans - (new 'static 'vector :x 1995208.2 :y 21832.908 :z -8586304.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.5516 - 0.0 - -0.834 - 0.097 - 0.9932 - 0.0641 - 0.8283 - -0.1163 - 0.5479 - ) - :load-commands - '( - (special - "swamp-blimp-3" - #t - ) - (special - "precursor-arm-3" - #t - ) - (special - "swamp-tetherrock-13" - #t - ) - (special - "swamp-tetherrock-14" - #t - ) - (special "swamp-tetherrock-15" #t) (special "swamp-tetherrock-16" #t) - ) - :vis-nick 'swa - :lev0 'swamp - :disp0 'display - :lev1 'village2 - :disp1 'special-vis - ) - (new 'static 'continue-point - :name "swamp-game" - :level 'swamp - :trans - (new 'static 'vector :x 2612289.2 :y -2047.5905 :z -8315907.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.6975 :w 0.7165) - :camera-trans - (new 'static 'vector :x 2661940.5 :y 20693.81 :z -8317980.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.0406 - 0.0 - 0.9991 - -0.1452 - 0.9893 - 0.0059 - -0.9885 - -0.1453 - 0.0402 - ) - :load-commands - '( - (special - "swamp-blimp-3" - #t - ) - (special - "precursor-arm-3" - #t - ) - (special - "swamp-tetherrock-13" - #t - ) - (special - "swamp-tetherrock-14" - #t - ) - (special "swamp-tetherrock-15" #t) (special "swamp-tetherrock-16" #t) - ) - :vis-nick 'swa - :lev0 'swamp - :disp0 'display - :lev1 'village2 - :disp1 'special-vis - ) - (new 'static 'continue-point - :name "swamp-cave3" - :level 'swamp - :trans - (new 'static 'vector :x 2011811.4 :y 3711.7952 :z -7923027.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.5269 :w 0.8499) - :camera-trans - (new 'static 'vector :x 2053120.4 :y 22242.51 :z -7927784.5 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.1145 - 0.0 - 0.9934 - -0.1412 - 0.9898 - 0.0162 - -0.9833 - -0.1422 - 0.1134 - ) - :load-commands - '( - (special - "swamp-blimp-3" - #t - ) - (special - "precursor-arm-3" - #t - ) - (special - "swamp-tetherrock-13" - #t - ) - (special - "swamp-tetherrock-14" - #t - ) - (special "swamp-tetherrock-15" #t) (special "swamp-tetherrock-16" #t) - ) - :vis-nick 'swa - :lev0 'swamp - :disp0 'display - :lev1 'village2 - :disp1 'special-vis - ) - ) - :tasks - '( - (the binteger 36) (the binteger 37) (the binteger 38) (the binteger 39) (the binteger 40) (the binteger 41) (the binteger 42) (the binteger 43) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 1986560.0 :z -8417280.0 :w 1003520.0) - :buzzer 43 - :bottom-height (meters -20.0) - :run-packages '("common") - :wait-for-load #t - ) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 1986560.0 :z -8417280.0 :w 1003520.0) + :buzzer 43 + :bottom-height (meters -20.0) + :run-packages '("common") + :wait-for-load #t + ) ) ;; definition for symbol rolling, type level-load-info (define rolling (new 'static 'level-load-info - :index 12 - :name 'rolling - :visname 'rolling-vis - :nickname 'rol - :packages '(rolling) - :sound-banks '(rolling) - :music-bank 'rolling - :ambient-sounds '() - :mood '*rolling-mood* - :mood-func 'update-mood-rolling - :ocean 'none - :sky #t - :continues - '( - (new 'static 'continue-point - :name "rolling-start" - :level 'rolling - :trans - (new 'static 'vector :x 432272.6 :y 42821.633 :z -6737529.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.545 :w 0.8383) - :camera-trans - (new 'static 'vector :x 494105.8 :y 67237.48 :z -6748524.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.1759 - 0.0 - 0.9843 - -0.2371 - 0.9705 - 0.0423 - -0.9553 - -0.2409 - 0.1707 + :index 12 + :name 'rolling + :visname 'rolling-vis + :nickname 'rol + :packages '(rolling) + :sound-banks '(rolling) + :music-bank 'rolling + :ambient-sounds '() + :mood '*rolling-mood* + :mood-func 'update-mood-rolling + :ocean 'none + :sky #t + :continues + '((new 'static 'continue-point + :name "rolling-start" + :level 'rolling + :trans + (new 'static 'vector :x 432272.6 :y 42821.633 :z -6737529.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.545 :w 0.8383) + :camera-trans + (new 'static 'vector :x 494105.8 :y 67237.48 :z -6748524.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.1759 0.0 0.9843 -0.2371 0.9705 0.0423 -0.9553 -0.2409 0.1707) + :load-commands '() + :vis-nick 'rol + :lev0 'rolling + :disp0 'display + :lev1 'village2 + :disp1 'display ) - :load-commands '() - :vis-nick 'rol - :lev0 'rolling - :disp0 'display - :lev1 'village2 - :disp1 'display + ) + :tasks + '((the binteger 52) + (the binteger 53) + (the binteger 54) + (the binteger 55) + (the binteger 56) + (the binteger 57) + (the binteger 58) + (the binteger 59) ) - ) - :tasks - '( - (the binteger 52) (the binteger 53) (the binteger 54) (the binteger 55) (the binteger 56) (the binteger 57) (the binteger 58) (the binteger 59) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -753664.0 :y 131072.0 :z -6569984.0 :w 974848.0) - :buzzer 57 - :bottom-height (meters -20.0) - :run-packages '("common") - :wait-for-load #t - ) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x -753664.0 :y 131072.0 :z -6569984.0 :w 974848.0) + :buzzer 57 + :bottom-height (meters -20.0) + :run-packages '("common") + :wait-for-load #t + ) ) ;; definition for symbol ogre, type level-load-info (define ogre (new 'static 'level-load-info - :index 13 - :name 'ogre - :visname 'ogre-vis - :nickname 'ogr - :packages '(ogre) - :sound-banks '(ogre) - :music-bank 'ogre - :ambient-sounds '() - :mood '*ogre-mood* - :mood-func 'update-mood-ogre - :ocean 'none - :sky #t - :continues - '( - (new 'static 'continue-point - :name "ogre-start" - :level 'ogre - :trans - (new 'static 'vector :x 849775.8 :y 163962.88 :z -7301166.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9931 :w 0.1166) - :camera-trans - (new 'static 'vector :x 848906.25 :y 185056.88 :z -7249962.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9998 - 0.0 - -0.0159 - 0.0019 - 0.9925 - -0.1215 - 0.0158 - -0.1215 - -0.9924 + :index 13 + :name 'ogre + :visname 'ogre-vis + :nickname 'ogr + :packages '(ogre) + :sound-banks '(ogre) + :music-bank 'ogre + :ambient-sounds '() + :mood '*ogre-mood* + :mood-func 'update-mood-ogre + :ocean 'none + :sky #t + :continues + '((new 'static 'continue-point + :name "ogre-start" + :level 'ogre + :trans + (new 'static 'vector :x 849775.8 :y 163962.88 :z -7301166.5 :w 1.0) + :quat + (new 'static 'quaternion :y -0.9931 :w 0.1166) + :camera-trans + (new 'static 'vector :x 848906.25 :y 185056.88 :z -7249962.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9998 0.0 -0.0159 0.0019 0.9925 -0.1215 0.0158 -0.1215 -0.9924) + :load-commands '() + :vis-nick 'ogr + :lev0 'ogre + :disp0 'display + :lev1 'village2 + :disp1 'display + ) + (new 'static 'continue-point + :name "ogre-race" + :level 'ogre + :trans + (new 'static 'vector :x 841424.9 :y 163801.1 :z -8205419.5 :w 1.0) + :quat + (new 'static 'quaternion :y -0.9857 :w 0.168) + :camera-trans + (new 'static 'vector :x 860479.9 :y 183815.38 :z -8162368.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9145 0.0 0.4045 -0.0497 0.9924 -0.1125 -0.4015 -0.123 -0.9075) + :load-commands '() + :vis-nick 'ogr + :lev0 'ogre + :disp0 'display + :lev1 'village2 + :disp1 #f + ) + (new 'static 'continue-point + :name "ogre-end" + :level 'ogre + :trans + (new 'static 'vector :x 3971233.5 :y 141227.62 :z -13935735.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.8721 :w 0.4892) + :camera-trans + (new 'static 'vector :x 3997892.2 :y 159604.73 :z -13904449.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.7611 0.0 0.6485 -0.0932 0.9896 -0.1094 -0.6417 -0.1438 -0.7532) + :load-commands '() + :vis-nick 'ogr + :lev0 'village3 + :disp0 'display + :lev1 'ogre + :disp1 'display ) - :load-commands '() - :vis-nick 'ogr - :lev0 'ogre - :disp0 'display - :lev1 'village2 - :disp1 'display - ) - (new 'static 'continue-point - :name "ogre-race" - :level 'ogre - :trans - (new 'static 'vector :x 841424.9 :y 163801.1 :z -8205419.5 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9857 :w 0.168) - :camera-trans - (new 'static 'vector :x 860479.9 :y 183815.38 :z -8162368.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9145 - 0.0 - 0.4045 - -0.0497 - 0.9924 - -0.1125 - -0.4015 - -0.123 - -0.9075 - ) - :load-commands '() - :vis-nick 'ogr - :lev0 'ogre - :disp0 'display - :lev1 'village2 - :disp1 #f ) - (new 'static 'continue-point - :name "ogre-end" - :level 'ogre - :trans - (new 'static 'vector :x 3971233.5 :y 141227.62 :z -13935735.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.8721 :w 0.4892) - :camera-trans - (new 'static 'vector :x 3997892.2 :y 159604.73 :z -13904449.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.7611 - 0.0 - 0.6485 - -0.0932 - 0.9896 - -0.1094 - -0.6417 - -0.1438 - -0.7532 - ) - :load-commands '() - :vis-nick 'ogr - :lev0 'village3 - :disp0 'display - :lev1 'ogre - :disp1 'display - ) - ) - :tasks - '( - (the binteger 86) (the binteger 87) (the binteger 110) (the binteger 88) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 2334720.0 :y 180224.0 :z -10653696.0 :w 3653632.0) - :buzzer 88 - :bottom-height (meters -20.0) - :run-packages '("common") - :wait-for-load #t - ) + :tasks + '((the binteger 86) (the binteger 87) (the binteger 110) (the binteger 88)) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 2334720.0 :y 180224.0 :z -10653696.0 :w 3653632.0) + :buzzer 88 + :bottom-height (meters -20.0) + :run-packages '("common") + :wait-for-load #t + ) ) ;; definition for symbol village3, type level-load-info (define village3 (new 'static 'level-load-info - :index 14 - :name 'village3 - :visname 'village3-vis - :nickname 'vi3 - :packages '(village3) - :sound-banks '(village3) - :music-bank 'village3 - :ambient-sounds '() - :mood '*village3-mood* - :mood-func 'update-mood-village3 - :ocean #f - :sky #t - :continues - '( - (new 'static 'continue-point - :name "village3-start" - :level 'village3 - :trans - (new 'static 'vector :x 4468021.5 :y 186608.03 :z -14054268.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9999 :w 0.005) - :camera-trans - (new 'static 'vector :x 4469439.5 :y 207701.2 :z -14003077.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9996 - 0.0 - 0.0268 - -0.0032 - 0.9925 - -0.1216 - -0.0266 - -0.1216 - -0.9922 + :index 14 + :name 'village3 + :visname 'village3-vis + :nickname 'vi3 + :packages '(village3) + :sound-banks '(village3) + :music-bank 'village3 + :ambient-sounds '() + :mood '*village3-mood* + :mood-func 'update-mood-village3 + :ocean #f + :sky #t + :continues + '((new 'static 'continue-point + :name "village3-start" + :level 'village3 + :trans + (new 'static 'vector :x 4468021.5 :y 186608.03 :z -14054268.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.9999 :w 0.005) + :camera-trans + (new 'static 'vector :x 4469439.5 :y 207701.2 :z -14003077.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9996 0.0 0.0268 -0.0032 0.9925 -0.1216 -0.0266 -0.1216 -0.9922) + :load-commands '() + :vis-nick 'vi3 + :lev0 'village3 + :disp0 'display + :lev1 'ogre + :disp1 #f + ) + (new 'static 'continue-point + :name "village3-warp" + :level 'village3 + :flags #x4 + :trans + (new 'static 'vector :x 4549776.0 :y 215375.88 :z -14285922.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.681 :w 0.7322) + :camera-trans + (new 'static 'vector :x 4543255.0 :y 226776.67 :z -14313317.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.8563 0.0 -0.2763 0.0456 0.8875 0.1413 0.2725 -0.1485 0.8446) + :load-commands '() + :vis-nick 'vi3 + :lev0 'village3 + :disp0 'display + :lev1 'ogre + :disp1 #f + ) + (new 'static 'continue-point + :name "village3-farside" + :level 'village3 + :trans + (new 'static 'vector :x 4423744.0 :y 198723.58 :z -14530641.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.6611 :w 0.7502) + :camera-trans + (new 'static 'vector :x 4381844.0 :y 218599.83 :z -14551361.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.442 0.0 -0.8969 0.1099 0.9924 0.0541 0.8902 -0.1225 0.4387) + :load-commands '() + :vis-nick 'vi3 + :lev0 'village3 + :disp0 'display + :lev1 'snow + :disp1 #f ) - :load-commands '() - :vis-nick 'vi3 - :lev0 'village3 - :disp0 'display - :lev1 'ogre - :disp1 #f - ) - (new 'static 'continue-point - :name "village3-warp" - :level 'village3 - :flags #x4 - :trans - (new 'static 'vector :x 4549776.0 :y 215375.88 :z -14285922.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.681 :w 0.7322) - :camera-trans - (new 'static 'vector :x 4543255.0 :y 226776.67 :z -14313317.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.8563 - 0.0 - -0.2763 - 0.0456 - 0.8875 - 0.1413 - 0.2725 - -0.1485 - 0.8446 - ) - :load-commands '() - :vis-nick 'vi3 - :lev0 'village3 - :disp0 'display - :lev1 'ogre - :disp1 #f ) - (new 'static 'continue-point - :name "village3-farside" - :level 'village3 - :trans - (new 'static 'vector :x 4423744.0 :y 198723.58 :z -14530641.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.6611 :w 0.7502) - :camera-trans - (new 'static 'vector :x 4381844.0 :y 218599.83 :z -14551361.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.442 - 0.0 - -0.8969 - 0.1099 - 0.9924 - 0.0541 - 0.8902 - -0.1225 - 0.4387 + :tasks + '((the binteger 96) + (the binteger 97) + (the binteger 98) + (the binteger 99) + (the binteger 100) + (the binteger 101) + (the binteger 74) + (the binteger 77) ) - :load-commands '() - :vis-nick 'vi3 - :lev0 'village3 - :disp0 'display - :lev1 'snow - :disp1 #f - ) - ) - :tasks - '( - (the binteger 96) (the binteger 97) (the binteger 98) (the binteger 99) (the binteger 100) (the binteger 101) (the binteger 74) (the binteger 77) - ) - :priority #xc8 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 4571136.0 :y 389120.0 :z -14323712.0 :w 409600.0) - :buzzer 77 - :bottom-height (meters -20.0) - :run-packages '("common") - :wait-for-load #f - ) + :priority #xc8 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 4571136.0 :y 389120.0 :z -14323712.0 :w 409600.0) + :buzzer 77 + :bottom-height (meters -20.0) + :run-packages '("common") + :wait-for-load #f + ) ) ;; definition for symbol snow, type level-load-info (define snow (new 'static 'level-load-info - :index 15 - :name 'snow - :visname 'snow-vis - :nickname 'sno - :packages '(snow) - :sound-banks '(snow) - :music-bank 'snow - :ambient-sounds '() - :mood '*snow-mood* - :mood-func 'update-mood-snow - :ocean #f - :sky #t - :sun-fade 0.5 - :continues - '( - (new 'static 'continue-point - :name "snow-start" - :level 'snow - :trans - (new 'static 'vector :x 4256260.0 :y 983713.8 :z -14182752.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7906 :w -0.6122) - :camera-trans - (new 'static 'vector :x 4303859.5 :y 1012363.7 :z -14156672.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.4804 - 0.0 - 0.877 - -0.2049 - 0.9723 - -0.1122 - -0.8527 - -0.2336 - -0.4671 + :index 15 + :name 'snow + :visname 'snow-vis + :nickname 'sno + :packages '(snow) + :sound-banks '(snow) + :music-bank 'snow + :ambient-sounds '() + :mood '*snow-mood* + :mood-func 'update-mood-snow + :ocean #f + :sky #t + :sun-fade 0.5 + :continues + '((new 'static 'continue-point + :name "snow-start" + :level 'snow + :trans + (new 'static 'vector :x 4256260.0 :y 983713.8 :z -14182752.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.7906 :w -0.6122) + :camera-trans + (new 'static 'vector :x 4303859.5 :y 1012363.7 :z -14156672.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.4804 0.0 0.877 -0.2049 0.9723 -0.1122 -0.8527 -0.2336 -0.4671) + :load-commands '() + :vis-nick 'sno + :lev0 'snow + :disp0 'display + :lev1 'village3 + :disp1 'display + ) + (new 'static 'continue-point + :name "snow-fort" + :level 'snow + :trans + (new 'static 'vector :x 3430875.2 :y 897149.3 :z -13397581.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.0968 :w 0.9952) + :camera-trans + (new 'static 'vector :x 3428789.8 :y 918241.25 :z -13448724.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.9991 0.0 -0.0419 0.0051 0.9925 0.1216 0.0415 -0.1217 0.9916) + :load-commands '() + :vis-nick 'sno + :lev0 'snow + :disp0 'display + :lev1 'village3 + :disp1 'display + ) + (new 'static 'continue-point + :name "snow-flut-flut" + :level 'snow + :trans + (new 'static 'vector :x 2481850.0 :y 1054709.4 :z -13922438.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.8628 :w -0.5055) + :camera-trans + (new 'static 'vector :x 2497063.0 :y 1069339.9 :z -13900353.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.8224 0.0 0.5688 -0.135 0.9713 -0.1953 -0.5525 -0.2374 -0.7989) + :load-commands '() + :vis-nick 'sno + :lev0 'snow + :disp0 'display + :lev1 'village3 + :disp1 'display + ) + (new 'static 'continue-point + :name "snow-pass-to-fort" + :level 'snow + :trans + (new 'static 'vector :x 3751044.8 :y 917612.1 :z -13828696.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.3387 :w -0.9408) + :camera-trans + (new 'static 'vector :x 3779776.0 :y 933972.8 :z -13845825.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.6061 0.0 0.7953 -0.1493 0.9822 0.1138 -0.7812 -0.1878 0.5953) + :load-commands '() + :vis-nick 'sno + :lev0 'snow + :disp0 'display + :lev1 'village3 + :disp1 'display + ) + (new 'static 'continue-point + :name "snow-by-ice-lake" + :level 'snow + :trans + (new 'static 'vector :x 3151164.5 :y 1049638.1 :z -14246464.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.6226 :w 0.7824) + :camera-trans + (new 'static 'vector :x 3203905.2 :y 1080037.8 :z -14270850.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.4189 0.0 0.9079 -0.2169 0.971 0.1001 -0.8816 -0.2389 0.4068) + :load-commands '() + :vis-nick 'sno + :lev0 'snow + :disp0 'display + :lev1 'village3 + :disp1 'display + ) + (new 'static 'continue-point + :name "snow-by-ice-lake-alt" + :level 'snow + :trans + (new 'static 'vector :x 3053335.0 :y 1048927.9 :z -14058945.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.9997 :w 0.022) + :camera-trans + (new 'static 'vector :x 3045845.5 :y 1068868.0 :z -14012568.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.987 0.0 -0.1601 0.0195 0.9924 -0.1207 0.1589 -0.1223 -0.9796) + :load-commands '() + :vis-nick 'sno + :lev0 'snow + :disp0 'display + :lev1 'village3 + :disp1 'display + ) + (new 'static 'continue-point + :name "snow-outside-fort" + :level 'snow + :trans + (new 'static 'vector :x 3431014.0 :y 901474.7 :z -13600187.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.0954 :w -0.9954) + :camera-trans + (new 'static 'vector :x 3429969.0 :y 922565.44 :z -13651353.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.9998 0.0 -0.0196 0.0023 0.9926 0.1213 0.0195 -0.1213 0.9924) + :load-commands '() + :vis-nick 'sno + :lev0 'snow + :disp0 'display + :lev1 'village3 + :disp1 'display + ) + (new 'static 'continue-point + :name "snow-outside-cave" + :level 'snow + :trans + (new 'static 'vector :x 3200864.2 :y 907400.4 :z -13676660.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.5867 :w -0.8097) + :camera-trans + (new 'static 'vector :x 3247600.8 :y 928464.06 :z -13697606.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.4062 0.0 0.9137 -0.1107 0.9926 0.0492 -0.907 -0.1211 0.4032) + :load-commands '() + :vis-nick 'sno + :lev0 'snow + :disp0 'display + :lev1 'village3 + :disp1 'display + ) + (new 'static 'continue-point + :name "snow-across-from-flut" + :level 'snow + :trans + (new 'static 'vector :x 2721898.5 :y 1049845.0 :z -13743428.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.7688 :w -0.6394) + :camera-trans + (new 'static 'vector :x 2712702.5 :y 1070288.5 :z -13791593.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.9554 0.0 -0.2951 0.0343 0.9932 0.1111 0.2931 -0.1163 0.9489) + :load-commands '() + :vis-nick 'sno + :lev0 'snow + :disp0 'display + :lev1 'village3 + :disp1 'display ) - :load-commands '() - :vis-nick 'sno - :lev0 'snow - :disp0 'display - :lev1 'village3 - :disp1 'display - ) - (new 'static 'continue-point - :name "snow-fort" - :level 'snow - :trans - (new 'static 'vector :x 3430875.2 :y 897149.3 :z -13397581.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0968 :w 0.9952) - :camera-trans - (new 'static 'vector :x 3428789.8 :y 918241.25 :z -13448724.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.9991 - 0.0 - -0.0419 - 0.0051 - 0.9925 - 0.1216 - 0.0415 - -0.1217 - 0.9916 - ) - :load-commands '() - :vis-nick 'sno - :lev0 'snow - :disp0 'display - :lev1 'village3 - :disp1 'display ) - (new 'static 'continue-point - :name "snow-flut-flut" - :level 'snow - :trans - (new 'static 'vector :x 2481850.0 :y 1054709.4 :z -13922438.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.8628 :w -0.5055) - :camera-trans - (new 'static 'vector :x 2497063.0 :y 1069339.9 :z -13900353.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.8224 - 0.0 - 0.5688 - -0.135 - 0.9713 - -0.1953 - -0.5525 - -0.2374 - -0.7989 + :tasks + '((the binteger 60) + (the binteger 61) + (the binteger 62) + (the binteger 63) + (the binteger 64) + (the binteger 66) + (the binteger 67) + (the binteger 65) ) - :load-commands '() - :vis-nick 'sno - :lev0 'snow - :disp0 'display - :lev1 'village3 - :disp1 'display - ) - (new 'static 'continue-point - :name "snow-pass-to-fort" - :level 'snow - :trans - (new 'static 'vector :x 3751044.8 :y 917612.1 :z -13828696.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3387 :w -0.9408) - :camera-trans - (new 'static 'vector :x 3779776.0 :y 933972.8 :z -13845825.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.6061 - 0.0 - 0.7953 - -0.1493 - 0.9822 - 0.1138 - -0.7812 - -0.1878 - 0.5953 - ) - :load-commands '() - :vis-nick 'sno - :lev0 'snow - :disp0 'display - :lev1 'village3 - :disp1 'display - ) - (new 'static 'continue-point - :name "snow-by-ice-lake" - :level 'snow - :trans - (new 'static 'vector :x 3151164.5 :y 1049638.1 :z -14246464.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.6226 :w 0.7824) - :camera-trans - (new 'static 'vector :x 3203905.2 :y 1080037.8 :z -14270850.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.4189 - 0.0 - 0.9079 - -0.2169 - 0.971 - 0.1001 - -0.8816 - -0.2389 - 0.4068 - ) - :load-commands '() - :vis-nick 'sno - :lev0 'snow - :disp0 'display - :lev1 'village3 - :disp1 'display - ) - (new 'static 'continue-point - :name "snow-by-ice-lake-alt" - :level 'snow - :trans - (new 'static 'vector :x 3053335.0 :y 1048927.9 :z -14058945.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9997 :w 0.022) - :camera-trans - (new 'static 'vector :x 3045845.5 :y 1068868.0 :z -14012568.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.987 - 0.0 - -0.1601 - 0.0195 - 0.9924 - -0.1207 - 0.1589 - -0.1223 - -0.9796 - ) - :load-commands '() - :vis-nick 'sno - :lev0 'snow - :disp0 'display - :lev1 'village3 - :disp1 'display - ) - (new 'static 'continue-point - :name "snow-outside-fort" - :level 'snow - :trans - (new 'static 'vector :x 3431014.0 :y 901474.7 :z -13600187.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.0954 :w -0.9954) - :camera-trans - (new 'static 'vector :x 3429969.0 :y 922565.44 :z -13651353.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.9998 - 0.0 - -0.0196 - 0.0023 - 0.9926 - 0.1213 - 0.0195 - -0.1213 - 0.9924 - ) - :load-commands '() - :vis-nick 'sno - :lev0 'snow - :disp0 'display - :lev1 'village3 - :disp1 'display - ) - (new 'static 'continue-point - :name "snow-outside-cave" - :level 'snow - :trans - (new 'static 'vector :x 3200864.2 :y 907400.4 :z -13676660.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.5867 :w -0.8097) - :camera-trans - (new 'static 'vector :x 3247600.8 :y 928464.06 :z -13697606.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.4062 - 0.0 - 0.9137 - -0.1107 - 0.9926 - 0.0492 - -0.907 - -0.1211 - 0.4032 - ) - :load-commands '() - :vis-nick 'sno - :lev0 'snow - :disp0 'display - :lev1 'village3 - :disp1 'display - ) - (new 'static 'continue-point - :name "snow-across-from-flut" - :level 'snow - :trans - (new 'static 'vector :x 2721898.5 :y 1049845.0 :z -13743428.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.7688 :w -0.6394) - :camera-trans - (new 'static 'vector :x 2712702.5 :y 1070288.5 :z -13791593.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.9554 - 0.0 - -0.2951 - 0.0343 - 0.9932 - 0.1111 - 0.2931 - -0.1163 - 0.9489 - ) - :load-commands '() - :vis-nick 'sno - :lev0 'snow - :disp0 'display - :lev1 'village3 - :disp1 'display - ) - ) - :tasks - '( - (the binteger 60) (the binteger 61) (the binteger 62) (the binteger 63) (the binteger 64) (the binteger 66) (the binteger 67) (the binteger 65) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 3072000.0 :y 1142784.0 :z -14028800.0 :w 1290240.0) - :buzzer 65 - :bottom-height (meters 128.0) - :run-packages '("common") - :wait-for-load #f - ) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 3072000.0 :y 1142784.0 :z -14028800.0 :w 1290240.0) + :buzzer 65 + :bottom-height (meters 128.0) + :run-packages '("common") + :wait-for-load #f + ) ) ;; definition for symbol maincave, type level-load-info (define maincave (new 'static 'level-load-info - :index 16 - :name 'maincave - :visname 'maincave-vis - :nickname 'mai - :packages '(maincave) - :sound-banks '(maincave) - :music-bank 'maincave - :ambient-sounds '() - :mood '*maincave-mood* - :mood-func 'update-mood-maincave - :ocean #f - :sky #f - :continues - '( - (new 'static 'continue-point - :name "maincave-start" - :level 'maincave - :trans - (new 'static 'vector :x 4420967.0 :y 33006.387 :z -13154230.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0174 :w -0.9998) - :camera-trans - (new 'static 'vector :x 4428164.5 :y 54074.164 :z -13204933.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.99 - 0.0 - 0.1405 - -0.0169 - 0.9927 - 0.1192 - -0.1395 - -0.1204 - 0.9828 + :index 16 + :name 'maincave + :visname 'maincave-vis + :nickname 'mai + :packages '(maincave) + :sound-banks '(maincave) + :music-bank 'maincave + :ambient-sounds '() + :mood '*maincave-mood* + :mood-func 'update-mood-maincave + :ocean #f + :sky #f + :continues + '((new 'static 'continue-point + :name "maincave-start" + :level 'maincave + :trans + (new 'static 'vector :x 4420967.0 :y 33006.387 :z -13154230.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.0174 :w -0.9998) + :camera-trans + (new 'static 'vector :x 4428164.5 :y 54074.164 :z -13204933.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.99 0.0 0.1405 -0.0169 0.9927 0.1192 -0.1395 -0.1204 0.9828) + :load-commands '() + :vis-nick 'mai + :lev0 'maincave + :disp0 'display + :lev1 'village3 + :disp1 'display + ) + (new 'static 'continue-point + :name "maincave-to-darkcave" + :level 'maincave + :trans + (new 'static 'vector :x 4172175.8 :y 154223.83 :z -12445165.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.2093 :w 0.9778) + :camera-trans + (new 'static 'vector :x 4193893.2 :y 175317.81 :z -12491520.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.9052 0.0 0.4248 -0.0514 0.9926 0.1096 -0.4217 -0.1211 0.8986) + :load-commands '() + :vis-nick 'mai + :lev0 'maincave + :disp0 'display + :lev1 'darkcave + :disp1 #f + ) + (new 'static 'continue-point + :name "maincave-to-robocave" + :level 'maincave + :trans + (new 'static 'vector :x 4760896.5 :y 44221.234 :z -12409880.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.548 :w 0.8364) + :camera-trans + (new 'static 'vector :x 4745230.0 :y 57869.926 :z -12426885.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.7343 0.0 -0.6788 0.1872 0.9611 0.2026 0.6524 -0.2759 0.7058) + :load-commands '() + :vis-nick 'mai + :lev0 'maincave + :disp0 'display + :lev1 'robocave + :disp1 #f ) - :load-commands '() - :vis-nick 'mai - :lev0 'maincave - :disp0 'display - :lev1 'village3 - :disp1 'display - ) - (new 'static 'continue-point - :name "maincave-to-darkcave" - :level 'maincave - :trans - (new 'static 'vector :x 4172175.8 :y 154223.83 :z -12445165.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.2093 :w 0.9778) - :camera-trans - (new 'static 'vector :x 4193893.2 :y 175317.81 :z -12491520.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.9052 - 0.0 - 0.4248 - -0.0514 - 0.9926 - 0.1096 - -0.4217 - -0.1211 - 0.8986 - ) - :load-commands '() - :vis-nick 'mai - :lev0 'maincave - :disp0 'display - :lev1 'darkcave - :disp1 #f ) - (new 'static 'continue-point - :name "maincave-to-robocave" - :level 'maincave - :trans - (new 'static 'vector :x 4760896.5 :y 44221.234 :z -12409880.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.548 :w 0.8364) - :camera-trans - (new 'static 'vector :x 4745230.0 :y 57869.926 :z -12426885.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.7343 - 0.0 - -0.6788 - 0.1872 - 0.9611 - 0.2026 - 0.6524 - -0.2759 - 0.7058 + :tasks + '((the binteger 78) + (the binteger 79) + (the binteger 80) + (the binteger 81) + (the binteger 82) + (the binteger 83) + (the binteger 84) + (the binteger 85) ) - :load-commands '() - :vis-nick 'mai - :lev0 'maincave - :disp0 'display - :lev1 'robocave - :disp1 #f - ) - ) - :tasks - '( - (the binteger 78) (the binteger 79) (the binteger 80) (the binteger 81) (the binteger 82) (the binteger 83) (the binteger 84) (the binteger 85) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 4517888.0 :y 114688.0 :z -12484608.0 :w 655360.0) - :buzzer 85 - :bottom-height (meters -60.0) - :run-packages '("common") - :wait-for-load #f - ) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 4517888.0 :y 114688.0 :z -12484608.0 :w 655360.0) + :buzzer 85 + :bottom-height (meters -60.0) + :run-packages '("common") + :wait-for-load #f + ) ) ;; definition for symbol darkcave, type level-load-info (define darkcave (new 'static 'level-load-info - :index 17 - :name 'darkcave - :visname 'darkcave-vis - :nickname 'dar - :packages '(darkcave) - :sound-banks '(darkcave) - :music-bank 'maincave - :ambient-sounds '() - :mood '*darkcave-mood* - :mood-func 'update-mood-darkcave - :ocean #f - :sky #f - :continues - '( - (new 'static 'continue-point - :name "darkcave-start" - :level 'darkcave - :trans - (new 'static 'vector :x 3813246.2 :y 129487.664 :z -12114304.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.1439 :w 0.9895) - :camera-trans - (new 'static 'vector :x 3793301.0 :y 145573.48 :z -12139847.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.7892 - 0.0 - -0.614 - 0.1178 - 0.9813 - 0.1515 - 0.6026 - -0.1919 - 0.7745 + :index 17 + :name 'darkcave + :visname 'darkcave-vis + :nickname 'dar + :packages '(darkcave) + :sound-banks '(darkcave) + :music-bank 'maincave + :ambient-sounds '() + :mood '*darkcave-mood* + :mood-func 'update-mood-darkcave + :ocean #f + :sky #f + :continues + '((new 'static 'continue-point + :name "darkcave-start" + :level 'darkcave + :trans + (new 'static 'vector :x 3813246.2 :y 129487.664 :z -12114304.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.1439 :w 0.9895) + :camera-trans + (new 'static 'vector :x 3793301.0 :y 145573.48 :z -12139847.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.7892 0.0 -0.614 0.1178 0.9813 0.1515 0.6026 -0.1919 0.7745) + :load-commands '() + :vis-nick 'dar + :lev0 'maincave + :disp0 'display + :lev1 'darkcave + :disp1 'display ) - :load-commands '() - :vis-nick 'dar - :lev0 'maincave - :disp0 'display - :lev1 'darkcave - :disp1 'display - ) - ) - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 3620864.0 :y 266240.0 :z -11935744.0 :w 368640.0) - :buzzer 85 - :bottom-height (meters -60.0) - :run-packages '("common" "maincave") - :wait-for-load #t - ) + ) + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 3620864.0 :y 266240.0 :z -11935744.0 :w 368640.0) + :buzzer 85 + :bottom-height (meters -60.0) + :run-packages '("common" "maincave") + :wait-for-load #t + ) ) ;; definition for symbol robocave, type level-load-info (define robocave (new 'static 'level-load-info - :index 18 - :name 'robocave - :visname 'robocave-vis - :nickname 'rob - :packages '(robocave) - :sound-banks '(robocave) - :music-bank 'maincave - :ambient-sounds '() - :mood '*robocave-mood* - :mood-func 'update-mood-robocave - :ocean #f - :sky #f - :continues - '( - (new 'static 'continue-point - :name "robocave-start" - :level 'robocave - :trans - (new 'static 'vector :x 5208223.5 :y 69697.945 :z -11781496.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3654 :w -0.9308) - :camera-trans - (new 'static 'vector :x 5171715.0 :y 90796.85 :z -11817413.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.7006 - 0.0 - -0.7134 - 0.0864 - 0.9926 - 0.0849 - 0.7082 - -0.1212 - 0.6954 + :index 18 + :name 'robocave + :visname 'robocave-vis + :nickname 'rob + :packages '(robocave) + :sound-banks '(robocave) + :music-bank 'maincave + :ambient-sounds '() + :mood '*robocave-mood* + :mood-func 'update-mood-robocave + :ocean #f + :sky #f + :continues + '((new 'static 'continue-point + :name "robocave-start" + :level 'robocave + :trans + (new 'static 'vector :x 5208223.5 :y 69697.945 :z -11781496.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.3654 :w -0.9308) + :camera-trans + (new 'static 'vector :x 5171715.0 :y 90796.85 :z -11817413.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.7006 0.0 -0.7134 0.0864 0.9926 0.0849 0.7082 -0.1212 0.6954) + :load-commands '() + :vis-nick 'rob + :lev0 'maincave + :disp0 'display + :lev1 'robocave + :disp1 'display + ) + (new 'static 'continue-point + :name "robocave-bottom" + :level 'robocave + :trans + (new 'static 'vector :x 5435461.5 :y -97111.24 :z -11588379.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.1086 :w 0.994) + :camera-trans + (new 'static 'vector :x 5409966.5 :y -76017.664 :z -11632764.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.8662 0.0 -0.4996 0.0605 0.9926 0.105 0.4959 -0.1212 0.8598) + :load-commands '() + :vis-nick 'rob + :lev0 'maincave + :disp0 'display + :lev1 'robocave + :disp1 'display ) - :load-commands '() - :vis-nick 'rob - :lev0 'maincave - :disp0 'display - :lev1 'robocave - :disp1 'display - ) - (new 'static 'continue-point - :name "robocave-bottom" - :level 'robocave - :trans - (new 'static 'vector :x 5435461.5 :y -97111.24 :z -11588379.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.1086 :w 0.994) - :camera-trans - (new 'static 'vector :x 5409966.5 :y -76017.664 :z -11632764.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.8662 - 0.0 - -0.4996 - 0.0605 - 0.9926 - 0.105 - 0.4959 - -0.1212 - 0.8598 - ) - :load-commands '() - :vis-nick 'rob - :lev0 'maincave - :disp0 'display - :lev1 'robocave - :disp1 'display ) - ) - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 5529600.0 :y 81920.0 :z -11468800.0 :w 512000.0) - :buzzer 85 - :bottom-height (meters -60.0) - :run-packages '("common" "maincave") - :wait-for-load #t - ) + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 5529600.0 :y 81920.0 :z -11468800.0 :w 512000.0) + :buzzer 85 + :bottom-height (meters -60.0) + :run-packages '("common" "maincave") + :wait-for-load #t + ) ) ;; definition for symbol lavatube, type level-load-info (define lavatube (new 'static 'level-load-info - :index 19 - :name 'lavatube - :visname 'lavatube-vis - :nickname 'lav - :packages '(lavatube) - :sound-banks '(lavatube) - :music-bank 'lavatube - :ambient-sounds '() - :mood '*lavatube-mood* - :mood-func 'update-mood-lavatube - :ocean #f - :sky #f - :continues - '( - (new 'static 'continue-point - :name "lavatube-start" - :level 'lavatube - :trans - (new 'static 'vector :x 5511317.0 :y 159871.8 :z -14621239.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3753 :w -0.9268) - :camera-trans - (new 'static 'vector :x 5510636.5 :y 197720.06 :z -14663128.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.9992 - 0.0 - -0.0386 - 0.0178 - 0.8875 - 0.4603 - 0.0343 - -0.4606 - 0.8868 + :index 19 + :name 'lavatube + :visname 'lavatube-vis + :nickname 'lav + :packages '(lavatube) + :sound-banks '(lavatube) + :music-bank 'lavatube + :ambient-sounds '() + :mood '*lavatube-mood* + :mood-func 'update-mood-lavatube + :ocean #f + :sky #f + :continues + '((new 'static 'continue-point + :name "lavatube-start" + :level 'lavatube + :trans + (new 'static 'vector :x 5511317.0 :y 159871.8 :z -14621239.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.3753 :w -0.9268) + :camera-trans + (new 'static 'vector :x 5510636.5 :y 197720.06 :z -14663128.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.9992 0.0 -0.0386 0.0178 0.8875 0.4603 0.0343 -0.4606 0.8868) + :load-commands '() + :vis-nick 'lav + :lev0 'lavatube + :disp0 'display + :lev1 'village3 + :disp1 'display + ) + (new 'static 'continue-point + :name "lavatube-middle" + :level 'lavatube + :trans + (new 'static 'vector :x 9081441.0 :y -3935.8464 :z -14056285.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.7002 :w -0.7139) + :camera-trans + (new 'static 'vector :x 9055362.0 :y 10606.592 :z -14050822.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.205 0.0 -0.9787 0.2321 0.9714 -0.0486 0.9508 -0.2371 -0.1991) + :load-commands '() + :vis-nick 'lav + :lev0 'lavatube + :disp0 'display + :lev1 'village3 + :disp1 #f + ) + (new 'static 'continue-point + :name "lavatube-after-ribbon" + :level 'lavatube + :trans + (new 'static 'vector :x 9954895.0 :y 390513.06 :z -16548614.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.7485 :w -0.663) + :camera-trans + (new 'static 'vector :x 9923721.0 :y 406466.16 :z -16541633.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.2191 0.0 -0.9756 0.1906 0.9807 -0.0428 0.9568 -0.1953 -0.2149) + :load-commands '() + :vis-nick 'lav + :lev0 'lavatube + :disp0 'display + :lev1 'citadel + :disp1 #f + ) + (new 'static 'continue-point + :name "lavatube-end" + :level 'lavatube + :trans + (new 'static 'vector :x 11479892.0 :y -163656.5 :z -18266490.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.9589 :w -0.2836) + :camera-trans + (new 'static 'vector :x 11526721.0 :y -143482.47 :z -18257412.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.3027 0.0 0.953 -0.1235 0.9915 -0.0392 -0.945 -0.1296 -0.3001) + :load-commands '() + :vis-nick 'lav + :lev0 'lavatube + :disp0 'display + :lev1 'citadel + :disp1 'display ) - :load-commands '() - :vis-nick 'lav - :lev0 'lavatube - :disp0 'display - :lev1 'village3 - :disp1 'display - ) - (new 'static 'continue-point - :name "lavatube-middle" - :level 'lavatube - :trans - (new 'static 'vector :x 9081441.0 :y -3935.8464 :z -14056285.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.7002 :w -0.7139) - :camera-trans - (new 'static 'vector :x 9055362.0 :y 10606.592 :z -14050822.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.205 - 0.0 - -0.9787 - 0.2321 - 0.9714 - -0.0486 - 0.9508 - -0.2371 - -0.1991 - ) - :load-commands '() - :vis-nick 'lav - :lev0 'lavatube - :disp0 'display - :lev1 'village3 - :disp1 #f ) - (new 'static 'continue-point - :name "lavatube-after-ribbon" - :level 'lavatube - :trans - (new 'static 'vector :x 9954895.0 :y 390513.06 :z -16548614.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.7485 :w -0.663) - :camera-trans - (new 'static 'vector :x 9923721.0 :y 406466.16 :z -16541633.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.2191 - 0.0 - -0.9756 - 0.1906 - 0.9807 - -0.0428 - 0.9568 - -0.1953 - -0.2149 - ) - :load-commands '() - :vis-nick 'lav - :lev0 'lavatube - :disp0 'display - :lev1 'citadel - :disp1 #f - ) - (new 'static 'continue-point - :name "lavatube-end" - :level 'lavatube - :trans - (new 'static 'vector :x 11479892.0 :y -163656.5 :z -18266490.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9589 :w -0.2836) - :camera-trans - (new 'static 'vector :x 11526721.0 :y -143482.47 :z -18257412.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.3027 - 0.0 - 0.953 - -0.1235 - 0.9915 - -0.0392 - -0.945 - -0.1296 - -0.3001 - ) - :load-commands '() - :vis-nick 'lav - :lev0 'lavatube - :disp0 'display - :lev1 'citadel - :disp1 'display - ) - ) - :tasks - '( - (the binteger 89) (the binteger 90) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 8806400.0 :y 131072.0 :z -15564800.0 :w 3174400.0) - :buzzer 90 - :bottom-height (meters -70.0) - :run-packages '("common") - :wait-for-load #t - ) + :tasks + '((the binteger 89) (the binteger 90)) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 8806400.0 :y 131072.0 :z -15564800.0 :w 3174400.0) + :buzzer 90 + :bottom-height (meters -70.0) + :run-packages '("common") + :wait-for-load #t + ) ) ;; definition for symbol citadel, type level-load-info (define citadel (new 'static 'level-load-info - :index 20 - :name 'citadel - :visname 'citadel-vis - :nickname 'cit - :packages '(citadel) - :sound-banks '(citadel) - :music-bank 'citadel - :ambient-sounds '() - :mood '*citadel-mood* - :mood-func 'update-mood-citadel - :ocean #f - :sky #f - :continues - '( - (new 'static 'continue-point - :name "citadel-start" - :level 'citadel - :trans - (new 'static 'vector :x 11442706.0 :y -142755.84 :z -18869044.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.9992 :w 0.0392) - :camera-trans - (new 'static 'vector :x 11441183.0 :y -122509.31 :z -18820882.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9991 - 0.0 - -0.0411 - 0.005 - 0.9925 - -0.122 - 0.0408 - -0.1221 - -0.9916 + :index 20 + :name 'citadel + :visname 'citadel-vis + :nickname 'cit + :packages '(citadel) + :sound-banks '(citadel) + :music-bank 'citadel + :ambient-sounds '() + :mood '*citadel-mood* + :mood-func 'update-mood-citadel + :ocean #f + :sky #f + :continues + '((new 'static 'continue-point + :name "citadel-start" + :level 'citadel + :trans + (new 'static 'vector :x 11442706.0 :y -142755.84 :z -18869044.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.9992 :w 0.0392) + :camera-trans + (new 'static 'vector :x 11441183.0 :y -122509.31 :z -18820882.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9991 0.0 -0.0411 0.005 0.9925 -0.122 0.0408 -0.1221 -0.9916) + :load-commands '() + :vis-nick 'cit + :lev0 'citadel + :disp0 'display + :lev1 'lavatube + :disp1 #f + ) + (new 'static 'continue-point + :name "citadel-entrance" + :level 'citadel + :trans + (new 'static 'vector :x 11443969.0 :y -154216.03 :z -18472782.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.9728 :w 0.2314) + :camera-trans + (new 'static 'vector :x 11436929.0 :y -134244.36 :z -18426254.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9898 0.0 -0.1424 0.0173 0.9925 -0.1207 0.1413 -0.1219 -0.9824) + :load-commands '() + :vis-nick 'cit + :lev0 'citadel + :disp0 'display + :lev1 'lavatube + :disp1 'display + ) + (new 'static 'continue-point + :name "citadel-warp" + :level 'citadel + :flags #x4 + :trans + (new 'static 'vector :x 11454895.0 :y -161791.6 :z -18204690.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.7511 :w 0.6601) + :camera-trans + (new 'static 'vector :x 11406872.0 :y -141278.0 :z -18194638.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.1989 0.0 -0.98 0.1179 0.9927 -0.0239 0.9728 -0.1203 -0.1974) + :load-commands '() + :vis-nick 'cit + :lev0 'citadel + :disp0 'display + :lev1 'lavatube + :disp1 'display + ) + (new 'static 'continue-point + :name "citadel-launch-start" + :level 'citadel + :trans + (new 'static 'vector :x 10827551.0 :y -94047.02 :z -18946718.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.8377 :w -0.546) + :camera-trans + (new 'static 'vector :x 10862150.0 :y -75343.875 :z -18922316.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.5766 0.0 0.8169 -0.1125 0.9904 -0.0794 -0.8091 -0.1378 -0.5711) + :load-commands '() + :vis-nick 'cit + :lev0 'citadel + :disp0 'display + :lev1 'lavatube + :disp1 #f + ) + (new 'static 'continue-point + :name "citadel-launch-end" + :level 'citadel + :trans + (new 'static 'vector :x 11047507.0 :y -81514.086 :z -19495960.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.0292 :w 0.9995) + :camera-trans + (new 'static 'vector :x 11033498.0 :y -63027.2 :z -19534916.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.9413 0.0 -0.3373 0.0481 0.9897 0.1343 0.3339 -0.1427 0.9317) + :load-commands '() + :vis-nick 'cit + :lev0 'citadel + :disp0 'display + :lev1 'finalboss + :disp1 #f + ) + (new 'static 'continue-point + :name "citadel-plat-start" + :level 'citadel + :trans + (new 'static 'vector :x 11443470.0 :y -120194.664 :z -19845628.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.9907 :w -0.1355) + :camera-trans + (new 'static 'vector :x 11443545.0 :y -99100.266 :z -19794374.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9999 0.0 0.0016 -0.0001 0.9926 -0.1207 -0.0015 -0.1207 -0.9926) + :load-commands '() + :vis-nick 'cit + :lev0 'citadel + :disp0 'display + :lev1 'finalboss + :disp1 #f + ) + (new 'static 'continue-point + :name "citadel-plat-end" + :level 'citadel + :trans + (new 'static 'vector :x 11269726.0 :y -12132.352 :z -19614712.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.0419 :w 0.9991) + :camera-trans + (new 'static 'vector :x 11264449.0 :y 7920.8447 :z -19661710.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.9938 0.0 -0.1103 0.0134 0.9924 0.1215 0.1095 -0.1223 0.9864) + :load-commands '() + :vis-nick 'cit + :lev0 'citadel + :disp0 'display + :lev1 'finalboss + :disp1 #f + ) + (new 'static 'continue-point + :name "citadel-generator-start" + :level 'citadel + :trans + (new 'static 'vector :x 12138031.0 :y -36900.863 :z -18933304.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.7487 :w 0.6628) + :camera-trans + (new 'static 'vector :x 12101831.0 :y -19811.123 :z -18933632.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.0093 0.0 -0.9999 0.1678 0.9858 0.0015 0.9857 -0.1678 0.0092) + :load-commands '() + :vis-nick 'cit + :lev0 'citadel + :disp0 'display + :lev1 'finalboss + :disp1 #f + ) + (new 'static 'continue-point + :name "citadel-generator-end" + :level 'citadel + :trans + (new 'static 'vector :x 11837483.0 :y -20177.715 :z -19506848.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.3564 :w 0.9342) + :camera-trans + (new 'static 'vector :x 11872697.0 :y 887.6032 :z -19544198.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.7296 0.0 0.6838 -0.0851 0.9922 0.0908 -0.6785 -0.1245 0.7239) + :load-commands '() + :vis-nick #f + :lev0 'citadel + :disp0 'display + :lev1 #f + :disp1 #f + ) + (new 'static 'continue-point + :name "citadel-elevator" + :level 'citadel + :trans + (new 'static 'vector :x 11447961.0 :y 234055.27 :z -19169000.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.2351 :w 0.9719) + :camera-trans + (new 'static 'vector :x 11454465.0 :y 252947.66 :z -19126656.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.9932 0.0 0.1161 -0.017 0.9892 -0.1454 -0.1148 -0.1464 -0.9825) + :load-commands '() + :vis-nick 'cit + :lev0 'citadel + :disp0 'display + :lev1 'finalboss + :disp1 #f ) - :load-commands '() - :vis-nick 'cit - :lev0 'citadel - :disp0 'display - :lev1 'lavatube - :disp1 #f - ) - (new 'static 'continue-point - :name "citadel-entrance" - :level 'citadel - :trans - (new 'static 'vector :x 11443969.0 :y -154216.03 :z -18472782.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9728 :w 0.2314) - :camera-trans - (new 'static 'vector :x 11436929.0 :y -134244.36 :z -18426254.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9898 - 0.0 - -0.1424 - 0.0173 - 0.9925 - -0.1207 - 0.1413 - -0.1219 - -0.9824 - ) - :load-commands '() - :vis-nick 'cit - :lev0 'citadel - :disp0 'display - :lev1 'lavatube - :disp1 'display ) - (new 'static 'continue-point - :name "citadel-warp" - :level 'citadel - :flags #x4 - :trans - (new 'static 'vector :x 11454895.0 :y -161791.6 :z -18204690.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7511 :w 0.6601) - :camera-trans - (new 'static 'vector :x 11406872.0 :y -141278.0 :z -18194638.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.1989 - 0.0 - -0.98 - 0.1179 - 0.9927 - -0.0239 - 0.9728 - -0.1203 - -0.1974 - ) - :load-commands '() - :vis-nick 'cit - :lev0 'citadel - :disp0 'display - :lev1 'lavatube - :disp1 'display - ) - (new 'static 'continue-point - :name "citadel-launch-start" - :level 'citadel - :trans - (new 'static 'vector :x 10827551.0 :y -94047.02 :z -18946718.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.8377 :w -0.546) - :camera-trans - (new 'static 'vector :x 10862150.0 :y -75343.875 :z -18922316.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.5766 - 0.0 - 0.8169 - -0.1125 - 0.9904 - -0.0794 - -0.8091 - -0.1378 - -0.5711 - ) - :load-commands '() - :vis-nick 'cit - :lev0 'citadel - :disp0 'display - :lev1 'lavatube - :disp1 #f - ) - (new 'static 'continue-point - :name "citadel-launch-end" - :level 'citadel - :trans - (new 'static 'vector :x 11047507.0 :y -81514.086 :z -19495960.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.0292 :w 0.9995) - :camera-trans - (new 'static 'vector :x 11033498.0 :y -63027.2 :z -19534916.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.9413 - 0.0 - -0.3373 - 0.0481 - 0.9897 - 0.1343 - 0.3339 - -0.1427 - 0.9317 - ) - :load-commands '() - :vis-nick 'cit - :lev0 'citadel - :disp0 'display - :lev1 'finalboss - :disp1 #f - ) - (new 'static 'continue-point - :name "citadel-plat-start" - :level 'citadel - :trans - (new 'static 'vector :x 11443470.0 :y -120194.664 :z -19845628.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.9907 :w -0.1355) - :camera-trans - (new 'static 'vector :x 11443545.0 :y -99100.266 :z -19794374.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9999 - 0.0 - 0.0016 - -0.0001 - 0.9926 - -0.1207 - -0.0015 - -0.1207 - -0.9926 - ) - :load-commands '() - :vis-nick 'cit - :lev0 'citadel - :disp0 'display - :lev1 'finalboss - :disp1 #f - ) - (new 'static 'continue-point - :name "citadel-plat-end" - :level 'citadel - :trans - (new 'static 'vector :x 11269726.0 :y -12132.352 :z -19614712.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.0419 :w 0.9991) - :camera-trans - (new 'static 'vector :x 11264449.0 :y 7920.8447 :z -19661710.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.9938 - 0.0 - -0.1103 - 0.0134 - 0.9924 - 0.1215 - 0.1095 - -0.1223 - 0.9864 - ) - :load-commands '() - :vis-nick 'cit - :lev0 'citadel - :disp0 'display - :lev1 'finalboss - :disp1 #f - ) - (new 'static 'continue-point - :name "citadel-generator-start" - :level 'citadel - :trans - (new 'static 'vector :x 12138031.0 :y -36900.863 :z -18933304.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7487 :w 0.6628) - :camera-trans - (new 'static 'vector :x 12101831.0 :y -19811.123 :z -18933632.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.0093 - 0.0 - -0.9999 - 0.1678 - 0.9858 - 0.0015 - 0.9857 - -0.1678 - 0.0092 - ) - :load-commands '() - :vis-nick 'cit - :lev0 'citadel - :disp0 'display - :lev1 'finalboss - :disp1 #f - ) - (new 'static 'continue-point - :name "citadel-generator-end" - :level 'citadel - :trans - (new 'static 'vector :x 11837483.0 :y -20177.715 :z -19506848.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3564 :w 0.9342) - :camera-trans - (new 'static 'vector :x 11872697.0 :y 887.6032 :z -19544198.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.7296 - 0.0 - 0.6838 - -0.0851 - 0.9922 - 0.0908 - -0.6785 - -0.1245 - 0.7239 - ) - :load-commands '() - :vis-nick #f - :lev0 'citadel - :disp0 'display - :lev1 #f - :disp1 #f - ) - (new 'static 'continue-point - :name "citadel-elevator" - :level 'citadel - :trans - (new 'static 'vector :x 11447961.0 :y 234055.27 :z -19169000.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.2351 :w 0.9719) - :camera-trans - (new 'static 'vector :x 11454465.0 :y 252947.66 :z -19126656.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.9932 - 0.0 - 0.1161 - -0.017 - 0.9892 - -0.1454 - -0.1148 - -0.1464 - -0.9825 - ) - :load-commands '() - :vis-nick 'cit - :lev0 'citadel - :disp0 'display - :lev1 'finalboss - :disp1 #f - ) - ) - :tasks - '( - (the binteger 70) (the binteger 71) (the binteger 72) (the binteger 73) (the binteger 91) - ) - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 11436032.0 :y -462848.0 :z -19750912.0 :w 1228800.0) - :buzzer 91 - :bottom-height (meters -114.0) - :run-packages '("common") - :wait-for-load #t - ) + :tasks + '((the binteger 70) (the binteger 71) (the binteger 72) (the binteger 73) (the binteger 91)) + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 11436032.0 :y -462848.0 :z -19750912.0 :w 1228800.0) + :buzzer 91 + :bottom-height (meters -114.0) + :run-packages '("common") + :wait-for-load #t + ) ) ;; definition for symbol finalboss, type level-load-info (define finalboss (new 'static 'level-load-info - :index 21 - :name 'finalboss - :visname 'finalboss-vis - :nickname 'fin - :packages '(finalboss) - :sound-banks '(finalboss) - :music-bank 'finalboss - :ambient-sounds '() - :mood '*finalboss-mood* - :mood-func 'update-mood-finalboss - :ocean #f - :sky #t - :sun-fade 1.0 - :continues - '( - (new 'static 'continue-point - :name "finalboss-start" - :level 'finalboss - :trans - (new 'static 'vector :x 11548456.0 :y 2215872.0 :z -19409498.0 :w 1.0) - :quat - (new 'static 'quaternion :y 0.7325 :w 0.6807) - :camera-trans - (new 'static 'vector :x 11513311.0 :y 2234999.5 :z -19435708.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.5883 - 0.0 - -0.8085 - 0.1074 - 0.9911 - 0.0781 - 0.8014 - -0.1328 - 0.5831 + :index 21 + :name 'finalboss + :visname 'finalboss-vis + :nickname 'fin + :packages '(finalboss) + :sound-banks '(finalboss) + :music-bank 'finalboss + :ambient-sounds '() + :mood '*finalboss-mood* + :mood-func 'update-mood-finalboss + :ocean #f + :sky #t + :sun-fade 1.0 + :continues + '((new 'static 'continue-point + :name "finalboss-start" + :level 'finalboss + :trans + (new 'static 'vector :x 11548456.0 :y 2215872.0 :z -19409498.0 :w 1.0) + :quat + (new 'static 'quaternion :y 0.7325 :w 0.6807) + :camera-trans + (new 'static 'vector :x 11513311.0 :y 2234999.5 :z -19435708.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.5883 0.0 -0.8085 0.1074 0.9911 0.0781 0.8014 -0.1328 0.5831) + :load-commands + '((special "citb-exit-plat-4" #t)) + :vis-nick 'fin + :lev0 'finalboss + :disp0 'display + :lev1 'citadel + :disp1 'special ) - :load-commands - '( - (special "citb-exit-plat-4" #t) - ) - :vis-nick 'fin - :lev0 'finalboss - :disp0 'display - :lev1 'citadel - :disp1 'special - ) - (new 'static 'continue-point - :name "finalboss-fight" - :level 'finalboss - :trans - (new 'static 'vector :x 12288335.0 :y 1970461.9 :z -19848522.0 :w 1.0) - :quat - (new 'static 'quaternion :y -0.5359 :w -0.8442) - :camera-trans - (new 'static 'vector :x 12265366.0 :y 1984228.5 :z -19842574.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.243 - 0.0 - -0.97 - 0.2594 - 0.9635 - -0.065 - 0.9346 - -0.2675 - -0.2341 - ) - :load-commands - '( - (special "citb-exit-plat-4" #t) + (new 'static 'continue-point + :name "finalboss-fight" + :level 'finalboss + :trans + (new 'static 'vector :x 12288335.0 :y 1970461.9 :z -19848522.0 :w 1.0) + :quat + (new 'static 'quaternion :y -0.5359 :w -0.8442) + :camera-trans + (new 'static 'vector :x 12265366.0 :y 1984228.5 :z -19842574.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.243 0.0 -0.97 0.2594 0.9635 -0.065 0.9346 -0.2675 -0.2341) + :load-commands + '((special "citb-exit-plat-4" #t)) + :vis-nick 'fin + :lev0 'finalboss + :disp0 'display + :lev1 'citadel + :disp1 'special ) - :vis-nick 'fin - :lev0 'finalboss - :disp0 'display - :lev1 'citadel - :disp1 'special ) - ) - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x 11837440.0 :y 2129920.0 :z -19578880.0 :w 778240.0) - :buzzer 91 - :bottom-height (meters -114.0) - :run-packages '("common") - :wait-for-load #f - ) + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x 11837440.0 :y 2129920.0 :z -19578880.0 :w 778240.0) + :buzzer 91 + :bottom-height (meters -114.0) + :run-packages '("common") + :wait-for-load #f + ) ) ;; definition for symbol intro, type level-load-info -(define - intro - (new 'static 'level-load-info - :index 22 - :name 'intro - :visname 'intro-vis - :nickname 'int - :packages '(intro) - :sound-banks '() - :music-bank #f - :ambient-sounds '() - :mood '*default-mood* - :mood-func 'update-mood-default - :ocean #f - :sky #f - :continues '() - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere (new 'static 'sphere) - :bottom-height (meters -10000000.0) - :run-packages '("common") - :wait-for-load #f - ) - ) +(define intro (new 'static 'level-load-info + :index 22 + :name 'intro + :visname 'intro-vis + :nickname 'int + :packages '(intro) + :sound-banks '() + :music-bank #f + :ambient-sounds '() + :mood '*default-mood* + :mood-func 'update-mood-default + :ocean #f + :sky #f + :continues '() + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere (new 'static 'sphere) + :bottom-height (meters -10000000.0) + :run-packages '("common") + :wait-for-load #f + ) + ) ;; definition for symbol demo, type level-load-info (define demo (new 'static 'level-load-info - :index 23 - :name 'demo - :visname 'demo-vis - :nickname 'dem - :packages '() - :sound-banks '(village1) - :music-bank 'village1 - :ambient-sounds '() - :mood '*default-mood* - :mood-func 'update-mood-default - :ocean #f - :sky #f - :continues - '( - (new 'static 'continue-point - :name "demo-start" - :level 'demo - :flags #x8 - :trans - (new 'static 'vector :x 66396.16 :y 29782.016 :z -919973.5 :w 1.0) - :quat (new 'static 'quaternion :w 1.0) - :camera-trans - (new 'static 'vector :x 76871.68 :y 55061.707 :z -938752.0 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.8743 - 0.0 - 0.4852 - -0.2117 - 0.8997 - 0.3816 - -0.4365 - -0.4364 - 0.7866 + :index 23 + :name 'demo + :visname 'demo-vis + :nickname 'dem + :packages '() + :sound-banks '(village1) + :music-bank 'village1 + :ambient-sounds '() + :mood '*default-mood* + :mood-func 'update-mood-default + :ocean #f + :sky #f + :continues + '((new 'static 'continue-point + :name "demo-start" + :level 'demo + :flags #x8 + :trans + (new 'static 'vector :x 66396.16 :y 29782.016 :z -919973.5 :w 1.0) + :quat (new 'static 'quaternion :w 1.0) + :camera-trans + (new 'static 'vector :x 76871.68 :y 55061.707 :z -938752.0 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.8743 0.0 0.4852 -0.2117 0.8997 0.3816 -0.4365 -0.4364 0.7866) + :load-commands '() + :vis-nick 'dem + :lev0 'demo + :disp0 'special + :lev1 #f + :disp1 #f ) - :load-commands '() - :vis-nick 'dem - :lev0 'demo - :disp0 'special - :lev1 #f - :disp1 #f - ) - ) - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere (new 'static 'sphere) - :bottom-height (meters -10000000.0) - :run-packages '("common") - :wait-for-load #f - ) + ) + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere (new 'static 'sphere) + :bottom-height (meters -10000000.0) + :run-packages '("common") + :wait-for-load #f + ) ) ;; definition for symbol title, type level-load-info (define title (new 'static 'level-load-info - :index 24 - :name 'title - :visname 'title-vis - :nickname 'tit - :packages '() - :sound-banks '() - :music-bank 'village1 - :ambient-sounds '() - :mood '*village1-mood* - :mood-func 'update-mood-village1 - :ocean #f - :sky #f - :continues - '( - (new 'static 'continue-point - :name "title-start" - :level 'title - :flags #x80 - :trans - (new 'static 'vector :x -635598.9 :y 222551.66 :z 710496.25 :w 1.0) - :quat - (new 'static 'quaternion :y -0.3323 :w -0.9431) - :camera-trans - (new 'static 'vector :x -665644.25 :y 250803.0 :z 668470.9 :w 1.0) - :camera-rot - (new 'static 'array float 9 - 0.8129 - 0.0 - -0.5823 - 0.0958 - 0.9863 - 0.1337 - 0.5744 - -0.1645 - 0.8018 + :index 24 + :name 'title + :visname 'title-vis + :nickname 'tit + :packages '() + :sound-banks '() + :music-bank 'village1 + :ambient-sounds '() + :mood '*village1-mood* + :mood-func 'update-mood-village1 + :ocean #f + :sky #f + :continues + '((new 'static 'continue-point + :name "title-start" + :level 'title + :flags #x80 + :trans + (new 'static 'vector :x -635598.9 :y 222551.66 :z 710496.25 :w 1.0) + :quat + (new 'static 'quaternion :y -0.3323 :w -0.9431) + :camera-trans + (new 'static 'vector :x -665644.25 :y 250803.0 :z 668470.9 :w 1.0) + :camera-rot + (new 'static 'array float 9 0.8129 0.0 -0.5823 0.0958 0.9863 0.1337 0.5744 -0.1645 0.8018) + :load-commands '() + :vis-nick 'tit + :lev0 'title + :disp0 'special + :lev1 'village1 + :disp1 #f ) - :load-commands '() - :vis-nick 'tit - :lev0 'title - :disp0 'special - :lev1 'village1 - :disp1 #f - ) - ) - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere - (new 'static 'sphere :x -40960.0 :z 40960.0 :w 1126400.0) - :bottom-height (meters -10000000.0) - :run-packages '("common") - :wait-for-load #f - ) + ) + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere + (new 'static 'sphere :x -40960.0 :z 40960.0 :w 1126400.0) + :bottom-height (meters -10000000.0) + :run-packages '("common") + :wait-for-load #f + ) ) ;; definition for symbol halfpipe, type level-load-info (define halfpipe (new 'static 'level-load-info - :index 25 - :name 'halfpipe - :visname 'halfpipe-vis - :nickname 'none - :packages '() - :sound-banks '() - :music-bank #f - :ambient-sounds '() - :mood '*default-mood* - :mood-func 'update-mood-default - :ocean #f - :sky #t - :sun-fade 1.0 - :continues - '( - (new 'static 'continue-point - :name "halfpipe" - :level 'halfpipe - :trans - (new 'static 'vector :x -1048.9856 :y -172047.97 :z -212555.78 :w 1.0) - :quat - (new 'static 'quaternion :y 0.061 :w 0.9981) - :camera-trans - (new 'static 'vector :x -9941.401 :y -150049.17 :z -159587.94 :w 1.0) - :camera-rot - (new 'static 'array float 9 - -0.979 - 0.0 - -0.2037 - 0.0545 - 0.9634 - -0.2622 - 0.1963 - -0.2678 - -0.9432 + :index 25 + :name 'halfpipe + :visname 'halfpipe-vis + :nickname 'none + :packages '() + :sound-banks '() + :music-bank #f + :ambient-sounds '() + :mood '*default-mood* + :mood-func 'update-mood-default + :ocean #f + :sky #t + :sun-fade 1.0 + :continues + '((new 'static 'continue-point + :name "halfpipe" + :level 'halfpipe + :trans + (new 'static 'vector :x -1048.9856 :y -172047.97 :z -212555.78 :w 1.0) + :quat + (new 'static 'quaternion :y 0.061 :w 0.9981) + :camera-trans + (new 'static 'vector :x -9941.401 :y -150049.17 :z -159587.94 :w 1.0) + :camera-rot + (new 'static 'array float 9 -0.979 0.0 -0.2037 0.0545 0.9634 -0.2622 0.1963 -0.2678 -0.9432) + :load-commands '() + :vis-nick #f + :lev0 'halfpipe + :disp0 'display + :lev1 #f + :disp1 #f ) - :load-commands '() - :vis-nick #f - :lev0 'halfpipe - :disp0 'display - :lev1 #f - :disp1 #f - ) - ) - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere (new 'static 'sphere :w 167772160000.0) - :bottom-height (meters -10000000.0) - :run-packages '() - :wait-for-load #t - ) + ) + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere (new 'static 'sphere :w 167772160000.0) + :bottom-height (meters -10000000.0) + :run-packages '() + :wait-for-load #t + ) ) ;; definition for symbol default-level, type level-load-info -(define - default-level - (new 'static 'level-load-info - :index 26 - :name 'default-level - :visname 'default-level-vis - :nickname 'none - :packages '() - :sound-banks '() - :music-bank #f - :ambient-sounds '() - :mood '*default-mood* - :mood-func 'update-mood-default - :ocean #f - :sky #t - :continues '() - :tasks '() - :priority 100 - :load-commands '() - :alt-load-commands '() - :bsp-mask #xffffffffffffffff - :bsphere (new 'static 'sphere :w 167772160000.0) - :bottom-height (meters -20.0) - :run-packages '() - :wait-for-load #t - ) - ) +(define default-level (new 'static 'level-load-info + :index 26 + :name 'default-level + :visname 'default-level-vis + :nickname 'none + :packages '() + :sound-banks '() + :music-bank #f + :ambient-sounds '() + :mood '*default-mood* + :mood-func 'update-mood-default + :ocean #f + :sky #t + :continues '() + :tasks '() + :priority 100 + :load-commands '() + :alt-load-commands '() + :bsp-mask #xffffffffffffffff + :bsphere (new 'static 'sphere :w 167772160000.0) + :bottom-height (meters -20.0) + :run-packages '() + :wait-for-load #t + ) + ) ;; definition for symbol *level-load-list*, type pair -(define - *level-load-list* - '( - training village1 beach jungle jungleb misty firecanyon village2 sunken sunkenb swamp rolling ogre village3 snow maincave darkcave robocave lavatube citadel finalboss intro demo title halfpipe default-level - ) - ) +(define *level-load-list* '(training + village1 + beach + jungle + jungleb + misty + firecanyon + village2 + sunken + sunkenb + swamp + rolling + ogre + village3 + snow + maincave + darkcave + robocave + lavatube + citadel + finalboss + intro + demo + title + halfpipe + default-level + ) + ) diff --git a/test/decompiler/reference/engine/level/level_REF.gc b/test/decompiler/reference/engine/level/level_REF.gc index d872f04f64..9b2304b300 100644 --- a/test/decompiler/reference/engine/level/level_REF.gc +++ b/test/decompiler/reference/engine/level/level_REF.gc @@ -6,164 +6,124 @@ (let* ((rest *level-load-list*) (current-sym (car rest)) ) - (while (not (null? rest)) - (let - ((info (the-as level-load-info (-> (the-as symbol current-sym) value)))) - (if - (or - (= name (-> info name)) - (= name (-> info visname)) - (= name (-> info nickname)) - ) - (return info) + (while (not (null? rest)) + (let ((info (the-as level-load-info (-> (the-as symbol current-sym) value)))) + (if (or (= name (-> info name)) (= name (-> info visname)) (= name (-> info nickname))) + (return info) + ) + ) + (set! rest (cdr rest)) + (set! current-sym (car rest)) ) - ) - (set! rest (cdr rest)) - (set! current-sym (car rest)) ) - ) default-level ) ;; definition for method 21 of type level-group ;; INFO: Return type mismatch object vs pair. -(defmethod - load-command-get-index - level-group - ((obj level-group) (name symbol) (cmd-idx int)) +(defmethod load-command-get-index level-group ((obj level-group) (name symbol) (cmd-idx int)) (let ((cmd-lst (-> (lookup-level-info name) alt-load-commands))) - (while (nonzero? cmd-idx) - (+! cmd-idx -1) - (set! cmd-lst (cdr cmd-lst)) - (nop!) - (nop!) - (nop!) + (while (nonzero? cmd-idx) + (+! cmd-idx -1) + (set! cmd-lst (cdr cmd-lst)) + (nop!) + (nop!) + (nop!) + ) + (the-as pair (car cmd-lst)) ) - (the-as pair (car cmd-lst)) - ) ) ;; definition for function remap-level-name (defun remap-level-name ((arg0 level-load-info)) (if (-> *level* vis?) - (-> arg0 visname) - (-> arg0 name) - ) + (-> arg0 visname) + (-> arg0 name) + ) ) ;; definition for method 28 of type level (defmethod art-group-get-by-name level ((obj level) (arg0 string)) (countdown (s4-0 (-> obj art-group art-group-array length)) - (if (name= (-> obj art-group art-group-array s4-0 name) arg0) - (return (-> obj art-group art-group-array s4-0)) + (if (name= (-> obj art-group art-group-array s4-0 name) arg0) + (return (-> obj art-group art-group-array s4-0)) + ) ) - ) (the-as art-group #f) ) ;; definition for method 13 of type level (defmethod bsp-name level ((obj level)) - (if - (and - (!= (-> obj status) 'inactive) - (-> obj bsp) - (nonzero? (-> obj bsp name)) - ) - (-> obj bsp name) - (-> obj name) - ) + (if (and (!= (-> obj status) 'inactive) (-> obj bsp) (nonzero? (-> obj bsp name))) + (-> obj bsp name) + (-> obj name) + ) ) ;; definition for function add-bsp-drawable -(defun - add-bsp-drawable - ((arg0 bsp-header) (arg1 level) (arg2 symbol) (arg3 display-frame)) +(defun add-bsp-drawable ((arg0 bsp-header) (arg1 level) (arg2 symbol) (arg3 display-frame)) (draw arg0 arg0 arg3) (if (nonzero? *display-strip-lines*) - (debug-draw arg0 arg0 arg3) - ) + (debug-draw arg0 arg0 arg3) + ) (none) ) ;; definition for method 2 of type level (defmethod print level ((obj level)) - (format - #t - "#<~A ~A ~S @ #x~X>" - (-> obj type) - (-> obj status) - (-> obj name) - obj - ) + (format #t "#<~A ~A ~S @ #x~X>" (-> obj type) (-> obj status) (-> obj name) obj) obj ) ;; definition for method 7 of type bsp-header ;; INFO: Return type mismatch bsp-header vs none. -(defmethod - relocate - bsp-header - ((obj bsp-header) (arg0 kheap) (arg1 (pointer uint8))) +(defmethod relocate bsp-header ((obj bsp-header) (arg0 kheap) (arg1 (pointer uint8))) (let ((s5-0 (-> *level* loading-level))) - (if s5-0 - (set! obj (cond - (obj - (cond - ((not (type-type? (-> obj type) bsp-header)) - (format - 0 - "ERROR: level ~A is not a bsp-header.~%" - (-> s5-0 name) - ) - (the-as bsp-header #f) - ) - ((not - (file-info-correct-version? - (-> obj info) - (file-kind level-bt) - 0 + (if s5-0 + (set! obj (cond + (obj + (cond + ((not (type-type? (-> obj type) bsp-header)) + (format 0 "ERROR: level ~A is not a bsp-header.~%" (-> s5-0 name)) + (the-as bsp-header #f) + ) + ((not (file-info-correct-version? (-> obj info) (file-kind level-bt) 0)) + (the-as bsp-header #f) + ) + ((< 2048 (-> obj visible-list-length)) + (format + 0 + "ERROR: level ~A visible-list-length ~d is greater than 2048 (16384 drawables).~%" + (-> s5-0 name) + (-> obj visible-list-length) + ) + (the-as bsp-header #f) + ) + (else + (set! (-> s5-0 bsp) obj) + (set! (-> obj level) s5-0) + obj + ) + ) + ) + (else + (format 0 "ERROR: level ~A is not a valid file.~%" (-> s5-0 name)) + (the-as bsp-header #f) + ) ) - ) - (the-as bsp-header #f) - ) - ((< 2048 (-> obj visible-list-length)) - (format - 0 - "ERROR: level ~A visible-list-length ~d is greater than 2048 (16384 drawables).~%" - (-> s5-0 name) - (-> obj visible-list-length) - ) - (the-as bsp-header #f) - ) - (else - (set! (-> s5-0 bsp) obj) - (set! (-> obj level) s5-0) - obj - ) - ) - ) - (else - (format - 0 - "ERROR: level ~A is not a valid file.~%" - (-> s5-0 name) - ) - (the-as bsp-header #f) - ) - ) - ) + ) + ) ) - ) (none) ) ;; definition for method 24 of type level (defmethod load-required-packages level ((obj level)) (when (not (or (not (-> obj bsp)) (= *kernel-boot-mode* 'debug-boot))) - (if (not (null? (-> obj info packages))) - (load-package "common" global) + (if (not (null? (-> obj info packages))) + (load-package "common" global) + ) ) - ) obj ) @@ -171,12 +131,12 @@ ;; Used lq/sq (defmethod vis-clear level ((obj level)) (countdown (v1-0 8) - (nop!) - (set! (-> obj vis-info v1-0) #f) - ) + (nop!) + (set! (-> obj vis-info v1-0) #f) + ) (dotimes (v1-3 128) - (set! (-> (the-as (pointer int128) (&+ (-> obj vis-bits) (* v1-3 16)))) 0) - ) + (set! (-> (the-as (pointer int128) (&+ (-> obj vis-bits) (* v1-3 16)))) 0) + ) (set! (-> obj all-visible?) 'loading) 0 ) @@ -185,137 +145,119 @@ ;; Used lq/sq (defmethod vis-load level ((obj level)) (when (zero? (-> obj vis-info (-> obj vis-self-index) ramdisk)) - (let ((v1-10 (-> obj other vis-info (-> obj other vis-self-index)))) - (when (and v1-10 (nonzero? (-> v1-10 ramdisk))) - (set! (-> v1-10 flags) (logand -1073741825 (-> v1-10 flags))) - (set! (-> v1-10 ramdisk) (the-as uint 0)) - 0 - ) - ) - (let - ((s4-0 - (make-file-name (file-kind vis) (the-as string (-> obj nickname)) 0 #f) + (let ((v1-10 (-> obj other vis-info (-> obj other vis-self-index)))) + (when (and v1-10 (nonzero? (-> v1-10 ramdisk))) + (set! (-> v1-10 flags) (logand -1073741825 (-> v1-10 flags))) + (set! (-> v1-10 ramdisk) (the-as uint 0)) + 0 + ) + ) + (let ((s4-0 (make-file-name (file-kind vis) (the-as string (-> obj nickname)) 0 #f)) + (s3-0 (the-as ramdisk-rpc-fill (add-element *ramdisk-rpc*))) + (s5-0 (+ *current-ramdisk-id* 1)) + ) + (set! *current-ramdisk-id* s5-0) + (set! (-> s3-0 filename) (string->sound-name s4-0)) + (set! (-> s3-0 ee-id) s5-0) + (call *ramdisk-rpc* (the-as uint 1) (the-as pointer 0) (the-as uint 0)) + (set! (-> obj vis-info (-> obj vis-self-index) ramdisk) (the-as uint s5-0)) ) - (s3-0 (the-as ramdisk-rpc-fill (add-element *ramdisk-rpc*))) - (s5-0 (+ *current-ramdisk-id* 1)) - ) - (set! *current-ramdisk-id* s5-0) - (set! (-> s3-0 filename) (string->sound-name s4-0)) - (set! (-> s3-0 ee-id) s5-0) - (call *ramdisk-rpc* (the-as uint 1) (the-as pointer 0) (the-as uint 0)) - (set! (-> obj vis-info (-> obj vis-self-index) ramdisk) (the-as uint s5-0)) ) - ) (-> obj vis-info (-> obj vis-self-index) ramdisk) ) ;; definition for function load-vis-info (defun load-vis-info ((arg0 symbol) (arg1 symbol)) (dotimes (s4-0 (-> *level* length)) - (let ((s3-0 (-> *level* level s4-0))) - (when (= (-> s3-0 status) 'active) - (when (= arg0 (-> s3-0 nickname)) - (format 0 "Swapping in ~A VIS [dumping ~A]~%" arg0 arg1) - (vis-load s3-0) + (let ((s3-0 (-> *level* level s4-0))) + (when (= (-> s3-0 status) 'active) + (when (= arg0 (-> s3-0 nickname)) + (format 0 "Swapping in ~A VIS [dumping ~A]~%" arg0 arg1) + (vis-load s3-0) + ) + ) ) - ) ) - ) 0 ) ;; definition for method 25 of type level (defmethod init-vis level ((obj level)) (when (not (or (= (-> obj status) 'inactive) (not (-> obj bsp)))) - (set! (-> obj all-visible?) 'loading) - (let ((s5-0 (-> obj bsp vis-info 0))) - (cond - ((and s5-0 (nonzero? s5-0) (valid? s5-0 level-vis-info #f #f 0)) - (set! (-> obj vis-info 0) s5-0) - (set! (-> s5-0 current-vis-string) (the-as uint -1)) - (set! (-> s5-0 from-bsp) (-> obj bsp)) - (set! (-> s5-0 vis-bits) (-> obj vis-bits)) - (set! - (-> s5-0 flags) - (logand (the-as uint #xffffffff3fffffff) (-> s5-0 flags)) - ) - (set! (-> s5-0 flags) (logior #x20000000 (-> s5-0 flags))) - (set! (-> s5-0 ramdisk) (the-as uint 0)) - (set! (-> s5-0 string-block) (the-as uint #f)) - (set! *vis-boot* #t) - ) - (else - (set! (-> obj vis-info 0) #f) - ) - ) - ) - (dotimes (s5-1 6) - (let* ((s3-0 (+ s5-1 1)) - (s4-0 (-> obj bsp vis-info s3-0)) - ) - (cond - ((and s4-0 (nonzero? s4-0) (valid? s4-0 level-vis-info #f #f 0)) - (set! (-> obj vis-info s3-0) s4-0) - (set! (-> s4-0 current-vis-string) (the-as uint -1)) - (set! (-> s4-0 from-bsp) #f) - (set! (-> s4-0 vis-bits) (-> obj vis-bits)) - (set! - (-> s4-0 flags) - (logand (the-as uint #xffffffff1fffffff) (-> s4-0 flags)) + (set! (-> obj all-visible?) 'loading) + (let ((s5-0 (-> obj bsp vis-info 0))) + (cond + ((and s5-0 (nonzero? s5-0) (valid? s5-0 level-vis-info #f #f 0)) + (set! (-> obj vis-info 0) s5-0) + (set! (-> s5-0 current-vis-string) (the-as uint -1)) + (set! (-> s5-0 from-bsp) (-> obj bsp)) + (set! (-> s5-0 vis-bits) (-> obj vis-bits)) + (set! (-> s5-0 flags) (logand (the-as uint #xffffffff3fffffff) (-> s5-0 flags))) + (set! (-> s5-0 flags) (logior #x20000000 (-> s5-0 flags))) + (set! (-> s5-0 ramdisk) (the-as uint 0)) + (set! (-> s5-0 string-block) (the-as uint #f)) + (set! *vis-boot* #t) + ) + (else + (set! (-> obj vis-info 0) #f) + ) + ) + ) + (dotimes (s5-1 6) + (let* ((s3-0 (+ s5-1 1)) + (s4-0 (-> obj bsp vis-info s3-0)) + ) + (cond + ((and s4-0 (nonzero? s4-0) (valid? s4-0 level-vis-info #f #f 0)) + (set! (-> obj vis-info s3-0) s4-0) + (set! (-> s4-0 current-vis-string) (the-as uint -1)) + (set! (-> s4-0 from-bsp) #f) + (set! (-> s4-0 vis-bits) (-> obj vis-bits)) + (set! (-> s4-0 flags) (logand (the-as uint #xffffffff1fffffff) (-> s4-0 flags))) + (set! *vis-boot* #t) + ) + (else + (set! (-> obj vis-info s3-0) #f) + ) + ) ) - (set! *vis-boot* #t) - ) - (else - (set! (-> obj vis-info s3-0) #f) - ) ) - ) ) - ) 0 ) ;; definition for method 11 of type level-group -(defmethod - level-get-for-use - level-group - ((obj level-group) (arg0 symbol) (arg1 symbol)) +(defmethod level-get-for-use level-group ((obj level-group) (arg0 symbol) (arg1 symbol)) (local-vars (s5-1 level)) (alloc-levels! obj #f) (let* ((s3-0 (lookup-level-info arg0)) (s2-0 (remap-level-name s3-0)) ) - (let ((s1-0 (level-get obj s2-0))) - (when s1-0 - (level-status-set! s1-0 arg1) - (set! s5-1 s1-0) - (goto cfg-10) - ) + (let ((s1-0 (level-get obj s2-0))) + (when s1-0 + (level-status-set! s1-0 arg1) + (set! s5-1 s1-0) + (goto cfg-10) + ) + ) + (let ((a0-7 (level-get-most-disposable obj))) + (set! s5-1 (if a0-7 + (level-status-set! a0-7 'inactive) + a0-7 + ) + ) + ) + (when (not level) + (format 0 "ERROR: could not find a slot to load ~A into.~%" arg0) + (set! s5-1 (the-as level #f)) + (goto cfg-10) + ) + (set! (-> s5-1 info) s3-0) + (set! (-> s5-1 name) arg0) + (set! (-> s5-1 load-name) s2-0) ) - (let ((a0-7 (level-get-most-disposable obj))) - (set! s5-1 (if a0-7 - (level-status-set! a0-7 'inactive) - a0-7 - ) - ) - ) - (when (not level) - (format 0 "ERROR: could not find a slot to load ~A into.~%" arg0) - (set! s5-1 (the-as level #f)) - (goto cfg-10) - ) - (set! (-> s5-1 info) s3-0) - (set! (-> s5-1 name) arg0) - (set! (-> s5-1 load-name) s2-0) - ) (set! (-> s5-1 mood) (the-as mood-context (-> s5-1 info mood value))) - (set! - (-> s5-1 mood-func) - (the-as - (function mood-context float int none) - (-> s5-1 info mood-func value) - ) - ) + (set! (-> s5-1 mood-func) (the-as (function mood-context float int none) (-> s5-1 info mood-func value))) (set! (-> s5-1 display?) #f) (set! (-> s5-1 force-all-visible?) #f) (set! (-> s5-1 force-inside?) #f) @@ -328,81 +270,74 @@ ;; definition for method 25 of type level-group (defmethod level-status level-group ((obj level-group) (arg0 symbol)) (let ((v1-1 (level-get *level* arg0))) - (if v1-1 - (-> v1-1 status) + (if v1-1 + (-> v1-1 status) + ) ) - ) ) ;; definition for method 23 of type level (defmethod level-status-set! level ((obj level) (arg0 symbol)) - (case arg0 - (('inactive) + (case arg0 + (('inactive) (-> obj status) (unload! obj) ) - (('loading) - (case (-> obj status) - (('inactive) - (load-begin obj) - ) - ) - ) - (('loading-bt) - (case (-> obj status) - (('loading) - (set! (-> obj status) arg0) - (load-continue obj) - ) - ) - ) - (('loading-done) - (case (-> obj status) - (('loading-bt) - (set! (-> obj status) arg0) - ) - ) - ) - (('loaded) - (case (-> obj status) - (('loading-done) - (login-begin obj) - ) - (('alive 'active) - (deactivate obj) - ) - ) - ) - (('alive 'active) - (when *dproc* - (case (-> obj status) - (('loaded) - (birth obj) - (level-status-set! obj arg0) - ) - (('alive) - (when (and *dproc* (= arg0 'active)) - (remove-by-param1 *background-draw-engine* (-> obj bsp)) - (add-connection - *background-draw-engine* - *dproc* - add-bsp-drawable - (-> obj bsp) - obj - #f - ) - (dotimes (v1-40 9) - (set! (-> obj closest-object v1-40) 0.0) - (set! (-> obj texture-mask v1-40) (the-as uint 0)) - ) - (set! (-> obj level-distance) 0.0) - (set! (-> obj status) 'active) + (('loading) + (case (-> obj status) + (('inactive) + (load-begin obj) ) ) - ) + ) + (('loading-bt) + (case (-> obj status) + (('loading) + (set! (-> obj status) arg0) + (load-continue obj) + ) + ) + ) + (('loading-done) + (case (-> obj status) + (('loading-bt) + (set! (-> obj status) arg0) + ) + ) + ) + (('loaded) + (case (-> obj status) + (('loading-done) + (login-begin obj) + ) + (('alive 'active) + (deactivate obj) + ) + ) + ) + (('alive 'active) + (when *dproc* + (case (-> obj status) + (('loaded) + (birth obj) + (level-status-set! obj arg0) + ) + (('alive) + (when (and *dproc* (= arg0 'active)) + (remove-by-param1 *background-draw-engine* (-> obj bsp)) + (add-connection *background-draw-engine* *dproc* add-bsp-drawable (-> obj bsp) obj #f) + (dotimes (v1-40 9) + (set! (-> obj closest-object v1-40) 0.0) + (set! (-> obj texture-mask v1-40) (the-as uint 0)) + ) + (set! (-> obj level-distance) 0.0) + (set! (-> obj status) 'active) + ) + ) + ) + ) ) ) - ) obj ) @@ -416,77 +351,72 @@ (defmethod load-continue level ((obj level)) (local-vars (sv-16 symbol)) (when (-> obj linking) - (when (nonzero? (link-resume)) - (set! (-> obj linking) #f) - (case (-> obj status) - (('loading) - (if (not (-> *texture-relocate-later* memcpy)) - (dgo-load-continue (logand -64 (&+ (-> obj heap current) 63))) + (when (nonzero? (link-resume)) + (set! (-> obj linking) #f) + (case (-> obj status) + (('loading) + (if (not (-> *texture-relocate-later* memcpy)) + (dgo-load-continue (logand -64 (&+ (-> obj heap current) 63))) + ) + ) + (('loading-bt) + (level-status-set! obj 'loading-done) + (level-status-set! obj 'loaded) + ) ) - ) - (('loading-bt) - (level-status-set! obj 'loading-done) - (level-status-set! obj 'loaded) ) - ) + (set! obj obj) + (goto cfg-30) ) - (set! obj obj) - (goto cfg-30) - ) (when (-> *texture-relocate-later* memcpy) - (relocate-later) - (dgo-load-continue (logand -64 (&+ (-> obj heap current) 63))) - (set! obj obj) - (goto cfg-30) - ) - (case (-> obj status) - (('loading) + (relocate-later) + (dgo-load-continue (logand -64 (&+ (-> obj heap current) 63))) + (set! obj obj) + (goto cfg-30) + ) + (case (-> obj status) + (('loading) (set! sv-16 (the-as symbol #f)) (let ((a0-15 (dgo-load-get-next (& sv-16)))) - (when a0-15 - (cond - ((not sv-16) + (when a0-15 (cond - ((dgo-load-link - (the-as dgo-header a0-15) - (-> obj heap) - *print-login* - #f - ) - (if (not (-> *texture-relocate-later* memcpy)) - (dgo-load-continue (logand -64 (&+ (-> obj heap current) 63))) + ((not sv-16) + (cond + ((dgo-load-link (the-as dgo-header a0-15) (-> obj heap) *print-login* #f) + (if (not (-> *texture-relocate-later* memcpy)) + (dgo-load-continue (logand -64 (&+ (-> obj heap current) 63))) + ) + ) + (else + (set! (-> obj linking) #t) + ) + ) ) + (else + (set! (-> obj heap top) (-> obj heap top-base)) + (level-status-set! obj 'loading-bt) + ) ) - (else + ) + ) + ) + (('login) + (level-update-after-load obj *login-state*) + ) + (('loading-bt) + (let ((a0-26 (logand -64 (&+ (-> obj heap current) 63)))) + (cond + ((dgo-load-link (the-as dgo-header a0-26) (-> obj heap) *print-login* #t) + (level-status-set! obj 'loading-done) + (level-status-set! obj 'loaded) + ) + (else (set! (-> obj linking) #t) ) - ) ) - (else - (set! (-> obj heap top) (-> obj heap top-base)) - (level-status-set! obj 'loading-bt) - ) - ) ) - ) - ) - (('login) - (level-update-after-load obj *login-state*) - ) - (('loading-bt) - (let ((a0-26 (logand -64 (&+ (-> obj heap current) 63)))) - (cond - ((dgo-load-link (the-as dgo-header a0-26) (-> obj heap) *print-login* #t) - (level-status-set! obj 'loading-done) - (level-status-set! obj 'loaded) - ) - (else - (set! (-> obj linking) #t) - ) - ) ) ) - ) (label cfg-30) obj ) @@ -505,44 +435,19 @@ (set! (-> obj status) 'loading) (set! (-> *texture-pool* allocate-func) texture-page-level-allocate) (if (= (-> obj load-name) (-> obj info visname)) - (format (clear *temp-string*) "~S" (-> obj info nickname)) - (format (clear *temp-string*) "~S" (-> obj name)) - ) + (format (clear *temp-string*) "~S" (-> obj info nickname)) + (format (clear *temp-string*) "~S" (-> obj name)) + ) (set! (-> *temp-string* data 8) (the-as uint 0)) (format *temp-string* ".DGO") (set! (-> obj heap top) (-> obj heap top-base)) - (let - ((s4-0 - (kmalloc - (-> obj heap) - #x200000 - (kmalloc-flags align-64 top) - "dgo-level-buf-2" - ) - ) - (s5-2 - (kmalloc - (-> obj heap) - #x200000 - (kmalloc-flags align-64 top) - "dgo-level-buf-2" - ) - ) + (let ((s4-0 (kmalloc (-> obj heap) #x200000 (kmalloc-flags align-64 top) "dgo-level-buf-2")) + (s5-2 (kmalloc (-> obj heap) #x200000 (kmalloc-flags align-64 top) "dgo-level-buf-2")) + ) + (set! (-> obj code-memory-start) (-> obj heap current)) + (format 0 "-----------> begin load ~A [~S]~%" (-> obj load-name) *temp-string*) + (dgo-load-begin *temp-string* s5-2 s4-0 (logand -64 (&+ (-> obj heap current) 63))) ) - (set! (-> obj code-memory-start) (-> obj heap current)) - (format - 0 - "-----------> begin load ~A [~S]~%" - (-> obj load-name) - *temp-string* - ) - (dgo-load-begin - *temp-string* - s5-2 - s4-0 - (logand -64 (&+ (-> obj heap current) 63)) - ) - ) obj ) @@ -550,34 +455,29 @@ (defmethod login-begin level ((obj level)) (set! (-> *texture-pool* allocate-func) texture-page-default-allocate) (cond - ((-> obj bsp) - (set! (-> *level* log-in-level-bsp) (-> obj bsp)) - (login-level-textures - *texture-pool* - obj - (-> obj bsp texture-page-count) - (-> obj bsp texture-ids) - ) - (let ((v1-7 (-> obj bsp))) - (when (nonzero? (-> v1-7 adgifs)) - (let ((s5-0 (-> v1-7 adgifs))) - (dotimes (s4-0 (-> s5-0 length)) - (adgif-shader-login-no-remap (-> s5-0 data s4-0)) - ) + ((-> obj bsp) + (set! (-> *level* log-in-level-bsp) (-> obj bsp)) + (login-level-textures *texture-pool* obj (-> obj bsp texture-page-count) (-> obj bsp texture-ids)) + (let ((v1-7 (-> obj bsp))) + (when (nonzero? (-> v1-7 adgifs)) + (let ((s5-0 (-> v1-7 adgifs))) + (dotimes (s4-0 (-> s5-0 length)) + (adgif-shader-login-no-remap (-> s5-0 data s4-0)) + ) + ) + ) ) - ) + (set! (-> *login-state* state) -1) + (set! (-> *login-state* pos) (the-as uint 0)) + (set! (-> *login-state* elts) (the-as uint 0)) + (set! (-> obj status) 'login) ) - (set! (-> *login-state* state) -1) - (set! (-> *login-state* pos) (the-as uint 0)) - (set! (-> *login-state* elts) (the-as uint 0)) - (set! (-> obj status) 'login) + (else + (level-status-set! obj 'inactive) + (set! loading-level global) + (set! (-> *level* loading-level) (-> *level* level-default)) + ) ) - (else - (level-status-set! obj 'inactive) - (set! loading-level global) - (set! (-> *level* loading-level) (-> *level* level-default)) - ) - ) obj ) @@ -587,241 +487,174 @@ ;; WARN: Unsupported inline assembly instruction kind - [mfc0 v1, Count] ;; WARN: Unsupported inline assembly instruction kind - [mfc0 v1, Count] ;; Used lq/sq -(defun - level-update-after-load - ((loaded-level level) (level-login-state login-state)) - (local-vars - (current-timer int) - (v1-154 int) - (initial-timer int) - (sv-16 prototype-bucket-tie) - (sv-32 int) - ) +(defun level-update-after-load ((loaded-level level) (level-login-state login-state)) + (local-vars (current-timer int) (v1-154 int) (initial-timer int) (sv-16 prototype-bucket-tie) (sv-32 int)) 0 (let ((level-drawable-trees (-> loaded-level bsp drawable-trees))) - 0 - (.mfc0 initial-timer Count) - (label cfg-1) - 0 - (.mfc0 current-timer Count) - (let ((elapsed-timer (- current-timer initial-timer))) - (when (< #x186a0 elapsed-timer) - (set! loaded-level loaded-level) - (goto cfg-78) - ) - ) - (let ((current-login-pos (the-as int (-> level-login-state pos)))) - (when (= (-> level-login-state state) -1) - (when (< current-login-pos (-> level-drawable-trees length)) - (let - ((current-drawable - (-> level-drawable-trees trees (the-as uint current-login-pos)) - ) + 0 + (.mfc0 initial-timer Count) + (label cfg-1) + 0 + (.mfc0 current-timer Count) + (let ((elapsed-timer (- current-timer initial-timer))) + (when (< #x186a0 elapsed-timer) + (set! loaded-level loaded-level) + (goto cfg-78) ) - (cond - ((= (-> current-drawable type) drawable-tree-tfrag) - (dotimes (idx-in-drawable (-> current-drawable length)) - (cond - ((= - (-> current-drawable data idx-in-drawable type) - drawable-inline-array-tfrag - ) - (set! - (-> level-login-state elt (-> level-login-state elts)) - (-> current-drawable data idx-in-drawable) - ) - (+! (-> level-login-state elts) 1) - ) - (else - (login (-> current-drawable data idx-in-drawable)) - ) - ) - ) - ) - ((= (-> current-drawable type) drawable-tree-instance-tie) - (set! - (-> level-login-state elt (-> level-login-state elts)) - current-drawable - ) - (+! (-> level-login-state elts) 1) - ) - (else - (login current-drawable) - ) - ) - ) - (+! (-> level-login-state pos) 1) - (goto cfg-1) ) - (let - ((v1-39 - (- - (the-as uint current-login-pos) - (the-as uint (-> level-drawable-trees length)) - ) - ) - ) - (when - (< (the-as int v1-39) (-> loaded-level art-group art-group-array length)) - (let ((s2-2 (-> loaded-level art-group art-group-array v1-39))) - (login s2-2) - (if (needs-link? s2-2) - (link-art! s2-2) - ) - ) - (+! (-> level-login-state pos) 1) - (goto cfg-1) - ) - ) - (set! (-> level-login-state pos) (the-as uint 0)) - (set! (-> level-login-state state) 0) - (goto cfg-1) - ) - (when - (< (-> level-login-state state) (the-as int (-> level-login-state elts))) - (let ((s1-1 (-> level-login-state elt (-> level-login-state state)))) - (cond - ((= (-> s1-1 type) drawable-inline-array-tfrag) - (cond - ((< - current-login-pos - (-> (the-as drawable-inline-array-tfrag s1-1) length) - ) - (dotimes (s0-0 200) - (when - (< - current-login-pos - (-> (the-as drawable-inline-array-tfrag s1-1) length) - ) - (login - (-> - (the-as drawable-inline-array-tfrag s1-1) - data - (the-as uint current-login-pos) - ) - ) - (set! - current-login-pos - (the-as int (+ (the-as uint current-login-pos) 1)) - ) - ) - ) - (set! (-> level-login-state pos) (the-as uint current-login-pos)) - ) - (else - (set! (-> level-login-state pos) (the-as uint 0)) - (set! current-login-pos (+ (-> level-login-state state) 1)) - (set! (-> level-login-state state) current-login-pos) - ) - ) - ) - ((= (-> s1-1 type) drawable-tree-instance-tie) - (let - ((s1-2 - (-> - (the-as drawable-tree-instance-tie s1-1) - prototypes - prototype-array-tie - ) - ) - ) - (when (< current-login-pos (-> s1-2 length)) - (dotimes (s0-1 10) - (when (< current-login-pos (-> s1-2 length)) - (set! sv-16 (-> s1-2 array-data (the-as uint current-login-pos))) - (set! sv-32 0) - (while (< sv-32 4) - (let ((a0-28 (-> sv-16 geometry sv-32))) - (if (nonzero? a0-28) - (login a0-28) + (let ((current-login-pos (the-as int (-> level-login-state pos)))) + (when (= (-> level-login-state state) -1) + (when (< current-login-pos (-> level-drawable-trees length)) + (let ((current-drawable (-> level-drawable-trees trees (the-as uint current-login-pos)))) + (cond + ((= (-> current-drawable type) drawable-tree-tfrag) + (dotimes (idx-in-drawable (-> current-drawable length)) + (cond + ((= (-> current-drawable data idx-in-drawable type) drawable-inline-array-tfrag) + (set! (-> level-login-state elt (-> level-login-state elts)) (-> current-drawable data idx-in-drawable)) + (+! (-> level-login-state elts) 1) + ) + (else + (login (-> current-drawable data idx-in-drawable)) + ) + ) + ) ) - ) - (set! sv-32 (+ sv-32 1)) - ) - (set! - current-login-pos - (the-as int (+ (the-as uint current-login-pos) 1)) - ) - ) - ) - (set! (-> level-login-state pos) (the-as uint current-login-pos)) - ) - (when (= (the-as uint current-login-pos) (-> s1-2 length)) - (dotimes (s2-3 (-> s1-2 length)) - (let ((s0-2 (-> s1-2 array-data s2-3 envmap-shader))) - (when (nonzero? s0-2) - (adgif-shader-login-no-remap s0-2) - (set! (-> s0-2 tex1) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) - (set! - (-> s0-2 clamp) - (new 'static 'gs-clamp - :wms (gs-tex-wrap-mode clamp) - :wmt (gs-tex-wrap-mode clamp) + ((= (-> current-drawable type) drawable-tree-instance-tie) + (set! (-> level-login-state elt (-> level-login-state elts)) current-drawable) + (+! (-> level-login-state elts) 1) ) + (else + (login current-drawable) + ) ) - (set! (-> s0-2 alpha) (new 'static 'gs-miptbp :tbp1 #x58)) - (set! (-> s0-2 prims 1) (gs-reg64 tex0-1)) - (set! (-> s0-2 prims 3) (gs-reg64 tex1-1)) - (set! (-> s0-2 prims 5) (gs-reg64 miptbp1-1)) - (set! (-> s0-2 clamp-reg) (gs-reg64 clamp-1)) - (set! (-> s0-2 prims 9) (gs-reg64 alpha-1)) - ) ) - ) - (set! (-> level-login-state pos) (the-as uint 0)) - (+! (-> level-login-state state) 1) + (+! (-> level-login-state pos) 1) + (goto cfg-1) + ) + (let ((v1-39 (- (the-as uint current-login-pos) (the-as uint (-> level-drawable-trees length))))) + (when (< (the-as int v1-39) (-> loaded-level art-group art-group-array length)) + (let ((s2-2 (-> loaded-level art-group art-group-array v1-39))) + (login s2-2) + (if (needs-link? s2-2) + (link-art! s2-2) + ) + ) + (+! (-> level-login-state pos) 1) + (goto cfg-1) + ) ) - ) - ) - ) - ) - (goto cfg-1) - ) - (when (= (-> level-login-state state) (-> level-login-state elts)) - (let ((v1-115 (-> loaded-level bsp))) - (cond - ((or - (zero? (-> v1-115 actors)) - (= (the-as uint current-login-pos) (-> v1-115 actors length)) - ) (set! (-> level-login-state pos) (the-as uint 0)) - (+! (-> level-login-state state) 1) + (set! (-> level-login-state state) 0) + (goto cfg-1) ) - (else - (let - ((a0-36 (-> v1-115 actors data (the-as uint current-login-pos) actor))) - (entity-nav-login a0-36) - ) - (+! (-> level-login-state pos) 1) + (when (< (-> level-login-state state) (the-as int (-> level-login-state elts))) + (let ((s1-1 (-> level-login-state elt (-> level-login-state state)))) + (cond + ((= (-> s1-1 type) drawable-inline-array-tfrag) + (cond + ((< current-login-pos (-> (the-as drawable-inline-array-tfrag s1-1) length)) + (dotimes (s0-0 200) + (when (< current-login-pos (-> (the-as drawable-inline-array-tfrag s1-1) length)) + (login (-> (the-as drawable-inline-array-tfrag s1-1) data (the-as uint current-login-pos))) + (set! current-login-pos (the-as int (+ (the-as uint current-login-pos) 1))) + ) + ) + (set! (-> level-login-state pos) (the-as uint current-login-pos)) + ) + (else + (set! (-> level-login-state pos) (the-as uint 0)) + (set! current-login-pos (+ (-> level-login-state state) 1)) + (set! (-> level-login-state state) current-login-pos) + ) + ) + ) + ((= (-> s1-1 type) drawable-tree-instance-tie) + (let ((s1-2 (-> (the-as drawable-tree-instance-tie s1-1) prototypes prototype-array-tie))) + (when (< current-login-pos (-> s1-2 length)) + (dotimes (s0-1 10) + (when (< current-login-pos (-> s1-2 length)) + (set! sv-16 (-> s1-2 array-data (the-as uint current-login-pos))) + (set! sv-32 0) + (while (< sv-32 4) + (let ((a0-28 (-> sv-16 geometry sv-32))) + (if (nonzero? a0-28) + (login a0-28) + ) + ) + (set! sv-32 (+ sv-32 1)) + ) + (set! current-login-pos (the-as int (+ (the-as uint current-login-pos) 1))) + ) + ) + (set! (-> level-login-state pos) (the-as uint current-login-pos)) + ) + (when (= (the-as uint current-login-pos) (-> s1-2 length)) + (dotimes (s2-3 (-> s1-2 length)) + (let ((s0-2 (-> s1-2 array-data s2-3 envmap-shader))) + (when (nonzero? s0-2) + (adgif-shader-login-no-remap s0-2) + (set! (-> s0-2 tex1) (new 'static 'gs-tex1 :mmag #x1 :mmin #x1)) + (set! (-> s0-2 clamp) (new 'static 'gs-clamp :wms (gs-tex-wrap-mode clamp) :wmt (gs-tex-wrap-mode clamp))) + (set! (-> s0-2 alpha) (new 'static 'gs-miptbp :tbp1 #x58)) + (set! (-> s0-2 prims 1) (gs-reg64 tex0-1)) + (set! (-> s0-2 prims 3) (gs-reg64 tex1-1)) + (set! (-> s0-2 prims 5) (gs-reg64 miptbp1-1)) + (set! (-> s0-2 clamp-reg) (gs-reg64 clamp-1)) + (set! (-> s0-2 prims 9) (gs-reg64 alpha-1)) + ) + ) + ) + (set! (-> level-login-state pos) (the-as uint 0)) + (+! (-> level-login-state state) 1) + ) + ) + ) + ) + ) + (goto cfg-1) + ) + (when (= (-> level-login-state state) (-> level-login-state elts)) + (let ((v1-115 (-> loaded-level bsp))) + (cond + ((or (zero? (-> v1-115 actors)) (= (the-as uint current-login-pos) (-> v1-115 actors length))) + (set! (-> level-login-state pos) (the-as uint 0)) + (+! (-> level-login-state state) 1) + ) + (else + (let ((a0-36 (-> v1-115 actors data (the-as uint current-login-pos) actor))) + (entity-nav-login a0-36) + ) + (+! (-> level-login-state pos) 1) + ) + ) + ) + (goto cfg-1) + ) + (when (zero? (the-as uint current-login-pos)) + (set! (-> level-login-state pos) (the-as uint 1)) + (set! loaded-level loaded-level) + (goto cfg-78) ) - ) ) - (goto cfg-1) - ) - (when (zero? (the-as uint current-login-pos)) - (set! (-> level-login-state pos) (the-as uint 1)) - (set! loaded-level loaded-level) - (goto cfg-78) - ) ) - ) (set! (-> loaded-level nickname) (-> loaded-level bsp nickname)) (if (nonzero? (-> loaded-level bsp nodes)) - (set! *time-of-day-effects* #t) - (set! *time-of-day-effects* #f) - ) + (set! *time-of-day-effects* #t) + (set! *time-of-day-effects* #f) + ) (let ((f0-0 (-> loaded-level bsp unk-data-4)) (f1-0 (-> loaded-level bsp unk-data-5)) ) - (when (and (= f0-0 0.0) (= f1-0 0.0)) - (set! f0-0 122880.0) - (set! f1-0 286720.0) + (when (and (= f0-0 0.0) (= f1-0 0.0)) + (set! f0-0 122880.0) + (set! f1-0 286720.0) + ) + (set! (-> *subdivide-settings* close (-> loaded-level index)) f0-0) + (set! (-> *subdivide-settings* far (-> loaded-level index)) f1-0) + (set! (-> *subdivide-settings* close 3) f0-0) + (set! (-> *subdivide-settings* far 3) f1-0) ) - (set! (-> *subdivide-settings* close (-> loaded-level index)) f0-0) - (set! (-> *subdivide-settings* far (-> loaded-level index)) f1-0) - (set! (-> *subdivide-settings* close 3) f0-0) - (set! (-> *subdivide-settings* far 3) f1-0) - ) (init-vis loaded-level) (load-required-packages loaded-level) (set! (-> loaded-level status) 'loaded) @@ -837,34 +670,34 @@ ;; definition for method 22 of type level (defmethod birth level ((obj level)) - (case (-> obj status) - (('loaded) + (case (-> obj status) + (('loaded) (let ((s5-0 loading-level) (s4-0 (-> *level* loading-level)) (s3-1 (-> *level* log-in-level-bsp)) ) - (set! loading-level (-> obj heap)) - (set! (-> *level* log-in-level-bsp) (-> obj bsp)) - (set! (-> *level* loading-level) obj) - (birth (-> obj bsp)) - (set! (-> obj status) 'alive) - (copy-perms-to-level! *game-info* obj) - (send-event *camera* 'level-activate (-> obj name)) - (send-event *target* 'level-activate (-> obj name)) - (set! loading-level s5-0) - (set! (-> *level* loading-level) s4-0) - (set! (-> *level* log-in-level-bsp) s3-1) - ) + (set! loading-level (-> obj heap)) + (set! (-> *level* log-in-level-bsp) (-> obj bsp)) + (set! (-> *level* loading-level) obj) + (birth (-> obj bsp)) + (set! (-> obj status) 'alive) + (copy-perms-to-level! *game-info* obj) + (send-event *camera* 'level-activate (-> obj name)) + (send-event *target* 'level-activate (-> obj name)) + (set! loading-level s5-0) + (set! (-> *level* loading-level) s4-0) + (set! (-> *level* log-in-level-bsp) s3-1) + ) ) - ) + ) obj ) ;; definition for method 9 of type level ;; Used lq/sq (defmethod deactivate level ((obj level)) - (case (-> obj status) - (('active 'alive) + (case (-> obj status) + (('active 'alive) (format 0 "----------- kill ~A (status ~A)~%" obj (-> obj status)) (copy-perms-from-level! *game-info* obj) (send-event *camera* 'level-deactivate (-> obj name)) @@ -879,23 +712,20 @@ (set! (-> obj status) 'loaded) (set! (-> obj all-visible?) 'loading) (dotimes (v1-19 128) - (set! - (-> (the-as (pointer int128) (&+ (-> obj vis-bits) (* v1-19 16)))) - 0 + (set! (-> (the-as (pointer int128) (&+ (-> obj vis-bits) (* v1-19 16)))) 0) ) - ) (countdown (v1-22 8) - (let ((a0-14 (-> obj vis-info v1-22))) - (if a0-14 - (set! (-> a0-14 current-vis-string) (the-as uint -1)) - ) + (let ((a0-14 (-> obj vis-info v1-22))) + (if a0-14 + (set! (-> a0-14 current-vis-string) (the-as uint -1)) + ) + ) ) - ) ) - ) + ) (if (= (-> *level* log-in-level-bsp) (-> obj bsp)) - (set! (-> *level* log-in-level-bsp) #f) - ) + (set! (-> *level* log-in-level-bsp) #f) + ) obj ) @@ -903,88 +733,73 @@ (defmethod unload! level ((obj level)) (deactivate obj) (when (!= (-> obj status) 'inactive) - (when - (or - (= (-> obj status) 'loaded) - (= (-> obj status) 'alive) - (= (-> obj status) 'active) - (= (-> obj status) 'login) - ) - (dotimes (s5-0 (-> obj art-group art-group-array length)) - (let ((s4-0 (-> obj art-group art-group-array s5-0))) - (if (needs-link? s4-0) - (unlink-art! s4-0) - ) - ) - ) - ) - (set! (-> obj bsp) #f) - (set! (-> obj entity) #f) - (set! (-> obj ambient) #f) - (set! (-> obj status) 'inactive) - (set! (-> obj art-group string-array length) 0) - (set! (-> obj art-group art-group-array length) 0) - (countdown (s5-1 (-> obj loaded-texture-page-count)) - (dotimes (v1-27 32) - (when - (= - (-> obj loaded-texture-page s5-1) - (-> *texture-pool* common-page v1-27) - ) - (set! (-> *texture-pool* common-page v1-27) (the-as texture-page 0)) - 0 - ) - ) - (unload! *texture-pool* (-> obj loaded-texture-page s5-1)) - ) - (set! (-> obj loaded-texture-page-count) 0) - (unlink-textures-in-heap! *texture-page-dir* (-> obj heap)) - (unlink-part-group-by-heap (-> obj heap)) - (dotimes (s5-2 2) - (let ((v1-41 (-> *art-control* buffer s5-2 pending-load-file))) - (if - (and - (>= (the-as int v1-41) (the-as int (-> obj heap base))) - (< (the-as int v1-41) (the-as int (-> obj heap top-base))) - ) - (set-pending-file - (-> *art-control* buffer s5-2) - (the-as string #f) - -1 - (the-as handle #f) - 100000000.0 - ) - ) - ) - ) - (let* ((s5-3 (-> obj info packages)) - (a0-29 (car s5-3)) + (when (or + (= (-> obj status) 'loaded) + (= (-> obj status) 'alive) + (= (-> obj status) 'active) + (= (-> obj status) 'login) + ) + (dotimes (s5-0 (-> obj art-group art-group-array length)) + (let ((s4-0 (-> obj art-group art-group-array s5-0))) + (if (needs-link? s4-0) + (unlink-art! s4-0) + ) ) - (while (not (null? s5-3)) - (case (rtype-of a0-29) - ((symbol) - (unload (symbol->string (the-as symbol a0-29))) ) - ((string) - (unload (the-as string a0-29)) - ) ) - (set! s5-3 (cdr s5-3)) - (set! a0-29 (car s5-3)) - ) + (set! (-> obj bsp) #f) + (set! (-> obj entity) #f) + (set! (-> obj ambient) #f) + (set! (-> obj status) 'inactive) + (set! (-> obj art-group string-array length) 0) + (set! (-> obj art-group art-group-array length) 0) + (countdown (s5-1 (-> obj loaded-texture-page-count)) + (dotimes (v1-27 32) + (when (= (-> obj loaded-texture-page s5-1) (-> *texture-pool* common-page v1-27)) + (set! (-> *texture-pool* common-page v1-27) (the-as texture-page 0)) + 0 + ) + ) + (unload! *texture-pool* (-> obj loaded-texture-page s5-1)) + ) + (set! (-> obj loaded-texture-page-count) 0) + (unlink-textures-in-heap! *texture-page-dir* (-> obj heap)) + (unlink-part-group-by-heap (-> obj heap)) + (dotimes (s5-2 2) + (let ((v1-41 (-> *art-control* buffer s5-2 pending-load-file))) + (if (and + (>= (the-as int v1-41) (the-as int (-> obj heap base))) + (< (the-as int v1-41) (the-as int (-> obj heap top-base))) + ) + (set-pending-file (-> *art-control* buffer s5-2) (the-as string #f) -1 (the-as handle #f) 100000000.0) + ) + ) + ) + (let* ((s5-3 (-> obj info packages)) (a0-29 (car s5-3))) (while (not (null? s5-3)) + (case (rtype-of a0-29) + ((symbol) + (unload (symbol->string (the-as symbol a0-29))) + ) + ((string) + (unload (the-as string a0-29)) + ) + ) + (set! s5-3 (cdr s5-3)) + (set! a0-29 (car s5-3)) + ) + ) + (vis-clear obj) + (let ((v1-64 (-> obj heap))) + (set! (-> v1-64 current) (-> v1-64 base)) + ) + (set! (-> obj code-memory-start) (the-as pointer 0)) + (set! (-> obj code-memory-end) (the-as pointer 0)) + (when (= (-> *level* loading-level) obj) + (set! loading-level global) + (set! (-> *level* loading-level) (-> *level* level-default)) + (set! (-> *level* log-in-level-bsp) #f) + ) ) - (vis-clear obj) - (let ((v1-64 (-> obj heap))) - (set! (-> v1-64 current) (-> v1-64 base)) - ) - (set! (-> obj code-memory-start) (the-as pointer 0)) - (set! (-> obj code-memory-end) (the-as pointer 0)) - (when (= (-> *level* loading-level) obj) - (set! loading-level global) - (set! (-> *level* loading-level) (-> *level* level-default)) - (set! (-> *level* log-in-level-bsp) #f) - ) - ) obj ) @@ -994,82 +809,76 @@ (defmethod is-object-visible? level ((obj level) (arg0 int)) (local-vars (a0-1 int) (a0-3 int)) (let ((v1-0 (-> obj vis-bits))) - (.sra a0-1 arg0 3) - (let ((v1-2 (-> (the-as (pointer int8) (+ a0-1 (the-as int v1-0)))))) - (let ((a0-2 (logand arg0 7))) - (.addiu a0-3 a0-2 56) - ) - (< (shl v1-2 a0-3) 0) + (.sra a0-1 arg0 3) + (let ((v1-2 (-> (the-as (pointer int8) (+ a0-1 (the-as int v1-0)))))) + (let ((a0-2 (logand arg0 7))) + (.addiu a0-3 a0-2 56) + ) + (< (shl v1-2 a0-3) 0) + ) ) - ) ) ;; definition for method 15 of type level ;; INFO: Return type mismatch object vs symbol. (defmethod point-in-boxes? level ((obj level) (arg0 vector)) (the-as symbol (cond - ((or (not (-> obj bsp)) (zero? (-> obj bsp boxes))) - #f - ) - ((-> obj force-inside?) - #t - ) - (else - (let* ((a0-1 (-> obj bsp boxes)) - (v1-5 (-> a0-1 data)) - ) - (countdown (a0-2 (-> a0-1 length)) - (if - (and - (>= (-> arg0 x) (-> v1-5 0 min x)) - (>= (-> arg0 y) (-> v1-5 0 min y)) - (>= (-> arg0 z) (-> v1-5 0 min z)) - (< (-> arg0 x) (-> v1-5 0 max x)) - (< (-> arg0 y) (-> v1-5 0 max y)) - (< (-> arg0 z) (-> v1-5 0 max z)) - ) - (return (the-as symbol #t)) - ) - (set! v1-5 (the-as (inline-array box8s) (-> v1-5 1))) - ) + ((or (not (-> obj bsp)) (zero? (-> obj bsp boxes))) + #f ) - #f + ((-> obj force-inside?) + #t + ) + (else + (let* ((a0-1 (-> obj bsp boxes)) + (v1-5 (-> a0-1 data)) + ) + (countdown (a0-2 (-> a0-1 length)) + (if (and + (>= (-> arg0 x) (-> v1-5 0 min x)) + (>= (-> arg0 y) (-> v1-5 0 min y)) + (>= (-> arg0 z) (-> v1-5 0 min z)) + (< (-> arg0 x) (-> v1-5 0 max x)) + (< (-> arg0 y) (-> v1-5 0 max y)) + (< (-> arg0 z) (-> v1-5 0 max z)) + ) + (return (the-as symbol #t)) + ) + (set! v1-5 (the-as (inline-array box8s) (-> v1-5 1))) + ) + ) + #f + ) ) - ) - ) + ) ) ;; definition for method 27 of type level ;; INFO: Return type mismatch int vs none. (defmethod debug-print-splitbox level ((obj level) (arg0 vector) (arg1 string)) (cond - ((or - (not (-> obj bsp)) - (zero? (-> obj bsp boxes)) - (zero? (-> obj bsp split-box-indices)) + ((or (not (-> obj bsp)) (zero? (-> obj bsp boxes)) (zero? (-> obj bsp split-box-indices))) ) - ) - (else - (let* ((s3-0 (-> obj bsp boxes)) - (s2-0 (the-as object (-> s3-0 data))) - ) - (dotimes (s1-0 (-> s3-0 length)) - (if - (and - (>= (-> arg0 x) (-> (the-as (inline-array box8s) s2-0) 0 min x)) - (>= (-> arg0 y) (-> (the-as (inline-array box8s) s2-0) 0 min y)) - (>= (-> arg0 z) (-> (the-as (inline-array box8s) s2-0) 0 min z)) - (< (-> arg0 x) (-> (the-as (inline-array box8s) s2-0) 0 max x)) - (< (-> arg0 y) (-> (the-as (inline-array box8s) s2-0) 0 max y)) - (< (-> arg0 z) (-> (the-as (inline-array box8s) s2-0) 0 max z)) + (else + (let* ((s3-0 (-> obj bsp boxes)) + (s2-0 (the-as object (-> s3-0 data))) + ) + (dotimes (s1-0 (-> s3-0 length)) + (if (and + (>= (-> arg0 x) (-> (the-as (inline-array box8s) s2-0) 0 min x)) + (>= (-> arg0 y) (-> (the-as (inline-array box8s) s2-0) 0 min y)) + (>= (-> arg0 z) (-> (the-as (inline-array box8s) s2-0) 0 min z)) + (< (-> arg0 x) (-> (the-as (inline-array box8s) s2-0) 0 max x)) + (< (-> arg0 y) (-> (the-as (inline-array box8s) s2-0) 0 max y)) + (< (-> arg0 z) (-> (the-as (inline-array box8s) s2-0) 0 max z)) + ) + (format arg1 " splitbox-~D~%" (-> obj bsp split-box-indices s1-0)) + ) + (set! s2-0 (-> (the-as (inline-array box8s) s2-0) 1)) + ) ) - (format arg1 " splitbox-~D~%" (-> obj bsp split-box-indices s1-0)) - ) - (set! s2-0 (-> (the-as (inline-array box8s) s2-0) 1)) ) - ) ) - ) 0 (none) ) @@ -1077,245 +886,233 @@ ;; definition for method 8 of type level (defmethod mem-usage level ((obj level) (arg0 memory-usage-block) (arg1 int)) (when (= (-> obj status) 'active) - (set! (-> arg0 length) (max 65 (-> arg0 length))) - (set! (-> arg0 data 64 name) "entity-links") - (+! (-> arg0 data 64 count) (-> obj entity length)) - (let ((v1-8 (asize-of (-> obj entity)))) - (+! (-> arg0 data 64 used) v1-8) - (+! (-> arg0 data 64 total) (logand -16 (+ v1-8 15))) - ) - (set! (-> arg0 length) (max 65 (-> arg0 length))) - (set! (-> arg0 data 64 name) "ambient-links") - (+! (-> arg0 data 64 count) (-> obj ambient length)) - (let ((v1-18 (asize-of (-> obj ambient)))) - (+! (-> arg0 data 64 used) v1-18) - (+! (-> arg0 data 64 total) (logand -16 (+ v1-18 15))) - ) - (mem-usage (-> obj art-group) arg0 arg1) - (set! (-> arg0 length) (max 64 (-> arg0 length))) - (set! (-> arg0 data 63 name) "level-code") - (+! (-> arg0 data 63 count) 1) - (let - ((v1-30 - (&- (-> obj code-memory-end) (the-as uint (-> obj code-memory-start))) + (set! (-> arg0 length) (max 65 (-> arg0 length))) + (set! (-> arg0 data 64 name) "entity-links") + (+! (-> arg0 data 64 count) (-> obj entity length)) + (let ((v1-8 (asize-of (-> obj entity)))) + (+! (-> arg0 data 64 used) v1-8) + (+! (-> arg0 data 64 total) (logand -16 (+ v1-8 15))) ) - ) - (+! (-> arg0 data 63 used) v1-30) - (+! (-> arg0 data 63 total) (logand -16 (+ v1-30 15))) - ) - (countdown (s3-0 (-> obj loaded-texture-page-count)) - (mem-usage (-> obj loaded-texture-page s3-0) arg0 arg1) - ) - (countdown (s3-1 8) - (let ((s2-0 (-> obj vis-info s3-1))) - (when s2-0 - (cond - ((zero? s3-1) - (set! (-> arg0 length) (max 60 (-> arg0 length))) - (set! (-> arg0 data 59 name) "bsp-leaf-vis-self") - (+! (-> arg0 data 59 count) 1) - (let ((v1-50 (asize-of s2-0))) - (+! (-> arg0 data 59 used) v1-50) - (+! (-> arg0 data 59 total) (logand -16 (+ v1-50 15))) - ) - ) - (else - (set! (-> arg0 length) (max 61 (-> arg0 length))) - (set! (-> arg0 data 60 name) "bsp-leaf-vis-adj") - (+! (-> arg0 data 60 count) 1) - (let ((v1-61 (+ (asize-of s2-0) (-> s2-0 allocated-length)))) - (+! (-> arg0 data 60 used) v1-61) - (+! (-> arg0 data 60 total) (logand -16 (+ v1-61 15))) - ) - ) - ) + (set! (-> arg0 length) (max 65 (-> arg0 length))) + (set! (-> arg0 data 64 name) "ambient-links") + (+! (-> arg0 data 64 count) (-> obj ambient length)) + (let ((v1-18 (asize-of (-> obj ambient)))) + (+! (-> arg0 data 64 used) v1-18) + (+! (-> arg0 data 64 total) (logand -16 (+ v1-18 15))) ) - ) + (mem-usage (-> obj art-group) arg0 arg1) + (set! (-> arg0 length) (max 64 (-> arg0 length))) + (set! (-> arg0 data 63 name) "level-code") + (+! (-> arg0 data 63 count) 1) + (let ((v1-30 (&- (-> obj code-memory-end) (the-as uint (-> obj code-memory-start))))) + (+! (-> arg0 data 63 used) v1-30) + (+! (-> arg0 data 63 total) (logand -16 (+ v1-30 15))) + ) + (countdown (s3-0 (-> obj loaded-texture-page-count)) + (mem-usage (-> obj loaded-texture-page s3-0) arg0 arg1) + ) + (countdown (s3-1 8) + (let ((s2-0 (-> obj vis-info s3-1))) + (when s2-0 + (cond + ((zero? s3-1) + (set! (-> arg0 length) (max 60 (-> arg0 length))) + (set! (-> arg0 data 59 name) "bsp-leaf-vis-self") + (+! (-> arg0 data 59 count) 1) + (let ((v1-50 (asize-of s2-0))) + (+! (-> arg0 data 59 used) v1-50) + (+! (-> arg0 data 59 total) (logand -16 (+ v1-50 15))) + ) + ) + (else + (set! (-> arg0 length) (max 61 (-> arg0 length))) + (set! (-> arg0 data 60 name) "bsp-leaf-vis-adj") + (+! (-> arg0 data 60 count) 1) + (let ((v1-61 (+ (asize-of s2-0) (-> s2-0 allocated-length)))) + (+! (-> arg0 data 60 used) v1-61) + (+! (-> arg0 data 60 total) (logand -16 (+ v1-61 15))) + ) + ) + ) + ) + ) + ) + (mem-usage (-> obj bsp) arg0 arg1) ) - (mem-usage (-> obj bsp) arg0 arg1) - ) obj ) ;; definition for method 18 of type level-group (defmethod alloc-levels! level-group ((obj level-group) (arg0 symbol)) (when (zero? (-> *level* level0 heap base)) - (when (nmember "game" *kernel-packages*) - (set! *kernel-packages* (cons "art" *kernel-packages*)) - (set! *kernel-packages* (cons "common" *kernel-packages*)) - ) - (load-package "art" global) - (if arg0 - (load-package "common" global) - ) - (let ((s5-1 (if arg0 - #xa2c000 - #x1900000 + (when (nmember "game" *kernel-packages*) + (set! *kernel-packages* (cons "art" *kernel-packages*)) + (set! *kernel-packages* (cons "common" *kernel-packages*)) + ) + (load-package "art" global) + (if arg0 + (load-package "common" global) + ) + (let ((s5-1 (if arg0 + #xa2c000 + #x1900000 + ) ) ) - ) - (dotimes (s4-0 2) - (let ((s3-0 (-> obj level s4-0 heap))) - (set! (-> s3-0 base) (malloc 'global s5-1)) - (set! (-> s3-0 current) (-> s3-0 base)) - (set! (-> s3-0 top-base) (&+ (-> s3-0 base) s5-1)) - (set! (-> s3-0 top) (-> s3-0 top-base)) + (dotimes (s4-0 2) + (let ((s3-0 (-> obj level s4-0 heap))) + (set! (-> s3-0 base) (malloc 'global s5-1)) + (set! (-> s3-0 current) (-> s3-0 base)) + (set! (-> s3-0 top-base) (&+ (-> s3-0 base) s5-1)) + (set! (-> s3-0 top) (-> s3-0 top-base)) + ) + ) ) - ) ) - ) 0 ) ;; definition for method 10 of type level-group (defmethod level-get-with-status level-group ((obj level-group) (arg0 symbol)) (dotimes (v1-0 (-> obj length)) - (if (= (-> obj level v1-0 status) arg0) - (return (-> obj level v1-0)) + (if (= (-> obj level v1-0 status) arg0) + (return (-> obj level v1-0)) + ) ) - ) (the-as level #f) ) ;; definition for method 26 of type level-group (defmethod level-get-most-disposable level-group ((obj level-group)) (dotimes (v1-0 (-> obj length)) - (case (-> obj level v1-0 status) - (('inactive) - (return (-> obj level v1-0)) - ) - ) - ) - (dotimes (v1-6 (-> obj length)) - (case (-> obj level v1-6 status) - (('loading 'loading-bt) - (return (-> obj level v1-6)) - ) - ) - ) - (dotimes (v1-12 (-> obj length)) - (case (-> obj level v1-12 status) - (('loaded) - (return (-> obj level v1-12)) - ) - ) - ) - (let ((v0-0 (the-as level #f))) - (dotimes (v1-18 (-> obj length)) - (case (-> obj level v1-18 status) - (('active) - (if - (and - (not (-> obj level v1-18 inside-boxes?)) - (or - (not v0-0) - (< (-> obj level v1-18 info priority) (-> v0-0 info priority)) - ) - ) - (set! v0-0 (-> obj level v1-18)) - ) + (case (-> obj level v1-0 status) + (('inactive) + (return (-> obj level v1-0)) ) - ) + ) + ) + (dotimes (v1-6 (-> obj length)) + (case (-> obj level v1-6 status) + (('loading 'loading-bt) + (return (-> obj level v1-6)) + ) + ) + ) + (dotimes (v1-12 (-> obj length)) + (case (-> obj level v1-12 status) + (('loaded) + (return (-> obj level v1-12)) + ) + ) + ) + (let ((v0-0 (the-as level #f))) + (dotimes (v1-18 (-> obj length)) + (case (-> obj level v1-18 status) + (('active) + (if (and + (not (-> obj level v1-18 inside-boxes?)) + (or (not v0-0) (< (-> obj level v1-18 info priority) (-> v0-0 info priority))) + ) + (set! v0-0 (-> obj level v1-18)) + ) + ) + ) + ) + v0-0 ) - v0-0 - ) ) ;; definition for method 9 of type level-group (defmethod level-get level-group ((obj level-group) (arg0 symbol)) (dotimes (v1-0 (-> obj length)) - (if - (and - (!= (-> obj level v1-0 status) 'inactive) - (or - (= (-> obj level v1-0 name) arg0) - (= (-> obj level v1-0 load-name) arg0) - ) - ) - (return (-> obj level v1-0)) + (if (and + (!= (-> obj level v1-0 status) 'inactive) + (or (= (-> obj level v1-0 name) arg0) (= (-> obj level v1-0 load-name) arg0)) + ) + (return (-> obj level v1-0)) + ) ) - ) (the-as level #f) ) ;; definition for method 20 of type level-group (defmethod art-group-get-by-name level-group ((obj level-group) (arg0 string)) (countdown (s4-0 3) - (let ((s3-0 (-> obj level s4-0))) - (countdown (s2-0 (-> s3-0 art-group art-group-array length)) - (if (name= (-> s3-0 art-group art-group-array s2-0 name) arg0) - (return (-> s3-0 art-group art-group-array s2-0)) + (let ((s3-0 (-> obj level s4-0))) + (countdown (s2-0 (-> s3-0 art-group art-group-array length)) + (if (name= (-> s3-0 art-group art-group-array s2-0 name) arg0) + (return (-> s3-0 art-group art-group-array s2-0)) + ) + ) ) - ) ) - ) (the-as art-group #f) ) ;; definition for method 12 of type level-group (defmethod activate-levels! level-group ((obj level-group)) (dotimes (s5-0 (-> obj length)) - (level-status-set! (-> obj level s5-0) 'active) - ) + (level-status-set! (-> obj level s5-0) 'active) + ) 0 ) ;; definition for method 17 of type level-group (defmethod level-get-target-inside level-group ((obj level-group)) (let ((s5-0 (target-pos 0))) - (let ((v1-2 (-> *game-info* current-continue level))) - (dotimes (a0-2 (-> obj length)) - (let ((a1-3 (-> obj level a0-2))) - (when (= (-> a1-3 status) 'active) - (if (= (-> a1-3 name) v1-2) - (return a1-3) - ) - ) - ) - ) - ) - (let ((s4-0 (the-as level #f))) - (let ((f30-0 0.0)) - (dotimes (s3-0 (-> obj length)) - (let ((s2-0 (-> obj level s3-0))) - (when (= (-> s2-0 status) 'active) - (let ((f0-0 (vector-vector-distance (-> s2-0 bsp bsphere) s5-0))) - (if (and (-> s2-0 inside-boxes?) (or (not s4-0) (< f0-0 f30-0))) - (set! s4-0 s2-0) + (let ((v1-2 (-> *game-info* current-continue level))) + (dotimes (a0-2 (-> obj length)) + (let ((a1-3 (-> obj level a0-2))) + (when (= (-> a1-3 status) 'active) + (if (= (-> a1-3 name) v1-2) + (return a1-3) + ) + ) ) - ) ) - ) ) - ) - (if s4-0 - (return s4-0) - ) + (let ((s4-0 (the-as level #f))) + (let ((f30-0 0.0)) + (dotimes (s3-0 (-> obj length)) + (let ((s2-0 (-> obj level s3-0))) + (when (= (-> s2-0 status) 'active) + (let ((f0-0 (vector-vector-distance (-> s2-0 bsp bsphere) s5-0))) + (if (and (-> s2-0 inside-boxes?) (or (not s4-0) (< f0-0 f30-0))) + (set! s4-0 s2-0) + ) + ) + ) + ) + ) + ) + (if s4-0 + (return s4-0) + ) + ) ) - ) (dotimes (v1-20 (-> obj length)) - (let ((a0-8 (-> obj level v1-20))) - (when (= (-> a0-8 status) 'active) - (if (-> a0-8 meta-inside?) - (return a0-8) - ) - ) - ) - ) - (let ((v0-1 (the-as level #f))) - (let ((f0-1 0.0)) - (dotimes (v1-23 (-> obj length)) - (let ((a0-13 (-> obj level v1-23))) - (when (= (-> a0-13 status) 'active) - (if (or (not v0-1) (< (-> a0-13 level-distance) f0-1)) - (set! v0-1 a0-13) + (let ((a0-8 (-> obj level v1-20))) + (when (= (-> a0-8 status) 'active) + (if (-> a0-8 meta-inside?) + (return a0-8) + ) ) - ) ) - ) ) - v0-1 - ) + (let ((v0-1 (the-as level #f))) + (let ((f0-1 0.0)) + (dotimes (v1-23 (-> obj length)) + (let ((a0-13 (-> obj level v1-23))) + (when (= (-> a0-13 status) 'active) + (if (or (not v0-1) (< (-> a0-13 level-distance) f0-1)) + (set! v0-1 a0-13) + ) + ) + ) + ) + ) + v0-1 + ) ) ;; definition for method 19 of type level-group @@ -1325,81 +1122,73 @@ ) ;; definition for method 8 of type level-group -(defmethod - mem-usage - level-group - ((obj level-group) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage level-group ((obj level-group) (arg0 memory-usage-block) (arg1 int)) (dotimes (s3-0 (-> obj length)) - (mem-usage (-> obj level s3-0) arg0 arg1) - ) + (mem-usage (-> obj level s3-0) arg0 arg1) + ) obj ) ;; definition for function bg (defun bg ((arg0 symbol)) (set! *cheat-mode* (if *debug-segment* - 'debug - #f - ) - ) - (let ((v1-2 (lookup-level-info arg0))) - (cond - ((= (-> v1-2 visname) arg0) - (set! (-> *level* vis?) #t) - (set! arg0 (-> v1-2 name)) - ) - (else - (set! (-> *level* vis?) #f) - (set! (-> *kernel-context* low-memory-message) #f) - ) - ) - (let* ((s5-0 (-> v1-2 run-packages)) - (a0-8 (car s5-0)) - ) - (while (not (null? s5-0)) - (case (rtype-of a0-8) - ((symbol) - (load-package (symbol->string (the-as symbol a0-8)) global) + 'debug + #f + ) ) - ((string) - (load-package (the-as string a0-8) global) + (let ((v1-2 (lookup-level-info arg0))) + (cond + ((= (-> v1-2 visname) arg0) + (set! (-> *level* vis?) #t) + (set! arg0 (-> v1-2 name)) ) + (else + (set! (-> *level* vis?) #f) + (set! (-> *kernel-context* low-memory-message) #f) + ) + ) + (let* ((s5-0 (-> v1-2 run-packages)) + (a0-8 (car s5-0)) + ) + (while (not (null? s5-0)) + (case (rtype-of a0-8) + ((symbol) + (load-package (symbol->string (the-as symbol a0-8)) global) + ) + ((string) + (load-package (the-as string a0-8) global) + ) + ) + (set! s5-0 (cdr s5-0)) + (set! a0-8 (car s5-0)) + ) ) - (set! s5-0 (cdr s5-0)) - (set! a0-8 (car s5-0)) - ) ) - ) (let ((gp-1 (level-get-for-use *level* arg0 'active))) - (while - (and - gp-1 - (or - (= (-> gp-1 status) 'loading) - (= (-> gp-1 status) 'loading-bt) - (= (-> gp-1 status) 'login) + (while (and + gp-1 + (or (= (-> gp-1 status) 'loading) (= (-> gp-1 status) 'loading-bt) (= (-> gp-1 status) 'login)) + (not *dproc*) + ) + (load-continue gp-1) ) - (not *dproc*) - ) - (load-continue gp-1) + (vis-load gp-1) + (set! (-> *load-state* vis-nick) (if (-> *level* vis?) + (-> gp-1 nickname) + #f + ) + ) + (set! (-> *load-state* want 0 name) (-> gp-1 name)) + (set! (-> *load-state* want 0 display?) 'display) + (set! (-> *load-state* want 0 force-vis?) #f) + (set! (-> *load-state* want 0 force-inside?) #f) + (set! (-> *load-state* want 1 name) #f) + (set! (-> *load-state* want 1 display?) #f) + (set! (-> *load-state* want 1 force-inside?) #f) + (if (-> gp-1 info continues) + (set-continue! *game-info* (the-as basic (car (-> gp-1 info continues)))) + ) ) - (vis-load gp-1) - (set! (-> *load-state* vis-nick) (if (-> *level* vis?) - (-> gp-1 nickname) - #f - ) - ) - (set! (-> *load-state* want 0 name) (-> gp-1 name)) - (set! (-> *load-state* want 0 display?) 'display) - (set! (-> *load-state* want 0 force-vis?) #f) - (set! (-> *load-state* want 0 force-inside?) #f) - (set! (-> *load-state* want 1 name) #f) - (set! (-> *load-state* want 1 display?) #f) - (set! (-> *load-state* want 1 force-inside?) #f) - (if (-> gp-1 info continues) - (set-continue! *game-info* (the-as basic (car (-> gp-1 info continues)))) - ) - ) (activate-levels! *level*) (set! *print-login* #f) 0 @@ -1409,162 +1198,148 @@ (defun play ((arg0 symbol) (arg1 symbol)) (let* ((v1-0 *kernel-boot-message*) (s5-0 (cond - ((= v1-0 'play) - (if *debug-segment* - 'village1 - 'title + ((= v1-0 'play) + (if *debug-segment* + 'village1 + 'title + ) ) + (else + 'demo + ) ) - (else - 'demo - ) - ) - ) + ) ) - (stop 'play) - (set! (-> *level* vis?) arg0) - (set! (-> *level* want-level) #f) - (set! (-> *level* border?) #t) - (set! (-> *setting-control* default border-mode) #t) - (set! (-> *level* play?) #t) - (alloc-levels! *level* #t) - (set! *display-profile* #f) - (set! *cheat-mode* (if *debug-segment* - 'debug - #f - ) - ) - (set! *time-of-day-fast* #f) - (load-commands-set! *level* '()) - (when *time-of-day-proc* - (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) - (set! (-> *time-of-day-proc* 0 hour) 7) - ) - (set-blackout-frames 6) - (when (not *dproc*) - (reset! *load-state*) - (let ((s4-1 (level-get-for-use *level* s5-0 'active))) - (load-state-want-levels s5-0 #f) - (load-state-want-display-level s5-0 'display) - (load-state-want-vis (-> (lookup-level-info s5-0) nickname)) - (while - (and - s4-1 - (or - (= (-> s4-1 status) 'loading) - (= (-> s4-1 status) 'loading-bt) - (= (-> s4-1 status) 'login) - ) - ) - (set-blackout-frames 6) - (load-continue s4-1) + (stop 'play) + (set! (-> *level* vis?) arg0) + (set! (-> *level* want-level) #f) + (set! (-> *level* border?) #t) + (set! (-> *setting-control* default border-mode) #t) + (set! (-> *level* play?) #t) + (alloc-levels! *level* #t) + (set! *display-profile* #f) + (set! *cheat-mode* (if *debug-segment* + 'debug + #f + ) + ) + (set! *time-of-day-fast* #f) + (load-commands-set! *level* '()) + (when *time-of-day-proc* + (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) + (set! (-> *time-of-day-proc* 0 hour) 7) ) - ) + (set-blackout-frames 6) + (when (not *dproc*) + (reset! *load-state*) + (let ((s4-1 (level-get-for-use *level* s5-0 'active))) + (load-state-want-levels s5-0 #f) + (load-state-want-display-level s5-0 'display) + (load-state-want-vis (-> (lookup-level-info s5-0) nickname)) + (while (and s4-1 (or (= (-> s4-1 status) 'loading) (= (-> s4-1 status) 'loading-bt) (= (-> s4-1 status) 'login))) + (set-blackout-frames 6) + (load-continue s4-1) + ) + ) + ) + (set! *print-login* #f) + (level-status-set! (level-get *level* s5-0) 'active) ) - (set! *print-login* #f) - (level-status-set! (level-get *level* s5-0) 'active) - ) (on #t) (if arg1 - (initialize! *game-info* 'game (the-as game-save #f) (the-as string #f)) - ) + (initialize! *game-info* 'game (the-as game-save #f) (the-as string #f)) + ) 0 ) ;; definition for function update-sound-banks (defun update-sound-banks () (if (nonzero? (rpc-busy? 1)) - (return 0) - ) + (return 0) + ) (let ((gp-0 #f) (s5-0 #f) ) - (dotimes (s4-0 (-> *level* length)) - (let ((v1-5 (-> *level* level s4-0))) - (when (= (-> v1-5 status) 'active) - (let* ((s3-0 (-> v1-5 info sound-banks)) - (t0-0 (the-as symbol (car s3-0))) - ) - (while (not (null? s3-0)) - (cond - ((or (= gp-0 t0-0) (= s5-0 t0-0) (-> *setting-control* current movie)) + (dotimes (s4-0 (-> *level* length)) + (let ((v1-5 (-> *level* level s4-0))) + (when (= (-> v1-5 status) 'active) + (let* ((s3-0 (-> v1-5 info sound-banks)) + (t0-0 (the-as symbol (car s3-0))) + ) + (while (not (null? s3-0)) + (cond + ((or (= gp-0 t0-0) (= s5-0 t0-0) (-> *setting-control* current movie)) + ) + ((not gp-0) + (set! gp-0 t0-0) + ) + ((not s5-0) + (set! s5-0 t0-0) + ) + (else + (format 0 "ERROR: Soundbanks ~A, ~A and ~A all required~%" gp-0 s5-0 t0-0) + ) + ) + (set! s3-0 (cdr s3-0)) + (set! t0-0 (the-as symbol (car s3-0))) + ) + ) ) - ((not gp-0) - (set! gp-0 t0-0) - ) - ((not s5-0) - (set! s5-0 t0-0) - ) - (else - (format - 0 - "ERROR: Soundbanks ~A, ~A and ~A all required~%" - gp-0 - s5-0 - t0-0 - ) - ) - ) - (set! s3-0 (cdr s3-0)) - (set! t0-0 (the-as symbol (car s3-0))) ) - ) ) - ) + (when (and gp-0 (!= gp-0 *sound-bank-1*) (!= gp-0 *sound-bank-2*)) + (when (not *sound-bank-1*) + (format 0 "Load soundbank ~A~%" gp-0) + (sound-bank-load (string->sound-name (symbol->string gp-0))) + (set! *sound-bank-1* gp-0) + (return 0) + ) + (when (not *sound-bank-2*) + (format 0 "Load soundbank ~A~%" gp-0) + (sound-bank-load (string->sound-name (symbol->string gp-0))) + (set! *sound-bank-2* gp-0) + (return 0) + ) + (when (!= *sound-bank-1* s5-0) + (format 0 "Unload soundbank ~A~%" *sound-bank-1*) + (sound-bank-unload (string->sound-name (symbol->string *sound-bank-1*))) + (set! *sound-bank-1* #f) + (return 0) + ) + (when (!= *sound-bank-2* s5-0) + (format 0 "Unload soundbank ~A~%" *sound-bank-2*) + (sound-bank-unload (string->sound-name (symbol->string *sound-bank-2*))) + (set! *sound-bank-2* #f) + (return 0) + ) + ) + (when (and s5-0 (!= s5-0 *sound-bank-1*) (!= s5-0 *sound-bank-2*)) + (when (not *sound-bank-1*) + (format 0 "Load soundbank ~A~%" s5-0) + (sound-bank-load (string->sound-name (symbol->string s5-0))) + (set! *sound-bank-1* s5-0) + (return 0) + ) + (when (not *sound-bank-2*) + (format 0 "Load soundbank ~A~%" s5-0) + (sound-bank-load (string->sound-name (symbol->string s5-0))) + (set! *sound-bank-2* s5-0) + (return 0) + ) + (when (!= *sound-bank-1* gp-0) + (format 0 "Unload soundbank ~A~%" *sound-bank-1*) + (sound-bank-unload (string->sound-name (symbol->string *sound-bank-1*))) + (set! *sound-bank-1* #f) + (return 0) + ) + (when (!= *sound-bank-2* gp-0) + (format 0 "Unload soundbank ~A~%" *sound-bank-2*) + (sound-bank-unload (string->sound-name (symbol->string *sound-bank-2*))) + (set! *sound-bank-2* #f) + (return 0) + ) + ) ) - (when (and gp-0 (!= gp-0 *sound-bank-1*) (!= gp-0 *sound-bank-2*)) - (when (not *sound-bank-1*) - (format 0 "Load soundbank ~A~%" gp-0) - (sound-bank-load (string->sound-name (symbol->string gp-0))) - (set! *sound-bank-1* gp-0) - (return 0) - ) - (when (not *sound-bank-2*) - (format 0 "Load soundbank ~A~%" gp-0) - (sound-bank-load (string->sound-name (symbol->string gp-0))) - (set! *sound-bank-2* gp-0) - (return 0) - ) - (when (!= *sound-bank-1* s5-0) - (format 0 "Unload soundbank ~A~%" *sound-bank-1*) - (sound-bank-unload (string->sound-name (symbol->string *sound-bank-1*))) - (set! *sound-bank-1* #f) - (return 0) - ) - (when (!= *sound-bank-2* s5-0) - (format 0 "Unload soundbank ~A~%" *sound-bank-2*) - (sound-bank-unload (string->sound-name (symbol->string *sound-bank-2*))) - (set! *sound-bank-2* #f) - (return 0) - ) - ) - (when (and s5-0 (!= s5-0 *sound-bank-1*) (!= s5-0 *sound-bank-2*)) - (when (not *sound-bank-1*) - (format 0 "Load soundbank ~A~%" s5-0) - (sound-bank-load (string->sound-name (symbol->string s5-0))) - (set! *sound-bank-1* s5-0) - (return 0) - ) - (when (not *sound-bank-2*) - (format 0 "Load soundbank ~A~%" s5-0) - (sound-bank-load (string->sound-name (symbol->string s5-0))) - (set! *sound-bank-2* s5-0) - (return 0) - ) - (when (!= *sound-bank-1* gp-0) - (format 0 "Unload soundbank ~A~%" *sound-bank-1*) - (sound-bank-unload (string->sound-name (symbol->string *sound-bank-1*))) - (set! *sound-bank-1* #f) - (return 0) - ) - (when (!= *sound-bank-2* gp-0) - (format 0 "Unload soundbank ~A~%" *sound-bank-2*) - (sound-bank-unload (string->sound-name (symbol->string *sound-bank-2*))) - (set! *sound-bank-2* #f) - (return 0) - ) - ) - ) 0 ) @@ -1572,210 +1347,160 @@ (defmethod update! load-state ((obj load-state)) (update-sound-banks) (let ((v1-0 #f)) - (dotimes (s5-0 2) - (let ((s4-0 (-> *level* level s5-0))) - (when (!= (-> s4-0 status) 'inactive) - (let ((a0-6 #f)) - (dotimes (a1-2 2) - (if (= (-> s4-0 name) (-> obj want a1-2 name)) - (set! a0-6 #t) - ) - ) - (when (not a0-6) - (format 0 "Discarding level ~A~%" (-> s4-0 name)) - (level-status-set! s4-0 'inactive) - (set! v1-0 #t) - ) - ) - ) - ) - ) - (let ((s5-1 #f)) - (if - (and - (= (-> *level* level0 status) 'inactive) - (= (-> *level* level1 status) 'inactive) - ) - (set! s5-1 #t) - ) - (if v1-0 - (return 0) - ) - (let ((a0-20 #f) - (v1-5 #f) - ) - (when (-> obj want 0 name) - (set! a0-20 #t) - (dotimes (a1-12 3) - (let ((a2-9 (-> *level* level a1-12))) - (if - (and - (!= (-> a2-9 status) 'inactive) - (= (-> a2-9 name) (-> obj want 0 name)) - ) - (set! a0-20 #f) - ) - ) - ) - ) - (when (-> obj want 1 name) - (set! v1-5 #t) - (dotimes (a1-17 3) - (let ((a2-17 (-> *level* level a1-17))) - (if - (and - (!= (-> a2-17 status) 'inactive) - (= (-> a2-17 name) (-> obj want 1 name)) - ) - (set! v1-5 #f) - ) - ) - ) - ) - (let ((s4-1 -1)) - (cond - ((and a0-20 v1-5) - (set! s4-1 0) - (if (and (-> obj want 1 display?) (not (-> obj want 0 display?))) - (set! s4-1 1) - ) - ) - (a0-20 - (set! s4-1 0) - ) - (v1-5 - (set! s4-1 1) - ) - ) - (when (!= s4-1 -1) - (when (or s5-1 (not (check-busy *load-dgo-rpc*))) - (format 0 "Adding level ~A~%" (-> obj want s4-1 name)) - (let - ((s3-0 (level-get-for-use *level* (-> obj want s4-1 name) 'loaded))) - (when (and s5-1 (-> obj want s4-1 display?)) - (format 0 "Waiting for level to load~%") - (while - (or - (= (-> s3-0 status) 'loading) - (= (-> s3-0 status) 'loading-bt) - (= (-> s3-0 status) 'login) + (dotimes (s5-0 2) + (let ((s4-0 (-> *level* level s5-0))) + (when (!= (-> s4-0 status) 'inactive) + (let ((a0-6 #f)) + (dotimes (a1-2 2) + (if (= (-> s4-0 name) (-> obj want a1-2 name)) + (set! a0-6 #t) + ) + ) + (when (not a0-6) + (format 0 "Discarding level ~A~%" (-> s4-0 name)) + (level-status-set! s4-0 'inactive) + (set! v1-0 #t) + ) + ) + ) + ) + ) + (let ((s5-1 #f)) + (if (and (= (-> *level* level0 status) 'inactive) (= (-> *level* level1 status) 'inactive)) + (set! s5-1 #t) + ) + (if v1-0 + (return 0) + ) + (let ((a0-20 #f) + (v1-5 #f) + ) + (when (-> obj want 0 name) + (set! a0-20 #t) + (dotimes (a1-12 3) + (let ((a2-9 (-> *level* level a1-12))) + (if (and (!= (-> a2-9 status) 'inactive) (= (-> a2-9 name) (-> obj want 0 name))) + (set! a0-20 #f) + ) + ) + ) + ) + (when (-> obj want 1 name) + (set! v1-5 #t) + (dotimes (a1-17 3) + (let ((a2-17 (-> *level* level a1-17))) + (if (and (!= (-> a2-17 status) 'inactive) (= (-> a2-17 name) (-> obj want 1 name))) + (set! v1-5 #f) + ) + ) + ) + ) + (let ((s4-1 -1)) + (cond + ((and a0-20 v1-5) + (set! s4-1 0) + (if (and (-> obj want 1 display?) (not (-> obj want 0 display?))) + (set! s4-1 1) + ) + ) + (a0-20 + (set! s4-1 0) + ) + (v1-5 + (set! s4-1 1) + ) + ) + (when (!= s4-1 -1) + (when (or s5-1 (not (check-busy *load-dgo-rpc*))) + (format 0 "Adding level ~A~%" (-> obj want s4-1 name)) + (let ((s3-0 (level-get-for-use *level* (-> obj want s4-1 name) 'loaded))) + (when (and s5-1 (-> obj want s4-1 display?)) + (format 0 "Waiting for level to load~%") + (while (or (= (-> s3-0 status) 'loading) (= (-> s3-0 status) 'loading-bt) (= (-> s3-0 status) 'login)) + (load-continue s3-0) + ) + ) + ) + ) ) - (load-continue s3-0) - ) ) - ) ) - ) ) - ) ) - ) (dotimes (s5-2 2) - (when (-> obj want s5-2 name) - (dotimes (s4-2 3) - (let ((s3-1 (-> *level* level s4-2))) - (when (!= (-> s3-1 status) 'inactive) - (when (= (-> s3-1 name) (-> obj want s5-2 name)) - (when (!= (-> s3-1 display?) (-> obj want s5-2 display?)) - (cond - ((not (-> s3-1 display?)) - (cond - ((or (= (-> s3-1 status) 'loaded) (= (-> s3-1 status) 'active)) - (format - 0 - "Displaying level ~A [~A]~%" - (-> obj want s5-2 name) - (-> obj want s5-2 display?) + (when (-> obj want s5-2 name) + (dotimes (s4-2 3) + (let ((s3-1 (-> *level* level s4-2))) + (when (!= (-> s3-1 status) 'inactive) + (when (= (-> s3-1 name) (-> obj want s5-2 name)) + (when (!= (-> s3-1 display?) (-> obj want s5-2 display?)) + (cond + ((not (-> s3-1 display?)) + (cond + ((or (= (-> s3-1 status) 'loaded) (= (-> s3-1 status) 'active)) + (format 0 "Displaying level ~A [~A]~%" (-> obj want s5-2 name) (-> obj want s5-2 display?)) + (level-get-for-use *level* (-> s3-1 info name) 'active) + (set! (-> s3-1 display?) (-> obj want s5-2 display?)) + ) + (else + (if (and (-> s3-1 info wait-for-load) (!= (-> obj want s5-2 display?) 'display-no-wait)) + (send-event *target* 'loading) + ) + (if (= *cheat-mode* 'debug) + (format *stdcon* "display on for ~A but level is loading~%" (-> obj want s5-2 name)) + ) + ) + ) + ) + ((not (-> obj want s5-2 display?)) + (set! (-> s3-1 display?) #f) + (format 0 "Turning level ~A off~%" (-> s3-1 name)) + (deactivate s3-1) + ) + (else + (format 0 "Setting level ~A display command to ~A~%" (-> obj want s5-2 name) (-> obj want s5-2 display?)) + (set! (-> s3-1 display?) (-> obj want s5-2 display?)) + ) + ) + ) + (when (!= (-> s3-1 force-all-visible?) (-> obj want s5-2 force-vis?)) + (set! (-> s3-1 force-all-visible?) (-> obj want s5-2 force-vis?)) + (format 0 "Setting force-all-visible?[~A] to ~A~%" (-> obj want s5-2 name) (-> obj want s5-2 force-vis?)) + ) + (when (!= (-> s3-1 force-inside?) (-> obj want s5-2 force-inside?)) + (set! (-> s3-1 force-inside?) (-> obj want s5-2 force-inside?)) + (format 0 "Setting force-inside?[~A] to ~A~%" (-> obj want s5-2 name) (-> obj want s5-2 force-inside?)) + ) ) - (level-get-for-use *level* (-> s3-1 info name) 'active) - (set! (-> s3-1 display?) (-> obj want s5-2 display?)) - ) - (else - (if - (and - (-> s3-1 info wait-for-load) - (!= (-> obj want s5-2 display?) 'display-no-wait) - ) - (send-event *target* 'loading) - ) - (if (= *cheat-mode* 'debug) - (format - *stdcon* - "display on for ~A but level is loading~%" - (-> obj want s5-2 name) - ) - ) - ) ) - ) - ((not (-> obj want s5-2 display?)) - (set! (-> s3-1 display?) #f) - (format 0 "Turning level ~A off~%" (-> s3-1 name)) - (deactivate s3-1) - ) - (else - (format - 0 - "Setting level ~A display command to ~A~%" - (-> obj want s5-2 name) - (-> obj want s5-2 display?) - ) - (set! (-> s3-1 display?) (-> obj want s5-2 display?)) - ) ) - ) - (when (!= (-> s3-1 force-all-visible?) (-> obj want s5-2 force-vis?)) - (set! (-> s3-1 force-all-visible?) (-> obj want s5-2 force-vis?)) - (format - 0 - "Setting force-all-visible?[~A] to ~A~%" - (-> obj want s5-2 name) - (-> obj want s5-2 force-vis?) - ) - ) - (when (!= (-> s3-1 force-inside?) (-> obj want s5-2 force-inside?)) - (set! (-> s3-1 force-inside?) (-> obj want s5-2 force-inside?)) - (format - 0 - "Setting force-inside?[~A] to ~A~%" - (-> obj want s5-2 name) - (-> obj want s5-2 force-inside?) - ) - ) ) - ) ) - ) ) - ) (let ((s5-3 #f)) - (dotimes (v1-121 (-> *level* length)) - (let ((a0-55 (-> *level* level v1-121))) - (when (= (-> a0-55 status) 'active) - (if (nonzero? (-> a0-55 vis-info (-> a0-55 vis-self-index) ramdisk)) - (set! s5-3 (-> a0-55 nickname)) - ) - ) - ) - ) - (when (and (!= s5-3 (-> obj vis-nick)) (-> *level* vis?)) - (when (-> obj vis-nick) - (dotimes (s4-3 (-> *level* length)) - (let ((v1-133 (-> *level* level s4-3))) - (when (= (-> v1-133 status) 'active) - (if - (and - (= (-> v1-133 nickname) (-> obj vis-nick)) - (-> v1-133 inside-boxes?) + (dotimes (v1-121 (-> *level* length)) + (let ((a0-55 (-> *level* level v1-121))) + (when (= (-> a0-55 status) 'active) + (if (nonzero? (-> a0-55 vis-info (-> a0-55 vis-self-index) ramdisk)) + (set! s5-3 (-> a0-55 nickname)) + ) + ) + ) + ) + (when (and (!= s5-3 (-> obj vis-nick)) (-> *level* vis?)) + (when (-> obj vis-nick) + (dotimes (s4-3 (-> *level* length)) + (let ((v1-133 (-> *level* level s4-3))) + (when (= (-> v1-133 status) 'active) + (if (and (= (-> v1-133 nickname) (-> obj vis-nick)) (-> v1-133 inside-boxes?)) + (load-vis-info (-> obj vis-nick) s5-3) + ) + ) + ) ) - (load-vis-info (-> obj vis-nick) s5-3) - ) ) - ) ) - ) ) - ) 0 ) @@ -1787,281 +1512,229 @@ (update *art-control* #t) (clear-rec *art-control*) (dotimes (s5-0 2) - (load-continue (-> obj level s5-0)) - ) - (dotimes (s5-1 (-> obj length)) - (let ((s4-0 (-> obj level s5-1))) - (when (= (-> s4-0 status) 'active) - (set! - (-> s4-0 inside-boxes?) - (point-in-boxes? s4-0 (-> *math-camera* trans)) - ) - (set! - (-> s4-0 inside-sphere?) - (>= (-> s4-0 bsp bsphere w) (-> s4-0 level-distance)) - ) - (if (-> s4-0 inside-boxes?) - (set! (-> s4-0 meta-inside?) #t) - ) - ) + (load-continue (-> obj level s5-0)) + ) + (dotimes (s5-1 (-> obj length)) + (let ((s4-0 (-> obj level s5-1))) + (when (= (-> s4-0 status) 'active) + (set! (-> s4-0 inside-boxes?) (point-in-boxes? s4-0 (-> *math-camera* trans))) + (set! (-> s4-0 inside-sphere?) (>= (-> s4-0 bsp bsphere w) (-> s4-0 level-distance))) + (if (-> s4-0 inside-boxes?) + (set! (-> s4-0 meta-inside?) #t) + ) + ) + ) ) - ) (update! *load-state*) (dotimes (s5-2 (-> obj length)) - (let ((s4-1 (-> obj level s5-2))) - (when (= (-> s4-1 status) 'active) - (if (and (-> s4-1 inside-boxes?) (not (-> s4-1 other inside-boxes?))) - (set! (-> s4-1 other meta-inside?) #f) - ) - (when - (and - (null? (-> obj load-commands)) - (= (-> s4-1 nickname) (-> *load-state* vis-nick)) - (!= (-> s4-1 name) (-> *game-info* current-continue level)) - (-> *level* border?) - ) - (let ((s3-0 (the-as continue-point (car (-> s4-1 info continues))))) - (let* ((s2-0 (target-pos 0)) - (s4-2 (-> s4-1 info continues)) - (s1-0 (the-as continue-point (car s4-2))) + (let ((s4-1 (-> obj level s5-2))) + (when (= (-> s4-1 status) 'active) + (if (and (-> s4-1 inside-boxes?) (not (-> s4-1 other inside-boxes?))) + (set! (-> s4-1 other meta-inside?) #f) + ) + (when (and + (null? (-> obj load-commands)) + (= (-> s4-1 nickname) (-> *load-state* vis-nick)) + (!= (-> s4-1 name) (-> *game-info* current-continue level)) + (-> *level* border?) + ) + (let ((s3-0 (the-as continue-point (car (-> s4-1 info continues))))) + (let* ((s2-0 (target-pos 0)) + (s4-2 (-> s4-1 info continues)) + (s1-0 (the-as continue-point (car s4-2))) + ) + (while (not (null? s4-2)) + (if (and + (< (vector-vector-distance s2-0 (-> s1-0 trans)) (vector-vector-distance s2-0 (-> s3-0 trans))) + (zero? (-> s1-0 flags)) + ) + (set! s3-0 s1-0) + ) + (set! s4-2 (cdr s4-2)) + (set! s1-0 (the-as continue-point (car s4-2))) + ) ) - (while (not (null? s4-2)) - (if - (and - (< - (vector-vector-distance s2-0 (-> s1-0 trans)) - (vector-vector-distance s2-0 (-> s3-0 trans)) + (set-continue! *game-info* s3-0) ) - (zero? (-> s1-0 flags)) - ) - (set! s3-0 s1-0) ) - (set! s4-2 (cdr s4-2)) - (set! s1-0 (the-as continue-point (car s4-2))) - ) ) - (set-continue! *game-info* s3-0) - ) ) - ) ) - ) (dotimes (v1-67 (-> obj length)) - (let ((a0-26 (-> obj level v1-67))) - (when (= (-> a0-26 status) 'active) - (set! (-> a0-26 vis-self-index) 0) - (set! (-> a0-26 vis-adj-index) 7) - (when (= (-> a0-26 other status) 'active) - (dotimes (a1-10 8) - (if - (and - (-> a0-26 vis-info a1-10) - (= (-> a0-26 vis-info a1-10 from-level) (-> a0-26 other load-name)) - ) - (set! (-> a0-26 vis-adj-index) a1-10) + (let ((a0-26 (-> obj level v1-67))) + (when (= (-> a0-26 status) 'active) + (set! (-> a0-26 vis-self-index) 0) + (set! (-> a0-26 vis-adj-index) 7) + (when (= (-> a0-26 other status) 'active) + (dotimes (a1-10 8) + (if (and (-> a0-26 vis-info a1-10) (= (-> a0-26 vis-info a1-10 from-level) (-> a0-26 other load-name))) + (set! (-> a0-26 vis-adj-index) a1-10) + ) + ) + ) ) - ) ) - ) ) - ) (when *display-level-border* - (dotimes (s5-3 (-> obj length)) - (let ((s4-3 (-> obj level s5-3))) - (when (= (-> s4-3 status) 'active) - (let ((s3-1 (-> s4-3 bsp current-bsp-back-flags))) - (dotimes (s2-1 6) - (when (and (logtest? s3-1 3) (-> s4-3 vis-info (+ s2-1 1))) - (let - ((v1-88 (lookup-level-info (-> s4-3 vis-info (+ s2-1 1) from-level)))) - (format - *stdcon* - " ~A -> ~A: load: ~A display: ~A~%" - (-> s4-3 name) - (-> v1-88 name) - (logtest? s3-1 1) - (logtest? s3-1 2) - ) + (dotimes (s5-3 (-> obj length)) + (let ((s4-3 (-> obj level s5-3))) + (when (= (-> s4-3 status) 'active) + (let ((s3-1 (-> s4-3 bsp current-bsp-back-flags))) + (dotimes (s2-1 6) + (when (and (logtest? s3-1 3) (-> s4-3 vis-info (+ s2-1 1))) + (let ((v1-88 (lookup-level-info (-> s4-3 vis-info (+ s2-1 1) from-level)))) + (format + *stdcon* + " ~A -> ~A: load: ~A display: ~A~%" + (-> s4-3 name) + (-> v1-88 name) + (logtest? s3-1 1) + (logtest? s3-1 2) + ) + ) + ) + (set! s3-1 (shr s3-1 2)) + ) + ) ) - ) - (set! s3-1 (shr s3-1 2)) ) - ) ) - ) ) - ) (dotimes (s5-4 (-> obj length)) - (let ((s4-4 (-> obj level s5-4))) - (when (= (-> s4-4 status) 'active) - (when - (and - (= (-> s4-4 nickname) (-> *load-state* vis-nick)) - (not (-> s4-4 inside-boxes?)) - ) - (if (and (= *cheat-mode* 'debug) (-> s4-4 other inside-boxes?)) - (format - *stdcon* - "~3LForcing outside of ~A [bad split boxes]~%~0L" - (-> s4-4 other name) + (let ((s4-4 (-> obj level s5-4))) + (when (= (-> s4-4 status) 'active) + (when (and (= (-> s4-4 nickname) (-> *load-state* vis-nick)) (not (-> s4-4 inside-boxes?))) + (if (and (= *cheat-mode* 'debug) (-> s4-4 other inside-boxes?)) + (format *stdcon* "~3LForcing outside of ~A [bad split boxes]~%~0L" (-> s4-4 other name)) + ) + (set! (-> s4-4 other inside-boxes?) #f) + ) ) - ) - (set! (-> s4-4 other inside-boxes?) #f) ) - ) ) - ) (cond - ((not (or (-> obj level0 inside-boxes?) (-> obj level1 inside-boxes?))) - (when (or (-> obj level0 vis-info 0) (-> obj level1 vis-info 0)) - (if (= *cheat-mode* 'debug) - (format *stdcon* "~3Loutside of bsp~%~0L") - ) - ) - ) - (else - (dotimes (v1-125 (-> obj length)) - (let ((a0-44 (-> obj level v1-125))) - (when (= (-> a0-44 status) 'active) - (dotimes (a1-17 8) - (let ((a2-18 (-> a0-44 vis-info a1-17))) - (when a2-18 - (set! - (-> a2-18 flags) - (logand (the-as uint #xffffffff7fffffff) (-> a2-18 flags)) + ((not (or (-> obj level0 inside-boxes?) (-> obj level1 inside-boxes?))) + (when (or (-> obj level0 vis-info 0) (-> obj level1 vis-info 0)) + (if (= *cheat-mode* 'debug) + (format *stdcon* "~3Loutside of bsp~%~0L") ) - (cond - ((= a1-17 (-> a0-44 vis-self-index)) - (set! (-> a2-18 from-bsp) (-> a0-44 bsp)) - ) - ((= a1-17 (-> a0-44 vis-adj-index)) - (set! (-> a2-18 from-bsp) (-> a0-44 other bsp)) - ) - (else - (set! (-> a2-18 from-bsp) #f) - ) - ) - ) - ) - ) - (cond - ((= (-> a0-44 display?) 'display-self) - (let ((a0-46 (-> a0-44 vis-info (-> a0-44 vis-self-index)))) - (if a0-46 - (set! - (-> a0-46 flags) - (the-as uint (logior (shl #x8000 16) (-> a0-46 flags))) - ) - ) - ) - ) - ((and (-> a0-44 inside-boxes?) (not (-> a0-44 other inside-boxes?))) - (let ((a0-48 (-> a0-44 vis-info (-> a0-44 vis-self-index)))) - (if a0-48 - (set! - (-> a0-48 flags) - (the-as uint (logior (shl #x8000 16) (-> a0-48 flags))) - ) - ) - ) - ) - ((-> a0-44 other inside-boxes?) - (let ((a0-50 (-> a0-44 vis-info (-> a0-44 vis-adj-index)))) - (if a0-50 - (set! - (-> a0-50 flags) - (the-as uint (logior (shl #x8000 16) (-> a0-50 flags))) - ) - ) - ) - ) - ) ) - ) ) - ) - ) - (when - (or - *display-level-border* - *display-texture-download* - *display-split-box-info* - ) - (when *display-level-border* - (format - *stdcon* - " want: ~A ~A/~A ~A ~A/~A~%" - (-> *load-state* want 0 name) - (-> *load-state* want 0 display?) - (-> *load-state* want 0 force-vis?) - (-> *load-state* want 1 name) - (-> *load-state* want 1 display?) - (-> *load-state* want 1 force-vis?) - ) - (let ((t9-16 format) - (a0-53 *stdcon*) - (a1-49 " nick ~A cur ~S cont ~A~%~%") - (a2-24 (-> *load-state* vis-nick)) - (v1-142 (and *target* (-> *target* current-level name))) + (else + (dotimes (v1-125 (-> obj length)) + (let ((a0-44 (-> obj level v1-125))) + (when (= (-> a0-44 status) 'active) + (dotimes (a1-17 8) + (let ((a2-18 (-> a0-44 vis-info a1-17))) + (when a2-18 + (set! (-> a2-18 flags) (logand (the-as uint #xffffffff7fffffff) (-> a2-18 flags))) + (cond + ((= a1-17 (-> a0-44 vis-self-index)) + (set! (-> a2-18 from-bsp) (-> a0-44 bsp)) + ) + ((= a1-17 (-> a0-44 vis-adj-index)) + (set! (-> a2-18 from-bsp) (-> a0-44 other bsp)) + ) + (else + (set! (-> a2-18 from-bsp) #f) + ) + ) + ) + ) + ) + (cond + ((= (-> a0-44 display?) 'display-self) + (let ((a0-46 (-> a0-44 vis-info (-> a0-44 vis-self-index)))) + (if a0-46 + (set! (-> a0-46 flags) (the-as uint (logior (shl #x8000 16) (-> a0-46 flags)))) + ) + ) + ) + ((and (-> a0-44 inside-boxes?) (not (-> a0-44 other inside-boxes?))) + (let ((a0-48 (-> a0-44 vis-info (-> a0-44 vis-self-index)))) + (if a0-48 + (set! (-> a0-48 flags) (the-as uint (logior (shl #x8000 16) (-> a0-48 flags)))) + ) + ) + ) + ((-> a0-44 other inside-boxes?) + (let ((a0-50 (-> a0-44 vis-info (-> a0-44 vis-adj-index)))) + (if a0-50 + (set! (-> a0-50 flags) (the-as uint (logior (shl #x8000 16) (-> a0-50 flags)))) + ) + ) + ) + ) + ) ) - (t9-16 a0-53 a1-49 a2-24 (if v1-142 - (-> - (the-as - (pointer uint32) - (+ #xff38 (the-as int v1-142)) - ) - ) - ) - (-> *game-info* current-continue name) + ) ) - ) ) - (dotimes (s5-5 (-> obj length)) - (let ((s4-5 (-> obj level s5-5))) - (when (= (-> s4-5 status) 'active) + (when (or *display-level-border* *display-texture-download* *display-split-box-info*) + (when *display-level-border* (format - *stdcon* - "~A: ~S ~A~%" - (-> s4-5 name) - (if (point-in-boxes? s4-5 (-> *math-camera* trans)) - "inside" - ) - (-> s4-5 display?) - ) - (when *display-texture-download* - (format *stdcon* " tfrag: ~8,,0m " (-> s4-5 closest-object 0)) - (format *stdcon* " shrub: ~8,,0m " (-> s4-5 closest-object 2)) - (format *stdcon* - " alpha: ~8,,0m #x~8X~%" - (-> s4-5 closest-object 3) - (-> s4-5 texture-mask 8) + " want: ~A ~A/~A ~A ~A/~A~%" + (-> *load-state* want 0 name) + (-> *load-state* want 0 display?) + (-> *load-state* want 0 force-vis?) + (-> *load-state* want 1 name) + (-> *load-state* want 1 display?) + (-> *load-state* want 1 force-vis?) ) - (format *stdcon* " tie: ~8,,0m " (-> s4-5 closest-object 5)) - (format *stdcon* " fg-tf: ~8,,0m " (-> s4-5 closest-object 6)) - (format - *stdcon* - " fg-pr: ~8,,0m #x~8X~%" - (-> s4-5 closest-object 7) - (-> s4-5 texture-mask 7) + (let ((t9-16 format) + (a0-53 *stdcon*) + (a1-49 " nick ~A cur ~S cont ~A~%~%") + (a2-24 (-> *load-state* vis-nick)) + (v1-142 (and *target* (-> *target* current-level name))) + ) + (t9-16 + a0-53 + a1-49 + a2-24 + (if v1-142 + (-> (the-as (pointer uint32) (+ #xff38 (the-as int v1-142)))) + ) + (-> *game-info* current-continue name) + ) + ) + ) + (dotimes (s5-5 (-> obj length)) + (let ((s4-5 (-> obj level s5-5))) + (when (= (-> s4-5 status) 'active) + (format + *stdcon* + "~A: ~S ~A~%" + (-> s4-5 name) + (if (point-in-boxes? s4-5 (-> *math-camera* trans)) + "inside" + ) + (-> s4-5 display?) + ) + (when *display-texture-download* + (format *stdcon* " tfrag: ~8,,0m " (-> s4-5 closest-object 0)) + (format *stdcon* " shrub: ~8,,0m " (-> s4-5 closest-object 2)) + (format *stdcon* " alpha: ~8,,0m #x~8X~%" (-> s4-5 closest-object 3) (-> s4-5 texture-mask 8)) + (format *stdcon* " tie: ~8,,0m " (-> s4-5 closest-object 5)) + (format *stdcon* " fg-tf: ~8,,0m " (-> s4-5 closest-object 6)) + (format *stdcon* " fg-pr: ~8,,0m #x~8X~%" (-> s4-5 closest-object 7) (-> s4-5 texture-mask 7)) + (format + *stdcon* + " tf: ~8D pr: ~8D sh: ~8D al: ~8D wa: ~8D~%~1K" + (-> s4-5 upload-size 0) + (-> s4-5 upload-size 1) + (-> s4-5 upload-size 2) + (-> s4-5 upload-size 3) + (-> s4-5 upload-size 4) + ) + ) + (if *display-split-box-info* + (debug-print-splitbox s4-5 (-> *math-camera* trans) *stdcon*) + ) + ) ) - (format - *stdcon* - " tf: ~8D pr: ~8D sh: ~8D al: ~8D wa: ~8D~%~1K" - (-> s4-5 upload-size 0) - (-> s4-5 upload-size 1) - (-> s4-5 upload-size 2) - (-> s4-5 upload-size 3) - (-> s4-5 upload-size 4) - ) - ) - (if *display-split-box-info* - (debug-print-splitbox s4-5 (-> *math-camera* trans) *stdcon*) - ) ) - ) ) - ) 0 ) @@ -2076,68 +1749,35 @@ ;; failed to figure out what this is: (when (zero? (-> *level* level0 art-group)) (let ((gp-0 *level*)) - (set! (-> gp-0 vis?) #f) - (set! (-> gp-0 loading-level) (-> gp-0 level-default)) - (set! - (-> gp-0 level0 art-group) - (new 'global 'load-dir-art-group 50 (-> gp-0 level0)) - ) - (set! - (-> gp-0 level0 foreground-draw-engine 0) - (new 'global 'engine 'draw 280) - ) - (set! - (-> gp-0 level0 foreground-draw-engine 1) - (new 'global 'engine 'draw 280) - ) - (set! - (-> gp-0 level0 foreground-draw-engine 2) - (new 'global 'engine 'draw 16) - ) - (set! - (-> gp-0 level1 art-group) - (new 'global 'load-dir-art-group 50 (-> gp-0 level1)) - ) - (set! - (-> gp-0 level1 foreground-draw-engine 0) - (new 'global 'engine 'draw 280) - ) - (set! - (-> gp-0 level1 foreground-draw-engine 1) - (new 'global 'engine 'draw 280) - ) - (set! - (-> gp-0 level1 foreground-draw-engine 2) - (new 'global 'engine 'draw 16) - ) - (set! - (-> gp-0 level-default art-group) - (new 'global 'load-dir-art-group 50 (-> gp-0 level1)) - ) - (set! - (-> gp-0 level-default foreground-draw-engine 0) - (new 'global 'engine 'draw 280) - ) - (set! - (-> gp-0 level-default foreground-draw-engine 1) - (new 'global 'engine 'draw 10) - ) - (set! (-> gp-0 level0 other) (-> gp-0 level1)) - (set! (-> gp-0 level1 other) (-> gp-0 level0)) - (set! (-> gp-0 level-default other) #f) - (dotimes (s5-0 2) - (let ((s4-0 (-> gp-0 level s5-0))) - (set! (-> s4-0 vis-bits) (malloc 'global 2048)) - (vis-clear s4-0) - ) - ) - (dotimes (v1-36 3) - (let ((a0-50 (-> gp-0 level v1-36))) - (set! (-> a0-50 linking) #f) - (dotimes (a1-46 3) - (set! (-> a0-50 foreground-sink-group a1-46 level) a0-50) + (set! (-> gp-0 vis?) #f) + (set! (-> gp-0 loading-level) (-> gp-0 level-default)) + (set! (-> gp-0 level0 art-group) (new 'global 'load-dir-art-group 50 (-> gp-0 level0))) + (set! (-> gp-0 level0 foreground-draw-engine 0) (new 'global 'engine 'draw 280)) + (set! (-> gp-0 level0 foreground-draw-engine 1) (new 'global 'engine 'draw 280)) + (set! (-> gp-0 level0 foreground-draw-engine 2) (new 'global 'engine 'draw 16)) + (set! (-> gp-0 level1 art-group) (new 'global 'load-dir-art-group 50 (-> gp-0 level1))) + (set! (-> gp-0 level1 foreground-draw-engine 0) (new 'global 'engine 'draw 280)) + (set! (-> gp-0 level1 foreground-draw-engine 1) (new 'global 'engine 'draw 280)) + (set! (-> gp-0 level1 foreground-draw-engine 2) (new 'global 'engine 'draw 16)) + (set! (-> gp-0 level-default art-group) (new 'global 'load-dir-art-group 50 (-> gp-0 level1))) + (set! (-> gp-0 level-default foreground-draw-engine 0) (new 'global 'engine 'draw 280)) + (set! (-> gp-0 level-default foreground-draw-engine 1) (new 'global 'engine 'draw 10)) + (set! (-> gp-0 level0 other) (-> gp-0 level1)) + (set! (-> gp-0 level1 other) (-> gp-0 level0)) + (set! (-> gp-0 level-default other) #f) + (dotimes (s5-0 2) + (let ((s4-0 (-> gp-0 level s5-0))) + (set! (-> s4-0 vis-bits) (malloc 'global 2048)) + (vis-clear s4-0) + ) + ) + (dotimes (v1-36 3) + (let ((a0-50 (-> gp-0 level v1-36))) + (set! (-> a0-50 linking) #f) + (dotimes (a1-46 3) + (set! (-> a0-50 foreground-sink-group a1-46 level) a0-50) + ) + ) ) - ) ) - ) ) diff --git a/test/decompiler/reference/engine/level/load-boundary-data_REF.gc b/test/decompiler/reference/engine/level/load-boundary-data_REF.gc index 4f78cd44ba..03d76a4fbd 100644 --- a/test/decompiler/reference/engine/level/load-boundary-data_REF.gc +++ b/test/decompiler/reference/engine/level/load-boundary-data_REF.gc @@ -8,4159 +8,3485 @@ (define *load-boundary-list* (the-as load-boundary #f)) ;; definition for symbol *static-load-boundary-list*, type (array array) -(define - *static-load-boundary-list* - (new - 'static - 'boxed-array - :type array :length 168 :allocated-length 168 - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 2404087.0 - 1792990.9 - 11801113.0 - -19782276.0 - 12074740.0 - -19333410.0 - ) - '( - (the binteger 6) "finalboss-fight" #f - ) - '( - (the binteger 6) "finalboss-start" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 980265.2 - 890780.8 - 3118024.0 - -13706895.0 - 3079293.0 - -13672758.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "snow-outside-cave" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1050557.6 - 904951.44 - 3464265.8 - -13649148.0 - 3491810.2 - -13487760.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "snow-outside-fort" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1161083.5 - 1033513.1 - 3172378.2 - -14293381.0 - 3169853.0 - -14196348.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "snow-by-ice-lake" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 155912.27 - -524288.0 - -302473.8 - -358921.62 - -189703.34 - -88103.32 - -213883.9 - -45797.734 - -569183.0 - -33546.773 - ) - '( - (the binteger 3) beach display - ) - '( - (the binteger 3) beach display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 164302.47 - -304623.5 - 11519060.0 - -18551140.0 - 11449090.0 - -18346224.0 - 11380415.0 - -18514332.0 - ) - '( - (the binteger 6) "citadel-entrance" #f - ) - '( - (the binteger 6) "citadel-entrance" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 272053.7 - -655558.1 - 4808600.0 - -12651164.0 - 4530877.0 - -12508498.0 - ) - '( - (the binteger 6) "maincave-to-robocave" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 171371.14 - -524288.0 - -676129.1 - -6924696.0 - -680121.3 - -6757647.5 - ) - '( - (the binteger 3) village2 display - ) - '( - (the binteger 3) village2 special-vis - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 36361.89 - -36137.29 - 12126351.0 - -19001848.0 - 12122353.0 - -18877466.0 - ) - '( - (the binteger 6) "citadel-generator-start" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -198.1726 - -146531.1 - 11416193.0 - -19794980.0 - 11485550.0 - -19797886.0 - ) - '( - (the binteger 6) "citadel-plat-start" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 39044.12 - -141510.19 - 10894763.0 - -18893140.0 - 10898940.0 - -18972940.0 - ) - '( - (the binteger 6) "citadel-launch-start" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 376514.56 - -524288.0 - 418480.47 - -2126829.2 - 768319.25 - -2135490.8 - ) - '( - (the binteger 3) village1 #f - ) - '( - (the binteger 3) village1 display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 326689.0 - -524288.0 - 143748.83 - -3601507.8 - 179947.44 - -3912510.8 - ) - '( - 0 #f #f - ) - '( - (the binteger 1) firecanyon village1 - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 524288.0 - 265248.94 - 10092448.0 - -16790240.0 - 10078353.0 - -16477023.0 - ) - '( - (the binteger 6) "lavatube-after-ribbon" #f - ) - '( - (the binteger 6) "lavatube-after-ribbon" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -257783.72 - 11326069.0 - -18525588.0 - 11278355.0 - -18072140.0 - ) - '( - (the binteger 6) "lavatube-end" #f - ) - '( - (the binteger 6) "lavatube-end" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 290551.75 - -524288.0 - 4047454.5 - -14186495.0 - 3804332.0 - -13805874.0 - ) - '( - (the binteger 6) "ogre-end" #f - ) - '( - (the binteger 6) "ogre-end" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 275555.12 - -524288.0 - 927462.1 - -7305133.0 - 763242.75 - -7308856.5 - ) - '( - (the binteger 3) village2 display - ) - '( - (the binteger 3) village2 special-vis - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -28209.512 - -524288.0 - 4869388.0 - -12242570.0 - 4850643.0 - -12138500.0 - 4982147.0 - -12130348.0 - 5004734.0 - -12257655.0 - ) - '( - (the binteger 3) maincave #f - ) - '( - (the binteger 3) maincave display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 28870.227 - -524288.0 - 4869388.0 - -12242570.0 - 4850643.0 - -12138500.0 - 4982147.0 - -12130348.0 - 5004734.0 - -12257655.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) mai #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -35278.418 - -524288.0 - 4869388.0 - -12242570.0 - 4850643.0 - -12138500.0 - 4982147.0 - -12130348.0 - 5004734.0 - -12257655.0 - ) - '( - (the binteger 4) rob #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - -6276.127 - -424794.84 - 10794323.0 - -19184136.0 - 11542925.0 - -19117040.0 - 11854880.0 - -18949898.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 1) citadel lavatube - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -424794.84 - 11251180.0 - -18687074.0 - 11606826.0 - -18673318.0 - ) - '( - (the binteger 3) lavatube #f - ) - '( - (the binteger 3) lavatube display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 275554.94 - 103589.16 - 769670.25 - -8183583.5 - 945858.75 - -8171829.5 - ) - '( - (the binteger 6) "ogre-race" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 145672.28 - -274960.53 - 9277345.0 - -14277290.0 - 9266303.0 - -13929350.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 1) village3 lavatube - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 361505.03 - 141642.4 - 5280860.0 - -14529410.0 - 5363850.0 - -14811145.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) lav #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 361505.03 - 141642.4 - 5145395.0 - -14585060.0 - 4969281.0 - -14637079.0 - ) - '( - (the binteger 3) lavatube #f - ) - '( - (the binteger 3) lavatube display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 329926.2 - 114555.875 - 4630288.0 - -14662835.0 - 4776346.0 - -14281154.0 - 5078574.5 - -14217605.0 - ) - '( - (the binteger 1) village3 lavatube - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 107354.85 - -647564.3 - -279364.62 - 131636.45 - -270673.44 - 160221.88 - ) - '( - (the binteger 3) beach #f - ) - '( - (the binteger 3) beach display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 404182.75 - -524288.0 - 4167032.0 - -13159265.0 - 4419089.0 - -12857725.0 - 4712033.0 - -13110535.0 - ) - '( - (the binteger 3) village3 display - ) - '( - (the binteger 3) village3 #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 561218.0 - -22197.672 - 5192028.0 - -12126635.0 - 4954258.5 - -11802688.0 - ) - '( - (the binteger 4) rob #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 561218.0 - -15459.172 - 5076681.0 - -12251444.0 - 4974694.0 - -12024020.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) mai #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 297752.7 - -524288.0 - 53651.58 - -6363675.5 - 58039.688 - -6204528.0 - ) - '( - (the binteger 3) village2 special-vis - ) - '( - (the binteger 3) village2 #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 296695.72 - -524288.0 - -590053.06 - -6197793.0 - 39494.13 - -6504359.5 - ) - '( - (the binteger 3) village2 display - ) - '( - (the binteger 3) village2 special-vis - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 334675.1 - 183791.47 - -655431.8 - -7037484.5 - -667642.5 - -6660005.5 - ) - '( - (the binteger 3) village2 display - ) - '( - (the binteger 3) village2 special-vis - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 380333.4 - -40101.156 - 1818615.8 - -1094335.5 - 1622619.2 - -978791.7 - ) - '( - (the binteger 3) village1 special-vis - ) - '( - (the binteger 3) village1 #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 22 :allocated-length 22 - 401929.88 - -524288.0 - -363218.53 - -2089629.0 - -558766.7 - -1816698.6 - -769622.8 - -2043451.9 - -816882.1 - -2051455.1 - -950145.6 - -2013974.5 - -967790.6 - -1907695.0 - -1064691.2 - -1966847.9 - -1147540.0 - -1944348.2 - -1243268.9 - -2202510.2 - -1249669.5 - -2319393.8 - ) - '( - (the binteger 3) village1 display - ) - '( - (the binteger 3) village1 special-vis - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 285200.53 - -524288.0 - 4042240.5 - -12645708.0 - 4297681.5 - -12507810.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 1) maincave darkcave - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 272053.7 - -655558.1 - 4806917.0 - -12655241.0 - 4529194.0 - -12512575.0 - ) - '( - (the binteger 1) maincave robocave - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 350009.84 - -524288.0 - 4421414.0 - -13636154.0 - 4589708.5 - -13556925.0 - ) - '( - (the binteger 3) maincave #f - ) - '( - (the binteger 3) maincave display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -1761940.5 - -1946392.4 - 2518956.8 - -7372510.5 - 2450104.8 - -7215005.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "sunkenb-helix" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 330190.47 - -524288.0 - 4536550.0 - -13960169.0 - 4678894.0 - -14351620.0 - 4428100.5 - -14425283.0 - 4353558.0 - -14051260.0 - ) - '( - (the binteger 1) village3 ogre - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 253886.0 - -524288.0 - 4168931.0 - -14104075.0 - 4117809.5 - -13471865.0 - ) - '( - (the binteger 4) vi3 #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 290551.75 - -524288.0 - 4130630.2 - -14104385.0 - 3887507.8 - -13723764.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) ogr #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -632567.56 - -576346.5 - 2344408.2 - -7388373.0 - 2348460.5 - -7279539.0 - 2466947.8 - -7247920.5 - 2439049.2 - -7385641.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) sun #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -467010.03 - -701076.44 - 3209649.0 - -6960872.0 - 3057429.0 - -6862769.0 - ) - '( - (the binteger 6) "sunken1" #f - ) - '( - (the binteger 6) "sunken2" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -512925.12 - -681521.44 - 2371019.5 - -6795812.0 - 2389408.2 - -6532305.5 - ) - '( - (the binteger 3) village2 #f - ) - '( - (the binteger 3) village2 display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 110684.67 - -524288.0 - 1839143.8 - -7520194.5 - 1840360.8 - -7670893.0 - 1846512.6 - -7685321.0 - ) - '( - (the binteger 6) "swamp-start" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 95661.45 - -524288.0 - 2672740.5 - -8278830.0 - 2639106.8 - -8402343.0 - ) - '( - (the binteger 6) "swamp-game" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 112904.26 - -524288.0 - 1486306.8 - -8266304.5 - 1610530.4 - -8198038.0 - ) - '( - (the binteger 6) "swamp-cave1" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 164830.97 - -524288.0 - -419912.5 - 3042100.0 - -133547.3 - 3439924.0 - -102430.38 - 3661115.2 - 428069.8 - 3364700.5 - ) - '( - (the binteger 6) "misty-start" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 321007.44 - -524288.0 - -907311.4 - 3456990.5 - -757819.7 - 3679705.0 - -638801.4 - 3763613.2 - -573459.2 - 3651802.5 - -883808.56 - 3444019.2 - ) - '( - (the binteger 6) "misty-silo" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -91155.664 - -524288.0 - 2079358.8 - -6774793.5 - 2079358.8 - -6569993.5 - 2284159.5 - -6569993.5 - 2284159.5 - -6774793.5 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) vi2 #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -176048.66 - -524288.0 - 2079358.8 - -6774793.5 - 2079358.8 - -6569993.5 - 2284159.5 - -6569993.5 - 2284159.5 - -6774793.5 - ) - '( - (the binteger 4) sun #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 263068.94 - -524288.0 - 1947299.0 - -7277401.0 - 1663485.5 - -7296843.5 - ) - '( - (the binteger 4) vi2 #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 240937.31 - -524288.0 - 1655335.4 - -7355865.0 - 1914029.8 - -7344404.5 - ) - '( - (the binteger 4) swa #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 192776.28 - -524288.0 - 1720459.0 - -7252616.5 - 1888000.6 - -7230796.5 - ) - '( - (the binteger 3) swamp display - ) - '( - (the binteger 3) swamp #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 524288.0 - -524288.0 - 1543607.5 - -7296055.0 - 1536684.1 - -6977798.0 - 1589661.2 - -6897839.0 - 1929451.4 - -7131590.5 - ) - '( - (the binteger 1) village2 swamp - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 524288.0 - -524288.0 - 474877.1 - -6501738.5 - 641064.94 - -6682781.0 - 774879.44 - -6780504.5 - ) - '( - (the binteger 4) rol #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 524288.0 - -524288.0 - 836810.7 - -6707271.0 - 673225.56 - -6637296.5 - 468429.44 - -6424190.5 - ) - '( - (the binteger 4) vi2 #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 388789.16 - -524288.0 - -137499.97 - -464508.47 - -239475.86 - -332696.8 - ) - '( - (the binteger 4) vi1 #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 152569.25 - -524288.0 - -177363.28 - -182574.97 - -107676.53 - -61124.004 - -172878.95 - 81598.42 - -327656.6 - 227590.64 - -406536.56 - 216199.72 - -485581.56 - 261065.92 - -515573.0 - 191171.4 - -1338912.4 - 229231.64 - ) - '( - (the binteger 3) beach #f - ) - '( - (the binteger 3) beach display-no-wait - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 272530.25 - -524288.0 - -249675.55 - -391214.2 - -130347.68 - -500937.6 - ) - '( - (the binteger 3) firecanyon display - ) - '( - (the binteger 3) firecanyon #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - -87713.6 - -524288.0 - 1090401.8 - -1274678.5 - 1058803.0 - -1235478.5 - 1060181.1 - -1193262.0 - 1117220.8 - -1154488.0 - 1164595.1 - -1185104.8 - 1176762.0 - -1210675.4 - 1173468.1 - -1244727.8 - 1125869.1 - -1275753.6 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) jun #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 301122.1 - -524288.0 - 1525182.5 - 2034822.6 - 842849.06 - -804235.94 - ) - '( - (the binteger 4) vi1 #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 325169.56 - -524288.0 - 894672.4 - -779382.3 - 1767576.5 - 1188691.0 - ) - '( - (the binteger 4) jun #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 326953.3 - -524288.0 - 81844.7 - -727707.5 - 15797.286 - 118401.266 - 414386.16 - 120639.44 - 1232901.1 - 1021193.6 - ) - '( - (the binteger 1) village1 jungle - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 166814.4 - -524288.0 - 401796.53 - -610932.7 - 350019.12 - -489639.75 - 470693.25 - -460100.72 - ) - '( - (the binteger 3) jungle display-no-wait - ) - '( - (the binteger 3) jungle #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 375701.16 - -524288.0 - 1453916.1 - -987016.2 - 1461937.5 - -967184.75 - 1482761.0 - -957298.8 - 1505932.0 - -966185.4 - 1514189.1 - -989654.4 - 1503102.1 - -1010133.7 - 1481864.2 - -1017569.2 - 1464112.8 - -1010652.75 - ) - '( - (the binteger 1) jungle jungleb - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 322236.66 - -524288.0 - -140670.9 - -353851.75 - 6646.948 - -375187.7 - -4327.104 - -433914.72 - ) - '( - (the binteger 1) village1 firecanyon - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 168425.08 - -524288.0 - -201897.2 - -213989.42 - -71567.484 - -81526.12 - -112773.18 - 78722.41 - -115380.56 - 447390.62 - -241892.22 - 711968.75 - ) - '( - 0 #f #f - ) - '( - (the binteger 1) village1 beach - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 524288.0 - -524288.0 - 420024.44 - -4814527.0 - 420024.44 - -4609727.0 - ) - '( - (the binteger 3) village2 display - ) - '( - (the binteger 3) village2 #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 388393.3 - -524288.0 - -261189.34 - -3825337.5 - -50913.258 - -4000428.0 - ) - '( - (the binteger 1) village2 firecanyon - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 388789.16 - -524288.0 - -269444.6 - -496662.28 - -126883.84 - -507940.1 - ) - '( - (the binteger 4) fic #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 332899.12 - -524288.0 - -1124255.8 - -298838.28 - -351702.84 - -248529.5 - ) - '( - (the binteger 4) bea #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 332899.12 - -524288.0 - -1208873.8 - -81858.37 - -319884.62 - -196373.8 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) vi1 #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 335013.2 - -524288.0 - 1300341.5 - -6072380.5 - 1543875.5 - -6043701.0 - ) - '( - (the binteger 4) vi2 #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 370820.16 - -524288.0 - 1400421.9 - -5994967.5 - 1298001.9 - -5991312.0 - ) - '( - (the binteger 4) fic #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 14 :allocated-length 14 - 313079.75 - -524288.0 - 823858.3 - -7076852.5 - 1476263.1 - -6966768.0 - 1548741.4 - -6505285.5 - 1380369.1 - -6357914.0 - 1125477.6 - -6285041.0 - 1188517.2 - -6036264.5 - ) - '( - 0 #f #f - ) - '( - (the binteger 1) village2 rolling - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 233141.69 - -524288.0 - 742218.2 - -6802828.0 - 1334365.1 - -6818752.0 - 1357111.0 - -6436508.0 - 1047644.1 - -6334948.5 - 643162.44 - -6208203.0 - ) - '( - (the binteger 3) rolling #f - ) - '( - (the binteger 3) rolling display-no-wait - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 431070.97 - -524288.0 - 974018.4 - -7117512.5 - 1070822.5 - -7081258.0 - 1526121.6 - -7123133.0 - 1541163.8 - -7418157.0 - ) - '( - (the binteger 1) village2 ogre - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 396387.06 - 57211.875 - 1213439.8 - -7288315.5 - 1227811.9 - -7079770.5 - 912550.5 - -7099027.5 - ) - '( - (the binteger 3) ogre #f - ) - '( - (the binteger 3) ogre display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 336796.9 - -524288.0 - 825355.2 - -7235151.5 - 920252.2 - -7300986.5 - ) - '( - (the binteger 4) ogr #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 292930.06 - -524288.0 - 998340.94 - -7272782.5 - 934710.06 - -7195729.5 - ) - '( - (the binteger 4) vi2 #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 524288.0 - -168464.31 - 1927868.4 - -7085362.5 - 1605545.0 - -6870818.5 - 1615227.8 - -6471577.5 - 2177376.0 - -6131660.5 - ) - '( - (the binteger 1) village2 sunken - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 360646.25 - -187424.25 - 2042524.0 - -7300480.5 - 1824194.5 - -6847887.0 - 1852328.8 - -6568462.5 - 2270167.8 - -6228972.5 - ) - '( - (the binteger 3) sunken special - ) - '( - (the binteger 3) sunken #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 126432.83 - -524288.0 - 1453916.1 - -987016.2 - 1461937.5 - -967184.75 - 1482761.0 - -957298.8 - 1505932.0 - -966185.4 - 1514189.1 - -989654.4 - 1503102.1 - -1010133.7 - 1481864.2 - -1017569.2 - 1464112.8 - -1010652.75 - ) - '( - (the binteger 3) jungleb display - ) - '( - (the binteger 3) jungleb #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 18 :allocated-length 18 - 74968.55 - -616976.44 - 1453916.1 - -987016.2 - 1461937.5 - -967184.75 - 1482761.0 - -957298.8 - 1505932.0 - -966185.4 - 1514189.1 - -989654.4 - 1503102.1 - -1010133.7 - 1481864.2 - -1017569.2 - 1464112.8 - -1010652.75 - ) - '( - (the binteger 4) jub #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 137771.25 - -524288.0 - 404573.2 - 4098422.0 - 236215.77 - 4114074.5 - ) - '( - (the binteger 6) "misty-bike" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 145077.7 - -524288.0 - -376094.4 - 4543663.0 - -376094.4 - 4748463.0 - ) - '( - (the binteger 6) "misty-backside" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 255537.56 - -524288.0 - -1005929.1 - 4193984.0 - -872937.2 - 4300299.0 - -756972.8 - 4208626.0 - -1025873.2 - 4087144.5 - ) - '( - (the binteger 6) "misty-silo2" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 99096.8 - -524288.0 - 1975605.4 - -8630552.0 - 1975421.4 - -8528661.0 - ) - '( - (the binteger 6) "swamp-cave2" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 141113.8 - -524288.0 - 1980493.5 - -7897138.0 - 2047652.4 - -7873304.0 - 2060152.6 - -7931657.5 - 1993817.2 - -7976457.0 - ) - '( - (the binteger 6) "swamp-cave3" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 262804.7 - -524288.0 - 2140291.2 - -6096639.0 - 1590722.8 - -6463647.0 - 1413458.0 - -6340959.0 - 1149150.8 - -6278411.0 - 1219588.5 - -6039556.5 - ) - '( - (the binteger 1) firecanyon village2 - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 206253.42 - -524288.0 - 1430296.9 - -5984384.0 - 1438999.2 - -6119296.0 - 1420048.6 - -6125594.0 - ) - '( - (the binteger 3) firecanyon display - ) - '( - (the binteger 3) firecanyon #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -432061.9 - -714884.06 - 2715718.5 - -7342267.0 - 2815001.5 - -7150704.5 - ) - '( - (the binteger 3) sunkenb display - ) - '( - (the binteger 3) sunkenb #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -899402.06 - -1098784.5 - 2282077.5 - -6677879.5 - 2080828.8 - -6613302.0 - ) - '( - (the binteger 4) sun #f - ) - '( - (the binteger 4) sub #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -451749.12 - -610039.7 - 3063970.5 - -6604280.5 - 3000425.2 - -6456572.0 - ) - '( - (the binteger 6) "sunken1" #f - ) - '( - (the binteger 6) "sunken-start" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -626555.75 - -524288.0 - 2344408.2 - -7388373.0 - 2348460.5 - -7279539.0 - 2466947.8 - -7247920.5 - 2439049.2 - -7385641.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "sunken2" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 198788.14 - -524288.0 - 2287878.0 - -13944549.0 - 2434369.8 - -13646915.0 - ) - '( - (the binteger 3) village3 display - ) - '( - (the binteger 3) village3 #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 355162.84 - -524288.0 - 4346461.0 - -14010600.0 - 4474615.5 - -13949533.0 - ) - '( - (the binteger 3) ogre #f - ) - '( - (the binteger 3) ogre display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 331577.72 - -524288.0 - 4510445.5 - -13872985.0 - 4620850.5 - -14134173.0 - 4822450.0 - -13951485.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 1) village3 maincave - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 333031.2 - -77890.09 - 4321252.0 - -13451169.0 - 4538566.5 - -13427408.0 - ) - '( - (the binteger 4) vi3 #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 289560.78 - -524288.0 - 4160078.2 - -13363984.0 - 4657438.0 - -13195000.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) mai #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 561218.0 - -20347.875 - 5015965.5 - -12265124.0 - 4969636.0 - -12062795.0 - ) - '( - (the binteger 3) robocave display - ) - '( - (the binteger 3) robocave #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 319289.8 - 97180.91 - 4060842.2 - -12186625.0 - 3956508.8 - -12221835.0 - ) - '( - (the binteger 3) darkcave display - ) - '( - (the binteger 3) darkcave #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 390797.47 - -106231.74 - 1625981.8 - -982050.1 - 1826157.5 - -984055.0 - 1963614.9 - -752705.06 - ) - '( - (the binteger 3) village1 special-vis - ) - '( - (the binteger 3) village1 display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 442784.28 - -39440.535 - 1899973.9 - -1546112.1 - 1741479.5 - -1291697.1 - 1490514.9 - -1133170.4 - ) - '( - (the binteger 3) village1 #f - ) - '( - (the binteger 3) village1 special-vis - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 449040.3 - -98105.81 - 1507840.9 - -1133057.6 - 1611146.1 - -1038699.56 - ) - '( - (the binteger 3) village1 #f - ) - '( - (the binteger 3) village1 display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 291779.53 - 185641.23 - -556363.7 - -6215175.0 - -677982.3 - -6112309.0 - -462479.25 - -5758803.0 - ) - '( - (the binteger 3) village2 special-vis - ) - '( - (the binteger 3) village2 #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 324244.66 - -524288.0 - -385887.97 - -7048725.0 - -652583.3 - -7045665.0 - ) - '( - (the binteger 3) village2 display - ) - '( - (the binteger 3) village2 special-vis - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 330785.0 - -783128.7 - 4214055.0 - -14490533.0 - 4245485.0 - -14027390.0 - 4509959.5 - -14260475.0 - 4466017.5 - -14619070.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 1) village3 snow - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 897222.0 - -455448.7 - 4214055.0 - -14490533.0 - 4286877.5 - -13964385.0 - 4509959.5 - -14260475.0 - 4466017.5 - -14619070.0 - ) - '( - (the binteger 3) snow #f - ) - '( - (the binteger 3) snow display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 401275.84 - -524288.0 - 3809930.2 - -13126660.0 - 4387680.5 - -12726350.0 - 4965741.5 - -12733760.0 - ) - '( - (the binteger 1) village3 maincave - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 319289.8 - 97180.91 - 4037056.5 - -12145660.0 - 3932723.0 - -12180870.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) mai #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 319289.8 - 97180.91 - 3967407.0 - -12047450.0 - 3919676.8 - -12152098.0 - ) - '( - (the binteger 4) dar #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 415367.12 - -20612.129 - 1473631.5 - -1157821.2 - 1414393.4 - -1193464.1 - 1354583.2 - -1238710.8 - 1291658.0 - -1325844.0 - 1151230.6 - -1642343.9 - ) - '( - (the binteger 3) village1 display - ) - '( - (the binteger 3) village1 special-vis - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 194295.77 - -524288.0 - 1993232.0 - -7776360.5 - 1646617.0 - -7919841.0 - 1546310.5 - -7956902.0 - 1497602.9 - -8055146.5 - 1350810.2 - -7725342.0 - ) - '( - (the binteger 3) village2 display - ) - '( - (the binteger 3) village2 special-vis - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1275705.8 - 885660.7 - 4210123.5 - -14454620.0 - 4252965.5 - -14048015.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) sno #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 361505.03 - 141642.4 - 5145395.0 - -14585060.0 - 4969281.0 - -14637079.0 - ) - '( - (the binteger 3) lavatube #f - ) - '( - (the binteger 3) lavatube display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 361505.03 - 141642.4 - 5192246.0 - -14612985.0 - 4946641.5 - -14744985.0 - ) - '( - (the binteger 4) vi3 #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 361505.03 - 141642.4 - 5280860.0 - -14529410.0 - 5363850.0 - -14811145.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) lav #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 320479.0 - -64214.67 - 6465568.5 - -14156115.0 - 6450754.5 - -13712894.0 - ) - '( - (the binteger 3) village3 #f - ) - '( - (the binteger 3) village3 display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 389780.5 - 201622.14 - 4218813.0 - -14413355.0 - 4331064.0 - -14524060.0 - ) - '( - (the binteger 1) village3 maincave - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1170068.4 - 988919.7 - 2574083.2 - -13973545.0 - 2427817.5 - -13884534.0 - ) - '( - (the binteger 6) "snow-across-from-flut" #f - ) - '( - (the binteger 6) "snow-flut-flut" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 3) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 810280.2 - -196608.0 - 3324084.2 - -13758485.0 - 3324084.2 - -13553685.0 - 3528884.2 - -13553685.0 - 3528884.2 - -13758485.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "snow-outside-fort" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 303302.1 - -28407.746 - 1482670.0 - -13217540.0 - 1703776.4 - -13157055.0 - ) - '( - (the binteger 1) ogre village3 - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -194295.75 - 11067174.0 - -18596720.0 - 11019460.0 - -18143272.0 - ) - '( - (the binteger 3) citadel display - ) - '( - (the binteger 3) citadel #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -194295.75 - 11220495.0 - -18577436.0 - 11172783.0 - -18123988.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) lav #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -424794.84 - 11261218.0 - -18621614.0 - 11616860.0 - -18607858.0 - ) - '( - (the binteger 4) cit #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 532744.06 - 222822.31 - 10045198.0 - -16826564.0 - 10052340.0 - -16500909.0 - ) - '( - (the binteger 1) lavatube citadel - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 30786.04 - -568353.0 - 10853810.0 - -19982956.0 - 10857980.0 - -18851744.0 - 11800185.0 - -18657540.0 - 12119948.0 - -19841458.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 1) citadel finalboss - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - -37128.273 - -568353.0 - 10635460.0 - -19261390.0 - 10641390.0 - -18641098.0 - 11673320.0 - -18631850.0 - 11992955.0 - -19068516.0 - ) - '( - (the binteger 1) citadel lavatube - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 739722.7 - -524288.0 - 11253410.0 - -19459740.0 - 11298895.0 - -19163528.0 - 11606400.0 - -19156774.0 - 11646273.0 - -19462514.0 - ) - '( - (the binteger 4) cit #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 1552977.4 - -524288.0 - 11253410.0 - -19459740.0 - 11298895.0 - -19163528.0 - 11606400.0 - -19156774.0 - 11646273.0 - -19462514.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 4) fin #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -432061.9 - -714884.06 - 2624020.8 - -7238923.5 - 2730103.5 - -7108117.5 - ) - '( - (the binteger 6) "sunken-tube1" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 237131.75 - 116405.63 - 4134430.0 - -12531289.0 - 4249137.0 - -12480849.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "maincave-to-darkcave" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 108378.74 - -18630.201 - 1381972.9 - -8272129.5 - 1309181.4 - -8143856.5 - ) - '( - (the binteger 6) "swamp-dock1" #f - ) - '( - (the binteger 6) "swamp-start" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 164632.73 - -17573.172 - 1651940.5 - -8481208.0 - 1575238.2 - -8380055.5 - ) - '( - (the binteger 6) "swamp-dock2" #f - ) - '( - (the binteger 6) "swamp-cave1" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 321734.22 - 33164.38 - 1472616.8 - -5741056.5 - 1161522.8 - -5738810.0 - ) - '( - (the binteger 6) "firecanyon-end" #f - ) - '( - (the binteger 6) "firecanyon-end" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 339769.8 - -46839.75 - -211696.3 - -784710.75 - 49935.15 - -742140.3 - ) - '( - (the binteger 6) "firecanyon-start" #f - ) - '( - (the binteger 6) "firecanyon-start" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 482151.97 - 69896.25 - 869008.6 - -8462477.0 - 644078.75 - -8259235.5 - ) - '( - (the binteger 6) "ogre-race" #f - ) - '( - (the binteger 6) "ogre-race" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 322923.34 - 4096.0 - 5678575.5 - -14614474.0 - 5457999.0 - -14391688.0 - ) - '( - (the binteger 6) "lavatube-start" #f - ) - '( - (the binteger 6) "lavatube-start" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 178704.39 - -135168.0 - 8996384.0 - -14239175.0 - 9096633.0 - -13873403.0 - ) - '( - (the binteger 6) "lavatube-middle" #f - ) - '( - (the binteger 6) "lavatube-middle" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 247477.67 - -148711.25 - 5555559.5 - -11770044.0 - 5324678.0 - -11402115.0 - ) - '( - (the binteger 6) "robocave-bottom" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - -451749.12 - -610039.7 - 3050601.8 - -6609894.0 - 2987056.5 - -6462185.5 - ) - '( - (the binteger 1) sunken sunkenb - ) - '( - (the binteger 1) sunken village2 - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 66328.8 - -101805.46 - 11021305.0 - -19546492.0 - 10991630.0 - -19494320.0 - ) - '( - (the binteger 6) "citadel-launch-end" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 87535.54 - -29596.91 - 11275635.0 - -19680194.0 - 11230883.0 - -19653924.0 - ) - '( - (the binteger 6) "citadel-plat-end" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 60515.062 - -64214.72 - 11902198.0 - -19492924.0 - 11856455.0 - -19580640.0 - ) - '( - (the binteger 6) "citadel-generator-end" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1064497.0 - 893654.6 - 3369717.2 - -13470538.0 - 3489005.0 - -13470209.0 - ) - '( - (the binteger 6) "snow-outside-fort" #f - ) - '( - (the binteger 6) "snow-fort" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 276440.2 - -524288.0 - -1054117.4 - -7015874.0 - -1180891.2 - -6733353.5 - -911788.4 - -6482925.0 - ) - '( - (the binteger 3) village2 special-vis - ) - '( - (the binteger 3) village2 #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 263663.44 - 1585.5251 - -677970.94 - -6693857.0 - -802274.3 - -6692809.0 - ) - '( - (the binteger 3) village2 #f - ) - '( - (the binteger 3) village2 special-vis - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 363883.3 - -524288.0 - 710516.0 - -605717.3 - 777812.4 - -117024.52 - ) - '( - (the binteger 3) jungle display - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 524288.0 - -524288.0 - 719872.1 - -6597869.0 - 1159159.1 - -6425164.5 - 1041836.25 - -6827792.0 - ) - '( - (the binteger 3) rolling display - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 524288.0 - -524288.0 - 568817.3 - -9466220.0 - 1127492.5 - -9043683.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 1) ogre village2 - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 12 :allocated-length 12 - 408146.53 - -227129.81 - 5624547.0 - -11755375.0 - 5604783.5 - -11539414.0 - 5326020.0 - -11550233.0 - 5180106.5 - -11499346.0 - 5148654.0 - -11322573.0 - ) - '( - (the binteger 3) maincave special - ) - '( - (the binteger 3) maincave display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 294119.2 - 213916.9 - 11495250.0 - -19186980.0 - 11398090.0 - -19190674.0 - ) - '( - (the binteger 3) finalboss #f - ) - '( - (the binteger 3) finalboss display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 1470264.6 - -524288.0 - 11253410.0 - -19459740.0 - 11298895.0 - -19163528.0 - 11606400.0 - -19156774.0 - 11646273.0 - -19462514.0 - ) - '( - (the binteger 3) citadel display - ) - '( - (the binteger 3) citadel special - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 104778.336 - -424794.84 - 11249043.0 - -18841486.0 - 11604685.0 - -18827730.0 - ) - '( - (the binteger 6) "citadel-start" #f - ) - '( - (the binteger 6) "citadel-start" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 1094292.4 - 858838.25 - 3677046.8 - -13838594.0 - 3773559.8 - -13867715.0 - 3837479.8 - -13675041.0 - 3663758.2 - -13804749.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "snow-pass-to-fort" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1220937.6 - 1035428.9 - 2930553.2 - -14107145.0 - 3128871.8 - -14038774.0 - ) - '( - (the binteger 6) "snow-by-ice-lake-alt" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 1051944.6 - 888765.56 - 3366128.0 - -13638805.0 - 3362401.8 - -13489235.0 - ) - '( - (the binteger 6) "snow-outside-fort" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 524288.0 - -524288.0 - 1123579.9 - -6421303.0 - 1006257.0 - -6823930.5 - ) - '( - (the binteger 6) "village2-start" #f - ) - '( - (the binteger 6) "village2-dock" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 1) - (new - 'static - 'boxed-array - :type float :length 10 :allocated-length 10 - 742498.56 - -727105.9 - 4214055.0 - -14490533.0 - 4286877.5 - -13964385.0 - 4509959.5 - -14260475.0 - 4466017.5 - -14619070.0 - ) - '( - (the binteger 4) vi3 #f - ) - '( - (the binteger 3) snow display - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 318034.56 - 119907.06 - 4952800.5 - -14636175.0 - 5113453.5 - -14560723.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "village3-farside" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 383504.6 - 120699.85 - 4445610.0 - -14468618.0 - 4343087.0 - -14334280.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "village3-farside" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 302707.6 - 144615.2 - 4420238.5 - -13645623.0 - 4595041.0 - -13553850.0 - ) - '( - (the binteger 6) "village3-farside" #f - ) - '( - 0 #f #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - (the binteger 2) - (new - 'static - 'boxed-array - :type float :length 6 :allocated-length 6 - 335938.0 - 140849.53 - 4397294.5 - -14125599.0 - 4545135.5 - -14064108.0 - ) - '( - 0 #f #f - ) - '( - (the binteger 6) "village3-start" #f - ) - ) - (new - 'static - 'boxed-array - :type object :length 4 :allocated-length 4 - 0 - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 404182.75 - -524288.0 - 4161991.8 - -13086341.0 - 4414040.5 - -12784800.0 - 4706984.5 - -13037610.0 - ) - '( - (the binteger 6) "maincave-start" #f - ) - '( - 0 #f #f - ) - ) - ) - ) +(define *static-load-boundary-list* (new + 'static + 'boxed-array + :type array :length 168 :allocated-length 168 + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 2404087.0 + 1792990.9 + 11801113.0 + -19782276.0 + 12074740.0 + -19333410.0 + ) + '((the binteger 6) "finalboss-fight" #f) + '((the binteger 6) "finalboss-start" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 980265.2 + 890780.8 + 3118024.0 + -13706895.0 + 3079293.0 + -13672758.0 + ) + '(0 #f #f) + '((the binteger 6) "snow-outside-cave" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 1050557.6 + 904951.44 + 3464265.8 + -13649148.0 + 3491810.2 + -13487760.0 + ) + '(0 #f #f) + '((the binteger 6) "snow-outside-fort" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 1161083.5 + 1033513.1 + 3172378.2 + -14293381.0 + 3169853.0 + -14196348.0 + ) + '(0 #f #f) + '((the binteger 6) "snow-by-ice-lake" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 155912.27 + -524288.0 + -302473.8 + -358921.62 + -189703.34 + -88103.32 + -213883.9 + -45797.734 + -569183.0 + -33546.773 + ) + '((the binteger 3) beach display) + '((the binteger 3) beach display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 164302.47 + -304623.5 + 11519060.0 + -18551140.0 + 11449090.0 + -18346224.0 + 11380415.0 + -18514332.0 + ) + '((the binteger 6) "citadel-entrance" #f) + '((the binteger 6) "citadel-entrance" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 272053.7 + -655558.1 + 4808600.0 + -12651164.0 + 4530877.0 + -12508498.0 + ) + '((the binteger 6) "maincave-to-robocave" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 171371.14 + -524288.0 + -676129.1 + -6924696.0 + -680121.3 + -6757647.5 + ) + '((the binteger 3) village2 display) + '((the binteger 3) village2 special-vis) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 36361.89 + -36137.29 + 12126351.0 + -19001848.0 + 12122353.0 + -18877466.0 + ) + '((the binteger 6) "citadel-generator-start" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + -198.1726 + -146531.1 + 11416193.0 + -19794980.0 + 11485550.0 + -19797886.0 + ) + '((the binteger 6) "citadel-plat-start" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 39044.12 + -141510.19 + 10894763.0 + -18893140.0 + 10898940.0 + -18972940.0 + ) + '((the binteger 6) "citadel-launch-start" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 376514.56 + -524288.0 + 418480.47 + -2126829.2 + 768319.25 + -2135490.8 + ) + '((the binteger 3) village1 #f) + '((the binteger 3) village1 display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 326689.0 + -524288.0 + 143748.83 + -3601507.8 + 179947.44 + -3912510.8 + ) + '(0 #f #f) + '((the binteger 1) firecanyon village1) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 524288.0 + 265248.94 + 10092448.0 + -16790240.0 + 10078353.0 + -16477023.0 + ) + '((the binteger 6) "lavatube-after-ribbon" #f) + '((the binteger 6) "lavatube-after-ribbon" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 104778.336 + -257783.72 + 11326069.0 + -18525588.0 + 11278355.0 + -18072140.0 + ) + '((the binteger 6) "lavatube-end" #f) + '((the binteger 6) "lavatube-end" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 290551.75 + -524288.0 + 4047454.5 + -14186495.0 + 3804332.0 + -13805874.0 + ) + '((the binteger 6) "ogre-end" #f) + '((the binteger 6) "ogre-end" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 275555.12 + -524288.0 + 927462.1 + -7305133.0 + 763242.75 + -7308856.5 + ) + '((the binteger 3) village2 display) + '((the binteger 3) village2 special-vis) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + -28209.512 + -524288.0 + 4869388.0 + -12242570.0 + 4850643.0 + -12138500.0 + 4982147.0 + -12130348.0 + 5004734.0 + -12257655.0 + ) + '((the binteger 3) maincave #f) + '((the binteger 3) maincave display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 28870.227 + -524288.0 + 4869388.0 + -12242570.0 + 4850643.0 + -12138500.0 + 4982147.0 + -12130348.0 + 5004734.0 + -12257655.0 + ) + '(0 #f #f) + '((the binteger 4) mai #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + -35278.418 + -524288.0 + 4869388.0 + -12242570.0 + 4850643.0 + -12138500.0 + 4982147.0 + -12130348.0 + 5004734.0 + -12257655.0 + ) + '((the binteger 4) rob #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + -6276.127 + -424794.84 + 10794323.0 + -19184136.0 + 11542925.0 + -19117040.0 + 11854880.0 + -18949898.0 + ) + '(0 #f #f) + '((the binteger 1) citadel lavatube) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 104778.336 + -424794.84 + 11251180.0 + -18687074.0 + 11606826.0 + -18673318.0 + ) + '((the binteger 3) lavatube #f) + '((the binteger 3) lavatube display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 275554.94 + 103589.16 + 769670.25 + -8183583.5 + 945858.75 + -8171829.5 + ) + '((the binteger 6) "ogre-race" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 145672.28 + -274960.53 + 9277345.0 + -14277290.0 + 9266303.0 + -13929350.0 + ) + '(0 #f #f) + '((the binteger 1) village3 lavatube) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 361505.03 + 141642.4 + 5280860.0 + -14529410.0 + 5363850.0 + -14811145.0 + ) + '(0 #f #f) + '((the binteger 4) lav #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 361505.03 + 141642.4 + 5145395.0 + -14585060.0 + 4969281.0 + -14637079.0 + ) + '((the binteger 3) lavatube #f) + '((the binteger 3) lavatube display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 329926.2 + 114555.875 + 4630288.0 + -14662835.0 + 4776346.0 + -14281154.0 + 5078574.5 + -14217605.0 + ) + '((the binteger 1) village3 lavatube) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 107354.85 + -647564.3 + -279364.62 + 131636.45 + -270673.44 + 160221.88 + ) + '((the binteger 3) beach #f) + '((the binteger 3) beach display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 404182.75 + -524288.0 + 4167032.0 + -13159265.0 + 4419089.0 + -12857725.0 + 4712033.0 + -13110535.0 + ) + '((the binteger 3) village3 display) + '((the binteger 3) village3 #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 561218.0 + -22197.672 + 5192028.0 + -12126635.0 + 4954258.5 + -11802688.0 + ) + '((the binteger 4) rob #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 561218.0 + -15459.172 + 5076681.0 + -12251444.0 + 4974694.0 + -12024020.0 + ) + '(0 #f #f) + '((the binteger 4) mai #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 297752.7 + -524288.0 + 53651.58 + -6363675.5 + 58039.688 + -6204528.0 + ) + '((the binteger 3) village2 special-vis) + '((the binteger 3) village2 #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 296695.72 + -524288.0 + -590053.06 + -6197793.0 + 39494.13 + -6504359.5 + ) + '((the binteger 3) village2 display) + '((the binteger 3) village2 special-vis) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 334675.1 + 183791.47 + -655431.8 + -7037484.5 + -667642.5 + -6660005.5 + ) + '((the binteger 3) village2 display) + '((the binteger 3) village2 special-vis) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 380333.4 + -40101.156 + 1818615.8 + -1094335.5 + 1622619.2 + -978791.7 + ) + '((the binteger 3) village1 special-vis) + '((the binteger 3) village1 #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 22 :allocated-length 22 + 401929.88 + -524288.0 + -363218.53 + -2089629.0 + -558766.7 + -1816698.6 + -769622.8 + -2043451.9 + -816882.1 + -2051455.1 + -950145.6 + -2013974.5 + -967790.6 + -1907695.0 + -1064691.2 + -1966847.9 + -1147540.0 + -1944348.2 + -1243268.9 + -2202510.2 + -1249669.5 + -2319393.8 + ) + '((the binteger 3) village1 display) + '((the binteger 3) village1 special-vis) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 285200.53 + -524288.0 + 4042240.5 + -12645708.0 + 4297681.5 + -12507810.0 + ) + '(0 #f #f) + '((the binteger 1) maincave darkcave) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 272053.7 + -655558.1 + 4806917.0 + -12655241.0 + 4529194.0 + -12512575.0 + ) + '((the binteger 1) maincave robocave) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 350009.84 + -524288.0 + 4421414.0 + -13636154.0 + 4589708.5 + -13556925.0 + ) + '((the binteger 3) maincave #f) + '((the binteger 3) maincave display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + -1761940.5 + -1946392.4 + 2518956.8 + -7372510.5 + 2450104.8 + -7215005.0 + ) + '(0 #f #f) + '((the binteger 6) "sunkenb-helix" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 330190.47 + -524288.0 + 4536550.0 + -13960169.0 + 4678894.0 + -14351620.0 + 4428100.5 + -14425283.0 + 4353558.0 + -14051260.0 + ) + '((the binteger 1) village3 ogre) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 253886.0 + -524288.0 + 4168931.0 + -14104075.0 + 4117809.5 + -13471865.0 + ) + '((the binteger 4) vi3 #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 290551.75 + -524288.0 + 4130630.2 + -14104385.0 + 3887507.8 + -13723764.0 + ) + '(0 #f #f) + '((the binteger 4) ogr #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 3) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + -632567.56 + -576346.5 + 2344408.2 + -7388373.0 + 2348460.5 + -7279539.0 + 2466947.8 + -7247920.5 + 2439049.2 + -7385641.0 + ) + '(0 #f #f) + '((the binteger 4) sun #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + -467010.03 + -701076.44 + 3209649.0 + -6960872.0 + 3057429.0 + -6862769.0 + ) + '((the binteger 6) "sunken1" #f) + '((the binteger 6) "sunken2" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + -512925.12 + -681521.44 + 2371019.5 + -6795812.0 + 2389408.2 + -6532305.5 + ) + '((the binteger 3) village2 #f) + '((the binteger 3) village2 display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 110684.67 + -524288.0 + 1839143.8 + -7520194.5 + 1840360.8 + -7670893.0 + 1846512.6 + -7685321.0 + ) + '((the binteger 6) "swamp-start" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 95661.45 + -524288.0 + 2672740.5 + -8278830.0 + 2639106.8 + -8402343.0 + ) + '((the binteger 6) "swamp-game" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 112904.26 + -524288.0 + 1486306.8 + -8266304.5 + 1610530.4 + -8198038.0 + ) + '((the binteger 6) "swamp-cave1" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 164830.97 + -524288.0 + -419912.5 + 3042100.0 + -133547.3 + 3439924.0 + -102430.38 + 3661115.2 + 428069.8 + 3364700.5 + ) + '((the binteger 6) "misty-start" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 12 :allocated-length 12 + 321007.44 + -524288.0 + -907311.4 + 3456990.5 + -757819.7 + 3679705.0 + -638801.4 + 3763613.2 + -573459.2 + 3651802.5 + -883808.56 + 3444019.2 + ) + '((the binteger 6) "misty-silo" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + -91155.664 + -524288.0 + 2079358.8 + -6774793.5 + 2079358.8 + -6569993.5 + 2284159.5 + -6569993.5 + 2284159.5 + -6774793.5 + ) + '(0 #f #f) + '((the binteger 4) vi2 #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + -176048.66 + -524288.0 + 2079358.8 + -6774793.5 + 2079358.8 + -6569993.5 + 2284159.5 + -6569993.5 + 2284159.5 + -6774793.5 + ) + '((the binteger 4) sun #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 263068.94 + -524288.0 + 1947299.0 + -7277401.0 + 1663485.5 + -7296843.5 + ) + '((the binteger 4) vi2 #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 240937.31 + -524288.0 + 1655335.4 + -7355865.0 + 1914029.8 + -7344404.5 + ) + '((the binteger 4) swa #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 192776.28 + -524288.0 + 1720459.0 + -7252616.5 + 1888000.6 + -7230796.5 + ) + '((the binteger 3) swamp display) + '((the binteger 3) swamp #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 524288.0 + -524288.0 + 1543607.5 + -7296055.0 + 1536684.1 + -6977798.0 + 1589661.2 + -6897839.0 + 1929451.4 + -7131590.5 + ) + '((the binteger 1) village2 swamp) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 524288.0 + -524288.0 + 474877.1 + -6501738.5 + 641064.94 + -6682781.0 + 774879.44 + -6780504.5 + ) + '((the binteger 4) rol #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 524288.0 + -524288.0 + 836810.7 + -6707271.0 + 673225.56 + -6637296.5 + 468429.44 + -6424190.5 + ) + '((the binteger 4) vi2 #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 388789.16 + -524288.0 + -137499.97 + -464508.47 + -239475.86 + -332696.8 + ) + '((the binteger 4) vi1 #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 18 :allocated-length 18 + 152569.25 + -524288.0 + -177363.28 + -182574.97 + -107676.53 + -61124.004 + -172878.95 + 81598.42 + -327656.6 + 227590.64 + -406536.56 + 216199.72 + -485581.56 + 261065.92 + -515573.0 + 191171.4 + -1338912.4 + 229231.64 + ) + '((the binteger 3) beach #f) + '((the binteger 3) beach display-no-wait) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 272530.25 + -524288.0 + -249675.55 + -391214.2 + -130347.68 + -500937.6 + ) + '((the binteger 3) firecanyon display) + '((the binteger 3) firecanyon #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 18 :allocated-length 18 + -87713.6 + -524288.0 + 1090401.8 + -1274678.5 + 1058803.0 + -1235478.5 + 1060181.1 + -1193262.0 + 1117220.8 + -1154488.0 + 1164595.1 + -1185104.8 + 1176762.0 + -1210675.4 + 1173468.1 + -1244727.8 + 1125869.1 + -1275753.6 + ) + '(0 #f #f) + '((the binteger 4) jun #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 301122.1 + -524288.0 + 1525182.5 + 2034822.6 + 842849.06 + -804235.94 + ) + '((the binteger 4) vi1 #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 325169.56 + -524288.0 + 894672.4 + -779382.3 + 1767576.5 + 1188691.0 + ) + '((the binteger 4) jun #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 326953.3 + -524288.0 + 81844.7 + -727707.5 + 15797.286 + 118401.266 + 414386.16 + 120639.44 + 1232901.1 + 1021193.6 + ) + '((the binteger 1) village1 jungle) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 166814.4 + -524288.0 + 401796.53 + -610932.7 + 350019.12 + -489639.75 + 470693.25 + -460100.72 + ) + '((the binteger 3) jungle display-no-wait) + '((the binteger 3) jungle #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 3) + (new + 'static + 'boxed-array + :type float :length 18 :allocated-length 18 + 375701.16 + -524288.0 + 1453916.1 + -987016.2 + 1461937.5 + -967184.75 + 1482761.0 + -957298.8 + 1505932.0 + -966185.4 + 1514189.1 + -989654.4 + 1503102.1 + -1010133.7 + 1481864.2 + -1017569.2 + 1464112.8 + -1010652.75 + ) + '((the binteger 1) jungle jungleb) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 322236.66 + -524288.0 + -140670.9 + -353851.75 + 6646.948 + -375187.7 + -4327.104 + -433914.72 + ) + '((the binteger 1) village1 firecanyon) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 12 :allocated-length 12 + 168425.08 + -524288.0 + -201897.2 + -213989.42 + -71567.484 + -81526.12 + -112773.18 + 78722.41 + -115380.56 + 447390.62 + -241892.22 + 711968.75 + ) + '(0 #f #f) + '((the binteger 1) village1 beach) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 524288.0 + -524288.0 + 420024.44 + -4814527.0 + 420024.44 + -4609727.0 + ) + '((the binteger 3) village2 display) + '((the binteger 3) village2 #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 388393.3 + -524288.0 + -261189.34 + -3825337.5 + -50913.258 + -4000428.0 + ) + '((the binteger 1) village2 firecanyon) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 388789.16 + -524288.0 + -269444.6 + -496662.28 + -126883.84 + -507940.1 + ) + '((the binteger 4) fic #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 332899.12 + -524288.0 + -1124255.8 + -298838.28 + -351702.84 + -248529.5 + ) + '((the binteger 4) bea #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 332899.12 + -524288.0 + -1208873.8 + -81858.37 + -319884.62 + -196373.8 + ) + '(0 #f #f) + '((the binteger 4) vi1 #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 335013.2 + -524288.0 + 1300341.5 + -6072380.5 + 1543875.5 + -6043701.0 + ) + '((the binteger 4) vi2 #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 370820.16 + -524288.0 + 1400421.9 + -5994967.5 + 1298001.9 + -5991312.0 + ) + '((the binteger 4) fic #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 14 :allocated-length 14 + 313079.75 + -524288.0 + 823858.3 + -7076852.5 + 1476263.1 + -6966768.0 + 1548741.4 + -6505285.5 + 1380369.1 + -6357914.0 + 1125477.6 + -6285041.0 + 1188517.2 + -6036264.5 + ) + '(0 #f #f) + '((the binteger 1) village2 rolling) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 12 :allocated-length 12 + 233141.69 + -524288.0 + 742218.2 + -6802828.0 + 1334365.1 + -6818752.0 + 1357111.0 + -6436508.0 + 1047644.1 + -6334948.5 + 643162.44 + -6208203.0 + ) + '((the binteger 3) rolling #f) + '((the binteger 3) rolling display-no-wait) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 431070.97 + -524288.0 + 974018.4 + -7117512.5 + 1070822.5 + -7081258.0 + 1526121.6 + -7123133.0 + 1541163.8 + -7418157.0 + ) + '((the binteger 1) village2 ogre) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 396387.06 + 57211.875 + 1213439.8 + -7288315.5 + 1227811.9 + -7079770.5 + 912550.5 + -7099027.5 + ) + '((the binteger 3) ogre #f) + '((the binteger 3) ogre display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 336796.9 + -524288.0 + 825355.2 + -7235151.5 + 920252.2 + -7300986.5 + ) + '((the binteger 4) ogr #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 292930.06 + -524288.0 + 998340.94 + -7272782.5 + 934710.06 + -7195729.5 + ) + '((the binteger 4) vi2 #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 524288.0 + -168464.31 + 1927868.4 + -7085362.5 + 1605545.0 + -6870818.5 + 1615227.8 + -6471577.5 + 2177376.0 + -6131660.5 + ) + '((the binteger 1) village2 sunken) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 360646.25 + -187424.25 + 2042524.0 + -7300480.5 + 1824194.5 + -6847887.0 + 1852328.8 + -6568462.5 + 2270167.8 + -6228972.5 + ) + '((the binteger 3) sunken special) + '((the binteger 3) sunken #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 3) + (new + 'static + 'boxed-array + :type float :length 18 :allocated-length 18 + 126432.83 + -524288.0 + 1453916.1 + -987016.2 + 1461937.5 + -967184.75 + 1482761.0 + -957298.8 + 1505932.0 + -966185.4 + 1514189.1 + -989654.4 + 1503102.1 + -1010133.7 + 1481864.2 + -1017569.2 + 1464112.8 + -1010652.75 + ) + '((the binteger 3) jungleb display) + '((the binteger 3) jungleb #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 3) + (new + 'static + 'boxed-array + :type float :length 18 :allocated-length 18 + 74968.55 + -616976.44 + 1453916.1 + -987016.2 + 1461937.5 + -967184.75 + 1482761.0 + -957298.8 + 1505932.0 + -966185.4 + 1514189.1 + -989654.4 + 1503102.1 + -1010133.7 + 1481864.2 + -1017569.2 + 1464112.8 + -1010652.75 + ) + '((the binteger 4) jub #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 137771.25 + -524288.0 + 404573.2 + 4098422.0 + 236215.77 + 4114074.5 + ) + '((the binteger 6) "misty-bike" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 145077.7 + -524288.0 + -376094.4 + 4543663.0 + -376094.4 + 4748463.0 + ) + '((the binteger 6) "misty-backside" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 255537.56 + -524288.0 + -1005929.1 + 4193984.0 + -872937.2 + 4300299.0 + -756972.8 + 4208626.0 + -1025873.2 + 4087144.5 + ) + '((the binteger 6) "misty-silo2" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 99096.8 + -524288.0 + 1975605.4 + -8630552.0 + 1975421.4 + -8528661.0 + ) + '((the binteger 6) "swamp-cave2" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 141113.8 + -524288.0 + 1980493.5 + -7897138.0 + 2047652.4 + -7873304.0 + 2060152.6 + -7931657.5 + 1993817.2 + -7976457.0 + ) + '((the binteger 6) "swamp-cave3" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 12 :allocated-length 12 + 262804.7 + -524288.0 + 2140291.2 + -6096639.0 + 1590722.8 + -6463647.0 + 1413458.0 + -6340959.0 + 1149150.8 + -6278411.0 + 1219588.5 + -6039556.5 + ) + '((the binteger 1) firecanyon village2) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 206253.42 + -524288.0 + 1430296.9 + -5984384.0 + 1438999.2 + -6119296.0 + 1420048.6 + -6125594.0 + ) + '((the binteger 3) firecanyon display) + '((the binteger 3) firecanyon #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + -432061.9 + -714884.06 + 2715718.5 + -7342267.0 + 2815001.5 + -7150704.5 + ) + '((the binteger 3) sunkenb display) + '((the binteger 3) sunkenb #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + -899402.06 + -1098784.5 + 2282077.5 + -6677879.5 + 2080828.8 + -6613302.0 + ) + '((the binteger 4) sun #f) + '((the binteger 4) sub #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + -451749.12 + -610039.7 + 3063970.5 + -6604280.5 + 3000425.2 + -6456572.0 + ) + '((the binteger 6) "sunken1" #f) + '((the binteger 6) "sunken-start" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 3) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + -626555.75 + -524288.0 + 2344408.2 + -7388373.0 + 2348460.5 + -7279539.0 + 2466947.8 + -7247920.5 + 2439049.2 + -7385641.0 + ) + '(0 #f #f) + '((the binteger 6) "sunken2" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 198788.14 + -524288.0 + 2287878.0 + -13944549.0 + 2434369.8 + -13646915.0 + ) + '((the binteger 3) village3 display) + '((the binteger 3) village3 #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 355162.84 + -524288.0 + 4346461.0 + -14010600.0 + 4474615.5 + -13949533.0 + ) + '((the binteger 3) ogre #f) + '((the binteger 3) ogre display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 331577.72 + -524288.0 + 4510445.5 + -13872985.0 + 4620850.5 + -14134173.0 + 4822450.0 + -13951485.0 + ) + '(0 #f #f) + '((the binteger 1) village3 maincave) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 333031.2 + -77890.09 + 4321252.0 + -13451169.0 + 4538566.5 + -13427408.0 + ) + '((the binteger 4) vi3 #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 289560.78 + -524288.0 + 4160078.2 + -13363984.0 + 4657438.0 + -13195000.0 + ) + '(0 #f #f) + '((the binteger 4) mai #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 561218.0 + -20347.875 + 5015965.5 + -12265124.0 + 4969636.0 + -12062795.0 + ) + '((the binteger 3) robocave display) + '((the binteger 3) robocave #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 319289.8 + 97180.91 + 4060842.2 + -12186625.0 + 3956508.8 + -12221835.0 + ) + '((the binteger 3) darkcave display) + '((the binteger 3) darkcave #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 390797.47 + -106231.74 + 1625981.8 + -982050.1 + 1826157.5 + -984055.0 + 1963614.9 + -752705.06 + ) + '((the binteger 3) village1 special-vis) + '((the binteger 3) village1 display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 442784.28 + -39440.535 + 1899973.9 + -1546112.1 + 1741479.5 + -1291697.1 + 1490514.9 + -1133170.4 + ) + '((the binteger 3) village1 #f) + '((the binteger 3) village1 special-vis) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 449040.3 + -98105.81 + 1507840.9 + -1133057.6 + 1611146.1 + -1038699.56 + ) + '((the binteger 3) village1 #f) + '((the binteger 3) village1 display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 291779.53 + 185641.23 + -556363.7 + -6215175.0 + -677982.3 + -6112309.0 + -462479.25 + -5758803.0 + ) + '((the binteger 3) village2 special-vis) + '((the binteger 3) village2 #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 324244.66 + -524288.0 + -385887.97 + -7048725.0 + -652583.3 + -7045665.0 + ) + '((the binteger 3) village2 display) + '((the binteger 3) village2 special-vis) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 330785.0 + -783128.7 + 4214055.0 + -14490533.0 + 4245485.0 + -14027390.0 + 4509959.5 + -14260475.0 + 4466017.5 + -14619070.0 + ) + '(0 #f #f) + '((the binteger 1) village3 snow) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 897222.0 + -455448.7 + 4214055.0 + -14490533.0 + 4286877.5 + -13964385.0 + 4509959.5 + -14260475.0 + 4466017.5 + -14619070.0 + ) + '((the binteger 3) snow #f) + '((the binteger 3) snow display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 401275.84 + -524288.0 + 3809930.2 + -13126660.0 + 4387680.5 + -12726350.0 + 4965741.5 + -12733760.0 + ) + '((the binteger 1) village3 maincave) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 319289.8 + 97180.91 + 4037056.5 + -12145660.0 + 3932723.0 + -12180870.0 + ) + '(0 #f #f) + '((the binteger 4) mai #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 319289.8 + 97180.91 + 3967407.0 + -12047450.0 + 3919676.8 + -12152098.0 + ) + '((the binteger 4) dar #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 12 :allocated-length 12 + 415367.12 + -20612.129 + 1473631.5 + -1157821.2 + 1414393.4 + -1193464.1 + 1354583.2 + -1238710.8 + 1291658.0 + -1325844.0 + 1151230.6 + -1642343.9 + ) + '((the binteger 3) village1 display) + '((the binteger 3) village1 special-vis) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 12 :allocated-length 12 + 194295.77 + -524288.0 + 1993232.0 + -7776360.5 + 1646617.0 + -7919841.0 + 1546310.5 + -7956902.0 + 1497602.9 + -8055146.5 + 1350810.2 + -7725342.0 + ) + '((the binteger 3) village2 display) + '((the binteger 3) village2 special-vis) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 1275705.8 + 885660.7 + 4210123.5 + -14454620.0 + 4252965.5 + -14048015.0 + ) + '(0 #f #f) + '((the binteger 4) sno #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 361505.03 + 141642.4 + 5145395.0 + -14585060.0 + 4969281.0 + -14637079.0 + ) + '((the binteger 3) lavatube #f) + '((the binteger 3) lavatube display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 361505.03 + 141642.4 + 5192246.0 + -14612985.0 + 4946641.5 + -14744985.0 + ) + '((the binteger 4) vi3 #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 361505.03 + 141642.4 + 5280860.0 + -14529410.0 + 5363850.0 + -14811145.0 + ) + '(0 #f #f) + '((the binteger 4) lav #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 320479.0 + -64214.67 + 6465568.5 + -14156115.0 + 6450754.5 + -13712894.0 + ) + '((the binteger 3) village3 #f) + '((the binteger 3) village3 display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 389780.5 + 201622.14 + 4218813.0 + -14413355.0 + 4331064.0 + -14524060.0 + ) + '((the binteger 1) village3 maincave) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 1170068.4 + 988919.7 + 2574083.2 + -13973545.0 + 2427817.5 + -13884534.0 + ) + '((the binteger 6) "snow-across-from-flut" #f) + '((the binteger 6) "snow-flut-flut" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 3) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 810280.2 + -196608.0 + 3324084.2 + -13758485.0 + 3324084.2 + -13553685.0 + 3528884.2 + -13553685.0 + 3528884.2 + -13758485.0 + ) + '(0 #f #f) + '((the binteger 6) "snow-outside-fort" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 303302.1 + -28407.746 + 1482670.0 + -13217540.0 + 1703776.4 + -13157055.0 + ) + '((the binteger 1) ogre village3) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 104778.336 + -194295.75 + 11067174.0 + -18596720.0 + 11019460.0 + -18143272.0 + ) + '((the binteger 3) citadel display) + '((the binteger 3) citadel #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 104778.336 + -194295.75 + 11220495.0 + -18577436.0 + 11172783.0 + -18123988.0 + ) + '(0 #f #f) + '((the binteger 4) lav #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 104778.336 + -424794.84 + 11261218.0 + -18621614.0 + 11616860.0 + -18607858.0 + ) + '((the binteger 4) cit #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 532744.06 + 222822.31 + 10045198.0 + -16826564.0 + 10052340.0 + -16500909.0 + ) + '((the binteger 1) lavatube citadel) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 30786.04 + -568353.0 + 10853810.0 + -19982956.0 + 10857980.0 + -18851744.0 + 11800185.0 + -18657540.0 + 12119948.0 + -19841458.0 + ) + '(0 #f #f) + '((the binteger 1) citadel finalboss) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + -37128.273 + -568353.0 + 10635460.0 + -19261390.0 + 10641390.0 + -18641098.0 + 11673320.0 + -18631850.0 + 11992955.0 + -19068516.0 + ) + '((the binteger 1) citadel lavatube) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 739722.7 + -524288.0 + 11253410.0 + -19459740.0 + 11298895.0 + -19163528.0 + 11606400.0 + -19156774.0 + 11646273.0 + -19462514.0 + ) + '((the binteger 4) cit #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 1552977.4 + -524288.0 + 11253410.0 + -19459740.0 + 11298895.0 + -19163528.0 + 11606400.0 + -19156774.0 + 11646273.0 + -19462514.0 + ) + '(0 #f #f) + '((the binteger 4) fin #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + -432061.9 + -714884.06 + 2624020.8 + -7238923.5 + 2730103.5 + -7108117.5 + ) + '((the binteger 6) "sunken-tube1" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 237131.75 + 116405.63 + 4134430.0 + -12531289.0 + 4249137.0 + -12480849.0 + ) + '(0 #f #f) + '((the binteger 6) "maincave-to-darkcave" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 108378.74 + -18630.201 + 1381972.9 + -8272129.5 + 1309181.4 + -8143856.5 + ) + '((the binteger 6) "swamp-dock1" #f) + '((the binteger 6) "swamp-start" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 164632.73 + -17573.172 + 1651940.5 + -8481208.0 + 1575238.2 + -8380055.5 + ) + '((the binteger 6) "swamp-dock2" #f) + '((the binteger 6) "swamp-cave1" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 321734.22 + 33164.38 + 1472616.8 + -5741056.5 + 1161522.8 + -5738810.0 + ) + '((the binteger 6) "firecanyon-end" #f) + '((the binteger 6) "firecanyon-end" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 339769.8 + -46839.75 + -211696.3 + -784710.75 + 49935.15 + -742140.3 + ) + '((the binteger 6) "firecanyon-start" #f) + '((the binteger 6) "firecanyon-start" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 482151.97 + 69896.25 + 869008.6 + -8462477.0 + 644078.75 + -8259235.5 + ) + '((the binteger 6) "ogre-race" #f) + '((the binteger 6) "ogre-race" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 322923.34 + 4096.0 + 5678575.5 + -14614474.0 + 5457999.0 + -14391688.0 + ) + '((the binteger 6) "lavatube-start" #f) + '((the binteger 6) "lavatube-start" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 178704.39 + -135168.0 + 8996384.0 + -14239175.0 + 9096633.0 + -13873403.0 + ) + '((the binteger 6) "lavatube-middle" #f) + '((the binteger 6) "lavatube-middle" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 247477.67 + -148711.25 + 5555559.5 + -11770044.0 + 5324678.0 + -11402115.0 + ) + '((the binteger 6) "robocave-bottom" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + -451749.12 + -610039.7 + 3050601.8 + -6609894.0 + 2987056.5 + -6462185.5 + ) + '((the binteger 1) sunken sunkenb) + '((the binteger 1) sunken village2) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 66328.8 + -101805.46 + 11021305.0 + -19546492.0 + 10991630.0 + -19494320.0 + ) + '((the binteger 6) "citadel-launch-end" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 87535.54 + -29596.91 + 11275635.0 + -19680194.0 + 11230883.0 + -19653924.0 + ) + '((the binteger 6) "citadel-plat-end" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 60515.062 + -64214.72 + 11902198.0 + -19492924.0 + 11856455.0 + -19580640.0 + ) + '((the binteger 6) "citadel-generator-end" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 1064497.0 + 893654.6 + 3369717.2 + -13470538.0 + 3489005.0 + -13470209.0 + ) + '((the binteger 6) "snow-outside-fort" #f) + '((the binteger 6) "snow-fort" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 276440.2 + -524288.0 + -1054117.4 + -7015874.0 + -1180891.2 + -6733353.5 + -911788.4 + -6482925.0 + ) + '((the binteger 3) village2 special-vis) + '((the binteger 3) village2 #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 263663.44 + 1585.5251 + -677970.94 + -6693857.0 + -802274.3 + -6692809.0 + ) + '((the binteger 3) village2 #f) + '((the binteger 3) village2 special-vis) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 363883.3 + -524288.0 + 710516.0 + -605717.3 + 777812.4 + -117024.52 + ) + '((the binteger 3) jungle display) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 524288.0 + -524288.0 + 719872.1 + -6597869.0 + 1159159.1 + -6425164.5 + 1041836.25 + -6827792.0 + ) + '((the binteger 3) rolling display) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 524288.0 + -524288.0 + 568817.3 + -9466220.0 + 1127492.5 + -9043683.0 + ) + '(0 #f #f) + '((the binteger 1) ogre village2) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 12 :allocated-length 12 + 408146.53 + -227129.81 + 5624547.0 + -11755375.0 + 5604783.5 + -11539414.0 + 5326020.0 + -11550233.0 + 5180106.5 + -11499346.0 + 5148654.0 + -11322573.0 + ) + '((the binteger 3) maincave special) + '((the binteger 3) maincave display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 294119.2 + 213916.9 + 11495250.0 + -19186980.0 + 11398090.0 + -19190674.0 + ) + '((the binteger 3) finalboss #f) + '((the binteger 3) finalboss display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 1470264.6 + -524288.0 + 11253410.0 + -19459740.0 + 11298895.0 + -19163528.0 + 11606400.0 + -19156774.0 + 11646273.0 + -19462514.0 + ) + '((the binteger 3) citadel display) + '((the binteger 3) citadel special) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 104778.336 + -424794.84 + 11249043.0 + -18841486.0 + 11604685.0 + -18827730.0 + ) + '((the binteger 6) "citadel-start" #f) + '((the binteger 6) "citadel-start" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 1094292.4 + 858838.25 + 3677046.8 + -13838594.0 + 3773559.8 + -13867715.0 + 3837479.8 + -13675041.0 + 3663758.2 + -13804749.0 + ) + '(0 #f #f) + '((the binteger 6) "snow-pass-to-fort" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 1220937.6 + 1035428.9 + 2930553.2 + -14107145.0 + 3128871.8 + -14038774.0 + ) + '((the binteger 6) "snow-by-ice-lake-alt" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 1051944.6 + 888765.56 + 3366128.0 + -13638805.0 + 3362401.8 + -13489235.0 + ) + '((the binteger 6) "snow-outside-fort" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 524288.0 + -524288.0 + 1123579.9 + -6421303.0 + 1006257.0 + -6823930.5 + ) + '((the binteger 6) "village2-start" #f) + '((the binteger 6) "village2-dock" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 1) + (new + 'static + 'boxed-array + :type float :length 10 :allocated-length 10 + 742498.56 + -727105.9 + 4214055.0 + -14490533.0 + 4286877.5 + -13964385.0 + 4509959.5 + -14260475.0 + 4466017.5 + -14619070.0 + ) + '((the binteger 4) vi3 #f) + '((the binteger 3) snow display) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 318034.56 + 119907.06 + 4952800.5 + -14636175.0 + 5113453.5 + -14560723.0 + ) + '(0 #f #f) + '((the binteger 6) "village3-farside" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 383504.6 + 120699.85 + 4445610.0 + -14468618.0 + 4343087.0 + -14334280.0 + ) + '(0 #f #f) + '((the binteger 6) "village3-farside" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 302707.6 + 144615.2 + 4420238.5 + -13645623.0 + 4595041.0 + -13553850.0 + ) + '((the binteger 6) "village3-farside" #f) + '(0 #f #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + (the binteger 2) + (new + 'static + 'boxed-array + :type float :length 6 :allocated-length 6 + 335938.0 + 140849.53 + 4397294.5 + -14125599.0 + 4545135.5 + -14064108.0 + ) + '(0 #f #f) + '((the binteger 6) "village3-start" #f) + ) + (new + 'static + 'boxed-array + :type object :length 4 :allocated-length 4 + 0 + (new + 'static + 'boxed-array + :type float :length 8 :allocated-length 8 + 404182.75 + -524288.0 + 4161991.8 + -13086341.0 + 4414040.5 + -12784800.0 + 4706984.5 + -13037610.0 + ) + '((the binteger 6) "maincave-start" #f) + '(0 #f #f) + ) + ) + ) ;; failed to figure out what this is: (let* ((gp-0 (-> *static-load-boundary-list* length)) - (s5-0 0) - (a0-1 (-> *static-load-boundary-list* s5-0)) - ) + (s5-0 0) + (a0-1 (-> *static-load-boundary-list* s5-0)) + ) (while (< s5-0 gp-0) - (load-boundary-from-template (the-as (array object) a0-1)) - (+! s5-0 1) - (set! a0-1 (-> *static-load-boundary-list* s5-0)) - ) + (load-boundary-from-template (the-as (array object) a0-1)) + (+! s5-0 1) + (set! a0-1 (-> *static-load-boundary-list* s5-0)) + ) ) diff --git a/test/decompiler/reference/engine/level/load-boundary-h_REF.gc b/test/decompiler/reference/engine/level/load-boundary-h_REF.gc index acbb6975ce..9f35413374 100644 --- a/test/decompiler/reference/engine/level/load-boundary-h_REF.gc +++ b/test/decompiler/reference/engine/level/load-boundary-h_REF.gc @@ -55,10 +55,7 @@ ) ;; definition for method 3 of type load-boundary-crossing-command -(defmethod - inspect - load-boundary-crossing-command - ((obj load-boundary-crossing-command)) +(defmethod inspect load-boundary-crossing-command ((obj load-boundary-crossing-command)) (format #t "[~8x] ~A~%" obj 'load-boundary-crossing-command) (format #t "~Tcmd: ~D~%" (-> obj cmd)) (format #t "~Tbparm[3] @ #x~X~%" (-> obj bparm)) @@ -105,16 +102,8 @@ (format #t "~Tbot-plane: ~f~%" (-> obj bot-plane)) (format #t "~Ttri-cnt: ~D~%" (-> obj tri-cnt)) (format #t "~Tnext: ~A~%" (-> obj next)) - (format - #t - "~Tcmd-fwd: #~%" - (-> obj cmd-fwd) - ) - (format - #t - "~Tcmd-bwd: #~%" - (-> obj cmd-bwd) - ) + (format #t "~Tcmd-fwd: #~%" (-> obj cmd-fwd)) + (format #t "~Tcmd-bwd: #~%" (-> obj cmd-bwd)) (format #t "~Trejector: #~%" (-> obj rejector)) (format #t "~Tdata[1] @ #x~X~%" (-> obj data)) obj @@ -128,58 +117,38 @@ ;; definition for method 0 of type load-boundary ;; Used lq/sq -(defmethod - new - load-boundary - ((allocation symbol) - (type-to-make type) - (arg0 int) - (arg1 symbol) - (arg2 symbol) - ) - (let - ((v0-0 - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* (+ arg0 -1) 16))) +(defmethod new load-boundary ((allocation symbol) (type-to-make type) (arg0 int) (arg1 symbol) (arg2 symbol)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) (* (+ arg0 -1) 16)))))) + (set! (-> v0-0 num-points) (the-as uint arg0)) + (cond + (arg1 + (set! (-> v0-0 flags) (load-boundary-flags closed)) + ) + (else + (set! (-> v0-0 flags) (load-boundary-flags)) + 0 + ) ) - ) + (set! (-> v0-0 top-plane) 524288.0) + (set! (-> v0-0 bot-plane) -524288.0) + (dotimes (v1-4 arg0) + (set! (-> v0-0 data v1-4 quad) (the-as uint128 0)) + (set! (-> v0-0 data v1-4 ix) (the-as uint v1-4)) + ) + (set! (-> v0-0 tri-cnt) 0) + (set-vector! (-> v0-0 rejector) 0.0 0.0 0.0 268435460.0) + (set! (-> v0-0 cmd-fwd cmd) (load-boundary-cmd invalid)) + (set! (-> v0-0 cmd-bwd cmd) (load-boundary-cmd invalid)) + (when arg2 + (set! (-> v0-0 next) *load-boundary-list*) + (set! *load-boundary-list* v0-0) + ) + (if (not arg2) + (set! (-> v0-0 next) #f) + ) + v0-0 ) - (set! (-> v0-0 num-points) (the-as uint arg0)) - (cond - (arg1 - (set! (-> v0-0 flags) (load-boundary-flags closed)) - ) - (else - (set! (-> v0-0 flags) (load-boundary-flags)) - 0 - ) - ) - (set! (-> v0-0 top-plane) 524288.0) - (set! (-> v0-0 bot-plane) -524288.0) - (dotimes (v1-4 arg0) - (set! (-> v0-0 data v1-4 quad) (the-as uint128 0)) - (set! (-> v0-0 data v1-4 ix) (the-as uint v1-4)) - ) - (set! (-> v0-0 tri-cnt) 0) - (set-vector! (-> v0-0 rejector) 0.0 0.0 0.0 268435460.0) - (set! (-> v0-0 cmd-fwd cmd) (load-boundary-cmd invalid)) - (set! (-> v0-0 cmd-bwd cmd) (load-boundary-cmd invalid)) - (when arg2 - (set! (-> v0-0 next) *load-boundary-list*) - (set! *load-boundary-list* v0-0) - ) - (if (not arg2) - (set! (-> v0-0 next) #f) - ) - v0-0 - ) ) ;; failed to figure out what this is: 0 - - - - diff --git a/test/decompiler/reference/engine/level/load-boundary_REF.gc b/test/decompiler/reference/engine/level/load-boundary_REF.gc index e09c3af302..54a8891f34 100644 --- a/test/decompiler/reference/engine/level/load-boundary_REF.gc +++ b/test/decompiler/reference/engine/level/load-boundary_REF.gc @@ -38,29 +38,24 @@ (let* ((v1-0 arg1) (a1-1 (the-as object (-> v1-0 base))) ) - (set! - (-> (the-as gs-gif-tag a1-1) tag) - (new 'static 'gif-tag64 :nloop #x1 :nreg #x5) + (set! (-> (the-as gs-gif-tag a1-1) tag) (new 'static 'gif-tag64 :nloop #x1 :nreg #x5)) + (set! (-> (the-as gs-gif-tag a1-1) regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + ) + ) + (set! (-> v1-0 base) (&+ (the-as pointer a1-1) 16)) ) - (set! - (-> (the-as gs-gif-tag a1-1) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - ) - ) - (set! (-> v1-0 base) (&+ (the-as pointer a1-1) 16)) - ) (let ((s5-0 (the-as adgif-shader (-> arg1 base)))) - (adgif-shader<-texture-simple! s5-0 (lookup-texture-by-id arg0)) - (set! (-> s5-0 alpha) (new 'static 'gs-miptbp :tbp1 #x44)) - (set! (-> s5-0 tex0 tfx) 0) - (set! (-> s5-0 tex1 mmag) 0) - (set! (-> s5-0 clamp) (new 'static 'gs-clamp)) - ) + (adgif-shader<-texture-simple! s5-0 (lookup-texture-by-id arg0)) + (set! (-> s5-0 alpha) (new 'static 'gs-miptbp :tbp1 #x44)) + (set! (-> s5-0 tex0 tfx) 0) + (set! (-> s5-0 tex1 mmag) 0) + (set! (-> s5-0 clamp) (new 'static 'gs-clamp)) + ) 0 (&+! (-> arg1 base) 80) (none) @@ -76,273 +71,260 @@ ;; ERROR: function was not converted to expressions. Cannot decompile. ;; definition for symbol *boundary-polygon*, type (inline-array lbvtx) -(define - *boundary-polygon* - (new 'static 'inline-array lbvtx 12 - (new 'static 'lbvtx) - (new 'static 'lbvtx) - (new 'static 'lbvtx) - (new 'static 'lbvtx) - (new 'static 'lbvtx) - (new 'static 'lbvtx) - (new 'static 'lbvtx) - (new 'static 'lbvtx) - (new 'static 'lbvtx) - (new 'static 'lbvtx) - (new 'static 'lbvtx) - (new 'static 'lbvtx) - ) - ) +(define *boundary-polygon* (new 'static 'inline-array lbvtx 12 + (new 'static 'lbvtx) + (new 'static 'lbvtx) + (new 'static 'lbvtx) + (new 'static 'lbvtx) + (new 'static 'lbvtx) + (new 'static 'lbvtx) + (new 'static 'lbvtx) + (new 'static 'lbvtx) + (new 'static 'lbvtx) + (new 'static 'lbvtx) + (new 'static 'lbvtx) + (new 'static 'lbvtx) + ) + ) ;; definition (debug) for function draw-boundary-side ;; INFO: Return type mismatch int vs none. -(defun-debug - draw-boundary-side - ((arg0 load-boundary) - (arg1 integer) - (arg2 integer) - (arg3 dma-buffer) - (arg4 symbol) - ) +(defun-debug draw-boundary-side ((arg0 load-boundary) (arg1 integer) (arg2 integer) (arg3 dma-buffer) (arg4 symbol)) (rlet ((vf27 :class vf)) - (let ((v1-2 (-> arg0 data arg1))) - (let ((a1-3 (-> arg0 data arg2))) - (let ((a2-2 (-> *boundary-polygon* 0))) - (set! (-> a2-2 x) (-> v1-2 x)) - (set! (-> a2-2 y) (-> arg0 bot-plane)) - (set! (-> a2-2 z) (-> v1-2 z)) - (set! (-> a2-2 v w) 1.0) + (let ((v1-2 (-> arg0 data arg1))) + (let ((a1-3 (-> arg0 data arg2))) + (let ((a2-2 (-> *boundary-polygon* 0))) + (set! (-> a2-2 x) (-> v1-2 x)) + (set! (-> a2-2 y) (-> arg0 bot-plane)) + (set! (-> a2-2 z) (-> v1-2 z)) + (set! (-> a2-2 v w) 1.0) + ) + (let ((a2-4 (-> *boundary-polygon* 3))) + (set! (-> a2-4 x) (-> a1-3 x)) + (set! (-> a2-4 y) (-> arg0 bot-plane)) + (set! (-> a2-4 z) (-> a1-3 z)) + (set! (-> a2-4 v w) 1.0) + ) + (let ((a2-6 (-> *boundary-polygon* 6))) + (set! (-> a2-6 x) (-> a1-3 x)) + (set! (-> a2-6 y) (-> arg0 top-plane)) + (set! (-> a2-6 z) (-> a1-3 z)) + (set! (-> a2-6 v w) 1.0) + ) + ) + (let ((a1-5 (-> *boundary-polygon* 9))) + (set! (-> a1-5 x) (-> v1-2 x)) + (set! (-> a1-5 y) (-> arg0 top-plane)) + (set! (-> a1-5 z) (-> v1-2 z)) + (set! (-> a1-5 v w) 1.0) + ) ) - (let ((a2-4 (-> *boundary-polygon* 3))) - (set! (-> a2-4 x) (-> a1-3 x)) - (set! (-> a2-4 y) (-> arg0 bot-plane)) - (set! (-> a2-4 z) (-> a1-3 z)) - (set! (-> a2-4 v w) 1.0) + (cond + (arg4 + (let ((v1-4 (-> *boundary-polygon* 1))) + (set! (-> v1-4 x) 0.0) + (set! (-> v1-4 y) 0.0) + (set! (-> v1-4 z) 1.0) + (set! (-> v1-4 v w) 1.0) + ) + (let ((v1-6 (-> *boundary-polygon* 4))) + (set! (-> v1-6 x) 1.0) + (set! (-> v1-6 y) 0.0) + (set! (-> v1-6 z) 1.0) + (set! (-> v1-6 v w) 1.0) + ) + (let ((v1-8 (-> *boundary-polygon* 7))) + (set! (-> v1-8 x) 1.0) + (set! (-> v1-8 y) 8.0) + (set! (-> v1-8 z) 1.0) + (set! (-> v1-8 v w) 1.0) + ) + (let ((v1-10 (-> *boundary-polygon* 10))) + (set! (-> v1-10 x) 0.0) + (set! (-> v1-10 y) 8.0) + (set! (-> v1-10 z) 1.0) + (set! (-> v1-10 v w) 1.0) + ) + ) + (else + (let ((v1-12 (-> *boundary-polygon* 1))) + (set! (-> v1-12 x) 1.0) + (set! (-> v1-12 y) 0.0) + (set! (-> v1-12 z) 1.0) + (set! (-> v1-12 v w) 1.0) + ) + (let ((v1-14 (-> *boundary-polygon* 4))) + (set! (-> v1-14 x) 0.0) + (set! (-> v1-14 y) 0.0) + (set! (-> v1-14 z) 1.0) + (set! (-> v1-14 v w) 1.0) + ) + (let ((v1-16 (-> *boundary-polygon* 7))) + (set! (-> v1-16 x) 0.0) + (set! (-> v1-16 y) 8.0) + (set! (-> v1-16 z) 1.0) + (set! (-> v1-16 v w) 1.0) + ) + (let ((v1-18 (-> *boundary-polygon* 10))) + (set! (-> v1-18 x) 1.0) + (set! (-> v1-18 y) 8.0) + (set! (-> v1-18 z) 1.0) + (set! (-> v1-18 v w) 1.0) + ) + ) ) - (let ((a2-6 (-> *boundary-polygon* 6))) - (set! (-> a2-6 x) (-> a1-3 x)) - (set! (-> a2-6 y) (-> arg0 top-plane)) - (set! (-> a2-6 z) (-> a1-3 z)) - (set! (-> a2-6 v w) 1.0) - ) - ) - (let ((a1-5 (-> *boundary-polygon* 9))) - (set! (-> a1-5 x) (-> v1-2 x)) - (set! (-> a1-5 y) (-> arg0 top-plane)) - (set! (-> a1-5 z) (-> v1-2 z)) - (set! (-> a1-5 v w) 1.0) - ) + (init-boundary-regs) + (.lvf vf27 (&-> *sky-tng-data* giftag-roof qword)) + (render-boundary-quad (-> *boundary-polygon* 0) arg3) + 0 + (none) ) - (cond - (arg4 - (let ((v1-4 (-> *boundary-polygon* 1))) - (set! (-> v1-4 x) 0.0) - (set! (-> v1-4 y) 0.0) - (set! (-> v1-4 z) 1.0) - (set! (-> v1-4 v w) 1.0) - ) - (let ((v1-6 (-> *boundary-polygon* 4))) - (set! (-> v1-6 x) 1.0) - (set! (-> v1-6 y) 0.0) - (set! (-> v1-6 z) 1.0) - (set! (-> v1-6 v w) 1.0) - ) - (let ((v1-8 (-> *boundary-polygon* 7))) - (set! (-> v1-8 x) 1.0) - (set! (-> v1-8 y) 8.0) - (set! (-> v1-8 z) 1.0) - (set! (-> v1-8 v w) 1.0) - ) - (let ((v1-10 (-> *boundary-polygon* 10))) - (set! (-> v1-10 x) 0.0) - (set! (-> v1-10 y) 8.0) - (set! (-> v1-10 z) 1.0) - (set! (-> v1-10 v w) 1.0) - ) - ) - (else - (let ((v1-12 (-> *boundary-polygon* 1))) - (set! (-> v1-12 x) 1.0) - (set! (-> v1-12 y) 0.0) - (set! (-> v1-12 z) 1.0) - (set! (-> v1-12 v w) 1.0) - ) - (let ((v1-14 (-> *boundary-polygon* 4))) - (set! (-> v1-14 x) 0.0) - (set! (-> v1-14 y) 0.0) - (set! (-> v1-14 z) 1.0) - (set! (-> v1-14 v w) 1.0) - ) - (let ((v1-16 (-> *boundary-polygon* 7))) - (set! (-> v1-16 x) 0.0) - (set! (-> v1-16 y) 8.0) - (set! (-> v1-16 z) 1.0) - (set! (-> v1-16 v w) 1.0) - ) - (let ((v1-18 (-> *boundary-polygon* 10))) - (set! (-> v1-18 x) 1.0) - (set! (-> v1-18 y) 8.0) - (set! (-> v1-18 z) 1.0) - (set! (-> v1-18 v w) 1.0) - ) - ) - ) - (init-boundary-regs) - (.lvf vf27 (&-> *sky-tng-data* giftag-roof qword)) - (render-boundary-quad (-> *boundary-polygon* 0) arg3) - 0 - (none) - ) ) ;; definition (debug) for function draw-boundary-cap ;; INFO: Return type mismatch int vs none. -(defun-debug - draw-boundary-cap - ((arg0 load-boundary) (arg1 float) (arg2 dma-buffer) (arg3 symbol)) +(defun-debug draw-boundary-cap ((arg0 load-boundary) (arg1 float) (arg2 dma-buffer) (arg3 symbol)) (rlet ((vf27 :class vf)) - (dotimes (s2-0 (-> arg0 tri-cnt)) - (let ((a1-1 (-> arg0 data (-> arg0 data s2-0 v0))) - (a0-1 (-> arg0 data (-> arg0 data s2-0 v1))) - (v1-15 (-> arg0 data (-> arg0 data s2-0 v2))) + (dotimes (s2-0 (-> arg0 tri-cnt)) + (let ((a1-1 (-> arg0 data (-> arg0 data s2-0 v0))) + (a0-1 (-> arg0 data (-> arg0 data s2-0 v1))) + (v1-15 (-> arg0 data (-> arg0 data s2-0 v2))) + ) + (let ((a2-2 (-> *boundary-polygon* 0))) + (set! (-> a2-2 x) (-> a1-1 x)) + (set! (-> a2-2 y) arg1) + (set! (-> a2-2 z) (-> a1-1 z)) + (set! (-> a2-2 v w) 1.0) ) - (let ((a2-2 (-> *boundary-polygon* 0))) - (set! (-> a2-2 x) (-> a1-1 x)) - (set! (-> a2-2 y) arg1) - (set! (-> a2-2 z) (-> a1-1 z)) - (set! (-> a2-2 v w) 1.0) + (let ((a1-3 (-> *boundary-polygon* 3))) + (set! (-> a1-3 x) (-> a0-1 x)) + (set! (-> a1-3 y) arg1) + (set! (-> a1-3 z) (-> a0-1 z)) + (set! (-> a1-3 v w) 1.0) + ) + (let ((a0-3 (-> *boundary-polygon* 6))) + (set! (-> a0-3 x) (-> v1-15 x)) + (set! (-> a0-3 y) arg1) + (set! (-> a0-3 z) (-> v1-15 z)) + (set! (-> a0-3 v w) 1.0) + ) + ) + (cond + (arg3 + (let ((v1-17 (-> *boundary-polygon* 1))) + (set! (-> v1-17 x) 0.0) + (set! (-> v1-17 y) 0.0) + (set! (-> v1-17 z) 1.0) + (set! (-> v1-17 v w) 1.0) + ) + (let ((v1-19 (-> *boundary-polygon* 4))) + (set! (-> v1-19 x) 0.0) + (set! (-> v1-19 y) 1.0) + (set! (-> v1-19 z) 1.0) + (set! (-> v1-19 v w) 1.0) + ) + (let ((v1-21 (-> *boundary-polygon* 7))) + (set! (-> v1-21 x) 1.0) + (set! (-> v1-21 y) 0.0) + (set! (-> v1-21 z) 1.0) + (set! (-> v1-21 v w) 1.0) + ) + ) + (else + (let ((v1-23 (-> *boundary-polygon* 1))) + (set! (-> v1-23 x) 1.0) + (set! (-> v1-23 y) 0.0) + (set! (-> v1-23 z) 1.0) + (set! (-> v1-23 v w) 1.0) + ) + (let ((v1-25 (-> *boundary-polygon* 4))) + (set! (-> v1-25 x) 1.0) + (set! (-> v1-25 y) 1.0) + (set! (-> v1-25 z) 1.0) + (set! (-> v1-25 v w) 1.0) + ) + (let ((v1-27 (-> *boundary-polygon* 7))) + (set! (-> v1-27 x) 0.0) + (set! (-> v1-27 y) 0.0) + (set! (-> v1-27 z) 1.0) + (set! (-> v1-27 v w) 1.0) + ) + ) + ) + (init-boundary-regs) + (.lvf vf27 (&-> *sky-tng-data* giftag-roof qword)) + (render-boundary-tri (-> *boundary-polygon* 0) arg2) ) - (let ((a1-3 (-> *boundary-polygon* 3))) - (set! (-> a1-3 x) (-> a0-1 x)) - (set! (-> a1-3 y) arg1) - (set! (-> a1-3 z) (-> a0-1 z)) - (set! (-> a1-3 v w) 1.0) - ) - (let ((a0-3 (-> *boundary-polygon* 6))) - (set! (-> a0-3 x) (-> v1-15 x)) - (set! (-> a0-3 y) arg1) - (set! (-> a0-3 z) (-> v1-15 z)) - (set! (-> a0-3 v w) 1.0) - ) - ) - (cond - (arg3 - (let ((v1-17 (-> *boundary-polygon* 1))) - (set! (-> v1-17 x) 0.0) - (set! (-> v1-17 y) 0.0) - (set! (-> v1-17 z) 1.0) - (set! (-> v1-17 v w) 1.0) - ) - (let ((v1-19 (-> *boundary-polygon* 4))) - (set! (-> v1-19 x) 0.0) - (set! (-> v1-19 y) 1.0) - (set! (-> v1-19 z) 1.0) - (set! (-> v1-19 v w) 1.0) - ) - (let ((v1-21 (-> *boundary-polygon* 7))) - (set! (-> v1-21 x) 1.0) - (set! (-> v1-21 y) 0.0) - (set! (-> v1-21 z) 1.0) - (set! (-> v1-21 v w) 1.0) - ) - ) - (else - (let ((v1-23 (-> *boundary-polygon* 1))) - (set! (-> v1-23 x) 1.0) - (set! (-> v1-23 y) 0.0) - (set! (-> v1-23 z) 1.0) - (set! (-> v1-23 v w) 1.0) - ) - (let ((v1-25 (-> *boundary-polygon* 4))) - (set! (-> v1-25 x) 1.0) - (set! (-> v1-25 y) 1.0) - (set! (-> v1-25 z) 1.0) - (set! (-> v1-25 v w) 1.0) - ) - (let ((v1-27 (-> *boundary-polygon* 7))) - (set! (-> v1-27 x) 0.0) - (set! (-> v1-27 y) 0.0) - (set! (-> v1-27 z) 1.0) - (set! (-> v1-27 v w) 1.0) - ) - ) - ) - (init-boundary-regs) - (.lvf vf27 (&-> *sky-tng-data* giftag-roof qword)) - (render-boundary-tri (-> *boundary-polygon* 0) arg2) + 0 + (none) ) - 0 - (none) - ) ) ;; definition (debug) for function boundary-set-color ;; INFO: Return type mismatch int vs none. -(defun-debug - boundary-set-color - ((arg0 lbvtx) (arg1 load-boundary-crossing-command)) - (case (-> arg1 cmd) - (((load-boundary-cmd load)) +(defun-debug boundary-set-color ((arg0 lbvtx) (arg1 load-boundary-crossing-command)) + (case (-> arg1 cmd) + (((load-boundary-cmd load)) (let ((v1-1 arg0)) - (set! (-> v1-1 x) 128.0) - (set! (-> v1-1 y) 128.0) - (set! (-> v1-1 z) 128.0) - (set! (-> v1-1 v w) 128.0) - ) - ) - (((load-boundary-cmd cmd2)) - (let ((v1-2 arg0)) - (set! (-> v1-2 x) 0.0) - (set! (-> v1-2 y) 0.0) - (set! (-> v1-2 z) 0.0) - (set! (-> v1-2 v w) 128.0) - ) - ) - (((load-boundary-cmd display)) - (cond - ((-> arg1 lev1) - (let ((v1-4 arg0)) - (set! (-> v1-4 x) 128.0) - (set! (-> v1-4 y) 128.0) - (set! (-> v1-4 z) 0.0) - (set! (-> v1-4 v w) 128.0) + (set! (-> v1-1 x) 128.0) + (set! (-> v1-1 y) 128.0) + (set! (-> v1-1 z) 128.0) + (set! (-> v1-1 v w) 128.0) ) - ) - (else - (let ((v1-5 arg0)) - (set! (-> v1-5 x) 64.0) - (set! (-> v1-5 y) 64.0) - (set! (-> v1-5 z) 0.0) - (set! (-> v1-5 v w) 128.0) + ) + (((load-boundary-cmd cmd2)) + (let ((v1-2 arg0)) + (set! (-> v1-2 x) 0.0) + (set! (-> v1-2 y) 0.0) + (set! (-> v1-2 z) 0.0) + (set! (-> v1-2 v w) 128.0) ) + ) + (((load-boundary-cmd display)) + (cond + ((-> arg1 lev1) + (let ((v1-4 arg0)) + (set! (-> v1-4 x) 128.0) + (set! (-> v1-4 y) 128.0) + (set! (-> v1-4 z) 0.0) + (set! (-> v1-4 v w) 128.0) + ) + ) + (else + (let ((v1-5 arg0)) + (set! (-> v1-5 x) 64.0) + (set! (-> v1-5 y) 64.0) + (set! (-> v1-5 z) 0.0) + (set! (-> v1-5 v w) 128.0) + ) + ) + ) + ) + (((load-boundary-cmd vis)) + (let ((v1-6 arg0)) + (set! (-> v1-6 x) 128.0) + (set! (-> v1-6 y) 0.0) + (set! (-> v1-6 z) 0.0) + (set! (-> v1-6 v w) 128.0) + ) + ) + (((load-boundary-cmd checkpt)) + (let ((v1-7 arg0)) + (set! (-> v1-7 x) 0.0) + (set! (-> v1-7 y) 128.0) + (set! (-> v1-7 z) 128.0) + (set! (-> v1-7 v w) 128.0) + ) + ) + (else + (let ((v1-8 arg0)) + (set! (-> v1-8 x) 64.0) + (set! (-> v1-8 y) 64.0) + (set! (-> v1-8 z) 64.0) + (set! (-> v1-8 v w) 128.0) + ) ) - ) ) - (((load-boundary-cmd vis)) - (let ((v1-6 arg0)) - (set! (-> v1-6 x) 128.0) - (set! (-> v1-6 y) 0.0) - (set! (-> v1-6 z) 0.0) - (set! (-> v1-6 v w) 128.0) - ) - ) - (((load-boundary-cmd checkpt)) - (let ((v1-7 arg0)) - (set! (-> v1-7 x) 0.0) - (set! (-> v1-7 y) 128.0) - (set! (-> v1-7 z) 128.0) - (set! (-> v1-7 v w) 128.0) - ) - ) - (else - (let ((v1-8 arg0)) - (set! (-> v1-8 x) 64.0) - (set! (-> v1-8 y) 64.0) - (set! (-> v1-8 z) 64.0) - (set! (-> v1-8 v w) 128.0) - ) - ) - ) 0 (none) ) @@ -350,139 +332,98 @@ ;; definition (debug) for function render-boundary ;; INFO: Return type mismatch int vs none. (defun-debug render-boundary ((arg0 load-boundary)) - (let* - ((s3-0 - (or - (!= arg0 (-> *lb-editor-parms* boundary)) - (logtest? (-> *display* real-actual-frame-counter) 4) + (let* ((s3-0 (or (!= arg0 (-> *lb-editor-parms* boundary)) (logtest? (-> *display* real-actual-frame-counter) 4))) + (s5-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (gp-0 (-> s5-0 base)) + ) + (let* ((v1-8 s5-0) + (a0-5 (the-as object (-> v1-8 base))) + ) + (set! (-> (the-as dma-packet a0-5) dma) (new 'static 'dma-tag :qwc #x4 :id (dma-tag-id cnt))) + (set! (-> (the-as dma-packet a0-5) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet a0-5) vif1) (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd direct) :msk #x1)) + (set! (-> v1-8 base) (&+ (the-as pointer a0-5) 16)) ) - ) - (s5-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (gp-0 (-> s5-0 base)) - ) - (let* ((v1-8 s5-0) - (a0-5 (the-as object (-> v1-8 base))) + (let* ((v1-9 s5-0) + (a0-7 (the-as object (-> v1-9 base))) + ) + (set! (-> (the-as gs-gif-tag a0-7) tag) (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x3)) + (set! (-> (the-as gs-gif-tag a0-7) regs) (new 'static 'gif-tag-regs + :regs0 (gif-reg-id a+d) + :regs1 (gif-reg-id a+d) + :regs2 (gif-reg-id a+d) + :regs3 (gif-reg-id a+d) + :regs4 (gif-reg-id a+d) + :regs5 (gif-reg-id a+d) + :regs6 (gif-reg-id a+d) + :regs7 (gif-reg-id a+d) + :regs8 (gif-reg-id a+d) + :regs9 (gif-reg-id a+d) + :regs10 (gif-reg-id a+d) + :regs11 (gif-reg-id a+d) + :regs12 (gif-reg-id a+d) + :regs13 (gif-reg-id a+d) + :regs14 (gif-reg-id a+d) + :regs15 (gif-reg-id a+d) + ) + ) + (set! (-> v1-9 base) (&+ (the-as pointer a0-7) 16)) + ) + (let* ((v1-10 s5-0) + (a0-9 (-> v1-10 base)) + ) + (set! (-> (the-as (pointer gs-zbuf) a0-9) 0) (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24))) + (set! (-> (the-as (pointer gs-reg64) a0-9) 1) (gs-reg64 zbuf-1)) + (set! (-> (the-as (pointer gs-test) a0-9) 2) (new 'static 'gs-test + :ate #x1 + :atst (gs-atest greater-equal) + :aref #x26 + :zte #x1 + :ztst (gs-ztest greater-equal) + ) + ) + (set! (-> (the-as (pointer gs-reg64) a0-9) 3) (gs-reg64 test-1)) + (set! (-> (the-as (pointer gs-alpha) a0-9) 4) (new 'static 'gs-alpha :b #x1 :d #x1)) + (set! (-> (the-as (pointer gs-reg64) a0-9) 5) (gs-reg64 alpha-1)) + (set! (-> v1-10 base) (&+ a0-9 48)) + ) + (boundary-set-color (-> *boundary-polygon* 2) (-> arg0 cmd-fwd)) + (boundary-set-color (-> *boundary-polygon* 5) (-> arg0 cmd-bwd)) + (let ((s2-0 (the-as object (-> s5-0 base)))) + (&+! (-> s5-0 base) 16) + (add-boundary-shader (new 'static 'texture-id :index #x33 :page #x2) s5-0) + (cond + ((logtest? (-> arg0 flags) (load-boundary-flags closed)) + (draw-boundary-cap arg0 (-> arg0 top-plane) s5-0 s3-0) + ) + (else + (dotimes (s1-0 (the-as int (+ (-> arg0 num-points) -1))) + (draw-boundary-side arg0 s1-0 (+ s1-0 1) s5-0 s3-0) + ) ) - (set! - (-> (the-as dma-packet a0-5) dma) - (new 'static 'dma-tag :qwc #x4 :id (dma-tag-id cnt)) - ) - (set! (-> (the-as dma-packet a0-5) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet a0-5) vif1) - (new 'static 'vif-tag :imm #x4 :cmd (vif-cmd direct) :msk #x1) - ) - (set! (-> v1-8 base) (&+ (the-as pointer a0-5) 16)) - ) - (let* ((v1-9 s5-0) - (a0-7 (the-as object (-> v1-9 base))) - ) - (set! - (-> (the-as gs-gif-tag a0-7) tag) - (new 'static 'gif-tag64 :nloop #x1 :eop #x1 :nreg #x3) - ) - (set! - (-> (the-as gs-gif-tag a0-7) regs) - (new 'static 'gif-tag-regs - :regs0 (gif-reg-id a+d) - :regs1 (gif-reg-id a+d) - :regs2 (gif-reg-id a+d) - :regs3 (gif-reg-id a+d) - :regs4 (gif-reg-id a+d) - :regs5 (gif-reg-id a+d) - :regs6 (gif-reg-id a+d) - :regs7 (gif-reg-id a+d) - :regs8 (gif-reg-id a+d) - :regs9 (gif-reg-id a+d) - :regs10 (gif-reg-id a+d) - :regs11 (gif-reg-id a+d) - :regs12 (gif-reg-id a+d) - :regs13 (gif-reg-id a+d) - :regs14 (gif-reg-id a+d) - :regs15 (gif-reg-id a+d) - ) - ) - (set! (-> v1-9 base) (&+ (the-as pointer a0-7) 16)) - ) - (let* ((v1-10 s5-0) - (a0-9 (-> v1-10 base)) - ) - (set! - (-> (the-as (pointer gs-zbuf) a0-9) 0) - (new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24)) - ) - (set! (-> (the-as (pointer gs-reg64) a0-9) 1) (gs-reg64 zbuf-1)) - (set! - (-> (the-as (pointer gs-test) a0-9) 2) - (new 'static 'gs-test - :ate #x1 - :atst (gs-atest greater-equal) - :aref #x26 - :zte #x1 - :ztst (gs-ztest greater-equal) - ) - ) - (set! (-> (the-as (pointer gs-reg64) a0-9) 3) (gs-reg64 test-1)) - (set! - (-> (the-as (pointer gs-alpha) a0-9) 4) - (new 'static 'gs-alpha :b #x1 :d #x1) - ) - (set! (-> (the-as (pointer gs-reg64) a0-9) 5) (gs-reg64 alpha-1)) - (set! (-> v1-10 base) (&+ a0-9 48)) - ) - (boundary-set-color (-> *boundary-polygon* 2) (-> arg0 cmd-fwd)) - (boundary-set-color (-> *boundary-polygon* 5) (-> arg0 cmd-bwd)) - (let ((s2-0 (the-as object (-> s5-0 base)))) - (&+! (-> s5-0 base) 16) - (add-boundary-shader (new 'static 'texture-id :index #x33 :page #x2) s5-0) - (cond - ((logtest? (-> arg0 flags) (load-boundary-flags closed)) - (draw-boundary-cap arg0 (-> arg0 top-plane) s5-0 s3-0) - ) - (else - (dotimes (s1-0 (the-as int (+ (-> arg0 num-points) -1))) - (draw-boundary-side arg0 s1-0 (+ s1-0 1) s5-0 s3-0) - ) - ) - ) - (close-sky-buffer s5-0) - (let - ((v1-25 - (/ - (the-as int (+ (- -16 (the-as int s2-0)) (the-as int (-> s5-0 base)))) - 16 ) - ) + (close-sky-buffer s5-0) + (let ((v1-25 (/ (the-as int (+ (- -16 (the-as int s2-0)) (the-as int (-> s5-0 base)))) 16))) + (set! (-> (the-as dma-packet s2-0) dma) (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc v1-25)) + (set! (-> (the-as dma-packet s2-0) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet s2-0) vif1) (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm v1-25)) + ) ) - (set! - (-> (the-as dma-packet s2-0) dma) - (new 'static 'dma-tag :id (dma-tag-id cnt) :qwc v1-25) + (let ((a3-2 (-> s5-0 base))) + (let ((v1-29 (the-as object (-> s5-0 base)))) + (set! (-> (the-as dma-packet v1-29) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-29) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-29) vif1) (new 'static 'vif-tag)) + (set! (-> s5-0 base) (&+ (the-as pointer v1-29) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-0 + (the-as (pointer dma-tag) a3-2) + ) ) - (set! (-> (the-as dma-packet s2-0) vif0) (new 'static 'vif-tag)) - (set! - (-> (the-as dma-packet s2-0) vif1) - (new 'static 'vif-tag :cmd (vif-cmd direct) :msk #x1 :imm v1-25) - ) - ) ) - (let ((a3-2 (-> s5-0 base))) - (let ((v1-29 (the-as object (-> s5-0 base)))) - (set! - (-> (the-as dma-packet v1-29) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-29) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-29) vif1) (new 'static 'vif-tag)) - (set! (-> s5-0 base) (&+ (the-as pointer v1-29) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-0 - (the-as (pointer dma-tag) a3-2) - ) - ) - ) 0 (none) ) @@ -490,25 +431,25 @@ ;; definition (debug) for function format-boundary-cmd ;; INFO: Return type mismatch int vs none. (defun-debug format-boundary-cmd ((arg0 load-boundary-crossing-command)) - (case (-> arg0 cmd) - (((load-boundary-cmd load)) + (case (-> arg0 cmd) + (((load-boundary-cmd load)) (format *stdcon* " LOAD(~A,~A)~%" (-> arg0 lev0) (-> arg0 lev1)) ) - (((load-boundary-cmd cmd2)) - ) - (((load-boundary-cmd display)) - (if (-> arg0 lev1) - (format *stdcon* " DISPLAY(~A,~A)~%" (-> arg0 lev0) (-> arg0 lev1)) - (format *stdcon* " DISPLAY(~A,OFF)~%" (-> arg0 lev0)) + (((load-boundary-cmd cmd2)) + ) + (((load-boundary-cmd display)) + (if (-> arg0 lev1) + (format *stdcon* " DISPLAY(~A,~A)~%" (-> arg0 lev0) (-> arg0 lev1)) + (format *stdcon* " DISPLAY(~A,OFF)~%" (-> arg0 lev0)) + ) + ) + (((load-boundary-cmd vis)) + (format *stdcon* " VIS(~A)~%" (-> arg0 lev0)) + ) + (((load-boundary-cmd checkpt)) + (format *stdcon* " CHECKPT(~A)~%" (-> arg0 lev0)) ) ) - (((load-boundary-cmd vis)) - (format *stdcon* " VIS(~A)~%" (-> arg0 lev0)) - ) - (((load-boundary-cmd checkpt)) - (format *stdcon* " CHECKPT(~A)~%" (-> arg0 lev0)) - ) - ) 0 (none) ) @@ -520,209 +461,141 @@ (let* ((gp-0 *lb-editor-parms*) (s5-0 (-> gp-0 boundary)) ) - (format *stdcon* "~3L") - (cond - ((not s5-0) - (format - *stdcon* - "No load boundary selected - use Player 2 pad to select~%" - ) - ) - (else - (format *stdcon* "Selected load boundary ~X~%" s5-0) - (if (logtest? (-> s5-0 flags) (load-boundary-flags player)) - (format *stdcon* "PLAYER activated~%") - (format *stdcon* "CAMERA activated~%") - ) - (when (nonzero? (-> s5-0 cmd-fwd cmd)) - (format *stdcon* "in->out~%") - (format-boundary-cmd (-> s5-0 cmd-fwd)) - ) - (when (nonzero? (-> s5-0 cmd-bwd cmd)) - (format *stdcon* "out->in~%") - (format-boundary-cmd (-> s5-0 cmd-bwd)) - ) - ) - ) - (format *stdcon* "~0L") - (let ((s3-0 (new 'stack-no-clear 'vector)) - (s4-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> s3-0 quad) (-> *math-camera* inv-camera-rot vector 0 quad)) - (set! (-> s4-0 quad) (-> *math-camera* inv-camera-rot vector 1 quad)) - (set! (-> s3-0 y) 0.0) - (set! (-> s4-0 y) 0.0) - (when (and s5-0 (!= -1 (-> gp-0 vertex))) - (let ((s2-0 (new 'stack-no-clear 'vector))) - (set! (-> s2-0 quad) (-> s5-0 data (-> gp-0 vertex) quad)) - (set! (-> s2-0 y) (-> s5-0 top-plane)) - (add-debug-sphere - #t - (bucket-id debug-draw1) - s2-0 - 8192.0 - (new 'static 'rgba :a #x80) + (format *stdcon* "~3L") + (cond + ((not s5-0) + (format *stdcon* "No load boundary selected - use Player 2 pad to select~%") ) - (when (zero? (logand (-> s5-0 flags) (load-boundary-flags closed))) - (set! (-> s2-0 y) (-> s5-0 bot-plane)) - (add-debug-sphere - #t - (bucket-id debug-draw1) - s2-0 - 8192.0 - (new 'static 'rgba :a #x80) - ) - ) - ) - ) - (let* - ((f30-1 - (* - 4096.0 - (analog-input - (the-as int (-> *cpad-list* cpads 1 leftx)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - ) - (f28-1 - (* - 4096.0 - (analog-input - (the-as int (-> *cpad-list* cpads 1 lefty)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - ) - (f30-2 - (+ - f30-1 - (* - 409.6 - (analog-input - (the-as int (-> *cpad-list* cpads 1 rightx)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - ) - ) - (f0-10 - (+ - f28-1 - (* - 409.6 - (analog-input - (the-as int (-> *cpad-list* cpads 1 righty)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - ) - ) - ) - (cond - ((cpad-hold? 1 x) - (cond - ((= (-> gp-0 vertex) -1) - (dotimes (v1-37 (the-as int (-> s5-0 num-points))) - (+! (-> s5-0 data v1-37 x) (* f30-2 (-> s3-0 x))) - (+! (-> s5-0 data v1-37 z) (* f30-2 (-> s3-0 z))) - (+! (-> s5-0 data v1-37 x) (* f0-10 (-> s4-0 x))) - (+! (-> s5-0 data v1-37 z) (* f0-10 (-> s4-0 z))) - ) - ) - (else - (+! (-> s5-0 data (-> gp-0 vertex) x) (* f30-2 (-> s3-0 x))) - (+! (-> s5-0 data (-> gp-0 vertex) z) (* f30-2 (-> s3-0 z))) - (+! (-> s5-0 data (-> gp-0 vertex) x) (* f0-10 (-> s4-0 x))) - (+! (-> s5-0 data (-> gp-0 vertex) z) (* f0-10 (-> s4-0 z))) - ) - ) - (set! (-> s5-0 tri-cnt) 0) - 0 - ) - ((cpad-hold? 1 r1) - (if s5-0 - (+! (-> s5-0 top-plane) f0-10) - ) - ) - ((cpad-hold? 1 r2) - (if s5-0 - (+! (-> s5-0 bot-plane) f0-10) - ) - ) - ((cpad-pressed? 1 up) - (if s5-0 - (set! s5-0 (-> s5-0 next)) - (set! s5-0 *load-boundary-list*) - ) - (set! (-> gp-0 vertex) -1) - ) - ((cpad-pressed? 1 down) - (cond - ((= s5-0 *load-boundary-list*) - (set! s5-0 (the-as load-boundary #f)) - ) - (else - (let ((v1-95 *load-boundary-list*)) - (while v1-95 - (when (= s5-0 (-> v1-95 next)) - (set! s5-0 v1-95) - (set! v1-95 (the-as load-boundary #f)) + (else + (format *stdcon* "Selected load boundary ~X~%" s5-0) + (if (logtest? (-> s5-0 flags) (load-boundary-flags player)) + (format *stdcon* "PLAYER activated~%") + (format *stdcon* "CAMERA activated~%") ) - (if v1-95 - (set! v1-95 (-> v1-95 next)) + (when (nonzero? (-> s5-0 cmd-fwd cmd)) + (format *stdcon* "in->out~%") + (format-boundary-cmd (-> s5-0 cmd-fwd)) + ) + (when (nonzero? (-> s5-0 cmd-bwd cmd)) + (format *stdcon* "out->in~%") + (format-boundary-cmd (-> s5-0 cmd-bwd)) + ) + ) + ) + (format *stdcon* "~0L") + (let ((s3-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s3-0 quad) (-> *math-camera* inv-camera-rot vector 0 quad)) + (set! (-> s4-0 quad) (-> *math-camera* inv-camera-rot vector 1 quad)) + (set! (-> s3-0 y) 0.0) + (set! (-> s4-0 y) 0.0) + (when (and s5-0 (!= -1 (-> gp-0 vertex))) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set! (-> s2-0 quad) (-> s5-0 data (-> gp-0 vertex) quad)) + (set! (-> s2-0 y) (-> s5-0 top-plane)) + (add-debug-sphere #t (bucket-id debug-draw1) s2-0 8192.0 (new 'static 'rgba :a #x80)) + (when (zero? (logand (-> s5-0 flags) (load-boundary-flags closed))) + (set! (-> s2-0 y) (-> s5-0 bot-plane)) + (add-debug-sphere #t (bucket-id debug-draw1) s2-0 8192.0 (new 'static 'rgba :a #x80)) ) + ) + ) + (let* ((f30-1 (* 4096.0 (analog-input (the-as int (-> *cpad-list* cpads 1 leftx)) 128.0 48.0 110.0 -1.0))) + (f28-1 (* 4096.0 (analog-input (the-as int (-> *cpad-list* cpads 1 lefty)) 128.0 48.0 110.0 -1.0))) + (f30-2 (+ f30-1 (* 409.6 (analog-input (the-as int (-> *cpad-list* cpads 1 rightx)) 128.0 48.0 110.0 -1.0)))) + (f0-10 (+ f28-1 (* 409.6 (analog-input (the-as int (-> *cpad-list* cpads 1 righty)) 128.0 48.0 110.0 -1.0)))) + ) + (cond + ((cpad-hold? 1 x) + (cond + ((= (-> gp-0 vertex) -1) + (dotimes (v1-37 (the-as int (-> s5-0 num-points))) + (+! (-> s5-0 data v1-37 x) (* f30-2 (-> s3-0 x))) + (+! (-> s5-0 data v1-37 z) (* f30-2 (-> s3-0 z))) + (+! (-> s5-0 data v1-37 x) (* f0-10 (-> s4-0 x))) + (+! (-> s5-0 data v1-37 z) (* f0-10 (-> s4-0 z))) + ) + ) + (else + (+! (-> s5-0 data (-> gp-0 vertex) x) (* f30-2 (-> s3-0 x))) + (+! (-> s5-0 data (-> gp-0 vertex) z) (* f30-2 (-> s3-0 z))) + (+! (-> s5-0 data (-> gp-0 vertex) x) (* f0-10 (-> s4-0 x))) + (+! (-> s5-0 data (-> gp-0 vertex) z) (* f0-10 (-> s4-0 z))) + ) + ) + (set! (-> s5-0 tri-cnt) 0) + 0 + ) + ((cpad-hold? 1 r1) + (if s5-0 + (+! (-> s5-0 top-plane) f0-10) + ) + ) + ((cpad-hold? 1 r2) + (if s5-0 + (+! (-> s5-0 bot-plane) f0-10) + ) + ) + ((cpad-pressed? 1 up) + (if s5-0 + (set! s5-0 (-> s5-0 next)) + (set! s5-0 *load-boundary-list*) + ) + (set! (-> gp-0 vertex) -1) + ) + ((cpad-pressed? 1 down) + (cond + ((= s5-0 *load-boundary-list*) + (set! s5-0 (the-as load-boundary #f)) + ) + (else + (let ((v1-95 *load-boundary-list*)) + (while v1-95 + (when (= s5-0 (-> v1-95 next)) + (set! s5-0 v1-95) + (set! v1-95 (the-as load-boundary #f)) + ) + (if v1-95 + (set! v1-95 (-> v1-95 next)) + ) + ) + ) + ) + ) + (set! (-> gp-0 vertex) -1) + ) + ((cpad-pressed? 1 right) + (+! (-> gp-0 vertex) 1) + (if (= (-> gp-0 vertex) (-> s5-0 num-points)) + (set! (-> gp-0 vertex) -1) + ) + ) + ((cpad-pressed? 1 left) + (+! (-> gp-0 vertex) -1) + (if (= (-> gp-0 vertex) -2) + (set! (-> gp-0 vertex) (the-as int (+ (-> s5-0 num-points) -1))) + ) ) ) - ) ) - (set! (-> gp-0 vertex) -1) - ) - ((cpad-pressed? 1 right) - (+! (-> gp-0 vertex) 1) - (if (= (-> gp-0 vertex) (-> s5-0 num-points)) - (set! (-> gp-0 vertex) -1) - ) - ) - ((cpad-pressed? 1 left) - (+! (-> gp-0 vertex) -1) - (if (= (-> gp-0 vertex) -2) - (set! (-> gp-0 vertex) (the-as int (+ (-> s5-0 num-points) -1))) - ) - ) ) - ) + (set! (-> gp-0 boundary) s5-0) ) - (set! (-> gp-0 boundary) s5-0) - ) 0 (none) ) ;; definition (debug) for function copy-load-command! ;; INFO: Return type mismatch int vs none. -(defun-debug - copy-load-command! - ((arg0 load-boundary-crossing-command) (arg1 load-boundary-crossing-command)) +(defun-debug copy-load-command! ((arg0 load-boundary-crossing-command) (arg1 load-boundary-crossing-command)) (set! (-> arg0 cmd) (-> arg1 cmd)) (dotimes (v1-1 3) - (set! (-> arg0 bparm v1-1) (-> arg1 bparm v1-1)) - ) + (set! (-> arg0 bparm v1-1) (-> arg1 bparm v1-1)) + ) (dotimes (v1-4 2) - (set! (-> arg0 parm v1-4) (-> arg1 parm v1-4)) - ) + (set! (-> arg0 parm v1-4) (-> arg1 parm v1-4)) + ) 0 (none) ) @@ -746,21 +619,21 @@ (defun-debug replace-load-boundary ((arg0 load-boundary) (arg1 load-boundary)) (set! (-> arg1 next) (-> arg0 next)) (if (= (-> *lb-editor-parms* boundary) arg0) - (set! (-> *lb-editor-parms* boundary) arg1) - ) + (set! (-> *lb-editor-parms* boundary) arg1) + ) (when (= arg0 *load-boundary-list*) - (set! *load-boundary-list* arg1) - (return 0) - ) - (let ((v1-9 *load-boundary-list*)) - (while (and v1-9 (!= (-> v1-9 next) arg0)) - (set! v1-9 (-> v1-9 next)) - ) - (when v1-9 - (set! (-> v1-9 next) arg1) + (set! *load-boundary-list* arg1) (return 0) ) - ) + (let ((v1-9 *load-boundary-list*)) + (while (and v1-9 (!= (-> v1-9 next) arg0)) + (set! v1-9 (-> v1-9 next)) + ) + (when v1-9 + (set! (-> v1-9 next) arg1) + (return 0) + ) + ) (format 0 "ERROR: Couldn't find old boundary in list!!!!~%") 0 (none) @@ -771,25 +644,25 @@ ;; WARN: Expression building failed: Function lb-del has a return type of none, but the expression builder found a return statement. (defun-debug lb-del () (let ((v1-1 (-> *lb-editor-parms* boundary))) - (set! (-> *lb-editor-parms* boundary) #f) - (when (not v1-1) - (format 0 "No boundary selected~%") - (return 0) + (set! (-> *lb-editor-parms* boundary) #f) + (when (not v1-1) + (format 0 "No boundary selected~%") + (return 0) + ) + (when (= v1-1 *load-boundary-list*) + (set! *load-boundary-list* (-> v1-1 next)) + (return 0) + ) + (let ((a0-5 *load-boundary-list*)) + (while (and a0-5 (!= (-> a0-5 next) v1-1)) + (set! a0-5 (-> a0-5 next)) + ) + (when a0-5 + (set! (-> a0-5 next) (-> v1-1 next)) + (return 0) + ) + ) ) - (when (= v1-1 *load-boundary-list*) - (set! *load-boundary-list* (-> v1-1 next)) - (return 0) - ) - (let ((a0-5 *load-boundary-list*)) - (while (and a0-5 (!= (-> a0-5 next) v1-1)) - (set! a0-5 (-> a0-5 next)) - ) - (when a0-5 - (set! (-> a0-5 next) (-> v1-1 next)) - (return 0) - ) - ) - ) (format 0 "ERROR: Couldn't find old boundary in list!!!!~%") 0 (none) @@ -804,63 +677,41 @@ (gp-0 (-> v1-0 boundary)) (s4-0 (-> v1-0 vertex)) ) - (when (not gp-0) - (format 0 "No boundary selected~%") - (return 0) + (when (not gp-0) + (format 0 "No boundary selected~%") + (return 0) + ) + (when (= s4-0 -1) + (format 0 "No vertex selected~%") + (return 0) + ) + (let ((s5-0 (new 'global 'load-boundary (the-as int (+ (-> gp-0 num-points) 1)) #f #f))) + (copy-load-boundary! s5-0 gp-0) + (let ((v1-8 0)) + (while (< v1-8 s4-0) + (set! (-> s5-0 data v1-8 quad) (-> gp-0 data v1-8 quad)) + (+! v1-8 1) + ) + (cond + ((zero? s4-0) + (set! (-> s5-0 data v1-8 x) (* 0.5 (+ (-> gp-0 data 0 x) (-> gp-0 data (+ (-> gp-0 num-points) -1) x)))) + (set! (-> s5-0 data v1-8 z) (* 0.5 (+ (-> gp-0 data 0 z) (-> gp-0 data (+ (-> gp-0 num-points) -1) z)))) + ) + (else + (set! (-> s5-0 data v1-8 x) (* 0.5 (+ (-> gp-0 data (+ s4-0 -1) x) (-> gp-0 data s4-0 x)))) + (set! (-> s5-0 data v1-8 z) (* 0.5 (+ (-> gp-0 data (+ s4-0 -1) z) (-> gp-0 data s4-0 z)))) + ) + ) + (let ((v1-9 (+ v1-8 1))) + (while (>= (the-as int (-> gp-0 num-points)) v1-9) + (set! (-> s5-0 data v1-9 quad) (-> gp-0 data (+ v1-9 -1) quad)) + (+! v1-9 1) + ) + ) + ) + (replace-load-boundary gp-0 s5-0) + ) ) - (when (= s4-0 -1) - (format 0 "No vertex selected~%") - (return 0) - ) - (let - ((s5-0 - (new 'global 'load-boundary (the-as int (+ (-> gp-0 num-points) 1)) #f #f) - ) - ) - (copy-load-boundary! s5-0 gp-0) - (let ((v1-8 0)) - (while (< v1-8 s4-0) - (set! (-> s5-0 data v1-8 quad) (-> gp-0 data v1-8 quad)) - (+! v1-8 1) - ) - (cond - ((zero? s4-0) - (set! - (-> s5-0 data v1-8 x) - (* - 0.5 - (+ (-> gp-0 data 0 x) (-> gp-0 data (+ (-> gp-0 num-points) -1) x)) - ) - ) - (set! - (-> s5-0 data v1-8 z) - (* - 0.5 - (+ (-> gp-0 data 0 z) (-> gp-0 data (+ (-> gp-0 num-points) -1) z)) - ) - ) - ) - (else - (set! - (-> s5-0 data v1-8 x) - (* 0.5 (+ (-> gp-0 data (+ s4-0 -1) x) (-> gp-0 data s4-0 x))) - ) - (set! - (-> s5-0 data v1-8 z) - (* 0.5 (+ (-> gp-0 data (+ s4-0 -1) z) (-> gp-0 data s4-0 z))) - ) - ) - ) - (let ((v1-9 (+ v1-8 1))) - (while (>= (the-as int (-> gp-0 num-points)) v1-9) - (set! (-> s5-0 data v1-9 quad) (-> gp-0 data (+ v1-9 -1) quad)) - (+! v1-9 1) - ) - ) - ) - (replace-load-boundary gp-0 s5-0) - ) - ) 0 (none) ) @@ -871,74 +722,46 @@ ;; Used lq/sq (defun-debug lb-add-vtx-after () (let ((gp-0 *lb-editor-parms*)) - (let ((s5-0 (-> gp-0 boundary)) - (s3-0 (-> gp-0 vertex)) - ) - (when (not s5-0) - (format 0 "No boundary selected~%") - (return 0) - ) - (when (= s3-0 -1) - (format 0 "No vertex selected~%") - (return 0) - ) - (let - ((s4-0 - (new - 'global - 'load-boundary - (the-as int (+ (-> s5-0 num-points) 1)) - #f - #f - ) - ) - ) - (copy-load-boundary! s4-0 s5-0) - (let ((v1-7 0)) - (while (>= s3-0 v1-7) - (set! (-> s4-0 data v1-7 quad) (-> s5-0 data v1-7 quad)) - (+! v1-7 1) - ) - (cond - ((= s3-0 (+ (-> s5-0 num-points) -1)) - (set! - (-> s4-0 data v1-7 x) - (* - 0.5 - (+ (-> s5-0 data 0 x) (-> s5-0 data (+ (-> s5-0 num-points) -1) x)) + (let ((s5-0 (-> gp-0 boundary)) + (s3-0 (-> gp-0 vertex)) ) - ) - (set! - (-> s4-0 data v1-7 z) - (* - 0.5 - (+ (-> s5-0 data 0 z) (-> s5-0 data (+ (-> s5-0 num-points) -1) z)) + (when (not s5-0) + (format 0 "No boundary selected~%") + (return 0) + ) + (when (= s3-0 -1) + (format 0 "No vertex selected~%") + (return 0) + ) + (let ((s4-0 (new 'global 'load-boundary (the-as int (+ (-> s5-0 num-points) 1)) #f #f))) + (copy-load-boundary! s4-0 s5-0) + (let ((v1-7 0)) + (while (>= s3-0 v1-7) + (set! (-> s4-0 data v1-7 quad) (-> s5-0 data v1-7 quad)) + (+! v1-7 1) + ) + (cond + ((= s3-0 (+ (-> s5-0 num-points) -1)) + (set! (-> s4-0 data v1-7 x) (* 0.5 (+ (-> s5-0 data 0 x) (-> s5-0 data (+ (-> s5-0 num-points) -1) x)))) + (set! (-> s4-0 data v1-7 z) (* 0.5 (+ (-> s5-0 data 0 z) (-> s5-0 data (+ (-> s5-0 num-points) -1) z)))) + ) + (else + (set! (-> s4-0 data v1-7 x) (* 0.5 (+ (-> s5-0 data (+ s3-0 1) x) (-> s5-0 data s3-0 x)))) + (set! (-> s4-0 data v1-7 z) (* 0.5 (+ (-> s5-0 data (+ s3-0 1) z) (-> s5-0 data s3-0 z)))) + ) + ) + (let ((v1-8 (+ v1-7 1))) + (while (>= (the-as int (-> s5-0 num-points)) v1-8) + (set! (-> s4-0 data v1-8 quad) (-> s5-0 data (+ v1-8 -1) quad)) + (+! v1-8 1) + ) + ) ) - ) + (replace-load-boundary s5-0 s4-0) ) - (else - (set! - (-> s4-0 data v1-7 x) - (* 0.5 (+ (-> s5-0 data (+ s3-0 1) x) (-> s5-0 data s3-0 x))) - ) - (set! - (-> s4-0 data v1-7 z) - (* 0.5 (+ (-> s5-0 data (+ s3-0 1) z) (-> s5-0 data s3-0 z))) - ) - ) - ) - (let ((v1-8 (+ v1-7 1))) - (while (>= (the-as int (-> s5-0 num-points)) v1-8) - (set! (-> s4-0 data v1-8 quad) (-> s5-0 data (+ v1-8 -1) quad)) - (+! v1-8 1) - ) - ) ) - (replace-load-boundary s5-0 s4-0) - ) + (+! (-> gp-0 vertex) 1) ) - (+! (-> gp-0 vertex) 1) - ) 0 (none) ) @@ -951,74 +774,62 @@ (let* ((gp-0 *lb-editor-parms*) (s5-0 (-> gp-0 boundary)) ) - (let ((s3-0 (-> gp-0 vertex))) - (when (not s5-0) - (format 0 "No boundary selected~%") - (return 0) - ) - (when (= s3-0 -1) - (format 0 "No vertex selected~%") - (return 0) - ) - (let - ((s4-0 - (new - 'global - 'load-boundary - (the-as int (+ (-> s5-0 num-points) -1)) - #f - #f + (let ((s3-0 (-> gp-0 vertex))) + (when (not s5-0) + (format 0 "No boundary selected~%") + (return 0) ) - ) - ) - (copy-load-boundary! s4-0 s5-0) - (let ((v1-7 0)) - (while (< v1-7 s3-0) - (set! (-> s4-0 data v1-7 quad) (-> s5-0 data v1-7 quad)) - (+! v1-7 1) - ) - (let ((v1-8 (+ v1-7 1))) - (while (< v1-8 (the-as int (-> s5-0 num-points))) - (set! (-> s4-0 data (+ v1-8 -1) quad) (-> s5-0 data v1-8 quad)) - (+! v1-8 1) + (when (= s3-0 -1) + (format 0 "No vertex selected~%") + (return 0) + ) + (let ((s4-0 (new 'global 'load-boundary (the-as int (+ (-> s5-0 num-points) -1)) #f #f))) + (copy-load-boundary! s4-0 s5-0) + (let ((v1-7 0)) + (while (< v1-7 s3-0) + (set! (-> s4-0 data v1-7 quad) (-> s5-0 data v1-7 quad)) + (+! v1-7 1) + ) + (let ((v1-8 (+ v1-7 1))) + (while (< v1-8 (the-as int (-> s5-0 num-points))) + (set! (-> s4-0 data (+ v1-8 -1) quad) (-> s5-0 data v1-8 quad)) + (+! v1-8 1) + ) + ) + ) + (replace-load-boundary s5-0 s4-0) ) - ) ) - (replace-load-boundary s5-0 s4-0) - ) + (if (= (-> gp-0 vertex) (+ (-> s5-0 num-points) -1)) + (set! (-> gp-0 vertex) -1) + ) ) - (if (= (-> gp-0 vertex) (+ (-> s5-0 num-points) -1)) - (set! (-> gp-0 vertex) -1) - ) - ) 0 (none) ) ;; definition (debug) for function save-boundary-cmd ;; INFO: Return type mismatch int vs none. -(defun-debug - save-boundary-cmd - ((arg0 load-boundary-crossing-command) (arg1 string) (arg2 object)) - (case (-> arg0 cmd) - (((load-boundary-cmd load)) +(defun-debug save-boundary-cmd ((arg0 load-boundary-crossing-command) (arg1 string) (arg2 object)) + (case (-> arg0 cmd) + (((load-boundary-cmd load)) (format arg2 " :~S (load ~A ~A)~%" arg1 (-> arg0 lev0) (-> arg0 lev1)) ) - (((load-boundary-cmd cmd2)) + (((load-boundary-cmd cmd2)) + ) + (((load-boundary-cmd display)) + (format arg2 " :~S (display ~A ~A)~%" arg1 (-> arg0 lev0) (-> arg0 lev1)) + ) + (((load-boundary-cmd vis)) + (format arg2 " :~S (vis ~A #f)~%" arg1 (-> arg0 lev0)) + ) + (((load-boundary-cmd force-vis)) + (format arg2 " :~S (force-vis ~A ~A)~%" arg1 (-> arg0 lev0) (-> arg0 lev1)) + ) + (((load-boundary-cmd checkpt)) + (format arg2 " :~S (checkpt ~A #f)~%" arg1 (-> arg0 lev0)) + ) ) - (((load-boundary-cmd display)) - (format arg2 " :~S (display ~A ~A)~%" arg1 (-> arg0 lev0) (-> arg0 lev1)) - ) - (((load-boundary-cmd vis)) - (format arg2 " :~S (vis ~A #f)~%" arg1 (-> arg0 lev0)) - ) - (((load-boundary-cmd force-vis)) - (format arg2 " :~S (force-vis ~A ~A)~%" arg1 (-> arg0 lev0) (-> arg0 lev1)) - ) - (((load-boundary-cmd checkpt)) - (format arg2 " :~S (checkpt ~A #f)~%" arg1 (-> arg0 lev0)) - ) - ) 0 (none) ) @@ -1030,42 +841,33 @@ (a2-0 (+ (/ (-> s5-0 length) 2) -1)) (v0-0 (new 'global 'load-boundary a2-0 #f #t)) ) - (set! - (-> v0-0 flags) - (the-as load-boundary-flags (/ (the-as int (-> arg0 0)) 8)) - ) - (set! (-> v0-0 top-plane) (-> s5-0 0)) - (set! (-> v0-0 bot-plane) (-> s5-0 1)) - (let ((v1-5 2)) - (while (< v1-5 (-> s5-0 length)) - (let ((a0-6 (-> v0-0 data (+ (/ v1-5 2) -1)))) - (set! (-> a0-6 x) (-> s5-0 v1-5)) - (set! (-> a0-6 z) (-> s5-0 (+ v1-5 1))) + (set! (-> v0-0 flags) (the-as load-boundary-flags (/ (the-as int (-> arg0 0)) 8))) + (set! (-> v0-0 top-plane) (-> s5-0 0)) + (set! (-> v0-0 bot-plane) (-> s5-0 1)) + (let ((v1-5 2)) + (while (< v1-5 (-> s5-0 length)) + (let ((a0-6 (-> v0-0 data (+ (/ v1-5 2) -1)))) + (set! (-> a0-6 x) (-> s5-0 v1-5)) + (set! (-> a0-6 z) (-> s5-0 (+ v1-5 1))) + ) + (+! v1-5 2) + ) + ) + (let ((v1-7 (-> v0-0 cmd-fwd)) + (a0-9 (-> arg0 2)) + ) + (set! (-> v1-7 cmd) (the-as load-boundary-cmd (/ (the-as int (car (the-as pair a0-9))) 8))) + (set! (-> v1-7 lev0) (the-as basic (car (cdr a0-9)))) + (set! (-> v1-7 lev1) (the-as basic (car (cdr (cdr a0-9))))) + ) + (let ((v1-8 (-> v0-0 cmd-bwd)) + (a0-13 (-> arg0 3)) + ) + (set! (-> v1-8 cmd) (the-as load-boundary-cmd (/ (the-as int (car (the-as pair a0-13))) 8))) + (set! (-> v1-8 lev0) (the-as basic (car (cdr a0-13)))) + (set! (-> v1-8 lev1) (the-as basic (car (cdr (cdr a0-13))))) ) - (+! v1-5 2) - ) ) - (let ((v1-7 (-> v0-0 cmd-fwd)) - (a0-9 (-> arg0 2)) - ) - (set! - (-> v1-7 cmd) - (the-as load-boundary-cmd (/ (the-as int (car (the-as pair a0-9))) 8)) - ) - (set! (-> v1-7 lev0) (the-as basic (car (cdr a0-9)))) - (set! (-> v1-7 lev1) (the-as basic (car (cdr (cdr a0-9))))) - ) - (let ((v1-8 (-> v0-0 cmd-bwd)) - (a0-13 (-> arg0 3)) - ) - (set! - (-> v1-8 cmd) - (the-as load-boundary-cmd (/ (the-as int (car (the-as pair a0-13))) 8)) - ) - (set! (-> v1-8 lev0) (the-as basic (car (cdr a0-13)))) - (set! (-> v1-8 lev1) (the-as basic (car (cdr (cdr a0-13))))) - ) - ) (none) ) @@ -1075,53 +877,42 @@ (clear *temp-string*) (format *temp-string* "game/load-boundary-data.gc") (let ((gp-0 (new 'stack 'file-stream *temp-string* 'write))) - (format gp-0 ";-*-Lisp-*-~%") - (format gp-0 "(in-package goal)~%~%") - (format gp-0 ";; reset boundary in editor~%") - (format gp-0 "(set! (-> *lb-editor-parms* boundary) #f)~%~%") - (format gp-0 ";; reset all existing load boundaries~%") - (format gp-0 "(set! *load-boundary-list* #f)~%~%") - (format - gp-0 - "(define *static-load-boundary-list* (new 'static 'array 'array 0~%~%" - ) - (let ((s5-0 *load-boundary-list*)) - (while s5-0 - (format - gp-0 - "(static-load-boundary :flags (~S~S)~%" - (if (logtest? (-> s5-0 flags) (load-boundary-flags closed)) - "closed " - "" - ) - (if (logtest? (-> s5-0 flags) (load-boundary-flags player)) - "player " - "" - ) + (format gp-0 ";-*-Lisp-*-~%") + (format gp-0 "(in-package goal)~%~%") + (format gp-0 ";; reset boundary in editor~%") + (format gp-0 "(set! (-> *lb-editor-parms* boundary) #f)~%~%") + (format gp-0 ";; reset all existing load boundaries~%") + (format gp-0 "(set! *load-boundary-list* #f)~%~%") + (format gp-0 "(define *static-load-boundary-list* (new 'static 'array 'array 0~%~%") + (let ((s5-0 *load-boundary-list*)) + (while s5-0 + (format + gp-0 + "(static-load-boundary :flags (~S~S)~%" + (if (logtest? (-> s5-0 flags) (load-boundary-flags closed)) + "closed " + "" + ) + (if (logtest? (-> s5-0 flags) (load-boundary-flags player)) + "player " + "" + ) + ) + (format gp-0 " :top ~f :bot ~f~%" (-> s5-0 top-plane) (-> s5-0 bot-plane)) + (format gp-0 " :points (") + (dotimes (s4-0 (the-as int (-> s5-0 num-points))) + (format gp-0 " ~f ~f " (-> s5-0 data s4-0 x) (-> s5-0 data s4-0 z)) + ) + (format gp-0 ")~%") + (save-boundary-cmd (-> s5-0 cmd-fwd) "fwd" gp-0) + (save-boundary-cmd (-> s5-0 cmd-bwd) "bwd" gp-0) + (format gp-0 " )~%~%") + (set! s5-0 (-> s5-0 next)) + ) ) - (format - gp-0 - " :top ~f :bot ~f~%" - (-> s5-0 top-plane) - (-> s5-0 bot-plane) - ) - (format gp-0 " :points (") - (dotimes (s4-0 (the-as int (-> s5-0 num-points))) - (format gp-0 " ~f ~f " (-> s5-0 data s4-0 x) (-> s5-0 data s4-0 z)) - ) - (format gp-0 ")~%") - (save-boundary-cmd (-> s5-0 cmd-fwd) "fwd" gp-0) - (save-boundary-cmd (-> s5-0 cmd-bwd) "bwd" gp-0) - (format gp-0 " )~%~%") - (set! s5-0 (-> s5-0 next)) - ) + (format gp-0 "))~%~%(doarray (i *static-load-boundary-list*)~% (load-boundary-from-template i)~% )~%~%") + (file-stream-close gp-0) ) - (format - gp-0 - "))~%~%(doarray (i *static-load-boundary-list*)~% (load-boundary-from-template i)~% )~%~%" - ) - (file-stream-close gp-0) - ) (format 0 "Written ~S~%" *temp-string*) 0 (none) @@ -1130,45 +921,45 @@ ;; definition (debug) for function lb-add (defun-debug lb-add () (let ((gp-0 (new 'global 'load-boundary 2 #f #t))) - (let ((v1-1 (camera-pos))) - (set! (-> gp-0 data 0 x) (-> v1-1 x)) - (set! (-> gp-0 data 0 z) (-> v1-1 z)) - (set! (-> gp-0 data2 1 x) (-> v1-1 x)) - (set! (-> gp-0 data2 1 z) (+ 204800.0 (-> v1-1 z))) + (let ((v1-1 (camera-pos))) + (set! (-> gp-0 data 0 x) (-> v1-1 x)) + (set! (-> gp-0 data 0 z) (-> v1-1 z)) + (set! (-> gp-0 data2 1 x) (-> v1-1 x)) + (set! (-> gp-0 data2 1 z) (+ 204800.0 (-> v1-1 z))) + ) + (set! (-> *lb-editor-parms* boundary) gp-0) + (set! (-> *lb-editor-parms* vertex) -1) + gp-0 ) - (set! (-> *lb-editor-parms* boundary) gp-0) - (set! (-> *lb-editor-parms* vertex) -1) - gp-0 - ) ) ;; definition (debug) for function lb-add-plane (defun-debug lb-add-plane () (let ((gp-0 (new 'global 'load-boundary 4 #t #t))) - (let ((v1-1 (camera-pos))) - (set! (-> gp-0 data 0 x) (-> v1-1 x)) - (set! (-> gp-0 data 0 z) (-> v1-1 z)) - (set! (-> gp-0 data2 1 x) (-> v1-1 x)) - (set! (-> gp-0 data2 1 z) (+ 204800.0 (-> v1-1 z))) - (set! (-> gp-0 data2 2 x) (+ 204800.0 (-> v1-1 x))) - (set! (-> gp-0 data2 2 z) (+ 204800.0 (-> v1-1 z))) - (set! (-> gp-0 data2 3 x) (+ 204800.0 (-> v1-1 x))) - (set! (-> gp-0 data2 3 z) (-> v1-1 z)) + (let ((v1-1 (camera-pos))) + (set! (-> gp-0 data 0 x) (-> v1-1 x)) + (set! (-> gp-0 data 0 z) (-> v1-1 z)) + (set! (-> gp-0 data2 1 x) (-> v1-1 x)) + (set! (-> gp-0 data2 1 z) (+ 204800.0 (-> v1-1 z))) + (set! (-> gp-0 data2 2 x) (+ 204800.0 (-> v1-1 x))) + (set! (-> gp-0 data2 2 z) (+ 204800.0 (-> v1-1 z))) + (set! (-> gp-0 data2 3 x) (+ 204800.0 (-> v1-1 x))) + (set! (-> gp-0 data2 3 z) (-> v1-1 z)) + ) + (set! (-> *lb-editor-parms* boundary) gp-0) + (set! (-> *lb-editor-parms* vertex) -1) + gp-0 ) - (set! (-> *lb-editor-parms* boundary) gp-0) - (set! (-> *lb-editor-parms* vertex) -1) - gp-0 - ) ) ;; definition (debug) for function lb-add-load ;; INFO: Return type mismatch int vs none. (defun-debug lb-add-load ((arg0 object) (arg1 object)) (let ((v1-0 (lb-add))) - (set! (-> v1-0 cmd-fwd cmd) (load-boundary-cmd load)) - (set! (-> v1-0 cmd-fwd lev0) (the-as basic arg0)) - (set! (-> v1-0 cmd-fwd lev1) (the-as basic arg1)) - ) + (set! (-> v1-0 cmd-fwd cmd) (load-boundary-cmd load)) + (set! (-> v1-0 cmd-fwd lev0) (the-as basic arg0)) + (set! (-> v1-0 cmd-fwd lev1) (the-as basic arg1)) + ) 0 (none) ) @@ -1177,10 +968,10 @@ ;; INFO: Return type mismatch int vs none. (defun-debug lb-add-load-plane ((arg0 object) (arg1 object)) (let ((v1-0 (lb-add-plane))) - (set! (-> v1-0 cmd-fwd cmd) (load-boundary-cmd load)) - (set! (-> v1-0 cmd-fwd lev0) (the-as basic arg0)) - (set! (-> v1-0 cmd-fwd lev1) (the-as basic arg1)) - ) + (set! (-> v1-0 cmd-fwd cmd) (load-boundary-cmd load)) + (set! (-> v1-0 cmd-fwd lev0) (the-as basic arg0)) + (set! (-> v1-0 cmd-fwd lev1) (the-as basic arg1)) + ) 0 (none) ) @@ -1189,16 +980,16 @@ ;; WARN: Expression building failed: Function lb-flip has a return type of none, but the expression builder found a return statement. (defun lb-flip () (let ((gp-0 (-> *lb-editor-parms* boundary))) - (when (not gp-0) - (format 0 "No boundary selected~%") - (return 0) + (when (not gp-0) + (format 0 "No boundary selected~%") + (return 0) + ) + (let ((s5-0 (new 'stack 'load-boundary-crossing-command))) + (copy-load-command! s5-0 (-> gp-0 cmd-fwd)) + (copy-load-command! (-> gp-0 cmd-fwd) (-> gp-0 cmd-bwd)) + (copy-load-command! (-> gp-0 cmd-bwd) s5-0) + ) ) - (let ((s5-0 (new 'stack 'load-boundary-crossing-command))) - (copy-load-command! s5-0 (-> gp-0 cmd-fwd)) - (copy-load-command! (-> gp-0 cmd-fwd) (-> gp-0 cmd-bwd)) - (copy-load-command! (-> gp-0 cmd-bwd) s5-0) - ) - ) (none) ) @@ -1207,12 +998,12 @@ ;; WARN: Expression building failed: Function lb-set-camera has a return type of none, but the expression builder found a return statement. (defun lb-set-camera () (let ((v1-1 (-> *lb-editor-parms* boundary))) - (when (not v1-1) - (format 0 "No boundary selected~%") - (return 0) + (when (not v1-1) + (format 0 "No boundary selected~%") + (return 0) + ) + (logclear! (-> v1-1 flags) (load-boundary-flags player)) ) - (logclear! (-> v1-1 flags) (load-boundary-flags player)) - ) 0 (none) ) @@ -1222,12 +1013,12 @@ ;; WARN: Expression building failed: Function lb-set-player has a return type of none, but the expression builder found a return statement. (defun lb-set-player () (let ((v1-1 (-> *lb-editor-parms* boundary))) - (when (not v1-1) - (format 0 "No boundary selected~%") - (return 0) + (when (not v1-1) + (format 0 "No boundary selected~%") + (return 0) + ) + (logior! (-> v1-1 flags) (load-boundary-flags player)) ) - (logior! (-> v1-1 flags) (load-boundary-flags player)) - ) 0 (none) ) @@ -1238,20 +1029,18 @@ ;; Used lq/sq (defun-debug lb-copy () (let ((s5-0 (-> *lb-editor-parms* boundary))) - (when (not s5-0) - (format 0 "No boundary selected~%") - (return 0) + (when (not s5-0) + (format 0 "No boundary selected~%") + (return 0) + ) + (let ((gp-0 (new 'global 'load-boundary (the-as int (-> s5-0 num-points)) #f #t))) + (copy-load-boundary! gp-0 s5-0) + (dotimes (v1-4 (the-as int (-> s5-0 num-points))) + (set! (-> gp-0 data v1-4 quad) (-> s5-0 data v1-4 quad)) + ) + (set! (-> *lb-editor-parms* boundary) gp-0) + ) ) - (let - ((gp-0 (new 'global 'load-boundary (the-as int (-> s5-0 num-points)) #f #t)) - ) - (copy-load-boundary! gp-0 s5-0) - (dotimes (v1-4 (the-as int (-> s5-0 num-points))) - (set! (-> gp-0 data v1-4 quad) (-> s5-0 data v1-4 quad)) - ) - (set! (-> *lb-editor-parms* boundary) gp-0) - ) - ) 0 (none) ) @@ -1261,27 +1050,27 @@ ;; Used lq/sq (defun render-boundaries () (when (-> *level* border?) - (set! (-> *load-boundary-target* 2 quad) (-> *load-boundary-target* 0 quad)) - (set! (-> *load-boundary-target* 3 quad) (-> *load-boundary-target* 1 quad)) - (set! (-> *load-boundary-target* 0 quad) (-> (camera-pos) quad)) - (set! (-> *load-boundary-target* 1 quad) (-> (target-pos 0) quad)) - (let ((gp-2 *load-boundary-list*)) - (while gp-2 - (when (zero? (-> gp-2 tri-cnt)) - (triangulate-boundary gp-2) - (find-bounding-circle gp-2) + (set! (-> *load-boundary-target* 2 quad) (-> *load-boundary-target* 0 quad)) + (set! (-> *load-boundary-target* 3 quad) (-> *load-boundary-target* 1 quad)) + (set! (-> *load-boundary-target* 0 quad) (-> (camera-pos) quad)) + (set! (-> *load-boundary-target* 1 quad) (-> (target-pos 0) quad)) + (let ((gp-2 *load-boundary-list*)) + (while gp-2 + (when (zero? (-> gp-2 tri-cnt)) + (triangulate-boundary gp-2) + (find-bounding-circle gp-2) + ) + (if *display-load-boundaries* + (render-boundary gp-2) + ) + (check-boundary gp-2) + (set! gp-2 (-> gp-2 next)) + ) ) - (if *display-load-boundaries* - (render-boundary gp-2) - ) - (check-boundary gp-2) - (set! gp-2 (-> gp-2 next)) - ) ) - ) (if *display-load-boundaries* - (edit-load-boundaries) - ) + (edit-load-boundaries) + ) 0 (none) ) @@ -1294,161 +1083,147 @@ (f0-0 268435460.0) (f2-0 -268435460.0) ) - (dotimes (v1-0 (the-as int (-> arg0 num-points))) - (if (< (-> arg0 data v1-0 x) f1-0) - (set! f1-0 (-> arg0 data v1-0 x)) - ) - (if (< f3-0 (-> arg0 data v1-0 x)) - (set! f3-0 (-> arg0 data v1-0 x)) - ) - (if (< (-> arg0 data v1-0 z) f0-0) - (set! f0-0 (-> arg0 data v1-0 z)) - ) - (if (< f2-0 (-> arg0 data v1-0 z)) - (set! f2-0 (-> arg0 data v1-0 z)) - ) - ) - (let* ((f3-2 (* 0.5 (+ f1-0 f3-0))) - (f2-2 (* 0.5 (+ f0-0 f2-0))) - (f1-1 (- f3-2 f1-0)) - (f0-1 (- f2-2 f0-0)) - (f0-4 (sqrtf (+ (* f1-1 f1-1) (* f0-1 f0-1)))) + (dotimes (v1-0 (the-as int (-> arg0 num-points))) + (if (< (-> arg0 data v1-0 x) f1-0) + (set! f1-0 (-> arg0 data v1-0 x)) ) - (set-vector! (-> arg0 rejector) f3-2 0.0 f2-2 f0-4) + (if (< f3-0 (-> arg0 data v1-0 x)) + (set! f3-0 (-> arg0 data v1-0 x)) + ) + (if (< (-> arg0 data v1-0 z) f0-0) + (set! f0-0 (-> arg0 data v1-0 z)) + ) + (if (< f2-0 (-> arg0 data v1-0 z)) + (set! f2-0 (-> arg0 data v1-0 z)) + ) + ) + (let* ((f3-2 (* 0.5 (+ f1-0 f3-0))) + (f2-2 (* 0.5 (+ f0-0 f2-0))) + (f1-1 (- f3-2 f1-0)) + (f0-1 (- f2-2 f0-0)) + (f0-4 (sqrtf (+ (* f1-1 f1-1) (* f0-1 f0-1)))) + ) + (set-vector! (-> arg0 rejector) f3-2 0.0 f2-2 f0-4) + ) ) - ) 0 (none) ) ;; definition for symbol *triangulation-buffer*, type (inline-array lbvtx) -(define - *triangulation-buffer* - (the-as (inline-array lbvtx) (malloc 'global 4096)) - ) +(define *triangulation-buffer* (the-as (inline-array lbvtx) (malloc 'global 4096))) ;; definition for function triangulate-boundary ;; INFO: Return type mismatch int vs object. ;; Used lq/sq (defun triangulate-boundary ((arg0 load-boundary)) (when (zero? (logand (-> arg0 flags) (load-boundary-flags closed))) - (set! (-> arg0 tri-cnt) 1) - (return (the-as object 0)) - ) - (let ((s5-0 *triangulation-buffer*)) - (new 'stack 'lbvtx) - (let ((s4-0 (-> arg0 num-points))) - (set! (-> arg0 tri-cnt) 0) - (dotimes (v1-7 (the-as int s4-0)) - (let ((a0-4 (-> arg0 data v1-7 quad))) - (set! (-> s5-0 v1-7 quad) a0-4) - ) - (if (zero? v1-7) - (set! (-> s5-0 v1-7 v0) (+ s4-0 -1)) - (set! (-> s5-0 v1-7 v0) (the-as uint (+ v1-7 -1))) - ) - (cond - ((= v1-7 (+ s4-0 -1)) - (set! (-> s5-0 v1-7 v1) (the-as uint 0)) - 0 - ) - (else - (set! (-> s5-0 v1-7 v1) (the-as uint (+ v1-7 1))) - ) - ) - (set! (-> s5-0 v1-7 v2) (the-as uint 1)) - ) - (while #t - (let ((a1-11 -1)) - (let ((f0-0 268435460.0)) - (dotimes (v1-10 (the-as int s4-0)) - (when (nonzero? (-> s5-0 v1-10 v2)) - (when - (or - (< (-> s5-0 v1-10 z) f0-0) - (and - (= (-> s5-0 v1-10 z) f0-0) - (< (-> s5-0 v1-10 x) (-> s5-0 a1-11 x)) - ) - ) - (set! f0-0 (-> s5-0 v1-10 z)) - (set! a1-11 v1-10) - ) - ) - ) - ) - (let* ((v1-14 (-> s5-0 a1-11)) - (a2-0 (-> s5-0 (-> v1-14 v0))) - (a0-36 (-> s5-0 (-> v1-14 v1))) - (f0-2 (- (-> v1-14 x) (-> a2-0 x))) - (f1-5 (- (-> v1-14 z) (-> a2-0 z))) - (f2-3 (- (-> a0-36 x) (-> v1-14 x))) - ) - (when (< (- (* f0-2 (- (-> a0-36 z) (-> v1-14 z))) (* f2-3 f1-5)) 0.0) - (dotimes (v1-16 (the-as int s4-0)) - (let ((a0-39 (-> s5-0 v1-16 v0))) - (set! (-> s5-0 v1-16 v0) (-> s5-0 v1-16 v1)) - (set! (-> s5-0 v1-16 v1) a0-39) - ) - ) - ) - ) - (let ((s3-0 a1-11) - (a0-40 (-> s5-0 a1-11 v0)) - (v1-23 (-> s5-0 a1-11 v1)) - ) - (let ((a2-6 0)) - (while (>= (-> s5-0 a0-40 z) (-> s5-0 s3-0 z)) - (set! s3-0 (the-as int a0-40)) - (set! a0-40 (-> s5-0 (the-as uint s3-0) v0)) - (+! a2-6 1) - (when (= a2-6 10) - (break!) - 0 - ) - ) - ) - (while (and (!= s3-0 a1-11) (>= (-> s5-0 s3-0 z) (-> s5-0 a0-40 z))) - (set! s3-0 (the-as int a0-40)) - (set! a0-40 (-> s5-0 (the-as uint s3-0) v0)) - ) - (when (= s3-0 a1-11) - (split-monotone-polygon arg0 a1-11) - (fix-boundary-normals arg0) - (return (the-as object 0)) - ) - (let ((s2-0 a1-11)) - (while - (and - (>= (-> s5-0 v1-23 z) (-> s5-0 s2-0 z)) - (>= (-> s5-0 s3-0 z) (-> s5-0 v1-23 z)) - ) - (set! s2-0 (the-as int v1-23)) - (set! v1-23 (-> s5-0 (the-as uint s2-0) v1)) - ) - (let ((s1-0 (-> s5-0 s3-0 v0)) - (s0-0 (-> s5-0 s2-0 v1)) - ) - (set! (-> s5-0 s3-0 v0) (the-as uint s2-0)) - (set! (-> s5-0 s2-0 v1) (the-as uint s3-0)) - (let ((v1-37 (-> s5-0 s3-0 v1))) - (while (!= v1-37 s2-0) - (set! (-> s5-0 v1-37 v2) (the-as uint 0)) - (set! v1-37 (-> s5-0 v1-37 v1)) - ) - ) - (split-monotone-polygon arg0 a1-11) - (set! (-> s5-0 s3-0 v0) s1-0) - (set! (-> s5-0 s2-0 v1) s0-0) - ) - (set! (-> s5-0 s2-0 v0) (the-as uint s3-0)) - (set! (-> s5-0 s3-0 v1) (the-as uint s2-0)) - ) - ) - ) - ) + (set! (-> arg0 tri-cnt) 1) + (return (the-as object 0)) + ) + (let ((s5-0 *triangulation-buffer*)) + (new 'stack 'lbvtx) + (let ((s4-0 (-> arg0 num-points))) + (set! (-> arg0 tri-cnt) 0) + (dotimes (v1-7 (the-as int s4-0)) + (let ((a0-4 (-> arg0 data v1-7 quad))) + (set! (-> s5-0 v1-7 quad) a0-4) + ) + (if (zero? v1-7) + (set! (-> s5-0 v1-7 v0) (+ s4-0 -1)) + (set! (-> s5-0 v1-7 v0) (the-as uint (+ v1-7 -1))) + ) + (cond + ((= v1-7 (+ s4-0 -1)) + (set! (-> s5-0 v1-7 v1) (the-as uint 0)) + 0 + ) + (else + (set! (-> s5-0 v1-7 v1) (the-as uint (+ v1-7 1))) + ) + ) + (set! (-> s5-0 v1-7 v2) (the-as uint 1)) + ) + (while #t + (let ((a1-11 -1)) + (let ((f0-0 268435460.0)) + (dotimes (v1-10 (the-as int s4-0)) + (when (nonzero? (-> s5-0 v1-10 v2)) + (when (or (< (-> s5-0 v1-10 z) f0-0) (and (= (-> s5-0 v1-10 z) f0-0) (< (-> s5-0 v1-10 x) (-> s5-0 a1-11 x)))) + (set! f0-0 (-> s5-0 v1-10 z)) + (set! a1-11 v1-10) + ) + ) + ) + ) + (let* ((v1-14 (-> s5-0 a1-11)) + (a2-0 (-> s5-0 (-> v1-14 v0))) + (a0-36 (-> s5-0 (-> v1-14 v1))) + (f0-2 (- (-> v1-14 x) (-> a2-0 x))) + (f1-5 (- (-> v1-14 z) (-> a2-0 z))) + (f2-3 (- (-> a0-36 x) (-> v1-14 x))) + ) + (when (< (- (* f0-2 (- (-> a0-36 z) (-> v1-14 z))) (* f2-3 f1-5)) 0.0) + (dotimes (v1-16 (the-as int s4-0)) + (let ((a0-39 (-> s5-0 v1-16 v0))) + (set! (-> s5-0 v1-16 v0) (-> s5-0 v1-16 v1)) + (set! (-> s5-0 v1-16 v1) a0-39) + ) + ) + ) + ) + (let ((s3-0 a1-11) + (a0-40 (-> s5-0 a1-11 v0)) + (v1-23 (-> s5-0 a1-11 v1)) + ) + (let ((a2-6 0)) + (while (>= (-> s5-0 a0-40 z) (-> s5-0 s3-0 z)) + (set! s3-0 (the-as int a0-40)) + (set! a0-40 (-> s5-0 (the-as uint s3-0) v0)) + (+! a2-6 1) + (when (= a2-6 10) + (break!) + 0 + ) + ) + ) + (while (and (!= s3-0 a1-11) (>= (-> s5-0 s3-0 z) (-> s5-0 a0-40 z))) + (set! s3-0 (the-as int a0-40)) + (set! a0-40 (-> s5-0 (the-as uint s3-0) v0)) + ) + (when (= s3-0 a1-11) + (split-monotone-polygon arg0 a1-11) + (fix-boundary-normals arg0) + (return (the-as object 0)) + ) + (let ((s2-0 a1-11)) + (while (and (>= (-> s5-0 v1-23 z) (-> s5-0 s2-0 z)) (>= (-> s5-0 s3-0 z) (-> s5-0 v1-23 z))) + (set! s2-0 (the-as int v1-23)) + (set! v1-23 (-> s5-0 (the-as uint s2-0) v1)) + ) + (let ((s1-0 (-> s5-0 s3-0 v0)) + (s0-0 (-> s5-0 s2-0 v1)) + ) + (set! (-> s5-0 s3-0 v0) (the-as uint s2-0)) + (set! (-> s5-0 s2-0 v1) (the-as uint s3-0)) + (let ((v1-37 (-> s5-0 s3-0 v1))) + (while (!= v1-37 s2-0) + (set! (-> s5-0 v1-37 v2) (the-as uint 0)) + (set! v1-37 (-> s5-0 v1-37 v1)) + ) + ) + (split-monotone-polygon arg0 a1-11) + (set! (-> s5-0 s3-0 v0) s1-0) + (set! (-> s5-0 s2-0 v1) s0-0) + ) + (set! (-> s5-0 s2-0 v0) (the-as uint s3-0)) + (set! (-> s5-0 s3-0 v1) (the-as uint s2-0)) + ) + ) + ) + ) + ) ) - ) 0 ) @@ -1461,17 +1236,17 @@ (f1-2 (- (-> v1-0 a0-3 z) (-> v1-0 a1-3 z))) (a2-10 (-> v1-0 a1-3 v1)) ) - (while (!= a2-10 a0-3) - (let ((f2-2 (- (-> v1-0 a2-10 x) (-> v1-0 a1-3 x))) - (f3-2 (- (-> v1-0 a2-10 z) (-> v1-0 a1-3 z))) - ) - (if (< (- (* f2-2 f1-2) (* f0-1 f3-2)) 0.0) - (return #f) + (while (!= a2-10 a0-3) + (let ((f2-2 (- (-> v1-0 a2-10 x) (-> v1-0 a1-3 x))) + (f3-2 (- (-> v1-0 a2-10 z) (-> v1-0 a1-3 z))) + ) + (if (< (- (* f2-2 f1-2) (* f0-1 f3-2)) 0.0) + (return #f) + ) + ) + (set! a2-10 (-> v1-0 a2-10 v1)) ) - ) - (set! a2-10 (-> v1-0 a2-10 v1)) ) - ) #t ) @@ -1480,36 +1255,36 @@ ;; WARN: Expression building failed: Function split-monotone-polygon has a return type of none, but the expression builder found a return statement. (defun split-monotone-polygon ((arg0 load-boundary) (arg1 int)) (let ((s5-0 *triangulation-buffer*)) - (while #t - (when (= (-> s5-0 (-> s5-0 (-> s5-0 arg1 v0) v0) v0) arg1) - (let ((v1-10 (-> arg0 tri-cnt))) - (set! (-> arg0 data v1-10 v0) (the-as uint arg1)) - (set! (-> arg0 data v1-10 v1) (-> s5-0 arg1 v0)) - (set! (-> arg0 data v1-10 v2) (-> s5-0 (-> s5-0 arg1 v0) v0)) + (while #t + (when (= (-> s5-0 (-> s5-0 (-> s5-0 arg1 v0) v0) v0) arg1) + (let ((v1-10 (-> arg0 tri-cnt))) + (set! (-> arg0 data v1-10 v0) (the-as uint arg1)) + (set! (-> arg0 data v1-10 v1) (-> s5-0 arg1 v0)) + (set! (-> arg0 data v1-10 v2) (-> s5-0 (-> s5-0 arg1 v0) v0)) + ) + (+! (-> arg0 tri-cnt) 1) + (return 0) + ) + (let ((s3-0 arg1)) + (while (not (try-corner arg0 s3-0)) + (set! s3-0 (the-as int (-> s5-0 s3-0 v1))) + (when (= (the-as uint s3-0) arg1) + ) + ) + (let ((a0-13 (-> arg0 tri-cnt))) + (set! arg1 (the-as int (-> s5-0 s3-0 v0))) + (let ((v1-25 (-> s5-0 s3-0 v1))) + (set! (-> arg0 data a0-13 v0) (the-as uint arg1)) + (set! (-> arg0 data a0-13 v1) (the-as uint s3-0)) + (set! (-> arg0 data a0-13 v2) v1-25) + (+! (-> arg0 tri-cnt) 1) + (set! (-> s5-0 (the-as uint arg1) v1) v1-25) + (set! (-> s5-0 v1-25 v0) (the-as uint arg1)) + ) + ) + ) ) - (+! (-> arg0 tri-cnt) 1) - (return 0) - ) - (let ((s3-0 arg1)) - (while (not (try-corner arg0 s3-0)) - (set! s3-0 (the-as int (-> s5-0 s3-0 v1))) - (when (= (the-as uint s3-0) arg1) - ) - ) - (let ((a0-13 (-> arg0 tri-cnt))) - (set! arg1 (the-as int (-> s5-0 s3-0 v0))) - (let ((v1-25 (-> s5-0 s3-0 v1))) - (set! (-> arg0 data a0-13 v0) (the-as uint arg1)) - (set! (-> arg0 data a0-13 v1) (the-as uint s3-0)) - (set! (-> arg0 data a0-13 v2) v1-25) - (+! (-> arg0 tri-cnt) 1) - (set! (-> s5-0 (the-as uint arg1) v1) v1-25) - (set! (-> s5-0 v1-25 v0) (the-as uint arg1)) - ) - ) - ) ) - ) 0 (none) ) @@ -1518,28 +1293,23 @@ ;; INFO: Return type mismatch int vs none. (defun fix-boundary-normals ((arg0 load-boundary)) (dotimes (s5-0 (-> arg0 tri-cnt)) - (let ((a1-0 (-> arg0 data (-> arg0 data s5-0 v0))) - (a2-0 (-> arg0 data (-> arg0 data s5-0 v1))) - (a3-0 (-> arg0 data (-> arg0 data s5-0 v2))) - (s4-0 (new 'stack-no-clear 'vector)) - ) - (normal-of-plane - s4-0 - (the-as vector a1-0) - (the-as vector a2-0) - (the-as vector a3-0) - ) - (if (or (!= (-> s4-0 x) 0.0) (!= (-> s4-0 z) 0.0)) - (format 0 "ERROR in the load-boundary code : tell Eddie!!!~%") - ) - (when (< (-> s4-0 y) 0.0) - (let ((v1-22 (-> arg0 data s5-0 v0))) - (set! (-> arg0 data s5-0 v0) (-> arg0 data s5-0 v1)) - (set! (-> arg0 data s5-0 v1) v1-22) + (let ((a1-0 (-> arg0 data (-> arg0 data s5-0 v0))) + (a2-0 (-> arg0 data (-> arg0 data s5-0 v1))) + (a3-0 (-> arg0 data (-> arg0 data s5-0 v2))) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (normal-of-plane s4-0 (the-as vector a1-0) (the-as vector a2-0) (the-as vector a3-0)) + (if (or (!= (-> s4-0 x) 0.0) (!= (-> s4-0 z) 0.0)) + (format 0 "ERROR in the load-boundary code : tell Eddie!!!~%") + ) + (when (< (-> s4-0 y) 0.0) + (let ((v1-22 (-> arg0 data s5-0 v0))) + (set! (-> arg0 data s5-0 v0) (-> arg0 data s5-0 v1)) + (set! (-> arg0 data s5-0 v1) v1-22) + ) + ) ) - ) ) - ) 0 (none) ) @@ -1547,63 +1317,60 @@ ;; definition for function point-in-polygon (defun point-in-polygon ((arg0 load-boundary) (arg1 vector)) (dotimes (v1-0 (-> arg0 tri-cnt)) - (let* ((a2-5 (-> arg0 data (-> arg0 data v1-0 v0))) - (t0-0 (-> arg0 data (-> arg0 data v1-0 v1))) - (a3-10 (-> arg0 data (-> arg0 data v1-0 v2))) - (f0-1 (- (-> t0-0 x) (-> a3-10 x))) - (f1-2 (- (-> t0-0 z) (-> a3-10 z))) - (f2-2 (- (-> t0-0 x) (-> arg1 x))) - (f3-2 (- (-> t0-0 z) (-> arg1 z))) - ) - (when (>= (- (* f2-2 f1-2) (* f0-1 f3-2)) 0.0) - (let ((f0-5 (- (-> t0-0 x) (-> arg1 x))) - (f1-7 (- (-> t0-0 z) (-> arg1 z))) - (f2-5 (- (-> t0-0 x) (-> a2-5 x))) - (f3-5 (- (-> t0-0 z) (-> a2-5 z))) + (let* ((a2-5 (-> arg0 data (-> arg0 data v1-0 v0))) + (t0-0 (-> arg0 data (-> arg0 data v1-0 v1))) + (a3-10 (-> arg0 data (-> arg0 data v1-0 v2))) + (f0-1 (- (-> t0-0 x) (-> a3-10 x))) + (f1-2 (- (-> t0-0 z) (-> a3-10 z))) + (f2-2 (- (-> t0-0 x) (-> arg1 x))) + (f3-2 (- (-> t0-0 z) (-> arg1 z))) ) - (when (>= (- (* f2-5 f1-7) (* f0-5 f3-5)) 0.0) - (let ((f0-9 (- (-> arg1 x) (-> a3-10 x))) - (f1-12 (- (-> arg1 z) (-> a3-10 z))) - (f2-8 (- (-> arg1 x) (-> a2-5 x))) - (f3-8 (- (-> arg1 z) (-> a2-5 z))) - ) - (if (>= (- (* f2-8 f1-12) (* f0-9 f3-8)) 0.0) - (return #t) - ) + (when (>= (- (* f2-2 f1-2) (* f0-1 f3-2)) 0.0) + (let ((f0-5 (- (-> t0-0 x) (-> arg1 x))) + (f1-7 (- (-> t0-0 z) (-> arg1 z))) + (f2-5 (- (-> t0-0 x) (-> a2-5 x))) + (f3-5 (- (-> t0-0 z) (-> a2-5 z))) + ) + (when (>= (- (* f2-5 f1-7) (* f0-5 f3-5)) 0.0) + (let ((f0-9 (- (-> arg1 x) (-> a3-10 x))) + (f1-12 (- (-> arg1 z) (-> a3-10 z))) + (f2-8 (- (-> arg1 x) (-> a2-5 x))) + (f3-8 (- (-> arg1 z) (-> a2-5 z))) + ) + (if (>= (- (* f2-8 f1-12) (* f0-9 f3-8)) 0.0) + (return #t) + ) + ) + ) + ) ) - ) ) - ) ) - ) #f ) ;; definition for function check-closed-boundary ;; INFO: Return type mismatch int vs symbol. (defun check-closed-boundary ((arg0 load-boundary) (arg1 lbvtx) (arg2 lbvtx)) - (if - (and (< (-> arg0 top-plane) (-> arg1 y)) (< (-> arg0 top-plane) (-> arg2 y))) - (return (the-as symbol 0)) - ) - (if - (and (< (-> arg1 y) (-> arg0 top-plane)) (< (-> arg2 y) (-> arg0 top-plane))) - (return (the-as symbol 0)) - ) - (let - ((f0-6 (/ (- (-> arg1 y) (-> arg2 y)) (- (-> arg0 top-plane) (-> arg2 y)))) - (a1-1 (new 'stack-no-clear 'vector)) + (if (and (< (-> arg0 top-plane) (-> arg1 y)) (< (-> arg0 top-plane) (-> arg2 y))) + (return (the-as symbol 0)) + ) + (if (and (< (-> arg1 y) (-> arg0 top-plane)) (< (-> arg2 y) (-> arg0 top-plane))) + (return (the-as symbol 0)) + ) + (let ((f0-6 (/ (- (-> arg1 y) (-> arg2 y)) (- (-> arg0 top-plane) (-> arg2 y)))) + (a1-1 (new 'stack-no-clear 'vector)) + ) + (set! (-> a1-1 x) (+ (-> arg2 x) (* f0-6 (- (-> arg1 x) (-> arg2 x))))) + (set! (-> a1-1 y) (+ (-> arg2 y) (* f0-6 (- (-> arg1 y) (-> arg2 y))))) + (set! (-> a1-1 z) (+ (-> arg2 z) (* f0-6 (- (-> arg1 z) (-> arg2 z))))) + (when (point-in-polygon arg0 a1-1) + (if (< (-> arg0 top-plane) (-> arg1 y)) + (return (the-as symbol 2)) + ) + (return (the-as symbol 1)) + ) ) - (set! (-> a1-1 x) (+ (-> arg2 x) (* f0-6 (- (-> arg1 x) (-> arg2 x))))) - (set! (-> a1-1 y) (+ (-> arg2 y) (* f0-6 (- (-> arg1 y) (-> arg2 y))))) - (set! (-> a1-1 z) (+ (-> arg2 z) (* f0-6 (- (-> arg1 z) (-> arg2 z))))) - (when (point-in-polygon arg0 a1-1) - (if (< (-> arg0 top-plane) (-> arg1 y)) - (return (the-as symbol 2)) - ) - (return (the-as symbol 1)) - ) - ) (the-as symbol 0) ) @@ -1619,176 +1386,166 @@ (a3-0 1) (v1-0 0) ) - (if (and (= f0-0 f2-0) (= f1-0 f3-0)) - (return (the-as symbol 0)) - ) - (let ((f4-0 (- f2-0 f0-0)) - (f5-0 (- f3-0 f1-0)) - ) - (while (< a3-0 (the-as int (-> arg0 num-points))) - (let ((f8-0 (-> arg0 data a3-0 x)) - (f9-0 (-> arg0 data a3-0 z)) - ) - (let ((f10-2 (- (* (- f7-0 f1-0) f4-0) (* (- f6-0 f0-0) f5-0))) - (f11-4 - (- (* (- f7-0 f1-0) (- f8-0 f6-0)) (* (- f6-0 f0-0) (- f9-0 f7-0))) - ) - (f12-5 (- (* (- f8-0 f6-0) f5-0) (* (- f9-0 f7-0) f4-0))) - ) - (when (!= f12-5 0.0) - (let ((f10-3 (/ f10-2 f12-5)) - (f11-5 (/ f11-4 f12-5)) - ) - (if (and (>= f10-3 0.0) (>= 1.0 f10-3)) - 0 - ) - (when (and (>= f10-3 0.0) (>= 1.0 f10-3) (< 0.0 f11-5) (>= 1.0 f11-5)) - (let ((f10-5 (+ (-> arg2 y) (* f10-3 (- (-> arg1 y) (-> arg2 y)))))) - (when - (and (>= f10-5 (-> arg0 bot-plane)) (>= (-> arg0 top-plane) f10-5)) - (let - ((f6-3 - (- - (* (- f2-0 f6-0) (- f9-0 f7-0)) - (* (- f3-0 f7-0) (- f8-0 f6-0)) - ) - ) - ) - (if (< 0.0 f6-3) - (+! v1-0 1) - (+! v1-0 -1) - ) - ) - ) - ) - ) - ) + (if (and (= f0-0 f2-0) (= f1-0 f3-0)) + (return (the-as symbol 0)) + ) + (let ((f4-0 (- f2-0 f0-0)) + (f5-0 (- f3-0 f1-0)) + ) + (while (< a3-0 (the-as int (-> arg0 num-points))) + (let ((f8-0 (-> arg0 data a3-0 x)) + (f9-0 (-> arg0 data a3-0 z)) + ) + (let ((f10-2 (- (* (- f7-0 f1-0) f4-0) (* (- f6-0 f0-0) f5-0))) + (f11-4 (- (* (- f7-0 f1-0) (- f8-0 f6-0)) (* (- f6-0 f0-0) (- f9-0 f7-0)))) + (f12-5 (- (* (- f8-0 f6-0) f5-0) (* (- f9-0 f7-0) f4-0))) + ) + (when (!= f12-5 0.0) + (let ((f10-3 (/ f10-2 f12-5)) + (f11-5 (/ f11-4 f12-5)) + ) + (if (and (>= f10-3 0.0) (>= 1.0 f10-3)) + 0 + ) + (when (and (>= f10-3 0.0) (>= 1.0 f10-3) (< 0.0 f11-5) (>= 1.0 f11-5)) + (let ((f10-5 (+ (-> arg2 y) (* f10-3 (- (-> arg1 y) (-> arg2 y)))))) + (when (and (>= f10-5 (-> arg0 bot-plane)) (>= (-> arg0 top-plane) f10-5)) + (let ((f6-3 (- (* (- f2-0 f6-0) (- f9-0 f7-0)) (* (- f3-0 f7-0) (- f8-0 f6-0))))) + (if (< 0.0 f6-3) + (+! v1-0 1) + (+! v1-0 -1) + ) + ) + ) + ) + ) + ) + ) + ) + (set! f6-0 f8-0) + (set! f7-0 f9-0) + ) + (+! a3-0 1) ) - ) - (set! f6-0 f8-0) - (set! f7-0 f9-0) ) - (+! a3-0 1) - ) + (if (> v1-0 0) + (return (the-as symbol 1)) + ) + (if (< v1-0 0) + (return (the-as symbol 2)) + ) ) - (if (> v1-0 0) - (return (the-as symbol 1)) - ) - (if (< v1-0 0) - (return (the-as symbol 2)) - ) - ) (the-as symbol 0) ) ;; definition for function command-get-int (defun command-get-int ((arg0 object) (arg1 int)) (cond - ((null? arg0) - (empty) - arg1 + ((null? arg0) + (empty) + arg1 + ) + ((type-type? (rtype-of arg0) binteger) + (/ (the-as int arg0) 8) + ) + ((type-type? (rtype-of arg0) bfloat) + (the int (-> (the-as bfloat arg0) data)) + ) + (else + (empty) + arg1 + ) ) - ((type-type? (rtype-of arg0) binteger) - (/ (the-as int arg0) 8) - ) - ((type-type? (rtype-of arg0) bfloat) - (the int (-> (the-as bfloat arg0) data)) - ) - (else - (empty) - arg1 - ) - ) ) ;; definition for function command-get-float (defun command-get-float ((arg0 object) (arg1 float)) (cond - ((null? arg0) - (empty) - arg1 + ((null? arg0) + (empty) + arg1 + ) + ((type-type? (rtype-of arg0) binteger) + (the float (/ (the-as int arg0) 8)) + ) + ((type-type? (rtype-of arg0) bfloat) + (-> (the-as bfloat arg0) data) + ) + (else + (empty) + arg1 + ) ) - ((type-type? (rtype-of arg0) binteger) - (the float (/ (the-as int arg0) 8)) - ) - ((type-type? (rtype-of arg0) bfloat) - (-> (the-as bfloat arg0) data) - ) - (else - (empty) - arg1 - ) - ) ) ;; definition for function command-get-time (defun command-get-time ((arg0 object) (arg1 int)) (cond - ((null? arg0) - (empty) - arg1 + ((null? arg0) + (empty) + arg1 + ) + ((and (pair? arg0) (= (car arg0) 'seconds)) + (the int (* 300.0 (command-get-float (car (cdr arg0)) 0.0))) + ) + ((type-type? (rtype-of arg0) binteger) + (/ (the-as int arg0) 8) + ) + ((type-type? (rtype-of arg0) bfloat) + (the int (-> (the-as bfloat arg0) data)) + ) + (else + (empty) + arg1 + ) ) - ((and (pair? arg0) (= (car arg0) 'seconds)) - (the int (* 300.0 (command-get-float (car (cdr arg0)) 0.0))) - ) - ((type-type? (rtype-of arg0) binteger) - (/ (the-as int arg0) 8) - ) - ((type-type? (rtype-of arg0) bfloat) - (the int (-> (the-as bfloat arg0) data)) - ) - (else - (empty) - arg1 - ) - ) ) ;; definition for function command-get-param (defun command-get-param ((arg0 object) (arg1 object)) (cond - ((null? arg0) - arg1 - ) - ((and (pair? arg0) (= (car arg0) 'seconds)) - (the int (* 300.0 (command-get-float (car (cdr arg0)) 0.0))) - ) - ((and (pair? arg0) (= (car arg0) 'meters)) - (* 4096.0 (command-get-float (car (cdr arg0)) 0.0)) - ) - ((and (pair? arg0) (= (car arg0) 'deg)) - (* 182.04445 (command-get-float (car (cdr arg0)) 0.0)) - ) - ((and (pair? arg0) (= (car arg0) 'static-vectorm)) - (let ((s4-0 (the-as object (new 'static 'vector)))) - (set-vector! - (the-as vector s4-0) - (* 4096.0 (command-get-float (car (cdr arg0)) 0.0)) - (* 4096.0 (command-get-float (car (cdr (cdr arg0))) 0.0)) - (* 4096.0 (command-get-float (car (cdr (cdr (cdr arg0)))) 0.0)) - 1.0 - ) - s4-0 + ((null? arg0) + arg1 ) + ((and (pair? arg0) (= (car arg0) 'seconds)) + (the int (* 300.0 (command-get-float (car (cdr arg0)) 0.0))) + ) + ((and (pair? arg0) (= (car arg0) 'meters)) + (* 4096.0 (command-get-float (car (cdr arg0)) 0.0)) + ) + ((and (pair? arg0) (= (car arg0) 'deg)) + (* 182.04445 (command-get-float (car (cdr arg0)) 0.0)) + ) + ((and (pair? arg0) (= (car arg0) 'static-vectorm)) + (let ((s4-0 (the-as object (new 'static 'vector)))) + (set-vector! + (the-as vector s4-0) + (* 4096.0 (command-get-float (car (cdr arg0)) 0.0)) + (* 4096.0 (command-get-float (car (cdr (cdr arg0))) 0.0)) + (* 4096.0 (command-get-float (car (cdr (cdr (cdr arg0)))) 0.0)) + 1.0 + ) + s4-0 + ) + ) + ((type-type? (rtype-of arg0) binteger) + (/ (the-as int arg0) 8) + ) + ((type-type? (rtype-of arg0) bfloat) + (-> (the-as bfloat arg0) data) + ) + (else + arg0 + ) ) - ((type-type? (rtype-of arg0) binteger) - (/ (the-as int arg0) 8) - ) - ((type-type? (rtype-of arg0) bfloat) - (-> (the-as bfloat arg0) data) - ) - (else - arg0 - ) - ) ) ;; definition for function command-get-quoted-param (defun command-get-quoted-param ((arg0 object) (arg1 object)) (if (and (pair? arg0) (= (car arg0) 'quote)) - (command-get-param (car (cdr arg0)) arg1) - (command-get-param arg0 arg1) - ) + (command-get-param (car (cdr arg0)) arg1) + (command-get-param arg0 arg1) + ) ) ;; definition for method 9 of type load-state @@ -1803,66 +1560,63 @@ (set! (-> obj want 1 force-inside?) #f) (set! (-> obj command-list) '()) (dotimes (v1-1 256) - (set! (-> obj object-name v1-1) #f) - (set! (-> obj object-status v1-1) (the-as basic 0)) - ) + (set! (-> obj object-name v1-1) #f) + (set! (-> obj object-status v1-1) (the-as basic 0)) + ) obj ) ;; definition for method 11 of type load-state (defmethod want-levels load-state ((obj load-state) (arg0 symbol) (arg1 symbol)) (dotimes (v1-0 2) - (cond - ((= (-> obj want v1-0 name) arg0) - (set! arg0 #f) - ) - ((= (-> obj want v1-0 name) arg1) - (set! arg1 #f) - ) - (else - (set! (-> obj want v1-0 name) #f) - ) + (cond + ((= (-> obj want v1-0 name) arg0) + (set! arg0 #f) + ) + ((= (-> obj want v1-0 name) arg1) + (set! arg1 #f) + ) + (else + (set! (-> obj want v1-0 name) #f) + ) + ) ) - ) (when arg0 - (dotimes (v1-4 2) - (when (not (-> obj want v1-4 name)) - (set! (-> obj want v1-4 name) arg0) - (set! (-> obj want v1-4 display?) #f) - (set! (-> obj want v1-4 force-vis?) #f) - (set! (-> obj want v1-4 force-inside?) #f) - (set! v1-4 2) - ) + (dotimes (v1-4 2) + (when (not (-> obj want v1-4 name)) + (set! (-> obj want v1-4 name) arg0) + (set! (-> obj want v1-4 display?) #f) + (set! (-> obj want v1-4 force-vis?) #f) + (set! (-> obj want v1-4 force-inside?) #f) + (set! v1-4 2) + ) + ) ) - ) (when arg1 - (dotimes (v1-10 2) - (when (not (-> obj want v1-10 name)) - (set! (-> obj want v1-10 name) arg1) - (set! (-> obj want v1-10 display?) #f) - (set! (-> obj want v1-10 force-vis?) #f) - (set! (-> obj want v1-10 force-inside?) #f) - (set! v1-10 2) - ) + (dotimes (v1-10 2) + (when (not (-> obj want v1-10 name)) + (set! (-> obj want v1-10 name) arg1) + (set! (-> obj want v1-10 display?) #f) + (set! (-> obj want v1-10 force-vis?) #f) + (set! (-> obj want v1-10 force-inside?) #f) + (set! v1-10 2) + ) + ) ) - ) 0 ) ;; definition for method 12 of type load-state -(defmethod - want-display-level - load-state - ((obj load-state) (arg0 symbol) (arg1 symbol)) +(defmethod want-display-level load-state ((obj load-state) (arg0 symbol) (arg1 symbol)) (dotimes (v1-0 2) - (when (= (-> obj want v1-0 name) arg0) - (set! (-> obj want v1-0 display?) arg1) - (return 0) + (when (= (-> obj want v1-0 name) arg0) + (set! (-> obj want v1-0 display?) arg1) + (return 0) + ) ) - ) (if arg1 - (format 0 "ERROR: can't display ~A because it isn't loaded~%" arg0) - ) + (format 0 "ERROR: can't display ~A because it isn't loaded~%" arg0) + ) 0 ) @@ -1873,16 +1627,13 @@ ) ;; definition for method 14 of type load-state -(defmethod - want-force-vis - load-state - ((obj load-state) (arg0 symbol) (arg1 symbol)) +(defmethod want-force-vis load-state ((obj load-state) (arg0 symbol) (arg1 symbol)) (dotimes (v1-0 2) - (when (= (-> obj want v1-0 name) arg0) - (set! (-> obj want v1-0 force-vis?) arg1) - (return 0) + (when (= (-> obj want v1-0 name) arg0) + (set! (-> obj want v1-0 force-vis?) arg1) + (return 0) + ) ) - ) (format 0 "ERROR: can't force vis on ~A because it isn't loaded~%" arg0) 0 ) @@ -1890,16 +1641,13 @@ ;; definition for method 20 of type load-state ;; INFO: Return type mismatch int vs none. ;; WARN: Expression building failed: Function (method 20 load-state) has a return type of none, but the expression builder found a return statement. -(defmethod - set-force-inside! - load-state - ((obj load-state) (arg0 symbol) (arg1 symbol)) +(defmethod set-force-inside! load-state ((obj load-state) (arg0 symbol) (arg1 symbol)) (dotimes (v1-0 2) - (when (= (-> obj want v1-0 name) arg0) - (set! (-> obj want v1-0 force-inside?) arg1) - (return 0) + (when (= (-> obj want v1-0 name) arg0) + (set! (-> obj want v1-0 force-inside?) arg1) + (return 0) + ) ) - ) (format 0 "ERROR: can't force inside on ~A because it isn't loaded~%" arg0) 0 (none) @@ -1932,20 +1680,13 @@ (define *backup-load-state* (new 'global 'load-state)) ;; definition for method 17 of type load-state -(defmethod - backup-load-state-and-set-cmds - load-state - ((obj load-state) (arg0 pair)) +(defmethod backup-load-state-and-set-cmds load-state ((obj load-state) (arg0 pair)) (dotimes (s4-0 256) - (when (-> obj object-name s4-0) - (format - 0 - "WARNING: load state somehow aquired object command ~A~%" - (-> obj object-name s4-0) - ) - (set! (-> obj object-name s4-0) #f) + (when (-> obj object-name s4-0) + (format 0 "WARNING: load state somehow aquired object command ~A~%" (-> obj object-name s4-0)) + (set! (-> obj object-name s4-0) #f) + ) ) - ) (mem-copy! (&-> *backup-load-state* type) (&-> obj type) 2092) (set! (-> *backup-load-state* command-list) '()) (set! (-> obj command-list) arg0) @@ -1956,19 +1697,16 @@ (defmethod restore-load-state-and-cleanup load-state ((obj load-state)) (execute-commands-up-to obj 100000.0) (dotimes (s5-0 256) - (when (-> obj object-name s5-0) - (let ((a0-3 (entity-by-name (the-as string (-> obj object-name s5-0))))) - (set! - (-> a0-3 extra perm status) - (the-as entity-perm-status (-> obj object-status s5-0)) + (when (-> obj object-name s5-0) + (let ((a0-3 (entity-by-name (the-as string (-> obj object-name s5-0))))) + (set! (-> a0-3 extra perm status) (the-as entity-perm-status (-> obj object-status s5-0))) + (if (-> a0-3 extra process) + (kill! a0-3) + ) + ) + (set! (-> obj object-name s5-0) #f) ) - (if (-> a0-3 extra process) - (kill! a0-3) - ) - ) - (set! (-> obj object-name s5-0) #f) ) - ) (mem-copy! (&-> obj type) (&-> *backup-load-state* type) 2092) 0 ) @@ -1976,10 +1714,10 @@ ;; definition for method 19 of type load-state (defmethod restore-load-state load-state ((obj load-state)) (dotimes (v1-0 256) - (if (-> obj object-name v1-0) - (set! (-> obj object-name v1-0) #f) + (if (-> obj object-name v1-0) + (set! (-> obj object-name v1-0) #f) + ) ) - ) (mem-copy! (&-> obj type) (&-> *backup-load-state* type) 2092) 0 ) @@ -1988,121 +1726,105 @@ ;; INFO: Return type mismatch object vs process. (defun command-list-get-process ((arg0 object)) (with-pp - (set! arg0 (cond - ((null? arg0) - #f - ) - ((type-type? (rtype-of arg0) process) - (empty) - arg0 - ) - ((= arg0 'target) - *target* - ) - ((= arg0 'sidekick) - (if *target* + (set! arg0 + (cond + ((null? arg0) + #f + ) + ((type-type? (rtype-of arg0) process) + (empty) + arg0 + ) + ((= arg0 'target) + *target* + ) + ((= arg0 'sidekick) + (if *target* (ppointer->process (-> *target* sidekick)) ) - ) - ((= arg0 'self) - pp - ) - ((= arg0 'parent) - (ppointer->process (-> pp parent)) - ) - ((= arg0 'camera) - *camera* - ) - ((type-type? (rtype-of arg0) string) - (let ((v1-14 (process-by-ename (the-as string arg0)))) - (cond - (v1-14 + ) + ((= arg0 'self) + pp + ) + ((= arg0 'parent) + (ppointer->process (-> pp parent)) + ) + ((= arg0 'camera) + *camera* + ) + ((type-type? (rtype-of arg0) string) + (let ((v1-14 (process-by-ename (the-as string arg0)))) + (cond + (v1-14 (empty) v1-14 ) - (else + (else (let ((s5-0 (ppointer->process (-> pp child)))) - (while s5-0 - (let* ((s3-0 s5-0) - (s4-0 - (if - (and - (nonzero? s3-0) - (type-type? (-> s3-0 type) process-drawable) - ) - s3-0 + (while s5-0 + (let* ((s3-0 s5-0) + (s4-0 (if (and (nonzero? s3-0) (type-type? (-> s3-0 type) process-drawable)) + s3-0 + ) + ) ) - ) - ) - (when - (and - s4-0 - (nonzero? (-> (the-as process-drawable s4-0) draw)) - (nonzero? - (-> (the-as process-drawable s4-0) draw art-group) + (when (and + s4-0 + (nonzero? (-> (the-as process-drawable s4-0) draw)) + (nonzero? (-> (the-as process-drawable s4-0) draw art-group)) + (string= (the-as string arg0) (-> (the-as process-drawable s4-0) draw art-group name)) + ) + (set! arg0 s4-0) + (goto cfg-56) + ) ) - (string= - (the-as string arg0) - (-> (the-as process-drawable s4-0) draw art-group name) - ) - ) - (set! arg0 s4-0) - (goto cfg-56) + (set! s5-0 (ppointer->process (-> s5-0 brother))) ) - ) - (set! s5-0 (ppointer->process (-> s5-0 brother))) ) - ) (the-as process #f) ) - ) ) - ) - (else - #f - ) ) + ) + (else + #f + ) + ) + ) + (label cfg-56) + (the-as process arg0) ) - (label cfg-56) - (the-as process arg0) - ) ) ;; definition for method 16 of type load-state (defmethod execute-commands-up-to load-state ((obj load-state) (arg0 float)) (while (not (null? (-> obj command-list))) - (let ((f0-0 (command-get-float (car (car (-> obj command-list))) 0.0)) - (s4-0 (cdr (car (-> obj command-list)))) + (let ((f0-0 (command-get-float (car (car (-> obj command-list))) 0.0)) + (s4-0 (cdr (car (-> obj command-list)))) + ) + (if (< arg0 f0-0) + (return (the-as int #f)) + ) + (if *display-load-commands* + (format 0 "NOTICE: ~D: ~f: execute command ~A~%" (-> *display* base-frame-counter) f0-0 s4-0) + ) + (cond + ((pair? (car s4-0)) + (let ((a1-3 (car s4-0))) + (while (not (null? s4-0)) + (execute-command obj (the-as pair a1-3)) + (set! s4-0 (cdr s4-0)) + (set! a1-3 (car s4-0)) + ) + ) ) - (if (< arg0 f0-0) - (return (the-as int #f)) - ) - (if *display-load-commands* - (format - 0 - "NOTICE: ~D: ~f: execute command ~A~%" - (-> *display* base-frame-counter) - f0-0 - s4-0 - ) - ) - (cond - ((pair? (car s4-0)) - (let ((a1-3 (car s4-0))) - (while (not (null? s4-0)) - (execute-command obj (the-as pair a1-3)) - (set! s4-0 (cdr s4-0)) - (set! a1-3 (car s4-0)) + (else + (execute-command obj s4-0) + ) ) - ) ) - (else - (execute-command obj s4-0) - ) - ) + (set! (-> obj command-list) (cdr (-> obj command-list))) ) - (set! (-> obj command-list) (cdr (-> obj command-list))) - ) 0 ) @@ -2111,368 +1833,293 @@ (defmethod execute-command load-state ((obj load-state) (arg0 pair)) (local-vars (v1-26 int) (v1-57 int)) (with-pp - (cond - ((null? arg0) - ) - ((pair? arg0) - (let ((v1-4 (car arg0)) - (gp-0 (cdr arg0)) - ) - (cond - ((= v1-4 'set!) - (let ((s5-1 (command-get-param (car gp-0) #f))) - (if s5-1 - (set! - (-> (the-as symbol s5-1) value) - (command-get-param (car (cdr gp-0)) #f) - ) - ) - ) - ) - ((= v1-4 'eval) - ((the-as (function int) (command-get-param (car gp-0) #f))) - ) - ((= v1-4 'want-vis) - (want-vis obj (the-as symbol (command-get-param (car gp-0) #f))) - ) - ((= v1-4 'want-levels) - (want-levels - obj - (the-as symbol (command-get-param (car gp-0) #f)) - (the-as symbol (command-get-param (car (cdr gp-0)) #f)) - ) - ) - ((= v1-4 'display-level) - (want-display-level - obj - (the-as symbol (command-get-param (car gp-0) #f)) - (the-as symbol (command-get-param (car (cdr gp-0)) #f)) - ) - ) - ((= v1-4 'want-force-vis) - (want-force-vis - obj - (the-as symbol (command-get-param (car gp-0) #f)) - (the-as symbol (command-get-param (car (cdr gp-0)) #f)) - ) - ) - ((= v1-4 'want-force-inside) - (set-force-inside! - obj - (the-as symbol (command-get-param (car gp-0) #f)) - (the-as symbol (command-get-param (car (cdr gp-0)) #f)) - ) - ) - ((= v1-4 'alive) - (let ((s4-5 (command-get-param (car gp-0) #f))) - (when s4-5 - (let ((gp-1 (entity-by-name (the-as string s4-5)))) - (when gp-1 - (dotimes (v1-25 256) - (when (not (-> obj object-name v1-25)) - (set! (-> obj object-name v1-25) (the-as symbol s4-5)) - (set! - (-> obj object-status v1-25) - (the-as basic (-> gp-1 extra perm status)) - ) - (set! v1-26 v1-25) - (goto cfg-29) - ) + (cond + ((null? arg0) + ) + ((pair? arg0) + (let ((v1-4 (car arg0)) + (gp-0 (cdr arg0)) ) - (set! v1-26 -1) - (label cfg-29) - (when (>= v1-26 0) - (entity-birth-no-kill gp-1) - (let ((a0-45 (-> gp-1 extra process))) - (when a0-45 - (logclear! (-> a0-45 mask) (process-mask actor-pause)) - (logclear! - (-> a0-45 mask) - (-> *kernel-context* prevent-from-run) - ) - ) - ) - ) - ) - ) - ) - ) - ) - ((= v1-4 'dead) - (let ((s3-4 (command-get-param (car gp-0) #f))) - (when s3-4 - (let ((s4-6 (entity-by-name (the-as string s3-4)))) - (when s4-6 - (dotimes (gp-2 256) - (when - (string= - (the-as string (-> obj object-name gp-2)) - (the-as string s3-4) - ) - (set! - (-> s4-6 extra perm status) - (the-as entity-perm-status (-> obj object-status gp-2)) - ) - (if (-> s4-6 extra process) - (kill! s4-6) - ) - (set! (-> obj object-name gp-2) #f) - (goto cfg-45) - ) - ) - ) - ) - ) - ) - (label cfg-45) - ) - ((= v1-4 'kill) - (let ((s4-7 (command-get-param (car gp-0) #f))) - (when s4-7 - (let ((gp-3 (entity-by-name (the-as string s4-7)))) - (when gp-3 - (dotimes (v1-56 256) - (when (not (-> obj object-name v1-56)) - (set! (-> obj object-name v1-56) (the-as symbol s4-7)) - (set! - (-> obj object-status v1-56) - (the-as basic (-> gp-3 extra perm status)) - ) - (set! v1-57 v1-56) - (goto cfg-56) - ) - ) - (set! v1-57 -1) - (label cfg-56) - (when (>= v1-57 0) - (if (-> gp-3 extra process) - (kill! gp-3) - ) - (logior! (-> gp-3 extra perm status) (entity-perm-status dead)) - ) - ) - ) - ) - ) - ) - ((= v1-4 'special) - (let ((a0-70 (command-get-param (car gp-0) #f))) - (when a0-70 - (let ((s5-2 (entity-by-name (the-as string a0-70)))) - (if s5-2 - (dummy-30 - (the-as entity-actor s5-2) - (entity-perm-status bit-7) - (the-as symbol (command-get-param (car (cdr gp-0)) #f)) - ) - ) - ) - ) - ) - ) - ((= v1-4 'active) - (let ((gp-4 (command-get-param (car gp-0) #f))) - (while (!= (level-status *level* (the-as symbol gp-4)) 'active) - (suspend) - ) - ) - ) - ((= v1-4 'part-tracker) - (let* ((s5-4 (command-get-param (car gp-0) #f)) - (a0-81 (command-get-param (car (cdr gp-0)) #f)) - (gp-5 (entity-by-name (the-as string a0-81))) - (s4-9 - (lookup-part-group-by-name - (symbol->string (the-as symbol s5-4)) - ) - ) - (s5-5 - (if - (and - (nonzero? s4-9) - (type-type? (-> s4-9 type) sparticle-launch-group) + (cond + ((= v1-4 'set!) + (let ((s5-1 (command-get-param (car gp-0) #f))) + (if s5-1 + (set! (-> (the-as symbol s5-1) value) (command-get-param (car (cdr gp-0)) #f)) ) - s4-9 - ) - ) - ) - (when (and gp-5 s5-5) - (let* ((s3-6 (-> gp-5 extra process)) - (s4-10 - (if - (and - (nonzero? s3-6) - (type-type? (-> s3-6 type) process-drawable) - ) - (the-as process-drawable s3-6) - ) - ) - (s3-7 (get-process *default-dead-pool* part-tracker #x4000)) - ) - (when s3-7 - (let ((t9-41 (method-of-type part-tracker activate)) - (a0-86 s3-7) - (a1-40 - (ppointer->process (-> *setting-control* current movie)) - ) - ) - (set! a1-40 (cond - (a1-40 - (empty) - a1-40 - ) - (else - *entity-pool* - ) + ) + ) + ((= v1-4 'eval) + ((the-as (function int) (command-get-param (car gp-0) #f))) + ) + ((= v1-4 'want-vis) + (want-vis obj (the-as symbol (command-get-param (car gp-0) #f))) + ) + ((= v1-4 'want-levels) + (want-levels + obj + (the-as symbol (command-get-param (car gp-0) #f)) + (the-as symbol (command-get-param (car (cdr gp-0)) #f)) + ) + ) + ((= v1-4 'display-level) + (want-display-level + obj + (the-as symbol (command-get-param (car gp-0) #f)) + (the-as symbol (command-get-param (car (cdr gp-0)) #f)) + ) + ) + ((= v1-4 'want-force-vis) + (want-force-vis + obj + (the-as symbol (command-get-param (car gp-0) #f)) + (the-as symbol (command-get-param (car (cdr gp-0)) #f)) + ) + ) + ((= v1-4 'want-force-inside) + (set-force-inside! + obj + (the-as symbol (command-get-param (car gp-0) #f)) + (the-as symbol (command-get-param (car (cdr gp-0)) #f)) + ) + ) + ((= v1-4 'alive) + (let ((s4-5 (command-get-param (car gp-0) #f))) + (when s4-5 + (let ((gp-1 (entity-by-name (the-as string s4-5)))) + (when gp-1 + (dotimes (v1-25 256) + (when (not (-> obj object-name v1-25)) + (set! (-> obj object-name v1-25) (the-as symbol s4-5)) + (set! (-> obj object-status v1-25) (the-as basic (-> gp-1 extra perm status))) + (set! v1-26 v1-25) + (goto cfg-29) + ) + ) + (set! v1-26 -1) + (label cfg-29) + (when (>= v1-26 0) + (entity-birth-no-kill gp-1) + (let ((a0-45 (-> gp-1 extra process))) + (when a0-45 + (logclear! (-> a0-45 mask) (process-mask actor-pause)) + (logclear! (-> a0-45 mask) (-> *kernel-context* prevent-from-run)) ) + ) + ) + ) + ) + ) ) - (t9-41 - (the-as part-tracker a0-86) - a1-40 - 'part-tracker - (the-as pointer #x70004000) + ) + ((= v1-4 'dead) + (let ((s3-4 (command-get-param (car gp-0) #f))) + (when s3-4 + (let ((s4-6 (entity-by-name (the-as string s3-4)))) + (when s4-6 + (dotimes (gp-2 256) + (when (string= (the-as string (-> obj object-name gp-2)) (the-as string s3-4)) + (set! (-> s4-6 extra perm status) (the-as entity-perm-status (-> obj object-status gp-2))) + (if (-> s4-6 extra process) + (kill! s4-6) + ) + (set! (-> obj object-name gp-2) #f) + (goto cfg-45) + ) + ) + ) + ) + ) + ) + (label cfg-45) + ) + ((= v1-4 'kill) + (let ((s4-7 (command-get-param (car gp-0) #f))) + (when s4-7 + (let ((gp-3 (entity-by-name (the-as string s4-7)))) + (when gp-3 + (dotimes (v1-56 256) + (when (not (-> obj object-name v1-56)) + (set! (-> obj object-name v1-56) (the-as symbol s4-7)) + (set! (-> obj object-status v1-56) (the-as basic (-> gp-3 extra perm status))) + (set! v1-57 v1-56) + (goto cfg-56) + ) + ) + (set! v1-57 -1) + (label cfg-56) + (when (>= v1-57 0) + (if (-> gp-3 extra process) + (kill! gp-3) + ) + (logior! (-> gp-3 extra perm status) (entity-perm-status dead)) + ) + ) + ) + ) + ) + ) + ((= v1-4 'special) + (let ((a0-70 (command-get-param (car gp-0) #f))) + (when a0-70 + (let ((s5-2 (entity-by-name (the-as string a0-70)))) + (if s5-2 + (dummy-30 + (the-as entity-actor s5-2) + (entity-perm-status bit-7) + (the-as symbol (command-get-param (car (cdr gp-0)) #f)) + ) + ) + ) + ) + ) + ) + ((= v1-4 'active) + (let ((gp-4 (command-get-param (car gp-0) #f))) + (while (!= (level-status *level* (the-as symbol gp-4)) 'active) + (suspend) + ) + ) + ) + ((= v1-4 'part-tracker) + (let* ((s5-4 (command-get-param (car gp-0) #f)) + (a0-81 (command-get-param (car (cdr gp-0)) #f)) + (gp-5 (entity-by-name (the-as string a0-81))) + (s4-9 (lookup-part-group-by-name (symbol->string (the-as symbol s5-4)))) + (s5-5 (if (and (nonzero? s4-9) (type-type? (-> s4-9 type) sparticle-launch-group)) + s4-9 + ) + ) + ) + (when (and gp-5 s5-5) + (let* ((s3-6 (-> gp-5 extra process)) + (s4-10 (if (and (nonzero? s3-6) (type-type? (-> s3-6 type) process-drawable)) + (the-as process-drawable s3-6) + ) + ) + (s3-7 (get-process *default-dead-pool* part-tracker #x4000)) + ) + (when s3-7 + (let ((t9-41 (method-of-type part-tracker activate)) + (a0-86 s3-7) + (a1-40 (ppointer->process (-> *setting-control* current movie))) + ) + (set! a1-40 (cond + (a1-40 + (empty) + a1-40 + ) + (else + *entity-pool* + ) + ) + ) + (t9-41 (the-as part-tracker a0-86) a1-40 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s3-7 part-tracker-init s5-5 -1 #f #f #f (if s4-10 + (-> s4-10 root trans) + (-> gp-5 extra trans) + ) + ) + (-> s3-7 ppointer) + ) + ) + ) + ) + ) + ((= v1-4 'auto-save) + (auto-save-command (the-as symbol (command-get-param (car gp-0) #f)) 0 0 *default-pool*) + ) + ((= v1-4 'shadow) + (let ((s5-7 (command-list-get-process (car gp-0))) + (v1-95 (command-get-quoted-param (car (cdr gp-0)) #f)) + ) + (send-event s5-7 'shadow v1-95) + ) + ) + ((= v1-4 'time-of-day) + (when *time-of-day-proc* + (let ((v1-99 (command-get-int (car gp-0) 0))) + (cond + ((< v1-99 0) + (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) + ) + (else + (set! (-> *time-of-day-proc* 0 hour) v1-99) + (set! (-> *time-of-day-proc* 0 minute) 0) + (set! (-> *time-of-day-proc* 0 frame) 0) + (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) + ) + ) + ) + ) + ) + ((= v1-4 'save) + (mem-copy! (&-> *backup-load-state* type) (&-> obj type) 2092) + (set! (-> *backup-load-state* command-list) '()) + (dotimes (v1-112 256) + (if (-> *backup-load-state* object-name v1-112) + (set! (-> *backup-load-state* object-name v1-112) #f) + ) + ) + ) + ((= v1-4 'setting-reset) + (set-setting! + *setting-control* + pp + (the-as symbol (command-get-param (car gp-0) #f)) + (the-as symbol (command-get-param (car (cdr gp-0)) #f)) + 0.0 + 0 + ) + ) + ((= v1-4 'setting-unset) + (clear-pending-settings-from-process *setting-control* pp (the-as symbol (command-get-param (car gp-0) #f))) + ) + ((= v1-4 'blackout) + (set-blackout-frames (the int (* 5.0000005 (the float (command-get-int (car gp-0) 0))))) + ) + ((= v1-4 'teleport) + (set! *teleport* #t) + ) + ((= v1-4 'joint) + (send-event (ppointer->process (-> *setting-control* current movie)) 'joint (command-get-param (car gp-0) #f)) + (set! *teleport-count* 2) + ) + ((= v1-4 'ambient) + (ambient-hint-spawn + (the-as string (command-get-param (car (cdr gp-0)) #f)) + (the-as vector #f) + *entity-pool* + (the-as symbol (command-get-param (car gp-0) #f)) + ) + ) + ((= v1-4 'send-event) + (let ((s5-13 (command-list-get-process (car gp-0))) + (s4-14 (command-get-quoted-param (car (cdr gp-0)) #f)) + (gp-6 (cdr (cdr gp-0))) + ) + (when (and s5-13 (not (null? s4-14))) + (let ((s3-11 (new 'stack-no-clear 'event-message-block))) + (set! (-> s3-11 from) pp) + (let ((a0-142 gp-6)) + (set! (-> s3-11 num-params) ((method-of-type (rtype-of a0-142) length) a0-142)) + ) + (set! (-> s3-11 message) (the-as symbol s4-14)) + (set! (-> s3-11 param 0) (the-as uint (command-get-quoted-param (car gp-6) #f))) + (set! (-> s3-11 param 1) (the-as uint (command-get-quoted-param (car (cdr gp-6)) #f))) + (set! (-> s3-11 param 2) (the-as uint (command-get-quoted-param (car (cdr (cdr gp-6))) #f))) + (send-event-function s5-13 s3-11) + ) + ) ) - ) - (run-now-in-process s3-7 part-tracker-init s5-5 -1 #f #f #f (if s4-10 - (-> - s4-10 - root - trans - ) - (-> - gp-5 - extra - trans - ) - ) - ) - (-> s3-7 ppointer) ) ) - ) ) - ) - ((= v1-4 'auto-save) - (auto-save-command - (the-as symbol (command-get-param (car gp-0) #f)) - 0 - 0 - *default-pool* - ) - ) - ((= v1-4 'shadow) - (let ((s5-7 (command-list-get-process (car gp-0))) - (v1-95 (command-get-quoted-param (car (cdr gp-0)) #f)) - ) - (send-event s5-7 'shadow v1-95) - ) - ) - ((= v1-4 'time-of-day) - (when *time-of-day-proc* - (let ((v1-99 (command-get-int (car gp-0) 0))) - (cond - ((< v1-99 0) - (set! (-> *time-of-day-proc* 0 time-ratio) 300.0) - ) - (else - (set! (-> *time-of-day-proc* 0 hour) v1-99) - (set! (-> *time-of-day-proc* 0 minute) 0) - (set! (-> *time-of-day-proc* 0 frame) 0) - (set! (-> *time-of-day-proc* 0 time-ratio) 0.0) - ) - ) - ) - ) - ) - ((= v1-4 'save) - (mem-copy! (&-> *backup-load-state* type) (&-> obj type) 2092) - (set! (-> *backup-load-state* command-list) '()) - (dotimes (v1-112 256) - (if (-> *backup-load-state* object-name v1-112) - (set! (-> *backup-load-state* object-name v1-112) #f) - ) - ) - ) - ((= v1-4 'setting-reset) - (set-setting! - *setting-control* - pp - (the-as symbol (command-get-param (car gp-0) #f)) - (the-as symbol (command-get-param (car (cdr gp-0)) #f)) - 0.0 - 0 - ) - ) - ((= v1-4 'setting-unset) - (clear-pending-settings-from-process - *setting-control* - pp - (the-as symbol (command-get-param (car gp-0) #f)) - ) - ) - ((= v1-4 'blackout) - (set-blackout-frames - (the int (* 5.0000005 (the float (command-get-int (car gp-0) 0)))) - ) - ) - ((= v1-4 'teleport) - (set! *teleport* #t) - ) - ((= v1-4 'joint) - (send-event - (ppointer->process (-> *setting-control* current movie)) - 'joint - (command-get-param (car gp-0) #f) - ) - (set! *teleport-count* 2) - ) - ((= v1-4 'ambient) - (ambient-hint-spawn - (the-as string (command-get-param (car (cdr gp-0)) #f)) - (the-as vector #f) - *entity-pool* - (the-as symbol (command-get-param (car gp-0) #f)) - ) - ) - ((= v1-4 'send-event) - (let ((s5-13 (command-list-get-process (car gp-0))) - (s4-14 (command-get-quoted-param (car (cdr gp-0)) #f)) - (gp-6 (cdr (cdr gp-0))) - ) - (when (and s5-13 (not (null? s4-14))) - (let ((s3-11 (new 'stack-no-clear 'event-message-block))) - (set! (-> s3-11 from) pp) - (let ((a0-142 gp-6)) - (set! - (-> s3-11 num-params) - ((method-of-type (rtype-of a0-142) length) a0-142) - ) - ) - (set! (-> s3-11 message) (the-as symbol s4-14)) - (set! - (-> s3-11 param 0) - (the-as uint (command-get-quoted-param (car gp-6) #f)) - ) - (set! - (-> s3-11 param 1) - (the-as uint (command-get-quoted-param (car (cdr gp-6)) #f)) - ) - (set! - (-> s3-11 param 2) - (the-as uint (command-get-quoted-param (car (cdr (cdr gp-6))) #f)) - ) - (send-event-function s5-13 s3-11) - ) - ) - ) - ) ) ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function check-boundary @@ -2480,74 +2127,62 @@ (defun check-boundary ((arg0 load-boundary)) (local-vars (s5-0 object)) (let ((a1-0 (if (logtest? (-> arg0 flags) (load-boundary-flags player)) - (-> *load-boundary-target* 1) - (-> *load-boundary-target* 0) - ) - ) + (-> *load-boundary-target* 1) + (-> *load-boundary-target* 0) + ) + ) (a2-0 (if (logtest? (-> arg0 flags) (load-boundary-flags player)) - (-> *load-boundary-target* 3) - (-> *load-boundary-target* 2) - ) + (-> *load-boundary-target* 3) + (-> *load-boundary-target* 2) + ) + ) + ) + 0 + (let ((f0-1 (- (-> a1-0 x) (-> arg0 rejector x))) + (f1-2 (- (-> a1-0 z) (-> arg0 rejector z))) + ) + (cond + ((< (+ (* f0-1 f0-1) (* f1-2 f1-2)) (* (-> arg0 rejector w) (-> arg0 rejector w))) + (if (logtest? (-> arg0 flags) (load-boundary-flags closed)) + (set! s5-0 (check-closed-boundary arg0 a1-0 a2-0)) + (set! s5-0 (check-open-boundary arg0 a1-0 a2-0)) + ) + ) + (else + (set! s5-0 0) + (goto cfg-28) + ) + ) + ) + ) + (let ((s4-0 (the-as load-boundary-crossing-command #f))) + (if (= (the-as symbol s5-0) 1) + (set! s4-0 (-> arg0 cmd-fwd)) + ) + (if (= (the-as symbol s5-0) 2) + (set! s4-0 (-> arg0 cmd-bwd)) + ) + (when s4-0 + (cond + ((= (-> s4-0 cmd) (load-boundary-cmd vis)) + (load-state-want-vis (the-as symbol (-> s4-0 lev0))) + ) + ((= (-> s4-0 cmd) (load-boundary-cmd load)) + (load-state-want-levels (the-as symbol (-> s4-0 lev0)) (the-as symbol (-> s4-0 lev1))) + ) + ((= (-> s4-0 cmd) (load-boundary-cmd display)) + (load-state-want-display-level (the-as symbol (-> s4-0 lev0)) (the-as symbol (-> s4-0 lev1))) + ) + ((= (-> s4-0 cmd) (load-boundary-cmd force-vis)) + (load-state-want-force-vis (the-as symbol (-> s4-0 lev0)) (the-as symbol (-> s4-0 lev1))) + ) + ((= (-> s4-0 cmd) (load-boundary-cmd checkpt)) + (format 0 "Setting continue to ~A~%" (-> s4-0 lev0)) + (set-continue! *game-info* (-> s4-0 lev0)) ) ) - 0 - (let ((f0-1 (- (-> a1-0 x) (-> arg0 rejector x))) - (f1-2 (- (-> a1-0 z) (-> arg0 rejector z))) - ) - (cond - ((< - (+ (* f0-1 f0-1) (* f1-2 f1-2)) - (* (-> arg0 rejector w) (-> arg0 rejector w)) - ) - (if (logtest? (-> arg0 flags) (load-boundary-flags closed)) - (set! s5-0 (check-closed-boundary arg0 a1-0 a2-0)) - (set! s5-0 (check-open-boundary arg0 a1-0 a2-0)) - ) ) - (else - (set! s5-0 0) - (goto cfg-28) - ) - ) ) - ) - (let ((s4-0 (the-as load-boundary-crossing-command #f))) - (if (= (the-as symbol s5-0) 1) - (set! s4-0 (-> arg0 cmd-fwd)) - ) - (if (= (the-as symbol s5-0) 2) - (set! s4-0 (-> arg0 cmd-bwd)) - ) - (when s4-0 - (cond - ((= (-> s4-0 cmd) (load-boundary-cmd vis)) - (load-state-want-vis (the-as symbol (-> s4-0 lev0))) - ) - ((= (-> s4-0 cmd) (load-boundary-cmd load)) - (load-state-want-levels - (the-as symbol (-> s4-0 lev0)) - (the-as symbol (-> s4-0 lev1)) - ) - ) - ((= (-> s4-0 cmd) (load-boundary-cmd display)) - (load-state-want-display-level - (the-as symbol (-> s4-0 lev0)) - (the-as symbol (-> s4-0 lev1)) - ) - ) - ((= (-> s4-0 cmd) (load-boundary-cmd force-vis)) - (load-state-want-force-vis - (the-as symbol (-> s4-0 lev0)) - (the-as symbol (-> s4-0 lev1)) - ) - ) - ((= (-> s4-0 cmd) (load-boundary-cmd checkpt)) - (format 0 "Setting continue to ~A~%" (-> s4-0 lev0)) - (set-continue! *game-info* (-> s4-0 lev0)) - ) - ) - ) - ) (label cfg-28) (none) ) diff --git a/test/decompiler/reference/engine/load/decomp_REF.gc b/test/decompiler/reference/engine/load/decomp_REF.gc index 81dfd1d7f3..e1c680327c 100644 --- a/test/decompiler/reference/engine/load/decomp_REF.gc +++ b/test/decompiler/reference/engine/load/decomp_REF.gc @@ -7,39 +7,34 @@ (local-vars (current-input int) (copy-length int)) (nop!) (while #t - (while #t - (set! current-input (-> in 0)) - (set! in (&-> in 1)) - (b! (<= current-input 0) cfg-5 :delay (nop!)) - (let ((repeated-value (-> in 0))) - (set! in (&-> in 1)) - (label cfg-3) - (nop!) - (nop!) - (nop!) - (nop!) - (set! (-> out 0) repeated-value) - ) - (set! out (&-> out 1)) - (b! - (> current-input 0) - cfg-3 - :delay - (set! current-input (+ current-input -1)) - ) + (while #t + (set! current-input (-> in 0)) + (set! in (&-> in 1)) + (b! (<= current-input 0) cfg-5 :delay (nop!)) + (let ((repeated-value (-> in 0))) + (set! in (&-> in 1)) + (label cfg-3) + (nop!) + (nop!) + (nop!) + (nop!) + (set! (-> out 0) repeated-value) + ) + (set! out (&-> out 1)) + (b! (> current-input 0) cfg-3 :delay (set! current-input (+ current-input -1))) + ) + (label cfg-5) + (b! (zero? current-input) cfg-8 :delay (set! copy-length (- current-input))) + (label cfg-6) + (let ((src-val (-> in 0))) + (set! in (&-> in 1)) + (nop!) + (nop!) + (set! (-> out 0) src-val) + ) + (+! copy-length -1) + (b! (> copy-length 0) cfg-6 :delay (set! out (&-> out 1))) ) - (label cfg-5) - (b! (zero? current-input) cfg-8 :delay (set! copy-length (- current-input))) - (label cfg-6) - (let ((src-val (-> in 0))) - (set! in (&-> in 1)) - (nop!) - (nop!) - (set! (-> out 0) src-val) - ) - (+! copy-length -1) - (b! (> copy-length 0) cfg-6 :delay (set! out (&-> out 1))) - ) (label cfg-8) 0 (none) @@ -66,60 +61,44 @@ ;; definition for function unpack-comp-huf ;; INFO: Return type mismatch int vs none. ;; WARN: Unsupported inline assembly instruction kind - [sra v1, v1, 1] -(defun - unpack-comp-huf - ((arg0 (pointer uint8)) - (arg1 (pointer uint8)) - (arg2 uint) - (arg3 huf-dictionary-node) - ) +(defun unpack-comp-huf ((arg0 (pointer uint8)) (arg1 (pointer uint8)) (arg2 uint) (arg3 huf-dictionary-node)) (local-vars (t1-1 uint) (t3-2 object)) (nop!) (let ((t1-0 (-> arg3 zero)) (a2-1 (+ arg2 -1028)) (t2-0 (-> arg3 one)) ) - (nop!) - (label cfg-1) - (let ((v1-4 128)) (nop!) - (let ((t0-0 (-> arg1 0))) - (set! arg1 (&-> arg1 1)) - (label cfg-2) - (let ((t3-0 (logand t0-0 v1-4))) - (.sra v1-4 v1-4 1) - (b! (zero? t3-0) cfg-4 :delay (set! t1-1 t1-0)) + (label cfg-1) + (let ((v1-4 128)) + (nop!) + (let ((t0-0 (-> arg1 0))) + (set! arg1 (&-> arg1 1)) + (label cfg-2) + (let ((t3-0 (logand t0-0 v1-4))) + (.sra v1-4 v1-4 1) + (b! (zero? t3-0) cfg-4 :delay (set! t1-1 t1-0)) + ) + ) + (nop!) + (set! t1-1 t2-0) + (label cfg-4) + (let ((t2-1 (+ t1-1 -256))) + (let ((t3-1 (* t1-1 4))) + (b! (< (the-as int t2-1) 0) cfg-8 :delay (set! t3-2 (+ t3-1 a2-1))) + ) + (b! (zero? t2-1) cfg-10 :delay (set! t1-0 (-> (the-as (pointer uint16) t3-2) 0))) + ) + (b! (nonzero? v1-4) cfg-2 :delay (set! t2-0 (-> (the-as (pointer uint16) t3-2) 1))) + (b! #t cfg-1 :delay (nop!)) + (label cfg-8) + (set! (-> arg0 0) t1-1) + (set! arg0 (&-> arg0 1)) + (nop!) + (set! t1-0 (-> arg3 zero)) + (b! (nonzero? v1-4) cfg-2 :delay (set! t2-0 (-> arg3 one))) ) - ) - (nop!) - (set! t1-1 t2-0) - (label cfg-4) - (let ((t2-1 (+ t1-1 -256))) - (let ((t3-1 (* t1-1 4))) - (b! (< (the-as int t2-1) 0) cfg-8 :delay (set! t3-2 (+ t3-1 a2-1))) - ) - (b! - (zero? t2-1) - cfg-10 - :delay - (set! t1-0 (-> (the-as (pointer uint16) t3-2) 0)) - ) - ) - (b! - (nonzero? v1-4) - cfg-2 - :delay - (set! t2-0 (-> (the-as (pointer uint16) t3-2) 1)) - ) - (b! #t cfg-1 :delay (nop!)) - (label cfg-8) - (set! (-> arg0 0) t1-1) - (set! arg0 (&-> arg0 1)) - (nop!) - (set! t1-0 (-> arg3 zero)) - (b! (nonzero? v1-4) cfg-2 :delay (set! t2-0 (-> arg3 one))) ) - ) (b! #t cfg-1 :delay (nop!)) (label cfg-10) (nop!) @@ -131,204 +110,162 @@ ;; definition for method 16 of type level ;; WARN: Unsupported inline assembly instruction kind - [sra s2, s2, 3] ;; Used lq/sq -(defmethod - update-vis! - level - ((obj level) (vis-info level-vis-info) (arg1 uint) (arg2 uint)) +(defmethod update-vis! level ((obj level) (vis-info level-vis-info) (arg1 uint) (arg2 uint)) (local-vars (t0-3 uint128) (vis-buffer object)) (let* ((cam-leaf-idx (-> vis-info from-bsp current-leaf-idx)) (curr-vis-str (-> vis-info current-vis-string)) (desired-vis-str (-> vis-info vis-string cam-leaf-idx)) ) - 0 - (+ 16 #x70000000) - (+ 2064 #x70000000) - (when (= curr-vis-str desired-vis-str) - (b! - (zero? (logand #x40000000 (-> vis-info flags))) - cfg-6 - :delay - (empty-form) - ) - (if (check-busy *ramdisk-rpc*) - (return #f) - ) - (set! (-> vis-info flags) (logand -1073741825 (-> vis-info flags))) - (set! vis-buffer (-> obj vis-buffer)) + 0 + (+ 16 #x70000000) + (+ 2064 #x70000000) + (when (= curr-vis-str desired-vis-str) + (b! (zero? (logand #x40000000 (-> vis-info flags))) cfg-6 :delay (empty-form)) + (if (check-busy *ramdisk-rpc*) + (return #f) + ) + (set! (-> vis-info flags) (logand -1073741825 (-> vis-info flags))) + (set! vis-buffer (-> obj vis-buffer)) + (b! #t cfg-27 :delay (nop!)) + (label cfg-6) + (return #t) + ) + (when (logtest? #x40000000 (-> vis-info flags)) + (if (check-busy *ramdisk-rpc*) + (return #f) + ) + (set! (-> vis-info flags) (logand -1073741825 (-> vis-info flags))) + ) + (set! (-> vis-info current-vis-string) desired-vis-str) + (b! (logtest? #x20000000 (-> vis-info flags)) cfg-15 :delay (empty-form)) + (set! vis-buffer (+ arg2 desired-vis-str)) (b! #t cfg-27 :delay (nop!)) - (label cfg-6) - (return #t) - ) - (when (logtest? #x40000000 (-> vis-info flags)) - (if (check-busy *ramdisk-rpc*) - (return #f) - ) - (set! (-> vis-info flags) (logand -1073741825 (-> vis-info flags))) - ) - (set! (-> vis-info current-vis-string) desired-vis-str) - (b! (logtest? #x20000000 (-> vis-info flags)) cfg-15 :delay (empty-form)) - (set! vis-buffer (+ arg2 desired-vis-str)) - (b! #t cfg-27 :delay (nop!)) - (label cfg-15) - (let ((vis-load-result (vis-load obj))) - (b! (nonzero? vis-load-result) cfg-21 :delay (empty-form)) - (let* ((dest-bits (-> vis-info vis-bits)) - (len (-> obj bsp visible-list-length)) - (bsp-bits (the-as (pointer uinteger) (-> obj bsp all-visible-list))) - (len-qw (/ (+ len 15) 16)) - ) - (dotimes (a2-1 len-qw) - (set! - (-> (the-as (pointer uint128) dest-bits) 0) - (-> (the-as (pointer uint128) bsp-bits) 0) - ) - (&+! dest-bits 16) - (set! bsp-bits (&-> (the-as (pointer uint16) bsp-bits) 8)) - ) - ) - (let ((result #f)) - (b! #t cfg-55 :delay (nop!)) - (the-as none 0) - (label cfg-21) - (when (check-busy *ramdisk-rpc*) - (set! (-> vis-info current-vis-string) (the-as uint -1)) - (set! (-> obj all-visible?) 'loading) - (if (= *cheat-mode* 'debug) - (format *stdcon* "Ramdisk loading~%") - ) - (return #f) - ) - (set! (-> vis-info flags) (logior #x40000000 (-> vis-info flags))) - (ramdisk-load - (the-as int vis-load-result) - desired-vis-str - (the-as uint 2048) - (-> obj vis-buffer) - ) - (set! result #f) - (b! #t cfg-55 :delay (nop!)) - (label cfg-27) - (let - ((lower-flag-bits (the-as int (logand #x1fffffff (-> vis-info flags)))) - (spad-start (the-as object (+ 16 #x70000000))) - (spad-end (+ 2064 #x70000000)) - (list-len (-> obj bsp visible-list-length)) - ) - (when (zero? (the-as uint lower-flag-bits)) - (let ((list-qwc (/ (+ list-len 15) 16))) - (dotimes (a0-28 list-qwc) - (set! - (-> (the-as (pointer uint128) spad-start) a0-28) - (the-as uint128 0) - ) - ) - ) - (mem-copy! - (the-as pointer spad-start) - (the-as pointer vis-buffer) - list-len - ) - ) - (while (nonzero? lower-flag-bits) - (case (logand lower-flag-bits 7) - ((1) - (let ((v1-55 (/ (+ list-len 15) 16))) - (dotimes (a0-32 v1-55) - (set! - (-> (the-as (pointer uint128) spad-start) a0-32) - (the-as uint128 0) + (label cfg-15) + (let ((vis-load-result (vis-load obj))) + (b! (nonzero? vis-load-result) cfg-21 :delay (empty-form)) + (let* ((dest-bits (-> vis-info vis-bits)) + (len (-> obj bsp visible-list-length)) + (bsp-bits (the-as (pointer uinteger) (-> obj bsp all-visible-list))) + (len-qw (/ (+ len 15) 16)) ) - ) - ) - (dummy-16 - (-> obj bsp drawable-trees) - (the-as int spad-start) - vis-buffer - ) + (dotimes (a2-1 len-qw) + (set! (-> (the-as (pointer uint128) dest-bits) 0) (-> (the-as (pointer uint128) bsp-bits) 0)) + (&+! dest-bits 16) + (set! bsp-bits (&-> (the-as (pointer uint16) bsp-bits) 8)) ) - ((2) - (unpack-comp-rle - (the-as (pointer int8) spad-start) - (the-as (pointer int8) vis-buffer) - ) - ) - ((3) - (unpack-comp-huf - (the-as (pointer uint8) spad-start) - (the-as (pointer uint8) vis-buffer) - (-> vis-info dictionary) - (the-as - huf-dictionary-node - (+ (-> vis-info dictionary) (-> vis-info dictionary-length) -4) - ) - ) - ) ) - (set! vis-buffer (the-as int spad-start)) - (set! spad-start spad-end) - (set! spad-end (the-as int vis-buffer)) - (.sra lower-flag-bits lower-flag-bits 3) - ) - (let ((s2-1 vis-buffer) - (s1-1 (the-as (pointer uinteger) (-> obj bsp all-visible-list))) - (v1-67 #f) - ) - (dotimes (s0-1 list-len) - (when - (!= - (logand - (-> (the-as (pointer uint8) s2-1) 0) - (-> (the-as (pointer uint8) s1-1) 0) - ) - (-> (the-as (pointer uint8) s2-1) 0) - ) - (format - #t - "ERROR: illegal vis bits set [byte ~X] ~X -> ~X~%" - s0-1 - (-> (the-as (pointer uint8) s2-1) 0) - (-> (the-as (pointer uint8) s1-1) 0) - ) - (set! v1-67 #t) - ) - (set! s2-1 (&-> (the-as (pointer uint8) s2-1) 1)) - (set! s1-1 (&+ (the-as (pointer uint16) s1-1) 1)) - ) - (when v1-67 - (format - #t - "src = #x~x dest = #x~x ~s ~s~%" - vis-buffer - (-> vis-info vis-bits) - (-> vis-info level) - (-> vis-info from-level) - ) - (format #t "leaf-index = ~d~%" (-> vis-info from-bsp current-leaf-idx)) - 0 - ) - ) - (let ((v1-71 vis-buffer) - (a0-47 (-> vis-info vis-bits)) - (a1-22 (the-as (pointer uinteger) (-> obj bsp all-visible-list))) - (a2-11 (/ (+ list-len 15) 16)) - ) - (dotimes (a3-8 a2-11) - (let ((t0-2 (-> (the-as (pointer uint128) v1-71) 0)) - (t1-1 (-> (the-as (pointer uint128) a1-22) 0)) + (let ((result #f)) + (b! #t cfg-55 :delay (nop!)) + (the-as none 0) + (label cfg-21) + (when (check-busy *ramdisk-rpc*) + (set! (-> vis-info current-vis-string) (the-as uint -1)) + (set! (-> obj all-visible?) 'loading) + (if (= *cheat-mode* 'debug) + (format *stdcon* "Ramdisk loading~%") ) - (.pand t0-3 t0-2 t1-1) - ) - (set! (-> (the-as (pointer uint128) a0-47) 0) t0-3) - (&+! a0-47 16) - (set! v1-71 (&-> (the-as (pointer uint16) v1-71) 8)) - (set! a1-22 (&-> (the-as (pointer uint16) a1-22) 8)) + (return #f) + ) + (set! (-> vis-info flags) (logior #x40000000 (-> vis-info flags))) + (ramdisk-load (the-as int vis-load-result) desired-vis-str (the-as uint 2048) (-> obj vis-buffer)) + (set! result #f) + (b! #t cfg-55 :delay (nop!)) + (label cfg-27) + (let ((lower-flag-bits (the-as int (logand #x1fffffff (-> vis-info flags)))) + (spad-start (the-as object (+ 16 #x70000000))) + (spad-end (+ 2064 #x70000000)) + (list-len (-> obj bsp visible-list-length)) + ) + (when (zero? (the-as uint lower-flag-bits)) + (let ((list-qwc (/ (+ list-len 15) 16))) + (dotimes (a0-28 list-qwc) + (set! (-> (the-as (pointer uint128) spad-start) a0-28) (the-as uint128 0)) + ) + ) + (mem-copy! (the-as pointer spad-start) (the-as pointer vis-buffer) list-len) + ) + (while (nonzero? lower-flag-bits) + (case (logand lower-flag-bits 7) + ((1) + (let ((v1-55 (/ (+ list-len 15) 16))) + (dotimes (a0-32 v1-55) + (set! (-> (the-as (pointer uint128) spad-start) a0-32) (the-as uint128 0)) + ) + ) + (dummy-16 (-> obj bsp drawable-trees) (the-as int spad-start) vis-buffer) + ) + ((2) + (unpack-comp-rle (the-as (pointer int8) spad-start) (the-as (pointer int8) vis-buffer)) + ) + ((3) + (unpack-comp-huf + (the-as (pointer uint8) spad-start) + (the-as (pointer uint8) vis-buffer) + (-> vis-info dictionary) + (the-as huf-dictionary-node (+ (-> vis-info dictionary) (-> vis-info dictionary-length) -4)) + ) + ) + ) + (set! vis-buffer (the-as int spad-start)) + (set! spad-start spad-end) + (set! spad-end (the-as int vis-buffer)) + (.sra lower-flag-bits lower-flag-bits 3) + ) + (let ((s2-1 vis-buffer) + (s1-1 (the-as (pointer uinteger) (-> obj bsp all-visible-list))) + (v1-67 #f) + ) + (dotimes (s0-1 list-len) + (when (!= (logand (-> (the-as (pointer uint8) s2-1) 0) (-> (the-as (pointer uint8) s1-1) 0)) + (-> (the-as (pointer uint8) s2-1) 0) + ) + (format + #t + "ERROR: illegal vis bits set [byte ~X] ~X -> ~X~%" + s0-1 + (-> (the-as (pointer uint8) s2-1) 0) + (-> (the-as (pointer uint8) s1-1) 0) + ) + (set! v1-67 #t) + ) + (set! s2-1 (&-> (the-as (pointer uint8) s2-1) 1)) + (set! s1-1 (&+ (the-as (pointer uint16) s1-1) 1)) + ) + (when v1-67 + (format + #t + "src = #x~x dest = #x~x ~s ~s~%" + vis-buffer + (-> vis-info vis-bits) + (-> vis-info level) + (-> vis-info from-level) + ) + (format #t "leaf-index = ~d~%" (-> vis-info from-bsp current-leaf-idx)) + 0 + ) + ) + (let ((v1-71 vis-buffer) + (a0-47 (-> vis-info vis-bits)) + (a1-22 (the-as (pointer uinteger) (-> obj bsp all-visible-list))) + (a2-11 (/ (+ list-len 15) 16)) + ) + (dotimes (a3-8 a2-11) + (let ((t0-2 (-> (the-as (pointer uint128) v1-71) 0)) + (t1-1 (-> (the-as (pointer uint128) a1-22) 0)) + ) + (.pand t0-3 t0-2 t1-1) + ) + (set! (-> (the-as (pointer uint128) a0-47) 0) t0-3) + (&+! a0-47 16) + (set! v1-71 (&-> (the-as (pointer uint16) v1-71) 8)) + (set! a1-22 (&-> (the-as (pointer uint16) a1-22) 8)) + ) + ) + ) + (set! result #t) + (label cfg-55) + result ) - ) ) - (set! result #t) - (label cfg-55) - result - ) ) - ) ) diff --git a/test/decompiler/reference/engine/load/file-io_REF.gc b/test/decompiler/reference/engine/load/file-io_REF.gc index 407e9ad403..39b6097c19 100644 --- a/test/decompiler/reference/engine/load/file-io_REF.gc +++ b/test/decompiler/reference/engine/load/file-io_REF.gc @@ -27,17 +27,10 @@ ) ;; definition for method 0 of type file-stream -(defmethod - new - file-stream - ((allocation symbol) (type-to-make type) (arg0 string) (arg1 basic)) - (let - ((a0-1 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new file-stream ((allocation symbol) (type-to-make type) (arg0 string) (arg1 basic)) + (let ((a0-1 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (file-stream-open a0-1 arg0 arg1) ) - (file-stream-open a0-1 arg0 arg1) - ) ) ;; failed to figure out what this is: @@ -81,14 +74,14 @@ ;; definition for method 2 of type file-info (defmethod print file-info ((obj file-info)) (format - #t - "#<~A ~A :version ~D.~D @ #x~X>" - (-> obj type) - (-> obj file-name) - (-> obj major-version) - (-> obj minor-version) - obj - ) + #t + "#<~A ~A :version ~D.~D @ #x~X>" + (-> obj type) + (-> obj file-name) + (-> obj major-version) + (-> obj minor-version) + obj + ) obj ) @@ -96,43 +89,44 @@ (define *file-temp-string* (new 'global 'string 128 (the-as string #f))) ;; definition for function make-file-name -(defun - make-file-name - ((kind file-kind) (name string) (art-group-version int) (arg3 symbol)) +(defun make-file-name ((kind file-kind) (name string) (art-group-version int) (arg3 symbol)) (clear *file-temp-string*) (cond - ((= kind (file-kind dir-tpage)) - (format *file-temp-string* "texture-page~D/dir-tpages" 7) - ) - ((= kind (file-kind tpage)) - (format *file-temp-string* "texture-page~D/tpage-~S" 7 name) - ) - ((= kind (file-kind level-bt)) - (format *file-temp-string* "level~D/~S-bt" 30 name) - ) - ((= kind (file-kind tx)) - (format *file-temp-string* "res~D/~S-tx" 1 name) - ) - ((= kind (file-kind level-vs)) - (format *file-temp-string* "level~D/~S-vs" 30 name) - ) - ((= kind (file-kind vis)) - (format *file-temp-string* "~S.VIS" name) - ) - ((= kind (file-kind art-group)) - (format *file-temp-string* "art-group~D/~S-ag" (cond - ((> art-group-version 0) - (empty) - art-group-version - ) - (else - 6 - ) - ) - name + ((= kind (file-kind dir-tpage)) + (format *file-temp-string* "texture-page~D/dir-tpages" 7) + ) + ((= kind (file-kind tpage)) + (format *file-temp-string* "texture-page~D/tpage-~S" 7 name) + ) + ((= kind (file-kind level-bt)) + (format *file-temp-string* "level~D/~S-bt" 30 name) + ) + ((= kind (file-kind tx)) + (format *file-temp-string* "res~D/~S-tx" 1 name) + ) + ((= kind (file-kind level-vs)) + (format *file-temp-string* "level~D/~S-vs" 30 name) + ) + ((= kind (file-kind vis)) + (format *file-temp-string* "~S.VIS" name) + ) + ((= kind (file-kind art-group)) + (format + *file-temp-string* + "art-group~D/~S-ag" + (cond + ((> art-group-version 0) + (empty) + art-group-version + ) + (else + 6 + ) + ) + name + ) ) ) - ) *file-temp-string* ) @@ -140,78 +134,76 @@ (defun make-vfile-name ((kind file-kind) (name string)) (clear *file-temp-string*) (cond - ((= kind (file-kind level-bt)) - (format *file-temp-string* "$LEVEL/~S" name) + ((= kind (file-kind level-bt)) + (format *file-temp-string* "$LEVEL/~S" name) + ) + ((= kind (file-kind art-group)) + (format *file-temp-string* "$ART_GROUP/~S" name) + ) ) - ((= kind (file-kind art-group)) - (format *file-temp-string* "$ART_GROUP/~S" name) - ) - ) *file-temp-string* ) ;; definition for function file-info-correct-version? -(defun - file-info-correct-version? - ((info file-info) (kind file-kind) (version-override int)) +(defun file-info-correct-version? ((info file-info) (kind file-kind) (version-override int)) (let* ((expected-version (cond - ((zero? version-override) - (case kind - (((file-kind tpage) (file-kind dir-tpage)) - 7 + ((zero? version-override) + (case kind + (((file-kind tpage) (file-kind dir-tpage)) + 7 + ) + (((file-kind level-bt)) + 30 + ) + (((file-kind art-group)) + 6 + ) ) - (((file-kind level-bt)) - 30 - ) - (((file-kind art-group)) - 6 - ) ) + (else + version-override + ) ) - (else - version-override - ) - ) - ) + ) (v1-1 kind) (kind-name (cond - ((= v1-1 (file-kind tpage)) - "texture-page" + ((= v1-1 (file-kind tpage)) + "texture-page" + ) + ((= v1-1 (file-kind level-bt)) + "bsp-header" + ) + ((= v1-1 (file-kind art-group)) + "art-group" + ) ) - ((= v1-1 (file-kind level-bt)) - "bsp-header" - ) - ((= v1-1 (file-kind art-group)) - "art-group" - ) - ) - ) + ) ) - (cond - ((not (name= (the-as basic (-> info file-type value)) kind-name)) - (format - 0 - "ERROR: file ~A is of type ~S but needs to be ~S.~%" - (-> info file-name) - (-> info file-type) - kind-name + (cond + ((not (name= (the-as basic (-> info file-type value)) kind-name)) + (format + 0 + "ERROR: file ~A is of type ~S but needs to be ~S.~%" + (-> info file-name) + (-> info file-type) + kind-name + ) + #f + ) + ((!= expected-version (-> info major-version)) + (format + 0 + "ERROR: file ~A is version ~D.~D, but needs to be ~D.x~%" + (-> info file-name) + (-> info major-version) + (-> info minor-version) + expected-version + ) + #f + ) + (else + #t + ) ) - #f - ) - ((!= expected-version (-> info major-version)) - (format - 0 - "ERROR: file ~A is version ~D.~D, but needs to be ~D.x~%" - (-> info file-name) - (-> info major-version) - (-> info minor-version) - expected-version - ) - #f - ) - (else - #t - ) ) - ) ) diff --git a/test/decompiler/reference/engine/load/load-dgo_REF.gc b/test/decompiler/reference/engine/load/load-dgo_REF.gc index 730b537b35..bd2e2a46ca 100644 --- a/test/decompiler/reference/engine/load/load-dgo_REF.gc +++ b/test/decompiler/reference/engine/load/load-dgo_REF.gc @@ -80,18 +80,9 @@ ;; failed to figure out what this is: (when (zero? *load-dgo-rpc*) - (set! - *load-dgo-rpc* - (new 'global 'rpc-buffer-pair (the-as uint 32) (the-as uint 1) 3) - ) - (set! - *load-str-rpc* - (new 'global 'rpc-buffer-pair (the-as uint 64) (the-as uint 1) 4) - ) - (set! - *play-str-rpc* - (new 'global 'rpc-buffer-pair (the-as uint 64) (the-as uint 2) 5) - ) + (set! *load-dgo-rpc* (new 'global 'rpc-buffer-pair (the-as uint 32) (the-as uint 1) 3)) + (set! *load-str-rpc* (new 'global 'rpc-buffer-pair (the-as uint 64) (the-as uint 1) 4)) + (set! *play-str-rpc* (new 'global 'rpc-buffer-pair (the-as uint 64) (the-as uint 2) 5)) (set! *load-str-lock* #f) (set! *que-str-lock* #f) (set! *dgo-name* (new 'global 'string 64 (the-as string #f))) @@ -100,16 +91,16 @@ ;; definition for function str-load (defun str-load ((name string) (chunk-id int) (address pointer) (len int)) (if (or (check-busy *load-str-rpc*) *load-str-lock*) - (return #f) - ) + (return #f) + ) (let ((cmd (the-as load-chunk-msg (add-element *load-str-rpc*)))) - (set! (-> cmd result) (load-msg-result invalid)) - (set! (-> cmd address) address) - (set! (-> cmd section) (the-as uint chunk-id)) - (set! (-> cmd maxlen) (the-as uint len)) - (charp<-string (-> cmd basename) name) - (call *load-str-rpc* (the-as uint 0) (the-as pointer cmd) (the-as uint 32)) - ) + (set! (-> cmd result) (load-msg-result invalid)) + (set! (-> cmd address) address) + (set! (-> cmd section) (the-as uint chunk-id)) + (set! (-> cmd maxlen) (the-as uint len)) + (charp<-string (-> cmd basename) name) + (call *load-str-rpc* (the-as uint 0) (the-as pointer cmd) (the-as uint 32)) + ) (set! *load-str-lock* #t) (set! *que-str-lock* #t) #t @@ -118,16 +109,16 @@ ;; definition for function str-load-status (defun str-load-status ((length-out (pointer int32))) (if (check-busy *load-str-rpc*) - (return 'busy) - ) + (return 'busy) + ) (set! *load-str-lock* #f) (set! *que-str-lock* #t) (let ((response (the-as load-chunk-msg (pop-last-received *load-str-rpc*)))) - (if (= (-> response result) (load-msg-result error)) - (return 'error) + (if (= (-> response result) (load-msg-result error)) + (return 'error) + ) + (set! (-> length-out 0) (the-as int (-> response maxlen))) ) - (set! (-> length-out 0) (the-as int (-> response maxlen))) - ) 'complete ) @@ -145,10 +136,10 @@ (defun str-play-async ((name string) (addr sound-id)) (set! *que-str-lock* #t) (let ((cmd (the-as load-chunk-msg (add-element *play-str-rpc*)))) - (charp<-string (-> cmd basename) name) - (set! (-> cmd address) (the-as pointer addr)) - (set! (-> cmd result) (load-msg-result done)) - ) + (charp<-string (-> cmd basename) name) + (set! (-> cmd address) (the-as pointer addr)) + (set! (-> cmd result) (load-msg-result done)) + ) 0 0 (none) @@ -159,9 +150,9 @@ (defun str-play-stop ((name string)) (set! *que-str-lock* #t) (let ((cmd (the-as load-chunk-msg (add-element *play-str-rpc*)))) - (charp<-string (-> cmd basename) name) - (set! (-> cmd result) (load-msg-result error)) - ) + (charp<-string (-> cmd basename) name) + (set! (-> cmd result) (load-msg-result error)) + ) 0 (none) ) @@ -169,17 +160,12 @@ ;; definition for function str-play-queue ;; INFO: Return type mismatch int vs none. (defun str-play-queue ((name string)) - (when - (and - (not (check-busy *play-str-rpc*)) - (not *load-str-lock*) - (not *que-str-lock*) + (when (and (not (check-busy *play-str-rpc*)) (not *load-str-lock*) (not *que-str-lock*)) + (let ((cmd (the-as load-chunk-msg (add-element *play-str-rpc*)))) + (charp<-string (-> cmd basename) name) + (set! (-> cmd result) (load-msg-result more)) + ) ) - (let ((cmd (the-as load-chunk-msg (add-element *play-str-rpc*)))) - (charp<-string (-> cmd basename) name) - (set! (-> cmd result) (load-msg-result more)) - ) - ) (set! *que-str-lock* #f) 0 (none) @@ -190,10 +176,10 @@ (defun str-ambient-play ((name string)) (set! *que-str-lock* #t) (let ((cmd (the-as load-chunk-msg (add-element *play-str-rpc*)))) - (set! (-> cmd basename 0) (the-as uint 36)) - (charp<-string (&-> cmd basename 1) name) - (set! (-> cmd result) (load-msg-result done)) - ) + (set! (-> cmd basename 0) (the-as uint 36)) + (charp<-string (&-> cmd basename 1) name) + (set! (-> cmd result) (load-msg-result done)) + ) 0 0 (none) @@ -204,10 +190,10 @@ (defun str-ambient-stop ((name string)) (set! *que-str-lock* #t) (let ((cmd (the-as load-chunk-msg (add-element *play-str-rpc*)))) - (set! (-> cmd basename 0) (the-as uint 36)) - (charp<-string (&-> cmd basename 1) name) - (set! (-> cmd result) (load-msg-result error)) - ) + (set! (-> cmd basename 0) (the-as uint 36)) + (charp<-string (&-> cmd basename 1) name) + (set! (-> cmd result) (load-msg-result error)) + ) 0 (none) ) @@ -216,12 +202,12 @@ ;; INFO: Return type mismatch int vs none. (defun str-play-kick () (cond - ((check-busy *play-str-rpc*) + ((check-busy *play-str-rpc*) + ) + (else + (call *play-str-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) + ) ) - (else - (call *play-str-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) - ) - ) 0 (none) ) @@ -231,55 +217,46 @@ ;; definition for function dgo-load-begin ;; Used lq/sq -(defun - dgo-load-begin - ((name string) (buffer1 pointer) (buffer2 pointer) (current-heap pointer)) +(defun dgo-load-begin ((name string) (buffer1 pointer) (buffer2 pointer) (current-heap pointer)) (set! *dgo-time* (-> *display* real-integral-frame-counter)) (format 0 "Starting level load clock~%") (sync *load-dgo-rpc* #t) (let ((cmd (the-as load-dgo-msg (add-element *load-dgo-rpc*)))) - (set! (-> cmd result) (load-msg-result invalid)) - (set! (-> cmd b1) buffer1) - (set! (-> cmd b2) buffer2) - (set! (-> cmd bt) current-heap) - (set! (-> cmd name) (string->sound-name name)) - (call *load-dgo-rpc* (the-as uint 0) (the-as pointer cmd) (the-as uint 32)) - cmd - ) + (set! (-> cmd result) (load-msg-result invalid)) + (set! (-> cmd b1) buffer1) + (set! (-> cmd b2) buffer2) + (set! (-> cmd bt) current-heap) + (set! (-> cmd name) (string->sound-name name)) + (call *load-dgo-rpc* (the-as uint 0) (the-as pointer cmd) (the-as uint 32)) + cmd + ) ) ;; definition for function dgo-load-get-next (defun dgo-load-get-next ((last-object (pointer symbol))) (set! (-> last-object 0) #t) (let ((load-location (the-as pointer #f))) - (when (not (check-busy *load-dgo-rpc*)) - (let ((response (the-as load-dgo-msg (pop-last-received *load-dgo-rpc*)))) - (when response - (if - (or - (= (-> response result) (load-msg-result done)) - (= (-> response result) (load-msg-result more)) + (when (not (check-busy *load-dgo-rpc*)) + (let ((response (the-as load-dgo-msg (pop-last-received *load-dgo-rpc*)))) + (when response + (if (or (= (-> response result) (load-msg-result done)) (= (-> response result) (load-msg-result more))) + (set! load-location (-> response b1)) + ) + (if (= (-> response result) (load-msg-result more)) + (set! (-> last-object 0) #f) + ) + (if (= (-> response result) (load-msg-result done)) + (format + 0 + "Elapsed time for level = ~Fs~%" + (* 0.016666668 (the float (- (-> *display* real-integral-frame-counter) *dgo-time*))) + ) + ) + ) ) - (set! load-location (-> response b1)) - ) - (if (= (-> response result) (load-msg-result more)) - (set! (-> last-object 0) #f) - ) - (if (= (-> response result) (load-msg-result done)) - (format - 0 - "Elapsed time for level = ~Fs~%" - (* - 0.016666668 - (the float (- (-> *display* real-integral-frame-counter) *dgo-time*)) - ) - ) - ) ) - ) + load-location ) - load-location - ) ) ;; definition for function dgo-load-continue @@ -287,14 +264,14 @@ ;; Used lq/sq (defun dgo-load-continue ((current-heap pointer)) (let ((cmd (the-as load-dgo-msg (add-element *load-dgo-rpc*)))) - (set! (-> cmd result) (load-msg-result invalid)) - (set! (-> cmd b1) (the-as pointer 0)) - (set! (-> cmd b2) (the-as pointer 0)) - (set! (-> cmd bt) current-heap) - (set! (-> cmd name) (the-as uint128 0)) - (call *load-dgo-rpc* (the-as uint 1) (the-as pointer cmd) (the-as uint 32)) - (the-as int cmd) - ) + (set! (-> cmd result) (load-msg-result invalid)) + (set! (-> cmd b1) (the-as pointer 0)) + (set! (-> cmd b2) (the-as pointer 0)) + (set! (-> cmd bt) current-heap) + (set! (-> cmd name) (the-as uint128 0)) + (call *load-dgo-rpc* (the-as uint 1) (the-as pointer cmd) (the-as uint 32)) + (the-as int cmd) + ) ) ;; definition for function dgo-load-cancel @@ -302,8 +279,8 @@ (defun dgo-load-cancel () (sync *load-dgo-rpc* #t) (let ((cmd (add-element *load-dgo-rpc*))) - (call *load-dgo-rpc* (the-as uint 2) cmd (the-as uint 32)) - ) + (call *load-dgo-rpc* (the-as uint 2) cmd (the-as uint 32)) + ) 0 (none) ) @@ -311,97 +288,66 @@ ;; definition for function find-temp-buffer (defun find-temp-buffer ((size int)) (let ((qwc (+ (/ size 16) 2))) - (cond - ((< - (the-as uint qwc) - (the-as - uint - (dma-buffer-free - (-> *display* frames (-> *display* on-screen) frame global-buf) - ) + (cond + ((< (the-as uint qwc) + (the-as uint (dma-buffer-free (-> *display* frames (-> *display* on-screen) frame global-buf))) + ) + (logand -16 (&+ (-> *display* frames (-> *display* on-screen) frame global-buf base) 15)) + ) + ((< (the-as uint qwc) + (the-as uint (dma-buffer-free (-> *display* frames (-> *display* on-screen) frame global-buf))) + ) + (logand -16 (&+ (-> *display* frames (-> *display* on-screen) frame global-buf base) 15)) ) ) - (logand - -16 - (&+ - (-> *display* frames (-> *display* on-screen) frame global-buf base) - 15 - ) - ) - ) - ((< - (the-as uint qwc) - (the-as - uint - (dma-buffer-free - (-> *display* frames (-> *display* on-screen) frame global-buf) - ) - ) - ) - (logand - -16 - (&+ - (-> *display* frames (-> *display* on-screen) frame global-buf base) - 15 - ) - ) - ) ) - ) ) ;; definition for function dgo-load-link -(defun - dgo-load-link - ((obj-file dgo-header) (heap kheap) (print-login symbol) (last-object symbol)) +(defun dgo-load-link ((obj-file dgo-header) (heap kheap) (print-login symbol) (last-object symbol)) (let ((obj-data (-> obj-file data))) - (if - (>= - (the-as int (&+ obj-data (-> obj-file length))) - (the-as int (-> heap top-base)) - ) - (format - 0 - "ERROR: -----> dgo file header #x~X has overrun heap #x~X by ~D bytes. This is very bad!~%" - obj-file - heap - (&- (&+ obj-data (-> obj-file length)) (the-as uint (-> heap top-base))) - ) - ) - (if last-object - (format - 0 - "NOTICE: loaded ~g, ~D bytes (~f K) at top ~D~%" - (-> obj-file rootname) - (-> obj-file length) - (* 0.0009765625 (the float (-> obj-file length))) - (&- (&+ obj-data (-> obj-file length)) (the-as uint (-> heap base))) - ) - ) - (string<-charp (clear *dgo-name*) (-> obj-file rootname)) - (nonzero? - (link-begin - obj-data - (-> *dgo-name* data) - (the-as int (-> obj-file length)) - heap - (the-as link-flag (if print-login - 47 - 39 + (if (>= (the-as int (&+ obj-data (-> obj-file length))) (the-as int (-> heap top-base))) + (format + 0 + "ERROR: -----> dgo file header #x~X has overrun heap #x~X by ~D bytes. This is very bad!~%" + obj-file + heap + (&- (&+ obj-data (-> obj-file length)) (the-as uint (-> heap top-base))) + ) + ) + (if last-object + (format + 0 + "NOTICE: loaded ~g, ~D bytes (~f K) at top ~D~%" + (-> obj-file rootname) + (-> obj-file length) + (* 0.0009765625 (the float (-> obj-file length))) + (&- (&+ obj-data (-> obj-file length)) (the-as uint (-> heap base))) + ) + ) + (string<-charp (clear *dgo-name*) (-> obj-file rootname)) + (nonzero? (link-begin + obj-data + (-> *dgo-name* data) + (the-as int (-> obj-file length)) + heap + (the-as link-flag (if print-login + 47 + 39 + ) ) - ) - ) + ) + ) ) - ) ) ;; definition for function destroy-mem ;; INFO: Return type mismatch int vs none. (defun destroy-mem ((arg0 (pointer uint32)) (arg1 (pointer uint32))) (while (< (the-as int arg0) (the-as int arg1)) - (set! (-> arg0 0) (the-as uint #xffffffff)) - (set! arg0 (&-> arg0 1)) - ) + (set! (-> arg0 0) (the-as uint #xffffffff)) + (set! arg0 (&-> arg0 1)) + ) 0 (none) ) diff --git a/test/decompiler/reference/engine/load/loader-h_REF.gc b/test/decompiler/reference/engine/load/loader-h_REF.gc index be3e00d54c..662456e752 100644 --- a/test/decompiler/reference/engine/load/loader-h_REF.gc +++ b/test/decompiler/reference/engine/load/loader-h_REF.gc @@ -30,47 +30,26 @@ ) ;; definition for method 0 of type load-dir -(defmethod - new - load-dir - ((allocation symbol) (type-to-make type) (length int) (unk basic)) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new load-dir ((allocation symbol) (type-to-make type) (length int) (unk basic)) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj unknown) unk) + (set! (-> obj string-array) + (the-as (array string) ((method-of-type array new) allocation array string length)) + ) + (set! (-> obj string-array length) 0) + (set! (-> obj data-array) (the-as (array basic) ((method-of-type array new) allocation array basic length))) + (set! (-> obj data-array length) 0) + obj ) - (set! (-> obj unknown) unk) - (set! - (-> obj string-array) - (the-as - (array string) - ((method-of-type array new) allocation array string length) - ) - ) - (set! (-> obj string-array length) 0) - (set! - (-> obj data-array) - (the-as - (array basic) - ((method-of-type array new) allocation array basic length) - ) - ) - (set! (-> obj data-array length) 0) - obj - ) ) ;; definition for method 0 of type load-dir-art-group ;; INFO: Return type mismatch load-dir vs load-dir-art-group. -(defmethod - new - load-dir-art-group - ((allocation symbol) (type-to-make type) (length int) (unk basic)) - (let - ((obj ((method-of-type load-dir new) allocation type-to-make length unk))) - (set! (-> obj data-array content-type) art-group) - (the-as load-dir-art-group obj) - ) +(defmethod new load-dir-art-group ((allocation symbol) (type-to-make type) (length int) (unk basic)) + (let ((obj ((method-of-type load-dir new) allocation type-to-make length unk))) + (set! (-> obj data-array content-type) art-group) + (the-as load-dir-art-group obj) + ) ) ;; definition of type external-art-buffer @@ -120,11 +99,7 @@ (format #t "~Tpending-load-file: ~A~%" (-> obj pending-load-file)) (format #t "~Tpending-load-file-part: ~D~%" (-> obj pending-load-file-part)) (format #t "~Tpending-load-file-owner: ~D~%" (-> obj pending-load-file-owner)) - (format - #t - "~Tpending-load-file-priority: ~f~%" - (-> obj pending-load-file-priority) - ) + (format #t "~Tpending-load-file-priority: ~f~%" (-> obj pending-load-file-priority)) (format #t "~Tload-file: ~A~%" (-> obj load-file)) (format #t "~Tload-file-part: ~D~%" (-> obj load-file-part)) (format #t "~Tload-file-owner: ~D~%" (-> obj load-file-owner)) @@ -136,30 +111,23 @@ ) ;; definition for method 0 of type external-art-buffer -(defmethod - new - external-art-buffer - ((allocation symbol) (type-to-make type) (idx int)) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new external-art-buffer ((allocation symbol) (type-to-make type) (idx int)) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj index) idx) + (set! (-> obj load-file) #f) + (set! (-> obj load-file-part) -1) + (set! (-> obj load-file-owner) (the-as handle #f)) + (set! (-> obj load-file-priority) 100000000.0) + (set! (-> obj pending-load-file) #f) + (set! (-> obj pending-load-file-part) -1) + (set! (-> obj pending-load-file-owner) (the-as handle #f)) + (set! (-> obj pending-load-file-priority) 100000000.0) + (set! (-> obj art-group) #f) + (set! (-> obj status) 'initialize) + (set! (-> obj locked?) #f) + (set! (-> obj other) #f) + obj ) - (set! (-> obj index) idx) - (set! (-> obj load-file) #f) - (set! (-> obj load-file-part) -1) - (set! (-> obj load-file-owner) (the-as handle #f)) - (set! (-> obj load-file-priority) 100000000.0) - (set! (-> obj pending-load-file) #f) - (set! (-> obj pending-load-file-part) -1) - (set! (-> obj pending-load-file-owner) (the-as handle #f)) - (set! (-> obj pending-load-file-priority) 100000000.0) - (set! (-> obj art-group) #f) - (set! (-> obj status) 'initialize) - (set! (-> obj locked?) #f) - (set! (-> obj other) #f) - obj - ) ) ;; definition of type spool-anim @@ -229,49 +197,36 @@ (format #t "~Treserve-buffer-count: ~D~%" (-> obj reserve-buffer-count)) (format #t "~Tactive-stream: ~A~%" (-> obj active-stream)) (format #t "~Tpreload-stream: #~%" (-> obj preload-stream)) - (format - #t - "~Tlast-preload-stream: #~%" - (-> obj last-preload-stream) - ) + (format #t "~Tlast-preload-stream: #~%" (-> obj last-preload-stream)) obj ) ;; definition for method 0 of type external-art-control (defmethod new external-art-control ((allocation symbol) (type-to-make type)) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) - ) - (dotimes (buff-idx 2) - (set! - (-> obj buffer buff-idx) - ((method-of-type external-art-buffer new) - allocation - external-art-buffer - buff-idx + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (dotimes (buff-idx 2) + (set! (-> obj buffer buff-idx) + ((method-of-type external-art-buffer new) allocation external-art-buffer buff-idx) + ) ) - ) + (set! (-> obj buffer 0 other) (-> obj buffer 1)) + (set! (-> obj buffer 1 other) (-> obj buffer 0)) + (dotimes (rec-idx 3) + (set! (-> obj rec rec-idx name) #f) + (set! (-> obj rec rec-idx priority) 100000000.0) + (set! (-> obj rec rec-idx owner) (the-as handle #f)) + ) + (set! (-> obj spool-lock) (the-as handle #f)) + (set! (-> obj reserve-buffer) #f) + (set! (-> obj active-stream) #f) + (set! (-> obj preload-stream name) #f) + (set! (-> obj preload-stream priority) 100000000.0) + (set! (-> obj preload-stream owner) (the-as handle #f)) + (set! (-> obj last-preload-stream name) #f) + (set! (-> obj last-preload-stream priority) 100000000.0) + (set! (-> obj last-preload-stream owner) (the-as handle #f)) + obj ) - (set! (-> obj buffer 0 other) (-> obj buffer 1)) - (set! (-> obj buffer 1 other) (-> obj buffer 0)) - (dotimes (rec-idx 3) - (set! (-> obj rec rec-idx name) #f) - (set! (-> obj rec rec-idx priority) 100000000.0) - (set! (-> obj rec rec-idx owner) (the-as handle #f)) - ) - (set! (-> obj spool-lock) (the-as handle #f)) - (set! (-> obj reserve-buffer) #f) - (set! (-> obj active-stream) #f) - (set! (-> obj preload-stream name) #f) - (set! (-> obj preload-stream priority) 100000000.0) - (set! (-> obj preload-stream owner) (the-as handle #f)) - (set! (-> obj last-preload-stream name) #f) - (set! (-> obj last-preload-stream priority) 100000000.0) - (set! (-> obj last-preload-stream owner) (the-as handle #f)) - obj - ) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/engine/load/loader_REF.gc b/test/decompiler/reference/engine/load/loader_REF.gc index e80ef03f2d..473f3644b8 100644 --- a/test/decompiler/reference/engine/load/loader_REF.gc +++ b/test/decompiler/reference/engine/load/loader_REF.gc @@ -10,106 +10,92 @@ (format #t "~Tallocated-length: ~D~%" (-> obj string-array allocated-length)) (format #t "~Tlength: ~D~%" (-> obj string-array length)) (dotimes (s5-0 (-> obj string-array length)) - (let ((s4-0 format) - (s3-0 #t) - (s2-0 "~T [~D] ~S ~A (~D bytes)~%") - (s1-0 s5-0) - (s0-0 (-> obj string-array s5-0)) - ) - (set! sv-16 (-> obj data-array s5-0)) - (let ((t1-0 (mem-size (-> obj data-array s5-0) #f 0))) - (s4-0 s3-0 s2-0 s1-0 s0-0 sv-16 t1-0) - ) + (let ((s4-0 format) + (s3-0 #t) + (s2-0 "~T [~D] ~S ~A (~D bytes)~%") + (s1-0 s5-0) + (s0-0 (-> obj string-array s5-0)) + ) + (set! sv-16 (-> obj data-array s5-0)) + (let ((t1-0 (mem-size (-> obj data-array s5-0) #f 0))) + (s4-0 s3-0 s2-0 s1-0 s0-0 sv-16 t1-0) + ) + ) ) - ) obj ) ;; definition for method 8 of type load-dir ;; INFO: Return type mismatch symbol vs load-dir. -(defmethod - mem-usage - load-dir - ((obj load-dir) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage load-dir ((obj load-dir) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 82 (-> arg0 length))) (set! (-> arg0 data 81 name) "array") (+! (-> arg0 data 81 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 81 used) v1-6) - (+! (-> arg0 data 81 total) (logand -16 (+ v1-6 15))) - ) + (+! (-> arg0 data 81 used) v1-6) + (+! (-> arg0 data 81 total) (logand -16 (+ v1-6 15))) + ) (set! (-> arg0 length) (max 82 (-> arg0 length))) (set! (-> arg0 data 81 name) "array") (set! (-> arg0 data 81 count) (-> arg0 data 81 count)) (let ((v1-15 (asize-of (-> obj string-array)))) - (+! (-> arg0 data 81 used) v1-15) - (+! (-> arg0 data 81 total) (logand -16 (+ v1-15 15))) - ) + (+! (-> arg0 data 81 used) v1-15) + (+! (-> arg0 data 81 total) (logand -16 (+ v1-15 15))) + ) (set! (-> arg0 length) (max 82 (-> arg0 length))) (set! (-> arg0 data 81 name) "array") (set! (-> arg0 data 81 count) (-> arg0 data 81 count)) (let ((v1-24 (asize-of (-> obj data-array)))) - (+! (-> arg0 data 81 used) v1-24) - (+! (-> arg0 data 81 total) (logand -16 (+ v1-24 15))) - ) + (+! (-> arg0 data 81 used) v1-24) + (+! (-> arg0 data 81 total) (logand -16 (+ v1-24 15))) + ) (dotimes (s3-0 (-> obj data-array length)) - (mem-usage (-> obj data-array s3-0) arg0 arg1) - ) + (mem-usage (-> obj data-array s3-0) arg0 arg1) + ) (the-as load-dir #f) ) ;; definition for method 9 of type load-dir-art-group -(defmethod - load-to-heap-by-name - load-dir-art-group - ((obj load-dir-art-group) - (art-name string) - (do-reload symbol) - (heap kheap) - (version int) - ) +(defmethod load-to-heap-by-name load-dir-art-group ((obj load-dir-art-group) (art-name string) (do-reload symbol) (heap kheap) (version int)) (let ((s5-0 (-> obj string-array))) - (dotimes (s3-0 (-> s5-0 length)) - (when (string= art-name (-> s5-0 s3-0)) - (when do-reload - (let ((v1-4 (art-group-load-check art-name heap version))) - (if v1-4 - (set! (-> obj art-group-array s3-0) v1-4) + (dotimes (s3-0 (-> s5-0 length)) + (when (string= art-name (-> s5-0 s3-0)) + (when do-reload + (let ((v1-4 (art-group-load-check art-name heap version))) + (if v1-4 + (set! (-> obj art-group-array s3-0) v1-4) + ) + ) + ) + (return (-> obj art-group-array s3-0)) ) - ) ) - (return (-> obj art-group-array s3-0)) - ) + (let ((v0-2 (art-group-load-check art-name heap version))) + (when v0-2 + (set! (-> s5-0 (-> s5-0 length)) art-name) + (set! (-> obj art-group-array (-> s5-0 length)) v0-2) + (+! (-> s5-0 length) 1) + (+! (-> obj art-group-array length) 1) + ) + v0-2 + ) ) - (let ((v0-2 (art-group-load-check art-name heap version))) - (when v0-2 - (set! (-> s5-0 (-> s5-0 length)) art-name) - (set! (-> obj art-group-array (-> s5-0 length)) v0-2) - (+! (-> s5-0 length) 1) - (+! (-> obj art-group-array length) 1) - ) - v0-2 - ) - ) ) ;; definition for method 10 of type load-dir-art-group -(defmethod - set-loaded-art - load-dir-art-group - ((obj load-dir-art-group) (arg0 art-group)) +(defmethod set-loaded-art load-dir-art-group ((obj load-dir-art-group) (arg0 art-group)) (let ((s4-0 (-> obj string-array))) - (dotimes (s3-0 (-> s4-0 length)) - (when (string= (-> arg0 name) (-> s4-0 s3-0)) - (set! (-> obj art-group-array s3-0) arg0) - (set! arg0 (-> obj art-group-array s3-0)) - (goto cfg-7) - ) + (dotimes (s3-0 (-> s4-0 length)) + (when (string= (-> arg0 name) (-> s4-0 s3-0)) + (set! (-> obj art-group-array s3-0) arg0) + (set! arg0 (-> obj art-group-array s3-0)) + (goto cfg-7) + ) + ) + (set! (-> s4-0 (-> s4-0 length)) (-> arg0 name)) + (set! (-> obj art-group-array (-> s4-0 length)) arg0) + (+! (-> s4-0 length) 1) ) - (set! (-> s4-0 (-> s4-0 length)) (-> arg0 name)) - (set! (-> obj art-group-array (-> s4-0 length)) arg0) - (+! (-> s4-0 length) 1) - ) (+! (-> obj art-group-array length) 1) (label cfg-7) arg0 @@ -119,21 +105,21 @@ (defun drawable-load ((arg0 drawable) (arg1 kheap)) (local-vars (sp-0 none)) (cond - ((type-type? (-> arg0 type) string) - sp-0 - (if (< (the-as uint sp-0) (the-as uint *stack-top*)) - (&+ *kernel-sp* -1024) + ((type-type? (-> arg0 type) string) + sp-0 + (if (< (the-as uint sp-0) (the-as uint *stack-top*)) + (&+ *kernel-sp* -1024) + ) + (let ((s5-1 (the-as drawable (loado (the-as string arg0) arg1)))) + (if (and s5-1 (type-type? (-> s5-1 type) drawable)) + (login s5-1) + ) + ) ) - (let ((s5-1 (the-as drawable (loado (the-as string arg0) arg1)))) - (if (and s5-1 (type-type? (-> s5-1 type) drawable)) - (login s5-1) - ) + ((type-type? (-> arg0 type) drawable) + (login arg0) ) ) - ((type-type? (-> arg0 type) drawable) - (login arg0) - ) - ) ) ;; definition for function art-load @@ -141,64 +127,47 @@ (local-vars (sp-0 none)) sp-0 (if (< (the-as uint sp-0) (the-as uint *stack-top*)) - (&+ *kernel-sp* -1024) - ) + (&+ *kernel-sp* -1024) + ) (let ((s5-0 (loado arg0 arg1))) - (if (type-type? (-> (the-as art s5-0) type) art) - (login (the-as art s5-0)) - (the-as art #f) + (if (type-type? (-> (the-as art s5-0) type) art) + (login (the-as art s5-0)) + (the-as art #f) + ) ) - ) ) ;; definition for function art-group-load-check (defun art-group-load-check ((arg0 string) (arg1 kheap) (arg2 int)) (local-vars (sp-0 none)) (when *debug-segment* - sp-0 - (if (< (the-as uint sp-0) (the-as uint *stack-top*)) - (&+ *kernel-sp* -1024) + sp-0 + (if (< (the-as uint sp-0) (the-as uint *stack-top*)) + (&+ *kernel-sp* -1024) + ) + (let ((s3-1 (the-as art-group (loado (make-file-name (file-kind art-group) arg0 arg2 #f) arg1)))) + (cond + ((not s3-1) + (format 0 "ERROR: art-group ~A is not a valid file.~%" arg0) + (the-as art-group #f) + ) + ((not (type-type? (-> s3-1 type) art-group)) + (format 0 "ERROR: art-group ~A is not a art-group.~%" arg0) + (the-as art-group #f) + ) + ((not (file-info-correct-version? (-> s3-1 info) (file-kind art-group) arg2)) + (the-as art-group #f) + ) + (else + (login s3-1) + ) + ) + ) ) - (let - ((s3-1 - (the-as - art-group - (loado (make-file-name (file-kind art-group) arg0 arg2 #f) arg1) - ) - ) - ) - (cond - ((not s3-1) - (format 0 "ERROR: art-group ~A is not a valid file.~%" arg0) - (the-as art-group #f) - ) - ((not (type-type? (-> s3-1 type) art-group)) - (format 0 "ERROR: art-group ~A is not a art-group.~%" arg0) - (the-as art-group #f) - ) - ((not - (file-info-correct-version? (-> s3-1 info) (file-kind art-group) arg2) - ) - (the-as art-group #f) - ) - (else - (login s3-1) - ) - ) - ) - ) ) ;; definition for method 9 of type external-art-buffer -(defmethod - set-pending-file - external-art-buffer - ((obj external-art-buffer) - (arg0 string) - (arg1 int) - (arg2 handle) - (arg3 float) - ) +(defmethod set-pending-file external-art-buffer ((obj external-art-buffer) (arg0 string) (arg1 int) (arg2 handle) (arg3 float)) (set! (-> obj pending-load-file) arg0) (set! (-> obj pending-load-file-part) arg1) (set! (-> obj pending-load-file-owner) arg2) @@ -218,382 +187,288 @@ ) ;; definition for method 12 of type external-art-buffer -(defmethod - file-status - external-art-buffer - ((obj external-art-buffer) (arg0 string) (arg1 int)) - (when - (and - (name= (-> obj pending-load-file) arg0) - (= (-> obj pending-load-file-part) arg1) +(defmethod file-status external-art-buffer ((obj external-art-buffer) (arg0 string) (arg1 int)) + (when (and (name= (-> obj pending-load-file) arg0) (= (-> obj pending-load-file-part) arg1)) + (if (and (name= (-> obj load-file) arg0) (= (-> obj load-file-part) arg1)) + (-> obj status) + 'pending + ) ) - (if (and (name= (-> obj load-file) arg0) (= (-> obj load-file-part) arg1)) - (-> obj status) - 'pending - ) - ) ) ;; definition for method 13 of type art-group (defmethod link-art! art-group ((obj art-group)) (when obj - (countdown (s5-0 (-> obj length)) - (let* ((art-elt (-> obj data s5-0)) - (janim - (if - (and - (nonzero? art-elt) - (type-type? (-> art-elt type) art-joint-anim) + (countdown (s5-0 (-> obj length)) + (let* ((art-elt (-> obj data s5-0)) + (janim (if (and (nonzero? art-elt) (type-type? (-> art-elt type) art-joint-anim)) + (the-as art-joint-anim art-elt) + ) + ) + (success #f) + ) + (when janim + (let ((s3-1 3)) + (while (begin (label cfg-22) (nonzero? s3-1)) + (+! s3-1 -1) + (let ((janim-group (art-group-get-by-name (-> *level* level s3-1) (-> janim master-art-group-name)))) + (when janim-group + (cond + ((and + (< (-> janim master-art-group-index) (-> janim-group length)) + (not (-> janim-group data (-> janim master-art-group-index))) + ) + (set! (-> janim-group data (-> janim master-art-group-index)) janim) + (set! success #t) + ) + (else + (countdown (a0-14 (-> janim-group length)) + (when (not (-> janim-group data a0-14)) + (set! (-> janim-group data a0-14) janim) + (set! success #t) + (goto cfg-22) + ) + ) + ) + ) + ) + ) ) - (the-as art-joint-anim art-elt) - ) ) - (success #f) - ) - (when janim - (let ((s3-1 3)) - (while (begin - (label cfg-22) - (nonzero? s3-1) - ) - (+! s3-1 -1) - (let - ((janim-group - (art-group-get-by-name - (-> *level* level s3-1) - (-> janim master-art-group-name) - ) - ) - ) - (when janim-group - (cond - ((and - (< (-> janim master-art-group-index) (-> janim-group length)) - (not (-> janim-group data (-> janim master-art-group-index))) - ) - (set! (-> janim-group data (-> janim master-art-group-index)) janim) - (set! success #t) - ) - (else - (countdown (a0-14 (-> janim-group length)) - (when (not (-> janim-group data a0-14)) - (set! (-> janim-group data a0-14) janim) - (set! success #t) - (goto cfg-22) + (if (not success) + (format 0 "ERROR: ~A could not find a master slot to link for ~A.~%" (-> obj name) janim) ) - ) - ) - ) ) - ) ) - ) - (if (not success) - (format - 0 - "ERROR: ~A could not find a master slot to link for ~A.~%" - (-> obj name) - janim - ) - ) ) - ) ) - ) obj ) ;; definition for method 14 of type art-group (defmethod unlink-art! art-group ((obj art-group)) (when obj - (countdown (s5-0 (-> obj length)) - (let* ((art-elt (-> obj data s5-0)) - (janim - (if - (and - (nonzero? art-elt) - (type-type? (-> art-elt type) art-joint-anim) - ) - (the-as art-joint-anim art-elt) + (countdown (s5-0 (-> obj length)) + (let* ((art-elt (-> obj data s5-0)) + (janim (if (and (nonzero? art-elt) (type-type? (-> art-elt type) art-joint-anim)) + (the-as art-joint-anim art-elt) + ) + ) + (success #f) ) + (when janim + (let ((s2-0 3)) + (while (begin (label cfg-16) (nonzero? s2-0)) + (+! s2-0 -1) + (let ((janim-group (art-group-get-by-name (-> *level* level s2-0) (-> janim master-art-group-name)))) + (when janim-group + (countdown (a0-5 (-> janim-group length)) + (when (= janim (-> janim-group data a0-5)) + (set! (-> janim-group data a0-5) #f) + (set! success #t) + (goto cfg-16) + ) + ) + ) + ) + ) ) - (success #f) - ) - (when janim - (let ((s2-0 3)) - (while (begin - (label cfg-16) - (nonzero? s2-0) - ) - (+! s2-0 -1) - (let - ((janim-group - (art-group-get-by-name - (-> *level* level s2-0) - (-> janim master-art-group-name) - ) - ) + (if (not success) + (format 0 "ERROR: ~A could not find a master slot to unlink for ~A.~%" (-> obj name) janim) + ) ) - (when janim-group - (countdown (a0-5 (-> janim-group length)) - (when (= janim (-> janim-group data a0-5)) - (set! (-> janim-group data a0-5) #f) - (set! success #t) - (goto cfg-16) - ) - ) - ) - ) ) - ) - (if (not success) - (format - 0 - "ERROR: ~A could not find a master slot to unlink for ~A.~%" - (-> obj name) - janim - ) - ) ) - ) ) - ) 0 ) ;; definition for method 13 of type external-art-buffer -(defmethod - link-file - external-art-buffer - ((obj external-art-buffer) (arg0 art-group)) +(defmethod link-file external-art-buffer ((obj external-art-buffer) (arg0 art-group)) (when arg0 - (link-art! arg0) - (set! (-> obj art-group) arg0) - ) + (link-art! arg0) + (set! (-> obj art-group) arg0) + ) arg0 ) ;; definition for method 14 of type external-art-buffer -(defmethod - unlink-file - external-art-buffer - ((obj external-art-buffer) (arg0 art-group)) +(defmethod unlink-file external-art-buffer ((obj external-art-buffer) (arg0 art-group)) (when arg0 - (unlink-art! arg0) - (set! (-> obj art-group) #f) - ) + (unlink-art! arg0) + (set! (-> obj art-group) #f) + ) 0 ) ;; definition for method 10 of type external-art-buffer ;; WARN: Found some very strange gotos. Check result carefully, this is not well tested. (defmethod update external-art-buffer ((obj external-art-buffer)) - (when - (or - (not (name= (-> obj pending-load-file) (-> obj load-file))) - (!= (-> obj pending-load-file-part) (-> obj load-file-part)) - ) - (when (not (handle->process (-> obj pending-load-file-owner))) - (set! (-> obj pending-load-file) #f) - (set! (-> obj pending-load-file-part) -1) - (set! (-> obj pending-load-file-owner) (the-as handle #f)) - (set! (-> obj pending-load-file-priority) 100000000.0) - ) - (when (= (-> obj status) 'initialize) - (let ((v1-11 (-> obj heap))) - (set! - (-> v1-11 base) - (the-as pointer (+ #x84000 (* #x3dc00 (-> obj index)))) - ) - (set! (-> v1-11 current) (-> v1-11 base)) - (set! (-> v1-11 top-base) (&+ (-> v1-11 base) #x3dc00)) - (set! (-> v1-11 top) (-> v1-11 top-base)) - ) - (set! (-> obj status) 'inactive) - ) - (cond - ((-> obj load-file) - (if (= (-> obj status) 'loading) - (str-load-cancel) - ) - (set! (-> obj load-file) #f) - (set! (-> obj load-file-part) -1) - (set! (-> obj load-file-owner) (the-as handle #f)) - (set! (-> obj load-file-priority) 100000000.0) - ) - (else - (set! (-> obj load-file) (-> obj pending-load-file)) - (set! (-> obj load-file-part) (-> obj pending-load-file-part)) - (set! (-> obj load-file-owner) (-> obj pending-load-file-owner)) - (set! (-> obj load-file-priority) (-> obj pending-load-file-priority)) - ) - ) - ) - (label cfg-18) - (cond - ((-> obj load-file) - (case (-> obj status) - (('active 'reserved) - ) - (('error) - (set! (-> obj status) 'inactive) - (set! (-> obj load-file) #f) - (set! (-> obj load-file-part) -1) - (set! (-> obj load-file-owner) (the-as handle #f)) - (set! (-> obj load-file-priority) 100000000.0) + (when (or + (not (name= (-> obj pending-load-file) (-> obj load-file))) + (!= (-> obj pending-load-file-part) (-> obj load-file-part)) + ) + (when (not (handle->process (-> obj pending-load-file-owner))) (set! (-> obj pending-load-file) #f) (set! (-> obj pending-load-file-part) -1) (set! (-> obj pending-load-file-owner) (the-as handle #f)) (set! (-> obj pending-load-file-priority) 100000000.0) - (set! (-> obj art-group) #f) ) - (('inactive) - (let ((v1-28 (-> obj heap))) - (set! (-> v1-28 current) (-> v1-28 base)) + (when (= (-> obj status) 'initialize) + (let ((v1-11 (-> obj heap))) + (set! (-> v1-11 base) (the-as pointer (+ #x84000 (* #x3dc00 (-> obj index))))) + (set! (-> v1-11 current) (-> v1-11 base)) + (set! (-> v1-11 top-base) (&+ (-> v1-11 base) #x3dc00)) + (set! (-> v1-11 top) (-> v1-11 top-base)) + ) + (set! (-> obj status) 'inactive) + ) + (cond + ((-> obj load-file) + (if (= (-> obj status) 'loading) + (str-load-cancel) + ) + (set! (-> obj load-file) #f) + (set! (-> obj load-file-part) -1) + (set! (-> obj load-file-owner) (the-as handle #f)) + (set! (-> obj load-file-priority) 100000000.0) ) - (cond - ((string= (-> obj load-file) "reserved") + (else + (set! (-> obj load-file) (-> obj pending-load-file)) + (set! (-> obj load-file-part) (-> obj pending-load-file-part)) + (set! (-> obj load-file-owner) (-> obj pending-load-file-owner)) + (set! (-> obj load-file-priority) (-> obj pending-load-file-priority)) + ) + ) + ) + (label cfg-18) + (cond + ((-> obj load-file) + (case (-> obj status) + (('active 'reserved) + ) + (('error) + (set! (-> obj status) 'inactive) + (set! (-> obj load-file) #f) + (set! (-> obj load-file-part) -1) + (set! (-> obj load-file-owner) (the-as handle #f)) + (set! (-> obj load-file-priority) 100000000.0) + (set! (-> obj pending-load-file) #f) + (set! (-> obj pending-load-file-part) -1) + (set! (-> obj pending-load-file-owner) (the-as handle #f)) + (set! (-> obj pending-load-file-priority) 100000000.0) + (set! (-> obj art-group) #f) + ) + (('inactive) + (let ((v1-28 (-> obj heap))) + (set! (-> v1-28 current) (-> v1-28 base)) + ) (cond - ((-> *art-control* reserve-buffer) - (format - 0 - "ERROR: trying double reserve ~A when ~A is reserved~%" - obj - (-> *art-control* reserve-buffer) + ((string= (-> obj load-file) "reserved") + (cond + ((-> *art-control* reserve-buffer) + (format 0 "ERROR: trying double reserve ~A when ~A is reserved~%" obj (-> *art-control* reserve-buffer)) + ) + (else + (set! (-> obj status) 'reserved) + (set! (-> *art-control* reserve-buffer) obj) + ) + ) + ) + ((and (!= (-> *level* loading-level) (-> *level* level-default)) (< 81920.0 (-> obj load-file-priority))) + ) + ((str-load (-> obj load-file) (-> obj load-file-part) (logand -64 (&+ (-> obj heap current) 63)) #x3fc00) + (set! (-> obj status) 'loading) ) ) - (else - (set! (-> obj status) 'reserved) - (set! (-> *art-control* reserve-buffer) obj) - ) - ) ) - ((and - (!= (-> *level* loading-level) (-> *level* level-default)) - (< 81920.0 (-> obj load-file-priority)) - ) - ) - ((str-load - (-> obj load-file) - (-> obj load-file-part) - (logand -64 (&+ (-> obj heap current) 63)) - #x3fc00 - ) - (set! (-> obj status) 'loading) - ) - ) - ) - (('loading) - (case (str-load-status (&-> obj len)) - (('error) - (set! (-> obj status) 'error) - ) - (('busy) - ) - (else - (set! (-> obj buf) (logand -64 (&+ (-> obj heap current) 63))) - (set! (-> obj status) 'loaded) - (goto cfg-18) - ) - ) - ) - (('loaded) - (let ((a0-37 (-> obj buf))) - (set! - (-> obj art-group) - (the-as - art-group - (link a0-37 (-> obj load-file data) (-> obj len) (-> obj heap) 0) - ) - ) - ) - (let ((s4-0 (-> obj art-group)) - (s3-0 (-> obj load-file)) + (('loading) + (case (str-load-status (&-> obj len)) + (('error) + (set! (-> obj status) 'error) + ) + (('busy) + ) + (else + (set! (-> obj buf) (logand -64 (&+ (-> obj heap current) 63))) + (set! (-> obj status) 'loaded) + (goto cfg-18) ) - (cond - ((not s4-0) - (format - 0 - "ERROR: art-group ~A part ~D is not a valid file.~%" - s3-0 - (-> obj load-file-part) ) - (set! (-> obj status) 'error) + ) + (('loaded) + (let ((a0-37 (-> obj buf))) + (set! (-> obj art-group) (the-as art-group (link a0-37 (-> obj load-file data) (-> obj len) (-> obj heap) 0))) + ) + (let ((s4-0 (-> obj art-group)) + (s3-0 (-> obj load-file)) + ) + (cond + ((not s4-0) + (format 0 "ERROR: art-group ~A part ~D is not a valid file.~%" s3-0 (-> obj load-file-part)) + (set! (-> obj status) 'error) + ) + ((not (type-type? (-> s4-0 type) art-group)) + (format 0 "ERROR: art-group ~A part ~D is not a art-group.~%" s3-0 (-> obj load-file-part)) + (set! (-> obj status) 'error) + ) + ((not (file-info-correct-version? (-> s4-0 info) (file-kind art-group) 0)) + (set! (-> obj status) 'error) + ) + (else + (login s4-0) + (set! (-> obj status) 'locked) + ) + ) + ) + ) + (('locked) + (when (and (not (-> obj locked?)) (handle->process (-> obj load-file-owner))) + (link-file obj (-> obj art-group)) + (set! (-> obj other locked?) #t) + (set! (-> obj status) 'active) + (goto cfg-18) + ) + ) + ) + ) + (else + (case (-> obj status) + (('initialize) ) - ((not (type-type? (-> s4-0 type) art-group)) - (format - 0 - "ERROR: art-group ~A part ~D is not a art-group.~%" - s3-0 - (-> obj load-file-part) - ) - (set! (-> obj status) 'error) + (('reserved) + (cond + ((= (-> *art-control* reserve-buffer) obj) + (set! (-> *art-control* reserve-buffer) #f) + (set! (-> obj status) 'inactive) + ) + (else + (format 0 "ERROR: trying tro free ~A when ~A is reserved~%" obj (-> *art-control* reserve-buffer)) + ) + ) ) - ((not - (file-info-correct-version? (-> s4-0 info) (file-kind art-group) 0) - ) - (set! (-> obj status) 'error) + (('active) + (unlink-file obj (-> obj art-group)) + (let ((v1-70 (-> obj heap))) + (set! (-> v1-70 current) (-> v1-70 base)) + ) + (set! (-> obj art-group) #f) + (set! (-> obj status) 'inactive) + (when (-> obj other locked?) + (unlock! (-> obj other)) + (update (-> obj other)) + ) ) (else - (login s4-0) - (set! (-> obj status) 'locked) - ) + (let ((v1-79 (-> obj heap))) + (set! (-> v1-79 current) (-> v1-79 base)) + ) + (set! (-> obj art-group) #f) + (set! (-> obj status) 'inactive) + ) ) - ) ) - (('locked) - (when - (and (not (-> obj locked?)) (handle->process (-> obj load-file-owner))) - (link-file obj (-> obj art-group)) - (set! (-> obj other locked?) #t) - (set! (-> obj status) 'active) - (goto cfg-18) - ) - ) - ) ) - (else - (case (-> obj status) - (('initialize) - ) - (('reserved) - (cond - ((= (-> *art-control* reserve-buffer) obj) - (set! (-> *art-control* reserve-buffer) #f) - (set! (-> obj status) 'inactive) - ) - (else - (format - 0 - "ERROR: trying tro free ~A when ~A is reserved~%" - obj - (-> *art-control* reserve-buffer) - ) - ) - ) - ) - (('active) - (unlink-file obj (-> obj art-group)) - (let ((v1-70 (-> obj heap))) - (set! (-> v1-70 current) (-> v1-70 base)) - ) - (set! (-> obj art-group) #f) - (set! (-> obj status) 'inactive) - (when (-> obj other locked?) - (unlock! (-> obj other)) - (update (-> obj other)) - ) - ) - (else - (let ((v1-79 (-> obj heap))) - (set! (-> v1-79 current) (-> v1-79 base)) - ) - (set! (-> obj art-group) #f) - (set! (-> obj status) 'inactive) - ) - ) - ) - ) 0 ) @@ -601,195 +476,165 @@ (define *preload-spool-anims* #t) ;; definition for method 12 of type external-art-control -(defmethod - file-status - external-art-control - ((obj external-art-control) (arg0 string) (arg1 int)) +(defmethod file-status external-art-control ((obj external-art-control) (arg0 string) (arg1 int)) (dotimes (s3-0 2) - (let ((v1-3 (file-status (-> obj buffer s3-0) arg0 arg1))) - (if v1-3 - (return v1-3) - ) + (let ((v1-3 (file-status (-> obj buffer s3-0) arg0 arg1))) + (if v1-3 + (return v1-3) + ) + ) ) - ) #f ) ;; definition for method 9 of type external-art-control (defmethod update external-art-control ((obj external-art-control) (arg0 symbol)) (if (nonzero? (-> obj reserve-buffer-count)) - (spool-push obj "reserved" 0 *dproc* (if (-> obj reserve-buffer) - -110.0 - -0.5 - ) - ) - ) + (spool-push obj "reserved" 0 *dproc* (if (-> obj reserve-buffer) + -110.0 + -0.5 + ) + ) + ) (dotimes (v1-5 2) - (set! (-> obj buffer v1-5 frame-lock) #f) - ) + (set! (-> obj buffer v1-5 frame-lock) #f) + ) (dotimes (v1-8 3) - (set! (-> obj rec v1-8 index) (the-as int #f)) - ) + (set! (-> obj rec v1-8 index) (the-as int #f)) + ) (dotimes (s4-0 2) - (let ((s3-0 (-> obj rec s4-0))) - (when (-> s3-0 name) - (dotimes (s2-0 2) - (when - (and - (file-status (-> obj buffer s2-0) (-> s3-0 name) (-> s3-0 parts)) - (not (-> obj buffer s2-0 frame-lock)) + (let ((s3-0 (-> obj rec s4-0))) + (when (-> s3-0 name) + (dotimes (s2-0 2) + (when (and (file-status (-> obj buffer s2-0) (-> s3-0 name) (-> s3-0 parts)) (not (-> obj buffer s2-0 frame-lock))) + (set! (-> obj buffer s2-0 frame-lock) #t) + (set! (-> s3-0 index) (the-as int (-> obj buffer s2-0))) + (set! (-> obj buffer s2-0 pending-load-file-owner) (-> s3-0 owner)) + (set! (-> obj buffer s2-0 load-file-owner) (-> s3-0 owner)) + (set! (-> obj buffer s2-0 pending-load-file-priority) (-> s3-0 priority)) + (set! (-> obj buffer s2-0 load-file-priority) (-> s3-0 priority)) + (goto cfg-24) + ) + ) ) - (set! (-> obj buffer s2-0 frame-lock) #t) - (set! (-> s3-0 index) (the-as int (-> obj buffer s2-0))) - (set! (-> obj buffer s2-0 pending-load-file-owner) (-> s3-0 owner)) - (set! (-> obj buffer s2-0 load-file-owner) (-> s3-0 owner)) - (set! (-> obj buffer s2-0 pending-load-file-priority) (-> s3-0 priority)) - (set! (-> obj buffer s2-0 load-file-priority) (-> s3-0 priority)) - (goto cfg-24) - ) ) - ) + (label cfg-24) ) - (label cfg-24) - ) (dotimes (s4-1 2) - (let ((s3-1 (-> obj rec s4-1))) - (when (and (-> s3-1 name) (not (-> s3-1 buf2))) - (if (and (not *preload-spool-anims*) (>= (-> s3-1 priority) 0.0)) - (goto cfg-46) - ) - (dotimes (s2-1 2) - (when (not (-> obj buffer s2-1 frame-lock)) - (set! (-> obj buffer s2-1 frame-lock) #t) - (set-pending-file - (-> obj buffer s2-1) - (-> s3-1 name) - (-> s3-1 parts) - (-> s3-1 owner) - (-> s3-1 priority) + (let ((s3-1 (-> obj rec s4-1))) + (when (and (-> s3-1 name) (not (-> s3-1 buf2))) + (if (and (not *preload-spool-anims*) (>= (-> s3-1 priority) 0.0)) + (goto cfg-46) + ) + (dotimes (s2-1 2) + (when (not (-> obj buffer s2-1 frame-lock)) + (set! (-> obj buffer s2-1 frame-lock) #t) + (set-pending-file (-> obj buffer s2-1) (-> s3-1 name) (-> s3-1 parts) (-> s3-1 owner) (-> s3-1 priority)) + (set! (-> s3-1 index) (the-as int (-> obj buffer s2-1))) + (goto cfg-46) + ) + ) ) - (set! (-> s3-1 index) (the-as int (-> obj buffer s2-1))) - (goto cfg-46) - ) ) - ) + (label cfg-46) ) - (label cfg-46) - ) (when (not (-> obj reserve-buffer)) - (let ((s4-2 (-> obj rec 0 buf2))) - (if - (and - s4-2 - (-> s4-2 locked?) - (not (string= (-> s4-2 pending-load-file) "reserved")) - (not (string= (-> s4-2 other pending-load-file) "reserved")) + (let ((s4-2 (-> obj rec 0 buf2))) + (if (and + s4-2 + (-> s4-2 locked?) + (not (string= (-> s4-2 pending-load-file) "reserved")) + (not (string= (-> s4-2 other pending-load-file) "reserved")) + ) + (set-pending-file (-> s4-2 other) (the-as string #f) -1 (the-as handle #f) 100000000.0) + ) ) - (set-pending-file - (-> s4-2 other) - (the-as string #f) - -1 - (the-as handle #f) - 100000000.0 - ) - ) ) - ) (dotimes (s4-3 2) - (update (-> obj buffer s4-3)) - ) + (update (-> obj buffer s4-3)) + ) (let ((s4-4 (the-as spool-anim #f))) - (countdown (s3-2 3) - (if - (and - (-> obj rec s3-2 name) - (not (name= (-> obj rec s3-2 name) (-> obj active-stream))) + (countdown (s3-2 3) + (if (and (-> obj rec s3-2 name) (not (name= (-> obj rec s3-2 name) (-> obj active-stream)))) + (set! s4-4 (the-as spool-anim (-> obj rec))) + ) + ) + (if (and (-> obj preload-stream name) (or (not s4-4) (< (-> obj preload-stream priority) (-> s4-4 priority)))) + (set! s4-4 (-> obj preload-stream)) + ) + (cond + (s4-4 + (mem-copy! (&-> (-> obj last-preload-stream) type) (&-> s4-4 type) 44) + (str-play-queue (-> s4-4 name)) + ) + (else + (set! (-> obj last-preload-stream name) #f) + (set! (-> obj last-preload-stream owner) (the-as handle #f)) + ) ) - (set! s4-4 (the-as spool-anim (-> obj rec))) - ) ) - (if - (and - (-> obj preload-stream name) - (or (not s4-4) (< (-> obj preload-stream priority) (-> s4-4 priority))) - ) - (set! s4-4 (-> obj preload-stream)) - ) - (cond - (s4-4 - (mem-copy! (&-> (-> obj last-preload-stream) type) (&-> s4-4 type) 44) - (str-play-queue (-> s4-4 name)) - ) - (else - (set! (-> obj last-preload-stream name) #f) - (set! (-> obj last-preload-stream owner) (the-as handle #f)) - ) - ) - ) (when (and arg0 *display-art-control*) - (dotimes (s5-1 3) - (let ((t9-10 format) - (a0-29 *stdcon*) - (a1-9 "rec ~d ~S ~D ~f ~A~%") - (a2-5 s5-1) - (a3-3 (-> obj rec s5-1 name)) - (t0-3 (-> obj rec s5-1 parts)) - (t1-0 (-> obj rec s5-1 priority)) - (v1-123 (handle->process (-> obj rec s5-1 owner))) - ) - (t9-10 a0-29 a1-9 a2-5 a3-3 t0-3 t1-0 (if v1-123 - (-> v1-123 name) - ) - ) - ) - ) - (dotimes (s5-2 2) - (let ((t9-11 format) - (a0-30 *stdcon*) - (a1-10 "buf ~d ~C ~S ~D ~A ~A~%") - (a2-6 s5-2) - (a3-4 (if (-> obj buffer s5-2 locked?) - 108 - 32 - ) - ) - (t0-4 (-> obj buffer s5-2 pending-load-file)) - (t1-1 (-> obj buffer s5-2 pending-load-file-part)) - (t2-5 (-> obj buffer s5-2 status)) - (v1-144 - (handle->process (-> obj buffer s5-2 pending-load-file-owner)) - ) - ) - (t9-11 a0-30 a1-10 a2-6 a3-4 t0-4 t1-1 t2-5 (if v1-144 - (-> v1-144 name) + (dotimes (s5-1 3) + (let ((t9-10 format) + (a0-29 *stdcon*) + (a1-9 "rec ~d ~S ~D ~f ~A~%") + (a2-5 s5-1) + (a3-3 (-> obj rec s5-1 name)) + (t0-3 (-> obj rec s5-1 parts)) + (t1-0 (-> obj rec s5-1 priority)) + (v1-123 (handle->process (-> obj rec s5-1 owner))) + ) + (t9-10 a0-29 a1-9 a2-5 a3-3 t0-3 t1-0 (if v1-123 + (-> v1-123 name) ) + ) + ) + ) + (dotimes (s5-2 2) + (let ((t9-11 format) + (a0-30 *stdcon*) + (a1-10 "buf ~d ~C ~S ~D ~A ~A~%") + (a2-6 s5-2) + (a3-4 (if (-> obj buffer s5-2 locked?) + 108 + 32 + ) + ) + (t0-4 (-> obj buffer s5-2 pending-load-file)) + (t1-1 (-> obj buffer s5-2 pending-load-file-part)) + (t2-5 (-> obj buffer s5-2 status)) + (v1-144 (handle->process (-> obj buffer s5-2 pending-load-file-owner))) + ) + (t9-11 a0-30 a1-10 a2-6 a3-4 t0-4 t1-1 t2-5 (if v1-144 + (-> v1-144 name) + ) + ) + ) + ) + (format *stdcon* " a: ~S~%" (-> obj active-stream)) + (let ((t9-13 format) + (a0-32 *stdcon*) + (a1-12 " p: ~S ~A~%") + (a2-8 (-> obj preload-stream name)) + (v1-149 (handle->process (-> obj preload-stream owner))) + ) + (t9-13 a0-32 a1-12 a2-8 (if v1-149 + (-> v1-149 name) + ) + ) + ) + (let ((t9-14 format) + (a0-33 *stdcon*) + (a1-13 " q: ~S ~A~%") + (a2-9 (-> obj last-preload-stream name)) + (v1-152 (handle->process (-> obj last-preload-stream owner))) + ) + (t9-14 a0-33 a1-13 a2-9 (if v1-152 + (-> v1-152 name) + ) + ) ) - ) ) - (format *stdcon* " a: ~S~%" (-> obj active-stream)) - (let ((t9-13 format) - (a0-32 *stdcon*) - (a1-12 " p: ~S ~A~%") - (a2-8 (-> obj preload-stream name)) - (v1-149 (handle->process (-> obj preload-stream owner))) - ) - (t9-13 a0-32 a1-12 a2-8 (if v1-149 - (-> v1-149 name) - ) - ) - ) - (let ((t9-14 format) - (a0-33 *stdcon*) - (a1-13 " q: ~S ~A~%") - (a2-9 (-> obj last-preload-stream name)) - (v1-152 (handle->process (-> obj last-preload-stream owner))) - ) - (t9-14 a0-33 a1-13 a2-9 (if v1-152 - (-> v1-152 name) - ) - ) - ) - ) 0 ) @@ -802,232 +647,155 @@ (defmethod reserve-alloc external-art-control ((obj external-art-control)) (set! (-> obj reserve-buffer-count) 1) (if (-> obj reserve-buffer) - (-> obj reserve-buffer heap) - ) + (-> obj reserve-buffer heap) + ) ) ;; definition for method 14 of type external-art-control -(defmethod - reserve-free - external-art-control - ((obj external-art-control) (arg0 kheap)) +(defmethod reserve-free external-art-control ((obj external-art-control) (arg0 kheap)) (cond - ((zero? (-> obj reserve-buffer-count)) - (format + ((zero? (-> obj reserve-buffer-count)) + (format 0 "ERROR: illegal attempt to free a buffer #x~X which had not been reserved (none reserved).~%" arg0) + ) + ((not (-> obj reserve-buffer)) + (set! (-> obj reserve-buffer-count) 0) 0 - "ERROR: illegal attempt to free a buffer #x~X which had not been reserved (none reserved).~%" - arg0 ) - ) - ((not (-> obj reserve-buffer)) - (set! (-> obj reserve-buffer-count) 0) - 0 - ) - ((= (-> obj reserve-buffer heap) arg0) - (set-pending-file - (-> obj reserve-buffer) - (the-as string #f) - -1 - (the-as handle #f) - 100000000.0 - ) - (update (-> obj reserve-buffer)) - (set! (-> obj reserve-buffer-count) 0) - 0 - ) - (else - (format + ((= (-> obj reserve-buffer heap) arg0) + (set-pending-file (-> obj reserve-buffer) (the-as string #f) -1 (the-as handle #f) 100000000.0) + (update (-> obj reserve-buffer)) + (set! (-> obj reserve-buffer-count) 0) 0 - "ERROR: illegal attempt to free a buffer #x~X which had not been reserved (buffer unknown).~%" - arg0 ) + (else + (format 0 "ERROR: illegal attempt to free a buffer #x~X which had not been reserved (buffer unknown).~%" arg0) + ) ) - ) 0 ) ;; definition for method 10 of type external-art-control (defmethod clear-rec external-art-control ((obj external-art-control)) (cond - ((!= *master-mode* 'game) - (dotimes (s5-0 3) - (when (name= (-> obj rec s5-0 name) "reserved") - (let ((v1-5 s5-0)) - (cond - ((zero? v1-5) - (mem-copy! - (&+ (the-as pointer (-> obj rec)) -4) - (&-> (-> obj rec 1) type) - 44 - ) - (mem-copy! (&-> (-> obj rec 1) type) (&-> (-> obj rec 2) type) 44) + ((!= *master-mode* 'game) + (dotimes (s5-0 3) + (when (name= (-> obj rec s5-0 name) "reserved") + (let ((v1-5 s5-0)) + (cond + ((zero? v1-5) + (mem-copy! (&+ (the-as pointer (-> obj rec)) -4) (&-> (-> obj rec 1) type) 44) + (mem-copy! (&-> (-> obj rec 1) type) (&-> (-> obj rec 2) type) 44) + ) + ((= v1-5 1) + (mem-copy! (&-> (-> obj rec 1) type) (&-> (-> obj rec 2) type) 44) + ) + ) + ) + (set! (-> obj rec 2 type) spool-anim) + (set! (-> obj rec 2 name) #f) + (set! (-> obj rec 2 priority) 100000000.0) + (set! (-> obj rec 2 owner) (the-as handle #f)) ) - ((= v1-5 1) - (mem-copy! (&-> (-> obj rec 1) type) (&-> (-> obj rec 2) type) 44) - ) - ) ) - (set! (-> obj rec 2 type) spool-anim) - (set! (-> obj rec 2 name) #f) - (set! (-> obj rec 2 priority) 100000000.0) - (set! (-> obj rec 2 owner) (the-as handle #f)) + ) + (else + (dotimes (v1-19 3) + (set! (-> obj rec v1-19 type) spool-anim) + (set! (-> obj rec v1-19 name) #f) + (set! (-> obj rec v1-19 priority) 100000000.0) + (set! (-> obj rec v1-19 owner) (the-as handle #f)) + ) + (set! (-> obj preload-stream type) spool-anim) + (set! (-> obj preload-stream name) #f) + (set! (-> obj preload-stream priority) 100000000.0) + (set! (-> obj preload-stream owner) (the-as handle #f)) ) - ) ) - (else - (dotimes (v1-19 3) - (set! (-> obj rec v1-19 type) spool-anim) - (set! (-> obj rec v1-19 name) #f) - (set! (-> obj rec v1-19 priority) 100000000.0) - (set! (-> obj rec v1-19 owner) (the-as handle #f)) - ) - (set! (-> obj preload-stream type) spool-anim) - (set! (-> obj preload-stream name) #f) - (set! (-> obj preload-stream priority) 100000000.0) - (set! (-> obj preload-stream owner) (the-as handle #f)) - ) - ) 0 ) ;; definition for method 16 of type external-art-control -(defmethod - try-preload-stream - external-art-control - ((obj external-art-control) - (arg0 string) - (arg1 int) - (arg2 process) - (arg3 float) - ) +(defmethod try-preload-stream external-art-control ((obj external-art-control) (arg0 string) (arg1 int) (arg2 process) (arg3 float)) (when (and (= arg3 -99.0) arg2) - (let ((a0-2 (target-pos 0))) - (set! - arg3 - (vector-vector-distance - a0-2 - (-> (the-as process-drawable arg2) root trans) + (let ((a0-2 (target-pos 0))) + (set! arg3 (vector-vector-distance a0-2 (-> (the-as process-drawable arg2) root trans))) ) - ) ) - ) - (when - (not - (and - (-> obj preload-stream name) - (>= arg3 (-> obj preload-stream priority)) - ) - ) - (set! (-> obj preload-stream name) arg0) - (set! (-> obj preload-stream parts) arg1) - (set! (-> obj preload-stream priority) arg3) - (let ((v1-8 (process->ppointer arg2))) - (set! - (-> obj preload-stream owner) - (new 'static 'handle - :process v1-8 - :pid (-> (the-as process (-> v1-8 0)) pid) + (when (not (and (-> obj preload-stream name) (>= arg3 (-> obj preload-stream priority)))) + (set! (-> obj preload-stream name) arg0) + (set! (-> obj preload-stream parts) arg1) + (set! (-> obj preload-stream priority) arg3) + (let ((v1-8 (process->ppointer arg2))) + (set! (-> obj preload-stream owner) + (new 'static 'handle :process v1-8 :pid (-> (the-as process (-> v1-8 0)) pid)) + ) ) - ) ) - ) 0 ) ;; definition for method 11 of type external-art-control -(defmethod - spool-push - external-art-control - ((obj external-art-control) - (arg0 string) - (arg1 int) - (arg2 process) - (arg3 float) - ) +(defmethod spool-push external-art-control ((obj external-art-control) (arg0 string) (arg1 int) (arg2 process) (arg3 float)) (when (and (= arg3 -99.0) arg2) - (let ((a0-2 (target-pos 0))) - (set! - arg3 - (vector-vector-distance - a0-2 - (-> (the-as process-drawable arg2) root trans) + (let ((a0-2 (target-pos 0))) + (set! arg3 (vector-vector-distance a0-2 (-> (the-as process-drawable arg2) root trans))) ) - ) ) - ) (cond - ((and (= arg1 (-> obj rec 0 parts)) (name= arg0 (-> obj rec 0 name))) - (if (>= arg3 (-> obj rec 0 priority)) - (return (the-as int #f)) + ((and (= arg1 (-> obj rec 0 parts)) (name= arg0 (-> obj rec 0 name))) + (if (>= arg3 (-> obj rec 0 priority)) + (return (the-as int #f)) + ) + (mem-copy! (&-> (-> obj rec) 0 type) (&-> (-> obj rec 1) type) 44) + (mem-copy! (&-> (-> obj rec 1) type) (&-> (-> obj rec 2) type) 44) + (set! (-> obj rec 2 name) #f) + (set! (-> obj rec 2 owner) (the-as handle #f)) ) - (mem-copy! (&-> (-> obj rec) 0 type) (&-> (-> obj rec 1) type) 44) - (mem-copy! (&-> (-> obj rec 1) type) (&-> (-> obj rec 2) type) 44) - (set! (-> obj rec 2 name) #f) - (set! (-> obj rec 2 owner) (the-as handle #f)) - ) - ((and (= arg1 (-> obj rec 1 parts)) (name= arg0 (-> obj rec 1 name))) - (if (>= arg3 (-> obj rec 1 priority)) - (return (the-as int #f)) + ((and (= arg1 (-> obj rec 1 parts)) (name= arg0 (-> obj rec 1 name))) + (if (>= arg3 (-> obj rec 1 priority)) + (return (the-as int #f)) + ) + (mem-copy! (&-> (-> obj rec 1) type) (&-> (-> obj rec 2) type) 44) + (set! (-> obj rec 2 name) #f) + (set! (-> obj rec 2 owner) (the-as handle #f)) ) - (mem-copy! (&-> (-> obj rec 1) type) (&-> (-> obj rec 2) type) 44) - (set! (-> obj rec 2 name) #f) - (set! (-> obj rec 2 owner) (the-as handle #f)) - ) - ((and (= arg1 (-> obj rec 2 parts)) (name= arg0 (-> obj rec 2 name))) - (if (>= arg3 (-> obj rec 2 priority)) - (return (the-as int #f)) + ((and (= arg1 (-> obj rec 2 parts)) (name= arg0 (-> obj rec 2 name))) + (if (>= arg3 (-> obj rec 2 priority)) + (return (the-as int #f)) + ) + (set! (-> obj rec 2 name) #f) + (set! (-> obj rec 2 owner) (the-as handle #f)) ) - (set! (-> obj rec 2 name) #f) - (set! (-> obj rec 2 owner) (the-as handle #f)) ) - ) (cond - ((< arg3 (-> obj rec 0 priority)) - (mem-copy! (&-> (-> obj rec 2) type) (&-> (-> obj rec 1) type) 44) - (mem-copy! (&-> (-> obj rec 1) type) (&-> (-> obj rec) 0 type) 44) - (set! (-> obj rec 0 name) arg0) - (set! (-> obj rec 0 parts) arg1) - (set! (-> obj rec 0 priority) arg3) - (let ((v1-34 (process->ppointer arg2))) - (set! - (-> obj rec 0 owner) - (new 'static 'handle - :process v1-34 - :pid (-> (the-as process (-> v1-34 0)) pid) + ((< arg3 (-> obj rec 0 priority)) + (mem-copy! (&-> (-> obj rec 2) type) (&-> (-> obj rec 1) type) 44) + (mem-copy! (&-> (-> obj rec 1) type) (&-> (-> obj rec) 0 type) 44) + (set! (-> obj rec 0 name) arg0) + (set! (-> obj rec 0 parts) arg1) + (set! (-> obj rec 0 priority) arg3) + (let ((v1-34 (process->ppointer arg2))) + (set! (-> obj rec 0 owner) (new 'static 'handle :process v1-34 :pid (-> (the-as process (-> v1-34 0)) pid))) + ) + ) + ((< arg3 (-> obj rec 1 priority)) + (mem-copy! (&-> (-> obj rec 2) type) (&-> (-> obj rec 1) type) 44) + (set! (-> obj rec 1 name) arg0) + (set! (-> obj rec 1 parts) arg1) + (set! (-> obj rec 1 priority) arg3) + (let ((v1-40 (process->ppointer arg2))) + (set! (-> obj rec 1 owner) (new 'static 'handle :process v1-40 :pid (-> (the-as process (-> v1-40 0)) pid))) + ) + ) + ((< arg3 (-> obj rec 2 priority)) + (set! (-> obj rec 2 name) arg0) + (set! (-> obj rec 2 parts) arg1) + (set! (-> obj rec 2 priority) arg3) + (let ((v1-44 (process->ppointer arg2))) + (set! (-> obj rec 2 owner) (new 'static 'handle :process v1-44 :pid (-> (the-as process (-> v1-44 0)) pid))) ) - ) ) ) - ((< arg3 (-> obj rec 1 priority)) - (mem-copy! (&-> (-> obj rec 2) type) (&-> (-> obj rec 1) type) 44) - (set! (-> obj rec 1 name) arg0) - (set! (-> obj rec 1 parts) arg1) - (set! (-> obj rec 1 priority) arg3) - (let ((v1-40 (process->ppointer arg2))) - (set! - (-> obj rec 1 owner) - (new 'static 'handle - :process v1-40 - :pid (-> (the-as process (-> v1-40 0)) pid) - ) - ) - ) - ) - ((< arg3 (-> obj rec 2 priority)) - (set! (-> obj rec 2 name) arg0) - (set! (-> obj rec 2 parts) arg1) - (set! (-> obj rec 2 priority) arg3) - (let ((v1-44 (process->ppointer arg2))) - (set! - (-> obj rec 2 owner) - (new 'static 'handle - :process v1-44 - :pid (-> (the-as process (-> v1-44 0)) pid) - ) - ) - ) - ) - ) 0 ) @@ -1037,25 +805,19 @@ ;; WARN: Stack slot offset 24 signed mismatch ;; WARN: Stack slot offset 24 signed mismatch ;; WARN: Stack slot offset 24 signed mismatch -(defbehavior - ja-play-spooled-anim process-drawable - ((arg0 spool-anim) - (arg1 art-joint-anim) - (arg2 art-joint-anim) - (arg3 (function process-drawable symbol)) - ) +(defbehavior ja-play-spooled-anim process-drawable ((arg0 spool-anim) (arg1 art-joint-anim) (arg2 art-joint-anim) (arg3 (function process-drawable symbol))) (local-vars - (v0-39 int) - (spool-part int) - (sv-24 float) - (old-skel-status uint) - (sv-32 int) - (sv-40 int) - (sv-48 int) - (sv-56 int) - (spool-sound sound-id) - (sv-72 int) - ) + (v0-39 int) + (spool-part int) + (sv-24 float) + (old-skel-status uint) + (sv-32 int) + (sv-40 int) + (sv-48 int) + (sv-56 int) + (spool-sound sound-id) + (sv-72 int) + ) (set! spool-part 0) (set! sv-24 -17.0) (set! old-skel-status (-> self skel status)) @@ -1065,227 +827,162 @@ (set! sv-56 0) (set! spool-sound (new-sound-id)) (backup-load-state-and-set-cmds *load-state* (-> arg0 command-list)) - (set-setting! - *setting-control* - self - 'spooling - (the-as symbol (process->ppointer self)) - 0.0 - 0 - ) + (set-setting! *setting-control* self 'spooling (the-as symbol (process->ppointer self)) 0.0 0) (logior! (-> self skel status) 7) (kill-current-level-hint '() '() 'die) (level-hint-surpress!) (copy-settings-from-target! *setting-control*) - (when - (or (handle->process (-> *art-control* spool-lock)) (!= *master-mode* 'game)) - (cond - (arg1 - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - arg1 + (when (or (handle->process (-> *art-control* spool-lock)) (!= *master-mode* 'game)) + (cond + (arg1 + (when (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + arg1 + ) + (ja-channel-push! 1 15) + (let ((s2-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! s2-0 arg1 num-func-identity) + (set! (-> s2-0 frame-num) 0.0) ) - (ja-channel-push! 1 15) - (let ((s2-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s2-0 arg1 num-func-identity) - (set! (-> s2-0 frame-num) 0.0) - ) + ) + ) + (else + (ja-channel-set! 0) + ) ) - ) - (else - (ja-channel-set! 0) - ) - ) - (while - (or - (handle->process (-> *art-control* spool-lock)) - (!= *master-mode* 'game) - ) - (format #t "WARNING: ---------------------> loader stall on lock~%") - (if (arg3 self) - (goto cfg-88) - ) - (spool-push *art-control* (-> arg0 name) spool-part self -9.0) - (suspend) - (when arg1 - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) 1.0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-loop! - ) + (while (or (handle->process (-> *art-control* spool-lock)) (!= *master-mode* 'game)) + (format #t "WARNING: ---------------------> loader stall on lock~%") + (if (arg3 self) + (goto cfg-88) + ) + (spool-push *art-control* (-> arg0 name) spool-part self -9.0) + (suspend) + (when arg1 + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) 1.0) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) + ) + ) ) - ) ) - ) (let ((v1-46 (process->ppointer self))) - (set! - (-> *art-control* spool-lock) - (new 'static 'handle - :process v1-46 - :pid (-> (the-as process (-> v1-46 0)) pid) - ) + (set! (-> *art-control* spool-lock) + (new 'static 'handle :process v1-46 :pid (-> (the-as process (-> v1-46 0)) pid)) + ) ) - ) (set! sv-48 (-> *display* base-frame-counter)) (while (< spool-part (-> arg0 parts)) - (spool-push *art-control* (-> arg0 name) spool-part self -20.0) - (update *art-control* #f) - (spool-push *art-control* (-> arg0 name) spool-part self -20.0) - (when (!= (file-status *art-control* (-> arg0 name) spool-part) 'active) - (cond - (arg1 - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - arg1 - ) - (ja-channel-set! 1) - (let ((s2-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s2-2 arg1 num-func-identity) - (set! (-> s2-2 frame-num) 0.0) - ) - ) - ) - (else - (ja-channel-set! 0) - ) - ) - (while (!= (file-status *art-control* (-> arg0 name) spool-part) 'active) - (if (arg3 self) - (goto cfg-88) - ) - (spool-push *art-control* (-> arg0 name) spool-part self -20.0) - (format - #t - "WARNING: ---------------------> loader stall on art ~S ~D~%" - (-> arg0 name) - spool-part - ) - (suspend) - (when arg1 - (let ((a0-37 (-> self skel root-channel 0))) - (set! (-> a0-37 param 0) 1.0) - (joint-control-channel-group-eval! - a0-37 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - ) - ) - (spool-push *art-control* (-> arg0 name) spool-part self -20.0) - (let - ((s2-4 - (the-as - art-joint-anim - (dummy-10 (-> self draw art-group) (-> arg0 name) art-joint-anim) - ) - ) - ) - (cond - (s2-4 - (ja-channel-set! 1) - (let ((a0-42 (-> self skel root-channel 0))) - (set! (-> a0-42 frame-group) s2-4) - (set! (-> a0-42 param 0) (the float (+ (-> s2-4 data 0 length) -1))) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! a0-42 s2-4 num-func-seek!) - ) - (when (zero? spool-part) - (str-play-async (-> arg0 name) spool-sound) - (set! (-> *art-control* active-stream) (-> arg0 name)) - ) - (let* ((f30-0 (* 0.05859375 (-> s2-4 speed))) - (f28-0 - (+ sv-24 (/ (the float (+ (-> s2-4 data 0 length) -1)) f30-0)) + (spool-push *art-control* (-> arg0 name) spool-part self -20.0) + (update *art-control* #f) + (spool-push *art-control* (-> arg0 name) spool-part self -20.0) + (when (!= (file-status *art-control* (-> arg0 name) spool-part) 'active) + (cond + (arg1 + (when (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + arg1 + ) + (ja-channel-set! 1) + (let ((s2-2 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! s2-2 arg1 num-func-identity) + (set! (-> s2-2 frame-num) 0.0) ) - ) - (set! sv-72 (current-str-pos spool-sound)) - (set! sv-40 (-> *display* base-frame-counter)) - (until (>= (the float v0-39) f28-0) - (if (= (-> self skel root-channel 0) (-> self skel channel)) - (logior! (-> self skel status) 32) - ) - (if - (or - (arg3 self) - (and - (<= sv-72 0) - (>= (- (-> *display* base-frame-counter) sv-40) 1200) - ) - (and (< 300 sv-56) (<= sv-72 0)) - ) - (goto cfg-88) - ) - (spool-push *art-control* (-> arg0 name) spool-part self -20.0) - (if (< (+ spool-part 1) (-> arg0 parts)) - (spool-push *art-control* (-> arg0 name) (+ spool-part 1) self -10.0) - (set! (-> self skel status) (logand -5 (-> self skel status))) - ) - (execute-commands-up-to *load-state* (ja-aframe-num 0)) - (cond - ((and (< sv-32 sv-72) (= (current-str-id) spool-sound)) - (set! - sv-56 - (+ - sv-56 - (- - (-> *display* base-frame-counter) - (-> *display* old-base-frame-counter) - ) ) - ) - (set! sv-40 (-> *display* base-frame-counter)) ) - (else - 0 + (else + (ja-channel-set! 0) + ) + ) + (while (!= (file-status *art-control* (-> arg0 name) spool-part) 'active) + (if (arg3 self) + (goto cfg-88) + ) + (spool-push *art-control* (-> arg0 name) spool-part self -20.0) + (format #t "WARNING: ---------------------> loader stall on art ~S ~D~%" (-> arg0 name) spool-part) + (suspend) + (when arg1 + (let ((a0-37 (-> self skel root-channel 0))) + (set! (-> a0-37 param 0) 1.0) + (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-loop!) + ) ) - ) - (set! sv-32 sv-72) - (set! sv-48 (-> *display* base-frame-counter)) - (suspend) - (let - ((f0-14 (* (- (the float (current-str-pos spool-sound)) sv-24) f30-0)) - (a0-69 (-> self skel root-channel 0)) - ) - (set! - (-> a0-69 param 0) - (the float (+ (-> a0-69 frame-group data 0 length) -1)) - ) - (set! (-> a0-69 param 1) 1.0) - (set! (-> a0-69 frame-num) f0-14) - (joint-control-channel-group! - a0-69 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (set! v0-39 (current-str-pos spool-sound)) - (set! sv-72 v0-39) ) - (set! sv-24 f28-0) - ) - (set! (-> self skel status) (logand -33 (-> self skel status))) ) - (else - (format - 0 - "ERROR: ~A in spool anim loop for ~A ~D, but not loaded.~" - self - (-> arg0 name) - spool-part - ) - (goto cfg-88) + (spool-push *art-control* (-> arg0 name) spool-part self -20.0) + (let ((s2-4 (the-as art-joint-anim (dummy-10 (-> self draw art-group) (-> arg0 name) art-joint-anim)))) + (cond + (s2-4 + (ja-channel-set! 1) + (let ((a0-42 (-> self skel root-channel 0))) + (set! (-> a0-42 frame-group) s2-4) + (set! (-> a0-42 param 0) (the float (+ (-> s2-4 data 0 length) -1))) + (set! (-> a0-42 param 1) 1.0) + (set! (-> a0-42 frame-num) 0.0) + (joint-control-channel-group! a0-42 s2-4 num-func-seek!) + ) + (when (zero? spool-part) + (str-play-async (-> arg0 name) spool-sound) + (set! (-> *art-control* active-stream) (-> arg0 name)) + ) + (let* ((f30-0 (* 0.05859375 (-> s2-4 speed))) + (f28-0 (+ sv-24 (/ (the float (+ (-> s2-4 data 0 length) -1)) f30-0))) + ) + (set! sv-72 (current-str-pos spool-sound)) + (set! sv-40 (-> *display* base-frame-counter)) + (until (>= (the float v0-39) f28-0) + (if (= (-> self skel root-channel 0) (-> self skel channel)) + (logior! (-> self skel status) 32) + ) + (if (or + (arg3 self) + (and (<= sv-72 0) (>= (- (-> *display* base-frame-counter) sv-40) 1200)) + (and (< 300 sv-56) (<= sv-72 0)) + ) + (goto cfg-88) + ) + (spool-push *art-control* (-> arg0 name) spool-part self -20.0) + (if (< (+ spool-part 1) (-> arg0 parts)) + (spool-push *art-control* (-> arg0 name) (+ spool-part 1) self -10.0) + (set! (-> self skel status) (logand -5 (-> self skel status))) + ) + (execute-commands-up-to *load-state* (ja-aframe-num 0)) + (cond + ((and (< sv-32 sv-72) (= (current-str-id) spool-sound)) + (set! sv-56 (+ sv-56 (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter)))) + (set! sv-40 (-> *display* base-frame-counter)) + ) + (else + 0 + ) + ) + (set! sv-32 sv-72) + (set! sv-48 (-> *display* base-frame-counter)) + (suspend) + (let ((f0-14 (* (- (the float (current-str-pos spool-sound)) sv-24) f30-0)) + (a0-69 (-> self skel root-channel 0)) + ) + (set! (-> a0-69 param 0) (the float (+ (-> a0-69 frame-group data 0 length) -1))) + (set! (-> a0-69 param 1) 1.0) + (set! (-> a0-69 frame-num) f0-14) + (joint-control-channel-group! a0-69 (the-as art-joint-anim #f) num-func-seek!) + ) + (set! v0-39 (current-str-pos spool-sound)) + (set! sv-72 v0-39) + ) + (set! sv-24 f28-0) + ) + (set! (-> self skel status) (logand -33 (-> self skel status))) + ) + (else + (format 0 "ERROR: ~A in spool anim loop for ~A ~D, but not loaded.~" self (-> arg0 name) spool-part) + (goto cfg-88) + ) + ) ) - ) + (set! spool-part (+ spool-part 1)) ) - (set! spool-part (+ spool-part 1)) - ) (set! spool-part (+ spool-part -1)) (label cfg-88) (ja-abort-spooled-anim arg0 arg2 spool-part) @@ -1293,47 +990,38 @@ ) ;; definition for function ja-abort-spooled-anim -(defbehavior - ja-abort-spooled-anim process-drawable - ((arg0 spool-anim) (arg1 art-joint-anim) (arg2 int)) +(defbehavior ja-abort-spooled-anim process-drawable ((arg0 spool-anim) (arg1 art-joint-anim) (arg2 int)) (restore-load-state-and-cleanup *load-state*) (str-play-stop (-> arg0 name)) (set! (-> *art-control* active-stream) #f) (set! (-> self skel status) (logand -7 (-> self skel status))) (if (zero? (logand (-> self skel status) 1)) - (set! (-> self skel status) (logand -2 (-> self skel status))) - ) + (set! (-> self skel status) (logand -2 (-> self skel status))) + ) (clear-pending-settings-from-process *setting-control* self 'spooling) (cond - ((and arg1 (>= arg2 0)) - (ja-channel-push! 1 30) - (set! (-> self skel root-channel 0 frame-group) arg1) - (while (!= (-> self skel root-channel 0) (-> self skel channel)) - (spool-push *art-control* (-> arg0 name) arg2 self -20.0) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) + ((and arg1 (>= arg2 0)) + (ja-channel-push! 1 30) + (set! (-> self skel root-channel 0 frame-group) arg1) + (while (!= (-> self skel root-channel 0) (-> self skel channel)) + (spool-push *art-control* (-> arg0 name) arg2 self -20.0) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) + (else + (ja-channel-set! 0) + ) ) - (else - (ja-channel-set! 0) - ) - ) (set! (-> *art-control* spool-lock) (the-as handle #f)) 0 ) ;; failed to figure out what this is: (if (zero? *art-control*) - (set! *art-control* (new 'global 'external-art-control)) - ) + (set! *art-control* (new 'global 'external-art-control)) + ) diff --git a/test/decompiler/reference/engine/load/ramdisk_REF.gc b/test/decompiler/reference/engine/load/ramdisk_REF.gc index 02dc5b66ca..e63d9eda49 100644 --- a/test/decompiler/reference/engine/load/ramdisk_REF.gc +++ b/test/decompiler/reference/engine/load/ramdisk_REF.gc @@ -72,10 +72,7 @@ ) ;; definition for symbol *ramdisk-rpc*, type rpc-buffer-pair -(define - *ramdisk-rpc* - (new 'global 'rpc-buffer-pair (the-as uint 32) (the-as uint 1) 2) - ) +(define *ramdisk-rpc* (new 'global 'rpc-buffer-pair (the-as uint 32) (the-as uint 1) 2)) ;; definition for symbol *current-ramdisk-id*, type int (define *current-ramdisk-id* 0) @@ -83,10 +80,10 @@ ;; definition for function ramdisk-load (defun ramdisk-load ((file-id int) (offset uint) (length uint) (buffer pointer)) (let ((cmd (the-as ramdisk-rpc-load (add-element *ramdisk-rpc*)))) - (set! (-> cmd offset) offset) - (set! (-> cmd ee-id) file-id) - (set! (-> cmd length) length) - ) + (set! (-> cmd offset) offset) + (set! (-> cmd ee-id) file-id) + (set! (-> cmd length) length) + ) (call *ramdisk-rpc* (the-as uint 0) buffer length) 0 ) diff --git a/test/decompiler/reference/engine/math/euler-h_REF.gc b/test/decompiler/reference/engine/math/euler-h_REF.gc index 434506ff5f..ffb8842332 100644 --- a/test/decompiler/reference/engine/math/euler-h_REF.gc +++ b/test/decompiler/reference/engine/math/euler-h_REF.gc @@ -4,17 +4,13 @@ ;; definition for symbol EulSafe, type (array int32) (define EulSafe - (the-as (array int32) - (new 'static 'boxed-array :type int32 :length 4 :allocated-length 4 0 1 2 0) - ) + (the-as (array int32) (new 'static 'boxed-array :type int32 :length 4 :allocated-length 4 0 1 2 0)) ) ;; definition for symbol EulNext, type (array int32) (define EulNext - (the-as (array int32) - (new 'static 'boxed-array :type int32 :length 4 :allocated-length 4 1 2 0 1) - ) + (the-as (array int32) (new 'static 'boxed-array :type int32 :length 4 :allocated-length 4 1 2 0 1)) ) ;; definition of type euler-angles diff --git a/test/decompiler/reference/engine/math/euler_REF.gc b/test/decompiler/reference/engine/math/euler_REF.gc index 08c110a0e4..a1114b5cce 100644 --- a/test/decompiler/reference/engine/math/euler_REF.gc +++ b/test/decompiler/reference/engine/math/euler_REF.gc @@ -2,9 +2,7 @@ (in-package goal) ;; definition for function set-eul! -(defun - set-eul! - ((arg0 euler-angles) (arg1 float) (arg2 float) (arg3 float) (arg4 int)) +(defun set-eul! ((arg0 euler-angles) (arg1 float) (arg2 float) (arg3 float) (arg4 int)) (set! (-> arg0 x) arg1) (set! (-> arg0 y) arg2) (set! (-> arg0 z) arg3) @@ -17,208 +15,80 @@ (defun eul->matrix ((arg0 matrix) (arg1 euler-angles)) (matrix-identity! arg0) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> arg1 quad)) - (when (= (logand (the int (-> s5-0 w)) 1) 1) - (let ((f0-2 (-> s5-0 x))) - (set! (-> s5-0 x) (-> s5-0 z)) - (set! (-> s5-0 z) f0-2) - ) - ) - (when (= (logand (/ (the int (-> s5-0 w)) 4) 1) 1) - (set! (-> s5-0 x) (- (-> s5-0 x))) - (set! (-> s5-0 y) (- (-> s5-0 y))) - (set! (-> s5-0 z) (- (-> s5-0 z))) - ) - (let* ((f26-0 (cos (-> s5-0 x))) - (f30-0 (cos (-> s5-0 y))) - (f22-0 (cos (-> s5-0 z))) - (f24-0 (sin (-> s5-0 x))) - (f28-0 (sin (-> s5-0 y))) - (f4-0 (sin (-> s5-0 z))) - (f0-17 (* f26-0 f22-0)) - (f1-1 (* f26-0 f4-0)) - (f2-0 (* f24-0 f22-0)) - (f3-0 (* f24-0 f4-0)) - ) - 0 - 0 - 0 - (let* ((v1-12 (logand (/ (the int (-> s5-0 w)) 4) 1)) - (a1-2 (-> EulSafe (logand (/ (the int (-> s5-0 w)) 8) 3))) - (a0-21 (-> EulNext (+ a1-2 v1-12))) - (v1-17 (-> EulNext (+ (- 1 v1-12) a1-2))) - ) - (cond - ((= (logand (/ (the int (-> s5-0 w)) 2) 1) 1) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a1-2 16) (* a1-2 4)) (the-as int arg0)) - ) - ) - f30-0 + (set! (-> s5-0 quad) (-> arg1 quad)) + (when (= (logand (the int (-> s5-0 w)) 1) 1) + (let ((f0-2 (-> s5-0 x))) + (set! (-> s5-0 x) (-> s5-0 z)) + (set! (-> s5-0 z) f0-2) + ) + ) + (when (= (logand (/ (the int (-> s5-0 w)) 4) 1) 1) + (set! (-> s5-0 x) (- (-> s5-0 x))) + (set! (-> s5-0 y) (- (-> s5-0 y))) + (set! (-> s5-0 z) (- (-> s5-0 z))) + ) + (let* ((f26-0 (cos (-> s5-0 x))) + (f30-0 (cos (-> s5-0 y))) + (f22-0 (cos (-> s5-0 z))) + (f24-0 (sin (-> s5-0 x))) + (f28-0 (sin (-> s5-0 y))) + (f4-0 (sin (-> s5-0 z))) + (f0-17 (* f26-0 f22-0)) + (f1-1 (* f26-0 f4-0)) + (f2-0 (* f24-0 f22-0)) + (f3-0 (* f24-0 f4-0)) + ) + 0 + 0 + 0 + (let* ((v1-12 (logand (/ (the int (-> s5-0 w)) 4) 1)) + (a1-2 (-> EulSafe (logand (/ (the int (-> s5-0 w)) 8) 3))) + (a0-21 (-> EulNext (+ a1-2 v1-12))) + (v1-17 (-> EulNext (+ (- 1 v1-12) a1-2))) + ) + (cond + ((= (logand (/ (the int (-> s5-0 w)) 2) 1) 1) + (set! (-> (the-as (pointer float) (+ (+ (* a1-2 16) (* a1-2 4)) (the-as int arg0)))) f30-0) + (set! (-> (the-as (pointer float) (+ (+ (* a1-2 16) (* a0-21 4)) (the-as int arg0)))) (* f28-0 f24-0)) + (set! (-> (the-as (pointer float) (+ (+ (* a1-2 16) (* v1-17 4)) (the-as int arg0)))) (* f28-0 f26-0)) + (set! (-> (the-as (pointer float) (+ (+ (* a0-21 16) (* a1-2 4)) (the-as int arg0)))) (* f28-0 f4-0)) + (set! (-> (the-as (pointer float) (+ (+ (* a0-21 16) (* a0-21 4)) (the-as int arg0)))) + (- f0-17 (* f30-0 f3-0)) + ) + (set! (-> (the-as (pointer float) (+ (+ (* a0-21 16) (* v1-17 4)) (the-as int arg0)))) + (- (- f2-0) (* f30-0 f1-1)) + ) + (set! (-> (the-as (pointer float) (+ (+ (* v1-17 16) (* a1-2 4)) (the-as int arg0)))) (- (* f28-0 f22-0))) + (set! (-> (the-as (pointer float) (+ (+ (* v1-17 16) (* a0-21 4)) (the-as int arg0)))) + (+ f1-1 (* f30-0 f2-0)) + ) + (set! (-> (the-as (pointer float) (+ (+ (* v1-17 16) (* v1-17 4)) (the-as int arg0)))) + (+ (- f3-0) (* f30-0 f0-17)) + ) + ) + (else + (set! (-> (the-as (pointer float) (+ (+ (* a1-2 16) (* a1-2 4)) (the-as int arg0)))) (* f30-0 f22-0)) + (set! (-> (the-as (pointer float) (+ (+ (* a1-2 16) (* a0-21 4)) (the-as int arg0)))) + (+ (- f1-1) (* f28-0 f2-0)) + ) + (set! (-> (the-as (pointer float) (+ (+ (* a1-2 16) (* v1-17 4)) (the-as int arg0)))) + (+ f3-0 (* f28-0 f0-17)) + ) + (set! (-> (the-as (pointer float) (+ (+ (* a0-21 16) (* a1-2 4)) (the-as int arg0)))) (* f30-0 f4-0)) + (set! (-> (the-as (pointer float) (+ (+ (* a0-21 16) (* a0-21 4)) (the-as int arg0)))) + (+ f0-17 (* f28-0 f3-0)) + ) + (set! (-> (the-as (pointer float) (+ (+ (* a0-21 16) (* v1-17 4)) (the-as int arg0)))) + (+ (- f2-0) (* f28-0 f1-1)) + ) + (set! (-> (the-as (pointer float) (+ (+ (* v1-17 16) (* a1-2 4)) (the-as int arg0)))) (- f28-0)) + (set! (-> (the-as (pointer float) (+ (+ (* v1-17 16) (* a0-21 4)) (the-as int arg0)))) (* f30-0 f24-0)) + (set! (-> (the-as (pointer float) (+ (+ (* v1-17 16) (* v1-17 4)) (the-as int arg0)))) (* f30-0 f26-0)) + ) + ) ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a1-2 16) (* a0-21 4)) (the-as int arg0)) - ) - ) - (* f28-0 f24-0) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a1-2 16) (* v1-17 4)) (the-as int arg0)) - ) - ) - (* f28-0 f26-0) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a0-21 16) (* a1-2 4)) (the-as int arg0)) - ) - ) - (* f28-0 f4-0) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a0-21 16) (* a0-21 4)) (the-as int arg0)) - ) - ) - (- f0-17 (* f30-0 f3-0)) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a0-21 16) (* v1-17 4)) (the-as int arg0)) - ) - ) - (- (- f2-0) (* f30-0 f1-1)) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* v1-17 16) (* a1-2 4)) (the-as int arg0)) - ) - ) - (- (* f28-0 f22-0)) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* v1-17 16) (* a0-21 4)) (the-as int arg0)) - ) - ) - (+ f1-1 (* f30-0 f2-0)) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* v1-17 16) (* v1-17 4)) (the-as int arg0)) - ) - ) - (+ (- f3-0) (* f30-0 f0-17)) - ) - ) - (else - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a1-2 16) (* a1-2 4)) (the-as int arg0)) - ) - ) - (* f30-0 f22-0) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a1-2 16) (* a0-21 4)) (the-as int arg0)) - ) - ) - (+ (- f1-1) (* f28-0 f2-0)) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a1-2 16) (* v1-17 4)) (the-as int arg0)) - ) - ) - (+ f3-0 (* f28-0 f0-17)) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a0-21 16) (* a1-2 4)) (the-as int arg0)) - ) - ) - (* f30-0 f4-0) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a0-21 16) (* a0-21 4)) (the-as int arg0)) - ) - ) - (+ f0-17 (* f28-0 f3-0)) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* a0-21 16) (* v1-17 4)) (the-as int arg0)) - ) - ) - (+ (- f2-0) (* f28-0 f1-1)) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* v1-17 16) (* a1-2 4)) (the-as int arg0)) - ) - ) - (- f28-0) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* v1-17 16) (* a0-21 4)) (the-as int arg0)) - ) - ) - (* f30-0 f24-0) - ) - (set! - (-> - (the-as - (pointer float) - (+ (+ (* v1-17 16) (* v1-17 4)) (the-as int arg0)) - ) - ) - (* f30-0 f26-0) - ) - ) ) - ) ) - ) arg0 ) @@ -232,240 +102,90 @@ (s2-0 (-> EulNext (+ s3-0 v1-4))) (s1-0 (-> EulNext (+ (- 1 v1-4) s3-0))) ) - (cond - ((= (logand (/ arg2 2) 1) 1) - (let* - ((f0-0 - (-> - (the-as - (pointer float) - (+ (+ (* s2-0 4) (* s3-0 16)) (the-as int arg1)) - ) - ) - ) - (f0-2 (* f0-0 f0-0)) - (f1-0 - (-> - (the-as - (pointer float) - (+ (+ (* s1-0 4) (* s3-0 16)) (the-as int arg1)) - ) - ) - ) - (f30-0 (sqrtf (+ f0-2 (* f1-0 f1-0)))) - ) - (cond - ((< 0.00001 f30-0) - (set! - (-> arg0 x) - (atan - (-> - (the-as - (pointer float) - (+ (+ (* s2-0 4) (* s3-0 16)) (the-as int arg1)) + (cond + ((= (logand (/ arg2 2) 1) 1) + (let* ((f0-0 (-> (the-as (pointer float) (+ (+ (* s2-0 4) (* s3-0 16)) (the-as int arg1))))) + (f0-2 (* f0-0 f0-0)) + (f1-0 (-> (the-as (pointer float) (+ (+ (* s1-0 4) (* s3-0 16)) (the-as int arg1))))) + (f30-0 (sqrtf (+ f0-2 (* f1-0 f1-0)))) + ) + (cond + ((< 0.00001 f30-0) + (set! (-> arg0 x) (atan + (-> (the-as (pointer float) (+ (+ (* s2-0 4) (* s3-0 16)) (the-as int arg1)))) + (-> (the-as (pointer float) (+ (+ (* s1-0 4) (* s3-0 16)) (the-as int arg1)))) + ) + ) + (set! (-> arg0 y) (atan f30-0 (-> (the-as (pointer float) (+ (+ (* s3-0 4) (* s3-0 16)) (the-as int arg1)))))) + (set! (-> arg0 z) (atan + (-> (the-as (pointer float) (+ (+ (* s3-0 4) (* s2-0 16)) (the-as int arg1)))) + (- (-> (the-as (pointer float) (+ (+ (* s3-0 4) (* s1-0 16)) (the-as int arg1))))) + ) + ) ) - ) - (-> - (the-as - (pointer float) - (+ (+ (* s1-0 4) (* s3-0 16)) (the-as int arg1)) - ) - ) - ) - ) - (set! - (-> arg0 y) - (atan - f30-0 - (-> - (the-as - (pointer float) - (+ (+ (* s3-0 4) (* s3-0 16)) (the-as int arg1)) - ) - ) - ) - ) - (set! - (-> arg0 z) - (atan - (-> - (the-as - (pointer float) - (+ (+ (* s3-0 4) (* s2-0 16)) (the-as int arg1)) - ) - ) - (- - (-> - (the-as - (pointer float) - (+ (+ (* s3-0 4) (* s1-0 16)) (the-as int arg1)) + (else + (set! (-> arg0 x) (atan + (- (-> (the-as (pointer float) (+ (+ (* s1-0 4) (* s2-0 16)) (the-as int arg1))))) + (-> (the-as (pointer float) (+ (+ (* s2-0 4) (* s2-0 16)) (the-as int arg1)))) + ) + ) + (set! (-> arg0 y) (atan f30-0 (-> (the-as (pointer float) (+ (+ (* s3-0 4) (* s3-0 16)) (the-as int arg1)))))) + (set! (-> arg0 z) 0.0) ) - ) ) - ) ) - ) - (else - (set! - (-> arg0 x) - (atan - (- - (-> - (the-as - (pointer float) - (+ (+ (* s1-0 4) (* s2-0 16)) (the-as int arg1)) - ) - ) - ) - (-> - (the-as - (pointer float) - (+ (+ (* s2-0 4) (* s2-0 16)) (the-as int arg1)) - ) - ) - ) - ) - (set! - (-> arg0 y) - (atan - f30-0 - (-> - (the-as - (pointer float) - (+ (+ (* s3-0 4) (* s3-0 16)) (the-as int arg1)) - ) - ) - ) - ) - (set! (-> arg0 z) 0.0) - ) ) + (else + (let* ((f0-21 (-> (the-as (pointer float) (+ (+ (* s3-0 4) (* s3-0 16)) (the-as int arg1))))) + (f0-23 (* f0-21 f0-21)) + (f1-3 (-> (the-as (pointer float) (+ (+ (* s3-0 4) (* s2-0 16)) (the-as int arg1))))) + (f30-1 (sqrtf (+ f0-23 (* f1-3 f1-3)))) + ) + (cond + ((< 0.00001 f30-1) + (set! (-> arg0 x) + (atan + (-> (the-as (pointer float) (+ (+ (* s2-0 4) (* s1-0 16)) (the-as int arg1)))) + (-> (the-as (pointer float) (+ (+ (* s1-0 4) (* s1-0 16)) (the-as int arg1)))) + ) + ) + (set! (-> arg0 y) + (atan (- (-> (the-as (pointer float) (+ (+ (* s3-0 4) (* s1-0 16)) (the-as int arg1))))) f30-1) + ) + (set! (-> arg0 z) (atan + (-> (the-as (pointer float) (+ (+ (* s3-0 4) (* s2-0 16)) (the-as int arg1)))) + (-> (the-as (pointer float) (+ (+ (* s3-0 4) (* s3-0 16)) (the-as int arg1)))) + ) + ) + ) + (else + (set! (-> arg0 x) + (atan + (- (-> (the-as (pointer float) (+ (+ (* s1-0 4) (* s2-0 16)) (the-as int arg1))))) + (-> (the-as (pointer float) (+ (+ (* s2-0 4) (* s2-0 16)) (the-as int arg1)))) + ) + ) + (set! (-> arg0 y) + (atan (- (-> (the-as (pointer float) (+ (+ (* s3-0 4) (* s1-0 16)) (the-as int arg1))))) f30-1) + ) + (set! (-> arg0 z) 0.0) + ) + ) + ) + ) ) - ) - (else - (let* - ((f0-21 - (-> - (the-as - (pointer float) - (+ (+ (* s3-0 4) (* s3-0 16)) (the-as int arg1)) - ) - ) - ) - (f0-23 (* f0-21 f0-21)) - (f1-3 - (-> - (the-as - (pointer float) - (+ (+ (* s3-0 4) (* s2-0 16)) (the-as int arg1)) - ) - ) - ) - (f30-1 (sqrtf (+ f0-23 (* f1-3 f1-3)))) - ) - (cond - ((< 0.00001 f30-1) - (set! - (-> arg0 x) - (atan - (-> - (the-as - (pointer float) - (+ (+ (* s2-0 4) (* s1-0 16)) (the-as int arg1)) - ) - ) - (-> - (the-as - (pointer float) - (+ (+ (* s1-0 4) (* s1-0 16)) (the-as int arg1)) - ) - ) - ) - ) - (set! - (-> arg0 y) - (atan - (- - (-> - (the-as - (pointer float) - (+ (+ (* s3-0 4) (* s1-0 16)) (the-as int arg1)) - ) - ) - ) - f30-1 - ) - ) - (set! - (-> arg0 z) - (atan - (-> - (the-as - (pointer float) - (+ (+ (* s3-0 4) (* s2-0 16)) (the-as int arg1)) - ) - ) - (-> - (the-as - (pointer float) - (+ (+ (* s3-0 4) (* s3-0 16)) (the-as int arg1)) - ) - ) - ) - ) - ) - (else - (set! - (-> arg0 x) - (atan - (- - (-> - (the-as - (pointer float) - (+ (+ (* s1-0 4) (* s2-0 16)) (the-as int arg1)) - ) - ) - ) - (-> - (the-as - (pointer float) - (+ (+ (* s2-0 4) (* s2-0 16)) (the-as int arg1)) - ) - ) - ) - ) - (set! - (-> arg0 y) - (atan - (- - (-> - (the-as - (pointer float) - (+ (+ (* s3-0 4) (* s1-0 16)) (the-as int arg1)) - ) - ) - ) - f30-1 - ) - ) - (set! (-> arg0 z) 0.0) - ) - ) - ) - ) ) - ) (when (= (logand (/ arg2 4) 1) 1) - (set! (-> arg0 x) (- (-> arg0 x))) - (set! (-> arg0 y) (- (-> arg0 y))) - (set! (-> arg0 z) (- (-> arg0 z))) - ) - (when (= (logand arg2 1) 1) - (let ((f0-49 (-> arg0 x))) - (set! (-> arg0 x) (-> arg0 z)) - (set! (-> arg0 z) f0-49) + (set! (-> arg0 x) (- (-> arg0 x))) + (set! (-> arg0 y) (- (-> arg0 y))) + (set! (-> arg0 z) (- (-> arg0 z))) + ) + (when (= (logand arg2 1) 1) + (let ((f0-49 (-> arg0 x))) + (set! (-> arg0 x) (-> arg0 z)) + (set! (-> arg0 z) f0-49) + ) ) - ) (set! (-> arg0 w) (the float arg2)) arg0 ) @@ -473,17 +193,17 @@ ;; definition for function eul->quat (defun eul->quat ((arg0 quaternion) (arg1 euler-angles)) (let ((s5-0 (new 'stack-no-clear 'matrix))) - (eul->matrix s5-0 arg1) - (matrix->quaternion arg0 s5-0) - ) + (eul->matrix s5-0 arg1) + (matrix->quaternion arg0 s5-0) + ) arg0 ) ;; definition for function quat->eul (defun quat->eul ((arg0 euler-angles) (arg1 quaternion) (arg2 int)) (let ((s5-0 (new 'stack-no-clear 'matrix))) - (quaternion->matrix s5-0 arg1) - (matrix->eul arg0 s5-0 arg2) - ) + (quaternion->matrix s5-0 arg1) + (matrix->eul arg0 s5-0 arg2) + ) arg0 ) diff --git a/test/decompiler/reference/engine/math/math_REF.gc b/test/decompiler/reference/engine/math/math_REF.gc index 958cc0a003..ee2793dd32 100644 --- a/test/decompiler/reference/engine/math/math_REF.gc +++ b/test/decompiler/reference/engine/math/math_REF.gc @@ -52,18 +52,18 @@ ;; definition for function seek (defun seek ((x float) (target float) (diff float)) (let ((err (- target x))) - (cond - ((>= diff (fabs err)) - target - ) - ((>= err 0.0) - (+ x diff) - ) - (else - (- x diff) - ) + (cond + ((>= diff (fabs err)) + target + ) + ((>= err 0.0) + (+ x diff) + ) + (else + (- x diff) + ) + ) ) - ) ) ;; definition for function lerp @@ -72,46 +72,41 @@ ) ;; definition for function lerp-scale -(defun - lerp-scale - ((min-out float) (max-out float) (in float) (min-in float) (max-in float)) +(defun lerp-scale ((min-out float) (max-out float) (in float) (min-in float) (max-in float)) (let ((scale (fmax 0.0 (fmin 1.0 (/ (- in min-in) (- max-in min-in)))))) - (+ (* (- 1.0 scale) min-out) (* scale max-out)) - ) + (+ (* (- 1.0 scale) min-out) (* scale max-out)) + ) ) ;; definition for function lerp-clamp (defun lerp-clamp ((minimum float) (maximum float) (amount float)) (cond - ((>= 0.0 amount) - minimum + ((>= 0.0 amount) + minimum + ) + ((>= amount 1.0) + maximum + ) + (else + (+ (* (- 1.0 amount) minimum) (* amount maximum)) + ) ) - ((>= amount 1.0) - maximum - ) - (else - (+ (* (- 1.0 amount) minimum) (* amount maximum)) - ) - ) ) ;; definition for function seekl (defun seekl ((arg0 int) (arg1 int) (arg2 int)) - (let* ((v1-0 (- arg1 arg0)) - (a3-0 (abs v1-0)) - ) - (cond - ((>= arg2 a3-0) - arg1 - ) - ((>= v1-0 0) - (+ arg0 arg2) - ) - (else - (- arg0 arg2) - ) - ) - ) + (let* ((v1-0 (- arg1 arg0)) (a3-0 (abs v1-0))) (cond + ((>= arg2 a3-0) + arg1 + ) + ((>= v1-0 0) + (+ arg0 arg2) + ) + (else + (- arg0 arg2) + ) + ) + ) ) ;; definition for function rand-vu-init @@ -139,16 +134,16 @@ (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (TODO.VRGET vf1) - (.sqrt.vf Q vf1 :ftf #b0) - (.add.vf vf2 vf0 Q :mask #b1) - (TODO.VRXOR vf2) - (TODO.VRNEXT vf1) - (.sub.w.vf vf1 vf1 vf0) - (.mov v0-0 vf1) - v0-0 - ) + (init-vf0-vector) + (TODO.VRGET vf1) + (.sqrt.vf Q vf1 :ftf #b0) + (.add.vf vf2 vf0 Q :mask #b1) + (TODO.VRXOR vf2) + (TODO.VRNEXT vf1) + (.sub.w.vf vf1 vf1 vf0) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function rand-vu-nostep @@ -158,12 +153,12 @@ (rlet ((vf0 :class vf) (vf1 :class vf) ) - (init-vf0-vector) - (TODO.VRGET vf1) - (.sub.w.vf vf1 vf1 vf0) - (.mov v0-0 vf1) - v0-0 - ) + (init-vf0-vector) + (TODO.VRGET vf1) + (.sub.w.vf vf1 vf1 vf0) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function rand-vu-float-range @@ -179,16 +174,15 @@ ;; definition for function rand-vu-int-range (defun rand-vu-int-range ((first int) (second int)) (if (< first second) - (set! second (+ second 1)) - (set! first (+ first 1)) - ) - (let - ((float-in-range (rand-vu-float-range (the float first) (the float second)))) - (if (< float-in-range 0.0) - (set! float-in-range (+ -1.0 float-in-range)) + (set! second (+ second 1)) + (set! first (+ first 1)) + ) + (let ((float-in-range (rand-vu-float-range (the float first) (the float second)))) + (if (< float-in-range 0.0) + (set! float-in-range (+ -1.0 float-in-range)) + ) + (the int float-in-range) ) - (the int float-in-range) - ) ) ;; definition for function rand-vu-int-count diff --git a/test/decompiler/reference/engine/math/matrix-h_REF.gc b/test/decompiler/reference/engine/math/matrix-h_REF.gc index b1f1961d72..acce3aaf0e 100644 --- a/test/decompiler/reference/engine/math/matrix-h_REF.gc +++ b/test/decompiler/reference/engine/math/matrix-h_REF.gc @@ -74,10 +74,10 @@ (a3-0 (-> arg1 vector 2 quad)) (a1-1 (-> arg1 vector 3 quad)) ) - (set! (-> arg0 vector 0 quad) v1-0) - (set! (-> arg0 vector 1 quad) a2-0) - (set! (-> arg0 vector 2 quad) a3-0) - (set! (-> arg0 vector 3 quad) a1-1) - ) + (set! (-> arg0 vector 0 quad) v1-0) + (set! (-> arg0 vector 1 quad) a2-0) + (set! (-> arg0 vector 2 quad) a3-0) + (set! (-> arg0 vector 3 quad) a1-1) + ) arg0 ) diff --git a/test/decompiler/reference/engine/math/matrix_REF.gc b/test/decompiler/reference/engine/math/matrix_REF.gc index 72f60b29f0..3222f69223 100644 --- a/test/decompiler/reference/engine/math/matrix_REF.gc +++ b/test/decompiler/reference/engine/math/matrix_REF.gc @@ -6,37 +6,37 @@ (defmethod inspect matrix ((obj matrix)) (format #t "[~8x] matrix~%" obj) (format - #t - "~T[~F] [~F] [~F] [~F]~%" - (-> obj vector 0 x) - (-> obj vector 0 y) - (-> obj vector 0 z) - (-> obj vector 0 w) - ) + #t + "~T[~F] [~F] [~F] [~F]~%" + (-> obj vector 0 x) + (-> obj vector 0 y) + (-> obj vector 0 z) + (-> obj vector 0 w) + ) (format - #t - "~T[~F] [~F] [~F] [~F]~%" - (-> obj vector 1 x) - (-> obj vector 1 y) - (-> obj vector 1 z) - (-> obj vector 1 w) - ) + #t + "~T[~F] [~F] [~F] [~F]~%" + (-> obj vector 1 x) + (-> obj vector 1 y) + (-> obj vector 1 z) + (-> obj vector 1 w) + ) (format - #t - "~T[~F] [~F] [~F] [~F]~%" - (-> obj vector 2 x) - (-> obj vector 2 y) - (-> obj vector 2 z) - (-> obj vector 2 w) - ) + #t + "~T[~F] [~F] [~F] [~F]~%" + (-> obj vector 2 x) + (-> obj vector 2 y) + (-> obj vector 2 z) + (-> obj vector 2 w) + ) (format - #t - "~T[~F] [~F] [~F] [~F]~%" - (-> obj vector 3 x) - (-> obj vector 3 y) - (-> obj vector 3 z) - (-> obj vector 3 w) - ) + #t + "~T[~F] [~F] [~F] [~F]~%" + (-> obj vector 3 x) + (-> obj vector 3 y) + (-> obj vector 3 z) + (-> obj vector 3 w) + ) obj ) @@ -44,27 +44,9 @@ ;; INFO: this function exists in multiple non-identical object files (defmethod inspect matrix3 ((obj matrix3)) (format #t "[~8x] matrix3~%" obj) - (format - #t - "~T[~F] [~F] [~F]~%" - (-> obj data 0) - (-> obj data 1) - (-> obj data 2) - ) - (format - #t - "~T[~F] [~F] [~F]~%" - (-> obj data 4) - (-> obj data 5) - (-> obj data 6) - ) - (format - #t - "~T[~F] [~F] [~F]~%" - (-> obj data 8) - (-> obj data 9) - (-> obj data 10) - ) + (format #t "~T[~F] [~F] [~F]~%" (-> obj data 0) (-> obj data 1) (-> obj data 2)) + (format #t "~T[~F] [~F] [~F]~%" (-> obj data 4) (-> obj data 5) (-> obj data 6)) + (format #t "~T[~F] [~F] [~F]~%" (-> obj data 8) (-> obj data 9) (-> obj data 10)) obj ) @@ -76,11 +58,11 @@ (set! (-> arg0 vector 2 quad) (the-as uint128 0)) (set! (-> arg0 vector 3 quad) (the-as uint128 0)) (let ((f0-0 1.0)) - (set! (-> arg0 vector 3 w) f0-0) - (set! (-> arg0 vector 2 z) f0-0) - (set! (-> arg0 vector 1 y) f0-0) - (set! (-> arg0 vector 0 x) f0-0) - ) + (set! (-> arg0 vector 3 w) f0-0) + (set! (-> arg0 vector 2 z) f0-0) + (set! (-> arg0 vector 1 y) f0-0) + (set! (-> arg0 vector 0 x) f0-0) + ) arg0 ) @@ -93,16 +75,16 @@ ;; definition for function matrix+! (defun matrix+! ((dst matrix) (src1 matrix) (src2 matrix)) (dotimes (i 16) - (set! (-> dst data i) (+ (-> src1 data i) (-> src2 data i))) - ) + (set! (-> dst data i) (+ (-> src1 data i) (-> src2 data i))) + ) dst ) ;; definition for function matrix-! (defun matrix-! ((dst matrix) (src1 matrix) (src2 matrix)) (dotimes (i 16) - (set! (-> dst data i) (- (-> src1 data i) (-> src2 data i))) - ) + (set! (-> dst data i) (- (-> src1 data i) (-> src2 data i))) + ) dst ) @@ -122,48 +104,48 @@ (vf20 :class vf) (vf21 :class vf) ) - (.lvf vf10 (&-> src1 vector 0 quad)) - (.lvf vf14 (&-> src2 vector 0 quad)) - (.lvf vf15 (&-> src2 vector 1 quad)) - (.lvf vf16 (&-> src2 vector 2 quad)) - (.lvf vf17 (&-> src2 vector 3 quad)) - (.lvf vf11 (&-> src1 vector 1 quad)) - (.lvf vf12 (&-> src1 vector 2 quad)) - (.lvf vf13 (&-> src1 vector 3 quad)) - (.mul.x.vf acc vf14 vf10) - (.add.mul.y.vf acc vf15 vf10 acc) - (.add.mul.z.vf acc vf16 vf10 acc) - (.add.mul.w.vf vf18 vf17 vf10 acc) - (.mul.x.vf acc vf14 vf11) - (.add.mul.y.vf acc vf15 vf11 acc) - (.add.mul.z.vf acc vf16 vf11 acc) - (.add.mul.w.vf vf19 vf17 vf11 acc) - (.mul.x.vf acc vf14 vf12) - (.add.mul.y.vf acc vf15 vf12 acc) - (.add.mul.z.vf acc vf16 vf12 acc) - (.add.mul.w.vf vf20 vf17 vf12 acc) - (.mul.x.vf acc vf14 vf13) - (.add.mul.y.vf acc vf15 vf13 acc) - (.add.mul.z.vf acc vf16 vf13 acc) - (.add.mul.w.vf vf21 vf17 vf13 acc) - (.svf (&-> dst vector 0 quad) vf18) - (.svf (&-> dst vector 1 quad) vf19) - (.svf (&-> dst vector 2 quad) vf20) - (.svf (&-> dst vector 3 quad) vf21) - dst - ) + (.lvf vf10 (&-> src1 vector 0 quad)) + (.lvf vf14 (&-> src2 vector 0 quad)) + (.lvf vf15 (&-> src2 vector 1 quad)) + (.lvf vf16 (&-> src2 vector 2 quad)) + (.lvf vf17 (&-> src2 vector 3 quad)) + (.lvf vf11 (&-> src1 vector 1 quad)) + (.lvf vf12 (&-> src1 vector 2 quad)) + (.lvf vf13 (&-> src1 vector 3 quad)) + (.mul.x.vf acc vf14 vf10) + (.add.mul.y.vf acc vf15 vf10 acc) + (.add.mul.z.vf acc vf16 vf10 acc) + (.add.mul.w.vf vf18 vf17 vf10 acc) + (.mul.x.vf acc vf14 vf11) + (.add.mul.y.vf acc vf15 vf11 acc) + (.add.mul.z.vf acc vf16 vf11 acc) + (.add.mul.w.vf vf19 vf17 vf11 acc) + (.mul.x.vf acc vf14 vf12) + (.add.mul.y.vf acc vf15 vf12 acc) + (.add.mul.z.vf acc vf16 vf12 acc) + (.add.mul.w.vf vf20 vf17 vf12 acc) + (.mul.x.vf acc vf14 vf13) + (.add.mul.y.vf acc vf15 vf13 acc) + (.add.mul.z.vf acc vf16 vf13 acc) + (.add.mul.w.vf vf21 vf17 vf13 acc) + (.svf (&-> dst vector 0 quad) vf18) + (.svf (&-> dst vector 1 quad) vf19) + (.svf (&-> dst vector 2 quad) vf20) + (.svf (&-> dst vector 3 quad) vf21) + dst + ) ) ;; definition for function matrixp*! ;; Used lq/sq (defun matrixp*! ((dst matrix) (src1 matrix) (src2 matrix)) (let ((temp-mat (new-stack-matrix0))) - (matrix*! temp-mat src1 src2) - (set! (-> dst vector 0 quad) (-> temp-mat vector 0 quad)) - (set! (-> dst vector 1 quad) (-> temp-mat vector 1 quad)) - (set! (-> dst vector 2 quad) (-> temp-mat vector 2 quad)) - (set! (-> dst vector 3 quad) (-> temp-mat vector 3 quad)) - ) + (matrix*! temp-mat src1 src2) + (set! (-> dst vector 0 quad) (-> temp-mat vector 0 quad)) + (set! (-> dst vector 1 quad) (-> temp-mat vector 1 quad)) + (set! (-> dst vector 2 quad) (-> temp-mat vector 2 quad)) + (set! (-> dst vector 3 quad) (-> temp-mat vector 3 quad)) + ) dst ) @@ -176,18 +158,18 @@ (vf4 :class vf) (vf5 :class vf) ) - (.lvf vf1 (&-> mat vector 0 quad)) - (.lvf vf2 (&-> mat vector 1 quad)) - (.lvf vf3 (&-> mat vector 2 quad)) - (.lvf vf4 (&-> mat vector 3 quad)) - (.lvf vf5 (&-> vec quad)) - (.mul.x.vf acc vf1 vf5) - (.add.mul.y.vf acc vf2 vf5 acc) - (.add.mul.z.vf acc vf3 vf5 acc) - (.add.mul.w.vf vf5 vf4 vf5 acc) - (.svf (&-> dst quad) vf5) - dst - ) + (.lvf vf1 (&-> mat vector 0 quad)) + (.lvf vf2 (&-> mat vector 1 quad)) + (.lvf vf3 (&-> mat vector 2 quad)) + (.lvf vf4 (&-> mat vector 3 quad)) + (.lvf vf5 (&-> vec quad)) + (.mul.x.vf acc vf1 vf5) + (.add.mul.y.vf acc vf2 vf5 acc) + (.add.mul.z.vf acc vf3 vf5 acc) + (.add.mul.w.vf vf5 vf4 vf5 acc) + (.svf (&-> dst quad) vf5) + dst + ) ) ;; definition for function vector-rotate*! @@ -199,35 +181,35 @@ (vf4 :class vf) (vf5 :class vf) ) - (nop!) - (nop!) - (.lvf vf5 (&-> vec quad)) - (nop!) - (.lvf vf1 (&-> mat vector 0 quad)) - (nop!) - (.lvf vf2 (&-> mat vector 1 quad)) - (.mul.x.vf acc vf1 vf5) - (.lvf vf3 (&-> mat vector 2 quad)) - (.add.mul.y.vf acc vf2 vf5 acc) - (.lvf vf4 (&-> mat vector 3 quad)) - (.add.mul.z.vf vf5 vf3 vf5 acc) - (nop!) - (nop!) - (.svf (&-> dst quad) vf5) - dst - ) + (nop!) + (nop!) + (.lvf vf5 (&-> vec quad)) + (nop!) + (.lvf vf1 (&-> mat vector 0 quad)) + (nop!) + (.lvf vf2 (&-> mat vector 1 quad)) + (.mul.x.vf acc vf1 vf5) + (.lvf vf3 (&-> mat vector 2 quad)) + (.add.mul.y.vf acc vf2 vf5 acc) + (.lvf vf4 (&-> mat vector 3 quad)) + (.add.mul.z.vf vf5 vf3 vf5 acc) + (nop!) + (nop!) + (.svf (&-> dst quad) vf5) + dst + ) ) ;; definition for function vector3s-matrix*! ;; Used lq/sq (defun vector3s-matrix*! ((dst vector3s) (vec vector3s) (mat matrix)) (let ((temp-vec3 (new-stack-vector0))) - (set-vector! temp-vec3 (-> vec x) (-> vec y) (-> vec z) 1.0) - (vector-matrix*! temp-vec3 temp-vec3 mat) - (set! (-> dst x) (-> temp-vec3 x)) - (set! (-> dst y) (-> temp-vec3 y)) - (set! (-> dst z) (-> temp-vec3 z)) - ) + (set-vector! temp-vec3 (-> vec x) (-> vec y) (-> vec z) 1.0) + (vector-matrix*! temp-vec3 temp-vec3 mat) + (set! (-> dst x) (-> temp-vec3 x)) + (set! (-> dst y) (-> temp-vec3 y)) + (set! (-> dst z) (-> temp-vec3 z)) + ) dst ) @@ -235,12 +217,12 @@ ;; Used lq/sq (defun vector3s-rotate*! ((dst vector3s) (vec vector3s) (mat matrix)) (let ((temp-vec3 (new-stack-vector0))) - (set-vector! temp-vec3 (-> vec x) (-> vec y) (-> vec z) 1.0) - (vector-rotate*! temp-vec3 temp-vec3 mat) - (set! (-> dst x) (-> temp-vec3 x)) - (set! (-> dst y) (-> temp-vec3 y)) - (set! (-> dst z) (-> temp-vec3 z)) - ) + (set-vector! temp-vec3 (-> vec x) (-> vec y) (-> vec z) 1.0) + (vector-rotate*! temp-vec3 temp-vec3 mat) + (set! (-> dst x) (-> temp-vec3 x)) + (set! (-> dst y) (-> temp-vec3 y)) + (set! (-> dst z) (-> temp-vec3 z)) + ) dst ) @@ -249,38 +231,38 @@ ;; Used lq/sq (defun matrix-transpose! ((dst matrix) (src matrix)) (local-vars - (r0-0 int) - (r0-1 int) - (r0-2 int) - (r0-3 int) - (v1-0 uint128) - (v1-1 uint128) - (v1-2 uint128) - (a1-1 uint128) - (a2-1 uint128) - (a3-1 uint128) - (a3-2 uint128) - (t0-1 uint128) - (f31-0 none) - ) + (r0-0 int) + (r0-1 int) + (r0-2 int) + (r0-3 int) + (v1-0 uint128) + (v1-1 uint128) + (v1-2 uint128) + (a1-1 uint128) + (a2-1 uint128) + (a3-1 uint128) + (a3-2 uint128) + (t0-1 uint128) + (f31-0 none) + ) (nop!) (nop!) (let ((t0-0 (-> src vector 0 quad))) - (nop!) - (let ((t1-0 (-> src vector 1 quad))) (nop!) - (let ((a2-0 (-> src vector 2 quad))) - (.pextlw v1-0 t1-0 t0-0) - (let ((a3-0 (-> src vector 3 quad))) - (.pextuw a1-1 t1-0 t0-0) - (.mov r0-0 f31-0) - (.pextlw t0-1 a3-0 a2-0) - (.mov r0-1 f31-0) - (.pextuw a2-1 a3-0 a2-0) + (let ((t1-0 (-> src vector 1 quad))) + (nop!) + (let ((a2-0 (-> src vector 2 quad))) + (.pextlw v1-0 t1-0 t0-0) + (let ((a3-0 (-> src vector 3 quad))) + (.pextuw a1-1 t1-0 t0-0) + (.mov r0-0 f31-0) + (.pextlw t0-1 a3-0 a2-0) + (.mov r0-1 f31-0) + (.pextuw a2-1 a3-0 a2-0) + ) + ) ) - ) ) - ) (.mov r0-2 f31-0) (.pcpyld a3-1 t0-1 v1-0) (.mov r0-3 f31-0) @@ -305,26 +287,26 @@ (vf4 :class vf) (vf8 :class vf) ) - (init-vf0-vector) - (matrix-transpose! dst src) - (.lvf vf1 (&-> dst vector 0 quad)) - (.lvf vf2 (&-> dst vector 1 quad)) - (.lvf vf3 (&-> dst vector 2 quad)) - (.sub.vf vf1 vf1 vf1 :mask #b1000) - (.sub.vf vf2 vf2 vf2 :mask #b1000) - (.sub.vf vf3 vf3 vf3 :mask #b1000) - (.lvf vf8 (&-> src vector 3 quad)) - (.mul.x.vf acc vf1 vf8) - (.add.mul.y.vf acc vf2 vf8 acc) - (.add.mul.z.vf vf4 vf3 vf8 acc) - (.sub.vf vf4 vf0 vf4) - (.mov.vf vf4 vf0 :mask #b1000) - (.svf (&-> dst vector 0 quad) vf1) - (.svf (&-> dst vector 1 quad) vf2) - (.svf (&-> dst vector 2 quad) vf3) - (.svf (&-> dst vector 3 quad) vf4) - dst - ) + (init-vf0-vector) + (matrix-transpose! dst src) + (.lvf vf1 (&-> dst vector 0 quad)) + (.lvf vf2 (&-> dst vector 1 quad)) + (.lvf vf3 (&-> dst vector 2 quad)) + (.sub.vf vf1 vf1 vf1 :mask #b1000) + (.sub.vf vf2 vf2 vf2 :mask #b1000) + (.sub.vf vf3 vf3 vf3 :mask #b1000) + (.lvf vf8 (&-> src vector 3 quad)) + (.mul.x.vf acc vf1 vf8) + (.add.mul.y.vf acc vf2 vf8 acc) + (.add.mul.z.vf vf4 vf3 vf8 acc) + (.sub.vf vf4 vf0 vf4) + (.mov.vf vf4 vf0 :mask #b1000) + (.svf (&-> dst vector 0 quad) vf1) + (.svf (&-> dst vector 1 quad) vf2) + (.svf (&-> dst vector 2 quad) vf3) + (.svf (&-> dst vector 3 quad) vf4) + dst + ) ) ;; definition for function matrix-4x4-inverse! @@ -365,120 +347,120 @@ (vf8 :class vf) (vf9 :class vf) ) - (init-vf0-vector) - (nop!) - (nop!) - (.lvf vf23 (&-> src vector 0 quad)) - (nop!) - (.lvf vf24 (&-> src vector 1 quad)) - (nop!) - (.lvf vf25 (&-> src vector 2 quad)) - (nop!) - (.lvf vf1 (&-> src vector 3 quad)) - (.mul.x.vf vf7 vf24 vf23) - (nop!) - (.mul.y.vf vf8 vf24 vf23) - (nop!) - (.mul.z.vf vf9 vf24 vf23) - (nop!) - (.mul.x.vf vf10 vf25 vf23) - (nop!) - (.mul.y.vf vf11 vf25 vf23) - (nop!) - (.mul.z.vf vf12 vf25 vf23) - (nop!) - (.mul.x.vf vf13 vf25 vf24) - (nop!) - (.mul.y.vf vf14 vf25 vf24) - (nop!) - (.mul.z.vf vf15 vf25 vf24) - (nop!) - (.mul.z.vf vf26 vf7 vf25 :mask #b10) - (nop!) - (.mul.z.vf vf27 vf11 vf24 :mask #b1) - (nop!) - (.mul.y.vf vf28 vf9 vf25 :mask #b1) - (nop!) - (.mul.z.vf vf29 vf14 vf23 :mask #b1) - (nop!) - (.mul.z.vf vf30 vf8 vf25 :mask #b1) - (nop!) - (.mul.y.vf vf31 vf7 vf25 :mask #b100) - (nop!) - (.add.y.vf vf16 vf27 vf26 :mask #b1) - (nop!) - (.sub.vf vf1 vf0 vf1) - (nop!) - (.add.x.vf vf17 vf29 vf30 :mask #b1) - (nop!) - (.sub.z.vf vf18 vf28 vf31 :mask #b1) - (nop!) - (.sub.y.vf vf23 vf14 vf15 :mask #b100) - (nop!) - (.sub.z.vf vf26 vf15 vf13 :mask #b1) - (nop!) - (.sub.x.vf vf29 vf13 vf14 :mask #b10) - (nop!) - (.sub.vf vf19 vf16 vf17 :mask #b1) - (nop!) - (.sub.z.vf vf24 vf12 vf11 :mask #b10) - (nop!) - (.sub.x.vf vf27 vf10 vf12 :mask #b100) - (nop!) - (.sub.y.vf vf30 vf11 vf10 :mask #b1) - (nop!) - (.add.vf vf20 vf19 vf18 :mask #b1) - (nop!) - (.sub.y.vf vf25 vf8 vf9 :mask #b100) - (nop!) - (.sub.z.vf vf28 vf9 vf7 :mask #b1) - (nop!) - (.sub.x.vf vf31 vf7 vf8 :mask #b10) - (nop!) - (.div.vf Q vf0 vf20 :fsf #b11 :ftf #b0) - (nop!) - (.sub.w.vf vf3 vf3 vf3 :mask #b1000) - (nop!) - (.sub.w.vf vf4 vf4 vf4 :mask #b1000) - (nop!) - (.sub.w.vf vf5 vf5 vf5 :mask #b1000) - (nop!) - (.mov.vf vf6 vf0 :mask #b1000) - (nop!) - (.wait.vf) - (nop!) - (.add.vf vf2 vf0 Q :mask #b1) - (nop!) - (.add.x.vf vf2 vf0 vf2 :mask #b111) - (nop!) - (.mul.z.vf vf3 vf2 vf23 :mask #b1) - (nop!) - (.mul.x.vf vf4 vf2 vf26 :mask #b1) - (nop!) - (.mul.y.vf vf5 vf2 vf29 :mask #b1) - (nop!) - (.mul.y.vf vf3 vf2 vf24 :mask #b10) - (nop!) - (.mul.z.vf vf4 vf2 vf27 :mask #b10) - (nop!) - (.mul.x.vf vf5 vf2 vf30 :mask #b10) - (nop!) - (.mul.z.vf vf3 vf2 vf25 :mask #b100) - (nop!) - (.mul.x.vf vf4 vf2 vf28 :mask #b100) - (nop!) - (.mul.y.vf vf5 vf2 vf31 :mask #b100) - (nop!) - (.mul.x.vf acc vf3 vf1) - (.svf (&-> dst vector 0 quad) vf3) - (.add.mul.y.vf acc vf4 vf1 acc) - (.svf (&-> dst vector 1 quad) vf4) - (.add.mul.z.vf vf6 vf5 vf1 acc :mask #b111) - (.svf (&-> dst vector 2 quad) vf5) - (nop!) - (.svf (&-> dst vector 3 quad) vf6) - dst - ) + (init-vf0-vector) + (nop!) + (nop!) + (.lvf vf23 (&-> src vector 0 quad)) + (nop!) + (.lvf vf24 (&-> src vector 1 quad)) + (nop!) + (.lvf vf25 (&-> src vector 2 quad)) + (nop!) + (.lvf vf1 (&-> src vector 3 quad)) + (.mul.x.vf vf7 vf24 vf23) + (nop!) + (.mul.y.vf vf8 vf24 vf23) + (nop!) + (.mul.z.vf vf9 vf24 vf23) + (nop!) + (.mul.x.vf vf10 vf25 vf23) + (nop!) + (.mul.y.vf vf11 vf25 vf23) + (nop!) + (.mul.z.vf vf12 vf25 vf23) + (nop!) + (.mul.x.vf vf13 vf25 vf24) + (nop!) + (.mul.y.vf vf14 vf25 vf24) + (nop!) + (.mul.z.vf vf15 vf25 vf24) + (nop!) + (.mul.z.vf vf26 vf7 vf25 :mask #b10) + (nop!) + (.mul.z.vf vf27 vf11 vf24 :mask #b1) + (nop!) + (.mul.y.vf vf28 vf9 vf25 :mask #b1) + (nop!) + (.mul.z.vf vf29 vf14 vf23 :mask #b1) + (nop!) + (.mul.z.vf vf30 vf8 vf25 :mask #b1) + (nop!) + (.mul.y.vf vf31 vf7 vf25 :mask #b100) + (nop!) + (.add.y.vf vf16 vf27 vf26 :mask #b1) + (nop!) + (.sub.vf vf1 vf0 vf1) + (nop!) + (.add.x.vf vf17 vf29 vf30 :mask #b1) + (nop!) + (.sub.z.vf vf18 vf28 vf31 :mask #b1) + (nop!) + (.sub.y.vf vf23 vf14 vf15 :mask #b100) + (nop!) + (.sub.z.vf vf26 vf15 vf13 :mask #b1) + (nop!) + (.sub.x.vf vf29 vf13 vf14 :mask #b10) + (nop!) + (.sub.vf vf19 vf16 vf17 :mask #b1) + (nop!) + (.sub.z.vf vf24 vf12 vf11 :mask #b10) + (nop!) + (.sub.x.vf vf27 vf10 vf12 :mask #b100) + (nop!) + (.sub.y.vf vf30 vf11 vf10 :mask #b1) + (nop!) + (.add.vf vf20 vf19 vf18 :mask #b1) + (nop!) + (.sub.y.vf vf25 vf8 vf9 :mask #b100) + (nop!) + (.sub.z.vf vf28 vf9 vf7 :mask #b1) + (nop!) + (.sub.x.vf vf31 vf7 vf8 :mask #b10) + (nop!) + (.div.vf Q vf0 vf20 :fsf #b11 :ftf #b0) + (nop!) + (.sub.w.vf vf3 vf3 vf3 :mask #b1000) + (nop!) + (.sub.w.vf vf4 vf4 vf4 :mask #b1000) + (nop!) + (.sub.w.vf vf5 vf5 vf5 :mask #b1000) + (nop!) + (.mov.vf vf6 vf0 :mask #b1000) + (nop!) + (.wait.vf) + (nop!) + (.add.vf vf2 vf0 Q :mask #b1) + (nop!) + (.add.x.vf vf2 vf0 vf2 :mask #b111) + (nop!) + (.mul.z.vf vf3 vf2 vf23 :mask #b1) + (nop!) + (.mul.x.vf vf4 vf2 vf26 :mask #b1) + (nop!) + (.mul.y.vf vf5 vf2 vf29 :mask #b1) + (nop!) + (.mul.y.vf vf3 vf2 vf24 :mask #b10) + (nop!) + (.mul.z.vf vf4 vf2 vf27 :mask #b10) + (nop!) + (.mul.x.vf vf5 vf2 vf30 :mask #b10) + (nop!) + (.mul.z.vf vf3 vf2 vf25 :mask #b100) + (nop!) + (.mul.x.vf vf4 vf2 vf28 :mask #b100) + (nop!) + (.mul.y.vf vf5 vf2 vf31 :mask #b100) + (nop!) + (.mul.x.vf acc vf3 vf1) + (.svf (&-> dst vector 0 quad) vf3) + (.add.mul.y.vf acc vf4 vf1 acc) + (.svf (&-> dst vector 1 quad) vf4) + (.add.mul.z.vf vf6 vf5 vf1 acc :mask #b111) + (.svf (&-> dst vector 2 quad) vf5) + (nop!) + (.svf (&-> dst vector 3 quad) vf6) + dst + ) ) ;; definition for function matrix-translate! @@ -497,10 +479,10 @@ (set! (-> dst vector 3 y) (+ (-> src vector 3 y) (-> trans y))) (set! (-> dst vector 3 z) (+ (-> src vector 3 z) (-> trans z))) (when (!= dst src) - (set! (-> dst vector 0 quad) (-> src vector 0 quad)) - (set! (-> dst vector 1 quad) (-> src vector 1 quad)) - (set! (-> dst vector 2 quad) (-> src vector 2 quad)) - ) + (set! (-> dst vector 0 quad) (-> src vector 0 quad)) + (set! (-> dst vector 1 quad) (-> src vector 1 quad)) + (set! (-> dst vector 2 quad) (-> src vector 2 quad)) + ) dst ) @@ -526,21 +508,21 @@ (vf7 :class vf) (vf8 :class vf) ) - (.lvf vf4 (&-> scale quad)) - (.lvf vf5 (&-> src vector 0 quad)) - (.lvf vf6 (&-> src vector 1 quad)) - (.lvf vf7 (&-> src vector 2 quad)) - (.lvf vf8 (&-> src vector 3 quad)) - (.mul.x.vf vf5 vf5 vf4) - (.mul.y.vf vf6 vf6 vf4) - (.mul.z.vf vf7 vf7 vf4) - (.mul.w.vf vf8 vf8 vf4) - (.svf (&-> dst vector 0 quad) vf5) - (.svf (&-> dst vector 1 quad) vf6) - (.svf (&-> dst vector 2 quad) vf7) - (.svf (&-> dst vector 3 quad) vf8) - dst - ) + (.lvf vf4 (&-> scale quad)) + (.lvf vf5 (&-> src vector 0 quad)) + (.lvf vf6 (&-> src vector 1 quad)) + (.lvf vf7 (&-> src vector 2 quad)) + (.lvf vf8 (&-> src vector 3 quad)) + (.mul.x.vf vf5 vf5 vf4) + (.mul.y.vf vf6 vf6 vf4) + (.mul.z.vf vf7 vf7 vf4) + (.mul.w.vf vf8 vf8 vf4) + (.svf (&-> dst vector 0 quad) vf5) + (.svf (&-> dst vector 1 quad) vf6) + (.svf (&-> dst vector 2 quad) vf7) + (.svf (&-> dst vector 3 quad) vf8) + dst + ) ) ;; definition for function matrix-inv-scale! @@ -565,21 +547,21 @@ (vf7 :class vf) (vf8 :class vf) ) - (.lvf vf4 (&-> scale quad)) - (.lvf vf5 (&-> src vector 0 quad)) - (.lvf vf6 (&-> src vector 1 quad)) - (.lvf vf7 (&-> src vector 2 quad)) - (.lvf vf8 (&-> src vector 3 quad)) - (.mul.vf vf5 vf5 vf4) - (.mul.vf vf6 vf6 vf4) - (.mul.vf vf7 vf7 vf4) - (.mul.vf vf8 vf8 vf4) - (.svf (&-> dst vector 0 quad) vf5) - (.svf (&-> dst vector 1 quad) vf6) - (.svf (&-> dst vector 2 quad) vf7) - (.svf (&-> dst vector 3 quad) vf8) - dst - ) + (.lvf vf4 (&-> scale quad)) + (.lvf vf5 (&-> src vector 0 quad)) + (.lvf vf6 (&-> src vector 1 quad)) + (.lvf vf7 (&-> src vector 2 quad)) + (.lvf vf8 (&-> src vector 3 quad)) + (.mul.vf vf5 vf5 vf4) + (.mul.vf vf6 vf6 vf4) + (.mul.vf vf7 vf7 vf4) + (.mul.vf vf8 vf8 vf4) + (.svf (&-> dst vector 0 quad) vf5) + (.svf (&-> dst vector 1 quad) vf6) + (.svf (&-> dst vector 2 quad) vf7) + (.svf (&-> dst vector 3 quad) vf8) + dst + ) ) ;; definition for function matrix-rotate-x! @@ -588,16 +570,16 @@ (let ((rot-sin (sin rot-deg)) (rot-cos (cos rot-deg)) ) - (set! (-> dst vector 0 quad) (the-as uint128 0)) - (set! (-> dst vector 1 quad) (the-as uint128 0)) - (set! (-> dst vector 2 quad) (the-as uint128 0)) - (set! (-> dst vector 3 quad) (the-as uint128 0)) - (set! (-> dst vector 0 x) 1.0) - (set! (-> dst vector 1 y) rot-cos) - (set! (-> dst vector 1 z) rot-sin) - (set! (-> dst vector 2 y) (- rot-sin)) - (set! (-> dst vector 2 z) rot-cos) - ) + (set! (-> dst vector 0 quad) (the-as uint128 0)) + (set! (-> dst vector 1 quad) (the-as uint128 0)) + (set! (-> dst vector 2 quad) (the-as uint128 0)) + (set! (-> dst vector 3 quad) (the-as uint128 0)) + (set! (-> dst vector 0 x) 1.0) + (set! (-> dst vector 1 y) rot-cos) + (set! (-> dst vector 1 z) rot-sin) + (set! (-> dst vector 2 y) (- rot-sin)) + (set! (-> dst vector 2 z) rot-cos) + ) (set! (-> dst vector 3 w) 1.0) dst ) @@ -608,16 +590,16 @@ (let ((rot-sin (sin rot-deg)) (rot-cos (cos rot-deg)) ) - (set! (-> dst vector 0 quad) (the-as uint128 0)) - (set! (-> dst vector 1 quad) (the-as uint128 0)) - (set! (-> dst vector 2 quad) (the-as uint128 0)) - (set! (-> dst vector 3 quad) (the-as uint128 0)) - (set! (-> dst vector 0 x) rot-cos) - (set! (-> dst vector 0 z) (- rot-sin)) - (set! (-> dst vector 1 y) 1.0) - (set! (-> dst vector 2 x) rot-sin) - (set! (-> dst vector 2 z) rot-cos) - ) + (set! (-> dst vector 0 quad) (the-as uint128 0)) + (set! (-> dst vector 1 quad) (the-as uint128 0)) + (set! (-> dst vector 2 quad) (the-as uint128 0)) + (set! (-> dst vector 3 quad) (the-as uint128 0)) + (set! (-> dst vector 0 x) rot-cos) + (set! (-> dst vector 0 z) (- rot-sin)) + (set! (-> dst vector 1 y) 1.0) + (set! (-> dst vector 2 x) rot-sin) + (set! (-> dst vector 2 z) rot-cos) + ) (set! (-> dst vector 3 w) 1.0) dst ) @@ -628,15 +610,15 @@ (let ((rot-sin (sin rot-deg)) (rot-cos (cos rot-deg)) ) - (set! (-> dst vector 0 quad) (the-as uint128 0)) - (set! (-> dst vector 1 quad) (the-as uint128 0)) - (set! (-> dst vector 2 quad) (the-as uint128 0)) - (set! (-> dst vector 3 quad) (the-as uint128 0)) - (set! (-> dst vector 0 x) rot-cos) - (set! (-> dst vector 0 y) rot-sin) - (set! (-> dst vector 1 x) (- rot-sin)) - (set! (-> dst vector 1 y) rot-cos) - ) + (set! (-> dst vector 0 quad) (the-as uint128 0)) + (set! (-> dst vector 1 quad) (the-as uint128 0)) + (set! (-> dst vector 2 quad) (the-as uint128 0)) + (set! (-> dst vector 3 quad) (the-as uint128 0)) + (set! (-> dst vector 0 x) rot-cos) + (set! (-> dst vector 0 y) rot-sin) + (set! (-> dst vector 1 x) (- rot-sin)) + (set! (-> dst vector 1 y) rot-cos) + ) (set! (-> dst vector 2 z) 1.0) (set! (-> dst vector 3 w) 1.0) dst @@ -648,12 +630,12 @@ (let ((temp-mat (new-stack-matrix0)) (rot-mat (new-stack-matrix0)) ) - (matrix-rotate-x! dst (-> rot-xyz-deg x)) - (matrix-rotate-y! temp-mat (-> rot-xyz-deg y)) - (matrix*! rot-mat temp-mat dst) - (matrix-rotate-z! temp-mat (-> rot-xyz-deg z)) - (matrix*! dst temp-mat rot-mat) - ) + (matrix-rotate-x! dst (-> rot-xyz-deg x)) + (matrix-rotate-y! temp-mat (-> rot-xyz-deg y)) + (matrix*! rot-mat temp-mat dst) + (matrix-rotate-z! temp-mat (-> rot-xyz-deg z)) + (matrix*! dst temp-mat rot-mat) + ) dst ) @@ -663,12 +645,12 @@ (let ((temp-mat (new-stack-matrix0)) (rot-mat (new-stack-matrix0)) ) - (matrix-rotate-z! dst (-> rot-xyz-deg z)) - (matrix-rotate-y! temp-mat (-> rot-xyz-deg y)) - (matrix*! rot-mat temp-mat dst) - (matrix-rotate-x! temp-mat (-> rot-xyz-deg x)) - (matrix*! dst temp-mat rot-mat) - ) + (matrix-rotate-z! dst (-> rot-xyz-deg z)) + (matrix-rotate-y! temp-mat (-> rot-xyz-deg y)) + (matrix*! rot-mat temp-mat dst) + (matrix-rotate-x! temp-mat (-> rot-xyz-deg x)) + (matrix*! dst temp-mat rot-mat) + ) dst ) @@ -678,12 +660,12 @@ (let ((temp-mat (new-stack-matrix0)) (rot-mat (new-stack-matrix0)) ) - (matrix-rotate-y! dst (-> rot-xyz-deg y)) - (matrix-rotate-x! temp-mat (-> rot-xyz-deg x)) - (matrix*! rot-mat temp-mat dst) - (matrix-rotate-z! temp-mat (-> rot-xyz-deg z)) - (matrix*! dst temp-mat rot-mat) - ) + (matrix-rotate-y! dst (-> rot-xyz-deg y)) + (matrix-rotate-x! temp-mat (-> rot-xyz-deg x)) + (matrix*! rot-mat temp-mat dst) + (matrix-rotate-z! temp-mat (-> rot-xyz-deg z)) + (matrix*! dst temp-mat rot-mat) + ) dst ) @@ -693,12 +675,12 @@ (let ((temp-mat (new-stack-matrix0)) (rot-mat (new-stack-matrix0)) ) - (matrix-rotate-z! dst (-> rot-xyz-deg z)) - (matrix-rotate-x! temp-mat (-> rot-xyz-deg x)) - (matrix*! rot-mat temp-mat dst) - (matrix-rotate-y! temp-mat (-> rot-xyz-deg y)) - (matrix*! dst temp-mat rot-mat) - ) + (matrix-rotate-z! dst (-> rot-xyz-deg z)) + (matrix-rotate-x! temp-mat (-> rot-xyz-deg x)) + (matrix*! rot-mat temp-mat dst) + (matrix-rotate-y! temp-mat (-> rot-xyz-deg y)) + (matrix*! dst temp-mat rot-mat) + ) dst ) @@ -708,12 +690,12 @@ (let ((temp-mat (new-stack-matrix0)) (rot-mat (new-stack-matrix0)) ) - (matrix-rotate-z! dst (-> rot-xyz-deg x)) - (matrix-rotate-x! temp-mat (-> rot-xyz-deg z)) - (matrix*! rot-mat temp-mat dst) - (matrix-rotate-y! temp-mat (-> rot-xyz-deg y)) - (matrix*! dst temp-mat rot-mat) - ) + (matrix-rotate-z! dst (-> rot-xyz-deg x)) + (matrix-rotate-x! temp-mat (-> rot-xyz-deg z)) + (matrix*! rot-mat temp-mat dst) + (matrix-rotate-y! temp-mat (-> rot-xyz-deg y)) + (matrix*! dst temp-mat rot-mat) + ) dst ) @@ -723,34 +705,28 @@ (sin-vec (new 'stack-no-clear 'vector)) (cos-vec (new 'stack-no-clear 'vector)) ) - (set-vector! - sincos-input - (-> rots-deg x) - (- (-> rots-deg y) (-> rots-deg z)) - (-> rots-deg z) - 1.0 + (set-vector! sincos-input (-> rots-deg x) (- (-> rots-deg y) (-> rots-deg z)) (-> rots-deg z) 1.0) + (vector-sincos! sin-vec cos-vec sincos-input) + (let ((cos-y (-> cos-vec y)) + (sin-y (-> sin-vec y)) + (cos-x (-> cos-vec x)) + (sin-x (-> sin-vec x)) + (cos-z (-> cos-vec z)) + (sin-z (-> sin-vec z)) + ) + (set! (-> dst vector 0 x) (- (* cos-y cos-z) (* sin-y cos-x sin-z))) + (set! (-> dst vector 0 y) (* sin-y sin-x)) + (set! (-> dst vector 0 z) (- (+ (* cos-y sin-z) (* sin-y cos-x cos-z)))) + (set! (-> dst vector 0 w) 0.0) + (set! (-> dst vector 1 x) (* sin-x sin-z)) + (set! (-> dst vector 1 y) cos-x) + (set! (-> dst vector 1 z) (* sin-x cos-z)) + (set! (-> dst vector 1 w) 0.0) + (set! (-> dst vector 2 x) (+ (* sin-y cos-z) (* cos-y cos-x sin-z))) + (set! (-> dst vector 2 y) (- (* cos-y sin-x))) + (set! (-> dst vector 2 z) (- (* cos-y cos-x cos-z) (* sin-y sin-z))) + ) ) - (vector-sincos! sin-vec cos-vec sincos-input) - (let ((cos-y (-> cos-vec y)) - (sin-y (-> sin-vec y)) - (cos-x (-> cos-vec x)) - (sin-x (-> sin-vec x)) - (cos-z (-> cos-vec z)) - (sin-z (-> sin-vec z)) - ) - (set! (-> dst vector 0 x) (- (* cos-y cos-z) (* sin-y cos-x sin-z))) - (set! (-> dst vector 0 y) (* sin-y sin-x)) - (set! (-> dst vector 0 z) (- (+ (* cos-y sin-z) (* sin-y cos-x cos-z)))) - (set! (-> dst vector 0 w) 0.0) - (set! (-> dst vector 1 x) (* sin-x sin-z)) - (set! (-> dst vector 1 y) cos-x) - (set! (-> dst vector 1 z) (* sin-x cos-z)) - (set! (-> dst vector 1 w) 0.0) - (set! (-> dst vector 2 x) (+ (* sin-y cos-z) (* cos-y cos-x sin-z))) - (set! (-> dst vector 2 y) (- (* cos-y sin-x))) - (set! (-> dst vector 2 z) (- (* cos-y cos-x cos-z) (* sin-y sin-z))) - ) - ) (set! (-> dst vector 2 w) 0.0) (set! (-> dst vector 3 x) 0.0) (set! (-> dst vector 3 y) 0.0) @@ -764,8 +740,8 @@ (defun matrix-rotate-yx! ((dst matrix) (rot-y-deg float) (rot-x-deg float)) (matrix-rotate-y! dst rot-y-deg) (let ((a1-2 (matrix-rotate-x! (new-stack-matrix0) rot-x-deg))) - (matrix*! dst a1-2 dst) - ) + (matrix*! dst a1-2 dst) + ) dst ) @@ -794,33 +770,33 @@ (vf8 :class vf) (vf9 :class vf) ) - (.mov vf9 alpha) - (.lvf vf1 (&-> src1 vector 0 quad)) - (.lvf vf2 (&-> src1 vector 1 quad)) - (.lvf vf3 (&-> src1 vector 2 quad)) - (.lvf vf4 (&-> src1 vector 3 quad)) - (.lvf vf5 (&-> src2 vector 0 quad)) - (.lvf vf6 (&-> src2 vector 1 quad)) - (.lvf vf7 (&-> src2 vector 2 quad)) - (.lvf vf8 (&-> src2 vector 3 quad)) - (.sub.vf vf5 vf5 vf1) - (.sub.vf vf6 vf6 vf2) - (.sub.vf vf7 vf7 vf3) - (.sub.vf vf8 vf8 vf4) - (.mul.x.vf vf5 vf5 vf9) - (.mul.x.vf vf6 vf6 vf9) - (.mul.x.vf vf7 vf7 vf9) - (.mul.x.vf vf8 vf8 vf9) - (.add.vf vf1 vf1 vf5) - (.add.vf vf2 vf2 vf6) - (.add.vf vf3 vf3 vf7) - (.add.vf vf4 vf4 vf8) - (.svf (&-> dst vector 0 quad) vf1) - (.svf (&-> dst vector 1 quad) vf2) - (.svf (&-> dst vector 2 quad) vf3) - (.svf (&-> dst vector 3 quad) vf4) - dst - ) + (.mov vf9 alpha) + (.lvf vf1 (&-> src1 vector 0 quad)) + (.lvf vf2 (&-> src1 vector 1 quad)) + (.lvf vf3 (&-> src1 vector 2 quad)) + (.lvf vf4 (&-> src1 vector 3 quad)) + (.lvf vf5 (&-> src2 vector 0 quad)) + (.lvf vf6 (&-> src2 vector 1 quad)) + (.lvf vf7 (&-> src2 vector 2 quad)) + (.lvf vf8 (&-> src2 vector 3 quad)) + (.sub.vf vf5 vf5 vf1) + (.sub.vf vf6 vf6 vf2) + (.sub.vf vf7 vf7 vf3) + (.sub.vf vf8 vf8 vf4) + (.mul.x.vf vf5 vf5 vf9) + (.mul.x.vf vf6 vf6 vf9) + (.mul.x.vf vf7 vf7 vf9) + (.mul.x.vf vf8 vf8 vf9) + (.add.vf vf1 vf1 vf5) + (.add.vf vf2 vf2 vf6) + (.add.vf vf3 vf3 vf7) + (.add.vf vf4 vf4 vf8) + (.svf (&-> dst vector 0 quad) vf1) + (.svf (&-> dst vector 1 quad) vf2) + (.svf (&-> dst vector 2 quad) vf3) + (.svf (&-> dst vector 3 quad) vf4) + dst + ) ) ;; definition for function matrix-3x3-determinant @@ -835,11 +811,10 @@ (f6-0 (-> mat vector 2 y)) (f0-0 (-> mat vector 2 z)) ) - (- - (+ (* f8-0 f5-0 f0-0) (* f1-0 f9-0 f3-0) (* f4-0 f2-0 f6-0)) - (+ (* f8-0 f9-0 f6-0) (* f4-0 f5-0 f3-0) (* f1-0 f2-0 f0-0)) + (- (+ (* f8-0 f5-0 f0-0) (* f1-0 f9-0 f3-0) (* f4-0 f2-0 f6-0)) + (+ (* f8-0 f9-0 f6-0) (* f4-0 f5-0 f3-0) (* f1-0 f2-0 f0-0)) + ) ) - ) ) ;; definition for function matrix3-determinant @@ -851,209 +826,83 @@ (vf12 :class vf) (vf13 :class vf) ) - (.lvf vf11 (&-> arg0 vector 1 quad)) - (.lvf vf12 (&-> arg0 vector 2 quad)) - (.lvf vf10 (&-> arg0 vector 0 quad)) - (.outer.product.vf vf13 vf11 vf12) - (.mul.vf vf13 vf13 vf10 :mask #b111) - (.add.y.vf vf13 vf13 vf13 :mask #b1) - (.add.z.vf vf13 vf13 vf13 :mask #b1) - (.mov v0-0 vf13) - v0-0 - ) + (.lvf vf11 (&-> arg0 vector 1 quad)) + (.lvf vf12 (&-> arg0 vector 2 quad)) + (.lvf vf10 (&-> arg0 vector 0 quad)) + (.outer.product.vf vf13 vf11 vf12) + (.mul.vf vf13 vf13 vf10 :mask #b111) + (.add.y.vf vf13 vf13 vf13 :mask #b1) + (.add.z.vf vf13 vf13 vf13 :mask #b1) + (.mov v0-0 vf13) + v0-0 + ) ) ;; definition for function matrix-3x3-inverse! (defun matrix-3x3-inverse! ((dst matrix) (src matrix)) (let ((f0-0 (matrix-3x3-determinant src))) - (set! - (-> dst vector 0 x) - (/ - (- - (* (-> src vector 1 y) (-> src vector 2 z)) - (* (-> src vector 1 z) (-> src vector 2 y)) - ) - f0-0 - ) + (set! (-> dst vector 0 x) + (/ (- (* (-> src vector 1 y) (-> src vector 2 z)) (* (-> src vector 1 z) (-> src vector 2 y))) f0-0) + ) + (set! (-> dst vector 1 x) + (/ (- (* (-> src vector 1 z) (-> src vector 2 x)) (* (-> src vector 1 x) (-> src vector 2 z))) f0-0) + ) + (set! (-> dst vector 2 x) + (/ (- (* (-> src vector 1 x) (-> src vector 2 y)) (* (-> src vector 1 y) (-> src vector 2 x))) f0-0) + ) + (set! (-> dst vector 0 y) + (/ (- (* (-> src vector 2 y) (-> src vector 0 z)) (* (-> src vector 2 z) (-> src vector 0 y))) f0-0) + ) + (set! (-> dst vector 1 y) + (/ (- (* (-> src vector 2 z) (-> src vector 0 x)) (* (-> src vector 2 x) (-> src vector 0 z))) f0-0) + ) + (set! (-> dst vector 2 y) + (/ (- (* (-> src vector 2 x) (-> src vector 0 y)) (* (-> src vector 2 y) (-> src vector 0 x))) f0-0) + ) + (set! (-> dst vector 0 z) + (/ (- (* (-> src vector 0 y) (-> src vector 1 z)) (* (-> src vector 0 z) (-> src vector 1 y))) f0-0) + ) + (set! (-> dst vector 1 z) + (/ (- (* (-> src vector 0 z) (-> src vector 1 x)) (* (-> src vector 0 x) (-> src vector 1 z))) f0-0) + ) + (set! (-> dst vector 2 z) + (/ (- (* (-> src vector 0 x) (-> src vector 1 y)) (* (-> src vector 0 y) (-> src vector 1 x))) f0-0) + ) ) - (set! - (-> dst vector 1 x) - (/ - (- - (* (-> src vector 1 z) (-> src vector 2 x)) - (* (-> src vector 1 x) (-> src vector 2 z)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 2 x) - (/ - (- - (* (-> src vector 1 x) (-> src vector 2 y)) - (* (-> src vector 1 y) (-> src vector 2 x)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 0 y) - (/ - (- - (* (-> src vector 2 y) (-> src vector 0 z)) - (* (-> src vector 2 z) (-> src vector 0 y)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 1 y) - (/ - (- - (* (-> src vector 2 z) (-> src vector 0 x)) - (* (-> src vector 2 x) (-> src vector 0 z)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 2 y) - (/ - (- - (* (-> src vector 2 x) (-> src vector 0 y)) - (* (-> src vector 2 y) (-> src vector 0 x)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 0 z) - (/ - (- - (* (-> src vector 0 y) (-> src vector 1 z)) - (* (-> src vector 0 z) (-> src vector 1 y)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 1 z) - (/ - (- - (* (-> src vector 0 z) (-> src vector 1 x)) - (* (-> src vector 0 x) (-> src vector 1 z)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 2 z) - (/ - (- - (* (-> src vector 0 x) (-> src vector 1 y)) - (* (-> src vector 0 y) (-> src vector 1 x)) - ) - f0-0 - ) - ) - ) dst ) ;; definition for function matrix-3x3-inverse-transpose! (defun matrix-3x3-inverse-transpose! ((dst matrix) (src matrix)) (let ((f0-0 (matrix-3x3-determinant src))) - (set! - (-> dst vector 0 x) - (/ - (- - (* (-> src vector 1 y) (-> src vector 2 z)) - (* (-> src vector 1 z) (-> src vector 2 y)) - ) - f0-0 - ) + (set! (-> dst vector 0 x) + (/ (- (* (-> src vector 1 y) (-> src vector 2 z)) (* (-> src vector 1 z) (-> src vector 2 y))) f0-0) + ) + (set! (-> dst vector 0 y) + (/ (- (* (-> src vector 1 z) (-> src vector 2 x)) (* (-> src vector 1 x) (-> src vector 2 z))) f0-0) + ) + (set! (-> dst vector 0 z) + (/ (- (* (-> src vector 1 x) (-> src vector 2 y)) (* (-> src vector 1 y) (-> src vector 2 x))) f0-0) + ) + (set! (-> dst vector 1 x) + (/ (- (* (-> src vector 2 y) (-> src vector 0 z)) (* (-> src vector 2 z) (-> src vector 0 y))) f0-0) + ) + (set! (-> dst vector 1 y) + (/ (- (* (-> src vector 2 z) (-> src vector 0 x)) (* (-> src vector 2 x) (-> src vector 0 z))) f0-0) + ) + (set! (-> dst vector 1 z) + (/ (- (* (-> src vector 2 x) (-> src vector 0 y)) (* (-> src vector 2 y) (-> src vector 0 x))) f0-0) + ) + (set! (-> dst vector 2 x) + (/ (- (* (-> src vector 0 y) (-> src vector 1 z)) (* (-> src vector 0 z) (-> src vector 1 y))) f0-0) + ) + (set! (-> dst vector 2 y) + (/ (- (* (-> src vector 0 z) (-> src vector 1 x)) (* (-> src vector 0 x) (-> src vector 1 z))) f0-0) + ) + (set! (-> dst vector 2 z) + (/ (- (* (-> src vector 0 x) (-> src vector 1 y)) (* (-> src vector 0 y) (-> src vector 1 x))) f0-0) + ) ) - (set! - (-> dst vector 0 y) - (/ - (- - (* (-> src vector 1 z) (-> src vector 2 x)) - (* (-> src vector 1 x) (-> src vector 2 z)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 0 z) - (/ - (- - (* (-> src vector 1 x) (-> src vector 2 y)) - (* (-> src vector 1 y) (-> src vector 2 x)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 1 x) - (/ - (- - (* (-> src vector 2 y) (-> src vector 0 z)) - (* (-> src vector 2 z) (-> src vector 0 y)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 1 y) - (/ - (- - (* (-> src vector 2 z) (-> src vector 0 x)) - (* (-> src vector 2 x) (-> src vector 0 z)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 1 z) - (/ - (- - (* (-> src vector 2 x) (-> src vector 0 y)) - (* (-> src vector 2 y) (-> src vector 0 x)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 2 x) - (/ - (- - (* (-> src vector 0 y) (-> src vector 1 z)) - (* (-> src vector 0 z) (-> src vector 1 y)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 2 y) - (/ - (- - (* (-> src vector 0 z) (-> src vector 1 x)) - (* (-> src vector 0 x) (-> src vector 1 z)) - ) - f0-0 - ) - ) - (set! - (-> dst vector 2 z) - (/ - (- - (* (-> src vector 0 x) (-> src vector 1 y)) - (* (-> src vector 0 y) (-> src vector 1 x)) - ) - f0-0 - ) - ) - ) dst ) @@ -1070,35 +919,35 @@ (vf14 :class vf) (vf15 :class vf) ) - (init-vf0-vector) - (.lvf vf10 (&-> src vector 0 quad)) - (.lvf vf11 (&-> src vector 1 quad)) - (.lvf vf12 (&-> src vector 2 quad)) - (.outer.product.vf vf13 vf11 vf12) - (.outer.product.vf vf14 vf12 vf10) - (.mul.vf vf1 vf10 vf13 :mask #b111) - (.outer.product.vf vf15 vf10 vf11) - (.nop.vf) - (.add.y.vf vf1 vf1 vf1 :mask #b1) - (.nop.vf) - (.nop.vf) - (.nop.vf) - (.add.z.vf vf1 vf1 vf1 :mask #b1) - (.nop.vf) - (.nop.vf) - (.nop.vf) - (.div.vf Q vf0 vf1 :fsf #b11 :ftf #b0) - (.wait.vf) - (.mul.vf vf13 vf13 Q) - (.mul.vf vf14 vf14 Q) - (.mul.vf vf15 vf15 Q) - (.nop.vf) - (.nop.vf) - (.svf (&-> dst vector 0 quad) vf13) - (.svf (&-> dst vector 1 quad) vf14) - (.svf (&-> dst vector 2 quad) vf15) - dst - ) + (init-vf0-vector) + (.lvf vf10 (&-> src vector 0 quad)) + (.lvf vf11 (&-> src vector 1 quad)) + (.lvf vf12 (&-> src vector 2 quad)) + (.outer.product.vf vf13 vf11 vf12) + (.outer.product.vf vf14 vf12 vf10) + (.mul.vf vf1 vf10 vf13 :mask #b111) + (.outer.product.vf vf15 vf10 vf11) + (.nop.vf) + (.add.y.vf vf1 vf1 vf1 :mask #b1) + (.nop.vf) + (.nop.vf) + (.nop.vf) + (.add.z.vf vf1 vf1 vf1 :mask #b1) + (.nop.vf) + (.nop.vf) + (.nop.vf) + (.div.vf Q vf0 vf1 :fsf #b11 :ftf #b0) + (.wait.vf) + (.mul.vf vf13 vf13 Q) + (.mul.vf vf14 vf14 Q) + (.mul.vf vf15 vf15 Q) + (.nop.vf) + (.nop.vf) + (.svf (&-> dst vector 0 quad) vf13) + (.svf (&-> dst vector 1 quad) vf14) + (.svf (&-> dst vector 2 quad) vf15) + dst + ) ) ;; definition for function matrix-4x4-determinant @@ -1120,403 +969,328 @@ (f4-0 (-> dst vector 3 z)) (f12-0 (-> dst vector 3 w)) ) - (- - (+ - (* f15-0 f6-0 f8-0 f12-0) - (* f15-0 f3-0 f13-0 f7-0) - (* f15-0 f11-0 f1-0 f4-0) - (* f14-0 f9-0 f13-0 f4-0) - (* f14-0 f3-0 f5-0 f4-0) - (* f14-0 f11-0 f8-0 f0-0) - (* f10-0 f9-0 f1-0 f12-0) - (* f10-0 f6-0 f13-0 f0-0) - (* f10-0 f11-0 f5-0 f7-0) - (* f2-0 f9-0 f1-0 f4-0) - (* f2-0 f6-0 f8-0 f0-0) - (* f2-0 f3-0 f5-0 f7-0) - ) - (+ - (* f15-0 f6-0 f13-0 f4-0) - (* f15-0 f3-0 f1-0 f12-0) - (* f15-0 f11-0 f8-0 f7-0) - (* f14-0 f9-0 f8-0 f12-0) - (* f14-0 f3-0 f13-0 f0-0) - (* f14-0 f11-0 f5-0 f4-0) - (* f10-0 f9-0 f13-0 f7-0) - (* f10-0 f6-0 f5-0 f12-0) - (* f10-0 f11-0 f1-0 f0-0) - (* f2-0 f9-0 f8-0 f7-0) - (* f2-0 f6-0 f5-0 f4-0) - (* f2-0 f3-0 f1-0 f0-0) - ) + (- (+ (* f15-0 f6-0 f8-0 f12-0) + (* f15-0 f3-0 f13-0 f7-0) + (* f15-0 f11-0 f1-0 f4-0) + (* f14-0 f9-0 f13-0 f4-0) + (* f14-0 f3-0 f5-0 f4-0) + (* f14-0 f11-0 f8-0 f0-0) + (* f10-0 f9-0 f1-0 f12-0) + (* f10-0 f6-0 f13-0 f0-0) + (* f10-0 f11-0 f5-0 f7-0) + (* f2-0 f9-0 f1-0 f4-0) + (* f2-0 f6-0 f8-0 f0-0) + (* f2-0 f3-0 f5-0 f7-0) + ) + (+ (* f15-0 f6-0 f13-0 f4-0) + (* f15-0 f3-0 f1-0 f12-0) + (* f15-0 f11-0 f8-0 f7-0) + (* f14-0 f9-0 f8-0 f12-0) + (* f14-0 f3-0 f13-0 f0-0) + (* f14-0 f11-0 f5-0 f4-0) + (* f10-0 f9-0 f13-0 f7-0) + (* f10-0 f6-0 f5-0 f12-0) + (* f10-0 f11-0 f1-0 f0-0) + (* f2-0 f9-0 f8-0 f7-0) + (* f2-0 f6-0 f5-0 f4-0) + (* f2-0 f3-0 f1-0 f0-0) + ) + ) ) - ) ) ;; definition for function matrix-4x4-inverse-transpose! (defun matrix-4x4-inverse-transpose! ((dst matrix) (src matrix)) (let ((f0-0 (matrix-4x4-determinant src))) - (let ((f9-0 (-> src vector 1 y)) - (f2-0 (-> src vector 1 z)) - (f5-0 (-> src vector 1 w)) - (f3-0 (-> src vector 2 y)) - (f6-0 (-> src vector 2 z)) - (f10-0 (-> src vector 2 w)) - (f4-0 (-> src vector 3 y)) - (f7-0 (-> src vector 3 z)) - (f1-0 (-> src vector 3 w)) - ) - (set! - (-> dst vector 0 x) - (/ - (- - (+ (* f9-0 f6-0 f1-0) (* f2-0 f10-0 f4-0) (* f5-0 f3-0 f7-0)) - (+ (* f9-0 f10-0 f7-0) (* f5-0 f6-0 f4-0) (* f2-0 f3-0 f1-0)) - ) - f0-0 + (let ((f9-0 (-> src vector 1 y)) + (f2-0 (-> src vector 1 z)) + (f5-0 (-> src vector 1 w)) + (f3-0 (-> src vector 2 y)) + (f6-0 (-> src vector 2 z)) + (f10-0 (-> src vector 2 w)) + (f4-0 (-> src vector 3 y)) + (f7-0 (-> src vector 3 z)) + (f1-0 (-> src vector 3 w)) + ) + (set! (-> dst vector 0 x) (/ (- (+ (* f9-0 f6-0 f1-0) (* f2-0 f10-0 f4-0) (* f5-0 f3-0 f7-0)) + (+ (* f9-0 f10-0 f7-0) (* f5-0 f6-0 f4-0) (* f2-0 f3-0 f1-0)) + ) + f0-0 + ) + ) ) - ) - ) - (let ((f9-2 (-> src vector 1 x)) - (f2-2 (-> src vector 1 z)) - (f5-2 (-> src vector 1 w)) - (f3-1 (-> src vector 2 x)) - (f6-1 (-> src vector 2 z)) - (f10-1 (-> src vector 2 w)) - (f4-3 (-> src vector 3 x)) - (f7-2 (-> src vector 3 z)) - (f1-6 (-> src vector 3 w)) - ) - (set! - (-> dst vector 0 y) - (- - (/ - (- - (+ (* f9-2 f6-1 f1-6) (* f2-2 f10-1 f4-3) (* f5-2 f3-1 f7-2)) - (+ (* f9-2 f10-1 f7-2) (* f5-2 f6-1 f4-3) (* f2-2 f3-1 f1-6)) - ) - f0-0 - ) + (let ((f9-2 (-> src vector 1 x)) + (f2-2 (-> src vector 1 z)) + (f5-2 (-> src vector 1 w)) + (f3-1 (-> src vector 2 x)) + (f6-1 (-> src vector 2 z)) + (f10-1 (-> src vector 2 w)) + (f4-3 (-> src vector 3 x)) + (f7-2 (-> src vector 3 z)) + (f1-6 (-> src vector 3 w)) + ) + (set! (-> dst vector 0 y) (- (/ (- (+ (* f9-2 f6-1 f1-6) (* f2-2 f10-1 f4-3) (* f5-2 f3-1 f7-2)) + (+ (* f9-2 f10-1 f7-2) (* f5-2 f6-1 f4-3) (* f2-2 f3-1 f1-6)) + ) + f0-0 + ) + ) + ) ) - ) - ) - (let ((f9-4 (-> src vector 1 x)) - (f2-4 (-> src vector 1 y)) - (f5-4 (-> src vector 1 w)) - (f3-2 (-> src vector 2 x)) - (f6-2 (-> src vector 2 y)) - (f10-2 (-> src vector 2 w)) - (f4-6 (-> src vector 3 x)) - (f7-4 (-> src vector 3 y)) - (f1-13 (-> src vector 3 w)) - ) - (set! - (-> dst vector 0 z) - (/ - (- - (+ (* f9-4 f6-2 f1-13) (* f2-4 f10-2 f4-6) (* f5-4 f3-2 f7-4)) - (+ (* f9-4 f10-2 f7-4) (* f5-4 f6-2 f4-6) (* f2-4 f3-2 f1-13)) - ) - f0-0 + (let ((f9-4 (-> src vector 1 x)) + (f2-4 (-> src vector 1 y)) + (f5-4 (-> src vector 1 w)) + (f3-2 (-> src vector 2 x)) + (f6-2 (-> src vector 2 y)) + (f10-2 (-> src vector 2 w)) + (f4-6 (-> src vector 3 x)) + (f7-4 (-> src vector 3 y)) + (f1-13 (-> src vector 3 w)) + ) + (set! (-> dst vector 0 z) (/ (- (+ (* f9-4 f6-2 f1-13) (* f2-4 f10-2 f4-6) (* f5-4 f3-2 f7-4)) + (+ (* f9-4 f10-2 f7-4) (* f5-4 f6-2 f4-6) (* f2-4 f3-2 f1-13)) + ) + f0-0 + ) + ) ) - ) - ) - (let ((f9-6 (-> src vector 1 x)) - (f2-6 (-> src vector 1 y)) - (f5-6 (-> src vector 1 z)) - (f3-3 (-> src vector 2 x)) - (f6-3 (-> src vector 2 y)) - (f10-3 (-> src vector 2 z)) - (f4-9 (-> src vector 3 x)) - (f7-6 (-> src vector 3 y)) - (f1-19 (-> src vector 3 z)) - ) - (set! - (-> dst vector 0 w) - (- - (/ - (- - (+ (* f9-6 f6-3 f1-19) (* f2-6 f10-3 f4-9) (* f5-6 f3-3 f7-6)) - (+ (* f9-6 f10-3 f7-6) (* f5-6 f6-3 f4-9) (* f2-6 f3-3 f1-19)) - ) - f0-0 - ) + (let ((f9-6 (-> src vector 1 x)) + (f2-6 (-> src vector 1 y)) + (f5-6 (-> src vector 1 z)) + (f3-3 (-> src vector 2 x)) + (f6-3 (-> src vector 2 y)) + (f10-3 (-> src vector 2 z)) + (f4-9 (-> src vector 3 x)) + (f7-6 (-> src vector 3 y)) + (f1-19 (-> src vector 3 z)) + ) + (set! (-> dst vector 0 w) (- (/ (- (+ (* f9-6 f6-3 f1-19) (* f2-6 f10-3 f4-9) (* f5-6 f3-3 f7-6)) + (+ (* f9-6 f10-3 f7-6) (* f5-6 f6-3 f4-9) (* f2-6 f3-3 f1-19)) + ) + f0-0 + ) + ) + ) ) - ) - ) - (let ((f9-8 (-> src vector 0 y)) - (f2-8 (-> src vector 0 z)) - (f5-8 (-> src vector 0 w)) - (f3-4 (-> src vector 2 y)) - (f6-4 (-> src vector 2 z)) - (f10-4 (-> src vector 2 w)) - (f4-12 (-> src vector 3 y)) - (f7-8 (-> src vector 3 z)) - (f1-26 (-> src vector 3 w)) - ) - (set! - (-> dst vector 1 x) - (- - (/ - (- - (+ (* f9-8 f6-4 f1-26) (* f2-8 f10-4 f4-12) (* f5-8 f3-4 f7-8)) - (+ (* f9-8 f10-4 f7-8) (* f5-8 f6-4 f4-12) (* f2-8 f3-4 f1-26)) - ) - f0-0 - ) + (let ((f9-8 (-> src vector 0 y)) + (f2-8 (-> src vector 0 z)) + (f5-8 (-> src vector 0 w)) + (f3-4 (-> src vector 2 y)) + (f6-4 (-> src vector 2 z)) + (f10-4 (-> src vector 2 w)) + (f4-12 (-> src vector 3 y)) + (f7-8 (-> src vector 3 z)) + (f1-26 (-> src vector 3 w)) + ) + (set! (-> dst vector 1 x) (- (/ (- (+ (* f9-8 f6-4 f1-26) (* f2-8 f10-4 f4-12) (* f5-8 f3-4 f7-8)) + (+ (* f9-8 f10-4 f7-8) (* f5-8 f6-4 f4-12) (* f2-8 f3-4 f1-26)) + ) + f0-0 + ) + ) + ) ) - ) - ) - (let ((f9-10 (-> src vector 0 x)) - (f2-10 (-> src vector 0 z)) - (f5-10 (-> src vector 0 w)) - (f3-5 (-> src vector 2 x)) - (f6-5 (-> src vector 2 z)) - (f10-5 (-> src vector 2 w)) - (f4-15 (-> src vector 3 x)) - (f7-10 (-> src vector 3 z)) - (f1-33 (-> src vector 3 w)) - ) - (set! - (-> dst vector 1 y) - (/ - (- - (+ (* f9-10 f6-5 f1-33) (* f2-10 f10-5 f4-15) (* f5-10 f3-5 f7-10)) - (+ (* f9-10 f10-5 f7-10) (* f5-10 f6-5 f4-15) (* f2-10 f3-5 f1-33)) - ) - f0-0 + (let ((f9-10 (-> src vector 0 x)) + (f2-10 (-> src vector 0 z)) + (f5-10 (-> src vector 0 w)) + (f3-5 (-> src vector 2 x)) + (f6-5 (-> src vector 2 z)) + (f10-5 (-> src vector 2 w)) + (f4-15 (-> src vector 3 x)) + (f7-10 (-> src vector 3 z)) + (f1-33 (-> src vector 3 w)) + ) + (set! (-> dst vector 1 y) (/ (- (+ (* f9-10 f6-5 f1-33) (* f2-10 f10-5 f4-15) (* f5-10 f3-5 f7-10)) + (+ (* f9-10 f10-5 f7-10) (* f5-10 f6-5 f4-15) (* f2-10 f3-5 f1-33)) + ) + f0-0 + ) + ) ) - ) - ) - (let ((f9-12 (-> src vector 0 x)) - (f2-12 (-> src vector 0 y)) - (f5-12 (-> src vector 0 w)) - (f3-6 (-> src vector 2 x)) - (f6-6 (-> src vector 2 y)) - (f10-6 (-> src vector 2 w)) - (f4-18 (-> src vector 3 x)) - (f7-12 (-> src vector 3 y)) - (f1-39 (-> src vector 3 w)) - ) - (set! - (-> dst vector 1 z) - (- - (/ - (- - (+ (* f9-12 f6-6 f1-39) (* f2-12 f10-6 f4-18) (* f5-12 f3-6 f7-12)) - (+ (* f9-12 f10-6 f7-12) (* f5-12 f6-6 f4-18) (* f2-12 f3-6 f1-39)) - ) - f0-0 - ) + (let ((f9-12 (-> src vector 0 x)) + (f2-12 (-> src vector 0 y)) + (f5-12 (-> src vector 0 w)) + (f3-6 (-> src vector 2 x)) + (f6-6 (-> src vector 2 y)) + (f10-6 (-> src vector 2 w)) + (f4-18 (-> src vector 3 x)) + (f7-12 (-> src vector 3 y)) + (f1-39 (-> src vector 3 w)) + ) + (set! (-> dst vector 1 z) (- (/ (- (+ (* f9-12 f6-6 f1-39) (* f2-12 f10-6 f4-18) (* f5-12 f3-6 f7-12)) + (+ (* f9-12 f10-6 f7-12) (* f5-12 f6-6 f4-18) (* f2-12 f3-6 f1-39)) + ) + f0-0 + ) + ) + ) ) - ) - ) - (let ((f9-14 (-> src vector 0 x)) - (f2-14 (-> src vector 0 y)) - (f5-14 (-> src vector 0 z)) - (f3-7 (-> src vector 2 x)) - (f6-7 (-> src vector 2 y)) - (f10-7 (-> src vector 2 z)) - (f4-21 (-> src vector 3 x)) - (f7-14 (-> src vector 3 y)) - (f1-46 (-> src vector 3 z)) - ) - (set! - (-> dst vector 1 w) - (/ - (- - (+ (* f9-14 f6-7 f1-46) (* f2-14 f10-7 f4-21) (* f5-14 f3-7 f7-14)) - (+ (* f9-14 f10-7 f7-14) (* f5-14 f6-7 f4-21) (* f2-14 f3-7 f1-46)) - ) - f0-0 + (let ((f9-14 (-> src vector 0 x)) + (f2-14 (-> src vector 0 y)) + (f5-14 (-> src vector 0 z)) + (f3-7 (-> src vector 2 x)) + (f6-7 (-> src vector 2 y)) + (f10-7 (-> src vector 2 z)) + (f4-21 (-> src vector 3 x)) + (f7-14 (-> src vector 3 y)) + (f1-46 (-> src vector 3 z)) + ) + (set! (-> dst vector 1 w) (/ (- (+ (* f9-14 f6-7 f1-46) (* f2-14 f10-7 f4-21) (* f5-14 f3-7 f7-14)) + (+ (* f9-14 f10-7 f7-14) (* f5-14 f6-7 f4-21) (* f2-14 f3-7 f1-46)) + ) + f0-0 + ) + ) ) - ) - ) - (let ((f9-16 (-> src vector 0 y)) - (f2-16 (-> src vector 0 z)) - (f5-16 (-> src vector 0 w)) - (f3-8 (-> src vector 1 y)) - (f6-8 (-> src vector 1 z)) - (f10-8 (-> src vector 1 w)) - (f4-24 (-> src vector 3 y)) - (f7-16 (-> src vector 3 z)) - (f1-52 (-> src vector 3 w)) - ) - (set! - (-> dst vector 2 x) - (/ - (- - (+ (* f9-16 f6-8 f1-52) (* f2-16 f10-8 f4-24) (* f5-16 f3-8 f7-16)) - (+ (* f9-16 f10-8 f7-16) (* f5-16 f6-8 f4-24) (* f2-16 f3-8 f1-52)) - ) - f0-0 + (let ((f9-16 (-> src vector 0 y)) + (f2-16 (-> src vector 0 z)) + (f5-16 (-> src vector 0 w)) + (f3-8 (-> src vector 1 y)) + (f6-8 (-> src vector 1 z)) + (f10-8 (-> src vector 1 w)) + (f4-24 (-> src vector 3 y)) + (f7-16 (-> src vector 3 z)) + (f1-52 (-> src vector 3 w)) + ) + (set! (-> dst vector 2 x) (/ (- (+ (* f9-16 f6-8 f1-52) (* f2-16 f10-8 f4-24) (* f5-16 f3-8 f7-16)) + (+ (* f9-16 f10-8 f7-16) (* f5-16 f6-8 f4-24) (* f2-16 f3-8 f1-52)) + ) + f0-0 + ) + ) ) - ) - ) - (let ((f9-18 (-> src vector 0 x)) - (f2-18 (-> src vector 0 z)) - (f5-18 (-> src vector 0 w)) - (f3-9 (-> src vector 1 x)) - (f6-9 (-> src vector 1 z)) - (f10-9 (-> src vector 1 w)) - (f4-27 (-> src vector 3 x)) - (f7-18 (-> src vector 3 z)) - (f1-58 (-> src vector 3 w)) - ) - (set! - (-> dst vector 2 y) - (- - (/ - (- - (+ (* f9-18 f6-9 f1-58) (* f2-18 f10-9 f4-27) (* f5-18 f3-9 f7-18)) - (+ (* f9-18 f10-9 f7-18) (* f5-18 f6-9 f4-27) (* f2-18 f3-9 f1-58)) - ) - f0-0 - ) + (let ((f9-18 (-> src vector 0 x)) + (f2-18 (-> src vector 0 z)) + (f5-18 (-> src vector 0 w)) + (f3-9 (-> src vector 1 x)) + (f6-9 (-> src vector 1 z)) + (f10-9 (-> src vector 1 w)) + (f4-27 (-> src vector 3 x)) + (f7-18 (-> src vector 3 z)) + (f1-58 (-> src vector 3 w)) + ) + (set! (-> dst vector 2 y) (- (/ (- (+ (* f9-18 f6-9 f1-58) (* f2-18 f10-9 f4-27) (* f5-18 f3-9 f7-18)) + (+ (* f9-18 f10-9 f7-18) (* f5-18 f6-9 f4-27) (* f2-18 f3-9 f1-58)) + ) + f0-0 + ) + ) + ) ) - ) - ) - (let ((f9-20 (-> src vector 0 x)) - (f2-20 (-> src vector 0 y)) - (f5-20 (-> src vector 0 w)) - (f3-10 (-> src vector 1 x)) - (f6-10 (-> src vector 1 y)) - (f10-10 (-> src vector 1 w)) - (f4-30 (-> src vector 3 x)) - (f7-20 (-> src vector 3 y)) - (f1-65 (-> src vector 3 w)) - ) - (set! - (-> dst vector 2 z) - (/ - (- - (+ (* f9-20 f6-10 f1-65) (* f2-20 f10-10 f4-30) (* f5-20 f3-10 f7-20)) - (+ (* f9-20 f10-10 f7-20) (* f5-20 f6-10 f4-30) (* f2-20 f3-10 f1-65)) - ) - f0-0 + (let ((f9-20 (-> src vector 0 x)) + (f2-20 (-> src vector 0 y)) + (f5-20 (-> src vector 0 w)) + (f3-10 (-> src vector 1 x)) + (f6-10 (-> src vector 1 y)) + (f10-10 (-> src vector 1 w)) + (f4-30 (-> src vector 3 x)) + (f7-20 (-> src vector 3 y)) + (f1-65 (-> src vector 3 w)) + ) + (set! (-> dst vector 2 z) (/ (- (+ (* f9-20 f6-10 f1-65) (* f2-20 f10-10 f4-30) (* f5-20 f3-10 f7-20)) + (+ (* f9-20 f10-10 f7-20) (* f5-20 f6-10 f4-30) (* f2-20 f3-10 f1-65)) + ) + f0-0 + ) + ) ) - ) - ) - (let ((f9-22 (-> src vector 0 x)) - (f2-22 (-> src vector 0 y)) - (f5-22 (-> src vector 0 z)) - (f3-11 (-> src vector 1 x)) - (f6-11 (-> src vector 1 y)) - (f10-11 (-> src vector 1 z)) - (f4-33 (-> src vector 3 x)) - (f7-22 (-> src vector 3 y)) - (f1-71 (-> src vector 3 z)) - ) - (set! - (-> dst vector 2 w) - (- - (/ - (- - (+ (* f9-22 f6-11 f1-71) (* f2-22 f10-11 f4-33) (* f5-22 f3-11 f7-22)) - (+ (* f9-22 f10-11 f7-22) (* f5-22 f6-11 f4-33) (* f2-22 f3-11 f1-71)) - ) - f0-0 - ) + (let ((f9-22 (-> src vector 0 x)) + (f2-22 (-> src vector 0 y)) + (f5-22 (-> src vector 0 z)) + (f3-11 (-> src vector 1 x)) + (f6-11 (-> src vector 1 y)) + (f10-11 (-> src vector 1 z)) + (f4-33 (-> src vector 3 x)) + (f7-22 (-> src vector 3 y)) + (f1-71 (-> src vector 3 z)) + ) + (set! (-> dst vector 2 w) (- (/ (- (+ (* f9-22 f6-11 f1-71) (* f2-22 f10-11 f4-33) (* f5-22 f3-11 f7-22)) + (+ (* f9-22 f10-11 f7-22) (* f5-22 f6-11 f4-33) (* f2-22 f3-11 f1-71)) + ) + f0-0 + ) + ) + ) ) - ) - ) - (let ((f9-24 (-> src vector 0 y)) - (f2-24 (-> src vector 0 z)) - (f5-24 (-> src vector 0 w)) - (f3-12 (-> src vector 1 y)) - (f6-12 (-> src vector 1 z)) - (f10-12 (-> src vector 1 w)) - (f4-36 (-> src vector 2 y)) - (f7-24 (-> src vector 2 z)) - (f1-78 (-> src vector 2 w)) - ) - (set! - (-> dst vector 3 x) - (- - (/ - (- - (+ (* f9-24 f6-12 f1-78) (* f2-24 f10-12 f4-36) (* f5-24 f3-12 f7-24)) - (+ (* f9-24 f10-12 f7-24) (* f5-24 f6-12 f4-36) (* f2-24 f3-12 f1-78)) - ) - f0-0 - ) + (let ((f9-24 (-> src vector 0 y)) + (f2-24 (-> src vector 0 z)) + (f5-24 (-> src vector 0 w)) + (f3-12 (-> src vector 1 y)) + (f6-12 (-> src vector 1 z)) + (f10-12 (-> src vector 1 w)) + (f4-36 (-> src vector 2 y)) + (f7-24 (-> src vector 2 z)) + (f1-78 (-> src vector 2 w)) + ) + (set! (-> dst vector 3 x) (- (/ (- (+ (* f9-24 f6-12 f1-78) (* f2-24 f10-12 f4-36) (* f5-24 f3-12 f7-24)) + (+ (* f9-24 f10-12 f7-24) (* f5-24 f6-12 f4-36) (* f2-24 f3-12 f1-78)) + ) + f0-0 + ) + ) + ) ) - ) - ) - (let ((f9-26 (-> src vector 0 x)) - (f2-26 (-> src vector 0 z)) - (f5-26 (-> src vector 0 w)) - (f3-13 (-> src vector 1 x)) - (f6-13 (-> src vector 1 z)) - (f10-13 (-> src vector 1 w)) - (f4-39 (-> src vector 2 x)) - (f7-26 (-> src vector 2 z)) - (f1-85 (-> src vector 2 w)) - ) - (set! - (-> dst vector 3 y) - (/ - (- - (+ (* f9-26 f6-13 f1-85) (* f2-26 f10-13 f4-39) (* f5-26 f3-13 f7-26)) - (+ (* f9-26 f10-13 f7-26) (* f5-26 f6-13 f4-39) (* f2-26 f3-13 f1-85)) - ) - f0-0 + (let ((f9-26 (-> src vector 0 x)) + (f2-26 (-> src vector 0 z)) + (f5-26 (-> src vector 0 w)) + (f3-13 (-> src vector 1 x)) + (f6-13 (-> src vector 1 z)) + (f10-13 (-> src vector 1 w)) + (f4-39 (-> src vector 2 x)) + (f7-26 (-> src vector 2 z)) + (f1-85 (-> src vector 2 w)) + ) + (set! (-> dst vector 3 y) (/ (- (+ (* f9-26 f6-13 f1-85) (* f2-26 f10-13 f4-39) (* f5-26 f3-13 f7-26)) + (+ (* f9-26 f10-13 f7-26) (* f5-26 f6-13 f4-39) (* f2-26 f3-13 f1-85)) + ) + f0-0 + ) + ) ) - ) - ) - (let ((f9-28 (-> src vector 0 x)) - (f2-28 (-> src vector 0 y)) - (f5-28 (-> src vector 0 w)) - (f3-14 (-> src vector 1 x)) - (f6-14 (-> src vector 1 y)) - (f10-14 (-> src vector 1 w)) - (f4-42 (-> src vector 2 x)) - (f7-28 (-> src vector 2 y)) - (f1-91 (-> src vector 2 w)) - ) - (set! - (-> dst vector 3 z) - (- - (/ - (- - (+ (* f9-28 f6-14 f1-91) (* f2-28 f10-14 f4-42) (* f5-28 f3-14 f7-28)) - (+ (* f9-28 f10-14 f7-28) (* f5-28 f6-14 f4-42) (* f2-28 f3-14 f1-91)) - ) - f0-0 - ) + (let ((f9-28 (-> src vector 0 x)) + (f2-28 (-> src vector 0 y)) + (f5-28 (-> src vector 0 w)) + (f3-14 (-> src vector 1 x)) + (f6-14 (-> src vector 1 y)) + (f10-14 (-> src vector 1 w)) + (f4-42 (-> src vector 2 x)) + (f7-28 (-> src vector 2 y)) + (f1-91 (-> src vector 2 w)) + ) + (set! (-> dst vector 3 z) (- (/ (- (+ (* f9-28 f6-14 f1-91) (* f2-28 f10-14 f4-42) (* f5-28 f3-14 f7-28)) + (+ (* f9-28 f10-14 f7-28) (* f5-28 f6-14 f4-42) (* f2-28 f3-14 f1-91)) + ) + f0-0 + ) + ) + ) ) - ) - ) - (let ((f8-60 (-> src vector 0 x)) - (f1-98 (-> src vector 0 y)) - (f5-30 (-> src vector 0 z)) - (f2-30 (-> src vector 1 x)) - (f6-15 (-> src vector 1 y)) - (f9-30 (-> src vector 1 z)) - (f4-45 (-> src vector 2 x)) - (f7-30 (-> src vector 2 y)) - (f3-15 (-> src vector 2 z)) - ) - (set! - (-> dst vector 3 w) - (/ - (- - (+ (* f8-60 f6-15 f3-15) (* f1-98 f9-30 f4-45) (* f5-30 f2-30 f7-30)) - (+ (* f8-60 f9-30 f7-30) (* f5-30 f6-15 f4-45) (* f1-98 f2-30 f3-15)) - ) - f0-0 + (let ((f8-60 (-> src vector 0 x)) + (f1-98 (-> src vector 0 y)) + (f5-30 (-> src vector 0 z)) + (f2-30 (-> src vector 1 x)) + (f6-15 (-> src vector 1 y)) + (f9-30 (-> src vector 1 z)) + (f4-45 (-> src vector 2 x)) + (f7-30 (-> src vector 2 y)) + (f3-15 (-> src vector 2 z)) + ) + (set! (-> dst vector 3 w) (/ (- (+ (* f8-60 f6-15 f3-15) (* f1-98 f9-30 f4-45) (* f5-30 f2-30 f7-30)) + (+ (* f8-60 f9-30 f7-30) (* f5-30 f6-15 f4-45) (* f1-98 f2-30 f3-15)) + ) + f0-0 + ) + ) ) - ) ) - ) dst ) ;; definition for function matrix-y-angle (defun matrix-y-angle ((mat matrix)) (let ((z-row (-> mat vector 2))) - (atan (-> z-row x) (-> z-row z)) - ) + (atan (-> z-row x) (-> z-row z)) + ) ) ;; definition for method 9 of type matrix diff --git a/test/decompiler/reference/engine/math/quaternion_REF.gc b/test/decompiler/reference/engine/math/quaternion_REF.gc index a6df38a096..01f0c55a8b 100644 --- a/test/decompiler/reference/engine/math/quaternion_REF.gc +++ b/test/decompiler/reference/engine/math/quaternion_REF.gc @@ -5,55 +5,27 @@ ;; INFO: this function exists in multiple non-identical object files (defmethod inspect quaternion ((obj quaternion)) (format #t "[~8x] quaternion~%" obj) - (format - #t - "~T[~F] [~F] [~F] [~F]~%" - (-> obj x) - (-> obj y) - (-> obj z) - (-> obj w) - ) - (let - ((f0-5 - (/ - 1.0 - (sqrtf - (+ - (* (-> obj x) (-> obj x)) - (* (-> obj y) (-> obj y)) - (* (-> obj z) (-> obj z)) - ) - ) - ) - ) + (format #t "~T[~F] [~F] [~F] [~F]~%" (-> obj x) (-> obj y) (-> obj z) (-> obj w)) + (let ((f0-5 (/ 1.0 (sqrtf (+ (* (-> obj x) (-> obj x)) (* (-> obj y) (-> obj y)) (* (-> obj z) (-> obj z))))))) + (format #t "~Taxis: ~F ~F ~F" (* f0-5 (-> obj x)) (* f0-5 (-> obj y)) (* f0-5 (-> obj z))) ) - (format - #t - "~Taxis: ~F ~F ~F" - (* f0-5 (-> obj x)) - (* f0-5 (-> obj y)) - (* f0-5 (-> obj z)) - ) - ) (let ((f0-9 (* 2.0 (acos (-> obj w))))) - (format #t "~T~Tangle: (deg ~R)~%" f0-9) - ) + (format #t "~T~Tangle: (deg ~R)~%" f0-9) + ) obj ) ;; definition for function quaternion-axis-angle! -(defun - quaternion-axis-angle! - ((quat quaternion) (x float) (y float) (z float) (angle float)) +(defun quaternion-axis-angle! ((quat quaternion) (x float) (y float) (z float) (angle float)) (let* ((f28-0 (* 0.5 angle)) (f30-0 (sin f28-0)) (f0-1 (cos f28-0)) ) - (set! (-> quat x) (* x f30-0)) - (set! (-> quat y) (* y f30-0)) - (set! (-> quat z) (* z f30-0)) - (set! (-> quat w) f0-1) - ) + (set! (-> quat x) (* x f30-0)) + (set! (-> quat y) (* y f30-0)) + (set! (-> quat z) (* z f30-0)) + (set! (-> quat w) f0-1) + ) quat ) @@ -63,11 +35,11 @@ (f30-0 (sin f28-0)) (f0-1 (cos f28-0)) ) - (set! (-> quat x) (* (-> axis x) f30-0)) - (set! (-> quat y) (* (-> axis y) f30-0)) - (set! (-> quat z) (* (-> axis z) f30-0)) - (set! (-> quat w) f0-1) - ) + (set! (-> quat x) (* (-> axis x) f30-0)) + (set! (-> quat y) (* (-> axis y) f30-0)) + (set! (-> quat z) (* (-> axis z) f30-0)) + (set! (-> quat w) f0-1) + ) quat ) @@ -79,11 +51,11 @@ (f30-0 (/ f0-0 (sqrtf (- f1-0 (* f2-0 f2-0))))) (f0-3 (* 2.0 (acos-rad (-> arg1 w)))) ) - (set! (-> arg0 x) (* (-> arg1 x) f30-0)) - (set! (-> arg0 y) (* (-> arg1 y) f30-0)) - (set! (-> arg0 z) (* (-> arg1 z) f30-0)) - (set! (-> arg0 w) f0-3) - ) + (set! (-> arg0 x) (* (-> arg1 x) f30-0)) + (set! (-> arg0 y) (* (-> arg1 y) f30-0)) + (set! (-> arg0 z) (* (-> arg1 z) f30-0)) + (set! (-> arg0 w) f0-3) + ) arg0 ) @@ -134,9 +106,7 @@ ) ;; definition for function quaternion-set! -(defun - quaternion-set! - ((arg0 quaternion) (arg1 float) (arg2 float) (arg3 float) (arg4 float)) +(defun quaternion-set! ((arg0 quaternion) (arg1 float) (arg2 float) (arg3 float) (arg4 float)) (set! (-> arg0 x) arg1) (set! (-> arg0 y) arg2) (set! (-> arg0 z) arg3) @@ -149,12 +119,12 @@ (rlet ((vf1 :class vf) (vf2 :class vf) ) - (.lvf vf1 (&-> arg1 vec quad)) - (.lvf vf2 (&-> arg2 vec quad)) - (.add.vf vf1 vf1 vf2) - (.svf (&-> arg0 vec quad) vf1) - arg0 - ) + (.lvf vf1 (&-> arg1 vec quad)) + (.lvf vf2 (&-> arg2 vec quad)) + (.add.vf vf1 vf1 vf2) + (.svf (&-> arg0 vec quad) vf1) + arg0 + ) ) ;; definition for function quaternion-! @@ -162,12 +132,12 @@ (rlet ((vf1 :class vf) (vf2 :class vf) ) - (.lvf vf1 (&-> arg1 vec quad)) - (.lvf vf2 (&-> arg2 vec quad)) - (.sub.vf vf1 vf1 vf2) - (.svf (&-> arg0 vec quad) vf1) - arg0 - ) + (.lvf vf1 (&-> arg1 vec quad)) + (.lvf vf2 (&-> arg2 vec quad)) + (.sub.vf vf1 vf1 vf2) + (.svf (&-> arg0 vec quad) vf1) + arg0 + ) ) ;; definition for function quaternion-negate! @@ -176,12 +146,12 @@ (rlet ((vf1 :class vf) (vf2 :class vf) ) - (.lvf vf1 (&-> arg1 vec quad)) - (.sub.vf vf2 vf2 vf2) - (.sub.vf vf1 vf2 vf1) - (.svf (&-> arg0 vec quad) vf1) - arg0 - ) + (.lvf vf1 (&-> arg1 vec quad)) + (.sub.vf vf2 vf2 vf2) + (.sub.vf vf1 vf2 vf1) + (.svf (&-> arg0 vec quad) vf1) + arg0 + ) ) ;; definition for function quaternion-conjugate! @@ -190,13 +160,13 @@ (rlet ((vf1 :class vf) (vf2 :class vf) ) - (.lvf vf1 (&-> arg1 vec quad)) - (.sub.vf vf2 vf2 vf2) - (.sub.vf vf2 vf2 vf1 :mask #b111) - (.add.vf vf2 vf2 vf1 :mask #b1000) - (.svf (&-> arg0 vec quad) vf2) - arg0 - ) + (.lvf vf1 (&-> arg1 vec quad)) + (.sub.vf vf2 vf2 vf2) + (.sub.vf vf2 vf2 vf1 :mask #b111) + (.add.vf vf2 vf2 vf1 :mask #b1000) + (.svf (&-> arg0 vec quad) vf2) + arg0 + ) ) ;; definition for function quaternion-float*! @@ -204,19 +174,19 @@ (rlet ((vf1 :class vf) (vf2 :class vf) ) - (.lvf vf1 (&-> arg1 vec quad)) - (.mov vf2 arg2) - (.mul.x.vf vf1 vf1 vf2) - (.svf (&-> arg0 vec quad) vf1) - arg0 - ) + (.lvf vf1 (&-> arg1 vec quad)) + (.mov vf2 arg2) + (.mul.x.vf vf1 vf1 vf2) + (.svf (&-> arg0 vec quad) vf1) + arg0 + ) ) ;; definition for function quaternion-float/! (defun quaternion-float/! ((arg0 quaternion) (arg1 quaternion) (arg2 float)) (let ((f0-1 (/ 1.0 arg2))) - (quaternion-float*! arg0 arg1 f0-1) - ) + (quaternion-float*! arg0 arg1 f0-1) + ) arg0 ) @@ -227,16 +197,16 @@ (vf0 :class vf) (vf1 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 vec quad)) - (.mul.vf vf1 vf1 vf1) - (.add.z.vf acc vf1 vf1 :mask #b1000) - (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) - (.add.mul.x.vf vf1 vf0 vf1 acc :mask #b1000) - (.add.w.vf vf1 vf0 vf1) - (.mov v0-0 vf1) - v0-0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 vec quad)) + (.mul.vf vf1 vf1 vf1) + (.add.z.vf acc vf1 vf1 :mask #b1000) + (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) + (.add.mul.x.vf vf1 vf0 vf1 acc :mask #b1000) + (.add.w.vf vf1 vf0 vf1) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function quaternion-norm @@ -246,16 +216,16 @@ (vf0 :class vf) (vf1 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 vec quad)) - (.mul.vf vf1 vf1 vf1) - (.add.z.vf acc vf1 vf1 :mask #b1000) - (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) - (.add.mul.x.vf vf1 vf0 vf1 acc :mask #b1000) - (.add.w.vf vf1 vf0 vf1) - (.mov v1-1 vf1) - (sqrtf v1-1) - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 vec quad)) + (.mul.vf vf1 vf1 vf1) + (.add.z.vf acc vf1 vf1 :mask #b1000) + (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) + (.add.mul.x.vf vf1 vf0 vf1 acc :mask #b1000) + (.add.w.vf vf1 vf0 vf1) + (.mov v1-1 vf1) + (sqrtf v1-1) + ) ) ;; definition for function quaternion-normalize! @@ -266,20 +236,20 @@ (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 vec quad)) - (.mul.vf vf2 vf1 vf1) - (.add.z.vf acc vf2 vf2 :mask #b1000) - (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) - (.add.mul.x.vf vf2 vf0 vf2 acc :mask #b1000) - (.isqrt.vf Q vf0 vf2 :fsf #b11 :ftf #b11) - (.wait.vf) - (.mul.vf vf2 vf1 Q) - (.nop.vf) - (.nop.vf) - (.svf (&-> arg0 vec quad) vf2) - arg0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 vec quad)) + (.mul.vf vf2 vf1 vf1) + (.add.z.vf acc vf2 vf2 :mask #b1000) + (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) + (.add.mul.x.vf vf2 vf0 vf2 acc :mask #b1000) + (.isqrt.vf Q vf0 vf2 :fsf #b11 :ftf #b11) + (.wait.vf) + (.mul.vf vf2 vf1 Q) + (.nop.vf) + (.nop.vf) + (.svf (&-> arg0 vec quad) vf2) + arg0 + ) ) ;; definition for function quaternion-inverse! @@ -292,23 +262,23 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg1 vec quad)) - (.mul.vf vf2 vf1 vf1) - (.sub.vf vf3 vf3 vf3) - (.add.z.vf acc vf2 vf2 :mask #b1000) - (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) - (.add.mul.x.vf vf2 vf0 vf2 acc :mask #b1000) - (.sub.vf vf3 vf3 vf1 :mask #b111) - (.div.vf Q vf0 vf2 :fsf #b11 :ftf #b11) - (.add.vf vf3 vf3 vf1 :mask #b1000) - (.wait.vf) - (.mul.vf vf3 vf3 Q) - (.nop.vf) - (.nop.vf) - (.svf (&-> arg0 vec quad) vf3) - arg0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg1 vec quad)) + (.mul.vf vf2 vf1 vf1) + (.sub.vf vf3 vf3 vf3) + (.add.z.vf acc vf2 vf2 :mask #b1000) + (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) + (.add.mul.x.vf vf2 vf0 vf2 acc :mask #b1000) + (.sub.vf vf3 vf3 vf1 :mask #b111) + (.div.vf Q vf0 vf2 :fsf #b11 :ftf #b11) + (.add.vf vf3 vf3 vf1 :mask #b1000) + (.wait.vf) + (.mul.vf vf3 vf3 Q) + (.nop.vf) + (.nop.vf) + (.svf (&-> arg0 vec quad) vf3) + arg0 + ) ) ;; definition for function quaternion-dot @@ -319,17 +289,17 @@ (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 vec quad)) - (.lvf vf2 (&-> arg1 vec quad)) - (.mul.vf vf1 vf1 vf2) - (.add.z.vf acc vf1 vf1 :mask #b1000) - (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) - (.add.mul.x.vf vf1 vf0 vf1 acc :mask #b1000) - (.add.w.vf vf1 vf0 vf1) - (.mov v0-0 vf1) - v0-0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 vec quad)) + (.lvf vf2 (&-> arg1 vec quad)) + (.mul.vf vf1 vf1 vf2) + (.add.z.vf acc vf1 vf1 :mask #b1000) + (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) + (.add.mul.x.vf vf1 vf0 vf1 acc :mask #b1000) + (.add.w.vf vf1 vf0 vf1) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function quaternion*! @@ -341,22 +311,22 @@ (vf3 :class vf) (vf4 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg1 vec quad)) - (.lvf vf2 (&-> arg2 vec quad)) - (.sub.vf vf4 vf0 vf0 :mask #b1000) - (.mul.vf vf3 vf1 vf2) - (.outer.product.vf vf4 vf1 vf2) - (.mul.w.vf acc vf1 vf2) - (.add.mul.w.vf acc vf2 vf1 acc) - (.sub.mul.w.vf acc vf0 vf3 acc :mask #b1000) - (.sub.mul.z.vf acc vf0 vf3 acc :mask #b1000) - (.sub.mul.y.vf acc vf0 vf3 acc :mask #b1000) - (.sub.mul.x.vf acc vf0 vf3 acc :mask #b1000) - (.add.mul.w.vf vf1 vf4 vf0 acc) - (.svf (&-> arg0 vec quad) vf1) - arg0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg1 vec quad)) + (.lvf vf2 (&-> arg2 vec quad)) + (.sub.vf vf4 vf0 vf0 :mask #b1000) + (.mul.vf vf3 vf1 vf2) + (.outer.product.vf vf4 vf1 vf2) + (.mul.w.vf acc vf1 vf2) + (.add.mul.w.vf acc vf2 vf1 acc) + (.sub.mul.w.vf acc vf0 vf3 acc :mask #b1000) + (.sub.mul.z.vf acc vf0 vf3 acc :mask #b1000) + (.sub.mul.y.vf acc vf0 vf3 acc :mask #b1000) + (.sub.mul.x.vf acc vf0 vf3 acc :mask #b1000) + (.add.mul.w.vf vf1 vf4 vf0 acc) + (.svf (&-> arg0 vec quad) vf1) + arg0 + ) ) ;; definition for function quaternion-right-mult-matrix! @@ -366,23 +336,23 @@ (f1-0 (-> arg1 z)) (f0-0 (-> arg1 w)) ) - (set! (-> arg0 vector 0 x) f0-0) - (set! (-> arg0 vector 0 y) f1-0) - (set! (-> arg0 vector 0 z) (- f2-0)) - (set! (-> arg0 vector 0 w) f3-0) - (set! (-> arg0 vector 1 x) (- f1-0)) - (set! (-> arg0 vector 1 y) f0-0) - (set! (-> arg0 vector 1 z) f3-0) - (set! (-> arg0 vector 1 w) f2-0) - (set! (-> arg0 vector 2 x) f2-0) - (set! (-> arg0 vector 2 y) (- f3-0)) - (set! (-> arg0 vector 2 z) f0-0) - (set! (-> arg0 vector 2 w) f1-0) - (set! (-> arg0 vector 3 x) (- f3-0)) - (set! (-> arg0 vector 3 y) (- f2-0)) - (set! (-> arg0 vector 3 z) (- f1-0)) - (set! (-> arg0 vector 3 w) f0-0) - ) + (set! (-> arg0 vector 0 x) f0-0) + (set! (-> arg0 vector 0 y) f1-0) + (set! (-> arg0 vector 0 z) (- f2-0)) + (set! (-> arg0 vector 0 w) f3-0) + (set! (-> arg0 vector 1 x) (- f1-0)) + (set! (-> arg0 vector 1 y) f0-0) + (set! (-> arg0 vector 1 z) f3-0) + (set! (-> arg0 vector 1 w) f2-0) + (set! (-> arg0 vector 2 x) f2-0) + (set! (-> arg0 vector 2 y) (- f3-0)) + (set! (-> arg0 vector 2 z) f0-0) + (set! (-> arg0 vector 2 w) f1-0) + (set! (-> arg0 vector 3 x) (- f3-0)) + (set! (-> arg0 vector 3 y) (- f2-0)) + (set! (-> arg0 vector 3 z) (- f1-0)) + (set! (-> arg0 vector 3 w) f0-0) + ) arg0 ) @@ -392,25 +362,25 @@ (f1-0 (-> arg1 y)) (f0-0 (-> arg1 z)) ) - (let ((f3-0 (-> arg1 w))) - (set! (-> arg0 vector 0 x) f2-0) - (set! (-> arg0 vector 0 y) f3-0) - (set! (-> arg0 vector 0 z) (- f0-0)) - (set! (-> arg0 vector 0 w) f1-0) - (set! (-> arg0 vector 1 x) f1-0) - (set! (-> arg0 vector 1 y) f0-0) - (set! (-> arg0 vector 1 z) f3-0) - (set! (-> arg0 vector 1 w) (- f3-0)) - (set! (-> arg0 vector 2 x) f0-0) - (set! (-> arg0 vector 2 y) (- f1-0)) - (set! (-> arg0 vector 2 z) f2-0) - (set! (-> arg0 vector 2 w) f3-0) - (set! (-> arg0 vector 3 x) f3-0) + (let ((f3-0 (-> arg1 w))) + (set! (-> arg0 vector 0 x) f2-0) + (set! (-> arg0 vector 0 y) f3-0) + (set! (-> arg0 vector 0 z) (- f0-0)) + (set! (-> arg0 vector 0 w) f1-0) + (set! (-> arg0 vector 1 x) f1-0) + (set! (-> arg0 vector 1 y) f0-0) + (set! (-> arg0 vector 1 z) f3-0) + (set! (-> arg0 vector 1 w) (- f3-0)) + (set! (-> arg0 vector 2 x) f0-0) + (set! (-> arg0 vector 2 y) (- f1-0)) + (set! (-> arg0 vector 2 z) f2-0) + (set! (-> arg0 vector 2 w) f3-0) + (set! (-> arg0 vector 3 x) f3-0) + ) + (set! (-> arg0 vector 3 y) (- f2-0)) + (set! (-> arg0 vector 3 z) (- f1-0)) + (set! (-> arg0 vector 3 w) (- f0-0)) ) - (set! (-> arg0 vector 3 y) (- f2-0)) - (set! (-> arg0 vector 3 z) (- f1-0)) - (set! (-> arg0 vector 3 w) (- f0-0)) - ) arg0 ) @@ -424,174 +394,106 @@ (vf4 :class vf) (vf5 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg1 vec quad)) - (.add.vf vf5 vf1 vf1) - (.add.w.vf vf2 vf0 vf1 :mask #b1) - (.add.z.vf vf2 vf0 vf1 :mask #b10) - (.sub.y.vf vf2 vf0 vf1 :mask #b100) - (.sub.w.vf vf2 vf0 vf0 :mask #b1000) - (.sub.z.vf vf3 vf0 vf1 :mask #b1) - (.add.w.vf vf3 vf0 vf1 :mask #b10) - (.add.x.vf vf3 vf0 vf1 :mask #b100) - (.sub.w.vf vf3 vf0 vf0 :mask #b1000) - (.add.y.vf vf4 vf0 vf1 :mask #b1) - (.sub.x.vf vf4 vf0 vf1 :mask #b10) - (.add.w.vf vf4 vf0 vf1 :mask #b100) - (.sub.w.vf vf4 vf0 vf0 :mask #b1000) - (.outer.product.vf vf2 vf5 vf2) - (.outer.product.vf vf3 vf5 vf3) - (.outer.product.vf vf4 vf5 vf4) - (.add.w.vf vf2 vf2 vf0 :mask #b1) - (.add.w.vf vf3 vf3 vf0 :mask #b10) - (.add.w.vf vf4 vf4 vf0 :mask #b100) - (.svf (&-> arg0 vector 3 quad) vf0) - (.svf (&-> arg0 vector 0 quad) vf2) - (.svf (&-> arg0 vector 1 quad) vf3) - (.svf (&-> arg0 vector 2 quad) vf4) - arg0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg1 vec quad)) + (.add.vf vf5 vf1 vf1) + (.add.w.vf vf2 vf0 vf1 :mask #b1) + (.add.z.vf vf2 vf0 vf1 :mask #b10) + (.sub.y.vf vf2 vf0 vf1 :mask #b100) + (.sub.w.vf vf2 vf0 vf0 :mask #b1000) + (.sub.z.vf vf3 vf0 vf1 :mask #b1) + (.add.w.vf vf3 vf0 vf1 :mask #b10) + (.add.x.vf vf3 vf0 vf1 :mask #b100) + (.sub.w.vf vf3 vf0 vf0 :mask #b1000) + (.add.y.vf vf4 vf0 vf1 :mask #b1) + (.sub.x.vf vf4 vf0 vf1 :mask #b10) + (.add.w.vf vf4 vf0 vf1 :mask #b100) + (.sub.w.vf vf4 vf0 vf0 :mask #b1000) + (.outer.product.vf vf2 vf5 vf2) + (.outer.product.vf vf3 vf5 vf3) + (.outer.product.vf vf4 vf5 vf4) + (.add.w.vf vf2 vf2 vf0 :mask #b1) + (.add.w.vf vf3 vf3 vf0 :mask #b10) + (.add.w.vf vf4 vf4 vf0 :mask #b100) + (.svf (&-> arg0 vector 3 quad) vf0) + (.svf (&-> arg0 vector 0 quad) vf2) + (.svf (&-> arg0 vector 1 quad) vf3) + (.svf (&-> arg0 vector 2 quad) vf4) + arg0 + ) ) ;; definition for function matrix->quaternion (defun matrix->quaternion ((arg0 quaternion) (arg1 matrix)) - (let - ((f0-2 (+ (-> arg1 vector 0 x) (-> arg1 vector 1 y) (-> arg1 vector 2 z)))) - (cond - ((< 0.0 f0-2) - (let ((f0-4 (sqrtf (+ 1.0 f0-2)))) - (set! (-> arg0 w) (* 0.5 f0-4)) - (let ((f0-5 (/ 0.5 f0-4))) - (set! (-> arg0 x) (* f0-5 (- (-> arg1 vector 1 z) (-> arg1 vector 2 y)))) - (set! (-> arg0 y) (* f0-5 (- (-> arg1 vector 2 x) (-> arg1 vector 0 z)))) - (set! (-> arg0 z) (* f0-5 (- (-> arg1 vector 0 y) (-> arg1 vector 1 x)))) - ) - ) - ) - (else - (let ((a2-0 0) - (a3-0 1) - (v1-1 2) + (let ((f0-2 (+ (-> arg1 vector 0 x) (-> arg1 vector 1 y) (-> arg1 vector 2 z)))) + (cond + ((< 0.0 f0-2) + (let ((f0-4 (sqrtf (+ 1.0 f0-2)))) + (set! (-> arg0 w) (* 0.5 f0-4)) + (let ((f0-5 (/ 0.5 f0-4))) + (set! (-> arg0 x) (* f0-5 (- (-> arg1 vector 1 z) (-> arg1 vector 2 y)))) + (set! (-> arg0 y) (* f0-5 (- (-> arg1 vector 2 x) (-> arg1 vector 0 z)))) + (set! (-> arg0 z) (* f0-5 (- (-> arg1 vector 0 y) (-> arg1 vector 1 x)))) ) - (when (< (-> arg1 vector 0 x) (-> arg1 vector 1 y)) - (set! a2-0 1) - (set! a3-0 2) - (set! v1-1 0) - ) - (when - (< - (-> - (the-as - (pointer float) - (+ (+ (* a2-0 4) (* a2-0 16)) (the-as int arg1)) - ) ) - (-> arg1 vector 2 z) - ) - (set! a2-0 2) - (set! a3-0 0) - (set! v1-1 1) ) - (let - ((f0-12 - (sqrtf - (+ - (- - 1.0 - (+ - (-> - (the-as - (pointer float) - (+ (+ (* a3-0 4) (* a3-0 16)) (the-as int arg1)) - ) + (else + (let ((a2-0 0) + (a3-0 1) + (v1-1 2) ) - (-> - (the-as - (pointer float) - (+ (+ (* v1-1 4) (* v1-1 16)) (the-as int arg1)) - ) - ) - ) + (when (< (-> arg1 vector 0 x) (-> arg1 vector 1 y)) + (set! a2-0 1) + (set! a3-0 2) + (set! v1-1 0) ) - (-> - (the-as - (pointer float) - (+ (+ (* a2-0 4) (* a2-0 16)) (the-as int arg1)) - ) + (when (< (-> (the-as (pointer float) (+ (+ (* a2-0 4) (* a2-0 16)) (the-as int arg1)))) (-> arg1 vector 2 z)) + (set! a2-0 2) + (set! a3-0 0) + (set! v1-1 1) + ) + (let ((f0-12 + (sqrtf + (+ (- 1.0 + (+ (-> (the-as (pointer float) (+ (+ (* a3-0 4) (* a3-0 16)) (the-as int arg1)))) + (-> (the-as (pointer float) (+ (+ (* v1-1 4) (* v1-1 16)) (the-as int arg1)))) + ) + ) + (-> (the-as (pointer float) (+ (+ (* a2-0 4) (* a2-0 16)) (the-as int arg1)))) + ) + ) + ) + ) + (set! (-> arg0 data a2-0) (* 0.5 f0-12)) + (if (!= f0-12 0.0) + (set! f0-12 (/ 0.5 f0-12)) + ) + (set! (-> arg0 w) + (* (- (-> (the-as (pointer float) (+ (+ (* v1-1 4) (* a3-0 16)) (the-as int arg1)))) + (-> (the-as (pointer float) (+ (+ (* a3-0 4) (* v1-1 16)) (the-as int arg1)))) + ) + f0-12 + ) + ) + (set! (-> arg0 data a3-0) + (* (+ (-> (the-as (pointer float) (+ (+ (* a3-0 4) (* a2-0 16)) (the-as int arg1)))) + (-> (the-as (pointer float) (+ (+ (* a2-0 4) (* a3-0 16)) (the-as int arg1)))) + ) + f0-12 + ) + ) + (set! (-> arg0 data v1-1) + (* (+ (-> (the-as (pointer float) (+ (+ (* v1-1 4) (* a2-0 16)) (the-as int arg1)))) + (-> (the-as (pointer float) (+ (+ (* a2-0 4) (* v1-1 16)) (the-as int arg1)))) + ) + f0-12 + ) + ) ) - ) ) - ) ) - (set! (-> arg0 data a2-0) (* 0.5 f0-12)) - (if (!= f0-12 0.0) - (set! f0-12 (/ 0.5 f0-12)) - ) - (set! - (-> arg0 w) - (* - (- - (-> - (the-as - (pointer float) - (+ (+ (* v1-1 4) (* a3-0 16)) (the-as int arg1)) - ) - ) - (-> - (the-as - (pointer float) - (+ (+ (* a3-0 4) (* v1-1 16)) (the-as int arg1)) - ) - ) - ) - f0-12 - ) - ) - (set! - (-> arg0 data a3-0) - (* - (+ - (-> - (the-as - (pointer float) - (+ (+ (* a3-0 4) (* a2-0 16)) (the-as int arg1)) - ) - ) - (-> - (the-as - (pointer float) - (+ (+ (* a2-0 4) (* a3-0 16)) (the-as int arg1)) - ) - ) - ) - f0-12 - ) - ) - (set! - (-> arg0 data v1-1) - (* - (+ - (-> - (the-as - (pointer float) - (+ (+ (* v1-1 4) (* a2-0 16)) (the-as int arg1)) - ) - ) - (-> - (the-as - (pointer float) - (+ (+ (* a2-0 4) (* v1-1 16)) (the-as int arg1)) - ) - ) - ) - f0-12 - ) - ) - ) ) - ) ) - ) arg0 ) @@ -607,45 +509,39 @@ (vf6 :class vf) (vf7 :class vf) ) - (let ((v1-0 (new-stack-matrix0))) - (let* - ((f0-1 - (vector-dot - (the-as vector (-> arg1 vector)) - (the-as vector (-> arg1 vector)) + (let ((v1-0 (new-stack-matrix0))) + (let* ((f0-1 (vector-dot (the-as vector (-> arg1 vector)) (the-as vector (-> arg1 vector)))) + (f1-1 (vector-dot (-> arg1 vector 1) (-> arg1 vector 1))) + (f2-1 (vector-dot (-> arg1 vector 2) (-> arg1 vector 2))) + (f0-3 (/ 1.0 (sqrtf f0-1))) + (f1-3 (/ 1.0 (sqrtf f1-1))) + (f2-3 (/ 1.0 (sqrtf f2-1))) + ) + (.lvf vf1 (&-> arg1 vector 0 quad)) + (.lvf vf2 (&-> arg1 vector 1 quad)) + (.lvf vf3 (&-> arg1 vector 2 quad)) + (.lvf vf4 (&-> arg1 vector 3 quad)) + (let ((a1-1 f0-3)) + (.mov vf5 a1-1) + ) + (let ((a1-2 f1-3)) + (.mov vf6 a1-2) + ) + (let ((a1-3 f2-3)) + (.mov vf7 a1-3) + ) ) - ) - (f1-1 (vector-dot (-> arg1 vector 1) (-> arg1 vector 1))) - (f2-1 (vector-dot (-> arg1 vector 2) (-> arg1 vector 2))) - (f0-3 (/ 1.0 (sqrtf f0-1))) - (f1-3 (/ 1.0 (sqrtf f1-1))) - (f2-3 (/ 1.0 (sqrtf f2-1))) + (.mul.x.vf vf1 vf1 vf5) + (.mul.x.vf vf2 vf2 vf6) + (.mul.x.vf vf3 vf3 vf7) + (.svf (&-> v1-0 vector 0 quad) vf1) + (.svf (&-> v1-0 vector 1 quad) vf2) + (.svf (&-> v1-0 vector 2 quad) vf3) + (.svf (&-> v1-0 vector 3 quad) vf4) + (.mov a1-4 vf4) + (matrix->quaternion arg0 v1-0) ) - (.lvf vf1 (&-> arg1 vector 0 quad)) - (.lvf vf2 (&-> arg1 vector 1 quad)) - (.lvf vf3 (&-> arg1 vector 2 quad)) - (.lvf vf4 (&-> arg1 vector 3 quad)) - (let ((a1-1 f0-3)) - (.mov vf5 a1-1) - ) - (let ((a1-2 f1-3)) - (.mov vf6 a1-2) - ) - (let ((a1-3 f2-3)) - (.mov vf7 a1-3) - ) - ) - (.mul.x.vf vf1 vf1 vf5) - (.mul.x.vf vf2 vf2 vf6) - (.mul.x.vf vf3 vf3 vf7) - (.svf (&-> v1-0 vector 0 quad) vf1) - (.svf (&-> v1-0 vector 1 quad) vf2) - (.svf (&-> v1-0 vector 2 quad) vf3) - (.svf (&-> v1-0 vector 3 quad) vf4) - (.mov a1-4 vf4) - (matrix->quaternion arg0 v1-0) ) - ) ) ;; definition for function quaternion-vector-len @@ -653,61 +549,59 @@ (let ((f0-0 1.0) (f1-0 (-> arg0 w)) ) - (sqrtf (- f0-0 (* f1-0 f1-0))) - ) + (sqrtf (- f0-0 (* f1-0 f1-0))) + ) ) ;; definition for function quaternion-log! (defun quaternion-log! ((arg0 quaternion) (arg1 quaternion)) (cond - ((= (-> arg1 w) 0.0) - (set! (-> arg0 x) (* 1.5707963 (-> arg1 x))) - (set! (-> arg0 y) (* 1.5707963 (-> arg1 y))) - (set! (-> arg0 z) (* 1.5707963 (-> arg1 z))) - ) - (else - (let* ((f30-0 (quaternion-vector-len arg1)) - (f0-9 (/ (atan2-rad (-> arg1 w) f30-0) f30-0)) - ) - (set! (-> arg0 x) (* (-> arg1 x) f0-9)) - (set! (-> arg0 y) (* (-> arg1 y) f0-9)) - (set! (-> arg0 z) (* (-> arg1 z) f0-9)) + ((= (-> arg1 w) 0.0) + (set! (-> arg0 x) (* 1.5707963 (-> arg1 x))) + (set! (-> arg0 y) (* 1.5707963 (-> arg1 y))) + (set! (-> arg0 z) (* 1.5707963 (-> arg1 z))) ) + (else + (let* ((f30-0 (quaternion-vector-len arg1)) + (f0-9 (/ (atan2-rad (-> arg1 w) f30-0) f30-0)) + ) + (set! (-> arg0 x) (* (-> arg1 x) f0-9)) + (set! (-> arg0 y) (* (-> arg1 y) f0-9)) + (set! (-> arg0 z) (* (-> arg1 z) f0-9)) + ) + ) ) - ) arg0 ) ;; definition for function quaternion-exp! (defun quaternion-exp! ((arg0 quaternion) (arg1 quaternion)) (let ((f30-0 (vector-length (the-as vector arg1)))) - (cond - ((= f30-0 0.0) - (set! (-> arg0 x) 0.0) - (set! (-> arg0 y) 0.0) - (set! (-> arg0 z) 0.0) - (set! (-> arg0 w) 1.0) - ) - (else - (let ((s5-0 (new 'stack-no-clear 'vector))) - (sincos-rad! (the-as (pointer float) s5-0) f30-0) - (let ((f0-6 (/ (-> s5-0 x) f30-0))) - (set! (-> arg0 x) (* (-> arg1 x) f0-6)) - (set! (-> arg0 y) (* (-> arg1 y) f0-6)) - (set! (-> arg0 z) (* (-> arg1 z) f0-6)) + (cond + ((= f30-0 0.0) + (set! (-> arg0 x) 0.0) + (set! (-> arg0 y) 0.0) + (set! (-> arg0 z) 0.0) + (set! (-> arg0 w) 1.0) ) - (set! (-> arg0 w) (-> s5-0 y)) + (else + (let ((s5-0 (new 'stack-no-clear 'vector))) + (sincos-rad! (the-as (pointer float) s5-0) f30-0) + (let ((f0-6 (/ (-> s5-0 x) f30-0))) + (set! (-> arg0 x) (* (-> arg1 x) f0-6)) + (set! (-> arg0 y) (* (-> arg1 y) f0-6)) + (set! (-> arg0 z) (* (-> arg1 z) f0-6)) + ) + (set! (-> arg0 w) (-> s5-0 y)) + ) + ) ) - ) ) - ) arg0 ) ;; definition for function quaternion-slerp! -(defun - quaternion-slerp! - ((arg0 quaternion) (arg1 quaternion) (arg2 quaternion) (arg3 float)) +(defun quaternion-slerp! ((arg0 quaternion) (arg1 quaternion) (arg2 quaternion) (arg3 float)) (local-vars (v1-7 float)) (rlet ((acc :class vf) (vf1 :class vf) @@ -715,93 +609,91 @@ (vf3 :class vf) (vf4 :class vf) ) - (let ((f0-0 (quaternion-dot arg1 arg2)) - (f30-0 1.0) + (let ((f0-0 (quaternion-dot arg1 arg2)) + (f30-0 1.0) + ) + (when (< f0-0 0.0) + (set! f0-0 (- f0-0)) + (set! f30-0 -1.0) + ) + (cond + ((< (- 1.0 f0-0) 0.0001) + (let ((v1-2 (- 1.0 arg3))) + (.mov vf1 v1-2) + ) + (let ((v1-3 (* arg3 f30-0))) + (.mov vf2 v1-3) + ) + (.lvf vf3 (&-> arg1 vec quad)) + (.lvf vf4 (&-> arg2 vec quad)) + (.mul.x.vf acc vf3 vf1) + (.add.mul.x.vf vf3 vf4 vf2 acc) + (.svf (&-> arg0 vec quad) vf3) + (quaternion-normalize! arg0) ) - (when (< f0-0 0.0) - (set! f0-0 (- f0-0)) - (set! f30-0 -1.0) - ) - (cond - ((< (- 1.0 f0-0) 0.0001) - (let ((v1-2 (- 1.0 arg3))) - (.mov vf1 v1-2) - ) - (let ((v1-3 (* arg3 f30-0))) - (.mov vf2 v1-3) - ) - (.lvf vf3 (&-> arg1 vec quad)) - (.lvf vf4 (&-> arg2 vec quad)) - (.mul.x.vf acc vf3 vf1) - (.add.mul.x.vf vf3 vf4 vf2 acc) - (.svf (&-> arg0 vec quad) vf3) - (quaternion-normalize! arg0) - ) - (else - (let* ((f1-4 1.0) - (f2-1 f0-0) - (f1-6 (sqrtf (- f1-4 (* f2-1 f2-1)))) - (f0-6 (/ (- f1-6 f0-0) (+ f1-6 f0-0))) - (f28-0 (/ 1.0 f1-6)) - ) - (let ((f0-7 (atan-series-rad f0-6)) - (s2-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> s2-0 x) (* (- 1.0 arg3) f0-7)) - (set! (-> s2-0 y) (* arg3 f0-7 f30-0)) - (vector-sin-rad! s2-0 s2-0) - (.lvf vf1 (&-> s2-0 quad)) + (else + (let* ((f1-4 1.0) + (f2-1 f0-0) + (f1-6 (sqrtf (- f1-4 (* f2-1 f2-1)))) + (f0-6 (/ (- f1-6 f0-0) (+ f1-6 f0-0))) + (f28-0 (/ 1.0 f1-6)) + ) + (let ((f0-7 (atan-series-rad f0-6)) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s2-0 x) (* (- 1.0 arg3) f0-7)) + (set! (-> s2-0 y) (* arg3 f0-7 f30-0)) + (vector-sin-rad! s2-0 s2-0) + (.lvf vf1 (&-> s2-0 quad)) + ) + (let ((v1-6 f28-0)) + (.mov vf2 v1-6) + ) + ) + (.mul.x.vf vf1 vf1 vf2) + (.lvf vf3 (&-> arg1 vec quad)) + (.lvf vf4 (&-> arg2 vec quad)) + (.mul.x.vf acc vf3 vf1) + (.add.mul.y.vf vf3 vf4 vf1 acc) + (.svf (&-> arg0 vec quad) vf3) + (.mov v1-7 vf3) + ) ) - (let ((v1-6 f28-0)) - (.mov vf2 v1-6) - ) - ) - (.mul.x.vf vf1 vf1 vf2) - (.lvf vf3 (&-> arg1 vec quad)) - (.lvf vf4 (&-> arg2 vec quad)) - (.mul.x.vf acc vf3 vf1) - (.add.mul.y.vf vf3 vf4 vf1 acc) - (.svf (&-> arg0 vec quad) vf3) - (.mov v1-7 vf3) ) - ) + arg0 ) - arg0 - ) ) ;; definition for function quaternion-pseudo-slerp! -(defun - quaternion-pseudo-slerp! - ((arg0 quaternion) (arg1 quaternion) (arg2 quaternion) (arg3 float)) +(defun quaternion-pseudo-slerp! ((arg0 quaternion) (arg1 quaternion) (arg2 quaternion) (arg3 float)) (rlet ((acc :class vf) (vf1 :class vf) (vf2 :class vf) (vf3 :class vf) (vf4 :class vf) ) - (let ((f1-0 (quaternion-dot arg1 arg2)) - (f0-0 1.0) - ) - (when (< f1-0 0.0) - (- f1-0) - (set! f0-0 -1.0) - ) - (let ((v1-2 (- 1.0 arg3))) - (.mov vf1 v1-2) - ) - (let ((v1-3 (* arg3 f0-0))) - (.mov vf2 v1-3) - ) + (let ((f1-0 (quaternion-dot arg1 arg2)) + (f0-0 1.0) + ) + (when (< f1-0 0.0) + (- f1-0) + (set! f0-0 -1.0) + ) + (let ((v1-2 (- 1.0 arg3))) + (.mov vf1 v1-2) + ) + (let ((v1-3 (* arg3 f0-0))) + (.mov vf2 v1-3) + ) + ) + (.lvf vf3 (&-> arg1 vec quad)) + (.lvf vf4 (&-> arg2 vec quad)) + (.mul.x.vf acc vf3 vf1) + (.add.mul.x.vf vf3 vf4 vf2 acc) + (.svf (&-> arg0 vec quad) vf3) + (quaternion-normalize! arg0) + arg0 ) - (.lvf vf3 (&-> arg1 vec quad)) - (.lvf vf4 (&-> arg2 vec quad)) - (.mul.x.vf acc vf3 vf1) - (.add.mul.x.vf vf3 vf4 vf2 acc) - (.svf (&-> arg0 vec quad) vf3) - (quaternion-normalize! arg0) - arg0 - ) ) ;; definition for function quaternion-zxy! @@ -816,39 +708,39 @@ (vf6 :class vf) (vf7 :class vf) ) - (init-vf0-vector) - (let ((s4-0 (new 'stack-no-clear 'vector)) - (gp-0 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'vector)) - ) - (vector-rad<-vector-deg/2! s4-0 arg1) - (vector-sincos-rad! gp-0 s5-0 s4-0) - (.lvf vf1 (&-> gp-0 quad)) - (.lvf vf2 (&-> s5-0 quad)) + (init-vf0-vector) + (let ((s4-0 (new 'stack-no-clear 'vector)) + (gp-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'vector)) + ) + (vector-rad<-vector-deg/2! s4-0 arg1) + (vector-sincos-rad! gp-0 s5-0 s4-0) + (.lvf vf1 (&-> gp-0 quad)) + (.lvf vf2 (&-> s5-0 quad)) + ) + (.mul.x.vf vf4 vf0 vf1 :mask #b1000) + (.add.vf vf4 vf0 vf2 :mask #b111) + (.sub.vf vf4 vf0 vf4 :mask #b110) + (.add.vf vf3 vf0 vf1 :mask #b111) + (.mul.x.vf vf3 vf0 vf2 :mask #b1000) + (.outer.product.vf vf6 vf0 vf0) + (.outer.product.vf vf5 vf0 vf0) + (.mul.x.vf vf6 vf0 vf6 :mask #b1000) + (.mul.x.vf vf5 vf0 vf5 :mask #b1000) + (.mul.vf acc vf6 vf4) + (.add.mul.vf vf7 vf5 vf3 acc) + (.svf (&-> arg0 vec quad) vf7) + arg0 ) - (.mul.x.vf vf4 vf0 vf1 :mask #b1000) - (.add.vf vf4 vf0 vf2 :mask #b111) - (.sub.vf vf4 vf0 vf4 :mask #b110) - (.add.vf vf3 vf0 vf1 :mask #b111) - (.mul.x.vf vf3 vf0 vf2 :mask #b1000) - (.outer.product.vf vf6 vf0 vf0) - (.outer.product.vf vf5 vf0 vf0) - (.mul.x.vf vf6 vf0 vf6 :mask #b1000) - (.mul.x.vf vf5 vf0 vf5 :mask #b1000) - (.mul.vf acc vf6 vf4) - (.add.mul.vf vf7 vf5 vf3 acc) - (.svf (&-> arg0 vec quad) vf7) - arg0 - ) ) ;; definition for function vector-x-quaternion! ;; Used lq/sq (defun vector-x-quaternion! ((arg0 vector) (arg1 quaternion)) (let ((s5-0 (new-stack-matrix0))) - (quaternion->matrix s5-0 arg1) - (set! (-> arg0 quad) (-> (the-as (pointer uint128) (-> s5-0 vector)) 0)) - ) + (quaternion->matrix s5-0 arg1) + (set! (-> arg0 quad) (-> (the-as (pointer uint128) (-> s5-0 vector)) 0)) + ) arg0 ) @@ -856,9 +748,9 @@ ;; Used lq/sq (defun vector-y-quaternion! ((arg0 vector) (arg1 quaternion)) (let ((s5-0 (new-stack-matrix0))) - (quaternion->matrix s5-0 arg1) - (set! (-> arg0 quad) (-> (the-as (pointer uint128) (-> s5-0 vector 1)) 0)) - ) + (quaternion->matrix s5-0 arg1) + (set! (-> arg0 quad) (-> (the-as (pointer uint128) (-> s5-0 vector 1)) 0)) + ) arg0 ) @@ -866,17 +758,17 @@ ;; Used lq/sq (defun vector-z-quaternion! ((arg0 vector) (arg1 quaternion)) (let ((s5-0 (new-stack-matrix0))) - (quaternion->matrix s5-0 arg1) - (set! (-> arg0 quad) (-> (the-as (pointer uint128) (-> s5-0 vector 2)) 0)) - ) + (quaternion->matrix s5-0 arg1) + (set! (-> arg0 quad) (-> (the-as (pointer uint128) (-> s5-0 vector 2)) 0)) + ) arg0 ) ;; definition for function quaternion-y-angle (defun quaternion-y-angle ((arg0 quaternion)) (let ((v1-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) arg0))) - (atan (-> v1-1 x) (-> v1-1 z)) - ) + (atan (-> v1-1 x) (-> v1-1 z)) + ) ) ;; definition for function quaternion-vector-y-angle @@ -884,165 +776,100 @@ (let ((f30-0 (quaternion-y-angle arg0)) (f0-2 (atan (-> arg1 x) (-> arg1 z))) ) - (deg-diff f30-0 f0-2) - ) + (deg-diff f30-0 f0-2) + ) ) ;; definition for function quaternion-rotate-local-x! ;; Used lq/sq -(defun - quaternion-rotate-local-x! - ((arg0 quaternion) (arg1 quaternion) (arg2 float)) - (let - ((a2-1 - (quaternion-vector-angle! - (new-stack-quaternion0) - (new 'static 'vector :x 1.0 :w 1.0) - arg2 - ) - ) +(defun quaternion-rotate-local-x! ((arg0 quaternion) (arg1 quaternion) (arg2 float)) + (let ((a2-1 (quaternion-vector-angle! (new-stack-quaternion0) (new 'static 'vector :x 1.0 :w 1.0) arg2))) + (quaternion-normalize! (quaternion*! arg0 arg1 a2-1)) ) - (quaternion-normalize! (quaternion*! arg0 arg1 a2-1)) - ) ) ;; definition for function quaternion-rotate-local-y! ;; Used lq/sq -(defun - quaternion-rotate-local-y! - ((arg0 quaternion) (arg1 quaternion) (arg2 float)) - (let - ((a2-1 - (quaternion-vector-angle! - (new-stack-quaternion0) - (new 'static 'vector :y 1.0 :w 1.0) - arg2 - ) - ) +(defun quaternion-rotate-local-y! ((arg0 quaternion) (arg1 quaternion) (arg2 float)) + (let ((a2-1 (quaternion-vector-angle! (new-stack-quaternion0) (new 'static 'vector :y 1.0 :w 1.0) arg2))) + (quaternion-normalize! (quaternion*! arg0 arg1 a2-1)) ) - (quaternion-normalize! (quaternion*! arg0 arg1 a2-1)) - ) ) ;; definition for function quaternion-rotate-local-z! ;; Used lq/sq -(defun - quaternion-rotate-local-z! - ((arg0 quaternion) (arg1 quaternion) (arg2 float)) - (let - ((a2-1 - (quaternion-vector-angle! - (new-stack-quaternion0) - (new 'static 'vector :z 1.0 :w 1.0) - arg2 - ) - ) +(defun quaternion-rotate-local-z! ((arg0 quaternion) (arg1 quaternion) (arg2 float)) + (let ((a2-1 (quaternion-vector-angle! (new-stack-quaternion0) (new 'static 'vector :z 1.0 :w 1.0) arg2))) + (quaternion-normalize! (quaternion*! arg0 arg1 a2-1)) ) - (quaternion-normalize! (quaternion*! arg0 arg1 a2-1)) - ) ) ;; definition for function quaternion-rotate-y! ;; Used lq/sq (defun quaternion-rotate-y! ((arg0 quaternion) (arg1 quaternion) (arg2 float)) - (let - ((a1-2 - (quaternion-vector-angle! - (new-stack-quaternion0) - (new 'static 'vector :y 1.0 :w 1.0) - arg2 - ) - ) + (let ((a1-2 (quaternion-vector-angle! (new-stack-quaternion0) (new 'static 'vector :y 1.0 :w 1.0) arg2))) + (quaternion-normalize! (quaternion*! arg0 a1-2 arg1)) ) - (quaternion-normalize! (quaternion*! arg0 a1-2 arg1)) - ) ) ;; definition for function quaternion-rotate-x! ;; Used lq/sq (defun quaternion-rotate-x! ((arg0 quaternion) (arg1 quaternion) (arg2 float)) - (let - ((a1-3 - (quaternion-vector-angle! - (new-stack-quaternion0) - (vector-x-quaternion! (new-stack-vector0) arg1) - arg2 - ) - ) + (let ((a1-3 (quaternion-vector-angle! (new-stack-quaternion0) (vector-x-quaternion! (new-stack-vector0) arg1) arg2)) + ) + (quaternion-normalize! (quaternion*! arg0 a1-3 arg1)) ) - (quaternion-normalize! (quaternion*! arg0 a1-3 arg1)) - ) ) ;; definition for function quaternion-rotate-z! ;; Used lq/sq (defun quaternion-rotate-z! ((arg0 quaternion) (arg1 quaternion) (arg2 float)) - (let - ((a1-3 - (quaternion-vector-angle! - (new-stack-quaternion0) - (vector-z-quaternion! (new-stack-vector0) arg1) - arg2 - ) - ) + (let ((a1-3 (quaternion-vector-angle! (new-stack-quaternion0) (vector-z-quaternion! (new-stack-vector0) arg1) arg2)) + ) + (quaternion-normalize! (quaternion*! arg0 a1-3 arg1)) ) - (quaternion-normalize! (quaternion*! arg0 a1-3 arg1)) - ) ) ;; definition for function quaternion-delta-y (defun quaternion-delta-y ((arg0 quaternion) (arg1 quaternion)) - (acos - (vector-dot - (vector-z-quaternion! (new 'stack-no-clear 'vector) arg0) - (vector-z-quaternion! (new 'stack-no-clear 'vector) arg1) - ) - ) + (acos (vector-dot + (vector-z-quaternion! (new 'stack-no-clear 'vector) arg0) + (vector-z-quaternion! (new 'stack-no-clear 'vector) arg1) + ) + ) ) ;; definition for function quaternion-rotate-y-to-vector! -(defun - quaternion-rotate-y-to-vector! - ((arg0 quaternion) (arg1 quaternion) (arg2 quaternion) (arg3 float)) +(defun quaternion-rotate-y-to-vector! ((arg0 quaternion) (arg1 quaternion) (arg2 quaternion) (arg3 float)) (let ((s5-0 (new 'stack-no-clear 'quaternion))) - (let ((t9-0 vector-xz-normalize!) - (a0-1 (new 'stack-no-clear 'vector)) - ) - (set! (-> a0-1 x) (-> arg2 x)) - (set! (-> a0-1 y) 0.0) - (set! (-> a0-1 z) (-> arg2 z)) - (set! (-> a0-1 w) 1.0) - (let ((s0-0 (t9-0 a0-1 1.0))) - (quaternion-from-two-vectors-max-angle! - s5-0 - (vector-z-quaternion! - (the-as vector (new 'stack-no-clear 'quaternion)) - arg1 - ) - s0-0 - arg3 + (let ((t9-0 vector-xz-normalize!) + (a0-1 (new 'stack-no-clear 'vector)) + ) + (set! (-> a0-1 x) (-> arg2 x)) + (set! (-> a0-1 y) 0.0) + (set! (-> a0-1 z) (-> arg2 z)) + (set! (-> a0-1 w) 1.0) + (let ((s0-0 (t9-0 a0-1 1.0))) + (quaternion-from-two-vectors-max-angle! + s5-0 + (vector-z-quaternion! (the-as vector (new 'stack-no-clear 'quaternion)) arg1) + s0-0 + arg3 + ) + ) ) - ) + (quaternion-normalize! (quaternion*! arg0 s5-0 arg1)) ) - (quaternion-normalize! (quaternion*! arg0 s5-0 arg1)) - ) ) ;; definition for function vector-rotate-y! (defun vector-rotate-y! ((arg0 vector) (arg1 vector) (arg2 float)) - (let - ((a1-2 - (quaternion-vector-angle! - (new 'stack-no-clear 'quaternion) - (new 'static 'vector :y 1.0 :w 1.0) - arg2 - ) - ) - (s4-0 (new 'stack-no-clear 'matrix)) + (let ((a1-2 (quaternion-vector-angle! (new 'stack-no-clear 'quaternion) (new 'static 'vector :y 1.0 :w 1.0) arg2)) + (s4-0 (new 'stack-no-clear 'matrix)) + ) + (quaternion->matrix s4-0 a1-2) + (vector-matrix*! arg0 arg1 s4-0) ) - (quaternion->matrix s4-0 a1-2) - (vector-matrix*! arg0 arg1 s4-0) - ) ) ;; definition for function vector-y-angle @@ -1057,29 +884,25 @@ ;; definition for function quaterion<-rotate-y-vector (defun quaterion<-rotate-y-vector ((arg0 quaternion) (arg1 vector)) - (quaternion-vector-angle! - arg0 - (new 'static 'vector :y 1.0 :w 1.0) - (vector-y-angle arg1) - ) + (quaternion-vector-angle! arg0 (new 'static 'vector :y 1.0 :w 1.0) (vector-y-angle arg1)) ) ;; definition (debug) for function quaternion-validate ;; INFO: Return type mismatch int vs none. (defun-debug quaternion-validate ((arg0 quaternion)) (with-pp - (let ((f0-0 (quaternion-norm arg0))) - (when (or (< 1.01 f0-0) (< f0-0 0.99)) - (format #t "WARNING: bad quaternion (magnitude ~F) process is " f0-0) - (if (and pp (type-type? (-> pp type) process-tree)) - (format #t "~A~%" (-> pp name)) - (format #t "#f~%") + (let ((f0-0 (quaternion-norm arg0))) + (when (or (< 1.01 f0-0) (< f0-0 0.99)) + (format #t "WARNING: bad quaternion (magnitude ~F) process is " f0-0) + (if (and pp (type-type? (-> pp type) process-tree)) + (format #t "~A~%" (-> pp name)) + (format #t "#f~%") + ) + ) ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function quaternion-xz-angle @@ -1087,9 +910,9 @@ (let ((gp-0 (new 'stack-no-clear 'matrix)) (s5-0 (new 'stack-no-clear 'vector)) ) - (quaternion->matrix gp-0 arg0) - (set-vector! s5-0 0.0 0.0 1.0 1.0) - (vector-matrix*! s5-0 s5-0 gp-0) - (vector-y-angle s5-0) - ) + (quaternion->matrix gp-0 arg0) + (set-vector! s5-0 0.0 0.0 1.0 1.0) + (vector-matrix*! s5-0 s5-0 gp-0) + (vector-y-angle s5-0) + ) ) diff --git a/test/decompiler/reference/engine/math/transform_REF.gc b/test/decompiler/reference/engine/math/transform_REF.gc index c93c957435..25a862ab24 100644 --- a/test/decompiler/reference/engine/math/transform_REF.gc +++ b/test/decompiler/reference/engine/math/transform_REF.gc @@ -4,45 +4,20 @@ ;; definition for method 2 of type transform (defmethod print transform ((obj transform)) (format #t "# obj trans x) - (-> obj trans y) - (-> obj trans z) - (-> obj trans w) - ) - (format - #t - "~T~Trot: ~F ~F ~F ~F ~%" - (-> obj rot x) - (-> obj rot y) - (-> obj rot z) - (-> obj rot w) - ) - (format - #t - "~T~Tscale:~F ~F ~F ~F>" - (-> obj scale x) - (-> obj scale y) - (-> obj scale z) - (-> obj scale w) - ) + (format #t "~T~Ttrans:~F ~F ~F ~F ~%" (-> obj trans x) (-> obj trans y) (-> obj trans z) (-> obj trans w)) + (format #t "~T~Trot: ~F ~F ~F ~F ~%" (-> obj rot x) (-> obj rot y) (-> obj rot z) (-> obj rot w)) + (format #t "~T~Tscale:~F ~F ~F ~F>" (-> obj scale x) (-> obj scale y) (-> obj scale z) (-> obj scale w)) obj ) ;; definition for method 0 of type trs (defmethod new trs ((allocation symbol) (type-to-make type)) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj trans w) 1.0) + (set! (-> obj rot w) 1.0) + (vector-identity! (-> obj scale)) + obj ) - (set! (-> obj trans w) 1.0) - (set! (-> obj rot w) 1.0) - (vector-identity! (-> obj scale)) - obj - ) ) ;; definition for function transform-matrix-calc! @@ -51,40 +26,38 @@ (let ((s4-0 (new-stack-matrix0)) (s3-0 (new-stack-matrix0)) ) - (matrix-identity! dst-mat) - (matrix-translate! dst-mat (-> tf trans)) - (matrix-rotate-y! s4-0 (-> tf rot y)) - (matrix*! s3-0 s4-0 dst-mat) - (matrix-rotate-x! s4-0 (-> tf rot x)) - (matrix*! dst-mat s4-0 s3-0) - (matrix-rotate-z! s4-0 (-> tf rot z)) - (matrix*! s3-0 s4-0 dst-mat) - (matrix-scale! s4-0 (-> tf scale)) - (matrix*! dst-mat s4-0 s3-0) - ) + (matrix-identity! dst-mat) + (matrix-translate! dst-mat (-> tf trans)) + (matrix-rotate-y! s4-0 (-> tf rot y)) + (matrix*! s3-0 s4-0 dst-mat) + (matrix-rotate-x! s4-0 (-> tf rot x)) + (matrix*! dst-mat s4-0 s3-0) + (matrix-rotate-z! s4-0 (-> tf rot z)) + (matrix*! s3-0 s4-0 dst-mat) + (matrix-scale! s4-0 (-> tf scale)) + (matrix*! dst-mat s4-0 s3-0) + ) ) ;; definition for function transform-matrix-parent-calc! ;; Used lq/sq -(defun - transform-matrix-parent-calc! - ((tf transform) (dst-mat matrix) (inv-scale vector)) +(defun transform-matrix-parent-calc! ((tf transform) (dst-mat matrix) (inv-scale vector)) (let ((s4-0 (new-stack-matrix0)) (s3-0 (new-stack-matrix0)) ) - (matrix-identity! s3-0) - (matrix-translate! s3-0 (-> tf trans)) - (matrix-inv-scale! s4-0 inv-scale) - (matrix*! dst-mat s4-0 s3-0) - (matrix-rotate-y! s4-0 (-> tf rot y)) - (matrix*! s3-0 s4-0 dst-mat) - (matrix-rotate-x! s4-0 (-> tf rot x)) - (matrix*! dst-mat s4-0 s3-0) - (matrix-rotate-z! s4-0 (-> tf rot z)) - (matrix*! s3-0 s4-0 dst-mat) - (matrix-scale! s4-0 (-> tf scale)) - (matrix*! dst-mat s4-0 s3-0) - ) + (matrix-identity! s3-0) + (matrix-translate! s3-0 (-> tf trans)) + (matrix-inv-scale! s4-0 inv-scale) + (matrix*! dst-mat s4-0 s3-0) + (matrix-rotate-y! s4-0 (-> tf rot y)) + (matrix*! s3-0 s4-0 dst-mat) + (matrix-rotate-x! s4-0 (-> tf rot x)) + (matrix*! dst-mat s4-0 s3-0) + (matrix-rotate-z! s4-0 (-> tf rot z)) + (matrix*! s3-0 s4-0 dst-mat) + (matrix-scale! s4-0 (-> tf scale)) + (matrix*! dst-mat s4-0 s3-0) + ) ) ;; definition for function trs-matrix-calc! diff --git a/test/decompiler/reference/engine/math/transformq-h_REF.gc b/test/decompiler/reference/engine/math/transformq-h_REF.gc index 176f1ececc..443a1995f0 100644 --- a/test/decompiler/reference/engine/math/transformq-h_REF.gc +++ b/test/decompiler/reference/engine/math/transformq-h_REF.gc @@ -83,11 +83,7 @@ (format #t "~Trot: ~`vector`P~%" (-> obj quat)) (format #t "~Tscale: ~`vector`P~%" (-> obj scale)) (format #t "~Tquat: #~%" (-> obj quat)) - (format - #t - "~Tpause-adjust-distance: (meters ~m)~%" - (-> obj pause-adjust-distance) - ) + (format #t "~Tpause-adjust-distance: (meters ~m)~%" (-> obj pause-adjust-distance)) (format #t "~Tnav-radius: (meters ~m)~%" (-> obj nav-radius)) (format #t "~Ttransv: ~`vector`P~%" (-> obj transv)) (format #t "~Trotv: ~`vector`P~%" (-> obj rotv)) @@ -105,10 +101,7 @@ ;; definition for method 24 of type trsqv (defmethod relative-y-angle-to-point trsqv ((obj trsqv) (arg0 vector)) - (deg-diff - (y-angle obj) - (vector-y-angle (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj trans))) - ) + (deg-diff (y-angle obj) (vector-y-angle (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj trans)))) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/engine/math/transformq_REF.gc b/test/decompiler/reference/engine/math/transformq_REF.gc index 8dc2bbda11..928e0755e3 100644 --- a/test/decompiler/reference/engine/math/transformq_REF.gc +++ b/test/decompiler/reference/engine/math/transformq_REF.gc @@ -4,30 +4,9 @@ ;; definition for method 2 of type transformq (defmethod print transformq ((obj transformq)) (format #t "# obj trans x) - (-> obj trans y) - (-> obj trans z) - (-> obj trans w) - ) - (format - #t - "~T~Tquat: ~F ~F ~F ~F ~%" - (-> obj quat x) - (-> obj quat y) - (-> obj quat z) - (-> obj quat w) - ) - (format - #t - "~T~Tscale:~F ~F ~F ~F>" - (-> obj scale x) - (-> obj scale y) - (-> obj scale z) - (-> obj scale w) - ) + (format #t "~T~Ttrans:~F ~F ~F ~F ~%" (-> obj trans x) (-> obj trans y) (-> obj trans z) (-> obj trans w)) + (format #t "~T~Tquat: ~F ~F ~F ~F ~%" (-> obj quat x) (-> obj quat y) (-> obj quat z) (-> obj quat w)) + (format #t "~T~Tscale:~F ~F ~F ~F>" (-> obj scale x) (-> obj scale y) (-> obj scale z) (-> obj scale w)) obj ) @@ -52,109 +31,77 @@ ) ;; definition for method 9 of type trsqv -(defmethod - seek-toward-heading-vec! - trsqv - ((obj trsqv) (dir vector) (vel float) (frame-count int)) - (let* - ((yaw-error - (deg-diff (quaternion-y-angle (-> obj quat)) (vector-y-angle dir)) - ) - (yaw-limit - (fmin - (* vel (-> *display* seconds-per-frame)) - (/ (* 5.0 (fabs yaw-error)) (the float frame-count)) - ) - ) - (saturated-yaw (fmax (fmin yaw-error yaw-limit) (- yaw-limit))) - ) - (let ((old-diff (-> obj old-y-angle-diff))) - (set! saturated-yaw (cond - ((or - (= old-diff 0.0) - (and (< 0.0 saturated-yaw) (< 0.0 old-diff)) - (or - (and (< saturated-yaw 0.0) (< old-diff 0.0)) - (>= - (- - (-> *display* base-frame-counter) - (-> obj angle-change-time) - ) - 60 +(defmethod seek-toward-heading-vec! trsqv ((obj trsqv) (dir vector) (vel float) (frame-count int)) + (let* ((yaw-error (deg-diff (quaternion-y-angle (-> obj quat)) (vector-y-angle dir))) + (yaw-limit + (fmin (* vel (-> *display* seconds-per-frame)) (/ (* 5.0 (fabs yaw-error)) (the float frame-count))) + ) + (saturated-yaw (fmax (fmin yaw-error yaw-limit) (- yaw-limit))) + ) + (let ((old-diff (-> obj old-y-angle-diff))) + (set! saturated-yaw (cond + ((or + (= old-diff 0.0) + (and (< 0.0 saturated-yaw) (< 0.0 old-diff)) + (or + (and (< saturated-yaw 0.0) (< old-diff 0.0)) + (>= (- (-> *display* base-frame-counter) (-> obj angle-change-time)) 60) + ) + ) + (set! (-> obj angle-change-time) (-> *display* base-frame-counter)) + saturated-yaw ) + (else + (* 0.000000001 saturated-yaw) + ) ) - ) - (set! - (-> obj angle-change-time) - (-> *display* base-frame-counter) - ) - saturated-yaw - ) - (else - (* 0.000000001 saturated-yaw) - ) - ) - ) + ) + ) + (set! (-> obj old-y-angle-diff) saturated-yaw) + (let ((quat (get-quaternion obj))) + (quaternion-rotate-y! quat quat saturated-yaw) + ) ) - (set! (-> obj old-y-angle-diff) saturated-yaw) - (let ((quat (get-quaternion obj))) - (quaternion-rotate-y! quat quat saturated-yaw) - ) - ) ) ;; definition for method 10 of type trsqv (defmethod set-heading-vec! trsqv ((obj trsqv) (arg0 vector)) (let ((s3-0 (get-quaternion obj))) - (forward-up-nopitch->quaternion - s3-0 - (vector-normalize-copy! (new 'stack-no-clear 'vector) arg0 1.0) - (vector-y-quaternion! (new 'stack-no-clear 'vector) s3-0) + (forward-up-nopitch->quaternion + s3-0 + (vector-normalize-copy! (new 'stack-no-clear 'vector) arg0 1.0) + (vector-y-quaternion! (new 'stack-no-clear 'vector) s3-0) + ) ) - ) ) ;; definition for method 11 of type trsqv -(defmethod - seek-to-point-toward-point! - trsqv - ((obj trsqv) (arg0 vector) (arg1 float) (arg2 int)) - (seek-toward-heading-vec! - obj - (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj trans)) - arg1 - arg2 - ) +(defmethod seek-to-point-toward-point! trsqv ((obj trsqv) (arg0 vector) (arg1 float) (arg2 int)) + (seek-toward-heading-vec! obj (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj trans)) arg1 arg2) ) ;; definition for method 12 of type trsqv (defmethod point-toward-point! trsqv ((obj trsqv) (arg0 vector)) (let ((s3-0 (get-quaternion obj))) - (forward-up-nopitch->quaternion - s3-0 - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj trans)) - 1.0 - ) - (vector-y-quaternion! (new 'stack-no-clear 'vector) s3-0) + (forward-up-nopitch->quaternion + s3-0 + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj trans)) 1.0) + (vector-y-quaternion! (new 'stack-no-clear 'vector) s3-0) + ) ) - ) ) ;; definition for method 13 of type trsqv -(defmethod - seek-toward-yaw-angle! - trsqv - ((obj trsqv) (yaw float) (vel float) (frame-count int)) +(defmethod seek-toward-yaw-angle! trsqv ((obj trsqv) (yaw float) (vel float) (frame-count int)) (let ((s3-0 (method-of-object obj seek-toward-heading-vec!)) (s2-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s2-0 x) (sin yaw)) - (set! (-> s2-0 y) 0.0) - (set! (-> s2-0 z) (cos yaw)) - (set! (-> s2-0 w) 1.0) - (s3-0 obj s2-0 vel frame-count) - ) + (set! (-> s2-0 x) (sin yaw)) + (set! (-> s2-0 y) 0.0) + (set! (-> s2-0 z) (cos yaw)) + (set! (-> s2-0 w) 1.0) + (s3-0 obj s2-0 vel frame-count) + ) ) ;; definition for method 14 of type trsqv @@ -162,12 +109,12 @@ (let ((s5-0 (method-of-object obj set-heading-vec-clear-roll-pitch!)) (s4-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s4-0 x) (sin arg0)) - (set! (-> s4-0 y) 0.0) - (set! (-> s4-0 z) (cos arg0)) - (set! (-> s4-0 w) 1.0) - (s5-0 obj s4-0) - ) + (set! (-> s4-0 x) (sin arg0)) + (set! (-> s4-0 y) 0.0) + (set! (-> s4-0 z) (cos arg0)) + (set! (-> s4-0 w) 1.0) + (s5-0 obj s4-0) + ) ) ;; definition for method 15 of type trsqv @@ -181,19 +128,15 @@ (grav (-> *standard-dynamics* gravity-normal)) (rot-mat (quaternion->matrix (new 'stack-no-clear 'matrix) quat)) ) - (let ((dir-z (-> rot-mat vector 2))) - (vector-normalize! (vector-flatten! (-> rot-mat vector 1) grav dir-z) 1.0) - (vector-cross! - (the-as vector (-> rot-mat vector)) - (-> rot-mat vector 1) - dir-z - ) + (let ((dir-z (-> rot-mat vector 2))) + (vector-normalize! (vector-flatten! (-> rot-mat vector 1) grav dir-z) 1.0) + (vector-cross! (the-as vector (-> rot-mat vector)) (-> rot-mat vector 1) dir-z) + ) + (let ((a1-5 (matrix-rotate-z! (new 'stack-no-clear 'matrix) arg0))) + (matrix*! rot-mat a1-5 rot-mat) + ) + (matrix->quaternion quat rot-mat) ) - (let ((a1-5 (matrix-rotate-z! (new 'stack-no-clear 'matrix) arg0))) - (matrix*! rot-mat a1-5 rot-mat) - ) - (matrix->quaternion quat rot-mat) - ) ) ;; definition for method 25 of type trsqv @@ -202,83 +145,65 @@ (dir-z (vector-z-quaternion! (new 'stack-no-clear 'vector) quat)) (dir-y (vector-y-quaternion! (new 'stack-no-clear 'vector) quat)) (dir-grav (-> *standard-dynamics* gravity-normal)) - (grav-z-plane - (vector-normalize! - (vector-flatten! (new 'stack-no-clear 'vector) dir-grav dir-z) - 1.0 - ) - ) + (grav-z-plane (vector-normalize! (vector-flatten! (new 'stack-no-clear 'vector) dir-grav dir-z) 1.0)) (grav-dot (vector-dot grav-z-plane dir-y)) ) - (if - (< - (vector-dot - (vector-cross! (new 'stack-no-clear 'vector) grav-z-plane dir-y) - dir-z - ) - 0.0 - ) - (- (acos grav-dot)) - (acos grav-dot) + (if (< (vector-dot (vector-cross! (new 'stack-no-clear 'vector) grav-z-plane dir-y) dir-z) 0.0) + (- (acos grav-dot)) + (acos grav-dot) + ) ) - ) ) ;; definition for method 17 of type trsqv ;; Used lq/sq -(defmethod - rotate-toward-orientation! - trsqv - ((obj trsqv) (target quaternion) (y-rate float) (z-rate float)) +(defmethod rotate-toward-orientation! trsqv ((obj trsqv) (target quaternion) (y-rate float) (z-rate float)) (local-vars (sv-96 vector)) (let ((quat (get-quaternion obj))) - (let ((temp-quat (new 'stack-no-clear 'quaternion))) - (when (< 0.0 z-rate) - (let ((s1-0 quaternion-from-two-vectors-max-angle!) - (s0-0 temp-quat) - ) - (set! sv-96 (vector-y-quaternion! (new 'stack-no-clear 'vector) quat)) - (let ((a2-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) target)) - (a3-1 (* z-rate (-> *display* seconds-per-frame))) + (let ((temp-quat (new 'stack-no-clear 'quaternion))) + (when (< 0.0 z-rate) + (let ((s1-0 quaternion-from-two-vectors-max-angle!) + (s0-0 temp-quat) + ) + (set! sv-96 (vector-y-quaternion! (new 'stack-no-clear 'vector) quat)) + (let ((a2-1 (vector-y-quaternion! (new 'stack-no-clear 'vector) target)) + (a3-1 (* z-rate (-> *display* seconds-per-frame))) + ) + (s1-0 s0-0 sv-96 a2-1 a3-1) ) - (s1-0 s0-0 sv-96 a2-1 a3-1) - ) + ) + (quaternion-normalize! (quaternion*! quat temp-quat quat)) + ) + (when (< 0.0 y-rate) + (quaternion-from-two-vectors-max-angle! + temp-quat + (vector-z-quaternion! (new 'stack-no-clear 'vector) quat) + (vector-z-quaternion! (new 'stack-no-clear 'vector) target) + (* y-rate (-> *display* seconds-per-frame)) + ) + (quaternion-normalize! (quaternion*! quat temp-quat quat)) + ) ) - (quaternion-normalize! (quaternion*! quat temp-quat quat)) - ) - (when (< 0.0 y-rate) - (quaternion-from-two-vectors-max-angle! - temp-quat - (vector-z-quaternion! (new 'stack-no-clear 'vector) quat) - (vector-z-quaternion! (new 'stack-no-clear 'vector) target) - (* y-rate (-> *display* seconds-per-frame)) - ) - (quaternion-normalize! (quaternion*! quat temp-quat quat)) - ) + quat ) - quat - ) ) ;; definition for method 19 of type trsqv (defmethod set-heading-vec-clear-roll-pitch! trsqv ((obj trsqv) (arg0 vector)) (forward-up->quaternion - (get-quaternion obj) - (vector-normalize-copy! (new 'stack-no-clear 'vector) arg0 1.0) - (new 'static 'vector :y 1.0 :w 1.0) - ) + (get-quaternion obj) + (vector-normalize-copy! (new 'stack-no-clear 'vector) arg0 1.0) + (new 'static 'vector :y 1.0 :w 1.0) + ) ) ;; definition for method 20 of type trsqv (defmethod point-toward-point-clear-roll-pitch! trsqv ((obj trsqv) (arg0 vector)) (forward-up->quaternion - (get-quaternion obj) - (vector-normalize! - (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj trans)) - 1.0 + (get-quaternion obj) + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj trans)) 1.0) + (new 'static 'vector :y 1.0 :w 1.0) ) - (new 'static 'vector :y 1.0 :w 1.0) - ) ) ;; definition for function transformq-copy! @@ -301,31 +226,31 @@ (vf4 :class vf) (vf5 :class vf) ) - (init-vf0-vector) - (quaternion->matrix arg0 (-> arg1 quat)) - (cond - (#f - (set! (-> arg0 vector 3 quad) (-> arg1 trans quad)) - ) - (else - (.lvf vf1 (&-> arg1 scale quad)) - (.lvf vf2 (&-> arg1 trans quad)) - (.lvf vf3 (&-> arg0 vector 0 quad)) - (.lvf vf4 (&-> arg0 vector 1 quad)) - (.lvf vf5 (&-> arg0 vector 2 quad)) - (.mov.vf vf2 vf0 :mask #b1000) - (.mul.x.vf vf3 vf3 vf1) - (.mul.y.vf vf4 vf4 vf1) - (.mul.z.vf vf5 vf5 vf1) - (.svf (&-> arg0 vector 3 quad) vf2) - (.svf (&-> arg0 vector 0 quad) vf3) - (.svf (&-> arg0 vector 1 quad) vf4) - (.svf (&-> arg0 vector 2 quad) vf5) - (.mov v1-1 vf5) - ) + (init-vf0-vector) + (quaternion->matrix arg0 (-> arg1 quat)) + (cond + (#f + (set! (-> arg0 vector 3 quad) (-> arg1 trans quad)) + ) + (else + (.lvf vf1 (&-> arg1 scale quad)) + (.lvf vf2 (&-> arg1 trans quad)) + (.lvf vf3 (&-> arg0 vector 0 quad)) + (.lvf vf4 (&-> arg0 vector 1 quad)) + (.lvf vf5 (&-> arg0 vector 2 quad)) + (.mov.vf vf2 vf0 :mask #b1000) + (.mul.x.vf vf3 vf3 vf1) + (.mul.y.vf vf4 vf4 vf1) + (.mul.z.vf vf5 vf5 vf1) + (.svf (&-> arg0 vector 3 quad) vf2) + (.svf (&-> arg0 vector 0 quad) vf3) + (.svf (&-> arg0 vector 1 quad) vf4) + (.svf (&-> arg0 vector 2 quad) vf5) + (.mov v1-1 vf5) + ) + ) + arg0 ) - arg0 - ) ) ;; definition for function matrix<-no-trans-transformq! @@ -337,22 +262,22 @@ (vf4 :class vf) (vf5 :class vf) ) - (init-vf0-vector) - (quaternion->matrix arg0 (-> arg1 quat)) - (.lvf vf1 (&-> arg1 scale quad)) - (.lvf vf3 (&-> arg0 vector 0 quad)) - (.lvf vf4 (&-> arg0 vector 1 quad)) - (.lvf vf5 (&-> arg0 vector 2 quad)) - (.mov.vf vf2 vf0) - (.mul.x.vf vf3 vf3 vf1) - (.mul.y.vf vf4 vf4 vf1) - (.mul.z.vf vf5 vf5 vf1) - (.svf (&-> arg0 vector 3 quad) vf2) - (.svf (&-> arg0 vector 0 quad) vf3) - (.svf (&-> arg0 vector 1 quad) vf4) - (.svf (&-> arg0 vector 2 quad) vf5) - arg0 - ) + (init-vf0-vector) + (quaternion->matrix arg0 (-> arg1 quat)) + (.lvf vf1 (&-> arg1 scale quad)) + (.lvf vf3 (&-> arg0 vector 0 quad)) + (.lvf vf4 (&-> arg0 vector 1 quad)) + (.lvf vf5 (&-> arg0 vector 2 quad)) + (.mov.vf vf2 vf0) + (.mul.x.vf vf3 vf3 vf1) + (.mul.y.vf vf4 vf4 vf1) + (.mul.z.vf vf5 vf5 vf1) + (.svf (&-> arg0 vector 3 quad) vf2) + (.svf (&-> arg0 vector 0 quad) vf3) + (.svf (&-> arg0 vector 1 quad) vf4) + (.svf (&-> arg0 vector 2 quad) vf5) + arg0 + ) ) ;; definition for function matrix<-transformq+trans! @@ -366,34 +291,32 @@ (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (quaternion->matrix arg0 (-> arg1 quat)) - (.lvf vf1 (&-> arg1 scale quad)) - (.lvf vf2 (&-> arg1 trans quad)) - (.lvf vf6 (&-> arg2 quad)) - (.lvf vf3 (&-> arg0 vector 0 quad)) - (.lvf vf4 (&-> arg0 vector 1 quad)) - (.lvf vf5 (&-> arg0 vector 2 quad)) - (.mov.vf vf2 vf0 :mask #b1000) - (.mul.x.vf vf3 vf3 vf1) - (.mul.y.vf vf4 vf4 vf1) - (.mul.z.vf vf5 vf5 vf1) - (.mul.x.vf acc vf3 vf6) - (.add.mul.y.vf acc vf4 vf6 acc) - (.add.mul.z.vf acc vf5 vf6 acc) - (.add.mul.w.vf vf2 vf2 vf0 acc :mask #b111) - (.svf (&-> arg0 vector 3 quad) vf2) - (.svf (&-> arg0 vector 0 quad) vf3) - (.svf (&-> arg0 vector 1 quad) vf4) - (.svf (&-> arg0 vector 2 quad) vf5) - arg0 - ) + (init-vf0-vector) + (quaternion->matrix arg0 (-> arg1 quat)) + (.lvf vf1 (&-> arg1 scale quad)) + (.lvf vf2 (&-> arg1 trans quad)) + (.lvf vf6 (&-> arg2 quad)) + (.lvf vf3 (&-> arg0 vector 0 quad)) + (.lvf vf4 (&-> arg0 vector 1 quad)) + (.lvf vf5 (&-> arg0 vector 2 quad)) + (.mov.vf vf2 vf0 :mask #b1000) + (.mul.x.vf vf3 vf3 vf1) + (.mul.y.vf vf4 vf4 vf1) + (.mul.z.vf vf5 vf5 vf1) + (.mul.x.vf acc vf3 vf6) + (.add.mul.y.vf acc vf4 vf6 acc) + (.add.mul.z.vf acc vf5 vf6 acc) + (.add.mul.w.vf vf2 vf2 vf0 acc :mask #b111) + (.svf (&-> arg0 vector 3 quad) vf2) + (.svf (&-> arg0 vector 0 quad) vf3) + (.svf (&-> arg0 vector 1 quad) vf4) + (.svf (&-> arg0 vector 2 quad) vf5) + arg0 + ) ) ;; definition for function matrix<-transformq+world-trans! -(defun - matrix<-transformq+world-trans! - ((arg0 matrix) (arg1 transformq) (arg2 vector)) +(defun matrix<-transformq+world-trans! ((arg0 matrix) (arg1 transformq) (arg2 vector)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) @@ -402,31 +325,29 @@ (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (quaternion->matrix arg0 (-> arg1 quat)) - (.lvf vf1 (&-> arg1 scale quad)) - (.lvf vf2 (&-> arg1 trans quad)) - (.lvf vf6 (&-> arg2 quad)) - (.lvf vf3 (&-> arg0 vector 0 quad)) - (.lvf vf4 (&-> arg0 vector 1 quad)) - (.lvf vf5 (&-> arg0 vector 2 quad)) - (.mov.vf vf2 vf0 :mask #b1000) - (.mul.x.vf vf3 vf3 vf1) - (.mul.y.vf vf4 vf4 vf1) - (.mul.z.vf vf5 vf5 vf1) - (.add.vf vf2 vf2 vf6 :mask #b111) - (.svf (&-> arg0 vector 3 quad) vf2) - (.svf (&-> arg0 vector 0 quad) vf3) - (.svf (&-> arg0 vector 1 quad) vf4) - (.svf (&-> arg0 vector 2 quad) vf5) - arg0 - ) + (init-vf0-vector) + (quaternion->matrix arg0 (-> arg1 quat)) + (.lvf vf1 (&-> arg1 scale quad)) + (.lvf vf2 (&-> arg1 trans quad)) + (.lvf vf6 (&-> arg2 quad)) + (.lvf vf3 (&-> arg0 vector 0 quad)) + (.lvf vf4 (&-> arg0 vector 1 quad)) + (.lvf vf5 (&-> arg0 vector 2 quad)) + (.mov.vf vf2 vf0 :mask #b1000) + (.mul.x.vf vf3 vf3 vf1) + (.mul.y.vf vf4 vf4 vf1) + (.mul.z.vf vf5 vf5 vf1) + (.add.vf vf2 vf2 vf6 :mask #b111) + (.svf (&-> arg0 vector 3 quad) vf2) + (.svf (&-> arg0 vector 0 quad) vf3) + (.svf (&-> arg0 vector 1 quad) vf4) + (.svf (&-> arg0 vector 2 quad) vf5) + arg0 + ) ) ;; definition for function matrix<-parented-transformq! -(defun - matrix<-parented-transformq! - ((arg0 matrix) (arg1 transformq) (arg2 vector)) +(defun matrix<-parented-transformq! ((arg0 matrix) (arg1 transformq) (arg2 vector)) (local-vars (v1-1 float)) (rlet ((vf0 :class vf) (vf1 :class vf) @@ -436,31 +357,31 @@ (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (quaternion->matrix arg0 (-> arg1 quat)) - (let ((v1-0 (new 'stack-no-clear 'vector))) - (set! (-> v1-0 x) (/ 1.0 (-> arg2 x))) - (set! (-> v1-0 y) (/ 1.0 (-> arg2 y))) - (set! (-> v1-0 z) (/ 1.0 (-> arg2 z))) - (.lvf vf1 (&-> arg1 scale quad)) - (.lvf vf2 (&-> arg1 trans quad)) - (.mov.vf vf2 vf0 :mask #b1000) - (.lvf vf4 (&-> arg0 vector 0 quad)) - (.lvf vf5 (&-> arg0 vector 1 quad)) - (.lvf vf6 (&-> arg0 vector 2 quad)) - (.mul.x.vf vf4 vf4 vf1) - (.mul.y.vf vf5 vf5 vf1) - (.mul.z.vf vf6 vf6 vf1) - (.lvf vf3 (&-> v1-0 quad)) + (init-vf0-vector) + (quaternion->matrix arg0 (-> arg1 quat)) + (let ((v1-0 (new 'stack-no-clear 'vector))) + (set! (-> v1-0 x) (/ 1.0 (-> arg2 x))) + (set! (-> v1-0 y) (/ 1.0 (-> arg2 y))) + (set! (-> v1-0 z) (/ 1.0 (-> arg2 z))) + (.lvf vf1 (&-> arg1 scale quad)) + (.lvf vf2 (&-> arg1 trans quad)) + (.mov.vf vf2 vf0 :mask #b1000) + (.lvf vf4 (&-> arg0 vector 0 quad)) + (.lvf vf5 (&-> arg0 vector 1 quad)) + (.lvf vf6 (&-> arg0 vector 2 quad)) + (.mul.x.vf vf4 vf4 vf1) + (.mul.y.vf vf5 vf5 vf1) + (.mul.z.vf vf6 vf6 vf1) + (.lvf vf3 (&-> v1-0 quad)) + ) + (.mul.vf vf4 vf4 vf3) + (.mul.vf vf5 vf5 vf3) + (.mul.vf vf6 vf6 vf3) + (.svf (&-> arg0 vector 3 quad) vf2) + (.svf (&-> arg0 vector 0 quad) vf4) + (.svf (&-> arg0 vector 1 quad) vf5) + (.svf (&-> arg0 vector 2 quad) vf6) + (.mov v1-1 vf6) + arg0 ) - (.mul.vf vf4 vf4 vf3) - (.mul.vf vf5 vf5 vf3) - (.mul.vf vf6 vf6 vf3) - (.svf (&-> arg0 vector 3 quad) vf2) - (.svf (&-> arg0 vector 0 quad) vf4) - (.svf (&-> arg0 vector 1 quad) vf5) - (.svf (&-> arg0 vector 2 quad) vf6) - (.mov v1-1 vf6) - arg0 - ) ) diff --git a/test/decompiler/reference/engine/math/trigonometry_REF.gc b/test/decompiler/reference/engine/math/trigonometry_REF.gc index 8f9ad4e50e..62e7c065ed 100644 --- a/test/decompiler/reference/engine/math/trigonometry_REF.gc +++ b/test/decompiler/reference/engine/math/trigonometry_REF.gc @@ -4,11 +4,11 @@ ;; definition for function radmod (defun radmod ((arg0 float)) (let ((f0-1 (+ PI arg0))) - (if (< 0.0 f0-1) - (+ MINUS_PI (- f0-1 (* (the float (the int (/ f0-1 6.283185))) 6.283185))) - (+ PI (- f0-1 (* (the float (the int (/ f0-1 6.283185))) 6.283185))) + (if (< 0.0 f0-1) + (+ MINUS_PI (- f0-1 (* (the float (the int (/ f0-1 6.283185))) 6.283185))) + (+ PI (- f0-1 (* (the float (the int (/ f0-1 6.283185))) 6.283185))) + ) ) - ) ) ;; definition for function deg- @@ -26,170 +26,159 @@ (let ((in-int (shl (the int in) 48)) (target-int (shl (the int target) 48)) ) - (let* ((max-diff-int (shl (the int max-diff) 48)) - (diff (- target-int in-int)) - (abs-diff (abs diff)) - ) - (set! target-int (cond - ((< abs-diff 0) - (+ in-int max-diff-int) - ) - ((>= max-diff-int abs-diff) - (empty) - target-int - ) - ((>= diff 0) - (+ in-int max-diff-int) - ) - (else - (- in-int max-diff-int) - ) - ) - ) + (let* ((max-diff-int (shl (the int max-diff) 48)) + (diff (- target-int in-int)) + (abs-diff (abs diff)) + ) + (set! target-int (cond + ((< abs-diff 0) + (+ in-int max-diff-int) + ) + ((>= max-diff-int abs-diff) + (empty) + target-int + ) + ((>= diff 0) + (+ in-int max-diff-int) + ) + (else + (- in-int max-diff-int) + ) + ) + ) + ) + (the float (sar target-int 48)) ) - (the float (sar target-int 48)) - ) ) ;; definition for function deg-seek-smooth -(defun - deg-seek-smooth - ((in float) (target float) (max-diff float) (amount float)) +(defun deg-seek-smooth ((in float) (target float) (max-diff float) (amount float)) (let ((step (* (deg- target in) amount))) - (if (< max-diff (fabs step)) - (set! step (if (>= step 0.0) - max-diff - (- max-diff) - ) - ) + (if (< max-diff (fabs step)) + (set! step (if (>= step 0.0) + max-diff + (- max-diff) + ) + ) + ) + (+ in step) ) - (+ in step) - ) ) ;; definition for function deg-lerp-clamp (defun deg-lerp-clamp ((min-val float) (max-val float) (in float)) (cond - ((>= 0.0 in) - min-val - ) - ((>= in 1.0) - max-val - ) - (else - (the - float - (sar (shl (the int (+ min-val (* in (deg-diff min-val max-val)))) 48) 48) + ((>= 0.0 in) + min-val ) + ((>= in 1.0) + max-val + ) + (else + (the float (sar (shl (the int (+ min-val (* in (deg-diff min-val max-val)))) 48) 48)) + ) ) - ) ) ;; definition for symbol binary-table, type (array float) -(define - binary-table - (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 32 :allocated-length 32 - 1.0 - 0.5 - 0.25 - 0.125 - 0.0625 - 0.03125 - 0.015625 - 0.0078125 - 0.00390625 - 0.001953125 - 0.0009765625 - 0.00048828125 - 0.00024414062 - 0.00012207031 - 0.000061035156 - 0.000030517578 - 0.000015258789 - 0.0000076293945 - 0.0000038146973 - 0.0000019073486 - 0.0000009536743 - 0.00000047683716 - 0.00000023841858 - 0.00000011920929 - 0.000000059604645 - 0.000000029802322 - 0.000000014901161 - 0.000000007450581 - 0.0000000037252903 - 0.0000000018626451 - 0.0000000009313226 - 0.0000000004656613 - ) - ) - ) +(define binary-table (the-as (array float) (new + 'static + 'boxed-array + :type float :length 32 :allocated-length 32 + 1.0 + 0.5 + 0.25 + 0.125 + 0.0625 + 0.03125 + 0.015625 + 0.0078125 + 0.00390625 + 0.001953125 + 0.0009765625 + 0.00048828125 + 0.00024414062 + 0.00012207031 + 0.000061035156 + 0.000030517578 + 0.000015258789 + 0.0000076293945 + 0.0000038146973 + 0.0000019073486 + 0.0000009536743 + 0.00000047683716 + 0.00000023841858 + 0.00000011920929 + 0.000000059604645 + 0.000000029802322 + 0.000000014901161 + 0.000000007450581 + 0.0000000037252903 + 0.0000000018626451 + 0.0000000009313226 + 0.0000000004656613 + ) + ) + ) ;; definition for symbol sincos-table, type (array float) -(define - sincos-table - (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 32 :allocated-length 32 - 0.7853982 - 0.4636476 - 0.24497867 - 0.124354996 - 0.06241881 - 0.031239834 - 0.015623729 - 0.007812341 - 0.0039062302 - 0.0019531226 - 0.0009765622 - 0.0004882812 - 0.00024414062 - 0.00012207031 - 0.000061035156 - 0.000030517578 - 0.000015258789 - 0.0000076293945 - 0.0000038146973 - 0.0000019073486 - 0.0000009536743 - 0.00000047683716 - 0.00000023841858 - 0.00000011920929 - 0.000000059604645 - 0.000000029802322 - 0.000000014901161 - 0.000000007450581 - 0.0000000037252903 - 0.0000000018626451 - 0.0000000009313226 - 0.0000000004656613 - ) - ) - ) +(define sincos-table (the-as (array float) (new + 'static + 'boxed-array + :type float :length 32 :allocated-length 32 + 0.7853982 + 0.4636476 + 0.24497867 + 0.124354996 + 0.06241881 + 0.031239834 + 0.015623729 + 0.007812341 + 0.0039062302 + 0.0019531226 + 0.0009765622 + 0.0004882812 + 0.00024414062 + 0.00012207031 + 0.000061035156 + 0.000030517578 + 0.000015258789 + 0.0000076293945 + 0.0000038146973 + 0.0000019073486 + 0.0000009536743 + 0.00000047683716 + 0.00000023841858 + 0.00000011920929 + 0.000000059604645 + 0.000000029802322 + 0.000000014901161 + 0.000000007450581 + 0.0000000037252903 + 0.0000000018626451 + 0.0000000009313226 + 0.0000000004656613 + ) + ) + ) ;; definition for function sin (defun sin ((arg0 float)) (let ((f2-0 (* 0.000095873795 (the float (sar (shl (the int arg0) 48) 48))))) - f2-0 - (let* ((f1-4 (* 0.999998 f2-0)) - (f0-3 (* f2-0 f2-0)) - (f2-1 (* f2-0 f0-3)) - (f1-5 (+ f1-4 (* -0.16666014 f2-1))) - (f2-2 (* f2-1 f0-3)) - (f1-6 (+ f1-5 (* 0.008326521 f2-2))) - (f2-3 (* f2-2 f0-3)) - (f1-7 (+ f1-6 (* -0.0001956241 f2-3))) - (f0-4 (* f2-3 f0-3)) - ) - (+ f1-7 (* 0.0000023042373 f0-4)) + f2-0 + (let* ((f1-4 (* 0.999998 f2-0)) + (f0-3 (* f2-0 f2-0)) + (f2-1 (* f2-0 f0-3)) + (f1-5 (+ f1-4 (* -0.16666014 f2-1))) + (f2-2 (* f2-1 f0-3)) + (f1-6 (+ f1-5 (* 0.008326521 f2-2))) + (f2-3 (* f2-2 f0-3)) + (f1-7 (+ f1-6 (* -0.0001956241 f2-3))) + (f0-4 (* f2-3 f0-3)) + ) + (+ f1-7 (* 0.0000023042373 f0-4)) + ) ) - ) ) ;; definition for function sin-rad @@ -212,24 +201,19 @@ (f6-0 (* f4-0 f3-0)) (f11-0 0.0000023042373) ) - (.mula.s arg0 f7-0) - (.madda.s f2-0 f8-0) - (.madda.s f4-0 f9-0) - (.madda.s f5-0 f10-0) - (.madd.s f12-0 f6-0 f11-0) - ) + (.mula.s arg0 f7-0) + (.madda.s f2-0 f8-0) + (.madda.s f4-0 f9-0) + (.madda.s f5-0 f10-0) + (.madd.s f12-0 f6-0 f11-0) + ) f12-0 ) ;; definition for symbol *sin-poly-vec*, type vector (define *sin-poly-vec* - (new 'static 'vector - :x -0.16666014 - :y 0.008326521 - :z -0.0001956241 - :w 0.0000023042373 - ) + (new 'static 'vector :x -0.16666014 :y 0.008326521 :z -0.0001956241 :w 0.0000023042373) ) ;; definition for symbol *sin-poly-vec2*, type vector @@ -249,23 +233,23 @@ (vf8 :class vf) (vf9 :class vf) ) - (.lvf vf1 (&-> arg1 quad)) - (.mul.vf vf3 vf1 vf1) - (.lvf vf10 (&-> *sin-poly-vec2* quad)) - (.lvf vf9 (&-> *sin-poly-vec* quad)) - (.mul.vf vf4 vf3 vf1) - (.mul.vf vf5 vf3 vf3) - (.mul.x.vf acc vf1 vf10) - (.mul.vf vf6 vf4 vf3) - (.mul.vf vf7 vf5 vf4) - (.add.mul.x.vf acc vf4 vf9 acc) - (.mul.vf vf8 vf6 vf5) - (.add.mul.y.vf acc vf6 vf9 acc) - (.add.mul.z.vf acc vf7 vf9 acc) - (.add.mul.w.vf vf2 vf8 vf9 acc) - (.svf (&-> arg0 quad) vf2) - arg0 - ) + (.lvf vf1 (&-> arg1 quad)) + (.mul.vf vf3 vf1 vf1) + (.lvf vf10 (&-> *sin-poly-vec2* quad)) + (.lvf vf9 (&-> *sin-poly-vec* quad)) + (.mul.vf vf4 vf3 vf1) + (.mul.vf vf5 vf3 vf3) + (.mul.x.vf acc vf1 vf10) + (.mul.vf vf6 vf4 vf3) + (.mul.vf vf7 vf5 vf4) + (.add.mul.x.vf acc vf4 vf9 acc) + (.mul.vf vf8 vf6 vf5) + (.add.mul.y.vf acc vf6 vf9 acc) + (.add.mul.z.vf acc vf7 vf9 acc) + (.add.mul.w.vf vf2 vf8 vf9 acc) + (.svf (&-> arg0 quad) vf2) + arg0 + ) ) ;; definition for function cos-rad @@ -286,25 +270,17 @@ (f5-0 (* f3-0 f3-0)) (f11-0 0.000020170546) ) - (.mula.s f7-0 f7-0) - (.madda.s f8-0 f1-0) - (.madda.s f9-0 f3-0) - (.madda.s f10-0 f4-0) - (.madd.s f12-0 f11-0 f5-0) - ) + (.mula.s f7-0 f7-0) + (.madda.s f8-0 f1-0) + (.madda.s f9-0 f3-0) + (.madda.s f10-0 f4-0) + (.madd.s f12-0 f11-0 f5-0) + ) f12-0 ) ;; definition for symbol *cos-poly-vec*, type vector -(define - *cos-poly-vec* - (new 'static 'vector - :x -0.49998003 - :y 0.041620404 - :z -0.0013636408 - :w 0.000020170546 - ) - ) +(define *cos-poly-vec* (new 'static 'vector :x -0.49998003 :y 0.041620404 :z -0.0013636408 :w 0.000020170546)) ;; definition for function vector-cos-rad! ;; WARN: Bad vector register dependency: vf2 @@ -319,22 +295,22 @@ (vf6 :class vf) (vf9 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg1 quad)) - (.sub.vf vf2 vf2 vf2) - (.lvf vf9 (&-> *cos-poly-vec* quad)) - (.mul.vf vf3 vf1 vf1) - (.add.w.vf acc vf2 vf0) - (.mul.vf vf4 vf3 vf3) - (.add.mul.x.vf acc vf3 vf9 acc) - (.mul.vf vf5 vf4 vf3) - (.add.mul.y.vf acc vf4 vf9 acc) - (.mul.vf vf6 vf4 vf4) - (.add.mul.z.vf acc vf5 vf9 acc) - (.add.mul.w.vf vf2 vf6 vf9 acc) - (.svf (&-> arg0 quad) vf2) - arg0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg1 quad)) + (.sub.vf vf2 vf2 vf2) + (.lvf vf9 (&-> *cos-poly-vec* quad)) + (.mul.vf vf3 vf1 vf1) + (.add.w.vf acc vf2 vf0) + (.mul.vf vf4 vf3 vf3) + (.add.mul.x.vf acc vf3 vf9 acc) + (.mul.vf vf5 vf4 vf3) + (.add.mul.y.vf acc vf4 vf9 acc) + (.mul.vf vf6 vf4 vf4) + (.add.mul.z.vf acc vf5 vf9 acc) + (.add.mul.w.vf vf2 vf6 vf9 acc) + (.svf (&-> arg0 quad) vf2) + arg0 + ) ) ;; definition for function vector-sincos-rad! @@ -357,34 +333,34 @@ (vf8 :class vf) (vf9 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg2 quad)) - (.sub.vf vf14 vf14 vf14) - (.lvf vf11 (&-> *sin-poly-vec2* quad)) - (.mul.vf vf2 vf1 vf1) - (.lvf vf10 (&-> *sin-poly-vec* quad)) - (.lvf vf13 (&-> *cos-poly-vec* quad)) - (.mul.x.vf acc vf1 vf11) - (.mul.vf vf3 vf2 vf1) - (.mul.vf vf4 vf2 vf2) - (.mul.vf vf5 vf3 vf2) - (.mul.vf vf6 vf3 vf3) - (.mul.vf vf7 vf4 vf3) - (.mul.vf vf8 vf4 vf4) - (.mul.vf vf9 vf5 vf4) - (.add.mul.x.vf acc vf3 vf10 acc) - (.add.mul.y.vf acc vf5 vf10 acc) - (.add.mul.z.vf acc vf7 vf10 acc) - (.add.mul.w.vf vf12 vf9 vf10 acc) - (.add.w.vf acc vf14 vf0) - (.add.mul.x.vf acc vf2 vf13 acc) - (.add.mul.y.vf acc vf4 vf13 acc) - (.add.mul.z.vf acc vf6 vf13 acc) - (.add.mul.w.vf vf14 vf8 vf13 acc) - (.svf (&-> arg0 quad) vf12) - (.svf (&-> arg1 quad) vf14) - 0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg2 quad)) + (.sub.vf vf14 vf14 vf14) + (.lvf vf11 (&-> *sin-poly-vec2* quad)) + (.mul.vf vf2 vf1 vf1) + (.lvf vf10 (&-> *sin-poly-vec* quad)) + (.lvf vf13 (&-> *cos-poly-vec* quad)) + (.mul.x.vf acc vf1 vf11) + (.mul.vf vf3 vf2 vf1) + (.mul.vf vf4 vf2 vf2) + (.mul.vf vf5 vf3 vf2) + (.mul.vf vf6 vf3 vf3) + (.mul.vf vf7 vf4 vf3) + (.mul.vf vf8 vf4 vf4) + (.mul.vf vf9 vf5 vf4) + (.add.mul.x.vf acc vf3 vf10 acc) + (.add.mul.y.vf acc vf5 vf10 acc) + (.add.mul.z.vf acc vf7 vf10 acc) + (.add.mul.w.vf vf12 vf9 vf10 acc) + (.add.w.vf acc vf14 vf0) + (.add.mul.x.vf acc vf2 vf13 acc) + (.add.mul.y.vf acc vf4 vf13 acc) + (.add.mul.z.vf acc vf6 vf13 acc) + (.add.mul.w.vf vf14 vf8 vf13 acc) + (.svf (&-> arg0 quad) vf12) + (.svf (&-> arg1 quad) vf14) + 0 + ) ) ;; definition for function sincos-rad! @@ -400,21 +376,21 @@ (rlet ((vf1 :class vf) (vf2 :class vf) ) - (let ((v1-0 #x38c90fda)) - (.lvf vf1 (&-> arg1 quad)) - (.ftoi.vf vf1 vf1) - (.mov vf2 v1-0) + (let ((v1-0 #x38c90fda)) + (.lvf vf1 (&-> arg1 quad)) + (.ftoi.vf vf1 vf1) + (.mov vf2 v1-0) + ) + (.mov v1-1 vf1) + (.pw.sll v1-2 v1-1 16) + (.pw.sra v1-3 v1-2 16) + (.mov vf1 v1-3) + (.itof.vf vf1 vf1) + (.mul.x.vf vf1 vf1 vf2) + (.svf (&-> arg0 quad) vf1) + (.mov v0-0 vf1) + (none) ) - (.mov v1-1 vf1) - (.pw.sll v1-2 v1-1 16) - (.pw.sra v1-3 v1-2 16) - (.mov vf1 v1-3) - (.itof.vf vf1 vf1) - (.mul.x.vf vf1 vf1 vf2) - (.svf (&-> arg0 quad) vf1) - (.mov v0-0 vf1) - (none) - ) ) ;; definition for function vector-rad<-vector-deg/2! @@ -424,33 +400,33 @@ (rlet ((vf1 :class vf) (vf2 :class vf) ) - (let ((v1-0 #x38c90fda)) - (let ((a2-0 #x3f000000)) - (.lvf vf1 (&-> arg1 quad)) - (.mov vf2 a2-0) - ) + (let ((v1-0 #x38c90fda)) + (let ((a2-0 #x3f000000)) + (.lvf vf1 (&-> arg1 quad)) + (.mov vf2 a2-0) + ) + (.mul.x.vf vf1 vf1 vf2) + (.ftoi.vf vf1 vf1) + (.mov vf2 v1-0) + ) + (.mov v1-1 vf1) + (.pw.sll v1-2 v1-1 16) + (.pw.sra v1-3 v1-2 16) + (.mov vf1 v1-3) + (.itof.vf vf1 vf1) (.mul.x.vf vf1 vf1 vf2) - (.ftoi.vf vf1 vf1) - (.mov vf2 v1-0) + (.svf (&-> arg0 quad) vf1) + (.mov v0-0 vf1) + (the-as int v0-0) ) - (.mov v1-1 vf1) - (.pw.sll v1-2 v1-1 16) - (.pw.sra v1-3 v1-2 16) - (.mov vf1 v1-3) - (.itof.vf vf1 vf1) - (.mul.x.vf vf1 vf1 vf2) - (.svf (&-> arg0 quad) vf1) - (.mov v0-0 vf1) - (the-as int v0-0) - ) ) ;; definition for function vector-sincos! (defun vector-sincos! ((arg0 vector) (arg1 vector) (arg2 vector)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (vector-rad<-vector-deg! s4-0 arg2) - (vector-sincos-rad! arg0 arg1 s4-0) - ) + (vector-rad<-vector-deg! s4-0 arg2) + (vector-sincos-rad! arg0 arg1 s4-0) + ) ) ;; definition for function tan-rad @@ -502,15 +478,15 @@ (f16-0 0.02186123) (f17-0 -0.004054058) ) - (.adda.s f0-1 f18-0) - (.madda.s f2-0 f11-0) - (.madda.s f4-0 f12-0) - (.madda.s f5-0 f13-0) - (.madda.s f6-0 f14-0) - (.madda.s f7-0 f15-0) - (.madda.s f8-0 f16-0) - (.madd.s f18-1 f9-0 f17-0) - ) + (.adda.s f0-1 f18-0) + (.madda.s f2-0 f11-0) + (.madda.s f4-0 f12-0) + (.madda.s f5-0 f13-0) + (.madda.s f6-0 f14-0) + (.madda.s f7-0 f15-0) + (.madda.s f8-0 f16-0) + (.madd.s f18-1 f9-0 f17-0) + ) f18-1 ) @@ -522,49 +498,49 @@ ;; definition for function sign (defun sign ((arg0 float)) (cond - ((< 0.0 arg0) - 1.0 + ((< 0.0 arg0) + 1.0 + ) + ((< arg0 0.0) + -1.0 + ) + (else + 0.0 + ) ) - ((< arg0 0.0) - -1.0 - ) - (else - 0.0 - ) - ) ) ;; definition for function atan2-rad (defun atan2-rad ((arg0 float) (arg1 float)) (cond - ((= arg1 0.0) - (* 1.5707963 (sign arg0)) - ) - ((and (< arg0 0.0) (< arg1 0.0)) - (let ((f30-1 MINUS_PI) - (f0-6 (/ arg0 arg1)) - ) - (+ f30-1 (atan-series-rad (/ (+ -1.0 f0-6) (+ 1.0 f0-6)))) + ((= arg1 0.0) + (* 1.5707963 (sign arg0)) ) - ) - ((< arg0 0.0) - (let ((f0-14 (- (/ arg0 arg1)))) - (- (atan-series-rad (/ (+ -1.0 f0-14) (+ 1.0 f0-14)))) + ((and (< arg0 0.0) (< arg1 0.0)) + (let ((f30-1 MINUS_PI) + (f0-6 (/ arg0 arg1)) + ) + (+ f30-1 (atan-series-rad (/ (+ -1.0 f0-6) (+ 1.0 f0-6)))) + ) ) - ) - ((< arg1 0.0) - (let ((f30-2 PI) - (f0-22 (- (/ arg0 arg1))) - ) - (- f30-2 (atan-series-rad (/ (+ -1.0 f0-22) (+ 1.0 f0-22)))) + ((< arg0 0.0) + (let ((f0-14 (- (/ arg0 arg1)))) + (- (atan-series-rad (/ (+ -1.0 f0-14) (+ 1.0 f0-14)))) + ) ) - ) - (else - (let ((f0-28 (/ arg0 arg1))) - (atan-series-rad (/ (+ -1.0 f0-28) (+ 1.0 f0-28))) + ((< arg1 0.0) + (let ((f30-2 PI) + (f0-22 (- (/ arg0 arg1))) + ) + (- f30-2 (atan-series-rad (/ (+ -1.0 f0-22) (+ 1.0 f0-22)))) + ) ) + (else + (let ((f0-28 (/ arg0 arg1))) + (atan-series-rad (/ (+ -1.0 f0-28) (+ 1.0 f0-28))) + ) + ) ) - ) ) ;; definition of type float-type @@ -576,82 +552,78 @@ ) ;; definition for symbol exp-slead, type (pointer float) -(define - exp-slead - (new 'static 'array float 32 - 1.0 - 1.0218964 - 1.0442734 - 1.0671387 - 1.0905075 - 1.1143799 - 1.1387863 - 1.1637192 - 1.1892014 - 1.2152405 - 1.2418518 - 1.2690506 - 1.2968369 - 1.3252335 - 1.354248 - 1.3839035 - 1.4142075 - 1.4451752 - 1.4768219 - 1.5091629 - 1.5422058 - 1.5759735 - 1.6104889 - 1.645752 - 1.6817856 - 1.7186127 - 1.7562485 - 1.7947083 - 1.8340073 - 1.8741608 - 1.9151993 - 1.9571381 - ) - ) +(define exp-slead (new 'static 'array float 32 + 1.0 + 1.0218964 + 1.0442734 + 1.0671387 + 1.0905075 + 1.1143799 + 1.1387863 + 1.1637192 + 1.1892014 + 1.2152405 + 1.2418518 + 1.2690506 + 1.2968369 + 1.3252335 + 1.354248 + 1.3839035 + 1.4142075 + 1.4451752 + 1.4768219 + 1.5091629 + 1.5422058 + 1.5759735 + 1.6104889 + 1.645752 + 1.6817856 + 1.7186127 + 1.7562485 + 1.7947083 + 1.8340073 + 1.8741608 + 1.9151993 + 1.9571381 + ) + ) ;; definition for symbol exp-strail, type (pointer float) -(define - exp-strail - (new 'static 'array float 32 - 0.0 - 0.0000007863494 - 0.00000040596257 - 0.0000017288019 - 0.00000022534104 - 0.0000068597833 - 0.0000023188388 - 0.0000056815315 - 0.0000057600223 - 0.0000068814647 - 0.000006005433 - 0.0000003590472 - 0.0000027016238 - 0.000003183687 - 0.000007500062 - 0.000006378546 - 0.000006103877 - 0.0000056360786 - 0.0000042465254 - 0.0000015247614 - 0.000005014861 - 0.000007334366 - 0.0000014403477 - 0.000003525029 - 0.000007247011 - 0.000006627224 - 0.0000036862523 - 0.00000082304996 - 0.0000008232258 - 0.0000068675085 - 0.000007281612 - 0.000006062652 - ) - ) +(define exp-strail (new 'static 'array float 32 + 0.0 + 0.0000007863494 + 0.00000040596257 + 0.0000017288019 + 0.00000022534104 + 0.0000068597833 + 0.0000023188388 + 0.0000056815315 + 0.0000057600223 + 0.0000068814647 + 0.000006005433 + 0.0000003590472 + 0.0000027016238 + 0.000003183687 + 0.000007500062 + 0.000006378546 + 0.000006103877 + 0.0000056360786 + 0.0000042465254 + 0.0000015247614 + 0.000005014861 + 0.000007334366 + 0.0000014403477 + 0.000003525029 + 0.000007247011 + 0.000006627224 + 0.0000036862523 + 0.00000082304996 + 0.0000008232258 + 0.0000068675085 + 0.000007281612 + 0.000006062652 + ) + ) ;; definition for function exp ;; ERROR: function was not converted to expressions. Cannot decompile. @@ -659,53 +631,48 @@ ;; definition for function atan (defun atan ((arg0 float) (arg1 float)) (cond - ((and (= arg1 0.0) (= arg0 0.0)) - 0.0 + ((and (= arg1 0.0) (= arg0 0.0)) + 0.0 + ) + ((and (< arg1 0.0) (< arg0 0.0)) + (+ -32768.0 (atan0 (- arg0) (- arg1))) + ) + ((< arg0 0.0) + (- (atan0 (- arg0) arg1)) + ) + ((< arg1 0.0) + (- 32768.0 (atan0 arg0 (- arg1))) + ) + (else + (atan0 arg0 arg1) + ) ) - ((and (< arg1 0.0) (< arg0 0.0)) - (+ -32768.0 (atan0 (- arg0) (- arg1))) - ) - ((< arg0 0.0) - (- (atan0 (- arg0) arg1)) - ) - ((< arg1 0.0) - (- 32768.0 (atan0 arg0 (- arg1))) - ) - (else - (atan0 arg0 arg1) - ) - ) ) ;; definition for function asin (defun asin ((arg0 float)) (let ((gp-0 #f)) - 0.0 - (when (< arg0 0.0) - (set! arg0 (- arg0)) - (set! gp-0 #t) - ) - (let ((f0-5 (cond - ((< 1.0 arg0) - 16383.996 - ) - (else - (let* ((f0-6 1.0) - (f1-2 arg0) - (f0-8 (sqrtf (- f0-6 (* f1-2 f1-2)))) - ) - (atan0 arg0 f0-8) + 0.0 + (when (< arg0 0.0) + (set! arg0 (- arg0)) + (set! gp-0 #t) + ) + (let ((f0-5 (cond + ((< 1.0 arg0) + 16383.996 + ) + (else + (let* ((f0-6 1.0) (f1-2 arg0) (f0-8 (sqrtf (- f0-6 (* f1-2 f1-2))))) (atan0 arg0 f0-8)) + ) ) - ) ) ) - ) - (if gp-0 - (- f0-5) - f0-5 - ) + (if gp-0 + (- f0-5) + f0-5 + ) + ) ) - ) ) ;; definition for function acos @@ -716,25 +683,25 @@ ;; definition for function acos-rad (defun acos-rad ((arg0 float)) (cond - ((>= arg0 0.0) - (let* ((f0-1 1.0) - (f1-1 arg0) - (f0-3 (sqrtf (- f0-1 (* f1-1 f1-1)))) - (f0-5 (/ (- f0-3 arg0) (+ f0-3 arg0))) - ) - (atan-series-rad f0-5) + ((>= arg0 0.0) + (let* ((f0-1 1.0) + (f1-1 arg0) + (f0-3 (sqrtf (- f0-1 (* f1-1 f1-1)))) + (f0-5 (/ (- f0-3 arg0) (+ f0-3 arg0))) + ) + (atan-series-rad f0-5) + ) ) + (else + (let* ((f0-6 1.0) + (f1-6 arg0) + (f0-8 (sqrtf (- f0-6 (* f1-6 f1-6)))) + (f0-10 (/ (+ f0-8 arg0) (- f0-8 arg0))) + ) + (- PI (atan-series-rad f0-10)) + ) + ) ) - (else - (let* ((f0-6 1.0) - (f1-6 arg0) - (f0-8 (sqrtf (- f0-6 (* f1-6 f1-6)))) - (f0-10 (/ (+ f0-8 arg0) (- f0-8 arg0))) - ) - (- PI (atan-series-rad f0-10)) - ) - ) - ) ) ;; definition for function sinerp @@ -745,16 +712,16 @@ ;; definition for function sinerp-clamp (defun sinerp-clamp ((minimum float) (maximum float) (amount float)) (cond - ((>= 0.0 amount) - minimum + ((>= 0.0 amount) + minimum + ) + ((>= amount 1.0) + maximum + ) + (else + (sinerp minimum maximum amount) + ) ) - ((>= amount 1.0) - maximum - ) - (else - (sinerp minimum maximum amount) - ) - ) ) ;; definition for function coserp @@ -765,16 +732,16 @@ ;; definition for function coserp-clamp (defun coserp-clamp ((minimum float) (maximum float) (amount float)) (cond - ((>= 0.0 amount) - minimum + ((>= 0.0 amount) + minimum + ) + ((>= amount 1.0) + maximum + ) + (else + (coserp minimum maximum amount) + ) ) - ((>= amount 1.0) - maximum - ) - (else - (coserp minimum maximum amount) - ) - ) ) ;; definition for function coserp180 @@ -785,44 +752,35 @@ ;; definition for function coserp180-clamp (defun coserp180-clamp ((minimum float) (maximum float) (amount float)) (cond - ((>= 0.0 amount) - minimum + ((>= 0.0 amount) + minimum + ) + ((>= amount 1.0) + maximum + ) + (else + (coserp180 minimum maximum amount) + ) ) - ((>= amount 1.0) - maximum - ) - (else - (coserp180 minimum maximum amount) - ) - ) ) ;; definition for function ease-in-out (defun ease-in-out ((total int) (progress int)) (local-vars (v1-0 int)) (cond - ((>= progress total) - 1.0 - ) - ((<= progress 0) - 0.0 - ) - ((begin - (set! v1-0 (/ total 2)) - (< v1-0 progress) + ((>= progress total) + 1.0 ) - (let ((a0-1 (- progress total))) - (+ - 0.5 - (* - 0.5 - (sin (- 16384.0 (/ (* 16384.0 (the float a0-1)) (the float v1-0)))) + ((<= progress 0) + 0.0 + ) + ((begin (set! v1-0 (/ total 2)) (< v1-0 progress)) + (let ((a0-1 (- progress total))) + (+ 0.5 (* 0.5 (sin (- 16384.0 (/ (* 16384.0 (the float a0-1)) (the float v1-0)))))) ) - ) ) + (else + (- 0.5 (* 0.5 (cos (/ (* 16384.0 (the float progress)) (the float v1-0))))) + ) ) - (else - (- 0.5 (* 0.5 (cos (/ (* 16384.0 (the float progress)) (the float v1-0))))) - ) - ) ) diff --git a/test/decompiler/reference/engine/math/vector-h_REF.gc b/test/decompiler/reference/engine/math/vector-h_REF.gc index 564ab352ed..1590b1fa11 100644 --- a/test/decompiler/reference/engine/math/vector-h_REF.gc +++ b/test/decompiler/reference/engine/math/vector-h_REF.gc @@ -30,19 +30,11 @@ ;; definition for method 0 of type bit-array (defmethod new bit-array ((allocation symbol) (type-to-make type) (length int)) - (let - ((obj - (object-new - allocation - type-to-make - (+ (/ (logand -8 (+ length 7)) 8) -1 (-> type-to-make size)) - ) - ) + (let ((obj (object-new allocation type-to-make (+ (/ (logand -8 (+ length 7)) 8) -1 (-> type-to-make size))))) + (set! (-> obj length) length) + (set! (-> obj allocated-length) length) + obj ) - (set! (-> obj length) length) - (set! (-> obj allocated-length) length) - obj - ) ) ;; definition for method 4 of type bit-array @@ -53,17 +45,14 @@ ;; definition for method 5 of type bit-array ;; INFO: Return type mismatch uint vs int. (defmethod asize-of bit-array ((obj bit-array)) - (the-as - int - (+ (-> obj type size) (/ (logand -8 (+ (-> obj allocated-length) 7)) 8)) - ) + (the-as int (+ (-> obj type size) (/ (logand -8 (+ (-> obj allocated-length) 7)) 8))) ) ;; definition for method 9 of type bit-array (defmethod get-bit bit-array ((obj bit-array) (arg0 int)) (let ((v1-2 (-> obj bytes (/ arg0 8)))) - (logtest? v1-2 (ash 1 (logand arg0 7))) - ) + (logtest? v1-2 (ash 1 (logand arg0 7))) + ) ) ;; definition for method 10 of type bit-array @@ -81,10 +70,10 @@ ;; definition for method 12 of type bit-array (defmethod clear-all! bit-array ((obj bit-array)) (countdown (idx (/ (logand -8 (+ (-> obj allocated-length) 7)) 8)) - (nop!) - (nop!) - (set! (-> obj bytes idx) (the-as uint 0)) - ) + (nop!) + (nop!) + (set! (-> obj bytes idx) (the-as uint 0)) + ) obj ) @@ -279,15 +268,7 @@ ;; definition for method 2 of type vector4w (defmethod print vector4w ((obj vector4w)) - (format - #t - "#" - (-> obj x) - (-> obj y) - (-> obj z) - (-> obj w) - obj - ) + (format #t "#" (-> obj x) (-> obj y) (-> obj z) (-> obj w) obj) obj ) @@ -448,28 +429,13 @@ ;; INFO: this function exists in multiple non-identical object files (defmethod inspect vector ((obj vector)) (format #t "[~8x] vector~%" obj) - (format - #t - "~T[~F] [~F] [~F] [~F]~%" - (-> obj x) - (-> obj y) - (-> obj z) - (-> obj w) - ) + (format #t "~T[~F] [~F] [~F] [~F]~%" (-> obj x) (-> obj y) (-> obj z) (-> obj w)) obj ) ;; definition for method 2 of type vector (defmethod print vector ((obj vector)) - (format - #t - "#" - (-> obj x) - (-> obj y) - (-> obj z) - (-> obj w) - obj - ) + (format #t "#" (-> obj x) (-> obj y) (-> obj z) (-> obj w) obj) obj ) @@ -816,14 +782,14 @@ (rlet ((vf1 :class vf) (vf2 :class vf) ) - (.lvf vf1 (&-> arg0 quad)) - (.lvf vf2 (&-> arg1 quad)) - (.mul.vf vf1 vf1 vf2) - (.add.y.vf vf1 vf1 vf1 :mask #b1) - (.add.z.vf vf1 vf1 vf1 :mask #b1) - (.mov v0-0 vf1) - v0-0 - ) + (.lvf vf1 (&-> arg0 quad)) + (.lvf vf2 (&-> arg1 quad)) + (.mul.vf vf1 vf1 vf2) + (.add.y.vf vf1 vf1 vf1 :mask #b1) + (.add.z.vf vf1 vf1 vf1 :mask #b1) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function vector4-dot @@ -840,18 +806,18 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 quad)) - (.lvf vf2 (&-> arg1 quad)) - (.mul.vf vf1 vf1 vf2) - (.add.w.vf vf3 vf0 vf0 :mask #b1) - (.mul.x.vf acc vf3 vf1 :mask #b1) - (.add.mul.y.vf acc vf3 vf1 acc :mask #b1) - (.add.mul.z.vf acc vf3 vf1 acc :mask #b1) - (.add.mul.w.vf vf1 vf3 vf1 acc :mask #b1) - (.mov v0-0 vf1) - v0-0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 quad)) + (.lvf vf2 (&-> arg1 quad)) + (.mul.vf vf1 vf1 vf2) + (.add.w.vf vf3 vf0 vf0 :mask #b1) + (.mul.x.vf acc vf3 vf1 :mask #b1) + (.add.mul.y.vf acc vf3 vf1 acc :mask #b1) + (.add.mul.z.vf acc vf3 vf1 acc :mask #b1) + (.add.mul.w.vf vf1 vf3 vf1 acc :mask #b1) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function vector+! @@ -874,10 +840,10 @@ ;; definition for function vector-reset! (defun vector-reset! ((arg0 vector)) (rlet ((vf0 :class vf)) - (init-vf0-vector) - (.svf (&-> arg0 quad) vf0) - arg0 - ) + (init-vf0-vector) + (.svf (&-> arg0 quad) vf0) + arg0 + ) ) ;; definition for function vector-copy! diff --git a/test/decompiler/reference/engine/math/vector_REF.gc b/test/decompiler/reference/engine/math/vector_REF.gc index 90c1260ff7..307fa92770 100644 --- a/test/decompiler/reference/engine/math/vector_REF.gc +++ b/test/decompiler/reference/engine/math/vector_REF.gc @@ -13,14 +13,14 @@ (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (.mov vf6 arg2) - (.lvf vf4 (&-> arg1 quad)) - (.add.x.vf vf5 vf0 vf0 :mask #b1000) - (.add.x.vf vf5 vf4 vf6 :mask #b111) - (.svf (&-> arg0 quad) vf5) - arg0 - ) + (init-vf0-vector) + (.mov vf6 arg2) + (.lvf vf4 (&-> arg1 quad)) + (.add.x.vf vf5 vf0 vf0 :mask #b1000) + (.add.x.vf vf5 vf4 vf6 :mask #b111) + (.svf (&-> arg0 quad) vf5) + arg0 + ) ) ;; definition for function vector*! @@ -30,14 +30,14 @@ (vf5 :class vf) (vf6 :class vf) ) - (init-vf0-vector) - (.lvf vf4 (&-> arg1 quad)) - (.lvf vf5 (&-> arg2 quad)) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.mul.vf vf6 vf4 vf5 :mask #b111) - (.svf (&-> arg0 quad) vf6) - arg0 - ) + (init-vf0-vector) + (.lvf vf4 (&-> arg1 quad)) + (.lvf vf5 (&-> arg2 quad)) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.vf vf6 vf4 vf5 :mask #b111) + (.svf (&-> arg0 quad) vf6) + arg0 + ) ) ;; definition for function vector+*! @@ -49,16 +49,16 @@ (vf6 :class vf) (vf7 :class vf) ) - (init-vf0-vector) - (.mov vf7 arg3) - (.lvf vf5 (&-> arg2 quad)) - (.lvf vf4 (&-> arg1 quad)) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.mul.x.vf acc vf5 vf7 :mask #b111) - (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) - (.svf (&-> arg0 quad) vf6) - arg0 - ) + (init-vf0-vector) + (.mov vf7 arg3) + (.lvf vf5 (&-> arg2 quad)) + (.lvf vf4 (&-> arg1 quad)) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf5 vf7 :mask #b111) + (.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111) + (.svf (&-> arg0 quad) vf6) + arg0 + ) ) ;; definition for function vector-*! @@ -70,16 +70,16 @@ (vf6 :class vf) (vf7 :class vf) ) - (init-vf0-vector) - (.mov vf7 arg3) - (.lvf vf5 (&-> arg2 quad)) - (.lvf vf4 (&-> arg1 quad)) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.mul.w.vf acc vf4 vf0 :mask #b111) - (.sub.mul.x.vf vf6 vf5 vf7 acc :mask #b111) - (.svf (&-> arg0 quad) vf6) - arg0 - ) + (init-vf0-vector) + (.mov vf7 arg3) + (.lvf vf5 (&-> arg2 quad)) + (.lvf vf4 (&-> arg1 quad)) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.mul.w.vf acc vf4 vf0 :mask #b111) + (.sub.mul.x.vf vf6 vf5 vf7 acc :mask #b111) + (.svf (&-> arg0 quad) vf6) + arg0 + ) ) ;; definition for function vector/! @@ -91,27 +91,27 @@ (vf6 :class vf) (vf7 :class vf) ) - (init-vf0-vector) - (.lvf vf5 (&-> arg2 quad)) - (.div.vf Q vf0 vf5 :fsf #b11 :ftf #b1) - (.add.x.vf vf6 vf0 vf0 :mask #b1000) - (.lvf vf4 (&-> arg1 quad)) - (let ((v1-0 (/ (-> arg1 x) (-> arg2 x)))) + (init-vf0-vector) + (.lvf vf5 (&-> arg2 quad)) + (.div.vf Q vf0 vf5 :fsf #b11 :ftf #b1) + (.add.x.vf vf6 vf0 vf0 :mask #b1000) + (.lvf vf4 (&-> arg1 quad)) + (let ((v1-0 (/ (-> arg1 x) (-> arg2 x)))) + (.wait.vf) + (.mul.vf vf6 vf4 Q :mask #b10) + (.nop.vf) + (.nop.vf) + (.div.vf Q vf0 vf5 :fsf #b11 :ftf #b10) + (.mov vf7 v1-0) + ) + (.add.x.vf vf6 vf0 vf7 :mask #b1) (.wait.vf) - (.mul.vf vf6 vf4 Q :mask #b10) + (.mul.vf vf6 vf4 Q :mask #b100) (.nop.vf) (.nop.vf) - (.div.vf Q vf0 vf5 :fsf #b11 :ftf #b10) - (.mov vf7 v1-0) + (.svf (&-> arg0 quad) vf6) + arg0 ) - (.add.x.vf vf6 vf0 vf7 :mask #b1) - (.wait.vf) - (.mul.vf vf6 vf4 Q :mask #b100) - (.nop.vf) - (.nop.vf) - (.svf (&-> arg0 quad) vf6) - arg0 - ) ) ;; definition for function vector-float*! @@ -120,14 +120,14 @@ (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg1 quad)) - (.mov vf2 arg2) - (.add.x.vf vf1 vf0 vf0 :mask #b1000) - (.mul.x.vf vf1 vf1 vf2 :mask #b111) - (.svf (&-> arg0 quad) vf1) - arg0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg1 quad)) + (.mov vf2 arg2) + (.add.x.vf vf1 vf0 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> arg0 quad) vf1) + arg0 + ) ) ;; definition for function vector-average! @@ -139,18 +139,18 @@ (vf3 :class vf) (vf4 :class vf) ) - (init-vf0-vector) - (let ((v1-0 #x3f000000)) - (.lvf vf1 (&-> arg1 quad)) - (.lvf vf2 (&-> arg2 quad)) - (.mov vf3 v1-0) + (init-vf0-vector) + (let ((v1-0 #x3f000000)) + (.lvf vf1 (&-> arg1 quad)) + (.lvf vf2 (&-> arg2 quad)) + (.mov vf3 v1-0) + ) + (.add.x.vf vf4 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf1 vf3) + (.add.mul.x.vf vf4 vf2 vf3 acc :mask #b111) + (.svf (&-> arg0 quad) vf4) + arg0 ) - (.add.x.vf vf4 vf0 vf0 :mask #b1000) - (.mul.x.vf acc vf1 vf3) - (.add.mul.x.vf vf4 vf2 vf3 acc :mask #b111) - (.svf (&-> arg0 quad) vf4) - arg0 - ) ) ;; definition for function vector+float*! @@ -162,16 +162,16 @@ (vf3 :class vf) (vf4 :class vf) ) - (init-vf0-vector) - (.lvf vf2 (&-> arg2 quad)) - (.lvf vf1 (&-> arg1 quad)) - (.mov vf3 arg3) - (.add.x.vf vf4 vf0 vf0 :mask #b1000) - (.mul.x.vf acc vf2 vf3) - (.add.mul.w.vf vf4 vf1 vf0 acc :mask #b111) - (.svf (&-> arg0 quad) vf4) - arg0 - ) + (init-vf0-vector) + (.lvf vf2 (&-> arg2 quad)) + (.lvf vf1 (&-> arg1 quad)) + (.mov vf3 arg3) + (.add.x.vf vf4 vf0 vf0 :mask #b1000) + (.mul.x.vf acc vf2 vf3) + (.add.mul.w.vf vf4 vf1 vf0 acc :mask #b111) + (.svf (&-> arg0 quad) vf4) + arg0 + ) ) ;; definition for function vector--float*! @@ -183,16 +183,16 @@ (vf3 :class vf) (vf4 :class vf) ) - (init-vf0-vector) - (.lvf vf2 (&-> arg2 quad)) - (.lvf vf1 (&-> arg1 quad)) - (.mov vf3 arg3) - (.add.x.vf vf4 vf0 vf0 :mask #b1000) - (.mul.w.vf acc vf1 vf0) - (.sub.mul.x.vf vf4 vf2 vf3 acc :mask #b111) - (.svf (&-> arg0 quad) vf4) - arg0 - ) + (init-vf0-vector) + (.lvf vf2 (&-> arg2 quad)) + (.lvf vf1 (&-> arg1 quad)) + (.mov vf3 arg3) + (.add.x.vf vf4 vf0 vf0 :mask #b1000) + (.mul.w.vf acc vf1 vf0) + (.sub.mul.x.vf vf4 vf2 vf3 acc :mask #b111) + (.svf (&-> arg0 quad) vf4) + arg0 + ) ) ;; definition for function vector-float/! @@ -203,18 +203,18 @@ (vf3 :class vf) (vf4 :class vf) ) - (init-vf0-vector) - (.mov vf3 arg2) - (.div.vf Q vf0 vf3 :fsf #b11 :ftf #b0) - (.lvf vf1 (&-> arg1 quad)) - (.add.x.vf vf4 vf0 vf0 :mask #b1000) - (.wait.vf) - (.mul.vf vf4 vf1 Q :mask #b111) - (.nop.vf) - (.nop.vf) - (.svf (&-> arg0 quad) vf4) - arg0 - ) + (init-vf0-vector) + (.mov vf3 arg2) + (.div.vf Q vf0 vf3 :fsf #b11 :ftf #b0) + (.lvf vf1 (&-> arg1 quad)) + (.add.x.vf vf4 vf0 vf0 :mask #b1000) + (.wait.vf) + (.mul.vf vf4 vf1 Q :mask #b111) + (.nop.vf) + (.nop.vf) + (.svf (&-> arg0 quad) vf4) + arg0 + ) ) ;; definition for function vector-negate! @@ -223,13 +223,13 @@ (vf1 :class vf) (vf4 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg1 quad)) - (.sub.vf vf4 vf0 vf1 :mask #b111) - (.add.x.vf vf4 vf0 vf0 :mask #b1000) - (.svf (&-> arg0 quad) vf4) - arg0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg1 quad)) + (.sub.vf vf4 vf0 vf1 :mask #b111) + (.add.x.vf vf4 vf0 vf0 :mask #b1000) + (.svf (&-> arg0 quad) vf4) + arg0 + ) ) ;; definition for function vector-negate-in-place! @@ -237,12 +237,12 @@ (rlet ((vf0 :class vf) (vf1 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 quad)) - (.sub.vf vf1 vf0 vf1 :mask #b111) - (.svf (&-> arg0 quad) vf1) - arg0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 quad)) + (.sub.vf vf1 vf0 vf1 :mask #b111) + (.svf (&-> arg0 quad) vf1) + arg0 + ) ) ;; definition for function vector= @@ -257,18 +257,18 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 quad)) - (.lvf vf2 (&-> arg1 quad)) - (.sub.vf vf1 vf2 vf1) - (.abs.vf vf1 vf1) - (.mul.x.vf acc vf0 vf1 :mask #b1000) - (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) - (.add.mul.z.vf vf3 vf0 vf1 acc :mask #b1000) - (.add.w.vf vf3 vf0 vf3 :mask #b1) - (.mov v0-0 vf3) - v0-0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 quad)) + (.lvf vf2 (&-> arg1 quad)) + (.sub.vf vf1 vf2 vf1) + (.abs.vf vf1 vf1) + (.mul.x.vf acc vf0 vf1 :mask #b1000) + (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) + (.add.mul.z.vf vf3 vf0 vf1 acc :mask #b1000) + (.add.w.vf vf3 vf0 vf3 :mask #b1) + (.mov v0-0 vf3) + v0-0 + ) ) ;; definition for function vector-seek! @@ -280,143 +280,133 @@ (vf4 :class vf) (vf5 :class vf) ) - (init-vf0-vector) - (.mov vf4 arg2) - (.lvf vf1 (&-> arg1 quad)) - (.lvf vf2 (&-> arg0 quad)) - (.add.x.vf vf1 vf0 vf0 :mask #b1000) - (.sub.x.vf vf5 vf0 vf4 :mask #b1) - (.sub.vf vf3 vf1 vf2 :mask #b111) - (.min.x.vf vf3 vf3 vf4 :mask #b111) - (.max.x.vf vf3 vf3 vf5 :mask #b111) - (.add.vf vf1 vf2 vf3 :mask #b111) - (.svf (&-> arg0 quad) vf1) - arg0 - ) + (init-vf0-vector) + (.mov vf4 arg2) + (.lvf vf1 (&-> arg1 quad)) + (.lvf vf2 (&-> arg0 quad)) + (.add.x.vf vf1 vf0 vf0 :mask #b1000) + (.sub.x.vf vf5 vf0 vf4 :mask #b1) + (.sub.vf vf3 vf1 vf2 :mask #b111) + (.min.x.vf vf3 vf3 vf4 :mask #b111) + (.max.x.vf vf3 vf3 vf5 :mask #b111) + (.add.vf vf1 vf2 vf3 :mask #b111) + (.svf (&-> arg0 quad) vf1) + arg0 + ) ) ;; definition for function vector-seek-2d-xz-smooth! -(defun - vector-seek-2d-xz-smooth! - ((vec vector) (target vector) (max-step float) (alpha float)) +(defun vector-seek-2d-xz-smooth! ((vec vector) (target vector) (max-step float) (alpha float)) (let ((x-diff (- (-> target x) (-> vec x))) (z-diff (- (-> target z) (-> vec z))) ) - (when (or (!= x-diff 0.0) (!= z-diff 0.0)) - (let* ((x-step (* x-diff alpha)) - (z-step (* z-diff alpha)) - (step-len (sqrtf (+ (* x-step x-step) (* z-step z-step)))) + (when (or (!= x-diff 0.0) (!= z-diff 0.0)) + (let* ((x-step (* x-diff alpha)) + (z-step (* z-diff alpha)) + (step-len (sqrtf (+ (* x-step x-step) (* z-step z-step)))) + ) + (cond + ((>= max-step step-len) + (+! (-> vec x) x-step) + (+! (-> vec z) z-step) ) - (cond - ((>= max-step step-len) - (+! (-> vec x) x-step) - (+! (-> vec z) z-step) - ) - (else - (let ((f2-6 (/ max-step step-len))) - (+! (-> vec x) (* f2-6 x-step)) - (+! (-> vec z) (* f2-6 z-step)) + (else + (let ((f2-6 (/ max-step step-len))) + (+! (-> vec x) (* f2-6 x-step)) + (+! (-> vec z) (* f2-6 z-step)) + ) + ) + ) ) - ) ) - ) ) - ) vec ) ;; definition for function vector-seek-2d-yz-smooth! -(defun - vector-seek-2d-yz-smooth! - ((vec vector) (target vector) (max-step float) (alpha float)) +(defun vector-seek-2d-yz-smooth! ((vec vector) (target vector) (max-step float) (alpha float)) (let ((y-diff (- (-> target y) (-> vec y))) (z-diff (- (-> target z) (-> vec z))) ) - (when (or (!= y-diff 0.0) (!= z-diff 0.0)) - (let* ((y-step (* y-diff alpha)) - (z-step (* z-diff alpha)) - (step-len (sqrtf (+ (* y-step y-step) (* z-step z-step)))) + (when (or (!= y-diff 0.0) (!= z-diff 0.0)) + (let* ((y-step (* y-diff alpha)) + (z-step (* z-diff alpha)) + (step-len (sqrtf (+ (* y-step y-step) (* z-step z-step)))) + ) + (cond + ((>= max-step step-len) + (+! (-> vec y) y-step) + (+! (-> vec z) z-step) ) - (cond - ((>= max-step step-len) - (+! (-> vec y) y-step) - (+! (-> vec z) z-step) - ) - (else - (let ((step-scale (/ max-step step-len))) - (+! (-> vec y) (* step-scale y-step)) - (+! (-> vec z) (* step-scale z-step)) + (else + (let ((step-scale (/ max-step step-len))) + (+! (-> vec y) (* step-scale y-step)) + (+! (-> vec z) (* step-scale z-step)) + ) + ) + ) ) - ) ) - ) ) - ) vec ) ;; definition for function vector-seek-3d-smooth! -(defun - vector-seek-3d-smooth! - ((vec vector) (target vector) (max-step float) (alpha float)) +(defun vector-seek-3d-smooth! ((vec vector) (target vector) (max-step float) (alpha float)) (let ((x-diff (- (-> target x) (-> vec x))) (y-diff (- (-> target y) (-> vec y))) (z-diff (- (-> target z) (-> vec z))) ) - (when (or (!= x-diff 0.0) (!= y-diff 0.0) (!= z-diff 0.0)) - (let* ((x-step (* x-diff alpha)) - (y-step (* y-diff alpha)) - (z-step (* z-diff alpha)) - (step-len - (sqrtf (+ (* x-step x-step) (* y-step y-step) (* z-step z-step))) - ) + (when (or (!= x-diff 0.0) (!= y-diff 0.0) (!= z-diff 0.0)) + (let* ((x-step (* x-diff alpha)) + (y-step (* y-diff alpha)) + (z-step (* z-diff alpha)) + (step-len (sqrtf (+ (* x-step x-step) (* y-step y-step) (* z-step z-step)))) + ) + (cond + ((>= max-step step-len) + (+! (-> vec x) x-step) + (+! (-> vec y) y-step) + (+! (-> vec z) z-step) ) - (cond - ((>= max-step step-len) - (+! (-> vec x) x-step) - (+! (-> vec y) y-step) - (+! (-> vec z) z-step) - ) - (else - (let ((step-scale (/ max-step step-len))) - (+! (-> vec x) (* step-scale x-step)) - (+! (-> vec y) (* step-scale y-step)) - (+! (-> vec z) (* step-scale z-step)) + (else + (let ((step-scale (/ max-step step-len))) + (+! (-> vec x) (* step-scale x-step)) + (+! (-> vec y) (* step-scale y-step)) + (+! (-> vec z) (* step-scale z-step)) + ) + ) + ) ) - ) ) - ) ) - ) vec ) ;; definition for function seek-with-smooth -(defun - seek-with-smooth - ((value float) (target float) (max-step float) (alpha float) (deadband float)) +(defun seek-with-smooth ((value float) (target float) (max-step float) (alpha float) (deadband float)) (let ((diff (- target value))) - (cond - ((>= deadband (fabs diff)) - target - ) - (else - (let ((step (* diff alpha))) - (let ((min-step (- max-step))) - (cond - ((< step min-step) - (set! step min-step) - ) - ((< max-step step) - (set! step max-step) - ) - ) + (cond + ((>= deadband (fabs diff)) + target ) - (+ step value) + (else + (let ((step (* diff alpha))) + (let ((min-step (- max-step))) + (cond + ((< step min-step) + (set! step min-step) + ) + ((< max-step step) + (set! step max-step) + ) + ) + ) + (+ step value) + ) + ) ) - ) ) - ) ) ;; definition for function vector-identity! @@ -457,15 +447,8 @@ ) ;; definition for function vector-v*float+! -(defun - vector-v*float+! - ((result vector) (position vector) (velocity vector) (velocity-scale float)) - (vector+float*! - result - position - velocity - (* velocity-scale (-> *display* seconds-per-frame)) - ) +(defun vector-v*float+! ((result vector) (position vector) (velocity vector) (velocity-scale float)) + (vector+float*! result position velocity (* velocity-scale (-> *display* seconds-per-frame))) result ) @@ -482,12 +465,7 @@ ;; definition for function vector-v*float++! (defun vector-v*float++! ((position vector) (velocity vector) (scale float)) - (vector+float*! - position - position - velocity - (* scale (-> *display* seconds-per-frame)) - ) + (vector+float*! position position velocity (* scale (-> *display* seconds-per-frame))) position ) @@ -498,17 +476,17 @@ (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg1 quad)) - (let ((f0-0 (-> *display* frames-per-second))) - (.mov at-0 f0-0) + (init-vf0-vector) + (.lvf vf1 (&-> arg1 quad)) + (let ((f0-0 (-> *display* frames-per-second))) + (.mov at-0 f0-0) + ) + (.mov vf2 at-0) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> arg0 quad) vf1) + arg0 ) - (.mov vf2 at-0) - (.mov.vf vf1 vf0 :mask #b1000) - (.mul.x.vf vf1 vf1 vf2 :mask #b111) - (.svf (&-> arg0 quad) vf1) - arg0 - ) ) ;; definition for function vector-from-ups! @@ -518,17 +496,17 @@ (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg1 quad)) - (let ((f0-0 (-> *display* seconds-per-frame))) - (.mov at-0 f0-0) + (init-vf0-vector) + (.lvf vf1 (&-> arg1 quad)) + (let ((f0-0 (-> *display* seconds-per-frame))) + (.mov at-0 f0-0) + ) + (.mov vf2 at-0) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> arg0 quad) vf1) + arg0 ) - (.mov vf2 at-0) - (.mov.vf vf1 vf0 :mask #b1000) - (.mul.x.vf vf1 vf1 vf2 :mask #b111) - (.svf (&-> arg0 quad) vf1) - arg0 - ) ) ;; definition for function vector-length @@ -539,21 +517,21 @@ (vf0 :class vf) (vf1 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 quad)) - (.mul.vf vf1 vf1 vf1) - (.mul.x.vf acc vf0 vf1 :mask #b1000) - (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) - (.add.mul.z.vf vf1 vf0 vf1 acc :mask #b1000) - (.sqrt.vf Q vf1 :ftf #b11) - (.add.w.vf vf1 vf0 vf0 :mask #b1) - (.wait.vf) - (.mul.vf vf1 vf1 Q :mask #b1) - (.nop.vf) - (.nop.vf) - (.mov v0-0 vf1) - v0-0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 quad)) + (.mul.vf vf1 vf1 vf1) + (.mul.x.vf acc vf0 vf1 :mask #b1000) + (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) + (.add.mul.z.vf vf1 vf0 vf1 acc :mask #b1000) + (.sqrt.vf Q vf1 :ftf #b11) + (.add.w.vf vf1 vf0 vf0 :mask #b1) + (.wait.vf) + (.mul.vf vf1 vf1 Q :mask #b1) + (.nop.vf) + (.nop.vf) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function vector-length-squared @@ -564,16 +542,16 @@ (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 quad)) - (.add.w.vf vf2 vf0 vf0 :mask #b1) - (.mul.vf vf1 vf1 vf1) - (.mul.x.vf acc vf2 vf1 :mask #b1) - (.add.mul.y.vf acc vf2 vf1 acc :mask #b1) - (.add.mul.z.vf vf1 vf2 vf1 acc :mask #b1) - (.mov v0-0 vf1) - v0-0 - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 quad)) + (.add.w.vf vf2 vf0 vf0 :mask #b1) + (.mul.vf vf1 vf1 vf1) + (.mul.x.vf acc vf2 vf1 :mask #b1) + (.add.mul.y.vf acc vf2 vf1 acc :mask #b1) + (.add.mul.z.vf vf1 vf2 vf1 acc :mask #b1) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function vector-xz-length-squared @@ -596,23 +574,23 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf2 (&-> arg0 quad)) - (.lvf vf3 (&-> arg1 quad)) - (.sub.vf vf1 vf3 vf2) - (.mul.vf vf1 vf1 vf1) - (.mul.x.vf acc vf0 vf1 :mask #b1000) - (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) - (.add.mul.z.vf vf1 vf0 vf1 acc :mask #b1000) - (.sqrt.vf Q vf1 :ftf #b11) - (.add.w.vf vf1 vf0 vf0 :mask #b1) - (.wait.vf) - (.mul.vf vf1 vf1 Q :mask #b1) - (.nop.vf) - (.nop.vf) - (.mov v0-0 vf1) - v0-0 - ) + (init-vf0-vector) + (.lvf vf2 (&-> arg0 quad)) + (.lvf vf3 (&-> arg1 quad)) + (.sub.vf vf1 vf3 vf2) + (.mul.vf vf1 vf1 vf1) + (.mul.x.vf acc vf0 vf1 :mask #b1000) + (.add.mul.y.vf acc vf0 vf1 acc :mask #b1000) + (.add.mul.z.vf vf1 vf0 vf1 acc :mask #b1000) + (.sqrt.vf Q vf1 :ftf #b11) + (.add.w.vf vf1 vf0 vf0 :mask #b1) + (.wait.vf) + (.mul.vf vf1 vf1 Q :mask #b1) + (.nop.vf) + (.nop.vf) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function vector-vector-distance-squared @@ -622,15 +600,15 @@ (vf2 :class vf) (vf3 :class vf) ) - (.lvf vf2 (&-> arg0 quad)) - (.lvf vf3 (&-> arg1 quad)) - (.sub.vf vf1 vf3 vf2) - (.mul.vf vf1 vf1 vf1) - (.add.y.vf vf1 vf1 vf1 :mask #b1) - (.add.z.vf vf1 vf1 vf1 :mask #b1) - (.mov v0-0 vf1) - v0-0 - ) + (.lvf vf2 (&-> arg0 quad)) + (.lvf vf3 (&-> arg1 quad)) + (.sub.vf vf1 vf3 vf2) + (.mul.vf vf1 vf1 vf1) + (.add.y.vf vf1 vf1 vf1 :mask #b1) + (.add.z.vf vf1 vf1 vf1 :mask #b1) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function vector-vector-xz-distance @@ -643,22 +621,22 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf2 (&-> arg0 quad)) - (.lvf vf3 (&-> arg1 quad)) - (.sub.vf vf1 vf3 vf2) - (.mul.vf vf1 vf1 vf1) - (.mul.x.vf acc vf0 vf1 :mask #b1000) - (.add.mul.z.vf vf1 vf0 vf1 acc :mask #b1000) - (.sqrt.vf Q vf1 :ftf #b11) - (.add.w.vf vf1 vf0 vf0 :mask #b1) - (.wait.vf) - (.mul.vf vf1 vf1 Q :mask #b1) - (.nop.vf) - (.nop.vf) - (.mov v0-0 vf1) - v0-0 - ) + (init-vf0-vector) + (.lvf vf2 (&-> arg0 quad)) + (.lvf vf3 (&-> arg1 quad)) + (.sub.vf vf1 vf3 vf2) + (.mul.vf vf1 vf1 vf1) + (.mul.x.vf acc vf0 vf1 :mask #b1000) + (.add.mul.z.vf vf1 vf0 vf1 acc :mask #b1000) + (.sqrt.vf Q vf1 :ftf #b11) + (.add.w.vf vf1 vf0 vf0 :mask #b1) + (.wait.vf) + (.mul.vf vf1 vf1 Q :mask #b1) + (.nop.vf) + (.nop.vf) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function vector-vector-xz-distance-squared @@ -668,14 +646,14 @@ (vf2 :class vf) (vf3 :class vf) ) - (.lvf vf2 (&-> arg0 quad)) - (.lvf vf3 (&-> arg1 quad)) - (.sub.vf vf1 vf3 vf2) - (.mul.vf vf1 vf1 vf1) - (.add.z.vf vf1 vf1 vf1 :mask #b1) - (.mov v0-0 vf1) - v0-0 - ) + (.lvf vf2 (&-> arg0 quad)) + (.lvf vf3 (&-> arg1 quad)) + (.sub.vf vf1 vf3 vf2) + (.mul.vf vf1 vf1 vf1) + (.add.z.vf vf1 vf1 vf1 :mask #b1) + (.mov v0-0 vf1) + v0-0 + ) ) ;; definition for function vector-normalize! @@ -687,24 +665,24 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 quad)) - (.mul.vf vf2 vf1 vf1 :mask #b111) - (let ((v1-0 arg1)) - (.mov vf3 v1-0) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 quad)) + (.mul.vf vf2 vf1 vf1 :mask #b111) + (let ((v1-0 arg1)) + (.mov vf3 v1-0) + ) + (.mul.x.vf acc vf0 vf2 :mask #b1000) + (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) + (.add.mul.z.vf vf2 vf0 vf2 acc :mask #b1000) + (.isqrt.vf Q vf3 vf2 :fsf #b0 :ftf #b11) + (.wait.vf) + (.mul.vf vf1 vf1 Q :mask #b111) + (.nop.vf) + (.nop.vf) + (.nop.vf) + (.svf (&-> arg0 quad) vf1) + arg0 ) - (.mul.x.vf acc vf0 vf2 :mask #b1000) - (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) - (.add.mul.z.vf vf2 vf0 vf2 acc :mask #b1000) - (.isqrt.vf Q vf3 vf2 :fsf #b0 :ftf #b11) - (.wait.vf) - (.mul.vf vf1 vf1 Q :mask #b111) - (.nop.vf) - (.nop.vf) - (.nop.vf) - (.svf (&-> arg0 quad) vf1) - arg0 - ) ) ;; definition for function vector-normalize-ret-len! @@ -717,47 +695,47 @@ (vf2 :class vf) (vf3 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 quad)) - (.mul.vf vf2 vf1 vf1 :mask #b111) - (let ((v1-0 arg1)) - (.mov vf3 v1-0) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 quad)) + (.mul.vf vf2 vf1 vf1 :mask #b111) + (let ((v1-0 arg1)) + (.mov vf3 v1-0) + ) + (.mul.x.vf acc vf0 vf2 :mask #b1000) + (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) + (.add.mul.z.vf vf2 vf0 vf2 acc :mask #b1000) + (.isqrt.vf Q vf3 vf2 :fsf #b0 :ftf #b11) + (.add.w.vf vf2 vf0 vf2 :mask #b1) + (.mov v1-1 vf2) + (let ((v0-0 (sqrtf v1-1))) + (.wait.vf) + (.mul.vf vf1 vf1 Q :mask #b111) + (.nop.vf) + (.nop.vf) + (.nop.vf) + (.svf (&-> arg0 quad) vf1) + v0-0 + ) ) - (.mul.x.vf acc vf0 vf2 :mask #b1000) - (.add.mul.y.vf acc vf0 vf2 acc :mask #b1000) - (.add.mul.z.vf vf2 vf0 vf2 acc :mask #b1000) - (.isqrt.vf Q vf3 vf2 :fsf #b0 :ftf #b11) - (.add.w.vf vf2 vf0 vf2 :mask #b1) - (.mov v1-1 vf2) - (let ((v0-0 (sqrtf v1-1))) - (.wait.vf) - (.mul.vf vf1 vf1 Q :mask #b111) - (.nop.vf) - (.nop.vf) - (.nop.vf) - (.svf (&-> arg0 quad) vf1) - v0-0 - ) - ) ) ;; definition for function vector-normalize-copy! ;; Used lq/sq (defun vector-normalize-copy! ((arg0 vector) (arg1 vector) (arg2 float)) (let ((f0-0 (vector-length arg1))) - (cond - ((= f0-0 0.0) - (set! (-> arg0 quad) (-> arg1 quad)) - ) - (else - (let ((v1-1 (/ arg2 f0-0))) - (set! (-> arg0 x) (* (-> arg1 x) v1-1)) - (set! (-> arg0 y) (* (-> arg1 y) v1-1)) - (set! (-> arg0 z) (* (-> arg1 z) v1-1)) + (cond + ((= f0-0 0.0) + (set! (-> arg0 quad) (-> arg1 quad)) + ) + (else + (let ((v1-1 (/ arg2 f0-0))) + (set! (-> arg0 x) (* (-> arg1 x) v1-1)) + (set! (-> arg0 y) (* (-> arg1 y) v1-1)) + (set! (-> arg0 z) (* (-> arg1 z) v1-1)) + ) + ) ) - ) ) - ) (set! (-> arg0 w) 1.0) arg0 ) @@ -765,44 +743,44 @@ ;; definition for function vector-xz-normalize! (defun vector-xz-normalize! ((arg0 vector) (arg1 float)) (let ((f0-0 (vector-xz-length arg0))) - (when (!= f0-0 0.0) - (let ((v1-1 (/ arg1 f0-0))) - (set! (-> arg0 x) (* (-> arg0 x) v1-1)) - (set! (-> arg0 z) (* (-> arg0 z) v1-1)) - ) + (when (!= f0-0 0.0) + (let ((v1-1 (/ arg1 f0-0))) + (set! (-> arg0 x) (* (-> arg0 x) v1-1)) + (set! (-> arg0 z) (* (-> arg0 z) v1-1)) + ) + ) ) - ) arg0 ) ;; definition for function vector-length-max! (defun vector-length-max! ((arg0 vector) (arg1 float)) (let ((f0-0 (vector-length arg0))) - (when (not (or (= f0-0 0.0) (< f0-0 arg1))) - (let ((f0-1 (/ f0-0 arg1))) - (when (!= f0-1 0.0) - (set! (-> arg0 x) (/ (-> arg0 x) f0-1)) - (set! (-> arg0 y) (/ (-> arg0 y) f0-1)) - (set! (-> arg0 z) (/ (-> arg0 z) f0-1)) + (when (not (or (= f0-0 0.0) (< f0-0 arg1))) + (let ((f0-1 (/ f0-0 arg1))) + (when (!= f0-1 0.0) + (set! (-> arg0 x) (/ (-> arg0 x) f0-1)) + (set! (-> arg0 y) (/ (-> arg0 y) f0-1)) + (set! (-> arg0 z) (/ (-> arg0 z) f0-1)) + ) + ) ) - ) ) - ) arg0 ) ;; definition for function vector-xz-length-max! (defun vector-xz-length-max! ((arg0 vector) (arg1 float)) (let ((f0-0 (vector-xz-length arg0))) - (when (not (or (= f0-0 0.0) (< f0-0 arg1))) - (let ((f0-1 (/ f0-0 arg1))) - (when (!= f0-1 0.0) - (set! (-> arg0 x) (/ (-> arg0 x) f0-1)) - (set! (-> arg0 z) (/ (-> arg0 z) f0-1)) + (when (not (or (= f0-0 0.0) (< f0-0 arg1))) + (let ((f0-1 (/ f0-0 arg1))) + (when (!= f0-1 0.0) + (set! (-> arg0 x) (/ (-> arg0 x) f0-1)) + (set! (-> arg0 z) (/ (-> arg0 z) f0-1)) + ) + ) ) - ) ) - ) arg0 ) @@ -814,10 +792,10 @@ (f28-0 (cos arg2)) (f0-0 (sin arg2)) ) - (set! (-> arg0 quad) (-> arg1 quad)) - (set! (-> arg0 z) (- (* f26-0 f28-0) (* f30-0 f0-0))) - (set! (-> arg0 x) (+ (* f26-0 f0-0) (* f30-0 f28-0))) - ) + (set! (-> arg0 quad) (-> arg1 quad)) + (set! (-> arg0 z) (- (* f26-0 f28-0) (* f30-0 f0-0))) + (set! (-> arg0 x) (+ (* f26-0 f0-0) (* f30-0 f28-0))) + ) arg0 ) @@ -829,21 +807,21 @@ ;; definition for function vector-cvt.w.s! (defun vector-cvt.w.s! ((arg0 vector) (arg1 vector)) (rlet ((vf1 :class vf)) - (.lvf vf1 (&-> arg1 quad)) - (.ftoi.vf vf1 vf1) - (.svf (&-> arg0 quad) vf1) - arg0 - ) + (.lvf vf1 (&-> arg1 quad)) + (.ftoi.vf vf1 vf1) + (.svf (&-> arg0 quad) vf1) + arg0 + ) ) ;; definition for function vector-cvt.s.w! (defun vector-cvt.s.w! ((arg0 vector) (arg1 vector)) (rlet ((vf1 :class vf)) - (.lvf vf1 (&-> arg1 quad)) - (.itof.vf vf1 vf1) - (.svf (&-> arg0 quad) vf1) - arg0 - ) + (.lvf vf1 (&-> arg1 quad)) + (.itof.vf vf1 vf1) + (.svf (&-> arg0 quad) vf1) + arg0 + ) ) ;; definition for function rot-zxy-from-vector! @@ -852,13 +830,13 @@ (f30-0 (-> arg1 x)) (f0-0 (atan f30-0 f28-0)) ) - (set! (-> arg0 y) f0-0) - (let* ((f26-0 (- f0-0)) - (f0-4 (- (* f28-0 (cos f26-0)) (* f30-0 (sin f26-0)))) - ) - (set! (-> arg0 x) (atan (- (-> arg1 y)) f0-4)) + (set! (-> arg0 y) f0-0) + (let* ((f26-0 (- f0-0)) + (f0-4 (- (* f28-0 (cos f26-0)) (* f30-0 (sin f26-0)))) + ) + (set! (-> arg0 x) (atan (- (-> arg1 y)) f0-4)) + ) ) - ) (set! (-> arg0 z) 0.0) arg0 ) @@ -869,13 +847,13 @@ (f30-0 (- (-> arg1 y))) (f0-1 (atan f30-0 f28-0)) ) - (set! (-> arg0 x) f0-1) - (let* ((f26-0 (- f0-1)) - (f0-5 (- (* f28-0 (cos f26-0)) (* f30-0 (sin f26-0)))) - ) - (set! (-> arg0 y) (atan (-> arg1 x) f0-5)) + (set! (-> arg0 x) f0-1) + (let* ((f26-0 (- f0-1)) + (f0-5 (- (* f28-0 (cos f26-0)) (* f30-0 (sin f26-0)))) + ) + (set! (-> arg0 y) (atan (-> arg1 x) f0-5)) + ) ) - ) (set! (-> arg0 z) 0.0) arg0 ) @@ -888,17 +866,17 @@ (vf3 :class vf) (vf4 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> a quad)) - (.lvf vf2 (&-> b quad)) - (.mov vf4 alpha) - (.add.x.vf vf3 vf0 vf0 :mask #b1000) - (.sub.vf vf2 vf2 vf1) - (.mul.x.vf vf2 vf2 vf4) - (.add.vf vf3 vf1 vf2 :mask #b111) - (.svf (&-> out quad) vf3) - out - ) + (init-vf0-vector) + (.lvf vf1 (&-> a quad)) + (.lvf vf2 (&-> b quad)) + (.mov vf4 alpha) + (.add.x.vf vf3 vf0 vf0 :mask #b1000) + (.sub.vf vf2 vf2 vf1) + (.mul.x.vf vf2 vf2 vf4) + (.add.vf vf3 vf1 vf2 :mask #b111) + (.svf (&-> out quad) vf3) + out + ) ) ;; definition for function vector-lerp-clamp! @@ -910,33 +888,33 @@ (vf3 :class vf) (vf4 :class vf) ) - (init-vf0-vector) - (cond - ((>= 0.0 alpha) - (set! (-> out quad) (-> a quad)) - ) - ((>= alpha 1.0) - (set! (-> out quad) (-> b quad)) - ) - (else - (let ((v1-2 out)) - (let ((f0-2 alpha)) - (.lvf vf1 (&-> a quad)) - (.lvf vf2 (&-> b quad)) - (let ((a1-1 f0-2)) - (.mov vf4 a1-1) - ) + (init-vf0-vector) + (cond + ((>= 0.0 alpha) + (set! (-> out quad) (-> a quad)) ) - (.add.x.vf vf3 vf0 vf0 :mask #b1000) - (.sub.vf vf2 vf2 vf1) - (.mul.x.vf vf2 vf2 vf4) - (.add.vf vf3 vf1 vf2 :mask #b111) - (.svf (&-> v1-2 quad) vf3) + ((>= alpha 1.0) + (set! (-> out quad) (-> b quad)) + ) + (else + (let ((v1-2 out)) + (let ((f0-2 alpha)) + (.lvf vf1 (&-> a quad)) + (.lvf vf2 (&-> b quad)) + (let ((a1-1 f0-2)) + (.mov vf4 a1-1) + ) + ) + (.add.x.vf vf3 vf0 vf0 :mask #b1000) + (.sub.vf vf2 vf2 vf1) + (.mul.x.vf vf2 vf2 vf4) + (.add.vf vf3 vf1 vf2 :mask #b111) + (.svf (&-> v1-2 quad) vf3) + ) + ) ) - ) + out ) - out - ) ) ;; definition for function vector4-lerp! @@ -946,15 +924,15 @@ (vf3 :class vf) (vf4 :class vf) ) - (.lvf vf1 (&-> a quad)) - (.lvf vf2 (&-> b quad)) - (.mov vf4 alpha) - (.sub.vf vf2 vf2 vf1) - (.mul.x.vf vf2 vf2 vf4) - (.add.vf vf3 vf1 vf2) - (.svf (&-> out quad) vf3) - out - ) + (.lvf vf1 (&-> a quad)) + (.lvf vf2 (&-> b quad)) + (.mov vf4 alpha) + (.sub.vf vf2 vf2 vf1) + (.mul.x.vf vf2 vf2 vf4) + (.add.vf vf3 vf1 vf2) + (.svf (&-> out quad) vf3) + out + ) ) ;; definition for function vector4-lerp-clamp! @@ -965,31 +943,31 @@ (vf3 :class vf) (vf4 :class vf) ) - (cond - ((>= 0.0 alpha) - (set! (-> out quad) (-> a quad)) - ) - ((>= alpha 1.0) - (set! (-> out quad) (-> b quad)) - ) - (else - (let ((v1-2 out)) - (let ((f0-2 alpha)) - (.lvf vf1 (&-> a quad)) - (.lvf vf2 (&-> b quad)) - (let ((a1-1 f0-2)) - (.mov vf4 a1-1) - ) + (cond + ((>= 0.0 alpha) + (set! (-> out quad) (-> a quad)) ) - (.sub.vf vf2 vf2 vf1) - (.mul.x.vf vf2 vf2 vf4) - (.add.vf vf3 vf1 vf2) - (.svf (&-> v1-2 quad) vf3) + ((>= alpha 1.0) + (set! (-> out quad) (-> b quad)) + ) + (else + (let ((v1-2 out)) + (let ((f0-2 alpha)) + (.lvf vf1 (&-> a quad)) + (.lvf vf2 (&-> b quad)) + (let ((a1-1 f0-2)) + (.mov vf4 a1-1) + ) + ) + (.sub.vf vf2 vf2 vf1) + (.mul.x.vf vf2 vf2 vf4) + (.add.vf vf3 vf1 vf2) + (.svf (&-> v1-2 quad) vf3) + ) + ) ) - ) + out ) - out - ) ) ;; definition for function vector-degi @@ -997,13 +975,13 @@ (defun vector-degi ((arg0 vector) (arg1 vector)) (local-vars (v1-0 uint128) (v1-1 uint128)) (rlet ((vf1 :class vf)) - (.lvf vf1 (&-> arg1 quad)) - (.ftoi.vf vf1 vf1) - (.mov v1-0 vf1) - (.pw.sll v1-1 v1-0 16) - (set! (-> arg0 quad) v1-1) - arg0 - ) + (.lvf vf1 (&-> arg1 quad)) + (.ftoi.vf vf1 vf1) + (.mov v1-0 vf1) + (.pw.sll v1-1 v1-0 16) + (set! (-> arg0 quad) v1-1) + arg0 + ) ) ;; definition for function vector-degf @@ -1011,84 +989,82 @@ (defun vector-degf ((arg0 vector) (arg1 vector)) (local-vars (v1-1 uint128)) (rlet ((vf1 :class vf)) - (let ((v1-0 (-> arg1 quad))) - (.pw.sra v1-1 v1-0 16) + (let ((v1-0 (-> arg1 quad))) + (.pw.sra v1-1 v1-0 16) + ) + (.mov vf1 v1-1) + (.itof.vf vf1 vf1) + (.svf (&-> arg0 quad) vf1) + arg0 ) - (.mov vf1 v1-1) - (.itof.vf vf1 vf1) - (.svf (&-> arg0 quad) vf1) - arg0 - ) ) ;; definition for function vector-degmod (defun vector-degmod ((arg0 vector) (arg1 vector)) (local-vars (v1-0 uint128) (v1-1 uint128) (v1-2 uint128)) (rlet ((vf1 :class vf)) - (.lvf vf1 (&-> arg1 quad)) - (.ftoi.vf vf1 vf1) - (.mov v1-0 vf1) - (.pw.sll v1-1 v1-0 16) - (.pw.sra v1-2 v1-1 16) - (.mov vf1 v1-2) - (.itof.vf vf1 vf1) - (.svf (&-> arg0 quad) vf1) - arg0 - ) + (.lvf vf1 (&-> arg1 quad)) + (.ftoi.vf vf1 vf1) + (.mov v1-0 vf1) + (.pw.sll v1-1 v1-0 16) + (.pw.sra v1-2 v1-1 16) + (.mov vf1 v1-2) + (.itof.vf vf1 vf1) + (.svf (&-> arg0 quad) vf1) + arg0 + ) ) ;; definition for function vector-deg-diff ;; INFO: Return type mismatch float vs none. (defun vector-deg-diff ((arg0 vector) (arg1 vector) (arg2 vector)) (local-vars - (v0-0 float) - (v1-0 uint128) - (v1-1 uint128) - (v1-2 uint128) - (v1-3 uint128) - (a1-1 uint128) - (a1-2 uint128) - ) + (v0-0 float) + (v1-0 uint128) + (v1-1 uint128) + (v1-2 uint128) + (v1-3 uint128) + (a1-1 uint128) + (a1-2 uint128) + ) (rlet ((vf1 :class vf) (vf2 :class vf) ) - (.lvf vf1 (&-> arg1 quad)) - (.lvf vf2 (&-> arg2 quad)) - (.ftoi.vf vf1 vf1) - (.ftoi.vf vf2 vf2) - (.mov a1-1 vf1) - (.mov v1-0 vf2) - (.pw.sll a1-2 a1-1 16) - (.pw.sll v1-1 v1-0 16) - (.psubw v1-2 a1-2 v1-1) - (.pw.sra v1-3 v1-2 16) - (.mov vf1 v1-3) - (.itof.vf vf1 vf1) - (.svf (&-> arg0 quad) vf1) - (.mov v0-0 vf1) - (none) - ) + (.lvf vf1 (&-> arg1 quad)) + (.lvf vf2 (&-> arg2 quad)) + (.ftoi.vf vf1 vf1) + (.ftoi.vf vf2 vf2) + (.mov a1-1 vf1) + (.mov v1-0 vf2) + (.pw.sll a1-2 a1-1 16) + (.pw.sll v1-1 v1-0 16) + (.psubw v1-2 a1-2 v1-1) + (.pw.sra v1-3 v1-2 16) + (.mov vf1 v1-3) + (.itof.vf vf1 vf1) + (.svf (&-> arg0 quad) vf1) + (.mov v0-0 vf1) + (none) + ) ) ;; definition for function vector-deg-lerp-clamp! ;; Used lq/sq -(defun - vector-deg-lerp-clamp! - ((out vector) (min-val vector) (max-val vector) (in float)) +(defun vector-deg-lerp-clamp! ((out vector) (min-val vector) (max-val vector) (in float)) (cond - ((>= 0.0 in) - (set! (-> out quad) (-> min-val quad)) + ((>= 0.0 in) + (set! (-> out quad) (-> min-val quad)) + ) + ((>= in 1.0) + (set! (-> out quad) (-> max-val quad)) + ) + (else + (set! (-> out x) (deg-lerp-clamp (-> min-val x) (-> max-val x) in)) + (set! (-> out y) (deg-lerp-clamp (-> min-val y) (-> max-val y) in)) + (set! (-> out z) (deg-lerp-clamp (-> min-val z) (-> max-val z) in)) + (set! (-> out w) 1.0) + ) ) - ((>= in 1.0) - (set! (-> out quad) (-> max-val quad)) - ) - (else - (set! (-> out x) (deg-lerp-clamp (-> min-val x) (-> max-val x) in)) - (set! (-> out y) (deg-lerp-clamp (-> min-val y) (-> max-val y) in)) - (set! (-> out z) (deg-lerp-clamp (-> min-val z) (-> max-val z) in)) - (set! (-> out w) 1.0) - ) - ) out ) @@ -1137,29 +1113,29 @@ (vf3 :class vf) (vf4 :class vf) ) - (init-vf0-vector) - (.lvf vf1 (&-> arg0 quad)) - (.lvf vf2 (&-> arg1 quad)) - (.sub.vf vf3 vf1 vf2 :mask #b111) - (.mul.vf vf3 vf3 vf3 :mask #b111) - (.add.w.vf vf4 vf1 vf2 :mask #b1000) - (.mul.w.vf vf4 vf4 vf4 :mask #b1000) - (.add.y.vf vf3 vf3 vf3 :mask #b1) - (.add.z.vf vf3 vf3 vf3 :mask #b1) - (.add.w.vf vf4 vf0 vf4 :mask #b1) - (.mov a0-1 vf4) - (.mov v1-0 vf3) - (>= a0-1 v1-0) - ) + (init-vf0-vector) + (.lvf vf1 (&-> arg0 quad)) + (.lvf vf2 (&-> arg1 quad)) + (.sub.vf vf3 vf1 vf2 :mask #b111) + (.mul.vf vf3 vf3 vf3 :mask #b111) + (.add.w.vf vf4 vf1 vf2 :mask #b1000) + (.mul.w.vf vf4 vf4 vf4 :mask #b1000) + (.add.y.vf vf3 vf3 vf3 :mask #b1) + (.add.z.vf vf3 vf3 vf3 :mask #b1) + (.add.w.vf vf4 vf0 vf4 :mask #b1) + (.mov a0-1 vf4) + (.mov v1-0 vf3) + (>= a0-1 v1-0) + ) ) ;; definition for function sphere<-vector! ;; Used lq/sq (defun sphere<-vector! ((arg0 sphere) (arg1 vector)) (let ((f0-0 (-> arg0 w))) - (set! (-> arg0 quad) (-> arg1 quad)) - (set! (-> arg0 w) f0-0) - ) + (set! (-> arg0 quad) (-> arg1 quad)) + (set! (-> arg0 w) f0-0) + ) arg0 ) @@ -1174,11 +1150,11 @@ ;; definition for function rand-vu-sphere-point! (defun rand-vu-sphere-point! ((arg0 vector) (arg1 float)) (set-vector! - arg0 - (rand-vu-float-range -1.0 1.0) - (rand-vu-float-range -1.0 1.0) - (rand-vu-float-range -1.0 1.0) - 1.0 - ) + arg0 + (rand-vu-float-range -1.0 1.0) + (rand-vu-float-range -1.0 1.0) + (rand-vu-float-range -1.0 1.0) + 1.0 + ) (vector-normalize! arg0 (rand-vu-float-range 0.0 arg1)) ) diff --git a/test/decompiler/reference/engine/nav/navigate-h_REF.gc b/test/decompiler/reference/engine/nav/navigate-h_REF.gc index bc443ca3a7..2d8c00a55e 100644 --- a/test/decompiler/reference/engine/nav/navigate-h_REF.gc +++ b/test/decompiler/reference/engine/nav/navigate-h_REF.gc @@ -137,10 +137,7 @@ ) ;; definition for method 3 of type clip-travel-vector-to-mesh-return-info -(defmethod - inspect - clip-travel-vector-to-mesh-return-info - ((obj clip-travel-vector-to-mesh-return-info)) +(defmethod inspect clip-travel-vector-to-mesh-return-info ((obj clip-travel-vector-to-mesh-return-info)) (format #t "[~8x] ~A~%" obj 'clip-travel-vector-to-mesh-return-info) (format #t "~Tfound-boundary: ~A~%" (-> obj found-boundary)) (format #t "~Tintersection: #~%" (-> obj intersection)) @@ -316,10 +313,7 @@ ) ;; definition for method 3 of type check-vector-collision-with-nav-spheres-info -(defmethod - inspect - check-vector-collision-with-nav-spheres-info - ((obj check-vector-collision-with-nav-spheres-info)) +(defmethod inspect check-vector-collision-with-nav-spheres-info ((obj check-vector-collision-with-nav-spheres-info)) (format #t "[~8x] ~A~%" obj 'check-vector-collision-with-nav-spheres-info) (format #t "~Tu: ~f~%" (-> obj u)) (format #t "~Tintersect: #~%" (-> obj intersect)) @@ -422,11 +416,7 @@ (format #t "~Tnext-poly: #~%" (-> obj next-poly)) (format #t "~Ttarget-poly: #~%" (-> obj target-poly)) (format #t "~Tportal[2] @ #x~X~%" (-> obj portal)) - (format - #t - "~Tnearest-y-threshold: (meters ~m)~%" - (-> obj nearest-y-threshold) - ) + (format #t "~Tnearest-y-threshold: (meters ~m)~%" (-> obj nearest-y-threshold)) (format #t "~Tevent-temp: ~`vector`P~%" (-> obj event-temp)) (format #t "~Told-travel: ~`vector`P~%" (-> obj old-travel)) (format #t "~Tblocked-travel: ~`vector`P~%" (-> obj blocked-travel)) @@ -450,151 +440,96 @@ (defun nav-mesh-connect ((proc process) (trans trsqv) (nav-cont nav-control)) (local-vars (sv-16 type) (sv-32 symbol)) (with-pp - (let ((ent (-> proc entity))) - (when (zero? (-> (the-as entity-actor ent) nav-mesh)) - (let - ((lookup-entity - (entity-actor-lookup (the-as entity-actor ent) 'nav-mesh-actor 0) - ) - ) - (if lookup-entity - (set! ent lookup-entity) - ) - ) - ) - (let ((entity-nav-mesh (-> (the-as entity-actor ent) nav-mesh))) - (cond - ((nonzero? entity-nav-mesh) - (when (zero? (-> entity-nav-mesh user-list)) - (set! - process-level-heap - (-> - (the-as entity-links (-> (the-as entity (-> pp entity)) extra)) - level - heap - ) - ) - (let ((s1-0 (method-of-type engine new)) - (s0-0 'process-level-heap) + (let ((ent (-> proc entity))) + (when (zero? (-> (the-as entity-actor ent) nav-mesh)) + (let ((lookup-entity (entity-actor-lookup (the-as entity-actor ent) 'nav-mesh-actor 0))) + (if lookup-entity + (set! ent lookup-entity) ) - (set! sv-16 engine) - (set! sv-32 'nav-engine) - (let - ((a3-1 - (res-lump-value - ent - 'nav-max-users - uint128 - :default - (the-as uint128 32) + ) + ) + (let ((entity-nav-mesh (-> (the-as entity-actor ent) nav-mesh))) + (cond + ((nonzero? entity-nav-mesh) + (when (zero? (-> entity-nav-mesh user-list)) + (set! process-level-heap (-> (the-as entity-links (-> (the-as entity (-> pp entity)) extra)) level heap)) + (let ((s1-0 (method-of-type engine new)) + (s0-0 'process-level-heap) + ) + (set! sv-16 engine) + (set! sv-32 'nav-engine) + (let ((a3-1 (res-lump-value ent 'nav-max-users uint128 :default (the-as uint128 32)))) + (set! (-> entity-nav-mesh user-list) (s1-0 s0-0 sv-16 sv-32 (the-as int a3-1))) + ) + ) + (dummy-13 entity-nav-mesh) + (dummy-17 entity-nav-mesh) ) + (add-connection (-> entity-nav-mesh user-list) proc nothing proc nav-cont trans) + ) + (else + (if (and nav-cont (-> proc entity)) + (logior! + (-> (the-as entity-links (-> (the-as entity (-> proc entity)) extra)) perm status) + (entity-perm-status bit-1) + ) + ) + (set! entity-nav-mesh *default-nav-mesh*) ) - ) - (set! - (-> entity-nav-mesh user-list) - (s1-0 s0-0 sv-16 sv-32 (the-as int a3-1)) - ) ) - ) - (dummy-13 entity-nav-mesh) - (dummy-17 entity-nav-mesh) + entity-nav-mesh ) - (add-connection - (-> entity-nav-mesh user-list) - proc - nothing - proc - nav-cont - trans - ) - ) - (else - (if (and nav-cont (-> proc entity)) - (logior! - (-> - (the-as entity-links (-> (the-as entity (-> proc entity)) extra)) - perm - status - ) - (entity-perm-status bit-1) - ) - ) - (set! entity-nav-mesh *default-nav-mesh*) - ) ) - entity-nav-mesh - ) ) - ) ) ;; definition for method 0 of type nav-control ;; INFO: Return type mismatch object vs nav-control. -(defmethod - new - nav-control - ((allocation symbol) - (type-to-make type) - (shape collide-shape) - (sphere-count int) - (nearest-y-threshold-default float) - ) - (let - ((obj - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* sphere-count 16))) +(defmethod new nav-control ((allocation symbol) + (type-to-make type) + (shape collide-shape) + (sphere-count int) + (nearest-y-threshold-default float) + ) + (let ((obj (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) (* sphere-count 16)))))) + (when (zero? obj) + (go process-drawable-art-error "memory") + (set! obj (the-as nav-control 0)) + (goto cfg-4) ) - ) - ) - (when (zero? obj) - (go process-drawable-art-error "memory") - (set! obj (the-as nav-control 0)) - (goto cfg-4) - ) - (set! (-> obj max-spheres) sphere-count) - (set! (-> obj flags) (nav-control-flags bit8 bit13)) - (set! (-> obj mesh) (nav-mesh-connect (-> shape process) shape obj)) - (let ((ent (-> shape process entity))) - (set! - (-> obj nearest-y-threshold) - (res-lump-float - ent - 'nearest-y-threshold - :default - nearest-y-threshold-default + (set! (-> obj max-spheres) sphere-count) + (set! (-> obj flags) (nav-control-flags bit8 bit13)) + (set! (-> obj mesh) (nav-mesh-connect (-> shape process) shape obj)) + (let ((ent (-> shape process entity))) + (set! (-> obj nearest-y-threshold) + (res-lump-float ent 'nearest-y-threshold :default nearest-y-threshold-default) + ) ) - ) + (set! (-> obj shape) shape) + (set! (-> obj process) (-> shape process)) + (set! (-> obj gap-event) #f) + (set! (-> obj current-poly) #f) + (set! (-> obj next-poly) #f) + (set! (-> obj target-poly) #f) + (set! (-> obj user-poly) #f) + (set! (-> obj portal 0) #f) + (set! (-> obj portal 1) #f) + (set! (-> obj nav-cull-radius) 40960.0) + (label cfg-4) + (the-as nav-control obj) ) - (set! (-> obj shape) shape) - (set! (-> obj process) (-> shape process)) - (set! (-> obj gap-event) #f) - (set! (-> obj current-poly) #f) - (set! (-> obj next-poly) #f) - (set! (-> obj target-poly) #f) - (set! (-> obj user-poly) #f) - (set! (-> obj portal 0) #f) - (set! (-> obj portal 1) #f) - (set! (-> obj nav-cull-radius) 40960.0) - (label cfg-4) - (the-as nav-control obj) - ) ) ;; definition for method 29 of type nav-control (defmethod should-display? nav-control ((obj nav-control)) - (and - *display-nav-marks* - (logtest? (-> obj flags) (nav-control-flags display-marks)) - ) + (and *display-nav-marks* (logtest? (-> obj flags) (nav-control-flags display-marks))) ) ;; definition for method 10 of type nav-control (defmethod point-in-bounds? nav-control ((obj nav-control) (arg0 vector)) (let ((v1-1 (-> obj mesh bounds))) - (>= (-> v1-1 w) (vector-vector-distance arg0 v1-1)) - ) + (>= (-> v1-1 w) (vector-vector-distance arg0 v1-1)) + ) ) ;; definition for method 15 of type nav-control @@ -608,8 +543,5 @@ ;; definition for function has-nav-mesh? ;; INFO: Return type mismatch structure vs symbol. (defun has-nav-mesh? ((arg0 entity-actor)) - (the-as - symbol - (or (-> arg0 nav-mesh) (res-lump-struct arg0 'nav-mesh-actor structure)) - ) + (the-as symbol (or (-> arg0 nav-mesh) (res-lump-struct arg0 'nav-mesh-actor structure))) ) diff --git a/test/decompiler/reference/engine/nav/path-h_REF.gc b/test/decompiler/reference/engine/nav/path-h_REF.gc index dd33c5ce74..7bb7658639 100644 --- a/test/decompiler/reference/engine/nav/path-h_REF.gc +++ b/test/decompiler/reference/engine/nav/path-h_REF.gc @@ -68,63 +68,48 @@ ;; definition for method 0 of type path-control ;; INFO: Return type mismatch object vs path-control. ;; Used lq/sq -(defmethod - new - path-control - ((allocation symbol) - (type-to-make type) - (proc process) - (name symbol) - (time float) - ) +(defmethod new path-control ((allocation symbol) (type-to-make type) (proc process) (name symbol) (time float)) (local-vars (tag res-tag)) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) - ) - (when (zero? obj) - (go process-drawable-art-error "memory") - (set! obj (the-as path-control 0)) - (goto cfg-9) - ) - (set! (-> obj process) (the-as process-drawable proc)) - (set! (-> obj name) name) - (let ((ent (-> proc entity))) - (when (= name 'path) - (let ((lookup-entity (entity-actor-lookup ent 'path-actor 0))) - (if lookup-entity - (set! ent lookup-entity) - ) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (when (zero? obj) + (go process-drawable-art-error "memory") + (set! obj (the-as path-control 0)) + (goto cfg-9) ) - ) - (set! tag (new 'static 'res-tag)) - (let ((data (res-lump-data ent name pointer :tag-ptr (& tag) :time time))) - (cond - (data - (set! (-> obj cverts) (the-as (inline-array vector) data)) - (set! (-> obj curve num-cverts) (the-as int (-> tag elt-count))) - ) - (else - (logior! (-> obj flags) (path-control-flag not-found)) - (set! (-> obj cverts) (the-as (inline-array vector) #f)) - (set! (-> obj curve num-cverts) 0) - 0 - ) + (set! (-> obj process) (the-as process-drawable proc)) + (set! (-> obj name) name) + (let ((ent (-> proc entity))) + (when (= name 'path) + (let ((lookup-entity (entity-actor-lookup ent 'path-actor 0))) + (if lookup-entity + (set! ent lookup-entity) + ) + ) + ) + (set! tag (new 'static 'res-tag)) + (let ((data (res-lump-data ent name pointer :tag-ptr (& tag) :time time))) + (cond + (data + (set! (-> obj cverts) (the-as (inline-array vector) data)) + (set! (-> obj curve num-cverts) (the-as int (-> tag elt-count))) + ) + (else + (logior! (-> obj flags) (path-control-flag not-found)) + (set! (-> obj cverts) (the-as (inline-array vector) #f)) + (set! (-> obj curve num-cverts) 0) + 0 + ) + ) + ) ) - ) + (label cfg-9) + (the-as path-control obj) ) - (label cfg-9) - (the-as path-control obj) - ) ) ;; definition for method 18 of type path-control (defmethod should-display? path-control ((obj path-control)) - (and - *display-path-marks* - (logtest? (-> obj flags) (path-control-flag display)) - ) + (and *display-path-marks* (logtest? (-> obj flags) (path-control-flag display))) ) ;; definition for method 15 of type path-control @@ -138,59 +123,46 @@ ) ;; definition for method 0 of type curve-control -(defmethod - new - curve-control - ((allocation symbol) - (type-to-make type) - (proc process) - (name symbol) - (time float) - ) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) - ) - (set! (-> obj process) (the-as process-drawable proc)) - (set! (-> obj name) name) - (let* ((ent (-> proc entity)) - (v1-2 name) - (s2-0 (cond - ((= v1-2 'path) - 'path-k - ) - (else - (let ((s2-1 string->symbol)) - (format (clear *temp-string*) "~A-k" name) - (s2-1 *temp-string*) +(defmethod new curve-control ((allocation symbol) (type-to-make type) (proc process) (name symbol) (time float)) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj process) (the-as process-drawable proc)) + (set! (-> obj name) name) + (let* ((ent (-> proc entity)) + (v1-2 name) + (s2-0 (cond + ((= v1-2 'path) + 'path-k + ) + (else + (let ((s2-1 string->symbol)) + (format (clear *temp-string*) "~A-k" name) + (s2-1 *temp-string*) + ) + ) ) - ) ) ) + (let ((lookup-entity (entity-actor-lookup ent 'path-actor 0))) + (if lookup-entity + (set! ent lookup-entity) + ) + ) + (when (not (get-curve-data! ent (the-as curve (&-> obj cverts)) name s2-0 time)) + (cond + ((> (-> obj curve num-cverts) 0) + (set! (-> obj type) path-control) + ) + (else + (logior! (-> obj flags) (path-control-flag not-found)) + (set! (-> obj cverts) (the-as (inline-array vector) #f)) + (set! (-> obj curve num-cverts) 0) + 0 + ) ) - (let ((lookup-entity (entity-actor-lookup ent 'path-actor 0))) - (if lookup-entity - (set! ent lookup-entity) + ) ) - ) - (when - (not (get-curve-data! ent (the-as curve (&-> obj cverts)) name s2-0 time)) - (cond - ((> (-> obj curve num-cverts) 0) - (set! (-> obj type) path-control) - ) - (else - (logior! (-> obj flags) (path-control-flag not-found)) - (set! (-> obj cverts) (the-as (inline-array vector) #f)) - (set! (-> obj curve num-cverts) 0) - 0 - ) - ) - ) + obj ) - obj - ) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/engine/nav/path_REF.gc b/test/decompiler/reference/engine/nav/path_REF.gc index 4bf49ad6e3..29d73dd81a 100644 --- a/test/decompiler/reference/engine/nav/path_REF.gc +++ b/test/decompiler/reference/engine/nav/path_REF.gc @@ -5,83 +5,56 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-9 path-control ((obj path-control)) (cond - ((logtest? (-> obj flags) (path-control-flag not-found)) - (when - (and - (type-type? (-> obj process type) process-drawable) - *display-entity-errors* - ) - (let ((s5-0 add-debug-text-3d) - (s4-0 #t) - (s3-0 68) - ) - (format - (clear *temp-string*) - "path data error in ~S" - (-> obj process name) - ) - (s5-0 - s4-0 - (the-as bucket-id s3-0) - *temp-string* - (-> obj process root trans) - (font-color orange-red) - (the-as vector2h #f) - ) - ) - ) - ) - ((let ((a0-5 obj)) - (and - *display-path-marks* - (logtest? (-> a0-5 flags) (path-control-flag display)) - ) - ) - (dotimes (s5-1 (-> obj curve num-cverts)) - (let ((s4-1 (-> obj cverts s5-1))) - (if - (and - (logtest? (-> obj flags) (path-control-flag draw-line)) - (< s5-1 (+ (-> obj curve num-cverts) -1)) - ) - (add-debug-line - #t - (bucket-id debug-draw1) - s4-1 - (-> obj cverts (+ s5-1 1)) - (new 'static 'rgba :r #xff :g #x80 :a #x80) - #f - (the-as rgba -1) - ) - ) - (if (logtest? (-> obj flags) (path-control-flag draw-point)) - (add-debug-x - #t - (bucket-id debug-draw1) - s4-1 - (new 'static 'rgba :r #xff :a #x80) - ) - ) - (when (logtest? (-> obj flags) (path-control-flag draw-text)) - (let ((s3-1 add-debug-text-3d) - (s2-1 #t) - (s1-0 68) + ((logtest? (-> obj flags) (path-control-flag not-found)) + (when (and (type-type? (-> obj process type) process-drawable) *display-entity-errors*) + (let ((s5-0 add-debug-text-3d) + (s4-0 #t) + (s3-0 68) ) - (format (clear *temp-string*) "~D" s5-1) - (s3-1 - s2-1 - (the-as bucket-id s1-0) - *temp-string* - s4-1 - (font-color bright-orange-red) - (the-as vector2h #f) + (format (clear *temp-string*) "path data error in ~S" (-> obj process name)) + (s5-0 + s4-0 + (the-as bucket-id s3-0) + *temp-string* + (-> obj process root trans) + (font-color orange-red) + (the-as vector2h #f) + ) + ) + ) + ) + ((let ((a0-5 obj)) + (and *display-path-marks* (logtest? (-> a0-5 flags) (path-control-flag display))) + ) + (dotimes (s5-1 (-> obj curve num-cverts)) + (let ((s4-1 (-> obj cverts s5-1))) + (if (and (logtest? (-> obj flags) (path-control-flag draw-line)) (< s5-1 (+ (-> obj curve num-cverts) -1))) + (add-debug-line + #t + (bucket-id debug-draw1) + s4-1 + (-> obj cverts (+ s5-1 1)) + (new 'static 'rgba :r #xff :g #x80 :a #x80) + #f + (the-as rgba -1) + ) + ) + (if (logtest? (-> obj flags) (path-control-flag draw-point)) + (add-debug-x #t (bucket-id debug-draw1) s4-1 (new 'static 'rgba :r #xff :a #x80)) + ) + (when (logtest? (-> obj flags) (path-control-flag draw-text)) + (let ((s3-1 add-debug-text-3d) + (s2-1 #t) + (s1-0 68) + ) + (format (clear *temp-string*) "~D" s5-1) + (s3-1 s2-1 (the-as bucket-id s1-0) *temp-string* s4-1 (font-color bright-orange-red) (the-as vector2h #f)) + ) + ) ) - ) ) - ) ) ) - ) 0 (none) ) @@ -89,56 +62,45 @@ ;; definition for method 16 of type path-control (defmethod path-distance path-control ((obj path-control)) (let ((f30-0 0.0)) - (dotimes (s5-0 (+ (-> obj curve num-cverts) -1)) - (+! - f30-0 - (vector-vector-distance (-> obj cverts s5-0) (-> obj cverts (+ s5-0 1))) - ) + (dotimes (s5-0 (+ (-> obj curve num-cverts) -1)) + (+! f30-0 (vector-vector-distance (-> obj cverts s5-0) (-> obj cverts (+ s5-0 1)))) + ) + f30-0 ) - f30-0 - ) ) ;; definition for method 16 of type curve-control (defmethod path-distance curve-control ((obj curve-control)) (let ((f0-0 (-> obj curve length))) - (when (= f0-0 0.0) - (set! f0-0 (curve-length (the-as curve (&-> obj cverts)))) - (set! (-> obj curve length) f0-0) + (when (= f0-0 0.0) + (set! f0-0 (curve-length (the-as curve (&-> obj cverts)))) + (set! (-> obj curve length) f0-0) + ) + f0-0 ) - f0-0 - ) ) ;; definition for method 10 of type path-control ;; Used lq/sq -(defmethod - eval-path-curve-div! - path-control - ((obj path-control) (arg0 vector) (arg1 float) (arg2 symbol)) +(defmethod eval-path-curve-div! path-control ((obj path-control) (arg0 vector) (arg1 float) (arg2 symbol)) (let ((a1-1 (-> obj curve num-cverts)) (f0-3 (the float (the int arg1))) ) - (cond - ((< arg1 0.0) - (set! (-> arg0 quad) (-> obj cverts 0 quad)) - ) - ((>= f0-3 (the float (+ a1-1 -1))) - (set! (-> arg0 quad) (-> obj cverts (+ a1-1 -1) quad)) - ) - ((or (= arg2 'exact) (= f0-3 arg1)) - (set! (-> arg0 quad) (-> obj cverts (the int f0-3) quad)) - ) - (else - (vector-lerp! - arg0 - (-> obj cverts (the int f0-3)) - (-> obj cverts (the int (+ 1.0 f0-3))) - (- arg1 f0-3) + (cond + ((< arg1 0.0) + (set! (-> arg0 quad) (-> obj cverts 0 quad)) + ) + ((>= f0-3 (the float (+ a1-1 -1))) + (set! (-> arg0 quad) (-> obj cverts (+ a1-1 -1) quad)) + ) + ((or (= arg2 'exact) (= f0-3 arg1)) + (set! (-> arg0 quad) (-> obj cverts (the int f0-3) quad)) + ) + (else + (vector-lerp! arg0 (-> obj cverts (the int f0-3)) (-> obj cverts (the int (+ 1.0 f0-3))) (- arg1 f0-3)) + ) ) - ) ) - ) arg0 ) @@ -146,185 +108,139 @@ ;; Used lq/sq (defmethod get-random-point path-control ((obj path-control) (arg0 vector)) (with-pp - (cond - ((> (-> obj curve num-cverts) 0) - (let ((s4-0 (rand-vu-int-count (-> obj curve num-cverts)))) - (when *run-time-assert-enable* - (set-pos *__private-assert-info* "path" (the-as uint 83) (the-as uint 6)) - (__assert-zero-lim-range-int - s4-0 - (-> obj curve num-cverts) - "rand-index" - "(-> obj num-cverts)" - ) + (cond + ((> (-> obj curve num-cverts) 0) + (let ((s4-0 (rand-vu-int-count (-> obj curve num-cverts)))) + (when *run-time-assert-enable* + (set-pos *__private-assert-info* "path" (the-as uint 83) (the-as uint 6)) + (__assert-zero-lim-range-int s4-0 (-> obj curve num-cverts) "rand-index" "(-> obj num-cverts)") + ) + (set! (-> arg0 quad) (-> obj cverts s4-0 quad)) + ) ) - (set! (-> arg0 quad) (-> obj cverts s4-0 quad)) + (else + (format #t "WARNING: method get-random-point called on a path-control object with no vertices.~%") + (if pp + (format #t "current process is ~A~%" (-> pp name)) + ) + (set! (-> arg0 quad) (-> *null-vector* quad)) + ) ) - ) - (else - (format - #t - "WARNING: method get-random-point called on a path-control object with no vertices.~%" - ) - (if pp - (format #t "current process is ~A~%" (-> pp name)) - ) - (set! (-> arg0 quad) (-> *null-vector* quad)) - ) + arg0 ) - arg0 - ) ) ;; definition for method 13 of type path-control -(defmethod - eval-path-curve! - path-control - ((obj path-control) (arg0 vector) (arg1 float) (arg2 symbol)) - (eval-path-curve-div! - obj - arg0 - (* arg1 (the float (+ (-> obj curve num-cverts) -1))) - arg2 - ) +(defmethod eval-path-curve! path-control ((obj path-control) (arg0 vector) (arg1 float) (arg2 symbol)) + (eval-path-curve-div! obj arg0 (* arg1 (the float (+ (-> obj curve num-cverts) -1))) arg2) ) ;; definition for method 13 of type curve-control ;; INFO: Return type mismatch object vs vector. -(defmethod - eval-path-curve! - curve-control - ((obj curve-control) (arg0 vector) (arg1 float) (arg2 symbol)) +(defmethod eval-path-curve! curve-control ((obj curve-control) (arg0 vector) (arg1 float) (arg2 symbol)) (the-as vector (if (logtest? (-> obj flags) (path-control-flag not-found)) - 0.0 - (curve-evaluate! - arg0 - arg1 - (the-as pointer (-> obj cverts)) - (-> obj curve num-cverts) - (-> obj curve knots) - (-> obj curve num-knots) - ) - ) - ) + 0.0 + (curve-evaluate! + arg0 + arg1 + (the-as pointer (-> obj cverts)) + (-> obj curve num-cverts) + (-> obj curve knots) + (-> obj curve num-knots) + ) + ) + ) ) ;; definition for method 10 of type curve-control ;; INFO: Return type mismatch object vs vector. -(defmethod - eval-path-curve-div! - curve-control - ((obj curve-control) (arg0 vector) (arg1 float) (arg2 symbol)) +(defmethod eval-path-curve-div! curve-control ((obj curve-control) (arg0 vector) (arg1 float) (arg2 symbol)) (the-as vector (if (logtest? (-> obj flags) (path-control-flag not-found)) - 0.0 - (curve-evaluate! - arg0 - (/ arg1 (the float (+ (-> obj curve num-cverts) -1))) - (the-as pointer (-> obj cverts)) - (-> obj curve num-cverts) - (-> obj curve knots) - (-> obj curve num-knots) - ) - ) - ) + 0.0 + (curve-evaluate! + arg0 + (/ arg1 (the float (+ (-> obj curve num-cverts) -1))) + (the-as pointer (-> obj cverts)) + (-> obj curve num-cverts) + (-> obj curve knots) + (-> obj curve num-knots) + ) + ) + ) ) ;; definition for method 12 of type path-control -(defmethod - TODO-RENAME-12 - path-control - ((obj path-control) (arg0 vector) (arg1 float)) +(defmethod TODO-RENAME-12 path-control ((obj path-control) (arg0 vector) (arg1 float)) (when (zero? (logand (-> obj flags) (path-control-flag not-found))) - (let ((v1-3 (-> obj curve num-cverts)) - (f0-3 (the float (the int arg1))) + (let ((v1-3 (-> obj curve num-cverts)) + (f0-3 (the float (the int arg1))) + ) + (cond + ((< v1-3 2) ) - (cond - ((< v1-3 2) - ) - ((< arg1 0.0) - (vector-! arg0 (-> obj cverts 1) (-> obj cverts 0)) - ) - (else - (let ((f0-4 (fmin f0-3 (the float (+ v1-3 -2))))) - (vector-! - arg0 - (-> obj cverts (the int (+ 1.0 f0-4))) - (-> obj cverts (the int f0-4)) + ((< arg1 0.0) + (vector-! arg0 (-> obj cverts 1) (-> obj cverts 0)) + ) + (else + (let ((f0-4 (fmin f0-3 (the float (+ v1-3 -2))))) + (vector-! arg0 (-> obj cverts (the int (+ 1.0 f0-4))) (-> obj cverts (the int f0-4))) + ) + ) ) - ) ) - ) ) - ) (vector-normalize! arg0 1.0) ) ;; definition for method 14 of type path-control -(defmethod - TODO-RENAME-14 - path-control - ((obj path-control) (arg0 vector) (arg1 float)) - (TODO-RENAME-12 - obj - arg0 - (* arg1 (the float (+ (-> obj curve num-cverts) -1))) - ) +(defmethod TODO-RENAME-14 path-control ((obj path-control) (arg0 vector) (arg1 float)) + (TODO-RENAME-12 obj arg0 (* arg1 (the float (+ (-> obj curve num-cverts) -1)))) ) ;; definition for method 14 of type curve-control -(defmethod - TODO-RENAME-14 - curve-control - ((obj curve-control) (arg0 vector) (arg1 float)) +(defmethod TODO-RENAME-14 curve-control ((obj curve-control) (arg0 vector) (arg1 float)) (when (zero? (logand (-> obj flags) (path-control-flag not-found))) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (curve-evaluate! - arg0 - arg1 - (the-as pointer (-> obj cverts)) - (-> obj curve num-cverts) - (-> obj curve knots) - (-> obj curve num-knots) - ) - (cond - ((< arg1 0.99) + (let ((s4-0 (new 'stack-no-clear 'vector))) (curve-evaluate! - s4-0 - (+ 0.01 arg1) - (the-as pointer (-> obj cverts)) - (-> obj curve num-cverts) - (-> obj curve knots) - (-> obj curve num-knots) - ) - (vector-! arg0 s4-0 arg0) + arg0 + arg1 + (the-as pointer (-> obj cverts)) + (-> obj curve num-cverts) + (-> obj curve knots) + (-> obj curve num-knots) + ) + (cond + ((< arg1 0.99) + (curve-evaluate! + s4-0 + (+ 0.01 arg1) + (the-as pointer (-> obj cverts)) + (-> obj curve num-cverts) + (-> obj curve knots) + (-> obj curve num-knots) + ) + (vector-! arg0 s4-0 arg0) + ) + (else + (curve-evaluate! + s4-0 + (+ -0.01 arg1) + (the-as pointer (-> obj cverts)) + (-> obj curve num-cverts) + (-> obj curve knots) + (-> obj curve num-knots) + ) + (vector-! arg0 arg0 s4-0) + ) + ) ) - (else - (curve-evaluate! - s4-0 - (+ -0.01 arg1) - (the-as pointer (-> obj cverts)) - (-> obj curve num-cverts) - (-> obj curve knots) - (-> obj curve num-knots) - ) - (vector-! arg0 arg0 s4-0) - ) - ) ) - ) (vector-normalize! arg0 1.0) ) ;; definition for method 12 of type curve-control -(defmethod - TODO-RENAME-12 - curve-control - ((obj curve-control) (arg0 vector) (arg1 float)) - (TODO-RENAME-14 - obj - arg0 - (/ arg1 (the float (+ (-> obj curve num-cverts) -1))) - ) +(defmethod TODO-RENAME-12 curve-control ((obj curve-control) (arg0 vector) (arg1 float)) + (TODO-RENAME-14 obj arg0 (/ arg1 (the float (+ (-> obj curve num-cverts) -1)))) ) ;; definition for method 19 of type path-control @@ -336,34 +252,27 @@ (f30-0 4096000000.0) (f28-0 0.0) ) - (let ((s2-0 (new 'stack-no-clear 'vector))) - (set! (-> s3-0 quad) (-> (target-pos 0) quad)) - (set! (-> s3-0 y) 0.0) - (eval-path-curve-div! obj s4-0 0.0 'interp) - (set! (-> s4-0 y) 0.0) - (dotimes (s1-1 (+ (-> obj curve num-cverts) -1)) - (set! (-> s5-0 quad) (-> s4-0 quad)) - (eval-path-curve-div! obj s4-0 (the float (+ s1-1 1)) 'interp) - (set! (-> s4-0 y) 0.0) - (let ((f0-5 (vector-segment-distance-point! s3-0 s5-0 s4-0 s2-0))) - (when (< f0-5 f30-0) - (set! f30-0 f0-5) - (set! - f28-0 - (+ - (/ - (vector-vector-xz-distance s2-0 s5-0) - (vector-vector-xz-distance s4-0 s5-0) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (set! (-> s3-0 quad) (-> (target-pos 0) quad)) + (set! (-> s3-0 y) 0.0) + (eval-path-curve-div! obj s4-0 0.0 'interp) + (set! (-> s4-0 y) 0.0) + (dotimes (s1-1 (+ (-> obj curve num-cverts) -1)) + (set! (-> s5-0 quad) (-> s4-0 quad)) + (eval-path-curve-div! obj s4-0 (the float (+ s1-1 1)) 'interp) + (set! (-> s4-0 y) 0.0) + (let ((f0-5 (vector-segment-distance-point! s3-0 s5-0 s4-0 s2-0))) + (when (< f0-5 f30-0) + (set! f30-0 f0-5) + (set! f28-0 + (+ (/ (vector-vector-xz-distance s2-0 s5-0) (vector-vector-xz-distance s4-0 s5-0)) (the float s1-1)) + ) + ) ) - (the float s1-1) - ) ) - ) ) - ) + f28-0 ) - f28-0 - ) ) ;; definition for method 20 of type path-control @@ -375,81 +284,54 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-9 curve-control ((obj curve-control)) (cond - ((logtest? (-> obj flags) (path-control-flag not-found)) - (when - (and - (type-type? (-> obj process type) process-drawable) - *display-entity-errors* - ) - (let ((s5-0 add-debug-text-3d) - (s4-0 #t) - (s3-0 68) - ) - (format - (clear *temp-string*) - "curve data error in ~S" - (-> obj process name) - ) - (s5-0 - s4-0 - (the-as bucket-id s3-0) - *temp-string* - (-> obj process root trans) - (font-color orange-red) - (the-as vector2h #f) - ) - ) - ) - ) - ((let ((a0-5 obj)) - (and - *display-path-marks* - (logtest? (-> a0-5 flags) (path-control-flag display)) - ) - ) - (if - (and - (logtest? (-> obj flags) (path-control-flag draw-line)) - (> (-> obj curve num-cverts) 0) - ) - (add-debug-curve2 - #t - (bucket-id debug-draw1) - (the-as curve (&-> obj cverts)) - (new 'static 'rgba :r #xff :g #x80 :a #x80) - #f - ) - ) - (dotimes (s5-1 (-> obj curve num-cverts)) - (let ((s4-1 (-> obj cverts s5-1))) - (if (logtest? (-> obj flags) (path-control-flag draw-point)) - (add-debug-x - #t - (bucket-id debug-draw1) - s4-1 - (new 'static 'rgba :r #xff :a #x80) - ) - ) - (when (logtest? (-> obj flags) (path-control-flag draw-text)) - (let ((s3-1 add-debug-text-3d) - (s2-1 #t) - (s1-0 68) + ((logtest? (-> obj flags) (path-control-flag not-found)) + (when (and (type-type? (-> obj process type) process-drawable) *display-entity-errors*) + (let ((s5-0 add-debug-text-3d) + (s4-0 #t) + (s3-0 68) ) - (format (clear *temp-string*) "~D" s5-1) - (s3-1 - s2-1 - (the-as bucket-id s1-0) - *temp-string* - s4-1 - (font-color bright-orange-red) - (the-as vector2h #f) + (format (clear *temp-string*) "curve data error in ~S" (-> obj process name)) + (s5-0 + s4-0 + (the-as bucket-id s3-0) + *temp-string* + (-> obj process root trans) + (font-color orange-red) + (the-as vector2h #f) + ) + ) + ) + ) + ((let ((a0-5 obj)) + (and *display-path-marks* (logtest? (-> a0-5 flags) (path-control-flag display))) + ) + (if (and (logtest? (-> obj flags) (path-control-flag draw-line)) (> (-> obj curve num-cverts) 0)) + (add-debug-curve2 + #t + (bucket-id debug-draw1) + (the-as curve (&-> obj cverts)) + (new 'static 'rgba :r #xff :g #x80 :a #x80) + #f + ) + ) + (dotimes (s5-1 (-> obj curve num-cverts)) + (let ((s4-1 (-> obj cverts s5-1))) + (if (logtest? (-> obj flags) (path-control-flag draw-point)) + (add-debug-x #t (bucket-id debug-draw1) s4-1 (new 'static 'rgba :r #xff :a #x80)) + ) + (when (logtest? (-> obj flags) (path-control-flag draw-text)) + (let ((s3-1 add-debug-text-3d) + (s2-1 #t) + (s1-0 68) + ) + (format (clear *temp-string*) "~D" s5-1) + (s3-1 s2-1 (the-as bucket-id s1-0) *temp-string* s4-1 (font-color bright-orange-red) (the-as vector2h #f)) + ) + ) ) - ) ) - ) ) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/physics/dynamics-h_REF.gc b/test/decompiler/reference/engine/physics/dynamics-h_REF.gc index c26466c033..134ff63359 100644 --- a/test/decompiler/reference/engine/physics/dynamics-h_REF.gc +++ b/test/decompiler/reference/engine/physics/dynamics-h_REF.gc @@ -39,29 +39,27 @@ (let ((f0-0 0.0) (v0-0 0) ) - (while (< (- arg2) f0-0) - (set! arg0 (- arg0 (* 0.0033333334 arg1))) - (+! f0-0 (* 0.0033333334 arg0)) - (+! v0-0 1) + (while (< (- arg2) f0-0) + (set! arg0 (- arg0 (* 0.0033333334 arg1))) + (+! f0-0 (* 0.0033333334 arg0)) + (+! v0-0 1) + ) + v0-0 ) - v0-0 - ) ) ;; definition for symbol *standard-dynamics*, type dynamics -(define - *standard-dynamics* - (new 'static 'dynamics - :name 'standard - :gravity-max (meters 40.0) - :gravity-length (meters 60.0) - :gravity - (new 'static 'vector :y 245760.0 :w 1.0) - :gravity-normal (new 'static 'vector :y 1.0 :w 1.0) - :walk-distance (meters 2.0) - :run-distance (meters 5.0) - ) - ) +(define *standard-dynamics* (new 'static 'dynamics + :name 'standard + :gravity-max (meters 40.0) + :gravity-length (meters 60.0) + :gravity + (new 'static 'vector :y 245760.0 :w 1.0) + :gravity-normal (new 'static 'vector :y 1.0 :w 1.0) + :walk-distance (meters 2.0) + :run-distance (meters 5.0) + ) + ) ;; failed to figure out what this is: 0 diff --git a/test/decompiler/reference/engine/physics/trajectory_REF.gc b/test/decompiler/reference/engine/physics/trajectory_REF.gc index 3170c96e9e..c92a12838c 100644 --- a/test/decompiler/reference/engine/physics/trajectory_REF.gc +++ b/test/decompiler/reference/engine/physics/trajectory_REF.gc @@ -4,10 +4,7 @@ ;; definition for method 9 of type trajectory ;; INFO: this function exists in multiple non-identical object files ;; Used lq/sq -(defmethod - eval-position! - trajectory - ((obj trajectory) (time float) (result vector)) +(defmethod eval-position! trajectory ((obj trajectory) (time float) (result vector)) (set! (-> result quad) (-> obj initial-position quad)) (+! (-> result x) (* time (-> obj initial-velocity x))) (+! (-> result y) (* time (-> obj initial-velocity y))) @@ -18,10 +15,7 @@ ;; definition for method 10 of type trajectory ;; Used lq/sq -(defmethod - eval-velocity! - trajectory - ((obj trajectory) (time float) (result vector)) +(defmethod eval-velocity! trajectory ((obj trajectory) (time float) (result vector)) (set! (-> result quad) (-> obj initial-velocity quad)) (+! (-> result y) (* time (-> obj gravity))) result @@ -30,74 +24,61 @@ ;; definition for method 11 of type trajectory ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - setup-from-to-duration! - trajectory - ((obj trajectory) (from vector) (to vector) (duration float) (grav float)) +(defmethod setup-from-to-duration! trajectory ((obj trajectory) (from vector) (to vector) (duration float) (grav float)) (set! (-> obj initial-position quad) (-> from quad)) (set! (-> obj gravity) grav) (set! (-> obj time) duration) (let ((xz-vel (/ (vector-vector-xz-distance to from) duration))) - (vector-! (-> obj initial-velocity) to from) - (vector-xz-normalize! (-> obj initial-velocity) xz-vel) - ) - (set! - (-> obj initial-velocity y) - (- (/ (- (-> to y) (-> from y)) duration) (* 0.5 duration (-> obj gravity))) - ) + (vector-! (-> obj initial-velocity) to from) + (vector-xz-normalize! (-> obj initial-velocity) xz-vel) + ) + (set! (-> obj initial-velocity y) + (- (/ (- (-> to y) (-> from y)) duration) (* 0.5 duration (-> obj gravity))) + ) 0 (none) ) ;; definition for method 12 of type trajectory ;; INFO: Return type mismatch int vs none. -(defmethod - setup-from-to-xz-vel! - trajectory - ((obj trajectory) (from vector) (to vector) (xz-vel float) (grav float)) +(defmethod setup-from-to-xz-vel! trajectory ((obj trajectory) (from vector) (to vector) (xz-vel float) (grav float)) (let ((duration (/ (vector-vector-xz-distance to from) xz-vel))) - (setup-from-to-duration! obj from to duration grav) - ) + (setup-from-to-duration! obj from to duration grav) + ) 0 (none) ) ;; definition for method 13 of type trajectory ;; INFO: Return type mismatch int vs none. -(defmethod - setup-from-to-y-vel! - trajectory - ((obj trajectory) (from vector) (to vector) (y-vel float) (grav float)) +(defmethod setup-from-to-y-vel! trajectory ((obj trajectory) (from vector) (to vector) (y-vel float) (grav float)) (let* ((f0-0 y-vel) (f1-3 (- (* f0-0 f0-0) (* 2.0 (- (-> from y) (-> to y)) grav))) (f0-3 900.0) ) - (when (>= f1-3 0.0) - (let ((f0-4 (sqrtf f1-3))) - (set! f0-3 (fmax (/ (- (- y-vel) f0-4) grav) (/ (+ (- y-vel) f0-4) grav))) - ) + (when (>= f1-3 0.0) + (let ((f0-4 (sqrtf f1-3))) + (set! f0-3 (fmax (/ (- (- y-vel) f0-4) grav) (/ (+ (- y-vel) f0-4) grav))) + ) + ) + (setup-from-to-duration! obj from to f0-3 grav) ) - (setup-from-to-duration! obj from to f0-3 grav) - ) 0 (none) ) ;; definition for method 14 of type trajectory ;; INFO: Return type mismatch int vs none. -(defmethod - setup-from-to-height! - trajectory - ((obj trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float)) +(defmethod setup-from-to-height! trajectory ((obj trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float)) (let* ((f1-2 (+ arg2 (fmax (-> arg0 y) (-> arg1 y)))) (f1-5 (* 2.0 (- (-> arg0 y) f1-2) arg3)) (f0-3 4096.0) ) - (if (< 0.0 f1-5) - (set! f0-3 (sqrtf f1-5)) + (if (< 0.0 f1-5) + (set! f0-3 (sqrtf f1-5)) + ) + (setup-from-to-y-vel! obj arg0 arg1 f0-3 arg3) ) - (setup-from-to-y-vel! obj arg0 arg1 f0-3 arg3) - ) 0 (none) ) @@ -110,27 +91,23 @@ (pos (new 'stack-no-clear 'vector)) (num-segments 10) ) - (set! (-> pos quad) (-> obj initial-position quad)) - (dotimes (s2-0 num-segments) - (set! (-> prev-pos quad) (-> pos quad)) - (let - ((t-eval - (* (-> obj time) (/ (+ 1.0 (the float s2-0)) (the float num-segments))) - ) + (set! (-> pos quad) (-> obj initial-position quad)) + (dotimes (s2-0 num-segments) + (set! (-> prev-pos quad) (-> pos quad)) + (let ((t-eval (* (-> obj time) (/ (+ 1.0 (the float s2-0)) (the float num-segments))))) + (eval-position! obj t-eval pos) + ) + (add-debug-line + #t + (bucket-id debug-draw1) + prev-pos + pos + (new 'static 'rgba :r #xff :a #x80) + #f + (the-as rgba -1) + ) ) - (eval-position! obj t-eval pos) - ) - (add-debug-line - #t - (bucket-id debug-draw1) - prev-pos - pos - (new 'static 'rgba :r #xff :a #x80) - #f - (the-as rgba -1) - ) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/ps2/memcard-h_REF.gc b/test/decompiler/reference/engine/ps2/memcard-h_REF.gc index 2c85df335a..09df854efa 100644 --- a/test/decompiler/reference/engine/ps2/memcard-h_REF.gc +++ b/test/decompiler/reference/engine/ps2/memcard-h_REF.gc @@ -86,78 +86,61 @@ ;; definition for function mc-sync (defun mc-sync () (let ((v0-0 0)) - (while (zero? v0-0) - (mc-run) - (set! v0-0 (mc-check-result)) + (while (zero? v0-0) + (mc-run) + (set! v0-0 (mc-check-result)) + ) + v0-0 ) - v0-0 - ) ) ;; definition for function show-mc-info ;; INFO: Return type mismatch int vs none. (defun show-mc-info ((dma-buf dma-buffer)) (let ((info (new 'stack-no-clear 'mc-slot-info))) - (dotimes (slot-idx 2) - (mc-get-slot-info slot-idx info) - (cond - ((zero? (-> info known)) - (format (clear *temp-string*) "SLOT ~D: EXAMINING SLOT~%" slot-idx) - *temp-string* + (dotimes (slot-idx 2) + (mc-get-slot-info slot-idx info) + (cond + ((zero? (-> info known)) + (format (clear *temp-string*) "SLOT ~D: EXAMINING SLOT~%" slot-idx) + *temp-string* + ) + ((zero? (-> info handle)) + (format (clear *temp-string*) "SLOT ~D: NO CARD~%" slot-idx) + *temp-string* + ) + ((zero? (-> info formatted)) + (format (clear *temp-string*) "SLOT ~D: CARD [~D] : NOT FORMATTED~%" slot-idx (-> info handle)) + *temp-string* + ) + ((zero? (-> info inited)) + (format + (clear *temp-string*) + "SLOT ~D: CARD [~D] : NO FILE [~D/~D]~%" + slot-idx + (-> info handle) + (-> info mem-required) + (-> info mem-actual) + ) + *temp-string* + ) + (else + (format (clear *temp-string*) "SLOT ~D: CARD [~D] : " slot-idx (-> info handle)) + *temp-string* + (format + *temp-string* + "SAVES ~D ~D ~D ~D : LAST ~D~%" + (-> info file 0 present) + (-> info file 1 present) + (-> info file 2 present) + (-> info file 3 present) + (-> info last-file) + ) + ) + ) + (draw-string-xy *temp-string* dma-buf 32 (+ (* 12 slot-idx) 8) (font-color orange-red) (font-flags shadow)) ) - ((zero? (-> info handle)) - (format (clear *temp-string*) "SLOT ~D: NO CARD~%" slot-idx) - *temp-string* - ) - ((zero? (-> info formatted)) - (format - (clear *temp-string*) - "SLOT ~D: CARD [~D] : NOT FORMATTED~%" - slot-idx - (-> info handle) - ) - *temp-string* - ) - ((zero? (-> info inited)) - (format - (clear *temp-string*) - "SLOT ~D: CARD [~D] : NO FILE [~D/~D]~%" - slot-idx - (-> info handle) - (-> info mem-required) - (-> info mem-actual) - ) - *temp-string* - ) - (else - (format - (clear *temp-string*) - "SLOT ~D: CARD [~D] : " - slot-idx - (-> info handle) - ) - *temp-string* - (format - *temp-string* - "SAVES ~D ~D ~D ~D : LAST ~D~%" - (-> info file 0 present) - (-> info file 1 present) - (-> info file 2 present) - (-> info file 3 present) - (-> info last-file) - ) - ) - ) - (draw-string-xy - *temp-string* - dma-buf - 32 - (+ (* 12 slot-idx) 8) - (font-color orange-red) - (font-flags shadow) - ) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/ps2/pad_REF.gc b/test/decompiler/reference/engine/ps2/pad_REF.gc index 5d8f0bf1f9..18be63f75f 100644 --- a/test/decompiler/reference/engine/ps2/pad_REF.gc +++ b/test/decompiler/reference/engine/ps2/pad_REF.gc @@ -102,9 +102,9 @@ (set! (-> pad button0-shadow-abs 0) (pad-buttons)) (set! (-> pad button0-rel 0) (pad-buttons)) (dotimes (v1-2 12) - (nop!) - (set! (-> pad abutton v1-2) (the-as uint 0)) - ) + (nop!) + (set! (-> pad abutton v1-2) (the-as uint 0)) + ) (set! (-> pad stick0-dir) 0.0) (set! (-> pad stick0-speed) 0.0) (set! (-> pad rightx) (the-as uint 128)) @@ -118,27 +118,23 @@ (set! (-> pad align 4) (the-as uint 255)) (set! (-> pad align 5) (the-as uint 255)) (dotimes (v1-14 6) - (set! (-> pad direct v1-14) (the-as uint 0)) - ) + (set! (-> pad direct v1-14) (the-as uint 0)) + ) (dotimes (v1-17 2) - (set! (-> pad buzz-val 0) (the-as uint 0)) - (set! (-> pad buzz-time 0) 0) - ) + (set! (-> pad buzz-val 0) (the-as uint 0)) + (set! (-> pad buzz-time 0) 0) + ) pad ) ;; definition for method 0 of type cpad-info (defmethod new cpad-info ((alloction symbol) (type-to-make type) (idx int)) - (let - ((obj - (object-new alloction type-to-make (the-as int (-> type-to-make size))) - ) + (let ((obj (object-new alloction type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj number) idx) + (set! (-> obj buzz) #f) + (cpad-open obj idx) + (cpad-invalid! obj) ) - (set! (-> obj number) idx) - (set! (-> obj buzz) #f) - (cpad-open obj idx) - (cpad-invalid! obj) - ) ) ;; definition of type cpad-list @@ -164,64 +160,53 @@ ;; definition for method 0 of type cpad-list (defmethod new cpad-list ((allocation symbol) (type-to-make type)) - (let - ((gp-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) + (let ((gp-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> gp-0 num-cpads) 2) + (set! (-> gp-0 cpads 0) (new 'global 'cpad-info 0)) + (set! (-> gp-0 cpads 1) (new 'global 'cpad-info 1)) + gp-0 ) - (set! (-> gp-0 num-cpads) 2) - (set! (-> gp-0 cpads 0) (new 'global 'cpad-info 0)) - (set! (-> gp-0 cpads 1) (new 'global 'cpad-info 1)) - gp-0 - ) ) ;; definition for function analog-input -(defun - analog-input - ((in int) (offset float) (center-val float) (max-val float) (out-range float)) +(defun analog-input ((in int) (offset float) (center-val float) (max-val float) (out-range float)) (let* ((offset-in (- (the float in) offset)) (magnitude (- (fabs offset-in) center-val)) (max-magnitude (- max-val center-val)) ) - (if (< offset-in 0.0) - (set! out-range (- out-range)) + (if (< offset-in 0.0) + (set! out-range (- out-range)) + ) + (cond + ((>= 0.0 magnitude) + 0.0 + ) + ((>= magnitude max-magnitude) + out-range + ) + (else + (/ (* magnitude out-range) max-magnitude) + ) + ) ) - (cond - ((>= 0.0 magnitude) - 0.0 - ) - ((>= magnitude max-magnitude) - out-range - ) - (else - (/ (* magnitude out-range) max-magnitude) - ) - ) - ) ) ;; definition for function cpad-set-buzz! ;; INFO: Return type mismatch int vs none. -(defun - cpad-set-buzz! - ((pad cpad-info) (buzz-idx int) (buzz-amount int) (duration int)) +(defun cpad-set-buzz! ((pad cpad-info) (buzz-idx int) (buzz-amount int) (duration int)) (cond - ((zero? buzz-amount) - (set! (-> pad buzz-val buzz-idx) (the-as uint 0)) - 0 - ) - ((= buzz-amount (-> pad buzz-val buzz-idx)) - (set! - (-> pad buzz-time buzz-idx) - (max (-> pad buzz-time buzz-idx) (+ (get-current-time) duration)) + ((zero? buzz-amount) + (set! (-> pad buzz-val buzz-idx) (the-as uint 0)) + 0 + ) + ((= buzz-amount (-> pad buzz-val buzz-idx)) + (set! (-> pad buzz-time buzz-idx) (max (-> pad buzz-time buzz-idx) (+ (get-current-time) duration))) + ) + ((< (-> pad buzz-val buzz-idx) (the-as uint buzz-amount)) + (set! (-> pad buzz-val buzz-idx) (the-as uint buzz-amount)) + (set! (-> pad buzz-time buzz-idx) (+ (get-current-time) duration)) ) ) - ((< (-> pad buzz-val buzz-idx) (the-as uint buzz-amount)) - (set! (-> pad buzz-val buzz-idx) (the-as uint buzz-amount)) - (set! (-> pad buzz-time buzz-idx) (+ (get-current-time) duration)) - ) - ) 0 (none) ) @@ -235,106 +220,83 @@ ;; definition for function service-cpads (defun service-cpads () (let ((pad-list *cpad-list*)) - (dotimes (pad-idx (-> pad-list num-cpads)) - (let ((pad (-> *cpad-list* cpads pad-idx))) - (cpad-get-data pad) - (cond - ((zero? (logand (-> pad valid) 128)) - (dotimes (buzz-idx 2) + (dotimes (pad-idx (-> pad-list num-cpads)) + (let ((pad (-> *cpad-list* cpads pad-idx))) + (cpad-get-data pad) (cond - ((and - (-> pad buzz) - (< (get-current-time) (-> pad buzz-time buzz-idx)) - (= *master-mode* 'game) - ) - (let ((v1-10 buzz-idx)) + ((zero? (logand (-> pad valid) 128)) + (dotimes (buzz-idx 2) + (cond + ((and (-> pad buzz) (< (get-current-time) (-> pad buzz-time buzz-idx)) (= *master-mode* 'game)) + (let ((v1-10 buzz-idx)) + (cond + ((zero? v1-10) + (set! (-> pad direct buzz-idx) + (logand (ash (-> pad buzz-val buzz-idx) (- (logand (get-integral-current-time) 7))) 1) + ) + ) + ((= v1-10 1) + (set! (-> pad direct buzz-idx) (-> pad buzz-val buzz-idx)) + ) + ) + ) + ) + (else + (set! (-> pad buzz-val buzz-idx) (the-as uint 0)) + (set! (-> pad direct buzz-idx) (the-as uint 0)) + 0 + ) + ) + ) + (set! (-> pad button0-abs 2) (-> pad button0-abs 1)) + (set! (-> pad button0-abs 1) (-> pad button0-shadow-abs 0)) + (set! (-> pad button0-rel 2) (-> pad button0-rel 1)) + (set! (-> pad button0-rel 1) (-> pad button0-rel 0)) + (let ((current-button0 (-> pad button0))) + (set! (-> pad button0-shadow-abs 0) (the-as pad-buttons current-button0)) + (set! (-> pad button0-abs 0) (the-as pad-buttons current-button0)) + ) + (set! (-> pad button0-rel 0) (logclear (-> pad button0-abs 0) (-> pad button0-abs 1))) + (when *cpad-debug* + (set! (-> pad leftx) (the-as uint 255)) + (set! (-> pad rightx) (the-as uint 255)) + ) + (set! (-> pad stick0-speed) 1.0) (cond - ((zero? v1-10) - (set! - (-> pad direct buzz-idx) - (logand - (ash - (-> pad buzz-val buzz-idx) - (- (logand (get-integral-current-time) 7)) + ((= (shr (-> pad status) 4) 7) + (let ((f30-0 (* 0.0078125 (the float (+ (-> pad leftx) -128)))) + (f28-0 (* 0.0078125 (the float (- 127 (the-as int (-> pad lefty)))))) + ) + (set! (-> pad stick0-dir) (atan (- f30-0) f28-0)) + (set! (-> pad stick0-speed) (fmin 1.0 (sqrtf (+ (* f30-0 f30-0) (* f28-0 f28-0))))) ) - 1 - ) + (if (< (-> pad stick0-speed) 0.3) + (set! (-> pad stick0-speed) 0.0) + ) ) - ) - ((= v1-10 1) - (set! (-> pad direct buzz-idx) (-> pad buzz-val buzz-idx)) - ) - ) - ) - ) - (else - (set! (-> pad buzz-val buzz-idx) (the-as uint 0)) - (set! (-> pad direct buzz-idx) (the-as uint 0)) - 0 - ) - ) - ) - (set! (-> pad button0-abs 2) (-> pad button0-abs 1)) - (set! (-> pad button0-abs 1) (-> pad button0-shadow-abs 0)) - (set! (-> pad button0-rel 2) (-> pad button0-rel 1)) - (set! (-> pad button0-rel 1) (-> pad button0-rel 0)) - (let ((current-button0 (-> pad button0))) - (set! - (-> pad button0-shadow-abs 0) - (the-as pad-buttons current-button0) - ) - (set! (-> pad button0-abs 0) (the-as pad-buttons current-button0)) - ) - (set! - (-> pad button0-rel 0) - (logclear (-> pad button0-abs 0) (-> pad button0-abs 1)) - ) - (when *cpad-debug* - (set! (-> pad leftx) (the-as uint 255)) - (set! (-> pad rightx) (the-as uint 255)) - ) - (set! (-> pad stick0-speed) 1.0) - (cond - ((= (shr (-> pad status) 4) 7) - (let ((f30-0 (* 0.0078125 (the float (+ (-> pad leftx) -128)))) - (f28-0 - (* 0.0078125 (the float (- 127 (the-as int (-> pad lefty))))) - ) + (else + (set! (-> pad leftx) (the-as uint 128)) + (set! (-> pad lefty) (the-as uint 128)) + (set! (-> pad rightx) (the-as uint 128)) + (set! (-> pad righty) (the-as uint 128)) + (set! (-> pad stick0-dir) 0.0) + (set! (-> pad stick0-speed) 0.0) + ) + ) + (if (or + (!= (-> pad button0-abs 0) (-> pad button0-abs 1)) + (or (< 0.3 (-> pad stick0-speed)) (zero? (-> pad change-time))) + ) + (set! (-> pad change-time) (get-current-time)) ) - (set! (-> pad stick0-dir) (atan (- f30-0) f28-0)) - (set! - (-> pad stick0-speed) - (fmin 1.0 (sqrtf (+ (* f30-0 f30-0) (* f28-0 f28-0)))) ) + (else + (cpad-invalid! pad) + ) ) - (if (< (-> pad stick0-speed) 0.3) - (set! (-> pad stick0-speed) 0.0) - ) - ) - (else - (set! (-> pad leftx) (the-as uint 128)) - (set! (-> pad lefty) (the-as uint 128)) - (set! (-> pad rightx) (the-as uint 128)) - (set! (-> pad righty) (the-as uint 128)) - (set! (-> pad stick0-dir) 0.0) - (set! (-> pad stick0-speed) 0.0) - ) ) - (if - (or - (!= (-> pad button0-abs 0) (-> pad button0-abs 1)) - (or (< 0.3 (-> pad stick0-speed)) (zero? (-> pad change-time))) - ) - (set! (-> pad change-time) (get-current-time)) - ) - ) - (else - (cpad-invalid! pad) - ) ) - ) ) - ) *cpad-list* ) diff --git a/test/decompiler/reference/engine/ps2/rpc-h_REF.gc b/test/decompiler/reference/engine/ps2/rpc-h_REF.gc index cee95791f5..3db3e761f0 100644 --- a/test/decompiler/reference/engine/ps2/rpc-h_REF.gc +++ b/test/decompiler/reference/engine/ps2/rpc-h_REF.gc @@ -31,21 +31,17 @@ ) ;; definition for method 0 of type rpc-buffer -(defmethod - new - rpc-buffer - ((allocation symbol) (type-to-make type) (arg0 uint) (arg1 uint)) - (let* - ((a2-2 (+ (-> type-to-make size) 63 (* (the-as int arg0) (the-as int arg1)))) - (v0-0 (object-new allocation type-to-make (the-as int a2-2))) +(defmethod new rpc-buffer ((allocation symbol) (type-to-make type) (arg0 uint) (arg1 uint)) + (let* ((a2-2 (+ (-> type-to-make size) 63 (* (the-as int arg0) (the-as int arg1)))) + (v0-0 (object-new allocation type-to-make (the-as int a2-2))) + ) + (set! (-> v0-0 elt-size) arg0) + (set! (-> v0-0 elt-count) arg1) + (set! (-> v0-0 elt-used) (the-as uint 0)) + (set! (-> v0-0 busy) #f) + (set! (-> v0-0 base) (logand -64 (&-> (-> v0-0 data) 63))) + v0-0 ) - (set! (-> v0-0 elt-size) arg0) - (set! (-> v0-0 elt-count) arg1) - (set! (-> v0-0 elt-used) (the-as uint 0)) - (set! (-> v0-0 busy) #f) - (set! (-> v0-0 base) (logand -64 (&-> (-> v0-0 data) 63))) - v0-0 - ) ) ;; definition of type rpc-buffer-pair @@ -80,155 +76,145 @@ ) ;; definition for method 0 of type rpc-buffer-pair -(defmethod - new - rpc-buffer-pair - ((allocation symbol) (type-to-make type) (arg0 uint) (arg1 uint) (arg2 int)) - (let - ((s3-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new rpc-buffer-pair ((allocation symbol) (type-to-make type) (arg0 uint) (arg1 uint) (arg2 int)) + (let ((s3-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> s3-0 buffer 0) (new 'global 'rpc-buffer arg0 arg1)) + (set! (-> s3-0 buffer 1) (new 'global 'rpc-buffer arg0 arg1)) + (set! (-> s3-0 current) (-> s3-0 buffer 0)) + (set! (-> s3-0 last-recv-buffer) (the-as pointer #f)) + (set! (-> s3-0 rpc-port) arg2) + s3-0 ) - (set! (-> s3-0 buffer 0) (new 'global 'rpc-buffer arg0 arg1)) - (set! (-> s3-0 buffer 1) (new 'global 'rpc-buffer arg0 arg1)) - (set! (-> s3-0 current) (-> s3-0 buffer 0)) - (set! (-> s3-0 last-recv-buffer) (the-as pointer #f)) - (set! (-> s3-0 rpc-port) arg2) - s3-0 - ) ) ;; definition for method 12 of type rpc-buffer-pair (defmethod sync rpc-buffer-pair ((obj rpc-buffer-pair) (arg0 symbol)) (let ((s5-0 (if (= (-> obj current) (-> obj buffer 0)) - (-> obj buffer 1) - (-> obj buffer 0) - ) - ) + (-> obj buffer 1) + (-> obj buffer 0) + ) + ) ) - (when (-> s5-0 busy) - (when (nonzero? (rpc-busy? (-> obj rpc-port))) - (if arg0 - (format 0 "STALL: waiting for IOP on RPC port #~D~%" (-> obj rpc-port)) + (when (-> s5-0 busy) + (when (nonzero? (rpc-busy? (-> obj rpc-port))) + (if arg0 + (format 0 "STALL: waiting for IOP on RPC port #~D~%" (-> obj rpc-port)) + ) + (while (nonzero? (rpc-busy? (-> obj rpc-port))) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + ) + ) + (set! (-> s5-0 busy) #f) + (set! (-> s5-0 elt-used) (the-as uint 0)) + 0 ) - (while (nonzero? (rpc-busy? (-> obj rpc-port))) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - ) - ) - (set! (-> s5-0 busy) #f) - (set! (-> s5-0 elt-used) (the-as uint 0)) - 0 ) - ) 0 ) ;; definition for method 13 of type rpc-buffer-pair (defmethod check-busy rpc-buffer-pair ((obj rpc-buffer-pair)) (let ((gp-0 (if (= (-> obj current) (-> obj buffer 0)) - (-> obj buffer 1) - (-> obj buffer 0) - ) - ) + (-> obj buffer 1) + (-> obj buffer 0) + ) + ) ) - (when (-> gp-0 busy) - (if (nonzero? (rpc-busy? (-> obj rpc-port))) - (return #t) - ) - (set! (-> gp-0 busy) #f) - (set! (-> gp-0 elt-used) (the-as uint 0)) - 0 + (when (-> gp-0 busy) + (if (nonzero? (rpc-busy? (-> obj rpc-port))) + (return #t) + ) + (set! (-> gp-0 busy) #f) + (set! (-> gp-0 elt-used) (the-as uint 0)) + 0 + ) ) - ) #f ) ;; definition for method 9 of type rpc-buffer-pair -(defmethod - call - rpc-buffer-pair - ((obj rpc-buffer-pair) (arg0 uint) (arg1 pointer) (arg2 uint)) +(defmethod call rpc-buffer-pair ((obj rpc-buffer-pair) (arg0 uint) (arg1 pointer) (arg2 uint)) (when (nonzero? (-> obj current elt-used)) - (let ((s2-0 (if (= (-> obj current) (-> obj buffer 0)) - (-> obj buffer 1) - (-> obj buffer 0) + (let ((s2-0 (if (= (-> obj current) (-> obj buffer 0)) + (-> obj buffer 1) + (-> obj buffer 0) + ) ) ) - ) - (when (-> s2-0 busy) - (when (nonzero? (rpc-busy? (-> obj rpc-port))) - (format 0 "STALL: waiting for IOP on RPC port #~D~%" (-> obj rpc-port)) - (while (nonzero? (rpc-busy? (-> obj rpc-port))) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - ) + (when (-> s2-0 busy) + (when (nonzero? (rpc-busy? (-> obj rpc-port))) + (format 0 "STALL: waiting for IOP on RPC port #~D~%" (-> obj rpc-port)) + (while (nonzero? (rpc-busy? (-> obj rpc-port))) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + ) + ) + (set! (-> s2-0 busy) #f) + (set! (-> s2-0 elt-used) (the-as uint 0)) + 0 + ) + (let ((s1-0 (-> obj current))) + (rpc-call + (-> obj rpc-port) + arg0 + (the-as uint 1) + (the-as uint (-> s1-0 base)) + (the-as int (* (-> s1-0 elt-size) (-> s1-0 elt-used))) + (the-as uint arg1) + (the-as int arg2) + ) + (set! (-> s1-0 busy) #t) + ) + (set! (-> obj last-recv-buffer) arg1) + (set! (-> obj current) s2-0) ) - (set! (-> s2-0 busy) #f) - (set! (-> s2-0 elt-used) (the-as uint 0)) - 0 - ) - (let ((s1-0 (-> obj current))) - (rpc-call - (-> obj rpc-port) - arg0 - (the-as uint 1) - (the-as uint (-> s1-0 base)) - (the-as int (* (-> s1-0 elt-size) (-> s1-0 elt-used))) - (the-as uint arg1) - (the-as int arg2) - ) - (set! (-> s1-0 busy) #t) - ) - (set! (-> obj last-recv-buffer) arg1) - (set! (-> obj current) s2-0) ) - ) 0 ) ;; definition for method 14 of type rpc-buffer-pair (defmethod pop-last-received rpc-buffer-pair ((obj rpc-buffer-pair)) (let ((v0-0 (-> obj last-recv-buffer))) - (set! (-> obj last-recv-buffer) (the-as pointer #f)) - v0-0 - ) + (set! (-> obj last-recv-buffer) (the-as pointer #f)) + v0-0 + ) ) ;; definition for method 10 of type rpc-buffer-pair (defmethod add-element rpc-buffer-pair ((obj rpc-buffer-pair)) (let ((v1-0 (-> obj current))) - (when (= (-> v1-0 elt-used) (-> v1-0 elt-count)) - (if (zero? (-> obj rpc-port)) - (format 0 "WARNING: too many sound commands queued~%") - ) - (call obj (the-as uint 0) (the-as pointer 0) (the-as uint 0)) - (set! v1-0 (-> obj current)) + (when (= (-> v1-0 elt-used) (-> v1-0 elt-count)) + (if (zero? (-> obj rpc-port)) + (format 0 "WARNING: too many sound commands queued~%") + ) + (call obj (the-as uint 0) (the-as pointer 0) (the-as uint 0)) + (set! v1-0 (-> obj current)) + ) + (let ((v0-2 (&+ (-> v1-0 base) (* (-> v1-0 elt-used) (-> v1-0 elt-size))))) + (+! (-> v1-0 elt-used) 1) + v0-2 + ) ) - (let ((v0-2 (&+ (-> v1-0 base) (* (-> v1-0 elt-used) (-> v1-0 elt-size))))) - (+! (-> v1-0 elt-used) 1) - v0-2 - ) - ) ) ;; definition for method 11 of type rpc-buffer-pair (defmethod decrement-elt-used rpc-buffer-pair ((obj rpc-buffer-pair)) (if (> (-> obj current elt-used) 0) - (+! (-> obj current elt-used) -1) - ) + (+! (-> obj current elt-used) -1) + ) 0 ) diff --git a/test/decompiler/reference/engine/ps2/timer-h_REF.gc b/test/decompiler/reference/engine/ps2/timer-h_REF.gc index e4e39343e2..a3a3d47e29 100644 --- a/test/decompiler/reference/engine/ps2/timer-h_REF.gc +++ b/test/decompiler/reference/engine/ps2/timer-h_REF.gc @@ -121,13 +121,7 @@ (format #t "[~8x] profile-frame~%" obj) (format #t "~Tname: ~A~%" (-> obj name)) (format #t "~Ttime-stamp: ~D~%" (-> obj time-stamp)) - (format - #t - "~Tcolor: ~D ~D ~D~%" - (-> obj color r) - (-> obj color g) - (-> obj color b) - ) + (format #t "~Tcolor: ~D ~D ~D~%" (-> obj color r) (-> obj color g) (-> obj color b)) obj ) diff --git a/test/decompiler/reference/engine/ps2/timer_REF.gc b/test/decompiler/reference/engine/ps2/timer_REF.gc index b13183bf60..662d41a654 100644 --- a/test/decompiler/reference/engine/ps2/timer_REF.gc +++ b/test/decompiler/reference/engine/ps2/timer_REF.gc @@ -19,9 +19,9 @@ (defun timer-count ((arg0 timer-bank)) (.sync.l) (let ((v0-0 (-> arg0 count))) - (.sync.l) - v0-0 - ) + (.sync.l) + v0-0 + ) ) ;; definition for function disable-irq @@ -32,11 +32,11 @@ (defun disable-irq () (local-vars (v0-0 int)) (let ((v1-0 (the-as uint #xfffffffe))) - (.mfc0 v0-0 Status) - (let ((v0-1 (logand v0-0 v1-0))) - (.mtc0 Status v0-1) + (.mfc0 v0-0 Status) + (let ((v0-1 (logand v0-0 v1-0))) + (.mtc0 Status v0-1) + ) ) - ) (.sync.p) 0 (none) @@ -51,8 +51,8 @@ (local-vars (v0-0 int)) (.mfc0 v0-0 Status) (let ((v0-1 (logior v0-0 1))) - (.mtc0 Status v0-1) - ) + (.mtc0 Status v0-1) + ) (.sync.p) 0 (none) @@ -71,10 +71,10 @@ (local-vars (v1-3 int)) (set! (-> arg0 prev-time-elapsed) (the-as uint 0)) (when (> (-> arg0 begin-level) 0) - 0 - (.mfc0 v1-3 Count) - (set! (-> arg0 start-time) (the-as uint v1-3)) - ) + 0 + (.mfc0 v1-3 Count) + (set! (-> arg0 start-time) (the-as uint v1-3)) + ) 0 ) @@ -83,11 +83,11 @@ (defun stopwatch-start ((arg0 stopwatch)) (local-vars (v1-4 int)) (when (zero? (-> arg0 begin-level)) - (set! (-> arg0 begin-level) 1) - 0 - (.mfc0 v1-4 Count) - (set! (-> arg0 start-time) (the-as uint v1-4)) - ) + (set! (-> arg0 begin-level) 1) + 0 + (.mfc0 v1-4 Count) + (set! (-> arg0 start-time) (the-as uint v1-4)) + ) 0 ) @@ -97,11 +97,11 @@ (defun stopwatch-stop ((arg0 stopwatch)) (local-vars (a1-0 int)) (when (> (-> arg0 begin-level) 0) - (set! (-> arg0 begin-level) 0) - 0 - (.mfc0 a1-0 Count) - (+! (-> arg0 prev-time-elapsed) (- a1-0 (the-as int (-> arg0 start-time)))) - ) + (set! (-> arg0 begin-level) 0) + 0 + (.mfc0 a1-0 Count) + (+! (-> arg0 prev-time-elapsed) (- a1-0 (the-as int (-> arg0 start-time)))) + ) (the-as uint 0) ) @@ -110,10 +110,10 @@ (defun stopwatch-begin ((arg0 stopwatch)) (local-vars (v1-3 int)) (when (zero? (-> arg0 begin-level)) - 0 - (.mfc0 v1-3 Count) - (set! (-> arg0 start-time) (the-as uint v1-3)) - ) + 0 + (.mfc0 v1-3 Count) + (set! (-> arg0 start-time) (the-as uint v1-3)) + ) (+! (-> arg0 begin-level) 1) 0 ) @@ -125,10 +125,10 @@ (local-vars (a1-0 int)) (+! (-> arg0 begin-level) -1) (when (zero? (-> arg0 begin-level)) - 0 - (.mfc0 a1-0 Count) - (+! (-> arg0 prev-time-elapsed) (- a1-0 (the-as int (-> arg0 start-time)))) - ) + 0 + (.mfc0 a1-0 Count) + (+! (-> arg0 prev-time-elapsed) (- a1-0 (the-as int (-> arg0 start-time)))) + ) (the-as uint 0) ) @@ -137,18 +137,18 @@ (defun stopwatch-elapsed-ticks ((arg0 stopwatch)) (local-vars (v1-3 int)) (let ((v0-0 (-> arg0 prev-time-elapsed))) - (when (> (-> arg0 begin-level) 0) - 0 - (.mfc0 v1-3 Count) - (+! v0-0 (- v1-3 (the-as int (-> arg0 start-time)))) + (when (> (-> arg0 begin-level) 0) + 0 + (.mfc0 v1-3 Count) + (+! v0-0 (- v1-3 (the-as int (-> arg0 start-time)))) + ) + v0-0 ) - v0-0 - ) ) ;; definition for function stopwatch-elapsed-seconds (defun stopwatch-elapsed-seconds ((arg0 stopwatch)) (let ((v1-0 (stopwatch-elapsed-ticks arg0))) - (* 0.0000000033333334 (the float v1-0)) - ) + (* 0.0000000033333334 (the float v1-0)) + ) ) diff --git a/test/decompiler/reference/engine/sound/gsound-h_REF.gc b/test/decompiler/reference/engine/sound/gsound-h_REF.gc index 0e0eeed2eb..8bb849bb06 100644 --- a/test/decompiler/reference/engine/sound/gsound-h_REF.gc +++ b/test/decompiler/reference/engine/sound/gsound-h_REF.gc @@ -298,10 +298,7 @@ ) ;; definition for method 3 of type sound-rpc-set-master-volume -(defmethod - inspect - sound-rpc-set-master-volume - ((obj sound-rpc-set-master-volume)) +(defmethod inspect sound-rpc-set-master-volume ((obj sound-rpc-set-master-volume)) (format #t "[~8x] ~A~%" obj 'sound-rpc-set-master-volume) (format #t "~Trsvd1: ~D~%" (-> obj rsvd1)) (format #t "~Tcommand: ~D~%" (-> obj command)) @@ -413,10 +410,7 @@ ) ;; definition for method 3 of type sound-rpc-set-falloff-curve -(defmethod - inspect - sound-rpc-set-falloff-curve - ((obj sound-rpc-set-falloff-curve)) +(defmethod inspect sound-rpc-set-falloff-curve ((obj sound-rpc-set-falloff-curve)) (format #t "[~8x] ~A~%" obj 'sound-rpc-set-falloff-curve) (format #t "~Trsvd1: ~D~%" (-> obj rsvd1)) (format #t "~Tcommand: ~D~%" (-> obj command)) @@ -440,10 +434,7 @@ ;; definition for method 3 of type sound-rpc-set-sound-falloff ;; Used lq/sq -(defmethod - inspect - sound-rpc-set-sound-falloff - ((obj sound-rpc-set-sound-falloff)) +(defmethod inspect sound-rpc-set-sound-falloff ((obj sound-rpc-set-sound-falloff)) (format #t "[~8x] ~A~%" obj 'sound-rpc-set-sound-falloff) (format #t "~Trsvd1: ~D~%" (-> obj rsvd1)) (format #t "~Tcommand: ~D~%" (-> obj command)) @@ -619,95 +610,27 @@ (format #t "[~8x] ~A~%" obj 'sound-rpc-union) (format #t "~Tdata[20] @ #x~X~%" (-> obj data)) (format #t "~Tload-bank: #~%" (-> obj load-bank)) - (format - #t - "~Tunload-bank: #~%" - (-> obj load-bank) - ) + (format #t "~Tunload-bank: #~%" (-> obj load-bank)) (format #t "~Tplay: #~%" (-> obj load-bank)) - (format - #t - "~Tpause-sound: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tstop-sound: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tcontinue-sound: #~%" - (-> obj load-bank) - ) + (format #t "~Tpause-sound: #~%" (-> obj load-bank)) + (format #t "~Tstop-sound: #~%" (-> obj load-bank)) + (format #t "~Tcontinue-sound: #~%" (-> obj load-bank)) (format #t "~Tset-param: #~%" (-> obj load-bank)) - (format - #t - "~Tset-master-volume: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tpause-group: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tstop-group: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tcontinue-group: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tget-irx-version: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tset-falloff-curve: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tset-sound-falloff: #~%" - (-> obj load-bank) - ) - (format - #t - "~Treload-info: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tset-language: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tset-reverb: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tset-ear-trans: #~%" - (-> obj load-bank) - ) + (format #t "~Tset-master-volume: #~%" (-> obj load-bank)) + (format #t "~Tpause-group: #~%" (-> obj load-bank)) + (format #t "~Tstop-group: #~%" (-> obj load-bank)) + (format #t "~Tcontinue-group: #~%" (-> obj load-bank)) + (format #t "~Tget-irx-version: #~%" (-> obj load-bank)) + (format #t "~Tset-falloff-curve: #~%" (-> obj load-bank)) + (format #t "~Tset-sound-falloff: #~%" (-> obj load-bank)) + (format #t "~Treload-info: #~%" (-> obj load-bank)) + (format #t "~Tset-language: #~%" (-> obj load-bank)) + (format #t "~Tset-reverb: #~%" (-> obj load-bank)) + (format #t "~Tset-ear-trans: #~%" (-> obj load-bank)) (format #t "~Tset-flava: #~%" (-> obj load-bank)) (format #t "~Tshutdown: #~%" (-> obj load-bank)) - (format - #t - "~Tlist-sounds: #~%" - (-> obj load-bank) - ) - (format - #t - "~Tunload-music: #~%" - (-> obj load-bank) - ) + (format #t "~Tlist-sounds: #~%" (-> obj load-bank)) + (format #t "~Tunload-music: #~%" (-> obj load-bank)) obj ) diff --git a/test/decompiler/reference/engine/sound/gsound_REF.gc b/test/decompiler/reference/engine/sound/gsound_REF.gc index 42035ef520..fd79131193 100644 --- a/test/decompiler/reference/engine/sound/gsound_REF.gc +++ b/test/decompiler/reference/engine/sound/gsound_REF.gc @@ -2,16 +2,10 @@ (in-package goal) ;; definition for symbol *sound-player-rpc*, type rpc-buffer-pair -(define - *sound-player-rpc* - (new 'global 'rpc-buffer-pair (the-as uint 80) (the-as uint 128) 0) - ) +(define *sound-player-rpc* (new 'global 'rpc-buffer-pair (the-as uint 80) (the-as uint 128) 0)) ;; definition for symbol *sound-loader-rpc*, type rpc-buffer-pair -(define - *sound-loader-rpc* - (new 'global 'rpc-buffer-pair (the-as uint 80) (the-as uint 1) 1) - ) +(define *sound-loader-rpc* (new 'global 'rpc-buffer-pair (the-as uint 80) (the-as uint 1) 1)) ;; definition for function sound-name= (defun sound-name= ((arg0 sound-name) (arg1 sound-name)) @@ -77,11 +71,11 @@ ;; definition for function current-str-pos (defun current-str-pos ((arg0 sound-id)) (let ((v0-0 -1)) - (if (= arg0 (-> *sound-iop-info* str-id)) - (set! v0-0 (-> *sound-iop-info* strpos)) + (if (= arg0 (-> *sound-iop-info* str-id)) + (set! v0-0 (-> *sound-iop-info* strpos)) + ) + v0-0 ) - v0-0 - ) ) ;; definition for function is-cd-in? @@ -93,32 +87,26 @@ (defun new-sound-id () (set! *current-sound-id* (+ *current-sound-id* 1)) (if (< (the-as int *current-sound-id*) #x10000) - (set! *current-sound-id* (the-as sound-id #x10000)) - ) + (set! *current-sound-id* (the-as sound-id #x10000)) + ) *current-sound-id* ) ;; definition for function check-irx-version (defun check-irx-version () - (let - ((cmd (the-as sound-rpc-get-irx-version (add-element *sound-loader-rpc*)))) - (set! (-> cmd command) (sound-command get-irx-version)) - (set! (-> cmd ee-addr) (&-> *sound-iop-info* frame)) - (call - *sound-loader-rpc* - (the-as uint 0) - (the-as pointer cmd) - (the-as uint 80) + (let ((cmd (the-as sound-rpc-get-irx-version (add-element *sound-loader-rpc*)))) + (set! (-> cmd command) (sound-command get-irx-version)) + (set! (-> cmd ee-addr) (&-> *sound-iop-info* frame)) + (call *sound-loader-rpc* (the-as uint 0) (the-as pointer cmd) (the-as uint 80)) + (sync *sound-loader-rpc* #f) + (format 0 "IRX version ~D.~D~%" (-> cmd major) (-> cmd minor)) + (when (or (!= (-> cmd major) 2) (nonzero? (-> cmd minor))) + (format 0 "ERROR: IRX is the wrong version - need ~D.~D~%" 2 0) + (format 0 "~%~%Please do (:mch) then mkee on linux-dog~%~%~%") + (crash!) + 0 + ) ) - (sync *sound-loader-rpc* #f) - (format 0 "IRX version ~D.~D~%" (-> cmd major) (-> cmd minor)) - (when (or (!= (-> cmd major) 2) (nonzero? (-> cmd minor))) - (format 0 "ERROR: IRX is the wrong version - need ~D.~D~%" 2 0) - (format 0 "~%~%Please do (:mch) then mkee on linux-dog~%~%~%") - (crash!) - 0 - ) - ) 0 ) @@ -129,22 +117,22 @@ ;; Used lq/sq (defun sound-bank-load ((arg0 sound-name)) (let ((gp-0 (new-sound-id))) - (let ((cmd (the-as sound-rpc-load-bank (add-element *sound-loader-rpc*)))) - (set! (-> cmd command) (sound-command load-bank)) - (set! (-> cmd bank-name) arg0) + (let ((cmd (the-as sound-rpc-load-bank (add-element *sound-loader-rpc*)))) + (set! (-> cmd command) (sound-command load-bank)) + (set! (-> cmd bank-name) arg0) + ) + (call *sound-loader-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) + gp-0 ) - (call *sound-loader-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) - gp-0 - ) ) ;; definition for function sound-bank-unload ;; Used lq/sq (defun sound-bank-unload ((arg0 sound-name)) (let ((cmd (the-as sound-rpc-unload-bank (add-element *sound-loader-rpc*)))) - (set! (-> cmd command) (sound-command unload-bank)) - (set! (-> cmd bank-name) arg0) - ) + (set! (-> cmd command) (sound-command unload-bank)) + (set! (-> cmd bank-name) arg0) + ) (call *sound-loader-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) 0 ) @@ -153,9 +141,9 @@ ;; Used lq/sq (defun sound-music-load ((arg0 sound-name)) (let ((cmd (the-as sound-rpc-load-music (add-element *sound-loader-rpc*)))) - (set! (-> cmd command) (sound-command load-music)) - (set! (-> cmd bank-name) arg0) - ) + (set! (-> cmd command) (sound-command load-music)) + (set! (-> cmd bank-name) arg0) + ) (call *sound-loader-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) 0 ) @@ -163,8 +151,8 @@ ;; definition for function sound-music-unload (defun sound-music-unload () (let ((cmd (the-as sound-rpc-unload-music (add-element *sound-loader-rpc*)))) - (set! (-> cmd command) (sound-command unload-music)) - ) + (set! (-> cmd command) (sound-command unload-music)) + ) (call *sound-loader-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) 0 ) @@ -187,8 +175,8 @@ ;; definition for function sound-reload-info (defun sound-reload-info () (let ((cmd (the-as sound-rpc-reload-info (add-element *sound-loader-rpc*)))) - (set! (-> cmd command) (sound-command reload-info)) - ) + (set! (-> cmd command) (sound-command reload-info)) + ) (call *sound-loader-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) 0 ) @@ -197,9 +185,9 @@ (defun set-language ((arg0 language-enum)) (kset-language arg0) (let ((cmd (the-as sound-rpc-set-language (add-element *sound-loader-rpc*)))) - (set! (-> cmd command) (sound-command set-language)) - (set! (-> cmd lang) (the-as uint arg0)) - ) + (set! (-> cmd command) (sound-command set-language)) + (set! (-> cmd lang) (the-as uint arg0)) + ) (call *sound-loader-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) 0 ) @@ -207,88 +195,88 @@ ;; definition for function list-sounds (defun list-sounds () (let ((cmd (the-as sound-rpc-list-sounds (add-element *sound-loader-rpc*)))) - (set! (-> cmd command) (sound-command list-sounds)) - ) + (set! (-> cmd command) (sound-command list-sounds)) + ) (call *sound-loader-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) 0 ) ;; definition for function sound-command->string (defun sound-command->string ((arg0 sound-command)) - (case arg0 - (((sound-command unload-music)) + (case arg0 + (((sound-command unload-music)) "unload-music" ) - (((sound-command list-sounds)) - "list-sounds" + (((sound-command list-sounds)) + "list-sounds" + ) + (((sound-command shutdown)) + "shutdown" + ) + (((sound-command set-ear-trans)) + "set-ear-trans" + ) + (((sound-command set-reverb)) + "set-reverb" + ) + (((sound-command set-flava)) + "set-flava" + ) + (((sound-command set-language)) + "set-language" + ) + (((sound-command reload-info)) + "reload-info" + ) + (((sound-command set-sound-falloff)) + "set-sound-falloff" + ) + (((sound-command set-falloff-curve)) + "set-falloff-curve" + ) + (((sound-command get-irx-version)) + "get-irx-version" + ) + (((sound-command continue-group)) + "continue-group" + ) + (((sound-command stop-group)) + "stop-group" + ) + (((sound-command pause-group)) + "pause-group" + ) + (((sound-command set-master-volume)) + "set-master-volume" + ) + (((sound-command set-param)) + "set-param" + ) + (((sound-command continue-sound)) + "continue-sound" + ) + (((sound-command stop-sound)) + "stop-sound" + ) + (((sound-command pause-sound)) + "pause-sound" + ) + (((sound-command play)) + "play" + ) + (((sound-command unload-bank)) + "unload-bank" + ) + (((sound-command load-music)) + "load-music" + ) + (((sound-command load-bank)) + "load-bank" + ) + (else + "*unknown*" + ) ) - (((sound-command shutdown)) - "shutdown" - ) - (((sound-command set-ear-trans)) - "set-ear-trans" - ) - (((sound-command set-reverb)) - "set-reverb" - ) - (((sound-command set-flava)) - "set-flava" - ) - (((sound-command set-language)) - "set-language" - ) - (((sound-command reload-info)) - "reload-info" - ) - (((sound-command set-sound-falloff)) - "set-sound-falloff" - ) - (((sound-command set-falloff-curve)) - "set-falloff-curve" - ) - (((sound-command get-irx-version)) - "get-irx-version" - ) - (((sound-command continue-group)) - "continue-group" - ) - (((sound-command stop-group)) - "stop-group" - ) - (((sound-command pause-group)) - "pause-group" - ) - (((sound-command set-master-volume)) - "set-master-volume" - ) - (((sound-command set-param)) - "set-param" - ) - (((sound-command continue-sound)) - "continue-sound" - ) - (((sound-command stop-sound)) - "stop-sound" - ) - (((sound-command pause-sound)) - "pause-sound" - ) - (((sound-command play)) - "play" - ) - (((sound-command unload-bank)) - "unload-bank" - ) - (((sound-command load-music)) - "load-music" - ) - (((sound-command load-bank)) - "load-bank" - ) - (else - "*unknown*" - ) - ) ) ;; definition for function sound-buffer-dump @@ -297,27 +285,21 @@ (let ((gp-0 (-> *sound-player-rpc* current elt-used)) (s5-0 (-> *sound-player-rpc* current elt-size)) ) - (dotimes (s4-0 (the-as int gp-0)) - (let* - ((cmd - (the-as - sound-rpc-play - (&+ (-> *sound-player-rpc* current base) (* s5-0 (the-as uint s4-0))) + (dotimes (s4-0 (the-as int gp-0)) + (let* ((cmd (the-as sound-rpc-play (&+ (-> *sound-player-rpc* current base) (* s5-0 (the-as uint s4-0))))) + (a3-0 (sound-command->string (-> cmd command))) + ) + (case (-> cmd command) + (((sound-command play)) + (format #t "~D ~A ~G~%" s4-0 a3-0 (-> cmd name)) + ) + (else + (format #t "~D ~A~%" s4-0 a3-0) + ) + ) ) - ) - (a3-0 (sound-command->string (-> cmd command))) ) - (case (-> cmd command) - (((sound-command play)) - (format #t "~D ~A ~G~%" s4-0 a3-0 (-> cmd name)) - ) - (else - (format #t "~D ~A~%" s4-0 a3-0) - ) - ) - ) ) - ) 0 ) @@ -327,39 +309,31 @@ ;; definition for function swap-sound-buffers (defun swap-sound-buffers ((arg0 vector) (arg1 vector) (arg2 float)) (cond - ((check-busy *sound-player-rpc*) - (set! *sound-player-enable* #f) - ) - (else - (let ((a0-2 (-> *sound-player-rpc* current))) - (if (< (-> a0-2 elt-used) (-> a0-2 elt-count)) - (sound-set-ear-trans arg0 arg1 arg2) - ) + ((check-busy *sound-player-rpc*) + (set! *sound-player-enable* #f) ) - (call *sound-player-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) - (set! *sound-player-enable* #t) + (else + (let ((a0-2 (-> *sound-player-rpc* current))) + (if (< (-> a0-2 elt-used) (-> a0-2 elt-count)) + (sound-set-ear-trans arg0 arg1 arg2) + ) + ) + (call *sound-player-rpc* (the-as uint 0) (the-as pointer 0) (the-as uint 0)) + (set! *sound-player-enable* #t) + ) ) - ) (cond - ((nonzero? (-> *sound-iop-info* nocd)) - (if - (or - (not *progress-process*) - (!= (-> *progress-process* 0 display-state) 32) - ) - (activate-progress *dproc* (progress-screen no-disc)) + ((nonzero? (-> *sound-iop-info* nocd)) + (if (or (not *progress-process*) (!= (-> *progress-process* 0 display-state) 32)) + (activate-progress *dproc* (progress-screen no-disc)) + ) + ) + ((nonzero? (-> *sound-iop-info* dirtycd)) + (if (or (not *progress-process*) (!= (-> *progress-process* 0 display-state) 33)) + (activate-progress *dproc* (progress-screen bad-disc)) + ) ) ) - ((nonzero? (-> *sound-iop-info* dirtycd)) - (if - (or - (not *progress-process*) - (!= (-> *progress-process* 0 display-state) 33) - ) - (activate-progress *dproc* (progress-screen bad-disc)) - ) - ) - ) 0 ) @@ -385,15 +359,15 @@ ;; definition for function sound-trans-convert (defun sound-trans-convert ((arg0 vector3w) (arg1 vector)) (let ((v1-0 (if arg1 - arg1 - (ear-trans) - ) - ) + arg1 + (ear-trans) + ) + ) ) - (set! (-> arg0 x) (the int (* 0.0625 (-> v1-0 x)))) - (set! (-> arg0 y) (the int (* 0.0625 (-> v1-0 y)))) - (set! (-> arg0 z) (the int (* 0.0625 (-> v1-0 z)))) - ) + (set! (-> arg0 x) (the int (* 0.0625 (-> v1-0 x)))) + (set! (-> arg0 y) (the int (* 0.0625 (-> v1-0 y)))) + (set! (-> arg0 z) (the int (* 0.0625 (-> v1-0 z)))) + ) 0 ) @@ -402,14 +376,14 @@ (let* ((f0-3 (the float (sar (shl (the int arg0) 48) 48))) (v0-0 (the int (* 0.005493164 f0-3))) ) - (if (< v0-0 0) - (+! v0-0 360) + (if (< v0-0 0) + (+! v0-0 360) + ) + (if (< 359 v0-0) + (+! v0-0 -360) + ) + v0-0 ) - (if (< 359 v0-0) - (+! v0-0 -360) - ) - v0-0 - ) ) ;; definition for function string->sound-name @@ -417,239 +391,214 @@ ;; Used lq/sq (defun string->sound-name ((str string)) (let ((snd-name (new 'stack-no-clear 'qword))) - (set! (-> snd-name quad) (the-as uint128 0)) - (let ((out-ptr (the-as (pointer uint8) snd-name)) - (in-ptr (-> str data)) - ) - (while - (and - (nonzero? (-> in-ptr 0)) - (< (&- in-ptr (the-as uint (-> str data))) 15) + (set! (-> snd-name quad) (the-as uint128 0)) + (let ((out-ptr (the-as (pointer uint8) snd-name)) + (in-ptr (-> str data)) + ) + (while (and (nonzero? (-> in-ptr 0)) (< (&- in-ptr (the-as uint (-> str data))) 15)) + (set! (-> out-ptr 0) (-> in-ptr 0)) + (set! out-ptr (&-> out-ptr 1)) + (set! in-ptr (&-> in-ptr 1)) + ) ) - (set! (-> out-ptr 0) (-> in-ptr 0)) - (set! out-ptr (&-> out-ptr 1)) - (set! in-ptr (&-> in-ptr 1)) - ) + (the-as sound-name (-> snd-name quad)) ) - (the-as sound-name (-> snd-name quad)) - ) ) ;; definition for function sound-set-volume (defun sound-set-volume ((arg0 uint) (arg1 float)) (let ((cmd (the-as sound-rpc-set-master-volume (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command set-master-volume)) - (set! (-> cmd group) arg0) - (set! (-> cmd volume) (the int (* 10.24 arg1))) - ) + (set! (-> cmd command) (sound-command set-master-volume)) + (set! (-> cmd group) arg0) + (set! (-> cmd volume) (the int (* 10.24 arg1))) + ) 0 ) ;; definition for function sound-set-reverb (defun sound-set-reverb ((arg0 int) (arg1 float) (arg2 float) (arg3 uint)) (let ((cmd (the-as sound-rpc-set-reverb (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command set-reverb)) - (set! (-> cmd core) arg3) - (set! (-> cmd reverb) arg0) - (set! (-> cmd left) (the-as uint (the int (* 32767.0 arg1)))) - (set! (-> cmd right) (the-as uint (the int (* 32767.0 arg2)))) - ) + (set! (-> cmd command) (sound-command set-reverb)) + (set! (-> cmd core) arg3) + (set! (-> cmd reverb) arg0) + (set! (-> cmd left) (the-as uint (the int (* 32767.0 arg1)))) + (set! (-> cmd right) (the-as uint (the int (* 32767.0 arg2)))) + ) 0 ) ;; definition for function sound-set-ear-trans (defun sound-set-ear-trans ((arg0 vector) (arg1 vector) (arg2 float)) (let ((cmd (the-as sound-rpc-set-ear-trans (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command set-ear-trans)) - (sound-trans-convert (-> cmd ear-trans) arg0) - (sound-trans-convert (-> cmd cam-trans) arg1) - (set! (-> cmd cam-angle) (sound-angle-convert arg2)) - ) + (set! (-> cmd command) (sound-command set-ear-trans)) + (sound-trans-convert (-> cmd ear-trans) arg0) + (sound-trans-convert (-> cmd cam-trans) arg1) + (set! (-> cmd cam-angle) (sound-angle-convert arg2)) + ) 0 ) ;; definition for function sound-play-by-name ;; Used lq/sq -(defun - sound-play-by-name - ((name sound-name) - (id sound-id) - (vol int) - (pitch int) - (bend int) - (group int) - (trans symbol) - ) +(defun sound-play-by-name ((name sound-name) (id sound-id) (vol int) (pitch int) (bend int) (group int) (trans symbol)) (local-vars (sv-16 int)) (with-pp - (set! sv-16 group) - (let ((sound-trans (the-as structure trans))) - (when *sound-player-enable* - (let ((cmd (the-as sound-rpc-play (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command play)) - (set! (-> cmd id) id) - (set! (-> cmd name) name) - (set! (-> cmd parms mask) (the-as uint 0)) - (set! (-> cmd parms group) (the-as uint sv-16)) - (set! (-> cmd parms volume) vol) - (set! (-> cmd parms pitch-mod) pitch) - (set! (-> cmd parms bend) bend) - (let ((proc (the-as process-drawable pp))) - (when (= (the-as symbol sound-trans) #t) - (if - (and - proc - (type-type? (-> proc type) process-drawable) - (nonzero? (-> proc root)) + (set! sv-16 group) + (let ((sound-trans (the-as structure trans))) + (when *sound-player-enable* + (let ((cmd (the-as sound-rpc-play (get-sound-buffer-entry)))) + (set! (-> cmd command) (sound-command play)) + (set! (-> cmd id) id) + (set! (-> cmd name) name) + (set! (-> cmd parms mask) (the-as uint 0)) + (set! (-> cmd parms group) (the-as uint sv-16)) + (set! (-> cmd parms volume) vol) + (set! (-> cmd parms pitch-mod) pitch) + (set! (-> cmd parms bend) bend) + (let ((proc (the-as process-drawable pp))) + (when (= (the-as symbol sound-trans) #t) + (if (and proc (type-type? (-> proc type) process-drawable) (nonzero? (-> proc root))) + (set! sound-trans (-> proc root trans)) + (set! sound-trans #f) + ) + ) + ) + (sound-trans-convert (-> cmd parms trans) (the-as vector sound-trans)) ) - (set! sound-trans (-> proc root trans)) - (set! sound-trans #f) - ) ) - ) - (sound-trans-convert (-> cmd parms trans) (the-as vector sound-trans)) ) - ) + id ) - id - ) ) ;; definition for function sound-play-by-spec ;; Used lq/sq (defun sound-play-by-spec ((spec sound-spec) (id sound-id) (trans vector)) (with-pp - (when *sound-player-enable* - (let ((cmd (the-as sound-rpc-play (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command play)) - (set! (-> cmd id) id) - (set! (-> cmd name) (-> spec sound-name)) - (set! (-> cmd parms mask) (-> spec mask)) - (set! (-> cmd parms group) (-> spec group)) - (set! (-> cmd parms volume) (-> spec volume)) - (set! (-> cmd parms pitch-mod) (-> spec pitch-mod)) - (set! (-> cmd parms bend) (-> spec bend)) - (set! (-> cmd parms fo-min) (-> spec fo-min)) - (set! (-> cmd parms fo-max) (-> spec fo-max)) - (set! (-> cmd parms fo-curve) (-> spec fo-curve)) - (set! (-> cmd parms priority) (-> spec priority)) - (let ((proc (the-as process-drawable pp))) - (when (= trans #t) - (if - (and - proc - (type-type? (-> proc type) process-drawable) - (nonzero? (-> proc root)) - ) - (set! trans (-> proc root trans)) - (set! trans (the-as vector #f)) + (when *sound-player-enable* + (let ((cmd (the-as sound-rpc-play (get-sound-buffer-entry)))) + (set! (-> cmd command) (sound-command play)) + (set! (-> cmd id) id) + (set! (-> cmd name) (-> spec sound-name)) + (set! (-> cmd parms mask) (-> spec mask)) + (set! (-> cmd parms group) (-> spec group)) + (set! (-> cmd parms volume) (-> spec volume)) + (set! (-> cmd parms pitch-mod) (-> spec pitch-mod)) + (set! (-> cmd parms bend) (-> spec bend)) + (set! (-> cmd parms fo-min) (-> spec fo-min)) + (set! (-> cmd parms fo-max) (-> spec fo-max)) + (set! (-> cmd parms fo-curve) (-> spec fo-curve)) + (set! (-> cmd parms priority) (-> spec priority)) + (let ((proc (the-as process-drawable pp))) + (when (= trans #t) + (if (and proc (type-type? (-> proc type) process-drawable) (nonzero? (-> proc root))) + (set! trans (-> proc root trans)) + (set! trans (the-as vector #f)) + ) + ) + ) + (sound-trans-convert (-> cmd parms trans) trans) ) - ) ) - (sound-trans-convert (-> cmd parms trans) trans) - ) + id ) - id - ) ) ;; definition for function sound-pause (defun sound-pause ((arg0 sound-id)) (let ((cmd (the-as sound-rpc-pause-sound (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command pause-sound)) - (set! (-> cmd id) arg0) - ) + (set! (-> cmd command) (sound-command pause-sound)) + (set! (-> cmd id) arg0) + ) 0 ) ;; definition for function sound-stop (defun sound-stop ((arg0 sound-id)) (let ((cmd (the-as sound-rpc-stop-sound (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command stop-sound)) - (set! (-> cmd id) arg0) - ) + (set! (-> cmd command) (sound-command stop-sound)) + (set! (-> cmd id) arg0) + ) 0 ) ;; definition for function sound-continue (defun sound-continue ((arg0 sound-id)) (let ((cmd (the-as sound-rpc-continue-sound (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command continue-sound)) - (set! (-> cmd id) arg0) - ) + (set! (-> cmd command) (sound-command continue-sound)) + (set! (-> cmd id) arg0) + ) 0 ) ;; definition for function sound-group-pause (defun sound-group-pause ((arg0 uint)) (let ((cmd (the-as sound-rpc-pause-group (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command pause-group)) - (set! (-> cmd group) arg0) - ) + (set! (-> cmd command) (sound-command pause-group)) + (set! (-> cmd group) arg0) + ) 0 ) ;; definition for function sound-group-stop (defun sound-group-stop ((arg0 uint)) (let ((cmd (the-as sound-rpc-stop-group (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command stop-group)) - (set! (-> cmd group) arg0) - ) + (set! (-> cmd command) (sound-command stop-group)) + (set! (-> cmd group) arg0) + ) 0 ) ;; definition for function sound-group-continue (defun sound-group-continue ((arg0 uint)) (let ((cmd (the-as sound-rpc-continue-group (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command continue-group)) - (set! (-> cmd group) arg0) - ) + (set! (-> cmd command) (sound-command continue-group)) + (set! (-> cmd group) arg0) + ) 0 ) ;; definition for function sound-set-falloff-curve (defun sound-set-falloff-curve ((arg0 int) (arg1 float) (arg2 float)) (let ((cmd (the-as sound-rpc-set-falloff-curve (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command set-falloff-curve)) - (set! (-> cmd curve) arg0) - (set! (-> cmd falloff) (the int (* 4096.0 arg1))) - (set! (-> cmd ease) (the int (* 4096.0 arg2))) - ) + (set! (-> cmd command) (sound-command set-falloff-curve)) + (set! (-> cmd curve) arg0) + (set! (-> cmd falloff) (the int (* 4096.0 arg1))) + (set! (-> cmd ease) (the int (* 4096.0 arg2))) + ) 0 ) ;; definition for function sound-set-sound-falloff ;; Used lq/sq -(defun - sound-set-sound-falloff - ((arg0 sound-name) (arg1 int) (arg2 int) (arg3 int)) +(defun sound-set-sound-falloff ((arg0 sound-name) (arg1 int) (arg2 int) (arg3 int)) (let ((cmd (the-as sound-rpc-set-sound-falloff (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command set-sound-falloff)) - (set! (-> cmd name) arg0) - (set! (-> cmd min) arg1) - (set! (-> cmd max) arg2) - (set! (-> cmd curve) arg3) - ) + (set! (-> cmd command) (sound-command set-sound-falloff)) + (set! (-> cmd name) arg0) + (set! (-> cmd min) arg1) + (set! (-> cmd max) arg2) + (set! (-> cmd curve) arg3) + ) 0 ) ;; definition for function sound-set-flava (defun sound-set-flava ((arg0 uint)) (let ((cmd (the-as sound-rpc-set-flava (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command set-flava)) - (set! (-> cmd flava) arg0) - ) + (set! (-> cmd command) (sound-command set-flava)) + (set! (-> cmd flava) arg0) + ) 0 ) ;; definition for function sound-volume-off (defun sound-volume-off () (with-pp - (set-setting! *setting-control* pp 'music-volume 'abs 0.0 0) - (set-setting! *setting-control* pp 'sfx-volume 'abs 0.0 0) - (set-setting! *setting-control* pp 'ambient-volume 'abs 0.0 0) - 0 - ) + (set-setting! *setting-control* pp 'music-volume 'abs 0.0 0) + (set-setting! *setting-control* pp 'sfx-volume 'abs 0.0 0) + (set-setting! *setting-control* pp 'ambient-volume 'abs 0.0 0) + 0 + ) ) ;; definition for symbol *ambient-spec*, type sound-spec @@ -658,270 +607,198 @@ ;; definition for method 0 of type ambient-sound ;; INFO: Return type mismatch object vs ambient-sound. ;; Used lq/sq -(defmethod - new - ambient-sound - ((allocation symbol) (type-to-make type) (arg0 basic) (arg1 vector)) +(defmethod new ambient-sound ((allocation symbol) (type-to-make type) (arg0 basic) (arg1 vector)) (local-vars - (sv-16 sound-spec) - (sv-32 sound-name) - (sv-48 (pointer float)) - (sv-52 sound-play-parms) - (sv-56 int) - (sv-64 res-tag) - ) + (sv-16 sound-spec) + (sv-32 sound-name) + (sv-48 (pointer float)) + (sv-52 sound-play-parms) + (sv-56 int) + (sv-64 res-tag) + ) (set! sv-16 (the-as sound-spec #f)) (set! sv-32 (the-as sound-name 0)) (set! sv-48 (the-as (pointer float) #f)) (set! sv-52 (the-as sound-play-parms #f)) (set! sv-56 0) - (case (-> arg0 type) - ((entity-actor entity-ambient) - (let - ((bc - ((method-of-type res-lump get-property-struct) - (the-as res-lump arg0) - 'effect-name - 'exact - 0.0 - #f - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - ) - (when bc - (set! - sv-32 - (string->sound-name - (the-as - string - (-> (the-as (pointer uint32) (+ #xff38 (the-as int bc)))) - ) - ) - ) - (set! - sv-48 - (res-lump-data (the-as res-lump arg0) 'cycle-speed (pointer float)) - ) - (set! sv-16 *ambient-spec*) - (set! sv-64 (new 'static 'res-tag)) - (let - ((v1-7 - ((method-of-type res-lump get-property-data) - (the-as res-lump arg0) - 'effect-param - 'exact - 0.0 - (the-as pointer #f) - (& sv-64) - *res-static-buf* + (case (-> arg0 type) + ((entity-actor entity-ambient) + (let ((bc + ((method-of-type res-lump get-property-struct) + (the-as res-lump arg0) + 'effect-name + 'exact + 0.0 + #f + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (when bc + (set! sv-32 (string->sound-name (the-as string (-> (the-as (pointer uint32) (+ #xff38 (the-as int bc))))))) + (set! sv-48 (res-lump-data (the-as res-lump arg0) 'cycle-speed (pointer float))) + (set! sv-16 *ambient-spec*) + (set! sv-64 (new 'static 'res-tag)) + (let ((v1-7 + ((method-of-type res-lump get-property-data) + (the-as res-lump arg0) + 'effect-param + 'exact + 0.0 + (the-as pointer #f) + (& sv-64) + *res-static-buf* + ) + ) + ) + (when v1-7 + (set! sv-52 (the-as sound-play-parms v1-7)) + (set! sv-56 (the-as int (-> sv-64 elt-count))) + ) ) - ) ) - (when v1-7 - (set! sv-52 (the-as sound-play-parms v1-7)) - (set! sv-56 (the-as int (-> sv-64 elt-count))) + ) + ) + ((sound-spec) + (set! sv-16 (the-as sound-spec arg0)) + ) + ((symbol) + (set! sv-32 (string->sound-name (the-as string (-> (the-as (pointer uint32) (+ #xff38 (the-as int arg0))))))) + ) + ((string) + (set! sv-32 (string->sound-name (the-as string arg0))) + ) + (else + (format 0 "ERROR: ambient sound was told to play an unknown ~A.~%" arg0) + ) + ) + (the-as + ambient-sound + (cond + ((or sv-16 (nonzero? sv-32)) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj spec) sv-16) + (set! (-> obj name) sv-32) + (set! (-> obj playing-id) (new-sound-id)) + (set! (-> obj params) (the-as (pointer float) sv-52)) + (set! (-> obj param-count) sv-56) + (set! (-> obj entity) #f) + (set! (-> obj sound-count) 1) + (set! (-> obj volume) 1024) + (set! (-> obj pitch) 0) + (when (and sv-16 (!= sv-16 *ambient-spec*)) + (if (logtest? (-> (the-as sound-spec sv-16) mask) 1) + (set! (-> obj volume) (-> (the-as sound-spec sv-16) volume)) + ) + (if (logtest? (-> (the-as sound-spec sv-16) mask) 2) + (set! (-> obj pitch) (-> (the-as sound-spec sv-16) pitch-mod)) + ) + ) + (cond + (sv-48 + (set! (-> obj time-base) (the int (* 300.0 (-> sv-48 0)))) + (set! (-> obj time-random) (the int (* 300.0 (-> sv-48 1)))) + ) + (else + (set! (-> obj time-base) -1) + ) + ) + (set! (-> obj trans quad) (-> arg1 quad)) + obj ) + ) + (else + (the-as ambient-sound 0) ) - ) ) - ) - ((sound-spec) - (set! sv-16 (the-as sound-spec arg0)) ) - ((symbol) - (set! - sv-32 - (string->sound-name - (the-as - string - (-> (the-as (pointer uint32) (+ #xff38 (the-as int arg0)))) - ) - ) - ) - ) - ((string) - (set! sv-32 (string->sound-name (the-as string arg0))) - ) - (else - (format 0 "ERROR: ambient sound was told to play an unknown ~A.~%" arg0) - ) - ) - (the-as ambient-sound (cond - ((or sv-16 (nonzero? sv-32)) - (let - ((obj - (object-new - allocation - type-to-make - (the-as int (-> type-to-make size)) - ) - ) - ) - (set! (-> obj spec) sv-16) - (set! (-> obj name) sv-32) - (set! (-> obj playing-id) (new-sound-id)) - (set! (-> obj params) (the-as (pointer float) sv-52)) - (set! (-> obj param-count) sv-56) - (set! (-> obj entity) #f) - (set! (-> obj sound-count) 1) - (set! (-> obj volume) 1024) - (set! (-> obj pitch) 0) - (when (and sv-16 (!= sv-16 *ambient-spec*)) - (if (logtest? (-> (the-as sound-spec sv-16) mask) 1) - (set! - (-> obj volume) - (-> (the-as sound-spec sv-16) volume) - ) - ) - (if (logtest? (-> (the-as sound-spec sv-16) mask) 2) - (set! - (-> obj pitch) - (-> (the-as sound-spec sv-16) pitch-mod) - ) - ) - ) - (cond - (sv-48 - (set! - (-> obj time-base) - (the int (* 300.0 (-> sv-48 0))) - ) - (set! - (-> obj time-random) - (the int (* 300.0 (-> sv-48 1))) - ) - ) - (else - (set! (-> obj time-base) -1) - ) - ) - (set! (-> obj trans quad) (-> arg1 quad)) - obj - ) - ) - (else - (the-as ambient-sound 0) - ) - ) - ) ) ;; definition for method 9 of type ambient-sound ;; Used lq/sq (defmethod update! ambient-sound ((obj ambient-sound)) (with-pp - (if (not *ambient-sound-class*) - (return (the-as int #f)) - ) - (cond - ((-> obj spec) - (when - (or - (< (-> obj time-base) 0) - (>= (-> *display* base-frame-counter) (-> obj play-time)) - ) - (when (>= (-> obj time-base) 0) - (set! - (-> obj play-time) - (+ - (-> *display* base-frame-counter) - (-> obj time-base) - (rand-vu-int-count (-> obj time-random)) - ) + (if (not *ambient-sound-class*) + (return (the-as int #f)) ) - (set! (-> obj playing-id) (new-sound-id)) - ) - (let ((spec (-> obj spec))) - (when (= spec *ambient-spec*) - (set! (-> spec volume) (-> obj volume)) - (set! (-> spec pitch-mod) (-> obj pitch)) - (set! (-> spec bend) 0) - (set! (-> spec sound-name) (-> obj name)) - (set! (-> spec fo-max) (-> obj falloff-far)) - (set! (-> spec mask) (the-as uint 0)) - (if (-> obj params) - (effect-param->sound-spec spec (-> obj params) (-> obj param-count)) + (cond + ((-> obj spec) + (when (or (< (-> obj time-base) 0) (>= (-> *display* base-frame-counter) (-> obj play-time))) + (when (>= (-> obj time-base) 0) + (set! (-> obj play-time) + (+ (-> *display* base-frame-counter) (-> obj time-base) (rand-vu-int-count (-> obj time-random))) + ) + (set! (-> obj playing-id) (new-sound-id)) + ) + (let ((spec (-> obj spec))) + (when (= spec *ambient-spec*) + (set! (-> spec volume) (-> obj volume)) + (set! (-> spec pitch-mod) (-> obj pitch)) + (set! (-> spec bend) 0) + (set! (-> spec sound-name) (-> obj name)) + (set! (-> spec fo-max) (-> obj falloff-far)) + (set! (-> spec mask) (the-as uint 0)) + (if (-> obj params) + (effect-param->sound-spec spec (-> obj params) (-> obj param-count)) + ) + ) + (if (and + (nonzero? (-> spec fo-max)) + (< (* 4096.0 (the float (-> spec fo-max))) (vector-vector-distance (ear-trans) (-> obj trans))) + ) + (return 0) + ) + (when (and *debug-effect-control* (>= (-> obj time-base) 0)) + (format #t "(~5D) effect sound ~A ~G " (-> *display* base-frame-counter) (-> pp name) (&-> spec sound-name)) + (format + #t + "volume: ~f pitch-mod: ~f~%" + (* 0.09765625 (the float (-> spec volume))) + (* 0.000656168 (the float (-> spec pitch-mod))) + ) + ) + (let ((spec-volume (-> spec volume))) + (set! (-> spec volume) (-> obj volume)) + (set! (-> obj playing-id) (sound-play-by-spec spec (-> obj playing-id) (-> obj trans))) + (set! (-> spec volume) spec-volume) + ) + ) ) - ) - (if - (and - (nonzero? (-> spec fo-max)) - (< - (* 4096.0 (the float (-> spec fo-max))) - (vector-vector-distance (ear-trans) (-> obj trans)) + ) + ((< (-> obj time-base) 0) + (set! (-> obj playing-id) (sound-play-by-name + (-> obj name) + (-> obj playing-id) + (-> obj volume) + (-> obj pitch) + 0 + 1 + (the-as symbol (-> obj trans)) + ) + ) + ) + (else + (when (>= (-> *display* base-frame-counter) (-> obj play-time)) + (set! (-> obj playing-id) + (sound-play-by-name + (-> obj name) + (new-sound-id) + (-> obj volume) + (-> obj pitch) + 0 + 1 + (the-as symbol (-> obj trans)) + ) + ) + (set! (-> obj play-time) + (+ (-> *display* base-frame-counter) (-> obj time-base) (rand-vu-int-count (-> obj time-random))) + ) ) - ) - (return 0) ) - (when (and *debug-effect-control* (>= (-> obj time-base) 0)) - (format - #t - "(~5D) effect sound ~A ~G " - (-> *display* base-frame-counter) - (-> pp name) - (&-> spec sound-name) - ) - (format - #t - "volume: ~f pitch-mod: ~f~%" - (* 0.09765625 (the float (-> spec volume))) - (* 0.000656168 (the float (-> spec pitch-mod))) - ) - ) - (let ((spec-volume (-> spec volume))) - (set! (-> spec volume) (-> obj volume)) - (set! - (-> obj playing-id) - (sound-play-by-spec spec (-> obj playing-id) (-> obj trans)) - ) - (set! (-> spec volume) spec-volume) - ) - ) ) - ) - ((< (-> obj time-base) 0) - (set! - (-> obj playing-id) - (sound-play-by-name - (-> obj name) - (-> obj playing-id) - (-> obj volume) - (-> obj pitch) - 0 - 1 - (the-as symbol (-> obj trans)) - ) - ) - ) - (else - (when (>= (-> *display* base-frame-counter) (-> obj play-time)) - (set! - (-> obj playing-id) - (sound-play-by-name - (-> obj name) - (new-sound-id) - (-> obj volume) - (-> obj pitch) - 0 - 1 - (the-as symbol (-> obj trans)) - ) - ) - (set! - (-> obj play-time) - (+ - (-> *display* base-frame-counter) - (-> obj time-base) - (rand-vu-int-count (-> obj time-random)) - ) - ) - ) - ) + 0 ) - 0 - ) ) ;; definition for method 13 of type ambient-sound @@ -934,44 +811,43 @@ ;; Used lq/sq (defmethod update-trans! ambient-sound ((obj ambient-sound) (arg0 vector)) (with-pp - (set! (-> obj trans quad) (-> arg0 quad)) - (when (nonzero? (-> obj playing-id)) - (let ((cmd (the-as sound-rpc-set-param (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command set-param)) - (set! (-> cmd id) (-> obj playing-id)) - (let ((s4-1 pp)) - (when (= arg0 #t) - (if - (and - (the-as process-drawable s4-1) - (type-type? (-> (the-as process-drawable s4-1) type) process-drawable) - (nonzero? (-> (the-as process-drawable s4-1) root)) - ) - (set! arg0 (-> (the-as process-drawable s4-1) root trans)) - (set! arg0 (the-as vector #f)) + (set! (-> obj trans quad) (-> arg0 quad)) + (when (nonzero? (-> obj playing-id)) + (let ((cmd (the-as sound-rpc-set-param (get-sound-buffer-entry)))) + (set! (-> cmd command) (sound-command set-param)) + (set! (-> cmd id) (-> obj playing-id)) + (let ((s4-1 pp)) + (when (= arg0 #t) + (if (and + (the-as process-drawable s4-1) + (type-type? (-> (the-as process-drawable s4-1) type) process-drawable) + (nonzero? (-> (the-as process-drawable s4-1) root)) + ) + (set! arg0 (-> (the-as process-drawable s4-1) root trans)) + (set! arg0 (the-as vector #f)) + ) + ) + ) + (sound-trans-convert (-> cmd parms trans) arg0) + (set! (-> cmd parms mask) (the-as uint 32)) + (-> cmd id) ) - ) ) - (sound-trans-convert (-> cmd parms trans) arg0) - (set! (-> cmd parms mask) (the-as uint 32)) - (-> cmd id) - ) + 0 ) - 0 - ) ) ;; definition for method 12 of type ambient-sound (defmethod update-vol! ambient-sound ((obj ambient-sound) (arg0 int)) (when (nonzero? (-> obj playing-id)) - (let ((cmd (the-as sound-rpc-set-param (get-sound-buffer-entry)))) - (set! (-> cmd command) (sound-command set-param)) - (set! (-> cmd id) (-> obj playing-id)) - (set! (-> cmd parms volume) (the int (* 10.24 (the float arg0)))) - (set! (-> cmd parms mask) (the-as uint 1)) - (-> cmd id) + (let ((cmd (the-as sound-rpc-set-param (get-sound-buffer-entry)))) + (set! (-> cmd command) (sound-command set-param)) + (set! (-> cmd id) (-> obj playing-id)) + (set! (-> cmd parms volume) (the int (* 10.24 (the float arg0)))) + (set! (-> cmd parms mask) (the-as uint 1)) + (-> cmd id) + ) ) - ) (set! (-> obj volume) (the int (* 10.24 (the float arg0)))) 0 ) @@ -979,97 +855,89 @@ ;; definition for method 10 of type ambient-sound ;; Used lq/sq (defmethod change-sound! ambient-sound ((obj ambient-sound) (arg0 sound-name)) - (when - (not - (and - (= (the-as uint (-> obj name)) (the-as uint arg0)) - (= (-> arg0 hi) (-> obj name hi)) - ) + (when (not (and (= (the-as uint (-> obj name)) (the-as uint arg0)) (= (-> arg0 hi) (-> obj name hi)))) + (stop! obj) + (set! (-> obj playing-id) (new-sound-id)) + (set! (-> obj name) arg0) ) - (stop! obj) - (set! (-> obj playing-id) (new-sound-id)) - (set! (-> obj name) arg0) - ) 0 ) ;; definition for function show-iop-info (defun show-iop-info ((arg0 dma-buffer)) (dotimes (s5-0 24) - (draw-string-xy (if (zero? (-> *sound-iop-info* chinfo s5-0)) - "." - "X" - ) - arg0 - (+ (* s5-0 16) 16) - 48 - (font-color default) - (font-flags shadow) + (draw-string-xy + (if (zero? (-> *sound-iop-info* chinfo s5-0)) + "." + "X" + ) + arg0 + (+ (* s5-0 16) 16) + 48 + (font-color default) + (font-flags shadow) + ) ) - ) (dotimes (s5-1 24) - (draw-string-xy (if (zero? (-> *sound-iop-info* chinfo (+ s5-1 24))) - "." - "X" - ) - arg0 - (+ (* s5-1 16) 16) - 64 - (font-color default) - (font-flags shadow) + (draw-string-xy + (if (zero? (-> *sound-iop-info* chinfo (+ s5-1 24))) + "." + "X" + ) + arg0 + (+ (* s5-1 16) 16) + 64 + (font-color default) + (font-flags shadow) + ) ) - ) 0 ) ;; definition for function show-iop-memory (defun show-iop-memory ((arg0 dma-buffer)) (let ((s5-0 draw-string-xy)) - (format - (clear *temp-string*) - "~8D [~4D]" - (-> *sound-iop-info* freemem) - (shr (-> *sound-iop-info* freemem) 10) + (format + (clear *temp-string*) + "~8D [~4D]" + (-> *sound-iop-info* freemem) + (shr (-> *sound-iop-info* freemem) 10) + ) + (s5-0 *temp-string* arg0 32 96 (font-color default) (font-flags shadow)) ) - (s5-0 *temp-string* arg0 32 96 (font-color default) (font-flags shadow)) - ) (let ((s5-1 draw-string-xy)) - (format - (clear *temp-string*) - "~8D [~4D]" - (-> *sound-iop-info* freemem2) - (shr (-> *sound-iop-info* freemem2) 10) + (format + (clear *temp-string*) + "~8D [~4D]" + (-> *sound-iop-info* freemem2) + (shr (-> *sound-iop-info* freemem2) 10) + ) + (s5-1 *temp-string* arg0 32 64 (font-color default) (font-flags shadow)) ) - (s5-1 *temp-string* arg0 32 64 (font-color default) (font-flags shadow)) - ) 0 ) ;; definition for function ear-trans (defun ear-trans () (cond - ((or (movie?) *external-cam-mode*) - (math-camera-pos) + ((or (movie?) *external-cam-mode*) + (math-camera-pos) + ) + (*target* + (target-pos 0) + ) + (else + (camera-pos) + ) ) - (*target* - (target-pos 0) - ) - (else - (camera-pos) - ) - ) ) ;; definition (debug) for function make-sqrt-table (defun-debug make-sqrt-table () (format #t "static int sqrt_table[256] =~%{~%") (dotimes (gp-0 256) - (let* ((f0-2 (sqrtf (* 16777216.0 (the float gp-0)))) - (a2-0 (the int (+ 0.5 f0-2))) - ) - (format #t "~D,~%" a2-0) + (let* ((f0-2 (sqrtf (* 16777216.0 (the float gp-0)))) (a2-0 (the int (+ 0.5 f0-2)))) (format #t "~D,~%" a2-0)) ) - ) (format #t "};~%") 0 ) @@ -1119,10 +987,10 @@ ;; definition for function flava-lookup (defun flava-lookup ((arg0 symbol) (arg1 int)) (dotimes (v1-0 (-> *flava-table* count)) - (if (= (-> *flava-table* row v1-0 music) arg0) - (return (the-as int (-> *flava-table* row 0 flava (+ arg1 (* v1-0 64))))) + (if (= (-> *flava-table* row v1-0 music) arg0) + (return (the-as int (-> *flava-table* row 0 flava (+ arg1 (* v1-0 64))))) + ) ) - ) 0 ) @@ -1131,589 +999,361 @@ ;; failed to figure out what this is: (dotimes (v1-61 50) - (set! - (-> *flava-table* row 0 flava (+ v1-61 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-61 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 5) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 5) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 6) - (the-as uint 6) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 6) (the-as uint 6)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 7) - (the-as uint 4) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 7) (the-as uint 4)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 20) - (the-as uint 5) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 20) (the-as uint 5)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 8) - (the-as uint 7) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 8) (the-as uint 7)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 9) - (the-as uint 8) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 9) (the-as uint 8)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 10) - (the-as uint 9) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 10) (the-as uint 9)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 19) - (the-as uint 10) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 19) (the-as uint 10)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 18) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 18) (the-as uint 3)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'jungle) ;; failed to figure out what this is: (dotimes (v1-77 50) - (set! - (-> *flava-table* row 0 flava (+ v1-77 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-77 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 39) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 39) (the-as uint 1)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 40) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 40) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 41) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 41) (the-as uint 3)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'firecanyon) ;; failed to figure out what this is: (dotimes (v1-87 50) - (set! - (-> *flava-table* row 0 flava (+ v1-87 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-87 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 1) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 1) (the-as uint 1)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'jungleb) ;; failed to figure out what this is: (dotimes (v1-95 50) - (set! - (-> *flava-table* row 0 flava (+ v1-95 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-95 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 21) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 21) (the-as uint 1)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'beach) ;; failed to figure out what this is: (dotimes (v1-103 50) - (set! - (-> *flava-table* row 0 flava (+ v1-103 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-103 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 7) - (the-as uint 4) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 7) (the-as uint 4)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 24) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 24) (the-as uint 1)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 25) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 25) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 26) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 26) (the-as uint 3)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'misty) ;; failed to figure out what this is: (dotimes (v1-114 50) - (set! - (-> *flava-table* row 0 flava (+ v1-114 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-114 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 1) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 1) (the-as uint 3)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 22) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 22) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 23) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 23) (the-as uint 1)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'village2) ;; failed to figure out what this is: (dotimes (v1-124 50) - (set! - (-> *flava-table* row 0 flava (+ v1-124 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-124 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 5) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 5) (the-as uint 1)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 6) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 6) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 15) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 15) (the-as uint 3)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 16) - (the-as uint 4) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 16) (the-as uint 4)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 17) - (the-as uint 5) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 17) (the-as uint 5)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 36) - (the-as uint 6) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 36) (the-as uint 6)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'swamp) ;; failed to figure out what this is: (dotimes (v1-137 50) - (set! - (-> *flava-table* row 0 flava (+ v1-137 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-137 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 2) - (the-as uint 4) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 2) (the-as uint 4)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 37) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 37) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 38) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 38) (the-as uint 3)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'rolling) ;; failed to figure out what this is: (dotimes (v1-147 50) - (set! - (-> *flava-table* row 0 flava (+ v1-147 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-147 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 42) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 42) (the-as uint 1)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'ogre) ;; failed to figure out what this is: (dotimes (v1-155 50) - (set! - (-> *flava-table* row 0 flava (+ v1-155 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-155 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 43) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 43) (the-as uint 1)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 44) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 44) (the-as uint 2)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'village3) ;; failed to figure out what this is: (dotimes (v1-164 50) - (set! - (-> *flava-table* row 0 flava (+ v1-164 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-164 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 3) - (the-as uint 4) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 3) (the-as uint 4)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 4) - (the-as uint 5) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 4) (the-as uint 5)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 5) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 5) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 6) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 6) (the-as uint 3)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 14) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 14) (the-as uint 1)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'maincave) ;; failed to figure out what this is: (dotimes (v1-176 50) - (set! - (-> *flava-table* row 0 flava (+ v1-176 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-176 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 28) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 28) (the-as uint 1)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 29) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 29) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 30) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 30) (the-as uint 3)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 31) - (the-as uint 4) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 31) (the-as uint 4)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'snow) ;; failed to figure out what this is: (dotimes (v1-187 50) - (set! - (-> *flava-table* row 0 flava (+ v1-187 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-187 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 2) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 2) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 32) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 32) (the-as uint 1)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 33) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 33) (the-as uint 3)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 34) - (the-as uint 4) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 34) (the-as uint 4)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 35) - (the-as uint 5) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 35) (the-as uint 5)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'lavatube) ;; failed to figure out what this is: (dotimes (v1-199 50) - (set! - (-> *flava-table* row 0 flava (+ v1-199 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-199 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 45) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 45) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 46) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 46) (the-as uint 3)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 49) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 49) (the-as uint 1)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'citadel) ;; failed to figure out what this is: (dotimes (v1-209 50) - (set! - (-> *flava-table* row 0 flava (+ v1-209 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-209 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 5) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 5) (the-as uint 1)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 6) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 6) (the-as uint 2)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 11) - (the-as uint 3) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 11) (the-as uint 3)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 12) - (the-as uint 4) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 12) (the-as uint 4)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 13) - (the-as uint 5) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 13) (the-as uint 5)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 27) - (the-as uint 6) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 27) (the-as uint 6)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'finalboss) ;; failed to figure out what this is: (dotimes (v1-222 50) - (set! - (-> *flava-table* row 0 flava (+ v1-222 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-222 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 47) - (the-as uint 1) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 47) (the-as uint 1)) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 48) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 48) (the-as uint 2)) ;; failed to figure out what this is: (set! (-> *flava-table* row (-> *flava-table* count) music) 'credits) ;; failed to figure out what this is: (dotimes (v1-231 50) - (set! - (-> *flava-table* row 0 flava (+ v1-231 (* (-> *flava-table* count) 64))) - (the-as uint 0) - ) + (set! (-> *flava-table* row 0 flava (+ v1-231 (* (-> *flava-table* count) 64))) (the-as uint 0)) ) ;; failed to figure out what this is: (+! (-> *flava-table* count) 1) ;; failed to figure out what this is: -(set! - (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 49) - (the-as uint 2) - ) +(set! (-> *flava-table* row (+ (-> *flava-table* count) -1) flava 49) (the-as uint 2)) diff --git a/test/decompiler/reference/engine/target/joint-mod-h_REF.gc b/test/decompiler/reference/engine/target/joint-mod-h_REF.gc index 1920fad89c..a7c96255e9 100644 --- a/test/decompiler/reference/engine/target/joint-mod-h_REF.gc +++ b/test/decompiler/reference/engine/target/joint-mod-h_REF.gc @@ -72,93 +72,83 @@ ) ;; definition for method 0 of type joint-mod -(defmethod - new - joint-mod - ((allocation symbol) - (type-to-make type) - (mode joint-mod-handler-mode) - (proc process-drawable) - (joint-idx int) - ) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new joint-mod ((allocation symbol) + (type-to-make type) + (mode joint-mod-handler-mode) + (proc process-drawable) + (joint-idx int) + ) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj process) proc) + (set! (-> obj joint) (-> proc node-list data joint-idx)) + (set-mode! obj mode) + (set-vector! (-> obj twist-max) 8192.0 11832.889 0.0 1.0) + (set! (-> obj up) (the-as uint 1)) + (set! (-> obj nose) (the-as uint 2)) + (set! (-> obj ear) (the-as uint 0)) + (set! (-> obj max-dist) 122880.0) + (set! (-> obj ignore-angle) 65536.0) + (set! (-> obj flex-blend) 1.0) + (set! (-> obj shutting-down?) #f) + obj ) - (set! (-> obj process) proc) - (set! (-> obj joint) (-> proc node-list data joint-idx)) - (set-mode! obj mode) - (set-vector! (-> obj twist-max) 8192.0 11832.889 0.0 1.0) - (set! (-> obj up) (the-as uint 1)) - (set! (-> obj nose) (the-as uint 2)) - (set! (-> obj ear) (the-as uint 0)) - (set! (-> obj max-dist) 122880.0) - (set! (-> obj ignore-angle) 65536.0) - (set! (-> obj flex-blend) 1.0) - (set! (-> obj shutting-down?) #f) - obj - ) ) ;; definition for method 9 of type joint-mod -(defmethod - set-mode! - joint-mod - ((obj joint-mod) (handler-mode joint-mod-handler-mode)) +(defmethod set-mode! joint-mod ((obj joint-mod) (handler-mode joint-mod-handler-mode)) (set! (-> obj mode) handler-mode) (let ((joint (-> obj joint))) - (case handler-mode - (((joint-mod-handler-mode flex-blend)) - (set! (-> joint param0) #f) - (set! (-> joint param1) #f) - (set! (-> joint param2) #f) - (set! (-> obj blend) 0.0) - (set! (-> obj flex-blend) 1.0) + (case handler-mode + (((joint-mod-handler-mode flex-blend)) + (set! (-> joint param0) #f) + (set! (-> joint param1) #f) + (set! (-> joint param2) #f) + (set! (-> obj blend) 0.0) + (set! (-> obj flex-blend) 1.0) + ) + (((joint-mod-handler-mode reset)) + (set! (-> joint param0) #f) + (set! (-> joint param1) #f) + (set! (-> joint param2) #f) + (set! (-> obj blend) 0.0) + (set! (-> obj shutting-down?) #f) + ) + (((joint-mod-handler-mode look-at)) + (set! (-> joint param0) joint-mod-look-at-handler) + (set! (-> joint param1) obj) + (set! (-> joint param2) #f) + ) + (((joint-mod-handler-mode world-look-at)) + (set! (-> joint param0) joint-mod-world-look-at-handler) + (set! (-> joint param1) obj) + (set! (-> joint param2) #f) + ) + (((joint-mod-handler-mode rotate)) + (set! (-> joint param0) joint-mod-rotate-handler) + (set! (-> joint param1) obj) + (set! (-> joint param2) #f) + (set! (-> obj blend) 1.0) + ) + (((joint-mod-handler-mode joint-set)) + (set! (-> joint param0) joint-mod-joint-set-handler) + (set! (-> joint param1) obj) + (set! (-> joint param2) #f) + (vector-reset! (-> obj trans)) + (quaternion-identity! (-> obj quat)) + (set-vector! (-> obj scale) 1.0 1.0 1.0 1.0) + (set! (-> obj max-dist) (the-as meters #f)) + ) + (((joint-mod-handler-mode joint-set*)) + (set! (-> joint param0) joint-mod-joint-set*-handler) + (set! (-> joint param1) obj) + (set! (-> joint param2) #f) + (vector-reset! (-> obj trans)) + (quaternion-identity! (-> obj quat)) + (set-vector! (-> obj scale) 1.0 1.0 1.0 1.0) + (set! (-> obj max-dist) (the-as meters #f)) + ) ) - (((joint-mod-handler-mode reset)) - (set! (-> joint param0) #f) - (set! (-> joint param1) #f) - (set! (-> joint param2) #f) - (set! (-> obj blend) 0.0) - (set! (-> obj shutting-down?) #f) - ) - (((joint-mod-handler-mode look-at)) - (set! (-> joint param0) joint-mod-look-at-handler) - (set! (-> joint param1) obj) - (set! (-> joint param2) #f) - ) - (((joint-mod-handler-mode world-look-at)) - (set! (-> joint param0) joint-mod-world-look-at-handler) - (set! (-> joint param1) obj) - (set! (-> joint param2) #f) - ) - (((joint-mod-handler-mode rotate)) - (set! (-> joint param0) joint-mod-rotate-handler) - (set! (-> joint param1) obj) - (set! (-> joint param2) #f) - (set! (-> obj blend) 1.0) - ) - (((joint-mod-handler-mode joint-set)) - (set! (-> joint param0) joint-mod-joint-set-handler) - (set! (-> joint param1) obj) - (set! (-> joint param2) #f) - (vector-reset! (-> obj trans)) - (quaternion-identity! (-> obj quat)) - (set-vector! (-> obj scale) 1.0 1.0 1.0 1.0) - (set! (-> obj max-dist) (the-as meters #f)) - ) - (((joint-mod-handler-mode joint-set*)) - (set! (-> joint param0) joint-mod-joint-set*-handler) - (set! (-> joint param1) obj) - (set! (-> joint param2) #f) - (vector-reset! (-> obj trans)) - (quaternion-identity! (-> obj quat)) - (set-vector! (-> obj scale) 1.0 1.0 1.0 1.0) - (set! (-> obj max-dist) (the-as meters #f)) - ) ) - ) obj ) @@ -172,41 +162,38 @@ (defmethod shut-down! joint-mod ((obj joint-mod)) (set! (-> obj shutting-down?) #t) (let ((f0-0 0.0)) - (set! (-> obj blend) f0-0) - f0-0 - ) + (set! (-> obj blend) f0-0) + f0-0 + ) ) ;; definition for method 13 of type joint-mod (defmethod set-twist! joint-mod ((obj joint-mod) (x float) (y float) (z float)) (if x - (set! (-> obj twist x) x) - ) + (set! (-> obj twist x) x) + ) (if y - (set! (-> obj twist y) y) - ) + (set! (-> obj twist y) y) + ) (if z - (set! (-> obj twist z) z) - ) + (set! (-> obj twist z) z) + ) (-> obj twist) ) ;; definition for method 14 of type joint-mod ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - set-trs! - joint-mod - ((obj joint-mod) (trans vector) (rot quaternion) (scale vector)) +(defmethod set-trs! joint-mod ((obj joint-mod) (trans vector) (rot quaternion) (scale vector)) (if trans - (set! (-> obj trans quad) (-> trans quad)) - ) + (set! (-> obj trans quad) (-> trans quad)) + ) (if rot - (quaternion-copy! (-> obj quat) rot) - ) + (quaternion-copy! (-> obj quat) rot) + ) (if scale - (set! (-> obj scale quad) (-> scale quad)) - ) + (set! (-> obj scale quad) (-> scale quad)) + ) 0 (none) ) @@ -216,18 +203,16 @@ ;; Used lq/sq (defmethod set-target! joint-mod ((obj joint-mod) (target-trans vector)) (if (= (-> obj mode) (joint-mod-handler-mode reset)) - (set-mode! obj (joint-mod-handler-mode look-at)) - ) - (let - ((distance (vector-vector-distance (-> obj process root trans) target-trans)) + (set-mode! obj (joint-mod-handler-mode look-at)) + ) + (let ((distance (vector-vector-distance (-> obj process root trans) target-trans))) + (set! (-> obj shutting-down?) #f) + (set! (-> obj target quad) (-> target-trans quad)) + (if (< distance (-> obj max-dist)) + (set! (-> obj blend) 1.0) + (set! (-> obj blend) 0.0) + ) ) - (set! (-> obj shutting-down?) #f) - (set! (-> obj target quad) (-> target-trans quad)) - (if (< distance (-> obj max-dist)) - (set! (-> obj blend) 1.0) - (set! (-> obj blend) 0.0) - ) - ) 0 (none) ) @@ -258,79 +243,55 @@ ;; definition for method 11 of type joint-mod ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - look-at-enemy! - joint-mod - ((obj joint-mod) (target-trans vector) (option symbol) (proc process)) +(defmethod look-at-enemy! joint-mod ((obj joint-mod) (target-trans vector) (option symbol) (proc process)) (when (= option 'attacking) - (let* ((s3-0 proc) - (proc-drawable - (if - (and (nonzero? s3-0) (type-type? (-> s3-0 type) process-drawable)) - (the-as process-drawable s3-0) - ) + (let* ((s3-0 proc) + (proc-drawable (if (and (nonzero? s3-0) (type-type? (-> s3-0 type) process-drawable)) + (the-as process-drawable s3-0) + ) + ) ) - ) - (when proc-drawable - (let* ((s0-0 (-> proc-drawable fact)) - (enemy-facts - (the-as - fact-info-enemy - (if - (and (nonzero? s0-0) (type-type? (-> s0-0 type) fact-info-enemy)) - (the-as fact-info-enemy s0-0) + (when proc-drawable + (let* ((s0-0 (-> proc-drawable fact)) + (enemy-facts (the-as fact-info-enemy (if (and (nonzero? s0-0) (type-type? (-> s0-0 type) fact-info-enemy)) + (the-as fact-info-enemy s0-0) + ) + ) + ) ) - ) - ) + (when (and enemy-facts (< (vector-vector-distance (-> obj process root trans) (-> proc-drawable root trans)) + (-> enemy-facts cam-notice-dist) + ) + ) + (set! (-> obj notice-time) (-> *display* base-frame-counter)) + (set! (-> last-try-to-look-at-data who) (process->handle proc)) + (if (< (-> last-try-to-look-at-data vert) (-> enemy-facts cam-vert)) + (set! (-> last-try-to-look-at-data vert) (-> enemy-facts cam-vert)) + ) + (if (< (-> last-try-to-look-at-data horz) (-> enemy-facts cam-horz)) + (set! (-> last-try-to-look-at-data horz) (-> enemy-facts cam-horz)) + ) ) - (when - (and - enemy-facts - (< - (vector-vector-distance - (-> obj process root trans) - (-> proc-drawable root trans) ) - (-> enemy-facts cam-notice-dist) - ) ) - (set! (-> obj notice-time) (-> *display* base-frame-counter)) - (set! (-> last-try-to-look-at-data who) (process->handle proc)) - (if (< (-> last-try-to-look-at-data vert) (-> enemy-facts cam-vert)) - (set! (-> last-try-to-look-at-data vert) (-> enemy-facts cam-vert)) - ) - (if (< (-> last-try-to-look-at-data horz) (-> enemy-facts cam-horz)) - (set! (-> last-try-to-look-at-data horz) (-> enemy-facts cam-horz)) - ) - ) ) - ) ) - ) - (let - ((dist (vector-vector-distance (-> obj process root trans) target-trans))) - (when - (and - (or - (= (-> obj blend) 0.0) - (or - (< - dist - (vector-vector-distance (-> obj process root trans) (-> obj target)) - ) - (= option 'force) - ) + (let ((dist (vector-vector-distance (-> obj process root trans) target-trans))) + (when (and + (or + (= (-> obj blend) 0.0) + (or (< dist (vector-vector-distance (-> obj process root trans) (-> obj target))) (= option 'force)) + ) + (< dist (-> obj max-dist)) + ) + (if (= (-> obj mode) (joint-mod-handler-mode reset)) + (set-mode! obj (joint-mod-handler-mode look-at)) + ) + (set! (-> obj target quad) (-> target-trans quad)) + (set! (-> obj blend) 1.0) + (set! (-> obj shutting-down?) #f) ) - (< dist (-> obj max-dist)) - ) - (if (= (-> obj mode) (joint-mod-handler-mode reset)) - (set-mode! obj (joint-mod-handler-mode look-at)) - ) - (set! (-> obj target quad) (-> target-trans quad)) - (set! (-> obj blend) 1.0) - (set! (-> obj shutting-down?) #f) ) - ) 0 (none) ) @@ -341,141 +302,95 @@ (defun joint-mod-look-at-handler ((csp cspace) (xform transformq)) (local-vars (sv-48 vector) (sv-52 vector) (sv-56 vector)) (let ((gp-0 (the-as joint-mod (-> csp param1)))) - (cspace<-parented-transformq-joint! csp xform) - (set! - sv-48 - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - (-> gp-0 process node-list data 0 bone transform vector 1) - 1.0 - ) - ) - (set! - sv-52 - (vector-normalize! (-> csp bone transform vector (-> gp-0 nose)) 1.0) - ) - (set! - sv-56 - (vector-normalize! - (vector-! - (new 'stack-no-clear 'vector) - (-> gp-0 target) - (-> csp bone transform vector 3) - ) - 1.0 - ) - ) - (let* ((f30-0 (vector-y-angle sv-52)) - (a0-9 (vector-flatten! (new-stack-vector0) sv-56 sv-48)) - (f0-0 (vector-y-angle a0-9)) - (f0-1 (deg-diff f30-0 f0-0)) + (cspace<-parented-transformq-joint! csp xform) + (set! sv-48 (vector-normalize-copy! + (new 'stack-no-clear 'vector) + (-> gp-0 process node-list data 0 bone transform vector 1) + 1.0 + ) ) - (if (< (-> gp-0 ignore-angle) (fabs f0-1)) - (set! f0-1 0.0) - ) - (let - ((f30-1 - (fmax - (fmin - (* f0-1 (-> gp-0 blend) (-> gp-0 flex-blend)) - (-> gp-0 twist-max y) + (set! sv-52 (vector-normalize! (-> csp bone transform vector (-> gp-0 nose)) 1.0)) + (set! sv-56 (vector-normalize! + (vector-! (new 'stack-no-clear 'vector) (-> gp-0 target) (-> csp bone transform vector 3)) + 1.0 + ) + ) + (let* ((f30-0 (vector-y-angle sv-52)) + (a0-9 (vector-flatten! (new-stack-vector0) sv-56 sv-48)) + (f0-0 (vector-y-angle a0-9)) + (f0-1 (deg-diff f30-0 f0-0)) + ) + (if (< (-> gp-0 ignore-angle) (fabs f0-1)) + (set! f0-1 0.0) + ) + (let ((f30-1 + (fmax (fmin (* f0-1 (-> gp-0 blend) (-> gp-0 flex-blend)) (-> gp-0 twist-max y)) (- (-> gp-0 twist-max y))) + ) + ) + (if (and (-> gp-0 shutting-down?) (= (-> gp-0 twist y) f30-1)) + (set-mode! gp-0 (joint-mod-handler-mode reset)) + ) + (set! (-> gp-0 twist y) (deg-seek (-> gp-0 twist y) f30-1 (* 0.1 (fabs (deg-diff f30-1 (-> gp-0 twist y)))))) + ) + ) + (let ((v1-15 (-> gp-0 up))) + (cond + ((zero? v1-15) + (quaternion-rotate-x! (-> xform quat) (-> xform quat) (-> gp-0 twist y)) ) - (- (-> gp-0 twist-max y)) + ((= v1-15 1) + (quaternion-rotate-local-y! (-> xform quat) (-> xform quat) (-> gp-0 twist y)) + ) + (else + (quaternion-rotate-z! (-> xform quat) (-> xform quat) (-> gp-0 twist y)) + ) ) - ) ) - (if (and (-> gp-0 shutting-down?) (= (-> gp-0 twist y) f30-1)) - (set-mode! gp-0 (joint-mod-handler-mode reset)) + (let* ((s3-1 (vector-normalize-copy! + (new 'stack-no-clear 'vector) + (the-as vector (-> gp-0 process node-list data 0 bone transform)) + 1.0 + ) + ) + (f30-2 (vector-x-angle sv-52)) + (s3-2 (vector-flatten! (new-stack-vector0) sv-56 s3-1)) + (f0-15 (vector-x-angle s3-2)) + (f0-21 (fmax + (fmin (* (- (deg-diff f30-2 f0-15)) (-> gp-0 blend) (-> gp-0 flex-blend)) (-> gp-0 twist-max x)) + (- (-> gp-0 twist-max x)) + ) + ) + ) + (if (< (vector-dot s3-2 sv-52) 0.1) + (set! f0-21 0.0) + ) + (set! (-> gp-0 twist x) (deg-seek (-> gp-0 twist x) f0-21 (* 0.1 (fabs (deg-diff f0-21 (-> gp-0 twist x)))))) ) - (set! - (-> gp-0 twist y) - (deg-seek - (-> gp-0 twist y) - f30-1 - (* 0.1 (fabs (deg-diff f30-1 (-> gp-0 twist y)))) - ) - ) - ) - ) - (let ((v1-15 (-> gp-0 up))) - (cond - ((zero? v1-15) - (quaternion-rotate-x! (-> xform quat) (-> xform quat) (-> gp-0 twist y)) - ) - ((= v1-15 1) - (quaternion-rotate-local-y! - (-> xform quat) - (-> xform quat) - (-> gp-0 twist y) - ) - ) - (else - (quaternion-rotate-z! (-> xform quat) (-> xform quat) (-> gp-0 twist y)) - ) - ) - ) - (let* - ((s3-1 - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - (the-as vector (-> gp-0 process node-list data 0 bone transform)) - 1.0 - ) - ) - (f30-2 (vector-x-angle sv-52)) - (s3-2 (vector-flatten! (new-stack-vector0) sv-56 s3-1)) - (f0-15 (vector-x-angle s3-2)) - (f0-21 - (fmax - (fmin - (* (- (deg-diff f30-2 f0-15)) (-> gp-0 blend) (-> gp-0 flex-blend)) - (-> gp-0 twist-max x) + (let ((v1-27 (-> gp-0 ear))) + (cond + ((zero? v1-27) + (quaternion-rotate-x! (-> xform quat) (-> xform quat) (-> gp-0 twist x)) + ) + ((= v1-27 1) + (quaternion-rotate-local-y! (-> xform quat) (-> xform quat) (-> gp-0 twist x)) + ) + (else + (quaternion-rotate-z! (-> xform quat) (-> xform quat) (-> gp-0 twist x)) + ) ) - (- (-> gp-0 twist-max x)) - ) ) - ) - (if (< (vector-dot s3-2 sv-52) 0.1) - (set! f0-21 0.0) - ) - (set! - (-> gp-0 twist x) - (deg-seek - (-> gp-0 twist x) - f0-21 - (* 0.1 (fabs (deg-diff f0-21 (-> gp-0 twist x)))) - ) - ) + (cspace<-parented-transformq-joint! csp xform) + (if (and (= (-> gp-0 process type) target) (!= (-> gp-0 blend) 0.0)) + (add-debug-text-sphere + *display-target-marks* + (bucket-id debug-draw1) + (-> gp-0 target) + 819.2 + "look" + (new 'static 'rgba :r #xff :g #xff :a #x80) + ) + ) ) - (let ((v1-27 (-> gp-0 ear))) - (cond - ((zero? v1-27) - (quaternion-rotate-x! (-> xform quat) (-> xform quat) (-> gp-0 twist x)) - ) - ((= v1-27 1) - (quaternion-rotate-local-y! - (-> xform quat) - (-> xform quat) - (-> gp-0 twist x) - ) - ) - (else - (quaternion-rotate-z! (-> xform quat) (-> xform quat) (-> gp-0 twist x)) - ) - ) - ) - (cspace<-parented-transformq-joint! csp xform) - (if (and (= (-> gp-0 process type) target) (!= (-> gp-0 blend) 0.0)) - (add-debug-text-sphere - *display-target-marks* - (bucket-id debug-draw1) - (-> gp-0 target) - 819.2 - "look" - (new 'static 'rgba :r #xff :g #xff :a #x80) - ) - ) - ) 0 (none) ) @@ -486,131 +401,101 @@ (defun joint-mod-world-look-at-handler ((arg0 cspace) (arg1 transformq)) (local-vars (sv-48 vector) (sv-52 vector) (sv-56 vector)) (let ((gp-0 (the-as joint-mod (-> arg0 param1)))) - (let ((s5-0 (-> arg0 bone transform))) - (cspace<-parented-transformq-joint! arg0 arg1) - (set! - sv-48 - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - (-> gp-0 process node-list data 0 bone transform vector 1) - 1.0 - ) - ) - (set! sv-52 (vector-normalize! (-> s5-0 vector (-> gp-0 nose)) 1.0)) - (set! - sv-56 - (vector-normalize! - (vector-! - (new 'stack-no-clear 'vector) - (-> gp-0 target) - (-> s5-0 vector 3) - ) - 1.0 - ) - ) - (let* ((f30-0 (vector-y-angle sv-52)) - (a0-7 (vector-flatten! (new-stack-vector0) sv-56 sv-48)) - (f0-0 (vector-y-angle a0-7)) - (f0-1 (deg-diff f30-0 f0-0)) - ) - (if (< (-> gp-0 ignore-angle) (fabs f0-1)) - (set! f0-1 0.0) - ) - (let - ((f0-5 - (fmax - (fmin - (* f0-1 (-> gp-0 blend) (-> gp-0 flex-blend)) - (-> gp-0 twist-max y) - ) - (- (-> gp-0 twist-max y)) - ) - ) - ) - (set! - (-> gp-0 twist y) - (deg-seek - (-> gp-0 twist y) - f0-5 - (fmax 1.0 (* 0.1 (fabs (deg-diff f0-5 (-> gp-0 twist y))))) - ) - ) - ) - ) - (when (!= (-> gp-0 twist y) 0.0) - (let - ((a2-3 (matrix-rotate-y! (new 'stack-no-clear 'matrix) (-> gp-0 twist y))) - (s4-2 (-> s5-0 vector 3 quad)) - ) - (matrix*! s5-0 s5-0 a2-3) - (set! (-> s5-0 vector 3 quad) s4-2) - ) - ) - (let* - ((s4-3 - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - (the-as vector (-> gp-0 process node-list data 0 bone transform)) - 1.0 - ) - ) - (f30-2 (vector-x-angle sv-52)) - (s4-4 (vector-flatten! (new-stack-vector0) sv-56 s4-3)) - (f0-14 (vector-x-angle s4-4)) - (f0-20 - (fmax - (fmin - (* (- (deg-diff f30-2 f0-14)) (-> gp-0 blend) (-> gp-0 flex-blend)) - (-> gp-0 twist-max x) - ) - (- (-> gp-0 twist-max x)) - ) - ) - ) - (if (< (vector-dot s4-4 sv-52) 0.1) - (set! f0-20 0.0) - ) - (set! - (-> gp-0 twist x) - (deg-seek - (-> gp-0 twist x) - f0-20 - (fmax 1.0 (* 0.1 (fabs (deg-diff f0-20 (-> gp-0 twist x))))) - ) - ) - ) - (when (!= (-> gp-0 twist x) 0.0) - (let* ((v1-20 (-> gp-0 ear)) - (a1-17 ((cond - ((zero? v1-20) - matrix-rotate-x! - ) - ((= v1-20 1) - matrix-rotate-y! - ) - (else - matrix-rotate-z! - ) - ) - (new 'stack-no-clear 'matrix) (-> gp-0 twist x) - ) - ) + (let ((s5-0 (-> arg0 bone transform))) + (cspace<-parented-transformq-joint! arg0 arg1) + (set! sv-48 + (vector-normalize-copy! + (new 'stack-no-clear 'vector) + (-> gp-0 process node-list data 0 bone transform vector 1) + 1.0 + ) ) - (matrix*! s5-0 a1-17 s5-0) + (set! sv-52 (vector-normalize! (-> s5-0 vector (-> gp-0 nose)) 1.0)) + (set! sv-56 + (vector-normalize! (vector-! (new 'stack-no-clear 'vector) (-> gp-0 target) (-> s5-0 vector 3)) 1.0) + ) + (let* ((f30-0 (vector-y-angle sv-52)) + (a0-7 (vector-flatten! (new-stack-vector0) sv-56 sv-48)) + (f0-0 (vector-y-angle a0-7)) + (f0-1 (deg-diff f30-0 f0-0)) + ) + (if (< (-> gp-0 ignore-angle) (fabs f0-1)) + (set! f0-1 0.0) + ) + (let ((f0-5 + (fmax (fmin (* f0-1 (-> gp-0 blend) (-> gp-0 flex-blend)) (-> gp-0 twist-max y)) (- (-> gp-0 twist-max y))) + ) + ) + (set! (-> gp-0 twist y) + (deg-seek (-> gp-0 twist y) f0-5 (fmax 1.0 (* 0.1 (fabs (deg-diff f0-5 (-> gp-0 twist y)))))) + ) + ) + ) + (when (!= (-> gp-0 twist y) 0.0) + (let ((a2-3 (matrix-rotate-y! (new 'stack-no-clear 'matrix) (-> gp-0 twist y))) + (s4-2 (-> s5-0 vector 3 quad)) + ) + (matrix*! s5-0 s5-0 a2-3) + (set! (-> s5-0 vector 3 quad) s4-2) + ) + ) + (let* ((s4-3 + (vector-normalize-copy! + (new 'stack-no-clear 'vector) + (the-as vector (-> gp-0 process node-list data 0 bone transform)) + 1.0 + ) + ) + (f30-2 (vector-x-angle sv-52)) + (s4-4 (vector-flatten! (new-stack-vector0) sv-56 s4-3)) + (f0-14 (vector-x-angle s4-4)) + (f0-20 + (fmax + (fmin (* (- (deg-diff f30-2 f0-14)) (-> gp-0 blend) (-> gp-0 flex-blend)) (-> gp-0 twist-max x)) + (- (-> gp-0 twist-max x)) + ) + ) + ) + (if (< (vector-dot s4-4 sv-52) 0.1) + (set! f0-20 0.0) + ) + (set! (-> gp-0 twist x) + (deg-seek (-> gp-0 twist x) f0-20 (fmax 1.0 (* 0.1 (fabs (deg-diff f0-20 (-> gp-0 twist x)))))) + ) + ) + (when (!= (-> gp-0 twist x) 0.0) + (let* ((v1-20 (-> gp-0 ear)) + (a1-17 ((cond + ((zero? v1-20) + matrix-rotate-x! + ) + ((= v1-20 1) + matrix-rotate-y! + ) + (else + matrix-rotate-z! + ) + ) + (new 'stack-no-clear 'matrix) + (-> gp-0 twist x) + ) + ) + ) + (matrix*! s5-0 a1-17 s5-0) + ) + ) ) - ) + (if (and (= (-> gp-0 process type) target) (!= (-> gp-0 blend) 0.0)) + (add-debug-text-sphere + *display-target-marks* + (bucket-id debug-draw1) + (-> gp-0 target) + 819.2 + "look" + (new 'static 'rgba :r #xff :g #xff :a #x80) + ) + ) ) - (if (and (= (-> gp-0 process type) target) (!= (-> gp-0 blend) 0.0)) - (add-debug-text-sphere - *display-target-marks* - (bucket-id debug-draw1) - (-> gp-0 target) - 819.2 - "look" - (new 'static 'rgba :r #xff :g #xff :a #x80) - ) - ) - ) 0 (none) ) @@ -619,54 +504,50 @@ ;; INFO: Return type mismatch int vs none. (defun joint-mod-rotate-handler ((arg0 cspace) (arg1 transformq)) (let ((s4-0 (the-as joint-mod (-> arg0 param1))) - (s3-0 - (new 'static 'inline-array vector 3 - (new 'static 'vector :x 1.0 :w 1.0) - (new 'static 'vector :y 1.0 :w 1.0) - (new 'static 'vector :z 1.0 :w 1.0) - ) - ) + (s3-0 (new 'static 'inline-array vector 3 + (new 'static 'vector :x 1.0 :w 1.0) + (new 'static 'vector :y 1.0 :w 1.0) + (new 'static 'vector :z 1.0 :w 1.0) + ) + ) ) - (let* ((v1-2 (-> s3-0 (-> s4-0 ear))) - (a1-2 - (quaternion-axis-angle! - (new 'stack-no-clear 'quaternion) - (-> v1-2 x) - (-> v1-2 y) - (-> v1-2 z) - (* (-> s4-0 twist x) (-> s4-0 blend) (-> s4-0 flex-blend)) - ) + (let* ((v1-2 (-> s3-0 (-> s4-0 ear))) + (a1-2 (quaternion-axis-angle! + (new 'stack-no-clear 'quaternion) + (-> v1-2 x) + (-> v1-2 y) + (-> v1-2 z) + (* (-> s4-0 twist x) (-> s4-0 blend) (-> s4-0 flex-blend)) + ) + ) ) - ) - (quaternion-normalize! (quaternion*! (-> arg1 quat) a1-2 (-> arg1 quat))) - ) - (let* ((v1-6 (-> s3-0 (-> s4-0 up))) - (a1-4 - (quaternion-axis-angle! - (new 'stack-no-clear 'quaternion) - (-> v1-6 x) - (-> v1-6 y) - (-> v1-6 z) - (* (-> s4-0 twist y) (-> s4-0 blend) (-> s4-0 flex-blend)) - ) + (quaternion-normalize! (quaternion*! (-> arg1 quat) a1-2 (-> arg1 quat))) + ) + (let* ((v1-6 (-> s3-0 (-> s4-0 up))) + (a1-4 (quaternion-axis-angle! + (new 'stack-no-clear 'quaternion) + (-> v1-6 x) + (-> v1-6 y) + (-> v1-6 z) + (* (-> s4-0 twist y) (-> s4-0 blend) (-> s4-0 flex-blend)) + ) + ) ) - ) - (quaternion-normalize! (quaternion*! (-> arg1 quat) a1-4 (-> arg1 quat))) - ) - (let* ((v1-10 (-> s3-0 (-> s4-0 nose))) - (a1-6 - (quaternion-axis-angle! - (new 'stack-no-clear 'quaternion) - (-> v1-10 x) - (-> v1-10 y) - (-> v1-10 z) - (* (-> s4-0 twist z) (-> s4-0 blend) (-> s4-0 flex-blend)) - ) + (quaternion-normalize! (quaternion*! (-> arg1 quat) a1-4 (-> arg1 quat))) + ) + (let* ((v1-10 (-> s3-0 (-> s4-0 nose))) + (a1-6 (quaternion-axis-angle! + (new 'stack-no-clear 'quaternion) + (-> v1-10 x) + (-> v1-10 y) + (-> v1-10 z) + (* (-> s4-0 twist z) (-> s4-0 blend) (-> s4-0 flex-blend)) + ) + ) ) - ) - (quaternion-normalize! (quaternion*! (-> arg1 quat) a1-6 (-> arg1 quat))) + (quaternion-normalize! (quaternion*! (-> arg1 quat) a1-6 (-> arg1 quat))) + ) ) - ) (cspace<-parented-transformq-joint! arg0 arg1) 0 (none) @@ -677,10 +558,10 @@ ;; Used lq/sq (defun joint-mod-joint-set-handler ((arg0 cspace) (arg1 transformq)) (let ((s4-0 (the-as joint-mod (-> arg0 param1)))) - (set! (-> arg1 trans quad) (-> s4-0 trans quad)) - (quaternion-copy! (-> arg1 quat) (-> s4-0 quat)) - (set! (-> arg1 scale quad) (-> s4-0 scale quad)) - ) + (set! (-> arg1 trans quad) (-> s4-0 trans quad)) + (quaternion-copy! (-> arg1 quat) (-> s4-0 quat)) + (set! (-> arg1 scale quad) (-> s4-0 scale quad)) + ) (cspace<-parented-transformq-joint! arg0 arg1) 0 (none) @@ -690,32 +571,28 @@ ;; INFO: Return type mismatch int vs none. (defun joint-mod-joint-set*-handler ((arg0 cspace) (arg1 transformq)) (let ((s5-0 (the-as joint-mod (-> arg0 param1)))) - (vector+! (-> arg1 trans) (-> arg1 trans) (-> s5-0 trans)) - (quaternion-normalize! - (quaternion*! (-> arg1 quat) (-> arg1 quat) (-> s5-0 quat)) + (vector+! (-> arg1 trans) (-> arg1 trans) (-> s5-0 trans)) + (quaternion-normalize! (quaternion*! (-> arg1 quat) (-> arg1 quat) (-> s5-0 quat))) + (vector*! (-> arg1 scale) (-> arg1 scale) (-> s5-0 scale)) + (cspace<-parented-transformq-joint! arg0 arg1) + (if (-> s5-0 max-dist) + (set-vector! (-> arg0 bone scale) 1.0 1.0 1.0 1.0) + ) ) - (vector*! (-> arg1 scale) (-> arg1 scale) (-> s5-0 scale)) - (cspace<-parented-transformq-joint! arg0 arg1) - (if (-> s5-0 max-dist) - (set-vector! (-> arg0 bone scale) 1.0 1.0 1.0 1.0) - ) - ) 0 (none) ) ;; definition for symbol *joint-axis-vectors*, type (inline-array vector) -(define - *joint-axis-vectors* - (new 'static 'inline-array vector 6 - (new 'static 'vector :x 1.0 :w 1.0) - (new 'static 'vector :y 1.0 :w 1.0) - (new 'static 'vector :z 1.0 :w 1.0) - (new 'static 'vector :x -1.0 :w 1.0) - (new 'static 'vector :y -1.0 :w 1.0) - (new 'static 'vector :z -1.0 :w 1.0) - ) - ) +(define *joint-axis-vectors* (new 'static 'inline-array vector 6 + (new 'static 'vector :x 1.0 :w 1.0) + (new 'static 'vector :y 1.0 :w 1.0) + (new 'static 'vector :z 1.0 :w 1.0) + (new 'static 'vector :x -1.0 :w 1.0) + (new 'static 'vector :y -1.0 :w 1.0) + (new 'static 'vector :z -1.0 :w 1.0) + ) + ) ;; definition of type joint-mod-wheel (deftype joint-mod-wheel (basic) @@ -748,62 +625,45 @@ ;; Used lq/sq (defun joint-mod-wheel-callback ((arg0 cspace) (arg1 transformq)) (let ((s4-0 (the-as joint-mod-wheel (-> arg0 param1)))) - (let ((v1-1 (-> s4-0 process root)) - (s1-0 (new-stack-vector0)) - (s3-0 (new-stack-vector0)) - (s2-0 (new-stack-vector0)) - ) - 0.0 - 0.0 - (vector-z-quaternion! s2-0 (-> v1-1 quat)) - (vector<-cspace! s1-0 arg0) - (vector-! s3-0 s1-0 (-> s4-0 last-position)) - (set! (-> s4-0 last-position quad) (-> s1-0 quad)) - (let* ((f0-3 (vector-dot s2-0 s3-0)) - (f1-0 65536.0) - (f2-1 (* 6.28318 (-> s4-0 wheel-radius))) - (f0-4 (* f1-0 (/ 1.0 f2-1) f0-3)) - ) - (+! (-> s4-0 angle) f0-4) - ) + (let ((v1-1 (-> s4-0 process root)) + (s1-0 (new-stack-vector0)) + (s3-0 (new-stack-vector0)) + (s2-0 (new-stack-vector0)) + ) + 0.0 + 0.0 + (vector-z-quaternion! s2-0 (-> v1-1 quat)) + (vector<-cspace! s1-0 arg0) + (vector-! s3-0 s1-0 (-> s4-0 last-position)) + (set! (-> s4-0 last-position quad) (-> s1-0 quad)) + (let* ((f0-3 (vector-dot s2-0 s3-0)) + (f1-0 65536.0) + (f2-1 (* 6.28318 (-> s4-0 wheel-radius))) + (f0-4 (* f1-0 (/ 1.0 f2-1) f0-3)) + ) + (+! (-> s4-0 angle) f0-4) + ) + ) + (quaternion-vector-angle! (-> arg1 quat) (-> *joint-axis-vectors* (-> s4-0 wheel-axis)) (-> s4-0 angle)) ) - (quaternion-vector-angle! - (-> arg1 quat) - (-> *joint-axis-vectors* (-> s4-0 wheel-axis)) - (-> s4-0 angle) - ) - ) (cspace<-parented-transformq-joint! arg0 arg1) (none) ) ;; definition for method 0 of type joint-mod-wheel -(defmethod - new - joint-mod-wheel - ((allocation symbol) - (type-to-make type) - (arg0 process-drawable) - (arg1 int) - (arg2 float) - (arg3 int) - ) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new joint-mod-wheel ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 int) (arg2 float) (arg3 int)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 process) arg0) + (set! (-> v0-0 wheel-radius) arg2) + (set! (-> v0-0 wheel-axis) arg3) + (set! (-> v0-0 angle) 0.0) + (set-vector! (-> v0-0 last-position) 0.0 0.0 0.0 1.0) + (let ((v1-5 (-> arg0 node-list data arg1))) + (set! (-> v1-5 param0) joint-mod-wheel-callback) + (set! (-> v1-5 param1) v0-0) + ) + v0-0 ) - (set! (-> v0-0 process) arg0) - (set! (-> v0-0 wheel-radius) arg2) - (set! (-> v0-0 wheel-axis) arg3) - (set! (-> v0-0 angle) 0.0) - (set-vector! (-> v0-0 last-position) 0.0 0.0 0.0 1.0) - (let ((v1-5 (-> arg0 node-list data arg1))) - (set! (-> v1-5 param0) joint-mod-wheel-callback) - (set! (-> v1-5 param1) v0-0) - ) - v0-0 - ) ) ;; definition of type joint-mod-set-local @@ -837,58 +697,51 @@ ;; Used lq/sq (defun joint-mod-set-local-callback ((arg0 cspace) (arg1 transformq)) (let ((v1-0 (the-as joint-mod-set-local (-> arg0 param1)))) - (cond - ((-> v1-0 enable) - (if (not (-> v1-0 set-translation)) - (set! (-> v1-0 transform trans quad) (-> arg1 trans quad)) + (cond + ((-> v1-0 enable) + (if (not (-> v1-0 set-translation)) + (set! (-> v1-0 transform trans quad) (-> arg1 trans quad)) + ) + (if (not (-> v1-0 set-rotation)) + (set! (-> v1-0 transform quat vec quad) (-> arg1 quat vec quad)) + ) + (if (not (-> v1-0 set-scale)) + (set! (-> v1-0 transform scale quad) (-> arg1 scale quad)) + ) + (cspace<-parented-transformq-joint! arg0 (-> v1-0 transform)) + ) + (else + (cspace<-parented-transformq-joint! arg0 arg1) + ) ) - (if (not (-> v1-0 set-rotation)) - (set! (-> v1-0 transform quat vec quad) (-> arg1 quat vec quad)) - ) - (if (not (-> v1-0 set-scale)) - (set! (-> v1-0 transform scale quad) (-> arg1 scale quad)) - ) - (cspace<-parented-transformq-joint! arg0 (-> v1-0 transform)) - ) - (else - (cspace<-parented-transformq-joint! arg0 arg1) - ) ) - ) (none) ) ;; definition for method 0 of type joint-mod-set-local ;; Used lq/sq -(defmethod - new - joint-mod-set-local - ((allocation symbol) - (type-to-make type) - (arg0 process-drawable) - (arg1 int) - (arg2 basic) - (arg3 basic) - (arg4 basic) - ) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new joint-mod-set-local ((allocation symbol) + (type-to-make type) + (arg0 process-drawable) + (arg1 int) + (arg2 basic) + (arg3 basic) + (arg4 basic) + ) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 set-translation) arg2) + (set! (-> v0-0 set-rotation) arg3) + (set! (-> v0-0 set-scale) arg4) + (set! (-> v0-0 enable) #t) + (set! (-> v0-0 transform trans quad) (-> *null-vector* quad)) + (set! (-> v0-0 transform quat vec quad) (-> *null-vector* quad)) + (set! (-> v0-0 transform scale quad) (-> *identity-vector* quad)) + (let ((v1-8 (-> arg0 node-list data arg1))) + (set! (-> v1-8 param0) joint-mod-set-local-callback) + (set! (-> v1-8 param1) v0-0) + ) + v0-0 ) - (set! (-> v0-0 set-translation) arg2) - (set! (-> v0-0 set-rotation) arg3) - (set! (-> v0-0 set-scale) arg4) - (set! (-> v0-0 enable) #t) - (set! (-> v0-0 transform trans quad) (-> *null-vector* quad)) - (set! (-> v0-0 transform quat vec quad) (-> *null-vector* quad)) - (set! (-> v0-0 transform scale quad) (-> *identity-vector* quad)) - (let ((v1-8 (-> arg0 node-list data arg1))) - (set! (-> v1-8 param0) joint-mod-set-local-callback) - (set! (-> v1-8 param1) v0-0) - ) - v0-0 - ) ) ;; definition of type joint-mod-set-world @@ -917,41 +770,29 @@ ;; definition for function joint-mod-set-world-callback (defun joint-mod-set-world-callback ((arg0 cspace) (arg1 transformq)) (let ((v1-0 (the-as joint-mod-set-world (-> arg0 param1)))) - (if (-> v1-0 enable) - (cspace<-transformq! arg0 (-> v1-0 transform)) - (cspace<-parented-transformq-joint! arg0 arg1) + (if (-> v1-0 enable) + (cspace<-transformq! arg0 (-> v1-0 transform)) + (cspace<-parented-transformq-joint! arg0 arg1) + ) ) - ) (none) ) ;; definition for method 0 of type joint-mod-set-world ;; Used lq/sq -(defmethod - new - joint-mod-set-world - ((allocation symbol) - (type-to-make type) - (arg0 process-drawable) - (arg1 int) - (arg2 basic) - ) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new joint-mod-set-world ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 int) (arg2 basic)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 node-index) arg1) + (set! (-> v0-0 enable) arg2) + (set! (-> v0-0 transform trans quad) (-> *null-vector* quad)) + (set! (-> v0-0 transform quat vec quad) (-> *null-vector* quad)) + (set! (-> v0-0 transform scale quad) (-> *identity-vector* quad)) + (let ((v1-7 (-> arg0 node-list data arg1))) + (set! (-> v1-7 param0) joint-mod-set-world-callback) + (set! (-> v1-7 param1) v0-0) + ) + v0-0 ) - (set! (-> v0-0 node-index) arg1) - (set! (-> v0-0 enable) arg2) - (set! (-> v0-0 transform trans quad) (-> *null-vector* quad)) - (set! (-> v0-0 transform quat vec quad) (-> *null-vector* quad)) - (set! (-> v0-0 transform scale quad) (-> *identity-vector* quad)) - (let ((v1-7 (-> arg0 node-list data arg1))) - (set! (-> v1-7 param0) joint-mod-set-world-callback) - (set! (-> v1-7 param1) v0-0) - ) - v0-0 - ) ) ;; definition of type joint-mod-blend-local @@ -974,11 +815,7 @@ (defmethod inspect joint-mod-blend-local ((obj joint-mod-blend-local)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Ttransform: #~%" (-> obj transform)) - (format - #t - "~Tblend-transform: #~%" - (-> obj blend-transform) - ) + (format #t "~Tblend-transform: #~%" (-> obj blend-transform)) (format #t "~Tnode-index: ~D~%" (-> obj node-index)) (format #t "~Tblend: ~f~%" (-> obj blend)) (format #t "~Tenable: ~A~%" (-> obj enable)) @@ -988,64 +825,42 @@ ;; definition for function joint-mod-blend-local-callback (defun joint-mod-blend-local-callback ((arg0 cspace) (arg1 transformq)) (let ((gp-0 (the-as joint-mod-blend-local (-> arg0 param1)))) - (cond - ((-> gp-0 enable) - (vector-lerp! - (the-as vector (-> gp-0 blend-transform)) - (-> arg1 trans) - (the-as vector (-> gp-0 transform)) - (-> gp-0 blend) + (cond + ((-> gp-0 enable) + (vector-lerp! + (the-as vector (-> gp-0 blend-transform)) + (-> arg1 trans) + (the-as vector (-> gp-0 transform)) + (-> gp-0 blend) + ) + (vector-lerp! (-> gp-0 blend-transform scale) (-> arg1 scale) (-> gp-0 transform scale) (-> gp-0 blend)) + (quaternion-slerp! (-> gp-0 blend-transform quat) (-> arg1 quat) (-> gp-0 transform quat) (-> gp-0 blend)) + (cspace<-parented-transformq-joint! arg0 (-> gp-0 blend-transform)) + ) + (else + (cspace<-parented-transformq-joint! arg0 arg1) + ) ) - (vector-lerp! - (-> gp-0 blend-transform scale) - (-> arg1 scale) - (-> gp-0 transform scale) - (-> gp-0 blend) - ) - (quaternion-slerp! - (-> gp-0 blend-transform quat) - (-> arg1 quat) - (-> gp-0 transform quat) - (-> gp-0 blend) - ) - (cspace<-parented-transformq-joint! arg0 (-> gp-0 blend-transform)) - ) - (else - (cspace<-parented-transformq-joint! arg0 arg1) - ) ) - ) (none) ) ;; definition for method 0 of type joint-mod-blend-local ;; Used lq/sq -(defmethod - new - joint-mod-blend-local - ((allocation symbol) - (type-to-make type) - (arg0 process-drawable) - (arg1 int) - (arg2 basic) - ) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new joint-mod-blend-local ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 int) (arg2 basic)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 node-index) arg1) + (set! (-> v0-0 enable) arg2) + (set! (-> v0-0 blend) 0.0) + (set! (-> v0-0 transform trans quad) (-> *null-vector* quad)) + (set! (-> v0-0 transform quat vec quad) (-> *null-vector* quad)) + (set! (-> v0-0 transform scale quad) (-> *identity-vector* quad)) + (let ((v1-7 (-> arg0 node-list data arg1))) + (set! (-> v1-7 param0) joint-mod-blend-local-callback) + (set! (-> v1-7 param1) v0-0) + ) + v0-0 ) - (set! (-> v0-0 node-index) arg1) - (set! (-> v0-0 enable) arg2) - (set! (-> v0-0 blend) 0.0) - (set! (-> v0-0 transform trans quad) (-> *null-vector* quad)) - (set! (-> v0-0 transform quat vec quad) (-> *null-vector* quad)) - (set! (-> v0-0 transform scale quad) (-> *identity-vector* quad)) - (let ((v1-7 (-> arg0 node-list data arg1))) - (set! (-> v1-7 param0) joint-mod-blend-local-callback) - (set! (-> v1-7 param1) v0-0) - ) - v0-0 - ) ) ;; definition of type joint-mod-spinner @@ -1076,55 +891,35 @@ ;; definition for function joint-mod-spinner-callback (defun joint-mod-spinner-callback ((arg0 cspace) (arg1 transformq)) (let ((gp-0 (the-as joint-mod-spinner (-> arg0 param1)))) - (when (-> gp-0 enable) - (let - ((f30-0 - (+ - (-> gp-0 angle) - (* (-> gp-0 spin-rate) (-> *display* seconds-per-frame)) + (when (-> gp-0 enable) + (let ((f30-0 (+ (-> gp-0 angle) (* (-> gp-0 spin-rate) (-> *display* seconds-per-frame))))) + (if (< 32768.0 f30-0) + (set! f30-0 (+ -65536.0 f30-0)) + ) + (if (< f30-0 -32768.0) + (set! f30-0 (+ 65536.0 f30-0)) + ) + (quaternion-vector-angle! (-> arg1 quat) (-> gp-0 spin-axis) f30-0) + (set! (-> gp-0 angle) f30-0) ) - ) ) - (if (< 32768.0 f30-0) - (set! f30-0 (+ -65536.0 f30-0)) - ) - (if (< f30-0 -32768.0) - (set! f30-0 (+ 65536.0 f30-0)) - ) - (quaternion-vector-angle! (-> arg1 quat) (-> gp-0 spin-axis) f30-0) - (set! (-> gp-0 angle) f30-0) - ) ) - ) (cspace<-parented-transformq-joint! arg0 arg1) (none) ) ;; definition for method 0 of type joint-mod-spinner ;; Used lq/sq -(defmethod - new - joint-mod-spinner - ((allocation symbol) - (type-to-make type) - (arg0 process-drawable) - (arg1 int) - (arg2 vector) - (arg3 float) - ) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new joint-mod-spinner ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 int) (arg2 vector) (arg3 float)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 spin-axis quad) (-> arg2 quad)) + (set! (-> v0-0 spin-rate) arg3) + (set! (-> v0-0 enable) #t) + (set! (-> v0-0 angle) 0.0) + (let ((v1-6 (-> arg0 node-list data arg1))) + (set! (-> v1-6 param0) joint-mod-spinner-callback) + (set! (-> v1-6 param1) v0-0) + ) + v0-0 ) - (set! (-> v0-0 spin-axis quad) (-> arg2 quad)) - (set! (-> v0-0 spin-rate) arg3) - (set! (-> v0-0 enable) #t) - (set! (-> v0-0 angle) 0.0) - (let ((v1-6 (-> arg0 node-list data arg1))) - (set! (-> v1-6 param0) joint-mod-spinner-callback) - (set! (-> v1-6 param1) v0-0) - ) - v0-0 - ) ) diff --git a/test/decompiler/reference/engine/target/logic-target_REF.gc b/test/decompiler/reference/engine/target/logic-target_REF.gc index 45c863e51c..3444d4f0f3 100644 --- a/test/decompiler/reference/engine/target/logic-target_REF.gc +++ b/test/decompiler/reference/engine/target/logic-target_REF.gc @@ -4,60 +4,33 @@ ;; definition for function build-conversions ;; Used lq/sq (defbehavior build-conversions target ((arg0 vector)) - (surface-mult! - (-> self control unknown-surface01) - (-> self control unknown-surface00) - (-> self control surf) - ) - (when - (and - (and - (= (-> self fact-info-target eco-type) 3) - (>= (-> self fact-info-target eco-level) 1.0) - ) - (or - (= (-> self control unknown-surface00 name) 'run) - (= (-> self control unknown-surface00 name) 'jump) - ) + (surface-mult! (-> self control unknown-surface01) (-> self control unknown-surface00) (-> self control surf)) + (when (and + (and (= (-> self fact-info-target eco-type) 3) (>= (-> self fact-info-target eco-level) 1.0)) + (or (= (-> self control unknown-surface00 name) 'run) (= (-> self control unknown-surface00 name) 'jump)) + ) + (set! (-> self control unknown-surface01 target-speed) + (+ 20480.0 (-> self control unknown-surface01 target-speed)) + ) + (set! (-> self control unknown-surface01 transv-max) + (+ 20480.0 (-> self control unknown-surface01 transv-max)) + ) ) - (set! - (-> self control unknown-surface01 target-speed) - (+ 20480.0 (-> self control unknown-surface01 target-speed)) - ) - (set! - (-> self control unknown-surface01 transv-max) - (+ 20480.0 (-> self control unknown-surface01 transv-max)) - ) - ) (let ((s5-0 (new-stack-vector0))) - (vector-z-quaternion! s5-0 (-> self control unknown-quaternion00)) - (when (logtest? (-> self control unknown-surface00 flags) 2) - (vector-flatten! s5-0 s5-0 (-> self control dynam gravity-normal)) - (vector-normalize! s5-0 1.0) + (vector-z-quaternion! s5-0 (-> self control unknown-quaternion00)) + (when (logtest? (-> self control unknown-surface00 flags) 2) + (vector-flatten! s5-0 s5-0 (-> self control dynam gravity-normal)) + (vector-normalize! s5-0 1.0) + ) + (forward-up-nopitch->inv-matrix (-> self control unknown-matrix01) s5-0 (-> self control local-normal)) ) - (forward-up-nopitch->inv-matrix - (-> self control unknown-matrix01) - s5-0 - (-> self control local-normal) - ) - ) - (matrix-transpose! - (-> self control unknown-matrix00) - (-> self control unknown-matrix01) - ) - (vector-matrix*! - (-> self control unknown-vector00) - arg0 - (-> self control unknown-matrix00) - ) - (set! - (-> self control unknown-vector51 quad) - (-> self control unknown-vector50 quad) - ) + (matrix-transpose! (-> self control unknown-matrix00) (-> self control unknown-matrix01)) + (vector-matrix*! (-> self control unknown-vector00) arg0 (-> self control unknown-matrix00)) + (set! (-> self control unknown-vector51 quad) (-> self control unknown-vector50 quad)) (let ((v0-7 (-> self control unknown-vector50))) - (set! (-> v0-7 quad) (-> self control dynam gravity-normal quad)) - v0-7 - ) + (set! (-> v0-7 quad) (-> self control dynam gravity-normal quad)) + v0-7 + ) ) ;; definition for function vector-turn-to @@ -68,262 +41,223 @@ (t9-0 vector-normalize!) (v1-1 (new-stack-vector0)) ) - (set! (-> v1-1 quad) (-> arg0 quad)) - (gp-0 - s5-0 - (t9-0 v1-1 1.0) - (vector-y-quaternion! (new-stack-vector0) (-> self control dir-targ)) + (set! (-> v1-1 quad) (-> arg0 quad)) + (gp-0 s5-0 (t9-0 v1-1 1.0) (vector-y-quaternion! (new-stack-vector0) (-> self control dir-targ))) ) - ) (set-quaternion! (-> self control) (-> self control dir-targ)) (build-conversions (-> self control transv)) ) ;; definition for function reverse-conversions (defbehavior reverse-conversions target ((arg0 vector)) - (set! - (-> self control unknown-float01) - (vector-xz-length (-> self control unknown-vector00)) - ) - (vector-matrix*! - arg0 - (-> self control unknown-vector00) - (-> self control unknown-matrix01) - ) + (set! (-> self control unknown-float01) (vector-xz-length (-> self control unknown-vector00))) + (vector-matrix*! arg0 (-> self control unknown-vector00) (-> self control unknown-matrix01)) (let ((v0-2 (-> self control status))) - (set! (-> self control old-status) v0-2) - v0-2 - ) + (set! (-> self control old-status) v0-2) + v0-2 + ) ) ;; definition (debug) for function draw-history (defun-debug draw-history ((arg0 control-info)) (when (nonzero? *display-collide-history*) - (when (cpad-pressed? 0 l3) - (set! (-> arg0 history-length) (mod (+ (-> arg0 history-length) 1) 3)) - (if (cpad-hold? 0 l2) - (set! (-> arg0 history-length) 1000) - ) - ) - (let* ((v1-15 (-> arg0 history-length)) - (s5-0 (cond - ((zero? v1-15) - 35 - ) - ((= v1-15 1) - 39 - ) - ((= v1-15 2) - 43 - ) - (else - 256 - ) - ) - ) - (v1-19 (-> arg0 history-data (-> arg0 unknown-halfword00))) - (s1-0 (-> arg0 history-data (-> arg0 unknown-halfword00))) - (s4-0 1) - (s3-0 127) + (when (cpad-pressed? 0 l3) + (set! (-> arg0 history-length) (mod (+ (-> arg0 history-length) 1) 3)) + (if (cpad-hold? 0 l2) + (set! (-> arg0 history-length) 1000) ) - (while (>= s3-0 s4-0) - (let - ((s2-0 - (-> - arg0 - history-data - (logand (+ (-> arg0 unknown-halfword00) s4-0) 127) - ) - ) - ) - (add-debug-line - (logtest? s5-0 2) - (bucket-id debug-draw1) - (-> v1-19 trans) - (-> s2-0 trans) - (the-as rgba (+ #xffff00 (shl s4-0 24))) - #f - (the-as rgba -1) - ) - (add-debug-vector - (logtest? s5-0 4) - (bucket-id debug-draw1) - (-> s2-0 trans) - (-> s2-0 transv) - (meters 0.000024414063) - (the-as rgba (+ #x408040 (shl s4-0 24))) - ) - (when (zero? (logand (-> s2-0 status) 256)) - (add-debug-line - (logtest? s5-0 1) - (bucket-id debug-draw1) - (-> s1-0 intersect) - (-> s2-0 intersect) - (the-as rgba (+ #xffffff (shl s4-0 24))) - #f - (the-as rgba -1) - ) - (let - ((s1-1 - (logand - (the-as int (-> *pat-mode-info* (-> s2-0 pat mode) hilite-color)) - (the-as uint #xffffffff00ffffff) - ) - ) - ) - (add-debug-vector - (logtest? s5-0 32) - (bucket-id debug-draw1) - (-> s2-0 intersect) - (-> s2-0 surface-normal) - (meters 1.0) - (the-as rgba (+ s1-1 (shl s4-0 24))) - ) - (add-debug-vector - (logtest? s5-0 16) - (bucket-id debug-draw1) - (-> s2-0 intersect) - (-> s2-0 local-normal) - (meters 1.0) - (the-as rgba (+ s1-1 (shl s4-0 24))) - ) - ) - (add-debug-vector - (logtest? s5-0 8) - (bucket-id debug-draw1) - (-> s2-0 trans) - (-> s2-0 transv-out) - (meters 0.000024414063) - (the-as rgba (+ #x404080 (shl s4-0 24))) - ) - (set! s1-0 s2-0) - ) - (set! v1-19 s2-0) ) - (+! s4-0 1) - ) + (let* ((v1-15 (-> arg0 history-length)) + (s5-0 (cond + ((zero? v1-15) + 35 + ) + ((= v1-15 1) + 39 + ) + ((= v1-15 2) + 43 + ) + (else + 256 + ) + ) + ) + (v1-19 (-> arg0 history-data (-> arg0 unknown-halfword00))) + (s1-0 (-> arg0 history-data (-> arg0 unknown-halfword00))) + (s4-0 1) + (s3-0 127) + ) + (while (>= s3-0 s4-0) + (let ((s2-0 (-> arg0 history-data (logand (+ (-> arg0 unknown-halfword00) s4-0) 127)))) + (add-debug-line + (logtest? s5-0 2) + (bucket-id debug-draw1) + (-> v1-19 trans) + (-> s2-0 trans) + (the-as rgba (+ #xffff00 (shl s4-0 24))) + #f + (the-as rgba -1) + ) + (add-debug-vector + (logtest? s5-0 4) + (bucket-id debug-draw1) + (-> s2-0 trans) + (-> s2-0 transv) + (meters 0.000024414063) + (the-as rgba (+ #x408040 (shl s4-0 24))) + ) + (when (zero? (logand (-> s2-0 status) 256)) + (add-debug-line + (logtest? s5-0 1) + (bucket-id debug-draw1) + (-> s1-0 intersect) + (-> s2-0 intersect) + (the-as rgba (+ #xffffff (shl s4-0 24))) + #f + (the-as rgba -1) + ) + (let ((s1-1 + (logand (the-as int (-> *pat-mode-info* (-> s2-0 pat mode) hilite-color)) (the-as uint #xffffffff00ffffff)) + ) + ) + (add-debug-vector + (logtest? s5-0 32) + (bucket-id debug-draw1) + (-> s2-0 intersect) + (-> s2-0 surface-normal) + (meters 1.0) + (the-as rgba (+ s1-1 (shl s4-0 24))) + ) + (add-debug-vector + (logtest? s5-0 16) + (bucket-id debug-draw1) + (-> s2-0 intersect) + (-> s2-0 local-normal) + (meters 1.0) + (the-as rgba (+ s1-1 (shl s4-0 24))) + ) + ) + (add-debug-vector + (logtest? s5-0 8) + (bucket-id debug-draw1) + (-> s2-0 trans) + (-> s2-0 transv-out) + (meters 0.000024414063) + (the-as rgba (+ #x404080 (shl s4-0 24))) + ) + (set! s1-0 s2-0) + ) + (set! v1-19 s2-0) + ) + (+! s4-0 1) + ) + ) + #f ) - #f - ) ) ;; definition (debug) for function print-history ;; INFO: Return type mismatch int vs none. (defun-debug print-history ((arg0 control-info)) (dotimes (s5-0 128) - (let - ((s4-0 - (-> arg0 history-data (logand (+ (-> arg0 unknown-halfword00) s5-0) 127)) + (let ((s4-0 (-> arg0 history-data (logand (+ (-> arg0 unknown-halfword00) s5-0) 127)))) + (let ((s3-0 (-> s4-0 reaction-flag))) + (format + #t + "~6D ~8S #x~8X " + (-> s4-0 time) + (if (logtest? (-> s4-0 status) 256) + "air" + (-> *pat-mode-info* (-> s4-0 pat mode) name) + ) + (-> s4-0 status) + ) + (format + #t + "~C~C~C~C~C~C" + (if (zero? (logand s3-0 1)) + 103 + 87 + ) + (if (zero? (logand s3-0 2)) + 103 + 87 + ) + (cond + ((logtest? s3-0 2048) + 71 + ) + ((zero? (logand s3-0 4)) + 103 + ) + (else + 87 + ) + ) + (cond + ((logtest? s3-0 512) + 66 + ) + ((logtest? s3-0 8) + 76 + ) + (else + 99 + ) + ) + (if (zero? (logand s3-0 16)) + 110 + 66 + ) + (if (zero? (logand s3-0 32)) + 103 + 65 + ) + ) + (format + #t + "~C~C " + (if (logtest? s3-0 64) + 78 + 95 + ) + (cond + ((logtest? s3-0 1024) + 76 + ) + ((logtest? s3-0 256) + 67 + ) + ((logtest? s3-0 128) + 108 + ) + (else + 95 + ) + ) + ) + ) + (format #t "trans: ~6,,2m ~6,,2m ~6,,2m " (-> s4-0 trans x) (-> s4-0 trans y) (-> s4-0 trans z)) + (format #t "int: ~6,,2m ~6,,2m ~6,,2m " (-> s4-0 intersect x) (-> s4-0 intersect y) (-> s4-0 intersect z)) + (format #t "vel: ~6,,2m ~6,,2m ~6,,2m " (-> s4-0 transv x) (-> s4-0 transv y) (-> s4-0 transv z)) + (format + #t + "vel-out: ~6,,2m ~6,,2m ~6,,2m " + (-> s4-0 transv-out x) + (-> s4-0 transv-out y) + (-> s4-0 transv-out z) + ) + (format + #t + "normal: ~6,,2f ~6,,2f ~6,,2f " + (-> s4-0 surface-normal x) + (-> s4-0 surface-normal y) + (-> s4-0 surface-normal z) + ) ) - ) - (let ((s3-0 (-> s4-0 reaction-flag))) - (format - #t - "~6D ~8S #x~8X " - (-> s4-0 time) - (if (logtest? (-> s4-0 status) 256) - "air" - (-> *pat-mode-info* (-> s4-0 pat mode) name) - ) - (-> s4-0 status) - ) - (format #t "~C~C~C~C~C~C" (if (zero? (logand s3-0 1)) - 103 - 87 - ) - (if (zero? (logand s3-0 2)) - 103 - 87 - ) - (cond - ((logtest? s3-0 2048) - 71 - ) - ((zero? (logand s3-0 4)) - 103 - ) - (else - 87 - ) - ) - (cond - ((logtest? s3-0 512) - 66 - ) - ((logtest? s3-0 8) - 76 - ) - (else - 99 - ) - ) - (if (zero? (logand s3-0 16)) - 110 - 66 - ) - (if (zero? (logand s3-0 32)) - 103 - 65 - ) - ) - (format #t "~C~C " (if (logtest? s3-0 64) - 78 - 95 - ) - (cond - ((logtest? s3-0 1024) - 76 - ) - ((logtest? s3-0 256) - 67 - ) - ((logtest? s3-0 128) - 108 - ) - (else - 95 - ) - ) - ) - ) - (format - #t - "trans: ~6,,2m ~6,,2m ~6,,2m " - (-> s4-0 trans x) - (-> s4-0 trans y) - (-> s4-0 trans z) - ) - (format - #t - "int: ~6,,2m ~6,,2m ~6,,2m " - (-> s4-0 intersect x) - (-> s4-0 intersect y) - (-> s4-0 intersect z) - ) - (format - #t - "vel: ~6,,2m ~6,,2m ~6,,2m " - (-> s4-0 transv x) - (-> s4-0 transv y) - (-> s4-0 transv z) - ) - (format - #t - "vel-out: ~6,,2m ~6,,2m ~6,,2m " - (-> s4-0 transv-out x) - (-> s4-0 transv-out y) - (-> s4-0 transv-out z) - ) - (format - #t - "normal: ~6,,2f ~6,,2f ~6,,2f " - (-> s4-0 surface-normal x) - (-> s4-0 surface-normal y) - (-> s4-0 surface-normal z) - ) + (format #t "~%") ) - (format #t "~%") - ) 0 (none) ) @@ -336,266 +270,219 @@ ;; Used lq/sq (defun-debug target-print-stats ((arg0 target) (arg1 symbol)) (local-vars - (sv-64 string) - (sv-80 string) - (sv-96 string) - (sv-112 string) - (sv-128 string) - (sv-144 string) - (sv-160 float) - (sv-176 float) - ) + (sv-64 string) + (sv-80 string) + (sv-96 string) + (sv-112 string) + (sv-128 string) + (sv-144 string) + (sv-160 float) + (sv-176 float) + ) (when (and *display-ground-stats* arg0) - (let ((s4-0 format) - (s3-0 arg1) - (s2-0 "~0kpoly:~6X mode:~-8S material:~-10S event:~S~%") - (s1-0 (-> arg0 control poly-pat)) - (s0-0 (pat-mode->string (-> arg0 control poly-pat))) - ) - (set! sv-64 (pat-material->string (-> arg0 control poly-pat))) - (let ((t1-0 (pat-event->string (-> arg0 control poly-pat)))) - (s4-0 s3-0 s2-0 s1-0 s0-0 sv-64 t1-0) - ) - ) - (let ((s4-1 format) - (s3-1 arg1) - (s2-1 "~0kgrnd:~6X mode:~-8S material:~-10S event:~S~%") - (s1-1 (-> arg0 control ground-pat)) - (s0-1 (pat-mode->string (-> arg0 control ground-pat))) - ) - (set! sv-80 (pat-material->string (-> arg0 control ground-pat))) - (let ((t1-1 (pat-event->string (-> arg0 control ground-pat)))) - (s4-1 s3-1 s2-1 s1-1 s0-1 sv-80 t1-1) - ) - ) - (let ((s4-2 format) - (s3-2 arg1) - (s2-2 "~0kwall:~6X mode:~-8S material:~-10S event:~S~%") - (s1-2 (-> arg0 control unknown-int60)) - (s0-2 - (pat-mode->string - (the-as pat-surface (-> arg0 control unknown-int60)) - ) + (let ((s4-0 format) + (s3-0 arg1) + (s2-0 "~0kpoly:~6X mode:~-8S material:~-10S event:~S~%") + (s1-0 (-> arg0 control poly-pat)) + (s0-0 (pat-mode->string (-> arg0 control poly-pat))) ) - ) - (set! - sv-96 - (pat-material->string (the-as pat-surface (-> arg0 control unknown-int60))) - ) - (let - ((t1-2 - (pat-event->string (the-as pat-surface (-> arg0 control unknown-int60))) - ) - ) - (s4-2 s3-2 s2-2 s1-2 s0-2 sv-96 t1-2) - ) - ) - ) - (when (and *stats-target* arg0) - (format - arg1 - "~0ks: ~M ~X/~X ~A ~A ~A~%" - (-> arg0 control unknown-float01) - (-> arg0 control status) - (-> arg0 control prev-status) - (-> arg0 state name) - (-> arg0 control surf name) - (-> arg0 control unknown-surface00 name) - ) - (format - arg1 - "~0k~9S ~9S ~9S ~9S ~9S ~9S~%" - (if (logtest? (-> arg0 control status) 1) - "on-surface" - "" - ) - (if (logtest? (-> arg0 control status) 2) - "on-ground" - "" - ) - (if (logtest? (-> arg0 control status) 4) - "t-surface" - "" - ) - (if (logtest? (-> arg0 control status) 8) - "t-wall" - "" - ) - (if (logtest? (-> arg0 control status) 32) - "t-act" - "" - ) - (cond - ((logtest? (-> arg0 control status) 16) - "t-ceil" - ) - ((logtest? (-> arg0 control status) 1024) - "on-water" - ) - (else - "" - ) - ) - ) - (let ((v1-49 (handle->process (-> arg0 water volume)))) - (when v1-49 - (format - arg1 - "in water ~A at ~M ~5S ~5S ~5S ~5S " - (-> v1-49 name) - (-> arg0 water height) - (if (logtest? (-> arg0 water flags) 512) - "water" - "" - ) - (if (logtest? (-> arg0 water flags) 1024) - "wade" - "" - ) - (if (logtest? (-> arg0 water flags) 2048) - "swim" - "" - ) - (if (logtest? (-> arg0 water flags) 4096) - "under" - "" - ) - ) - (format arg1 "~2S~%" (if (logtest? (-> arg0 water flags) 16) - "sg" - "" - ) - ) - ) - ) - (format - arg1 - "~0kan:~,,3f su:~,,3f ti:~,,3f to:~,,3f pa:~,,3f~%" - (-> arg0 control surface-angle) - (-> arg0 control unknown-float61) - (-> arg0 control unknown-float62) - (-> arg0 control touch-angle) - (-> arg0 control poly-angle) - ) - (let ((v1-74 (-> arg0 control trans))) - (format - arg1 - "pos: ~6,,2m ~6,,2m ~6,,2m " - (-> v1-74 x) - (-> v1-74 y) - (-> v1-74 z) - ) - ) - (let ((s4-3 format) - (s3-3 arg1) - (s2-3 "~0kpol:~X/~S/~S/~S~%") - (s1-3 (-> arg0 control poly-pat)) - (s0-3 (pat-mode->string (-> arg0 control poly-pat))) - ) - (set! sv-112 (pat-material->string (-> arg0 control poly-pat))) - (let ((t1-7 (pat-event->string (-> arg0 control poly-pat)))) - (s4-3 s3-3 s2-3 s1-3 s0-3 sv-112 t1-7) - ) - ) - (let ((s4-4 format) - (s3-4 arg1) - (s2-4 "~0kcur:~X/~S/~S/~S ") - (s1-4 (-> arg0 control cur-pat)) - (s0-4 (pat-mode->string (-> arg0 control cur-pat))) - ) - (set! sv-128 (pat-material->string (-> arg0 control cur-pat))) - (let ((t1-8 (pat-event->string (-> arg0 control cur-pat)))) - (s4-4 s3-4 s2-4 s1-4 s0-4 sv-128 t1-8) - ) - ) - (let ((s4-5 format) - (s3-5 arg1) - (s2-5 "~0kgnd:~X/~S/~S/~S~%") - (s1-5 (-> arg0 control ground-pat)) - (s0-5 (pat-mode->string (-> arg0 control ground-pat))) - ) - (set! sv-144 (pat-material->string (-> arg0 control ground-pat))) - (let ((t1-9 (pat-event->string (-> arg0 control ground-pat)))) - (s4-5 s3-5 s2-5 s1-5 s0-5 sv-144 t1-9) - ) - ) - (let ((s4-6 format) - (s3-6 arg1) - (s2-6 "~0kvel: x:~M y:~M z:~M yv:~M xzv:~M~%") - (s1-6 (-> arg0 control transv x)) - (s0-6 (-> arg0 control transv y)) - ) - (set! sv-160 (-> arg0 control transv z)) - (set! - sv-176 - (vector-dot - (-> arg0 control dynam gravity-normal) - (-> arg0 control transv) - ) - ) - (let ((a0-36 (new-stack-vector0))) - (let - ((f0-17 - (vector-dot - (-> arg0 control dynam gravity-normal) - (-> arg0 control transv) - ) + (set! sv-64 (pat-material->string (-> arg0 control poly-pat))) + (let ((t1-0 (pat-event->string (-> arg0 control poly-pat)))) + (s4-0 s3-0 s2-0 s1-0 s0-0 sv-64 t1-0) ) - ) - 0.0 - (vector-! - a0-36 - (-> arg0 control transv) - (vector-float*! a0-36 (-> arg0 control dynam gravity-normal) f0-17) - ) ) - (let ((f0-18 (vector-length a0-36))) - f0-18 - (let ((t2-4 f0-18)) - (s4-6 s3-6 s2-6 s1-6 s0-6 sv-160 sv-176 t2-4) - ) + (let ((s4-1 format) + (s3-1 arg1) + (s2-1 "~0kgrnd:~6X mode:~-8S material:~-10S event:~S~%") + (s1-1 (-> arg0 control ground-pat)) + (s0-1 (pat-mode->string (-> arg0 control ground-pat))) + ) + (set! sv-80 (pat-material->string (-> arg0 control ground-pat))) + (let ((t1-1 (pat-event->string (-> arg0 control ground-pat)))) + (s4-1 s3-1 s2-1 s1-1 s0-1 sv-80 t1-1) + ) ) - ) - ) - (format - arg1 - "~0ky:~,,2M t:~d cy: ~,,2M my: ~,,2M impv:~,,2M " - (-> arg0 control unknown-vector52 y) - (- (-> *display* base-frame-counter) (-> arg0 control unknown-dword11)) - (- (-> arg0 control trans y) (-> arg0 control unknown-vector52 y)) - (- - (-> arg0 control unknown-vector111 y) - (-> arg0 control unknown-vector110 y) - ) - (-> arg0 control ground-impact-vel) - ) - (format - arg1 - "~0k~Tcd: ~,,2M md:~,,2M~%" - (vector-xz-length - (vector-! - (new-stack-vector0) - (-> arg0 control trans) - (-> arg0 control unknown-vector52) + (let ((s4-2 format) + (s3-2 arg1) + (s2-2 "~0kwall:~6X mode:~-8S material:~-10S event:~S~%") + (s1-2 (-> arg0 control unknown-int60)) + (s0-2 (pat-mode->string (the-as pat-surface (-> arg0 control unknown-int60)))) + ) + (set! sv-96 (pat-material->string (the-as pat-surface (-> arg0 control unknown-int60)))) + (let ((t1-2 (pat-event->string (the-as pat-surface (-> arg0 control unknown-int60))))) + (s4-2 s3-2 s2-2 s1-2 s0-2 sv-96 t1-2) + ) ) - ) - (vector-xz-length - (vector-! - (new-stack-vector0) - (-> arg0 control unknown-vector111) - (-> arg0 control unknown-vector110) + ) + (when (and *stats-target* arg0) + (format + arg1 + "~0ks: ~M ~X/~X ~A ~A ~A~%" + (-> arg0 control unknown-float01) + (-> arg0 control status) + (-> arg0 control prev-status) + (-> arg0 state name) + (-> arg0 control surf name) + (-> arg0 control unknown-surface00 name) ) - ) + (format + arg1 + "~0k~9S ~9S ~9S ~9S ~9S ~9S~%" + (if (logtest? (-> arg0 control status) 1) + "on-surface" + "" + ) + (if (logtest? (-> arg0 control status) 2) + "on-ground" + "" + ) + (if (logtest? (-> arg0 control status) 4) + "t-surface" + "" + ) + (if (logtest? (-> arg0 control status) 8) + "t-wall" + "" + ) + (if (logtest? (-> arg0 control status) 32) + "t-act" + "" + ) + (cond + ((logtest? (-> arg0 control status) 16) + "t-ceil" + ) + ((logtest? (-> arg0 control status) 1024) + "on-water" + ) + (else + "" + ) + ) + ) + (let ((v1-49 (handle->process (-> arg0 water volume)))) + (when v1-49 + (format + arg1 + "in water ~A at ~M ~5S ~5S ~5S ~5S " + (-> v1-49 name) + (-> arg0 water height) + (if (logtest? (-> arg0 water flags) 512) + "water" + "" + ) + (if (logtest? (-> arg0 water flags) 1024) + "wade" + "" + ) + (if (logtest? (-> arg0 water flags) 2048) + "swim" + "" + ) + (if (logtest? (-> arg0 water flags) 4096) + "under" + "" + ) + ) + (format arg1 "~2S~%" (if (logtest? (-> arg0 water flags) 16) + "sg" + "" + ) + ) + ) + ) + (format + arg1 + "~0kan:~,,3f su:~,,3f ti:~,,3f to:~,,3f pa:~,,3f~%" + (-> arg0 control surface-angle) + (-> arg0 control unknown-float61) + (-> arg0 control unknown-float62) + (-> arg0 control touch-angle) + (-> arg0 control poly-angle) + ) + (let ((v1-74 (-> arg0 control trans))) + (format arg1 "pos: ~6,,2m ~6,,2m ~6,,2m " (-> v1-74 x) (-> v1-74 y) (-> v1-74 z)) + ) + (let ((s4-3 format) + (s3-3 arg1) + (s2-3 "~0kpol:~X/~S/~S/~S~%") + (s1-3 (-> arg0 control poly-pat)) + (s0-3 (pat-mode->string (-> arg0 control poly-pat))) + ) + (set! sv-112 (pat-material->string (-> arg0 control poly-pat))) + (let ((t1-7 (pat-event->string (-> arg0 control poly-pat)))) + (s4-3 s3-3 s2-3 s1-3 s0-3 sv-112 t1-7) + ) + ) + (let ((s4-4 format) + (s3-4 arg1) + (s2-4 "~0kcur:~X/~S/~S/~S ") + (s1-4 (-> arg0 control cur-pat)) + (s0-4 (pat-mode->string (-> arg0 control cur-pat))) + ) + (set! sv-128 (pat-material->string (-> arg0 control cur-pat))) + (let ((t1-8 (pat-event->string (-> arg0 control cur-pat)))) + (s4-4 s3-4 s2-4 s1-4 s0-4 sv-128 t1-8) + ) + ) + (let ((s4-5 format) + (s3-5 arg1) + (s2-5 "~0kgnd:~X/~S/~S/~S~%") + (s1-5 (-> arg0 control ground-pat)) + (s0-5 (pat-mode->string (-> arg0 control ground-pat))) + ) + (set! sv-144 (pat-material->string (-> arg0 control ground-pat))) + (let ((t1-9 (pat-event->string (-> arg0 control ground-pat)))) + (s4-5 s3-5 s2-5 s1-5 s0-5 sv-144 t1-9) + ) + ) + (let ((s4-6 format) + (s3-6 arg1) + (s2-6 "~0kvel: x:~M y:~M z:~M yv:~M xzv:~M~%") + (s1-6 (-> arg0 control transv x)) + (s0-6 (-> arg0 control transv y)) + ) + (set! sv-160 (-> arg0 control transv z)) + (set! sv-176 (vector-dot (-> arg0 control dynam gravity-normal) (-> arg0 control transv))) + (let ((a0-36 (new-stack-vector0))) + (let ((f0-17 (vector-dot (-> arg0 control dynam gravity-normal) (-> arg0 control transv)))) + 0.0 + (vector-! a0-36 (-> arg0 control transv) (vector-float*! a0-36 (-> arg0 control dynam gravity-normal) f0-17)) + ) + (let ((f0-18 (vector-length a0-36))) + f0-18 + (let ((t2-4 f0-18)) + (s4-6 s3-6 s2-6 s1-6 s0-6 sv-160 sv-176 t2-4) + ) + ) + ) + ) + (format + arg1 + "~0ky:~,,2M t:~d cy: ~,,2M my: ~,,2M impv:~,,2M " + (-> arg0 control unknown-vector52 y) + (- (-> *display* base-frame-counter) (-> arg0 control unknown-dword11)) + (- (-> arg0 control trans y) (-> arg0 control unknown-vector52 y)) + (- (-> arg0 control unknown-vector111 y) (-> arg0 control unknown-vector110 y)) + (-> arg0 control ground-impact-vel) + ) + (format + arg1 + "~0k~Tcd: ~,,2M md:~,,2M~%" + (vector-xz-length (vector-! (new-stack-vector0) (-> arg0 control trans) (-> arg0 control unknown-vector52))) + (vector-xz-length + (vector-! (new-stack-vector0) (-> arg0 control unknown-vector111) (-> arg0 control unknown-vector110)) + ) + ) + (format + arg1 + "~0kbend b:~F t:~F s:~F~%" + (-> arg0 control unknown-float80) + (-> arg0 control unknown-float81) + (-> arg0 control unknown-float82) + ) + (dummy-10 (-> arg0 skel) arg1) ) - (format - arg1 - "~0kbend b:~F t:~F s:~F~%" - (-> arg0 control unknown-float80) - (-> arg0 control unknown-float81) - (-> arg0 control unknown-float82) - ) - (dummy-10 (-> arg0 skel) arg1) - ) (draw-history (-> arg0 control)) #f ) @@ -604,53 +491,36 @@ ;; Used lq/sq (defbehavior read-pad target ((arg0 vector)) (when (!= (-> self control unknown-dword00) (-> *display* real-frame-counter)) - (set! - (-> self control unknown-vector31 quad) - (-> self control unknown-vector30 quad) + (set! (-> self control unknown-vector31 quad) (-> self control unknown-vector30 quad)) + (set! (-> self control unknown-float21) (-> self control unknown-float20)) + (set! (-> self control unknown-dword00) (the-as uint (-> *display* real-frame-counter))) ) - (set! (-> self control unknown-float21) (-> self control unknown-float20)) - (set! - (-> self control unknown-dword00) - (the-as uint (-> *display* real-frame-counter)) - ) - ) (set! (-> arg0 x) (sin (-> self control unknown-cpad-info00 stick0-dir))) (set! (-> arg0 y) 0.0) (set! (-> arg0 z) (cos (-> self control unknown-cpad-info00 stick0-dir))) (set! (-> arg0 w) 0.0) (set! (-> self control unknown-vector30 quad) (-> arg0 quad)) - (set! - (-> self control unknown-float20) - (-> self control unknown-cpad-info00 stick0-speed) - ) + (set! (-> self control unknown-float20) (-> self control unknown-cpad-info00 stick0-speed)) (vector-matrix*! arg0 arg0 (matrix-local->world #t #f)) ) ;; definition for function warp-vector-into-surface! ;; Used lq/sq (defun warp-vector-into-surface! ((arg0 vector) (arg1 vector) (arg2 vector)) - (let - ((a2-2 - (matrix-from-two-vectors! - (new-stack-matrix0) - (-> (matrix-local->world #t #f) vector 1) - arg2 - ) - ) + (let ((a2-2 (matrix-from-two-vectors! (new-stack-matrix0) (-> (matrix-local->world #t #f) vector 1) arg2))) + (vector-matrix*! arg0 arg1 a2-2) ) - (vector-matrix*! arg0 arg1 a2-2) - ) ) ;; definition for function vector<-pad-in-surface! ;; Used lq/sq (defbehavior vector<-pad-in-surface! target ((arg0 vector) (arg1 symbol)) (let ((a1-1 (read-pad (new-stack-vector0)))) - (warp-vector-into-surface! arg0 a1-1 (-> self control local-normal)) - ) + (warp-vector-into-surface! arg0 a1-1 (-> self control local-normal)) + ) (if arg1 - (vector-float*! arg0 arg0 (-> self control unknown-float20)) - ) + (vector-float*! arg0 arg0 (-> self control unknown-float20)) + ) arg0 ) @@ -658,14 +528,11 @@ ;; Used lq/sq (defbehavior local-pad-angle target () (let ((a0-1 (vector<-pad-in-surface! (new-stack-vector0) #f))) - (vector-dot - (vector-normalize! a0-1 1.0) - (vector-z-quaternion! - (new-stack-vector0) - (-> self control unknown-quaternion00) - ) + (vector-dot + (vector-normalize! a0-1 1.0) + (vector-z-quaternion! (new-stack-vector0) (-> self control unknown-quaternion00)) + ) ) - ) ) ;; definition for function turn-around? @@ -676,59 +543,47 @@ (t9-2 vector-normalize!) (a0-2 (new-stack-vector0)) ) - (set! (-> a0-2 quad) (-> self control transv quad)) - (let ((f0-1 (vector-dot gp-0 (t9-2 a0-2 1.0))) - (a1-3 (-> self control unknown-vector-array10)) - (f2-0 -1000.0) - (f1-0 0.0) - (a0-3 -1) - (v1-6 (new 'static 'array uint64 1 #x0)) - ) - (countdown (a2-0 15) - (let ((a3-2 (-> a1-3 a2-0 quad))) - (set! (-> a1-3 (+ a2-0 1) quad) a3-2) - ) - ) - (set! (-> a1-3 0 quad) (-> self control transv quad)) - (set! (-> a1-3 0 w) (-> self control unknown-float01)) - (dotimes (a2-6 16) - (+! f1-0 (-> a1-3 a2-6 w)) - (when (< f2-0 (-> a1-3 a2-6 w)) - (set! a0-3 a2-6) - (set! f2-0 (-> a1-3 a2-6 w)) - ) - ) - (let ((f1-1 (* 0.0625 f1-0))) - (set! (-> self control unknown-int10) a0-3) - (set! (-> self control unknown-float100) f1-1) - (if (logtest? (-> self control unknown-surface01 flags) 8) - (set! (-> v1-6 0) (the-as uint (-> *display* base-frame-counter))) - ) - (and - (>= - (the-as - uint - (- (-> *display* base-frame-counter) (the-as int (-> v1-6 0))) + (set! (-> a0-2 quad) (-> self control transv quad)) + (let ((f0-1 (vector-dot gp-0 (t9-2 a0-2 1.0))) + (a1-3 (-> self control unknown-vector-array10)) + (f2-0 -1000.0) + (f1-0 0.0) + (a0-3 -1) + (v1-6 (new 'static 'array uint64 1 #x0)) + ) + (countdown (a2-0 15) + (let ((a3-2 (-> a1-3 a2-0 quad))) + (set! (-> a1-3 (+ a2-0 1) quad) a3-2) + ) + ) + (set! (-> a1-3 0 quad) (-> self control transv quad)) + (set! (-> a1-3 0 w) (-> self control unknown-float01)) + (dotimes (a2-6 16) + (+! f1-0 (-> a1-3 a2-6 w)) + (when (< f2-0 (-> a1-3 a2-6 w)) + (set! a0-3 a2-6) + (set! f2-0 (-> a1-3 a2-6 w)) + ) + ) + (let ((f1-1 (* 0.0625 f1-0))) + (set! (-> self control unknown-int10) a0-3) + (set! (-> self control unknown-float100) f1-1) + (if (logtest? (-> self control unknown-surface01 flags) 8) + (set! (-> v1-6 0) (the-as uint (-> *display* base-frame-counter))) + ) + (and + (>= (the-as uint (- (-> *display* base-frame-counter) (the-as int (-> v1-6 0)))) (the-as uint 300)) + (< f0-1 0.0) + (< 32768.0 f1-1) + (< 0.7 (-> self control unknown-float20)) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword20)) 90) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword21)) 90) + (logtest? (-> self control status) 1) + (and (< 0.7 (-> self control surface-angle)) #t) + ) ) - (the-as uint 300) - ) - (< f0-1 0.0) - (< 32768.0 f1-1) - (< 0.7 (-> self control unknown-float20)) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword20)) - 90 - ) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword21)) - 90 - ) - (logtest? (-> self control status) 1) - (and (< 0.7 (-> self control surface-angle)) #t) ) - ) ) - ) ) ;; definition for function target-move-dist @@ -738,118 +593,71 @@ (f30-0 0.0) (gp-0 0) ) - (let* ((v1-0 127) - (a1-6 - (-> - self - control - history-data - (logand (+ (-> self control unknown-halfword00) v1-0) 127) - ) + (let* ((v1-0 127) + (a1-6 (-> self control history-data (logand (+ (-> self control unknown-halfword00) v1-0) 127))) ) - ) - (while - (and - (< (- (-> *display* base-frame-counter) (-> a1-6 time)) arg0) - (> v1-0 0) - ) - (vector+! s5-0 s5-0 (-> a1-6 trans)) - (+! gp-0 1) - (+! v1-0 -1) - (set! - a1-6 - (-> - self - control - history-data - (logand (+ (-> self control unknown-halfword00) v1-0) 127) - ) - ) - ) - ) - (vector-float/! s5-0 s5-0 (the float gp-0)) - (let ((s4-0 (- 128 gp-0))) - (while (< s4-0 128) - (let - ((v1-9 - (-> - self - control - history-data - (logand (+ (-> self control unknown-halfword00) s4-0) 127) - ) + (while (and (< (- (-> *display* base-frame-counter) (-> a1-6 time)) arg0) (> v1-0 0)) + (vector+! s5-0 s5-0 (-> a1-6 trans)) + (+! gp-0 1) + (+! v1-0 -1) + (set! a1-6 (-> self control history-data (logand (+ (-> self control unknown-halfword00) v1-0) 127))) ) - ) - (+! f30-0 (vector-vector-distance s5-0 (-> v1-9 trans))) ) - (+! s4-0 1) - ) + (vector-float/! s5-0 s5-0 (the float gp-0)) + (let ((s4-0 (- 128 gp-0))) + (while (< s4-0 128) + (let ((v1-9 (-> self control history-data (logand (+ (-> self control unknown-halfword00) s4-0) 127)))) + (+! f30-0 (vector-vector-distance s5-0 (-> v1-9 trans))) + ) + (+! s4-0 1) + ) + ) + (/ f30-0 (the float gp-0)) ) - (/ f30-0 (the float gp-0)) - ) ) ;; definition for function turn-to-vector ;; Used lq/sq (defbehavior turn-to-vector target ((arg0 vector) (arg1 float)) (let ((gp-0 (new-stack-vector0))) - (warp-vector-into-surface! gp-0 arg0 (-> self control local-normal)) - (set! (-> self control unknown-float13) (-> self control unknown-float12)) - (set! (-> self control unknown-float11) (-> self control unknown-float10)) - (set! - (-> self control unknown-vector21 quad) - (-> self control unknown-vector20 quad) + (warp-vector-into-surface! gp-0 arg0 (-> self control local-normal)) + (set! (-> self control unknown-float13) (-> self control unknown-float12)) + (set! (-> self control unknown-float11) (-> self control unknown-float10)) + (set! (-> self control unknown-vector21 quad) (-> self control unknown-vector20 quad)) + (set! (-> self control unknown-vector23 quad) (-> self control unknown-vector22 quad)) + (vector-float*! (-> self control unknown-vector22) gp-0 arg1) + (if (< 0.0 arg1) + (warp-vector-into-surface! (-> self control unknown-vector20) arg0 *up-vector*) + ) + (dotimes (v1-15 7) + (set! (-> self control unknown-vector-array00 (+ v1-15 1) quad) + (-> self control unknown-vector-array00 v1-15 quad) + ) + ) + (set! (-> self control unknown-vector-array00 0 quad) + (-> (vector-matrix*! gp-0 gp-0 (-> self control unknown-matrix00)) quad) + ) + (let ((f0-6 (atan (-> gp-0 x) (-> gp-0 z)))) + (set! (-> self control unknown-float12) arg1) + (set! (-> self control unknown-float10) f0-6) + ) + (let ((f0-8 (* arg1 (-> self control unknown-surface01 target-speed)))) + (set! (-> self control unknown-vector01 quad) (-> (vector-normalize! gp-0 f0-8) quad)) + ) ) - (set! - (-> self control unknown-vector23 quad) - (-> self control unknown-vector22 quad) - ) - (vector-float*! (-> self control unknown-vector22) gp-0 arg1) - (if (< 0.0 arg1) - (warp-vector-into-surface! - (-> self control unknown-vector20) - arg0 - *up-vector* - ) - ) - (dotimes (v1-15 7) - (set! - (-> self control unknown-vector-array00 (+ v1-15 1) quad) - (-> self control unknown-vector-array00 v1-15 quad) - ) - ) - (set! - (-> self control unknown-vector-array00 0 quad) - (-> (vector-matrix*! gp-0 gp-0 (-> self control unknown-matrix00)) quad) - ) - (let ((f0-6 (atan (-> gp-0 x) (-> gp-0 z)))) - (set! (-> self control unknown-float12) arg1) - (set! (-> self control unknown-float10) f0-6) - ) - (let ((f0-8 (* arg1 (-> self control unknown-surface01 target-speed)))) - (set! - (-> self control unknown-vector01 quad) - (-> (vector-normalize! gp-0 f0-8) quad) - ) - ) - ) (let ((gp-1 (new-stack-vector0))) - (vector-matrix*! - gp-1 - (-> self control unknown-vector01) - (-> self control unknown-matrix01) + (vector-matrix*! gp-1 (-> self control unknown-vector01) (-> self control unknown-matrix01)) + (vector-float*! gp-1 gp-1 0.5) + (vector+! gp-1 gp-1 (-> self control trans)) + (add-debug-text-sphere + *display-target-marks* + (bucket-id debug-draw1) + gp-1 + 819.2 + "target" + (new 'static 'rgba :r #xff :g #xff :a #x80) + ) ) - (vector-float*! gp-1 gp-1 0.5) - (vector+! gp-1 gp-1 (-> self control trans)) - (add-debug-text-sphere - *display-target-marks* - (bucket-id debug-draw1) - gp-1 - 819.2 - "target" - (new 'static 'rgba :r #xff :g #xff :a #x80) - ) - ) ) ;; definition for function add-thrust @@ -858,285 +666,188 @@ (let ((s5-0 (-> self control unknown-vector01)) (gp-0 (-> self control unknown-vector00)) ) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (set! (-> s4-0 quad) (-> self control unknown-vector01 quad)) - (let* - ((a1-2 - (vector-flatten! - (new 'stack-no-clear 'vector) - (vector-negate! - (new-stack-vector0) - (-> self control dynam gravity-normal) - ) - (-> self control local-normal) - ) - ) - (s1-0 - (vector-matrix*! - (new 'stack-no-clear 'vector) - a1-2 - (-> self control unknown-matrix00) - ) - ) - (s3-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) s1-0 1.0)) - ) - (vector+float*! - s5-0 - s5-0 - s1-0 - (-> self control unknown-surface01 slide-factor) - ) - (let ((s2-1 (-> self control unknown-vector60))) - (when - (not - (or - (= (- 1.0 (-> self control unknown-surface01 slope-up-traction)) 0.0) - (< (vector-length s1-0) 0.1) - ) - ) - (let* - ((s1-1 - (vector-matrix*! - (new 'stack-no-clear 'vector) - s2-1 - (-> self control unknown-matrix00) - ) - ) - (s2-2 (new-stack-vector0)) - (f30-0 (vector-dot s1-1 s5-0)) - ) - 0.0 - (vector-! s2-2 s5-0 (vector-float*! s2-2 s1-1 f30-0)) - (let* ((f0-7 (vector-length s2-2)) - (f1-3 f0-7) - ) - (if (< f30-0 0.0) - (set! - f30-0 - (* f30-0 (-> self control unknown-surface01 slope-up-traction)) - ) - ) - (let - ((f2-3 - (+ f30-0 (-> self control unknown-surface01 slope-down-factor)) - ) - ) - (vector+! - s5-0 - (vector-float*! s5-0 s1-1 f2-3) - (vector-float*! s2-2 s2-2 (/ f0-7 f1-3)) - ) - ) - ) - ) - ) - ) - (let ((t9-8 vector-xz-normalize!) - (a0-13 (new-stack-vector0)) - ) - (set! (-> a0-13 quad) (-> s5-0 quad)) - (let ((v1-31 (t9-8 a0-13 1.0))) - (set! (-> v1-31 y) 0.0) - (let ((f30-1 (vector-dot s3-1 v1-31)) - (f0-11 (vector-xz-length s5-0)) - ) - (if (< 0.0 f30-1) - (vector-xz-normalize! - s5-0 - (+ - f0-11 - (* f30-1 (-> self control unknown-surface01 slope-down-factor)) - ) - ) - (vector-xz-normalize! - s5-0 - (- - f0-11 - (* f30-1 f30-1 (-> self control unknown-surface01 slope-up-factor)) - ) - ) - ) - ) - ) - ) - ) - (let ((t9-12 vector-xz-normalize!) - (a0-17 (new-stack-vector0)) - ) - (set! (-> a0-17 quad) (-> s5-0 quad)) - (let ((s3-2 (t9-12 a0-17 1.0))) - (let ((t9-13 vector-xz-normalize!) - (a0-18 (new-stack-vector0)) - ) - (set! (-> a0-18 quad) (-> gp-0 quad)) - (let ((v1-43 (t9-13 a0-18 1.0))) - (set! (-> s3-2 y) 0.0) - (set! (-> v1-43 y) 0.0) - ) - ) - (let* ((f30-2 (-> s3-2 z)) - (f30-4 (cond - ((>= (vector-xz-length gp-0) (vector-xz-length s5-0)) - (* - (-> self control unknown-surface01 fric) - (fmax - 1.0 - (/ - (vector-xz-length gp-0) - (-> self control unknown-surface01 nonlin-fric-dist) - ) - ) - ) - ) - ((>= f30-2 0.0) - (+ - (* f30-2 (-> self control unknown-surface01 seek0)) - (* - (- 1.0 f30-2) - (-> self control unknown-surface01 seek90) - ) - ) - ) - (else - (+ - (* - (fabs f30-2) - (-> self control unknown-surface01 seek180) - ) - (* - (+ 1.0 f30-2) - (-> self control unknown-surface01 seek90) - ) - ) - ) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (set! (-> s4-0 quad) (-> self control unknown-vector01 quad)) + (let* ((a1-2 (vector-flatten! + (new 'stack-no-clear 'vector) + (vector-negate! (new-stack-vector0) (-> self control dynam gravity-normal)) + (-> self control local-normal) ) - ) + ) + (s1-0 (vector-matrix*! (new 'stack-no-clear 'vector) a1-2 (-> self control unknown-matrix00))) + (s3-1 (vector-normalize-copy! (new 'stack-no-clear 'vector) s1-0 1.0)) ) - (let* ((s2-3 (-> self control unknown-vector61)) - (s3-3 - (vector-matrix*! - (new 'stack-no-clear 'vector) - s2-3 - (-> self control unknown-matrix00) + (vector+float*! s5-0 s5-0 s1-0 (-> self control unknown-surface01 slide-factor)) + (let ((s2-1 (-> self control unknown-vector60))) + (when (not (or (= (- 1.0 (-> self control unknown-surface01 slope-up-traction)) 0.0) (< (vector-length s1-0) 0.1))) + (let* ((s1-1 (vector-matrix*! (new 'stack-no-clear 'vector) s2-1 (-> self control unknown-matrix00))) + (s2-2 (new-stack-vector0)) + (f30-0 (vector-dot s1-1 s5-0)) + ) + 0.0 + (vector-! s2-2 s5-0 (vector-float*! s2-2 s1-1 f30-0)) + (let* ((f0-7 (vector-length s2-2)) + (f1-3 f0-7) + ) + (if (< f30-0 0.0) + (set! f30-0 (* f30-0 (-> self control unknown-surface01 slope-up-traction))) + ) + (let ((f2-3 (+ f30-0 (-> self control unknown-surface01 slope-down-factor)))) + (vector+! s5-0 (vector-float*! s5-0 s1-1 f2-3) (vector-float*! s2-2 s2-2 (/ f0-7 f1-3))) + ) ) - ) ) - (if (< (-> s4-0 x) 0.0) - (set! (-> s3-3 x) (fmax (fmin 0.0 (-> s3-3 x)) (-> s4-0 x))) - (set! (-> s3-3 x) (fmax 0.0 (fmin (-> s3-3 x) (-> s4-0 x)))) - ) - (if (< (-> s4-0 y) 0.0) - (set! (-> s3-3 y) (fmax (fmin 0.0 (-> s3-3 y)) (-> s4-0 y))) - (set! (-> s3-3 y) (fmax 0.0 (fmin (-> s3-3 y) (-> s4-0 y)))) - ) - (if (< (-> s4-0 z) 0.0) - (set! (-> s3-3 z) (fmax (fmin 0.0 (-> s3-3 z)) (-> s4-0 z))) - (set! (-> s3-3 z) (fmax 0.0 (fmin (-> s3-3 z) (-> s4-0 z)))) - ) - (if (< 0.2 (-> self control unknown-float70)) - (vector-seek! s3-3 s4-0 (* 122880.0 (-> *display* seconds-per-frame))) - ) - (vector-matrix*! s2-3 s3-3 (-> self control unknown-matrix01)) - (let ((f28-2 (vector-vector-xz-distance s3-3 s4-0))) - (when - (and - (zero? (logand (-> self control status) 4)) - (< (vector-xz-length gp-0) (vector-xz-length s3-3)) - ) - (let ((f0-50 (lerp-scale 163840.0 0.0 f28-2 0.0 20480.0))) - (if (and (< f28-2 20480.0) (< (-> s4-0 z) 0.0)) - (set! f0-50 (* 2.0 f0-50)) ) - (+! f30-4 f0-50) - ) ) - ) - ) - (if - (and - (zero? (logand (-> self control status) 8)) - (logtest? (-> self control old-status) 8) - (logtest? (-> self control unknown-surface00 flags) 2048) - (< 0.0 (-> gp-0 y)) - (< - 0.0 - (vector-dot - (-> self control dynam gravity-normal) - (vector-! - (new 'stack-no-clear 'vector) - (the-as vector (-> self control unknown-sphere-array00 1 prim-core)) - (-> self control unknown-vector70) + (let ((t9-8 vector-xz-normalize!) + (a0-13 (new-stack-vector0)) + ) + (set! (-> a0-13 quad) (-> s5-0 quad)) + (let ((v1-31 (t9-8 a0-13 1.0))) + (set! (-> v1-31 y) 0.0) + (let ((f30-1 (vector-dot s3-1 v1-31)) + (f0-11 (vector-xz-length s5-0)) + ) + (if (< 0.0 f30-1) + (vector-xz-normalize! s5-0 (+ f0-11 (* f30-1 (-> self control unknown-surface01 slope-down-factor)))) + (vector-xz-normalize! s5-0 (- f0-11 (* f30-1 f30-1 (-> self control unknown-surface01 slope-up-factor)))) + ) + ) ) - ) ) - ) - (set! - (-> self control unknown-dword70) - (-> *display* base-frame-counter) - ) ) - (if - (< - (- (-> *display* base-frame-counter) (-> self control unknown-dword70)) - 60 - ) - (set! f30-4 (+ 204800.0 f30-4)) - ) - (if - (and - (zero? (logand (-> self control status) 8)) - (and - (logtest? (-> self control old-status) 8) - (logtest? (-> self control unknown-surface00 flags) 2048) - (< 0.0 (-> gp-0 y)) - (< (-> gp-0 z) 0.0) + (let ((t9-12 vector-xz-normalize!) + (a0-17 (new-stack-vector0)) + ) + (set! (-> a0-17 quad) (-> s5-0 quad)) + (let ((s3-2 (t9-12 a0-17 1.0))) + (let ((t9-13 vector-xz-normalize!) + (a0-18 (new-stack-vector0)) + ) + (set! (-> a0-18 quad) (-> gp-0 quad)) + (let ((v1-43 (t9-13 a0-18 1.0))) + (set! (-> s3-2 y) 0.0) + (set! (-> v1-43 y) 0.0) + ) + ) + (let* ((f30-2 (-> s3-2 z)) + (f30-4 (cond + ((>= (vector-xz-length gp-0) (vector-xz-length s5-0)) + (* (-> self control unknown-surface01 fric) + (fmax 1.0 (/ (vector-xz-length gp-0) (-> self control unknown-surface01 nonlin-fric-dist))) + ) + ) + ((>= f30-2 0.0) + (+ (* f30-2 (-> self control unknown-surface01 seek0)) + (* (- 1.0 f30-2) (-> self control unknown-surface01 seek90)) + ) + ) + (else + (+ (* (fabs f30-2) (-> self control unknown-surface01 seek180)) + (* (+ 1.0 f30-2) (-> self control unknown-surface01 seek90)) + ) + ) + ) + ) + ) + (let* ((s2-3 (-> self control unknown-vector61)) + (s3-3 (vector-matrix*! (new 'stack-no-clear 'vector) s2-3 (-> self control unknown-matrix00))) + ) + (if (< (-> s4-0 x) 0.0) + (set! (-> s3-3 x) (fmax (fmin 0.0 (-> s3-3 x)) (-> s4-0 x))) + (set! (-> s3-3 x) (fmax 0.0 (fmin (-> s3-3 x) (-> s4-0 x)))) + ) + (if (< (-> s4-0 y) 0.0) + (set! (-> s3-3 y) (fmax (fmin 0.0 (-> s3-3 y)) (-> s4-0 y))) + (set! (-> s3-3 y) (fmax 0.0 (fmin (-> s3-3 y) (-> s4-0 y)))) + ) + (if (< (-> s4-0 z) 0.0) + (set! (-> s3-3 z) (fmax (fmin 0.0 (-> s3-3 z)) (-> s4-0 z))) + (set! (-> s3-3 z) (fmax 0.0 (fmin (-> s3-3 z) (-> s4-0 z)))) + ) + (if (< 0.2 (-> self control unknown-float70)) + (vector-seek! s3-3 s4-0 (* 122880.0 (-> *display* seconds-per-frame))) + ) + (vector-matrix*! s2-3 s3-3 (-> self control unknown-matrix01)) + (let ((f28-2 (vector-vector-xz-distance s3-3 s4-0))) + (when (and (zero? (logand (-> self control status) 4)) (< (vector-xz-length gp-0) (vector-xz-length s3-3))) + (let ((f0-50 (lerp-scale 163840.0 0.0 f28-2 0.0 20480.0))) + (if (and (< f28-2 20480.0) (< (-> s4-0 z) 0.0)) + (set! f0-50 (* 2.0 f0-50)) + ) + (+! f30-4 f0-50) + ) + ) + ) + ) + (if (and + (zero? (logand (-> self control status) 8)) + (logtest? (-> self control old-status) 8) + (logtest? (-> self control unknown-surface00 flags) 2048) + (< 0.0 (-> gp-0 y)) + (< 0.0 (vector-dot + (-> self control dynam gravity-normal) + (vector-! + (new 'stack-no-clear 'vector) + (the-as vector (-> self control unknown-sphere-array00 1 prim-core)) + (-> self control unknown-vector70) + ) + ) + ) + ) + (set! (-> self control unknown-dword70) (-> *display* base-frame-counter)) + ) + (if (< (- (-> *display* base-frame-counter) (-> self control unknown-dword70)) 60) + (set! f30-4 (+ 204800.0 f30-4)) + ) + (if (and (zero? (logand (-> self control status) 8)) (and + (logtest? (-> self control old-status) 8) + (logtest? (-> self control unknown-surface00 flags) 2048) + (< 0.0 (-> gp-0 y)) + (< (-> gp-0 z) 0.0) + ) + ) + (set! (-> gp-0 z) 0.0) + ) + (let ((s4-2 (vector-! (new-stack-vector0) s5-0 gp-0))) + (let ((f30-5 (* f30-4 (-> *display* seconds-per-frame)))) + (set! (-> s4-2 y) 0.0) + (if (< f30-5 (vector-xz-length s4-2)) + (vector-xz-normalize! s4-2 f30-5) + ) + ) + (vector+! gp-0 gp-0 s4-2) + ) + ) ) - ) - (set! (-> gp-0 z) 0.0) ) - (let ((s4-2 (vector-! (new-stack-vector0) s5-0 gp-0))) - (let ((f30-5 (* f30-4 (-> *display* seconds-per-frame)))) - (set! (-> s4-2 y) 0.0) - (if (< f30-5 (vector-xz-length s4-2)) - (vector-xz-normalize! s4-2 f30-5) - ) - ) - (vector+! gp-0 gp-0 s4-2) - ) - ) ) - ) + (set! (-> self control unknown-float02) (vector-length gp-0)) ) - (set! (-> self control unknown-float02) (vector-length gp-0)) - ) (let ((gp-1 (new-stack-vector0))) - (vector-matrix*! - gp-1 - (-> self control unknown-vector00) - (-> self control unknown-matrix01) + (vector-matrix*! gp-1 (-> self control unknown-vector00) (-> self control unknown-matrix01)) + (vector-float*! gp-1 gp-1 0.5) + (vector+! gp-1 gp-1 (-> self control trans)) + (add-debug-text-sphere + *display-target-marks* + (bucket-id debug-draw1) + gp-1 + 819.2 + "ltransv" + (new 'static 'rgba :g #xff :a #x80) + ) + (set! (-> gp-1 quad) (-> self control unknown-vector61 quad)) + (vector-float*! gp-1 gp-1 0.5) + (vector+! gp-1 gp-1 (-> self control trans)) + (add-debug-text-sphere + *display-target-marks* + (bucket-id debug-draw1) + gp-1 + 819.2 + "btransv" + (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + ) ) - (vector-float*! gp-1 gp-1 0.5) - (vector+! gp-1 gp-1 (-> self control trans)) - (add-debug-text-sphere - *display-target-marks* - (bucket-id debug-draw1) - gp-1 - 819.2 - "ltransv" - (new 'static 'rgba :g #xff :a #x80) - ) - (set! (-> gp-1 quad) (-> self control unknown-vector61 quad)) - (vector-float*! gp-1 gp-1 0.5) - (vector+! gp-1 gp-1 (-> self control trans)) - (add-debug-text-sphere - *display-target-marks* - (bucket-id debug-draw1) - gp-1 - 819.2 - "btransv" - (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) - ) - ) ) ;; definition for function add-gravity @@ -1145,200 +856,149 @@ (let ((s5-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) ) - (dummy-62 - (-> self control) - s5-0 - (-> self control unknown-surface01 slip-factor) + (dummy-62 (-> self control) s5-0 (-> self control unknown-surface01 slip-factor)) + (vector-matrix*! gp-0 s5-0 (-> self control unknown-matrix00)) + (vector-v++! (-> self control unknown-vector00) gp-0) ) - (vector-matrix*! gp-0 s5-0 (-> self control unknown-matrix00)) - (vector-v++! (-> self control unknown-vector00) gp-0) - ) - (let* - ((s5-1 - (vector-matrix*! - (new-stack-vector0) - (-> self control dynam gravity-normal) - (-> self control unknown-matrix00) - ) - ) - (gp-1 (new-stack-vector0)) - (f30-0 (vector-dot s5-1 (-> self control unknown-vector00))) - ) - 0.0 - (vector-! - gp-1 - (-> self control unknown-vector00) - (vector-float*! gp-1 s5-1 f30-0) - ) - (let* ((f0-4 (vector-length gp-1)) - (f1-0 f0-4) + (let* ((s5-1 (vector-matrix*! + (new-stack-vector0) + (-> self control dynam gravity-normal) + (-> self control unknown-matrix00) + ) + ) + (gp-1 (new-stack-vector0)) + (f30-0 (vector-dot s5-1 (-> self control unknown-vector00))) + ) + 0.0 + (vector-! gp-1 (-> self control unknown-vector00) (vector-float*! gp-1 s5-1 f30-0)) + (let* ((f0-4 (vector-length gp-1)) + (f1-0 f0-4) + ) + (if (< f0-4 0.00004096) + (set! f0-4 0.0) ) - (if (< f0-4 0.00004096) - (set! f0-4 0.0) - ) - (if (< f30-0 (- (-> self control dynam gravity-max))) - (set! f30-0 (- (-> self control dynam gravity-max))) - ) - (vector+! - (-> self control unknown-vector00) - (vector-float*! (-> self control unknown-vector00) s5-1 f30-0) - (vector-float*! gp-1 gp-1 (/ f0-4 f1-0)) - ) + (if (< f30-0 (- (-> self control dynam gravity-max))) + (set! f30-0 (- (-> self control dynam gravity-max))) + ) + (vector+! + (-> self control unknown-vector00) + (vector-float*! (-> self control unknown-vector00) s5-1 f30-0) + (vector-float*! gp-1 gp-1 (/ f0-4 f1-0)) + ) + ) ) - ) ) ;; definition for function target-compute-slopes ;; Used lq/sq (defbehavior target-compute-slopes target ((arg0 vector)) (let ((gp-0 (new-stack-vector0))) - (let ((a1-0 (new-stack-vector0)) - (s5-0 (new 'stack-no-clear 'matrix)) - ) - (set! (-> a1-0 quad) (-> self control unknown-matrix01 vector 2 quad)) - (forward-up-nopitch->inv-matrix s5-0 a1-0 arg0) - (set-vector! gp-0 0.0 0.0 1.0 1.0) - (vector-matrix*! gp-0 gp-0 s5-0) - (set! - (-> self control unknown-float63) - (- (vector-dot (-> self control surface-normal) gp-0)) - ) - (set! - (-> self control unknown-float61) - (- (vector-dot (-> self control local-normal) gp-0)) - ) - (set-vector! gp-0 1.0 0.0 0.0 1.0) - (vector-matrix*! gp-0 gp-0 s5-0) + (let ((a1-0 (new-stack-vector0)) + (s5-0 (new 'stack-no-clear 'matrix)) + ) + (set! (-> a1-0 quad) (-> self control unknown-matrix01 vector 2 quad)) + (forward-up-nopitch->inv-matrix s5-0 a1-0 arg0) + (set-vector! gp-0 0.0 0.0 1.0 1.0) + (vector-matrix*! gp-0 gp-0 s5-0) + (set! (-> self control unknown-float63) (- (vector-dot (-> self control surface-normal) gp-0))) + (set! (-> self control unknown-float61) (- (vector-dot (-> self control local-normal) gp-0))) + (set-vector! gp-0 1.0 0.0 0.0 1.0) + (vector-matrix*! gp-0 gp-0 s5-0) + ) + (set! (-> self control unknown-float64) (- (vector-dot (-> self control surface-normal) gp-0))) + (set! (-> self control unknown-float62) (- (vector-dot (-> self control local-normal) gp-0))) ) - (set! - (-> self control unknown-float64) - (- (vector-dot (-> self control surface-normal) gp-0)) - ) - (set! - (-> self control unknown-float62) - (- (vector-dot (-> self control local-normal) gp-0)) - ) - ) 0 ) ;; definition for function do-rotations1 (defbehavior do-rotations1 target () (rotate-toward-orientation! - (-> self control) - (-> self control dir-targ) - 0.0 - (-> self control unknown-surface01 tiltv) - ) + (-> self control) + (-> self control dir-targ) + 0.0 + (-> self control unknown-surface01 tiltv) + ) ) ;; definition for function do-rotations2 ;; Used lq/sq (defbehavior do-rotations2 target () - (let - ((gp-0 (vector-z-quaternion! (new-stack-vector0) (-> self control dir-targ))) - (s5-0 - (if - (and - (or - (zero? - (logand - (logior (-> self control status) (-> self control old-status)) - 5 + (let ((gp-0 (vector-z-quaternion! (new-stack-vector0) (-> self control dir-targ))) + (s5-0 + (if (and + (or + (zero? (logand (logior (-> self control status) (-> self control old-status)) 5)) + (< (- (-> *display* base-frame-counter) (-> self control unknown-dword20)) 150) + (!= (-> self next-state name) 'target-walk) + (< (- (-> *display* base-frame-counter) (-> self state-time)) 150) + (< (- (-> *display* base-frame-counter) (-> self control unknown-dword21)) 150) + (logtest? (-> self control unknown-surface01 flags) 16) + (!= (-> self control unknown-float41) 0.0) + ) + (zero? (logand (-> self control unknown-surface01 flags) 32)) + ) + (-> self control unknown-vector20) + (-> self control transv) + ) ) - ) - (< - (- (-> *display* base-frame-counter) (-> self control unknown-dword20)) - 150 - ) - (!= (-> self next-state name) 'target-walk) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 150) - (< - (- (-> *display* base-frame-counter) (-> self control unknown-dword21)) - 150 - ) - (logtest? (-> self control unknown-surface01 flags) 16) - (!= (-> self control unknown-float41) 0.0) ) - (zero? (logand (-> self control unknown-surface01 flags) 32)) - ) - (-> self control unknown-vector20) - (-> self control transv) - ) - ) - ) - (let* ((s3-0 (-> self control unknown-vector02)) - (s4-0 - (forward-up-nopitch->quaternion (new-stack-quaternion0) gp-0 s3-0) + (let* ((s3-0 (-> self control unknown-vector02)) + (s4-0 (forward-up-nopitch->quaternion (new-stack-quaternion0) gp-0 s3-0)) + (s3-1 (forward-up-nopitch->quaternion (new-stack-quaternion0) s5-0 s3-0)) + (f0-2 (acos (vector-dot gp-0 s5-0))) + (f1-2 (* (-> self control unknown-surface01 turnvv) (-> *display* seconds-per-frame))) ) - (s3-1 - (forward-up-nopitch->quaternion (new-stack-quaternion0) s5-0 s3-0) - ) - (f0-2 (acos (vector-dot gp-0 s5-0))) - (f1-2 - (* - (-> self control unknown-surface01 turnvv) - (-> *display* seconds-per-frame) - ) - ) - ) - (quaternion-slerp! (-> self control dir-targ) s4-0 s3-1 (cond - ((>= - 0.0 - (-> - self - control - unknown-float12 + (quaternion-slerp! (-> self control dir-targ) s4-0 s3-1 (cond + ((>= 0.0 (-> self control unknown-float12)) + 0.0 + ) + ((< f0-2 f1-2) + 1.0 + ) + (else + (/ f1-2 f0-2) + ) ) - ) - 0.0 - ) - ((< f0-2 f1-2) - 1.0 - ) - (else - (/ f1-2 f0-2) - ) - ) - ) + ) + ) + (add-debug-vector + *display-target-marks* + (bucket-id debug-draw1) + (-> self control trans) + gp-0 + (meters 2.0) + (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + ) + (add-debug-vector + *display-target-marks* + (bucket-id debug-draw1) + (-> self control trans) + s5-0 + (meters 2.0) + (new 'static 'rgba :r #xff :a #x80) + ) ) - (add-debug-vector - *display-target-marks* - (bucket-id debug-draw1) - (-> self control trans) - gp-0 - (meters 2.0) - (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) - ) - (add-debug-vector - *display-target-marks* - (bucket-id debug-draw1) - (-> self control trans) - s5-0 - (meters 2.0) - (new 'static 'rgba :r #xff :a #x80) - ) - ) (add-debug-vector - *display-target-marks* - (bucket-id debug-draw1) - (-> self control trans) - (-> self control unknown-matrix01 vector 2) - (meters 2.0) - (new 'static 'rgba :r #xff :b #xff :a #x80) - ) + *display-target-marks* + (bucket-id debug-draw1) + (-> self control trans) + (-> self control unknown-matrix01 vector 2) + (meters 2.0) + (new 'static 'rgba :r #xff :b #xff :a #x80) + ) (rotate-toward-orientation! - (-> self control) - (-> self control dir-targ) - (-> self control unknown-surface01 turnv) - 0.0 - ) + (-> self control) + (-> self control dir-targ) + (-> self control unknown-surface01 turnv) + 0.0 + ) (quaternion-slerp! - (-> self control quat) - (-> self control unknown-quaternion00) - (-> self control unknown-quaternion01) - (-> self control unknown-float00) - ) + (-> self control quat) + (-> self control unknown-quaternion00) + (-> self control unknown-quaternion01) + (-> self control unknown-float00) + ) (target-compute-slopes (-> self control dynam gravity-normal)) ) @@ -1346,29 +1006,17 @@ ;; INFO: Return type mismatch int vs none. (defbehavior level-setup target () (let ((gp-0 (-> self current-level))) - (set! (-> self current-level) (level-get-target-inside *level*)) - (if - (and - (-> self current-level) - (>= (-> *level-task-data-remap* length) (-> self current-level info index)) - ) - (+! - (-> - *game-info* - in-level-time - (-> *level-task-data-remap* (+ (-> self current-level info index) -1)) - ) - (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter)) - ) + (set! (-> self current-level) (level-get-target-inside *level*)) + (if (and (-> self current-level) (>= (-> *level-task-data-remap* length) (-> self current-level info index))) + (+! + (-> *game-info* in-level-time (-> *level-task-data-remap* (+ (-> self current-level info index) -1))) + (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter)) + ) + ) + (if (and (or (not gp-0) (!= (-> gp-0 name) (-> self current-level name))) (-> self current-level)) + (send-event self 'level-enter (-> self current-level name)) + ) ) - (if - (and - (or (not gp-0) (!= (-> gp-0 name) (-> self current-level name))) - (-> self current-level) - ) - (send-event self 'level-enter (-> self current-level name)) - ) - ) 0 (none) ) @@ -1381,264 +1029,166 @@ (set! (-> self control unknown-vector10 quad) (-> self control transv quad)) ((-> self control unknown-surface01 active-hook)) (cond - ((logtest? (-> self control status) 1) - (set! (-> self control unknown-dword11) (-> *display* base-frame-counter)) - (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) - (if - (and - (>= (-> self control coverage) 1.0) - (zero? (logand (-> self control status) 1056)) - (logtest? (-> self control status) 2) - ) - (set! (-> self control unknown-vector54 quad) (-> self control trans quad)) - ) - ((-> self control unknown-surface01 touch-hook)) - ) - (else - (let ((v1-25 (-> self control trans))) - (when (logtest? (-> self control old-status) 1) - (set! - (-> self control unknown-vector110 quad) - (-> self control unknown-vector52 quad) - ) - (set! - (-> self control unknown-vector111 quad) - (-> self control unknown-vector52 quad) - ) - ) - (set! (-> self control unknown-vector111 x) (-> v1-25 x)) - (set! (-> self control unknown-vector111 z) (-> v1-25 z)) - (if - (< - (vector-dot - (-> self control dynam gravity-normal) - (vector-! - (new 'stack-no-clear 'vector) - (-> self control unknown-vector111) - v1-25 + ((logtest? (-> self control status) 1) + (set! (-> self control unknown-dword11) (-> *display* base-frame-counter)) + (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) + (if (and + (>= (-> self control coverage) 1.0) + (zero? (logand (-> self control status) 1056)) + (logtest? (-> self control status) 2) + ) + (set! (-> self control unknown-vector54 quad) (-> self control trans quad)) ) - ) - 0.0 - ) - (set! (-> self control unknown-vector111 y) (-> v1-25 y)) - ) + ((-> self control unknown-surface01 touch-hook)) ) - ) - ) - (when - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons triangle) - ) - (zero? (-> self control unknown-int40)) - (zero? (logand (-> *kernel-context* prevent-from-run) (process-mask movie))) - ) - (if - (and - (= (-> self cam-user-mode) 'normal) - (logtest? (-> self control unknown-surface00 flags) 1) - (zero? (logand (-> self control root-prim prim-core action) #x7380)) - (-> *setting-control* current allow-look-around) - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self no-look-around-wait)) - ) - 15 - ) - (not - (and - (= (-> self control ground-pat material) (pat-material ice)) - (< 4096.0 (-> self control unknown-float01)) - ) - ) - ) - (send-event self 'change-mode 'look-around) - ) - ) - (when - (and - (= *cheat-mode* 'debug) - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons r2) - ) - (not *pause-lock*) - (zero? (logand (-> self state-flags) 768)) - ) - (if (!= (-> self next-state name) 'target-falling) - (send-event self 'change-mode 'falling) - ) - (let ((gp-0 (new-stack-vector0))) - (let - ((f0-8 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - ) - 0.0 - (vector-! - gp-0 - (-> self control transv) - (vector-float*! gp-0 (-> self control dynam gravity-normal) f0-8) - ) - ) - (let* ((f0-9 (vector-length gp-0)) - (f1-4 f0-9) - (f2-0 0.0) - ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-0 - ) - (vector-float*! gp-0 gp-0 (/ f0-9 f1-4)) - ) - ) - ) - (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self control trans quad)) - (let ((s5-0 (new-stack-vector0)) - (f30-0 (vector-dot (-> self control dynam gravity-normal) gp-1)) + (else + (let ((v1-25 (-> self control trans))) + (when (logtest? (-> self control old-status) 1) + (set! (-> self control unknown-vector110 quad) (-> self control unknown-vector52 quad)) + (set! (-> self control unknown-vector111 quad) (-> self control unknown-vector52 quad)) ) - 0.0 - (vector-! - s5-0 - gp-1 - (vector-float*! s5-0 (-> self control dynam gravity-normal) f30-0) - ) - (let* ((f0-14 (vector-length s5-0)) - (f1-5 f0-14) - (f2-2 (+ 512.0 f30-0)) + (set! (-> self control unknown-vector111 x) (-> v1-25 x)) + (set! (-> self control unknown-vector111 z) (-> v1-25 z)) + (if (< (vector-dot + (-> self control dynam gravity-normal) + (vector-! (new 'stack-no-clear 'vector) (-> self control unknown-vector111) v1-25) + ) + 0.0 + ) + (set! (-> self control unknown-vector111 y) (-> v1-25 y)) ) - (vector+! - gp-1 - (vector-float*! gp-1 (-> self control dynam gravity-normal) f2-2) - (vector-float*! s5-0 s5-0 (/ f0-14 f1-5)) - ) + ) ) - ) - (TODO-RENAME-30 (-> self control) gp-1) ) - (send-event *camera* 'reset-follow) - (set! (-> self control surf) *standard-ground-surface*) - ) - (let - ((f0-17 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - ) - (if - (and - (or - (logtest? (-> self control unknown-surface01 flags) 1024) - (and - (= (-> self next-state name) 'target-walk) - (zero? (logand (-> self control status) 1)) - ) - ) - (< f0-17 0.0) - (or - (not - (and - (= *cheat-mode* 'debug) - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 + (when (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons triangle) + ) + (zero? (-> self control unknown-int40)) + (zero? (logand (-> *kernel-context* prevent-from-run) (process-mask movie))) ) - (pad-buttons r2) - ) + (if (and + (= (-> self cam-user-mode) 'normal) + (logtest? (-> self control unknown-surface00 flags) 1) + (zero? (logand (-> self control root-prim prim-core action) #x7380)) + (-> *setting-control* current allow-look-around) + (>= (- (-> *display* base-frame-counter) (the-as int (-> self no-look-around-wait))) 15) + (not (and + (= (-> self control ground-pat material) (pat-material ice)) + (< 4096.0 (-> self control unknown-float01)) + ) + ) + ) + (send-event self 'change-mode 'look-around) + ) + ) + (when (and + (= *cheat-mode* 'debug) + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons r2)) + (not *pause-lock*) + (zero? (logand (-> self state-flags) 768)) + ) + (if (!= (-> self next-state name) 'target-falling) + (send-event self 'change-mode 'falling) + ) + (let ((gp-0 (new-stack-vector0))) + (let ((f0-8 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! gp-0 (-> self control transv) (vector-float*! gp-0 (-> self control dynam gravity-normal) f0-8)) + ) + (let* ((f0-9 (vector-length gp-0)) + (f1-4 f0-9) + (f2-0 0.0) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-0) + (vector-float*! gp-0 gp-0 (/ f0-9 f1-4)) + ) + ) + ) + (let ((gp-1 (new 'stack-no-clear 'vector))) + (set! (-> gp-1 quad) (-> self control trans quad)) + (let ((s5-0 (new-stack-vector0)) + (f30-0 (vector-dot (-> self control dynam gravity-normal) gp-1)) + ) + 0.0 + (vector-! s5-0 gp-1 (vector-float*! s5-0 (-> self control dynam gravity-normal) f30-0)) + (let* ((f0-14 (vector-length s5-0)) + (f1-5 f0-14) + (f2-2 (+ 512.0 f30-0)) + ) + (vector+! + gp-1 + (vector-float*! gp-1 (-> self control dynam gravity-normal) f2-2) + (vector-float*! s5-0 s5-0 (/ f0-14 f1-5)) + ) + ) + ) + (TODO-RENAME-30 (-> self control) gp-1) + ) + (send-event *camera* 'reset-follow) + (set! (-> self control surf) *standard-ground-surface*) + ) + (let ((f0-17 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + (if (and + (or + (logtest? (-> self control unknown-surface01 flags) 1024) + (and (= (-> self next-state name) 'target-walk) (zero? (logand (-> self control status) 1))) + ) + (< f0-17 0.0) + (or + (not + (and + (= *cheat-mode* 'debug) + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons r2)) + ) + ) + *pause-lock* + ) + (and + (>= (vector-dot + (-> self control dynam gravity-normal) + (vector-! (new 'stack-no-clear 'vector) (-> self control trans) (-> self control shadow-pos)) + ) + 9420.8 + ) + (zero? (logand (-> self control root-prim prim-core action) #x4200)) + #t + ) + ) + (logior! (-> self control root-prim prim-core action) 64) + (set! (-> self control root-prim prim-core action) (logand -65 (-> self control root-prim prim-core action))) ) - ) - *pause-lock* - ) - (and - (>= - (vector-dot - (-> self control dynam gravity-normal) - (vector-! - (new 'stack-no-clear 'vector) - (-> self control trans) - (-> self control shadow-pos) - ) - ) - 9420.8 - ) - (zero? (logand (-> self control root-prim prim-core action) #x4200)) - #t - ) - ) - (logior! (-> self control root-prim prim-core action) 64) - (set! - (-> self control root-prim prim-core action) - (logand -65 (-> self control root-prim prim-core action)) - ) ) - ) (let ((v1-146 (-> self current-level))) - (when - (and - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - 600 - ) - (and - v1-146 - (< (-> self control trans y) (-> v1-146 info bottom-height)) - (not - (and - (= *cheat-mode* 'debug) - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 + (when (and + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) 600) + (and + v1-146 + (< (-> self control trans y) (-> v1-146 info bottom-height)) + (not + (and + (= *cheat-mode* 'debug) + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons r2)) + ) + ) + ) + ) + (let ((a1-32 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-32 from) self) + (set! (-> a1-32 num-params) 2) + (set! (-> a1-32 message) 'attack-invinc) + (set! (-> a1-32 param 0) (the-as uint #f)) + (let ((a0-102 (new 'static 'attack-info :mask #x20))) + (set! (-> a0-102 mode) 'endlessfall) + (set! (-> a1-32 param 1) (the-as uint a0-102)) ) - (pad-buttons r2) - ) + (send-event-function self a1-32) ) - ) ) - ) - (let ((a1-32 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-32 from) self) - (set! (-> a1-32 num-params) 2) - (set! (-> a1-32 message) 'attack-invinc) - (set! (-> a1-32 param 0) (the-as uint #f)) - (let ((a0-102 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-102 mode) 'endlessfall) - (set! (-> a1-32 param 1) (the-as uint a0-102)) - ) - (send-event-function self a1-32) - ) ) - ) 0 (none) ) @@ -1647,28 +1197,17 @@ ;; INFO: Return type mismatch int vs none. (defbehavior post-flag-setup target () (if (logtest? (-> self control status) 40) - (set! (-> self control unknown-dword20) (-> *display* base-frame-counter)) - ) - (when (logtest? (-> self state-flags) 32) - (if - (< - (logand - (- (-> *display* base-frame-counter) (-> self control unknown-dword80)) - 3 + (set! (-> self control unknown-dword20) (-> *display* base-frame-counter)) ) - 1 - ) - (logior! (-> self draw status) 2) - (set! (-> self draw status) (logand -3 (-> self draw status))) + (when (logtest? (-> self state-flags) 32) + (if (< (logand (- (-> *display* base-frame-counter) (-> self control unknown-dword80)) 3) 1) + (logior! (-> self draw status) 2) + (set! (-> self draw status) (logand -3 (-> self draw status))) + ) + (if (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword80)) (-> self control unknown-dword81)) + (target-timed-invulnerable-off self) + ) ) - (if - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword80)) - (-> self control unknown-dword81) - ) - (target-timed-invulnerable-off self) - ) - ) (set! (-> self control unknown-symbol40) #f) 0 (none) @@ -1677,207 +1216,138 @@ ;; definition for function bend-gravity ;; Used lq/sq (defbehavior bend-gravity target () - (set! - (-> self control unknown-float82) - (if (logtest? (-> self control status) 1) - 32.0 - 2.0 + (set! (-> self control unknown-float82) (if (logtest? (-> self control status) 1) + 32.0 + 2.0 + ) + ) + (let ((f0-2 (if (and (logtest? (-> self control status) 8) (zero? (logand (-> self control status) 1))) + 0.0 + (-> self control unknown-float81) + ) + ) + ) + (set! (-> self control unknown-float80) + (seek + (-> self control unknown-float80) + f0-2 + (* (-> self control unknown-float82) (-> *display* seconds-per-frame)) + ) + ) ) - ) - (let - ((f0-2 - (if - (and - (logtest? (-> self control status) 8) - (zero? (logand (-> self control status) 1)) - ) - 0.0 - (-> self control unknown-float81) - ) - ) - ) - (set! + (vector-deg-slerp + (-> self control dynam gravity-normal) + (-> self control unknown-dynamics00 gravity-normal) + (-> self control ground-poly-normal) (-> self control unknown-float80) - (seek - (-> self control unknown-float80) - f0-2 - (* (-> self control unknown-float82) (-> *display* seconds-per-frame)) - ) ) - ) - (vector-deg-slerp - (-> self control dynam gravity-normal) - (-> self control unknown-dynamics00 gravity-normal) - (-> self control ground-poly-normal) - (-> self control unknown-float80) - ) (vector-float*! - (-> self control dynam gravity) - (-> self control dynam gravity-normal) - (the-as float (-> self control dynam gravity-length)) - ) - (set! - (-> self control dynam gravity-normal quad) - (-> self control unknown-dynamics00 gravity-normal quad) - ) + (-> self control dynam gravity) + (-> self control dynam gravity-normal) + (the-as float (-> self control dynam gravity-length)) + ) + (set! (-> self control dynam gravity-normal quad) (-> self control unknown-dynamics00 gravity-normal quad)) (vector-float*! - (-> self control dynam gravity) - (-> self control dynam gravity-normal) - (the-as float (-> self control dynam gravity-length)) - ) + (-> self control dynam gravity) + (-> self control dynam gravity-normal) + (the-as float (-> self control dynam gravity-length)) + ) (vector-deg-slerp - (-> self control unknown-vector02) - (-> self control unknown-dynamics00 gravity-normal) - (-> self control ground-poly-normal) - (-> self control unknown-float80) - ) + (-> self control unknown-vector02) + (-> self control unknown-dynamics00 gravity-normal) + (-> self control ground-poly-normal) + (-> self control unknown-float80) + ) (add-debug-vector - *display-target-marks* - (bucket-id debug-draw1) - (-> self control trans) - (-> self control ground-poly-normal) - (meters 2.0) - (new 'static 'rgba :b #xff :a #x80) - ) + *display-target-marks* + (bucket-id debug-draw1) + (-> self control trans) + (-> self control ground-poly-normal) + (meters 2.0) + (new 'static 'rgba :b #xff :a #x80) + ) (add-debug-vector - *display-target-marks* - (bucket-id debug-draw1) - (-> self control trans) - (-> self control local-normal) - (meters 2.0) - (new 'static 'rgba :b #xff :a #x80) - ) + *display-target-marks* + (bucket-id debug-draw1) + (-> self control trans) + (-> self control local-normal) + (meters 2.0) + (new 'static 'rgba :b #xff :a #x80) + ) (add-debug-vector - *display-target-marks* - (bucket-id debug-draw1) - (-> self control trans) - (-> self control unknown-dynamics00 gravity-normal) - (meters 2.5) - (new 'static 'rgba :r #xff :a #x80) - ) + *display-target-marks* + (bucket-id debug-draw1) + (-> self control trans) + (-> self control unknown-dynamics00 gravity-normal) + (meters 2.5) + (new 'static 'rgba :r #xff :a #x80) + ) (add-debug-vector - *display-target-marks* - (bucket-id debug-draw1) - (-> self control trans) - (-> self control dynam gravity-normal) - (meters 3.0) - (new 'static 'rgba :r #xff :b #xff :a #x80) - ) + *display-target-marks* + (bucket-id debug-draw1) + (-> self control trans) + (-> self control dynam gravity-normal) + (meters 3.0) + (new 'static 'rgba :r #xff :b #xff :a #x80) + ) ) ;; definition for function target-compute-edge ;; Used lq/sq (defbehavior target-compute-edge target () (let ((s5-0 *edge-grab-info*)) - (if (not (dummy-9 s5-0)) - (send-event self 'end-mode) - ) - (if *display-edge-collision-marks* - (dummy-10 s5-0) - ) - (set! - (-> self control ground-pat) - (the-as pat-surface (-> s5-0 edge-tri-pat)) - ) - (vector-normalize! - (vector-! - (-> self control unknown-vector100) - (the-as vector (-> s5-0 world-vertex)) - (-> s5-0 world-vertex 1) - ) - 1.0 - ) - (let - ((gp-1 - (vector-cross! - (-> self control unknown-vector101) - (-> self control unknown-vector100) - (-> self control dynam gravity-normal) - ) - ) - ) - (let - ((s4-1 - (vector-! - (new-stack-vector0) - (-> s5-0 center-hold) - (-> self control unknown-vector90) - ) - ) - ) - (set! (-> self control unknown-float110) (vector-length s4-1)) - (cond - ((and - (< 819.2 (-> self control unknown-float110)) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword40)) - 60 - ) - ) - (vector-normalize! s4-1 1228.8) - (TODO-RENAME-28 (-> self control) s4-1) - (vector-float*! - (-> self control rider-last-move) - s4-1 - (-> *display* frames-per-second) - ) - (set! - (-> self control rider-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (if - (and - (>= - (- - (-> *display* base-frame-counter) - (-> self control unknown-dword41) - ) - 150 - ) - (>= - (- - (-> *display* base-frame-counter) - (-> self control unknown-dword40) - ) - 150 - ) - ) + (if (not (dummy-9 s5-0)) (send-event self 'end-mode) ) - ) - (else - (let ((a1-6 (new 'stack-no-clear 'vector))) - (vector-! a1-6 (-> s5-0 center-hold) (-> self control unknown-vector91)) - (vector-float*! - (-> self control rider-last-move) - s4-1 - (-> *display* frames-per-second) - ) - (set! - (-> self control rider-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (TODO-RENAME-30 (-> self control) a1-6) + (if *display-edge-collision-marks* + (dummy-10 s5-0) ) - (set! (-> self control unknown-float110) 0.0) - (set! - (-> self control unknown-vector52 quad) - (-> self control trans quad) - ) - (set! - (-> self control unknown-dword40) - (-> *display* base-frame-counter) - ) - ) + (set! (-> self control ground-pat) (the-as pat-surface (-> s5-0 edge-tri-pat))) + (vector-normalize! + (vector-! (-> self control unknown-vector100) (the-as vector (-> s5-0 world-vertex)) (-> s5-0 world-vertex 1)) + 1.0 + ) + (let ((gp-1 (vector-cross! + (-> self control unknown-vector101) + (-> self control unknown-vector100) + (-> self control dynam gravity-normal) + ) + ) + ) + (let ((s4-1 (vector-! (new-stack-vector0) (-> s5-0 center-hold) (-> self control unknown-vector90)))) + (set! (-> self control unknown-float110) (vector-length s4-1)) + (cond + ((and + (< 819.2 (-> self control unknown-float110)) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword40)) 60) + ) + (vector-normalize! s4-1 1228.8) + (TODO-RENAME-28 (-> self control) s4-1) + (vector-float*! (-> self control rider-last-move) s4-1 (-> *display* frames-per-second)) + (set! (-> self control rider-time) (the-as uint (-> *display* base-frame-counter))) + (if (and + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword41)) 150) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword40)) 150) + ) + (send-event self 'end-mode) + ) + ) + (else + (let ((a1-6 (new 'stack-no-clear 'vector))) + (vector-! a1-6 (-> s5-0 center-hold) (-> self control unknown-vector91)) + (vector-float*! (-> self control rider-last-move) s4-1 (-> *display* frames-per-second)) + (set! (-> self control rider-time) (the-as uint (-> *display* base-frame-counter))) + (TODO-RENAME-30 (-> self control) a1-6) + ) + (set! (-> self control unknown-float110) 0.0) + (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) + (set! (-> self control unknown-dword40) (-> *display* base-frame-counter)) + ) + ) + ) + (forward-up-nopitch->quaternion (-> self control dir-targ) gp-1 (-> self control dynam gravity-normal)) ) - ) - (forward-up-nopitch->quaternion - (-> self control dir-targ) - gp-1 - (-> self control dynam gravity-normal) - ) ) - ) (set-quaternion! (-> self control) (-> self control dir-targ)) (dummy-17 self) (none) @@ -1887,46 +1357,27 @@ ;; Used lq/sq (defbehavior target-compute-edge-rider target () (let ((gp-0 *edge-grab-info*)) - (if (not (dummy-9 gp-0)) - (send-event self 'end-mode) - ) - (if *display-edge-collision-marks* - (dummy-10 gp-0) - ) - (vector-normalize! - (vector-! - (-> self control unknown-vector100) - (the-as vector (-> gp-0 world-vertex)) - (-> gp-0 world-vertex 1) - ) - 1.0 - ) - (vector-cross! - (-> self control unknown-vector101) - (-> self control unknown-vector100) - (-> self control dynam gravity-normal) - ) - (let - ((a1-7 - (vector-! - (new-stack-vector0) - (-> gp-0 center-hold) - (-> gp-0 center-hold-old) - ) + (if (not (dummy-9 gp-0)) + (send-event self 'end-mode) + ) + (if *display-edge-collision-marks* + (dummy-10 gp-0) + ) + (vector-normalize! + (vector-! (-> self control unknown-vector100) (the-as vector (-> gp-0 world-vertex)) (-> gp-0 world-vertex 1)) + 1.0 + ) + (vector-cross! + (-> self control unknown-vector101) + (-> self control unknown-vector100) + (-> self control dynam gravity-normal) + ) + (let ((a1-7 (vector-! (new-stack-vector0) (-> gp-0 center-hold) (-> gp-0 center-hold-old)))) + (vector-float*! (-> self control rider-last-move) a1-7 (-> *display* frames-per-second)) + (set! (-> self control rider-time) (the-as uint (-> *display* base-frame-counter))) + (TODO-RENAME-28 (-> self control) a1-7) ) - ) - (vector-float*! - (-> self control rider-last-move) - a1-7 - (-> *display* frames-per-second) - ) - (set! - (-> self control rider-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (TODO-RENAME-28 (-> self control) a1-7) ) - ) (set! (-> self control unknown-float110) 0.0) (dummy-17 self) (none) @@ -1939,143 +1390,83 @@ (let* ((s4-0 (handle->process (-> self control unknown-handle10))) (gp-0 (-> (the-as swingpole s4-0) dir)) ) - (set! (-> self control unknown-vector100 quad) (-> gp-0 quad)) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (let - ((s3-0 - (vector+float*! - (new 'stack-no-clear 'vector) - (-> (the-as swingpole s4-0) root trans) - gp-0 - (-> (the-as swingpole s4-0) edge-length) + (set! (-> self control unknown-vector100 quad) (-> gp-0 quad)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (let ((s3-0 (vector+float*! + (new 'stack-no-clear 'vector) + (-> (the-as swingpole s4-0) root trans) + gp-0 + (-> (the-as swingpole s4-0) edge-length) + ) + ) + (s2-0 (vector+float*! + (new 'stack-no-clear 'vector) + (-> (the-as swingpole s4-0) root trans) + gp-0 + (- (-> (the-as swingpole s4-0) edge-length)) + ) + ) + ) + (let ((v1-8 (new 'stack-no-clear 'vector))) + (vector+! v1-8 s3-0 s2-0) + (vector-float*! v1-8 v1-8 0.5) + (set! (-> v1-8 y) (+ -6144.0 (-> v1-8 y))) + (send-event *camera* 'ease-in 0.5 v1-8) + ) + (vector-segment-distance-point! (-> self control unknown-vector90) s3-0 s2-0 s5-0) + (when *display-edge-collision-marks* + (add-debug-vector + #t + (bucket-id debug-draw1) + (-> (the-as swingpole s4-0) root trans) + (the-as vector (&-> s4-0 stack 16)) + (meters 3.0) + (new 'static 'rgba :r #xff :b #xff :a #x80) + ) + (add-debug-sphere + #t + (bucket-id debug-draw1) + (-> (the-as swingpole s4-0) root trans) + (-> (the-as swingpole s4-0) range) + (new 'static 'rgba :r #xff :g #xff :a #x80) + ) + (add-debug-sphere + #t + (bucket-id debug-draw0) + (-> self control unknown-vector90) + 819.2 + (new 'static 'rgba :r #xff :a #x80) + ) + (add-debug-sphere #t (bucket-id debug-draw1) s3-0 819.2 (new 'static 'rgba :g #xff :a #x80)) + (add-debug-sphere #t (bucket-id debug-draw1) s2-0 819.2 (new 'static 'rgba :g #xff :b #x40 :a #x80)) + (add-debug-sphere #t (bucket-id debug-draw1) s5-0 819.2 (new 'static 'rgba :b #xff :a #x80)) + ) ) - ) - (s2-0 - (vector+float*! - (new 'stack-no-clear 'vector) - (-> (the-as swingpole s4-0) root trans) - gp-0 - (- (-> (the-as swingpole s4-0) edge-length)) + (let ((s4-2 (vector-! (new-stack-vector0) s5-0 (-> self control unknown-vector90)))) + (cond + ((and (< 2457.6 (vector-length s4-2)) (not (-> self control unknown-int21))) + (TODO-RENAME-28 (-> self control) (vector-normalize! s4-2 2457.6)) + ) + (else + (set! (-> self control unknown-int21) (the-as int #t)) + (TODO-RENAME-30 + (-> self control) + (vector-! (new 'stack-no-clear 'vector) s5-0 (-> self control unknown-vector91)) + ) + (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) + ) + ) ) - ) ) - (let ((v1-8 (new 'stack-no-clear 'vector))) - (vector+! v1-8 s3-0 s2-0) - (vector-float*! v1-8 v1-8 0.5) - (set! (-> v1-8 y) (+ -6144.0 (-> v1-8 y))) - (send-event *camera* 'ease-in 0.5 v1-8) + (let ((s5-3 (vector-cross! (-> self control unknown-vector101) gp-0 (-> self control dynam gravity-normal)))) + (if (>= 0.0 + (vector-dot s5-3 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control unknown-quaternion00))) + ) + (vector-negate! s5-3 s5-3) + ) + (forward-up-nopitch->quaternion (-> self control dir-targ) s5-3 (-> self control dynam gravity-normal)) ) - (vector-segment-distance-point! - (-> self control unknown-vector90) - s3-0 - s2-0 - s5-0 - ) - (when *display-edge-collision-marks* - (add-debug-vector - #t - (bucket-id debug-draw1) - (-> (the-as swingpole s4-0) root trans) - (the-as vector (&-> s4-0 stack 16)) - (meters 3.0) - (new 'static 'rgba :r #xff :b #xff :a #x80) - ) - (add-debug-sphere - #t - (bucket-id debug-draw1) - (-> (the-as swingpole s4-0) root trans) - (-> (the-as swingpole s4-0) range) - (new 'static 'rgba :r #xff :g #xff :a #x80) - ) - (add-debug-sphere - #t - (bucket-id debug-draw0) - (-> self control unknown-vector90) - 819.2 - (new 'static 'rgba :r #xff :a #x80) - ) - (add-debug-sphere - #t - (bucket-id debug-draw1) - s3-0 - 819.2 - (new 'static 'rgba :g #xff :a #x80) - ) - (add-debug-sphere - #t - (bucket-id debug-draw1) - s2-0 - 819.2 - (new 'static 'rgba :g #xff :b #x40 :a #x80) - ) - (add-debug-sphere - #t - (bucket-id debug-draw1) - s5-0 - 819.2 - (new 'static 'rgba :b #xff :a #x80) - ) - ) - ) - (let - ((s4-2 - (vector-! (new-stack-vector0) s5-0 (-> self control unknown-vector90)) - ) - ) - (cond - ((and - (< 2457.6 (vector-length s4-2)) - (not (-> self control unknown-int21)) - ) - (TODO-RENAME-28 (-> self control) (vector-normalize! s4-2 2457.6)) - ) - (else - (set! (-> self control unknown-int21) (the-as int #t)) - (TODO-RENAME-30 - (-> self control) - (vector-! - (new 'stack-no-clear 'vector) - s5-0 - (-> self control unknown-vector91) - ) - ) - (set! - (-> self control unknown-vector52 quad) - (-> self control trans quad) - ) - ) - ) - ) ) - (let - ((s5-3 - (vector-cross! - (-> self control unknown-vector101) - gp-0 - (-> self control dynam gravity-normal) - ) - ) - ) - (if - (>= - 0.0 - (vector-dot - s5-3 - (vector-z-quaternion! - (new 'stack-no-clear 'vector) - (-> self control unknown-quaternion00) - ) - ) - ) - (vector-negate! s5-3 s5-3) - ) - (forward-up-nopitch->quaternion - (-> self control dir-targ) - s5-3 - (-> self control dynam gravity-normal) - ) - ) - ) (set-quaternion! (-> self control) (-> self control dir-targ)) (dummy-17 self) (dummy-47 (-> self control)) @@ -2087,79 +1478,58 @@ ;; Used lq/sq (defbehavior target-calc-camera-pos target () (let ((gp-0 (new 'stack-no-clear 'vector))) - (cond - ((and - (= (-> self next-state name) 'target-clone-anim) - (zero? (logand (-> self draw status) 2)) - (begin - (vector<-cspace! gp-0 (-> self node-list data 3)) - (set! (-> gp-0 y) (+ -5896.192 (-> gp-0 y))) - (< (fabs (- (-> gp-0 y) (-> self control trans y))) 8192.0) - ) - ) - (set! (-> (&-> (-> self control) unknown-qword00) 0) (-> gp-0 quad)) - ) - (else - (let ((v1-11 (-> self water flags))) - (cond - ((and (logtest? v1-11 512) (logtest? v1-11 6144)) - (vector<-cspace! - (the-as vector (&-> (-> self control) unknown-qword00)) - (the-as cspace (-> self node-list data)) - ) - (if - (not - (and - (logtest? (-> self water flags) 4096) - (zero? (logand (-> self water flags) 16)) + (cond + ((and + (= (-> self next-state name) 'target-clone-anim) + (zero? (logand (-> self draw status) 2)) + (begin + (vector<-cspace! gp-0 (-> self node-list data 3)) + (set! (-> gp-0 y) (+ -5896.192 (-> gp-0 y))) + (< (fabs (- (-> gp-0 y) (-> self control trans y))) 8192.0) ) - ) - (set! - (-> self control unknown-float30) - (- (-> self water base-height) (-> self water swim-height)) - ) ) - (&-> (-> self control) unknown-qword00) - ) - ((and - (logtest? (-> self water flags) 512) - (logtest? #x40000 (-> self water flags)) - ) - (vector<-cspace! - (the-as vector (&-> (-> self control) unknown-qword00)) - (the-as cspace (-> self node-list data)) - ) - (set! (-> self control unknown-float30) (-> self water base-height)) - ) - ((logtest? (-> self control root-prim prim-core action) 512) - (set! - (-> (&-> (-> self control) unknown-qword00) 0) - (-> self control trans quad) - ) - ) - ((logtest? (-> self control root-prim prim-core action) 8192) - (set! - (-> (&-> (-> self control) unknown-qword00) 0) - (-> self control shadow-pos quad) - ) - ) - ((logtest? (-> self draw status) 6) - (set! - (-> (&-> (-> self control) unknown-qword00) 0) - (-> self control trans quad) - ) - ) - (else - (vector<-cspace! - (the-as vector (&-> (-> self control) unknown-qword00)) - (the-as cspace (-> self node-list data)) - ) - ) + (set! (-> (&-> (-> self control) unknown-qword00) 0) (-> gp-0 quad)) ) + (else + (let ((v1-11 (-> self water flags))) + (cond + ((and (logtest? v1-11 512) (logtest? v1-11 6144)) + (vector<-cspace! + (the-as vector (&-> (-> self control) unknown-qword00)) + (the-as cspace (-> self node-list data)) + ) + (if (not (and (logtest? (-> self water flags) 4096) (zero? (logand (-> self water flags) 16)))) + (set! (-> self control unknown-float30) (- (-> self water base-height) (-> self water swim-height))) + ) + (&-> (-> self control) unknown-qword00) + ) + ((and (logtest? (-> self water flags) 512) (logtest? #x40000 (-> self water flags))) + (vector<-cspace! + (the-as vector (&-> (-> self control) unknown-qword00)) + (the-as cspace (-> self node-list data)) + ) + (set! (-> self control unknown-float30) (-> self water base-height)) + ) + ((logtest? (-> self control root-prim prim-core action) 512) + (set! (-> (&-> (-> self control) unknown-qword00) 0) (-> self control trans quad)) + ) + ((logtest? (-> self control root-prim prim-core action) 8192) + (set! (-> (&-> (-> self control) unknown-qword00) 0) (-> self control shadow-pos quad)) + ) + ((logtest? (-> self draw status) 6) + (set! (-> (&-> (-> self control) unknown-qword00) 0) (-> self control trans quad)) + ) + (else + (vector<-cspace! + (the-as vector (&-> (-> self control) unknown-qword00)) + (the-as cspace (-> self node-list data)) + ) + ) + ) + ) + ) ) - ) ) - ) 0 (none) ) @@ -2169,106 +1539,59 @@ ;; Used lq/sq (defbehavior joint-points target () (let ((v1-0 (-> self neck))) - (set! (-> v1-0 blend) 0.0) - ) + (set! (-> v1-0 blend) 0.0) + ) (cond - ((logtest? (-> self control root-prim prim-core action) 8704) - ) - ((logtest? (-> self water flags) 1024) - (let - ((f30-0 - (- - (- - (-> self control trans y) - (- (-> self water height) (-> self water wade-height)) + ((logtest? (-> self control root-prim prim-core action) 8704) + ) + ((logtest? (-> self water flags) 1024) + (let ((f30-0 (- (- (-> self control trans y) (- (-> self water height) (-> self water wade-height)))))) + (set! (-> *wade-surface* alignv) + (lerp-scale 1.0 0.5 f30-0 0.0 (- (-> self water swim-height) (-> self water wade-height))) + ) + (set! (-> *wade-surface* align-speed) (-> *wade-surface* alignv)) + (let ((f0-9 (lerp-scale 0.8 0.6 f30-0 0.0 (- (-> self water swim-height) (-> self water wade-height))))) + (set! (-> *wade-surface* target-speed) f0-9) + (set! (-> *wade-surface* transv-max) f0-9) ) + ) + (set! (-> self control surf) *wade-surface*) + ) + ((logtest? (-> self water flags) 2048) + (set! (-> self control surf) *swim-surface*) + ) + ((and (logtest? (-> self water flags) 512) (logtest? #x40000 (-> self water flags))) + (set! (-> self control surf) *quicksand-surface*) + ) + ) + (let ((a2-2 + (matrix<-no-trans-transformq! (-> self control unknown-matrix02) (the-as transformq (-> self control trans))) + ) ) - ) - ) - (set! - (-> *wade-surface* alignv) - (lerp-scale - 1.0 - 0.5 - f30-0 - 0.0 - (- (-> self water swim-height) (-> self water wade-height)) - ) - ) - (set! (-> *wade-surface* align-speed) (-> *wade-surface* alignv)) - (let - ((f0-9 - (lerp-scale - 0.8 - 0.6 - f30-0 - 0.0 - (- (-> self water swim-height) (-> self water wade-height)) - ) - ) - ) - (set! (-> *wade-surface* target-speed) f0-9) - (set! (-> *wade-surface* transv-max) f0-9) - ) - ) - (set! (-> self control surf) *wade-surface*) + (vector-matrix*! (-> self control unknown-vector80) (-> *TARGET-bank* head-offset) a2-2) ) - ((logtest? (-> self water flags) 2048) - (set! (-> self control surf) *swim-surface*) - ) - ((and - (logtest? (-> self water flags) 512) - (logtest? #x40000 (-> self water flags)) - ) - (set! (-> self control surf) *quicksand-surface*) - ) - ) - (let - ((a2-2 - (matrix<-no-trans-transformq! - (-> self control unknown-matrix02) - (the-as transformq (-> self control trans)) - ) - ) - ) - (vector-matrix*! - (-> self control unknown-vector80) - (-> *TARGET-bank* head-offset) - a2-2 - ) - ) - (vector<-cspace! - (-> self control unknown-vector92) - (-> self control unknown-cspace10 parent) - ) + (vector<-cspace! (-> self control unknown-vector92) (-> self control unknown-cspace10 parent)) (let ((gp-0 (new-stack-vector0)) (s5-0 (new-stack-vector0)) ) - (vector<-cspace! gp-0 (-> self control unknown-cspace00 parent)) - (vector<-cspace! - s5-0 - (the-as cspace (-> self control unknown-cspace00 joint)) + (vector<-cspace! gp-0 (-> self control unknown-cspace00 parent)) + (vector<-cspace! s5-0 (the-as cspace (-> self control unknown-cspace00 joint))) + (vector-average! (-> self control unknown-vector90) gp-0 s5-0) ) - (vector-average! (-> self control unknown-vector90) gp-0 s5-0) - ) - (vector-! - (-> self control unknown-vector91) - (-> self control unknown-vector90) - (-> self control trans) - ) + (vector-! (-> self control unknown-vector91) (-> self control unknown-vector90) (-> self control trans)) (cond - ((logtest? (-> self control root-prim prim-core action) 128) - (target-compute-edge) + ((logtest? (-> self control root-prim prim-core action) 128) + (target-compute-edge) + ) + ((logtest? (-> self control root-prim prim-core action) 256) + (target-compute-pole) + ) ) - ((logtest? (-> self control root-prim prim-core action) 256) - (target-compute-pole) - ) - ) (target-calc-camera-pos) (when (logtest? (-> self state-flags) #x4000) - (set! (-> self state-flags) (logand -28673 (-> self state-flags))) - (set! (-> self control unknown-float41) 0.0) - ) + (set! (-> self state-flags) (logand -28673 (-> self state-flags))) + (set! (-> self control unknown-float41) 0.0) + ) (set! (-> self control unknown-int00) 0) 0 (none) @@ -2278,111 +1601,97 @@ ;; Used lq/sq (defbehavior target-real-post target () (let ((gp-0 (the int (-> *display* time-ratio)))) - (set-time-ratios *display* 1.0) - (countdown (s5-0 gp-0) - (set! (-> self control unknown-int40) s5-0) - (flag-setup) - (if (< (-> self control unknown-float41) 0.0) - (set! - (-> self control unknown-float41) - (- 1.0 (-> self control unknown-cpad-info00 stick0-speed)) - ) - ) - (build-conversions (-> self control transv)) - (do-rotations1) - (let ((s4-0 (new-stack-vector0))) - (read-pad s4-0) - (let ((f30-0 (-> self control unknown-float20))) - (if - (and - (< 0.0 f30-0) - (< 0.3 (-> self control unknown-float20)) - (< - (vector-dot - (-> self control unknown-vector30) - (-> self control unknown-vector31) + (set-time-ratios *display* 1.0) + (countdown (s5-0 gp-0) + (set! (-> self control unknown-int40) s5-0) + (flag-setup) + (if (< (-> self control unknown-float41) 0.0) + (set! (-> self control unknown-float41) (- 1.0 (-> self control unknown-cpad-info00 stick0-speed))) ) - 0.2 - ) - (< f30-0 0.7) - ) - (set! f30-0 0.0) - ) - (when (!= (-> self control unknown-float41) 0.0) - (let ((f0-12 (fmin 1.0 (-> self control unknown-float41)))) - (set! (-> self control unknown-float41) f0-12) - (let - ((a1-2 (vector-float*! (new 'stack-no-clear 'vector) (if (= f30-0 0.0) - *zero-vector* - s4-0 - ) - f30-0 - ) - ) - (a2-1 - (vector-float*! - (new 'stack-no-clear 'vector) - (-> self control unknown-vector40) - (-> self control unknown-float50) + (build-conversions (-> self control transv)) + (do-rotations1) + (let ((s4-0 (new-stack-vector0))) + (read-pad s4-0) + (let ((f30-0 (-> self control unknown-float20))) + (if (and + (< 0.0 f30-0) + (< 0.3 (-> self control unknown-float20)) + (< (vector-dot (-> self control unknown-vector30) (-> self control unknown-vector31)) 0.2) + (< f30-0 0.7) + ) + (set! f30-0 0.0) + ) + (when (!= (-> self control unknown-float41) 0.0) + (let ((f0-12 (fmin 1.0 (-> self control unknown-float41)))) + (set! (-> self control unknown-float41) f0-12) + (let ((a1-2 (vector-float*! + (new 'stack-no-clear 'vector) + (if (= f30-0 0.0) + *zero-vector* + s4-0 + ) + f30-0 + ) + ) + (a2-1 (vector-float*! + (new 'stack-no-clear 'vector) + (-> self control unknown-vector40) + (-> self control unknown-float50) + ) + ) + ) + (vector-lerp! s4-0 a1-2 a2-1 f0-12) + ) + ) + (set! f30-0 (vector-length s4-0)) + (vector-normalize! s4-0 1.0) ) - ) + (turn-to-vector s4-0 f30-0) ) - (vector-lerp! s4-0 a1-2 a2-1 f0-12) - ) ) - (set! f30-0 (vector-length s4-0)) - (vector-normalize! s4-0 1.0) - ) - (turn-to-vector s4-0 f30-0) + (add-thrust) + (add-gravity) + (do-rotations2) + (reverse-conversions (-> self control transv)) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (set! (-> self control reaction) target-collision-reaction) + (dummy-33 (-> self control) (-> self control transv) (-> self control root-prim collide-with)) + (if (logtest? (-> self control root-prim prim-core action) 64) + (dummy-20 *target* *collide-cache*) + ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :g #x60 :b #x40 :a #x80) + ) + ) + (bend-gravity) + (post-flag-setup) ) - ) - (add-thrust) - (add-gravity) - (do-rotations2) - (reverse-conversions (-> self control transv)) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (set! (-> self control reaction) target-collision-reaction) - (dummy-33 - (-> self control) - (-> self control transv) - (-> self control root-prim collide-with) - ) - (if (logtest? (-> self control root-prim prim-core action) 64) - (dummy-20 *target* *collide-cache*) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :g #x60 :b #x40 :a #x80) - ) - ) - (bend-gravity) - (post-flag-setup) + (set-time-ratios *display* (the float gp-0)) ) - (set-time-ratios *display* (the float gp-0)) - ) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) (ja-post) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :a #x80) + ) + ) (joint-points) (do-target-shadow) (target-powerup-process) @@ -2399,61 +1708,57 @@ ;; Used lq/sq (defbehavior target-swim-post target () (let ((gp-0 (the int (-> *display* time-ratio)))) - (set-time-ratios *display* 1.0) - (countdown (s5-0 gp-0) - (set! (-> self control unknown-int40) s5-0) - (flag-setup) - (build-conversions (-> self control transv)) - (do-rotations1) - (let ((s4-0 (new-stack-vector0))) - (read-pad s4-0) - (turn-to-vector s4-0 (-> self control unknown-float20)) - ) - (add-thrust) - (add-gravity) - (do-rotations2) - (reverse-conversions (-> self control transv)) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) + (set-time-ratios *display* 1.0) + (countdown (s5-0 gp-0) + (set! (-> self control unknown-int40) s5-0) + (flag-setup) + (build-conversions (-> self control transv)) + (do-rotations1) + (let ((s4-0 (new-stack-vector0))) + (read-pad s4-0) + (turn-to-vector s4-0 (-> self control unknown-float20)) + ) + (add-thrust) + (add-gravity) + (do-rotations2) + (reverse-conversions (-> self control transv)) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (dummy-33 (-> self control) (-> self control transv) (-> self control root-prim collide-with)) + (if (logtest? (-> self control root-prim prim-core action) 64) + (dummy-20 *target* *collide-cache*) + ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :g #x60 :b #x40 :a #x80) + ) + ) + (post-flag-setup) ) - ) - (dummy-33 - (-> self control) - (-> self control transv) - (-> self control root-prim collide-with) - ) - (if (logtest? (-> self control root-prim prim-core action) 64) - (dummy-20 *target* *collide-cache*) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :g #x60 :b #x40 :a #x80) - ) - ) - (post-flag-setup) + (set-time-ratios *display* (the float gp-0)) ) - (set-time-ratios *display* (the float gp-0)) - ) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) (ja-post) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :a #x80) + ) + ) (joint-points) (do-target-shadow) (target-powerup-process) @@ -2464,62 +1769,58 @@ ;; Used lq/sq (defbehavior target-no-stick-post target () (let ((gp-0 (the int (-> *display* time-ratio)))) - (set-time-ratios *display* 1.0) - (countdown (s5-0 gp-0) - (set! (-> self control unknown-int40) s5-0) - (flag-setup) - (build-conversions (-> self control transv)) - (do-rotations1) - (let ((s4-0 (new-stack-vector0))) - (read-pad s4-0) - (turn-to-vector s4-0 0.0) - ) - (add-thrust) - (add-gravity) - (do-rotations2) - (reverse-conversions (-> self control transv)) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) + (set-time-ratios *display* 1.0) + (countdown (s5-0 gp-0) + (set! (-> self control unknown-int40) s5-0) + (flag-setup) + (build-conversions (-> self control transv)) + (do-rotations1) + (let ((s4-0 (new-stack-vector0))) + (read-pad s4-0) + (turn-to-vector s4-0 0.0) + ) + (add-thrust) + (add-gravity) + (do-rotations2) + (reverse-conversions (-> self control transv)) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (dummy-33 (-> self control) (-> self control transv) (-> self control root-prim collide-with)) + (if (logtest? (-> self control root-prim prim-core action) 64) + (dummy-20 *target* *collide-cache*) + ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :g #x60 :b #x40 :a #x80) + ) + ) + (bend-gravity) + (post-flag-setup) ) - ) - (dummy-33 - (-> self control) - (-> self control transv) - (-> self control root-prim collide-with) - ) - (if (logtest? (-> self control root-prim prim-core action) 64) - (dummy-20 *target* *collide-cache*) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :g #x60 :b #x40 :a #x80) - ) - ) - (bend-gravity) - (post-flag-setup) + (set-time-ratios *display* (the float gp-0)) ) - (set-time-ratios *display* (the float gp-0)) - ) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) (ja-post) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :a #x80) + ) + ) (joint-points) (do-target-shadow) (target-powerup-process) @@ -2529,43 +1830,43 @@ ;; definition for function target-no-move-post (defbehavior target-no-move-post target () (let ((gp-0 (the int (-> *display* time-ratio)))) - (set-time-ratios *display* 1.0) - (countdown (s5-0 gp-0) - (set! (-> self control unknown-int40) s5-0) - (flag-setup) - (build-conversions (-> self control transv)) - (do-rotations1) - (do-rotations2) - (reverse-conversions (-> self control transv)) - (vector-! - (-> self control unknown-vector12) - (-> self control unknown-vector11) - (-> self control unknown-vector14) - ) - (let ((a1-3 (new 'stack-no-clear 'collide-edge-hold-list))) - (set! (-> a1-3 num-allocs) (the-as uint 1)) - (set! (-> a1-3 num-attempts) (the-as uint *touching-list*)) - (dummy-40 (-> self control) a1-3) - ) - (post-flag-setup) + (set-time-ratios *display* 1.0) + (countdown (s5-0 gp-0) + (set! (-> self control unknown-int40) s5-0) + (flag-setup) + (build-conversions (-> self control transv)) + (do-rotations1) + (do-rotations2) + (reverse-conversions (-> self control transv)) + (vector-! + (-> self control unknown-vector12) + (-> self control unknown-vector11) + (-> self control unknown-vector14) + ) + (let ((a1-3 (new 'stack-no-clear 'collide-edge-hold-list))) + (set! (-> a1-3 num-allocs) (the-as uint 1)) + (set! (-> a1-3 num-attempts) (the-as uint *touching-list*)) + (dummy-40 (-> self control) a1-3) + ) + (post-flag-setup) + ) + (set-time-ratios *display* (the float gp-0)) ) - (set-time-ratios *display* (the float gp-0)) - ) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) (ja-post) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :a #x80) + ) + ) (joint-points) (do-target-shadow) (target-powerup-process) @@ -2576,86 +1877,71 @@ ;; Used lq/sq (defbehavior target-slide-down-post target () (let ((gp-0 (the int (-> *display* time-ratio)))) - (set-time-ratios *display* 1.0) - (countdown (s5-0 gp-0) - (set! (-> self control unknown-int40) s5-0) - (flag-setup) - (build-conversions (-> self control transv)) - (do-rotations1) - (let - ((s4-1 - (vector-flatten! - (new-stack-vector0) - (vector-negate! - (new-stack-vector0) - (-> self control dynam gravity-normal) - ) - (-> self control local-normal) + (set-time-ratios *display* 1.0) + (countdown (s5-0 gp-0) + (set! (-> self control unknown-int40) s5-0) + (flag-setup) + (build-conversions (-> self control transv)) + (do-rotations1) + (let ((s4-1 (vector-flatten! + (new-stack-vector0) + (vector-negate! (new-stack-vector0) (-> self control dynam gravity-normal)) + (-> self control local-normal) + ) + ) + ) + (let ((s3-1 (new-stack-vector0))) + (new-stack-matrix0) + (read-pad s3-1) + (set! (-> self control unknown-surface01 slide-factor) 49152.0) + (set! (-> self control unknown-surface01 bend-factor) 0.0) + (turn-to-vector s3-1 (the-as float (/ (the int (-> self control unknown-float20)) 2))) + ) + (set! (-> self control unknown-vector20 quad) (-> (vector-negate! s4-1 s4-1) quad)) ) - ) + (set! (-> self control unknown-float12) 1.0) + (add-thrust) + (add-gravity) + (do-rotations2) + (reverse-conversions (-> self control transv)) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (dummy-33 (-> self control) (-> self control transv) (-> self control root-prim collide-with)) + (if (logtest? (-> self control root-prim prim-core action) 64) + (dummy-20 *target* *collide-cache*) + ) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :a #x80) + ) + ) + (bend-gravity) + (post-flag-setup) ) - (let ((s3-1 (new-stack-vector0))) - (new-stack-matrix0) - (read-pad s3-1) - (set! (-> self control unknown-surface01 slide-factor) 49152.0) - (set! (-> self control unknown-surface01 bend-factor) 0.0) - (turn-to-vector - s3-1 - (the-as float (/ (the int (-> self control unknown-float20)) 2)) - ) - ) - (set! - (-> self control unknown-vector20 quad) - (-> (vector-negate! s4-1 s4-1) quad) - ) - ) - (set! (-> self control unknown-float12) 1.0) - (add-thrust) - (add-gravity) - (do-rotations2) - (reverse-conversions (-> self control transv)) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (dummy-33 - (-> self control) - (-> self control transv) - (-> self control root-prim collide-with) - ) - (if (logtest? (-> self control root-prim prim-core action) 64) - (dummy-20 *target* *collide-cache*) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :a #x80) - ) - ) - (bend-gravity) - (post-flag-setup) + (set-time-ratios *display* (the float gp-0)) ) - (set-time-ratios *display* (the float gp-0)) - ) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) (ja-post) (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :a #x80) - ) - ) + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :a #x80) + ) + ) (joint-points) (do-target-shadow) (target-powerup-process) @@ -2665,15 +1951,15 @@ ;; definition for function target-no-ja-move-post (defbehavior target-no-ja-move-post target () (vector-! - (-> self control unknown-vector12) - (-> self control unknown-vector11) - (-> self control unknown-vector14) - ) + (-> self control unknown-vector12) + (-> self control unknown-vector11) + (-> self control unknown-vector14) + ) (let ((a1-2 (new 'stack-no-clear 'collide-edge-hold-list))) - (set! (-> a1-2 num-allocs) (the-as uint 1)) - (set! (-> a1-2 num-attempts) (the-as uint *touching-list*)) - (dummy-40 (-> self control) a1-2) - ) + (set! (-> a1-2 num-allocs) (the-as uint 1)) + (set! (-> a1-2 num-attempts) (the-as uint *touching-list*)) + (dummy-40 (-> self control) a1-2) + ) (target-calc-camera-pos) (do-target-shadow) (target-powerup-process) @@ -2684,25 +1970,19 @@ ;; Used lq/sq (defbehavior reset-target-state target ((arg0 symbol)) (when arg0 - (vector-identity! (-> self control scale)) - (quaternion-identity! (-> self control quat)) - (quaternion-identity! (-> self control unknown-quaternion00)) - (quaternion-identity! (-> self control dir-targ)) - (set! (-> self control transv quad) (the-as uint128 0)) - (set! - (-> (&-> (-> self control) unknown-qword00) 0) - (-> self control trans quad) + (vector-identity! (-> self control scale)) + (quaternion-identity! (-> self control quat)) + (quaternion-identity! (-> self control unknown-quaternion00)) + (quaternion-identity! (-> self control dir-targ)) + (set! (-> self control transv quad) (the-as uint128 0)) + (set! (-> (&-> (-> self control) unknown-qword00) 0) (-> self control trans quad)) ) - ) (target-exit) (target-timed-invulnerable-off self) (set! (-> self control status) (the-as uint 0)) (set! (-> self control unknown-dynamics00) *standard-dynamics*) (set! (-> self control surf) *standard-ground-surface*) - (set! - (-> self control unknown-vector02 quad) - (-> self control unknown-dynamics00 gravity-normal quad) - ) + (set! (-> self control unknown-vector02 quad) (-> self control unknown-dynamics00 gravity-normal quad)) (quaternion-identity! (-> self control unknown-quaternion01)) (set! (-> self control unknown-float00) 0.0) (set! (-> self control unknown-dword11) (-> *display* base-frame-counter)) @@ -2724,68 +2004,63 @@ (set-setting! *setting-control* self 'allow-progress #f 0.0 0) (copy-settings-from-target! *setting-control*) (if (not arg0) - (set! arg0 (get-or-create-continue! *game-info*)) - ) + (set! arg0 (get-or-create-continue! *game-info*)) + ) (set-continue! *game-info* arg0) (stack-size-set! (-> self main-thread) 1024) (logior! (-> self mask) (process-mask target)) (set! (-> self state-hook) (the-as (function none :behavior target) nothing)) (let ((s5-0 (new 'process 'control-info self (collide-list-enum player)))) - (set! (-> self control) s5-0) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 max-iteration-count) (the-as uint 8)) - (set! (-> s5-0 event-self) 'touched) - (set! (-> s5-0 reaction) target-collision-reaction) - (set! (-> s5-0 no-reaction) target-collision-no-reaction) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 6) 1))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 16)) - (set! (-> s4-0 collide-with) (the-as uint #x2bef)) - (set! (-> s4-0 prim-core offense) 1) - (set! (-> s4-0 prim-core action) (the-as uint 5)) - (set-root-prim! s5-0 s4-0) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 6)))) - (set! (-> s3-0 prim-core action) (the-as uint 5)) - (set! (-> s3-0 prim-core collide-as) (the-as uint 16)) - (set! (-> s3-0 collide-with) (the-as uint #x2bef)) - (set! (-> s3-0 prim-core offense) 1) - (append-prim s4-0 s3-0) - (set! (-> s5-0 unknown-sphere-array00 0) s3-0) - ) - (let - ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 10)))) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core collide-as) (the-as uint 16)) - (set! (-> s3-1 collide-with) (the-as uint #x2bef)) - (set! (-> s3-1 prim-core offense) 1) - (append-prim s4-0 s3-1) - (set! (-> s5-0 unknown-sphere-array00 1) s3-1) - ) - (let - ((s3-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 18)))) - (set! (-> s3-2 prim-core action) (the-as uint 1)) - (set! (-> s3-2 prim-core collide-as) (the-as uint 16)) - (set! (-> s3-2 collide-with) (the-as uint #x2bef)) - (set! (-> s3-2 prim-core offense) 1) - (append-prim s4-0 s3-2) - (set! (-> s5-0 unknown-sphere-array00 2) s3-2) - ) - (let - ((s3-3 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 32)))) - (append-prim s4-0 s3-3) - (set! (-> s5-0 unknown-sphere00) s3-3) - ) - (let - ((s3-4 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 64)))) - (append-prim s4-0 s3-4) - (set! (-> s5-0 unknown-sphere01) s3-4) - ) - (let - ((s3-5 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 128)))) - (append-prim s4-0 s3-5) - (set! (-> s5-0 unknown-sphere02) s3-5) - ) + (set! (-> self control) s5-0) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 max-iteration-count) (the-as uint 8)) + (set! (-> s5-0 event-self) 'touched) + (set! (-> s5-0 reaction) target-collision-reaction) + (set! (-> s5-0 no-reaction) target-collision-no-reaction) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 6) 1))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 16)) + (set! (-> s4-0 collide-with) (the-as uint #x2bef)) + (set! (-> s4-0 prim-core offense) 1) + (set! (-> s4-0 prim-core action) (the-as uint 5)) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 6)))) + (set! (-> s3-0 prim-core action) (the-as uint 5)) + (set! (-> s3-0 prim-core collide-as) (the-as uint 16)) + (set! (-> s3-0 collide-with) (the-as uint #x2bef)) + (set! (-> s3-0 prim-core offense) 1) + (append-prim s4-0 s3-0) + (set! (-> s5-0 unknown-sphere-array00 0) s3-0) + ) + (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 10)))) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core collide-as) (the-as uint 16)) + (set! (-> s3-1 collide-with) (the-as uint #x2bef)) + (set! (-> s3-1 prim-core offense) 1) + (append-prim s4-0 s3-1) + (set! (-> s5-0 unknown-sphere-array00 1) s3-1) + ) + (let ((s3-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 18)))) + (set! (-> s3-2 prim-core action) (the-as uint 1)) + (set! (-> s3-2 prim-core collide-as) (the-as uint 16)) + (set! (-> s3-2 collide-with) (the-as uint #x2bef)) + (set! (-> s3-2 prim-core offense) 1) + (append-prim s4-0 s3-2) + (set! (-> s5-0 unknown-sphere-array00 2) s3-2) + ) + (let ((s3-3 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 32)))) + (append-prim s4-0 s3-3) + (set! (-> s5-0 unknown-sphere00) s3-3) + ) + (let ((s3-4 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 64)))) + (append-prim s4-0 s3-4) + (set! (-> s5-0 unknown-sphere01) s3-4) + ) + (let ((s3-5 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 128)))) + (append-prim s4-0 s3-5) + (set! (-> s5-0 unknown-sphere02) s3-5) + ) + ) ) - ) (target-collide-set! 'normal 0.0) (backup-collide-with-as (-> self control)) (set! (-> self game) *game-info*) @@ -2800,85 +2075,46 @@ (set! (-> self draw origin-joint-index) (the-as uint 33)) (set! (-> self draw shadow-joint-index) (the-as uint 33)) (let ((v1-79 (-> self node-list data))) - (set! (-> v1-79 0 param0) cspace<-transformq+trans!) - (set! (-> v1-79 0 param1) (the-as basic (-> self control trans))) - (set! (-> v1-79 0 param2) (the-as basic (-> self control unknown-vector12))) - ) + (set! (-> v1-79 0 param0) cspace<-transformq+trans!) + (set! (-> v1-79 0 param1) (the-as basic (-> self control trans))) + (set! (-> v1-79 0 param2) (the-as basic (-> self control unknown-vector12))) + ) (set! (-> self draw lod-set max-lod) 0) (logior! (-> self skel status) 257) (set! (-> self draw shadow-ctrl) *target-shadow-control*) (set! (-> self control unknown-cspace00 parent) (-> self node-list data 42)) - (set! - (-> self control unknown-cspace00 joint) - (the-as joint (-> self node-list data 54)) - ) - (set! - (-> self control unknown-cspace00 joint) - (the-as joint (-> self node-list data 54)) - ) + (set! (-> self control unknown-cspace00 joint) (the-as joint (-> self node-list data 54))) + (set! (-> self control unknown-cspace00 joint) (the-as joint (-> self node-list data 54))) (set! (-> self control unknown-cspace10 parent) (-> self node-list data 64)) - (set! - (-> self neck) - (new 'process 'joint-mod (joint-mod-handler-mode look-at) self 7) - ) - (set! - (-> self fact-info-target) - (new - 'process - 'fact-info-target - self - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) - ) - ) - (set! - (-> self sound) - (new 'process 'ambient-sound 'none (-> self control trans)) - ) + (set! (-> self neck) (new 'process 'joint-mod (joint-mod-handler-mode look-at) self 7)) + (set! (-> self fact-info-target) + (new 'process 'fact-info-target self (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) + (set! (-> self sound) (new 'process 'ambient-sound 'none (-> self control trans))) (set! (-> self control unknown-soundid00) (new-sound-id)) (if *debug-segment* - (add-connection *debug-engine* self target-print-stats self *stdcon0* #f) - ) + (add-connection *debug-engine* self target-print-stats self *stdcon0* #f) + ) (activate-hud self) (set! (-> self fp-hud) (the-as handle #f)) (set! (-> self water) (new 'process 'water-control self 9 0.0 8192.0 2048.0)) (set! (-> self water flags) (the-as uint #x4000f0)) (reset-target-state #t) (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) - (set! - (-> self control unknown-vector52 y) - (+ -819200.0 (-> self control unknown-vector52 y)) - ) + (set! (-> self control unknown-vector52 y) (+ -819200.0 (-> self control unknown-vector52 y))) (set! (-> self align) (new 'process 'align-control self)) (let ((s5-1 (get-process *16k-dead-pool* sidekick #x4000))) - (set! (-> self sidekick) (the-as (pointer sidekick) (when s5-1 - (let - ((t9-37 - (method-of-type - sidekick - activate - ) - ) - ) - (t9-37 - (the-as sidekick s5-1) - self - 'sidekick - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-1 - init-sidekick - ) - (-> s5-1 ppointer) - ) - ) + (set! (-> self sidekick) + (the-as (pointer sidekick) (when s5-1 + (let ((t9-37 (method-of-type sidekick activate))) + (t9-37 (the-as sidekick s5-1) self 'sidekick (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 init-sidekick) + (-> s5-1 ppointer) + ) + ) + ) ) - ) (set! (-> self manipy) (the-as (pointer manipy) #f)) (set! (-> self event-hook) target-generic-event-handler) (set! (-> self current-level) #f) @@ -2897,9 +2133,9 @@ ;; definition for function stop (defun stop ((arg0 symbol)) (when *target* - (kill-by-name 'target *active-pool*) - (set! *target* #f) - ) + (kill-by-name 'target *active-pool*) + (set! *target* #f) + ) (set! (-> *game-info* mode) arg0) 0 ) @@ -2911,24 +2147,19 @@ (stop arg0) (let* ((s5-0 (get-process *target-dead-pool* target #x4000)) (v1-3 (when s5-0 - (let ((t9-2 (method-of-type target activate))) - (t9-2 - (the-as target s5-0) - *target-pool* - 'target - (&-> *dram-stack* 14336) - ) + (let ((t9-2 (method-of-type target activate))) + (t9-2 (the-as target s5-0) *target-pool* 'target (&-> *dram-stack* 14336)) + ) + (run-now-in-process s5-0 init-target arg1) + (-> s5-0 ppointer) ) - (run-now-in-process s5-0 init-target arg1) - (-> s5-0 ppointer) - ) - ) + ) ) - (if v1-3 - (set! *target* (the-as target (-> v1-3 0 self))) - (set! *target* #f) + (if v1-3 + (set! *target* (the-as target (-> v1-3 0 self))) + (set! *target* #f) + ) ) - ) *target* ) diff --git a/test/decompiler/reference/engine/target/pat-h_REF.gc b/test/decompiler/reference/engine/target/pat-h_REF.gc index 0aff82d285..b1289089f7 100644 --- a/test/decompiler/reference/engine/target/pat-h_REF.gc +++ b/test/decompiler/reference/engine/target/pat-h_REF.gc @@ -36,128 +36,128 @@ ;; definition (debug) for function pat-material->string (defun-debug pat-material->string ((arg0 pat-surface)) - (case (-> arg0 material) - (((pat-material neutral)) + (case (-> arg0 material) + (((pat-material neutral)) "neutral" ) - (((pat-material rotate)) - "rotate" + (((pat-material rotate)) + "rotate" + ) + (((pat-material stopproj)) + "stopproj" + ) + (((pat-material swamp)) + "swamp" + ) + (((pat-material tube)) + "tube" + ) + (((pat-material straw)) + "straw" + ) + (((pat-material metal)) + "metal" + ) + (((pat-material dirt)) + "dirt" + ) + (((pat-material gravel)) + "gravel" + ) + (((pat-material crwood)) + "crwood" + ) + (((pat-material lava)) + "lava" + ) + (((pat-material hotcoals)) + "hotcoals" + ) + (((pat-material deepsnow)) + "deepsnow" + ) + (((pat-material snow)) + "snow" + ) + (((pat-material pcmetal)) + "pcmetal" + ) + (((pat-material grass)) + "grass" + ) + (((pat-material wood)) + "wood" + ) + (((pat-material sand)) + "sand" + ) + (((pat-material tar)) + "tar" + ) + (((pat-material waterbottom)) + "waterbottom" + ) + (((pat-material quicksand)) + "quicksand" + ) + (((pat-material ice)) + "ice" + ) + (((pat-material stone)) + "stone" + ) + (else + "*unknown*" + ) ) - (((pat-material stopproj)) - "stopproj" - ) - (((pat-material swamp)) - "swamp" - ) - (((pat-material tube)) - "tube" - ) - (((pat-material straw)) - "straw" - ) - (((pat-material metal)) - "metal" - ) - (((pat-material dirt)) - "dirt" - ) - (((pat-material gravel)) - "gravel" - ) - (((pat-material crwood)) - "crwood" - ) - (((pat-material lava)) - "lava" - ) - (((pat-material hotcoals)) - "hotcoals" - ) - (((pat-material deepsnow)) - "deepsnow" - ) - (((pat-material snow)) - "snow" - ) - (((pat-material pcmetal)) - "pcmetal" - ) - (((pat-material grass)) - "grass" - ) - (((pat-material wood)) - "wood" - ) - (((pat-material sand)) - "sand" - ) - (((pat-material tar)) - "tar" - ) - (((pat-material waterbottom)) - "waterbottom" - ) - (((pat-material quicksand)) - "quicksand" - ) - (((pat-material ice)) - "ice" - ) - (((pat-material stone)) - "stone" - ) - (else - "*unknown*" - ) - ) ) ;; definition (debug) for function pat-mode->string (defun-debug pat-mode->string ((arg0 pat-surface)) - (case (-> arg0 mode) - (((pat-mode obstacle)) + (case (-> arg0 mode) + (((pat-mode obstacle)) "obstacle" ) - (((pat-mode wall)) - "wall" + (((pat-mode wall)) + "wall" + ) + (((pat-mode ground)) + "ground" + ) + (else + "*unknown*" + ) ) - (((pat-mode ground)) - "ground" - ) - (else - "*unknown*" - ) - ) ) ;; definition (debug) for function pat-event->string (defun-debug pat-event->string ((arg0 pat-surface)) - (case (-> arg0 event) - (((pat-event melt)) + (case (-> arg0 event) + (((pat-event melt)) "melt" ) - (((pat-event burnup)) - "burnup" + (((pat-event burnup)) + "burnup" + ) + (((pat-event deadlyup)) + "deadlyup" + ) + (((pat-event burn)) + "burn" + ) + (((pat-event endlessfall)) + "endlessfall" + ) + (((pat-event deadly)) + "deadly" + ) + (((pat-event none)) + "none" + ) + (else + "*unknown*" + ) ) - (((pat-event deadlyup)) - "deadlyup" - ) - (((pat-event burn)) - "burn" - ) - (((pat-event endlessfall)) - "endlessfall" - ) - (((pat-event deadly)) - "deadly" - ) - (((pat-event none)) - "none" - ) - (else - "*unknown*" - ) - ) ) ;; definition of type pat-mode-info @@ -183,39 +183,37 @@ ) ;; definition for symbol *pat-mode-info*, type (inline-array pat-mode-info) -(define - *pat-mode-info* - (new 'static 'inline-array pat-mode-info 4 - (new 'static 'pat-mode-info - :name "ground" - :wall-angle 0.2 - :color (new 'static 'rgba :r #x7f :a #x40) - :hilite-color (new 'static 'rgba :r #xff :a #x80) - ) - (new 'static 'pat-mode-info - :name "wall" - :wall-angle 2.0 - :color (new 'static 'rgba :b #x7f :a #x40) - :hilite-color (new 'static 'rgba :b #xff :a #x80) - ) - (new 'static 'pat-mode-info - :name "obstacle" - :wall-angle 0.82 - :color - (new 'static 'rgba :r #x7f :b #x7f :a #x40) - :hilite-color - (new 'static 'rgba :r #xff :b #xff :a #x80) - ) - (new 'static 'pat-mode-info - :name "pole" - :wall-angle 2.0 - :color - (new 'static 'rgba :r #x7f :g #x7f :a #x40) - :hilite-color - (new 'static 'rgba :r #xff :g #xff :a #x80) - ) - ) - ) +(define *pat-mode-info* (new 'static 'inline-array pat-mode-info 4 + (new 'static 'pat-mode-info + :name "ground" + :wall-angle 0.2 + :color (new 'static 'rgba :r #x7f :a #x40) + :hilite-color (new 'static 'rgba :r #xff :a #x80) + ) + (new 'static 'pat-mode-info + :name "wall" + :wall-angle 2.0 + :color (new 'static 'rgba :b #x7f :a #x40) + :hilite-color (new 'static 'rgba :b #xff :a #x80) + ) + (new 'static 'pat-mode-info + :name "obstacle" + :wall-angle 0.82 + :color + (new 'static 'rgba :r #x7f :b #x7f :a #x40) + :hilite-color + (new 'static 'rgba :r #xff :b #xff :a #x80) + ) + (new 'static 'pat-mode-info + :name "pole" + :wall-angle 2.0 + :color + (new 'static 'rgba :r #x7f :g #x7f :a #x40) + :hilite-color + (new 'static 'rgba :r #xff :g #xff :a #x80) + ) + ) + ) ;; failed to figure out what this is: 0 diff --git a/test/decompiler/reference/engine/target/sidekick_REF.gc b/test/decompiler/reference/engine/target/sidekick_REF.gc index af98374661..af6c5af288 100644 --- a/test/decompiler/reference/engine/target/sidekick_REF.gc +++ b/test/decompiler/reference/engine/target/sidekick_REF.gc @@ -2,64 +2,26 @@ (in-package goal) ;; definition for symbol *sidekick-remap*, type pair -(define - *sidekick-remap* - '( - ("run-to-stance-left" - "run-to-stance" - ) - ("run-to-stance-loop-left" - "run-to-stance-loop" - ) - ("stance-loop-left" - "stance-loop" - ) - ("run-to-stance-right" - "run-to-stance" - ) - ("run-to-stance-loop-right" - "run-to-stance-loop" - ) - ("stance-loop-right" - "stance-loop" - ) - ("run-to-stance-up" - "run-to-stance" - ) - ("run-to-stance-loop-up" - "run-to-stance-loop" - ) - ("stance-loop-up" - "stance-loop" - ) - ("run-to-stance-down" - "run-to-stance" - ) - ("run-to-stance-loop-down" - "run-to-stance-loop" - ) - ("stance-loop-down" - "stance-loop" - ) - ("run-right" - "run" - ) - ("run-left" - "run" - ) - ("walk-right" - "walk" - ) - ("walk-left" - "walk" - ) - ("edge-grab-stance1" - "edge-grab-stance1" - "edge-grab-stance1-alt" - ) - ("pole-cycle" "pole-cycle" "pole-cycle2") - ) - ) +(define *sidekick-remap* '(("run-to-stance-left" "run-to-stance") + ("run-to-stance-loop-left" "run-to-stance-loop") + ("stance-loop-left" "stance-loop") + ("run-to-stance-right" "run-to-stance") + ("run-to-stance-loop-right" "run-to-stance-loop") + ("stance-loop-right" "stance-loop") + ("run-to-stance-up" "run-to-stance") + ("run-to-stance-loop-up" "run-to-stance-loop") + ("stance-loop-up" "stance-loop") + ("run-to-stance-down" "run-to-stance") + ("run-to-stance-loop-down" "run-to-stance-loop") + ("stance-loop-down" "stance-loop") + ("run-right" "run") + ("run-left" "run") + ("walk-right" "walk") + ("walk-left" "walk") + ("edge-grab-stance1" "edge-grab-stance1" "edge-grab-stance1-alt") + ("pole-cycle" "pole-cycle" "pole-cycle2") + ) + ) ;; definition for function cspace<-cspace+quaternion! (defun cspace<-cspace+quaternion! ((arg0 cspace) (arg1 cspace) (arg2 quaternion)) @@ -71,220 +33,184 @@ (vf4 :class vf) (vf5 :class vf) ) - (init-vf0-vector) - (let ((s5-0 (-> arg0 bone transform))) - (quaternion->matrix s5-0 arg2) - (.lvf vf1 (&-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad)) - (.lvf vf2 (&-> (-> arg1 bone) transform vector 3 quad)) - (.lvf vf3 (&-> s5-0 vector 0 quad)) - (.lvf vf4 (&-> s5-0 vector 1 quad)) - (.lvf vf5 (&-> s5-0 vector 2 quad)) - (.div.vf Q vf0 vf2 :fsf #b11 :ftf #b11) - (.wait.vf) - (.mul.vf vf2 vf2 Q :mask #b111) - (.mov.vf vf2 vf0 :mask #b1000) - (.mul.x.vf vf3 vf3 vf1) - (.mul.y.vf vf4 vf4 vf1) - (.mul.z.vf vf5 vf5 vf1) - (.svf (&-> s5-0 vector 3 quad) vf2) - (.svf (&-> s5-0 vector 0 quad) vf3) - (.svf (&-> s5-0 vector 1 quad) vf4) - (.svf (&-> s5-0 vector 2 quad) vf5) - s5-0 + (init-vf0-vector) + (let ((s5-0 (-> arg0 bone transform))) + (quaternion->matrix s5-0 arg2) + (.lvf vf1 (&-> (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0) quad)) + (.lvf vf2 (&-> (-> arg1 bone) transform vector 3 quad)) + (.lvf vf3 (&-> s5-0 vector 0 quad)) + (.lvf vf4 (&-> s5-0 vector 1 quad)) + (.lvf vf5 (&-> s5-0 vector 2 quad)) + (.div.vf Q vf0 vf2 :fsf #b11 :ftf #b11) + (.wait.vf) + (.mul.vf vf2 vf2 Q :mask #b111) + (.mov.vf vf2 vf0 :mask #b1000) + (.mul.x.vf vf3 vf3 vf1) + (.mul.y.vf vf4 vf4 vf1) + (.mul.z.vf vf5 vf5 vf1) + (.svf (&-> s5-0 vector 3 quad) vf2) + (.svf (&-> s5-0 vector 0 quad) vf3) + (.svf (&-> s5-0 vector 1 quad) vf4) + (.svf (&-> s5-0 vector 2 quad) vf5) + s5-0 + ) ) - ) ) ;; failed to figure out what this is: (defstate sidekick-clone (sidekick) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-0 object)) - (case arg2 - (('matrix) - (case (-> arg3 param 0) - (('play-anim) - (set! v0-0 (-> self node-list data)) - (set! - (-> (the-as (inline-array cspace) v0-0) 0 param0) - cspace<-cspace+quaternion! + (local-vars (v0-0 object)) + (case arg2 + (('matrix) + (case (-> arg3 param 0) + (('play-anim) + (set! v0-0 (-> self node-list data)) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) cspace<-cspace+quaternion!) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) + (the-as basic (-> self parent-override 0 node-list data)) + ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) + (the-as basic (-> self parent-override 0 control quat)) + ) ) - (set! - (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 node-list data)) - ) - (set! - (-> (the-as (inline-array cspace) v0-0) 0 param2) - (the-as basic (-> self parent-override 0 control quat)) + (('copy-parent) + (set! v0-0 (-> self node-list data)) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) cspace<-cspace!) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) + (the-as basic (-> self parent-override 0 node-list data)) + ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) #f) ) + (else + (set! v0-0 (-> self node-list data)) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) cspace<-cspace+quaternion!) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param1) + (the-as basic (-> self parent-override 0 control unknown-cspace10 parent)) + ) + (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) + (the-as basic (-> self parent-override 0 control quat)) + ) + ) ) - (('copy-parent) - (set! v0-0 (-> self node-list data)) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param0) cspace<-cspace!) - (set! - (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as basic (-> self parent-override 0 node-list data)) - ) - (set! (-> (the-as (inline-array cspace) v0-0) 0 param2) #f) - ) - (else - (set! v0-0 (-> self node-list data)) - (set! - (-> (the-as (inline-array cspace) v0-0) 0 param0) - cspace<-cspace+quaternion! - ) - (set! - (-> (the-as (inline-array cspace) v0-0) 0 param1) - (the-as - basic - (-> self parent-override 0 control unknown-cspace10 parent) - ) - ) - (set! - (-> (the-as (inline-array cspace) v0-0) 0 param2) - (the-as basic (-> self parent-override 0 control quat)) - ) - ) + v0-0 ) - v0-0 - ) - (('shadow) - (set! v0-0 (-> arg3 param 0)) - (set! (-> self shadow-in-movie?) (the-as symbol v0-0)) - v0-0 - ) - (('blend-shape) - (cond - ((-> arg3 param 0) - (set! v0-0 (logior (-> self skel status) 8)) - (set! (-> self skel status) (the-as uint v0-0)) + (('shadow) + (set! v0-0 (-> arg3 param 0)) + (set! (-> self shadow-in-movie?) (the-as symbol v0-0)) + v0-0 ) - (else - (set! v0-0 (logand -9 (-> self skel status))) - (set! (-> self skel status) (the-as uint v0-0)) + (('blend-shape) + (cond + ((-> arg3 param 0) + (set! v0-0 (logior (-> self skel status) 8)) + (set! (-> self skel status) (the-as uint v0-0)) + ) + (else + (set! v0-0 (logand -9 (-> self skel status))) + (set! (-> self skel status) (the-as uint v0-0)) + ) + ) + v0-0 ) ) - v0-0 - ) ) - ) :code (the-as (function none :behavior sidekick) looping-code) :post (behavior () - (let ((v1-0 'process-drawable-art-error) - (a0-0 (-> self parent-override)) - ) - (when (!= (-> (if a0-0 - (-> a0-0 0 self-override) - ) - next-state - name - ) - v1-0 - ) - (quaternion-copy! - (-> self root quat) - (-> self parent-override 0 control quat) + (let ((v1-0 'process-drawable-art-error) + (a0-0 (-> self parent-override)) + ) + (when (!= (-> (if a0-0 + (-> a0-0 0 self-override) + ) + next-state + name + ) + v1-0 + ) + (quaternion-copy! (-> self root quat) (-> self parent-override 0 control quat)) + (set! (-> self anim-seed) (-> self parent-override 0 anim-seed)) + (set! (-> self draw status) (-> self parent-override 0 draw status)) + (joint-control-copy! (-> self skel) (-> self parent-override 0 skel)) + (joint-control-remap! + (-> self skel) + (-> self draw art-group) + (-> self parent-override 0 draw art-group) + *sidekick-remap* + (the-as int (-> self anim-seed)) + "" + ) + (let ((v1-22 (-> self parent-override 0 draw color-mult quad))) + (set! (-> self draw color-mult quad) v1-22) + ) + (let ((v1-26 (-> self parent-override 0 draw color-emissive quad))) + (set! (-> self draw color-emissive quad) v1-26) + ) + (set! (-> self draw secondary-interp) (-> self parent-override 0 draw secondary-interp)) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (dummy-17 self) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x80 :a #x80) + ) + ) + (vector<-cspace! (-> self draw origin) (-> self node-list data (-> self draw origin-joint-index))) + ) ) - (set! (-> self anim-seed) (-> self parent-override 0 anim-seed)) - (set! (-> self draw status) (-> self parent-override 0 draw status)) - (joint-control-copy! (-> self skel) (-> self parent-override 0 skel)) - (joint-control-remap! - (-> self skel) - (-> self draw art-group) - (-> self parent-override 0 draw art-group) - *sidekick-remap* - (the-as int (-> self anim-seed)) - "" + (when *display-sidekick-stats* + (format *stdcon* "~%") + (dummy-10 (-> self skel) (the-as symbol *stdcon*)) + (add-debug-sphere + *display-sidekick-stats* + (bucket-id debug-draw1) + (-> self parent-override 0 control unknown-cspace10 parent bone transform vector 3) + 409.6 + (new 'static 'rgba :g #xff :a #x80) + ) + (add-debug-sphere + *display-sidekick-stats* + (bucket-id debug-draw1) + (-> self node-list data 3 bone transform vector 3) + 409.6 + (new 'static 'rgba :r #xff :g #xff :a #x80) + ) + (add-debug-sphere + *display-sidekick-stats* + (bucket-id debug-draw1) + (-> self draw origin) + 409.6 + (new 'static 'rgba :r #xff :g #x80 :a #x80) + ) ) - (let ((v1-22 (-> self parent-override 0 draw color-mult quad))) - (set! (-> self draw color-mult quad) v1-22) + (set! (-> self draw shadow) (the-as shadow-geo (if (and (movie?) (-> self shadow-in-movie?)) + (-> self draw art-group data 2) + ) + ) + ) + (let ((a0-26 (-> self skel effect))) + (if a0-26 + (TODO-RENAME-9 a0-26) + ) ) - (let ((v1-26 (-> self parent-override 0 draw color-emissive quad))) - (set! (-> self draw color-emissive quad) v1-26) - ) - (set! - (-> self draw secondary-interp) - (-> self parent-override 0 draw secondary-interp) - ) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) - ) - (dummy-17 self) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x80 :a #x80) - ) - ) - (vector<-cspace! - (-> self draw origin) - (-> self node-list data (-> self draw origin-joint-index)) - ) - ) + (if (logtest? (-> self skel status) 72) + (merc-blend-shape self) + ) + (if (logtest? (-> self skel status) 384) + (merc-eye-anim self) + ) + (none) ) - (when *display-sidekick-stats* - (format *stdcon* "~%") - (dummy-10 (-> self skel) (the-as symbol *stdcon*)) - (add-debug-sphere - *display-sidekick-stats* - (bucket-id debug-draw1) - (-> - self - parent-override - 0 - control - unknown-cspace10 - parent - bone - transform - vector - 3 - ) - 409.6 - (new 'static 'rgba :g #xff :a #x80) - ) - (add-debug-sphere - *display-sidekick-stats* - (bucket-id debug-draw1) - (-> self node-list data 3 bone transform vector 3) - 409.6 - (new 'static 'rgba :r #xff :g #xff :a #x80) - ) - (add-debug-sphere - *display-sidekick-stats* - (bucket-id debug-draw1) - (-> self draw origin) - 409.6 - (new 'static 'rgba :r #xff :g #x80 :a #x80) - ) - ) - (set! - (-> self draw shadow) - (the-as shadow-geo (if (and (movie?) (-> self shadow-in-movie?)) - (-> self draw art-group data 2) - ) - ) - ) - (let ((a0-26 (-> self skel effect))) - (if a0-26 - (TODO-RENAME-9 a0-26) - ) - ) - (if (logtest? (-> self skel status) 72) - (merc-blend-shape self) - ) - (if (logtest? (-> self skel status) 384) - (merc-eye-anim self) - ) - (none) - ) ) ;; failed to figure out what this is: @@ -312,16 +238,10 @@ (set! (-> self draw shadow-ctrl) *target-shadow-control*) (logior! (-> self skel status) 256) (let ((v1-14 (-> self node-list data))) - (set! (-> v1-14 0 param0) cspace<-cspace+quaternion!) - (set! - (-> v1-14 0 param1) - (the-as basic (-> self parent-override 0 control unknown-cspace10 parent)) + (set! (-> v1-14 0 param0) cspace<-cspace+quaternion!) + (set! (-> v1-14 0 param1) (the-as basic (-> self parent-override 0 control unknown-cspace10 parent))) + (set! (-> v1-14 0 param2) (the-as basic (-> self parent-override 0 control quat))) ) - (set! - (-> v1-14 0 param2) - (the-as basic (-> self parent-override 0 control quat)) - ) - ) (set! (-> self shadow-in-movie?) #t) (go sidekick-clone) (none) diff --git a/test/decompiler/reference/engine/target/surface-h_REF.gc b/test/decompiler/reference/engine/target/surface-h_REF.gc index e34278acb1..2641b138cd 100644 --- a/test/decompiler/reference/engine/target/surface-h_REF.gc +++ b/test/decompiler/reference/engine/target/surface-h_REF.gc @@ -87,103 +87,79 @@ ;; definition for function calc-terminal2-vel (defun calc-terminal2-vel ((arg0 float) (arg1 float) (arg2 float) (arg3 float)) (let ((f0-4 (sqrtf (/ (- (* 0.016666668 arg0) arg1) arg2)))) - (- f0-4 (+ arg1 (* arg2 (* f0-4 f0-4)))) - ) + (- f0-4 (+ arg1 (* arg2 (* f0-4 f0-4)))) + ) ) ;; definition for function calc-terminal4-vel (defun calc-terminal4-vel ((arg0 float) (arg1 float) (arg2 float)) (let ((f0-5 (sqrtf (sqrtf (/ (- (* 0.016666668 arg0) arg1) arg2))))) - (- f0-5 (+ arg1 (* arg2 (* f0-5 f0-5 f0-5 f0-5)))) - ) + (- f0-5 (+ arg1 (* arg2 (* f0-5 f0-5 f0-5 f0-5)))) + ) ) ;; definition for method 2 of type surface (defmethod print surface ((obj surface)) (format - #t - "# obj turnv) - (-> obj turnvv) - (-> obj tiltv) - (-> obj tiltvv) - (-> obj transv-max) - ) - (format - #t - " tm:~m rv:~R rvv:~R @ #x~X>" - (-> obj target-speed) - (-> obj seek0) - (-> obj seek90) - obj - ) + #t + "# obj turnv) + (-> obj turnvv) + (-> obj tiltv) + (-> obj tiltvv) + (-> obj transv-max) + ) + (format #t " tm:~m rv:~R rvv:~R @ #x~X>" (-> obj target-speed) (-> obj seek0) (-> obj seek90) obj) obj ) ;; definition for function surface-interp! -(defun - surface-interp! - ((dst surface) (src0 surface) (src1 surface) (amount float)) +(defun surface-interp! ((dst surface) (src0 surface) (src1 surface) (amount float)) (dotimes (v1-0 30) - (set! - (-> dst data v1-0) - (+ (* (-> src1 data v1-0) amount) (* (-> src0 data v1-0) (- 1.0 amount))) + (set! (-> dst data v1-0) (+ (* (-> src1 data v1-0) amount) (* (-> src0 data v1-0) (- 1.0 amount)))) ) - ) (dotimes (v1-3 4) - (set! (-> dst hook v1-3) (cond - ((and - (nonzero? (-> src1 hook v1-3)) - (!= (-> src1 hook v1-3) nothing) + (set! (-> dst hook v1-3) (cond + ((and (nonzero? (-> src1 hook v1-3)) (!= (-> src1 hook v1-3) nothing)) + (-> src1 hook v1-3) + ) + ((and (nonzero? (-> src0 hook v1-3)) (!= (-> src0 hook v1-3) nothing)) + (-> src0 hook v1-3) + ) + (else + nothing + ) ) - (-> src1 hook v1-3) - ) - ((and - (nonzero? (-> src0 hook v1-3)) - (!= (-> src0 hook v1-3) nothing) - ) - (-> src0 hook v1-3) - ) - (else - nothing - ) - ) + ) ) - ) (dotimes (v1-6 2) - (set! (-> dst dataw v1-6) (-> src1 dataw v1-6)) - ) + (set! (-> dst dataw v1-6) (-> src1 dataw v1-6)) + ) dst ) ;; definition for function surface-mult! (defun surface-mult! ((dst surface) (src0 surface) (src1 surface)) (dotimes (v1-0 30) - (set! (-> dst data v1-0) (* (-> src1 data v1-0) (-> src0 data v1-0))) - ) - (dotimes (v1-3 4) - (set! (-> dst hook v1-3) (cond - ((and - (nonzero? (-> src1 hook v1-3)) - (!= (-> src1 hook v1-3) nothing) - ) - (-> src1 hook v1-3) - ) - ((and - (nonzero? (-> src0 hook v1-3)) - (!= (-> src0 hook v1-3) nothing) - ) - (-> src0 hook v1-3) - ) - (else - nothing - ) - ) + (set! (-> dst data v1-0) (* (-> src1 data v1-0) (-> src0 data v1-0))) + ) + (dotimes (v1-3 4) + (set! (-> dst hook v1-3) (cond + ((and (nonzero? (-> src1 hook v1-3)) (!= (-> src1 hook v1-3) nothing)) + (-> src1 hook v1-3) + ) + ((and (nonzero? (-> src0 hook v1-3)) (!= (-> src0 hook v1-3) nothing)) + (-> src0 hook v1-3) + ) + (else + nothing + ) + ) + ) ) - ) (dotimes (v1-6 2) - (set! (-> dst dataw v1-6) (-> src1 dataw v1-6)) - ) + (set! (-> dst dataw v1-6) (-> src1 dataw v1-6)) + ) (set! (-> dst flags) (logior (-> src0 flags) (-> src1 flags))) ((-> dst mult-hook) dst src0 src1 1) dst @@ -191,820 +167,763 @@ ;; definition for function surface-clamp-speed ;; INFO: Return type mismatch float vs none. -(defun - surface-clamp-speed - ((arg0 surface) (arg1 surface) (arg2 surface) (arg3 int)) +(defun surface-clamp-speed ((arg0 surface) (arg1 surface) (arg2 surface) (arg3 int)) (when (= arg3 1) - (set! (-> arg0 transv-max) (fmin (-> arg0 transv-max) (-> arg1 transv-max))) - (set! - (-> arg0 target-speed) - (fmin (-> arg0 target-speed) (-> arg1 target-speed)) + (set! (-> arg0 transv-max) (fmin (-> arg0 transv-max) (-> arg1 transv-max))) + (set! (-> arg0 target-speed) (fmin (-> arg0 target-speed) (-> arg1 target-speed))) ) - ) (none) ) ;; definition for symbol *walk-mods*, type surface -(define - *walk-mods* - (new 'static 'surface - :name 'run - :turnv 131072.0 - :turnvv 524288.0 - :tiltv 65536.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :seek0 1.0 - :seek90 1.0 - :seek180 1.0 - :fric 1.0 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :flags #x1 - ) - ) +(define *walk-mods* (new 'static 'surface + :name 'run + :turnv 131072.0 + :turnvv 524288.0 + :tiltv 65536.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :seek0 1.0 + :seek90 1.0 + :seek180 1.0 + :fric 1.0 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :flags #x1 + ) + ) ;; definition for symbol *walk-no-turn-mods*, type surface -(define - *walk-no-turn-mods* - (new 'static 'surface - :name 'run - :tiltv 65536.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :seek0 1.0 - :seek90 1.0 - :seek180 1.0 - :fric 1.0 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - ) - ) +(define *walk-no-turn-mods* (new 'static 'surface + :name 'run + :tiltv 65536.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :seek0 1.0 + :seek90 1.0 + :seek180 1.0 + :fric 1.0 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + ) + ) ;; definition for symbol *turn-around-mods*, type surface -(define - *turn-around-mods* - (new 'static 'surface - :name 'run - :tiltv 65536.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :fric 0.1 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - ) - ) +(define *turn-around-mods* (new 'static 'surface + :name 'run + :tiltv 65536.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :fric 0.1 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + ) + ) ;; failed to figure out what this is: -(let - ((a0-3 - (new 'static 'surface - :name 'duck - :turnv 131072.0 - :turnvv 524288.0 - :tiltv 65536.0 - :tiltvv 291271.12 - :transv-max 16384.0 - :target-speed 16384.0 - :seek0 1.0 - :seek90 1.0 - :seek180 1.0 - :fric 1.0 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :flags #x2000 - ) - ) - ) +(let ((a0-3 (new 'static 'surface + :name 'duck + :turnv 131072.0 + :turnvv 524288.0 + :tiltv 65536.0 + :tiltvv 291271.12 + :transv-max 16384.0 + :target-speed 16384.0 + :seek0 1.0 + :seek90 1.0 + :seek180 1.0 + :fric 1.0 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :flags #x2000 + ) + ) + ) (set! (-> a0-3 mult-hook) surface-clamp-speed) (set! *duck-mods* a0-3) ) ;; definition for symbol *duck-attack-mods*, type surface -(define - *duck-attack-mods* - (new 'static 'surface - :name 'duck - :tiltv 65536.0 - :tiltvv 291271.12 - :transv-max 16384.0 - :target-speed 16384.0 - :seek0 1.0 - :seek90 1.0 - :seek180 1.0 - :fric 1.0 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'attack - :flags #x3000 - ) - ) +(define *duck-attack-mods* (new 'static 'surface + :name 'duck + :tiltv 65536.0 + :tiltvv 291271.12 + :transv-max 16384.0 + :target-speed 16384.0 + :seek0 1.0 + :seek90 1.0 + :seek180 1.0 + :fric 1.0 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'attack + :flags #x3000 + ) + ) ;; definition for symbol *jump-mods*, type surface -(define - *jump-mods* - (new 'static 'surface - :name 'jump - :turnv 131072.0 - :turnvv 18204.445 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :seek0 0.3 - :seek90 0.3 - :seek180 0.3 - :fric 0.2 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #xc00 - ) - ) +(define *jump-mods* (new 'static 'surface + :name 'jump + :turnv 131072.0 + :turnvv 18204.445 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :seek0 0.3 + :seek90 0.3 + :seek180 0.3 + :fric 0.2 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #xc00 + ) + ) ;; definition for symbol *double-jump-mods*, type surface -(define - *double-jump-mods* - (new 'static 'surface - :name 'jump-double - :turnv 131072.0 - :turnvv 18204.445 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 32768.0 - :target-speed 32768.0 - :seek0 0.3 - :seek90 0.3 - :seek180 0.3 - :fric 0.2 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #xc00 - ) - ) +(define *double-jump-mods* (new 'static 'surface + :name 'jump-double + :turnv 131072.0 + :turnvv 18204.445 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 32768.0 + :target-speed 32768.0 + :seek0 0.3 + :seek90 0.3 + :seek180 0.3 + :fric 0.2 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #xc00 + ) + ) ;; definition for symbol *smack-jump-mods*, type surface -(define - *smack-jump-mods* - (new 'static 'surface - :name 'jump - :turnv 131072.0 - :turnvv 18204.445 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :seek0 0.3 - :seek90 0.3 - :seek180 0.3 - :fric 0.05 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #xc00 - ) - ) +(define *smack-jump-mods* (new 'static 'surface + :name 'jump + :turnv 131072.0 + :turnvv 18204.445 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :seek0 0.3 + :seek90 0.3 + :seek180 0.3 + :fric 0.05 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #xc00 + ) + ) ;; definition for symbol *high-jump-mods*, type surface -(define - *high-jump-mods* - (new 'static 'surface - :name 'high-jump - :turnv 131072.0 - :turnvv 65536.0 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 26624.0 - :target-speed 26624.0 - :seek0 0.9 - :seek90 0.9 - :seek180 0.9 - :fric 0.3 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #xc00 - ) - ) +(define *high-jump-mods* (new 'static 'surface + :name 'high-jump + :turnv 131072.0 + :turnvv 65536.0 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 26624.0 + :target-speed 26624.0 + :seek0 0.9 + :seek90 0.9 + :seek180 0.9 + :fric 0.3 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #xc00 + ) + ) ;; definition for symbol *launch-jump-mods*, type surface -(define - *launch-jump-mods* - (new 'static 'surface - :name 'launch-jump - :turnv 18204.445 - :turnvv 65536.0 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 61440.0 - :target-speed 61440.0 - :seek0 0.9 - :seek90 0.9 - :seek180 0.9 - :fric 0.3 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #xc80 - ) - ) +(define *launch-jump-mods* (new 'static 'surface + :name 'launch-jump + :turnv 18204.445 + :turnvv 65536.0 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 61440.0 + :target-speed 61440.0 + :seek0 0.9 + :seek90 0.9 + :seek180 0.9 + :fric 0.3 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #xc80 + ) + ) ;; definition for symbol *forward-high-jump-mods*, type surface -(define - *forward-high-jump-mods* - (new 'static 'surface - :name 'high-jump - :turnv 131072.0 - :turnvv 65536.0 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 45056.0 - :target-speed 45056.0 - :seek0 0.9 - :seek90 0.9 - :seek180 0.9 - :fric 0.3 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #xc00 - ) - ) +(define *forward-high-jump-mods* (new 'static 'surface + :name 'high-jump + :turnv 131072.0 + :turnvv 65536.0 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 45056.0 + :target-speed 45056.0 + :seek0 0.9 + :seek90 0.9 + :seek180 0.9 + :fric 0.3 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #xc00 + ) + ) ;; definition for symbol *flip-jump-mods*, type surface -(define - *flip-jump-mods* - (new 'static 'surface - :name 'high-jump - :turnv 131072.0 - :turnvv 65536.0 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 80281.6 - :target-speed 51200.0 - :seek0 0.9 - :seek90 0.9 - :seek180 0.9 - :fric 0.3 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #xc00 - ) - ) +(define *flip-jump-mods* (new 'static 'surface + :name 'high-jump + :turnv 131072.0 + :turnvv 65536.0 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 80281.6 + :target-speed 51200.0 + :seek0 0.9 + :seek90 0.9 + :seek180 0.9 + :fric 0.3 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #xc00 + ) + ) ;; definition for symbol *forward-jump-mods*, type surface -(define - *forward-jump-mods* - (new 'static 'surface - :name 'jump - :turnv 131072.0 - :turnvv 18204.445 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 65536.0 - :target-speed 65536.0 - :seek0 0.3 - :seek90 0.3 - :seek180 0.3 - :fric 0.05 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #xc00 - ) - ) +(define *forward-jump-mods* (new 'static 'surface + :name 'jump + :turnv 131072.0 + :turnvv 18204.445 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 65536.0 + :target-speed 65536.0 + :seek0 0.3 + :seek90 0.3 + :seek180 0.3 + :fric 0.05 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #xc00 + ) + ) ;; definition for symbol *forward-pole-jump-mods*, type surface -(define - *forward-pole-jump-mods* - (new 'static 'surface - :name 'jump - :turnv 131072.0 - :turnvv 18204.445 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 53248.0 - :target-speed 53248.0 - :seek0 0.3 - :seek90 0.3 - :seek180 0.3 - :fric 0.05 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #xc00 - ) - ) +(define *forward-pole-jump-mods* (new 'static 'surface + :name 'jump + :turnv 131072.0 + :turnvv 18204.445 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 53248.0 + :target-speed 53248.0 + :seek0 0.3 + :seek90 0.3 + :seek180 0.3 + :fric 0.05 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #xc00 + ) + ) ;; definition for symbol *attack-mods*, type surface -(define - *attack-mods* - (new 'static 'surface - :name 'attack - :tiltv 65536.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :seek0 1.0 - :seek90 1.0 - :seek180 1.0 - :fric 1.0 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'attack - :flags #x1000 - ) - ) +(define *attack-mods* (new 'static 'surface + :name 'attack + :tiltv 65536.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :seek0 1.0 + :seek90 1.0 + :seek180 1.0 + :fric 1.0 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'attack + :flags #x1000 + ) + ) ;; definition for symbol *jump-attack-mods*, type surface -(define - *jump-attack-mods* - (new 'static 'surface - :name 'attack - :turnvv 18204.445 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 24576.0 - :target-speed 24576.0 - :seek0 0.9 - :seek90 0.9 - :seek180 0.9 - :fric 0.2 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #x1c00 - ) - ) +(define *jump-attack-mods* (new 'static 'surface + :name 'attack + :turnvv 18204.445 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 24576.0 + :target-speed 24576.0 + :seek0 0.9 + :seek90 0.9 + :seek180 0.9 + :fric 0.2 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #x1c00 + ) + ) ;; failed to figure out what this is: -(let - ((a0-4 - (new 'static 'surface - :name 'uppercut - :turnvv 18204.445 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 32768.0 - :target-speed 32768.0 - :seek0 0.3 - :seek90 0.3 - :seek180 0.3 - :fric 0.2 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #x1c00 - ) - ) - ) +(let ((a0-4 (new 'static 'surface + :name 'uppercut + :turnvv 18204.445 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 32768.0 + :target-speed 32768.0 + :seek0 0.3 + :seek90 0.3 + :seek180 0.3 + :fric 0.2 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #x1c00 + ) + ) + ) (set! (-> a0-4 mult-hook) surface-clamp-speed) (set! *uppercut-jump-mods* a0-4) ) ;; definition for symbol *run-attack-mods*, type surface -(define - *run-attack-mods* - (new 'static 'surface - :name 'wheel-flip - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 91750.4 - :target-speed 122880.0 - :seek90 0.5 - :seek180 0.15 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 0.25 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'attack - :flags #x1018 - ) - ) +(define *run-attack-mods* (new 'static 'surface + :name 'wheel-flip + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 91750.4 + :target-speed 122880.0 + :seek90 0.5 + :seek180 0.15 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 0.25 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'attack + :flags #x1018 + ) + ) ;; definition for symbol *wheel-mods*, type surface -(define - *wheel-mods* - (new 'static 'surface - :name 'wheel - :turnv 131072.0 - :turnvv 5461.3335 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 91750.4 - :target-speed 11468.8 - :seek0 1.0 - :seek90 1.0 - :seek180 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 0.25 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'attack - :flags #x1000 - ) - ) +(define *wheel-mods* (new 'static 'surface + :name 'wheel + :turnv 131072.0 + :turnvv 5461.3335 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 91750.4 + :target-speed 11468.8 + :seek0 1.0 + :seek90 1.0 + :seek180 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 0.25 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'attack + :flags #x1000 + ) + ) ;; definition for symbol *wheel-flip-mods*, type surface -(define - *wheel-flip-mods* - (new 'static 'surface - :name 'wheel-flip - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 91750.4 - :target-speed 103219.195 - :seek90 0.5 - :seek180 0.15 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 0.25 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'attack - :flags #x1c00 - ) - ) +(define *wheel-flip-mods* (new 'static 'surface + :name 'wheel-flip + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 91750.4 + :target-speed 103219.195 + :seek90 0.5 + :seek180 0.15 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 0.25 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'attack + :flags #x1c00 + ) + ) ;; definition for symbol *flop-mods*, type surface -(define - *flop-mods* - (new 'static 'surface - :name 'flop - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :seek0 1.0 - :seek90 0.3 - :seek180 1.5 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 0.25 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'attack - :flags #x1800 - ) - ) +(define *flop-mods* (new 'static 'surface + :name 'flop + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :seek0 1.0 + :seek90 0.3 + :seek180 1.5 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 0.25 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'attack + :flags #x1800 + ) + ) ;; failed to figure out what this is: -(let - ((a0-5 - (new 'static 'surface - :name 'flop - :turnv 9102.223 - :turnvv 9102.223 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :seek0 0.3 - :seek90 0.1 - :seek180 0.15 - :fric 0.2 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 0.25 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #x800 - ) - ) - ) +(let ((a0-5 (new 'static 'surface + :name 'flop + :turnv 9102.223 + :turnvv 9102.223 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :seek0 0.3 + :seek90 0.1 + :seek180 0.15 + :fric 0.2 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 0.25 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #x800 + ) + ) + ) (set! (-> a0-5 mult-hook) surface-clamp-speed) (set! *flop-land-mods* a0-5) ) ;; definition for symbol *wade-mods*, type surface -(define - *wade-mods* - (new 'static 'surface - :name 'wade - :turnv 131072.0 - :turnvv 524288.0 - :tiltv 65536.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :seek0 1.0 - :seek90 0.5 - :seek180 0.5 - :fric 1.0 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'wade - :flags #x1 - ) - ) +(define *wade-mods* (new 'static 'surface + :name 'wade + :turnv 131072.0 + :turnvv 524288.0 + :tiltv 65536.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :seek0 1.0 + :seek90 0.5 + :seek180 0.5 + :fric 1.0 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'wade + :flags #x1 + ) + ) ;; definition for symbol *swim-mods*, type surface -(define - *swim-mods* - (new 'static 'surface - :name 'swim - :turnv 49152.0 - :turnvv 524288.0 - :tiltv 65536.0 - :tiltvv 131072.0 - :transv-max 28672.0 - :target-speed 28672.0 - :seek0 0.75 - :seek90 0.2 - :seek180 0.2 - :fric 0.05 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'swim - ) - ) +(define *swim-mods* (new 'static 'surface + :name 'swim + :turnv 49152.0 + :turnvv 524288.0 + :tiltv 65536.0 + :tiltvv 131072.0 + :transv-max 28672.0 + :target-speed 28672.0 + :seek0 0.75 + :seek90 0.2 + :seek180 0.2 + :fric 0.05 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'swim + ) + ) ;; definition for symbol *dive-mods*, type surface -(define - *dive-mods* - (new 'static 'surface - :name 'swim - :turnv 21845.334 - :turnvv 32768.0 - :tiltv 65536.0 - :tiltvv 131072.0 - :transv-max 20480.0 - :target-speed 20480.0 - :seek0 0.05 - :seek90 0.05 - :seek180 0.05 - :fric 1.0 - :nonlin-fric-dist 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :align-speed 1.0 - :mode 'dive - :flags #x2 - ) - ) +(define *dive-mods* (new 'static 'surface + :name 'swim + :turnv 21845.334 + :turnvv 32768.0 + :tiltv 65536.0 + :tiltvv 131072.0 + :transv-max 20480.0 + :target-speed 20480.0 + :seek0 0.05 + :seek90 0.05 + :seek180 0.05 + :fric 1.0 + :nonlin-fric-dist 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :align-speed 1.0 + :mode 'dive + :flags #x2 + ) + ) ;; definition for symbol *dive-bottom-mods*, type surface -(define - *dive-bottom-mods* - (new 'static 'surface - :name 'swim-bottom - :turnv 21845.334 - :turnvv 32768.0 - :tiltv 65536.0 - :tiltvv 131072.0 - :transv-max 20480.0 - :target-speed 20480.0 - :seek0 0.1 - :seek90 0.05 - :seek180 0.05 - :fric 1.0 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'dive - :flags #x2 - ) - ) +(define *dive-bottom-mods* (new 'static 'surface + :name 'swim-bottom + :turnv 21845.334 + :turnvv 32768.0 + :tiltv 65536.0 + :tiltvv 131072.0 + :transv-max 20480.0 + :target-speed 20480.0 + :seek0 0.1 + :seek90 0.05 + :seek180 0.05 + :fric 1.0 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'dive + :flags #x2 + ) + ) ;; failed to figure out what this is: (let ((a0-7 (copy *walk-mods* 'global))) @@ -1028,363 +947,307 @@ ) ;; definition for symbol *empty-mods*, type surface -(define - *empty-mods* - (new 'static 'surface - :name 'empty - :seek0 1.0 - :seek90 1.0 - :seek180 1.0 - :fric 1.0 - ) - ) +(define *empty-mods* (new 'static 'surface :name 'empty :seek0 1.0 :seek90 1.0 :seek180 1.0 :fric 1.0)) ;; definition for symbol *neutral-mods*, type surface -(define - *neutral-mods* - (new 'static 'surface - :name 'walk - :turnv 131072.0 - :turnvv 524288.0 - :tiltv 65536.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - ) - ) +(define *neutral-mods* (new 'static 'surface + :name 'walk + :turnv 131072.0 + :turnvv 524288.0 + :tiltv 65536.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + ) + ) ;; failed to figure out what this is: -(let - ((v1-41 - (new 'static 'surface - :name '*stone-surface* - :turnv 1.0 - :turnvv 1.0 - :tiltv 1.0 - :tiltvv 1.0 - :transv-max 1.0 - :target-speed 1.0 - :seek0 153600.0 - :seek90 153600.0 - :seek180 256000.0 - :fric 153600.0 - :nonlin-fric-dist 5120.0 - :slip-factor 1.0 - :slope-down-factor 10240.0 - :slope-slip-angle 8192.0 - :impact-fric 1.0 - :bend-factor 0.8 - :bend-speed 4.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - ) - ) - ) +(let ((v1-41 (new 'static 'surface + :name '*stone-surface* + :turnv 1.0 + :turnvv 1.0 + :tiltv 1.0 + :tiltvv 1.0 + :transv-max 1.0 + :target-speed 1.0 + :seek0 153600.0 + :seek90 153600.0 + :seek180 256000.0 + :fric 153600.0 + :nonlin-fric-dist 5120.0 + :slip-factor 1.0 + :slope-down-factor 10240.0 + :slope-slip-angle 8192.0 + :impact-fric 1.0 + :bend-factor 0.8 + :bend-speed 4.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + ) + ) + ) (set! *stone-surface* v1-41) - (set! - (-> v1-41 mult-hook) - (the-as (function surface surface surface int none) nothing) - ) + (set! (-> v1-41 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-41 touch-hook) nothing) (set! (-> v1-41 active-hook) nothing) ) ;; failed to figure out what this is: -(let - ((v1-42 - (new 'static 'surface - :name '*edge-surface* - :turnv 1.0 - :turnvv 1.0 - :tiltv 1.0 - :tiltvv 1.0 - :transv-max 1.0 - :target-speed 1.0 - :seek0 153600.0 - :seek90 153600.0 - :seek180 256000.0 - :fric 30720.0 - :nonlin-fric-dist 5120.0 - :slip-factor 1.0 - :slope-down-factor 18432.0 - :slope-slip-angle 8192.0 - :bend-factor 0.8 - :bend-speed 4.0 - :alignv 1.0 - :align-speed 1.0 - ) - ) - ) +(let ((v1-42 (new 'static 'surface + :name '*edge-surface* + :turnv 1.0 + :turnvv 1.0 + :tiltv 1.0 + :tiltvv 1.0 + :transv-max 1.0 + :target-speed 1.0 + :seek0 153600.0 + :seek90 153600.0 + :seek180 256000.0 + :fric 30720.0 + :nonlin-fric-dist 5120.0 + :slip-factor 1.0 + :slope-down-factor 18432.0 + :slope-slip-angle 8192.0 + :bend-factor 0.8 + :bend-speed 4.0 + :alignv 1.0 + :align-speed 1.0 + ) + ) + ) (set! *edge-surface* v1-42) - (set! - (-> v1-42 mult-hook) - (the-as (function surface surface surface int none) nothing) - ) + (set! (-> v1-42 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-42 touch-hook) nothing) (set! (-> v1-42 active-hook) nothing) ) ;; failed to figure out what this is: -(let - ((v1-43 - (new 'static 'surface - :name '*wade-surface* - :turnv 1.0 - :turnvv 1.0 - :tiltv 1.0 - :tiltvv 1.0 - :transv-max 0.7 - :target-speed 0.7 - :seek0 153600.0 - :seek90 153600.0 - :seek180 256000.0 - :fric 153600.0 - :nonlin-fric-dist 5120.0 - :slip-factor 1.0 - :slope-down-factor 10240.0 - :slope-slip-angle 8192.0 - :impact-fric 1.0 - :bend-factor 0.8 - :bend-speed 4.0 - :alignv 0.6 - :slope-up-traction 1.0 - :align-speed 0.6 - ) - ) - ) +(let ((v1-43 (new 'static 'surface + :name '*wade-surface* + :turnv 1.0 + :turnvv 1.0 + :tiltv 1.0 + :tiltvv 1.0 + :transv-max 0.7 + :target-speed 0.7 + :seek0 153600.0 + :seek90 153600.0 + :seek180 256000.0 + :fric 153600.0 + :nonlin-fric-dist 5120.0 + :slip-factor 1.0 + :slope-down-factor 10240.0 + :slope-slip-angle 8192.0 + :impact-fric 1.0 + :bend-factor 0.8 + :bend-speed 4.0 + :alignv 0.6 + :slope-up-traction 1.0 + :align-speed 0.6 + ) + ) + ) (set! *wade-surface* v1-43) - (set! - (-> v1-43 mult-hook) - (the-as (function surface surface surface int none) nothing) - ) + (set! (-> v1-43 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-43 touch-hook) nothing) (set! (-> v1-43 active-hook) nothing) ) ;; failed to figure out what this is: -(let - ((v1-44 - (new 'static 'surface - :name '*slope-surface* - :turnv 1.0 - :turnvv 1.0 - :tiltv 1.0 - :tiltvv 1.0 - :transv-max 1.0 - :target-speed 1.0 - :seek0 122880.0 - :seek90 245760.0 - :seek180 409600.0 - :fric 122880.0 - :nonlin-fric-dist 4096.0 - :slip-factor 1.0 - :slope-up-factor 40960.0 - :slope-down-factor 8192.0 - :slope-slip-angle 8192.0 - :impact-fric 1.0 - :bend-factor 0.8 - :bend-speed 4.0 - :alignv 1.0 - :align-speed 1.0 - ) - ) - ) +(let ((v1-44 (new 'static 'surface + :name '*slope-surface* + :turnv 1.0 + :turnvv 1.0 + :tiltv 1.0 + :tiltvv 1.0 + :transv-max 1.0 + :target-speed 1.0 + :seek0 122880.0 + :seek90 245760.0 + :seek180 409600.0 + :fric 122880.0 + :nonlin-fric-dist 4096.0 + :slip-factor 1.0 + :slope-up-factor 40960.0 + :slope-down-factor 8192.0 + :slope-slip-angle 8192.0 + :impact-fric 1.0 + :bend-factor 0.8 + :bend-speed 4.0 + :alignv 1.0 + :align-speed 1.0 + ) + ) + ) (set! *slope-surface* v1-44) - (set! - (-> v1-44 mult-hook) - (the-as (function surface surface surface int none) nothing) - ) + (set! (-> v1-44 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-44 touch-hook) nothing) (set! (-> v1-44 active-hook) nothing) ) ;; failed to figure out what this is: -(let - ((v1-45 - (new 'static 'surface - :name '*quicksand-surface* - :turnv 0.25 - :turnvv 1.0 - :tiltv 1.0 - :tiltvv 1.0 - :transv-max 0.5 - :target-speed 0.5 - :seek0 81920.0 - :seek90 83968.0 - :seek180 165888.0 - :fric 329728.0 - :nonlin-fric-dist 5120.0 - :slip-factor 1.0 - :slope-down-factor 10240.0 - :slope-slip-angle 8192.0 - :impact-fric 1.0 - :bend-factor 0.8 - :bend-speed 4.0 - :alignv 0.5 - :slope-up-traction 1.0 - :align-speed 0.5 - ) - ) - ) +(let ((v1-45 (new 'static 'surface + :name '*quicksand-surface* + :turnv 0.25 + :turnvv 1.0 + :tiltv 1.0 + :tiltvv 1.0 + :transv-max 0.5 + :target-speed 0.5 + :seek0 81920.0 + :seek90 83968.0 + :seek180 165888.0 + :fric 329728.0 + :nonlin-fric-dist 5120.0 + :slip-factor 1.0 + :slope-down-factor 10240.0 + :slope-slip-angle 8192.0 + :impact-fric 1.0 + :bend-factor 0.8 + :bend-speed 4.0 + :alignv 0.5 + :slope-up-traction 1.0 + :align-speed 0.5 + ) + ) + ) (set! *quicksand-surface* v1-45) - (set! - (-> v1-45 mult-hook) - (the-as (function surface surface surface int none) nothing) - ) + (set! (-> v1-45 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-45 touch-hook) nothing) (set! (-> v1-45 active-hook) nothing) ) ;; failed to figure out what this is: -(let - ((v1-46 - (new 'static 'surface - :name '*tar-surface* - :turnv 0.25 - :turnvv 1.0 - :tiltv 1.0 - :tiltvv 1.0 - :transv-max 0.4 - :target-speed 0.4 - :seek0 81920.0 - :seek90 83968.0 - :seek180 165888.0 - :fric 329728.0 - :nonlin-fric-dist 5120.0 - :slip-factor 1.0 - :slope-down-factor 10240.0 - :slope-slip-angle 8192.0 - :impact-fric 1.0 - :bend-factor 0.8 - :bend-speed 4.0 - :alignv 0.5 - :slope-up-traction 1.0 - :align-speed 0.5 - ) - ) - ) +(let ((v1-46 (new 'static 'surface + :name '*tar-surface* + :turnv 0.25 + :turnvv 1.0 + :tiltv 1.0 + :tiltvv 1.0 + :transv-max 0.4 + :target-speed 0.4 + :seek0 81920.0 + :seek90 83968.0 + :seek180 165888.0 + :fric 329728.0 + :nonlin-fric-dist 5120.0 + :slip-factor 1.0 + :slope-down-factor 10240.0 + :slope-slip-angle 8192.0 + :impact-fric 1.0 + :bend-factor 0.8 + :bend-speed 4.0 + :alignv 0.5 + :slope-up-traction 1.0 + :align-speed 0.5 + ) + ) + ) (set! *tar-surface* v1-46) - (set! - (-> v1-46 mult-hook) - (the-as (function surface surface surface int none) nothing) - ) + (set! (-> v1-46 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-46 touch-hook) nothing) (set! (-> v1-46 active-hook) nothing) ) ;; failed to figure out what this is: -(let - ((v1-47 - (new 'static 'surface - :name '*grass-surface* - :turnv 1.0 - :turnvv 1.0 - :tiltv 1.0 - :tiltvv 1.0 - :transv-max 1.0 - :target-speed 1.0 - :seek0 122880.0 - :seek90 122880.0 - :seek180 409600.0 - :fric 122880.0 - :nonlin-fric-dist 4096.0 - :slip-factor 1.0 - :slope-slip-angle 16384.0 - :impact-fric 0.5 - :bend-speed 4.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - ) - ) - ) +(let ((v1-47 (new 'static 'surface + :name '*grass-surface* + :turnv 1.0 + :turnvv 1.0 + :tiltv 1.0 + :tiltvv 1.0 + :transv-max 1.0 + :target-speed 1.0 + :seek0 122880.0 + :seek90 122880.0 + :seek180 409600.0 + :fric 122880.0 + :nonlin-fric-dist 4096.0 + :slip-factor 1.0 + :slope-slip-angle 16384.0 + :impact-fric 0.5 + :bend-speed 4.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + ) + ) + ) (set! *grass-surface* v1-47) - (set! - (-> v1-47 mult-hook) - (the-as (function surface surface surface int none) nothing) - ) + (set! (-> v1-47 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-47 touch-hook) nothing) (set! (-> v1-47 active-hook) nothing) ) ;; failed to figure out what this is: -(let - ((v1-48 - (new 'static 'surface - :name '*ice-surface* - :turnv 0.5 - :turnvv 1.0 - :tiltv 1.0 - :tiltvv 1.0 - :transv-max 1.5 - :target-speed 1.5 - :seek0 24576.0 - :seek90 24576.0 - :seek180 24576.0 - :fric 23756.8 - :nonlin-fric-dist 4091904.0 - :slip-factor 0.7 - :slope-slip-angle 16384.0 - :bend-speed 4.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :flags #x18 - ) - ) - ) +(let ((v1-48 (new 'static 'surface + :name '*ice-surface* + :turnv 0.5 + :turnvv 1.0 + :tiltv 1.0 + :tiltvv 1.0 + :transv-max 1.5 + :target-speed 1.5 + :seek0 24576.0 + :seek90 24576.0 + :seek180 24576.0 + :fric 23756.8 + :nonlin-fric-dist 4091904.0 + :slip-factor 0.7 + :slope-slip-angle 16384.0 + :bend-speed 4.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :flags #x18 + ) + ) + ) (set! *ice-surface* v1-48) - (set! - (-> v1-48 mult-hook) - (the-as (function surface surface surface int none) nothing) - ) + (set! (-> v1-48 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-48 touch-hook) nothing) (set! (-> v1-48 active-hook) nothing) ) ;; failed to figure out what this is: -(let - ((v1-49 - (new 'static 'surface - :name '*tread-surface* - :turnv 1.0 - :turnvv 1.0 - :tiltv 1.0 - :tiltvv 1.0 - :transv-max 1.0 - :target-speed 1.0 - :seek0 122880.0 - :seek90 245760.0 - :seek180 409600.0 - :fric 122880.0 - :nonlin-fric-dist 4096.0 - :slip-factor 1.0 - :slope-up-factor 8192.0 - :slope-down-factor 8192.0 - :impact-fric 1.0 - :bend-speed 4.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - ) - ) - ) +(let ((v1-49 (new 'static 'surface + :name '*tread-surface* + :turnv 1.0 + :turnvv 1.0 + :tiltv 1.0 + :tiltvv 1.0 + :transv-max 1.0 + :target-speed 1.0 + :seek0 122880.0 + :seek90 245760.0 + :seek180 409600.0 + :fric 122880.0 + :nonlin-fric-dist 4096.0 + :slip-factor 1.0 + :slope-up-factor 8192.0 + :slope-down-factor 8192.0 + :impact-fric 1.0 + :bend-speed 4.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + ) + ) + ) (set! *tread-surface* v1-49) - (set! - (-> v1-49 mult-hook) - (the-as (function surface surface surface int none) nothing) - ) + (set! (-> v1-49 mult-hook) (the-as (function surface surface surface int none) nothing)) (set! (-> v1-49 touch-hook) nothing) (set! (-> v1-49 active-hook) nothing) ) diff --git a/test/decompiler/reference/engine/target/target-h_REF.gc b/test/decompiler/reference/engine/target/target-h_REF.gc index e3931983f8..427dbba381 100644 --- a/test/decompiler/reference/engine/target/target-h_REF.gc +++ b/test/decompiler/reference/engine/target/target-h_REF.gc @@ -58,8 +58,8 @@ ;; definition for method 3 of type target (defmethod inspect target ((obj target)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tcontrol: ~A~%" (-> obj control)) (format #t "~T~Tskel2: ~A~%" (-> obj skel2)) (format #t "~T~Tracer: ~A~%" (-> obj racer)) @@ -71,11 +71,7 @@ (format #t "~T~Tsidekick: #x~X~%" (-> obj sidekick)) (format #t "~T~Tmanipy: #x~X~%" (-> obj manipy)) (format #t "~T~Tattack-info: #~%" (-> obj attack-info)) - (format - #t - "~T~Tattack-info-rec: #~%" - (-> obj attack-info-rec) - ) + (format #t "~T~Tattack-info-rec: #~%" (-> obj attack-info-rec)) (format #t "~T~Tanim-seed: ~D~%" (-> obj anim-seed)) (format #t "~T~Talt-cam-pos: ~`vector`P~%" (-> obj alt-cam-pos)) (format #t "~T~Tsnowball: ~A~%" (-> obj snowball)) @@ -110,8 +106,8 @@ ;; definition for method 3 of type sidekick (defmethod inspect sidekick ((obj sidekick)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tcontrol: ~A~%" (-> obj root)) (format #t "~T~Tstate-time: ~D~%" (-> obj state-time)) (format #t "~T~Tstate-flags: ~D~%" (-> obj state-flags)) diff --git a/test/decompiler/reference/engine/target/target-part_REF.gc b/test/decompiler/reference/engine/target/target-part_REF.gc index cc3f42d299..6f89f7b253 100644 --- a/test/decompiler/reference/engine/target/target-part_REF.gc +++ b/test/decompiler/reference/engine/target/target-part_REF.gc @@ -4,28 +4,18 @@ ;; definition for function birth-func-copy-target-y-rot ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - birth-func-copy-target-y-rot - ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) +(defun birth-func-copy-target-y-rot ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) (let ((v1-0 *target*)) - (when v1-0 - (let ((s5-0 (new-stack-matrix0))) - (let ((f0-1 (+ -16384.0 (y-angle (-> v1-0 control))))) - (matrix-rotate-y! s5-0 f0-1) + (when v1-0 + (let ((s5-0 (new-stack-matrix0))) + (let ((f0-1 (+ -16384.0 (y-angle (-> v1-0 control))))) + (matrix-rotate-y! s5-0 f0-1) + ) + (vector3s-rotate*! (the-as vector3s (-> arg1 vel-sxvel)) (the-as vector3s (-> arg1 vel-sxvel)) s5-0) + (vector3s-rotate*! (the-as vector3s (-> arg1 acc)) (the-as vector3s (-> arg1 acc)) s5-0) + ) ) - (vector3s-rotate*! - (the-as vector3s (-> arg1 vel-sxvel)) - (the-as vector3s (-> arg1 vel-sxvel)) - s5-0 - ) - (vector3s-rotate*! - (the-as vector3s (-> arg1 acc)) - (the-as vector3s (-> arg1 acc)) - s5-0 - ) - ) ) - ) 0 (none) ) @@ -33,3271 +23,2866 @@ ;; definition for function birth-func-ground-orient ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - birth-func-ground-orient - ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) +(defun birth-func-ground-orient ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) (local-vars (v1-11 float) (v1-12 float)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (let ((a1-1 (new 'stack-no-clear 'vector))) - (set! (-> a1-1 quad) (-> arg2 launchrot quad)) - (let ((s3-0 (new 'stack-no-clear 'collide-tri-result)) - (s5-0 *target*) - ) - (set! (-> a1-1 y) (+ 4096.0 (-> a1-1 y))) - (when - (>= - (fill-and-probe-using-y-probe - *collide-cache* - a1-1 - (the-as float 20480.0) - (the-as uint #x2bef) - s5-0 - s3-0 - (the-as uint 1) - ) - 0.0 - ) - (let ((s2-0 (new 'stack-no-clear 'vector)) - (s4-1 (new 'stack-no-clear 'quaternion)) + (init-vf0-vector) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (set! (-> a1-1 quad) (-> arg2 launchrot quad)) + (let ((s3-0 (new 'stack-no-clear 'collide-tri-result)) + (s5-0 *target*) ) - (set! (-> s2-0 x) (-> s3-0 normal z)) - (set! (-> s2-0 y) 0.0) - (set! (-> s2-0 z) (- (-> s3-0 normal x))) - (vector-normalize! s2-0 (the-as float 1.0)) - (quaternion-vector-angle! s4-1 s2-0 (acos (-> s3-0 normal y))) - (let ((s3-1 (new 'stack-no-clear 'quaternion))) - (quaternion-vector-angle! - s3-1 - *up-vector* - (+ 32768.0 (y-angle (-> s5-0 control))) - ) - (quaternion-normalize! (quaternion*! s4-1 s3-1 s4-1)) + (set! (-> a1-1 y) (+ 4096.0 (-> a1-1 y))) + (when (>= (fill-and-probe-using-y-probe + *collide-cache* + a1-1 + (the-as float 20480.0) + (the-as uint #x2bef) + s5-0 + s3-0 + (the-as uint 1) + ) + 0.0 + ) + (let ((s2-0 (new 'stack-no-clear 'vector)) + (s4-1 (new 'stack-no-clear 'quaternion)) + ) + (set! (-> s2-0 x) (-> s3-0 normal z)) + (set! (-> s2-0 y) 0.0) + (set! (-> s2-0 z) (- (-> s3-0 normal x))) + (vector-normalize! s2-0 (the-as float 1.0)) + (quaternion-vector-angle! s4-1 s2-0 (acos (-> s3-0 normal y))) + (let ((s3-1 (new 'stack-no-clear 'quaternion))) + (quaternion-vector-angle! s3-1 *up-vector* (+ 32768.0 (y-angle (-> s5-0 control)))) + (quaternion-normalize! (quaternion*! s4-1 s3-1 s4-1)) + ) + (cond + ((< (-> s4-1 w) 0.0) + (.lvf vf1 (&-> arg2 conerot quad)) + (.lvf vf2 (&-> s4-1 vec quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 conerot quad) vf1) + (.mov v1-11 vf1) + ) + (else + (.lvf vf1 (&-> arg2 conerot quad)) + (.lvf vf2 (&-> s4-1 vec quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 conerot quad) vf1) + (.mov v1-12 vf1) + ) + ) + ) + ) ) - (cond - ((< (-> s4-1 w) 0.0) - (.lvf vf1 (&-> arg2 conerot quad)) - (.lvf vf2 (&-> s4-1 vec quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg2 conerot quad) vf1) - (.mov v1-11 vf1) - ) - (else - (.lvf vf1 (&-> arg2 conerot quad)) - (.lvf vf2 (&-> s4-1 vec quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg2 conerot quad) vf1) - (.mov v1-12 vf1) - ) - ) - ) ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function birth-func-target-orient ;; INFO: Return type mismatch int vs none. -(defun - birth-func-target-orient - ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) +(defun birth-func-target-orient ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) (local-vars (v1-10 float) (v1-11 float) (sv-16 target)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (set! sv-16 *target*) - (let ((s3-0 (new 'stack-no-clear 'vector))) - (new 'stack-no-clear 'vector) - (let ((s5-0 (new 'stack-no-clear 'quaternion))) - (let ((s2-0 (-> sv-16 control local-normal))) - (set! (-> s3-0 x) (-> s2-0 z)) - (set! (-> s3-0 y) 0.0) - (set! (-> s3-0 z) (- (-> s2-0 x))) - (vector-normalize! s3-0 (the-as float 1.0)) - (quaternion-vector-angle! s5-0 s3-0 (acos (-> s2-0 y))) + (init-vf0-vector) + (set! sv-16 *target*) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (new 'stack-no-clear 'vector) + (let ((s5-0 (new 'stack-no-clear 'quaternion))) + (let ((s2-0 (-> sv-16 control local-normal))) + (set! (-> s3-0 x) (-> s2-0 z)) + (set! (-> s3-0 y) 0.0) + (set! (-> s3-0 z) (- (-> s2-0 x))) + (vector-normalize! s3-0 (the-as float 1.0)) + (quaternion-vector-angle! s5-0 s3-0 (acos (-> s2-0 y))) + ) + (let ((s3-1 (new 'stack-no-clear 'quaternion))) + (quaternion-vector-angle! s3-1 *up-vector* (+ 32768.0 (-> arg1 user-float) (y-angle (-> sv-16 control)))) + (quaternion-normalize! (quaternion*! s5-0 s5-0 s3-1)) + ) + (cond + ((< (-> s5-0 w) 0.0) + (.lvf vf1 (&-> arg2 conerot quad)) + (.lvf vf2 (&-> s5-0 vec quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 conerot quad) vf1) + (.mov v1-10 vf1) + ) + (else + (.lvf vf1 (&-> arg2 conerot quad)) + (.lvf vf2 (&-> s5-0 vec quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 conerot quad) vf1) + (.mov v1-11 vf1) + ) + ) + ) ) - (let ((s3-1 (new 'stack-no-clear 'quaternion))) - (quaternion-vector-angle! - s3-1 - *up-vector* - (+ 32768.0 (-> arg1 user-float) (y-angle (-> sv-16 control))) - ) - (quaternion-normalize! (quaternion*! s5-0 s5-0 s3-1)) - ) - (cond - ((< (-> s5-0 w) 0.0) - (.lvf vf1 (&-> arg2 conerot quad)) - (.lvf vf2 (&-> s5-0 vec quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg2 conerot quad) vf1) - (.mov v1-10 vf1) - ) - (else - (.lvf vf1 (&-> arg2 conerot quad)) - (.lvf vf2 (&-> s5-0 vec quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg2 conerot quad) vf1) - (.mov v1-11 vf1) - ) - ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function birth-func-vector-orient ;; INFO: Return type mismatch int vs none. -(defun - birth-func-vector-orient - ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) +(defun birth-func-vector-orient ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) (local-vars (v1-4 float) (v1-5 float)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - *target* - (let ((s4-0 (new 'stack-no-clear 'vector))) - (new 'stack-no-clear 'vector) - (let ((s5-0 (new 'stack-no-clear 'quaternion)) - (s3-0 (the-as object (-> arg1 user-float))) + (init-vf0-vector) + *target* + (let ((s4-0 (new 'stack-no-clear 'vector))) + (new 'stack-no-clear 'vector) + (let ((s5-0 (new 'stack-no-clear 'quaternion)) + (s3-0 (the-as object (-> arg1 user-float))) + ) + (when (nonzero? (the-as float s3-0)) + (set! (-> s4-0 x) (-> (the-as sprite-vec-data-2d s3-0) z)) + (set! (-> s4-0 y) 0.0) + (set! (-> s4-0 z) (- (-> (the-as sprite-vec-data-2d s3-0) x))) + (vector-normalize! s4-0 (the-as float 1.0)) + (quaternion-vector-angle! s5-0 s4-0 (acos (-> (the-as sprite-vec-data-2d s3-0) y))) + (cond + ((< (-> s5-0 w) 0.0) + (.lvf vf1 (&-> arg2 conerot quad)) + (.lvf vf2 (&-> s5-0 vec quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 conerot quad) vf1) + (.mov v1-4 vf1) + ) + (else + (.lvf vf1 (&-> arg2 conerot quad)) + (.lvf vf2 (&-> s5-0 vec quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 conerot quad) vf1) + (.mov v1-5 vf1) + ) + ) ) - (when (nonzero? (the-as float s3-0)) - (set! (-> s4-0 x) (-> (the-as sprite-vec-data-2d s3-0) z)) - (set! (-> s4-0 y) 0.0) - (set! (-> s4-0 z) (- (-> (the-as sprite-vec-data-2d s3-0) x))) - (vector-normalize! s4-0 (the-as float 1.0)) - (quaternion-vector-angle! - s5-0 - s4-0 - (acos (-> (the-as sprite-vec-data-2d s3-0) y)) - ) - (cond - ((< (-> s5-0 w) 0.0) - (.lvf vf1 (&-> arg2 conerot quad)) - (.lvf vf2 (&-> s5-0 vec quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg2 conerot quad) vf1) - (.mov v1-4 vf1) ) - (else - (.lvf vf1 (&-> arg2 conerot quad)) - (.lvf vf2 (&-> s5-0 vec quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg2 conerot quad) vf1) - (.mov v1-5 vf1) - ) - ) ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function part-tracker-track-target-joint ;; INFO: Return type mismatch int vs none. -(defun - part-tracker-track-target-joint - ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) +(defun part-tracker-track-target-joint ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo)) (let* ((v1-0 *target*) - (v1-2 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> v1-0 node-list data (the int (-> arg1 user-float))) - ) - ) + (v1-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> v1-0 node-list data (the int (-> arg1 user-float))))) ) - (set! (-> arg2 launchrot x) (-> v1-2 x)) - (set! (-> arg2 launchrot y) (-> v1-2 y)) - (set! (-> arg2 launchrot z) (-> v1-2 z)) - ) + (set! (-> arg2 launchrot x) (-> v1-2 x)) + (set! (-> arg2 launchrot y) (-> v1-2 y)) + (set! (-> arg2 launchrot z) (-> v1-2 z)) + ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 1) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-target-hit" - :launcher - (new 'static 'inline-array sparticle-group-item 2 (sp-item 56) (sp-item 57)) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 56) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.06)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.16)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-fade-a 6.4) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 58) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 58) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.64) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 57) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 64.0) - (sp-flt spt-rotvel-z (degrees -0.4)) - (sp-flt spt-fade-a -1.4222221) - (sp-int spt-timer 42) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 2) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xa - :linger-duration #x1c2 - :name "group-red-eco-strike-ground" - :launcher - (new 'static 'inline-array sparticle-group-item 2 (sp-item 59) (sp-item 60)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 59) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 24.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 8.0 56.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.13333334) (meters 0.16666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -1.4222223) - (sp-flt spt-fade-a -0.35555556) - (sp-flt spt-accel-y 0.34133333) - (sp-flt spt-friction 0.7) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 61) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 60) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 32.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-rnd-flt spt-a 64.0 8.0 1.0) - (sp-flt spt-vel-y (meters 0.3)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.8444445) - (sp-flt spt-fade-a -0.82222223) - (sp-flt spt-friction 0.7) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 45) - (sp-launcher-by-id spt-next-launcher 61) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 3) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xa - :linger-duration #x1c2 - :name "group-red-eco-spinkick" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 62) - (sp-item 63) - (sp-item 64) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 62) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 8.0 56.0 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -1.4222223) - (sp-flt spt-fade-a -0.35555556) - (sp-flt spt-accel-y 0.34133333) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 61) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 61) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r -0.7111111) - (sp-flt spt-fade-g 0.7111111) - (sp-flt spt-fade-b 0.35555556) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 63) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.66) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-rnd-flt spt-a 64.0 8.0 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.8444445) - (sp-flt spt-fade-a -0.82222223) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 45) - (sp-launcher-by-id spt-next-launcher 61) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.1) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 64) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-a 64.0) - (sp-flt spt-fade-a -4.0) - (sp-flt spt-accel-y 0.34133333) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 4) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xa - :linger-duration #x1c2 - :name "group-spin-hit" - :launcher - (new 'static 'inline-array sparticle-group-item 2 (sp-item 65) (sp-item 66)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 5) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xa - :linger-duration #x1c2 - :name "group-punch-hit" - :launcher - (new 'static 'inline-array sparticle-group-item 2 (sp-item 65) (sp-item 66)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 65) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 4.0) - (sp-flt spt-y (meters 0.75)) - (sp-flt spt-scale-x (meters 3.0)) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.5) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 64.0 128.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 2.1333334) - (sp-int spt-timer 30) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 67) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 67) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -2.1333334) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 66) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-flt spt-scale-x (meters 3.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 196.0) - (sp-flt spt-a 28.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 6) - (new 'static 'sparticle-launch-group - :length 23 - :duration #xa - :linger-duration #x1c2 - :name "group-smack-surface" - :launcher - (new 'static 'inline-array sparticle-group-item 23 - (sp-item 68) - (sp-item 69) - (sp-item 72 :binding 71) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - (sp-item 71 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 68) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-target-y-rot) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 96.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.85333335) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 69) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-target-y-rot) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 96.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.85333335) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 72) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-rnd-flt spt-num 12.0 8.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 604) - (sp-cpuinfo-flags bit3) - (sp-flt spt-userdata 8.0) - (sp-func spt-func 'part-tracker-track-target-joint) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 71) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-rnd-flt spt-y (meters -1.3333334) (meters 2.6666667) 1.0) - (sp-rnd-flt spt-z 2048.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.053333335) 1 436.90668) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0033333334)) - (sp-flt spt-fade-a -0.30476192) - (sp-int spt-timer 604) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 8) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x1c2 - :name "group-land-poof-sand" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 73) - (sp-item 74) - (sp-item 75) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 73) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 74) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 75) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 2 32.0) - (sp-rnd-int spt-g 1115684864 1 64.0) - (sp-rnd-int spt-b 1107296256 1 32.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.015) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -5.4613333 2.7306666 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 575) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x1c2 - :name "group-land-poof-dirt" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2371) - (sp-item 2372) - (sp-item 2370) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2371) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2372) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2370) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 2 32.0) - (sp-rnd-int spt-g 1115684864 1 64.0) - (sp-rnd-int spt-b 1107296256 1 32.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.015) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -5.4613333 2.7306666 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 9) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x1c2 - :name "group-land-poof-snow" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 76) - (sp-item 77) - (sp-item 78) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 76) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 196.0 64.0 1.0) - (sp-rnd-flt spt-g 196.0 64.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 77) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 196.0 64.0 1.0) - (sp-rnd-flt spt-g 196.0 64.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 78) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1128529920 1 64.0) - (sp-rnd-int spt-g 1128529920 1 64.0) - (sp-rnd-int spt-b 1128529920 1 64.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.015) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -5.4613333 2.7306666 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 580) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x1c2 - :name "group-land-poof-ice" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 76) - (sp-item 77) - (sp-item 78) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 10) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x1c2 - :name "group-land-poof-grass" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 79) - (sp-item 80) - (sp-item 81) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 79) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 80) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 81) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.15)) - (sp-rnd-flt spt-r 0.0 2.0 64.0) - (sp-rnd-int spt-g 1115684864 2 64.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.015) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -5.4613333 3.4133334 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 11) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x1c2 - :name "group-land-poof-wood" - :launcher - (new 'static 'inline-array sparticle-group-item 2 (sp-item 82) (sp-item 83)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 82) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 83) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 12) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x5 - :linger-duration #x2ee - :name "group-land-poof-crwood" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 82) - (sp-item 83) - (sp-item 84) - (sp-item 84) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 13) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x1c2 - :name "group-land-poof-stone" - :launcher - (new 'static 'inline-array sparticle-group-item 2 (sp-item 85) (sp-item 86)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 85) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 86) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 581) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x1c2 - :name "group-land-poof-pcmetal" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2373) - (sp-item 2374) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2373) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 70.0 32.0 1.0) - (sp-rnd-flt spt-b 40.0 20.0 1.0) - (sp-rnd-flt spt-a 24.0 24.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2374) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 70.0 32.0 1.0) - (sp-rnd-flt spt-b 40.0 20.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 14) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-run-poof-stone" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 87)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 15) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-poof-stone" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 87)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 87) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-fade-a -0.45714286) - (sp-flt spt-friction 0.965) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 582) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x258 - :name "group-run-poof-snow" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2375) - (sp-item 2376 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 583) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-poof-snow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2375)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 584) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-footprint-snow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2376 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2376) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) - (sp-func spt-birth-func 'birth-func-target-orient) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.25)) - (sp-flt spt-scale-x (meters 0.6)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 16.0) - (sp-flt spt-a 64.0) - (sp-flt spt-fade-a -0.07111111) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2375) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 196.0 64.0 1.0) - (sp-rnd-flt spt-g 196.0 64.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 24.0 24.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-fade-a -0.45714286) - (sp-flt spt-friction 0.965) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 585) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-run-poof-ice" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2375)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 586) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-poof-ice" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2375)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 16) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x258 - :name "group-run-poof-crwood" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 89) - (sp-item 89) - (sp-item 84) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 17) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-poof-crwood" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 88)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 84) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-flt spt-y (meters -1.0)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters -0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.16) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 75 74 1) - (sp-launcher-by-id spt-next-launcher 90) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 3.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 90) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int-plain-rnd spt-next-time 150 149 1) - (sp-launcher-by-id spt-next-launcher 91) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 91) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.08) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 18) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-run-poof-wood" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 89)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 19) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-poof-wood" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 89)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 89) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-fade-a -0.45714286) - (sp-flt spt-friction 0.965) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 587) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-run-poof-pcmetal" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2377)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 588) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-poof-pcmetal" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2377)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2377) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 70.0 32.0 1.0) - (sp-rnd-flt spt-b 40.0 20.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-fade-a -0.45714286) - (sp-flt spt-friction 0.965) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 20) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x258 - :name "group-run-poof-grass" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 92) - (sp-item 93 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 21) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-poof-grass" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 92)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 22) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-footprint-grass" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 93 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 92) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-fade-a -0.45714286) - (sp-flt spt-friction 0.965) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 93) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) - (sp-func spt-birth-func 'birth-func-target-orient) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.25)) - (sp-flt spt-scale-x (meters 0.6)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 16.0) - (sp-flt spt-a 48.0) - (sp-flt spt-fade-a -0.053333335) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 23) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x258 - :name "group-run-poof-sand" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 88) - (sp-item 94 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 24) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-poof-sand" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 88)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 25) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-footprint-sand" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 94 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 88) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-fade-a -0.45714286) - (sp-flt spt-friction 0.965) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 94) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) - (sp-func spt-birth-func 'birth-func-target-orient) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.25)) - (sp-flt spt-scale-x (meters 0.6)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 16.0) - (sp-flt spt-a 32.0) - (sp-flt spt-fade-a -0.035555556) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 576) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-run-poof-dirt" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2378)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 577) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-poof-dirt" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2378)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 578) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x258 - :name "group-just-footprint-dirt" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2379 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2378) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-fade-a -0.45714286) - (sp-flt spt-friction 0.965) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2379) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) - (sp-func spt-birth-func 'birth-func-target-orient) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.25)) - (sp-flt spt-scale-x (meters 0.6)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 16.0) - (sp-flt spt-a 32.0) - (sp-flt spt-fade-a -0.035555556) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 95) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.0 6.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 2 32.0) - (sp-rnd-int spt-g 1115684864 1 64.0) - (sp-rnd-int spt-b 1107296256 1 32.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.00083333335) (meters 0.0016666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -2.7306666 1.3653333 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2253) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.0 6.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 2 32.0) - (sp-rnd-int spt-g 1115684864 1 64.0) - (sp-rnd-int spt-b 1107296256 1 32.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.00083333335) (meters 0.0016666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -2.7306666 1.3653333 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 96) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) - (sp-rnd-flt spt-num 0.0 2.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.1)) - (sp-rnd-flt spt-r 0.0 2.0 64.0) - (sp-rnd-int spt-g 1115684864 2 64.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.00083333335) (meters 0.0016666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -2.7306666 1.3653333 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2250) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.0 6.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1128529920 1 64.0) - (sp-rnd-int spt-g 1128529920 1 64.0) - (sp-rnd-int spt-b 1128529920 1 64.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.00083333335) (meters 0.0016666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -2.7306666 1.3653333 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 97) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 1 (sp-end)) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 98) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 1 (sp-end)) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 99) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 1 (sp-end)) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 26) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x1c2 - :name "group-slide-poof-sand" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 100) - (sp-item 101) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 100) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 6.0 6.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.17777778) - (sp-flt spt-accel-y -0.27306667) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 101) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.0 8.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 2 32.0) - (sp-rnd-int spt-g 1115684864 1 64.0) - (sp-rnd-int spt-b 1107296256 1 32.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.008333334) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -4.096 2.048 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 579) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x1c2 - :name "group-slide-poof-dirt" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2380) - (sp-item 2381) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2380) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 6.0 6.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.17777778) - (sp-flt spt-accel-y -0.27306667) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2381) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.0 8.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 2 32.0) - (sp-rnd-int spt-g 1115684864 1 64.0) - (sp-rnd-int spt-b 1107296256 1 32.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.008333334) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -4.096 2.048 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 27) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x1c2 - :name "group-slide-poof-grass" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 102) - (sp-item 103) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 102) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 6.0 6.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.17777778) - (sp-flt spt-accel-y -0.27306667) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 103) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) - (sp-rnd-flt spt-num 0.0 8.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.15)) - (sp-rnd-flt spt-r 0.0 2.0 64.0) - (sp-rnd-int spt-g 1115684864 2 64.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.008333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -4.096 2.048 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 28) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x1c2 - :name "group-slide-poof-stone" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 104)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 104) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 6.0 6.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.17777778) - (sp-flt spt-accel-y -0.27306667) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 589) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x1c2 - :name "group-slide-poof-pcmetal" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2382)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2382) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 6.0 6.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 70.0 32.0 1.0) - (sp-rnd-flt spt-b 40.0 20.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.17777778) - (sp-flt spt-accel-y -0.27306667) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 590) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x1c2 - :name "group-slide-poof-snow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2383)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2383) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 6.0 6.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1128529920 1 64.0) - (sp-rnd-int spt-g 1128529920 1 64.0) - (sp-rnd-int spt-b 1128529920 1 64.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.17777778) - (sp-flt spt-accel-y -0.27306667) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 591) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x1c2 - :name "group-slide-poof-ice" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2383)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 29) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x1c2 - :name "group-slide-poof-wood" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 105)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 105) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 6.0 6.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.17777778) - (sp-flt spt-accel-y -0.27306667) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 30) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x2ee - :name "group-slide-poof-crwood" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 105)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 106) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.0 8.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 2 32.0) - (sp-rnd-int spt-g 1115684864 1 64.0) - (sp-rnd-int spt-b 1107296256 1 32.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -5.4613333 3.4133334 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2265) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.0 8.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 2 32.0) - (sp-rnd-int spt-g 1115684864 1 64.0) - (sp-rnd-int spt-b 1107296256 1 32.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -5.4613333 3.4133334 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2262) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.0 8.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1128529920 1 64.0) - (sp-rnd-int spt-g 1128529920 1 64.0) - (sp-rnd-int spt-b 1128529920 1 64.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -5.4613333 3.4133334 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 107) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) - (sp-rnd-flt spt-num 0.0 8.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.15)) - (sp-rnd-flt spt-r 0.0 2.0 64.0) - (sp-rnd-int spt-g 1115684864 2 64.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y -5.4613333 3.4133334 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 31) - (new 'static 'sparticle-launch-group - :length 36 - :duration #x258 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-dark-eco-death" - :launcher - (new 'static 'inline-array sparticle-group-item 36 - (sp-item 295 :fade-after (meters 100.0) :period 600 :length 5 :binding 296) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2095 :period 600 :length 5) - (sp-item 2096 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 600 :length 40) - (sp-item 2097 :period 600 :length 20) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 32) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x4b - :linger-duration #x258 - :name "group-lava-death" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2003) - (sp-item 2004) - (sp-item 2005) - (sp-item 2006) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 708) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x96 - :linger-duration #x258 - :name "group-burn-death" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2003)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2006) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.04) 1.0) - (sp-flt spt-scalevel-x (meters -0.0023333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -5.4613333) - (sp-int spt-timer 360) - (sp-cpuinfo-flags bit0 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2003) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 5.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.023529412)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -1.5058824) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 81) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2004) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-x (meters 0.5) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0016666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.04444444)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -2.8444443) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 42) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2005) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.008888889)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.56666666) - (sp-flt spt-fade-g -0.56666666) - (sp-flt spt-fade-b -0.56666666) - (sp-flt spt-fade-a 0.15) - (sp-flt spt-friction 0.97) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 81 80 1) - (sp-launcher-by-id spt-next-launcher 2007) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2007) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.08) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2002) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 32.0 32.0 1.0) - (sp-rnd-flt spt-b 32.0 32.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 15 59 1) - (sp-launcher-by-id spt-next-launcher 2008) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2008) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.28444445) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 1) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-target-hit" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 56) (sp-item 57)) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 56) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.06)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.16)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-fade-a 6.4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 58) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 58) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.64) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 57) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 64.0) + (sp-flt spt-rotvel-z (degrees -0.4)) + (sp-flt spt-fade-a -1.4222221) + (sp-int spt-timer 42) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 2) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xa + :linger-duration #x1c2 + :name "group-red-eco-strike-ground" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 59) (sp-item 60)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 59) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 24.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 8.0 56.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.13333334) (meters 0.16666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -1.4222223) + (sp-flt spt-fade-a -0.35555556) + (sp-flt spt-accel-y 0.34133333) + (sp-flt spt-friction 0.7) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 61) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 60) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 32.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-rnd-flt spt-a 64.0 8.0 1.0) + (sp-flt spt-vel-y (meters 0.3)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.8444445) + (sp-flt spt-fade-a -0.82222223) + (sp-flt spt-friction 0.7) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 45) + (sp-launcher-by-id spt-next-launcher 61) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 3) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xa + :linger-duration #x1c2 + :name "group-red-eco-spinkick" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 62) (sp-item 63) (sp-item 64)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 62) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 8.0 56.0 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -1.4222223) + (sp-flt spt-fade-a -0.35555556) + (sp-flt spt-accel-y 0.34133333) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 61) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 61) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r -0.7111111) + (sp-flt spt-fade-g 0.7111111) + (sp-flt spt-fade-b 0.35555556) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 63) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.66) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-rnd-flt spt-a 64.0 8.0 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.8444445) + (sp-flt spt-fade-a -0.82222223) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 45) + (sp-launcher-by-id spt-next-launcher 61) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.1) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 64) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-a 64.0) + (sp-flt spt-fade-a -4.0) + (sp-flt spt-accel-y 0.34133333) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 4) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xa + :linger-duration #x1c2 + :name "group-spin-hit" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 65) (sp-item 66)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 5) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xa + :linger-duration #x1c2 + :name "group-punch-hit" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 65) (sp-item 66)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 65) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 4.0) + (sp-flt spt-y (meters 0.75)) + (sp-flt spt-scale-x (meters 3.0)) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.15) (meters 0.5) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 64.0 128.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 2.1333334) + (sp-int spt-timer 30) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 67) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 67) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -2.1333334) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 66) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-flt spt-scale-x (meters 3.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 196.0) + (sp-flt spt-a 28.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 6) (new 'static 'sparticle-launch-group + :length 23 + :duration #xa + :linger-duration #x1c2 + :name "group-smack-surface" + :launcher + (new 'static 'inline-array sparticle-group-item 23 + (sp-item 68) + (sp-item 69) + (sp-item 72 :binding 71) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + (sp-item 71 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 68) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-target-y-rot) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 96.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.85333335) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 69) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-target-y-rot) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 96.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.85333335) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 72) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-rnd-flt spt-num 12.0 8.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 604) + (sp-cpuinfo-flags bit3) + (sp-flt spt-userdata 8.0) + (sp-func spt-func 'part-tracker-track-target-joint) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 71) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-rnd-flt spt-y (meters -1.3333334) (meters 2.6666667) 1.0) + (sp-rnd-flt spt-z 2048.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.053333335) 1 436.90668) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0033333334)) + (sp-flt spt-fade-a -0.30476192) + (sp-int spt-timer 604) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 8) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x1c2 + :name "group-land-poof-sand" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 73) (sp-item 74) (sp-item 75)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 73) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 74) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 75) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 2 32.0) + (sp-rnd-int spt-g 1115684864 1 64.0) + (sp-rnd-int spt-b 1107296256 1 32.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.015) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -5.4613333 2.7306666 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 575) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x1c2 + :name "group-land-poof-dirt" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 2371) (sp-item 2372) (sp-item 2370)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2371) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2372) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2370) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 2 32.0) + (sp-rnd-int spt-g 1115684864 1 64.0) + (sp-rnd-int spt-b 1107296256 1 32.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.015) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -5.4613333 2.7306666 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 9) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x1c2 + :name "group-land-poof-snow" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 76) (sp-item 77) (sp-item 78)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 76) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 196.0 64.0 1.0) + (sp-rnd-flt spt-g 196.0 64.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 77) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 196.0 64.0 1.0) + (sp-rnd-flt spt-g 196.0 64.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 78) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1128529920 1 64.0) + (sp-rnd-int spt-g 1128529920 1 64.0) + (sp-rnd-int spt-b 1128529920 1 64.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.015) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -5.4613333 2.7306666 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 580) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x1c2 + :name "group-land-poof-ice" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 76) (sp-item 77) (sp-item 78)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 10) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x1c2 + :name "group-land-poof-grass" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 79) (sp-item 80) (sp-item 81)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 79) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 80) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 81) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.15)) + (sp-rnd-flt spt-r 0.0 2.0 64.0) + (sp-rnd-int spt-g 1115684864 2 64.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.015) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -5.4613333 3.4133334 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 11) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x1c2 + :name "group-land-poof-wood" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 82) (sp-item 83)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 82) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 83) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 12) + (new 'static 'sparticle-launch-group + :length 4 + :duration #x5 + :linger-duration #x2ee + :name "group-land-poof-crwood" + :launcher + (new 'static 'inline-array sparticle-group-item 4 (sp-item 82) (sp-item 83) (sp-item 84) (sp-item 84)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 13) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x1c2 + :name "group-land-poof-stone" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 85) (sp-item 86)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 85) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 86) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 581) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x1c2 + :name "group-land-poof-pcmetal" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2373) (sp-item 2374)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2373) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 70.0 32.0 1.0) + (sp-rnd-flt spt-b 40.0 20.0 1.0) + (sp-rnd-flt spt-a 24.0 24.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2374) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 70.0 32.0 1.0) + (sp-rnd-flt spt-b 40.0 20.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 14) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-run-poof-stone" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 87)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 15) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-poof-stone" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 87)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 87) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-fade-a -0.45714286) + (sp-flt spt-friction 0.965) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 582) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x258 + :name "group-run-poof-snow" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2375) (sp-item 2376 :flags (is-3d))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 583) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-poof-snow" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2375)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 584) + (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-footprint-snow" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2376 :flags (is-3d))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2376) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + (sp-func spt-birth-func 'birth-func-target-orient) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.25)) + (sp-flt spt-scale-x (meters 0.6)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 16.0) + (sp-flt spt-a 64.0) + (sp-flt spt-fade-a -0.07111111) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2375) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 196.0 64.0 1.0) + (sp-rnd-flt spt-g 196.0 64.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 24.0 24.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-fade-a -0.45714286) + (sp-flt spt-friction 0.965) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 585) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-run-poof-ice" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2375)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 586) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-poof-ice" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2375)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 16) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x258 + :name "group-run-poof-crwood" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 89) (sp-item 89) (sp-item 84)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 17) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-poof-crwood" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 88)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 84) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-flt spt-y (meters -1.0)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters -0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.16) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 75 74 1) + (sp-launcher-by-id spt-next-launcher 90) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 3.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 90) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int-plain-rnd spt-next-time 150 149 1) + (sp-launcher-by-id spt-next-launcher 91) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 91) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.08) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 18) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-run-poof-wood" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 89)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 19) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-poof-wood" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 89)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 89) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-fade-a -0.45714286) + (sp-flt spt-friction 0.965) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 587) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-run-poof-pcmetal" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2377)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 588) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-poof-pcmetal" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2377)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2377) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 70.0 32.0 1.0) + (sp-rnd-flt spt-b 40.0 20.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-fade-a -0.45714286) + (sp-flt spt-friction 0.965) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 20) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x258 + :name "group-run-poof-grass" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 92) (sp-item 93 :flags (is-3d))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 21) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-poof-grass" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 92)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 22) + (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-footprint-grass" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 93 :flags (is-3d))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 92) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-fade-a -0.45714286) + (sp-flt spt-friction 0.965) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 93) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + (sp-func spt-birth-func 'birth-func-target-orient) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.25)) + (sp-flt spt-scale-x (meters 0.6)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 16.0) + (sp-flt spt-a 48.0) + (sp-flt spt-fade-a -0.053333335) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 23) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x258 + :name "group-run-poof-sand" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 88) (sp-item 94 :flags (is-3d))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 24) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-poof-sand" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 88)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 25) + (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-footprint-sand" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 94 :flags (is-3d))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 88) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-fade-a -0.45714286) + (sp-flt spt-friction 0.965) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 94) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + (sp-func spt-birth-func 'birth-func-target-orient) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.25)) + (sp-flt spt-scale-x (meters 0.6)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 16.0) + (sp-flt spt-a 32.0) + (sp-flt spt-fade-a -0.035555556) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 576) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-run-poof-dirt" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2378)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 577) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-poof-dirt" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2378)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 578) + (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x258 + :name "group-just-footprint-dirt" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2379 :flags (is-3d))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2378) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-fade-a -0.45714286) + (sp-flt spt-friction 0.965) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2379) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xe :page #x2)) + (sp-func spt-birth-func 'birth-func-target-orient) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.25)) + (sp-flt spt-scale-x (meters 0.6)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 16.0) + (sp-flt spt-a 32.0) + (sp-flt spt-fade-a -0.035555556) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 95) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.0 6.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 2 32.0) + (sp-rnd-int spt-g 1115684864 1 64.0) + (sp-rnd-int spt-b 1107296256 1 32.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.00083333335) (meters 0.0016666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -2.7306666 1.3653333 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2253) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.0 6.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 2 32.0) + (sp-rnd-int spt-g 1115684864 1 64.0) + (sp-rnd-int spt-b 1107296256 1 32.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.00083333335) (meters 0.0016666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -2.7306666 1.3653333 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 96) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + (sp-rnd-flt spt-num 0.0 2.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.1)) + (sp-rnd-flt spt-r 0.0 2.0 64.0) + (sp-rnd-int spt-g 1115684864 2 64.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.00083333335) (meters 0.0016666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -2.7306666 1.3653333 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2250) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.0 6.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1128529920 1 64.0) + (sp-rnd-int spt-g 1128529920 1 64.0) + (sp-rnd-int spt-b 1128529920 1 64.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.00083333335) (meters 0.0016666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -2.7306666 1.3653333 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 97) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 1 (sp-end))) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 98) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 1 (sp-end))) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 99) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 1 (sp-end))) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 26) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x1c2 + :name "group-slide-poof-sand" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 100) (sp-item 101)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 100) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 6.0 6.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.17777778) + (sp-flt spt-accel-y -0.27306667) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 101) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.0 8.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 2 32.0) + (sp-rnd-int spt-g 1115684864 1 64.0) + (sp-rnd-int spt-b 1107296256 1 32.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.008333334) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -4.096 2.048 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 579) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x1c2 + :name "group-slide-poof-dirt" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2380) (sp-item 2381)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2380) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 6.0 6.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.17777778) + (sp-flt spt-accel-y -0.27306667) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2381) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.0 8.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 2 32.0) + (sp-rnd-int spt-g 1115684864 1 64.0) + (sp-rnd-int spt-b 1107296256 1 32.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.008333334) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -4.096 2.048 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 27) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x1c2 + :name "group-slide-poof-grass" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 102) (sp-item 103)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 102) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 6.0 6.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.17777778) + (sp-flt spt-accel-y -0.27306667) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 103) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + (sp-rnd-flt spt-num 0.0 8.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.15)) + (sp-rnd-flt spt-r 0.0 2.0 64.0) + (sp-rnd-int spt-g 1115684864 2 64.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.008333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -4.096 2.048 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 28) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x1c2 + :name "group-slide-poof-stone" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 104)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 104) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 6.0 6.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.17777778) + (sp-flt spt-accel-y -0.27306667) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 589) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x1c2 + :name "group-slide-poof-pcmetal" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2382)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2382) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 6.0 6.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 70.0 32.0 1.0) + (sp-rnd-flt spt-b 40.0 20.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.17777778) + (sp-flt spt-accel-y -0.27306667) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 590) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x1c2 + :name "group-slide-poof-snow" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2383)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2383) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 6.0 6.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1128529920 1 64.0) + (sp-rnd-int spt-g 1128529920 1 64.0) + (sp-rnd-int spt-b 1128529920 1 64.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.17777778) + (sp-flt spt-accel-y -0.27306667) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 591) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x1c2 + :name "group-slide-poof-ice" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2383)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 29) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x1c2 + :name "group-slide-poof-wood" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 105)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 105) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 6.0 6.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.17777778) + (sp-flt spt-accel-y -0.27306667) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 30) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x2ee + :name "group-slide-poof-crwood" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 105)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 106) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.0 8.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 2 32.0) + (sp-rnd-int spt-g 1115684864 1 64.0) + (sp-rnd-int spt-b 1107296256 1 32.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -5.4613333 3.4133334 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2265) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.0 8.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 2 32.0) + (sp-rnd-int spt-g 1115684864 1 64.0) + (sp-rnd-int spt-b 1107296256 1 32.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -5.4613333 3.4133334 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2262) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.0 8.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.07) (meters 0.02) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1128529920 1 64.0) + (sp-rnd-int spt-g 1128529920 1 64.0) + (sp-rnd-int spt-b 1128529920 1 64.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -5.4613333 3.4133334 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 107) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + (sp-rnd-flt spt-num 0.0 8.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-y (meters -0.1) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.15)) + (sp-rnd-flt spt-r 0.0 2.0 64.0) + (sp-rnd-int spt-g 1115684864 2 64.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y -5.4613333 3.4133334 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 31) + (new 'static 'sparticle-launch-group + :length 36 + :duration #x258 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-dark-eco-death" + :launcher + (new 'static 'inline-array sparticle-group-item 36 + (sp-item 295 :fade-after (meters 100.0) :period 600 :length 5 :binding 296) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2095 :period 600 :length 5) + (sp-item 2096 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 600 :length 40) + (sp-item 2097 :period 600 :length 20) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 32) + (new 'static 'sparticle-launch-group + :length 4 + :duration #x4b + :linger-duration #x258 + :name "group-lava-death" + :launcher + (new 'static 'inline-array sparticle-group-item 4 (sp-item 2003) (sp-item 2004) (sp-item 2005) (sp-item 2006)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 708) (new 'static 'sparticle-launch-group + :length 1 + :duration #x96 + :linger-duration #x258 + :name "group-burn-death" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2003)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2006) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.04) 1.0) + (sp-flt spt-scalevel-x (meters -0.0023333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -5.4613333) + (sp-int spt-timer 360) + (sp-cpuinfo-flags bit0 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 1.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2003) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 5.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.023529412)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -1.5058824) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 81) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2004) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-x (meters 0.5) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0016666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.04444444)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -2.8444443) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 42) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2005) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.008888889)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.56666666) + (sp-flt spt-fade-g -0.56666666) + (sp-flt spt-fade-b -0.56666666) + (sp-flt spt-fade-a 0.15) + (sp-flt spt-friction 0.97) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 81 80 1) + (sp-launcher-by-id spt-next-launcher 2007) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2007) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.08) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2002) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 32.0 32.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 15 59 1) + (sp-launcher-by-id spt-next-launcher 2008) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2008) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.28444445) (sp-end)) + ) + ) ;; definition for function process-drawable-burn-effect ;; Used lq/sq (defbehavior process-drawable-burn-effect target ((arg0 int)) - (sound-play-by-name - (static-sound-name "get-burned") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (sound-play-by-name (static-sound-name "get-burned") (new-sound-id) 1024 0 0 1 #t) (let ((s5-1 (new 'stack 'rgbaf)) (s3-0 (-> *display* base-frame-counter)) (s4-1 (-> self parent)) ) - (set! - (-> s5-1 quad) - (-> (the-as process-drawable (-> s4-1 0)) draw color-mult quad) - ) - (let - ((s2-1 - (vector-float*! - (the-as vector (new 'stack 'rgbaf)) - (the-as vector s5-1) - 0.0 - ) - ) - ) - (while (< (- (-> *display* base-frame-counter) s3-0) arg0) - (let ((v1-8 (- (-> *display* base-frame-counter) s3-0))) - (if (< v1-8 (/ arg0 2)) - (vector-lerp! - (-> (the-as process-drawable (-> s4-1 0)) draw color-mult) - s5-1 - s2-1 - (/ (the float v1-8) (the float arg0)) + (set! (-> s5-1 quad) (-> (the-as process-drawable (-> s4-1 0)) draw color-mult quad)) + (let ((s2-1 (vector-float*! (the-as vector (new 'stack 'rgbaf)) (the-as vector s5-1) 0.0))) + (while (< (- (-> *display* base-frame-counter) s3-0) arg0) + (let ((v1-8 (- (-> *display* base-frame-counter) s3-0))) + (if (< v1-8 (/ arg0 2)) + (vector-lerp! + (-> (the-as process-drawable (-> s4-1 0)) draw color-mult) + s5-1 + s2-1 + (/ (the float v1-8) (the float arg0)) + ) + (vector-lerp! + (-> (the-as process-drawable (-> s4-1 0)) draw color-mult) + s5-1 + s2-1 + (- 1.0 (/ (the float v1-8) (the float arg0))) + ) + ) + ) + (let ((a2-3 + (process-drawable-random-point! + (the-as process-drawable (ppointer->process s4-1)) + (new 'stack-no-clear 'vector) + ) + ) + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2002) + a2-3 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + (the-as float 1.0) + ) + ) + (suspend) + 0 ) - (vector-lerp! - (-> (the-as process-drawable (-> s4-1 0)) draw color-mult) - s5-1 - s2-1 - (- 1.0 (/ (the float v1-8) (the float arg0))) - ) - ) ) - (let - ((a2-3 - (process-drawable-random-point! - (the-as process-drawable (ppointer->process s4-1)) - (new 'stack-no-clear 'vector) - ) - ) - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2002) - a2-3 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - (the-as float 1.0) - ) + (let ((v0-8 (-> (the-as process-drawable (-> s4-1 0)) draw color-mult))) + (set! (-> v0-8 quad) (-> s5-1 quad)) + v0-8 ) - (suspend) - 0 - ) ) - (let ((v0-8 (-> (the-as process-drawable (-> s4-1 0)) draw color-mult))) - (set! (-> v0-8 quad) (-> s5-1 quad)) - v0-8 - ) - ) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2391) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) - (sp-func spt-birth-func 'birth-func-target-orient) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.02)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 110.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 32.0 1.0) - (sp-rnd-flt spt-a 8.0 40.0 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.2) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-userdata -8192.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2391) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + (sp-func spt-birth-func 'birth-func-target-orient) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.02)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 110.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 32.0 1.0) + (sp-rnd-flt spt-a 8.0 40.0 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.2) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-userdata -8192.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 611) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-first-person-hud-left" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2474 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 611) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-first-person-hud-left" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2474 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 612) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-first-person-hud-right" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2475 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 612) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-first-person-hud-right" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2475 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 613) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-first-person-hud-selector" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2476 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 613) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-first-person-hud-selector" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2476 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2474) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 3.5)) - (sp-flt spt-scale-y (meters 13.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-first-person-hud-left-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2474) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 3.5)) + (sp-flt spt-scale-y (meters 13.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-first-person-hud-left-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2475) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 3.5)) - (sp-flt spt-rot-z (degrees 180.0)) - (sp-flt spt-scale-y (meters 13.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-first-person-hud-right-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2475) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 3.5)) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 13.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-first-person-hud-right-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2476) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-func spt-func 'part-first-person-hud-selector-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2476) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-func spt-func 'part-first-person-hud-selector-func) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/engine/target/target-util_REF.gc b/test/decompiler/reference/engine/target/target-util_REF.gc index e4170c6114..d8277ee568 100644 --- a/test/decompiler/reference/engine/target/target-util_REF.gc +++ b/test/decompiler/reference/engine/target/target-util_REF.gc @@ -16,17 +16,15 @@ ;; definition for symbol *target-shadow-control*, type shadow-control (define *target-shadow-control* - (new 'static 'shadow-control - :settings - (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x2)) - :shadow-dir - (new 'static 'vector :x -0.4226 :y -0.9063 :w 409600.0) - :bot-plane (new 'static 'plane :y 1.0 :w 37683.2) - :top-plane (new 'static 'plane :y 1.0 :w 4096.0) - ) - ) + (new 'static 'shadow-control :settings (new 'static 'shadow-settings + :center + (new 'static 'vector :w (the-as float #x2)) + :shadow-dir + (new 'static 'vector :x -0.4226 :y -0.9063 :w 409600.0) + :bot-plane (new 'static 'plane :y 1.0 :w 37683.2) + :top-plane (new 'static 'plane :y 1.0 :w 4096.0) + ) + ) ) ;; definition of type target-bank @@ -122,93 +120,25 @@ ;; definition for method 3 of type target-bank (defmethod inspect target-bank ((obj target-bank)) (format #t "[~8x] ~A~%" obj (-> obj type)) - (format - #t - "~Tjump-collide-offset: (meters ~m)~%" - (-> obj jump-collide-offset) - ) + (format #t "~Tjump-collide-offset: (meters ~m)~%" (-> obj jump-collide-offset)) (format #t "~Tjump-height-min: (meters ~m)~%" (-> obj jump-height-min)) (format #t "~Tjump-height-max: (meters ~m)~%" (-> obj jump-height-max)) - (format - #t - "~Tdouble-jump-height-min: (meters ~m)~%" - (-> obj double-jump-height-min) - ) - (format - #t - "~Tdouble-jump-height-max: (meters ~m)~%" - (-> obj double-jump-height-max) - ) - (format - #t - "~Tflip-jump-height-min: (meters ~m)~%" - (-> obj flip-jump-height-min) - ) - (format - #t - "~Tflip-jump-height-max: (meters ~m)~%" - (-> obj flip-jump-height-max) - ) - (format - #t - "~Tduck-jump-height-min: (meters ~m)~%" - (-> obj duck-jump-height-min) - ) - (format - #t - "~Tduck-jump-height-max: (meters ~m)~%" - (-> obj duck-jump-height-max) - ) - (format - #t - "~Tflop-jump-height-min: (meters ~m)~%" - (-> obj flop-jump-height-min) - ) - (format - #t - "~Tflop-jump-height-max: (meters ~m)~%" - (-> obj flop-jump-height-max) - ) - (format - #t - "~Tattack-jump-height-min: (meters ~m)~%" - (-> obj attack-jump-height-min) - ) - (format - #t - "~Tattack-jump-height-max: (meters ~m)~%" - (-> obj attack-jump-height-max) - ) - (format - #t - "~Tedge-grab-jump-height-min: (meters ~m)~%" - (-> obj edge-grab-jump-height-min) - ) - (format - #t - "~Tedge-grab-jump-height-max: (meters ~m)~%" - (-> obj edge-grab-jump-height-max) - ) - (format - #t - "~Tswim-jump-height-min: (meters ~m)~%" - (-> obj swim-jump-height-min) - ) - (format - #t - "~Tswim-jump-height-max: (meters ~m)~%" - (-> obj swim-jump-height-max) - ) - (format - #t - "~Ttube-jump-height-min: (meters ~m)~%" - (-> obj tube-jump-height-min) - ) - (format - #t - "~Ttube-jump-height-max: (meters ~m)~%" - (-> obj tube-jump-height-max) - ) + (format #t "~Tdouble-jump-height-min: (meters ~m)~%" (-> obj double-jump-height-min)) + (format #t "~Tdouble-jump-height-max: (meters ~m)~%" (-> obj double-jump-height-max)) + (format #t "~Tflip-jump-height-min: (meters ~m)~%" (-> obj flip-jump-height-min)) + (format #t "~Tflip-jump-height-max: (meters ~m)~%" (-> obj flip-jump-height-max)) + (format #t "~Tduck-jump-height-min: (meters ~m)~%" (-> obj duck-jump-height-min)) + (format #t "~Tduck-jump-height-max: (meters ~m)~%" (-> obj duck-jump-height-max)) + (format #t "~Tflop-jump-height-min: (meters ~m)~%" (-> obj flop-jump-height-min)) + (format #t "~Tflop-jump-height-max: (meters ~m)~%" (-> obj flop-jump-height-max)) + (format #t "~Tattack-jump-height-min: (meters ~m)~%" (-> obj attack-jump-height-min)) + (format #t "~Tattack-jump-height-max: (meters ~m)~%" (-> obj attack-jump-height-max)) + (format #t "~Tedge-grab-jump-height-min: (meters ~m)~%" (-> obj edge-grab-jump-height-min)) + (format #t "~Tedge-grab-jump-height-max: (meters ~m)~%" (-> obj edge-grab-jump-height-max)) + (format #t "~Tswim-jump-height-min: (meters ~m)~%" (-> obj swim-jump-height-min)) + (format #t "~Tswim-jump-height-max: (meters ~m)~%" (-> obj swim-jump-height-max)) + (format #t "~Ttube-jump-height-min: (meters ~m)~%" (-> obj tube-jump-height-min)) + (format #t "~Ttube-jump-height-max: (meters ~m)~%" (-> obj tube-jump-height-max)) (format #t "~Twheel-duration: ~D~%" (-> obj wheel-duration)) (format #t "~Twheel-jump-pre-window: ~D~%" (-> obj wheel-jump-pre-window)) (format #t "~Twheel-jump-post-window: ~D~%" (-> obj wheel-jump-post-window)) @@ -218,93 +148,33 @@ (format #t "~Twheel-flip-duration: ~D~%" (-> obj wheel-flip-duration)) (format #t "~Twheel-flip-height: (meters ~m)~%" (-> obj wheel-flip-height)) (format #t "~Twheel-flip-dist: (meters ~m)~%" (-> obj wheel-flip-dist)) - (format - #t - "~Twheel-flip-art-height: (meters ~m)~%" - (-> obj wheel-flip-art-height) - ) - (format - #t - "~Twheel-flip-art-dist: (meters ~m)~%" - (-> obj wheel-flip-art-dist) - ) - (format - #t - "~Tduck-slide-distance: (meters ~m)~%" - (-> obj duck-slide-distance) - ) + (format #t "~Twheel-flip-art-height: (meters ~m)~%" (-> obj wheel-flip-art-height)) + (format #t "~Twheel-flip-art-dist: (meters ~m)~%" (-> obj wheel-flip-art-dist)) + (format #t "~Tduck-slide-distance: (meters ~m)~%" (-> obj duck-slide-distance)) (format #t "~Tfall-far: (meters ~m)~%" (-> obj fall-far)) (format #t "~Tfall-far-inc: (meters ~m)~%" (-> obj fall-far-inc)) (format #t "~Tattack-timeout: ~D~%" (-> obj attack-timeout)) (format #t "~Tground-timeout: ~D~%" (-> obj ground-timeout)) (format #t "~Tslide-down-timeout: ~D~%" (-> obj slide-down-timeout)) (format #t "~Tfall-timeout: ~D~%" (-> obj fall-timeout)) - (format - #t - "~Tfall-stumble-threshold: (meters ~m)~%" - (-> obj fall-stumble-threshold) - ) - (format - #t - "~Tyellow-projectile-speed: (meters ~m)~%" - (-> obj yellow-projectile-speed) - ) - (format - #t - "~Thit-invulnerable-timeout: ~D~%" - (-> obj hit-invulnerable-timeout) - ) + (format #t "~Tfall-stumble-threshold: (meters ~m)~%" (-> obj fall-stumble-threshold)) + (format #t "~Tyellow-projectile-speed: (meters ~m)~%" (-> obj yellow-projectile-speed)) + (format #t "~Thit-invulnerable-timeout: ~D~%" (-> obj hit-invulnerable-timeout)) (format #t "~Trun-cycle-length: ~f~%" (-> obj run-cycle-length)) (format #t "~Twalk-cycle-dist: (meters ~m)~%" (-> obj walk-cycle-dist)) (format #t "~Twalk-up-cycle-dist: (meters ~m)~%" (-> obj walk-up-cycle-dist)) - (format - #t - "~Twalk-down-cycle-dist: (meters ~m)~%" - (-> obj walk-down-cycle-dist) - ) - (format - #t - "~Twalk-side-cycle-dist: (meters ~m)~%" - (-> obj walk-side-cycle-dist) - ) + (format #t "~Twalk-down-cycle-dist: (meters ~m)~%" (-> obj walk-down-cycle-dist)) + (format #t "~Twalk-side-cycle-dist: (meters ~m)~%" (-> obj walk-side-cycle-dist)) (format #t "~Trun-cycle-dist: (meters ~m)~%" (-> obj run-cycle-dist)) (format #t "~Trun-up-cycle-dist: (meters ~m)~%" (-> obj run-up-cycle-dist)) - (format - #t - "~Trun-down-cycle-dist: (meters ~m)~%" - (-> obj run-down-cycle-dist) - ) - (format - #t - "~Trun-side-cycle-dist: (meters ~m)~%" - (-> obj run-side-cycle-dist) - ) - (format - #t - "~Trun-wall-cycle-dist: (meters ~m)~%" - (-> obj run-wall-cycle-dist) - ) - (format - #t - "~Tduck-walk-cycle-dist: (meters ~m)~%" - (-> obj duck-walk-cycle-dist) - ) - (format - #t - "~Twade-shallow-walk-cycle-dist: (meters ~m)~%" - (-> obj wade-shallow-walk-cycle-dist) - ) - (format - #t - "~Twade-deep-walk-cycle-dist: (meters ~m)~%" - (-> obj wade-deep-walk-cycle-dist) - ) + (format #t "~Trun-down-cycle-dist: (meters ~m)~%" (-> obj run-down-cycle-dist)) + (format #t "~Trun-side-cycle-dist: (meters ~m)~%" (-> obj run-side-cycle-dist)) + (format #t "~Trun-wall-cycle-dist: (meters ~m)~%" (-> obj run-wall-cycle-dist)) + (format #t "~Tduck-walk-cycle-dist: (meters ~m)~%" (-> obj duck-walk-cycle-dist)) + (format #t "~Twade-shallow-walk-cycle-dist: (meters ~m)~%" (-> obj wade-shallow-walk-cycle-dist)) + (format #t "~Twade-deep-walk-cycle-dist: (meters ~m)~%" (-> obj wade-deep-walk-cycle-dist)) (format #t "~Tsmack-surface-dist: (meters ~m)~%" (-> obj smack-surface-dist)) - (format - #t - "~Tsmack-surface-height: (meters ~m)~%" - (-> obj smack-surface-height) - ) + (format #t "~Tsmack-surface-height: (meters ~m)~%" (-> obj smack-surface-height)) (format #t "~Tmin-dive-depth: (meters ~m)~%" (-> obj min-dive-depth)) (format #t "~Troot-radius: (meters ~m)~%" (-> obj root-radius)) (format #t "~Troot-offset: ~`vector`P~%" (-> obj root-offset)) @@ -336,92 +206,90 @@ ) ;; definition for symbol *TARGET-bank*, type target-bank -(define - *TARGET-bank* - (new 'static 'target-bank - :jump-collide-offset (meters 0.7) - :jump-height-min (meters 1.01) - :jump-height-max (meters 3.5) - :double-jump-height-min (meters 1.0) - :double-jump-height-max (meters 2.5) - :flip-jump-height-min (meters 5.0) - :flip-jump-height-max (meters 7.0) - :duck-jump-height-min (meters 5.0) - :duck-jump-height-max (meters 7.0) - :flop-jump-height-min (meters 5.0) - :flop-jump-height-max (meters 7.0) - :attack-jump-height-min (meters 4.0) - :attack-jump-height-max (meters 5.5) - :edge-grab-jump-height-min (meters 1.7) - :edge-grab-jump-height-max (meters 1.7) - :swim-jump-height-min (meters 5.0) - :swim-jump-height-max (meters 5.0) - :tube-jump-height-min (meters 1.75) - :tube-jump-height-max (meters 2.5) - :wheel-duration (seconds 0.5) - :wheel-jump-pre-window (seconds 1) - :wheel-jump-post-window (seconds 0.1) - :wheel-speed-min (meters 11.5) - :wheel-speed-inc (meters 1.5) - :wheel-flip-duration (seconds 0.7) - :wheel-flip-height (meters 3.52) - :wheel-flip-dist (meters 17.3) - :wheel-flip-art-height (meters 3.2969) - :wheel-flip-art-dist (meters 12.5) - :duck-slide-distance (meters 5.75) - :fall-far (meters 30.0) - :fall-far-inc (meters 20.0) - :attack-timeout (seconds 0.3) - :ground-timeout (seconds 0.2) - :slide-down-timeout (seconds 0.2) - :fall-timeout (seconds 1) - :fall-stumble-threshold (meters 39.9) - :yellow-projectile-speed (meters 60.0) - :hit-invulnerable-timeout (seconds 3) - :run-cycle-length 60.0 - :walk-cycle-dist (meters 2.8) - :walk-up-cycle-dist (meters 2.8) - :walk-down-cycle-dist (meters 2.8) - :walk-side-cycle-dist (meters 2.8) - :run-cycle-dist (meters 6.25) - :run-up-cycle-dist (meters 5.0) - :run-down-cycle-dist (meters 5.0) - :run-side-cycle-dist (meters 6.25) - :run-wall-cycle-dist (meters 2.8) - :duck-walk-cycle-dist (meters 3.25) - :wade-shallow-walk-cycle-dist (meters 6.0) - :wade-deep-walk-cycle-dist (meters 6.0) - :smack-surface-dist (meters 1.25) - :min-dive-depth (meters 2.0) - :root-radius (meters 2.2) - :root-offset (new 'static 'vector :y 4915.2 :w 1.0) - :body-radius (meters 0.7) - :edge-radius (meters 0.35) - :edge-offset - (new 'static 'vector :y 4915.2 :z 4096.0 :w 1.0) - :head-radius (meters 0.7) - :head-height (meters 1.4) - :head-offset (new 'static 'vector :y 4915.2 :w 1.0) - :spin-radius (meters 2.2) - :spin-offset (new 'static 'vector :y 6553.6 :w 1.0) - :duck-spin-radius (meters 1.2) - :duck-spin-offset (new 'static 'vector :y 4096.0 :w 1.0) - :punch-radius (meters 1.3) - :punch-offset (new 'static 'vector :y 5324.8 :w 1.0) - :uppercut-radius (meters 1.0) - :uppercut0-offset (new 'static 'vector :y 3276.8 :w 1.0) - :uppercut1-offset (new 'static 'vector :y 9011.2 :w 1.0) - :flop-radius (meters 1.4) - :flop0-offset (new 'static 'vector :y 3276.8 :w 1.0) - :flop1-offset (new 'static 'vector :y 9011.2 :w 1.0) - :stuck-time (seconds 0.3) - :stuck-timeout (seconds 2) - :stuck-distance (meters 0.05) - :tongue-pull-speed-min 0.15 - :tongue-pull-speed-max 0.22 - :yellow-attack-timeout (seconds 0.2) - ) - ) +(define *TARGET-bank* (new 'static 'target-bank + :jump-collide-offset (meters 0.7) + :jump-height-min (meters 1.01) + :jump-height-max (meters 3.5) + :double-jump-height-min (meters 1.0) + :double-jump-height-max (meters 2.5) + :flip-jump-height-min (meters 5.0) + :flip-jump-height-max (meters 7.0) + :duck-jump-height-min (meters 5.0) + :duck-jump-height-max (meters 7.0) + :flop-jump-height-min (meters 5.0) + :flop-jump-height-max (meters 7.0) + :attack-jump-height-min (meters 4.0) + :attack-jump-height-max (meters 5.5) + :edge-grab-jump-height-min (meters 1.7) + :edge-grab-jump-height-max (meters 1.7) + :swim-jump-height-min (meters 5.0) + :swim-jump-height-max (meters 5.0) + :tube-jump-height-min (meters 1.75) + :tube-jump-height-max (meters 2.5) + :wheel-duration (seconds 0.5) + :wheel-jump-pre-window (seconds 1) + :wheel-jump-post-window (seconds 0.1) + :wheel-speed-min (meters 11.5) + :wheel-speed-inc (meters 1.5) + :wheel-flip-duration (seconds 0.7) + :wheel-flip-height (meters 3.52) + :wheel-flip-dist (meters 17.3) + :wheel-flip-art-height (meters 3.2969) + :wheel-flip-art-dist (meters 12.5) + :duck-slide-distance (meters 5.75) + :fall-far (meters 30.0) + :fall-far-inc (meters 20.0) + :attack-timeout (seconds 0.3) + :ground-timeout (seconds 0.2) + :slide-down-timeout (seconds 0.2) + :fall-timeout (seconds 1) + :fall-stumble-threshold (meters 39.9) + :yellow-projectile-speed (meters 60.0) + :hit-invulnerable-timeout (seconds 3) + :run-cycle-length 60.0 + :walk-cycle-dist (meters 2.8) + :walk-up-cycle-dist (meters 2.8) + :walk-down-cycle-dist (meters 2.8) + :walk-side-cycle-dist (meters 2.8) + :run-cycle-dist (meters 6.25) + :run-up-cycle-dist (meters 5.0) + :run-down-cycle-dist (meters 5.0) + :run-side-cycle-dist (meters 6.25) + :run-wall-cycle-dist (meters 2.8) + :duck-walk-cycle-dist (meters 3.25) + :wade-shallow-walk-cycle-dist (meters 6.0) + :wade-deep-walk-cycle-dist (meters 6.0) + :smack-surface-dist (meters 1.25) + :min-dive-depth (meters 2.0) + :root-radius (meters 2.2) + :root-offset (new 'static 'vector :y 4915.2 :w 1.0) + :body-radius (meters 0.7) + :edge-radius (meters 0.35) + :edge-offset + (new 'static 'vector :y 4915.2 :z 4096.0 :w 1.0) + :head-radius (meters 0.7) + :head-height (meters 1.4) + :head-offset (new 'static 'vector :y 4915.2 :w 1.0) + :spin-radius (meters 2.2) + :spin-offset (new 'static 'vector :y 6553.6 :w 1.0) + :duck-spin-radius (meters 1.2) + :duck-spin-offset (new 'static 'vector :y 4096.0 :w 1.0) + :punch-radius (meters 1.3) + :punch-offset (new 'static 'vector :y 5324.8 :w 1.0) + :uppercut-radius (meters 1.0) + :uppercut0-offset (new 'static 'vector :y 3276.8 :w 1.0) + :uppercut1-offset (new 'static 'vector :y 9011.2 :w 1.0) + :flop-radius (meters 1.4) + :flop0-offset (new 'static 'vector :y 3276.8 :w 1.0) + :flop1-offset (new 'static 'vector :y 9011.2 :w 1.0) + :stuck-time (seconds 0.3) + :stuck-timeout (seconds 2) + :stuck-distance (meters 0.05) + :tongue-pull-speed-min 0.15 + :tongue-pull-speed-max 0.22 + :yellow-attack-timeout (seconds 0.2) + ) + ) ;; definition for function target-start-attack ;; INFO: Return type mismatch int vs none. @@ -438,476 +306,392 @@ (s5-0 (-> self control unknown-sphere01)) (gp-0 (-> self control unknown-sphere02)) (f30-0 (if arg1 - 2.0 - 1.0 - ) - ) + 2.0 + 1.0 + ) + ) ) - (dotimes (v1-4 3) - (set! (-> self control unknown-sphere-array00 v1-4 prim-core offense) 2) - ) - (sphere<-vector+r! - (the-as sphere (-> self control root-prim local-sphere)) - (-> *TARGET-bank* root-offset) - (-> *TARGET-bank* root-radius) - ) - (set! (-> self control unknown-symbol30) arg0) - (set! (-> self state-flags) (logand -3 (-> self state-flags))) - (set! (-> s4-0 transform-index) -2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 0)) - (set! (-> s4-0 collide-with) (the-as uint 0)) - (set! (-> s4-0 local-sphere w) 0.0) - (set! (-> s4-0 prim-core offense) 0) - (set! (-> s5-0 transform-index) -2) - (set! (-> s5-0 prim-core collide-as) (the-as uint 0)) - (set! (-> s5-0 collide-with) (the-as uint 0)) - (set! (-> s5-0 local-sphere w) 0.0) - (set! (-> s5-0 prim-core offense) 0) - (set! (-> gp-0 transform-index) -2) - (set! (-> gp-0 prim-core collide-as) (the-as uint 0)) - (set! (-> gp-0 collide-with) (the-as uint 0)) - (set! (-> gp-0 local-sphere w) 0.0) - (set! (-> gp-0 prim-core offense) 0) - (case arg0 - (('harmless #f) - (set! (-> self control unknown-symbol30) #f) - (target-collide-set! - (-> self control unknown-symbol00) - (-> self control unknown-float90) + (dotimes (v1-4 3) + (set! (-> self control unknown-sphere-array00 v1-4 prim-core offense) 2) + ) + (sphere<-vector+r! + (the-as sphere (-> self control root-prim local-sphere)) + (-> *TARGET-bank* root-offset) + (-> *TARGET-bank* root-radius) + ) + (set! (-> self control unknown-symbol30) arg0) + (set! (-> self state-flags) (logand -3 (-> self state-flags))) + (set! (-> s4-0 transform-index) -2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 0)) + (set! (-> s4-0 collide-with) (the-as uint 0)) + (set! (-> s4-0 local-sphere w) 0.0) + (set! (-> s4-0 prim-core offense) 0) + (set! (-> s5-0 transform-index) -2) + (set! (-> s5-0 prim-core collide-as) (the-as uint 0)) + (set! (-> s5-0 collide-with) (the-as uint 0)) + (set! (-> s5-0 local-sphere w) 0.0) + (set! (-> s5-0 prim-core offense) 0) + (set! (-> gp-0 transform-index) -2) + (set! (-> gp-0 prim-core collide-as) (the-as uint 0)) + (set! (-> gp-0 collide-with) (the-as uint 0)) + (set! (-> gp-0 local-sphere w) 0.0) + (set! (-> gp-0 prim-core offense) 0) + (case arg0 + (('harmless #f) + (set! (-> self control unknown-symbol30) #f) + (target-collide-set! (-> self control unknown-symbol00) (-> self control unknown-float90)) ) + (('spin 'spin-air) + (sphere<-vector+r! + (the-as sphere (-> self control root-prim local-sphere)) + (new 'static 'vector :y 6553.6 :w 1.0) + 9830.4 + ) + (logior! (-> self state-flags) 2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s4-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! + (the-as sphere (-> s4-0 local-sphere)) + (-> *TARGET-bank* spin-offset) + (-> *TARGET-bank* spin-radius) + ) + ) + (('duck-spin) + (sphere<-vector+r! + (the-as sphere (-> self control root-prim local-sphere)) + (new 'static 'vector :y 6553.6 :w 1.0) + 10649.6 + ) + (logior! (-> self state-flags) 2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s4-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! + (the-as sphere (-> s4-0 local-sphere)) + (-> *TARGET-bank* duck-spin-offset) + (-> *TARGET-bank* duck-spin-radius) + ) + (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s5-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! (the-as sphere (-> s5-0 local-sphere)) *null-vector* (-> *TARGET-bank* duck-spin-radius)) + (set! (-> s5-0 transform-index) 32) + ) + (('duck-slide) + (logior! (-> self state-flags) 2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s4-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! + (the-as sphere (-> s4-0 local-sphere)) + (-> *TARGET-bank* duck-spin-offset) + (-> *TARGET-bank* duck-spin-radius) + ) + (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s5-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! (the-as sphere (-> s5-0 local-sphere)) *null-vector* (-> *TARGET-bank* duck-spin-radius)) + (set! (-> s5-0 transform-index) 28) + ) + (('wheel-solid) + (logior! (-> self state-flags) 2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s4-0 collide-with) (the-as uint #x2bce)) + (dotimes (v1-57 3) + (set! (-> self control unknown-sphere-array00 v1-57 prim-core offense) 1) + ) + (sphere<-vector+r! + (the-as sphere (-> s4-0 local-sphere)) + (-> *TARGET-bank* duck-spin-offset) + (+ 819.2 (-> *TARGET-bank* duck-spin-radius)) + ) + (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s5-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! (the-as sphere (-> s5-0 local-sphere)) *null-vector* (-> *TARGET-bank* duck-spin-radius)) + (set! (-> s5-0 transform-index) 7) + (set! (-> self control unknown-symbol30) 'roll) + ) + (('flip) + (logior! (-> self state-flags) 2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s4-0 collide-with) (the-as uint #x2bce)) + (dotimes (v1-71 3) + (set! (-> self control unknown-sphere-array00 v1-71 prim-core offense) 1) + ) + (sphere<-vector+r! + (the-as sphere (-> s4-0 local-sphere)) + (-> *TARGET-bank* duck-spin-offset) + (+ 819.2 (-> *TARGET-bank* duck-spin-radius)) + ) + (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s5-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! (the-as sphere (-> s5-0 local-sphere)) *null-vector* (-> *TARGET-bank* duck-spin-radius)) + (set! (-> s5-0 transform-index) 7) + (set! (-> self control unknown-symbol30) 'flip) + ) + (('punch) + (sphere<-vector+r! + (the-as sphere (-> self control root-prim local-sphere)) + (new 'static 'vector :y 6553.6 :w 1.0) + 11878.4 + ) + (logior! (-> self state-flags) 2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s4-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! + (the-as sphere (-> s4-0 local-sphere)) + (-> *TARGET-bank* punch-offset) + (-> *TARGET-bank* punch-radius) + ) + (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s5-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! (the-as sphere (-> s5-0 local-sphere)) *null-vector* (-> *TARGET-bank* punch-radius)) + (set! (-> s5-0 transform-index) 22) + ) + (('uppercut) + (sphere<-vector+r! + (the-as sphere (-> self control root-prim local-sphere)) + (new 'static 'vector :y 6553.6 :w 1.0) + 11878.4 + ) + (logior! (-> self state-flags) 2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s4-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! + (the-as sphere (-> s4-0 local-sphere)) + (-> *TARGET-bank* uppercut0-offset) + (-> *TARGET-bank* uppercut-radius) + ) + (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s5-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! (the-as sphere (-> s5-0 local-sphere)) *null-vector* (-> *TARGET-bank* uppercut-radius)) + (set! (-> s5-0 transform-index) 22) + (set! (-> gp-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> gp-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! + (the-as sphere (-> gp-0 local-sphere)) + (-> *TARGET-bank* uppercut1-offset) + (-> *TARGET-bank* uppercut-radius) + ) + ) + (('flop) + (logior! (-> self state-flags) 2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s4-0 collide-with) (the-as uint #x2bce)) + (dotimes (v1-114 3) + (set! (-> self control unknown-sphere-array00 v1-114 prim-core offense) 3) + ) + (sphere<-vector+r! + (the-as sphere (-> s4-0 local-sphere)) + (-> *TARGET-bank* flop0-offset) + (-> *TARGET-bank* flop-radius) + ) + (set! f30-0 1.0) + (set! (-> self control unknown-symbol30) 'flop) + ) + (('flop-down) + (logior! (-> self state-flags) 2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s4-0 collide-with) (the-as uint #x2bce)) + (dotimes (v1-124 3) + (set! (-> self control unknown-sphere-array00 v1-124 prim-core offense) 3) + ) + (sphere<-vector+r! + (the-as sphere (-> s4-0 local-sphere)) + (-> *TARGET-bank* flop0-offset) + (-> *TARGET-bank* flop-radius) + ) + (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s5-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! + (the-as sphere (-> s5-0 local-sphere)) + (-> *TARGET-bank* flop1-offset) + (-> *TARGET-bank* flop-radius) + ) + (if (!= f30-0 1.0) + (set! f30-0 2.1) + ) + (set! (-> self control unknown-symbol30) 'flop) + ) + (('flut-attack) + (sphere<-vector+r! + (the-as sphere (-> self control root-prim local-sphere)) + (new 'static 'vector :y 6553.6 :w 1.0) + 12288.0 + ) + (logior! (-> self state-flags) 2) + (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s4-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! + (the-as sphere (-> s4-0 local-sphere)) + (-> *TARGET-bank* spin-offset) + (+ 2048.0 (-> *TARGET-bank* punch-radius)) + ) + (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) + (set! (-> s5-0 collide-with) (the-as uint #x2bce)) + (sphere<-vector+r! + (the-as sphere (-> s5-0 local-sphere)) + *null-vector* + (+ 1228.8 (-> *TARGET-bank* punch-radius)) + ) + (set! (-> s5-0 transform-index) 37) + (dotimes (v1-148 3) + (set! (-> self control unknown-sphere-array00 v1-148 prim-core offense) 3) + ) + ) + (else + (format 0 "ERROR: ~A unknown danger mode ~A" self arg0) + ) ) - (('spin 'spin-air) - (sphere<-vector+r! - (the-as sphere (-> self control root-prim local-sphere)) - (new 'static 'vector :y 6553.6 :w 1.0) - 9830.4 + (when (and (!= f30-0 1.0) (not (or (= arg0 'harmless) (= arg0 #f)))) + (set! (-> self control root-prim local-sphere w) (* (-> self control root-prim local-sphere w) f30-0)) + (set! (-> s4-0 local-sphere w) (* (-> s4-0 local-sphere w) f30-0)) + (set! (-> s5-0 local-sphere w) (* (-> s5-0 local-sphere w) f30-0)) + (let ((f0-37 (* (-> gp-0 local-sphere w) f30-0))) + (set! (-> gp-0 local-sphere w) f0-37) + f0-37 + ) ) - (logior! (-> self state-flags) 2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s4-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s4-0 local-sphere)) - (-> *TARGET-bank* spin-offset) - (-> *TARGET-bank* spin-radius) - ) - ) - (('duck-spin) - (sphere<-vector+r! - (the-as sphere (-> self control root-prim local-sphere)) - (new 'static 'vector :y 6553.6 :w 1.0) - 10649.6 - ) - (logior! (-> self state-flags) 2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s4-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s4-0 local-sphere)) - (-> *TARGET-bank* duck-spin-offset) - (-> *TARGET-bank* duck-spin-radius) - ) - (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s5-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s5-0 local-sphere)) - *null-vector* - (-> *TARGET-bank* duck-spin-radius) - ) - (set! (-> s5-0 transform-index) 32) - ) - (('duck-slide) - (logior! (-> self state-flags) 2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s4-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s4-0 local-sphere)) - (-> *TARGET-bank* duck-spin-offset) - (-> *TARGET-bank* duck-spin-radius) - ) - (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s5-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s5-0 local-sphere)) - *null-vector* - (-> *TARGET-bank* duck-spin-radius) - ) - (set! (-> s5-0 transform-index) 28) - ) - (('wheel-solid) - (logior! (-> self state-flags) 2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s4-0 collide-with) (the-as uint #x2bce)) - (dotimes (v1-57 3) - (set! (-> self control unknown-sphere-array00 v1-57 prim-core offense) 1) - ) - (sphere<-vector+r! - (the-as sphere (-> s4-0 local-sphere)) - (-> *TARGET-bank* duck-spin-offset) - (+ 819.2 (-> *TARGET-bank* duck-spin-radius)) - ) - (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s5-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s5-0 local-sphere)) - *null-vector* - (-> *TARGET-bank* duck-spin-radius) - ) - (set! (-> s5-0 transform-index) 7) - (set! (-> self control unknown-symbol30) 'roll) - ) - (('flip) - (logior! (-> self state-flags) 2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s4-0 collide-with) (the-as uint #x2bce)) - (dotimes (v1-71 3) - (set! (-> self control unknown-sphere-array00 v1-71 prim-core offense) 1) - ) - (sphere<-vector+r! - (the-as sphere (-> s4-0 local-sphere)) - (-> *TARGET-bank* duck-spin-offset) - (+ 819.2 (-> *TARGET-bank* duck-spin-radius)) - ) - (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s5-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s5-0 local-sphere)) - *null-vector* - (-> *TARGET-bank* duck-spin-radius) - ) - (set! (-> s5-0 transform-index) 7) - (set! (-> self control unknown-symbol30) 'flip) - ) - (('punch) - (sphere<-vector+r! - (the-as sphere (-> self control root-prim local-sphere)) - (new 'static 'vector :y 6553.6 :w 1.0) - 11878.4 - ) - (logior! (-> self state-flags) 2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s4-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s4-0 local-sphere)) - (-> *TARGET-bank* punch-offset) - (-> *TARGET-bank* punch-radius) - ) - (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s5-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s5-0 local-sphere)) - *null-vector* - (-> *TARGET-bank* punch-radius) - ) - (set! (-> s5-0 transform-index) 22) - ) - (('uppercut) - (sphere<-vector+r! - (the-as sphere (-> self control root-prim local-sphere)) - (new 'static 'vector :y 6553.6 :w 1.0) - 11878.4 - ) - (logior! (-> self state-flags) 2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s4-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s4-0 local-sphere)) - (-> *TARGET-bank* uppercut0-offset) - (-> *TARGET-bank* uppercut-radius) - ) - (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s5-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s5-0 local-sphere)) - *null-vector* - (-> *TARGET-bank* uppercut-radius) - ) - (set! (-> s5-0 transform-index) 22) - (set! (-> gp-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> gp-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> gp-0 local-sphere)) - (-> *TARGET-bank* uppercut1-offset) - (-> *TARGET-bank* uppercut-radius) - ) - ) - (('flop) - (logior! (-> self state-flags) 2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s4-0 collide-with) (the-as uint #x2bce)) - (dotimes (v1-114 3) - (set! (-> self control unknown-sphere-array00 v1-114 prim-core offense) 3) - ) - (sphere<-vector+r! - (the-as sphere (-> s4-0 local-sphere)) - (-> *TARGET-bank* flop0-offset) - (-> *TARGET-bank* flop-radius) - ) - (set! f30-0 1.0) - (set! (-> self control unknown-symbol30) 'flop) - ) - (('flop-down) - (logior! (-> self state-flags) 2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s4-0 collide-with) (the-as uint #x2bce)) - (dotimes (v1-124 3) - (set! (-> self control unknown-sphere-array00 v1-124 prim-core offense) 3) - ) - (sphere<-vector+r! - (the-as sphere (-> s4-0 local-sphere)) - (-> *TARGET-bank* flop0-offset) - (-> *TARGET-bank* flop-radius) - ) - (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s5-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s5-0 local-sphere)) - (-> *TARGET-bank* flop1-offset) - (-> *TARGET-bank* flop-radius) - ) - (if (!= f30-0 1.0) - (set! f30-0 2.1) - ) - (set! (-> self control unknown-symbol30) 'flop) - ) - (('flut-attack) - (sphere<-vector+r! - (the-as sphere (-> self control root-prim local-sphere)) - (new 'static 'vector :y 6553.6 :w 1.0) - 12288.0 - ) - (logior! (-> self state-flags) 2) - (set! (-> s4-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s4-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s4-0 local-sphere)) - (-> *TARGET-bank* spin-offset) - (+ 2048.0 (-> *TARGET-bank* punch-radius)) - ) - (set! (-> s5-0 prim-core collide-as) (the-as uint 4112)) - (set! (-> s5-0 collide-with) (the-as uint #x2bce)) - (sphere<-vector+r! - (the-as sphere (-> s5-0 local-sphere)) - *null-vector* - (+ 1228.8 (-> *TARGET-bank* punch-radius)) - ) - (set! (-> s5-0 transform-index) 37) - (dotimes (v1-148 3) - (set! (-> self control unknown-sphere-array00 v1-148 prim-core offense) 3) - ) - ) - (else - (format 0 "ERROR: ~A unknown danger mode ~A" self arg0) - ) ) - (when (and (!= f30-0 1.0) (not (or (= arg0 'harmless) (= arg0 #f)))) - (set! - (-> self control root-prim local-sphere w) - (* (-> self control root-prim local-sphere w) f30-0) - ) - (set! (-> s4-0 local-sphere w) (* (-> s4-0 local-sphere w) f30-0)) - (set! (-> s5-0 local-sphere w) (* (-> s5-0 local-sphere w) f30-0)) - (let ((f0-37 (* (-> gp-0 local-sphere w) f30-0))) - (set! (-> gp-0 local-sphere w) f0-37) - f0-37 - ) - ) - ) ) ;; definition for function target-collide-set! (defbehavior target-collide-set! target ((arg0 symbol) (arg1 float)) (let ((gp-0 (-> self control))) - (set! (-> self control unknown-symbol00) arg0) - (set! (-> self control unknown-float90) arg1) - (dotimes (v1-2 3) - (set! (-> gp-0 unknown-sphere-array00 v1-2 prim-core offense) 1) - (set! (-> gp-0 unknown-sphere-array00 v1-2 transform-index) -2) + (set! (-> self control unknown-symbol00) arg0) + (set! (-> self control unknown-float90) arg1) + (dotimes (v1-2 3) + (set! (-> gp-0 unknown-sphere-array00 v1-2 prim-core offense) 1) + (set! (-> gp-0 unknown-sphere-array00 v1-2 transform-index) -2) + ) + (case arg0 + (('pole) + (set-vector! (-> gp-0 unknown-sphere-array00 0 local-sphere) 0.0 0.0 0.0 (-> *TARGET-bank* body-radius)) + (set-vector! (-> gp-0 unknown-sphere-array00 1 local-sphere) 0.0 0.0 0.0 (-> *TARGET-bank* body-radius)) + (set-vector! (-> gp-0 unknown-sphere-array00 2 local-sphere) 0.0 0.0 0.0 (-> *TARGET-bank* body-radius)) + (set! (-> gp-0 unknown-sphere-array00 0 transform-index) 28) + (set! (-> gp-0 unknown-sphere-array00 1 transform-index) 26) + (set! (-> gp-0 unknown-sphere-array00 2 transform-index) 7) + ) + (('racer) + (set! (-> gp-0 unknown-vector11 y) 4096.0) + (sphere<-vector+r! + (the-as sphere (-> gp-0 root-prim local-sphere)) + (new 'static 'vector :y 8192.0 :w 1.0) + 16384.0 + ) + (set-vector! (-> gp-0 unknown-sphere-array00 0 local-sphere) 0.0 6553.6 0.0 6553.6) + (set-vector! (-> gp-0 unknown-sphere-array00 1 local-sphere) 0.0 9420.8 0.0 6553.6) + (set-vector! (-> gp-0 unknown-sphere-array00 2 local-sphere) 0.0 12288.0 0.0 6553.6) + (dotimes (v1-22 3) + (set! (-> gp-0 unknown-sphere-array00 v1-22 prim-core offense) 3) + ) + ) + (('flut) + (sphere<-vector+r! + (the-as sphere (-> gp-0 root-prim local-sphere)) + (new 'static 'vector :y 8192.0 :w 1.0) + 12288.0 + ) + (set-vector! (-> gp-0 unknown-sphere-array00 0 local-sphere) 0.0 4915.2 0.0 4915.2) + (set-vector! (-> gp-0 unknown-sphere-array00 1 local-sphere) 0.0 7782.4004 0.0 4915.2) + (set-vector! (-> gp-0 unknown-sphere-array00 2 local-sphere) 0.0 10649.6 0.0 4915.2) + ) + (('duck) + (set! (-> self control unknown-float91) arg1) + (let ((f30-0 (- 1.0 arg1))) + (set! (-> gp-0 unknown-vector11 y) 0.0) + (sphere<-vector+r! + (the-as sphere (-> gp-0 root-prim local-sphere)) + (-> *TARGET-bank* root-offset) + (-> *TARGET-bank* root-radius) + ) + (set-vector! + (-> gp-0 unknown-sphere-array00 0 local-sphere) + 0.0 + (-> *TARGET-bank* body-radius) + (* 0.0 f30-0) + (-> *TARGET-bank* body-radius) + ) + (set-vector! + (-> gp-0 unknown-sphere-array00 1 local-sphere) + 0.0 + (+ (-> *TARGET-bank* body-radius) (* 2867.2 f30-0)) + 0.0 + (-> *TARGET-bank* body-radius) + ) + (set-vector! + (-> gp-0 unknown-sphere-array00 2 local-sphere) + 0.0 + (+ (-> *TARGET-bank* body-radius) (* 5734.4 f30-0)) + 0.0 + (-> *TARGET-bank* body-radius) + ) + ) + ) + (('tube) + (set! (-> self control unknown-float91) arg1) + (let ((f30-1 (- 1.0 arg1))) + (set! (-> gp-0 unknown-vector11 y) 0.0) + (sphere<-vector+r! + (the-as sphere (-> gp-0 root-prim local-sphere)) + (-> *TARGET-bank* root-offset) + (-> *TARGET-bank* root-radius) + ) + (set-vector! + (-> gp-0 unknown-sphere-array00 0 local-sphere) + 0.0 + (-> *TARGET-bank* body-radius) + (* 0.0 f30-1) + (-> *TARGET-bank* body-radius) + ) + (set-vector! + (-> gp-0 unknown-sphere-array00 1 local-sphere) + 0.0 + (+ (-> *TARGET-bank* body-radius) (* 2867.2 f30-1)) + 0.0 + (-> *TARGET-bank* body-radius) + ) + (set-vector! + (-> gp-0 unknown-sphere-array00 2 local-sphere) + 0.0 + (+ (-> *TARGET-bank* body-radius) (* 5734.4 f30-1)) + 0.0 + (-> *TARGET-bank* body-radius) + ) + ) + (dotimes (v1-52 3) + (set! (-> gp-0 unknown-sphere-array00 v1-52 prim-core offense) 3) + ) + ) + (else + (set! (-> self control unknown-float91) 0.0) + (set! (-> gp-0 unknown-vector11 y) 0.0) + (sphere<-vector+r! + (the-as sphere (-> gp-0 root-prim local-sphere)) + (-> *TARGET-bank* root-offset) + (-> *TARGET-bank* root-radius) + ) + (set-vector! + (-> gp-0 unknown-sphere-array00 0 local-sphere) + 0.0 + (-> *TARGET-bank* body-radius) + 0.0 + (-> *TARGET-bank* body-radius) + ) + (set-vector! + (-> gp-0 unknown-sphere-array00 1 local-sphere) + 0.0 + (+ 2867.2 (-> *TARGET-bank* body-radius)) + 0.0 + (-> *TARGET-bank* body-radius) + ) + (set-vector! + (-> gp-0 unknown-sphere-array00 2 local-sphere) + 0.0 + (+ 5734.4 (-> *TARGET-bank* body-radius)) + 0.0 + (-> *TARGET-bank* body-radius) + ) + ) + ) ) - (case arg0 - (('pole) - (set-vector! - (-> gp-0 unknown-sphere-array00 0 local-sphere) - 0.0 - 0.0 - 0.0 - (-> *TARGET-bank* body-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 1 local-sphere) - 0.0 - 0.0 - 0.0 - (-> *TARGET-bank* body-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 2 local-sphere) - 0.0 - 0.0 - 0.0 - (-> *TARGET-bank* body-radius) - ) - (set! (-> gp-0 unknown-sphere-array00 0 transform-index) 28) - (set! (-> gp-0 unknown-sphere-array00 1 transform-index) 26) - (set! (-> gp-0 unknown-sphere-array00 2 transform-index) 7) - ) - (('racer) - (set! (-> gp-0 unknown-vector11 y) 4096.0) - (sphere<-vector+r! - (the-as sphere (-> gp-0 root-prim local-sphere)) - (new 'static 'vector :y 8192.0 :w 1.0) - 16384.0 - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 0 local-sphere) - 0.0 - 6553.6 - 0.0 - 6553.6 - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 1 local-sphere) - 0.0 - 9420.8 - 0.0 - 6553.6 - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 2 local-sphere) - 0.0 - 12288.0 - 0.0 - 6553.6 - ) - (dotimes (v1-22 3) - (set! (-> gp-0 unknown-sphere-array00 v1-22 prim-core offense) 3) - ) - ) - (('flut) - (sphere<-vector+r! - (the-as sphere (-> gp-0 root-prim local-sphere)) - (new 'static 'vector :y 8192.0 :w 1.0) - 12288.0 - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 0 local-sphere) - 0.0 - 4915.2 - 0.0 - 4915.2 - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 1 local-sphere) - 0.0 - 7782.4004 - 0.0 - 4915.2 - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 2 local-sphere) - 0.0 - 10649.6 - 0.0 - 4915.2 - ) - ) - (('duck) - (set! (-> self control unknown-float91) arg1) - (let ((f30-0 (- 1.0 arg1))) - (set! (-> gp-0 unknown-vector11 y) 0.0) - (sphere<-vector+r! - (the-as sphere (-> gp-0 root-prim local-sphere)) - (-> *TARGET-bank* root-offset) - (-> *TARGET-bank* root-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 0 local-sphere) - 0.0 - (-> *TARGET-bank* body-radius) - (* 0.0 f30-0) - (-> *TARGET-bank* body-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 1 local-sphere) - 0.0 - (+ (-> *TARGET-bank* body-radius) (* 2867.2 f30-0)) - 0.0 - (-> *TARGET-bank* body-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 2 local-sphere) - 0.0 - (+ (-> *TARGET-bank* body-radius) (* 5734.4 f30-0)) - 0.0 - (-> *TARGET-bank* body-radius) - ) - ) - ) - (('tube) - (set! (-> self control unknown-float91) arg1) - (let ((f30-1 (- 1.0 arg1))) - (set! (-> gp-0 unknown-vector11 y) 0.0) - (sphere<-vector+r! - (the-as sphere (-> gp-0 root-prim local-sphere)) - (-> *TARGET-bank* root-offset) - (-> *TARGET-bank* root-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 0 local-sphere) - 0.0 - (-> *TARGET-bank* body-radius) - (* 0.0 f30-1) - (-> *TARGET-bank* body-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 1 local-sphere) - 0.0 - (+ (-> *TARGET-bank* body-radius) (* 2867.2 f30-1)) - 0.0 - (-> *TARGET-bank* body-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 2 local-sphere) - 0.0 - (+ (-> *TARGET-bank* body-radius) (* 5734.4 f30-1)) - 0.0 - (-> *TARGET-bank* body-radius) - ) - ) - (dotimes (v1-52 3) - (set! (-> gp-0 unknown-sphere-array00 v1-52 prim-core offense) 3) - ) - ) - (else - (set! (-> self control unknown-float91) 0.0) - (set! (-> gp-0 unknown-vector11 y) 0.0) - (sphere<-vector+r! - (the-as sphere (-> gp-0 root-prim local-sphere)) - (-> *TARGET-bank* root-offset) - (-> *TARGET-bank* root-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 0 local-sphere) - 0.0 - (-> *TARGET-bank* body-radius) - 0.0 - (-> *TARGET-bank* body-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 1 local-sphere) - 0.0 - (+ 2867.2 (-> *TARGET-bank* body-radius)) - 0.0 - (-> *TARGET-bank* body-radius) - ) - (set-vector! - (-> gp-0 unknown-sphere-array00 2 local-sphere) - 0.0 - (+ 5734.4 (-> *TARGET-bank* body-radius)) - 0.0 - (-> *TARGET-bank* body-radius) - ) - ) - ) - ) 0 ) @@ -919,172 +703,128 @@ ;; definition for function target-align-vel-z-adjust (defbehavior target-align-vel-z-adjust target ((arg0 float)) (let ((f1-0 (-> self control unknown-float61))) - (* arg0 (if (< 0.0 f1-0) - (* (- 1.0 f1-0) (-> self control unknown-surface01 alignv)) - (-> self control unknown-surface01 alignv) - ) + (* arg0 (if (< 0.0 f1-0) + (* (- 1.0 f1-0) (-> self control unknown-surface01 alignv)) + (-> self control unknown-surface01 alignv) + ) + ) ) - ) ) ;; definition for method 16 of type target ;; INFO: Return type mismatch control-info vs collide-shape. ;; Used lq/sq -(defmethod - dummy-16 - target - ((obj target) (arg0 int) (arg1 (inline-array vector)) (arg2 vector)) +(defmethod dummy-16 target ((obj target) (arg0 int) (arg1 (inline-array vector)) (arg2 vector)) (let ((s2-0 (new 'stack-no-clear 'vector))) - (set! (-> s2-0 quad) (-> arg2 quad)) - (set! (-> s2-0 z) (target-align-vel-z-adjust (-> s2-0 z))) - (when (logtest? arg0 7) - (let* ((s3-0 (-> obj control unknown-matrix01)) - (s0-0 (-> obj control unknown-matrix00)) - (s1-0 - (vector-matrix*! - (new 'stack-no-clear 'vector) - (-> obj control dynam gravity) - s0-0 + (set! (-> s2-0 quad) (-> arg2 quad)) + (set! (-> s2-0 z) (target-align-vel-z-adjust (-> s2-0 z))) + (when (logtest? arg0 7) + (let* ((s3-0 (-> obj control unknown-matrix01)) + (s0-0 (-> obj control unknown-matrix00)) + (s1-0 (vector-matrix*! (new 'stack-no-clear 'vector) (-> obj control dynam gravity) s0-0)) + (a1-3 (vector-matrix*! (new 'stack-no-clear 'vector) (-> obj control transv) s0-0)) ) + (if (logtest? arg0 2048) + (set-vector! s1-0 0.0 0.0 0.0 1.0) ) - (a1-3 - (vector-matrix*! - (new 'stack-no-clear 'vector) - (-> obj control transv) - s0-0 - ) + (when (logtest? arg0 1) + (set! (-> a1-3 x) (+ (* (-> arg1 0 x) (-> s2-0 x) (-> *display* frames-per-second)) + (* (-> s1-0 x) (-> *display* seconds-per-frame)) + ) + ) + (if (zero? (logand arg0 12)) + (set! (-> a1-3 z) 0.0) + ) + ) + (if (and (logtest? arg0 2) (not (and (logtest? arg0 4096) (= (-> arg1 0 y) 0.0)))) + (set! (-> a1-3 y) (+ (* (-> arg1 0 y) (-> s2-0 y) (-> *display* frames-per-second)) + (* (-> s1-0 y) (-> *display* seconds-per-frame)) + ) + ) ) - ) - (if (logtest? arg0 2048) - (set-vector! s1-0 0.0 0.0 0.0 1.0) - ) - (when (logtest? arg0 1) - (set! - (-> a1-3 x) - (+ - (* (-> arg1 0 x) (-> s2-0 x) (-> *display* frames-per-second)) - (* (-> s1-0 x) (-> *display* seconds-per-frame)) + (when (logtest? arg0 4) + (set! (-> a1-3 z) (+ (* (-> arg1 0 z) (-> s2-0 z) (-> *display* frames-per-second)) + (* (-> s1-0 z) (-> *display* seconds-per-frame)) + ) + ) + (if (zero? (logand arg0 9)) + (set! (-> a1-3 x) 0.0) + ) + ) + (vector-matrix*! (-> obj control transv) a1-3 s3-0) ) - ) - (if (zero? (logand arg0 12)) - (set! (-> a1-3 z) 0.0) - ) ) - (if - (and - (logtest? arg0 2) - (not (and (logtest? arg0 4096) (= (-> arg1 0 y) 0.0))) - ) - (set! - (-> a1-3 y) - (+ - (* (-> arg1 0 y) (-> s2-0 y) (-> *display* frames-per-second)) - (* (-> s1-0 y) (-> *display* seconds-per-frame)) - ) - ) - ) - (when (logtest? arg0 4) - (set! - (-> a1-3 z) - (+ - (* (-> arg1 0 z) (-> s2-0 z) (-> *display* frames-per-second)) - (* (-> s1-0 z) (-> *display* seconds-per-frame)) - ) - ) - (if (zero? (logand arg0 9)) - (set! (-> a1-3 x) 0.0) - ) - ) - (vector-matrix*! (-> obj control transv) a1-3 s3-0) - ) ) - ) (if (logtest? arg0 16) - (quaternion-normalize! - (quaternion*! - (-> obj control unknown-quaternion00) - (-> obj control unknown-quaternion00) - (the-as quaternion (-> arg1 1)) - ) - ) - ) + (quaternion-normalize! (quaternion*! + (-> obj control unknown-quaternion00) + (-> obj control unknown-quaternion00) + (the-as quaternion (-> arg1 1)) + ) + ) + ) (the-as collide-shape (-> obj control)) ) ;; definition for function average-turn-angle (defun average-turn-angle ((arg0 target)) (let ((f30-0 0.0)) - (dotimes (s5-0 8) - (+! - f30-0 - (fabs - (deg-diff - (atan - (-> arg0 control unknown-vector-array00 s5-0 x) - (-> arg0 control unknown-vector-array00 s5-0 z) + (dotimes (s5-0 8) + (+! + f30-0 + (fabs + (deg-diff + (atan (-> arg0 control unknown-vector-array00 s5-0 x) (-> arg0 control unknown-vector-array00 s5-0 z)) + 0.0 + ) + ) ) - 0.0 - ) ) - ) + (* 0.125 f30-0) ) - (* 0.125 f30-0) - ) ) ;; definition for function can-play-stance-amibent? (defbehavior can-play-stance-amibent? target () (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 9000) - (not (-> *setting-control* current talking)) - (not (-> *setting-control* current spooling)) - (not (-> *setting-control* current movie)) - (not (-> *setting-control* current hint)) - (zero? (logand (-> self control status) 32)) - (zero? (logand (-> self water flags) 512)) - ) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 9000) + (not (-> *setting-control* current talking)) + (not (-> *setting-control* current spooling)) + (not (-> *setting-control* current movie)) + (not (-> *setting-control* current hint)) + (zero? (logand (-> self control status) 32)) + (zero? (logand (-> self water flags) 512)) + ) ) ;; definition for function can-jump? (defbehavior can-jump? target ((arg0 symbol)) (and - (or - (logtest? (-> self control status) 1) - (< - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - (the-as int (-> *TARGET-bank* ground-timeout)) - ) - (and - (logtest? (-> self control status) 1) - (< 0.866 (-> self control surface-angle)) - ) - ) - (and - (zero? (logand (-> self control unknown-surface01 flags) 64)) - (zero? (logand (-> self state-flags) 2048)) - (case arg0 - (('target-wheel-flip) - (>= 0.5 (-> self control unknown-float61)) - ) - (else - #t + (or + (logtest? (-> self control status) 1) + (< (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) + (the-as int (-> *TARGET-bank* ground-timeout)) + ) + (and (logtest? (-> self control status) 1) (< 0.866 (-> self control surface-angle))) + ) + (and + (zero? (logand (-> self control unknown-surface01 flags) 64)) + (zero? (logand (-> self state-flags) 2048)) + (case arg0 + (('target-wheel-flip) + (>= 0.5 (-> self control unknown-float61)) + ) + (else + #t + ) + ) ) - ) ) - ) ) ;; definition for function move-legs? (defbehavior move-legs? target () - (!= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) + (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) ) ;; definition for function target-height-above-ground @@ -1095,255 +835,193 @@ ;; definition for function fall-test ;; INFO: Return type mismatch object vs none. (defbehavior fall-test target () - (when - (and - (zero? (logand (-> self control status) 1)) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - (the-as int (-> *TARGET-bank* ground-timeout)) - ) - (>= - 0.0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - (let ((v1-15 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (when (and + (zero? (logand (-> self control status) 1)) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) + (the-as int (-> *TARGET-bank* ground-timeout)) + ) + (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (let ((v1-15 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or + (not (or + (= v1-15 (-> self draw art-group data 59)) + (= v1-15 (-> self draw art-group data 60)) + (= v1-15 (-> self draw art-group data 61)) + ) + ) + (< 4096.0 (target-height-above-ground)) + ) + ) ) - (or - (not - (or - (= v1-15 (-> self draw art-group data 59)) - (= v1-15 (-> self draw art-group data 60)) - (= v1-15 (-> self draw art-group data 61)) - ) - ) - (< 4096.0 (target-height-above-ground)) + (when (and + (< (- (-> *display* base-frame-counter) (the-as int (-> self control rider-time))) + (the-as int (-> *TARGET-bank* ground-timeout)) + ) + (logtest? (-> self control unknown-surface01 flags) #x4000) + ) + (+! (-> self control transv x) (-> self control rider-last-move x)) + (+! (-> self control transv z) (-> self control rider-last-move z)) ) - ) + (go target-falling #f) ) - (when - (and - (< - (- - (-> *display* base-frame-counter) - (the-as int (-> self control rider-time)) - ) - (the-as int (-> *TARGET-bank* ground-timeout)) - ) - (logtest? (-> self control unknown-surface01 flags) #x4000) - ) - (+! (-> self control transv x) (-> self control rider-last-move x)) - (+! (-> self control transv z) (-> self control rider-last-move z)) - ) - (go target-falling #f) - ) (none) ) ;; definition for function slide-down-test ;; INFO: Return type mismatch object vs none. (defbehavior slide-down-test target () - (if - (and - (zero? (logand (-> self control status) 129)) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - (the-as int (-> *TARGET-bank* ground-timeout)) - ) - (logtest? (-> self control status) 4) - (< 0.5 (-> self control surface-angle)) - ) - (go target-slide-down) - ) + (if (and + (zero? (logand (-> self control status) 129)) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) + (the-as int (-> *TARGET-bank* ground-timeout)) + ) + (logtest? (-> self control status) 4) + (< 0.5 (-> self control surface-angle)) + ) + (go target-slide-down) + ) (none) ) ;; definition for function smack-surface? (defbehavior smack-surface? target ((arg0 symbol)) - (and - (< 0.7 (-> self control touch-angle)) - (and - (< (-> self control surface-angle) 0.3) - (logtest? (-> self control status) 8) - (or arg0 (zero? (logand (-> self control status) 32))) - ) - ) + (and (< 0.7 (-> self control touch-angle)) (and + (< (-> self control surface-angle) 0.3) + (logtest? (-> self control status) 8) + (or arg0 (zero? (logand (-> self control status) 32))) + ) + ) ) ;; definition for function can-wheel? (defbehavior can-wheel? target () (and - (logtest? (-> self control status) 1) - (or - (zero? (logand (-> self control status) 8)) - (>= 0.7 (-> self control touch-angle)) + (logtest? (-> self control status) 1) + (or (zero? (logand (-> self control status) 8)) (>= 0.7 (-> self control touch-angle))) + (and (< (-> self control unknown-float61) 0.7) (zero? (logand (-> self state-flags) 8192))) ) - (and - (< (-> self control unknown-float61) 0.7) - (zero? (logand (-> self state-flags) 8192)) - ) - ) ) ;; definition for function can-duck? (defbehavior can-duck? target () (and - (logtest? (-> self control status) 1) - (>= (-> self control unknown-float60) 0.7) - (zero? (logand (-> self water flags) 6144)) - (zero? (logand (-> self state-flags) 8192)) - (or - (zero? (logand (-> self water flags) 1024)) - (< - (- - (- - (-> self control trans y) - (- (-> self water base-height) (-> self water wade-height)) - ) + (logtest? (-> self control status) 1) + (>= (-> self control unknown-float60) 0.7) + (zero? (logand (-> self water flags) 6144)) + (zero? (logand (-> self state-flags) 8192)) + (or + (zero? (logand (-> self water flags) 1024)) + (< (- (- (-> self control trans y) (- (-> self water base-height) (-> self water wade-height)))) 2457.6) ) - 2457.6 - ) ) - ) ) ;; definition for function can-exit-duck? ;; Used lq/sq (defbehavior can-exit-duck? target () (let ((gp-0 (new 'stack-no-clear 'collide-using-spheres-params))) - (let ((s5-0 (new 'stack-no-clear 'inline-array 'sphere 2))) - (dotimes (s4-0 2) - ((method-of-type sphere new) (the-as symbol (-> s5-0 s4-0)) sphere) - ) - (set! (-> s5-0 0 quad) (-> self control trans quad)) - (set! (-> s5-0 0 y) (+ 5734.4 (-> *TARGET-bank* body-radius) (-> s5-0 0 y))) - (set! (-> s5-0 0 w) (-> *TARGET-bank* body-radius)) - (set! (-> s5-0 1 quad) (-> self control trans quad)) - (set! (-> s5-0 1 y) (+ 2867.2 (-> *TARGET-bank* body-radius) (-> s5-0 1 y))) - (set! (-> s5-0 1 w) (-> *TARGET-bank* body-radius)) - (set! (-> gp-0 spheres) (the-as (pointer sphere) s5-0)) + (let ((s5-0 (new 'stack-no-clear 'inline-array 'sphere 2))) + (dotimes (s4-0 2) + ((method-of-type sphere new) (the-as symbol (-> s5-0 s4-0)) sphere) + ) + (set! (-> s5-0 0 quad) (-> self control trans quad)) + (set! (-> s5-0 0 y) (+ 5734.4 (-> *TARGET-bank* body-radius) (-> s5-0 0 y))) + (set! (-> s5-0 0 w) (-> *TARGET-bank* body-radius)) + (set! (-> s5-0 1 quad) (-> self control trans quad)) + (set! (-> s5-0 1 y) (+ 2867.2 (-> *TARGET-bank* body-radius) (-> s5-0 1 y))) + (set! (-> s5-0 1 w) (-> *TARGET-bank* body-radius)) + (set! (-> gp-0 spheres) (the-as (pointer sphere) s5-0)) + ) + (set! (-> gp-0 num-spheres) (the-as uint 2)) + (set! (-> gp-0 collide-with) (-> self control root-prim collide-with)) + (set! (-> gp-0 proc) #f) + (set! (-> gp-0 ignore-pat) (the-as uint 1)) + (set! (-> gp-0 solid-only) #t) + (if (dummy-11 *collide-cache* gp-0) + #f + #t + ) ) - (set! (-> gp-0 num-spheres) (the-as uint 2)) - (set! (-> gp-0 collide-with) (-> self control root-prim collide-with)) - (set! (-> gp-0 proc) #f) - (set! (-> gp-0 ignore-pat) (the-as uint 1)) - (set! (-> gp-0 solid-only) #t) - (if (dummy-11 *collide-cache* gp-0) - #f - #t - ) - ) ) ;; definition for function can-hands? (defbehavior can-hands? target ((arg0 symbol)) (cond - ((or - (zero? - (logand - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons square) - ) - ) - (or - (and - (logtest? (-> self state-flags) 4096) + ((or + (zero? (logand + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons square) + ) + ) (or - (zero? (logand (-> self state-flags) #x4000)) - (not (and - (= (-> self fact-info-target eco-type) 1) - (>= (-> self fact-info-target eco-level) 1.0) - ) + (logtest? (-> self state-flags) 4096) + (or + (zero? (logand (-> self state-flags) #x4000)) + (not (and (= (-> self fact-info-target eco-type) 1) (>= (-> self fact-info-target eco-level) 1.0))) + ) + ) + (logtest? (-> self control unknown-surface01 flags) 384) ) - ) ) - (logtest? (-> self control unknown-surface01 flags) 384) - ) + #f ) - #f - ) - ((and - (or - (not arg0) - (and - (< - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - (the-as int (-> *TARGET-bank* ground-timeout)) - ) - (< (-> self control unknown-float61) 0.7) + ((and + (or (not arg0) (and + (< (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) + (the-as int (-> *TARGET-bank* ground-timeout)) + ) + (< (-> self control unknown-float61) 0.7) + ) + ) + (>= (- (-> *display* base-frame-counter) + (the-as int (if (and (= (-> self fact-info-target eco-type) 1) (>= (-> self fact-info-target eco-level) 1.0)) + (-> *TARGET-bank* yellow-attack-timeout) + (-> *TARGET-bank* attack-timeout) + ) + ) + ) + (-> self control unknown-dword31) + ) ) - ) - (>= - (- - (-> *display* base-frame-counter) - (the-as - int - (if - (and - (= (-> self fact-info-target eco-type) 1) - (>= (-> self fact-info-target eco-level) 1.0) - ) - (-> *TARGET-bank* yellow-attack-timeout) - (-> *TARGET-bank* attack-timeout) - ) - ) - ) - (-> self control unknown-dword31) - ) + #t ) - #t + (else + (set! (-> self control unknown-dword32) (-> *display* base-frame-counter)) + #f + ) ) - (else - (set! (-> self control unknown-dword32) (-> *display* base-frame-counter)) - #f - ) - ) ) ;; definition for function can-feet? (defbehavior can-feet? target () (cond - ((or - (logtest? (-> self state-flags) 4096) - (logtest? (-> self control unknown-surface01 flags) 640) + ((or (logtest? (-> self state-flags) 4096) (logtest? (-> self control unknown-surface01 flags) 640)) + #f ) - #f - ) - ((>= - (- - (-> *display* base-frame-counter) - (the-as int (-> *TARGET-bank* attack-timeout)) + ((>= (- (-> *display* base-frame-counter) (the-as int (-> *TARGET-bank* attack-timeout))) + (-> self control unknown-dword33) + ) + #t + ) + (else + (set! (-> self control unknown-dword34) (-> *display* base-frame-counter)) + #f ) - (-> self control unknown-dword33) - ) - #t ) - (else - (set! (-> self control unknown-dword34) (-> *display* base-frame-counter)) - #f - ) - ) ) ;; definition for function vector-local+! ;; Used lq/sq (defbehavior vector-local+! target ((arg0 vector) (arg1 vector)) (let ((s5-0 (new-stack-vector0))) - (vector-matrix*! s5-0 arg1 (-> self control unknown-matrix01)) - (vector+! arg0 arg0 s5-0) - ) + (vector-matrix*! s5-0 arg1 (-> self control unknown-matrix01)) + (vector+! arg0 arg0 s5-0) + ) ) ;; definition for function move-forward @@ -1352,29 +1030,21 @@ (let ((a1-0 (new-stack-vector0)) (gp-0 (new-stack-vector0)) ) - (set-vector! a1-0 0.0 0.0 arg0 1.0) - (vector-matrix*! gp-0 a1-0 (-> self control unknown-matrix01)) - (vector+! (-> self control transv) (-> self control transv) gp-0) - ) + (set-vector! a1-0 0.0 0.0 arg0 1.0) + (vector-matrix*! gp-0 a1-0 (-> self control unknown-matrix01)) + (vector+! (-> self control transv) (-> self control transv) gp-0) + ) ) ;; definition for function set-forward-vel ;; Used lq/sq (defbehavior set-forward-vel target ((arg0 float)) (let ((gp-0 (new-stack-vector0))) - (vector-matrix*! - gp-0 - (-> self control transv) - (-> self control unknown-matrix00) + (vector-matrix*! gp-0 (-> self control transv) (-> self control unknown-matrix00)) + (set! (-> gp-0 z) arg0) + (set! (-> gp-0 x) 0.0) + (vector-matrix*! (-> self control transv) gp-0 (-> self control unknown-matrix01)) ) - (set! (-> gp-0 z) arg0) - (set! (-> gp-0 x) 0.0) - (vector-matrix*! - (-> self control transv) - gp-0 - (-> self control unknown-matrix01) - ) - ) ) ;; definition for function delete-back-vel @@ -1382,26 +1052,26 @@ ;; Used lq/sq (defbehavior delete-back-vel target () (let ((s5-0 (new-stack-vector0))) - (vector-z-quaternion! s5-0 (-> self control dir-targ)) - (let ((gp-0 (new-stack-vector0)) - (f30-0 (vector-dot s5-0 (-> self control transv))) - ) - 0.0 - (vector-! gp-0 (-> self control transv) (vector-float*! gp-0 s5-0 f30-0)) - (let* ((f0-3 (vector-length gp-0)) - (f1-0 f0-3) - ) - (if (< f30-0 0.0) - (set! f30-0 0.0) + (vector-z-quaternion! s5-0 (-> self control dir-targ)) + (let ((gp-0 (new-stack-vector0)) + (f30-0 (vector-dot s5-0 (-> self control transv))) + ) + 0.0 + (vector-! gp-0 (-> self control transv) (vector-float*! gp-0 s5-0 f30-0)) + (let* ((f0-3 (vector-length gp-0)) + (f1-0 f0-3) + ) + (if (< f30-0 0.0) + (set! f30-0 0.0) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) s5-0 f30-0) + (vector-float*! gp-0 gp-0 (/ f0-3 f1-0)) + ) + ) ) - (vector+! - (-> self control transv) - (vector-float*! (-> self control transv) s5-0 f30-0) - (vector-float*! gp-0 gp-0 (/ f0-3 f1-0)) - ) - ) ) - ) 0 (none) ) @@ -1410,19 +1080,11 @@ ;; Used lq/sq (defbehavior set-side-vel target ((arg0 float)) (let ((gp-0 (new-stack-vector0))) - (vector-matrix*! - gp-0 - (-> self control transv) - (-> self control unknown-matrix00) + (vector-matrix*! gp-0 (-> self control transv) (-> self control unknown-matrix00)) + (set! (-> gp-0 x) arg0) + (set! (-> gp-0 z) 0.0) + (vector-matrix*! (-> self control transv) gp-0 (-> self control unknown-matrix01)) ) - (set! (-> gp-0 x) arg0) - (set! (-> gp-0 z) 0.0) - (vector-matrix*! - (-> self control transv) - gp-0 - (-> self control unknown-matrix01) - ) - ) ) ;; definition for function target-timed-invulnerable @@ -1451,196 +1113,151 @@ ;; Used lq/sq (defmethod dummy-9 attack-info ((obj attack-info) (arg0 attack-info)) (with-pp - (let ((s4-0 (-> arg0 mask))) - (set! (-> obj mask) (-> arg0 mask)) - (if (logtest? s4-0 8) - (set! (-> obj attacker) (-> arg0 attacker)) - ) - (if (logtest? s4-0 32) - (set! (-> obj mode) (-> arg0 mode)) - ) - (if (logtest? s4-0 2048) - (set! (-> obj angle) (-> arg0 angle)) - ) - (if (logtest? s4-0 512) - (set! (-> obj dist) (-> arg0 dist)) - ) - (if (logtest? s4-0 1024) - (set! (-> obj control) (-> arg0 control)) - ) - (if (logtest? s4-0 256) - (set! (-> obj speed) (-> arg0 speed)) - ) - (if (logtest? s4-0 64) - (set! (-> obj shove-back) (-> arg0 shove-back)) - ) - (if (logtest? s4-0 128) - (set! (-> obj shove-up) (-> arg0 shove-up)) - ) - (if (logtest? s4-0 16) - (set! (-> obj invinc-time) (-> arg0 invinc-time)) - ) - (if (logtest? s4-0 4096) - (set! (-> obj rotate-to) (-> arg0 rotate-to)) - ) - (if (logtest? s4-0 4) - (set! (-> obj intersection quad) (-> arg0 intersection quad)) - ) - (cond - ((zero? (logand s4-0 2)) - (let* ((s3-0 pp) - (s2-0 (handle->process (-> obj attacker))) - (v1-39 - (if - (and - (nonzero? s2-0) - (type-type? (-> s2-0 type) process-drawable) + (let ((s4-0 (-> arg0 mask))) + (set! (-> obj mask) (-> arg0 mask)) + (if (logtest? s4-0 8) + (set! (-> obj attacker) (-> arg0 attacker)) + ) + (if (logtest? s4-0 32) + (set! (-> obj mode) (-> arg0 mode)) + ) + (if (logtest? s4-0 2048) + (set! (-> obj angle) (-> arg0 angle)) + ) + (if (logtest? s4-0 512) + (set! (-> obj dist) (-> arg0 dist)) + ) + (if (logtest? s4-0 1024) + (set! (-> obj control) (-> arg0 control)) + ) + (if (logtest? s4-0 256) + (set! (-> obj speed) (-> arg0 speed)) + ) + (if (logtest? s4-0 64) + (set! (-> obj shove-back) (-> arg0 shove-back)) + ) + (if (logtest? s4-0 128) + (set! (-> obj shove-up) (-> arg0 shove-up)) + ) + (if (logtest? s4-0 16) + (set! (-> obj invinc-time) (-> arg0 invinc-time)) + ) + (if (logtest? s4-0 4096) + (set! (-> obj rotate-to) (-> arg0 rotate-to)) + ) + (if (logtest? s4-0 4) + (set! (-> obj intersection quad) (-> arg0 intersection quad)) + ) + (cond + ((zero? (logand s4-0 2)) + (let* ((s3-0 pp) + (s2-0 (handle->process (-> obj attacker))) + (v1-39 (if (and (nonzero? s2-0) (type-type? (-> s2-0 type) process-drawable)) + s2-0 + ) + ) ) - s2-0 + (when v1-39 + (set! (-> obj trans quad) (-> (the-as process-drawable v1-39) root trans quad)) + (vector-! + (-> obj vector) + (-> (the-as process-drawable s3-0) root trans) + (-> (the-as process-drawable v1-39) root trans) ) - ) + (logior! (-> obj mask) 2) ) - (when v1-39 - (set! - (-> obj trans quad) - (-> (the-as process-drawable v1-39) root trans quad) + ) ) - (vector-! - (-> obj vector) - (-> (the-as process-drawable s3-0) root trans) - (-> (the-as process-drawable v1-39) root trans) - ) - (logior! (-> obj mask) 2) - ) - ) - ) - (else - (let* ((s3-1 (handle->process (-> obj attacker))) - (a0-16 - (if - (and - (nonzero? s3-1) - (type-type? (-> s3-1 type) process-drawable) + (else + (let* ((s3-1 (handle->process (-> obj attacker))) + (a0-16 (if (and (nonzero? s3-1) (type-type? (-> s3-1 type) process-drawable)) + s3-1 + ) + ) + ) + (if a0-16 + (set! (-> obj trans quad) (-> (the-as process-drawable a0-16) root trans quad)) ) - s3-1 - ) + ) + (set! (-> obj vector quad) (-> arg0 vector quad)) + (if (zero? (logand s4-0 64)) + (set! (-> obj shove-back) (vector-xz-length (-> obj vector))) ) - ) - (if a0-16 - (set! - (-> obj trans quad) - (-> (the-as process-drawable a0-16) root trans quad) - ) + (if (zero? (logand s4-0 128)) + (set! (-> obj shove-up) (-> obj vector y)) + ) + ) ) - ) - (set! (-> obj vector quad) (-> arg0 vector quad)) - (if (zero? (logand s4-0 64)) - (set! (-> obj shove-back) (vector-xz-length (-> obj vector))) - ) - (if (zero? (logand s4-0 128)) - (set! (-> obj shove-up) (-> obj vector y)) - ) + (if (zero? (logand (-> obj mask) 512)) + (set! (-> obj dist) (fabs (-> obj shove-back))) + ) + (if (logtest? s4-0 1) + (set! (-> obj trans quad) (-> arg0 trans quad)) + ) ) - ) - (if (zero? (logand (-> obj mask) 512)) - (set! (-> obj dist) (fabs (-> obj shove-back))) - ) - (if (logtest? s4-0 1) - (set! (-> obj trans quad) (-> arg0 trans quad)) - ) + (none) ) - (none) - ) ) ;; definition for function ground-tween-initialize -(defbehavior - ground-tween-initialize target - ((arg0 ground-tween-info) - (arg1 uint) - (arg2 uint) - (arg3 uint) - (arg4 uint) - (arg5 uint) - (arg6 uint) - ) +(defbehavior ground-tween-initialize target ((arg0 ground-tween-info) (arg1 uint) (arg2 uint) (arg3 uint) (arg4 uint) (arg5 uint) (arg6 uint)) (set! (-> arg0 group 0) arg2) (set! (-> arg0 group 1) arg3) (set! (-> arg0 group 2) arg4) (set! (-> arg0 group 3) arg5) (set! (-> arg0 group 4) arg6) (dotimes (s3-0 3) - (set! (-> arg0 chan s3-0) (+ arg1 s3-0)) - (let ((s2-0 (-> self skel root-channel (-> arg0 chan s3-0)))) - (set! (-> s2-0 frame-interp) (fabs (-> arg0 blend s3-0))) - (joint-control-channel-group-eval! - s2-0 - (the-as art-joint-anim arg2) - num-func-identity - ) - (set! (-> s2-0 frame-num) 0.0) + (set! (-> arg0 chan s3-0) (+ arg1 s3-0)) + (let ((s2-0 (-> self skel root-channel (-> arg0 chan s3-0)))) + (set! (-> s2-0 frame-interp) (fabs (-> arg0 blend s3-0))) + (joint-control-channel-group-eval! s2-0 (the-as art-joint-anim arg2) num-func-identity) + (set! (-> s2-0 frame-num) 0.0) + ) ) - ) arg0 ) ;; definition for function ground-tween-update ;; INFO: Return type mismatch int vs none. -(defbehavior - ground-tween-update target - ((arg0 ground-tween-info) (arg1 float) (arg2 float)) +(defbehavior ground-tween-update target ((arg0 ground-tween-info) (arg1 float) (arg2 float)) (let ((f0-1 (fmax -1.0 (fmin 1.0 (* 2.0 arg1)))) (f30-0 (fmax -1.0 (fmin 1.0 (* 1.6 arg2)))) ) - (let ((f1-5 (fabs (- f0-1 (the-as float (-> arg0 blend 1)))))) - (set! - (-> arg0 blend 1) - (seek - (the-as float (-> arg0 blend 1)) - f0-1 - (fmax 0.05 (fmin 0.2 (* 0.25 f1-5))) + (let ((f1-5 (fabs (- f0-1 (the-as float (-> arg0 blend 1)))))) + (set! (-> arg0 blend 1) (seek (the-as float (-> arg0 blend 1)) f0-1 (fmax 0.05 (fmin 0.2 (* 0.25 f1-5))))) ) - ) - ) - (let ((f0-7 (fabs (- f30-0 (the-as float (-> arg0 blend 2)))))) - (set! - (-> arg0 blend 2) - (seek - (the-as float (-> arg0 blend 2)) - f30-0 - (fmax 0.05 (fmin 0.2 (* 0.25 f0-7))) + (let ((f0-7 (fabs (- f30-0 (the-as float (-> arg0 blend 2)))))) + (set! (-> arg0 blend 2) (seek (the-as float (-> arg0 blend 2)) f30-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-7))))) ) - ) ) - ) (cond - ((>= (-> arg0 blend 1) 0.0) - (let ((v1-4 (-> self skel root-channel (-> arg0 chan 1)))) - (set! (-> v1-4 frame-interp) (fabs (-> arg0 blend 1))) - (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> arg0 group 1))) + ((>= (-> arg0 blend 1) 0.0) + (let ((v1-4 (-> self skel root-channel (-> arg0 chan 1)))) + (set! (-> v1-4 frame-interp) (fabs (-> arg0 blend 1))) + (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> arg0 group 1))) + ) ) + (else + (let ((v1-7 (-> self skel root-channel (-> arg0 chan 1)))) + (set! (-> v1-7 frame-interp) (fabs (-> arg0 blend 1))) + (set! (-> v1-7 frame-group) (the-as art-joint-anim (-> arg0 group 2))) + ) + ) ) - (else - (let ((v1-7 (-> self skel root-channel (-> arg0 chan 1)))) - (set! (-> v1-7 frame-interp) (fabs (-> arg0 blend 1))) - (set! (-> v1-7 frame-group) (the-as art-joint-anim (-> arg0 group 2))) - ) - ) - ) (cond - ((>= (-> arg0 blend 2) 0.0) - (let ((v1-10 (-> self skel root-channel (-> arg0 chan 2)))) - (set! (-> v1-10 frame-interp) (fabs (-> arg0 blend 2))) - (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> arg0 group 4))) + ((>= (-> arg0 blend 2) 0.0) + (let ((v1-10 (-> self skel root-channel (-> arg0 chan 2)))) + (set! (-> v1-10 frame-interp) (fabs (-> arg0 blend 2))) + (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> arg0 group 4))) + ) ) + (else + (let ((v1-13 (-> self skel root-channel (-> arg0 chan 2)))) + (set! (-> v1-13 frame-interp) (fabs (-> arg0 blend 2))) + (set! (-> v1-13 frame-group) (the-as art-joint-anim (-> arg0 group 3))) + ) + ) ) - (else - (let ((v1-13 (-> self skel root-channel (-> arg0 chan 2)))) - (set! (-> v1-13 frame-interp) (fabs (-> arg0 blend 2))) - (set! (-> v1-13 frame-group) (the-as art-joint-anim (-> arg0 group 3))) - ) - ) - ) 0 (none) ) @@ -1648,18 +1265,18 @@ ;; definition for function target-pos (defun target-pos ((arg0 int)) (let ((a1-0 *target*)) - (cond - (a1-0 - (if (zero? arg0) - (-> a1-0 control trans) - (vector<-cspace! (new 'static 'vector) (-> a1-0 node-list data arg0)) + (cond + (a1-0 + (if (zero? arg0) + (-> a1-0 control trans) + (vector<-cspace! (new 'static 'vector) (-> a1-0 node-list data arg0)) + ) + ) + (else + (camera-pos) + ) ) - ) - (else - (camera-pos) - ) ) - ) ) ;; definition for function target-cam-pos @@ -1667,84 +1284,77 @@ ;; Used lq/sq (defun target-cam-pos () (let ((gp-0 *target*)) - (the-as vector (cond - ((not gp-0) - (camera-pos) - ) - ((logtest? (-> gp-0 state-flags) 1024) - (add-debug-sphere - *display-camera-marks* - (bucket-id debug-draw1) - (-> gp-0 alt-cam-pos) - 819.2 - (new 'static 'rgba :r #xff :a #x80) - ) - (-> gp-0 alt-cam-pos) - ) - ((logtest? #x20000 (-> gp-0 state-flags)) - (add-debug-sphere - *display-camera-marks* - (bucket-id debug-draw1) - (-> gp-0 alt-cam-pos) - 819.2 - (new 'static 'rgba :r #xff :a #x80) - ) - (-> gp-0 alt-cam-pos) - ) - ((logtest? #x80000 (-> gp-0 state-flags)) - (let ((s5-0 (the-as object (new 'static 'vector)))) - (set! - (-> (the-as vector s5-0) quad) - (-> (&-> (-> gp-0 control) unknown-qword00) 0) - ) - (set! - (-> (the-as vector s5-0) y) - (fmax (-> (the-as vector s5-0) y) (-> gp-0 alt-cam-pos y)) - ) - (add-debug-sphere - *display-camera-marks* - (bucket-id debug-draw1) - (the-as vector s5-0) - 819.2 - (new 'static 'rgba :r #xff :a #x80) - ) - s5-0 - ) - ) - (else - (add-debug-sphere - *display-camera-marks* - (bucket-id debug-draw1) - (the-as vector (&-> (-> gp-0 control) unknown-qword00)) - 819.2 - (new 'static 'rgba :r #xff :a #x80) - ) - (&-> (-> gp-0 control) unknown-qword00) - ) - ) + (the-as + vector + (cond + ((not gp-0) + (camera-pos) + ) + ((logtest? (-> gp-0 state-flags) 1024) + (add-debug-sphere + *display-camera-marks* + (bucket-id debug-draw1) + (-> gp-0 alt-cam-pos) + 819.2 + (new 'static 'rgba :r #xff :a #x80) + ) + (-> gp-0 alt-cam-pos) + ) + ((logtest? #x20000 (-> gp-0 state-flags)) + (add-debug-sphere + *display-camera-marks* + (bucket-id debug-draw1) + (-> gp-0 alt-cam-pos) + 819.2 + (new 'static 'rgba :r #xff :a #x80) + ) + (-> gp-0 alt-cam-pos) + ) + ((logtest? #x80000 (-> gp-0 state-flags)) + (let ((s5-0 (the-as object (new 'static 'vector)))) + (set! (-> (the-as vector s5-0) quad) (-> (&-> (-> gp-0 control) unknown-qword00) 0)) + (set! (-> (the-as vector s5-0) y) (fmax (-> (the-as vector s5-0) y) (-> gp-0 alt-cam-pos y))) + (add-debug-sphere + *display-camera-marks* + (bucket-id debug-draw1) + (the-as vector s5-0) + 819.2 + (new 'static 'rgba :r #xff :a #x80) + ) + s5-0 + ) + ) + (else + (add-debug-sphere + *display-camera-marks* + (bucket-id debug-draw1) + (the-as vector (&-> (-> gp-0 control) unknown-qword00)) + 819.2 + (new 'static 'rgba :r #xff :a #x80) + ) + (&-> (-> gp-0 control) unknown-qword00) + ) + ) + ) ) - ) ) ;; definition for function target-joint-pos (defun target-joint-pos () (let ((v1-0 *target*)) - (if v1-0 - (vector<-cspace! - (new 'static 'vector) - (-> v1-0 node-list data (-> v1-0 draw origin-joint-index)) - ) - (camera-pos) + (if v1-0 + (vector<-cspace! (new 'static 'vector) (-> v1-0 node-list data (-> v1-0 draw origin-joint-index))) + (camera-pos) + ) ) - ) ) ;; definition for function target-rot (defun target-rot () (let ((v1-0 *target*)) - (if v1-0 - (-> v1-0 control unknown-quaternion00) - *unity-quaternion* + (if v1-0 + (-> v1-0 control unknown-quaternion00) + *unity-quaternion* + ) ) - ) ) diff --git a/test/decompiler/reference/engine/target/target2_REF.gc b/test/decompiler/reference/engine/target/target2_REF.gc index 350430c10d..bbc7549a42 100644 --- a/test/decompiler/reference/engine/target/target2_REF.gc +++ b/test/decompiler/reference/engine/target/target2_REF.gc @@ -5,187 +5,94 @@ (defstate target-load-wait (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('loading) - (set! (-> self state-time) (-> *display* base-frame-counter)) - #f + (case arg2 + (('loading) + (set! (-> self state-time) (-> *display* base-frame-counter)) + #f + ) + (else + (target-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :exit target-exit :code (behavior () - (set! (-> self control unknown-surface00) *walk-no-turn-mods*) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while (< (- (-> *display* base-frame-counter) (-> self state-time)) 15) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 112)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 112)) - data - 0 - length - ) - -1 + (set! (-> self control unknown-surface00) *walk-no-turn-mods*) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while (< (- (-> *display* base-frame-counter) (-> self state-time)) 15) + (ja-channel-push! 1 30) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 112))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 112)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 112)) num-func-seek!) ) - ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 112)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 - (-> self align) - 4 - (the-as float 1.0) - (the-as float 1.0) - (the-as float 1.0) - ) - (send-event - *camera* - 'joystick - (-> (new 'static 'array int32 1 0) 0) - (-> (new 'static 'array int32 1 0) 0) - ) - (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) 90) - (suspend) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 19.0) 0)) - (set! (-> s5-0 param 1) 0.05) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (TODO-RENAME-9 (-> self align)) + (TODO-RENAME-10 (-> self align) 4 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) + (send-event *camera* 'joystick (-> (new 'static 'array int32 1 0) 0) (-> (new 'static 'array int32 1 0) 0)) + (suspend) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) 1.0) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) - (suspend) - ) - ) - (ja-channel-push! 1 90) - (let ((gp-1 (-> self skel root-channel 0))) - (set! - (-> gp-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 36)) - ) - (set! - (-> gp-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 36)) - data - 0 - length - ) - -1 + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) 90) + (suspend) + (let ((s5-0 (-> self skel root-channel 0))) + (set! (-> s5-0 param 0) (ja-aframe (the-as float 19.0) 0)) + (set! (-> s5-0 param 1) 0.05) + (joint-control-channel-group-eval! s5-0 (the-as art-joint-anim #f) num-func-seek!) + ) + (suspend) + ) ) - ) - ) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 40.0) 0)) - (joint-control-channel-group! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 36)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 frame-group) - (the-as art-joint-anim (-> self draw art-group data 37)) - ) - (set! - (-> a0-15 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 37)) - data - 0 - length - ) - -1 + (ja-channel-push! 1 90) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 36))) + (set! (-> gp-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 36)) data 0 length) -1)) + ) + (set! (-> gp-1 param 1) 1.0) + (set! (-> gp-1 frame-num) (ja-aframe (the-as float 40.0) 0)) + (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 36)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 37))) + (set! (-> a0-15 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 37)) data 0 length) -1)) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 37)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 37)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (go target-stance) + (none) ) - (go target-stance) - (none) - ) :post target-no-stick-post ) @@ -194,186 +101,109 @@ (defstate target-stance-ambient (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('movie) - (go target-stance) + (case arg2 + (('movie) + (go target-stance) + ) + (else + (target-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (set! (-> self neck flex-blend) 0.0) - ((-> target-stance enter)) - (let ((v1-2 (rand-vu-int-count 4))) - (cond - ((zero? v1-2) - (set! - (-> self control unknown-uint20) - (the-as - uint - (new 'static 'spool-anim - :name "eichar-ambient-1" - :index #xe7 - :parts 1 - :command-list '() + (set! (-> self neck flex-blend) 0.0) + ((-> target-stance enter)) + (let ((v1-2 (rand-vu-int-count 4))) + (cond + ((zero? v1-2) + (set! (-> self control unknown-uint20) + (the-as uint (new 'static 'spool-anim :name "eichar-ambient-1" :index #xe7 :parts 1 :command-list '())) + ) ) - ) - ) - ) - ((= v1-2 1) - (set! - (-> self control unknown-uint20) - (the-as - uint - (new 'static 'spool-anim - :name "eichar-ambient-2" - :index #xe8 - :parts 1 - :command-list '() + ((= v1-2 1) + (set! (-> self control unknown-uint20) + (the-as uint (new 'static 'spool-anim :name "eichar-ambient-2" :index #xe8 :parts 1 :command-list '())) + ) ) - ) - ) - ) - ((= v1-2 2) - (set! - (-> self control unknown-uint20) - (the-as - uint - (new 'static 'spool-anim - :name "eichar-ambient-3" - :index #xe9 - :parts 1 - :command-list '() + ((= v1-2 2) + (set! (-> self control unknown-uint20) + (the-as uint (new 'static 'spool-anim :name "eichar-ambient-3" :index #xe9 :parts 1 :command-list '())) + ) ) + (else + (set! (-> self control unknown-uint20) + (the-as uint (new 'static 'spool-anim :name "eichar-ambient-4" :index #xea :parts 1 :command-list '())) + ) + ) ) - ) ) - (else - (set! - (-> self control unknown-uint20) - (the-as - uint - (new 'static 'spool-anim - :name "eichar-ambient-4" - :index #xea - :parts 1 - :command-list '() - ) - ) - ) - ) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (none) ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) :exit (behavior () - (let ((a0-0 (-> self control unknown-spoolanim00))) - (when a0-0 - (ja-abort-spooled-anim a0-0 (the-as art-joint-anim #f) -1) - (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) + (let ((a0-0 (-> self control unknown-spoolanim00))) + (when a0-0 + (ja-abort-spooled-anim a0-0 (the-as art-joint-anim #f) -1) + (ja-channel-set! 1) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 5)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) + ) + ) ) - ) + ((-> target-stance exit)) + (target-exit) + (none) ) - ((-> target-stance exit)) - (target-exit) - (none) - ) :trans (behavior () - (spool-push - *art-control* - (-> self control unknown-spoolanim00 name) - 0 - self - (the-as float -99.0) + (spool-push *art-control* (-> self control unknown-spoolanim00 name) 0 self (the-as float -99.0)) + (if (or + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons start l1 r1 triangle circle x square) + ) + *progress-process* + ) + (go target-stance) + ) + (none) ) - (if - (or - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons start l1 r1 triangle circle x square) - ) - *progress-process* - ) - (go target-stance) - ) - (none) - ) :code (behavior () - (while - (let - ((v1-13 - (file-status *art-control* (-> self control unknown-spoolanim00 name) 0) - ) + (while (let ((v1-13 (file-status *art-control* (-> self control unknown-spoolanim00 name) 0))) + (not (or (= v1-13 'locked) (= v1-13 'active))) + ) + (suspend) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 1.0) + (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) + ) + (let ((a0-1 (-> self skel root-channel 1))) + (set! (-> a0-1 param 0) 0.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-2 (-> self skel root-channel 2))) + (set! (-> a0-2 param 0) 0.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-chan) + ) ) - (not (or (= v1-13 'locked) (= v1-13 'active))) - ) - (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! - a0-0 - (the-as art-joint-anim #f) - num-func-loop! + (ja-play-spooled-anim + (-> self control unknown-spoolanim00) + (the-as art-joint-anim (-> self draw art-group data 5)) + (the-as art-joint-anim (-> self draw art-group data 5)) + (the-as (function process-drawable symbol) (lambda () (!= (-> *cpad-list* cpads 0 stick0-speed) 0.0))) ) - ) - (let ((a0-1 (-> self skel root-channel 1))) - (set! (-> a0-1 param 0) 0.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-2 (-> self skel root-channel 2))) - (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-chan - ) - ) + (set! (-> self control unknown-uint20) (the-as uint #f)) + (go target-stance) + (none) ) - (ja-play-spooled-anim - (-> self control unknown-spoolanim00) - (the-as art-joint-anim (-> self draw art-group data 5)) - (the-as art-joint-anim (-> self draw art-group data 5)) - (the-as (function process-drawable symbol) (lambda () - (!= - (-> - *cpad-list* - cpads - 0 - stick0-speed - ) - 0.0 - ) - ) - ) - ) - (set! (-> self control unknown-uint20) (the-as uint #f)) - (go target-stance) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -400,8 +230,8 @@ ;; definition for method 3 of type first-person-hud (defmethod inspect first-person-hud ((obj first-person-hud)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tmax-nb-of-particles: ~D~%" (-> obj max-nb-of-particles)) (format #t "~T~Tnb-of-particles: ~D~%" (-> obj nb-of-particles)) (format #t "~T~Tparticles[3] @ #x~X~%" (-> obj particles)) @@ -418,14 +248,12 @@ ;; definition for method 10 of type first-person-hud (defmethod deactivate first-person-hud ((obj first-person-hud)) (dotimes (s5-0 (-> obj nb-of-particles)) - (kill-and-free-particles (-> obj particles s5-0 part)) - (set! (-> obj particles s5-0 part matrix) -1) - ) + (kill-and-free-particles (-> obj particles s5-0 part)) + (set! (-> obj particles s5-0 part matrix) -1) + ) (enable-hud) (set! (-> *target* fp-hud) (the-as handle #f)) - ((the-as (function process none) (find-parent-method first-person-hud 10)) - obj - ) + ((the-as (function process none) (find-parent-method first-person-hud 10)) obj) (none) ) @@ -437,60 +265,51 @@ (set! (-> self max-nb-of-particles) 3) (set! (-> self in-out-position) 4096) (when (< (-> self nb-of-particles) (-> self max-nb-of-particles)) - (let ((gp-0 (-> self nb-of-particles))) - (set! (-> self particles gp-0) (new 'static 'hud-particle)) - (set! - (-> self particles gp-0 part) - (create-launch-control (-> *part-group-id-table* 611) self) - ) - (set! (-> self particles gp-0 init-pos x) -320.0) - (set! (-> self particles gp-0 init-pos y) 254.0) - (set! (-> self particles gp-0 init-pos z) 15.0) - (set! (-> self particles gp-0 part matrix) -1) + (let ((gp-0 (-> self nb-of-particles))) + (set! (-> self particles gp-0) (new 'static 'hud-particle)) + (set! (-> self particles gp-0 part) (create-launch-control (-> *part-group-id-table* 611) self)) + (set! (-> self particles gp-0 init-pos x) -320.0) + (set! (-> self particles gp-0 init-pos y) 254.0) + (set! (-> self particles gp-0 init-pos z) 15.0) + (set! (-> self particles gp-0 part matrix) -1) + ) + (+! (-> self nb-of-particles) 1) ) - (+! (-> self nb-of-particles) 1) - ) (when (< (-> self nb-of-particles) (-> self max-nb-of-particles)) - (let ((gp-1 (-> self nb-of-particles))) - (set! (-> self particles gp-1) (new 'static 'hud-particle)) - (set! - (-> self particles gp-1 part) - (create-launch-control (-> *part-group-id-table* 612) self) - ) - (set! (-> self particles gp-1 init-pos x) -320.0) - (set! (-> self particles gp-1 init-pos y) 192.0) - (set! (-> self particles gp-1 init-pos z) 15.0) - (set! (-> self particles gp-1 part matrix) -1) + (let ((gp-1 (-> self nb-of-particles))) + (set! (-> self particles gp-1) (new 'static 'hud-particle)) + (set! (-> self particles gp-1 part) (create-launch-control (-> *part-group-id-table* 612) self)) + (set! (-> self particles gp-1 init-pos x) -320.0) + (set! (-> self particles gp-1 init-pos y) 192.0) + (set! (-> self particles gp-1 init-pos z) 15.0) + (set! (-> self particles gp-1 part matrix) -1) + ) + (+! (-> self nb-of-particles) 1) ) - (+! (-> self nb-of-particles) 1) - ) (when (< (-> self nb-of-particles) (-> self max-nb-of-particles)) - (let ((gp-2 (-> self nb-of-particles))) - (set! (-> self particles gp-2) (new 'static 'hud-particle)) - (set! - (-> self particles gp-2 part) - (create-launch-control (-> *part-group-id-table* 613) self) - ) - (set! (-> self particles gp-2 init-pos x) 256.0) - (set! (-> self particles gp-2 init-pos y) 244.0) - (set! (-> self particles gp-2 init-pos z) 15.0) - (set! (-> self particles gp-2 part matrix) -1) + (let ((gp-2 (-> self nb-of-particles))) + (set! (-> self particles gp-2) (new 'static 'hud-particle)) + (set! (-> self particles gp-2 part) (create-launch-control (-> *part-group-id-table* 613) self)) + (set! (-> self particles gp-2 init-pos x) 256.0) + (set! (-> self particles gp-2 init-pos y) 244.0) + (set! (-> self particles gp-2 init-pos z) 15.0) + (set! (-> self particles gp-2 part matrix) -1) + ) + (+! (-> self nb-of-particles) 1) ) - (+! (-> self nb-of-particles) 1) - ) - (case (get-aspect-ratio) - (('aspect4x3) + (case (get-aspect-ratio) + (('aspect4x3) (set! (-> self sides-x-scale) 3.5) (set! (-> self sides-y-scale) 13.0) (set! (-> self x-offset) 0) 0 ) - (('aspect16x9) - (set! (-> self sides-x-scale) 2.8) - (set! (-> self sides-y-scale) 9.75) - (set! (-> self x-offset) 12) + (('aspect16x9) + (set! (-> self sides-x-scale) 2.8) + (set! (-> self sides-y-scale) 9.75) + (set! (-> self x-offset) 12) + ) ) - ) (set! (-> self event-hook) (-> hud-waiting event)) (go hud-waiting) (none) @@ -500,12 +319,12 @@ ;; INFO: Return type mismatch process vs first-person-hud. (defmethod relocate first-person-hud ((obj first-person-hud) (arg0 int)) (dotimes (v1-0 (-> obj nb-of-particles)) - (when (-> obj particles v1-0 part) - (if (nonzero? (-> obj particles v1-0 part)) - (&+! (-> obj particles v1-0 part) arg0) - ) + (when (-> obj particles v1-0 part) + (if (nonzero? (-> obj particles v1-0 part)) + (&+! (-> obj particles v1-0 part) arg0) + ) + ) ) - ) (the-as first-person-hud ((method-of-type process relocate) obj arg0)) ) @@ -513,32 +332,25 @@ ;; INFO: Return type mismatch int vs none. (defmethod dumb-15 first-person-hud ((obj first-person-hud)) (dotimes (s5-0 (-> obj nb-of-particles)) - (set! - (-> obj particles s5-0 pos x) - (+ -256.0 (-> obj particles s5-0 init-pos x)) + (set! (-> obj particles s5-0 pos x) (+ -256.0 (-> obj particles s5-0 init-pos x))) + (set! (-> obj particles s5-0 pos y) + (* 0.5 (- (* (-> obj particles s5-0 init-pos y) (-> *video-parms* relative-y-scale)) + (the float (-> *video-parms* screen-sy)) + ) + ) + ) + (set! (-> obj particles s5-0 pos z) (-> obj particles s5-0 init-pos z)) + (if (> (-> obj particles s5-0 part matrix) 0) + (set-vector! + (sprite-get-user-hvdf (-> obj particles s5-0 part matrix)) + (the float (+ (the int (-> obj particles s5-0 pos x)) 2048)) + (the float (+ (the int (-> obj particles s5-0 pos y)) 2048)) + (- (-> *math-camera* hvdf-off z) (* 1024.0 (-> obj particles s5-0 pos z))) + (-> *math-camera* hvdf-off w) + ) + ) + (spawn (-> obj particles s5-0 part) *null-vector*) ) - (set! - (-> obj particles s5-0 pos y) - (* - 0.5 - (- - (* (-> obj particles s5-0 init-pos y) (-> *video-parms* relative-y-scale)) - (the float (-> *video-parms* screen-sy)) - ) - ) - ) - (set! (-> obj particles s5-0 pos z) (-> obj particles s5-0 init-pos z)) - (if (> (-> obj particles s5-0 part matrix) 0) - (set-vector! - (sprite-get-user-hvdf (-> obj particles s5-0 part matrix)) - (the float (+ (the int (-> obj particles s5-0 pos x)) 2048)) - (the float (+ (the int (-> obj particles s5-0 pos y)) 2048)) - (- (-> *math-camera* hvdf-off z) (* 1024.0 (-> obj particles s5-0 pos z))) - (-> *math-camera* hvdf-off w) - ) - ) - (spawn (-> obj particles s5-0 part) *null-vector*) - ) 0 (none) ) @@ -546,40 +358,29 @@ ;; failed to figure out what this is: (defstate hud-waiting (first-person-hud) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('go-away) - (go hud-going-out) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('go-away) + (go hud-going-out) + ) + ) + ) :enter - (behavior () - (disable-hud (the-as int (-> *hud-parts* power))) - (none) - ) + (behavior () (disable-hud (the-as int (-> *hud-parts* power))) (none)) :code (behavior () - (while #t - (dotimes (gp-0 (-> self nb-of-particles)) - (if (= (-> self particles gp-0 part matrix) -1) - (set! (-> self particles gp-0 part matrix) (sprite-allocate-user-hvdf)) + (while #t + (dotimes (gp-0 (-> self nb-of-particles)) + (if (= (-> self particles gp-0 part matrix) -1) + (set! (-> self particles gp-0 part matrix) (sprite-allocate-user-hvdf)) + ) + ) + (set-setting! *setting-control* self 'common-page 'set (the-as float (-> (new 'static 'array int32 1 0) 0)) 1) + (suspend) + (go hud-coming-in) + (suspend) ) - ) - (set-setting! - *setting-control* - self - 'common-page - 'set - (the-as float (-> (new 'static 'array int32 1 0) 0)) - 1 - ) - (suspend) - (go hud-coming-in) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -588,27 +389,19 @@ (-> hud-waiting event) :code (behavior () - (while #t - (set! - (-> self in-out-position) - (seekl - (-> self in-out-position) - 0 - (the int (* 350.0 (-> *display* time-adjust-ratio))) + (while #t + (set! (-> self in-out-position) + (seekl (-> self in-out-position) 0 (the int (* 350.0 (-> *display* time-adjust-ratio)))) + ) + (if (zero? (-> self in-out-position)) + (go hud-normal) + ) + (suspend) ) - ) - (if (zero? (-> self in-out-position)) - (go hud-normal) - ) - (suspend) + (none) ) - (none) - ) :post - (behavior () - (dumb-15 self) - (none) - ) + (behavior () (dumb-15 self) (none)) ) ;; failed to figure out what this is: @@ -617,183 +410,111 @@ (-> hud-waiting event) :code (behavior () - (while #t - (if - (or - (not *progress-process*) - (= (-> *progress-process* 0 next-state name) 'progress-going-out) - (= (-> *progress-process* 0 next-state name) 'progress-gone) + (while #t + (if (or + (not *progress-process*) + (= (-> *progress-process* 0 next-state name) 'progress-going-out) + (= (-> *progress-process* 0 next-state name) 'progress-gone) + ) + (set! (-> self in-out-position) + (seekl (-> self in-out-position) 0 (the int (* 150.0 (-> *display* time-adjust-ratio)))) + ) + (set! (-> self in-out-position) + (seekl (-> self in-out-position) 4096 (the int (* 200.0 (-> *display* time-adjust-ratio)))) + ) + ) + (suspend) ) - (set! - (-> self in-out-position) - (seekl - (-> self in-out-position) - 0 - (the int (* 150.0 (-> *display* time-adjust-ratio))) - ) - ) - (set! - (-> self in-out-position) - (seekl - (-> self in-out-position) - 4096 - (the int (* 200.0 (-> *display* time-adjust-ratio))) - ) - ) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate hud-going-out (first-person-hud) :code (behavior () - (while #t - (set! - (-> self in-out-position) - (seekl - (-> self in-out-position) - 4096 - (the int (* 350.0 (-> *display* time-adjust-ratio))) + (while #t + (set! (-> self in-out-position) + (seekl (-> self in-out-position) 4096 (the int (* 350.0 (-> *display* time-adjust-ratio)))) + ) + (if (= (-> self in-out-position) 4096) + (deactivate self) + ) + (suspend) ) - ) - (if (= (-> self in-out-position) 4096) - (deactivate self) - ) - (suspend) + (none) ) - (none) - ) :post - (behavior () - (dumb-15 self) - (none) - ) + (behavior () (dumb-15 self) (none)) ) ;; definition for function part-first-person-hud-left-func ;; INFO: Return type mismatch int vs none. -(defun - part-first-person-hud-left-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-first-person-hud-left-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((s5-0 (handle->process (-> *target* fp-hud)))) - (when s5-0 - (let - ((f30-0 - (* - 0.00024414062 - (the float (-> (the-as first-person-hud s5-0) in-out-position)) + (when s5-0 + (let ((f30-0 (* 0.00024414062 (the float (-> (the-as first-person-hud s5-0) in-out-position))))) + (if (or (-> *setting-control* current movie) (movie?)) + (set! f30-0 1.0) + ) + (if (< 0.25 f30-0) + (set! f30-0 1.0) + (* 4.0 f30-0) + ) + (set! (-> (the-as first-person-hud s5-0) particles 0 init-pos x) + (the float (- 59 (-> (the-as first-person-hud s5-0) x-offset))) + ) + (set! (-> arg2 vector 0 w) (* 4096.0 (+ (-> (the-as first-person-hud s5-0) sides-x-scale) (* 10.0 f30-0)))) + (set! (-> arg2 vector 1 w) (* 4096.0 (+ (-> (the-as first-person-hud s5-0) sides-y-scale) (* 10.0 f30-0)))) ) - ) ) - (if (or (-> *setting-control* current movie) (movie?)) - (set! f30-0 1.0) - ) - (if (< 0.25 f30-0) - (set! f30-0 1.0) - (* 4.0 f30-0) - ) - (set! - (-> (the-as first-person-hud s5-0) particles 0 init-pos x) - (the float (- 59 (-> (the-as first-person-hud s5-0) x-offset))) - ) - (set! - (-> arg2 vector 0 w) - (* - 4096.0 - (+ (-> (the-as first-person-hud s5-0) sides-x-scale) (* 10.0 f30-0)) - ) - ) - (set! - (-> arg2 vector 1 w) - (* - 4096.0 - (+ (-> (the-as first-person-hud s5-0) sides-y-scale) (* 10.0 f30-0)) - ) - ) - ) ) - ) 0 (none) ) ;; definition for function part-first-person-hud-right-func ;; INFO: Return type mismatch int vs none. -(defun - part-first-person-hud-right-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-first-person-hud-right-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((s5-0 (handle->process (-> *target* fp-hud)))) - (when s5-0 - (let - ((f30-0 - (* - 0.00024414062 - (the float (-> (the-as first-person-hud s5-0) in-out-position)) + (when s5-0 + (let ((f30-0 (* 0.00024414062 (the float (-> (the-as first-person-hud s5-0) in-out-position))))) + (if (or (-> *setting-control* current movie) (movie?)) + (set! f30-0 1.0) + ) + (if (< 0.25 f30-0) + (set! f30-0 1.0) + (* 4.0 f30-0) + ) + (set! (-> (the-as first-person-hud s5-0) particles 1 init-pos x) + (the float (+ (-> (the-as first-person-hud s5-0) x-offset) 452)) + ) + (set! (-> arg2 vector 0 w) (* 4096.0 (+ (-> (the-as first-person-hud s5-0) sides-x-scale) (* 10.0 f30-0)))) + (set! (-> arg2 vector 1 w) (* 4096.0 (+ (-> (the-as first-person-hud s5-0) sides-y-scale) (* 10.0 f30-0)))) ) - ) ) - (if (or (-> *setting-control* current movie) (movie?)) - (set! f30-0 1.0) - ) - (if (< 0.25 f30-0) - (set! f30-0 1.0) - (* 4.0 f30-0) - ) - (set! - (-> (the-as first-person-hud s5-0) particles 1 init-pos x) - (the float (+ (-> (the-as first-person-hud s5-0) x-offset) 452)) - ) - (set! - (-> arg2 vector 0 w) - (* - 4096.0 - (+ (-> (the-as first-person-hud s5-0) sides-x-scale) (* 10.0 f30-0)) - ) - ) - (set! - (-> arg2 vector 1 w) - (* - 4096.0 - (+ (-> (the-as first-person-hud s5-0) sides-y-scale) (* 10.0 f30-0)) - ) - ) - ) ) - ) 0 (none) ) ;; definition for function part-first-person-hud-selector-func ;; INFO: Return type mismatch int vs none. -(defun - part-first-person-hud-selector-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-first-person-hud-selector-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((v1-2 (handle->process (-> *target* fp-hud)))) - (when v1-2 - (let - ((f30-0 - (* - 0.00024414062 - (the float (-> (the-as first-person-hud v1-2) in-out-position)) + (when v1-2 + (let ((f30-0 (* 0.00024414062 (the float (-> (the-as first-person-hud v1-2) in-out-position))))) + (if (or (-> *setting-control* current movie) (movie?)) + (set! f30-0 1.0) + ) + (if (< 0.5 f30-0) + (set! f30-0 1.0) + (* 2.0 f30-0) + ) + (set! (-> arg2 vector 2 w) (- 64.0 (* 64.0 f30-0))) ) - ) ) - (if (or (-> *setting-control* current movie) (movie?)) - (set! f30-0 1.0) - ) - (if (< 0.5 f30-0) - (set! f30-0 1.0) - (* 2.0 f30-0) - ) - (set! (-> arg2 vector 2 w) (- 64.0 (* 64.0 f30-0))) - ) ) - ) 0 (none) ) @@ -813,25 +534,25 @@ (-> target-stance trans) :code (behavior () - (while (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'dist-from-interp-src) - (and - (< (send-event-function *camera* a1-0) 4915.2) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 21) - (zero? (ja-group-size)) - ) - ) - (suspend) + (while (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'dist-from-interp-src) + (and + (< (send-event-function *camera* a1-0) 4915.2) + (< (- (-> *display* base-frame-counter) (-> self state-time)) 21) + (zero? (ja-group-size)) + ) + ) + (suspend) + ) + (let ((v1-8 target-stance)) + (set! (-> self next-state) v1-8) + (set! (-> self state) v1-8) + ) + ((the-as (function none :behavior target) (-> target-stance code))) + (none) ) - (let ((v1-8 target-stance)) - (set! (-> self next-state) v1-8) - (set! (-> self state) v1-8) - ) - ((the-as (function none :behavior target) (-> target-stance code))) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -840,275 +561,191 @@ (defstate target-look-around (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (cond - ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) - (-> self state name) - ) - ((let ((v1-4 arg2)) - (= v1-4 'end-mode) + (cond + ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) + (-> self state name) + ) + ((let ((v1-4 arg2)) + (= v1-4 'end-mode) + ) + (go target-stance-look-around) + ) + ((-> self control unknown-symbol30) + (target-dangerous-event-handler arg0 arg1 arg2 arg3) + ) + (else + (target-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (go target-stance-look-around) - ) - ((-> self control unknown-symbol30) - (target-dangerous-event-handler arg0 arg1 arg2 arg3) - ) - (else - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (set! (-> self cam-user-mode) 'look-around) - (set! (-> self control unknown-surface00) *duck-mods*) - (logior! (-> self state-flags) 512) - (send-event *camera* 'blend-from-as-fixed) - (send-event *camera* 'no-intro) - (camera-change-to (the-as string 'cam-eye) 60 #f) - (let ((a0-5 (handle->process (-> self fp-hud)))) - (if a0-5 - (deactivate a0-5) - ) - ) - (let ((gp-0 (get-process *default-dead-pool* first-person-hud #x4000))) - (set! (-> self fp-hud) (ppointer->handle (when gp-0 - (let - ((t9-5 - (method-of-type - first-person-hud - activate - ) - ) - ) - (t9-5 - (the-as first-person-hud gp-0) - *dproc* - 'first-person-hud - (&+ *fp-hud-stack* #x3800) - ) - ) - (run-now-in-process - gp-0 - first-person-hud-init-by-other - ) - (-> gp-0 ppointer) - ) - ) - ) - ) - (none) - ) - :exit - (behavior () - (let ((a0-1 (handle->process (-> self fp-hud)))) - (if a0-1 - (send-event a0-1 'go-away) - ) - ) - (set! (-> self cam-user-mode) 'normal) - (target-exit) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query-state) - (set! (-> a1-2 param 0) (the-as uint cam-eye)) - (when (send-event-function *camera* a1-2) - (send-event *camera* 'no-intro) - (send-event *camera* 'force-blend 60) - (send-event *camera* 'clear-entity) - (camera-change-to (the-as string 'base) 60 #f) - ) - ) - (none) - ) - :trans - (behavior () - (local-vars (sv-48 vector)) - (rlet ((vf0 :class vf) - (vf4 :class vf) - (vf5 :class vf) - (vf6 :class vf) + (set! (-> self cam-user-mode) 'look-around) + (set! (-> self control unknown-surface00) *duck-mods*) + (logior! (-> self state-flags) 512) + (send-event *camera* 'blend-from-as-fixed) + (send-event *camera* 'no-intro) + (camera-change-to (the-as string 'cam-eye) 60 #f) + (let ((a0-5 (handle->process (-> self fp-hud)))) + (if a0-5 + (deactivate a0-5) ) - (init-vf0-vector) - (when - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons r2 circle square) - ) - (and - (= (-> self fact-info-target eco-type) 1) - (>= (-> self fact-info-target eco-level) 1.0) - ) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword82)) - 150 - ) - (not *pause-lock*) ) - (let - ((gp-1 - (vector-float*! - (new-stack-vector0) - (-> *math-camera* inv-camera-rot vector 2) - (the-as float (-> *TARGET-bank* yellow-projectile-speed)) - ) - ) - (s5-1 - (vector-float*! - (new-stack-vector0) - (-> *math-camera* inv-camera-rot vector 2) - 8192.0 - ) - ) - ) - (vector+float*! - s5-1 - s5-1 - (-> *math-camera* inv-camera-rot vector 1) - (the-as float -2048.0) - ) - (let ((s4-0 (get-process *default-dead-pool* projectile-yellow #x4000))) - (when s4-0 - (let ((t9-2 (method-of-type projectile-yellow activate))) - (t9-2 - (the-as projectile-yellow s4-0) - self - 'projectile-yellow - (the-as pointer #x70004000) - ) - ) - (let ((s3-0 run-function-in-process) - (s2-0 s4-0) - (s1-0 projectile-init-by-other) - (s0-0 (-> self entity)) + (let ((gp-0 (get-process *default-dead-pool* first-person-hud #x4000))) + (set! (-> self fp-hud) + (ppointer->handle + (when gp-0 + (let ((t9-5 (method-of-type first-person-hud activate))) + (t9-5 (the-as first-person-hud gp-0) *dproc* 'first-person-hud (&+ *fp-hud-stack* #x3800)) + ) + (run-now-in-process gp-0 first-person-hud-init-by-other) + (-> gp-0 ppointer) + ) ) - (set! sv-48 s5-1) - (let ((v0-3 (camera-pos))) - (.mov.vf vf6 vf0 :mask #b1000) - (.lvf vf4 (&-> v0-3 quad)) - ) - (.lvf vf5 (&-> s5-1 quad)) - (.add.vf vf6 vf4 vf5 :mask #b111) - (.svf (&-> sv-48 quad) vf6) - (let - ((t1-0 - (if - (>= - (-> self fact-info-target eco-level) - (-> *FACT-bank* eco-level-max) - ) - 56 - 40 - ) ) - (t2-0 #f) - ) - ((the-as - (function object object object object object object object none) - s3-0 - ) - s2-0 - s1-0 - s0-0 - sv-48 - gp-1 - t1-0 - t2-0 - ) - ) - ) - (-> s4-0 ppointer) - ) - ) ) - (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) - ) - (when - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons triangle) - ) - (logclear! - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons triangle) - ) - (logclear! - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons triangle) - ) - (set! (-> self cam-user-mode) 'normal) - ) (none) ) - ) + :exit + (behavior () + (let ((a0-1 (handle->process (-> self fp-hud)))) + (if a0-1 + (send-event a0-1 'go-away) + ) + ) + (set! (-> self cam-user-mode) 'normal) + (target-exit) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 1) + (set! (-> a1-2 message) 'query-state) + (set! (-> a1-2 param 0) (the-as uint cam-eye)) + (when (send-event-function *camera* a1-2) + (send-event *camera* 'no-intro) + (send-event *camera* 'force-blend 60) + (send-event *camera* 'clear-entity) + (camera-change-to (the-as string 'base) 60 #f) + ) + ) + (none) + ) + :trans + (behavior () + (local-vars (sv-48 vector)) + (rlet ((vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + ) + (init-vf0-vector) + (when (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons r2 circle square) + ) + (and (= (-> self fact-info-target eco-type) 1) (>= (-> self fact-info-target eco-level) 1.0)) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword82)) 150) + (not *pause-lock*) + ) + (let ((gp-1 (vector-float*! + (new-stack-vector0) + (-> *math-camera* inv-camera-rot vector 2) + (the-as float (-> *TARGET-bank* yellow-projectile-speed)) + ) + ) + (s5-1 (vector-float*! (new-stack-vector0) (-> *math-camera* inv-camera-rot vector 2) 8192.0)) + ) + (vector+float*! s5-1 s5-1 (-> *math-camera* inv-camera-rot vector 1) (the-as float -2048.0)) + (let ((s4-0 (get-process *default-dead-pool* projectile-yellow #x4000))) + (when s4-0 + (let ((t9-2 (method-of-type projectile-yellow activate))) + (t9-2 (the-as projectile-yellow s4-0) self 'projectile-yellow (the-as pointer #x70004000)) + ) + (let ((s3-0 run-function-in-process) + (s2-0 s4-0) + (s1-0 projectile-init-by-other) + (s0-0 (-> self entity)) + ) + (set! sv-48 s5-1) + (let ((v0-3 (camera-pos))) + (.mov.vf vf6 vf0 :mask #b1000) + (.lvf vf4 (&-> v0-3 quad)) + ) + (.lvf vf5 (&-> s5-1 quad)) + (.add.vf vf6 vf4 vf5 :mask #b111) + (.svf (&-> sv-48 quad) vf6) + (let ((t1-0 (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) + 56 + 40 + ) + ) + (t2-0 #f) + ) + ((the-as (function object object object object object object object none) s3-0) + s2-0 + s1-0 + s0-0 + sv-48 + gp-1 + t1-0 + t2-0 + ) + ) + ) + (-> s4-0 ppointer) + ) + ) + ) + (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) + ) + (when (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons triangle) + ) + (logclear! + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons triangle) + ) + (logclear! + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons triangle) + ) + (set! (-> self cam-user-mode) 'normal) + ) + (none) + ) + ) :code (behavior () - (while (let ((f30-0 8192.0) - (a1-0 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'dist-from-interp-dest) - (< f30-0 (send-event-function *camera* a1-0)) - ) - (if (!= (-> self cam-user-mode) 'look-around) - (go target-stance) - ) - (suspend) + (while (let ((f30-0 8192.0) + (a1-0 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'dist-from-interp-dest) + (< f30-0 (send-event-function *camera* a1-0)) + ) + (if (!= (-> self cam-user-mode) 'look-around) + (go target-stance) + ) + (suspend) + ) + (ja-channel-set! 0) + (set! (-> self control transv quad) (the-as uint128 0)) + (while #t + (if (!= (-> self cam-user-mode) 'look-around) + (go target-stance-look-around) + ) + (suspend) + ) + (none) ) - (ja-channel-set! 0) - (set! (-> self control transv quad) (the-as uint128 0)) - (while #t - (if (!= (-> self cam-user-mode) 'look-around) - (go target-stance-look-around) - ) - (suspend) - ) - (none) - ) :post target-no-move-post ) @@ -1117,220 +754,150 @@ (defstate target-billy-game (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (cond - ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) - (-> self state name) - ) - ((let ((v1-4 arg2)) - (= v1-4 'end-mode) + (cond + ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) + (-> self state name) + ) + ((let ((v1-4 arg2)) + (= v1-4 'end-mode) + ) + (go target-stance) + ) + (else + (target-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (go target-stance) - ) - (else - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (set! (-> self neck flex-blend) 0.0) - (set! (-> self control unknown-surface00) *duck-mods*) - (logior! (-> self state-flags) 512) - (send-event *camera* 'blend-from-as-fixed) - (send-event *camera* 'clear-entity) - (send-event *camera* 'no-intro) - (camera-change-to (the-as string 'cam-billy) 0 #f) - (let ((a0-6 (handle->process (-> self fp-hud)))) - (if a0-6 - (deactivate a0-6) - ) - ) - (let ((gp-0 (get-process *default-dead-pool* first-person-hud #x4000))) - (set! (-> self fp-hud) (ppointer->handle (when gp-0 - (let - ((t9-6 - (method-of-type - first-person-hud - activate - ) - ) - ) - (t9-6 - (the-as first-person-hud gp-0) - *dproc* - 'first-person-hud - (&+ *fp-hud-stack* #x3800) - ) - ) - (run-now-in-process - gp-0 - first-person-hud-init-by-other - ) - (-> gp-0 ppointer) - ) - ) - ) - ) - (none) - ) - :exit - (behavior () - (let ((a0-1 (handle->process (-> self fp-hud)))) - (if a0-1 - (send-event a0-1 'go-away) - ) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query-state) - (set! (-> a1-2 param 0) (the-as uint cam-billy)) - (when (send-event-function *camera* a1-2) - (send-event *camera* 'no-intro) - (send-event *camera* 'force-blend 0) - (camera-change-to (the-as string 'base) 0 #f) - ) - ) - (target-exit) - (none) - ) - :trans - (behavior () - (local-vars (sv-48 vector)) - (rlet ((vf0 :class vf) - (vf4 :class vf) - (vf5 :class vf) - (vf6 :class vf) + (set! (-> self neck flex-blend) 0.0) + (set! (-> self control unknown-surface00) *duck-mods*) + (logior! (-> self state-flags) 512) + (send-event *camera* 'blend-from-as-fixed) + (send-event *camera* 'clear-entity) + (send-event *camera* 'no-intro) + (camera-change-to (the-as string 'cam-billy) 0 #f) + (let ((a0-6 (handle->process (-> self fp-hud)))) + (if a0-6 + (deactivate a0-6) ) - (init-vf0-vector) - (when - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons r2 circle square) - ) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword82)) - 135 - ) - (and - (= (-> self fact-info-target eco-type) 1) - (>= (-> self fact-info-target eco-level) 1.0) - ) - (not *pause-lock*) ) - (let - ((gp-1 - (vector-float*! - (new-stack-vector0) - (-> *math-camera* inv-camera-rot vector 2) - (the-as float (-> *TARGET-bank* yellow-projectile-speed)) - ) - ) - (s5-1 - (vector-float*! - (new-stack-vector0) - (-> *math-camera* inv-camera-rot vector 2) - 8192.0 - ) - ) - ) - (vector+float*! - s5-1 - s5-1 - (-> *math-camera* inv-camera-rot vector 1) - (the-as float -2048.0) - ) - (let ((s4-0 (get-process *default-dead-pool* projectile-yellow #x4000))) - (when s4-0 - (let ((t9-2 (method-of-type projectile-yellow activate))) - (t9-2 - (the-as projectile-yellow s4-0) - self - 'projectile-yellow - (the-as pointer #x70004000) - ) - ) - (let ((s3-0 run-function-in-process) - (s2-0 s4-0) - (s1-0 projectile-init-by-other) - (s0-0 (-> self entity)) + (let ((gp-0 (get-process *default-dead-pool* first-person-hud #x4000))) + (set! (-> self fp-hud) + (ppointer->handle + (when gp-0 + (let ((t9-6 (method-of-type first-person-hud activate))) + (t9-6 (the-as first-person-hud gp-0) *dproc* 'first-person-hud (&+ *fp-hud-stack* #x3800)) + ) + (run-now-in-process gp-0 first-person-hud-init-by-other) + (-> gp-0 ppointer) + ) ) - (set! sv-48 s5-1) - (let ((v0-4 (camera-pos))) - (.mov.vf vf6 vf0 :mask #b1000) - (.lvf vf4 (&-> v0-4 quad)) - ) - (.lvf vf5 (&-> s5-1 quad)) - (.add.vf vf6 vf4 vf5 :mask #b111) - (.svf (&-> sv-48 quad) vf6) - (let - ((t1-0 - (if - (>= - (-> self fact-info-target eco-level) - (-> *FACT-bank* eco-level-max) - ) - 120 - 104 - ) ) - (t2-0 #f) - ) - ((the-as - (function object object object object object object object none) - s3-0 - ) - s2-0 - s1-0 - s0-0 - sv-48 - gp-1 - t1-0 - t2-0 - ) - ) - ) - (-> s4-0 ppointer) - ) - ) ) - (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) - ) (none) ) - ) - :code + :exit (behavior () - (ja-channel-set! 0) - (set! (-> self control transv quad) (the-as uint128 0)) - (anim-loop) - (none) - ) + (let ((a0-1 (handle->process (-> self fp-hud)))) + (if a0-1 + (send-event a0-1 'go-away) + ) + ) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 1) + (set! (-> a1-2 message) 'query-state) + (set! (-> a1-2 param 0) (the-as uint cam-billy)) + (when (send-event-function *camera* a1-2) + (send-event *camera* 'no-intro) + (send-event *camera* 'force-blend 0) + (camera-change-to (the-as string 'base) 0 #f) + ) + ) + (target-exit) + (none) + ) + :trans + (behavior () + (local-vars (sv-48 vector)) + (rlet ((vf0 :class vf) + (vf4 :class vf) + (vf5 :class vf) + (vf6 :class vf) + ) + (init-vf0-vector) + (when (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons r2 circle square) + ) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword82)) 135) + (and (= (-> self fact-info-target eco-type) 1) (>= (-> self fact-info-target eco-level) 1.0)) + (not *pause-lock*) + ) + (let ((gp-1 (vector-float*! + (new-stack-vector0) + (-> *math-camera* inv-camera-rot vector 2) + (the-as float (-> *TARGET-bank* yellow-projectile-speed)) + ) + ) + (s5-1 (vector-float*! (new-stack-vector0) (-> *math-camera* inv-camera-rot vector 2) 8192.0)) + ) + (vector+float*! s5-1 s5-1 (-> *math-camera* inv-camera-rot vector 1) (the-as float -2048.0)) + (let ((s4-0 (get-process *default-dead-pool* projectile-yellow #x4000))) + (when s4-0 + (let ((t9-2 (method-of-type projectile-yellow activate))) + (t9-2 (the-as projectile-yellow s4-0) self 'projectile-yellow (the-as pointer #x70004000)) + ) + (let ((s3-0 run-function-in-process) + (s2-0 s4-0) + (s1-0 projectile-init-by-other) + (s0-0 (-> self entity)) + ) + (set! sv-48 s5-1) + (let ((v0-4 (camera-pos))) + (.mov.vf vf6 vf0 :mask #b1000) + (.lvf vf4 (&-> v0-4 quad)) + ) + (.lvf vf5 (&-> s5-1 quad)) + (.add.vf vf6 vf4 vf5 :mask #b111) + (.svf (&-> sv-48 quad) vf6) + (let ((t1-0 (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) + 120 + 104 + ) + ) + (t2-0 #f) + ) + ((the-as (function object object object object object object object none) s3-0) + s2-0 + s1-0 + s0-0 + sv-48 + gp-1 + t1-0 + t2-0 + ) + ) + ) + (-> s4-0 ppointer) + ) + ) + ) + (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) + ) + (none) + ) + ) + :code + (behavior () (ja-channel-set! 0) (set! (-> self control transv quad) (the-as uint128 0)) (anim-loop) (none)) :post target-no-move-post ) @@ -1339,686 +906,434 @@ (defstate target-grab (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (cond - ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) - (-> self state name) - ) - (else - (case arg2 - (('end-mode) - (go target-stance) - ) - (('play-anim) - (let ((v0-0 (the-as object (-> arg3 param 0)))) - (set! (-> self control unknown-uint20) (the-as uint v0-0)) - v0-0 - ) - ) - (('clone-anim) - (go - target-clone-anim - (process->handle (the-as process (-> arg3 param 0))) - ) - ) - (('change-mode) - (case (-> arg3 param 0) - (('final-door) - (go - target-final-door - (the-as basic (process->handle (the-as process (-> arg3 param 1)))) - (process->handle (the-as process (-> arg3 param 2))) - ) - ) - ) + (cond + ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) + (-> self state name) ) (else - (target-generic-event-handler arg0 arg1 arg2 arg3) - ) + (case arg2 + (('end-mode) + (go target-stance) + ) + (('play-anim) + (let ((v0-0 (the-as object (-> arg3 param 0)))) + (set! (-> self control unknown-uint20) (the-as uint v0-0)) + v0-0 + ) + ) + (('clone-anim) + (go target-clone-anim (process->handle (the-as process (-> arg3 param 0)))) + ) + (('change-mode) + (case (-> arg3 param 0) + (('final-door) + (go + target-final-door + (the-as basic (process->handle (the-as process (-> arg3 param 1)))) + (process->handle (the-as process (-> arg3 param 2))) + ) + ) + ) + ) + (else + (target-generic-event-handler arg0 arg1 arg2 arg3) + ) + ) + ) ) - ) ) - ) :enter (behavior () - (set! (-> self control unknown-surface00) *grab-mods*) - (set! (-> self neck flex-blend) 0.0) - (logior! (-> self state-flags) 272) - (set! (-> self control unknown-uint20) (the-as uint 'stance)) - (none) - ) + (set! (-> self control unknown-surface00) *grab-mods*) + (set! (-> self neck flex-blend) 0.0) + (logior! (-> self state-flags) 272) + (set! (-> self control unknown-uint20) (the-as uint 'stance)) + (none) + ) :exit - (behavior () - (set! (-> self state-flags) (logand -17 (-> self state-flags))) - (target-exit) - (none) - ) + (behavior () (set! (-> self state-flags) (logand -17 (-> self state-flags))) (target-exit) (none)) :code (behavior () - (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) - (let ((gp-0 0)) - (while (zero? (logand (-> self control status) 1)) - (target-falling-anim-trans) - (+! - gp-0 - (- - (-> *display* base-frame-counter) - (-> *display* old-base-frame-counter) - ) - ) - (suspend) - ) - (if (or (> gp-0 0) (let ((v1-11 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) + (let ((gp-0 0)) + (while (zero? (logand (-> self control status) 1)) + (target-falling-anim-trans) + (+! gp-0 (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter))) + (suspend) + ) + (if (or (> gp-0 0) (let ((v1-11 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or + (= v1-11 (-> self draw art-group data 34)) + (= v1-11 (-> self draw art-group data 38)) + (= v1-11 (-> self draw art-group data 42)) + (= v1-11 (-> self draw art-group data 43)) + (= v1-11 (-> self draw art-group data 41)) + ) ) - (or - (= v1-11 (-> self draw art-group data 34)) - (= v1-11 (-> self draw art-group data 38)) - (= v1-11 (-> self draw art-group data 42)) - (= v1-11 (-> self draw art-group data 43)) - (= v1-11 (-> self draw art-group data 41)) - ) - ) - ) - (target-hit-ground-anim #f) - ) - ) - (-> self control unknown-spoolanim00) - (while #t - (let ((gp-1 (-> self control unknown-spoolanim00))) - (case gp-1 - (('stance) - (cond - ((or (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (< 0.5 (-> self skel root-channel 6 frame-interp)) - ) - (let ((v1-32 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (= v1-32 (-> self draw art-group data 28)) - (= v1-32 (-> self draw art-group data 29)) - (= v1-32 (-> self draw art-group data 54)) - (= v1-32 (-> self draw art-group data 55)) - ) - ) - ) - (ja-channel-push! 1 45) - (let ((a0-39 (-> self skel root-channel 0))) - (set! - (-> a0-39 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-39 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-39 param 1) 1.0) - (set! (-> a0-39 frame-num) 0.0) - (joint-control-channel-group! - a0-39 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! - (-> a0-40 param 0) - (the float (+ (-> a0-40 frame-group data 0 length) -1)) - ) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! - a0-40 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-42 (-> self skel root-channel 0))) - (set! - (-> a0-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-42 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! - a0-42 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! - (-> a0-43 param 0) - (the float (+ (-> a0-43 frame-group data 0 length) -1)) - ) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-push! 1 45) - ) - ((let ((v1-87 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) ) - (and - (or - (= v1-87 (-> self draw art-group data 39)) - (= v1-87 (-> self draw art-group data 35)) - ) - (not (ja-max? 0)) - ) - ) - (let ((a0-54 (-> self skel root-channel 0))) - (set! - (-> a0-54 param 0) - (the float (+ (-> a0-54 frame-group data 0 length) -1)) - ) - (set! (-> a0-54 param 1) 1.0) - (joint-control-channel-group! - a0-54 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (ja-channel-push! 1 22) + (target-hit-ground-anim #f) ) - ((not (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (= (ja-group-size) 1) - ) - ) - (ja-channel-push! 1 22) - ) - ) - (while #t - (let ((a0-63 (-> self skel root-channel 0))) - (set! - (-> a0-63 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-63 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-63 param 1) 1.0) - (set! (-> a0-63 frame-num) 0.0) - (joint-control-channel-group! - a0-63 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (!= gp-1 (-> self control unknown-spoolanim00)) - (goto cfg-94) - ) - (suspend) - (let ((a0-64 (-> self skel root-channel 0))) - (set! - (-> a0-64 param 0) - (the float (+ (-> a0-64 frame-group data 0 length) -1)) - ) - (set! (-> a0-64 param 1) 1.0) - (joint-control-channel-group-eval! - a0-64 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (('shock-in) - (ja-channel-push! 1 60) - (let ((s5-0 (-> self skel root-channel 0))) - (set! - (-> s5-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 88)) - ) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 18.0) 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 88)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (!= gp-1 (-> self control unknown-spoolanim00)) - (goto cfg-94) - ) - (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 18.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (if (!= gp-1 (-> self control unknown-spoolanim00)) - (goto cfg-94) - ) - (suspend) - ) - ) - (('shock-out) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 88) - ) - ) - (ja-channel-push! 1 60) - ) - (let ((s5-2 (-> self skel root-channel 0))) - (set! - (-> s5-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 88)) - ) - (set! - (-> s5-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 88)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> s5-2 param 1) 1.0) - (set! (-> s5-2 frame-num) (ja-aframe (the-as float 18.0) 0)) - (joint-control-channel-group! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 88)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (!= gp-1 (-> self control unknown-spoolanim00)) - (goto cfg-94) - ) - (suspend) - (let ((a0-82 (-> self skel root-channel 0))) - (set! - (-> a0-82 param 0) - (the float (+ (-> a0-82 frame-group data 0 length) -1)) - ) - (set! (-> a0-82 param 1) 1.0) - (joint-control-channel-group-eval! - a0-82 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set! (-> self control unknown-uint20) (the-as uint 'stance)) - ) ) - ) - (label cfg-94) + (-> self control unknown-spoolanim00) + (while #t + (let ((gp-1 (-> self control unknown-spoolanim00))) + (case gp-1 + (('stance) + (cond + ((or + (and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 23) + ) + (< 0.5 (-> self skel root-channel 6 frame-interp)) + ) + (let ((v1-32 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or + (= v1-32 (-> self draw art-group data 28)) + (= v1-32 (-> self draw art-group data 29)) + (= v1-32 (-> self draw art-group data 54)) + (= v1-32 (-> self draw art-group data 55)) + ) + ) + ) + (ja-channel-push! 1 45) + (let ((a0-39 (-> self skel root-channel 0))) + (set! (-> a0-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-39 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-39 param 1) 1.0) + (set! (-> a0-39 frame-num) 0.0) + (joint-control-channel-group! a0-39 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-40 (-> self skel root-channel 0))) + (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) + (set! (-> a0-40 param 1) 1.0) + (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-42 (-> self skel root-channel 0))) + (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-42 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-42 param 1) 1.0) + (set! (-> a0-42 frame-num) 0.0) + (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-43 (-> self skel root-channel 0))) + (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) + (set! (-> a0-43 param 1) 1.0) + (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (ja-channel-push! 1 45) + ) + ((let ((v1-87 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (and + (or (= v1-87 (-> self draw art-group data 39)) (= v1-87 (-> self draw art-group data 35))) + (not (ja-max? 0)) + ) + ) + (let ((a0-54 (-> self skel root-channel 0))) + (set! (-> a0-54 param 0) (the float (+ (-> a0-54 frame-group data 0 length) -1))) + (set! (-> a0-54 param 1) 1.0) + (joint-control-channel-group! a0-54 (the-as art-joint-anim #f) num-func-seek!) + ) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) + ) + (ja-channel-push! 1 22) + ) + ((not (and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 5) + ) + (= (ja-group-size) 1) + ) + ) + (ja-channel-push! 1 22) + ) + ) + (while #t + (let ((a0-63 (-> self skel root-channel 0))) + (set! (-> a0-63 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-63 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-63 param 1) 1.0) + (set! (-> a0-63 frame-num) 0.0) + (joint-control-channel-group! a0-63 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (if (!= gp-1 (-> self control unknown-spoolanim00)) + (goto cfg-94) + ) + (suspend) + (let ((a0-64 (-> self skel root-channel 0))) + (set! (-> a0-64 param 0) (the float (+ (-> a0-64 frame-group data 0 length) -1))) + (set! (-> a0-64 param 1) 1.0) + (joint-control-channel-group-eval! a0-64 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (('shock-in) + (ja-channel-push! 1 60) + (let ((s5-0 (-> self skel root-channel 0))) + (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 88))) + (set! (-> s5-0 param 0) (ja-aframe (the-as float 18.0) 0)) + (set! (-> s5-0 param 1) 1.0) + (set! (-> s5-0 frame-num) 0.0) + (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 88)) num-func-seek!) + ) + (until (ja-done? 0) + (if (!= gp-1 (-> self control unknown-spoolanim00)) + (goto cfg-94) + ) + (suspend) + (let ((s5-1 (-> self skel root-channel 0))) + (set! (-> s5-1 param 0) (ja-aframe (the-as float 18.0) 0)) + (set! (-> s5-1 param 1) 1.0) + (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (while #t + (if (!= gp-1 (-> self control unknown-spoolanim00)) + (goto cfg-94) + ) + (suspend) + ) + ) + (('shock-out) + (if (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 88) + ) + ) + (ja-channel-push! 1 60) + ) + (let ((s5-2 (-> self skel root-channel 0))) + (set! (-> s5-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 88))) + (set! (-> s5-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 88)) data 0 length) -1)) + ) + (set! (-> s5-2 param 1) 1.0) + (set! (-> s5-2 frame-num) (ja-aframe (the-as float 18.0) 0)) + (joint-control-channel-group! s5-2 (the-as art-joint-anim (-> self draw art-group data 88)) num-func-seek!) + ) + (until (ja-done? 0) + (if (!= gp-1 (-> self control unknown-spoolanim00)) + (goto cfg-94) + ) + (suspend) + (let ((a0-82 (-> self skel root-channel 0))) + (set! (-> a0-82 param 0) (the float (+ (-> a0-82 frame-group data 0 length) -1))) + (set! (-> a0-82 param 1) 1.0) + (joint-control-channel-group-eval! a0-82 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! (-> self control unknown-uint20) (the-as uint 'stance)) + ) + ) + ) + (label cfg-94) + ) + (none) ) - (none) - ) :post (behavior () - (if (logtest? (-> self control status) 1) - (set! (-> self control transv quad) (the-as uint128 0)) + (if (logtest? (-> self control status) 1) + (set! (-> self control transv quad) (the-as uint128 0)) + ) + (target-no-stick-post) + (none) ) - (target-no-stick-post) - (none) - ) ) ;; failed to figure out what this is: (defstate target-pole-cycle (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (if (and (= arg2 'query) (= (-> arg3 param 0) 'mode)) - (-> self state name) - (target-standard-event-handler arg0 arg1 arg2 arg3) + (if (and (= arg2 'query) (= (-> arg3 param 0) 'mode)) + (-> self state name) + (target-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - ) :enter (behavior ((arg0 handle)) - (set! (-> self control unknown-handle10) arg0) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-surface00) *pole-mods*) - (logior! (-> self control root-prim prim-core action) 256) - (target-collide-set! - 'pole - (the-as float (-> (new 'static 'array int32 1 0) 0)) + (set! (-> self control unknown-handle10) arg0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-surface00) *pole-mods*) + (logior! (-> self control root-prim prim-core action) 256) + (target-collide-set! 'pole (the-as float (-> (new 'static 'array int32 1 0) 0))) + (set! (-> self control unknown-vector102 quad) (-> self control transv quad)) + (set! (-> self control transv quad) (the-as uint128 0)) + (send-event *camera* 'ease-in) + (set! (-> self control unknown-int21) (the-as int #f)) + (none) ) - (set! (-> self control unknown-vector102 quad) (-> self control transv quad)) - (set! (-> self control transv quad) (the-as uint128 0)) - (send-event *camera* 'ease-in) - (set! (-> self control unknown-int21) (the-as int #f)) - (none) - ) :exit (behavior () - (target-collide-set! - 'normal - (the-as float (-> (new 'static 'array int32 1 0) 0)) + (target-collide-set! 'normal (the-as float (-> (new 'static 'array int32 1 0) 0))) + (set! (-> self control root-prim prim-core action) (logand -257 (-> self control root-prim prim-core action))) + (set! (-> self control unknown-handle10) (the-as handle #f)) + (none) ) - (set! - (-> self control root-prim prim-core action) - (logand -257 (-> self control root-prim prim-core action)) - ) - (set! (-> self control unknown-handle10) (the-as handle #f)) - (none) - ) :trans (behavior () - (when - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons x) - ) - (zero? (logand (-> self state-flags) 2048)) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - ) - (set! (-> self control transv quad) (the-as uint128 0)) - (cond - ((< 44.0 (ja-aframe-num 0)) - (set-forward-vel (the-as float -49152.0)) - (let ((gp-0 (new-stack-vector0))) - (let - ((f0-2 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - ) - 0.0 - (vector-! - gp-0 - (-> self control transv) - (vector-float*! gp-0 (-> self control dynam gravity-normal) f0-2) - ) - ) - (let* ((f0-3 (vector-length gp-0)) - (f1-1 f0-3) - (f2-0 -81920.0) + (when (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-0 - ) - (vector-float*! gp-0 gp-0 (/ f0-3 f1-1)) + (zero? (logand (-> self state-flags) 2048)) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + ) + (set! (-> self control transv quad) (the-as uint128 0)) + (cond + ((< 44.0 (ja-aframe-num 0)) + (set-forward-vel (the-as float -49152.0)) + (let ((gp-0 (new-stack-vector0))) + (let ((f0-2 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! gp-0 (-> self control transv) (vector-float*! gp-0 (-> self control dynam gravity-normal) f0-2)) + ) + (let* ((f0-3 (vector-length gp-0)) + (f1-1 f0-3) + (f2-0 -81920.0) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-0) + (vector-float*! gp-0 gp-0 (/ f0-3 f1-1)) + ) + ) + ) + (set! (-> self control status) (logand -8 (-> self control status))) + (go target-falling 'target-pole-cycle) ) + ((>= (ja-aframe-num 0) 14.0) + (remove-exit) + (go target-pole-flip-up 28672.0 28672.0 (* 1024.0 (- 26.0 (ja-aframe-num 0)))) + ) + (else + (remove-exit) + (go target-pole-flip-forward (the-as float 14336.0) (the-as float 14336.0) (the-as float 57344.0)) + ) ) - ) - (set! (-> self control status) (logand -8 (-> self control status))) - (go target-falling 'target-pole-cycle) ) - ((>= (ja-aframe-num 0) 14.0) - (remove-exit) - (go - target-pole-flip-up - 28672.0 - 28672.0 - (* 1024.0 (- 26.0 (ja-aframe-num 0))) - ) - ) - (else - (remove-exit) - (go - target-pole-flip-forward - (the-as float 14336.0) - (the-as float 14336.0) - (the-as float 57344.0) - ) - ) - ) + (none) ) - (none) - ) :code (behavior ((arg0 handle)) - (target-compute-pole) - (set! - (-> self control unknown-uint20) - (the-as - uint - (vector-dot - (-> self control unknown-vector100) - (vector-normalize! (-> self control unknown-vector102) (the-as float 1.0)) - ) - ) - ) - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (target-compute-pole) + (set! (-> self control unknown-uint20) + (the-as uint (vector-dot + (-> self control unknown-vector100) + (vector-normalize! (-> self control unknown-vector102) (the-as float 1.0)) + ) + ) + ) + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 83) + ) + (while (not (-> self control unknown-int21)) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) 1.0) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) + ) + (suspend) ) - (-> self draw art-group data 83) - ) - (while (not (-> self control unknown-int21)) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (suspend) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 num-func) num-func-identity) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 37.0) 0)) - ) - ) - (else - (while (not (-> self control unknown-int21)) - (suspend) - ) - (suspend) - (ja-channel-push! 1 45) - ) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 80)) - ) - (set! - (-> a0-9 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 80)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 80)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (set! - (-> self anim-seed) - (the-as uint (if (rand-vu-percent? (the-as float 0.1)) - 0 - 1 - ) - ) - ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 frame-group) - (the-as art-joint-anim (-> self draw art-group data 80)) - ) - (set! - (-> a0-13 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 80)) - data - 0 - length + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 num-func) num-func-identity) + (set! (-> gp-1 frame-num) (ja-aframe (the-as float 37.0) 0)) ) - -1 - ) ) + (else + (while (not (-> self control unknown-int21)) + (suspend) + ) + (suspend) + (ja-channel-push! 1 45) + ) ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! - a0-13 - (the-as art-joint-anim (-> self draw art-group data 80)) - num-func-seek! + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 80))) + (set! (-> a0-9 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 80)) data 0 length) -1)) + ) + (set! (-> a0-9 param 1) 1.0) + (set! (-> a0-9 frame-num) 0.0) + (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 80)) num-func-seek!) ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! - (-> a0-14 param 0) - (the float (+ (-> a0-14 frame-group data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! - a0-14 - (the-as art-joint-anim #f) - num-func-seek! - ) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 1.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (while #t + (set! (-> self anim-seed) (the-as uint (if (rand-vu-percent? (the-as float 0.1)) + 0 + 1 + ) + ) + ) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 80))) + (set! (-> a0-13 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 80)) data 0 length) -1)) + ) + (set! (-> a0-13 param 1) 1.0) + (set! (-> a0-13 frame-num) 0.0) + (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 80)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) + (set! (-> a0-14 param 1) 1.0) + (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (none) - ) :post target-no-move-post ) @@ -2031,56 +1346,27 @@ (-> target-pole-cycle exit) :code (behavior ((arg0 object) (arg1 object) (arg2 float)) - (let ((s3-0 (-> self skel root-channel 0))) - (set! - (-> s3-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 81)) - ) - (set! - (-> s3-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 81)) - data - 0 - length + (let ((s3-0 (-> self skel root-channel 0))) + (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 81))) + (set! (-> s3-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 81)) data 0 length) -1)) + ) + (set! (-> s3-0 param 1) 1.0) + (set! (-> s3-0 frame-num) (ja-aframe (+ 1.0 (fmin 17.0 (ja-aframe-num 0))) 0)) + (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data 81)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> s3-0 param 1) 1.0) - (set! - (-> s3-0 frame-num) - (ja-aframe (+ 1.0 (fmin 17.0 (ja-aframe-num 0))) 0) - ) - (joint-control-channel-group! - s3-0 - (the-as art-joint-anim (-> self draw art-group data 81)) - num-func-seek! - ) + (set-forward-vel arg2) + (go target-pole-flip-up-jump (the-as float arg0) (the-as float arg1)) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set-forward-vel arg2) - (go target-pole-flip-up-jump (the-as float arg0) (the-as float arg1)) - (none) - ) :post target-no-move-post ) @@ -2095,91 +1381,56 @@ target-exit :trans (behavior () - ((-> target-jump-forward trans)) - (vector-flatten! - (-> self control transv) - (-> self control transv) - (-> self control unknown-vector100) + ((-> target-jump-forward trans)) + (vector-flatten! (-> self control transv) (-> self control transv) (-> self control unknown-vector100)) + (none) ) - (none) - ) :code (behavior ((arg0 float) (arg1 float)) - (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 0 0 1 #t) - (send-event *camera* 'damp-up) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 83)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (let ((f0-1 (target-height-above-ground)) - (f1-1 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - ) - (while - (not - (and - (< (fabs (/ f0-1 (* 0.0033333334 f1-1))) 40.0) - (and (< f1-1 0.0) (ja-min? 0)) - ) - ) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) + (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 0 0 1 #t) + (send-event *camera* 'damp-up) + (let ((gp-1 (-> self skel root-channel 0))) (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-loop! - ) + gp-1 + (the-as art-joint-anim (-> self draw art-group data 83)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) ) - (set! f0-1 (target-height-above-ground)) - (set! - f1-1 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) + (let ((f0-1 (target-height-above-ground)) + (f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + ) + (while (not (and (< (fabs (/ f0-1 (* 0.0033333334 f1-1))) 40.0) (and (< f1-1 0.0) (ja-min? 0)))) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) + ) + (set! f0-1 (target-height-above-ground)) + (set! f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + ) ) - ) + (ja-channel-push! 1 75) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + (set! (-> a0-9 param 0) 1.0) + (set! (-> a0-9 frame-num) 0.0) + (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) + ) + (while #t + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + (set! (-> a0-10 param 0) 1.0) + (joint-control-channel-group-eval! + a0-10 + (the-as art-joint-anim (-> self draw art-group data 38)) + num-func-loop! + ) + ) + ) + (none) ) - (ja-channel-push! 1 75) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 38)) - ) - (set! (-> a0-9 param 0) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) - (while #t - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 frame-group) - (the-as art-joint-anim (-> self draw art-group data 38)) - ) - (set! (-> a0-10 param 0) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) - ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -2192,36 +1443,25 @@ (-> target-pole-cycle exit) :code (behavior ((arg0 float) (arg1 float) (arg2 float)) - (let ((s3-0 (-> self skel root-channel 0))) - (set! - (-> s3-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 82)) - ) - (set! (-> s3-0 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-0 param 1) 1.0) - (set! (-> s3-0 frame-num) (ja-aframe (+ 1.0 (ja-aframe-num 0)) 0)) - (joint-control-channel-group! - s3-0 - (the-as art-joint-anim (-> self draw art-group data 82)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-1 param 1) 1.0) - (joint-control-channel-group-eval! - s3-1 - (the-as art-joint-anim #f) - num-func-seek! + (let ((s3-0 (-> self skel root-channel 0))) + (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 82))) + (set! (-> s3-0 param 0) (ja-aframe (the-as float 16.0) 0)) + (set! (-> s3-0 param 1) 1.0) + (set! (-> s3-0 frame-num) (ja-aframe (+ 1.0 (ja-aframe-num 0)) 0)) + (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data 82)) num-func-seek!) ) - ) + (until (ja-done? 0) + (suspend) + (let ((s3-1 (-> self skel root-channel 0))) + (set! (-> s3-1 param 0) (ja-aframe (the-as float 16.0) 0)) + (set! (-> s3-1 param 1) 1.0) + (joint-control-channel-group-eval! s3-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set-forward-vel arg2) + (go target-pole-flip-forward-jump arg0 arg1) + (none) ) - (set-forward-vel arg2) - (go target-pole-flip-forward-jump arg0 arg1) - (none) - ) :post target-no-move-post ) @@ -2232,44 +1472,32 @@ target-standard-event-handler :enter (behavior ((arg0 float) (arg1 float)) - ((-> target-jump enter) arg0 arg1 (the-as surface #f)) - (set! (-> self control unknown-surface00) *forward-pole-jump-mods*) - (none) - ) + ((-> target-jump enter) arg0 arg1 (the-as surface #f)) + (set! (-> self control unknown-surface00) *forward-pole-jump-mods*) + (none) + ) :exit target-exit :trans (behavior () - ((-> target-jump-forward trans)) - (vector-flatten! - (-> self control transv) - (-> self control transv) - (-> self control unknown-vector100) + ((-> target-jump-forward trans)) + (vector-flatten! (-> self control transv) (-> self control transv) (-> self control unknown-vector100)) + (none) ) - (none) - ) :code (behavior ((arg0 float) (arg1 float)) - (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 0 0 1 #t) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) + (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 0 0 1 #t) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + ((the-as (function none :behavior target) (-> target-pole-flip-up-jump code))) + (none) ) - ((the-as (function none :behavior target) (-> target-pole-flip-up-jump code)) - ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -2278,288 +1506,190 @@ (defstate target-edge-grab (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('end-mode) - (go target-falling 'target-edge-grab) + (case arg2 + (('end-mode) + (go target-falling 'target-edge-grab) + ) + (else + (target-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-surface00) *edge-grab-mods*) - (set! (-> self control unknown-dword41) (-> *display* base-frame-counter)) - (logior! (-> self control root-prim prim-core action) 136) - (set! (-> self control unknown-vector102 quad) (-> self control transv quad)) - (set! (-> self control transv quad) (the-as uint128 0)) - (send-event *camera* 'ease-in) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-surface00) *edge-grab-mods*) + (set! (-> self control unknown-dword41) (-> *display* base-frame-counter)) + (logior! (-> self control root-prim prim-core action) 136) + (set! (-> self control unknown-vector102 quad) (-> self control transv quad)) + (set! (-> self control transv quad) (the-as uint128 0)) + (send-event *camera* 'ease-in) + (none) + ) :exit (behavior () - (when (logtest? (-> self control root-prim prim-core action) 128) - (set! - (-> self control root-prim prim-core action) - (logand -137 (-> self control root-prim prim-core action)) - ) - (send-event *camera* 'damp-up) + (when (logtest? (-> self control root-prim prim-core action) 128) + (set! (-> self control root-prim prim-core action) (logand -137 (-> self control root-prim prim-core action))) + (send-event *camera* 'damp-up) + ) + (none) ) - (none) - ) :trans (behavior () - (when - (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 + (when (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (zero? (logand (-> self state-flags) 2048)) + ) + (cond + ((or + (< -0.2 (local-pad-angle)) + (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + ) + (let ((a1-2 (new 'stack-no-clear 'collide-using-spheres-params))) + (set! (-> a1-2 spheres) (the-as (pointer sphere) (-> *collide-edge-work* world-player-leap-up-spheres))) + (set! (-> a1-2 num-spheres) (the-as uint 6)) + (set! (-> a1-2 collide-with) (-> self control root-prim collide-with)) + (set! (-> a1-2 proc) #f) + (set! (-> a1-2 ignore-pat) (the-as uint 1)) + (set! (-> a1-2 solid-only) #t) + (when (not (dummy-11 *collide-cache* a1-2)) + (remove-exit) + (go + target-edge-grab-jump + (-> *TARGET-bank* edge-grab-jump-height-min) + (-> *TARGET-bank* edge-grab-jump-height-max) + ) + ) + ) ) + (else + (remove-exit) + (go target-edge-grab-off) + ) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons x) ) - (zero? (logand (-> self state-flags) 2048)) - ) - (cond - ((or - (< -0.2 (local-pad-angle)) - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - ) - (let ((a1-2 (new 'stack-no-clear 'collide-using-spheres-params))) - (set! - (-> a1-2 spheres) - (the-as - (pointer sphere) - (-> *collide-edge-work* world-player-leap-up-spheres) - ) - ) - (set! (-> a1-2 num-spheres) (the-as uint 6)) - (set! (-> a1-2 collide-with) (-> self control root-prim collide-with)) - (set! (-> a1-2 proc) #f) - (set! (-> a1-2 ignore-pat) (the-as uint 1)) - (set! (-> a1-2 solid-only) #t) - (when (not (dummy-11 *collide-cache* a1-2)) - (remove-exit) - (go - target-edge-grab-jump - (-> *TARGET-bank* edge-grab-jump-height-min) - (-> *TARGET-bank* edge-grab-jump-height-max) - ) - ) - ) - ) - (else - (remove-exit) - (go target-edge-grab-off) - ) - ) + (none) ) - (none) - ) :code (behavior () - (target-compute-edge) - (set! - (-> self control unknown-uint20) - (the-as - uint - (vector-dot - (-> self control unknown-vector100) - (vector-normalize! (-> self control unknown-vector102) (the-as float 1.0)) + (target-compute-edge) + (set! (-> self control unknown-uint20) + (the-as uint (vector-dot + (-> self control unknown-vector100) + (vector-normalize! (-> self control unknown-vector102) (the-as float 1.0)) + ) + ) + ) + (while (< 0.0 (-> self control unknown-float110)) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 38) + ) + ) + (ja-channel-push! 1 45) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 38)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) + ) + ) + (suspend) ) - ) - ) - (while (< 0.0 (-> self control unknown-float110)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) + (ja-channel-push! 1 45) + (cond + ((< (the-as float (-> self control unknown-uint20)) -0.3) + (let ((gp-2 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-2 + (the-as art-joint-anim (-> self draw art-group data 48)) + num-func-identity ) - (ja-channel-push! 1 45) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - ) - (suspend) - ) - (ja-channel-push! 1 45) - (cond - ((< (the-as float (-> self control unknown-uint20)) -0.3) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 48)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) - ) - ((< 0.3 (the-as float (-> self control unknown-uint20))) - (let ((gp-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 47)) - num-func-identity - ) - (set! (-> gp-3 frame-num) 0.0) - ) - ) - (else - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 46)) - num-func-identity - ) - (set! (-> gp-4 frame-num) 0.0) - ) - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 param 0) - (the float (+ (-> a0-11 frame-group data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-set! 1) - (while #t - (let ((a0-14 (-> self skel root-channel 0))) - (set! - (-> a0-14 frame-group) - (the-as art-joint-anim (-> self draw art-group data 44)) - ) - (set! - (-> a0-14 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 44)) - data - 0 - length + (set! (-> gp-2 frame-num) 0.0) ) - -1 - ) ) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! - a0-14 - (the-as art-joint-anim (-> self draw art-group data 44)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 param 0) - (the float (+ (-> a0-15 frame-group data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (+! (-> self anim-seed) 1) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data 45)) - ) - (set! - (-> a0-17 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 45)) - data - 0 - length + ((< 0.3 (the-as float (-> self control unknown-uint20))) + (let ((gp-3 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-3 + (the-as art-joint-anim (-> self draw art-group data 47)) + num-func-identity + ) + (set! (-> gp-3 frame-num) 0.0) ) - -1 + ) + (else + (let ((gp-4 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-4 + (the-as art-joint-anim (-> self draw art-group data 46)) + num-func-identity + ) + (set! (-> gp-4 frame-num) 0.0) + ) ) - ) ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as art-joint-anim (-> self draw art-group data 45)) - num-func-seek! - ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 param 0) - (the float (+ (-> a0-18 frame-group data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-seek! - ) + (suspend) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) + (set! (-> a0-11 param 1) 1.0) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (ja-channel-set! 1) + (while #t + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 44))) + (set! (-> a0-14 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 44)) data 0 length) -1)) + ) + (set! (-> a0-14 param 1) 1.0) + (set! (-> a0-14 frame-num) 0.0) + (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 44)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) + (set! (-> a0-15 param 1) 1.0) + (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (+! (-> self anim-seed) 1) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 45))) + (set! (-> a0-17 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 45)) data 0 length) -1)) + ) + (set! (-> a0-17 param 1) 1.0) + (set! (-> a0-17 frame-num) 0.0) + (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 45)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) + (set! (-> a0-18 param 1) 1.0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (none) - ) :post target-no-move-post ) @@ -2568,88 +1698,55 @@ (defstate target-edge-grab-jump (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('end-mode) - (go target-falling 'target-edge-grab) + (case arg2 + (('end-mode) + (go target-falling 'target-edge-grab) + ) + (else + (target-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :exit (-> target-edge-grab exit) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-set! 1) - (set-quaternion! (-> self control) (-> self control dir-targ)) - (set! - (-> self control root-prim prim-core action) - (logand -137 (-> self control root-prim prim-core action)) - ) - (set! (-> self control transv quad) (the-as uint128 0)) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 49)) - ) - (set! - (-> a0-8 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 49)) - data - 0 - length - ) - -1 + (ja-channel-set! 1) + (set-quaternion! (-> self control) (-> self control dir-targ)) + (set! (-> self control root-prim prim-core action) (logand -137 (-> self control root-prim prim-core action))) + (set! (-> self control transv quad) (the-as uint128 0)) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 49))) + (set! (-> a0-8 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 49)) data 0 length) -1)) + ) + (set! (-> a0-8 param 1) 1.0) + (set! (-> a0-8 frame-num) 0.0) + (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 49)) num-func-seek!) + ) + (until (ja-done? 0) + (target-compute-edge-rider) + (TODO-RENAME-9 (-> self align)) + (when (zero? (logand (-> self align flags) 1)) + (vector-matrix*! s4-0 (the-as vector (-> self align delta)) (-> self control unknown-matrix01)) + (TODO-RENAME-28 (-> self control) s4-0) + ) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 49)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (target-compute-edge-rider) - (TODO-RENAME-9 (-> self align)) - (when (zero? (logand (-> self align flags) 1)) - (vector-matrix*! - s4-0 - (the-as vector (-> self align delta)) - (-> self control unknown-matrix01) - ) - (TODO-RENAME-28 (-> self control) s4-0) - ) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (set! (-> self control transv quad) (the-as uint128 0)) + (set! (-> self control unknown-dword70) 0) + (set-forward-vel (the-as float 16384.0)) + (send-event *camera* 'damp-up) + (go target-jump-forward arg0 arg1) + (none) ) - (set! (-> self control transv quad) (the-as uint128 0)) - (set! (-> self control unknown-dword70) 0) - (set-forward-vel (the-as float 16384.0)) - (send-event *camera* 'damp-up) - (go target-jump-forward arg0 arg1) - (none) - ) :post target-no-move-post ) @@ -2662,76 +1759,47 @@ (-> target-edge-grab exit) :code (behavior () - (ja-channel-set! 1) - (set-quaternion! (-> self control) (-> self control dir-targ)) - (send-event *camera* 'damp-up) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s5-0 (-> self skel root-channel 0))) - (set! - (-> s5-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 50)) + (ja-channel-set! 1) + (set-quaternion! (-> self control) (-> self control dir-targ)) + (send-event *camera* 'damp-up) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (let ((s5-0 (-> self skel root-channel 0))) + (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 50))) + (set! (-> s5-0 param 0) (ja-aframe (the-as float 191.0) 0)) + (set! (-> s5-0 param 1) 1.0) + (set! (-> s5-0 frame-num) 0.0) + (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 50)) num-func-seek!) + ) + (until (ja-done? 0) + (TODO-RENAME-9 (-> self align)) + (when (zero? (logand (-> self align flags) 1)) + (vector-matrix*! gp-0 (the-as vector (-> self align delta)) (-> self control unknown-matrix01)) + (TODO-RENAME-28 (-> self control) gp-0) + ) + (suspend) + (let ((s5-1 (-> self skel root-channel 0))) + (set! (-> s5-1 param 0) (ja-aframe (the-as float 191.0) 0)) + (set! (-> s5-1 param 1) 1.0) + (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 191.0) 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 50)) - num-func-seek! + (set! (-> self control transv quad) (the-as uint128 0)) + (set! (-> self control root-prim prim-core action) (logand -137 (-> self control root-prim prim-core action))) + (vector-float*! (-> self control transv) (-> self control unknown-vector101) -40960.0) + (when (and + (< (- (-> *display* base-frame-counter) (the-as int (-> self control rider-time))) 60) + (or + (logtest? (-> self control unknown-surface01 flags) #x4000) + (= (-> self control poly-pat material) (pat-material rotate)) + ) + ) + (+! (-> self control transv x) (-> self control rider-last-move x)) + (+! (-> self control transv z) (-> self control rider-last-move z)) ) - ) - (until (ja-done? 0) - (TODO-RENAME-9 (-> self align)) - (when (zero? (logand (-> self align flags) 1)) - (vector-matrix*! - gp-0 - (the-as vector (-> self align delta)) - (-> self control unknown-matrix01) - ) - (TODO-RENAME-28 (-> self control) gp-0) - ) - (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 191.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (go target-falling 'target-edge-grab) + (none) ) - (set! (-> self control transv quad) (the-as uint128 0)) - (set! - (-> self control root-prim prim-core action) - (logand -137 (-> self control root-prim prim-core action)) - ) - (vector-float*! - (-> self control transv) - (-> self control unknown-vector101) - -40960.0 - ) - (when - (and - (< - (- - (-> *display* base-frame-counter) - (the-as int (-> self control rider-time)) - ) - 60 - ) - (or - (logtest? (-> self control unknown-surface01 flags) #x4000) - (= (-> self control poly-pat material) (pat-material rotate)) - ) - ) - (+! (-> self control transv x) (-> self control rider-last-move x)) - (+! (-> self control transv z) (-> self control rider-last-move z)) - ) - (go target-falling 'target-edge-grab) - (none) - ) :post target-no-move-post ) @@ -2742,262 +1810,173 @@ (-> target-running-attack event) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-surface00) *run-attack-mods*) - (set! (-> *run-attack-mods* turnv) 655360.0) - (set! (-> *run-attack-mods* turnvv) 655360.0) - (target-start-attack) - (target-danger-set! 'spin #f) - (set! (-> self control unknown-uint20) (the-as uint 0)) - (set! (-> self control unknown-int21) 0) - (set! (-> self control unknown-uint31) (the-as uint 0)) - (let ((gp-0 (new-stack-vector0)) - (f30-0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-surface00) *run-attack-mods*) + (set! (-> *run-attack-mods* turnv) 655360.0) + (set! (-> *run-attack-mods* turnvv) 655360.0) + (target-start-attack) + (target-danger-set! 'spin #f) + (set! (-> self control unknown-uint20) (the-as uint 0)) + (set! (-> self control unknown-int21) 0) + (set! (-> self control unknown-uint31) (the-as uint 0)) + (let ((gp-0 (new-stack-vector0)) + (f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) ) - ) - 0.0 - (vector-! - gp-0 - (-> self control transv) - (vector-float*! gp-0 (-> self control dynam gravity-normal) f30-0) - ) - (let* ((f0-5 (vector-length gp-0)) - (f1-0 f0-5) - ) - (if (< 0.0 f30-0) - (set! f30-0 0.0) + 0.0 + (vector-! gp-0 (-> self control transv) (vector-float*! gp-0 (-> self control dynam gravity-normal) f30-0)) + (let* ((f0-5 (vector-length gp-0)) + (f1-0 f0-5) + ) + (if (< 0.0 f30-0) + (set! f30-0 0.0) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f30-0) + (vector-float*! gp-0 gp-0 (/ f0-5 f1-0)) + ) + ) ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f30-0 - ) - (vector-float*! gp-0 gp-0 (/ f0-5 f1-0)) - ) - ) + (none) ) - (none) - ) :exit (behavior () - (set! (-> *run-attack-mods* turnv) 0.0) - (set! (-> *run-attack-mods* turnvv) 0.0) - (set! (-> self control unknown-dword31) (-> *display* base-frame-counter)) - (target-exit) - (none) - ) + (set! (-> *run-attack-mods* turnv) 0.0) + (set! (-> *run-attack-mods* turnvv) 0.0) + (set! (-> self control unknown-dword31) (-> *display* base-frame-counter)) + (target-exit) + (none) + ) :code (behavior () - (let ((gp-0 (the-as handle #f))) - (ja-channel-push! 1 22) - (level-hint-spawn - (game-text-id daxter-you-can-shoot-with-yellow-eco) - "sksp0145" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (case (-> (level-get-target-inside *level*) name) - (('maincave) - (level-hint-spawn - (game-text-id daxter-maybe-you-can-shoot-better-goggles) - "sksp0328" + (let ((gp-0 (the-as handle #f))) + (ja-channel-push! 1 22) + (level-hint-spawn + (game-text-id daxter-you-can-shoot-with-yellow-eco) + "sksp0145" (the-as entity #f) *entity-pool* (game-task none) ) - ) - ) - (let ((s5-0 (-> self skel root-channel 0))) - (set! - (-> s5-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 84)) - ) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 9.0) 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 84)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (set! (-> *run-attack-mods* turnvv) 0.0) - ) - (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 9.0) 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let - ((s5-2 - (vector-z-quaternion! - (new 'stack-no-clear 'vector) - (-> self control quat) - ) - ) - ) - (set! (-> s5-2 y) 0.0) - (vector-normalize! s5-2 (-> *TARGET-bank* yellow-projectile-speed)) - (when - (and - (= (-> self fact-info-target eco-type) 1) - (>= (-> self fact-info-target eco-level) 1.0) - ) - (let ((gp-1 (get-process *default-dead-pool* projectile-yellow #x4000))) - (set! gp-0 (ppointer->handle (when gp-1 - (let - ((t9-12 - (method-of-type - projectile-yellow - activate - ) - ) - ) - (t9-12 - (the-as projectile-yellow gp-1) - self - 'projectile-yellow - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-1 - projectile-init-by-other - (-> self entity) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data 23) - ) - s5-2 - (if - (>= - (-> self fact-info-target eco-level) - (-> *FACT-bank* eco-level-max) - ) - 25 - 9 - ) - #f - ) - (-> gp-1 ppointer) - ) - ) - ) - ) - (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) - ) - ) - (let ((s5-3 (-> self skel root-channel 0))) - (set! - (-> s5-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 84)) - ) - (set! - (-> s5-3 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 84)) - data - 0 - length + (case (-> (level-get-target-inside *level*) name) + (('maincave) + (level-hint-spawn + (game-text-id daxter-maybe-you-can-shoot-better-goggles) + "sksp0328" + (the-as entity #f) + *entity-pool* + (game-task none) + ) ) - -1 ) - ) - ) - (set! (-> s5-3 param 1) 1.0) - (set! (-> s5-3 frame-num) (ja-aframe (the-as float 9.0) 0)) - (joint-control-channel-group! - s5-3 - (the-as art-joint-anim (-> self draw art-group data 84)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if - (or - (< - (the-as - uint - (- - (-> *display* base-frame-counter) - (the-as int (-> self control unknown-uint30)) + (let ((s5-0 (-> self skel root-channel 0))) + (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 84))) + (set! (-> s5-0 param 0) (ja-aframe (the-as float 9.0) 0)) + (set! (-> s5-0 param 1) 1.0) + (set! (-> s5-0 frame-num) 0.0) + (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 84)) num-func-seek!) + ) + (until (ja-done? 0) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (set! (-> *run-attack-mods* turnvv) 0.0) + ) + (suspend) + (let ((s5-1 (-> self skel root-channel 0))) + (set! (-> s5-1 param 0) (ja-aframe (the-as float 9.0) 0)) + (set! (-> s5-1 param 1) 1.0) + (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((s5-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control quat)))) + (set! (-> s5-2 y) 0.0) + (vector-normalize! s5-2 (-> *TARGET-bank* yellow-projectile-speed)) + (when (and (= (-> self fact-info-target eco-type) 1) (>= (-> self fact-info-target eco-level) 1.0)) + (let ((gp-1 (get-process *default-dead-pool* projectile-yellow #x4000))) + (set! gp-0 (ppointer->handle + (when gp-1 + (let ((t9-12 (method-of-type projectile-yellow activate))) + (t9-12 (the-as projectile-yellow gp-1) self 'projectile-yellow (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + projectile-init-by-other + (-> self entity) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 23)) + s5-2 + (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) + 25 + 9 + ) + #f + ) + (-> gp-1 ppointer) + ) + ) + ) + ) + (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) + ) + ) + (let ((s5-3 (-> self skel root-channel 0))) + (set! (-> s5-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 84))) + (set! (-> s5-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 84)) data 0 length) -1)) + ) + (set! (-> s5-3 param 1) 1.0) + (set! (-> s5-3 frame-num) (ja-aframe (the-as float 9.0) 0)) + (joint-control-channel-group! s5-3 (the-as art-joint-anim (-> self draw art-group data 84)) num-func-seek!) + ) + (until (ja-done? 0) + (if (or + (< (the-as uint (- (-> *display* base-frame-counter) (the-as int (-> self control unknown-uint30)))) + (the-as uint 30) + ) + (= (-> self control unknown-uint31) 1) + ) + (send-event (handle->process gp-0) 'die) + ) + (suspend) + (let ((a0-32 (-> self skel root-channel 0))) + (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) + (set! (-> a0-32 param 1) 1.0) + (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (the-as uint 30) ) - (= (-> self control unknown-uint31) 1) - ) - (send-event (handle->process gp-0) 'die) ) - (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! - (-> a0-32 param 0) - (the float (+ (-> a0-32 frame-group data 0 length) -1)) - ) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! - a0-32 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (if (logtest? (-> self control status) 1) + (go target-stance) + (go target-falling #f) + ) + (none) ) - (if (logtest? (-> self control status) 1) - (go target-stance) - (go target-falling #f) - ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) ;; definition for symbol *yellow-jump-mods*, type surface -(define - *yellow-jump-mods* - (new 'static 'surface - :name 'run - :tiltv 65536.0 - :tiltvv 131072.0 - :transv-max 40960.0 - :target-speed 40960.0 - :fric 0.1 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #x800 - ) - ) +(define *yellow-jump-mods* (new 'static 'surface + :name 'run + :tiltv 65536.0 + :tiltvv 131072.0 + :transv-max 40960.0 + :target-speed 40960.0 + :fric 0.1 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #x800 + ) + ) ;; failed to figure out what this is: (defstate target-yellow-jump-blast (target) @@ -3005,208 +1984,125 @@ target-standard-event-handler :enter (behavior () - (set! (-> self control unknown-surface00) *yellow-jump-mods*) - (let ((gp-0 (new-stack-vector0))) - (let - ((f0-1 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) + (set! (-> self control unknown-surface00) *yellow-jump-mods*) + (let ((gp-0 (new-stack-vector0))) + (let ((f0-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! gp-0 (-> self control transv) (vector-float*! gp-0 (-> self control dynam gravity-normal) f0-1)) + ) + (let* ((f0-2 (vector-length gp-0)) + (f1-1 f0-2) + (f2-0 46917.434) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-0) + (vector-float*! gp-0 gp-0 (/ f0-2 f1-1)) + ) ) - ) ) - 0.0 - (vector-! - gp-0 - (-> self control transv) - (vector-float*! gp-0 (-> self control dynam gravity-normal) f0-1) - ) - ) - (let* ((f0-2 (vector-length gp-0)) - (f1-1 f0-2) - (f2-0 46917.434) - ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-0 - ) - (vector-float*! gp-0 gp-0 (/ f0-2 f1-1)) - ) - ) + (none) ) - (none) - ) :exit (behavior () - (rot->dir-targ! (-> self control)) - (set! (-> self control unknown-dword31) (-> *display* base-frame-counter)) - (target-exit) - (none) - ) + (rot->dir-targ! (-> self control)) + (set! (-> self control unknown-dword31) (-> *display* base-frame-counter)) + (target-exit) + (none) + ) :code (behavior () - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 86)) - ) - (set! (-> gp-0 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 86)) - num-func-seek! - ) - ) - (until (ja-done? 0) + (ja-channel-push! 1 22) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 86))) + (set! (-> gp-0 param 0) (ja-aframe (the-as float 15.0) 0)) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 86)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe (the-as float 15.0) 0)) + (set! (-> gp-1 param 1) 1.0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (suspend) - (let ((gp-2 (new-stack-vector0))) - (let - ((f0-6 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) + (let ((gp-2 (new-stack-vector0))) + (let ((f0-6 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! gp-2 (-> self control transv) (vector-float*! gp-2 (-> self control dynam gravity-normal) f0-6)) ) - ) - ) - 0.0 - (vector-! - gp-2 - (-> self control transv) - (vector-float*! gp-2 (-> self control dynam gravity-normal) f0-6) - ) - ) - (let* ((f0-7 (vector-length gp-2)) - (f1-1 f0-7) - (f2-0 46917.434) - ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-0 - ) - (vector-float*! gp-2 gp-2 (/ f0-7 f1-1)) - ) - ) - ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (let ((gp-3 (get-process *default-dead-pool* projectile-yellow #x4000))) - (when gp-3 - (let ((t9-9 (method-of-type projectile-yellow activate))) - (t9-9 - (the-as projectile-yellow gp-3) - self - 'projectile-yellow - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-3 - projectile-init-by-other - (-> self entity) - (-> self control unknown-vector90) - (vector-float*! - (new 'stack-no-clear 'vector) - (vector-z-quaternion! - (new 'stack-no-clear 'vector) - (-> self control quat) + (let* ((f0-7 (vector-length gp-2)) + (f1-1 f0-7) + (f2-0 46917.434) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-0) + (vector-float*! gp-2 gp-2 (/ f0-7 f1-1)) + ) ) - (the-as float (-> *TARGET-bank* yellow-projectile-speed)) - ) - (if - (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) - 16 - 0 - ) - #f ) - (-> gp-3 ppointer) - ) - ) - (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) - (let ((gp-4 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-4) 30) - (suspend) - ) - ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! - (-> gp-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 86)) - ) - (set! - (-> gp-5 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 86)) - data - 0 - length + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) + ) + (let ((gp-3 (get-process *default-dead-pool* projectile-yellow #x4000))) + (when gp-3 + (let ((t9-9 (method-of-type projectile-yellow activate))) + (t9-9 (the-as projectile-yellow gp-3) self 'projectile-yellow (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-3 + projectile-init-by-other + (-> self entity) + (-> self control unknown-vector90) + (vector-float*! + (new 'stack-no-clear 'vector) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control quat)) + (the-as float (-> *TARGET-bank* yellow-projectile-speed)) + ) + (if (>= (-> self fact-info-target eco-level) (-> *FACT-bank* eco-level-max)) + 16 + 0 + ) + #f + ) + (-> gp-3 ppointer) ) - -1 - ) ) - ) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-frame-num 0)) - (joint-control-channel-group! - gp-5 - (the-as art-joint-anim (-> self draw art-group data 86)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! - (-> a0-22 param 0) - (the float (+ (-> a0-22 frame-group data 0 length) -1)) + (set! (-> self control unknown-dword82) (-> *display* base-frame-counter)) + (let ((gp-4 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-4) 30) + (suspend) + ) ) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! - a0-22 - (the-as art-joint-anim #f) - num-func-seek! + (let ((gp-5 (-> self skel root-channel 0))) + (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 86))) + (set! (-> gp-5 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 86)) data 0 length) -1)) + ) + (set! (-> gp-5 param 1) 1.0) + (set! (-> gp-5 frame-num) (ja-frame-num 0)) + (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 86)) num-func-seek!) ) - ) + (until (ja-done? 0) + (suspend) + (let ((a0-22 (-> self skel root-channel 0))) + (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) + (set! (-> a0-22 param 1) 1.0) + (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (if (logtest? (-> self control status) 1) + (go target-stance) + (go target-falling #f) + ) + (none) ) - (if (logtest? (-> self control status) 1) - (go target-stance) - (go target-falling #f) - ) - (none) - ) :post target-no-stick-post ) @@ -3218,166 +2114,97 @@ :exit target-exit :trans - (behavior () - (slide-down-test) - (none) - ) + (behavior () (slide-down-test) (none)) :code (behavior ((arg0 object) (arg1 float)) - (set! (-> self neck flex-blend) 0.0) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (if (= arg1 (-> *FACT-bank* eco-full-inc)) - (set! (-> self control unknown-surface00) *double-jump-mods*) - (set! (-> self control unknown-surface00) *walk-mods*) - ) - (ja-channel-push! 1 15) - (let ((s5-0 (-> self skel root-channel 0))) - (set! - (-> s5-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 87)) - ) - (set! - (-> s5-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 87)) - data - 0 - length + (set! (-> self neck flex-blend) 0.0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (if (= arg1 (-> *FACT-bank* eco-full-inc)) + (set! (-> self control unknown-surface00) *double-jump-mods*) + (set! (-> self control unknown-surface00) *walk-mods*) ) - -1 - ) + (ja-channel-push! 1 15) + (let ((s5-0 (-> self skel root-channel 0))) + (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 87))) + (set! (-> s5-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 87)) data 0 length) -1)) + ) + (set! (-> s5-0 param 1) (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) + 2.0 + 3.0 + ) + ) + ) + (set! (-> s5-0 frame-num) (ja-aframe + (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) + (-> (new 'static 'array int32 1 0) 0) + 6.0 + ) + ) + 0 + ) + ) + (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 87)) num-func-seek!) ) - ) - (set! - (-> s5-0 param 1) - (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) - 2.0 - 3.0 + (until (ja-done? 0) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) ) - ) - ) - (set! - (-> s5-0 frame-num) - (ja-aframe (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) - (-> (new 'static 'array int32 1 0) 0) - 6.0 - ) - ) - 0 - ) - ) - (joint-control-channel-group! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 87)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (zero? (logand (-> self water flags) 512)) + (zero? (logand (-> self state-flags) 2048)) + ) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons circle) + ) + (can-feet?) + ) + (go target-attack-air #f) ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) + (when (can-hands? #f) + (if (and (= (-> self fact-info-target eco-type) 1) (>= (-> self fact-info-target eco-level) 1.0)) + (go target-yellow-jump-blast) + (go target-running-attack) + ) ) - (pad-buttons x) - ) - (zero? (logand (-> self water flags) 512)) - (zero? (logand (-> self state-flags) 2048)) - ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) - ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 + (TODO-RENAME-9 (-> self align)) + (TODO-RENAME-10 + (-> self align) + 2 + (the-as float 1.0) + (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) + 2.0 + 1.0 + ) + ) + (the-as float 1.0) + ) + (suspend) + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 param 0) (the float (+ (-> a0-30 frame-group data 0 length) -1))) + (set! (-> a0-30 param 1) (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) + 2.0 + 3.0 + ) + ) + ) + (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) ) - (pad-buttons circle) - ) - (can-feet?) ) - (go target-attack-air #f) - ) - (when (can-hands? #f) - (if - (and - (= (-> self fact-info-target eco-type) 1) - (>= (-> self fact-info-target eco-level) 1.0) - ) - (go target-yellow-jump-blast) - (go target-running-attack) - ) - ) - (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 - (-> self align) - 2 - (the-as float 1.0) - (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) - 2.0 - 1.0 - ) - ) - (the-as float 1.0) - ) - (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! - (-> a0-30 param 0) - (the float (+ (-> a0-30 frame-group data 0 length) -1)) - ) - (set! - (-> a0-30 param 1) - (the-as float (if (= arg1 (-> *FACT-bank* eco-full-inc)) - 2.0 - 3.0 - ) - ) - ) - (joint-control-channel-group-eval! - a0-30 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + (go target-falling 'target-eco-powerup) + (none) ) - (go target-falling 'target-eco-powerup) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -3388,144 +2215,76 @@ target-standard-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-surface00) *wade-mods*) - (set-zero! (-> self water bob)) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-surface00) *wade-mods*) + (set-zero! (-> self water bob)) + (none) + ) :exit (behavior () - (target-state-hook-exit) - (target-exit) - (let ((v1-1 (-> self skel effect))) - (set! (-> v1-1 channel-offset) 0) + (target-state-hook-exit) + (target-exit) + (let ((v1-1 (-> self skel effect))) + (set! (-> v1-1 channel-offset) 0) + ) + 0 + (none) ) - 0 - (none) - ) :trans (behavior () - ((-> self state-hook)) - (when - (and - (zero? (logand (-> self water flags) 1024)) - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self water wade-time)) - ) - 15 + ((-> self state-hook)) + (when (and + (zero? (logand (-> self water flags) 1024)) + (>= (- (-> *display* base-frame-counter) (the-as int (-> self water wade-time))) 15) + ) + (if (logtest? (-> self water flags) 2048) + (go target-swim-stance) + (go target-stance) + ) ) - ) - (if (logtest? (-> self water flags) 2048) - (go target-swim-stance) - (go target-stance) - ) - ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons l1 r1) - ) - (can-duck?) - ) - (go target-duck-stance) - ) - (if - (!= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (go target-wade-walk) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons l1 r1) + ) + (can-duck?) + ) + (go target-duck-stance) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 + (if (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (go target-wade-walk) ) - ) - (pad-buttons x) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + ) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) + ) + (when (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons circle) + ) + (can-feet?) + ) + (sound-play-by-name (static-sound-name "swim-stroke") (new-sound-id) 1024 0 0 1 #t) + (dummy-13 (-> self water) (the-as float 1.4) (-> self control trans) 0 (-> self control transv)) + (go target-attack) ) - (can-jump? #f) - ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) + (if (can-hands? #t) + (go target-running-attack) + ) + (none) ) - (when - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons circle) - ) - (can-feet?) - ) - (sound-play-by-name - (static-sound-name "swim-stroke") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (dummy-13 - (-> self water) - (the-as float 1.4) - (-> self control trans) - 0 - (-> self control transv) - ) - (go target-attack) - ) - (if (can-hands? #t) - (go target-running-attack) - ) - (none) - ) :code (-> target-stance code) :post @@ -3542,548 +2301,353 @@ (-> target-wade-stance exit) :trans (behavior () - ((-> self state-hook)) - (when - (and - (zero? (logand (-> self water flags) 1024)) - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self water wade-time)) - ) - 30 + ((-> self state-hook)) + (when (and + (zero? (logand (-> self water flags) 1024)) + (>= (- (-> *display* base-frame-counter) (the-as int (-> self water wade-time))) 30) + ) + (if (logtest? (-> self water flags) 2048) + (go target-swim-stance) + (go target-stance) + ) ) - ) - (if (logtest? (-> self water flags) 2048) - (go target-swim-stance) - (go target-stance) - ) - ) - (if - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (go target-wade-stance) - ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons l1 r1) - ) - (can-duck?) - ) - (go target-duck-walk) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (go target-wade-stance) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons l1 r1) + ) + (can-duck?) + ) + (go target-duck-walk) ) - ) - (pad-buttons x) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + ) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) + ) + (when (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons circle) + ) + (can-feet?) + ) + (sound-play-by-name (static-sound-name "swim-stroke") (new-sound-id) 1024 0 0 1 #t) + (dummy-13 (-> self water) (the-as float 1.4) (-> self control trans) 0 (-> self control transv)) + (go target-attack) ) - (can-jump? #f) - ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) + (if (can-hands? #t) + (go target-running-attack) + ) + (none) ) - (when - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons circle) - ) - (can-feet?) - ) - (sound-play-by-name - (static-sound-name "swim-stroke") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (dummy-13 - (-> self water) - (the-as float 1.4) - (-> self control trans) - 0 - (-> self control transv) - ) - (go target-attack) - ) - (if (can-hands? #t) - (go target-running-attack) - ) - (none) - ) :code (behavior () - (let ((gp-0 105) - (f30-0 0.0) - ) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((gp-0 105) + (f30-0 0.0) + ) + (let ((v1-2 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (cond + ((or (= v1-2 (-> self draw art-group data 23)) (= v1-2 (-> self draw art-group data 18))) + (set! gp-0 15) + (set! f30-0 (ja-frame-num 0)) + ) + ((let ((v1-9 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) ) - ) - ) - (cond - ((or - (= v1-2 (-> self draw art-group data 23)) - (= v1-2 (-> self draw art-group data 18)) - ) - (set! gp-0 15) - (set! f30-0 (ja-frame-num 0)) - ) - ((let ((v1-9 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (or (= v1-9 (-> self draw art-group data 34)) (= v1-9 (-> self draw art-group data 38))) ) - (or - (= v1-9 (-> self draw art-group data 34)) - (= v1-9 (-> self draw art-group data 38)) - ) - ) - (set! gp-0 30) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (set! gp-0 30) ) - (-> self draw art-group data 92) - ) - (set! gp-0 120) - ) - ) - ) - (cond - ((and (= (ja-group-size) 6) (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 89) - ) - ) - ) - (else - (ja-channel-push! 6 gp-0) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 dist) (-> *TARGET-bank* wade-shallow-walk-cycle-dist)) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 89)) - num-func-identity - ) - (set! (-> gp-1 frame-num) f30-0) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (set! (-> gp-2 dist) (-> *TARGET-bank* wade-deep-walk-cycle-dist)) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 90)) - num-func-identity - ) - (set! (-> gp-2 frame-num) f30-0) - ) - (let ((gp-3 (-> self skel root-channel 2))) - (set! (-> gp-3 frame-interp) 0.0) - (set! (-> gp-3 dist) (-> *TARGET-bank* walk-cycle-dist)) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 23)) - num-func-identity - ) - (set! (-> gp-3 frame-num) f30-0) - ) - (let ((gp-4 (-> self skel root-channel 3))) - (set! (-> gp-4 frame-interp) 0.0) - (set! (-> gp-4 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 25)) - num-func-identity - ) - (set! (-> gp-4 frame-num) f30-0) - ) - (let ((gp-5 (-> self skel root-channel 4))) - (set! (-> gp-5 frame-interp) 0.0) - (set! (-> gp-5 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (joint-control-channel-group-eval! - gp-5 - (the-as art-joint-anim (-> self draw art-group data 27)) - num-func-identity - ) - (set! (-> gp-5 frame-num) f30-0) - ) - ) - ) - ) - (set! (-> self skel root-channel 2 command) 'push) - (set! (-> self skel root-channel 5 command) 'stack) - (let ((f30-1 0.0) - (f28-0 0.0) - (f26-0 - (lerp-scale - (the-as float 1.0) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (-> self control unknown-float01) - (the-as float 16384.0) - (the-as float 32768.0) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 92) + ) + (set! gp-0 120) ) ) - (gp-6 0) - ) - (while #t - (let - ((f0-10 (fmax -1.0 (fmin 1.0 (* 2.0 (-> self control unknown-float61))))) - (f24-0 (fmax -1.0 (fmin 1.0 (* 1.6 (-> self control unknown-float62))))) - ) - (let ((f1-4 (fabs (- f0-10 f30-1)))) - (set! f30-1 (seek f30-1 f0-10 (fmax 0.05 (fmin 0.2 (* 0.25 f1-4))))) - ) - (let ((f0-14 (fabs (- f24-0 f28-0)))) - (set! f28-0 (seek f28-0 f24-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-14))))) - ) - ) - (let ((v1-84 (-> self skel root-channel 3))) - (set! (-> v1-84 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (set! - (-> v1-84 frame-group) - (the-as art-joint-anim (-> self draw art-group data 25)) - ) - ) - (cond - ((>= f30-1 0.0) - (let ((v1-87 (-> self skel root-channel 3))) - (set! (-> v1-87 frame-interp) (fabs f30-1)) - (set! (-> v1-87 dist) (-> *TARGET-bank* walk-up-cycle-dist)) - (set! - (-> v1-87 frame-group) - (the-as art-joint-anim (-> self draw art-group data 24)) - ) ) - ) - (else - (let ((v1-90 (-> self skel root-channel 3))) - (set! (-> v1-90 frame-interp) (fabs f30-1)) - (set! (-> v1-90 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (set! - (-> v1-90 frame-group) - (the-as art-joint-anim (-> self draw art-group data 25)) - ) - ) - ) - ) - (cond - ((>= f28-0 0.0) - (let ((v1-93 (-> self skel root-channel 4))) - (set! (-> v1-93 frame-interp) (fabs f28-0)) - (set! (-> v1-93 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! - (-> v1-93 frame-group) - (the-as art-joint-anim (-> self draw art-group data 26)) - ) - ) - ) - (else - (let ((v1-96 (-> self skel root-channel 4))) - (set! (-> v1-96 frame-interp) (fabs f28-0)) - (set! (-> v1-96 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! - (-> v1-96 frame-group) - (the-as art-joint-anim (-> self draw art-group data 27)) - ) - ) - ) - ) - (let* ((f0-30 (- (-> self water height) (-> self control trans y))) - (f24-1 - (lerp-scale - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (the-as float 1.0) - f0-30 - (lerp - (-> self water wade-height) - (-> self water swim-height) - (the-as float 0.25) - ) - (lerp - (-> self water wade-height) - (-> self water swim-height) - (the-as float 0.75) - ) + (cond + ((and (= (ja-group-size) 6) (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 89) + ) ) + ) + (else + (ja-channel-push! 6 gp-0) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 dist) (-> *TARGET-bank* wade-shallow-walk-cycle-dist)) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 89)) + num-func-identity + ) + (set! (-> gp-1 frame-num) f30-0) + ) + (let ((gp-2 (-> self skel root-channel 1))) + (set! (-> gp-2 dist) (-> *TARGET-bank* wade-deep-walk-cycle-dist)) + (joint-control-channel-group-eval! + gp-2 + (the-as art-joint-anim (-> self draw art-group data 90)) + num-func-identity + ) + (set! (-> gp-2 frame-num) f30-0) + ) + (let ((gp-3 (-> self skel root-channel 2))) + (set! (-> gp-3 frame-interp) 0.0) + (set! (-> gp-3 dist) (-> *TARGET-bank* walk-cycle-dist)) + (joint-control-channel-group-eval! + gp-3 + (the-as art-joint-anim (-> self draw art-group data 23)) + num-func-identity + ) + (set! (-> gp-3 frame-num) f30-0) + ) + (let ((gp-4 (-> self skel root-channel 3))) + (set! (-> gp-4 frame-interp) 0.0) + (set! (-> gp-4 dist) (-> *TARGET-bank* walk-down-cycle-dist)) + (joint-control-channel-group-eval! + gp-4 + (the-as art-joint-anim (-> self draw art-group data 25)) + num-func-identity + ) + (set! (-> gp-4 frame-num) f30-0) + ) + (let ((gp-5 (-> self skel root-channel 4))) + (set! (-> gp-5 frame-interp) 0.0) + (set! (-> gp-5 dist) (-> *TARGET-bank* walk-side-cycle-dist)) + (joint-control-channel-group-eval! + gp-5 + (the-as art-joint-anim (-> self draw art-group data 27)) + num-func-identity + ) + (set! (-> gp-5 frame-num) f30-0) + ) + ) + ) + ) + (set! (-> self skel root-channel 2 command) 'push) + (set! (-> self skel root-channel 5 command) 'stack) + (let ((f30-1 0.0) + (f28-0 0.0) + (f26-0 (lerp-scale + (the-as float 1.0) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (-> self control unknown-float01) + (the-as float 16384.0) + (the-as float 32768.0) + ) + ) + (gp-6 0) + ) + (while #t + (let ((f0-10 (fmax -1.0 (fmin 1.0 (* 2.0 (-> self control unknown-float61))))) + (f24-0 (fmax -1.0 (fmin 1.0 (* 1.6 (-> self control unknown-float62))))) + ) + (let ((f1-4 (fabs (- f0-10 f30-1)))) + (set! f30-1 (seek f30-1 f0-10 (fmax 0.05 (fmin 0.2 (* 0.25 f1-4))))) + ) + (let ((f0-14 (fabs (- f24-0 f28-0)))) + (set! f28-0 (seek f28-0 f24-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-14))))) + ) + ) + (let ((v1-84 (-> self skel root-channel 3))) + (set! (-> v1-84 dist) (-> *TARGET-bank* walk-down-cycle-dist)) + (set! (-> v1-84 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) + ) + (cond + ((>= f30-1 0.0) + (let ((v1-87 (-> self skel root-channel 3))) + (set! (-> v1-87 frame-interp) (fabs f30-1)) + (set! (-> v1-87 dist) (-> *TARGET-bank* walk-up-cycle-dist)) + (set! (-> v1-87 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) + ) + ) + (else + (let ((v1-90 (-> self skel root-channel 3))) + (set! (-> v1-90 frame-interp) (fabs f30-1)) + (set! (-> v1-90 dist) (-> *TARGET-bank* walk-down-cycle-dist)) + (set! (-> v1-90 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) + ) + ) + ) + (cond + ((>= f28-0 0.0) + (let ((v1-93 (-> self skel root-channel 4))) + (set! (-> v1-93 frame-interp) (fabs f28-0)) + (set! (-> v1-93 dist) (-> *TARGET-bank* walk-side-cycle-dist)) + (set! (-> v1-93 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) + ) + ) + (else + (let ((v1-96 (-> self skel root-channel 4))) + (set! (-> v1-96 frame-interp) (fabs f28-0)) + (set! (-> v1-96 dist) (-> *TARGET-bank* walk-side-cycle-dist)) + (set! (-> v1-96 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) + ) + ) + ) + (let* ((f0-30 (- (-> self water height) (-> self control trans y))) + (f24-1 (lerp-scale + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 1.0) + f0-30 + (lerp (-> self water wade-height) (-> self water swim-height) (the-as float 0.25)) + (lerp (-> self water wade-height) (-> self water swim-height) (the-as float 0.75)) + ) + ) + ) + (let ((v1-108 (-> self skel effect))) + (set! (-> v1-108 channel-offset) (if (< 0.5 f24-1) + 1 + 0 + ) + ) + ) + 0 + (set! f26-0 (seek + f26-0 + (lerp-scale + (the-as float 1.0) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (-> self control unknown-float01) + (the-as float 16384.0) + (the-as float 32768.0) + ) + (* 4.0 (-> *display* seconds-per-frame)) + ) + ) + (set! (-> self skel root-channel 1 frame-interp) f24-1) + (let ((s5-2 (-> self skel root-channel 0))) + (set! (-> s5-2 param 0) (/ (-> self control unknown-float01) + (* 60.0 (/ (dummy-9 (-> self skel)) (-> *TARGET-bank* run-cycle-length))) + ) + ) + (joint-control-channel-group-eval! s5-2 (the-as art-joint-anim #f) num-func-loop!) + ) + (let ((s5-3 (-> self skel root-channel 5))) + (set! (-> s5-3 frame-interp) (lerp f26-0 (the-as float (-> (new 'static 'array int32 1 0) 0)) f24-1)) + ) + ) + (let ((a0-66 (-> self skel root-channel 1))) + (set! (-> a0-66 param 0) 0.0) + (joint-control-channel-group-eval! a0-66 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-67 (-> self skel root-channel 2))) + (set! (-> a0-67 param 0) 0.0) + (joint-control-channel-group-eval! a0-67 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-68 (-> self skel root-channel 3))) + (set! (-> a0-68 param 0) 0.0) + (joint-control-channel-group-eval! a0-68 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-69 (-> self skel root-channel 4))) + (set! (-> a0-69 param 0) 0.0) + (joint-control-channel-group-eval! a0-69 (the-as art-joint-anim #f) num-func-chan) + ) + (when (and + (>= (- (-> *display* base-frame-counter) gp-6) 60) + (< (- (-> self water height) (-> self control trans y)) 4096.0) + ) + (case (the int (ja-aframe-num 0)) + ((15 16 17 18) + (dummy-13 + (-> self water) + (the-as float 0.2) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 75)) + 0 + (vector-float*! (new 'stack-no-clear 'vector) (-> self control transv) 2.5) + ) + (set! gp-6 (-> *display* base-frame-counter)) + ) + ((46 47 48 49) + (dummy-13 + (-> self water) + (the-as float 0.2) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 71)) + 0 + (vector-float*! (new 'stack-no-clear 'vector) (-> self control transv) 2.5) + ) + (set! gp-6 (-> *display* base-frame-counter)) ) ) - (let ((v1-108 (-> self skel effect))) - (set! (-> v1-108 channel-offset) (if (< 0.5 f24-1) - 1 - 0 - ) - ) - ) - 0 - (set! - f26-0 - (seek - f26-0 - (lerp-scale - (the-as float 1.0) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (-> self control unknown-float01) - (the-as float 16384.0) - (the-as float 32768.0) - ) - (* 4.0 (-> *display* seconds-per-frame)) - ) - ) - (set! (-> self skel root-channel 1 frame-interp) f24-1) - (let ((s5-2 (-> self skel root-channel 0))) - (set! - (-> s5-2 param 0) - (/ - (-> self control unknown-float01) - (* - 60.0 - (/ (dummy-9 (-> self skel)) (-> *TARGET-bank* run-cycle-length)) ) - ) + (suspend) ) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (let ((s5-3 (-> self skel root-channel 5))) - (set! - (-> s5-3 frame-interp) - (lerp f26-0 (the-as float (-> (new 'static 'array int32 1 0) 0)) f24-1) - ) - ) ) - (let ((a0-66 (-> self skel root-channel 1))) - (set! (-> a0-66 param 0) 0.0) - (joint-control-channel-group-eval! - a0-66 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-67 (-> self skel root-channel 2))) - (set! (-> a0-67 param 0) 0.0) - (joint-control-channel-group-eval! - a0-67 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-68 (-> self skel root-channel 3))) - (set! (-> a0-68 param 0) 0.0) - (joint-control-channel-group-eval! - a0-68 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-69 (-> self skel root-channel 4))) - (set! (-> a0-69 param 0) 0.0) - (joint-control-channel-group-eval! - a0-69 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (when - (and - (>= (- (-> *display* base-frame-counter) gp-6) 60) - (< (- (-> self water height) (-> self control trans y)) 4096.0) - ) - (case (the int (ja-aframe-num 0)) - ((15 16 17 18) - (dummy-13 - (-> self water) - (the-as float 0.2) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data 75) - ) - 0 - (vector-float*! - (new 'stack-no-clear 'vector) - (-> self control transv) - 2.5 - ) - ) - (set! gp-6 (-> *display* base-frame-counter)) - ) - ((46 47 48 49) - (dummy-13 - (-> self water) - (the-as float 0.2) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data 71) - ) - 0 - (vector-float*! - (new 'stack-no-clear 'vector) - (-> self control transv) - 2.5 - ) - ) - (set! gp-6 (-> *display* base-frame-counter)) - ) - ) - ) - (suspend) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) ;; definition for function target-swim-tilt -(defbehavior - target-swim-tilt target - ((arg0 float) (arg1 float) (arg2 float) (arg3 float)) - (let - ((gp-0 - (vector-z-quaternion! - (new 'stack-no-clear 'vector) - (-> self control unknown-quaternion00) +(defbehavior target-swim-tilt target ((arg0 float) (arg1 float) (arg2 float) (arg3 float)) + (let ((gp-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control unknown-quaternion00)))) + (let ((v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control dir-targ))) + (f0-1 + (fmin 1.0 (* arg0 (/ (-> self control unknown-float01) (-> self control unknown-surface01 target-speed)))) + ) + ) + (set! (-> self control unknown-float130) + (seek + (-> self control unknown-float130) + (fmax (fmin (* (+ f0-1 arg2) (fmax 0.5 (+ 0.5 (vector-dot gp-0 v1-2)))) arg3) (- arg3)) + (* arg1 (-> *display* seconds-per-frame)) + ) + ) + ) + (let ((a2-2 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self control unknown-quaternion00)))) + (forward-up-nopitch->quaternion (-> self control unknown-quaternion01) gp-0 a2-2) ) - ) ) - (let - ((v1-2 - (vector-z-quaternion! - (new 'stack-no-clear 'vector) - (-> self control dir-targ) - ) - ) - (f0-1 - (fmin - 1.0 - (* - arg0 - (/ - (-> self control unknown-float01) - (-> self control unknown-surface01 target-speed) - ) - ) - ) - ) - ) - (set! - (-> self control unknown-float130) - (seek - (-> self control unknown-float130) - (fmax - (fmin (* (+ f0-1 arg2) (fmax 0.5 (+ 0.5 (vector-dot gp-0 v1-2)))) arg3) - (- arg3) - ) - (* arg1 (-> *display* seconds-per-frame)) - ) - ) - ) - (let - ((a2-2 - (vector-y-quaternion! - (new 'stack-no-clear 'vector) - (-> self control unknown-quaternion00) - ) - ) - ) - (forward-up-nopitch->quaternion - (-> self control unknown-quaternion01) - gp-0 - a2-2 - ) - ) - ) (quaternion-rotate-x! - (-> self control unknown-quaternion01) - (-> self control unknown-quaternion01) - (the-as float (if (>= (-> self control unknown-float130) 0.0) - 16384.0 - -16384.0 - ) + (-> self control unknown-quaternion01) + (-> self control unknown-quaternion01) + (the-as float (if (>= (-> self control unknown-float130) 0.0) + 16384.0 + -16384.0 + ) + ) ) - ) - (set! - (-> self control unknown-float00) - (fabs (-> self control unknown-float130)) - ) + (set! (-> self control unknown-float00) (fabs (-> self control unknown-float130))) (if (= (-> self next-state name) 'target-swim-down) - (set! - (-> self control unknown-float131) - (seek - (-> self control unknown-float131) - (the-as float -6144.0) - (* 4096.0 (-> *display* seconds-per-frame)) - ) - ) - (set! - (-> self control unknown-float131) - (seek - (-> self control unknown-float131) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (* 2048.0 (-> *display* seconds-per-frame)) - ) - ) - ) + (set! (-> self control unknown-float131) + (seek (-> self control unknown-float131) (the-as float -6144.0) (* 4096.0 (-> *display* seconds-per-frame))) + ) + (set! (-> self control unknown-float131) (seek + (-> self control unknown-float131) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (* 2048.0 (-> *display* seconds-per-frame)) + ) + ) + ) (let ((f0-20 (-> self control unknown-float131))) - (set! (-> self control unknown-vector11 y) f0-20) - f0-20 - ) + (set! (-> self control unknown-vector11 y) f0-20) + f0-20 + ) ) ;; failed to figure out what this is: @@ -4092,301 +2656,173 @@ target-standard-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-surface00) *swim-mods*) - (logior! (-> self water flags) 16) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-surface00) *swim-mods*) + (logior! (-> self water flags) 16) + (none) + ) :exit (behavior () - (target-state-hook-exit) - (set! (-> self control unknown-surface00 target-speed) 28672.0) - (target-exit) - (when - (not - (or - (= (-> self next-state name) 'target-swim-stance) - (= (-> self next-state name) 'target-swim-walk) - (= (-> self next-state name) 'target-swim-down) - (= (-> self next-state name) 'target-swim-up) + (target-state-hook-exit) + (set! (-> self control unknown-surface00 target-speed) 28672.0) + (target-exit) + (when (not (or + (= (-> self next-state name) 'target-swim-stance) + (= (-> self next-state name) 'target-swim-walk) + (= (-> self next-state name) 'target-swim-down) + (= (-> self next-state name) 'target-swim-up) + ) + ) + (quaternion-identity! (-> self control unknown-quaternion01)) + (set! (-> self control unknown-float00) 0.0) ) - ) - (quaternion-identity! (-> self control unknown-quaternion01)) - (set! (-> self control unknown-float00) 0.0) + (none) ) - (none) - ) :trans (behavior () - ((-> self state-hook)) - (if - (and - (logtest? (-> self control status) 1) - (zero? (logand (-> self control status) 1024)) - ) - (set-zero! (-> self water bob)) - ) - (when - (and - (zero? (logand (-> self water flags) 2048)) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - ) - (if (logtest? (-> self water flags) 1024) - (go target-wade-stance) - (go target-stance) - ) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + ((-> self state-hook)) + (if (and (logtest? (-> self control status) 1) (zero? (logand (-> self control status) 1024))) + (set-zero! (-> self water bob)) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons x) - ) - (can-jump? #f) - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self water enter-swim-time)) - ) - 30 - ) - ) - (go - target-swim-jump - (-> *TARGET-bank* swim-jump-height-min) - (-> *TARGET-bank* swim-jump-height-max) - ) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons square) - ) - (< (-> *TARGET-bank* min-dive-depth) (target-height-above-ground)) - ) - (go target-swim-down) - ) - (if - (and - (!= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (let ((gp-0 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (when (and + (zero? (logand (-> self water flags) 2048)) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) ) - ) - (ja-aframe-num 0) - (if - (or - (and (= gp-0 (-> self draw art-group data 96)) #t) - (and (= gp-0 (-> self draw art-group data 95)) #t) - ) - #f - #t - ) + (if (logtest? (-> self water flags) 1024) + (go target-wade-stance) + (go target-stance) + ) ) - ) - (go target-swim-walk) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + (>= (- (-> *display* base-frame-counter) (the-as int (-> self water enter-swim-time))) 30) + ) + (go target-swim-jump (-> *TARGET-bank* swim-jump-height-min) (-> *TARGET-bank* swim-jump-height-max)) + ) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons square) + ) + (< (-> *TARGET-bank* min-dive-depth) (target-height-above-ground)) + ) + (go target-swim-down) + ) + (if (and + (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (let ((gp-0 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (ja-aframe-num 0) + (if (or (and (= gp-0 (-> self draw art-group data 96)) #t) (and (= gp-0 (-> self draw art-group data 95)) #t)) + #f + #t + ) + ) + ) + (go target-swim-walk) + ) + (target-swim-tilt + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 2.0) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 1.0) + ) + (none) ) - (target-swim-tilt - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (the-as float 2.0) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (the-as float 1.0) - ) - (none) - ) :code (behavior () - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((v1-2 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) ) ) - ) - (cond - ((or - (= v1-2 (-> self draw art-group data 96)) - (= v1-2 (-> self draw art-group data 95)) - ) - (ja-channel-push! 1 22) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 97)) - ) - (set! - (-> a0-8 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 97)) - data - 0 - length + (cond + ((or (= v1-2 (-> self draw art-group data 96)) (= v1-2 (-> self draw art-group data 95))) + (ja-channel-push! 1 22) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 97))) + (set! (-> a0-8 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 97)) data 0 length) -1)) + ) + (set! (-> a0-8 param 1) + (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + 1.0 + 2.0 + ) + ) + ) + (set! (-> a0-8 frame-num) 0.0) + (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 97)) num-func-seek!) ) - -1 - ) - ) - ) - (set! - (-> a0-8 param 1) - (the-as - float - (if - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - 1.0 - 2.0 - ) - ) - ) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 97)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (let - ((v1-41 - (if - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 + (until (ja-done? 0) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (let ((v1-41 (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + 1.0 + 2.0 + ) + ) + ) + (set! (-> a0-9 param 1) (the-as float v1-41)) + ) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) ) - 1.0 - 2.0 - ) ) - ) - (set! (-> a0-9 param 1) (the-as float v1-41)) ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 92) + ) + (ja-channel-push! 1 249) + ) + (else + (ja-channel-push! 1 45) + ) + ) + ) + (while #t + (let ((gp-0 (-> self skel root-channel 0))) (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + gp-0 + (the-as art-joint-anim (-> self draw art-group data 91)) + num-func-identity ) - (-> self draw art-group data 92) - ) - (ja-channel-push! 1 249) - ) - (else - (ja-channel-push! 1 45) - ) - ) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 91)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (until - (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) - (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-21 (-> self skel root-channel 0))) - (set! - (-> a0-21 param 0) - (the float (+ (-> a0-21 frame-group data 0 length) -1)) + (set! (-> gp-0 frame-num) 0.0) ) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-seek! + (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) + (suspend) + (when (= (-> self skel root-channel 0) (-> self skel channel)) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) + (set! (-> a0-21 param 1) 1.0) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - ) ) - ) + (none) ) - (none) - ) :post target-swim-post ) @@ -4397,299 +2833,156 @@ target-standard-event-handler :enter (behavior () - ((-> target-swim-stance enter)) - (die-on-next-update! (-> self water bob)) - (set! - (-> self control unknown-uint20) - (the-as uint (-> *display* base-frame-counter)) + ((-> target-swim-stance enter)) + (die-on-next-update! (-> self water bob)) + (set! (-> self control unknown-uint20) (the-as uint (-> *display* base-frame-counter))) + (none) ) - (none) - ) :exit (-> target-swim-stance exit) :trans (behavior () - ((-> self state-hook)) - (if - (and - (logtest? (-> self control status) 1) - (zero? (logand (-> self control status) 1024)) - ) - (set-zero! (-> self water bob)) - ) - (when - (and - (zero? (logand (-> self water flags) 2048)) - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self water swim-time)) - ) - 30 - ) - ) - (if (logtest? (-> self water flags) 1024) - (go target-wade-stance) - (go target-stance) - ) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + ((-> self state-hook)) + (if (and (logtest? (-> self control status) 1) (zero? (logand (-> self control status) 1024))) + (set-zero! (-> self water bob)) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 + (when (and + (zero? (logand (-> self water flags) 2048)) + (>= (- (-> *display* base-frame-counter) (the-as int (-> self water swim-time))) 30) + ) + (if (logtest? (-> self water flags) 1024) + (go target-wade-stance) + (go target-stance) + ) + ) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + (>= (- (-> *display* base-frame-counter) (the-as int (-> self water enter-swim-time))) 30) + ) + (go target-swim-jump (-> *TARGET-bank* swim-jump-height-min) (-> *TARGET-bank* swim-jump-height-max)) ) - ) - (pad-buttons x) - ) - (can-jump? #f) - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self water enter-swim-time)) - ) - 30 - ) - ) - (go - target-swim-jump - (-> *TARGET-bank* swim-jump-height-min) - (-> *TARGET-bank* swim-jump-height-max) - ) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons square) + ) + (< (-> *TARGET-bank* min-dive-depth) (target-height-above-ground)) + ) + (go target-swim-down) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 + (cond + ((= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (if (>= (the-as uint (- (-> *display* base-frame-counter) (the-as int (-> self control unknown-uint20)))) + (the-as uint 15) + ) + (go target-swim-stance) + ) + ) + (else + (set! (-> self control unknown-uint20) (the-as uint (-> *display* base-frame-counter))) ) - ) - (pad-buttons square) ) - (< (-> *TARGET-bank* min-dive-depth) (target-height-above-ground)) - ) - (go target-swim-down) + (target-swim-tilt + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 2.0) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 1.0) + ) + (none) ) - (cond - ((= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (if - (>= - (the-as - uint - (- - (-> *display* base-frame-counter) - (the-as int (-> self control unknown-uint20)) - ) - ) - (the-as uint 15) - ) - (go target-swim-stance) - ) - ) - (else - (set! - (-> self control unknown-uint20) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - (target-swim-tilt - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (the-as float 2.0) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (the-as float 1.0) - ) - (none) - ) :code (behavior () - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((v1-2 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) ) ) - ) - (cond - ((or - (= v1-2 (-> self draw art-group data 96)) - (= v1-2 (-> self draw art-group data 95)) - (= v1-2 (-> self draw art-group data 97)) - ) - (ja-channel-push! 1 90) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 97) - ) - (ja-channel-push! 1 45) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 92)) - ) - (set! - (-> gp-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 92)) - data - 0 - length + (cond + ((or + (= v1-2 (-> self draw art-group data 96)) + (= v1-2 (-> self draw art-group data 95)) + (= v1-2 (-> self draw art-group data 97)) ) - -1 - ) + (ja-channel-push! 1 90) ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 97) + ) + (ja-channel-push! 1 45) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 92))) + (set! (-> gp-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 92)) data 0 length) -1)) + ) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) (ja-aframe (the-as float 19.0) 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 92)) num-func-seek!) + ) + (until (ja-done? 0) + (TODO-RENAME-9 (-> self align)) + (if (zero? (logand (-> self align flags) 1)) + (set! (-> self control unknown-surface00 target-speed) + (* (-> self align delta trans z) (-> self control unknown-surface01 alignv) (-> *display* frames-per-second)) + ) + ) + (suspend) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) + (set! (-> a0-19 param 1) 1.0) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (ja-channel-push! 1 45) + ) ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 19.0) 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 92)) - num-func-seek! + ) + (while #t + (let ((a0-22 (-> self skel root-channel 0))) + (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 92))) + (set! (-> a0-22 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 92)) data 0 length) -1)) + ) + (set! (-> a0-22 param 1) 1.0) + (set! (-> a0-22 frame-num) 0.0) + (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 92)) num-func-seek!) ) - ) (until (ja-done? 0) - (TODO-RENAME-9 (-> self align)) - (if (zero? (logand (-> self align flags) 1)) - (set! - (-> self control unknown-surface00 target-speed) - (* - (-> self align delta trans z) - (-> self control unknown-surface01 alignv) - (-> *display* frames-per-second) + (TODO-RENAME-9 (-> self align)) + (if (zero? (logand (-> self align flags) 1)) + (set! (-> self control unknown-surface00 target-speed) + (* (-> self align delta trans z) (-> self control unknown-surface01 alignv) (-> *display* frames-per-second)) + ) + ) + (suspend) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) + (set! (-> a0-24 param 1) 1.0) + (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) ) - ) ) - (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 param 0) - (the float (+ (-> a0-19 frame-group data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - (else - (ja-channel-push! 1 45) - ) - ) + (none) ) - (while #t - (let ((a0-22 (-> self skel root-channel 0))) - (set! - (-> a0-22 frame-group) - (the-as art-joint-anim (-> self draw art-group data 92)) - ) - (set! - (-> a0-22 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 92)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-22 param 1) 1.0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! - a0-22 - (the-as art-joint-anim (-> self draw art-group data 92)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (TODO-RENAME-9 (-> self align)) - (if (zero? (logand (-> self align flags) 1)) - (set! - (-> self control unknown-surface00 target-speed) - (* - (-> self align delta trans z) - (-> self control unknown-surface01 alignv) - (-> *display* frames-per-second) - ) - ) - ) - (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 param 0) - (the float (+ (-> a0-24 frame-group data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! - a0-24 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (none) - ) :post target-swim-post ) @@ -4698,344 +2991,236 @@ (defstate target-swim-down (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack 'attack-invinc) - (let ((v1-2 (the-as attack-info (-> arg3 param 1)))) - (when - (or - (zero? (logand (-> v1-2 mask) 32)) - (= (-> v1-2 mode) 'generic) - (= (-> v1-2 mode) 'drown) + (case arg2 + (('attack 'attack-invinc) + (let ((v1-2 (the-as attack-info (-> arg3 param 1)))) + (when (or (zero? (logand (-> v1-2 mask) 32)) (= (-> v1-2 mode) 'generic) (= (-> v1-2 mode) 'drown)) + (set! (-> v1-2 mode) 'damage) + (if (and (= (-> self game mode) 'play) (>= 1.0 (-> self fact-info-target health))) + (set! (-> v1-2 mode) 'drown-death) + ) + (logior! (-> v1-2 mask) 32) + (set! (-> self control unknown-uint20) (the-as uint #t)) + ) ) - (set! (-> v1-2 mode) 'damage) - (if - (and - (= (-> self game mode) 'play) - (>= 1.0 (-> self fact-info-target health)) - ) - (set! (-> v1-2 mode) 'drown-death) - ) - (logior! (-> v1-2 mask) 32) - (set! (-> self control unknown-uint20) (the-as uint #t)) - ) ) ) + (target-standard-event-handler arg0 arg1 arg2 arg3) ) - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self water flags) (logand -17 (-> self water flags))) - (set! (-> self control unknown-surface00) *dive-mods*) - (set! (-> self control dynam gravity-max) 16384.0) - (set! (-> self control dynam gravity-length) 16384.0) - (set! - (-> self water swim-time) - (the-as uint (-> *display* base-frame-counter)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self water flags) (logand -17 (-> self water flags))) + (set! (-> self control unknown-surface00) *dive-mods*) + (set! (-> self control dynam gravity-max) 16384.0) + (set! (-> self control dynam gravity-length) 16384.0) + (set! (-> self water swim-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> self control unknown-uint20) (the-as uint #f)) + (if (= (-> self next-state name) 'target-swim-down) + (set! (-> self control unknown-float130) 0.0) + ) + (none) ) - (set! (-> self control unknown-uint20) (the-as uint #f)) - (if (= (-> self next-state name) 'target-swim-down) - (set! (-> self control unknown-float130) 0.0) - ) - (none) - ) :exit (behavior () - (set! - (-> self control dynam gravity-max) - (-> self control unknown-dynamics00 gravity-max) - ) - (set! - (-> self control dynam gravity-length) - (-> self control unknown-dynamics00 gravity-length) - ) - (target-exit) - (when - (not - (or - (= (-> self next-state name) 'target-swim-stance) - (= (-> self next-state name) 'target-swim-walk) - (= (-> self next-state name) 'target-swim-down) - (= (-> self next-state name) 'target-swim-up) + (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) + (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) + (target-exit) + (when (not (or + (= (-> self next-state name) 'target-swim-stance) + (= (-> self next-state name) 'target-swim-walk) + (= (-> self next-state name) 'target-swim-down) + (= (-> self next-state name) 'target-swim-up) + ) + ) + (quaternion-identity! (-> self control unknown-quaternion01)) + (set! (-> self control unknown-float00) 0.0) ) - ) - (quaternion-identity! (-> self control unknown-quaternion01)) - (set! (-> self control unknown-float00) 0.0) + (none) ) - (none) - ) :trans (behavior () - (if - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self water swim-time)) + (if (>= (- (-> *display* base-frame-counter) (the-as int (-> self water swim-time))) 150) + (go target-stance) + ) + (cond + ((>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) 30) + (set! (-> self control unknown-surface00) *dive-mods*) + (if (= (-> self next-state name) 'target-swim-down) + (target-swim-tilt + (the-as float -0.9) + (the-as float 1.0) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 0.5) + ) + ) + ) + (else + (set! (-> self control unknown-surface00) *dive-bottom-mods*) + (if (or (= (-> self next-state name) 'target-swim-down) (= (-> self next-state name) 'target-swim-stance)) + (target-swim-tilt + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 2.0) + (the-as float -1.0) + (the-as float 1.0) + ) + ) + ) ) - 150 - ) - (go target-stance) + (none) ) - (cond - ((>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - 30 - ) - (set! (-> self control unknown-surface00) *dive-mods*) - (if (= (-> self next-state name) 'target-swim-down) - (target-swim-tilt - (the-as float -0.9) - (the-as float 1.0) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (the-as float 0.5) - ) - ) - ) - (else - (set! (-> self control unknown-surface00) *dive-bottom-mods*) - (if - (or - (= (-> self next-state name) 'target-swim-down) - (= (-> self next-state name) 'target-swim-stance) - ) - (target-swim-tilt - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (the-as float 2.0) - (the-as float -1.0) - (the-as float 1.0) - ) - ) - ) - ) - (none) - ) :code (behavior () - (let ((gp-0 60) - (s5-0 3000) - (f30-0 0.0) - ) - (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (let ((gp-0 60) + (s5-0 3000) + (f30-0 0.0) ) - (set! f30-0 (cond - ((or - (= v1-2 (-> self draw art-group data 91)) - (= v1-2 (-> self draw art-group data 92)) - (= v1-2 (-> self draw art-group data 97)) - (= v1-2 (-> self draw art-group data 96)) - (= v1-2 (-> self draw art-group data 95)) - ) - (ja-channel-push! 1 22) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data 93)) - ) - (set! - (-> a0-17 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 93)) - data - 0 - length - ) - -1 + (let ((v1-2 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (set! f30-0 + (cond + ((or + (= v1-2 (-> self draw art-group data 91)) + (= v1-2 (-> self draw art-group data 92)) + (= v1-2 (-> self draw art-group data 97)) + (= v1-2 (-> self draw art-group data 96)) + (= v1-2 (-> self draw art-group data 95)) + ) + (ja-channel-push! 1 22) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 93))) + (set! (-> a0-17 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 93)) data 0 length) -1)) + ) + (set! (-> a0-17 param 1) 1.0) + (set! (-> a0-17 frame-num) 0.0) + (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 93)) num-func-seek!) + ) + (until (ja-done? 0) + (TODO-RENAME-9 (-> self align)) + (TODO-RENAME-10 (-> self align) 6 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) + (if (= (ja-aframe-num 0) 73.0) + (dummy-13 (-> self water) (the-as float 0.7) (-> self control trans) 1 *null-vector*) ) - ) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as art-joint-anim (-> self draw art-group data 93)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 - (-> self align) - 6 - (the-as float 1.0) - (the-as float 1.0) - (the-as float 1.0) - ) - (if (= (ja-aframe-num 0) 73.0) - (dummy-13 - (-> self water) - (the-as float 0.7) - (-> self control trans) - 1 - *null-vector* - ) - ) - (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! - (-> a0-22 param 0) - (the float (+ (-> a0-22 frame-group data 0 length) -1)) - ) + (suspend) + (let ((a0-22 (-> self skel root-channel 0))) + (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! - a0-22 - (the-as art-joint-anim #f) - num-func-seek! - ) + (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! + ) + (let ((s4-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! s4-0 (the-as art-joint-anim (-> self draw art-group data 94)) num-func-identity ) - (set! (-> s4-0 frame-num) 0.0) - ) - f30-0 + (set! (-> s4-0 frame-num) 0.0) ) - (else - (case (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - + f30-0 + ) + (else + (case (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) (((-> self draw art-group data 63) - (-> self draw art-group data 66) - (-> self draw art-group data 64) - (-> self draw art-group data 67) - ) - (ja-channel-push! 1 22) - (set! gp-0 120) - (let ((s4-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim (-> self draw art-group data 94)) - num-func-identity - ) - (set! - (-> s4-1 frame-num) - (ja-aframe (the-as float 124.0) 0) - ) - ) - -16384.0 + (-> self draw art-group data 66) + (-> self draw art-group data 64) + (-> self draw art-group data 67) ) - (else (ja-channel-push! 1 22) - (let ((s4-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-2 - (the-as art-joint-anim (-> self draw art-group data 94)) - num-func-identity + (set! gp-0 120) + (let ((s4-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s4-1 + (the-as art-joint-anim (-> self draw art-group data 94)) + num-func-identity + ) + (set! (-> s4-1 frame-num) (ja-aframe (the-as float 124.0) 0)) ) - (set! (-> s4-2 frame-num) 0.0) - ) - f30-0 + -16384.0 ) + (else + (ja-channel-push! 1 22) + (let ((s4-2 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s4-2 + (the-as art-joint-anim (-> self draw art-group data 94)) + num-func-identity + ) + (set! (-> s4-2 frame-num) 0.0) + ) + f30-0 + ) ) - ) ) - ) - ) - (while #t - (if - (and - (or - (zero? - (logand - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons square) - ) - ) - (-> self control unknown-spoolanim00) + ) + ) ) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) gp-0) - ) - (go target-swim-up) - ) - (if - (or - (>= (- (-> *display* base-frame-counter) (-> self state-time)) s5-0) - (and - (logtest? (-> self control status) 1) - (and - (< (-> self water swim-depth) 8192.0) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) gp-0) - ) - ) - ) - (go target-swim-up) - ) - (let ((s4-3 (new-stack-vector0)) - (f24-0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) + (while #t + (if (and + (or + (zero? (logand + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons square) + ) + ) + (-> self control unknown-spoolanim00) + ) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) gp-0) + ) + (go target-swim-up) ) - ) - 0.0 - (vector-! - s4-3 - (-> self control transv) - (vector-float*! s4-3 (-> self control dynam gravity-normal) f24-0) - ) - (let* ((f28-0 (vector-length s4-3)) - (f26-0 f28-0) - (f24-1 (+ f24-0 f30-0)) - ) - (set! - f30-0 - (seek - f30-0 - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (* 32768.0 (-> *display* seconds-per-frame)) - ) + (if (or + (>= (- (-> *display* base-frame-counter) (-> self state-time)) s5-0) + (and + (logtest? (-> self control status) 1) + (and + (< (-> self water swim-depth) 8192.0) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) gp-0) + ) + ) + ) + (go target-swim-up) + ) + (let ((s4-3 (new-stack-vector0)) + (f24-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + ) + 0.0 + (vector-! s4-3 (-> self control transv) (vector-float*! s4-3 (-> self control dynam gravity-normal) f24-0)) + (let* ((f28-0 (vector-length s4-3)) + (f26-0 f28-0) + (f24-1 (+ f24-0 f30-0)) + ) + (set! f30-0 + (seek f30-0 (the-as float (-> (new 'static 'array int32 1 0) 0)) (* 32768.0 (-> *display* seconds-per-frame))) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f24-1) + (vector-float*! s4-3 s4-3 (/ f28-0 f26-0)) + ) + ) + ) + (suspend) + (let ((s4-4 (-> self skel root-channel 0))) + (set! (-> s4-4 param 0) (lerp-scale + (the-as float 0.4) + (the-as float 1.0) + (vector-length (-> self control transv)) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 16384.0) + ) + ) + (joint-control-channel-group-eval! s4-4 (the-as art-joint-anim #f) num-func-loop!) + ) ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f24-1 - ) - (vector-float*! s4-3 s4-3 (/ f28-0 f26-0)) - ) - ) ) - (suspend) - (let ((s4-4 (-> self skel root-channel 0))) - (set! - (-> s4-4 param 0) - (lerp-scale - (the-as float 0.4) - (the-as float 1.0) - (vector-length (-> self control transv)) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - (the-as float 16384.0) - ) - ) - (joint-control-channel-group-eval! - s4-4 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) + (none) ) - (none) - ) :post target-swim-post ) @@ -5050,222 +3235,136 @@ (-> target-swim-down exit) :trans (behavior () - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons x) + (if (and + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (pad-buttons x)) + (zero? (logand (-> self state-flags) 2048)) + (zero? (logand (-> self water flags) #x6000)) + ) + (go + target-swim-jump-jump + (-> *TARGET-bank* swim-jump-height-min) + (-> *TARGET-bank* swim-jump-height-max) + (the-as surface #f) + ) + ) + (when (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 3000) + (< (target-move-dist (the-as int (-> *TARGET-bank* stuck-time))) (-> *TARGET-bank* stuck-distance)) + ) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 2) + (set! (-> a1-1 message) 'attack) + (set! (-> a1-1 param 0) (the-as uint #f)) + (let ((a0-8 (new 'static 'attack-info :mask #x20))) + (set! (-> a0-8 mode) 'drown-death) + (set! (-> a1-1 param 1) (the-as uint a0-8)) + ) + (send-event-function self a1-1) + ) ) - (zero? (logand (-> self state-flags) 2048)) - (zero? (logand (-> self water flags) #x6000)) - ) - (go - target-swim-jump-jump - (-> *TARGET-bank* swim-jump-height-min) - (-> *TARGET-bank* swim-jump-height-max) - (the-as surface #f) - ) + ((-> target-swim-down trans)) + (none) ) - (when - (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 3000) - (< - (target-move-dist (the-as int (-> *TARGET-bank* stuck-time))) - (-> *TARGET-bank* stuck-distance) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'attack) - (set! (-> a1-1 param 0) (the-as uint #f)) - (let ((a0-8 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-8 mode) 'drown-death) - (set! (-> a1-1 param 1) (the-as uint a0-8)) - ) - (send-event-function self a1-1) - ) - ) - ((-> target-swim-down trans)) - (none) - ) :code (behavior () - (ja-channel-push! 1 30) - (let ((f30-0 1.0)) - (let ((gp-0 #t)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 95)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 95)) - data - 0 - length + (ja-channel-push! 1 30) + (let ((f30-0 1.0)) + (let ((gp-0 #t)) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 95))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 95)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 95)) num-func-seek!) ) - -1 - ) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 95)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (target-swim-tilt (the-as float (if (< 8192.0 (-> self water swim-depth)) - 0.5 - (-> (new 'static 'array int32 1 0) 0) - ) - ) - (the-as - float - 1.0 - ) - (the-as float (-> (new 'static 'array int32 1 0) 0)) (the-as float 0.1) - ) - (if - (and - (zero? (logand (-> self water flags) 4096)) - (or - (>= (ja-aframe-num 0) 222.0) - (and - (!= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed + (until (ja-done? 0) + (target-swim-tilt + (the-as float (if (< 8192.0 (-> self water swim-depth)) + 0.5 + (-> (new 'static 'array int32 1 0) 0) + ) + ) + (the-as float 1.0) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 0.1) + ) + (if (and + (zero? (logand (-> self water flags) 4096)) + (or + (>= (ja-aframe-num 0) 222.0) + (and + (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (>= (ja-aframe-num 0) 200.0) + ) + ) + ) + (goto cfg-37) + ) + (TODO-RENAME-9 (-> self align)) + (when (zero? (logand (-> self water flags) 4096)) + (logior! (-> self water flags) 16) + (set! gp-0 #f) + ) + (if gp-0 + (TODO-RENAME-10 (-> self align) 2 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) + ) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) ) - 0.0 - ) - (>= (ja-aframe-num 0) 200.0) ) - ) ) - (goto cfg-37) - ) - (TODO-RENAME-9 (-> self align)) - (when (zero? (logand (-> self water flags) 4096)) - (logior! (-> self water flags) 16) - (set! gp-0 #f) - ) - (if gp-0 - (TODO-RENAME-10 - (-> self align) - 2 - (the-as float 1.0) - (the-as float 1.0) - (the-as float 1.0) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 96)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) ) - ) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) + (while #t + (target-swim-tilt + (the-as float (if (< 8192.0 (-> self water swim-depth)) + 0.3 + (-> (new 'static 'array int32 1 0) 0) + ) + ) + (the-as float 1.0) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + (the-as float 0.1) + ) + (if (zero? (logand (-> self water flags) 4096)) + (goto cfg-37) + ) + (if (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (pad-buttons x)) + (set! f30-0 2.0) + ) + (TODO-RENAME-9 (-> self align)) + (when (logtest? (-> self water flags) 4096) + (TODO-RENAME-10 (-> self align) 2 (the-as float 1.0) (the-as float 1.0) (the-as float 1.0)) + (set! (-> self control transv y) (+ 8192.0 (* 8192.0 f30-0))) + ) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) f30-0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-loop!) + ) + (set! f30-0 (seek f30-0 (the-as float 1.0) (-> *display* seconds-per-frame))) ) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 96)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (while #t - (target-swim-tilt (the-as float (if (< 8192.0 (-> self water swim-depth)) - 0.3 - (-> (new 'static 'array int32 1 0) 0) - ) - ) - (the-as - float - 1.0 - ) - (the-as float (-> (new 'static 'array int32 1 0) 0)) (the-as float 0.1) - ) - (if (zero? (logand (-> self water flags) 4096)) - (goto cfg-37) - ) - (if - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons x) - ) - (set! f30-0 2.0) - ) - (TODO-RENAME-9 (-> self align)) - (when (logtest? (-> self water flags) 4096) - (TODO-RENAME-10 - (-> self align) - 2 - (the-as float 1.0) - (the-as float 1.0) - (the-as float 1.0) - ) - (set! (-> self control transv y) (+ 8192.0 (* 8192.0 f30-0))) - ) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) f30-0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (set! - f30-0 - (seek f30-0 (the-as float 1.0) (-> *display* seconds-per-frame)) - ) - ) + (label cfg-37) + (logior! (-> self water flags) 16) + (set! (-> self water swim-time) (the-as uint (-> *display* base-frame-counter))) + (start-bobbing! (-> self water) (the-as float -4096.0) 600 1500) + (set! (-> self water bob start-time) (+ (-> *display* base-frame-counter) -15)) + (go target-swim-stance) + (none) ) - (label cfg-37) - (logior! (-> self water flags) 16) - (set! - (-> self water swim-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (start-bobbing! (-> self water) (the-as float -4096.0) 600 1500) - (set! - (-> self water bob start-time) - (+ (-> *display* base-frame-counter) -15) - ) - (go target-swim-stance) - (none) - ) :post target-swim-post ) @@ -5280,18 +3379,18 @@ target-exit :trans (behavior () - (cond - ((< (- (-> *display* base-frame-counter) (-> self state-time)) 150) - (set! (-> self water flags) (logior #x10000 (-> self water flags))) - (set! (-> self control status) (logand -8 (-> self control status))) - ) - (else - (set! (-> self trans-hook) (-> target-jump trans)) - ) + (cond + ((< (- (-> *display* base-frame-counter) (-> self state-time)) 150) + (set! (-> self water flags) (logior #x10000 (-> self water flags))) + (set! (-> self control status) (logand -8 (-> self control status))) + ) + (else + (set! (-> self trans-hook) (-> target-jump trans)) + ) + ) + ((-> target-jump trans)) + (none) ) - ((-> target-jump trans)) - (none) - ) :code (-> target-jump code) :post @@ -5306,82 +3405,59 @@ (-> target-swim-stance enter) :exit (behavior () - ((-> target-swim-stance exit)) - (die-on-next-update! (-> self water bob)) - (set! (-> self water align-offset) 0.0) - (set! (-> self water flags) (logior #x10000 (-> self water flags))) - (none) - ) + ((-> target-swim-stance exit)) + (die-on-next-update! (-> self water bob)) + (set! (-> self water align-offset) 0.0) + (set! (-> self water flags) (logior #x10000 (-> self water flags))) + (none) + ) :code (behavior ((arg0 float) (arg1 float)) - (die-on-next-update! (-> self water bob)) - (ja-channel-push! 1 15) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 98)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) - (until - (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) - (TODO-RENAME-9 (-> self align)) - (if (zero? (logand (-> self align flags) 1)) - (+! (-> self water align-offset) (* 0.6 (-> self align delta trans y))) - ) - (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 param 0) - (the float (+ (-> a0-8 frame-group data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 2.0) + (die-on-next-update! (-> self water bob)) + (ja-channel-push! 1 15) + (let ((s4-0 (-> self skel root-channel 0))) (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (let ((f30-0 (fmax 0.0 (- (-> self water bob-offset))))) - (let ((s4-1 (new-stack-vector0))) - (let - ((f0-8 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) + s4-0 + (the-as art-joint-anim (-> self draw art-group data 98)) + num-func-identity ) - ) - 0.0 - (vector-! - s4-1 - (-> self control transv) - (vector-float*! s4-1 (-> self control dynam gravity-normal) f0-8) - ) + (set! (-> s4-0 frame-num) 0.0) ) - (let* ((f0-9 (vector-length s4-1)) - (f1-5 f0-9) - (f2-1 0.4096) + (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) + (TODO-RENAME-9 (-> self align)) + (if (zero? (logand (-> self align flags) 1)) + (+! (-> self water align-offset) (* 0.6 (-> self align delta trans y))) + ) + (suspend) + (when (= (-> self skel root-channel 0) (-> self skel channel)) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) + (set! (-> a0-8 param 1) 2.0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (let ((f30-0 (fmax 0.0 (- (-> self water bob-offset))))) + (let ((s4-1 (new-stack-vector0))) + (let ((f0-8 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! s4-1 (-> self control transv) (vector-float*! s4-1 (-> self control dynam gravity-normal) f0-8)) + ) + (let* ((f0-9 (vector-length s4-1)) + (f1-5 f0-9) + (f2-1 0.4096) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-1) + (vector-float*! s4-1 s4-1 (/ f0-9 f1-5)) ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-1 + ) ) - (vector-float*! s4-1 s4-1 (/ f0-9 f1-5)) - ) + (go target-swim-jump-jump (+ f30-0 arg0) (+ f30-0 arg1) (the-as surface #f)) ) - ) - (go target-swim-jump-jump (+ f30-0 arg0) (+ f30-0 arg1) (the-as surface #f)) + (none) ) - (none) - ) :post target-swim-post ) @@ -5392,120 +3468,77 @@ target-standard-event-handler :enter (behavior ((arg0 float)) - (set! (-> self control unknown-dword31) 0) - (set! (-> self control unknown-dword33) 0) - (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) - (set! (-> self control unknown-surface00) *walk-mods*) - (none) - ) + (set! (-> self control unknown-dword31) 0) + (set! (-> self control unknown-dword33) 0) + (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) + (set! (-> self control unknown-surface00) *walk-mods*) + (none) + ) :code (behavior ((arg0 float)) - (when (!= arg0 0.0) - (let - ((f0-5 - (the - float - (the - int - (+ - 1.0 - (/ - (- arg0 (-> *TARGET-bank* fall-far)) - (-> *TARGET-bank* fall-far-inc) - ) + (when (!= arg0 0.0) + (let ((f0-5 (the float (the int (+ 1.0 (/ (- arg0 (-> *TARGET-bank* fall-far)) (-> *TARGET-bank* fall-far-inc)))))) + ) + (pickup-collectable! + (-> self fact-info-target) + (pickup-type eco-green) + (* (-> *FACT-bank* health-single-inc) (- (fmax 0.0 f0-5))) + (the-as handle #f) ) - ) ) + (if (zero? (logand (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l3))) + (target-timed-invulnerable (-> *TARGET-bank* hit-invulnerable-timeout) self) + ) + ) + (cond + ((and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-info-target health))) + (set! (-> self attack-info attacker) (the-as handle #f)) + (go target-death 'target-hit-ground-hard) ) + (else + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 30) + (ja-channel-push! 1 1) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 36)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) + ) + (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) + (suspend) + (when (= (-> self skel root-channel 0) (-> self skel channel)) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 37)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) + ) + (until (and (ja-done? 0) (= (-> self skel root-channel 0) (-> self skel channel))) + (suspend) + (when (= (-> self skel root-channel 0) (-> self skel channel)) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) + (set! (-> a0-20 param 1) 1.0) + (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (go target-stance) + ) ) - (pickup-collectable! - (-> self fact-info-target) - (pickup-type eco-green) - (* (-> *FACT-bank* health-single-inc) (- (fmax 0.0 f0-5))) - (the-as handle #f) - ) - ) - (if (zero? (logand (-> *cpad-list* cpads 0 button0-abs 0) (pad-buttons l3))) - (target-timed-invulnerable - (-> *TARGET-bank* hit-invulnerable-timeout) - self - ) - ) + (none) ) - (cond - ((and - (= (-> self game mode) 'play) - (>= 0.0 (-> self fact-info-target health)) - ) - (set! (-> self attack-info attacker) (the-as handle #f)) - (go target-death 'target-hit-ground-hard) - ) - (else - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 30) - (ja-channel-push! 1 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 36)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (until - (and - (ja-done? 0) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) - (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 37)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (until - (and - (ja-done? 0) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) - (suspend) - (when (= (-> self skel root-channel 0) (-> self skel channel)) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 param 0) - (the float (+ (-> a0-20 frame-group data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (go target-stance) - ) - ) - (none) - ) :post target-no-stick-post ) @@ -5514,170 +3547,120 @@ (defstate target-launch (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (if (and (= arg2 'query) (= (-> arg3 param 0) 'mode)) - 'target-launch - (target-standard-event-handler arg0 arg1 arg2 arg3) + (if (and (= arg2 'query) (= (-> arg3 param 0) 'mode)) + 'target-launch + (target-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - ) :code (behavior ((arg0 float) (arg1 symbol) (arg2 vector) (arg3 int)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-surface00) *turn-around-mods*) - (ja-channel-push! 1 45) - (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) - (let ((s2-0 (-> self skel root-channel 0))) - (set! - (-> s2-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 31)) - ) - (set! (-> s2-0 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> s2-0 param 1) 3.0) - (set! (-> s2-0 frame-num) 0.0) - (joint-control-channel-group! - s2-0 - (the-as art-joint-anim (-> self draw art-group data 31)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s2-1 (-> self skel root-channel 0))) - (set! (-> s2-1 param 0) (ja-aframe (the-as float 15.0) 0)) - (set! (-> s2-1 param 1) 3.0) - (joint-control-channel-group-eval! - s2-1 - (the-as art-joint-anim #f) - num-func-seek! + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-surface00) *turn-around-mods*) + (ja-channel-push! 1 45) + (set-forward-vel (the-as float (-> (new 'static 'array int32 1 0) 0))) + (let ((s2-0 (-> self skel root-channel 0))) + (set! (-> s2-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) + (set! (-> s2-0 param 0) (ja-aframe (the-as float 15.0) 0)) + (set! (-> s2-0 param 1) 3.0) + (set! (-> s2-0 frame-num) 0.0) + (joint-control-channel-group! s2-0 (the-as art-joint-anim (-> self draw art-group data 31)) num-func-seek!) ) - ) - ) - (if arg1 - (send-event *camera* 'change-state arg1 180) - ) - (when (nonzero? arg3) - (let ((s3-1 (get-process *default-dead-pool* process #x4000))) - (when s3-1 - (let ((t9-9 (method-of-type process activate))) - (t9-9 s3-1 self 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - s3-1 - (lambda :behavior target - ((arg0 vector) (arg1 int) (arg2 float)) - (local-vars (sv-32 int) (sv-40 vector) (sv-44 symbol)) - (set! sv-32 (-> *display* base-frame-counter)) - (let ((v1-2 (new-stack-vector0))) - (set! (-> v1-2 quad) (-> arg0 quad)) - (set! sv-40 v1-2) - ) - (set! sv-44 #t) - (until (>= (- (-> *display* base-frame-counter) sv-32) arg1) - (let ((s4-0 (ppointer->process (-> self parent)))) - (cond - ((and - sv-44 - (< - (- - (-> (the-as target s4-0) control trans y) - (-> (the-as target s4-0) control unknown-vector52 y) - ) - arg2 - ) - ) - (vector-xz-normalize! - (-> (the-as target s4-0) control transv) - (the-as float (-> (new 'static 'array int32 1 0) 0)) - ) - (case (-> (the-as target s4-0) current-level name) - (('jungleb) - (let - ((v1-16 - (vector-! - (new-stack-vector0) - (-> (the-as target s4-0) control trans) - sv-40 - ) - ) - ) - (set! - (-> (the-as target s4-0) control trans x) - (+ (-> sv-40 x) (fmax -4096.0 (fmin 4096.0 (-> v1-16 x)))) - ) - (set! - (-> (the-as target s4-0) control trans z) - (+ (-> sv-40 z) (fmax -4096.0 (fmin 4096.0 (-> v1-16 z)))) - ) - ) - ) - ) - ) - (else - (if sv-44 - (set! sv-32 (-> *display* base-frame-counter)) - ) - (set! sv-44 (the-as symbol #f)) - (when - (or - (= - (-> (the-as target s4-0) next-state name) - 'target-duck-high-jump-jump - ) - (= (-> (the-as target s4-0) next-state name) 'target-falling) - ) - (let ((v1-30 (-> (the-as target s4-0) control trans)) - (s3-0 (-> (the-as target s4-0) control transv)) - ) - (set! (-> s3-0 x) (- (-> sv-40 x) (-> v1-30 x))) - (set! (-> s3-0 z) (- (-> sv-40 z) (-> v1-30 z))) - (let ((f30-0 (vector-xz-length s3-0))) - (if (< 122880.0 f30-0) - (vector-xz-normalize! s3-0 (the-as float 122880.0)) - ) - (if (< 4096.0 f30-0) - (forward-up-nopitch->quaternion - (-> (the-as target s4-0) control dir-targ) - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - s3-0 - (the-as float 1.0) - ) - (vector-y-quaternion! - (new 'stack-no-clear 'vector) - (-> (the-as target s4-0) control quat) - ) - ) - ) - ) - ) - ) - ) - ) - ) - (suspend) - 0 - ) - #f + (until (ja-done? 0) + (suspend) + (let ((s2-1 (-> self skel root-channel 0))) + (set! (-> s2-1 param 0) (ja-aframe (the-as float 15.0) 0)) + (set! (-> s2-1 param 1) 3.0) + (joint-control-channel-group-eval! s2-1 (the-as art-joint-anim #f) num-func-seek!) ) - arg2 - arg3 - (-> (new 'static 'array float 1 143360.0) 0) - ) - (-> s3-1 ppointer) ) - ) + (if arg1 + (send-event *camera* 'change-state arg1 180) + ) + (when (nonzero? arg3) + (let ((s3-1 (get-process *default-dead-pool* process #x4000))) + (when s3-1 + (let ((t9-9 (method-of-type process activate))) + (t9-9 s3-1 self 'process (the-as pointer #x70004000)) + ) + (run-next-time-in-process + s3-1 + (lambda :behavior target + ((arg0 vector) (arg1 int) (arg2 float)) + (local-vars (sv-32 int) (sv-40 vector) (sv-44 symbol)) + (set! sv-32 (-> *display* base-frame-counter)) + (let ((v1-2 (new-stack-vector0))) + (set! (-> v1-2 quad) (-> arg0 quad)) + (set! sv-40 v1-2) + ) + (set! sv-44 #t) + (until (>= (- (-> *display* base-frame-counter) sv-32) arg1) + (let ((s4-0 (ppointer->process (-> self parent)))) + (cond + ((and + sv-44 + (< (- (-> (the-as target s4-0) control trans y) (-> (the-as target s4-0) control unknown-vector52 y)) arg2) + ) + (vector-xz-normalize! + (-> (the-as target s4-0) control transv) + (the-as float (-> (new 'static 'array int32 1 0) 0)) + ) + (case (-> (the-as target s4-0) current-level name) + (('jungleb) + (let ((v1-16 (vector-! (new-stack-vector0) (-> (the-as target s4-0) control trans) sv-40))) + (set! (-> (the-as target s4-0) control trans x) (+ (-> sv-40 x) (fmax -4096.0 (fmin 4096.0 (-> v1-16 x))))) + (set! (-> (the-as target s4-0) control trans z) (+ (-> sv-40 z) (fmax -4096.0 (fmin 4096.0 (-> v1-16 z))))) + ) + ) + ) + ) + (else + (if sv-44 + (set! sv-32 (-> *display* base-frame-counter)) + ) + (set! sv-44 (the-as symbol #f)) + (when (or + (= (-> (the-as target s4-0) next-state name) 'target-duck-high-jump-jump) + (= (-> (the-as target s4-0) next-state name) 'target-falling) + ) + (let ((v1-30 (-> (the-as target s4-0) control trans)) + (s3-0 (-> (the-as target s4-0) control transv)) + ) + (set! (-> s3-0 x) (- (-> sv-40 x) (-> v1-30 x))) + (set! (-> s3-0 z) (- (-> sv-40 z) (-> v1-30 z))) + (let ((f30-0 (vector-xz-length s3-0))) + (if (< 122880.0 f30-0) + (vector-xz-normalize! s3-0 (the-as float 122880.0)) + ) + (if (< 4096.0 f30-0) + (forward-up-nopitch->quaternion + (-> (the-as target s4-0) control dir-targ) + (vector-normalize-copy! (new 'stack-no-clear 'vector) s3-0 (the-as float 1.0)) + (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> (the-as target s4-0) control quat)) + ) + ) + ) + ) + ) + ) + ) + ) + (suspend) + 0 + ) + #f + ) + arg2 + arg3 + (-> (new 'static 'array float 1 143360.0) 0) + ) + (-> s3-1 ppointer) + ) + ) + ) + (sound-play-by-name (static-sound-name "launch-fire") (new-sound-id) 1024 0 0 1 #t) + (go target-high-jump arg0 arg0 'launch) + (none) ) - (sound-play-by-name - (static-sound-name "launch-fire") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (go target-high-jump arg0 arg0 'launch) - (none) - ) :post target-no-stick-post ) @@ -5686,138 +3669,87 @@ (defstate target-periscope (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('change-mode) - #f + (case arg2 + (('change-mode) + #f + ) + (('end-mode) + (when (-> self control unknown-spoolanim00) + (set! (-> self control unknown-uint20) (the-as uint #f)) + #t + ) + ) + (else + (target-generic-event-handler arg0 arg1 arg2 arg3) + ) ) - (('end-mode) - (when (-> self control unknown-spoolanim00) - (set! (-> self control unknown-uint20) (the-as uint #f)) - #t - ) - ) - (else - (target-generic-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :exit (behavior () - (target-exit) - (set! (-> self cam-user-mode) 'normal) - (logior! (-> self state-flags) 256) - (set! (-> self state-flags) (logand -17 (-> self state-flags))) - (none) - ) + (target-exit) + (set! (-> self cam-user-mode) 'normal) + (logior! (-> self state-flags) 256) + (set! (-> self state-flags) (logand -17 (-> self state-flags))) + (none) + ) :code (behavior ((arg0 handle)) - (set! (-> self neck flex-blend) 0.0) - (target-exit) - (logior! (-> self state-flags) 144) - (let ((v1-4 (handle->process arg0))) - (if v1-4 - (quaterion<-rotate-y-vector - (-> self control dir-targ) - (vector-! - (new 'stack-no-clear 'vector) - (-> (the-as process-drawable v1-4) root trans) - (-> self control trans) - ) + (set! (-> self neck flex-blend) 0.0) + (target-exit) + (logior! (-> self state-flags) 144) + (let ((v1-4 (handle->process arg0))) + (if v1-4 + (quaterion<-rotate-y-vector (-> self control dir-targ) (vector-! + (new 'stack-no-clear 'vector) + (-> (the-as process-drawable v1-4) root trans) + (-> self control trans) + ) + ) + ) ) - ) - ) - (set! (-> self control unknown-uint20) (the-as uint #t)) - (ja-channel-push! 1 30) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 101)) - ) - (set! - (-> a0-11 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 101)) - data - 0 - length + (set! (-> self control unknown-uint20) (the-as uint #t)) + (ja-channel-push! 1 30) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 101))) + (set! (-> a0-11 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 101)) data 0 length) -1)) + ) + (set! (-> a0-11 param 1) 1.0) + (set! (-> a0-11 frame-num) 0.0) + (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 101)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (the-as art-joint-anim (-> self draw art-group data 101)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) + (send-event (handle->process arg0) 'change-mode) + (while (-> self control unknown-spoolanim00) + (suspend) ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 101))) + (set! (-> a0-16 param 0) 0.0) + (set! (-> a0-16 param 1) 2.0) + (set! (-> a0-16 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 101)) data 0 length) -1)) + ) + (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 101)) num-func-seek!) ) - ) - ) - (send-event (handle->process arg0) 'change-mode) - (while (-> self control unknown-spoolanim00) - (suspend) - ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 frame-group) - (the-as art-joint-anim (-> self draw art-group data 101)) - ) - (set! (-> a0-16 param 0) 0.0) - (set! (-> a0-16 param 1) 2.0) - (set! - (-> a0-16 frame-num) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 101)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) 0.0) + (set! (-> a0-17 param 1) 2.0) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (joint-control-channel-group! - a0-16 - (the-as art-joint-anim (-> self draw art-group data 101)) - num-func-seek! - ) + (go target-stance) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) 0.0) - (set! (-> a0-17 param 1) 2.0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go target-stance) - (none) - ) :post target-no-stick-post ) @@ -5828,65 +3760,47 @@ target-generic-event-handler :enter (behavior ((arg0 string) (arg1 handle)) - (set! (-> self control unknown-handle10) arg1) - (dummy-60 - (-> self control) - (the-as float 40960.0) - (the-as float 40960.0) - #f - (-> self control root-prim collide-with) + (set! (-> self control unknown-handle10) arg1) + (dummy-60 + (-> self control) + (the-as float 40960.0) + (the-as float 40960.0) + #f + (-> self control root-prim collide-with) + ) + (logior! (-> self state-flags) 256) + (set! (-> self neck flex-blend) 0.0) + (none) ) - (logior! (-> self state-flags) 256) - (set! (-> self neck flex-blend) 0.0) - (none) - ) :exit - (behavior () - (send-event (handle->process (-> self control unknown-handle10)) 'end-mode) - (target-exit) - (none) - ) + (behavior () (send-event (handle->process (-> self control unknown-handle10)) 'end-mode) (target-exit) (none)) :code (behavior ((arg0 string) (arg1 handle)) - (let - ((gp-0 - (the-as - art-joint-anim - (dummy-10 (-> self draw art-group) arg0 art-joint-anim) - ) - ) - ) - (when gp-0 - (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) - (ja-channel-set! 1) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) gp-0) - (set! (-> a0-4 param 0) (the float (+ (-> gp-0 data 0 length) -1))) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 gp-0 num-func-seek!) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) + (let ((gp-0 (the-as art-joint-anim (dummy-10 (-> self draw art-group) arg0 art-joint-anim)))) + (when gp-0 + (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) + (ja-channel-set! 1) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) gp-0) + (set! (-> a0-4 param 0) (the float (+ (-> gp-0 data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 gp-0 num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) - ) + (go target-stance) + (none) ) - (go target-stance) - (none) - ) :post target-no-stick-post ) @@ -5895,87 +3809,75 @@ (defstate target-clone-anim (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore)) - (set! (-> self control unknown-uint20) (the-as uint #f)) + (if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore)) + (set! (-> self control unknown-uint20) (the-as uint #f)) + ) + ((-> target-grab event) arg0 arg1 arg2 arg3) ) - ((-> target-grab event) arg0 arg1 arg2 arg3) - ) :enter (behavior ((arg0 handle)) - (set! (-> self control unknown-handle10) arg0) - (set! (-> self control unknown-vector102 quad) (-> self control trans quad)) - (set! (-> self control unknown-uint20) (the-as uint #t)) - (quaternion-copy! - (the-as quaternion (-> self control unknown-vector103)) - (-> self control quat) + (set! (-> self control unknown-handle10) arg0) + (set! (-> self control unknown-vector102 quad) (-> self control trans quad)) + (set! (-> self control unknown-uint20) (the-as uint #t)) + (quaternion-copy! (the-as quaternion (-> self control unknown-vector103)) (-> self control quat)) + (logior! (-> self state-flags) 256) + (vector-reset! (-> self control transv)) + (set! (-> self neck flex-blend) 0.0) + (send-event (ppointer->process (-> self sidekick)) 'shadow #t) + (none) ) - (logior! (-> self state-flags) 256) - (vector-reset! (-> self control transv)) - (set! (-> self neck flex-blend) 0.0) - (send-event (ppointer->process (-> self sidekick)) 'shadow #t) - (none) - ) :exit (behavior () - (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) - (send-event (ppointer->process (-> self sidekick)) 'shadow #t) - (let ((gp-0 (-> self node-list data 3)) - (a1-2 (&-> (-> self control) unknown-qword00)) + (send-event (ppointer->process (-> self sidekick)) 'matrix 'normal) + (send-event (ppointer->process (-> self sidekick)) 'shadow #t) + (let ((gp-0 (-> self node-list data 3)) + (a1-2 (&-> (-> self control) unknown-qword00)) + ) + (cond + ((not (-> self control unknown-spoolanim00)) ) - (cond - ((not (-> self control unknown-spoolanim00)) - ) - ((zero? (logand (-> self draw status) 2)) - (TODO-RENAME-30 (-> self control) (the-as vector a1-2)) - (matrix->quaternion - (-> self control unknown-quaternion00) - (-> gp-0 bone transform) - ) - (quaternion-copy! - (-> self control quat) - (-> self control unknown-quaternion00) - ) - (dummy-60 - (-> self control) - (the-as float 4096.0) - (the-as float 40960.0) - #t - (-> self control root-prim collide-with) - ) - (when (logtest? (-> self control status) 1024) - (let ((a1-6 (new-stack-vector0))) - (set! (-> a1-6 x) (-> self control trans x)) - (set! (-> a1-6 y) (-> self water height)) - (set! (-> a1-6 z) (-> self control trans z)) - (set! (-> a1-6 w) 1.0) - (TODO-RENAME-30 (-> self control) a1-6) + ((zero? (logand (-> self draw status) 2)) + (TODO-RENAME-30 (-> self control) (the-as vector a1-2)) + (matrix->quaternion (-> self control unknown-quaternion00) (-> gp-0 bone transform)) + (quaternion-copy! (-> self control quat) (-> self control unknown-quaternion00)) + (dummy-60 + (-> self control) + (the-as float 4096.0) + (the-as float 40960.0) + #t + (-> self control root-prim collide-with) + ) + (when (logtest? (-> self control status) 1024) + (let ((a1-6 (new-stack-vector0))) + (set! (-> a1-6 x) (-> self control trans x)) + (set! (-> a1-6 y) (-> self water height)) + (set! (-> a1-6 z) (-> self control trans z)) + (set! (-> a1-6 w) 1.0) + (TODO-RENAME-30 (-> self control) a1-6) + ) + ) + ) + (else + (format 0 "ERROR: : camera used backup position~%") + (TODO-RENAME-30 (-> self control) (-> self control unknown-vector102)) + (quaternion-copy! (-> self control quat) (the-as quaternion (-> self control unknown-vector103))) + ) ) - ) ) - (else - (format 0 "ERROR: : camera used backup position~%") - (TODO-RENAME-30 (-> self control) (-> self control unknown-vector102)) - (quaternion-copy! - (-> self control quat) - (the-as quaternion (-> self control unknown-vector103)) - ) - ) - ) + (rot->dir-targ! (-> self control)) + (logior! (-> self control status) 7) + (set! (-> self control unknown-dword11) (-> *display* base-frame-counter)) + (ja-channel-set! 0) + (ja-post) + (target-exit) + (none) ) - (rot->dir-targ! (-> self control)) - (logior! (-> self control status) 7) - (set! (-> self control unknown-dword11) (-> *display* base-frame-counter)) - (ja-channel-set! 0) - (ja-post) - (target-exit) - (none) - ) :code (behavior ((arg0 handle)) - (clone-anim arg0 (the-as int (-> self draw origin-joint-index)) #t "") - (go target-stance) - (none) - ) + (clone-anim arg0 (the-as int (-> self draw origin-joint-index)) #t "") + (go target-stance) + (none) + ) :post target-no-ja-move-post ) diff --git a/test/decompiler/reference/engine/target/target_REF.gc b/test/decompiler/reference/engine/target/target_REF.gc index d05b5df322..069edcffc7 100644 --- a/test/decompiler/reference/engine/target/target_REF.gc +++ b/test/decompiler/reference/engine/target/target_REF.gc @@ -4,187 +4,109 @@ ;; definition for function target-falling-anim (defbehavior target-falling-anim target ((arg0 int) (arg1 int)) (let ((v1-2 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (cond - ((or - (= v1-2 (-> self draw art-group data 38)) - (= v1-2 (-> self draw art-group data 62)) - ) - ) - ((let ((v1-8 (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - ) + ) + ) + (cond + ((or (= v1-2 (-> self draw art-group data 38)) (= v1-2 (-> self draw art-group data 62))) + ) + ((let ((v1-8 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or (= v1-8 (-> self draw art-group data 44)) (= v1-8 (-> self draw art-group data 45))) + ) + (ja-channel-push! 1 45) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 50))) + (set! (-> a0-16 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 50)) data 0 length) -1)) + ) + (set! (-> a0-16 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-16 frame-num) 0.0) + (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 50)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) + (set! (-> a0-17 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) ) - (or - (= v1-8 (-> self draw art-group data 44)) - (= v1-8 (-> self draw art-group data 45)) + ) ) - ) - (ja-channel-push! 1 45) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 frame-group) - (the-as art-joint-anim (-> self draw art-group data 50)) - ) - (set! - (-> a0-16 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 50)) - data - 0 - length + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 50) ) - -1 + (until (ja-done? 0) + (suspend) + (let ((a0-23 (-> self skel root-channel 0))) + (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) + (set! (-> a0-23 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (ja-channel-push! 1 45) ) - (set! (-> a0-16 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (the-as art-joint-anim (-> self draw art-group data 50)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 param 0) - (the float (+ (-> a0-17 frame-group data 0 length) -1)) - ) - (set! (-> a0-17 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 50) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! - (-> a0-23 param 0) - (the float (+ (-> a0-23 frame-group data 0 length) -1)) - ) - (set! (-> a0-23 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-23 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-push! 1 45) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 86) - ) - (ja-channel-push! 1 45) - (let ((s5-0 (-> self skel root-channel 0))) - (set! - (-> s5-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 34)) - ) - (set! - (-> s5-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 34)) - data - 0 - length + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 86) ) - -1 + (ja-channel-push! 1 45) + (let ((s5-0 (-> self skel root-channel 0))) + (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) + (set! (-> s5-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) + ) + (set! (-> s5-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> s5-0 frame-num) (ja-aframe (the-as float 20.0) 0)) + (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) ) + (until (ja-done? 0) + (let ((a0-33 (-> self skel root-channel 0))) + (set! (-> a0-33 param 0) (the float (+ (-> a0-33 frame-group data 0 length) -1))) + (set! (-> a0-33 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-33 (the-as art-joint-anim #f) num-func-seek!) + ) + (suspend) + ) + ) + (else + (ja-channel-push! 1 arg1) + (let ((v1-82 (-> self skel root-channel 0))) + (set! (-> v1-82 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + ) + (while (!= (-> self skel root-channel 0) (-> self skel channel)) + (suspend) + ) ) - ) - (set! (-> s5-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> s5-0 frame-num) (ja-aframe (the-as float 20.0) 0)) - (joint-control-channel-group! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 34)) - num-func-seek! - ) ) - (until (ja-done? 0) - (let ((a0-33 (-> self skel root-channel 0))) - (set! - (-> a0-33 param 0) - (the float (+ (-> a0-33 frame-group data 0 length) -1)) - ) - (set! (-> a0-33 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-33 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (suspend) - ) - ) - (else - (ja-channel-push! 1 arg1) - (let ((v1-82 (-> self skel root-channel 0))) - (set! - (-> v1-82 frame-group) - (the-as art-joint-anim (-> self draw art-group data 38)) - ) - ) - (while (!= (-> self skel root-channel 0) (-> self skel channel)) - (suspend) - ) - ) ) - ) (let ((a0-42 (-> self skel root-channel 0))) - (set! - (-> a0-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data 38)) + (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + (set! (-> a0-42 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-42 frame-num) 0.0) + (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) ) - (set! (-> a0-42 param 0) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! - a0-42 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) (let ((s5-1 (-> *display* base-frame-counter))) - (while (or (= arg0 -1) (< (- (-> *display* base-frame-counter) s5-1) arg0)) - (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! - (-> a0-43 frame-group) - (the-as art-joint-anim (-> self draw art-group data 38)) + (while (or (= arg0 -1) (< (- (-> *display* base-frame-counter) s5-1) arg0)) + (suspend) + (let ((a0-43 (-> self skel root-channel 0))) + (set! (-> a0-43 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + (set! (-> a0-43 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! + a0-43 + (the-as art-joint-anim (-> self draw art-group data 38)) + num-func-loop! + ) + ) ) - (set! (-> a0-43 param 0) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) ) - ) #f ) @@ -194,104 +116,56 @@ ;; definition for function target-falling-trans ;; INFO: Return type mismatch int vs none. (defbehavior target-falling-trans target ((arg0 basic) (arg1 cpad-list)) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons circle) + ) + (can-feet?) + ) + (go target-attack-air #f) ) - (pad-buttons circle) - ) - (can-feet?) - ) - (go target-attack-air #f) - ) (when (= arg0 'target-eco-powerup) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (zero? (logand (-> self water flags) 512)) + (< (- (-> *display* base-frame-counter) (-> self state-time)) 900) + (zero? (logand (-> self state-flags) 2048)) + ) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons x) - ) - (zero? (logand (-> self water flags) 512)) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 900) - (zero? (logand (-> self state-flags) 2048)) - ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) ) - ) (if (logtest? (-> self control status) 1) - (go target-hit-ground #f) - ) - (when - (if - (and - (< - (target-move-dist (the-as int (-> *TARGET-bank* stuck-time))) - (-> *TARGET-bank* stuck-distance) + (go target-hit-ground #f) ) - (>= (the-as int arg1) 0) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the-as int arg1) - ) - (not - (and - *cheat-mode* - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons r2) - ) - ) - ) - ) - #t + (when (if (and + (< (target-move-dist (the-as int (-> *TARGET-bank* stuck-time))) (-> *TARGET-bank* stuck-distance)) + (>= (the-as int arg1) 0) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the-as int arg1)) + (not + (and + *cheat-mode* + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons r2)) + ) + ) + ) + #t + ) + (logior! (-> self control status) 1) + (go target-hit-ground 'stuck) ) - (logior! (-> self control status) 1) - (go target-hit-ground 'stuck) - ) (if (!= (-> self state-time) (-> *display* base-frame-counter)) - (slide-down-test) - ) + (slide-down-test) + ) 0 (none) ) @@ -299,651 +173,354 @@ ;; definition for function target-hit-ground-anim (defbehavior target-hit-ground-anim target ((arg0 symbol)) (let ((v1-2 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (cond + ((or + (= v1-2 (-> self draw art-group data 63)) + (= v1-2 (-> self draw art-group data 64)) + (= v1-2 (-> self draw art-group data 66)) + (= v1-2 (-> self draw art-group data 67)) + ) + (let ((gp-0 (or + (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (< (-> self control unknown-float01) (-> (new 'static 'array float 1 61440.0) 0)) + ) + ) + (f30-0 (if (= arg0 'swim) + (-> (new 'static 'array float 1 0.4) 0) + (-> (new 'static 'array float 1 1.0) 0) + ) + ) + ) + (ja-channel-set! 1) + (let ((s5-0 (-> self skel root-channel 0))) + (set! (-> s5-0 frame-group) (the-as art-joint-anim (if gp-0 + (-> self draw art-group data 65) + (-> self draw art-group data 68) + ) + ) + ) + (set! (-> s5-0 param 0) (the float (+ (-> (the-as art-joint-anim (if gp-0 + (-> self draw art-group data 65) + (-> self draw art-group data 68) + ) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (let ((f30-1 (seek f30-0 (-> (new 'static 'array float 1 1.0) 0) (* 0.5 (-> *display* seconds-per-frame))))) + (set! (-> s5-0 param 1) f30-1) + (set! (-> s5-0 frame-num) 0.0) + (joint-control-channel-group! + s5-0 + (the-as art-joint-anim (if gp-0 + (-> self draw art-group data 65) + (-> self draw art-group data 68) + ) + ) + num-func-seek! + ) + (until (ja-done? 0) + (TODO-RENAME-9 (-> self align)) + (TODO-RENAME-10 + (-> self align) + (if gp-0 + 2 + 6 + ) + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + (the-as float 1.5) + ) + (when (and (>= 25.0 (ja-aframe-num 0)) (and + (>= (ja-aframe-num 0) 21.0) + (= (-> self next-state name) 'target-flop-hit-ground) + (!= (-> self control unknown-spoolanim00) 'stuck) + ) + ) + (set! (-> self event-hook) target-jump-event-handler) + (when (and + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons x)) + (can-jump? #f) + ) + (ja-channel-set! 0) + (go + target-high-jump + (-> *TARGET-bank* flop-jump-height-min) + (-> *TARGET-bank* flop-jump-height-max) + (if gp-0 + 'flop + 'flop-forward + ) + ) + ) + ) + (suspend) + (let ((s5-1 (-> self skel root-channel 0))) + (set! (-> s5-1 param 0) (the float (+ (-> s5-1 frame-group data 0 length) -1))) + (set! f30-1 (seek f30-1 (-> (new 'static 'array float 1 1.0) 0) (* 0.5 (-> *display* seconds-per-frame)))) + (set! (-> s5-1 param 1) f30-1) + (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + ) + #f + ) + ((and + (= (-> self control ground-pat material) (pat-material ice)) + (< 16384.0 (-> self control unknown-float01)) + ) + #f + ) + ((let ((v1-95 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or + (or + (= v1-95 (-> self draw art-group data 38)) + (= v1-95 (-> self draw art-group data 42)) + (= v1-95 (-> self draw art-group data 43)) + ) + (and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 34) + ) + (>= (ja-aframe-num 0) 38.0) + ) + ) + ) + (ja-channel-push! 1 6) + (let ((a0-35 (-> self skel root-channel 0))) + (set! (-> a0-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) + (set! (-> a0-35 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) + ) + (set! (-> a0-35 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-35 frame-num) 0.0) + (joint-control-channel-group! a0-35 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-36 (-> self skel root-channel 0))) + (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) + (set! (-> a0-36 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + #f + ) + ((and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 34) + ) + (>= (ja-aframe-num 0) 35.0) + ) + (ja-channel-set! 1) + (let ((a0-44 (-> self skel root-channel 0))) + (set! (-> a0-44 frame-group) (the-as art-joint-anim (-> self draw art-group data 39))) + (set! (-> a0-44 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 39)) data 0 length) -1)) + ) + (set! (-> a0-44 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-44 frame-num) 0.0) + (joint-control-channel-group! a0-44 (the-as art-joint-anim (-> self draw art-group data 39)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-45 (-> self skel root-channel 0))) + (set! (-> a0-45 param 0) (the float (+ (-> a0-45 frame-group data 0 length) -1))) + (set! (-> a0-45 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-45 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) + (set! (-> gp-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) + ) + (set! (-> gp-1 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> gp-1 frame-num) (ja-aframe (the-as float 50.0) 0)) + (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-49 (-> self skel root-channel 0))) + (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) + (set! (-> a0-49 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + #f + ) + ((let ((v1-187 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or (= v1-187 (-> self draw art-group data 34)) (= v1-187 (-> self draw art-group data 41))) + ) + (ja-channel-set! 1) + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 39))) + (set! (-> gp-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 39)) data 0 length) -1)) + ) + (set! (-> gp-2 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> gp-2 frame-num) (ja-aframe (the-as float 38.0) 0)) + (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 39)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-61 (-> self skel root-channel 0))) + (set! (-> a0-61 param 0) (the float (+ (-> a0-61 frame-group data 0 length) -1))) + (set! (-> a0-61 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-61 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) + (set! (-> gp-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) + ) + (set! (-> gp-3 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> gp-3 frame-num) (ja-aframe (the-as float 50.0) 0)) + (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-65 (-> self skel root-channel 0))) + (set! (-> a0-65 param 0) (the float (+ (-> a0-65 frame-group data 0 length) -1))) + (set! (-> a0-65 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-65 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + #f + ) + ((let ((v1-242 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or (= v1-242 (-> self draw art-group data 73)) (= v1-242 (-> self draw art-group data 74))) + ) + (let ((f30-2 (if (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 74) + ) + (-> (new 'static 'array float 1 24576.0) 0) + (-> (new 'static 'array float 1 -24576.0) 0) + ) + ) + ) + (ja-channel-push! 1 12) + (let ((gp-4 (-> self skel root-channel 0))) + (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 39))) + (set! (-> gp-4 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 39)) data 0 length) -1)) + ) + (set! (-> gp-4 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> gp-4 frame-num) (ja-aframe (the-as float 38.0) 0)) + (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 39)) num-func-seek!) + ) + (until (ja-done? 0) + (set-forward-vel f30-2) + (suspend) + (let ((a0-82 (-> self skel root-channel 0))) + (set! (-> a0-82 param 0) (the float (+ (-> a0-82 frame-group data 0 length) -1))) + (set! (-> a0-82 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-82 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (let ((gp-5 (-> self skel root-channel 0))) + (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) + (set! (-> gp-5 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) + ) + (set! (-> gp-5 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> gp-5 frame-num) (ja-aframe (the-as float 50.0) 0)) + (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-86 (-> self skel root-channel 0))) + (set! (-> a0-86 param 0) (the float (+ (-> a0-86 frame-group data 0 length) -1))) + (set! (-> a0-86 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-86 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + #f + ) + ((let ((v1-305 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or + (= v1-305 (-> self draw art-group data 34)) + (= v1-305 (-> self draw art-group data 56)) + (= v1-305 (-> self draw art-group data 57)) + (= v1-305 (-> self draw art-group data 58)) + (= v1-305 (-> self draw art-group data 68)) + (= v1-305 (-> self draw art-group data 65)) + (= v1-305 (-> self draw art-group data 62)) + ) + ) + (ja-channel-push! 1 12) + (let ((gp-6 (-> self skel root-channel 0))) + (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) + (set! (-> gp-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) + ) + (set! (-> gp-6 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> gp-6 frame-num) (ja-aframe (the-as float 42.0) 0)) + (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-113 (-> self skel root-channel 0))) + (set! (-> a0-113 param 0) (the float (+ (-> a0-113 frame-group data 0 length) -1))) + (set! (-> a0-113 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-113 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + #f + ) + ((= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) + (-> self draw art-group data 35) + ) + (let ((a0-119 (-> self skel root-channel 0))) + (set! (-> a0-119 param 0) (the float (+ (-> a0-119 frame-group data 0 length) -1))) + (set! (-> a0-119 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group! a0-119 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (cond - ((or - (= v1-2 (-> self draw art-group data 63)) - (= v1-2 (-> self draw art-group data 64)) - (= v1-2 (-> self draw art-group data 66)) - (= v1-2 (-> self draw art-group data 67)) - ) - (let - ((gp-0 - (or - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (< - (-> self control unknown-float01) - (-> (new 'static 'array float 1 61440.0) 0) - ) - ) - ) - (f30-0 (if (= arg0 'swim) - (-> (new 'static 'array float 1 0.4) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - ) - (ja-channel-set! 1) - (let ((s5-0 (-> self skel root-channel 0))) - (set! (-> s5-0 frame-group) (the-as art-joint-anim (if gp-0 - (-> - self - draw - art-group - data - 65 - ) - (-> - self - draw - art-group - data - 68 - ) - ) - ) - ) - (set! (-> s5-0 param 0) (the float (+ (-> (the-as art-joint-anim (if gp-0 - (-> - self - draw - art-group - data - 65 - ) - (-> - self - draw - art-group - data - 68 - ) - ) - ) - data 0 length - ) - -1 - ) - ) - ) - (let - ((f30-1 - (seek - f30-0 - (-> (new 'static 'array float 1 1.0) 0) - (* 0.5 (-> *display* seconds-per-frame)) - ) - ) - ) - (set! (-> s5-0 param 1) f30-1) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! s5-0 (the-as art-joint-anim (if gp-0 - (-> - self - draw - art-group - data - 65 - ) - (-> - self - draw - art-group - data - 68 - ) - ) - ) - num-func-seek! - ) - (until (ja-done? 0) - (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 (-> self align) (if gp-0 - 2 - 6 - ) - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - (the-as float 1.5) - ) - (when - (and - (>= 25.0 (ja-aframe-num 0)) - (and - (>= (ja-aframe-num 0) 21.0) - (= (-> self next-state name) 'target-flop-hit-ground) - (!= (-> self control unknown-spoolanim00) 'stuck) - ) - ) - (set! (-> self event-hook) target-jump-event-handler) - (when - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons x) - ) - (can-jump? #f) - ) - (ja-channel-set! 0) - (go - target-high-jump - (-> *TARGET-bank* flop-jump-height-min) - (-> *TARGET-bank* flop-jump-height-max) - (if gp-0 - 'flop - 'flop-forward - ) - ) - ) - ) + (while (not (ja-done? 0)) (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! - (-> s5-1 param 0) - (the float (+ (-> s5-1 frame-group data 0 length) -1)) - ) - (set! - f30-1 - (seek - f30-1 - (-> (new 'static 'array float 1 1.0) 0) - (* 0.5 (-> *display* seconds-per-frame)) - ) - ) - (set! (-> s5-1 param 1) f30-1) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + (ja-eval) ) - ) + #f ) ) - #f - ) - ((and - (= (-> self control ground-pat material) (pat-material ice)) - (< 16384.0 (-> self control unknown-float01)) - ) - #f - ) - ((let ((v1-95 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (or - (= v1-95 (-> self draw art-group data 38)) - (= v1-95 (-> self draw art-group data 42)) - (= v1-95 (-> self draw art-group data 43)) - ) - (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (>= (ja-aframe-num 0) 38.0) - ) - ) - ) - (ja-channel-push! 1 6) - (let ((a0-35 (-> self skel root-channel 0))) - (set! - (-> a0-35 frame-group) - (the-as art-joint-anim (-> self draw art-group data 35)) - ) - (set! - (-> a0-35 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 35)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-35 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! - a0-35 - (the-as art-joint-anim (-> self draw art-group data 35)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! - (-> a0-36 param 0) - (the float (+ (-> a0-36 frame-group data 0 length) -1)) - ) - (set! (-> a0-36 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-36 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - #f - ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (>= (ja-aframe-num 0) 35.0) - ) - (ja-channel-set! 1) - (let ((a0-44 (-> self skel root-channel 0))) - (set! - (-> a0-44 frame-group) - (the-as art-joint-anim (-> self draw art-group data 39)) - ) - (set! - (-> a0-44 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 39)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-44 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-44 frame-num) 0.0) - (joint-control-channel-group! - a0-44 - (the-as art-joint-anim (-> self draw art-group data 39)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-45 (-> self skel root-channel 0))) - (set! - (-> a0-45 param 0) - (the float (+ (-> a0-45 frame-group data 0 length) -1)) - ) - (set! (-> a0-45 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-45 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! - (-> gp-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 35)) - ) - (set! - (-> gp-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 35)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> gp-1 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> gp-1 frame-num) (ja-aframe (the-as float 50.0) 0)) - (joint-control-channel-group! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 35)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! - (-> a0-49 param 0) - (the float (+ (-> a0-49 frame-group data 0 length) -1)) - ) - (set! (-> a0-49 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-49 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - #f - ) - ((let ((v1-187 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (= v1-187 (-> self draw art-group data 34)) - (= v1-187 (-> self draw art-group data 41)) - ) - ) - (ja-channel-set! 1) - (let ((gp-2 (-> self skel root-channel 0))) - (set! - (-> gp-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 39)) - ) - (set! - (-> gp-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 39)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> gp-2 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> gp-2 frame-num) (ja-aframe (the-as float 38.0) 0)) - (joint-control-channel-group! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 39)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-61 (-> self skel root-channel 0))) - (set! - (-> a0-61 param 0) - (the float (+ (-> a0-61 frame-group data 0 length) -1)) - ) - (set! (-> a0-61 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-61 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! - (-> gp-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 35)) - ) - (set! - (-> gp-3 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 35)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> gp-3 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> gp-3 frame-num) (ja-aframe (the-as float 50.0) 0)) - (joint-control-channel-group! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 35)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-65 (-> self skel root-channel 0))) - (set! - (-> a0-65 param 0) - (the float (+ (-> a0-65 frame-group data 0 length) -1)) - ) - (set! (-> a0-65 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-65 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - #f - ) - ((let ((v1-242 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (= v1-242 (-> self draw art-group data 73)) - (= v1-242 (-> self draw art-group data 74)) - ) - ) - (let ((f30-2 (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 74) - ) - (-> (new 'static 'array float 1 24576.0) 0) - (-> (new 'static 'array float 1 -24576.0) 0) - ) - ) - ) - (ja-channel-push! 1 12) - (let ((gp-4 (-> self skel root-channel 0))) - (set! - (-> gp-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 39)) - ) - (set! - (-> gp-4 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 39)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> gp-4 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> gp-4 frame-num) (ja-aframe (the-as float 38.0) 0)) - (joint-control-channel-group! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 39)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (set-forward-vel f30-2) - (suspend) - (let ((a0-82 (-> self skel root-channel 0))) - (set! - (-> a0-82 param 0) - (the float (+ (-> a0-82 frame-group data 0 length) -1)) - ) - (set! (-> a0-82 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-82 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! - (-> gp-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 35)) - ) - (set! - (-> gp-5 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 35)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> gp-5 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> gp-5 frame-num) (ja-aframe (the-as float 50.0) 0)) - (joint-control-channel-group! - gp-5 - (the-as art-joint-anim (-> self draw art-group data 35)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-86 (-> self skel root-channel 0))) - (set! - (-> a0-86 param 0) - (the float (+ (-> a0-86 frame-group data 0 length) -1)) - ) - (set! (-> a0-86 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-86 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - #f - ) - ((let ((v1-305 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (= v1-305 (-> self draw art-group data 34)) - (= v1-305 (-> self draw art-group data 56)) - (= v1-305 (-> self draw art-group data 57)) - (= v1-305 (-> self draw art-group data 58)) - (= v1-305 (-> self draw art-group data 68)) - (= v1-305 (-> self draw art-group data 65)) - (= v1-305 (-> self draw art-group data 62)) - ) - ) - (ja-channel-push! 1 12) - (let ((gp-6 (-> self skel root-channel 0))) - (set! - (-> gp-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 35)) - ) - (set! - (-> gp-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 35)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> gp-6 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> gp-6 frame-num) (ja-aframe (the-as float 42.0) 0)) - (joint-control-channel-group! - gp-6 - (the-as art-joint-anim (-> self draw art-group data 35)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-113 (-> self skel root-channel 0))) - (set! - (-> a0-113 param 0) - (the float (+ (-> a0-113 frame-group data 0 length) -1)) - ) - (set! (-> a0-113 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-113 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - #f - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - (let ((a0-119 (-> self skel root-channel 0))) - (set! - (-> a0-119 param 0) - (the float (+ (-> a0-119 frame-group data 0 length) -1)) - ) - (set! (-> a0-119 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group! - a0-119 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - #f - ) ) - ) ) ;; failed to figure out what this is: @@ -951,12 +528,7 @@ :event target-standard-event-handler :code - (behavior () - (suspend) - (suspend) - (go target-stance) - (none) - ) + (behavior () (suspend) (suspend) (go target-stance) (none)) :post target-no-move-post ) @@ -967,751 +539,457 @@ target-standard-event-handler :enter (behavior () - (set! (-> self control unknown-surface00) *walk-mods*) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (set! (-> self control unknown-surface00) *walk-mods*) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (none) + ) :exit - (behavior () - (set! (-> self control unknown-float81) 0.0) - (target-state-hook-exit) - (none) - ) + (behavior () (set! (-> self control unknown-float81) 0.0) (target-state-hook-exit) (none)) :trans (behavior () - ((-> self state-hook)) - (if (logtest? (-> self water flags) 1024) - (go target-wade-stance) - ) - (when (= (-> self control ground-pat material) (pat-material ice)) - (set! (-> self control unknown-float81) 0.0) - (remove-exit) - (go target-ice-stance) - ) - (when (move-legs?) - (set! (-> self control unknown-float81) 0.0) - (remove-exit) - (go target-walk) - ) - (when - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons l1 r1) + ((-> self state-hook)) + (if (logtest? (-> self water flags) 1024) + (go target-wade-stance) + ) + (when (= (-> self control ground-pat material) (pat-material ice)) + (set! (-> self control unknown-float81) 0.0) + (remove-exit) + (go target-ice-stance) ) - (can-duck?) - ) - (set! (-> self control unknown-float81) 0.0) - (remove-exit) - (go target-duck-stance) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons x) + (when (move-legs?) + (set! (-> self control unknown-float81) 0.0) + (remove-exit) + (go target-walk) ) - (can-jump? #f) - ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons circle) + (when (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons l1 r1) + ) + (can-duck?) + ) + (set! (-> self control unknown-float81) 0.0) + (remove-exit) + (go target-duck-stance) ) - (can-feet?) - ) - (go target-attack) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + ) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) + ) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons circle) + ) + (can-feet?) + ) + (go target-attack) + ) + (if (can-hands? #t) + (go target-running-attack) + ) + (slide-down-test) + (fall-test) + (none) ) - (if (can-hands? #t) - (go target-running-attack) - ) - (slide-down-test) - (fall-test) - (none) - ) :code (behavior () - (let ((s5-0 22) - (gp-0 (new 'stack 'ground-tween-info)) - ) - (let ((v1-3 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (let ((s5-0 22) + (gp-0 (new 'stack 'ground-tween-info)) ) - (cond - ((or - (= v1-3 (-> self draw art-group data 89)) - (= v1-3 (-> self draw art-group data 90)) - ) - (set! s5-0 45) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 71) - ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 frame-group) - (the-as art-joint-anim (-> self draw art-group data 72)) - ) - (set! - (-> a0-12 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 72)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (the-as art-joint-anim (-> self draw art-group data 72)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 51) - ) - (cond - ((rand-vu-percent? (the-as float 0.3)) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 frame-group) - (the-as art-joint-anim (-> self draw art-group data 53)) - ) - (set! - (-> a0-20 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 53)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-20 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! - a0-20 - (the-as art-joint-anim (-> self draw art-group data 53)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! - (-> a0-21 param 0) - (the float (+ (-> a0-21 frame-group data 0 length) -1)) - ) - (set! (-> a0-21 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((a0-23 (-> self skel root-channel 0))) - (set! - (-> a0-23 frame-group) - (the-as art-joint-anim (-> self draw art-group data 52)) - ) - (set! - (-> a0-23 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 52)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-23 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! - a0-23 - (the-as art-joint-anim (-> self draw art-group data 52)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 param 0) - (the float (+ (-> a0-24 frame-group data 0 length) -1)) - ) - (set! (-> a0-24 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-24 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 78) - ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! - (-> a0-30 frame-group) - (the-as art-joint-anim (-> self draw art-group data 79)) - ) - (set! - (-> a0-30 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 79)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-30 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! - a0-30 - (the-as art-joint-anim (-> self draw art-group data 79)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! - (-> a0-31 param 0) - (the float (+ (-> a0-31 frame-group data 0 length) -1)) - ) - (set! (-> a0-31 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-31 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 84) - ) - (let ((a0-37 (-> self skel root-channel 0))) - (set! - (-> a0-37 frame-group) - (the-as art-joint-anim (-> self draw art-group data 85)) - ) - (set! - (-> a0-37 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 85)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-37 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-37 frame-num) 0.0) - (joint-control-channel-group! - a0-37 - (the-as art-joint-anim (-> self draw art-group data 85)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! - (-> a0-38 param 0) - (the float (+ (-> a0-38 frame-group data 0 length) -1)) - ) - (set! (-> a0-38 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-38 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set! s5-0 0) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 59) - ) - (set! - (-> self control unknown-float81) - (-> self control unknown-float80) - ) - (set! (-> self control unknown-surface00) *walk-no-turn-mods*) - (let ((s4-0 (-> self skel root-channel 0))) - (set! - (-> s4-0 frame-group) - (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - ) - (set! - (-> s4-0 param 0) - (the - float - (+ - (-> (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - data 0 length - ) - -1 - ) - ) - ) - (set! (-> s4-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> s4-0 frame-num) 0.0) - (joint-control-channel-group! - s4-0 - (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) - (-> self draw art-group data 61) - (-> self draw art-group data 60) - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (set! - (-> self control unknown-float81) - (seek - (-> self control unknown-float81) - (-> (new 'static 'array float 1 0.0) 0) - (-> *display* seconds-per-frame) - ) - ) - (suspend) - (let ((a0-50 (-> self skel root-channel 0))) - (set! - (-> a0-50 param 0) - (the float (+ (-> a0-50 frame-group data 0 length) -1)) - ) - (set! (-> a0-50 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-50 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set! (-> self control unknown-surface00) *walk-mods*) - (set! (-> self control unknown-float81) 0.0) - (rot->dir-targ! (-> self control)) - ) - ((let ((v1-206 (if (> (-> self skel active-channels) 0) + (let ((v1-3 (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - ) - ) - (or - (= v1-206 (-> self draw art-group data 31)) - (= v1-206 (-> self draw art-group data 32)) - ) - ) - (ja-channel-push! 1 12) - (let ((a0-62 (-> self skel root-channel 0))) - (set! - (-> a0-62 frame-group) - (the-as art-joint-anim (-> self draw art-group data 30)) - ) - (set! (-> a0-62 param 0) 0.0) - (set! (-> a0-62 param 1) 1.2) - (set! - (-> a0-62 frame-num) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 30)) - data - 0 - length + ) ) - -1 + (cond + ((or (= v1-3 (-> self draw art-group data 89)) (= v1-3 (-> self draw art-group data 90))) + (set! s5-0 45) ) - ) - ) - (joint-control-channel-group! - a0-62 - (the-as art-joint-anim (-> self draw art-group data 30)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-63 (-> self skel root-channel 0))) - (set! (-> a0-63 param 0) 0.0) - (set! (-> a0-63 param 1) 1.2) - (joint-control-channel-group-eval! - a0-63 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set! s5-0 12) - ) - ((or (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (begin - (set! s5-0 45) - (< 0.5 (-> self skel root-channel 6 frame-interp)) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 71) + ) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 72))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 72)) data 0 length) -1)) + ) + (set! (-> a0-12 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 72)) num-func-seek!) ) - ) - (let ((v1-243 (if (> (-> self skel active-channels) 0) + (until (ja-done? 0) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 51) + ) + (cond + ((rand-vu-percent? (the-as float 0.3)) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 53))) + (set! (-> a0-20 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 53)) data 0 length) -1)) + ) + (set! (-> a0-20 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-20 frame-num) 0.0) + (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 53)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) + (set! (-> a0-21 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (let ((a0-23 (-> self skel root-channel 0))) + (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 52))) + (set! (-> a0-23 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 52)) data 0 length) -1)) + ) + (set! (-> a0-23 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-23 frame-num) 0.0) + (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 52)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) + (set! (-> a0-24 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 78) + ) + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 79))) + (set! (-> a0-30 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 79)) data 0 length) -1)) + ) + (set! (-> a0-30 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-30 frame-num) 0.0) + (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 79)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-31 (-> self skel root-channel 0))) + (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) + (set! (-> a0-31 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 84) + ) + (let ((a0-37 (-> self skel root-channel 0))) + (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> self draw art-group data 85))) + (set! (-> a0-37 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 85)) data 0 length) -1)) + ) + (set! (-> a0-37 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-37 frame-num) 0.0) + (joint-control-channel-group! a0-37 (the-as art-joint-anim (-> self draw art-group data 85)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-38 (-> self skel root-channel 0))) + (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) + (set! (-> a0-38 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! s5-0 0) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 59) + ) + (set! (-> self control unknown-float81) (-> self control unknown-float80)) + (set! (-> self control unknown-surface00) *walk-no-turn-mods*) + (let ((s4-0 (-> self skel root-channel 0))) + (set! (-> s4-0 frame-group) (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) + (-> self draw art-group data 61) + (-> self draw art-group data 60) + ) + ) + ) + (set! (-> s4-0 param 0) (the float (+ (-> (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) + (-> self draw art-group data 61) + (-> self draw art-group data 60) + ) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> s4-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> s4-0 frame-num) 0.0) + (joint-control-channel-group! + s4-0 + (the-as art-joint-anim (if (rand-vu-percent? (the-as float 0.3)) + (-> self draw art-group data 61) + (-> self draw art-group data 60) + ) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (set! (-> self control unknown-float81) + (seek + (-> self control unknown-float81) + (-> (new 'static 'array float 1 0.0) 0) + (-> *display* seconds-per-frame) + ) + ) + (suspend) + (let ((a0-50 (-> self skel root-channel 0))) + (set! (-> a0-50 param 0) (the float (+ (-> a0-50 frame-group data 0 length) -1))) + (set! (-> a0-50 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-50 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! (-> self control unknown-surface00) *walk-mods*) + (set! (-> self control unknown-float81) 0.0) + (rot->dir-targ! (-> self control)) + ) + ((let ((v1-206 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or (= v1-206 (-> self draw art-group data 31)) (= v1-206 (-> self draw art-group data 32))) + ) + (ja-channel-push! 1 12) + (let ((a0-62 (-> self skel root-channel 0))) + (set! (-> a0-62 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) + (set! (-> a0-62 param 0) 0.0) + (set! (-> a0-62 param 1) 1.2) + (set! (-> a0-62 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 30)) data 0 length) -1)) + ) + (joint-control-channel-group! a0-62 (the-as art-joint-anim (-> self draw art-group data 30)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-63 (-> self skel root-channel 0))) + (set! (-> a0-63 param 0) 0.0) + (set! (-> a0-63 param 1) 1.2) + (joint-control-channel-group-eval! a0-63 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! s5-0 12) + ) + ((or + (and + (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) + (-> self draw art-group data 23) + ) + (begin (set! s5-0 45) (< 0.5 (-> self skel root-channel 6 frame-interp))) + ) + (let ((v1-243 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or + (= v1-243 (-> self draw art-group data 28)) + (= v1-243 (-> self draw art-group data 29)) + (= v1-243 (-> self draw art-group data 54)) + (= v1-243 (-> self draw art-group data 55)) + ) + ) + ) + (let ((f30-1 (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 23) + ) + (let ((f0-57 (+ 50.0 (* 0.8333333 (+ -25.0 (ja-aframe-num 0)))))) + (- f0-57 (* (the float (the int (/ f0-57 50.0))) 50.0)) + ) + ) + (else + (-> (new 'static 'array float 1 0.0) 0) + ) + ) + ) + ) + (set! s5-0 45) + (ja-channel-push! 3 s5-0) + (ground-tween-initialize + gp-0 + (the-as uint 0) + (the-as uint (-> self draw art-group data 4)) + (the-as uint (-> self draw art-group data 13)) + (the-as uint (-> self draw art-group data 16)) + (the-as uint (-> self draw art-group data 7)) + (the-as uint (-> self draw art-group data 10)) + ) + (let ((s4-1 (-> self skel root-channel 0))) + (set! (-> s4-1 num-func) num-func-identity) + (set! (-> s4-1 frame-num) (ja-aframe f30-1 0)) + ) + ) + (let ((a0-89 (-> self skel root-channel 1))) + (set! (-> a0-89 param 0) 0.0) + (joint-control-channel-group-eval! a0-89 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-90 (-> self skel root-channel 2))) + (set! (-> a0-90 param 0) 0.0) + (joint-control-channel-group-eval! a0-90 (the-as art-joint-anim #f) num-func-chan) + ) + (dotimes (s4-2 3) + (until (ja-done? 0) + (ground-tween-update gp-0 (-> self control unknown-float61) (-> self control unknown-float62)) + (suspend) + (let ((a0-92 (-> self skel root-channel 0))) + (set! (-> a0-92 param 0) (the float (+ (-> a0-92 frame-group data 0 length) -1))) + (set! (-> a0-92 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-92 (the-as art-joint-anim #f) num-func-seek!) + ) + (let ((a0-93 (-> self skel root-channel 1))) + (set! (-> a0-93 param 0) 0.0) + (joint-control-channel-group-eval! a0-93 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-94 (-> self skel root-channel 2))) + (set! (-> a0-94 param 0) 0.0) + (joint-control-channel-group-eval! a0-94 (the-as art-joint-anim #f) num-func-chan) + ) + ) + (let ((v1-298 (-> self skel root-channel 0))) + (set! (-> v1-298 num-func) num-func-identity) + (set! (-> v1-298 frame-num) 0.0) + ) + ) + (ground-tween-initialize + gp-0 + (the-as uint 0) + (the-as uint (-> self draw art-group data 3)) + (the-as uint (-> self draw art-group data 12)) + (the-as uint (-> self draw art-group data 15)) + (the-as uint (-> self draw art-group data 6)) + (the-as uint (-> self draw art-group data 9)) + ) + (until (ja-done? 0) + (ground-tween-update gp-0 (-> self control unknown-float61) (-> self control unknown-float62)) + (suspend) + (let ((a0-99 (-> self skel root-channel 0))) + (set! (-> a0-99 param 0) (the float (+ (-> a0-99 frame-group data 0 length) -1))) + (set! (-> a0-99 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-99 (the-as art-joint-anim #f) num-func-seek!) + ) + (let ((a0-100 (-> self skel root-channel 1))) + (set! (-> a0-100 param 0) 0.0) + (joint-control-channel-group-eval! a0-100 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-101 (-> self skel root-channel 2))) + (set! (-> a0-101 param 0) 0.0) + (joint-control-channel-group-eval! a0-101 (the-as art-joint-anim #f) num-func-chan) ) - ) - (or - (= v1-243 (-> self draw art-group data 28)) - (= v1-243 (-> self draw art-group data 29)) - (= v1-243 (-> self draw art-group data 54)) - (= v1-243 (-> self draw art-group data 55)) - ) - ) - ) - (let ((f30-1 (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (let - ((f0-57 - (+ 50.0 (* 0.8333333 (+ -25.0 (ja-aframe-num 0)))) - ) - ) - (- f0-57 (* (the float (the int (/ f0-57 50.0))) 50.0)) - ) - ) - (else - (-> (new 'static 'array float 1 0.0) 0) - ) - ) - ) ) - (set! s5-0 45) - (ja-channel-push! 3 s5-0) - (ground-tween-initialize - gp-0 - (the-as uint 0) - (the-as uint (-> self draw art-group data 4)) - (the-as uint (-> self draw art-group data 13)) - (the-as uint (-> self draw art-group data 16)) - (the-as uint (-> self draw art-group data 7)) - (the-as uint (-> self draw art-group data 10)) - ) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 num-func) num-func-identity) - (set! (-> s4-1 frame-num) (ja-aframe f30-1 0)) - ) - ) - (let ((a0-89 (-> self skel root-channel 1))) - (set! (-> a0-89 param 0) 0.0) - (joint-control-channel-group-eval! - a0-89 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-90 (-> self skel root-channel 2))) - (set! (-> a0-90 param 0) 0.0) - (joint-control-channel-group-eval! - a0-90 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (dotimes (s4-2 3) - (until (ja-done? 0) - (ground-tween-update - gp-0 - (-> self control unknown-float61) - (-> self control unknown-float62) - ) - (suspend) - (let ((a0-92 (-> self skel root-channel 0))) - (set! - (-> a0-92 param 0) - (the float (+ (-> a0-92 frame-group data 0 length) -1)) ) - (set! (-> a0-92 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-92 - (the-as art-joint-anim #f) - num-func-seek! + ((and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 23) + ) + (>= (-> self control unknown-float01) 5734.4) + ) + (set! s5-0 45) ) ) - (let ((a0-93 (-> self skel root-channel 1))) - (set! (-> a0-93 param 0) 0.0) - (joint-control-channel-group-eval! - a0-93 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-94 (-> self skel root-channel 2))) - (set! (-> a0-94 param 0) 0.0) - (joint-control-channel-group-eval! - a0-94 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - ) - (let ((v1-298 (-> self skel root-channel 0))) - (set! (-> v1-298 num-func) num-func-identity) - (set! (-> v1-298 frame-num) 0.0) - ) ) - (ground-tween-initialize + (if (not (and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 5) + ) + (= (ja-group-size) 3) + ) + ) + (ja-channel-push! 3 s5-0) + ) + (ground-tween-initialize gp-0 (the-as uint 0) - (the-as uint (-> self draw art-group data 3)) - (the-as uint (-> self draw art-group data 12)) - (the-as uint (-> self draw art-group data 15)) - (the-as uint (-> self draw art-group data 6)) - (the-as uint (-> self draw art-group data 9)) + (the-as uint (-> self draw art-group data 5)) + (the-as uint (-> self draw art-group data 14)) + (the-as uint (-> self draw art-group data 17)) + (the-as uint (-> self draw art-group data 8)) + (the-as uint (-> self draw art-group data 11)) ) - (until (ja-done? 0) - (ground-tween-update - gp-0 - (-> self control unknown-float61) - (-> self control unknown-float62) - ) + (while #t + (ground-tween-update gp-0 (-> self control unknown-float61) (-> self control unknown-float62)) (suspend) - (let ((a0-99 (-> self skel root-channel 0))) - (set! - (-> a0-99 param 0) - (the float (+ (-> a0-99 frame-group data 0 length) -1)) + (let ((a0-115 (-> self skel root-channel 0))) + (set! (-> a0-115 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-115 (the-as art-joint-anim #f) num-func-loop!) ) - (set! (-> a0-99 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-99 - (the-as art-joint-anim #f) - num-func-seek! + (let ((a0-116 (-> self skel root-channel 1))) + (set! (-> a0-116 param 0) 0.0) + (joint-control-channel-group-eval! a0-116 (the-as art-joint-anim #f) num-func-chan) ) - ) - (let ((a0-100 (-> self skel root-channel 1))) - (set! (-> a0-100 param 0) 0.0) - (joint-control-channel-group-eval! - a0-100 - (the-as art-joint-anim #f) - num-func-chan + (let ((a0-117 (-> self skel root-channel 2))) + (set! (-> a0-117 param 0) 0.0) + (joint-control-channel-group-eval! a0-117 (the-as art-joint-anim #f) num-func-chan) ) - ) - (let ((a0-101 (-> self skel root-channel 2))) - (set! (-> a0-101 param 0) 0.0) - (joint-control-channel-group-eval! - a0-101 - (the-as art-joint-anim #f) - num-func-chan - ) - ) + (if (can-play-stance-amibent?) + (go target-stance-ambient) + ) ) - ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (>= (-> self control unknown-float01) 5734.4) - ) - (set! s5-0 45) - ) ) - ) - (if (not (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (= (ja-group-size) 3) - ) - ) - (ja-channel-push! 3 s5-0) - ) - (ground-tween-initialize - gp-0 - (the-as uint 0) - (the-as uint (-> self draw art-group data 5)) - (the-as uint (-> self draw art-group data 14)) - (the-as uint (-> self draw art-group data 17)) - (the-as uint (-> self draw art-group data 8)) - (the-as uint (-> self draw art-group data 11)) - ) - (while #t - (ground-tween-update - gp-0 - (-> self control unknown-float61) - (-> self control unknown-float62) - ) - (suspend) - (let ((a0-115 (-> self skel root-channel 0))) - (set! (-> a0-115 param 0) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-115 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (let ((a0-116 (-> self skel root-channel 1))) - (set! (-> a0-116 param 0) 0.0) - (joint-control-channel-group-eval! - a0-116 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-117 (-> self skel root-channel 2))) - (set! (-> a0-117 param 0) 0.0) - (joint-control-channel-group-eval! - a0-117 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (if (can-play-stance-amibent?) - (go target-stance-ambient) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -1722,925 +1000,602 @@ target-walk-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-surface00) *walk-mods*) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-surface00) *walk-mods*) + (none) + ) :exit - (behavior () - (target-effect-exit) - (target-state-hook-exit) - (none) - ) + (behavior () (target-effect-exit) (target-state-hook-exit) (none)) :trans (behavior () - ((-> self state-hook)) - (when (= (-> self control ground-pat material) (pat-material ice)) - (target-effect-exit) - (remove-exit) - (go target-ice-walk) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons l1 r1) + ((-> self state-hook)) + (when (= (-> self control ground-pat material) (pat-material ice)) + (target-effect-exit) + (remove-exit) + (go target-ice-walk) ) - (and - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> *TARGET-bank* wheel-timeout)) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons l1 r1) + ) + (and + (>= (- (-> *display* base-frame-counter) (the-as int (-> *TARGET-bank* wheel-timeout))) + (-> self control unknown-dword30) + ) + (and (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) (can-wheel?)) + ) + ) + (go target-wheel) ) - (-> self control unknown-dword30) - ) - (and - (!= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (can-wheel?) - ) + (when (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons l1 r1) + ) + (can-duck?) + ) + (target-effect-exit) + (remove-exit) + (go target-duck-walk) ) - ) - (go target-wheel) - ) - (when - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons l1 r1) + (when (not (move-legs?)) + (target-effect-exit) + (remove-exit) + (go target-stance) ) - (can-duck?) - ) - (target-effect-exit) - (remove-exit) - (go target-duck-walk) - ) - (when (not (move-legs?)) - (target-effect-exit) - (remove-exit) - (go target-stance) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + ) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons circle) + ) + (can-feet?) + ) + (go target-attack) ) - ) - (pad-buttons x) + (if (can-hands? #t) + (go target-running-attack) + ) + (when (and (turn-around?) (>= (- (-> *display* base-frame-counter) (-> self state-time)) 90)) + (set! (-> self control transv quad) + (-> self control unknown-vector-array10 (-> self control unknown-int10) quad) + ) + (set! (-> self control transv w) (-> (new 'static 'array float 1 1.0) 0)) + (go target-turn-around) ) - (can-jump? #f) - ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) + (slide-down-test) + (fall-test) + (none) ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons circle) - ) - (can-feet?) - ) - (go target-attack) - ) - (if (can-hands? #t) - (go target-running-attack) - ) - (when - (and - (turn-around?) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 90) - ) - (set! - (-> self control transv quad) - (-> - self - control - unknown-vector-array10 - (-> self control unknown-int10) - quad - ) - ) - (set! (-> self control transv w) (-> (new 'static 'array float 1 1.0) 0)) - (go target-turn-around) - ) - (slide-down-test) - (fall-test) - (none) - ) :code (behavior () - (let ((f28-0 0.0) - (f30-0 - (fmax - 0.0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (* 0.000048828126 (+ -16384.0 (-> self control unknown-float01))) - ) - ) + (let ((f28-0 0.0) + (f30-0 (fmax 0.0 (fmin + (-> (new 'static 'array float 1 1.0) 0) + (* 0.000048828126 (+ -16384.0 (-> self control unknown-float01))) + ) + ) + ) + (gp-0 #f) ) - (gp-0 #f) - ) - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 33) - ) - (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) - (ja-channel-push! 7 15) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 69) - ) - (ja-channel-push! 7 22) - (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 51) - ) - (let - ((f30-1 - (fmax - 0.8 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (* 0.000048828126 (-> self control unknown-float01)) - ) - ) - ) - ) - (cond - ((and - (rand-vu-percent? (the-as float 0.3)) - (< 20480.0 (-> self control unknown-float01)) - ) - (let ((s5-0 (-> self skel root-channel 0))) - (set! - (-> s5-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 53)) - ) - (set! (-> s5-0 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-0 param 1) f30-1) - (set! (-> s5-0 frame-num) 0.0) - (joint-control-channel-group! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 53)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-1 param 1) f30-1) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 frame-group) - (the-as art-joint-anim (-> self draw art-group data 55)) - ) - (set! - (-> a0-20 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 55)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-20 param 1) f30-1) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! - a0-20 - (the-as art-joint-anim (-> self draw art-group data 55)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! - (-> a0-21 param 0) - (the float (+ (-> a0-21 frame-group data 0 length) -1)) - ) - (set! (-> a0-21 param 1) f30-1) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((s5-2 (-> self skel root-channel 0))) - (set! - (-> s5-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 52)) - ) - (set! (-> s5-2 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-2 param 1) f30-1) - (set! (-> s5-2 frame-num) 0.0) - (joint-control-channel-group! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 52)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s5-3 (-> self skel root-channel 0))) - (set! (-> s5-3 param 0) (ja-aframe (the-as float 29.0) 0)) - (set! (-> s5-3 param 1) f30-1) - (joint-control-channel-group-eval! - s5-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! - (-> a0-28 frame-group) - (the-as art-joint-anim (-> self draw art-group data 54)) - ) - (set! - (-> a0-28 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 54)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-28 param 1) f30-1) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! - a0-28 - (the-as art-joint-anim (-> self draw art-group data 54)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! - (-> a0-29 param 0) - (the float (+ (-> a0-29 frame-group data 0 length) -1)) - ) - (set! (-> a0-29 param 1) f30-1) - (joint-control-channel-group-eval! - a0-29 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - ) - (ja-channel-push! 7 15) - (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) - (set! f28-0 30.0) - ) - (else - (let ((v1-108 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (cond - ((or - (= v1-108 (-> self draw art-group data 59)) - (= v1-108 (-> self draw art-group data 60)) - ) - (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) - (set! f28-0 30.0) - (ja-channel-push! 7 45) - ) - ((let ((v1-116 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (= v1-116 (-> self draw art-group data 84)) - (= v1-116 (-> self draw art-group data 85)) - ) - ) - (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) - (set! f28-0 26.0) - (ja-channel-push! 7 30) - ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) - (set! f28-0 (ja-aframe-num 0)) - ) + (cond ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 102) - ) - (set! f28-0 (ja-aframe-num 0)) - (ja-channel-push! 7 30) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 89) - ) - (set! f28-0 (ja-aframe-num 0)) - (ja-channel-push! 7 15) - ) - ((let ((v1-146 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (and - (or - (or - (= v1-146 (-> self draw art-group data 38)) - (= v1-146 (-> self draw art-group data 71)) - (= v1-146 (-> self draw art-group data 58)) - (= v1-146 (-> self draw art-group data 62)) - (= v1-146 (-> self draw art-group data 65)) - (= v1-146 (-> self draw art-group data 68)) - ) - (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (< 30.0 (ja-aframe-num 0)) - ) - ) - (< 12288.0 (-> self control unknown-float01)) - ) - ) - (let ((s5-4 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (f30-2 (-> self control ground-impact-vel)) - ) - (case (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - - (((-> self draw art-group data 71) (-> self draw art-group data 58)) - (ja-channel-push! 1 15) - ) - (else - (ja-channel-set! 1) + (-> self draw art-group data 33) ) - ) - (cond - ((< (if (= s5-4 (-> self draw art-group data 34)) - (-> (new 'static 'array float 1 77824.0) 0) - (-> (new 'static 'array float 1 102400.0) 0) - ) - f30-2 - ) - (let ((s5-5 (-> self skel root-channel 0))) - (set! - (-> s5-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 28)) - ) - (set! - (-> s5-5 param 0) - (ja-aframe (-> (new 'static 'array float 1 3.0) 0) 0) - ) - (set! (-> s5-5 param 1) 1.00001) - (set! (-> s5-5 frame-num) 0.0) - (joint-control-channel-group! - s5-5 - (the-as art-joint-anim (-> self draw art-group data 28)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s5-6 (-> self skel root-channel 0))) - (set! - (-> s5-6 param 0) - (ja-aframe (-> (new 'static 'array float 1 3.0) 0) 0) - ) - (set! (-> s5-6 param 1) 1.00001) - (joint-control-channel-group-eval! - s5-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((< (if (= s5-4 (-> self draw art-group data 34)) - (-> (new 'static 'array float 1 61440.0) 0) - (-> (new 'static 'array float 1 102400.0) 0) - ) - f30-2 - ) - (let ((s5-7 (-> self skel root-channel 0))) - (set! - (-> s5-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 28)) - ) - (set! - (-> s5-7 param 0) - (ja-aframe (-> (new 'static 'array float 1 3.0) 0) 0) - ) - (set! (-> s5-7 param 1) 1.00001) - (set! - (-> s5-7 frame-num) - (ja-aframe (-> (new 'static 'array float 1 -1.0) 0) 0) - ) - (joint-control-channel-group! - s5-7 - (the-as art-joint-anim (-> self draw art-group data 28)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s5-8 (-> self skel root-channel 0))) - (set! - (-> s5-8 param 0) - (ja-aframe (-> (new 'static 'array float 1 3.0) 0) 0) - ) - (set! (-> s5-8 param 1) 1.00001) - (joint-control-channel-group-eval! - s5-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((s5-9 (-> self skel root-channel 0))) - (set! - (-> s5-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 29)) - ) - (set! (-> s5-9 param 0) (ja-aframe (the-as float 4.0) 0)) - (set! (-> s5-9 param 1) 1.00001) - (set! (-> s5-9 frame-num) 0.0) - (joint-control-channel-group! - s5-9 - (the-as art-joint-anim (-> self draw art-group data 29)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s5-10 (-> self skel root-channel 0))) - (set! (-> s5-10 param 0) (ja-aframe (the-as float 4.0) 0)) - (set! (-> s5-10 param 1) 1.00001) - (joint-control-channel-group-eval! - s5-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-116 (-> self skel root-channel 0))) - (set! - (-> a0-116 param 0) - (the float (+ (-> a0-116 frame-group data 0 length) -1)) - ) - (set! - (-> a0-116 param 1) - (/ - (* - (fmax 20480.0 (-> self control unknown-float01)) - (-> *display* seconds-per-frame) - ) - (/ - (-> *TARGET-bank* run-up-cycle-dist) - (-> *TARGET-bank* run-cycle-length) - ) - ) - ) - (joint-control-channel-group-eval! - a0-116 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set! f28-0 30.0) (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) - (ja-channel-set! 7) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) (ja-channel-push! 7 15) - (set! gp-0 #t) ) ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 69) + ) + (ja-channel-push! 7 22) + (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 51) + ) + (let ((f30-1 + (fmax 0.8 (fmin (-> (new 'static 'array float 1 1.0) 0) (* 0.000048828126 (-> self control unknown-float01)))) + ) + ) + (cond + ((and (rand-vu-percent? (the-as float 0.3)) (< 20480.0 (-> self control unknown-float01))) + (let ((s5-0 (-> self skel root-channel 0))) + (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 53))) + (set! (-> s5-0 param 0) (ja-aframe (the-as float 29.0) 0)) + (set! (-> s5-0 param 1) f30-1) + (set! (-> s5-0 frame-num) 0.0) + (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 53)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((s5-1 (-> self skel root-channel 0))) + (set! (-> s5-1 param 0) (ja-aframe (the-as float 29.0) 0)) + (set! (-> s5-1 param 1) f30-1) + (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 55))) + (set! (-> a0-20 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 55)) data 0 length) -1)) + ) + (set! (-> a0-20 param 1) f30-1) + (set! (-> a0-20 frame-num) 0.0) + (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 55)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) + (set! (-> a0-21 param 1) f30-1) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (let ((s5-2 (-> self skel root-channel 0))) + (set! (-> s5-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 52))) + (set! (-> s5-2 param 0) (ja-aframe (the-as float 29.0) 0)) + (set! (-> s5-2 param 1) f30-1) + (set! (-> s5-2 frame-num) 0.0) + (joint-control-channel-group! s5-2 (the-as art-joint-anim (-> self draw art-group data 52)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((s5-3 (-> self skel root-channel 0))) + (set! (-> s5-3 param 0) (ja-aframe (the-as float 29.0) 0)) + (set! (-> s5-3 param 1) f30-1) + (joint-control-channel-group-eval! s5-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 54))) + (set! (-> a0-28 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 54)) data 0 length) -1)) + ) + (set! (-> a0-28 param 1) f30-1) + (set! (-> a0-28 frame-num) 0.0) + (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 54)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-29 (-> self skel root-channel 0))) + (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) + (set! (-> a0-29 param 1) f30-1) + (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - (-> self draw art-group data 78) - ) - (ja-channel-push! 7 45) + ) + (ja-channel-push! 7 15) + (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) + (set! f28-0 30.0) ) (else - (ja-channel-push! 7 15) - ) - ) - ) - ) - ) - (set! (-> self skel root-channel 3 command) 'push) - (set! (-> self skel root-channel 6 command) 'stack) - (let ((v1-265 (-> self skel root-channel 0))) - (set! - (-> v1-265 frame-group) - (the-as art-joint-anim (-> self draw art-group data 23)) - ) - ) - (let ((f28-1 (ja-aframe f28-0 0))) - (let ((s5-11 (-> self skel root-channel 0))) - (set! (-> s5-11 frame-interp) 0.0) - (set! (-> s5-11 dist) (-> *TARGET-bank* walk-cycle-dist)) - (joint-control-channel-group-eval! - s5-11 - (the-as art-joint-anim (-> self draw art-group data 23)) - num-func-identity - ) - (set! (-> s5-11 frame-num) f28-1) - ) - (let ((s5-12 (-> self skel root-channel 1))) - (set! (-> s5-12 frame-interp) 0.0) - (set! (-> s5-12 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (joint-control-channel-group-eval! - s5-12 - (the-as art-joint-anim (-> self draw art-group data 25)) - num-func-identity - ) - (set! (-> s5-12 frame-num) f28-1) - ) - (let ((s5-13 (-> self skel root-channel 2))) - (set! (-> s5-13 frame-interp) 0.0) - (set! (-> s5-13 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (joint-control-channel-group-eval! - s5-13 - (the-as art-joint-anim (-> self draw art-group data 27)) - num-func-identity - ) - (set! (-> s5-13 frame-num) f28-1) - ) - (let ((s5-14 (-> self skel root-channel 4))) - (set! (-> s5-14 frame-interp) 0.0) - (set! (-> s5-14 dist) (-> *TARGET-bank* run-down-cycle-dist)) - (joint-control-channel-group-eval! - s5-14 - (the-as art-joint-anim (-> self draw art-group data 20)) - num-func-identity - ) - (set! (-> s5-14 frame-num) f28-1) - ) - (let ((s5-15 (-> self skel root-channel 5))) - (set! (-> s5-15 frame-interp) 0.0) - (set! (-> s5-15 dist) (-> *TARGET-bank* run-side-cycle-dist)) - (joint-control-channel-group-eval! - s5-15 - (the-as art-joint-anim (-> self draw art-group data 22)) - num-func-identity - ) - (set! (-> s5-15 frame-num) f28-1) - ) - (let ((s5-16 (-> self skel root-channel 3))) - (set! (-> s5-16 frame-interp) 0.0) - (set! (-> s5-16 dist) (-> *TARGET-bank* run-cycle-dist)) - (joint-control-channel-group-eval! - s5-16 - (the-as art-joint-anim (-> self draw art-group data 18)) - num-func-identity - ) - (set! (-> s5-16 frame-num) f28-1) - ) - ) - (let ((f28-2 0.0) - (f26-1 0.0) - ) - (while #t - (let - ((f22-0 - (fmax - (-> (new 'static 'array float 1 -1.0) 0) - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (* 2.0 (-> self control unknown-float61)) - ) - ) - ) - (f24-0 - (fmax - (-> (new 'static 'array float 1 -1.0) 0) - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (* 1.6 (-> self control unknown-float62)) - ) - ) - ) - ) - (set! - f30-0 - (seek - f30-0 - (fmax - 0.0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (* 0.000048828126 (+ -16384.0 (-> self control unknown-float01))) - ) - ) - (* 2.0 (-> *display* seconds-per-frame)) - ) - ) - (let ((v1-317 (-> self skel effect))) - (set! (-> v1-317 channel-offset) (if (< 0.5 f30-0) - 3 - 0 - ) - ) - ) - 0 - (let ((f0-64 (fabs (- f22-0 f28-2)))) - (set! f28-2 (seek f28-2 f22-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-64))))) - ) - (let ((f0-69 (fabs (- f24-0 f26-1)))) - (set! f26-1 (seek f26-1 f24-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-69))))) - ) - ) - (cond - ((>= f28-2 0.0) - (let ((v1-329 (-> self skel root-channel 1))) - (set! (-> v1-329 frame-interp) (fabs f28-2)) - (set! (-> v1-329 dist) (-> *TARGET-bank* walk-up-cycle-dist)) - (set! - (-> v1-329 frame-group) - (the-as art-joint-anim (-> self draw art-group data 24)) - ) - ) - (let ((v1-332 (-> self skel root-channel 4))) - (set! (-> v1-332 frame-interp) (fabs f28-2)) - (set! (-> v1-332 dist) (-> *TARGET-bank* run-up-cycle-dist)) - (set! - (-> v1-332 frame-group) - (the-as art-joint-anim (-> self draw art-group data 19)) - ) - ) - ) - (else - (let ((v1-335 (-> self skel root-channel 1))) - (set! (-> v1-335 frame-interp) (fabs f28-2)) - (set! (-> v1-335 dist) (-> *TARGET-bank* walk-down-cycle-dist)) - (set! - (-> v1-335 frame-group) - (the-as art-joint-anim (-> self draw art-group data 25)) - ) - ) - (let ((v1-338 (-> self skel root-channel 4))) - (set! (-> v1-338 frame-interp) (fabs f28-2)) - (set! (-> v1-338 dist) (-> *TARGET-bank* run-down-cycle-dist)) - (set! - (-> v1-338 frame-group) - (the-as art-joint-anim (-> self draw art-group data 20)) - ) - ) - ) - ) - (cond - ((>= f26-1 0.0) - (let ((v1-341 (-> self skel root-channel 2))) - (set! (-> v1-341 frame-interp) (fabs f26-1)) - (set! (-> v1-341 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! - (-> v1-341 frame-group) - (the-as art-joint-anim (-> self draw art-group data 26)) - ) - ) - (let ((v1-344 (-> self skel root-channel 5))) - (set! (-> v1-344 frame-interp) (fabs f26-1)) - (set! (-> v1-344 dist) (-> *TARGET-bank* run-side-cycle-dist)) - (set! - (-> v1-344 frame-group) - (the-as art-joint-anim (-> self draw art-group data 21)) - ) - ) - ) - (else - (let ((v1-347 (-> self skel root-channel 2))) - (set! (-> v1-347 frame-interp) (fabs f26-1)) - (set! (-> v1-347 dist) (-> *TARGET-bank* walk-side-cycle-dist)) - (set! - (-> v1-347 frame-group) - (the-as art-joint-anim (-> self draw art-group data 27)) - ) - ) - (let ((v1-350 (-> self skel root-channel 5))) - (set! (-> v1-350 frame-interp) (fabs f26-1)) - (set! (-> v1-350 dist) (-> *TARGET-bank* run-side-cycle-dist)) - (set! - (-> v1-350 frame-group) - (the-as art-joint-anim (-> self draw art-group data 22)) - ) - ) - ) - ) - (set! (-> self skel root-channel 6 frame-interp) f30-0) - (let* ((f1-19 (dummy-9 (-> self skel))) - (f0-92 - (/ - (-> self control unknown-float01) - (* 60.0 (/ f1-19 (-> *TARGET-bank* run-cycle-length))) + (let ((v1-108 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (cond + ((or (= v1-108 (-> self draw art-group data 59)) (= v1-108 (-> self draw art-group data 60))) + (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) + (set! f28-0 30.0) + (ja-channel-push! 7 45) ) + ((let ((v1-116 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or (= v1-116 (-> self draw art-group data 84)) (= v1-116 (-> self draw art-group data 85))) + ) + (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) + (set! f28-0 26.0) + (ja-channel-push! 7 30) + ) + ((and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 23) + ) + (= (-> self skel root-channel 0) (-> self skel channel)) + ) + (set! f28-0 (ja-aframe-num 0)) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 102) + ) + (set! f28-0 (ja-aframe-num 0)) + (ja-channel-push! 7 30) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 89) + ) + (set! f28-0 (ja-aframe-num 0)) + (ja-channel-push! 7 15) + ) + ((let ((v1-146 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (and + (or + (or + (= v1-146 (-> self draw art-group data 38)) + (= v1-146 (-> self draw art-group data 71)) + (= v1-146 (-> self draw art-group data 58)) + (= v1-146 (-> self draw art-group data 62)) + (= v1-146 (-> self draw art-group data 65)) + (= v1-146 (-> self draw art-group data 68)) + ) + (and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 34) + ) + (< 30.0 (ja-aframe-num 0)) + ) + ) + (< 12288.0 (-> self control unknown-float01)) + ) + ) + (let ((s5-4 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (f30-2 (-> self control ground-impact-vel)) + ) + (case (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (((-> self draw art-group data 71) (-> self draw art-group data 58)) + (ja-channel-push! 1 15) + ) + (else + (ja-channel-set! 1) + ) + ) + (cond + ((< (if (= s5-4 (-> self draw art-group data 34)) + (-> (new 'static 'array float 1 77824.0) 0) + (-> (new 'static 'array float 1 102400.0) 0) + ) + f30-2 + ) + (let ((s5-5 (-> self skel root-channel 0))) + (set! (-> s5-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) + (set! (-> s5-5 param 0) (ja-aframe (-> (new 'static 'array float 1 3.0) 0) 0)) + (set! (-> s5-5 param 1) 1.00001) + (set! (-> s5-5 frame-num) 0.0) + (joint-control-channel-group! s5-5 (the-as art-joint-anim (-> self draw art-group data 28)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((s5-6 (-> self skel root-channel 0))) + (set! (-> s5-6 param 0) (ja-aframe (-> (new 'static 'array float 1 3.0) 0) 0)) + (set! (-> s5-6 param 1) 1.00001) + (joint-control-channel-group-eval! s5-6 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ((< (if (= s5-4 (-> self draw art-group data 34)) + (-> (new 'static 'array float 1 61440.0) 0) + (-> (new 'static 'array float 1 102400.0) 0) + ) + f30-2 + ) + (let ((s5-7 (-> self skel root-channel 0))) + (set! (-> s5-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) + (set! (-> s5-7 param 0) (ja-aframe (-> (new 'static 'array float 1 3.0) 0) 0)) + (set! (-> s5-7 param 1) 1.00001) + (set! (-> s5-7 frame-num) (ja-aframe (-> (new 'static 'array float 1 -1.0) 0) 0)) + (joint-control-channel-group! s5-7 (the-as art-joint-anim (-> self draw art-group data 28)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((s5-8 (-> self skel root-channel 0))) + (set! (-> s5-8 param 0) (ja-aframe (-> (new 'static 'array float 1 3.0) 0) 0)) + (set! (-> s5-8 param 1) 1.00001) + (joint-control-channel-group-eval! s5-8 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (let ((s5-9 (-> self skel root-channel 0))) + (set! (-> s5-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 29))) + (set! (-> s5-9 param 0) (ja-aframe (the-as float 4.0) 0)) + (set! (-> s5-9 param 1) 1.00001) + (set! (-> s5-9 frame-num) 0.0) + (joint-control-channel-group! s5-9 (the-as art-joint-anim (-> self draw art-group data 29)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((s5-10 (-> self skel root-channel 0))) + (set! (-> s5-10 param 0) (ja-aframe (the-as float 4.0) 0)) + (set! (-> s5-10 param 1) 1.00001) + (joint-control-channel-group-eval! s5-10 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-116 (-> self skel root-channel 0))) + (set! (-> a0-116 param 0) (the float (+ (-> a0-116 frame-group data 0 length) -1))) + (set! (-> a0-116 param 1) + (/ (* (fmax 20480.0 (-> self control unknown-float01)) (-> *display* seconds-per-frame)) + (/ (-> *TARGET-bank* run-up-cycle-dist) (-> *TARGET-bank* run-cycle-length)) + ) + ) + (joint-control-channel-group-eval! a0-116 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! f28-0 30.0) + (set! f30-0 (-> (new 'static 'array float 1 1.0) 0)) + (ja-channel-set! 7) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 34) + ) + (ja-channel-push! 7 15) + (set! gp-0 #t) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 78) + ) + (ja-channel-push! 7 45) + ) + (else + (ja-channel-push! 7 15) + ) ) - (a0-182 (-> self skel root-channel 0)) + ) + ) + ) + (set! (-> self skel root-channel 3 command) 'push) + (set! (-> self skel root-channel 6 command) 'stack) + (let ((v1-265 (-> self skel root-channel 0))) + (set! (-> v1-265 frame-group) (the-as art-joint-anim (-> self draw art-group data 23))) + ) + (let ((f28-1 (ja-aframe f28-0 0))) + (let ((s5-11 (-> self skel root-channel 0))) + (set! (-> s5-11 frame-interp) 0.0) + (set! (-> s5-11 dist) (-> *TARGET-bank* walk-cycle-dist)) + (joint-control-channel-group-eval! + s5-11 + (the-as art-joint-anim (-> self draw art-group data 23)) + num-func-identity + ) + (set! (-> s5-11 frame-num) f28-1) + ) + (let ((s5-12 (-> self skel root-channel 1))) + (set! (-> s5-12 frame-interp) 0.0) + (set! (-> s5-12 dist) (-> *TARGET-bank* walk-down-cycle-dist)) + (joint-control-channel-group-eval! + s5-12 + (the-as art-joint-anim (-> self draw art-group data 25)) + num-func-identity + ) + (set! (-> s5-12 frame-num) f28-1) + ) + (let ((s5-13 (-> self skel root-channel 2))) + (set! (-> s5-13 frame-interp) 0.0) + (set! (-> s5-13 dist) (-> *TARGET-bank* walk-side-cycle-dist)) + (joint-control-channel-group-eval! + s5-13 + (the-as art-joint-anim (-> self draw art-group data 27)) + num-func-identity + ) + (set! (-> s5-13 frame-num) f28-1) + ) + (let ((s5-14 (-> self skel root-channel 4))) + (set! (-> s5-14 frame-interp) 0.0) + (set! (-> s5-14 dist) (-> *TARGET-bank* run-down-cycle-dist)) + (joint-control-channel-group-eval! + s5-14 + (the-as art-joint-anim (-> self draw art-group data 20)) + num-func-identity + ) + (set! (-> s5-14 frame-num) f28-1) + ) + (let ((s5-15 (-> self skel root-channel 5))) + (set! (-> s5-15 frame-interp) 0.0) + (set! (-> s5-15 dist) (-> *TARGET-bank* run-side-cycle-dist)) + (joint-control-channel-group-eval! + s5-15 + (the-as art-joint-anim (-> self draw art-group data 22)) + num-func-identity + ) + (set! (-> s5-15 frame-num) f28-1) + ) + (let ((s5-16 (-> self skel root-channel 3))) + (set! (-> s5-16 frame-interp) 0.0) + (set! (-> s5-16 dist) (-> *TARGET-bank* run-cycle-dist)) + (joint-control-channel-group-eval! + s5-16 + (the-as art-joint-anim (-> self draw art-group data 18)) + num-func-identity + ) + (set! (-> s5-16 frame-num) f28-1) + ) + ) + (let ((f28-2 0.0) + (f26-1 0.0) + ) + (while #t + (let ((f22-0 (fmax + (-> (new 'static 'array float 1 -1.0) 0) + (fmin (-> (new 'static 'array float 1 1.0) 0) (* 2.0 (-> self control unknown-float61))) + ) + ) + (f24-0 (fmax + (-> (new 'static 'array float 1 -1.0) 0) + (fmin (-> (new 'static 'array float 1 1.0) 0) (* 1.6 (-> self control unknown-float62))) + ) + ) + ) + (set! f30-0 (seek + f30-0 + (fmax 0.0 (fmin + (-> (new 'static 'array float 1 1.0) 0) + (* 0.000048828126 (+ -16384.0 (-> self control unknown-float01))) + ) + ) + (* 2.0 (-> *display* seconds-per-frame)) + ) + ) + (let ((v1-317 (-> self skel effect))) + (set! (-> v1-317 channel-offset) (if (< 0.5 f30-0) + 3 + 0 + ) + ) + ) + 0 + (let ((f0-64 (fabs (- f22-0 f28-2)))) + (set! f28-2 (seek f28-2 f22-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-64))))) + ) + (let ((f0-69 (fabs (- f24-0 f26-1)))) + (set! f26-1 (seek f26-1 f24-0 (fmax 0.05 (fmin 0.2 (* 0.25 f0-69))))) + ) + ) + (cond + ((>= f28-2 0.0) + (let ((v1-329 (-> self skel root-channel 1))) + (set! (-> v1-329 frame-interp) (fabs f28-2)) + (set! (-> v1-329 dist) (-> *TARGET-bank* walk-up-cycle-dist)) + (set! (-> v1-329 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) + ) + (let ((v1-332 (-> self skel root-channel 4))) + (set! (-> v1-332 frame-interp) (fabs f28-2)) + (set! (-> v1-332 dist) (-> *TARGET-bank* run-up-cycle-dist)) + (set! (-> v1-332 frame-group) (the-as art-joint-anim (-> self draw art-group data 19))) + ) ) - (set! (-> a0-182 param 0) f0-92) - (joint-control-channel-group-eval! - a0-182 - (the-as art-joint-anim #f) - num-func-loop! + (else + (let ((v1-335 (-> self skel root-channel 1))) + (set! (-> v1-335 frame-interp) (fabs f28-2)) + (set! (-> v1-335 dist) (-> *TARGET-bank* walk-down-cycle-dist)) + (set! (-> v1-335 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) + ) + (let ((v1-338 (-> self skel root-channel 4))) + (set! (-> v1-338 frame-interp) (fabs f28-2)) + (set! (-> v1-338 dist) (-> *TARGET-bank* run-down-cycle-dist)) + (set! (-> v1-338 frame-group) (the-as art-joint-anim (-> self draw art-group data 20))) + ) + ) + ) + (cond + ((>= f26-1 0.0) + (let ((v1-341 (-> self skel root-channel 2))) + (set! (-> v1-341 frame-interp) (fabs f26-1)) + (set! (-> v1-341 dist) (-> *TARGET-bank* walk-side-cycle-dist)) + (set! (-> v1-341 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) + ) + (let ((v1-344 (-> self skel root-channel 5))) + (set! (-> v1-344 frame-interp) (fabs f26-1)) + (set! (-> v1-344 dist) (-> *TARGET-bank* run-side-cycle-dist)) + (set! (-> v1-344 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) + ) + ) + (else + (let ((v1-347 (-> self skel root-channel 2))) + (set! (-> v1-347 frame-interp) (fabs f26-1)) + (set! (-> v1-347 dist) (-> *TARGET-bank* walk-side-cycle-dist)) + (set! (-> v1-347 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) + ) + (let ((v1-350 (-> self skel root-channel 5))) + (set! (-> v1-350 frame-interp) (fabs f26-1)) + (set! (-> v1-350 dist) (-> *TARGET-bank* run-side-cycle-dist)) + (set! (-> v1-350 frame-group) (the-as art-joint-anim (-> self draw art-group data 22))) + ) + ) + ) + (set! (-> self skel root-channel 6 frame-interp) f30-0) + (let* ((f1-19 (dummy-9 (-> self skel))) + (f0-92 (/ (-> self control unknown-float01) (* 60.0 (/ f1-19 (-> *TARGET-bank* run-cycle-length))))) + (a0-182 (-> self skel root-channel 0)) + ) + (set! (-> a0-182 param 0) f0-92) + (joint-control-channel-group-eval! a0-182 (the-as art-joint-anim #f) num-func-loop!) + ) + (let ((a0-183 (-> self skel root-channel 1))) + (set! (-> a0-183 param 0) 0.0) + (joint-control-channel-group-eval! a0-183 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-184 (-> self skel root-channel 2))) + (set! (-> a0-184 param 0) 0.0) + (joint-control-channel-group-eval! a0-184 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-185 (-> self skel root-channel 3))) + (set! (-> a0-185 param 0) 0.0) + (joint-control-channel-group-eval! a0-185 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-186 (-> self skel root-channel 4))) + (set! (-> a0-186 param 0) 0.0) + (joint-control-channel-group-eval! a0-186 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((a0-187 (-> self skel root-channel 5))) + (set! (-> a0-187 param 0) 0.0) + (joint-control-channel-group-eval! a0-187 (the-as art-joint-anim #f) num-func-chan) + ) + (if (and gp-0 (!= (-> self skel root-channel 0) (-> self skel channel))) + (ja-blend-eval) + ) + (suspend) + ) ) - ) - (let ((a0-183 (-> self skel root-channel 1))) - (set! (-> a0-183 param 0) 0.0) - (joint-control-channel-group-eval! - a0-183 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-184 (-> self skel root-channel 2))) - (set! (-> a0-184 param 0) 0.0) - (joint-control-channel-group-eval! - a0-184 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-185 (-> self skel root-channel 3))) - (set! (-> a0-185 param 0) 0.0) - (joint-control-channel-group-eval! - a0-185 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-186 (-> self skel root-channel 4))) - (set! (-> a0-186 param 0) 0.0) - (joint-control-channel-group-eval! - a0-186 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((a0-187 (-> self skel root-channel 5))) - (set! (-> a0-187 param 0) 0.0) - (joint-control-channel-group-eval! - a0-187 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (if (and gp-0 (!= (-> self skel root-channel 0) (-> self skel channel))) - (ja-blend-eval) - ) - (suspend) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -2651,145 +1606,96 @@ target-standard-event-handler :enter (behavior () - (vector-turn-to (-> self control transv)) - (set! (-> self control unknown-surface00) *turn-around-mods*) - (set! - (-> self control unknown-float81) - (-> (new 'static 'array float 1 1.0) 0) + (vector-turn-to (-> self control transv)) + (set! (-> self control unknown-surface00) *turn-around-mods*) + (set! (-> self control unknown-float81) (-> (new 'static 'array float 1 1.0) 0)) + (none) ) - (none) - ) :exit (behavior () - (target-state-hook-exit) - (set-forward-vel (-> (new 'static 'array float 1 0.0) 0)) - (set! (-> self control unknown-float01) 0.0) - (set-quaternion! (-> self control) (-> self control dir-targ)) - (set! (-> self control unknown-float81) 0.0) - (none) - ) + (target-state-hook-exit) + (set-forward-vel (-> (new 'static 'array float 1 0.0) 0)) + (set! (-> self control unknown-float01) 0.0) + (set-quaternion! (-> self control) (-> self control dir-targ)) + (set! (-> self control unknown-float81) 0.0) + (none) + ) :trans (behavior () - ((-> self state-hook)) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + ((-> self state-hook)) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + ) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons circle) + ) + (can-feet?) + ) + (go target-attack) ) - ) - (pad-buttons x) - ) - (can-jump? #f) - ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) + (if (can-hands? #t) + (go target-running-attack) + ) + (if (and + (zero? (logand (-> self control status) 1)) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) 24) + ) + (go target-falling #f) + ) + (slide-down-test) + (none) ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons circle) - ) - (can-feet?) - ) - (go target-attack) - ) - (if (can-hands? #t) - (go target-running-attack) - ) - (if - (and - (zero? (logand (-> self control status) 1)) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - 24 - ) - ) - (go target-falling #f) - ) - (slide-down-test) - (none) - ) :code (behavior () - (ja-channel-push! 1 12) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 33)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (quaternion-rotate-y! - (-> self control dir-targ) - (-> self control dir-targ) - (the-as float 32768.0) - ) - (TODO-RENAME-9 (-> self align)) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) + (ja-channel-push! 1 12) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 33)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) ) - (set! (-> a0-4 param 1) 2.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + (quaternion-rotate-y! (-> self control dir-targ) (-> self control dir-targ) (the-as float 32768.0)) (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 - (-> self align) - 16 - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 2.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) + (TODO-RENAME-9 (-> self align)) + (TODO-RENAME-10 + (-> self align) + 16 + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + ) + ) + (remove-exit) + (set! (-> self control unknown-float81) 0.0) + (set-forward-vel (the-as float 40960.0)) + (set! (-> self control unknown-float01) 40960.0) + (target-state-hook-exit) + (go target-walk) + (none) ) - (remove-exit) - (set! (-> self control unknown-float81) 0.0) - (set-forward-vel (the-as float 40960.0)) - (set! (-> self control unknown-float01) 40960.0) - (target-state-hook-exit) - (go target-walk) - (none) - ) :post target-no-stick-post ) @@ -2799,305 +1705,216 @@ :event target-walk-event-handler :enter - (behavior () - (set! (-> self control unknown-surface00) *jump-mods*) - (none) - ) + (behavior () (set! (-> self control unknown-surface00) *jump-mods*) (none)) :exit - (behavior () - (set! (-> self control unknown-dword35) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self control unknown-dword35) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (when - (or - (logtest? (-> self control status) 1) - (if - (< - (target-move-dist (the-as int (-> *TARGET-bank* stuck-time))) - (-> *TARGET-bank* stuck-distance) - ) - #t + (when (or + (logtest? (-> self control status) 1) + (if (< (target-move-dist (the-as int (-> *TARGET-bank* stuck-time))) (-> *TARGET-bank* stuck-distance)) + #t + ) + ) + (logior! (-> self control status) 1) + (go target-duck-stance) ) - ) - (logior! (-> self control status) 1) - (go target-duck-stance) + (none) ) - (none) - ) :code (behavior () - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) + (if (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 31) + ) + ) + (ja-channel-push! 1 30) ) - (ja-channel-push! 1 30) - ) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 31)) - ) - (set! - (-> a0-5 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 31)) - data - 0 - length - ) - -1 + (while #t + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) + (set! (-> a0-5 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 31)) data 0 length) -1)) + ) + (set! (-> a0-5 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-5 frame-num) 0.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 31)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-5 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 31)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) ;; definition for function init-var-jump ;; Used lq/sq -(defbehavior - init-var-jump target - ((arg0 float) (arg1 float) (arg2 vector) (arg3 vector) (arg4 vector)) +(defbehavior init-var-jump target ((arg0 float) (arg1 float) (arg2 vector) (arg3 vector) (arg4 vector)) (set! (-> self control status) (logand -16385 (-> self control status))) (delete-back-vel) - (when - (< - (- - (-> *display* base-frame-counter) - (the-as int (-> self control rider-time)) - ) - 15 - ) - (let - ((f0-1 - (fmax - 0.0 - (fmin - 28672.0 - (* - 0.5 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control rider-last-move) + (when (< (- (-> *display* base-frame-counter) (the-as int (-> self control rider-time))) 15) + (let ((f0-1 + (fmax + 0.0 + (fmin 28672.0 (* 0.5 (vector-dot (-> self control dynam gravity-normal) (-> self control rider-last-move)))) + ) + ) ) - ) - ) - ) + (set! arg0 (+ arg0 f0-1)) + (set! arg1 (+ arg1 f0-1)) + ) + (when (or + (logtest? (-> self control unknown-surface01 flags) #x4000) + (= (-> self control poly-pat material) (pat-material rotate)) + ) + (+! (-> self control transv x) (-> self control rider-last-move x)) + (+! (-> self control transv z) (-> self control rider-last-move z)) ) - ) - (set! arg0 (+ arg0 f0-1)) - (set! arg1 (+ arg1 f0-1)) ) - (when - (or - (logtest? (-> self control unknown-surface01 flags) #x4000) - (= (-> self control poly-pat material) (pat-material rotate)) - ) - (+! (-> self control transv x) (-> self control rider-last-move x)) - (+! (-> self control transv z) (-> self control rider-last-move z)) - ) - ) (set! (-> self control unknown-float123) 0.0) (set! (-> self control unknown-float124) 0.0) (cond - (arg3 - (set! - (-> self control unknown-uint20) - (the-as uint (- arg0 (+ -409.6 (-> *TARGET-bank* jump-collide-offset)))) - ) - (set! - (-> self control unknown-int21) - (the-as int (- arg1 (-> *TARGET-bank* jump-collide-offset))) - ) - ) - (else - (set! (-> self control unknown-uint20) (the-as uint arg0)) - (set! (-> self control unknown-int21) (the-as int arg1)) - ) - ) - (when arg2 - (let ((s4-1 (new-stack-vector0))) - (let ((f0-16 (vector-dot (-> self control dynam gravity-normal) arg4))) - 0.0 - (vector-! - s4-1 - arg4 - (vector-float*! s4-1 (-> self control dynam gravity-normal) f0-16) - ) - ) - (let* ((f0-17 (vector-length s4-1)) - (f1-11 f0-17) - (f2-7 - (- - (sqrtf (* 2.0 (-> self control dynam gravity-length) arg0)) - (* 0.008333334 (- (-> self control dynam gravity-length))) - ) + (arg3 + (set! (-> self control unknown-uint20) + (the-as uint (- arg0 (+ -409.6 (-> *TARGET-bank* jump-collide-offset)))) ) - ) - (vector+! - arg4 - (vector-float*! arg4 (-> self control dynam gravity-normal) f2-7) - (vector-float*! s4-1 s4-1 (/ f0-17 f1-11)) + (set! (-> self control unknown-int21) (the-as int (- arg1 (-> *TARGET-bank* jump-collide-offset)))) + ) + (else + (set! (-> self control unknown-uint20) (the-as uint arg0)) + (set! (-> self control unknown-int21) (the-as int arg1)) + ) + ) + (when arg2 + (let ((s4-1 (new-stack-vector0))) + (let ((f0-16 (vector-dot (-> self control dynam gravity-normal) arg4))) + 0.0 + (vector-! s4-1 arg4 (vector-float*! s4-1 (-> self control dynam gravity-normal) f0-16)) + ) + (let* ((f0-17 (vector-length s4-1)) + (f1-11 f0-17) + (f2-7 + (- (sqrtf (* 2.0 (-> self control dynam gravity-length) arg0)) + (* 0.008333334 (- (-> self control dynam gravity-length))) + ) + ) + ) + (vector+! + arg4 + (vector-float*! arg4 (-> self control dynam gravity-normal) f2-7) + (vector-float*! s4-1 s4-1 (/ f0-17 f1-11)) + ) + ) ) - ) ) - ) (let ((v0-2 (-> self control unknown-vector102))) - (set! (-> v0-2 quad) (-> self control trans quad)) - v0-2 - ) + (set! (-> v0-2 quad) (-> self control trans quad)) + v0-2 + ) ) ;; definition for function mod-var-jump ;; Used lq/sq -(defbehavior - mod-var-jump target - ((arg0 symbol) (arg1 symbol) (arg2 symbol) (arg3 vector)) +(defbehavior mod-var-jump target ((arg0 symbol) (arg1 symbol) (arg2 symbol) (arg3 vector)) (local-vars (v0-2 vector)) - (let - ((f30-0 - (* - 0.033333335 - (the float (- (-> *display* base-frame-counter) (-> self state-time))) - ) - ) - ) - (cond - ((or - (< (-> (new 'static 'array float 1 1.0) 0) f30-0) - (< (-> self control unknown-float123) 0.0) - (not arg2) - ) - (set! - (-> self control unknown-float123) - (-> (new 'static 'array float 1 -1.0) 0) - ) - ) - (else - (set! (-> self control unknown-float123) f30-0) - (set! (-> self control unknown-float124) f30-0) - (when arg0 - (let - ((s3-1 - (vector-! - (new-stack-vector0) - (-> self control trans) - (-> self control unknown-vector102) - ) - ) - (s4-0 (new-stack-vector0)) - ) - (let ((f0-5 (vector-dot (-> self control dynam gravity-normal) arg3))) - 0.0 - (vector-! - s4-0 - arg3 - (vector-float*! s4-0 (-> self control dynam gravity-normal) f0-5) - ) - ) - (let* ((f28-0 (vector-length s4-0)) - (f26-0 f28-0) - (f0-13 - (- - (sqrtf - (* - 2.0 - (-> self control dynam gravity-length) - (- - (lerp-scale - (the-as float (-> self control unknown-uint20)) - (the-as float (-> self control unknown-uint30)) - f30-0 - (-> (new 'static 'array float 1 0.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) - (vector-dot (-> self control dynam gravity-normal) s3-1) - ) - ) - ) - (* 0.008333334 (- (-> self control dynam gravity-length))) - ) - ) - ) - (vector+! - arg3 - (vector-float*! arg3 (-> self control dynam gravity-normal) f0-13) - (vector-float*! s4-0 s4-0 (/ f28-0 f26-0)) - ) - ) - ) - ) - ) - ) - ) - 0 - (when (and arg1 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (and (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - extra - ) - #t - ) - ) - (let ((v1-57 (res-lump-struct (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - extra - ) - 'collide-offset vector :time (ja-frame-num 0) - ) - ) - ) + (let ((f30-0 (* 0.033333335 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) (cond - (v1-57 - (set! v0-2 (-> self control unknown-vector13)) - (set! (-> v0-2 quad) (-> v1-57 quad)) + ((or (< (-> (new 'static 'array float 1 1.0) 0) f30-0) (< (-> self control unknown-float123) 0.0) (not arg2)) + (set! (-> self control unknown-float123) (-> (new 'static 'array float 1 -1.0) 0)) + ) + (else + (set! (-> self control unknown-float123) f30-0) + (set! (-> self control unknown-float124) f30-0) + (when arg0 + (let ((s3-1 (vector-! (new-stack-vector0) (-> self control trans) (-> self control unknown-vector102))) + (s4-0 (new-stack-vector0)) + ) + (let ((f0-5 (vector-dot (-> self control dynam gravity-normal) arg3))) + 0.0 + (vector-! s4-0 arg3 (vector-float*! s4-0 (-> self control dynam gravity-normal) f0-5)) + ) + (let* ((f28-0 (vector-length s4-0)) + (f26-0 f28-0) + (f0-13 + (- (sqrtf + (* 2.0 + (-> self control dynam gravity-length) + (- (lerp-scale + (the-as float (-> self control unknown-uint20)) + (the-as float (-> self control unknown-uint30)) + f30-0 + (-> (new 'static 'array float 1 0.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + ) + (vector-dot (-> self control dynam gravity-normal) s3-1) + ) + ) + ) + (* 0.008333334 (- (-> self control dynam gravity-length))) + ) + ) + ) + (vector+! + arg3 + (vector-float*! arg3 (-> self control dynam gravity-normal) f0-13) + (vector-float*! s4-0 s4-0 (/ f28-0 f26-0)) + ) + ) + ) + ) + ) ) - (else - (set! v0-2 (-> self control unknown-vector13)) - (set! (-> v0-2 quad) (the-as uint128 0)) - ) - ) ) - v0-2 - ) + 0 + (when (and + arg1 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (and + (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + extra + ) + #t + ) + ) + (let ((v1-57 (res-lump-struct + (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + extra + ) + 'collide-offset + vector + :time + (ja-frame-num 0) + ) + ) + ) + (cond + (v1-57 + (set! v0-2 (-> self control unknown-vector13)) + (set! (-> v0-2 quad) (-> v1-57 quad)) + ) + (else + (set! v0-2 (-> self control unknown-vector13)) + (set! (-> v0-2 quad) (the-as uint128 0)) + ) + ) + ) + v0-2 + ) ) ;; failed to figure out what this is: @@ -3106,301 +1923,166 @@ target-standard-event-handler :enter (behavior () - (set! - (-> self control unknown-float81) - (-> (new 'static 'array float 1 1.0) 0) + (set! (-> self control unknown-float81) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> self control unknown-surface00) *duck-mods*) + (target-collide-set! 'duck (-> (new 'static 'array float 1 1.0) 0)) + (none) ) - (set! (-> self control unknown-surface00) *duck-mods*) - (target-collide-set! 'duck (-> (new 'static 'array float 1 1.0) 0)) - (none) - ) :exit (behavior () - (if - (not - (or - (= (-> self next-state name) 'target-duck-walk) - (= (-> self next-state name) 'target-duck-stance) - (= (-> self next-state name) 'target-walk) - (= (-> self next-state name) 'target-stance) - (= (-> self next-state name) 'target-stance-look-around) - ) - ) - (target-state-hook-exit) + (if (not (or + (= (-> self next-state name) 'target-duck-walk) + (= (-> self next-state name) 'target-duck-stance) + (= (-> self next-state name) 'target-walk) + (= (-> self next-state name) 'target-stance) + (= (-> self next-state name) 'target-stance-look-around) + ) + ) + (target-state-hook-exit) + ) + (target-exit) + (target-collide-set! 'normal (-> (new 'static 'array float 1 0.0) 0)) + (none) ) - (target-exit) - (target-collide-set! 'normal (-> (new 'static 'array float 1 0.0) 0)) - (none) - ) :trans (behavior () - ((-> self state-hook)) - (if - (and - (or - (zero? - (logand - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons l1 r1) - ) - ) - (logtest? (-> self state-flags) 8192) - ) - (let ((v1-13 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + ((-> self state-hook)) + (if (and + (or + (zero? + (logand (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons l1 r1)) + ) + (logtest? (-> self state-flags) 8192) + ) + (let ((v1-13 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (and + (not (or (= v1-13 (-> self draw art-group data 70)) (= v1-13 (-> self draw art-group data 69)))) + (can-exit-duck?) + ) + ) ) - ) - (and - (not - (or - (= v1-13 (-> self draw art-group data 70)) - (= v1-13 (-> self draw art-group data 69)) - ) + (go target-stance) ) - (can-exit-duck?) - ) - ) - ) - (go target-stance) - ) - (if (move-legs?) - (go target-duck-walk) - ) - (when - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + (if (move-legs?) + (go target-duck-walk) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 + (when (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + ) + (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (go target-high-jump (-> *TARGET-bank* duck-jump-height-min) (-> *TARGET-bank* duck-jump-height-max) 'duck) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) + ) + ) + (if (and (can-hands? #t) (can-exit-duck?)) + (go + target-attack-uppercut + (-> *TARGET-bank* attack-jump-height-min) + (-> *TARGET-bank* attack-jump-height-max) + ) ) - ) - (pad-buttons x) - ) - (can-jump? #f) - ) - (if - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (go - target-high-jump - (-> *TARGET-bank* duck-jump-height-min) - (-> *TARGET-bank* duck-jump-height-max) - 'duck - ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) - ) + (fall-test) + (slide-down-test) + (none) ) - (if (and (can-hands? #t) (can-exit-duck?)) - (go - target-attack-uppercut - (-> *TARGET-bank* attack-jump-height-min) - (-> *TARGET-bank* attack-jump-height-max) - ) - ) - (fall-test) - (slide-down-test) - (none) - ) :code (behavior () - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 69) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 70)) - ) - (set! - (-> a0-4 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 70)) - data - 0 - length + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 69) ) - -1 + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 70))) + (set! (-> a0-4 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 70)) data 0 length) -1)) + ) + (set! (-> a0-4 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 70)) num-func-seek!) ) - ) - ) - (set! (-> a0-4 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (the-as art-joint-anim (-> self draw art-group data 70)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) + (until (ja-done? 0) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) ) - (-> self draw art-group data 32) - ) - (ja-channel-push! 1 30) - ) - (else - (ja-channel-push! 1 12) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 frame-group) - (the-as art-joint-anim (-> self draw art-group data 30)) ) - (set! - (-> a0-19 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 30)) - data - 0 - length + ((and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 31) + ) + (= (-> self skel root-channel 0) (-> self skel channel)) + ) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 32) + ) + (ja-channel-push! 1 30) + ) + (else + (ja-channel-push! 1 12) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) + (set! (-> a0-19 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 30)) data 0 length) -1)) + ) + (set! (-> a0-19 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-19 frame-num) 0.0) + (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 30)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) + (set! (-> a0-20 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-19 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! - a0-19 - (the-as art-joint-anim (-> self draw art-group data 30)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 param 0) - (the float (+ (-> a0-20 frame-group data 0 length) -1)) + (while #t + (let ((a0-22 (-> self skel root-channel 0))) + (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) + (set! (-> a0-22 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 31)) data 0 length) -1)) + ) + (set! (-> a0-22 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-22 frame-num) 0.0) + (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 31)) num-func-seek!) ) - (set! (-> a0-20 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (suspend) + (let ((a0-23 (-> self skel root-channel 0))) + (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) + (set! (-> a0-23 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - ) + (none) ) - (while #t - (let ((a0-22 (-> self skel root-channel 0))) - (set! - (-> a0-22 frame-group) - (the-as art-joint-anim (-> self draw art-group data 31)) - ) - (set! - (-> a0-22 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 31)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-22 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! - a0-22 - (the-as art-joint-anim (-> self draw art-group data 31)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! - (-> a0-23 param 0) - (the float (+ (-> a0-23 frame-group data 0 length) -1)) - ) - (set! (-> a0-23 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-23 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -3411,198 +2093,128 @@ target-standard-event-handler :enter (behavior () - (set! - (-> self control unknown-float81) - (-> (new 'static 'array float 1 1.0) 0) - ) - (target-collide-set! 'duck (-> (new 'static 'array float 1 1.0) 0)) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 69) - ) + (set! (-> self control unknown-float81) (-> (new 'static 'array float 1 1.0) 0)) + (target-collide-set! 'duck (-> (new 'static 'array float 1 1.0) 0)) + (if (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 69) + ) + ) + (set! (-> self control unknown-surface00) *duck-mods*) ) - (set! (-> self control unknown-surface00) *duck-mods*) + (none) ) - (none) - ) :exit (-> target-duck-stance exit) :trans (behavior () - ((-> self state-hook)) - (if - (and - (or - (zero? - (logand - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons l1 r1) + ((-> self state-hook)) + (if (and + (or + (zero? + (logand (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons l1 r1)) + ) + (logtest? (-> self state-flags) 8192) + (and + (logtest? (-> self water flags) 1024) + (>= (- (- (-> self control trans y) (- (-> self water base-height) (-> self water wade-height)))) 2457.6) + ) + ) + (can-exit-duck?) + ) + (go target-walk) ) - ) - (logtest? (-> self state-flags) 8192) - (and - (logtest? (-> self water flags) 1024) - (>= - (- - (- - (-> self control trans y) - (- (-> self water base-height) (-> self water wade-height)) + (if (not (move-legs?)) + (go target-duck-stance) + ) + (when (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + ) + (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (go target-high-jump (-> *TARGET-bank* duck-jump-height-min) (-> *TARGET-bank* duck-jump-height-max) 'duck) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) + ) + ) + (if (and (can-hands? #t) (can-exit-duck?)) + (go + target-attack-uppercut + (-> *TARGET-bank* attack-jump-height-min) + (-> *TARGET-bank* attack-jump-height-max) ) - ) - 2457.6 ) - ) - ) - (can-exit-duck?) - ) - (go target-walk) + (fall-test) + (slide-down-test) + (none) ) - (if (not (move-legs?)) - (go target-duck-stance) - ) - (when - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons x) - ) - (can-jump? #f) - ) - (if - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (go - target-high-jump - (-> *TARGET-bank* duck-jump-height-min) - (-> *TARGET-bank* duck-jump-height-max) - 'duck - ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) - ) - ) - (if (and (can-hands? #t) (can-exit-duck?)) - (go - target-attack-uppercut - (-> *TARGET-bank* attack-jump-height-min) - (-> *TARGET-bank* attack-jump-height-max) - ) - ) - (fall-test) - (slide-down-test) - (none) - ) :code (behavior () - (cond - ((and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 32) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (cond + ((and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 32) + ) + (= (-> self skel root-channel 0) (-> self skel channel)) ) - (-> self draw art-group data 31) - ) - (ja-channel-push! 1 135) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 32)) - num-func-identity ) - (set! (-> gp-0 frame-num) 0.0) - ) - ) - (else - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 32)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - ) - ) - (while #t - (if (= (-> self skel root-channel 0) (-> self skel channel)) - (set! (-> self control unknown-surface00) *duck-mods*) - ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 param 0) - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (/ - (-> self control unknown-float01) - (* - 60.0 - (/ - (-> *TARGET-bank* duck-walk-cycle-dist) - (-> *TARGET-bank* run-cycle-length) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 31) ) + (ja-channel-push! 1 135) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 32)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) ) - ) ) + (else + (ja-channel-push! 1 30) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 32)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) + ) + ) ) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-loop! + (while #t + (if (= (-> self skel root-channel 0) (-> self skel channel)) + (set! (-> self control unknown-surface00) *duck-mods*) + ) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) + (fmin + (-> (new 'static 'array float 1 1.0) 0) + (/ (-> self control unknown-float01) + (* 60.0 (/ (-> *TARGET-bank* duck-walk-cycle-dist) (-> *TARGET-bank* run-cycle-length))) + ) + ) + ) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -3613,366 +2225,224 @@ target-jump-event-handler :enter (behavior ((arg0 float) (arg1 float) (arg2 surface)) - (when (= (-> self control unknown-symbol40) 'launch) - (level-hint-spawn - (game-text-id daxter-screaming-jump) - "sksp009d" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (level-hint-spawn - (game-text-id daxter-wahoo-jump) - "sksp009e" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (case (-> (level-get-target-inside *level*) name) - (('citadel) - (level-hint-spawn - (game-text-id daxter-land-on-the-next-launcher) - "sksp0393" + (when (= (-> self control unknown-symbol40) 'launch) + (level-hint-spawn + (game-text-id daxter-screaming-jump) + "sksp009d" (the-as entity #f) *entity-pool* (game-task none) ) - (level-hint-spawn - (game-text-id daxter-dont-miss-the-next-launcher) - "sksp0388" + (level-hint-spawn + (game-text-id daxter-wahoo-jump) + "sksp009e" (the-as entity #f) *entity-pool* (game-task none) ) - ) - ) - enter-state - (let ((a0-9 (-> self control unknown-dword60)) - (a1-5 (-> self control unknown-dword61)) - (a2-5 (-> self control unknown-vector102)) + (case (-> (level-get-target-inside *level*) name) + (('citadel) + (level-hint-spawn + (game-text-id daxter-land-on-the-next-launcher) + "sksp0393" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (level-hint-spawn + (game-text-id daxter-dont-miss-the-next-launcher) + "sksp0388" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ) + enter-state + (let ((a0-9 (-> self control unknown-dword60)) + (a1-5 (-> self control unknown-dword61)) + (a2-5 (-> self control unknown-vector102)) + ) + (set! (-> a2-5 quad) (-> (the-as vector (-> self control unknown-dword62)) quad)) + (go target-launch (the-as float a0-9) (the-as symbol a1-5) a2-5 (-> self control unknown-dword63)) + ) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (sound-play-by-name (static-sound-name "jump") (new-sound-id) 716 0 0 1 #t) + (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #t) (-> self control transv)) + (set! (-> self control status) (logand -8 (-> self control status))) + (set! arg2 (cond + (arg2 + (empty) + arg2 + ) + (else + *jump-mods* + ) + ) ) - (set! - (-> a2-5 quad) - (-> (the-as vector (-> self control unknown-dword62)) quad) - ) - (go - target-launch - (the-as float a0-9) - (the-as symbol a1-5) - a2-5 - (-> self control unknown-dword63) - ) - ) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (sound-play-by-name (static-sound-name "jump") (new-sound-id) 716 0 0 1 #t) - (init-var-jump - arg0 - arg1 - (the-as vector #t) - (the-as vector #t) - (-> self control transv) - ) - (set! (-> self control status) (logand -8 (-> self control status))) - (set! arg2 (cond - (arg2 - (empty) - arg2 + (set! (-> self control unknown-surface00) arg2) + (set! (-> self control unknown-float123) + (fmax + 0.0 + (fmin + (-> (new 'static 'array float 1 1.0) 0) + (* 0.00004359654 (+ -11468.8 (-> self control unknown-float01))) + ) + ) + ) + (set! (-> self control unknown-float122) + (fmax 0.0 (fmin + (-> (new 'static 'array float 1 1.0) 0) + (* 0.000048828126 (+ -10240.0 (-> self control unknown-float01))) + ) ) - (else - *jump-mods* - ) - ) + ) + (none) ) - (set! (-> self control unknown-surface00) arg2) - (set! - (-> self control unknown-float123) - (fmax - 0.0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (* 0.00004359654 (+ -11468.8 (-> self control unknown-float01))) - ) - ) - ) - (set! - (-> self control unknown-float122) - (fmax - 0.0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (* 0.000048828126 (+ -10240.0 (-> self control unknown-float01))) - ) - ) - ) - (none) - ) :exit target-exit :trans (behavior () - (set! - (-> self control unknown-float123) - (fmax - (-> self control unknown-float123) - (* - 0.003921569 - (the - float - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - abutton - 6 + (set! (-> self control unknown-float123) + (fmax + (-> self control unknown-float123) + (* 0.003921569 (the float (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) abutton 6))) + ) + ) + (target-falling-trans #f (the-as cpad-list (if (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 38) + ) + 15 + -1 + ) + ) + ) + (if (and + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (pad-buttons x)) + (< (vector-dot (-> self control dynam gravity-normal) (-> self control transv)) 12288.0) + (and + (< -61440.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (zero? (logand (-> self water flags) 512)) + (zero? (logand (-> self state-flags) 2048)) + ) + ) + (go target-double-jump (-> *TARGET-bank* double-jump-height-min) (-> *TARGET-bank* double-jump-height-max)) ) - ) - ) - ) - ) - (target-falling-trans - #f - (the-as cpad-list (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - 15 - -1 - ) - ) - ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons x) - ) - (< - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - 12288.0 - ) - (and - (< - -61440.0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons square) + ) + (< (vector-dot (-> self control dynam gravity-normal) (-> self control transv)) 26624.0) + (and + (< -61440.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword36)) + (the-as int (-> *TARGET-bank* stuck-timeout)) + ) + (zero? (logand (-> self state-flags) 4096)) + (zero? (logand (-> self control unknown-surface01 flags) 384)) + ) + ) + (go + target-flop + (the-as float 65502.96) + (the-as float -163840.0) + (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (-> (new 'static 'array float 1 0.0) 0) + 68812.8 + ) + ) + ) ) - ) - (zero? (logand (-> self water flags) 512)) - (zero? (logand (-> self state-flags) 2048)) + (mod-var-jump + #t + #t + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons x)) + (-> self control transv) ) - ) - (go - target-double-jump - (-> *TARGET-bank* double-jump-height-min) - (-> *TARGET-bank* double-jump-height-max) - ) + (slide-down-test) + (set! (-> self control unknown-float122) + (seek + (-> self control unknown-float122) + (fmax 0.0 (fmin + (-> (new 'static 'array float 1 1.0) 0) + (* 0.000048828126 (+ -10240.0 (-> self control unknown-float01))) + ) + ) + (-> *display* seconds-per-frame) + ) + ) + (none) ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons square) - ) - (< - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - 26624.0 - ) - (and - (< - -61440.0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword36)) - (the-as int (-> *TARGET-bank* stuck-timeout)) - ) - (zero? (logand (-> self state-flags) 4096)) - (zero? (logand (-> self control unknown-surface01 flags) 384)) - ) - ) - (go - target-flop - (the-as float 65502.96) - (the-as float -163840.0) - (the-as - float - (if - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (-> (new 'static 'array float 1 0.0) 0) - 68812.8 - ) - ) - ) - ) - (mod-var-jump - #t - #t - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons x) - ) - (-> self control transv) - ) - (slide-down-test) - (set! - (-> self control unknown-float122) - (seek - (-> self control unknown-float122) - (fmax - 0.0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (* 0.000048828126 (+ -10240.0 (-> self control unknown-float01))) - ) - ) - (-> *display* seconds-per-frame) - ) - ) - (none) - ) :code (behavior ((arg0 float) (arg1 float) (arg2 surface)) - (ja-channel-push! 2 15) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 34)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-3 (-> self skel root-channel 1))) - (set! (-> a0-3 frame-interp) (-> self control unknown-float122)) - (set! - (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 40)) - ) - (set! (-> a0-3 param 0) 0.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 40)) - num-func-chan - ) - ) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 34)) - ) - (set! (-> a0-4 param 0) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim (-> self draw art-group data 34)) - num-func-+! - ) - ) - (let ((a0-5 (-> self skel root-channel 1))) - (set! (-> a0-5 frame-interp) (-> self control unknown-float122)) - (set! - (-> a0-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 40)) - ) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 40)) - num-func-chan - ) - ) - (suspend) - (until (ja-done? 0) - (let - ((f30-0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) + (ja-channel-push! 2 15) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 34)) + num-func-identity ) - ) - (f0-8 (- 20.0 (ja-aframe-num 0))) - (gp-1 (-> self skel root-channel 0)) + (set! (-> gp-0 frame-num) 0.0) ) - (set! - (-> gp-1 param 0) - (the float (+ (-> gp-1 frame-group data 0 length) -1)) + (let ((a0-3 (-> self skel root-channel 1))) + (set! (-> a0-3 frame-interp) (-> self control unknown-float122)) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) + (set! (-> a0-3 param 0) 0.0) + (joint-control-channel-group-eval! + a0-3 + (the-as art-joint-anim (-> self draw art-group data 40)) + num-func-chan + ) ) - (let ((v1-45 (and (< 0.0 f30-0) (< 0.0 f0-8)))) - (set! (-> gp-1 param 1) (if v1-45 - (fmin - (fmin - (-> (new 'static 'array float 1 3.0) 0) - f0-8 - ) - (/ - (* 5.0 f0-8) - (the - float - (time-to-apex f30-0 (the-as float -245760.0)) - ) - ) - ) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - ) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (let ((a0-10 (-> self skel root-channel 1))) - (set! (-> a0-10 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-10 param 0) 0.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-chan - ) - ) (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) + (set! (-> a0-4 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-+!) + ) + (let ((a0-5 (-> self skel root-channel 1))) + (set! (-> a0-5 frame-interp) (-> self control unknown-float122)) + (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) + (set! (-> a0-5 param 0) 0.0) + (joint-control-channel-group-eval! + a0-5 + (the-as art-joint-anim (-> self draw art-group data 40)) + num-func-chan + ) + ) + (suspend) + (until (ja-done? 0) + (let ((f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (f0-8 (- 20.0 (ja-aframe-num 0))) + (gp-1 (-> self skel root-channel 0)) + ) + (set! (-> gp-1 param 0) (the float (+ (-> gp-1 frame-group data 0 length) -1))) + (let ((v1-45 (and (< 0.0 f30-0) (< 0.0 f0-8)))) + (set! (-> gp-1 param 1) (if v1-45 + (fmin + (fmin (-> (new 'static 'array float 1 3.0) 0) f0-8) + (/ (* 5.0 f0-8) (the float (time-to-apex f30-0 (the-as float -245760.0)))) + ) + (-> (new 'static 'array float 1 1.0) 0) + ) + ) + ) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + (let ((a0-10 (-> self skel root-channel 1))) + (set! (-> a0-10 frame-interp) (-> self control unknown-float122)) + (set! (-> a0-10 param 0) 0.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-chan) + ) + (suspend) + ) + (target-falling-anim -1 60) + (none) ) - (target-falling-anim -1 60) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -3983,94 +2453,55 @@ target-jump-event-handler :enter (behavior ((arg0 float) (arg1 float)) - ((-> target-jump enter) arg0 arg1 (the-as surface #f)) - (set! (-> self control unknown-surface00) *forward-jump-mods*) - (none) - ) + ((-> target-jump enter) arg0 arg1 (the-as surface #f)) + (set! (-> self control unknown-surface00) *forward-jump-mods*) + (none) + ) :exit target-exit :trans (-> target-jump trans) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 34)) - ) - (set! - (-> gp-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 34)) - data - 0 - length + (ja-channel-set! 1) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) + (set! (-> gp-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) + ) + (set! (-> gp-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> gp-0 frame-num) (ja-aframe (-> (new 'static 'array float 1 3.0) 0) 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) + ) + (until (ja-done? 0) + (set! (-> self control unknown-dword70) 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> gp-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! - (-> gp-0 frame-num) - (ja-aframe (-> (new 'static 'array float 1 3.0) 0) 0) - ) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 34)) - num-func-seek! - ) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + (set! (-> a0-6 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) + ) + (while #t + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + (set! (-> a0-7 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! + a0-7 + (the-as art-joint-anim (-> self draw art-group data 38)) + num-func-loop! + ) + ) + ) + (none) ) - (until (ja-done? 0) - (set! (-> self control unknown-dword70) 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 38)) - ) - (set! (-> a0-6 param 0) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) - (while #t - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 38)) - ) - (set! (-> a0-7 param 0) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) - ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -4081,219 +2512,121 @@ target-jump-event-handler :enter (behavior ((arg0 float) (arg1 float)) - (when (= (-> self control unknown-symbol40) 'launch) - enter-state - (let ((a0-3 (-> self control unknown-dword60)) - (a1-1 (-> self control unknown-dword61)) - (a2-0 (-> self control unknown-vector102)) - ) - (set! - (-> a2-0 quad) - (-> (the-as vector (-> self control unknown-dword62)) quad) + (when (= (-> self control unknown-symbol40) 'launch) + enter-state + (let ((a0-3 (-> self control unknown-dword60)) + (a1-1 (-> self control unknown-dword61)) + (a2-0 (-> self control unknown-vector102)) + ) + (set! (-> a2-0 quad) (-> (the-as vector (-> self control unknown-dword62)) quad)) + (go target-launch (the-as float a0-3) (the-as symbol a1-1) a2-0 (-> self control unknown-dword63)) + ) ) - (go - target-launch - (the-as float a0-3) - (the-as symbol a1-1) - a2-0 - (-> self control unknown-dword63) - ) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #t) (-> self control transv)) + (set! (-> self control status) (logand -8 (-> self control status))) + (set! (-> self control unknown-surface00) *double-jump-mods*) + (none) ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (init-var-jump - arg0 - arg1 - (the-as vector #t) - (the-as vector #t) - (-> self control transv) - ) - (set! (-> self control status) (logand -8 (-> self control status))) - (set! (-> self control unknown-surface00) *double-jump-mods*) - (none) - ) :exit target-exit :trans (behavior () - (target-falling-trans - #f - (the-as cpad-list (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - 15 - -1 - ) - ) - ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons square) - ) - (< - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - 22118.4 - ) - (and - (< - -61440.0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) + (target-falling-trans #f (the-as cpad-list (if (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 38) + ) + 15 + -1 + ) + ) + ) + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons square) + ) + (< (vector-dot (-> self control dynam gravity-normal) (-> self control transv)) 22118.4) + (and + (< -61440.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword36)) + (the-as int (-> *TARGET-bank* stuck-timeout)) + ) + (zero? (logand (-> self state-flags) 4096)) + (zero? (logand (-> self control unknown-surface01 flags) 384)) + ) + ) + (go + target-flop + (the-as float 33775.48) + (the-as float -122880.0) + (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (-> (new 'static 'array float 1 0.0) 0) + 68812.8 + ) + ) + ) ) - ) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword36)) - (the-as int (-> *TARGET-bank* stuck-timeout)) - ) - (zero? (logand (-> self state-flags) 4096)) - (zero? (logand (-> self control unknown-surface01 flags) 384)) - ) - ) - (go - target-flop - (the-as float 33775.48) - (the-as float -122880.0) - (the-as - float - (if - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 + (if (!= (-> self state-time) (-> *display* base-frame-counter)) + (mod-var-jump + #t + #t + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons x)) + (-> self control transv) + ) ) - (-> (new 'static 'array float 1 0.0) 0) - 68812.8 - ) - ) - ) + (set! (-> self control unknown-float122) + (seek + (-> self control unknown-float122) + (fmax 0.0 (fmin + (-> (new 'static 'array float 1 1.0) 0) + (* 0.000048828126 (+ -10240.0 (-> self control unknown-float01))) + ) + ) + (-> *display* seconds-per-frame) + ) + ) + (none) ) - (if (!= (-> self state-time) (-> *display* base-frame-counter)) - (mod-var-jump - #t - #t - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons x) - ) - (-> self control transv) - ) - ) - (set! - (-> self control unknown-float122) - (seek - (-> self control unknown-float122) - (fmax - 0.0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (* 0.000048828126 (+ -10240.0 (-> self control unknown-float01))) - ) - ) - (-> *display* seconds-per-frame) - ) - ) - (none) - ) :code (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 2 15) - (dummy-10 - (-> self skel effect) - 'jump-double - (-> (new 'static 'array float 1 -1.0) 0) - -1 - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 34)) - ) - (set! - (-> gp-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 34)) - data - 0 - length + (ja-channel-push! 2 15) + (dummy-10 (-> self skel effect) 'jump-double (-> (new 'static 'array float 1 -1.0) 0) -1) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) + (set! (-> gp-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 34)) data 0 length) -1)) + ) + (set! (-> gp-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> gp-0 frame-num) (ja-aframe (the-as float 5.0) 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 34)) num-func-seek!) + ) + (let ((a0-5 (-> self skel root-channel 1))) + (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 40))) + (set! (-> a0-5 param 0) 0.0) + (joint-control-channel-group-eval! + a0-5 + (the-as art-joint-anim (-> self draw art-group data 40)) + num-func-chan ) - -1 - ) ) - ) - (set! (-> gp-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> gp-0 frame-num) (ja-aframe (the-as float 5.0) 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 34)) - num-func-seek! - ) + (until (ja-done? 0) + (suspend) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) + ) + (let ((a0-7 (-> self skel root-channel 1))) + (set! (-> a0-7 frame-interp) (-> self control unknown-float122)) + (set! (-> a0-7 param 0) 0.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-chan) + ) + ) + (target-falling-anim -1 60) + (none) ) - (let ((a0-5 (-> self skel root-channel 1))) - (set! - (-> a0-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 40)) - ) - (set! (-> a0-5 param 0) 0.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 40)) - num-func-chan - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (let ((a0-7 (-> self skel root-channel 1))) - (set! (-> a0-7 frame-interp) (-> self control unknown-float122)) - (set! (-> a0-7 param 0) 0.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - ) - (target-falling-anim -1 60) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -4304,190 +2637,105 @@ target-jump-event-handler :enter (behavior ((arg0 float) (arg1 float) (arg2 basic)) - (when (and (= (-> self control unknown-symbol40) 'launch) (!= arg2 'launch)) - enter-state - (let ((a0-3 (-> self control unknown-dword60)) - (a1-1 (-> self control unknown-dword61)) - (a2-1 (-> self control unknown-vector102)) + (when (and (= (-> self control unknown-symbol40) 'launch) (!= arg2 'launch)) + enter-state + (let ((a0-3 (-> self control unknown-dword60)) + (a1-1 (-> self control unknown-dword61)) + (a2-1 (-> self control unknown-vector102)) + ) + (set! (-> a2-1 quad) (-> (the-as vector (-> self control unknown-dword62)) quad)) + (go target-launch (the-as float a0-3) (the-as symbol a1-1) a2-1 (-> self control unknown-dword63)) + ) + ) + (set! (-> self control unknown-uint31) (the-as uint arg2)) + (if (or (= arg2 'duck) (= arg2 'launch)) + (go target-duck-high-jump arg0 arg1 (the-as symbol arg2)) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control status) (logand -8 (-> self control status))) + (sound-play-by-name (static-sound-name "jump") (new-sound-id) 1024 457 0 1 #t) + (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #t) (-> self control transv)) + (set! (-> self control unknown-surface00) (cond + ((= arg2 'flip) + *flip-jump-mods* + ) + ((= arg2 'flop-forward) + *forward-high-jump-mods* + ) + (else + *high-jump-mods* + ) + ) ) - (set! - (-> a2-1 quad) - (-> (the-as vector (-> self control unknown-dword62)) quad) - ) - (go - target-launch - (the-as float a0-3) - (the-as symbol a1-1) - a2-1 - (-> self control unknown-dword63) - ) - ) + (set! (-> self control unknown-float122) + (fmax 0.0 (fmin 0.5 (* 0.00008138021 (+ -409.6 (-> self control unknown-float01))))) + ) + (none) ) - (set! (-> self control unknown-uint31) (the-as uint arg2)) - (if (or (= arg2 'duck) (= arg2 'launch)) - (go target-duck-high-jump arg0 arg1 (the-as symbol arg2)) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control status) (logand -8 (-> self control status))) - (sound-play-by-name - (static-sound-name "jump") - (new-sound-id) - 1024 - 457 - 0 - 1 - #t - ) - (init-var-jump - arg0 - arg1 - (the-as vector #t) - (the-as vector #t) - (-> self control transv) - ) - (set! (-> self control unknown-surface00) (cond - ((= arg2 'flip) - *flip-jump-mods* - ) - ((= arg2 'flop-forward) - *forward-high-jump-mods* - ) - (else - *high-jump-mods* - ) - ) - ) - (set! - (-> self control unknown-float122) - (fmax - 0.0 - (fmin 0.5 (* 0.00008138021 (+ -409.6 (-> self control unknown-float01)))) - ) - ) - (none) - ) :exit target-exit :trans (behavior () - (target-falling-trans - #f - (the-as cpad-list (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - 15 - -1 - ) - ) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + (target-falling-trans #f (the-as cpad-list (if (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 38) + ) + 15 + -1 + ) + ) + ) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons square) + ) + (< (vector-dot (-> self control dynam gravity-normal) (-> self control transv)) 73728.0) + (and + (< -61440.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword36)) + (the-as int (-> *TARGET-bank* stuck-timeout)) + ) + (zero? (logand (-> self state-flags) 4096)) + (zero? (logand (-> self control unknown-surface01 flags) 384)) + ) + ) + (go + target-flop + (the-as float 33775.48) + (the-as float -122880.0) + (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (-> (new 'static 'array float 1 0.0) 0) + 68812.8 + ) + ) + ) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons square) + (mod-var-jump + #t + #t + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons x)) + (-> self control transv) ) - (< - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - 73728.0 - ) - (and - (< - -61440.0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword36)) - (the-as int (-> *TARGET-bank* stuck-timeout)) - ) - (zero? (logand (-> self state-flags) 4096)) - (zero? (logand (-> self control unknown-surface01 flags) 384)) - ) - ) - (go - target-flop - (the-as float 33775.48) - (the-as float -122880.0) - (the-as - float - (if - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (-> (new 'static 'array float 1 0.0) 0) - 68812.8 - ) - ) - ) + (set! (-> self control unknown-float122) + (seek + (-> self control unknown-float122) + (fmax + 0.0 + (fmin (-> (new 'static 'array float 1 1.0) 0) (* 0.00012207031 (+ -2048.0 (-> self control unknown-float01)))) + ) + (-> *display* seconds-per-frame) + ) + ) + (none) ) - (mod-var-jump - #t - #t - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons x) - ) - (-> self control transv) - ) - (set! - (-> self control unknown-float122) - (seek - (-> self control unknown-float122) - (fmax - 0.0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (* 0.00012207031 (+ -2048.0 (-> self control unknown-float01))) - ) - ) - (-> *display* seconds-per-frame) - ) - ) - (none) - ) :code (-> target-jump code) :post @@ -4500,86 +2748,65 @@ target-standard-event-handler :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control status) (logand -8 (-> self control status))) - (set! (-> self control unknown-surface00) *turn-around-mods*) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control status) (logand -8 (-> self control status))) + (set! (-> self control unknown-surface00) *turn-around-mods*) + (none) + ) :exit target-exit :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) - (if (not (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 31) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) + (if (not (and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 31) + ) + (= (-> self skel root-channel 0) (-> self skel channel)) + ) + ) + (ja-channel-push! 1 12) ) - (ja-channel-push! 1 12) - ) - (case arg2 - (('launch) - (let ((s3-0 (-> self skel root-channel 0))) - (set! - (-> s3-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 42)) - ) - (set! (-> s3-0 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> s3-0 frame-num) 0.0) - (joint-control-channel-group! - s3-0 - (the-as art-joint-anim (-> self draw art-group data 42)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-1 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - s3-1 - (the-as art-joint-anim #f) - num-func-seek! + (case arg2 + (('launch) + (let ((s3-0 (-> self skel root-channel 0))) + (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 42))) + (set! (-> s3-0 param 0) (ja-aframe (the-as float 16.0) 0)) + (set! (-> s3-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> s3-0 frame-num) 0.0) + (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data 42)) num-func-seek!) ) + (until (ja-done? 0) + (suspend) + (let ((s3-1 (-> self skel root-channel 0))) + (set! (-> s3-1 param 0) (ja-aframe (the-as float 16.0) 0)) + (set! (-> s3-1 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! s3-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (let ((s3-2 (-> self skel root-channel 0))) + (set! (-> s3-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) + (set! (-> s3-2 param 0) (ja-aframe (the-as float 16.0) 0)) + (set! (-> s3-2 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> s3-2 frame-num) 0.0) + (joint-control-channel-group! s3-2 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((s3-3 (-> self skel root-channel 0))) + (set! (-> s3-3 param 0) (ja-aframe (the-as float 16.0) 0)) + (set! (-> s3-3 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! s3-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - ) ) - (else - (let ((s3-2 (-> self skel root-channel 0))) - (set! - (-> s3-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 41)) - ) - (set! (-> s3-2 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-2 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> s3-2 frame-num) 0.0) - (joint-control-channel-group! - s3-2 - (the-as art-joint-anim (-> self draw art-group data 41)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s3-3 (-> self skel root-channel 0))) - (set! (-> s3-3 param 0) (ja-aframe (the-as float 16.0) 0)) - (set! (-> s3-3 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - s3-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (go target-duck-high-jump-jump arg0 arg1 arg2) + (none) ) - (go target-duck-high-jump-jump arg0 arg1 arg2) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -4590,165 +2817,111 @@ target-jump-event-handler :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (sound-play-by-name - (static-sound-name "jump") - (new-sound-id) - 819 - -609 - 0 - 1 - #t + (set! (-> self state-time) (-> *display* base-frame-counter)) + (sound-play-by-name (static-sound-name "jump") (new-sound-id) 819 -609 0 1 #t) + (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #f) (-> self control transv)) + (set! (-> self control status) (logand -8 (-> self control status))) + (cond + ((= arg2 'launch) + (set! (-> self neck flex-blend) 0.0) + (set! (-> self control unknown-surface00) *launch-jump-mods*) + ) + (else + (set! (-> self control unknown-surface00) *high-jump-mods*) + ) + ) + (none) ) - (init-var-jump - arg0 - arg1 - (the-as vector #t) - (the-as vector #f) - (-> self control transv) - ) - (set! (-> self control status) (logand -8 (-> self control status))) - (cond - ((= arg2 'launch) - (set! (-> self neck flex-blend) 0.0) - (set! (-> self control unknown-surface00) *launch-jump-mods*) - ) - (else - (set! (-> self control unknown-surface00) *high-jump-mods*) - ) - ) - (none) - ) :exit target-exit :trans (-> target-high-jump trans) :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) - (let ((f30-0 (the-as float (if (= arg2 'launch) - 110.0 - 35.0 - ) + (let ((f30-0 (the-as float (if (= arg2 'launch) + 110.0 + 35.0 + ) + ) ) + (f28-0 (-> (new 'static 'array float 1 1.0) 0)) ) - (f28-0 (-> (new 'static 'array float 1 1.0) 0)) - ) - (until (ja-done? 0) - (let* - ((f24-0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - (f26-0 (- f30-0 (ja-aframe-num 0))) - (f22-1 - (fmin - (fmin (-> (new 'static 'array float 1 3.0) 0) f26-0) - (/ - (* 5.0 f26-0) - (the float (time-to-apex f24-0 (the-as float -245760.0))) - ) - ) - ) - (s5-0 (-> self skel root-channel 0)) - ) - (set! - (-> s5-0 param 0) - (the float (+ (-> s5-0 frame-group data 0 length) -1)) - ) - (let ((v1-26 (cond - ((and (< 0.0 f24-0) (< 0.0 f26-0)) - (if (= arg2 'launch) - (set! - f28-0 - (lerp f28-0 (* 4.0 f22-1) (the-as float 0.25)) - ) + (until (ja-done? 0) + (let* ((f24-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (f26-0 (- f30-0 (ja-aframe-num 0))) + (f22-1 (fmin + (fmin (-> (new 'static 'array float 1 3.0) 0) f26-0) + (/ (* 5.0 f26-0) (the float (time-to-apex f24-0 (the-as float -245760.0)))) + ) ) - f22-1 - ) - (else - f28-0 - ) - ) - ) + (s5-0 (-> self skel root-channel 0)) + ) + (set! (-> s5-0 param 0) (the float (+ (-> s5-0 frame-group data 0 length) -1))) + (let ((v1-26 (cond + ((and (< 0.0 f24-0) (< 0.0 f26-0)) + (if (= arg2 'launch) + (set! f28-0 (lerp f28-0 (* 4.0 f22-1) (the-as float 0.25))) + ) + f22-1 + ) + (else + f28-0 + ) + ) + ) + ) + (set! (-> s5-0 param 1) v1-26) ) - (set! (-> s5-0 param 1) v1-26) - ) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim #f) - num-func-seek! - ) + (joint-control-channel-group-eval! s5-0 (the-as art-joint-anim #f) num-func-seek!) + ) + (suspend) + ) + (cond + ((= arg2 'launch) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) + (set! (-> a0-7 param 0) f28-0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 43)) num-func-loop!) + ) + (while #t + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 43))) + (set! (-> a0-8 param 0) f28-0) + (joint-control-channel-group-eval! + a0-8 + (the-as art-joint-anim (-> self draw art-group data 43)) + num-func-loop! + ) + ) + ) + ) + (else + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + (set! (-> a0-9 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-9 frame-num) 0.0) + (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 38)) num-func-loop!) + ) + (while #t + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 38))) + (set! (-> a0-10 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! + a0-10 + (the-as art-joint-anim (-> self draw art-group data 38)) + num-func-loop! + ) + ) + ) + ) + ) ) - (suspend) - ) - (cond - ((= arg2 'launch) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 43)) - ) - (set! (-> a0-7 param 0) f28-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 43)) - num-func-loop! - ) - ) - (while #t - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 43)) - ) - (set! (-> a0-8 param 0) f28-0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 43)) - num-func-loop! - ) - ) - ) - ) - (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 38)) - ) - (set! (-> a0-9 param 0) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) - (while #t - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 frame-group) - (the-as art-joint-anim (-> self draw art-group data 38)) - ) - (set! (-> a0-10 param 0) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 38)) - num-func-loop! - ) - ) - ) - ) - ) + (the-as none 0) + (none) ) - (the-as none 0) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -4759,28 +2932,25 @@ target-jump-event-handler :enter (behavior ((arg0 symbol)) - (set! (-> self control unknown-surface00) *jump-mods*) - (set! (-> self control unknown-uint20) (the-as uint arg0)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (set! (-> self control unknown-surface00) *jump-mods*) + (set! (-> self control unknown-uint20) (the-as uint arg0)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (none) + ) :trans (behavior () - (target-falling-trans - (-> self control unknown-spoolanim00) - (the-as cpad-list (if (= (-> self control unknown-spoolanim00) #f) - 0 - (/ (the-as int (-> *TARGET-bank* stuck-time)) 2) - ) - ) + (target-falling-trans + (-> self control unknown-spoolanim00) + (the-as cpad-list (if (= (-> self control unknown-spoolanim00) #f) + 0 + (/ (the-as int (-> *TARGET-bank* stuck-time)) 2) + ) + ) + ) + (none) ) - (none) - ) :code - (behavior ((arg0 symbol)) - (target-falling-anim -1 99) - (none) - ) + (behavior ((arg0 symbol)) (target-falling-anim -1 99) (none)) :post (the-as (function none :behavior target) target-post) ) @@ -4791,191 +2961,118 @@ target-walk-event-handler :enter (behavior ((arg0 symbol)) - (cond - ((= arg0 'stuck) - ) - ((let ((v1-4 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (= v1-4 (-> self draw art-group data 42)) - (= v1-4 (-> self draw art-group data 43)) + (cond + ((= arg0 'stuck) ) - ) - (dummy-10 - (-> self skel effect) - 'group-blue-hit-ground-effect - (-> (new 'static 'array float 1 0.0) 0) - -1 - ) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 90) - ) - (else - (let - ((f0-1 - (vector-dot - (-> self control dynam gravity-normal) - (vector-! - (new 'stack-no-clear 'vector) - (-> self control unknown-vector52) - (-> self control trans) - ) + ((let ((v1-4 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or (= v1-4 (-> self draw art-group data 42)) (= v1-4 (-> self draw art-group data 43))) ) - ) + (dummy-10 (-> self skel effect) 'group-blue-hit-ground-effect (-> (new 'static 'array float 1 0.0) 0) -1) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 90) ) - (if - (and - (< (-> *TARGET-bank* fall-far) f0-1) - (zero? (logand (-> self control status) 1024)) + (else + (let ((f0-1 (vector-dot + (-> self control dynam gravity-normal) + (vector-! (new 'stack-no-clear 'vector) (-> self control unknown-vector52) (-> self control trans)) + ) + ) + ) + (if (and (< (-> *TARGET-bank* fall-far) f0-1) (zero? (logand (-> self control status) 1024))) + (go target-hit-ground-hard f0-1) + ) + ) ) - (go target-hit-ground-hard f0-1) - ) ) - ) + (cond + ((= arg0 'stuck) + ) + (else + (target-land-effect) + ) + ) + (set! (-> self control unknown-dword31) 0) + (set! (-> self control unknown-dword33) 0) + (if (>= (-> self control ground-impact-vel) (-> *TARGET-bank* fall-stumble-threshold)) + (set-forward-vel (-> (new 'static 'array float 1 0.0) 0)) + ) + (if (!= (-> self control ground-pat material) (pat-material ice)) + (delete-back-vel) + ) + (set! (-> self control unknown-surface00) *walk-mods*) + (start-bobbing! + (-> self water) + (lerp-scale + (-> (new 'static 'array float 1 0.0) 0) + (the-as float 4096.0) + (-> self control ground-impact-vel) + (the-as float 40960.0) + (-> (new 'static 'array float 1 102400.0) 0) + ) + 600 + 1500 + ) + (none) ) - (cond - ((= arg0 'stuck) - ) - (else - (target-land-effect) - ) - ) - (set! (-> self control unknown-dword31) 0) - (set! (-> self control unknown-dword33) 0) - (if - (>= - (-> self control ground-impact-vel) - (-> *TARGET-bank* fall-stumble-threshold) - ) - (set-forward-vel (-> (new 'static 'array float 1 0.0) 0)) - ) - (if (!= (-> self control ground-pat material) (pat-material ice)) - (delete-back-vel) - ) - (set! (-> self control unknown-surface00) *walk-mods*) - (start-bobbing! - (-> self water) - (lerp-scale - (-> (new 'static 'array float 1 0.0) 0) - (the-as float 4096.0) - (-> self control ground-impact-vel) - (the-as float 40960.0) - (-> (new 'static 'array float 1 102400.0) 0) - ) - 600 - 1500 - ) - (none) - ) :trans (behavior () - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + ) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 + (if (and (not (can-exit-duck?)) (can-duck?)) + (go target-duck-stance) ) - ) - (pad-buttons x) + (when (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (if (logtest? (-> self water flags) 1024) + (go target-wade-walk) + (go target-walk) + ) ) - (can-jump? #f) - ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) - ) - (if (and (not (can-exit-duck?)) (can-duck?)) - (go target-duck-stance) - ) - (when - (!= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (if (logtest? (-> self water flags) 1024) - (go target-wade-walk) - (go target-walk) - ) - ) - (if - (and - (or - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 + (if (and + (or + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons l1 r1) + ) + (not (can-exit-duck?)) + ) + (can-duck?) + ) + (go target-duck-stance) ) - (pad-buttons l1 r1) - ) - (not (can-exit-duck?)) - ) - (can-duck?) - ) - (go target-duck-stance) + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons circle) + ) + (can-feet?) + ) + (go target-attack) + ) + (if (can-hands? #t) + (go target-running-attack) + ) + (fall-test) + (slide-down-test) + (none) ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons circle) - ) - (can-feet?) - ) - (go target-attack) - ) - (if (can-hands? #t) - (go target-running-attack) - ) - (fall-test) - (slide-down-test) - (none) - ) :code - (behavior ((arg0 symbol)) - (target-hit-ground-anim #f) - (go target-stance) - (none) - ) + (behavior ((arg0 symbol)) (target-hit-ground-anim #f) (go target-stance) (none)) :post (the-as (function none :behavior target) target-post) ) @@ -4986,131 +3083,68 @@ target-dangerous-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (target-start-attack) - (target-danger-set! 'spin #f) - (set! (-> self control unknown-surface00) *attack-mods*) - (set! (-> self water drip-mult) 4.0) - (set! (-> self neck flex-blend) 0.0) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (target-start-attack) + (target-danger-set! 'spin #f) + (set! (-> self control unknown-surface00) *attack-mods*) + (set! (-> self water drip-mult) 4.0) + (set! (-> self neck flex-blend) 0.0) + (none) + ) :exit - (behavior () - (set! (-> self control unknown-dword33) (-> *display* base-frame-counter)) - (target-exit) - (none) - ) + (behavior () (set! (-> self control unknown-dword33) (-> *display* base-frame-counter)) (target-exit) (none)) :code (behavior () - (ja-channel-push! 1 15) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 51)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 51)) - data - 0 - length - ) - -1 - ) + (ja-channel-push! 1 15) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 51))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 51)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) (-> self control unknown-surface01 align-speed)) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 51)) num-func-seek!) ) - ) - (set! (-> a0-1 param 1) (-> self control unknown-surface01 align-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 51)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (when - (and - (= (-> self fact-info-target eco-type) 2) - (>= - (-> self fact-info-target eco-level) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (dummy-10 - (-> self skel effect) - 'group-red-eco-spinkick - (ja-frame-num 0) - 74 - ) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) - (level-hint-spawn - (game-text-id red-eco-tutorial) - "sksp0072" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 + (until (ja-done? 0) + (when (and + (= (-> self fact-info-target eco-type) 2) + (>= (-> self fact-info-target eco-level) (-> (new 'static 'array float 1 1.0) 0)) + ) + (dummy-10 (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 74) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) + (level-hint-spawn + (game-text-id red-eco-tutorial) + "sksp0072" + (the-as entity #f) + *entity-pool* + (game-task none) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) ) - (pad-buttons x) - ) - (can-jump? #f) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + ) + (go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f)) + ) + (suspend) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) + (set! (-> a0-24 param 1) (-> self control unknown-surface01 align-speed)) + (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) + ) ) - (go - target-jump - (-> *TARGET-bank* jump-height-min) - (-> *TARGET-bank* jump-height-max) - (the-as surface #f) - ) - ) - (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 param 0) - (the float (+ (-> a0-24 frame-group data 0 length) -1)) - ) - (set! (-> a0-24 param 1) (-> self control unknown-surface01 align-speed)) - (joint-control-channel-group-eval! - a0-24 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + (go target-stance) + (none) ) - (go target-stance) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -5119,503 +3153,336 @@ (defstate target-running-attack (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touched) - (cond - (((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self control) - (the-as uint 224) - ) - (let - ((gp-1 - (target-send-attack - arg0 - (the-as uint (-> self control unknown-symbol30)) - (-> arg3 param 0) - (-> self control unknown-dword50) - (-> self control unknown-dword51) - ) + (case arg2 + (('touched) + (cond + (((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (-> self control) + (the-as uint 224) ) - ) - (when gp-1 - (set! - (-> self control unknown-uint20) - (the-as uint (-> *display* base-frame-counter)) - ) - (let - ((v1-9 - (if - (and (nonzero? arg0) (type-type? (-> arg0 type) process-drawable)) - arg0 - ) - ) - ) - (when v1-9 - (let* ((s5-1 (-> (the-as process-drawable v1-9) root)) - (v1-11 - (if - (and - (nonzero? s5-1) - (type-type? (-> s5-1 type) collide-shape) - ) - (the-as collide-shape s5-1) - ) + (let ((gp-1 + (target-send-attack + arg0 + (the-as uint (-> self control unknown-symbol30)) + (-> arg3 param 0) + (-> self control unknown-dword50) + (-> self control unknown-dword51) ) - ) - (if - (and - v1-11 - (or - (logtest? (-> v1-11 root-prim prim-core collide-as) 256) - (logtest? (-> v1-11 root-prim prim-core action) 1024) + ) + ) + (when gp-1 + (set! (-> self control unknown-uint20) (the-as uint (-> *display* base-frame-counter))) + (let ((v1-9 (if (and (nonzero? arg0) (type-type? (-> arg0 type) process-drawable)) + arg0 + ) + ) + ) + (when v1-9 + (let* ((s5-1 (-> (the-as process-drawable v1-9) root)) + (v1-11 (if (and (nonzero? s5-1) (type-type? (-> s5-1 type) collide-shape)) + (the-as collide-shape s5-1) + ) + ) + ) + (if (and + v1-11 + (or + (logtest? (-> v1-11 root-prim prim-core collide-as) 256) + (logtest? (-> v1-11 root-prim prim-core action) 1024) + ) + ) + (set! (-> self control unknown-uint31) (the-as uint 1)) + ) + ) + ) + ) + (when (or (= gp-1 'die) (= gp-1 'push)) + (let ((v0-2 (the-as object (-> *display* base-frame-counter)))) + (set! (-> self control unknown-int21) (the-as int v0-2)) + v0-2 + ) ) - ) - (set! (-> self control unknown-uint31) (the-as uint 1)) ) - ) ) - ) - (when (or (= gp-1 'die) (= gp-1 'push)) - (let ((v0-2 (the-as object (-> *display* base-frame-counter)))) - (set! (-> self control unknown-int21) (the-as int v0-2)) - v0-2 - ) - ) ) + (else + (target-dangerous-event-handler arg0 arg1 arg2 arg3) + ) ) - ) - (else + ) + (else (target-dangerous-event-handler arg0 arg1 arg2 arg3) ) - ) ) - (else - (target-dangerous-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (if - (or - (and - (= (-> self fact-info-target eco-type) 1) - (>= - (-> self fact-info-target eco-level) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (< - (- (-> *display* base-frame-counter) (-> self control unknown-dword82)) - 450 - ) - ) - (go target-yellow-blast) + (if (or + (and + (= (-> self fact-info-target eco-type) 1) + (>= (-> self fact-info-target eco-level) (-> (new 'static 'array float 1 1.0) 0)) + ) + (< (- (-> *display* base-frame-counter) (-> self control unknown-dword82)) 450) + ) + (go target-yellow-blast) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-uint20) (the-as uint 0)) + (set! (-> self control unknown-int21) 0) + (set! (-> self control unknown-uint31) (the-as uint 0)) + (set! (-> self control unknown-surface00) *run-attack-mods*) + (set! (-> *run-attack-mods* turnv) 655360.0) + (set! (-> *run-attack-mods* turnvv) 655360.0) + (target-start-attack) + (target-danger-set! 'punch #f) + (if (or (< (fabs (-> self control unknown-float62)) 0.3) (< 0.3 (fabs (-> self control unknown-float61)))) + (set! (-> self control unknown-float81) (-> (new 'static 'array float 1 1.0) 0)) + ) + (none) ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-uint20) (the-as uint 0)) - (set! (-> self control unknown-int21) 0) - (set! (-> self control unknown-uint31) (the-as uint 0)) - (set! (-> self control unknown-surface00) *run-attack-mods*) - (set! (-> *run-attack-mods* turnv) 655360.0) - (set! (-> *run-attack-mods* turnvv) 655360.0) - (target-start-attack) - (target-danger-set! 'punch #f) - (if - (or - (< (fabs (-> self control unknown-float62)) 0.3) - (< 0.3 (fabs (-> self control unknown-float61))) - ) - (set! - (-> self control unknown-float81) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (none) - ) :exit (behavior () - (set! - (-> self control dynam gravity-max) - (-> self control unknown-dynamics00 gravity-max) + (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) + (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) + (set! (-> *run-attack-mods* turnv) 0.0) + (set! (-> *run-attack-mods* turnvv) 0.0) + (set! (-> self control unknown-dword31) (-> *display* base-frame-counter)) + (target-exit) + (none) ) - (set! - (-> self control dynam gravity-length) - (-> self control unknown-dynamics00 gravity-length) - ) - (set! (-> *run-attack-mods* turnv) 0.0) - (set! (-> *run-attack-mods* turnvv) 0.0) - (set! (-> self control unknown-dword31) (-> *display* base-frame-counter)) - (target-exit) - (none) - ) :trans (behavior () - (when (!= (-> self state-time) (-> *display* base-frame-counter)) - (if - (and - (or - (smack-surface? #t) - (and - (>= (-> self control unknown-float63) 0.7) - (zero? (logand (-> self control status) 32)) - ) - ) - (begin - (set! (-> self control unknown-int21) (-> *display* base-frame-counter)) - (set! (-> self control unknown-float81) 0.0) - (let ((gp-0 (new-stack-vector0)) - (f30-0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) + (when (!= (-> self state-time) (-> *display* base-frame-counter)) + (if (and + (or + (smack-surface? #t) + (and (>= (-> self control unknown-float63) 0.7) (zero? (logand (-> self control status) 32))) + ) + (begin + (set! (-> self control unknown-int21) (-> *display* base-frame-counter)) + (set! (-> self control unknown-float81) 0.0) + (let ((gp-0 (new-stack-vector0)) + (f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + ) + 0.0 + (vector-! gp-0 (-> self control transv) (vector-float*! gp-0 (-> self control dynam gravity-normal) f30-0)) + (let* ((f0-5 (vector-length gp-0)) + (f1-1 f0-5) + (f2-1 (fmin 0.0 f30-0)) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-1) + (vector-float*! gp-0 gp-0 (/ f0-5 f1-1)) + ) + ) + ) + #t + ) + (or + (zero? (-> self control unknown-uint20)) + (>= (the-as uint (- (-> *display* base-frame-counter) (the-as int (-> self control unknown-uint20)))) + (the-as uint 12) + ) + ) + (!= (-> self control unknown-uint31) 1) ) - ) - 0.0 - (vector-! - gp-0 - (-> self control transv) - (vector-float*! gp-0 (-> self control dynam gravity-normal) f30-0) - ) - (let* ((f0-5 (vector-length gp-0)) - (f1-1 f0-5) - (f2-1 (fmin 0.0 f30-0)) - ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-1 - ) - (vector-float*! gp-0 gp-0 (/ f0-5 f1-1)) + (target-shoved + (-> *TARGET-bank* smack-surface-dist) + (-> *TARGET-bank* smack-surface-height) + (the-as process #f) + (the-as (state target) target-hit) + ) ) - ) - ) - #t - ) - (or - (zero? (-> self control unknown-uint20)) - (>= - (the-as - uint - (- - (-> *display* base-frame-counter) - (the-as int (-> self control unknown-uint20)) + (if (and + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (pad-buttons x)) + (and + (< 4096.0 (-> self control unknown-float01)) + (or + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (zero? + (logand + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons square) + ) + ) + ) + (zero? (logand (-> self state-flags) 6144)) + (zero? (logand (-> self control unknown-surface01 flags) 128)) + ) + ) + (go + target-attack-uppercut + (-> *TARGET-bank* attack-jump-height-min) + (-> *TARGET-bank* attack-jump-height-max) + ) ) - ) - (the-as uint 12) - ) - ) - (!= (-> self control unknown-uint31) 1) - ) - (target-shoved - (-> *TARGET-bank* smack-surface-dist) - (-> *TARGET-bank* smack-surface-height) - (the-as process #f) - (the-as (state target) target-hit) - ) - ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons x) - ) - (and - (< 4096.0 (-> self control unknown-float01)) - (or - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (zero? - (logand - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons square) + (if (and + (logtest? (-> self water flags) 512) + (zero? (mod (- (-> *display* base-frame-counter) (-> self state-time)) 21)) + ) + (dummy-13 + (-> self water) + (the-as float 0.6) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 37)) + 0 + (-> self control transv) + ) + ) + (when (and + (= (-> self fact-info-target eco-type) 2) + (>= (-> self fact-info-target eco-level) (-> (new 'static 'array float 1 1.0) 0)) + ) + (dummy-10 (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 23) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) + (level-hint-spawn + (game-text-id red-eco-tutorial) + "sksp0072" + (the-as entity #f) + *entity-pool* + (game-task none) ) - ) ) - (zero? (logand (-> self state-flags) 6144)) - (zero? (logand (-> self control unknown-surface01 flags) 128)) - ) ) - (go - target-attack-uppercut - (-> *TARGET-bank* attack-jump-height-min) - (-> *TARGET-bank* attack-jump-height-max) - ) - ) - (if - (and - (logtest? (-> self water flags) 512) - (zero? - (mod (- (-> *display* base-frame-counter) (-> self state-time)) 21) - ) - ) - (dummy-13 - (-> self water) - (the-as float 0.6) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data 37) - ) - 0 - (-> self control transv) - ) - ) - (when - (and - (= (-> self fact-info-target eco-type) 2) - (>= - (-> self fact-info-target eco-level) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (dummy-10 - (-> self skel effect) - 'group-red-eco-spinkick - (ja-frame-num 0) - 23 - ) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) - (level-hint-spawn - (game-text-id red-eco-tutorial) - "sksp0072" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) + (none) ) - (none) - ) :code (behavior () - (if (logtest? (-> self water flags) 512) - (sound-play-by-name - (static-sound-name "swim-stroke") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (ja-channel-push! 1 6) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 59)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (set! (-> self control dynam gravity-max) 368640.0) - (set! (-> self control dynam gravity-length) 368640.0) - (let ((f28-0 0.0) - (f30-0 (-> (new 'static 'array float 1 1.0) 0)) - (gp-2 0) - ) - (until (ja-done? 0) - (TODO-RENAME-9 (-> self align)) - (when (not (ja-min? 0)) - (cond - ((and - (>= (ja-aframe-num 0) 20.0) - (and - (and - (zero? (logand (-> self control status) 1)) - (>= - (- - (-> *display* base-frame-counter) - (-> self control unknown-dword11) - ) - (the-as int (-> *TARGET-bank* ground-timeout)) - ) - (>= - 0.0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - (let ((v1-39 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (not - (or - (= v1-39 (-> self draw art-group data 59)) - (= v1-39 (-> self draw art-group data 60)) - (= v1-39 (-> self draw art-group data 61)) - ) - ) - (< 4096.0 (target-height-above-ground)) - ) - ) - ) - (>= - (the-as - uint - (- - (-> *display* base-frame-counter) - (the-as int (-> self control unknown-uint20)) - ) - ) - (the-as uint 12) - ) + (if (logtest? (-> self water flags) 512) + (sound-play-by-name (static-sound-name "swim-stroke") (new-sound-id) 1024 0 0 1 #t) + ) + (ja-channel-push! 1 6) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 59)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) + ) + (set! (-> self control dynam gravity-max) 368640.0) + (set! (-> self control dynam gravity-length) 368640.0) + (let ((f28-0 0.0) + (f30-0 (-> (new 'static 'array float 1 1.0) 0)) + (gp-2 0) ) - ) + (until (ja-done? 0) + (TODO-RENAME-9 (-> self align)) + (when (not (ja-min? 0)) + (cond + ((and + (>= (ja-aframe-num 0) 20.0) + (and + (and + (zero? (logand (-> self control status) 1)) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) + (the-as int (-> *TARGET-bank* ground-timeout)) + ) + (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (let ((v1-39 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or + (not + (or + (= v1-39 (-> self draw art-group data 59)) + (= v1-39 (-> self draw art-group data 60)) + (= v1-39 (-> self draw art-group data 61)) + ) + ) + (< 4096.0 (target-height-above-ground)) + ) + ) + ) + (>= (the-as uint (- (-> *display* base-frame-counter) (the-as int (-> self control unknown-uint20)))) + (the-as uint 12) + ) + ) + ) + (go target-falling #f) + ) + ((and + (nonzero? (-> self control unknown-uint30)) + (>= (the-as uint (- (-> *display* base-frame-counter) (the-as int (-> self control unknown-uint30)))) + (the-as uint 12) + ) + ) + (set-forward-vel (-> (new 'static 'array float 1 0.0) 0)) + ) + ((and + (zero? (logand + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons square) + ) + ) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15) + ) + (if (= (-> self control ground-pat material) (pat-material ice)) + (set-forward-vel (fmax 32768.0 (* 0.8 (-> self control unknown-float01)))) + (set-forward-vel (* 0.8 (-> self control unknown-float01))) + ) + ) + ((ja-done? 0) + (set-forward-vel f28-0) + ) + (else + (set! f28-0 + (* (target-align-vel-z-adjust (-> self align delta trans z)) (-> *display* frames-per-second) f30-0) + ) + (set-forward-vel f28-0) + ) + ) + ) + (let ((s5-1 (new-stack-vector0))) + (vector-matrix*! s5-1 (-> self control transv) (-> self control unknown-matrix00)) + (set! (-> s5-1 y) 0.0) + (vector-matrix*! (-> self control unknown-vector120) s5-1 (-> self control unknown-matrix01)) + ) + (suspend) + (let ((a0-44 (-> self skel root-channel 0))) + (set! (-> a0-44 param 0) (the float (+ (-> a0-44 frame-group data 0 length) -1))) + (set! (-> a0-44 param 1) (-> self control unknown-surface01 align-speed)) + (joint-control-channel-group-eval! a0-44 (the-as art-joint-anim #f) num-func-seek!) + ) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (set! (-> *run-attack-mods* turnvv) 0.0) + ) + (if (< 2 gp-2) + (set! f30-0 (* f30-0 (fmin (-> (new 'static 'array float 1 1.0) 0) (-> self control unknown-float140)))) + ) + (+! gp-2 1) + ) + ) + (if (and + (zero? (logand (-> self control status) 1)) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) + (the-as int (-> *TARGET-bank* ground-timeout)) + ) + (>= 0.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (let ((v1-121 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or + (not (or + (= v1-121 (-> self draw art-group data 59)) + (= v1-121 (-> self draw art-group data 60)) + (= v1-121 (-> self draw art-group data 61)) + ) + ) + (< 4096.0 (target-height-above-ground)) + ) + ) + ) (go target-falling #f) ) - ((and - (nonzero? (-> self control unknown-uint30)) - (>= - (the-as - uint - (- - (-> *display* base-frame-counter) - (the-as int (-> self control unknown-uint30)) - ) - ) - (the-as uint 12) - ) - ) - (set-forward-vel (-> (new 'static 'array float 1 0.0) 0)) - ) - ((and - (zero? - (logand - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons square) - ) - ) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15) - ) - (if (= (-> self control ground-pat material) (pat-material ice)) - (set-forward-vel - (fmax 32768.0 (* 0.8 (-> self control unknown-float01))) - ) - (set-forward-vel (* 0.8 (-> self control unknown-float01))) - ) - ) - ((ja-done? 0) - (set-forward-vel f28-0) - ) - (else - (set! - f28-0 - (* - (target-align-vel-z-adjust (-> self align delta trans z)) - (-> *display* frames-per-second) - f30-0 - ) - ) - (set-forward-vel f28-0) - ) - ) - ) - (let ((s5-1 (new-stack-vector0))) - (vector-matrix*! - s5-1 - (-> self control transv) - (-> self control unknown-matrix00) - ) - (set! (-> s5-1 y) 0.0) - (vector-matrix*! - (-> self control unknown-vector120) - s5-1 - (-> self control unknown-matrix01) - ) - ) - (suspend) - (let ((a0-44 (-> self skel root-channel 0))) - (set! - (-> a0-44 param 0) - (the float (+ (-> a0-44 frame-group data 0 length) -1)) - ) - (set! (-> a0-44 param 1) (-> self control unknown-surface01 align-speed)) - (joint-control-channel-group-eval! - a0-44 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (set! (-> *run-attack-mods* turnvv) 0.0) - ) - (if (< 2 gp-2) - (set! - f30-0 - (* - f30-0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (-> self control unknown-float140) - ) - ) - ) - ) - (+! gp-2 1) - ) + (go target-stance) + (none) ) - (if - (and - (zero? (logand (-> self control status) 1)) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - (the-as int (-> *TARGET-bank* ground-timeout)) - ) - (>= - 0.0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - (let ((v1-121 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (not - (or - (= v1-121 (-> self draw art-group data 59)) - (= v1-121 (-> self draw art-group data 60)) - (= v1-121 (-> self draw art-group data 61)) - ) - ) - (< 4096.0 (target-height-above-ground)) - ) - ) - ) - (go target-falling #f) - ) - (go target-stance) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -5624,388 +3491,241 @@ (defstate target-attack-air (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v0-0 (target-bonk-event-handler arg0 arg1 arg2 arg3))) - (cond - (v0-0 - (empty) - v0-0 + (let ((v0-0 (target-bonk-event-handler arg0 arg1 arg2 arg3))) + (cond + (v0-0 + (empty) + v0-0 + ) + (else + (target-dangerous-event-handler arg0 arg1 arg2 arg3) + ) + ) ) - (else - (target-dangerous-event-handler arg0 arg1 arg2 arg3) - ) - ) ) - ) :enter (behavior ((arg0 symbol)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control status) (logand -8 (-> self control status))) - (target-start-attack) - (target-danger-set! 'spin-air #f) - (set! (-> self control unknown-surface00) *jump-attack-mods*) - (let - ((f0-1 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - ) - (cond - ((or (>= 0.0 f0-1) (= arg0 'flop)) - (let ((gp-1 (new-stack-vector0))) - (let - ((f0-3 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - ) - 0.0 - (vector-! - gp-1 - (-> self control transv) - (vector-float*! gp-1 (-> self control dynam gravity-normal) f0-3) - ) - ) - (let* ((f0-4 (vector-length gp-1)) - (f1-2 f0-4) - (f2-0 33775.48) - ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-0 - ) - (vector-float*! gp-1 gp-1 (/ f0-4 f1-2)) - ) - ) - ) - ) - (else - (let* - ((f1-5 - (/ - f0-1 - (* - (-> self control dynam gravity-length) - (-> *display* seconds-per-frame) - ) - ) - ) - (f30-0 (* 0.5 f1-5 (-> *display* seconds-per-frame) f0-1)) - ) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 62) - ) - (set! - f30-0 - (fmax - 0.0 - (- - (-> *TARGET-bank* attack-jump-height-max) - (vector-dot - (-> self control dynam gravity-normal) - (vector-! - (new 'stack-no-clear 'vector) - (-> self control trans) - (-> self control unknown-vector52) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control status) (logand -8 (-> self control status))) + (target-start-attack) + (target-danger-set! 'spin-air #f) + (set! (-> self control unknown-surface00) *jump-attack-mods*) + (let ((f0-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + (cond + ((or (>= 0.0 f0-1) (= arg0 'flop)) + (let ((gp-1 (new-stack-vector0))) + (let ((f0-3 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! gp-1 (-> self control transv) (vector-float*! gp-1 (-> self control dynam gravity-normal) f0-3)) ) - ) - ) - ) - ) - ) - (let ((gp-2 (new-stack-vector0))) - (let - ((f0-8 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - ) - 0.0 - (vector-! - gp-2 - (-> self control transv) - (vector-float*! gp-2 (-> self control dynam gravity-normal) f0-8) - ) - ) - (let* ((f0-9 (vector-length gp-2)) - (f1-11 f0-9) - (f2-7 (+ 1024.0 (sqrtf (* 245760.0 (+ 2048.0 f30-0))))) + (let* ((f0-4 (vector-length gp-1)) + (f1-2 f0-4) + (f2-0 33775.48) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-0) + (vector-float*! gp-1 gp-1 (/ f0-4 f1-2)) ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-7 + ) ) - (vector-float*! gp-2 gp-2 (/ f0-9 f1-11)) - ) ) + (else + (let* ((f1-5 (/ f0-1 (* (-> self control dynam gravity-length) (-> *display* seconds-per-frame)))) + (f30-0 (* 0.5 f1-5 (-> *display* seconds-per-frame) f0-1)) + ) + (if (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 62) + ) + (set! f30-0 + (fmax + 0.0 + (- (-> *TARGET-bank* attack-jump-height-max) + (vector-dot + (-> self control dynam gravity-normal) + (vector-! (new 'stack-no-clear 'vector) (-> self control trans) (-> self control unknown-vector52)) + ) + ) + ) + ) + ) + (let ((gp-2 (new-stack-vector0))) + (let ((f0-8 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! gp-2 (-> self control transv) (vector-float*! gp-2 (-> self control dynam gravity-normal) f0-8)) + ) + (let* ((f0-9 (vector-length gp-2)) + (f1-11 f0-9) + (f2-7 (+ 1024.0 (sqrtf (* 245760.0 (+ 2048.0 f30-0))))) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-7) + (vector-float*! gp-2 gp-2 (/ f0-9 f1-11)) + ) + ) + ) + ) + ) ) - ) ) - ) + (set! (-> self control dynam gravity-length) 122880.0) + (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) + (none) ) - (set! (-> self control dynam gravity-length) 122880.0) - (set! (-> self control unknown-vector52 quad) (-> self control trans quad)) - (none) - ) :exit (behavior () - (set! - (-> self control dynam gravity-max) - (-> self control unknown-dynamics00 gravity-max) + (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) + (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) + ((-> target-attack exit)) + (none) ) - (set! - (-> self control dynam gravity-length) - (-> self control unknown-dynamics00 gravity-length) - ) - ((-> target-attack exit)) - (none) - ) :trans (behavior () - (when (logtest? (-> self control status) 1) - (set-quaternion! (-> self control) (-> self control dir-targ)) - (go target-hit-ground #f) - ) - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) - (set! - (-> self control dynam gravity-length) - (seek - (-> self control dynam gravity-length) - (-> self control unknown-dynamics00 gravity-length) - (* 245760.0 (-> *display* seconds-per-frame)) + (when (logtest? (-> self control status) 1) + (set-quaternion! (-> self control) (-> self control dir-targ)) + (go target-hit-ground #f) ) - ) - ) - (when - (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15) - (< - (vector-dot - (-> self control dynam gravity-normal) - (-> self control unknown-vector10) - ) - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) + (set! (-> self control dynam gravity-length) (seek + (-> self control dynam gravity-length) + (-> self control unknown-dynamics00 gravity-length) + (* 245760.0 (-> *display* seconds-per-frame)) + ) + ) + ) + (when (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15) + (< (vector-dot (-> self control dynam gravity-normal) (-> self control unknown-vector10)) + (vector-dot (-> self control dynam gravity-normal) (-> self control transv)) + ) + ) + (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) + (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) ) - ) - (set! - (-> self control dynam gravity-max) - (-> self control unknown-dynamics00 gravity-max) - ) - (set! - (-> self control dynam gravity-length) - (-> self control unknown-dynamics00 gravity-length) - ) - ) - (when - (and - (= (-> self fact-info-target eco-type) 2) - (>= - (-> self fact-info-target eco-level) - (-> (new 'static 'array float 1 1.0) 0) + (when (and + (= (-> self fact-info-target eco-type) 2) + (>= (-> self fact-info-target eco-level) (-> (new 'static 'array float 1 1.0) 0)) + ) + (dummy-10 (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 70) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) + (level-hint-spawn + (game-text-id red-eco-tutorial) + "sksp0072" + (the-as entity #f) + *entity-pool* + (game-task none) + ) ) - ) - (dummy-10 (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 70) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) - (level-hint-spawn - (game-text-id red-eco-tutorial) - "sksp0072" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (none) ) - (none) - ) :code (behavior ((arg0 symbol)) - (ja-channel-push! 1 22) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 56)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 56)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 56)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 - (-> self align) - 16 - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - ) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 57)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((f30-0 393216.0)) - (let ((f0-8 (target-height-above-ground)) - (f1-1 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) + (ja-channel-push! 1 22) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 56))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 56)) data 0 length) -1)) ) - ) - ) - (while - (not - (or - (and (< (fabs (/ f0-8 (* 0.0033333334 f1-1))) 150.0) (< f1-1 0.0)) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 510) - ) - ) - (quaternion-rotate-y! - (-> self control unknown-quaternion00) - (-> self control unknown-quaternion00) - (* f30-0 (-> *display* seconds-per-frame)) - ) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (set! f0-8 (target-height-above-ground)) - (set! - f1-1 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) + (set! (-> a0-2 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 56)) num-func-seek!) ) - ) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 frame-group) - (the-as art-joint-anim (-> self draw art-group data 58)) - ) - (set! - (-> a0-13 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 58)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-13 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! - a0-13 - (the-as art-joint-anim (-> self draw art-group data 58)) - num-func-seek! - ) - ) (until (ja-done? 0) - (cond - ((< (ja-aframe-num 0) 32.0) - (quaternion-rotate-y! - (-> self control unknown-quaternion00) - (-> self control unknown-quaternion00) - (* f30-0 (-> *display* seconds-per-frame)) + (TODO-RENAME-9 (-> self align)) + (TODO-RENAME-10 + (-> self align) + 16 + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) ) - ) - (else - (let - ((f0-22 - (deg-diff - (quaternion-y-angle (-> self control unknown-quaternion00)) - (quaternion-y-angle (-> self control dir-targ)) - ) - ) - ) - (quaternion-rotate-y! - (-> self control unknown-quaternion00) - (-> self control unknown-quaternion00) - (* 0.2 (fabs f0-22)) - ) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) ) - ) ) - (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 param 0) - (the float (+ (-> a0-20 frame-group data 0 length) -1)) - ) - (set! (-> a0-20 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (let ((gp-0 (-> self skel root-channel 0))) (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim #f) - num-func-seek! - ) + gp-0 + (the-as art-joint-anim (-> self draw art-group data 57)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) ) - ) + (let ((f30-0 393216.0)) + (let ((f0-8 (target-height-above-ground)) + (f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + ) + (while (not + (or + (and (< (fabs (/ f0-8 (* 0.0033333334 f1-1))) 150.0) (< f1-1 0.0)) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 510) + ) + ) + (quaternion-rotate-y! + (-> self control unknown-quaternion00) + (-> self control unknown-quaternion00) + (* f30-0 (-> *display* seconds-per-frame)) + ) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-loop!) + ) + (set! f0-8 (target-height-above-ground)) + (set! f1-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + ) + ) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 58))) + (set! (-> a0-13 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 58)) data 0 length) -1)) + ) + (set! (-> a0-13 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-13 frame-num) 0.0) + (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 58)) num-func-seek!) + ) + (until (ja-done? 0) + (cond + ((< (ja-aframe-num 0) 32.0) + (quaternion-rotate-y! + (-> self control unknown-quaternion00) + (-> self control unknown-quaternion00) + (* f30-0 (-> *display* seconds-per-frame)) + ) + ) + (else + (let ((f0-22 + (deg-diff + (quaternion-y-angle (-> self control unknown-quaternion00)) + (quaternion-y-angle (-> self control dir-targ)) + ) + ) + ) + (quaternion-rotate-y! + (-> self control unknown-quaternion00) + (-> self control unknown-quaternion00) + (* 0.2 (fabs f0-22)) + ) + ) + ) + ) + (suspend) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) + (set! (-> a0-20 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (go target-falling #f) + (none) ) - (go target-falling #f) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -6016,56 +3736,45 @@ target-dangerous-event-handler :enter (behavior ((arg0 float) (arg1 float)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (target-start-attack) - (target-danger-set! 'uppercut #f) - (set! (-> self control unknown-surface00) *turn-around-mods*) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (target-start-attack) + (target-danger-set! 'uppercut #f) + (set! (-> self control unknown-surface00) *turn-around-mods*) + (none) + ) :exit target-exit :code (behavior ((arg0 float) (arg1 float)) - (let ((s3-0 (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((s3-0 (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 31) ) - (-> self draw art-group data 31) ) + (s4-0 (-> self skel root-channel 0)) ) - (s4-0 (-> self skel root-channel 0)) - ) - (set! - (-> s4-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 62)) - ) - (set! (-> s4-0 param 0) (ja-aframe (the-as float 7.0) 0)) - (set! (-> s4-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> s4-0 frame-num) (if s3-0 - (ja-aframe (the-as float 5.0) 0) - (-> (new 'static 'array float 1 0.0) 0) - ) - ) - (joint-control-channel-group! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 62)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s4-1 (-> self skel root-channel 0))) - (set! (-> s4-1 param 0) (ja-aframe (the-as float 7.0) 0)) - (set! (-> s4-1 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim #f) - num-func-seek! + (set! (-> s4-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 62))) + (set! (-> s4-0 param 0) (ja-aframe (the-as float 7.0) 0)) + (set! (-> s4-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> s4-0 frame-num) (if s3-0 + (ja-aframe (the-as float 5.0) 0) + (-> (new 'static 'array float 1 0.0) 0) + ) + ) + (joint-control-channel-group! s4-0 (the-as art-joint-anim (-> self draw art-group data 62)) num-func-seek!) ) - ) + (until (ja-done? 0) + (suspend) + (let ((s4-1 (-> self skel root-channel 0))) + (set! (-> s4-1 param 0) (ja-aframe (the-as float 7.0) 0)) + (set! (-> s4-1 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! s4-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go target-attack-uppercut-jump arg0 arg1) + (none) ) - (go target-attack-uppercut-jump arg0 arg1) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -6076,203 +3785,131 @@ target-dangerous-event-handler :enter (behavior ((arg0 float) (arg1 float)) - (if - (and - (= (-> self control ground-pat material) (pat-material ice)) - (< 32768.0 (-> self control unknown-float01)) - ) - (set-forward-vel (the-as float 32768.0)) + (if (and + (= (-> self control ground-pat material) (pat-material ice)) + (< 32768.0 (-> self control unknown-float01)) + ) + (set-forward-vel (the-as float 32768.0)) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #f) (-> self control transv)) + (set! (-> self control status) (logand -8 (-> self control status))) + (set! (-> self control unknown-surface00) *uppercut-jump-mods*) + (target-start-attack) + (target-danger-set! 'uppercut #f) + (none) ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (init-var-jump - arg0 - arg1 - (the-as vector #t) - (the-as vector #f) - (-> self control transv) - ) - (set! (-> self control status) (logand -8 (-> self control status))) - (set! (-> self control unknown-surface00) *uppercut-jump-mods*) - (target-start-attack) - (target-danger-set! 'uppercut #f) - (none) - ) :exit target-exit :trans (behavior () - (if (logtest? (-> self control status) 1) - (go target-hit-ground #f) - ) - (when - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons square) - ) - (< - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - 22118.4 - ) - (and - (< - -61440.0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) + (if (logtest? (-> self control status) 1) + (go target-hit-ground #f) ) - ) - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword36)) - (the-as int (-> *TARGET-bank* stuck-timeout)) - ) - (zero? (logand (-> self state-flags) 4096)) - (zero? (logand (-> self control unknown-surface01 flags) 384)) - ) - ) - (set-quaternion! (-> self control) (-> self control dir-targ)) - (build-conversions (-> self control transv)) - (go - target-flop - (the-as float 65502.96) - (the-as float -163840.0) - (the-as - float - (if - (= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 + (when (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons square) + ) + (< (vector-dot (-> self control dynam gravity-normal) (-> self control transv)) 22118.4) + (and + (< -61440.0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword36)) + (the-as int (-> *TARGET-bank* stuck-timeout)) + ) + (zero? (logand (-> self state-flags) 4096)) + (zero? (logand (-> self control unknown-surface01 flags) 384)) + ) + ) + (set-quaternion! (-> self control) (-> self control dir-targ)) + (build-conversions (-> self control transv)) + (go + target-flop + (the-as float 65502.96) + (the-as float -163840.0) + (the-as float (if (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (-> (new 'static 'array float 1 0.0) 0) + 68812.8 + ) + ) ) - (-> (new 'static 'array float 1 0.0) 0) - 68812.8 - ) ) - ) + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons circle) + ) + (can-feet?) + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 62) + ) + (>= (ja-aframe-num 0) 12.0) + ) + (go target-attack-air 'uppercut) + ) + (mod-var-jump + #t + #t + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons x)) + (-> self control transv) + ) + (when (and + (= (-> self fact-info-target eco-type) 2) + (>= (-> self fact-info-target eco-level) (-> (new 'static 'array float 1 1.0) 0)) + ) + (dummy-10 (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 23) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) + ) + (if (and + (= (-> self control unknown-symbol30) 'uppercut) + (< (vector-dot (-> self control dynam gravity-normal) (-> self control transv)) -8192.0) + ) + (target-danger-set! 'harmless #f) + ) + (slide-down-test) + (none) ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons circle) - ) - (can-feet?) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 62) - ) - (>= (ja-aframe-num 0) 12.0) - ) - (go target-attack-air 'uppercut) - ) - (mod-var-jump - #t - #t - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons x) - ) - (-> self control transv) - ) - (when - (and - (= (-> self fact-info-target eco-type) 2) - (>= - (-> self fact-info-target eco-level) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (dummy-10 (-> self skel effect) 'group-red-eco-spinkick (ja-frame-num 0) 23) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) - ) - (if - (and - (= (-> self control unknown-symbol30) 'uppercut) - (< - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - -8192.0 - ) - ) - (target-danger-set! 'harmless #f) - ) - (slide-down-test) - (none) - ) :code (behavior ((arg0 float) (arg1 float)) - (TODO-RENAME-9 (-> self align)) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 0.9) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) (TODO-RENAME-9 (-> self align)) - (let* ((gp-0 (-> self align)) - (s5-0 (method-of-object gp-0 TODO-RENAME-10)) - (a1-2 (cond - ((>= 30.0 (ja-aframe-num 0)) - 18 + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 0.9) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) + (TODO-RENAME-9 (-> self align)) + (let* ((gp-0 (-> self align)) + (s5-0 (method-of-object gp-0 TODO-RENAME-10)) + (a1-2 (cond + ((>= 30.0 (ja-aframe-num 0)) + 18 + ) + ((>= 43.0 (ja-aframe-num 0)) + (set! (-> self control unknown-surface00) *double-jump-mods*) + 2 + ) + (else + 0 + ) + ) ) - ((>= 43.0 (ja-aframe-num 0)) - (set! (-> self control unknown-surface00) *double-jump-mods*) - 2 - ) - (else - 0 - ) - ) - ) - ) - (s5-0 - gp-0 - a1-2 - (-> (new 'static 'array float 1 1.0) 0) - (the-as float 0.95) - (-> (new 'static 'array float 1 1.0) 0) + ) + (s5-0 + gp-0 + a1-2 + (-> (new 'static 'array float 1 1.0) 0) + (the-as float 0.95) + (-> (new 'static 'array float 1 1.0) 0) + ) + ) ) - ) + (go target-falling #f) + (none) ) - (go target-falling #f) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -6281,532 +3918,327 @@ (defstate target-flop (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v0-0 (target-bonk-event-handler arg0 arg1 arg2 arg3))) - (cond - (v0-0 - (empty) - v0-0 - ) - ((let ((v1-0 arg2)) - (= v1-0 'swim) - ) + (let ((v0-0 (target-bonk-event-handler arg0 arg1 arg2 arg3))) (cond - ((< 6144.0 (target-height-above-ground)) - (dummy-10 - (-> self skel effect) - 'swim-flop - (-> (new 'static 'array float 1 -1.0) 0) - -1 - ) - (let ((t9-3 enter-state)) - (set! (-> self next-state) target-swim-down) - ((the-as (function object :behavior target) t9-3)) - ) - ) - (else - (let ((t9-4 enter-state) - (a0-4 'swim) + (v0-0 + (empty) + v0-0 + ) + ((let ((v1-0 arg2)) + (= v1-0 'swim) + ) + (cond + ((< 6144.0 (target-height-above-ground)) + (dummy-10 (-> self skel effect) 'swim-flop (-> (new 'static 'array float 1 -1.0) 0) -1) + (let ((t9-3 enter-state)) + (set! (-> self next-state) target-swim-down) + ((the-as (function object :behavior target) t9-3)) ) - (set! (-> self next-state) target-flop-hit-ground) - ((the-as (function symbol object :behavior target) t9-4) a0-4) + ) + (else + (let ((t9-4 enter-state) + (a0-4 'swim) + ) + (set! (-> self next-state) target-flop-hit-ground) + ((the-as (function symbol object :behavior target) t9-4) a0-4) + ) + ) + ) ) + (else + (target-dangerous-event-handler arg0 arg1 arg2 arg3) + ) ) - ) ) - (else - (target-dangerous-event-handler arg0 arg1 arg2 arg3) - ) - ) ) - ) :enter (behavior ((arg0 float) (arg1 float) (arg2 float)) - (if - (and - (= (-> self fact-info-target eco-type) 1) - (>= - (-> self fact-info-target eco-level) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (go target-yellow-jump-blast) - ) - (if (= arg2 0.0) - (set-forward-vel arg2) - (set-forward-vel (-> self control unknown-float01)) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control status) (logand -8 (-> self control status))) - (set! (-> self control unknown-surface00) *flop-mods*) - (set! (-> self control unknown-uint20) (the-as uint 0)) - (set! (-> self control dynam gravity-max) 245760.0) - (set! (-> self control dynam gravity-length) 245760.0) - (let ((gp-1 (new-stack-vector0))) - (let - ((f0-6 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) + (if (and + (= (-> self fact-info-target eco-type) 1) + (>= (-> self fact-info-target eco-level) (-> (new 'static 'array float 1 1.0) 0)) + ) + (go target-yellow-jump-blast) + ) + (if (= arg2 0.0) + (set-forward-vel arg2) + (set-forward-vel (-> self control unknown-float01)) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control status) (logand -8 (-> self control status))) + (set! (-> self control unknown-surface00) *flop-mods*) + (set! (-> self control unknown-uint20) (the-as uint 0)) + (set! (-> self control dynam gravity-max) 245760.0) + (set! (-> self control dynam gravity-length) 245760.0) + (let ((gp-1 (new-stack-vector0))) + (let ((f0-6 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! gp-1 (-> self control transv) (vector-float*! gp-1 (-> self control dynam gravity-normal) f0-6)) + ) + (let* ((f0-7 (vector-length gp-1)) + (f1-3 f0-7) + (f2-0 29491.2) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-0) + (vector-float*! gp-1 gp-1 (/ f0-7 f1-3)) + ) ) - ) ) - 0.0 - (vector-! - gp-1 - (-> self control transv) - (vector-float*! gp-1 (-> self control dynam gravity-normal) f0-6) - ) - ) - (let* ((f0-7 (vector-length gp-1)) - (f1-3 f0-7) - (f2-0 29491.2) - ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-0 - ) - (vector-float*! gp-1 gp-1 (/ f0-7 f1-3)) - ) - ) + (none) ) - (none) - ) :exit (behavior () - (target-danger-set! 'harmless #f) - (set! - (-> self control dynam gravity-max) - (-> self control unknown-dynamics00 gravity-max) + (target-danger-set! 'harmless #f) + (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) + (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) + (set! (-> self control dynam gravity quad) (-> self control unknown-dynamics00 gravity quad)) + (none) ) - (set! - (-> self control dynam gravity-length) - (-> self control unknown-dynamics00 gravity-length) - ) - (set! - (-> self control dynam gravity quad) - (-> self control unknown-dynamics00 gravity quad) - ) - (none) - ) :trans (behavior () - (delete-back-vel) - (let ((gp-1 (logtest? (-> self control status) 1))) - (when (and (not gp-1) (let ((v1-6 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (= v1-6 (-> self draw art-group data 64)) - (= v1-6 (-> self draw art-group data 66)) - ) + (delete-back-vel) + (let ((gp-1 (logtest? (-> self control status) 1))) + (when (and (not gp-1) (let ((v1-6 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + ) + (or (= v1-6 (-> self draw art-group data 64)) (= v1-6 (-> self draw art-group data 66))) + ) + ) + (when (and + (or + (< (target-move-dist 30) 1638.4) + (and (logtest? (-> self control status) 8) (< 0.7 (-> self control poly-angle))) + ) + (zero? (logand (-> self control status) 32)) + (>= (-> self control unknown-uint20) (the-as uint 2)) + ) + (set! (-> self control unknown-dword36) (-> *display* base-frame-counter)) + (set! gp-1 'stuck) + ) + ) + (when gp-1 + (logior! (-> self control status) 1) + (when (and + (= (-> self fact-info-target eco-type) 2) + (>= (-> self fact-info-target eco-level) (-> (new 'static 'array float 1 1.0) 0)) + ) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 150) + (dummy-10 (-> self skel effect) 'group-red-eco-strike-ground (ja-frame-num 0) 0) + (let* ((s4-1 (get-process *default-dead-pool* touch-tracker #x4000)) + (s5-1 (when s4-1 + (let ((t9-6 (method-of-type touch-tracker activate))) + (t9-6 (the-as touch-tracker s4-1) self 'touch-tracker (the-as pointer #x70004000)) ) - ) - (when - (and - (or - (< (target-move-dist 30) 1638.4) - (and - (logtest? (-> self control status) 8) - (< 0.7 (-> self control poly-angle)) - ) - ) - (zero? (logand (-> self control status) 32)) - (>= (-> self control unknown-uint20) (the-as uint 2)) - ) - (set! (-> self control unknown-dword36) (-> *display* base-frame-counter)) - (set! gp-1 'stuck) - ) - ) - (when gp-1 - (logior! (-> self control status) 1) - (when - (and - (= (-> self fact-info-target eco-type) 2) - (>= - (-> self fact-info-target eco-level) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 150) - (dummy-10 - (-> self skel effect) - 'group-red-eco-strike-ground - (ja-frame-num 0) - 0 - ) - (let* ((s4-1 (get-process *default-dead-pool* touch-tracker #x4000)) - (s5-1 (when s4-1 - (let ((t9-6 (method-of-type touch-tracker activate))) - (t9-6 - (the-as touch-tracker s4-1) - self - 'touch-tracker - (the-as pointer #x70004000) + (run-now-in-process s4-1 touch-tracker-init (-> self control trans) 4096.0 30) + (-> s4-1 ppointer) + ) + ) + ) + (send-event (ppointer->process s5-1) 'event 'attack 'flop) + (send-event + (ppointer->process s5-1) + 'function + (lambda ((arg0 target)) (let ((f0-3 (seek + (-> arg0 control root-prim local-sphere w) + (the-as float 28672.0) + (* 286720.0 (-> *display* seconds-per-frame)) + ) + ) + ) + (set! (-> arg0 control root-prim local-sphere w) f0-3) + f0-3 + ) ) - ) - (run-now-in-process - s4-1 - touch-tracker-init - (-> self control trans) - 4096.0 - 30 - ) - (-> s4-1 ppointer) - ) ) - ) - (send-event (ppointer->process s5-1) 'event 'attack 'flop) - (send-event (ppointer->process s5-1) 'function (lambda ((arg0 target)) - (let - ((f0-3 - (seek - (-> - arg0 - control - root-prim - local-sphere - w - ) - (the-as - float - 28672.0 - ) - (* - 286720.0 - (-> - *display* - seconds-per-frame - ) - ) - ) - ) - ) - (set! - (-> - arg0 - control - root-prim - local-sphere - w - ) - f0-3 - ) - f0-3 - ) - ) + ) + ) + (go target-flop-hit-ground gp-1) ) - ) ) - (go target-flop-hit-ground gp-1) - ) + (when (and + (= (-> self fact-info-target eco-type) 2) + (>= (-> self fact-info-target eco-level) (-> (new 'static 'array float 1 1.0) 0)) + ) + (dummy-10 + (-> self skel effect) + 'group-red-eco-spinkick + (ja-frame-num 0) + (if (rand-vu-percent? (the-as float 0.5)) + 23 + 17 + ) + ) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) + ) + (when (and + (not (-> self control unknown-symbol30)) + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 63) + ) + (>= (ja-aframe-num 0) 8.0) + ) + (target-start-attack) + (target-danger-set! 'flop #f) + ) + (none) ) - (when - (and - (= (-> self fact-info-target eco-type) 2) - (>= - (-> self fact-info-target eco-level) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (dummy-10 - (-> self skel effect) - 'group-red-eco-spinkick - (ja-frame-num 0) - (if (rand-vu-percent? (the-as float 0.5)) - 23 - 17 - ) - ) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) - ) - (when - (and - (not (-> self control unknown-symbol30)) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 63) - ) - (>= (ja-aframe-num 0) 8.0) - ) - (target-start-attack) - (target-danger-set! 'flop #f) - ) - (none) - ) :code (behavior ((arg0 float) (arg1 float) (arg2 float)) - (ja-channel-set! 2) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 63)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 63)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 63)) - num-func-seek! - ) - ) - (let ((a0-3 (-> self skel root-channel 1))) - (set! - (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 66)) - ) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 66)) - num-func-chan - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (let ((gp-0 (-> self skel root-channel 1))) - (set! - (-> gp-0 frame-interp) - (lerp-scale - (-> (new 'static 'array float 1 0.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - (-> self control unknown-float01) - (-> (new 'static 'array float 1 0.0) 0) - (the-as float 40960.0) - ) - ) - (set! - (-> gp-0 param 0) - (the float (+ (-> gp-0 frame-group data 0 length) -1)) - ) - (set! (-> gp-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set! - (-> self control dynam gravity-length) - (-> self control unknown-dynamics00 gravity-length) - ) - (set! - (-> self control dynam gravity quad) - (-> self control unknown-dynamics00 gravity quad) - ) - (target-danger-set! 'flop-down #f) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 64)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (let ((gp-2 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 67)) - num-func-identity - ) - (set! (-> gp-2 frame-num) 0.0) - ) - (let ((f30-0 (-> (new 'static 'array float 1 1.0) 0))) - (let ((gp-3 (new-stack-vector0))) - (let - ((f0-18 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control unknown-vector120) - ) - ) - ) - 0.0 - (vector-! - gp-3 - (-> self control unknown-vector120) - (vector-float*! gp-3 (-> self control dynam gravity-normal) f0-18) - ) - ) - (let* ((f0-19 (vector-length gp-3)) - (f1-1 f0-19) - (f2-0 -368640.0) + (ja-channel-set! 2) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 63))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 63)) data 0 length) -1)) ) - (vector+! - (-> self control unknown-vector120) - (vector-float*! - (-> self control unknown-vector120) - (-> self control dynam gravity-normal) - f2-0 - ) - (vector-float*! gp-3 gp-3 (/ f0-19 f1-1)) - ) + (set! (-> a0-2 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 63)) num-func-seek!) ) - ) - (let ((gp-4 (new-stack-vector0))) - (let - ((f0-22 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - ) - 0.0 - (vector-! - gp-4 - (-> self control transv) - (vector-float*! gp-4 (-> self control dynam gravity-normal) f0-22) - ) - ) - (let* ((f0-23 (vector-length gp-4)) - (f1-3 f0-23) - (f2-2 (* -368640.0 f30-0)) - ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-2 - ) - (vector-float*! gp-4 gp-4 (/ f0-23 f1-3)) - ) - ) - ) - (suspend) - (while #t - (+! (-> self control unknown-uint20) 1) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (let ((a0-3 (-> self skel root-channel 1))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 66))) + (set! (-> a0-3 param 0) 0.0) + (set! (-> a0-3 frame-num) 0.0) (joint-control-channel-group-eval! - a0-30 - (the-as art-joint-anim #f) - num-func-+! - ) - ) - (let ((gp-5 (-> self skel root-channel 1))) - (set! - (-> gp-5 frame-interp) - (lerp-scale - (-> (new 'static 'array float 1 0.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - (-> self control unknown-float01) - (-> (new 'static 'array float 1 0.0) 0) - (the-as float 40960.0) + a0-3 + (the-as art-joint-anim (-> self draw art-group data 66)) + num-func-chan ) - ) - (set! (-> gp-5 param 0) 0.0) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) + (let ((gp-0 (-> self skel root-channel 1))) + (set! (-> gp-0 frame-interp) (lerp-scale + (-> (new 'static 'array float 1 0.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + (-> self control unknown-float01) + (-> (new 'static 'array float 1 0.0) 0) + (the-as float 40960.0) + ) + ) + (set! (-> gp-0 param 0) (the float (+ (-> gp-0 frame-group data 0 length) -1))) + (set! (-> gp-0 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) + (set! (-> self control dynam gravity quad) (-> self control unknown-dynamics00 gravity quad)) + (target-danger-set! 'flop-down #f) + (let ((gp-1 (-> self skel root-channel 0))) (joint-control-channel-group-eval! - gp-5 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (set! - f30-0 - (* - f30-0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (-> self control unknown-float140) + gp-1 + (the-as art-joint-anim (-> self draw art-group data 64)) + num-func-identity ) - ) + (set! (-> gp-1 frame-num) 0.0) ) - (let ((gp-6 (new-stack-vector0)) - (f28-0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) + (let ((gp-2 (-> self skel root-channel 1))) + (joint-control-channel-group-eval! + gp-2 + (the-as art-joint-anim (-> self draw art-group data 67)) + num-func-identity + ) + (set! (-> gp-2 frame-num) 0.0) + ) + (let ((f30-0 (-> (new 'static 'array float 1 1.0) 0))) + (let ((gp-3 (new-stack-vector0))) + (let ((f0-18 (vector-dot (-> self control dynam gravity-normal) (-> self control unknown-vector120)))) + 0.0 + (vector-! + gp-3 + (-> self control unknown-vector120) + (vector-float*! gp-3 (-> self control dynam gravity-normal) f0-18) ) - ) - 0.0 - (vector-! - gp-6 - (-> self control transv) - (vector-float*! gp-6 (-> self control dynam gravity-normal) f28-0) - ) - (let* ((f1-5 (vector-length gp-6)) - (f0-34 f1-5) - ) - (if (< (-> self control unknown-surface01 transv-max) f1-5) - (set! f1-5 (-> self control unknown-surface01 transv-max)) + ) + (let* ((f0-19 (vector-length gp-3)) + (f1-1 f0-19) + (f2-0 -368640.0) + ) + (vector+! + (-> self control unknown-vector120) + (vector-float*! (-> self control unknown-vector120) (-> self control dynam gravity-normal) f2-0) + (vector-float*! gp-3 gp-3 (/ f0-19 f1-1)) + ) + ) ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f28-0 - ) - (vector-float*! gp-6 gp-6 (/ f1-5 f0-34)) + (let ((gp-4 (new-stack-vector0))) + (let ((f0-22 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! gp-4 (-> self control transv) (vector-float*! gp-4 (-> self control dynam gravity-normal) f0-22)) + ) + (let* ((f0-23 (vector-length gp-4)) + (f1-3 f0-23) + (f2-2 (* -368640.0 f30-0)) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-2) + (vector-float*! gp-4 gp-4 (/ f0-23 f1-3)) + ) + ) ) - ) - ) - (if - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the-as int (-> *TARGET-bank* fall-timeout)) - ) - (go target-falling #f) - ) - (if - (and - (= *cheat-mode* 'debug) - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons r2) + (suspend) + (while #t + (+! (-> self control unknown-uint20) 1) + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-+!) + ) + (let ((gp-5 (-> self skel root-channel 1))) + (set! (-> gp-5 frame-interp) (lerp-scale + (-> (new 'static 'array float 1 0.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + (-> self control unknown-float01) + (-> (new 'static 'array float 1 0.0) 0) + (the-as float 40960.0) + ) + ) + (set! (-> gp-5 param 0) 0.0) + (joint-control-channel-group-eval! gp-5 (the-as art-joint-anim #f) num-func-chan) + ) + (set! f30-0 (* f30-0 (fmin (-> (new 'static 'array float 1 1.0) 0) (-> self control unknown-float140)))) + (let ((gp-6 (new-stack-vector0)) + (f28-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + ) + 0.0 + (vector-! gp-6 (-> self control transv) (vector-float*! gp-6 (-> self control dynam gravity-normal) f28-0)) + (let* ((f1-5 (vector-length gp-6)) + (f0-34 f1-5) + ) + (if (< (-> self control unknown-surface01 transv-max) f1-5) + (set! f1-5 (-> self control unknown-surface01 transv-max)) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f28-0) + (vector-float*! gp-6 gp-6 (/ f1-5 f0-34)) + ) + ) + ) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the-as int (-> *TARGET-bank* fall-timeout))) + (go target-falling #f) + ) + (if (and + (= *cheat-mode* 'debug) + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons r2)) + (not *pause-lock*) + ) + (go target-falling #f) + ) + (suspend) ) - (not *pause-lock*) - ) - (go target-falling #f) ) - (suspend) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -6815,112 +4247,87 @@ (defstate target-flop-hit-ground (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('swim) - #f + (case arg2 + (('swim) + #f + ) + (else + (target-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior ((arg0 symbol)) - (let - ((f0-1 - (vector-dot - (-> self control dynam gravity-normal) - (vector-! - (new 'stack-no-clear 'vector) - (-> self control unknown-vector111) - (-> self control trans) - ) - ) + (let ((f0-1 (vector-dot + (-> self control dynam gravity-normal) + (vector-! (new 'stack-no-clear 'vector) (-> self control unknown-vector111) (-> self control trans)) + ) + ) + ) + (if (< (-> *TARGET-bank* fall-far) f0-1) + (go target-hit-ground-hard f0-1) + ) ) - ) - (if (< (-> *TARGET-bank* fall-far) f0-1) - (go target-hit-ground-hard f0-1) - ) + (target-land-effect) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 30) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-uint20) (the-as uint arg0)) + (set-forward-vel (-> (new 'static 'array float 1 0.0) 0)) + (set! (-> self control unknown-surface00) *flop-land-mods*) + (set! (-> *flop-land-mods* flags) (logand -1025 (-> *flop-land-mods* flags))) + (set! (-> self state-flags) (logior #x100000 (-> self state-flags))) + (none) ) - (target-land-effect) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 30) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-uint20) (the-as uint arg0)) - (set-forward-vel (-> (new 'static 'array float 1 0.0) 0)) - (set! (-> self control unknown-surface00) *flop-land-mods*) - (set! (-> *flop-land-mods* flags) (logand -1025 (-> *flop-land-mods* flags))) - (set! (-> self state-flags) (logior #x100000 (-> self state-flags))) - (none) - ) :exit target-exit :trans (behavior () - (when (!= (-> self control unknown-spoolanim00) 'stuck) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 + (when (!= (-> self control unknown-spoolanim00) 'stuck) + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons circle) + ) + (can-feet?) + ) + (go target-attack-air 'flop) + ) + ) + (when (and + (and + (= (-> self fact-info-target eco-type) 2) + (>= (-> self fact-info-target eco-level) (-> (new 'static 'array float 1 1.0) 0)) + ) + (< (- (-> *display* base-frame-counter) (-> self state-time)) 75) + ) + (dummy-10 + (-> self skel effect) + 'group-red-eco-spinkick + (ja-frame-num 0) + (if (rand-vu-percent? (the-as float 0.5)) + 23 + 17 + ) ) - (pad-buttons circle) - ) - (can-feet?) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) ) - (go target-attack-air 'flop) - ) - ) - (when - (and - (and - (= (-> self fact-info-target eco-type) 2) - (>= - (-> self fact-info-target eco-level) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 75) - ) - (dummy-10 - (-> self skel effect) - 'group-red-eco-spinkick - (ja-frame-num 0) - (if (rand-vu-percent? (the-as float 0.5)) - 23 - 17 - ) - ) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 153 30) - ) - (let ((v1-33 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((v1-33 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) ) ) - ) - (if - (and - (or - (= v1-33 (-> self draw art-group data 65)) - (= v1-33 (-> self draw art-group data 68)) - ) - (>= (ja-aframe-num 0) 28.0) + (if (and + (or (= v1-33 (-> self draw art-group data 65)) (= v1-33 (-> self draw art-group data 68))) + (>= (ja-aframe-num 0) 28.0) + ) + (logior! (-> *flop-land-mods* flags) 1024) + ) ) - (logior! (-> *flop-land-mods* flags) 1024) - ) + (slide-down-test) + (none) ) - (slide-down-test) - (none) - ) :code - (behavior ((arg0 symbol)) - (target-hit-ground-anim arg0) - (go target-falling #f) - (none) - ) + (behavior ((arg0 symbol)) (target-hit-ground-anim arg0) (go target-falling #f) (none)) :post (the-as (function none :behavior target) target-post) ) @@ -6929,307 +4336,155 @@ (defstate target-wheel (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (if (= arg2 'touched) - (send-event arg0 'roll) + (if (= arg2 'touched) + (send-event arg0 'roll) + ) + (target-standard-event-handler arg0 arg1 arg2 arg3) ) - (target-standard-event-handler arg0 arg1 arg2 arg3) - ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-surface00) *wheel-mods*) - (+! (-> self control unknown-int50) 1) - (rot->dir-targ! (-> self control)) - (set-forward-vel - (+ - (-> *TARGET-bank* wheel-speed-min) - (* - (-> *TARGET-bank* wheel-speed-inc) - (the float (+ (-> self control unknown-int50) -1)) - ) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-surface00) *wheel-mods*) + (+! (-> self control unknown-int50) 1) + (rot->dir-targ! (-> self control)) + (set-forward-vel (+ (-> *TARGET-bank* wheel-speed-min) + (* (-> *TARGET-bank* wheel-speed-inc) (the float (+ (-> self control unknown-int50) -1))) + ) + ) + (if (or (< (fabs (-> self control unknown-float62)) 0.3) (< 0.3 (fabs (-> self control unknown-float61)))) + (set! (-> self control unknown-float81) (-> (new 'static 'array float 1 1.0) 0)) + ) + (set! (-> self control unknown-uint20) (the-as uint 0)) + (set! (-> self control unknown-int21) 0) + 0 + (none) ) - (if - (or - (< (fabs (-> self control unknown-float62)) 0.3) - (< 0.3 (fabs (-> self control unknown-float61))) - ) - (set! - (-> self control unknown-float81) - (-> (new 'static 'array float 1 1.0) 0) - ) - ) - (set! (-> self control unknown-uint20) (the-as uint 0)) - (set! (-> self control unknown-int21) 0) - 0 - (none) - ) :exit (behavior () - (when (!= (-> self next-state name) 'target-wheel) - (set! (-> self control unknown-int50) 0) - (set! (-> self control unknown-dword30) (-> *display* base-frame-counter)) + (when (!= (-> self next-state name) 'target-wheel) + (set! (-> self control unknown-int50) 0) + (set! (-> self control unknown-dword30) (-> *display* base-frame-counter)) + ) + (target-exit) + (none) ) - (target-exit) - (none) - ) :code (behavior () - (let ((gp-0 0)) - 0 - (let ((s5-0 0) - (f30-0 (-> (new 'static 'array float 1 1.0) 0)) + (let ((gp-0 0)) + 0 + (let ((s5-0 0) + (f30-0 (-> (new 'static 'array float 1 1.0) 0)) + ) + (ja-channel-push! 1 12) + (let ((s4-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s4-0 + (the-as art-joint-anim (-> self draw art-group data 69)) + num-func-identity + ) + (set! (-> s4-0 frame-num) 0.0) ) - (ja-channel-push! 1 12) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 69)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) - (until (ja-done? 0) - (if - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons x) - ) - (set! gp-0 (-> *display* base-frame-counter)) - ) - (when - (and - (or (smack-surface? #f) (>= (-> self control unknown-float63) 0.7)) - (>= - (the-as - uint - (- - (-> *display* base-frame-counter) - (the-as int (-> self control unknown-uint20)) - ) + (until (ja-done? 0) + (if (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (pad-buttons x)) + (set! gp-0 (-> *display* base-frame-counter)) + ) + (when (and + (or (smack-surface? #f) (>= (-> self control unknown-float63) 0.7)) + (>= (the-as uint (- (-> *display* base-frame-counter) (the-as int (-> self control unknown-uint20)))) + (the-as uint 3) + ) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 1) + ) + (if (>= 6.0 (ja-aframe-num 0)) + (target-shoved + (-> *TARGET-bank* smack-surface-dist) + (-> *TARGET-bank* smack-surface-height) + (the-as process #f) + (the-as (state target) target-hit) + ) + ) + (if (zero? s5-0) + (set! s5-0 (-> *display* base-frame-counter)) + ) + ) + (if (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons square) + ) + (-> *display* base-frame-counter) + ) + (TODO-RENAME-9 (-> self align)) + (cond + ((nonzero? s5-0) + ) + (else + (TODO-RENAME-10 + (-> self align) + 4 + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + f30-0 + ) + (let ((s4-1 (new-stack-vector0))) + (vector-matrix*! s4-1 (-> self control transv) (-> self control unknown-matrix00)) + (set! (-> s4-1 y) 0.0) + (vector-matrix*! (-> self control unknown-vector120) s4-1 (-> self control unknown-matrix01)) + ) + ) + ) + (suspend) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) + (set! (-> a0-15 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) + ) + (set! f30-0 (* f30-0 (fmin (-> (new 'static 'array float 1 1.0) 0) (-> self control unknown-float140)))) ) - (the-as uint 3) - ) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 1) ) - (if (>= 6.0 (ja-aframe-num 0)) - (target-shoved - (-> *TARGET-bank* smack-surface-dist) - (-> *TARGET-bank* smack-surface-height) - (the-as process #f) - (the-as (state target) target-hit) - ) - ) - (if (zero? s5-0) - (set! s5-0 (-> *display* base-frame-counter)) - ) - ) - (if - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons square) - ) - (-> *display* base-frame-counter) - ) - (TODO-RENAME-9 (-> self align)) - (cond - ((nonzero? s5-0) - ) - (else - (TODO-RENAME-10 - (-> self align) - 4 - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - f30-0 - ) - (let ((s4-1 (new-stack-vector0))) - (vector-matrix*! - s4-1 - (-> self control transv) - (-> self control unknown-matrix00) + (if (and + (or + (< (- (-> *display* base-frame-counter) gp-0) (the-as int (-> *TARGET-bank* wheel-jump-pre-window))) + (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) (pad-buttons x)) + ) + (can-jump? 'target-wheel-flip) + ) + (go target-wheel-flip (-> *TARGET-bank* wheel-flip-height) (-> *TARGET-bank* wheel-flip-dist)) ) - (set! (-> s4-1 y) 0.0) - (vector-matrix*! - (-> self control unknown-vector120) - s4-1 - (-> self control unknown-matrix01) + ) + (set! (-> self state-hook-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> self state-hook) + (lambda :behavior target + () + (cond + ((>= (- (-> *display* base-frame-counter) (the-as int (-> self state-hook-time))) + (the-as int (-> *TARGET-bank* wheel-jump-post-window)) + ) + (set! (-> self state-hook) (the-as (function none :behavior target) nothing)) + ) + (else + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? 'target-wheel-flip) + ) + (go target-wheel-flip (-> *TARGET-bank* wheel-flip-height) (-> *TARGET-bank* wheel-flip-dist)) + ) + ) + ) + (none) + ) ) - ) - ) - ) - (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 param 0) - (the float (+ (-> a0-15 frame-group data 0 length) -1)) - ) - (set! (-> a0-15 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (set! - f30-0 - (* - f30-0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (-> self control unknown-float140) - ) - ) - ) - ) - ) - (if - (and - (or - (< - (- (-> *display* base-frame-counter) gp-0) - (the-as int (-> *TARGET-bank* wheel-jump-pre-window)) - ) - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons x) - ) - ) - (can-jump? 'target-wheel-flip) - ) - (go - target-wheel-flip - (-> *TARGET-bank* wheel-flip-height) - (-> *TARGET-bank* wheel-flip-dist) - ) - ) + (go target-duck-stance) + (none) ) - (set! - (-> self state-hook-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! (-> self state-hook) (lambda :behavior target () (cond - ((>= - (- - (-> - *display* - base-frame-counter - ) - (the-as - int - (-> - self - state-hook-time - ) - ) - ) - (the-as - int - (-> - *TARGET-bank* - wheel-jump-post-window - ) - ) - ) - (set! - (-> - self - state-hook - ) - (the-as - (function none :behavior target) - nothing - ) - ) - ) - (else - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> - self - control - unknown-cpad-info00 - number - ) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> - self - control - unknown-cpad-info00 - number - ) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> - self - control - unknown-cpad-info00 - number - ) - button0-rel - 2 - ) - ) - (pad-buttons x) - ) - (can-jump? - 'target-wheel-flip - ) - ) - (go - target-wheel-flip - (-> - *TARGET-bank* - wheel-flip-height - ) - (-> - *TARGET-bank* - wheel-flip-dist - ) - ) - ) - ) - ) - (none) - ) - ) - (go target-duck-stance) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -7239,323 +4494,189 @@ :event target-standard-event-handler :enter - (behavior ((arg0 float) (arg1 float)) - (set! (-> self control unknown-surface00) *wheel-flip-mods*) - (none) - ) + (behavior ((arg0 float) (arg1 float)) (set! (-> self control unknown-surface00) *wheel-flip-mods*) (none)) :exit target-exit :trans (behavior () - (if - (and - (or - (smack-surface? #f) - (< - (target-move-dist (the-as int (-> *TARGET-bank* stuck-time))) - (-> *TARGET-bank* stuck-distance) - ) - ) - (!= (-> self state-time) (-> *display* base-frame-counter)) - ) - (target-shoved - (-> *TARGET-bank* smack-surface-dist) - (-> *TARGET-bank* smack-surface-height) - (the-as process #f) - (the-as (state target) target-hit) - ) - ) - (if - (and - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (pad-buttons circle) - ) - (can-feet?) - (and (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (if (and + (or + (smack-surface? #f) + (< (target-move-dist (the-as int (-> *TARGET-bank* stuck-time))) (-> *TARGET-bank* stuck-distance)) ) - (-> self draw art-group data 38) - ) - (= (-> self skel root-channel 0) (-> self skel channel)) - ) - ) - (go target-attack-air #f) - ) - (none) - ) - :code - (behavior ((arg0 float) (arg1 float)) - (ja-channel-push! 1 12) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s4-0 - (the-as art-joint-anim (-> self draw art-group data 71)) - num-func-identity - ) - (set! (-> s4-0 frame-num) 0.0) - ) - (let ((f30-0 (-> (new 'static 'array float 1 1.0) 0))) - (until - (or - (ja-max? 0) - (and (>= (ja-aframe-num 0) 4.0) (logtest? (-> self control status) 1)) - ) - (when - (and - (>= (ja-aframe-num 0) (-> (new 'static 'array float 1 3.0) 0)) - (not (-> self control unknown-symbol30)) - ) - (set! (-> self event-hook) target-dangerous-event-handler) - (target-start-attack) - (target-danger-set! 'flip #f) - ) - (TODO-RENAME-9 (-> self align)) - (if (not (ja-max? 0)) - (TODO-RENAME-10 - (-> self align) - 6 - (-> (new 'static 'array float 1 1.0) 0) - (/ arg0 (-> *TARGET-bank* wheel-flip-art-height)) - (* f30-0 (/ arg1 (-> *TARGET-bank* wheel-flip-art-dist))) - ) - (TODO-RENAME-10 - (-> self align) - 4 - (-> (new 'static 'array float 1 1.0) 0) - (-> (new 'static 'array float 1 1.0) 0) - (* f30-0 (/ arg1 (-> *TARGET-bank* wheel-flip-art-dist))) - ) - ) - (let ((s4-1 (new-stack-vector0))) - (vector-matrix*! - s4-1 - (-> self control transv) - (-> self control unknown-matrix00) - ) - (set! (-> s4-1 y) 0.0) - (vector-matrix*! - (-> self control unknown-vector120) - s4-1 - (-> self control unknown-matrix01) - ) - ) - (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 param 0) - (the float (+ (-> a0-11 frame-group data 0 length) -1)) - ) - (set! (-> a0-11 param 1) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (set! - f30-0 - (* - f30-0 - (fmin - (-> (new 'static 'array float 1 1.0) 0) - (-> self control unknown-float140) + (!= (-> self state-time) (-> *display* base-frame-counter)) + ) + (target-shoved + (-> *TARGET-bank* smack-surface-dist) + (-> *TARGET-bank* smack-surface-height) + (the-as process #f) + (the-as (state target) target-hit) + ) ) - ) - ) - ) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while (zero? (logand (-> self control status) 1)) - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 3) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (if (and + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons circle) + ) + (can-feet?) + (and + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) (-> self draw art-group data 38) ) + (= (-> self skel root-channel 0) (-> self skel channel)) + ) ) - (ja-channel-push! 1 30) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 38)) + (go target-attack-air #f) + ) + (none) + ) + :code + (behavior ((arg0 float) (arg1 float)) + (ja-channel-push! 1 12) + (let ((s4-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s4-0 + (the-as art-joint-anim (-> self draw art-group data 71)) num-func-identity ) - (set! (-> gp-1 frame-num) 0.0) - ) + (set! (-> s4-0 frame-num) 0.0) ) - ) - (let ((gp-2 (new-stack-vector0)) - (f30-1 - (vector-dot - (-> self control dynam gravity-normal) + (let ((f30-0 (-> (new 'static 'array float 1 1.0) 0))) + (until (or (ja-max? 0) (and (>= (ja-aframe-num 0) 4.0) (logtest? (-> self control status) 1))) + (when (and (>= (ja-aframe-num 0) (-> (new 'static 'array float 1 3.0) 0)) (not (-> self control unknown-symbol30))) + (set! (-> self event-hook) target-dangerous-event-handler) + (target-start-attack) + (target-danger-set! 'flip #f) + ) + (TODO-RENAME-9 (-> self align)) + (if (not (ja-max? 0)) + (TODO-RENAME-10 + (-> self align) + 6 + (-> (new 'static 'array float 1 1.0) 0) + (/ arg0 (-> *TARGET-bank* wheel-flip-art-height)) + (* f30-0 (/ arg1 (-> *TARGET-bank* wheel-flip-art-dist))) + ) + (TODO-RENAME-10 + (-> self align) + 4 + (-> (new 'static 'array float 1 1.0) 0) + (-> (new 'static 'array float 1 1.0) 0) + (* f30-0 (/ arg1 (-> *TARGET-bank* wheel-flip-art-dist))) + ) + ) + (let ((s4-1 (new-stack-vector0))) + (vector-matrix*! s4-1 (-> self control transv) (-> self control unknown-matrix00)) + (set! (-> s4-1 y) 0.0) + (vector-matrix*! (-> self control unknown-vector120) s4-1 (-> self control unknown-matrix01)) + ) + (suspend) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) + (set! (-> a0-11 param 1) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) + ) + (set! f30-0 (* f30-0 (fmin (-> (new 'static 'array float 1 1.0) 0) (-> self control unknown-float140)))) + ) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while (zero? (logand (-> self control status) 1)) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 3) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 38) + ) + ) + (ja-channel-push! 1 30) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 38)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) + ) + ) + ) + (let ((gp-2 (new-stack-vector0)) + (f30-1 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + ) + 0.0 + (vector-! gp-2 (-> self control transv) (vector-float*! gp-2 (-> self control dynam gravity-normal) f30-1)) + (let* ((f1-6 (vector-length gp-2)) + (f0-21 f1-6) + (f1-7 (* 0.9 f1-6)) + ) + (vector+! (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f30-1) + (vector-float*! gp-2 gp-2 (/ f1-7 f0-21)) ) - ) ) - 0.0 - (vector-! - gp-2 - (-> self control transv) - (vector-float*! gp-2 (-> self control dynam gravity-normal) f30-1) - ) - (let* ((f1-6 (vector-length gp-2)) - (f0-21 f1-6) - (f1-7 (* 0.9 f1-6)) + ) + (suspend) + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 38) ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f30-1 - ) - (vector-float*! gp-2 gp-2 (/ f1-7 f0-21)) - ) - ) - ) - (suspend) - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 38) - ) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 param 0) (-> (new 'static 'array float 1 1.0) 0)) - (joint-control-channel-group-eval! - a0-35 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - (else - (let ((v1-85 (-> self skel root-channel 0))) - (set! (-> v1-85 num-func) num-func-identity) - (set! - (-> v1-85 frame-num) - (the float (+ (-> v1-85 frame-group data 0 length) -1)) - ) - ) - ) - ) - ) - (target-land-effect) - (set! - (-> self state-hook-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! (-> self state-hook) (lambda :behavior target () (cond - ((>= - (- - (-> - *display* - base-frame-counter - ) - (the-as - int - (-> - self - state-hook-time - ) - ) - ) - 30 - ) - (set! - (-> - self - state-hook - ) - (the-as - (function none :behavior target) - nothing - ) - ) - ) - (else - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> - self - control - unknown-cpad-info00 - number - ) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> - self - control - unknown-cpad-info00 - number - ) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> - self - control - unknown-cpad-info00 - number - ) - button0-rel - 2 - ) - ) - (pad-buttons x) - ) - (can-jump? #f) - ) - (go - target-high-jump - (-> - *TARGET-bank* - flip-jump-height-min - ) - (-> - *TARGET-bank* - flip-jump-height-max - ) - 'flip - ) - ) - ) - ) - (none) - ) - ) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-35 (-> self skel root-channel 0))) + (set! (-> a0-35 param 0) (-> (new 'static 'array float 1 1.0) 0)) + (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-loop!) ) - (-> self draw art-group data 38) + ) + (else + (let ((v1-85 (-> self skel root-channel 0))) + (set! (-> v1-85 num-func) num-func-identity) + (set! (-> v1-85 frame-num) (the float (+ (-> v1-85 frame-group data 0 length) -1))) + ) + ) ) - (go target-hit-ground #f) - (go target-stance) + ) + (target-land-effect) + (set! (-> self state-hook-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> self state-hook) + (lambda :behavior target + () + (cond + ((>= (- (-> *display* base-frame-counter) (the-as int (-> self state-hook-time))) 30) + (set! (-> self state-hook) (the-as (function none :behavior target) nothing)) + ) + (else + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons x) + ) + (can-jump? #f) + ) + (go target-high-jump (-> *TARGET-bank* flip-jump-height-min) (-> *TARGET-bank* flip-jump-height-max) 'flip) + ) + ) + ) + (none) + ) + ) + (if (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 38) + ) + (go target-hit-ground #f) + (go target-stance) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) diff --git a/test/decompiler/reference/engine/ui/credits_REF.gc b/test/decompiler/reference/engine/ui/credits_REF.gc index b4e69cfe48..51b5b7b1a2 100644 --- a/test/decompiler/reference/engine/ui/credits_REF.gc +++ b/test/decompiler/reference/engine/ui/credits_REF.gc @@ -6,25 +6,25 @@ (defun set-credits-font-color ((arg0 float)) 255.0 (dotimes (v1-0 4) - (let ((f0-2 (* 64.0 arg0))) - (if (< 128.0 f0-2) - (set! f0-2 128.0) - ) - (set! (-> *font-work* color-table 32 color v1-0 r) (the int f0-2)) + (let ((f0-2 (* 64.0 arg0))) + (if (< 128.0 f0-2) + (set! f0-2 128.0) + ) + (set! (-> *font-work* color-table 32 color v1-0 r) (the int f0-2)) + ) + (let ((f0-5 (* 64.0 arg0))) + (if (< 128.0 f0-5) + (set! f0-5 128.0) + ) + (set! (-> *font-work* color-table 32 color v1-0 g) (the int f0-5)) + ) + (let ((f0-8 (* 64.0 arg0))) + (if (< 128.0 f0-8) + (set! f0-8 128.0) + ) + (set! (-> *font-work* color-table 32 color v1-0 b) (the int f0-8)) + ) ) - (let ((f0-5 (* 64.0 arg0))) - (if (< 128.0 f0-5) - (set! f0-5 128.0) - ) - (set! (-> *font-work* color-table 32 color v1-0 g) (the int f0-5)) - ) - (let ((f0-8 (* 64.0 arg0))) - (if (< 128.0 f0-8) - (set! f0-8 128.0) - ) - (set! (-> *font-work* color-table 32 color v1-0 b) (the int f0-8)) - ) - ) 0 (none) ) @@ -33,123 +33,87 @@ (define *title-credits-scale* (the-as (array float) - (new - 'static - 'boxed-array - :type float :length 8 :allocated-length 8 - 0.9 - 0.9 - 0.6 - 0.6 - 1.0 - 0.9 - 1.1 - 0.9 + (new 'static 'boxed-array :type float :length 8 :allocated-length 8 0.9 0.9 0.6 0.6 1.0 0.9 1.1 0.9) ) - ) ) ;; definition for symbol *title-credits-spacing*, type (array int32) (define *title-credits-spacing* (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 8 :allocated-length 8 - 15 - 20 - 15 - 15 - 20 - 15 - 20 - 15 + (new 'static 'boxed-array :type int32 :length 8 :allocated-length 8 15 20 15 15 20 15 20 15) ) - ) ) ;; definition for function draw-title-credits ;; INFO: Return type mismatch int vs none. (defun draw-title-credits ((arg0 float)) (when (>= 1.0 arg0) - (let* ((s4-0 11) - (f30-0 (* arg0 (the float (+ s4-0 -2)))) - (s5-0 (the int f30-0)) - (gp-0 - (new - 'stack - 'font-context - *font-default-matrix* - 0 - 0 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) + (let* ((s4-0 11) + (f30-0 (* arg0 (the float (+ s4-0 -2)))) + (s5-0 (the int f30-0)) + (gp-0 + (new 'stack 'font-context *font-default-matrix* 0 0 0.0 (font-color default) (font-flags shadow kerning)) + ) ) - ) - 1.0 - (let ((v1-3 gp-0)) - (set! (-> v1-3 width) (the float 600)) - ) - (let ((v1-4 gp-0)) - (set! (-> v1-4 height) (the float 10)) - ) - (set! (-> gp-0 flags) (font-flags kerning middle large)) - (let* ((s5-1 (- s5-0 (mod s5-0 3))) - (f0-10 (- f30-0 (the float s5-1))) - ) - (when (and (>= s5-1 0) (< s5-1 s4-0)) - (let ((f30-1 (cond - ((< f0-10 0.8) - 0.0 + 1.0 + (let ((v1-3 gp-0)) + (set! (-> v1-3 width) (the float 600)) + ) + (let ((v1-4 gp-0)) + (set! (-> v1-4 height) (the float 10)) + ) + (set! (-> gp-0 flags) (font-flags kerning middle large)) + (let* ((s5-1 (- s5-0 (mod s5-0 3))) + (f0-10 (- f30-0 (the float s5-1))) + ) + (when (and (>= s5-1 0) (< s5-1 s4-0)) + (let ((f30-1 (cond + ((< f0-10 0.8) + 0.0 + ) + ((< f0-10 1.6) + (* 160.0 (+ -0.8 f0-10)) + ) + ((< f0-10 2.2) + 128.0 + ) + (else + (* 128.0 (- 1.0 (* 1.25 (+ -2.2 f0-10)))) + ) + ) + ) + ) + (set! (-> gp-0 origin x) -44.0) + (set! (-> gp-0 origin y) 90.0) + (dotimes (s4-1 3) + (let* ((s2-0 (+ s4-1 3840 s5-1)) + (s3-0 (lookup-text! *common-text* (the-as game-text-id s2-0) #t)) ) - ((< f0-10 1.6) - (* 160.0 (+ -0.8 f0-10)) + (when (= s2-0 3841) + (case (scf-get-territory) + ((1) + (set! s3-0 (lookup-text! *common-text* (game-text-id europe) #t)) ) - ((< f0-10 2.2) - 128.0 - ) - (else - (* 128.0 (- 1.0 (* 1.25 (+ -2.2 f0-10)))) + ((2) + (set! s3-0 (lookup-text! *common-text* (game-text-id inc) #t)) ) ) - ) + ) + (when s3-0 + (let ((v1-25 gp-0)) + (set! (-> v1-25 scale) (-> *title-credits-scale* (+ s5-1 s4-1))) + ) + (print-game-text s3-0 gp-0 #f (the int f30-1) 22) + ) + ) + (+! (-> gp-0 origin y) (the float (-> *title-credits-spacing* (+ s5-1 s4-1)))) + ) ) - (set! (-> gp-0 origin x) -44.0) - (set! (-> gp-0 origin y) 90.0) - (dotimes (s4-1 3) - (let* ((s2-0 (+ s4-1 3840 s5-1)) - (s3-0 (lookup-text! *common-text* (the-as game-text-id s2-0) #t)) - ) - (when (= s2-0 3841) - (case (scf-get-territory) - ((1) - (set! s3-0 (lookup-text! *common-text* (game-text-id europe) #t)) - ) - ((2) - (set! s3-0 (lookup-text! *common-text* (game-text-id inc) #t)) - ) - ) ) - (when s3-0 - (let ((v1-25 gp-0)) - (set! (-> v1-25 scale) (-> *title-credits-scale* (+ s5-1 s4-1))) - ) - (print-game-text s3-0 gp-0 #f (the int f30-1) 22) - ) - ) - (+! - (-> gp-0 origin y) - (the float (-> *title-credits-spacing* (+ s5-1 s4-1))) - ) ) - ) ) - ) ) - ) 0 (none) ) @@ -157,66 +121,53 @@ ;; definition for function draw-end-credits (defun draw-end-credits ((arg0 int)) (local-vars (v1-13 int)) - (let - ((s4-0 - (+ (- arg0) (the int (* 1.5 (the float (-> *video-parms* screen-sy))))) - ) - (gp-0 2815) - (s3-0 0) - (s2-0 #t) - (s5-0 - (new - 'stack - 'font-context - *font-default-matrix* - 31 - 0 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) - ) - ) - (let ((v1-2 s5-0)) - (set! (-> v1-2 width) (the float 450)) - ) - (let ((v1-3 s5-0)) - (set! (-> v1-3 height) (the float 10)) - ) - (let ((v1-4 s5-0)) - (set! (-> v1-4 scale) 1.0) - ) - (set! (-> s5-0 flags) (font-flags shadow kerning middle large)) - (while - (or s2-0 (and (< s4-0 (- s3-0)) (< (the-as uint gp-0) (the-as uint 3249)))) - (+! s4-0 s3-0) - (+! gp-0 1) - (let ((a0-8 (lookup-text! *common-text* (the-as game-text-id gp-0) #t))) - (if a0-8 - (set! s3-0 (the int (+ 5.0 (print-game-text a0-8 s5-0 #t 128 20)))) - (set! s3-0 25) - ) - ) - (set! s2-0 #f) - ) - (cond - ((>= (the-as uint gp-0) (the-as uint 3249)) - #t - ) - (else - (set! (-> s5-0 origin y) (the float s4-0)) - (while (< (-> s5-0 origin y) (the float (-> *video-parms* screen-sy))) - (let ((a0-11 (lookup-text! *common-text* (the-as game-text-id gp-0) #t))) - (if a0-11 - (set! v1-13 (the int (+ 5.0 (print-game-text a0-11 s5-0 #f 128 20)))) - (set! v1-13 25) + (let ((s4-0 (+ (- arg0) (the int (* 1.5 (the float (-> *video-parms* screen-sy)))))) + (gp-0 2815) + (s3-0 0) + (s2-0 #t) + (s5-0 + (new 'stack 'font-context *font-default-matrix* 31 0 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-2 s5-0)) + (set! (-> v1-2 width) (the float 450)) + ) + (let ((v1-3 s5-0)) + (set! (-> v1-3 height) (the float 10)) + ) + (let ((v1-4 s5-0)) + (set! (-> v1-4 scale) 1.0) + ) + (set! (-> s5-0 flags) (font-flags shadow kerning middle large)) + (while (or s2-0 (and (< s4-0 (- s3-0)) (< (the-as uint gp-0) (the-as uint 3249)))) + (+! s4-0 s3-0) + (+! gp-0 1) + (let ((a0-8 (lookup-text! *common-text* (the-as game-text-id gp-0) #t))) + (if a0-8 + (set! s3-0 (the int (+ 5.0 (print-game-text a0-8 s5-0 #t 128 20)))) + (set! s3-0 25) + ) + ) + (set! s2-0 #f) + ) + (cond + ((>= (the-as uint gp-0) (the-as uint 3249)) + #t + ) + (else + (set! (-> s5-0 origin y) (the float s4-0)) + (while (< (-> s5-0 origin y) (the float (-> *video-parms* screen-sy))) + (let ((a0-11 (lookup-text! *common-text* (the-as game-text-id gp-0) #t))) + (if a0-11 + (set! v1-13 (the int (+ 5.0 (print-game-text a0-11 s5-0 #f 128 20)))) + (set! v1-13 25) + ) + ) + (+! (-> s5-0 origin y) (the float v1-13)) + (+! gp-0 1) + ) + #f ) - ) - (+! (-> s5-0 origin y) (the float v1-13)) - (+! gp-0 1) ) - #f - ) ) - ) ) diff --git a/test/decompiler/reference/engine/ui/hud-classes_REF.gc b/test/decompiler/reference/engine/ui/hud-classes_REF.gc index 1821f0befe..6eeb8bfd7f 100644 --- a/test/decompiler/reference/engine/ui/hud-classes_REF.gc +++ b/test/decompiler/reference/engine/ui/hud-classes_REF.gc @@ -2,172 +2,156 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 75) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-pickup" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 303 :flags (launch-asap) :binding 304) - (sp-item 304 :flags (start-dead launch-asap) :binding 305) - (sp-item 305 :flags (start-dead launch-asap) :binding 306) - (sp-item 306 :flags (start-dead launch-asap) :binding 307) - (sp-item 306 :flags (start-dead launch-asap) :binding 307) - (sp-item 306 :flags (start-dead launch-asap) :binding 307) - (sp-item 306 :flags (start-dead launch-asap) :binding 307) - (sp-item 307 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 307 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 307 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 307 :fade-after (meters 40.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 75) (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-pickup" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 303 :flags (launch-asap) :binding 304) + (sp-item 304 :flags (start-dead launch-asap) :binding 305) + (sp-item 305 :flags (start-dead launch-asap) :binding 306) + (sp-item 306 :flags (start-dead launch-asap) :binding 307) + (sp-item 306 :flags (start-dead launch-asap) :binding 307) + (sp-item 306 :flags (start-dead launch-asap) :binding 307) + (sp-item 306 :flags (start-dead launch-asap) :binding 307) + (sp-item 307 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 307 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 307 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 307 :fade-after (meters 40.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 303) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 303) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 10 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 304) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 122.88) - (sp-flt spt-scale-x (meters 2.5)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.026666667) 1.0) - (sp-flt spt-vel-y (meters 0.0014814815)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-rotvel-z (degrees 0.2)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit7 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 304) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 122.88) + (sp-flt spt-scale-x (meters 2.5)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.026666667) 1.0) + (sp-flt spt-vel-y (meters 0.0014814815)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-rotvel-z (degrees 0.2)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit7 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 305) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 3.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 266.24) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 92.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.017777778) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.4) 1 145.63556) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3 bit7 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 305) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 3.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 266.24) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 92.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.017777778) (meters 0.017777778) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.4) 1 145.63556) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3 bit7 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 306) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 491.52) - (sp-flt spt-scale-x (meters 0.4)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 255.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 306) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 491.52) + (sp-flt spt-scale-x (meters 0.4)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 255.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 307) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-scale-x (meters 0.35)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-flt spt-scalevel-x (meters -0.0012500001)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -2.125) - (sp-flt spt-accel-y -0.08192) - (sp-int-plain-rnd spt-timer 30 239 1) - (sp-cpuinfo-flags bit2 bit9) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 308) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 307) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-scale-x (meters 0.35)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-flt spt-scalevel-x (meters -0.0012500001)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -2.125) + (sp-flt spt-accel-y -0.08192) + (sp-int-plain-rnd spt-timer 30 239 1) + (sp-cpuinfo-flags bit2 bit9) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 308) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 308) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-r 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 308) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-r 0.0) (sp-end)) + ) + ) ;; definition of type hud-pickups (deftype hud-pickups (hud) @@ -181,8 +165,8 @@ ;; definition for method 3 of type hud-pickups (defmethod inspect hud-pickups ((obj hud-pickups)) (let ((t9-0 (method-of-type hud inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -190,43 +174,41 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-15 hud-pickups ((obj hud-pickups)) (let ((t9-0 (method-of-type hud dummy-15))) - (t9-0 obj) - ) + (t9-0 obj) + ) (let* ((s5-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) (gp-0 (-> s5-0 base)) ) - (let ((s4-0 draw-string-xy)) - (format (clear *temp-string*) "~D" (-> obj value)) - (s4-0 - *temp-string* - s5-0 - (+ (-> obj text-x) (* (-> obj x-sgn) (-> obj offset))) - (/ - (* - (+ (-> obj text-y) (* (-> obj y-sgn) (-> obj offset)) (-> obj y-offset)) - (the int (-> *video-parms* relative-y-scale)) - ) - 2 + (let ((s4-0 draw-string-xy)) + (format (clear *temp-string*) "~D" (-> obj value)) + (s4-0 + *temp-string* + s5-0 + (+ (-> obj text-x) (* (-> obj x-sgn) (-> obj offset))) + (/ (* (+ (-> obj text-y) (* (-> obj y-sgn) (-> obj offset)) (-> obj y-offset)) + (the int (-> *video-parms* relative-y-scale)) + ) + 2 + ) + (font-color bright-green) + (font-flags shadow kerning large) + ) + ) + (let ((a3-7 (-> s5-0 base))) + (let ((v1-8 (the-as object (-> s5-0 base)))) + (set! (-> (the-as (pointer int64) v1-8)) #x20000000) + (set! (-> (the-as dma-packet v1-8) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-8) vif1) (new 'static 'vif-tag)) + (set! (-> s5-0 base) (&+ (the-as pointer v1-8) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-0 + (the-as (pointer dma-tag) a3-7) + ) ) - (font-color bright-green) - (font-flags shadow kerning large) - ) ) - (let ((a3-7 (-> s5-0 base))) - (let ((v1-8 (the-as object (-> s5-0 base)))) - (set! (-> (the-as (pointer int64) v1-8)) #x20000000) - (set! (-> (the-as dma-packet v1-8) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-8) vif1) (new 'static 'vif-tag)) - (set! (-> s5-0 base) (&+ (the-as pointer v1-8) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-0 - (the-as (pointer dma-tag) a3-7) - ) - ) - ) 0 (none) ) @@ -235,12 +217,8 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-19 hud-pickups ((obj hud-pickups)) (if *target* - (TODO-RENAME-16 - obj - (the int (+ 0.5 (-> *target* fact-info-target eco-pill))) - 0 - ) - ) + (TODO-RENAME-16 obj (the int (+ 0.5 (-> *target* fact-info-target eco-pill))) 0) + ) 0 (none) ) @@ -249,24 +227,21 @@ ;; INFO: Return type mismatch int vs none. (defmethod init-particles! hud-pickups ((obj hud-pickups) (arg0 int)) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-0 (-> obj nb-of-particles))) - (set! (-> obj particles s5-0) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-0 part) - (create-launch-control (-> *part-group-id-table* 75) obj) - ) - (set! (-> obj particles s5-0 init-pos x) 110.0) - (set! (-> obj particles s5-0 init-pos y) 55.0) - (set! (-> obj particles s5-0 init-pos z) 1.0) - (set! (-> obj particles s5-0 part matrix) -1) + (let ((s5-0 (-> obj nb-of-particles))) + (set! (-> obj particles s5-0) (new 'static 'hud-particle)) + (set! (-> obj particles s5-0 part) (create-launch-control (-> *part-group-id-table* 75) obj)) + (set! (-> obj particles s5-0 init-pos x) 110.0) + (set! (-> obj particles s5-0 init-pos y) 55.0) + (set! (-> obj particles s5-0 init-pos z) 1.0) + (set! (-> obj particles s5-0 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (dotimes (s5-1 (-> obj nb-of-particles)) - (if (= (-> obj particles s5-1 part matrix) -1) - (set! (-> obj particles s5-1 part matrix) (sprite-allocate-user-hvdf)) + (if (= (-> obj particles s5-1 part matrix) -1) + (set! (-> obj particles s5-1 part matrix) (sprite-allocate-user-hvdf)) + ) ) - ) (set! (-> obj text-x) 118) (set! (-> obj text-y) 45) (set! (-> obj x-sgn) -1) @@ -277,121 +252,106 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 76) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-health-1" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 309 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 76) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-health-1" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 309 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 77) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-health-2" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 310 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 77) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-health-2" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 310 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 78) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-health-3" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 311 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 78) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-health-3" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 311 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 309) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x2d :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.7)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-health-01-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 309) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x2d :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.7)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-health-01-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 310) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x2e :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.7)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-health-03-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 310) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x2e :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.7)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-health-03-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 311) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x2f :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.7)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-health-02-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 311) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x2f :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.7)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-health-02-func) + (sp-end) + ) + ) + ) ;; definition of type hud-health (deftype hud-health (hud) @@ -406,8 +366,8 @@ ;; definition for method 3 of type hud-health (defmethod inspect hud-health ((obj hud-health)) (let ((t9-0 (method-of-type hud inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tscale: ~f~%" (-> obj scale)) obj ) @@ -416,31 +376,31 @@ ;; INFO: Return type mismatch int vs none. (defun part-hud-health-01-func ((arg0 basic) (arg1 basic) (arg2 hud-particle)) (let ((f0-0 (-> *hud-parts* health 0 scale))) - (set! (-> arg2 init-pos x) f0-0) - (set! (-> arg2 pos x) f0-0) - ) + (set! (-> arg2 init-pos x) f0-0) + (set! (-> arg2 pos x) f0-0) + ) (cond - ((and *target* (< (-> *target* fact-info-target health) 1.0)) - (set! (-> arg2 prev-pos x) 32.0) - ) - (else - (let ((f0-3 128.0)) - (when (and *target* (= (-> *target* fact-info-target health) 1.0)) - (let ((v1-16 (logand (-> *display* integral-frame-counter) 7))) - (set! f0-3 (if (zero? (logand (-> *display* integral-frame-counter) 8)) - (+ 128.0 (* 18.142857 (the float v1-16))) - (- 255.0 (* 18.142857 (the float v1-16))) - ) - ) - ) - ) - (set! (-> arg2 pos y) f0-3) - (set! (-> arg2 pos z) f0-3) - (set! (-> arg2 pos w) f0-3) + ((and *target* (< (-> *target* fact-info-target health) 1.0)) + (set! (-> arg2 prev-pos x) 32.0) ) - (set! (-> arg2 prev-pos x) 128.0) + (else + (let ((f0-3 128.0)) + (when (and *target* (= (-> *target* fact-info-target health) 1.0)) + (let ((v1-16 (logand (-> *display* integral-frame-counter) 7))) + (set! f0-3 (if (zero? (logand (-> *display* integral-frame-counter) 8)) + (+ 128.0 (* 18.142857 (the float v1-16))) + (- 255.0 (* 18.142857 (the float v1-16))) + ) + ) + ) + ) + (set! (-> arg2 pos y) f0-3) + (set! (-> arg2 pos z) f0-3) + (set! (-> arg2 pos w) f0-3) + ) + (set! (-> arg2 prev-pos x) 128.0) + ) ) - ) 0 (none) ) @@ -449,13 +409,13 @@ ;; INFO: Return type mismatch int vs none. (defun part-hud-health-02-func ((arg0 basic) (arg1 basic) (arg2 hud-particle)) (let ((f0-0 (-> *hud-parts* health 0 scale))) - (set! (-> arg2 init-pos x) f0-0) - (set! (-> arg2 pos x) f0-0) - ) + (set! (-> arg2 init-pos x) f0-0) + (set! (-> arg2 pos x) f0-0) + ) (if (and *target* (< (-> *target* fact-info-target health) 2.0)) - (set! (-> arg2 prev-pos x) 32.0) - (set! (-> arg2 prev-pos x) 128.0) - ) + (set! (-> arg2 prev-pos x) 32.0) + (set! (-> arg2 prev-pos x) 128.0) + ) 0 (none) ) @@ -464,13 +424,13 @@ ;; INFO: Return type mismatch int vs none. (defun part-hud-health-03-func ((arg0 basic) (arg1 basic) (arg2 hud-particle)) (let ((f0-0 (-> *hud-parts* health 0 scale))) - (set! (-> arg2 init-pos x) f0-0) - (set! (-> arg2 pos x) f0-0) - ) + (set! (-> arg2 init-pos x) f0-0) + (set! (-> arg2 pos x) f0-0) + ) (if (and *target* (< (-> *target* fact-info-target health) 3.0)) - (set! (-> arg2 prev-pos x) 32.0) - (set! (-> arg2 prev-pos x) 128.0) - ) + (set! (-> arg2 prev-pos x) 32.0) + (set! (-> arg2 prev-pos x) 128.0) + ) 0 (none) ) @@ -487,12 +447,12 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-19 hud-health ((obj hud-health)) (if *target* - (TODO-RENAME-16 - obj - (the int (-> *target* fact-info-target health)) - (the-as int (-> *target* fact-info-target health-pickup-time)) - ) - ) + (TODO-RENAME-16 + obj + (the int (-> *target* fact-info-target health)) + (the-as int (-> *target* fact-info-target health-pickup-time)) + ) + ) 0 (none) ) @@ -501,52 +461,43 @@ ;; INFO: Return type mismatch int vs none. (defmethod init-particles! hud-health ((obj hud-health) (arg0 int)) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-0 (-> obj nb-of-particles))) - (set! (-> obj particles s5-0) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-0 part) - (create-launch-control (-> *part-group-id-table* 76) obj) - ) - (set! (-> obj particles s5-0 init-pos x) 61.0) - (set! (-> obj particles s5-0 init-pos y) 55.0) - (set! (-> obj particles s5-0 init-pos z) 5.0) - (set! (-> obj particles s5-0 part matrix) -1) + (let ((s5-0 (-> obj nb-of-particles))) + (set! (-> obj particles s5-0) (new 'static 'hud-particle)) + (set! (-> obj particles s5-0 part) (create-launch-control (-> *part-group-id-table* 76) obj)) + (set! (-> obj particles s5-0 init-pos x) 61.0) + (set! (-> obj particles s5-0 init-pos y) 55.0) + (set! (-> obj particles s5-0 init-pos z) 5.0) + (set! (-> obj particles s5-0 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-1 (-> obj nb-of-particles))) - (set! (-> obj particles s5-1) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-1 part) - (create-launch-control (-> *part-group-id-table* 77) obj) - ) - (set! (-> obj particles s5-1 init-pos x) 98.0) - (set! (-> obj particles s5-1 init-pos y) 55.0) - (set! (-> obj particles s5-1 init-pos z) 5.0) - (set! (-> obj particles s5-1 part matrix) -1) + (let ((s5-1 (-> obj nb-of-particles))) + (set! (-> obj particles s5-1) (new 'static 'hud-particle)) + (set! (-> obj particles s5-1 part) (create-launch-control (-> *part-group-id-table* 77) obj)) + (set! (-> obj particles s5-1 init-pos x) 98.0) + (set! (-> obj particles s5-1 init-pos y) 55.0) + (set! (-> obj particles s5-1 init-pos z) 5.0) + (set! (-> obj particles s5-1 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-2 (-> obj nb-of-particles))) - (set! (-> obj particles s5-2) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-2 part) - (create-launch-control (-> *part-group-id-table* 78) obj) - ) - (set! (-> obj particles s5-2 init-pos x) 70.0) - (set! (-> obj particles s5-2 init-pos y) 76.0) - (set! (-> obj particles s5-2 init-pos z) 5.0) - (set! (-> obj particles s5-2 part matrix) -1) + (let ((s5-2 (-> obj nb-of-particles))) + (set! (-> obj particles s5-2) (new 'static 'hud-particle)) + (set! (-> obj particles s5-2 part) (create-launch-control (-> *part-group-id-table* 78) obj)) + (set! (-> obj particles s5-2 init-pos x) 70.0) + (set! (-> obj particles s5-2 init-pos y) 76.0) + (set! (-> obj particles s5-2 init-pos z) 5.0) + (set! (-> obj particles s5-2 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (dotimes (s5-3 (-> obj nb-of-particles)) - (if (= (-> obj particles s5-3 part matrix) -1) - (set! (-> obj particles s5-3 part matrix) (sprite-allocate-user-hvdf)) + (if (= (-> obj particles s5-3 part matrix) -1) + (set! (-> obj particles s5-3 part matrix) (sprite-allocate-user-hvdf)) + ) ) - ) (animate! obj (= (get-aspect-ratio) 'aspect16x9) (= (get-video-mode) 'pal)) (set! (-> obj x-sgn) -1) (set! (-> obj y-sgn) -1) @@ -559,66 +510,61 @@ ;; INFO: Return type mismatch int vs none. (defmethod animate! hud-health ((obj hud-health) (arg0 symbol) (arg1 symbol)) (cond - (arg0 - (set! (-> obj particles 0 init-pos x) 65.0) - (set! (-> obj particles 0 init-pos y) 55.0) - (set! (-> obj particles 1 init-pos x) 98.0) - (set! (-> obj particles 1 init-pos y) 55.0) - (set! (-> obj particles 2 init-pos x) 73.0) - (set! (-> obj particles 2 init-pos y) 80.0) - (set! (-> obj scale) 6144.0) + (arg0 + (set! (-> obj particles 0 init-pos x) 65.0) + (set! (-> obj particles 0 init-pos y) 55.0) + (set! (-> obj particles 1 init-pos x) 98.0) + (set! (-> obj particles 1 init-pos y) 55.0) + (set! (-> obj particles 2 init-pos x) 73.0) + (set! (-> obj particles 2 init-pos y) 80.0) + (set! (-> obj scale) 6144.0) + ) + (else + (set! (-> obj particles 0 init-pos x) 61.0) + (set! (-> obj particles 0 init-pos y) 55.0) + (set! (-> obj particles 1 init-pos x) 98.0) + (set! (-> obj particles 1 init-pos y) 55.0) + (set! (-> obj particles 2 init-pos x) 70.0) + (set! (-> obj particles 2 init-pos y) 76.0) + (set! (-> obj scale) 6963.2) + ) ) - (else - (set! (-> obj particles 0 init-pos x) 61.0) - (set! (-> obj particles 0 init-pos y) 55.0) - (set! (-> obj particles 1 init-pos x) 98.0) - (set! (-> obj particles 1 init-pos y) 55.0) - (set! (-> obj particles 2 init-pos x) 70.0) - (set! (-> obj particles 2 init-pos y) 76.0) - (set! (-> obj scale) 6963.2) - ) - ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 705) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-orb-all" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2964 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 705) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-orb-all" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2964 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2964) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.4)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2964) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.4)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; definition of type hud-money-all (deftype hud-money-all (hud) @@ -638,8 +584,8 @@ ;; definition for method 3 of type hud-money-all (defmethod inspect hud-money-all ((obj hud-money-all)) (let ((t9-0 (method-of-type hud inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tx-scale: ~f~%" (-> obj x-scale)) (format #t "~T~Ty-scale: ~f~%" (-> obj y-scale)) (format #t "~T~Ty-pos: ~D~%" (-> obj y-pos)) @@ -653,111 +599,87 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-15 hud-money-all ((obj hud-money-all)) (let ((t9-0 (method-of-type hud dummy-15))) - (t9-0 obj) - ) + (t9-0 obj) + ) 0 (let ((s5-0 0)) - (when (>= (-> obj level-index) 0) - (let - ((s5-1 - (new - 'stack - 'font-context - *font-default-matrix* - (+ (* (-> obj x-sgn) (-> obj offset)) -60 (-> obj text-x)) - (+ - (/ - (* - (+ - (-> obj text-y) - (* (-> obj y-sgn) (-> obj offset)) - (-> obj y-offset) + (when (>= (-> obj level-index) 0) + (let ((s5-1 + (new + 'stack + 'font-context + *font-default-matrix* + (+ (* (-> obj x-sgn) (-> obj offset)) -60 (-> obj text-x)) + (+ (/ (* (+ (-> obj text-y) (* (-> obj y-sgn) (-> obj offset)) (-> obj y-offset)) + (the int (-> *video-parms* relative-y-scale)) + ) + 2 + ) + -17 + ) + 0.0 + (font-color orange-red) + (font-flags shadow kerning) + ) + ) ) - (the int (-> *video-parms* relative-y-scale)) + (let ((v1-12 s5-1)) + (set! (-> v1-12 width) (the float 228)) + ) + (let ((v1-13 s5-1)) + (set! (-> v1-13 height) (the float 45)) + ) + (let ((v1-14 s5-1)) + (set! (-> v1-14 scale) 0.6) + ) + (set! (-> s5-1 flags) (font-flags shadow kerning middle left large)) + (print-game-text + (lookup-text! *common-text* (-> *level-task-data* (-> obj level-index) level-name-id) #f) + s5-1 + #f + 128 + 18 + ) + ) + (set! s5-0 13) + ) + (let* ((s1-0 50) + (s3-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s4-1 (-> s3-0 base)) ) - 2 + (let ((s2-0 draw-string-xy)) + (format (clear *temp-string*) "~D/~D" (-> obj total-orbs) (-> obj total-orbs)) + (s2-0 + *temp-string* + s3-0 + (+ (-> obj text-x) (* (-> obj x-sgn) (-> obj offset)) s1-0) + (+ (/ (* (+ (-> obj text-y) (* (-> obj y-sgn) (-> obj offset)) (-> obj y-offset)) + (the int (-> *video-parms* relative-y-scale)) + ) + 2 + ) + s5-0 + ) + (font-color dark-yellow) + (font-flags shadow kerning middle large) ) - -17 - ) - 0.0 - (font-color orange-red) - (font-flags shadow kerning) ) - ) - ) - (let ((v1-12 s5-1)) - (set! (-> v1-12 width) (the float 228)) - ) - (let ((v1-13 s5-1)) - (set! (-> v1-13 height) (the float 45)) - ) - (let ((v1-14 s5-1)) - (set! (-> v1-14 scale) 0.6) - ) - (set! (-> s5-1 flags) (font-flags shadow kerning middle left large)) - (print-game-text - (lookup-text! - *common-text* - (-> *level-task-data* (-> obj level-index) level-name-id) - #f - ) - s5-1 - #f - 128 - 18 - ) - ) - (set! s5-0 13) - ) - (let* ((s1-0 50) - (s3-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s4-1 (-> s3-0 base)) + (let ((a3-12 (-> s3-0 base))) + (let ((v1-32 (the-as dma-packet (-> s3-0 base)))) + (set! (-> v1-32 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> v1-32 vif0) (new 'static 'vif-tag)) + (set! (-> v1-32 vif1) (new 'static 'vif-tag)) + (set! (-> s3-0 base) (&+ (the-as pointer v1-32) 16)) ) - (let ((s2-0 draw-string-xy)) - (format - (clear *temp-string*) - "~D/~D" - (-> obj total-orbs) - (-> obj total-orbs) - ) - (s2-0 - *temp-string* - s3-0 - (+ (-> obj text-x) (* (-> obj x-sgn) (-> obj offset)) s1-0) - (+ - (/ - (* - (+ - (-> obj text-y) - (* (-> obj y-sgn) (-> obj offset)) - (-> obj y-offset) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s4-1 + (the-as (pointer dma-tag) a3-12) ) - (the int (-> *video-parms* relative-y-scale)) - ) - 2 ) - s5-0 - ) - (font-color dark-yellow) - (font-flags shadow kerning middle large) ) - ) - (let ((a3-12 (-> s3-0 base))) - (let ((v1-32 (the-as dma-packet (-> s3-0 base)))) - (set! (-> v1-32 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> v1-32 vif0) (new 'static 'vif-tag)) - (set! (-> v1-32 vif1) (new 'static 'vif-tag)) - (set! (-> s3-0 base) (&+ (the-as pointer v1-32) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s4-1 - (the-as (pointer dma-tag) a3-12) - ) - ) ) - ) 0 (none) ) @@ -766,32 +688,25 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-19 hud-money-all ((obj hud-money-all)) (when *target* - (hide-bottom-hud) - (when (!= *master-mode* 'pause) - (when (and (!= (-> obj icons 0) 0) (-> obj icons 0 icon)) - (set! (-> obj icons 0 scale-x) (-> obj x-scale)) - (set! (-> obj icons 0 scale-y) (-> obj y-scale)) - (set! - (-> obj icons 0 icon-y) - (* (-> obj y-pos) (the int (-> *video-parms* relative-y-scale))) + (hide-bottom-hud) + (when (!= *master-mode* 'pause) + (when (and (!= (-> obj icons 0) 0) (-> obj icons 0 icon)) + (set! (-> obj icons 0 scale-x) (-> obj x-scale)) + (set! (-> obj icons 0 scale-y) (-> obj y-scale)) + (set! (-> obj icons 0 icon-y) (* (-> obj y-pos) (the int (-> *video-parms* relative-y-scale)))) + (let ((a0-6 (-> obj icons 0 icon 0 root))) + (set-yaw-angle-clear-roll-pitch! + a0-6 + (- (y-angle a0-6) (* 182.04445 (* 4.0 (-> *display* time-adjust-ratio)))) + ) + ) + ) ) - (let ((a0-6 (-> obj icons 0 icon 0 root))) - (set-yaw-angle-clear-roll-pitch! - a0-6 - (- (y-angle a0-6) (* 182.04445 (* 4.0 (-> *display* time-adjust-ratio)))) - ) - ) - ) + (if (>= (+ (-> *display* base-frame-counter) -1500) (the-as int (-> obj start-time))) + (set! (-> obj deactivate-when-hidden) #t) + (TODO-RENAME-16 obj (-> *display* base-frame-counter) 0) + ) ) - (if - (>= - (+ (-> *display* base-frame-counter) -1500) - (the-as int (-> obj start-time)) - ) - (set! (-> obj deactivate-when-hidden) #t) - (TODO-RENAME-16 obj (-> *display* base-frame-counter) 0) - ) - ) 0 (none) ) @@ -800,88 +715,58 @@ ;; INFO: Return type mismatch int vs none. (defmethod init-particles! hud-money-all ((obj hud-money-all) (arg0 int)) (when (< (-> obj nb-of-icons) 6) - (let ((s4-0 (-> obj nb-of-icons))) - (set! (-> obj icons s4-0) (new 'static 'hud-icon)) - (let* ((s2-0 (get-process *default-dead-pool* manipy #x4000)) - (s3-0 (when s2-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 - (the-as manipy s2-0) - obj - 'manipy - (the-as pointer #x70004000) - ) + (let ((s4-0 (-> obj nb-of-icons))) + (set! (-> obj icons s4-0) (new 'static 'hud-icon)) + (let* ((s2-0 (get-process *default-dead-pool* manipy #x4000)) + (s3-0 (when s2-0 + (let ((t9-1 (method-of-type manipy activate))) + (t9-1 (the-as manipy s2-0) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s2-0 manipy-init (new 'static 'vector :w 1.0) #f *money-sg* #f) + (-> s2-0 ppointer) + ) ) - (run-now-in-process - s2-0 - manipy-init - (new 'static 'vector :w 1.0) - #f - *money-sg* - #f - ) - (-> s2-0 ppointer) - ) - ) - ) - (when s3-0 - (set! - (-> (the-as process-drawable (-> s3-0 0)) draw dma-add-func) - dma-add-process-drawable-hud - ) - (set-vector! - (-> (the-as process-drawable (-> s3-0 0)) root trans) - 0.0 - 0.0 - 0.0 - 1.0 - ) - (set-vector! - (-> (the-as process-drawable (-> s3-0 0)) root scale) - 0.0095 - -0.011 - 0.0095 - 1.0 - ) - (if #f - (send-event (ppointer->process s3-0) 'trans-hook #f) - ) + ) + (when s3-0 + (set! (-> (the-as process-drawable (-> s3-0 0)) draw dma-add-func) dma-add-process-drawable-hud) + (set-vector! (-> (the-as process-drawable (-> s3-0 0)) root trans) 0.0 0.0 0.0 1.0) + (set-vector! (-> (the-as process-drawable (-> s3-0 0)) root scale) 0.0095 -0.011 0.0095 1.0) + (if #f + (send-event (ppointer->process s3-0) 'trans-hook #f) + ) + ) + (set! (-> obj icons s4-0 icon) (the-as (pointer manipy) s3-0)) + (when s3-0 + (logior! (-> s3-0 0 mask) (process-mask pause)) + (logclear! (-> s3-0 0 mask) (process-mask menu progress)) + (set! (-> (the-as process-drawable (-> s3-0 0)) root trans z) 1024.0) + (set! (-> obj icons s4-0 icon-x) 170) + (set! (-> obj icons s4-0 icon-y) 0) + (set! (-> obj icons s4-0 icon-z) 0) + (set! (-> obj icons s4-0 scale-x) 0.0095) + (set! (-> obj icons s4-0 scale-y) -0.011) + ) + ) ) - (set! (-> obj icons s4-0 icon) (the-as (pointer manipy) s3-0)) - (when s3-0 - (logior! (-> s3-0 0 mask) (process-mask pause)) - (logclear! (-> s3-0 0 mask) (process-mask menu progress)) - (set! (-> (the-as process-drawable (-> s3-0 0)) root trans z) 1024.0) - (set! (-> obj icons s4-0 icon-x) 170) - (set! (-> obj icons s4-0 icon-y) 0) - (set! (-> obj icons s4-0 icon-z) 0) - (set! (-> obj icons s4-0 scale-x) 0.0095) - (set! (-> obj icons s4-0 scale-y) -0.011) - ) - ) + (+! (-> obj nb-of-icons) 1) ) - (+! (-> obj nb-of-icons) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s4-1 (-> obj nb-of-particles))) - (set! (-> obj particles s4-1) (new 'static 'hud-particle)) - (set! - (-> obj particles s4-1 part) - (create-launch-control (-> *part-group-id-table* 705) obj) - ) - (set! (-> obj particles s4-1 init-pos x) 172.0) - (set! (-> obj particles s4-1 init-pos y) 330.0) - (set! (-> obj particles s4-1 init-pos z) 2.0) - (set! (-> obj particles s4-1 part matrix) -1) + (let ((s4-1 (-> obj nb-of-particles))) + (set! (-> obj particles s4-1) (new 'static 'hud-particle)) + (set! (-> obj particles s4-1 part) (create-launch-control (-> *part-group-id-table* 705) obj)) + (set! (-> obj particles s4-1 init-pos x) 172.0) + (set! (-> obj particles s4-1 init-pos y) 330.0) + (set! (-> obj particles s4-1 init-pos z) 2.0) + (set! (-> obj particles s4-1 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (animate! obj (= (get-aspect-ratio) 'aspect16x9) (= (get-video-mode) 'pal)) (dotimes (s4-3 (-> obj nb-of-particles)) - (if (= (-> obj particles s4-3 part matrix) -1) - (set! (-> obj particles s4-3 part matrix) (sprite-allocate-user-hvdf)) + (if (= (-> obj particles s4-3 part matrix) -1) + (set! (-> obj particles s4-3 part matrix) (sprite-allocate-user-hvdf)) + ) ) - ) (set! (-> obj text-x) 251) (set! (-> obj text-y) 305) (set! (-> obj x-sgn) 0) @@ -891,122 +776,99 @@ (s3-2 0) (s2-2 0) ) - (dotimes (s1-0 (length *level-task-data*)) - (let ((v1-83 (-> *level-task-data* s1-0))) - (when (!= v1-83 #f) - (when - (or - (= *kernel-boot-message* 'play) - (= (-> v1-83 level-name-id) (game-text-id misty-level-name)) + (dotimes (s1-0 (length *level-task-data*)) + (let ((v1-83 (-> *level-task-data* s1-0))) + (when (!= v1-83 #f) + (when (or (= *kernel-boot-message* 'play) (= (-> v1-83 level-name-id) (game-text-id misty-level-name))) + (if (= s1-0 arg0) + (set! s2-2 (the-as int (-> *game-info* money-per-level s1-0))) + ) + (+! s3-2 (-> *game-info* money-per-level s1-0)) + (+! s4-4 (-> (get-game-count s1-0) money-count)) + ) + ) ) - (if (= s1-0 arg0) - (set! s2-2 (the-as int (-> *game-info* money-per-level s1-0))) - ) - (+! s3-2 (-> *game-info* money-per-level s1-0)) - (+! s4-4 (-> (get-game-count s1-0) money-count)) + ) + (cond + ((= s3-2 s4-4) + (set! (-> obj total-orbs) s4-4) + (set! (-> obj total-orbs) s4-4) + (set! (-> obj level-index) -1) ) + ((begin (set! (-> obj total-orbs) s2-2) (< arg0 (length *level-task-data*))) + (set! (-> obj level-index) arg0) + ) + (else + (set! (-> obj level-index) -1) + ) ) - ) ) - (cond - ((= s3-2 s4-4) - (set! (-> obj total-orbs) s4-4) - (set! (-> obj total-orbs) s4-4) - (set! (-> obj level-index) -1) - ) - ((begin - (set! (-> obj total-orbs) s2-2) - (< arg0 (length *level-task-data*)) - ) - (set! (-> obj level-index) arg0) - ) - (else - (set! (-> obj level-index) -1) - ) - ) - ) (set! (-> obj start-time) (the-as uint (-> *display* base-frame-counter))) - (sound-play-by-name - (static-sound-name "get-all-orbs") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (sound-play-by-name (static-sound-name "get-all-orbs") (new-sound-id) 1024 0 0 1 #t) 0 (none) ) ;; definition for method 24 of type hud-money-all ;; INFO: Return type mismatch int vs none. -(defmethod - animate! - hud-money-all - ((obj hud-money-all) (arg0 symbol) (arg1 symbol)) +(defmethod animate! hud-money-all ((obj hud-money-all) (arg0 symbol) (arg1 symbol)) (cond - (arg0 - (set! (-> obj x-scale) 0.01845) - (set! (-> obj y-scale) -0.02175) - (set! (-> obj y-pos) (if arg1 - 374 - 373 - ) - ) + (arg0 + (set! (-> obj x-scale) 0.01845) + (set! (-> obj y-scale) -0.02175) + (set! (-> obj y-pos) (if arg1 + 374 + 373 + ) + ) + ) + (else + (set! (-> obj x-scale) 0.013499999) + (set! (-> obj y-scale) -0.01575) + (set! (-> obj y-pos) 361) + ) ) - (else - (set! (-> obj x-scale) 0.013499999) - (set! (-> obj y-scale) -0.01575) - (set! (-> obj y-pos) 361) - ) - ) (when arg1 - (set! (-> obj x-scale) (* 1.02 (-> obj x-scale))) - (set! (-> obj y-scale) (* 1.2 (-> obj y-scale))) - (set! (-> obj y-pos) (the int (* 1.21 (the float (-> obj y-pos))))) - ) + (set! (-> obj x-scale) (* 1.02 (-> obj x-scale))) + (set! (-> obj y-scale) (* 1.2 (-> obj y-scale))) + (set! (-> obj y-pos) (the int (* 1.21 (the float (-> obj y-pos))))) + ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 79) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-orb" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 312 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 79) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-orb" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 312 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 312) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.6)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 312) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.6)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; definition of type hud-money (deftype hud-money (hud) @@ -1023,8 +885,8 @@ ;; definition for method 3 of type hud-money (defmethod inspect hud-money ((obj hud-money)) (let ((t9-0 (method-of-type hud inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tx-scale: ~f~%" (-> obj x-scale)) (format #t "~T~Ty-scale: ~f~%" (-> obj y-scale)) (format #t "~T~Ty-pos: ~D~%" (-> obj y-pos)) @@ -1035,43 +897,41 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-15 hud-money ((obj hud-money)) (let ((t9-0 (method-of-type hud dummy-15))) - (t9-0 obj) - ) + (t9-0 obj) + ) (let* ((s5-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) (gp-0 (-> s5-0 base)) ) - (let ((s4-0 draw-string-xy)) - (format (clear *temp-string*) "~D" (-> obj value)) - (s4-0 - *temp-string* - s5-0 - (+ (-> obj text-x) (* (-> obj x-sgn) (-> obj offset))) - (/ - (* - (+ (-> obj text-y) (* (-> obj y-sgn) (-> obj offset)) (-> obj y-offset)) - (the int (-> *video-parms* relative-y-scale)) - ) - 2 + (let ((s4-0 draw-string-xy)) + (format (clear *temp-string*) "~D" (-> obj value)) + (s4-0 + *temp-string* + s5-0 + (+ (-> obj text-x) (* (-> obj x-sgn) (-> obj offset))) + (/ (* (+ (-> obj text-y) (* (-> obj y-sgn) (-> obj offset)) (-> obj y-offset)) + (the int (-> *video-parms* relative-y-scale)) + ) + 2 + ) + (font-color dark-yellow) + (font-flags shadow kerning large) + ) + ) + (let ((a3-7 (-> s5-0 base))) + (let ((v1-8 (the-as dma-packet (-> s5-0 base)))) + (set! (-> v1-8 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> v1-8 vif0) (new 'static 'vif-tag)) + (set! (-> v1-8 vif1) (new 'static 'vif-tag)) + (set! (-> s5-0 base) (&+ (the-as pointer v1-8) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-0 + (the-as (pointer dma-tag) a3-7) + ) ) - (font-color dark-yellow) - (font-flags shadow kerning large) - ) ) - (let ((a3-7 (-> s5-0 base))) - (let ((v1-8 (the-as dma-packet (-> s5-0 base)))) - (set! (-> v1-8 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> v1-8 vif0) (new 'static 'vif-tag)) - (set! (-> v1-8 vif1) (new 'static 'vif-tag)) - (set! (-> s5-0 base) (&+ (the-as pointer v1-8) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-0 - (the-as (pointer dma-tag) a3-7) - ) - ) - ) 0 (none) ) @@ -1080,24 +940,21 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-19 hud-money ((obj hud-money)) (when *target* - (when (!= *master-mode* 'pause) - (when (and (!= (-> obj icons 0) 0) (-> obj icons 0 icon)) - (set! (-> obj icons 0 scale-x) (-> obj x-scale)) - (set! (-> obj icons 0 scale-y) (-> obj y-scale)) - (set! - (-> obj icons 0 icon-y) - (* (-> obj y-pos) (the int (-> *video-parms* relative-y-scale))) + (when (!= *master-mode* 'pause) + (when (and (!= (-> obj icons 0) 0) (-> obj icons 0 icon)) + (set! (-> obj icons 0 scale-x) (-> obj x-scale)) + (set! (-> obj icons 0 scale-y) (-> obj y-scale)) + (set! (-> obj icons 0 icon-y) (* (-> obj y-pos) (the int (-> *video-parms* relative-y-scale)))) + (let ((a0-6 (-> obj icons 0 icon 0 root))) + (set-yaw-angle-clear-roll-pitch! + a0-6 + (- (y-angle a0-6) (* 182.04445 (* 4.0 (-> *display* time-adjust-ratio)))) + ) + ) + ) ) - (let ((a0-6 (-> obj icons 0 icon 0 root))) - (set-yaw-angle-clear-roll-pitch! - a0-6 - (- (y-angle a0-6) (* 182.04445 (* 4.0 (-> *display* time-adjust-ratio)))) - ) - ) - ) + (TODO-RENAME-16 obj (the int (+ 0.5 (-> *target* game money))) 0) ) - (TODO-RENAME-16 obj (the int (+ 0.5 (-> *target* game money))) 0) - ) 0 (none) ) @@ -1106,88 +963,58 @@ ;; INFO: Return type mismatch int vs none. (defmethod init-particles! hud-money ((obj hud-money) (arg0 int)) (when (< (-> obj nb-of-icons) 6) - (let ((s5-0 (-> obj nb-of-icons))) - (set! (-> obj icons s5-0) (new 'static 'hud-icon)) - (let* ((s3-0 (get-process *default-dead-pool* manipy #x4000)) - (s4-0 (when s3-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 - (the-as manipy s3-0) - obj - 'manipy - (the-as pointer #x70004000) - ) + (let ((s5-0 (-> obj nb-of-icons))) + (set! (-> obj icons s5-0) (new 'static 'hud-icon)) + (let* ((s3-0 (get-process *default-dead-pool* manipy #x4000)) + (s4-0 (when s3-0 + (let ((t9-1 (method-of-type manipy activate))) + (t9-1 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s3-0 manipy-init (new 'static 'vector :w 1.0) #f *money-sg* #f) + (-> s3-0 ppointer) + ) ) - (run-now-in-process - s3-0 - manipy-init - (new 'static 'vector :w 1.0) - #f - *money-sg* - #f - ) - (-> s3-0 ppointer) - ) - ) - ) - (when s4-0 - (set! - (-> (the-as process-drawable (-> s4-0 0)) draw dma-add-func) - dma-add-process-drawable-hud - ) - (set-vector! - (-> (the-as process-drawable (-> s4-0 0)) root trans) - 0.0 - 0.0 - 0.0 - 1.0 - ) - (set-vector! - (-> (the-as process-drawable (-> s4-0 0)) root scale) - 0.0095 - -0.011 - 0.0095 - 1.0 - ) - (if #f - (send-event (ppointer->process s4-0) 'trans-hook #f) - ) + ) + (when s4-0 + (set! (-> (the-as process-drawable (-> s4-0 0)) draw dma-add-func) dma-add-process-drawable-hud) + (set-vector! (-> (the-as process-drawable (-> s4-0 0)) root trans) 0.0 0.0 0.0 1.0) + (set-vector! (-> (the-as process-drawable (-> s4-0 0)) root scale) 0.0095 -0.011 0.0095 1.0) + (if #f + (send-event (ppointer->process s4-0) 'trans-hook #f) + ) + ) + (set! (-> obj icons s5-0 icon) (the-as (pointer manipy) s4-0)) + (when s4-0 + (logior! (-> s4-0 0 mask) (process-mask pause)) + (logclear! (-> s4-0 0 mask) (process-mask menu progress)) + (set! (-> (the-as process-drawable (-> s4-0 0)) root trans z) 1024.0) + (set! (-> obj icons s5-0 icon-x) 399) + (set! (-> obj icons s5-0 icon-y) 79) + (set! (-> obj icons s5-0 icon-z) 0) + (set! (-> obj icons s5-0 scale-x) 0.0095) + (set! (-> obj icons s5-0 scale-y) -0.011) + ) + ) ) - (set! (-> obj icons s5-0 icon) (the-as (pointer manipy) s4-0)) - (when s4-0 - (logior! (-> s4-0 0 mask) (process-mask pause)) - (logclear! (-> s4-0 0 mask) (process-mask menu progress)) - (set! (-> (the-as process-drawable (-> s4-0 0)) root trans z) 1024.0) - (set! (-> obj icons s5-0 icon-x) 399) - (set! (-> obj icons s5-0 icon-y) 79) - (set! (-> obj icons s5-0 icon-z) 0) - (set! (-> obj icons s5-0 scale-x) 0.0095) - (set! (-> obj icons s5-0 scale-y) -0.011) - ) - ) + (+! (-> obj nb-of-icons) 1) ) - (+! (-> obj nb-of-icons) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-1 (-> obj nb-of-particles))) - (set! (-> obj particles s5-1) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-1 part) - (create-launch-control (-> *part-group-id-table* 79) obj) - ) - (set! (-> obj particles s5-1 init-pos x) 400.0) - (set! (-> obj particles s5-1 init-pos y) 58.0) - (set! (-> obj particles s5-1 init-pos z) 2.0) - (set! (-> obj particles s5-1 part matrix) -1) + (let ((s5-1 (-> obj nb-of-particles))) + (set! (-> obj particles s5-1) (new 'static 'hud-particle)) + (set! (-> obj particles s5-1 part) (create-launch-control (-> *part-group-id-table* 79) obj)) + (set! (-> obj particles s5-1 init-pos x) 400.0) + (set! (-> obj particles s5-1 init-pos y) 58.0) + (set! (-> obj particles s5-1 init-pos z) 2.0) + (set! (-> obj particles s5-1 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (animate! obj (= (get-aspect-ratio) 'aspect16x9) (= (get-video-mode) 'pal)) (dotimes (s5-3 (-> obj nb-of-particles)) - (if (= (-> obj particles s5-3 part matrix) -1) - (set! (-> obj particles s5-3 part matrix) (sprite-allocate-user-hvdf)) + (if (= (-> obj particles s5-3 part matrix) -1) + (set! (-> obj particles s5-3 part matrix) (sprite-allocate-user-hvdf)) + ) ) - ) (set! (-> obj text-x) 420) (set! (-> obj text-y) 45) (set! (-> obj x-sgn) 1) @@ -1201,28 +1028,28 @@ ;; INFO: Return type mismatch int vs none. (defmethod animate! hud-money ((obj hud-money) (arg0 symbol) (arg1 symbol)) (cond - (arg0 - (set! (-> obj x-scale) 0.0123) - (set! (-> obj y-scale) -0.0145) - (set! (-> obj y-pos) 86) + (arg0 + (set! (-> obj x-scale) 0.0123) + (set! (-> obj y-scale) -0.0145) + (set! (-> obj y-pos) 86) + ) + (else + (set! (-> obj x-scale) 0.0095) + (set! (-> obj y-scale) -0.011) + (set! (-> obj y-pos) 79) + ) ) - (else - (set! (-> obj x-scale) 0.0095) - (set! (-> obj y-scale) -0.011) - (set! (-> obj y-pos) 79) - ) - ) (when arg1 - (set! (-> obj x-scale) (* 1.1 (-> obj x-scale))) - (set! (-> obj y-scale) (* 1.2 (-> obj y-scale))) - (set! (-> obj y-pos) (the int (* (the float (-> obj y-pos)) (if arg0 - 0.95 - 0.9 - ) - ) - ) + (set! (-> obj x-scale) (* 1.1 (-> obj x-scale))) + (set! (-> obj y-scale) (* 1.2 (-> obj y-scale))) + (set! (-> obj y-pos) (the int (* (the float (-> obj y-pos)) (if arg0 + 0.95 + 0.9 + ) + ) + ) + ) ) - ) 0 (none) ) @@ -1258,289 +1085,263 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 313) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.4)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9) - (sp-flt spt-userdata 4.0) - (sp-func spt-func 'fuel-cell-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 313) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.4)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9) + (sp-flt spt-userdata 4.0) + (sp-func spt-func 'fuel-cell-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 314) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.4)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9) - (sp-flt spt-userdata 5.0) - (sp-func spt-func 'fuel-cell-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 314) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.4)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9) + (sp-flt spt-userdata 5.0) + (sp-func spt-func 'fuel-cell-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 315) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.4)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9) - (sp-flt spt-userdata 6.0) - (sp-func spt-func 'fuel-cell-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 315) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.4)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9) + (sp-flt spt-userdata 6.0) + (sp-func spt-func 'fuel-cell-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 316) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.4)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9) - (sp-flt spt-userdata 7.0) - (sp-func spt-func 'fuel-cell-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 316) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.4)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9) + (sp-flt spt-userdata 7.0) + (sp-func spt-func 'fuel-cell-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 317) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9) - (sp-flt spt-userdata 9.0) - (sp-func spt-func 'fuel-cell-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 317) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9) + (sp-flt spt-userdata 9.0) + (sp-func spt-func 'fuel-cell-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 318) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.8)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'fuel-cell-hud-center-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 318) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.8)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'fuel-cell-hud-center-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 80) - (new 'static 'sparticle-launch-group - :length 10 - :duration #xbb8 - :linger-duration #x5dc - :flags - (sp-group-flag use-local-clock screen-space) - :name "group-part-hud-power-cell-whole" - :launcher - (new 'static 'inline-array sparticle-group-item 10 - (sp-item 318 :flags (launch-asap)) - (sp-item 319 :fade-after (meters 35.0)) - (sp-item 320 :fade-after (meters 20.0)) - (sp-item 321 :flags (launch-asap) :period 3600 :length 5) - (sp-item 322 :flags (launch-asap) :period 3600 :length 5) - (sp-item 317 :flags (launch-asap)) - (sp-item 313 :flags (launch-asap)) - (sp-item 314 :flags (launch-asap)) - (sp-item 315 :flags (launch-asap)) - (sp-item 316 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 80) (new 'static 'sparticle-launch-group + :length 10 + :duration #xbb8 + :linger-duration #x5dc + :flags + (sp-group-flag use-local-clock screen-space) + :name "group-part-hud-power-cell-whole" + :launcher + (new 'static 'inline-array sparticle-group-item 10 + (sp-item 318 :flags (launch-asap)) + (sp-item 319 :fade-after (meters 35.0)) + (sp-item 320 :fade-after (meters 20.0)) + (sp-item 321 :flags (launch-asap) :period 3600 :length 5) + (sp-item 322 :flags (launch-asap) :period 3600 :length 5) + (sp-item 317 :flags (launch-asap)) + (sp-item 313 :flags (launch-asap)) + (sp-item 314 :flags (launch-asap)) + (sp-item 315 :flags (launch-asap)) + (sp-item 316 :flags (launch-asap)) + ) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 323) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 323) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.53333336) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 319) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-z 92160.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.8) 1.0) - (sp-rnd-int spt-r 0 1 255.0) - (sp-rnd-int spt-g 0 1 255.0) - (sp-rnd-int spt-b 0 1 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 0.35555556) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 232) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 319) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-z 92160.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.8) 1.0) + (sp-rnd-int spt-r 0 1 255.0) + (sp-rnd-int spt-g 0 1 255.0) + (sp-rnd-int spt-b 0 1 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 0.35555556) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 232) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 320) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.06) - (sp-flt spt-z 92160.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.2)) - (sp-rnd-int spt-r 0 1 255.0) - (sp-rnd-int spt-g 0 1 255.0) - (sp-rnd-int spt-b 0 1 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 232) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 320) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.06) + (sp-flt spt-z 92160.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.2)) + (sp-rnd-int spt-r 0 1 255.0) + (sp-rnd-int spt-g 0 1 255.0) + (sp-rnd-int spt-b 0 1 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 232) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 321) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-z 92160.0) - (sp-flt spt-scale-x (meters 3.3)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 2.8)) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 0.0 128.0 1.0) - (sp-flt spt-a 64.0) - (sp-flt spt-rotvel-z (degrees -0.4)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3) - (sp-func spt-func 'fuel-cell-hud-starburst-3-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 321) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-z 92160.0) + (sp-flt spt-scale-x (meters 3.3)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 2.8)) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 0.0 128.0 1.0) + (sp-flt spt-a 64.0) + (sp-flt spt-rotvel-z (degrees -0.4)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3) + (sp-func spt-func 'fuel-cell-hud-starburst-3-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 322) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-z 92160.0) - (sp-flt spt-scale-x (meters 3.8)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 3.3)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 64.0) - (sp-flt spt-rotvel-z (degrees 0.3)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3) - (sp-func spt-func 'fuel-cell-hud-starburst-4-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 322) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-z 92160.0) + (sp-flt spt-scale-x (meters 3.8)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 3.3)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 64.0) + (sp-flt spt-rotvel-z (degrees 0.3)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3) + (sp-func spt-func 'fuel-cell-hud-starburst-4-callback) + (sp-end) + ) + ) + ) ;; definition of type hud-fuel-cell (deftype hud-fuel-cell (hud) @@ -1561,8 +1362,8 @@ ;; definition for method 3 of type hud-fuel-cell (defmethod inspect hud-fuel-cell ((obj hud-fuel-cell)) (let ((t9-0 (method-of-type hud inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tscale-starburst-3-x: ~f~%" (-> obj scale-starburst-3-x)) (format #t "~T~Tscale-starburst-3-y: ~f~%" (-> obj scale-starburst-3-y)) (format #t "~T~Tscale-starburst-4-x: ~f~%" (-> obj scale-starburst-4-x)) @@ -1577,80 +1378,68 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-15 hud-fuel-cell ((obj hud-fuel-cell)) (let ((t9-0 (method-of-type hud dummy-15))) - (t9-0 obj) - ) + (t9-0 obj) + ) (let* ((s5-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) (gp-0 (-> s5-0 base)) ) - (let ((s4-0 draw-string-xy)) - (format (clear *temp-string*) "~D" (-> obj value)) - (s4-0 - *temp-string* - s5-0 - (+ (-> obj text-x) (* (-> obj x-sgn) (-> obj offset))) - (/ - (* - (+ (-> obj text-y) (* (-> obj y-sgn) (-> obj offset)) (-> obj y-offset)) - (the int (-> *video-parms* relative-y-scale)) - ) - 2 + (let ((s4-0 draw-string-xy)) + (format (clear *temp-string*) "~D" (-> obj value)) + (s4-0 + *temp-string* + s5-0 + (+ (-> obj text-x) (* (-> obj x-sgn) (-> obj offset))) + (/ (* (+ (-> obj text-y) (* (-> obj y-sgn) (-> obj offset)) (-> obj y-offset)) + (the int (-> *video-parms* relative-y-scale)) + ) + 2 + ) + (font-color dark-yellow) + (font-flags shadow kerning large) + ) + ) + (let ((a3-7 (-> s5-0 base))) + (let ((v1-8 (the-as object (-> s5-0 base)))) + (set! (-> (the-as (pointer int64) v1-8)) #x20000000) + (set! (-> (the-as dma-packet v1-8) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-8) vif1) (new 'static 'vif-tag)) + (set! (-> s5-0 base) (&+ (the-as pointer v1-8) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-0 + (the-as (pointer dma-tag) a3-7) + ) ) - (font-color dark-yellow) - (font-flags shadow kerning large) - ) ) - (let ((a3-7 (-> s5-0 base))) - (let ((v1-8 (the-as object (-> s5-0 base)))) - (set! (-> (the-as (pointer int64) v1-8)) #x20000000) - (set! (-> (the-as dma-packet v1-8) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-8) vif1) (new 'static 'vif-tag)) - (set! (-> s5-0 base) (&+ (the-as pointer v1-8) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-0 - (the-as (pointer dma-tag) a3-7) - ) - ) - ) 0 (none) ) ;; definition for function fuel-cell-hud-orbit-callback ;; INFO: Return type mismatch int vs none. -(defun - fuel-cell-hud-orbit-callback - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun fuel-cell-hud-orbit-callback ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((s3-0 (-> arg1 key proc)) (v1-1 (the int (-> arg1 user-float))) (s5-0 (new 'stack-no-clear 'vector)) ) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! - s5-0 - (-> (the-as hud-fuel-cell s3-0) icons 0 icon 0 node-list data v1-1) - ) - (vector<-cspace! - s4-0 - (-> (the-as hud-fuel-cell s3-0) icons 0 icon 0 node-list data 3) - ) - (vector-! s5-0 s5-0 s4-0) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! s5-0 (-> (the-as hud-fuel-cell s3-0) icons 0 icon 0 node-list data v1-1)) + (vector<-cspace! s4-0 (-> (the-as hud-fuel-cell s3-0) icons 0 icon 0 node-list data 3)) + (vector-! s5-0 s5-0 s4-0) + ) + (set! (-> arg2 vector 0 x) (* 60.0 (-> s5-0 x))) + (set! (-> arg2 vector 0 y) (* 60.0 (-> s5-0 y))) + (set! (-> arg2 vector 0 z) (* 1024.0 (-> s5-0 z))) ) - (set! (-> arg2 vector 0 x) (* 60.0 (-> s5-0 x))) - (set! (-> arg2 vector 0 y) (* 60.0 (-> s5-0 y))) - (set! (-> arg2 vector 0 z) (* 1024.0 (-> s5-0 z))) - ) 0 (none) ) ;; definition for function fuel-cell-hud-starburst-3-callback ;; INFO: Return type mismatch int vs none. -(defun - fuel-cell-hud-starburst-3-callback - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun fuel-cell-hud-starburst-3-callback ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (set! (-> arg2 vector 0 w) (-> *hud-parts* fuel-cell 0 scale-starburst-3-x)) (set! (-> arg2 vector 1 w) (-> *hud-parts* fuel-cell 0 scale-starburst-3-y)) 0 @@ -1659,9 +1448,7 @@ ;; definition for function fuel-cell-hud-starburst-4-callback ;; INFO: Return type mismatch int vs none. -(defun - fuel-cell-hud-starburst-4-callback - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun fuel-cell-hud-starburst-4-callback ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (set! (-> arg2 vector 0 w) (-> *hud-parts* fuel-cell 0 scale-starburst-4-x)) (set! (-> arg2 vector 1 w) (-> *hud-parts* fuel-cell 0 scale-starburst-4-y)) 0 @@ -1670,22 +1457,14 @@ ;; definition for function fuel-cell-hud-center-callback ;; INFO: Return type mismatch int vs none. -(defun - fuel-cell-hud-center-callback - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun fuel-cell-hud-center-callback ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((f0-0 (-> *hud-parts* fuel-cell 0 scale-icon)) (f1-0 (-> *hud-parts* fuel-cell 0 scale-center)) ) - (set-vector! - (-> *hud-parts* fuel-cell 0 icons 0 icon 0 root scale) - f0-0 - f0-0 - f0-0 - 1.0 + (set-vector! (-> *hud-parts* fuel-cell 0 icons 0 icon 0 root scale) f0-0 f0-0 f0-0 1.0) + (set! (-> arg2 vector 0 w) f1-0) + (set! (-> arg2 vector 1 w) f1-0) ) - (set! (-> arg2 vector 0 w) f1-0) - (set! (-> arg2 vector 1 w) f1-0) - ) 0 (none) ) @@ -1694,23 +1473,23 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-19 hud-fuel-cell ((obj hud-fuel-cell)) (when *target* - (when (!= *master-mode* 'pause) - (let ((a0-2 (-> obj icons 0 icon 0 root))) - (set-yaw-angle-clear-roll-pitch! - a0-2 - (+ (y-angle a0-2) (* 182.04445 (* 0.5 (-> *display* time-adjust-ratio)))) + (when (!= *master-mode* 'pause) + (let ((a0-2 (-> obj icons 0 icon 0 root))) + (set-yaw-angle-clear-roll-pitch! + a0-2 + (+ (y-angle a0-2) (* 182.04445 (* 0.5 (-> *display* time-adjust-ratio)))) + ) + ) + ) + (set! (-> obj icons 0 icon-y) (-> obj icon-pos-y)) + (TODO-RENAME-16 obj (the int (+ 0.5 (-> *target* game fuel))) 0) + (let ((s5-1 (new 'stack-no-clear 'vector))) + (vector<-cspace! s5-1 (-> obj icons 0 icon 0 node-list data 3)) + (set! (-> obj particles 0 pos x) (-> s5-1 x)) + (set! (-> obj particles 0 pos y) (* 0.5 (-> s5-1 y))) + (set! (-> obj particles 0 pos z) (+ 2.0 (* 0.05 (+ -2048.0 (-> s5-1 z))))) ) - ) ) - (set! (-> obj icons 0 icon-y) (-> obj icon-pos-y)) - (TODO-RENAME-16 obj (the int (+ 0.5 (-> *target* game fuel))) 0) - (let ((s5-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! s5-1 (-> obj icons 0 icon 0 node-list data 3)) - (set! (-> obj particles 0 pos x) (-> s5-1 x)) - (set! (-> obj particles 0 pos y) (* 0.5 (-> s5-1 y))) - (set! (-> obj particles 0 pos z) (+ 2.0 (* 0.05 (+ -2048.0 (-> s5-1 z))))) - ) - ) 0 (none) ) @@ -1719,87 +1498,57 @@ ;; INFO: Return type mismatch int vs none. (defmethod init-particles! hud-fuel-cell ((obj hud-fuel-cell) (arg0 int)) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-0 (-> obj nb-of-particles))) - (set! (-> obj particles s5-0) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-0 part) - (create-launch-control (-> *part-group-id-table* 80) obj) - ) - (set! (-> obj particles s5-0 init-pos x) 256.0) - (set! (-> obj particles s5-0 init-pos y) 224.0) - (set! (-> obj particles s5-0 init-pos z) 1.0) - (set! (-> obj particles s5-0 part matrix) -1) + (let ((s5-0 (-> obj nb-of-particles))) + (set! (-> obj particles s5-0) (new 'static 'hud-particle)) + (set! (-> obj particles s5-0 part) (create-launch-control (-> *part-group-id-table* 80) obj)) + (set! (-> obj particles s5-0 init-pos x) 256.0) + (set! (-> obj particles s5-0 init-pos y) 224.0) + (set! (-> obj particles s5-0 init-pos z) 1.0) + (set! (-> obj particles s5-0 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (dotimes (s5-1 (-> obj nb-of-particles)) - (if (= (-> obj particles s5-1 part matrix) -1) - (set! (-> obj particles s5-1 part matrix) (sprite-allocate-user-hvdf)) + (if (= (-> obj particles s5-1 part matrix) -1) + (set! (-> obj particles s5-1 part matrix) (sprite-allocate-user-hvdf)) + ) ) - ) (when (< (-> obj nb-of-icons) 6) - (let ((s5-2 (-> obj nb-of-icons))) - (set! (-> obj icons s5-2) (new 'static 'hud-icon)) - (let* ((s3-0 (get-process *default-dead-pool* manipy #x4000)) - (s4-0 (when s3-0 - (let ((t9-3 (method-of-type manipy activate))) - (t9-3 - (the-as manipy s3-0) - obj - 'manipy - (the-as pointer #x70004000) - ) + (let ((s5-2 (-> obj nb-of-icons))) + (set! (-> obj icons s5-2) (new 'static 'hud-icon)) + (let* ((s3-0 (get-process *default-dead-pool* manipy #x4000)) + (s4-0 (when s3-0 + (let ((t9-3 (method-of-type manipy activate))) + (t9-3 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s3-0 manipy-init (new 'static 'vector :w 1.0) #f *fuelcell-naked-sg* #f) + (-> s3-0 ppointer) + ) ) - (run-now-in-process - s3-0 - manipy-init - (new 'static 'vector :w 1.0) - #f - *fuelcell-naked-sg* - #f - ) - (-> s3-0 ppointer) - ) - ) - ) - (when s4-0 - (set! - (-> (the-as process-drawable (-> s4-0 0)) draw dma-add-func) - dma-add-process-drawable-hud - ) - (set-vector! - (-> (the-as process-drawable (-> s4-0 0)) root trans) - 0.0 - 0.0 - 0.0 - 1.0 - ) - (set-vector! - (-> (the-as process-drawable (-> s4-0 0)) root scale) - 0.009 - 0.009 - 0.009 - 1.0 - ) - (if #f - (send-event (ppointer->process s4-0) 'trans-hook #f) - ) + ) + (when s4-0 + (set! (-> (the-as process-drawable (-> s4-0 0)) draw dma-add-func) dma-add-process-drawable-hud) + (set-vector! (-> (the-as process-drawable (-> s4-0 0)) root trans) 0.0 0.0 0.0 1.0) + (set-vector! (-> (the-as process-drawable (-> s4-0 0)) root scale) 0.009 0.009 0.009 1.0) + (if #f + (send-event (ppointer->process s4-0) 'trans-hook #f) + ) + ) + (set! (-> obj icons s5-2 icon) (the-as (pointer manipy) s4-0)) + (when s4-0 + (logior! (-> s4-0 0 mask) (process-mask pause)) + (logclear! (-> s4-0 0 mask) (process-mask menu progress)) + (set! (-> (the-as process-drawable (-> s4-0 0)) root trans z) 2048.0) + (set! (-> obj icons s5-2 icon-x) 256) + (set! (-> obj icons s5-2 icon-y) 62) + (set! (-> obj icons s5-2 icon-z) 0) + (set! (-> obj icons s5-2 scale-x) 0.009) + (set! (-> obj icons s5-2 scale-y) 0.009) + ) + ) ) - (set! (-> obj icons s5-2 icon) (the-as (pointer manipy) s4-0)) - (when s4-0 - (logior! (-> s4-0 0 mask) (process-mask pause)) - (logclear! (-> s4-0 0 mask) (process-mask menu progress)) - (set! (-> (the-as process-drawable (-> s4-0 0)) root trans z) 2048.0) - (set! (-> obj icons s5-2 icon-x) 256) - (set! (-> obj icons s5-2 icon-y) 62) - (set! (-> obj icons s5-2 icon-z) 0) - (set! (-> obj icons s5-2 scale-x) 0.009) - (set! (-> obj icons s5-2 scale-y) 0.009) - ) - ) + (+! (-> obj nb-of-icons) 1) ) - (+! (-> obj nb-of-icons) 1) - ) (set! (-> obj text-x) 276) (set! (-> obj text-y) 45) (set! (-> obj x-sgn) 0) @@ -1808,122 +1557,109 @@ (set! (-> obj skip-particle) -2) (animate! obj (= (get-aspect-ratio) 'aspect16x9) (= (get-video-mode) 'pal)) (let ((s5-4 (new 'stack-no-clear 'quaternion))) - (quaternion-axis-angle! s5-4 0.0 1.0 0.0 16384.0) - (quaternion*! - (-> obj icons 0 icon 0 root quat) - s5-4 - (-> obj icons 0 icon 0 root quat) + (quaternion-axis-angle! s5-4 0.0 1.0 0.0 16384.0) + (quaternion*! (-> obj icons 0 icon 0 root quat) s5-4 (-> obj icons 0 icon 0 root quat)) ) - ) 0 (none) ) ;; definition for method 24 of type hud-fuel-cell ;; INFO: Return type mismatch int vs none. -(defmethod - animate! - hud-fuel-cell - ((obj hud-fuel-cell) (arg0 symbol) (arg1 symbol)) +(defmethod animate! hud-fuel-cell ((obj hud-fuel-cell) (arg0 symbol) (arg1 symbol)) (cond - (arg0 - (set! (-> obj scale-starburst-3-x) 10240.0) - (set! (-> obj scale-starburst-3-y) 9420.8) - (set! (-> obj scale-starburst-4-x) 9420.8) - (set! (-> obj scale-starburst-4-y) 8192.0) - (set! (-> obj scale-icon) 0.007) - (set! (-> obj scale-center) 6144.0) - (set! (-> obj icon-pos-y) 62) + (arg0 + (set! (-> obj scale-starburst-3-x) 10240.0) + (set! (-> obj scale-starburst-3-y) 9420.8) + (set! (-> obj scale-starburst-4-x) 9420.8) + (set! (-> obj scale-starburst-4-y) 8192.0) + (set! (-> obj scale-icon) 0.007) + (set! (-> obj scale-center) 6144.0) + (set! (-> obj icon-pos-y) 62) + ) + (else + (set! (-> obj scale-starburst-3-x) 12288.0) + (set! (-> obj scale-starburst-3-y) 10240.0) + (set! (-> obj scale-starburst-4-x) 12288.0) + (set! (-> obj scale-starburst-4-y) 10240.0) + (set! (-> obj scale-icon) 0.009) + (set! (-> obj scale-center) 7372.8) + (set! (-> obj icon-pos-y) 62) + ) ) - (else - (set! (-> obj scale-starburst-3-x) 12288.0) - (set! (-> obj scale-starburst-3-y) 10240.0) - (set! (-> obj scale-starburst-4-x) 12288.0) - (set! (-> obj scale-starburst-4-y) 10240.0) - (set! (-> obj scale-icon) 0.009) - (set! (-> obj scale-center) 7372.8) - (set! (-> obj icon-pos-y) 62) - ) - ) (if arg1 - (set! (-> obj icon-pos-y) (the int (* (the float (-> obj icon-pos-y)) (if arg0 - 1.1 - 1.14 - ) - ) - ) - ) - ) + (set! (-> obj icon-pos-y) (the int (* (the float (-> obj icon-pos-y)) (if arg0 + 1.1 + 1.14 + ) + ) + ) + ) + ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 81) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-buzzer" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 324 :flags (launch-asap) :binding 325) - (sp-item 325 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 81) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-buzzer" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 324 :flags (launch-asap) :binding 325) + (sp-item 325 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 324) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 324) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 325) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 1.3333334)) - (sp-flt spt-z 409.6) - (sp-flt spt-scale-x (meters 1.8)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.053333335)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit7 bit9) - (sp-func spt-func 'part-hud-buzzer-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 325) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 1.3333334)) + (sp-flt spt-z 409.6) + (sp-flt spt-scale-x (meters 1.8)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.053333335)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit7 bit9) + (sp-func spt-func 'part-hud-buzzer-func) + (sp-end) + ) + ) + ) ;; definition of type hud-buzzers (deftype hud-buzzers (hud) @@ -1939,8 +1675,8 @@ ;; definition for method 3 of type hud-buzzers (defmethod inspect hud-buzzers ((obj hud-buzzers)) (let ((t9-0 (method-of-type hud inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tscale: ~f~%" (-> obj scale)) (format #t "~T~Ttext-y-offset: ~D~%" (-> obj text-y-offset)) obj @@ -1950,9 +1686,9 @@ ;; INFO: Return type mismatch float vs none. (defun part-hud-buzzer-func ((arg0 basic) (arg1 basic) (arg2 hud-particle)) (let ((f0-0 (-> *hud-parts* buzzers 0 scale))) - (set! (-> arg2 init-pos x) f0-0) - (set! (-> arg2 pos x) f0-0) - ) + (set! (-> arg2 init-pos x) f0-0) + (set! (-> arg2 pos x) f0-0) + ) (none) ) @@ -1960,50 +1696,48 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-15 hud-buzzers ((obj hud-buzzers)) (let ((t9-0 (method-of-type hud dummy-15))) - (t9-0 obj) - ) + (t9-0 obj) + ) (set! (-> obj text-y) (+ (if (nonzero? (-> obj next-y-offset)) - (-> obj text-y-offset) - 0 - ) - 362 - ) - ) + (-> obj text-y-offset) + 0 + ) + 362 + ) + ) (let* ((s5-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) (gp-0 (-> s5-0 base)) ) - (let ((s3-0 draw-string-xy)) - (format (clear *temp-string*) "~2,' D" (-> obj value)) - (s3-0 - *temp-string* - s5-0 - (+ (-> obj text-x) (* (-> obj x-sgn) (-> obj offset))) - (/ - (* - (+ (-> obj text-y) (* (-> obj y-sgn) (-> obj offset)) (-> obj y-offset)) - (the int (-> *video-parms* relative-y-scale)) - ) - 2 + (let ((s3-0 draw-string-xy)) + (format (clear *temp-string*) "~2,' D" (-> obj value)) + (s3-0 + *temp-string* + s5-0 + (+ (-> obj text-x) (* (-> obj x-sgn) (-> obj offset))) + (/ (* (+ (-> obj text-y) (* (-> obj y-sgn) (-> obj offset)) (-> obj y-offset)) + (the int (-> *video-parms* relative-y-scale)) + ) + 2 + ) + (font-color dark-yellow) + (font-flags shadow kerning large) + ) + ) + (let ((a3-7 (-> s5-0 base))) + (let ((v1-11 (the-as object (-> s5-0 base)))) + (set! (-> (the-as (pointer int64) v1-11)) #x20000000) + (set! (-> (the-as dma-packet v1-11) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-11) vif1) (new 'static 'vif-tag)) + (set! (-> s5-0 base) (&+ (the-as pointer v1-11) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-0 + (the-as (pointer dma-tag) a3-7) + ) ) - (font-color dark-yellow) - (font-flags shadow kerning large) - ) ) - (let ((a3-7 (-> s5-0 base))) - (let ((v1-11 (the-as object (-> s5-0 base)))) - (set! (-> (the-as (pointer int64) v1-11)) #x20000000) - (set! (-> (the-as dma-packet v1-11) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-11) vif1) (new 'static 'vif-tag)) - (set! (-> s5-0 base) (&+ (the-as pointer v1-11) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-0 - (the-as (pointer dma-tag) a3-7) - ) - ) - ) 0 (none) ) @@ -2012,12 +1746,8 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-19 hud-buzzers ((obj hud-buzzers)) (if *target* - (TODO-RENAME-16 - obj - (the int (+ 0.5 (-> *target* fact-info-target buzzer))) - 0 - ) - ) + (TODO-RENAME-16 obj (the int (+ 0.5 (-> *target* fact-info-target buzzer))) 0) + ) 0 (none) ) @@ -2026,24 +1756,21 @@ ;; INFO: Return type mismatch int vs none. (defmethod init-particles! hud-buzzers ((obj hud-buzzers) (arg0 int)) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-0 (-> obj nb-of-particles))) - (set! (-> obj particles s5-0) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-0 part) - (create-launch-control (-> *part-group-id-table* 81) obj) - ) - (set! (-> obj particles s5-0 init-pos x) 60.0) - (set! (-> obj particles s5-0 init-pos y) 380.0) - (set! (-> obj particles s5-0 init-pos z) 1.0) - (set! (-> obj particles s5-0 part matrix) -1) + (let ((s5-0 (-> obj nb-of-particles))) + (set! (-> obj particles s5-0) (new 'static 'hud-particle)) + (set! (-> obj particles s5-0 part) (create-launch-control (-> *part-group-id-table* 81) obj)) + (set! (-> obj particles s5-0 init-pos x) 60.0) + (set! (-> obj particles s5-0 init-pos y) 380.0) + (set! (-> obj particles s5-0 init-pos z) 1.0) + (set! (-> obj particles s5-0 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (dotimes (s5-1 (-> obj nb-of-particles)) - (if (= (-> obj particles s5-1 part matrix) -1) - (set! (-> obj particles s5-1 part matrix) (sprite-allocate-user-hvdf)) + (if (= (-> obj particles s5-1 part matrix) -1) + (set! (-> obj particles s5-1 part matrix) (sprite-allocate-user-hvdf)) + ) ) - ) (animate! obj (= (get-aspect-ratio) 'aspect16x9) (= (get-video-mode) 'pal)) (set! (-> obj text-x) 85) (set! (-> obj text-y) 362) @@ -2063,11 +1790,11 @@ ;; definition for method 22 of type hud-buzzers (defmethod first-icon-y hud-buzzers ((obj hud-buzzers)) (+ (if (= (-> *setting-control* current video-mode) 'pal) - (+ (-> obj text-y) 120) - (+ (-> obj text-y) 50) - ) - (-> obj next-y-offset) - ) + (+ (-> obj text-y) 120) + (+ (-> obj text-y) 50) + ) + (-> obj next-y-offset) + ) ) ;; definition for method 25 of type hud-buzzers @@ -2084,183 +1811,165 @@ ;; INFO: Return type mismatch int vs none. (defmethod animate! hud-buzzers ((obj hud-buzzers) (arg0 symbol) (arg1 symbol)) (cond - (arg0 - (set! (-> obj scale) 6553.6) - (set! (-> obj text-y-offset) -40) + (arg0 + (set! (-> obj scale) 6553.6) + (set! (-> obj text-y-offset) -40) + ) + (else + (set! (-> obj scale) 7372.8) + (set! (-> obj text-y-offset) 0) + 0 + ) ) - (else - (set! (-> obj scale) 7372.8) - (set! (-> obj text-y-offset) 0) - 0 - ) - ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 82) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-eco-timer" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 327 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 82) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-eco-timer" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 327 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 83) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-eco-timer-backing" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 328 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 83) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-eco-timer-backing" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 328 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 327) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x2b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 3.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-eco-timer-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 327) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x2b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 3.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-eco-timer-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 328) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 63.0) - (sp-flt spt-a 64.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-eco-timer-backing-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 328) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 63.0) + (sp-flt spt-a 64.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-eco-timer-backing-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 84) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :flags - (sp-group-flag use-local-clock screen-space) - :name "group-part-hud-timer-blue" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 329 :flags (launch-asap)) - (sp-item 330 :flags (launch-asap)) - (sp-item 331 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 84) (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :flags + (sp-group-flag use-local-clock screen-space) + :name "group-part-hud-timer-blue" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 329 :flags (launch-asap)) + (sp-item 330 :flags (launch-asap)) + (sp-item 331 :flags (launch-asap)) + ) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 329) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-eco-timer-01-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 329) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-eco-timer-01-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 330) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-eco-timer-02-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 330) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-eco-timer-02-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 331) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-eco-timer-03-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 331) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-eco-timer-03-func) + (sp-end) + ) + ) + ) ;; definition of type hud-power (deftype hud-power (hud) @@ -2277,8 +1986,8 @@ ;; definition for method 3 of type hud-power (defmethod inspect hud-power ((obj hud-power)) (let ((t9-0 (method-of-type hud inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tscale-timer: ~f~%" (-> obj scale-timer)) (format #t "~T~Tscale-backing: ~f~%" (-> obj scale-backing)) (format #t "~T~Tscale-blue: ~f~%" (-> obj scale-blue)) @@ -2287,51 +1996,39 @@ ;; definition for function calculate-rotation-and-color-for-slice ;; INFO: Return type mismatch int vs none. -(defun - calculate-rotation-and-color-for-slice - ((arg0 int) (arg1 float) (arg2 int) (arg3 int) (arg4 int) (arg5 hud-particle)) +(defun calculate-rotation-and-color-for-slice ((arg0 int) (arg1 float) (arg2 int) (arg3 int) (arg4 int) (arg5 hud-particle)) (cond - ((>= 0.0 arg1) - (set! (-> arg5 init-pos w) -16566.045) - ) - (else - (let ((v1-1 arg0)) - (cond - ((zero? v1-1) - (if (< 1.0 arg1) - (set! (-> arg5 init-pos w) 910.2222) - (set! (-> arg5 init-pos w) (* 182.04445 (+ 5.0 (* 263.0 (- 1.0 arg1))))) - ) - ) - ((= v1-1 1) - (if (< 0.6666667 arg1) - (set! (-> arg5 init-pos w) 17294.223) - (set! - (-> arg5 init-pos w) - (* 182.04445 (+ 95.0 (* 173.0 (- 1.0 (* 1.5 arg1))))) - ) - ) - ) - ((= v1-1 2) - (if (< 0.33333334 arg1) - (set! (-> arg5 init-pos w) 33678.223) - (set! - (-> arg5 init-pos w) - (* 182.04445 (+ 185.0 (* 83.0 (- 1.0 (* 3.0 arg1))))) - ) - ) - ) - ) + ((>= 0.0 arg1) + (set! (-> arg5 init-pos w) -16566.045) ) + (else + (let ((v1-1 arg0)) + (cond + ((zero? v1-1) + (if (< 1.0 arg1) + (set! (-> arg5 init-pos w) 910.2222) + (set! (-> arg5 init-pos w) (* 182.04445 (+ 5.0 (* 263.0 (- 1.0 arg1))))) + ) + ) + ((= v1-1 1) + (if (< 0.6666667 arg1) + (set! (-> arg5 init-pos w) 17294.223) + (set! (-> arg5 init-pos w) (* 182.04445 (+ 95.0 (* 173.0 (- 1.0 (* 1.5 arg1)))))) + ) + ) + ((= v1-1 2) + (if (< 0.33333334 arg1) + (set! (-> arg5 init-pos w) 33678.223) + (set! (-> arg5 init-pos w) (* 182.04445 (+ 185.0 (* 83.0 (- 1.0 (* 3.0 arg1)))))) + ) + ) + ) + ) + ) ) - ) - (if - (and - (< 0.0 arg1) - (and (< arg1 0.2) (zero? (logand (-> *display* integral-frame-counter) 4))) - ) - (set! arg3 (* arg3 2)) - ) + (if (and (< 0.0 arg1) (and (< arg1 0.2) (zero? (logand (-> *display* integral-frame-counter) 4)))) + (set! arg3 (* arg3 2)) + ) (set! (-> arg5 pos y) (the float arg2)) (set! (-> arg5 pos z) (the float arg3)) (set! (-> arg5 pos w) (the float arg4)) @@ -2342,55 +2039,48 @@ ;; definition for function part-hud-eco-timer-01-func ;; INFO: Return type mismatch int vs none. (defun part-hud-eco-timer-01-func ((arg0 basic) (arg1 basic) (arg2 hud-particle)) - (let - ((f0-2 - (/ - (the - float - (the-as - uint - (- - (-> *target* fact-info-target eco-timeout) - (the-as - uint - (- - (-> *display* game-frame-counter) - (the-as int (-> *target* fact-info-target eco-pickup-time)) - ) + (let ((f0-2 + (/ (the float + (the-as + uint + (- (-> *target* fact-info-target eco-timeout) + (the-as + uint + (- (-> *display* game-frame-counter) (the-as int (-> *target* fact-info-target eco-pickup-time))) + ) + ) + ) + ) + (the float (the-as uint (-> *FACT-bank* eco-full-timeout))) + ) ) - ) + (a2-1 0) + (a3-0 64) + (t0-0 128) ) + (case (-> *target* fact-info-target eco-type) + ((1) + (set! a2-1 128) + (set! a3-0 96) + (set! t0-0 0) + ) + ((2) + (set! a2-1 128) + (set! a3-0 32) + (set! t0-0 0) + ) + ((4) + (set! a2-1 0) + (set! a3-0 128) + (set! t0-0 32) ) - (the float (the-as uint (-> *FACT-bank* eco-full-timeout))) ) - ) - (a2-1 0) - (a3-0 64) - (t0-0 128) + (calculate-rotation-and-color-for-slice 0 f0-2 a2-1 a3-0 t0-0 arg2) ) - (case (-> *target* fact-info-target eco-type) - ((1) - (set! a2-1 128) - (set! a3-0 96) - (set! t0-0 0) - ) - ((2) - (set! a2-1 128) - (set! a3-0 32) - (set! t0-0 0) - ) - ((4) - (set! a2-1 0) - (set! a3-0 128) - (set! t0-0 32) - ) - ) - (calculate-rotation-and-color-for-slice 0 f0-2 a2-1 a3-0 t0-0 arg2) - ) (let ((f0-3 (-> *hud-parts* power 0 scale-blue))) - (set! (-> arg2 init-pos x) f0-3) - (set! (-> arg2 pos x) f0-3) - ) + (set! (-> arg2 init-pos x) f0-3) + (set! (-> arg2 pos x) f0-3) + ) 0 (none) ) @@ -2398,55 +2088,48 @@ ;; definition for function part-hud-eco-timer-02-func ;; INFO: Return type mismatch int vs none. (defun part-hud-eco-timer-02-func ((arg0 basic) (arg1 basic) (arg2 hud-particle)) - (let - ((f0-2 - (/ - (the - float - (the-as - uint - (- - (-> *target* fact-info-target eco-timeout) - (the-as - uint - (- - (-> *display* game-frame-counter) - (the-as int (-> *target* fact-info-target eco-pickup-time)) - ) + (let ((f0-2 + (/ (the float + (the-as + uint + (- (-> *target* fact-info-target eco-timeout) + (the-as + uint + (- (-> *display* game-frame-counter) (the-as int (-> *target* fact-info-target eco-pickup-time))) + ) + ) + ) + ) + (the float (the-as uint (-> *FACT-bank* eco-full-timeout))) + ) ) - ) + (a2-1 0) + (a3-0 64) + (t0-0 128) ) + (case (-> *target* fact-info-target eco-type) + ((1) + (set! a2-1 128) + (set! a3-0 96) + (set! t0-0 0) + ) + ((2) + (set! a2-1 128) + (set! a3-0 32) + (set! t0-0 0) + ) + ((4) + (set! a2-1 0) + (set! a3-0 128) + (set! t0-0 32) ) - (the float (the-as uint (-> *FACT-bank* eco-full-timeout))) ) - ) - (a2-1 0) - (a3-0 64) - (t0-0 128) + (calculate-rotation-and-color-for-slice 1 f0-2 a2-1 a3-0 t0-0 arg2) ) - (case (-> *target* fact-info-target eco-type) - ((1) - (set! a2-1 128) - (set! a3-0 96) - (set! t0-0 0) - ) - ((2) - (set! a2-1 128) - (set! a3-0 32) - (set! t0-0 0) - ) - ((4) - (set! a2-1 0) - (set! a3-0 128) - (set! t0-0 32) - ) - ) - (calculate-rotation-and-color-for-slice 1 f0-2 a2-1 a3-0 t0-0 arg2) - ) (let ((f0-3 (-> *hud-parts* power 0 scale-blue))) - (set! (-> arg2 init-pos x) f0-3) - (set! (-> arg2 pos x) f0-3) - ) + (set! (-> arg2 init-pos x) f0-3) + (set! (-> arg2 pos x) f0-3) + ) 0 (none) ) @@ -2454,68 +2137,59 @@ ;; definition for function part-hud-eco-timer-03-func ;; INFO: Return type mismatch int vs none. (defun part-hud-eco-timer-03-func ((arg0 basic) (arg1 basic) (arg2 hud-particle)) - (let - ((f0-2 - (/ - (the - float - (the-as - uint - (- - (-> *target* fact-info-target eco-timeout) - (the-as - uint - (- - (-> *display* game-frame-counter) - (the-as int (-> *target* fact-info-target eco-pickup-time)) - ) + (let ((f0-2 + (/ (the float + (the-as + uint + (- (-> *target* fact-info-target eco-timeout) + (the-as + uint + (- (-> *display* game-frame-counter) (the-as int (-> *target* fact-info-target eco-pickup-time))) + ) + ) + ) + ) + (the float (the-as uint (-> *FACT-bank* eco-full-timeout))) + ) ) - ) + (a2-1 0) + (a3-0 64) + (t0-0 128) ) + (case (-> *target* fact-info-target eco-type) + ((1) + (set! a2-1 128) + (set! a3-0 96) + (set! t0-0 0) + ) + ((2) + (set! a2-1 128) + (set! a3-0 32) + (set! t0-0 0) + ) + ((4) + (set! a2-1 0) + (set! a3-0 128) + (set! t0-0 32) ) - (the float (the-as uint (-> *FACT-bank* eco-full-timeout))) ) - ) - (a2-1 0) - (a3-0 64) - (t0-0 128) + (calculate-rotation-and-color-for-slice 2 f0-2 a2-1 a3-0 t0-0 arg2) ) - (case (-> *target* fact-info-target eco-type) - ((1) - (set! a2-1 128) - (set! a3-0 96) - (set! t0-0 0) - ) - ((2) - (set! a2-1 128) - (set! a3-0 32) - (set! t0-0 0) - ) - ((4) - (set! a2-1 0) - (set! a3-0 128) - (set! t0-0 32) - ) - ) - (calculate-rotation-and-color-for-slice 2 f0-2 a2-1 a3-0 t0-0 arg2) - ) (let ((f0-3 (-> *hud-parts* power 0 scale-blue))) - (set! (-> arg2 init-pos x) f0-3) - (set! (-> arg2 pos x) f0-3) - ) + (set! (-> arg2 init-pos x) f0-3) + (set! (-> arg2 pos x) f0-3) + ) 0 (none) ) ;; definition for function part-hud-eco-timer-backing-func ;; INFO: Return type mismatch int vs none. -(defun - part-hud-eco-timer-backing-func - ((arg0 basic) (arg1 basic) (arg2 hud-particle)) +(defun part-hud-eco-timer-backing-func ((arg0 basic) (arg1 basic) (arg2 hud-particle)) (let ((f0-0 (-> *hud-parts* power 0 scale-backing))) - (set! (-> arg2 init-pos x) f0-0) - (set! (-> arg2 pos x) f0-0) - ) + (set! (-> arg2 init-pos x) f0-0) + (set! (-> arg2 pos x) f0-0) + ) 0 (none) ) @@ -2524,9 +2198,9 @@ ;; INFO: Return type mismatch int vs none. (defun part-hud-eco-timer-func ((arg0 basic) (arg1 basic) (arg2 hud-particle)) (let ((f0-0 (-> *hud-parts* power 0 scale-timer))) - (set! (-> arg2 init-pos x) f0-0) - (set! (-> arg2 pos x) f0-0) - ) + (set! (-> arg2 init-pos x) f0-0) + (set! (-> arg2 pos x) f0-0) + ) 0 (none) ) @@ -2535,30 +2209,26 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-19 hud-power ((obj hud-power)) (if *target* - (TODO-RENAME-16 - obj - (max - 0 - (min - (the-as - int - (- - (-> *target* fact-info-target eco-timeout) - (the-as - uint - (- - (-> *display* game-frame-counter) - (the-as int (-> *target* fact-info-target eco-pickup-time)) + (TODO-RENAME-16 + obj + (max + 0 + (min + (the-as + int + (- (-> *target* fact-info-target eco-timeout) + (the-as + uint + (- (-> *display* game-frame-counter) (the-as int (-> *target* fact-info-target eco-pickup-time))) + ) + ) + ) + (the-as int (-> *target* fact-info-target eco-timeout)) + ) ) - ) + (the-as int (-> *target* fact-info-target eco-timeout)) ) - ) - (the-as int (-> *target* fact-info-target eco-timeout)) ) - ) - (the-as int (-> *target* fact-info-target eco-timeout)) - ) - ) 0 (none) ) @@ -2567,52 +2237,43 @@ ;; INFO: Return type mismatch int vs none. (defmethod init-particles! hud-power ((obj hud-power) (arg0 int)) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-0 (-> obj nb-of-particles))) - (set! (-> obj particles s5-0) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-0 part) - (create-launch-control (-> *part-group-id-table* 83) obj) - ) - (set! (-> obj particles s5-0 init-pos x) 435.0) - (set! (-> obj particles s5-0 init-pos y) 370.0) - (set! (-> obj particles s5-0 init-pos z) 10.0) - (set! (-> obj particles s5-0 part matrix) -1) + (let ((s5-0 (-> obj nb-of-particles))) + (set! (-> obj particles s5-0) (new 'static 'hud-particle)) + (set! (-> obj particles s5-0 part) (create-launch-control (-> *part-group-id-table* 83) obj)) + (set! (-> obj particles s5-0 init-pos x) 435.0) + (set! (-> obj particles s5-0 init-pos y) 370.0) + (set! (-> obj particles s5-0 init-pos z) 10.0) + (set! (-> obj particles s5-0 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-1 (-> obj nb-of-particles))) - (set! (-> obj particles s5-1) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-1 part) - (create-launch-control (-> *part-group-id-table* 84) obj) - ) - (set! (-> obj particles s5-1 init-pos x) 432.0) - (set! (-> obj particles s5-1 init-pos y) 368.0) - (set! (-> obj particles s5-1 init-pos z) 3.0) - (set! (-> obj particles s5-1 part matrix) -1) + (let ((s5-1 (-> obj nb-of-particles))) + (set! (-> obj particles s5-1) (new 'static 'hud-particle)) + (set! (-> obj particles s5-1 part) (create-launch-control (-> *part-group-id-table* 84) obj)) + (set! (-> obj particles s5-1 init-pos x) 432.0) + (set! (-> obj particles s5-1 init-pos y) 368.0) + (set! (-> obj particles s5-1 init-pos z) 3.0) + (set! (-> obj particles s5-1 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-2 (-> obj nb-of-particles))) - (set! (-> obj particles s5-2) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-2 part) - (create-launch-control (-> *part-group-id-table* 82) obj) - ) - (set! (-> obj particles s5-2 init-pos x) 435.0) - (set! (-> obj particles s5-2 init-pos y) 370.0) - (set! (-> obj particles s5-2 init-pos z) 2.0) - (set! (-> obj particles s5-2 part matrix) -1) + (let ((s5-2 (-> obj nb-of-particles))) + (set! (-> obj particles s5-2) (new 'static 'hud-particle)) + (set! (-> obj particles s5-2 part) (create-launch-control (-> *part-group-id-table* 82) obj)) + (set! (-> obj particles s5-2 init-pos x) 435.0) + (set! (-> obj particles s5-2 init-pos y) 370.0) + (set! (-> obj particles s5-2 init-pos z) 2.0) + (set! (-> obj particles s5-2 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (dotimes (s5-3 (-> obj nb-of-particles)) - (if (= (-> obj particles s5-3 part matrix) -1) - (set! (-> obj particles s5-3 part matrix) (sprite-allocate-user-hvdf)) + (if (= (-> obj particles s5-3 part matrix) -1) + (set! (-> obj particles s5-3 part matrix) (sprite-allocate-user-hvdf)) + ) ) - ) (animate! obj (= (get-aspect-ratio) 'aspect16x9) (= (get-video-mode) 'pal)) (set! (-> obj x-sgn) 1) (set! (-> obj y-sgn) 1) @@ -2624,17 +2285,17 @@ ;; INFO: Return type mismatch int vs none. (defmethod animate! hud-power ((obj hud-power) (arg0 symbol) (arg1 symbol)) (cond - (arg0 - (set! (-> obj scale-blue) 7168.0) - (set! (-> obj scale-timer) 11468.8) - (set! (-> obj scale-backing) 8960.0) + (arg0 + (set! (-> obj scale-blue) 7168.0) + (set! (-> obj scale-timer) 11468.8) + (set! (-> obj scale-backing) 8960.0) + ) + (else + (set! (-> obj scale-blue) 8192.0) + (set! (-> obj scale-timer) 13107.2) + (set! (-> obj scale-backing) 10240.0) + ) ) - (else - (set! (-> obj scale-blue) 8192.0) - (set! (-> obj scale-timer) 13107.2) - (set! (-> obj scale-backing) 10240.0) - ) - ) 0 (none) ) @@ -2643,215 +2304,85 @@ ;; INFO: Return type mismatch int vs none. (defun activate-hud ((arg0 process)) (let ((s5-0 (get-process *default-dead-pool* hud-pickups #x4000))) - (set! (-> *hud-parts* pickups) (the-as (pointer hud-pickups) (when s5-0 - (let - ((t9-1 - (method-of-type - hud-pickups - activate - ) - ) - ) - (t9-1 - (the-as - hud-pickups - s5-0 - ) - arg0 - 'hud-pickups - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-0 - hud-init-by-other - 0 - ) - (-> - s5-0 - ppointer - ) - ) - ) + (set! (-> *hud-parts* pickups) + (the-as + (pointer hud-pickups) + (when s5-0 + (let ((t9-1 (method-of-type hud-pickups activate))) + (t9-1 (the-as hud-pickups s5-0) arg0 'hud-pickups (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 hud-init-by-other 0) + (-> s5-0 ppointer) + ) + ) + ) ) - ) (let ((s5-1 (get-process *default-dead-pool* hud-money #x4000))) - (set! (-> *hud-parts* money) (the-as (pointer hud-money) (when s5-1 - (let - ((t9-4 - (method-of-type - hud-money - activate - ) - ) - ) - (t9-4 - (the-as - hud-money - s5-1 - ) - arg0 - 'hud-money - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-1 - hud-init-by-other - 0 - ) - (-> s5-1 ppointer) - ) - ) + (set! (-> *hud-parts* money) + (the-as (pointer hud-money) (when s5-1 + (let ((t9-4 (method-of-type hud-money activate))) + (t9-4 (the-as hud-money s5-1) arg0 'hud-money (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 hud-init-by-other 0) + (-> s5-1 ppointer) + ) + ) + ) ) - ) (let ((s5-2 (get-process *default-dead-pool* hud-fuel-cell #x4000))) - (set! (-> *hud-parts* fuel-cell) (the-as (pointer hud-fuel-cell) (when s5-2 - (let - ((t9-7 - (method-of-type - hud-fuel-cell - activate - ) - ) - ) - (t9-7 - (the-as - hud-fuel-cell - s5-2 - ) - arg0 - 'hud-fuel-cell - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-2 - hud-init-by-other - 0 - ) - (-> - s5-2 - ppointer - ) - ) - ) + (set! (-> *hud-parts* fuel-cell) + (the-as + (pointer hud-fuel-cell) + (when s5-2 + (let ((t9-7 (method-of-type hud-fuel-cell activate))) + (t9-7 (the-as hud-fuel-cell s5-2) arg0 'hud-fuel-cell (the-as pointer #x70004000)) + ) + (run-now-in-process s5-2 hud-init-by-other 0) + (-> s5-2 ppointer) + ) + ) + ) ) - ) (let ((s5-3 (get-process *default-dead-pool* hud-health #x4000))) - (set! (-> *hud-parts* health) (the-as (pointer hud-health) (when s5-3 - (let - ((t9-10 - (method-of-type - hud-health - activate - ) - ) - ) - (t9-10 - (the-as - hud-health - s5-3 - ) - arg0 - 'hud-health - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-3 - hud-init-by-other - 0 - ) - (-> - s5-3 - ppointer - ) - ) - ) + (set! (-> *hud-parts* health) + (the-as + (pointer hud-health) + (when s5-3 + (let ((t9-10 (method-of-type hud-health activate))) + (t9-10 (the-as hud-health s5-3) arg0 'hud-health (the-as pointer #x70004000)) + ) + (run-now-in-process s5-3 hud-init-by-other 0) + (-> s5-3 ppointer) + ) + ) + ) ) - ) (let ((s5-4 (get-process *default-dead-pool* hud-buzzers #x4000))) - (set! (-> *hud-parts* buzzers) (the-as (pointer hud-buzzers) (when s5-4 - (let - ((t9-13 - (method-of-type - hud-buzzers - activate - ) - ) - ) - (t9-13 - (the-as - hud-buzzers - s5-4 - ) - arg0 - 'hud-buzzers - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-4 - hud-init-by-other - 0 - ) - (-> - s5-4 - ppointer - ) - ) - ) + (set! (-> *hud-parts* buzzers) + (the-as + (pointer hud-buzzers) + (when s5-4 + (let ((t9-13 (method-of-type hud-buzzers activate))) + (t9-13 (the-as hud-buzzers s5-4) arg0 'hud-buzzers (the-as pointer #x70004000)) + ) + (run-now-in-process s5-4 hud-init-by-other 0) + (-> s5-4 ppointer) + ) + ) + ) ) - ) (let ((s5-5 (get-process *default-dead-pool* hud-power #x4000))) - (set! (-> *hud-parts* power) (the-as (pointer hud-power) (when s5-5 - (let - ((t9-16 - (method-of-type - hud-power - activate - ) - ) - ) - (t9-16 - (the-as - hud-power - s5-5 - ) - arg0 - 'hud-power - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-5 - hud-init-by-other - 0 - ) - (-> s5-5 ppointer) - ) - ) + (set! (-> *hud-parts* power) + (the-as (pointer hud-power) (when s5-5 + (let ((t9-16 (method-of-type hud-power activate))) + (t9-16 (the-as hud-power s5-5) arg0 'hud-power (the-as pointer #x70004000)) + ) + (run-now-in-process s5-5 hud-init-by-other 0) + (-> s5-5 ppointer) + ) + ) + ) ) - ) (set! (-> *hud-parts* bike-speed) (the-as (pointer hud-bike-speed) #f)) (set! (-> *hud-parts* bike-heat) (the-as (pointer hud-bike-heat) #f)) (set! (-> *hud-parts* money-all) (the-as (pointer hud-money-all) #f)) @@ -2863,12 +2394,12 @@ ;; INFO: Return type mismatch int vs none. (defun hide-hud () (when *target* - (dotimes (gp-0 9) - (if (-> *hud-parts* parts gp-0) - (send-event (ppointer->process (-> *hud-parts* parts gp-0)) 'hide) - ) + (dotimes (gp-0 9) + (if (-> *hud-parts* parts gp-0) + (send-event (ppointer->process (-> *hud-parts* parts gp-0)) 'hide) + ) + ) ) - ) 0 (none) ) @@ -2877,12 +2408,12 @@ ;; INFO: Return type mismatch int vs none. (defun hide-bottom-hud () (when *target* - (dotimes (gp-0 4) - (if (-> *hud-parts* parts (+ gp-0 4)) - (send-event (ppointer->process (-> *hud-parts* parts (+ gp-0 4))) 'hide) - ) + (dotimes (gp-0 4) + (if (-> *hud-parts* parts (+ gp-0 4)) + (send-event (ppointer->process (-> *hud-parts* parts (+ gp-0 4))) 'hide) + ) + ) ) - ) 0 (none) ) @@ -2891,21 +2422,20 @@ ;; INFO: Return type mismatch int vs none. (defun disable-hud ((arg0 int)) (when *target* - (dotimes (s5-0 9) - (when (-> *hud-parts* parts s5-0) - (if - (or - (!= (-> *hud-parts* parts s5-0) arg0) - (zero? (-> (the-as (pointer hud) (-> *hud-parts* parts s5-0)) 0 value)) - ) - (send-event (ppointer->process (-> *hud-parts* parts s5-0)) 'hide) + (dotimes (s5-0 9) + (when (-> *hud-parts* parts s5-0) + (if (or + (!= (-> *hud-parts* parts s5-0) arg0) + (zero? (-> (the-as (pointer hud) (-> *hud-parts* parts s5-0)) 0 value)) + ) + (send-event (ppointer->process (-> *hud-parts* parts s5-0)) 'hide) + ) + (if (!= (-> *hud-parts* parts s5-0) arg0) + (send-event (ppointer->process (-> *hud-parts* parts s5-0)) 'disable) + ) + ) ) - (if (!= (-> *hud-parts* parts s5-0) arg0) - (send-event (ppointer->process (-> *hud-parts* parts s5-0)) 'disable) - ) - ) ) - ) 0 (none) ) @@ -2914,12 +2444,12 @@ ;; INFO: Return type mismatch int vs none. (defun enable-hud () (when *target* - (dotimes (gp-0 9) - (if (-> *hud-parts* parts gp-0) - (send-event (ppointer->process (-> *hud-parts* parts gp-0)) 'enable) - ) + (dotimes (gp-0 9) + (if (-> *hud-parts* parts gp-0) + (send-event (ppointer->process (-> *hud-parts* parts gp-0)) 'enable) + ) + ) ) - ) 0 (none) ) @@ -2928,12 +2458,12 @@ ;; INFO: Return type mismatch int vs none. (defun hide-hud-quick () (when *target* - (dotimes (gp-0 9) - (if (-> *hud-parts* parts gp-0) - (send-event (ppointer->process (-> *hud-parts* parts gp-0)) 'hide-quick) - ) + (dotimes (gp-0 9) + (if (-> *hud-parts* parts gp-0) + (send-event (ppointer->process (-> *hud-parts* parts gp-0)) 'hide-quick) + ) + ) ) - ) 0 (none) ) @@ -2941,17 +2471,13 @@ ;; definition for function show-hud ;; INFO: Return type mismatch int vs none. (defun show-hud () - (when - (and - *target* - (or (not *progress-process*) (hidden? (-> *progress-process* 0))) + (when (and *target* (or (not *progress-process*) (hidden? (-> *progress-process* 0)))) + (dotimes (gp-0 9) + (if (-> *hud-parts* parts gp-0) + (send-event (ppointer->process (-> *hud-parts* parts gp-0)) 'show) + ) + ) ) - (dotimes (gp-0 9) - (if (-> *hud-parts* parts gp-0) - (send-event (ppointer->process (-> *hud-parts* parts gp-0)) 'show) - ) - ) - ) 0 (none) ) @@ -2962,18 +2488,14 @@ (let ((gp-0 (= arg0 'aspect16x9)) (s5-0 (= arg1 'pal)) ) - (when *target* - (dotimes (s4-0 9) - (if (-> *hud-parts* parts s4-0) - (animate! - (-> (the-as (pointer hud) (-> *hud-parts* parts s4-0)) 0) - gp-0 - s5-0 - ) + (when *target* + (dotimes (s4-0 9) + (if (-> *hud-parts* parts s4-0) + (animate! (-> (the-as (pointer hud) (-> *hud-parts* parts s4-0)) 0) gp-0 s5-0) + ) + ) ) - ) ) - ) 0 (none) ) @@ -2982,23 +2504,20 @@ (defun hud-hidden? () (local-vars (gp-0 symbol)) (cond - (*target* - (set! gp-0 #t) - (dotimes (s5-0 9) - (when (-> *hud-parts* parts s5-0) - (if - (not - (dummy-14 (-> (the-as (pointer hud) (-> *hud-parts* parts s5-0)) 0)) + (*target* + (set! gp-0 #t) + (dotimes (s5-0 9) + (when (-> *hud-parts* parts s5-0) + (if (not (dummy-14 (-> (the-as (pointer hud) (-> *hud-parts* parts s5-0)) 0))) + (set! gp-0 #f) + ) + ) ) - (set! gp-0 #f) - ) ) - ) + (else + (set! gp-0 #t) + ) ) - (else - (set! gp-0 #t) - ) - ) gp-0 ) @@ -3006,68 +2525,41 @@ (defun bottom-hud-hidden? () (local-vars (gp-0 symbol)) (cond - (*target* - (set! gp-0 #t) - (dotimes (s5-0 4) - (when (-> *hud-parts* parts (+ s5-0 4)) - (if - (not - (dummy-14 - (-> (the-as (pointer hud) (-> *hud-parts* parts (+ s5-0 4))) 0) - ) + (*target* + (set! gp-0 #t) + (dotimes (s5-0 4) + (when (-> *hud-parts* parts (+ s5-0 4)) + (if (not (dummy-14 (-> (the-as (pointer hud) (-> *hud-parts* parts (+ s5-0 4))) 0))) + (set! gp-0 #f) + ) + ) ) - (set! gp-0 #f) - ) ) - ) + (else + (set! gp-0 #t) + ) ) - (else - (set! gp-0 #t) - ) - ) gp-0 ) ;; definition for function activate-orb-all (defun activate-orb-all ((arg0 int)) (when (not (-> *hud-parts* money-all)) - (let ((s5-0 (get-process *default-dead-pool* hud-money-all #x4000))) - (set! (-> *hud-parts* money-all) (the-as (pointer hud-money-all) (when s5-0 - (let - ((t9-1 - (method-of-type - hud-money-all - activate - ) - ) - ) - (t9-1 - (the-as - hud-money-all - s5-0 - ) - *target* - 'hud-money-all - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-0 - hud-init-by-other - arg0 - ) - (-> - s5-0 - ppointer - ) - ) - ) - ) + (let ((s5-0 (get-process *default-dead-pool* hud-money-all #x4000))) + (set! (-> *hud-parts* money-all) + (the-as + (pointer hud-money-all) + (when s5-0 + (let ((t9-1 (method-of-type hud-money-all activate))) + (t9-1 (the-as hud-money-all s5-0) *target* 'hud-money-all (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 hud-init-by-other arg0) + (-> s5-0 ppointer) + ) + ) + ) + ) ) - ) 0 ) @@ -3075,24 +2567,18 @@ ;; INFO: Return type mismatch int vs none. (defbehavior convert-to-hud-object hud ((arg0 process-drawable) (arg1 hud)) (when arg1 - (logclear! (-> arg0 mask) (process-mask actor-pause)) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (transform-point-vector-scale! s4-0 (-> arg0 root trans)) - (set! (-> arg0 root trans x) (+ -2048.0 (-> s4-0 x))) - (set! (-> arg0 root trans y) (* 2.0 (+ -2048.0 (-> s4-0 y)))) + (logclear! (-> arg0 mask) (process-mask actor-pause)) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (transform-point-vector-scale! s4-0 (-> arg0 root trans)) + (set! (-> arg0 root trans x) (+ -2048.0 (-> s4-0 x))) + (set! (-> arg0 root trans y) (* 2.0 (+ -2048.0 (-> s4-0 y)))) + ) + (set! (-> arg0 root trans z) 9999999.0) + (set! (-> arg0 root trans w) 1.0) + (set-vector! (-> arg0 root scale) (inc-value arg1) (dec-value arg1) (inc-value arg1) 1.0) + (set! (-> arg0 draw dma-add-func) dma-add-process-drawable-hud) + (go hud-collecting (process->handle arg1)) ) - (set! (-> arg0 root trans z) 9999999.0) - (set! (-> arg0 root trans w) 1.0) - (set-vector! - (-> arg0 root scale) - (inc-value arg1) - (dec-value arg1) - (inc-value arg1) - 1.0 - ) - (set! (-> arg0 draw dma-add-func) dma-add-process-drawable-hud) - (go hud-collecting (process->handle arg1)) - ) 0 (none) ) diff --git a/test/decompiler/reference/engine/ui/hud-h_REF.gc b/test/decompiler/reference/engine/ui/hud-h_REF.gc index 82db2ce61f..8f1ad72da9 100644 --- a/test/decompiler/reference/engine/ui/hud-h_REF.gc +++ b/test/decompiler/reference/engine/ui/hud-h_REF.gc @@ -102,8 +102,8 @@ ;; definition for method 3 of type hud (defmethod inspect hud ((obj hud)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tvalue: ~D~%" (-> obj value)) (format #t "~T~Tvalue2: ~D~%" (-> obj value2)) (format #t "~T~Ttarget-value: ~D~%" (-> obj target-value)) @@ -168,20 +168,18 @@ ) ;; definition for symbol *hud-parts*, type hud-parts -(define - *hud-parts* - (new 'static 'hud-parts - :pickups #f - :money #f - :fuel-cell #f - :health #f - :buzzers #f - :power #f - :bike-speed #f - :bike-heat #f - :money-all #f - ) - ) +(define *hud-parts* (new 'static 'hud-parts + :pickups #f + :money #f + :fuel-cell #f + :health #f + :buzzers #f + :power #f + :bike-speed #f + :bike-heat #f + :money-all #f + ) + ) ;; failed to figure out what this is: 0 diff --git a/test/decompiler/reference/engine/ui/progress-h_REF.gc b/test/decompiler/reference/engine/ui/progress-h_REF.gc index bfd9250e01..39766ba3ae 100644 --- a/test/decompiler/reference/engine/ui/progress-h_REF.gc +++ b/test/decompiler/reference/engine/ui/progress-h_REF.gc @@ -54,11 +54,7 @@ (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Ttask-id: ~D~%" (-> obj task-id)) (format #t "~Ttask-name[4] @ #x~X~%" (-> obj task-name)) - (format - #t - "~Ttext-index-when-resolved: ~D~%" - (-> obj text-index-when-resolved) - ) + (format #t "~Ttext-index-when-resolved: ~D~%" (-> obj text-index-when-resolved)) obj ) @@ -233,8 +229,8 @@ ;; definition for method 3 of type progress (defmethod inspect progress ((obj progress)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tcurrent-debug-string: ~D~%" (-> obj current-debug-string)) (format #t "~T~Tcurrent-debug-language: ~D~%" (-> obj current-debug-language)) (format #t "~T~Tcurrent-debug-group: ~D~%" (-> obj current-debug-group)) @@ -270,31 +266,15 @@ (format #t "~T~Tsmall-orb-y-offset: ~D~%" (-> obj small-orb-y-offset)) (format #t "~T~Tbig-orb-y-offset: ~D~%" (-> obj big-orb-y-offset)) (format #t "~T~Ttransition-offset: ~D~%" (-> obj transition-offset)) - (format - #t - "~T~Ttransition-offset-invert: ~D~%" - (-> obj transition-offset-invert) - ) + (format #t "~T~Ttransition-offset-invert: ~D~%" (-> obj transition-offset-invert)) (format #t "~T~Ttransition-percentage: ~f~%" (-> obj transition-percentage)) - (format - #t - "~T~Ttransition-percentage-invert: ~f~%" - (-> obj transition-percentage-invert) - ) + (format #t "~T~Ttransition-percentage-invert: ~f~%" (-> obj transition-percentage-invert)) (format #t "~T~Ttransition-speed: ~f~%" (-> obj transition-speed)) - (format - #t - "~T~Ttotal-nb-of-power-cells: ~D~%" - (-> obj total-nb-of-power-cells) - ) + (format #t "~T~Ttotal-nb-of-power-cells: ~D~%" (-> obj total-nb-of-power-cells)) (format #t "~T~Ttotal-nb-of-orbs: ~D~%" (-> obj total-nb-of-orbs)) (format #t "~T~Ttotal-nb-of-buzzers: ~D~%" (-> obj total-nb-of-buzzers)) (format #t "~T~Tcard-info: #~%" (-> obj card-info)) - (format - #t - "~T~Tlast-option-index-change: ~D~%" - (-> obj last-option-index-change) - ) + (format #t "~T~Tlast-option-index-change: ~D~%" (-> obj last-option-index-change)) (format #t "~T~Tvideo-mode-timeout: ~D~%" (-> obj video-mode-timeout)) (format #t "~T~Tdisplay-state-stack[5] @ #x~X~%" (-> obj display-state-stack)) (format #t "~T~Toption-index-stack[5] @ #x~X~%" (-> obj option-index-stack)) diff --git a/test/decompiler/reference/engine/ui/progress/progress-draw_REF.gc b/test/decompiler/reference/engine/ui/progress/progress-draw_REF.gc index b0476baf0a..2322298d4f 100644 --- a/test/decompiler/reference/engine/ui/progress/progress-draw_REF.gc +++ b/test/decompiler/reference/engine/ui/progress/progress-draw_REF.gc @@ -4,9 +4,9 @@ ;; definition for function adjust-pos (defun adjust-pos ((arg0 int) (arg1 int)) (if (< arg0 arg1) - 0 - (- arg0 arg1) - ) + 0 + (- arg0 arg1) + ) ) ;; definition for method 24 of type progress @@ -14,209 +14,177 @@ ;; Used lq/sq (defmethod draw-fuel-cell-screen progress ((obj progress) (arg0 int)) (local-vars - (sv-112 int) - (sv-128 int) - (sv-144 int) - (sv-160 (function trsqv float quaternion)) - (sv-176 trsqv) - (sv-192 int) - (sv-208 int) - (sv-224 (function string float font-context int none)) - ) + (sv-112 int) + (sv-128 int) + (sv-144 int) + (sv-160 (function trsqv float quaternion)) + (sv-176 trsqv) + (sv-192 int) + (sv-208 int) + (sv-224 (function string float font-context int none)) + ) (hide-progress-icons) (let ((s5-0 (-> *level-task-data* arg0))) - (if (and (= *cheat-mode* 'debug) (cpad-hold? 0 l3)) - (format *stdcon* "fcd:~d~%" (-> *game-info* fuel-cell-deaths)) - ) - (set! (-> *progress-process* 0 particles 14 init-pos x) -320.0) - (set! (-> *progress-process* 0 particles 15 init-pos x) -320.0) - (set! (-> *progress-process* 0 icons 4 icon-x) -320) - (when (and (!= s5-0 #f) (= (-> *game-info* level-opened arg0) 1)) - (set! - sv-112 - (- (-> *task-egg-starting-x* (-> s5-0 nb-of-tasks)) (-> obj left-x-offset)) - ) - (set! sv-128 (the int (* 47.0 (-> obj transition-percentage-invert)))) - 0 - (let ((s0-0 6) - (s2-0 0) - (s4-1 (if (= (-> obj level-transition) 1) - (- (-> obj transition-offset)) - (-> obj transition-offset) - ) - ) - (f30-0 (-> obj transition-percentage-invert)) - (s1-0 0) - (s3-0 #f) - ) - (when (-> obj stat-transition) - (set! sv-128 47) - (set! s2-0 (if (!= (-> obj display-state) (-> obj next-display-state)) - (- (-> obj transition-offset)) - (-> obj transition-offset) + (if (and (= *cheat-mode* 'debug) (cpad-hold? 0 l3)) + (format *stdcon* "fcd:~d~%" (-> *game-info* fuel-cell-deaths)) + ) + (set! (-> *progress-process* 0 particles 14 init-pos x) -320.0) + (set! (-> *progress-process* 0 particles 15 init-pos x) -320.0) + (set! (-> *progress-process* 0 icons 4 icon-x) -320) + (when (and (!= s5-0 #f) (= (-> *game-info* level-opened arg0) 1)) + (set! sv-112 (- (-> *task-egg-starting-x* (-> s5-0 nb-of-tasks)) (-> obj left-x-offset))) + (set! sv-128 (the int (* 47.0 (-> obj transition-percentage-invert)))) + 0 + (let ((s0-0 6) + (s2-0 0) + (s4-1 (if (= (-> obj level-transition) 1) + (- (-> obj transition-offset)) + (-> obj transition-offset) + ) ) - ) - (set! s4-1 0) - (set! f30-0 1.0) - ) - (set! sv-144 0) - (while (< sv-144 4) - (let ((a0-18 (-> obj icons sv-144 icon 0 root))) - (set! sv-176 a0-18) - (set! sv-160 (method-of-object sv-176 set-yaw-angle-clear-roll-pitch!)) - (let - ((a1-2 - (+ - (y-angle a0-18) - (* 182.04445 (* 0.5 (-> *display* time-adjust-ratio))) - ) - ) - ) - (sv-160 sv-176 a1-2) - ) - ) - (set! sv-144 (+ sv-144 1)) - ) - (set! - sv-192 - (+ - sv-112 - (/ (- (* 47 (-> s5-0 nb-of-tasks)) (* sv-128 (-> s5-0 nb-of-tasks))) 2) - ) - ) - (set! sv-208 0) - (while (< sv-208 (-> s5-0 nb-of-tasks)) - (let ((v0-4 (get-task-status (-> s5-0 task-info sv-208 task-id))) - (v1-59 -1) - (a0-25 #f) + (f30-0 (-> obj transition-percentage-invert)) + (s1-0 0) + (s3-0 #f) ) - (set! (-> obj particle-state s0-0) 2) - (cond - ((or (= v0-4 (task-status need-hint)) (= v0-4 (task-status unknown))) - (if (= *kernel-boot-message* 'play) - (set! (-> obj particle-state s0-0) 1) + (when (-> obj stat-transition) + (set! sv-128 47) + (set! s2-0 (if (!= (-> obj display-state) (-> obj next-display-state)) + (- (-> obj transition-offset)) + (-> obj transition-offset) + ) + ) + (set! s4-1 0) + (set! f30-0 1.0) ) - ) - ((= v0-4 (task-status invalid)) - (set! v1-59 (-> s5-0 task-info sv-208 text-index-when-resolved)) - (set! (-> obj particle-state s0-0) 3) - (set! a0-25 #t) - ) - ((= v0-4 (task-status need-introduction)) - (set! v1-59 0) - ) - ((= v0-4 (task-status need-reminder-a)) - (set! v1-59 0) - ) - ((= v0-4 (task-status need-reminder)) - (set! v1-59 1) - ) - ((= v0-4 (task-status need-reward-speech)) - (set! v1-59 2) - ) - ((= v0-4 (task-status need-resolution)) - (set! v1-59 2) - ) - ) - (if (and (!= *kernel-boot-message* 'play) (= v1-59 -1)) - (set! v1-59 0) - ) - (set! (-> obj particles s0-0 init-pos x) (the float (+ sv-192 s2-0))) - (set! (-> obj particles s0-0 init-pos y) (the float (+ s4-1 204))) - (+! s0-0 1) - (when (= sv-208 (-> obj task-index)) - (set! s1-0 v1-59) - (set! s3-0 a0-25) - (set! (-> obj particles 5 init-pos x) (the float (+ sv-192 s2-0))) - (set! (-> obj particles 5 init-pos y) (the float (+ s4-1 204))) - ) - ) - (set! sv-192 (+ sv-192 sv-128)) - (set! sv-208 (+ sv-208 1)) - ) - (dotimes (v1-77 (- 8 (-> s5-0 nb-of-tasks))) - (set! - (-> *progress-process* 0 particles s0-0 init-pos x) - (the float (+ s2-0 -320)) - ) - (set! (-> obj particles s0-0 init-pos y) (the float (+ s4-1 194))) - (+! s0-0 1) - ) - (when *common-text* - (when - (and - (!= s1-0 -1) - (> (-> s5-0 nb-of-tasks) 0) - (>= (-> obj task-index) 0) - (< (-> obj task-index) (-> s5-0 nb-of-tasks)) - ) - (let - ((s0-1 - (new - 'stack - 'font-context - *font-default-matrix* - (- (+ s2-0 32) (-> obj left-x-offset)) - (+ (/ s4-1 2) 125) - 8325000.0 - (font-color yellow-orange) - (font-flags shadow kerning) - ) - ) - ) - (let ((v1-91 s0-1)) - (set! (-> v1-91 width) (the float 328)) - ) - (let ((v1-92 s0-1)) - (set! (-> v1-92 height) (the float 50)) - ) - (let ((v1-93 s0-1)) - (set! (-> v1-93 scale) 0.7) - ) - (set! (-> s0-1 flags) (font-flags shadow kerning middle left large)) - (set! sv-224 print-game-text-scaled) - (let - ((a0-47 - (lookup-text! - *common-text* - (-> s5-0 task-info (-> obj task-index) task-name s1-0) - #f + (set! sv-144 0) + (while (< sv-144 4) + (let ((a0-18 (-> obj icons sv-144 icon 0 root))) + (set! sv-176 a0-18) + (set! sv-160 (method-of-object sv-176 set-yaw-angle-clear-roll-pitch!)) + (let ((a1-2 (+ (y-angle a0-18) (* 182.04445 (* 0.5 (-> *display* time-adjust-ratio)))))) + (sv-160 sv-176 a1-2) + ) ) - ) - (a1-57 f30-0) - (a2-15 s0-1) - (a3-2 (the int (* 128.0 f30-0))) + (set! sv-144 (+ sv-144 1)) ) - (sv-224 a0-47 a1-57 a2-15 a3-2) - ) - (when s3-0 - (set! - (-> s0-1 origin x) - (the float (- (+ s2-0 32) (-> obj left-x-offset))) + (set! sv-192 (+ sv-112 (/ (- (* 47 (-> s5-0 nb-of-tasks)) (* sv-128 (-> s5-0 nb-of-tasks))) 2))) + (set! sv-208 0) + (while (< sv-208 (-> s5-0 nb-of-tasks)) + (let ((v0-4 (get-task-status (-> s5-0 task-info sv-208 task-id))) + (v1-59 -1) + (a0-25 #f) + ) + (set! (-> obj particle-state s0-0) 2) + (cond + ((or (= v0-4 (task-status need-hint)) (= v0-4 (task-status unknown))) + (if (= *kernel-boot-message* 'play) + (set! (-> obj particle-state s0-0) 1) + ) + ) + ((= v0-4 (task-status invalid)) + (set! v1-59 (-> s5-0 task-info sv-208 text-index-when-resolved)) + (set! (-> obj particle-state s0-0) 3) + (set! a0-25 #t) + ) + ((= v0-4 (task-status need-introduction)) + (set! v1-59 0) + ) + ((= v0-4 (task-status need-reminder-a)) + (set! v1-59 0) + ) + ((= v0-4 (task-status need-reminder)) + (set! v1-59 1) + ) + ((= v0-4 (task-status need-reward-speech)) + (set! v1-59 2) + ) + ((= v0-4 (task-status need-resolution)) + (set! v1-59 2) + ) + ) + (if (and (!= *kernel-boot-message* 'play) (= v1-59 -1)) + (set! v1-59 0) + ) + (set! (-> obj particles s0-0 init-pos x) (the float (+ sv-192 s2-0))) + (set! (-> obj particles s0-0 init-pos y) (the float (+ s4-1 204))) + (+! s0-0 1) + (when (= sv-208 (-> obj task-index)) + (set! s1-0 v1-59) + (set! s3-0 a0-25) + (set! (-> obj particles 5 init-pos x) (the float (+ sv-192 s2-0))) + (set! (-> obj particles 5 init-pos y) (the float (+ s4-1 204))) + ) + ) + (set! sv-192 (+ sv-192 sv-128)) + (set! sv-208 (+ sv-208 1)) ) - (set! (-> s0-1 origin y) (the float (+ (/ s4-1 2) 175))) - (let ((a0-49 s0-1)) - (set! (-> a0-49 color) (font-color lighter-lighter-blue)) + (dotimes (v1-77 (- 8 (-> s5-0 nb-of-tasks))) + (set! (-> *progress-process* 0 particles s0-0 init-pos x) (the float (+ s2-0 -320))) + (set! (-> obj particles s0-0 init-pos y) (the float (+ s4-1 194))) + (+! s0-0 1) ) - (let ((v1-104 s0-1)) - (set! (-> v1-104 height) (the float 15)) + (when *common-text* + (when (and + (!= s1-0 -1) + (> (-> s5-0 nb-of-tasks) 0) + (>= (-> obj task-index) 0) + (< (-> obj task-index) (-> s5-0 nb-of-tasks)) + ) + (let ((s0-1 (new + 'stack + 'font-context + *font-default-matrix* + (- (+ s2-0 32) (-> obj left-x-offset)) + (+ (/ s4-1 2) 125) + 8325000.0 + (font-color yellow-orange) + (font-flags shadow kerning) + ) + ) + ) + (let ((v1-91 s0-1)) + (set! (-> v1-91 width) (the float 328)) + ) + (let ((v1-92 s0-1)) + (set! (-> v1-92 height) (the float 50)) + ) + (let ((v1-93 s0-1)) + (set! (-> v1-93 scale) 0.7) + ) + (set! (-> s0-1 flags) (font-flags shadow kerning middle left large)) + (set! sv-224 print-game-text-scaled) + (let ((a0-47 (lookup-text! *common-text* (-> s5-0 task-info (-> obj task-index) task-name s1-0) #f)) + (a1-57 f30-0) + (a2-15 s0-1) + (a3-2 (the int (* 128.0 f30-0))) + ) + (sv-224 a0-47 a1-57 a2-15 a3-2) + ) + (when s3-0 + (set! (-> s0-1 origin x) (the float (- (+ s2-0 32) (-> obj left-x-offset)))) + (set! (-> s0-1 origin y) (the float (+ (/ s4-1 2) 175))) + (let ((a0-49 s0-1)) + (set! (-> a0-49 color) (font-color lighter-lighter-blue)) + ) + (let ((v1-104 s0-1)) + (set! (-> v1-104 height) (the float 15)) + ) + (let ((v1-105 s0-1)) + (set! (-> v1-105 scale) 0.5) + ) + (print-game-text-scaled + (lookup-text! *common-text* (game-text-id task-completed) #f) + f30-0 + s0-1 + (the int (* 128.0 f30-0)) + ) + ) + ) + ) ) - (let ((v1-105 s0-1)) - (set! (-> v1-105 scale) 0.5) - ) - (print-game-text-scaled - (lookup-text! *common-text* (game-text-id task-completed) #f) - f30-0 - s0-1 - (the int (* 128.0 f30-0)) - ) - ) ) - ) ) - ) ) - ) 0 (none) ) @@ -227,90 +195,81 @@ (hide-progress-icons) (let* ((v1-1 (/ (-> obj transition-offset) 16)) (s4-0 (if (= (-> obj level-transition) 1) - (- (-> obj transition-offset)) - (-> obj transition-offset) - ) - ) + (- (-> obj transition-offset)) + (-> obj transition-offset) + ) + ) (f30-0 (-> obj transition-percentage-invert)) (s3-0 (- v1-1)) ) - (when (-> obj stat-transition) - (set! v1-1 (if (!= (-> obj display-state) (-> obj next-display-state)) - (- (-> obj transition-offset)) - (-> obj transition-offset) - ) - ) - (set! s3-0 v1-1) - (set! s4-0 0) - (set! f30-0 1.0) - ) - (set! - (-> obj particles 15 init-pos x) - (the float (- (+ v1-1 150) (-> obj left-x-offset))) - ) - (set! (-> obj particles 15 init-pos y) (the float (+ s4-0 214))) - (set! (-> obj icons 4 icon-x) (- (+ v1-1 148) (-> obj left-x-offset))) - (set! (-> obj icons 4 icon-y) (+ (-> obj big-orb-y-offset) s4-0)) - (let ((a0-15 (-> obj icons 4 icon 0 root))) - (set-yaw-angle-clear-roll-pitch! - a0-15 - (- (y-angle a0-15) (* 182.04445 (* 4.0 (-> *display* time-adjust-ratio)))) - ) - ) - (let - ((s4-1 - (new - 'stack - 'font-context - *font-default-matrix* - (- (+ s3-0 200) (-> obj left-x-offset)) - (+ (/ s4-0 2) 96) - 8325000.0 - (font-color default) - (font-flags shadow kerning) - ) + (when (-> obj stat-transition) + (set! v1-1 (if (!= (-> obj display-state) (-> obj next-display-state)) + (- (-> obj transition-offset)) + (-> obj transition-offset) + ) + ) + (set! s3-0 v1-1) + (set! s4-0 0) + (set! f30-0 1.0) ) - ) - (let ((v1-19 s4-1)) - (set! (-> v1-19 width) (the float 328)) - ) - (let ((v1-20 s4-1)) - (set! (-> v1-20 height) (the float 70)) - ) - (set! (-> s4-1 flags) (font-flags shadow kerning large)) - (let ((s3-1 print-game-text-scaled)) - (format - (clear *temp-string*) - "~D/~D" - (-> *game-info* money-per-level arg0) - (-> *game-counts* data arg0 money-count) + (set! (-> obj particles 15 init-pos x) (the float (- (+ v1-1 150) (-> obj left-x-offset)))) + (set! (-> obj particles 15 init-pos y) (the float (+ s4-0 214))) + (set! (-> obj icons 4 icon-x) (- (+ v1-1 148) (-> obj left-x-offset))) + (set! (-> obj icons 4 icon-y) (+ (-> obj big-orb-y-offset) s4-0)) + (let ((a0-15 (-> obj icons 4 icon 0 root))) + (set-yaw-angle-clear-roll-pitch! + a0-15 + (- (y-angle a0-15) (* 182.04445 (* 4.0 (-> *display* time-adjust-ratio)))) + ) ) - (s3-1 *temp-string* f30-0 s4-1 (the int (* 128.0 f30-0))) - ) - (let ((v1-26 s4-1)) - (set! (-> v1-26 width) (the float 428)) - ) - (set! (-> s4-1 origin x) (+ -220.0 (-> s4-1 origin x))) - (set! (-> s4-1 origin y) (+ 40.0 (-> s4-1 origin y))) - (set! (-> s4-1 flags) (font-flags shadow kerning middle large)) - (print-game-text-scaled - (lookup-text! *common-text* (game-text-id total-collected) #f) - (* 0.7 f30-0) - s4-1 - (the int (* 128.0 f30-0)) - ) - (set! (-> s4-1 origin y) (+ 15.0 (-> s4-1 origin y))) - (let ((s5-2 print-game-text-scaled)) - (format - (clear *temp-string*) - "~D/~D" - (the int (-> *game-info* money-total)) - (-> obj total-nb-of-orbs) + (let ((s4-1 + (new + 'stack + 'font-context + *font-default-matrix* + (- (+ s3-0 200) (-> obj left-x-offset)) + (+ (/ s4-0 2) 96) + 8325000.0 + (font-color default) + (font-flags shadow kerning) + ) + ) + ) + (let ((v1-19 s4-1)) + (set! (-> v1-19 width) (the float 328)) + ) + (let ((v1-20 s4-1)) + (set! (-> v1-20 height) (the float 70)) + ) + (set! (-> s4-1 flags) (font-flags shadow kerning large)) + (let ((s3-1 print-game-text-scaled)) + (format + (clear *temp-string*) + "~D/~D" + (-> *game-info* money-per-level arg0) + (-> *game-counts* data arg0 money-count) + ) + (s3-1 *temp-string* f30-0 s4-1 (the int (* 128.0 f30-0))) + ) + (let ((v1-26 s4-1)) + (set! (-> v1-26 width) (the float 428)) + ) + (set! (-> s4-1 origin x) (+ -220.0 (-> s4-1 origin x))) + (set! (-> s4-1 origin y) (+ 40.0 (-> s4-1 origin y))) + (set! (-> s4-1 flags) (font-flags shadow kerning middle large)) + (print-game-text-scaled + (lookup-text! *common-text* (game-text-id total-collected) #f) + (* 0.7 f30-0) + s4-1 + (the int (* 128.0 f30-0)) + ) + (set! (-> s4-1 origin y) (+ 15.0 (-> s4-1 origin y))) + (let ((s5-2 print-game-text-scaled)) + (format (clear *temp-string*) "~D/~D" (the int (-> *game-info* money-total)) (-> obj total-nb-of-orbs)) + (s5-2 *temp-string* f30-0 s4-1 (the int (* 128.0 f30-0))) + ) ) - (s5-2 *temp-string* f30-0 s4-1 (the int (* 128.0 f30-0))) - ) ) - ) 0 (none) ) @@ -322,162 +281,145 @@ (let* ((v1-2 (-> *level-task-data* arg0)) (a0-3 (/ (-> obj transition-offset) 16)) (s4-0 (if (= (-> obj level-transition) 1) - (- (-> obj transition-offset)) - (-> obj transition-offset) - ) - ) + (- (-> obj transition-offset)) + (-> obj transition-offset) + ) + ) (f30-0 (-> obj transition-percentage-invert)) (s3-0 (- a0-3)) ) - (when (-> obj stat-transition) - (set! a0-3 (if (!= (-> obj display-state) (-> obj next-display-state)) - (- (-> obj transition-offset)) - (-> obj transition-offset) - ) - ) - (set! s3-0 a0-3) - (set! s4-0 0) - (set! f30-0 1.0) - ) - (set! - (-> obj particles 14 init-pos x) - (the float (- (+ a0-3 150) (-> obj left-x-offset))) - ) - (set! (-> obj particles 14 init-pos y) (the float (+ s4-0 214))) - (let ((s2-0 0)) - (let ((a1-8 (-> v1-2 buzzer-task-index))) - (if (!= a1-8 -1) - (set! s2-0 (buzzer-count *game-info* (-> v1-2 task-info a1-8 task-id))) + (when (-> obj stat-transition) + (set! a0-3 (if (!= (-> obj display-state) (-> obj next-display-state)) + (- (-> obj transition-offset)) + (-> obj transition-offset) + ) + ) + (set! s3-0 a0-3) + (set! s4-0 0) + (set! f30-0 1.0) ) - ) - (let - ((s4-1 - (new - 'stack - 'font-context - *font-default-matrix* - (- (+ s3-0 200) (-> obj left-x-offset)) - (+ (/ s4-0 2) 96) - 8325000.0 - (font-color default) - (font-flags shadow kerning) + (set! (-> obj particles 14 init-pos x) (the float (- (+ a0-3 150) (-> obj left-x-offset)))) + (set! (-> obj particles 14 init-pos y) (the float (+ s4-0 214))) + (let ((s2-0 0)) + (let ((a1-8 (-> v1-2 buzzer-task-index))) + (if (!= a1-8 -1) + (set! s2-0 (buzzer-count *game-info* (-> v1-2 task-info a1-8 task-id))) + ) + ) + (let ((s4-1 + (new + 'stack + 'font-context + *font-default-matrix* + (- (+ s3-0 200) (-> obj left-x-offset)) + (+ (/ s4-0 2) 96) + 8325000.0 + (font-color default) + (font-flags shadow kerning) + ) + ) + ) + (let ((v1-9 s4-1)) + (set! (-> v1-9 width) (the float 328)) + ) + (let ((v1-10 s4-1)) + (set! (-> v1-10 height) (the float 70)) + ) + (set! (-> s4-1 flags) (font-flags shadow kerning large)) + (let ((s3-1 print-game-text-scaled)) + (format (clear *temp-string*) "~D/~D" s2-0 (-> *game-counts* data arg0 buzzer-count)) + (s3-1 *temp-string* f30-0 s4-1 (the int (* 128.0 f30-0))) + ) + (let ((v1-14 s4-1)) + (set! (-> v1-14 width) (the float 428)) + ) + (set! (-> s4-1 origin x) (+ -220.0 (-> s4-1 origin x))) + (set! (-> s4-1 origin y) (+ 40.0 (-> s4-1 origin y))) + (set! (-> s4-1 flags) (font-flags shadow kerning middle large)) + (print-game-text-scaled + (lookup-text! *common-text* (game-text-id total-collected) #f) + (* 0.7 f30-0) + s4-1 + (the int (* 128.0 f30-0)) + ) + (set! (-> s4-1 origin y) (+ 15.0 (-> s4-1 origin y))) + (let ((s5-2 print-game-text-scaled)) + (format (clear *temp-string*) "~D/~D" (the int (-> *game-info* buzzer-total)) (-> obj total-nb-of-buzzers)) + (s5-2 *temp-string* f30-0 s4-1 (the int (* 128.0 f30-0))) + ) ) - ) ) - (let ((v1-9 s4-1)) - (set! (-> v1-9 width) (the float 328)) - ) - (let ((v1-10 s4-1)) - (set! (-> v1-10 height) (the float 70)) - ) - (set! (-> s4-1 flags) (font-flags shadow kerning large)) - (let ((s3-1 print-game-text-scaled)) - (format - (clear *temp-string*) - "~D/~D" - s2-0 - (-> *game-counts* data arg0 buzzer-count) - ) - (s3-1 *temp-string* f30-0 s4-1 (the int (* 128.0 f30-0))) - ) - (let ((v1-14 s4-1)) - (set! (-> v1-14 width) (the float 428)) - ) - (set! (-> s4-1 origin x) (+ -220.0 (-> s4-1 origin x))) - (set! (-> s4-1 origin y) (+ 40.0 (-> s4-1 origin y))) - (set! (-> s4-1 flags) (font-flags shadow kerning middle large)) - (print-game-text-scaled - (lookup-text! *common-text* (game-text-id total-collected) #f) - (* 0.7 f30-0) - s4-1 - (the int (* 128.0 f30-0)) - ) - (set! (-> s4-1 origin y) (+ 15.0 (-> s4-1 origin y))) - (let ((s5-2 print-game-text-scaled)) - (format - (clear *temp-string*) - "~D/~D" - (the int (-> *game-info* buzzer-total)) - (-> obj total-nb-of-buzzers) - ) - (s5-2 *temp-string* f30-0 s4-1 (the int (* 128.0 f30-0))) - ) - ) ) - ) 0 (none) ) ;; definition for method 35 of type progress ;; INFO: Return type mismatch int vs none. -(defmethod - draw-memcard-storage-error - progress - ((obj progress) (arg0 font-context)) +(defmethod draw-memcard-storage-error progress ((obj progress) (arg0 font-context)) (let ((v1-0 arg0)) - (set! (-> v1-0 scale) 0.55) - ) + (set! (-> v1-0 scale) 0.55) + ) (let ((v1-1 arg0)) - (set! (-> v1-1 width) (the float 265)) - ) + (set! (-> v1-1 width) (the float 265)) + ) (let ((v1-2 arg0)) - (set! (-> v1-2 height) (the float 55)) - ) + (set! (-> v1-2 height) (the float 55)) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (let ((s4-0 (game-text-id card-not-formatted-title))) - (case (-> obj display-state) - (((progress-screen memcard-no-space)) - (set! s4-0 (game-text-id memcard-no-space)) + (case (-> obj display-state) + (((progress-screen memcard-no-space)) + (set! s4-0 (game-text-id memcard-no-space)) + ) + (((progress-screen memcard-not-inserted)) + (set! s4-0 (game-text-id memcard-not-inserted)) + ) + ) + (let ((s3-0 print-game-text-scaled)) + (format (clear *temp-string*) (lookup-text! *common-text* s4-0 #f) 1) + (s3-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) ) - (((progress-screen memcard-not-inserted)) - (set! s4-0 (game-text-id memcard-not-inserted)) - ) ) - (let ((s3-0 print-game-text-scaled)) - (format (clear *temp-string*) (lookup-text! *common-text* s4-0 #f) 1) - (s3-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) - ) - ) (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 70.0) (let ((v1-12 arg0)) - (set! (-> v1-12 width) (the float 350)) - ) - (let ((v1-13 arg0)) - (set! (-> v1-13 height) (the float 40)) - ) - (let ((s4-1 print-game-text-scaled)) - (format - (clear *temp-string*) - (lookup-text! *common-text* (game-text-id memcard-space-requirement1) #f) - (if (-> obj card-info) - (-> obj card-info mem-required) - 0 - ) + (set! (-> v1-12 width) (the float 350)) + ) + (let ((v1-13 arg0)) + (set! (-> v1-13 height) (the float 40)) + ) + (let ((s4-1 print-game-text-scaled)) + (format + (clear *temp-string*) + (lookup-text! *common-text* (game-text-id memcard-space-requirement1) #f) + (if (-> obj card-info) + (-> obj card-info mem-required) + 0 + ) + ) + (s4-1 *temp-string* (-> obj transition-percentage-invert) arg0 128) ) - (s4-1 *temp-string* (-> obj transition-percentage-invert) arg0 128) - ) (set! (-> arg0 origin y) 115.0) (let ((v1-17 arg0)) - (set! (-> v1-17 height) (the float 60)) - ) + (set! (-> v1-17 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id memcard-space-requirement2) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id memcard-space-requirement2) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (let ((v1-19 arg0)) - (set! (-> v1-19 scale) 0.65) - ) + (set! (-> v1-19 scale) 0.65) + ) (set! (-> arg0 origin y) 160.0) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id continue?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id continue?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -487,50 +429,46 @@ (defmethod draw-memcard-format progress ((obj progress) (arg0 font-context)) (set! (-> arg0 origin y) 35.0) (let ((v1-0 arg0)) - (set! (-> v1-0 scale) 0.55) - ) + (set! (-> v1-0 scale) 0.55) + ) (let ((v1-1 arg0)) - (set! (-> v1-1 width) (the float 265)) - ) + (set! (-> v1-1 width) (the float 265)) + ) (let ((v1-2 arg0)) - (set! (-> v1-2 height) (the float 55)) - ) + (set! (-> v1-2 height) (the float 55)) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (let ((s4-0 print-game-text-scaled)) - (format - (clear *temp-string*) - (lookup-text! *common-text* (game-text-id card-not-formatted-title) #f) - 1 + (format (clear *temp-string*) (lookup-text! *common-text* (game-text-id card-not-formatted-title) #f) 1) + (s4-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) ) - (s4-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) - ) (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 105.0) (let ((v1-7 arg0)) - (set! (-> v1-7 width) (the float 360)) - ) + (set! (-> v1-7 width) (the float 360)) + ) (let ((v1-8 arg0)) - (set! (-> v1-8 height) (the float 40)) - ) + (set! (-> v1-8 height) (the float 40)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id card-not-formatted-msg) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id card-not-formatted-msg) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (let ((v1-10 arg0)) - (set! (-> v1-10 scale) 0.65) - ) + (set! (-> v1-10 scale) 0.65) + ) (set! (-> arg0 origin y) 138.0) (let ((v1-11 arg0)) - (set! (-> v1-11 height) (the float 60)) - ) + (set! (-> v1-11 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id format?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id format?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -539,36 +477,36 @@ ;; INFO: Return type mismatch int vs none. (defmethod draw-memcard-data-exists progress ((obj progress) (arg0 font-context)) (let ((v1-0 arg0)) - (set! (-> v1-0 scale) 0.65) - ) + (set! (-> v1-0 scale) 0.65) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 55.0) (let ((v1-4 arg0)) - (set! (-> v1-4 width) (the float 365)) - ) + (set! (-> v1-4 width) (the float 365)) + ) (let ((v1-5 arg0)) - (set! (-> v1-5 height) (the float 75)) - ) + (set! (-> v1-5 height) (the float 75)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id save-data-already-exists) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id save-data-already-exists) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (set! (-> arg0 origin y) 140.0) (let ((v1-7 arg0)) - (set! (-> v1-7 width) (the float 360)) - ) + (set! (-> v1-7 width) (the float 360)) + ) (let ((v1-8 arg0)) - (set! (-> v1-8 height) (the float 40)) - ) + (set! (-> v1-8 height) (the float 40)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id overwrite?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id overwrite?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -577,38 +515,34 @@ ;; INFO: Return type mismatch int vs none. (defmethod draw-memcard-no-data progress ((obj progress) (arg0 font-context)) (let ((v1-0 arg0)) - (set! (-> v1-0 scale) 0.65) - ) + (set! (-> v1-0 scale) 0.65) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 40.0) (let ((v1-4 arg0)) - (set! (-> v1-4 width) (the float 365)) - ) - (let ((v1-5 arg0)) - (set! (-> v1-5 height) (the float 75)) - ) - (let ((s4-0 print-game-text-scaled)) - (format - (clear *temp-string*) - (lookup-text! *common-text* (game-text-id no-save-data) #f) - 1 + (set! (-> v1-4 width) (the float 365)) + ) + (let ((v1-5 arg0)) + (set! (-> v1-5 height) (the float 75)) + ) + (let ((s4-0 print-game-text-scaled)) + (format (clear *temp-string*) (lookup-text! *common-text* (game-text-id no-save-data) #f) 1) + (s4-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) ) - (s4-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) - ) (set! (-> arg0 origin y) 130.0) (let ((v1-7 arg0)) - (set! (-> v1-7 width) (the float 360)) - ) + (set! (-> v1-7 width) (the float 360)) + ) (let ((v1-8 arg0)) - (set! (-> v1-8 height) (the float 40)) - ) + (set! (-> v1-8 height) (the float 40)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id create-save-data?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id create-save-data?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -617,62 +551,49 @@ ;; INFO: Return type mismatch int vs none. (defmethod draw-memcard-accessing progress ((obj progress) (arg0 font-context)) (let ((v1-0 arg0)) - (set! (-> v1-0 scale) 1.0) - ) + (set! (-> v1-0 scale) 1.0) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 35.0) (let ((v1-4 arg0)) - (set! (-> v1-4 width) (the float 365)) - ) + (set! (-> v1-4 width) (the float 365)) + ) (let ((v1-5 arg0)) - (set! (-> v1-5 height) (the float 75)) - ) - (when - (or - (< (mod (-> *display* real-frame-counter) 300) 150) - (!= (-> obj transition-percentage-invert) 1.0) + (set! (-> v1-5 height) (the float 75)) ) - (let ((a1-1 (game-text-id loading-data))) - (case (-> obj display-state) - (((progress-screen memcard-saving)) - (set! a1-1 (game-text-id saving-data)) - ) - (((progress-screen memcard-formatting)) - (set! a1-1 (game-text-id formatting)) + (when (or (< (mod (-> *display* real-frame-counter) 300) 150) (!= (-> obj transition-percentage-invert) 1.0)) + (let ((a1-1 (game-text-id loading-data))) + (case (-> obj display-state) + (((progress-screen memcard-saving)) + (set! a1-1 (game-text-id saving-data)) + ) + (((progress-screen memcard-formatting)) + (set! a1-1 (game-text-id formatting)) + ) + (((progress-screen memcard-creating)) + (set! a1-1 (game-text-id creating-save-data)) + ) + ) + (print-game-text-scaled (lookup-text! *common-text* a1-1 #f) (-> obj transition-percentage-invert) arg0 128) ) - (((progress-screen memcard-creating)) - (set! a1-1 (game-text-id creating-save-data)) - ) - ) - (print-game-text-scaled - (lookup-text! *common-text* a1-1 #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) ) - ) (let ((v1-18 arg0)) - (set! (-> v1-18 scale) 0.65) - ) + (set! (-> v1-18 scale) 0.65) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (set! (-> arg0 origin x) (the float (- 15 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 100.0) (let ((v1-22 arg0)) - (set! (-> v1-22 width) (the float 370)) - ) - (let ((v1-23 arg0)) - (set! (-> v1-23 height) (the float 75)) - ) - (let ((s4-1 print-game-text-scaled)) - (format - (clear *temp-string*) - (lookup-text! *common-text* (game-text-id do-not-remove-mem-card) #f) - 1 + (set! (-> v1-22 width) (the float 370)) + ) + (let ((v1-23 arg0)) + (set! (-> v1-23 height) (the float 75)) + ) + (let ((s4-1 print-game-text-scaled)) + (format (clear *temp-string*) (lookup-text! *common-text* (game-text-id do-not-remove-mem-card) #f) 1) + (s4-1 *temp-string* (-> obj transition-percentage-invert) arg0 128) ) - (s4-1 *temp-string* (-> obj transition-percentage-invert) arg0 128) - ) 0 (none) ) @@ -681,38 +602,34 @@ ;; INFO: Return type mismatch int vs none. (defmethod draw-memcard-insert progress ((obj progress) (arg0 font-context)) (let ((v1-0 arg0)) - (set! (-> v1-0 scale) 0.65) - ) + (set! (-> v1-0 scale) 0.65) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (set! (-> arg0 origin x) (the float (- 50 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 35.0) (let ((v1-4 arg0)) - (set! (-> v1-4 width) (the float 310)) - ) - (let ((v1-5 arg0)) - (set! (-> v1-5 height) (the float 110)) - ) - (let ((s4-0 print-game-text-scaled)) - (format - (clear *temp-string*) - (lookup-text! *common-text* (game-text-id insert-memcard) #f) - 1 + (set! (-> v1-4 width) (the float 310)) + ) + (let ((v1-5 arg0)) + (set! (-> v1-5 height) (the float 110)) + ) + (let ((s4-0 print-game-text-scaled)) + (format (clear *temp-string*) (lookup-text! *common-text* (game-text-id insert-memcard) #f) 1) + (s4-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) ) - (s4-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) - ) (let ((v1-7 arg0)) - (set! (-> v1-7 scale) 0.65) - ) + (set! (-> v1-7 scale) 0.65) + ) (set! (-> arg0 origin y) 130.0) (let ((v1-8 arg0)) - (set! (-> v1-8 height) (the float 60)) - ) + (set! (-> v1-8 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id back?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id back?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -722,419 +639,363 @@ ;; Used lq/sq (defmethod draw-memcard-file-select progress ((obj progress) (arg0 font-context)) (local-vars - (sv-16 (function _varargs_ object)) - (sv-32 (function _varargs_ object)) - (sv-48 (function _varargs_ object)) - (sv-64 (function _varargs_ object)) - (sv-80 (function _varargs_ object)) - (sv-96 (function _varargs_ object)) - (sv-112 (function _varargs_ object)) - (sv-128 (function _varargs_ object)) - (sv-144 (function _varargs_ object)) - ) + (sv-16 (function _varargs_ object)) + (sv-32 (function _varargs_ object)) + (sv-48 (function _varargs_ object)) + (sv-64 (function _varargs_ object)) + (sv-80 (function _varargs_ object)) + (sv-96 (function _varargs_ object)) + (sv-112 (function _varargs_ object)) + (sv-128 (function _varargs_ object)) + (sv-144 (function _varargs_ object)) + ) (let ((s4-0 (* (+ (-> obj transition-offset) -256) 2))) - (if (< s4-0 0) - (set! s4-0 0) + (if (< s4-0 0) + (set! s4-0 0) + ) + (if (< 500 s4-0) + (set! s4-0 700) + ) + (set! (-> obj particles 19 init-pos x) (the float (- (- 202 (adjust-pos s4-0 150)) (-> obj left-x-offset)))) + (set! (-> obj particles 20 init-pos x) (the float (- (+ (adjust-pos s4-0 100) 202) (-> obj left-x-offset)))) + (set! (-> obj particles 21 init-pos x) (the float (- (- 202 (adjust-pos s4-0 50)) (-> obj left-x-offset)))) + (set! (-> obj particles 22 init-pos x) (the float (- (+ s4-0 202) (-> obj left-x-offset)))) ) - (if (< 500 s4-0) - (set! s4-0 700) - ) - (set! - (-> obj particles 19 init-pos x) - (the float (- (- 202 (adjust-pos s4-0 150)) (-> obj left-x-offset))) - ) - (set! - (-> obj particles 20 init-pos x) - (the float (- (+ (adjust-pos s4-0 100) 202) (-> obj left-x-offset))) - ) - (set! - (-> obj particles 21 init-pos x) - (the float (- (- 202 (adjust-pos s4-0 50)) (-> obj left-x-offset))) - ) - (set! - (-> obj particles 22 init-pos x) - (the float (- (+ s4-0 202) (-> obj left-x-offset))) - ) - ) (cond - ((= (-> *setting-control* current video-mode) 'pal) - (set! (-> obj particles 21 init-pos y) 256.0) - (set! (-> obj particles 22 init-pos y) 338.0) + ((= (-> *setting-control* current video-mode) 'pal) + (set! (-> obj particles 21 init-pos y) 256.0) + (set! (-> obj particles 22 init-pos y) 338.0) + ) + (else + (set! (-> obj particles 21 init-pos y) 255.0) + (set! (-> obj particles 22 init-pos y) 336.0) + ) ) - (else - (set! (-> obj particles 21 init-pos y) 255.0) - (set! (-> obj particles 22 init-pos y) 336.0) - ) - ) (let ((f0-13 (* 2.0 (+ -0.5 (-> obj transition-percentage-invert))))) - 128 - (if (< f0-13 0.0) - (set! f0-13 0.0) - ) - (let ((s4-1 (the int (* 128.0 f0-13)))) - (let ((v1-29 arg0)) - (set! (-> v1-29 scale) 0.5) - ) - (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) - (set! (-> arg0 origin x) (the float (- 102 (-> obj left-x-offset)))) - (set! (-> arg0 origin y) 5.0) - (let ((v1-33 arg0)) - (set! (-> v1-33 width) (the float 200)) - ) - (let ((v1-34 arg0)) - (set! (-> v1-34 height) (the float 20)) - ) - (print-game-text - (lookup-text! - *common-text* - (the-as - game-text-id - (if (= (-> obj display-state) (progress-screen load-game)) - 321 - 320 + 128 + (if (< f0-13 0.0) + (set! f0-13 0.0) + ) + (let ((s4-1 (the int (* 128.0 f0-13)))) + (let ((v1-29 arg0)) + (set! (-> v1-29 scale) 0.5) ) - ) - #f - ) - arg0 - #f - s4-1 - 22 - ) - (set! (-> arg0 origin y) 26.0) - (let ((v1-37 arg0)) - (set! (-> v1-37 height) (the float 20)) - ) - (let ((s3-3 (-> obj card-info)) - (s2-0 23) - ) - (dotimes (s1-0 4) - (set! (-> arg0 origin x) (the float (- 41 (-> obj left-x-offset)))) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) - (let ((a0-17 arg0)) - (set! (-> a0-17 color) (font-color default)) - ) - (let ((v1-42 arg0)) - (set! (-> v1-42 width) (the float 320)) - ) - (cond - ((and - s3-3 - (= (-> s3-3 formatted) 1) - (= (-> s3-3 inited) 1) - (= (-> s3-3 file s1-0 present) 1) - ) - (set! - (-> obj particles s2-0 init-pos x) - (the float (- 66 (-> obj left-x-offset))) - ) - (let ((v1-57 arg0)) - (set! (-> v1-57 scale) 0.6) - ) - (if - (and - (< (-> s3-3 file s1-0 level-index) (length *level-task-data-remap*)) - (> (-> s3-3 file s1-0 level-index) 0) - ) - (print-game-text - (lookup-text! - *common-text* - (-> - *level-task-data* - (-> *level-task-data-remap* (+ (-> s3-3 file s1-0 level-index) -1)) - level-name-id - ) - #f - ) - arg0 - #f - s4-1 - 22 - ) - (print-game-text "OLD SAVE GAME" arg0 #f s4-1 22) - ) - (let ((a0-28 arg0)) - (set! (-> a0-28 color) (font-color blue-white)) - ) - (cond - ((or - (>= - 600 - (- - (-> *display* real-frame-counter) - (-> obj last-option-index-change) - ) - ) - (or - (< - (mod - (- - (-> *display* real-frame-counter) - (-> obj last-option-index-change) - ) - 1200 - ) - 600 - ) - (!= (-> obj option-index) s1-0) - (-> obj in-transition) - ) - ) - (let ((v1-87 arg0)) - (set! (-> v1-87 scale) 0.5) - ) - (set! (-> arg0 origin y) (+ 16.0 (-> arg0 origin y))) - (set! (-> arg0 flags) (font-flags shadow kerning middle large)) - (set! (-> arg0 origin x) (the float (- -73 (-> obj left-x-offset)))) - (let ((v1-91 arg0)) - (set! (-> v1-91 width) (the float 350)) - ) - (let ((s0-2 print-game-text)) - (set! sv-16 format) - (let ((a0-40 (clear *temp-string*)) - (a1-13 "~D") - (a2-5 (the int (-> s3-3 file s1-0 fuel-cell-count))) - ) - (sv-16 a0-40 a1-13 a2-5) - ) - (s0-2 *temp-string* arg0 #f s4-1 22) - ) - (set! (-> arg0 origin x) (the float (- 1 (-> obj left-x-offset)))) - (let ((s0-3 print-game-text)) - (set! sv-32 format) - (let ((a0-44 (clear *temp-string*)) - (a1-15 "~D") - (a2-7 (the int (-> s3-3 file s1-0 money-count))) - ) - (sv-32 a0-44 a1-15 a2-7) - ) - (s0-3 *temp-string* arg0 #f s4-1 22) - ) - (set! (-> arg0 origin x) (the float (- 79 (-> obj left-x-offset)))) - (let ((s0-4 print-game-text)) - (set! sv-48 format) - (let ((a0-48 (clear *temp-string*)) - (a1-17 "~D") - (a2-9 (the int (-> s3-3 file s1-0 buzzer-count))) - ) - (sv-48 a0-48 a1-17 a2-9) - ) - (s0-4 *temp-string* arg0 #f s4-1 22) - ) - (set! (-> arg0 origin y) (+ 1.0 (-> arg0 origin y))) - (let ((v1-108 arg0)) - (set! (-> v1-108 scale) 1.0) - ) - (set! (-> arg0 flags) (font-flags shadow kerning right large)) - (set! (-> arg0 origin x) (the float (- 352 (-> obj left-x-offset)))) - (let ((s0-5 print-game-text)) - (set! sv-64 format) - (let ((a0-52 (clear *temp-string*)) - (a1-19 "~D%") - (a2-11 (the int (-> s3-3 file s1-0 completion-percentage))) - ) - (sv-64 a0-52 a1-19 a2-11) - ) - (s0-5 *temp-string* arg0 #f s4-1 22) - ) - (let ((v1-116 arg0)) - (set! (-> v1-116 scale) 0.5) - ) - (set! (-> arg0 origin y) (+ 9.0 (-> arg0 origin y))) - (set! (-> arg0 flags) (font-flags shadow kerning large)) - (set! (-> arg0 origin x) (the float (- 85 (-> obj left-x-offset)))) - (let ((s0-6 print-game-text)) - (set! sv-80 format) - (let ((a0-56 (clear *temp-string*)) - (a1-21 "/~D") - (a2-17 - (if (< 100 (the int (-> s3-3 file s1-0 fuel-cell-count))) - (-> obj total-nb-of-power-cells) - 100 - ) + (set! (-> arg0 origin x) (the float (- 102 (-> obj left-x-offset)))) + (set! (-> arg0 origin y) 5.0) + (let ((v1-33 arg0)) + (set! (-> v1-33 width) (the float 200)) + ) + (let ((v1-34 arg0)) + (set! (-> v1-34 height) (the float 20)) + ) + (print-game-text + (lookup-text! + *common-text* + (the-as game-text-id (if (= (-> obj display-state) (progress-screen load-game)) + 321 + 320 + ) ) - ) - (sv-80 a0-56 a1-21 a2-17) - ) - (s0-6 *temp-string* arg0 #f s4-1 22) - ) - (set! (-> arg0 origin x) (the float (- 150 (-> obj left-x-offset)))) - (let ((s0-7 print-game-text)) - (set! sv-96 format) - (let ((a0-60 (clear *temp-string*)) - (a1-23 "/~D") - (a2-19 (-> obj total-nb-of-orbs)) - ) - (sv-96 a0-60 a1-23 a2-19) - ) - (s0-7 *temp-string* arg0 #f s4-1 22) - ) - (set! (-> arg0 origin x) (the float (- 238 (-> obj left-x-offset)))) - (let ((s0-8 print-game-text)) - (set! sv-112 format) - (let ((a0-64 (clear *temp-string*)) - (a1-25 "/~D") - (a2-21 (-> obj total-nb-of-buzzers)) - ) - (sv-112 a0-64 a1-25 a2-21) - ) - (s0-8 *temp-string* arg0 #f s4-1 22) - ) - (set! (-> arg0 origin y) (+ 15.0 (-> arg0 origin y))) + #f ) - (else - (set! (-> arg0 origin y) (+ 18.0 (-> arg0 origin y))) - (set! (-> arg0 origin x) (the float (- 28 (-> obj left-x-offset)))) - (let ((v1-131 arg0)) - (set! (-> v1-131 scale) 0.8) - ) - (set! (-> arg0 flags) (font-flags shadow kerning middle large)) - (let ((v1-133 arg0)) - (set! (-> v1-133 width) (the float 350)) - ) + arg0 + #f + s4-1 + 22 + ) + (set! (-> arg0 origin y) 26.0) + (let ((v1-37 arg0)) + (set! (-> v1-37 height) (the float 20)) + ) + (let ((s3-3 (-> obj card-info)) + (s2-0 23) + ) + (dotimes (s1-0 4) + (set! (-> arg0 origin x) (the float (- 41 (-> obj left-x-offset)))) + (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) + (let ((a0-17 arg0)) + (set! (-> a0-17 color) (font-color default)) + ) + (let ((v1-42 arg0)) + (set! (-> v1-42 width) (the float 320)) + ) (cond - ((= (scf-get-territory) 1) - (let ((s0-10 print-game-text)) - (set! sv-128 format) - (let ((a0-69 (clear *temp-string*)) - (a1-27 "~X/~X/20~2X ~2X:~2X") - (a2-23 (-> s3-3 file s1-0 day)) - (a3-10 (-> s3-3 file s1-0 month)) - (t0-10 (-> s3-3 file s1-0 year)) - (t1-0 (-> s3-3 file s1-0 hour)) - (t2-0 (-> s3-3 file s1-0 minute)) + ((and s3-3 (= (-> s3-3 formatted) 1) (= (-> s3-3 inited) 1) (= (-> s3-3 file s1-0 present) 1)) + (set! (-> obj particles s2-0 init-pos x) (the float (- 66 (-> obj left-x-offset)))) + (let ((v1-57 arg0)) + (set! (-> v1-57 scale) 0.6) + ) + (if (and + (< (-> s3-3 file s1-0 level-index) (length *level-task-data-remap*)) + (> (-> s3-3 file s1-0 level-index) 0) + ) + (print-game-text + (lookup-text! + *common-text* + (-> *level-task-data* (-> *level-task-data-remap* (+ (-> s3-3 file s1-0 level-index) -1)) level-name-id) + #f + ) + arg0 + #f + s4-1 + 22 ) - (sv-128 a0-69 a1-27 a2-23 a3-10 t0-10 t1-0 t2-0) - ) - (s0-10 *temp-string* arg0 #f s4-1 22) - ) - ) - (else - (let ((s0-11 print-game-text)) - (set! sv-144 format) - (let ((a0-72 (clear *temp-string*)) - (a1-29 "~X/~X/20~2X ~2X:~2X") - (a2-25 (-> s3-3 file s1-0 month)) - (a3-12 (-> s3-3 file s1-0 day)) - (t0-12 (-> s3-3 file s1-0 year)) - (t1-1 (-> s3-3 file s1-0 hour)) - (t2-1 (-> s3-3 file s1-0 minute)) + (print-game-text "OLD SAVE GAME" arg0 #f s4-1 22) + ) + (let ((a0-28 arg0)) + (set! (-> a0-28 color) (font-color blue-white)) + ) + (cond + ((or + (>= 600 (- (-> *display* real-frame-counter) (-> obj last-option-index-change))) + (or + (< (mod (- (-> *display* real-frame-counter) (-> obj last-option-index-change)) 1200) 600) + (!= (-> obj option-index) s1-0) + (-> obj in-transition) + ) + ) + (let ((v1-87 arg0)) + (set! (-> v1-87 scale) 0.5) + ) + (set! (-> arg0 origin y) (+ 16.0 (-> arg0 origin y))) + (set! (-> arg0 flags) (font-flags shadow kerning middle large)) + (set! (-> arg0 origin x) (the float (- -73 (-> obj left-x-offset)))) + (let ((v1-91 arg0)) + (set! (-> v1-91 width) (the float 350)) + ) + (let ((s0-2 print-game-text)) + (set! sv-16 format) + (let ((a0-40 (clear *temp-string*)) + (a1-13 "~D") + (a2-5 (the int (-> s3-3 file s1-0 fuel-cell-count))) + ) + (sv-16 a0-40 a1-13 a2-5) + ) + (s0-2 *temp-string* arg0 #f s4-1 22) + ) + (set! (-> arg0 origin x) (the float (- 1 (-> obj left-x-offset)))) + (let ((s0-3 print-game-text)) + (set! sv-32 format) + (let ((a0-44 (clear *temp-string*)) + (a1-15 "~D") + (a2-7 (the int (-> s3-3 file s1-0 money-count))) + ) + (sv-32 a0-44 a1-15 a2-7) + ) + (s0-3 *temp-string* arg0 #f s4-1 22) + ) + (set! (-> arg0 origin x) (the float (- 79 (-> obj left-x-offset)))) + (let ((s0-4 print-game-text)) + (set! sv-48 format) + (let ((a0-48 (clear *temp-string*)) + (a1-17 "~D") + (a2-9 (the int (-> s3-3 file s1-0 buzzer-count))) + ) + (sv-48 a0-48 a1-17 a2-9) + ) + (s0-4 *temp-string* arg0 #f s4-1 22) + ) + (set! (-> arg0 origin y) (+ 1.0 (-> arg0 origin y))) + (let ((v1-108 arg0)) + (set! (-> v1-108 scale) 1.0) + ) + (set! (-> arg0 flags) (font-flags shadow kerning right large)) + (set! (-> arg0 origin x) (the float (- 352 (-> obj left-x-offset)))) + (let ((s0-5 print-game-text)) + (set! sv-64 format) + (let ((a0-52 (clear *temp-string*)) + (a1-19 "~D%") + (a2-11 (the int (-> s3-3 file s1-0 completion-percentage))) + ) + (sv-64 a0-52 a1-19 a2-11) + ) + (s0-5 *temp-string* arg0 #f s4-1 22) + ) + (let ((v1-116 arg0)) + (set! (-> v1-116 scale) 0.5) + ) + (set! (-> arg0 origin y) (+ 9.0 (-> arg0 origin y))) + (set! (-> arg0 flags) (font-flags shadow kerning large)) + (set! (-> arg0 origin x) (the float (- 85 (-> obj left-x-offset)))) + (let ((s0-6 print-game-text)) + (set! sv-80 format) + (let ((a0-56 (clear *temp-string*)) + (a1-21 "/~D") + (a2-17 (if (< 100 (the int (-> s3-3 file s1-0 fuel-cell-count))) + (-> obj total-nb-of-power-cells) + 100 + ) + ) + ) + (sv-80 a0-56 a1-21 a2-17) + ) + (s0-6 *temp-string* arg0 #f s4-1 22) + ) + (set! (-> arg0 origin x) (the float (- 150 (-> obj left-x-offset)))) + (let ((s0-7 print-game-text)) + (set! sv-96 format) + (let ((a0-60 (clear *temp-string*)) + (a1-23 "/~D") + (a2-19 (-> obj total-nb-of-orbs)) + ) + (sv-96 a0-60 a1-23 a2-19) + ) + (s0-7 *temp-string* arg0 #f s4-1 22) + ) + (set! (-> arg0 origin x) (the float (- 238 (-> obj left-x-offset)))) + (let ((s0-8 print-game-text)) + (set! sv-112 format) + (let ((a0-64 (clear *temp-string*)) + (a1-25 "/~D") + (a2-21 (-> obj total-nb-of-buzzers)) + ) + (sv-112 a0-64 a1-25 a2-21) + ) + (s0-8 *temp-string* arg0 #f s4-1 22) + ) + (set! (-> arg0 origin y) (+ 15.0 (-> arg0 origin y))) + ) + (else + (set! (-> arg0 origin y) (+ 18.0 (-> arg0 origin y))) + (set! (-> arg0 origin x) (the float (- 28 (-> obj left-x-offset)))) + (let ((v1-131 arg0)) + (set! (-> v1-131 scale) 0.8) ) - (sv-144 a0-72 a1-29 a2-25 a3-12 t0-12 t1-1 t2-1) - ) - (s0-11 *temp-string* arg0 #f s4-1 22) + (set! (-> arg0 flags) (font-flags shadow kerning middle large)) + (let ((v1-133 arg0)) + (set! (-> v1-133 width) (the float 350)) + ) + (cond + ((= (scf-get-territory) 1) + (let ((s0-10 print-game-text)) + (set! sv-128 format) + (let ((a0-69 (clear *temp-string*)) + (a1-27 "~X/~X/20~2X ~2X:~2X") + (a2-23 (-> s3-3 file s1-0 day)) + (a3-10 (-> s3-3 file s1-0 month)) + (t0-10 (-> s3-3 file s1-0 year)) + (t1-0 (-> s3-3 file s1-0 hour)) + (t2-0 (-> s3-3 file s1-0 minute)) + ) + (sv-128 a0-69 a1-27 a2-23 a3-10 t0-10 t1-0 t2-0) + ) + (s0-10 *temp-string* arg0 #f s4-1 22) + ) + ) + (else + (let ((s0-11 print-game-text)) + (set! sv-144 format) + (let ((a0-72 (clear *temp-string*)) + (a1-29 "~X/~X/20~2X ~2X:~2X") + (a2-25 (-> s3-3 file s1-0 month)) + (a3-12 (-> s3-3 file s1-0 day)) + (t0-12 (-> s3-3 file s1-0 year)) + (t1-1 (-> s3-3 file s1-0 hour)) + (t2-1 (-> s3-3 file s1-0 minute)) + ) + (sv-144 a0-72 a1-29 a2-25 a3-12 t0-12 t1-1 t2-1) + ) + (s0-11 *temp-string* arg0 #f s4-1 22) + ) + ) + ) + (set! (-> obj particles s2-0 init-pos x) -320.0) + (set! (-> arg0 origin y) (+ 23.0 (-> arg0 origin y))) + ) + ) ) + (else + (set! (-> obj particles s2-0 init-pos x) -320.0) + (set! (-> arg0 origin y) (+ 12.0 (-> arg0 origin y))) + (let ((v1-173 arg0)) + (set! (-> v1-173 scale) 0.7) + ) + (print-game-text (lookup-text! *common-text* (game-text-id empty) #f) arg0 #f s4-1 22) + (set! (-> arg0 origin y) (+ 29.0 (-> arg0 origin y))) + ) ) - ) - (set! (-> obj particles s2-0 init-pos x) -320.0) - (set! (-> arg0 origin y) (+ 23.0 (-> arg0 origin y))) + (+! s2-0 1) ) - ) ) - (else - (set! (-> obj particles s2-0 init-pos x) -320.0) - (set! (-> arg0 origin y) (+ 12.0 (-> arg0 origin y))) - (let ((v1-173 arg0)) - (set! (-> v1-173 scale) 0.7) - ) - (print-game-text - (lookup-text! *common-text* (game-text-id empty) #f) - arg0 - #f - s4-1 - 22 - ) - (set! (-> arg0 origin y) (+ 29.0 (-> arg0 origin y))) - ) - ) - (+! s2-0 1) ) - ) ) - ) 0 (none) ) ;; definition for method 41 of type progress ;; INFO: Return type mismatch int vs none. -(defmethod - draw-memcard-auto-save-error - progress - ((obj progress) (arg0 font-context)) +(defmethod draw-memcard-auto-save-error progress ((obj progress) (arg0 font-context)) (let ((v1-0 arg0)) - (set! (-> v1-0 scale) 0.6) - ) + (set! (-> v1-0 scale) 0.6) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (set! (-> arg0 origin x) (the float (- 70 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 5.0) (let ((v1-4 arg0)) - (set! (-> v1-4 width) (the float 265)) - ) + (set! (-> v1-4 width) (the float 265)) + ) (let ((v1-5 arg0)) - (set! (-> v1-5 height) (the float 35)) - ) + (set! (-> v1-5 height) (the float 35)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id error-saving) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id error-saving) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 34.0) (let ((v1-9 arg0)) - (set! (-> v1-9 width) (the float 360)) - ) - (let ((v1-10 arg0)) - (set! (-> v1-10 height) (the float 50)) - ) - (let ((s4-1 print-game-text-scaled)) - (format - (clear *temp-string*) - (lookup-text! *common-text* (game-text-id check-memcard) #f) - 1 + (set! (-> v1-9 width) (the float 360)) + ) + (let ((v1-10 arg0)) + (set! (-> v1-10 height) (the float 50)) + ) + (let ((s4-1 print-game-text-scaled)) + (format (clear *temp-string*) (lookup-text! *common-text* (game-text-id check-memcard) #f) 1) + (s4-1 *temp-string* (-> obj transition-percentage-invert) arg0 128) ) - (s4-1 *temp-string* (-> obj transition-percentage-invert) arg0 128) - ) (set! (-> arg0 origin y) 89.0) (let ((v1-12 arg0)) - (set! (-> v1-12 width) (the float 360)) - ) + (set! (-> v1-12 width) (the float 360)) + ) (let ((v1-13 arg0)) - (set! (-> v1-13 height) (the float 20)) - ) + (set! (-> v1-13 height) (the float 20)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id autosave-disabled-title) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id autosave-disabled-title) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (set! (-> arg0 origin y) 118.0) (let ((v1-15 arg0)) - (set! (-> v1-15 width) (the float 360)) - ) + (set! (-> v1-15 width) (the float 360)) + ) (let ((v1-16 arg0)) - (set! (-> v1-16 height) (the float 60)) - ) + (set! (-> v1-16 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id autosave-disabled-msg) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id autosave-disabled-msg) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (let ((v1-18 arg0)) - (set! (-> v1-18 scale) 0.65) - ) + (set! (-> v1-18 scale) 0.65) + ) (set! (-> arg0 origin y) 160.0) (let ((v1-19 arg0)) - (set! (-> v1-19 height) (the float 60)) - ) + (set! (-> v1-19 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id continue?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id continue?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -1143,65 +1004,61 @@ ;; INFO: Return type mismatch int vs none. (defmethod draw-memcard-removed progress ((obj progress) (arg0 font-context)) (let ((v1-0 arg0)) - (set! (-> v1-0 scale) 0.6) - ) + (set! (-> v1-0 scale) 0.6) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (set! (-> arg0 origin x) (the float (- 70 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 10.0) (let ((v1-4 arg0)) - (set! (-> v1-4 width) (the float 265)) - ) - (let ((v1-5 arg0)) - (set! (-> v1-5 height) (the float 55)) - ) - (let ((s4-0 print-game-text-scaled)) - (format - (clear *temp-string*) - (lookup-text! *common-text* (game-text-id memcard-removed) #f) - 1 + (set! (-> v1-4 width) (the float 265)) + ) + (let ((v1-5 arg0)) + (set! (-> v1-5 height) (the float 55)) + ) + (let ((s4-0 print-game-text-scaled)) + (format (clear *temp-string*) (lookup-text! *common-text* (game-text-id memcard-removed) #f) 1) + (s4-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) ) - (s4-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) - ) (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 78.0) (let ((v1-9 arg0)) - (set! (-> v1-9 width) (the float 360)) - ) + (set! (-> v1-9 width) (the float 360)) + ) (let ((v1-10 arg0)) - (set! (-> v1-10 height) (the float 20)) - ) + (set! (-> v1-10 height) (the float 20)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id autosave-disabled-title) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id autosave-disabled-title) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (set! (-> arg0 origin y) 112.0) (let ((v1-12 arg0)) - (set! (-> v1-12 width) (the float 360)) - ) + (set! (-> v1-12 width) (the float 360)) + ) (let ((v1-13 arg0)) - (set! (-> v1-13 height) (the float 60)) - ) + (set! (-> v1-13 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id autosave-disabled-msg) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id autosave-disabled-msg) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (let ((v1-15 arg0)) - (set! (-> v1-15 scale) 0.65) - ) + (set! (-> v1-15 scale) 0.65) + ) (set! (-> arg0 origin y) 160.0) (let ((v1-16 arg0)) - (set! (-> v1-16 height) (the float 60)) - ) + (set! (-> v1-16 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id continue?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id continue?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -1211,61 +1068,57 @@ (defmethod draw-memcard-error progress ((obj progress) (arg0 font-context)) (set! (-> arg0 origin y) 15.0) (let ((v1-0 arg0)) - (set! (-> v1-0 scale) 0.7) - ) + (set! (-> v1-0 scale) 0.7) + ) (let ((v1-1 arg0)) - (set! (-> v1-1 width) (the float 265)) - ) + (set! (-> v1-1 width) (the float 265)) + ) (let ((v1-2 arg0)) - (set! (-> v1-2 height) (the float 55)) - ) + (set! (-> v1-2 height) (the float 55)) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (let ((s4-0 (game-text-id error-loading))) - (case (-> obj display-state) - (((progress-screen memcard-error-saving)) - (set! s4-0 (game-text-id error-saving)) + (case (-> obj display-state) + (((progress-screen memcard-error-saving)) + (set! s4-0 (game-text-id error-saving)) + ) + (((progress-screen memcard-error-formatting)) + (set! s4-0 (game-text-id error-formatting)) + ) + (((progress-screen memcard-error-creating)) + (set! s4-0 (game-text-id error-creating-data)) + ) + ) + (let ((s3-0 print-game-text-scaled)) + (format (clear *temp-string*) (lookup-text! *common-text* s4-0 #f) 1) + (s3-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) ) - (((progress-screen memcard-error-formatting)) - (set! s4-0 (game-text-id error-formatting)) - ) - (((progress-screen memcard-error-creating)) - (set! s4-0 (game-text-id error-creating-data)) - ) ) - (let ((s3-0 print-game-text-scaled)) - (format (clear *temp-string*) (lookup-text! *common-text* s4-0 #f) 1) - (s3-0 *temp-string* (-> obj transition-percentage-invert) arg0 128) - ) - ) (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 80.0) (let ((v1-13 arg0)) - (set! (-> v1-13 width) (the float 360)) - ) - (let ((v1-14 arg0)) - (set! (-> v1-14 height) (the float 70)) - ) - (let ((s4-1 print-game-text-scaled)) - (format - (clear *temp-string*) - (lookup-text! *common-text* (game-text-id check-memcard-and-retry) #f) - 1 + (set! (-> v1-13 width) (the float 360)) + ) + (let ((v1-14 arg0)) + (set! (-> v1-14 height) (the float 70)) + ) + (let ((s4-1 print-game-text-scaled)) + (format (clear *temp-string*) (lookup-text! *common-text* (game-text-id check-memcard-and-retry) #f) 1) + (s4-1 *temp-string* (-> obj transition-percentage-invert) arg0 128) ) - (s4-1 *temp-string* (-> obj transition-percentage-invert) arg0 128) - ) (let ((v1-16 arg0)) - (set! (-> v1-16 scale) 0.65) - ) + (set! (-> v1-16 scale) 0.65) + ) (set! (-> arg0 origin y) 155.0) (let ((v1-17 arg0)) - (set! (-> v1-17 height) (the float 60)) - ) + (set! (-> v1-17 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id continue?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id continue?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -1276,73 +1129,64 @@ (set! (-> arg0 origin x) (the float (- 35 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 18.0) (let ((v1-2 arg0)) - (set! (-> v1-2 scale) 0.6) - ) + (set! (-> v1-2 scale) 0.6) + ) (let ((v1-3 arg0)) - (set! (-> v1-3 width) (the float 330)) - ) + (set! (-> v1-3 width) (the float 330)) + ) (let ((v1-4 arg0)) - (set! (-> v1-4 height) (the float 60)) - ) + (set! (-> v1-4 height) (the float 60)) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id autosave-warn-title) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id autosave-warn-title) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (set! (-> arg0 origin x) (the float (- 15 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 110.0) (let ((v1-9 arg0)) - (set! (-> v1-9 width) (the float 370)) - ) + (set! (-> v1-9 width) (the float 370)) + ) (let ((v1-10 arg0)) - (set! (-> v1-10 height) (the float 60)) - ) + (set! (-> v1-10 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id autosave-warn-msg) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id autosave-warn-msg) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (let ((v1-12 arg0)) - (set! (-> v1-12 scale) 0.65) - ) + (set! (-> v1-12 scale) 0.65) + ) (set! (-> arg0 origin y) 175.0) (let ((v1-13 arg0)) - (set! (-> v1-13 height) (the float 20)) - ) + (set! (-> v1-13 height) (the float 20)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id continue?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) - (set! - (-> *progress-process* 0 particles 31 init-pos y) - (the float (if (= (get-aspect-ratio) 'aspect16x9) - 170 - 180 - ) + (lookup-text! *common-text* (game-text-id continue?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 ) - ) - (set! - (-> *progress-process* 0 particles 31 init-pos x) - (the - float - (- - (if - (or - (< (mod (-> *display* real-frame-counter) 300) 270) - (!= (-> obj transition-percentage-invert) 1.0) - ) - 205 - -320 - ) - (-> obj left-x-offset) - ) - ) - ) + (set! (-> *progress-process* 0 particles 31 init-pos y) (the float (if (= (get-aspect-ratio) 'aspect16x9) + 170 + 180 + ) + ) + ) + (set! (-> *progress-process* 0 particles 31 init-pos x) + (the float + (- (if (or (< (mod (-> *display* real-frame-counter) 300) 270) (!= (-> obj transition-percentage-invert) 1.0)) + 205 + -320 + ) + (-> obj left-x-offset) + ) + ) + ) 0 (none) ) @@ -1353,58 +1197,58 @@ (set! (-> arg0 origin x) (the float (- 50 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 20.0) (let ((v1-2 arg0)) - (set! (-> v1-2 scale) 0.6) - ) + (set! (-> v1-2 scale) 0.6) + ) (let ((v1-3 arg0)) - (set! (-> v1-3 width) (the float 300)) - ) + (set! (-> v1-3 width) (the float 300)) + ) (let ((v1-4 arg0)) - (set! (-> v1-4 height) (the float 40)) - ) + (set! (-> v1-4 height) (the float 40)) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id screen-change-to-60hz) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id screen-change-to-60hz) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (set! (-> arg0 origin x) (the float (- 15 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 60.0) (let ((v1-9 arg0)) - (set! (-> v1-9 width) (the float 370)) - ) + (set! (-> v1-9 width) (the float 370)) + ) (let ((v1-10 arg0)) - (set! (-> v1-10 height) (the float 60)) - ) + (set! (-> v1-10 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id screen-60hz-warn-support) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id screen-60hz-warn-support) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (set! (-> arg0 origin y) 120.0) (let ((v1-12 arg0)) - (set! (-> v1-12 height) (the float 50)) - ) + (set! (-> v1-12 height) (the float 50)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id screen-60hz-warn-timer) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id screen-60hz-warn-timer) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (let ((v1-14 arg0)) - (set! (-> v1-14 scale) 0.65) - ) + (set! (-> v1-14 scale) 0.65) + ) (set! (-> arg0 origin y) 175.0) (let ((v1-15 arg0)) - (set! (-> v1-15 height) (the float 20)) - ) + (set! (-> v1-15 height) (the float 20)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id continue?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id continue?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -1415,50 +1259,50 @@ (set! (-> arg0 origin x) (the float (- 50 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 50.0) (let ((v1-2 arg0)) - (set! (-> v1-2 scale) 0.6) - ) + (set! (-> v1-2 scale) 0.6) + ) (let ((v1-3 arg0)) - (set! (-> v1-3 width) (the float 300)) - ) + (set! (-> v1-3 width) (the float 300)) + ) (let ((v1-4 arg0)) - (set! (-> v1-4 height) (the float 40)) - ) + (set! (-> v1-4 height) (the float 40)) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id no-disc-title) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) - (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) - (set! (-> arg0 origin y) 90.0) - (let ((v1-9 arg0)) - (set! (-> v1-9 width) (the float 360)) - ) - (let ((v1-10 arg0)) - (set! (-> v1-10 height) (the float 60)) - ) - (print-game-text-scaled - (lookup-text! *common-text* (game-text-id no-disc-msg) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) - (when (is-cd-in?) - (let ((v1-13 arg0)) - (set! (-> v1-13 scale) 0.65) - ) - (set! (-> arg0 origin y) 155.0) - (let ((v1-14 arg0)) - (set! (-> v1-14 height) (the float 20)) - ) - (print-game-text-scaled - (lookup-text! *common-text* (game-text-id continue?) #f) + (lookup-text! *common-text* (game-text-id no-disc-title) #f) (-> obj transition-percentage-invert) arg0 128 ) - ) + (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) + (set! (-> arg0 origin y) 90.0) + (let ((v1-9 arg0)) + (set! (-> v1-9 width) (the float 360)) + ) + (let ((v1-10 arg0)) + (set! (-> v1-10 height) (the float 60)) + ) + (print-game-text-scaled + (lookup-text! *common-text* (game-text-id no-disc-msg) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) + (when (is-cd-in?) + (let ((v1-13 arg0)) + (set! (-> v1-13 scale) 0.65) + ) + (set! (-> arg0 origin y) 155.0) + (let ((v1-14 arg0)) + (set! (-> v1-14 height) (the float 20)) + ) + (print-game-text-scaled + (lookup-text! *common-text* (game-text-id continue?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) + ) 0 (none) ) @@ -1469,48 +1313,48 @@ (set! (-> arg0 origin x) (the float (- 50 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 50.0) (let ((v1-2 arg0)) - (set! (-> v1-2 scale) 0.6) - ) + (set! (-> v1-2 scale) 0.6) + ) (let ((v1-3 arg0)) - (set! (-> v1-3 width) (the float 300)) - ) + (set! (-> v1-3 width) (the float 300)) + ) (let ((v1-4 arg0)) - (set! (-> v1-4 height) (the float 40)) - ) + (set! (-> v1-4 height) (the float 40)) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id bad-disc-title) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id bad-disc-title) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (set! (-> arg0 origin x) (the float (- 20 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 90.0) (let ((v1-9 arg0)) - (set! (-> v1-9 width) (the float 360)) - ) + (set! (-> v1-9 width) (the float 360)) + ) (let ((v1-10 arg0)) - (set! (-> v1-10 height) (the float 60)) - ) + (set! (-> v1-10 height) (the float 60)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id bad-disc-msg) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id bad-disc-msg) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (let ((v1-12 arg0)) - (set! (-> v1-12 scale) 0.65) - ) + (set! (-> v1-12 scale) 0.65) + ) (set! (-> arg0 origin y) 155.0) (let ((v1-13 arg0)) - (set! (-> v1-13 height) (the float 20)) - ) + (set! (-> v1-13 height) (the float 20)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id continue?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id continue?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -1521,21 +1365,21 @@ (set! (-> arg0 origin x) (the float (- 50 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 70.0) (let ((v1-2 arg0)) - (set! (-> v1-2 scale) 0.6) - ) + (set! (-> v1-2 scale) 0.6) + ) (let ((v1-3 arg0)) - (set! (-> v1-3 width) (the float 300)) - ) + (set! (-> v1-3 width) (the float 300)) + ) (let ((v1-4 arg0)) - (set! (-> v1-4 height) (the float 40)) - ) + (set! (-> v1-4 height) (the float 40)) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id quit?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id quit?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -1546,31 +1390,31 @@ (set! (-> arg0 origin x) (the float (- 50 (-> obj left-x-offset)))) (set! (-> arg0 origin y) 45.0) (let ((v1-2 arg0)) - (set! (-> v1-2 scale) 0.6) - ) + (set! (-> v1-2 scale) 0.6) + ) (let ((v1-3 arg0)) - (set! (-> v1-3 width) (the float 300)) - ) + (set! (-> v1-3 width) (the float 300)) + ) (let ((v1-4 arg0)) - (set! (-> v1-4 height) (the float 50)) - ) + (set! (-> v1-4 height) (the float 50)) + ) (set! (-> arg0 flags) (font-flags shadow kerning middle left large)) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id screen-now-60hz) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id screen-now-60hz) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) (set! (-> arg0 origin y) 95.0) (let ((v1-7 arg0)) - (set! (-> v1-7 height) (the float 50)) - ) + (set! (-> v1-7 height) (the float 50)) + ) (print-game-text-scaled - (lookup-text! *common-text* (game-text-id screen-60hz-keep?) #f) - (-> obj transition-percentage-invert) - arg0 - 128 - ) + (lookup-text! *common-text* (game-text-id screen-60hz-keep?) #f) + (-> obj transition-percentage-invert) + arg0 + 128 + ) 0 (none) ) @@ -1580,86 +1424,81 @@ (defmethod draw-notice-screen progress ((obj progress)) (hide-progress-icons) (when *common-text* - (let - ((a1-1 - (new - 'stack - 'font-context - *font-default-matrix* - (- 70 (-> obj left-x-offset)) - 10 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) + (let ((a1-1 (new + 'stack + 'font-context + *font-default-matrix* + (- 70 (-> obj left-x-offset)) + 10 + 0.0 + (font-color default) + (font-flags shadow kerning) + ) + ) + ) + (case (-> obj display-state) + (((progress-screen memcard-format)) + (draw-memcard-format obj a1-1) + ) + (((progress-screen memcard-no-space) + (progress-screen memcard-not-inserted) + (progress-screen memcard-not-formatted) + ) + (draw-memcard-storage-error obj a1-1) + ) + (((progress-screen memcard-data-exists)) + (draw-memcard-data-exists obj a1-1) + ) + (((progress-screen memcard-no-data)) + (draw-memcard-no-data obj a1-1) + ) + (((progress-screen memcard-loading) + (progress-screen memcard-saving) + (progress-screen memcard-formatting) + (progress-screen memcard-creating) + ) + (draw-memcard-accessing obj a1-1) + ) + (((progress-screen memcard-insert)) + (draw-memcard-insert obj a1-1) + ) + (((progress-screen load-game) (progress-screen save-game) (progress-screen save-game-title)) + (draw-memcard-file-select obj a1-1) + ) + (((progress-screen memcard-auto-save-error)) + (draw-memcard-auto-save-error obj a1-1) + ) + (((progress-screen memcard-removed)) + (draw-memcard-removed obj a1-1) + ) + (((progress-screen memcard-error-loading) + (progress-screen memcard-error-saving) + (progress-screen memcard-error-formatting) + (progress-screen memcard-error-creating) + ) + (draw-memcard-error obj a1-1) + ) + (((progress-screen auto-save)) + (draw-auto-save obj a1-1) + ) + (((progress-screen pal-change-to-60hz)) + (draw-pal-change-to-60hz obj a1-1) + ) + (((progress-screen pal-now-60hz)) + (draw-pal-now-60hz obj a1-1) + ) + (((progress-screen no-disc)) + (draw-no-disc obj a1-1) + ) + (((progress-screen bad-disc)) + (draw-bad-disc obj a1-1) + ) + (((progress-screen quit)) + (draw-quit obj a1-1) + ) + ) ) - ) - (case (-> obj display-state) - (((progress-screen memcard-format)) - (draw-memcard-format obj a1-1) - ) - (((progress-screen memcard-no-space) - (progress-screen memcard-not-inserted) - (progress-screen memcard-not-formatted) - ) - (draw-memcard-storage-error obj a1-1) - ) - (((progress-screen memcard-data-exists)) - (draw-memcard-data-exists obj a1-1) - ) - (((progress-screen memcard-no-data)) - (draw-memcard-no-data obj a1-1) - ) - (((progress-screen memcard-loading) - (progress-screen memcard-saving) - (progress-screen memcard-formatting) - (progress-screen memcard-creating) - ) - (draw-memcard-accessing obj a1-1) - ) - (((progress-screen memcard-insert)) - (draw-memcard-insert obj a1-1) - ) - (((progress-screen load-game) - (progress-screen save-game) - (progress-screen save-game-title) - ) - (draw-memcard-file-select obj a1-1) - ) - (((progress-screen memcard-auto-save-error)) - (draw-memcard-auto-save-error obj a1-1) - ) - (((progress-screen memcard-removed)) - (draw-memcard-removed obj a1-1) - ) - (((progress-screen memcard-error-loading) - (progress-screen memcard-error-saving) - (progress-screen memcard-error-formatting) - (progress-screen memcard-error-creating) - ) - (draw-memcard-error obj a1-1) - ) - (((progress-screen auto-save)) - (draw-auto-save obj a1-1) - ) - (((progress-screen pal-change-to-60hz)) - (draw-pal-change-to-60hz obj a1-1) - ) - (((progress-screen pal-now-60hz)) - (draw-pal-now-60hz obj a1-1) - ) - (((progress-screen no-disc)) - (draw-no-disc obj a1-1) - ) - (((progress-screen bad-disc)) - (draw-bad-disc obj a1-1) - ) - (((progress-screen quit)) - (draw-quit obj a1-1) - ) - ) ) - ) 0 (none) ) @@ -1670,55 +1509,46 @@ (let* ((s2-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) (gp-0 (-> s2-0 base)) ) - (draw-sprite2d-xy s2-0 arg0 arg1 255 14 (new 'static 'rgba :a #x60)) - (draw-sprite2d-xy - s2-0 - arg0 - (+ arg1 2) - (the int (* 255.0 arg2)) - 10 - (the-as rgba arg3) + (draw-sprite2d-xy s2-0 arg0 arg1 255 14 (new 'static 'rgba :a #x60)) + (draw-sprite2d-xy s2-0 arg0 (+ arg1 2) (the int (* 255.0 arg2)) 10 (the-as rgba arg3)) + (let ((a3-3 (-> s2-0 base))) + (let ((v1-3 (the-as dma-packet (-> s2-0 base)))) + (set! (-> v1-3 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> v1-3 vif0) (new 'static 'vif-tag)) + (set! (-> v1-3 vif1) (new 'static 'vif-tag)) + (set! (-> s2-0 base) (&+ (the-as pointer v1-3) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id sprite) + gp-0 + (the-as (pointer dma-tag) a3-3) + ) + ) ) - (let ((a3-3 (-> s2-0 base))) - (let ((v1-3 (the-as dma-packet (-> s2-0 base)))) - (set! (-> v1-3 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> v1-3 vif0) (new 'static 'vif-tag)) - (set! (-> v1-3 vif1) (new 'static 'vif-tag)) - (set! (-> s2-0 base) (&+ (the-as pointer v1-3) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id sprite) - gp-0 - (the-as (pointer dma-tag) a3-3) - ) - ) - ) 0 (none) ) ;; definition for function print-language-name -(defun - print-language-name - ((arg0 int) (arg1 font-context) (arg2 int) (arg3 symbol)) +(defun print-language-name ((arg0 int) (arg1 font-context) (arg2 int) (arg3 symbol)) (let ((s5-0 (if arg3 - arg2 - (- arg2) - ) - ) + arg2 + (- arg2) + ) + ) ) - (+! (-> arg1 origin x) (the float s5-0)) - (let ((f30-0 (- 1.0 (* 0.0033333334 (the float arg2))))) - (print-game-text-scaled - (lookup-text! *common-text* (-> *language-name-remap* arg0) #f) - f30-0 - arg1 - (the int (* 128.0 f30-0)) - ) + (+! (-> arg1 origin x) (the float s5-0)) + (let ((f30-0 (- 1.0 (* 0.0033333334 (the float arg2))))) + (print-game-text-scaled + (lookup-text! *common-text* (-> *language-name-remap* arg0) #f) + f30-0 + arg1 + (the int (* 128.0 f30-0)) + ) + ) + (set! (-> arg1 origin x) (- (-> arg1 origin x) (the float s5-0))) ) - (set! (-> arg1 origin x) (- (-> arg1 origin x) (the float s5-0))) - ) (set! (-> arg1 color) (font-color default)) arg1 ) @@ -1726,531 +1556,437 @@ ;; definition for method 28 of type progress ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - draw-options - progress - ((obj progress) (arg0 int) (arg1 int) (arg2 float)) +(defmethod draw-options progress ((obj progress) (arg0 int) (arg1 int) (arg2 float)) (local-vars - (sv-112 font-context) - (sv-128 int) - (sv-144 int) - (sv-160 (function _varargs_ object)) - (sv-176 string) - (sv-192 string) - (sv-208 string) - (sv-224 (function _varargs_ object)) - (sv-240 string) - (sv-256 string) - (sv-272 string) - (sv-288 (function string font-context symbol int int float)) - (sv-304 (function _varargs_ object)) - (sv-320 (function _varargs_ object)) - (sv-336 string) - (sv-352 string) - (sv-368 string) - (sv-384 (function _varargs_ object)) - (sv-400 string) - (sv-416 string) - (sv-432 string) - (sv-448 uint) - (sv-464 int) - (sv-480 int) - (sv-496 int) - (sv-512 uint) - (sv-528 (function _varargs_ object)) - (sv-544 string) - (sv-560 string) - (sv-576 string) - (sv-592 (function _varargs_ object)) - (sv-608 string) - (sv-624 string) - (sv-640 string) - (sv-656 (function _varargs_ object)) - (sv-672 string) - (sv-688 string) - (sv-704 string) - (sv-720 (function _varargs_ object)) - (sv-736 string) - (sv-752 string) - (sv-768 string) - (sv-784 (function _varargs_ object)) - (sv-800 string) - (sv-816 string) - (sv-832 string) - (sv-848 (function _varargs_ object)) - (sv-864 string) - (sv-880 string) - (sv-896 string) - (sv-912 string) - ) + (sv-112 font-context) + (sv-128 int) + (sv-144 int) + (sv-160 (function _varargs_ object)) + (sv-176 string) + (sv-192 string) + (sv-208 string) + (sv-224 (function _varargs_ object)) + (sv-240 string) + (sv-256 string) + (sv-272 string) + (sv-288 (function string font-context symbol int int float)) + (sv-304 (function _varargs_ object)) + (sv-320 (function _varargs_ object)) + (sv-336 string) + (sv-352 string) + (sv-368 string) + (sv-384 (function _varargs_ object)) + (sv-400 string) + (sv-416 string) + (sv-432 string) + (sv-448 uint) + (sv-464 int) + (sv-480 int) + (sv-496 int) + (sv-512 uint) + (sv-528 (function _varargs_ object)) + (sv-544 string) + (sv-560 string) + (sv-576 string) + (sv-592 (function _varargs_ object)) + (sv-608 string) + (sv-624 string) + (sv-640 string) + (sv-656 (function _varargs_ object)) + (sv-672 string) + (sv-688 string) + (sv-704 string) + (sv-720 (function _varargs_ object)) + (sv-736 string) + (sv-752 string) + (sv-768 string) + (sv-784 (function _varargs_ object)) + (sv-800 string) + (sv-816 string) + (sv-832 string) + (sv-848 (function _varargs_ object)) + (sv-864 string) + (sv-880 string) + (sv-896 string) + (sv-912 string) + ) (let ((s3-0 (-> *options-remap* (-> obj display-state)))) - (when s3-0 - (let ((s2-1 (- arg0 (/ (* arg1 (length s3-0)) 2))) - (s1-0 0) - ) - 27 - 0 - (set! - sv-112 - (new - 'stack - 'font-context - *font-default-matrix* - 0 - 0 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) - ) - (let ((v1-11 sv-112)) - (set! (-> v1-11 width) (the float 350)) - ) - (let ((v1-12 sv-112)) - (set! (-> v1-12 height) (the float 25)) - ) - (set! (-> sv-112 flags) (font-flags shadow kerning middle left large)) - (dotimes (s0-0 (length s3-0)) - (set! sv-912 (the-as string #f)) - (set! sv-128 27) - (set! sv-144 s2-1) - (let ((v1-18 (-> s3-0 s0-0 option-type))) - (cond - ((= v1-18 7) - (cond - ((-> (the-as (pointer uint32) (-> s3-0 s0-0 value-to-modify))) - (set! sv-160 format) - (set! sv-176 (clear *temp-string*)) - (set! sv-192 "~30L~S~0L ~S") - (set! sv-208 (lookup-text! *common-text* (game-text-id yes) #f)) - (let ((a3-2 (lookup-text! *common-text* (game-text-id no) #f))) - (sv-160 sv-176 sv-192 sv-208 a3-2) + (when s3-0 + (let ((s2-1 (- arg0 (/ (* arg1 (length s3-0)) 2))) + (s1-0 0) ) - (set! sv-912 *temp-string*) - sv-912 - ) - (else - (set! sv-224 format) - (set! sv-240 (clear *temp-string*)) - (set! sv-256 "~0L~S ~30L~S~1L") - (set! sv-272 (lookup-text! *common-text* (game-text-id yes) #f)) - (let ((a3-3 (lookup-text! *common-text* (game-text-id no) #f))) - (sv-224 sv-240 sv-256 sv-272 a3-3) - ) - (set! sv-912 *temp-string*) - sv-912 - ) - ) - ) - ((or (= v1-18 6) (= v1-18 8)) - (cond - ((nonzero? (-> s3-0 s0-0 name)) - (set! sv-912 (lookup-text! *common-text* (-> s3-0 s0-0 name) #f)) - sv-912 - ) - (else - (set! sv-912 (the-as string #f)) - (the-as symbol sv-912) - ) - ) - ) - ((and (-> obj selected-option) (= (-> obj option-index) s0-0)) - (let ((a0-19 sv-112)) - (set! (-> a0-19 color) (font-color default)) - ) - (set! - (-> sv-112 origin x) - (the float (- sv-128 (-> obj left-x-offset))) - ) - (case (-> s3-0 s0-0 option-type) - ((3) - (set! (-> sv-112 origin y) (the float (+ s2-1 -20))) - ) - (else - (set! (-> sv-112 origin y) (the float (+ s2-1 -8))) - ) - ) - (let ((v1-64 sv-112)) - (set! (-> v1-64 scale) 0.6) - ) - (set! sv-288 print-game-text) - (let ((a0-23 (lookup-text! *common-text* (-> s3-0 s0-0 name) #f)) - (a1-11 sv-112) - (a2-10 #f) - (a3-4 128) - (t0-1 22) - ) - (sv-288 a0-23 a1-11 a2-10 a3-4 t0-1) - ) - (case (-> s3-0 s0-0 option-type) - ((3) - (set! sv-144 (+ s2-1 3)) - sv-144 - ) - (else - (set! sv-144 (+ s2-1 7)) - sv-144 - ) - ) - (let ((v1-81 (-> s3-0 s0-0 option-type))) - (cond - ((zero? v1-81) - (let* ((v1-82 (the-as uint #x8000ffff)) - (f0-12 - (* - 0.01 - (-> - (the-as (pointer float) (-> s3-0 s0-0 value-to-modify)) - ) - ) - ) - (a0-34 - (logior - (logand v1-82 -256) - (shr (shl (the int (+ 64.0 (* 191.0 f0-12))) 56) 56) - ) - ) - (a3-5 - (logior - (logand a0-34 -65281) - (shr (shl (shr (shl a0-34 56) 56) 56) 48) - ) - ) - ) - (draw-percent-bar - (- 75 (-> obj left-x-offset)) - (+ s2-1 8) - f0-12 - (the-as int a3-5) + 27 + 0 + (set! sv-112 + (new 'stack 'font-context *font-default-matrix* 0 0 0.0 (font-color default) (font-flags shadow kerning)) ) - ) - (set! sv-304 format) - (let ((a0-42 (clear *temp-string*)) - (a1-13 "~D") - (a2-12 - (the - int - (-> (the-as (pointer float) (-> s3-0 s0-0 value-to-modify))) - ) - ) - ) - (sv-304 a0-42 a1-13 a2-12) - ) - (set! sv-912 *temp-string*) - (set! - sv-128 - (+ - (the - int - (* - 2.5 - (-> (the-as (pointer float) (-> s3-0 s0-0 value-to-modify))) - ) - ) - -100 - ) - ) - sv-128 - ) - ((= v1-81 2) + (let ((v1-11 sv-112)) + (set! (-> v1-11 width) (the float 350)) + ) + (let ((v1-12 sv-112)) + (set! (-> v1-12 height) (the float 25)) + ) + (set! (-> sv-112 flags) (font-flags shadow kerning middle left large)) + (dotimes (s0-0 (length s3-0)) + (set! sv-912 (the-as string #f)) + (set! sv-128 27) + (set! sv-144 s2-1) + (let ((v1-18 (-> s3-0 s0-0 option-type))) (cond - ((-> (the-as (pointer uint32) (-> s3-0 s0-0 value-to-modify))) - (set! sv-320 format) - (set! sv-336 (clear *temp-string*)) - (set! sv-352 "~30L~S~0L ~S") - (set! sv-368 (lookup-text! *common-text* (game-text-id on) #f)) - (let ((a3-6 (lookup-text! *common-text* (game-text-id off) #f))) - (sv-320 sv-336 sv-352 sv-368 a3-6) - ) - (set! sv-912 *temp-string*) - sv-912 - ) - (else - (set! sv-384 format) - (set! sv-400 (clear *temp-string*)) - (set! sv-416 "~0L~S ~30L~S~1L") - (set! sv-432 (lookup-text! *common-text* (game-text-id on) #f)) - (let ((a3-7 (lookup-text! *common-text* (game-text-id off) #f))) - (sv-384 sv-400 sv-416 sv-432 a3-7) - ) - (set! sv-912 *temp-string*) - sv-912 - ) - ) - ) - ((= v1-81 1) - (set! sv-512 (-> obj language-selection)) - (set! - sv-448 - (-> (the-as (pointer uint64) (-> s3-0 s0-0 value-to-modify))) - ) - (if - (and - (zero? (scf-get-territory)) - (not - (and - (= *progress-cheat* 'language) - (cpad-hold? 0 l2) - (cpad-hold? 0 r2) - ) - ) - ) - (set! sv-464 5) - (set! sv-464 6) - ) - (if (-> obj language-transition) - (set! - (-> obj language-x-offset) - (seekl - (-> obj language-x-offset) - 200 - (the int (* 10.0 (-> *display* time-adjust-ratio))) - ) - ) - ) - (when (>= (-> obj language-x-offset) 100) - (set! (-> obj language-selection) sv-448) - (set! sv-512 sv-448) - (set! (-> obj language-transition) #f) - (set! (-> obj language-x-offset) 0) - 0 - ) - (set! (-> sv-112 origin y) (the float (+ s2-1 3))) - (let ((a0-62 sv-112)) - (set! (-> a0-62 color) (font-color lighter-lighter-blue)) - ) - 0 - (set! sv-480 (mod (the-as int (+ sv-512 1)) sv-464)) - (let ((a0-66 (mod (+ sv-464 -1 sv-512) sv-464)) - (v1-153 (mod (the-as int (+ sv-512 2)) sv-464)) - ) - (set! sv-496 (mod (+ sv-464 -2 sv-512) sv-464)) - (cond - ((-> obj language-direction) - (let ((a2-22 (- 200 (+ (-> obj language-x-offset) 100)))) - (print-language-name a0-66 sv-112 a2-22 #f) - ) - (let ((a2-23 (+ (-> obj language-x-offset) 100))) - (cond - ((< a2-23 150) - (let ((t9-27 print-language-name) - (a1-30 sv-112) - (a3-9 #t) - ) - (t9-27 sv-480 a1-30 a2-23 a3-9) - ) + ((= v1-18 7) + (cond + ((-> (the-as (pointer uint32) (-> s3-0 s0-0 value-to-modify))) + (set! sv-160 format) + (set! sv-176 (clear *temp-string*)) + (set! sv-192 "~30L~S~0L ~S") + (set! sv-208 (lookup-text! *common-text* (game-text-id yes) #f)) + (let ((a3-2 (lookup-text! *common-text* (game-text-id no) #f))) + (sv-160 sv-176 sv-192 sv-208 a3-2) + ) + (set! sv-912 *temp-string*) + sv-912 ) (else - (let ((a2-24 (- 200 (-> obj language-x-offset))) - (t9-28 print-language-name) - (a1-31 sv-112) - (a3-10 #f) - ) - (t9-28 sv-496 a1-31 a2-24 a3-10) + (set! sv-224 format) + (set! sv-240 (clear *temp-string*)) + (set! sv-256 "~0L~S ~30L~S~1L") + (set! sv-272 (lookup-text! *common-text* (game-text-id yes) #f)) + (let ((a3-3 (lookup-text! *common-text* (game-text-id no) #f))) + (sv-224 sv-240 sv-256 sv-272 a3-3) + ) + (set! sv-912 *temp-string*) + sv-912 + ) + ) + ) + ((or (= v1-18 6) (= v1-18 8)) + (cond + ((nonzero? (-> s3-0 s0-0 name)) + (set! sv-912 (lookup-text! *common-text* (-> s3-0 s0-0 name) #f)) + sv-912 + ) + (else + (set! sv-912 (the-as string #f)) + (the-as symbol sv-912) + ) + ) + ) + ((and (-> obj selected-option) (= (-> obj option-index) s0-0)) + (let ((a0-19 sv-112)) + (set! (-> a0-19 color) (font-color default)) + ) + (set! (-> sv-112 origin x) (the float (- sv-128 (-> obj left-x-offset)))) + (case (-> s3-0 s0-0 option-type) + ((3) + (set! (-> sv-112 origin y) (the float (+ s2-1 -20))) + ) + (else + (set! (-> sv-112 origin y) (the float (+ s2-1 -8))) + ) + ) + (let ((v1-64 sv-112)) + (set! (-> v1-64 scale) 0.6) + ) + (set! sv-288 print-game-text) + (let ((a0-23 (lookup-text! *common-text* (-> s3-0 s0-0 name) #f)) + (a1-11 sv-112) + (a2-10 #f) + (a3-4 128) + (t0-1 22) + ) + (sv-288 a0-23 a1-11 a2-10 a3-4 t0-1) + ) + (case (-> s3-0 s0-0 option-type) + ((3) + (set! sv-144 (+ s2-1 3)) + sv-144 + ) + (else + (set! sv-144 (+ s2-1 7)) + sv-144 + ) + ) + (let ((v1-81 (-> s3-0 s0-0 option-type))) + (cond + ((zero? v1-81) + (let* ((v1-82 (the-as uint #x8000ffff)) + (f0-12 (* 0.01 (-> (the-as (pointer float) (-> s3-0 s0-0 value-to-modify))))) + (a0-34 (logior (logand v1-82 -256) (shr (shl (the int (+ 64.0 (* 191.0 f0-12))) 56) 56))) + (a3-5 (logior (logand a0-34 -65281) (shr (shl (shr (shl a0-34 56) 56) 56) 48))) + ) + (draw-percent-bar (- 75 (-> obj left-x-offset)) (+ s2-1 8) f0-12 (the-as int a3-5)) + ) + (set! sv-304 format) + (let ((a0-42 (clear *temp-string*)) + (a1-13 "~D") + (a2-12 (the int (-> (the-as (pointer float) (-> s3-0 s0-0 value-to-modify))))) + ) + (sv-304 a0-42 a1-13 a2-12) + ) + (set! sv-912 *temp-string*) + (set! sv-128 (+ (the int (* 2.5 (-> (the-as (pointer float) (-> s3-0 s0-0 value-to-modify))))) -100)) + sv-128 + ) + ((= v1-81 2) + (cond + ((-> (the-as (pointer uint32) (-> s3-0 s0-0 value-to-modify))) + (set! sv-320 format) + (set! sv-336 (clear *temp-string*)) + (set! sv-352 "~30L~S~0L ~S") + (set! sv-368 (lookup-text! *common-text* (game-text-id on) #f)) + (let ((a3-6 (lookup-text! *common-text* (game-text-id off) #f))) + (sv-320 sv-336 sv-352 sv-368 a3-6) + ) + (set! sv-912 *temp-string*) + sv-912 + ) + (else + (set! sv-384 format) + (set! sv-400 (clear *temp-string*)) + (set! sv-416 "~0L~S ~30L~S~1L") + (set! sv-432 (lookup-text! *common-text* (game-text-id on) #f)) + (let ((a3-7 (lookup-text! *common-text* (game-text-id off) #f))) + (sv-384 sv-400 sv-416 sv-432 a3-7) + ) + (set! sv-912 *temp-string*) + sv-912 + ) + ) + ) + ((= v1-81 1) + (set! sv-512 (-> obj language-selection)) + (set! sv-448 (-> (the-as (pointer uint64) (-> s3-0 s0-0 value-to-modify)))) + (if (and + (zero? (scf-get-territory)) + (not (and (= *progress-cheat* 'language) (cpad-hold? 0 l2) (cpad-hold? 0 r2))) + ) + (set! sv-464 5) + (set! sv-464 6) + ) + (if (-> obj language-transition) + (set! (-> obj language-x-offset) + (seekl (-> obj language-x-offset) 200 (the int (* 10.0 (-> *display* time-adjust-ratio)))) + ) + ) + (when (>= (-> obj language-x-offset) 100) + (set! (-> obj language-selection) sv-448) + (set! sv-512 sv-448) + (set! (-> obj language-transition) #f) + (set! (-> obj language-x-offset) 0) + 0 + ) + (set! (-> sv-112 origin y) (the float (+ s2-1 3))) + (let ((a0-62 sv-112)) + (set! (-> a0-62 color) (font-color lighter-lighter-blue)) + ) + 0 + (set! sv-480 (mod (the-as int (+ sv-512 1)) sv-464)) + (let ((a0-66 (mod (+ sv-464 -1 sv-512) sv-464)) + (v1-153 (mod (the-as int (+ sv-512 2)) sv-464)) + ) + (set! sv-496 (mod (+ sv-464 -2 sv-512) sv-464)) + (cond + ((-> obj language-direction) + (let ((a2-22 (- 200 (+ (-> obj language-x-offset) 100)))) + (print-language-name a0-66 sv-112 a2-22 #f) + ) + (let ((a2-23 (+ (-> obj language-x-offset) 100))) + (cond + ((< a2-23 150) + (let ((t9-27 print-language-name) + (a1-30 sv-112) + (a3-9 #t) + ) + (t9-27 sv-480 a1-30 a2-23 a3-9) + ) + ) + (else + (let ((a2-24 (- 200 (-> obj language-x-offset))) + (t9-28 print-language-name) + (a1-31 sv-112) + (a3-10 #f) + ) + (t9-28 sv-496 a1-31 a2-24 a3-10) + ) + ) + ) + ) + ) + (else + (let ((a2-25 (+ (-> obj language-x-offset) 100))) + (cond + ((< a2-25 150) + (print-language-name a0-66 sv-112 a2-25 #f) + ) + (else + (let ((a2-26 (- 200 (-> obj language-x-offset)))) + (print-language-name v1-153 sv-112 a2-26 #t) + ) + ) + ) + ) + (let ((a2-27 (- 200 (+ (-> obj language-x-offset) 100)))) + (print-language-name sv-480 sv-112 a2-27 #t) + ) + ) + ) + ) + (when (not (-> obj language-transition)) + (let ((a0-75 sv-112)) + (set! (-> a0-75 color) (font-color yellow-green-2)) + ) + ) + (let ((t9-32 print-language-name) + (a1-37 sv-112) + (a2-28 (-> obj language-x-offset)) + (a3-14 (-> obj language-direction)) + ) + (t9-32 (the-as int sv-512) a1-37 a2-28 (the-as symbol a3-14)) + ) + ) + ((= v1-81 3) + (set! sv-912 (lookup-text! *common-text* (game-text-id move-dpad) #f)) + sv-912 + ) + ((= v1-81 4) + (cond + ((= (-> (the-as (pointer uint32) (-> s3-0 s0-0 value-to-modify))) 'aspect4x3) + (set! sv-528 format) + (set! sv-544 (clear *temp-string*)) + (set! sv-560 "~30L~S~0L ~S") + (set! sv-576 (lookup-text! *common-text* (game-text-id 4x3) #f)) + (let ((a3-15 (lookup-text! *common-text* (game-text-id 16x9) #f))) + (sv-528 sv-544 sv-560 sv-576 a3-15) + ) + (set! sv-912 *temp-string*) + sv-912 + ) + (else + (set! sv-592 format) + (set! sv-608 (clear *temp-string*)) + (set! sv-624 "~0L~S ~30L~S~1L") + (set! sv-640 (lookup-text! *common-text* (game-text-id 4x3) #f)) + (let ((a3-16 (lookup-text! *common-text* (game-text-id 16x9) #f))) + (sv-592 sv-608 sv-624 sv-640 a3-16) + ) + (set! sv-912 *temp-string*) + sv-912 + ) + ) + ) + ((= v1-81 5) + (cond + ((= (-> (the-as (pointer uint32) (-> s3-0 s0-0 value-to-modify))) 'ntsc) + (set! sv-656 format) + (set! sv-672 (clear *temp-string*)) + (set! sv-688 "~0L~S ~30L~S~1L") + (set! sv-704 (lookup-text! *common-text* (game-text-id 50hz) #f)) + (let ((a3-17 (lookup-text! *common-text* (game-text-id 60hz) #f))) + (sv-656 sv-672 sv-688 sv-704 a3-17) + ) + (set! sv-912 *temp-string*) + sv-912 + ) + (else + (set! sv-720 format) + (set! sv-736 (clear *temp-string*)) + (set! sv-752 "~30L~S~0L ~S") + (set! sv-768 (lookup-text! *common-text* (game-text-id 50hz) #f)) + (let ((a3-18 (lookup-text! *common-text* (game-text-id 60hz) #f))) + (sv-720 sv-736 sv-752 sv-768 a3-18) + ) + (set! sv-912 *temp-string*) + sv-912 + ) + ) + ) ) - ) ) - ) ) (else - (let ((a2-25 (+ (-> obj language-x-offset) 100))) - (cond - ((< a2-25 150) - (print-language-name a0-66 sv-112 a2-25 #f) - ) - (else - (let ((a2-26 (- 200 (-> obj language-x-offset)))) - (print-language-name v1-153 sv-112 a2-26 #t) - ) - ) - ) - ) - (let ((a2-27 (- 200 (+ (-> obj language-x-offset) 100)))) - (print-language-name sv-480 sv-112 a2-27 #t) - ) - ) - ) - ) - (when (not (-> obj language-transition)) - (let ((a0-75 sv-112)) - (set! (-> a0-75 color) (font-color yellow-green-2)) - ) - ) - (let ((t9-32 print-language-name) - (a1-37 sv-112) - (a2-28 (-> obj language-x-offset)) - (a3-14 (-> obj language-direction)) - ) - (t9-32 (the-as int sv-512) a1-37 a2-28 (the-as symbol a3-14)) - ) - ) - ((= v1-81 3) - (set! - sv-912 - (lookup-text! *common-text* (game-text-id move-dpad) #f) - ) - sv-912 - ) - ((= v1-81 4) - (cond - ((= - (-> (the-as (pointer uint32) (-> s3-0 s0-0 value-to-modify))) - 'aspect4x3 - ) - (set! sv-528 format) - (set! sv-544 (clear *temp-string*)) - (set! sv-560 "~30L~S~0L ~S") - (set! sv-576 (lookup-text! *common-text* (game-text-id 4x3) #f)) - (let ((a3-15 (lookup-text! *common-text* (game-text-id 16x9) #f))) - (sv-528 sv-544 sv-560 sv-576 a3-15) - ) - (set! sv-912 *temp-string*) - sv-912 - ) - (else - (set! sv-592 format) - (set! sv-608 (clear *temp-string*)) - (set! sv-624 "~0L~S ~30L~S~1L") - (set! sv-640 (lookup-text! *common-text* (game-text-id 4x3) #f)) - (let ((a3-16 (lookup-text! *common-text* (game-text-id 16x9) #f))) - (sv-592 sv-608 sv-624 sv-640 a3-16) - ) - (set! sv-912 *temp-string*) - sv-912 - ) - ) - ) - ((= v1-81 5) - (cond - ((= - (-> (the-as (pointer uint32) (-> s3-0 s0-0 value-to-modify))) - 'ntsc - ) - (set! sv-656 format) - (set! sv-672 (clear *temp-string*)) - (set! sv-688 "~0L~S ~30L~S~1L") - (set! sv-704 (lookup-text! *common-text* (game-text-id 50hz) #f)) - (let ((a3-17 (lookup-text! *common-text* (game-text-id 60hz) #f))) - (sv-656 sv-672 sv-688 sv-704 a3-17) - ) - (set! sv-912 *temp-string*) - sv-912 - ) - (else - (set! sv-720 format) - (set! sv-736 (clear *temp-string*)) - (set! sv-752 "~30L~S~0L ~S") - (set! sv-768 (lookup-text! *common-text* (game-text-id 50hz) #f)) - (let ((a3-18 (lookup-text! *common-text* (game-text-id 60hz) #f))) - (sv-720 sv-736 sv-752 sv-768 a3-18) - ) - (set! sv-912 *temp-string*) - sv-912 - ) - ) - ) - ) - ) - ) - (else - (let ((v1-195 (-> s3-0 s0-0 option-type))) - (cond - ((or (zero? v1-195) (= v1-195 3) (= v1-195 4) (= v1-195 5)) - (set! sv-912 (lookup-text! *common-text* (-> s3-0 s0-0 name) #f)) - sv-912 - ) - ((= v1-195 2) - (set! sv-784 format) - (set! sv-800 (clear *temp-string*)) - (set! sv-816 "~S: ~S") - (set! sv-832 (lookup-text! *common-text* (-> s3-0 s0-0 name) #f)) - (let - ((a3-19 - (if (-> (the-as (pointer uint32) (-> s3-0 s0-0 value-to-modify))) - (lookup-text! *common-text* (game-text-id on) #f) - (lookup-text! *common-text* (game-text-id off) #f) - ) - ) - ) - (sv-784 sv-800 sv-816 sv-832 a3-19) - ) - (set! sv-912 *temp-string*) - sv-912 - ) - ((= v1-195 1) - (set! sv-848 format) - (set! sv-864 (clear *temp-string*)) - (set! sv-880 "~S: ~S") - (set! sv-896 (lookup-text! *common-text* (-> s3-0 s0-0 name) #f)) - (let - ((a3-20 - (lookup-text! - *common-text* - (-> - *language-name-remap* - (-> (the-as (pointer uint64) (-> s3-0 s0-0 value-to-modify))) - ) - #f - ) - ) - ) - (sv-848 sv-864 sv-880 sv-896 a3-20) - ) - (set! sv-912 *temp-string*) - sv-912 - ) - ) - ) - ) - ) - ) - (when sv-912 - (let ((f0-23 (-> obj transition-percentage-invert))) - (let ((v1-235 sv-112)) - (set! - (-> v1-235 color) - (the-as - font-color - (if (and (= s0-0 (-> obj option-index)) (not (-> obj in-transition))) - 30 - 0 - ) - ) - ) - ) - (set! - (-> sv-112 origin x) - (the float (- sv-128 (-> obj left-x-offset))) - ) - (set! - (-> sv-112 origin y) - (the float (the int (* (the float sv-144) (if (-> s3-0 s0-0 scale) - f0-23 - 1.0 - ) - ) + (let ((v1-195 (-> s3-0 s0-0 option-type))) + (cond + ((or (zero? v1-195) (= v1-195 3) (= v1-195 4) (= v1-195 5)) + (set! sv-912 (lookup-text! *common-text* (-> s3-0 s0-0 name) #f)) + sv-912 ) - ) - ) - (let ((v1-246 sv-112)) - (set! (-> v1-246 scale) (* arg2 f0-23)) - ) - (let ((t9-60 print-game-text) - (a1-64 sv-112) - (a2-50 #f) - (a3-21 (the int (* 128.0 f0-23))) - (t0-2 22) + ((= v1-195 2) + (set! sv-784 format) + (set! sv-800 (clear *temp-string*)) + (set! sv-816 "~S: ~S") + (set! sv-832 (lookup-text! *common-text* (-> s3-0 s0-0 name) #f)) + (let ((a3-19 (if (-> (the-as (pointer uint32) (-> s3-0 s0-0 value-to-modify))) + (lookup-text! *common-text* (game-text-id on) #f) + (lookup-text! *common-text* (game-text-id off) #f) + ) + ) + ) + (sv-784 sv-800 sv-816 sv-832 a3-19) + ) + (set! sv-912 *temp-string*) + sv-912 + ) + ((= v1-195 1) + (set! sv-848 format) + (set! sv-864 (clear *temp-string*)) + (set! sv-880 "~S: ~S") + (set! sv-896 (lookup-text! *common-text* (-> s3-0 s0-0 name) #f)) + (let ((a3-20 (lookup-text! + *common-text* + (-> *language-name-remap* (-> (the-as (pointer uint64) (-> s3-0 s0-0 value-to-modify)))) + #f + ) + ) + ) + (sv-848 sv-864 sv-880 sv-896 a3-20) + ) + (set! sv-912 *temp-string*) + sv-912 + ) + ) + ) + ) ) - (t9-60 sv-912 a1-64 a2-50 a3-21 t0-2) - ) + ) + (when sv-912 + (let ((f0-23 (-> obj transition-percentage-invert))) + (let ((v1-235 sv-112)) + (set! (-> v1-235 color) + (the-as font-color (if (and (= s0-0 (-> obj option-index)) (not (-> obj in-transition))) + 30 + 0 + ) + ) + ) + ) + (set! (-> sv-112 origin x) (the float (- sv-128 (-> obj left-x-offset)))) + (set! (-> sv-112 origin y) (the float (the int (* (the float sv-144) (if (-> s3-0 s0-0 scale) + f0-23 + 1.0 + ) + ) + ) + ) + ) + (let ((v1-246 sv-112)) + (set! (-> v1-246 scale) (* arg2 f0-23)) + ) + (let ((t9-60 print-game-text) + (a1-64 sv-112) + (a2-50 #f) + (a3-21 (the int (* 128.0 f0-23))) + (t0-2 22) + ) + (t9-60 sv-912 a1-64 a2-50 a3-21 t0-2) + ) + ) + ) + (+! s2-1 arg1) + (+! s1-0 1) + ) ) - ) - (+! s2-1 arg1) - (+! s1-0 1) ) - ) ) - ) 0 (none) ) @@ -2258,331 +1994,211 @@ ;; definition for method 17 of type progress ;; INFO: Return type mismatch int vs none. (defmethod draw-progress progress ((obj progress)) - (let - ((f30-0 - (+ - -409.0 - (-> obj particles 2 init-pos x) - (* 0.8 (the float (-> obj left-x-offset))) - ) - ) - (s5-0 (if (or (-> obj stat-transition) (nonzero? (-> obj level-transition))) - 0 - (-> obj transition-offset) - ) - ) - ) - (let - ((f28-0 - (if (or (-> obj stat-transition) (nonzero? (-> obj level-transition))) - 1.0 - (-> obj transition-percentage-invert) - ) - ) - ) - (let* - ((s3-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s4-0 (-> s3-0 base)) - ) - (let ((s2-0 draw-string-xy)) - (format - (clear *temp-string*) - "~D" - (the int (+ 0.5 (-> *target* game money))) - ) - (s2-0 - *temp-string* - s3-0 - (the int (+ 428.0 (the float s5-0) f30-0)) - (- 12 (the int (* 0.16666667 f30-0))) - (font-color default) - (font-flags shadow kerning large) - ) - ) - (let ((s2-1 draw-string-xy)) - (format - (clear *temp-string*) - "~D" - (the int (+ 0.5 (-> *target* game fuel))) - ) - (s2-1 - *temp-string* - s3-0 - (the int (+ 456.0 (the float (adjust-pos s5-0 50)) f30-0)) - (- 48 (the int (* 0.125 f30-0))) - (font-color default) - (font-flags shadow kerning large) - ) - ) - (let ((s2-2 draw-string-xy)) - (format - (clear *temp-string*) - "~D" - (the int (+ 0.5 (-> *target* fact-info-target buzzer))) - ) - (s2-2 - *temp-string* - s3-0 - (the int (+ 469.0 (the float (adjust-pos s5-0 100)) f30-0)) - 89 - (font-color default) - (font-flags shadow kerning large) - ) - ) - (let ((a3-4 (-> s3-0 base))) - (let ((v1-20 (the-as object (-> s3-0 base)))) - (set! - (-> (the-as dma-packet v1-20) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) + (let ((f30-0 (+ -409.0 (-> obj particles 2 init-pos x) (* 0.8 (the float (-> obj left-x-offset))))) + (s5-0 (if (or (-> obj stat-transition) (nonzero? (-> obj level-transition))) + 0 + (-> obj transition-offset) + ) + ) ) - (set! (-> (the-as dma-packet v1-20) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-20) vif1) (new 'static 'vif-tag)) - (set! (-> s3-0 base) (&+ (the-as pointer v1-20) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s4-0 - (the-as (pointer dma-tag) a3-4) - ) - ) - ) - (let - ((s4-2 - (new - 'stack - 'font-context - *font-default-matrix* - (the - int - (+ - (- 423.0 (the float (/ (-> obj left-x-offset) 2))) - f30-0 - (the float (adjust-pos s5-0 150)) + (let ((f28-0 (if (or (-> obj stat-transition) (nonzero? (-> obj level-transition))) + 1.0 + (-> obj transition-percentage-invert) + ) + ) + ) + (let* ((s3-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s4-0 (-> s3-0 base)) + ) + (let ((s2-0 draw-string-xy)) + (format (clear *temp-string*) "~D" (the int (+ 0.5 (-> *target* game money)))) + (s2-0 + *temp-string* + s3-0 + (the int (+ 428.0 (the float s5-0) f30-0)) + (- 12 (the int (* 0.16666667 f30-0))) + (font-color default) + (font-flags shadow kerning large) + ) + ) + (let ((s2-1 draw-string-xy)) + (format (clear *temp-string*) "~D" (the int (+ 0.5 (-> *target* game fuel)))) + (s2-1 + *temp-string* + s3-0 + (the int (+ 456.0 (the float (adjust-pos s5-0 50)) f30-0)) + (- 48 (the int (* 0.125 f30-0))) + (font-color default) + (font-flags shadow kerning large) + ) + ) + (let ((s2-2 draw-string-xy)) + (format (clear *temp-string*) "~D" (the int (+ 0.5 (-> *target* fact-info-target buzzer)))) + (s2-2 + *temp-string* + s3-0 + (the int (+ 469.0 (the float (adjust-pos s5-0 100)) f30-0)) + 89 + (font-color default) + (font-flags shadow kerning large) + ) + ) + (let ((a3-4 (-> s3-0 base))) + (let ((v1-20 (the-as object (-> s3-0 base)))) + (set! (-> (the-as dma-packet v1-20) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-20) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-20) vif1) (new 'static 'vif-tag)) + (set! (-> s3-0 base) (&+ (the-as pointer v1-20) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s4-0 + (the-as (pointer dma-tag) a3-4) + ) ) - ) - 131 - 0.0 - (font-color default) - (font-flags shadow kerning) ) - ) - ) - (let ((v1-29 s4-2)) - (set! (-> v1-29 width) (the float 100)) - ) - (let ((v1-30 s4-2)) - (set! (-> v1-30 height) (the float 15)) - ) - (let ((v1-31 s4-2)) - (set! (-> v1-31 scale) 0.5) - ) - (set! (-> s4-2 flags) (font-flags shadow kerning large)) - (print-game-text - (lookup-text! *common-text* (game-text-id options) #f) - s4-2 - #f - 128 - 22 - ) - (let ((v1-34 s4-2)) - (set! (-> v1-34 width) (the float 160)) - ) - (let ((v1-35 s4-2)) - (set! (-> v1-35 height) (the float 22)) - ) - (let ((v1-36 s4-2)) - (set! (-> v1-36 scale) 1.3) - ) - (let ((a0-31 s4-2)) - (set! (-> a0-31 color) (font-color another-light-blue)) - ) - (set! - (-> s4-2 origin x) - (+ - (- - 435.0 - (the float (if (< (-> *progress-process* 0 completion-percentage) 10.0) - 93 - 80 - ) - ) + (let ((s4-2 + (new + 'stack + 'font-context + *font-default-matrix* + (the int (+ (- 423.0 (the float (/ (-> obj left-x-offset) 2))) f30-0 (the float (adjust-pos s5-0 150)))) + 131 + 0.0 + (font-color default) + (font-flags shadow kerning) + ) + ) + ) + (let ((v1-29 s4-2)) + (set! (-> v1-29 width) (the float 100)) + ) + (let ((v1-30 s4-2)) + (set! (-> v1-30 height) (the float 15)) + ) + (let ((v1-31 s4-2)) + (set! (-> v1-31 scale) 0.5) + ) + (set! (-> s4-2 flags) (font-flags shadow kerning large)) + (print-game-text (lookup-text! *common-text* (game-text-id options) #f) s4-2 #f 128 22) + (let ((v1-34 s4-2)) + (set! (-> v1-34 width) (the float 160)) + ) + (let ((v1-35 s4-2)) + (set! (-> v1-35 height) (the float 22)) + ) + (let ((v1-36 s4-2)) + (set! (-> v1-36 scale) 1.3) + ) + (let ((a0-31 s4-2)) + (set! (-> a0-31 color) (font-color another-light-blue)) + ) + (set! (-> s4-2 origin x) + (+ (- 435.0 (the float (if (< (-> *progress-process* 0 completion-percentage) 10.0) + 93 + 80 + ) + ) + ) + f30-0 + ) + ) + (set! (-> s4-2 origin y) 180.0) + (set! (-> s4-2 flags) (font-flags shadow kerning middle left large)) + (let ((s3-3 print-game-text)) + (format (clear *temp-string*) "~2D%" (the int (-> *progress-process* 0 completion-percentage))) + (s3-3 *temp-string* s4-2 #f (the int (* 128.0 f28-0)) 22) + ) ) - f30-0 - ) ) - (set! (-> s4-2 origin y) 180.0) - (set! (-> s4-2 flags) (font-flags shadow kerning middle left large)) - (let ((s3-3 print-game-text)) - (format - (clear *temp-string*) - "~2D%" - (the int (-> *progress-process* 0 completion-percentage)) - ) - (s3-3 *temp-string* s4-2 #f (the int (* 128.0 f28-0)) 22) - ) - ) - ) - 0.0 - (let ((f28-1 (+ -94.0 (-> obj particles 2 init-pos x))) - (s3-4 90) - (s4-3 224) - (s2-5 (/ s5-0 5)) - (f26-3 (-> obj button-scale)) - ) - (let ((f24-0 (* 182.04445 (- (/ -36.0 f26-3) (the float s2-5))))) - (set! - (-> obj particles 27 init-pos x) - (the float (+ s3-4 (the int (* f28-1 (cos f24-0))))) - ) - (set! - (-> obj particles 27 init-pos y) - (the float (+ s4-3 (the int (* f28-1 (sin f24-0))))) - ) - ) - (let - ((f24-2 (* 182.04445 (- (/ -21.0 f26-3) (the float (adjust-pos s2-5 10))))) - ) - (set! - (-> obj particles 28 init-pos x) - (the float (+ s3-4 (the int (* f28-1 (cos f24-2))))) - ) - (set! - (-> obj particles 28 init-pos y) - (the float (+ s4-3 (the int (* f28-1 (sin f24-2))))) - ) - ) - (let - ((f24-4 (* 182.04445 (- (/ -6.0 f26-3) (the float (adjust-pos s2-5 15)))))) - (set! - (-> obj particles 29 init-pos x) - (the float (+ s3-4 (the int (* f28-1 (cos f24-4))))) - ) - (set! - (-> obj particles 29 init-pos y) - (the float (+ s4-3 (the int (* f28-1 (sin f24-4))))) - ) - ) - (let - ((f26-5 (* 182.04445 (- (/ 9.0 f26-3) (the float (adjust-pos s2-5 20)))))) - (set! - (-> obj particles 30 init-pos x) - (the float (+ s3-4 (the int (* f28-1 (cos f26-5))))) - ) - (set! - (-> obj particles 30 init-pos y) - (the float (+ s4-3 (the int (* f28-1 (sin f26-5))))) - ) - ) - ) - (when *cheat-mode* - (let ((a0-46 "AUTO SAVE OFF")) - (if (-> *setting-control* current auto-save) - (set! a0-46 "AUTO SAVE ON") - ) - (let* - ((s3-5 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (s4-4 (-> s3-5 base)) - ) - (draw-string-xy - a0-46 - s3-5 - (the int (+ 430.0 f30-0)) - 200 - (font-color blue-white) - (font-flags shadow kerning middle) - ) - (let ((a3-9 (-> s3-5 base))) - (let ((v1-81 (the-as object (-> s3-5 base)))) - (set! - (-> (the-as dma-packet v1-81) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-81) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-81) vif1) (new 'static 'vif-tag)) - (set! (-> s3-5 base) (&+ (the-as pointer v1-81) 16)) + 0.0 + (let ((f28-1 (+ -94.0 (-> obj particles 2 init-pos x))) + (s3-4 90) + (s4-3 224) + (s2-5 (/ s5-0 5)) + (f26-3 (-> obj button-scale)) + ) + (let ((f24-0 (* 182.04445 (- (/ -36.0 f26-3) (the float s2-5))))) + (set! (-> obj particles 27 init-pos x) (the float (+ s3-4 (the int (* f28-1 (cos f24-0)))))) + (set! (-> obj particles 27 init-pos y) (the float (+ s4-3 (the int (* f28-1 (sin f24-0)))))) ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s4-4 - (the-as (pointer dma-tag) a3-9) + (let ((f24-2 (* 182.04445 (- (/ -21.0 f26-3) (the float (adjust-pos s2-5 10)))))) + (set! (-> obj particles 28 init-pos x) (the float (+ s3-4 (the int (* f28-1 (cos f24-2)))))) + (set! (-> obj particles 28 init-pos y) (the float (+ s4-3 (the int (* f28-1 (sin f24-2)))))) + ) + (let ((f24-4 (* 182.04445 (- (/ -6.0 f26-3) (the float (adjust-pos s2-5 15)))))) + (set! (-> obj particles 29 init-pos x) (the float (+ s3-4 (the int (* f28-1 (cos f24-4)))))) + (set! (-> obj particles 29 init-pos y) (the float (+ s4-3 (the int (* f28-1 (sin f24-4)))))) + ) + (let ((f26-5 (* 182.04445 (- (/ 9.0 f26-3) (the float (adjust-pos s2-5 20)))))) + (set! (-> obj particles 30 init-pos x) (the float (+ s3-4 (the int (* f28-1 (cos f26-5)))))) + (set! (-> obj particles 30 init-pos y) (the float (+ s4-3 (the int (* f28-1 (sin f26-5)))))) ) - ) ) - ) + (when *cheat-mode* + (let ((a0-46 "AUTO SAVE OFF")) + (if (-> *setting-control* current auto-save) + (set! a0-46 "AUTO SAVE ON") + ) + (let* ((s3-5 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s4-4 (-> s3-5 base)) + ) + (draw-string-xy + a0-46 + s3-5 + (the int (+ 430.0 f30-0)) + 200 + (font-color blue-white) + (font-flags shadow kerning middle) + ) + (let ((a3-9 (-> s3-5 base))) + (let ((v1-81 (the-as object (-> s3-5 base)))) + (set! (-> (the-as dma-packet v1-81) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-81) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-81) vif1) (new 'static 'vif-tag)) + (set! (-> s3-5 base) (&+ (the-as pointer v1-81) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s4-4 + (the-as (pointer dma-tag) a3-9) + ) + ) + ) + ) + ) + (let ((a0-52 (-> obj icons 5 icon 0 root))) + (set-yaw-angle-clear-roll-pitch! + a0-52 + (- (y-angle a0-52) (* 182.04445 (* 4.0 (-> *display* time-adjust-ratio)))) + ) + ) + (let* ((f28-2 (* 0.00024414062 (the float (-> *progress-process* 0 in-out-position)))) + (f30-1 (* 300.0 f28-2)) + ) + (set! (-> obj particles 18 init-pos x) + (the float (+ (the int (the float (adjust-pos s5-0 50))) 394 (the int f30-1) (-> obj right-x-offset))) + ) + (set! (-> obj particles 18 init-pos y) (the float (- 40 (the int (* 80.0 f28-2))))) + (set! (-> obj icons 5 icon-x) + (+ (the int (the float (adjust-pos s5-0 50))) 393 (the int f30-1) (-> obj right-x-offset)) + ) + (set! (-> obj icons 5 icon-y) (- (-> obj small-orb-y-offset) (the int (* 80.0 f28-2)))) + (set! (-> obj particles 16 init-pos x) + (the float (+ (the int (the float (adjust-pos s5-0 100))) 425 (the int f30-1) (-> obj right-x-offset))) + ) + (set! (-> obj particles 16 init-pos y) (the float (- 112 (the int (* 60.0 f28-2))))) + (set! (-> obj particles 17 init-pos x) (the float (+ (the int (the float (adjust-pos s5-0 150))) + 442 + (the int f30-1) + (the int (* 0.7 (the float (-> obj right-x-offset)))) + ) + ) + ) + ) ) - (let ((a0-52 (-> obj icons 5 icon 0 root))) - (set-yaw-angle-clear-roll-pitch! - a0-52 - (- (y-angle a0-52) (* 182.04445 (* 4.0 (-> *display* time-adjust-ratio)))) - ) - ) - (let* - ((f28-2 - (* 0.00024414062 (the float (-> *progress-process* 0 in-out-position))) - ) - (f30-1 (* 300.0 f28-2)) - ) - (set! - (-> obj particles 18 init-pos x) - (the - float - (+ - (the int (the float (adjust-pos s5-0 50))) - 394 - (the int f30-1) - (-> obj right-x-offset) - ) - ) - ) - (set! - (-> obj particles 18 init-pos y) - (the float (- 40 (the int (* 80.0 f28-2)))) - ) - (set! - (-> obj icons 5 icon-x) - (+ - (the int (the float (adjust-pos s5-0 50))) - 393 - (the int f30-1) - (-> obj right-x-offset) - ) - ) - (set! - (-> obj icons 5 icon-y) - (- (-> obj small-orb-y-offset) (the int (* 80.0 f28-2))) - ) - (set! - (-> obj particles 16 init-pos x) - (the - float - (+ - (the int (the float (adjust-pos s5-0 100))) - 425 - (the int f30-1) - (-> obj right-x-offset) - ) - ) - ) - (set! - (-> obj particles 16 init-pos y) - (the float (- 112 (the int (* 60.0 f28-2)))) - ) - (set! - (-> obj particles 17 init-pos x) - (the - float - (+ - (the int (the float (adjust-pos s5-0 150))) - 442 - (the int f30-1) - (the int (* 0.7 (the float (-> obj right-x-offset)))) - ) - ) - ) - ) - ) (set! (-> obj particles 17 init-pos y) 193.0) 0 (none) diff --git a/test/decompiler/reference/engine/ui/progress/progress-part_REF.gc b/test/decompiler/reference/engine/ui/progress/progress-part_REF.gc index c141aeb588..5fca41450f 100644 --- a/test/decompiler/reference/engine/ui/progress/progress-part_REF.gc +++ b/test/decompiler/reference/engine/ui/progress/progress-part_REF.gc @@ -3,33 +3,27 @@ ;; definition for function part-progress-hud-left-func ;; INFO: Return type mismatch float vs none. -(defun - part-progress-hud-left-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-progress-hud-left-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((v1-0 *progress-process*)) - (set! (-> arg2 vector 0 w) (-> v1-0 0 left-side-x-scale)) - (set! (-> arg2 vector 1 w) (-> v1-0 0 left-side-y-scale)) - ) + (set! (-> arg2 vector 0 w) (-> v1-0 0 left-side-x-scale)) + (set! (-> arg2 vector 1 w) (-> v1-0 0 left-side-y-scale)) + ) (none) ) ;; definition for function part-progress-hud-right-func ;; INFO: Return type mismatch float vs none. -(defun - part-progress-hud-right-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-progress-hud-right-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((v1-0 *progress-process*)) - (set! (-> arg2 vector 0 w) (-> v1-0 0 right-side-x-scale)) - (set! (-> arg2 vector 1 w) (-> v1-0 0 right-side-y-scale)) - ) + (set! (-> arg2 vector 0 w) (-> v1-0 0 right-side-x-scale)) + (set! (-> arg2 vector 1 w) (-> v1-0 0 right-side-y-scale)) + ) (none) ) ;; definition for function part-progress-hud-orb-func ;; INFO: Return type mismatch float vs none. -(defun - part-progress-hud-orb-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-progress-hud-orb-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (set! (-> arg2 vector 0 w) (/ 5324.8 (-> *progress-process* 0 sides-x-scale))) (set! (-> arg2 vector 1 w) (/ 5324.8 (-> *progress-process* 0 sides-x-scale))) (none) @@ -37,9 +31,7 @@ ;; definition for function part-progress-hud-buzzer-func ;; INFO: Return type mismatch float vs none. -(defun - part-progress-hud-buzzer-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-progress-hud-buzzer-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (set! (-> arg2 vector 0 w) (/ 6144.0 (-> *progress-process* 0 sides-x-scale))) (set! (-> arg2 vector 1 w) (/ 6144.0 (-> *progress-process* 0 sides-x-scale))) (none) @@ -47,9 +39,7 @@ ;; definition for function part-progress-hud-button-func ;; INFO: Return type mismatch float vs none. -(defun - part-progress-hud-button-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-progress-hud-button-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (set! (-> arg2 vector 0 w) (/ 6553.6 (-> *progress-process* 0 sides-x-scale))) (set! (-> arg2 vector 1 w) (/ 6553.6 (-> *progress-process* 0 sides-x-scale))) (none) @@ -57,27 +47,20 @@ ;; definition for function part-progress-hud-tint-func ;; INFO: Return type mismatch int vs none. -(defun - part-progress-hud-tint-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) - (set! - (-> arg2 vector 2 w) - (the float (- 64 (sar (* 63 (-> *progress-process* 0 in-out-position)) 12))) - ) +(defun part-progress-hud-tint-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) + (set! (-> arg2 vector 2 w) (the float (- 64 (sar (* 63 (-> *progress-process* 0 in-out-position)) 12)))) 0 (none) ) ;; definition for function part-progress-card-slot-01-func ;; INFO: Return type mismatch int vs none. -(defun - part-progress-card-slot-01-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-progress-card-slot-01-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (set! (-> arg2 vector 2 w) (if (zero? (-> *progress-process* 0 option-index)) - 64.0 - 32.0 - ) - ) + 64.0 + 32.0 + ) + ) (set! (-> arg2 vector 1 w) (-> *progress-process* 0 slot-scale)) 0 (none) @@ -85,14 +68,12 @@ ;; definition for function part-progress-card-slot-02-func ;; INFO: Return type mismatch int vs none. -(defun - part-progress-card-slot-02-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-progress-card-slot-02-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (set! (-> arg2 vector 2 w) (if (= (-> *progress-process* 0 option-index) 1) - 64.0 - 32.0 - ) - ) + 64.0 + 32.0 + ) + ) (set! (-> arg2 vector 1 w) (-> *progress-process* 0 slot-scale)) 0 (none) @@ -100,14 +81,12 @@ ;; definition for function part-progress-card-slot-03-func ;; INFO: Return type mismatch int vs none. -(defun - part-progress-card-slot-03-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-progress-card-slot-03-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (set! (-> arg2 vector 2 w) (if (= (-> *progress-process* 0 option-index) 2) - 64.0 - 32.0 - ) - ) + 64.0 + 32.0 + ) + ) (set! (-> arg2 vector 1 w) (-> *progress-process* 0 slot-scale)) 0 (none) @@ -115,14 +94,12 @@ ;; definition for function part-progress-card-slot-04-func ;; INFO: Return type mismatch int vs none. -(defun - part-progress-card-slot-04-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-progress-card-slot-04-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (set! (-> arg2 vector 2 w) (if (= (-> *progress-process* 0 option-index) 3) - 64.0 - 32.0 - ) - ) + 64.0 + 32.0 + ) + ) (set! (-> arg2 vector 1 w) (-> *progress-process* 0 slot-scale)) 0 (none) @@ -130,1748 +107,1492 @@ ;; definition for function part-progress-card-cell-func ;; INFO: Return type mismatch int vs none. -(defun - part-progress-card-cell-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) - (let - ((f0-1 - (* 2.0 (+ -0.5 (-> *progress-process* 0 transition-percentage-invert))) - ) +(defun part-progress-card-cell-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) + (let ((f0-1 (* 2.0 (+ -0.5 (-> *progress-process* 0 transition-percentage-invert))))) + (if (< f0-1 0.0) + (set! f0-1 0.0) + ) + (set! (-> arg2 vector 2 w) (* 128.0 f0-1)) ) - (if (< f0-1 0.0) - (set! f0-1 0.0) - ) - (set! (-> arg2 vector 2 w) (* 128.0 f0-1)) - ) 0 (none) ) ;; definition for function part-progress-save-icon-func ;; INFO: Return type mismatch int vs none. -(defun - part-progress-save-icon-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) - (let - ((f0-1 (* 6144.0 (-> *progress-process* 0 transition-percentage-invert)))) - (set! (-> arg2 vector 0 w) f0-1) - (set! (-> arg2 vector 1 w) f0-1) - ) +(defun part-progress-save-icon-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) + (let ((f0-1 (* 6144.0 (-> *progress-process* 0 transition-percentage-invert)))) + (set! (-> arg2 vector 0 w) f0-1) + (set! (-> arg2 vector 1 w) f0-1) + ) 0 (none) ) ;; definition for function fuel-cell-progress-hud-orbit-callback ;; INFO: Return type mismatch int vs none. -(defun - fuel-cell-progress-hud-orbit-callback - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun fuel-cell-progress-hud-orbit-callback ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let* ((a0-1 (-> arg1 key)) (s5-0 (the-as progress (-> a0-1 proc))) (v1-0 (the int (the-as float (-> arg1 user-float)))) (s4-0 -1) ) - (let ((a1-1 0)) - (dotimes (a2-1 (-> *progress-process* 0 nb-of-particles)) - (if (= (-> a0-1 matrix) (-> s5-0 particles a1-1 part matrix)) - (set! s4-0 a1-1) + (let ((a1-1 0)) + (dotimes (a2-1 (-> *progress-process* 0 nb-of-particles)) + (if (= (-> a0-1 matrix) (-> s5-0 particles a1-1 part matrix)) + (set! s4-0 a1-1) + ) + (+! a1-1 1) + ) ) - (+! a1-1 1) - ) - ) - (cond - ((= v1-0 3) - (if (= (-> s5-0 particle-state s4-0) 1) - (set! (-> arg2 vector 2 w) 42.0) - (set! (-> arg2 vector 2 w) 128.0) - ) - 0 - ) - (else - (let ((s3-0 (new 'stack-no-clear 'vector)) - (s2-0 (new 'stack-no-clear 'vector)) + (cond + ((= v1-0 3) + (if (= (-> s5-0 particle-state s4-0) 1) + (set! (-> arg2 vector 2 w) 42.0) + (set! (-> arg2 vector 2 w) 128.0) ) - (cond - ((or - (= s4-0 -1) - (= (-> s5-0 particle-state s4-0) 2) - (= (-> s5-0 particle-state s4-0) 1) - ) - (set! (-> arg2 vector 0 x) 245760.0) - ) - ((= v1-0 -1) - (set! (-> arg2 vector 0 x) 0.0) - (set! (-> arg2 vector 0 y) 0.0) - ) - (else - (vector<-cspace! - s3-0 - (-> s5-0 icons (logand s4-0 3) icon 0 node-list data v1-0) - ) - (vector<-cspace! - s2-0 - (-> s5-0 icons (logand s4-0 3) icon 0 node-list data 3) - ) - (vector-! s3-0 s3-0 s2-0) - (set! (-> arg2 vector 0 x) (* 48.0 (-> s3-0 x))) - (set! (-> arg2 vector 0 y) (* 60.0 (-> s3-0 y))) - (set! (-> arg2 vector 0 z) (* 32.0 (-> s3-0 z))) - ) + 0 ) + (else + (let ((s3-0 (new 'stack-no-clear 'vector)) + (s2-0 (new 'stack-no-clear 'vector)) + ) + (cond + ((or (= s4-0 -1) (= (-> s5-0 particle-state s4-0) 2) (= (-> s5-0 particle-state s4-0) 1)) + (set! (-> arg2 vector 0 x) 245760.0) + ) + ((= v1-0 -1) + (set! (-> arg2 vector 0 x) 0.0) + (set! (-> arg2 vector 0 y) 0.0) + ) + (else + (vector<-cspace! s3-0 (-> s5-0 icons (logand s4-0 3) icon 0 node-list data v1-0)) + (vector<-cspace! s2-0 (-> s5-0 icons (logand s4-0 3) icon 0 node-list data 3)) + (vector-! s3-0 s3-0 s2-0) + (set! (-> arg2 vector 0 x) (* 48.0 (-> s3-0 x))) + (set! (-> arg2 vector 0 y) (* 60.0 (-> s3-0 y))) + (set! (-> arg2 vector 0 z) (* 32.0 (-> s3-0 z))) + ) + ) + ) + 0 + ) ) - 0 - ) ) - ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 85) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags - (sp-group-flag use-local-clock screen-space) - :name "group-part-progress-hud-previous" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 332 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 85) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags + (sp-group-flag use-local-clock screen-space) + :name "group-part-progress-hud-previous" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 332 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 86) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags - (sp-group-flag use-local-clock screen-space) - :name "group-part-progress-hud-next" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 333 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 86) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags + (sp-group-flag use-local-clock screen-space) + :name "group-part-progress-hud-next" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 333 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 87) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-hud-selector" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 334 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 87) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-hud-selector" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 334 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 88) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-hud-left" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 335 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 88) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-hud-left" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 335 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 89) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-hud-right" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 336 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 89) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-hud-right" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 336 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 90) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-hud-tint" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 337 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 90) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-hud-tint" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 337 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 91) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-card-cell" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2190 :flags (launch-asap)) - (sp-item 2191 :flags (launch-asap)) - (sp-item 2192 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 91) (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-card-cell" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 2190 :flags (launch-asap)) + (sp-item 2191 :flags (launch-asap)) + (sp-item 2192 :flags (launch-asap)) + ) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 570) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-button-x" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2336 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 570) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-button-x" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2336 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 571) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-button-square" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2337 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 571) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-button-square" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2337 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 572) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-button-triangle" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2338 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 572) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-button-triangle" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2338 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 573) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-button-circle" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2339 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 573) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-button-circle" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2339 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 92) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-card-slot-01" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2142 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 92) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-card-slot-01" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2142 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 93) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-card-slot-02" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2143 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 93) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-card-slot-02" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2143 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 94) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-card-slot-03" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2144 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 94) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-card-slot-03" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2144 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 95) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-card-slot-04" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2145 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 95) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-card-slot-04" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2145 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 96) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name - "group-part-progress-hud-power-cell-center" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 338 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 96) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name + "group-part-progress-hud-power-cell-center" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 338 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 337) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 15.0)) - (sp-flt spt-scale-y (meters 11.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 64.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-progress-hud-tint-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 337) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 15.0)) + (sp-flt spt-scale-y (meters 11.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 64.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-progress-hud-tint-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2190) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x6e :page #x1cf)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.8)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-func spt-func 'part-progress-card-cell-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2190) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x6e :page #x1cf)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.8)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-func spt-func 'part-progress-card-cell-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2191) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x6d :page #x1cf)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 1.05)) - (sp-flt spt-scale-x (meters 0.8)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-func spt-func 'part-progress-card-cell-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2191) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x6d :page #x1cf)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 1.05)) + (sp-flt spt-scale-x (meters 0.8)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-func spt-func 'part-progress-card-cell-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2192) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x6c :page #x1cf)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 2.3)) - (sp-flt spt-scale-x (meters 0.8)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-func spt-func 'part-progress-card-cell-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2192) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x6c :page #x1cf)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 2.3)) + (sp-flt spt-scale-x (meters 0.8)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-func spt-func 'part-progress-card-cell-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2336) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.6)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-progress-hud-button-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2336) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.6)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-progress-hud-button-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2337) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.6)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-progress-hud-button-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2337) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.6)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-progress-hud-button-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2338) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.6)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-progress-hud-button-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2338) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.6)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-progress-hud-button-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2339) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.6)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-progress-hud-button-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2339) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.6)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-progress-hud-button-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2142) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 9.2)) - (sp-flt spt-scale-y (meters 2.0)) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 64.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-func spt-func 'part-progress-card-slot-01-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2142) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 9.2)) + (sp-flt spt-scale-y (meters 2.0)) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 64.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-func spt-func 'part-progress-card-slot-01-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2143) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 9.2)) - (sp-flt spt-scale-y (meters 2.0)) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 64.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-func spt-func 'part-progress-card-slot-02-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2143) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 9.2)) + (sp-flt spt-scale-y (meters 2.0)) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 64.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-func spt-func 'part-progress-card-slot-02-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2144) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 9.2)) - (sp-flt spt-scale-y (meters 2.0)) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 64.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-func spt-func 'part-progress-card-slot-03-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2144) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 9.2)) + (sp-flt spt-scale-y (meters 2.0)) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 64.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-func spt-func 'part-progress-card-slot-03-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2145) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 9.2)) - (sp-flt spt-scale-y (meters 2.0)) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 64.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-func spt-func 'part-progress-card-slot-04-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2145) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 9.2)) + (sp-flt spt-scale-y (meters 2.0)) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 64.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-func spt-func 'part-progress-card-slot-04-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 332) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 332) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 333) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 333) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 334) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.8)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 334) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.8)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 335) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 3.5)) - (sp-flt spt-scale-y (meters 13.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-progress-hud-left-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 335) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 3.5)) + (sp-flt spt-scale-y (meters 13.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-progress-hud-left-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 336) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x408)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 6.0)) - (sp-flt spt-scale-y (meters 13.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-progress-hud-right-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 336) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x408)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 6.0)) + (sp-flt spt-scale-y (meters 13.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-progress-hud-right-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 339) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-flt spt-userdata 4.0) - (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 339) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-flt spt-userdata 4.0) + (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 340) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-flt spt-userdata 5.0) - (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 340) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-flt spt-userdata 5.0) + (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 341) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-flt spt-userdata 6.0) - (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 341) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-flt spt-userdata 6.0) + (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 342) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-flt spt-userdata 7.0) - (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 342) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-flt spt-userdata 7.0) + (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 343) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-flt spt-userdata 9.0) - (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 343) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x31 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-flt spt-userdata 9.0) + (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 338) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-flt spt-userdata 3.0) - (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 338) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x30 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-flt spt-userdata 3.0) + (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 344) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 344) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.53333336) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 345) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-z 2160.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.07) (meters 0.46) 1.0) - (sp-rnd-int spt-r 0 1 255.0) - (sp-rnd-int spt-g 0 1 255.0) - (sp-rnd-int spt-b 0 1 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 0.35555556) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit9 bit13) - (sp-flt spt-userdata -1.0) - (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 232) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 345) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-z 2160.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.07) (meters 0.46) 1.0) + (sp-rnd-int spt-r 0 1 255.0) + (sp-rnd-int spt-g 0 1 255.0) + (sp-rnd-int spt-b 0 1 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 0.35555556) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit9 bit13) + (sp-flt spt-userdata -1.0) + (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 232) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 346) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.06) - (sp-flt spt-z 2160.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.25) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.1)) - (sp-rnd-int spt-r 0 1 255.0) - (sp-rnd-int spt-g 0 1 255.0) - (sp-rnd-int spt-b 0 1 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit9 bit13) - (sp-flt spt-userdata -1.0) - (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 232) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 346) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.06) + (sp-flt spt-z 2160.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.25) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.1)) + (sp-rnd-int spt-r 0 1 255.0) + (sp-rnd-int spt-g 0 1 255.0) + (sp-rnd-int spt-b 0 1 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit9 bit13) + (sp-flt spt-userdata -1.0) + (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 232) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 347) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-z 2160.0) - (sp-flt spt-scale-x (meters 2.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 1.8)) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 0.0 128.0 1.0) - (sp-flt spt-a 64.0) - (sp-flt spt-rotvel-z (degrees -0.4)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit9 bit13) - (sp-flt spt-userdata -1.0) - (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 347) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-z 2160.0) + (sp-flt spt-scale-x (meters 2.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 1.8)) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 0.0 128.0 1.0) + (sp-flt spt-a 64.0) + (sp-flt spt-rotvel-z (degrees -0.4)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit9 bit13) + (sp-flt spt-userdata -1.0) + (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 348) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-z 2160.0) - (sp-flt spt-scale-x (meters 2.4)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 2.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 64.0) - (sp-flt spt-rotvel-z (degrees 0.3)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit3 bit9 bit13) - (sp-flt spt-userdata -1.0) - (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 348) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-z 2160.0) + (sp-flt spt-scale-x (meters 2.4)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 2.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 64.0) + (sp-flt spt-rotvel-z (degrees 0.3)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit3 bit9 bit13) + (sp-flt spt-userdata -1.0) + (sp-func spt-func 'fuel-cell-progress-hud-orbit-callback) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 97) - (new 'static 'sparticle-launch-group - :length 8 - :duration #xbb8 - :linger-duration #x5dc - :flags - (sp-group-flag use-local-clock screen-space) - :name - "group-part-progress-hud-power-cell-whole" - :launcher - (new 'static 'inline-array sparticle-group-item 8 - (sp-item 338 :flags (launch-asap)) - (sp-item 347 :flags (launch-asap) :period 3600 :length 5) - (sp-item 348 :flags (launch-asap) :period 3600 :length 5) - (sp-item 343 :flags (launch-asap)) - (sp-item 339 :flags (launch-asap)) - (sp-item 340 :flags (launch-asap)) - (sp-item 341 :flags (launch-asap)) - (sp-item 342 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 97) (new 'static 'sparticle-launch-group + :length 8 + :duration #xbb8 + :linger-duration #x5dc + :flags + (sp-group-flag use-local-clock screen-space) + :name + "group-part-progress-hud-power-cell-whole" + :launcher + (new 'static 'inline-array sparticle-group-item 8 + (sp-item 338 :flags (launch-asap)) + (sp-item 347 :flags (launch-asap) :period 3600 :length 5) + (sp-item 348 :flags (launch-asap) :period 3600 :length 5) + (sp-item 343 :flags (launch-asap)) + (sp-item 339 :flags (launch-asap)) + (sp-item 340 :flags (launch-asap)) + (sp-item 341 :flags (launch-asap)) + (sp-item 342 :flags (launch-asap)) + ) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 98) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-buzzer" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1982 :flags (launch-asap) :binding 1981) - (sp-item 1981 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 98) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-buzzer" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1982 :flags (launch-asap) :binding 1981) + (sp-item 1981 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1982) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1982) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1981) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 1.3333334)) - (sp-flt spt-z 409.6) - (sp-flt spt-scale-x (meters 2.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.053333335)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit7 bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1981) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 1.3333334)) + (sp-flt spt-z 409.6) + (sp-flt spt-scale-x (meters 2.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.053333335)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit7 bit9 bit13) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 99) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-orb" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 1983 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 99) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-orb" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 1983 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1983) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1983) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 100) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-buzzer-small" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1985 :flags (launch-asap) :binding 1984) - (sp-item 1984 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 100) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-buzzer-small" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1985 :flags (launch-asap) :binding 1984) + (sp-item 1984 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1985) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1985) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit9 bit13) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1984) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 1.3333334)) - (sp-flt spt-z 204.8) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.05037037)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit7 bit9 bit13) - (sp-func spt-func 'part-progress-hud-buzzer-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1984) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x2a :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 1.3333334)) + (sp-flt spt-z 204.8) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.05037037)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit7 bit9 bit13) + (sp-func spt-func 'part-progress-hud-buzzer-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 101) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-orb-small" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 1986 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 101) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-orb-small" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 1986 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1986) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-progress-hud-orb-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1986) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-progress-hud-orb-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 615) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-progress-save-icon" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2478 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 615) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-progress-save-icon" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2478 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2478) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x6b :page #x1cf)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.8)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-func spt-func 'part-progress-save-icon-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2478) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x6b :page #x1cf)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.8)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-func spt-func 'part-progress-save-icon-func) + (sp-end) + ) + ) + ) ;; definition for method 34 of type progress ;; INFO: Return type mismatch int vs none. (defmethod initialize-particles progress ((obj progress)) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-0 (-> obj nb-of-particles))) - (set! (-> obj particles s5-0) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-0 part) - (create-launch-control (-> *part-group-id-table* 90) obj) - ) - (set! (-> obj particles s5-0 init-pos x) 256.0) - (set! (-> obj particles s5-0 init-pos y) 224.0) - (set! (-> obj particles s5-0 init-pos z) 16.0) - (set! (-> obj particles s5-0 part matrix) -1) + (let ((s5-0 (-> obj nb-of-particles))) + (set! (-> obj particles s5-0) (new 'static 'hud-particle)) + (set! (-> obj particles s5-0 part) (create-launch-control (-> *part-group-id-table* 90) obj)) + (set! (-> obj particles s5-0 init-pos x) 256.0) + (set! (-> obj particles s5-0 init-pos y) 224.0) + (set! (-> obj particles s5-0 init-pos z) 16.0) + (set! (-> obj particles s5-0 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-1 (-> obj nb-of-particles))) - (set! (-> obj particles s5-1) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-1 part) - (create-launch-control (-> *part-group-id-table* 88) obj) - ) - (set! (-> obj particles s5-1 init-pos x) -42.0) - (set! (-> obj particles s5-1 init-pos y) 254.0) - (set! (-> obj particles s5-1 init-pos z) 5.0) - (set! (-> obj particles s5-1 part matrix) -1) + (let ((s5-1 (-> obj nb-of-particles))) + (set! (-> obj particles s5-1) (new 'static 'hud-particle)) + (set! (-> obj particles s5-1 part) (create-launch-control (-> *part-group-id-table* 88) obj)) + (set! (-> obj particles s5-1 init-pos x) -42.0) + (set! (-> obj particles s5-1 init-pos y) 254.0) + (set! (-> obj particles s5-1 init-pos z) 5.0) + (set! (-> obj particles s5-1 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-2 (-> obj nb-of-particles))) - (set! (-> obj particles s5-2) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-2 part) - (create-launch-control (-> *part-group-id-table* 89) obj) - ) - (set! (-> obj particles s5-2 init-pos x) 610.0) - (set! (-> obj particles s5-2 init-pos y) 254.0) - (set! (-> obj particles s5-2 init-pos z) 5.0) - (set! (-> obj particles s5-2 part matrix) -1) + (let ((s5-2 (-> obj nb-of-particles))) + (set! (-> obj particles s5-2) (new 'static 'hud-particle)) + (set! (-> obj particles s5-2 part) (create-launch-control (-> *part-group-id-table* 89) obj)) + (set! (-> obj particles s5-2 init-pos x) 610.0) + (set! (-> obj particles s5-2 init-pos y) 254.0) + (set! (-> obj particles s5-2 init-pos z) 5.0) + (set! (-> obj particles s5-2 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-3 (-> obj nb-of-particles))) - (set! (-> obj particles s5-3) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-3 part) - (create-launch-control (-> *part-group-id-table* 85) obj) - ) - (set! (-> obj particles s5-3 init-pos x) -320.0) - (set! (-> obj particles s5-3 init-pos y) 40.0) - (set! (-> obj particles s5-3 init-pos z) 14.0) - (set! (-> obj particles s5-3 part matrix) -1) + (let ((s5-3 (-> obj nb-of-particles))) + (set! (-> obj particles s5-3) (new 'static 'hud-particle)) + (set! (-> obj particles s5-3 part) (create-launch-control (-> *part-group-id-table* 85) obj)) + (set! (-> obj particles s5-3 init-pos x) -320.0) + (set! (-> obj particles s5-3 init-pos y) 40.0) + (set! (-> obj particles s5-3 init-pos z) 14.0) + (set! (-> obj particles s5-3 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-4 (-> obj nb-of-particles))) - (set! (-> obj particles s5-4) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-4 part) - (create-launch-control (-> *part-group-id-table* 86) obj) - ) - (set! (-> obj particles s5-4 init-pos x) -320.0) - (set! (-> obj particles s5-4 init-pos y) 400.0) - (set! (-> obj particles s5-4 init-pos z) 14.0) - (set! (-> obj particles s5-4 part matrix) -1) + (let ((s5-4 (-> obj nb-of-particles))) + (set! (-> obj particles s5-4) (new 'static 'hud-particle)) + (set! (-> obj particles s5-4 part) (create-launch-control (-> *part-group-id-table* 86) obj)) + (set! (-> obj particles s5-4 init-pos x) -320.0) + (set! (-> obj particles s5-4 init-pos y) 400.0) + (set! (-> obj particles s5-4 init-pos z) 14.0) + (set! (-> obj particles s5-4 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-5 (-> obj nb-of-particles))) - (set! (-> obj particles s5-5) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-5 part) - (create-launch-control (-> *part-group-id-table* 87) obj) - ) - (set! (-> obj particles s5-5 init-pos x) -320.0) - (set! (-> obj particles s5-5 init-pos y) 194.0) - (set! (-> obj particles s5-5 init-pos z) 15.0) - (set! (-> obj particles s5-5 part matrix) -1) + (let ((s5-5 (-> obj nb-of-particles))) + (set! (-> obj particles s5-5) (new 'static 'hud-particle)) + (set! (-> obj particles s5-5 part) (create-launch-control (-> *part-group-id-table* 87) obj)) + (set! (-> obj particles s5-5 init-pos x) -320.0) + (set! (-> obj particles s5-5 init-pos y) 194.0) + (set! (-> obj particles s5-5 init-pos z) 15.0) + (set! (-> obj particles s5-5 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-6 (-> obj nb-of-particles))) - (set! (-> obj particles s5-6) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-6 part) - (create-launch-control (-> *part-group-id-table* 97) obj) - ) - (set! (-> obj particles s5-6 init-pos x) -320.0) - (set! (-> obj particles s5-6 init-pos y) 194.0) - (set! (-> obj particles s5-6 init-pos z) 14.0) - (set! (-> obj particles s5-6 part matrix) -1) + (let ((s5-6 (-> obj nb-of-particles))) + (set! (-> obj particles s5-6) (new 'static 'hud-particle)) + (set! (-> obj particles s5-6 part) (create-launch-control (-> *part-group-id-table* 97) obj)) + (set! (-> obj particles s5-6 init-pos x) -320.0) + (set! (-> obj particles s5-6 init-pos y) 194.0) + (set! (-> obj particles s5-6 init-pos z) 14.0) + (set! (-> obj particles s5-6 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-7 (-> obj nb-of-particles))) - (set! (-> obj particles s5-7) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-7 part) - (create-launch-control (-> *part-group-id-table* 97) obj) - ) - (set! (-> obj particles s5-7 init-pos x) -320.0) - (set! (-> obj particles s5-7 init-pos y) 194.0) - (set! (-> obj particles s5-7 init-pos z) 14.0) - (set! (-> obj particles s5-7 part matrix) -1) + (let ((s5-7 (-> obj nb-of-particles))) + (set! (-> obj particles s5-7) (new 'static 'hud-particle)) + (set! (-> obj particles s5-7 part) (create-launch-control (-> *part-group-id-table* 97) obj)) + (set! (-> obj particles s5-7 init-pos x) -320.0) + (set! (-> obj particles s5-7 init-pos y) 194.0) + (set! (-> obj particles s5-7 init-pos z) 14.0) + (set! (-> obj particles s5-7 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-8 (-> obj nb-of-particles))) - (set! (-> obj particles s5-8) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-8 part) - (create-launch-control (-> *part-group-id-table* 97) obj) - ) - (set! (-> obj particles s5-8 init-pos x) -320.0) - (set! (-> obj particles s5-8 init-pos y) 194.0) - (set! (-> obj particles s5-8 init-pos z) 14.0) - (set! (-> obj particles s5-8 part matrix) -1) + (let ((s5-8 (-> obj nb-of-particles))) + (set! (-> obj particles s5-8) (new 'static 'hud-particle)) + (set! (-> obj particles s5-8 part) (create-launch-control (-> *part-group-id-table* 97) obj)) + (set! (-> obj particles s5-8 init-pos x) -320.0) + (set! (-> obj particles s5-8 init-pos y) 194.0) + (set! (-> obj particles s5-8 init-pos z) 14.0) + (set! (-> obj particles s5-8 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-9 (-> obj nb-of-particles))) - (set! (-> obj particles s5-9) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-9 part) - (create-launch-control (-> *part-group-id-table* 97) obj) - ) - (set! (-> obj particles s5-9 init-pos x) -320.0) - (set! (-> obj particles s5-9 init-pos y) 194.0) - (set! (-> obj particles s5-9 init-pos z) 14.0) - (set! (-> obj particles s5-9 part matrix) -1) + (let ((s5-9 (-> obj nb-of-particles))) + (set! (-> obj particles s5-9) (new 'static 'hud-particle)) + (set! (-> obj particles s5-9 part) (create-launch-control (-> *part-group-id-table* 97) obj)) + (set! (-> obj particles s5-9 init-pos x) -320.0) + (set! (-> obj particles s5-9 init-pos y) 194.0) + (set! (-> obj particles s5-9 init-pos z) 14.0) + (set! (-> obj particles s5-9 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-10 (-> obj nb-of-particles))) - (set! (-> obj particles s5-10) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-10 part) - (create-launch-control (-> *part-group-id-table* 97) obj) - ) - (set! (-> obj particles s5-10 init-pos x) -320.0) - (set! (-> obj particles s5-10 init-pos y) 194.0) - (set! (-> obj particles s5-10 init-pos z) 14.0) - (set! (-> obj particles s5-10 part matrix) -1) + (let ((s5-10 (-> obj nb-of-particles))) + (set! (-> obj particles s5-10) (new 'static 'hud-particle)) + (set! (-> obj particles s5-10 part) (create-launch-control (-> *part-group-id-table* 97) obj)) + (set! (-> obj particles s5-10 init-pos x) -320.0) + (set! (-> obj particles s5-10 init-pos y) 194.0) + (set! (-> obj particles s5-10 init-pos z) 14.0) + (set! (-> obj particles s5-10 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-11 (-> obj nb-of-particles))) - (set! (-> obj particles s5-11) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-11 part) - (create-launch-control (-> *part-group-id-table* 97) obj) - ) - (set! (-> obj particles s5-11 init-pos x) -320.0) - (set! (-> obj particles s5-11 init-pos y) 194.0) - (set! (-> obj particles s5-11 init-pos z) 14.0) - (set! (-> obj particles s5-11 part matrix) -1) + (let ((s5-11 (-> obj nb-of-particles))) + (set! (-> obj particles s5-11) (new 'static 'hud-particle)) + (set! (-> obj particles s5-11 part) (create-launch-control (-> *part-group-id-table* 97) obj)) + (set! (-> obj particles s5-11 init-pos x) -320.0) + (set! (-> obj particles s5-11 init-pos y) 194.0) + (set! (-> obj particles s5-11 init-pos z) 14.0) + (set! (-> obj particles s5-11 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-12 (-> obj nb-of-particles))) - (set! (-> obj particles s5-12) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-12 part) - (create-launch-control (-> *part-group-id-table* 97) obj) - ) - (set! (-> obj particles s5-12 init-pos x) -320.0) - (set! (-> obj particles s5-12 init-pos y) 194.0) - (set! (-> obj particles s5-12 init-pos z) 14.0) - (set! (-> obj particles s5-12 part matrix) -1) + (let ((s5-12 (-> obj nb-of-particles))) + (set! (-> obj particles s5-12) (new 'static 'hud-particle)) + (set! (-> obj particles s5-12 part) (create-launch-control (-> *part-group-id-table* 97) obj)) + (set! (-> obj particles s5-12 init-pos x) -320.0) + (set! (-> obj particles s5-12 init-pos y) 194.0) + (set! (-> obj particles s5-12 init-pos z) 14.0) + (set! (-> obj particles s5-12 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-13 (-> obj nb-of-particles))) - (set! (-> obj particles s5-13) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-13 part) - (create-launch-control (-> *part-group-id-table* 97) obj) - ) - (set! (-> obj particles s5-13 init-pos x) -320.0) - (set! (-> obj particles s5-13 init-pos y) 194.0) - (set! (-> obj particles s5-13 init-pos z) 14.0) - (set! (-> obj particles s5-13 part matrix) -1) + (let ((s5-13 (-> obj nb-of-particles))) + (set! (-> obj particles s5-13) (new 'static 'hud-particle)) + (set! (-> obj particles s5-13 part) (create-launch-control (-> *part-group-id-table* 97) obj)) + (set! (-> obj particles s5-13 init-pos x) -320.0) + (set! (-> obj particles s5-13 init-pos y) 194.0) + (set! (-> obj particles s5-13 init-pos z) 14.0) + (set! (-> obj particles s5-13 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-14 (-> obj nb-of-particles))) - (set! (-> obj particles s5-14) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-14 part) - (create-launch-control (-> *part-group-id-table* 98) obj) - ) - (set! (-> obj particles s5-14 init-pos x) -320.0) - (set! (-> obj particles s5-14 init-pos y) 224.0) - (set! (-> obj particles s5-14 init-pos z) 14.0) - (set! (-> obj particles s5-14 part matrix) -1) + (let ((s5-14 (-> obj nb-of-particles))) + (set! (-> obj particles s5-14) (new 'static 'hud-particle)) + (set! (-> obj particles s5-14 part) (create-launch-control (-> *part-group-id-table* 98) obj)) + (set! (-> obj particles s5-14 init-pos x) -320.0) + (set! (-> obj particles s5-14 init-pos y) 224.0) + (set! (-> obj particles s5-14 init-pos z) 14.0) + (set! (-> obj particles s5-14 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-15 (-> obj nb-of-particles))) - (set! (-> obj particles s5-15) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-15 part) - (create-launch-control (-> *part-group-id-table* 99) obj) - ) - (set! (-> obj particles s5-15 init-pos x) -320.0) - (set! (-> obj particles s5-15 init-pos y) 224.0) - (set! (-> obj particles s5-15 init-pos z) 14.0) - (set! (-> obj particles s5-15 part matrix) -1) + (let ((s5-15 (-> obj nb-of-particles))) + (set! (-> obj particles s5-15) (new 'static 'hud-particle)) + (set! (-> obj particles s5-15 part) (create-launch-control (-> *part-group-id-table* 99) obj)) + (set! (-> obj particles s5-15 init-pos x) -320.0) + (set! (-> obj particles s5-15 init-pos y) 224.0) + (set! (-> obj particles s5-15 init-pos z) 14.0) + (set! (-> obj particles s5-15 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-16 (-> obj nb-of-particles))) - (set! (-> obj particles s5-16) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-16 part) - (create-launch-control (-> *part-group-id-table* 97) obj) - ) - (set! (-> obj particles s5-16 init-pos x) -320.0) - (set! (-> obj particles s5-16 init-pos y) 112.0) - (set! (-> obj particles s5-16 init-pos z) 4.0) - (set! (-> obj particles s5-16 part matrix) -1) + (let ((s5-16 (-> obj nb-of-particles))) + (set! (-> obj particles s5-16) (new 'static 'hud-particle)) + (set! (-> obj particles s5-16 part) (create-launch-control (-> *part-group-id-table* 97) obj)) + (set! (-> obj particles s5-16 init-pos x) -320.0) + (set! (-> obj particles s5-16 init-pos y) 112.0) + (set! (-> obj particles s5-16 init-pos z) 4.0) + (set! (-> obj particles s5-16 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-17 (-> obj nb-of-particles))) - (set! (-> obj particles s5-17) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-17 part) - (create-launch-control (-> *part-group-id-table* 100) obj) - ) - (set! (-> obj particles s5-17 init-pos x) -320.0) - (set! (-> obj particles s5-17 init-pos y) 193.0) - (set! (-> obj particles s5-17 init-pos z) 4.0) - (set! (-> obj particles s5-17 part matrix) -1) + (let ((s5-17 (-> obj nb-of-particles))) + (set! (-> obj particles s5-17) (new 'static 'hud-particle)) + (set! (-> obj particles s5-17 part) (create-launch-control (-> *part-group-id-table* 100) obj)) + (set! (-> obj particles s5-17 init-pos x) -320.0) + (set! (-> obj particles s5-17 init-pos y) 193.0) + (set! (-> obj particles s5-17 init-pos z) 4.0) + (set! (-> obj particles s5-17 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-18 (-> obj nb-of-particles))) - (set! (-> obj particles s5-18) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-18 part) - (create-launch-control (-> *part-group-id-table* 101) obj) - ) - (set! (-> obj particles s5-18 init-pos x) -320.0) - (set! (-> obj particles s5-18 init-pos y) 40.0) - (set! (-> obj particles s5-18 init-pos z) 4.0) - (set! (-> obj particles s5-18 part matrix) -1) + (let ((s5-18 (-> obj nb-of-particles))) + (set! (-> obj particles s5-18) (new 'static 'hud-particle)) + (set! (-> obj particles s5-18 part) (create-launch-control (-> *part-group-id-table* 101) obj)) + (set! (-> obj particles s5-18 init-pos x) -320.0) + (set! (-> obj particles s5-18 init-pos y) 40.0) + (set! (-> obj particles s5-18 init-pos z) 4.0) + (set! (-> obj particles s5-18 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-19 (-> obj nb-of-particles))) - (set! (-> obj particles s5-19) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-19 part) - (create-launch-control (-> *part-group-id-table* 92) obj) - ) - (set! (-> obj particles s5-19 init-pos x) -320.0) - (set! (-> obj particles s5-19 init-pos y) 90.0) - (set! (-> obj particles s5-19 init-pos z) 16.0) - (set! (-> obj particles s5-19 part matrix) -1) + (let ((s5-19 (-> obj nb-of-particles))) + (set! (-> obj particles s5-19) (new 'static 'hud-particle)) + (set! (-> obj particles s5-19 part) (create-launch-control (-> *part-group-id-table* 92) obj)) + (set! (-> obj particles s5-19 init-pos x) -320.0) + (set! (-> obj particles s5-19 init-pos y) 90.0) + (set! (-> obj particles s5-19 init-pos z) 16.0) + (set! (-> obj particles s5-19 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-20 (-> obj nb-of-particles))) - (set! (-> obj particles s5-20) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-20 part) - (create-launch-control (-> *part-group-id-table* 93) obj) - ) - (set! (-> obj particles s5-20 init-pos x) -320.0) - (set! (-> obj particles s5-20 init-pos y) 172.0) - (set! (-> obj particles s5-20 init-pos z) 16.0) - (set! (-> obj particles s5-20 part matrix) -1) + (let ((s5-20 (-> obj nb-of-particles))) + (set! (-> obj particles s5-20) (new 'static 'hud-particle)) + (set! (-> obj particles s5-20 part) (create-launch-control (-> *part-group-id-table* 93) obj)) + (set! (-> obj particles s5-20 init-pos x) -320.0) + (set! (-> obj particles s5-20 init-pos y) 172.0) + (set! (-> obj particles s5-20 init-pos z) 16.0) + (set! (-> obj particles s5-20 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-21 (-> obj nb-of-particles))) - (set! (-> obj particles s5-21) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-21 part) - (create-launch-control (-> *part-group-id-table* 94) obj) - ) - (set! (-> obj particles s5-21 init-pos x) -320.0) - (set! (-> obj particles s5-21 init-pos y) 254.0) - (set! (-> obj particles s5-21 init-pos z) 16.0) - (set! (-> obj particles s5-21 part matrix) -1) + (let ((s5-21 (-> obj nb-of-particles))) + (set! (-> obj particles s5-21) (new 'static 'hud-particle)) + (set! (-> obj particles s5-21 part) (create-launch-control (-> *part-group-id-table* 94) obj)) + (set! (-> obj particles s5-21 init-pos x) -320.0) + (set! (-> obj particles s5-21 init-pos y) 254.0) + (set! (-> obj particles s5-21 init-pos z) 16.0) + (set! (-> obj particles s5-21 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-22 (-> obj nb-of-particles))) - (set! (-> obj particles s5-22) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-22 part) - (create-launch-control (-> *part-group-id-table* 95) obj) - ) - (set! (-> obj particles s5-22 init-pos x) -320.0) - (set! (-> obj particles s5-22 init-pos y) 336.0) - (set! (-> obj particles s5-22 init-pos z) 16.0) - (set! (-> obj particles s5-22 part matrix) -1) + (let ((s5-22 (-> obj nb-of-particles))) + (set! (-> obj particles s5-22) (new 'static 'hud-particle)) + (set! (-> obj particles s5-22 part) (create-launch-control (-> *part-group-id-table* 95) obj)) + (set! (-> obj particles s5-22 init-pos x) -320.0) + (set! (-> obj particles s5-22 init-pos y) 336.0) + (set! (-> obj particles s5-22 init-pos z) 16.0) + (set! (-> obj particles s5-22 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-23 (-> obj nb-of-particles))) - (set! (-> obj particles s5-23) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-23 part) - (create-launch-control (-> *part-group-id-table* 91) obj) - ) - (set! (-> obj particles s5-23 init-pos x) -320.0) - (set! (-> obj particles s5-23 init-pos y) 102.0) - (set! (-> obj particles s5-23 init-pos z) 13.0) - (set! (-> obj particles s5-23 part matrix) -1) + (let ((s5-23 (-> obj nb-of-particles))) + (set! (-> obj particles s5-23) (new 'static 'hud-particle)) + (set! (-> obj particles s5-23 part) (create-launch-control (-> *part-group-id-table* 91) obj)) + (set! (-> obj particles s5-23 init-pos x) -320.0) + (set! (-> obj particles s5-23 init-pos y) 102.0) + (set! (-> obj particles s5-23 init-pos z) 13.0) + (set! (-> obj particles s5-23 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-24 (-> obj nb-of-particles))) - (set! (-> obj particles s5-24) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-24 part) - (create-launch-control (-> *part-group-id-table* 91) obj) - ) - (set! (-> obj particles s5-24 init-pos x) -320.0) - (set! (-> obj particles s5-24 init-pos y) 184.0) - (set! (-> obj particles s5-24 init-pos z) 13.0) - (set! (-> obj particles s5-24 part matrix) -1) + (let ((s5-24 (-> obj nb-of-particles))) + (set! (-> obj particles s5-24) (new 'static 'hud-particle)) + (set! (-> obj particles s5-24 part) (create-launch-control (-> *part-group-id-table* 91) obj)) + (set! (-> obj particles s5-24 init-pos x) -320.0) + (set! (-> obj particles s5-24 init-pos y) 184.0) + (set! (-> obj particles s5-24 init-pos z) 13.0) + (set! (-> obj particles s5-24 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-25 (-> obj nb-of-particles))) - (set! (-> obj particles s5-25) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-25 part) - (create-launch-control (-> *part-group-id-table* 91) obj) - ) - (set! (-> obj particles s5-25 init-pos x) -320.0) - (set! (-> obj particles s5-25 init-pos y) 266.0) - (set! (-> obj particles s5-25 init-pos z) 13.0) - (set! (-> obj particles s5-25 part matrix) -1) + (let ((s5-25 (-> obj nb-of-particles))) + (set! (-> obj particles s5-25) (new 'static 'hud-particle)) + (set! (-> obj particles s5-25 part) (create-launch-control (-> *part-group-id-table* 91) obj)) + (set! (-> obj particles s5-25 init-pos x) -320.0) + (set! (-> obj particles s5-25 init-pos y) 266.0) + (set! (-> obj particles s5-25 init-pos z) 13.0) + (set! (-> obj particles s5-25 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-26 (-> obj nb-of-particles))) - (set! (-> obj particles s5-26) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-26 part) - (create-launch-control (-> *part-group-id-table* 91) obj) - ) - (set! (-> obj particles s5-26 init-pos x) -320.0) - (set! (-> obj particles s5-26 init-pos y) 348.0) - (set! (-> obj particles s5-26 init-pos z) 13.0) - (set! (-> obj particles s5-26 part matrix) -1) + (let ((s5-26 (-> obj nb-of-particles))) + (set! (-> obj particles s5-26) (new 'static 'hud-particle)) + (set! (-> obj particles s5-26 part) (create-launch-control (-> *part-group-id-table* 91) obj)) + (set! (-> obj particles s5-26 init-pos x) -320.0) + (set! (-> obj particles s5-26 init-pos y) 348.0) + (set! (-> obj particles s5-26 init-pos z) 13.0) + (set! (-> obj particles s5-26 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-27 (-> obj nb-of-particles))) - (set! (-> obj particles s5-27) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-27 part) - (create-launch-control (-> *part-group-id-table* 570) obj) - ) - (set! (-> obj particles s5-27 init-pos x) -320.0) - (set! (-> obj particles s5-27 init-pos y) 338.0) - (set! (-> obj particles s5-27 init-pos z) 4.0) - (set! (-> obj particles s5-27 part matrix) -1) + (let ((s5-27 (-> obj nb-of-particles))) + (set! (-> obj particles s5-27) (new 'static 'hud-particle)) + (set! (-> obj particles s5-27 part) (create-launch-control (-> *part-group-id-table* 570) obj)) + (set! (-> obj particles s5-27 init-pos x) -320.0) + (set! (-> obj particles s5-27 init-pos y) 338.0) + (set! (-> obj particles s5-27 init-pos z) 4.0) + (set! (-> obj particles s5-27 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-28 (-> obj nb-of-particles))) - (set! (-> obj particles s5-28) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-28 part) - (create-launch-control (-> *part-group-id-table* 571) obj) - ) - (set! (-> obj particles s5-28 init-pos x) -320.0) - (set! (-> obj particles s5-28 init-pos y) 338.0) - (set! (-> obj particles s5-28 init-pos z) 4.0) - (set! (-> obj particles s5-28 part matrix) -1) + (let ((s5-28 (-> obj nb-of-particles))) + (set! (-> obj particles s5-28) (new 'static 'hud-particle)) + (set! (-> obj particles s5-28 part) (create-launch-control (-> *part-group-id-table* 571) obj)) + (set! (-> obj particles s5-28 init-pos x) -320.0) + (set! (-> obj particles s5-28 init-pos y) 338.0) + (set! (-> obj particles s5-28 init-pos z) 4.0) + (set! (-> obj particles s5-28 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-29 (-> obj nb-of-particles))) - (set! (-> obj particles s5-29) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-29 part) - (create-launch-control (-> *part-group-id-table* 572) obj) - ) - (set! (-> obj particles s5-29 init-pos x) -320.0) - (set! (-> obj particles s5-29 init-pos y) 338.0) - (set! (-> obj particles s5-29 init-pos z) 4.0) - (set! (-> obj particles s5-29 part matrix) -1) + (let ((s5-29 (-> obj nb-of-particles))) + (set! (-> obj particles s5-29) (new 'static 'hud-particle)) + (set! (-> obj particles s5-29 part) (create-launch-control (-> *part-group-id-table* 572) obj)) + (set! (-> obj particles s5-29 init-pos x) -320.0) + (set! (-> obj particles s5-29 init-pos y) 338.0) + (set! (-> obj particles s5-29 init-pos z) 4.0) + (set! (-> obj particles s5-29 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-30 (-> obj nb-of-particles))) - (set! (-> obj particles s5-30) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-30 part) - (create-launch-control (-> *part-group-id-table* 573) obj) - ) - (set! (-> obj particles s5-30 init-pos x) -320.0) - (set! (-> obj particles s5-30 init-pos y) 338.0) - (set! (-> obj particles s5-30 init-pos z) 4.0) - (set! (-> obj particles s5-30 part matrix) -1) + (let ((s5-30 (-> obj nb-of-particles))) + (set! (-> obj particles s5-30) (new 'static 'hud-particle)) + (set! (-> obj particles s5-30 part) (create-launch-control (-> *part-group-id-table* 573) obj)) + (set! (-> obj particles s5-30 init-pos x) -320.0) + (set! (-> obj particles s5-30 init-pos y) 338.0) + (set! (-> obj particles s5-30 init-pos z) 4.0) + (set! (-> obj particles s5-30 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-31 (-> obj nb-of-particles))) - (set! (-> obj particles s5-31) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-31 part) - (create-launch-control (-> *part-group-id-table* 615) obj) - ) - (set! (-> obj particles s5-31 init-pos x) -320.0) - (set! (-> obj particles s5-31 init-pos y) 180.0) - (set! (-> obj particles s5-31 init-pos z) 4.0) - (set! (-> obj particles s5-31 part matrix) -1) + (let ((s5-31 (-> obj nb-of-particles))) + (set! (-> obj particles s5-31) (new 'static 'hud-particle)) + (set! (-> obj particles s5-31 part) (create-launch-control (-> *part-group-id-table* 615) obj)) + (set! (-> obj particles s5-31 init-pos x) -320.0) + (set! (-> obj particles s5-31 init-pos y) 180.0) + (set! (-> obj particles s5-31 init-pos z) 4.0) + (set! (-> obj particles s5-31 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (+! (-> obj nb-of-particles) 1) - ) 0 (none) ) - - - - diff --git a/test/decompiler/reference/engine/ui/progress/progress-static_REF.gc b/test/decompiler/reference/engine/ui/progress/progress-static_REF.gc index 17c3cd2720..056b2d9ff9 100644 --- a/test/decompiler/reference/engine/ui/progress/progress-static_REF.gc +++ b/test/decompiler/reference/engine/ui/progress/progress-static_REF.gc @@ -5,1721 +5,1476 @@ (define *main-options* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 7 :allocated-length 7 - (new 'static 'game-option - :option-type #x6 - :name (game-text-id game-options) - :scale #t - :param3 4 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id graphic-options) - :scale #t - :param3 5 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id sound-options) - :scale #t - :param3 6 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id load-game) - :scale #t - :param3 16 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id save-game) - :scale #t - :param3 17 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id quit-game) - :scale #t - :param3 34 - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 7 :allocated-length 7 + (new 'static 'game-option :option-type #x6 :name (game-text-id game-options) :scale #t :param3 4) + (new 'static 'game-option :option-type #x6 :name (game-text-id graphic-options) :scale #t :param3 5) + (new 'static 'game-option :option-type #x6 :name (game-text-id sound-options) :scale #t :param3 6) + (new 'static 'game-option :option-type #x6 :name (game-text-id load-game) :scale #t :param3 16) + (new 'static 'game-option :option-type #x6 :name (game-text-id save-game) :scale #t :param3 17) + (new 'static 'game-option :option-type #x6 :name (game-text-id quit-game) :scale #t :param3 34) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *title*, type (array game-option) (define *title* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 - (new 'static 'game-option - :option-type #x6 - :name (game-text-id new-game) - :scale #t - :param3 18 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id load-game) - :scale #t - :param3 16 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id options) - :scale #t - :param3 28 - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 4 :allocated-length 4 + (new 'static 'game-option :option-type #x6 :name (game-text-id new-game) :scale #t :param3 18) + (new 'static 'game-option :option-type #x6 :name (game-text-id load-game) :scale #t :param3 16) + (new 'static 'game-option :option-type #x6 :name (game-text-id options) :scale #t :param3 28) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *options*, type (array game-option) (define *options* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 - (new 'static 'game-option - :option-type #x6 - :name (game-text-id game-options) - :scale #t - :param3 4 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id graphic-options) - :scale #t - :param3 5 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id sound-options) - :scale #t - :param3 6 - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 4 :allocated-length 4 + (new 'static 'game-option :option-type #x6 :name (game-text-id game-options) :scale #t :param3 4) + (new 'static 'game-option :option-type #x6 :name (game-text-id graphic-options) :scale #t :param3 5) + (new 'static 'game-option :option-type #x6 :name (game-text-id sound-options) :scale #t :param3 6) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *main-options-demo*, type (array game-option) (define *main-options-demo* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 - (new 'static 'game-option - :option-type #x6 - :name (game-text-id game-options) - :scale #t - :param3 4 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id graphic-options) - :scale #t - :param3 5 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id sound-options) - :scale #t - :param3 6 - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 4 :allocated-length 4 + (new 'static 'game-option :option-type #x6 :name (game-text-id game-options) :scale #t :param3 4) + (new 'static 'game-option :option-type #x6 :name (game-text-id graphic-options) :scale #t :param3 5) + (new 'static 'game-option :option-type #x6 :name (game-text-id sound-options) :scale #t :param3 6) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *main-options-demo-shared*, type (array game-option) (define *main-options-demo-shared* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 5 :allocated-length 5 - (new 'static 'game-option - :option-type #x6 - :name (game-text-id game-options) - :scale #t - :param3 4 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id graphic-options) - :scale #t - :param3 5 - ) - (new 'static 'game-option - :option-type #x6 - :name (game-text-id sound-options) - :scale #t - :param3 6 - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id exit-demo) - :scale #t - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 5 :allocated-length 5 + (new 'static 'game-option :option-type #x6 :name (game-text-id game-options) :scale #t :param3 4) + (new 'static 'game-option :option-type #x6 :name (game-text-id graphic-options) :scale #t :param3 5) + (new 'static 'game-option :option-type #x6 :name (game-text-id sound-options) :scale #t :param3 6) + (new 'static 'game-option :option-type #x8 :name (game-text-id exit-demo) :scale #t) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *game-options*, type (array game-option) (define *game-options* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 - (new 'static 'game-option - :option-type #x2 - :name (game-text-id vibrations) - :scale #t - ) - (new 'static 'game-option - :option-type #x2 - :name (game-text-id play-hints) - :scale #t - ) - (new 'static 'game-option - :option-type #x1 - :name (game-text-id language) - :scale #t - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 4 :allocated-length 4 + (new 'static 'game-option :option-type #x2 :name (game-text-id vibrations) :scale #t) + (new 'static 'game-option :option-type #x2 :name (game-text-id play-hints) :scale #t) + (new 'static 'game-option :option-type #x1 :name (game-text-id language) :scale #t) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *game-options-japan*, type (array game-option) (define *game-options-japan* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 3 :allocated-length 3 - (new 'static 'game-option - :option-type #x2 - :name (game-text-id vibrations) - :scale #t - ) - (new 'static 'game-option - :option-type #x2 - :name (game-text-id play-hints) - :scale #t - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 3 :allocated-length 3 + (new 'static 'game-option :option-type #x2 :name (game-text-id vibrations) :scale #t) + (new 'static 'game-option :option-type #x2 :name (game-text-id play-hints) :scale #t) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *game-options-demo*, type (array game-option) (define *game-options-demo* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 3 :allocated-length 3 - (new 'static 'game-option - :option-type #x2 - :name (game-text-id vibrations) - :scale #t - ) - (new 'static 'game-option - :option-type #x2 - :name (game-text-id play-hints) - :scale #t - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 3 :allocated-length 3 + (new 'static 'game-option :option-type #x2 :name (game-text-id vibrations) :scale #t) + (new 'static 'game-option :option-type #x2 :name (game-text-id play-hints) :scale #t) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *graphic-options*, type (array game-option) (define *graphic-options* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 3 :allocated-length 3 - (new 'static 'game-option - :option-type #x3 - :name (game-text-id center-screen) - :scale #t - ) - (new 'static 'game-option - :option-type #x4 - :name (game-text-id aspect-ratio) - :scale #t - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 3 :allocated-length 3 + (new 'static 'game-option :option-type #x3 :name (game-text-id center-screen) :scale #t) + (new 'static 'game-option :option-type #x4 :name (game-text-id aspect-ratio) :scale #t) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *graphic-title-options-pal*, type (array game-option) (define *graphic-title-options-pal* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 - (new 'static 'game-option - :option-type #x3 - :name (game-text-id center-screen) - :scale #t - ) - (new 'static 'game-option - :option-type #x5 - :name (game-text-id video-mode) - :scale #t - ) - (new 'static 'game-option - :option-type #x4 - :name (game-text-id aspect-ratio) - :scale #t - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 4 :allocated-length 4 + (new 'static 'game-option :option-type #x3 :name (game-text-id center-screen) :scale #t) + (new 'static 'game-option :option-type #x5 :name (game-text-id video-mode) :scale #t) + (new 'static 'game-option :option-type #x4 :name (game-text-id aspect-ratio) :scale #t) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *sound-options*, type (array game-option) (define *sound-options* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 4 :allocated-length 4 - (new 'static 'game-option - :name (game-text-id sfx-volume) - :scale #t - :param2 100.0 - ) - (new 'static 'game-option - :name (game-text-id music-volume) - :scale #t - :param2 100.0 - ) - (new 'static 'game-option - :name (game-text-id speech-volume) - :scale #t - :param2 100.0 - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #t - ) + (new + 'static + 'boxed-array + :type game-option :length 4 :allocated-length 4 + (new 'static 'game-option :name (game-text-id sfx-volume) :scale #t :param2 100.0) + (new 'static 'game-option :name (game-text-id music-volume) :scale #t :param2 100.0) + (new 'static 'game-option :name (game-text-id speech-volume) :scale #t :param2 100.0) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #t) + ) ) - ) ) ;; definition for symbol *yes-no-options*, type (array game-option) -(define - *yes-no-options* - (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 1 :allocated-length 1 - (new 'static 'game-option :option-type #x7 :scale #f) - ) - ) - ) +(define *yes-no-options* (the-as (array game-option) (new + 'static + 'boxed-array + :type game-option :length 1 :allocated-length 1 + (new 'static 'game-option :option-type #x7 :scale #f) + ) + ) + ) ;; definition for symbol *ok-options*, type (array game-option) (define *ok-options* - (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 1 :allocated-length 1 - (new 'static 'game-option - :option-type #x8 - :name (game-text-id ok) - :scale #f - ) - ) - ) + (the-as (array game-option) (new + 'static + 'boxed-array + :type game-option :length 1 :allocated-length 1 + (new 'static 'game-option :option-type #x8 :name (game-text-id ok) :scale #f) + ) + ) ) ;; definition for symbol *load-options*, type (array game-option) (define *load-options* - (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 5 :allocated-length 5 - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #f - ) - ) - ) + (the-as (array game-option) (new + 'static + 'boxed-array + :type game-option :length 5 :allocated-length 5 + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #f) + ) + ) ) ;; definition for symbol *save-options*, type (array game-option) (define *save-options* - (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 5 :allocated-length 5 - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #f - ) - ) - ) + (the-as (array game-option) (new + 'static + 'boxed-array + :type game-option :length 5 :allocated-length 5 + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #f) + ) + ) ) ;; definition for symbol *save-options-title*, type (array game-option) (define *save-options-title* (the-as (array game-option) - (new - 'static - 'boxed-array - :type game-option :length 6 :allocated-length 6 - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option :option-type #x8 :scale #f) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id continue-without-saving) - :scale #f - ) - (new 'static 'game-option - :option-type #x8 - :name (game-text-id back) - :scale #f - ) + (new + 'static + 'boxed-array + :type game-option :length 6 :allocated-length 6 + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :scale #f) + (new 'static 'game-option :option-type #x8 :name (game-text-id continue-without-saving) :scale #f) + (new 'static 'game-option :option-type #x8 :name (game-text-id back) :scale #f) + ) ) - ) ) ;; definition for symbol *options-remap*, type (array (array game-option)) (define *options-remap* - (the-as (array (array game-option)) - (new 'static 'boxed-array :type array :length 0 :allocated-length 35) - ) + (the-as (array (array game-option)) (new 'static 'boxed-array :type array :length 0 :allocated-length 35)) ) ;; definition for symbol *level-task-data-remap*, type (array int32) -(define - *level-task-data-remap* - (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 23 :allocated-length 23 - 0 - 1 - 2 - 3 - 3 - 4 - 5 - 6 - 7 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 13 - 13 - 14 - 15 - 15 - 4 - 4 - ) - ) - ) +(define *level-task-data-remap* (the-as (array int32) (new + 'static + 'boxed-array + :type int32 :length 23 :allocated-length 23 + 0 + 1 + 2 + 3 + 3 + 4 + 5 + 6 + 7 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 13 + 13 + 14 + 15 + 15 + 4 + 4 + ) + ) + ) ;; definition for symbol *language-name-remap*, type (array game-text-id) -(define - *language-name-remap* - (new - 'static - 'boxed-array - :type game-text-id :length 6 :allocated-length 6 - (game-text-id english) - (game-text-id french) - (game-text-id german) - (game-text-id spanish) - (game-text-id italian) - (game-text-id japanese) - ) - ) +(define *language-name-remap* (new + 'static + 'boxed-array + :type game-text-id :length 6 :allocated-length 6 + (game-text-id english) + (game-text-id french) + (game-text-id german) + (game-text-id spanish) + (game-text-id italian) + (game-text-id japanese) + ) + ) ;; definition for symbol *level-task-data*, type (array level-tasks-info) (define *level-task-data* - (the-as (array level-tasks-info) - (new - 'static - 'boxed-array - :type level-tasks-info :length 16 :allocated-length 16 - (new 'static 'level-tasks-info - :level-name-id (game-text-id training-level-name) - :text-group-index 1 - :nb-of-tasks 4 - :buzzer-task-index 3 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task training-gimmie) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id training-gimmie-task-name) - (game-text-id training-gimmie-task-name) - (game-text-id training-gimmie-task-name) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task training-door) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id training-door-task-name) - (game-text-id training-door-task-name) - (game-text-id training-door-task-name) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task training-climb) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id training-climb-task-name) - (game-text-id training-climb-task-name) - (game-text-id training-climb-task-name) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task training-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id training-buzzer-task-name) - (game-text-id training-buzzer-task-name) - (game-text-id training-buzzer-task-name) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id village1-level-name) - :text-group-index 1 - :nb-of-tasks 6 - :buzzer-task-index 5 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task village1-mayor-money) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village1-mayor-money) - (game-text-id village1-mayor-money) - (game-text-id village1-mayor-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village1-uncle-money) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id vollage1-uncle-money) - (game-text-id vollage1-uncle-money) - (game-text-id vollage1-uncle-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village1-yakow) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village1-yakow-herd) - (game-text-id village1-yakow-herd) - (game-text-id village1-yakow-return) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village1-oracle-money1) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village1-oracle) - (game-text-id village1-oracle) - (game-text-id village1-oracle) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village1-oracle-money2) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village1-oracle) - (game-text-id village1-oracle) - (game-text-id village1-oracle) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village1-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-buzzer) - (game-text-id beach-buzzer) - (game-text-id beach-buzzer) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id beach-level-name) - :text-group-index 1 - :nb-of-tasks 8 - :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task beach-ecorocks) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-ecorocks) - (game-text-id beach-ecorocks) - (game-text-id beach-ecorocks) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task beach-flutflut) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-flutflut-push) - (game-text-id beach-flutflut-push) - (game-text-id beach-flutflut-meet) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task beach-pelican) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-pelican) - (game-text-id beach-pelican) - (game-text-id beach-pelican) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task beach-seagull) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-seagull) - (game-text-id beach-seagull) - (game-text-id beach-seagull-get) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task beach-cannon) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-cannon) - (game-text-id beach-cannon) - (game-text-id beach-cannon) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task beach-gimmie) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-gimmie) - (game-text-id beach-gimmie) - (game-text-id beach-gimmie) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task beach-sentinel) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-sentinel) - (game-text-id beach-sentinel) - (game-text-id beach-sentinel) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task beach-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-buzzer) - (game-text-id beach-buzzer) - (game-text-id beach-buzzer) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id jungle-level-name) - :text-group-index 1 - :nb-of-tasks 8 - :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task jungle-lurkerm) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id jungle-lurkerm-unblock) - (game-text-id jungle-lurkerm-connect) - (game-text-id jungle-lurkerm-return) - (game-text-id zero) - ) - :text-index-when-resolved 1 - ) - (new 'static 'task-info-data - :task-id (game-task jungle-tower) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id jungle-tower) - (game-text-id jungle-tower) - (game-text-id jungle-tower) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task jungle-eggtop) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id jungle-eggtop) - (game-text-id jungle-eggtop) - (game-text-id jungle-eggtop) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task jungle-plant) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id jungle-plant) - (game-text-id jungle-plant) - (game-text-id jungle-plant) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task jungle-fishgame) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id jungle-fishgame) - (game-text-id jungle-fishgame) - (game-text-id jungle-fishgame) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task jungle-canyon-end) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id jungle-canyon-end) - (game-text-id jungle-canyon-end) - (game-text-id jungle-canyon-end) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task jungle-temple-door) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id jungle-temple-door) - (game-text-id jungle-temple-door) - (game-text-id jungle-temple-door) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task jungle-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-buzzer) - (game-text-id beach-buzzer) - (game-text-id beach-buzzer) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id misty-level-name) - :text-group-index 1 - :nb-of-tasks 8 - :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task misty-muse) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id misty-muse-catch) - (game-text-id misty-muse-catch) - (game-text-id misty-muse-return) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task misty-boat) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id misty-boat) - (game-text-id misty-boat) - (game-text-id misty-boat) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task misty-cannon) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id misty-cannon) - (game-text-id misty-cannon) - (game-text-id misty-cannon) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task misty-warehouse) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id misty-return-to-pool) - (game-text-id misty-return-to-pool) - (game-text-id misty-return-to-pool) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task misty-bike) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id misty-find-transpad) - (game-text-id misty-balloon-lurkers) - (game-text-id misty-find-transpad) - (game-text-id zero) - ) - :text-index-when-resolved 1 - ) - (new 'static 'task-info-data - :task-id (game-task misty-bike-jump) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id misty-bike-jump) - (game-text-id misty-bike-jump) - (game-text-id misty-bike-jump) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task misty-eco-challenge) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id misty-eco-challenge) - (game-text-id misty-eco-challenge) - (game-text-id misty-eco-challenge) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task misty-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id beach-buzzer) - (game-text-id beach-buzzer) - (game-text-id beach-buzzer) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id fire-canyon-level-name) - :text-group-index 5 - :nb-of-tasks 2 - :buzzer-task-index 1 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task firecanyon-end) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id fire-canyon-end) - (game-text-id fire-canyon-end) - (game-text-id fire-canyon-end) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task firecanyon-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id fire-canyon-buzzer) - (game-text-id fire-canyon-buzzer) - (game-text-id fire-canyon-buzzer) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id village2-level-name) - :text-group-index 2 - :nb-of-tasks 6 - :buzzer-task-index 5 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task village2-gambler-money) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village2-gambler-money) - (game-text-id village2-gambler-money) - (game-text-id village2-gambler-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village2-geologist-money) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village2-geologist-money) - (game-text-id village2-geologist-money) - (game-text-id village2-geologist-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village2-warrior-money) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village2-warrior-money) - (game-text-id village2-warrior-money) - (game-text-id village2-warrior-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village2-oracle-money1) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village2-oracle-money) - (game-text-id village2-oracle-money) - (game-text-id village2-oracle-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village2-oracle-money2) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village2-oracle-money) - (game-text-id village2-oracle-money) - (game-text-id village2-oracle-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village2-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id unknown-buzzers) - (game-text-id unknown-buzzers) - (game-text-id unknown-buzzers) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id sunken-level-name) - :text-group-index 2 - :nb-of-tasks 8 - :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task sunken-room) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id sunken-elevator-raise) - (game-text-id sunken-elevator-raise) - (game-text-id sunken-elevator-get-to-roof) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task sunken-pipe) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id sunken-pipe) - (game-text-id sunken-pipe) - (game-text-id sunken-pipe) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task sunken-slide) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id sunken-bottom) - (game-text-id sunken-bottom) - (game-text-id sunken-bottom) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task sunken-sharks) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id sunken-pool) - (game-text-id sunken-pool) - (game-text-id sunken-pool) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task sunken-platforms) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id sunken-platforms) - (game-text-id sunken-platforms) - (game-text-id sunken-platforms) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task sunken-top-of-helix) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id sunken-climb-tube) - (game-text-id sunken-climb-tube) - (game-text-id sunken-climb-tube) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task sunken-spinning-room) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id reach-center) - (game-text-id reach-center) - (game-text-id reach-center) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task sunken-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id unknown-buzzers) - (game-text-id unknown-buzzers) - (game-text-id unknown-buzzers) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id swamp-level-name) - :text-group-index 2 - :nb-of-tasks 8 - :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task swamp-flutflut) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id swamp-flutflut) - (game-text-id swamp-flutflut) - (game-text-id swamp-flutflut) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task swamp-billy) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id swamp-billy) - (game-text-id swamp-billy) - (game-text-id swamp-billy) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task swamp-battle) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id swamp-battle) - (game-text-id swamp-battle) - (game-text-id swamp-battle) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task swamp-tether-4) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id swamp-tether) - (game-text-id swamp-tether) - (game-text-id swamp-tether) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task swamp-tether-1) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id swamp-tether) - (game-text-id swamp-tether) - (game-text-id swamp-tether) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task swamp-tether-2) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id swamp-tether) - (game-text-id swamp-tether) - (game-text-id swamp-tether) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task swamp-tether-3) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id swamp-tether) - (game-text-id swamp-tether) - (game-text-id swamp-tether) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task swamp-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id unknown-buzzers) - (game-text-id unknown-buzzers) - (game-text-id unknown-buzzers) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id rolling-level-name) - :text-group-index 2 - :nb-of-tasks 8 - :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task rolling-moles) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id rolling-moles) - (game-text-id rolling-moles) - (game-text-id rolling-moles-return) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task rolling-robbers) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id rolling-robbers) - (game-text-id rolling-robbers) - (game-text-id rolling-robbers) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task rolling-race) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id rolling-race) - (game-text-id rolling-race) - (game-text-id rolling-race-return) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task rolling-lake) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id rolling-lake) - (game-text-id rolling-lake) - (game-text-id rolling-lake) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task rolling-plants) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id rolling-plants) - (game-text-id rolling-plants) - (game-text-id rolling-plants) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task rolling-ring-chase-1) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id rolling-ring-chase-1) - (game-text-id rolling-ring-chase-1) - (game-text-id rolling-ring-chase-1) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task rolling-ring-chase-2) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id rolling-ring-chase-2) - (game-text-id rolling-ring-chase-2) - (game-text-id rolling-ring-chase-2) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task rolling-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id unknown-buzzers) - (game-text-id unknown-buzzers) - (game-text-id unknown-buzzers) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id ogre-level-name) - :text-group-index 6 - :nb-of-tasks 4 - :buzzer-task-index 3 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task ogre-boss) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id ogre-boss) - (game-text-id ogre-boss) - (game-text-id ogre-boss) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task ogre-end) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id ogre-end) - (game-text-id ogre-end) - (game-text-id ogre-end) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task ogre-secret) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id hidden-power-cell) - (game-text-id hidden-power-cell) - (game-text-id hidden-power-cell) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task ogre-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id ogre-buzzer) - (game-text-id ogre-buzzer) - (game-text-id ogre-buzzer) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id village3-level-name) - :text-group-index 3 - :nb-of-tasks 8 - :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task village3-miner-money1) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village3-miner-money) - (game-text-id village3-miner-money) - (game-text-id village3-miner-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village3-miner-money2) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village3-miner-money) - (game-text-id village3-miner-money) - (game-text-id village3-miner-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village3-miner-money3) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village3-miner-money) - (game-text-id village3-miner-money) - (game-text-id village3-miner-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village3-miner-money4) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village3-miner-money) - (game-text-id village3-miner-money) - (game-text-id village3-miner-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village3-oracle-money1) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village3-oracle-money) - (game-text-id village3-oracle-money) - (game-text-id village3-oracle-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village3-oracle-money2) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village3-oracle-money) - (game-text-id village3-oracle-money) - (game-text-id village3-oracle-money) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village3-extra1) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id hidden-power-cell) - (game-text-id hidden-power-cell) - (game-text-id hidden-power-cell) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task village3-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village3-buzzer) - (game-text-id village3-buzzer) - (game-text-id village3-buzzer) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id snowy-level-name) - :text-group-index 3 - :nb-of-tasks 8 - :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task snow-eggtop) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id snow-eggtop) - (game-text-id snow-eggtop) - (game-text-id snow-eggtop) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task snow-ram) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id snow-ram-3-left) - (game-text-id snow-ram-2-left) - (game-text-id snow-ram-1-left) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task snow-bumpers) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id snow-bumpers) - (game-text-id snow-bumpers) - (game-text-id snow-bumpers) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task snow-cage) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id snow-frozen-crate) - (game-text-id snow-frozen-crate) - (game-text-id snow-frozen-crate) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task snow-fort) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id snow-fort) - (game-text-id snow-fort) - (game-text-id snow-fort) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task snow-ball) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id snow-open-door) - (game-text-id snow-open-door) - (game-text-id snow-open-door) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task snow-bunnies) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id snow-bunnies) - (game-text-id snow-bunnies) - (game-text-id snow-bunnies) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task snow-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village3-buzzer) - (game-text-id village3-buzzer) - (game-text-id village3-buzzer) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id cave-level-name) - :text-group-index 3 - :nb-of-tasks 8 - :buzzer-task-index 7 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task cave-gnawers) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id cave-gnawers) - (game-text-id cave-gnawers) - (game-text-id cave-gnawers) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task cave-dark-crystals) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id cave-dark-crystals) - (game-text-id cave-dark-crystals) - (game-text-id cave-dark-crystals) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task cave-dark-climb) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id cave-dark-climb) - (game-text-id cave-dark-climb) - (game-text-id cave-dark-climb) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task cave-robot-climb) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id cave-robot-climb) - (game-text-id cave-robot-climb) - (game-text-id cave-robot-climb) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task cave-swing-poles) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id cave-swing-poles) - (game-text-id cave-swing-poles) - (game-text-id cave-swing-poles) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task cave-spider-tunnel) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id cave-spider-tunnel) - (game-text-id cave-spider-tunnel) - (game-text-id cave-spider-tunnel) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task cave-platforms) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id cave-platforms) - (game-text-id cave-platforms) - (game-text-id cave-platforms) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task cave-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id village3-buzzer) - (game-text-id village3-buzzer) - (game-text-id village3-buzzer) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id lavatube-level-name) - :text-group-index 3 - :nb-of-tasks 2 - :buzzer-task-index 1 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task lavatube-end) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id lavatube-end) - (game-text-id lavatube-end) - (game-text-id lavatube-end) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task lavatube-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id lavatube-buzzer) - (game-text-id lavatube-buzzer) - (game-text-id lavatube-buzzer) - (game-text-id zero) - ) - ) - ) - ) - (new 'static 'level-tasks-info - :level-name-id (game-text-id citadel-level-name) - :text-group-index 4 - :nb-of-tasks 5 - :buzzer-task-index 4 - :task-info - (new 'static 'array task-info-data 8 - (new 'static 'task-info-data - :task-id (game-task citadel-sage-blue) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id citadel-sage-blue) - (game-text-id citadel-sage-blue) - (game-text-id citadel-sage-blue) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task citadel-sage-red) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id citadel-sage-red) - (game-text-id citadel-sage-red) - (game-text-id citadel-sage-red) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task citadel-sage-yellow) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id citadel-sage-yellow) - (game-text-id citadel-sage-yellow) - (game-text-id citadel-sage-yellow) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task citadel-sage-green) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id citadel-sage-green) - (game-text-id citadel-sage-green) - (game-text-id citadel-sage-green) - (game-text-id zero) - ) - ) - (new 'static 'task-info-data - :task-id (game-task citadel-buzzer) - :task-name - (new 'static 'array game-text-id 4 - (game-text-id citadel-buzzer) - (game-text-id citadel-buzzer) - (game-text-id citadel-buzzer) - (game-text-id zero) - ) - ) - ) - ) - ) - ) + (the-as (array level-tasks-info) (new + 'static + 'boxed-array + :type level-tasks-info :length 16 :allocated-length 16 + (new 'static 'level-tasks-info + :level-name-id (game-text-id training-level-name) + :text-group-index 1 + :nb-of-tasks 4 + :buzzer-task-index 3 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task training-gimmie) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id training-gimmie-task-name) + (game-text-id training-gimmie-task-name) + (game-text-id training-gimmie-task-name) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task training-door) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id training-door-task-name) + (game-text-id training-door-task-name) + (game-text-id training-door-task-name) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task training-climb) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id training-climb-task-name) + (game-text-id training-climb-task-name) + (game-text-id training-climb-task-name) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task training-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id training-buzzer-task-name) + (game-text-id training-buzzer-task-name) + (game-text-id training-buzzer-task-name) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id village1-level-name) + :text-group-index 1 + :nb-of-tasks 6 + :buzzer-task-index 5 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task village1-mayor-money) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village1-mayor-money) + (game-text-id village1-mayor-money) + (game-text-id village1-mayor-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village1-uncle-money) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id vollage1-uncle-money) + (game-text-id vollage1-uncle-money) + (game-text-id vollage1-uncle-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village1-yakow) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village1-yakow-herd) + (game-text-id village1-yakow-herd) + (game-text-id village1-yakow-return) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village1-oracle-money1) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village1-oracle) + (game-text-id village1-oracle) + (game-text-id village1-oracle) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village1-oracle-money2) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village1-oracle) + (game-text-id village1-oracle) + (game-text-id village1-oracle) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village1-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-buzzer) + (game-text-id beach-buzzer) + (game-text-id beach-buzzer) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id beach-level-name) + :text-group-index 1 + :nb-of-tasks 8 + :buzzer-task-index 7 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task beach-ecorocks) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-ecorocks) + (game-text-id beach-ecorocks) + (game-text-id beach-ecorocks) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task beach-flutflut) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-flutflut-push) + (game-text-id beach-flutflut-push) + (game-text-id beach-flutflut-meet) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task beach-pelican) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-pelican) + (game-text-id beach-pelican) + (game-text-id beach-pelican) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task beach-seagull) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-seagull) + (game-text-id beach-seagull) + (game-text-id beach-seagull-get) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task beach-cannon) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-cannon) + (game-text-id beach-cannon) + (game-text-id beach-cannon) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task beach-gimmie) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-gimmie) + (game-text-id beach-gimmie) + (game-text-id beach-gimmie) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task beach-sentinel) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-sentinel) + (game-text-id beach-sentinel) + (game-text-id beach-sentinel) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task beach-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-buzzer) + (game-text-id beach-buzzer) + (game-text-id beach-buzzer) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id jungle-level-name) + :text-group-index 1 + :nb-of-tasks 8 + :buzzer-task-index 7 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task jungle-lurkerm) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id jungle-lurkerm-unblock) + (game-text-id jungle-lurkerm-connect) + (game-text-id jungle-lurkerm-return) + (game-text-id zero) + ) + :text-index-when-resolved 1 + ) + (new 'static 'task-info-data + :task-id (game-task jungle-tower) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id jungle-tower) + (game-text-id jungle-tower) + (game-text-id jungle-tower) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task jungle-eggtop) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id jungle-eggtop) + (game-text-id jungle-eggtop) + (game-text-id jungle-eggtop) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task jungle-plant) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id jungle-plant) + (game-text-id jungle-plant) + (game-text-id jungle-plant) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task jungle-fishgame) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id jungle-fishgame) + (game-text-id jungle-fishgame) + (game-text-id jungle-fishgame) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task jungle-canyon-end) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id jungle-canyon-end) + (game-text-id jungle-canyon-end) + (game-text-id jungle-canyon-end) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task jungle-temple-door) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id jungle-temple-door) + (game-text-id jungle-temple-door) + (game-text-id jungle-temple-door) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task jungle-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-buzzer) + (game-text-id beach-buzzer) + (game-text-id beach-buzzer) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id misty-level-name) + :text-group-index 1 + :nb-of-tasks 8 + :buzzer-task-index 7 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task misty-muse) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id misty-muse-catch) + (game-text-id misty-muse-catch) + (game-text-id misty-muse-return) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task misty-boat) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id misty-boat) + (game-text-id misty-boat) + (game-text-id misty-boat) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task misty-cannon) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id misty-cannon) + (game-text-id misty-cannon) + (game-text-id misty-cannon) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task misty-warehouse) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id misty-return-to-pool) + (game-text-id misty-return-to-pool) + (game-text-id misty-return-to-pool) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task misty-bike) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id misty-find-transpad) + (game-text-id misty-balloon-lurkers) + (game-text-id misty-find-transpad) + (game-text-id zero) + ) + :text-index-when-resolved 1 + ) + (new 'static 'task-info-data + :task-id (game-task misty-bike-jump) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id misty-bike-jump) + (game-text-id misty-bike-jump) + (game-text-id misty-bike-jump) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task misty-eco-challenge) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id misty-eco-challenge) + (game-text-id misty-eco-challenge) + (game-text-id misty-eco-challenge) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task misty-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id beach-buzzer) + (game-text-id beach-buzzer) + (game-text-id beach-buzzer) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id fire-canyon-level-name) + :text-group-index 5 + :nb-of-tasks 2 + :buzzer-task-index 1 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task firecanyon-end) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id fire-canyon-end) + (game-text-id fire-canyon-end) + (game-text-id fire-canyon-end) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task firecanyon-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id fire-canyon-buzzer) + (game-text-id fire-canyon-buzzer) + (game-text-id fire-canyon-buzzer) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id village2-level-name) + :text-group-index 2 + :nb-of-tasks 6 + :buzzer-task-index 5 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task village2-gambler-money) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village2-gambler-money) + (game-text-id village2-gambler-money) + (game-text-id village2-gambler-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village2-geologist-money) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village2-geologist-money) + (game-text-id village2-geologist-money) + (game-text-id village2-geologist-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village2-warrior-money) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village2-warrior-money) + (game-text-id village2-warrior-money) + (game-text-id village2-warrior-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village2-oracle-money1) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village2-oracle-money) + (game-text-id village2-oracle-money) + (game-text-id village2-oracle-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village2-oracle-money2) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village2-oracle-money) + (game-text-id village2-oracle-money) + (game-text-id village2-oracle-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village2-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id unknown-buzzers) + (game-text-id unknown-buzzers) + (game-text-id unknown-buzzers) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id sunken-level-name) + :text-group-index 2 + :nb-of-tasks 8 + :buzzer-task-index 7 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task sunken-room) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id sunken-elevator-raise) + (game-text-id sunken-elevator-raise) + (game-text-id sunken-elevator-get-to-roof) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task sunken-pipe) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id sunken-pipe) + (game-text-id sunken-pipe) + (game-text-id sunken-pipe) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task sunken-slide) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id sunken-bottom) + (game-text-id sunken-bottom) + (game-text-id sunken-bottom) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task sunken-sharks) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id sunken-pool) + (game-text-id sunken-pool) + (game-text-id sunken-pool) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task sunken-platforms) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id sunken-platforms) + (game-text-id sunken-platforms) + (game-text-id sunken-platforms) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task sunken-top-of-helix) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id sunken-climb-tube) + (game-text-id sunken-climb-tube) + (game-text-id sunken-climb-tube) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task sunken-spinning-room) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id reach-center) + (game-text-id reach-center) + (game-text-id reach-center) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task sunken-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id unknown-buzzers) + (game-text-id unknown-buzzers) + (game-text-id unknown-buzzers) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id swamp-level-name) + :text-group-index 2 + :nb-of-tasks 8 + :buzzer-task-index 7 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task swamp-flutflut) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id swamp-flutflut) + (game-text-id swamp-flutflut) + (game-text-id swamp-flutflut) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task swamp-billy) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id swamp-billy) + (game-text-id swamp-billy) + (game-text-id swamp-billy) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task swamp-battle) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id swamp-battle) + (game-text-id swamp-battle) + (game-text-id swamp-battle) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task swamp-tether-4) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id swamp-tether) + (game-text-id swamp-tether) + (game-text-id swamp-tether) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task swamp-tether-1) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id swamp-tether) + (game-text-id swamp-tether) + (game-text-id swamp-tether) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task swamp-tether-2) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id swamp-tether) + (game-text-id swamp-tether) + (game-text-id swamp-tether) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task swamp-tether-3) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id swamp-tether) + (game-text-id swamp-tether) + (game-text-id swamp-tether) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task swamp-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id unknown-buzzers) + (game-text-id unknown-buzzers) + (game-text-id unknown-buzzers) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id rolling-level-name) + :text-group-index 2 + :nb-of-tasks 8 + :buzzer-task-index 7 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task rolling-moles) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id rolling-moles) + (game-text-id rolling-moles) + (game-text-id rolling-moles-return) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task rolling-robbers) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id rolling-robbers) + (game-text-id rolling-robbers) + (game-text-id rolling-robbers) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task rolling-race) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id rolling-race) + (game-text-id rolling-race) + (game-text-id rolling-race-return) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task rolling-lake) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id rolling-lake) + (game-text-id rolling-lake) + (game-text-id rolling-lake) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task rolling-plants) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id rolling-plants) + (game-text-id rolling-plants) + (game-text-id rolling-plants) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task rolling-ring-chase-1) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id rolling-ring-chase-1) + (game-text-id rolling-ring-chase-1) + (game-text-id rolling-ring-chase-1) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task rolling-ring-chase-2) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id rolling-ring-chase-2) + (game-text-id rolling-ring-chase-2) + (game-text-id rolling-ring-chase-2) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task rolling-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id unknown-buzzers) + (game-text-id unknown-buzzers) + (game-text-id unknown-buzzers) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id ogre-level-name) + :text-group-index 6 + :nb-of-tasks 4 + :buzzer-task-index 3 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task ogre-boss) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id ogre-boss) + (game-text-id ogre-boss) + (game-text-id ogre-boss) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task ogre-end) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id ogre-end) + (game-text-id ogre-end) + (game-text-id ogre-end) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task ogre-secret) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id hidden-power-cell) + (game-text-id hidden-power-cell) + (game-text-id hidden-power-cell) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task ogre-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id ogre-buzzer) + (game-text-id ogre-buzzer) + (game-text-id ogre-buzzer) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id village3-level-name) + :text-group-index 3 + :nb-of-tasks 8 + :buzzer-task-index 7 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task village3-miner-money1) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village3-miner-money) + (game-text-id village3-miner-money) + (game-text-id village3-miner-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village3-miner-money2) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village3-miner-money) + (game-text-id village3-miner-money) + (game-text-id village3-miner-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village3-miner-money3) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village3-miner-money) + (game-text-id village3-miner-money) + (game-text-id village3-miner-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village3-miner-money4) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village3-miner-money) + (game-text-id village3-miner-money) + (game-text-id village3-miner-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village3-oracle-money1) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village3-oracle-money) + (game-text-id village3-oracle-money) + (game-text-id village3-oracle-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village3-oracle-money2) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village3-oracle-money) + (game-text-id village3-oracle-money) + (game-text-id village3-oracle-money) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village3-extra1) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id hidden-power-cell) + (game-text-id hidden-power-cell) + (game-text-id hidden-power-cell) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task village3-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village3-buzzer) + (game-text-id village3-buzzer) + (game-text-id village3-buzzer) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id snowy-level-name) + :text-group-index 3 + :nb-of-tasks 8 + :buzzer-task-index 7 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task snow-eggtop) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id snow-eggtop) + (game-text-id snow-eggtop) + (game-text-id snow-eggtop) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task snow-ram) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id snow-ram-3-left) + (game-text-id snow-ram-2-left) + (game-text-id snow-ram-1-left) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task snow-bumpers) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id snow-bumpers) + (game-text-id snow-bumpers) + (game-text-id snow-bumpers) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task snow-cage) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id snow-frozen-crate) + (game-text-id snow-frozen-crate) + (game-text-id snow-frozen-crate) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task snow-fort) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id snow-fort) + (game-text-id snow-fort) + (game-text-id snow-fort) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task snow-ball) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id snow-open-door) + (game-text-id snow-open-door) + (game-text-id snow-open-door) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task snow-bunnies) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id snow-bunnies) + (game-text-id snow-bunnies) + (game-text-id snow-bunnies) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task snow-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village3-buzzer) + (game-text-id village3-buzzer) + (game-text-id village3-buzzer) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id cave-level-name) + :text-group-index 3 + :nb-of-tasks 8 + :buzzer-task-index 7 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task cave-gnawers) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id cave-gnawers) + (game-text-id cave-gnawers) + (game-text-id cave-gnawers) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task cave-dark-crystals) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id cave-dark-crystals) + (game-text-id cave-dark-crystals) + (game-text-id cave-dark-crystals) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task cave-dark-climb) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id cave-dark-climb) + (game-text-id cave-dark-climb) + (game-text-id cave-dark-climb) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task cave-robot-climb) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id cave-robot-climb) + (game-text-id cave-robot-climb) + (game-text-id cave-robot-climb) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task cave-swing-poles) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id cave-swing-poles) + (game-text-id cave-swing-poles) + (game-text-id cave-swing-poles) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task cave-spider-tunnel) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id cave-spider-tunnel) + (game-text-id cave-spider-tunnel) + (game-text-id cave-spider-tunnel) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task cave-platforms) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id cave-platforms) + (game-text-id cave-platforms) + (game-text-id cave-platforms) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task cave-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id village3-buzzer) + (game-text-id village3-buzzer) + (game-text-id village3-buzzer) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id lavatube-level-name) + :text-group-index 3 + :nb-of-tasks 2 + :buzzer-task-index 1 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task lavatube-end) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id lavatube-end) + (game-text-id lavatube-end) + (game-text-id lavatube-end) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task lavatube-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id lavatube-buzzer) + (game-text-id lavatube-buzzer) + (game-text-id lavatube-buzzer) + (game-text-id zero) + ) + ) + ) + ) + (new 'static 'level-tasks-info + :level-name-id (game-text-id citadel-level-name) + :text-group-index 4 + :nb-of-tasks 5 + :buzzer-task-index 4 + :task-info + (new 'static 'array task-info-data 8 + (new 'static 'task-info-data + :task-id (game-task citadel-sage-blue) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id citadel-sage-blue) + (game-text-id citadel-sage-blue) + (game-text-id citadel-sage-blue) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task citadel-sage-red) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id citadel-sage-red) + (game-text-id citadel-sage-red) + (game-text-id citadel-sage-red) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task citadel-sage-yellow) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id citadel-sage-yellow) + (game-text-id citadel-sage-yellow) + (game-text-id citadel-sage-yellow) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task citadel-sage-green) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id citadel-sage-green) + (game-text-id citadel-sage-green) + (game-text-id citadel-sage-green) + (game-text-id zero) + ) + ) + (new 'static 'task-info-data + :task-id (game-task citadel-buzzer) + :task-name + (new 'static 'array game-text-id 4 + (game-text-id citadel-buzzer) + (game-text-id citadel-buzzer) + (game-text-id citadel-buzzer) + (game-text-id zero) + ) + ) + ) + ) + ) + ) ) ;; definition for symbol *task-egg-starting-x*, type (array int32) (define *task-egg-starting-x* (the-as (array int32) - (new - 'static - 'boxed-array - :type int32 :length 9 :allocated-length 9 - #xda - #xc2 - #xab - #x93 - #x7c - 100 - 77 - 53 - 30 + (new 'static 'boxed-array :type int32 :length 9 :allocated-length 9 #xda #xc2 #xab #x93 #x7c 100 77 53 30) ) - ) ) ;; definition for symbol *game-counts*, type game-count-info diff --git a/test/decompiler/reference/engine/ui/text-h_REF.gc b/test/decompiler/reference/engine/ui/text-h_REF.gc index dc765e3447..91517cb686 100644 --- a/test/decompiler/reference/engine/ui/text-h_REF.gc +++ b/test/decompiler/reference/engine/ui/text-h_REF.gc @@ -49,14 +49,7 @@ ;; definition for symbol *text-group-names*, type (array string) (define *text-group-names* - (the-as (array string) - (new - 'static - 'boxed-array - :type string :length 1 :allocated-length 1 - "common" - ) - ) + (the-as (array string) (new 'static 'boxed-array :type string :length 1 :allocated-length 1 "common")) ) ;; definition for symbol *common-text-heap*, type kheap diff --git a/test/decompiler/reference/engine/ui/text_REF.gc b/test/decompiler/reference/engine/ui/text_REF.gc index 1ce6282273..7d791661ac 100644 --- a/test/decompiler/reference/engine/ui/text_REF.gc +++ b/test/decompiler/reference/engine/ui/text_REF.gc @@ -13,11 +13,11 @@ ;; failed to figure out what this is: (when (zero? (-> *common-text-heap* base)) (let ((gp-0 *common-text-heap*)) - (set! (-> gp-0 base) (malloc 'global #x8800)) - (set! (-> gp-0 current) (-> gp-0 base)) - (set! (-> gp-0 top-base) (&+ (-> gp-0 base) #x8800)) - (set! (-> gp-0 top) (-> gp-0 top-base)) - ) + (set! (-> gp-0 base) (malloc 'global #x8800)) + (set! (-> gp-0 current) (-> gp-0 base)) + (set! (-> gp-0 top-base) (&+ (-> gp-0 base) #x8800)) + (set! (-> gp-0 top) (-> gp-0 top-base)) + ) ) ;; definition for method 4 of type game-text-info @@ -38,77 +38,65 @@ (format #t "~Tlength: ~D~%" (-> obj length)) (format #t "~Tdata[~D]: @ #x~X~%" (-> obj length) (-> obj data)) (dotimes (s5-0 (-> obj length)) - (format - #t - "~T [~D] #x~X ~A~%" - s5-0 - (-> obj data s5-0 id) - (-> obj data s5-0 text) + (format #t "~T [~D] #x~X ~A~%" s5-0 (-> obj data s5-0 id) (-> obj data s5-0 text)) ) - ) obj ) ;; definition for method 8 of type game-text-info -(defmethod - mem-usage - game-text-info - ((obj game-text-info) (arg0 memory-usage-block) (arg1 int)) +(defmethod mem-usage game-text-info ((obj game-text-info) (arg0 memory-usage-block) (arg1 int)) (set! (-> arg0 length) (max 81 (-> arg0 length))) (set! (-> arg0 data 80 name) "string") (+! (-> arg0 data 80 count) 1) (let ((v1-6 (asize-of obj))) - (+! (-> arg0 data 80 used) v1-6) - (+! (-> arg0 data 80 total) (logand -16 (+ v1-6 15))) - ) - (dotimes (s4-0 (-> obj length)) - (set! (-> arg0 length) (max 81 (-> arg0 length))) - (set! (-> arg0 data 80 name) "string") - (+! (-> arg0 data 80 count) 1) - (let ((v1-18 (asize-of (-> obj data s4-0 text)))) - (+! (-> arg0 data 80 used) v1-18) - (+! (-> arg0 data 80 total) (logand -16 (+ v1-18 15))) + (+! (-> arg0 data 80 used) v1-6) + (+! (-> arg0 data 80 total) (logand -16 (+ v1-6 15))) + ) + (dotimes (s4-0 (-> obj length)) + (set! (-> arg0 length) (max 81 (-> arg0 length))) + (set! (-> arg0 data 80 name) "string") + (+! (-> arg0 data 80 count) 1) + (let ((v1-18 (asize-of (-> obj data s4-0 text)))) + (+! (-> arg0 data 80 used) v1-18) + (+! (-> arg0 data 80 total) (logand -16 (+ v1-18 15))) + ) ) - ) obj ) ;; definition for method 9 of type game-text-info -(defmethod - lookup-text! - game-text-info - ((obj game-text-info) (arg0 game-text-id) (arg1 symbol)) +(defmethod lookup-text! game-text-info ((obj game-text-info) (arg0 game-text-id) (arg1 symbol)) (let* ((a1-1 0) (a3-0 (+ (-> obj length) 1)) (v1-2 (/ (+ a1-1 a3-0) 2)) ) - (let ((t0-0 -1)) - (while (and (!= (-> obj data v1-2 id) arg0) (!= v1-2 t0-0)) - (if (< (the-as uint arg0) (-> obj data v1-2 id)) - (set! a3-0 v1-2) - (set! a1-1 v1-2) + (let ((t0-0 -1)) + (while (and (!= (-> obj data v1-2 id) arg0) (!= v1-2 t0-0)) + (if (< (the-as uint arg0) (-> obj data v1-2 id)) + (set! a3-0 v1-2) + (set! a1-1 v1-2) + ) + (set! t0-0 v1-2) + (set! v1-2 (/ (+ a1-1 a3-0) 2)) + ) ) - (set! t0-0 v1-2) - (set! v1-2 (/ (+ a1-1 a3-0) 2)) - ) - ) - (cond - ((!= (-> obj data v1-2 id) arg0) - (cond - (arg1 - (the-as string #f) + (cond + ((!= (-> obj data v1-2 id) arg0) + (cond + (arg1 + (the-as string #f) + ) + (else + (format (clear *temp-string*) "UNKNOWN ID ~D" arg0) + *temp-string* + ) + ) ) (else - (format (clear *temp-string*) "UNKNOWN ID ~D" arg0) - *temp-string* - ) + (-> obj data v1-2 text) + ) ) - ) - (else - (-> obj data v1-2 text) - ) ) - ) ) ;; definition for symbol text-is-loading, type symbol @@ -117,90 +105,79 @@ ;; definition for function load-game-text-info ;; WARN: Found some very strange gotos. Check result carefully, this is not well tested. (defun load-game-text-info ((txt-name string) (curr-text symbol) (heap kheap)) - (local-vars - (v0-2 int) - (heap-sym-heap game-text-info) - (lang int) - (load-status int) - (heap-free int) - ) + (local-vars (v0-2 int) (heap-sym-heap game-text-info) (lang int) (load-status int) (heap-free int)) (set! heap-sym-heap (the-as game-text-info (-> curr-text value))) (set! lang (the-as int (-> *setting-control* current language))) (set! load-status 0) (set! heap-free (&- (-> heap top) (the-as uint (-> heap base)))) (if (and (= (scf-get-territory) 1) (zero? lang)) - (set! lang 6) - ) - (when - (or - (= heap-sym-heap #f) - (!= (-> heap-sym-heap language-id) lang) - (not (string= (-> heap-sym-heap group-name) txt-name)) - ) - (let ((v1-16 heap)) - (set! (-> v1-16 current) (-> v1-16 base)) - ) - (b! #t cfg-14 :delay (nop!)) - (label cfg-13) - (set! v0-2 0) - (b! #t cfg-27 :delay (nop!)) - (label cfg-14) - (let ((s3-0 str-load)) - (format (clear *temp-string*) "~D~S.TXT" lang txt-name) - (b! - (not - (s3-0 - *temp-string* - -1 - (logand -64 (&+ (-> heap current) 63)) - (&- (-> heap top) (the-as uint (-> heap current))) - ) + (set! lang 6) ) - cfg-13 - :delay - (nop!) - ) - ) - (label cfg-16) - (let ((v1-20 (str-load-status (the-as (pointer int32) (& load-status))))) - (b! (!= v1-20 'error) cfg-19 :delay (empty-form)) - (format 0 "Error loading text~%") + (when (or + (= heap-sym-heap #f) + (!= (-> heap-sym-heap language-id) lang) + (not (string= (-> heap-sym-heap group-name) txt-name)) + ) + (let ((v1-16 heap)) + (set! (-> v1-16 current) (-> v1-16 base)) + ) + (b! #t cfg-14 :delay (nop!)) + (label cfg-13) (set! v0-2 0) (b! #t cfg-27 :delay (nop!)) - (the-as none 0) - (b! #t cfg-24 :delay (nop!)) - (label cfg-19) - (cond - ((>= load-status (+ heap-free -300)) - (format 0 "Game text heap overrun!~%") - (return 0) + (label cfg-14) + (let ((s3-0 str-load)) + (format (clear *temp-string*) "~D~S.TXT" lang txt-name) + (b! + (not (s3-0 + *temp-string* + -1 + (logand -64 (&+ (-> heap current) 63)) + (&- (-> heap top) (the-as uint (-> heap current))) + ) + ) + cfg-13 + :delay + (nop!) + ) ) - ((= v1-20 'busy) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (nop!) - (goto cfg-16) + (label cfg-16) + (let ((v1-20 (str-load-status (the-as (pointer int32) (& load-status))))) + (b! (!= v1-20 'error) cfg-19 :delay (empty-form)) + (format 0 "Error loading text~%") + (set! v0-2 0) + (b! #t cfg-27 :delay (nop!)) + (the-as none 0) + (b! #t cfg-24 :delay (nop!)) + (label cfg-19) + (cond + ((>= load-status (+ heap-free -300)) + (format 0 "Game text heap overrun!~%") + (return 0) + ) + ((= v1-20 'busy) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (nop!) + (goto cfg-16) + ) + ) ) - ) - ) - (label cfg-24) - (let ((s2-1 (logand -64 (&+ (-> heap current) 63)))) - (flush-cache 0) - (let ((s3-1 link)) - (format (clear *temp-string*) "~D~S.TXT" lang txt-name) - (set! - (-> curr-text value) - (s3-1 s2-1 (-> *temp-string* data) load-status heap 0) + (label cfg-24) + (let ((s2-1 (logand -64 (&+ (-> heap current) 63)))) + (flush-cache 0) + (let ((s3-1 link)) + (format (clear *temp-string*) "~D~S.TXT" lang txt-name) + (set! (-> curr-text value) (s3-1 s2-1 (-> *temp-string* data) load-status heap 0)) + ) ) - ) + (if (<= (the-as int (-> curr-text value)) 0) + (set! (-> curr-text value) (the-as object #f)) + ) ) - (if (<= (the-as int (-> curr-text value)) 0) - (set! (-> curr-text value) (the-as object #f)) - ) - ) (set! v0-2 0) (label cfg-27) v0-2 @@ -210,8 +187,8 @@ ;; INFO: Return type mismatch int vs none. (defun load-level-text-files ((arg0 int)) (if (or *level-text-file-load-flag* (>= arg0 0)) - (load-game-text-info "common" '*common-text* *common-text-heap*) - ) + (load-game-text-info "common" '*common-text* *common-text-heap*) + ) 0 (none) ) @@ -222,108 +199,66 @@ (let ((s5-0 (new 'static 'vector4w)) (gp-0 (new 'static 'matrix)) ) - (let ((s4-0 (new 'static 'vector))) - (set-vector! s4-0 (-> arg0 origin x) (-> arg0 origin y) 0.0 1.0) - (set! - (-> s4-0 x) - (* (-> s4-0 x) (-> *video-parms* relative-x-scale-reciprical)) - ) - (vector-matrix*! s4-0 s4-0 (-> arg0 mat)) - (set-vector! - (-> gp-0 vector 0) - (the-as float (the int (-> s4-0 x))) - (the-as float (the int (-> s4-0 y))) - (the-as float (the int (-> s4-0 z))) - (the-as float 1) - ) - (set-vector! - s4-0 - (+ (-> arg0 origin x) (-> arg0 width)) - (-> arg0 origin y) - 0.0 - 1.0 - ) - (set! - (-> s4-0 x) - (* (-> s4-0 x) (-> *video-parms* relative-x-scale-reciprical)) - ) - (vector-matrix*! s4-0 s4-0 (-> arg0 mat)) - (set-vector! - (-> gp-0 vector 1) - (the-as float (the int (-> s4-0 x))) - (the-as float (the int (-> s4-0 y))) - (the-as float (the int (-> s4-0 z))) - (the-as float 1) - ) - (set-vector! - s4-0 - (+ (-> arg0 origin x) (-> arg0 width)) - (+ (-> arg0 origin y) (-> arg0 height)) - 0.0 - 1.0 - ) - (set! - (-> s4-0 x) - (* (-> s4-0 x) (-> *video-parms* relative-x-scale-reciprical)) - ) - (vector-matrix*! s4-0 s4-0 (-> arg0 mat)) - (set-vector! - (-> gp-0 vector 2) - (the-as float (the int (-> s4-0 x))) - (the-as float (the int (-> s4-0 y))) - (the-as float (the int (-> s4-0 z))) - (the-as float 1) - ) - (set-vector! - s4-0 - (-> arg0 origin x) - (+ (-> arg0 origin y) (-> arg0 height)) - 0.0 - 1.0 - ) - (set! - (-> s4-0 x) - (* (-> s4-0 x) (-> *video-parms* relative-x-scale-reciprical)) - ) - (vector-matrix*! s4-0 s4-0 (-> arg0 mat)) - (set-vector! - (-> gp-0 vector 3) - (the-as float (the int (-> s4-0 x))) - (the-as float (the int (-> s4-0 y))) - (the-as float (the int (-> s4-0 z))) - (the-as float 1) - ) + (let ((s4-0 (new 'static 'vector))) + (set-vector! s4-0 (-> arg0 origin x) (-> arg0 origin y) 0.0 1.0) + (set! (-> s4-0 x) (* (-> s4-0 x) (-> *video-parms* relative-x-scale-reciprical))) + (vector-matrix*! s4-0 s4-0 (-> arg0 mat)) + (set-vector! + (-> gp-0 vector 0) + (the-as float (the int (-> s4-0 x))) + (the-as float (the int (-> s4-0 y))) + (the-as float (the int (-> s4-0 z))) + (the-as float 1) + ) + (set-vector! s4-0 (+ (-> arg0 origin x) (-> arg0 width)) (-> arg0 origin y) 0.0 1.0) + (set! (-> s4-0 x) (* (-> s4-0 x) (-> *video-parms* relative-x-scale-reciprical))) + (vector-matrix*! s4-0 s4-0 (-> arg0 mat)) + (set-vector! + (-> gp-0 vector 1) + (the-as float (the int (-> s4-0 x))) + (the-as float (the int (-> s4-0 y))) + (the-as float (the int (-> s4-0 z))) + (the-as float 1) + ) + (set-vector! s4-0 (+ (-> arg0 origin x) (-> arg0 width)) (+ (-> arg0 origin y) (-> arg0 height)) 0.0 1.0) + (set! (-> s4-0 x) (* (-> s4-0 x) (-> *video-parms* relative-x-scale-reciprical))) + (vector-matrix*! s4-0 s4-0 (-> arg0 mat)) + (set-vector! + (-> gp-0 vector 2) + (the-as float (the int (-> s4-0 x))) + (the-as float (the int (-> s4-0 y))) + (the-as float (the int (-> s4-0 z))) + (the-as float 1) + ) + (set-vector! s4-0 (-> arg0 origin x) (+ (-> arg0 origin y) (-> arg0 height)) 0.0 1.0) + (set! (-> s4-0 x) (* (-> s4-0 x) (-> *video-parms* relative-x-scale-reciprical))) + (vector-matrix*! s4-0 s4-0 (-> arg0 mat)) + (set-vector! + (-> gp-0 vector 3) + (the-as float (the int (-> s4-0 x))) + (the-as float (the int (-> s4-0 y))) + (the-as float (the int (-> s4-0 z))) + (the-as float 1) + ) + ) + (set-vector! s5-0 128 128 128 128) + (add-debug-line2d + #t + (bucket-id debug-draw1) + (the-as vector (-> gp-0 vector)) + (-> gp-0 vector 1) + (the-as vector s5-0) + ) + (add-debug-line2d #t (bucket-id debug-draw1) (-> gp-0 vector 1) (-> gp-0 vector 2) (the-as vector s5-0)) + (add-debug-line2d #t (bucket-id debug-draw1) (-> gp-0 vector 2) (-> gp-0 vector 3) (the-as vector s5-0)) + (add-debug-line2d + #t + (bucket-id debug-draw1) + (-> gp-0 vector 3) + (the-as vector (-> gp-0 vector)) + (the-as vector s5-0) + ) ) - (set-vector! s5-0 128 128 128 128) - (add-debug-line2d - #t - (bucket-id debug-draw1) - (the-as vector (-> gp-0 vector)) - (-> gp-0 vector 1) - (the-as vector s5-0) - ) - (add-debug-line2d - #t - (bucket-id debug-draw1) - (-> gp-0 vector 1) - (-> gp-0 vector 2) - (the-as vector s5-0) - ) - (add-debug-line2d - #t - (bucket-id debug-draw1) - (-> gp-0 vector 2) - (-> gp-0 vector 3) - (the-as vector s5-0) - ) - (add-debug-line2d - #t - (bucket-id debug-draw1) - (-> gp-0 vector 3) - (the-as vector (-> gp-0 vector)) - (the-as vector s5-0) - ) - ) 0 (none) ) @@ -342,40 +277,35 @@ ;; definition for function print-game-text-scaled ;; INFO: Return type mismatch int vs none. -(defun - print-game-text-scaled - ((str string) (scale float) (font-ctxt font-context) (alpha int)) +(defun print-game-text-scaled ((str string) (scale float) (font-ctxt font-context) (alpha int)) (let ((f26-0 (-> font-ctxt width)) (f30-0 (-> font-ctxt height)) (f24-0 (-> font-ctxt origin x)) (f22-0 (-> font-ctxt origin y)) (f28-0 (-> font-ctxt scale)) ) - (let ((f0-1 (* (-> font-ctxt width) scale)) - (f1-2 (* (-> font-ctxt height) scale)) - ) - (if (logtest? (-> font-ctxt flags) (font-flags middle)) - (+! (-> font-ctxt origin x) (* 0.5 (- f26-0 f0-1))) - ) - (if (logtest? (-> font-ctxt flags) (font-flags left)) - (+! - (-> font-ctxt origin y) - (the-as float (gpr->fpr (/ (the int (- f30-0 f1-2)) 2))) + (let ((f0-1 (* (-> font-ctxt width) scale)) + (f1-2 (* (-> font-ctxt height) scale)) + ) + (if (logtest? (-> font-ctxt flags) (font-flags middle)) + (+! (-> font-ctxt origin x) (* 0.5 (- f26-0 f0-1))) + ) + (if (logtest? (-> font-ctxt flags) (font-flags left)) + (+! (-> font-ctxt origin y) (the-as float (gpr->fpr (/ (the int (- f30-0 f1-2)) 2)))) + ) + (let ((v1-10 font-ctxt)) + (set! (-> v1-10 scale) (* f28-0 scale)) + ) + (set! (-> font-ctxt width) f0-1) + (set! (-> font-ctxt height) f1-2) ) - ) - (let ((v1-10 font-ctxt)) - (set! (-> v1-10 scale) (* f28-0 scale)) - ) - (set! (-> font-ctxt width) f0-1) - (set! (-> font-ctxt height) f1-2) + (print-game-text str font-ctxt #f alpha 22) + (set! (-> font-ctxt origin x) f24-0) + (set! (-> font-ctxt origin y) f22-0) + (set! (-> font-ctxt width) f26-0) + (set! (-> font-ctxt height) f30-0) + (set! (-> font-ctxt scale) f28-0) ) - (print-game-text str font-ctxt #f alpha 22) - (set! (-> font-ctxt origin x) f24-0) - (set! (-> font-ctxt origin y) f22-0) - (set! (-> font-ctxt width) f26-0) - (set! (-> font-ctxt height) f30-0) - (set! (-> font-ctxt scale) f28-0) - ) 0 (none) ) @@ -424,267 +354,214 @@ ;; WARN: Stack slot offset 128 signed mismatch ;; WARN: Stack slot offset 132 signed mismatch ;; WARN: Stack slot offset 164 signed mismatch -(defun - print-game-text - ((str string) - (font-ctxt font-context) - (alpha symbol) - (offset-thing int) - (arg4 int) - ) +(defun print-game-text ((str string) (font-ctxt font-context) (alpha symbol) (offset-thing int) (arg4 int)) (local-vars - (sv-112 float) - (sv-116 float) - (sv-120 float) - (sv-124 float) - (sv-128 float) - (sv-132 float) - (sv-136 float) - (sv-140 (pointer uint8)) - (sv-144 float) - (sv-148 float) - (sv-152 float) - (sv-156 float) - (sv-160 float) - (sv-164 float) - (sv-168 int) - (sv-176 int) - (sv-184 int) - (sv-192 int) - (sv-200 int) - (sv-208 symbol) - (sv-212 symbol) - ) - (let - ((gp-0 - (new - 'stack - 'font-context - *font-default-matrix* - (the int (-> font-ctxt origin x)) - (the int (-> font-ctxt origin y)) - 0.0 - (font-color default) - (font-flags shadow kerning) - ) - ) + (sv-112 float) + (sv-116 float) + (sv-120 float) + (sv-124 float) + (sv-128 float) + (sv-132 float) + (sv-136 float) + (sv-140 (pointer uint8)) + (sv-144 float) + (sv-148 float) + (sv-152 float) + (sv-156 float) + (sv-160 float) + (sv-164 float) + (sv-168 int) + (sv-176 int) + (sv-184 int) + (sv-192 int) + (sv-200 int) + (sv-208 symbol) + (sv-212 symbol) ) - (when (< 0.1 (-> font-ctxt scale)) - (set! sv-112 (-> font-ctxt mat vector 0 x)) - (set! sv-116 (-> font-ctxt mat vector 1 y)) - (set! sv-120 (-> *video-parms* relative-x-scale)) - (set! sv-124 (-> *video-parms* relative-y-scale)) - (set! sv-128 (-> *video-parms* relative-x-scale-reciprical)) - (set! sv-132 (-> *video-parms* relative-y-scale-reciprical)) - (set! sv-136 (-> font-ctxt scale)) - (set! (-> gp-0 origin z) (-> font-ctxt origin z)) - (set! (-> gp-0 flags) (-> font-ctxt flags)) - (set! (-> gp-0 color) (-> font-ctxt color)) - (set! (-> gp-0 scale) sv-136) - (when (logtest? (-> gp-0 flags) (font-flags left)) - (logclear! (-> gp-0 flags) (font-flags left)) - (let ((f30-0 (-> gp-0 width)) - (f28-0 (-> gp-0 height)) - ) - (set! (-> gp-0 width) (-> font-ctxt width)) - (set! (-> gp-0 height) (-> font-ctxt height)) - (+! - (-> gp-0 origin y) - (the - float - (the - int - (* 0.5 (- (-> gp-0 height) (print-game-text str gp-0 #t 128 22))) - ) - ) - ) - (set! (-> gp-0 width) f30-0) - (set! (-> gp-0 height) f28-0) - ) - ) - (set! (-> gp-0 mat vector 0 x) (* (-> gp-0 mat vector 0 x) sv-136)) - (set! (-> gp-0 mat vector 1 y) (* (-> gp-0 mat vector 1 y) sv-136)) - (set! - (-> *video-parms* relative-x-scale) - (* (-> *video-parms* relative-x-scale) sv-136) - ) - (set! - (-> *video-parms* relative-y-scale) - (* (-> *video-parms* relative-y-scale) sv-136) - ) - (set! - (-> *video-parms* relative-x-scale-reciprical) - (/ 1.0 (-> *video-parms* relative-x-scale)) - ) - (set! (-> *video-parms* relative-y-scale-reciprical) (/ 1.0 sv-136)) - (set! sv-140 (-> str data)) - (set! sv-144 (-> gp-0 origin x)) - (set! sv-148 (-> gp-0 origin x)) - (set! sv-152 (+ (-> gp-0 origin x) (-> font-ctxt width))) - (set! sv-156 (+ (-> gp-0 origin y) (-> font-ctxt height))) - (set! - sv-160 - (* (get-string-length " " gp-0) (-> *video-parms* relative-x-scale)) - ) - (set! sv-164 (* (if (logtest? (-> gp-0 flags) (font-flags large)) - (the float arg4) - 14.0 - ) - sv-136 - ) - ) - (set! sv-168 0) - (if (logtest? (-> gp-0 flags) (font-flags middle)) - (+! (-> gp-0 origin x) (* 0.5 (-> font-ctxt width))) - ) - (set! sv-176 (the-as int (-> sv-140 0))) - (set! sv-184 0) - (set! sv-192 0) - (set! sv-200 0) - (set! sv-208 (the-as symbol #f)) - (set! sv-212 (the-as symbol #f)) - (set! (-> *game-text-line* data 0) (the-as uint 0)) - (while - (or - (not (and (zero? sv-176) (zero? sv-184) (zero? sv-192))) - (>= sv-156 (-> gp-0 origin y)) - ) - (cond - ((= sv-176 32) - (set! (-> *game-text-word* data sv-184) (the-as uint sv-176)) - (set! sv-184 (+ sv-184 1)) - (set! sv-208 #t) - ) - ((zero? sv-176) - (if (zero? sv-184) - (set! sv-212 #t) - (set! sv-208 #t) - ) - ) - (else - (if (= sv-176 95) - (set! sv-176 32) - ) - (set! (-> *game-text-word* data sv-184) (the-as uint sv-176)) - (set! sv-184 (+ sv-184 1)) - ) - ) - (when (= sv-208 #t) - (set! (-> *game-text-word* data sv-184) (the-as uint 0)) - (let* ((f30-1 sv-144) - (f0-49 - (* - (get-string-length *game-text-word* gp-0) - (-> *video-parms* relative-x-scale) - ) + (let ((gp-0 (new + 'stack + 'font-context + *font-default-matrix* + (the int (-> font-ctxt origin x)) + (the int (-> font-ctxt origin y)) + 0.0 + (font-color default) + (font-flags shadow kerning) + ) ) - (f1-14 (+ f30-1 f0-49)) - ) - (if (= (-> *game-text-word* data (+ sv-184 -1)) 32) - (set! f1-14 (- f1-14 sv-160)) ) - (cond - ((< sv-152 f1-14) - (set! sv-144 (+ sv-148 f0-49)) - (set! sv-212 #t) - ) - (else - (set! sv-144 (+ sv-144 f0-49)) - ) + (when (< 0.1 (-> font-ctxt scale)) + (set! sv-112 (-> font-ctxt mat vector 0 x)) + (set! sv-116 (-> font-ctxt mat vector 1 y)) + (set! sv-120 (-> *video-parms* relative-x-scale)) + (set! sv-124 (-> *video-parms* relative-y-scale)) + (set! sv-128 (-> *video-parms* relative-x-scale-reciprical)) + (set! sv-132 (-> *video-parms* relative-y-scale-reciprical)) + (set! sv-136 (-> font-ctxt scale)) + (set! (-> gp-0 origin z) (-> font-ctxt origin z)) + (set! (-> gp-0 flags) (-> font-ctxt flags)) + (set! (-> gp-0 color) (-> font-ctxt color)) + (set! (-> gp-0 scale) sv-136) + (when (logtest? (-> gp-0 flags) (font-flags left)) + (logclear! (-> gp-0 flags) (font-flags left)) + (let ((f30-0 (-> gp-0 width)) + (f28-0 (-> gp-0 height)) + ) + (set! (-> gp-0 width) (-> font-ctxt width)) + (set! (-> gp-0 height) (-> font-ctxt height)) + (+! + (-> gp-0 origin y) + (the float (the int (* 0.5 (- (-> gp-0 height) (print-game-text str gp-0 #t 128 22))))) + ) + (set! (-> gp-0 width) f30-0) + (set! (-> gp-0 height) f28-0) + ) ) - ) - ) - (when (= sv-212 #t) - (when (>= sv-200 (the-as int (-> gp-0 start-line))) - (let ((f30-2 (+ (-> gp-0 origin y) sv-164))) - (when (>= sv-156 f30-2) - (when (= (-> *game-text-line* data (+ sv-192 -1)) 32) - (set! (-> *game-text-line* data (+ sv-192 -1)) (the-as uint 0)) - (when - (and - (= (-> *game-text-line* data (+ sv-192 -5)) 126) - (= (-> *game-text-line* data (+ sv-192 -2)) 72) + (set! (-> gp-0 mat vector 0 x) (* (-> gp-0 mat vector 0 x) sv-136)) + (set! (-> gp-0 mat vector 1 y) (* (-> gp-0 mat vector 1 y) sv-136)) + (set! (-> *video-parms* relative-x-scale) (* (-> *video-parms* relative-x-scale) sv-136)) + (set! (-> *video-parms* relative-y-scale) (* (-> *video-parms* relative-y-scale) sv-136)) + (set! (-> *video-parms* relative-x-scale-reciprical) (/ 1.0 (-> *video-parms* relative-x-scale))) + (set! (-> *video-parms* relative-y-scale-reciprical) (/ 1.0 sv-136)) + (set! sv-140 (-> str data)) + (set! sv-144 (-> gp-0 origin x)) + (set! sv-148 (-> gp-0 origin x)) + (set! sv-152 (+ (-> gp-0 origin x) (-> font-ctxt width))) + (set! sv-156 (+ (-> gp-0 origin y) (-> font-ctxt height))) + (set! sv-160 (* (get-string-length " " gp-0) (-> *video-parms* relative-x-scale))) + (set! sv-164 (* (if (logtest? (-> gp-0 flags) (font-flags large)) + (the float arg4) + 14.0 + ) + sv-136 + ) ) - (set! (-> *game-text-line* data (+ sv-192 -5)) (the-as uint 0)) - 0 - ) + (set! sv-168 0) + (if (logtest? (-> gp-0 flags) (font-flags middle)) + (+! (-> gp-0 origin x) (* 0.5 (-> font-ctxt width))) ) - ) - (when - (and - (= (-> *game-text-line* data (+ sv-192 -4)) 126) - (= (-> *game-text-line* data (+ sv-192 -1)) 72) - ) - (set! (-> *game-text-line* data (+ sv-192 -4)) (the-as uint 0)) - 0 - ) - (if (nonzero? (-> *game-text-line* data 0)) - (set! sv-168 (+ sv-168 1)) - ) - (when (not alpha) - (let* - ((s1-1 - (-> *display* frames (-> *display* on-screen) frame global-buf) - ) - (s2-1 (-> s1-1 base)) - ) - (set-font-color-alpha (-> font-ctxt color) offset-thing) - (draw-string *game-text-line* s1-1 gp-0) - (set-font-color-alpha (-> font-ctxt color) 128) - (set! (-> gp-0 color) (-> *font-work* last-color)) - (let ((a3-3 (-> s1-1 base))) - (let ((v1-127 (the-as object (-> s1-1 base)))) - (set! - (-> (the-as dma-packet v1-127) dma) - (new 'static 'dma-tag :id (dma-tag-id next)) - ) - (set! (-> (the-as dma-packet v1-127) vif0) (new 'static 'vif-tag)) - (set! (-> (the-as dma-packet v1-127) vif1) (new 'static 'vif-tag)) - (set! (-> s1-1 base) (&+ (the-as pointer v1-127) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - s2-1 - (the-as (pointer dma-tag) a3-3) - ) - ) - ) - ) - (set! (-> gp-0 origin y) f30-2) - ) - ) - (set! sv-200 (+ sv-200 1)) - (set! (-> *game-text-line* data 0) (the-as uint 0)) - (set! sv-192 0) - (set! sv-212 (the-as symbol #f)) - ) - (when (= sv-208 #t) - (copy-charp<-charp - (&-> *game-text-line* data sv-192) - (-> *game-text-word* data) - ) - (set! sv-192 (+ sv-192 sv-184)) - (set! sv-184 0) - (set! sv-208 (the-as symbol #f)) - ) - (when (nonzero? sv-176) - (set! sv-140 (&-> sv-140 1)) (set! sv-176 (the-as int (-> sv-140 0))) + (set! sv-184 0) + (set! sv-192 0) + (set! sv-200 0) + (set! sv-208 (the-as symbol #f)) + (set! sv-212 (the-as symbol #f)) + (set! (-> *game-text-line* data 0) (the-as uint 0)) + (while (or (not (and (zero? sv-176) (zero? sv-184) (zero? sv-192))) (>= sv-156 (-> gp-0 origin y))) + (cond + ((= sv-176 32) + (set! (-> *game-text-word* data sv-184) (the-as uint sv-176)) + (set! sv-184 (+ sv-184 1)) + (set! sv-208 #t) + ) + ((zero? sv-176) + (if (zero? sv-184) + (set! sv-212 #t) + (set! sv-208 #t) + ) + ) + (else + (if (= sv-176 95) + (set! sv-176 32) + ) + (set! (-> *game-text-word* data sv-184) (the-as uint sv-176)) + (set! sv-184 (+ sv-184 1)) + ) + ) + (when (= sv-208 #t) + (set! (-> *game-text-word* data sv-184) (the-as uint 0)) + (let* ((f30-1 sv-144) + (f0-49 (* (get-string-length *game-text-word* gp-0) (-> *video-parms* relative-x-scale))) + (f1-14 (+ f30-1 f0-49)) + ) + (if (= (-> *game-text-word* data (+ sv-184 -1)) 32) + (set! f1-14 (- f1-14 sv-160)) + ) + (cond + ((< sv-152 f1-14) + (set! sv-144 (+ sv-148 f0-49)) + (set! sv-212 #t) + ) + (else + (set! sv-144 (+ sv-144 f0-49)) + ) + ) + ) + ) + (when (= sv-212 #t) + (when (>= sv-200 (the-as int (-> gp-0 start-line))) + (let ((f30-2 (+ (-> gp-0 origin y) sv-164))) + (when (>= sv-156 f30-2) + (when (= (-> *game-text-line* data (+ sv-192 -1)) 32) + (set! (-> *game-text-line* data (+ sv-192 -1)) (the-as uint 0)) + (when (and (= (-> *game-text-line* data (+ sv-192 -5)) 126) (= (-> *game-text-line* data (+ sv-192 -2)) 72)) + (set! (-> *game-text-line* data (+ sv-192 -5)) (the-as uint 0)) + 0 + ) + ) + ) + (when (and (= (-> *game-text-line* data (+ sv-192 -4)) 126) (= (-> *game-text-line* data (+ sv-192 -1)) 72)) + (set! (-> *game-text-line* data (+ sv-192 -4)) (the-as uint 0)) + 0 + ) + (if (nonzero? (-> *game-text-line* data 0)) + (set! sv-168 (+ sv-168 1)) + ) + (when (not alpha) + (let* ((s1-1 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (s2-1 (-> s1-1 base)) + ) + (set-font-color-alpha (-> font-ctxt color) offset-thing) + (draw-string *game-text-line* s1-1 gp-0) + (set-font-color-alpha (-> font-ctxt color) 128) + (set! (-> gp-0 color) (-> *font-work* last-color)) + (let ((a3-3 (-> s1-1 base))) + (let ((v1-127 (the-as object (-> s1-1 base)))) + (set! (-> (the-as dma-packet v1-127) dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> (the-as dma-packet v1-127) vif0) (new 'static 'vif-tag)) + (set! (-> (the-as dma-packet v1-127) vif1) (new 'static 'vif-tag)) + (set! (-> s1-1 base) (&+ (the-as pointer v1-127) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + s2-1 + (the-as (pointer dma-tag) a3-3) + ) + ) + ) + ) + (set! (-> gp-0 origin y) f30-2) + ) + ) + (set! sv-200 (+ sv-200 1)) + (set! (-> *game-text-line* data 0) (the-as uint 0)) + (set! sv-192 0) + (set! sv-212 (the-as symbol #f)) + ) + (when (= sv-208 #t) + (copy-charp<-charp (&-> *game-text-line* data sv-192) (-> *game-text-word* data)) + (set! sv-192 (+ sv-192 sv-184)) + (set! sv-184 0) + (set! sv-208 (the-as symbol #f)) + ) + (when (nonzero? sv-176) + (set! sv-140 (&-> sv-140 1)) + (set! sv-176 (the-as int (-> sv-140 0))) + ) + ) + (set! (-> gp-0 mat vector 0 x) sv-112) + (set! (-> gp-0 mat vector 1 y) sv-116) + (set! (-> *video-parms* relative-x-scale) sv-120) + (set! (-> *video-parms* relative-y-scale) sv-124) + (set! (-> *video-parms* relative-x-scale-reciprical) sv-128) + (set! (-> *video-parms* relative-y-scale-reciprical) sv-132) + (if (> sv-168 0) + (* sv-164 (the float sv-168)) + 0.0 + ) ) - ) - (set! (-> gp-0 mat vector 0 x) sv-112) - (set! (-> gp-0 mat vector 1 y) sv-116) - (set! (-> *video-parms* relative-x-scale) sv-120) - (set! (-> *video-parms* relative-y-scale) sv-124) - (set! (-> *video-parms* relative-x-scale-reciprical) sv-128) - (set! (-> *video-parms* relative-y-scale-reciprical) sv-132) - (if (> sv-168 0) - (* sv-164 (the float sv-168)) - 0.0 - ) ) - ) ) ;; definition for function disable-level-text-file-loading diff --git a/test/decompiler/reference/engine/util/smush-control-h_REF.gc b/test/decompiler/reference/engine/util/smush-control-h_REF.gc index 25ae655aaf..f9c4fa7ff4 100644 --- a/test/decompiler/reference/engine/util/smush-control-h_REF.gc +++ b/test/decompiler/reference/engine/util/smush-control-h_REF.gc @@ -57,87 +57,70 @@ ;; definition for method 10 of type smush-control (defmethod update! smush-control ((obj smush-control)) (cond - ((!= (-> obj amp) 0.0) - (let* - ((f30-0 - (the float (- (-> *display* base-frame-counter) (-> obj start-time))) + ((!= (-> obj amp) 0.0) + (let* ((f30-0 (the float (- (-> *display* base-frame-counter) (-> obj start-time)))) + (f0-2 (-> obj period)) + (f28-0 (- f30-0 (* (the float (the int (/ f30-0 f0-2))) f0-2))) + ) + (when (>= (- f30-0 (-> obj ticks)) (-> obj period)) + (set! (-> obj amp) (* (-> obj amp) (-> obj damp-amp))) + (set! (-> obj period) (* (-> obj period) (-> obj damp-period))) + (set! (-> obj ticks) f30-0) + (if (< (-> obj damp-period) 0.0) + (set-zero! obj) + ) + ) + (if (>= f30-0 (-> obj duration)) + (set-zero! obj) + ) + (* (sin (/ (* 65536.0 f28-0) (-> obj period))) + (* (-> obj amp) (/ (- (-> obj duration) f30-0) (-> obj duration))) + ) ) - (f0-2 (-> obj period)) - (f28-0 (- f30-0 (* (the float (the int (/ f30-0 f0-2))) f0-2))) - ) - (when (>= (- f30-0 (-> obj ticks)) (-> obj period)) - (set! (-> obj amp) (* (-> obj amp) (-> obj damp-amp))) - (set! (-> obj period) (* (-> obj period) (-> obj damp-period))) - (set! (-> obj ticks) f30-0) - (if (< (-> obj damp-period) 0.0) - (set-zero! obj) - ) - ) - (if (>= f30-0 (-> obj duration)) - (set-zero! obj) - ) - (* - (sin (/ (* 65536.0 f28-0) (-> obj period))) - (* (-> obj amp) (/ (- (-> obj duration) f30-0) (-> obj duration))) - ) ) + (else + 0.0 + ) ) - (else - 0.0 - ) - ) ) ;; definition for method 11 of type smush-control (defmethod get-no-update smush-control ((obj smush-control)) (cond - ((!= (-> obj amp) 0.0) - (let* - ((f30-0 - (the float (- (-> *display* base-frame-counter) (-> obj start-time))) + ((!= (-> obj amp) 0.0) + (let* ((f30-0 (the float (- (-> *display* base-frame-counter) (-> obj start-time)))) + (f0-2 (-> obj period)) + (f0-4 (- f30-0 (* (the float (the int (/ f30-0 f0-2))) f0-2))) + ) + (* (sin (/ (* 65536.0 f0-4) (-> obj period))) + (* (-> obj amp) (/ (- (-> obj duration) f30-0) (-> obj duration))) + ) ) - (f0-2 (-> obj period)) - (f0-4 (- f30-0 (* (the float (the int (/ f30-0 f0-2))) f0-2))) - ) - (* - (sin (/ (* 65536.0 f0-4) (-> obj period))) - (* (-> obj amp) (/ (- (-> obj duration) f30-0) (-> obj duration))) - ) ) + (else + 0.0 + ) ) - (else - 0.0 - ) - ) ) ;; definition for method 14 of type smush-control (defmethod die-on-next-update! smush-control ((obj smush-control)) (if (!= (-> obj amp) 0.0) - (set! (-> obj damp-period) -1.0) - ) + (set! (-> obj damp-period) -1.0) + ) obj ) ;; definition for method 12 of type smush-control -(defmethod - activate! - smush-control - ((obj smush-control) - (arg0 float) - (arg1 int) - (arg2 int) - (arg3 float) - (arg4 float) - ) +(defmethod activate! smush-control ((obj smush-control) (arg0 float) (arg1 int) (arg2 int) (arg3 float) (arg4 float)) (when (>= (fabs (* 0.2 (-> obj amp))) (fabs (get-no-update obj))) - (set! (-> obj amp) arg0) - (set! (-> obj period) (the float arg1)) - (set! (-> obj duration) (the float arg2)) - (set! (-> obj damp-amp) arg3) - (set! (-> obj damp-period) arg4) - (set! (-> obj ticks) 0.0) - (set! (-> obj start-time) (-> *display* base-frame-counter)) - ) + (set! (-> obj amp) arg0) + (set! (-> obj period) (the float arg1)) + (set! (-> obj duration) (the float arg2)) + (set! (-> obj damp-amp) arg3) + (set! (-> obj damp-period) arg4) + (set! (-> obj ticks) 0.0) + (set! (-> obj start-time) (-> *display* base-frame-counter)) + ) obj ) diff --git a/test/decompiler/reference/engine/util/sync-info_REF.gc b/test/decompiler/reference/engine/util/sync-info_REF.gc index 45c1680162..8f27d1b833 100644 --- a/test/decompiler/reference/engine/util/sync-info_REF.gc +++ b/test/decompiler/reference/engine/util/sync-info_REF.gc @@ -3,112 +3,87 @@ ;; definition for method 14 of type sync-info ;; INFO: Return type mismatch int vs none. -(defmethod - setup-params! - sync-info - ((obj sync-info) (period uint) (phase float) (arg2 float) (arg3 float)) +(defmethod setup-params! sync-info ((obj sync-info) (period uint) (phase float) (arg2 float) (arg3 float)) (set! (-> obj period) period) (let* ((period-float (the float period)) (value (* phase period-float)) ) - (set! - (-> obj offset) - (- value (* (the float (the int (/ value period-float))) period-float)) + (set! (-> obj offset) (- value (* (the float (the int (/ value period-float))) period-float))) ) - ) 0 (none) ) ;; definition for method 14 of type sync-info-eased ;; INFO: Return type mismatch int vs none. -(defmethod - setup-params! - sync-info-eased - ((obj sync-info-eased) - (period uint) - (phase float) - (out-param float) - (in-param float) - ) +(defmethod setup-params! sync-info-eased ((obj sync-info-eased) (period uint) (phase float) (out-param float) (in-param float)) (set! (-> obj period) period) (let* ((period-float (the float period)) (value (* phase period-float)) ) - (set! - (-> obj offset) - (- value (* (the float (the int (/ value period-float))) period-float)) + (set! (-> obj offset) (- value (* (the float (the int (/ value period-float))) period-float))) ) - ) (if (< out-param 0.0) - (set! out-param 0.0) - ) + (set! out-param 0.0) + ) (if (< 1.0 out-param) - (set! out-param 1.0) - ) + (set! out-param 1.0) + ) (if (< in-param 0.001) - (set! in-param 0.001) - ) + (set! in-param 0.001) + ) (if (< 1.0 in-param) - (set! in-param 1.0) - ) + (set! in-param 1.0) + ) (let ((total-easing-phase (+ out-param in-param))) - (when (< 1.0 total-easing-phase) - (set! total-easing-phase 1.0) - (set! out-param (- 1.0 in-param)) + (when (< 1.0 total-easing-phase) + (set! total-easing-phase 1.0) + (set! out-param (- 1.0 in-param)) + ) + (let* ((total-normal-phase (- 1.0 total-easing-phase)) + (f0-10 out-param) + (f1-12 (+ out-param total-normal-phase)) + (f2-5 (* f0-10 f0-10)) + (f3-3 (+ (* 2.0 f0-10 (- f1-12 f0-10)) f2-5)) + (f4-3 (/ f0-10 (- 1.0 f1-12))) + (y-end (+ (* (- 1.0 f1-12) (- 1.0 f1-12) f4-3) f3-3)) + ) + (set! (-> obj tlo) f0-10) + (set! (-> obj thi) f1-12) + (set! (-> obj ylo) f2-5) + (set! (-> obj m2) f4-3) + (set! (-> obj yend) y-end) + ) ) - (let* ((total-normal-phase (- 1.0 total-easing-phase)) - (f0-10 out-param) - (f1-12 (+ out-param total-normal-phase)) - (f2-5 (* f0-10 f0-10)) - (f3-3 (+ (* 2.0 f0-10 (- f1-12 f0-10)) f2-5)) - (f4-3 (/ f0-10 (- 1.0 f1-12))) - (y-end (+ (* (- 1.0 f1-12) (- 1.0 f1-12) f4-3) f3-3)) - ) - (set! (-> obj tlo) f0-10) - (set! (-> obj thi) f1-12) - (set! (-> obj ylo) f2-5) - (set! (-> obj m2) f4-3) - (set! (-> obj yend) y-end) - ) - ) 0 (none) ) ;; definition for method 14 of type sync-info-paused ;; INFO: Return type mismatch int vs none. -(defmethod - setup-params! - sync-info-paused - ((obj sync-info-paused) - (period uint) - (phase float) - (out-param float) - (in-param float) - ) +(defmethod setup-params! sync-info-paused ((obj sync-info-paused) (period uint) (phase float) (out-param float) (in-param float)) (set! (-> obj period) period) (let* ((f0-1 (the float period)) (f1-1 (* phase f0-1)) ) - (set! (-> obj offset) (- f1-1 (* (the float (the int (/ f1-1 f0-1))) f0-1))) - ) + (set! (-> obj offset) (- f1-1 (* (the float (the int (/ f1-1 f0-1))) f0-1))) + ) (cond - ((< out-param 0.0) - (set! out-param 0.0) + ((< out-param 0.0) + (set! out-param 0.0) + ) + ((< 1.0 out-param) + (set! out-param 1.0) + ) ) - ((< 1.0 out-param) - (set! out-param 1.0) - ) - ) (cond - ((< in-param 0.0) - (set! in-param 0.0) + ((< in-param 0.0) + (set! in-param 0.0) + ) + ((< (- 1.0 out-param) in-param) + (set! in-param (- 1.0 out-param)) + ) ) - ((< (- 1.0 out-param) in-param) - (set! in-param (- 1.0 out-param)) - ) - ) (set! (-> obj pause-after-in) in-param) (set! (-> obj pause-after-out) out-param) 0 @@ -117,149 +92,123 @@ ;; definition for method 15 of type sync-info ;; Used lq/sq -(defmethod - load-params! - sync-info - ((obj sync-info) - (proc process) - (default-period uint) - (default-phase float) - (default-out float) - (default-in float) - ) +(defmethod load-params! sync-info ((obj sync-info) + (proc process) + (default-period uint) + (default-phase float) + (default-out float) + (default-in float) + ) (local-vars (sv-16 res-tag)) (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-1 (res-lump-data (-> proc entity) 'sync pointer :tag-ptr (& sv-16)))) - (cond - (v1-1 - (setup-params! - obj - (the-as uint (the int (* 300.0 (-> (the-as (pointer float) v1-1) 0)))) - (-> (the-as (pointer float) v1-1) 1) - 0.15 - 0.15 + (let ((v1-1 (res-lump-data (-> proc entity) 'sync pointer :tag-ptr (& sv-16)))) + (cond + (v1-1 + (setup-params! + obj + (the-as uint (the int (* 300.0 (-> (the-as (pointer float) v1-1) 0)))) + (-> (the-as (pointer float) v1-1) 1) + 0.15 + 0.15 + ) + #t + ) + (else + (setup-params! obj default-period default-phase 0.15 0.15) + #f + ) ) - #t - ) - (else - (setup-params! obj default-period default-phase 0.15 0.15) - #f - ) ) - ) ) ;; definition for method 15 of type sync-info-eased ;; Used lq/sq -(defmethod - load-params! - sync-info-eased - ((obj sync-info-eased) - (proc process) - (default-period uint) - (default-phase float) - (default-out float) - (default-in float) - ) +(defmethod load-params! sync-info-eased ((obj sync-info-eased) + (proc process) + (default-period uint) + (default-phase float) + (default-out float) + (default-in float) + ) (local-vars (sv-16 res-tag)) (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-1 (res-lump-data (-> proc entity) 'sync pointer :tag-ptr (& sv-16)))) - (cond - (v1-1 - (if (>= (-> sv-16 elt-count) (the-as uint 4)) - (setup-params! - obj - (the-as uint (the int (* 300.0 (-> (the-as (pointer float) v1-1) 0)))) - (-> (the-as (pointer float) v1-1) 1) - (-> (the-as (pointer float) v1-1) 2) - (-> (the-as (pointer float) v1-1) 3) - ) - (setup-params! - obj - (the-as uint (the int (* 300.0 (-> (the-as (pointer float) v1-1) 0)))) - (-> (the-as (pointer float) v1-1) 1) - default-out - default-in - ) + (let ((v1-1 (res-lump-data (-> proc entity) 'sync pointer :tag-ptr (& sv-16)))) + (cond + (v1-1 + (if (>= (-> sv-16 elt-count) (the-as uint 4)) + (setup-params! + obj + (the-as uint (the int (* 300.0 (-> (the-as (pointer float) v1-1) 0)))) + (-> (the-as (pointer float) v1-1) 1) + (-> (the-as (pointer float) v1-1) 2) + (-> (the-as (pointer float) v1-1) 3) + ) + (setup-params! + obj + (the-as uint (the int (* 300.0 (-> (the-as (pointer float) v1-1) 0)))) + (-> (the-as (pointer float) v1-1) 1) + default-out + default-in + ) + ) + #t + ) + (else + (setup-params! obj default-period default-phase default-out default-in) + #f + ) ) - #t - ) - (else - (setup-params! obj default-period default-phase default-out default-in) - #f - ) ) - ) ) ;; definition for method 15 of type sync-info-paused ;; Used lq/sq -(defmethod - load-params! - sync-info-paused - ((obj sync-info-paused) - (proc process) - (default-period uint) - (default-phase float) - (default-out float) - (default-in float) - ) +(defmethod load-params! sync-info-paused ((obj sync-info-paused) + (proc process) + (default-period uint) + (default-phase float) + (default-out float) + (default-in float) + ) (local-vars (sv-16 res-tag)) (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-1 (res-lump-data (-> proc entity) 'sync pointer :tag-ptr (& sv-16)))) - (cond - (v1-1 - (if (>= (-> sv-16 elt-count) (the-as uint 4)) - (setup-params! - obj - (the-as uint (the int (* 300.0 (-> (the-as (pointer float) v1-1) 0)))) - (-> (the-as (pointer float) v1-1) 1) - (-> (the-as (pointer float) v1-1) 2) - (-> (the-as (pointer float) v1-1) 3) - ) - (setup-params! - obj - (the-as uint (the int (* 300.0 (-> (the-as (pointer float) v1-1) 0)))) - (-> (the-as (pointer float) v1-1) 1) - default-out - default-in - ) + (let ((v1-1 (res-lump-data (-> proc entity) 'sync pointer :tag-ptr (& sv-16)))) + (cond + (v1-1 + (if (>= (-> sv-16 elt-count) (the-as uint 4)) + (setup-params! + obj + (the-as uint (the int (* 300.0 (-> (the-as (pointer float) v1-1) 0)))) + (-> (the-as (pointer float) v1-1) 1) + (-> (the-as (pointer float) v1-1) 2) + (-> (the-as (pointer float) v1-1) 3) + ) + (setup-params! + obj + (the-as uint (the int (* 300.0 (-> (the-as (pointer float) v1-1) 0)))) + (-> (the-as (pointer float) v1-1) 1) + default-out + default-in + ) + ) + #t + ) + (else + (setup-params! obj default-period default-phase default-out default-in) + #f + ) ) - #t - ) - (else - (setup-params! obj default-period default-phase default-out default-in) - #f - ) ) - ) ) ;; definition for method 10 of type sync-info (defmethod get-current-phase-no-mod sync-info ((obj sync-info)) (let* ((period (-> obj period)) (period-float (the float period)) - (current-time - (+ - (the - float - (mod (the-as uint (-> *display* base-frame-counter)) period) - ) - (-> obj offset) - ) - ) + (current-time (+ (the float (mod (the-as uint (-> *display* base-frame-counter)) period)) (-> obj offset))) ) - (/ - (- - current-time - (* (the float (the int (/ current-time period-float))) period-float) - ) - period-float + (/ (- current-time (* (the float (the int (/ current-time period-float))) period-float)) period-float) ) - ) ) ;; definition for method 17 of type sync-info @@ -272,76 +221,32 @@ (let* ((period (-> obj period)) (period-float (the float period)) (wrapped-user-offset - (- - user-time-offset - (* - (the float (the int (/ user-time-offset period-float))) - period-float - ) + (- user-time-offset (* (the float (the int (/ user-time-offset period-float))) period-float)) ) - ) - (current-time - (+ - (the - float - (mod (the-as uint (-> *display* base-frame-counter)) period) - ) - (-> obj offset) - ) - ) + (current-time (+ (the float (mod (the-as uint (-> *display* base-frame-counter)) period)) (-> obj offset))) (current-time-wrapped - (/ - (- - current-time - (* (the float (the int (/ current-time period-float))) period-float) - ) - period-float + (/ (- current-time (* (the float (the int (/ current-time period-float))) period-float)) period-float) ) - ) (combined-offset - (+ - (* (- wrapped-user-offset current-time-wrapped) period-float) - period-float - (-> obj offset) + (+ (* (- wrapped-user-offset current-time-wrapped) period-float) period-float (-> obj offset)) ) - ) (combined-offset-wrapped - (- - combined-offset - (* - (the float (the int (/ combined-offset period-float))) - period-float - ) + (- combined-offset (* (the float (the int (/ combined-offset period-float))) period-float)) ) - ) ) - (set! (-> obj offset) combined-offset-wrapped) - combined-offset-wrapped - ) + (set! (-> obj offset) combined-offset-wrapped) + combined-offset-wrapped + ) ) ;; definition for method 11 of type sync-info (defmethod get-current-phase sync-info ((obj sync-info)) (let* ((period (-> obj period)) (period-float (the float period)) - (current-time - (+ - (the - float - (mod (the-as uint (-> *display* base-frame-counter)) period) - ) - (-> obj offset) - ) - ) + (current-time (+ (the float (mod (the-as uint (-> *display* base-frame-counter)) period)) (-> obj offset))) ) - (/ - (- - current-time - (* (the float (the int (/ current-time period-float))) period-float) - ) - period-float + (/ (- current-time (* (the float (the int (/ current-time period-float))) period-float)) period-float) ) - ) ) ;; definition for method 11 of type sync-info-paused @@ -349,61 +254,29 @@ (let* ((period (-> obj period)) (period-float (the float period)) (max-phase 1.0) - (current-time - (+ - (the - float - (mod (the-as uint (-> *display* base-frame-counter)) period) - ) - (-> obj offset) - ) - ) + (current-time (+ (the float (mod (the-as uint (-> *display* base-frame-counter)) period)) (-> obj offset))) ) - (fmin - max-phase - (/ - (- - current-time - (* (the float (the int (/ current-time period-float))) period-float) - ) - (* period-float (- 1.0 (-> obj pause-after-out))) - ) + (fmin max-phase (/ (- current-time (* (the float (the int (/ current-time period-float))) period-float)) + (* period-float (- 1.0 (-> obj pause-after-out))) + ) + ) ) - ) ) ;; definition for method 9 of type sync-info (defmethod get-current-value sync-info ((obj sync-info) (max-val float)) (let* ((period (-> obj period)) (period-float (the float period)) - (current-time - (+ - (the - float - (mod (the-as uint (-> *display* base-frame-counter)) period) - ) - (-> obj offset) - ) - ) + (current-time (+ (the float (mod (the-as uint (-> *display* base-frame-counter)) period)) (-> obj offset))) ) - (* - (/ - (- - current-time - (* (the float (the int (/ current-time period-float))) period-float) - ) - period-float - ) - max-val + (* (/ (- current-time (* (the float (the int (/ current-time period-float))) period-float)) period-float) + max-val + ) ) - ) ) ;; definition for method 9 of type sync-info-paused -(defmethod - get-current-value - sync-info-paused - ((obj sync-info-paused) (arg0 float)) +(defmethod get-current-value sync-info-paused ((obj sync-info-paused) (arg0 float)) (* (get-current-phase obj) arg0) ) @@ -412,36 +285,18 @@ (let* ((period (-> obj period)) (period-float (the float period)) (max-val 2.0) - (current-time - (+ - (the - float - (mod (the-as uint (-> *display* base-frame-counter)) period) - ) - (-> obj offset) - ) - ) + (current-time (+ (the float (mod (the-as uint (-> *display* base-frame-counter)) period)) (-> obj offset))) (phase-out-of-2 - (* - max-val - (/ - (- - current-time - (* - (the float (the int (/ current-time period-float))) - period-float + (* max-val + (/ (- current-time (* (the float (the int (/ current-time period-float))) period-float)) period-float) ) - ) - period-float - ) ) - ) ) - (if (>= phase-out-of-2 1.0) - (set! phase-out-of-2 (- 2.0 phase-out-of-2)) + (if (>= phase-out-of-2 1.0) + (set! phase-out-of-2 (- 2.0 phase-out-of-2)) + ) + phase-out-of-2 ) - phase-out-of-2 - ) ) ;; definition for method 13 of type sync-info-eased @@ -449,166 +304,102 @@ (let* ((period (-> obj period)) (period-float (the float period)) (max-val 2.0) - (current-time - (+ - (the - float - (mod (the-as uint (-> *display* base-frame-counter)) period) - ) - (-> obj offset) - ) - ) + (current-time (+ (the float (mod (the-as uint (-> *display* base-frame-counter)) period)) (-> obj offset))) (current-val - (* - max-val - (/ - (- - current-time - (* - (the float (the int (/ current-time period-float))) - period-float + (* max-val + (/ (- current-time (* (the float (the int (/ current-time period-float))) period-float)) period-float) ) - ) - period-float - ) ) - ) (in-mirror? #f) ) - (when (>= current-val 1.0) - (set! in-mirror? #t) - (set! current-val (+ -1.0 current-val)) - ) - (let* ((tlo (-> obj tlo)) - (eased-phase (/ (cond - ((< current-val tlo) - (* current-val current-val) - ) - ((< current-val (-> obj thi)) - (+ (* 2.0 tlo (- current-val tlo)) (-> obj ylo)) - ) - (else - (let ((f1-7 (- 1.0 current-val))) - (- (-> obj yend) (* f1-7 f1-7 (-> obj m2))) - ) - ) + (when (>= current-val 1.0) + (set! in-mirror? #t) + (set! current-val (+ -1.0 current-val)) + ) + (let* ((tlo (-> obj tlo)) + (eased-phase (/ (cond + ((< current-val tlo) + (* current-val current-val) + ) + ((< current-val (-> obj thi)) + (+ (* 2.0 tlo (- current-val tlo)) (-> obj ylo)) + ) + (else + (let ((f1-7 (- 1.0 current-val))) + (- (-> obj yend) (* f1-7 f1-7 (-> obj m2))) + ) + ) + ) + (-> obj yend) ) - (-> obj yend) ) ) + (if in-mirror? + (set! eased-phase (- 1.0 eased-phase)) ) - (if in-mirror? - (set! eased-phase (- 1.0 eased-phase)) - ) - eased-phase + eased-phase + ) ) - ) ) ;; definition for method 13 of type sync-info-paused -(defmethod - get-current-phase-with-mirror - sync-info-paused - ((obj sync-info-paused)) +(defmethod get-current-phase-with-mirror sync-info-paused ((obj sync-info-paused)) (let* ((v1-0 (-> obj period)) (f1-0 (the float v1-0)) (f0-1 2.0) - (f2-2 - (+ - (the - float - (mod (the-as uint (-> *display* base-frame-counter)) v1-0) - ) - (-> obj offset) - ) - ) - (f0-2 - (* - f0-1 - (/ (- f2-2 (* (the float (the int (/ f2-2 f1-0))) f1-0)) f1-0) - ) - ) + (f2-2 (+ (the float (mod (the-as uint (-> *display* base-frame-counter)) v1-0)) (-> obj offset))) + (f0-2 (* f0-1 (/ (- f2-2 (* (the float (the int (/ f2-2 f1-0))) f1-0)) f1-0))) (f1-3 (- 1.0 (* 2.0 (-> obj pause-after-in)))) (f2-7 (- 1.0 (* 2.0 (-> obj pause-after-out)))) ) - (cond - ((>= f0-2 (+ 1.0 f1-3)) - 0.0 - ) - ((< 1.0 f0-2) - (- 1.0 (/ (+ -1.0 f0-2) f1-3)) - ) - ((>= f0-2 f2-7) - 1.0 - ) - (else - (/ f0-2 f2-7) - ) + (cond + ((>= f0-2 (+ 1.0 f1-3)) + 0.0 + ) + ((< 1.0 f0-2) + (- 1.0 (/ (+ -1.0 f0-2) f1-3)) + ) + ((>= f0-2 f2-7) + 1.0 + ) + (else + (/ f0-2 f2-7) + ) + ) ) - ) ) ;; definition for method 12 of type sync-info -(defmethod - get-current-value-with-mirror - sync-info - ((obj sync-info) (max-out-val float)) +(defmethod get-current-value-with-mirror sync-info ((obj sync-info) (max-out-val float)) (let* ((period (-> obj period)) (period-float (the float period)) (max-val 2.0) - (current-time - (+ - (the - float - (mod (the-as uint (-> *display* base-frame-counter)) period) - ) - (-> obj offset) - ) - ) + (current-time (+ (the float (mod (the-as uint (-> *display* base-frame-counter)) period)) (-> obj offset))) (current-val - (* - max-val - (/ - (- - current-time - (* - (the float (the int (/ current-time period-float))) - period-float + (* max-val + (/ (- current-time (* (the float (the int (/ current-time period-float))) period-float)) period-float) ) - ) - period-float - ) ) - ) ) - (if (>= current-val 1.0) - (set! current-val (- 2.0 current-val)) + (if (>= current-val 1.0) + (set! current-val (- 2.0 current-val)) + ) + (* current-val max-out-val) ) - (* current-val max-out-val) - ) ) ;; definition for method 12 of type sync-info-eased -(defmethod - get-current-value-with-mirror - sync-info-eased - ((obj sync-info-eased) (max-out-val float)) +(defmethod get-current-value-with-mirror sync-info-eased ((obj sync-info-eased) (max-out-val float)) (* (get-current-phase-with-mirror obj) max-out-val) ) ;; definition for method 12 of type sync-info-paused -(defmethod - get-current-value-with-mirror - sync-info-paused - ((obj sync-info-paused) (max-out-val float)) +(defmethod get-current-value-with-mirror sync-info-paused ((obj sync-info-paused) (max-out-val float)) (* (get-current-phase-with-mirror obj) max-out-val) ) ;; definition for method 9 of type delayed-rand-float -(defmethod - set-params! - delayed-rand-float - ((obj delayed-rand-float) (min-tim int) (max-time int) (max-times-two float)) +(defmethod set-params! delayed-rand-float ((obj delayed-rand-float) (min-tim int) (max-time int) (max-times-two float)) (set! (-> obj min-time) min-tim) (set! (-> obj max-time) max-time) (set! (-> obj max-val) (* 0.5 max-times-two)) @@ -620,28 +411,16 @@ ;; definition for method 10 of type delayed-rand-float (defmethod update! delayed-rand-float ((obj delayed-rand-float)) - (when - (>= (- (-> *display* base-frame-counter) (-> obj start-time)) (-> obj timer)) - (set! (-> obj start-time) (-> *display* base-frame-counter)) - (set! (-> obj timer) (rand-vu-int-range (-> obj min-time) (-> obj max-time))) - (set! - (-> obj value) - (rand-vu-float-range (- (-> obj max-val)) (-> obj max-val)) + (when (>= (- (-> *display* base-frame-counter) (-> obj start-time)) (-> obj timer)) + (set! (-> obj start-time) (-> *display* base-frame-counter)) + (set! (-> obj timer) (rand-vu-int-range (-> obj min-time) (-> obj max-time))) + (set! (-> obj value) (rand-vu-float-range (- (-> obj max-val)) (-> obj max-val))) ) - ) (-> obj value) ) ;; definition for method 9 of type oscillating-float -(defmethod - set-params! - oscillating-float - ((obj oscillating-float) - (init-val float) - (accel float) - (max-vel float) - (damping float) - ) +(defmethod set-params! oscillating-float ((obj oscillating-float) (init-val float) (accel float) (max-vel float) (damping float)) (set! (-> obj value) init-val) (set! (-> obj target) init-val) (set! (-> obj vel) 0.0) @@ -652,42 +431,29 @@ ) ;; definition for method 10 of type oscillating-float -(defmethod - update! - oscillating-float - ((obj oscillating-float) (target-offset float)) - (let - ((acc - (* - (- (+ (-> obj target) target-offset) (-> obj value)) - (* (-> obj accel) (-> *display* time-adjust-ratio)) - ) - ) +(defmethod update! oscillating-float ((obj oscillating-float) (target-offset float)) + (let ((acc + (* (- (+ (-> obj target) target-offset) (-> obj value)) (* (-> obj accel) (-> *display* time-adjust-ratio))) + ) + ) + (+! (-> obj vel) acc) ) - (+! (-> obj vel) acc) - ) - (set! - (-> obj vel) - (fmin (-> obj max-vel) (fmax (- (-> obj max-vel)) (-> obj vel))) - ) + (set! (-> obj vel) (fmin (-> obj max-vel) (fmax (- (-> obj max-vel)) (-> obj vel)))) (set! (-> obj vel) (* (-> obj vel) (-> obj damping))) (+! (-> obj value) (* (-> obj vel) (-> *display* time-adjust-ratio))) (-> obj value) ) ;; definition for method 9 of type bouncing-float -(defmethod - set-params! - bouncing-float - ((obj bouncing-float) - (init-val float) - (max-val float) - (min-val float) - (elast float) - (accel float) - (max-vel float) - (damping float) - ) +(defmethod set-params! bouncing-float ((obj bouncing-float) + (init-val float) + (max-val float) + (min-val float) + (elast float) + (accel float) + (max-vel float) + (damping float) + ) (set-params! (-> obj osc) init-val accel max-vel damping) (set! (-> obj max-value) max-val) (set! (-> obj min-value) min-val) @@ -701,19 +467,19 @@ (update! (-> obj osc) arg0) (set! (-> obj state) 0) (when (>= (-> obj osc value) (-> obj max-value)) - (set! (-> obj osc value) (-> obj max-value)) - (if (< 0.0 (-> obj osc vel)) - (set! (-> obj osc vel) (* (-> obj osc vel) (- (-> obj elasticity)))) + (set! (-> obj osc value) (-> obj max-value)) + (if (< 0.0 (-> obj osc vel)) + (set! (-> obj osc vel) (* (-> obj osc vel) (- (-> obj elasticity)))) + ) + (set! (-> obj state) 1) ) - (set! (-> obj state) 1) - ) (when (>= (-> obj min-value) (-> obj osc value)) - (set! (-> obj osc value) (-> obj min-value)) - (if (< (-> obj osc vel) 0.0) - (set! (-> obj osc vel) (* (-> obj osc vel) (- (-> obj elasticity)))) + (set! (-> obj osc value) (-> obj min-value)) + (if (< (-> obj osc vel) 0.0) + (set! (-> obj osc vel) (* (-> obj osc vel) (- (-> obj elasticity)))) + ) + (set! (-> obj state) -1) ) - (set! (-> obj state) -1) - ) (-> obj osc value) ) @@ -728,15 +494,7 @@ ) ;; definition for method 9 of type delayed-rand-vector -(defmethod - set-params! - delayed-rand-vector - ((obj delayed-rand-vector) - (min-time int) - (max-time int) - (xz-range float) - (y-range float) - ) +(defmethod set-params! delayed-rand-vector ((obj delayed-rand-vector) (min-time int) (max-time int) (xz-range float) (y-range float)) (set! (-> obj min-time) min-time) (set! (-> obj max-time) max-time) (set! (-> obj xz-max) (* 0.5 xz-range)) @@ -751,64 +509,42 @@ (defmethod update-now! delayed-rand-vector ((obj delayed-rand-vector)) (set! (-> obj start-time) (-> *display* base-frame-counter)) (set! (-> obj timer) (rand-vu-int-range (-> obj min-time) (-> obj max-time))) - (set! - (-> obj value x) - (rand-vu-float-range (- (-> obj xz-max)) (-> obj xz-max)) - ) - (set! - (-> obj value y) - (rand-vu-float-range (- (-> obj y-max)) (-> obj y-max)) - ) - (set! - (-> obj value z) - (rand-vu-float-range (- (-> obj xz-max)) (-> obj xz-max)) - ) + (set! (-> obj value x) (rand-vu-float-range (- (-> obj xz-max)) (-> obj xz-max))) + (set! (-> obj value y) (rand-vu-float-range (- (-> obj y-max)) (-> obj y-max))) + (set! (-> obj value z) (rand-vu-float-range (- (-> obj xz-max)) (-> obj xz-max))) (-> obj value) ) ;; definition for method 11 of type delayed-rand-vector (defmethod update-with-delay! delayed-rand-vector ((obj delayed-rand-vector)) - (if - (>= (- (-> *display* base-frame-counter) (-> obj start-time)) (-> obj timer)) - (update-now! obj) - ) + (if (>= (- (-> *display* base-frame-counter) (-> obj start-time)) (-> obj timer)) + (update-now! obj) + ) (-> obj value) ) ;; definition for method 12 of type delayed-rand-vector -(defmethod - update-with-delay-or-reset! - delayed-rand-vector - ((obj delayed-rand-vector)) - (if - (>= (- (-> *display* base-frame-counter) (-> obj start-time)) (-> obj timer)) - (update-now! obj) - (vector-reset! (-> obj value)) - ) +(defmethod update-with-delay-or-reset! delayed-rand-vector ((obj delayed-rand-vector)) + (if (>= (- (-> *display* base-frame-counter) (-> obj start-time)) (-> obj timer)) + (update-now! obj) + (vector-reset! (-> obj value)) + ) (-> obj value) ) ;; definition for method 9 of type oscillating-vector ;; Used lq/sq -(defmethod - set-params! - oscillating-vector - ((obj oscillating-vector) - (init-val vector) - (accel float) - (max-vel float) - (damping float) - ) +(defmethod set-params! oscillating-vector ((obj oscillating-vector) (init-val vector) (accel float) (max-vel float) (damping float)) (cond - (init-val - (set! (-> obj value quad) (-> init-val quad)) - (set! (-> obj target quad) (-> init-val quad)) + (init-val + (set! (-> obj value quad) (-> init-val quad)) + (set! (-> obj target quad) (-> init-val quad)) + ) + (else + (vector-reset! (-> obj value)) + (vector-reset! (-> obj target)) + ) ) - (else - (vector-reset! (-> obj value)) - (vector-reset! (-> obj target)) - ) - ) (vector-reset! (-> obj vel)) (set! (-> obj max-vel) max-vel) (set! (-> obj damping) damping) @@ -817,34 +553,27 @@ ) ;; definition for method 10 of type oscillating-vector -(defmethod - update! - oscillating-vector - ((obj oscillating-vector) (target-offset vector)) +(defmethod update! oscillating-vector ((obj oscillating-vector) (target-offset vector)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (cond - (target-offset - (vector+! s5-0 (-> obj target) target-offset) - (vector-! s5-0 s5-0 (-> obj value)) - ) - (else - (vector-! s5-0 (-> obj target) (-> obj value)) - ) + (cond + (target-offset + (vector+! s5-0 (-> obj target) target-offset) + (vector-! s5-0 s5-0 (-> obj value)) + ) + (else + (vector-! s5-0 (-> obj target) (-> obj value)) + ) + ) + (vector-float*! s5-0 s5-0 (* (-> obj accel) (-> *display* time-adjust-ratio))) + (vector+! (-> obj vel) (-> obj vel) s5-0) + (let ((vel (vector-length (-> obj vel)))) + (if (< (-> obj max-vel) vel) + (vector-float*! (-> obj vel) (-> obj vel) (/ (-> obj max-vel) vel)) + ) + ) + (vector-float*! (-> obj vel) (-> obj vel) (-> obj damping)) + (vector-float*! s5-0 (-> obj vel) (-> *display* time-adjust-ratio)) + (vector+! (-> obj value) (-> obj value) s5-0) ) - (vector-float*! - s5-0 - s5-0 - (* (-> obj accel) (-> *display* time-adjust-ratio)) - ) - (vector+! (-> obj vel) (-> obj vel) s5-0) - (let ((vel (vector-length (-> obj vel)))) - (if (< (-> obj max-vel) vel) - (vector-float*! (-> obj vel) (-> obj vel) (/ (-> obj max-vel) vel)) - ) - ) - (vector-float*! (-> obj vel) (-> obj vel) (-> obj damping)) - (vector-float*! s5-0 (-> obj vel) (-> *display* time-adjust-ratio)) - (vector+! (-> obj value) (-> obj value) s5-0) - ) (-> obj value) ) diff --git a/test/decompiler/reference/kernel/gcommon_REF.gc b/test/decompiler/reference/kernel/gcommon_REF.gc index 7232574634..d312d64f01 100644 --- a/test/decompiler/reference/kernel/gcommon_REF.gc +++ b/test/decompiler/reference/kernel/gcommon_REF.gc @@ -123,15 +123,7 @@ ;; definition for method 2 of type vec4s (defmethod print vec4s ((obj vec4s)) - (format - #t - "#" - (-> obj x) - (-> obj y) - (-> obj z) - (-> obj w) - obj - ) + (format #t "#" (-> obj x) (-> obj y) (-> obj z) (-> obj w) obj) obj ) @@ -160,10 +152,7 @@ ;; definition for method 5 of type type ;; INFO: Return type mismatch uint vs int. (defmethod asize-of type ((obj type)) - (the-as - int - (logand (the-as uint #xfffffff0) (+ (* (-> obj allocated-length) 4) 43)) - ) + (the-as int (logand (the-as uint #xfffffff0) (+ (* (-> obj allocated-length) 4) 43))) ) ;; definition for function basic-type? @@ -171,26 +160,26 @@ (let ((obj-type (-> obj type)) (end-type object) ) - (until (= obj-type end-type) - (if (= obj-type parent-type) - (return #t) - ) - (set! obj-type (-> obj-type parent)) + (until (= obj-type end-type) + (if (= obj-type parent-type) + (return #t) + ) + (set! obj-type (-> obj-type parent)) + ) ) - ) #f ) ;; definition for function type-type? (defun type-type? ((child-type type) (parent-type type)) (let ((end-type object)) - (until (or (= child-type end-type) (zero? child-type)) - (if (= child-type parent-type) - (return #t) - ) - (set! child-type (-> child-type parent)) + (until (or (= child-type end-type) (zero? child-type)) + (if (= child-type parent-type) + (return #t) + ) + (set! child-type (-> child-type parent)) + ) ) - ) #f ) @@ -198,27 +187,27 @@ (defun find-parent-method ((child-type type) (method-id int)) (local-vars (current-method function)) (let ((original-method (-> child-type method-table method-id))) - (until (!= current-method original-method) - (if (= child-type object) - (return nothing) - ) - (set! child-type (-> child-type parent)) - (set! current-method (-> child-type method-table method-id)) - (if (zero? current-method) - (return nothing) - ) + (until (!= current-method original-method) + (if (= child-type object) + (return nothing) + ) + (set! child-type (-> child-type parent)) + (set! current-method (-> child-type method-table method-id)) + (if (zero? current-method) + (return nothing) + ) + ) ) - ) current-method ) ;; definition for function ref (defun ref ((lst object) (index int)) (dotimes (count index) - (nop!) - (nop!) - (set! lst (cdr lst)) - ) + (nop!) + (nop!) + (set! lst (cdr lst)) + ) (car lst) ) @@ -226,19 +215,19 @@ (defmethod length pair ((obj pair)) (local-vars (result int)) (cond - ((null? obj) - (set! result 0) - ) - (else - (let ((iter (cdr obj))) - (set! result 1) - (while (and (not (null? iter)) (pair? iter)) - (+! result 1) - (set! iter (cdr iter)) - ) + ((null? obj) + (set! result 0) ) + (else + (let ((iter (cdr obj))) + (set! result 1) + (while (and (not (null? iter)) (pair? iter)) + (+! result 1) + (set! iter (cdr iter)) + ) + ) + ) ) - ) result ) @@ -251,202 +240,194 @@ ;; definition for function last (defun last ((lst object)) (let ((iter lst)) - (while (not (null? (cdr iter))) - (nop!) - (nop!) - (set! iter (cdr iter)) + (while (not (null? (cdr iter))) + (nop!) + (nop!) + (set! iter (cdr iter)) + ) + iter ) - iter - ) ) ;; definition for function member (defun member ((obj object) (lst object)) (let ((iter lst)) - (while (not (or (null? iter) (= (car iter) obj))) - (set! iter (cdr iter)) + (while (not (or (null? iter) (= (car iter) obj))) + (set! iter (cdr iter)) + ) + (if (not (null? iter)) + iter + ) ) - (if (not (null? iter)) - iter - ) - ) ) ;; definition for function nmember (defun nmember ((obj basic) (lst object)) (while (not (or (null? lst) (name= (the-as basic (car lst)) obj))) - (set! lst (cdr lst)) - ) + (set! lst (cdr lst)) + ) (if (not (null? lst)) - lst - ) + lst + ) ) ;; definition for function assoc (defun assoc ((item object) (alist object)) (let ((iter alist)) - (while (not (or (null? iter) (= (car (car iter)) item))) - (set! iter (cdr iter)) + (while (not (or (null? iter) (= (car (car iter)) item))) + (set! iter (cdr iter)) + ) + (if (not (null? iter)) + (car iter) + ) ) - (if (not (null? iter)) - (car iter) - ) - ) ) ;; definition for function assoce (defun assoce ((item object) (alist object)) (let ((iter alist)) - (while - (not (or (null? iter) (= (car (car iter)) item) (= (car (car iter)) 'else))) - (set! iter (cdr iter)) + (while (not (or (null? iter) (= (car (car iter)) item) (= (car (car iter)) 'else))) + (set! iter (cdr iter)) + ) + (if (not (null? iter)) + (car iter) + ) ) - (if (not (null? iter)) - (car iter) - ) - ) ) ;; definition for function nassoc (defun nassoc ((item-name string) (alist object)) (while (not (or (null? alist) (let ((key (car (car alist)))) - (if (pair? key) - (nmember item-name key) - (name= (the-as basic key) item-name) + (if (pair? key) + (nmember item-name key) + (name= (the-as basic key) item-name) + ) ) - ) - ) - ) - (set! alist (cdr alist)) - ) + ) + ) + (set! alist (cdr alist)) + ) (if (not (null? alist)) - (car alist) - ) + (car alist) + ) ) ;; definition for function nassoce (defun nassoce ((item-name string) (alist object)) (while (not (or (null? alist) (let ((key (car (car alist)))) - (if (pair? key) - (nmember item-name key) - (or - (name= (the-as basic key) item-name) - (= key 'else) - ) + (if (pair? key) + (nmember item-name key) + (or (name= (the-as basic key) item-name) (= key 'else)) + ) ) - ) - ) - ) - (set! alist (cdr alist)) - ) + ) + ) + (set! alist (cdr alist)) + ) (if (not (null? alist)) - (car alist) - ) + (car alist) + ) ) ;; definition for function append! (defun append! ((front object) (back object)) (cond - ((null? front) - back - ) - (else - (let ((iter front)) - (while (not (null? (cdr iter))) - (nop!) - (nop!) - (set! iter (cdr iter)) - ) - (if (not (null? iter)) - (set! (cdr iter) back) - ) + ((null? front) + back ) - front + (else + (let ((iter front)) + (while (not (null? (cdr iter))) + (nop!) + (nop!) + (set! iter (cdr iter)) + ) + (if (not (null? iter)) + (set! (cdr iter) back) + ) + ) + front + ) ) - ) ) ;; definition for function delete! ;; INFO: Return type mismatch object vs pair. (defun delete! ((item object) (lst object)) (the-as pair (cond - ((= item (car lst)) - (cdr lst) - ) - (else - (let ((iter-prev lst) - (iter (cdr lst)) - ) - (while (not (or (null? iter) (= (car iter) item))) - (set! iter-prev iter) - (set! iter (cdr iter)) - ) - (if (not (null? iter)) - (set! (cdr iter-prev) (cdr iter)) - ) + ((= item (car lst)) + (cdr lst) ) - lst + (else + (let ((iter-prev lst) + (iter (cdr lst)) + ) + (while (not (or (null? iter) (= (car iter) item))) + (set! iter-prev iter) + (set! iter (cdr iter)) + ) + (if (not (null? iter)) + (set! (cdr iter-prev) (cdr iter)) + ) + ) + lst + ) ) - ) - ) + ) ) ;; definition for function delete-car! (defun delete-car! ((item object) (lst object)) (cond - ((= item (car (car lst))) - (cdr lst) - ) - (else - (let ((iter-prev lst) - (iter (cdr lst)) - ) - (while (not (or (null? iter) (= (car (car iter)) item))) - (set! iter-prev iter) - (set! iter (cdr iter)) - ) - (if (not (null? iter)) - (set! (cdr iter-prev) (cdr iter)) - ) + ((= item (car (car lst))) + (cdr lst) ) - lst + (else + (let ((iter-prev lst) + (iter (cdr lst)) + ) + (while (not (or (null? iter) (= (car (car iter)) item))) + (set! iter-prev iter) + (set! iter (cdr iter)) + ) + (if (not (null? iter)) + (set! (cdr iter-prev) (cdr iter)) + ) + ) + lst + ) ) - ) ) ;; definition for function insert-cons! (defun insert-cons! ((kv object) (alist object)) (let ((updated-list (delete-car! (car kv) alist))) - (cons kv updated-list) - ) + (cons kv updated-list) + ) ) ;; definition for function sort (defun sort ((lst object) (compare-func (function object object object))) (let ((unsorted-count -1)) - (while (nonzero? unsorted-count) - (set! unsorted-count 0) - (let ((iter lst)) - (while (not (or (null? (cdr iter)) (not (pair? (cdr iter))))) - (let* ((first-elt (car iter)) - (seoncd-elt (car (cdr iter))) - (compare-result (compare-func first-elt seoncd-elt)) - ) - (when - (and - (or (not compare-result) (> (the-as int compare-result) 0)) - (!= compare-result #t) - ) - (+! unsorted-count 1) - (set! (car iter) seoncd-elt) - (set! (car (cdr iter)) first-elt) + (while (nonzero? unsorted-count) + (set! unsorted-count 0) + (let ((iter lst)) + (while (not (or (null? (cdr iter)) (not (pair? (cdr iter))))) + (let* ((first-elt (car iter)) + (seoncd-elt (car (cdr iter))) + (compare-result (compare-func first-elt seoncd-elt)) + ) + (when (and (or (not compare-result) (> (the-as int compare-result) 0)) (!= compare-result #t)) + (+! unsorted-count 1) + (set! (car iter) seoncd-elt) + (set! (car (cdr iter)) first-elt) + ) + ) + (set! iter (cdr iter)) + ) ) - ) - (set! iter (cdr iter)) ) - ) ) - ) lst ) @@ -473,31 +454,20 @@ ) ;; definition for method 0 of type inline-array-class -(defmethod - new - inline-array-class - ((allocation symbol) (type-to-make type) (size int)) - (let - ((obj - (object-new - allocation - type-to-make - (the-as - int - (+ - (-> type-to-make size) - (* (the-as uint size) (-> type-to-make heap-base)) +(defmethod new inline-array-class ((allocation symbol) (type-to-make type) (size int)) + (let ((obj (object-new + allocation + type-to-make + (the-as int (+ (-> type-to-make size) (* (the-as uint size) (-> type-to-make heap-base)))) + ) + ) ) - ) + (when (nonzero? obj) + (set! (-> obj length) size) + (set! (-> obj allocated-length) size) ) - ) + obj ) - (when (nonzero? obj) - (set! (-> obj length) size) - (set! (-> obj allocated-length) size) - ) - obj - ) ) ;; definition for method 4 of type inline-array-class @@ -508,42 +478,29 @@ ;; definition for method 5 of type inline-array-class ;; INFO: Return type mismatch uint vs int. (defmethod asize-of inline-array-class ((obj inline-array-class)) - (the-as - int - (+ - (-> obj type size) - (* (-> obj allocated-length) (the-as int (-> obj type heap-base))) - ) - ) + (the-as int (+ (-> obj type size) (* (-> obj allocated-length) (the-as int (-> obj type heap-base))))) ) ;; definition for method 0 of type array -(defmethod - new - array - ((allocation symbol) (type-to-make type) (content-type type) (len int)) - (let - ((obj - (object-new - allocation - type-to-make - (the-as - int - (+ (-> type-to-make size) (* len (if (type-type? content-type number) - (the-as int (-> content-type size)) - 4 - ) - ) +(defmethod new array ((allocation symbol) (type-to-make type) (content-type type) (len int)) + (let ((obj (object-new + allocation + type-to-make + (the-as int (+ (-> type-to-make size) (* len (if (type-type? content-type number) + (the-as int (-> content-type size)) + 4 + ) + ) + ) + ) + ) + ) ) - ) - ) - ) + (set! (-> obj allocated-length) len) + (set! (-> obj length) len) + (set! (-> obj content-type) content-type) + obj ) - (set! (-> obj allocated-length) len) - (set! (-> obj length) len) - (set! (-> obj content-type) content-type) - obj - ) ) ;; definition for method 2 of type array @@ -551,127 +508,147 @@ (defmethod print array ((obj array)) (format #t "#(") (cond - ((type-type? (-> obj content-type) integer) - (case (-> obj content-type symbol) - (('int32) - (dotimes (s5-0 (-> obj length)) - (format #t (if (zero? s5-0) - "~D" - " ~D" - ) - (-> (the-as (array int32) obj) s5-0) + ((type-type? (-> obj content-type) integer) + (case (-> obj content-type symbol) + (('int32) + (dotimes (s5-0 (-> obj length)) + (format + #t + (if (zero? s5-0) + "~D" + " ~D" + ) + (-> (the-as (array int32) obj) s5-0) + ) + ) + ) + (('uint32) + (dotimes (s5-1 (-> obj length)) + (format + #t + (if (zero? s5-1) + "~D" + " ~D" + ) + (-> (the-as (array uint32) obj) s5-1) + ) + ) + ) + (('int64) + (dotimes (s5-2 (-> obj length)) + (format + #t + (if (zero? s5-2) + "~D" + " ~D" + ) + (-> (the-as (array int64) obj) s5-2) + ) + ) + ) + (('uint64) + (dotimes (s5-3 (-> obj length)) + (format + #t + (if (zero? s5-3) + "#x~X" + " #x~X" + ) + (-> (the-as (array uint64) obj) s5-3) + ) + ) + ) + (('int8) + (dotimes (s5-4 (-> obj length)) + (format + #t + (if (zero? s5-4) + "~D" + " ~D" + ) + (-> (the-as (array int8) obj) s5-4) + ) + ) + ) + (('uint8) + (dotimes (s5-5 (-> obj length)) + (format + #t + (if (zero? s5-5) + "~D" + " ~D" + ) + (-> (the-as (array uint8) obj) s5-5) + ) + ) + ) + (('int16) + (dotimes (s5-6 (-> obj length)) + (format + #t + (if (zero? s5-6) + "~D" + " ~D" + ) + (-> (the-as (array int16) obj) s5-6) + ) + ) + ) + (('uint16) + (dotimes (s5-7 (-> obj length)) + (format + #t + (if (zero? s5-7) + "~D" + " ~D" + ) + (-> (the-as (array uint16) obj) s5-7) + ) + ) + ) + (('uint128 'int128) + (dotimes (s5-8 (-> obj length)) + (format + #t + (if (zero? s5-8) + "#x~X" + " #x~X" + ) + (-> (the-as (array uint128) obj) s5-8) + ) + ) + ) + (else + (dotimes (s5-9 (-> obj length)) + (format + #t + (if (zero? s5-9) + "~D" + " ~D" + ) + (-> (the-as (array int32) obj) s5-9) + ) + ) ) - ) ) - (('uint32) - (dotimes (s5-1 (-> obj length)) - (format #t (if (zero? s5-1) - "~D" - " ~D" - ) - (-> (the-as (array uint32) obj) s5-1) - ) - ) - ) - (('int64) - (dotimes (s5-2 (-> obj length)) - (format #t (if (zero? s5-2) - "~D" - " ~D" - ) - (-> (the-as (array int64) obj) s5-2) - ) - ) - ) - (('uint64) - (dotimes (s5-3 (-> obj length)) - (format #t (if (zero? s5-3) - "#x~X" - " #x~X" - ) - (-> (the-as (array uint64) obj) s5-3) - ) - ) - ) - (('int8) - (dotimes (s5-4 (-> obj length)) - (format #t (if (zero? s5-4) - "~D" - " ~D" - ) - (-> (the-as (array int8) obj) s5-4) - ) - ) - ) - (('uint8) - (dotimes (s5-5 (-> obj length)) - (format #t (if (zero? s5-5) - "~D" - " ~D" - ) - (-> (the-as (array uint8) obj) s5-5) - ) - ) - ) - (('int16) - (dotimes (s5-6 (-> obj length)) - (format #t (if (zero? s5-6) - "~D" - " ~D" - ) - (-> (the-as (array int16) obj) s5-6) - ) - ) - ) - (('uint16) - (dotimes (s5-7 (-> obj length)) - (format #t (if (zero? s5-7) - "~D" - " ~D" - ) - (-> (the-as (array uint16) obj) s5-7) - ) - ) - ) - (('uint128 'int128) - (dotimes (s5-8 (-> obj length)) - (format #t (if (zero? s5-8) - "#x~X" - " #x~X" - ) - (-> (the-as (array uint128) obj) s5-8) - ) - ) - ) - (else - (dotimes (s5-9 (-> obj length)) - (format #t (if (zero? s5-9) - "~D" - " ~D" - ) - (-> (the-as (array int32) obj) s5-9) - ) - ) - ) ) - ) - ((= (-> obj content-type) float) - (dotimes (s5-10 (-> obj length)) - (if (zero? s5-10) - (format #t "~f" (-> (the-as (array float) obj) s5-10)) - (format #t " ~f" (-> (the-as (array float) obj) s5-10)) - ) + ((= (-> obj content-type) float) + (dotimes (s5-10 (-> obj length)) + (if (zero? s5-10) + (format #t "~f" (-> (the-as (array float) obj) s5-10)) + (format #t " ~f" (-> (the-as (array float) obj) s5-10)) + ) + ) ) - ) - (else - (dotimes (s5-11 (-> obj length)) - (if (zero? s5-11) - (format #t "~A" (-> (the-as (array basic) obj) s5-11)) - (format #t " ~A" (-> (the-as (array basic) obj) s5-11)) + (else + (dotimes (s5-11 (-> obj length)) + (if (zero? s5-11) + (format #t "~A" (-> (the-as (array basic) obj) s5-11)) + (format #t " ~A" (-> (the-as (array basic) obj) s5-11)) + ) + ) ) - ) ) - ) (format #t ")") obj ) @@ -685,71 +662,71 @@ (format #t "~Tcontent-type: ~A~%" (-> obj content-type)) (format #t "~Tdata[~D]: @ #x~X~%" (-> obj allocated-length) (-> obj data)) (cond - ((type-type? (-> obj content-type) integer) - (case (-> obj content-type symbol) - (('int32) - (dotimes (s5-0 (-> obj length)) - (format #t "~T [~D] ~D~%" s5-0 (-> (the-as (array int32) obj) s5-0)) + ((type-type? (-> obj content-type) integer) + (case (-> obj content-type symbol) + (('int32) + (dotimes (s5-0 (-> obj length)) + (format #t "~T [~D] ~D~%" s5-0 (-> (the-as (array int32) obj) s5-0)) + ) ) + (('uint32) + (dotimes (s5-1 (-> obj length)) + (format #t "~T [~D] ~D~%" s5-1 (-> (the-as (array uint32) obj) s5-1)) + ) + ) + (('int64) + (dotimes (s5-2 (-> obj length)) + (format #t "~T [~D] ~D~%" s5-2 (-> (the-as (array int64) obj) s5-2)) + ) + ) + (('uint64) + (dotimes (s5-3 (-> obj length)) + (format #t "~T [~D] #x~X~%" s5-3 (-> (the-as (array uint64) obj) s5-3)) + ) + ) + (('int8) + (dotimes (s5-4 (-> obj length)) + (format #t "~T [~D] ~D~%" s5-4 (-> (the-as (array int8) obj) s5-4)) + ) + ) + (('uint8) + (dotimes (s5-5 (-> obj length)) + (format #t "~T [~D] ~D~%" s5-5 (-> (the-as (array int8) obj) s5-5)) + ) + ) + (('int16) + (dotimes (s5-6 (-> obj length)) + (format #t "~T [~D] ~D~%" s5-6 (-> (the-as (array int16) obj) s5-6)) + ) + ) + (('uint16) + (dotimes (s5-7 (-> obj length)) + (format #t "~T [~D] ~D~%" s5-7 (-> (the-as (array uint16) obj) s5-7)) + ) + ) + (('int128 'uint128) + (dotimes (s5-8 (-> obj length)) + (format #t "~T [~D] #x~X~%" s5-8 (-> (the-as (array uint128) obj) s5-8)) + ) + ) + (else + (dotimes (s5-9 (-> obj length)) + (format #t "~T [~D] ~D~%" s5-9 (-> (the-as (array int32) obj) s5-9)) + ) + ) ) - (('uint32) - (dotimes (s5-1 (-> obj length)) - (format #t "~T [~D] ~D~%" s5-1 (-> (the-as (array uint32) obj) s5-1)) - ) - ) - (('int64) - (dotimes (s5-2 (-> obj length)) - (format #t "~T [~D] ~D~%" s5-2 (-> (the-as (array int64) obj) s5-2)) - ) - ) - (('uint64) - (dotimes (s5-3 (-> obj length)) - (format #t "~T [~D] #x~X~%" s5-3 (-> (the-as (array uint64) obj) s5-3)) - ) - ) - (('int8) - (dotimes (s5-4 (-> obj length)) - (format #t "~T [~D] ~D~%" s5-4 (-> (the-as (array int8) obj) s5-4)) - ) - ) - (('uint8) - (dotimes (s5-5 (-> obj length)) - (format #t "~T [~D] ~D~%" s5-5 (-> (the-as (array int8) obj) s5-5)) - ) - ) - (('int16) - (dotimes (s5-6 (-> obj length)) - (format #t "~T [~D] ~D~%" s5-6 (-> (the-as (array int16) obj) s5-6)) - ) - ) - (('uint16) - (dotimes (s5-7 (-> obj length)) - (format #t "~T [~D] ~D~%" s5-7 (-> (the-as (array uint16) obj) s5-7)) - ) - ) - (('int128 'uint128) - (dotimes (s5-8 (-> obj length)) - (format #t "~T [~D] #x~X~%" s5-8 (-> (the-as (array uint128) obj) s5-8)) - ) - ) - (else - (dotimes (s5-9 (-> obj length)) - (format #t "~T [~D] ~D~%" s5-9 (-> (the-as (array int32) obj) s5-9)) - ) - ) ) - ) - ((= (-> obj content-type) float) - (dotimes (s5-10 (-> obj length)) - (format #t "~T [~D] ~f~%" s5-10 (-> (the-as (array float) obj) s5-10)) + ((= (-> obj content-type) float) + (dotimes (s5-10 (-> obj length)) + (format #t "~T [~D] ~f~%" s5-10 (-> (the-as (array float) obj) s5-10)) + ) ) + (else + (dotimes (s5-11 (-> obj length)) + (format #t "~T [~D] ~A~%" s5-11 (-> (the-as (array basic) obj) s5-11)) + ) + ) ) - (else - (dotimes (s5-11 (-> obj length)) - (format #t "~T [~D] ~A~%" s5-11 (-> (the-as (array basic) obj) s5-11)) - ) - ) - ) obj ) @@ -761,94 +738,81 @@ ;; definition for method 5 of type array ;; INFO: Return type mismatch uint vs int. (defmethod asize-of array ((obj array)) - (the-as - int - (+ - (-> array size) - (* (-> obj allocated-length) (if (type-type? (-> obj content-type) number) - (the-as int (-> obj content-type size)) - 4 - ) - ) - ) - ) + (the-as int (+ (-> array size) (* (-> obj allocated-length) (if (type-type? (-> obj content-type) number) + (the-as int (-> obj content-type size)) + 4 + ) + ) + ) + ) ) ;; definition for function mem-copy! (defun mem-copy! ((dst pointer) (src pointer) (size int)) (let ((result dst)) - (dotimes (i size) - (set! (-> (the-as (pointer uint8) dst)) (-> (the-as (pointer uint8) src))) - (&+! dst 1) - (&+! src 1) + (dotimes (i size) + (set! (-> (the-as (pointer uint8) dst)) (-> (the-as (pointer uint8) src))) + (&+! dst 1) + (&+! src 1) + ) + result ) - result - ) ) ;; definition for function qmem-copy<-! ;; Used lq/sq (defun qmem-copy<-! ((dst pointer) (src pointer) (size int)) (let ((result dst)) - (countdown (qwc (/ (+ size 15) 16)) - (set! - (-> (the-as (pointer uint128) dst)) - (-> (the-as (pointer uint128) src)) - ) - (&+! dst 16) - (&+! src 16) + (countdown (qwc (/ (+ size 15) 16)) + (set! (-> (the-as (pointer uint128) dst)) (-> (the-as (pointer uint128) src))) + (&+! dst 16) + (&+! src 16) + ) + result ) - result - ) ) ;; definition for function qmem-copy->! ;; Used lq/sq (defun qmem-copy->! ((dst pointer) (src pointer) (size int)) (let ((result dst)) - (let* ((qwc (/ (+ size 15) 16)) - (dst-ptr (&+ dst (* qwc 16))) - (src-ptr (&+ src (* qwc 16))) - ) - (while (nonzero? qwc) - (+! qwc -1) - (&+! dst-ptr -16) - (&+! src-ptr -16) - (set! - (-> (the-as (pointer uint128) dst-ptr)) - (-> (the-as (pointer uint128) src-ptr)) + (let* ((qwc (/ (+ size 15) 16)) + (dst-ptr (&+ dst (* qwc 16))) + (src-ptr (&+ src (* qwc 16))) + ) + (while (nonzero? qwc) + (+! qwc -1) + (&+! dst-ptr -16) + (&+! src-ptr -16) + (set! (-> (the-as (pointer uint128) dst-ptr)) (-> (the-as (pointer uint128) src-ptr))) + ) ) - ) + result ) - result - ) ) ;; definition for function mem-set32! (defun mem-set32! ((dst pointer) (size int) (value int)) (let ((result dst)) - (dotimes (i size) - (set! (-> (the-as (pointer int32) dst)) value) - (&+! dst 4) - (nop!) + (dotimes (i size) + (set! (-> (the-as (pointer int32) dst)) value) + (&+! dst 4) + (nop!) + ) + result ) - result - ) ) ;; definition for function mem-or! (defun mem-or! ((dst pointer) (src pointer) (size int)) (let ((result dst)) - (dotimes (i size) - (logior! - (-> (the-as (pointer uint8) dst)) - (-> (the-as (pointer uint8) src)) - ) - (&+! dst 1) - (&+! src 1) + (dotimes (i size) + (logior! (-> (the-as (pointer uint8) dst)) (-> (the-as (pointer uint8) src))) + (&+! dst 1) + (&+! src 1) + ) + result ) - result - ) ) ;; definition for function quad-copy! @@ -857,9 +821,9 @@ ;; definition for function fact (defun fact ((x int)) (if (= x 1) - 1 - (* x (fact (+ x -1))) - ) + 1 + (* x (fact (+ x -1))) + ) ) ;; definition for symbol *print-column*, type binteger @@ -873,8 +837,8 @@ ;; definition for function printl (defun printl ((arg0 object)) (let ((a0-1 arg0)) - ((method-of-type (rtype-of a0-1) print) a0-1) - ) + ((method-of-type (rtype-of a0-1) print) a0-1) + ) (format #t "~%") arg0 ) @@ -887,16 +851,16 @@ ;; definition (debug) for function mem-print (defun-debug mem-print ((data (pointer uint32)) (word-count int)) (dotimes (current-qword (/ word-count 4)) - (format - 0 - "~X: ~X ~X ~X ~X~%" - (&-> data (* current-qword 4)) - (-> data (* current-qword 4)) - (-> data (+ (* current-qword 4) 1)) - (-> data (+ (* current-qword 4) 2)) - (-> data (+ (* current-qword 4) 3)) + (format + 0 + "~X: ~X ~X ~X ~X~%" + (&-> data (* current-qword 4)) + (-> data (* current-qword 4)) + (-> data (+ (* current-qword 4) 1)) + (-> data (+ (* current-qword 4) 2)) + (-> data (+ (* current-qword 4) 3)) + ) ) - ) #f ) @@ -906,12 +870,12 @@ ;; definition for function print-tree-bitmask (defun print-tree-bitmask ((bits int) (count int)) (dotimes (i count) - (if (zero? (logand bits 1)) - (format #t " ") - (format #t "| ") + (if (zero? (logand bits 1)) + (format #t " ") + (format #t "| ") + ) + (set! bits (shr bits 1)) ) - (set! bits (shr bits 1)) - ) #f ) @@ -930,250 +894,229 @@ ;; WARN: Unsupported inline assembly instruction kind - [daddu v1, v1, s7] ;; WARN: Unsupported inline assembly instruction kind - [daddu v1, v1, s7] ;; WARN: Unsupported inline assembly instruction kind - [daddu v1, v1, s7] -(defun - valid? - ((obj object) - (expected-type type) - (name basic) - (allow-false basic) - (print-dest object) - ) +(defun valid? ((obj object) (expected-type type) (name basic) (allow-false basic) (print-dest object)) (local-vars (v1-11 int) (v1-44 int) (v1-48 int) (s7-0 none)) - (let - ((in-goal-mem - (and - (>= (the-as uint obj) (the-as uint __START-OF-TABLE__)) - (< (the-as uint obj) (the-as uint #x8000000)) - ) - ) - ) - (cond - ((not expected-type) - (cond - ((logtest? (the-as int obj) 3) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object (misaligned)~%" - obj - name - ) + (let ((in-goal-mem + (and (>= (the-as uint obj) (the-as uint __START-OF-TABLE__)) (< (the-as uint obj) (the-as uint #x8000000))) + ) ) + (cond + ((not expected-type) + (cond + ((logtest? (the-as int obj) 3) + (if name + (format print-dest "ERROR: object #x~X ~S is not a valid object (misaligned)~%" obj name) + ) + #f + ) + ((not in-goal-mem) + (if name + (format print-dest "ERROR: object #x~X ~S is not a valid object (bad address)~%" obj name) + ) + #f + ) + (else + #t + ) + ) + ) + ((and allow-false (not obj)) + #t + ) + ((= expected-type structure) + (cond + ((logtest? (the-as int obj) 15) + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (misaligned)~%" + obj + name + expected-type + ) + ) + #f + ) + ((or (not in-goal-mem) (begin + (let ((v1-10 #x8000)) + (.daddu v1-11 v1-10 s7-0) + ) + (< (the-as uint obj) (the-as uint v1-11)) + ) + ) + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (bad address)~%" + obj + name + expected-type + ) + ) + #f + ) + (else + #t + ) + ) + ) + ((= expected-type pair) + (cond + ((!= (logand (the-as int obj) 7) 2) + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (misaligned)~%" + obj + name + expected-type + ) + ) + #f + ) + ((not in-goal-mem) + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (bad address)~%" + obj + name + expected-type + ) + ) + #f + ) + (else + #t + ) + ) + ) + ((= expected-type binteger) + (cond + ((zero? (logand (the-as int obj) 7)) + #t + ) + (else + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (misaligned)~%" + obj + name + expected-type + ) + ) + #f + ) + ) + ) + ((!= (logand (the-as int obj) 7) 4) + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (misaligned)~%" + obj + name + expected-type + ) + ) #f ) ((not in-goal-mem) (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object (bad address)~%" - obj - name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (bad address)~%" + obj + name + expected-type + ) + ) + #f + ) + ((and (= expected-type type) (!= (rtype-of obj) type)) + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (invalid type #x~X)~%" + obj + name + expected-type + (rtype-of obj) + ) + ) + #f + ) + ((and (!= expected-type type) (not (valid? (rtype-of obj) type #f #t 0))) + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (invalid type #x~X)~%" + obj + name + expected-type + (rtype-of obj) + ) + ) + #f + ) + ((not (type-type? (rtype-of obj) expected-type)) + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (is type '~A' instead)~%" + obj + name + expected-type + (rtype-of obj) + ) + ) + #f + ) + ((= expected-type symbol) + (let ((v1-43 #x8000)) + (.daddu v1-44 v1-43 s7-0) ) - ) + (cond + ((>= (the-as uint obj) (the-as uint v1-44)) + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (not in symbol table)~%" + obj + name + expected-type + ) + ) + #f + ) + (else + #t + ) + ) + ) + ((begin + (let ((v1-47 #x8000)) + (.daddu v1-48 v1-47 s7-0) + ) + (< (the-as uint obj) (the-as uint v1-48)) + ) + (if name + (format + print-dest + "ERROR: object #x~X ~S is not a valid object of type '~A' (inside symbol table)~%" + obj + name + expected-type + ) + ) #f ) (else - #t - ) - ) - ) - ((and allow-false (not obj)) - #t - ) - ((= expected-type structure) - (cond - ((logtest? (the-as int obj) 15) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (misaligned)~%" - obj - name - expected-type - ) + #t ) - #f - ) - ((or (not in-goal-mem) (begin - (let ((v1-10 #x8000)) - (.daddu v1-11 v1-10 s7-0) - ) - (< (the-as uint obj) (the-as uint v1-11)) - ) - ) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (bad address)~%" - obj - name - expected-type - ) - ) - #f - ) - (else - #t - ) ) - ) - ((= expected-type pair) - (cond - ((!= (logand (the-as int obj) 7) 2) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (misaligned)~%" - obj - name - expected-type - ) - ) - #f - ) - ((not in-goal-mem) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (bad address)~%" - obj - name - expected-type - ) - ) - #f - ) - (else - #t - ) - ) - ) - ((= expected-type binteger) - (cond - ((zero? (logand (the-as int obj) 7)) - #t - ) - (else - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (misaligned)~%" - obj - name - expected-type - ) - ) - #f - ) - ) - ) - ((!= (logand (the-as int obj) 7) 4) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (misaligned)~%" - obj - name - expected-type - ) - ) - #f - ) - ((not in-goal-mem) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (bad address)~%" - obj - name - expected-type - ) - ) - #f - ) - ((and (= expected-type type) (!= (rtype-of obj) type)) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (invalid type #x~X)~%" - obj - name - expected-type - (rtype-of obj) - ) - ) - #f - ) - ((and (!= expected-type type) (not (valid? (rtype-of obj) type #f #t 0))) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (invalid type #x~X)~%" - obj - name - expected-type - (rtype-of obj) - ) - ) - #f - ) - ((not (type-type? (rtype-of obj) expected-type)) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (is type '~A' instead)~%" - obj - name - expected-type - (rtype-of obj) - ) - ) - #f - ) - ((= expected-type symbol) - (let ((v1-43 #x8000)) - (.daddu v1-44 v1-43 s7-0) - ) - (cond - ((>= (the-as uint obj) (the-as uint v1-44)) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (not in symbol table)~%" - obj - name - expected-type - ) - ) - #f - ) - (else - #t - ) - ) - ) - ((begin - (let ((v1-47 #x8000)) - (.daddu v1-48 v1-47 s7-0) - ) - (< (the-as uint obj) (the-as uint v1-48)) - ) - (if name - (format - print-dest - "ERROR: object #x~X ~S is not a valid object of type '~A' (inside symbol table)~%" - obj - name - expected-type - ) - ) - #f - ) - (else - #t - ) ) - ) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/kernel/gkernel-h_REF.gc b/test/decompiler/reference/kernel/gkernel-h_REF.gc index ca9ad8e4f6..e3e2c1c365 100644 --- a/test/decompiler/reference/kernel/gkernel-h_REF.gc +++ b/test/decompiler/reference/kernel/gkernel-h_REF.gc @@ -204,11 +204,7 @@ (format #t "~Tcompact-count: ~D~%" (-> obj compact-count)) (format #t "~Tfill-percent: ~f~%" (-> obj fill-percent)) (format #t "~Tfirst-gap: #~%" (-> obj first-gap)) - (format - #t - "~Tfirst-shrink: #~%" - (-> obj first-shrink) - ) + (format #t "~Tfirst-shrink: #~%" (-> obj first-shrink)) (format #t "~Theap: #~%" (-> obj heap)) (format #t "~Talive-list: #~%" (-> obj alive-list)) (format #t "~Tlast: #~%" (-> obj alive-list prev)) @@ -287,14 +283,9 @@ ;; definition for method 2 of type handle (defmethod print handle ((obj handle)) (if (nonzero? obj) - (format - #t - "#" - (handle->process obj) - (-> obj pid) - ) - (format #t "#") - ) + (format #t "#" (handle->process obj) (-> obj pid)) + (format #t "#") + ) obj ) diff --git a/test/decompiler/reference/kernel/gkernel_REF.gc b/test/decompiler/reference/kernel/gkernel_REF.gc index dca9a10ad2..a7b42bbc81 100644 --- a/test/decompiler/reference/kernel/gkernel_REF.gc +++ b/test/decompiler/reference/kernel/gkernel_REF.gc @@ -36,35 +36,33 @@ ;; definition for function load-package (defun load-package ((arg0 string) (arg1 kheap)) (when (not (nmember arg0 *kernel-packages*)) - (dgo-load arg0 arg1 15 #x200000) - (let ((v0-1 (cons arg0 *kernel-packages*))) - (set! *kernel-packages* v0-1) - v0-1 + (dgo-load arg0 arg1 15 #x200000) + (let ((v0-1 (cons arg0 *kernel-packages*))) + (set! *kernel-packages* v0-1) + v0-1 + ) ) - ) ) ;; definition for function unload-package (defun unload-package ((arg0 string)) (let ((v1-0 (nmember arg0 *kernel-packages*))) - (if v1-0 - (set! *kernel-packages* (delete! (car v1-0) *kernel-packages*)) + (if v1-0 + (set! *kernel-packages* (delete! (car v1-0) *kernel-packages*)) + ) ) - ) *kernel-packages* ) ;; definition for symbol *kernel-context*, type kernel-context -(define - *kernel-context* - (new 'static 'kernel-context - :prevent-from-run (process-mask execute sleep) - :next-pid 2 - :current-process #f - :relocating-process #f - :low-memory-message #t - ) - ) +(define *kernel-context* (new 'static 'kernel-context + :prevent-from-run (process-mask execute sleep) + :next-pid 2 + :current-process #f + :relocating-process #f + :low-memory-message #t + ) + ) ;; definition for symbol *dram-stack*, type (pointer uint8) (define *dram-stack* (the-as (pointer uint8) (malloc 'global #x3800))) @@ -79,24 +77,16 @@ ;; INFO: Return type mismatch thread vs none. (defmethod delete thread ((obj thread)) (when (= obj (-> obj process main-thread)) - (break!) - 0 - ) + (break!) + 0 + ) (set! (-> obj process top-thread) (-> obj previous)) (none) ) ;; definition for method 2 of type thread (defmethod print thread ((obj thread)) - (format - #t - "#<~A ~S of ~S pc: #x~X @ #x~X>" - (-> obj type) - (-> obj name) - (-> obj process name) - (-> obj pc) - obj - ) + (format #t "#<~A ~S of ~S pc: #x~X @ #x~X>" (-> obj type) (-> obj name) (-> obj process name) (-> obj pc) obj) obj ) @@ -104,84 +94,54 @@ ;; INFO: Return type mismatch int vs none. (defmethod stack-size-set! thread ((obj thread) (arg0 int)) (let ((a2-0 (-> obj process))) - (cond - ((!= obj (-> a2-0 main-thread)) - (format - 0 - "ERROR: illegal attempt change stack size of ~A when the main-thread is not the top-thread.~%" - a2-0 + (cond + ((!= obj (-> a2-0 main-thread)) + (format 0 "ERROR: illegal attempt change stack size of ~A when the main-thread is not the top-thread.~%" a2-0) + ) + ((= (-> obj stack-size) arg0) + ) + ((= (-> a2-0 heap-cur) (+ (+ (-> obj stack-size) -4 (-> obj type size)) (the-as int obj))) + (set! (-> a2-0 heap-cur) (the-as pointer (+ (+ arg0 -4 (-> obj type size)) (the-as int obj)))) + (set! (-> obj stack-size) arg0) + ) + (else + (format 0 "ERROR: illegal attempt change stack size of ~A after more heap allocation has occured.~%" a2-0) + ) ) - ) - ((= (-> obj stack-size) arg0) - ) - ((= - (-> a2-0 heap-cur) - (+ (+ (-> obj stack-size) -4 (-> obj type size)) (the-as int obj)) - ) - (set! - (-> a2-0 heap-cur) - (the-as pointer (+ (+ arg0 -4 (-> obj type size)) (the-as int obj))) - ) - (set! (-> obj stack-size) arg0) - ) - (else - (format - 0 - "ERROR: illegal attempt change stack size of ~A after more heap allocation has occured.~%" - a2-0 - ) - ) ) - ) 0 (none) ) ;; definition for method 0 of type cpu-thread ;; INFO: Return type mismatch pointer vs cpu-thread. -(defmethod - new - cpu-thread - ((allocation symbol) - (type-to-make type) - (arg0 process) - (arg1 symbol) - (arg2 int) - (arg3 pointer) - ) +(defmethod new cpu-thread ((allocation symbol) (type-to-make type) (arg0 process) (arg1 symbol) (arg2 int) (arg3 pointer)) (let ((obj (the-as cpu-thread (cond - ((-> arg0 top-thread) - (the-as cpu-thread (&+ arg3 -7164)) - ) - (else - (let - ((v1-2 - (logand -16 (&+ (-> arg0 heap-cur) 15)) - ) - ) - (set! - (-> arg0 heap-cur) - (&+ (&+ v1-2 (-> type-to-make size)) arg2) - ) - (the-as cpu-thread (&+ v1-2 4)) + ((-> arg0 top-thread) + (the-as cpu-thread (&+ arg3 -7164)) ) + (else + (let ((v1-2 (logand -16 (&+ (-> arg0 heap-cur) 15)))) + (set! (-> arg0 heap-cur) (&+ (&+ v1-2 (-> type-to-make size)) arg2)) + (the-as cpu-thread (&+ v1-2 4)) + ) + ) ) - ) - ) - ) + ) + ) ) - (set! (-> obj type) type-to-make) - (set! (-> obj name) arg1) - (set! (-> obj process) arg0) - (set! (-> obj sp) arg3) - (set! (-> obj stack-top) arg3) - (set! (-> obj previous) (-> arg0 top-thread)) - (set! (-> arg0 top-thread) obj) - (set! (-> obj suspend-hook) (method-of-object obj thread-suspend)) - (set! (-> obj resume-hook) (method-of-object obj thread-resume)) - (set! (-> obj stack-size) arg2) - (the-as cpu-thread obj) - ) + (set! (-> obj type) type-to-make) + (set! (-> obj name) arg1) + (set! (-> obj process) arg0) + (set! (-> obj sp) arg3) + (set! (-> obj stack-top) arg3) + (set! (-> obj previous) (-> arg0 top-thread)) + (set! (-> arg0 top-thread) obj) + (set! (-> obj suspend-hook) (method-of-object obj thread-suspend)) + (set! (-> obj resume-hook) (method-of-object obj thread-resume)) + (set! (-> obj stack-size) arg2) + (the-as cpu-thread obj) + ) ) ;; definition for method 5 of type cpu-thread @@ -193,93 +153,92 @@ ;; definition for function remove-exit (defbehavior remove-exit process () (when (-> self stack-frame-top) - (let ((v0-0 (-> self stack-frame-top next))) - (set! (-> self stack-frame-top) v0-0) - v0-0 + (let ((v0-0 (-> self stack-frame-top next))) + (set! (-> self stack-frame-top) v0-0) + v0-0 + ) ) - ) ) ;; definition (debug) for function stream<-process-mask (defun-debug stream<-process-mask ((arg0 object) (arg1 process-mask)) (let ((s4-0 arg1)) - (if (= (logand (process-mask death) s4-0) (process-mask death)) - (format arg0 "death ") + (if (= (logand (process-mask death) s4-0) (process-mask death)) + (format arg0 "death ") + ) + (if (= (logand (process-mask attackable) s4-0) (process-mask attackable)) + (format arg0 "attackable ") + ) + (if (= (logand (process-mask projectile) s4-0) (process-mask projectile)) + (format arg0 "projectile ") + ) + (if (= (logand (process-mask entity) s4-0) (process-mask entity)) + (format arg0 "entity ") + ) + (if (= (logand (process-mask ambient) s4-0) (process-mask ambient)) + (format arg0 "ambient ") + ) + (if (= (logand (process-mask platform) s4-0) (process-mask platform)) + (format arg0 "platform ") + ) + (if (= (logand (process-mask camera) s4-0) (process-mask camera)) + (format arg0 "camera ") + ) + (if (= (logand (process-mask enemy) s4-0) (process-mask enemy)) + (format arg0 "enemy ") + ) + (if (= (logand (process-mask collectable) s4-0) (process-mask collectable)) + (format arg0 "collectable ") + ) + (if (= (logand s4-0 (process-mask crate)) (process-mask crate)) + (format arg0 "crate ") + ) + (if (= (logand s4-0 (process-mask sidekick)) (process-mask sidekick)) + (format arg0 "sidekick ") + ) + (if (= (logand s4-0 (process-mask target)) (process-mask target)) + (format arg0 "target ") + ) + (if (= (logand s4-0 (process-mask movie-subject)) (process-mask movie-subject)) + (format arg0 "movie-subject ") + ) + (if (= (logand s4-0 (process-mask movie)) (process-mask movie)) + (format arg0 "movie ") + ) + (if (= (logand s4-0 (process-mask going)) (process-mask going)) + (format arg0 "going ") + ) + (if (= (logand s4-0 (process-mask heap-shrunk)) (process-mask heap-shrunk)) + (format arg0 "heap-shrunk ") + ) + (if (= (logand s4-0 (process-mask process-tree)) (process-mask process-tree)) + (format arg0 "process-tree ") + ) + (if (= (logand s4-0 (process-mask sleep-code)) (process-mask sleep-code)) + (format arg0 "sleep-code ") + ) + (if (= (logand s4-0 (process-mask sleep)) (process-mask sleep)) + (format arg0 "sleep ") + ) + (if (= (logand s4-0 (process-mask actor-pause)) (process-mask actor-pause)) + (format arg0 "actor-pause ") + ) + (if (= (logand s4-0 (process-mask progress)) (process-mask progress)) + (format arg0 "progress ") + ) + (if (= (logand s4-0 (process-mask menu)) (process-mask menu)) + (format arg0 "menu ") + ) + (if (= (logand s4-0 (process-mask pause)) (process-mask pause)) + (format arg0 "pause ") + ) + (if (= (logand s4-0 (process-mask draw)) (process-mask draw)) + (format arg0 "draw ") + ) + (if (= (logand s4-0 (process-mask execute)) (process-mask execute)) + (format arg0 "execute ") + ) ) - (if (= (logand (process-mask attackable) s4-0) (process-mask attackable)) - (format arg0 "attackable ") - ) - (if (= (logand (process-mask projectile) s4-0) (process-mask projectile)) - (format arg0 "projectile ") - ) - (if (= (logand (process-mask entity) s4-0) (process-mask entity)) - (format arg0 "entity ") - ) - (if (= (logand (process-mask ambient) s4-0) (process-mask ambient)) - (format arg0 "ambient ") - ) - (if (= (logand (process-mask platform) s4-0) (process-mask platform)) - (format arg0 "platform ") - ) - (if (= (logand (process-mask camera) s4-0) (process-mask camera)) - (format arg0 "camera ") - ) - (if (= (logand (process-mask enemy) s4-0) (process-mask enemy)) - (format arg0 "enemy ") - ) - (if (= (logand (process-mask collectable) s4-0) (process-mask collectable)) - (format arg0 "collectable ") - ) - (if (= (logand s4-0 (process-mask crate)) (process-mask crate)) - (format arg0 "crate ") - ) - (if (= (logand s4-0 (process-mask sidekick)) (process-mask sidekick)) - (format arg0 "sidekick ") - ) - (if (= (logand s4-0 (process-mask target)) (process-mask target)) - (format arg0 "target ") - ) - (if - (= (logand s4-0 (process-mask movie-subject)) (process-mask movie-subject)) - (format arg0 "movie-subject ") - ) - (if (= (logand s4-0 (process-mask movie)) (process-mask movie)) - (format arg0 "movie ") - ) - (if (= (logand s4-0 (process-mask going)) (process-mask going)) - (format arg0 "going ") - ) - (if (= (logand s4-0 (process-mask heap-shrunk)) (process-mask heap-shrunk)) - (format arg0 "heap-shrunk ") - ) - (if (= (logand s4-0 (process-mask process-tree)) (process-mask process-tree)) - (format arg0 "process-tree ") - ) - (if (= (logand s4-0 (process-mask sleep-code)) (process-mask sleep-code)) - (format arg0 "sleep-code ") - ) - (if (= (logand s4-0 (process-mask sleep)) (process-mask sleep)) - (format arg0 "sleep ") - ) - (if (= (logand s4-0 (process-mask actor-pause)) (process-mask actor-pause)) - (format arg0 "actor-pause ") - ) - (if (= (logand s4-0 (process-mask progress)) (process-mask progress)) - (format arg0 "progress ") - ) - (if (= (logand s4-0 (process-mask menu)) (process-mask menu)) - (format arg0 "menu ") - ) - (if (= (logand s4-0 (process-mask pause)) (process-mask pause)) - (format arg0 "pause ") - ) - (if (= (logand s4-0 (process-mask draw)) (process-mask draw)) - (format arg0 "draw ") - ) - (if (= (logand s4-0 (process-mask execute)) (process-mask execute)) - (format arg0 "execute ") - ) - ) arg1 ) @@ -290,24 +249,17 @@ (define *pause-lock* #f) ;; definition for method 0 of type process-tree -(defmethod - new - process-tree - ((allocation symbol) (type-to-make type) (arg0 basic)) - (let - ((v0-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new process-tree ((allocation symbol) (type-to-make type) (arg0 basic)) + (let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> v0-0 name) arg0) + (set! (-> v0-0 mask) (process-mask process-tree)) + (set! (-> v0-0 parent) (the-as (pointer process-tree) #f)) + (set! (-> v0-0 brother) (the-as (pointer process-tree) #f)) + (set! (-> v0-0 child) (the-as (pointer process-tree) #f)) + (set! (-> v0-0 self) v0-0) + (set! (-> v0-0 ppointer) (the-as (pointer process) (&-> v0-0 self))) + v0-0 ) - (set! (-> v0-0 name) arg0) - (set! (-> v0-0 mask) (process-mask process-tree)) - (set! (-> v0-0 parent) (the-as (pointer process-tree) #f)) - (set! (-> v0-0 brother) (the-as (pointer process-tree) #f)) - (set! (-> v0-0 child) (the-as (pointer process-tree) #f)) - (set! (-> v0-0 self) v0-0) - (set! (-> v0-0 ppointer) (the-as (pointer process) (&-> v0-0 self))) - v0-0 - ) ) ;; definition for method 3 of type process-tree @@ -323,70 +275,52 @@ ;; definition for method 0 of type process ;; INFO: Return type mismatch object vs process. -(defmethod - new - process - ((allocation symbol) (type-to-make type) (arg0 basic) (arg1 int)) +(defmethod new process ((allocation symbol) (type-to-make type) (arg0 basic) (arg1 int)) (let ((v0-0 (if (= (-> allocation type) symbol) - (object-new - allocation - type-to-make - (the-as int (+ (-> process size) arg1)) - ) - (+ (the-as int allocation) 4) - ) - ) + (object-new allocation type-to-make (the-as int (+ (-> process size) arg1))) + (+ (the-as int allocation) 4) + ) + ) ) - (set! (-> (the-as process v0-0) name) arg0) - (set! (-> (the-as process v0-0) status) 'dead) - (set! (-> (the-as process v0-0) pid) 0) - (set! (-> (the-as process v0-0) pool) #f) - (set! (-> (the-as process v0-0) allocated-length) arg1) - (set! (-> (the-as process v0-0) top-thread) #f) - (set! (-> (the-as process v0-0) main-thread) #f) - (let ((v1-5 (-> (the-as process v0-0) stack))) - (set! (-> (the-as process v0-0) heap-cur) v1-5) - (set! (-> (the-as process v0-0) heap-base) v1-5) + (set! (-> (the-as process v0-0) name) arg0) + (set! (-> (the-as process v0-0) status) 'dead) + (set! (-> (the-as process v0-0) pid) 0) + (set! (-> (the-as process v0-0) pool) #f) + (set! (-> (the-as process v0-0) allocated-length) arg1) + (set! (-> (the-as process v0-0) top-thread) #f) + (set! (-> (the-as process v0-0) main-thread) #f) + (let ((v1-5 (-> (the-as process v0-0) stack))) + (set! (-> (the-as process v0-0) heap-cur) v1-5) + (set! (-> (the-as process v0-0) heap-base) v1-5) + ) + (set! (-> (the-as process v0-0) heap-top) + (&-> (the-as process v0-0) stack (-> (the-as process v0-0) allocated-length)) + ) + (set! (-> (the-as process v0-0) stack-frame-top) (the-as stack-frame (-> (the-as process v0-0) heap-top))) + (set! (-> (the-as process v0-0) stack-frame-top) #f) + (set! (-> (the-as process v0-0) state) #f) + (set! (-> (the-as process v0-0) next-state) #f) + (set! (-> (the-as process v0-0) entity) #f) + (set! (-> (the-as process v0-0) trans-hook) #f) + (set! (-> (the-as process v0-0) post-hook) #f) + (set! (-> (the-as process v0-0) event-hook) #f) + (set! (-> (the-as process v0-0) parent) (the-as (pointer process-tree) #f)) + (set! (-> (the-as process v0-0) brother) (the-as (pointer process-tree) #f)) + (set! (-> (the-as process v0-0) child) (the-as (pointer process-tree) #f)) + (set! (-> (the-as process v0-0) self) (the-as process v0-0)) + (set! (-> (the-as process v0-0) ppointer) (the-as (pointer process) (&-> (the-as process v0-0) self))) + (the-as process v0-0) ) - (set! - (-> (the-as process v0-0) heap-top) - (&-> - (the-as process v0-0) - stack - (-> (the-as process v0-0) allocated-length) - ) - ) - (set! - (-> (the-as process v0-0) stack-frame-top) - (the-as stack-frame (-> (the-as process v0-0) heap-top)) - ) - (set! (-> (the-as process v0-0) stack-frame-top) #f) - (set! (-> (the-as process v0-0) state) #f) - (set! (-> (the-as process v0-0) next-state) #f) - (set! (-> (the-as process v0-0) entity) #f) - (set! (-> (the-as process v0-0) trans-hook) #f) - (set! (-> (the-as process v0-0) post-hook) #f) - (set! (-> (the-as process v0-0) event-hook) #f) - (set! (-> (the-as process v0-0) parent) (the-as (pointer process-tree) #f)) - (set! (-> (the-as process v0-0) brother) (the-as (pointer process-tree) #f)) - (set! (-> (the-as process v0-0) child) (the-as (pointer process-tree) #f)) - (set! (-> (the-as process v0-0) self) (the-as process v0-0)) - (set! - (-> (the-as process v0-0) ppointer) - (the-as (pointer process) (&-> (the-as process v0-0) self)) - ) - (the-as process v0-0) - ) ) ;; definition for function inspect-process-heap (defun inspect-process-heap ((arg0 process)) (let ((obj (&+ (-> arg0 heap-base) 4))) - (while (< (the-as int obj) (the-as int (-> arg0 heap-cur))) - (inspect (the-as basic obj)) - (&+! obj (logand -16 (+ (asize-of (the-as basic obj)) 15))) + (while (< (the-as int obj) (the-as int (-> arg0 heap-cur))) + (inspect (the-as basic obj)) + (&+! obj (logand -16 (+ (asize-of (the-as basic obj)) 15))) + ) ) - ) #f ) @@ -413,12 +347,12 @@ (format #t "~Theap-top: #x~X~%" (-> obj heap-top)) (format #t "~Theap-cur: #x~X~%" (-> obj heap-cur)) (let ((s5-0 *print-column*)) - (set! *print-column* (+ *print-column* 64)) - (format #t "----~%") - (inspect-process-heap obj) - (format #t "----~%") - (set! *print-column* s5-0) - ) + (set! *print-column* (+ *print-column* 64)) + (format #t "----~%") + (inspect-process-heap obj) + (format #t "----~%") + (set! *print-column* s5-0) + ) (format #t "~Tallocated-length: ~D~%" (-> obj allocated-length)) (format #t "~Tstack[~D] @ #x~X~%" (-> obj allocated-length) (-> obj stack)) obj @@ -432,28 +366,19 @@ ;; definition for method 2 of type process (defmethod print process ((obj process)) + (format #t "#<~A ~S ~A :state ~S " (-> obj type) (-> obj name) (-> obj status) (if (-> obj state) + (-> obj state name) + ) + ) (format - #t - "#<~A ~S ~A :state ~S " - (-> obj type) - (-> obj name) - (-> obj status) - (if (-> obj state) - (-> obj state name) - ) - ) - (format - #t - ":stack ~D/~D :heap ~D/~D @ #x~X>" - (&- (-> obj top-thread stack-top) (the-as uint (-> obj top-thread sp))) - (-> obj main-thread stack-size) - (- + #t + ":stack ~D/~D :heap ~D/~D @ #x~X>" + (&- (-> obj top-thread stack-top) (the-as uint (-> obj top-thread sp))) + (-> obj main-thread stack-size) + (- (-> obj allocated-length) (&- (-> obj heap-top) (the-as uint (-> obj heap-cur)))) (-> obj allocated-length) - (&- (-> obj heap-top) (the-as uint (-> obj heap-cur))) + obj ) - (-> obj allocated-length) - obj - ) obj ) @@ -473,73 +398,61 @@ ;; ERROR: function was not converted to expressions. Cannot decompile. ;; definition for method 0 of type dead-pool -(defmethod - new - dead-pool - ((allocation symbol) (type-to-make type) (arg0 int) (arg1 int) (arg2 basic)) - (let - ((s3-0 - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new dead-pool ((allocation symbol) (type-to-make type) (arg0 int) (arg1 int) (arg2 basic)) + (let ((s3-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> s3-0 name) arg2) + (set! (-> s3-0 mask) (process-mask process-tree)) + (set! (-> s3-0 parent) (the-as (pointer process-tree) #f)) + (set! (-> s3-0 brother) (the-as (pointer process-tree) #f)) + (set! (-> s3-0 child) (the-as (pointer process-tree) #f)) + (set! (-> s3-0 self) s3-0) + (set! (-> s3-0 ppointer) (the-as (pointer process) (&-> s3-0 self))) + (dotimes (s2-1 arg0) + (let ((s1-0 (-> s3-0 child)) + (v1-5 ((method-of-type process new) allocation process 'dead arg1)) + ) + (set! (-> s3-0 child) (process->ppointer v1-5)) + (set! (-> v1-5 parent) (process->ppointer (the-as process s3-0))) + (set! (-> v1-5 pool) s3-0) + (set! (-> v1-5 brother) s1-0) + ) + ) + s3-0 ) - (set! (-> s3-0 name) arg2) - (set! (-> s3-0 mask) (process-mask process-tree)) - (set! (-> s3-0 parent) (the-as (pointer process-tree) #f)) - (set! (-> s3-0 brother) (the-as (pointer process-tree) #f)) - (set! (-> s3-0 child) (the-as (pointer process-tree) #f)) - (set! (-> s3-0 self) s3-0) - (set! (-> s3-0 ppointer) (the-as (pointer process) (&-> s3-0 self))) - (dotimes (s2-1 arg0) - (let ((s1-0 (-> s3-0 child)) - (v1-5 ((method-of-type process new) allocation process 'dead arg1)) - ) - (set! (-> s3-0 child) (process->ppointer v1-5)) - (set! (-> v1-5 parent) (process->ppointer (the-as process s3-0))) - (set! (-> v1-5 pool) s3-0) - (set! (-> v1-5 brother) s1-0) - ) - ) - s3-0 - ) ) ;; definition for method 14 of type dead-pool (defmethod get-process dead-pool ((obj dead-pool) (arg0 type) (arg1 int)) (let ((s4-0 (the-as object (-> obj child)))) - (when - (and - (not (the-as (pointer process-tree) s4-0)) - *debug-segment* - (!= obj *debug-dead-pool*) - ) - (set! s4-0 (get-process *debug-dead-pool* arg0 arg1)) - (if (the-as process s4-0) - (format - 0 - "WARNING: ~A ~A had to be allocated from the debug pool, because ~A was empty.~%" - arg0 - (ppointer->process (the-as process s4-0)) - (-> obj name) + (when (and (not (the-as (pointer process-tree) s4-0)) *debug-segment* (!= obj *debug-dead-pool*)) + (set! s4-0 (get-process *debug-dead-pool* arg0 arg1)) + (if (the-as process s4-0) + (format + 0 + "WARNING: ~A ~A had to be allocated from the debug pool, because ~A was empty.~%" + arg0 + (ppointer->process (the-as process s4-0)) + (-> obj name) + ) + ) ) - ) - ) - (cond - (s4-0 - (set! (-> (the-as (pointer process) s4-0) 0 type) arg0) - (-> (the-as (pointer process) s4-0) 0) - ) - (else - (format - 0 - "WARNING: ~A ~A could not be allocated, because ~A was empty.~%" - arg0 - (ppointer->process (the-as (pointer process) s4-0)) - (-> obj name) + (cond + (s4-0 + (set! (-> (the-as (pointer process) s4-0) 0 type) arg0) + (-> (the-as (pointer process) s4-0) 0) + ) + (else + (format + 0 + "WARNING: ~A ~A could not be allocated, because ~A was empty.~%" + arg0 + (ppointer->process (the-as (pointer process) s4-0)) + (-> obj name) + ) + (the-as process #f) + ) ) - (the-as process #f) - ) ) - ) ) ;; definition for method 15 of type dead-pool @@ -550,115 +463,81 @@ ) ;; definition for method 0 of type dead-pool-heap -(defmethod - new - dead-pool-heap - ((allocation symbol) (type-to-make type) (arg0 basic) (arg1 int) (arg2 int)) - (let - ((obj - (object-new - allocation - type-to-make - (the-as - int - (+ (-> type-to-make size) (logand -16 (+ (* 12 arg1) 15)) arg2) - ) +(defmethod new dead-pool-heap ((allocation symbol) (type-to-make type) (arg0 basic) (arg1 int) (arg2 int)) + (let ((obj (object-new + allocation + type-to-make + (the-as int (+ (-> type-to-make size) (logand -16 (+ (* 12 arg1) 15)) arg2)) + ) + ) + ) + (set! (-> obj name) arg0) + (set! (-> obj mask) (process-mask process-tree)) + (set! (-> obj allocated-length) arg1) + (set! (-> obj parent) (the-as (pointer process-tree) #f)) + (set! (-> obj brother) (the-as (pointer process-tree) #f)) + (set! (-> obj child) (the-as (pointer process-tree) #f)) + (set! (-> obj self) obj) + (set! (-> obj ppointer) (the-as (pointer process) (&-> obj self))) + (countdown (v1-4 arg1) + (let ((a0-4 (-> obj process-list v1-4))) + (set! (-> a0-4 process) *null-process*) + (set! (-> a0-4 next) (-> obj process-list (+ v1-4 1))) + ) ) - ) + (set! (-> obj dead-list next) (the-as dead-pool-heap-rec (-> obj process-list))) + (set! (-> obj alive-list process) #f) + (set! (-> obj process-list (+ arg1 -1) next) #f) + (set! (-> obj alive-list prev) (-> obj alive-list)) + (set! (-> obj alive-list next) #f) + (set! (-> obj alive-list process) #f) + (set! (-> obj first-gap) (-> obj alive-list)) + (set! (-> obj first-shrink) #f) + (set! (-> obj heap base) (the-as pointer (logand -16 (+ (the-as int obj) 115 (* 12 arg1))))) + (set! (-> obj heap current) (-> obj heap base)) + (set! (-> obj heap top) (&+ (-> obj heap base) arg2)) + (set! (-> obj heap top-base) (-> obj heap top)) + obj ) - (set! (-> obj name) arg0) - (set! (-> obj mask) (process-mask process-tree)) - (set! (-> obj allocated-length) arg1) - (set! (-> obj parent) (the-as (pointer process-tree) #f)) - (set! (-> obj brother) (the-as (pointer process-tree) #f)) - (set! (-> obj child) (the-as (pointer process-tree) #f)) - (set! (-> obj self) obj) - (set! (-> obj ppointer) (the-as (pointer process) (&-> obj self))) - (countdown (v1-4 arg1) - (let ((a0-4 (-> obj process-list v1-4))) - (set! (-> a0-4 process) *null-process*) - (set! (-> a0-4 next) (-> obj process-list (+ v1-4 1))) - ) - ) - (set! - (-> obj dead-list next) - (the-as dead-pool-heap-rec (-> obj process-list)) - ) - (set! (-> obj alive-list process) #f) - (set! (-> obj process-list (+ arg1 -1) next) #f) - (set! (-> obj alive-list prev) (-> obj alive-list)) - (set! (-> obj alive-list next) #f) - (set! (-> obj alive-list process) #f) - (set! (-> obj first-gap) (-> obj alive-list)) - (set! (-> obj first-shrink) #f) - (set! - (-> obj heap base) - (the-as pointer (logand -16 (+ (the-as int obj) 115 (* 12 arg1)))) - ) - (set! (-> obj heap current) (-> obj heap base)) - (set! (-> obj heap top) (&+ (-> obj heap base) arg2)) - (set! (-> obj heap top-base) (-> obj heap top)) - obj - ) ) ;; definition for method 22 of type dead-pool-heap ;; INFO: Return type mismatch object vs pointer. -(defmethod - gap-location - dead-pool-heap - ((obj dead-pool-heap) (arg0 dead-pool-heap-rec)) - (the-as pointer (if (-> arg0 process) - (+ - (+ (-> arg0 process allocated-length) -4 (-> process size)) - (the-as int (-> arg0 process)) - ) - (-> obj heap base) - ) - ) +(defmethod gap-location dead-pool-heap ((obj dead-pool-heap) (arg0 dead-pool-heap-rec)) + (the-as + pointer + (if (-> arg0 process) + (+ (+ (-> arg0 process allocated-length) -4 (-> process size)) (the-as int (-> arg0 process))) + (-> obj heap base) + ) + ) ) ;; definition for method 21 of type dead-pool-heap -(defmethod - gap-size - dead-pool-heap - ((obj dead-pool-heap) (arg0 dead-pool-heap-rec)) +(defmethod gap-size dead-pool-heap ((obj dead-pool-heap) (arg0 dead-pool-heap-rec)) (cond - ((-> arg0 process) - (let - ((v1-3 - (&+ - (&+ (the-as pointer (-> arg0 process)) (-> process size)) - (-> arg0 process allocated-length) - ) + ((-> arg0 process) + (let ((v1-3 (&+ (&+ (the-as pointer (-> arg0 process)) (-> process size)) (-> arg0 process allocated-length)))) + (if (-> arg0 next) + (&- (the-as pointer (-> arg0 next process)) (the-as uint v1-3)) + (&- (-> obj heap top) (the-as uint (&+ v1-3 4))) + ) ) - ) - (if (-> arg0 next) - (&- (the-as pointer (-> arg0 next process)) (the-as uint v1-3)) - (&- (-> obj heap top) (the-as uint (&+ v1-3 4))) - ) ) - ) - ((-> arg0 next) - (&- - (the-as pointer (-> arg0 next process)) - (the-as uint (&+ (-> obj heap base) 4)) + ((-> arg0 next) + (&- (the-as pointer (-> arg0 next process)) (the-as uint (&+ (-> obj heap base) 4))) ) + (else + (&- (-> obj heap top) (the-as uint (-> obj heap base))) + ) ) - (else - (&- (-> obj heap top) (the-as uint (-> obj heap base))) - ) - ) ) ;; definition for method 23 of type dead-pool-heap -(defmethod - find-gap - dead-pool-heap - ((this dead-pool-heap) (rec dead-pool-heap-rec)) +(defmethod find-gap dead-pool-heap ((this dead-pool-heap) (rec dead-pool-heap-rec)) (while (and (-> rec next) (zero? (gap-size this rec))) - (set! rec (-> rec next)) - ) + (set! rec (-> rec next)) + ) rec ) @@ -676,51 +555,35 @@ (format #t "~Tallocated-length: ~D~%" (-> obj allocated-length)) (format #t "~Theap: #~%" (-> obj heap)) (format #t "~Tfirst-gap: #~%" (-> obj first-gap)) - (format - #t - "~Tfirst-shrink: #~%" - (-> obj first-shrink) - ) + (format #t "~Tfirst-shrink: #~%" (-> obj first-shrink)) (format #t "~Talive-list: #~%" (-> obj alive-list)) (format #t "~Tlast: #~%" (-> obj alive-list prev)) (format #t "~Tdead-list: #~%" (-> obj dead-list)) (let* ((s5-0 (&- (-> obj heap top) (the-as uint (-> obj heap base)))) (v1-3 (if (-> obj alive-list prev) - (gap-size obj (-> obj alive-list prev)) - s5-0 - ) - ) + (gap-size obj (-> obj alive-list prev)) + s5-0 + ) + ) ) - (format - #t - "~Tprocess-list[0] @ #x~X ~D/~D bytes used~%" - (-> obj process-list) - (- s5-0 v1-3) - s5-0 + (format #t "~Tprocess-list[0] @ #x~X ~D/~D bytes used~%" (-> obj process-list) (- s5-0 v1-3) s5-0) ) - ) (let ((s5-1 (-> obj alive-list)) (s4-0 0) ) - (while s5-1 - (if (-> s5-1 process) - (format - #t - "~T [~3D] # ~A~%" - s4-0 - s5-1 - (-> s5-1 process) + (while s5-1 + (if (-> s5-1 process) + (format #t "~T [~3D] # ~A~%" s4-0 s5-1 (-> s5-1 process)) + ) + (let ((s3-0 (gap-size obj s5-1))) + (if (nonzero? s3-0) + (format #t "~T gap: ~D bytes @ #x~X~%" s3-0 (gap-location obj s5-1)) + ) + ) + (set! s5-1 (-> s5-1 next)) + (+! s4-0 1) ) - ) - (let ((s3-0 (gap-size obj s5-1))) - (if (nonzero? s3-0) - (format #t "~T gap: ~D bytes @ #x~X~%" s3-0 (gap-location obj s5-1)) - ) - ) - (set! s5-1 (-> s5-1 next)) - (+! s4-0 1) ) - ) obj ) @@ -732,9 +595,9 @@ ;; definition for method 19 of type dead-pool-heap (defmethod memory-used dead-pool-heap ((obj dead-pool-heap)) (if (-> obj alive-list prev) - (- (memory-total obj) (gap-size obj (-> obj alive-list prev))) - 0 - ) + (- (memory-total obj) (gap-size obj (-> obj alive-list prev))) + 0 + ) ) ;; definition for method 20 of type dead-pool-heap @@ -745,11 +608,11 @@ ;; definition for method 25 of type dead-pool-heap (defmethod memory-free dead-pool-heap ((obj dead-pool-heap)) (let ((v1-0 (-> obj heap top))) - (if (-> obj alive-list prev) - (gap-size obj (-> obj alive-list prev)) - (&- v1-0 (the-as uint (-> obj heap base))) + (if (-> obj alive-list prev) + (gap-size obj (-> obj alive-list prev)) + (&- v1-0 (the-as uint (-> obj heap base))) + ) ) - ) ) ;; definition for method 26 of type dead-pool-heap @@ -760,132 +623,102 @@ ;; definition for method 24 of type dead-pool-heap (defmethod find-gap-by-size dead-pool-heap ((obj dead-pool-heap) (arg0 int)) (let ((gp-0 (-> obj first-gap))) - (while (and gp-0 (< (gap-size obj gp-0) arg0)) - (set! gp-0 (-> gp-0 next)) + (while (and gp-0 (< (gap-size obj gp-0) arg0)) + (set! gp-0 (-> gp-0 next)) + ) + gp-0 ) - gp-0 - ) ) ;; definition for method 14 of type dead-pool-heap -(defmethod - get-process - dead-pool-heap - ((obj dead-pool-heap) (arg0 type) (arg1 int)) +(defmethod get-process dead-pool-heap ((obj dead-pool-heap) (arg0 type) (arg1 int)) (let ((s4-0 (-> obj dead-list next)) (s3-0 (the-as process #f)) ) - (let ((s1-0 (find-gap-by-size obj (the-as int (+ (-> process size) arg1))))) - (cond - ((and s4-0 s1-0) - (set! (-> obj dead-list next) (-> s4-0 next)) - (let ((v1-5 (-> s1-0 next))) - (set! (-> s1-0 next) s4-0) - (set! (-> s4-0 next) v1-5) - (if v1-5 - (set! (-> v1-5 prev) s4-0) - ) - ) - (set! (-> s4-0 prev) s1-0) - (if (= s1-0 (-> obj alive-list prev)) - (set! (-> obj alive-list prev) s4-0) - ) - (let ((a0-4 (gap-location obj s1-0))) - (set! - s3-0 - ((method-of-type process new) - (the-as symbol a0-4) - process - 'process - arg1 + (let ((s1-0 (find-gap-by-size obj (the-as int (+ (-> process size) arg1))))) + (cond + ((and s4-0 s1-0) + (set! (-> obj dead-list next) (-> s4-0 next)) + (let ((v1-5 (-> s1-0 next))) + (set! (-> s1-0 next) s4-0) + (set! (-> s4-0 next) v1-5) + (if v1-5 + (set! (-> v1-5 prev) s4-0) + ) + ) + (set! (-> s4-0 prev) s1-0) + (if (= s1-0 (-> obj alive-list prev)) + (set! (-> obj alive-list prev) s4-0) + ) + (let ((a0-4 (gap-location obj s1-0))) + (set! s3-0 ((method-of-type process new) (the-as symbol a0-4) process 'process arg1)) + ) + (set! (-> s4-0 process) s3-0) + (set! (-> s3-0 ppointer) (&-> s4-0 process)) + (if (= (-> obj first-gap) s1-0) + (set! (-> obj first-gap) (find-gap obj s4-0)) + ) + (if (or (not (-> obj first-shrink)) (< (the-as int s3-0) (the-as int (-> obj first-shrink process)))) + (set! (-> obj first-shrink) s4-0) + ) + (set! (-> s3-0 parent) (-> obj ppointer)) + (set! (-> s3-0 pool) obj) + (set! (-> obj child) (&-> s4-0 process)) ) + (else + (when (and *debug-segment* (!= obj *debug-dead-pool*)) + (set! s3-0 (get-process *debug-dead-pool* arg0 arg1)) + (if (and s3-0 *vis-boot*) + (format + 0 + "WARNING: ~A ~A had to be allocated from the debug pool, because ~A was empty.~%" + arg0 + s3-0 + (-> obj name) + ) + ) + ) + ) ) - ) - (set! (-> s4-0 process) s3-0) - (set! (-> s3-0 ppointer) (&-> s4-0 process)) - (if (= (-> obj first-gap) s1-0) - (set! (-> obj first-gap) (find-gap obj s4-0)) - ) - (if - (or - (not (-> obj first-shrink)) - (< (the-as int s3-0) (the-as int (-> obj first-shrink process))) - ) - (set! (-> obj first-shrink) s4-0) - ) - (set! (-> s3-0 parent) (-> obj ppointer)) - (set! (-> s3-0 pool) obj) - (set! (-> obj child) (&-> s4-0 process)) ) - (else - (when (and *debug-segment* (!= obj *debug-dead-pool*)) - (set! s3-0 (get-process *debug-dead-pool* arg0 arg1)) - (if (and s3-0 *vis-boot*) - (format - 0 - "WARNING: ~A ~A had to be allocated from the debug pool, because ~A was empty.~%" - arg0 - s3-0 - (-> obj name) - ) + (if s3-0 + (set! (-> s3-0 type) arg0) + (format 0 "WARNING: ~A ~A could not be allocated, because ~A was empty.~%" arg0 s3-0 (-> obj name)) ) - ) - ) - ) + s3-0 ) - (if s3-0 - (set! (-> s3-0 type) arg0) - (format - 0 - "WARNING: ~A ~A could not be allocated, because ~A was empty.~%" - arg0 - s3-0 - (-> obj name) - ) - ) - s3-0 - ) ) ;; definition for method 15 of type dead-pool-heap ;; INFO: Return type mismatch int vs none. (defmethod return-process dead-pool-heap ((obj dead-pool-heap) (arg0 process)) (if (!= obj (-> arg0 pool)) - (format - 0 - "ERROR: process ~A does not belong to dead-pool-heap ~A.~%" - arg0 - obj - ) - ) + (format 0 "ERROR: process ~A does not belong to dead-pool-heap ~A.~%" arg0 obj) + ) (change-parent arg0 obj) (set! (-> obj child) (the-as (pointer process-tree) #f)) (let ((s5-1 (-> arg0 ppointer))) - (if - (or - (= (-> obj first-gap) s5-1) - (< - (the-as int (gap-location obj (the-as dead-pool-heap-rec s5-1))) - (the-as int (gap-location obj (-> obj first-gap))) + (if (or (= (-> obj first-gap) s5-1) (< (the-as int (gap-location obj (the-as dead-pool-heap-rec s5-1))) + (the-as int (gap-location obj (-> obj first-gap))) + ) + ) + (set! (-> obj first-gap) (the-as dead-pool-heap-rec (-> s5-1 1))) + ) + (when (= (-> obj first-shrink) s5-1) + (set! (-> obj first-shrink) (the-as dead-pool-heap-rec (-> s5-1 1))) + (if (not (-> obj first-shrink process)) + (set! (-> obj first-shrink) #f) + ) ) - ) - (set! (-> obj first-gap) (the-as dead-pool-heap-rec (-> s5-1 1))) + (set! (-> s5-1 1 parent) (the-as (pointer process-tree) (-> s5-1 2))) + (if (-> s5-1 2) + (set! (-> s5-1 2 mask) (the-as process-mask (-> s5-1 1))) + (set! (-> obj alive-list prev) (the-as dead-pool-heap-rec (-> s5-1 1))) + ) + (set! (-> s5-1 2) (the-as process (-> obj dead-list next))) + (set! (-> obj dead-list next) (the-as dead-pool-heap-rec s5-1)) + (set! (-> s5-1 0) *null-process*) ) - (when (= (-> obj first-shrink) s5-1) - (set! (-> obj first-shrink) (the-as dead-pool-heap-rec (-> s5-1 1))) - (if (not (-> obj first-shrink process)) - (set! (-> obj first-shrink) #f) - ) - ) - (set! (-> s5-1 1 parent) (the-as (pointer process-tree) (-> s5-1 2))) - (if (-> s5-1 2) - (set! (-> s5-1 2 mask) (the-as process-mask (-> s5-1 1))) - (set! (-> obj alive-list prev) (the-as dead-pool-heap-rec (-> s5-1 1))) - ) - (set! (-> s5-1 2) (the-as process (-> obj dead-list next))) - (set! (-> obj dead-list next) (the-as dead-pool-heap-rec s5-1)) - (set! (-> s5-1 0) *null-process*) - ) 0 (none) ) @@ -893,30 +726,24 @@ ;; definition for method 17 of type dead-pool-heap (defmethod shrink-heap dead-pool-heap ((obj dead-pool-heap) (arg0 process)) (when arg0 - (let ((s5-0 (-> arg0 ppointer))) - (when - (not - (or - (logtest? (-> arg0 mask) (process-mask heap-shrunk)) - (and (not (-> arg0 next-state)) (not (-> arg0 state))) - ) + (let ((s5-0 (-> arg0 ppointer))) + (when (not (or + (logtest? (-> arg0 mask) (process-mask heap-shrunk)) + (and (not (-> arg0 next-state)) (not (-> arg0 state))) + ) + ) + (set! (-> arg0 allocated-length) (&- (-> arg0 heap-cur) (the-as uint (-> arg0 stack)))) + (set! (-> arg0 heap-top) (&-> arg0 stack (-> arg0 allocated-length))) + (if (< (the-as int arg0) (the-as int (gap-location obj (-> obj first-gap)))) + (set! (-> obj first-gap) (find-gap obj (the-as dead-pool-heap-rec s5-0))) + ) + (logior! (-> arg0 mask) (process-mask heap-shrunk)) + ) + (if (= (-> obj first-shrink) s5-0) + (set! (-> obj first-shrink) (the-as dead-pool-heap-rec (-> s5-0 2))) + ) ) - (set! - (-> arg0 allocated-length) - (&- (-> arg0 heap-cur) (the-as uint (-> arg0 stack))) - ) - (set! (-> arg0 heap-top) (&-> arg0 stack (-> arg0 allocated-length))) - (if - (< (the-as int arg0) (the-as int (gap-location obj (-> obj first-gap)))) - (set! (-> obj first-gap) (find-gap obj (the-as dead-pool-heap-rec s5-0))) - ) - (logior! (-> arg0 mask) (process-mask heap-shrunk)) - ) - (if (= (-> obj first-shrink) s5-0) - (set! (-> obj first-shrink) (the-as dead-pool-heap-rec (-> s5-0 2))) - ) ) - ) obj ) @@ -927,53 +754,53 @@ (v1-2 (memory-total obj)) (f0-2 (/ (the float s4-0) (the float v1-2))) ) - (cond - ((< f0-2 0.1) - (set! arg0 1000) - (if (and *debug-segment* (-> *kernel-context* low-memory-message)) - (format *stdcon* "~3LLow Actor Memory~%~0L") + (cond + ((< f0-2 0.1) + (set! arg0 1000) + (if (and *debug-segment* (-> *kernel-context* low-memory-message)) + (format *stdcon* "~3LLow Actor Memory~%~0L") + ) + ) + ((< f0-2 0.2) + (set! arg0 (* arg0 4)) + ) + ((< f0-2 0.3) + (set! arg0 (* arg0 2)) + ) ) - ) - ((< f0-2 0.2) - (set! arg0 (* arg0 4)) - ) - ((< f0-2 0.3) - (set! arg0 (* arg0 2)) - ) ) - ) (set! (-> obj compact-count-targ) (the-as uint arg0)) (set! (-> obj compact-count) (the-as uint 0)) (while (nonzero? arg0) - (+! arg0 -1) - (let ((v1-13 (-> obj first-shrink))) - (when (not v1-13) - (set! v1-13 (-> obj alive-list next)) - (set! (-> obj first-shrink) v1-13) - ) - (if v1-13 - (shrink-heap obj (-> v1-13 process)) - ) - ) - (let ((s4-1 (-> obj first-gap))) - (when (-> s4-1 next) - (let ((s3-0 (-> s4-1 next process)) - (s2-0 (gap-size obj s4-1)) - ) - (when (nonzero? s2-0) - (when (< s2-0 0) - (break!) - 0 + (+! arg0 -1) + (let ((v1-13 (-> obj first-shrink))) + (when (not v1-13) + (set! v1-13 (-> obj alive-list next)) + (set! (-> obj first-shrink) v1-13) + ) + (if v1-13 + (shrink-heap obj (-> v1-13 process)) + ) + ) + (let ((s4-1 (-> obj first-gap))) + (when (-> s4-1 next) + (let ((s3-0 (-> s4-1 next process)) + (s2-0 (gap-size obj s4-1)) + ) + (when (nonzero? s2-0) + (when (< s2-0 0) + (break!) + 0 + ) + (shrink-heap obj s3-0) + (relocate s3-0 (- s2-0)) + (set! (-> obj first-gap) (find-gap obj s4-1)) + (+! (-> obj compact-count) 1) + ) + ) ) - (shrink-heap obj s3-0) - (relocate s3-0 (- s2-0)) - (set! (-> obj first-gap) (find-gap obj s4-1)) - (+! (-> obj compact-count) 1) - ) ) - ) ) - ) 0 (none) ) @@ -982,51 +809,43 @@ ;; INFO: Return type mismatch int vs none. (defmethod churn dead-pool-heap ((obj dead-pool-heap) (arg0 int)) (while (nonzero? arg0) - (+! arg0 -1) - (let ((s4-0 (-> obj alive-list next))) - (when s4-0 - (if - (or - (= (-> obj first-gap) s4-0) - (< - (the-as int (gap-location obj s4-0)) - (the-as int (gap-location obj (-> obj first-gap))) + (+! arg0 -1) + (let ((s4-0 (-> obj alive-list next))) + (when s4-0 + (if (or + (= (-> obj first-gap) s4-0) + (< (the-as int (gap-location obj s4-0)) (the-as int (gap-location obj (-> obj first-gap)))) + ) + (set! (-> obj first-gap) (-> s4-0 prev)) + ) + (when (= (-> obj first-shrink) s4-0) + (set! (-> obj first-shrink) (-> s4-0 prev)) + (if (not (-> obj first-shrink process)) + (set! (-> obj first-shrink) #f) + ) + ) + (set! (-> s4-0 prev next) (-> s4-0 next)) + (if (-> s4-0 next) + (set! (-> s4-0 next prev) (-> s4-0 prev)) + (set! (-> obj alive-list prev) (-> s4-0 prev)) + ) + (let ((a1-3 (-> obj alive-list prev))) + (let ((v1-19 (-> a1-3 next))) + (set! (-> a1-3 next) s4-0) + (set! (-> s4-0 next) v1-19) + (if v1-19 + (set! (-> v1-19 prev) s4-0) + ) + ) + (set! (-> s4-0 prev) a1-3) + (set! (-> obj alive-list prev) s4-0) + (set! (-> s4-0 process) + (relocate (-> s4-0 process) (&- (gap-location obj a1-3) (the-as uint (&-> (-> s4-0 process) type)))) + ) + ) ) - ) - (set! (-> obj first-gap) (-> s4-0 prev)) ) - (when (= (-> obj first-shrink) s4-0) - (set! (-> obj first-shrink) (-> s4-0 prev)) - (if (not (-> obj first-shrink process)) - (set! (-> obj first-shrink) #f) - ) - ) - (set! (-> s4-0 prev next) (-> s4-0 next)) - (if (-> s4-0 next) - (set! (-> s4-0 next prev) (-> s4-0 prev)) - (set! (-> obj alive-list prev) (-> s4-0 prev)) - ) - (let ((a1-3 (-> obj alive-list prev))) - (let ((v1-19 (-> a1-3 next))) - (set! (-> a1-3 next) s4-0) - (set! (-> s4-0 next) v1-19) - (if v1-19 - (set! (-> v1-19 prev) s4-0) - ) - ) - (set! (-> s4-0 prev) a1-3) - (set! (-> obj alive-list prev) s4-0) - (set! - (-> s4-0 process) - (relocate - (-> s4-0 process) - (&- (gap-location obj a1-3) (the-as uint (&-> (-> s4-0 process) type))) - ) - ) - ) - ) ) - ) 0 (none) ) @@ -1041,56 +860,39 @@ ;; INFO: Return type mismatch process-tree vs process. (defun process-by-name ((arg0 object) (arg1 process-tree)) (set! *global-search-name* (the-as basic arg0)) - (the-as process (search-process-tree arg1 (lambda ((arg0 process)) - (name= - (-> arg0 name) - *global-search-name* - ) - ) - ) - ) + (the-as + process + (search-process-tree arg1 (lambda ((arg0 process)) (name= (-> arg0 name) *global-search-name*))) + ) ) ;; definition for function process-not-name ;; INFO: Return type mismatch process-tree vs process. (defun process-not-name ((arg0 object) (arg1 process-tree)) (set! *global-search-name* (the-as basic arg0)) - (the-as process (search-process-tree arg1 (lambda ((arg0 process)) - (not - (name= - (-> arg0 name) - *global-search-name* - ) - ) - ) - ) - ) + (the-as + process + (search-process-tree arg1 (lambda ((arg0 process)) (not (name= (-> arg0 name) *global-search-name*)))) + ) ) ;; definition for function process-count (defun process-count ((arg0 process-tree)) (set! *global-search-count* 0) - (iterate-process-tree arg0 (lambda ((arg0 process)) - (set! - *global-search-count* - (+ *global-search-count* 1) - ) - #t - ) - *null-kernel-context* - ) + (iterate-process-tree + arg0 + (lambda ((arg0 process)) (set! *global-search-count* (+ *global-search-count* 1)) #t) + *null-kernel-context* + ) *global-search-count* ) ;; definition for function kill-by-name (defun kill-by-name ((arg0 object) (arg1 process-tree)) (local-vars (a0-1 process)) - (while (begin - (set! a0-1 (process-by-name arg0 arg1)) - a0-1 - ) - (deactivate a0-1) - ) + (while (begin (set! a0-1 (process-by-name arg0 arg1)) a0-1) + (deactivate a0-1) + ) #f ) @@ -1099,30 +901,20 @@ (local-vars (a0-1 process-tree)) (set! *global-search-name* (the-as basic arg0)) (while (begin - (set! a0-1 (search-process-tree arg1 (lambda ((arg0 process)) - (= - (-> arg0 type) - *global-search-name* - ) - ) - ) + (set! a0-1 (search-process-tree arg1 (lambda ((arg0 process)) (= (-> arg0 type) *global-search-name*)))) + a0-1 ) - a0-1 - ) - (deactivate a0-1) - ) + (deactivate a0-1) + ) #f ) ;; definition for function kill-not-name (defun kill-not-name ((arg0 object) (arg1 process-tree)) (local-vars (a0-1 process)) - (while (begin - (set! a0-1 (process-not-name arg0 arg1)) - a0-1 - ) - (deactivate a0-1) - ) + (while (begin (set! a0-1 (process-not-name arg0 arg1)) a0-1) + (deactivate a0-1) + ) #f ) @@ -1131,18 +923,11 @@ (local-vars (a0-1 process-tree)) (set! *global-search-name* (the-as basic arg0)) (while (begin - (set! a0-1 (search-process-tree arg1 (lambda ((arg0 process)) - (!= - (-> arg0 type) - *global-search-name* - ) - ) - ) + (set! a0-1 (search-process-tree arg1 (lambda ((arg0 process)) (!= (-> arg0 type) *global-search-name*)))) + a0-1 ) - a0-1 - ) - (deactivate a0-1) - ) + (deactivate a0-1) + ) #f ) @@ -1152,251 +937,196 @@ ) ;; definition for function iterate-process-tree -(defun - iterate-process-tree - ((arg0 process-tree) (arg1 (function object object)) (arg2 kernel-context)) - (let - ((s4-0 - (or (logtest? (-> arg0 mask) (process-mask process-tree)) (arg1 arg0)) - ) - ) - (cond - ((= s4-0 'dead) - ) - (else - (let ((v1-4 (-> arg0 child))) - (while v1-4 - (let ((s3-1 (-> v1-4 0 brother))) - (iterate-process-tree (-> v1-4 0) arg1 arg2) - (set! v1-4 s3-1) - ) +(defun iterate-process-tree ((arg0 process-tree) (arg1 (function object object)) (arg2 kernel-context)) + (let ((s4-0 (or (logtest? (-> arg0 mask) (process-mask process-tree)) (arg1 arg0)))) + (cond + ((= s4-0 'dead) ) + (else + (let ((v1-4 (-> arg0 child))) + (while v1-4 + (let ((s3-1 (-> v1-4 0 brother))) + (iterate-process-tree (-> v1-4 0) arg1 arg2) + (set! v1-4 s3-1) + ) + ) + ) + ) ) - ) + s4-0 ) - s4-0 - ) ) ;; definition for function execute-process-tree -(defun - execute-process-tree - ((arg0 process-tree) (arg1 (function object object)) (arg2 kernel-context)) - (let - ((s3-0 - (or - (logtest? (-> arg0 mask) (process-mask process-tree)) - (not - (and - (zero? (logand (-> arg2 prevent-from-run) (-> arg0 mask))) - (run-logic? arg0) +(defun execute-process-tree ((arg0 process-tree) (arg1 (function object object)) (arg2 kernel-context)) + (let ((s3-0 (or + (logtest? (-> arg0 mask) (process-mask process-tree)) + (not (and (zero? (logand (-> arg2 prevent-from-run) (-> arg0 mask))) (run-logic? arg0))) + (arg1 arg0) + ) + ) ) + (cond + ((= s3-0 'dead) ) - (arg1 arg0) - ) - ) - ) - (cond - ((= s3-0 'dead) - ) - (else - (let ((v1-8 (-> arg0 child))) - (while v1-8 - (let ((s4-1 (-> v1-8 0 brother))) - (execute-process-tree (-> v1-8 0) arg1 arg2) - (set! v1-8 s4-1) + (else + (let ((v1-8 (-> arg0 child))) + (while v1-8 + (let ((s4-1 (-> v1-8 0 brother))) + (execute-process-tree (-> v1-8 0) arg1 arg2) + (set! v1-8 s4-1) + ) + ) + ) ) - ) ) - ) + s3-0 ) - s3-0 - ) ) ;; definition for function search-process-tree -(defun - search-process-tree - ((arg0 process-tree) (arg1 (function process-tree object))) +(defun search-process-tree ((arg0 process-tree) (arg1 (function process-tree object))) (when (zero? (logand (-> arg0 mask) (process-mask process-tree))) - (if (arg1 arg0) - (return arg0) + (if (arg1 arg0) + (return arg0) + ) ) - ) (let ((v1-5 (-> arg0 child))) - (while v1-5 - (let ((s5-1 (-> v1-5 0 brother))) - (let ((v1-6 (search-process-tree (-> v1-5 0) arg1))) - (if v1-6 - (return v1-6) - ) + (while v1-5 + (let ((s5-1 (-> v1-5 0 brother))) + (let ((v1-6 (search-process-tree (-> v1-5 0) arg1))) + (if v1-6 + (return v1-6) + ) + ) + (set! v1-5 s5-1) + ) ) - (set! v1-5 s5-1) - ) ) - ) (the-as process-tree #f) ) ;; definition for function kernel-dispatcher (defun kernel-dispatcher () (when *listener-function* - (set! *enable-method-set* (+ *enable-method-set* 1)) - (let - ((t1-0 - (reset-and-call (-> *listener-process* main-thread) *listener-function*) + (set! *enable-method-set* (+ *enable-method-set* 1)) + (let ((t1-0 (reset-and-call (-> *listener-process* main-thread) *listener-function*))) + (format #t "~D #x~X ~F ~A~%" t1-0 t1-0 t1-0 t1-0) ) - ) - (format #t "~D #x~X ~F ~A~%" t1-0 t1-0 t1-0 t1-0) + (set! *listener-function* #f) + (set! *enable-method-set* (+ *enable-method-set* -1)) + 0 + ) + (execute-process-tree + *active-pool* + (lambda ((arg0 process)) + (let ((s5-0 *kernel-context*)) + (case (-> arg0 status) + (('waiting-to-run 'suspended) + (set! (-> s5-0 current-process) arg0) + (cond + ((logtest? (-> arg0 mask) (process-mask pause)) + (set! *stdcon* *stdcon1*) + (set! *debug-draw-pauseable* #t) + ) + (else + (set! *stdcon* *stdcon0*) + (set! *debug-draw-pauseable* #f) + ) + ) + (when (-> arg0 trans-hook) + (let ((s4-0 (new 'process 'cpu-thread arg0 'trans 256 (-> arg0 main-thread stack-top)))) + (reset-and-call s4-0 (-> arg0 trans-hook)) + (delete s4-0) + ) + (when (= (-> arg0 status) 'dead) + (set! (-> s5-0 current-process) #f) + (return 'dead) + ) + ) + (if (logtest? (-> arg0 mask) (process-mask sleep-code)) + (set! (-> arg0 status) 'suspended) + ((-> arg0 main-thread resume-hook) (-> arg0 main-thread)) + ) + (cond + ((= (-> arg0 status) 'dead) + (set! (-> s5-0 current-process) #f) + 'dead + ) + (else + (when (-> arg0 post-hook) + (let ((s4-1 (new 'process 'cpu-thread arg0 'post 256 (&-> *dram-stack* 14336)))) + (reset-and-call s4-1 (-> arg0 post-hook)) + (delete s4-1) + ) + (when (= (-> arg0 status) 'dead) + (set! (-> s5-0 current-process) #f) + (return 'dead) + ) + (set! (-> arg0 status) 'suspended) + ) + (set! (-> s5-0 current-process) #f) + #f + ) + ) + ) + (('dead) + 'dead + ) + ) + ) + ) + *kernel-context* ) - (set! *listener-function* #f) - (set! *enable-method-set* (+ *enable-method-set* -1)) - 0 - ) - (execute-process-tree *active-pool* (lambda ((arg0 process)) - (let ((s5-0 *kernel-context*)) - (case (-> arg0 status) - (('waiting-to-run 'suspended) - (set! (-> s5-0 current-process) arg0) - (cond - ((logtest? - (-> arg0 mask) - (process-mask pause) - ) - (set! *stdcon* *stdcon1*) - (set! *debug-draw-pauseable* #t) - ) - (else - (set! *stdcon* *stdcon0*) - (set! *debug-draw-pauseable* #f) - ) - ) - (when (-> arg0 trans-hook) - (let - ((s4-0 - (new - 'process - 'cpu-thread - arg0 - 'trans - 256 - (-> arg0 main-thread stack-top) - ) - ) - ) - (reset-and-call - s4-0 - (-> arg0 trans-hook) - ) - (delete s4-0) - ) - (when (= (-> arg0 status) 'dead) - (set! (-> s5-0 current-process) #f) - (return 'dead) - ) - ) - (if - (logtest? - (-> arg0 mask) - (process-mask sleep-code) - ) - (set! (-> arg0 status) 'suspended) - ((-> arg0 main-thread resume-hook) - (-> arg0 main-thread) - ) - ) - (cond - ((= (-> arg0 status) 'dead) - (set! (-> s5-0 current-process) #f) - 'dead - ) - (else - (when (-> arg0 post-hook) - (let - ((s4-1 - (new - 'process - 'cpu-thread - arg0 - 'post - 256 - (&-> *dram-stack* 14336) - ) - ) - ) - (reset-and-call - s4-1 - (-> arg0 post-hook) - ) - (delete s4-1) - ) - (when (= (-> arg0 status) 'dead) - (set! - (-> s5-0 current-process) - #f - ) - (return 'dead) - ) - (set! (-> arg0 status) 'suspended) - ) - (set! (-> s5-0 current-process) #f) - #f - ) - ) - ) - (('dead) - 'dead - ) - ) - ) - ) - *kernel-context* - ) ) ;; definition for function inspect-process-tree -(defun - inspect-process-tree - ((arg0 process-tree) (arg1 int) (arg2 int) (arg3 symbol)) +(defun inspect-process-tree ((arg0 process-tree) (arg1 int) (arg2 int) (arg3 symbol)) (print-tree-bitmask arg2 arg1) (cond - (arg3 - (format #t "__________________~%") - (format #t "~S~A~%" (if (zero? arg1) - "" - "+---" - ) - arg0 - ) - (let ((s2-0 *print-column*)) - (set! *print-column* (the-as binteger (* (* arg1 4) 8))) - (inspect arg0) - (set! *print-column* s2-0) - ) + (arg3 + (format #t "__________________~%") + (format + #t + "~S~A~%" + (if (zero? arg1) + "" + "+---" + ) + arg0 + ) + (let ((s2-0 *print-column*)) + (set! *print-column* (the-as binteger (* (* arg1 4) 8))) + (inspect arg0) + (set! *print-column* s2-0) + ) + ) + (else + (format + #t + "~S~A~%" + (if (zero? arg1) + "" + "+---" + ) + arg0 + ) + ) ) - (else - (format #t "~S~A~%" (if (zero? arg1) - "" - "+---" - ) - arg0 - ) - ) - ) (let ((s2-1 (-> arg0 child))) - (while s2-1 - (inspect-process-tree (-> s2-1 0) (+ arg1 1) (if (not (-> s2-1 0 brother)) - arg2 - (logior - arg2 - (ash 1 (+ arg1 1)) - ) - ) - arg3 - ) - (set! s2-1 (-> s2-1 0 brother)) + (while s2-1 + (inspect-process-tree + (-> s2-1 0) + (+ arg1 1) + (if (not (-> s2-1 0 brother)) + arg2 + (logior arg2 (ash 1 (+ arg1 1))) + ) + arg3 + ) + (set! s2-1 (-> s2-1 0 brother)) + ) ) - ) arg0 ) @@ -1411,65 +1141,62 @@ ;; definition for method 0 of type protect-frame ;; INFO: Return type mismatch int vs protect-frame. -(defmethod - new - protect-frame - ((allocation symbol) (type-to-make type) (arg0 (function none))) +(defmethod new protect-frame ((allocation symbol) (type-to-make type) (arg0 (function none))) (with-pp - (let ((v0-0 (the-as object (+ (the-as int allocation) 4)))) - (set! (-> (the-as protect-frame v0-0) type) type-to-make) - (set! (-> (the-as protect-frame v0-0) name) 'protect-frame) - (set! (-> (the-as protect-frame v0-0) exit) arg0) - (set! (-> (the-as protect-frame v0-0) next) (-> pp stack-frame-top)) - (set! (-> pp stack-frame-top) (the-as protect-frame v0-0)) - (the-as protect-frame v0-0) + (let ((v0-0 (the-as object (+ (the-as int allocation) 4)))) + (set! (-> (the-as protect-frame v0-0) type) type-to-make) + (set! (-> (the-as protect-frame v0-0) name) 'protect-frame) + (set! (-> (the-as protect-frame v0-0) exit) arg0) + (set! (-> (the-as protect-frame v0-0) next) (-> pp stack-frame-top)) + (set! (-> pp stack-frame-top) (the-as protect-frame v0-0)) + (the-as protect-frame v0-0) + ) ) - ) ) ;; definition for function previous-brother ;; INFO: Return type mismatch (pointer process-tree) vs object. (defun previous-brother ((proc process-tree)) (let ((parent (-> proc parent))) - (when parent - (let ((child (-> parent 0 child))) - (if (= child proc) - (return (the-as object #f)) + (when parent + (let ((child (-> parent 0 child))) + (if (= child proc) + (return (the-as object #f)) + ) + (while child + (if (= (-> child 0 brother) proc) + (return (the-as object child)) + ) + (set! child (-> child 0 brother)) + ) + ) + (the-as (pointer process-tree) #f) ) - (while child - (if (= (-> child 0 brother) proc) - (return (the-as object child)) - ) - (set! child (-> child 0 brother)) - ) - ) - (the-as (pointer process-tree) #f) ) - ) ) ;; definition for function change-parent (defun change-parent ((arg0 process-tree) (arg1 process-tree)) (let ((a2-0 (-> arg0 parent))) - (when a2-0 - (let ((v1-2 (-> a2-0 0 child))) - (cond - ((= (ppointer->process v1-2) arg0) - (set! (-> a2-0 0 child) (-> arg0 brother)) - ) - (else - (while (!= (ppointer->process (-> v1-2 0 brother)) arg0) - (nop!) - (nop!) - (nop!) - (set! v1-2 (-> v1-2 0 brother)) + (when a2-0 + (let ((v1-2 (-> a2-0 0 child))) + (cond + ((= (ppointer->process v1-2) arg0) + (set! (-> a2-0 0 child) (-> arg0 brother)) + ) + (else + (while (!= (ppointer->process (-> v1-2 0 brother)) arg0) + (nop!) + (nop!) + (nop!) + (set! v1-2 (-> v1-2 0 brother)) + ) + (set! (-> v1-2 0 brother) (-> arg0 brother)) + ) + ) ) - (set! (-> v1-2 0 brother) (-> arg0 brother)) - ) ) - ) ) - ) (set! (-> arg0 parent) (-> arg1 ppointer)) (set! (-> arg0 brother) (-> arg1 child)) (set! (-> arg1 child) (-> arg0 ppointer)) @@ -1479,114 +1206,105 @@ ;; definition for function change-brother (defun change-brother ((arg0 process-tree) (arg1 process-tree)) (when (and arg0 (!= (-> arg0 brother) arg1) (!= arg0 arg1)) - (let ((a2-1 (-> arg0 parent))) - (when a2-1 - (let ((t0-0 (-> a2-1 0 child)) - (a3-1 (the-as (pointer process-tree) #f)) - (v1-4 (the-as (pointer process-tree) #f)) - ) - (if (= (ppointer->process t0-0) arg0) - (set! a3-1 a2-1) - ) - (if (= (ppointer->process t0-0) arg1) - (set! v1-4 a2-1) - ) - (while (and (-> t0-0 0 brother) (or (not a3-1) (not v1-4))) - (if (= (-> (ppointer->process t0-0) brother) arg1) - (set! v1-4 t0-0) + (let ((a2-1 (-> arg0 parent))) + (when a2-1 + (let ((t0-0 (-> a2-1 0 child)) + (a3-1 (the-as (pointer process-tree) #f)) + (v1-4 (the-as (pointer process-tree) #f)) + ) + (if (= (ppointer->process t0-0) arg0) + (set! a3-1 a2-1) + ) + (if (= (ppointer->process t0-0) arg1) + (set! v1-4 a2-1) + ) + (while (and (-> t0-0 0 brother) (or (not a3-1) (not v1-4))) + (if (= (-> (ppointer->process t0-0) brother) arg1) + (set! v1-4 t0-0) + ) + (if (= (-> (ppointer->process t0-0) brother) arg0) + (set! a3-1 t0-0) + ) + (set! t0-0 (-> t0-0 0 brother)) + ) + (cond + ((or (not a3-1) (not v1-4)) + (return 0) + ) + ((= a3-1 a2-1) + (set! (-> a3-1 4) (the-as process-tree (-> arg0 brother))) + ) + (else + (set! (-> a3-1 3) (the-as process-tree (-> arg0 brother))) + ) + ) + (cond + ((= v1-4 a2-1) + (set! (-> arg0 brother) (the-as (pointer process-tree) (-> v1-4 4))) + (set! (-> v1-4 4) (the-as process-tree (-> arg0 ppointer))) + ) + (else + (set! (-> arg0 brother) (the-as (pointer process-tree) (-> v1-4 3))) + (set! (-> v1-4 3) (the-as process-tree (-> arg0 ppointer))) + ) + ) + ) ) - (if (= (-> (ppointer->process t0-0) brother) arg0) - (set! a3-1 t0-0) - ) - (set! t0-0 (-> t0-0 0 brother)) - ) - (cond - ((or (not a3-1) (not v1-4)) - (return 0) - ) - ((= a3-1 a2-1) - (set! (-> a3-1 4) (the-as process-tree (-> arg0 brother))) - ) - (else - (set! (-> a3-1 3) (the-as process-tree (-> arg0 brother))) - ) - ) - (cond - ((= v1-4 a2-1) - (set! (-> arg0 brother) (the-as (pointer process-tree) (-> v1-4 4))) - (set! (-> v1-4 4) (the-as process-tree (-> arg0 ppointer))) - ) - (else - (set! (-> arg0 brother) (the-as (pointer process-tree) (-> v1-4 3))) - (set! (-> v1-4 3) (the-as process-tree (-> arg0 ppointer))) - ) - ) ) - ) ) - ) arg0 ) ;; definition for function change-to-last-brother (defun change-to-last-brother ((arg0 process-tree)) (when (and (-> arg0 brother) (-> arg0 parent)) - (let* ((a1-0 (-> arg0 parent)) - (v1-4 (-> a1-0 0 child)) + (let* ((a1-0 (-> arg0 parent)) + (v1-4 (-> a1-0 0 child)) + ) + (cond + ((= (-> v1-4 0) arg0) + (set! (-> a1-0 0 child) (-> arg0 brother)) + ) + (else + (while (!= (-> v1-4 0 brother 0) arg0) + (nop!) + (nop!) + (nop!) + (nop!) + (set! v1-4 (-> v1-4 0 brother)) + ) + (set! (-> v1-4 0 brother) (-> arg0 brother)) ) - (cond - ((= (-> v1-4 0) arg0) - (set! (-> a1-0 0 child) (-> arg0 brother)) + ) + (while (-> v1-4 0 brother) + (nop!) + (nop!) + (nop!) + (nop!) + (set! v1-4 (-> v1-4 0 brother)) + ) + (set! (-> v1-4 0 brother) (-> arg0 ppointer)) ) - (else - (while (!= (-> v1-4 0 brother 0) arg0) - (nop!) - (nop!) - (nop!) - (nop!) - (set! v1-4 (-> v1-4 0 brother)) - ) - (set! (-> v1-4 0 brother) (-> arg0 brother)) - ) - ) - (while (-> v1-4 0 brother) - (nop!) - (nop!) - (nop!) - (nop!) - (set! v1-4 (-> v1-4 0 brother)) - ) - (set! (-> v1-4 0 brother) (-> arg0 ppointer)) + (set! (-> arg0 brother) (the-as (pointer process-tree) #f)) ) - (set! (-> arg0 brother) (the-as (pointer process-tree) #f)) - ) arg0 ) ;; definition for method 9 of type process -(defmethod - activate - process - ((obj process) (arg0 process-tree) (arg1 basic) (arg2 pointer)) - (set! - (-> obj mask) - (logclear - (-> arg0 mask) - (process-mask sleep sleep-code process-tree heap-shrunk) - ) - ) +(defmethod activate process ((obj process) (arg0 process-tree) (arg1 basic) (arg2 pointer)) + (set! (-> obj mask) (logclear (-> arg0 mask) (process-mask sleep sleep-code process-tree heap-shrunk))) (set! (-> obj status) 'ready) (let ((v1-4 (-> *kernel-context* next-pid))) - (set! (-> obj pid) v1-4) - (set! (-> *kernel-context* next-pid) (+ v1-4 1)) - ) + (set! (-> obj pid) v1-4) + (set! (-> *kernel-context* next-pid) (+ v1-4 1)) + ) (set! (-> obj top-thread) #f) (set! (-> obj main-thread) #f) (set! (-> obj name) arg1) (let ((v1-9 (&-> obj stack (-> obj type heap-base)))) - (set! (-> obj heap-cur) v1-9) - (set! (-> obj heap-base) v1-9) - ) + (set! (-> obj heap-cur) v1-9) + (set! (-> obj heap-base) v1-9) + ) (set! (-> obj stack-frame-top) #f) (mem-set32! (-> obj stack) (the-as int (shr (-> obj type heap-base) 2)) 0) (set! (-> obj trans-hook) #f) @@ -1595,9 +1313,9 @@ (set! (-> obj state) #f) (set! (-> obj next-state) #f) (if (logtest? (-> arg0 mask) (process-mask process-tree)) - (set! (-> obj entity) #f) - (set! (-> obj entity) (-> (the-as process arg0) entity)) - ) + (set! (-> obj entity) #f) + (set! (-> obj entity) (-> (the-as process arg0) entity)) + ) (set! (-> obj connection-list next1) #f) (set! (-> obj connection-list prev1) #f) (set! (-> obj main-thread) (new 'process 'cpu-thread obj 'code 256 arg2)) @@ -1611,20 +1329,18 @@ ;; ERROR: function was not converted to expressions. Cannot decompile. ;; definition for function set-to-run -(defun - set-to-run - ((arg0 cpu-thread) - (arg1 function) - (arg2 object) - (arg3 object) - (arg4 object) - (arg5 object) - (arg6 object) - (arg7 object) - ) +(defun set-to-run ((arg0 cpu-thread) + (arg1 function) + (arg2 object) + (arg3 object) + (arg4 object) + (arg5 object) + (arg6 object) + (arg7 object) + ) (let ((v1-0 (-> arg0 process))) - (set! (-> v1-0 status) 'waiting-to-run) - ) + (set! (-> v1-0 status) 'waiting-to-run) + ) (set! (-> arg0 rreg 0) (the-as uint arg2)) (set! (-> arg0 rreg 1) (the-as uint arg3)) (set! (-> arg0 rreg 2) (the-as uint arg4)) @@ -1634,9 +1350,9 @@ (set! (-> arg0 rreg 6) (the-as uint arg1)) (set! (-> arg0 pc) (the-as pointer set-to-run-bootstrap)) (let ((v0-0 (-> arg0 stack-top))) - (set! (-> arg0 sp) v0-0) - v0-0 - ) + (set! (-> arg0 sp) v0-0) + v0-0 + ) ) ;; definition for method 10 of type process-tree @@ -1652,10 +1368,7 @@ ) ;; definition for symbol entity-deactivate-handler, type (function process entity none) -(define - entity-deactivate-handler - (the-as (function process entity none) nothing) - ) +(define entity-deactivate-handler (the-as (function process entity none) nothing)) ;; definition for method 10 of type process ;; INFO: Return type mismatch int vs none. @@ -1664,70 +1377,67 @@ (defmethod deactivate process ((obj process)) (local-vars (s7-0 none) (ra-0 int)) (with-pp - (when (!= (-> obj status) 'dead) - (set! (-> obj next-state) dead-state) - (if (-> obj entity) - (entity-deactivate-handler obj (-> obj entity)) - ) - (let ((s5-0 pp)) - (let ((s4-0 (-> obj stack-frame-top))) - (while (the-as protect-frame s4-0) - (case (-> s4-0 type) - ((protect-frame state) - ((-> (the-as protect-frame s4-0) exit)) + (when (!= (-> obj status) 'dead) + (set! (-> obj next-state) dead-state) + (if (-> obj entity) + (entity-deactivate-handler obj (-> obj entity)) + ) + (let ((s5-0 pp)) + (let ((s4-0 (-> obj stack-frame-top))) + (while (the-as protect-frame s4-0) + (case (-> s4-0 type) + ((protect-frame state) + ((-> (the-as protect-frame s4-0) exit)) + ) + ) + (set! s4-0 (-> (the-as protect-frame s4-0) next)) + ) + ) + (let ((s6-2 s5-0)) ) ) - (set! s4-0 (-> (the-as protect-frame s4-0) next)) - ) - ) - (let ((s6-2 s5-0)) - ) - ) - (process-disconnect obj) - (let ((v1-11 (-> obj child))) - (while v1-11 - (let ((s5-1 (-> v1-11 0 brother))) - (deactivate (-> v1-11 0)) - (set! v1-11 s5-1) - ) - ) - ) - (return-process (-> obj pool) obj) - (set! (-> obj state) #f) - (set! (-> obj next-state) #f) - (set! (-> obj entity) #f) - (set! (-> obj pid) 0) - (cond - ((= (-> *kernel-context* current-process) obj) + (process-disconnect obj) + (let ((v1-11 (-> obj child))) + (while v1-11 + (let ((s5-1 (-> v1-11 0 brother))) + (deactivate (-> v1-11 0)) + (set! v1-11 s5-1) + ) + ) + ) + (return-process (-> obj pool) obj) + (set! (-> obj state) #f) + (set! (-> obj next-state) #f) + (set! (-> obj entity) #f) + (set! (-> obj pid) 0) + (cond + ((= (-> *kernel-context* current-process) obj) + (set! (-> obj status) 'dead) + (.lw ra-0 return-from-thread s7-0) + (.jr ra-0) + (nop!) + 0 + ) + ((= (-> obj status) 'initialize) + (set! (-> obj status) 'dead) + (throw 'initialize #f) + ) + ) (set! (-> obj status) 'dead) - (.lw ra-0 return-from-thread s7-0) - (.jr ra-0) - (nop!) 0 ) - ((= (-> obj status) 'initialize) - (set! (-> obj status) 'dead) - (throw 'initialize #f) - ) - ) - (set! (-> obj status) 'dead) - 0 + (none) ) - (none) - ) ) ;; failed to figure out what this is: (let ((v0-40 (new 'global 'process 'listener 2048))) (set! *listener-process* v0-40) (let ((gp-0 v0-40)) - (set! (-> gp-0 status) 'ready) - (set! (-> gp-0 pid) 1) - (set! - (-> gp-0 main-thread) - (new 'process 'cpu-thread gp-0 'main 256 (&-> *dram-stack* 14336)) + (set! (-> gp-0 status) 'ready) + (set! (-> gp-0 pid) 1) + (set! (-> gp-0 main-thread) (new 'process 'cpu-thread gp-0 'main 256 (&-> *dram-stack* 14336))) ) - ) ) ;; definition for symbol *null-process*, type process @@ -1752,18 +1462,12 @@ (define *camera-dead-pool* (new 'global 'dead-pool 7 4096 '*camera-dead-pool*)) ;; definition for symbol *camera-master-dead-pool*, type dead-pool -(define - *camera-master-dead-pool* - (new 'global 'dead-pool 1 8192 '*camera-master-dead-pool*) - ) +(define *camera-master-dead-pool* (new 'global 'dead-pool 1 8192 '*camera-master-dead-pool*)) ;; this part is debug only (when *debug-segment* ;; definition for symbol *debug-dead-pool*, type dead-pool-heap -(define - *debug-dead-pool* - (new 'debug 'dead-pool-heap '*debug-dead-pool* 768 #x100000) - ) +(define *debug-dead-pool* (new 'debug 'dead-pool-heap '*debug-dead-pool* 768 #x100000)) ) ;; definition for symbol *nk-dead-pool*, type dead-pool-heap @@ -1776,28 +1480,31 @@ (define *pickup-dead-pool* (the-as dead-pool *nk-dead-pool*)) ;; definition for symbol *dead-pool-list*, type pair -(define - *dead-pool-list* - '( - *4k-dead-pool* *8k-dead-pool* *16k-dead-pool* *nk-dead-pool* *target-dead-pool* *camera-dead-pool* *camera-master-dead-pool* - ) - ) +(define *dead-pool-list* '(*4k-dead-pool* + *8k-dead-pool* + *16k-dead-pool* + *nk-dead-pool* + *target-dead-pool* + *camera-dead-pool* + *camera-master-dead-pool* + ) + ) ;; definition for symbol *active-pool*, type process-tree (define *active-pool* (new 'global 'process-tree 'active-pool)) ;; failed to figure out what this is: (let ((gp-1 change-parent) - (v0-52 (new 'global 'process-tree 'display-pool)) - ) + (v0-52 (new 'global 'process-tree 'display-pool)) + ) (set! *display-pool* v0-52) (gp-1 v0-52 *active-pool*) ) ;; failed to figure out what this is: (let ((gp-2 change-parent) - (a0-57 (new 'global 'process-tree 'camera-pool)) - ) + (a0-57 (new 'global 'process-tree 'camera-pool)) + ) (set! (-> a0-57 mask) (process-mask pause menu progress process-tree camera)) (set! *camera-pool* a0-57) (gp-2 a0-57 *active-pool*) @@ -1805,8 +1512,8 @@ ;; failed to figure out what this is: (let ((gp-3 change-parent) - (a0-59 (new 'global 'process-tree 'target-pool)) - ) + (a0-59 (new 'global 'process-tree 'target-pool)) + ) (set! (-> a0-59 mask) (process-mask pause menu progress process-tree)) (set! *target-pool* a0-59) (gp-3 a0-59 *active-pool*) @@ -1814,8 +1521,8 @@ ;; failed to figure out what this is: (let ((gp-4 change-parent) - (a0-61 (new 'global 'process-tree 'entity-pool)) - ) + (a0-61 (new 'global 'process-tree 'entity-pool)) + ) (set! (-> a0-61 mask) (process-mask pause menu progress process-tree entity)) (set! *entity-pool* a0-61) (gp-4 a0-61 *active-pool*) @@ -1823,8 +1530,8 @@ ;; failed to figure out what this is: (let ((gp-5 change-parent) - (a0-63 (new 'global 'process-tree 'default-pool)) - ) + (a0-63 (new 'global 'process-tree 'default-pool)) + ) (set! (-> a0-63 mask) (process-mask pause menu progress process-tree)) (set! *default-pool* a0-63) (gp-5 a0-63 *active-pool*) diff --git a/test/decompiler/reference/kernel/gstate_REF.gc b/test/decompiler/reference/kernel/gstate_REF.gc index 594196b681..a6fc03287b 100644 --- a/test/decompiler/reference/kernel/gstate_REF.gc +++ b/test/decompiler/reference/kernel/gstate_REF.gc @@ -2,33 +2,26 @@ (in-package goal) ;; definition for method 0 of type state -(defmethod - new - state - ((allocation symbol) - (type-to-make type) - (name symbol) - (code function) - (trans (function none)) - (enter function) - (exit (function none)) - (event (function process int symbol event-message-block object)) - ) - (let - ((obj - (object-new allocation type-to-make (the-as int (-> type-to-make size))) - ) +(defmethod new state ((allocation symbol) + (type-to-make type) + (name symbol) + (code function) + (trans (function none)) + (enter function) + (exit (function none)) + (event (function process int symbol event-message-block object)) + ) + (let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size))))) + (set! (-> obj name) name) + (set! (-> obj next) #f) + (set! (-> obj exit) exit) + (set! (-> obj code) code) + (set! (-> obj trans) trans) + (set! (-> obj post) #f) + (set! (-> obj enter) enter) + (set! (-> obj event) event) + obj ) - (set! (-> obj name) name) - (set! (-> obj next) #f) - (set! (-> obj exit) exit) - (set! (-> obj code) code) - (set! (-> obj trans) trans) - (set! (-> obj post) #f) - (set! (-> obj enter) enter) - (set! (-> obj event) event) - obj - ) ) ;; definition for function inherit-state @@ -53,126 +46,97 @@ ;; WARN: Unsupported inline assembly instruction kind - [lw ra, return-from-thread-dead(s7)] ;; WARN: Unsupported inline assembly instruction kind - [jr t9] ;; WARN: Unsupported inline assembly instruction kind - [sw v0, 0(sp)] -(defun - enter-state - ((arg0 object) - (arg1 object) - (arg2 object) - (arg3 object) - (arg4 object) - (arg5 object) - ) +(defun enter-state ((arg0 object) (arg1 object) (arg2 object) (arg3 object) (arg4 object) (arg5 object)) (local-vars (s7-0 none) (sp-0 none) (sp-1 int) (ra-0 int) (sv-0 none)) (with-pp - (logclear! (-> pp mask) (process-mask sleep sleep-code)) - (logior! (-> pp mask) (process-mask going)) - (cond - ((= (-> pp status) 'initialize) - (set! (-> pp trans-hook) #f) - (set-to-run (-> pp main-thread) enter-state arg0 arg1 arg2 arg3 arg4 arg5) - (set! (-> pp status) 'initialize-go) - (throw 'initialize #t) - #t - ) - ((!= (-> *kernel-context* current-process) pp) - (let ((s0-0 (-> pp status))) - (set! (-> pp trans-hook) #f) - (set-to-run (-> pp main-thread) enter-state arg0 arg1 arg2 arg3 arg4 arg5) - (set! (-> pp status) s0-0) - ) - #t - ) - ((= (-> pp main-thread) (-> pp top-thread)) - (set! (-> pp state) (-> pp next-state)) - (let ((s0-1 (-> pp stack-frame-top))) - (while s0-1 - (case (-> s0-1 type) - ((protect-frame state) - ((-> (the-as protect-frame s0-1) exit)) + (logclear! (-> pp mask) (process-mask sleep sleep-code)) + (logior! (-> pp mask) (process-mask going)) + (cond + ((= (-> pp status) 'initialize) + (set! (-> pp trans-hook) #f) + (set-to-run (-> pp main-thread) enter-state arg0 arg1 arg2 arg3 arg4 arg5) + (set! (-> pp status) 'initialize-go) + (throw 'initialize #t) + #t + ) + ((!= (-> *kernel-context* current-process) pp) + (let ((s0-0 (-> pp status))) + (set! (-> pp trans-hook) #f) + (set-to-run (-> pp main-thread) enter-state arg0 arg1 arg2 arg3 arg4 arg5) + (set! (-> pp status) s0-0) + ) + #t + ) + ((= (-> pp main-thread) (-> pp top-thread)) + (set! (-> pp state) (-> pp next-state)) + (let ((s0-1 (-> pp stack-frame-top))) + (while s0-1 + (case (-> s0-1 type) + ((protect-frame state) + ((-> (the-as protect-frame s0-1) exit)) + ) + ) + (set! s0-1 (-> s0-1 next)) + ) + ) + (logclear! (-> pp mask) (process-mask going)) + (let ((s0-2 (-> pp state))) + (set! (-> pp event-hook) (-> s0-2 event)) + (if (-> s0-2 exit) + (set! (-> pp stack-frame-top) s0-2) + (set! (-> pp stack-frame-top) #f) + ) + (set! (-> pp post-hook) (-> s0-2 post)) + (set! (-> pp trans-hook) (-> s0-2 trans)) + (let ((t9-4 (-> s0-2 enter))) + (if t9-4 + ((the-as (function object object object object object object none) t9-4) arg0 arg1 arg2 arg3 arg4 arg5) + ) + ) + (let ((t9-5 (-> s0-2 trans))) + (if t9-5 + (t9-5) + ) + ) + (let ((v1-28 (-> pp main-thread))) + (.lwu sp-1 28 v1-28) + ) + (let ((t9-6 (-> s0-2 code))) + (.lw ra-0 return-from-thread-dead s7-0) + (.jr t9-6) + ) + ) + arg4 + ) + (else + (set! (-> pp trans-hook) #f) + (set-to-run (-> pp main-thread) enter-state arg0 arg1 arg2 arg3 arg4 arg5) + (when (!= (-> pp top-thread name) 'post) + (let ((v0-2 (the-as object return-from-thread))) + (.sw (the-as (function none) v0-2) 0 sp-0) + v0-2 + ) ) ) - (set! s0-1 (-> s0-1 next)) - ) ) - (logclear! (-> pp mask) (process-mask going)) - (let ((s0-2 (-> pp state))) - (set! (-> pp event-hook) (-> s0-2 event)) - (if (-> s0-2 exit) - (set! (-> pp stack-frame-top) s0-2) - (set! (-> pp stack-frame-top) #f) - ) - (set! (-> pp post-hook) (-> s0-2 post)) - (set! (-> pp trans-hook) (-> s0-2 trans)) - (let ((t9-4 (-> s0-2 enter))) - (if t9-4 - ((the-as (function object object object object object object none) t9-4) - arg0 - arg1 - arg2 - arg3 - arg4 - arg5 - ) - ) - ) - (let ((t9-5 (-> s0-2 trans))) - (if t9-5 - (t9-5) - ) - ) - (let ((v1-28 (-> pp main-thread))) - (.lwu sp-1 28 v1-28) - ) - (let ((t9-6 (-> s0-2 code))) - (.lw ra-0 return-from-thread-dead s7-0) - (.jr t9-6) - ) - ) - arg4 - ) - (else - (set! (-> pp trans-hook) #f) - (set-to-run (-> pp main-thread) enter-state arg0 arg1 arg2 arg3 arg4 arg5) - (when (!= (-> pp top-thread name) 'post) - (let ((v0-2 (the-as object return-from-thread))) - (.sw (the-as (function none) v0-2) 0 sp-0) - v0-2 - ) - ) - ) ) - ) ) ;; definition for function send-event-function (defun send-event-function ((arg0 process-tree) (arg1 event-message-block)) (with-pp - (when - (and - arg0 - (!= (-> arg0 type) process-tree) - (-> (the-as process arg0) event-hook) - ) - (let ((gp-0 pp)) - (let ((s6-1 (the-as process arg0))) - ) - (let - ((v0-0 - ((-> (the-as process arg0) event-hook) - (-> arg1 from) - (-> arg1 num-params) - (-> arg1 message) - arg1 - ) + (when (and arg0 (!= (-> arg0 type) process-tree) (-> (the-as process arg0) event-hook)) + (let ((gp-0 pp)) + (let ((s6-1 (the-as process arg0))) + ) + (let ((v0-0 ((-> (the-as process arg0) event-hook) (-> arg1 from) (-> arg1 num-params) (-> arg1 message) arg1))) + (let ((s6-2 gp-0)) + ) + v0-0 + ) ) - ) - (let ((s6-2 gp-0)) - ) - v0-0 ) - ) ) - ) ) ;; definition for function looping-code @@ -180,7 +144,7 @@ ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 2] (defun looping-code () (while #t - (suspend) - ) + (suspend) + ) (the-as symbol #f) ) diff --git a/test/decompiler/reference/kernel/gstring_REF.gc b/test/decompiler/reference/kernel/gstring_REF.gc index afeb758c19..1b4075178c 100644 --- a/test/decompiler/reference/kernel/gstring_REF.gc +++ b/test/decompiler/reference/kernel/gstring_REF.gc @@ -4,14 +4,14 @@ ;; definition for method 4 of type string (defmethod length string ((obj string)) (let ((v1-0 (-> obj data))) - (while (nonzero? (-> v1-0 0)) - (nop!) - (nop!) - (nop!) - (set! v1-0 (&-> v1-0 1)) + (while (nonzero? (-> v1-0 0)) + (nop!) + (nop!) + (nop!) + (set! v1-0 (&-> v1-0 1)) + ) + (&- v1-0 (the-as uint (-> obj data))) ) - (&- v1-0 (the-as uint (-> obj data))) - ) ) ;; definition for method 5 of type string @@ -22,49 +22,36 @@ ;; definition for function copy-string<-string (defun copy-string<-string ((arg0 string) (arg1 string)) (let ((v1-0 (-> arg0 data))) - (let ((a1-1 (-> arg1 data))) - (while (nonzero? (-> a1-1 0)) - (set! (-> v1-0 0) (-> a1-1 0)) - (set! v1-0 (&-> v1-0 1)) - (set! a1-1 (&-> a1-1 1)) - ) + (let ((a1-1 (-> arg1 data))) + (while (nonzero? (-> a1-1 0)) + (set! (-> v1-0 0) (-> a1-1 0)) + (set! v1-0 (&-> v1-0 1)) + (set! a1-1 (&-> a1-1 1)) + ) + ) + (set! (-> v1-0 0) (the-as uint 0)) ) - (set! (-> v1-0 0) (the-as uint 0)) - ) arg0 ) ;; definition for method 0 of type string -(defmethod - new - string - ((allocation symbol) (type-to-make type) (arg0 int) (arg1 string)) +(defmethod new string ((allocation symbol) (type-to-make type) (arg0 int) (arg1 string)) (cond - (arg1 - (let* ((s2-1 (max (length arg1) arg0)) - (a0-4 - (object-new - allocation - type-to-make - (+ s2-1 1 (-> type-to-make size)) + (arg1 + (let* ((s2-1 (max (length arg1) arg0)) + (a0-4 (object-new allocation type-to-make (+ s2-1 1 (-> type-to-make size)))) ) - ) - ) - (set! (-> a0-4 allocated-length) s2-1) - (copy-string<-string a0-4 arg1) - ) - ) - (else - (let - ((v0-2 - (object-new allocation type-to-make (+ arg0 1 (-> type-to-make size))) - ) + (set! (-> a0-4 allocated-length) s2-1) + (copy-string<-string a0-4 arg1) + ) + ) + (else + (let ((v0-2 (object-new allocation type-to-make (+ arg0 1 (-> type-to-make size))))) + (set! (-> v0-2 allocated-length) arg0) + v0-2 + ) ) - (set! (-> v0-2 allocated-length) arg0) - v0-2 - ) ) - ) ) ;; definition for function string= @@ -72,87 +59,87 @@ (let ((a-ptr (-> str-a data)) (b-ptr (-> str-b data)) ) - (if (or (zero? str-a) (zero? str-b)) - (return #f) + (if (or (zero? str-a) (zero? str-b)) + (return #f) + ) + (while (and (nonzero? (-> a-ptr 0)) (nonzero? (-> b-ptr 0))) + (if (!= (-> a-ptr 0) (-> b-ptr 0)) + (return #f) + ) + (set! a-ptr (&-> a-ptr 1)) + (set! b-ptr (&-> b-ptr 1)) + ) + (and (zero? (-> a-ptr 0)) (zero? (-> b-ptr 0))) ) - (while (and (nonzero? (-> a-ptr 0)) (nonzero? (-> b-ptr 0))) - (if (!= (-> a-ptr 0) (-> b-ptr 0)) - (return #f) - ) - (set! a-ptr (&-> a-ptr 1)) - (set! b-ptr (&-> b-ptr 1)) - ) - (and (zero? (-> a-ptr 0)) (zero? (-> b-ptr 0))) - ) ) ;; definition for function string-charp= (defun string-charp= ((str string) (charp (pointer uint8))) (let ((str-ptr (-> str data))) - (while (and (nonzero? (-> str-ptr 0)) (nonzero? (-> charp 0))) - (if (!= (-> str-ptr 0) (-> charp 0)) - (return #f) - ) - (set! str-ptr (&-> str-ptr 1)) - (set! charp (&-> charp 1)) + (while (and (nonzero? (-> str-ptr 0)) (nonzero? (-> charp 0))) + (if (!= (-> str-ptr 0) (-> charp 0)) + (return #f) + ) + (set! str-ptr (&-> str-ptr 1)) + (set! charp (&-> charp 1)) + ) + (and (zero? (-> str-ptr 0)) (zero? (-> charp 0))) ) - (and (zero? (-> str-ptr 0)) (zero? (-> charp 0))) - ) ) ;; definition for function name= (defun name= ((arg0 basic) (arg1 basic)) (cond - ((= arg0 arg1) - #t + ((= arg0 arg1) + #t + ) + ((and (= (-> arg0 type) string) (= (-> arg1 type) string)) + (string= (the-as string arg0) (the-as string arg1)) + ) + ((and (= (-> arg0 type) string) (= (-> arg1 type) symbol)) + (string= (the-as string arg0) (symbol->string (the-as symbol arg1))) + ) + ((and (= (-> arg1 type) string) (= (-> arg0 type) symbol)) + (string= (the-as string arg1) (symbol->string (the-as symbol arg0))) + ) ) - ((and (= (-> arg0 type) string) (= (-> arg1 type) string)) - (string= (the-as string arg0) (the-as string arg1)) - ) - ((and (= (-> arg0 type) string) (= (-> arg1 type) symbol)) - (string= (the-as string arg0) (symbol->string (the-as symbol arg1))) - ) - ((and (= (-> arg1 type) string) (= (-> arg0 type) symbol)) - (string= (the-as string arg1) (symbol->string (the-as symbol arg0))) - ) - ) ) ;; definition for function copyn-string<-charp (defun copyn-string<-charp ((str string) (charp (pointer uint8)) (len int)) (let ((str-ptr (-> str data))) - (dotimes (i len) - (set! (-> str-ptr 0) (-> charp 0)) - (set! str-ptr (&-> str-ptr 1)) - (set! charp (&-> charp 1)) + (dotimes (i len) + (set! (-> str-ptr 0) (-> charp 0)) + (set! str-ptr (&-> str-ptr 1)) + (set! charp (&-> charp 1)) + ) + (set! (-> str-ptr 0) (the-as uint 0)) ) - (set! (-> str-ptr 0) (the-as uint 0)) - ) str ) ;; definition for function string<-charp (defun string<-charp ((str string) (charp (pointer uint8))) (let ((str-ptr (-> str data))) - (while (nonzero? (-> charp 0)) - (set! (-> str-ptr 0) (-> charp 0)) - (set! str-ptr (&-> str-ptr 1)) - (set! charp (&-> charp 1)) + (while (nonzero? (-> charp 0)) + (set! (-> str-ptr 0) (-> charp 0)) + (set! str-ptr (&-> str-ptr 1)) + (set! charp (&-> charp 1)) + ) + (set! (-> str-ptr 0) (the-as uint 0)) ) - (set! (-> str-ptr 0) (the-as uint 0)) - ) str ) ;; definition for function charp<-string (defun charp<-string ((charp (pointer uint8)) (str string)) (let ((str-ptr (-> str data))) - (while (nonzero? (-> str-ptr 0)) - (set! (-> charp 0) (-> str-ptr 0)) - (set! charp (&-> charp 1)) - (set! str-ptr (&-> str-ptr 1)) + (while (nonzero? (-> str-ptr 0)) + (set! (-> charp 0) (-> str-ptr 0)) + (set! charp (&-> charp 1)) + (set! str-ptr (&-> str-ptr 1)) + ) ) - ) (set! (-> charp 0) (the-as uint 0)) 0 ) @@ -160,10 +147,10 @@ ;; definition for function copy-charp<-charp (defun copy-charp<-charp ((dst (pointer uint8)) (src (pointer uint8))) (while (nonzero? (-> src 0)) - (set! (-> dst 0) (-> src 0)) - (set! dst (&-> dst 1)) - (set! src (&-> src 1)) - ) + (set! (-> dst 0) (-> src 0)) + (set! dst (&-> dst 1)) + (set! src (&-> src 1)) + ) (set! (-> dst 0) (the-as uint 0)) dst ) @@ -171,79 +158,76 @@ ;; definition for function cat-string<-string (defun cat-string<-string ((a string) (b string)) (let ((a-ptr (-> a data))) - (let ((b-ptr (-> b data))) - (while (nonzero? (-> a-ptr 0)) - (nop!) - (nop!) - (nop!) - (set! a-ptr (&-> a-ptr 1)) - ) - (while (nonzero? (-> b-ptr 0)) - (set! (-> a-ptr 0) (-> b-ptr 0)) - (set! a-ptr (&-> a-ptr 1)) - (set! b-ptr (&-> b-ptr 1)) - ) + (let ((b-ptr (-> b data))) + (while (nonzero? (-> a-ptr 0)) + (nop!) + (nop!) + (nop!) + (set! a-ptr (&-> a-ptr 1)) + ) + (while (nonzero? (-> b-ptr 0)) + (set! (-> a-ptr 0) (-> b-ptr 0)) + (set! a-ptr (&-> a-ptr 1)) + (set! b-ptr (&-> b-ptr 1)) + ) + ) + (set! (-> a-ptr 0) (the-as uint 0)) ) - (set! (-> a-ptr 0) (the-as uint 0)) - ) a ) ;; definition for function catn-string<-charp (defun catn-string<-charp ((a string) (b (pointer uint8)) (len int)) (let ((a-ptr (-> a data))) - (while (nonzero? (-> a-ptr 0)) - (nop!) - (nop!) - (nop!) - (set! a-ptr (&-> a-ptr 1)) + (while (nonzero? (-> a-ptr 0)) + (nop!) + (nop!) + (nop!) + (set! a-ptr (&-> a-ptr 1)) + ) + (dotimes (i len) + (set! (-> a-ptr 0) (-> b 0)) + (set! a-ptr (&-> a-ptr 1)) + (set! b (&-> b 1)) + ) + (set! (-> a-ptr 0) (the-as uint 0)) ) - (dotimes (i len) - (set! (-> a-ptr 0) (-> b 0)) - (set! a-ptr (&-> a-ptr 1)) - (set! b (&-> b 1)) - ) - (set! (-> a-ptr 0) (the-as uint 0)) - ) a ) ;; definition for function cat-string<-string_to_charp -(defun - cat-string<-string_to_charp - ((a string) (b string) (end-ptr (pointer uint8))) +(defun cat-string<-string_to_charp ((a string) (b string) (end-ptr (pointer uint8))) (let ((b-ptr (-> b data)) (a-ptr (-> a data)) ) - (while (nonzero? (-> a-ptr 0)) - (nop!) - (nop!) - (nop!) - (set! a-ptr (&-> a-ptr 1)) + (while (nonzero? (-> a-ptr 0)) + (nop!) + (nop!) + (nop!) + (set! a-ptr (&-> a-ptr 1)) + ) + (while (and (>= (the-as int end-ptr) (the-as int b-ptr)) (nonzero? (-> b-ptr 0))) + (set! (-> a-ptr 0) (-> b-ptr 0)) + (set! a-ptr (&-> a-ptr 1)) + (set! b-ptr (&-> b-ptr 1)) + ) + (set! (-> a-ptr 0) (the-as uint 0)) + a-ptr ) - (while - (and (>= (the-as int end-ptr) (the-as int b-ptr)) (nonzero? (-> b-ptr 0))) - (set! (-> a-ptr 0) (-> b-ptr 0)) - (set! a-ptr (&-> a-ptr 1)) - (set! b-ptr (&-> b-ptr 1)) - ) - (set! (-> a-ptr 0) (the-as uint 0)) - a-ptr - ) ) ;; definition for function append-character-to-string (defun append-character-to-string ((str string) (char uint8)) (let ((str-ptr (-> str data))) - (while (nonzero? (-> str-ptr 0)) - (nop!) - (nop!) - (nop!) - (set! str-ptr (&-> str-ptr 1)) + (while (nonzero? (-> str-ptr 0)) + (nop!) + (nop!) + (nop!) + (set! str-ptr (&-> str-ptr 1)) + ) + (set! (-> str-ptr 0) (the-as uint char)) + (set! (-> str-ptr 1) (the-as uint 0)) ) - (set! (-> str-ptr 0) (the-as uint char)) - (set! (-> str-ptr 1) (the-as uint 0)) - ) 0 0 ) @@ -251,16 +235,16 @@ ;; definition for function charp-basename (defun charp-basename ((charp (pointer uint8))) (let ((ptr charp)) - (while (nonzero? (-> ptr 0)) - (set! ptr (&-> ptr 1)) + (while (nonzero? (-> ptr 0)) + (set! ptr (&-> ptr 1)) + ) + (while (< (the-as int charp) (the-as int ptr)) + (set! ptr (&-> ptr -1)) + (if (or (= (-> ptr 0) 47) (= (-> ptr 0) 92)) + (return (&-> ptr 1)) + ) + ) ) - (while (< (the-as int charp) (the-as int ptr)) - (set! ptr (&-> ptr -1)) - (if (or (= (-> ptr 0) 47) (= (-> ptr 0) 92)) - (return (&-> ptr 1)) - ) - ) - ) charp ) @@ -273,68 +257,68 @@ ;; definition for function string a data i) (-> b data i)) - (return #t) + (dotimes (i len) + (cond + ((< (-> a data i) (-> b data i)) + (return #t) + ) + ((< (-> b data i) (-> a data i)) + (return #f) + ) + ) ) - ((< (-> b data i) (-> a data i)) - (return #f) - ) - ) ) - ) #f ) ;; definition for function string>? (defun string>? ((a string) (b string)) (let ((len (min (length a) (length b)))) - (dotimes (i len) - (cond - ((< (-> a data i) (-> b data i)) - (return #f) + (dotimes (i len) + (cond + ((< (-> a data i) (-> b data i)) + (return #f) + ) + ((< (-> b data i) (-> a data i)) + (return #t) + ) + ) ) - ((< (-> b data i) (-> a data i)) - (return #t) - ) - ) ) - ) #f ) ;; definition for function string<=? (defun string<=? ((a string) (b string)) (let ((len (min (length a) (length b)))) - (dotimes (i len) - (cond - ((< (-> a data i) (-> b data i)) - (return #t) + (dotimes (i len) + (cond + ((< (-> a data i) (-> b data i)) + (return #t) + ) + ((< (-> b data i) (-> a data i)) + (return #f) + ) + ) ) - ((< (-> b data i) (-> a data i)) - (return #f) - ) - ) ) - ) #t ) ;; definition for function string>=? (defun string>=? ((a string) (b string)) (let ((len (min (length a) (length b)))) - (dotimes (i len) - (cond - ((< (-> a data i) (-> b data i)) - (return #f) + (dotimes (i len) + (cond + ((< (-> a data i) (-> b data i)) + (return #f) + ) + ((< (-> b data i) (-> a data i)) + (return #t) + ) + ) ) - ((< (-> b data i) (-> a data i)) - (return #t) - ) - ) ) - ) #t ) @@ -344,92 +328,72 @@ ;; definition for function string-skip-to-char (defun string-skip-to-char ((arg0 (pointer uint8)) (arg1 uint)) (while (and (nonzero? (-> arg0 0)) (!= (-> arg0 0) arg1)) - (set! arg0 (&-> arg0 1)) - ) + (set! arg0 (&-> arg0 1)) + ) arg0 ) ;; definition for function string-cat-to-last-char -(defun - string-cat-to-last-char - ((base-str string) (append-str string) (char uint)) +(defun string-cat-to-last-char ((base-str string) (append-str string) (char uint)) (let ((end-of-append (&-> (the-as (pointer uint8) append-str) 3))) - (let ((location-of-char (string-skip-to-char (-> append-str data) char))) - (when (= (-> location-of-char 0) char) - (until (!= (-> location-of-char 0) char) - (set! end-of-append location-of-char) - (set! - location-of-char - (string-skip-to-char (&-> location-of-char 1) char) - ) + (let ((location-of-char (string-skip-to-char (-> append-str data) char))) + (when (= (-> location-of-char 0) char) + (until (!= (-> location-of-char 0) char) + (set! end-of-append location-of-char) + (set! location-of-char (string-skip-to-char (&-> location-of-char 1) char)) + ) + ) ) - ) + (cat-string<-string_to_charp base-str append-str end-of-append) ) - (cat-string<-string_to_charp base-str append-str end-of-append) - ) ) ;; definition for function string-skip-whitespace (defun string-skip-whitespace ((arg0 (pointer uint8))) - (while - (and - (nonzero? (-> arg0 0)) - (or - (= (-> arg0 0) 32) - (= (-> arg0 0) 9) - (= (-> arg0 0) 13) - (= (-> arg0 0) 10) - ) + (while (and (nonzero? (-> arg0 0)) (or (= (-> arg0 0) 32) (= (-> arg0 0) 9) (= (-> arg0 0) 13) (= (-> arg0 0) 10))) + (set! arg0 (&-> arg0 1)) ) - (set! arg0 (&-> arg0 1)) - ) arg0 ) ;; definition for function string-suck-up! (defun string-suck-up! ((str string) (location (pointer uint8))) (when (!= location (-> str data)) - (let ((str-ptr (-> str data))) - (while (nonzero? (-> location 0)) - (set! (-> str-ptr 0) (-> location 0)) - (set! str-ptr (&-> str-ptr 1)) - (set! location (&-> location 1)) - ) - (set! (-> str-ptr 0) (the-as uint 0)) + (let ((str-ptr (-> str data))) + (while (nonzero? (-> location 0)) + (set! (-> str-ptr 0) (-> location 0)) + (set! str-ptr (&-> str-ptr 1)) + (set! location (&-> location 1)) + ) + (set! (-> str-ptr 0) (the-as uint 0)) + ) + 0 ) - 0 - ) #f ) ;; definition for function string-strip-leading-whitespace! (defun string-strip-leading-whitespace! ((arg0 string)) (let ((a1-0 (string-skip-whitespace (-> arg0 data)))) - (string-suck-up! arg0 a1-0) - ) + (string-suck-up! arg0 a1-0) + ) #f ) ;; definition for function string-strip-trailing-whitespace! (defun string-strip-trailing-whitespace! ((str string)) (when (nonzero? (length str)) - (let ((ptr (&+ (-> str data) (+ (length str) -1)))) - (while - (and - (>= (the-as int ptr) (the-as int (-> str data))) - (or - (= (-> ptr 0) 32) - (= (-> ptr 0) 9) - (= (-> ptr 0) 13) - (= (-> ptr 0) 10) - ) + (let ((ptr (&+ (-> str data) (+ (length str) -1)))) + (while (and + (>= (the-as int ptr) (the-as int (-> str data))) + (or (= (-> ptr 0) 32) (= (-> ptr 0) 9) (= (-> ptr 0) 13) (= (-> ptr 0) 10)) + ) + (set! ptr (&-> ptr -1)) + ) + (set! (-> ptr 1) (the-as uint 0)) ) - (set! ptr (&-> ptr -1)) - ) - (set! (-> ptr 1) (the-as uint 0)) + 0 ) - 0 - ) #f ) @@ -443,49 +407,44 @@ ;; definition for function string-get-arg!! (defun string-get-arg!! ((a-str string) (arg string)) (let ((arg-word-start (string-skip-whitespace (-> arg data)))) - (cond - ((= (-> arg-word-start 0) 34) - (let ((arg-end (&-> arg-word-start 1))) - (let ((arg-start arg-end)) - (while (and (nonzero? (-> arg-end 0)) (!= (-> arg-end 0) 34)) - (set! arg-end (&-> arg-end 1)) - ) - (copyn-string<-charp - a-str - arg-start - (&- arg-end (the-as uint arg-start)) - ) + (cond + ((= (-> arg-word-start 0) 34) + (let ((arg-end (&-> arg-word-start 1))) + (let ((arg-start arg-end)) + (while (and (nonzero? (-> arg-end 0)) (!= (-> arg-end 0) 34)) + (set! arg-end (&-> arg-end 1)) + ) + (copyn-string<-charp a-str arg-start (&- arg-end (the-as uint arg-start))) + ) + (if (= (-> arg-end 0) 34) + (set! arg-end (&-> arg-end 1)) + ) + (let ((a1-3 (string-skip-whitespace arg-end))) + (string-suck-up! arg a1-3) + ) + ) + (return #t) ) - (if (= (-> arg-end 0) 34) - (set! arg-end (&-> arg-end 1)) - ) - (let ((a1-3 (string-skip-whitespace arg-end))) - (string-suck-up! arg a1-3) + ((nonzero? (-> arg-word-start 0)) + (let ((v1-11 arg-word-start)) + (while (and + (nonzero? (-> arg-word-start 0)) + (!= (-> arg-word-start 0) 32) + (!= (-> arg-word-start 0) 9) + (!= (-> arg-word-start 0) 13) + (!= (-> arg-word-start 0) 10) + ) + (set! arg-word-start (&-> arg-word-start 1)) + ) + (copyn-string<-charp a-str v1-11 (&- arg-word-start (the-as uint v1-11))) + ) + (let ((a1-9 (string-skip-whitespace arg-word-start))) + (string-suck-up! arg a1-9) + ) + (return #t) ) ) - (return #t) - ) - ((nonzero? (-> arg-word-start 0)) - (let ((v1-11 arg-word-start)) - (while - (and - (nonzero? (-> arg-word-start 0)) - (!= (-> arg-word-start 0) 32) - (!= (-> arg-word-start 0) 9) - (!= (-> arg-word-start 0) 13) - (!= (-> arg-word-start 0) 10) - ) - (set! arg-word-start (&-> arg-word-start 1)) - ) - (copyn-string<-charp a-str v1-11 (&- arg-word-start (the-as uint v1-11))) - ) - (let ((a1-9 (string-skip-whitespace arg-word-start))) - (string-suck-up! arg a1-9) - ) - (return #t) - ) ) - ) #f ) @@ -495,92 +454,68 @@ (result 0) (v1-0 #f) ) - (cond - ((= (-> str-ptr 0) 35) - (let ((next-char-1 (&-> str-ptr 1))) - (cond - ((or (= (-> next-char-1 0) 120) (= (-> next-char-1 0) 88)) - (let ((next-char-2 (&-> next-char-1 1))) - (when (= (-> next-char-2 1) 45) + (cond + ((= (-> str-ptr 0) 35) + (let ((next-char-1 (&-> str-ptr 1))) + (cond + ((or (= (-> next-char-1 0) 120) (= (-> next-char-1 0) 88)) + (let ((next-char-2 (&-> next-char-1 1))) + (when (= (-> next-char-2 1) 45) + (set! v1-0 #t) + (set! next-char-2 (&-> next-char-2 1)) + ) + (while (or + (and (>= (-> next-char-2 0) (the-as uint 48)) (>= (the-as uint 57) (-> next-char-2 0))) + (and (>= (-> next-char-2 0) (the-as uint 65)) (>= (the-as uint 70) (-> next-char-2 0))) + (and (>= (-> next-char-2 0) (the-as uint 97)) (>= (the-as uint 102) (-> next-char-2 0))) + ) + (cond + ((and (>= (-> next-char-2 0) (the-as uint 65)) (>= (the-as uint 70) (-> next-char-2 0))) + (set! result (the-as int (+ (-> next-char-2 0) -55 (* result 16)))) + ) + ((and (>= (-> next-char-2 0) (the-as uint 97)) (>= (the-as uint 102) (-> next-char-2 0))) + (set! result (the-as int (+ (-> next-char-2 0) -87 (* result 16)))) + ) + (else + (set! result (the-as int (+ (-> next-char-2 0) -48 (* result 16)))) + ) + ) + (set! next-char-2 (&-> next-char-2 1)) + ) + ) + ) + ((or (= (-> next-char-1 0) 98) (= (-> next-char-1 0) 66)) + (let ((a0-4 (&-> next-char-1 1))) + (while (and (>= (-> a0-4 0) (the-as uint 48)) (>= (the-as uint 49) (-> a0-4 0))) + (set! result (the-as int (+ (-> a0-4 0) -48 (* result 2)))) + (set! a0-4 (&-> a0-4 1)) + ) + ) + ) + ) + ) + ) + (else + (when (= (-> str-ptr 1) 45) (set! v1-0 #t) - (set! next-char-2 (&-> next-char-2 1)) + (set! str-ptr (&-> str-ptr 1)) ) - (while - (or - (and - (>= (-> next-char-2 0) (the-as uint 48)) - (>= (the-as uint 57) (-> next-char-2 0)) - ) - (and - (>= (-> next-char-2 0) (the-as uint 65)) - (>= (the-as uint 70) (-> next-char-2 0)) - ) - (and - (>= (-> next-char-2 0) (the-as uint 97)) - (>= (the-as uint 102) (-> next-char-2 0)) - ) - ) - (cond - ((and - (>= (-> next-char-2 0) (the-as uint 65)) - (>= (the-as uint 70) (-> next-char-2 0)) - ) - (set! result (the-as int (+ (-> next-char-2 0) -55 (* result 16)))) - ) - ((and - (>= (-> next-char-2 0) (the-as uint 97)) - (>= (the-as uint 102) (-> next-char-2 0)) - ) - (set! result (the-as int (+ (-> next-char-2 0) -87 (* result 16)))) - ) - (else - (set! result (the-as int (+ (-> next-char-2 0) -48 (* result 16)))) - ) - ) - (set! next-char-2 (&-> next-char-2 1)) + (while (and (>= (-> str-ptr 0) (the-as uint 48)) (>= (the-as uint 57) (-> str-ptr 0))) + (set! result (the-as int (+ (-> str-ptr 0) -48 (* 10 result)))) + (set! str-ptr (&-> str-ptr 1)) ) - ) ) - ((or (= (-> next-char-1 0) 98) (= (-> next-char-1 0) 66)) - (let ((a0-4 (&-> next-char-1 1))) - (while - (and - (>= (-> a0-4 0) (the-as uint 48)) - (>= (the-as uint 49) (-> a0-4 0)) - ) - (set! result (the-as int (+ (-> a0-4 0) -48 (* result 2)))) - (set! a0-4 (&-> a0-4 1)) - ) - ) + ) + (cond + (v1-0 + (- result) + ) + (else + (empty) + result ) - ) ) - ) - (else - (when (= (-> str-ptr 1) 45) - (set! v1-0 #t) - (set! str-ptr (&-> str-ptr 1)) - ) - (while - (and - (>= (-> str-ptr 0) (the-as uint 48)) - (>= (the-as uint 57) (-> str-ptr 0)) - ) - (set! result (the-as int (+ (-> str-ptr 0) -48 (* 10 result)))) - (set! str-ptr (&-> str-ptr 1)) - ) - ) ) - (cond - (v1-0 - (- result) - ) - (else - (empty) - result - ) - ) - ) ) ;; definition for function string->float @@ -592,56 +527,47 @@ ;; definition for function string-get-int32!! (defun string-get-int32!! ((arg0 (pointer int32)) (arg1 string)) (cond - ((string-get-arg!! *string-tmp-str* arg1) - (set! (-> arg0 0) (string->int *string-tmp-str*)) - #t + ((string-get-arg!! *string-tmp-str* arg1) + (set! (-> arg0 0) (string->int *string-tmp-str*)) + #t + ) + (else + #f + ) ) - (else - #f - ) - ) ) ;; definition for function string-get-float!! (defun string-get-float!! ((arg0 (pointer float)) (arg1 string)) (cond - ((string-get-arg!! *string-tmp-str* arg1) - (set! (-> arg0 0) (string->float *string-tmp-str*)) - #t + ((string-get-arg!! *string-tmp-str* arg1) + (set! (-> arg0 0) (string->float *string-tmp-str*)) + #t + ) + (else + #f + ) ) - (else - #f - ) - ) ) ;; definition for function string-get-flag!! -(defun - string-get-flag!! - ((result (pointer symbol)) - (in string) - (first-flag string) - (second-flag string) - ) +(defun string-get-flag!! ((result (pointer symbol)) (in string) (first-flag string) (second-flag string)) (cond - ((string-get-arg!! *string-tmp-str* in) - (cond - ((or - (string= *string-tmp-str* first-flag) - (string= *string-tmp-str* second-flag) + ((string-get-arg!! *string-tmp-str* in) + (cond + ((or (string= *string-tmp-str* first-flag) (string= *string-tmp-str* second-flag)) + (set! (-> result 0) (string= *string-tmp-str* first-flag)) + #t + ) + (else + #f + ) ) - (set! (-> result 0) (string= *string-tmp-str* first-flag)) - #t - ) - (else + ) + (else #f ) - ) ) - (else - #f - ) - ) ) ;; definition for symbol *debug-draw-pauseable*, type symbol diff --git a/test/decompiler/reference/levels/beach/air-h_REF.gc b/test/decompiler/reference/levels/beach/air-h_REF.gc index 5a8a2f2915..7e33217569 100644 --- a/test/decompiler/reference/levels/beach/air-h_REF.gc +++ b/test/decompiler/reference/levels/beach/air-h_REF.gc @@ -34,47 +34,35 @@ ;; definition for function point-in-air-box-area? (defun point-in-air-box-area? ((arg0 float) (arg1 float) (arg2 air-box)) (let ((v0-0 #f)) - (let ((f0-2 (+ (* arg0 (-> arg2 cos-angle)) (* arg1 (-> arg2 sin-angle)))) - (f1-5 (- (* arg1 (-> arg2 cos-angle)) (* arg0 (-> arg2 sin-angle)))) - ) - (if - (and - (>= f0-2 0.0) - (>= f1-5 0.0) - (< f0-2 (-> arg2 x-length)) - (< f1-5 (-> arg2 z-length)) + (let ((f0-2 (+ (* arg0 (-> arg2 cos-angle)) (* arg1 (-> arg2 sin-angle)))) + (f1-5 (- (* arg1 (-> arg2 cos-angle)) (* arg0 (-> arg2 sin-angle)))) + ) + (if (and (>= f0-2 0.0) (>= f1-5 0.0) (< f0-2 (-> arg2 x-length)) (< f1-5 (-> arg2 z-length))) + (set! v0-0 #t) + ) ) - (set! v0-0 #t) - ) + v0-0 ) - v0-0 - ) ) ;; definition for function point-in-air-box? (defun point-in-air-box? ((arg0 vector) (arg1 air-box)) (when (< (-> arg1 height-level) (-> arg0 y)) - (let ((f1-2 (- (-> arg0 x) (the-as float (-> arg1 x-pos)))) - (f2-1 (- (-> arg0 z) (-> arg1 z-pos))) - (v1-0 arg1) - (v0-0 #f) - ) - (let ((f0-5 (+ (* f1-2 (-> v1-0 cos-angle)) (* f2-1 (-> v1-0 sin-angle)))) - (f1-4 (- (* f2-1 (-> v1-0 cos-angle)) (* f1-2 (-> v1-0 sin-angle)))) + (let ((f1-2 (- (-> arg0 x) (the-as float (-> arg1 x-pos)))) + (f2-1 (- (-> arg0 z) (-> arg1 z-pos))) + (v1-0 arg1) + (v0-0 #f) ) - (if - (and - (>= f0-5 0.0) - (>= f1-4 0.0) - (< f0-5 (-> v1-0 x-length)) - (< f1-4 (-> v1-0 z-length)) - ) - (set! v0-0 #t) + (let ((f0-5 (+ (* f1-2 (-> v1-0 cos-angle)) (* f2-1 (-> v1-0 sin-angle)))) + (f1-4 (- (* f2-1 (-> v1-0 cos-angle)) (* f1-2 (-> v1-0 sin-angle)))) + ) + (if (and (>= f0-5 0.0) (>= f1-4 0.0) (< f0-5 (-> v1-0 x-length)) (< f1-4 (-> v1-0 z-length))) + (set! v0-0 #t) + ) + ) + v0-0 ) - ) - v0-0 ) - ) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/levels/beach/air_REF.gc b/test/decompiler/reference/levels/beach/air_REF.gc index 8037459286..cbb5bfdbf2 100644 --- a/test/decompiler/reference/levels/beach/air_REF.gc +++ b/test/decompiler/reference/levels/beach/air_REF.gc @@ -5,117 +5,77 @@ (defun point-in-air? ((arg0 vector) (arg1 (inline-array air-box)) (arg2 int)) (local-vars (t0-0 symbol)) (dotimes (v1-0 arg2) - (let ((t1-0 arg0) - (a3-1 (-> arg1 v1-0)) - ) - (set! t0-0 (when (< (-> a3-1 height-level) (-> t1-0 y)) - (let ((f0-2 (- (-> t1-0 x) (-> a3-1 x-pos))) - (f2-1 (- (-> t1-0 z) (-> a3-1 z-pos))) + (let ((t1-0 arg0) + (a3-1 (-> arg1 v1-0)) + ) + (set! t0-0 + (when (< (-> a3-1 height-level) (-> t1-0 y)) + (let ((f0-2 (- (-> t1-0 x) (-> a3-1 x-pos))) + (f2-1 (- (-> t1-0 z) (-> a3-1 z-pos))) + ) + (set! t0-0 #f) + (let ((f1-5 (+ (* f0-2 (-> a3-1 cos-angle)) (* f2-1 (-> a3-1 sin-angle)))) + (f0-4 (- (* f2-1 (-> a3-1 cos-angle)) (* f0-2 (-> a3-1 sin-angle)))) + ) + (if (and (>= f1-5 0.0) (>= f0-4 0.0) (< f1-5 (-> a3-1 x-length)) (< f0-4 (-> a3-1 z-length))) + (set! t0-0 #t) ) - (set! t0-0 #f) - (let - ((f1-5 - (+ - (* f0-2 (-> a3-1 cos-angle)) - (* f2-1 (-> a3-1 sin-angle)) - ) - ) - (f0-4 - (- - (* f2-1 (-> a3-1 cos-angle)) - (* f0-2 (-> a3-1 sin-angle)) - ) - ) - ) - (if - (and - (>= f1-5 0.0) - (>= f0-4 0.0) - (< f1-5 (-> a3-1 x-length)) - (< f0-4 (-> a3-1 z-length)) - ) - (set! t0-0 #t) - ) ) - ) - t0-0 ) - ) + t0-0 + ) + ) + ) + (if t0-0 + (return #t) + ) ) - (if t0-0 - (return #t) - ) - ) #f ) ;; definition for function points-in-air? -(defun - points-in-air? - ((arg0 vector) (arg1 vector) (arg2 (inline-array air-box)) (arg3 int)) +(defun points-in-air? ((arg0 vector) (arg1 vector) (arg2 (inline-array air-box)) (arg3 int)) (local-vars (t1-4 symbol)) (dotimes (v1-0 arg3) - (let* ((t0-1 (-> arg2 v1-0)) - (f0-0 (-> t0-1 height-level)) - ) - (when (and (< f0-0 (-> arg0 y)) (< f0-0 (-> arg1 y))) - (let ((f2-0 (- (-> arg0 x) (-> t0-1 x-pos))) - (f4-0 (- (-> arg0 z) (-> t0-1 z-pos))) - (f0-4 (- (-> arg1 x) (-> t0-1 x-pos))) - (f1-6 (- (-> arg1 z) (-> t0-1 z-pos))) - (t2-0 t0-1) - (t1-3 #f) + (let* ((t0-1 (-> arg2 v1-0)) + (f0-0 (-> t0-1 height-level)) ) - (let ((f3-3 (+ (* f2-0 (-> t2-0 cos-angle)) (* f4-0 (-> t2-0 sin-angle)))) - (f2-2 (- (* f4-0 (-> t2-0 cos-angle)) (* f2-0 (-> t2-0 sin-angle)))) + (when (and (< f0-0 (-> arg0 y)) (< f0-0 (-> arg1 y))) + (let ((f2-0 (- (-> arg0 x) (-> t0-1 x-pos))) + (f4-0 (- (-> arg0 z) (-> t0-1 z-pos))) + (f0-4 (- (-> arg1 x) (-> t0-1 x-pos))) + (f1-6 (- (-> arg1 z) (-> t0-1 z-pos))) + (t2-0 t0-1) + (t1-3 #f) + ) + (let ((f3-3 (+ (* f2-0 (-> t2-0 cos-angle)) (* f4-0 (-> t2-0 sin-angle)))) + (f2-2 (- (* f4-0 (-> t2-0 cos-angle)) (* f2-0 (-> t2-0 sin-angle)))) + ) + (if (and (>= f3-3 0.0) (>= f2-2 0.0) (< f3-3 (-> t2-0 x-length)) (< f2-2 (-> t2-0 z-length))) + (set! t1-3 #t) + ) ) - (if - (and - (>= f3-3 0.0) - (>= f2-2 0.0) - (< f3-3 (-> t2-0 x-length)) - (< f2-2 (-> t2-0 z-length)) - ) - (set! t1-3 #t) - ) - ) - (set! t1-4 (and t1-3 (begin + (set! t1-4 + (and t1-3 (begin (set! t1-4 #f) - (let - ((f2-5 - (+ - (* f0-4 (-> t0-1 cos-angle)) - (* f1-6 (-> t0-1 sin-angle)) - ) - ) - (f0-6 - (- - (* f1-6 (-> t0-1 cos-angle)) - (* f0-4 (-> t0-1 sin-angle)) - ) - ) + (let ((f2-5 (+ (* f0-4 (-> t0-1 cos-angle)) (* f1-6 (-> t0-1 sin-angle)))) + (f0-6 (- (* f1-6 (-> t0-1 cos-angle)) (* f0-4 (-> t0-1 sin-angle)))) + ) + (if (and (>= f2-5 0.0) (>= f0-6 0.0) (< f2-5 (-> t0-1 x-length)) (< f0-6 (-> t0-1 z-length))) + (set! t1-4 #t) + ) ) - (if - (and - (>= f2-5 0.0) - (>= f0-6 0.0) - (< f2-5 (-> t0-1 x-length)) - (< f0-6 (-> t0-1 z-length)) - ) - (set! t1-4 #t) - ) - ) t1-4 ) - ) - ) + ) + ) + ) + (if t1-4 + (return #t) + ) + ) ) - (if t1-4 - (return #t) - ) - ) ) - ) #f ) @@ -127,88 +87,50 @@ (s5-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (-> arg1 cos-angle) - (-> arg1 sin-angle) - (let ((s2-0 (the-as uint #x800000ff))) - (let ((v1-0 arg1)) - (set! a0-1 (when (< (-> v1-0 height-level) (-> a1-1 y)) - (let ((f0-4 (- (-> a1-1 x) (-> v1-0 x-pos))) - (f2-1 (- (-> a1-1 z) (-> v1-0 z-pos))) - ) + (-> arg1 cos-angle) + (-> arg1 sin-angle) + (let ((s2-0 (the-as uint #x800000ff))) + (let ((v1-0 arg1)) + (set! a0-1 + (when (< (-> v1-0 height-level) (-> a1-1 y)) + (let ((f0-4 (- (-> a1-1 x) (-> v1-0 x-pos))) + (f2-1 (- (-> a1-1 z) (-> v1-0 z-pos))) + ) (set! a0-1 #f) - (let - ((f1-5 - (+ - (* f0-4 (-> v1-0 cos-angle)) - (* f2-1 (-> v1-0 sin-angle)) - ) - ) - (f0-6 - (- - (* f2-1 (-> v1-0 cos-angle)) - (* f0-4 (-> v1-0 sin-angle)) - ) - ) + (let ((f1-5 (+ (* f0-4 (-> v1-0 cos-angle)) (* f2-1 (-> v1-0 sin-angle)))) + (f0-6 (- (* f2-1 (-> v1-0 cos-angle)) (* f0-4 (-> v1-0 sin-angle)))) + ) + (if (and (>= f1-5 0.0) (>= f0-6 0.0) (< f1-5 (-> v1-0 x-length)) (< f0-6 (-> v1-0 z-length))) + (set! a0-1 #t) + ) ) - (if - (and - (>= f1-5 0.0) - (>= f0-6 0.0) - (< f1-5 (-> v1-0 x-length)) - (< f0-6 (-> v1-0 z-length)) - ) - (set! a0-1 #t) - ) - ) ) - a0-1 - ) + a0-1 + ) + ) + ) + (if a0-1 + (set! s2-0 (the-as uint #x8000ff00)) + ) + (set! (-> s5-0 y) (-> arg1 height-level)) + (set! (-> s4-0 y) (-> arg1 height-level)) + (set! (-> s5-0 w) 1.0) + (set! (-> s4-0 w) 1.0) + (set! (-> s5-0 x) (-> arg1 x-pos)) + (set! (-> s5-0 z) (-> arg1 z-pos)) + (set! (-> s4-0 x) (+ (-> arg1 x-pos) (* (-> arg1 cos-angle) (-> arg1 x-length)))) + (set! (-> s4-0 z) (+ (-> arg1 z-pos) (* (-> arg1 sin-angle) (-> arg1 x-length)))) + (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) + (set! (-> s5-0 quad) (-> s4-0 quad)) + (set! (-> s4-0 x) (+ (-> s5-0 x) (* (- (-> arg1 sin-angle)) (-> arg1 z-length)))) + (set! (-> s4-0 z) (+ (-> s5-0 z) (* (-> arg1 cos-angle) (-> arg1 z-length)))) + (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) + (set! (-> s5-0 x) (+ (-> arg1 x-pos) (* (- (-> arg1 sin-angle)) (-> arg1 z-length)))) + (set! (-> s5-0 z) (+ (-> arg1 z-pos) (* (-> arg1 cos-angle) (-> arg1 z-length)))) + (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) + (set! (-> s4-0 x) (-> arg1 x-pos)) + (set! (-> s4-0 z) (-> arg1 z-pos)) + (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) ) - ) - (if a0-1 - (set! s2-0 (the-as uint #x8000ff00)) - ) - (set! (-> s5-0 y) (-> arg1 height-level)) - (set! (-> s4-0 y) (-> arg1 height-level)) - (set! (-> s5-0 w) 1.0) - (set! (-> s4-0 w) 1.0) - (set! (-> s5-0 x) (-> arg1 x-pos)) - (set! (-> s5-0 z) (-> arg1 z-pos)) - (set! - (-> s4-0 x) - (+ (-> arg1 x-pos) (* (-> arg1 cos-angle) (-> arg1 x-length))) - ) - (set! - (-> s4-0 z) - (+ (-> arg1 z-pos) (* (-> arg1 sin-angle) (-> arg1 x-length))) - ) - (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) - (set! (-> s5-0 quad) (-> s4-0 quad)) - (set! - (-> s4-0 x) - (+ (-> s5-0 x) (* (- (-> arg1 sin-angle)) (-> arg1 z-length))) - ) - (set! - (-> s4-0 z) - (+ (-> s5-0 z) (* (-> arg1 cos-angle) (-> arg1 z-length))) - ) - (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) - (set! - (-> s5-0 x) - (+ (-> arg1 x-pos) (* (- (-> arg1 sin-angle)) (-> arg1 z-length))) - ) - (set! - (-> s5-0 z) - (+ (-> arg1 z-pos) (* (-> arg1 cos-angle) (-> arg1 z-length))) - ) - (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) - (set! (-> s4-0 x) (-> arg1 x-pos)) - (set! (-> s4-0 z) (-> arg1 z-pos)) - (add-debug-line #t arg0 s5-0 s4-0 (the-as rgba s2-0) #f (the-as rgba -1)) ) - ) ) - - - - diff --git a/test/decompiler/reference/levels/beach/beach-part_REF.gc b/test/decompiler/reference/levels/beach/beach-part_REF.gc index 9e00a169de..2977377378 100644 --- a/test/decompiler/reference/levels/beach/beach-part_REF.gc +++ b/test/decompiler/reference/levels/beach/beach-part_REF.gc @@ -13,1154 +13,1033 @@ ;; definition for method 3 of type beach-part (defmethod inspect beach-part ((obj beach-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 666) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.01) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 15.0) (meters 5.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -110.0) (degrees 20.0) 1.0) - (sp-flt spt-scale-y (meters 5.0)) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.0009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.0033333332) (degrees 0.0066666664) 1.0) - (sp-flt spt-scalevel-y (meters 0.0009765625)) - (sp-flt spt-fade-a 0.02) - (sp-int spt-timer 2400) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 1200) - (sp-launcher-by-id spt-next-launcher 667) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 8.0)) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 666) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.01) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 15.0) (meters 5.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -110.0) (degrees 20.0) 1.0) + (sp-flt spt-scale-y (meters 5.0)) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.0009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.0033333332) (degrees 0.0066666664) 1.0) + (sp-flt spt-scalevel-y (meters 0.0009765625)) + (sp-flt spt-fade-a 0.02) + (sp-int spt-timer 2400) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 1200) + (sp-launcher-by-id spt-next-launcher 667) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 8.0)) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 667) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.02) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 667) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.02) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 668) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-rnd-flt spt-num 0.03 0.2 1.0) - (sp-flt spt-y (meters -4.0)) - (sp-flt spt-scale-x (meters 0.18)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-userdata 0.0) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 669) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 8.0) (meters 5.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 668) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-rnd-flt spt-num 0.03 0.2 1.0) + (sp-flt spt-y (meters -4.0)) + (sp-flt spt-scale-x (meters 0.18)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-userdata 0.0) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 669) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 8.0) (meters 5.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 669) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-scalevel-y (meters 0.0024414062)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-y -8.192) - (sp-int spt-next-time 210) - (sp-launcher-by-id spt-next-launcher 670) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 669) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-scalevel-y (meters 0.0024414062)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-y -8.192) + (sp-int spt-next-time 210) + (sp-launcher-by-id spt-next-launcher 670) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 670) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a -0.16) - (sp-int spt-timer 150) - (sp-func spt-func 'check-water-level-drop) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 670) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a -0.16) + (sp-int spt-timer 150) + (sp-func spt-func 'check-water-level-drop) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: (defstate beach-part-grotto-1 (beach-part) :code (behavior () - (while #t - (when (dummy-20 self) - (let* ((gp-0 (camera-pos)) - (f0-0 (vector-vector-distance (-> self root trans) gp-0)) - ) - (if (or (< (-> gp-0 y) (-> self root trans y)) (< 122880.0 f0-0)) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 666) - (-> self root trans) - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 + (while #t + (when (dummy-20 self) + (let* ((gp-0 (camera-pos)) + (f0-0 (vector-vector-distance (-> self root trans) gp-0)) + ) + (if (or (< (-> gp-0 y) (-> self root trans y)) (< 122880.0 f0-0)) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 666) + (-> self root trans) + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 668) + (-> self root trans) + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - ) + (suspend) ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 668) - (-> self root trans) - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 + (none) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 671) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-rnd-flt spt-num 0.3 0.4 1.0) + (sp-rnd-flt spt-x (meters -23.0) (meters 55.0) 1.0) + (sp-flt spt-z 2048.0) + (sp-flt spt-scale-x (meters 0.18)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-fade-a 0.10666667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-userdata 0.0) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 669) + (sp-rnd-flt spt-conerot-x (degrees -40.0) (degrees 80.0) 1.0) + (sp-flt spt-conerot-radius (meters 14.6)) + (sp-flt spt-rotate-y (degrees 37.0)) + (sp-end) + ) + ) ) - ) - (suspend) - ) - (none) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 671) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-rnd-flt spt-num 0.3 0.4 1.0) - (sp-rnd-flt spt-x (meters -23.0) (meters 55.0) 1.0) - (sp-flt spt-z 2048.0) - (sp-flt spt-scale-x (meters 0.18)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-fade-a 0.10666667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-userdata 0.0) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 669) - (sp-rnd-flt spt-conerot-x (degrees -40.0) (degrees 80.0) 1.0) - (sp-flt spt-conerot-radius (meters 14.6)) - (sp-flt spt-rotate-y (degrees 37.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 161) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-grotto-2" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 671 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds + (new 'static 'sphere :y -20480.0 :w 61440.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 161) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-grotto-2" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 671 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds - (new 'static 'sphere :y -20480.0 :w 61440.0) - ) - ) +(set! (-> *part-id-table* 672) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 103.0)) + (sp-rnd-flt spt-z -34816.0 65536.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 495) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees -124.99999)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 672) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 103.0)) - (sp-rnd-flt spt-z -34816.0 65536.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 495) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees -124.99999)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 673) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.8 0.8 1.0) + (sp-rnd-flt spt-x (meters -9.0) (meters 3.5) 1.0) + (sp-flt spt-y (meters 103.0)) + (sp-rnd-flt spt-z -34816.0 65536.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 20.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.7786665 -1.024 1.0) + (sp-int spt-timer 855) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-rotate-y (degrees -124.99999)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 673) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.8 0.8 1.0) - (sp-rnd-flt spt-x (meters -9.0) (meters 3.5) 1.0) - (sp-flt spt-y (meters 103.0)) - (sp-rnd-flt spt-z -34816.0 65536.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 20.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.7786665 -1.024 1.0) - (sp-int spt-timer 855) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-rotate-y (degrees -124.99999)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 674) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.9) + (sp-rnd-flt spt-x (meters -10.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 103.0)) + (sp-rnd-flt spt-z -38912.0 73728.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 28.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 660) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -124.99999)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 674) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.9) - (sp-rnd-flt spt-x (meters -10.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 103.0)) - (sp-rnd-flt spt-z -38912.0 73728.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 28.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 660) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -124.99999)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 675) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.04) + (sp-rnd-flt spt-x (meters 6.0) (meters 6.0) 1.0) + (sp-flt spt-y (meters 6.5)) + (sp-rnd-flt spt-z -34816.0 65536.0 1.0) + (sp-flt spt-scale-x (meters 18.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0044444446)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.42666668) + (sp-flt spt-accel-y 0.13653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 676) + (sp-flt spt-rotate-y (degrees -124.99999)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 675) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.04) - (sp-rnd-flt spt-x (meters 6.0) (meters 6.0) 1.0) - (sp-flt spt-y (meters 6.5)) - (sp-rnd-flt spt-z -34816.0 65536.0 1.0) - (sp-flt spt-scale-x (meters 18.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0044444446)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.42666668) - (sp-flt spt-accel-y 0.13653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 676) - (sp-flt spt-rotate-y (degrees -124.99999)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 676) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.14222223) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 676) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.14222223) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 677) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters 2.0) (meters 10.0) 1.0) + (sp-flt spt-y (meters 8.0)) + (sp-rnd-flt spt-z -43008.0 81920.0 1.0) + (sp-flt spt-scale-x (meters 18.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 150.0 42.0 1.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.06666667) 1.0) + (sp-flt spt-vel-y (meters 0.008333334)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 0.42666668) + (sp-flt spt-accel-y 0.13653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 676) + (sp-flt spt-rotate-y (degrees -124.99999)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 677) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters 2.0) (meters 10.0) 1.0) - (sp-flt spt-y (meters 8.0)) - (sp-rnd-flt spt-z -43008.0 81920.0 1.0) - (sp-flt spt-scale-x (meters 18.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 150.0 42.0 1.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.06666667) 1.0) - (sp-flt spt-vel-y (meters 0.008333334)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 0.42666668) - (sp-flt spt-accel-y 0.13653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 676) - (sp-flt spt-rotate-y (degrees -124.99999)) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 162) (new 'static 'sparticle-launch-group + :length 8 + :duration #xbb8 + :linger-duration #x5dc + :flags + (sp-group-flag always-draw unknown-bit-01) + :name "group-beach-waterfall" + :launcher + (new 'static 'inline-array sparticle-group-item 8 + (sp-item 677 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 675) + (sp-item 675 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 672) + (sp-item 672 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 672 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 673 :fade-after (meters 300.0) :falloff-to (meters 300.0)) + (sp-item 674 :fade-after (meters 90.0) :falloff-to (meters 90.0)) + ) + :bounds + (new 'static 'sphere :y 225280.0 :w 225280.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 162) - (new 'static 'sparticle-launch-group - :length 8 - :duration #xbb8 - :linger-duration #x5dc - :flags - (sp-group-flag always-draw unknown-bit-01) - :name "group-beach-waterfall" - :launcher - (new 'static 'inline-array sparticle-group-item 8 - (sp-item 677 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 675) - (sp-item 675 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 672) - (sp-item 672 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 672 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 673 :fade-after (meters 300.0) :falloff-to (meters 300.0)) - (sp-item 674 :fade-after (meters 90.0) :falloff-to (meters 90.0)) - ) - :bounds - (new 'static 'sphere :y 225280.0 :w 225280.0) - ) - ) +(set! (-> *part-group-id-table* 163) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-24" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 678 :fade-after (meters 50.0) :period 2400 :length 1500 :offset 1200) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 204800.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 163) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-24" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 678 :fade-after (meters 50.0) :period 2400 :length 1500 :offset 1200) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 204800.0) - ) - ) +(set! (-> *part-group-id-table* 164) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-23" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 679 :fade-after (meters 50.0) :period 2400 :length 1500 :offset 600) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 204800.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 164) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-23" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 679 :fade-after (meters 50.0) :period 2400 :length 1500 :offset 600) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 204800.0) - ) - ) +(set! (-> *part-group-id-table* 165) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-22" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 680 :fade-after (meters 80.0) :period 2400 :length 1500) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 204800.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 165) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-22" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 680 :fade-after (meters 80.0) :period 2400 :length 1500) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 204800.0) - ) - ) +(set! (-> *part-group-id-table* 166) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-18" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 681 :fade-after (meters 100.0) :period 2400 :length 1500 :offset 1200) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 204800.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 166) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-18" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 681 :fade-after (meters 100.0) :period 2400 :length 1500 :offset 1200) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 204800.0) - ) - ) +(set! (-> *part-group-id-table* 167) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-17" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 682 :fade-after (meters 50.0) :period 2400 :length 1500 :offset 600) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 204800.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 167) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-17" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 682 :fade-after (meters 50.0) :period 2400 :length 1500 :offset 600) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 204800.0) - ) - ) +(set! (-> *part-group-id-table* 168) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-16" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 683 :fade-after (meters 50.0) :period 2400 :length 1500) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 204800.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 168) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-16" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 683 :fade-after (meters 50.0) :period 2400 :length 1500) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 204800.0) - ) - ) +(set! (-> *part-group-id-table* 169) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-15" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 684 :fade-after (meters 50.0) :period 2400 :length 1500 :offset 64936) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 204800.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 169) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-15" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 684 :fade-after (meters 50.0) :period 2400 :length 1500 :offset 64936) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 204800.0) - ) - ) +(set! (-> *part-group-id-table* 170) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-14" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 685 :fade-after (meters 50.0) :period 2400 :length 1500 :offset 64336) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 204800.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 170) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-14" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 685 :fade-after (meters 50.0) :period 2400 :length 1500 :offset 64336) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 204800.0) - ) - ) +(set! (-> *part-id-table* 678) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.01 0.01 1.0) + (sp-rnd-flt spt-x (meters -85.0) (meters 60.0) 1.0) + (sp-flt spt-y (meters 13.0)) + (sp-rnd-flt spt-z -122880.0 266240.0 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 130.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 54.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.026666667)) + (sp-flt spt-rotvel-z (degrees -0.15)) + (sp-flt spt-fade-a 0.008888889) + (sp-int spt-timer 3600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 1800) + (sp-launcher-by-id spt-next-launcher 686) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 678) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.01 0.01 1.0) - (sp-rnd-flt spt-x (meters -85.0) (meters 60.0) 1.0) - (sp-flt spt-y (meters 13.0)) - (sp-rnd-flt spt-z -122880.0 266240.0 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 130.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 54.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.026666667)) - (sp-flt spt-rotvel-z (degrees -0.15)) - (sp-flt spt-fade-a 0.008888889) - (sp-int spt-timer 3600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 1800) - (sp-launcher-by-id spt-next-launcher 686) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 686) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.07111111) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 686) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.07111111) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 679) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.01 0.01 1.0) + (sp-rnd-flt spt-x (meters -65.0) (meters 60.0) 1.0) + (sp-flt spt-y (meters 8.0)) + (sp-rnd-flt spt-z -122880.0 204800.0 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 130.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 54.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.02)) + (sp-flt spt-rotvel-z (degrees -0.15)) + (sp-flt spt-fade-a 0.008888889) + (sp-int spt-timer 3600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 1800) + (sp-launcher-by-id spt-next-launcher 687) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 679) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.01 0.01 1.0) - (sp-rnd-flt spt-x (meters -65.0) (meters 60.0) 1.0) - (sp-flt spt-y (meters 8.0)) - (sp-rnd-flt spt-z -122880.0 204800.0 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 130.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 54.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.02)) - (sp-flt spt-rotvel-z (degrees -0.15)) - (sp-flt spt-fade-a 0.008888889) - (sp-int spt-timer 3600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 1800) - (sp-launcher-by-id spt-next-launcher 687) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 687) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.07111111) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 687) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.07111111) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 680) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.01 0.01 1.0) + (sp-rnd-flt spt-x (meters -50.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -163840.0 327680.0 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 130.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 54.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.026666667)) + (sp-flt spt-vel-z (meters 0.016666668)) + (sp-flt spt-rotvel-z (degrees -0.15)) + (sp-flt spt-fade-a 0.010666667) + (sp-int spt-timer 3600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 1500) + (sp-launcher-by-id spt-next-launcher 688) + (sp-flt spt-rotate-y (degrees 120.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 680) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.01 0.01 1.0) - (sp-rnd-flt spt-x (meters -50.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -163840.0 327680.0 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 130.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 54.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.026666667)) - (sp-flt spt-vel-z (meters 0.016666668)) - (sp-flt spt-rotvel-z (degrees -0.15)) - (sp-flt spt-fade-a 0.010666667) - (sp-int spt-timer 3600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 1500) - (sp-launcher-by-id spt-next-launcher 688) - (sp-flt spt-rotate-y (degrees 120.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 688) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.08533333) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 688) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.08533333) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 681) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.03 0.04 1.0) + (sp-rnd-flt spt-x (meters -40.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -163840.0 368640.0 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 130.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 54.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.026666667)) + (sp-flt spt-vel-z (meters -0.016666668)) + (sp-flt spt-rotvel-z (degrees -0.15)) + (sp-flt spt-fade-a 0.008888889) + (sp-int spt-timer 3600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 1800) + (sp-launcher-by-id spt-next-launcher 689) + (sp-flt spt-rotate-y (degrees -60.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 681) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.03 0.04 1.0) - (sp-rnd-flt spt-x (meters -40.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -163840.0 368640.0 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 130.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 54.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.026666667)) - (sp-flt spt-vel-z (meters -0.016666668)) - (sp-flt spt-rotvel-z (degrees -0.15)) - (sp-flt spt-fade-a 0.008888889) - (sp-int spt-timer 3600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 1800) - (sp-launcher-by-id spt-next-launcher 689) - (sp-flt spt-rotate-y (degrees -60.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 689) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.07111111) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 689) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.07111111) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 682) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.015 0.02 1.0) + (sp-flt spt-x (meters -10.0)) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -40960.0 92160.0 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 130.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 54.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.026666667)) + (sp-flt spt-rotvel-z (degrees -0.15)) + (sp-flt spt-fade-a 0.017777778) + (sp-int spt-timer 3600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 900) + (sp-launcher-by-id spt-next-launcher 690) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 682) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.015 0.02 1.0) - (sp-flt spt-x (meters -10.0)) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -40960.0 92160.0 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 130.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 54.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.026666667)) - (sp-flt spt-rotvel-z (degrees -0.15)) - (sp-flt spt-fade-a 0.017777778) - (sp-int spt-timer 3600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 900) - (sp-launcher-by-id spt-next-launcher 690) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 690) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.017777778) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 690) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.017777778) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 683) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.015 0.02 1.0) + (sp-flt spt-x (meters -25.0)) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -61440.0 204800.0 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 130.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 54.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.026666667)) + (sp-flt spt-rotvel-z (degrees -0.15)) + (sp-flt spt-fade-a 0.013333334) + (sp-int spt-timer 3600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 1200) + (sp-launcher-by-id spt-next-launcher 691) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 683) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.015 0.02 1.0) - (sp-flt spt-x (meters -25.0)) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -61440.0 204800.0 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 130.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 54.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.026666667)) - (sp-flt spt-rotvel-z (degrees -0.15)) - (sp-flt spt-fade-a 0.013333334) - (sp-int spt-timer 3600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 1200) - (sp-launcher-by-id spt-next-launcher 691) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 691) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.013333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 691) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.013333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 684) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.015 0.015 1.0) + (sp-flt spt-x (meters -35.0)) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -143360.0 245760.0 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 130.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 54.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.026666667)) + (sp-flt spt-rotvel-z (degrees -0.15)) + (sp-flt spt-fade-a 0.016410256) + (sp-int spt-timer 3600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 975) + (sp-launcher-by-id spt-next-launcher 692) + (sp-flt spt-rotate-y (degrees 45.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 684) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.015 0.015 1.0) - (sp-flt spt-x (meters -35.0)) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -143360.0 245760.0 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 130.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 54.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.026666667)) - (sp-flt spt-rotvel-z (degrees -0.15)) - (sp-flt spt-fade-a 0.016410256) - (sp-int spt-timer 3600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 975) - (sp-launcher-by-id spt-next-launcher 692) - (sp-flt spt-rotate-y (degrees 45.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 692) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.016410256) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 692) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.016410256) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 685) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.015 0.015 1.0) + (sp-flt spt-x (meters -25.0)) + (sp-flt spt-y (meters 14.0)) + (sp-rnd-flt spt-z -61440.0 286720.0 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 130.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 54.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.026666667)) + (sp-flt spt-rotvel-z (degrees -0.15)) + (sp-flt spt-fade-a 0.014222222) + (sp-int spt-timer 3600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 1125) + (sp-launcher-by-id spt-next-launcher 693) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 685) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.015 0.015 1.0) - (sp-flt spt-x (meters -25.0)) - (sp-flt spt-y (meters 14.0)) - (sp-rnd-flt spt-z -61440.0 286720.0 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 130.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 54.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.026666667)) - (sp-flt spt-rotvel-z (degrees -0.15)) - (sp-flt spt-fade-a 0.014222222) - (sp-int spt-timer 3600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 1125) - (sp-launcher-by-id spt-next-launcher 693) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 693) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.014222222) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 693) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.014222222) (sp-end)) + ) + ) ;; definition for symbol sound-beach-waterfall, type sound-spec (define sound-beach-waterfall - (new 'static 'sound-spec - :num 1.0 - :group #x1 - :sound-name (static-sound-name "waterfall") - :volume #x400 - ) + (new 'static 'sound-spec :num 1.0 :group #x1 :sound-name (static-sound-name "waterfall") :volume #x400) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 171) - (new 'static 'sparticle-launch-group - :length 13 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-butterflies" - :launcher - (new 'static 'inline-array sparticle-group-item 13 - (sp-item 696 :fade-after (meters 120.0) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 694) - (sp-item 696 :fade-after (meters 120.0) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 694) - (sp-item 696 :fade-after (meters 120.0) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 694) - (sp-item 694 :flags (start-dead launch-asap) :binding 695) - (sp-item 695 :flags (is-3d start-dead)) - (sp-item 694 :flags (start-dead launch-asap) :binding 695) - (sp-item 695 :flags (is-3d start-dead)) - (sp-item 694 :flags (start-dead launch-asap) :binding 695) - (sp-item 695 :flags (is-3d start-dead)) - (sp-item 694 :flags (start-dead launch-asap) :binding 695) - (sp-item 695 :flags (is-3d start-dead)) - (sp-item 694 :flags (start-dead launch-asap) :binding 695) - (sp-item 695 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 122880.0) - ) - ) +(set! (-> *part-group-id-table* 171) + (new 'static 'sparticle-launch-group + :length 13 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-butterflies" + :launcher + (new 'static 'inline-array sparticle-group-item 13 + (sp-item 696 :fade-after (meters 120.0) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 694) + (sp-item 696 :fade-after (meters 120.0) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 694) + (sp-item 696 :fade-after (meters 120.0) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 694) + (sp-item 694 :flags (start-dead launch-asap) :binding 695) + (sp-item 695 :flags (is-3d start-dead)) + (sp-item 694 :flags (start-dead launch-asap) :binding 695) + (sp-item 695 :flags (is-3d start-dead)) + (sp-item 694 :flags (start-dead launch-asap) :binding 695) + (sp-item 695 :flags (is-3d start-dead)) + (sp-item 694 :flags (start-dead launch-asap) :binding 695) + (sp-item 695 :flags (is-3d start-dead)) + (sp-item 694 :flags (start-dead launch-asap) :binding 695) + (sp-item 695 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 122880.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 696) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 7.5) 1.0) - (sp-rnd-flt spt-y (meters 14.0) (meters 3.0) 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters -0.036666665)) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-timer 6000) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 555) - (sp-launcher-by-id spt-next-launcher 697) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 696) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 7.5) 1.0) + (sp-rnd-flt spt-y (meters 14.0) (meters 3.0) 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters -0.036666665)) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-timer 6000) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 555) + (sp-launcher-by-id spt-next-launcher 697) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 697) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-accel-y 0.0) - (sp-int-plain-rnd spt-next-time 2700 1499 1) - (sp-launcher-by-id spt-next-launcher 698) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 697) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-accel-y 0.0) + (sp-int-plain-rnd spt-next-time 2700 1499 1) + (sp-launcher-by-id spt-next-launcher 698) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 698) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-accel-y 1.3653333) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 698) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-accel-y 1.3653333) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 694) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 12288.0 4096.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 0.0 256.0 1.0) - (sp-rnd-int spt-b 1124073472 1 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 6000) - (sp-cpuinfo-flags bit3 bit7) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 699) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 694) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 12288.0 4096.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 0.0 256.0 1.0) + (sp-rnd-int spt-b 1124073472 1 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 6000) + (sp-cpuinfo-flags bit3 bit7) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 699) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 699) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 699) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 699) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 6 + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 699) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 695) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-rot-color) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 0.9)) - (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) - (sp-flt spt-scale-y (meters 1.3)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -8.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit9 bit12) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 695) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-rot-color) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 0.9)) + (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) + (sp-flt spt-scale-y (meters 1.3)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -8.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit9 bit12) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 172) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :name "group-beach-moth" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 702 :fade-after (meters 120.0) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 700) - (sp-item 700 :flags (start-dead launch-asap) :binding 701) - (sp-item 701 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 12288.0) - ) - ) +(set! (-> *part-group-id-table* 172) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :name "group-beach-moth" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 702 :fade-after (meters 120.0) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 700) + (sp-item 700 :flags (start-dead launch-asap) :binding 701) + (sp-item 701 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 12288.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 702) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 18000) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 702) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 10 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 18000) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 700) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 6144.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 18000) - (sp-cpuinfo-flags bit3 bit7) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 703) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 700) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 6144.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 18000) + (sp-cpuinfo-flags bit3 bit7) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 703) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 703) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 703) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 703) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 6 + (sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 703) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 701) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-rot-color) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 0.4)) - (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) - (sp-flt spt-scale-y (meters 0.4)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit9 bit12) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 701) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-rot-color) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 0.4)) + (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) + (sp-flt spt-scale-y (meters 0.4)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit9 bit12) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/beach/beach-rocks_REF.gc b/test/decompiler/reference/levels/beach/beach-rocks_REF.gc index 7ed732bedc..bdae027bf6 100644 --- a/test/decompiler/reference/levels/beach/beach-rocks_REF.gc +++ b/test/decompiler/reference/levels/beach/beach-rocks_REF.gc @@ -11,293 +11,272 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 553) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-beach-rocks-start" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2340 :period 75 :length 10) - (sp-item 2341 :period 75 :length 10) - (sp-item 2289 :period 75 :length 10) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 553) (new 'static 'sparticle-launch-group + :length 3 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-beach-rocks-start" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 2340 :period 75 :length 10) + (sp-item 2341 :period 75 :length 10) + (sp-item 2289 :period 75 :length 10) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2341) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) - (sp-rnd-flt spt-num 3.0 6.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.25) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.25) (meters 1.0) 1.0) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 96.0 64.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -11.605333 -8.874666 1.0) - (sp-flt spt-friction 0.97) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 200.00002) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 5.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2341) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + (sp-rnd-flt spt-num 3.0 6.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.25) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.25) (meters 1.0) 1.0) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 96.0 64.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -11.605333 -8.874666 1.0) + (sp-flt spt-friction 0.97) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 200.00002) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 5.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2340) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-rnd-flt spt-b 0.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.08533333) - (sp-rnd-flt spt-accel-y -3.4133334 -8.874666 1.0) - (sp-flt spt-friction 0.93) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 200.00002) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 5.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2340) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-rnd-flt spt-b 0.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.08533333) + (sp-rnd-flt spt-accel-y -3.4133334 -8.874666 1.0) + (sp-flt spt-friction 0.93) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 200.00002) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 5.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2289) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 3.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.04)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.042666666) - (sp-flt spt-fade-g -0.061333332) - (sp-flt spt-fade-b -0.042666666) - (sp-flt spt-fade-a -0.032) - (sp-rnd-flt spt-accel-y -2.048 -7.5093336 1.0) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 6.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2289) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 3.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.04)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.042666666) + (sp-flt spt-fade-g -0.061333332) + (sp-flt spt-fade-b -0.042666666) + (sp-flt spt-fade-a -0.032) + (sp-rnd-flt spt-accel-y -2.048 -7.5093336 1.0) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 6.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 554) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-beach-rocks-fall" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2290 :period 15 :length 5) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 554) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-beach-rocks-fall" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2290 :period 15 :length 5)) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2290) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 3.0 3.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 7.0) (meters 9.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 16.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.026666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.15333334) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.10666667) - (sp-rnd-flt spt-accel-y -2.048 -7.5093336 1.0) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2290) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 3.0 3.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 7.0) (meters 9.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 16.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.026666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.15333334) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.10666667) + (sp-rnd-flt spt-accel-y -2.048 -7.5093336 1.0) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 555) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-beach-rocks-land" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2342 :period 900 :length 40) - (sp-item 2343 :period 900 :length 40) - (sp-item 2291 :period 900 :length 40) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 555) (new 'static 'sparticle-launch-group + :length 3 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-beach-rocks-land" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 2342 :period 900 :length 40) + (sp-item 2343 :period 900 :length 40) + (sp-item 2291 :period 900 :length 40) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2343) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 32.0) - (sp-flt spt-y (meters -3.0)) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 32.0) (meters 10.0) 1.0) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 3.4133334)) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.15333334) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 30) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2343) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 32.0) + (sp-flt spt-y (meters -3.0)) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 32.0) (meters 10.0) 1.0) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 3.4133334)) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.15333334) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 30) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2342) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) - (sp-rnd-flt spt-num 64.0 64.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 0.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.08533333) - (sp-rnd-flt spt-accel-y -3.4133334 -8.874666 1.0) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 5.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2342) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + (sp-rnd-flt spt-num 64.0 64.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 0.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.08533333) + (sp-rnd-flt spt-accel-y -3.4133334 -8.874666 1.0) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 5.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2291) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 32.0 32.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 16.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.32) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.033333335) (meters 0.02) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.15333334) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.10666667) - (sp-rnd-flt spt-accel-y -2.048 -7.5093336 1.0) - (sp-flt spt-friction 0.85) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 100.00001) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2291) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 32.0 32.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters -4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 16.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.32) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.033333335) (meters 0.02) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.15333334) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.10666667) + (sp-rnd-flt spt-accel-y -2.048 -7.5093336 1.0) + (sp-flt spt-friction 0.85) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 100.00001) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.0) 1.0) + (sp-end) + ) + ) + ) ;; definition of type beach-rock (deftype beach-rock (process-drawable) @@ -323,8 +302,8 @@ ;; definition for method 3 of type beach-rock (defmethod inspect beach-rock ((obj beach-rock)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttrigger: ~A~%" (-> obj trigger)) (format #t "~T~Tmovie-start: ~D~%" (-> obj movie-start)) (format #t "~T~Tpart-falling: ~A~%" (-> obj part-falling)) @@ -337,46 +316,23 @@ ;; INFO: Return type mismatch none vs beach-rock. (defmethod relocate beach-rock ((obj beach-rock) (arg0 int)) (if (nonzero? (-> obj part-falling)) - (set! - (-> obj part-falling) - (the-as - sparticle-launch-control - (+ (the-as int (-> obj part-falling)) arg0) - ) - ) - ) + (set! (-> obj part-falling) (the-as sparticle-launch-control (+ (the-as int (-> obj part-falling)) arg0))) + ) (if (nonzero? (-> obj part-landing)) - (set! - (-> obj part-landing) - (the-as - sparticle-launch-control - (+ (the-as int (-> obj part-landing)) arg0) - ) - ) - ) - (the-as - beach-rock - ((the-as - (function process-drawable int none) - (find-parent-method beach-rock 7) - ) - obj - arg0 - ) - ) + (set! (-> obj part-landing) (the-as sparticle-launch-control (+ (the-as int (-> obj part-landing)) arg0))) + ) + (the-as beach-rock ((the-as (function process-drawable int none) (find-parent-method beach-rock 7)) obj arg0)) ) ;; definition for method 10 of type beach-rock (defmethod deactivate beach-rock ((obj beach-rock)) (if (nonzero? (-> obj part-falling)) - (kill-and-free-particles (-> obj part-falling)) - ) + (kill-and-free-particles (-> obj part-falling)) + ) (if (nonzero? (-> obj part-landing)) - (kill-and-free-particles (-> obj part-landing)) - ) - ((the-as (function process-drawable none) (find-parent-method beach-rock 10)) - obj - ) + (kill-and-free-particles (-> obj part-landing)) + ) + ((the-as (function process-drawable none) (find-parent-method beach-rock 10)) obj) (none) ) @@ -384,30 +340,29 @@ (defstate idle (beach-rock) :virtual #t :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (set! (-> self trigger) #t) - (go-virtual falling) - ) - (('loading) - (go-virtual loading) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('trigger) + (set! (-> self trigger) #t) + (go-virtual falling) + ) + (('loading) + (go-virtual loading) + ) + ) + ) :code (behavior () - (if (-> self trigger) - (go-virtual falling) + (if (-> self trigger) + (go-virtual falling) + ) + (ja-channel-set! 0) + (ja-post) + (while #t + (logior! (-> self mask) (process-mask sleep)) + (suspend) + ) + (none) ) - (ja-channel-set! 0) - (ja-post) - (while #t - (logior! (-> self mask) (process-mask sleep)) - (suspend) - ) - (none) - ) ) ;; failed to figure out what this is: @@ -417,12 +372,12 @@ (-> (the-as state (method-of-type beach-rock idle)) event) :code (behavior () - (while #t - (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) - (suspend) + (while #t + (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -430,160 +385,114 @@ :virtual #t :trans (behavior () - (set! (-> self draw bounds w) 819200.0) - (let ((f30-0 (ja-aframe-num 0))) - (when (and (< -50.0 f30-0) (< f30-0 158.0)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override trans quad)) - (spawn (-> self part) gp-0) - (set! (-> gp-0 x) (+ 122880.0 (-> gp-0 x))) - (set! (-> gp-0 z) (+ 102400.0 (-> gp-0 z))) - (spawn (-> self part) gp-0) + (set! (-> self draw bounds w) 819200.0) + (let ((f30-0 (ja-aframe-num 0))) + (when (and (< -50.0 f30-0) (< f30-0 158.0)) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self root-override trans quad)) + (spawn (-> self part) gp-0) + (set! (-> gp-0 x) (+ 122880.0 (-> gp-0 x))) + (set! (-> gp-0 z) (+ 102400.0 (-> gp-0 z))) + (spawn (-> self part) gp-0) + ) + ) + (if (and (< 200.0 f30-0) (< f30-0 275.0)) + (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + ) + (if (and (< 270.0 f30-0) (< f30-0 333.0)) + (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + ) + (if (and (< (-> self prev-frame) 333.0) (>= f30-0 333.0)) + (spawn (-> self part-landing) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + ) + (if (and (< 169.0 f30-0) (< f30-0 202.0)) + (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) + ) + (if (and (< 240.0 f30-0) (< f30-0 270.0)) + (spawn (-> self part-falling) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 6))) + ) + (set! (-> self prev-frame) f30-0) ) - ) - (if (and (< 200.0 f30-0) (< f30-0 275.0)) - (spawn - (-> self part-falling) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)) - ) - ) - (if (and (< 270.0 f30-0) (< f30-0 333.0)) - (spawn - (-> self part-falling) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)) - ) - ) - (if (and (< (-> self prev-frame) 333.0) (>= f30-0 333.0)) - (spawn - (-> self part-landing) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)) - ) - ) - (if (and (< 169.0 f30-0) (< f30-0 202.0)) - (spawn - (-> self part-falling) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5)) - ) - ) - (if (and (< 240.0 f30-0) (< f30-0 270.0)) - (spawn - (-> self part-falling) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 6)) - ) - ) - (set! (-> self prev-frame) f30-0) + (none) ) - (none) - ) :code (behavior () - (local-vars (v1-3 symbol) (v1-49 symbol)) - (until v1-3 - (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) - (suspend) - (set! v1-3 (or (not *target*) (process-grab? *target*))) - ) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let* ((gp-1 (get-process *default-dead-pool* othercam #x4000)) - (gp-2 (ppointer->handle (when gp-1 - (let - ((t9-5 (method-of-type othercam activate))) - (t9-5 - (the-as othercam gp-1) - self - 'othercam - (the-as pointer #x70004000) + (local-vars (v1-3 symbol) (v1-49 symbol)) + (until v1-3 + (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) + (suspend) + (set! v1-3 (or (not *target*) (process-grab? *target*))) + ) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (ja-channel-set! 1) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) + ) + (let* ((gp-1 (get-process *default-dead-pool* othercam #x4000)) + (gp-2 (ppointer->handle (when gp-1 + (let ((t9-5 (method-of-type othercam activate))) + (t9-5 (the-as othercam gp-1) self 'othercam (the-as pointer #x70004000)) + ) + (run-now-in-process gp-1 othercam-init-by-other self 7 #f #t) + (-> gp-1 ppointer) ) - ) - (run-now-in-process - gp-1 - othercam-init-by-other - self - 7 - #f - #t - ) - (-> gp-1 ppointer) ) ) - ) - (s5-0 (get-process *default-dead-pool* fuel-cell #x4000)) - (s5-1 (ppointer->handle (when s5-0 - (let - ((t9-8 (method-of-type fuel-cell activate))) - (t9-8 - (the-as fuel-cell s5-0) - self - 'fuel-cell - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - fuel-cell-init-as-clone - (process->handle self) - (-> self entity extra perm task) - ) - (-> s5-0 ppointer) - ) + (s5-0 (get-process *default-dead-pool* fuel-cell #x4000)) + (s5-1 + (ppointer->handle + (when s5-0 + (let ((t9-8 (method-of-type fuel-cell activate))) + (t9-8 (the-as fuel-cell s5-0) self 'fuel-cell (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 fuel-cell-init-as-clone (process->handle self) (-> self entity extra perm task)) + (-> s5-0 ppointer) ) + ) + ) ) + (close-specific-task! (-> self entity extra perm task) (task-status need-reminder)) + (set! (-> self movie-start) (the-as uint (-> *display* base-frame-counter))) + (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) + (ja-play-spooled-anim + (new 'static 'spool-anim + :name "lrocklrg-falling" + :index 4 + :parts 4 + :command-list + '(((the binteger -150) blackout (the binteger 100)) ((the binteger -116) blackout 0)) ) - (close-specific-task! - (-> self entity extra perm task) - (task-status need-reminder) - ) - (set! (-> self movie-start) (the-as uint (-> *display* base-frame-counter))) - (spool-push *art-control* "lrocklrg-falling" 0 self -1.0) - (ja-play-spooled-anim - (new 'static 'spool-anim - :name "lrocklrg-falling" - :index 4 - :parts 4 - :command-list - '( - ((the binteger -150) - blackout - (the binteger 100) + (the-as art-joint-anim (-> self draw art-group data 2)) + (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as (function process-drawable symbol) false-func) + ) + (process-entity-status! self (entity-perm-status complete) #t) + (cond + ((handle->process gp-2) + (deactivate (-> gp-2 process 0)) + ) + (else ) - ((the binteger -116) blackout 0) + ) + (let ((a0-28 (handle->process s5-1))) + (if a0-28 + (send-event a0-28 'stop-cloning) + ) ) ) - (the-as art-joint-anim (-> self draw art-group data 2)) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as (function process-drawable symbol) false-func) - ) - (process-entity-status! self (entity-perm-status complete) #t) - (cond - ((handle->process gp-2) - (deactivate (-> gp-2 process 0)) + (until v1-49 + (suspend) + (set! v1-49 (or (not *target*) (process-release? *target*))) ) - (else - ) - ) - (let ((a0-28 (handle->process s5-1))) - (if a0-28 - (send-event a0-28 'stop-cloning) - ) - ) + (set! (-> self draw bounds w) 20480.0) + (go-virtual fallen) + (none) ) - (until v1-49 - (suspend) - (set! v1-49 (or (not *target*) (process-release? *target*))) - ) - (set! (-> self draw bounds w) 20480.0) - (go-virtual fallen) - (none) - ) :post (the-as (function none :behavior beach-rock) transform-post) ) @@ -593,31 +502,28 @@ :virtual #t :code (behavior () - (level-hint-spawn - (game-text-id beach-seagulls-avalanche) - "sksp0025" - (the-as entity #f) - *entity-pool* - (game-task none) + (level-hint-spawn + (game-text-id beach-seagulls-avalanche) + "sksp0025" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) + (TODO-RENAME-9 (-> self align)) + (let ((v1-6 (first-transform (-> self align)))) + (set! (-> self root-override trans quad) (-> self entity extra trans quad)) + (+! (-> self root-override trans y) (-> v1-6 trans y)) + ) + (suspend) + (dummy-47 (-> self root-override)) + (logior! (-> self mask) (process-mask sleep)) + (suspend) + 0 + (none) ) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - (TODO-RENAME-9 (-> self align)) - (let ((v1-6 (first-transform (-> self align)))) - (set! (-> self root-override trans quad) (-> self entity extra trans quad)) - (+! (-> self root-override trans y) (-> v1-6 trans y)) - ) - (suspend) - (dummy-47 (-> self root-override)) - (logior! (-> self mask) (process-mask sleep)) - (suspend) - 0 - (none) - ) :post (the-as (function none :behavior beach-rock) ja-post) ) @@ -629,43 +535,34 @@ (set! (-> obj align) (new 'process 'align-control obj)) (set! (-> obj trigger) #f) (logclear! (-> obj mask) (process-mask actor-pause)) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 553) obj) - ) - (set! - (-> obj part-falling) - (create-launch-control (-> *part-group-id-table* 554) obj) - ) - (set! - (-> obj part-landing) - (create-launch-control (-> *part-group-id-table* 555) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 553) obj)) + (set! (-> obj part-falling) (create-launch-control (-> *part-group-id-table* 554) obj)) + (set! (-> obj part-landing) (create-launch-control (-> *part-group-id-table* 555) obj)) (set! (-> obj prev-frame) -1000.0) (set! (-> obj draw origin-joint-index) (the-as uint 4)) - (case (get-task-status (-> obj entity extra perm task)) - (((task-status invalid)) + (case (get-task-status (-> obj entity extra perm task)) + (((task-status invalid)) (go (method-of-object obj fallen)) ) - (((task-status need-resolution)) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (ja-post) - (vector<-cspace! s5-0 (-> obj node-list data 8)) - (birth-pickup-at-point - s5-0 - (pickup-type fuel-cell) - (the float (the-as int (-> obj entity extra perm task))) - #f - obj - (the-as fact-info #f) - ) + (((task-status need-resolution)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (ja-post) + (vector<-cspace! s5-0 (-> obj node-list data 8)) + (birth-pickup-at-point + s5-0 + (pickup-type fuel-cell) + (the float (the-as int (-> obj entity extra perm task))) + #f + obj + (the-as fact-info #f) + ) + ) + (go (method-of-object obj fallen)) ) - (go (method-of-object obj fallen)) + (else + (go (method-of-object obj idle)) + ) ) - (else - (go (method-of-object obj idle)) - ) - ) (none) ) @@ -681,51 +578,33 @@ ;; definition for method 3 of type lrocklrg (defmethod inspect lrocklrg ((obj lrocklrg)) (let ((t9-0 (method-of-type beach-rock inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for method 11 of type lrocklrg (defmethod init-from-entity! lrocklrg ((obj lrocklrg) (arg0 entity-actor)) (stack-size-set! (-> obj main-thread) 512) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 1)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 4) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 24576.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 1)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 4) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 24576.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *lrocklrg-sg* '()) ((method-of-type beach-rock init-from-entity!) obj arg0) diff --git a/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc b/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc index 60c04b64c3..c91c3640d7 100644 --- a/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc +++ b/test/decompiler/reference/levels/beach/bird-lady-beach_REF.gc @@ -15,8 +15,8 @@ ;; definition for method 3 of type bird-lady-beach (defmethod inspect bird-lady-beach ((obj bird-lady-beach)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tflutflut: ~D~%" (-> obj flutflut)) (format #t "~T~Tegg: ~D~%" (-> obj egg)) obj @@ -37,126 +37,86 @@ :virtual #t :enter (behavior () - (when (not (should-display? self)) - (let ((a0-2 (handle->process (-> self flutflut)))) - (if a0-2 - (deactivate a0-2) + (when (not (should-display? self)) + (let ((a0-2 (handle->process (-> self flutflut)))) + (if a0-2 + (deactivate a0-2) + ) + ) + (let ((a0-6 (handle->process (-> self egg)))) + (if a0-6 + (deactivate a0-6) + ) + ) + (go-virtual hidden) ) - ) - (let ((a0-6 (handle->process (-> self egg)))) - (if a0-6 - (deactivate a0-6) - ) - ) - (go-virtual hidden) + ((-> (method-of-type process-taskable idle) enter)) + (none) ) - ((-> (method-of-type process-taskable idle) enter)) - (none) - ) ) ;; definition for method 32 of type bird-lady-beach (defmethod play-anim! bird-lady-beach ((obj bird-lady-beach) (arg0 symbol)) - (case (current-status (-> obj tasks)) - (((task-status need-reward-speech)) + (case (current-status (-> obj tasks)) + (((task-status need-reward-speech)) (when arg0 - (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 - (let - ((t9-4 - (method-of-type - manipy - activate - ) - ) - ) - (t9-4 - (the-as manipy s5-1) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *flutflut-naked-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) - ) + (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 + (let ((t9-4 (method-of-type manipy activate))) + (t9-4 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *flutflut-naked-sg* #f) + (-> s5-1 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj flutflut)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj flutflut)) 'blend-shape #t) + (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj egg) + (ppointer->handle + (when s5-2 + (let ((t9-9 (method-of-type manipy activate))) + (t9-9 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *flutflutegg-sg* #f) + (-> s5-2 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj egg)) 'anim-mode 'clone-anim) ) - (send-event (handle->process (-> obj flutflut)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj flutflut)) 'blend-shape #t) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj egg) (ppointer->handle (when s5-2 - (let - ((t9-9 - (method-of-type manipy activate) - ) - ) - (t9-9 - (the-as manipy s5-2) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-2 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *flutflutegg-sg* - #f - ) - (-> s5-2 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj egg)) 'anim-mode 'clone-anim) - ) (new 'static 'spool-anim - :name "bird-lady-beach-resolution" - :index 4 - :parts 10 - :command-list - '( - ((the binteger 141) - joint - "cameraB" + :name "bird-lady-beach-resolution" + :index 4 + :parts 10 + :command-list + '(((the binteger 141) joint "cameraB") + ((the binteger 535) joint "camera") + ((the binteger 696) joint "cameraB") + ((the binteger 758) joint "camera") + ((the binteger 813) joint "cameraB") + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) ) - ((the binteger 535) - joint - "camera" - ) - ((the binteger 696) - joint - "cameraB" - ) - ((the binteger 758) joint "camera") ((the binteger 813) joint "cameraB") - ) + (-> obj draw art-group data 3) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 3) ) - ) ) ;; definition for method 31 of type bird-lady-beach @@ -170,19 +130,8 @@ ) ;; definition for method 11 of type bird-lady-beach -(defmethod - init-from-entity! - bird-lady-beach - ((obj bird-lady-beach) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *bird-lady-beach-sg* - 3 - 51 - (new 'static 'vector :y 4096.0 :w 4096.0) - 5 - ) +(defmethod init-from-entity! bird-lady-beach ((obj bird-lady-beach) (arg0 entity-actor)) + (dummy-40 obj arg0 *bird-lady-beach-sg* 3 51 (new 'static 'vector :y 4096.0 :w 4096.0) 5) (set! (-> obj tasks) (get-task-control (game-task beach-flutflut))) (set! (-> obj sound-flava) (the-as uint 7)) (dummy-42 obj) diff --git a/test/decompiler/reference/levels/beach/bird-lady_REF.gc b/test/decompiler/reference/levels/beach/bird-lady_REF.gc index ba65b19101..ed9119ab64 100644 --- a/test/decompiler/reference/levels/beach/bird-lady_REF.gc +++ b/test/decompiler/reference/levels/beach/bird-lady_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type bird-lady (defmethod inspect bird-lady ((obj bird-lady)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -32,20 +32,20 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 bird-lady ((obj bird-lady)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -1024.0 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -1024.0 f0-0))) + ) + 0 + (let ((a0-4 v1-1)) + (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) + ) + ) + 0 + (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - 0 - (let ((a0-4 v1-1)) - (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) - ) - ) - 0 - (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - ) (none) ) @@ -53,164 +53,87 @@ (defmethod draw-npc-shadow bird-lady ((obj bird-lady)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) ;; definition for method 32 of type bird-lady (defmethod play-anim! bird-lady ((obj bird-lady) (arg0 symbol)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) (if arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) (new 'static 'spool-anim - :name "bird-lady-introduction" - :index 4 - :parts 11 - :command-list - '( - (0 - want-levels - village1 - beach - ) - ((the binteger 49) - joint - "cameraB" + :name "bird-lady-introduction" + :index 4 + :parts 11 + :command-list + '((0 want-levels village1 beach) + ((the binteger 49) joint "cameraB") + ((the binteger 101) display-level beach special) + ((the binteger 101) kill "yakow-8") + ((the binteger 101) kill "yakow-9") + ((the binteger 101) kill "yakow-10") + ((the binteger 101) kill "yakow-11") + ((the binteger 101) kill "yakow-12") + ((the binteger 102) joint "camera") + ((the binteger 125) joint "cameraB") + ((the binteger 251) joint "camera") + ((the binteger 326) joint "cameraB") + ((the binteger 649) display-level beach movie) + ((the binteger 649) want-force-vis beach #t) + ((the binteger 650) alive "flutflutegg-1") + ((the binteger 651) joint "camera") + ((the binteger 1041) joint "cameraB") + ((the binteger 1046) dead "flutflutegg-1") + ((the binteger 1046) display-level beach display) + ((the binteger 1046) want-force-vis beach #f) ) - ((the binteger 101) - display-level - beach - special - ) - ((the binteger 101) - kill - "yakow-8" - ) - ((the binteger 101) - kill - "yakow-9" - ) - ((the binteger 101) - kill - "yakow-10" - ) - ((the binteger 101) - kill - "yakow-11" - ) - ((the binteger 101) - kill - "yakow-12" - ) - ((the binteger 102) - joint - "camera" - ) - ((the binteger 125) - joint - "cameraB" - ) - ((the binteger 251) - joint - "camera" - ) - ((the binteger 326) - joint - "cameraB" - ) - ((the binteger 649) - display-level - beach - movie - ) - ((the binteger 649) - want-force-vis - beach - #t - ) - ((the binteger 650) - alive - "flutflutegg-1" - ) - ((the binteger 651) - joint - "camera" - ) - ((the binteger 1041) - joint - "cameraB" - ) - ((the binteger 1046) - dead - "flutflutegg-1" - ) - ((the binteger 1046) - display-level - beach - display - ) - ((the binteger 1046) want-force-vis beach #f) + ) + ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (cond + ((zero? (get-reminder (-> obj tasks) 0)) + (if arg0 + (save-reminder (-> obj tasks) 1 0) + ) + (new 'static 'spool-anim :name "bird-lady-reminder-1" :index 5 :parts 4 :command-list '()) ) - ) + (else + (if arg0 + (save-reminder (-> obj tasks) 0 0) + ) + (new 'static 'spool-anim :name "bird-lady-reminder-2" :index 6 :parts 5 :command-list '()) + ) + ) ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (cond - ((zero? (get-reminder (-> obj tasks) 0)) + (else (if arg0 - (save-reminder (-> obj tasks) 1 0) - ) - (new 'static 'spool-anim - :name "bird-lady-reminder-1" - :index 5 - :parts 4 - :command-list '() - ) + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 3) ) - (else - (if arg0 - (save-reminder (-> obj tasks) 0 0) - ) - (new 'static 'spool-anim - :name "bird-lady-reminder-2" - :index 6 - :parts 5 - :command-list '() - ) - ) - ) ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 3) - ) - ) ) ;; definition for method 31 of type bird-lady @@ -220,31 +143,24 @@ ;; definition for method 43 of type bird-lady (defmethod TODO-RENAME-43 bird-lady ((obj bird-lady)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.66 f0-2) + (play-ambient (-> obj ambient) "BIR-LO02" #f (-> obj root-override trans)) + ) + ((< 0.33 f0-2) + (play-ambient (-> obj ambient) "BIR-LO03" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "BIR-am08" #f (-> obj root-override trans)) ) - (cond - ((< 0.66 f0-2) - (play-ambient (-> obj ambient) "BIR-LO02" #f (-> obj root-override trans)) + ) ) - ((< 0.33 f0-2) - (play-ambient (-> obj ambient) "BIR-LO03" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "BIR-am08" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; definition for method 47 of type bird-lady @@ -255,26 +171,13 @@ ;; definition for method 11 of type bird-lady (defmethod init-from-entity! bird-lady ((obj bird-lady) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *bird-lady-sg* - 3 - 51 - (new 'static 'vector :y 4096.0 :w 4096.0) - 5 - ) + (dummy-40 obj arg0 *bird-lady-sg* 3 51 (new 'static 'vector :y 4096.0 :w 4096.0) 5) (set! (-> obj tasks) (get-task-control (game-task beach-flutflut))) (set! (-> obj sound-flava) (the-as uint 7)) (set! (-> obj draw light-index) (the-as uint 4)) - (if - (closed? - (-> obj tasks) - (game-task beach-flutflut) - (task-status need-reminder) - ) - (dummy-18 obj) - (go (method-of-object obj idle)) - ) + (if (closed? (-> obj tasks) (game-task beach-flutflut) (task-status need-reminder)) + (dummy-18 obj) + (go (method-of-object obj idle)) + ) (none) ) diff --git a/test/decompiler/reference/levels/beach/lurkercrab_REF.gc b/test/decompiler/reference/levels/beach/lurkercrab_REF.gc index 183f5aaa86..9644d6221f 100644 --- a/test/decompiler/reference/levels/beach/lurkercrab_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkercrab_REF.gc @@ -2,76 +2,69 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 159) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lurkercrab-slide" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 663 :fade-after (meters 40.0) :falloff-to (meters 40.0)) - (sp-item 664 :fade-after (meters 40.0) :falloff-to (meters 40.0)) - ) - :bounds - (new 'static 'sphere :y -49152.0 :w 57344.0) - ) - ) +(set! (-> *part-group-id-table* 159) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lurkercrab-slide" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 663 :fade-after (meters 40.0) :falloff-to (meters 40.0)) + (sp-item 664 :fade-after (meters 40.0) :falloff-to (meters 40.0)) + ) + :bounds + (new 'static 'sphere :y -49152.0 :w 57344.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 663) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 30.0 1.0) - (sp-rnd-flt spt-g 80.0 20.0 1.0) - (sp-rnd-flt spt-b 30.0 30.0 1.0) - (sp-rnd-flt spt-a 16.0 48.0 1.0) - (sp-flt spt-vel-y (meters 0.0033333334)) - (sp-flt spt-scalevel-x (meters 0.033333335)) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -0.13653333) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 663) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 30.0 1.0) + (sp-rnd-flt spt-g 80.0 20.0 1.0) + (sp-rnd-flt spt-b 30.0 30.0 1.0) + (sp-rnd-flt spt-a 16.0 48.0 1.0) + (sp-flt spt-vel-y (meters 0.0033333334)) + (sp-flt spt-scalevel-x (meters 0.033333335)) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -0.13653333) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 664) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 75.0 60.0 1.0) - (sp-rnd-flt spt-g 60.0 20.0 1.0) - (sp-rnd-flt spt-b 23.0 30.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-flt spt-accel-y -6.826667) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.2)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 664) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 75.0 60.0 1.0) + (sp-rnd-flt spt-g 60.0 20.0 1.0) + (sp-rnd-flt spt-b 23.0 30.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-flt spt-accel-y -6.826667) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.2)) + (sp-end) + ) + ) + ) ;; definition of type lurkercrab (deftype lurkercrab (nav-enemy) @@ -89,8 +82,8 @@ ;; definition for method 3 of type lurkercrab (defmethod inspect lurkercrab ((obj lurkercrab)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Torient: ~A~%" (-> obj orient)) obj ) @@ -106,105 +99,79 @@ ;; definition for method 44 of type lurkercrab ;; INFO: Return type mismatch symbol vs object. -(defmethod - dummy-44 - lurkercrab - ((obj lurkercrab) (arg0 process) (arg1 event-message-block)) - (if - (and - (logtest? (-> obj nav-enemy-flags) 64) - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg1 param 0)) - (-> obj collide-info) - (the-as uint 1) - ) - ) - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 'generic - ) - ) - (dummy-55 - (-> obj collide-info) - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 0.7 - 6144.0 - 16384.0 - ) +(defmethod dummy-44 lurkercrab ((obj lurkercrab) (arg0 process) (arg1 event-message-block)) + (if (and (logtest? (-> obj nav-enemy-flags) 64) ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg1 param 0)) + (-> obj collide-info) + (the-as uint 1) + ) + ) + (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 'generic) + ) + (dummy-55 (-> obj collide-info) arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 0.7 6144.0 16384.0) (the-as object (if (zero? (logand (-> obj nav-enemy-flags) 256)) - (dummy-45 (-> obj collide-info)) - ) - ) + (dummy-45 (-> obj collide-info)) + ) + ) ) ;; definition for method 43 of type lurkercrab ;; Used lq/sq -(defmethod - dummy-43 - lurkercrab - ((obj lurkercrab) (arg0 process) (arg1 event-message-block)) +(defmethod dummy-43 lurkercrab ((obj lurkercrab) (arg0 process) (arg1 event-message-block)) (let ((s5-0 (-> obj incomming-attack-id))) - (set! (-> obj incomming-attack-id) (the-as handle (-> arg1 param 2))) - (let ((v1-1 (-> arg1 param 1))) - (cond - ((or (= v1-1 'flop) (= v1-1 'explode) (= v1-1 'darkeco)) - (logclear! (-> obj mask) (process-mask actor-pause)) - (go (method-of-object obj nav-enemy-die)) - ) - ((= v1-1 'punch) + (set! (-> obj incomming-attack-id) (the-as handle (-> arg1 param 2))) + (let ((v1-1 (-> arg1 param 1))) (cond - ((logtest? (-> obj nav-enemy-flags) 32) - (logclear! (-> obj mask) (process-mask actor-pause)) - (go (method-of-object obj nav-enemy-die)) - ) - ((begin - (let ((s4-0 (new 'stack-no-clear 'vector))) - (let ((f30-0 (quaternion-xz-angle (target-rot)))) - (set-vector! - s4-0 - (* 24576.0 (sin f30-0)) - 0.0 - (* 24576.0 (cos f30-0)) - 1.0 - ) - ) - (vector+! s4-0 (-> obj collide-info trans) s4-0) - (set! (-> obj nav target-pos quad) (-> s4-0 quad)) - ) - (go lurkercrab-pushed) - (= s5-0 (-> obj incomming-attack-id)) + ((or (= v1-1 'flop) (= v1-1 'explode) (= v1-1 'darkeco)) + (logclear! (-> obj mask) (process-mask actor-pause)) + (go (method-of-object obj nav-enemy-die)) ) - 'push + ((= v1-1 'punch) + (cond + ((logtest? (-> obj nav-enemy-flags) 32) + (logclear! (-> obj mask) (process-mask actor-pause)) + (go (method-of-object obj nav-enemy-die)) + ) + ((begin + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((f30-0 (quaternion-xz-angle (target-rot)))) + (set-vector! s4-0 (* 24576.0 (sin f30-0)) 0.0 (* 24576.0 (cos f30-0)) 1.0) + ) + (vector+! s4-0 (-> obj collide-info trans) s4-0) + (set! (-> obj nav target-pos quad) (-> s4-0 quad)) + ) + (go lurkercrab-pushed) + (= s5-0 (-> obj incomming-attack-id)) + ) + 'push + ) + (else + #t + ) + ) + ) + ((logtest? (-> obj nav-enemy-flags) 32) + (logclear! (-> obj mask) (process-mask actor-pause)) + (go (method-of-object obj nav-enemy-die)) + ) + ((begin + (let ((s4-1 (new 'stack-no-clear 'vector))) + (vector-! s4-1 (-> obj collide-info trans) (target-pos 0)) + (vector-normalize! s4-1 24576.0) + (vector+! s4-1 (-> obj collide-info trans) s4-1) + (set! (-> obj nav target-pos quad) (-> s4-1 quad)) + ) + (go lurkercrab-pushed) + (= s5-0 (-> obj incomming-attack-id)) + ) + 'push + ) + (else + #t + ) ) - (else - #t - ) - ) ) - ((logtest? (-> obj nav-enemy-flags) 32) - (logclear! (-> obj mask) (process-mask actor-pause)) - (go (method-of-object obj nav-enemy-die)) - ) - ((begin - (let ((s4-1 (new 'stack-no-clear 'vector))) - (vector-! s4-1 (-> obj collide-info trans) (target-pos 0)) - (vector-normalize! s4-1 24576.0) - (vector+! s4-1 (-> obj collide-info trans) s4-1) - (set! (-> obj nav target-pos quad) (-> s4-1 quad)) - ) - (go lurkercrab-pushed) - (= s5-0 (-> obj incomming-attack-id)) - ) - 'push - ) - (else - #t - ) - ) ) - ) ) ;; failed to figure out what this is: @@ -214,28 +181,23 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-37 lurkercrab ((obj lurkercrab)) (when (-> obj orient) - (if (logtest? (nav-control-flags bit19) (-> obj nav flags)) - (seek-to-point-toward-point! - (-> obj collide-info) - (-> obj nav target-pos) - (-> obj rotate-speed) - (-> obj turn-time) - ) - (seek-toward-heading-vec! - (-> obj collide-info) - (-> obj nav travel) - (-> obj rotate-speed) - (-> obj turn-time) - ) + (if (logtest? (nav-control-flags bit19) (-> obj nav flags)) + (seek-to-point-toward-point! + (-> obj collide-info) + (-> obj nav target-pos) + (-> obj rotate-speed) + (-> obj turn-time) + ) + (seek-toward-heading-vec! (-> obj collide-info) (-> obj nav travel) (-> obj rotate-speed) (-> obj turn-time)) + ) ) - ) (if (not (-> obj orient)) - (quaternion-rotate-y! - (-> obj collide-info quat) - (-> obj collide-info quat) - (* 163840.0 (-> *display* seconds-per-frame)) - ) - ) + (quaternion-rotate-y! + (-> obj collide-info quat) + (-> obj collide-info quat) + (* 163840.0 (-> *display* seconds-per-frame)) + ) + ) 0 (none) ) @@ -243,15 +205,7 @@ nav-enemy-default-event-handler ;; definition for method 38 of type lurkercrab ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-38 lurkercrab ((obj lurkercrab)) - (dummy-59 - (-> obj collide-info) - (-> obj collide-info transv) - (the-as uint 1) - 8192.0 - #f - #f - #f - ) + (dummy-59 (-> obj collide-info) (-> obj collide-info transv) (the-as uint 1) 8192.0 #f #f #f) 0 (none) ) @@ -261,123 +215,98 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkercrab) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkercrab) + nav-enemy-default-event-handler + ) :exit - (behavior () - (set! (-> self draw force-lod) -1) - (none) - ) + (behavior () (set! (-> self draw force-lod) -1) (none)) :code (behavior () - (set! (-> self target-speed) 0.0) - (set! (-> self draw force-lod) 2) - (ja-channel-push! 1 22) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity + (set! (-> self target-speed) 0.0) + (set! (-> self draw force-lod) 2) + (ja-channel-push! 1 22) + (while #t + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 4)) + num-func-identity + ) + (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) + ) + (let ((gp-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-1) 900) + (suspend) + ) + ) + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> gp-2 param 0) (ja-aframe 19.0 0)) + (set! (-> gp-2 param 1) 1.0) + (set! (-> gp-2 frame-num) (ja-aframe 1.0 0)) + (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 param 0) (ja-aframe 19.0 0)) + (set! (-> gp-3 param 1) 1.0) + (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-4 (-> self skel root-channel 0))) + (set! (-> gp-4 num-func) num-func-identity) + (set! (-> gp-4 frame-num) (ja-aframe 19.0 0)) + ) + (let ((gp-5 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-5) 300) + (suspend) + ) + ) + (let ((gp-6 (-> self skel root-channel 0))) + (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> gp-6 param 0) (ja-aframe 1.0 0)) + (set! (-> gp-6 param 1) 1.0) + (set! (-> gp-6 frame-num) (ja-aframe 19.0 0)) + (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-7 (-> self skel root-channel 0))) + (set! (-> gp-7 param 0) (ja-aframe 1.0 0)) + (set! (-> gp-7 param 1) 1.0) + (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - ) - (let ((gp-1 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-1) 900) - (suspend) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! - (-> gp-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! (-> gp-2 param 0) (ja-aframe 19.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 19.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 num-func) num-func-identity) - (set! (-> gp-4 frame-num) (ja-aframe 19.0 0)) - ) - (let ((gp-5 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-5) 300) - (suspend) - ) - ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! - (-> gp-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! (-> gp-6 param 0) (ja-aframe 1.0 0)) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 19.0 0)) - (joint-control-channel-group! - gp-6 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 param 0) (ja-aframe 1.0 0)) - (set! (-> gp-7 param 1) 1.0) - (joint-control-channel-group-eval! - gp-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) ) ;; definition for function lurkercrab-invulnerable (defbehavior lurkercrab-invulnerable lurkercrab () (set! (-> self nav-enemy-flags) (logand -33 (-> self nav-enemy-flags))) (let ((v1-3 (dummy-34 (-> self collide-info) (the-as uint 2)))) - (when v1-3 - (let ((v0-1 4)) - (set! (-> v1-3 prim-core offense) v0-1) - v0-1 - ) + (when v1-3 + (let ((v0-1 4)) + (set! (-> v1-3 prim-core offense) v0-1) + v0-1 + ) + ) ) - ) ) ;; definition for function lurkercrab-vulnerable (defbehavior lurkercrab-vulnerable lurkercrab () (logior! (-> self nav-enemy-flags) 32) (let ((v1-3 (dummy-34 (-> self collide-info) (the-as uint 2)))) - (when v1-3 - (let ((v0-1 1)) - (set! (-> v1-3 prim-core offense) v0-1) - v0-1 - ) + (when v1-3 + (let ((v0-1 1)) + (set! (-> v1-3 prim-core offense) v0-1) + v0-1 + ) + ) ) - ) ) ;; failed to figure out what this is: @@ -385,273 +314,158 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkercrab) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkercrab) + nav-enemy-default-event-handler + ) :exit (behavior () - (lurkercrab-invulnerable) - (set! (-> self nav-enemy-flags) (logand -65 (-> self nav-enemy-flags))) - (logior! (-> self nav-enemy-flags) 8) - (none) - ) - :code - (behavior () - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-4 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (ja-channel-push! 1 22) - (while #t - (dotimes (gp-0 6) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-8 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (when (nav-enemy-rnd-go-idle? 0.2) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) 1.0) - (joint-control-channel-group! - a0-12 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 180) - (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) - (nav-enemy-rnd-int-range 2 6) - (until (not (nav-enemy-rnd-go-idle? 0.2)) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe 1.0 0)) - ) - (let ((gp-2 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-2) 600) - (suspend) - ) - ) - ) - (logior! (-> self nav-enemy-flags) 8) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-19 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! - a0-19 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 param 0) - (the float (+ (-> a0-20 frame-group data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! - (-> gp-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! (-> gp-3 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (lurkercrab-vulnerable) - (logior! (-> self nav-enemy-flags) 64) - (dotimes (gp-5 2) - (let ((s5-0 (-> self skel root-channel 0))) - (set! - (-> s5-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! (-> s5-0 param 0) (ja-aframe 60.0 0)) - (set! (-> s5-0 param 1) 1.0) - (set! (-> s5-0 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 param 0) (ja-aframe 60.0 0)) - (set! (-> s5-1 param 1) 1.0) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) (lurkercrab-invulnerable) (set! (-> self nav-enemy-flags) (logand -65 (-> self nav-enemy-flags))) - (let ((gp-6 (-> self skel root-channel 0))) - (set! - (-> gp-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! (-> gp-6 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! - gp-6 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-7 param 1) 1.0) - (joint-control-channel-group-eval! - gp-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (logior! (-> self nav-enemy-flags) 8) + (none) + ) + :code + (behavior () + (when (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 4) + ) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-4 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (ja-channel-push! 1 22) + (while #t + (dotimes (gp-0 6) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-8 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-8 param 1) 1.0) + (set! (-> a0-8 frame-num) 0.0) + (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (when (nav-enemy-rnd-go-idle? 0.2) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) 1.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 180) + (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) + (nav-enemy-rnd-int-range 2 6) + (until (not (nav-enemy-rnd-go-idle? 0.2)) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 4)) + num-func-identity + ) + (set! (-> gp-1 frame-num) (ja-aframe 1.0 0)) + ) + (let ((gp-2 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-2) 600) + (suspend) + ) + ) + ) + (logior! (-> self nav-enemy-flags) 8) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-19 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-19 param 1) 1.0) + (set! (-> a0-19 frame-num) 0.0) + (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) + (set! (-> a0-20 param 1) 1.0) + (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> gp-3 param 0) (ja-aframe 30.0 0)) + (set! (-> gp-3 param 1) 1.0) + (set! (-> gp-3 frame-num) (ja-aframe 1.0 0)) + (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-4 (-> self skel root-channel 0))) + (set! (-> gp-4 param 0) (ja-aframe 30.0 0)) + (set! (-> gp-4 param 1) 1.0) + (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (lurkercrab-vulnerable) + (logior! (-> self nav-enemy-flags) 64) + (dotimes (gp-5 2) + (let ((s5-0 (-> self skel root-channel 0))) + (set! (-> s5-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> s5-0 param 0) (ja-aframe 60.0 0)) + (set! (-> s5-0 param 1) 1.0) + (set! (-> s5-0 frame-num) (ja-aframe 30.0 0)) + (joint-control-channel-group! s5-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((s5-1 (-> self skel root-channel 0))) + (set! (-> s5-1 param 0) (ja-aframe 60.0 0)) + (set! (-> s5-1 param 1) 1.0) + (joint-control-channel-group-eval! s5-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (lurkercrab-invulnerable) + (set! (-> self nav-enemy-flags) (logand -65 (-> self nav-enemy-flags))) + (let ((gp-6 (-> self skel root-channel 0))) + (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> gp-6 param 0) (ja-aframe 90.0 0)) + (set! (-> gp-6 param 1) 1.0) + (set! (-> gp-6 frame-num) (ja-aframe 60.0 0)) + (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-7 (-> self skel root-channel 0))) + (set! (-> gp-7 param 0) (ja-aframe 90.0 0)) + (set! (-> gp-7 param 1) 1.0) + (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -659,14 +473,11 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkercrab) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkercrab) + nav-enemy-default-event-handler + ) :code - (behavior () - (go-virtual nav-enemy-chase) - (none) - ) + (behavior () (go-virtual nav-enemy-chase) (none)) ) ;; failed to figure out what this is: @@ -674,296 +485,163 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkercrab) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkercrab) + nav-enemy-default-event-handler + ) :exit (behavior () - (lurkercrab-invulnerable) - (set! (-> self nav-enemy-flags) (logand -65 (-> self nav-enemy-flags))) - (none) - ) - :trans - (behavior () - (if (logtest? (-> *target* state-flags) #x80f8) - (go-virtual nav-enemy-victory) - ) - (if (< (ja-aframe-num 0) 2.0) - ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) - ) - (none) - ) - :code - (behavior () - (logior! (-> self nav-enemy-flags) 8) - (ja-channel-push! 1 22) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (lurkercrab-vulnerable) - (logior! (-> self nav-enemy-flags) 64) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! (-> gp-0 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! - (-> gp-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - (set! (-> gp-2 param 0) (ja-aframe 120.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 120.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-4 (-> self skel root-channel 0))) - (set! - (-> gp-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! (-> gp-4 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-4 param 1) 1.0) - (set! (-> gp-4 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-5 (-> self skel root-channel 0))) - (set! (-> gp-5 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-5 param 1) 1.0) - (joint-control-channel-group-eval! - gp-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! - (-> gp-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! (-> gp-6 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 30.0 0)) - (joint-control-channel-group! - gp-6 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-7 (-> self skel root-channel 0))) - (set! (-> gp-7 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-7 param 1) 1.0) - (joint-control-channel-group-eval! - gp-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) (lurkercrab-invulnerable) (set! (-> self nav-enemy-flags) (logand -65 (-> self nav-enemy-flags))) - (let ((gp-8 (-> self skel root-channel 0))) - (set! - (-> gp-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! (-> gp-8 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-8 param 1) 1.0) - (set! (-> gp-8 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! - gp-8 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-9 (-> self skel root-channel 0))) - (set! (-> gp-9 param 0) (ja-aframe 90.0 0)) - (set! (-> gp-9 param 1) 1.0) - (joint-control-channel-group-eval! - gp-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-35 (-> self skel root-channel 0))) - (set! - (-> a0-35 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-35 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! - a0-35 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! - (-> a0-36 param 0) - (the float (+ (-> a0-36 frame-group data 0 length) -1)) - ) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! - a0-36 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-38 (-> self skel root-channel 0))) - (set! - (-> a0-38 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-38 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-38 param 1) 1.0) - (set! (-> a0-38 frame-num) 0.0) - (joint-control-channel-group! - a0-38 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-39 (-> self skel root-channel 0))) - (set! - (-> a0-39 param 0) - (the float (+ (-> a0-39 frame-group data 0 length) -1)) - ) - (set! (-> a0-39 param 1) 1.0) - (joint-control-channel-group-eval! - a0-39 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) + ) + :trans + (behavior () + (if (logtest? (-> *target* state-flags) #x80f8) + (go-virtual nav-enemy-victory) + ) + (if (< (ja-aframe-num 0) 2.0) + ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) + ) + (none) + ) + :code + (behavior () + (logior! (-> self nav-enemy-flags) 8) + (ja-channel-push! 1 22) + (while #t + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (lurkercrab-vulnerable) + (logior! (-> self nav-enemy-flags) 64) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> gp-0 param 0) (ja-aframe 30.0 0)) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 30.0 0)) + (set! (-> gp-1 param 1) 1.0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + (set! (-> gp-2 param 0) (ja-aframe 120.0 0)) + (set! (-> gp-2 param 1) 1.0) + (set! (-> gp-2 frame-num) (ja-aframe 30.0 0)) + (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 param 0) (ja-aframe 120.0 0)) + (set! (-> gp-3 param 1) 1.0) + (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-4 (-> self skel root-channel 0))) + (set! (-> gp-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> gp-4 param 0) (ja-aframe 60.0 0)) + (set! (-> gp-4 param 1) 1.0) + (set! (-> gp-4 frame-num) (ja-aframe 30.0 0)) + (joint-control-channel-group! gp-4 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-5 (-> self skel root-channel 0))) + (set! (-> gp-5 param 0) (ja-aframe 60.0 0)) + (set! (-> gp-5 param 1) 1.0) + (joint-control-channel-group-eval! gp-5 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-6 (-> self skel root-channel 0))) + (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> gp-6 param 0) (ja-aframe 60.0 0)) + (set! (-> gp-6 param 1) 1.0) + (set! (-> gp-6 frame-num) (ja-aframe 30.0 0)) + (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-7 (-> self skel root-channel 0))) + (set! (-> gp-7 param 0) (ja-aframe 60.0 0)) + (set! (-> gp-7 param 1) 1.0) + (joint-control-channel-group-eval! gp-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (lurkercrab-invulnerable) + (set! (-> self nav-enemy-flags) (logand -65 (-> self nav-enemy-flags))) + (let ((gp-8 (-> self skel root-channel 0))) + (set! (-> gp-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> gp-8 param 0) (ja-aframe 90.0 0)) + (set! (-> gp-8 param 1) 1.0) + (set! (-> gp-8 frame-num) (ja-aframe 60.0 0)) + (joint-control-channel-group! gp-8 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-9 (-> self skel root-channel 0))) + (set! (-> gp-9 param 0) (ja-aframe 90.0 0)) + (set! (-> gp-9 param 1) 1.0) + (joint-control-channel-group-eval! gp-9 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-35 (-> self skel root-channel 0))) + (set! (-> a0-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-35 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-35 param 1) 1.0) + (set! (-> a0-35 frame-num) 0.0) + (joint-control-channel-group! a0-35 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-36 (-> self skel root-channel 0))) + (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) + (set! (-> a0-36 param 1) 1.0) + (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-38 (-> self skel root-channel 0))) + (set! (-> a0-38 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-38 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-38 param 1) 1.0) + (set! (-> a0-38 frame-num) 0.0) + (joint-control-channel-group! a0-38 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-39 (-> self skel root-channel 0))) + (set! (-> a0-39 param 0) (the float (+ (-> a0-39 frame-group data 0 length) -1))) + (set! (-> a0-39 param 1) 1.0) + (joint-control-channel-group-eval! a0-39 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -971,14 +649,11 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkercrab) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkercrab) + nav-enemy-default-event-handler + ) :code - (behavior () - (go-virtual nav-enemy-patrol) - (none) - ) + (behavior () (go-virtual nav-enemy-patrol) (none)) ) ;; failed to figure out what this is: @@ -986,14 +661,11 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkercrab) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkercrab) + nav-enemy-default-event-handler + ) :code - (behavior () - (go-virtual nav-enemy-patrol) - (none) - ) + (behavior () (go-virtual nav-enemy-patrol) (none)) ) ;; failed to figure out what this is: @@ -1001,222 +673,186 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkercrab) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkercrab) + nav-enemy-default-event-handler + ) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (ja-channel-push! 1 22) - (let ((v1-4 (-> self skel root-channel 0))) - (set! - (-> v1-4 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info victory-anim)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (ja-channel-push! 1 22) + (let ((v1-4 (-> self skel root-channel 0))) + (set! (-> v1-4 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) + ) ) - ) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (let ((v1-7 (-> self skel root-channel 0))) + (set! (-> v1-7 num-func) num-func-identity) + (set! (-> v1-7 frame-num) 0.0) + ) + (suspend) + ) + (go-virtual nav-enemy-patrol) + (none) ) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) 0.0) - ) - (suspend) - ) - (go-virtual nav-enemy-patrol) - (none) - ) ) ;; failed to figure out what this is: (defstate lurkercrab-pushed (lurkercrab) :event (the-as - (function process int symbol event-message-block object :behavior lurkercrab) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkercrab) + nav-enemy-default-event-handler + ) :exit - (behavior () - (set! (-> self orient) #t) - (none) - ) + (behavior () (set! (-> self orient) #t) (none)) :code (behavior () - (set! (-> self momentum-speed) 57344.0) - (set! (-> self target-speed) 0.0) - (set! (-> self orient) #f) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! (-> gp-0 param 0) (ja-aframe 18.0 0)) - (set! (-> gp-0 param 1) 0.75) - (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 18.0 0)) - (set! (-> gp-1 param 1) 0.75) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! + (set! (-> self momentum-speed) 57344.0) + (set! (-> self target-speed) 0.0) + (set! (-> self orient) #f) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> gp-0 param 0) (ja-aframe 18.0 0)) + (set! (-> gp-0 param 1) 0.75) + (set! (-> gp-0 frame-num) (ja-aframe 1.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) ) - ) + (until (ja-done? 0) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 18.0 0)) + (set! (-> gp-1 param 1) 0.75) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-2 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-2) 75) + (suspend) + ) + ) + (let ((gp-3 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-3) 30) + (suspend) + ) + ) + (go-virtual nav-enemy-chase) + (none) ) - (let ((gp-2 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-2) 75) - (suspend) - ) - ) - (let ((gp-3 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-3) 30) - (suspend) - ) - ) - (go-virtual nav-enemy-chase) - (none) - ) :post (behavior () - (let ((a0-0 (-> self part)) - (a1-0 (-> self collide-info root-prim prim-core)) - ) - (spawn a0-0 (the-as vector a1-0)) + (let ((a0-0 (-> self part)) + (a1-0 (-> self collide-info root-prim prim-core)) + ) + (spawn a0-0 (the-as vector a1-0)) + ) + (nav-enemy-travel-post) + (none) ) - (nav-enemy-travel-post) - (none) - ) ) ;; definition for symbol *lurkercrab-nav-enemy-info*, type nav-enemy-info -(define - *lurkercrab-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 4 - :walk-anim 6 - :turn-anim -1 - :notice-anim 4 - :run-anim 6 - :jump-anim 6 - :jump-land-anim 6 - :victory-anim 4 - :taunt-anim 4 - :die-anim 11 - :neck-joint -1 - :player-look-at-joint 5 - :run-travel-speed (meters 5.0) - :run-rotate-speed (degrees 999.99994) - :run-acceleration (meters 12.0) - :run-turn-time (seconds 0.1) - :walk-travel-speed (meters 2.0) - :walk-rotate-speed (degrees 999.99994) - :walk-acceleration (meters 12.0) - :walk-turn-time (seconds 0.1) - :attack-shove-back (meters 1.2) - :attack-shove-up (meters 1.5) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 1.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 25.0) - :stop-chase-distance (meters 35.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 4.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #t - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #t - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *lurkercrab-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 4 + :walk-anim 6 + :turn-anim -1 + :notice-anim 4 + :run-anim 6 + :jump-anim 6 + :jump-land-anim 6 + :victory-anim 4 + :taunt-anim 4 + :die-anim 11 + :neck-joint -1 + :player-look-at-joint 5 + :run-travel-speed (meters 5.0) + :run-rotate-speed (degrees 999.99994) + :run-acceleration (meters 12.0) + :run-turn-time (seconds 0.1) + :walk-travel-speed (meters 2.0) + :walk-rotate-speed (degrees 999.99994) + :walk-acceleration (meters 12.0) + :walk-turn-time (seconds 0.1) + :attack-shove-back (meters 1.2) + :attack-shove-up (meters 1.5) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 1.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 25.0) + :stop-chase-distance (meters 35.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 4.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #t + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #t + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 11 of type lurkercrab ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! lurkercrab ((obj lurkercrab) (arg0 entity-actor)) - (let - ((s4-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 3) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s3-0 local-sphere) 0.0 10240.0 0.0 12288.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 2)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 4) + (set-vector! (-> s2-0 local-sphere) 0.0 4915.2 0.0 4096.0) + (append-prim s3-0 s2-0) + ) + (let ((s2-1 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core offense) 2) + (set! (-> s2-1 transform-index) 16) + (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 1638.4) + (append-prim s3-0 s2-1) + ) + (let ((s2-2 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core offense) 2) + (set! (-> s2-2 transform-index) 21) + (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 1638.4) + (append-prim s3-0 s2-2) + ) ) - ) + (set! (-> s4-0 nav-radius) 4096.0) + (backup-collide-with-as s4-0) + (set! (-> obj collide-info) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 3) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s3-0 local-sphere) 0.0 10240.0 0.0 12288.0) - (set-root-prim! s4-0 s3-0) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 2)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 4) - (set-vector! (-> s2-0 local-sphere) 0.0 4915.2 0.0 4096.0) - (append-prim s3-0 s2-0) - ) - (let ((s2-1 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) - (set! (-> s2-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core offense) 2) - (set! (-> s2-1 transform-index) 16) - (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 1638.4) - (append-prim s3-0 s2-1) - ) - (let ((s2-2 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) - (set! (-> s2-2 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core offense) 2) - (set! (-> s2-2 transform-index) 21) - (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 1638.4) - (append-prim s3-0 s2-2) - ) - ) - (set! (-> s4-0 nav-radius) 4096.0) - (backup-collide-with-as s4-0) - (set! (-> obj collide-info) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *lurkercrab-sg* '()) (TODO-RENAME-45 obj *lurkercrab-nav-enemy-info*) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 159) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 159) obj)) (set! (-> obj orient) #t) (set! (-> obj nav-enemy-flags) (logand -97 (-> obj nav-enemy-flags))) (set! (-> obj target-speed) 0.0) diff --git a/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc b/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc index bd9e7fea25..d81f17473f 100644 --- a/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkerpuppy_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type lurkerpuppy (defmethod inspect lurkerpuppy ((obj lurkerpuppy)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -36,67 +36,37 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkerpuppy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkerpuppy) + nav-enemy-default-event-handler + ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 51) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 51) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) + (go-virtual nav-enemy-chase) + (none) ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-chase) - (none) - ) ) ;; failed to figure out what this is: @@ -104,129 +74,69 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkerpuppy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkerpuppy) + nav-enemy-default-event-handler + ) :code (behavior () - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> gp-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 10) ) - -1 + (ja-channel-push! 1 51) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> gp-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) (ja-aframe 4.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) ) + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (ja-channel-push! 1 51) ) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 4.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (ja-channel-push! 1 51) - ) - ) - (let ((f30-0 (rand-vu-float-range 0.9 1.1))) - (while #t - (if (rand-vu-percent? 0.25) - (sound-play-by-name - (static-sound-name "puppy-bark") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! - (-> a0-14 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-14 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length + (let ((f30-0 (rand-vu-float-range 0.9 1.1))) + (while #t + (if (rand-vu-percent? 0.25) + (sound-play-by-name (static-sound-name "puppy-bark") (new-sound-id) 1024 0 0 1 #t) + ) + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-14 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-14 param 1) f30-0) + (set! (-> a0-14 frame-num) 0.0) + (joint-control-channel-group! a0-14 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (if (logtest? (-> self nav-enemy-flags) 256) + (go-virtual nav-enemy-attack) + ) + (suspend) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) + (set! (-> a0-15 param 1) f30-0) + (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-14 param 1) f30-0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! - a0-14 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) ) - (until (ja-done? 0) - (if (logtest? (-> self nav-enemy-flags) 256) - (go-virtual nav-enemy-attack) - ) - (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 param 0) - (the float (+ (-> a0-15 frame-group data 0 length) -1)) - ) - (set! (-> a0-15 param 1) f30-0) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -234,90 +144,68 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkerpuppy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkerpuppy) + nav-enemy-default-event-handler + ) :code (behavior () - (set! (-> self rotate-speed) 1456355.5) - (set! (-> self turn-time) 30) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - (let ((f30-0 (rand-vu-float-range 0.8 1.2))) - (while #t - (logior! (-> self nav-enemy-flags) 16) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! (-> gp-0 param 0) (ja-aframe 12.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (let ((f0-3 (ja-aframe-num 0))) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - (if (and (>= f0-3 2.5) (>= 7.5 f0-3)) + (set! (-> self rotate-speed) 1456355.5) + (set! (-> self turn-time) 30) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + (let ((f30-0 (rand-vu-float-range 0.8 1.2))) + (while #t (logior! (-> self nav-enemy-flags) 16) + (ja-channel-push! 1 30) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> gp-0 param 0) (ja-aframe 12.0 0)) + (set! (-> gp-0 param 1) f30-0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (let ((f0-3 (ja-aframe-num 0))) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + (if (and (>= f0-3 2.5) (>= 7.5 f0-3)) + (logior! (-> self nav-enemy-flags) 16) + ) + ) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 12.0 0)) + (set! (-> gp-1 param 1) f30-0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) 1.0) + (joint-control-channel-group! a0-11 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 30) + (let ((v1-31 (-> self skel root-channel 0))) + (set! (-> v1-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + ) + (let ((v1-34 (-> self skel root-channel 0))) + (set! (-> v1-34 num-func) num-func-identity) + (set! (-> v1-34 frame-num) 0.0) + ) + (let ((gp-2 (rand-vu-int-range 750 900)) + (s5-0 (-> *display* base-frame-counter)) + ) + (until (>= (- (-> *display* base-frame-counter) s5-0) gp-2) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) 1.0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-blend-eval) + (suspend) + ) + ) ) - ) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 12.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group! - a0-11 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 30) - (let ((v1-31 (-> self skel root-channel 0))) - (set! - (-> v1-31 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - ) - (let ((v1-34 (-> self skel root-channel 0))) - (set! (-> v1-34 num-func) num-func-identity) - (set! (-> v1-34 frame-num) 0.0) - ) - (let ((gp-2 (rand-vu-int-range 750 900)) - (s5-0 (-> *display* base-frame-counter)) - ) - (until (>= (- (-> *display* base-frame-counter) s5-0) gp-2) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) 1.0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-blend-eval) - (suspend) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -325,111 +213,59 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkerpuppy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkerpuppy) + nav-enemy-default-event-handler + ) :code (behavior () - (set! (-> self rotate-speed) 218453.33) - (set! (-> self turn-time) 150) - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (set! (-> self rotate-speed) 218453.33) + (set! (-> self turn-time) 150) + (ja-channel-push! 1 22) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) + (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) + (nav-enemy-get-new-patrol-point) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-7 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-7 param 1) 1.4) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) - (nav-enemy-get-new-patrol-point) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-7 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (until (ja-done? 0) + (seek-to-point-toward-point! + (-> self collide-info) + (-> self nav destination-pos) + (-> self rotate-speed) + (-> self turn-time) + ) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.4) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-7 param 1) 1.4) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) + (go-virtual nav-enemy-patrol) + (none) ) - (until (ja-done? 0) - (seek-to-point-toward-point! - (-> self collide-info) - (-> self nav destination-pos) - (-> self rotate-speed) - (-> self turn-time) - ) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.4) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-patrol) - (none) - ) ) ;; failed to figure out what this is: @@ -437,23 +273,15 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkerpuppy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkerpuppy) + nav-enemy-default-event-handler + ) :code (behavior () - (sound-play-by-name - (static-sound-name "head-butt") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (sound-play-by-name (static-sound-name "head-butt") (new-sound-id) 1024 0 0 1 #t) + (go-virtual nav-enemy-victory) + (none) ) - (go-virtual nav-enemy-victory) - (none) - ) ) ;; failed to figure out what this is: @@ -461,167 +289,123 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior lurkerpuppy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior lurkerpuppy) + nav-enemy-default-event-handler + ) :exit - (behavior () - (logior! (-> self nav-enemy-flags) 16) - (none) - ) + (behavior () (logior! (-> self nav-enemy-flags) 16) (none)) :code (behavior () - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - (ja-channel-push! 1 22) - (dotimes (gp-0 4) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length - ) - -1 + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + (ja-channel-push! 1 22) + (dotimes (gp-0 4) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (let ((f0-4 (ja-aframe-num 0))) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + (if (and (>= f0-4 2.5) (>= 7.5 f0-4)) + (logior! (-> self nav-enemy-flags) 16) + ) + ) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (let ((f0-4 (ja-aframe-num 0))) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - (if (and (>= f0-4 2.5) (>= 7.5 f0-4)) - (logior! (-> self nav-enemy-flags) 16) - ) - ) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (go-virtual nav-enemy-chase) + (none) ) - (go-virtual nav-enemy-chase) - (none) - ) :post (the-as (function none :behavior lurkerpuppy) nav-enemy-face-player-post) ) ;; definition for symbol *lurkerpuppy-nav-enemy-info*, type nav-enemy-info -(define - *lurkerpuppy-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 5 - :walk-anim 6 - :turn-anim 6 - :notice-anim 8 - :run-anim 7 - :jump-anim 9 - :jump-land-anim 10 - :victory-anim 8 - :taunt-anim 8 - :die-anim 11 - :neck-joint -1 - :player-look-at-joint 5 - :run-travel-speed (meters 5.0) - :run-rotate-speed (degrees 3999.9998) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.15) - :walk-travel-speed (meters 2.0) - :walk-rotate-speed (degrees 1999.9999) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.1) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 1.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 30.0) - :stop-chase-distance (meters 40.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 6.0 - :jump-anim-start-frame 3.5 - :jump-land-anim-end-frame 14.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 0.5) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #t - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *lurkerpuppy-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 5 + :walk-anim 6 + :turn-anim 6 + :notice-anim 8 + :run-anim 7 + :jump-anim 9 + :jump-land-anim 10 + :victory-anim 8 + :taunt-anim 8 + :die-anim 11 + :neck-joint -1 + :player-look-at-joint 5 + :run-travel-speed (meters 5.0) + :run-rotate-speed (degrees 3999.9998) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.15) + :walk-travel-speed (meters 2.0) + :walk-rotate-speed (degrees 1999.9999) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.1) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 1.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 30.0) + :stop-chase-distance (meters 40.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 6.0 + :jump-anim-start-frame 3.5 + :jump-land-anim-end-frame 14.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 0.5) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #t + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 47 of type lurkerpuppy ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision lurkerpuppy ((obj lurkerpuppy)) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 2) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 4915.2) + (set-root-prim! s5-0 s4-0) ) - ) + (set! (-> s5-0 nav-radius) 2048.0) + (backup-collide-with-as s5-0) + (set! (-> obj collide-info) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 2) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 4915.2) - (set-root-prim! s5-0 s4-0) - ) - (set! (-> s5-0 nav-radius) 2048.0) - (backup-collide-with-as s5-0) - (set! (-> obj collide-info) s5-0) - ) 0 (none) ) @@ -632,10 +416,10 @@ nav-enemy-default-event-handler (initialize-skeleton obj *lurkerpuppy-sg* '()) (TODO-RENAME-45 obj *lurkerpuppy-nav-enemy-info*) (when (nonzero? (-> obj neck)) - (set! (-> obj neck up) (the-as uint 0)) - (set! (-> obj neck nose) (the-as uint 1)) - (set! (-> obj neck ear) (the-as uint 2)) - ) + (set! (-> obj neck up) (the-as uint 0)) + (set! (-> obj neck nose) (the-as uint 1)) + (set! (-> obj neck ear) (the-as uint 2)) + ) 0 (none) ) diff --git a/test/decompiler/reference/levels/beach/lurkerworm_REF.gc b/test/decompiler/reference/levels/beach/lurkerworm_REF.gc index ef12ed1588..a0a2e6a52d 100644 --- a/test/decompiler/reference/levels/beach/lurkerworm_REF.gc +++ b/test/decompiler/reference/levels/beach/lurkerworm_REF.gc @@ -33,8 +33,8 @@ ;; definition for method 3 of type lurkerworm (defmethod inspect lurkerworm ((obj lurkerworm)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttwister: ~A~%" (-> obj twister)) (format #t "~T~Thead-tilt: ~f~%" (-> obj head-tilt)) (format #t "~T~Tstrike-count: ~D~%" (-> obj strike-count)) @@ -48,19 +48,19 @@ ;; INFO: Return type mismatch process-drawable vs lurkerworm. (defmethod relocate lurkerworm ((obj lurkerworm) (arg0 int)) (if (nonzero? (-> obj part2)) - (&+! (-> obj part2) arg0) - ) + (&+! (-> obj part2) arg0) + ) (if (nonzero? (-> obj twister)) - (&+! (-> obj twister) arg0) - ) + (&+! (-> obj twister) arg0) + ) (the-as lurkerworm ((method-of-type process-drawable relocate) obj arg0)) ) ;; definition for method 10 of type lurkerworm (defmethod deactivate lurkerworm ((obj lurkerworm)) (if (nonzero? (-> obj part2)) - (kill-and-free-particles (-> obj part2)) - ) + (kill-and-free-particles (-> obj part2)) + ) ((method-of-type process-drawable deactivate) obj) (none) ) @@ -75,236 +75,208 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 157) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-beach-sandworm" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 656 :fade-after (meters 90.0) :period 900 :length 300) - (sp-item 657 :fade-after (meters 100.0) :period 900 :length 390) - (sp-item 658 :fade-after (meters 150.0) :period 900 :length 420 :offset 120) - (sp-item 659 :fade-after (meters 60.0) :period 900 :length 420 :offset 120) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 157) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-beach-sandworm" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 656 :fade-after (meters 90.0) :period 900 :length 300) + (sp-item 657 :fade-after (meters 100.0) :period 900 :length 390) + (sp-item 658 :fade-after (meters 150.0) :period 900 :length 420 :offset 120) + (sp-item 659 :fade-after (meters 60.0) :period 900 :length 420 :offset 120) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 158) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-beach-sandworm-norocks" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 656 :fade-after (meters 90.0) :period 900 :length 300) - (sp-item 658 :fade-after (meters 150.0) :period 900 :length 420 :offset 120) - (sp-item 659 :fade-after (meters 60.0) :period 900 :length 420 :offset 120) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 158) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-beach-sandworm-norocks" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 656 :fade-after (meters 90.0) :period 900 :length 300) + (sp-item 658 :fade-after (meters 150.0) :period 900 :length 420 :offset 120) + (sp-item 659 :fade-after (meters 60.0) :period 900 :length 420 :offset 120) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 656) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-x (meters 3.0) (meters 5.0) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 130.0 20.0 1.0) - (sp-rnd-flt spt-g 90.0 20.0 1.0) - (sp-rnd-flt spt-b 50.0 8.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters -0.02)) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 660) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 656) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-x (meters 3.0) (meters 5.0) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 130.0 20.0 1.0) + (sp-rnd-flt spt-g 90.0 20.0 1.0) + (sp-rnd-flt spt-b 50.0 8.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters -0.02)) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 660) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 660) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 660) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.21333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 658) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 90.0 60.0 1.0) - (sp-rnd-flt spt-g 90.0 10.0 1.0) - (sp-rnd-flt spt-b 50.0 8.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-flt spt-fade-a 0.32) - (sp-flt spt-accel-y -4.096) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 658) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 90.0 60.0 1.0) + (sp-rnd-flt spt-g 90.0 10.0 1.0) + (sp-rnd-flt spt-b 50.0 8.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-flt spt-fade-a 0.32) + (sp-flt spt-accel-y -4.096) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 659) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.6) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 45.0 30.0 1.0) - (sp-rnd-flt spt-g 45.0 5.0 1.0) - (sp-rnd-flt spt-b 25.0 4.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-flt spt-fade-a 0.42666668) - (sp-flt spt-accel-y -4.096) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 659) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.6) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 45.0 30.0 1.0) + (sp-rnd-flt spt-g 45.0 5.0 1.0) + (sp-rnd-flt spt-b 25.0 4.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-flt spt-fade-a 0.42666668) + (sp-flt spt-accel-y -4.096) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 657) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 75.0 45.0 1.0) - (sp-rnd-flt spt-g 75.0 10.0 1.0) - (sp-rnd-flt spt-b 40.0 6.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.026666667) 1.0) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-flt spt-accel-y -4.096) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 657) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 75.0 45.0 1.0) + (sp-rnd-flt spt-g 75.0 10.0 1.0) + (sp-rnd-flt spt-b 40.0 6.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.026666667) 1.0) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-flt spt-accel-y -4.096) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 661) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 90.0 60.0 1.0) - (sp-rnd-flt spt-g 90.0 10.0 1.0) - (sp-rnd-flt spt-b 50.0 8.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.00083333335) 1.0) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-flt spt-fade-a 0.21333334) - (sp-flt spt-accel-y -0.54613334) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 662) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 661) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 90.0 60.0 1.0) + (sp-rnd-flt spt-g 90.0 10.0 1.0) + (sp-rnd-flt spt-b 50.0 8.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.00083333335) 1.0) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-flt spt-fade-a 0.21333334) + (sp-flt spt-accel-y -0.54613334) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 662) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 662) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 662) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.10666667) (sp-end)) + ) + ) ;; definition for method 20 of type lurkerworm ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-20 lurkerworm ((obj lurkerworm)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 (target-pos 0) (-> obj root-override trans)) - (set-target! (-> obj twister) (atan (-> s5-0 x) (-> s5-0 z))) - (TODO-RENAME-11 (-> obj twister)) - (let* - ((f0-5 (sqrtf (+ (* (-> s5-0 x) (-> s5-0 x)) (* (-> s5-0 z) (-> s5-0 z))))) - (f0-6 (atan (-> s5-0 y) f0-5)) - ) - (set! - (-> obj head-tilt) - (seek - (-> obj head-tilt) - f0-6 - (* 5461.3335 (-> *display* seconds-per-frame)) + (vector-! s5-0 (target-pos 0) (-> obj root-override trans)) + (set-target! (-> obj twister) (atan (-> s5-0 x) (-> s5-0 z))) + (TODO-RENAME-11 (-> obj twister)) + (let* ((f0-5 (sqrtf (+ (* (-> s5-0 x) (-> s5-0 x)) (* (-> s5-0 z) (-> s5-0 z))))) + (f0-6 (atan (-> s5-0 y) f0-5)) + ) + (set! (-> obj head-tilt) (seek (-> obj head-tilt) f0-6 (* 5461.3335 (-> *display* seconds-per-frame)))) ) - ) ) - ) (set! (-> obj head-tilt) (fmin 8192.0 (fmax -5461.3335 (-> obj head-tilt)))) 0 (none) @@ -312,16 +284,14 @@ ;; definition for function lurkerworm-prebind-function ;; INFO: Return type mismatch int vs none. -(defbehavior - lurkerworm-prebind-function lurkerworm - ((arg0 process) (arg1 int) (arg2 lurkerworm)) +(defbehavior lurkerworm-prebind-function lurkerworm ((arg0 process) (arg1 int) (arg2 lurkerworm)) (let ((v1-0 arg2) (s5-0 (new 'stack-no-clear 'quaternion)) (gp-0 (&-> arg0 stack 324)) ) - (quaternion-axis-angle! s5-0 -1.0 0.0 0.0 (-> v1-0 head-tilt)) - (quaternion*! (the-as quaternion gp-0) (the-as quaternion gp-0) s5-0) - ) + (quaternion-axis-angle! s5-0 -1.0 0.0 0.0 (-> v1-0 head-tilt)) + (quaternion*! (the-as quaternion gp-0) (the-as quaternion gp-0) s5-0) + ) 0 (none) ) @@ -330,8 +300,8 @@ ;; INFO: Return type mismatch int vs none. (defun lurkerworm-joint-callback ((arg0 lurkerworm)) (let ((a1-0 arg0)) - (TODO-RENAME-12 (-> a1-0 twister) a1-0) - ) + (TODO-RENAME-12 (-> a1-0 twister) a1-0) + ) 0 (none) ) @@ -339,86 +309,67 @@ ;; definition for method 21 of type lurkerworm ;; INFO: Return type mismatch int vs none. (defmethod particle-effect lurkerworm ((obj lurkerworm)) - (let - ((a2-0 - (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 5)) - ) + (let ((a2-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 5)))) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 661) + a2-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 661) - a2-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 + (let ((a2-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 6)))) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 661) + a2-1 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - ) - (let - ((a2-1 - (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 6)) - ) + (let ((a2-2 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 7)))) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 661) + a2-2 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 661) - a2-1 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 + (let ((a2-3 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 8)))) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 661) + a2-3 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - ) - (let - ((a2-2 - (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 7)) - ) - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 661) - a2-2 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) - (let - ((a2-3 - (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data 8)) - ) - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 661) - a2-3 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) 0 (none) ) ;; definition for function lurkerworm-default-event-handler -(defbehavior - lurkerworm-default-event-handler lurkerworm - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack) +(defbehavior lurkerworm-default-event-handler lurkerworm ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('attack) (-> arg3 param 1) (go lurkerworm-die) ) - (('touch) - (if - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self root-override) - (the-as uint 1) - ) - (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (('touch) + (if ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (-> self root-override) + (the-as uint 1) + ) + (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + ) ) ) - ) ) ;; definition for function lurkerworm-default-post-behavior @@ -441,32 +392,21 @@ lurkerworm-default-post-behavior :event lurkerworm-default-event-handler :enter - (behavior () - (ja-channel-set! 0) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (ja-channel-set! 0) (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :code (behavior () - (while #t - (if - (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - *target* - (>= - 81920.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) + (while #t + (if (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + *target* + (>= 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + ) + (go lurkerworm-spot) + ) + (suspend) ) - (go lurkerworm-spot) - ) - (suspend) + (none) ) - (none) - ) :post lurkerworm-default-post-behavior ) @@ -477,44 +417,26 @@ lurkerworm-default-post-behavior lurkerworm-default-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (sound-play-by-name - (static-sound-name "worm-rise1") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (set! (-> self state-time) (-> *display* base-frame-counter)) + (sound-play-by-name (static-sound-name "worm-rise1") (new-sound-id) 1024 0 0 1 #t) + (none) ) - (none) - ) :code (behavior () - (set! (-> self part local-clock) 0) - (while #t - (spawn (-> self part) (-> self root-override trans)) - (particle-effect self) - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (if - (and - *target* - (>= - 81920.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) + (set! (-> self part local-clock) 0) + (while #t + (spawn (-> self part) (-> self root-override trans)) + (particle-effect self) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (if (and *target* (>= 81920.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + (go lurkerworm-rise) + (go lurkerworm-idle) + ) ) - ) - (go lurkerworm-rise) - (go lurkerworm-idle) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) :post lurkerworm-default-post-behavior ) @@ -524,62 +446,33 @@ lurkerworm-default-post-behavior :event lurkerworm-default-event-handler :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :code (behavior () - (ja-channel-set! 1) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (ja-channel-set! 1) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (spawn (-> self part) (-> self root-override trans)) + (particle-effect self) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) + (set! (-> self strike-count) 3) + (go lurkerworm-rest) + (none) ) - (until (ja-done? 0) - (spawn (-> self part) (-> self root-override trans)) - (particle-effect self) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set! (-> self strike-count) 3) - (go lurkerworm-rest) - (none) - ) :post lurkerworm-default-post-behavior ) @@ -590,115 +483,77 @@ lurkerworm-default-post-behavior lurkerworm-default-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self vulnerable) #t) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self vulnerable) #t) + (none) + ) :exit - (behavior () - (set! (-> self vulnerable) #f) - (none) - ) + (behavior () (set! (-> self vulnerable) #f) (none)) :code (behavior () - (let* ((f30-0 10.0) - (f28-0 100.0) - (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - (s5-0 (the int (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2)))))) - (gp-1 (nonzero? (-> self strike-count))) - ) - (if gp-1 - (+! (-> self strike-count) -1) - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (particle-effect self) - (when gp-1 - (let* ((f0-13 (- 1.0 (* 0.00009765625 (+ -16384.0 (if *target* - (vector-vector-distance - (-> - self - root-override - trans - ) - (-> - *target* - control - trans - ) - ) - 4096000.0 - ) - ) - ) - ) - ) - (f30-2 (* 0.2 f0-13)) - (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-32 (the-as number (logior #x3f800000 v1-31))) - ) - (if (< (+ -1.0 (the-as float v1-32)) f30-2) - (go lurkerworm-strike) - ) - ) - ) - (+! s5-0 -1) - (when (zero? s5-0) + (let* ((f30-0 10.0) + (f28-0 100.0) + (v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-2 (the-as number (logior #x3f800000 v1-1))) + (s5-0 (the int (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-2)))))) + (gp-1 (nonzero? (-> self strike-count))) + ) (if gp-1 - (go lurkerworm-strike) - (go lurkerworm-sink) - ) + (+! (-> self strike-count) -1) + ) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (particle-effect self) + (when gp-1 + (let* ((f0-13 + (- 1.0 (* 0.00009765625 + (+ -16384.0 (if *target* + (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + 4096000.0 + ) + ) + ) + ) + ) + (f30-2 (* 0.2 f0-13)) + (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-32 (the-as number (logior #x3f800000 v1-31))) + ) + (if (< (+ -1.0 (the-as float v1-32)) f30-2) + (go lurkerworm-strike) + ) + ) + ) + (+! s5-0 -1) + (when (zero? s5-0) + (if gp-1 + (go lurkerworm-strike) + (go lurkerworm-sink) + ) + ) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (if gp-1 + (go lurkerworm-strike) + (go lurkerworm-sink) + ) ) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (if gp-1 - (go lurkerworm-strike) - (go lurkerworm-sink) - ) + (none) ) - (none) - ) :post lurkerworm-default-post-behavior ) @@ -709,59 +564,37 @@ lurkerworm-default-post-behavior lurkerworm-default-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 40) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! (-> gp-0 param 0) (ja-aframe 13.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (particle-effect self) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 13.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) ) - ) + (ja-channel-push! 1 40) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> gp-0 param 0) (ja-aframe 13.0 0)) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (particle-effect self) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 13.0 0)) + (set! (-> gp-1 param 1) 1.0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) + (set! (-> a0-8 param 1) 1.0) + (joint-control-channel-group! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + (ja-channel-push! 1 40) + (go lurkerworm-rest) + (none) ) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 param 0) - (the float (+ (-> a0-8 frame-group data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (ja-channel-push! 1 40) - (go lurkerworm-rest) - (none) - ) :post lurkerworm-default-post-behavior ) @@ -771,60 +604,31 @@ lurkerworm-default-post-behavior :event lurkerworm-default-event-handler :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (spawn (-> self part2) (-> self root-override trans)) + (particle-effect self) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) + (go lurkerworm-idle) + (none) ) - (until (ja-done? 0) - (spawn (-> self part2) (-> self root-override trans)) - (particle-effect self) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go lurkerworm-idle) - (none) - ) :post lurkerworm-default-post-behavior ) @@ -833,63 +637,37 @@ lurkerworm-default-post-behavior (defstate lurkerworm-die (lurkerworm) :event (the-as - (function process int symbol event-message-block object :behavior lurkerworm) - process-drawable-death-event-handler - ) + (function process int symbol event-message-block object :behavior lurkerworm) + process-drawable-death-event-handler + ) :code (behavior () - (logclear! (-> self mask) (process-mask actor-pause)) - (let ((v1-3 (-> self root-override root-prim))) - (set! (-> v1-3 collide-with) (the-as uint 0)) - (set! (-> v1-3 prim-core collide-as) (the-as uint 0)) - ) - 0 - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length + (logclear! (-> self mask) (process-mask actor-pause)) + (let ((v1-3 (-> self root-override root-prim))) + (set! (-> v1-3 collide-with) (the-as uint 0)) + (set! (-> v1-3 prim-core collide-as) (the-as uint 0)) + ) + 0 + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) + (dummy-18 self) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (dummy-18 self) - (none) - ) :post lurkerworm-default-post-behavior ) @@ -898,131 +676,94 @@ lurkerworm-default-post-behavior ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! lurkerworm ((obj lurkerworm) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) - (let - ((s4-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 6) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s3-0 local-sphere) 0.0 10240.0 0.0 24576.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 3) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 4096.0) + (append-prim s3-0 s2-0) + ) + (let ((s2-1 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 1)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 5) + (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 4096.0) + (append-prim s3-0 s2-1) + ) + (let ((s2-2 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core action) (the-as uint 1)) + (set! (-> s2-2 prim-core offense) 4) + (set! (-> s2-2 transform-index) 6) + (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 4096.0) + (append-prim s3-0 s2-2) + ) + (let ((s2-3 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-3 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-3 collide-with) (the-as uint 16)) + (set! (-> s2-3 prim-core action) (the-as uint 1)) + (set! (-> s2-3 prim-core offense) 4) + (set! (-> s2-3 transform-index) 7) + (set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 4096.0) + (append-prim s3-0 s2-3) + ) + (let ((s2-4 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-4 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-4 collide-with) (the-as uint 16)) + (set! (-> s2-4 prim-core action) (the-as uint 1)) + (set! (-> s2-4 prim-core offense) 4) + (set! (-> s2-4 transform-index) 8) + (set-vector! (-> s2-4 local-sphere) 0.0 0.0 0.0 4096.0) + (append-prim s3-0 s2-4) + ) + (let ((s2-5 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) + (set! (-> s2-5 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-5 collide-with) (the-as uint 16)) + (set! (-> s2-5 prim-core offense) 2) + (set! (-> s2-5 transform-index) 11) + (set-vector! (-> s2-5 local-sphere) 0.0 0.0 0.0 6144.0) + (append-prim s3-0 s2-5) + ) ) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 6) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s3-0 local-sphere) 0.0 10240.0 0.0 24576.0) - (set-root-prim! s4-0 s3-0) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 3) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 4096.0) - (append-prim s3-0 s2-0) - ) - (let ((s2-1 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 1)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 5) - (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 4096.0) - (append-prim s3-0 s2-1) - ) - (let ((s2-2 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-2 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core action) (the-as uint 1)) - (set! (-> s2-2 prim-core offense) 4) - (set! (-> s2-2 transform-index) 6) - (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 4096.0) - (append-prim s3-0 s2-2) - ) - (let ((s2-3 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-3 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-3 collide-with) (the-as uint 16)) - (set! (-> s2-3 prim-core action) (the-as uint 1)) - (set! (-> s2-3 prim-core offense) 4) - (set! (-> s2-3 transform-index) 7) - (set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 4096.0) - (append-prim s3-0 s2-3) - ) - (let ((s2-4 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-4 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-4 collide-with) (the-as uint 16)) - (set! (-> s2-4 prim-core action) (the-as uint 1)) - (set! (-> s2-4 prim-core offense) 4) - (set! (-> s2-4 transform-index) 8) - (set-vector! (-> s2-4 local-sphere) 0.0 0.0 0.0 4096.0) - (append-prim s3-0 s2-4) - ) - (let ((s2-5 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) - (set! (-> s2-5 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-5 collide-with) (the-as uint 16)) - (set! (-> s2-5 prim-core offense) 2) - (set! (-> s2-5 transform-index) 11) - (set-vector! (-> s2-5 local-sphere) 0.0 0.0 0.0 6144.0) - (append-prim s3-0 s2-5) - ) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *lurkerworm-sg* '()) - (set! - (-> obj fact) - (new - 'process - 'fact-info-enemy - obj - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) - ) - ) + (set! (-> obj fact) + (new 'process 'fact-info-enemy obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) (set! (-> obj angle) 0.0) (set! (-> obj vulnerable) #f) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 157) obj) - ) - (set! - (-> obj part2) - (create-launch-control (-> *part-group-id-table* 158) obj) - ) - (set! - (-> obj twister) - (new 'process 'twister 3 15 1092.2667 72.81778 0.25 0.001) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 157) obj)) + (set! (-> obj part2) (create-launch-control (-> *part-group-id-table* 158) obj)) + (set! (-> obj twister) (new 'process 'twister 3 15 1092.2667 72.81778 0.25 0.001)) (TODO-RENAME-9 (-> obj twister) 3 9 910.2222) (set! (-> obj head-tilt) 0.0) - (set! - (-> obj skel prebind-function) - (the-as - (function pointer int process-drawable none) - lurkerworm-prebind-function - ) - ) - (set! - (-> obj skel postbind-function) - (the-as - (function pointer int process-drawable none) - lurkerworm-joint-callback - ) - ) + (set! (-> obj skel prebind-function) + (the-as (function pointer int process-drawable none) lurkerworm-prebind-function) + ) + (set! (-> obj skel postbind-function) + (the-as (function pointer int process-drawable none) lurkerworm-joint-callback) + ) (set! (-> obj root-override nav-radius) 12288.0) (nav-mesh-connect obj (-> obj root-override) (the-as nav-control #f)) (go lurkerworm-idle) diff --git a/test/decompiler/reference/levels/beach/mayor_REF.gc b/test/decompiler/reference/levels/beach/mayor_REF.gc index 24b579ce00..71cc254270 100644 --- a/test/decompiler/reference/levels/beach/mayor_REF.gc +++ b/test/decompiler/reference/levels/beach/mayor_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type mayor (defmethod inspect mayor ((obj mayor)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -32,17 +32,17 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 mayor ((obj mayor)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -2048.0 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -2048.0 f0-0))) + ) + 0 + (set! (-> v1-1 settings top-plane w) (- (+ 2048.0 f0-0))) + ) + 0 ) - 0 - (set! (-> v1-1 settings top-plane w) (- (+ 2048.0 f0-0))) - ) - 0 ) - ) (none) ) @@ -50,1965 +50,599 @@ (defmethod draw-npc-shadow mayor ((obj mayor)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) - ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (set! - (-> v1-14 settings flags) - (logior (the-as int (-> v1-14 settings flags)) 32) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (set! (-> v1-14 settings flags) (logior (the-as int (-> v1-14 settings flags)) 32)) + ) + 0 ) - ) - 0 ) - ) (none) ) ;; definition for function mayor-lurkerm-reward-speech (defun mayor-lurkerm-reward-speech ((arg0 mayor) (arg1 symbol)) (when arg1 - (set! (-> arg0 cell-for-task) (game-task jungle-lurkerm)) - (close-specific-task! - (game-task jungle-lurkerm) - (task-status need-reward-speech) + (set! (-> arg0 cell-for-task) (game-task jungle-lurkerm)) + (close-specific-task! (game-task jungle-lurkerm) (task-status need-reward-speech)) + (first-any (-> arg0 tasks) #t) ) - (first-any (-> arg0 tasks) #t) - ) - (new 'static 'spool-anim - :name "mayor-resolution-beams" - :index 7 - :parts 6 - :command-list '() - ) + (new 'static 'spool-anim :name "mayor-resolution-beams" :index 7 :parts 6 :command-list '()) ) ;; definition for method 32 of type mayor (defmethod play-anim! mayor ((obj mayor) (arg0 symbol)) (set! (-> obj talk-message) (the-as uint 260)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) (when arg0 - (close-specific-task! - (game-task jungle-lurkerm) - (task-status need-introduction) + (close-specific-task! (game-task jungle-lurkerm) (task-status need-introduction)) + (close-specific-task! (game-task village1-mayor-money) (task-status need-introduction)) ) - (close-specific-task! - (game-task village1-mayor-money) - (task-status need-introduction) - ) - ) (cond - ((closed? - (-> obj tasks) - (game-task jungle-lurkerm) - (task-status need-reminder) - ) - (mayor-lurkerm-reward-speech obj arg0) - ) - (else - (new 'static 'spool-anim - :name "mayor-introduction" - :index 4 - :parts 16 - :command-list '() - ) - (new 'static 'spool-anim - :name "mayor-introduction" - :index 4 - :parts 16 - :command-list - '( - (0 - kill - "villagea-part-65" - ) - (0 - kill - "villagea-part-70" - ) - (0 - kill - "med-res-level-2" - ) - (0 - kill - "med-res-level-3" - ) - (0 - kill - "med-res-level-4" - ) - (0 - kill - "med-res-level-6" - ) - (0 - kill - "med-res-level-7" - ) - (0 - kill - "med-res-level-8" - ) - (0 - kill - "med-res-level-11" - ) - (0 - kill - "med-res-level-14" - ) - (0 - kill - "fishermans-boat-2" - ) - (0 - kill - "windspinner-9" - ) - (0 - kill - "sagesail-6" - ) - (0 - kill - "sharkey-12" - ) - (0 - kill - "windmill-sail-4" - ) - (0 - kill - "water-vol-7" - ) - (0 - kill - "windspinner-8" - ) - (0 - kill - "villagea-part-32" - ) - (0 - kill - "water-vol-10" - ) - (0 - kill - "ropebridge-4" - ) - (0 - kill - "ropebridge-5" - ) - (0 - kill - "reflector-end-1" - ) - (0 - kill - "eco-10" - ) - (0 - kill - "eco-11" - ) - (0 - kill - "warp-gate-switch-3" - ) - (0 - kill - "reflector-middle-2" - ) - (0 - kill - "evilplant-2" - ) - (0 - kill - "crate-3147" - ) - (0 - kill - "villagea-water-2" - ) - (0 - kill - "med-res-level-22" - ) - (0 - kill - "med-res-level-23" - ) - (0 - kill - "villagea-part-50" - ) - (0 - kill - "water-vol-9" - ) - (0 - kill - "crate-3144" - ) - (0 - kill - "orb-cache-top-4" - ) - (0 - kill - "village-cam-2" - ) - (0 - kill - "villagea-part-18" - ) - (0 - kill - "villagea-part-24" - ) - (0 - kill - "money-2676" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "villagea-part-13" - ) - (0 - kill - "villagea-part-17" - ) - (0 - kill - "money-2689" - ) - (0 - kill - "money-2690" - ) - (0 - kill - "farmer-3" - ) - (0 - kill - "villagea-part-26" - ) - (0 - kill - "money-2692" - ) - (0 - kill - "villagea-part-37" - ) - (0 - kill - "villagea-part-38" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "crate-3142" - ) - (0 - kill - "crate-3143" - ) - (0 - kill - "money-2688" - ) - (0 - kill - "villagea-part-14" - ) - (0 - kill - "money-2691" - ) - (0 - kill - "villagea-part-62" - ) - (0 - kill - "villagea-part-63" - ) - (0 - kill - "sharkey-1" - ) - (0 - kill - "eco-82" - ) - (0 - kill - "eco-83" - ) - (0 - kill - "crate-2470" - ) - (0 - kill - "villagea-part-3" - ) - (0 - kill - "villagea-part-15" - ) - (0 - kill - "villagea-part-22" - ) - (0 - kill - "villagea-part-28" - ) - (0 - kill - "explorer-4" - ) - (0 - kill - "oracle-1" - ) - (0 - kill - "crate-3141" - ) - (0 - kill - "crate-3145" - ) - (0 - kill - "water-vol-8" - ) - (0 - kill - "water-vol-63" - ) - (0 - kill - "lrocklrg-1" - ) - (0 - kill - "crate-2469" - ) - (0 - kill - "villagea-part-69" - ) - (0 - display-level - beach - special - ) - ((the binteger 565) - joint - "cameraB" - ) - ((the binteger 850) - joint - "camera" - ) - ((the binteger 915) joint "cameraB") - ) - ) - ) - ) - ) - (((task-status need-reminder-a) (task-status need-reminder)) - (set! (-> obj skippable) #t) - (cond - ((closed? - (-> obj tasks) - (game-task jungle-lurkerm) - (task-status need-reward-speech) - ) - (new 'static 'spool-anim - :name "mayor-reminder-donation" - :index 6 - :parts 3 - :command-list - '( - (0 - kill - "villagea-part-65" - ) - (0 - kill - "villagea-part-70" - ) - (0 - kill - "med-res-level-2" - ) - (0 - kill - "med-res-level-3" - ) - (0 - kill - "med-res-level-4" - ) - (0 - kill - "med-res-level-6" - ) - (0 - kill - "med-res-level-7" - ) - (0 - kill - "med-res-level-8" - ) - (0 - kill - "med-res-level-11" - ) - (0 - kill - "med-res-level-14" - ) - (0 - kill - "fishermans-boat-2" - ) - (0 - kill - "windspinner-9" - ) - (0 - kill - "sagesail-6" - ) - (0 - kill - "sharkey-12" - ) - (0 - kill - "windmill-sail-4" - ) - (0 - kill - "water-vol-7" - ) - (0 - kill - "windspinner-8" - ) - (0 - kill - "villagea-part-32" - ) - (0 - kill - "water-vol-10" - ) - (0 - kill - "ropebridge-4" - ) - (0 - kill - "ropebridge-5" - ) - (0 - kill - "reflector-end-1" - ) - (0 - kill - "eco-10" - ) - (0 - kill - "eco-11" - ) - (0 - kill - "warp-gate-switch-3" - ) - (0 - kill - "reflector-middle-2" - ) - (0 - kill - "evilplant-2" - ) - (0 - kill - "crate-3147" - ) - (0 - kill - "villagea-water-2" - ) - (0 - kill - "med-res-level-22" - ) - (0 - kill - "med-res-level-23" - ) - (0 - kill - "villagea-part-50" - ) - (0 - kill - "water-vol-9" - ) - (0 - kill - "crate-3144" - ) - (0 - kill - "orb-cache-top-4" - ) - (0 - kill - "village-cam-2" - ) - (0 - kill - "villagea-part-18" - ) - (0 - kill - "villagea-part-24" - ) - (0 - kill - "money-2676" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "villagea-part-13" - ) - (0 - kill - "villagea-part-17" - ) - (0 - kill - "money-2689" - ) - (0 - kill - "money-2690" - ) - (0 - kill - "farmer-3" - ) - (0 - kill - "villagea-part-26" - ) - (0 - kill - "money-2692" - ) - (0 - kill - "villagea-part-37" - ) - (0 - kill - "villagea-part-38" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "crate-3142" - ) - (0 - kill - "crate-3143" - ) - (0 - kill - "money-2688" - ) - (0 - kill - "villagea-part-14" - ) - (0 - kill - "money-2691" - ) - (0 - kill - "villagea-part-62" - ) - (0 - kill - "villagea-part-63" - ) - (0 - kill - "sharkey-1" - ) - (0 - kill - "eco-82" - ) - (0 - kill - "eco-83" - ) - (0 - kill - "crate-2470" - ) - (0 - kill - "villagea-part-3" - ) - (0 - kill - "villagea-part-15" - ) - (0 - kill - "villagea-part-22" - ) - (0 - kill - "villagea-part-28" - ) - (0 - kill - "explorer-4" - ) - (0 - kill - "oracle-1" - ) - (0 - kill - "crate-3141" - ) - (0 - kill - "crate-3145" - ) - (0 - kill - "water-vol-8" - ) - (0 - kill - "water-vol-63" - ) - (0 - kill - "lrocklrg-1" - ) - (0 - kill - "crate-2469" - ) - (0 kill "villagea-part-69") (0 display-level beach special) - ) - ) - ) - ((closed? - (-> obj tasks) - (game-task village1-mayor-money) - (task-status need-reward-speech) - ) - (new 'static 'spool-anim - :name "mayor-reminder-beams" - :index 5 - :parts 3 - :command-list - '( - (0 - kill - "villagea-part-65" - ) - (0 - kill - "villagea-part-70" - ) - (0 - kill - "med-res-level-2" - ) - (0 - kill - "med-res-level-3" - ) - (0 - kill - "med-res-level-4" - ) - (0 - kill - "med-res-level-6" - ) - (0 - kill - "med-res-level-7" - ) - (0 - kill - "med-res-level-8" - ) - (0 - kill - "med-res-level-11" - ) - (0 - kill - "med-res-level-14" - ) - (0 - kill - "fishermans-boat-2" - ) - (0 - kill - "windspinner-9" - ) - (0 - kill - "sagesail-6" - ) - (0 - kill - "sharkey-12" - ) - (0 - kill - "windmill-sail-4" - ) - (0 - kill - "water-vol-7" - ) - (0 - kill - "windspinner-8" - ) - (0 - kill - "villagea-part-32" - ) - (0 - kill - "water-vol-10" - ) - (0 - kill - "ropebridge-4" - ) - (0 - kill - "ropebridge-5" - ) - (0 - kill - "reflector-end-1" - ) - (0 - kill - "eco-10" - ) - (0 - kill - "eco-11" - ) - (0 - kill - "warp-gate-switch-3" - ) - (0 - kill - "reflector-middle-2" - ) - (0 - kill - "evilplant-2" - ) - (0 - kill - "crate-3147" - ) - (0 - kill - "villagea-water-2" - ) - (0 - kill - "med-res-level-22" - ) - (0 - kill - "med-res-level-23" - ) - (0 - kill - "villagea-part-50" - ) - (0 - kill - "water-vol-9" - ) - (0 - kill - "crate-3144" - ) - (0 - kill - "orb-cache-top-4" - ) - (0 - kill - "village-cam-2" - ) - (0 - kill - "villagea-part-18" - ) - (0 - kill - "villagea-part-24" - ) - (0 - kill - "money-2676" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "villagea-part-13" - ) - (0 - kill - "villagea-part-17" - ) - (0 - kill - "money-2689" - ) - (0 - kill - "money-2690" - ) - (0 - kill - "farmer-3" - ) - (0 - kill - "villagea-part-26" - ) - (0 - kill - "money-2692" - ) - (0 - kill - "villagea-part-37" - ) - (0 - kill - "villagea-part-38" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "crate-3142" - ) - (0 - kill - "crate-3143" - ) - (0 - kill - "money-2688" - ) - (0 - kill - "villagea-part-14" - ) - (0 - kill - "money-2691" - ) - (0 - kill - "villagea-part-62" - ) - (0 - kill - "villagea-part-63" - ) - (0 - kill - "sharkey-1" - ) - (0 - kill - "eco-82" - ) - (0 - kill - "eco-83" - ) - (0 - kill - "crate-2470" - ) - (0 - kill - "villagea-part-3" - ) - (0 - kill - "villagea-part-15" - ) - (0 - kill - "villagea-part-22" - ) - (0 - kill - "villagea-part-28" - ) - (0 - kill - "explorer-4" - ) - (0 - kill - "oracle-1" - ) - (0 - kill - "crate-3141" - ) - (0 - kill - "crate-3145" - ) - (0 - kill - "water-vol-8" - ) - (0 - kill - "water-vol-63" - ) - (0 - kill - "lrocklrg-1" - ) - (0 - kill - "crate-2469" - ) - (0 kill "villagea-part-69") (0 display-level beach special) - ) - ) - ) - ((zero? (get-reminder (-> obj tasks) 0)) - (if arg0 - (save-reminder (-> obj tasks) 1 0) - ) - (new 'static 'spool-anim - :name "mayor-reminder-beams" - :index 5 - :parts 3 - :command-list - '( - (0 - kill - "villagea-part-65" - ) - (0 - kill - "villagea-part-70" - ) - (0 - kill - "med-res-level-2" - ) - (0 - kill - "med-res-level-3" - ) - (0 - kill - "med-res-level-4" - ) - (0 - kill - "med-res-level-6" - ) - (0 - kill - "med-res-level-7" - ) - (0 - kill - "med-res-level-8" - ) - (0 - kill - "med-res-level-11" - ) - (0 - kill - "med-res-level-14" - ) - (0 - kill - "fishermans-boat-2" - ) - (0 - kill - "windspinner-9" - ) - (0 - kill - "sagesail-6" - ) - (0 - kill - "sharkey-12" - ) - (0 - kill - "windmill-sail-4" - ) - (0 - kill - "water-vol-7" - ) - (0 - kill - "windspinner-8" - ) - (0 - kill - "villagea-part-32" - ) - (0 - kill - "water-vol-10" - ) - (0 - kill - "ropebridge-4" - ) - (0 - kill - "ropebridge-5" - ) - (0 - kill - "reflector-end-1" - ) - (0 - kill - "eco-10" - ) - (0 - kill - "eco-11" - ) - (0 - kill - "warp-gate-switch-3" - ) - (0 - kill - "reflector-middle-2" - ) - (0 - kill - "evilplant-2" - ) - (0 - kill - "crate-3147" - ) - (0 - kill - "villagea-water-2" - ) - (0 - kill - "med-res-level-22" - ) - (0 - kill - "med-res-level-23" - ) - (0 - kill - "villagea-part-50" - ) - (0 - kill - "water-vol-9" - ) - (0 - kill - "crate-3144" - ) - (0 - kill - "orb-cache-top-4" - ) - (0 - kill - "village-cam-2" - ) - (0 - kill - "villagea-part-18" - ) - (0 - kill - "villagea-part-24" - ) - (0 - kill - "money-2676" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "villagea-part-13" - ) - (0 - kill - "villagea-part-17" - ) - (0 - kill - "money-2689" - ) - (0 - kill - "money-2690" - ) - (0 - kill - "farmer-3" - ) - (0 - kill - "villagea-part-26" - ) - (0 - kill - "money-2692" - ) - (0 - kill - "villagea-part-37" - ) - (0 - kill - "villagea-part-38" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "crate-3142" - ) - (0 - kill - "crate-3143" - ) - (0 - kill - "money-2688" - ) - (0 - kill - "villagea-part-14" - ) - (0 - kill - "money-2691" - ) - (0 - kill - "villagea-part-62" - ) - (0 - kill - "villagea-part-63" - ) - (0 - kill - "sharkey-1" - ) - (0 - kill - "eco-82" - ) - (0 - kill - "eco-83" - ) - (0 - kill - "crate-2470" - ) - (0 - kill - "villagea-part-3" - ) - (0 - kill - "villagea-part-15" - ) - (0 - kill - "villagea-part-22" - ) - (0 - kill - "villagea-part-28" - ) - (0 - kill - "explorer-4" - ) - (0 - kill - "oracle-1" - ) - (0 - kill - "crate-3141" - ) - (0 - kill - "crate-3145" - ) - (0 - kill - "water-vol-8" - ) - (0 - kill - "water-vol-63" - ) - (0 - kill - "lrocklrg-1" - ) - (0 - kill - "crate-2469" - ) - (0 kill "villagea-part-69") (0 display-level beach special) - ) - ) - ) - (else - (if arg0 - (save-reminder (-> obj tasks) 0 0) - ) - (new 'static 'spool-anim - :name "mayor-reminder-donation" - :index 6 - :parts 3 - :command-list - '( - (0 - kill - "villagea-part-65" - ) - (0 - kill - "villagea-part-70" - ) - (0 - kill - "med-res-level-2" - ) - (0 - kill - "med-res-level-3" - ) - (0 - kill - "med-res-level-4" - ) - (0 - kill - "med-res-level-6" - ) - (0 - kill - "med-res-level-7" - ) - (0 - kill - "med-res-level-8" - ) - (0 - kill - "med-res-level-11" - ) - (0 - kill - "med-res-level-14" - ) - (0 - kill - "fishermans-boat-2" - ) - (0 - kill - "windspinner-9" - ) - (0 - kill - "sagesail-6" - ) - (0 - kill - "sharkey-12" - ) - (0 - kill - "windmill-sail-4" - ) - (0 - kill - "water-vol-7" - ) - (0 - kill - "windspinner-8" - ) - (0 - kill - "villagea-part-32" - ) - (0 - kill - "water-vol-10" - ) - (0 - kill - "ropebridge-4" - ) - (0 - kill - "ropebridge-5" - ) - (0 - kill - "reflector-end-1" - ) - (0 - kill - "eco-10" - ) - (0 - kill - "eco-11" - ) - (0 - kill - "warp-gate-switch-3" - ) - (0 - kill - "reflector-middle-2" - ) - (0 - kill - "evilplant-2" - ) - (0 - kill - "crate-3147" - ) - (0 - kill - "villagea-water-2" - ) - (0 - kill - "med-res-level-22" - ) - (0 - kill - "med-res-level-23" - ) - (0 - kill - "villagea-part-50" - ) - (0 - kill - "water-vol-9" - ) - (0 - kill - "crate-3144" - ) - (0 - kill - "orb-cache-top-4" - ) - (0 - kill - "village-cam-2" - ) - (0 - kill - "villagea-part-18" - ) - (0 - kill - "villagea-part-24" - ) - (0 - kill - "money-2676" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "villagea-part-13" - ) - (0 - kill - "villagea-part-17" - ) - (0 - kill - "money-2689" - ) - (0 - kill - "money-2690" - ) - (0 - kill - "farmer-3" - ) - (0 - kill - "villagea-part-26" - ) - (0 - kill - "money-2692" - ) - (0 - kill - "villagea-part-37" - ) - (0 - kill - "villagea-part-38" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "crate-3142" - ) - (0 - kill - "crate-3143" - ) - (0 - kill - "money-2688" - ) - (0 - kill - "villagea-part-14" - ) - (0 - kill - "money-2691" - ) - (0 - kill - "villagea-part-62" - ) - (0 - kill - "villagea-part-63" - ) - (0 - kill - "sharkey-1" - ) - (0 - kill - "eco-82" - ) - (0 - kill - "eco-83" - ) - (0 - kill - "crate-2470" - ) - (0 - kill - "villagea-part-3" - ) - (0 - kill - "villagea-part-15" - ) - (0 - kill - "villagea-part-22" - ) - (0 - kill - "villagea-part-28" - ) - (0 - kill - "explorer-4" - ) - (0 - kill - "oracle-1" - ) - (0 - kill - "crate-3141" - ) - (0 - kill - "crate-3145" - ) - (0 - kill - "water-vol-8" - ) - (0 - kill - "water-vol-63" - ) - (0 - kill - "lrocklrg-1" - ) - (0 - kill - "crate-2469" - ) - (0 kill "villagea-part-69") (0 display-level beach special) - ) - ) - ) - ) - ) - (((task-status need-reward-speech)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task jungle-lurkerm)) - (mayor-lurkerm-reward-speech obj arg0) - ) - (else - (cond - (arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + ((closed? (-> obj tasks) (game-task jungle-lurkerm) (task-status need-reminder)) + (mayor-lurkerm-reward-speech obj arg0) ) (else - (set! (-> obj talk-message) (the-as uint 282)) - ) - ) - (new 'static 'spool-anim - :name "mayor-resolution-donation" - :index 8 - :parts 5 - :command-list - '( - (0 - kill - "villagea-part-65" + (new 'static 'spool-anim :name "mayor-introduction" :index 4 :parts 16 :command-list '()) + (new 'static 'spool-anim + :name "mayor-introduction" + :index 4 + :parts 16 + :command-list + '((0 kill "villagea-part-65") + (0 kill "villagea-part-70") + (0 kill "med-res-level-2") + (0 kill "med-res-level-3") + (0 kill "med-res-level-4") + (0 kill "med-res-level-6") + (0 kill "med-res-level-7") + (0 kill "med-res-level-8") + (0 kill "med-res-level-11") + (0 kill "med-res-level-14") + (0 kill "fishermans-boat-2") + (0 kill "windspinner-9") + (0 kill "sagesail-6") + (0 kill "sharkey-12") + (0 kill "windmill-sail-4") + (0 kill "water-vol-7") + (0 kill "windspinner-8") + (0 kill "villagea-part-32") + (0 kill "water-vol-10") + (0 kill "ropebridge-4") + (0 kill "ropebridge-5") + (0 kill "reflector-end-1") + (0 kill "eco-10") + (0 kill "eco-11") + (0 kill "warp-gate-switch-3") + (0 kill "reflector-middle-2") + (0 kill "evilplant-2") + (0 kill "crate-3147") + (0 kill "villagea-water-2") + (0 kill "med-res-level-22") + (0 kill "med-res-level-23") + (0 kill "villagea-part-50") + (0 kill "water-vol-9") + (0 kill "crate-3144") + (0 kill "orb-cache-top-4") + (0 kill "village-cam-2") + (0 kill "villagea-part-18") + (0 kill "villagea-part-24") + (0 kill "money-2676") + (0 kill "villagea-part-64") + (0 kill "villagea-part-13") + (0 kill "villagea-part-17") + (0 kill "money-2689") + (0 kill "money-2690") + (0 kill "farmer-3") + (0 kill "villagea-part-26") + (0 kill "money-2692") + (0 kill "villagea-part-37") + (0 kill "villagea-part-38") + (0 kill "villagea-part-64") + (0 kill "crate-3142") + (0 kill "crate-3143") + (0 kill "money-2688") + (0 kill "villagea-part-14") + (0 kill "money-2691") + (0 kill "villagea-part-62") + (0 kill "villagea-part-63") + (0 kill "sharkey-1") + (0 kill "eco-82") + (0 kill "eco-83") + (0 kill "crate-2470") + (0 kill "villagea-part-3") + (0 kill "villagea-part-15") + (0 kill "villagea-part-22") + (0 kill "villagea-part-28") + (0 kill "explorer-4") + (0 kill "oracle-1") + (0 kill "crate-3141") + (0 kill "crate-3145") + (0 kill "water-vol-8") + (0 kill "water-vol-63") + (0 kill "lrocklrg-1") + (0 kill "crate-2469") + (0 kill "villagea-part-69") + (0 display-level beach special) + ((the binteger 565) joint "cameraB") + ((the binteger 850) joint "camera") + ((the binteger 915) joint "cameraB") + ) ) - (0 - kill - "villagea-part-70" - ) - (0 - kill - "med-res-level-2" - ) - (0 - kill - "med-res-level-3" - ) - (0 - kill - "med-res-level-4" - ) - (0 - kill - "med-res-level-6" - ) - (0 - kill - "med-res-level-7" - ) - (0 - kill - "med-res-level-8" - ) - (0 - kill - "med-res-level-11" - ) - (0 - kill - "med-res-level-14" - ) - (0 - kill - "fishermans-boat-2" - ) - (0 - kill - "windspinner-9" - ) - (0 - kill - "sagesail-6" - ) - (0 - kill - "sharkey-12" - ) - (0 - kill - "windmill-sail-4" - ) - (0 - kill - "water-vol-7" - ) - (0 - kill - "windspinner-8" - ) - (0 - kill - "villagea-part-32" - ) - (0 - kill - "water-vol-10" - ) - (0 - kill - "ropebridge-4" - ) - (0 - kill - "ropebridge-5" - ) - (0 - kill - "reflector-end-1" - ) - (0 - kill - "eco-10" - ) - (0 - kill - "eco-11" - ) - (0 - kill - "warp-gate-switch-3" - ) - (0 - kill - "reflector-middle-2" - ) - (0 - kill - "evilplant-2" - ) - (0 - kill - "crate-3147" - ) - (0 - kill - "villagea-water-2" - ) - (0 - kill - "med-res-level-22" - ) - (0 - kill - "med-res-level-23" - ) - (0 - kill - "villagea-part-50" - ) - (0 - kill - "water-vol-9" - ) - (0 - kill - "crate-3144" - ) - (0 - kill - "orb-cache-top-4" - ) - (0 - kill - "village-cam-2" - ) - (0 - kill - "villagea-part-18" - ) - (0 - kill - "villagea-part-24" - ) - (0 - kill - "money-2676" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "villagea-part-13" - ) - (0 - kill - "villagea-part-17" - ) - (0 - kill - "money-2689" - ) - (0 - kill - "money-2690" - ) - (0 - kill - "farmer-3" - ) - (0 - kill - "villagea-part-26" - ) - (0 - kill - "money-2692" - ) - (0 - kill - "villagea-part-37" - ) - (0 - kill - "villagea-part-38" - ) - (0 - kill - "villagea-part-64" - ) - (0 - kill - "crate-3142" - ) - (0 - kill - "crate-3143" - ) - (0 - kill - "money-2688" - ) - (0 - kill - "villagea-part-14" - ) - (0 - kill - "money-2691" - ) - (0 - kill - "villagea-part-62" - ) - (0 - kill - "villagea-part-63" - ) - (0 - kill - "sharkey-1" - ) - (0 - kill - "eco-82" - ) - (0 - kill - "eco-83" - ) - (0 - kill - "crate-2470" - ) - (0 - kill - "villagea-part-3" - ) - (0 - kill - "villagea-part-15" - ) - (0 - kill - "villagea-part-22" - ) - (0 - kill - "villagea-part-28" - ) - (0 - kill - "explorer-4" - ) - (0 - kill - "oracle-1" - ) - (0 - kill - "crate-3141" - ) - (0 - kill - "crate-3145" - ) - (0 - kill - "water-vol-8" - ) - (0 - kill - "water-vol-63" - ) - (0 - kill - "lrocklrg-1" - ) - (0 - kill - "crate-2469" - ) - (0 kill "villagea-part-69") (0 display-level beach special) ) ) - ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) + (((task-status need-reminder-a) (task-status need-reminder)) + (set! (-> obj skippable) #t) + (cond + ((closed? (-> obj tasks) (game-task jungle-lurkerm) (task-status need-reward-speech)) + (new 'static 'spool-anim + :name "mayor-reminder-donation" + :index 6 + :parts 3 + :command-list + '((0 kill "villagea-part-65") + (0 kill "villagea-part-70") + (0 kill "med-res-level-2") + (0 kill "med-res-level-3") + (0 kill "med-res-level-4") + (0 kill "med-res-level-6") + (0 kill "med-res-level-7") + (0 kill "med-res-level-8") + (0 kill "med-res-level-11") + (0 kill "med-res-level-14") + (0 kill "fishermans-boat-2") + (0 kill "windspinner-9") + (0 kill "sagesail-6") + (0 kill "sharkey-12") + (0 kill "windmill-sail-4") + (0 kill "water-vol-7") + (0 kill "windspinner-8") + (0 kill "villagea-part-32") + (0 kill "water-vol-10") + (0 kill "ropebridge-4") + (0 kill "ropebridge-5") + (0 kill "reflector-end-1") + (0 kill "eco-10") + (0 kill "eco-11") + (0 kill "warp-gate-switch-3") + (0 kill "reflector-middle-2") + (0 kill "evilplant-2") + (0 kill "crate-3147") + (0 kill "villagea-water-2") + (0 kill "med-res-level-22") + (0 kill "med-res-level-23") + (0 kill "villagea-part-50") + (0 kill "water-vol-9") + (0 kill "crate-3144") + (0 kill "orb-cache-top-4") + (0 kill "village-cam-2") + (0 kill "villagea-part-18") + (0 kill "villagea-part-24") + (0 kill "money-2676") + (0 kill "villagea-part-64") + (0 kill "villagea-part-13") + (0 kill "villagea-part-17") + (0 kill "money-2689") + (0 kill "money-2690") + (0 kill "farmer-3") + (0 kill "villagea-part-26") + (0 kill "money-2692") + (0 kill "villagea-part-37") + (0 kill "villagea-part-38") + (0 kill "villagea-part-64") + (0 kill "crate-3142") + (0 kill "crate-3143") + (0 kill "money-2688") + (0 kill "villagea-part-14") + (0 kill "money-2691") + (0 kill "villagea-part-62") + (0 kill "villagea-part-63") + (0 kill "sharkey-1") + (0 kill "eco-82") + (0 kill "eco-83") + (0 kill "crate-2470") + (0 kill "villagea-part-3") + (0 kill "villagea-part-15") + (0 kill "villagea-part-22") + (0 kill "villagea-part-28") + (0 kill "explorer-4") + (0 kill "oracle-1") + (0 kill "crate-3141") + (0 kill "crate-3145") + (0 kill "water-vol-8") + (0 kill "water-vol-63") + (0 kill "lrocklrg-1") + (0 kill "crate-2469") + (0 kill "villagea-part-69") + (0 display-level beach special) + ) + ) + ) + ((closed? (-> obj tasks) (game-task village1-mayor-money) (task-status need-reward-speech)) + (new 'static 'spool-anim + :name "mayor-reminder-beams" + :index 5 + :parts 3 + :command-list + '((0 kill "villagea-part-65") + (0 kill "villagea-part-70") + (0 kill "med-res-level-2") + (0 kill "med-res-level-3") + (0 kill "med-res-level-4") + (0 kill "med-res-level-6") + (0 kill "med-res-level-7") + (0 kill "med-res-level-8") + (0 kill "med-res-level-11") + (0 kill "med-res-level-14") + (0 kill "fishermans-boat-2") + (0 kill "windspinner-9") + (0 kill "sagesail-6") + (0 kill "sharkey-12") + (0 kill "windmill-sail-4") + (0 kill "water-vol-7") + (0 kill "windspinner-8") + (0 kill "villagea-part-32") + (0 kill "water-vol-10") + (0 kill "ropebridge-4") + (0 kill "ropebridge-5") + (0 kill "reflector-end-1") + (0 kill "eco-10") + (0 kill "eco-11") + (0 kill "warp-gate-switch-3") + (0 kill "reflector-middle-2") + (0 kill "evilplant-2") + (0 kill "crate-3147") + (0 kill "villagea-water-2") + (0 kill "med-res-level-22") + (0 kill "med-res-level-23") + (0 kill "villagea-part-50") + (0 kill "water-vol-9") + (0 kill "crate-3144") + (0 kill "orb-cache-top-4") + (0 kill "village-cam-2") + (0 kill "villagea-part-18") + (0 kill "villagea-part-24") + (0 kill "money-2676") + (0 kill "villagea-part-64") + (0 kill "villagea-part-13") + (0 kill "villagea-part-17") + (0 kill "money-2689") + (0 kill "money-2690") + (0 kill "farmer-3") + (0 kill "villagea-part-26") + (0 kill "money-2692") + (0 kill "villagea-part-37") + (0 kill "villagea-part-38") + (0 kill "villagea-part-64") + (0 kill "crate-3142") + (0 kill "crate-3143") + (0 kill "money-2688") + (0 kill "villagea-part-14") + (0 kill "money-2691") + (0 kill "villagea-part-62") + (0 kill "villagea-part-63") + (0 kill "sharkey-1") + (0 kill "eco-82") + (0 kill "eco-83") + (0 kill "crate-2470") + (0 kill "villagea-part-3") + (0 kill "villagea-part-15") + (0 kill "villagea-part-22") + (0 kill "villagea-part-28") + (0 kill "explorer-4") + (0 kill "oracle-1") + (0 kill "crate-3141") + (0 kill "crate-3145") + (0 kill "water-vol-8") + (0 kill "water-vol-63") + (0 kill "lrocklrg-1") + (0 kill "crate-2469") + (0 kill "villagea-part-69") + (0 display-level beach special) + ) + ) + ) + ((zero? (get-reminder (-> obj tasks) 0)) + (if arg0 + (save-reminder (-> obj tasks) 1 0) + ) + (new 'static 'spool-anim + :name "mayor-reminder-beams" + :index 5 + :parts 3 + :command-list + '((0 kill "villagea-part-65") + (0 kill "villagea-part-70") + (0 kill "med-res-level-2") + (0 kill "med-res-level-3") + (0 kill "med-res-level-4") + (0 kill "med-res-level-6") + (0 kill "med-res-level-7") + (0 kill "med-res-level-8") + (0 kill "med-res-level-11") + (0 kill "med-res-level-14") + (0 kill "fishermans-boat-2") + (0 kill "windspinner-9") + (0 kill "sagesail-6") + (0 kill "sharkey-12") + (0 kill "windmill-sail-4") + (0 kill "water-vol-7") + (0 kill "windspinner-8") + (0 kill "villagea-part-32") + (0 kill "water-vol-10") + (0 kill "ropebridge-4") + (0 kill "ropebridge-5") + (0 kill "reflector-end-1") + (0 kill "eco-10") + (0 kill "eco-11") + (0 kill "warp-gate-switch-3") + (0 kill "reflector-middle-2") + (0 kill "evilplant-2") + (0 kill "crate-3147") + (0 kill "villagea-water-2") + (0 kill "med-res-level-22") + (0 kill "med-res-level-23") + (0 kill "villagea-part-50") + (0 kill "water-vol-9") + (0 kill "crate-3144") + (0 kill "orb-cache-top-4") + (0 kill "village-cam-2") + (0 kill "villagea-part-18") + (0 kill "villagea-part-24") + (0 kill "money-2676") + (0 kill "villagea-part-64") + (0 kill "villagea-part-13") + (0 kill "villagea-part-17") + (0 kill "money-2689") + (0 kill "money-2690") + (0 kill "farmer-3") + (0 kill "villagea-part-26") + (0 kill "money-2692") + (0 kill "villagea-part-37") + (0 kill "villagea-part-38") + (0 kill "villagea-part-64") + (0 kill "crate-3142") + (0 kill "crate-3143") + (0 kill "money-2688") + (0 kill "villagea-part-14") + (0 kill "money-2691") + (0 kill "villagea-part-62") + (0 kill "villagea-part-63") + (0 kill "sharkey-1") + (0 kill "eco-82") + (0 kill "eco-83") + (0 kill "crate-2470") + (0 kill "villagea-part-3") + (0 kill "villagea-part-15") + (0 kill "villagea-part-22") + (0 kill "villagea-part-28") + (0 kill "explorer-4") + (0 kill "oracle-1") + (0 kill "crate-3141") + (0 kill "crate-3145") + (0 kill "water-vol-8") + (0 kill "water-vol-63") + (0 kill "lrocklrg-1") + (0 kill "crate-2469") + (0 kill "villagea-part-69") + (0 display-level beach special) + ) + ) + ) + (else + (if arg0 + (save-reminder (-> obj tasks) 0 0) + ) + (new 'static 'spool-anim + :name "mayor-reminder-donation" + :index 6 + :parts 3 + :command-list + '((0 kill "villagea-part-65") + (0 kill "villagea-part-70") + (0 kill "med-res-level-2") + (0 kill "med-res-level-3") + (0 kill "med-res-level-4") + (0 kill "med-res-level-6") + (0 kill "med-res-level-7") + (0 kill "med-res-level-8") + (0 kill "med-res-level-11") + (0 kill "med-res-level-14") + (0 kill "fishermans-boat-2") + (0 kill "windspinner-9") + (0 kill "sagesail-6") + (0 kill "sharkey-12") + (0 kill "windmill-sail-4") + (0 kill "water-vol-7") + (0 kill "windspinner-8") + (0 kill "villagea-part-32") + (0 kill "water-vol-10") + (0 kill "ropebridge-4") + (0 kill "ropebridge-5") + (0 kill "reflector-end-1") + (0 kill "eco-10") + (0 kill "eco-11") + (0 kill "warp-gate-switch-3") + (0 kill "reflector-middle-2") + (0 kill "evilplant-2") + (0 kill "crate-3147") + (0 kill "villagea-water-2") + (0 kill "med-res-level-22") + (0 kill "med-res-level-23") + (0 kill "villagea-part-50") + (0 kill "water-vol-9") + (0 kill "crate-3144") + (0 kill "orb-cache-top-4") + (0 kill "village-cam-2") + (0 kill "villagea-part-18") + (0 kill "villagea-part-24") + (0 kill "money-2676") + (0 kill "villagea-part-64") + (0 kill "villagea-part-13") + (0 kill "villagea-part-17") + (0 kill "money-2689") + (0 kill "money-2690") + (0 kill "farmer-3") + (0 kill "villagea-part-26") + (0 kill "money-2692") + (0 kill "villagea-part-37") + (0 kill "villagea-part-38") + (0 kill "villagea-part-64") + (0 kill "crate-3142") + (0 kill "crate-3143") + (0 kill "money-2688") + (0 kill "villagea-part-14") + (0 kill "money-2691") + (0 kill "villagea-part-62") + (0 kill "villagea-part-63") + (0 kill "sharkey-1") + (0 kill "eco-82") + (0 kill "eco-83") + (0 kill "crate-2470") + (0 kill "villagea-part-3") + (0 kill "villagea-part-15") + (0 kill "villagea-part-22") + (0 kill "villagea-part-28") + (0 kill "explorer-4") + (0 kill "oracle-1") + (0 kill "crate-3141") + (0 kill "crate-3145") + (0 kill "water-vol-8") + (0 kill "water-vol-63") + (0 kill "lrocklrg-1") + (0 kill "crate-2469") + (0 kill "villagea-part-69") + (0 display-level beach special) + ) + ) + ) + ) ) - (-> obj draw art-group data 3) + (((task-status need-reward-speech)) + (if (not arg0) + (set! (-> obj will-talk) #t) + ) + (case (current-task (-> obj tasks)) + (((game-task jungle-lurkerm)) + (mayor-lurkerm-reward-speech obj arg0) + ) + (else + (cond + (arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + ) + (else + (set! (-> obj talk-message) (the-as uint 282)) + ) + ) + (new 'static 'spool-anim + :name "mayor-resolution-donation" + :index 8 + :parts 5 + :command-list + '((0 kill "villagea-part-65") + (0 kill "villagea-part-70") + (0 kill "med-res-level-2") + (0 kill "med-res-level-3") + (0 kill "med-res-level-4") + (0 kill "med-res-level-6") + (0 kill "med-res-level-7") + (0 kill "med-res-level-8") + (0 kill "med-res-level-11") + (0 kill "med-res-level-14") + (0 kill "fishermans-boat-2") + (0 kill "windspinner-9") + (0 kill "sagesail-6") + (0 kill "sharkey-12") + (0 kill "windmill-sail-4") + (0 kill "water-vol-7") + (0 kill "windspinner-8") + (0 kill "villagea-part-32") + (0 kill "water-vol-10") + (0 kill "ropebridge-4") + (0 kill "ropebridge-5") + (0 kill "reflector-end-1") + (0 kill "eco-10") + (0 kill "eco-11") + (0 kill "warp-gate-switch-3") + (0 kill "reflector-middle-2") + (0 kill "evilplant-2") + (0 kill "crate-3147") + (0 kill "villagea-water-2") + (0 kill "med-res-level-22") + (0 kill "med-res-level-23") + (0 kill "villagea-part-50") + (0 kill "water-vol-9") + (0 kill "crate-3144") + (0 kill "orb-cache-top-4") + (0 kill "village-cam-2") + (0 kill "villagea-part-18") + (0 kill "villagea-part-24") + (0 kill "money-2676") + (0 kill "villagea-part-64") + (0 kill "villagea-part-13") + (0 kill "villagea-part-17") + (0 kill "money-2689") + (0 kill "money-2690") + (0 kill "farmer-3") + (0 kill "villagea-part-26") + (0 kill "money-2692") + (0 kill "villagea-part-37") + (0 kill "villagea-part-38") + (0 kill "villagea-part-64") + (0 kill "crate-3142") + (0 kill "crate-3143") + (0 kill "money-2688") + (0 kill "villagea-part-14") + (0 kill "money-2691") + (0 kill "villagea-part-62") + (0 kill "villagea-part-63") + (0 kill "sharkey-1") + (0 kill "eco-82") + (0 kill "eco-83") + (0 kill "crate-2470") + (0 kill "villagea-part-3") + (0 kill "villagea-part-15") + (0 kill "villagea-part-22") + (0 kill "villagea-part-28") + (0 kill "explorer-4") + (0 kill "oracle-1") + (0 kill "crate-3141") + (0 kill "crate-3145") + (0 kill "water-vol-8") + (0 kill "water-vol-63") + (0 kill "lrocklrg-1") + (0 kill "crate-2469") + (0 kill "villagea-part-69") + (0 display-level beach special) + ) + ) + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 3) + ) ) - ) ) ;; definition for method 31 of type mayor @@ -2019,140 +653,61 @@ ;; definition for method 39 of type mayor (defmethod should-display? mayor ((obj mayor)) (if *target* - (< (- (-> (target-pos 0) z) (-> obj root-override trans z)) 57344.0) - (< (- (-> (camera-pos) z) (-> obj root-override trans z)) 57344.0) - ) + (< (- (-> (target-pos 0) z) (-> obj root-override trans z)) 57344.0) + (< (- (-> (camera-pos) z) (-> obj root-override trans z)) 57344.0) + ) ) ;; definition for method 43 of type mayor (defmethod TODO-RENAME-43 mayor ((obj mayor)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.8888889 f0-2) + (if (not (closed? (-> obj tasks) (game-task jungle-lurkerm) (task-status need-reminder))) + (play-ambient (-> obj ambient) "CHI-LO01" #f (-> obj root-override trans)) + ) + ) + ((< 0.7777778 f0-2) + (if (not (closed? (-> obj tasks) (game-task jungle-lurkerm) (task-status need-reminder))) + (play-ambient (-> obj ambient) "CHI-LO02" #f (-> obj root-override trans)) + ) + ) + ((< 0.6666667 f0-2) + (if (not (closed? (-> obj tasks) (game-task jungle-lurkerm) (task-status need-reminder))) + (play-ambient (-> obj ambient) "CHI-AM07" #f (-> obj root-override trans)) + ) + ) + ((< 0.5555556 f0-2) + (play-ambient (-> obj ambient) "CHI-AM06" #f (-> obj root-override trans)) + ) + ((< 0.44444445 f0-2) + (play-ambient (-> obj ambient) "CHI-AM05" #f (-> obj root-override trans)) + ) + ((< 0.33333334 f0-2) + (play-ambient (-> obj ambient) "CHI-AM04" #f (-> obj root-override trans)) + ) + ((< 0.22222222 f0-2) + (if (not (closed? (-> obj tasks) (game-task jungle-lurkerm) (task-status need-reminder))) + (play-ambient (-> obj ambient) "CHI-AM03" #f (-> obj root-override trans)) + ) + ) + ((< 0.11111111 f0-2) + (if (not (closed? (-> obj tasks) (game-task jungle-lurkerm) (task-status need-reminder))) + (play-ambient (-> obj ambient) "CHI-AM02" #f (-> obj root-override trans)) + ) + ) + (else + (if (not (closed? (-> obj tasks) (game-task jungle-lurkerm) (task-status need-reminder))) + (play-ambient (-> obj ambient) "CHI-AM01" #f (-> obj root-override trans)) + ) ) - (cond - ((< 0.8888889 f0-2) - (if - (not - (closed? - (-> obj tasks) - (game-task jungle-lurkerm) - (task-status need-reminder) - ) ) - (play-ambient - (-> obj ambient) - "CHI-LO01" - #f - (-> obj root-override trans) - ) - ) ) - ((< 0.7777778 f0-2) - (if - (not - (closed? - (-> obj tasks) - (game-task jungle-lurkerm) - (task-status need-reminder) - ) - ) - (play-ambient - (-> obj ambient) - "CHI-LO02" - #f - (-> obj root-override trans) - ) - ) - ) - ((< 0.6666667 f0-2) - (if - (not - (closed? - (-> obj tasks) - (game-task jungle-lurkerm) - (task-status need-reminder) - ) - ) - (play-ambient - (-> obj ambient) - "CHI-AM07" - #f - (-> obj root-override trans) - ) - ) - ) - ((< 0.5555556 f0-2) - (play-ambient (-> obj ambient) "CHI-AM06" #f (-> obj root-override trans)) - ) - ((< 0.44444445 f0-2) - (play-ambient (-> obj ambient) "CHI-AM05" #f (-> obj root-override trans)) - ) - ((< 0.33333334 f0-2) - (play-ambient (-> obj ambient) "CHI-AM04" #f (-> obj root-override trans)) - ) - ((< 0.22222222 f0-2) - (if - (not - (closed? - (-> obj tasks) - (game-task jungle-lurkerm) - (task-status need-reminder) - ) - ) - (play-ambient - (-> obj ambient) - "CHI-AM03" - #f - (-> obj root-override trans) - ) - ) - ) - ((< 0.11111111 f0-2) - (if - (not - (closed? - (-> obj tasks) - (game-task jungle-lurkerm) - (task-status need-reminder) - ) - ) - (play-ambient - (-> obj ambient) - "CHI-AM02" - #f - (-> obj root-override trans) - ) - ) - ) - (else - (if - (not - (closed? - (-> obj tasks) - (game-task jungle-lurkerm) - (task-status need-reminder) - ) - ) - (play-ambient - (-> obj ambient) - "CHI-AM01" - #f - (-> obj root-override trans) - ) - ) - ) - ) ) - ) ) ;; failed to figure out what this is: @@ -2160,35 +715,27 @@ :virtual #t :trans (behavior () - (if (not (should-display? self)) - (go-virtual hidden) + (if (not (should-display? self)) + (go-virtual hidden) + ) + ((-> (method-of-type process-taskable idle) trans)) + (none) ) - ((-> (method-of-type process-taskable idle) trans)) - (none) - ) :post (behavior () - (let ((t9-0 (-> (method-of-type process-taskable idle) post))) - (if t9-0 - ((the-as (function none) t9-0)) - ) + (let ((t9-0 (-> (method-of-type process-taskable idle) post))) + (if t9-0 + ((the-as (function none) t9-0)) + ) + ) + (dummy-45 (-> self root-override)) + (none) ) - (dummy-45 (-> self root-override)) - (none) - ) ) ;; definition for method 11 of type mayor (defmethod init-from-entity! mayor ((obj mayor) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *mayor-sg* - 3 - 51 - (new 'static 'vector :y 4096.0 :w 4096.0) - 5 - ) + (dummy-40 obj arg0 *mayor-sg* 3 51 (new 'static 'vector :y 4096.0 :w 4096.0) 5) (set! (-> obj bounce-away) #f) (set! (-> obj tasks) (get-task-control (game-task jungle-lurkerm))) (set! (-> obj sound-flava) (the-as uint 8)) diff --git a/test/decompiler/reference/levels/beach/sculptor_REF.gc b/test/decompiler/reference/levels/beach/sculptor_REF.gc index ee36c1a713..0a5d44b5f4 100644 --- a/test/decompiler/reference/levels/beach/sculptor_REF.gc +++ b/test/decompiler/reference/levels/beach/sculptor_REF.gc @@ -14,8 +14,8 @@ ;; definition for method 3 of type sculptor (defmethod inspect sculptor ((obj sculptor)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tmuse: ~D~%" (-> obj muse)) obj ) @@ -43,17 +43,17 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 sculptor ((obj sculptor)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -2048.0 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -2048.0 f0-0))) + ) + 0 + (set! (-> v1-1 settings top-plane w) (- (+ 2048.0 f0-0))) + ) + 0 ) - 0 - (set! (-> v1-1 settings top-plane w) (- (+ 2048.0 f0-0))) - ) - 0 ) - ) (none) ) @@ -61,306 +61,185 @@ (defmethod draw-npc-shadow sculptor ((obj sculptor)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) ;; definition for function muse-to-idle (defbehavior muse-to-idle sculptor ((arg0 muse)) (when (not (handle->process (-> arg0 incomming-attack-id))) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> arg0 incomming-attack-id) (ppointer->handle (when s5-0 - (let - ((t9-1 - (method-of-type - manipy - activate - ) - ) - ) - (t9-1 - (the-as - manipy - s5-0 - ) - arg0 - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-0 - manipy-init - (-> - arg0 - collide-info - trans - ) - (-> arg0 entity) - *sculptor-muse-sg* - #f - ) - (-> s5-0 ppointer) - ) - ) - ) + (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> arg0 incomming-attack-id) + (ppointer->handle + (when s5-0 + (let ((t9-1 (method-of-type manipy activate))) + (t9-1 (the-as manipy s5-0) arg0 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 manipy-init (-> arg0 collide-info trans) (-> arg0 entity) *sculptor-muse-sg* #f) + (-> s5-0 ppointer) + ) + ) + ) + ) ) - ) (let ((v1-11 (handle->process (-> arg0 incomming-attack-id)))) - (if v1-11 - (set! (-> (the-as muse v1-11) draw light-index) (the-as uint 3)) + (if v1-11 + (set! (-> (the-as muse v1-11) draw light-index) (the-as uint 3)) + ) ) - ) (send-event (handle->process (-> arg0 incomming-attack-id)) 'anim-mode 'loop) - (send-event - (handle->process (-> arg0 incomming-attack-id)) - 'art-joint-anim - "idle" - 0 - ) + (send-event (handle->process (-> arg0 incomming-attack-id)) 'art-joint-anim "idle" 0) (send-event (handle->process (-> arg0 incomming-attack-id)) 'draw #t) - (send-event - (handle->process (-> arg0 incomming-attack-id)) - 'origin-joint-index - 26 - ) + (send-event (handle->process (-> arg0 incomming-attack-id)) 'origin-joint-index 26) ) ;; failed to figure out what this is: (defstate give-cell (sculptor) :virtual #t :enter - (behavior () - (muse-to-idle (the-as muse self)) - (none) - ) + (behavior () (muse-to-idle (the-as muse self)) (none)) ) ;; definition for method 32 of type sculptor (defmethod play-anim! sculptor ((obj sculptor) (arg0 symbol)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) (if arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) (new 'static 'spool-anim - :name "sculptor-introduction" - :index 16 - :parts 14 - :command-list - '( - (0 - display-level - beach - special + :name "sculptor-introduction" + :index 16 + :parts 14 + :command-list + '((0 display-level beach special) + (0 kill "med-res-level-2") + (0 kill "med-res-level-4") + (0 kill "med-res-level-6") + (0 kill "med-res-level-7") + (0 kill "med-res-level-8") + (0 kill "med-res-level-11") + (0 kill "med-res-level-14") + (0 kill "med-res-level-22") + (0 kill "med-res-level-23") + ((the binteger 285) joint "cameraB") + ((the binteger 331) joint "camera") + ((the binteger 614) joint "cameraB") + ((the binteger 760) joint "camera") + ((the binteger 1183) joint "cameraB") + ((the binteger 1278) joint "camera") + ((the binteger 1433) joint "cameraB") + ) + ) + ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (new 'static 'spool-anim :name "sculptor-reminder-1" :index 17 :parts 2 :command-list '()) + ) + (((task-status need-reward-speech)) + (when arg0 + (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 muse) + (ppointer->handle + (when s5-1 + (let ((t9-5 (method-of-type manipy activate))) + (t9-5 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *sculptor-muse-sg* #f) + (-> s5-1 ppointer) + ) + ) + ) + ) + (let ((v1-18 (handle->process (-> obj muse)))) + (if v1-18 + (set! (-> (the-as muse v1-18) draw light-index) (the-as uint 3)) + ) + ) + (send-event (handle->process (-> obj muse)) 'center-joint 4) + (send-event (handle->process (-> obj muse)) 'anim-mode 'clone-anim) + ) + (new 'static 'spool-anim + :name "sculptor-resolution" + :index 18 + :parts 4 + :command-list + '(((the binteger 51) joint "cameraB") ((the binteger 87) joint "camera")) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) ) - (0 - kill - "med-res-level-2" - ) - (0 - kill - "med-res-level-4" - ) - (0 - kill - "med-res-level-6" - ) - (0 - kill - "med-res-level-7" - ) - (0 - kill - "med-res-level-8" - ) - (0 - kill - "med-res-level-11" - ) - (0 - kill - "med-res-level-14" - ) - (0 - kill - "med-res-level-22" - ) - (0 - kill - "med-res-level-23" - ) - ((the binteger 285) - joint - "cameraB" - ) - ((the binteger 331) - joint - "camera" - ) - ((the binteger 614) - joint - "cameraB" - ) - ((the binteger 760) - joint - "camera" - ) - ((the binteger 1183) - joint - "cameraB" - ) - ((the binteger 1278) - joint - "camera" - ) - ((the binteger 1433) joint "cameraB") - ) + (-> obj draw art-group data 4) ) - ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (new 'static 'spool-anim - :name "sculptor-reminder-1" - :index 17 - :parts 2 - :command-list '() - ) ) - (((task-status need-reward-speech)) - (when arg0 - (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 muse) (ppointer->handle (when s5-1 - (let - ((t9-5 - (method-of-type manipy activate) - ) - ) - (t9-5 - (the-as manipy s5-1) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *sculptor-muse-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) - ) - ) - (let ((v1-18 (handle->process (-> obj muse)))) - (if v1-18 - (set! (-> (the-as muse v1-18) draw light-index) (the-as uint 3)) - ) - ) - (send-event (handle->process (-> obj muse)) 'center-joint 4) - (send-event (handle->process (-> obj muse)) 'anim-mode 'clone-anim) - ) - (new 'static 'spool-anim - :name "sculptor-resolution" - :index 18 - :parts 4 - :command-list - '( - ((the binteger 51) joint "cameraB") ((the binteger 87) joint "camera") - ) - ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 4) - ) - ) ) ;; definition for method 31 of type sculptor (defmethod get-art-elem sculptor ((obj sculptor)) - (case (current-status (-> obj tasks)) - (((task-status invalid) (task-status need-resolution)) + (case (current-status (-> obj tasks)) + (((task-status invalid) (task-status need-resolution)) (-> obj draw art-group data 11) ) - (else - (-> obj draw art-group data 3) + (else + (-> obj draw art-group data 3) + ) ) - ) ) ;; definition for method 43 of type sculptor (defmethod TODO-RENAME-43 sculptor ((obj sculptor)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.85714287 f0-2) + (play-ambient (-> obj ambient) "SCU-LO01" #f (-> obj root-override trans)) + ) + ((< 0.71428573 f0-2) + (play-ambient (-> obj ambient) "SCU-AM05" #f (-> obj root-override trans)) + ) + ((< 0.5714286 f0-2) + (play-ambient (-> obj ambient) "SCU-AM06" #f (-> obj root-override trans)) + ) + ((< 0.42857143 f0-2) + (play-ambient (-> obj ambient) "SCU-AM03" #f (-> obj root-override trans)) + ) + ((< 0.2857143 f0-2) + (play-ambient (-> obj ambient) "SCU-AM04" #f (-> obj root-override trans)) + ) + ((< 0.14285715 f0-2) + (play-ambient (-> obj ambient) "SCU-AM01" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "SCU-AM02" #f (-> obj root-override trans)) ) - (cond - ((< 0.85714287 f0-2) - (play-ambient (-> obj ambient) "SCU-LO01" #f (-> obj root-override trans)) + ) ) - ((< 0.71428573 f0-2) - (play-ambient (-> obj ambient) "SCU-AM05" #f (-> obj root-override trans)) - ) - ((< 0.5714286 f0-2) - (play-ambient (-> obj ambient) "SCU-AM06" #f (-> obj root-override trans)) - ) - ((< 0.42857143 f0-2) - (play-ambient (-> obj ambient) "SCU-AM03" #f (-> obj root-override trans)) - ) - ((< 0.2857143 f0-2) - (play-ambient (-> obj ambient) "SCU-AM04" #f (-> obj root-override trans)) - ) - ((< 0.14285715 f0-2) - (play-ambient (-> obj ambient) "SCU-AM01" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "SCU-AM02" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; failed to figure out what this is: @@ -368,785 +247,351 @@ :virtual #t :code (behavior () - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (when (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (get-art-elem self) ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) - ) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 param 0) - (the float (+ (-> a0-8 frame-group data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (case (current-status (-> self tasks)) - (((task-status invalid) (task-status need-resolution)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 frame-group) - (the-as art-joint-anim (-> self draw art-group data 12)) + (ja-channel-push! 1 60) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) ) - (set! - (-> a0-12 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 12)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (muse-to-idle (the-as muse self)) ) - ) - (while #t - (let ((v1-43 (current-status (-> self tasks)))) - (cond - ((or - (= v1-43 (task-status invalid)) - (= v1-43 (task-status need-resolution)) - ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-18 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! - a0-18 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 param 0) - (the float (+ (-> a0-19 frame-group data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let* ((f30-0 4.0) - (v1-68 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-69 (the-as number (logior #x3f800000 v1-68))) - ) - (countdown - (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-69)))) 4)) - (let ((a0-23 (-> self skel root-channel 0))) - (set! - (-> a0-23 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - (set! - (-> a0-23 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 9)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! - a0-23 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 param 0) - (the float (+ (-> a0-24 frame-group data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! - a0-24 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (let* ((v1-97 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-98 (the-as number (logior #x3f800000 v1-97))) - (f30-1 (+ -1.0 (the-as float v1-98))) - ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! - (-> a0-28 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> a0-28 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! - a0-28 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! - (-> a0-29 param 0) - (the float (+ (-> a0-29 frame-group data 0 length) -1)) - ) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! - a0-29 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-31 (-> self skel root-channel 0))) - (set! - (-> a0-31 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! - (-> a0-31 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 11)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! - a0-31 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! - (-> a0-32 param 0) - (the float (+ (-> a0-32 frame-group data 0 length) -1)) - ) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! - a0-32 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-34 (-> self skel root-channel 0))) - (set! - (-> a0-34 frame-group) - (the-as art-joint-anim (-> self draw art-group data 12)) - ) - (set! - (-> a0-34 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 12)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-34 param 1) 1.0) - (set! (-> a0-34 frame-num) 0.0) - (joint-control-channel-group! - a0-34 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-35 (-> self skel root-channel 0))) - (set! - (-> a0-35 param 0) - (the float (+ (-> a0-35 frame-group data 0 length) -1)) - ) - (set! (-> a0-35 param 1) 1.0) - (joint-control-channel-group-eval! - a0-35 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (< f30-1 0.5) - (let ((a0-37 (-> self skel root-channel 0))) - (set! - (-> a0-37 frame-group) - (the-as art-joint-anim (-> self draw art-group data 13)) - ) - (set! - (-> a0-37 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 13)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-37 param 1) 1.0) - (set! (-> a0-37 frame-num) 0.0) - (joint-control-channel-group! - a0-37 - (the-as art-joint-anim (-> self draw art-group data 13)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! - (-> a0-38 param 0) - (the float (+ (-> a0-38 frame-group data 0 length) -1)) - ) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! - a0-38 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let* ((f30-2 2.0) - (v1-190 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) - ) - (v1-191 (the-as number (logior #x3f800000 v1-190))) - ) - (countdown - (gp-2 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-191)))) 2)) - (let ((a0-42 (-> self skel root-channel 0))) - (set! - (-> a0-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data 14)) - ) - (set! - (-> a0-42 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 14)) - data - 0 - length - ) - -1 + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) + (set! (-> a0-8 param 1) 1.0) + (joint-control-channel-group! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) + ) + (case (current-status (-> self tasks)) + (((task-status invalid) (task-status need-resolution)) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) ) - ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (muse-to-idle (the-as muse self)) + ) + ) + (while #t + (let ((v1-43 (current-status (-> self tasks)))) + (cond + ((or (= v1-43 (task-status invalid)) (= v1-43 (task-status need-resolution))) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-18 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-18 param 1) 1.0) + (set! (-> a0-18 frame-num) 0.0) + (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) ) - (set! (-> a0-42 param 1) 1.0) - (set! (-> a0-42 frame-num) 0.0) - (joint-control-channel-group! - a0-42 - (the-as art-joint-anim (-> self draw art-group data 14)) - num-func-seek! - ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! - (-> a0-43 param 0) - (the float (+ (-> a0-43 frame-group data 0 length) -1)) - ) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim #f) - num-func-seek! - ) + (suspend) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) + (set! (-> a0-19 param 1) 1.0) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) - ) - ) - (let ((a0-45 (-> self skel root-channel 0))) - (set! - (-> a0-45 frame-group) - (the-as art-joint-anim (-> self draw art-group data 15)) - ) - (set! - (-> a0-45 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 15)) - data - 0 - length - ) - -1 + (let* ((f30-0 4.0) + (v1-68 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-69 (the-as number (logior #x3f800000 v1-68))) + ) + (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-69)))) 4)) + (let ((a0-23 (-> self skel root-channel 0))) + (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + (set! (-> a0-23 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) + ) + (set! (-> a0-23 param 1) 1.0) + (set! (-> a0-23 frame-num) 0.0) + (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) + (set! (-> a0-24 param 1) 1.0) + (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - ) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! - a0-45 - (the-as art-joint-anim (-> self draw art-group data 15)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-46 (-> self skel root-channel 0))) - (set! - (-> a0-46 param 0) - (the float (+ (-> a0-46 frame-group data 0 length) -1)) - ) - (set! (-> a0-46 param 1) 1.0) - (joint-control-channel-group-eval! - a0-46 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-48 (-> self skel root-channel 0))) - (set! - (-> a0-48 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! - (-> a0-48 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 11)) - data - 0 - length - ) - -1 + (let* ((v1-97 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-98 (the-as number (logior #x3f800000 v1-97))) + (f30-1 (+ -1.0 (the-as float v1-98))) + ) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> a0-28 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) + ) + (set! (-> a0-28 param 1) 1.0) + (set! (-> a0-28 frame-num) 0.0) + (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-29 (-> self skel root-channel 0))) + (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) + (set! (-> a0-29 param 1) 1.0) + (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-31 (-> self skel root-channel 0))) + (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> a0-31 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) + ) + (set! (-> a0-31 param 1) 1.0) + (set! (-> a0-31 frame-num) 0.0) + (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-32 (-> self skel root-channel 0))) + (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) + (set! (-> a0-32 param 1) 1.0) + (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-34 (-> self skel root-channel 0))) + (set! (-> a0-34 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) + (set! (-> a0-34 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) + ) + (set! (-> a0-34 param 1) 1.0) + (set! (-> a0-34 frame-num) 0.0) + (joint-control-channel-group! a0-34 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-35 (-> self skel root-channel 0))) + (set! (-> a0-35 param 0) (the float (+ (-> a0-35 frame-group data 0 length) -1))) + (set! (-> a0-35 param 1) 1.0) + (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (when (< f30-1 0.5) + (let ((a0-37 (-> self skel root-channel 0))) + (set! (-> a0-37 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) + (set! (-> a0-37 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 13)) data 0 length) -1)) + ) + (set! (-> a0-37 param 1) 1.0) + (set! (-> a0-37 frame-num) 0.0) + (joint-control-channel-group! a0-37 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-38 (-> self skel root-channel 0))) + (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) + (set! (-> a0-38 param 1) 1.0) + (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let* ((f30-2 2.0) + (v1-190 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-191 (the-as number (logior #x3f800000 v1-190))) + ) + (countdown (gp-2 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-191)))) 2)) + (let ((a0-42 (-> self skel root-channel 0))) + (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) + (set! (-> a0-42 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 14)) data 0 length) -1)) + ) + (set! (-> a0-42 param 1) 1.0) + (set! (-> a0-42 frame-num) 0.0) + (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-43 (-> self skel root-channel 0))) + (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) + (set! (-> a0-43 param 1) 1.0) + (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (let ((a0-45 (-> self skel root-channel 0))) + (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) + (set! (-> a0-45 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) + ) + (set! (-> a0-45 param 1) 1.0) + (set! (-> a0-45 frame-num) 0.0) + (joint-control-channel-group! a0-45 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-46 (-> self skel root-channel 0))) + (set! (-> a0-46 param 0) (the float (+ (-> a0-46 frame-group data 0 length) -1))) + (set! (-> a0-46 param 1) 1.0) + (joint-control-channel-group-eval! a0-46 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-48 (-> self skel root-channel 0))) + (set! (-> a0-48 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> a0-48 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) + ) + (set! (-> a0-48 param 1) 1.0) + (set! (-> a0-48 frame-num) 0.0) + (joint-control-channel-group! a0-48 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-49 (-> self skel root-channel 0))) + (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) + (set! (-> a0-49 param 1) 1.0) + (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-51 (-> self skel root-channel 0))) + (set! (-> a0-51 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) + (set! (-> a0-51 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) + ) + (set! (-> a0-51 param 1) 1.0) + (set! (-> a0-51 frame-num) 0.0) + (joint-control-channel-group! a0-51 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-52 (-> self skel root-channel 0))) + (set! (-> a0-52 param 0) (the float (+ (-> a0-52 frame-group data 0 length) -1))) + (set! (-> a0-52 param 1) 1.0) + (joint-control-channel-group-eval! a0-52 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - ) ) - (set! (-> a0-48 param 1) 1.0) - (set! (-> a0-48 frame-num) 0.0) - (joint-control-channel-group! - a0-48 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! - (-> a0-49 param 0) - (the float (+ (-> a0-49 frame-group data 0 length) -1)) - ) - (set! (-> a0-49 param 1) 1.0) - (joint-control-channel-group-eval! - a0-49 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-51 (-> self skel root-channel 0))) - (set! - (-> a0-51 frame-group) - (the-as art-joint-anim (-> self draw art-group data 12)) - ) - (set! - (-> a0-51 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 12)) - data - 0 - length - ) - -1 + ((begin + (TODO-RENAME-43 self) + (let* ((f30-3 4.0) + (v1-287 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-288 (the-as number (logior #x3f800000 v1-287))) + ) + (countdown (gp-3 (+ (the int (* f30-3 (+ -1.0 (the-as float v1-288)))) 4)) + (let ((a0-57 (-> self skel root-channel 0))) + (set! (-> a0-57 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-57 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-57 param 1) 1.0) + (set! (-> a0-57 frame-num) 0.0) + (joint-control-channel-group! a0-57 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-58 (-> self skel root-channel 0))) + (set! (-> a0-58 param 0) (the float (+ (-> a0-58 frame-group data 0 length) -1))) + (set! (-> a0-58 param 1) 1.0) + (joint-control-channel-group-eval! a0-58 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (let* ((v1-316 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-317 (the-as number (logior #x3f800000 v1-316))) + ) + (< (+ -1.0 (the-as float v1-317)) 0.5) + ) + ) + (let ((a0-62 (-> self skel root-channel 0))) + (set! (-> a0-62 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-62 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-62 param 1) 1.0) + (set! (-> a0-62 frame-num) 0.0) + (joint-control-channel-group! a0-62 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-63 (-> self skel root-channel 0))) + (set! (-> a0-63 param 0) (the float (+ (-> a0-63 frame-group data 0 length) -1))) + (set! (-> a0-63 param 1) 1.0) + (joint-control-channel-group-eval! a0-63 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-51 param 1) 1.0) - (set! (-> a0-51 frame-num) 0.0) - (joint-control-channel-group! - a0-51 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-52 (-> self skel root-channel 0))) - (set! - (-> a0-52 param 0) - (the float (+ (-> a0-52 frame-group data 0 length) -1)) - ) - (set! (-> a0-52 param 1) 1.0) - (joint-control-channel-group-eval! - a0-52 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - ) - ((begin - (TODO-RENAME-43 self) - (let* ((f30-3 4.0) - (v1-287 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) + (else + (let ((a0-65 (-> self skel root-channel 0))) + (set! (-> a0-65 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-65 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-65 param 1) 1.0) + (set! (-> a0-65 frame-num) 0.0) + (joint-control-channel-group! a0-65 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-66 (-> self skel root-channel 0))) + (set! (-> a0-66 param 0) (the float (+ (-> a0-66 frame-group data 0 length) -1))) + (set! (-> a0-66 param 1) 1.0) + (joint-control-channel-group-eval! a0-66 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-68 (-> self skel root-channel 0))) + (set! (-> a0-68 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-68 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-68 param 1) 1.0) + (set! (-> a0-68 frame-num) 0.0) + (joint-control-channel-group! a0-68 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-69 (-> self skel root-channel 0))) + (set! (-> a0-69 param 0) (the float (+ (-> a0-69 frame-group data 0 length) -1))) + (set! (-> a0-69 param 1) 1.0) + (joint-control-channel-group-eval! a0-69 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-71 (-> self skel root-channel 0))) + (set! (-> a0-71 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-71 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-71 param 1) 1.0) + (set! (-> a0-71 frame-num) 0.0) + (joint-control-channel-group! a0-71 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-72 (-> self skel root-channel 0))) + (set! (-> a0-72 param 0) (the float (+ (-> a0-72 frame-group data 0 length) -1))) + (set! (-> a0-72 param 1) 1.0) + (joint-control-channel-group-eval! a0-72 (the-as art-joint-anim #f) num-func-seek!) ) - (v1-288 (the-as number (logior #x3f800000 v1-287))) - ) - (countdown - (gp-3 (+ (the int (* f30-3 (+ -1.0 (the-as float v1-288)))) 4)) - (let ((a0-57 (-> self skel root-channel 0))) - (set! - (-> a0-57 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-57 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 ) - ) ) - (set! (-> a0-57 param 1) 1.0) - (set! (-> a0-57 frame-num) 0.0) - (joint-control-channel-group! - a0-57 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-58 (-> self skel root-channel 0))) - (set! - (-> a0-58 param 0) - (the float (+ (-> a0-58 frame-group data 0 length) -1)) - ) - (set! (-> a0-58 param 1) 1.0) - (joint-control-channel-group-eval! - a0-58 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ) - (let* - ((v1-316 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-317 (the-as number (logior #x3f800000 v1-316))) - ) - (< (+ -1.0 (the-as float v1-317)) 0.5) - ) ) - (let ((a0-62 (-> self skel root-channel 0))) - (set! - (-> a0-62 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-62 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-62 param 1) 1.0) - (set! (-> a0-62 frame-num) 0.0) - (joint-control-channel-group! - a0-62 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-63 (-> self skel root-channel 0))) - (set! - (-> a0-63 param 0) - (the float (+ (-> a0-63 frame-group data 0 length) -1)) - ) - (set! (-> a0-63 param 1) 1.0) - (joint-control-channel-group-eval! - a0-63 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((a0-65 (-> self skel root-channel 0))) - (set! - (-> a0-65 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-65 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-65 param 1) 1.0) - (set! (-> a0-65 frame-num) 0.0) - (joint-control-channel-group! - a0-65 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-66 (-> self skel root-channel 0))) - (set! - (-> a0-66 param 0) - (the float (+ (-> a0-66 frame-group data 0 length) -1)) - ) - (set! (-> a0-66 param 1) 1.0) - (joint-control-channel-group-eval! - a0-66 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-68 (-> self skel root-channel 0))) - (set! - (-> a0-68 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-68 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-68 param 1) 1.0) - (set! (-> a0-68 frame-num) 0.0) - (joint-control-channel-group! - a0-68 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-69 (-> self skel root-channel 0))) - (set! - (-> a0-69 param 0) - (the float (+ (-> a0-69 frame-group data 0 length) -1)) - ) - (set! (-> a0-69 param 1) 1.0) - (joint-control-channel-group-eval! - a0-69 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-71 (-> self skel root-channel 0))) - (set! - (-> a0-71 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-71 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-71 param 1) 1.0) - (set! (-> a0-71 frame-num) 0.0) - (joint-control-channel-group! - a0-71 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-72 (-> self skel root-channel 0))) - (set! - (-> a0-72 param 0) - (the float (+ (-> a0-72 frame-group data 0 length) -1)) - ) - (set! (-> a0-72 param 1) 1.0) - (joint-control-channel-group-eval! - a0-72 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 11 of type sculptor diff --git a/test/decompiler/reference/levels/beach/twister_REF.gc b/test/decompiler/reference/levels/beach/twister_REF.gc index 59dfef2f60..d25741ec7c 100644 --- a/test/decompiler/reference/levels/beach/twister_REF.gc +++ b/test/decompiler/reference/levels/beach/twister_REF.gc @@ -62,42 +62,33 @@ ) ;; definition for method 0 of type twister -(defmethod - new - twister - ((allocation symbol) - (type-to-make type) - (arg0 int) - (arg1 int) - (arg2 float) - (arg3 float) - (arg4 float) - (arg5 float) - ) +(defmethod new twister ((allocation symbol) + (type-to-make type) + (arg0 int) + (arg1 int) + (arg2 float) + (arg3 float) + (arg4 float) + (arg5 float) + ) (let* ((gp-0 (+ (- 1 arg0) arg1)) - (v0-0 - (object-new - allocation - type-to-make - (the-as int (+ (-> type-to-make size) (* gp-0 16))) - ) - ) + (v0-0 (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) (* gp-0 16))))) ) - (set! (-> v0-0 first-joint) arg0) - (set! (-> v0-0 last-joint) arg1) - (set! (-> v0-0 num-joints) gp-0) - (set! (-> v0-0 max-speed) arg2) - (set! (-> v0-0 smoothing) arg4) - (set! (-> v0-0 min-dist) arg5) - (set! (-> v0-0 target) 0.0) - (set! (-> v0-0 ry) 0.0) - (set! (-> v0-0 max-speed-ry) arg3) - (dotimes (v1-4 gp-0) - (set! (-> v0-0 data v1-4 ry) 0.0) - (set! (-> v0-0 data v1-4 max-dry) 0.0) + (set! (-> v0-0 first-joint) arg0) + (set! (-> v0-0 last-joint) arg1) + (set! (-> v0-0 num-joints) gp-0) + (set! (-> v0-0 max-speed) arg2) + (set! (-> v0-0 smoothing) arg4) + (set! (-> v0-0 min-dist) arg5) + (set! (-> v0-0 target) 0.0) + (set! (-> v0-0 ry) 0.0) + (set! (-> v0-0 max-speed-ry) arg3) + (dotimes (v1-4 gp-0) + (set! (-> v0-0 data v1-4 ry) 0.0) + (set! (-> v0-0 data v1-4 max-dry) 0.0) + ) + v0-0 ) - v0-0 - ) ) ;; definition for method 5 of type twister @@ -107,18 +98,15 @@ ;; definition for method 9 of type twister ;; INFO: Return type mismatch int vs none. -(defmethod - TODO-RENAME-9 - twister - ((obj twister) (arg0 int) (arg1 int) (arg2 float)) +(defmethod TODO-RENAME-9 twister ((obj twister) (arg0 int) (arg1 int) (arg2 float)) (let ((v1-1 (- arg0 (-> obj first-joint))) (a1-2 (- arg1 (-> obj first-joint))) ) - (while (>= a1-2 v1-1) - (set! (-> obj data v1-1 max-dry) arg2) - (+! v1-1 1) + (while (>= a1-2 v1-1) + (set! (-> obj data v1-1 max-dry) arg2) + (+! v1-1 1) + ) ) - ) 0 (none) ) @@ -137,61 +125,36 @@ (let* ((s5-0 (+ (-> obj num-joints) -1)) (s4-0 (-> obj data s5-0)) ) - (let ((f0-2 (deg-diff (-> s4-0 ry) (-> obj target)))) - (+! - (-> s4-0 ry) - (seek-with-smooth - 0.0 - f0-2 - (-> obj max-speed) - (-> obj smoothing) - (-> obj min-dist) + (let ((f0-2 (deg-diff (-> s4-0 ry) (-> obj target)))) + (+! (-> s4-0 ry) (seek-with-smooth 0.0 f0-2 (-> obj max-speed) (-> obj smoothing) (-> obj min-dist))) ) - ) - ) - (let ((f30-1 (-> s4-0 ry))) - (while (> s5-0 0) - (+! s5-0 -1) - (let ((s4-1 (-> obj data s5-0))) - (let ((f0-9 (deg-diff f30-1 (-> s4-1 ry)))) - (cond - ((= (-> s4-1 max-dry) 0.0) - (set! f0-9 0.0) - ) - ((< (fabs f0-9) (-> s4-1 max-dry)) - ) - ((< f0-9 0.0) - (set! - f0-9 - (seek-with-smooth - f0-9 - (- (-> s4-1 max-dry)) - (-> obj max-speed) - (-> obj smoothing) - (-> obj min-dist) - ) + (let ((f30-1 (-> s4-0 ry))) + (while (> s5-0 0) + (+! s5-0 -1) + (let ((s4-1 (-> obj data s5-0))) + (let ((f0-9 (deg-diff f30-1 (-> s4-1 ry)))) + (cond + ((= (-> s4-1 max-dry) 0.0) + (set! f0-9 0.0) + ) + ((< (fabs f0-9) (-> s4-1 max-dry)) + ) + ((< f0-9 0.0) + (set! f0-9 + (seek-with-smooth f0-9 (- (-> s4-1 max-dry)) (-> obj max-speed) (-> obj smoothing) (-> obj min-dist)) + ) + ) + (else + (set! f0-9 (seek-with-smooth f0-9 (-> s4-1 max-dry) (-> obj max-speed) (-> obj smoothing) (-> obj min-dist))) + ) + ) + (+! f30-1 f0-9) + ) + (set! (-> s4-1 ry) f30-1) ) - ) - (else - (set! - f0-9 - (seek-with-smooth - f0-9 - (-> s4-1 max-dry) - (-> obj max-speed) - (-> obj smoothing) - (-> obj min-dist) - ) - ) - ) ) - (+! f30-1 f0-9) - ) - (set! (-> s4-1 ry) f30-1) ) - ) ) - ) 0 (none) ) @@ -200,19 +163,15 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-12 twister ((obj twister) (arg0 process-drawable)) (let ((s4-0 (new 'stack-no-clear 'matrix))) - (dotimes (s3-0 (-> obj num-joints)) - (let - ((s2-0 - (-> arg0 node-list data (+ (-> obj first-joint) s3-0) bone transform) - ) + (dotimes (s3-0 (-> obj num-joints)) + (let ((s2-0 (-> arg0 node-list data (+ (-> obj first-joint) s3-0) bone transform))) + (matrix-rotate-y! s4-0 (-> obj data s3-0 ry)) + (vector-! (-> s2-0 vector 3) (-> s2-0 vector 3) (-> arg0 root trans)) + (matrix*! s2-0 s2-0 s4-0) + (vector+! (-> s2-0 vector 3) (-> s2-0 vector 3) (-> arg0 root trans)) + ) ) - (matrix-rotate-y! s4-0 (-> obj data s3-0 ry)) - (vector-! (-> s2-0 vector 3) (-> s2-0 vector 3) (-> arg0 root trans)) - (matrix*! s2-0 s2-0 s4-0) - (vector+! (-> s2-0 vector 3) (-> s2-0 vector 3) (-> arg0 root trans)) - ) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/levels/beach/wobbler_REF.gc b/test/decompiler/reference/levels/beach/wobbler_REF.gc index 0208f75616..b5961201b8 100644 --- a/test/decompiler/reference/levels/beach/wobbler_REF.gc +++ b/test/decompiler/reference/levels/beach/wobbler_REF.gc @@ -75,24 +75,16 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-12 wobbler ((obj wobbler) (arg0 quaternion)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 x) (-> obj posy)) - (set! (-> s5-0 y) 0.0) - (set! (-> s5-0 z) (- (-> obj posx))) - (vector-normalize! s5-0 1.0) - (let* - ((f0-8 - (/ - (sqrtf - (+ (* (-> obj posx) (-> obj posx)) (* (-> obj posy) (-> obj posy))) - ) - (-> obj height) - ) + (set! (-> s5-0 x) (-> obj posy)) + (set! (-> s5-0 y) 0.0) + (set! (-> s5-0 z) (- (-> obj posx))) + (vector-normalize! s5-0 1.0) + (let* ((f0-8 (/ (sqrtf (+ (* (-> obj posx) (-> obj posx)) (* (-> obj posy) (-> obj posy)))) (-> obj height))) + (f0-9 (atan f0-8 1.0)) + ) + (quaternion-vector-angle! arg0 s5-0 f0-9) ) - (f0-9 (atan f0-8 1.0)) - ) - (quaternion-vector-angle! arg0 s5-0 f0-9) ) - ) 0 (none) ) diff --git a/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc b/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc index ec9ef9e7cb..4f86b8f761 100644 --- a/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc +++ b/test/decompiler/reference/levels/citadel/assistant-citadel_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type assistant-lavatube-end (defmethod inspect assistant-lavatube-end ((obj assistant-lavatube-end)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -29,95 +29,48 @@ ) ;; definition for method 32 of type assistant-lavatube-end -(defmethod - play-anim! - assistant-lavatube-end - ((obj assistant-lavatube-end) (arg0 symbol)) - (case (current-status (-> obj tasks)) - (((task-status unknown) (task-status need-hint)) - (new 'static 'spool-anim - :name "assistant-lavatube-end-resolution" - :index 4 - :parts 11 - :command-list '() - ) +(defmethod play-anim! assistant-lavatube-end ((obj assistant-lavatube-end) (arg0 symbol)) + (case (current-status (-> obj tasks)) + (((task-status unknown) (task-status need-hint)) + (new 'static 'spool-anim :name "assistant-lavatube-end-resolution" :index 4 :parts 11 :command-list '()) ) - (((task-status need-reward-speech)) - (if arg0 - (close-current! (-> obj tasks)) - ) - (new 'static 'spool-anim - :name "assistant-lavatube-end-resolution" - :index 4 - :parts 11 - :command-list - '( - ((the binteger 61) - joint - "cameraB" + (((task-status need-reward-speech)) + (if arg0 + (close-current! (-> obj tasks)) + ) + (new 'static 'spool-anim + :name "assistant-lavatube-end-resolution" + :index 4 + :parts 11 + :command-list + '(((the binteger 61) joint "cameraB") + ((the binteger 151) joint "camera") + ((the binteger 226) joint "cameraB") + ((the binteger 273) joint "camera") + ((the binteger 316) joint "cameraB") + ((the binteger 451) joint "camera") + ((the binteger 651) joint "cameraB") + ((the binteger 786) joint "camera") + ((the binteger 888) joint "cameraB") + ((the binteger 1011) joint "camera") + ((the binteger 1011) shadow target #f) + ((the binteger 1140) shadow target #t) + ((the binteger 1191) joint "cameraB") ) - ((the binteger 151) - joint - "camera" - ) - ((the binteger 226) - joint - "cameraB" - ) - ((the binteger 273) - joint - "camera" - ) - ((the binteger 316) - joint - "cameraB" - ) - ((the binteger 451) - joint - "camera" - ) - ((the binteger 651) - joint - "cameraB" - ) - ((the binteger 786) - joint - "camera" - ) - ((the binteger 888) - joint - "cameraB" - ) - ((the binteger 1011) - joint - "camera" - ) - ((the binteger 1011) - shadow - target - #f - ) - ((the binteger 1140) - shadow - target - #t - ) - ((the binteger 1191) joint "cameraB") ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (get-art-elem obj) ) - ) - (get-art-elem obj) ) - ) ) ;; definition for method 31 of type assistant-lavatube-end @@ -130,31 +83,15 @@ :virtual #t :trans (behavior () - (dummy-33 self) - ((-> (method-of-type process-taskable hidden) trans)) - (when - (and - (and - *target* - (>= - 61440.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) + (dummy-33 self) + ((-> (method-of-type process-taskable hidden) trans)) + (when (and + (and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + (not (closed? (-> self tasks) (game-task village4-button) (task-status need-reward-speech))) + ) ) - (not - (closed? - (-> self tasks) - (game-task village4-button) - (task-status need-reward-speech) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -162,106 +99,80 @@ :virtual #t :enter (behavior () - ((-> (method-of-type process-taskable idle) enter)) - (case (get-task-status (game-task village4-button)) - (((task-status need-reward-speech)) - (send-event self 'play-anim) + ((-> (method-of-type process-taskable idle) enter)) + (case (get-task-status (game-task village4-button)) + (((task-status need-reward-speech)) + (send-event self 'play-anim) + ) ) + (none) ) - (none) - ) :code (behavior () - (while #t - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - (let ((v1-5 (-> self skel root-channel 0))) - (set! - (-> v1-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) + (while #t + (when (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (get-art-elem self) + ) + (ja-channel-push! 1 15) + (let ((v1-5 (-> self skel root-channel 0))) + (set! (-> v1-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) + ) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-10 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-10 param 1) 1.0) + (set! (-> a0-10 frame-num) 0.0) + (joint-control-channel-group! + a0-10 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) + (set! (-> a0-11 param 1) 1.0) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - ) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-10 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 param 0) - (the float (+ (-> a0-11 frame-group data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) ) ;; definition for method 39 of type assistant-lavatube-end (defmethod should-display? assistant-lavatube-end ((obj assistant-lavatube-end)) (first-any (-> obj tasks) #t) (let ((v1-3 (current-status (-> obj tasks)))) - (and - (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))) + (and + (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))) + ) ) - ) ) ;; definition for method 11 of type assistant-lavatube-end -(defmethod - init-from-entity! - assistant-lavatube-end - ((obj assistant-lavatube-end) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *assistant-lavatube-end-sg* - 3 - 29 - (new 'static 'vector :w 4096.0) - 5 - ) +(defmethod init-from-entity! assistant-lavatube-end ((obj assistant-lavatube-end) (arg0 entity-actor)) + (dummy-40 obj arg0 *assistant-lavatube-end-sg* 3 29 (new 'static 'vector :w 4096.0) 5) (set! (-> obj tasks) (get-task-control (game-task village4-button))) (first-any (-> obj tasks) #t) (dummy-42 obj) diff --git a/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc b/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc index 5a99acb5fb..ccdf096d16 100644 --- a/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc +++ b/test/decompiler/reference/levels/citadel/citadel-obs_REF.gc @@ -23,8 +23,8 @@ ;; definition for method 3 of type citb-arm-section (defmethod inspect citb-arm-section ((obj citb-arm-section)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Tcull-dir-local: #~%" (-> obj cull-dir-local)) (format #t "~T~Tcull-dot: ~f~%" (-> obj cull-dot)) @@ -92,39 +92,36 @@ :virtual #t :code (behavior () - (let ((gp-0 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'vector)) - ) - (while #t - (cond - ((< (- (-> (target-pos 0) y) (-> self root trans y)) -122880.0) - (set! (-> self draw force-lod) 1) - ) - (else - (set! (-> self draw force-lod) 0) - 0 - ) + (let ((gp-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'vector)) + ) + (while #t + (cond + ((< (- (-> (target-pos 0) y) (-> self root trans y)) -122880.0) + (set! (-> self draw force-lod) 1) + ) + (else + (set! (-> self draw force-lod) 0) + 0 + ) + ) + (set! (-> self y-angle) (* 65536.0 (get-current-phase (-> self sync)) (-> self rot-scale))) + (quaternion-axis-angle! (-> self root quat) 0.0 1.0 0.0 (-> self y-angle)) + (vector-orient-by-quat! gp-0 (-> self cull-dir-local) (-> self root quat)) + (vector-! s5-0 (-> self root trans) (camera-pos)) + (set! (-> gp-0 y) 0.0) + (set! (-> s5-0 y) 0.0) + (vector-normalize! gp-0 1.0) + (vector-normalize! s5-0 1.0) + (if (>= (vector-dot gp-0 s5-0) (-> self cull-dot)) + (logior! (-> self draw status) 2) + (set! (-> self draw status) (logand -3 (-> self draw status))) + ) + (suspend) + ) ) - (set! - (-> self y-angle) - (* 65536.0 (get-current-phase (-> self sync)) (-> self rot-scale)) - ) - (quaternion-axis-angle! (-> self root quat) 0.0 1.0 0.0 (-> self y-angle)) - (vector-orient-by-quat! gp-0 (-> self cull-dir-local) (-> self root quat)) - (vector-! s5-0 (-> self root trans) (camera-pos)) - (set! (-> gp-0 y) 0.0) - (set! (-> s5-0 y) 0.0) - (vector-normalize! gp-0 1.0) - (vector-normalize! s5-0 1.0) - (if (>= (vector-dot gp-0 s5-0) (-> self cull-dot)) - (logior! (-> self draw status) 2) - (set! (-> self draw status) (logand -3 (-> self draw status))) - ) - (suspend) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior citb-arm-section) ja-post) ) @@ -143,16 +140,16 @@ (logclear! (-> obj mask) (process-mask actor-pause)) (load-params! (-> obj sync) obj (the-as uint 3000) 0.0 0.15 0.15) (cond - ((> (-> obj sync period) 0) - (set! (-> obj rot-scale) 1.0) - ) - (else - (set! (-> obj rot-scale) -1.0) - (let ((v1-6 (abs (the-as int (-> obj sync period))))) - (set! (-> obj sync period) (the-as uint v1-6)) + ((> (-> obj sync period) 0) + (set! (-> obj rot-scale) 1.0) ) + (else + (set! (-> obj rot-scale) -1.0) + (let ((v1-6 (abs (the-as int (-> obj sync period))))) + (set! (-> obj sync period) (the-as uint v1-6)) + ) + ) ) - ) (logior! (-> obj skel status) 1) (set-vector! (-> obj cull-dir-local) 0.0 0.0 -1.0 1.0) (set! (-> obj cull-dot) (cos 5461.3335)) @@ -162,10 +159,7 @@ ;; definition for method 11 of type citb-arm-section ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - citb-arm-section - ((obj citb-arm-section) (arg0 entity-actor)) +(defmethod init-from-entity! citb-arm-section ((obj citb-arm-section) (arg0 entity-actor)) (init-root! obj) (process-drawable-from-entity! obj arg0) (setup-new-process! obj) @@ -186,8 +180,8 @@ ;; definition for method 3 of type citb-arm (defmethod inspect citb-arm ((obj citb-arm)) (let ((t9-0 (method-of-type citb-arm-section inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -198,56 +192,38 @@ (the-as (function none :behavior citb-arm) rider-trans) :post (behavior () - (if (logtest? (-> self draw status) 2) - (clear-collide-with-as (-> self root-override)) - (restore-collide-with-as (-> self root-override)) + (if (logtest? (-> self draw status) 2) + (clear-collide-with-as (-> self root-override)) + (restore-collide-with-as (-> self root-override)) + ) + (rider-post) + (none) ) - (rider-post) - (none) - ) ) ;; definition for method 20 of type citb-arm ;; INFO: Return type mismatch int vs none. (defmethod init-root! citb-arm ((obj citb-arm)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 40960.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 3) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 40960.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -255,9 +231,7 @@ ;; definition for method 21 of type citb-arm ;; INFO: Return type mismatch int vs none. (defmethod setup-new-process! citb-arm ((obj citb-arm)) - ((the-as (function citb-arm-section none) (find-parent-method citb-arm 21)) - obj - ) + ((the-as (function citb-arm-section none) (find-parent-method citb-arm 21)) obj) (set! (-> obj draw origin-joint-index) (the-as uint 4)) (set-vector! (-> obj cull-dir-local) 0.0 0.0 -1.0 1.0) (set! (-> obj cull-dot) (cos 5461.3335)) @@ -277,20 +251,15 @@ ;; definition for method 3 of type citb-arm-shoulder (defmethod inspect citb-arm-shoulder ((obj citb-arm-shoulder)) (let ((t9-0 (method-of-type citb-arm-section inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for method 21 of type citb-arm-shoulder ;; INFO: Return type mismatch int vs none. (defmethod setup-new-process! citb-arm-shoulder ((obj citb-arm-shoulder)) - ((the-as - (function citb-arm-section none) - (find-parent-method citb-arm-shoulder 21) - ) - obj - ) + ((the-as (function citb-arm-section none) (find-parent-method citb-arm-shoulder 21)) obj) (set! (-> obj draw origin-joint-index) (the-as uint 4)) (set-vector! (-> obj cull-dir-local) 1.0 0.0 1.0 1.0) (set! (-> obj cull-dot) (cos 8374.045)) @@ -310,8 +279,8 @@ ;; definition for method 3 of type citb-arm-a (defmethod inspect citb-arm-a ((obj citb-arm-a)) (let ((t9-0 (method-of-type citb-arm inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -327,8 +296,8 @@ ;; definition for method 3 of type citb-arm-b (defmethod inspect citb-arm-b ((obj citb-arm-b)) (let ((t9-0 (method-of-type citb-arm inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -344,8 +313,8 @@ ;; definition for method 3 of type citb-arm-c (defmethod inspect citb-arm-c ((obj citb-arm-c)) (let ((t9-0 (method-of-type citb-arm inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -361,8 +330,8 @@ ;; definition for method 3 of type citb-arm-d (defmethod inspect citb-arm-d ((obj citb-arm-d)) (let ((t9-0 (method-of-type citb-arm inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -378,8 +347,8 @@ ;; definition for method 3 of type citb-arm-shoulder-a (defmethod inspect citb-arm-shoulder-a ((obj citb-arm-shoulder-a)) (let ((t9-0 (method-of-type citb-arm-shoulder inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -395,8 +364,8 @@ ;; definition for method 3 of type citb-arm-shoulder-b (defmethod inspect citb-arm-shoulder-b ((obj citb-arm-shoulder-b)) (let ((t9-0 (method-of-type citb-arm-shoulder inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -444,9 +413,7 @@ ;; INFO: Return type mismatch int vs none. (defmethod setup-new-process! citb-arm-shoulder-a ((obj citb-arm-shoulder-a)) (initialize-skeleton obj *citb-arm-shoulder-a-sg* '()) - ((the-as (function citb-arm none) (find-parent-method citb-arm-shoulder-a 21)) - (the-as citb-arm obj) - ) + ((the-as (function citb-arm none) (find-parent-method citb-arm-shoulder-a 21)) (the-as citb-arm obj)) 0 (none) ) @@ -455,9 +422,7 @@ ;; INFO: Return type mismatch int vs none. (defmethod setup-new-process! citb-arm-shoulder-b ((obj citb-arm-shoulder-b)) (initialize-skeleton obj *citb-arm-shoulder-b-sg* '()) - ((the-as (function citb-arm none) (find-parent-method citb-arm-shoulder-b 21)) - (the-as citb-arm obj) - ) + ((the-as (function citb-arm none) (find-parent-method citb-arm-shoulder-b 21)) (the-as citb-arm obj)) 0 (none) ) @@ -517,8 +482,8 @@ ;; definition for method 3 of type citb-disc (defmethod inspect citb-disc ((obj citb-disc)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Trot-scale: ~f~%" (-> obj rot-scale)) obj @@ -528,31 +493,31 @@ (defstate citb-disc-idle (citb-disc) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 75) - #f - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'touch) + (send-event arg0 'no-look-around 75) + #f + ) + ) + ) ) - ) :trans (the-as (function none :behavior citb-disc) rider-trans) :code (behavior () - (while #t - (update! (-> self sound)) - (quaternion-axis-angle! - (-> self root-override quat) - 0.0 - 1.0 - 0.0 - (* 65536.0 (get-current-phase (-> self sync)) (-> self rot-scale)) - ) - (suspend) + (while #t + (update! (-> self sound)) + (quaternion-axis-angle! + (-> self root-override quat) + 0.0 + 1.0 + 0.0 + (* 65536.0 (get-current-phase (-> self sync)) (-> self rot-scale)) + ) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior citb-disc) rider-post) ) @@ -560,44 +525,26 @@ ;; definition for method 20 of type citb-disc ;; INFO: Return type mismatch int vs none. (defmethod init! citb-disc ((obj citb-disc)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 19)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 49152.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 19)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 49152.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -617,33 +564,31 @@ (logclear! (-> obj mask) (process-mask actor-pause)) (load-params! (-> obj sync) obj (the-as uint 3000) 0.0 0.15 0.15) (cond - ((> (-> obj sync period) 0) - (set! (-> obj rot-scale) 1.0) - ) - (else - (set! (-> obj rot-scale) -1.0) - (let ((v1-8 (abs (the-as int (-> obj sync period))))) - (set! (-> obj sync period) (the-as uint v1-8)) + ((> (-> obj sync period) 0) + (set! (-> obj rot-scale) 1.0) ) + (else + (set! (-> obj rot-scale) -1.0) + (let ((v1-8 (abs (the-as int (-> obj sync period))))) + (set! (-> obj sync period) (the-as uint v1-8)) + ) + ) ) - ) (dummy-21 obj) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "rotate-plat") - :volume #x400 - :fo-max 20 - ) - (-> obj root-override trans) - ) - ) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "rotate-plat") + :volume #x400 + :fo-max 20 + ) + (-> obj root-override trans) + ) + ) (logior! (-> obj skel status) 1) (go citb-disc-idle) (none) @@ -661,8 +606,8 @@ ;; definition for method 3 of type citb-disc-a (defmethod inspect citb-disc-a ((obj citb-disc-a)) (let ((t9-0 (method-of-type citb-disc inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -678,8 +623,8 @@ ;; definition for method 3 of type citb-disc-b (defmethod inspect citb-disc-b ((obj citb-disc-b)) (let ((t9-0 (method-of-type citb-disc inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -695,8 +640,8 @@ ;; definition for method 3 of type citb-disc-c (defmethod inspect citb-disc-c ((obj citb-disc-c)) (let ((t9-0 (method-of-type citb-disc inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -712,8 +657,8 @@ ;; definition for method 3 of type citb-disc-d (defmethod inspect citb-disc-d ((obj citb-disc-d)) (let ((t9-0 (method-of-type citb-disc inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -761,8 +706,8 @@ ;; definition for method 3 of type citb-iris-door (defmethod inspect citb-iris-door ((obj citb-iris-door)) (let ((t9-0 (method-of-type eco-door inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -778,31 +723,20 @@ ;; definition for method 24 of type citb-iris-door ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-24 citb-iris-door ((obj citb-iris-door)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 16384.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 16384.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -841,51 +775,33 @@ ;; definition for method 3 of type citb-button (defmethod inspect citb-button ((obj citb-button)) (let ((t9-0 (method-of-type basebutton inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for method 27 of type citb-button ;; INFO: Return type mismatch int vs collide-shape-moving. (defmethod TODO-RENAME-27 citb-button ((obj citb-button)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 12288.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 3) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 12288.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) (the-as collide-shape-moving 0) ) @@ -895,41 +811,29 @@ (logior! (-> obj skel status) 1) (ja-channel-set! 1) (cond - ((-> obj down?) - (let ((s5-0 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity - ) - (set! - (-> s5-0 frame-num) - (the - float - (+ - (-> + ((-> obj down?) + (let ((s5-0 (-> obj skel root-channel 0))) + (joint-control-channel-group-eval! + s5-0 (the-as art-joint-anim (-> obj draw art-group data 2)) - data - 0 - length + num-func-identity ) - -1 - ) + (set! (-> s5-0 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 2)) data 0 length) -1)) + ) ) - ) ) - ) - (else - (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity + (else + (let ((s5-1 (-> obj skel root-channel 0))) + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) 0.0) + ) ) - (set! (-> s5-1 frame-num) 0.0) - ) ) - ) (set! (-> obj anim-speed) 2.0) (set! (-> obj timeout) 1.0) (dummy-47 (-> obj root-override)) @@ -950,8 +854,8 @@ ;; definition for method 3 of type citb-launcher (defmethod inspect citb-launcher ((obj citb-launcher)) (let ((t9-0 (method-of-type plat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tlauncher: #x~X~%" (-> obj launcher)) obj ) @@ -961,18 +865,14 @@ :virtual #t :post (behavior () - (let ((t9-0 (-> (method-of-type plat plat-path-active) post))) - (if t9-0 - ((the-as (function none :behavior citb-launcher) t9-0)) - ) + (let ((t9-0 (-> (method-of-type plat plat-path-active) post))) + (if t9-0 + ((the-as (function none :behavior citb-launcher) t9-0)) + ) + ) + (send-event (ppointer->process (-> self launcher)) 'trans (-> self basetrans)) + (none) ) - (send-event - (ppointer->process (-> self launcher)) - 'trans - (-> self basetrans) - ) - (none) - ) ) ;; failed to figure out what this is: @@ -992,47 +892,23 @@ ;; definition for method 26 of type citb-launcher ;; INFO: Return type mismatch int vs none. (defmethod dummy-26 citb-launcher ((obj citb-launcher)) - (let - ((f30-0 (res-lump-float (-> obj entity) 'spring-height :default 163840.0)) - (s5-0 (res-lump-value (-> obj entity) 'mode uint128)) - (s4-0 (get-process *default-dead-pool* launcher #x4000)) + (let ((f30-0 (res-lump-float (-> obj entity) 'spring-height :default 163840.0)) + (s5-0 (res-lump-value (-> obj entity) 'mode uint128)) + (s4-0 (get-process *default-dead-pool* launcher #x4000)) + ) + (set! (-> obj launcher) + (the-as + (pointer launcher) + (when s4-0 + (let ((t9-3 (method-of-type launcher activate))) + (t9-3 (the-as launcher s4-0) obj 'launcher (the-as pointer #x70004000)) + ) + (run-now-in-process s4-0 launcher-init-by-other (-> obj root-override trans) f30-0 s5-0 81920.0) + (-> s4-0 ppointer) + ) + ) + ) ) - (set! (-> obj launcher) (the-as (pointer launcher) (when s4-0 - (let - ((t9-3 - (method-of-type - launcher - activate - ) - ) - ) - (t9-3 - (the-as launcher s4-0) - obj - 'launcher - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s4-0 - launcher-init-by-other - (-> - obj - root-override - trans - ) - f30-0 - s5-0 - 81920.0 - ) - (-> s4-0 ppointer) - ) - ) - ) - ) (set! (-> obj root-override root-prim local-sphere w) 18432.0) (logclear! (-> obj mask) (process-mask actor-pause)) 0 @@ -1134,8 +1010,8 @@ ;; definition for method 3 of type citb-robotboss (defmethod inspect citb-robotboss ((obj citb-robotboss)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tshield-on: ~A~%" (-> obj shield-on)) obj ) @@ -1144,334 +1020,236 @@ (defstate citb-robotboss-idle (citb-robotboss) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (sv-96 int) (sv-112 int)) - (the-as object (cond - ((= arg2 'shield-off) - (stop! (-> self sound)) - (if (-> self shield-on) - (sound-play-by-name - (static-sound-name "robotcage-off") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (set! (-> self shield-on) #f) - #f - ) - ((= arg2 'shield-on) - (let ((v0-3 #t)) - (set! (-> self shield-on) v0-3) - v0-3 - ) - ) - ((= arg2 'die) - (dummy-18 self) - (the-as symbol (deactivate self)) - ) - ((or (= arg2 'touch) (= arg2 'attack)) - (let ((s4-0 sound-play-by-name) - (s3-0 - (make-u128 #x7061 (the-as uint #x7a2d646c65696873)) - ) - (s2-0 (new-sound-id)) - (s1-0 1024) - (s0-0 0) + (local-vars (sv-96 int) (sv-112 int)) + (the-as object (cond + ((= arg2 'shield-off) + (stop! (-> self sound)) + (if (-> self shield-on) + (sound-play-by-name (static-sound-name "robotcage-off") (new-sound-id) 1024 0 0 1 #t) ) - (set! sv-96 0) - (set! sv-112 1) - (let ((t2-1 (target-pos 0))) - (s4-0 - (the-as sound-name s3-0) - s2-0 - s1-0 - s0-0 - sv-96 - sv-112 - (the-as symbol t2-1) - ) + (set! (-> self shield-on) #f) + #f + ) + ((= arg2 'shield-on) + (let ((v0-3 #t)) + (set! (-> self shield-on) v0-3) + v0-3 + ) + ) + ((= arg2 'die) + (dummy-18 self) + (the-as symbol (deactivate self)) + ) + ((or (= arg2 'touch) (= arg2 'attack)) + (let ((s4-0 sound-play-by-name) + (s3-0 (make-u128 #x7061 (the-as uint #x7a2d646c65696873))) + (s2-0 (new-sound-id)) + (s1-0 1024) + (s0-0 0) + ) + (set! sv-96 0) + (set! sv-112 1) + (let ((t2-1 (target-pos 0))) + (s4-0 (the-as sound-name s3-0) s2-0 s1-0 s0-0 sv-96 sv-112 (the-as symbol t2-1)) + ) + ) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'shove) + (set! (-> a1-3 param 0) (-> arg3 param 0)) + (let ((v1-21 (new 'static 'attack-info :mask #xc0))) + (set! (-> v1-21 shove-up) 8192.0) + (set! (-> v1-21 shove-back) 12288.0) + (set! (-> a1-3 param 1) (the-as uint v1-21)) + ) + (the-as symbol (send-event-function arg0 a1-3)) + ) ) ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((v1-21 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-21 shove-up) 8192.0) - (set! (-> v1-21 shove-back) 12288.0) - (set! (-> a1-3 param 1) (the-as uint v1-21)) - ) - (the-as symbol (send-event-function arg0 a1-3)) - ) - ) - ) + ) ) - ) :code (behavior () - (let* ((s5-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-0 (when s5-0 - (let ((t9-1 (method-of-type manipy activate))) - (t9-1 - (the-as manipy s5-0) - self - 'manipy - (the-as pointer #x70004000) + (let* ((s5-0 (get-process *default-dead-pool* manipy #x4000)) + (gp-0 (when s5-0 + (let ((t9-1 (method-of-type manipy activate))) + (t9-1 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-0 + manipy-init + (-> self root-override trans) + (-> self entity) + *citb-robotboss-nose-sg* + #f + ) + (-> s5-0 ppointer) ) - ) - (run-now-in-process - s5-0 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-nose-sg* - #f - ) - (-> s5-0 ppointer) ) ) - ) - (send-event (ppointer->process gp-0) 'anim-mode 'loop) - (send-event - (ppointer->process gp-0) - 'art-joint-anim - "citb-robotboss-nose-idle" - 0 - ) - (send-event (ppointer->process gp-0) 'draw #t) - ) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 (when s5-1 - (let ((t9-7 (method-of-type manipy activate))) - (t9-7 - (the-as manipy s5-1) - self - 'manipy - (the-as pointer #x70004000) + (send-event (ppointer->process gp-0) 'anim-mode 'loop) + (send-event (ppointer->process gp-0) 'art-joint-anim "citb-robotboss-nose-idle" 0) + (send-event (ppointer->process gp-0) 'draw #t) + ) + (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) + (gp-1 (when s5-1 + (let ((t9-7 (method-of-type manipy activate))) + (t9-7 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-1 + manipy-init + (-> self root-override trans) + (-> self entity) + *citb-robotboss-head-sg* + #f + ) + (-> s5-1 ppointer) ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-head-sg* - #f - ) - (-> s5-1 ppointer) ) ) - ) - (send-event (ppointer->process gp-1) 'anim-mode 'loop) - (send-event - (ppointer->process gp-1) - 'art-joint-anim - "citb-robotboss-head-idle" - 0 - ) - (send-event (ppointer->process gp-1) 'draw #t) - ) - (let* ((s5-2 (get-process *default-dead-pool* manipy #x4000)) - (gp-2 (when s5-2 - (let ((t9-13 (method-of-type manipy activate))) - (t9-13 - (the-as manipy s5-2) - self - 'manipy - (the-as pointer #x70004000) + (send-event (ppointer->process gp-1) 'anim-mode 'loop) + (send-event (ppointer->process gp-1) 'art-joint-anim "citb-robotboss-head-idle" 0) + (send-event (ppointer->process gp-1) 'draw #t) + ) + (let* ((s5-2 (get-process *default-dead-pool* manipy #x4000)) + (gp-2 (when s5-2 + (let ((t9-13 (method-of-type manipy activate))) + (t9-13 (the-as manipy s5-2) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-2 + manipy-init + (-> self root-override trans) + (-> self entity) + *citb-robotboss-gun-sg* + #f + ) + (-> s5-2 ppointer) ) - ) - (run-now-in-process - s5-2 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-gun-sg* - #f - ) - (-> s5-2 ppointer) ) ) - ) - (send-event (ppointer->process gp-2) 'anim-mode 'loop) - (send-event - (ppointer->process gp-2) - 'art-joint-anim - "citb-robotboss-gun-idle" - 0 - ) - (send-event (ppointer->process gp-2) 'draw #t) - ) - (let* ((s5-3 (get-process *default-dead-pool* manipy #x4000)) - (gp-3 (when s5-3 - (let ((t9-19 (method-of-type manipy activate))) - (t9-19 - (the-as manipy s5-3) - self - 'manipy - (the-as pointer #x70004000) + (send-event (ppointer->process gp-2) 'anim-mode 'loop) + (send-event (ppointer->process gp-2) 'art-joint-anim "citb-robotboss-gun-idle" 0) + (send-event (ppointer->process gp-2) 'draw #t) + ) + (let* ((s5-3 (get-process *default-dead-pool* manipy #x4000)) + (gp-3 (when s5-3 + (let ((t9-19 (method-of-type manipy activate))) + (t9-19 (the-as manipy s5-3) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-3 + manipy-init + (-> self root-override trans) + (-> self entity) + *citb-robotboss-leftshoulder-sg* + #f + ) + (-> s5-3 ppointer) ) - ) - (run-now-in-process - s5-3 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-leftshoulder-sg* - #f - ) - (-> s5-3 ppointer) ) ) - ) - (send-event (ppointer->process gp-3) 'anim-mode 'loop) - (send-event - (ppointer->process gp-3) - 'art-joint-anim - "citb-robotboss-leftshoulder-idle" - 0 - ) - (send-event (ppointer->process gp-3) 'draw #t) - ) - (let* ((s5-4 (get-process *default-dead-pool* manipy #x4000)) - (gp-4 (when s5-4 - (let ((t9-25 (method-of-type manipy activate))) - (t9-25 - (the-as manipy s5-4) - self - 'manipy - (the-as pointer #x70004000) + (send-event (ppointer->process gp-3) 'anim-mode 'loop) + (send-event (ppointer->process gp-3) 'art-joint-anim "citb-robotboss-leftshoulder-idle" 0) + (send-event (ppointer->process gp-3) 'draw #t) + ) + (let* ((s5-4 (get-process *default-dead-pool* manipy #x4000)) + (gp-4 (when s5-4 + (let ((t9-25 (method-of-type manipy activate))) + (t9-25 (the-as manipy s5-4) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-4 + manipy-init + (-> self root-override trans) + (-> self entity) + *citb-robotboss-rightshoulder-sg* + #f + ) + (-> s5-4 ppointer) ) - ) - (run-now-in-process - s5-4 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-rightshoulder-sg* - #f - ) - (-> s5-4 ppointer) ) ) - ) - (send-event (ppointer->process gp-4) 'anim-mode 'loop) - (send-event - (ppointer->process gp-4) - 'art-joint-anim - "citb-robotboss-rightshoulder-idle" - 0 - ) - (send-event (ppointer->process gp-4) 'draw #t) - ) - (let* ((s5-5 (get-process *default-dead-pool* manipy #x4000)) - (gp-5 (when s5-5 - (let ((t9-31 (method-of-type manipy activate))) - (t9-31 - (the-as manipy s5-5) - self - 'manipy - (the-as pointer #x70004000) + (send-event (ppointer->process gp-4) 'anim-mode 'loop) + (send-event (ppointer->process gp-4) 'art-joint-anim "citb-robotboss-rightshoulder-idle" 0) + (send-event (ppointer->process gp-4) 'draw #t) + ) + (let* ((s5-5 (get-process *default-dead-pool* manipy #x4000)) + (gp-5 (when s5-5 + (let ((t9-31 (method-of-type manipy activate))) + (t9-31 (the-as manipy s5-5) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-5 + manipy-init + (-> self root-override trans) + (-> self entity) + *citb-robotboss-leftarm-sg* + #f + ) + (-> s5-5 ppointer) ) - ) - (run-now-in-process - s5-5 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-leftarm-sg* - #f - ) - (-> s5-5 ppointer) ) ) - ) - (send-event (ppointer->process gp-5) 'anim-mode 'loop) - (send-event - (ppointer->process gp-5) - 'art-joint-anim - "citb-robotboss-leftarm-idle" - 0 - ) - (send-event (ppointer->process gp-5) 'draw #t) - ) - (let* ((s5-6 (get-process *default-dead-pool* manipy #x4000)) - (gp-6 (when s5-6 - (let ((t9-37 (method-of-type manipy activate))) - (t9-37 - (the-as manipy s5-6) - self - 'manipy - (the-as pointer #x70004000) + (send-event (ppointer->process gp-5) 'anim-mode 'loop) + (send-event (ppointer->process gp-5) 'art-joint-anim "citb-robotboss-leftarm-idle" 0) + (send-event (ppointer->process gp-5) 'draw #t) + ) + (let* ((s5-6 (get-process *default-dead-pool* manipy #x4000)) + (gp-6 (when s5-6 + (let ((t9-37 (method-of-type manipy activate))) + (t9-37 (the-as manipy s5-6) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-6 + manipy-init + (-> self root-override trans) + (-> self entity) + *citb-robotboss-rightarm-sg* + #f + ) + (-> s5-6 ppointer) ) - ) - (run-now-in-process - s5-6 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-rightarm-sg* - #f - ) - (-> s5-6 ppointer) ) ) - ) - (send-event (ppointer->process gp-6) 'anim-mode 'loop) - (send-event - (ppointer->process gp-6) - 'art-joint-anim - "citb-robotboss-rightarm-idle" - 0 - ) - (send-event (ppointer->process gp-6) 'draw #t) - ) - (let* ((s5-7 (get-process *default-dead-pool* manipy #x4000)) - (gp-7 (when s5-7 - (let ((t9-43 (method-of-type manipy activate))) - (t9-43 - (the-as manipy s5-7) - self - 'manipy - (the-as pointer #x70004000) + (send-event (ppointer->process gp-6) 'anim-mode 'loop) + (send-event (ppointer->process gp-6) 'art-joint-anim "citb-robotboss-rightarm-idle" 0) + (send-event (ppointer->process gp-6) 'draw #t) + ) + (let* ((s5-7 (get-process *default-dead-pool* manipy #x4000)) + (gp-7 (when s5-7 + (let ((t9-43 (method-of-type manipy activate))) + (t9-43 (the-as manipy s5-7) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-7 + manipy-init + (-> self root-override trans) + (-> self entity) + *citb-robotboss-belly-sg* + #f + ) + (-> s5-7 ppointer) ) - ) - (run-now-in-process - s5-7 - manipy-init - (-> self root-override trans) - (-> self entity) - *citb-robotboss-belly-sg* - #f - ) - (-> s5-7 ppointer) ) ) - ) - (send-event (ppointer->process gp-7) 'anim-mode 'loop) - (send-event - (ppointer->process gp-7) - 'art-joint-anim - "citb-robotboss-belly-idle" - 0 - ) - (send-event (ppointer->process gp-7) 'draw #t) + (send-event (ppointer->process gp-7) 'anim-mode 'loop) + (send-event (ppointer->process gp-7) 'art-joint-anim "citb-robotboss-belly-idle" 0) + (send-event (ppointer->process gp-7) 'draw #t) + ) + (dummy-47 (-> self root-override)) + (while #t + (when (-> self shield-on) + (update! (-> self sound)) + (spawn (-> self part) (-> self root-override trans)) + (set! (-> *palette-fade-controls* control 7 fade) 1.0) + ) + (suspend) + ) + (none) ) - (dummy-47 (-> self root-override)) - (while #t - (when (-> self shield-on) - (update! (-> self sound)) - (spawn (-> self part) (-> self root-override trans)) - (set! (-> *palette-fade-controls* control 7 fade) 1.0) - ) - (suspend) - ) - (none) - ) :post (the-as (function none :behavior citb-robotboss) ja-post) ) @@ -1479,73 +1257,49 @@ ;; failed to figure out what this is: (defstate citb-robotboss-die (citb-robotboss) :code - (behavior () - (dummy-18 self) - (deactivate self) - (none) - ) + (behavior () (dummy-18 self) (deactivate self) (none)) ) ;; definition for method 11 of type citb-robotboss ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - citb-robotboss - ((obj citb-robotboss) (arg0 entity-actor)) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) +(defmethod init-from-entity! citb-robotboss ((obj citb-robotboss) (arg0 entity-actor)) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 81920.0 0.0 143360.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 81920.0 0.0 143360.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *citb-robotboss-sg* '()) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 601) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 601) obj)) (logclear! (-> obj mask) (process-mask actor-pause)) (set! (-> obj shield-on) #t) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "robotcage-lp") - :volume #x400 - :fo-max #x96 - ) - (-> obj root-override trans) - ) - ) - (if - (= (get-task-status (-> obj entity extra perm task)) (task-status invalid)) - (go citb-robotboss-die) - (go citb-robotboss-idle) - ) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "robotcage-lp") + :volume #x400 + :fo-max #x96 + ) + (-> obj root-override trans) + ) + ) + (if (= (get-task-status (-> obj entity extra perm task)) (task-status invalid)) + (go citb-robotboss-die) + (go citb-robotboss-idle) + ) (none) ) @@ -1571,8 +1325,8 @@ ;; definition for method 3 of type citb-coil (defmethod inspect citb-coil ((obj citb-coil)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpart-off: ~A~%" (-> obj part-off)) obj ) @@ -1581,16 +1335,16 @@ ;; INFO: Return type mismatch process-drawable vs citb-coil. (defmethod relocate citb-coil ((obj citb-coil) (arg0 int)) (if (nonzero? (-> obj part-off)) - (&+! (-> obj part-off) arg0) - ) + (&+! (-> obj part-off) arg0) + ) (the-as citb-coil ((method-of-type process-drawable relocate) obj arg0)) ) ;; definition for method 10 of type citb-coil (defmethod deactivate citb-coil ((obj citb-coil)) (if (nonzero? (-> obj part-off)) - (kill-and-free-particles (-> obj part-off)) - ) + (kill-and-free-particles (-> obj part-off)) + ) ((method-of-type process-drawable deactivate) obj) (none) ) @@ -1598,126 +1352,82 @@ ;; failed to figure out what this is: (defstate citb-coil-idle (citb-coil) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (go citb-coil-break) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('trigger) + (go citb-coil-break) + ) + ) + ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post - (behavior () - (spawn (-> self part) (-> self root trans)) - (ja-post) - (none) - ) + (behavior () (spawn (-> self part) (-> self root trans)) (ja-post) (none)) ) ;; failed to figure out what this is: (defstate citb-coil-break (citb-coil) :code (behavior () - (process-entity-status! self (entity-perm-status complete) #t) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (process-entity-status! self (entity-perm-status complete) #t) + (ja-channel-push! 1 30) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) + (go citb-coil-broken) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go citb-coil-broken) - (none) - ) :post (the-as (function none :behavior citb-coil) ja-post) ) @@ -1726,55 +1436,29 @@ (defstate citb-coil-broken (citb-coil) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) + (while #t + (spawn (-> self part-off) (-> self root trans)) + (suspend) ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + (none) ) - (while #t - (spawn (-> self part-off) (-> self root trans)) - (suspend) - ) - (none) - ) :post (the-as (function none :behavior citb-coil) ja-post) ) @@ -1785,24 +1469,17 @@ (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *citb-coil-sg* '()) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 596) obj) - ) - (set! - (-> obj part-off) - (create-launch-control (-> *part-group-id-table* 602) obj) - ) - (let - ((v1-9 (the-as entity (entity-actor-lookup (-> obj entity) 'state-actor 0)))) - (if (not (the-as entity-actor v1-9)) - (set! v1-9 (-> obj entity)) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 596) obj)) + (set! (-> obj part-off) (create-launch-control (-> *part-group-id-table* 602) obj)) + (let ((v1-9 (the-as entity (entity-actor-lookup (-> obj entity) 'state-actor 0)))) + (if (not (the-as entity-actor v1-9)) + (set! v1-9 (-> obj entity)) + ) + (if (logtest? (-> v1-9 extra perm status) (entity-perm-status complete)) + (go citb-coil-broken) + (go citb-coil-idle) + ) ) - (if (logtest? (-> v1-9 extra perm status) (entity-perm-status complete)) - (go citb-coil-broken) - (go citb-coil-idle) - ) - ) (none) ) @@ -1827,23 +1504,21 @@ ;; definition for method 3 of type citb-hose (defmethod inspect citb-hose ((obj citb-hose)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for function citb-hose-event-handler -(defbehavior - citb-hose-event-handler citb-hose - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('spawn) +(defbehavior citb-hose-event-handler citb-hose ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('spawn) (go citb-hose-spawn) ) - (('trigger) - (go citb-hose-die) + (('trigger) + (go citb-hose-die) + ) ) - ) ) ;; failed to figure out what this is: @@ -1852,53 +1527,27 @@ citb-hose-event-handler :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior citb-hose) ja-post) ) @@ -1909,53 +1558,27 @@ citb-hose-event-handler :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (ja-channel-push! 1 30) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) + (go citb-hose-idle) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go citb-hose-idle) - (none) - ) :post (the-as (function none :behavior citb-hose) ja-post) ) @@ -1966,54 +1589,28 @@ citb-hose-event-handler :code (behavior () - (process-entity-status! self (entity-perm-status complete) #t) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (process-entity-status! self (entity-perm-status complete) #t) + (ja-channel-push! 1 30) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) + (anim-loop) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (anim-loop) - (none) - ) :post (the-as (function none :behavior citb-hose) ja-post) ) @@ -2024,16 +1621,15 @@ (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *citb-hose-sg* '()) - (let - ((v1-3 (the-as entity (entity-actor-lookup (-> obj entity) 'state-actor 0)))) - (if (not (the-as entity-actor v1-3)) - (set! v1-3 (-> obj entity)) + (let ((v1-3 (the-as entity (entity-actor-lookup (-> obj entity) 'state-actor 0)))) + (if (not (the-as entity-actor v1-3)) + (set! v1-3 (-> obj entity)) + ) + (if (logtest? (-> v1-3 extra perm status) (entity-perm-status complete)) + (go citb-hose-die) + (go citb-hose-idle) + ) ) - (if (logtest? (-> v1-3 extra perm status) (entity-perm-status complete)) - (go citb-hose-die) - (go citb-hose-idle) - ) - ) (none) ) @@ -2120,8 +1716,8 @@ ;; definition for method 3 of type citb-generator (defmethod inspect citb-generator ((obj citb-generator)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tnormal-look: #~%" (-> obj normal-look)) (format #t "~T~Tbroken-look: #~%" (-> obj broken-look)) (format #t "~T~Tmushroom-pos: #~%" (-> obj mushroom-pos)) @@ -2137,22 +1733,22 @@ ;; INFO: Return type mismatch process-drawable vs citb-generator. (defmethod relocate citb-generator ((obj citb-generator) (arg0 int)) (if (nonzero? (-> obj part-broken)) - (&+! (-> obj part-broken) arg0) - ) + (&+! (-> obj part-broken) arg0) + ) (if (nonzero? (-> obj part-mushroom)) - (&+! (-> obj part-mushroom) arg0) - ) + (&+! (-> obj part-mushroom) arg0) + ) (the-as citb-generator ((method-of-type process-drawable relocate) obj arg0)) ) ;; definition for method 10 of type citb-generator (defmethod deactivate citb-generator ((obj citb-generator)) (if (nonzero? (-> obj part-broken)) - (kill-and-free-particles (-> obj part-broken)) - ) + (kill-and-free-particles (-> obj part-broken)) + ) (if (nonzero? (-> obj part-mushroom)) - (kill-and-free-particles (-> obj part-mushroom)) - ) + (kill-and-free-particles (-> obj part-mushroom)) + ) ((method-of-type process-drawable deactivate) obj) (none) ) @@ -2161,71 +1757,75 @@ ;; INFO: Return type mismatch int vs none. (defbehavior citb-generator-trigger-others citb-generator () (let ((gp-0 (entity-actor-count (-> self entity) 'alt-actor))) - (dotimes (s5-0 gp-0) - (let ((s4-0 (entity-actor-lookup (-> self entity) 'alt-actor s5-0)) - (a1-2 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 0) - (set! (-> a1-2 message) 'trigger) - (let ((t9-2 send-event-function) - (v1-1 s4-0) - ) - (when (not (t9-2 (if v1-1 - (-> v1-1 extra process) - ) - a1-2 + (dotimes (s5-0 gp-0) + (let ((s4-0 (entity-actor-lookup (-> self entity) 'alt-actor s5-0)) + (a1-2 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'trigger) + (let ((t9-2 send-event-function) + (v1-1 s4-0) + ) + (when (not (t9-2 + (if v1-1 + (-> v1-1 extra process) + ) + a1-2 + ) + ) + (entity-birth-no-kill s4-0) + (suspend) + (send-event + (if s4-0 + (-> s4-0 extra process) ) - ) - (entity-birth-no-kill s4-0) - (suspend) - (send-event (if s4-0 - (-> s4-0 extra process) - ) - 'trigger + 'trigger + ) + ) + ) ) - ) ) - ) ) - ) (let ((gp-1 (-> *display* base-frame-counter))) - (while (< (- (-> *display* base-frame-counter) gp-1) 150) - (if (movie?) - (set! gp-1 (-> *display* base-frame-counter)) - ) - (suspend) - ) - ) - (let ((gp-2 (entity-actor-count (-> self entity) 'trigger-actor))) - (dotimes (s5-1 gp-2) - (let ((s4-1 (entity-actor-lookup (-> self entity) 'trigger-actor s5-1)) - (a1-6 (new 'stack-no-clear 'event-message-block)) + (while (< (- (-> *display* base-frame-counter) gp-1) 150) + (if (movie?) + (set! gp-1 (-> *display* base-frame-counter)) ) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 0) - (set! (-> a1-6 message) 'trigger) - (let ((t9-8 send-event-function) - (v1-19 s4-1) - ) - (when (not (t9-8 (if v1-19 - (-> v1-19 extra process) - ) - a1-6 - ) - ) - (entity-birth-no-kill s4-1) - (suspend) - (send-event (if s4-1 - (-> s4-1 extra process) - ) - 'trigger - ) - ) + (suspend) + ) + ) + (let ((gp-2 (entity-actor-count (-> self entity) 'trigger-actor))) + (dotimes (s5-1 gp-2) + (let ((s4-1 (entity-actor-lookup (-> self entity) 'trigger-actor s5-1)) + (a1-6 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-6 from) self) + (set! (-> a1-6 num-params) 0) + (set! (-> a1-6 message) 'trigger) + (let ((t9-8 send-event-function) + (v1-19 s4-1) + ) + (when (not (t9-8 + (if v1-19 + (-> v1-19 extra process) + ) + a1-6 + ) + ) + (entity-birth-no-kill s4-1) + (suspend) + (send-event + (if s4-1 + (-> s4-1 extra process) + ) + 'trigger + ) + ) + ) + ) ) - ) ) - ) 0 (none) ) @@ -2234,74 +1834,56 @@ (defstate citb-generator-idle (citb-generator) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack) - (if (-> self mushroom) - (increment-success-for-hint (game-text-id citadel-break-generator-hint)) - (increment-success-for-hint - (game-text-id citadel-break-generators-reminder) - ) + (case arg2 + (('attack) + (if (-> self mushroom) + (increment-success-for-hint (game-text-id citadel-break-generator-hint)) + (increment-success-for-hint (game-text-id citadel-break-generators-reminder)) + ) + (go citb-generator-break) + ) + (('trigger) + #t ) - (go citb-generator-break) ) - (('trigger) - #t - ) ) - ) :exit - (behavior () - (stop! (-> self sound)) - (none) - ) + (behavior () (stop! (-> self sound)) (none)) :code (behavior () - (lods-assign! (-> self draw) (-> self normal-look)) - (dummy-47 (-> self root-override)) - (while #t - (spawn (-> self part) (-> self root-override trans)) - (update! (-> self sound)) - (if (-> self mushroom) - (spawn (-> self part-mushroom) (-> self mushroom-pos)) - ) - (if (not (-> self mushroom)) - (set! - (-> *palette-fade-controls* control 3 fade) - (+ 0.3333 (-> *palette-fade-controls* control 3 fade)) - ) - ) - (when - (and - *target* - (>= - 32768.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) + (lods-assign! (-> self draw) (-> self normal-look)) + (dummy-47 (-> self root-override)) + (while #t + (spawn (-> self part) (-> self root-override trans)) + (update! (-> self sound)) + (if (-> self mushroom) + (spawn (-> self part-mushroom) (-> self mushroom-pos)) + ) + (if (not (-> self mushroom)) + (set! (-> *palette-fade-controls* control 3 fade) (+ 0.3333 (-> *palette-fade-controls* control 3 fade))) + ) + (when (and *target* (>= 32768.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + (if (-> self mushroom) + (level-hint-spawn + (game-text-id citadel-break-generator-hint) + "sksp0381" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (level-hint-spawn + (game-text-id citadel-break-generators-reminder) + "sksp0384" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) ) - ) + (suspend) ) - (if (-> self mushroom) - (level-hint-spawn - (game-text-id citadel-break-generator-hint) - "sksp0381" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (level-hint-spawn - (game-text-id citadel-break-generators-reminder) - "sksp0384" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior citb-generator) ja-post) ) @@ -2310,71 +1892,60 @@ (defstate citb-generator-break (citb-generator) :code (behavior () - (let ((gp-0 (entity-actor-count (-> self entity) 'open-actor))) - (dotimes (s5-0 gp-0) - (let ((s4-0 (entity-actor-lookup (-> self entity) 'open-actor s5-0)) - (a1-2 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 0) - (set! (-> a1-2 message) 'open) - (let ((t9-2 send-event-function) - (v1-1 s4-0) - ) - (when (not (t9-2 (if v1-1 - (-> v1-1 extra process) - ) - a1-2 - ) + (let ((gp-0 (entity-actor-count (-> self entity) 'open-actor))) + (dotimes (s5-0 gp-0) + (let ((s4-0 (entity-actor-lookup (-> self entity) 'open-actor s5-0)) + (a1-2 (new 'stack-no-clear 'event-message-block)) ) - (entity-birth-no-kill s4-0) - (suspend) - (send-event (if s4-0 - (-> s4-0 extra process) - ) - 'open - ) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'open) + (let ((t9-2 send-event-function) + (v1-1 s4-0) + ) + (when (not (t9-2 + (if v1-1 + (-> v1-1 extra process) + ) + a1-2 + ) + ) + (entity-birth-no-kill s4-0) + (suspend) + (send-event + (if s4-0 + (-> s4-0 extra process) + ) + 'open + ) + ) + ) + ) ) - ) ) - ) - ) - (process-entity-status! self (entity-perm-status complete) #t) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (process-entity-status! self (entity-perm-status complete) #t) + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-1 + (let ((t9-7 (method-of-type part-tracker activate))) + (t9-7 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + part-tracker-init + (-> *part-group-id-table* 598) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-1 ppointer) + ) ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 598) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (sound-play-by-name (static-sound-name "sagecage-open") (new-sound-id) 1024 0 0 1 #t) + (go citb-generator-broken) + (none) ) - (sound-play-by-name - (static-sound-name "sagecage-open") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (go citb-generator-broken) - (none) - ) :post (the-as (function none :behavior citb-generator) ja-post) ) @@ -2383,50 +1954,45 @@ (defstate citb-generator-broken (citb-generator) :code (behavior () - (lods-assign! (-> self draw) (-> self broken-look)) - (dummy-47 (-> self root-override)) - (cond - ((-> self birth-fuel-cell) - (process-drawable-birth-fuel-cell (the-as entity #f) (the-as vector #f) #t) - (when (-> self child) - (while (-> self child) - (suspend) + (lods-assign! (-> self draw) (-> self broken-look)) + (dummy-47 (-> self root-override)) + (cond + ((-> self birth-fuel-cell) + (process-drawable-birth-fuel-cell (the-as entity #f) (the-as vector #f) #t) + (when (-> self child) + (while (-> self child) + (suspend) + ) + (citb-generator-trigger-others) + ) ) - (citb-generator-trigger-others) + (else + (citb-generator-trigger-others) + ) ) - ) - (else - (citb-generator-trigger-others) - ) + (anim-loop) + (none) ) - (anim-loop) - (none) - ) :post - (behavior () - (spawn (-> self part-broken) (-> self root-override trans)) - (ja-post) - (none) - ) + (behavior () (spawn (-> self part-broken) (-> self root-override trans)) (ja-post) (none)) ) ;; definition for method 20 of type citb-generator ;; INFO: Return type mismatch int vs none. (defmethod init! citb-generator ((obj citb-generator)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set-vector! (-> s4-0 local-sphere) 0.0 4096.0 0.0 4096.0) - (set-root-prim! s5-0 s4-0) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set-vector! (-> s4-0 local-sphere) 0.0 4096.0 0.0 4096.0) + (set-root-prim! s5-0 s4-0) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -2436,103 +2002,75 @@ ;; Used lq/sq (defmethod dummy-21 citb-generator ((obj citb-generator)) (initialize-skeleton obj *citb-generator-sg* '()) - (dummy-9 - (-> obj normal-look) - *citb-generator-sg* - (-> obj draw art-group) - (-> obj entity) - ) - (dummy-9 - (-> obj broken-look) - *citb-generator-broken-sg* - (-> obj draw art-group) - (-> obj entity) - ) + (dummy-9 (-> obj normal-look) *citb-generator-sg* (-> obj draw art-group) (-> obj entity)) + (dummy-9 (-> obj broken-look) *citb-generator-broken-sg* (-> obj draw art-group) (-> obj entity)) (set! (-> obj link) (new 'process 'actor-link-info obj)) - (set! - (-> obj birth-fuel-cell) - (< (the-as uint 1) (the-as uint (-> obj entity extra perm task))) - ) + (set! (-> obj birth-fuel-cell) (< (the-as uint 1) (the-as uint (-> obj entity extra perm task)))) (set! (-> obj trigger-others) #f) (set! (-> obj mushroom-pos quad) (-> obj root-override trans quad)) (let ((f30-0 0.0)) - (cond - ((name= (-> obj name) "citb-generator-1") - (set! (-> obj mushroom) #t) - (set! f30-0 21845.334) - ) - ((name= (-> obj name) "citb-generator-2") - (set! (-> obj mushroom) #t) - (set! f30-0 16384.0) - ) - ((name= (-> obj name) "citb-generator-3") - (set! (-> obj mushroom) #t) - (set! f30-0 16384.0) - ) - ((name= (-> obj name) "citb-generator-4") - (set! (-> obj mushroom) #t) - (set! f30-0 -5461.3335) - ) - (else - (set! (-> obj mushroom) #f) - ) + (cond + ((name= (-> obj name) "citb-generator-1") + (set! (-> obj mushroom) #t) + (set! f30-0 21845.334) + ) + ((name= (-> obj name) "citb-generator-2") + (set! (-> obj mushroom) #t) + (set! f30-0 16384.0) + ) + ((name= (-> obj name) "citb-generator-3") + (set! (-> obj mushroom) #t) + (set! f30-0 16384.0) + ) + ((name= (-> obj name) "citb-generator-4") + (set! (-> obj mushroom) #t) + (set! f30-0 -5461.3335) + ) + (else + (set! (-> obj mushroom) #f) + ) + ) + (when (-> obj mushroom) + (+! (-> obj mushroom-pos x) (* 19251.2 (sin f30-0))) + (+! (-> obj mushroom-pos z) (* 19251.2 (cos f30-0))) + ) ) - (when (-> obj mushroom) - (+! (-> obj mushroom-pos x) (* 19251.2 (sin f30-0))) - (+! (-> obj mushroom-pos z) (* 19251.2 (cos f30-0))) - ) - ) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 600) obj) - ) - (set! - (-> obj part-broken) - (create-launch-control (-> *part-group-id-table* 597) obj) - ) - (set! - (-> obj part-mushroom) - (create-launch-control (-> *part-group-id-table* 599) obj) - ) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "mushroom-gen") - :volume #x400 - :fo-max 20 - ) - (-> obj root-override trans) - ) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 600) obj)) + (set! (-> obj part-broken) (create-launch-control (-> *part-group-id-table* 597) obj)) + (set! (-> obj part-mushroom) (create-launch-control (-> *part-group-id-table* 599) obj)) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "mushroom-gen") + :volume #x400 + :fo-max 20 + ) + (-> obj root-override trans) + ) + ) 0 (none) ) ;; definition for method 11 of type citb-generator ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - citb-generator - ((obj citb-generator) (arg0 entity-actor)) +(defmethod init-from-entity! citb-generator ((obj citb-generator) (arg0 entity-actor)) (init! obj) (process-drawable-from-entity! obj arg0) (dummy-21 obj) - (let - ((v1-4 (the-as entity (entity-actor-lookup (-> obj entity) 'state-actor 0)))) - (if (not (the-as entity-actor v1-4)) - (set! v1-4 (-> obj entity)) + (let ((v1-4 (the-as entity (entity-actor-lookup (-> obj entity) 'state-actor 0)))) + (if (not (the-as entity-actor v1-4)) + (set! v1-4 (-> obj entity)) + ) + (if (logtest? (-> v1-4 extra perm status) (entity-perm-status complete)) + (go citb-generator-broken) + (go citb-generator-idle) + ) ) - (if (logtest? (-> v1-4 extra perm status) (entity-perm-status complete)) - (go citb-generator-broken) - (go citb-generator-idle) - ) - ) (none) ) @@ -2557,8 +2095,8 @@ ;; definition for method 3 of type citadelcam (defmethod inspect citadelcam ((obj citadelcam)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -2566,102 +2104,94 @@ (defstate citadelcam-idle (citadelcam) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (when - (and - (task-complete? *game-info* (game-task citadel-sage-blue)) - (task-complete? *game-info* (game-task citadel-sage-red)) - (task-complete? *game-info* (game-task citadel-sage-yellow)) - ) - (logclear! (-> self mask) (process-mask actor-pause)) - (go citadelcam-stair-plats) + (case arg2 + (('trigger) + (when (and + (task-complete? *game-info* (game-task citadel-sage-blue)) + (task-complete? *game-info* (game-task citadel-sage-red)) + (task-complete? *game-info* (game-task citadel-sage-yellow)) + ) + (logclear! (-> self mask) (process-mask actor-pause)) + (go citadelcam-stair-plats) + ) ) ) ) - ) :code - (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (anim-loop) - (none) - ) + (behavior () (logior! (-> self mask) (process-mask actor-pause)) (anim-loop) (none)) ) ;; failed to figure out what this is: (defstate citadelcam-stair-plats (citadelcam) :code (behavior () - (let ((gp-0 (entity-actor-count (-> self entity) 'trigger-actor))) - (dotimes (s5-0 gp-0) - (let ((s4-0 (entity-actor-lookup (-> self entity) 'trigger-actor s5-0)) - (a1-2 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 0) - (set! (-> a1-2 message) 'trigger) - (let ((t9-2 send-event-function) - (v1-1 s4-0) - ) - (when (not (t9-2 (if v1-1 - (-> v1-1 extra process) - ) - a1-2 - ) + (let ((gp-0 (entity-actor-count (-> self entity) 'trigger-actor))) + (dotimes (s5-0 gp-0) + (let ((s4-0 (entity-actor-lookup (-> self entity) 'trigger-actor s5-0)) + (a1-2 (new 'stack-no-clear 'event-message-block)) ) - (entity-birth-no-kill s4-0) - (suspend) - (send-event (if s4-0 - (-> s4-0 extra process) - ) - 'trigger - ) - ) - ) - ) - ) - ) - (let* ((gp-1 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-2 (ppointer->handle (when gp-1 - (let - ((t9-6 (method-of-type pov-camera activate)) - ) - (t9-6 - (the-as pov-camera gp-1) - self - 'pov-camera - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self root trans) - *citadelcam-sg* - "citadelcam-stair-plats" - 0 - #f - '() - ) - (-> gp-1 ppointer) - ) - ) - ) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'trigger) + (let ((t9-2 send-event-function) + (v1-1 s4-0) + ) + (when (not (t9-2 + (if v1-1 + (-> v1-1 extra process) + ) + a1-2 + ) + ) + (entity-birth-no-kill s4-0) + (suspend) + (send-event + (if s4-0 + (-> s4-0 extra process) + ) + 'trigger + ) + ) + ) ) - (while (handle->process (the-as handle gp-2)) - (suspend) - ) + ) + ) + (let* ((gp-1 (get-process *default-dead-pool* pov-camera #x4000)) + (gp-2 + (ppointer->handle + (when gp-1 + (let ((t9-6 (method-of-type pov-camera activate))) + (t9-6 (the-as pov-camera gp-1) self 'pov-camera (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + pov-camera-init-by-other + (-> self root trans) + *citadelcam-sg* + "citadelcam-stair-plats" + 0 + #f + '() + ) + (-> gp-1 ppointer) + ) + ) + ) + ) + (while (handle->process (the-as handle gp-2)) + (suspend) + ) + ) + (level-hint-spawn + (game-text-id citadel-climb-plat-hint) + "sksp0387" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (go citadelcam-idle) + (none) ) - (level-hint-spawn - (game-text-id citadel-climb-plat-hint) - "sksp0387" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (go citadelcam-idle) - (none) - ) ) ;; definition for method 11 of type citadelcam @@ -2686,8 +2216,8 @@ ;; definition for method 3 of type citb-battlecontroller (defmethod inspect citb-battlecontroller ((obj citb-battlecontroller)) (let ((t9-0 (method-of-type battlecontroller inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -2696,54 +2226,43 @@ :virtual #t :code (behavior () - (level-hint-spawn - (game-text-id citadel-lurker-bunny-alert) - "sksp0383" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (suspend) - (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let - ((t9-2 (method-of-type pov-camera activate)) + (level-hint-spawn + (game-text-id citadel-lurker-bunny-alert) + "sksp0383" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (suspend) + (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) + (gp-1 (ppointer->handle (when gp-0 + (let ((t9-2 (method-of-type pov-camera activate))) + (t9-2 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + pov-camera-init-by-other + (-> (entity-by-name "citadelcam-1") extra trans) + *citadelcam-sg* + "citadel-bunnies" + 0 + #f + '() + ) + (-> gp-0 ppointer) ) - (t9-2 - (the-as pov-camera gp-0) - self - 'pov-camera - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> - (entity-by-name "citadelcam-1") - extra - trans - ) - *citadelcam-sg* - "citadel-bunnies" - 0 - #f - '() - ) - (-> gp-0 ppointer) ) ) ) - ) - (send-event (handle->process (the-as handle gp-1)) 'mask 2048) - (while (handle->process (the-as handle gp-1)) - (set! (-> *target* state-flags) (logand -17 (-> *target* state-flags))) - (suspend) - ) + (send-event (handle->process (the-as handle gp-1)) 'mask 2048) + (while (handle->process (the-as handle gp-1)) + (set! (-> *target* state-flags) (logand -17 (-> *target* state-flags))) + (suspend) + ) + ) + (go-virtual battlecontroller-active) + (none) ) - (go-virtual battlecontroller-active) - (none) - ) ) ;; failed to figure out what this is: @@ -2751,35 +2270,20 @@ :virtual #t :code (behavior () - (process-entity-status! self (entity-perm-status complete) #t) - (let - ((t9-2 - (-> - (the-as - (state battlecontroller) - (find-parent-method citb-battlecontroller 26) - ) - code - ) + (process-entity-status! self (entity-perm-status complete) #t) + (let ((t9-2 (-> (the-as (state battlecontroller) (find-parent-method citb-battlecontroller 26)) code))) + (if t9-2 + ((the-as (function none :behavior battlecontroller) t9-2)) + ) ) - ) - (if t9-2 - ((the-as (function none :behavior battlecontroller) t9-2)) - ) + (none) ) - (none) - ) ) ;; definition for method 27 of type citb-battlecontroller ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-27 citb-battlecontroller ((obj citb-battlecontroller)) - ((the-as - (function battlecontroller none) - (find-parent-method citb-battlecontroller 27) - ) - obj - ) + ((the-as (function battlecontroller none) (find-parent-method citb-battlecontroller 27)) obj) (set! (-> obj activate-distance) 143360.0) 0 (none) diff --git a/test/decompiler/reference/levels/citadel/citadel-part_REF.gc b/test/decompiler/reference/levels/citadel/citadel-part_REF.gc index 4851a350e6..ff135b6805 100644 --- a/test/decompiler/reference/levels/citadel/citadel-part_REF.gc +++ b/test/decompiler/reference/levels/citadel/citadel-part_REF.gc @@ -13,3012 +13,2757 @@ ;; definition for method 3 of type citb-part (defmethod inspect citb-part ((obj citb-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 685) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-firehose-blast-smoke" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2879) - (sp-item 2880) - ) - :bounds - (new 'static 'sphere :y -32768.0 :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 685) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-firehose-blast-smoke" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2879) (sp-item 2880)) + :bounds + (new 'static 'sphere :y -32768.0 :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2880) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 8.0 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 2.5) 1.0) - (sp-flt spt-y (meters -13.0)) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.3) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00083333335)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.56666666) - (sp-flt spt-fade-g -2.8333333) - (sp-flt spt-fade-b -2.8333333) - (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) - (sp-flt spt-friction 0.85) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit0 bit2 bit3) - (sp-flt spt-userdata -409600.0) - (sp-func spt-func 'check-drop-level-firehose-pops) - (sp-int-plain-rnd spt-next-time 120 599 1) - (sp-launcher-by-id spt-next-launcher 2881) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2880) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 8.0 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 2.5) 1.0) + (sp-flt spt-y (meters -13.0)) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.3) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00083333335)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.56666666) + (sp-flt spt-fade-g -2.8333333) + (sp-flt spt-fade-b -2.8333333) + (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) + (sp-flt spt-friction 0.85) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit0 bit2 bit3) + (sp-flt spt-userdata -409600.0) + (sp-func spt-func 'check-drop-level-firehose-pops) + (sp-int-plain-rnd spt-next-time 120 599 1) + (sp-launcher-by-id spt-next-launcher 2881) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2881) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-userdata 409600.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2881) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-userdata 409600.0) (sp-end)) + ) + ) ;; definition for function check-drop-level-firehose-pops -(defun - check-drop-level-firehose-pops - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-firehose-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2882) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - (the-as float 1.0) - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2883) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - (the-as float 1.0) - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2882) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + (the-as float 1.0) + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2883) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + (the-as float 1.0) + ) + ) ) - ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2883) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-fade-a -1.92) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2883) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-fade-a -1.92) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2882) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 4.0 4.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-flt spt-fade-r -1.4166666) - (sp-flt spt-fade-g -8.5) - (sp-flt spt-fade-b -8.5) - (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) - (sp-flt spt-friction 0.85) - (sp-int-plain-rnd spt-timer 15 119 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2882) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 4.0 4.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-flt spt-fade-r -1.4166666) + (sp-flt spt-fade-g -8.5) + (sp-flt spt-fade-b -8.5) + (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) + (sp-flt spt-friction 0.85) + (sp-int-plain-rnd spt-timer 15 119 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2879) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -2.0) (meters -1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.8) (meters 0.6) 1.0) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-vel-y (meters -0.36666667)) - (sp-int spt-timer 30) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2879) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -2.0) (meters -1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.8) (meters 0.6) 1.0) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-vel-y (meters -0.36666667)) + (sp-int spt-timer 30) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2541) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-func spt-birth-func 'birth-func-set-quat) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -11.0)) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 16.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-fade-a -8.533334) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2541) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-func spt-birth-func 'birth-func-set-quat) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -11.0)) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 16.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-fade-a -8.533334) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 599) - (new 'static 'sparticle-launch-group - :length 23 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-generator-mushroom-on" - :launcher - (new 'static 'inline-array sparticle-group-item 23 - (sp-item 2408 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 2409 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 2410 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 2411 :fade-after (meters 200.0) :falloff-to (meters 200.0) :binding 2407) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - (sp-item 2407 :flags (bit1 start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 51200.0) - ) - ) +(set! (-> *part-group-id-table* 599) + (new 'static 'sparticle-launch-group + :length 23 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-generator-mushroom-on" + :launcher + (new 'static 'inline-array sparticle-group-item 23 + (sp-item 2408 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 2409 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 2410 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 2411 :fade-after (meters 200.0) :falloff-to (meters 200.0) :binding 2407) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + (sp-item 2407 :flags (bit1 start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 51200.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 600) - (new 'static 'sparticle-launch-group - :length 28 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-generator-on" - :launcher - (new 'static 'inline-array sparticle-group-item 28 - (sp-item 2413 :fade-after (meters 300.0) :falloff-to (meters 300.0)) - (sp-item 2414 :fade-after (meters 200.0) :falloff-to (meters 200.0) :binding 2412) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - (sp-item 2412 :flags (bit1 start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 51200.0) - ) - ) +(set! (-> *part-group-id-table* 600) + (new 'static 'sparticle-launch-group + :length 28 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-generator-on" + :launcher + (new 'static 'inline-array sparticle-group-item 28 + (sp-item 2413 :fade-after (meters 300.0) :falloff-to (meters 300.0)) + (sp-item 2414 :fade-after (meters 200.0) :falloff-to (meters 200.0) :binding 2412) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + (sp-item 2412 :flags (bit1 start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 51200.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2411) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-y (meters 4.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 10.4) (meters 6.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 6.4) (meters 6.0) 1.0) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 8.0 16.0 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 3.0000002)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2411) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-y (meters 4.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 10.4) (meters 6.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 6.4) (meters 6.0) 1.0) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 8.0 16.0 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 3.0000002)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2407) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-z 14336.0) - (sp-rnd-flt spt-scale-x (meters 4.6) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-y (meters 3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.10666667) 4 218.45334) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 0.8) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 2415) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2407) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-z 14336.0) + (sp-rnd-flt spt-scale-x (meters 4.6) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-y (meters 3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.10666667) 4 218.45334) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 0.8) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 2415) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2408) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-flt spt-y (meters 5.0)) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 6.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-flt spt-rotate-y (degrees 3.0000002)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2408) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-flt spt-y (meters 5.0)) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 6.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-flt spt-rotate-y (degrees 3.0000002)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2409) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-flt spt-y (meters 5.0)) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 5.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 20.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-flt spt-rotate-y (degrees 3.0000002)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2409) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-flt spt-y (meters 5.0)) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 5.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 20.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-flt spt-rotate-y (degrees 3.0000002)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2410) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-flt spt-y (meters 5.0)) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 4.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 20.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-flt spt-rotate-y (degrees 3.0000002)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2410) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-flt spt-y (meters 5.0)) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 4.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 20.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-flt spt-rotate-y (degrees 3.0000002)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2413) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.75)) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 3.0) 1.0) - (sp-flt spt-scale-y (meters 3.0)) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 2415) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2413) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.75)) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 3.0) 1.0) + (sp-flt spt-scale-y (meters 3.0)) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 2415) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2414) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-y (meters 0.2) (meters 1.4) 1.0) - (sp-flt spt-scale-x (meters 0.4)) - (sp-flt spt-scale-y (meters 0.4)) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2414) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 10 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-y (meters 0.2) (meters 1.4) 1.0) + (sp-flt spt-scale-x (meters 0.4)) + (sp-flt spt-scale-y (meters 0.4)) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2412) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z 4096.0 81.92 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.10666667) 4 218.45334) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 0.8) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 2415) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2412) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z 4096.0 81.92 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.10666667) 4 218.45334) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 0.8) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 2415) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2415) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 360) - (sp-launcher-by-id spt-next-launcher 2416) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2415) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 360) + (sp-launcher-by-id spt-next-launcher 2416) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2416) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.8) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2416) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.8) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 598) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x258 - :linger-duration #x258 - :flags (sp-group-flag use-local-clock) - :name "group-citb-generator-break" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2423 :period 600 :length 5) - (sp-item 2424 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 600 :length 40) - (sp-item 2425 :period 600 :length 20) - (sp-item 2426 :fade-after (meters 120.0) :falloff-to (meters 120.0) :period 600 :length 20) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 598) + (new 'static 'sparticle-launch-group + :length 4 + :duration #x258 + :linger-duration #x258 + :flags (sp-group-flag use-local-clock) + :name "group-citb-generator-break" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2423 :period 600 :length 5) + (sp-item 2424 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 600 :length 40) + (sp-item 2425 :period 600 :length 20) + (sp-item 2426 :fade-after (meters 120.0) :falloff-to (meters 120.0) :period 600 :length 20) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2424) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.10666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.42666668) - (sp-flt spt-fade-g -0.21333334) - (sp-flt spt-fade-b -0.21333334) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 29 1) - (sp-launcher-by-id spt-next-launcher 2427) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2424) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.10666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.42666668) + (sp-flt spt-fade-g -0.21333334) + (sp-flt spt-fade-b -0.21333334) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 29 1) + (sp-launcher-by-id spt-next-launcher 2427) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2427) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.4222223) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2427) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.4222223) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2426) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 3.0) - (sp-flt spt-y (meters 1.0)) - (sp-flt spt-scale-x (meters 0.2)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 8.0)) - (sp-flt spt-r 196.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 0.42666668)) - (sp-flt spt-fade-r -2.1333334) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b -1.0666667) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2426) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 3.0) + (sp-flt spt-y (meters 1.0)) + (sp-flt spt-scale-x (meters 0.2)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 8.0)) + (sp-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 0.42666668)) + (sp-flt spt-fade-r -2.1333334) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b -1.0666667) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2423) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-flt spt-scale-x (meters 16.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 96.0) - (sp-flt spt-fade-r -2.3272727) - (sp-flt spt-fade-g -1.1636363) - (sp-flt spt-fade-b -1.1636363) - (sp-flt spt-fade-a -1.7454545) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2423) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-flt spt-scale-x (meters 16.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 96.0) + (sp-flt spt-fade-r -2.3272727) + (sp-flt spt-fade-g -1.1636363) + (sp-flt spt-fade-b -1.1636363) + (sp-flt spt-fade-a -1.7454545) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2425) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 4.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.42666668) - (sp-flt spt-fade-g -0.21333334) - (sp-flt spt-fade-b -0.21333334) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 110.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2425) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 4.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.42666668) + (sp-flt spt-fade-g -0.21333334) + (sp-flt spt-fade-b -0.21333334) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 110.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 597) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-generator-off" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2417 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 2418 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 597) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-generator-off" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2417 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 2418 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2417) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.25) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) - (sp-flt spt-y (meters 0.75)) - (sp-rnd-flt spt-z -2048.0 4505.6 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.18962963) - (sp-flt spt-fade-g -0.094814815) - (sp-flt spt-fade-b -0.094814815) - (sp-flt spt-fade-a -0.047407407) - (sp-flt spt-accel-y -0.027306668) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 675) - (sp-cpuinfo-flags bit2) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2417) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.25) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) + (sp-flt spt-y (meters 0.75)) + (sp-rnd-flt spt-z -2048.0 4505.6 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.18962963) + (sp-flt spt-fade-g -0.094814815) + (sp-flt spt-fade-b -0.094814815) + (sp-flt spt-fade-a -0.047407407) + (sp-flt spt-accel-y -0.027306668) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 675) + (sp-cpuinfo-flags bit2) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2418) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters 0.2)) - (sp-flt spt-y (meters 1.75)) - (sp-int spt-rot-x 8) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 2867.2) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2419) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2418) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters 0.2)) + (sp-flt spt-y (meters 1.75)) + (sp-int spt-rot-x 8) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 2867.2) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2419) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2419) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -1.3653333) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2419) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -1.3653333) (sp-end)) + ) + ) ;; definition for function birth-func-random-rot ;; INFO: Return type mismatch int vs none. -(defun - birth-func-random-rot - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun birth-func-random-rot ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (local-vars (v1-5 float) (v1-6 float)) (rlet ((vf0 :class vf) (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (let ((s3-0 (new 'stack-no-clear 'matrix)) - (f30-0 - (rand-vu-float-range - (-> arg1 user-float) - (+ 65536.0 (-> arg1 user-float)) - ) + (init-vf0-vector) + (let ((s3-0 (new 'stack-no-clear 'matrix)) + (f30-0 (rand-vu-float-range (-> arg1 user-float) (+ 65536.0 (-> arg1 user-float)))) + (s2-0 (new 'stack-no-clear 'vector)) ) - (s2-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> s2-0 x) 116940.8) - (set! (-> s2-0 y) 0.0) - (set! (-> s2-0 z) 0.0) - (set! (-> s2-0 w) 1.0) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (matrix-rotate-y! s3-0 f30-0) - (vector-matrix*! s2-0 s2-0 s3-0) - (+! (-> arg2 vector 0 x) (-> s2-0 x)) - (+! (-> arg2 vector 0 y) (-> s2-0 y)) - (+! (-> arg2 vector 0 z) (-> s2-0 z)) - (vector3s-rotate*! - (the-as vector3s (-> arg1 vel-sxvel)) - (the-as vector3s (-> arg1 vel-sxvel)) - s3-0 - ) - (vector3s-rotate*! - (the-as vector3s (-> arg1 acc)) - (the-as vector3s (-> arg1 acc)) - s3-0 - ) - (let* ((v1-3 s5-0) - (a0-6 arg2) - (f0-13 (-> a0-6 vector 1 x)) - (f1-4 (-> a0-6 vector 1 y)) - (f2-0 (-> a0-6 vector 1 z)) + (set! (-> s2-0 x) 116940.8) + (set! (-> s2-0 y) 0.0) + (set! (-> s2-0 z) 0.0) + (set! (-> s2-0 w) 1.0) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (matrix-rotate-y! s3-0 f30-0) + (vector-matrix*! s2-0 s2-0 s3-0) + (+! (-> arg2 vector 0 x) (-> s2-0 x)) + (+! (-> arg2 vector 0 y) (-> s2-0 y)) + (+! (-> arg2 vector 0 z) (-> s2-0 z)) + (vector3s-rotate*! (the-as vector3s (-> arg1 vel-sxvel)) (the-as vector3s (-> arg1 vel-sxvel)) s3-0) + (vector3s-rotate*! (the-as vector3s (-> arg1 acc)) (the-as vector3s (-> arg1 acc)) s3-0) + (let* ((v1-3 s5-0) + (a0-6 arg2) + (f0-13 (-> a0-6 vector 1 x)) + (f1-4 (-> a0-6 vector 1 y)) + (f2-0 (-> a0-6 vector 1 z)) + ) + (set! (-> v1-3 x) f0-13) + (set! (-> v1-3 y) f1-4) + (set! (-> v1-3 z) f2-0) + (set! (-> v1-3 w) (sqrtf (- (- (- 1.0 (* f2-0 f2-0)) (* f1-4 f1-4)) (* f0-13 f0-13)))) + ) + (quaternion-rotate-y! (the-as quaternion s5-0) (the-as quaternion s5-0) (+ 16384.0 f30-0)) + (cond + ((< (-> s5-0 w) 0.0) + (.lvf vf1 (&-> arg2 vector 1 quad)) + (.lvf vf2 (&-> s5-0 quad)) + (.sub.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 vector 1 quad) vf1) + (.mov v1-5 vf1) + ) + (else + (.lvf vf1 (&-> arg2 vector 1 quad)) + (.lvf vf2 (&-> s5-0 quad)) + (.add.vf vf1 vf0 vf2 :mask #b111) + (.svf (&-> arg2 vector 1 quad) vf1) + (.mov v1-6 vf1) ) - (set! (-> v1-3 x) f0-13) - (set! (-> v1-3 y) f1-4) - (set! (-> v1-3 z) f2-0) - (set! - (-> v1-3 w) - (sqrtf (- (- (- 1.0 (* f2-0 f2-0)) (* f1-4 f1-4)) (* f0-13 f0-13))) - ) + ) + ) ) - (quaternion-rotate-y! - (the-as quaternion s5-0) - (the-as quaternion s5-0) - (+ 16384.0 f30-0) + 0 + (none) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 601) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-robotboss-shield" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 2420 :fade-after (meters 220.0) :falloff-to (meters 250.0) :flags (is-3d)) + ) + :bounds + (new 'static 'sphere :y 94208.0 :w 139264.0) + ) ) - (cond - ((< (-> s5-0 w) 0.0) - (.lvf vf1 (&-> arg2 vector 1 quad)) - (.lvf vf2 (&-> s5-0 quad)) - (.sub.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg2 vector 1 quad) vf1) - (.mov v1-5 vf1) - ) - (else - (.lvf vf1 (&-> arg2 vector 1 quad)) - (.lvf vf2 (&-> s5-0 quad)) - (.add.vf vf1 vf0 vf2 :mask #b111) - (.svf (&-> arg2 vector 1 quad) vf1) - (.mov v1-6 vf1) - ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2420) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) + (sp-func spt-birth-func 'birth-func-random-rot) + (sp-flt spt-num 4.0) + (sp-flt spt-y (meters 23.0)) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 6.0) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-scale-y (meters 31.0)) + (sp-rnd-flt spt-r 24.0 32.0 1.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 96.0 128.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) + (sp-flt spt-userdata 0.0) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 2421) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2421) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-flt spt-a 96.0) + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 2422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2422) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-flt spt-a 64.0) + (sp-flt spt-fade-a -0.85333335) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 596) + (new 'static 'sparticle-launch-group + :length 36 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-coil-glow" + :launcher + (new 'static 'inline-array sparticle-group-item 36 + (sp-item 2429 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 2430 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 2431 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 2432 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 2433 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 2434 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) + (sp-item 2435 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 2436 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 2437 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 2438 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 2428) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + (sp-item 2428 :flags (bit1 start-dead launch-asap)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2434) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.1)) + (sp-flt spt-y (meters 1.0025)) + (sp-flt spt-z 9420.8) + (sp-flt spt-scale-x (meters 4.1)) + (sp-flt spt-rot-x 13653.333) + (sp-flt spt-rot-y (degrees -80.0)) + (sp-flt spt-scale-y (meters 3.0)) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 64.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees -72.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2433) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.1)) + (sp-flt spt-y (meters 3.9)) + (sp-flt spt-z 9420.8) + (sp-flt spt-scale-x (meters 4.1)) + (sp-flt spt-rot-x 19114.666) + (sp-flt spt-rot-y (degrees -80.0)) + (sp-flt spt-scale-y (meters 3.0)) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 64.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees -72.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2432) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 3.2897)) + (sp-flt spt-z 10178.56) + (sp-flt spt-scale-x (meters 3.1)) + (sp-flt spt-rot-x 19114.666) + (sp-flt spt-rot-y (degrees 67.0)) + (sp-flt spt-scale-y (meters 2.9)) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 64.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 72.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2431) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 0.8025)) + (sp-flt spt-z 9830.4) + (sp-flt spt-scale-x (meters 3.1)) + (sp-flt spt-rot-x 13653.333) + (sp-flt spt-rot-y (degrees 67.0)) + (sp-flt spt-scale-y (meters 2.25)) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 64.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 72.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2430) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.2)) + (sp-flt spt-y (meters 0.8025)) + (sp-flt spt-z 11468.8) + (sp-flt spt-scale-x (meters 3.1)) + (sp-flt spt-rot-x 13653.333) + (sp-flt spt-rot-y (degrees 10.0)) + (sp-flt spt-scale-y (meters 3.0)) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 64.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2429) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.2)) + (sp-flt spt-y (meters 3.7)) + (sp-flt spt-z 11468.8) + (sp-flt spt-scale-x (meters 3.1)) + (sp-flt spt-rot-x 19114.666) + (sp-flt spt-rot-y (degrees 10.0)) + (sp-flt spt-scale-y (meters 3.0)) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 64.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2438) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 10 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-y (meters 0.5) (meters 4.0) 1.0) + (sp-flt spt-scale-x (meters 0.4)) + (sp-flt spt-scale-y (meters 0.4)) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2428) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z 9011.2 819.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.10666667) 4 218.45334) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 0.8) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 2439) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2439) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 360) + (sp-launcher-by-id spt-next-launcher 2440) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2440) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.8) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2437) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.2 0.5 1.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 2.5) 1.0) + (sp-rnd-int-flt spt-rot-z (degrees 0.0) 1 32768.0) + (sp-rnd-flt spt-scale-y (meters 8.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2435) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-int-flt spt-rot-z (degrees 0.0) 1 32768.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2436) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-int-flt spt-rot-z (degrees 0.0) 1 32768.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 602) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-coil-off" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2441 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 2442 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + ) + :bounds + (new 'static 'sphere :y 24576.0 :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2442) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 29 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.06125) + (sp-rnd-flt spt-x (meters 1.5) (meters 0.5) 1.0) + (sp-flt spt-y (meters 4.5)) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.011666667) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0023333333)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.21333334) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.026666667) + (sp-flt spt-accel-y 0.027306668) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 600) + (sp-launcher-by-id spt-next-launcher 2443) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2443) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.035555556) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2441) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters 1.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.18962963) + (sp-flt spt-fade-g -0.094814815) + (sp-flt spt-fade-b -0.094814815) + (sp-flt spt-fade-a -0.047407407) + (sp-flt spt-accel-y -0.027306668) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 675) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 603) + (new 'static 'sparticle-launch-group + :length 25 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-blue-sage-beam" + :launcher + (new 'static 'inline-array sparticle-group-item 25 + (sp-item 2447 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 2444) + (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) + (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) + (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) + (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) + (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) + (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) + (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) + (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) + (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) + (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) + (sp-item 2445 :flags (bit1 start-dead)) + (sp-item 2446 :flags (bit1 start-dead)) + (sp-item 2445 :flags (bit1 start-dead)) + (sp-item 2446 :flags (bit1 start-dead)) + (sp-item 2445 :flags (bit1 start-dead)) + (sp-item 2446 :flags (bit1 start-dead)) + (sp-item 2445 :flags (bit1 start-dead)) + (sp-item 2446 :flags (bit1 start-dead)) + (sp-item 2445 :flags (bit1 start-dead)) + (sp-item 2446 :flags (bit1 start-dead)) + (sp-item 2445 :flags (bit1 start-dead)) + (sp-item 2448) + (sp-item 2449) + (sp-item 2450) + ) + :bounds (new 'static 'sphere :w 139264.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 607) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-blue-sage-beam-impact" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2451 :flags (is-3d))) + :bounds (new 'static 'sphere :w 40960.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2451) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-y (degrees 25.000002) (degrees 20.0) 1.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 16.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2447) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.025) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.019444445)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2444) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 4096.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2445) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.0) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2446) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.0) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2448) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.8) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) + (sp-rnd-flt spt-r 16.0 48.0 1.0) + (sp-rnd-flt spt-g 16.0 48.0 1.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.11666667)) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2450) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.8) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.058333334)) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2449) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 604) + (new 'static 'sparticle-launch-group + :length 25 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-red-sage-beam" + :launcher + (new 'static 'inline-array sparticle-group-item 25 + (sp-item 2454 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 2452) + (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) + (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) + (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) + (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) + (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) + (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) + (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) + (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) + (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) + (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2453 :flags (bit1 start-dead)) + (sp-item 2455) + (sp-item 2456) + (sp-item 2457) + ) + :bounds + (new 'static 'sphere :y 94208.0 :w 139264.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 608) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-red-sage-beam-impact" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2458 :flags (is-3d))) + :bounds (new 'static 'sphere :w 40960.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2458) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rot-z (degrees 68.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 192.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2454) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.05) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 3.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.062222224)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2452) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 5120.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 127.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2453) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.005555555)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.0) + (sp-flt spt-fade-a -0.22857143) + (sp-rnd-flt spt-accel-y 0.40960002 0.6144 1.0) + (sp-int spt-timer 42) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 171) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2455) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.5) (meters 0.75) 1.0) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 16.0 32.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.18666667)) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2457) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 3.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.093333334)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2456) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 192.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 605) + (new 'static 'sparticle-launch-group + :length 29 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-yellow-sage-beam" + :launcher + (new 'static 'inline-array sparticle-group-item 29 + (sp-item 2461 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 2459) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2460 :flags (bit1 start-dead)) + (sp-item 2462) + (sp-item 2463) + (sp-item 2464) + ) + :bounds (new 'static 'sphere :w 139264.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 609) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-yellow-sage-beam-impact" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2465 :flags (is-3d))) + :bounds (new 'static 'sphere :w 40960.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2465) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rot-z (degrees 115.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2461) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.025) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.031111112)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 85.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2459) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 5120.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2460) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.4) + (sp-flt spt-fade-a -0.17777778) + (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2462) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.8) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.18666667)) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 85.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2464) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.093333334)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 85.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2463) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 606) (new 'static 'sparticle-launch-group + :length 29 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-green-sage-beam" + :launcher + (new 'static 'inline-array sparticle-group-item 29 + (sp-item 2468 :binding 2466) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2467 :flags (bit1 start-dead)) + (sp-item 2469) + (sp-item 2470) + (sp-item 2471) + ) + :bounds (new 'static 'sphere :w 139264.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 610) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-citb-green-sage-beam-impact" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2472 :flags (is-3d))) + :bounds (new 'static 'sphere :w 40960.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2472) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2468) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.025) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.027777778)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2466) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 5120.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2467) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.17777778) + (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2469) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.16666667)) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2471) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.083333336)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2470) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2473) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) + (sp-func spt-birth-func 'birth-func-set-quat) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.25) 1.0) + (sp-flt spt-scale-y (meters 5.6)) + (sp-rnd-flt spt-r 24.0 32.0 1.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 96.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 662) + (new 'static 'sparticle-launch-group + :length #xac + :duration #xbb8 + :linger-duration #x5dc + :name "group-citadel-warpgate" + :launcher + (new 'static 'inline-array sparticle-group-item 172 + (sp-item 2689 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 2690 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 2687) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2687 :flags (bit1 start-dead launch-asap)) + (sp-item 2691 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 2688) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2688 :flags (bit1 start-dead launch-asap)) + (sp-item 2692 :fade-after (meters 100.0) :flags (is-3d)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2692) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-scale-x (meters 5.0)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 82.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 255.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 0.0 64.0 1.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2691) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.0033333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit3 bit14) + (sp-flt spt-rotate-y (degrees -35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2688) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 4.3555555)) + (sp-flt spt-y (meters 4.0)) + (sp-rnd-flt spt-z 22118.4 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 196.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 0.16) + (sp-flt spt-accel-x 1.2136296) + (sp-flt spt-accel-z -0.75093335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2689) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-rnd-flt spt-num 3.0 3.0 1.0) + (sp-flt spt-x (meters -0.5)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 3481.6) + (sp-flt spt-b 3481.6) + (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0) + (sp-flt spt-fade-b 2.968116) + (sp-int spt-timer 69) + (sp-cpuinfo-flags aux-list) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 4.0) (meters 3.0) 1.0) + (sp-flt spt-rotate-y (degrees 6.0000005)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2690) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-accel-x 0.06826667) + (sp-int spt-timer 690) + (sp-cpuinfo-flags bit3 bit14) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2687) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 4.3555555)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 9011.2) + (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 8.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters -0.0044444446)) + (sp-flt spt-vel-z (meters -0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0) + (sp-flt spt-fade-a 0.21333334) + (sp-flt spt-accel-x 4.247704) + (sp-int spt-timer 690) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 683) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-citadel-torch" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 2832 :fade-after (meters 180.0) :falloff-to (meters 200.0)) + (sp-item 2833 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 2834 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 600 :length 90) + (sp-item 2835 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 369 :length 69) + (sp-item 2836 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 710 :length 51) + (sp-item 2837 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2837) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.3) + (sp-flt spt-x (meters 0.2)) + (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3276.8) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 2838) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2838) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -6.826667) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2832) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1069547520 1 1.0) + (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) + (sp-rnd-flt spt-z -1433.6 2867.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 2839) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2839) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.3333334) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2834) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 2839) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2835) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z 0.0 1638.4 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 2839) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2836) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) + (sp-flt spt-y (meters 0.6)) + (sp-rnd-flt spt-z -2457.6 2457.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 2839) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2833) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.3)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0005)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-b -0.053333335) + (sp-flt spt-fade-a -0.08) + (sp-flt spt-accel-x 0.27306667) + (sp-flt spt-accel-y 0.13653333) + (sp-flt spt-friction 0.9975) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) ) - ) - ) - 0 - (none) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 601) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-robotboss-shield" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2420 :fade-after (meters 220.0) :falloff-to (meters 250.0) :flags (is-3d)) - ) - :bounds - (new 'static 'sphere :y 94208.0 :w 139264.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2420) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) - (sp-func spt-birth-func 'birth-func-random-rot) - (sp-flt spt-num 4.0) - (sp-flt spt-y (meters 23.0)) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 6.0) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-scale-y (meters 31.0)) - (sp-rnd-flt spt-r 24.0 32.0 1.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 96.0 128.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) - (sp-flt spt-userdata 0.0) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 2421) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2421) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-rnd-flt spt-g 32.0 32.0 1.0) - (sp-flt spt-a 96.0) - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 2422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2422) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-flt spt-a 64.0) - (sp-flt spt-fade-a -0.85333335) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 596) - (new 'static 'sparticle-launch-group - :length 36 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-coil-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 36 - (sp-item 2429 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 2430 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 2431 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 2432 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 2433 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 2434 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (is-3d)) - (sp-item 2435 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 2436 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 2437 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 2438 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 2428) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - (sp-item 2428 :flags (bit1 start-dead launch-asap)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2434) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.1)) - (sp-flt spt-y (meters 1.0025)) - (sp-flt spt-z 9420.8) - (sp-flt spt-scale-x (meters 4.1)) - (sp-flt spt-rot-x 13653.333) - (sp-flt spt-rot-y (degrees -80.0)) - (sp-flt spt-scale-y (meters 3.0)) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 64.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees -72.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2433) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.1)) - (sp-flt spt-y (meters 3.9)) - (sp-flt spt-z 9420.8) - (sp-flt spt-scale-x (meters 4.1)) - (sp-flt spt-rot-x 19114.666) - (sp-flt spt-rot-y (degrees -80.0)) - (sp-flt spt-scale-y (meters 3.0)) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 64.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees -72.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2432) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 3.2897)) - (sp-flt spt-z 10178.56) - (sp-flt spt-scale-x (meters 3.1)) - (sp-flt spt-rot-x 19114.666) - (sp-flt spt-rot-y (degrees 67.0)) - (sp-flt spt-scale-y (meters 2.9)) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 64.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 72.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2431) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 0.8025)) - (sp-flt spt-z 9830.4) - (sp-flt spt-scale-x (meters 3.1)) - (sp-flt spt-rot-x 13653.333) - (sp-flt spt-rot-y (degrees 67.0)) - (sp-flt spt-scale-y (meters 2.25)) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 64.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 72.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2430) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.2)) - (sp-flt spt-y (meters 0.8025)) - (sp-flt spt-z 11468.8) - (sp-flt spt-scale-x (meters 3.1)) - (sp-flt spt-rot-x 13653.333) - (sp-flt spt-rot-y (degrees 10.0)) - (sp-flt spt-scale-y (meters 3.0)) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 64.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2429) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.2)) - (sp-flt spt-y (meters 3.7)) - (sp-flt spt-z 11468.8) - (sp-flt spt-scale-x (meters 3.1)) - (sp-flt spt-rot-x 19114.666) - (sp-flt spt-rot-y (degrees 10.0)) - (sp-flt spt-scale-y (meters 3.0)) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 64.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2438) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-y (meters 0.5) (meters 4.0) 1.0) - (sp-flt spt-scale-x (meters 0.4)) - (sp-flt spt-scale-y (meters 0.4)) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2428) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z 9011.2 819.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.10666667) 4 218.45334) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 0.8) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 2439) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2439) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 360) - (sp-launcher-by-id spt-next-launcher 2440) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2440) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.8) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2437) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.2 0.5 1.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 2.5) 1.0) - (sp-rnd-int-flt spt-rot-z (degrees 0.0) 1 32768.0) - (sp-rnd-flt spt-scale-y (meters 8.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2435) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-int-flt spt-rot-z (degrees 0.0) 1 32768.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2436) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-int-flt spt-rot-z (degrees 0.0) 1 32768.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 602) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-coil-off" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2441 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 2442 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - ) - :bounds - (new 'static 'sphere :y 24576.0 :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2442) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 29 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.06125) - (sp-rnd-flt spt-x (meters 1.5) (meters 0.5) 1.0) - (sp-flt spt-y (meters 4.5)) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.011666667) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0023333333)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.21333334) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.026666667) - (sp-flt spt-accel-y 0.027306668) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 600) - (sp-launcher-by-id spt-next-launcher 2443) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2443) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.035555556) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2441) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters 1.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.18962963) - (sp-flt spt-fade-g -0.094814815) - (sp-flt spt-fade-b -0.094814815) - (sp-flt spt-fade-a -0.047407407) - (sp-flt spt-accel-y -0.027306668) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 675) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 603) - (new 'static 'sparticle-launch-group - :length 25 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-blue-sage-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 25 - (sp-item 2447 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 2444) - (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) - (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) - (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) - (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) - (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) - (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) - (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) - (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) - (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2445) - (sp-item 2444 :flags (bit1 start-dead launch-asap) :binding 2446) - (sp-item 2445 :flags (bit1 start-dead)) - (sp-item 2446 :flags (bit1 start-dead)) - (sp-item 2445 :flags (bit1 start-dead)) - (sp-item 2446 :flags (bit1 start-dead)) - (sp-item 2445 :flags (bit1 start-dead)) - (sp-item 2446 :flags (bit1 start-dead)) - (sp-item 2445 :flags (bit1 start-dead)) - (sp-item 2446 :flags (bit1 start-dead)) - (sp-item 2445 :flags (bit1 start-dead)) - (sp-item 2446 :flags (bit1 start-dead)) - (sp-item 2445 :flags (bit1 start-dead)) - (sp-item 2448) - (sp-item 2449) - (sp-item 2450) - ) - :bounds (new 'static 'sphere :w 139264.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 607) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-blue-sage-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2451 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2451) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-y (degrees 25.000002) (degrees 20.0) 1.0) - (sp-flt spt-rot-z (degrees 180.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 16.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2447) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.025) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.019444445)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2444) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 4096.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2445) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.0) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2446) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.0) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2448) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.8) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) - (sp-rnd-flt spt-r 16.0 48.0 1.0) - (sp-rnd-flt spt-g 16.0 48.0 1.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.11666667)) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2450) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.8) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.058333334)) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2449) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 604) - (new 'static 'sparticle-launch-group - :length 25 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-red-sage-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 25 - (sp-item 2454 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 2452) - (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) - (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) - (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) - (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) - (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) - (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) - (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) - (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) - (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) - (sp-item 2452 :flags (bit1 start-dead launch-asap) :binding 2453) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2453 :flags (bit1 start-dead)) - (sp-item 2455) - (sp-item 2456) - (sp-item 2457) - ) - :bounds - (new 'static 'sphere :y 94208.0 :w 139264.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 608) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-red-sage-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2458 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2458) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rot-z (degrees 68.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 192.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2454) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.05) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 3.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.062222224)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2452) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 5120.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 127.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2453) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.005555555)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.0) - (sp-flt spt-fade-a -0.22857143) - (sp-rnd-flt spt-accel-y 0.40960002 0.6144 1.0) - (sp-int spt-timer 42) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 171) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2455) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.5) (meters 0.75) 1.0) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 16.0 32.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.18666667)) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2457) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 3.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.093333334)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2456) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 192.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 605) - (new 'static 'sparticle-launch-group - :length 29 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-yellow-sage-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 29 - (sp-item 2461 :fade-after (meters 140.0) :falloff-to (meters 140.0) :binding 2459) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2459 :flags (bit1 start-dead launch-asap) :binding 2460) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2460 :flags (bit1 start-dead)) - (sp-item 2462) - (sp-item 2463) - (sp-item 2464) - ) - :bounds (new 'static 'sphere :w 139264.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 609) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-yellow-sage-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2465 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2465) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rot-z (degrees 115.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2461) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.025) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.031111112)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 85.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2459) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 5120.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2460) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.4) - (sp-flt spt-fade-a -0.17777778) - (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2462) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.8) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.18666667)) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 85.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2464) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.093333334)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 85.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2463) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 606) - (new 'static 'sparticle-launch-group - :length 29 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-green-sage-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 29 - (sp-item 2468 :binding 2466) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2466 :flags (bit1 start-dead launch-asap) :binding 2467) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2467 :flags (bit1 start-dead)) - (sp-item 2469) - (sp-item 2470) - (sp-item 2471) - ) - :bounds (new 'static 'sphere :w 139264.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 610) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-citb-green-sage-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2472 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2472) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rot-z (degrees 180.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2468) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.025) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.027777778)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2466) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 5120.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2467) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.17777778) - (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2469) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.16666667)) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2471) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.083333336)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2470) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2473) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xc :page #x2)) - (sp-func spt-birth-func 'birth-func-set-quat) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.25) 1.0) - (sp-flt spt-scale-y (meters 5.6)) - (sp-rnd-flt spt-r 24.0 32.0 1.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 96.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 662) - (new 'static 'sparticle-launch-group - :length #xac - :duration #xbb8 - :linger-duration #x5dc - :name "group-citadel-warpgate" - :launcher - (new 'static 'inline-array sparticle-group-item 172 - (sp-item 2689 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 2690 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 2687) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2687 :flags (bit1 start-dead launch-asap)) - (sp-item 2691 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 2688) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2688 :flags (bit1 start-dead launch-asap)) - (sp-item 2692 :fade-after (meters 100.0) :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2692) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-scale-x (meters 5.0)) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-z (degrees 82.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 255.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 0.0 64.0 1.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2691) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.0033333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit3 bit14) - (sp-flt spt-rotate-y (degrees -35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2688) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 4.3555555)) - (sp-flt spt-y (meters 4.0)) - (sp-rnd-flt spt-z 22118.4 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 196.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 0.16) - (sp-flt spt-accel-x 1.2136296) - (sp-flt spt-accel-z -0.75093335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2689) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-rnd-flt spt-num 3.0 3.0 1.0) - (sp-flt spt-x (meters -0.5)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 3481.6) - (sp-flt spt-b 3481.6) - (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0) - (sp-flt spt-fade-b 2.968116) - (sp-int spt-timer 69) - (sp-cpuinfo-flags aux-list) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 4.0) (meters 3.0) 1.0) - (sp-flt spt-rotate-y (degrees 6.0000005)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2690) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-accel-x 0.06826667) - (sp-int spt-timer 690) - (sp-cpuinfo-flags bit3 bit14) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2687) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 4.3555555)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 9011.2) - (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 8.0 32.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters -0.0044444446)) - (sp-flt spt-vel-z (meters -0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0) - (sp-flt spt-fade-a 0.21333334) - (sp-flt spt-accel-x 4.247704) - (sp-int spt-timer 690) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 683) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-citadel-torch" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 2832 :fade-after (meters 180.0) :falloff-to (meters 200.0)) - (sp-item 2833 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 2834 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 600 :length 90) - (sp-item 2835 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 369 :length 69) - (sp-item 2836 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 710 :length 51) - (sp-item 2837 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2837) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.3) - (sp-flt spt-x (meters 0.2)) - (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3276.8) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 2838) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2838) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -6.826667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2832) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1069547520 1 1.0) - (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) - (sp-rnd-flt spt-z -1433.6 2867.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 2839) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2839) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.3333334) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2834) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 2839) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2835) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z 0.0 1638.4 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 2839) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2836) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) - (sp-flt spt-y (meters 0.6)) - (sp-rnd-flt spt-z -2457.6 2457.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 2839) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2833) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.3)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0005)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-b -0.053333335) - (sp-flt spt-fade-a -0.08) - (sp-flt spt-accel-x 0.27306667) - (sp-flt spt-accel-y 0.13653333) - (sp-flt spt-friction 0.9975) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) diff --git a/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc b/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc index 9bdd8555ca..23fec77656 100644 --- a/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc +++ b/test/decompiler/reference/levels/citadel/citadel-sages_REF.gc @@ -35,8 +35,8 @@ ;; definition for method 3 of type citb-sagecage (defmethod inspect citb-sagecage ((obj citb-sagecage)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tbar-array[12] @ #x~X~%" (-> obj bar-array)) (format #t "~T~Tangle-offset: ~f~%" (-> obj angle-offset)) (format #t "~T~Tbars-on: ~A~%" (-> obj bars-on)) @@ -48,48 +48,40 @@ ;; INFO: Return type mismatch int vs none. (defbehavior citb-sagecage-draw-bars citb-sagecage () (when (logtest? (-> self draw status) 8) - (let ((gp-0 (-> self node-list data 3 bone transform)) - (s5-0 (new 'stack-no-clear 'vector)) - ) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (let ((s3-0 (new 'stack-no-clear 'vector))) - (matrix->quaternion (the-as quaternion s4-0) gp-0) - (vector-! s3-0 (camera-pos) (-> self root-override trans)) - (let ((v1-7 (-> gp-0 vector 2))) - (set! (-> self angle-offset) (- (atan (-> v1-7 x) (-> v1-7 z)))) - ) - (quaternion-rotate-local-x! - (the-as quaternion s4-0) - (the-as quaternion s4-0) - 16384.0 - ) - (let ((f0-7 (+ (-> self angle-offset) (atan (-> s3-0 x) (-> s3-0 z))))) - (quaternion-rotate-local-z! - (the-as quaternion s4-0) - (the-as quaternion s4-0) - f0-7 - ) - ) - ) - (quaternion-copy! *particle-quat* (the-as quaternion s4-0)) - ) - (let ((s4-1 (-> *part-id-table* 2473)) - (s3-1 *sp-particle-system-3d*) + (let ((gp-0 (-> self node-list data 3 bone transform)) + (s5-0 (new 'stack-no-clear 'vector)) ) - (dotimes (s2-2 12) - (vector-matrix*! s5-0 (-> self bar-array s2-2) gp-0) - (sp-launch-particles-var - s3-1 - s4-1 - s5-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (matrix->quaternion (the-as quaternion s4-0) gp-0) + (vector-! s3-0 (camera-pos) (-> self root-override trans)) + (let ((v1-7 (-> gp-0 vector 2))) + (set! (-> self angle-offset) (- (atan (-> v1-7 x) (-> v1-7 z)))) + ) + (quaternion-rotate-local-x! (the-as quaternion s4-0) (the-as quaternion s4-0) 16384.0) + (let ((f0-7 (+ (-> self angle-offset) (atan (-> s3-0 x) (-> s3-0 z))))) + (quaternion-rotate-local-z! (the-as quaternion s4-0) (the-as quaternion s4-0) f0-7) + ) + ) + (quaternion-copy! *particle-quat* (the-as quaternion s4-0)) + ) + (let ((s4-1 (-> *part-id-table* 2473)) + (s3-1 *sp-particle-system-3d*) + ) + (dotimes (s2-2 12) + (vector-matrix*! s5-0 (-> self bar-array s2-2) gp-0) + (sp-launch-particles-var + s3-1 + s4-1 + s5-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) + ) ) - ) ) - ) 0 (none) ) @@ -97,13 +89,11 @@ ;; definition for function citb-sagecage-update-collision ;; INFO: Return type mismatch int vs none. (defbehavior citb-sagecage-update-collision citb-sagecage () - (change-mesh - (the-as collide-shape-prim-mesh (-> self root-override root-prim)) - (if (-> self bars-on) - 0 - 1 - ) - ) + (change-mesh (the-as collide-shape-prim-mesh (-> self root-override root-prim)) (if (-> self bars-on) + 0 + 1 + ) + ) 0 (none) ) @@ -112,132 +102,102 @@ (defstate citb-sagecage-idle (citb-sagecage) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-3 none)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'disable-bars) - (stop! (-> self sound)) - (sound-play-by-name - (static-sound-name "sagecage-off") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (set! (-> self bars-on) #f) - (citb-sagecage-update-collision) - ) - ((= v1-0 'enable-bars) - (set! (-> self bars-on) #t) - (citb-sagecage-update-collision) - ) - ((= v1-0 'start-cloning) - (set! v0-3 (the-as none #t)) - (set! (-> self cloning) (the-as symbol v0-3)) - v0-3 - ) - ((= v1-0 'stop-cloning) - (set! (-> self cloning) #f) - (let ((v1-7 (-> self skel root-channel 0))) - (set! v0-3 (the-as none (-> self draw art-group data 3))) - (set! (-> v1-7 frame-group) (the-as art-joint-anim v0-3)) - ) - v0-3 - ) - ) - ) + (local-vars (v0-3 none)) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'disable-bars) + (stop! (-> self sound)) + (sound-play-by-name (static-sound-name "sagecage-off") (new-sound-id) 1024 0 0 1 #t) + (set! (-> self bars-on) #f) + (citb-sagecage-update-collision) + ) + ((= v1-0 'enable-bars) + (set! (-> self bars-on) #t) + (citb-sagecage-update-collision) + ) + ((= v1-0 'start-cloning) + (set! v0-3 (the-as none #t)) + (set! (-> self cloning) (the-as symbol v0-3)) + v0-3 + ) + ((= v1-0 'stop-cloning) + (set! (-> self cloning) #f) + (let ((v1-7 (-> self skel root-channel 0))) + (set! v0-3 (the-as none (-> self draw art-group data 3))) + (set! (-> v1-7 frame-group) (the-as art-joint-anim v0-3)) + ) + v0-3 + ) + ) + ) + ) ) - ) :trans (the-as (function none :behavior citb-sagecage) rider-trans) :code (behavior () - (while #t - (cond - ((-> self cloning) - (let ((gp-0 (ppointer->process (-> self parent-override)))) - (when gp-0 - (joint-control-copy! (-> self skel) (-> (the-as citb-sage gp-0) skel)) - (joint-control-remap! - (-> self skel) - (-> self draw art-group) - (-> (the-as citb-sage gp-0) draw art-group) - '() - 0 - "" + (while #t + (cond + ((-> self cloning) + (let ((gp-0 (ppointer->process (-> self parent-override)))) + (when gp-0 + (joint-control-copy! (-> self skel) (-> (the-as citb-sage gp-0) skel)) + (joint-control-remap! + (-> self skel) + (-> self draw art-group) + (-> (the-as citb-sage gp-0) draw art-group) + '() + 0 + "" + ) + ) + ) ) + (else + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) + ) + ) ) - ) + (suspend) ) - (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - ) - (suspend) + (none) ) - (none) - ) :post (behavior () - (rider-post) - (when (-> self bars-on) - (update! (-> self sound)) - (citb-sagecage-draw-bars) + (rider-post) + (when (-> self bars-on) + (update! (-> self sound)) + (citb-sagecage-draw-bars) + ) + (none) ) - (none) - ) ) ;; definition for method 20 of type citb-sagecage ;; INFO: Return type mismatch int vs none. (defmethod dummy-20 citb-sagecage ((obj citb-sagecage)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 20480.0 0.0 28672.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 3) - (set-vector! (-> s4-0 local-sphere) 0.0 20480.0 0.0 28672.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -253,41 +213,36 @@ (f1-0 -14745.6) (f2-0 7372.8) ) - (let ((f3-0 -7372.8)) - (set-vector! (-> obj bar-array 0) f4-0 f0-1 f3-0 1.0) - (set-vector! (-> obj bar-array 1) f4-0 f0-1 0.0 1.0) - (set-vector! (-> obj bar-array 2) f4-0 f0-1 f2-0 1.0) - (set-vector! (-> obj bar-array 3) f1-0 f0-1 f3-0 1.0) - (set-vector! (-> obj bar-array 4) f1-0 f0-1 0.0 1.0) - (set-vector! (-> obj bar-array 5) f1-0 f0-1 f2-0 1.0) - (set-vector! (-> obj bar-array 6) f3-0 f0-1 f4-0 1.0) - (set-vector! (-> obj bar-array 7) 0.0 f0-1 f4-0 1.0) - (set-vector! (-> obj bar-array 8) f2-0 f0-1 f4-0 1.0) - (set-vector! (-> obj bar-array 9) f3-0 f0-1 f1-0 1.0) + (let ((f3-0 -7372.8)) + (set-vector! (-> obj bar-array 0) f4-0 f0-1 f3-0 1.0) + (set-vector! (-> obj bar-array 1) f4-0 f0-1 0.0 1.0) + (set-vector! (-> obj bar-array 2) f4-0 f0-1 f2-0 1.0) + (set-vector! (-> obj bar-array 3) f1-0 f0-1 f3-0 1.0) + (set-vector! (-> obj bar-array 4) f1-0 f0-1 0.0 1.0) + (set-vector! (-> obj bar-array 5) f1-0 f0-1 f2-0 1.0) + (set-vector! (-> obj bar-array 6) f3-0 f0-1 f4-0 1.0) + (set-vector! (-> obj bar-array 7) 0.0 f0-1 f4-0 1.0) + (set-vector! (-> obj bar-array 8) f2-0 f0-1 f4-0 1.0) + (set-vector! (-> obj bar-array 9) f3-0 f0-1 f1-0 1.0) + ) + (set-vector! (-> obj bar-array 10) 0.0 f0-1 f1-0 1.0) + (set-vector! (-> obj bar-array 11) f2-0 f0-1 f1-0 1.0) ) - (set-vector! (-> obj bar-array 10) 0.0 f0-1 f1-0 1.0) - (set-vector! (-> obj bar-array 11) f2-0 f0-1 f1-0 1.0) - ) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "sagecage-gen") - :volume #x400 - :fo-max 20 - ) - (-> obj root-override trans) - ) - ) - (set! - (-> obj bars-on) - (not (task-complete? *game-info* (-> obj entity extra perm task))) - ) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "sagecage-gen") + :volume #x400 + :fo-max 20 + ) + (-> obj root-override trans) + ) + ) + (set! (-> obj bars-on) (not (task-complete? *game-info* (-> obj entity extra perm task)))) (citb-sagecage-update-collision) (set! (-> obj cloning) #t) (set! (-> obj event-hook) (-> citb-sagecage-idle event)) @@ -299,21 +254,9 @@ ;; INFO: Return type mismatch object vs none. (defbehavior citb-sagecage-init-by-other citb-sagecage ((arg0 citb-sage)) (dummy-20 self) - (mem-copy! - (the-as pointer (-> self root-override trans)) - (the-as pointer (-> arg0 root-override trans)) - 16 - ) - (mem-copy! - (the-as pointer (-> self root-override quat)) - (the-as pointer (-> arg0 root-override quat)) - 16 - ) - (mem-copy! - (the-as pointer (-> self root-override scale)) - (the-as pointer (-> arg0 root-override scale)) - 16 - ) + (mem-copy! (the-as pointer (-> self root-override trans)) (the-as pointer (-> arg0 root-override trans)) 16) + (mem-copy! (the-as pointer (-> self root-override quat)) (the-as pointer (-> arg0 root-override quat)) 16) + (mem-copy! (the-as pointer (-> self root-override scale)) (the-as pointer (-> arg0 root-override scale)) 16) (dummy-21 self) (go citb-sagecage-idle) (none) @@ -407,8 +350,8 @@ ;; definition for method 3 of type citb-sage (defmethod inspect citb-sage ((obj citb-sage)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tspawn-pos: #~%" (-> obj spawn-pos)) (format #t "~T~Ttarget-pos: #~%" (-> obj target-pos)) (format #t "~T~Tdir: #~%" (-> obj dir)) @@ -432,16 +375,16 @@ ;; INFO: Return type mismatch process-taskable vs citb-sage. (defmethod relocate citb-sage ((obj citb-sage) (arg0 int)) (if (nonzero? (-> obj part-impact)) - (&+! (-> obj part-impact) arg0) - ) + (&+! (-> obj part-impact) arg0) + ) (the-as citb-sage ((method-of-type process-taskable relocate) obj arg0)) ) ;; definition for method 10 of type citb-sage (defmethod deactivate citb-sage ((obj citb-sage)) (if (nonzero? (-> obj part-impact)) - (kill-and-free-particles (-> obj part-impact)) - ) + (kill-and-free-particles (-> obj part-impact)) + ) (sound-stop (-> obj sound-id)) ((method-of-type process-taskable deactivate) obj) (none) @@ -453,63 +396,44 @@ (defmethod play-reminder citb-sage ((obj citb-sage)) (set! (-> obj root-override pause-adjust-distance) 409600.0) (let ((s5-0 (get-process *default-dead-pool* citb-sagecage #x4000))) - (set! (-> obj cage) (ppointer->handle (when s5-0 - (let - ((t9-1 - (method-of-type - citb-sagecage - activate - ) - ) - ) - (t9-1 - (the-as citb-sagecage s5-0) - obj - 'citb-sagecage - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - citb-sagecage-init-by-other - obj - ) - (-> s5-0 ppointer) - ) - ) + (set! (-> obj cage) + (ppointer->handle (when s5-0 + (let ((t9-1 (method-of-type citb-sagecage activate))) + (t9-1 (the-as citb-sagecage s5-0) obj 'citb-sagecage (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 citb-sagecage-init-by-other obj) + (-> s5-0 ppointer) + ) + ) + ) ) - ) (set! (-> obj beam-on) #f) (set! (-> obj sound-id) (new-sound-id)) (if (zero? (-> obj sound-name)) - (set! (-> obj sound-name) "") - ) - (let - ((v1-9 (the-as entity (entity-actor-lookup (-> obj entity) 'alt-actor 0))) - (s5-1 (new 'stack-no-clear 'vector)) + (set! (-> obj sound-name) "") + ) + (let ((v1-9 (the-as entity (entity-actor-lookup (-> obj entity) 'alt-actor 0))) + (s5-1 (new 'stack-no-clear 'vector)) + ) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (if (not (the-as entity-actor v1-9)) + (set! v1-9 (entity-by-name "citb-robotboss-1")) + ) + (set! (-> obj alt-actor) (the-as entity-actor v1-9)) + (set! (-> obj spawn-pos quad) (-> obj root-override trans quad)) + (set! (-> s5-1 quad) (-> v1-9 extra trans quad)) + (set! (-> s5-1 y) (+ 81920.0 (-> s5-1 y))) + (vector-! s4-0 (-> obj spawn-pos) s5-1) + (set! (-> s4-0 y) 0.0) + (vector-normalize! s4-0 1.0) + (vector+*! (-> obj target-pos) s5-1 s4-0 116940.8) + ) + (when (nonzero? (-> obj part)) + (vector-! s5-1 (-> obj target-pos) (-> obj spawn-pos)) + (vector-float*! (the-as vector (-> obj part group bounds)) s5-1 0.5) + (set! (-> obj part group bounds w) (* 0.6 (vector-vector-distance (-> obj spawn-pos) (-> obj target-pos)))) + ) ) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (if (not (the-as entity-actor v1-9)) - (set! v1-9 (entity-by-name "citb-robotboss-1")) - ) - (set! (-> obj alt-actor) (the-as entity-actor v1-9)) - (set! (-> obj spawn-pos quad) (-> obj root-override trans quad)) - (set! (-> s5-1 quad) (-> v1-9 extra trans quad)) - (set! (-> s5-1 y) (+ 81920.0 (-> s5-1 y))) - (vector-! s4-0 (-> obj spawn-pos) s5-1) - (set! (-> s4-0 y) 0.0) - (vector-normalize! s4-0 1.0) - (vector+*! (-> obj target-pos) s5-1 s4-0 116940.8) - ) - (when (nonzero? (-> obj part)) - (vector-! s5-1 (-> obj target-pos) (-> obj spawn-pos)) - (vector-float*! (the-as vector (-> obj part group bounds)) s5-1 0.5) - (set! - (-> obj part group bounds w) - (* 0.6 (vector-vector-distance (-> obj spawn-pos) (-> obj target-pos))) - ) - ) - ) (the-as symbol 0) ) @@ -526,9 +450,9 @@ ;; INFO: Return type mismatch object vs none. (defmethod dummy-42 citb-sage ((obj citb-sage)) (if (not (should-display? obj)) - (go (method-of-object obj hidden)) - (go (method-of-object obj idle)) - ) + (go (method-of-object obj hidden)) + (go (method-of-object obj idle)) + ) (none) ) @@ -541,14 +465,14 @@ ;; definition for method 31 of type citb-sage (defmethod get-art-elem citb-sage ((obj citb-sage)) (cond - ((= (current-status (-> obj tasks)) (task-status invalid)) - (set! (-> obj beam-on) #t) - (-> obj draw art-group data (-> obj attack-anim)) + ((= (current-status (-> obj tasks)) (task-status invalid)) + (set! (-> obj beam-on) #t) + (-> obj draw art-group data (-> obj attack-anim)) + ) + (else + (-> obj draw art-group data (-> obj idle-anim)) + ) ) - (else - (-> obj draw art-group data (-> obj idle-anim)) - ) - ) ) ;; definition for method 39 of type citb-sage @@ -561,31 +485,28 @@ :virtual #t :enter (behavior () - (send-event (handle->process (-> self cage)) 'disable-bars) - (send-event (handle->process (-> self cage)) 'stop-cloning) - ((-> (method-of-type process-taskable hidden) enter)) - (none) - ) + (send-event (handle->process (-> self cage)) 'disable-bars) + (send-event (handle->process (-> self cage)) 'stop-cloning) + ((-> (method-of-type process-taskable hidden) enter)) + (none) + ) ) ;; definition for function citb-sage-draw-beam ;; Used lq/sq (defbehavior citb-sage-draw-beam citb-sage () (if (< (vector-vector-distance (ear-trans) (-> self spawn-pos)) 409600.0) - (sound-play-by-name - (string->sound-name (-> self sound-name)) - (-> self sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol (-> self spawn-pos)) - ) - ) - (set! - (-> self spawn-pos quad) - (-> self node-list data (-> self beam-joint) bone transform vector 3 quad) - ) + (sound-play-by-name + (string->sound-name (-> self sound-name)) + (-> self sound-id) + 1024 + 0 + 0 + 1 + (the-as symbol (-> self spawn-pos)) + ) + ) + (set! (-> self spawn-pos quad) (-> self node-list data (-> self beam-joint) bone transform vector 3 quad)) (vector-! (-> self dir) (-> self target-pos) (-> self spawn-pos)) (set! (-> self rot-y) (vector-y-angle (-> self dir))) (set! (-> self rot-x) (- 16384.0 (vector-x-angle (-> self dir)))) @@ -599,20 +520,15 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('disable-bars) - (send-event (handle->process (-> self cage)) 'disable-bars) + (case arg2 + (('disable-bars) + (send-event (handle->process (-> self cage)) 'disable-bars) + ) + (else + ((-> (method-of-type process-taskable play-anim) event) arg0 arg1 arg2 arg3) + ) ) - (else - ((-> (method-of-type process-taskable play-anim) event) - arg0 - arg1 - arg2 - arg3 - ) - ) ) - ) ) ;; failed to figure out what this is: @@ -620,35 +536,31 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('open) - (send-event (handle->process (-> self cage)) 'disable-bars) + (case arg2 + (('open) + (send-event (handle->process (-> self cage)) 'disable-bars) + ) + (else + ((-> (method-of-type process-taskable idle) event) arg0 arg1 arg2 arg3) + ) ) - (else - ((-> (method-of-type process-taskable idle) event) arg0 arg1 arg2 arg3) - ) ) - ) :trans (behavior () - (if (not (should-display? self)) - (go-virtual hidden) + (if (not (should-display? self)) + (go-virtual hidden) + ) + ((-> (method-of-type process-taskable idle) trans)) + (none) ) - ((-> (method-of-type process-taskable idle) trans)) - (none) - ) :post (behavior () - ((the-as - (function none :behavior citb-sage) - (-> (method-of-type process-taskable idle) post) - ) + ((the-as (function none :behavior citb-sage) (-> (method-of-type process-taskable idle) post))) + (if (-> self beam-on) + (citb-sage-draw-beam) + ) + (none) ) - (if (-> self beam-on) - (citb-sage-draw-beam) - ) - (none) - ) ) ;; definition of type red-sagecage @@ -663,8 +575,8 @@ ;; definition for method 3 of type red-sagecage (defmethod inspect red-sagecage ((obj red-sagecage)) (let ((t9-0 (method-of-type citb-sage inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -672,18 +584,18 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 red-sagecage ((obj red-sagecage)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((a0-1 v1-1)) - (set! (-> a0-1 settings bot-plane w) (- -8192.0)) - ) - 0 - (let ((a0-3 v1-1)) - (set! (-> a0-3 settings top-plane w) (- 4096.0)) - ) - 0 - (set! (-> v1-1 settings flags) (logand -13 (-> v1-1 settings flags))) + (when v1-1 + (let ((a0-1 v1-1)) + (set! (-> a0-1 settings bot-plane w) (- -8192.0)) + ) + 0 + (let ((a0-3 v1-1)) + (set! (-> a0-3 settings top-plane w) (- 4096.0)) + ) + 0 + (set! (-> v1-1 settings flags) (logand -13 (-> v1-1 settings flags))) + ) ) - ) (none) ) @@ -691,24 +603,20 @@ (defmethod draw-npc-shadow red-sagecage ((obj red-sagecage)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) @@ -732,39 +640,21 @@ (set! (-> obj attack-start-anim) 5) (set! (-> obj attack-anim) 6) (set! (-> obj beam-joint) 20) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 604) obj) - ) - (set! - (-> obj part-impact) - (create-launch-control (-> *part-group-id-table* 608) obj) - ) - (set! - (-> obj resolution-anim) - (new 'static 'spool-anim - :name "redsage-resolution" - :index 7 - :parts 9 - :command-list - '( - ((the binteger 15) - send-event - self - disable-bars + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 604) obj)) + (set! (-> obj part-impact) (create-launch-control (-> *part-group-id-table* 608) obj)) + (set! (-> obj resolution-anim) (new 'static 'spool-anim + :name "redsage-resolution" + :index 7 + :parts 9 + :command-list + '(((the binteger 15) send-event self disable-bars) + ((the binteger 45) joint "cameraB") + ((the binteger 216) joint "camera") + ((the binteger 435) joint "cameraB") + ((the binteger 685) joint "camera") + ) + ) ) - ((the binteger 45) - joint - "cameraB" - ) - ((the binteger 216) - joint - "camera" - ) - ((the binteger 435) joint "cameraB") ((the binteger 685) joint "camera") - ) - ) - ) (set! (-> obj sound-name) "redsage-fires") ((the-as (function citb-sage none) (find-parent-method red-sagecage 44)) obj) (the-as symbol 0) @@ -773,40 +663,30 @@ ;; definition for method 43 of type red-sagecage (defmethod TODO-RENAME-43 red-sagecage ((obj red-sagecage)) (if (-> obj beam-on) - (return #f) - ) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-7 (the-as number (logior #x3f800000 v1-6))) - (f0-2 (+ -1.0 (the-as float v1-7))) + (return #f) + ) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-7 (the-as number (logior #x3f800000 v1-6))) + (f0-2 (+ -1.0 (the-as float v1-7))) + ) + (cond + ((< 0.6666667 f0-2) + (play-ambient (-> obj ambient) "RED-AM01" #f (-> obj root-override trans)) + ) + ((< 0.33333334 f0-2) + (play-ambient (-> obj ambient) "RED-AM02" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "RED-AM03" #f (-> obj root-override trans)) ) - (cond - ((< 0.6666667 f0-2) - (play-ambient (-> obj ambient) "RED-AM01" #f (-> obj root-override trans)) + ) ) - ((< 0.33333334 f0-2) - (play-ambient (-> obj ambient) "RED-AM02" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "RED-AM03" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; definition for method 11 of type red-sagecage -(defmethod - init-from-entity! - red-sagecage - ((obj red-sagecage) (arg0 entity-actor)) +(defmethod init-from-entity! red-sagecage ((obj red-sagecage) (arg0 entity-actor)) (dummy-40 obj arg0 *redsage-sg* 3 33 (new 'static 'vector :w 8192.0) 5) (set! (-> obj tasks) (get-task-control (-> obj entity extra perm task))) (play-reminder obj) @@ -827,8 +707,8 @@ ;; definition for method 3 of type blue-sagecage (defmethod inspect blue-sagecage ((obj blue-sagecage)) (let ((t9-0 (method-of-type citb-sage inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -836,18 +716,18 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 blue-sagecage ((obj blue-sagecage)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((a0-1 v1-1)) - (set! (-> a0-1 settings bot-plane w) (- -10035.2)) - ) - 0 - (let ((a0-3 v1-1)) - (set! (-> a0-3 settings top-plane w) (- 4096.0)) - ) - 0 - (set! (-> v1-1 settings flags) (logand -13 (-> v1-1 settings flags))) + (when v1-1 + (let ((a0-1 v1-1)) + (set! (-> a0-1 settings bot-plane w) (- -10035.2)) + ) + 0 + (let ((a0-3 v1-1)) + (set! (-> a0-3 settings top-plane w) (- 4096.0)) + ) + 0 + (set! (-> v1-1 settings flags) (logand -13 (-> v1-1 settings flags))) + ) ) - ) (none) ) @@ -855,24 +735,20 @@ (defmethod draw-npc-shadow blue-sagecage ((obj blue-sagecage)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) @@ -896,60 +772,26 @@ (set! (-> obj attack-start-anim) 5) (set! (-> obj attack-anim) 6) (set! (-> obj beam-joint) 53) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 603) obj) - ) - (set! - (-> obj part-impact) - (create-launch-control (-> *part-group-id-table* 607) obj) - ) - (set! - (-> obj resolution-anim) - (new 'static 'spool-anim - :name "bluesage-resolution" - :index 7 - :parts 9 - :command-list - '( - ((the binteger 15) - send-event - self - disable-bars + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 603) obj)) + (set! (-> obj part-impact) (create-launch-control (-> *part-group-id-table* 607) obj)) + (set! (-> obj resolution-anim) (new 'static 'spool-anim + :name "bluesage-resolution" + :index 7 + :parts 9 + :command-list + '(((the binteger 15) send-event self disable-bars) + ((the binteger 45) joint "cameraB") + ((the binteger 74) shadow self #f) + ((the binteger 185) joint "camera") + ((the binteger 256) joint "cameraB") + ((the binteger 505) joint "camera") + ((the binteger 590) joint "cameraB") + ((the binteger 670) joint "camera") + ((the binteger 875) shadow self #t) + ((the binteger 876) joint "cameraB") + ) + ) ) - ((the binteger 45) - joint - "cameraB" - ) - ((the binteger 74) - shadow - self - #f - ) - ((the binteger 185) - joint - "camera" - ) - ((the binteger 256) - joint - "cameraB" - ) - ((the binteger 505) - joint - "camera" - ) - ((the binteger 590) - joint - "cameraB" - ) - ((the binteger 670) - joint - "camera" - ) - ((the binteger 875) shadow self #t) ((the binteger 876) joint "cameraB") - ) - ) - ) (set! (-> obj sound-name) "bluesage-fires") ((the-as (function citb-sage none) (find-parent-method blue-sagecage 44)) obj) (the-as symbol 0) @@ -958,40 +800,30 @@ ;; definition for method 43 of type blue-sagecage (defmethod TODO-RENAME-43 blue-sagecage ((obj blue-sagecage)) (if (-> obj beam-on) - (return #f) - ) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-7 (the-as number (logior #x3f800000 v1-6))) - (f0-2 (+ -1.0 (the-as float v1-7))) + (return #f) + ) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-7 (the-as number (logior #x3f800000 v1-6))) + (f0-2 (+ -1.0 (the-as float v1-7))) + ) + (cond + ((< 0.6666667 f0-2) + (play-ambient (-> obj ambient) "BLU-AM01" #f (-> obj root-override trans)) + ) + ((< 0.33333334 f0-2) + (play-ambient (-> obj ambient) "BLU-AM02" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "BLU-AM03" #f (-> obj root-override trans)) ) - (cond - ((< 0.6666667 f0-2) - (play-ambient (-> obj ambient) "BLU-AM01" #f (-> obj root-override trans)) + ) ) - ((< 0.33333334 f0-2) - (play-ambient (-> obj ambient) "BLU-AM02" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "BLU-AM03" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; definition for method 11 of type blue-sagecage -(defmethod - init-from-entity! - blue-sagecage - ((obj blue-sagecage) (arg0 entity-actor)) +(defmethod init-from-entity! blue-sagecage ((obj blue-sagecage) (arg0 entity-actor)) (dummy-40 obj arg0 *bluesage-sg* 3 54 (new 'static 'vector :w 8192.0) 5) (set! (-> obj tasks) (get-task-control (-> obj entity extra perm task))) (play-reminder obj) @@ -1012,8 +844,8 @@ ;; definition for method 3 of type yellow-sagecage (defmethod inspect yellow-sagecage ((obj yellow-sagecage)) (let ((t9-0 (method-of-type citb-sage inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1021,18 +853,18 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 yellow-sagecage ((obj yellow-sagecage)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((a0-1 v1-1)) - (set! (-> a0-1 settings bot-plane w) (- -6144.0)) - ) - 0 - (let ((a0-3 v1-1)) - (set! (-> a0-3 settings top-plane w) (- 4096.0)) - ) - 0 - (set! (-> v1-1 settings flags) (logand -13 (-> v1-1 settings flags))) + (when v1-1 + (let ((a0-1 v1-1)) + (set! (-> a0-1 settings bot-plane w) (- -6144.0)) + ) + 0 + (let ((a0-3 v1-1)) + (set! (-> a0-3 settings top-plane w) (- 4096.0)) + ) + 0 + (set! (-> v1-1 settings flags) (logand -13 (-> v1-1 settings flags))) + ) ) - ) (none) ) @@ -1040,24 +872,20 @@ (defmethod draw-npc-shadow yellow-sagecage ((obj yellow-sagecage)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) @@ -1081,83 +909,53 @@ (set! (-> obj attack-start-anim) 5) (set! (-> obj attack-anim) 6) (set! (-> obj beam-joint) 74) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 605) obj) - ) - (set! - (-> obj part-impact) - (create-launch-control (-> *part-group-id-table* 609) obj) - ) - (set! - (-> obj resolution-anim) - (new 'static 'spool-anim - :name "yellowsage-resolution" - :index 7 - :parts 6 - :command-list - '( - ((the binteger 15) - send-event - self - disable-bars + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 605) obj)) + (set! (-> obj part-impact) (create-launch-control (-> *part-group-id-table* 609) obj)) + (set! (-> obj resolution-anim) (new 'static 'spool-anim + :name "yellowsage-resolution" + :index 7 + :parts 6 + :command-list + '(((the binteger 15) send-event self disable-bars) + ((the binteger 45) joint "cameraB") + ((the binteger 256) joint "camera") + ((the binteger 314) joint "cameraB") + ((the binteger 600) joint "camera") + ) + ) ) - ((the binteger 45) - joint - "cameraB" - ) - ((the binteger 256) - joint - "camera" - ) - ((the binteger 314) joint "cameraB") ((the binteger 600) joint "camera") - ) - ) - ) (set! (-> obj sound-name) "yellsage-fire") - ((the-as (function citb-sage none) (find-parent-method yellow-sagecage 44)) - obj - ) + ((the-as (function citb-sage none) (find-parent-method yellow-sagecage 44)) obj) (the-as symbol 0) ) ;; definition for method 43 of type yellow-sagecage (defmethod TODO-RENAME-43 yellow-sagecage ((obj yellow-sagecage)) (if (-> obj beam-on) - (return #f) - ) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-7 (the-as number (logior #x3f800000 v1-6))) - (f0-2 (+ -1.0 (the-as float v1-7))) + (return #f) + ) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-7 (the-as number (logior #x3f800000 v1-6))) + (f0-2 (+ -1.0 (the-as float v1-7))) + ) + (cond + ((< 0.6666667 f0-2) + (play-ambient (-> obj ambient) "YEL-AM01" #f (-> obj root-override trans)) + ) + ((< 0.33333334 f0-2) + (play-ambient (-> obj ambient) "YEL-AM02" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "YEL-AM03" #f (-> obj root-override trans)) ) - (cond - ((< 0.6666667 f0-2) - (play-ambient (-> obj ambient) "YEL-AM01" #f (-> obj root-override trans)) + ) ) - ((< 0.33333334 f0-2) - (play-ambient (-> obj ambient) "YEL-AM02" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "YEL-AM03" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; definition for method 11 of type yellow-sagecage -(defmethod - init-from-entity! - yellow-sagecage - ((obj yellow-sagecage) (arg0 entity-actor)) +(defmethod init-from-entity! yellow-sagecage ((obj yellow-sagecage) (arg0 entity-actor)) (dummy-40 obj arg0 *yellowsage-sg* 3 50 (new 'static 'vector :w 8192.0) 5) (set! (-> obj tasks) (get-task-control (-> obj entity extra perm task))) (play-reminder obj) @@ -1183,8 +981,8 @@ ;; definition for method 3 of type green-sagecage (defmethod inspect green-sagecage ((obj green-sagecage)) (let ((t9-0 (method-of-type citb-sage inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Twhich-movie: ~D~%" (-> obj which-movie)) (format #t "~T~Tevilbro: ~D~%" (-> obj evilbro)) (format #t "~T~Tevilsis: ~D~%" (-> obj evilsis)) @@ -1213,50 +1011,25 @@ (set! (-> obj attack-start-anim) 4) (set! (-> obj attack-anim) 4) (set! (-> obj beam-joint) 22) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 606) obj) - ) - (set! - (-> obj part-impact) - (create-launch-control (-> *part-group-id-table* 610) obj) - ) - (set! - (-> obj resolution-anim) - (new 'static 'spool-anim - :name "green-sagecage-resolution" - :index 6 - :parts 12 - :command-list - '( - ((the binteger 33) - joint - "cameraB" + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 606) obj)) + (set! (-> obj part-impact) (create-launch-control (-> *part-group-id-table* 610) obj)) + (set! (-> obj resolution-anim) (new 'static 'spool-anim + :name "green-sagecage-resolution" + :index 6 + :parts 12 + :command-list + '(((the binteger 33) joint "cameraB") + ((the binteger 156) joint "camera") + ((the binteger 405) joint "cameraB") + ((the binteger 576) joint "camera") + ((the binteger 823) joint "cameraB") + ((the binteger 1156) joint "camera") + ((the binteger 1199) joint "cameraB") + ) + ) ) - ((the binteger 156) - joint - "camera" - ) - ((the binteger 405) - joint - "cameraB" - ) - ((the binteger 576) - joint - "camera" - ) - ((the binteger 823) - joint - "cameraB" - ) - ((the binteger 1156) joint "camera") ((the binteger 1199) joint "cameraB") - ) - ) - ) (set! (-> obj sound-name) "greensage-fires") - ((the-as (function citb-sage none) (find-parent-method green-sagecage 44)) - obj - ) + ((the-as (function citb-sage none) (find-parent-method green-sagecage 44)) obj) (the-as symbol 0) ) @@ -1264,466 +1037,174 @@ (defmethod play-anim! green-sagecage ((obj green-sagecage) (arg0 symbol)) (local-vars (v1-7 int)) (let ((v1-1 (current-status (-> obj tasks)))) - (cond - ((= v1-1 (task-status need-hint)) - (when arg0 - (close-current! (-> obj tasks)) - (close-specific-task! - (game-task citadel-sage-blue) - (task-status need-hint) + (cond + ((= v1-1 (task-status need-hint)) + (when arg0 + (close-current! (-> obj tasks)) + (close-specific-task! (game-task citadel-sage-blue) (task-status need-hint)) + (close-specific-task! (game-task citadel-sage-red) (task-status need-hint)) + (close-specific-task! (game-task citadel-sage-yellow) (task-status need-hint)) + (set-continue! *game-info* "citadel-elevator") + ) + (new 'static 'spool-anim + :name "green-sagecage-introduction" + :index 5 + :parts 12 + :command-list + '(((the binteger 71) joint "cameraB") + ((the binteger 207) joint "camera") + ((the binteger 343) joint "cameraB") + ((the binteger 574) joint "camera") + ((the binteger 1060) joint "cameraB") + ((the binteger 1061) send-event camera teleport) + ) + ) ) - (close-specific-task! - (game-task citadel-sage-red) - (task-status need-hint) + ((begin (set! v1-7 (-> obj which-movie)) (zero? v1-7)) + (when arg0 + (send-event (handle->process (-> obj cage)) 'disable-bars) + (+! (-> obj which-movie) 1) + (set! (-> obj draw bounds w) 40960.0) + ) + (-> obj resolution-anim) ) - (close-specific-task! - (game-task citadel-sage-yellow) - (task-status need-hint) + ((= v1-7 1) + (when arg0 + (+! (-> obj which-movie) 1) + (set! (-> obj draw bounds w) 40960.0) + (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj evilbro) + (ppointer->handle + (when s5-1 + (let ((t9-8 (method-of-type manipy activate))) + (t9-8 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *evilbro-citadel-sg* #f) + (-> s5-1 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj evilbro)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj evilbro)) 'blend-shape #t) + (send-event (handle->process (-> obj evilbro)) 'center-joint 3) + (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj evilsis) + (ppointer->handle + (when s5-2 + (let ((t9-14 (method-of-type manipy activate))) + (t9-14 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *evilsis-citadel-sg* #f) + (-> s5-2 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj evilsis)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj evilsis)) 'blend-shape #t) + (send-event (handle->process (-> obj evilsis)) 'center-joint 3) + (if (handle->process (-> obj exitplat)) + (format 0 "exitplat activated~%") + ) + ) + (new 'static 'spool-anim + :name "green-sagecage-outro-preboss" + :index 7 + :parts 22 + :command-list + '((0 blackout 0) + (0 want-levels citadel finalboss) + (0 display-level finalboss special) + (0 send-event "citb-robotboss-1" 'die) + ((the binteger 335) joint "cameraB") + ((the binteger 581) joint "camera") + ((the binteger 696) joint "cameraB") + ((the binteger 828) joint "camera") + ((the binteger 1180) joint "cameraB") + ((the binteger 1380) send-event self 'spawn-robot) + ((the binteger 1382) joint "camera") + ((the binteger 1382) kill "citb-disc-d-2") + ((the binteger 1382) kill "citb-disc-c-4") + ((the binteger 1382) kill "citb-disc-c-5") + ((the binteger 1382) kill "citb-disc-c-6") + ((the binteger 1382) kill "citb-disc-b-12") + ((the binteger 1382) kill "citb-disc-b-13") + ((the binteger 1382) kill "citb-disc-b-14") + ((the binteger 1382) kill "citb-disc-a-11") + ((the binteger 1382) kill "citb-disc-a-12") + ((the binteger 1382) kill "citb-disc-a-13") + ((the binteger 1382) kill "citb-disc-a-14") + ((the binteger 1382) kill "citb-disc-a-15") + ((the binteger 1382) kill "citb-disc-a-16") + ((the binteger 1382) kill "citb-disc-b-21") + ((the binteger 1382) kill "citb-button-28") + ((the binteger 1382) kill "citb-button-32") + ((the binteger 1382) kill "citb-generator-1") + ((the binteger 1382) kill "citb-generator-2") + ((the binteger 1382) kill "citb-generator-3") + ((the binteger 1382) kill "citb-generator-4") + ((the binteger 1382) kill "citb-iris-door-15") + ((the binteger 1382) kill "citb-iris-door-16") + ((the binteger 1382) kill "crate-2996") + ((the binteger 1382) kill "crate-2997") + ((the binteger 1382) kill "crate-2998") + ((the binteger 1382) kill "crate-3000") + ((the binteger 1382) kill "citb-plat-eco-1") + ((the binteger 1382) kill "citb-plat-eco-2") + ((the binteger 1382) kill "citb-plat-eco-3") + ((the binteger 1382) kill "citb-stair-plat-1") + ((the binteger 1382) kill "citb-stair-plat-2") + ((the binteger 1382) kill "citb-stair-plat-3") + ((the binteger 1382) kill "citb-stair-plat-4") + ((the binteger 1382) kill "citb-stair-plat-5") + ((the binteger 1382) kill "citb-stair-plat-6") + ((the binteger 1382) kill "red-sagecage-1") + ((the binteger 1382) kill "blue-sagecage-1") + ((the binteger 1382) kill "yellow-sagecage-1") + ((the binteger 1382) kill "babak-391") + ((the binteger 1382) kill "citb-disc-c-10") + ((the binteger 1382) kill "citb-iris-door-32") + ((the binteger 1382) kill "citb-disc-b-18") + ((the binteger 1382) kill "citb-disc-b-19") + ((the binteger 1382) kill "citb-disc-b-20") + ((the binteger 1382) kill "citb-iris-door-14") + ((the binteger 1382) kill "orb-cache-top-32") + ((the binteger 1382) kill "citb-disc-b-17") + ((the binteger 1382) kill "citb-iris-door-13") + ((the binteger 1382) kill "citb-button-39") + ((the binteger 1382) kill "citb-button-40") + ((the binteger 1382) kill "babak-392") + ((the binteger 1382) kill "babak-393") + ((the binteger 1382) kill "citb-button-33") + ((the binteger 1382) kill "citb-button-34") + ((the binteger 1382) kill "citb-drop-plat-365") + ((the binteger 1382) kill "citb-drop-plat-366") + ((the binteger 1382) kill "citb-drop-plat-367") + ((the binteger 1382) kill "citb-iris-door-21") + ((the binteger 1382) kill "assistant-lavatube-end-3") + ((the binteger 1382) kill "babak-394") + ((the binteger 1382) kill "babak-396") + ((the binteger 1382) kill "citb-drop-plat-376") + ((the binteger 1605) joint "cameraB") + ((the binteger 1733) kill "citb-iris-door-2") + ((the binteger 1736) joint "camera") + ) + ) ) - (set-continue! *game-info* "citadel-elevator") - ) - (new 'static 'spool-anim - :name "green-sagecage-introduction" - :index 5 - :parts 12 - :command-list - '( - ((the binteger 71) - joint - "cameraB" - ) - ((the binteger 207) - joint - "camera" - ) - ((the binteger 343) - joint - "cameraB" - ) - ((the binteger 574) - joint - "camera" - ) - ((the binteger 1060) - joint - "cameraB" - ) - ((the binteger 1061) send-event camera teleport) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 4) ) ) - ) - ((begin - (set! v1-7 (-> obj which-movie)) - (zero? v1-7) - ) - (when arg0 - (send-event (handle->process (-> obj cage)) 'disable-bars) - (+! (-> obj which-movie) 1) - (set! (-> obj draw bounds w) 40960.0) - ) - (-> obj resolution-anim) - ) - ((= v1-7 1) - (when arg0 - (+! (-> obj which-movie) 1) - (set! (-> obj draw bounds w) 40960.0) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilbro) (ppointer->handle (when s5-1 - (let - ((t9-8 - (method-of-type - manipy - activate - ) - ) - ) - (t9-8 - (the-as manipy s5-1) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *evilbro-citadel-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj evilbro)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj evilbro)) 'blend-shape #t) - (send-event (handle->process (-> obj evilbro)) 'center-joint 3) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilsis) (ppointer->handle (when s5-2 - (let - ((t9-14 - (method-of-type - manipy - activate - ) - ) - ) - (t9-14 - (the-as manipy s5-2) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-2 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *evilsis-citadel-sg* - #f - ) - (-> s5-2 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj evilsis)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj evilsis)) 'blend-shape #t) - (send-event (handle->process (-> obj evilsis)) 'center-joint 3) - (if (handle->process (-> obj exitplat)) - (format 0 "exitplat activated~%") - ) - ) - (new 'static 'spool-anim - :name "green-sagecage-outro-preboss" - :index 7 - :parts 22 - :command-list - '( - (0 - blackout - 0 - ) - (0 - want-levels - citadel - finalboss - ) - (0 - display-level - finalboss - special - ) - (0 - send-event - "citb-robotboss-1" - 'die - ) - ((the binteger 335) - joint - "cameraB" - ) - ((the binteger 581) - joint - "camera" - ) - ((the binteger 696) - joint - "cameraB" - ) - ((the binteger 828) - joint - "camera" - ) - ((the binteger 1180) - joint - "cameraB" - ) - ((the binteger 1380) - send-event - self - 'spawn-robot - ) - ((the binteger 1382) - joint - "camera" - ) - ((the binteger 1382) - kill - "citb-disc-d-2" - ) - ((the binteger 1382) - kill - "citb-disc-c-4" - ) - ((the binteger 1382) - kill - "citb-disc-c-5" - ) - ((the binteger 1382) - kill - "citb-disc-c-6" - ) - ((the binteger 1382) - kill - "citb-disc-b-12" - ) - ((the binteger 1382) - kill - "citb-disc-b-13" - ) - ((the binteger 1382) - kill - "citb-disc-b-14" - ) - ((the binteger 1382) - kill - "citb-disc-a-11" - ) - ((the binteger 1382) - kill - "citb-disc-a-12" - ) - ((the binteger 1382) - kill - "citb-disc-a-13" - ) - ((the binteger 1382) - kill - "citb-disc-a-14" - ) - ((the binteger 1382) - kill - "citb-disc-a-15" - ) - ((the binteger 1382) - kill - "citb-disc-a-16" - ) - ((the binteger 1382) - kill - "citb-disc-b-21" - ) - ((the binteger 1382) - kill - "citb-button-28" - ) - ((the binteger 1382) - kill - "citb-button-32" - ) - ((the binteger 1382) - kill - "citb-generator-1" - ) - ((the binteger 1382) - kill - "citb-generator-2" - ) - ((the binteger 1382) - kill - "citb-generator-3" - ) - ((the binteger 1382) - kill - "citb-generator-4" - ) - ((the binteger 1382) - kill - "citb-iris-door-15" - ) - ((the binteger 1382) - kill - "citb-iris-door-16" - ) - ((the binteger 1382) - kill - "crate-2996" - ) - ((the binteger 1382) - kill - "crate-2997" - ) - ((the binteger 1382) - kill - "crate-2998" - ) - ((the binteger 1382) - kill - "crate-3000" - ) - ((the binteger 1382) - kill - "citb-plat-eco-1" - ) - ((the binteger 1382) - kill - "citb-plat-eco-2" - ) - ((the binteger 1382) - kill - "citb-plat-eco-3" - ) - ((the binteger 1382) - kill - "citb-stair-plat-1" - ) - ((the binteger 1382) - kill - "citb-stair-plat-2" - ) - ((the binteger 1382) - kill - "citb-stair-plat-3" - ) - ((the binteger 1382) - kill - "citb-stair-plat-4" - ) - ((the binteger 1382) - kill - "citb-stair-plat-5" - ) - ((the binteger 1382) - kill - "citb-stair-plat-6" - ) - ((the binteger 1382) - kill - "red-sagecage-1" - ) - ((the binteger 1382) - kill - "blue-sagecage-1" - ) - ((the binteger 1382) - kill - "yellow-sagecage-1" - ) - ((the binteger 1382) - kill - "babak-391" - ) - ((the binteger 1382) - kill - "citb-disc-c-10" - ) - ((the binteger 1382) - kill - "citb-iris-door-32" - ) - ((the binteger 1382) - kill - "citb-disc-b-18" - ) - ((the binteger 1382) - kill - "citb-disc-b-19" - ) - ((the binteger 1382) - kill - "citb-disc-b-20" - ) - ((the binteger 1382) - kill - "citb-iris-door-14" - ) - ((the binteger 1382) - kill - "orb-cache-top-32" - ) - ((the binteger 1382) - kill - "citb-disc-b-17" - ) - ((the binteger 1382) - kill - "citb-iris-door-13" - ) - ((the binteger 1382) - kill - "citb-button-39" - ) - ((the binteger 1382) - kill - "citb-button-40" - ) - ((the binteger 1382) - kill - "babak-392" - ) - ((the binteger 1382) - kill - "babak-393" - ) - ((the binteger 1382) - kill - "citb-button-33" - ) - ((the binteger 1382) - kill - "citb-button-34" - ) - ((the binteger 1382) - kill - "citb-drop-plat-365" - ) - ((the binteger 1382) - kill - "citb-drop-plat-366" - ) - ((the binteger 1382) - kill - "citb-drop-plat-367" - ) - ((the binteger 1382) - kill - "citb-iris-door-21" - ) - ((the binteger 1382) - kill - "assistant-lavatube-end-3" - ) - ((the binteger 1382) - kill - "babak-394" - ) - ((the binteger 1382) - kill - "babak-396" - ) - ((the binteger 1382) - kill - "citb-drop-plat-376" - ) - ((the binteger 1605) - joint - "cameraB" - ) - ((the binteger 1733) - kill - "citb-iris-door-2" - ) - ((the binteger 1736) joint "camera") - ) - ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 4) - ) ) - ) ) ;; failed to figure out what this is: @@ -1731,151 +1212,125 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('spawn-robot) - (let ((gp-0 (entity-by-name "robotboss-3"))) - (format 0 "robotboss ent ~A~%" gp-0) - (when gp-0 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self robotboss) (ppointer->handle (when s5-0 - (let - ((t9-3 - (method-of-type - manipy - activate - ) - ) - ) - (t9-3 - (the-as manipy s5-0) - self - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-0 - manipy-init - (-> - self - root-override - trans - ) - gp-0 - *robotboss-sg* - #f - ) - (-> s5-0 ppointer) - ) - ) - ) - ) - (send-event - (handle->process (-> self robotboss)) - 'anim-mode - 'clone-anim - ) - (send-event (handle->process (-> self robotboss)) 'center-joint 3) - (send-event (handle->process (-> self robotboss)) 'origin-joint-index 3) - (let ((s5-1 (handle->process (-> self robotboss)))) - (when s5-1 - (format 0 "robotboss activated ent ~A~%" gp-0) - (let ((f0-0 327680.0)) - (set! (-> (the-as robotboss s5-1) draw bounds w) f0-0) - f0-0 + (case arg2 + (('spawn-robot) + (let ((gp-0 (entity-by-name "robotboss-3"))) + (format 0 "robotboss ent ~A~%" gp-0) + (when gp-0 + (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> self robotboss) + (ppointer->handle + (when s5-0 + (let ((t9-3 (method-of-type manipy activate))) + (t9-3 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 manipy-init (-> self root-override trans) gp-0 *robotboss-sg* #f) + (-> s5-0 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> self robotboss)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> self robotboss)) 'center-joint 3) + (send-event (handle->process (-> self robotboss)) 'origin-joint-index 3) + (let ((s5-1 (handle->process (-> self robotboss)))) + (when s5-1 + (format 0 "robotboss activated ent ~A~%" gp-0) + (let ((f0-0 327680.0)) + (set! (-> (the-as robotboss s5-1) draw bounds w) f0-0) + f0-0 + ) + ) + ) ) - ) ) - ) ) + (else + ((-> (method-of-type citb-sage play-anim) event) arg0 arg1 arg2 arg3) + ) ) - (else - ((-> (method-of-type citb-sage play-anim) event) arg0 arg1 arg2 arg3) - ) ) - ) :exit (behavior () - (let ((a0-1 (handle->process (-> self evilbro)))) - (if a0-1 - (deactivate a0-1) - ) - ) - (let ((a0-5 (handle->process (-> self evilsis)))) - (if a0-5 - (deactivate a0-5) - ) - ) - (let ((a0-9 (handle->process (-> self robotboss)))) - (if a0-9 - (deactivate a0-9) - ) - ) - (let ((a0-13 (handle->process (-> self exitplat)))) - (if a0-13 - (deactivate a0-13) - ) - ) - (when (= (current-status (-> self tasks)) (task-status invalid)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 0) - (set! (-> a1-4 message) 'shield-off) - (let ((t9-5 send-event-function) - (v1-28 (-> self alt-actor)) - ) - (t9-5 (if v1-28 - (-> v1-28 extra process) - ) - a1-4 + (let ((a0-1 (handle->process (-> self evilbro)))) + (if a0-1 + (deactivate a0-1) + ) + ) + (let ((a0-5 (handle->process (-> self evilsis)))) + (if a0-5 + (deactivate a0-5) + ) + ) + (let ((a0-9 (handle->process (-> self robotboss)))) + (if a0-9 + (deactivate a0-9) + ) + ) + (let ((a0-13 (handle->process (-> self exitplat)))) + (if a0-13 + (deactivate a0-13) + ) + ) + (when (= (current-status (-> self tasks)) (task-status invalid)) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) self) + (set! (-> a1-4 num-params) 0) + (set! (-> a1-4 message) 'shield-off) + (let ((t9-5 send-event-function) + (v1-28 (-> self alt-actor)) + ) + (t9-5 + (if v1-28 + (-> v1-28 extra process) + ) + a1-4 + ) + ) + ) + ) + (cond + ((= (-> self which-movie) 1) + (set-blackout-frames #x7530) + ) + ((= (-> self which-movie) 2) + (start 'play (get-continue-by-name *game-info* "citadel-elevator")) ) ) - ) + (set! (-> self draw bounds w) 10240.0) + ((-> (method-of-type process-taskable play-anim) exit)) + (none) ) - (cond - ((= (-> self which-movie) 1) - (set-blackout-frames #x7530) - ) - ((= (-> self which-movie) 2) - (start 'play (get-continue-by-name *game-info* "citadel-elevator")) - ) - ) - (set! (-> self draw bounds w) 10240.0) - ((-> (method-of-type process-taskable play-anim) exit)) - (none) - ) :trans (behavior () - (case (-> self which-movie) - ((1) - (spool-push *art-control* "green-sagecage-outro-preboss" 0 self -1.0) - (if (< 1200.0 (ja-aframe-num 0)) - (citb-sage-draw-beam) - ) - (when (< 1310.0 (ja-aframe-num 0)) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'shield-off) - (let ((t9-4 send-event-function) - (v1-8 (-> self alt-actor)) - ) - (t9-4 (if v1-8 - (-> v1-8 extra process) - ) - a1-1 - ) + (case (-> self which-movie) + ((1) + (spool-push *art-control* "green-sagecage-outro-preboss" 0 self -1.0) + (if (< 1200.0 (ja-aframe-num 0)) + (citb-sage-draw-beam) + ) + (when (< 1310.0 (ja-aframe-num 0)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'shield-off) + (let ((t9-4 send-event-function) + (v1-8 (-> self alt-actor)) + ) + (t9-4 + (if v1-8 + (-> v1-8 extra process) + ) + a1-1 + ) + ) + ) ) - ) ) ) + ((-> (method-of-type process-taskable play-anim) trans)) + (none) ) - ((-> (method-of-type process-taskable play-anim) trans)) - (none) - ) ) ;; definition for method 39 of type green-sagecage @@ -1888,30 +1343,24 @@ :virtual #t :trans (behavior () - (cond - ((and - *target* - (and - (< (-> (target-pos 0) z) -18821530.0) - (= (current-status (-> self tasks)) (task-status need-hint)) + (cond + ((and + *target* + (and (< (-> (target-pos 0) z) -18821530.0) (= (current-status (-> self tasks)) (task-status need-hint))) + ) + (send-event self 'play-anim) + ) + ((= (-> self which-movie) 1) + (send-event self 'play-anim) ) ) - (send-event self 'play-anim) - ) - ((= (-> self which-movie) 1) - (send-event self 'play-anim) - ) + ((-> (method-of-type citb-sage idle) trans)) + (none) ) - ((-> (method-of-type citb-sage idle) trans)) - (none) - ) ) ;; definition for method 11 of type green-sagecage -(defmethod - init-from-entity! - green-sagecage - ((obj green-sagecage) (arg0 entity-actor)) +(defmethod init-from-entity! green-sagecage ((obj green-sagecage) (arg0 entity-actor)) (dummy-40 obj arg0 *green-sagecage-sg* 3 40 (new 'static 'vector :w 4096.0) 5) (set! (-> obj tasks) (get-task-control (-> obj entity extra perm task))) (play-reminder obj) @@ -1920,14 +1369,14 @@ (set! (-> obj robotboss) (the-as handle #f)) (set! (-> obj exitplat) (the-as handle #f)) (cond - ((= (current-status (-> obj tasks)) (task-status invalid)) - (set! (-> obj which-movie) 2) + ((= (current-status (-> obj tasks)) (task-status invalid)) + (set! (-> obj which-movie) 2) + ) + (else + (set! (-> obj which-movie) 0) + 0 + ) ) - (else - (set! (-> obj which-movie) 0) - 0 - ) - ) (set! (-> obj sound-flava) (the-as uint 5)) (dummy-42 obj) (none) diff --git a/test/decompiler/reference/levels/citadel/citb-bunny_REF.gc b/test/decompiler/reference/levels/citadel/citb-bunny_REF.gc index 465d58b249..5cf3c65a91 100644 --- a/test/decompiler/reference/levels/citadel/citb-bunny_REF.gc +++ b/test/decompiler/reference/levels/citadel/citb-bunny_REF.gc @@ -16,8 +16,8 @@ ;; definition for method 3 of type citb-bunny (defmethod inspect citb-bunny ((obj citb-bunny)) (let ((t9-0 (method-of-type snow-bunny inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -31,59 +31,57 @@ ) ;; definition for symbol *citb-bunny-nav-enemy-info*, type nav-enemy-info -(define - *citb-bunny-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 3 - :walk-anim 3 - :turn-anim 3 - :notice-anim 7 - :run-anim 3 - :jump-anim 5 - :jump-land-anim 8 - :victory-anim 7 - :taunt-anim 7 - :die-anim 9 - :neck-joint 5 - :player-look-at-joint 5 - :run-travel-speed (meters 6.0) - :run-rotate-speed (degrees 2880.0) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.1) - :walk-travel-speed (meters 4.0) - :walk-rotate-speed (degrees 720.0) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.5) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 1.2) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 130.0) - :stop-chase-distance (meters 150.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 31.0 - :jump-anim-start-frame 11.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.6 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 0.25) - :shadow-min-y (meters -3.5) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #t - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *citb-bunny-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 3 + :walk-anim 3 + :turn-anim 3 + :notice-anim 7 + :run-anim 3 + :jump-anim 5 + :jump-land-anim 8 + :victory-anim 7 + :taunt-anim 7 + :die-anim 9 + :neck-joint 5 + :player-look-at-joint 5 + :run-travel-speed (meters 6.0) + :run-rotate-speed (degrees 2880.0) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.1) + :walk-travel-speed (meters 4.0) + :walk-rotate-speed (degrees 720.0) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.5) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 1.2) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 130.0) + :stop-chase-distance (meters 150.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 31.0 + :jump-anim-start-frame 11.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.6 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 0.25) + :shadow-min-y (meters -3.5) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #t + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 60 of type citb-bunny ;; INFO: Return type mismatch int vs symbol. @@ -98,24 +96,18 @@ (defmethod TODO-RENAME-48 citb-bunny ((obj citb-bunny) (arg0 object)) (dummy-60 obj arg0) (TODO-RENAME-45 obj *citb-bunny-nav-enemy-info*) - (set! - (-> obj draw shadow-ctrl settings flags) - (logand -9 (-> obj draw shadow-ctrl settings flags)) - ) + (set! (-> obj draw shadow-ctrl settings flags) (logand -9 (-> obj draw shadow-ctrl settings flags))) (cond - ((zero? (res-lump-value (-> obj entity) 'mode uint128)) - (set! (-> obj defense) (the-as uint 1)) - (set! (-> obj retreat-timeout) 5.0) + ((zero? (res-lump-value (-> obj entity) 'mode uint128)) + (set! (-> obj defense) (the-as uint 1)) + (set! (-> obj retreat-timeout) 5.0) + ) + (else + (set! (-> obj defense) (the-as uint 0)) + (set! (-> obj retreat-timeout) 0.1) + ) ) - (else - (set! (-> obj defense) (the-as uint 0)) - (set! (-> obj retreat-timeout) 0.1) - ) - ) - (set! - (-> obj last-nondangerous-time) - (the-as uint (-> *display* base-frame-counter)) - ) + (set! (-> obj last-nondangerous-time) (the-as uint (-> *display* base-frame-counter))) (set! (-> obj gnd-popup) 16384.0) (set! (-> obj got-jump-event?) #f) (set! (-> obj notice-land-anim) 8) @@ -133,31 +125,31 @@ ;; definition for method 56 of type citb-bunny (defmethod set-jump-height-factor! citb-bunny ((obj citb-bunny) (arg0 int)) (let ((v1-0 arg0)) - (cond - ((zero? v1-0) - (set! (-> obj jump-anim) 6) - (set! (-> obj jump-height-min) 4096.0) - (let ((f0-1 0.6)) - (set! (-> obj jump-height-factor) f0-1) - f0-1 + (cond + ((zero? v1-0) + (set! (-> obj jump-anim) 6) + (set! (-> obj jump-height-min) 4096.0) + (let ((f0-1 0.6)) + (set! (-> obj jump-height-factor) f0-1) + f0-1 + ) + ) + ((= v1-0 1) + (set! (-> obj jump-anim) 5) + (set! (-> obj jump-height-min) 4096.0) + (let ((f0-3 0.6)) + (set! (-> obj jump-height-factor) f0-3) + f0-3 + ) + ) + ((= v1-0 2) + (set! (-> obj jump-anim) 5) + (set! (-> obj jump-height-min) 4096.0) + (let ((f0-5 0.4)) + (set! (-> obj jump-height-factor) f0-5) + f0-5 + ) + ) ) - ) - ((= v1-0 1) - (set! (-> obj jump-anim) 5) - (set! (-> obj jump-height-min) 4096.0) - (let ((f0-3 0.6)) - (set! (-> obj jump-height-factor) f0-3) - f0-3 - ) - ) - ((= v1-0 2) - (set! (-> obj jump-anim) 5) - (set! (-> obj jump-height-min) 4096.0) - (let ((f0-5 0.4)) - (set! (-> obj jump-height-factor) f0-5) - f0-5 - ) - ) ) - ) ) diff --git a/test/decompiler/reference/levels/citadel/citb-drop-plat-CIT_REF.gc b/test/decompiler/reference/levels/citadel/citb-drop-plat-CIT_REF.gc index 66cb6ad088..7ffb987745 100644 --- a/test/decompiler/reference/levels/citadel/citb-drop-plat-CIT_REF.gc +++ b/test/decompiler/reference/levels/citadel/citb-drop-plat-CIT_REF.gc @@ -70,8 +70,8 @@ ;; definition for method 3 of type drop-plat (defmethod inspect drop-plat ((obj drop-plat)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tspin-axis: #~%" (-> obj spin-axis)) (format #t "~T~Tspin-angle: ~f~%" (-> obj spin-angle)) (format #t "~T~Tspin-speed: ~f~%" (-> obj spin-speed)) @@ -86,40 +86,32 @@ (defstate drop-plat-idle (drop-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('drop) - (logclear! (-> self mask) (process-mask actor-pause)) - (go drop-plat-drop) + (case arg2 + (('drop) + (logclear! (-> self mask) (process-mask actor-pause)) + (go drop-plat-drop) + ) + (('touch 'attack) + (send-event *target* 'no-look-around 300) + (send-event (ppointer->process (-> self parent)) 'player-stepped (-> self color)) + #f + ) ) - (('touch 'attack) - (send-event *target* 'no-look-around 300) - (send-event - (ppointer->process (-> self parent)) - 'player-stepped - (-> self color) - ) - #f - ) ) - ) :code (behavior () - (suspend) - (dummy-47 (-> self root-override)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (logior! (-> self mask) (process-mask actor-pause)) - (while #t - (if - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self duration) - ) - (go drop-plat-drop) - ) (suspend) + (dummy-47 (-> self root-override)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (logior! (-> self mask) (process-mask actor-pause)) + (while #t + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self duration)) + (go drop-plat-drop) + ) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior drop-plat) ja-post) ) @@ -127,25 +119,16 @@ ;; definition for function drop-plat-set-fade ;; INFO: Return type mismatch int vs none. (defbehavior drop-plat-set-fade drop-plat () - (let - ((f0-1 - (fmin - 1.0 - (* - 0.000012207031 - (- - (-> self root-override trans y) - (+ - -204800.0 - (-> (the-as process-drawable (-> self parent 0)) root trans y) - ) + (let ((f0-1 + (fmin 1.0 (* 0.000012207031 (- (-> self root-override trans y) + (+ -204800.0 (-> (the-as process-drawable (-> self parent 0)) root trans y)) + ) + ) + ) + ) ) - ) - ) - ) + (set-vector! (-> self draw color-mult) f0-1 f0-1 f0-1 1.0) ) - (set-vector! (-> self draw color-mult) f0-1 f0-1 f0-1 1.0) - ) 0 (none) ) @@ -153,262 +136,163 @@ ;; failed to figure out what this is: (defstate drop-plat-spawn (drop-plat) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('drop) - (go drop-plat-die) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('drop) + (go drop-plat-die) + ) + ) + ) :code (behavior () - (set! - (-> self root-override trans y) - (+ -204800.0 (-> (the-as process-drawable (-> self parent 0)) root trans y)) - ) - (logior! (-> self draw status) 2) - (ja-post) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t - (when - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self delay) + (set! (-> self root-override trans y) + (+ -204800.0 (-> (the-as process-drawable (-> self parent 0)) root trans y)) + ) + (logior! (-> self draw status) 2) + (ja-post) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while #t + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self delay)) + (let ((v1-14 (logand -3 (-> self draw status))) + (a0-5 (-> self draw)) + ) + (set! (-> a0-5 status) v1-14) + (go drop-plat-rise a0-5) + ) + ) + (suspend) ) - (let ((v1-14 (logand -3 (-> self draw status))) - (a0-5 (-> self draw)) - ) - (set! (-> a0-5 status) v1-14) - (go drop-plat-rise a0-5) - ) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate drop-plat-rise (drop-plat) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('drop) - (go drop-plat-drop) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('drop) + (go drop-plat-drop) + ) + ) + ) :code (behavior ((arg0 draw-control)) - (set! (-> self interp) 1.0) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self spin-angle) 0.0) - (set! - (-> self root-override trans y) - (+ -204800.0 (-> (the-as process-drawable (-> self parent 0)) root trans y)) - ) - (let ((gp-0 (new 'stack-no-clear 'vector)) - (s5-0 #f) - ) - (set! (-> gp-0 quad) (-> self root-override trans quad)) - (set! - (-> gp-0 y) - (-> (the-as process-drawable (-> self parent 0)) root trans y) - ) - (while #t - (let - ((f0-6 - (fmax - 0.0 - (- - 1.0 - (* - 0.0033333334 - (the - float - (- (-> *display* base-frame-counter) (-> self state-time)) - ) - ) + (set! (-> self interp) 1.0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self spin-angle) 0.0) + (set! (-> self root-override trans y) + (+ -204800.0 (-> (the-as process-drawable (-> self parent 0)) root trans y)) ) - ) + (let ((gp-0 (new 'stack-no-clear 'vector)) + (s5-0 #f) + ) + (set! (-> gp-0 quad) (-> self root-override trans quad)) + (set! (-> gp-0 y) (-> (the-as process-drawable (-> self parent 0)) root trans y)) + (while #t + (let ((f0-6 + (fmax 0.0 (- 1.0 (* 0.0033333334 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) + ) + ) + (set! (-> self interp) (* f0-6 f0-6)) + ) + (set! (-> self root-override trans y) + (- (-> (the-as process-drawable (-> self parent 0)) root trans y) (* 204800.0 (-> self interp))) + ) + (when (and (not s5-0) (< (-> self interp) 0.05)) + (set! s5-0 #t) + (sound-play-by-name (static-sound-name "bridge-piece-up") (new-sound-id) 1024 0 0 1 (the-as symbol gp-0)) + ) + (set! (-> self spin-angle) (* 10.0 (-> self spin-speed) (-> self interp))) + (if (= (-> (the-as process-drawable (-> self parent 0)) root trans y) (-> self root-override trans y)) + (go drop-plat-idle) + ) + (suspend) ) - ) - (set! (-> self interp) (* f0-6 f0-6)) ) - (set! - (-> self root-override trans y) - (- - (-> (the-as process-drawable (-> self parent 0)) root trans y) - (* 204800.0 (-> self interp)) - ) - ) - (when (and (not s5-0) (< (-> self interp) 0.05)) - (set! s5-0 #t) - (sound-play-by-name - (static-sound-name "bridge-piece-up") - (new-sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol gp-0) - ) - ) - (set! (-> self spin-angle) (* 10.0 (-> self spin-speed) (-> self interp))) - (if - (= - (-> (the-as process-drawable (-> self parent 0)) root trans y) - (-> self root-override trans y) - ) - (go drop-plat-idle) - ) - (suspend) - ) + (none) ) - (none) - ) :post (behavior () - (let ((gp-0 (new 'stack-no-clear 'quaternion))) - (quaternion-vector-angle! gp-0 (-> self spin-axis) (-> self spin-angle)) - (quaternion*! - (-> self root-override quat) - (-> (the-as process-drawable (-> self parent 0)) root quat) - gp-0 - ) + (let ((gp-0 (new 'stack-no-clear 'quaternion))) + (quaternion-vector-angle! gp-0 (-> self spin-axis) (-> self spin-angle)) + (quaternion*! (-> self root-override quat) (-> (the-as process-drawable (-> self parent 0)) root quat) gp-0) + ) + (drop-plat-set-fade) + (transform-post) + (none) ) - (drop-plat-set-fade) - (transform-post) - (none) - ) ) ;; failed to figure out what this is: (defstate drop-plat-drop (drop-plat) :code (behavior () - (when - (= - (-> (the-as process-drawable (-> self parent 0)) root trans y) - (-> self root-override trans y) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (sound-play-by-name - (static-sound-name "bridge-piece-dn") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((gp-1 (the int (* 300.0 (rand-vu-float-range 0.2 0.3))))) - (while (< (- (-> *display* base-frame-counter) (-> self state-time)) gp-1) - (set! - (-> self interp) - (/ - (the float (- (-> *display* base-frame-counter) (-> self state-time))) - (the float gp-1) + (when (= (-> (the-as process-drawable (-> self parent 0)) root trans y) (-> self root-override trans y)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (sound-play-by-name (static-sound-name "bridge-piece-dn") (new-sound-id) 1024 0 0 1 #t) + (let ((gp-1 (the int (* 300.0 (rand-vu-float-range 0.2 0.3))))) + (while (< (- (-> *display* base-frame-counter) (-> self state-time)) gp-1) + (set! (-> self interp) + (/ (the float (- (-> *display* base-frame-counter) (-> self state-time))) (the float gp-1)) + ) + (set! (-> self spin-angle) (* 910.2222 (sin (* 196608.0 (-> self interp))))) + (suspend) + ) ) - ) - (set! - (-> self spin-angle) - (* 910.2222 (sin (* 196608.0 (-> self interp)))) - ) + ) + (while #t + (vector-v++! (-> self root-override transv) (dummy-62 (-> self root-override) (new-stack-vector0) 0.0)) + (vector-v++! (-> self root-override trans) (-> self root-override transv)) + (if (< 204800.0 + (- (-> (the-as process-drawable (-> self parent 0)) root trans y) (-> self root-override trans y)) + ) + (go drop-plat-die) + ) + (+! (-> self spin-angle) (* (-> self spin-speed) (-> *display* seconds-per-frame))) (suspend) ) - ) + (none) ) - (while #t - (vector-v++! - (-> self root-override transv) - (dummy-62 (-> self root-override) (new-stack-vector0) 0.0) - ) - (vector-v++! (-> self root-override trans) (-> self root-override transv)) - (if - (< - 204800.0 - (- - (-> (the-as process-drawable (-> self parent 0)) root trans y) - (-> self root-override trans y) - ) - ) - (go drop-plat-die) - ) - (+! - (-> self spin-angle) - (* (-> self spin-speed) (-> *display* seconds-per-frame)) - ) - (suspend) - ) - (none) - ) :post (behavior () - (let ((gp-0 (new 'stack-no-clear 'quaternion))) - (quaternion-vector-angle! gp-0 (-> self spin-axis) (-> self spin-angle)) - (quaternion*! - (-> self root-override quat) - (-> (the-as process-drawable (-> self parent 0)) root quat) - gp-0 - ) + (let ((gp-0 (new 'stack-no-clear 'quaternion))) + (quaternion-vector-angle! gp-0 (-> self spin-axis) (-> self spin-angle)) + (quaternion*! (-> self root-override quat) (-> (the-as process-drawable (-> self parent 0)) root quat) gp-0) + ) + (drop-plat-set-fade) + (transform-post) + (none) ) - (drop-plat-set-fade) - (transform-post) - (none) - ) ) ;; failed to figure out what this is: (defstate drop-plat-die (drop-plat) :code - (behavior () - (dummy-18 self) - (none) - ) + (behavior () (dummy-18 self) (none)) ) ;; definition for method 20 of type drop-plat ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-20 drop-plat ((obj drop-plat)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 12288.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 12288.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -416,39 +300,39 @@ ;; definition for method 21 of type drop-plat ;; INFO: Return type mismatch int vs none. (defmethod dummy-21 drop-plat ((obj drop-plat)) - (case (-> obj color) - ((1) + (case (-> obj color) + ((1) (initialize-skeleton obj *citb-drop-plat-red-sg* '()) ) - ((2) - (initialize-skeleton obj *citb-drop-plat-green-sg* '()) + ((2) + (initialize-skeleton obj *citb-drop-plat-green-sg* '()) + ) + ((3) + (initialize-skeleton obj *citb-drop-plat-blue-sg* '()) + ) + ((4) + (initialize-skeleton obj *citb-drop-plat-yellow-sg* '()) + ) + (else + (initialize-skeleton obj *citb-drop-plat-sg* '()) + ) ) - ((3) - (initialize-skeleton obj *citb-drop-plat-blue-sg* '()) - ) - ((4) - (initialize-skeleton obj *citb-drop-plat-yellow-sg* '()) - ) - (else - (initialize-skeleton obj *citb-drop-plat-sg* '()) - ) - ) (logclear! (-> obj mask) (process-mask actor-pause)) (let ((s3-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s3-0 x) (* 65536.0 (rand-vu))) - (let ((f30-1 14563.556) - (f0-2 (rand-vu-float-range -1.0 1.0)) - ) - (set! (-> s3-0 y) (* f30-1 (* f0-2 f0-2))) + (set! (-> s3-0 x) (* 65536.0 (rand-vu))) + (let ((f30-1 14563.556) + (f0-2 (rand-vu-float-range -1.0 1.0)) + ) + (set! (-> s3-0 y) (* f30-1 (* f0-2 f0-2))) + ) + (vector-sincos! s5-0 s4-0 s3-0) + (set! (-> obj spin-axis x) (* (-> s4-0 y) (-> s4-0 x))) + (set! (-> obj spin-axis y) (-> s5-0 y)) + (set! (-> obj spin-axis z) (* (-> s4-0 y) (-> s5-0 x))) ) - (vector-sincos! s5-0 s4-0 s3-0) - (set! (-> obj spin-axis x) (* (-> s4-0 y) (-> s4-0 x))) - (set! (-> obj spin-axis y) (-> s5-0 y)) - (set! (-> obj spin-axis z) (* (-> s4-0 y) (-> s5-0 x))) - ) (set! (-> obj spin-axis w) 1.0) (set! (-> obj spin-angle) 0.0) (set! (-> obj spin-speed) (* 8192.0 (+ 1.0 (rand-vu)))) @@ -459,19 +343,14 @@ ;; definition for function drop-plat-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - drop-plat-init-by-other drop-plat - ((arg0 vector) (arg1 int) (arg2 int) (arg3 int)) +(defbehavior drop-plat-init-by-other drop-plat ((arg0 vector) (arg1 int) (arg2 int) (arg3 int)) (set! (-> self color) arg3) (set! (-> self delay) arg1) (set! (-> self duration) arg2) (TODO-RENAME-20 self) (set! (-> self root-override trans quad) (-> arg0 quad)) (vector-identity! (-> self root-override scale)) - (quaternion-copy! - (-> self root-override quat) - (-> (the-as process-drawable (-> self parent 0)) root quat) - ) + (quaternion-copy! (-> self root-override quat) (-> (the-as process-drawable (-> self parent 0)) root quat)) (dummy-21 self) (go drop-plat-spawn) (none) @@ -523,8 +402,8 @@ ;; definition for method 3 of type citb-drop-plat (defmethod inspect citb-drop-plat ((obj citb-drop-plat)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tx-count: ~D~%" (-> obj x-count)) (format #t "~T~Tz-count: ~D~%" (-> obj z-count)) (format #t "~T~Tchild-count: ~D~%" (-> obj child-count)) @@ -545,8 +424,8 @@ ;; INFO: Return type mismatch process-drawable vs citb-drop-plat. (defmethod relocate citb-drop-plat ((obj citb-drop-plat) (arg0 int)) (if (nonzero? (-> obj child-array)) - (&+! (-> obj child-array) arg0) - ) + (&+! (-> obj child-array) arg0) + ) (the-as citb-drop-plat ((method-of-type process-drawable relocate) obj arg0)) ) @@ -556,123 +435,65 @@ (defbehavior citb-drop-plat-spawn-children citb-drop-plat () (local-vars (s0-0 int) (sv-48 process) (sv-64 int)) (let ((gp-0 (new 'stack-no-clear 'vector))) - 6 - 0 - (let ((s5-0 0) - (s4-0 1) - ) - (when - (< - 0.0 - (vector-dot - (vector-! - (new 'stack-no-clear 'vector) - (target-pos 0) - (-> self root trans) + 6 + 0 + (let ((s5-0 0) + (s4-0 1) + ) + (when (< 0.0 + (vector-dot (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans)) (-> self z-dir)) + ) + (set! s5-0 (+ (-> self z-count) -1)) + (set! s4-0 -1) + ) + (dotimes (s3-2 (-> self z-count)) + (dotimes (s2-0 (-> self x-count)) + (let ((s1-0 (+ s2-0 (* s5-0 (-> self x-count))))) + (set! (-> gp-0 quad) (-> self origin quad)) + (vector+*! gp-0 gp-0 (-> self x-dir) (* (-> self x-spacing) (the float s2-0))) + (vector+*! gp-0 gp-0 (-> self z-dir) (* (-> self z-spacing) (the float s5-0))) + (if (-> self child-color-array) + (set! s0-0 (-> self child-color-array s1-0)) + (set! s0-0 (rand-vu-int-range 0 5)) + ) + (when (nonzero? s0-0) + (set! sv-64 (the int (* 150.0 (rand-vu)))) + (set! sv-48 (get-process *default-dead-pool* drop-plat #x4000)) + (set! (-> self child-array data s1-0) + (ppointer->handle (when sv-48 + (let ((t9-6 (method-of-type drop-plat activate))) + (t9-6 (the-as drop-plat sv-48) self 'drop-plat (the-as pointer #x70004000)) + ) + (let ((t9-7 run-function-in-process) + (a0-8 sv-48) + (a1-5 drop-plat-init-by-other) + (a2-4 gp-0) + (t0-0 (-> self duration)) + ) + ((the-as (function process function vector uint uint int) t9-7) + a0-8 + a1-5 + a2-4 + (the-as uint sv-64) + (the-as uint t0-0) + ) + ) + (-> sv-48 ppointer) + ) + ) + ) + ) + ) + ) + (let ((s2-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) s2-1) 36) + (suspend) + ) + ) + (+! s5-0 s4-0) ) - (-> self z-dir) - ) ) - (set! s5-0 (+ (-> self z-count) -1)) - (set! s4-0 -1) - ) - (dotimes (s3-2 (-> self z-count)) - (dotimes (s2-0 (-> self x-count)) - (let ((s1-0 (+ s2-0 (* s5-0 (-> self x-count))))) - (set! (-> gp-0 quad) (-> self origin quad)) - (vector+*! - gp-0 - gp-0 - (-> self x-dir) - (* (-> self x-spacing) (the float s2-0)) - ) - (vector+*! - gp-0 - gp-0 - (-> self z-dir) - (* (-> self z-spacing) (the float s5-0)) - ) - (if (-> self child-color-array) - (set! s0-0 (-> self child-color-array s1-0)) - (set! s0-0 (rand-vu-int-range 0 5)) - ) - (when (nonzero? s0-0) - (set! sv-64 (the int (* 150.0 (rand-vu)))) - (set! sv-48 (get-process *default-dead-pool* drop-plat #x4000)) - (set! (-> self child-array data s1-0) (ppointer->handle (when sv-48 - (let - ((t9-6 - (method-of-type - drop-plat - activate - ) - ) - ) - (t9-6 - (the-as - drop-plat - sv-48 - ) - self - 'drop-plat - (the-as - pointer - #x70004000 - ) - ) - ) - (let - ((t9-7 - run-function-in-process - ) - (a0-8 sv-48) - (a1-5 - drop-plat-init-by-other - ) - (a2-4 gp-0) - (t0-0 - (-> - self - duration - ) - ) - ) - ((the-as - (function process function vector uint uint int) - t9-7 - ) - a0-8 - a1-5 - a2-4 - (the-as - uint - sv-64 - ) - (the-as - uint - t0-0 - ) - ) - ) - (-> - sv-48 - ppointer - ) - ) - ) - ) - ) - ) - ) - (let ((s2-1 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) s2-1) 36) - (suspend) - ) - ) - (+! s5-0 s4-0) - ) ) - ) (set! (-> self drop-time) (-> *display* base-frame-counter)) 0 (none) @@ -681,9 +502,9 @@ ;; definition for function citb-drop-plat-drop-all-children (defbehavior citb-drop-plat-drop-all-children citb-drop-plat () (dotimes (gp-0 (-> self child-count)) - (send-event (handle->process (-> self child-array data gp-0)) 'drop) - (set! (-> self child-array data gp-0) (the-as handle #f)) - ) + (send-event (handle->process (-> self child-array data gp-0)) 'drop) + (set! (-> self child-array data gp-0) (the-as handle #f)) + ) #f ) @@ -691,24 +512,19 @@ ;; INFO: Return type mismatch int vs none. (defbehavior citb-drop-plat-drop-children citb-drop-plat ((arg0 int)) (cond - ((= arg0 6) - ) - (else - (dotimes (s5-0 (-> self child-count)) - (let ((a0-3 (handle->process (-> self child-array data s5-0)))) - (when - (and - a0-3 - (!= (-> (the-as drop-plat a0-3) color) 6) - (= arg0 (-> (the-as drop-plat a0-3) color)) - ) - (send-event a0-3 'drop) - (set! (-> self child-array data s5-0) (the-as handle #f)) - ) - ) + ((= arg0 6) ) + (else + (dotimes (s5-0 (-> self child-count)) + (let ((a0-3 (handle->process (-> self child-array data s5-0)))) + (when (and a0-3 (!= (-> (the-as drop-plat a0-3) color) 6) (= arg0 (-> (the-as drop-plat a0-3) color))) + (send-event a0-3 'drop) + (set! (-> self child-array data s5-0) (the-as handle #f)) + ) + ) + ) + ) ) - ) 0 (none) ) @@ -716,133 +532,98 @@ ;; failed to figure out what this is: (defstate citb-drop-plat-idle (citb-drop-plat) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (go citb-drop-plat-active) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('trigger) + (go citb-drop-plat-active) + ) + ) + ) :code (behavior () - (citb-drop-plat-drop-all-children) - (while #t - (suspend) + (citb-drop-plat-drop-all-children) + (while #t + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate citb-drop-plat-active (citb-drop-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'player-stepped) - (when - (>= - (- (-> *display* base-frame-counter) (-> self drop-time)) - 60 + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'player-stepped) + (when (>= (- (-> *display* base-frame-counter) (-> self drop-time)) 60) + (set! (-> self drop-time) (-> *display* base-frame-counter)) + (citb-drop-plat-drop-children (the-as int (-> arg3 param 0))) + ) + ) + ((= v1-0 'trigger) + (go citb-drop-plat-idle) + ) ) - (set! - (-> self drop-time) - (-> *display* base-frame-counter) - ) - (citb-drop-plat-drop-children - (the-as int (-> arg3 param 0)) - ) - ) - ) - ((= v1-0 'trigger) - (go citb-drop-plat-idle) - ) - ) - ) + ) + ) ) - ) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (citb-drop-plat-spawn-children) - (while #t - (if - (or - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (+ (-> self duration) 600) - ) - (or - (not *target*) - (< - (-> self idle-distance) - (vector-vector-distance - (-> self root trans) - (-> *target* control trans) - ) - ) - ) - (not (-> self child)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (citb-drop-plat-spawn-children) + (while #t + (if (or + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (+ (-> self duration) 600)) + (or + (not *target*) + (< (-> self idle-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + ) + (not (-> self child)) + ) + (go citb-drop-plat-idle) + ) + (suspend) ) - (go citb-drop-plat-idle) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition for method 11 of type citb-drop-plat ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - citb-drop-plat - ((obj citb-drop-plat) (arg0 entity-actor)) +(defmethod init-from-entity! citb-drop-plat ((obj citb-drop-plat) (arg0 entity-actor)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (let ((v1-2 (res-lump-data arg0 'count pointer))) - (when v1-2 - (set! (-> obj x-count) (-> (the-as (pointer int32) v1-2) 0)) - (set! (-> obj z-count) (-> (the-as (pointer int32) v1-2) 1)) + (when v1-2 + (set! (-> obj x-count) (-> (the-as (pointer int32) v1-2) 0)) + (set! (-> obj z-count) (-> (the-as (pointer int32) v1-2) 1)) + ) ) - ) (set! (-> obj child-count) (* (-> obj x-count) (-> obj z-count))) - (set! - (-> obj child-color-array) - (res-lump-data arg0 'plat-type (pointer int8)) - ) + (set! (-> obj child-color-array) (res-lump-data arg0 'plat-type (pointer int8))) (when (> (-> obj child-count) 0) - (set! - (-> obj child-array) - (new 'process 'handle-inline-array (-> obj child-count)) + (set! (-> obj child-array) (new 'process 'handle-inline-array (-> obj child-count))) + (dotimes (v1-9 (-> obj child-count)) + (set! (-> obj child-array data v1-9) (the-as handle #f)) + ) ) - (dotimes (v1-9 (-> obj child-count)) - (set! (-> obj child-array data v1-9) (the-as handle #f)) - ) - ) (set! (-> obj x-spacing) 16384.0) (set! (-> obj z-spacing) 16384.0) - (set! - (-> obj idle-distance) - (+ 40960.0 (* 0.5 (the float (-> obj z-count)) (-> obj z-spacing))) - ) - (set! - (-> obj duration) - (the int (* 300.0 (+ 2.0 (the float (-> obj z-count))))) - ) + (set! (-> obj idle-distance) (+ 40960.0 (* 0.5 (the float (-> obj z-count)) (-> obj z-spacing)))) + (set! (-> obj duration) (the int (* 300.0 (+ 2.0 (the float (-> obj z-count)))))) (let ((f0-7 (res-lump-float arg0 'rotoffset))) - (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) f0-7) - ) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) f0-7) + ) (vector-x-quaternion! (-> obj x-dir) (-> obj root quat)) (vector-z-quaternion! (-> obj z-dir) (-> obj root quat)) (set! (-> obj origin quad) (-> obj root trans quad)) (let ((f0-10 (* -0.5 (the float (+ (-> obj x-count) -1)) (-> obj x-spacing))) (f30-0 (* -0.5 (the float (+ (-> obj z-count) -1)) (-> obj z-spacing))) ) - (vector+*! (-> obj origin) (-> obj origin) (-> obj x-dir) f0-10) - (vector+*! (-> obj origin) (-> obj origin) (-> obj z-dir) f30-0) - ) + (vector+*! (-> obj origin) (-> obj origin) (-> obj x-dir) f0-10) + (vector+*! (-> obj origin) (-> obj origin) (-> obj z-dir) f30-0) + ) (go citb-drop-plat-idle) (none) ) diff --git a/test/decompiler/reference/levels/common/babak-with-cannon_REF.gc b/test/decompiler/reference/levels/common/babak-with-cannon_REF.gc index 35f4ec72ec..af46f21022 100644 --- a/test/decompiler/reference/levels/common/babak-with-cannon_REF.gc +++ b/test/decompiler/reference/levels/common/babak-with-cannon_REF.gc @@ -15,8 +15,8 @@ ;; definition for method 3 of type babak-with-cannon (defmethod inspect babak-with-cannon ((obj babak-with-cannon)) (let ((t9-0 (method-of-type babak inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tcannon-ent: ~A~%" (-> obj cannon-ent)) (format #t "~T~Tdistance: ~f~%" (-> obj distance)) obj @@ -30,91 +30,54 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior babak-with-cannon) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior babak-with-cannon) + nav-enemy-default-event-handler + ) :trans (behavior () - (if - (and - (and - *target* - (>= - (-> self enemy-info idle-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) + (if (and + (and *target* (>= (-> self enemy-info idle-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) + ) + (go-virtual nav-enemy-patrol) ) - ) - ) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self state-timeout) - ) - ) - (go-virtual nav-enemy-patrol) + (none) ) - (none) - ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - data - 0 - length + (ja-channel-push! 1 22) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + ) + (set! (-> a0-1 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! + a0-1 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + num-func-seek! ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) + (until (ja-done? 0) + (ja-post) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) ) - num-func-seek! - ) + (anim-loop) + (none) ) - (until (ja-done? 0) - (ja-post) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (anim-loop) - (none) - ) :post (the-as (function none :behavior babak-with-cannon) #f) ) @@ -124,58 +87,40 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior babak-with-cannon) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior babak-with-cannon) + nav-enemy-default-event-handler + ) :trans (behavior () - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (let ((f30-0 (- (-> (target-pos 0) y) (-> self collide-info trans y)))) - (if - (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 900) - (or - (or - (not *target*) - (< - (-> self distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (let ((f30-0 (- (-> (target-pos 0) y) (-> self collide-info trans y)))) + (if (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 900) + (or + (or + (not *target*) + (< (-> self distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) + ) + (< f30-0 -40960.0) + ) + ) + (go babak-run-to-cannon) + ) + ) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) + (if (or (not *target*) (< (-> self enemy-info idle-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (go-virtual nav-enemy-idle) + ) + ) + (if (nav-enemy-notice-player?) + (go-virtual nav-enemy-notice) ) - ) - (< f30-0 -40960.0) - ) - ) - (go babak-run-to-cannon) ) - ) - (when - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self state-timeout) - ) - (if - (or - (not *target*) - (< - (-> self enemy-info idle-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) - ) - ) - (go-virtual nav-enemy-idle) - ) - ) - (if (nav-enemy-notice-player?) - (go-virtual nav-enemy-notice) - ) + (none) ) - (none) - ) :code (-> (method-of-type babak nav-enemy-patrol) code) ) @@ -184,91 +129,62 @@ nav-enemy-default-event-handler (defstate babak-run-to-cannon (babak) :event (the-as - (function process int symbol event-message-block object :behavior babak) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior babak) + nav-enemy-default-event-handler + ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self nav destination-pos quad) (-> self entity extra trans quad)) - (set! (-> self nav target-pos quad) (-> self entity extra trans quad)) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self nav destination-pos quad) (-> self entity extra trans quad)) + (set! (-> self nav target-pos quad) (-> self entity extra trans quad)) + (none) + ) :trans (behavior () - (if (nav-enemy-notice-player?) - (go-virtual nav-enemy-chase) + (if (nav-enemy-notice-player?) + (go-virtual nav-enemy-chase) + ) + (if (logtest? (nav-control-flags bit19) (-> self nav flags)) + (go babak-with-cannon-jump-onto-cannon) + ) + (none) ) - (if (logtest? (nav-control-flags bit19) (-> self nav flags)) - (go babak-with-cannon-jump-onto-cannon) - ) - (none) - ) :code (behavior () - (ja-channel-push! 1 22) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length - ) - -1 + (ja-channel-push! 1 22) + (while #t + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post - (behavior () - (nav-enemy-travel-post) - (none) - ) + (behavior () (nav-enemy-travel-post) (none)) ) ;; definition for function handle->process-safe (defun handle->process-safe ((arg0 handle)) (let ((v0-0 (the-as process #f))) - (if (handle->process arg0) - (set! v0-0 (-> arg0 process 0)) + (if (handle->process arg0) + (set! v0-0 (-> arg0 process 0)) + ) + v0-0 ) - v0-0 - ) ) ;; definition for function babak-with-cannon-compute-cannon-dir @@ -285,8 +201,8 @@ nav-enemy-default-event-handler (let ((a1-4 (new 'static 'vector :y 18149.377 :z -17289.217 :w 1.0)) (a2-0 (-> arg0 node-list data 3 bone transform)) ) - (vector-matrix*! arg1 a1-4 a2-0) - ) + (vector-matrix*! arg1 a1-4 a2-0) + ) arg1 ) @@ -294,26 +210,22 @@ nav-enemy-default-event-handler (defbehavior babak-with-cannon-ride-cannon-post babak-with-cannon () (let* ((v1-0 (-> self cannon-ent)) (s5-0 (if v1-0 - (-> v1-0 extra process) - ) - ) - (gp-0 - (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) process-drawable)) - s5-0 - ) - ) + (-> v1-0 extra process) + ) + ) + (gp-0 (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) process-drawable)) + s5-0 + ) + ) ) - (when gp-0 - (let ((s5-1 (new 'stack-no-clear 'vector))) - (babak-with-cannon-compute-cannon-dir (the-as mistycannon gp-0) s5-1) - (forward-up->quaternion (-> self collide-info quat) s5-1 *y-vector*) - ) - (babak-with-cannon-compute-ride-point - (the-as mistycannon gp-0) - (-> self collide-info trans) - ) + (when gp-0 + (let ((s5-1 (new 'stack-no-clear 'vector))) + (babak-with-cannon-compute-cannon-dir (the-as mistycannon gp-0) s5-1) + (forward-up->quaternion (-> self collide-info quat) s5-1 *y-vector*) + ) + (babak-with-cannon-compute-ride-point (the-as mistycannon gp-0) (-> self collide-info trans)) + ) ) - ) (nav-enemy-simple-post) (none) ) @@ -322,129 +234,86 @@ nav-enemy-default-event-handler (defstate babak-with-cannon-jump-onto-cannon (babak-with-cannon) :event (the-as - (function process int symbol event-message-block object :behavior babak-with-cannon) - nav-enemy-jump-event-handler - ) + (function process int symbol event-message-block object :behavior babak-with-cannon) + nav-enemy-jump-event-handler + ) :exit - (behavior () - (logior! (-> self nav-enemy-flags) 24) - (none) - ) + (behavior () (logior! (-> self nav-enemy-flags) 24) (none)) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self rotate-speed) (-> self nav-info run-rotate-speed)) - (set! (-> self turn-time) (the-as int (-> self nav-info run-turn-time))) - (set! (-> self nav-enemy-flags) (logand -25 (-> self nav-enemy-flags))) - (nav-enemy-neck-control-inactive) - (let* ((v1-7 (-> self cannon-ent)) - (gp-0 (if v1-7 - (-> v1-7 extra process) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self rotate-speed) (-> self nav-info run-rotate-speed)) + (set! (-> self turn-time) (the-as int (-> self nav-info run-turn-time))) + (set! (-> self nav-enemy-flags) (logand -25 (-> self nav-enemy-flags))) + (nav-enemy-neck-control-inactive) + (let* ((v1-7 (-> self cannon-ent)) + (gp-0 (if v1-7 + (-> v1-7 extra process) + ) + ) + (a0-2 (if (and (nonzero? gp-0) (type-type? (-> gp-0 type) process-drawable)) + gp-0 + ) ) ) - (a0-2 - (if - (and (nonzero? gp-0) (type-type? (-> gp-0 type) process-drawable)) - gp-0 - ) - ) + (cond + (a0-2 + (babak-with-cannon-compute-ride-point (the-as mistycannon a0-2) (-> self event-param-point)) + (nav-enemy-initialize-jump (-> self event-param-point)) ) - (cond - (a0-2 - (babak-with-cannon-compute-ride-point - (the-as mistycannon a0-2) - (-> self event-param-point) - ) - (nav-enemy-initialize-jump (-> self event-param-point)) + (else + (go-virtual nav-enemy-idle) + ) + ) ) - (else - (go-virtual nav-enemy-idle) + (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) + (ja-channel-push! 1 60) + (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) ) - ) - ) - (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) - (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) - ) - (logior! (-> self nav-enemy-flags) 16) - (nav-enemy-execute-jump) - (set! (-> self nav-enemy-flags) (logand -25 (-> self nav-enemy-flags))) - (let* ((v1-20 (-> self cannon-ent)) - (gp-1 (if v1-20 - (-> v1-20 extra process) + (logior! (-> self nav-enemy-flags) 16) + (nav-enemy-execute-jump) + (set! (-> self nav-enemy-flags) (logand -25 (-> self nav-enemy-flags))) + (let* ((v1-20 (-> self cannon-ent)) + (gp-1 (if v1-20 + (-> v1-20 extra process) + ) + ) + (a0-9 (if (and (nonzero? gp-1) (type-type? (-> gp-1 type) process-drawable)) + gp-1 + ) ) ) - (a0-9 - (if - (and (nonzero? gp-1) (type-type? (-> gp-1 type) process-drawable)) - gp-1 + (when a0-9 + (let ((gp-2 (babak-with-cannon-compute-cannon-dir (the-as mistycannon a0-9) (new 'stack-no-clear 'vector)))) + (when (not (nav-enemy-facing-direction? gp-2 1820.4445)) + (ja-channel-push! 1 60) + (nav-enemy-turn-to-face-dir gp-2 182.04445) + (forward-up->quaternion (-> self collide-info quat) gp-2 *y-vector*) ) - ) ) - (when a0-9 - (let - ((gp-2 - (babak-with-cannon-compute-cannon-dir - (the-as mistycannon a0-9) - (new 'stack-no-clear 'vector) - ) ) - ) - (when (not (nav-enemy-facing-direction? gp-2 1820.4445)) - (ja-channel-push! 1 60) - (nav-enemy-turn-to-face-dir gp-2 182.04445) - (forward-up->quaternion (-> self collide-info quat) gp-2 *y-vector*) - ) ) - ) - ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 frame-group) - (the-as art-joint-anim (-> self draw art-group data 17)) - ) - (set! - (-> a0-15 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 17)) - data - 0 - length + (ja-channel-push! 1 30) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) + (set! (-> a0-15 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-seek! - ) + (go babak-with-cannon-shooting) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go babak-with-cannon-shooting) - (none) - ) :post (the-as (function none :behavior babak-with-cannon) nav-enemy-jump-post) ) @@ -453,72 +322,46 @@ nav-enemy-default-event-handler (defstate babak-with-cannon-jump-off-cannon (babak-with-cannon) :event (the-as - (function process int symbol event-message-block object :behavior babak-with-cannon) - nav-enemy-jump-event-handler - ) + (function process int symbol event-message-block object :behavior babak-with-cannon) + nav-enemy-jump-event-handler + ) :exit - (behavior () - (logior! (-> self nav-enemy-flags) 24) - (none) - ) + (behavior () (logior! (-> self nav-enemy-flags) 24) (none)) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (nav-enemy-initialize-jump (-> self entity extra trans)) - (nav-enemy-neck-control-look-at) - (set! (-> self nav-enemy-flags) (logand -25 (-> self nav-enemy-flags))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 17)) - ) - (set! (-> a0-2 param 0) 0.0) - (set! (-> a0-2 param 1) 2.0) - (set! - (-> a0-2 frame-num) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 17)) - data - 0 - length + (set! (-> self state-time) (-> *display* base-frame-counter)) + (nav-enemy-initialize-jump (-> self entity extra trans)) + (nav-enemy-neck-control-look-at) + (set! (-> self nav-enemy-flags) (logand -25 (-> self nav-enemy-flags))) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) + (set! (-> a0-2 param 0) 0.0) + (set! (-> a0-2 param 1) 2.0) + (set! (-> a0-2 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) + ) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) 0.0) + (set! (-> a0-3 param 1) 2.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 2.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! + (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) + (ja-channel-push! 1 60) + (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) ) - ) + (logior! (-> self nav-enemy-flags) 16) + (nav-enemy-execute-jump) + (let ((a1-6 (dummy-16 (-> self nav) (-> self jump-dest)))) + (set-current-poly! (-> self nav) a1-6) + ) + (go-virtual nav-enemy-jump-land) + (none) ) - (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) - (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) - ) - (logior! (-> self nav-enemy-flags) 16) - (nav-enemy-execute-jump) - (let ((a1-6 (dummy-16 (-> self nav) (-> self jump-dest)))) - (set-current-poly! (-> self nav) a1-6) - ) - (go-virtual nav-enemy-jump-land) - (none) - ) :post (the-as (function none :behavior babak-with-cannon) nav-enemy-jump-post) ) @@ -527,60 +370,53 @@ nav-enemy-default-event-handler (defstate babak-with-cannon-shooting (babak-with-cannon) :event (the-as - (function process int symbol event-message-block object :behavior babak-with-cannon) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior babak-with-cannon) + nav-enemy-default-event-handler + ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((v1-2 (entity-actor-lookup (-> self entity) 'alt-actor 0))) - (if v1-2 - (logior! (-> v1-2 extra perm status) (entity-perm-status complete)) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((v1-2 (entity-actor-lookup (-> self entity) 'alt-actor 0))) + (if v1-2 + (logior! (-> v1-2 extra perm status) (entity-perm-status complete)) + ) + ) + (none) ) - (none) - ) :exit (behavior () - (let ((v1-0 (entity-actor-lookup (-> self entity) 'alt-actor 0))) - (if v1-0 - (logclear! (-> v1-0 extra perm status) (entity-perm-status complete)) - ) + (let ((v1-0 (entity-actor-lookup (-> self entity) 'alt-actor 0))) + (if v1-0 + (logclear! (-> v1-0 extra perm status) (entity-perm-status complete)) + ) + ) + (none) ) - (none) - ) :trans (behavior () - (let ((f0-1 (- (-> (target-pos 0) y) (-> self collide-info trans y)))) - (if - (and - (< -40960.0 f0-1) - (and - (and - *target* - (>= - (-> self distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) + (let ((f0-1 (- (-> (target-pos 0) y) (-> self collide-info trans y)))) + (if (and + (< -40960.0 f0-1) + (and + (and + *target* + (>= (-> self distance) (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) + ) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 900) + ) + ) + (go babak-with-cannon-jump-off-cannon) ) - ) - ) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 900) - ) ) - (go babak-with-cannon-jump-off-cannon) - ) + (none) ) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post babak-with-cannon-ride-cannon-post ) @@ -590,31 +426,24 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior babak-with-cannon) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior babak-with-cannon) + nav-enemy-default-event-handler + ) :trans (behavior () - (if (and *target* (= (-> *target* current-level name) 'beach)) - (spool-push *art-control* "beachcam-cannon" 0 self -1.0) - ) - (if (and *target* (= (-> *target* current-level name) 'misty)) - (spool-push *art-control* "mistycam-cannon" 0 self -1.0) - ) - (let - ((t9-3 - (-> - (the-as (state nav-enemy) (find-parent-method babak-with-cannon 23)) - trans - ) + (if (and *target* (= (-> *target* current-level name) 'beach)) + (spool-push *art-control* "beachcam-cannon" 0 self -1.0) + ) + (if (and *target* (= (-> *target* current-level name) 'misty)) + (spool-push *art-control* "mistycam-cannon" 0 self -1.0) + ) + (let ((t9-3 (-> (the-as (state nav-enemy) (find-parent-method babak-with-cannon 23)) trans))) + (if t9-3 + (t9-3) + ) ) - ) - (if t9-3 - (t9-3) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -622,90 +451,72 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior babak-with-cannon) - process-drawable-fuel-cell-handler - ) + (function process int symbol event-message-block object :behavior babak-with-cannon) + process-drawable-fuel-cell-handler + ) :code (behavior () - (ja-channel-set! 0) - (clear-collide-with-as (-> self collide-info)) - (ja-post) - (when (not (task-complete? *game-info* (-> self entity extra perm task))) - (when - (not - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) + (ja-channel-set! 0) + (clear-collide-with-as (-> self collide-info)) + (ja-post) + (when (not (task-complete? *game-info* (-> self entity extra perm task))) + (when (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) + (process-entity-status! self (entity-perm-status complete) #t) + (if (and *target* (= (-> *target* current-level name) 'beach)) + (beachcam-spawn) + ) + (if (and *target* (= (-> *target* current-level name) 'misty)) + (mistycam-spawn) + ) + ) + (if (not (-> self child)) + (birth-pickup-at-point + (-> self collide-info trans) + (pickup-type fuel-cell) + (the float (-> self entity extra perm task)) + #f + self + (the-as fact-info #f) + ) + ) + (while (-> self child) + (suspend) ) - ) ) - (process-entity-status! self (entity-perm-status complete) #t) - (if (and *target* (= (-> *target* current-level name) 'beach)) - (beachcam-spawn) - ) - (if (and *target* (= (-> *target* current-level name) 'misty)) - (mistycam-spawn) - ) - ) - (if (not (-> self child)) - (birth-pickup-at-point - (-> self collide-info trans) - (pickup-type fuel-cell) - (the float (-> self entity extra perm task)) - #f - self - (the-as fact-info #f) - ) - ) - (while (-> self child) - (suspend) - ) + (dummy-18 self) + (none) ) - (dummy-18 self) - (none) - ) ) ;; definition for method 39 of type babak-with-cannon (defmethod common-post babak-with-cannon ((obj babak-with-cannon)) (cond - ((= (level-status *level* 'beach) 'active) - (spool-push *art-control* "beachcam-cannon" 0 obj -99.0) + ((= (level-status *level* 'beach) 'active) + (spool-push *art-control* "beachcam-cannon" 0 obj -99.0) + ) + ((= (level-status *level* 'misty) 'active) + (spool-push *art-control* "mistycam-cannon" 0 obj -99.0) + ) ) - ((= (level-status *level* 'misty) 'active) - (spool-push *art-control* "mistycam-cannon" 0 obj -99.0) - ) - ) ((method-of-type nav-enemy common-post) obj) (none) ) ;; definition for method 11 of type babak-with-cannon ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - babak-with-cannon - ((obj babak-with-cannon) (arg0 entity-actor)) +(defmethod init-from-entity! babak-with-cannon ((obj babak-with-cannon) (arg0 entity-actor)) (initialize-collision obj) (process-drawable-from-entity! obj arg0) (TODO-RENAME-48 obj) (set! (-> obj distance) (res-lump-float arg0 'distance :default 163840.0)) (set! (-> obj cannon-ent) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (logclear! (-> obj mask) (process-mask actor-pause)) - (if - (or - (not - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) + (if (or + (not (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete)))) + (zero? (logand (-> obj enemy-info options) (fact-options fop1))) + ) + (go (method-of-object obj nav-enemy-idle)) ) - ) - (zero? (logand (-> obj enemy-info options) (fact-options fop1))) - ) - (go (method-of-object obj nav-enemy-idle)) - ) (go (method-of-object obj nav-enemy-fuel-cell)) (none) ) diff --git a/test/decompiler/reference/levels/common/babak_REF.gc b/test/decompiler/reference/levels/common/babak_REF.gc index 3b1eed95ff..3fdf7e57eb 100644 --- a/test/decompiler/reference/levels/common/babak_REF.gc +++ b/test/decompiler/reference/levels/common/babak_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type babak (defmethod inspect babak ((obj babak)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -33,68 +33,38 @@ :virtual #t :code (behavior () - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) - ) - (ja-channel-push! 1 45) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> gp-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 10) ) - -1 + (ja-channel-push! 1 45) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> gp-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) (ja-aframe 12.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) ) + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (ja-channel-push! 1 60) ) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 12.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (ja-channel-push! 1 60) - ) + ((the-as (function none) (-> (method-of-type nav-enemy nav-enemy-patrol) code))) + (none) ) - ((the-as - (function none) - (-> (method-of-type nav-enemy nav-enemy-patrol) code) - ) - ) - (none) - ) ) ;; failed to figure out what this is: @@ -102,111 +72,67 @@ :virtual #t :code (behavior () - (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 14) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (ja-channel-push! 1 51) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - ) - (set! - (-> a0-7 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) + (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 14) ) - data - 0 - length + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) ) - -1 + (ja-channel-push! 1 51) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) + (set! (-> a0-7 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-7 param 1) f30-0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! + a0-7 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) + (set! (-> a0-8 param 1) f30-0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (ja-channel-push! 1 60) + (let ((v1-42 (-> self skel root-channel 0))) + (set! (-> v1-42 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) + ) + ) + (let ((v1-45 (-> self skel root-channel 0))) + (set! (-> v1-45 num-func) num-func-identity) + (set! (-> v1-45 frame-num) 0.0) + ) ) - ) ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - num-func-seek! + (while #t + (suspend) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) f30-0) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) + ) ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 param 0) - (the float (+ (-> a0-8 frame-group data 0 length) -1)) - ) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - (else - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! - (-> v1-42 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - ) - ) - (let ((v1-45 (-> self skel root-channel 0))) - (set! (-> v1-45 num-func) num-func-identity) - (set! (-> v1-45 frame-num) 0.0) - ) - ) - ) - (while #t - (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) f30-0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -214,161 +140,101 @@ :virtual #t :code (behavior () - (set! (-> self turn-time) 60) - (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (when - (or - (logtest? (-> self nav-enemy-flags) 256) - (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) - ) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! (-> gp-0 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (while #t - (when (not (nav-enemy-facing-player? 2730.6667)) - (logior! (-> self nav-enemy-flags) 16) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) 1.0) - (joint-control-channel-group! - a0-9 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 60) - (let ((v1-25 (-> self skel root-channel 0))) - (set! - (-> v1-25 frame-group) - (the-as art-joint-anim (-> self draw art-group data 16)) - ) - ) - (let ((v1-28 (-> self skel root-channel 0))) - (set! (-> v1-28 num-func) num-func-identity) - (set! (-> v1-28 frame-num) 0.0) - ) - (until (nav-enemy-facing-player? 1820.4445) - (ja-blend-eval) - (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 0.75) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - ) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) + (set! (-> self turn-time) 60) + (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) + (when (or + (logtest? (-> self nav-enemy-flags) 256) + (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) + ) + (ja-channel-push! 1 30) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> gp-0 param 0) (ja-aframe 68.0 0)) + (set! (-> gp-0 param 1) f30-0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) ) - (ja-channel-push! 1 60) - ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! - (-> a0-23 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-23 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 68.0 0)) + (set! (-> gp-1 param 1) f30-0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (while #t + (when (not (nav-enemy-facing-player? 2730.6667)) + (logior! (-> self nav-enemy-flags) 16) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) 1.0) + (joint-control-channel-group! a0-9 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 60) + (let ((v1-25 (-> self skel root-channel 0))) + (set! (-> v1-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) + ) + (let ((v1-28 (-> self skel root-channel 0))) + (set! (-> v1-28 num-func) num-func-identity) + (set! (-> v1-28 frame-num) 0.0) + ) + (until (nav-enemy-facing-player? 1820.4445) + (ja-blend-eval) + (suspend) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 param 0) 0.75) + (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + ) + (if (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 5) + ) + ) + (ja-channel-push! 1 60) + ) + (let ((a0-23 (-> self skel root-channel 0))) + (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-23 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-23 param 1) f30-0) + (set! (-> a0-23 frame-num) 0.0) + (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) + (set! (-> a0-24 param 1) f30-0) + (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (when (nav-enemy-rnd-percent? 0.3) + (ja-channel-push! 1 30) + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> gp-2 param 0) (ja-aframe 68.0 0)) + (set! (-> gp-2 param 1) f30-0) + (set! (-> gp-2 frame-num) 0.0) + (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 param 0) (ja-aframe 68.0 0)) + (set! (-> gp-3 param 1) f30-0) + (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - -1 - ) ) - ) - (set! (-> a0-23 param 1) f30-0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! - a0-23 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 param 0) - (the float (+ (-> a0-24 frame-group data 0 length) -1)) - ) - (set! (-> a0-24 param 1) f30-0) - (joint-control-channel-group-eval! - a0-24 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (nav-enemy-rnd-percent? 0.3) - (ja-channel-push! 1 30) - (let ((gp-2 (-> self skel root-channel 0))) - (set! - (-> gp-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! (-> gp-2 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-3 param 1) f30-0) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -376,123 +242,64 @@ :virtual #t :code (behavior () - (set! (-> self rotate-speed) 218453.33) - (set! (-> self turn-time) 150) - (ja-channel-push! 1 45) - (let ((s4-0 (-> self collide-info)) - (s5-0 (target-pos 0)) - ) - (when - (< - (fabs - (deg-diff - (y-angle s4-0) - (vector-y-angle - (vector-! (new 'stack-no-clear 'vector) s5-0 (-> s4-0 trans)) - ) - ) - ) - 12743.111 - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 9)) - data - 0 - length + (set! (-> self rotate-speed) 218453.33) + (set! (-> self turn-time) 150) + (ja-channel-push! 1 45) + (let ((s4-0 (-> self collide-info)) + (s5-0 (target-pos 0)) + ) + (when (< (fabs + (deg-diff (y-angle s4-0) (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s5-0 (-> s4-0 trans)))) + ) + 12743.111 + ) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-seek! - ) ) - (until (ja-done? 0) + (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) + (nav-enemy-get-new-patrol-point) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) + ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (seek-to-point-toward-point! + (-> self collide-info) + (-> self nav destination-pos) + (-> self rotate-speed) + (-> self turn-time) + ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) + (set! (-> a0-14 param 1) 1.0) + (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - ) + (go-virtual nav-enemy-patrol) + (none) ) - (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) - (nav-enemy-get-new-patrol-point) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> a0-12 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (seek-to-point-toward-point! - (-> self collide-info) - (-> self nav destination-pos) - (-> self rotate-speed) - (-> self turn-time) - ) - (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! - (-> a0-14 param 0) - (the float (+ (-> a0-14 frame-group data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! - a0-14 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-patrol) - (none) - ) ) ;; failed to figure out what this is: @@ -500,173 +307,140 @@ :virtual #t :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-channel-push! 1 22) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) + ) + (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) + (set! (-> gp-0 param 1) 0.5) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! + gp-0 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) + num-func-seek! + ) ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.5) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) + (set! (-> gp-1 param 1) 0.5) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (go-virtual nav-enemy-chase) + (none) ) - (go-virtual nav-enemy-chase) - (none) - ) ) ;; definition for symbol *babak-nav-enemy-info*, type nav-enemy-info -(define - *babak-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 5 - :walk-anim 6 - :turn-anim 16 - :notice-anim 7 - :run-anim 8 - :jump-anim 13 - :jump-land-anim 14 - :victory-anim 11 - :taunt-anim 11 - :die-anim 12 - :neck-joint 5 - :player-look-at-joint 5 - :run-travel-speed (meters 6.0) - :run-rotate-speed (degrees 2880.0) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.1) - :walk-travel-speed (meters 3.0) - :walk-rotate-speed (degrees 720.0) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.5) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 2.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 30.0) - :proximity-notice-distance (meters 20.0) - :stop-chase-distance (meters 40.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 24.0 - :jump-anim-start-frame 10.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 3.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #t - :draw-shadow #t - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #t - :use-proximity-notice #t - :use-jump-blocked #t - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *babak-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 5 + :walk-anim 6 + :turn-anim 16 + :notice-anim 7 + :run-anim 8 + :jump-anim 13 + :jump-land-anim 14 + :victory-anim 11 + :taunt-anim 11 + :die-anim 12 + :neck-joint 5 + :player-look-at-joint 5 + :run-travel-speed (meters 6.0) + :run-rotate-speed (degrees 2880.0) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.1) + :walk-travel-speed (meters 3.0) + :walk-rotate-speed (degrees 720.0) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.5) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 2.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 30.0) + :proximity-notice-distance (meters 20.0) + :stop-chase-distance (meters 40.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 24.0 + :jump-anim-start-frame 10.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 3.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #t + :draw-shadow #t + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #t + :use-proximity-notice #t + :use-jump-blocked #t + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 47 of type babak ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision babak ((obj babak)) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 3) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s4-0 local-sphere) 0.0 8192.0 0.0 12288.0) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 1) + (set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 3072.0) + (append-prim s4-0 s3-0) + ) + (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 1) + (set-vector! (-> s3-1 local-sphere) 0.0 9830.4 0.0 3072.0) + (append-prim s4-0 s3-1) + ) + (let ((s3-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> s3-2 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-2 collide-with) (the-as uint 16)) + (set! (-> s3-2 prim-core offense) 2) + (set! (-> s3-2 transform-index) 6) + (set-vector! (-> s3-2 local-sphere) 0.0 0.0 0.0 2048.0) + (append-prim s4-0 s3-2) + ) ) - ) + (set! (-> s5-0 nav-radius) 6144.0) + (backup-collide-with-as s5-0) + (set! (-> s5-0 max-iteration-count) (the-as uint 2)) + (set! (-> obj collide-info) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 3) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s4-0 local-sphere) 0.0 8192.0 0.0 12288.0) - (set-root-prim! s5-0 s4-0) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 1) - (set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 3072.0) - (append-prim s4-0 s3-0) - ) - (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 1) - (set-vector! (-> s3-1 local-sphere) 0.0 9830.4 0.0 3072.0) - (append-prim s4-0 s3-1) - ) - (let ((s3-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) - (set! (-> s3-2 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-2 collide-with) (the-as uint 16)) - (set! (-> s3-2 prim-core offense) 2) - (set! (-> s3-2 transform-index) 6) - (set-vector! (-> s3-2 local-sphere) 0.0 0.0 0.0 2048.0) - (append-prim s4-0 s3-2) - ) - ) - (set! (-> s5-0 nav-radius) 6144.0) - (backup-collide-with-as s5-0) - (set! (-> s5-0 max-iteration-count) (the-as uint 2)) - (set! (-> obj collide-info) s5-0) - ) 0 (none) ) @@ -687,22 +461,19 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-59 babak ((obj babak)) (cond - ((and - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (logtest? (-> obj enemy-info options) (fact-options fop1)) + ((and + (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (logtest? (-> obj enemy-info options) (fact-options fop1)) + ) + (go (method-of-object obj nav-enemy-fuel-cell)) ) - (go (method-of-object obj nav-enemy-fuel-cell)) + ((logtest? (-> obj enemy-info options) (fact-options fop5)) + (go (method-of-object obj nav-enemy-wait-for-cue)) + ) + (else + (go (method-of-object obj nav-enemy-idle)) + ) ) - ((logtest? (-> obj enemy-info options) (fact-options fop5)) - (go (method-of-object obj nav-enemy-wait-for-cue)) - ) - (else - (go (method-of-object obj nav-enemy-idle)) - ) - ) 0 (none) ) diff --git a/test/decompiler/reference/levels/common/basebutton_REF.gc b/test/decompiler/reference/levels/common/basebutton_REF.gc index da803fa09c..32ad97db00 100644 --- a/test/decompiler/reference/levels/common/basebutton_REF.gc +++ b/test/decompiler/reference/levels/common/basebutton_REF.gc @@ -41,8 +41,8 @@ ;; definition for method 3 of type basebutton (defmethod inspect basebutton ((obj basebutton)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tdown?: ~A~%" (-> obj down?)) (format #t "~T~Tspawned-by-other?: ~A~%" (-> obj spawned-by-other?)) (format #t "~T~Tmove-to?: ~A~%" (-> obj move-to?)) @@ -70,19 +70,16 @@ ;; definition for method 30 of type basebutton ;; Used lq/sq -(defmethod - move-to-vec-or-quat! - basebutton - ((obj basebutton) (arg0 vector) (arg1 quaternion)) +(defmethod move-to-vec-or-quat! basebutton ((obj basebutton) (arg0 vector) (arg1 quaternion)) (set! (-> obj move-to?) #t) (if arg0 - (set! (-> obj move-to-pos quad) (-> arg0 quad)) - (set! (-> obj move-to-pos quad) (-> obj root-override trans quad)) - ) + (set! (-> obj move-to-pos quad) (-> arg0 quad)) + (set! (-> obj move-to-pos quad) (-> obj root-override trans quad)) + ) (if arg1 - (quaternion-copy! (-> obj move-to-quat) arg1) - (quaternion-copy! (-> obj move-to-quat) (-> obj root-override quat)) - ) + (quaternion-copy! (-> obj move-to-quat) arg1) + (quaternion-copy! (-> obj move-to-quat) (-> obj root-override quat)) + ) ) ;; failed to figure out what this is: @@ -90,12 +87,12 @@ :virtual #t :code (behavior () - (if (-> self down?) - (go-virtual basebutton-down-idle) - (go-virtual basebutton-up-idle) + (if (-> self down?) + (go-virtual basebutton-down-idle) + (go-virtual basebutton-up-idle) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -103,69 +100,46 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack) - (case (-> arg3 param 1) - (('flop) - (TODO-RENAME-29 self (-> self event-going-down) (-> self notify-actor)) - (sound-play-by-name - (static-sound-name "silo-button") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (case arg2 + (('attack) + (case (-> arg3 param 1) + (('flop) + (TODO-RENAME-29 self (-> self event-going-down) (-> self notify-actor)) + (sound-play-by-name (static-sound-name "silo-button") (new-sound-id) 1024 0 0 1 #t) + (go-virtual basebutton-going-down) ) - (go-virtual basebutton-going-down) ) ) + (('trigger) + (sound-play-by-name (static-sound-name "silo-button") (new-sound-id) 1024 0 0 1 #t) + (go-virtual basebutton-going-down) + ) + (('move-to) + (move-to-vec-or-quat! self (the-as vector (-> arg3 param 0)) (the-as quaternion (-> arg3 param 1))) + ) ) - (('trigger) - (sound-play-by-name - (static-sound-name "silo-button") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (go-virtual basebutton-going-down) - ) - (('move-to) - (move-to-vec-or-quat! - self - (the-as vector (-> arg3 param 0)) - (the-as quaternion (-> arg3 param 1)) - ) - ) ) - ) :enter - (behavior () - (press! self #f) - (none) - ) + (behavior () (press! self #f) (none)) :trans (behavior () - (if (-> self move-to?) - (rider-trans) + (if (-> self move-to?) + (rider-trans) + ) + (none) ) - (none) - ) :code (the-as (function none :behavior basebutton) anim-loop) :post (behavior () - (when (-> self move-to?) - (set! (-> self move-to?) #f) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) - (rider-post) + (when (-> self move-to?) + (set! (-> self move-to?) #f) + (set! (-> self root-override trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (rider-post) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -173,78 +147,49 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('untrigger) - (sound-play-by-name - (static-sound-name "silo-button") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (case arg2 + (('untrigger) + (sound-play-by-name (static-sound-name "silo-button") (new-sound-id) 1024 0 0 1 #t) + (go-virtual basebutton-going-up) + ) + (('move-to) + (move-to-vec-or-quat! self (the-as vector (-> arg3 param 0)) (the-as quaternion (-> arg3 param 1))) ) - (go-virtual basebutton-going-up) ) - (('move-to) - (move-to-vec-or-quat! - self - (the-as vector (-> arg3 param 0)) - (the-as quaternion (-> arg3 param 1)) - ) - ) ) - ) :enter - (behavior () - (press! self #t) - (none) - ) + (behavior () (press! self #t) (none)) :trans (the-as (function none :behavior basebutton) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) (-> self anim-speed)) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) (-> self anim-speed)) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (TODO-RENAME-29 self (-> self event-down) (-> self notify-actor)) + (go-virtual basebutton-down-idle) + (none) ) - (TODO-RENAME-29 self (-> self event-down) (-> self notify-actor)) - (go-virtual basebutton-down-idle) - (none) - ) :post (behavior () - (when (-> self move-to?) - (set! (-> self move-to?) #f) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (when (-> self move-to?) + (set! (-> self move-to?) #f) + (set! (-> self root-override trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + ) + (rider-post) + (none) ) - (rider-post) - (none) - ) ) ;; failed to figure out what this is: @@ -252,80 +197,53 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('untrigger) - (sound-play-by-name - (static-sound-name "silo-button") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (case arg2 + (('untrigger) + (sound-play-by-name (static-sound-name "silo-button") (new-sound-id) 1024 0 0 1 #t) + (go-virtual basebutton-going-up) + ) + (('move-to) + (move-to-vec-or-quat! self (the-as vector (-> arg3 param 0)) (the-as quaternion (-> arg3 param 1))) ) - (go-virtual basebutton-going-up) ) - (('move-to) - (move-to-vec-or-quat! - self - (the-as vector (-> arg3 param 0)) - (the-as quaternion (-> arg3 param 1)) - ) - ) ) - ) :enter - (behavior () - (press! self #t) - (none) - ) + (behavior () (press! self #t) (none)) :trans (behavior () - (if (-> self move-to?) - (rider-trans) + (if (-> self move-to?) + (rider-trans) + ) + (none) ) - (none) - ) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (cond - ((= (-> self timeout) 0.0) - (anim-loop) - ) - (else - (until - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the int (* 300.0 (-> self timeout))) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (cond + ((= (-> self timeout) 0.0) + (anim-loop) ) - (suspend) + (else + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the int (* 300.0 (-> self timeout)))) + (suspend) + ) + (TODO-RENAME-29 self (-> self event-going-up) (-> self notify-actor)) + (sound-play-by-name (static-sound-name "silo-button") (new-sound-id) 1024 0 0 1 #t) + (go-virtual basebutton-going-up) + ) ) - (TODO-RENAME-29 self (-> self event-going-up) (-> self notify-actor)) - (sound-play-by-name - (static-sound-name "silo-button") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (go-virtual basebutton-going-up) - ) + (none) ) - (none) - ) :post (behavior () - (when (-> self move-to?) - (set! (-> self move-to?) #f) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) - (rider-post) + (when (-> self move-to?) + (set! (-> self move-to?) #f) + (set! (-> self root-override trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (rider-post) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -333,122 +251,97 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('move-to) - (move-to-vec-or-quat! - self - (the-as vector (-> arg3 param 0)) - (the-as quaternion (-> arg3 param 1)) + (case arg2 + (('move-to) + (move-to-vec-or-quat! self (the-as vector (-> arg3 param 0)) (the-as quaternion (-> arg3 param 1))) + ) + (('trigger) + (sound-play-by-name (static-sound-name "silo-button") (new-sound-id) 1024 0 0 1 #t) + (go-virtual basebutton-going-down) ) ) - (('trigger) - (sound-play-by-name - (static-sound-name "silo-button") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (go-virtual basebutton-going-down) - ) ) - ) :enter - (behavior () - (press! self #f) - (none) - ) + (behavior () (press! self #f) (none)) :trans (the-as (function none :behavior basebutton) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 0.0) - (set! (-> a0-0 param 1) (-> self anim-speed)) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 0.0) + (set! (-> a0-0 param 1) (-> self anim-speed)) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) 0.0) + (set! (-> a0-1 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (TODO-RENAME-29 self (-> self event-up) (-> self notify-actor)) + (go-virtual basebutton-up-idle) + (none) ) - (TODO-RENAME-29 self (-> self event-up) (-> self notify-actor)) - (go-virtual basebutton-up-idle) - (none) - ) :post (behavior () - (when (-> self move-to?) - (set! (-> self move-to?) #f) - (set! (-> self root-override trans quad) (-> self move-to-pos quad)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (when (-> self move-to?) + (set! (-> self move-to?) #f) + (set! (-> self root-override trans quad) (-> self move-to-pos quad)) + (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + ) + (rider-post) + (none) ) - (rider-post) - (none) - ) ) ;; definition for method 31 of type basebutton (defmethod press! basebutton ((obj basebutton) (arg0 symbol)) (set! (-> obj down?) arg0) (cond - (arg0 - (if (not (-> obj spawned-by-other?)) - (process-entity-status! obj (entity-perm-status complete) #t) - ) + (arg0 + (if (not (-> obj spawned-by-other?)) + (process-entity-status! obj (entity-perm-status complete) #t) + ) + ) + (else + (if (not (-> obj spawned-by-other?)) + (process-entity-status! obj (entity-perm-status complete) #f) + ) + ) ) - (else - (if (not (-> obj spawned-by-other?)) - (process-entity-status! obj (entity-perm-status complete) #f) - ) - ) - ) ) ;; definition for method 29 of type basebutton -(defmethod - TODO-RENAME-29 - basebutton - ((obj basebutton) (arg0 symbol) (arg1 entity)) +(defmethod TODO-RENAME-29 basebutton ((obj basebutton) (arg0 symbol) (arg1 entity)) (with-pp - (when arg0 - (cond - (arg1 - (let ((v1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> v1-0 from) pp) - (set! (-> v1-0 num-params) 0) - (set! (-> v1-0 message) arg0) - (let ((a1-1 arg1)) - (send-event-function (if a1-1 - (-> a1-1 extra process) - ) - v1-0 - ) + (when arg0 + (cond + (arg1 + (let ((v1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> v1-0 from) pp) + (set! (-> v1-0 num-params) 0) + (set! (-> v1-0 message) arg0) + (let ((a1-1 arg1)) + (send-event-function + (if a1-1 + (-> a1-1 extra process) + ) + v1-0 + ) + ) + ) + ) + (else + (if (nonzero? (-> obj link)) + (send-to-all (-> obj link) arg0) + ) + ) ) - ) ) - (else - (if (nonzero? (-> obj link)) - (send-to-all (-> obj link) arg0) - ) - ) - ) + (none) ) - (none) - ) ) ;; definition for method 25 of type basebutton @@ -463,17 +356,17 @@ (set! (-> obj event-going-up) #f) (set! (-> obj event-up) #f) (let ((f0-1 1.0)) - (set! (-> obj anim-speed) f0-1) - f0-1 - ) + (set! (-> obj anim-speed) f0-1) + f0-1 + ) ) ;; definition for method 28 of type basebutton (defmethod arm-trigger-event! basebutton ((obj basebutton)) (let ((v0-0 'trigger)) - (set! (-> obj event-going-down) v0-0) - v0-0 - ) + (set! (-> obj event-going-down) v0-0) + v0-0 + ) ) ;; definition for method 26 of type basebutton @@ -482,41 +375,29 @@ (logior! (-> obj skel status) 1) (ja-channel-set! 1) (cond - ((-> obj down?) - (let ((s5-0 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity - ) - (set! - (-> s5-0 frame-num) - (the - float - (+ - (-> + ((-> obj down?) + (let ((s5-0 (-> obj skel root-channel 0))) + (joint-control-channel-group-eval! + s5-0 (the-as art-joint-anim (-> obj draw art-group data 2)) - data - 0 - length + num-func-identity ) - -1 - ) + (set! (-> s5-0 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 2)) data 0 length) -1)) + ) ) - ) ) - ) - (else - (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity + (else + (let ((s5-1 (-> obj skel root-channel 0))) + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) 0.0) + ) ) - (set! (-> s5-1 frame-num) 0.0) - ) ) - ) (set! (-> obj anim-speed) 2.0) (dummy-47 (-> obj root-override)) (ja-post) @@ -525,71 +406,43 @@ ;; definition for method 27 of type basebutton (defmethod TODO-RENAME-27 basebutton ((obj basebutton)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 12288.0) - (set-root-prim! s5-0 s4-0) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 12288.0) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 4) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 12288.0) + (append-prim s4-0 s3-0) ) - ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 4) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 12288.0) - (append-prim s4-0 s3-0) - ) - (let - ((s3-1 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 1) - (the-as uint 0) + (let ((s3-1 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 3)) + (set! (-> s3-1 prim-core offense) 4) + (set! (-> s3-1 transform-index) 3) + (set-vector! (-> s3-1 local-sphere) 0.0 0.0 0.0 12288.0) + (append-prim s4-0 s3-1) ) - ) ) - (set! (-> s3-1 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 3)) - (set! (-> s3-1 prim-core offense) 4) - (set! (-> s3-1 transform-index) 3) - (set-vector! (-> s3-1 local-sphere) 0.0 0.0 0.0 12288.0) - (append-prim s4-0 s3-1) - ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) + s5-0 ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - s5-0 - ) ) ;; definition for method 11 of type basebutton @@ -598,48 +451,30 @@ (reset! obj) (set! (-> obj spawned-by-other?) #f) (set! (-> obj button-id) -1) - (let - ((v1-4 - (res-lump-value - (-> obj entity) - 'extra-id - uint128 - :default - (the-as uint128 -1) - ) - ) + (let ((v1-4 (res-lump-value (-> obj entity) 'extra-id uint128 :default (the-as uint128 -1)))) + (if (>= (the-as int v1-4) 0) + (set! (-> obj button-id) (the-as int v1-4)) + ) ) - (if (>= (the-as int v1-4) 0) - (set! (-> obj button-id) (the-as int v1-4)) + (when (or (res-lump-struct arg0 'next-actor structure) (res-lump-struct arg0 'prev-actor structure)) + (set! (-> obj link) (new 'process 'actor-link-info obj)) + (if (< (-> obj button-id) 0) + (set! (-> obj button-id) (actor-count-before (-> obj link))) + ) ) - ) - (when - (or - (res-lump-struct arg0 'next-actor structure) - (res-lump-struct arg0 'prev-actor structure) - ) - (set! (-> obj link) (new 'process 'actor-link-info obj)) - (if (< (-> obj button-id) 0) - (set! (-> obj button-id) (actor-count-before (-> obj link))) - ) - ) (TODO-RENAME-27 obj) (process-drawable-from-entity! obj arg0) (let ((v1-16 #f)) - (if - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (set! v1-16 #t) + (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (set! v1-16 #t) + ) + (set! (-> obj down?) v1-16) ) - (set! (-> obj down?) v1-16) - ) (set! (-> obj notify-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> obj timeout) (res-lump-float arg0 'timeout)) (if (not (-> obj spawned-by-other?)) - (nav-mesh-connect obj (-> obj root-override) (the-as nav-control #f)) - ) + (nav-mesh-connect obj (-> obj root-override) (the-as nav-control #f)) + ) (arm-trigger-event! obj) (TODO-RENAME-26 obj) (go (method-of-object obj basebutton-startup)) @@ -649,15 +484,7 @@ ;; definition for function basebutton-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - basebutton-init-by-other basebutton - ((arg0 basebutton) - (arg1 vector) - (arg2 quaternion) - (arg3 entity-actor) - (arg4 symbol) - (arg5 float) - ) +(defbehavior basebutton-init-by-other basebutton ((arg0 basebutton) (arg1 vector) (arg2 quaternion) (arg3 entity-actor) (arg4 symbol) (arg5 float)) (reset! self) (set! (-> self spawned-by-other?) #t) (set! (-> self button-id) -1) @@ -665,8 +492,8 @@ (set! (-> self notify-actor) arg3) (set! (-> self timeout) arg5) (if arg0 - (set! (-> self entity) (the-as entity arg0)) - ) + (set! (-> self entity) (the-as entity arg0)) + ) (TODO-RENAME-27 self) (set! (-> self root-override trans quad) (-> arg1 quad)) (quaternion-copy! (-> self root-override quat) arg2) @@ -678,21 +505,18 @@ ) ;; definition for symbol *warp-info*, type (array string) -(define - *warp-info* - (the-as (array string) - (new - 'static - 'boxed-array - :type string :length 5 :allocated-length 5 - "training-warp" - "village1-warp" - "village2-warp" - "village3-warp" - "citadel-warp" - ) - ) - ) +(define *warp-info* (the-as (array string) (new + 'static + 'boxed-array + :type string :length 5 :allocated-length 5 + "training-warp" + "village1-warp" + "village2-warp" + "village3-warp" + "citadel-warp" + ) + ) + ) ;; definition of type warp-gate (deftype warp-gate (process-drawable) @@ -716,8 +540,8 @@ ;; definition for method 3 of type warp-gate (defmethod inspect warp-gate ((obj warp-gate)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tlevel: ~A~%" (-> obj level)) (format #t "~T~Tlevel-slot: ~D~%" (-> obj level-slot)) (format #t "~T~Tmin-slot: ~D~%" (-> obj min-slot)) @@ -729,312 +553,219 @@ (defstate use (warp-gate) :virtual #t :trans - (behavior () - (send-event *camera* 'joystick 0.0 0.0) - (none) - ) + (behavior () (send-event *camera* 'joystick 0.0 0.0) (none)) :code (behavior ((arg0 int) (arg1 level)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (when (not arg1) - (process-release? *target*) - (go-virtual idle) - ) - (let ((s4-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> s4-0 from) self) - (set! (-> s4-0 num-params) 3) - (set! (-> s4-0 message) 'change-state) - (set! (-> s4-0 param 0) (the-as uint target-warp-out)) - (let ((v1-9 (new 'static 'vector))) - (set! (-> v1-9 quad) (-> self root trans quad)) - (set! (-> s4-0 param 1) (the-as uint v1-9)) - ) - (set! (-> s4-0 param 2) (the-as uint (target-pos 0))) - (send-event-function *target* s4-0) - ) - (case (-> self level) - (('citadel 'lavatube) - (while (and *target* (zero? (logand (-> *target* draw status) 2))) - (suspend) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (when (not arg1) + (process-release? *target*) + (go-virtual idle) ) - (else - (load-state-want-levels (-> self level) (-> arg1 load-name)) - (while - (or - (not - (member (level-status *level* (-> arg1 load-name)) '(loaded active)) + (let ((s4-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> s4-0 from) self) + (set! (-> s4-0 num-params) 3) + (set! (-> s4-0 message) 'change-state) + (set! (-> s4-0 param 0) (the-as uint target-warp-out)) + (let ((v1-9 (new 'static 'vector))) + (set! (-> v1-9 quad) (-> self root trans quad)) + (set! (-> s4-0 param 1) (the-as uint v1-9)) ) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 600) - ) - (suspend) + (set! (-> s4-0 param 2) (the-as uint (target-pos 0))) + (send-event-function *target* s4-0) ) - ) + (case (-> self level) + (('citadel 'lavatube) + (while (and *target* (zero? (logand (-> *target* draw status) 2))) + (suspend) + ) + ) + (else + (load-state-want-levels (-> self level) (-> arg1 load-name)) + (while (or + (not (member (level-status *level* (-> arg1 load-name)) '(loaded active))) + (< (- (-> *display* base-frame-counter) (-> self state-time)) 600) + ) + (suspend) + ) + ) + ) + (set-blackout-frames 15) + (start 'play (get-continue-by-name *game-info* (-> *warp-info* arg0))) + (logior! (-> self mask) (process-mask sleep)) + (suspend) + 0 + (none) ) - (set-blackout-frames 15) - (start 'play (get-continue-by-name *game-info* (-> *warp-info* arg0))) - (logior! (-> self mask) (process-mask sleep)) - (suspend) - 0 - (none) - ) ) ;; definition for symbol *warp-jump-mods*, type surface -(define - *warp-jump-mods* - (new 'static 'surface - :name 'jump - :turnv 273066.66 - :turnvv 1820444.5 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 65536.0 - :target-speed 65536.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #x20 - ) - ) +(define *warp-jump-mods* (new 'static 'surface + :name 'jump + :turnv 273066.66 + :turnvv 1820444.5 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 65536.0 + :target-speed 65536.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #x20 + ) + ) ;; failed to figure out what this is: (defstate target-warp-out (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('death-end) - (let ((v0-0 (the-as object (logior (-> self draw status) 2)))) - (set! (-> self draw status) (the-as uint v0-0)) - v0-0 + (case arg2 + (('death-end) + (let ((v0-0 (the-as object (logior (-> self draw status) 2)))) + (set! (-> self draw status) (the-as uint v0-0)) + v0-0 + ) ) + (else + (target-generic-event-handler arg0 arg1 arg2 arg3) + ) ) - (else - (target-generic-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior ((arg0 vector) (arg1 vector)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control status) (logand -8 (-> self control status))) - (set! (-> self control unknown-surface00) *warp-jump-mods*) - (set! (-> self control unknown-vector102 quad) (-> arg0 quad)) - (set! (-> self control unknown-vector103 quad) (-> arg1 quad)) - (set! - (-> self control unknown-vector102 y) - (+ -4096.0 (-> self control unknown-vector102 y)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control status) (logand -8 (-> self control status))) + (set! (-> self control unknown-surface00) *warp-jump-mods*) + (set! (-> self control unknown-vector102 quad) (-> arg0 quad)) + (set! (-> self control unknown-vector103 quad) (-> arg1 quad)) + (set! (-> self control unknown-vector102 y) (+ -4096.0 (-> self control unknown-vector102 y))) + (set! (-> self control unknown-uint20) (the-as uint #f)) + (vector-reset! (-> self control transv)) + (logior! (-> self state-flags) 1024) + (set! (-> self alt-cam-pos quad) (-> arg1 quad)) + (none) ) - (set! (-> self control unknown-uint20) (the-as uint #f)) - (vector-reset! (-> self control transv)) - (logior! (-> self state-flags) 1024) - (set! (-> self alt-cam-pos quad) (-> arg1 quad)) - (none) - ) :exit - (behavior () - (set! (-> self state-flags) (logand -1025 (-> self state-flags))) - (none) - ) + (behavior () (set! (-> self state-flags) (logand -1025 (-> self state-flags))) (none)) :code (behavior ((arg0 vector) (arg1 vector)) - (send-event *camera* 'change-state cam-fixed 0) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 41)) - ) - (set! (-> gp-0 param 0) (ja-aframe 16.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 41)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 16.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! + (send-event *camera* 'change-state cam-fixed 0) + (ja-channel-push! 1 60) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) + (set! (-> gp-0 param 0) (ja-aframe 16.0 0)) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) ) - ) - ) - (vector-! - (-> self control transv) - (-> self control unknown-vector102) - (-> self control trans) - ) - (vector-xz-normalize! (-> self control transv) 32768.0) - (let ((gp-2 (new-stack-vector0))) - (let - ((f0-6 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) + (until (ja-done? 0) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 16.0 0)) + (set! (-> gp-1 param 1) 1.0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) ) - ) ) - 0.0 - (vector-! - gp-2 - (-> self control transv) - (vector-float*! gp-2 (-> self control dynam gravity-normal) f0-6) - ) - ) - (let* ((f0-7 (vector-length gp-2)) - (f1-1 f0-7) - (f2-4 - (- - (sqrtf - (* - 2.0 - (-> self control dynam gravity-length) - (vector-dot - (-> self control dynam gravity-normal) - (vector-! - (new 'stack-no-clear 'vector) - (-> self control unknown-vector102) - (-> self control trans) - ) - ) + (vector-! (-> self control transv) (-> self control unknown-vector102) (-> self control trans)) + (vector-xz-normalize! (-> self control transv) 32768.0) + (let ((gp-2 (new-stack-vector0))) + (let ((f0-6 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! gp-2 (-> self control transv) (vector-float*! gp-2 (-> self control dynam gravity-normal) f0-6)) + ) + (let* ((f0-7 (vector-length gp-2)) + (f1-1 f0-7) + (f2-4 + (- (sqrtf + (* 2.0 + (-> self control dynam gravity-length) + (vector-dot + (-> self control dynam gravity-normal) + (vector-! (new 'stack-no-clear 'vector) (-> self control unknown-vector102) (-> self control trans)) + ) + ) + ) + (* 0.008333334 (- (-> self control dynam gravity-length))) + ) ) - ) - (* 0.008333334 (- (-> self control dynam gravity-length))) ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-4) + (vector-float*! gp-2 gp-2 (/ f0-7 f1-1)) + ) + ) + ) + (clear-collide-with-as (-> self control)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self trans-hook) + (lambda :behavior target + () + (let ((gp-0 (new-stack-vector0)) + (f30-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + ) + 0.0 + (vector-! gp-0 (-> self control transv) (vector-float*! gp-0 (-> self control dynam gravity-normal) f30-0)) + (let* ((f0-3 (vector-length gp-0)) + (f1-0 f0-3) + ) + (if (< f30-0 0.0) + (set! f30-0 8192.0) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f30-0) + (vector-float*! gp-0 gp-0 (/ f0-3 f1-0)) + ) + ) + ) + (let ((gp-2 (vector-! (new-stack-vector0) (-> self control unknown-vector102) (-> self control trans)))) + (set! (-> gp-2 y) 0.0) + (send-event *target* 'sidekick #f) + (when (and + (or (< (vector-dot gp-2 (-> self control transv)) 0.0) (-> self control unknown-spoolanim00)) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15) + ) + (vector-seek! (-> self draw color-mult) (new 'static 'vector) (* 2.0 (-> *display* seconds-per-frame))) + (set! (-> self control transv x) (* 0.95 (-> self control transv x))) + (set! (-> self control transv z) (* 0.95 (-> self control transv z))) + (when (not (-> self control unknown-spoolanim00)) + (send-event self 'do-effect 'death-warp-out -1.0) + (let ((v0-2 #t)) + (set! (-> self control unknown-uint20) (the-as uint v0-2)) + v0-2 + ) + ) + ) + ) ) - ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-4 - ) - (vector-float*! gp-2 gp-2 (/ f0-7 f1-1)) + ) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 41))) + (set! (-> gp-3 param 0) (ja-aframe 40.0 0)) + (set! (-> gp-3 param 1) 1.0) + (set! (-> gp-3 frame-num) (ja-aframe 16.0 0)) + (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 41)) num-func-seek!) ) - ) - ) - (clear-collide-with-as (-> self control)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! - (-> self trans-hook) - (lambda :behavior target () (let ((gp-0 (new-stack-vector0)) - (f30-0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - ) - 0.0 - (vector-! - gp-0 - (-> self control transv) - (vector-float*! - gp-0 - (-> self control dynam gravity-normal) - f30-0 - ) - ) - (let* ((f0-3 (vector-length gp-0)) - (f1-0 f0-3) - ) - (if (< f30-0 0.0) - (set! f30-0 8192.0) - ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f30-0 - ) - (vector-float*! gp-0 gp-0 (/ f0-3 f1-0)) - ) - ) - ) - (let - ((gp-2 - (vector-! - (new-stack-vector0) - (-> self control unknown-vector102) - (-> self control trans) - ) + (until (ja-done? 0) + (suspend) + (let ((gp-4 (-> self skel root-channel 0))) + (set! (-> gp-4 param 0) (ja-aframe 40.0 0)) + (set! (-> gp-4 param 1) 1.0) + (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (set! (-> gp-2 y) 0.0) - (send-event *target* 'sidekick #f) - (when - (and - (or - (< (vector-dot gp-2 (-> self control transv)) 0.0) - (-> self control unknown-spoolanim00) - ) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15) - ) - (vector-seek! - (-> self draw color-mult) - (new 'static 'vector) - (* 2.0 (-> *display* seconds-per-frame)) - ) - (set! (-> self control transv x) (* 0.95 (-> self control transv x))) - (set! (-> self control transv z) (* 0.95 (-> self control transv z))) - (when (not (-> self control unknown-spoolanim00)) - (send-event self 'do-effect 'death-warp-out -1.0) - (let ((v0-2 #t)) - (set! (-> self control unknown-uint20) (the-as uint v0-2)) - v0-2 - ) - ) - ) ) - ) + (anim-loop) + (none) ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! - (-> gp-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 41)) - ) - (set! (-> gp-3 param 0) (ja-aframe 40.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 41)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 40.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (anim-loop) - (none) - ) :post target-no-stick-post ) diff --git a/test/decompiler/reference/levels/common/baseplat_REF.gc b/test/decompiler/reference/levels/common/baseplat_REF.gc index 71b6df5c4b..1c1bae7836 100644 --- a/test/decompiler/reference/levels/common/baseplat_REF.gc +++ b/test/decompiler/reference/levels/common/baseplat_REF.gc @@ -26,8 +26,8 @@ ;; definition for method 3 of type baseplat (defmethod inspect baseplat ((obj baseplat)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsmush: #~%" (-> obj smush)) (format #t "~T~Tbasetrans: #~%" (-> obj basetrans)) (format #t "~T~Tbouncing: ~A~%" (-> obj bouncing)) @@ -63,15 +63,15 @@ (transform-post) (suspend) (while #t - (when (not (-> self bouncing)) - (logior! (-> self mask) (process-mask sleep)) - (suspend) - 0 + (when (not (-> self bouncing)) + (logior! (-> self mask) (process-mask sleep)) + (suspend) + 0 + ) + (while (-> self bouncing) + (suspend) + ) ) - (while (-> self bouncing) - (suspend) - ) - ) (none) ) @@ -80,20 +80,20 @@ (defbehavior plat-trans baseplat () (rider-trans) (cond - ((-> self bouncing) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self basetrans quad)) - (+! (-> gp-0 y) (* 819.2 (update! (-> self smush)))) - (TODO-RENAME-30 (-> self root-override) gp-0) - ) - (if (not (!= (-> self smush amp) 0.0)) - (set! (-> self bouncing) #f) + ((-> self bouncing) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self basetrans quad)) + (+! (-> gp-0 y) (* 819.2 (update! (-> self smush)))) + (TODO-RENAME-30 (-> self root-override) gp-0) + ) + (if (not (!= (-> self smush amp) 0.0)) + (set! (-> self bouncing) #f) + ) ) + (else + (TODO-RENAME-30 (-> self root-override) (-> self basetrans)) + ) ) - (else - (TODO-RENAME-30 (-> self root-override) (-> self basetrans)) - ) - ) (none) ) @@ -115,22 +115,20 @@ ;; INFO: Return type mismatch object vs none. (defmethod dummy-20 baseplat ((obj baseplat)) (if (nonzero? (-> obj part)) - (spawn (-> obj part) (-> obj root-override trans)) - ) + (spawn (-> obj part) (-> obj root-override trans)) + ) (none) ) ;; definition for function plat-event ;; INFO: Return type mismatch none vs object. -(defbehavior - plat-event baseplat - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior plat-event baseplat ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (if (= v1-0 'bonk) - (dummy-22 self) - ) + (the-as object (if (= v1-0 'bonk) + (dummy-22 self) + ) + ) ) - ) ) ;; definition of type eco-door @@ -167,8 +165,8 @@ ;; Used lq/sq (defmethod inspect eco-door ((obj eco-door)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tspeed: ~f~%" (-> obj speed)) (format #t "~T~Topen-distance: ~f~%" (-> obj open-distance)) (format #t "~T~Tclose-distance: ~f~%" (-> obj close-distance)) @@ -185,42 +183,24 @@ ;; definition for function eco-door-event-handler ;; INFO: Return type mismatch symbol vs object. -(defbehavior - eco-door-event-handler eco-door - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior eco-door-event-handler eco-door ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'trigger) - (set! (-> self locked) (not (-> self locked))) - (cond - ((-> self locked) - (if (= (-> self next-state name) 'door-closed) - (sound-play-by-name - (static-sound-name "door-lock") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (the-as object (when (= v1-0 'trigger) + (set! (-> self locked) (not (-> self locked))) + (cond + ((-> self locked) + (if (= (-> self next-state name) 'door-closed) + (sound-play-by-name (static-sound-name "door-lock") (new-sound-id) 1024 0 0 1 #t) + ) + ) + (else + (sound-play-by-name (static-sound-name "door-unlock") (new-sound-id) 1024 0 0 1 #t) + ) ) - ) + #t ) - (else - (sound-play-by-name - (static-sound-name "door-unlock") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - ) - #t - ) + ) ) - ) ) ;; failed to figure out what this is: @@ -233,65 +213,42 @@ eco-door-event-handler eco-door-event-handler :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) - ) - (suspend) - (dummy-47 (-> self root-override)) - (ja-post) - (while #t - (when - (and - *target* - (>= - (-> self open-distance) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 num-func) num-func-identity) + (set! (-> v1-2 frame-num) 0.0) ) - (dummy-26 self) - (if - (and - (not (-> self locked)) - (or - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (send-event-function *target* a1-1) - ) - (and - (-> self one-way) - (< (vector4-dot (-> self out-dir) (target-pos 0)) -8192.0) - ) - ) - ) - (go-virtual door-opening) - ) - (level-hint-spawn - (game-text-id zero) - (the-as string #f) - (-> self entity) - *entity-pool* - (game-task none) - ) - ) (suspend) + (dummy-47 (-> self root-override)) + (ja-post) + (while #t + (when (and *target* (>= (-> self open-distance) + (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + (dummy-26 self) + (if (and + (not (-> self locked)) + (or + (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 2) + (set! (-> a1-1 message) 'query) + (set! (-> a1-1 param 0) (the-as uint 'powerup)) + (set! (-> a1-1 param 1) (the-as uint 3)) + (send-event-function *target* a1-1) + ) + (and (-> self one-way) (< (vector4-dot (-> self out-dir) (target-pos 0)) -8192.0)) + ) + ) + (go-virtual door-opening) + ) + (level-hint-spawn (game-text-id zero) (the-as string #f) (-> self entity) *entity-pool* (game-task none)) + ) + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -301,57 +258,41 @@ eco-door-event-handler eco-door-event-handler :code (behavior () - (let - ((gp-0 - (and - (not - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) + (let ((gp-0 + (and + (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) + (send-event *target* 'query 'powerup 3) + ) + ) ) - ) + (if gp-0 + (sound-play-by-name + (static-sound-name "blue-eco-on") + (new-sound-id) + 1024 + 0 + 0 + 1 + (the-as symbol (-> self root-override trans)) + ) + ) + (sound-play-by-name (-> self open-sound) (new-sound-id) 1024 0 0 1 #t) + (clear-collide-with-as (-> self root-override)) + (until (ja-done? 0) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) (-> self speed)) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) + ) + (if (and gp-0 (rand-vu-percent? 0.5)) + (spawn-projectile-blue *target*) + ) + (suspend) ) - (send-event *target* 'query 'powerup 3) - ) ) - ) - (if gp-0 - (sound-play-by-name - (static-sound-name "blue-eco-on") - (new-sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol (-> self root-override trans)) - ) - ) - (sound-play-by-name (-> self open-sound) (new-sound-id) 1024 0 0 1 #t) - (clear-collide-with-as (-> self root-override)) - (until (ja-done? 0) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) (-> self speed)) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (if (and gp-0 (rand-vu-percent? 0.5)) - (spawn-projectile-blue *target*) - ) - (suspend) - ) + (go-virtual door-open) + (none) ) - (go-virtual door-open) - (none) - ) :post (the-as (function none :behavior eco-door) transform-post) ) @@ -363,47 +304,37 @@ eco-door-event-handler eco-door-event-handler :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (process-entity-status! self (entity-perm-status complete) #t) - (clear-collide-with-as (-> self root-override)) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! - (-> v1-6 frame-num) - (the float (+ (-> v1-6 frame-group data 0 length) -1)) - ) - ) - (logior! (-> self draw status) 2) - (suspend) - (dummy-47 (-> self root-override)) - (ja-post) - (while #t - (let ((f30-0 (vector4-dot (-> self out-dir) (target-pos 0))) - (f28-0 (vector4-dot (-> self out-dir) (camera-pos))) - ) - (when - (and - (-> self auto-close) - (or - (not *target*) - (< - (-> self close-distance) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - ) - (if (and (>= (* f30-0 f28-0) 0.0) (< 16384.0 (fabs f28-0))) - (go-virtual door-closing) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (process-entity-status! self (entity-perm-status complete) #t) + (clear-collide-with-as (-> self root-override)) + (let ((v1-6 (-> self skel root-channel 0))) + (set! (-> v1-6 num-func) num-func-identity) + (set! (-> v1-6 frame-num) (the float (+ (-> v1-6 frame-group data 0 length) -1))) ) - ) + (logior! (-> self draw status) 2) (suspend) + (dummy-47 (-> self root-override)) + (ja-post) + (while #t + (let ((f30-0 (vector4-dot (-> self out-dir) (target-pos 0))) + (f28-0 (vector4-dot (-> self out-dir) (camera-pos))) + ) + (when (and + (-> self auto-close) + (or (not *target*) (< (-> self close-distance) + (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + ) + (if (and (>= (* f30-0 f28-0) 0.0) (< 16384.0 (fabs f28-0))) + (go-virtual door-closing) + ) + ) + ) + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -413,42 +344,30 @@ eco-door-event-handler eco-door-event-handler :code (behavior () - (restore-collide-with-as (-> self root-override)) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (let ((gp-0 (new 'stack 'overlaps-others-params))) - (set! (-> gp-0 options) (the-as uint 1)) - (set! (-> gp-0 tlist) #f) - (while (dummy-40 (-> self root-override) gp-0) - (suspend) - ) - ) - (sound-play-by-name (-> self close-sound) (new-sound-id) 1024 0 0 1 #t) - (until (ja-done? 0) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.0) - (set! (-> a0-7 param 1) (-> self speed)) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! + (restore-collide-with-as (-> self root-override)) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (let ((gp-0 (new 'stack 'overlaps-others-params))) + (set! (-> gp-0 options) (the-as uint 1)) + (set! (-> gp-0 tlist) #f) + (while (dummy-40 (-> self root-override) gp-0) + (suspend) + ) ) - ) - (suspend) + (sound-play-by-name (-> self close-sound) (new-sound-id) 1024 0 0 1 #t) + (until (ja-done? 0) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) 0.0) + (set! (-> a0-7 param 1) (-> self speed)) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + (suspend) + ) + (if (-> self locked) + (sound-play-by-name (static-sound-name "door-lock") (new-sound-id) 1024 0 0 1 #t) + ) + (go-virtual door-closed) + (none) ) - (if (-> self locked) - (sound-play-by-name - (static-sound-name "door-lock") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (go-virtual door-closed) - (none) - ) :post (the-as (function none :behavior eco-door) transform-post) ) @@ -457,15 +376,11 @@ eco-door-event-handler ;; INFO: Return type mismatch int vs none. (defmethod dummy-26 eco-door ((obj eco-door)) (when (-> obj state-actor) - (if - (logtest? - (-> obj state-actor extra perm status) - (entity-perm-status complete) - ) - (set! (-> obj locked) (logtest? (-> obj flags) 2)) - (set! (-> obj locked) (logtest? (-> obj flags) 1)) + (if (logtest? (-> obj state-actor extra perm status) (entity-perm-status complete)) + (set! (-> obj locked) (logtest? (-> obj flags) 2)) + (set! (-> obj locked) (logtest? (-> obj flags) 1)) + ) ) - ) 0 (none) ) @@ -473,31 +388,20 @@ eco-door-event-handler ;; definition for method 24 of type eco-door ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-24 eco-door ((obj eco-door)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 16384.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 16384.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -515,37 +419,33 @@ eco-door-event-handler (TODO-RENAME-24 obj) (process-drawable-from-entity! obj arg0) (let ((f0-0 (res-lump-float (-> obj entity) 'scale :default 1.0))) - (set-vector! (-> obj root-override scale) f0-0 f0-0 f0-0 1.0) - ) + (set-vector! (-> obj root-override scale) f0-0 f0-0 f0-0 1.0) + ) (set! (-> obj open-distance) 32768.0) (set! (-> obj close-distance) 49152.0) (set! (-> obj speed) 1.0) (set! (-> obj state-actor) #f) (let ((v1-5 (entity-actor-lookup arg0 'state-actor 0))) - (if v1-5 - (set! (-> obj state-actor) v1-5) + (if v1-5 + (set! (-> obj state-actor) v1-5) + ) ) - ) (set! (-> obj locked) #f) (set! (-> obj flags) (res-lump-value arg0 'flags int)) (dummy-26 obj) (set! (-> obj auto-close) (logtest? (-> obj flags) 4)) (set! (-> obj one-way) (logtest? (-> obj flags) 8)) (vector-z-quaternion! (-> obj out-dir) (-> obj root-override quat)) - (set! - (-> obj out-dir w) - (- (vector-dot (-> obj out-dir) (-> obj root-override trans))) - ) + (set! (-> obj out-dir w) (- (vector-dot (-> obj out-dir) (-> obj root-override trans)))) (dummy-47 (-> obj root-override)) (TODO-RENAME-25 obj) - (if - (and - (not (-> obj auto-close)) - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (go (method-of-object obj door-open)) - (go (method-of-object obj door-closed)) - ) + (if (and + (not (-> obj auto-close)) + (-> obj entity) + (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) + ) + (go (method-of-object obj door-open)) + (go (method-of-object obj door-closed)) + ) (none) ) diff --git a/test/decompiler/reference/levels/common/battlecontroller_REF.gc b/test/decompiler/reference/levels/common/battlecontroller_REF.gc index d397ed0c4f..06947e5343 100644 --- a/test/decompiler/reference/levels/common/battlecontroller_REF.gc +++ b/test/decompiler/reference/levels/common/battlecontroller_REF.gc @@ -42,10 +42,7 @@ ) ;; definition for method 3 of type battlecontroller-creature-type -(defmethod - inspect - battlecontroller-creature-type - ((obj battlecontroller-creature-type)) +(defmethod inspect battlecontroller-creature-type ((obj battlecontroller-creature-type)) (format #t "[~8x] ~A~%" obj 'battlecontroller-creature-type) (format #t "~Ttype2: ~A~%" (-> obj type2)) (format #t "~Tpercent: ~f~%" (-> obj percent)) @@ -99,13 +96,9 @@ ;; definition for method 3 of type battlecontroller (defmethod inspect battlecontroller ((obj battlecontroller)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) - (format - #t - "~T~Tfinal-pickup-spawn-point: #~%" - (-> obj final-pickup-spawn-point) - ) + (t9-0 obj) + ) + (format #t "~T~Tfinal-pickup-spawn-point: #~%" (-> obj final-pickup-spawn-point)) (format #t "~T~Tactivate-distance: ~f~%" (-> obj activate-distance)) (format #t "~T~Tmax-spawn-count: ~D~%" (-> obj max-spawn-count)) (format #t "~T~Tspawn-count: ~D~%" (-> obj spawn-count)) @@ -121,11 +114,7 @@ (format #t "~T~Tprespawn: ~A~%" (-> obj prespawn)) (format #t "~T~Tnoticed-player: ~A~%" (-> obj noticed-player)) (format #t "~T~Tcamera-on: ~A~%" (-> obj camera-on)) - (format - #t - "~T~Tmisty-ambush-collision-hack: ~A~%" - (-> obj misty-ambush-collision-hack) - ) + (format #t "~T~Tmisty-ambush-collision-hack: ~A~%" (-> obj misty-ambush-collision-hack)) (format #t "~T~Tdisable-ocean: ~A~%" (-> obj disable-ocean)) (format #t "~T~Tdisable-near-ocean: ~A~%" (-> obj disable-near-ocean)) (format #t "~T~Tdisable-mid-ocean: ~A~%" (-> obj disable-mid-ocean)) @@ -135,46 +124,44 @@ ;; definition for function battlecontroller-spawners-full? (defbehavior battlecontroller-spawners-full? battlecontroller () (dotimes (v1-0 (-> self spawner-count)) - (if (= (-> self spawner-array v1-0 creature) #f) - (return #f) + (if (= (-> self spawner-array v1-0 creature) #f) + (return #f) + ) ) - ) #t ) ;; definition for function battlecontroller-default-event-handler ;; Used lq/sq -(defbehavior - battlecontroller-default-event-handler battlecontroller - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('child-die) +(defbehavior battlecontroller-default-event-handler battlecontroller ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('child-die) (+! (-> self die-count) 1) (when (= (-> self die-count) (-> self max-spawn-count)) - (let ((v1-4 (the-as process-drawable arg0))) - (when v1-4 - (set! (-> self final-pickup-spawn-point quad) (-> v1-4 root trans quad)) - (case (-> self final-pickup-type) - (((pickup-type fuel-cell)) - #f + (let ((v1-4 (the-as process-drawable arg0))) + (when v1-4 + (set! (-> self final-pickup-spawn-point quad) (-> v1-4 root trans quad)) + (case (-> self final-pickup-type) + (((pickup-type fuel-cell)) + #f + ) + (else + (set! (-> v1-4 fact pickup-type) (-> self final-pickup-type)) + (set! (-> v1-4 fact pickup-amount) 1.0) + (let ((f0-1 0.0)) + (set! (-> v1-4 fact pickup-spawn-amount) f0-1) + f0-1 + ) + ) + ) ) - (else - (set! (-> v1-4 fact pickup-type) (-> self final-pickup-type)) - (set! (-> v1-4 fact pickup-amount) 1.0) - (let ((f0-1 0.0)) - (set! (-> v1-4 fact pickup-spawn-amount) f0-1) - f0-1 - ) - ) ) - ) ) - ) ) - (('trigger) - (go-virtual battlecontroller-die) + (('trigger) + (go-virtual battlecontroller-die) + ) ) - ) ) ;; failed to figure out what this is: @@ -184,8 +171,8 @@ battlecontroller-default-event-handler ;; INFO: Return type mismatch int vs none. (defbehavior battlecontroller-draw-debug battlecontroller () (dotimes (gp-0 (-> self spawner-count)) - (dummy-9 (-> self spawner-array gp-0 path)) - ) + (dummy-9 (-> self spawner-array gp-0 path)) + ) 0 (none) ) @@ -194,13 +181,13 @@ battlecontroller-default-event-handler ;; INFO: Return type mismatch int vs object. (defbehavior battlecontroller-camera-on battlecontroller () (when (not (-> self camera-on)) - (set! (-> self camera-on) #t) - (let ((v1-4 (res-lump-struct (-> self entity) 'camera-name structure))) - (if v1-4 - (send-event *camera* 'change-to-entity-by-name v1-4) - ) + (set! (-> self camera-on) #t) + (let ((v1-4 (res-lump-struct (-> self entity) 'camera-name structure))) + (if v1-4 + (send-event *camera* 'change-to-entity-by-name v1-4) + ) + ) ) - ) (the-as object 0) ) @@ -217,178 +204,118 @@ battlecontroller-default-event-handler ;; INFO: Return type mismatch int vs none. (defbehavior battlecontroller-update-spawners battlecontroller () (dotimes (gp-0 (-> self spawner-count)) - (let* ((s5-0 (-> self spawner-array gp-0)) - (s4-0 (handle->process (-> s5-0 creature))) + (let* ((s5-0 (-> self spawner-array gp-0)) + (s4-0 (handle->process (-> s5-0 creature))) + ) + (when (and s4-0 (logtest? (-> (the-as nav-enemy s4-0) nav-enemy-flags) 2048)) + (cond + ((< (-> s5-0 state) (-> s5-0 path curve num-cverts)) + (when (or (-> self noticed-player) (= (-> s5-0 state) 1)) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (eval-path-curve-div! (-> s5-0 path) s3-0 (the float (-> s5-0 state)) 'interp) + (send-event s4-0 'cue-jump-to-point s3-0) + ) + (if (zero? (logand (-> (the-as nav-enemy s4-0) nav-enemy-flags) 2048)) + (+! (-> s5-0 state) 1) + ) + ) + ) + (else + (send-event s4-0 'cue-chase) + (set! (-> s5-0 creature) (the-as handle #f)) + ) ) - (when - (and s4-0 (logtest? (-> (the-as nav-enemy s4-0) nav-enemy-flags) 2048)) - (cond - ((< (-> s5-0 state) (-> s5-0 path curve num-cverts)) - (when (or (-> self noticed-player) (= (-> s5-0 state) 1)) - (let ((s3-0 (new 'stack-no-clear 'vector))) - (eval-path-curve-div! - (-> s5-0 path) - s3-0 - (the float (-> s5-0 state)) - 'interp - ) - (send-event s4-0 'cue-jump-to-point s3-0) - ) - (if (zero? (logand (-> (the-as nav-enemy s4-0) nav-enemy-flags) 2048)) - (+! (-> s5-0 state) 1) - ) ) - ) - (else - (send-event s4-0 'cue-chase) - (set! (-> s5-0 creature) (the-as handle #f)) - ) ) - ) ) - ) 0 (none) ) ;; definition for function battlecontroller-spawn-creature ;; INFO: Return type mismatch int vs handle. -(defbehavior - battlecontroller-spawn-creature battlecontroller - ((arg0 vector) (arg1 vector)) +(defbehavior battlecontroller-spawn-creature battlecontroller ((arg0 vector) (arg1 vector)) (local-vars (v1-25 int)) (let ((f0-0 (rand-vu)) (v1-0 0) ) - (dotimes (a0-1 (-> self creature-type-count)) - (when (>= f0-0 0.0) - (set! f0-0 (- f0-0 (-> self creature-type-array a0-1 percent))) - (if (< f0-0 0.0) - (set! v1-0 a0-1) + (dotimes (a0-1 (-> self creature-type-count)) + (when (>= f0-0 0.0) + (set! f0-0 (- f0-0 (-> self creature-type-array a0-1 percent))) + (if (< f0-0 0.0) + (set! v1-0 a0-1) + ) + ) ) - ) - ) - (let* ((s5-0 (-> self creature-type-array v1-0)) - (s2-0 (-> s5-0 type2)) - (s1-0 - (the-as nav-enemy (get-process *default-dead-pool* s2-0 #x4000)) - ) - (gp-0 (when s1-0 - (let ((t9-2 (method-of-type process activate))) - (t9-2 s1-0 self s2-0 (the-as pointer #x70004000)) - ) - (run-now-in-process - s1-0 - nav-enemy-init-by-other - self - arg0 - arg1 - ) - (-> s1-0 ppointer) + (let* ((s5-0 (-> self creature-type-array v1-0)) + (s2-0 (-> s5-0 type2)) + (s1-0 (the-as nav-enemy (get-process *default-dead-pool* s2-0 #x4000))) + (gp-0 (when s1-0 + (let ((t9-2 (method-of-type process activate))) + (t9-2 s1-0 self s2-0 (the-as pointer #x70004000)) + ) + (run-now-in-process s1-0 nav-enemy-init-by-other self arg0 arg1) + (-> s1-0 ppointer) + ) ) ) + (if (and gp-0 (zero? (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info))) + (set! gp-0 (the-as (pointer process) #f)) ) - (if (and gp-0 (zero? (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info))) - (set! gp-0 (the-as (pointer process) #f)) - ) - (when (the-as (pointer nav-enemy) gp-0) - (logclear! - (-> (the-as (pointer nav-enemy) gp-0) 0 mask) - (process-mask actor-pause) + (when (the-as (pointer nav-enemy) gp-0) + (logclear! (-> (the-as (pointer nav-enemy) gp-0) 0 mask) (process-mask actor-pause)) + (if (-> self misty-ambush-collision-hack) + (logior! (-> (the-as (pointer nav-enemy) gp-0) 0 nav-enemy-flags) #x8000) + ) + (+! (-> self spawn-count) 1) + (-> self fact pickup-type) + (cond + ((and (< (-> s5-0 pickup-count) (-> s5-0 max-pickup-count)) (rand-vu-percent? (-> s5-0 pickup-percent))) + (+! (-> s5-0 pickup-count) 1) + (set! v1-25 (-> s5-0 pickup-type)) + ) + (else + (set! v1-25 (the-as int (-> self fact pickup-type))) + ) + ) + (set! (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info pickup-type) (the-as pickup-type v1-25)) + (cond + ((= v1-25 7) + ) + ((zero? v1-25) + (set! (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info pickup-amount) 0.0) + (set! (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info pickup-spawn-amount) 0.0) + ) + (else + (set! (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info pickup-amount) 1.0) + (set! (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info pickup-spawn-amount) 0.0) + (logior! (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info options) (fact-options fade)) + (set! (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info fade-time) 1200) + ) + ) + ) + (the-as handle (ppointer->handle gp-0)) ) - (if (-> self misty-ambush-collision-hack) - (logior! (-> (the-as (pointer nav-enemy) gp-0) 0 nav-enemy-flags) #x8000) - ) - (+! (-> self spawn-count) 1) - (-> self fact pickup-type) - (cond - ((and - (< (-> s5-0 pickup-count) (-> s5-0 max-pickup-count)) - (rand-vu-percent? (-> s5-0 pickup-percent)) - ) - (+! (-> s5-0 pickup-count) 1) - (set! v1-25 (-> s5-0 pickup-type)) - ) - (else - (set! v1-25 (the-as int (-> self fact pickup-type))) - ) - ) - (set! - (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info pickup-type) - (the-as pickup-type v1-25) - ) - (cond - ((= v1-25 7) - ) - ((zero? v1-25) - (set! - (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info pickup-amount) - 0.0 - ) - (set! - (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info pickup-spawn-amount) - 0.0 - ) - ) - (else - (set! - (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info pickup-amount) - 1.0 - ) - (set! - (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info pickup-spawn-amount) - 0.0 - ) - (logior! - (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info options) - (fact-options fade) - ) - (set! (-> (the-as (pointer nav-enemy) gp-0) 0 enemy-info fade-time) 1200) - ) - ) - ) - (the-as handle (ppointer->handle gp-0)) ) - ) ) ;; definition for function battlecontroller-spawn-creature-at-spawner ;; INFO: Return type mismatch int vs none. -(defbehavior - battlecontroller-spawn-creature-at-spawner battlecontroller - ((arg0 int) (arg1 int)) +(defbehavior battlecontroller-spawn-creature-at-spawner battlecontroller ((arg0 int) (arg1 int)) (let* ((s5-0 (-> self spawner-array arg0)) (s3-0 (-> s5-0 path)) - (s4-0 - (eval-path-curve-div! - s3-0 - (new 'stack-no-clear 'vector) - (the float arg1) - 'interp - ) - ) - (a1-3 - (eval-path-curve-div! - s3-0 - (new 'stack-no-clear 'vector) - (the float (+ arg1 1)) - 'interp - ) - ) + (s4-0 (eval-path-curve-div! s3-0 (new 'stack-no-clear 'vector) (the float arg1) 'interp)) + (a1-3 (eval-path-curve-div! s3-0 (new 'stack-no-clear 'vector) (the float (+ arg1 1)) 'interp)) ) - (when - (and - (not (handle->process (-> s5-0 creature))) - (< (-> self spawn-count) (-> self max-spawn-count)) - ) - (let ((v1-10 (battlecontroller-spawn-creature s4-0 a1-3))) - (when (handle->process v1-10) - (set! (-> s5-0 creature) v1-10) - (set! (-> s5-0 state) (+ arg1 1)) + (when (and (not (handle->process (-> s5-0 creature))) (< (-> self spawn-count) (-> self max-spawn-count))) + (let ((v1-10 (battlecontroller-spawn-creature s4-0 a1-3))) + (when (handle->process v1-10) + (set! (-> s5-0 creature) v1-10) + (set! (-> s5-0 state) (+ arg1 1)) + ) + ) ) - ) ) - ) 0 (none) ) @@ -399,43 +326,40 @@ battlecontroller-default-event-handler (let* ((gp-0 (rand-vu-int-count (-> self spawner-count))) (v1-2 (-> self spawner-array gp-0)) ) - (when (and (-> v1-2 enabled) (-> v1-2 blocker-actor)) - (when - (logtest? - (-> v1-2 blocker-actor extra perm status) - (entity-perm-status complete) - ) - (set! (-> v1-2 enabled) #f) - (let ((a0-9 0)) - (dotimes (a1-0 (-> self spawner-count)) - (if (-> self spawner-array a1-0 enabled) - (+! a0-9 1) + (when (and (-> v1-2 enabled) (-> v1-2 blocker-actor)) + (when (logtest? (-> v1-2 blocker-actor extra perm status) (entity-perm-status complete)) + (set! (-> v1-2 enabled) #f) + (let ((a0-9 0)) + (dotimes (a1-0 (-> self spawner-count)) + (if (-> self spawner-array a1-0 enabled) + (+! a0-9 1) + ) + ) + (if (zero? a0-9) + (set! (-> self spawn-count) (-> self max-spawn-count)) + ) + ) ) - ) - (if (zero? a0-9) - (set! (-> self spawn-count) (-> self max-spawn-count)) - ) ) - ) - ) - (when (and (-> v1-2 enabled) (not (handle->process (-> v1-2 creature)))) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 0) - (set! (-> a1-7 message) 'spawn) - (let ((t9-1 send-event-function) - (v1-3 (-> v1-2 trigger-actor)) - ) - (t9-1 (if v1-3 - (-> v1-3 extra process) - ) - a1-7 - ) + (when (and (-> v1-2 enabled) (not (handle->process (-> v1-2 creature)))) + (let ((a1-7 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-7 from) self) + (set! (-> a1-7 num-params) 0) + (set! (-> a1-7 message) 'spawn) + (let ((t9-1 send-event-function) + (v1-3 (-> v1-2 trigger-actor)) + ) + (t9-1 + (if v1-3 + (-> v1-3 extra process) + ) + a1-7 + ) + ) + ) + (battlecontroller-spawn-creature-at-spawner gp-0 0) ) - ) - (battlecontroller-spawn-creature-at-spawner gp-0 0) ) - ) 0 (none) ) @@ -444,21 +368,21 @@ battlecontroller-default-event-handler ;; INFO: Return type mismatch int vs none. (defbehavior battlecontroller-fill-all-spawners battlecontroller () (dotimes (gp-0 (-> self spawner-count)) - (battlecontroller-spawn-creature-at-spawner gp-0 1) - ) - (when (nonzero? (-> self path-spawn)) - (let ((gp-1 (new 'stack-no-clear 'vector))) - (dotimes (s5-0 (-> self path-spawn curve num-cverts)) - (eval-path-curve-div! (-> self path-spawn) gp-1 (the float s5-0) 'interp) - (let ((s4-0 (battlecontroller-spawn-creature gp-1 (-> self root trans)))) - (when (handle->process s4-0) - (suspend) - (send-event (handle->process s4-0) 'cue-chase) - ) - ) - ) + (battlecontroller-spawn-creature-at-spawner gp-0 1) + ) + (when (nonzero? (-> self path-spawn)) + (let ((gp-1 (new 'stack-no-clear 'vector))) + (dotimes (s5-0 (-> self path-spawn curve num-cverts)) + (eval-path-curve-div! (-> self path-spawn) gp-1 (the float s5-0) 'interp) + (let ((s4-0 (battlecontroller-spawn-creature gp-1 (-> self root trans)))) + (when (handle->process s4-0) + (suspend) + (send-event (handle->process s4-0) 'cue-chase) + ) + ) + ) + ) ) - ) 0 (none) ) @@ -468,39 +392,34 @@ battlecontroller-default-event-handler (defbehavior battlecontroller-battle-begin battlecontroller () (set-setting! *setting-control* self 'music 'danger 0.0 0) (let ((gp-0 (entity-actor-count (-> self entity) 'kill-actor))) - (dotimes (s5-0 gp-0) - (let ((v1-2 (entity-actor-lookup (-> self entity) 'kill-actor s5-0))) - (if v1-2 - (logior! (-> v1-2 extra perm status) (entity-perm-status bit-9)) + (dotimes (s5-0 gp-0) + (let ((v1-2 (entity-actor-lookup (-> self entity) 'kill-actor s5-0))) + (if v1-2 + (logior! (-> v1-2 extra perm status) (entity-perm-status bit-9)) + ) + ) ) - ) ) - ) (let ((gp-1 (entity-actor-count (-> self entity) 'trigger-actor))) - (dotimes (s5-1 gp-1) - (let ((s4-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> s4-0 from) self) - (set! (-> s4-0 num-params) 0) - (set! (-> s4-0 message) 'trigger) - (let ((s3-0 send-event-function) - (v1-7 (entity-actor-lookup (-> self entity) 'trigger-actor s5-1)) - ) - (s3-0 (if v1-7 - (-> v1-7 extra process) - ) - s4-0 - ) + (dotimes (s5-1 gp-1) + (let ((s4-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> s4-0 from) self) + (set! (-> s4-0 num-params) 0) + (set! (-> s4-0 message) 'trigger) + (let ((s3-0 send-event-function) + (v1-7 (entity-actor-lookup (-> self entity) 'trigger-actor s5-1)) + ) + (s3-0 + (if v1-7 + (-> v1-7 extra process) + ) + s4-0 + ) + ) + ) ) - ) ) - ) - (level-hint-spawn - (game-text-id zero) - (the-as string #f) - (-> self entity) - *entity-pool* - (game-task none) - ) + (level-hint-spawn (game-text-id zero) (the-as string #f) (-> self entity) *entity-pool* (game-task none)) 0 (none) ) @@ -510,31 +429,31 @@ battlecontroller-default-event-handler (defbehavior battlecontroller-off battlecontroller () (clear-pending-settings-from-process *setting-control* self 'music) (let ((gp-0 (entity-actor-count (-> self entity) 'kill-actor))) - (dotimes (s5-0 gp-0) - (let ((v1-2 (entity-actor-lookup (-> self entity) 'kill-actor s5-0))) - (if v1-2 - (logclear! (-> v1-2 extra perm status) (entity-perm-status bit-9)) + (dotimes (s5-0 gp-0) + (let ((v1-2 (entity-actor-lookup (-> self entity) 'kill-actor s5-0))) + (if v1-2 + (logclear! (-> v1-2 extra perm status) (entity-perm-status bit-9)) + ) + ) ) - ) ) - ) 0 (none) ) ;; definition for function battlecontroller-battle-end (defbehavior battlecontroller-battle-end battlecontroller () - (case (-> (level-get-target-inside *level*) name) - (('citadel) + (case (-> (level-get-target-inside *level*) name) + (('citadel) (level-hint-spawn - (game-text-id misty-battle-finished) - "sksp0378" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (game-text-id misty-battle-finished) + "sksp0378" + (the-as entity #f) + *entity-pool* + (game-task none) + ) ) - ) + ) (battlecontroller-off) (none) ) @@ -545,44 +464,34 @@ battlecontroller-default-event-handler :event battlecontroller-default-event-handler :trans - (behavior () - 0 - (none) - ) + (behavior () 0 (none)) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (if (-> self prespawn) - (battlecontroller-fill-all-spawners) - ) - (while #t - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (when - (and - *target* - (>= - (-> self activate-distance) - (vector-vector-distance - (-> self root trans) - (-> *target* control trans) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (if (-> self prespawn) + (battlecontroller-fill-all-spawners) ) - ) - (set! (-> self noticed-player) #t) - (battlecontroller-battle-begin) - (when (not (-> self prespawn)) - (battlecontroller-fill-all-spawners) - (suspend) - 0 - ) - (go-virtual battlecontroller-play-intro-camera) + (while #t + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (when (and + *target* + (>= (-> self activate-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + ) + (set! (-> self noticed-player) #t) + (battlecontroller-battle-begin) + (when (not (-> self prespawn)) + (battlecontroller-fill-all-spawners) + (suspend) + 0 + ) + (go-virtual battlecontroller-play-intro-camera) + ) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior battlecontroller) #f) ) @@ -593,20 +502,11 @@ battlecontroller-default-event-handler :event battlecontroller-default-event-handler :enter - (behavior () - (process-entity-status! self (entity-perm-status bit-3) #t) - (none) - ) + (behavior () (process-entity-status! self (entity-perm-status bit-3) #t) (none)) :exit - (behavior () - (process-entity-status! self (entity-perm-status bit-3) #f) - (none) - ) + (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (none)) :code - (behavior () - (go-virtual battlecontroller-active) - (none) - ) + (behavior () (go-virtual battlecontroller-active) (none)) ) ;; definition for function battlecontroller-disable-ocean @@ -626,63 +526,49 @@ battlecontroller-default-event-handler battlecontroller-default-event-handler :trans (behavior () - (if - (and - *target* - (>= - (-> self activate-distance) - (vector-vector-distance (-> self root trans) (-> *target* control trans)) - ) - ) - (level-hint-spawn - (game-text-id zero) - (the-as string #f) - (-> self entity) - *entity-pool* - (game-task none) - ) + (if (and + *target* + (>= (-> self activate-distance) (vector-vector-distance (-> self root trans) (-> *target* control trans))) + ) + (level-hint-spawn (game-text-id zero) (the-as string #f) (-> self entity) *entity-pool* (game-task none)) + ) + (battlecontroller-disable-ocean) + (battlecontroller-update-spawners) + (none) ) - (battlecontroller-disable-ocean) - (battlecontroller-update-spawners) - (none) - ) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (battlecontroller-camera-on) - (while #t - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 0)) - (let ((v1-8 (-> self child))) - (while v1-8 - (+! gp-0 1) - (set! v1-8 (-> v1-8 0 brother)) - (nop!) - (nop!) - ) - ) - (if (and (zero? gp-0) (= (-> self spawn-count) (-> self max-spawn-count))) - (go-virtual battlecontroller-die) - ) - (when (< gp-0 (-> self target-count)) - (let ((gp-1 (-> *display* base-frame-counter))) - (until - (>= - (- (-> *display* base-frame-counter) gp-1) - (the-as int (-> self spawn-period)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (battlecontroller-camera-on) + (while #t + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((gp-0 0)) + (let ((v1-8 (-> self child))) + (while v1-8 + (+! gp-0 1) + (set! v1-8 (-> v1-8 0 brother)) + (nop!) + (nop!) + ) + ) + (if (and (zero? gp-0) (= (-> self spawn-count) (-> self max-spawn-count))) + (go-virtual battlecontroller-die) + ) + (when (< gp-0 (-> self target-count)) + (let ((gp-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-1) (the-as int (-> self spawn-period))) + (suspend) + ) + ) + (battlecontroller-spawn-creature-random-spawner) + ) ) - (suspend) - ) ) - (battlecontroller-spawn-creature-random-spawner) - ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior battlecontroller) #f) ) @@ -701,9 +587,9 @@ battlecontroller-default-event-handler ;; INFO: Return type mismatch int vs none. (defbehavior battlecontroller-set-special-contents-collected battlecontroller () (let ((v1-2 (-> self entity extra perm))) - (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) - (set! (-> v1-2 user-int8 0) 2) - ) + (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) + (set! (-> v1-2 user-int8 0) 2) + ) 0 (none) ) @@ -717,9 +603,9 @@ battlecontroller-default-event-handler ;; INFO: Return type mismatch int vs none. (defbehavior battlecontroller-set-task-completed battlecontroller () (let ((v1-2 (-> self entity extra perm))) - (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) - (set! (-> v1-2 user-int8 0) 1) - ) + (logior! (-> v1-2 status) (entity-perm-status user-set-from-cstage)) + (set! (-> v1-2 user-int8 0) 1) + ) 0 (none) ) @@ -729,84 +615,74 @@ battlecontroller-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior battlecontroller) - process-drawable-fuel-cell-handler - ) + (function process int symbol event-message-block object :behavior battlecontroller) + process-drawable-fuel-cell-handler + ) :code (behavior () - (sound-play-by-name - (static-sound-name "money-pickup") - (new-sound-id) - 1024 - -2286 - 0 - 1 - #f - ) - (battlecontroller-battle-end) - (battlecontroller-camera-off) - (battlecontroller-set-task-completed) - (countdown (gp-1 (entity-actor-count (-> self entity) 'fade-actor)) - (let ((s5-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> s5-1 from) self) - (set! (-> s5-1 num-params) 0) - (set! (-> s5-1 message) 'fade) - (let ((s4-0 send-event-function) - (v1-2 (entity-actor-lookup (-> self entity) 'fade-actor gp-1)) - ) - (s4-0 (if v1-2 - (-> v1-2 extra process) - ) - s5-1 - ) + (sound-play-by-name (static-sound-name "money-pickup") (new-sound-id) 1024 -2286 0 1 #f) + (battlecontroller-battle-end) + (battlecontroller-camera-off) + (battlecontroller-set-task-completed) + (countdown (gp-1 (entity-actor-count (-> self entity) 'fade-actor)) + (let ((s5-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> s5-1 from) self) + (set! (-> s5-1 num-params) 0) + (set! (-> s5-1 message) 'fade) + (let ((s4-0 send-event-function) + (v1-2 (entity-actor-lookup (-> self entity) 'fade-actor gp-1)) + ) + (s4-0 + (if v1-2 + (-> v1-2 extra process) + ) + s5-1 + ) + ) + ) ) - ) - ) - (countdown (gp-2 (entity-actor-count (-> self entity) 'alt-actor)) - (let ((s5-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> s5-2 from) self) - (set! (-> s5-2 num-params) 0) - (set! (-> s5-2 message) 'trigger) - (let ((s4-1 send-event-function) - (v1-8 (entity-actor-lookup (-> self entity) 'alt-actor gp-2)) - ) - (s4-1 (if v1-8 - (-> v1-8 extra process) - ) - s5-2 - ) + (countdown (gp-2 (entity-actor-count (-> self entity) 'alt-actor)) + (let ((s5-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> s5-2 from) self) + (set! (-> s5-2 num-params) 0) + (set! (-> s5-2 message) 'trigger) + (let ((s4-1 send-event-function) + (v1-8 (entity-actor-lookup (-> self entity) 'alt-actor gp-2)) + ) + (s4-1 + (if v1-8 + (-> v1-8 extra process) + ) + s5-2 + ) + ) + ) + ) + (when (and (battlecontroller-special-contents?) (not (battlecontroller-special-contents-collected?))) + (label cfg-15) + (birth-pickup-at-point + (-> self final-pickup-spawn-point) + (-> self final-pickup-type) + (the float (-> self entity extra perm task)) + #f + self + (the-as fact-info #f) + ) + (when (not (-> self child)) + (suspend) + (goto cfg-15) + ) + (while (-> self child) + (suspend) + ) + (battlecontroller-set-special-contents-collected) ) - ) - ) - (when - (and - (battlecontroller-special-contents?) - (not (battlecontroller-special-contents-collected?)) - ) - (label cfg-15) - (birth-pickup-at-point - (-> self final-pickup-spawn-point) - (-> self final-pickup-type) - (the float (-> self entity extra perm task)) - #f - self - (the-as fact-info #f) - ) - (when (not (-> self child)) - (suspend) - (goto cfg-15) - ) (while (-> self child) - (suspend) - ) - (battlecontroller-set-special-contents-collected) + (suspend) + ) + (process-entity-status! self (entity-perm-status dead) #t) + (none) ) - (while (-> self child) - (suspend) - ) - (process-entity-status! self (entity-perm-status dead) #t) - (none) - ) :post (the-as (function none :behavior battlecontroller) #f) ) @@ -815,47 +691,36 @@ battlecontroller-default-event-handler ;; INFO: Return type mismatch process-drawable vs battlecontroller. (defmethod relocate battlecontroller ((obj battlecontroller) (arg0 int)) (dotimes (v1-0 (-> obj spawner-count)) - (let ((a0-3 (-> obj spawner-array v1-0))) - (if (nonzero? (-> a0-3 path)) - (&+! (-> a0-3 path) arg0) - ) + (let ((a0-3 (-> obj spawner-array v1-0))) + (if (nonzero? (-> a0-3 path)) + (&+! (-> a0-3 path) arg0) + ) + ) ) - ) (if (nonzero? (-> obj path-spawn)) - (&+! (-> obj path-spawn) arg0) - ) + (&+! (-> obj path-spawn) arg0) + ) (the-as - battlecontroller - ((the-as - (function process-drawable int process-drawable) - (find-parent-method battlecontroller 7) - ) - obj - arg0 + battlecontroller + ((the-as (function process-drawable int process-drawable) (find-parent-method battlecontroller 7)) obj arg0) ) - ) ) ;; definition for method 10 of type battlecontroller ;; INFO: Return type mismatch int vs none. (defmethod deactivate battlecontroller ((obj battlecontroller)) (with-pp - (let ((gp-0 pp)) - (let ((s6-1 obj)) - ) - (battlecontroller-off) - (let ((s6-2 gp-0)) - ) + (let ((gp-0 pp)) + (let ((s6-1 obj)) + ) + (battlecontroller-off) + (let ((s6-2 gp-0)) + ) + ) + ((the-as (function process-drawable none) (find-parent-method battlecontroller 10)) obj) + 0 + (none) ) - ((the-as - (function process-drawable none) - (find-parent-method battlecontroller 10) - ) - obj - ) - 0 - (none) - ) ) ;; definition for method 27 of type battlecontroller @@ -863,84 +728,61 @@ battlecontroller-default-event-handler ;; Used lq/sq (defmethod TODO-RENAME-27 battlecontroller ((obj battlecontroller)) (local-vars (sv-16 res-tag)) - (set! - (-> obj fact) - (new - 'process - 'fact-info - obj - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) - ) - ) + (set! (-> obj fact) + (new 'process 'fact-info obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> obj activate-distance) 122880.0) (let ((s5-0 0)) - (let* ((s4-0 '(patha pathb pathc pathd pathe pathf pathg pathh)) - (s2-0 (car s4-0)) + (let* ((s4-0 '(patha pathb pathc pathd pathe pathf pathg pathh)) + (s2-0 (car s4-0)) + ) + (while (not (null? s4-0)) + (let ((v1-7 (res-lump-struct (-> obj entity) (the-as symbol s2-0) structure)) + (s3-0 (-> obj spawner-array s5-0)) + ) + (when (and v1-7 (< s5-0 8)) + (set! (-> s3-0 path) (new 'process 'path-control obj (the-as symbol s2-0) 0.0)) + (set! (-> s3-0 creature) (the-as handle #f)) + (set! (-> s3-0 trigger-actor) #f) + (set! (-> s3-0 blocker-actor) #f) + (set! (-> s3-0 enabled) #t) + (logior! (-> s3-0 path flags) (path-control-flag display draw-line draw-point draw-text)) + (+! s5-0 1) + ) ) - (while (not (null? s4-0)) - (let - ((v1-7 (res-lump-struct (-> obj entity) (the-as symbol s2-0) structure)) - (s3-0 (-> obj spawner-array s5-0)) - ) - (when (and v1-7 (< s5-0 8)) - (set! - (-> s3-0 path) - (new 'process 'path-control obj (the-as symbol s2-0) 0.0) + (set! s4-0 (cdr s4-0)) + (set! s2-0 (car s4-0)) ) - (set! (-> s3-0 creature) (the-as handle #f)) - (set! (-> s3-0 trigger-actor) #f) - (set! (-> s3-0 blocker-actor) #f) - (set! (-> s3-0 enabled) #t) - (logior! - (-> s3-0 path flags) - (path-control-flag display draw-line draw-point draw-text) - ) - (+! s5-0 1) - ) ) - (set! s4-0 (cdr s4-0)) - (set! s2-0 (car s4-0)) - ) + (set! (-> obj spawner-count) s5-0) ) - (set! (-> obj spawner-count) s5-0) - ) 0 (if (res-lump-struct (-> obj entity) 'pathspawn structure) - (set! (-> obj path-spawn) (new 'process 'path-control obj 'pathspawn 0.0)) - ) + (set! (-> obj path-spawn) (new 'process 'path-control obj 'pathspawn 0.0)) + ) (let ((s5-1 (entity-actor-count (-> obj entity) 'spawner-trigger-actor))) - (dotimes (s4-1 s5-1) - (if (< s4-1 (-> obj spawner-count)) - (set! - (-> obj spawner-array s4-1 trigger-actor) - (entity-actor-lookup (-> obj entity) 'spawner-trigger-actor s4-1) + (dotimes (s4-1 s5-1) + (if (< s4-1 (-> obj spawner-count)) + (set! (-> obj spawner-array s4-1 trigger-actor) + (entity-actor-lookup (-> obj entity) 'spawner-trigger-actor s4-1) + ) + ) ) - ) ) - ) (let ((s5-2 (entity-actor-count (-> obj entity) 'spawner-blocker-actor))) - (dotimes (s4-2 s5-2) - (if (< s4-2 (-> obj spawner-count)) - (set! - (-> obj spawner-array s4-2 blocker-actor) - (entity-actor-lookup (-> obj entity) 'spawner-blocker-actor s4-2) + (dotimes (s4-2 s5-2) + (if (< s4-2 (-> obj spawner-count)) + (set! (-> obj spawner-array s4-2 blocker-actor) + (entity-actor-lookup (-> obj entity) 'spawner-blocker-actor s4-2) + ) + ) ) - ) ) - ) - (set! - (-> obj spawn-period) - (the-as - uint - (the int (* 300.0 (res-lump-float (-> obj entity) 'delay :default 0.1))) - ) - ) + (set! (-> obj spawn-period) + (the-as uint (the int (* 300.0 (res-lump-float (-> obj entity) 'delay :default 0.1)))) + ) (set! (-> obj target-count) 10) (set! (-> obj max-spawn-count) 100) (set! (-> obj spawn-count) 0) @@ -949,100 +791,74 @@ battlecontroller-default-event-handler (set! (-> obj noticed-player) #f) (set! (-> obj camera-on) #f) (let ((v1-46 (res-lump-data (-> obj entity) 'num-lurkers (pointer int32)))) - (when v1-46 - (set! (-> obj target-count) (-> v1-46 0)) - (set! (-> obj max-spawn-count) (-> v1-46 1)) + (when v1-46 + (set! (-> obj target-count) (-> v1-46 0)) + (set! (-> obj max-spawn-count) (-> v1-46 1)) + ) ) - ) (set! (-> obj creature-type-array 0 type2) babak) (set! (-> obj creature-type-array 0 percent) 1.0) (let ((s5-3 0)) - (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-49 - (res-lump-data (-> obj entity) 'lurker-type pointer :tag-ptr (& sv-16)) - ) - ) - (when v1-49 - (dotimes (a0-22 (the-as int (-> sv-16 elt-count))) - (let ((a1-15 (-> (the-as (pointer uint32) (&+ v1-49 (* a0-22 4)))))) - (when (nonzero? a1-15) - (set! (-> obj creature-type-array s5-3 type2) (the-as type a1-15)) - (+! s5-3 1) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-49 (res-lump-data (-> obj entity) 'lurker-type pointer :tag-ptr (& sv-16)))) + (when v1-49 + (dotimes (a0-22 (the-as int (-> sv-16 elt-count))) + (let ((a1-15 (-> (the-as (pointer uint32) (&+ v1-49 (* a0-22 4)))))) + (when (nonzero? a1-15) + (set! (-> obj creature-type-array s5-3 type2) (the-as type a1-15)) + (+! s5-3 1) + ) + ) + ) ) - ) ) - ) + (set! (-> obj creature-type-count) s5-3) ) - (set! (-> obj creature-type-count) s5-3) - ) (let ((v1-52 (res-lump-data (-> obj entity) 'percent pointer)) (f0-6 0.0) ) - (when v1-52 - (dotimes (a0-26 (-> obj creature-type-count)) - (set! - (-> obj creature-type-array a0-26 percent) - (fabs (-> (the-as (pointer float) (&+ v1-52 (* a0-26 4))))) - ) - (+! f0-6 (-> obj creature-type-array a0-26 percent)) - ) - (cond - ((= f0-6 0.0) - (set! (-> obj creature-type-count) 1) - (set! (-> obj creature-type-array 0 percent) 1.0) - ) - (else - (let ((f0-9 (/ 1.0 f0-6))) - (dotimes (v1-57 (-> obj creature-type-count)) - (set! - (-> obj creature-type-array 0 percent) - (* (-> obj creature-type-array 0 percent) f0-9) - ) + (when v1-52 + (dotimes (a0-26 (-> obj creature-type-count)) + (set! (-> obj creature-type-array a0-26 percent) (fabs (-> (the-as (pointer float) (&+ v1-52 (* a0-26 4)))))) + (+! f0-6 (-> obj creature-type-array a0-26 percent)) + ) + (cond + ((= f0-6 0.0) + (set! (-> obj creature-type-count) 1) + (set! (-> obj creature-type-array 0 percent) 1.0) + ) + (else + (let ((f0-9 (/ 1.0 f0-6))) + (dotimes (v1-57 (-> obj creature-type-count)) + (set! (-> obj creature-type-array 0 percent) (* (-> obj creature-type-array 0 percent) f0-9)) + ) + ) + ) ) - ) ) - ) ) - ) - (set! - (-> obj final-pickup-type) - (res-lump-value - (-> obj entity) - 'final-pickup - pickup-type - :default - (the-as uint128 7) - ) - ) + (set! (-> obj final-pickup-type) + (res-lump-value (-> obj entity) 'final-pickup pickup-type :default (the-as uint128 7)) + ) (let ((s5-4 (res-lump-data (-> obj entity) 'pickup-type pointer)) (s4-3 (res-lump-data (-> obj entity) 'max-pickup-count pointer)) (v1-63 (res-lump-data (-> obj entity) 'pickup-percent pointer)) ) - (dotimes (a0-34 (-> obj creature-type-count)) - (let ((a1-34 (-> obj creature-type-array a0-34))) - (set! (-> a1-34 pickup-count) 0) - (if s5-4 - (set! - (-> a1-34 pickup-type) - (-> (the-as (pointer int32) (&+ s5-4 (* a0-34 4)))) - ) + (dotimes (a0-34 (-> obj creature-type-count)) + (let ((a1-34 (-> obj creature-type-array a0-34))) + (set! (-> a1-34 pickup-count) 0) + (if s5-4 + (set! (-> a1-34 pickup-type) (-> (the-as (pointer int32) (&+ s5-4 (* a0-34 4))))) + ) + (if s4-3 + (set! (-> a1-34 max-pickup-count) (-> (the-as (pointer int32) (&+ s4-3 (* a0-34 4))))) + ) + (if v1-63 + (set! (-> a1-34 pickup-percent) (-> (the-as (pointer float) (&+ v1-63 (* a0-34 4))))) + ) + ) ) - (if s4-3 - (set! - (-> a1-34 max-pickup-count) - (-> (the-as (pointer int32) (&+ s4-3 (* a0-34 4)))) - ) - ) - (if v1-63 - (set! - (-> a1-34 pickup-percent) - (-> (the-as (pointer float) (&+ v1-63 (* a0-34 4)))) - ) - ) - ) ) - ) (set! (-> obj misty-ambush-collision-hack) #f) (set! (-> obj disable-ocean) #f) (set! (-> obj disable-mid-ocean) #f) @@ -1057,18 +873,15 @@ battlecontroller-default-event-handler ;; INFO: Return type mismatch int vs none. (defmethod cleanup-if-finished! battlecontroller ((obj battlecontroller)) (if (battlecontroller-task-completed?) - (go (method-of-object obj battlecontroller-die)) - (go (method-of-object obj battlecontroller-idle)) - ) + (go (method-of-object obj battlecontroller-die)) + (go (method-of-object obj battlecontroller-idle)) + ) 0 (none) ) ;; definition for method 11 of type battlecontroller -(defmethod - init-from-entity! - battlecontroller - ((obj battlecontroller) (arg0 entity-actor)) +(defmethod init-from-entity! battlecontroller ((obj battlecontroller) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) diff --git a/test/decompiler/reference/levels/common/blocking-plane_REF.gc b/test/decompiler/reference/levels/common/blocking-plane_REF.gc index 1eb2491e9d..3610c2efa0 100644 --- a/test/decompiler/reference/levels/common/blocking-plane_REF.gc +++ b/test/decompiler/reference/levels/common/blocking-plane_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type blocking-plane (defmethod inspect blocking-plane ((obj blocking-plane)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -31,87 +31,60 @@ (defstate blocking-plane-idle (blocking-plane) :code (behavior () - (transform-post) - (while #t - (logior! (-> self mask) (process-mask sleep)) - (suspend) + (transform-post) + (while #t + (logior! (-> self mask) (process-mask sleep)) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for function blocking-plane-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - blocking-plane-init-by-other blocking-plane - ((arg0 curve-control) (arg1 int)) +(defbehavior blocking-plane-init-by-other blocking-plane ((arg0 curve-control) (arg1 int)) (if (or (not arg0) (logtest? (-> arg0 flags) (path-control-flag not-found))) - (deactivate self) - ) + (deactivate self) + ) (let ((s5-0 (new 'static 'vector)) (gp-0 (new 'static 'vector)) ) - 0.0 - (eval-path-curve-div! arg0 s5-0 (the float arg1) 'exact) - (eval-path-curve-div! arg0 gp-0 (+ 1.0 (the float arg1)) 'exact) - (let ((f30-1 (* 0.5 (vector-vector-distance s5-0 gp-0))) - (s4-1 - (new - 'process - 'collide-shape - self - (collide-list-enum usually-hit-by-player) - ) + 0.0 + (eval-path-curve-div! arg0 s5-0 (the float arg1) 'exact) + (eval-path-curve-div! arg0 gp-0 (+ 1.0 (the float arg1)) 'exact) + (let ((f30-1 (* 0.5 (vector-vector-distance s5-0 gp-0))) + (s4-1 (new 'process 'collide-shape self (collide-list-enum usually-hit-by-player))) ) - ) - (let - ((s3-1 - (new - 'process - 'collide-shape-prim-mesh - s4-1 - (the-as uint 0) - (the-as uint 0) + (let ((s3-1 (new 'process 'collide-shape-prim-mesh s4-1 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 4) + (set! (-> s3-1 transform-index) 3) + (set-vector! (-> s3-1 local-sphere) 0.0 0.0 0.0 (fmax 122880.0 f30-1)) + (set-root-prim! s4-1 s3-1) ) - ) + (set! (-> s4-1 nav-radius) (* 0.75 (-> s4-1 root-prim local-sphere w))) + (backup-collide-with-as s4-1) + (set! (-> self root) s4-1) ) - (set! (-> s3-1 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 4) - (set! (-> s3-1 transform-index) 3) - (set-vector! (-> s3-1 local-sphere) 0.0 0.0 0.0 (fmax 122880.0 f30-1)) - (set-root-prim! s4-1 s3-1) - ) - (set! (-> s4-1 nav-radius) (* 0.75 (-> s4-1 root-prim local-sphere w))) - (backup-collide-with-as s4-1) - (set! (-> self root) s4-1) - ) - (let ((s4-2 (new-stack-matrix0))) - (vector+! (-> self root trans) s5-0 gp-0) - (vector-float*! (-> self root trans) (-> self root trans) 0.5) - (set! (-> self root trans y) (+ 61440.0 (-> self root trans y))) - (vector-! (the-as vector (-> s4-2 vector)) gp-0 s5-0) - (set! - (-> self root scale x) - (* - 0.00024414062 - (vector-normalize-ret-len! (the-as vector (-> s4-2 vector)) 1.0) + (let ((s4-2 (new-stack-matrix0))) + (vector+! (-> self root trans) s5-0 gp-0) + (vector-float*! (-> self root trans) (-> self root trans) 0.5) + (set! (-> self root trans y) (+ 61440.0 (-> self root trans y))) + (vector-! (the-as vector (-> s4-2 vector)) gp-0 s5-0) + (set! (-> self root scale x) + (* 0.00024414062 (vector-normalize-ret-len! (the-as vector (-> s4-2 vector)) 1.0)) + ) + (set! (-> self root scale y) 30.0) + (set! (-> self root scale z) 0.0) + (set! (-> s4-2 vector 1 quad) (-> (new 'static 'vector :y 1.0 :w 1.0) quad)) + (vector-cross! (-> s4-2 vector 2) (the-as vector (-> s4-2 vector)) (-> s4-2 vector 1)) + (vector-normalize! (-> s4-2 vector 2) 1.0) + (matrix->quaternion (-> self root quat) s4-2) ) - ) - (set! (-> self root scale y) 30.0) - (set! (-> self root scale z) 0.0) - (set! (-> s4-2 vector 1 quad) (-> (new 'static 'vector :y 1.0 :w 1.0) quad)) - (vector-cross! - (-> s4-2 vector 2) - (the-as vector (-> s4-2 vector)) - (-> s4-2 vector 1) - ) - (vector-normalize! (-> s4-2 vector 2) 1.0) - (matrix->quaternion (-> self root quat) s4-2) ) - ) (initialize-skeleton self *ef-plane-sg* '()) (logior! (-> self draw status) 32) (go blocking-plane-idle) @@ -122,53 +95,48 @@ ;; INFO: Return type mismatch int vs none. (defun blocking-plane-spawn ((arg0 curve-control)) (with-pp - (cond - ((or (not arg0) (logtest? (-> arg0 flags) (path-control-flag not-found))) - ) - (else - (let ((s5-0 (the int (the float (+ (-> arg0 curve num-cverts) -1)))) - (s4-0 0) - ) - (while (< s4-0 s5-0) - (let ((s3-0 (get-process *default-dead-pool* blocking-plane #x4000))) - (when s3-0 - (let ((t9-1 (method-of-type blocking-plane activate))) - (t9-1 - (the-as blocking-plane s3-0) - pp - 'blocking-plane - (the-as pointer #x70004000) - ) - ) - (run-now-in-process s3-0 blocking-plane-init-by-other arg0 s4-0) - (-> s3-0 ppointer) - ) - ) - (+! s4-0 2) + (cond + ((or (not arg0) (logtest? (-> arg0 flags) (path-control-flag not-found))) ) + (else + (let ((s5-0 (the int (the float (+ (-> arg0 curve num-cverts) -1)))) + (s4-0 0) + ) + (while (< s4-0 s5-0) + (let ((s3-0 (get-process *default-dead-pool* blocking-plane #x4000))) + (when s3-0 + (let ((t9-1 (method-of-type blocking-plane activate))) + (t9-1 (the-as blocking-plane s3-0) pp 'blocking-plane (the-as pointer #x70004000)) + ) + (run-now-in-process s3-0 blocking-plane-init-by-other arg0 s4-0) + (-> s3-0 ppointer) + ) + ) + (+! s4-0 2) + ) + ) + ) ) - ) + 0 + (none) ) - 0 - (none) - ) ) ;; definition for function blocking-plane-destroy ;; INFO: Return type mismatch int vs none. (defun blocking-plane-destroy () (with-pp - (let ((gp-0 (-> pp child))) - (while gp-0 - (let ((s5-0 (ppointer->process gp-0))) - (set! gp-0 (-> gp-0 0 brother)) - (if (type-type? (-> s5-0 type) blocking-plane) - (deactivate s5-0) - ) + (let ((gp-0 (-> pp child))) + (while gp-0 + (let ((s5-0 (ppointer->process gp-0))) + (set! gp-0 (-> gp-0 0 brother)) + (if (type-type? (-> s5-0 type) blocking-plane) + (deactivate s5-0) + ) + ) + ) ) - ) + 0 + (none) ) - 0 - (none) - ) ) diff --git a/test/decompiler/reference/levels/common/dark-eco-pool_REF.gc b/test/decompiler/reference/levels/common/dark-eco-pool_REF.gc index 2a54e8f89e..05f0bf17c8 100644 --- a/test/decompiler/reference/levels/common/dark-eco-pool_REF.gc +++ b/test/decompiler/reference/levels/common/dark-eco-pool_REF.gc @@ -13,507 +13,460 @@ ;; definition for method 3 of type dark-eco-pool (defmethod inspect dark-eco-pool ((obj dark-eco-pool)) (let ((t9-0 (method-of-type water-anim inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for symbol ripple-for-misty-dark-eco-pool, type ripple-wave-set -(define - ripple-for-misty-dark-eco-pool - (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 3.0 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 0.5) - (new 'static 'ripple-wave :scale 15.0 :xdiv -2 :zdiv 2 :speed 2.0) - (new 'static 'ripple-wave :scale 3.0 :xdiv 5 :zdiv 3 :speed 2.0) - (new 'static 'ripple-wave) - ) - ) - ) +(define ripple-for-misty-dark-eco-pool (new 'static 'ripple-wave-set + :count 3 + :converted #f + :normal-scale 3.0 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 0.5) + (new 'static 'ripple-wave :scale 15.0 :xdiv -2 :zdiv 2 :speed 2.0) + (new 'static 'ripple-wave :scale 3.0 :xdiv 5 :zdiv 3 :speed 2.0) + (new 'static 'ripple-wave) + ) + ) + ) ;; definition for symbol ripple-for-maincave-dark-eco-pool, type ripple-wave-set (define ripple-for-maincave-dark-eco-pool (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 8.57 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 14.0 :xdiv 1 :speed 1.0) - (new 'static 'ripple-wave :scale 5.25 :xdiv -1 :zdiv 1 :speed 4.0) - (new 'static 'ripple-wave :scale 0.7 :xdiv 5 :zdiv 3 :speed 2.0) - (new 'static 'ripple-wave) + :count 3 + :converted #f + :normal-scale 8.57 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 14.0 :xdiv 1 :speed 1.0) + (new 'static 'ripple-wave :scale 5.25 :xdiv -1 :zdiv 1 :speed 4.0) + (new 'static 'ripple-wave :scale 0.7 :xdiv 5 :zdiv 3 :speed 2.0) + (new 'static 'ripple-wave) + ) ) - ) ) ;; definition for symbol ripple-for-finalboss-dark-eco-pool, type ripple-wave-set (define ripple-for-finalboss-dark-eco-pool (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 4.0 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 25.0 :xdiv 2 :speed -2.0) - (new 'static 'ripple-wave :scale 15.0 :xdiv -2 :zdiv 2 :speed 3.0) - (new 'static 'ripple-wave :scale 4.0 :xdiv 5 :zdiv 3 :speed 4.0) - (new 'static 'ripple-wave) + :count 3 + :converted #f + :normal-scale 4.0 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 25.0 :xdiv 2 :speed -2.0) + (new 'static 'ripple-wave :scale 15.0 :xdiv -2 :zdiv 2 :speed 3.0) + (new 'static 'ripple-wave :scale 4.0 :xdiv 5 :zdiv 3 :speed 4.0) + (new 'static 'ripple-wave) + ) ) - ) ) ;; definition for symbol ripple-for-dark-eco-pool, type ripple-wave-set -(define - ripple-for-dark-eco-pool - (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 3.0 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.0) - (new 'static 'ripple-wave :scale 15.0 :xdiv -1 :zdiv 1 :speed 4.0) - (new 'static 'ripple-wave :scale 2.0 :xdiv 5 :zdiv 3 :speed 2.0) - (new 'static 'ripple-wave) - ) - ) - ) +(define ripple-for-dark-eco-pool (new 'static 'ripple-wave-set + :count 3 + :converted #f + :normal-scale 3.0 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.0) + (new 'static 'ripple-wave :scale 15.0 :xdiv -1 :zdiv 1 :speed 4.0) + (new 'static 'ripple-wave :scale 2.0 :xdiv 5 :zdiv 3 :speed 2.0) + (new 'static 'ripple-wave) + ) + ) + ) ;; definition for symbol ripple-for-sunken-dark-eco-helix-room, type ripple-wave-set (define ripple-for-sunken-dark-eco-helix-room (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 8.0 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 15.0 :xdiv 1 :speed 1.0) - (new 'static 'ripple-wave :scale 5.625 :xdiv -1 :zdiv 1 :speed 4.0) - (new 'static 'ripple-wave :scale 0.75 :xdiv 5 :zdiv 3 :speed 2.0) - (new 'static 'ripple-wave) + :count 3 + :converted #f + :normal-scale 8.0 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 15.0 :xdiv 1 :speed 1.0) + (new 'static 'ripple-wave :scale 5.625 :xdiv -1 :zdiv 1 :speed 4.0) + (new 'static 'ripple-wave :scale 0.75 :xdiv 5 :zdiv 3 :speed 2.0) + (new 'static 'ripple-wave) + ) ) - ) ) ;; definition for method 25 of type dark-eco-pool (defmethod TODO-RENAME-25 dark-eco-pool ((obj dark-eco-pool)) (let ((t9-0 (method-of-type water-anim TODO-RENAME-25))) - (t9-0 obj) - ) + (t9-0 obj) + ) (set! (-> obj flags) (logand -8388609 (-> obj flags))) (set! (-> obj flags) (logior #x1000000 (-> obj flags))) - (let - ((v0-1 - ((the-as - (function res-lump symbol symbol float structure (pointer res-tag) pointer object) - (method-of-type res-lump get-property-struct) - ) - (-> obj entity) - 'attack-event - 'interp - -1000000000.0 - 'dark-eco-pool - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) + (let ((v0-1 ((the-as + (function res-lump symbol symbol float structure (pointer res-tag) pointer object) + (method-of-type res-lump get-property-struct) + ) + (-> obj entity) + 'attack-event + 'interp + -1000000000.0 + 'dark-eco-pool + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + ) + (set! (-> obj attack-event) (the-as symbol v0-1)) + v0-1 ) - (set! (-> obj attack-event) (the-as symbol v0-1)) - v0-1 - ) ) ;; definition for method 22 of type dark-eco-pool (defmethod TODO-RENAME-22 dark-eco-pool ((obj dark-eco-pool)) (local-vars (v0-3 ripple-wave-set)) (let ((t9-0 (method-of-type water-anim TODO-RENAME-22))) - (t9-0 obj) - ) + (t9-0 obj) + ) (let ((gp-0 (new 'process 'ripple-control))) - (set! (-> obj draw ripple) gp-0) - (set! (-> gp-0 global-scale) 3072.0) - (set! (-> gp-0 close-fade-dist) 163840.0) - (set! (-> gp-0 far-fade-dist) 245760.0) - (set! (-> gp-0 waveform) ripple-for-dark-eco-pool) - (set! (-> gp-0 query) (new 'process 'ripple-merc-query 100)) - (case (-> obj look) - ((32) - (set! v0-3 ripple-for-misty-dark-eco-pool) - (set! (-> gp-0 waveform) v0-3) - v0-3 + (set! (-> obj draw ripple) gp-0) + (set! (-> gp-0 global-scale) 3072.0) + (set! (-> gp-0 close-fade-dist) 163840.0) + (set! (-> gp-0 far-fade-dist) 245760.0) + (set! (-> gp-0 waveform) ripple-for-dark-eco-pool) + (set! (-> gp-0 query) (new 'process 'ripple-merc-query 100)) + (case (-> obj look) + ((32) + (set! v0-3 ripple-for-misty-dark-eco-pool) + (set! (-> gp-0 waveform) v0-3) + v0-3 + ) + ((15 16 17 18 19 20) + (set! v0-3 ripple-for-maincave-dark-eco-pool) + (set! (-> gp-0 waveform) v0-3) + v0-3 + ) + ((40) + (set! v0-3 ripple-for-sunken-dark-eco-helix-room) + (set! (-> gp-0 waveform) v0-3) + v0-3 + ) + ((41) + (set! v0-3 ripple-for-finalboss-dark-eco-pool) + (set! (-> gp-0 waveform) v0-3) + v0-3 + ) ) - ((15 16 17 18 19 20) - (set! v0-3 ripple-for-maincave-dark-eco-pool) - (set! (-> gp-0 waveform) v0-3) - v0-3 - ) - ((40) - (set! v0-3 ripple-for-sunken-dark-eco-helix-room) - (set! (-> gp-0 waveform) v0-3) - v0-3 - ) - ((41) - (set! v0-3 ripple-for-finalboss-dark-eco-pool) - (set! (-> gp-0 waveform) v0-3) - v0-3 - ) ) - ) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 444) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-dark-eco-nasty" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2020 :fade-after (meters 50.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 444) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-dark-eco-nasty" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2020 :fade-after (meters 50.0))) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2020) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 4.0) 1.0) - (sp-flt spt-scale-y (meters 0.25)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters 0.1875)) - (sp-flt spt-scalevel-y (meters -0.001875)) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 2021) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2020) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 4.0) 1.0) + (sp-flt spt-scale-y (meters 0.25)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters 0.1875)) + (sp-flt spt-scalevel-y (meters -0.001875)) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 2021) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2021) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-fade-a -1.28) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2021) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-fade-a -1.28) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 445) - (new 'static 'sparticle-launch-group - :length 19 - :duration #x258 - :linger-duration #x258 - :flags (sp-group-flag use-local-clock) - :name "group-dark-eco-pool-nasty" - :launcher - (new 'static 'inline-array sparticle-group-item 19 - (sp-item 2056 :fade-after (meters 100.0) :period 600 :length 5) - (sp-item 2057 :fade-after (meters 100.0) :period 600 :length 5 :binding 2052) - (sp-item 2052 :flags (start-dead launch-asap) :binding 2053) - (sp-item 2053 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2052 :flags (start-dead launch-asap) :binding 2053) - (sp-item 2053 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2052 :flags (start-dead launch-asap) :binding 2053) - (sp-item 2053 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2052 :flags (start-dead launch-asap) :binding 2053) - (sp-item 2053 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2058 :fade-after (meters 100.0) :period 600 :length 5 :binding 2054) - (sp-item 2054 :flags (start-dead launch-asap) :binding 2055) - (sp-item 2055 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2054 :flags (start-dead launch-asap) :binding 2055) - (sp-item 2055 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2054 :flags (start-dead launch-asap) :binding 2055) - (sp-item 2055 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2054 :flags (start-dead launch-asap) :binding 2055) - (sp-item 2055 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 445) + (new 'static 'sparticle-launch-group + :length 19 + :duration #x258 + :linger-duration #x258 + :flags (sp-group-flag use-local-clock) + :name "group-dark-eco-pool-nasty" + :launcher + (new 'static 'inline-array sparticle-group-item 19 + (sp-item 2056 :fade-after (meters 100.0) :period 600 :length 5) + (sp-item 2057 :fade-after (meters 100.0) :period 600 :length 5 :binding 2052) + (sp-item 2052 :flags (start-dead launch-asap) :binding 2053) + (sp-item 2053 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2052 :flags (start-dead launch-asap) :binding 2053) + (sp-item 2053 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2052 :flags (start-dead launch-asap) :binding 2053) + (sp-item 2053 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2052 :flags (start-dead launch-asap) :binding 2053) + (sp-item 2053 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2058 :fade-after (meters 100.0) :period 600 :length 5 :binding 2054) + (sp-item 2054 :flags (start-dead launch-asap) :binding 2055) + (sp-item 2055 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2054 :flags (start-dead launch-asap) :binding 2055) + (sp-item 2055 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2054 :flags (start-dead launch-asap) :binding 2055) + (sp-item 2055 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2054 :flags (start-dead launch-asap) :binding 2055) + (sp-item 2055 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2056) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 8.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-flt spt-a 64.0) - (sp-flt spt-fade-a -1.8285716) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2056) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 8.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 64.0) + (sp-flt spt-fade-a -1.8285716) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2057) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-rnd-flt spt-num 1.0 6.0 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-accel-y -3.4133334) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2057) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-rnd-flt spt-num 1.0 6.0 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-accel-y -3.4133334) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2052) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 1228.8 1228.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.10666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.000909091)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.26666668) - (sp-flt spt-fade-a -0.19393939) - (sp-int-plain-rnd spt-timer 60 179 1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2052) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 1228.8 1228.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.10666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.000909091)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.26666668) + (sp-flt spt-fade-a -0.19393939) + (sp-int-plain-rnd spt-timer 60 179 1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2053) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0006190476)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.01904762) - (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 239 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 198) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2053) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0006190476)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.01904762) + (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 239 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 198) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2058) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-rnd-flt spt-num 1.0 6.0 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-accel-y -3.4133334) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2058) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-rnd-flt spt-num 1.0 6.0 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-accel-y -3.4133334) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2054) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 1228.8 1228.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 16.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 16.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.10666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.000909091)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.26666668) - (sp-flt spt-fade-a -0.19393939) - (sp-int-plain-rnd spt-timer 60 179 1) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2054) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 1228.8 1228.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 16.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 16.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.10666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.000909091)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.26666668) + (sp-flt spt-fade-a -0.19393939) + (sp-int-plain-rnd spt-timer 60 179 1) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2055) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 16.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 16.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0006190476)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.01904762) - (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 239 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 198) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2055) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 16.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 16.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0006190476)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.01904762) + (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 239 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 198) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: (defstate water-vol-idle (dark-eco-pool) :virtual #t :trans (behavior () - (let ((t9-0 (-> (method-of-type water-anim water-vol-idle) trans))) - (if t9-0 - (t9-0) - ) - ) - (let* ((gp-0 (-> self draw ripple)) - (f0-1 (the float (logand (-> *display* base-frame-counter) #xffff))) - (f0-3 (cos (* 5.0 f0-1))) - (f30-0 (* f0-3 f0-3)) + (let ((t9-0 (-> (method-of-type water-anim water-vol-idle) trans))) + (if t9-0 + (t9-0) ) - (let ((s5-0 (-> self draw ripple query))) - (set! (-> self draw ripple send-query) #t) - (set! (-> s5-0 start-vertex) (rand-vu-int-range 0 255)) - (set! (-> s5-0 vertex-skip) 256) - (when (zero? (rand-vu-int-range 0 15)) - (when - (and - (nonzero? (-> s5-0 vertex-count)) - (< #x32000 (memory-free *nk-dead-pool*)) - ) - (let ((s3-0 (rand-vu-int-range 0 (+ (-> s5-0 vertex-count) -1))) - (s4-1 (get-process *default-dead-pool* part-tracker #x4000)) - ) - (when s4-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 - (the-as part-tracker s4-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + ) + (let* ((gp-0 (-> self draw ripple)) + (f0-1 (the float (logand (-> *display* base-frame-counter) #xffff))) + (f0-3 (cos (* 5.0 f0-1))) + (f30-0 (* f0-3 f0-3)) ) + (let ((s5-0 (-> self draw ripple query))) + (set! (-> self draw ripple send-query) #t) + (set! (-> s5-0 start-vertex) (rand-vu-int-range 0 255)) + (set! (-> s5-0 vertex-skip) 256) + (when (zero? (rand-vu-int-range 0 15)) + (when (and (nonzero? (-> s5-0 vertex-count)) (< #x32000 (memory-free *nk-dead-pool*))) + (let ((s3-0 (rand-vu-int-range 0 (+ (-> s5-0 vertex-count) -1))) + (s4-1 (get-process *default-dead-pool* part-tracker #x4000)) + ) + (when s4-1 + (let ((t9-7 (method-of-type part-tracker activate))) + (t9-7 (the-as part-tracker s4-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s4-1 part-tracker-init (-> *part-group-id-table* 445) -1 #f #f #f (-> s5-0 data s3-0)) + (-> s4-1 ppointer) + ) + ) + ) + ) + ) + (case (-> self look) + ((32) + (set! (-> gp-0 global-scale) (* 4096.0 (* 1.5 (+ 1.0 f30-0)))) + (set! (-> gp-0 individual-normal-scale) (+ 0.5 (* 0.5 f30-0))) + ) + (else + (set! (-> gp-0 global-scale) (* 4096.0 (* 3.0 (+ 1.0 f30-0)))) + (set! (-> gp-0 individual-normal-scale) (+ 0.5 (* 0.5 f30-0))) ) - (run-now-in-process - s4-1 - part-tracker-init - (-> *part-group-id-table* 445) - -1 - #f - #f - #f - (-> s5-0 data s3-0) - ) - (-> s4-1 ppointer) - ) ) - ) ) - ) - (case (-> self look) - ((32) - (set! (-> gp-0 global-scale) (* 4096.0 (* 1.5 (+ 1.0 f30-0)))) - (set! (-> gp-0 individual-normal-scale) (+ 0.5 (* 0.5 f30-0))) - ) - (else - (set! (-> gp-0 global-scale) (* 4096.0 (* 3.0 (+ 1.0 f30-0)))) - (set! (-> gp-0 individual-normal-scale) (+ 0.5 (* 0.5 f30-0))) - ) - ) + (none) ) - (none) - ) ) diff --git a/test/decompiler/reference/levels/common/nav-enemy-h_REF.gc b/test/decompiler/reference/levels/common/nav-enemy-h_REF.gc index 640a2622e3..2a7c5bf968 100644 --- a/test/decompiler/reference/levels/common/nav-enemy-h_REF.gc +++ b/test/decompiler/reference/levels/common/nav-enemy-h_REF.gc @@ -87,35 +87,15 @@ (format #t "~Tattack-shove-up: (meters ~m)~%" (-> obj attack-shove-up)) (format #t "~Tshadow-size: (meters ~m)~%" (-> obj shadow-size)) (format #t "~Tnotice-nav-radius: (meters ~m)~%" (-> obj notice-nav-radius)) - (format - #t - "~Tnav-nearest-y-threshold: (meters ~m)~%" - (-> obj nav-nearest-y-threshold) - ) + (format #t "~Tnav-nearest-y-threshold: (meters ~m)~%" (-> obj nav-nearest-y-threshold)) (format #t "~Tnotice-distance: (meters ~m)~%" (-> obj notice-distance)) - (format - #t - "~Tproximity-notice-distance: (meters ~m)~%" - (-> obj proximity-notice-distance) - ) - (format - #t - "~Tstop-chase-distance: (meters ~m)~%" - (-> obj stop-chase-distance) - ) - (format - #t - "~Tfrustration-distance: (meters ~m)~%" - (-> obj frustration-distance) - ) + (format #t "~Tproximity-notice-distance: (meters ~m)~%" (-> obj proximity-notice-distance)) + (format #t "~Tstop-chase-distance: (meters ~m)~%" (-> obj stop-chase-distance)) + (format #t "~Tfrustration-distance: (meters ~m)~%" (-> obj frustration-distance)) (format #t "~Tfrustration-time: ~D~%" (-> obj frustration-time)) (format #t "~Tdie-anim-hold-frame: ~f~%" (-> obj die-anim-hold-frame)) (format #t "~Tjump-anim-start-frame: ~f~%" (-> obj jump-anim-start-frame)) - (format - #t - "~Tjump-land-anim-end-frame: ~f~%" - (-> obj jump-land-anim-end-frame) - ) + (format #t "~Tjump-land-anim-end-frame: ~f~%" (-> obj jump-land-anim-end-frame)) (format #t "~Tjump-height-min: (meters ~m)~%" (-> obj jump-height-min)) (format #t "~Tjump-height-factor: ~f~%" (-> obj jump-height-factor)) (format #t "~Tjump-start-anim-speed: ~f~%" (-> obj jump-start-anim-speed)) @@ -233,17 +213,13 @@ ;; definition for method 3 of type nav-enemy (defmethod inspect nav-enemy ((obj nav-enemy)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Thit-from-dir: ~`vector`P~%" (-> obj hit-from-dir)) (format #t "~T~Tevent-param-point: ~`vector`P~%" (-> obj event-param-point)) (format #t "~T~Tfrustration-point: ~`vector`P~%" (-> obj frustration-point)) (format #t "~T~Tjump-dest: ~`vector`P~%" (-> obj jump-dest)) - (format - #t - "~T~Tjump-trajectory: #~%" - (-> obj jump-trajectory) - ) + (format #t "~T~Tjump-trajectory: #~%" (-> obj jump-trajectory)) (format #t "~T~Tjump-time: ~D~%" (-> obj jump-time)) (format #t "~T~Tnav-info: ~A~%" (-> obj nav-info)) (format #t "~T~Ttarget-speed: ~f~%" (-> obj target-speed)) diff --git a/test/decompiler/reference/levels/common/nav-enemy_REF.gc b/test/decompiler/reference/levels/common/nav-enemy_REF.gc index 3f506df011..ff924a302a 100644 --- a/test/decompiler/reference/levels/common/nav-enemy_REF.gc +++ b/test/decompiler/reference/levels/common/nav-enemy_REF.gc @@ -31,22 +31,14 @@ (let* ((v1-3 (-> *display* frames (-> *display* last-screen) frame run-time)) (f1-2 (fmax 0.0 (fmin 1.0 (* 0.001 (+ -7000.0 (the float v1-3)))))) ) - (>= (+ arg0 (* f1-2 (- 1.0 arg0))) (rand-vu)) - ) + (>= (+ arg0 (* f1-2 (- 1.0 arg0))) (rand-vu)) + ) ) ;; definition for method 9 of type trajectory ;; INFO: this function exists in multiple non-identical object files -(defmethod - eval-position! - trajectory - ((obj trajectory) (time float) (result vector)) - (vector+float*! - result - (-> obj initial-position) - (-> obj initial-velocity) - time - ) +(defmethod eval-position! trajectory ((obj trajectory) (time float) (result vector)) + (vector+float*! result (-> obj initial-position) (-> obj initial-velocity) time) (+! (-> result y) (* 0.5 time time (-> obj gravity))) result ) @@ -55,146 +47,102 @@ ;; INFO: Return type mismatch none vs nav-enemy. (defmethod relocate nav-enemy ((obj nav-enemy) (arg0 int)) (if (nonzero? (-> obj neck)) - (set! (-> obj neck) (the-as joint-mod (+ (the-as int (-> obj neck)) arg0))) - ) + (set! (-> obj neck) (the-as joint-mod (+ (the-as int (-> obj neck)) arg0))) + ) (if (nonzero? (-> obj rand-gen)) - (set! - (-> obj rand-gen) - (the-as random-generator (+ (the-as int (-> obj rand-gen)) arg0)) - ) - ) - (the-as - nav-enemy - ((the-as - (function process-drawable int none) - (find-parent-method nav-enemy 7) - ) - obj - arg0 - ) - ) + (set! (-> obj rand-gen) (the-as random-generator (+ (the-as int (-> obj rand-gen)) arg0))) + ) + (the-as nav-enemy ((the-as (function process-drawable int none) (find-parent-method nav-enemy 7)) obj arg0)) ) ;; definition for method 42 of type nav-enemy (defmethod TODO-RENAME-42 nav-enemy ((obj nav-enemy)) (local-vars (v1-11 symbol)) (if (<= (-> obj path curve num-cverts) 0) - (go process-drawable-art-error "no path") - ) + (go process-drawable-art-error "no path") + ) (let ((s5-0 3)) - 0 - (let ((s4-0 (-> obj nav destination-pos))) - (until (or v1-11 (<= s5-0 0)) - (let ((v1-8 (nav-enemy-rnd-int-count (-> obj path curve num-cverts)))) - (eval-path-curve-div! (-> obj path) s4-0 (the float v1-8) 'interp) + 0 + (let ((s4-0 (-> obj nav destination-pos))) + (until (or v1-11 (<= s5-0 0)) + (let ((v1-8 (nav-enemy-rnd-int-count (-> obj path curve num-cverts)))) + (eval-path-curve-div! (-> obj path) s4-0 (the float v1-8) 'interp) + ) + (+! s5-0 -1) + (set! v1-11 (< 4096.0 (vector-vector-xz-distance s4-0 (-> obj collide-info trans)))) + ) ) - (+! s5-0 -1) - (set! - v1-11 - (< 4096.0 (vector-vector-xz-distance s4-0 (-> obj collide-info trans))) - ) - ) ) - ) 0 ) ;; definition for method 39 of type nav-enemy ;; INFO: Return type mismatch int vs none. (defmethod common-post nav-enemy ((obj nav-enemy)) - (when - (and - (logtest? (-> obj nav-enemy-flags) 256) - (or - (not *target*) - (and - (zero? (logand (-> *target* state-flags) #x80f8)) - (>= (- (-> *display* base-frame-counter) (-> obj touch-time)) 15) - ) - ) + (when (and + (logtest? (-> obj nav-enemy-flags) 256) + (or (not *target*) (and + (zero? (logand (-> *target* state-flags) #x80f8)) + (>= (- (-> *display* base-frame-counter) (-> obj touch-time)) 15) + ) + ) + ) + (dummy-54 (-> obj collide-info) 2 1) + (set! (-> obj nav-enemy-flags) (logand -257 (-> obj nav-enemy-flags))) ) - (dummy-54 (-> obj collide-info) 2 1) - (set! (-> obj nav-enemy-flags) (logand -257 (-> obj nav-enemy-flags))) - ) (dummy-14 (-> obj draw shadow-ctrl)) (when *target* - (if *target* - (look-at-enemy! - (-> *target* neck) - (the-as vector (-> obj collide-info root-prim prim-core)) - (if (logtest? (-> obj nav-enemy-flags) 4) - 'attacking - ) - obj - ) + (if *target* + (look-at-enemy! + (-> *target* neck) + (the-as vector (-> obj collide-info root-prim prim-core)) + (if (logtest? (-> obj nav-enemy-flags) 4) + 'attacking + ) + obj + ) + ) + (if (and (nonzero? (-> obj neck)) (logtest? (-> obj nav-enemy-flags) #x4000)) + (set-target! (-> obj neck) (target-pos (-> obj nav-info player-look-at-joint))) + ) ) - (if (and (nonzero? (-> obj neck)) (logtest? (-> obj nav-enemy-flags) #x4000)) - (set-target! - (-> obj neck) - (target-pos (-> obj nav-info player-look-at-joint)) - ) - ) - ) (when (-> obj nav-info debug-draw-neck) - (if (nonzero? (-> obj neck)) - (joint-mod-debug-draw (-> obj neck)) + (if (nonzero? (-> obj neck)) + (joint-mod-debug-draw (-> obj neck)) + ) ) - ) (ja-post) 0 (none) ) ;; definition for method 44 of type nav-enemy -(defmethod - dummy-44 - nav-enemy - ((obj nav-enemy) (arg0 process) (arg1 event-message-block)) - (if - (and - (logtest? (-> obj nav-enemy-flags) 64) - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg1 param 0)) - (-> obj collide-info) - (the-as uint 1) - ) - ) - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 'generic - ) - ) +(defmethod dummy-44 nav-enemy ((obj nav-enemy) (arg0 process) (arg1 event-message-block)) + (if (and (logtest? (-> obj nav-enemy-flags) 64) ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg1 param 0)) + (-> obj collide-info) + (the-as uint 1) + ) + ) + (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 'generic) + ) ) ;; definition for method 72 of type nav-enemy -(defmethod - nav-enemy-touch-handler - nav-enemy - ((obj nav-enemy) (arg0 process) (arg1 event-message-block)) - (if - (and - (logtest? (-> obj nav-enemy-flags) 64) - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg1 param 0)) - (-> obj collide-info) - (the-as uint 1) - ) - ) - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 'generic - ) - ) +(defmethod nav-enemy-touch-handler nav-enemy ((obj nav-enemy) (arg0 process) (arg1 event-message-block)) + (if (and (logtest? (-> obj nav-enemy-flags) 64) ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg1 param 0)) + (-> obj collide-info) + (the-as uint 1) + ) + ) + (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 'generic) + ) ) ;; definition for method 73 of type nav-enemy ;; INFO: Return type mismatch symbol vs object. -(defmethod - nav-enemy-attack-handler - nav-enemy - ((obj nav-enemy) (arg0 process) (arg1 event-message-block)) +(defmethod nav-enemy-attack-handler nav-enemy ((obj nav-enemy) (arg0 process) (arg1 event-message-block)) (send-event arg0 'get-attack-count 1) (logclear! (-> obj mask) (process-mask actor-pause attackable)) (go (method-of-object obj nav-enemy-die)) @@ -202,132 +150,115 @@ ) ;; definition for method 43 of type nav-enemy -(defmethod - dummy-43 - nav-enemy - ((obj nav-enemy) (arg0 process) (arg1 event-message-block)) +(defmethod dummy-43 nav-enemy ((obj nav-enemy) (arg0 process) (arg1 event-message-block)) (cond - ((logtest? (-> obj nav-enemy-flags) 32) - (send-event arg0 'get-attack-count 1) - (logclear! (-> obj mask) (process-mask actor-pause attackable)) - (go (method-of-object obj nav-enemy-die)) + ((logtest? (-> obj nav-enemy-flags) 32) + (send-event arg0 'get-attack-count 1) + (logclear! (-> obj mask) (process-mask actor-pause attackable)) + (go (method-of-object obj nav-enemy-die)) + ) + (else + (dummy-44 obj arg0 arg1) + ) ) - (else - (dummy-44 obj arg0 arg1) - ) - ) ) ;; definition for function nav-enemy-send-attack ;; INFO: Return type mismatch symbol vs object. -(defbehavior - nav-enemy-send-attack nav-enemy - ((arg0 process) (arg1 touching-shapes-entry) (arg2 symbol)) +(defbehavior nav-enemy-send-attack nav-enemy ((arg0 process) (arg1 touching-shapes-entry) (arg2 symbol)) (let ((v1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> v1-0 from) self) - (set! (-> v1-0 num-params) 2) - (set! (-> v1-0 message) 'attack) - (set! (-> v1-0 param 0) (the-as uint arg1)) - (let ((a1-1 (new 'static 'attack-info :mask #xe0))) - (set! (-> a1-1 shove-back) (-> self nav-info attack-shove-back)) - (set! (-> a1-1 shove-up) (-> self nav-info attack-shove-up)) - (set! (-> a1-1 mode) arg2) - (set! (-> v1-0 param 1) (the-as uint a1-1)) + (set! (-> v1-0 from) self) + (set! (-> v1-0 num-params) 2) + (set! (-> v1-0 message) 'attack) + (set! (-> v1-0 param 0) (the-as uint arg1)) + (let ((a1-1 (new 'static 'attack-info :mask #xe0))) + (set! (-> a1-1 shove-back) (-> self nav-info attack-shove-back)) + (set! (-> a1-1 shove-up) (-> self nav-info attack-shove-up)) + (set! (-> a1-1 mode) arg2) + (set! (-> v1-0 param 1) (the-as uint a1-1)) + ) + (the-as object (when (send-event-function arg0 v1-0) + (dummy-54 (-> self collide-info) 2 0) + (logior! (-> self nav-enemy-flags) 256) + #t + ) + ) ) - (the-as object (when (send-event-function arg0 v1-0) - (dummy-54 (-> self collide-info) 2 0) - (logior! (-> self nav-enemy-flags) 256) - #t - ) - ) - ) ) ;; definition for function nav-enemy-default-event-handler ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - nav-enemy-default-event-handler nav-enemy - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touch) +(defbehavior nav-enemy-default-event-handler nav-enemy ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('touch) (set! (-> self touch-time) (-> *display* base-frame-counter)) (dummy-44 self arg0 arg3) ) - (('attack) - (nav-enemy-set-hit-from-direction arg0) - (dummy-43 self arg0 arg3) - ) - (('instant-death) - (let ((gp-1 (-> self hit-from-dir))) - (vector-z-quaternion! gp-1 (-> self collide-info quat)) - (vector-float*! gp-1 gp-1 -1.0) - (vector-normalize! gp-1 1.0) + (('attack) + (nav-enemy-set-hit-from-direction arg0) + (dummy-43 self arg0 arg3) ) - (logclear! (-> self mask) (process-mask actor-pause attackable)) - (go-virtual nav-enemy-die) - ) - (('jump) - (when (!= (-> self next-state name) 'nav-enemy-jump-land) - (set! - (-> self event-param-point quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - (set! (-> self nav user-poly) (the-as nav-poly (-> arg3 param 1))) - (set! (-> self jump-return-state) (the-as (state process) (-> self state))) - (go-virtual nav-enemy-jump) + (('instant-death) + (let ((gp-1 (-> self hit-from-dir))) + (vector-z-quaternion! gp-1 (-> self collide-info quat)) + (vector-float*! gp-1 gp-1 -1.0) + (vector-normalize! gp-1 1.0) + ) + (logclear! (-> self mask) (process-mask actor-pause attackable)) + (go-virtual nav-enemy-die) + ) + (('jump) + (when (!= (-> self next-state name) 'nav-enemy-jump-land) + (set! (-> self event-param-point quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (set! (-> self nav user-poly) (the-as nav-poly (-> arg3 param 1))) + (set! (-> self jump-return-state) (the-as (state process) (-> self state))) + (go-virtual nav-enemy-jump) + ) + ) + (('cue-jump-to-point) + (when (logtest? (-> self nav-enemy-flags) 2048) + (set! (-> self event-param-point quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (set! (-> self nav-enemy-flags) (logand -2049 (-> self nav-enemy-flags))) + ) + ) + (('cue-chase) + (go-virtual nav-enemy-chase) + ) + (('cue-patrol) + (go-virtual nav-enemy-patrol) + ) + (('go-wait-for-cue) + (go-virtual nav-enemy-wait-for-cue) ) ) - (('cue-jump-to-point) - (when (logtest? (-> self nav-enemy-flags) 2048) - (set! - (-> self event-param-point quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - (set! (-> self nav-enemy-flags) (logand -2049 (-> self nav-enemy-flags))) - ) - ) - (('cue-chase) - (go-virtual nav-enemy-chase) - ) - (('cue-patrol) - (go-virtual nav-enemy-patrol) - ) - (('go-wait-for-cue) - (go-virtual nav-enemy-wait-for-cue) - ) - ) (none) ) ;; definition for function nav-enemy-jump-event-handler -(defbehavior - nav-enemy-jump-event-handler nav-enemy - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touch) +(defbehavior nav-enemy-jump-event-handler nav-enemy ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('touch) (set! (-> self touch-time) (-> *display* base-frame-counter)) (nav-enemy-touch-handler self arg0 arg3) ) - (('attack) - (nav-enemy-set-hit-from-direction arg0) - (nav-enemy-attack-handler self arg0 arg3) + (('attack) + (nav-enemy-set-hit-from-direction arg0) + (nav-enemy-attack-handler self arg0 arg3) + ) ) - ) ) ;; definition for function process-drawable-death-event-handler -(defbehavior - process-drawable-death-event-handler process-drawable - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('death-start) +(defbehavior process-drawable-death-event-handler process-drawable ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('death-start) (drop-pickup (-> self fact) #t *entity-pool* (-> self fact) 0) ) - (('death-end) - (logior! (-> self draw status) 2) + (('death-end) + (logior! (-> self draw status) 2) + ) ) - ) (none) ) @@ -363,63 +294,47 @@ nav-enemy-default-event-handler ;; Used lq/sq (defmethod dummy-41 nav-enemy ((obj nav-enemy)) (cond - ((-> obj nav-info use-align) - (TODO-RENAME-11 - (-> obj align) - 4 - (-> obj nav travel) - (the-as int 1.0) - 1.0 - (* (-> obj enemy-info speed) (-> obj speed-scale)) + ((-> obj nav-info use-align) + (TODO-RENAME-11 + (-> obj align) + 4 + (-> obj nav travel) + (the-as int 1.0) + 1.0 + (* (-> obj enemy-info speed) (-> obj speed-scale)) + ) ) - ) - (else - (cond - ((-> obj nav-info use-momentum) - (let* ((f0-3 (- (-> obj target-speed) (-> obj momentum-speed))) - (f1-4 - (fmin - (* (-> obj acceleration) (-> *display* seconds-per-frame)) - (fabs f0-3) + (else + (cond + ((-> obj nav-info use-momentum) + (let* ((f0-3 (- (-> obj target-speed) (-> obj momentum-speed))) + (f1-4 (fmin (* (-> obj acceleration) (-> *display* seconds-per-frame)) (fabs f0-3))) + ) + (if (< f0-3 0.0) + (set! (-> obj momentum-speed) (- (-> obj momentum-speed) f1-4)) + (+! (-> obj momentum-speed) f1-4) ) - ) + ) + ) + (else + (set! (-> obj momentum-speed) (-> obj target-speed)) + ) + ) + (let* ((f0-12 (fmin + (* (-> obj speed-scale) (-> obj momentum-speed)) + (* (vector-length (-> obj nav travel)) (-> *display* frames-per-second)) + ) + ) + (v1-15 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> obj nav travel) f0-12)) ) - (if (< f0-3 0.0) - (set! (-> obj momentum-speed) (- (-> obj momentum-speed) f1-4)) - (+! (-> obj momentum-speed) f1-4) + (set! (-> obj collide-info transv x) (-> v1-15 x)) + (set! (-> obj collide-info transv z) (-> v1-15 z)) ) - ) ) - (else - (set! (-> obj momentum-speed) (-> obj target-speed)) - ) - ) - (let* - ((f0-12 - (fmin - (* (-> obj speed-scale) (-> obj momentum-speed)) - (* (vector-length (-> obj nav travel)) (-> *display* frames-per-second)) - ) - ) - (v1-15 - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - (-> obj nav travel) - f0-12 - ) - ) - ) - (set! (-> obj collide-info transv x) (-> v1-15 x)) - (set! (-> obj collide-info transv z) (-> v1-15 z)) - ) ) - ) (if (-> obj nav-info move-to-ground) - (vector-v++! - (-> obj collide-info transv) - (dummy-62 (-> obj collide-info) (new-stack-vector0) 0.0) - ) - ) + (vector-v++! (-> obj collide-info transv) (dummy-62 (-> obj collide-info) (new-stack-vector0) 0.0)) + ) 0 (none) ) @@ -428,25 +343,16 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-37 nav-enemy ((obj nav-enemy)) (when (logtest? (-> obj nav-enemy-flags) 16) - (if - (or - (logtest? (-> obj nav-enemy-flags) 128) - (logtest? (nav-control-flags bit19) (-> obj nav flags)) - ) - (seek-to-point-toward-point! - (-> obj collide-info) - (-> obj nav target-pos) - (-> obj rotate-speed) - (-> obj turn-time) - ) - (seek-toward-heading-vec! - (-> obj collide-info) - (-> obj nav travel) - (-> obj rotate-speed) - (-> obj turn-time) - ) + (if (or (logtest? (-> obj nav-enemy-flags) 128) (logtest? (nav-control-flags bit19) (-> obj nav flags))) + (seek-to-point-toward-point! + (-> obj collide-info) + (-> obj nav target-pos) + (-> obj rotate-speed) + (-> obj turn-time) + ) + (seek-toward-heading-vec! (-> obj collide-info) (-> obj nav travel) (-> obj rotate-speed) (-> obj turn-time)) + ) ) - ) 0 (none) ) @@ -455,17 +361,17 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-38 nav-enemy ((obj nav-enemy)) (if (-> obj nav-info move-to-ground) - (dummy-59 - (-> obj collide-info) - (-> obj collide-info transv) - (-> obj nav-info gnd-collide-with) - 8192.0 - #f - (-> obj nav-info hover-if-no-ground) - (logtest? (-> obj nav-enemy-flags) #x8000) - ) - (dummy-58 (-> obj collide-info) (-> obj collide-info transv)) - ) + (dummy-59 + (-> obj collide-info) + (-> obj collide-info transv) + (-> obj nav-info gnd-collide-with) + 8192.0 + #f + (-> obj nav-info hover-if-no-ground) + (logtest? (-> obj nav-enemy-flags) #x8000) + ) + (dummy-58 (-> obj collide-info) (-> obj collide-info transv)) + ) 0 (none) ) @@ -474,32 +380,32 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defbehavior nav-enemy-travel-post nav-enemy () (cond - ((logtest? (-> self nav-enemy-flags) 8) - (TODO-RENAME-9 (-> self align)) - (dummy-40 self) - (dummy-41 self) - (TODO-RENAME-37 self) - (TODO-RENAME-38 self) - (nav-enemy-common-post) - ) - (else - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #x40 :b #x40 :a #x80) - ) + ((logtest? (-> self nav-enemy-flags) 8) + (TODO-RENAME-9 (-> self align)) + (dummy-40 self) + (dummy-41 self) + (TODO-RENAME-37 self) + (TODO-RENAME-38 self) + (nav-enemy-common-post) ) - (nav-enemy-simple-post) - (if *debug-segment* - (add-frame - (-> *display* frames (-> *display* on-screen) frame profile-bar 0) - 'draw - (new 'static 'rgba :r #xff :b #xff :a #x80) + (else + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #x40 :b #x40 :a #x80) + ) + ) + (nav-enemy-simple-post) + (if *debug-segment* + (add-frame + (-> *display* frames (-> *display* on-screen) frame profile-bar 0) + 'draw + (new 'static 'rgba :r #xff :b #xff :a #x80) + ) + ) ) - ) ) - ) 0 (none) ) @@ -507,25 +413,21 @@ nav-enemy-default-event-handler ;; definition for function nav-enemy-patrol-post ;; INFO: Return type mismatch int vs none. (defbehavior nav-enemy-patrol-post nav-enemy () - (when - (or - (logtest? (nav-control-flags bit19) (-> self nav flags)) - (< 2.0 (-> self nav block-count)) + (when (or (logtest? (nav-control-flags bit19) (-> self nav flags)) (< 2.0 (-> self nav block-count))) + (set! (-> self nav block-count) 2.0) + (logior! (-> self nav flags) (nav-control-flags bit10)) + (nav-enemy-get-new-patrol-point) ) - (set! (-> self nav block-count) 2.0) - (logior! (-> self nav flags) (nav-control-flags bit10)) - (nav-enemy-get-new-patrol-point) - ) (dummy-19 - (-> self nav) - (-> self nav target-pos) - (-> self collide-info) - (-> self nav destination-pos) - (-> self rotate-speed) - ) + (-> self nav) + (-> self nav target-pos) + (-> self collide-info) + (-> self nav destination-pos) + (-> self rotate-speed) + ) (if (logtest? (nav-control-flags bit21) (-> self nav flags)) - (logclear! (-> self nav flags) (nav-control-flags bit10)) - ) + (logclear! (-> self nav flags) (nav-control-flags bit10)) + ) (nav-enemy-travel-post) 0 (none) @@ -545,35 +447,16 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defbehavior nav-enemy-flee-post nav-enemy () - (let - ((gp-1 - (vector-! - (new 'stack-no-clear 'vector) - (-> self collide-info trans) - (target-pos 0) - ) - ) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self collide-info trans) (target-pos 0)))) + (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self collide-info quat)) + 0.0 + 0.0 + (set! (-> gp-1 y) 0.0) + (set! (-> self nav travel quad) (-> gp-1 quad)) ) - (vector-z-quaternion! - (new 'stack-no-clear 'vector) - (-> self collide-info quat) - ) - 0.0 - 0.0 - (set! (-> gp-1 y) 0.0) - (set! (-> self nav travel quad) (-> gp-1 quad)) - ) (vector-normalize! (-> self nav travel) 409600.0) - (dummy-24 - (-> self nav) - 204.8 - (the-as clip-travel-vector-to-mesh-return-info #f) - ) - (vector+! - (-> self nav target-pos) - (-> self collide-info trans) - (-> self nav travel) - ) + (dummy-24 (-> self nav) 204.8 (the-as clip-travel-vector-to-mesh-return-info #f)) + (vector+! (-> self nav target-pos) (-> self collide-info trans) (-> self nav travel)) (nav-enemy-travel-post) 0 (none) @@ -583,13 +466,8 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defbehavior nav-enemy-face-player-post nav-enemy () (if (and *target* (logtest? (-> self nav-enemy-flags) 16)) - (seek-to-point-toward-point! - (-> self collide-info) - (target-pos 0) - (-> self rotate-speed) - (-> self turn-time) - ) - ) + (seek-to-point-toward-point! (-> self collide-info) (target-pos 0) (-> self rotate-speed) (-> self turn-time)) + ) (nav-enemy-simple-post) 0 (none) @@ -599,15 +477,8 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defbehavior nav-enemy-falling-post nav-enemy () - (vector-v++! - (-> self collide-info transv) - (dummy-62 (-> self collide-info) (new-stack-vector0) 0.0) - ) - (dummy-33 - (-> self collide-info) - (-> self collide-info transv) - (-> self collide-info root-prim collide-with) - ) + (vector-v++! (-> self collide-info transv) (dummy-62 (-> self collide-info) (new-stack-vector0) 0.0)) + (dummy-33 (-> self collide-info) (-> self collide-info transv) (-> self collide-info root-prim collide-with)) (nav-enemy-common-post) 0 (none) @@ -617,10 +488,7 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defbehavior nav-enemy-death-post nav-enemy () - (vector-v++! - (-> self collide-info transv) - (dummy-62 (-> self collide-info) (new-stack-vector0) 0.0) - ) + (vector-v++! (-> self collide-info transv) (dummy-62 (-> self collide-info) (new-stack-vector0) 0.0)) (dummy-57 (-> self collide-info) (-> self collide-info transv)) (nav-enemy-common-post) 0 @@ -632,8 +500,8 @@ nav-enemy-default-event-handler (defbehavior nav-enemy-neck-control-look-at nav-enemy () (logior! (-> self nav-enemy-flags) #x4000) (if (nonzero? (-> self neck)) - (set-mode! (-> self neck) (joint-mod-handler-mode look-at)) - ) + (set-mode! (-> self neck) (joint-mod-handler-mode look-at)) + ) 0 (none) ) @@ -641,11 +509,10 @@ nav-enemy-default-event-handler ;; definition for function nav-enemy-neck-control-inactive ;; INFO: Return type mismatch int vs none. (defbehavior nav-enemy-neck-control-inactive nav-enemy () - (when - (and (nonzero? (-> self neck)) (logtest? (-> self nav-enemy-flags) #x4000)) - (set! (-> self nav-enemy-flags) (logand -16385 (-> self nav-enemy-flags))) - (shut-down! (-> self neck)) - ) + (when (and (nonzero? (-> self neck)) (logtest? (-> self nav-enemy-flags) #x4000)) + (set! (-> self nav-enemy-flags) (logand -16385 (-> self nav-enemy-flags))) + (shut-down! (-> self neck)) + ) 0 (none) ) @@ -653,97 +520,72 @@ nav-enemy-default-event-handler ;; definition for function nav-enemy-player-vulnerable? ;; INFO: Return type mismatch basic vs symbol. (defun nav-enemy-player-vulnerable? () - (the-as - symbol - (and *target* (zero? (logand (-> *target* state-flags) #x80f8))) - ) + (the-as symbol (and *target* (zero? (logand (-> *target* state-flags) #x80f8)))) ) ;; definition for method 46 of type nav-enemy (defmethod TODO-RENAME-46 nav-enemy ((obj nav-enemy) (arg0 float)) (and - *target* - (zero? (logand (-> *target* state-flags) #x80f8)) - (and - (or - (zero? (logand (-> obj nav-enemy-flags) 4096)) - (< - (vector-vector-distance (target-pos 0) (-> obj collide-info trans)) - arg0 + *target* + (zero? (logand (-> *target* state-flags) #x80f8)) + (and + (or + (zero? (logand (-> obj nav-enemy-flags) 4096)) + (< (vector-vector-distance (target-pos 0) (-> obj collide-info trans)) arg0) + ) + (nav-enemy-test-point-near-nav-mesh? (-> *target* control shadow-pos)) ) - ) - (nav-enemy-test-point-near-nav-mesh? (-> *target* control shadow-pos)) ) - ) ) ;; definition for function nav-enemy-notice-player? (defbehavior nav-enemy-notice-player? nav-enemy () (let ((gp-0 #f)) - (cond - ((logtest? (-> self nav-enemy-flags) 1) - (when - (>= - (- (-> *display* base-frame-counter) (-> self notice-time)) - (-> self reaction-time) - ) - (set! gp-0 #t) - (set! (-> self nav-enemy-flags) (logand -2 (-> self nav-enemy-flags))) - ) - ) - (else - (when - (or - (TODO-RENAME-46 self (-> self nav-info notice-distance)) - (and - (-> self nav-info use-proximity-notice) - *target* - (>= - (-> self nav-info proximity-notice-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) + (cond + ((logtest? (-> self nav-enemy-flags) 1) + (when (>= (- (-> *display* base-frame-counter) (-> self notice-time)) (-> self reaction-time)) + (set! gp-0 #t) + (set! (-> self nav-enemy-flags) (logand -2 (-> self nav-enemy-flags))) ) - ) ) - (logior! (-> self nav-enemy-flags) 1) - (set! (-> self notice-time) (-> *display* base-frame-counter)) + (else + (when (or + (TODO-RENAME-46 self (-> self nav-info notice-distance)) + (and + (-> self nav-info use-proximity-notice) + *target* + (>= (-> self nav-info proximity-notice-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + ) + (logior! (-> self nav-enemy-flags) 1) + (set! (-> self notice-time) (-> *display* base-frame-counter)) + ) + ) ) - ) + gp-0 ) - gp-0 - ) ) ;; definition for function nav-enemy-facing-direction? ;; Used lq/sq (defbehavior nav-enemy-facing-direction? nav-enemy ((arg0 vector) (arg1 float)) - (let - ((s4-0 - (vector-z-quaternion! - (new 'stack-no-clear 'vector) - (-> self collide-info quat) - ) - ) - (s5-0 (new 'stack-no-clear 'vector)) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self collide-info quat))) + (s5-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s5-0 quad) (-> arg0 quad)) + (set! (-> s5-0 y) 0.0) + (vector-normalize! s5-0 1.0) + (>= (vector-dot s4-0 s5-0) (cos arg1)) ) - (set! (-> s5-0 quad) (-> arg0 quad)) - (set! (-> s5-0 y) 0.0) - (vector-normalize! s5-0 1.0) - (>= (vector-dot s4-0 s5-0) (cos arg1)) - ) ) ;; definition for function nav-enemy-facing-point? (defbehavior nav-enemy-facing-point? nav-enemy ((arg0 vector) (arg1 float)) - (let - ((v1-1 - (vector-! (new 'stack-no-clear 'vector) arg0 (-> self collide-info trans)) - ) + (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> self collide-info trans)))) + (nav-enemy-facing-direction? v1-1 arg1) ) - (nav-enemy-facing-direction? v1-1 arg1) - ) ) ;; definition for function nav-enemy-facing-player? @@ -760,27 +602,19 @@ nav-enemy-default-event-handler ;; definition for function nav-enemy-test-point-in-nav-mesh? ;; INFO: Return type mismatch structure vs symbol. (defbehavior nav-enemy-test-point-in-nav-mesh? nav-enemy ((arg0 vector)) - (the-as - symbol - (and - (dummy-16 (-> self nav) arg0) - (< - (-> arg0 y) - (+ (-> self collide-info trans y) (-> self enemy-info notice-top)) - ) - ) - ) + (the-as symbol (and + (dummy-16 (-> self nav) arg0) + (< (-> arg0 y) (+ (-> self collide-info trans y) (-> self enemy-info notice-top))) + ) + ) ) ;; definition for function nav-enemy-test-point-near-nav-mesh? (defbehavior nav-enemy-test-point-near-nav-mesh? nav-enemy ((arg0 vector)) (and - (dummy-25 (-> self nav) arg0 (-> self nav-info notice-nav-radius)) - (< - (-> arg0 y) - (+ (-> self collide-info trans y) (-> self enemy-info notice-top)) + (dummy-25 (-> self nav) arg0 (-> self nav-info notice-nav-radius)) + (< (-> arg0 y) (+ (-> self collide-info trans y) (-> self enemy-info notice-top))) ) - ) ) ;; definition for function nav-enemy-get-new-patrol-point @@ -791,73 +625,49 @@ nav-enemy-default-event-handler ;; definition for function nav-enemy-set-base-collide-sphere-collide-with ;; INFO: Return type mismatch int vs none. -(defbehavior - nav-enemy-set-base-collide-sphere-collide-with nav-enemy - ((arg0 uint)) +(defbehavior nav-enemy-set-base-collide-sphere-collide-with nav-enemy ((arg0 uint)) (let ((s5-0 (-> self collide-info root-prim))) - (set! (-> s5-0 collide-with) arg0) - (let - ((s4-0 - (if - (and - (nonzero? s5-0) - (type-type? (-> s5-0 type) collide-shape-prim-group) - ) - s5-0 - ) - ) - (s5-1 (the-as collide-shape-prim #f)) - ) - (when s4-0 - (dotimes (s3-0 (-> (the-as collide-shape-prim-group s4-0) num-prims)) - (let* - ((s2-0 - (-> - (the-as collide-shape-prim-group (+ (* s3-0 4) (the-as int s4-0))) - prims - 0 + (set! (-> s5-0 collide-with) arg0) + (let ((s4-0 (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) collide-shape-prim-group)) + s5-0 + ) + ) + (s5-1 (the-as collide-shape-prim #f)) ) - ) - (v1-6 - (if - (and - (nonzero? s2-0) - (type-type? (-> s2-0 type) collide-shape-prim-sphere) - ) - s2-0 - ) - ) - ) - (when v1-6 - (if - (or - (not s5-1) - (< - (-> (the-as collide-shape-prim-sphere v1-6) transform-index) - (-> (the-as collide-shape-prim-group s5-1) transform-index) - ) - (and - (= - (-> (the-as collide-shape-prim-sphere v1-6) transform-index) - (-> (the-as collide-shape-prim-group s5-1) transform-index) + (when s4-0 + (dotimes (s3-0 (-> (the-as collide-shape-prim-group s4-0) num-prims)) + (let* ((s2-0 (-> (the-as collide-shape-prim-group (+ (* s3-0 4) (the-as int s4-0))) prims 0)) + (v1-6 (if (and (nonzero? s2-0) (type-type? (-> s2-0 type) collide-shape-prim-sphere)) + s2-0 + ) + ) + ) + (when v1-6 + (if (or + (not s5-1) + (< (-> (the-as collide-shape-prim-sphere v1-6) transform-index) + (-> (the-as collide-shape-prim-group s5-1) transform-index) + ) + (and + (= (-> (the-as collide-shape-prim-sphere v1-6) transform-index) + (-> (the-as collide-shape-prim-group s5-1) transform-index) + ) + (< (-> (the-as collide-shape-prim-sphere v1-6) local-sphere y) + (-> (the-as collide-shape-prim-group s5-1) local-sphere y) + ) + ) + ) + (set! s5-1 v1-6) + ) + ) ) - (< - (-> (the-as collide-shape-prim-sphere v1-6) local-sphere y) - (-> (the-as collide-shape-prim-group s5-1) local-sphere y) - ) - ) ) - (set! s5-1 v1-6) - ) + (if s5-1 + (set! (-> s5-1 collide-with) arg0) + ) ) - ) ) - (if s5-1 - (set! (-> s5-1 collide-with) arg0) - ) - ) ) - ) 0 (none) ) @@ -868,108 +678,77 @@ nav-enemy-default-event-handler (defbehavior nav-enemy-set-hit-from-direction nav-enemy ((arg0 process)) (let* ((gp-0 (-> self hit-from-dir)) (s5-0 arg0) - (v1-1 - (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) process-drawable)) - s5-0 - ) - ) + (v1-1 (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) process-drawable)) + s5-0 + ) + ) ) - (set! (-> gp-0 quad) (-> *null-vector* quad)) - (when v1-1 - (vector-! - gp-0 - (-> self collide-info trans) - (-> (the-as process-drawable v1-1) root trans) - ) - (set! (-> gp-0 y) 0.0) - (vector-xz-normalize! gp-0 1.0) + (set! (-> gp-0 quad) (-> *null-vector* quad)) + (when v1-1 + (vector-! gp-0 (-> self collide-info trans) (-> (the-as process-drawable v1-1) root trans)) + (set! (-> gp-0 y) 0.0) + (vector-xz-normalize! gp-0 1.0) + ) ) - ) 0 (none) ) ;; definition for function nav-enemy-fall-and-play-death-anim ;; INFO: Return type mismatch int vs none. -(defbehavior - nav-enemy-fall-and-play-death-anim nav-enemy - ((arg0 art-joint-anim) (arg1 float) (arg2 float) (arg3 float) (arg4 int)) +(defbehavior nav-enemy-fall-and-play-death-anim nav-enemy ((arg0 art-joint-anim) (arg1 float) (arg2 float) (arg3 float) (arg4 int)) (nav-enemy-neck-control-inactive) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self skel root-channel 0 frame-group) arg0) (let ((s4-1 #f) (s3-0 (-> self collide-info)) ) - (when - (if (and (nonzero? s3-0) (type-type? (-> s3-0 type) collide-shape-moving)) - s3-0 - ) - (when (= (vector-xz-length-squared (-> self hit-from-dir)) 0.0) - (vector-z-quaternion! (-> self hit-from-dir) (-> self collide-info quat)) - (vector-negate-in-place! (-> self hit-from-dir)) - (set! (-> self hit-from-dir y) 0.0) - (vector-xz-normalize! (-> self hit-from-dir) 1.0) - ) - (set! (-> self collide-info transv y) 65502.96) - (let ((v1-14 (-> self skel root-channel 0))) - (set! (-> v1-14 num-func) num-func-identity) - (set! (-> v1-14 frame-num) 0.0) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! - (-> self collide-info status) - (logand -8 (-> self collide-info status)) - ) - (until (ja-done? 0) - (cond - ((nonzero? (-> self align)) - (when (not s4-1) - (TODO-RENAME-9 (-> self align)) - (TODO-RENAME-10 (-> self align) 4098 1.0 arg1 1.0) - (when (zero? (logand (-> self align flags) 1)) - (let - ((f0-6 - (* - (- (-> self align delta trans z)) - (-> *display* frames-per-second) + (when (if (and (nonzero? s3-0) (type-type? (-> s3-0 type) collide-shape-moving)) + s3-0 + ) + (when (= (vector-xz-length-squared (-> self hit-from-dir)) 0.0) + (vector-z-quaternion! (-> self hit-from-dir) (-> self collide-info quat)) + (vector-negate-in-place! (-> self hit-from-dir)) + (set! (-> self hit-from-dir y) 0.0) + (vector-xz-normalize! (-> self hit-from-dir) 1.0) + ) + (set! (-> self collide-info transv y) 65502.96) + (let ((v1-14 (-> self skel root-channel 0))) + (set! (-> v1-14 num-func) num-func-identity) + (set! (-> v1-14 frame-num) 0.0) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self collide-info status) (logand -8 (-> self collide-info status))) + (until (ja-done? 0) + (cond + ((nonzero? (-> self align)) + (when (not s4-1) + (TODO-RENAME-9 (-> self align)) + (TODO-RENAME-10 (-> self align) 4098 1.0 arg1 1.0) + (when (zero? (logand (-> self align flags) 1)) + (let ((f0-6 (* (- (-> self align delta trans z)) (-> *display* frames-per-second)))) + (set! (-> self collide-info transv x) (* (-> self hit-from-dir x) f0-6)) + (set! (-> self collide-info transv z) (* (-> self hit-from-dir z) f0-6)) + ) + ) ) + ) + (else + (let ((f0-8 20480.0)) + (set! (-> self collide-info transv x) (* (-> self hit-from-dir x) f0-8)) + (set! (-> self collide-info transv z) (* (-> self hit-from-dir z) f0-8)) + ) ) - ) - (set! - (-> self collide-info transv x) - (* (-> self hit-from-dir x) f0-6) - ) - (set! - (-> self collide-info transv z) - (* (-> self hit-from-dir z) f0-6) - ) ) - ) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) arg2) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) - (else - (let ((f0-8 20480.0)) - (set! (-> self collide-info transv x) (* (-> self hit-from-dir x) f0-8)) - (set! (-> self collide-info transv z) (* (-> self hit-from-dir z) f0-8)) - ) - ) ) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) arg2) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ) 0 (none) ) @@ -979,44 +758,25 @@ nav-enemy-default-event-handler (defbehavior nav-enemy-turn-to-face-dir nav-enemy ((arg0 vector) (arg1 float)) (local-vars (v1-16 symbol)) (let ((s4-0 (-> *display* base-frame-counter))) - (let ((v1-3 (-> self skel root-channel 0))) - (set! - (-> v1-3 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info turn-anim)) + (let ((v1-3 (-> self skel root-channel 0))) + (set! (-> v1-3 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info turn-anim))) + ) ) - ) - ) - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! (-> v1-6 frame-num) 0.0) - ) - (until v1-16 - (seek-toward-heading-vec! - (-> self collide-info) - arg0 - (-> self rotate-speed) - (-> self turn-time) - ) - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 0.75) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-loop! + (let ((v1-6 (-> self skel root-channel 0))) + (set! (-> v1-6 num-func) num-func-identity) + (set! (-> v1-6 frame-num) 0.0) ) - ) - (set! - v1-16 - (or - (>= (- (-> *display* base-frame-counter) s4-0) 3000) - (nav-enemy-facing-direction? arg0 arg1) + (until v1-16 + (seek-toward-heading-vec! (-> self collide-info) arg0 (-> self rotate-speed) (-> self turn-time)) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) 0.75) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) + ) + (set! v1-16 (or (>= (- (-> *display* base-frame-counter) s4-0) 3000) (nav-enemy-facing-direction? arg0 arg1))) ) - ) ) - ) (forward-up->quaternion (-> self collide-info quat) arg0 *y-vector*) 0 (none) @@ -1025,17 +785,13 @@ nav-enemy-default-event-handler ;; definition for function nav-enemy-turn-to-face-point ;; INFO: Return type mismatch int vs none. (defbehavior nav-enemy-turn-to-face-point nav-enemy ((arg0 vector) (arg1 float)) - (let - ((gp-1 - (vector-! (new 'stack-no-clear 'vector) arg0 (-> self collide-info trans)) - ) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> self collide-info trans)))) + (set! (-> gp-1 y) 0.0) + (when (< 0.0 (vector-length gp-1)) + (vector-normalize! gp-1 1.0) + (nav-enemy-turn-to-face-dir gp-1 arg1) + ) ) - (set! (-> gp-1 y) 0.0) - (when (< 0.0 (vector-length gp-1)) - (vector-normalize! gp-1 1.0) - (nav-enemy-turn-to-face-dir gp-1 arg1) - ) - ) 0 (none) ) @@ -1043,31 +799,21 @@ nav-enemy-default-event-handler ;; definition for method 12 of type nav-enemy (defmethod run-logic? nav-enemy ((obj nav-enemy)) (or - (zero? (logand (-> obj mask) (process-mask actor-pause))) - (or - (and - (nonzero? (-> obj draw)) - (and - (>= - (+ - (-> *ACTOR-bank* pause-dist) - (-> obj collide-info pause-adjust-distance) + (zero? (logand (-> obj mask) (process-mask actor-pause))) + (or + (and + (nonzero? (-> obj draw)) + (and + (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj collide-info pause-adjust-distance)) + (vector-vector-distance (-> obj collide-info trans) (camera-pos)) + ) + (or (logtest? (-> obj draw status) 8) (!= (-> obj next-state name) 'nav-enemy-idle)) + ) ) - (vector-vector-distance (-> obj collide-info trans) (camera-pos)) - ) - (or - (logtest? (-> obj draw status) 8) - (!= (-> obj next-state name) 'nav-enemy-idle) - ) + (and (nonzero? (-> obj skel)) (!= (-> obj skel root-channel 0) (-> obj skel channel))) + (and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) 16)) ) - ) - (and - (nonzero? (-> obj skel)) - (!= (-> obj skel root-channel 0) (-> obj skel channel)) - ) - (and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) 16)) ) - ) ) ;; failed to figure out what this is: @@ -1075,82 +821,58 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter (behavior () - (nav-enemy-neck-control-inactive) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (if (-> self nav-info move-to-ground) - (dummy-60 - (-> self collide-info) - 40960.0 - 40960.0 - #t - (-> self nav-info gnd-collide-with) - ) + (nav-enemy-neck-control-inactive) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (if (-> self nav-info move-to-ground) + (dummy-60 (-> self collide-info) 40960.0 40960.0 #t (-> self nav-info gnd-collide-with)) + ) + (set! (-> self nav-enemy-flags) (logand -7 (-> self nav-enemy-flags))) + (set! (-> self state-timeout) 300) + (none) ) - (set! (-> self nav-enemy-flags) (logand -7 (-> self nav-enemy-flags))) - (set! (-> self state-timeout) 300) - (none) - ) :trans (behavior () - (if - (and - (and - *target* - (>= - (-> self enemy-info idle-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) + (if (and + (and *target* (>= (-> self enemy-info idle-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) + (nonzero? (-> self draw)) + (logtest? (-> self draw status) 8) + ) + (go-virtual nav-enemy-patrol) ) - ) - ) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self state-timeout) - ) - (nonzero? (-> self draw)) - (logtest? (-> self draw status) 8) - ) - (go-virtual nav-enemy-patrol) + (none) ) - (none) - ) :code (behavior () - (ja-channel-push! 1 22) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-channel-push! 1 22) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + ) ) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) - (while #t - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-loop! - ) + (let ((v1-5 (-> self skel root-channel 0))) + (set! (-> v1-5 num-func) num-func-identity) + (set! (-> v1-5 frame-num) 0.0) ) - ) + (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) + (while #t + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) f30-0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior nav-enemy) ja-post) ) @@ -1160,336 +882,195 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! - (-> self nav flags) - (the-as - nav-control-flags - (the-as int (logior (nav-control-flags bit19) (-> self nav flags))) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self nav flags) + (the-as nav-control-flags (the-as int (logior (nav-control-flags bit19) (-> self nav flags)))) + ) + (set! (-> self nav-enemy-flags) (logand -5 (-> self nav-enemy-flags))) + (logior! (-> self nav-enemy-flags) 8) + (set! (-> self state-timeout) 300) + (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) + (set! (-> self acceleration) (-> self nav-info walk-acceleration)) + (set! (-> self rotate-speed) (-> self nav-info walk-rotate-speed)) + (set! (-> self turn-time) (the-as int (-> self nav-info walk-turn-time))) + (none) ) - (set! (-> self nav-enemy-flags) (logand -5 (-> self nav-enemy-flags))) - (logior! (-> self nav-enemy-flags) 8) - (set! (-> self state-timeout) 300) - (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) - (set! (-> self acceleration) (-> self nav-info walk-acceleration)) - (set! (-> self rotate-speed) (-> self nav-info walk-rotate-speed)) - (set! (-> self turn-time) (the-as int (-> self nav-info walk-turn-time))) - (none) - ) :exit - (behavior () - (logior! (-> self nav-enemy-flags) 8) - (none) - ) + (behavior () (logior! (-> self nav-enemy-flags) 8) (none)) :trans (behavior () - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (when - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self state-timeout) - ) - (if (and (nonzero? (-> self draw)) (logtest? (-> self draw status) 8)) - (set! (-> self free-time) (-> *display* base-frame-counter)) - ) - (if - (or - (or - (not *target*) - (< - (-> self enemy-info idle-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) + (if (and (nonzero? (-> self draw)) (logtest? (-> self draw status) 8)) + (set! (-> self free-time) (-> *display* base-frame-counter)) + ) + (if (or + (or (not *target*) (< (-> self enemy-info idle-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (>= (- (-> *display* base-frame-counter) (-> self free-time)) 600) + ) + (go-virtual nav-enemy-idle) + ) + ) + (if (and + (-> self nav-info use-flee) + (and + (and *target* (>= (-> self nav-info notice-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (let ((gp-0 'racer) + (a1-2 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 1) + (set! (-> a1-2 message) 'query) + (set! (-> a1-2 param 0) (the-as uint 'mode)) + (= gp-0 (send-event-function *target* a1-2)) + ) + ) + ) + (go-virtual nav-enemy-flee) ) - ) - ) - (>= (- (-> *display* base-frame-counter) (-> self free-time)) 600) - ) - (go-virtual nav-enemy-idle) - ) - ) - (if - (and - (-> self nav-info use-flee) - (and - (and - *target* - (>= - (-> self nav-info notice-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) + (if (nav-enemy-notice-player?) + (go-virtual nav-enemy-notice) ) - ) - ) - (let ((gp-0 'racer) - (a1-2 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'mode)) - (= gp-0 (send-event-function *target* a1-2)) - ) - ) ) - (go-virtual nav-enemy-flee) - ) - (if (nav-enemy-notice-player?) - (go-virtual nav-enemy-notice) - ) + (none) ) - (none) - ) :code (behavior () - (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (nav-enemy-rnd-go-idle? 0.2) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 180) - (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - ) - (set! - (-> a0-8 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) + (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) + (while #t + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + ) + (set! (-> a0-1 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-1 param 1) f30-0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! + a0-1 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + num-func-seek! ) - data - 0 - length - ) - -1 ) - ) - ) - (set! (-> a0-8 param 1) f30-0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) f30-0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (until (not (nav-enemy-rnd-go-idle? 0.2)) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - ) - (set! - (-> a0-11 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) f30-0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-11 param 1) f30-0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (logior! (-> self nav-enemy-flags) 8) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 1.0) - (joint-control-channel-group! - a0-15 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 180) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - ) - (set! - (-> a0-17 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) + (when (nav-enemy-rnd-go-idle? 0.2) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) 1.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 180) + (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + ) + (set! (-> a0-8 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-8 param 1) f30-0) + (set! (-> a0-8 frame-num) 0.0) + (joint-control-channel-group! + a0-8 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) f30-0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (until (not (nav-enemy-rnd-go-idle? 0.2)) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + ) + (set! (-> a0-11 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-11 param 1) f30-0) + (set! (-> a0-11 frame-num) 0.0) + (joint-control-channel-group! + a0-11 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) f30-0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (logior! (-> self nav-enemy-flags) 8) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 param 0) 1.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 180) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + ) + (set! (-> a0-17 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-17 param 1) f30-0) + (set! (-> a0-17 frame-num) 0.0) + (joint-control-channel-group! + a0-17 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) + (set! (-> a0-18 param 1) f30-0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) + ) ) - data - 0 - length - ) - -1 ) - ) ) - (set! (-> a0-17 param 1) f30-0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 param 0) - (the float (+ (-> a0-18 frame-group data 0 length) -1)) - ) - (set! (-> a0-18 param 1) f30-0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ) + (none) ) - (none) - ) :post nav-enemy-patrol-post ) @@ -1499,93 +1080,66 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter (behavior () - (logior! (-> self nav-enemy-flags) 4) - (nav-enemy-neck-control-look-at) - (if (logtest? (-> self nav-enemy-flags) 2) - (go-virtual nav-enemy-chase) + (logior! (-> self nav-enemy-flags) 4) + (nav-enemy-neck-control-look-at) + (if (logtest? (-> self nav-enemy-flags) 2) + (go-virtual nav-enemy-chase) + ) + (logior! (-> self nav-enemy-flags) 2) + (let ((gp-0 (-> self nav)) + (v1-10 (target-pos 0)) + ) + (set! (-> gp-0 target-pos quad) (-> v1-10 quad)) + ) + (dummy-11 (-> self nav) (-> self nav target-pos)) + (set! (-> self rotate-speed) (-> self nav-info run-rotate-speed)) + (set! (-> self turn-time) (the-as int (-> self nav-info run-turn-time))) + (none) ) - (logior! (-> self nav-enemy-flags) 2) - (let ((gp-0 (-> self nav)) - (v1-10 (target-pos 0)) - ) - (set! (-> gp-0 target-pos quad) (-> v1-10 quad)) - ) - (dummy-11 (-> self nav) (-> self nav target-pos)) - (set! (-> self rotate-speed) (-> self nav-info run-rotate-speed)) - (set! (-> self turn-time) (the-as int (-> self nav-info run-turn-time))) - (none) - ) :code (behavior () - (ja-channel-push! 1 22) - (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info notice-anim)) - ) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info notice-anim)) + (ja-channel-push! 1 22) + (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) + ) + (set! (-> a0-2 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-2 param 1) f30-0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! + a0-2 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (seek-toward-heading-vec! + (-> self collide-info) + (-> self nav travel) + (-> self rotate-speed) + (-> self turn-time) + ) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) f30-0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - data - 0 - length - ) - -1 ) - ) ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info notice-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (seek-toward-heading-vec! - (-> self collide-info) - (-> self nav travel) - (-> self rotate-speed) - (-> self turn-time) - ) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (go-virtual nav-enemy-chase) + (none) ) - (go-virtual nav-enemy-chase) - (none) - ) :post nav-enemy-simple-post ) @@ -1593,10 +1147,10 @@ nav-enemy-default-event-handler ;; definition for function ja-group-index? (defbehavior ja-group-index? nav-enemy ((arg0 int)) (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data arg0) - ) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data arg0) + ) ) ;; failed to figure out what this is: @@ -1604,162 +1158,94 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (when - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self reaction-time) - ) - (if - (or - (or - (not *target*) - (< - (-> self nav-info stop-chase-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) - ) - ) - (let ((gp-0 'racer) - (a1-1 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'mode)) - (!= gp-0 (send-event-function *target* a1-1)) - ) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self reaction-time)) + (if (or + (or (not *target*) (< (-> self nav-info stop-chase-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (let ((gp-0 'racer) + (a1-1 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'query) + (set! (-> a1-1 param 0) (the-as uint 'mode)) + (!= gp-0 (send-event-function *target* a1-1)) + ) + ) + (go-virtual nav-enemy-patrol) + ) ) - (go-virtual nav-enemy-patrol) - ) + (none) ) - (none) - ) :code (behavior () - (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (ja-channel-push! 1 60) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info notice-anim)) - ) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info notice-anim)) + (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) + (ja-channel-push! 1 60) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) + ) + (set! (-> a0-2 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-2 param 1) f30-0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! + a0-2 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info notice-anim))) + num-func-seek! ) - data - 0 - length - ) - -1 ) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info notice-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-push! 1 60) - (while #t - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) f30-0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-6 param 1) f30-0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-channel-push! 1 60) + (while #t + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + ) + (set! (-> a0-6 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-6 param 1) f30-0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! + a0-6 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) f30-0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) f30-0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (none) ) - (none) - ) :post nav-enemy-face-player-post ) @@ -1770,8 +1256,8 @@ nav-enemy-default-event-handler (defbehavior nav-enemy-reset-frustration nav-enemy () (set! (-> self nav-enemy-flags) (logand -8193 (-> self nav-enemy-flags))) (if *target* - (set! (-> self frustration-point quad) (-> *target* control shadow-pos quad)) - ) + (set! (-> self frustration-point quad) (-> *target* control shadow-pos quad)) + ) (set! (-> self frustration-time) (-> *display* base-frame-counter)) 0 (none) @@ -1780,22 +1266,13 @@ nav-enemy-default-event-handler ;; definition for function nav-enemy-player-at-frustration-point? (defbehavior nav-enemy-player-at-frustration-point? nav-enemy () (if *target* - (< - (vector-vector-distance - (-> *target* control shadow-pos) - (-> self frustration-point) - ) - 6144.0 - ) - ) + (< (vector-vector-distance (-> *target* control shadow-pos) (-> self frustration-point)) 6144.0) + ) ) ;; definition for function nav-enemy-frustrated? (defbehavior nav-enemy-frustrated? nav-enemy () - (and - (logtest? (-> self nav-enemy-flags) 8192) - (nav-enemy-player-at-frustration-point?) - ) + (and (logtest? (-> self nav-enemy-flags) 8192) (nav-enemy-player-at-frustration-point?)) ) ;; failed to figure out what this is: @@ -1803,103 +1280,84 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter (behavior () - (nav-enemy-neck-control-look-at) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self free-time) (-> *display* base-frame-counter)) - (logior! (-> self nav-enemy-flags) 4) - (set! (-> self target-speed) (-> self nav-info run-travel-speed)) - (set! (-> self acceleration) (-> self nav-info run-acceleration)) - (set! (-> self rotate-speed) (-> self nav-info run-rotate-speed)) - (set! (-> self turn-time) (the-as int (-> self nav-info run-turn-time))) - (nav-enemy-reset-frustration) - (none) - ) + (nav-enemy-neck-control-look-at) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self free-time) (-> *display* base-frame-counter)) + (logior! (-> self nav-enemy-flags) 4) + (set! (-> self target-speed) (-> self nav-info run-travel-speed)) + (set! (-> self acceleration) (-> self nav-info run-acceleration)) + (set! (-> self rotate-speed) (-> self nav-info run-rotate-speed)) + (set! (-> self turn-time) (the-as int (-> self nav-info run-turn-time))) + (nav-enemy-reset-frustration) + (none) + ) :trans (behavior () - (if (logtest? (-> *target* state-flags) 128) - (go-virtual nav-enemy-patrol) + (if (logtest? (-> *target* state-flags) 128) + (go-virtual nav-enemy-patrol) + ) + (if (logtest? (-> self nav-enemy-flags) 256) + (go-virtual nav-enemy-victory) + ) + (if (or + (not (nav-enemy-player-at-frustration-point?)) + (< (-> self nav-info frustration-distance) + (vector-vector-xz-distance (target-pos 0) (-> self collide-info trans)) + ) + ) + (nav-enemy-reset-frustration) + ) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self reaction-time)) + (if (>= (- (-> *display* base-frame-counter) (-> self frustration-time)) + (+ (-> self reaction-time) (-> self nav-info frustration-time)) + ) + (logior! (-> self nav-enemy-flags) 8192) + ) + (if (or + (not (TODO-RENAME-46 self (-> self nav-info stop-chase-distance))) + (logtest? (-> self nav-enemy-flags) 8192) + ) + (go-virtual nav-enemy-stop-chase) + ) + (cond + ((logtest? (nav-control-flags bit17) (-> self nav flags)) + (if (>= (- (-> *display* base-frame-counter) (-> self free-time)) 300) + (go-virtual nav-enemy-patrol) + ) + ) + (else + (set! (-> self free-time) (-> *display* base-frame-counter)) + ) + ) + ) + (none) ) - (if (logtest? (-> self nav-enemy-flags) 256) - (go-virtual nav-enemy-victory) - ) - (if - (or - (not (nav-enemy-player-at-frustration-point?)) - (< - (-> self nav-info frustration-distance) - (vector-vector-xz-distance (target-pos 0) (-> self collide-info trans)) - ) - ) - (nav-enemy-reset-frustration) - ) - (when - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self reaction-time) - ) - (if - (>= - (- (-> *display* base-frame-counter) (-> self frustration-time)) - (+ (-> self reaction-time) (-> self nav-info frustration-time)) - ) - (logior! (-> self nav-enemy-flags) 8192) - ) - (if - (or - (not (TODO-RENAME-46 self (-> self nav-info stop-chase-distance))) - (logtest? (-> self nav-enemy-flags) 8192) - ) - (go-virtual nav-enemy-stop-chase) - ) - (cond - ((logtest? (nav-control-flags bit17) (-> self nav flags)) - (if (>= (- (-> *display* base-frame-counter) (-> self free-time)) 300) - (go-virtual nav-enemy-patrol) - ) - ) - (else - (set! (-> self free-time) (-> *display* base-frame-counter)) - ) - ) - ) - (none) - ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) + (ja-channel-push! 1 60) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) ) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-loop! - ) + (let ((v1-5 (-> self skel root-channel 0))) + (set! (-> v1-5 num-func) num-func-identity) + (set! (-> v1-5 frame-num) 0.0) ) - ) + (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) + (while #t + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) f30-0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + ) + (none) ) - (none) - ) :post nav-enemy-chase-post ) @@ -1909,104 +1367,71 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let* - ((f30-0 - (vector-vector-distance (-> self collide-info trans) (target-pos 0)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let* ((f30-0 (vector-vector-distance (-> self collide-info trans) (target-pos 0))) + (gp-1 (the int (+ (lerp-scale 600.0 1800.0 f30-0 32768.0 122880.0) (nav-enemy-rnd-float-range 0.0 30.0)))) + ) + (if (< f30-0 40960.0) + (go-virtual nav-enemy-stare) + ) + (set! (-> self state-timeout) gp-1) ) - (gp-1 - (the - int - (+ - (lerp-scale 600.0 1800.0 f30-0 32768.0 122880.0) - (nav-enemy-rnd-float-range 0.0 30.0) - ) - ) - ) - ) - (if (< f30-0 40960.0) - (go-virtual nav-enemy-stare) - ) - (set! (-> self state-timeout) gp-1) + (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) + (set! (-> self acceleration) (-> self nav-info walk-acceleration)) + (set! (-> self rotate-speed) (-> self nav-info walk-rotate-speed)) + (set! (-> self turn-time) (the-as int (-> self nav-info walk-turn-time))) + (none) ) - (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) - (set! (-> self acceleration) (-> self nav-info walk-acceleration)) - (set! (-> self rotate-speed) (-> self nav-info walk-rotate-speed)) - (set! (-> self turn-time) (the-as int (-> self nav-info walk-turn-time))) - (none) - ) :trans (behavior () - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (if (logtest? (-> *target* state-flags) 128) - (go-virtual nav-enemy-patrol) - ) - (if - (and - (TODO-RENAME-46 self (-> self nav-info notice-distance)) - (not (nav-enemy-frustrated?)) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (if (logtest? (-> *target* state-flags) 128) + (go-virtual nav-enemy-patrol) + ) + (if (and (TODO-RENAME-46 self (-> self nav-info notice-distance)) (not (nav-enemy-frustrated?))) + (go-virtual nav-enemy-chase) + ) + (if (or + (or (not *target*) (< (-> self enemy-info idle-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (logtest? (nav-control-flags bit17) (-> self nav flags)) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) + ) + (go-virtual nav-enemy-stare) + ) ) - (go-virtual nav-enemy-chase) - ) - (if - (or - (or - (not *target*) - (< - (-> self enemy-info idle-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) - ) - ) - (logtest? (nav-control-flags bit17) (-> self nav flags)) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self state-timeout) - ) - ) - (go-virtual nav-enemy-stare) - ) + (none) ) - (none) - ) :code (behavior () - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-channel-push! 1 30) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + ) ) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (while #t - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-loop! - ) + (let ((v1-5 (-> self skel root-channel 0))) + (set! (-> v1-5 num-func) num-func-identity) + (set! (-> v1-5 frame-num) 0.0) ) - ) + (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) + (while #t + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) f30-0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + ) + (none) ) - (none) - ) :post nav-enemy-chase-post ) @@ -2016,119 +1441,75 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - (let - ((f0-0 (vector-vector-distance (-> self collide-info trans) (target-pos 0))) - ) - (set! - (-> self state-timeout) - (the - int - (+ - (lerp-scale 3000.0 0.0 f0-0 12288.0 122880.0) - (nav-enemy-rnd-float-range 0.0 900.0) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + (let ((f0-0 (vector-vector-distance (-> self collide-info trans) (target-pos 0)))) + (set! (-> self state-timeout) + (the int (+ (lerp-scale 3000.0 0.0 f0-0 12288.0 122880.0) (nav-enemy-rnd-float-range 0.0 900.0))) + ) ) - ) + (set! (-> self rotate-speed) (-> self nav-info run-rotate-speed)) + (set! (-> self turn-time) (the-as int (-> self nav-info run-turn-time))) + (set! (-> self collide-info transv quad) (-> *null-vector* quad)) + (none) ) - (set! (-> self rotate-speed) (-> self nav-info run-rotate-speed)) - (set! (-> self turn-time) (the-as int (-> self nav-info run-turn-time))) - (set! (-> self collide-info transv quad) (-> *null-vector* quad)) - (none) - ) :exit - (behavior () - (logior! (-> self nav-enemy-flags) 16) - (none) - ) + (behavior () (logior! (-> self nav-enemy-flags) 16) (none)) :trans (behavior () - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (if (logtest? (-> *target* state-flags) 128) - (go-virtual nav-enemy-patrol) - ) - (cond - ((TODO-RENAME-46 self (-> self nav-info notice-distance)) - (if - (and - (>= - (- (-> *display* base-frame-counter) (-> self notice-time)) - (-> self reaction-time) - ) - (not (nav-enemy-frustrated?)) - ) - (go-virtual nav-enemy-chase) - ) - ) - (else - (set! (-> self notice-time) (-> *display* base-frame-counter)) - ) - ) - (when - (not - (or - (and - *target* - (>= - 40960.0 - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (if (logtest? (-> *target* state-flags) 128) + (go-virtual nav-enemy-patrol) ) + (cond + ((TODO-RENAME-46 self (-> self nav-info notice-distance)) + (if (and + (>= (- (-> *display* base-frame-counter) (-> self notice-time)) (-> self reaction-time)) + (not (nav-enemy-frustrated?)) + ) + (go-virtual nav-enemy-chase) + ) ) - ) - (and - (-> self nav-info use-proximity-notice) - *target* - (>= - (-> self nav-info proximity-notice-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) + (else + (set! (-> self notice-time) (-> *display* base-frame-counter)) ) - ) ) - ) - ) - (set! (-> self nav-enemy-flags) (logand -5 (-> self nav-enemy-flags))) - (if - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self state-timeout) - ) - (go-virtual nav-enemy-give-up) - ) - ) - (if - (or - (or - (not *target*) - (< - (-> self enemy-info idle-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) + (when (not + (or + (and *target* (>= 40960.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) + (and + (-> self nav-info use-proximity-notice) + *target* + (>= (-> self nav-info proximity-notice-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + ) + ) + (set! (-> self nav-enemy-flags) (logand -5 (-> self nav-enemy-flags))) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) + (go-virtual nav-enemy-give-up) + ) ) - ) - (logtest? (nav-control-flags bit17) (-> self nav flags)) + (if (or + (or (not *target*) (< (-> self enemy-info idle-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (logtest? (nav-control-flags bit17) (-> self nav flags)) + ) + (go-virtual nav-enemy-give-up) + ) ) - (go-virtual nav-enemy-give-up) - ) + (none) ) - (none) - ) :code - (behavior () - (go-virtual nav-enemy-give-up) - (none) - ) + (behavior () (go-virtual nav-enemy-give-up) (none)) :post nav-enemy-face-player-post ) @@ -2138,30 +1519,27 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (nav-enemy-neck-control-inactive) - (set! (-> self nav-enemy-flags) (logand -5 (-> self nav-enemy-flags))) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (nav-enemy-neck-control-inactive) + (set! (-> self nav-enemy-flags) (logand -5 (-> self nav-enemy-flags))) + (none) + ) :trans (behavior () - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) - (go-virtual nav-enemy-chase) - ) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) + (go-virtual nav-enemy-chase) + ) + ) + (none) ) - (none) - ) :code - (behavior () - (go-virtual nav-enemy-patrol) - (none) - ) + (behavior () (go-virtual nav-enemy-patrol) (none)) :post nav-enemy-simple-post ) @@ -2171,14 +1549,11 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :code - (behavior () - (go-virtual nav-enemy-victory) - (none) - ) + (behavior () (go-virtual nav-enemy-victory) (none)) :post nav-enemy-simple-post ) @@ -2188,74 +1563,46 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter - (behavior () - (set! (-> self collide-info transv quad) (-> *null-vector* quad)) - (none) - ) + (behavior () (set! (-> self collide-info transv quad) (-> *null-vector* quad)) (none)) :code (behavior () - (ja-channel-push! 1 22) - (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info victory-anim)) - ) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info victory-anim)) + (ja-channel-push! 1 22) + (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) + ) + (set! (-> a0-2 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) + -1 + ) + ) + ) + (set! (-> a0-2 param 1) f30-0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! + a0-2 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) f30-0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - data - 0 - length - ) - -1 ) - ) ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info victory-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (go-virtual nav-enemy-stare) + (none) ) - (go-virtual nav-enemy-stare) - (none) - ) :post nav-enemy-simple-post ) @@ -2265,38 +1612,32 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - process-drawable-death-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + process-drawable-death-event-handler + ) :enter - (behavior () - (send-event (ppointer->process (-> self parent)) 'child-die) - (none) - ) + (behavior () (send-event (ppointer->process (-> self parent)) 'child-die) (none)) :code (behavior () - (ja-channel-push! 1 22) - (clear-collide-with-as (-> self collide-info)) - (nav-enemy-fall-and-play-death-anim - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info die-anim)) - ) - 1.0 - 1.0 - 1000000000000000.0 - 600 + (ja-channel-push! 1 22) + (clear-collide-with-as (-> self collide-info)) + (nav-enemy-fall-and-play-death-anim + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info die-anim))) + 1.0 + 1.0 + 1000000000000000.0 + 600 + ) + (send-event self 'death-end) + (if (logtest? (-> self enemy-info options) (fact-options fop1)) + (go-virtual nav-enemy-fuel-cell) + ) + (while (-> self child) + (suspend) + ) + (dummy-18 self) + (none) ) - (send-event self 'death-end) - (if (logtest? (-> self enemy-info options) (fact-options fop1)) - (go-virtual nav-enemy-fuel-cell) - ) - (while (-> self child) - (suspend) - ) - (dummy-18 self) - (none) - ) :post nav-enemy-death-post ) @@ -2306,36 +1647,36 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - process-drawable-fuel-cell-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + process-drawable-fuel-cell-handler + ) :code (behavior () - (ja-channel-set! 0) - (clear-collide-with-as (-> self collide-info)) - (ja-post) - (process-entity-status! self (entity-perm-status complete) #t) - (when (not (task-complete? *game-info* (-> self entity extra perm task))) - (label cfg-1) - (birth-pickup-at-point - (-> self collide-info trans) - (pickup-type fuel-cell) - (the float (the-as int (-> self entity extra perm task))) - #f - self - (the-as fact-info #f) - ) - (when (not (-> self child)) - (suspend) - (goto cfg-1) - ) - (while (-> self child) - (suspend) - ) + (ja-channel-set! 0) + (clear-collide-with-as (-> self collide-info)) + (ja-post) + (process-entity-status! self (entity-perm-status complete) #t) + (when (not (task-complete? *game-info* (-> self entity extra perm task))) + (label cfg-1) + (birth-pickup-at-point + (-> self collide-info trans) + (pickup-type fuel-cell) + (the float (the-as int (-> self entity extra perm task))) + #f + self + (the-as fact-info #f) + ) + (when (not (-> self child)) + (suspend) + (goto cfg-1) + ) + (while (-> self child) + (suspend) + ) + ) + (dummy-18 self) + (none) ) - (dummy-18 self) - (none) - ) ) ;; definition for function nav-enemy-jump-post @@ -2343,40 +1684,21 @@ nav-enemy-default-event-handler ;; Used lq/sq (defbehavior nav-enemy-jump-post nav-enemy () (if (logtest? (-> self nav-enemy-flags) 16) - (seek-to-point-toward-point! - (-> self collide-info) - (-> self jump-dest) - (-> self rotate-speed) - (-> self turn-time) - ) - ) - (when (logtest? (-> self nav-enemy-flags) 8) - (let - ((f30-0 - (the - float - (- (-> *display* base-frame-counter) (the-as int (-> self jump-time))) - ) - ) - ) - (let - ((v1-12 - (eval-position! - (-> self jump-trajectory) - f30-0 - (new 'stack-no-clear 'vector) + (seek-to-point-toward-point! + (-> self collide-info) + (-> self jump-dest) + (-> self rotate-speed) + (-> self turn-time) ) - ) ) - (set! (-> self collide-info trans quad) (-> v1-12 quad)) - ) - (eval-velocity! - (-> self jump-trajectory) - f30-0 - (-> self collide-info transv) - ) + (when (logtest? (-> self nav-enemy-flags) 8) + (let ((f30-0 (the float (- (-> *display* base-frame-counter) (the-as int (-> self jump-time)))))) + (let ((v1-12 (eval-position! (-> self jump-trajectory) f30-0 (new 'stack-no-clear 'vector)))) + (set! (-> self collide-info trans quad) (-> v1-12 quad)) + ) + (eval-velocity! (-> self jump-trajectory) f30-0 (-> self collide-info transv)) + ) ) - ) (nav-enemy-simple-post) 0 (none) @@ -2385,57 +1707,36 @@ nav-enemy-default-event-handler ;; definition for function nav-enemy-initialize-custom-jump ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defbehavior - nav-enemy-initialize-custom-jump nav-enemy - ((arg0 vector) (arg1 symbol) (arg2 float) (arg3 float) (arg4 float)) +(defbehavior nav-enemy-initialize-custom-jump nav-enemy ((arg0 vector) (arg1 symbol) (arg2 float) (arg3 float) (arg4 float)) (set! (-> self jump-dest quad) (-> arg0 quad)) (let* ((s4-0 (-> self collide-info trans)) (f28-0 (vector-vector-xz-distance s4-0 arg0)) (f30-0 (fmax arg2 (* arg3 f28-0))) ) - (let ((f26-0 (- (-> arg0 y) (-> s4-0 y)))) - (let ((f24-0 (vector-length (-> self collide-info transv))) - (s1-1 - (vector-z-quaternion! - (new 'stack-no-clear 'vector) - (-> self collide-info quat) + (let ((f26-0 (- (-> arg0 y) (-> s4-0 y)))) + (let ((f24-0 (vector-length (-> self collide-info transv))) + (s1-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self collide-info quat))) + (s2-2 (vector-! (new 'stack-no-clear 'vector) arg0 s4-0)) ) - ) - (s2-2 (vector-! (new 'stack-no-clear 'vector) arg0 s4-0)) + (set! (-> s1-1 y) 0.0) + (set! (-> s2-2 y) 0.0) + (vector-xz-normalize! s1-1 1.0) + (vector-xz-normalize! s2-2 1.0) + (set! (-> self nav-enemy-flags) (logand -1537 (-> self nav-enemy-flags))) + (if (or (>= (* 0.5 (-> self nav-info run-travel-speed)) f24-0) (>= (cos 3640.889) (vector-dot s1-1 s2-2))) + (logior! (-> self nav-enemy-flags) 512) + ) + ) + (if (or (and (< f26-0 0.0) (< f28-0 (fabs f26-0))) (and (< (fabs f26-0) 12288.0) (< f28-0 20480.0))) + (logior! (-> self nav-enemy-flags) 1024) ) - (set! (-> s1-1 y) 0.0) - (set! (-> s2-2 y) 0.0) - (vector-xz-normalize! s1-1 1.0) - (vector-xz-normalize! s2-2 1.0) - (set! (-> self nav-enemy-flags) (logand -1537 (-> self nav-enemy-flags))) - (if - (or - (>= (* 0.5 (-> self nav-info run-travel-speed)) f24-0) - (>= (cos 3640.889) (vector-dot s1-1 s2-2)) - ) - (logior! (-> self nav-enemy-flags) 512) ) - ) - (if - (or - (and (< f26-0 0.0) (< f28-0 (fabs f26-0))) - (and (< (fabs f26-0) 12288.0) (< f28-0 20480.0)) + (when (and arg1 (logtest? (-> self nav-enemy-flags) 1024)) + (set! (-> self nav-enemy-flags) (logand -513 (-> self nav-enemy-flags))) + (set! f30-0 2048.0) ) - (logior! (-> self nav-enemy-flags) 1024) - ) + (setup-from-to-height! (-> self jump-trajectory) s4-0 arg0 f30-0 (* 0.000011111111 arg4)) ) - (when (and arg1 (logtest? (-> self nav-enemy-flags) 1024)) - (set! (-> self nav-enemy-flags) (logand -513 (-> self nav-enemy-flags))) - (set! f30-0 2048.0) - ) - (setup-from-to-height! - (-> self jump-trajectory) - s4-0 - arg0 - f30-0 - (* 0.000011111111 arg4) - ) - ) (set! (-> self nav extra-nav-sphere quad) (-> arg0 quad)) (set! (-> self nav extra-nav-sphere w) (-> self collide-info nav-radius)) (logior! (-> self collide-info nav-flags) 2) @@ -2447,12 +1748,12 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defbehavior nav-enemy-initialize-jump nav-enemy ((arg0 vector)) (nav-enemy-initialize-custom-jump - arg0 - #t - (-> self nav-info jump-height-min) - (-> self nav-info jump-height-factor) - -409600.0 - ) + arg0 + #t + (-> self nav-info jump-height-min) + (-> self nav-info jump-height-factor) + -409600.0 + ) 0 (none) ) @@ -2460,137 +1761,90 @@ nav-enemy-default-event-handler ;; definition for function nav-enemy-execute-custom-jump ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defbehavior - nav-enemy-execute-custom-jump nav-enemy - ((arg0 int) (arg1 float) (arg2 float)) +(defbehavior nav-enemy-execute-custom-jump nav-enemy ((arg0 int) (arg1 float) (arg2 float)) (when (logtest? (-> self nav-enemy-flags) 512) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 30) - (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) - (let ((s3-0 (-> self skel root-channel 0))) - (set! - (-> s3-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data arg0)) - ) - (set! (-> s3-0 param 0) (ja-aframe arg1 0)) - (set! (-> s3-0 param 1) arg2) - (set! (-> s3-0 frame-num) 0.0) - (joint-control-channel-group! - s3-0 - (the-as art-joint-anim (-> self draw art-group data arg0)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((s3-1 (-> self skel root-channel 0))) - (set! (-> s3-1 param 0) (ja-aframe arg1 0)) - (set! (-> s3-1 param 1) arg2) - (joint-control-channel-group-eval! - s3-1 - (the-as art-joint-anim #f) - num-func-seek! + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) 1.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 30) + (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) + (let ((s3-0 (-> self skel root-channel 0))) + (set! (-> s3-0 frame-group) (the-as art-joint-anim (-> self draw art-group data arg0))) + (set! (-> s3-0 param 0) (ja-aframe arg1 0)) + (set! (-> s3-0 param 1) arg2) + (set! (-> s3-0 frame-num) 0.0) + (joint-control-channel-group! s3-0 (the-as art-joint-anim (-> self draw art-group data arg0)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((s3-1 (-> self skel root-channel 0))) + (set! (-> s3-1 param 0) (ja-aframe arg1 0)) + (set! (-> s3-1 param 1) arg2) + (joint-control-channel-group-eval! s3-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - ) (set! (-> self collide-info status) (logand -8 (-> self collide-info status))) (set! (-> self jump-time) (the-as uint (-> *display* base-frame-counter))) (logior! (-> self nav-enemy-flags) 8) (cond - ((logtest? (-> self nav-enemy-flags) 1024) - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data (-> self nav-info run-anim)) - ) - ) - (else - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) 1.0) - (joint-control-channel-group! - a0-22 - (the-as art-joint-anim #f) - num-func-loop! + ((logtest? (-> self nav-enemy-flags) 1024) + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data (-> self nav-info run-anim)) + ) ) - ) - (ja-channel-push! 1 30) - (let ((v1-39 (-> self skel root-channel 0))) - (set! - (-> v1-39 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) + (else + (let ((a0-22 (-> self skel root-channel 0))) + (set! (-> a0-22 param 0) 1.0) + (joint-control-channel-group! a0-22 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 30) + (let ((v1-39 (-> self skel root-channel 0))) + (set! (-> v1-39 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) + ) + ) + (let ((v1-42 (-> self skel root-channel 0))) + (set! (-> v1-42 num-func) num-func-identity) + (set! (-> v1-42 frame-num) 0.0) + ) ) + ) + ) + (else + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 param 0) 1.0) + (joint-control-channel-group! a0-30 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 30) + (let ((v1-49 (-> self skel root-channel 0))) + (set! (-> v1-49 frame-group) (the-as art-joint-anim (-> self draw art-group data arg0))) + ) + (let ((s5-1 (-> self skel root-channel 0))) + (set! (-> s5-1 num-func) num-func-identity) + (set! (-> s5-1 frame-num) (ja-aframe arg1 0)) ) - ) - (let ((v1-42 (-> self skel root-channel 0))) - (set! (-> v1-42 num-func) num-func-identity) - (set! (-> v1-42 frame-num) 0.0) - ) ) - ) ) - (else - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 1.0) - (joint-control-channel-group! - a0-30 - (the-as art-joint-anim #f) - num-func-loop! + (while (< (the float (- (-> *display* base-frame-counter) (the-as int (-> self jump-time)))) + (-> self jump-trajectory time) + ) + (suspend) + (let ((a0-36 (-> self skel root-channel 0))) + (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) + (set! (-> a0-36 param 1) 1.0) + (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (ja-channel-push! 1 30) - (let ((v1-49 (-> self skel root-channel 0))) - (set! - (-> v1-49 frame-group) - (the-as art-joint-anim (-> self draw art-group data arg0)) - ) - ) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 num-func) num-func-identity) - (set! (-> s5-1 frame-num) (ja-aframe arg1 0)) - ) + (ja-blend-eval) ) - ) - (while - (< - (the - float - (- (-> *display* base-frame-counter) (the-as int (-> self jump-time))) - ) - (-> self jump-trajectory time) - ) - (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! - (-> a0-36 param 0) - (the float (+ (-> a0-36 frame-group data 0 length) -1)) - ) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! - a0-36 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (ja-blend-eval) - ) (set! (-> self collide-info trans quad) (-> self jump-dest quad)) (set! (-> self collide-info transv y) 0.0) - (set! - (-> self collide-info nav-flags) - (logand -3 (-> self collide-info nav-flags)) - ) + (set! (-> self collide-info nav-flags) (logand -3 (-> self collide-info nav-flags))) 0 (none) ) @@ -2599,10 +1853,10 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defbehavior nav-enemy-execute-jump nav-enemy () (nav-enemy-execute-custom-jump - (-> self nav-info jump-anim) - (-> self nav-info jump-anim-start-frame) - (-> self nav-info jump-start-anim-speed) - ) + (-> self nav-info jump-anim) + (-> self nav-info jump-anim-start-frame) + (-> self nav-info jump-start-anim-speed) + ) 0 (none) ) @@ -2611,67 +1865,39 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defbehavior nav-enemy-jump-land-anim nav-enemy () (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) - ) (ja-channel-push! 1 22) (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info jump-land-anim)) - ) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info jump-land-anim)) - ) - data - 0 - length - ) - -1 + (set! (-> a0-2 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) + ) + (set! (-> a0-2 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) data 0 length) + -1 + ) + ) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! + a0-2 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) + num-func-seek! ) - ) ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info jump-land-anim)) - ) - num-func-seek! - ) - ) (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) + (ja-blend-eval) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) 0 (none) ) @@ -2683,36 +1909,29 @@ nav-enemy-default-event-handler nav-enemy-jump-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (if - (and - (-> self nav-info use-jump-blocked) - (TODO-RENAME-50 self (-> self event-param-point)) - ) - (go-virtual nav-enemy-jump-blocked) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (if (and (-> self nav-info use-jump-blocked) (TODO-RENAME-50 self (-> self event-param-point))) + (go-virtual nav-enemy-jump-blocked) + ) + (nav-enemy-initialize-jump (-> self event-param-point)) + (none) ) - (nav-enemy-initialize-jump (-> self event-param-point)) - (none) - ) :exit - (behavior () - (logior! (-> self nav-enemy-flags) 24) - (none) - ) + (behavior () (logior! (-> self nav-enemy-flags) 24) (none)) :code (behavior () - (nav-enemy-execute-jump) - (let ((a1-0 (-> self nav user-poly))) - (if (not a1-0) - (set! a1-0 (dummy-16 (-> self nav) (-> self jump-dest))) - ) - (if a1-0 - (set-current-poly! (-> self nav) a1-0) - ) + (nav-enemy-execute-jump) + (let ((a1-0 (-> self nav user-poly))) + (if (not a1-0) + (set! a1-0 (dummy-16 (-> self nav) (-> self jump-dest))) + ) + (if a1-0 + (set-current-poly! (-> self nav) a1-0) + ) + ) + (go-virtual nav-enemy-jump-land) + (none) ) - (go-virtual nav-enemy-jump-land) - (none) - ) :post nav-enemy-jump-post ) @@ -2722,60 +1941,43 @@ nav-enemy-default-event-handler (defbehavior nav-enemy-jump-land-post nav-enemy () (TODO-RENAME-9 (-> self align)) (dummy-11 (-> self nav) (-> self nav target-pos)) - (set! - (-> self target-speed) - (seek (-> self target-speed) (-> self nav-info run-travel-speed) 2048.0) - ) + (set! (-> self target-speed) (seek (-> self target-speed) (-> self nav-info run-travel-speed) 2048.0)) (set! (-> self momentum-speed) (-> self target-speed)) - (let* - ((f0-7 - (fmin - (* (-> self speed-scale) (-> self momentum-speed)) - (* (vector-length (-> self nav travel)) (-> *display* frames-per-second)) + (let* ((f0-7 + (fmin + (* (-> self speed-scale) (-> self momentum-speed)) + (* (vector-length (-> self nav travel)) (-> *display* frames-per-second)) + ) + ) + (v1-9 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> self nav travel) f0-7)) + ) + (set! (-> self collide-info transv x) (-> v1-9 x)) + (set! (-> self collide-info transv z) (-> v1-9 z)) + ) + (if (or (logtest? (-> self nav-enemy-flags) 128) (logtest? (nav-control-flags bit19) (-> self nav flags))) + (seek-to-point-toward-point! + (-> self collide-info) + (-> self nav target-pos) + (-> self rotate-speed) + (-> self turn-time) + ) + (seek-toward-heading-vec! + (-> self collide-info) + (-> self nav travel) + (-> self rotate-speed) + (-> self turn-time) + ) ) - ) - (v1-9 - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - (-> self nav travel) - f0-7 - ) - ) - ) - (set! (-> self collide-info transv x) (-> v1-9 x)) - (set! (-> self collide-info transv z) (-> v1-9 z)) - ) - (if - (or - (logtest? (-> self nav-enemy-flags) 128) - (logtest? (nav-control-flags bit19) (-> self nav flags)) - ) - (seek-to-point-toward-point! - (-> self collide-info) - (-> self nav target-pos) - (-> self rotate-speed) - (-> self turn-time) - ) - (seek-toward-heading-vec! - (-> self collide-info) - (-> self nav travel) - (-> self rotate-speed) - (-> self turn-time) - ) - ) - (vector-v++! - (-> self collide-info transv) - (dummy-62 (-> self collide-info) (new-stack-vector0) 0.0) - ) + (vector-v++! (-> self collide-info transv) (dummy-62 (-> self collide-info) (new-stack-vector0) 0.0)) (dummy-59 - (-> self collide-info) - (-> self collide-info transv) - (-> self nav-info gnd-collide-with) - 8192.0 - #f - (-> self nav-info hover-if-no-ground) - #f - ) + (-> self collide-info) + (-> self collide-info transv) + (-> self nav-info gnd-collide-with) + 8192.0 + #f + (-> self nav-info hover-if-no-ground) + #f + ) (nav-enemy-common-post) (none) ) @@ -2785,40 +1987,35 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (logclear! (-> self nav flags) (nav-control-flags bit19)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self collide-info transv quad)) - (set! (-> gp-0 y) 0.0) - (set! (-> self target-speed) (vector-length gp-0)) - (set! (-> self momentum-speed) (-> self target-speed)) - (vector-xz-normalize! gp-0 16384.0) - (vector+! (-> self nav target-pos) (-> self collide-info trans) gp-0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (logclear! (-> self nav flags) (nav-control-flags bit19)) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self collide-info transv quad)) + (set! (-> gp-0 y) 0.0) + (set! (-> self target-speed) (vector-length gp-0)) + (set! (-> self momentum-speed) (-> self target-speed)) + (vector-xz-normalize! gp-0 16384.0) + (vector+! (-> self nav target-pos) (-> self collide-info trans) gp-0) + ) + (none) ) - (none) - ) :trans (behavior () - (if - (or - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) - (logtest? (nav-control-flags bit19) (-> self nav flags)) - ) - (go-virtual nav-enemy-chase) + (if (or + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) + (logtest? (nav-control-flags bit19) (-> self nav flags)) + ) + (go-virtual nav-enemy-chase) + ) + (none) ) - (none) - ) :code - (behavior () - (nav-enemy-jump-land-anim) - (go (-> self jump-return-state)) - (none) - ) + (behavior () (nav-enemy-jump-land-anim) (go (-> self jump-return-state)) (none)) :post nav-enemy-jump-land-post ) @@ -2828,72 +2025,59 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) - (go (-> self jump-return-state)) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) + (go (-> self jump-return-state)) + ) + (none) ) - (none) - ) :code (behavior () - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data (-> self nav-info idle-anim)) ) - (-> self draw art-group data (-> self nav-info idle-anim)) ) + (ja-channel-push! 1 60) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + num-func-identity ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - num-func-identity - ) - (set! - (-> gp-0 frame-num) - (rand-vu-float-range - 0.0 - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (set! (-> gp-0 frame-num) + (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + ) ) - ) ) - ) - ) - (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) - (while #t - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 param 0) f30-0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-loop! - ) + (let ((f30-0 (nav-enemy-rnd-float-range 0.75 1.25))) + (while #t + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) f30-0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-loop!) + ) + ) ) - ) + (none) ) - (none) - ) :post nav-enemy-simple-post ) @@ -2903,60 +2087,48 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior nav-enemy) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior nav-enemy) + nav-enemy-default-event-handler + ) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (logior! (-> self nav-enemy-flags) 2048) - (ja-channel-push! 1 30) - (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((v1-6 (-> self skel root-channel 0))) - (set! - (-> v1-6 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - ) - ) - (let ((v1-9 (-> self skel root-channel 0))) - (set! (-> v1-9 num-func) num-func-identity) - (set! (-> v1-9 frame-num) 0.0) - ) - (while (logtest? (-> self nav-enemy-flags) 2048) - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) f30-0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (logior! (-> self nav-enemy-flags) 2048) (ja-channel-push! 1 30) - (nav-enemy-turn-to-face-point (-> self event-param-point) 910.2222) - (let ((gp-0 (nav-enemy-rnd-int-range 0 150)) - (s5-0 (-> *display* base-frame-counter)) - ) - (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 param 0) f30-0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-loop! + (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) + (let ((v1-6 (-> self skel root-channel 0))) + (set! (-> v1-6 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + ) + ) + (let ((v1-9 (-> self skel root-channel 0))) + (set! (-> v1-9 num-func) num-func-identity) + (set! (-> v1-9 frame-num) 0.0) + ) + (while (logtest? (-> self nav-enemy-flags) 2048) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) f30-0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + (ja-channel-push! 1 30) + (nav-enemy-turn-to-face-point (-> self event-param-point) 910.2222) + (let ((gp-0 (nav-enemy-rnd-int-range 0 150)) + (s5-0 (-> *display* base-frame-counter)) + ) + (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) f30-0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) + ) ) - ) - (suspend) ) - ) + (go-virtual nav-enemy-jump-to-point) + (none) ) - (go-virtual nav-enemy-jump-to-point) - (none) - ) :post nav-enemy-simple-post ) @@ -2967,33 +2139,27 @@ nav-enemy-default-event-handler :event nav-enemy-jump-event-handler :exit - (behavior () - (logior! (-> self nav-enemy-flags) 24) - (none) - ) + (behavior () (logior! (-> self nav-enemy-flags) 24) (none)) :trans - (behavior () - 0 - (none) - ) + (behavior () 0 (none)) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (nav-enemy-initialize-jump (-> self event-param-point)) - (nav-enemy-neck-control-look-at) - (logior! (-> self nav-enemy-flags) 16) - (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) - (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) - (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (nav-enemy-initialize-jump (-> self event-param-point)) + (nav-enemy-neck-control-look-at) + (logior! (-> self nav-enemy-flags) 16) + (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) + (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) + (ja-channel-push! 1 60) + (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) + ) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + (nav-enemy-execute-jump) + (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) + (nav-enemy-jump-land-anim) + (go-virtual nav-enemy-wait-for-cue) + (none) ) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - (nav-enemy-execute-jump) - (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) - (nav-enemy-jump-land-anim) - (go-virtual nav-enemy-wait-for-cue) - (none) - ) :post nav-enemy-jump-post ) @@ -3001,17 +2167,15 @@ nav-enemy-default-event-handler ;; definition for symbol *nav-enemy-dummy-shadow-control*, type shadow-control (define *nav-enemy-dummy-shadow-control* - (new 'static 'shadow-control - :settings - (new 'static 'shadow-settings - :center - (new 'static 'vector :w (the-as float #x28)) - :shadow-dir - (new 'static 'vector :y -1.0 :w 614400.0) - :bot-plane (new 'static 'plane :y 1.0 :w 4096.0) - :top-plane (new 'static 'plane :y 1.0 :w -4096.0) - ) - ) + (new 'static 'shadow-control :settings (new 'static 'shadow-settings + :center + (new 'static 'vector :w (the-as float #x28)) + :shadow-dir + (new 'static 'vector :y -1.0 :w 614400.0) + :bot-plane (new 'static 'plane :y 1.0 :w 4096.0) + :top-plane (new 'static 'plane :y 1.0 :w -4096.0) + ) + ) ) ;; definition for method 45 of type nav-enemy @@ -3019,58 +2183,32 @@ nav-enemy-default-event-handler (defmethod TODO-RENAME-45 nav-enemy ((obj nav-enemy) (arg0 nav-enemy-info)) (set! (-> obj rand-gen) (new 'process 'random-generator)) (set! (-> obj rand-gen seed) (the-as uint #x666edd1e)) - (set! - (-> obj mask) - (the-as process-mask (logior (process-mask enemy) (-> obj mask))) - ) + (set! (-> obj mask) (the-as process-mask (logior (process-mask enemy) (-> obj mask)))) (TODO-RENAME-49 obj arg0) (if (-> obj draw shadow) - (set! - (-> obj draw shadow-ctrl) - (new - 'process - 'shadow-control - (-> obj nav-info shadow-min-y) - (-> obj nav-info shadow-max-y) - (-> obj nav-info shadow-locus-dist) - (the-as float 17) - 245760.0 - ) - ) - (set! (-> obj draw shadow-ctrl) *nav-enemy-dummy-shadow-control*) - ) + (set! (-> obj draw shadow-ctrl) + (new + 'process + 'shadow-control + (-> obj nav-info shadow-min-y) + (-> obj nav-info shadow-max-y) + (-> obj nav-info shadow-locus-dist) + (the-as float 17) + 245760.0 + ) + ) + (set! (-> obj draw shadow-ctrl) *nav-enemy-dummy-shadow-control*) + ) (set! (-> obj align) (new 'process 'align-control obj)) - (set! - (-> obj nav) - (new - 'process - 'nav-control - (-> obj collide-info) - 16 - (-> arg0 nav-nearest-y-threshold) - ) - ) - (logior! - (-> obj nav flags) - (nav-control-flags display-marks bit3 bit5 bit6 bit7) - ) + (set! (-> obj nav) (new 'process 'nav-control (-> obj collide-info) 16 (-> arg0 nav-nearest-y-threshold))) + (logior! (-> obj nav flags) (nav-control-flags display-marks bit3 bit5 bit6 bit7)) (set! (-> obj nav gap-event) 'jump) (dummy-26 (-> obj nav)) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) - (set! - (-> obj enemy-info) - (new - 'process - 'fact-info-enemy - obj - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) - ) - ) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) + (set! (-> obj enemy-info) + (new 'process 'fact-info-enemy obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) (set! (-> obj reaction-time) (nav-enemy-rnd-int-range 30 240)) (set! (-> obj speed-scale) 1.0) (logior! (-> obj nav-enemy-flags) 4216) @@ -3084,43 +2222,34 @@ nav-enemy-default-event-handler (set! (-> obj rotate-speed) (-> obj nav-info walk-rotate-speed)) (set! (-> obj turn-time) (the-as int (-> obj nav-info walk-turn-time))) (when (and (!= (-> obj nav-info neck-joint) -1) (zero? (-> obj neck))) - (set! - (-> obj neck) - (new - 'process - 'joint-mod - (joint-mod-handler-mode flex-blend) - obj - (-> obj nav-info neck-joint) - ) + (set! (-> obj neck) + (new 'process 'joint-mod (joint-mod-handler-mode flex-blend) obj (-> obj nav-info neck-joint)) + ) + (set-vector! (-> obj neck twist-max) 8192.0 8192.0 0.0 1.0) + (set! (-> obj neck up) (the-as uint 1)) + (set! (-> obj neck nose) (the-as uint 2)) + (set! (-> obj neck ear) (the-as uint 0)) + (set! (-> obj neck max-dist) 102400.0) + (let ((f0-6 16384.0)) + (set! (-> obj neck ignore-angle) f0-6) + f0-6 + ) ) - (set-vector! (-> obj neck twist-max) 8192.0 8192.0 0.0 1.0) - (set! (-> obj neck up) (the-as uint 1)) - (set! (-> obj neck nose) (the-as uint 2)) - (set! (-> obj neck ear) (the-as uint 0)) - (set! (-> obj neck max-dist) 102400.0) - (let ((f0-6 16384.0)) - (set! (-> obj neck ignore-angle) f0-6) - f0-6 - ) - ) ) ;; definition for function nav-enemy-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - nav-enemy-init-by-other nav-enemy - ((arg0 battlecontroller) (arg1 vector) (arg2 vector)) +(defbehavior nav-enemy-init-by-other nav-enemy ((arg0 battlecontroller) (arg1 vector) (arg2 vector)) (initialize-collision self) (logior! (-> self mask) (process-mask actor-pause)) (set! (-> self collide-info trans quad) (-> arg1 quad)) (set! (-> self event-param-point quad) (-> arg2 quad)) (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) arg2 arg1))) - (set! (-> s3-1 y) 0.0) - (vector-normalize! s3-1 1.0) - (forward-up->quaternion (-> self collide-info quat) s3-1 *up-vector*) - ) + (set! (-> s3-1 y) 0.0) + (vector-normalize! s3-1 1.0) + (forward-up->quaternion (-> self collide-info quat) s3-1 *up-vector*) + ) (vector-identity! (-> self collide-info scale)) (set! (-> self entity) (-> arg0 entity)) (TODO-RENAME-48 self) @@ -3167,28 +2296,28 @@ nav-enemy-default-event-handler ;; Used lq/sq (defmethod TODO-RENAME-50 nav-enemy ((obj nav-enemy) (arg0 vector)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (set! (-> s4-0 quad) (-> obj collide-info trans quad)) - (set! (-> obj collide-info trans quad) (-> arg0 quad)) - (let ((gp-0 (-> obj nav))) - (dummy-28 gp-0 -1) - (set! (-> obj collide-info trans quad) (-> s4-0 quad)) - (let* ((v1-8 (-> gp-0 mesh origin)) - (f0-1 (- (-> arg0 x) (-> v1-8 x))) - (f1-2 (- (-> arg0 z) (-> v1-8 z))) - ) - (countdown (v1-9 (-> gp-0 num-spheres)) - (let* ((a0-10 (-> gp-0 sphere v1-9)) - (f2-2 (- (-> a0-10 x) f0-1)) - (f3-1 (- (-> a0-10 z) f1-2)) - (f4-0 (-> a0-10 w)) + (set! (-> s4-0 quad) (-> obj collide-info trans quad)) + (set! (-> obj collide-info trans quad) (-> arg0 quad)) + (let ((gp-0 (-> obj nav))) + (dummy-28 gp-0 -1) + (set! (-> obj collide-info trans quad) (-> s4-0 quad)) + (let* ((v1-8 (-> gp-0 mesh origin)) + (f0-1 (- (-> arg0 x) (-> v1-8 x))) + (f1-2 (- (-> arg0 z) (-> v1-8 z))) ) - (if (>= (* f4-0 f4-0) (+ (* f2-2 f2-2) (* f3-1 f3-1))) - (return #t) + (countdown (v1-9 (-> gp-0 num-spheres)) + (let* ((a0-10 (-> gp-0 sphere v1-9)) + (f2-2 (- (-> a0-10 x) f0-1)) + (f3-1 (- (-> a0-10 z) f1-2)) + (f4-0 (-> a0-10 w)) + ) + (if (>= (* f4-0 f4-0) (+ (* f2-2 f2-2) (* f3-1 f3-1))) + (return #t) + ) + ) + ) ) - ) ) - ) ) - ) #f ) diff --git a/test/decompiler/reference/levels/common/orb-cache_REF.gc b/test/decompiler/reference/levels/common/orb-cache_REF.gc index 86afd3a29d..f60ac20a39 100644 --- a/test/decompiler/reference/levels/common/orb-cache_REF.gc +++ b/test/decompiler/reference/levels/common/orb-cache_REF.gc @@ -30,8 +30,8 @@ ;; definition for method 3 of type orb-cache-top (defmethod inspect orb-cache-top ((obj orb-cache-top)) (let ((t9-0 (method-of-type baseplat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tactive-distance: ~f~%" (-> obj active-distance)) (format #t "~T~Tinactive-distance: ~f~%" (-> obj inactive-distance)) (format #t "~T~Tmoney-list[60] @ #x~X~%" (-> obj money-list)) @@ -57,95 +57,77 @@ (defstate orb-cache-top-idle (orb-cache-top) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('eco-blue) - (process-entity-status! self (entity-perm-status complete) #t) - (dotimes (gp-0 5) - (spawn-projectile-blue *target*) + (case arg2 + (('eco-blue) + (process-entity-status! self (entity-perm-status complete) #t) + (dotimes (gp-0 5) + (spawn-projectile-blue *target*) + ) + (increment-success-for-hint (game-text-id sidekick-hint-orb-cache-top)) + (go orb-cache-top-activate #f) ) - (increment-success-for-hint (game-text-id sidekick-hint-orb-cache-top)) - (go orb-cache-top-activate #f) + (else + (plat-event arg0 arg1 arg2 arg3) + ) ) - (else - (plat-event arg0 arg1 arg2 arg3) - ) ) - ) :trans (behavior () - (if - (and - (and - *target* - (>= - 20480.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) + (if (and + (and *target* (>= 20480.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 2) + (set! (-> a1-1 message) 'query) + (set! (-> a1-1 param 0) (the-as uint 'powerup)) + (set! (-> a1-1 param 1) (the-as uint 3)) + (not (send-event-function *target* a1-1)) + ) + ) + (level-hint-spawn + (game-text-id sidekick-hint-orb-cache-top) + "sksp0009" + (the-as entity #f) + *entity-pool* + (game-task none) + ) ) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 3)) - (not (send-event-function *target* a1-1)) - ) - ) - (level-hint-spawn - (game-text-id sidekick-hint-orb-cache-top) - "sksp0009" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (none) ) - (none) - ) :code (behavior ((arg0 symbol)) - (if (and (not arg0) (-> self child)) - (sound-play-by-name - (static-sound-name "close-orb-cash") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (dotimes (gp-1 (-> self money)) - (let ((a0-4 (handle->process (-> self money-list gp-1)))) - (if a0-4 - (deactivate a0-4) + (if (and (not arg0) (-> self child)) + (sound-play-by-name (static-sound-name "close-orb-cash") (new-sound-id) 1024 0 0 1 #t) + ) + (dotimes (gp-1 (-> self money)) + (let ((a0-4 (handle->process (-> self money-list gp-1)))) + (if a0-4 + (deactivate a0-4) + ) + ) ) - ) + (process-entity-status! self (entity-perm-status complete) #f) + (let ((gp-2 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-2 + (the-as art-joint-anim (-> self draw art-group data 3)) + num-func-identity + ) + (set! (-> gp-2 frame-num) (ja-aframe 0.0 0)) + ) + (transform-post) + (anim-loop) + (none) ) - (process-entity-status! self (entity-perm-status complete) #f) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-2 frame-num) (ja-aframe 0.0 0)) - ) - (transform-post) - (anim-loop) - (none) - ) ) ;; definition for method 22 of type orb-cache-top ;; INFO: Return type mismatch int vs none. (defmethod dummy-22 orb-cache-top ((obj orb-cache-top)) (if (< 4096.0 (- (-> obj basetrans y) (-> obj root-pos))) - (activate! (-> obj smush) -1.0 60 150 1.0 1.0) - (activate! (-> obj smush) -0.5 60 150 1.0 1.0) - ) + (activate! (-> obj smush) -1.0 60 150 1.0 1.0) + (activate! (-> obj smush) -0.5 60 150 1.0 1.0) + ) (set! (-> obj bouncing) #t) (logclear! (-> obj mask) (process-mask sleep)) 0 @@ -156,20 +138,20 @@ ;; INFO: Return type mismatch int vs none. (defmethod calculate-pos orb-cache-top ((obj orb-cache-top) (arg0 symbol)) (let ((f0-0 0.0)) - (when arg0 - (set! f0-0 (+ 10240.0 (* 6144.0 (the float (+ (-> obj money) -1))))) - (if (< f0-0 2048.0) - (set! f0-0 2048.0) - ) + (when arg0 + (set! f0-0 (+ 10240.0 (* 6144.0 (the float (+ (-> obj money) -1))))) + (if (< f0-0 2048.0) + (set! f0-0 2048.0) + ) + ) + (set! (-> obj platform-pos) (+ (-> obj root-pos) f0-0)) + (let ((f0-2 (+ -6144.0 f0-0))) + (dotimes (v1-5 (-> obj money)) + (set! (-> obj money-pos-list v1-5) (+ (-> obj root-pos) f0-2)) + (set! f0-2 (+ -6144.0 f0-2)) + ) + ) ) - (set! (-> obj platform-pos) (+ (-> obj root-pos) f0-0)) - (let ((f0-2 (+ -6144.0 f0-0))) - (dotimes (v1-5 (-> obj money)) - (set! (-> obj money-pos-list v1-5) (+ (-> obj root-pos) f0-2)) - (set! f0-2 (+ -6144.0 f0-2)) - ) - ) - ) 0 (none) ) @@ -178,252 +160,170 @@ ;; Used lq/sq (defmethod pos-logic orb-cache-top ((obj orb-cache-top) (arg0 symbol)) (dotimes (s4-0 (-> obj money)) - (when (not (handle->process (-> obj money-list s4-0))) - (dotimes (v1-6 (-> obj money)) - (when (< s4-0 v1-6) - (set! (-> obj money-list (+ v1-6 -1)) (-> obj money-list v1-6)) - (set! - (-> obj money-pos-actual (+ v1-6 -1)) - (-> obj money-pos-actual v1-6) - ) + (when (not (handle->process (-> obj money-list s4-0))) + (dotimes (v1-6 (-> obj money)) + (when (< s4-0 v1-6) + (set! (-> obj money-list (+ v1-6 -1)) (-> obj money-list v1-6)) + (set! (-> obj money-pos-actual (+ v1-6 -1)) (-> obj money-pos-actual v1-6)) + ) + ) + (+! (-> obj money) -1) + (calculate-pos obj arg0) + (+! s4-0 -1) + (let ((v1-15 (-> obj entity extra perm))) + (logior! (-> v1-15 status) (entity-perm-status user-set-from-cstage)) + (+! (-> v1-15 user-int16 0) 1) + ) ) - ) - (+! (-> obj money) -1) - (calculate-pos obj arg0) - (+! s4-0 -1) - (let ((v1-15 (-> obj entity extra perm))) - (logior! (-> v1-15 status) (entity-perm-status user-set-from-cstage)) - (+! (-> v1-15 user-int16 0) 1) - ) ) - ) (let ((s4-1 (new 'stack-no-clear 'vector)) (s5-1 #t) ) - (let ((s3-0 #f)) - (let ((f28-0 (- (-> obj basetrans y) (-> obj root-pos))) - (f30-0 (- (-> obj platform-pos) (-> obj root-pos))) + (let ((s3-0 #f)) + (let ((f28-0 (- (-> obj basetrans y) (-> obj root-pos))) + (f30-0 (- (-> obj platform-pos) (-> obj root-pos))) + ) + (when (zero? (-> obj money)) + (set! f30-0 2048.0) + (set! s3-0 #t) ) - (when (zero? (-> obj money)) - (set! f30-0 2048.0) - (set! s3-0 #t) - ) - (when - (and - (< f30-0 15155.2) - (and - *target* - (>= - 16384.0 - (vector-vector-distance - (-> obj root-override trans) - (-> *target* control trans) + (when (and + (< f30-0 15155.2) + (and *target* (>= 16384.0 (vector-vector-distance (-> obj root-override trans) (-> *target* control trans)))) + (< (-> (target-pos 0) y) (-> obj basetrans y)) + ) + (set! f30-0 (if (< 14131.2 f28-0) + 15155.2 + f28-0 + ) + ) + (set! s3-0 #f) ) - ) + (set! (-> obj basetrans y) + (seek (-> obj basetrans y) (+ (-> obj root-pos) f30-0) (* 40960.0 (-> *display* seconds-per-frame))) + ) + (if (not (= (-> obj basetrans y) (+ (-> obj root-pos) f30-0))) + (set! s5-1 #f) + ) ) - (< (-> (target-pos 0) y) (-> obj basetrans y)) - ) - (set! f30-0 (if (< 14131.2 f28-0) - 15155.2 - f28-0 - ) - ) - (set! s3-0 #f) + (dotimes (s2-0 (-> obj money)) + (set! (-> s4-1 quad) + (-> (the-as process-drawable (handle->process (-> obj money-list s2-0))) root trans quad) + ) + (set! (-> obj money-pos-actual s2-0) (seek + (-> obj money-pos-actual s2-0) + (-> obj money-pos-list s2-0) + (* 40960.0 (-> *display* seconds-per-frame)) + ) + ) + (if (not (= (-> obj money-pos-actual s2-0) (-> obj money-pos-list s2-0))) + (set! s5-1 #f) + ) + (if (>= (-> obj money-pos-actual s2-0) (+ -8192.0 (-> obj root-pos))) + (set! (-> s4-1 y) (-> obj money-pos-actual s2-0)) + (set! (-> s4-1 y) (+ -8192.0 (-> obj root-pos))) + ) + (send-event (handle->process (-> obj money-list s2-0)) 'trans s4-1) + ) + (set! s3-0 (and s5-1 s3-0)) + (if s3-0 + (go orb-cache-top-complete #f) + ) ) - (set! - (-> obj basetrans y) - (seek - (-> obj basetrans y) - (+ (-> obj root-pos) f30-0) - (* 40960.0 (-> *display* seconds-per-frame)) - ) - ) - (if (not (= (-> obj basetrans y) (+ (-> obj root-pos) f30-0))) - (set! s5-1 #f) - ) - ) - (dotimes (s2-0 (-> obj money)) - (set! - (-> s4-1 quad) - (-> - (the-as process-drawable (handle->process (-> obj money-list s2-0))) - root - trans - quad - ) - ) - (set! - (-> obj money-pos-actual s2-0) - (seek - (-> obj money-pos-actual s2-0) - (-> obj money-pos-list s2-0) - (* 40960.0 (-> *display* seconds-per-frame)) - ) - ) - (if (not (= (-> obj money-pos-actual s2-0) (-> obj money-pos-list s2-0))) - (set! s5-1 #f) - ) - (if (>= (-> obj money-pos-actual s2-0) (+ -8192.0 (-> obj root-pos))) - (set! (-> s4-1 y) (-> obj money-pos-actual s2-0)) - (set! (-> s4-1 y) (+ -8192.0 (-> obj root-pos))) - ) - (send-event (handle->process (-> obj money-list s2-0)) 'trans s4-1) - ) - (set! s3-0 (and s5-1 s3-0)) - (if s3-0 - (go orb-cache-top-complete #f) - ) + s5-1 ) - s5-1 - ) ) ;; failed to figure out what this is: (defstate orb-cache-top-activate (orb-cache-top) :event - (the-as - (function process int symbol event-message-block object :behavior orb-cache-top) - plat-event - ) + (the-as (function process int symbol event-message-block object :behavior orb-cache-top) plat-event) :exit - (behavior () - (process-entity-status! self (entity-perm-status bit-3) #f) - (none) - ) + (behavior () (process-entity-status! self (entity-perm-status bit-3) #f) (none)) :trans (the-as (function none :behavior orb-cache-top) plat-trans) :code (behavior ((arg0 symbol)) - (process-entity-status! self (entity-perm-status bit-3) #t) - (calculate-pos self arg0) - (if arg0 - (set! (-> self basetrans y) (-> self platform-pos)) - (sound-play-by-name - (static-sound-name "open-orb-cash") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (dotimes (s5-1 (-> self money)) - (let ((s4-1 (new 'stack-no-clear 'vector))) - (set! (-> s4-1 quad) (-> self basetrans quad)) - (set! (-> s4-1 y) (-> self money-pos-list s5-1)) - (set! (-> self money-pos-actual s5-1) (-> s4-1 y)) - (let ((s3-0 (get-process *default-dead-pool* money #x4000))) - (set! (-> self money-list s5-1) (ppointer->handle (when s3-0 - (let - ((t9-5 - (method-of-type - money - activate - ) - ) - ) - (t9-5 - (the-as money s3-0) - self - 'money - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s3-0 - money-init-by-other-no-bob - s4-1 - *null-vector* - 5 - 1.0 - (-> self entity) - ) - (-> s3-0 ppointer) - ) - ) - ) - ) - ) - ) - (while #t - (calculate-pos self #t) - (while - (not - (or - (not *target*) - (< - (-> self inactive-distance) - (vector-vector-xz-distance - (-> self root-override trans) - (-> *target* control trans) - ) + (process-entity-status! self (entity-perm-status bit-3) #t) + (calculate-pos self arg0) + (if arg0 + (set! (-> self basetrans y) (-> self platform-pos)) + (sound-play-by-name (static-sound-name "open-orb-cash") (new-sound-id) 1024 0 0 1 #t) ) - ) - ) - (pos-logic self #t) - (suspend) - ) - (calculate-pos self #f) - (while - (and - (not - (and - (and - *target* - (>= - (-> self active-distance) - (vector-vector-xz-distance - (-> self root-override trans) - (-> *target* control trans) - ) + (dotimes (s5-1 (-> self money)) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (set! (-> s4-1 quad) (-> self basetrans quad)) + (set! (-> s4-1 y) (-> self money-pos-list s5-1)) + (set! (-> self money-pos-actual s5-1) (-> s4-1 y)) + (let ((s3-0 (get-process *default-dead-pool* money #x4000))) + (set! (-> self money-list s5-1) + (ppointer->handle + (when s3-0 + (let ((t9-5 (method-of-type money activate))) + (t9-5 (the-as money s3-0) self 'money (the-as pointer #x70004000)) + ) + (run-now-in-process s3-0 money-init-by-other-no-bob s4-1 *null-vector* 5 1.0 (-> self entity)) + (-> s3-0 ppointer) + ) + ) + ) ) - ) - (let ((a1-11 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-11 from) self) - (set! (-> a1-11 num-params) 2) - (set! (-> a1-11 message) 'query) - (set! (-> a1-11 param 0) (the-as uint 'powerup)) - (set! (-> a1-11 param 1) (the-as uint 3)) - (or (send-event-function *target* a1-11) (-> self activated)) - ) ) - ) - (not (pos-logic self #f)) ) - (suspend) - ) - (if - (not - (and - (and - *target* - (>= - (-> self active-distance) - (vector-vector-xz-distance - (-> self root-override trans) - (-> *target* control trans) + (while #t + (calculate-pos self #t) + (while (not + (or (not *target*) (< (-> self inactive-distance) + (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + ) + (pos-logic self #t) + (suspend) + ) + (calculate-pos self #f) + (while (and + (not + (and + (and *target* (>= (-> self active-distance) + (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + (let ((a1-11 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-11 from) self) + (set! (-> a1-11 num-params) 2) + (set! (-> a1-11 message) 'query) + (set! (-> a1-11 param 0) (the-as uint 'powerup)) + (set! (-> a1-11 param 1) (the-as uint 3)) + (or (send-event-function *target* a1-11) (-> self activated)) + ) + ) + ) + (not (pos-logic self #f)) + ) + (suspend) + ) + (if (not + (and + (and *target* (>= (-> self active-distance) + (vector-vector-xz-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + (let ((a1-14 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-14 from) self) + (set! (-> a1-14 num-params) 2) + (set! (-> a1-14 message) 'query) + (set! (-> a1-14 param 0) (the-as uint 'powerup)) + (set! (-> a1-14 param 1) (the-as uint 3)) + (or (send-event-function *target* a1-14) (-> self activated)) + ) + ) + ) + (go orb-cache-top-idle arg0) ) - ) - ) - (let ((a1-14 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-14 from) self) - (set! (-> a1-14 num-params) 2) - (set! (-> a1-14 message) 'query) - (set! (-> a1-14 param 0) (the-as uint 'powerup)) - (set! (-> a1-14 param 1) (the-as uint 3)) - (or (send-event-function *target* a1-14) (-> self activated)) - ) - ) ) - (go orb-cache-top-idle arg0) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior orb-cache-top) plat-post) ) @@ -431,147 +331,99 @@ ;; failed to figure out what this is: (defstate orb-cache-top-complete (orb-cache-top) :event - (the-as - (function process int symbol event-message-block object :behavior orb-cache-top) - plat-event - ) + (the-as (function process int symbol event-message-block object :behavior orb-cache-top) plat-event) :trans (the-as (function none :behavior orb-cache-top) plat-trans) :code (behavior ((arg0 symbol)) - (if (not arg0) - (sound-play-by-name - (static-sound-name "close-orb-cash") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (if (not arg0) + (sound-play-by-name (static-sound-name "close-orb-cash") (new-sound-id) 1024 0 0 1 #t) + ) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 3)) + num-func-identity + ) + (set! (-> gp-1 frame-num) (ja-aframe 0.0 0)) + ) + (new 'stack-no-clear 'vector) + (set! (-> self basetrans y) (+ 2048.0 (-> self root-pos))) + (anim-loop) + (none) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (ja-aframe 0.0 0)) - ) - (new 'stack-no-clear 'vector) - (set! (-> self basetrans y) (+ 2048.0 (-> self root-pos))) - (anim-loop) - (none) - ) :post (the-as (function none :behavior orb-cache-top) plat-post) ) ;; definition for method 11 of type orb-cache-top ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - orb-cache-top - ((obj orb-cache-top) (arg0 entity-actor)) +(defmethod init-from-entity! orb-cache-top ((obj orb-cache-top) (arg0 entity-actor)) (let ((a0-1 (-> obj entity))) - (if (when a0-1 - (let ((a0-2 (-> a0-1 extra perm task))) - (if a0-2 - (= a0-2 (game-task none)) - ) - ) + (if (when a0-1 + (let ((a0-2 (-> a0-1 extra perm task))) + (if a0-2 + (= a0-2 (game-task none)) + ) + ) + ) + (set! (-> obj entity extra perm task) (game-task complete)) ) - (set! (-> obj entity extra perm task) (game-task complete)) ) - ) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint #x8800)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 11468.8) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint #x8800)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 11468.8) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (initialize-skeleton obj *orb-cache-top-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (dummy-21 obj) - (set! - (-> obj money) - (res-lump-value - (-> obj entity) - 'orb-cache-count - int - :default - (the-as uint128 20) - ) - ) + (set! (-> obj money) (res-lump-value (-> obj entity) 'orb-cache-count int :default (the-as uint128 20))) (set! (-> obj active-distance) 61440.0) (set! (-> obj inactive-distance) 245760.0) (set! (-> obj root-pos) (-> obj basetrans y)) (set! (-> obj platform-pos) (-> obj root-pos)) - (set! - (-> obj activated) - (the-as - symbol - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - ) - ) + (set! (-> obj activated) + (the-as + symbol + (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + ) + ) (let ((v1-39 (-> obj entity extra perm))) - (logior! (-> v1-39 status) (entity-perm-status user-set-from-cstage)) - (set! (-> obj money) (- (-> obj money) (-> v1-39 user-int16 0))) - ) + (logior! (-> v1-39 status) (entity-perm-status user-set-from-cstage)) + (set! (-> obj money) (- (-> obj money) (-> v1-39 user-int16 0))) + ) (dotimes (v1-42 (-> obj money)) - (set! (-> obj money-list v1-42) (the-as handle #f)) - ) + (set! (-> obj money-list v1-42) (the-as handle #f)) + ) (cond - ((zero? (-> obj money)) - (go orb-cache-top-complete #t) - ) - ((and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) + ((zero? (-> obj money)) + (go orb-cache-top-complete #t) ) - (go orb-cache-top-activate #t) + ((and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (go orb-cache-top-activate #t) + ) + (else + (go orb-cache-top-idle #f) + ) ) - (else - (go orb-cache-top-idle #f) - ) - ) (none) ) diff --git a/test/decompiler/reference/levels/common/plat-button_REF.gc b/test/decompiler/reference/levels/common/plat-button_REF.gc index d7759ff9f1..63e186746a 100644 --- a/test/decompiler/reference/levels/common/plat-button_REF.gc +++ b/test/decompiler/reference/levels/common/plat-button_REF.gc @@ -38,13 +38,9 @@ ;; definition for method 3 of type plat-button (defmethod inspect plat-button ((obj plat-button)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) - (format - #t - "~T~Tgo-back-if-lost-player?: ~A~%" - (-> obj go-back-if-lost-player?) - ) + (t9-0 obj) + ) + (format #t "~T~Tgo-back-if-lost-player?: ~A~%" (-> obj go-back-if-lost-player?)) (format #t "~T~Tgrab-player?: ~A~%" (-> obj grab-player?)) (format #t "~T~Tshould-grab-player?: ~A~%" (-> obj should-grab-player?)) (format #t "~T~Tpath-pos: ~f~%" (-> obj path-pos)) @@ -72,10 +68,7 @@ ;; definition for method 26 of type plat-button (defmethod can-activate? plat-button ((obj plat-button)) - (or - (= (-> obj path-pos) 0.0) - (and (-> obj bidirectional?) (= (-> obj path-pos) 1.0)) - ) + (or (= (-> obj path-pos) 0.0) (and (-> obj bidirectional?) (= (-> obj path-pos) 1.0))) ) ;; failed to figure out what this is: @@ -83,132 +76,96 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touch) - (when (can-activate? self) - (if - (and - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (-> self root-override) - (the-as uint 1) - ) - (or - (not (-> self should-grab-player?)) - (let ((v0-3 (process-grab? *target*))) - (set! (-> self grab-player?) v0-3) - v0-3 - ) - ) + (case arg2 + (('touch) + (when (can-activate? self) + (if (and + ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (-> self root-override) + (the-as uint 1) + ) + (or (not (-> self should-grab-player?)) (let ((v0-3 (process-grab? *target*))) + (set! (-> self grab-player?) v0-3) + v0-3 + ) + ) + ) + (go-virtual plat-button-pressed) + ) ) - (go-virtual plat-button-pressed) - ) ) ) ) - ) :code (behavior () - (let ((gp-0 (can-activate? self))) - (cond - (gp-0 - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (while #t - (if (should-teleport? self) - (go-virtual plat-button-teleport-to-other-end) - ) - (let ((s5-0 (can-activate? self))) - (when (!= s5-0 gp-0) - (set! gp-0 s5-0) - (cond - (s5-0 - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 0.0) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) + (let ((gp-0 (can-activate? self))) + (cond + (gp-0 + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) 0.0) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) (else - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - ) - (when (not (ja-done? 0)) - (rider-trans) - (cond - (s5-0 - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 0.0) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) + (while #t + (if (should-teleport? self) + (go-virtual plat-button-teleport-to-other-end) + ) + (let ((s5-0 (can-activate? self))) + (when (!= s5-0 gp-0) + (set! gp-0 s5-0) + (cond + (s5-0 + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) 0.0) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (else + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) 1.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (when (not (ja-done? 0)) + (rider-trans) + (cond + (s5-0 + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) 0.0) + (set! (-> a0-8 param 1) 1.0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (else + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (rider-post) + ) ) - ) - (else - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (suspend) ) - (rider-post) - ) ) - (suspend) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -216,21 +173,21 @@ :virtual #t :code (behavior () - (let ((f0-0 1.0)) - (if (>= (-> self path-pos) 0.5) - (set! f0-0 0.0) - ) - (set! (-> self path-pos) f0-0) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (eval-path-curve! (-> self path) gp-0 f0-0 'interp) - (vector+! gp-0 gp-0 (-> self trans-off)) - (TODO-RENAME-30 (-> self root-override) gp-0) - ) + (let ((f0-0 1.0)) + (if (>= (-> self path-pos) 0.5) + (set! f0-0 0.0) + ) + (set! (-> self path-pos) f0-0) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (eval-path-curve! (-> self path) gp-0 f0-0 'interp) + (vector+! gp-0 gp-0 (-> self trans-off)) + (TODO-RENAME-30 (-> self root-override) gp-0) + ) + ) + (ja-post) + (go-virtual plat-button-idle) + (none) ) - (ja-post) - (go-virtual plat-button-idle) - (none) - ) ) ;; failed to figure out what this is: @@ -240,41 +197,27 @@ (the-as (function none :behavior plat-button) rider-trans) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (set! (-> self go-back-if-lost-player?) #t) + (process-entity-status! self (entity-perm-status complete) #t) + (if (= (-> self path-pos) 0.0) + (go-virtual plat-button-move-downward) + (go-virtual plat-button-move-upward) + ) + (none) ) - (set! (-> self go-back-if-lost-player?) #t) - (process-entity-status! self (entity-perm-status complete) #t) - (if (= (-> self path-pos) 0.0) - (go-virtual plat-button-move-downward) - (go-virtual plat-button-move-upward) - ) - (none) - ) :post (the-as (function none :behavior plat-button) rider-post) ) @@ -283,10 +226,10 @@ ;; INFO: Return type mismatch int vs none. (defbehavior plat-button-camera-on plat-button () (let ((v1-1 (res-lump-struct (-> self entity) 'camera-name structure))) - (if v1-1 - (send-event *camera* 'change-to-entity-by-name v1-1) + (if v1-1 + (send-event *camera* 'change-to-entity-by-name v1-1) + ) ) - ) 0 (none) ) @@ -304,108 +247,77 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (the-as object (when (or (= arg2 'touch) (= arg2 'attack)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - #f - ) + (the-as object (when (or (= arg2 'touch) (= arg2 'attack)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + #f + ) + ) ) - ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (process-entity-status! self (entity-perm-status bit-3) #t) - (plat-button-camera-on) - (set-setting! *setting-control* self 'allow-look-around #f 0.0 0) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (process-entity-status! self (entity-perm-status bit-3) #t) + (plat-button-camera-on) + (set-setting! *setting-control* self 'allow-look-around #f 0.0 0) + (none) + ) :exit (behavior () - (plat-button-camera-off) - (clear-pending-settings-from-process - *setting-control* - self - 'allow-look-around + (plat-button-camera-off) + (clear-pending-settings-from-process *setting-control* self 'allow-look-around) + (none) ) - (none) - ) :trans (behavior () - (if (= (-> self path-pos) 1.0) - (go-virtual plat-button-at-end) - ) - (rider-trans) - (when (-> self go-back-if-lost-player?) - (when - (or - (not *target*) - (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 1200) - (not - (and - (logtest? (-> *target* control unknown-surface00 flags) 2048) - (zero? (logand (-> *target* control status) 1)) - ) + (if (= (-> self path-pos) 1.0) + (go-virtual plat-button-at-end) ) - ) - ) - (set! (-> self go-back-if-lost-player?) #f) - (go-virtual plat-button-move-upward) - ) - ) - (let - ((f0-4 - (seek-with-smooth - (-> self path-pos) - 1.0 - (* 0.1 (-> *display* seconds-per-frame)) - 0.25 - 0.001 - ) - ) - ) - (set! (-> self path-pos) f0-4) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (eval-path-curve! (-> self path) gp-0 f0-4 'interp) - (vector+! gp-0 gp-0 (-> self trans-off)) - (TODO-RENAME-30 (-> self root-override) gp-0) - ) - ) - (sound-play-by-name - (static-sound-name "elev-loop") - (-> self sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((gp-1 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) - (set! (-> gp-1 command) (sound-command set-param)) - (set! (-> gp-1 id) (-> self sound-id)) - (let ((a1-6 (-> self root-override trans))) - (let ((s5-0 self)) - (when (= a1-6 #t) - (if - (and - s5-0 - (type-type? (-> s5-0 type) process-drawable) - (nonzero? (-> s5-0 root-override)) - ) - (set! a1-6 (-> s5-0 root-override trans)) - (set! a1-6 (the-as vector #f)) + (rider-trans) + (when (-> self go-back-if-lost-player?) + (when (or (not *target*) (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 1200) + (not (and + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) + ) + ) + ) + ) + (set! (-> self go-back-if-lost-player?) #f) + (go-virtual plat-button-move-upward) ) - ) ) - (sound-trans-convert (-> gp-1 parms trans) a1-6) - ) - (set! (-> gp-1 parms mask) (the-as uint 32)) - (-> gp-1 id) + (let ((f0-4 (seek-with-smooth (-> self path-pos) 1.0 (* 0.1 (-> *display* seconds-per-frame)) 0.25 0.001))) + (set! (-> self path-pos) f0-4) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (eval-path-curve! (-> self path) gp-0 f0-4 'interp) + (vector+! gp-0 gp-0 (-> self trans-off)) + (TODO-RENAME-30 (-> self root-override) gp-0) + ) + ) + (sound-play-by-name (static-sound-name "elev-loop") (-> self sound-id) 1024 0 0 1 #t) + (let ((gp-1 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) + (set! (-> gp-1 command) (sound-command set-param)) + (set! (-> gp-1 id) (-> self sound-id)) + (let ((a1-6 (-> self root-override trans))) + (let ((s5-0 self)) + (when (= a1-6 #t) + (if (and s5-0 (type-type? (-> s5-0 type) process-drawable) (nonzero? (-> s5-0 root-override))) + (set! a1-6 (-> s5-0 root-override trans)) + (set! a1-6 (the-as vector #f)) + ) + ) + ) + (sound-trans-convert (-> gp-1 parms trans) a1-6) + ) + (set! (-> gp-1 parms mask) (the-as uint 32)) + (-> gp-1 id) + ) + (if (and (-> self grab-player?) (< 0.2 (-> self path-pos))) + (set! (-> self grab-player?) (not (process-release? *target*))) + ) + (none) ) - (if (and (-> self grab-player?) (< 0.2 (-> self path-pos))) - (set! (-> self grab-player?) (not (process-release? *target*))) - ) - (none) - ) :code (the-as (function none :behavior plat-button) anim-loop) :post @@ -417,108 +329,77 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (the-as object (when (or (= arg2 'touch) (= arg2 'attack)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - #f - ) + (the-as object (when (or (= arg2 'touch) (= arg2 'attack)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + #f + ) + ) ) - ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (process-entity-status! self (entity-perm-status bit-3) #t) - (plat-button-camera-on) - (set-setting! *setting-control* self 'allow-look-around #f 0.0 0) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (process-entity-status! self (entity-perm-status bit-3) #t) + (plat-button-camera-on) + (set-setting! *setting-control* self 'allow-look-around #f 0.0 0) + (none) + ) :exit (behavior () - (plat-button-camera-off) - (clear-pending-settings-from-process - *setting-control* - self - 'allow-look-around + (plat-button-camera-off) + (clear-pending-settings-from-process *setting-control* self 'allow-look-around) + (none) ) - (none) - ) :trans (behavior () - (if (= (-> self path-pos) 0.0) - (go-virtual plat-button-at-end) - ) - (rider-trans) - (when (-> self go-back-if-lost-player?) - (when - (or - (not *target*) - (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 1200) - (not - (and - (logtest? (-> *target* control unknown-surface00 flags) 2048) - (zero? (logand (-> *target* control status) 1)) - ) + (if (= (-> self path-pos) 0.0) + (go-virtual plat-button-at-end) ) - ) - ) - (set! (-> self go-back-if-lost-player?) #f) - (go-virtual plat-button-move-downward) - ) - ) - (let - ((f0-4 - (seek-with-smooth - (-> self path-pos) - 0.0 - (* 0.1 (-> *display* seconds-per-frame)) - 0.25 - 0.001 - ) - ) - ) - (set! (-> self path-pos) f0-4) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (eval-path-curve! (-> self path) gp-0 f0-4 'interp) - (vector+! gp-0 gp-0 (-> self trans-off)) - (TODO-RENAME-30 (-> self root-override) gp-0) - ) - ) - (sound-play-by-name - (static-sound-name "elev-loop") - (-> self sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((gp-1 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) - (set! (-> gp-1 command) (sound-command set-param)) - (set! (-> gp-1 id) (-> self sound-id)) - (let ((a1-6 (-> self root-override trans))) - (let ((s5-0 self)) - (when (= a1-6 #t) - (if - (and - s5-0 - (type-type? (-> s5-0 type) process-drawable) - (nonzero? (-> s5-0 root-override)) - ) - (set! a1-6 (-> s5-0 root-override trans)) - (set! a1-6 (the-as vector #f)) + (rider-trans) + (when (-> self go-back-if-lost-player?) + (when (or (not *target*) (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 1200) + (not (and + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) + ) + ) + ) + ) + (set! (-> self go-back-if-lost-player?) #f) + (go-virtual plat-button-move-downward) ) - ) ) - (sound-trans-convert (-> gp-1 parms trans) a1-6) - ) - (set! (-> gp-1 parms mask) (the-as uint 32)) - (-> gp-1 id) + (let ((f0-4 (seek-with-smooth (-> self path-pos) 0.0 (* 0.1 (-> *display* seconds-per-frame)) 0.25 0.001))) + (set! (-> self path-pos) f0-4) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (eval-path-curve! (-> self path) gp-0 f0-4 'interp) + (vector+! gp-0 gp-0 (-> self trans-off)) + (TODO-RENAME-30 (-> self root-override) gp-0) + ) + ) + (sound-play-by-name (static-sound-name "elev-loop") (-> self sound-id) 1024 0 0 1 #t) + (let ((gp-1 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) + (set! (-> gp-1 command) (sound-command set-param)) + (set! (-> gp-1 id) (-> self sound-id)) + (let ((a1-6 (-> self root-override trans))) + (let ((s5-0 self)) + (when (= a1-6 #t) + (if (and s5-0 (type-type? (-> s5-0 type) process-drawable) (nonzero? (-> s5-0 root-override))) + (set! a1-6 (-> s5-0 root-override trans)) + (set! a1-6 (the-as vector #f)) + ) + ) + ) + (sound-trans-convert (-> gp-1 parms trans) a1-6) + ) + (set! (-> gp-1 parms mask) (the-as uint 32)) + (-> gp-1 id) + ) + (if (and (-> self grab-player?) (< (-> self path-pos) 0.8)) + (set! (-> self grab-player?) (not (process-release? *target*))) + ) + (none) ) - (if (and (-> self grab-player?) (< (-> self path-pos) 0.8)) - (set! (-> self grab-player?) (not (process-release? *target*))) - ) - (none) - ) :code (the-as (function none :behavior plat-button) anim-loop) :post @@ -530,107 +411,64 @@ :virtual #t :code (behavior () - (if (-> self allow-auto-kill) - (process-entity-status! self (entity-perm-status bit-3) #f) - ) - (sound-stop (-> self sound-id)) - (sound-play-by-name - (static-sound-name "elev-land") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (while #t - (if - (or - (not *target*) - (< - 268435460.0 - (vector-vector-xz-distance-squared - (-> self root-override trans) - (target-pos 0) + (if (-> self allow-auto-kill) + (process-entity-status! self (entity-perm-status bit-3) #f) ) - ) + (sound-stop (-> self sound-id)) + (sound-play-by-name (static-sound-name "elev-land") (new-sound-id) 1024 0 0 1 #t) + (while #t + (if (or + (not *target*) + (< 268435460.0 (vector-vector-xz-distance-squared (-> self root-override trans) (target-pos 0))) + ) + (go-virtual plat-button-idle) + ) + (suspend) ) - (go-virtual plat-button-idle) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition for method 28 of type plat-button (defmethod TODO-RENAME-28 plat-button ((obj plat-button)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 -4096.0 0.0 27033.6) - (set-root-prim! s5-0 s4-0) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 1) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 -4096.0 0.0 27033.6) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 1)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 4) + (set-vector! (-> s3-0 local-sphere) 0.0 -3072.0 0.0 7372.8) + (append-prim s4-0 s3-0) ) - ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 4) - (set-vector! (-> s3-0 local-sphere) 0.0 -3072.0 0.0 7372.8) - (append-prim s4-0 s3-0) - ) - (let - ((s3-1 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 1) - (the-as uint 2) + (let ((s3-1 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 2)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 3)) + (set! (-> s3-1 prim-core offense) 4) + (set! (-> s3-1 transform-index) 3) + (set-vector! (-> s3-1 local-sphere) 0.0 -4096.0 0.0 27033.6) + (append-prim s4-0 s3-1) ) - ) ) - (set! (-> s3-1 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 3)) - (set! (-> s3-1 prim-core offense) 4) - (set! (-> s3-1 transform-index) 3) - (set-vector! (-> s3-1 local-sphere) 0.0 -4096.0 0.0 27033.6) - (append-prim s4-0 s3-1) - ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) + s5-0 ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - s5-0 - ) ) ;; definition for method 29 of type plat-button @@ -644,41 +482,29 @@ (defmethod TODO-RENAME-27 plat-button ((obj plat-button)) (ja-channel-set! 1) (cond - ((can-activate? obj) - (let ((s5-0 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) - ) - (else - (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity - ) - (set! - (-> s5-1 frame-num) - (the - float - (+ - (-> + ((can-activate? obj) + (let ((s5-0 (-> obj skel root-channel 0))) + (joint-control-channel-group-eval! + s5-0 (the-as art-joint-anim (-> obj draw art-group data 2)) - data - 0 - length + num-func-identity ) - -1 - ) + (set! (-> s5-0 frame-num) 0.0) ) - ) ) + (else + (let ((s5-1 (-> obj skel root-channel 0))) + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 2)) data 0 length) -1)) + ) + ) + ) ) - ) (ja-post) (dummy-47 (-> obj root-override)) (none) @@ -706,28 +532,20 @@ (set! (-> obj go-back-if-lost-player?) #f) (set! (-> obj grab-player?) #f) (set! (-> obj should-grab-player?) #f) - (set! - (-> obj trans-off quad) - (-> - (the-as - vector - ((method-of-type res-lump get-property-struct) - arg0 - 'trans-offset - 'interp - -1000000000.0 - *null-vector* - (the-as (pointer res-tag) #f) - *res-static-buf* - ) - ) - quad - ) - ) - (set! - (-> obj bidirectional?) - (nonzero? (res-lump-value arg0 'bidirectional uint128)) - ) + (set! (-> obj trans-off quad) (-> (the-as vector ((method-of-type res-lump get-property-struct) + arg0 + 'trans-offset + 'interp + -1000000000.0 + *null-vector* + (the-as (pointer res-tag) #f) + *res-static-buf* + ) + ) + quad + ) + ) + (set! (-> obj bidirectional?) (nonzero? (res-lump-value arg0 'bidirectional uint128))) (TODO-RENAME-28 obj) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -735,15 +553,12 @@ (logior! (-> obj skel status) 1) (set! (-> obj spawn-pos quad) (-> obj root-override trans quad)) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> obj path-pos) 0.0) (let ((s5-1 (-> obj root-override trans))) - (eval-path-curve! (-> obj path) s5-1 (-> obj path-pos) 'interp) - (vector+! s5-1 s5-1 (-> obj trans-off)) - ) + (eval-path-curve! (-> obj path) s5-1 (-> obj path-pos) 'interp) + (vector+! s5-1 s5-1 (-> obj trans-off)) + ) (set! (-> obj sound-id) (new-sound-id)) (set! (-> obj allow-auto-kill) #t) (can-target-move? obj) diff --git a/test/decompiler/reference/levels/common/plat_REF.gc b/test/decompiler/reference/levels/common/plat_REF.gc index e5f7efa9f7..ef436913f4 100644 --- a/test/decompiler/reference/levels/common/plat_REF.gc +++ b/test/decompiler/reference/levels/common/plat_REF.gc @@ -2,75 +2,68 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 107) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-standard-plat" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 363 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 364 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - ) - :bounds - (new 'static 'sphere :y -49152.0 :w 57344.0) - ) - ) +(set! (-> *part-group-id-table* 107) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-standard-plat" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 363 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 364 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + ) + :bounds + (new 'static 'sphere :y -49152.0 :w 57344.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 363) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-flt spt-num 1.5) - (sp-flt spt-y (meters 1.0)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 5324.8) - (sp-flt spt-g 4096.0) - (sp-flt spt-b 3686.4) - (sp-flt spt-vel-y (meters 0.0033333334)) - (sp-flt spt-fade-b -16.383999) - (sp-int spt-timer 25) - (sp-cpuinfo-flags aux-list) - (sp-rnd-flt spt-conerot-x (degrees 140.0) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 3.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 363) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-flt spt-num 1.5) + (sp-flt spt-y (meters 1.0)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 5324.8) + (sp-flt spt-g 4096.0) + (sp-flt spt-b 3686.4) + (sp-flt spt-vel-y (meters 0.0033333334)) + (sp-flt spt-fade-b -16.383999) + (sp-int spt-timer 25) + (sp-cpuinfo-flags aux-list) + (sp-rnd-flt spt-conerot-x (degrees 140.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 3.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 364) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 2.0) - (sp-flt spt-y (meters 1.5)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-a -0.32) - (sp-flt spt-accel-y -0.13653333) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 130.0) (degrees 100.00001) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 3.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 364) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 2.0) + (sp-flt spt-y (meters 1.5)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-a -0.32) + (sp-flt spt-accel-y -0.13653333) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 130.0) (degrees 100.00001) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 3.0)) + (sp-end) + ) + ) + ) ;; definition of type plat (deftype plat (baseplat) @@ -95,8 +88,8 @@ ;; definition for method 3 of type plat (defmethod inspect plat ((obj plat)) (let ((t9-0 (method-of-type baseplat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpath-pos: ~f~%" (-> obj path-pos)) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Tsound-id: ~D~%" (-> obj sound-id)) @@ -133,82 +126,65 @@ ;; definition for method 23 of type plat (defmethod get-unlit-skel plat ((obj plat)) (cond - ((= (-> (if (-> obj entity) - (-> obj entity extra level) - (-> *level* level-default) - ) - name - ) - 'jungleb - ) - *plat-jungleb-sg* - ) - ((or (= (-> (if (-> obj entity) - (-> obj entity extra level) - (-> *level* level-default) - ) - name - ) - 'sunken - ) - (= (-> (if (-> obj entity) - (-> obj entity extra level) - (-> *level* level-default) + ((= (-> (if (-> obj entity) + (-> obj entity extra level) + (-> *level* level-default) + ) + name ) - name - ) - 'sunkenb - ) + 'jungleb + ) + *plat-jungleb-sg* ) - *plat-sunken-sg* + ((or + (= (-> (if (-> obj entity) + (-> obj entity extra level) + (-> *level* level-default) + ) + name + ) + 'sunken + ) + (= (-> (if (-> obj entity) + (-> obj entity extra level) + (-> *level* level-default) + ) + name + ) + 'sunkenb + ) + ) + *plat-sunken-sg* + ) + (else + *plat-sg* + ) ) - (else - *plat-sg* - ) - ) ) ;; definition for method 24 of type plat ;; INFO: Return type mismatch int vs none. (defmethod dummy-24 plat ((obj plat)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 13107.2) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 13107.2) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -224,26 +200,19 @@ ;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group. (defmethod TODO-RENAME-25 plat ((obj plat)) (the-as sparticle-launch-group (when (!= (-> (if (-> obj entity) - (-> obj entity extra level) - (-> *level* level-default) - ) - name - ) - 'maincave - ) - (let - ((v0-0 - (create-launch-control - (-> *part-group-id-table* 107) - obj - ) + (-> obj entity extra level) + (-> *level* level-default) + ) + name + ) + 'maincave + ) + (let ((v0-0 (create-launch-control (-> *part-group-id-table* 107) obj))) + (set! (-> obj part) v0-0) + v0-0 ) - ) - (set! (-> obj part) v0-0) - v0-0 ) - ) - ) + ) ) ;; failed to figure out what this is: @@ -251,103 +220,80 @@ :virtual #t :code (behavior ((arg0 plat)) - (cond - ((logtest? (-> self path flags) (path-control-flag not-found)) - (go-virtual plat-idle) - ) - ((> (-> self sync period) 0) - (go-virtual plat-path-active arg0) - ) - (else - (go-virtual plat-idle) - ) + (cond + ((logtest? (-> self path flags) (path-control-flag not-found)) + (go-virtual plat-idle) + ) + ((> (-> self sync period) 0) + (go-virtual plat-path-active arg0) + ) + (else + (go-virtual plat-idle) + ) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate plat-idle (plat) :virtual #t :event - (the-as - (function process int symbol event-message-block object :behavior plat) - plat-event - ) + (the-as (function process int symbol event-message-block object :behavior plat) plat-event) :trans - (behavior () - (dummy-20 self) - (none) - ) + (behavior () (dummy-20 self) (none)) :code (behavior () - (plat-trans) - (rider-post) - (suspend) - (while #t - (when (not (-> self bouncing)) - (plat-trans) - (rider-post) - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - 0 - ) - (while (-> self bouncing) - (plat-trans) - (rider-post) - (suspend) - ) + (plat-trans) + (rider-post) + (suspend) + (while #t + (when (not (-> self bouncing)) + (plat-trans) + (rider-post) + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + 0 + ) + (while (-> self bouncing) + (plat-trans) + (rider-post) + (suspend) + ) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate plat-path-active (plat) :virtual #t :event - (the-as - (function process int symbol event-message-block object :behavior plat) - plat-event - ) + (the-as (function process int symbol event-message-block object :behavior plat) plat-event) :exit - (behavior () - (sound-stop (-> self sound-id)) - (none) - ) + (behavior () (sound-stop (-> self sound-id)) (none)) :trans (behavior () - (set! - (-> self path-pos) - (if (logtest? (-> self fact options) (fact-options fop3)) - (get-current-phase (-> self sync)) - (get-current-phase-with-mirror (-> self sync)) - ) + (set! (-> self path-pos) (if (logtest? (-> self fact options) (fact-options fop3)) + (get-current-phase (-> self sync)) + (get-current-phase-with-mirror (-> self sync)) + ) + ) + (eval-path-curve! (-> self path) (-> self basetrans) (-> self path-pos) 'interp) + (if (< (vector-vector-distance (-> self root-override trans) (ear-trans)) 81920.0) + (sound-play-by-name + (static-sound-name "eco-plat-hover") + (-> self sound-id) + 1024 + 0 + 0 + 1 + (the-as symbol (-> self root-override trans)) + ) + ) + (plat-trans) + (none) ) - (eval-path-curve! - (-> self path) - (-> self basetrans) - (-> self path-pos) - 'interp - ) - (if - (< - (vector-vector-distance (-> self root-override trans) (ear-trans)) - 81920.0 - ) - (sound-play-by-name - (static-sound-name "eco-plat-hover") - (-> self sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol (-> self root-override trans)) - ) - ) - (plat-trans) - (none) - ) :code (the-as (function plat none :behavior plat) anim-loop) :post @@ -366,62 +312,40 @@ (dummy-21 obj) (TODO-RENAME-25 obj) (load-params! (-> obj sync) obj (the-as uint 0) 0.0 0.15 0.15) - (set! - (-> obj fact) - (new - 'process - 'fact-info - obj - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) - ) - ) + (set! (-> obj fact) + (new 'process 'fact-info obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> obj sound-id) (new-sound-id)) (cond - ((logtest? (-> obj path flags) (path-control-flag not-found)) - (set! (-> obj path-pos) 0.0) - (let ((a0-14 obj)) - (dummy-26 a0-14) - (go (method-of-object obj plat-startup) a0-14) + ((logtest? (-> obj path flags) (path-control-flag not-found)) + (set! (-> obj path-pos) 0.0) + (let ((a0-14 obj)) + (dummy-26 a0-14) + (go (method-of-object obj plat-startup) a0-14) + ) ) - ) - ((> (-> obj sync period) 0) - (set! - (-> obj path-pos) - (if (logtest? (-> obj fact options) (fact-options fop3)) - (get-current-phase (-> obj sync)) - (get-current-phase-with-mirror (-> obj sync)) + ((> (-> obj sync period) 0) + (set! (-> obj path-pos) (if (logtest? (-> obj fact options) (fact-options fop3)) + (get-current-phase (-> obj sync)) + (get-current-phase-with-mirror (-> obj sync)) + ) + ) + (eval-path-curve! (-> obj path) (-> obj root-override trans) (-> obj path-pos) 'interp) + (let ((a0-18 obj)) + (dummy-26 a0-18) + (go (method-of-object obj plat-startup) a0-18) + ) + ) + (else + (set! (-> obj path-pos) 0.0) + (eval-path-curve! (-> obj path) (-> obj root-override trans) (-> obj path-pos) 'interp) + (let ((a0-20 obj)) + (dummy-26 a0-20) + (go (method-of-object obj plat-startup) a0-20) + ) ) - ) - (eval-path-curve! - (-> obj path) - (-> obj root-override trans) - (-> obj path-pos) - 'interp - ) - (let ((a0-18 obj)) - (dummy-26 a0-18) - (go (method-of-object obj plat-startup) a0-18) - ) ) - (else - (set! (-> obj path-pos) 0.0) - (eval-path-curve! - (-> obj path) - (-> obj root-override trans) - (-> obj path-pos) - 'interp - ) - (let ((a0-20 obj)) - (dummy-26 a0-20) - (go (method-of-object obj plat-startup) a0-20) - ) - ) - ) (none) ) diff --git a/test/decompiler/reference/levels/common/rigid-body-h_REF.gc b/test/decompiler/reference/levels/common/rigid-body-h_REF.gc index b2fe45bf16..0743ea95d6 100644 --- a/test/decompiler/reference/levels/common/rigid-body-h_REF.gc +++ b/test/decompiler/reference/levels/common/rigid-body-h_REF.gc @@ -49,22 +49,10 @@ (format #t "[~8x] ~A~%" obj 'rigid-body) (format #t "~Tmass: ~f~%" (-> obj mass)) (format #t "~Tinv-mass: ~f~%" (-> obj inv-mass)) - (format - #t - "~Tlin-momentum-damping-factor: ~f~%" - (-> obj lin-momentum-damping-factor) - ) - (format - #t - "~Tang-momentum-damping-factor: ~f~%" - (-> obj ang-momentum-damping-factor) - ) + (format #t "~Tlin-momentum-damping-factor: ~f~%" (-> obj lin-momentum-damping-factor)) + (format #t "~Tang-momentum-damping-factor: ~f~%" (-> obj ang-momentum-damping-factor)) (format #t "~Tinertial-tensor: #~%" (-> obj inertial-tensor)) - (format - #t - "~Tinv-inertial-tensor: #~%" - (-> obj inv-inertial-tensor) - ) + (format #t "~Tinv-inertial-tensor: #~%" (-> obj inv-inertial-tensor)) (format #t "~Tcm-offset-joint: #~%" (-> obj cm-offset-joint)) (format #t "~Tposition: #~%" (-> obj position)) (format #t "~Trotation: #~%" (-> obj rotation)) diff --git a/test/decompiler/reference/levels/common/rigid-body_REF.gc b/test/decompiler/reference/levels/common/rigid-body_REF.gc index 502ef872c5..528d0a3da4 100644 --- a/test/decompiler/reference/levels/common/rigid-body_REF.gc +++ b/test/decompiler/reference/levels/common/rigid-body_REF.gc @@ -33,10 +33,7 @@ ;; definition for method 22 of type rigid-body ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - TODO-RENAME-22 - rigid-body - ((obj rigid-body) (arg0 vector) (arg1 quaternion) (arg2 float) (arg3 float)) +(defmethod TODO-RENAME-22 rigid-body ((obj rigid-body) (arg0 vector) (arg1 quaternion) (arg2 float) (arg3 float)) (clear-force-torque! obj) (clear-momentum! obj) (vector+! (-> obj position) arg0 (-> obj cm-offset-joint)) @@ -59,83 +56,75 @@ ;; definition for method 9 of type rigid-body ;; INFO: Return type mismatch int vs none. -(defmethod - TODO-RENAME-9 - rigid-body - ((obj rigid-body) (arg0 float) (arg1 float) (arg2 float) (arg3 float)) +(defmethod TODO-RENAME-9 rigid-body ((obj rigid-body) (arg0 float) (arg1 float) (arg2 float) (arg3 float)) (set! (-> obj mass) arg0) (let ((f0-1 arg0)) - (set! (-> obj inv-mass) (/ 1.0 f0-1)) - ) + (set! (-> obj inv-mass) (/ 1.0 f0-1)) + ) (matrix-identity! (-> obj inertial-tensor)) (matrix-identity! (-> obj inv-inertial-tensor)) (let* ((f0-4 arg0) (f1-1 12.0) (f0-5 (* f0-4 (/ 1.0 f1-1))) ) - (let* ((f1-4 arg2) - (f1-6 (* f1-4 f1-4)) - (f2-1 arg3) - ) - (set! (-> obj inertial-tensor vector 0 x) (* f0-5 (+ f1-6 (* f2-1 f2-1)))) + (let* ((f1-4 arg2) + (f1-6 (* f1-4 f1-4)) + (f2-1 arg3) + ) + (set! (-> obj inertial-tensor vector 0 x) (* f0-5 (+ f1-6 (* f2-1 f2-1)))) + ) + (let* ((f1-9 arg1) + (f1-11 (* f1-9 f1-9)) + (f2-4 arg3) + ) + (set! (-> obj inertial-tensor vector 1 y) (* f0-5 (+ f1-11 (* f2-4 f2-4)))) + ) + (let* ((f1-14 arg1) + (f1-16 (* f1-14 f1-14)) + (f2-7 arg2) + ) + (set! (-> obj inertial-tensor vector 2 z) (* f0-5 (+ f1-16 (* f2-7 f2-7)))) + ) ) - (let* ((f1-9 arg1) - (f1-11 (* f1-9 f1-9)) - (f2-4 arg3) - ) - (set! (-> obj inertial-tensor vector 1 y) (* f0-5 (+ f1-11 (* f2-4 f2-4)))) - ) - (let* ((f1-14 arg1) - (f1-16 (* f1-14 f1-14)) - (f2-7 arg2) - ) - (set! (-> obj inertial-tensor vector 2 z) (* f0-5 (+ f1-16 (* f2-7 f2-7)))) - ) - ) (let ((f0-7 (-> obj inertial-tensor vector 0 x))) - (set! (-> obj inv-inertial-tensor vector 0 x) (/ 1.0 f0-7)) - ) + (set! (-> obj inv-inertial-tensor vector 0 x) (/ 1.0 f0-7)) + ) (let ((f0-10 (-> obj inertial-tensor vector 1 y))) - (set! (-> obj inv-inertial-tensor vector 1 y) (/ 1.0 f0-10)) - ) + (set! (-> obj inv-inertial-tensor vector 1 y) (/ 1.0 f0-10)) + ) (let ((f0-13 (-> obj inertial-tensor vector 2 z))) - (set! (-> obj inv-inertial-tensor vector 2 z) (/ 1.0 f0-13)) - ) + (set! (-> obj inv-inertial-tensor vector 2 z) (/ 1.0 f0-13)) + ) 0 (none) ) ;; definition for method 17 of type rigid-body -(defmethod - TODO-RENAME-17 - rigid-body - ((obj rigid-body) (arg0 vector) (arg1 vector)) +(defmethod TODO-RENAME-17 rigid-body ((obj rigid-body) (arg0 vector) (arg1 vector)) (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj position)))) - (vector-cross! arg1 (-> obj ang-velocity) v1-1) - ) + (vector-cross! arg1 (-> obj ang-velocity) v1-1) + ) (vector+! arg1 arg1 (-> obj lin-velocity)) arg1 ) ;; definition for function matrix-3x3-triple-transpose-product -(defun - matrix-3x3-triple-transpose-product - ((arg0 matrix) (arg1 matrix) (arg2 matrix)) +(defun matrix-3x3-triple-transpose-product ((arg0 matrix) (arg1 matrix) (arg2 matrix)) (let ((s2-0 (new 'stack-no-clear 'matrix)) (s3-0 (new 'stack-no-clear 'matrix)) ) - (matrix-transpose! s2-0 arg1) - (cond - (#t - (matrix*! s3-0 arg1 arg2) - (matrix*! arg0 s3-0 s2-0) - ) - (else - (matrix*! s3-0 s2-0 arg2) - (matrix*! arg0 s3-0 arg1) - ) + (matrix-transpose! s2-0 arg1) + (cond + (#t + (matrix*! s3-0 arg1 arg2) + (matrix*! arg0 s3-0 s2-0) + ) + (else + (matrix*! s3-0 s2-0 arg2) + (matrix*! arg0 s3-0 arg1) + ) + ) ) - ) arg0 ) @@ -145,39 +134,23 @@ (defmethod dummy-10 rigid-body ((obj rigid-body) (arg0 float)) (vector+*! (-> obj lin-momentum) (-> obj lin-momentum) (-> obj force) arg0) (vector+*! (-> obj ang-momentum) (-> obj ang-momentum) (-> obj torque) arg0) - (vector-float*! - (-> obj lin-momentum) - (-> obj lin-momentum) - (-> obj lin-momentum-damping-factor) - ) - (vector-float*! - (-> obj ang-momentum) - (-> obj ang-momentum) - (-> obj ang-momentum-damping-factor) - ) + (vector-float*! (-> obj lin-momentum) (-> obj lin-momentum) (-> obj lin-momentum-damping-factor)) + (vector-float*! (-> obj ang-momentum) (-> obj ang-momentum) (-> obj ang-momentum-damping-factor)) (vector-float*! (-> obj lin-velocity) (-> obj lin-momentum) (-> obj inv-mass)) (set! (-> obj matrix vector 3 quad) (-> *null-vector* quad)) - (matrix-3x3-triple-transpose-product - (-> obj inv-i-world) - (-> obj matrix) - (-> obj inv-inertial-tensor) - ) - (vector-rotate*! - (-> obj ang-velocity) - (-> obj ang-momentum) - (-> obj inv-i-world) - ) + (matrix-3x3-triple-transpose-product (-> obj inv-i-world) (-> obj matrix) (-> obj inv-inertial-tensor)) + (vector-rotate*! (-> obj ang-velocity) (-> obj ang-momentum) (-> obj inv-i-world)) (vector+*! (-> obj position) (-> obj position) (-> obj lin-velocity) arg0) (let ((s4-0 (new 'stack-no-clear 'quaternion))) - (set! (-> (the-as vector (&-> s4-0 x)) quad) (-> obj ang-velocity quad)) - (set! (-> s4-0 w) 0.0) - (quaternion*! s4-0 s4-0 (-> obj rotation)) - (quaternion-float*! s4-0 s4-0 0.5) - (+! (-> obj rotation x) (* (-> s4-0 x) arg0)) - (+! (-> obj rotation y) (* (-> s4-0 y) arg0)) - (+! (-> obj rotation z) (* (-> s4-0 z) arg0)) - (+! (-> obj rotation w) (* (-> s4-0 w) arg0)) - ) + (set! (-> (the-as vector (&-> s4-0 x)) quad) (-> obj ang-velocity quad)) + (set! (-> s4-0 w) 0.0) + (quaternion*! s4-0 s4-0 (-> obj rotation)) + (quaternion-float*! s4-0 s4-0 0.5) + (+! (-> obj rotation x) (* (-> s4-0 x) arg0)) + (+! (-> obj rotation y) (* (-> s4-0 y) arg0)) + (+! (-> obj rotation z) (* (-> s4-0 z) arg0)) + (+! (-> obj rotation w) (* (-> s4-0 w) arg0)) + ) (quaternion-normalize! (-> obj rotation)) (quaternion->matrix (-> obj matrix) (-> obj rotation)) (TODO-RENAME-18 obj (-> obj matrix vector 3)) @@ -187,55 +160,46 @@ ;; definition for method 13 of type rigid-body ;; INFO: Return type mismatch int vs none. -(defmethod - TODO-RENAME-13 - rigid-body - ((obj rigid-body) (arg0 vector) (arg1 vector)) +(defmethod TODO-RENAME-13 rigid-body ((obj rigid-body) (arg0 vector) (arg1 vector)) (vector+! (-> obj force) (-> obj force) arg1) (let* ((v1-2 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj position))) (a1-2 (vector-cross! (new 'stack-no-clear 'vector) v1-2 arg1)) ) - (vector+! (-> obj torque) (-> obj torque) a1-2) - ) + (vector+! (-> obj torque) (-> obj torque) a1-2) + ) 0 (none) ) ;; definition for method 16 of type rigid-body ;; INFO: Return type mismatch int vs none. -(defmethod - TODO-RENAME-16 - rigid-body - ((obj rigid-body) (arg0 vector) (arg1 vector) (arg2 float)) +(defmethod TODO-RENAME-16 rigid-body ((obj rigid-body) (arg0 vector) (arg1 vector) (arg2 float)) (vector+! (-> obj force) (-> obj force) arg1) (let* ((a0-3 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj position))) (s4-1 (vector-cross! (new 'stack-no-clear 'vector) a0-3 arg1)) ) - (let ((f0-0 (vector-length a0-3))) - (if (< arg2 f0-0) - (vector-float*! s4-1 s4-1 (/ arg2 f0-0)) - ) + (let ((f0-0 (vector-length a0-3))) + (if (< arg2 f0-0) + (vector-float*! s4-1 s4-1 (/ arg2 f0-0)) + ) + ) + (vector+! (-> obj torque) (-> obj torque) s4-1) ) - (vector+! (-> obj torque) (-> obj torque) s4-1) - ) 0 (none) ) ;; definition for method 14 of type rigid-body ;; INFO: Return type mismatch int vs none. -(defmethod - TODO-RENAME-14 - rigid-body - ((obj rigid-body) (arg0 vector) (arg1 vector)) +(defmethod TODO-RENAME-14 rigid-body ((obj rigid-body) (arg0 vector) (arg1 vector)) (let ((s5-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (vector-rotate*! s4-0 arg1 (-> obj matrix)) - (vector-rotate*! s5-0 arg0 (-> obj matrix)) - (vector+! s5-0 s5-0 (-> obj position)) - (TODO-RENAME-13 obj s5-0 s4-0) - ) + (vector-rotate*! s4-0 arg1 (-> obj matrix)) + (vector-rotate*! s5-0 arg0 (-> obj matrix)) + (vector+! s5-0 s5-0 (-> obj position)) + (TODO-RENAME-13 obj s5-0 s4-0) + ) 0 (none) ) @@ -251,72 +215,30 @@ ;; definition for method 18 of type rigid-body (defmethod TODO-RENAME-18 rigid-body ((obj rigid-body) (arg0 vector)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-rotate*! gp-0 (-> obj cm-offset-joint) (-> obj matrix)) - (vector-! arg0 (-> obj position) gp-0) - ) + (vector-rotate*! gp-0 (-> obj cm-offset-joint) (-> obj matrix)) + (vector-! arg0 (-> obj position) gp-0) + ) arg0 ) ;; definition for method 19 of type rigid-body ;; INFO: Return type mismatch int vs none. (defmethod dummy-19 rigid-body ((obj rigid-body)) + (format #t " force ~M ~M ~M" (-> obj force x) (-> obj force y) (-> obj force z)) + (format #t " torque ~f ~f ~f~%" (-> obj torque x) (-> obj torque y) (-> obj torque z)) + (format #t " position ~M ~M ~M" (-> obj position x) (-> obj position y) (-> obj position z)) (format - #t - " force ~M ~M ~M" - (-> obj force x) - (-> obj force y) - (-> obj force z) - ) - (format - #t - " torque ~f ~f ~f~%" - (-> obj torque x) - (-> obj torque y) - (-> obj torque z) - ) - (format - #t - " position ~M ~M ~M" - (-> obj position x) - (-> obj position y) - (-> obj position z) - ) - (format - #t - " rotation ~f ~f ~f ~f~%" - (-> obj rotation x) - (-> obj rotation y) - (-> obj rotation z) - (-> obj rotation w) - ) - (format - #t - " lin-mom ~M ~M ~M" - (-> obj lin-momentum x) - (-> obj lin-momentum y) - (-> obj lin-momentum z) - ) - (format - #t - " ang-mom ~f ~f ~f~%" - (-> obj ang-momentum x) - (-> obj ang-momentum y) - (-> obj ang-momentum z) - ) - (format - #t - " lin-vel ~M ~M ~M" - (-> obj lin-velocity x) - (-> obj lin-velocity y) - (-> obj lin-velocity z) - ) - (format - #t - " ang-vel ~f ~f ~f~%" - (-> obj ang-velocity x) - (-> obj ang-velocity y) - (-> obj ang-velocity z) - ) + #t + " rotation ~f ~f ~f ~f~%" + (-> obj rotation x) + (-> obj rotation y) + (-> obj rotation z) + (-> obj rotation w) + ) + (format #t " lin-mom ~M ~M ~M" (-> obj lin-momentum x) (-> obj lin-momentum y) (-> obj lin-momentum z)) + (format #t " ang-mom ~f ~f ~f~%" (-> obj ang-momentum x) (-> obj ang-momentum y) (-> obj ang-momentum z)) + (format #t " lin-vel ~M ~M ~M" (-> obj lin-velocity x) (-> obj lin-velocity y) (-> obj lin-velocity z)) + (format #t " ang-vel ~f ~f ~f~%" (-> obj ang-velocity x) (-> obj ang-velocity y) (-> obj ang-velocity z)) 0 (none) ) @@ -324,20 +246,8 @@ ;; definition for method 20 of type rigid-body ;; INFO: Return type mismatch int vs none. (defmethod dummy-20 rigid-body ((obj rigid-body)) - (format - #t - " force ~M ~M ~M" - (-> obj force x) - (-> obj force y) - (-> obj force z) - ) - (format - #t - " torque ~f ~f ~f~%" - (-> obj torque x) - (-> obj torque y) - (-> obj torque z) - ) + (format #t " force ~M ~M ~M" (-> obj force x) (-> obj force y) (-> obj force z)) + (format #t " torque ~f ~f ~f~%" (-> obj torque x) (-> obj torque y) (-> obj torque z)) 0 (none) ) @@ -376,10 +286,7 @@ ) ;; definition for method 3 of type rigid-body-platform-constants -(defmethod - inspect - rigid-body-platform-constants - ((obj rigid-body-platform-constants)) +(defmethod inspect rigid-body-platform-constants ((obj rigid-body-platform-constants)) (format #t "[~8x] ~A~%" obj 'rigid-body-platform-constants) (format #t "~Tdrag-factor: ~f~%" (-> obj drag-factor)) (format #t "~Tbuoyancy-factor: ~f~%" (-> obj buoyancy-factor)) @@ -389,11 +296,7 @@ (format #t "~Tplayer-weight: (meters ~m)~%" (-> obj player-weight)) (format #t "~Tplayer-bonk-factor: ~f~%" (-> obj player-bonk-factor)) (format #t "~Tplayer-dive-factor: ~f~%" (-> obj player-dive-factor)) - (format - #t - "~Tplayer-force-distance: (meters ~m)~%" - (-> obj player-force-distance) - ) + (format #t "~Tplayer-force-distance: (meters ~m)~%" (-> obj player-force-distance)) (format #t "~Tplayer-force-clamp: (meters ~m)~%" (-> obj player-force-clamp)) (format #t "~Tplayer-force-timeout: ~D~%" (-> obj player-force-timeout)) (format #t "~Texplosion-force: (meters ~m)~%" (-> obj explosion-force)) @@ -423,10 +326,7 @@ ) ;; definition for method 3 of type rigid-body-control-point-inline-array -(defmethod - inspect - rigid-body-control-point-inline-array - ((obj rigid-body-control-point-inline-array)) +(defmethod inspect rigid-body-control-point-inline-array ((obj rigid-body-control-point-inline-array)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tlength: ~D~%" (-> obj length)) (format #t "~Tallocated-length: ~D~%" (-> obj allocated-length)) @@ -481,26 +381,14 @@ ;; definition for method 3 of type rigid-body-platform (defmethod inspect rigid-body-platform ((obj rigid-body-platform)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) - (format - #t - "~T~Tinfo: #~%" - (-> obj info) - ) + (t9-0 obj) + ) + (format #t "~T~Tinfo: #~%" (-> obj info)) (format #t "~T~Trbody: #~%" (-> obj rbody)) (format #t "~T~Tcontrol-point-array: ~A~%" (-> obj control-point-array)) (format #t "~T~Tplayer-velocity: #~%" (-> obj player-velocity)) - (format - #t - "~T~Tplayer-velocity-prev: #~%" - (-> obj player-velocity-prev) - ) - (format - #t - "~T~Tplayer-force-position: #~%" - (-> obj player-force-position) - ) + (format #t "~T~Tplayer-velocity-prev: #~%" (-> obj player-velocity-prev)) + (format #t "~T~Tplayer-force-position: #~%" (-> obj player-force-position)) (format #t "~T~Tplayer-force: #~%" (-> obj player-force)) (format #t "~T~Tsim-time-remaining: ~f~%" (-> obj sim-time-remaining)) (format #t "~T~Tfloat-height-offset: ~f~%" (-> obj float-height-offset)) @@ -516,89 +404,68 @@ ;; INFO: Return type mismatch process-drawable vs rigid-body-platform. (defmethod relocate rigid-body-platform ((obj rigid-body-platform) (arg0 int)) (if (nonzero? (-> obj control-point-array)) - (set! - (-> obj control-point-array) - (the-as - rigid-body-control-point-inline-array - (+ (the-as int (-> obj control-point-array)) arg0) - ) - ) - ) + (set! (-> obj control-point-array) + (the-as rigid-body-control-point-inline-array (+ (the-as int (-> obj control-point-array)) arg0)) + ) + ) (the-as - rigid-body-platform - ((the-as - (function process-drawable int process-drawable) - (find-parent-method rigid-body-platform 7) + rigid-body-platform + ((the-as (function process-drawable int process-drawable) (find-parent-method rigid-body-platform 7)) + obj + arg0 ) - obj - arg0 ) - ) ) ;; definition for method 22 of type rigid-body-platform -(defmethod - TODO-RENAME-22 - rigid-body-platform - ((obj rigid-body-platform) (arg0 vector) (arg1 float)) +(defmethod TODO-RENAME-22 rigid-body-platform ((obj rigid-body-platform) (arg0 vector) (arg1 float)) (let ((v1-0 (-> obj water-anim))) - 0.0 - (+ (the-as float (cond - (v1-0 - (let* ((a2-1 v1-0) - (a0-1 (if a2-1 - (-> a2-1 ppointer-water-anim 3) - ) - ) - ) - (if a0-1 - (get-ripple-height a0-1 arg0) - (-> v1-0 ppointer-water-anim 9) + 0.0 + (+ (the-as float (cond + (v1-0 + (let* ((a2-1 v1-0) + (a0-1 (if a2-1 + (-> a2-1 ppointer-water-anim 3) + ) + ) + ) + (if a0-1 + (get-ripple-height a0-1 arg0) + (-> v1-0 ppointer-water-anim 9) + ) + ) + ) + (else + (ocean-get-height arg0) + ) ) - ) - ) - (else - (ocean-get-height arg0) - ) - ) + ) + (-> obj float-height-offset) ) - (-> obj float-height-offset) ) - ) ) ;; definition for method 24 of type rigid-body-platform ;; INFO: Return type mismatch int vs none. -(defmethod - TODO-RENAME-24 - rigid-body-platform - ((obj rigid-body-platform) (arg0 rigid-body-control-point) (arg1 float)) +(defmethod TODO-RENAME-24 rigid-body-platform ((obj rigid-body-platform) (arg0 rigid-body-control-point) (arg1 float)) (set! (-> arg0 world-pos w) (TODO-RENAME-22 obj (-> arg0 world-pos) arg1)) (let* ((s4-0 (new 'stack-no-clear 'vector)) (f0-2 (- (-> arg0 world-pos w) (-> arg0 world-pos y))) (f30-0 (/ f0-2 (-> obj info max-buoyancy-depth))) ) - (when (< 0.0 f0-2) - (vector-float*! - s4-0 - *y-vector* - (* - (-> obj rbody mass) - (fmin 1.0 f30-0) - (/ (-> obj info gravity) (the float (-> obj info control-point-count))) - (-> obj info gravity-factor) - (-> obj info buoyancy-factor) + (when (< 0.0 f0-2) + (vector-float*! s4-0 *y-vector* (* (-> obj rbody mass) + (fmin 1.0 f30-0) + (/ (-> obj info gravity) (the float (-> obj info control-point-count))) + (-> obj info gravity-factor) + (-> obj info buoyancy-factor) + ) + ) + (TODO-RENAME-13 (-> obj rbody) (-> arg0 world-pos) s4-0) + (vector-float*! s4-0 (-> arg0 velocity) (* -1.0 (-> obj info drag-factor) (fmin 1.0 f30-0))) + (TODO-RENAME-13 (-> obj rbody) (-> arg0 world-pos) s4-0) ) - ) - (TODO-RENAME-13 (-> obj rbody) (-> arg0 world-pos) s4-0) - (vector-float*! - s4-0 - (-> arg0 velocity) - (* -1.0 (-> obj info drag-factor) (fmin 1.0 f30-0)) - ) - (TODO-RENAME-13 (-> obj rbody) (-> arg0 world-pos) s4-0) ) - ) 0 0 (none) @@ -608,14 +475,14 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-25 rigid-body-platform ((obj rigid-body-platform)) (when (or (-> obj player-impulse) (-> obj player-contact)) - (set! (-> obj player-impulse) #f) - (TODO-RENAME-16 - (-> obj rbody) - (-> obj player-force-position) - (-> obj player-force) - (-> obj info player-force-distance) + (set! (-> obj player-impulse) #f) + (TODO-RENAME-16 + (-> obj rbody) + (-> obj player-force-position) + (-> obj player-force) + (-> obj info player-force-distance) + ) ) - ) 0 (none) ) @@ -624,59 +491,48 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-26 rigid-body-platform ((obj rigid-body-platform)) (let ((a1-0 (new 'stack-no-clear 'vector))) - (vector-float*! - a1-0 - *y-vector* - (* - -1.0 - (-> obj info gravity-factor) - (-> obj info gravity) - (-> obj rbody mass) - ) + (vector-float*! + a1-0 + *y-vector* + (* -1.0 (-> obj info gravity-factor) (-> obj info gravity) (-> obj rbody mass)) + ) + (TODO-RENAME-15 (-> obj rbody) a1-0) ) - (TODO-RENAME-15 (-> obj rbody) a1-0) - ) 0 (none) ) ;; definition for method 27 of type rigid-body-platform ;; INFO: Return type mismatch int vs none. -(defmethod - TODO-RENAME-27 - rigid-body-platform - ((obj rigid-body-platform) (arg0 vector)) +(defmethod TODO-RENAME-27 rigid-body-platform ((obj rigid-body-platform) (arg0 vector)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-! gp-0 arg0 (-> obj rbody position)) - (set! (-> gp-0 y) 0.0) - (let* ((f0-1 (vector-length gp-0)) - (f1-1 (* 10.0 (fmax 0.0 (fmin 4096.0 (+ -4096.0 f0-1))))) - ) - (when (< 0.0 f1-1) - (vector-float*! gp-0 gp-0 (/ f1-1 f0-1)) - (TODO-RENAME-15 (-> obj rbody) gp-0) - ) + (vector-! gp-0 arg0 (-> obj rbody position)) + (set! (-> gp-0 y) 0.0) + (let* ((f0-1 (vector-length gp-0)) + (f1-1 (* 10.0 (fmax 0.0 (fmin 4096.0 (+ -4096.0 f0-1))))) + ) + (when (< 0.0 f1-1) + (vector-float*! gp-0 gp-0 (/ f1-1 f0-1)) + (TODO-RENAME-15 (-> obj rbody) gp-0) + ) + ) ) - ) 0 (none) ) ;; definition for method 23 of type rigid-body-platform ;; INFO: Return type mismatch int vs none. -(defmethod - TODO-RENAME-23 - rigid-body-platform - ((obj rigid-body-platform) (arg0 float)) +(defmethod TODO-RENAME-23 rigid-body-platform ((obj rigid-body-platform) (arg0 float)) (let ((s4-0 (-> obj rbody matrix))) - (dotimes (s3-0 (-> obj info control-point-count)) - (let ((s2-0 (-> obj control-point-array data s3-0))) - (vector-matrix*! (-> s2-0 world-pos) (-> s2-0 local-pos) s4-0) - (TODO-RENAME-17 (-> obj rbody) (-> s2-0 world-pos) (-> s2-0 velocity)) - (TODO-RENAME-24 obj s2-0 arg0) - ) + (dotimes (s3-0 (-> obj info control-point-count)) + (let ((s2-0 (-> obj control-point-array data s3-0))) + (vector-matrix*! (-> s2-0 world-pos) (-> s2-0 local-pos) s4-0) + (TODO-RENAME-17 (-> obj rbody) (-> s2-0 world-pos) (-> s2-0 velocity)) + (TODO-RENAME-24 obj s2-0 arg0) + ) + ) ) - ) (TODO-RENAME-26 obj) (TODO-RENAME-25 obj) 0 @@ -688,38 +544,27 @@ ;; Used lq/sq (defmethod TODO-RENAME-28 rigid-body-platform ((obj rigid-body-platform)) (if (-> obj info platform) - (dummy-35 (-> obj root-overlay)) - ) + (dummy-35 (-> obj root-overlay)) + ) (set! (-> obj player-velocity-prev quad) (-> obj player-velocity quad)) (if *target* - (set! (-> obj player-velocity quad) (-> *target* control transv quad)) - (set! (-> obj player-velocity quad) (-> *null-vector* quad)) - ) + (set! (-> obj player-velocity quad) (-> *target* control transv quad)) + (set! (-> obj player-velocity quad) (-> *null-vector* quad)) + ) (+! - (-> obj sim-time-remaining) - (* - 0.0033333334 - (the - float - (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter)) - ) + (-> obj sim-time-remaining) + (* 0.0033333334 (the float (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter)))) ) - ) (let ((f30-0 0.016666668) - (f28-0 - (* - 0.0033333334 - (the float (logand #xffffff (-> *display* base-frame-counter))) - ) - ) + (f28-0 (* 0.0033333334 (the float (logand #xffffff (-> *display* base-frame-counter))))) ) - (while (>= (-> obj sim-time-remaining) (* 0.5 f30-0)) - (clear-force-torque! (-> obj rbody)) - (TODO-RENAME-23 obj f28-0) - (dummy-10 (-> obj rbody) f30-0) - (set! (-> obj sim-time-remaining) (- (-> obj sim-time-remaining) f30-0)) + (while (>= (-> obj sim-time-remaining) (* 0.5 f30-0)) + (clear-force-torque! (-> obj rbody)) + (TODO-RENAME-23 obj f28-0) + (dummy-10 (-> obj rbody) f30-0) + (set! (-> obj sim-time-remaining) (- (-> obj sim-time-remaining) f30-0)) + ) ) - ) (set! (-> obj player-contact) #f) 0 (none) @@ -727,228 +572,147 @@ ;; definition for function rigid-body-platform-event-handler ;; Used lq/sq -(defbehavior - rigid-body-platform-event-handler rigid-body-platform - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('bonk) - (when - (>= - (- (-> *display* base-frame-counter) (-> self player-bonk-timeout)) - (the-as int (-> self info player-force-timeout)) - ) - (set! (-> self player-bonk-timeout) (-> *display* base-frame-counter)) - (let* ((s5-0 arg0) - (v1-7 - (if - (and - (nonzero? s5-0) - (type-type? (-> s5-0 type) process-drawable) - ) - s5-0 +(defbehavior rigid-body-platform-event-handler rigid-body-platform ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('bonk) + (when (>= (- (-> *display* base-frame-counter) (-> self player-bonk-timeout)) + (the-as int (-> self info player-force-timeout)) ) + (set! (-> self player-bonk-timeout) (-> *display* base-frame-counter)) + (let* ((s5-0 arg0) + (v1-7 (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) process-drawable)) + s5-0 + ) + ) ) - ) - (when v1-7 - (set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t)) - (set! - (-> self player-force-position quad) - (-> (the-as process-drawable v1-7) root trans quad) - ) - (let - ((f0-4 - (fmin - (* - 0.00012207031 - (the-as float (-> arg3 param 1)) - (-> self info player-bonk-factor) - (-> self info player-weight) - ) - (-> self info player-force-clamp) - ) - ) - ) - (vector-float*! (-> self player-force) *y-vector* (- f0-4)) - ) - ) - ) - ) - ) - (('attack) - (let ((v1-16 (-> arg3 param 2))) - (when (!= v1-16 (-> self player-attack-id)) - (set! (-> self player-attack-id) (the-as int v1-16)) - (cond - ((= (-> arg3 param 1) 'flop) - (when - (>= - (- (-> *display* base-frame-counter) (-> self player-bonk-timeout)) - (the-as int (-> self info player-force-timeout)) - ) - (set! (-> self player-bonk-timeout) (-> *display* base-frame-counter)) - (let* ((gp-1 arg0) - (v1-24 - (if - (and - (nonzero? gp-1) - (type-type? (-> gp-1 type) process-drawable) - ) - gp-1 - ) - ) - ) - (when v1-24 + (when v1-7 (set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t)) - (set! - (-> self player-force-position quad) - (-> (the-as process-drawable v1-24) root trans quad) - ) - (let - ((f0-9 - (fmin - (* - 16.0 - (-> self info player-weight) - (-> self info player-dive-factor) - ) - (-> self info player-force-clamp) - ) - ) - ) - (vector-float*! (-> self player-force) *y-vector* (- f0-9)) - ) - ) - ) - ) - ) - ((= (-> arg3 param 1) 'explode) - (let* ((gp-2 arg0) - (v1-34 - (if - (and - (nonzero? gp-2) - (type-type? (-> gp-2 type) process-drawable) - ) - gp-2 + (set! (-> self player-force-position quad) (-> (the-as process-drawable v1-7) root trans quad)) + (let ((f0-4 (fmin + (* 0.00012207031 + (the-as float (-> arg3 param 1)) + (-> self info player-bonk-factor) + (-> self info player-weight) + ) + (-> self info player-force-clamp) + ) + ) ) + (vector-float*! (-> self player-force) *y-vector* (- f0-4)) + ) + ) + ) + ) + ) + (('attack) + (let ((v1-16 (-> arg3 param 2))) + (when (!= v1-16 (-> self player-attack-id)) + (set! (-> self player-attack-id) (the-as int v1-16)) + (cond + ((= (-> arg3 param 1) 'flop) + (when (>= (- (-> *display* base-frame-counter) (-> self player-bonk-timeout)) + (the-as int (-> self info player-force-timeout)) + ) + (set! (-> self player-bonk-timeout) (-> *display* base-frame-counter)) + (let* ((gp-1 arg0) + (v1-24 (if (and (nonzero? gp-1) (type-type? (-> gp-1 type) process-drawable)) + gp-1 + ) + ) + ) + (when v1-24 + (set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t)) + (set! (-> self player-force-position quad) (-> (the-as process-drawable v1-24) root trans quad)) + (let ((f0-9 (fmin + (* 16.0 (-> self info player-weight) (-> self info player-dive-factor)) + (-> self info player-force-clamp) + ) + ) + ) + (vector-float*! (-> self player-force) *y-vector* (- f0-9)) + ) + ) ) - ) - (when v1-34 - (set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t)) - (set! - (-> self player-force-position quad) - (-> (the-as process-drawable v1-34) root trans quad) + ) + ) + ((= (-> arg3 param 1) 'explode) + (let* ((gp-2 arg0) + (v1-34 (if (and (nonzero? gp-2) (type-type? (-> gp-2 type) process-drawable)) + gp-2 + ) + ) + ) + (when v1-34 + (set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t)) + (set! (-> self player-force-position quad) (-> (the-as process-drawable v1-34) root trans quad)) + (vector-! (-> self player-force) (-> self rbody position) (-> (the-as process-drawable v1-34) root trans)) + (vector-normalize! (-> self player-force) (-> self info explosion-force)) + ) + ) + ) + (else + (the-as vector #f) + ) ) - (vector-! - (-> self player-force) - (-> self rbody position) - (-> (the-as process-drawable v1-34) root trans) - ) - (vector-normalize! - (-> self player-force) - (-> self info explosion-force) - ) - ) ) - ) - (else - (the-as vector #f) - ) ) - ) ) - ) - (('impulse) - (let ((s5-1 arg0)) - (when - (if (and (nonzero? s5-1) (type-type? (-> s5-1 type) process-drawable)) - s5-1 - ) - (set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t)) - (set! (-> self player-force-position quad) (-> self rbody position quad)) - (let ((v0-0 (-> self player-force))) - (set! (-> v0-0 quad) (-> (the-as vector (-> arg3 param 0)) quad)) - v0-0 - ) - ) - ) - ) - (('edge-grabbed) - (let ((v1-44 (-> arg3 param 0))) - (when (not (-> self player-impulse)) - (set! (-> self player-contact) #t) - (set! - (-> self player-force-position quad) - (-> (the-as vector (+ v1-44 32)) quad) - ) - (vector-float*! - (-> self player-force) - *y-vector* - (* -1.0 (-> self info player-weight)) - ) - ) - ) - ) - (('ridden) - (let ((v1-48 (the-as object (-> arg3 param 0)))) - (when (the-as uint v1-48) - (let ((v1-50 (handle->process (-> (the-as (pointer handle) v1-48) 0)))) - (when - (and - v1-50 - (= v1-50 *target*) - (!= (-> *target* control unknown-surface00 mode) 'swim) + (('impulse) + (let ((s5-1 arg0)) + (when (if (and (nonzero? s5-1) (type-type? (-> s5-1 type) process-drawable)) + s5-1 + ) + (set! (-> self player-impulse) (the-as collide-shape-prim-mesh #t)) + (set! (-> self player-force-position quad) (-> self rbody position quad)) + (let ((v0-0 (-> self player-force))) + (set! (-> v0-0 quad) (-> (the-as vector (-> arg3 param 0)) quad)) + v0-0 + ) ) - (when (not (-> self player-impulse)) + ) + ) + (('edge-grabbed) + (let ((v1-44 (-> arg3 param 0))) + (when (not (-> self player-impulse)) (set! (-> self player-contact) #t) - (set! - (-> self player-force-position quad) - (-> (the-as process-drawable v1-50) root trans quad) - ) - (set! (-> self player-force quad) (-> *null-vector* quad)) - (vector+*! - (-> self player-force) - (-> self player-force) - *y-vector* - (* -1.0 (-> self info player-weight)) - ) + (set! (-> self player-force-position quad) (-> (the-as vector (+ v1-44 32)) quad)) + (vector-float*! (-> self player-force) *y-vector* (* -1.0 (-> self info player-weight))) + ) + ) + ) + (('ridden) + (let ((v1-48 (the-as object (-> arg3 param 0)))) + (when (the-as uint v1-48) + (let ((v1-50 (handle->process (-> (the-as (pointer handle) v1-48) 0)))) + (when (and v1-50 (= v1-50 *target*) (!= (-> *target* control unknown-surface00 mode) 'swim)) + (when (not (-> self player-impulse)) + (set! (-> self player-contact) #t) + (set! (-> self player-force-position quad) (-> (the-as process-drawable v1-50) root trans quad)) + (set! (-> self player-force quad) (-> *null-vector* quad)) + (vector+*! (-> self player-force) (-> self player-force) *y-vector* (* -1.0 (-> self info player-weight))) + ) + ) + ) ) - ) ) - ) ) ) - ) ) ;; definition for function rigid-body-platform-post (defbehavior rigid-body-platform-post rigid-body-platform () - (set! - (-> self rbody lin-momentum-damping-factor) - (-> self info linear-damping) - ) - (set! - (-> self rbody ang-momentum-damping-factor) - (-> self info angular-damping) - ) + (set! (-> self rbody lin-momentum-damping-factor) (-> self info linear-damping)) + (set! (-> self rbody ang-momentum-damping-factor) (-> self info angular-damping)) (if (-> self player-impulse) - (sound-play-by-name - (string->sound-name (-> self info sound-name)) - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) + (sound-play-by-name (string->sound-name (-> self info sound-name)) (new-sound-id) 1024 0 0 1 #t) + ) (TODO-RENAME-28 self) (quaternion-copy! (-> self root-overlay quat) (-> self rbody rotation)) (TODO-RENAME-18 (-> self rbody) (-> self root-overlay trans)) (if (-> self info platform) - (rider-post) - (transform-post) - ) + (rider-post) + (transform-post) + ) ) ;; failed to figure out what this is: @@ -956,28 +720,21 @@ :virtual #t :trans (behavior () - (if - (and - *target* - (>= - (-> self info idle-distance) - (vector-vector-distance - (-> self root-overlay trans) - (-> *target* control trans) - ) - ) - ) - (go-virtual rigid-body-platform-float) + (if (and *target* (>= (-> self info idle-distance) + (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) + ) + ) + (go-virtual rigid-body-platform-float) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior rigid-body-platform) ja-post) ) @@ -989,84 +746,63 @@ rigid-body-platform-event-handler :trans (behavior () - (if - (or - (not *target*) - (< - (-> self info idle-distance) - (vector-vector-distance - (-> self root-overlay trans) - (-> *target* control trans) - ) - ) - ) - (go-virtual rigid-body-platform-idle) + (if (or (not *target*) (< (-> self info idle-distance) + (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) + ) + ) + (go-virtual rigid-body-platform-idle) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post - (the-as - (function none :behavior rigid-body-platform) - rigid-body-platform-post - ) + (the-as (function none :behavior rigid-body-platform) rigid-body-platform-post) ) ;; definition for method 29 of type rigid-body-platform ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - TODO-RENAME-29 - rigid-body-platform - ((obj rigid-body-platform) (arg0 rigid-body-platform-constants)) +(defmethod TODO-RENAME-29 rigid-body-platform ((obj rigid-body-platform) (arg0 rigid-body-platform-constants)) (set! (-> obj info) arg0) - (set! - (-> obj control-point-array) - (new - 'process - 'rigid-body-control-point-inline-array - (-> obj info control-point-count) - ) - ) + (set! (-> obj control-point-array) + (new 'process 'rigid-body-control-point-inline-array (-> obj info control-point-count)) + ) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-overlay)) (set-vector! - (-> obj rbody cm-offset-joint) - (-> obj info cm-joint-x) - (-> obj info cm-joint-y) - (-> obj info cm-joint-z) - 1.0 - ) + (-> obj rbody cm-offset-joint) + (-> obj info cm-joint-x) + (-> obj info cm-joint-y) + (-> obj info cm-joint-z) + 1.0 + ) (TODO-RENAME-22 - (-> obj rbody) - (-> obj root-overlay trans) - (-> obj root-overlay quat) - (-> obj info linear-damping) - (-> obj info angular-damping) - ) + (-> obj rbody) + (-> obj root-overlay trans) + (-> obj root-overlay quat) + (-> obj info linear-damping) + (-> obj info angular-damping) + ) (TODO-RENAME-9 - (-> obj rbody) - (-> obj info mass) - (-> obj info inertial-tensor-x) - (-> obj info inertial-tensor-y) - (-> obj info inertial-tensor-z) - ) + (-> obj rbody) + (-> obj info mass) + (-> obj info inertial-tensor-x) + (-> obj info inertial-tensor-y) + (-> obj info inertial-tensor-z) + ) (set! (-> obj player-impulse) #f) (set! (-> obj player-contact) #f) (set! (-> obj player-bonk-timeout) (-> *display* base-frame-counter)) (set! (-> obj player-force quad) (-> *null-vector* quad)) (set! (-> obj player-velocity quad) (-> *null-vector* quad)) (set! (-> obj player-velocity-prev quad) (-> *null-vector* quad)) - (set! - (-> obj water-anim) - (the-as water-anim (entity-actor-lookup (-> obj entity) 'water-actor 0)) - ) + (set! (-> obj water-anim) (the-as water-anim (entity-actor-lookup (-> obj entity) 'water-actor 0))) 0 (none) ) @@ -1074,76 +810,56 @@ ;; definition for method 30 of type rigid-body-platform ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-30 rigid-body-platform ((obj rigid-body-platform)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 20480.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 20480.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-overlay) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-overlay) s5-0) - ) 0 (none) ) ;; definition for symbol *rigid-body-platform-constants*, type rigid-body-platform-constants -(define - *rigid-body-platform-constants* - (new 'static 'rigid-body-platform-constants - :drag-factor 0.8 - :buoyancy-factor 1.5 - :max-buoyancy-depth (meters 1.5) - :gravity-factor 1.0 - :gravity (meters 10.0) - :player-weight (meters 6.6) - :player-bonk-factor 1.0 - :player-dive-factor 1.0 - :player-force-distance (meters 1000.0) - :player-force-clamp (meters 1000000.0) - :player-force-timeout #x1e - :explosion-force (meters 1000.0) - :linear-damping 1.0 - :angular-damping 1.0 - :control-point-count 1 - :mass 2.0 - :inertial-tensor-x (meters 3.0) - :inertial-tensor-y (meters 2.0) - :inertial-tensor-z (meters 3.0) - :idle-distance (meters 50.0) - :platform #t - :sound-name #f - ) - ) +(define *rigid-body-platform-constants* (new 'static 'rigid-body-platform-constants + :drag-factor 0.8 + :buoyancy-factor 1.5 + :max-buoyancy-depth (meters 1.5) + :gravity-factor 1.0 + :gravity (meters 10.0) + :player-weight (meters 6.6) + :player-bonk-factor 1.0 + :player-dive-factor 1.0 + :player-force-distance (meters 1000.0) + :player-force-clamp (meters 1000000.0) + :player-force-timeout #x1e + :explosion-force (meters 1000.0) + :linear-damping 1.0 + :angular-damping 1.0 + :control-point-count 1 + :mass 2.0 + :inertial-tensor-x (meters 3.0) + :inertial-tensor-y (meters 2.0) + :inertial-tensor-z (meters 3.0) + :idle-distance (meters 50.0) + :platform #t + :sound-name #f + ) + ) ;; definition for method 34 of type rigid-body-platform ;; INFO: Return type mismatch int vs none. @@ -1159,27 +875,24 @@ (set! (-> obj float-height-offset) 0.0) (TODO-RENAME-29 obj *rigid-body-platform-constants*) (let ((s5-0 (-> obj info control-point-count))) - (dotimes (s4-0 s5-0) - (let ((s3-0 (-> obj control-point-array data s4-0))) - (let ((f30-0 (* 65536.0 (/ (the float s4-0) (the float s5-0))))) - (set! (-> s3-0 local-pos x) (* 12288.0 (sin f30-0))) - (set! (-> s3-0 local-pos y) -10240.0) - (set! (-> s3-0 local-pos z) (* 12288.0 (cos f30-0))) + (dotimes (s4-0 s5-0) + (let ((s3-0 (-> obj control-point-array data s4-0))) + (let ((f30-0 (* 65536.0 (/ (the float s4-0) (the float s5-0))))) + (set! (-> s3-0 local-pos x) (* 12288.0 (sin f30-0))) + (set! (-> s3-0 local-pos y) -10240.0) + (set! (-> s3-0 local-pos z) (* 12288.0 (cos f30-0))) + ) + (set! (-> s3-0 local-pos w) 1.0) + ) ) - (set! (-> s3-0 local-pos w) 1.0) - ) ) - ) 0 (none) ) ;; definition for method 11 of type rigid-body-platform ;; INFO: Return type mismatch int vs none. -(defmethod - init-from-entity! - rigid-body-platform - ((obj rigid-body-platform) (arg0 entity-actor)) +(defmethod init-from-entity! rigid-body-platform ((obj rigid-body-platform) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) (TODO-RENAME-30 obj) (process-drawable-from-entity! obj arg0) diff --git a/test/decompiler/reference/levels/common/sharkey_REF.gc b/test/decompiler/reference/levels/common/sharkey_REF.gc index b09161d6de..756413dd6b 100644 --- a/test/decompiler/reference/levels/common/sharkey_REF.gc +++ b/test/decompiler/reference/levels/common/sharkey_REF.gc @@ -2,37 +2,35 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 106) - (new 'static 'sparticle-launch-group - :length 16 - :duration #x78 - :linger-duration #x30c - :flags (sp-group-flag use-local-clock) - :name "group-sharkey-splash" - :launcher - (new 'static 'inline-array sparticle-group-item 16 - (sp-item 124 :flags (is-3d) :period 900 :length 63) - (sp-item 125 :period 900 :length 15) - (sp-item 126 :flags (is-3d) :period 900 :length 15) - (sp-item 127 :flags (is-3d) :period 900 :length 15) - (sp-item 128 :period 900 :length 10 :binding 129) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - (sp-item 129 :flags (start-dead) :period 900 :length 120) - ) - :bounds - (new 'static 'sphere :y -49152.0 :w 57344.0) - ) - ) +(set! (-> *part-group-id-table* 106) (new 'static 'sparticle-launch-group + :length 16 + :duration #x78 + :linger-duration #x30c + :flags (sp-group-flag use-local-clock) + :name "group-sharkey-splash" + :launcher + (new 'static 'inline-array sparticle-group-item 16 + (sp-item 124 :flags (is-3d) :period 900 :length 63) + (sp-item 125 :period 900 :length 15) + (sp-item 126 :flags (is-3d) :period 900 :length 15) + (sp-item 127 :flags (is-3d) :period 900 :length 15) + (sp-item 128 :period 900 :length 10 :binding 129) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + (sp-item 129 :flags (start-dead) :period 900 :length 120) + ) + :bounds + (new 'static 'sphere :y -49152.0 :w 57344.0) + ) + ) ;; definition of type sharkey (deftype sharkey (nav-enemy) @@ -61,8 +59,8 @@ ;; definition for method 3 of type sharkey (defmethod inspect sharkey ((obj sharkey)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tdir: #~%" (-> obj dir)) (format #t "~T~Tspawn-point: #~%" (-> obj spawn-point)) (format #t "~T~Tscale: ~f~%" (-> obj scale)) @@ -92,19 +90,13 @@ ;; definition for method 44 of type sharkey ;; INFO: Return type mismatch symbol vs object. -(defmethod - dummy-44 - sharkey - ((obj sharkey) (arg0 process) (arg1 event-message-block)) +(defmethod dummy-44 sharkey ((obj sharkey) (arg0 process) (arg1 event-message-block)) (the-as object #t) ) ;; definition for method 43 of type sharkey ;; INFO: Return type mismatch symbol vs object. -(defmethod - dummy-43 - sharkey - ((obj sharkey) (arg0 process) (arg1 event-message-block)) +(defmethod dummy-43 sharkey ((obj sharkey) (arg0 process) (arg1 event-message-block)) (the-as object #t) ) @@ -114,50 +106,26 @@ nav-enemy-default-event-handler ;; definition for method 12 of type sharkey (defmethod run-logic? sharkey ((obj sharkey)) (or - (zero? (logand (-> obj mask) (process-mask actor-pause))) - (or - (>= - (+ - (-> *ACTOR-bank* pause-dist) - (-> obj collide-info pause-adjust-distance) + (zero? (logand (-> obj mask) (process-mask actor-pause))) + (or + (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj collide-info pause-adjust-distance)) + (vector-vector-distance (-> obj collide-info trans) (math-camera-pos)) + ) + (and (nonzero? (-> obj skel)) (!= (-> obj skel root-channel 0) (-> obj skel channel))) + (and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) 16)) ) - (vector-vector-distance (-> obj collide-info trans) (math-camera-pos)) - ) - (and - (nonzero? (-> obj skel)) - (!= (-> obj skel root-channel 0) (-> obj skel channel)) - ) - (and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) 16)) ) - ) ) ;; definition for method 40 of type sharkey ;; INFO: Return type mismatch int vs none. (defmethod dummy-40 sharkey ((obj sharkey)) (dummy-11 (-> obj nav) (-> obj nav target-pos)) - (let* - ((f0-0 - (vector-vector-xz-distance - (-> obj collide-info trans) - (-> obj nav target-pos) - ) - ) - (f30-0 - (/ - (- - (fmin (-> obj y-max) (-> obj nav target-pos y)) - (-> obj collide-info trans y) - ) - f0-0 - ) - ) + (let* ((f0-0 (vector-vector-xz-distance (-> obj collide-info trans) (-> obj nav target-pos))) + (f30-0 (/ (- (fmin (-> obj y-max) (-> obj nav target-pos y)) (-> obj collide-info trans y)) f0-0)) + ) + (set! (-> obj nav travel y) (* 4.0 (vector-length (-> obj nav travel)) f30-0)) ) - (set! - (-> obj nav travel y) - (* 4.0 (vector-length (-> obj nav travel)) f30-0) - ) - ) 0 (none) ) @@ -166,18 +134,13 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-37 sharkey ((obj sharkey)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (when (< 8192.0 (vector-length (-> obj nav travel))) - (vector-normalize-copy! s5-0 (-> obj nav travel) 1.0) - (vector-deg-seek - (-> obj dir) - (-> obj dir) - s5-0 - (* 65536.0 (-> *display* seconds-per-frame)) - ) - (vector-normalize! (-> obj dir) 1.0) - (forward-up->quaternion (-> obj collide-info quat) (-> obj dir) *up-vector*) + (when (< 8192.0 (vector-length (-> obj nav travel))) + (vector-normalize-copy! s5-0 (-> obj nav travel) 1.0) + (vector-deg-seek (-> obj dir) (-> obj dir) s5-0 (* 65536.0 (-> *display* seconds-per-frame))) + (vector-normalize! (-> obj dir) 1.0) + (forward-up->quaternion (-> obj collide-info quat) (-> obj dir) *up-vector*) + ) ) - ) 0 (none) ) @@ -186,32 +149,21 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defmethod dummy-41 sharkey ((obj sharkey)) (let* ((f0-1 (- (-> obj target-speed) (-> obj momentum-speed))) - (f1-3 - (fmin - (* (-> obj acceleration) (-> *display* seconds-per-frame)) - (fabs f0-1) - ) - ) + (f1-3 (fmin (* (-> obj acceleration) (-> *display* seconds-per-frame)) (fabs f0-1))) ) - (if (< f0-1 0.0) - (set! (-> obj momentum-speed) (- (-> obj momentum-speed) f1-3)) - (+! (-> obj momentum-speed) f1-3) + (if (< f0-1 0.0) + (set! (-> obj momentum-speed) (- (-> obj momentum-speed) f1-3)) + (+! (-> obj momentum-speed) f1-3) + ) ) - ) - (let - ((f0-9 - (fmin - (* (-> obj speed-scale) (-> obj momentum-speed)) - (* (vector-length (-> obj nav travel)) (-> *display* frames-per-second)) - ) - ) + (let ((f0-9 (fmin + (* (-> obj speed-scale) (-> obj momentum-speed)) + (* (vector-length (-> obj nav travel)) (-> *display* frames-per-second)) + ) + ) + ) + (vector-normalize-copy! (-> obj collide-info transv) (-> obj nav travel) f0-9) ) - (vector-normalize-copy! - (-> obj collide-info transv) - (-> obj nav travel) - f0-9 - ) - ) 0 (none) ) @@ -223,25 +175,21 @@ nav-enemy-default-event-handler (let ((f30-0 (-> obj water height)) (s5-0 (new 'stack-no-clear 'vector)) ) - (let* ((f3-0 (- -36864.0 (-> obj collide-info trans y))) - (f0-2 (fmax 0.0 (fmin 1.0 (- 1.0 (* 0.00008138021 f3-0))))) - ) - (set-vector! (-> obj draw color-mult) f0-2 f0-2 f0-2 1.0) - ) - (dummy-10 (-> obj water)) - (let ((f28-0 (-> obj collide-info trans y))) - (when - (or - (and (< f30-0 f28-0) (>= f30-0 (-> obj last-y))) - (and (>= f30-0 f28-0) (< f30-0 (-> obj last-y))) + (let* ((f3-0 (- -36864.0 (-> obj collide-info trans y))) + (f0-2 (fmax 0.0 (fmin 1.0 (- 1.0 (* 0.00008138021 f3-0))))) + ) + (set-vector! (-> obj draw color-mult) f0-2 f0-2 f0-2 1.0) + ) + (dummy-10 (-> obj water)) + (let ((f28-0 (-> obj collide-info trans y))) + (when (or (and (< f30-0 f28-0) (>= f30-0 (-> obj last-y))) (and (>= f30-0 f28-0) (< f30-0 (-> obj last-y)))) + (set! (-> s5-0 quad) (-> obj collide-info trans quad)) + (set! (-> s5-0 y) f30-0) + (dummy-13 (-> obj water) 1.0 s5-0 1 (-> obj collide-info transv)) + ) + (set! (-> obj last-y) f28-0) ) - (set! (-> s5-0 quad) (-> obj collide-info trans quad)) - (set! (-> s5-0 y) f30-0) - (dummy-13 (-> obj water) 1.0 s5-0 1 (-> obj collide-info transv)) - ) - (set! (-> obj last-y) f28-0) ) - ) ((the-as (function nav-enemy none) (find-parent-method sharkey 39)) obj) 0 (none) @@ -250,20 +198,20 @@ nav-enemy-default-event-handler ;; definition for function sharkey-notice-player? (defbehavior sharkey-notice-player? sharkey () (if *target* - (and - (< (- (-> *target* control trans y) (-> self y-max)) 0.0) - (let ((gp-0 'racer) - (a1-0 (new 'stack-no-clear 'event-message-block)) + (and + (< (- (-> *target* control trans y) (-> self y-max)) 0.0) + (let ((gp-0 'racer) + (a1-0 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'mode)) + (!= gp-0 (send-event-function *target* a1-0)) ) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'mode)) - (!= gp-0 (send-event-function *target* a1-0)) - ) - (nav-enemy-test-point-near-nav-mesh? (-> *target* control shadow-pos)) - ) - ) + (nav-enemy-test-point-near-nav-mesh? (-> *target* control shadow-pos)) + ) + ) ) ;; definition for function sharkey-get-player-position @@ -291,34 +239,34 @@ nav-enemy-default-event-handler (s3-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) - (let ((s4-0 (-> *target* control trans))) - (let ((f30-0 4096000.0)) - (set! (-> s3-0 quad) (-> self entity extra trans quad)) - (set! (-> s5-0 quad) (-> self collide-info trans quad)) - (dotimes (s2-0 (-> self path curve num-cverts)) - (eval-path-curve-div! (-> self path) s3-0 (the float s2-0) 'interp) - (let ((f0-2 (vector-vector-xz-distance s4-0 s3-0))) - (when (< f0-2 f30-0) - (set! f30-0 f0-2) - (set! (-> s5-0 quad) (-> s3-0 quad)) + (let ((s4-0 (-> *target* control trans))) + (let ((f30-0 4096000.0)) + (set! (-> s3-0 quad) (-> self entity extra trans quad)) + (set! (-> s5-0 quad) (-> self collide-info trans quad)) + (dotimes (s2-0 (-> self path curve num-cverts)) + (eval-path-curve-div! (-> self path) s3-0 (the float s2-0) 'interp) + (let ((f0-2 (vector-vector-xz-distance s4-0 s3-0))) + (when (< f0-2 f30-0) + (set! f30-0 f0-2) + (set! (-> s5-0 quad) (-> s3-0 quad)) + ) + ) + ) ) - ) + (vector-! (-> self dir) s4-0 s5-0) + (vector-normalize! (-> self dir) 1.0) + (vector+*! gp-0 s4-0 (-> self dir) (- (-> self spawn-distance))) ) - ) - (vector-! (-> self dir) s4-0 s5-0) - (vector-normalize! (-> self dir) 1.0) - (vector+*! gp-0 s4-0 (-> self dir) (- (-> self spawn-distance))) + ((method-of-object (-> self nav) dummy-17)) + (set! (-> gp-0 y) (-> self y-min)) + (set! (-> self spawn-point quad) (-> gp-0 quad)) ) - ((method-of-object (-> self nav) dummy-17)) - (set! (-> gp-0 y) (-> self y-min)) - (set! (-> self spawn-point quad) (-> gp-0 quad)) - ) (set! (-> self collide-info trans quad) (-> self spawn-point quad)) (forward-up->quaternion (-> self collide-info quat) (-> self dir) *up-vector*) (let ((f0-6 0.0)) - (set! (-> self momentum-speed) f0-6) - f0-6 - ) + (set! (-> self momentum-speed) f0-6) + f0-6 + ) ) ;; failed to figure out what this is: @@ -326,117 +274,87 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior sharkey) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior sharkey) + nav-enemy-default-event-handler + ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self nav-enemy-flags) (logand -2 (-> self nav-enemy-flags))) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self nav-enemy-flags) (logand -2 (-> self nav-enemy-flags))) + (none) + ) :exit - (behavior () - (set! (-> self draw status) (logand -3 (-> self draw status))) - (none) - ) + (behavior () (set! (-> self draw status) (logand -3 (-> self draw status))) (none)) :trans (behavior () - (cond - ((-> self enable-patrol) - (if - (and - (and - *target* - (>= - (-> self enemy-info idle-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) - ) - ) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self state-timeout) - ) + (cond + ((-> self enable-patrol) + (if (and + (and *target* (>= (-> self enemy-info idle-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) + ) + (go-virtual nav-enemy-patrol) + ) ) - (go-virtual nav-enemy-patrol) - ) - ) - ((sharkey-notice-player?) - (when (zero? (logand (-> self nav-enemy-flags) 1)) - (logior! (-> self nav-enemy-flags) 1) - (set! (-> self notice-time) (-> *display* base-frame-counter)) - ) - (let ((a0-4 (dummy-16 (-> self nav) (-> *target* control trans)))) - (when - (or - (and a0-4 (logtest? (-> a0-4 pat) 2)) - (and - (logtest? (-> self draw status) 2) - (>= - (- (-> *display* base-frame-counter) (-> self notice-time)) - (-> self reaction-time) - ) + ((sharkey-notice-player?) + (when (zero? (logand (-> self nav-enemy-flags) 1)) + (logior! (-> self nav-enemy-flags) 1) + (set! (-> self notice-time) (-> *display* base-frame-counter)) + ) + (let ((a0-4 (dummy-16 (-> self nav) (-> *target* control trans)))) + (when (or + (and a0-4 (logtest? (-> a0-4 pat) 2)) + (and + (logtest? (-> self draw status) 2) + (>= (- (-> *display* base-frame-counter) (-> self notice-time)) (-> self reaction-time)) + ) + ) + (sharkey-move-to-attack-position) + (set! (-> self player-in-water) #t) + (go-virtual nav-enemy-chase) + ) ) - ) - (sharkey-move-to-attack-position) - (set! (-> self player-in-water) #t) - (go-virtual nav-enemy-chase) ) + (else + (if (>= (- (-> *display* base-frame-counter) (-> self notice-time)) 3000) + (set! (-> self nav-enemy-flags) (logand -2 (-> self nav-enemy-flags))) + ) + ) ) - ) - (else - (if (>= (- (-> *display* base-frame-counter) (-> self notice-time)) 3000) - (set! (-> self nav-enemy-flags) (logand -2 (-> self nav-enemy-flags))) - ) - ) + (none) ) - (none) - ) :code (behavior () - (ja-channel-push! 1 22) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-channel-push! 1 22) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + ) ) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (until (= (-> self collide-info trans y) (-> self y-min)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-loop! + (let ((v1-5 (-> self skel root-channel 0))) + (set! (-> v1-5 num-func) num-func-identity) + (set! (-> v1-5 frame-num) 0.0) ) - ) - (set! (-> self anim-speed) (seek (-> self anim-speed) 1.0 0.05)) - (set! - (-> self collide-info trans y) - (seek - (-> self collide-info trans y) - (-> self y-min) - (* (-> self y-speed) (-> *display* seconds-per-frame)) + (until (= (-> self collide-info trans y) (-> self y-min)) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) + ) + (set! (-> self anim-speed) (seek (-> self anim-speed) 1.0 0.05)) + (set! (-> self collide-info trans y) + (seek (-> self collide-info trans y) (-> self y-min) (* (-> self y-speed) (-> *display* seconds-per-frame))) + ) + (dummy-10 (-> self water)) + (ja-post) + (suspend) ) - ) - (dummy-10 (-> self water)) - (ja-post) - (suspend) + (logior! (-> self draw status) 2) + (anim-loop) + (none) ) - (logior! (-> self draw status) 2) - (anim-loop) - (none) - ) :post (the-as (function none :behavior sharkey) #f) ) @@ -446,99 +364,64 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior sharkey) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior sharkey) + nav-enemy-default-event-handler + ) :trans (behavior () - (if (sharkey-notice-player?) - (go-virtual nav-enemy-chase) + (if (sharkey-notice-player?) + (go-virtual nav-enemy-chase) + ) + (none) ) - (none) - ) :code (behavior () - (ja-channel-push! 1 22) - (set! (-> self nav target-pos quad) (-> self spawn-point quad)) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - ) - (set! - (-> a0-3 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-channel-push! 1 22) + (set! (-> self nav target-pos quad) (-> self spawn-point quad)) + (while #t + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + ) + (set! (-> a0-3 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-3 param 1) (-> self anim-speed)) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! + a0-3 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + num-func-seek! ) - data - 0 - length - ) - -1 ) - ) - ) - (set! (-> a0-3 param 1) (-> self anim-speed)) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (set! (-> self anim-speed) (seek (-> self anim-speed) 1.0 0.05)) - (cond - ((-> self enable-patrol) - (set! - (-> self collide-info trans y) - (seek - (-> self collide-info trans y) - (-> self y-max) - (* (-> self y-speed) (-> *display* seconds-per-frame)) - ) + (until (ja-done? 0) + (set! (-> self anim-speed) (seek (-> self anim-speed) 1.0 0.05)) + (cond + ((-> self enable-patrol) + (set! (-> self collide-info trans y) + (seek (-> self collide-info trans y) (-> self y-max) (* (-> self y-speed) (-> *display* seconds-per-frame))) + ) + ) + (else + (if (< (- (-> self collide-info trans y) (-> self y-min)) 409.6) + (go-virtual nav-enemy-idle) + ) + ) + ) + (suspend) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) - (else - (if (< (- (-> self collide-info trans y) (-> self y-min)) 409.6) - (go-virtual nav-enemy-idle) - ) - ) ) - (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post - (behavior () - (nav-enemy-travel-post) - (none) - ) + (behavior () (nav-enemy-travel-post) (none)) ) ;; failed to figure out what this is: @@ -546,27 +429,21 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior sharkey) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior sharkey) + nav-enemy-default-event-handler + ) :enter - (behavior () - (go-virtual nav-enemy-chase) - (none) - ) + (behavior () (go-virtual nav-enemy-chase) (none)) :code - (behavior () - (go-virtual nav-enemy-chase) - (none) - ) + (behavior () (go-virtual nav-enemy-chase) (none)) ) ;; definition for function sharkey-follow-trajectory (defbehavior sharkey-follow-trajectory sharkey ((arg0 float)) (let ((gp-0 (-> self jump-trajectory))) - (eval-position! gp-0 arg0 (-> self collide-info trans)) - (eval-velocity! gp-0 arg0 (-> self collide-info transv)) - ) + (eval-position! gp-0 arg0 (-> self collide-info trans)) + (eval-velocity! gp-0 arg0 (-> self collide-info transv)) + ) (vector-normalize-copy! (-> self dir) (-> self collide-info transv) 1.0) (forward-up->quaternion (-> self collide-info quat) (-> self dir) *up-vector*) ) @@ -576,172 +453,98 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior sharkey) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior sharkey) + nav-enemy-default-event-handler + ) :code (behavior () - (let ((gp-0 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'vector)) - ) - (-> *display* base-frame-counter) - (sound-play-by-name - (static-sound-name "bigshark-bite") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> gp-0 quad) (-> self collide-info trans quad)) - (ja-channel-push! 1 30) - (let ((s4-1 (-> self skel root-channel 0))) - (set! - (-> s4-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! (-> s4-1 param 0) (ja-aframe 3.0 0)) - (set! (-> s4-1 param 1) 2.0) - (set! (-> s4-1 frame-num) 0.0) - (joint-control-channel-group! - s4-1 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (sharkey-get-player-position s5-0) - (setup-from-to-duration! - (-> self jump-trajectory) - gp-0 - s5-0 - 3.0 - -291.27112 - ) - (set! (-> self attack-time) (ja-aframe-num 0)) - (sharkey-follow-trajectory (-> self attack-time)) - (suspend) - (let ((s4-2 (-> self skel root-channel 0))) - (set! (-> s4-2 param 0) (ja-aframe 3.0 0)) - (set! (-> s4-2 param 1) 2.0) - (joint-control-channel-group-eval! - s4-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack-invinc) - (set! (-> a1-7 param 0) (the-as uint #f)) - (let ((a0-15 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-15 mode) 'sharkey) - (set! (-> a1-7 param 1) (the-as uint a0-15)) - ) - (when (send-event-function *target* a1-7) - (logclear! (-> self mask) (process-mask enemy)) - (vector-float*! - (-> self collide-info transv) - (-> self collide-info transv) - 8.0 - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((f30-0 -409600.0) - (f28-0 (-> self collide-info transv y)) - (f26-0 (-> self collide-info trans y)) - ) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 900) - (let ((gp-1 (-> self skel root-channel 0))) - (set! - (-> gp-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> gp-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) + (let ((gp-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'vector)) ) - ) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 3.0 0)) - (joint-control-channel-group! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) + (-> *display* base-frame-counter) + (sound-play-by-name (static-sound-name "bigshark-bite") (new-sound-id) 1024 0 0 1 #t) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> gp-0 quad) (-> self collide-info trans quad)) + (ja-channel-push! 1 30) + (let ((s4-1 (-> self skel root-channel 0))) + (set! (-> s4-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> s4-1 param 0) (ja-aframe 3.0 0)) + (set! (-> s4-1 param 1) 2.0) + (set! (-> s4-1 frame-num) 0.0) + (joint-control-channel-group! s4-1 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - (until (ja-done? 0) - (+! f28-0 (* f30-0 (-> *display* seconds-per-frame))) - (+! f26-0 (* f28-0 (-> *display* seconds-per-frame))) - (set! (-> self collide-info transv y) f28-0) - (when (< (-> self collide-info trans y) (-> self water height)) - (set! f28-0 (* 0.9 f28-0)) - (vector-float*! - (-> self collide-info transv) - (-> self collide-info transv) - 0.9 - ) - ) - (vector-normalize-copy! (-> self dir) (-> self collide-info transv) 1.0) - (forward-up->quaternion - (-> self collide-info quat) - (-> self dir) - *up-vector* - ) - (dummy-59 - (-> self collide-info) - (-> self collide-info transv) - (the-as uint 1) - 8192.0 - #t - #f - #f - ) - (set! (-> self collide-info trans y) f26-0) + (until (ja-done? 0) + (sharkey-get-player-position s5-0) + (setup-from-to-duration! (-> self jump-trajectory) gp-0 s5-0 3.0 -291.27112) + (set! (-> self attack-time) (ja-aframe-num 0)) + (sharkey-follow-trajectory (-> self attack-time)) (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! - (-> a0-27 param 0) - (the float (+ (-> a0-27 frame-group data 0 length) -1)) + (let ((s4-2 (-> self skel root-channel 0))) + (set! (-> s4-2 param 0) (ja-aframe 3.0 0)) + (set! (-> s4-2 param 1) 2.0) + (joint-control-channel-group-eval! s4-2 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group-eval! - a0-27 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - ) ) - (send-event *target* 'end-mode) - (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) - ) + (let ((a1-7 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-7 from) self) + (set! (-> a1-7 num-params) 2) + (set! (-> a1-7 message) 'attack-invinc) + (set! (-> a1-7 param 0) (the-as uint #f)) + (let ((a0-15 (new 'static 'attack-info :mask #x20))) + (set! (-> a0-15 mode) 'sharkey) + (set! (-> a1-7 param 1) (the-as uint a0-15)) + ) + (when (send-event-function *target* a1-7) + (logclear! (-> self mask) (process-mask enemy)) + (vector-float*! (-> self collide-info transv) (-> self collide-info transv) 8.0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((f30-0 -409600.0) + (f28-0 (-> self collide-info transv y)) + (f26-0 (-> self collide-info trans y)) + ) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 900) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> gp-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> gp-1 param 1) 1.0) + (set! (-> gp-1 frame-num) (ja-aframe 3.0 0)) + (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (+! f28-0 (* f30-0 (-> *display* seconds-per-frame))) + (+! f26-0 (* f28-0 (-> *display* seconds-per-frame))) + (set! (-> self collide-info transv y) f28-0) + (when (< (-> self collide-info trans y) (-> self water height)) + (set! f28-0 (* 0.9 f28-0)) + (vector-float*! (-> self collide-info transv) (-> self collide-info transv) 0.9) + ) + (vector-normalize-copy! (-> self dir) (-> self collide-info transv) 1.0) + (forward-up->quaternion (-> self collide-info quat) (-> self dir) *up-vector*) + (dummy-59 (-> self collide-info) (-> self collide-info transv) (the-as uint 1) 8192.0 #t #f #f) + (set! (-> self collide-info trans y) f26-0) + (suspend) + (let ((a0-27 (-> self skel root-channel 0))) + (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) + (set! (-> a0-27 param 1) 1.0) + (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (send-event *target* 'end-mode) + (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) + ) + ) + (sharkey-reset-position) + (logior! (-> self draw status) 2) + (go-virtual nav-enemy-idle) + (none) ) - (sharkey-reset-position) - (logior! (-> self draw status) 2) - (go-virtual nav-enemy-idle) - (none) - ) :post - (behavior () - (nav-enemy-simple-post) - (none) - ) + (behavior () (nav-enemy-simple-post) (none)) ) ;; failed to figure out what this is: @@ -749,199 +552,116 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior sharkey) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior sharkey) + nav-enemy-default-event-handler + ) :exit - (behavior () - (sound-stop (-> self sound-id)) - (none) - ) + (behavior () (sound-stop (-> self sound-id)) (none)) :trans (behavior () - (if (not *target*) - (go-virtual nav-enemy-patrol) - ) - (let ((gp-0 (-> *target* control trans))) - (let - ((s5-0 - (nav-enemy-test-point-near-nav-mesh? (-> *target* control shadow-pos)) - ) - (s4-0 'racer) - (a1-0 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'mode)) - (if (or (= s4-0 (send-event-function *target* a1-0)) (not s5-0)) - (go-virtual nav-enemy-patrol) - ) - ) - (when (logtest? (-> *target* control status) 2) - (set! - (-> self player-in-water) - (logtest? (-> *target* control status) 1024) - ) - (if (-> self player-in-water) - (set! - (-> self player-water-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - (if - (and - *target* - (>= - 8192.0 - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) + (if (not *target*) + (go-virtual nav-enemy-patrol) ) - ) - ) - (go-virtual nav-enemy-attack) - ) - (cond - ((-> self player-in-water) - (set! (-> self free-time) (-> *display* base-frame-counter)) - (if - (and - (< (fabs (- (-> gp-0 y) (-> self collide-info trans y))) 40960.0) - (< - (vector-vector-xz-distance gp-0 (-> self collide-info trans)) - 24576.0 + (let ((gp-0 (-> *target* control trans))) + (let ((s5-0 (nav-enemy-test-point-near-nav-mesh? (-> *target* control shadow-pos))) + (s4-0 'racer) + (a1-0 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'mode)) + (if (or (= s4-0 (send-event-function *target* a1-0)) (not s5-0)) + (go-virtual nav-enemy-patrol) + ) + ) + (when (logtest? (-> *target* control status) 2) + (set! (-> self player-in-water) (logtest? (-> *target* control status) 1024)) + (if (-> self player-in-water) + (set! (-> self player-water-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + (if (and *target* (>= 8192.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) + (go-virtual nav-enemy-attack) + ) + (cond + ((-> self player-in-water) + (set! (-> self free-time) (-> *display* base-frame-counter)) + (if (and + (< (fabs (- (-> gp-0 y) (-> self collide-info trans y))) 40960.0) + (< (vector-vector-xz-distance gp-0 (-> self collide-info trans)) 24576.0) + ) + (go-virtual nav-enemy-attack) + ) ) + (else + (if (>= (- (-> *display* base-frame-counter) (-> self free-time)) 900) + (go-virtual nav-enemy-patrol) + ) + ) ) - (go-virtual nav-enemy-attack) - ) ) - (else - (if (>= (- (-> *display* base-frame-counter) (-> self free-time)) 900) - (go-virtual nav-enemy-patrol) - ) + (let ((a0-10 (-> self nav target-poly))) + (if (and a0-10 (logtest? (-> a0-10 pat) 2)) + (set! (-> self target-speed) (* 2.0 (-> self chase-speed))) + (set! (-> self target-speed) (-> self chase-speed)) + ) ) - ) + (none) ) - (let ((a0-10 (-> self nav target-poly))) - (if (and a0-10 (logtest? (-> a0-10 pat) 2)) - (set! (-> self target-speed) (* 2.0 (-> self chase-speed))) - (set! (-> self target-speed) (-> self chase-speed)) - ) - ) - (none) - ) :code (behavior () - (set! - (-> self player-water-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (ja-channel-push! 1 51) - (sound-play-by-name - (static-sound-name "bigshark-idle") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - ) - (set! - (-> a0-3 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) + (set! (-> self player-water-time) (the-as uint (-> *display* base-frame-counter))) + (ja-channel-push! 1 51) + (sound-play-by-name (static-sound-name "bigshark-idle") (new-sound-id) 1024 0 0 1 #t) + (while #t + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) + (set! (-> a0-3 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-3 param 1) (-> self anim-speed)) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! + a0-3 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (set! (-> self anim-speed) (seek (-> self anim-speed) 1.0 (* 3.0 (-> *display* seconds-per-frame)))) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) ) - data - 0 - length - ) - -1 ) - ) ) - (set! (-> a0-3 param 1) (-> self anim-speed)) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (set! - (-> self anim-speed) - (seek (-> self anim-speed) 1.0 (* 3.0 (-> *display* seconds-per-frame))) - ) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (behavior () - (sharkey-get-player-position (-> self nav target-pos)) - (nav-enemy-travel-post) - (let* - ((f3-0 - (vector-vector-distance - (-> self collide-info trans) - (-> self nav target-pos) - ) - ) - (f1-2 - (fmax - 0.0 - (fmin - 1.0 - (- 1.0 (/ (+ -24576.0 f3-0) (+ -24576.0 (-> self spawn-distance)))) + (sharkey-get-player-position (-> self nav target-pos)) + (nav-enemy-travel-post) + (let* ((f3-0 (vector-vector-distance (-> self collide-info trans) (-> self nav target-pos))) + (f1-2 (fmax 0.0 (fmin 1.0 (- 1.0 (/ (+ -24576.0 f3-0) (+ -24576.0 (-> self spawn-distance))))))) + (f0-2 (+ 0.5 (* 1.5 f1-2))) + ) + (sound-play-by-name + (static-sound-name "bigshark-alert") + (-> self sound-id) + 1024 + (the int (* 1524.0 f0-2)) + 0 + 1 + (the-as symbol (-> self collide-info trans)) ) - ) ) - (f0-2 (+ 0.5 (* 1.5 f1-2))) - ) - (sound-play-by-name - (static-sound-name "bigshark-alert") - (-> self sound-id) - 1024 - (the int (* 1524.0 f0-2)) - 0 - 1 - (the-as symbol (-> self collide-info trans)) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -949,77 +669,45 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior sharkey) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior sharkey) + nav-enemy-default-event-handler + ) :code (behavior () - (ja-channel-push! 1 51) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) + (ja-channel-push! 1 51) + (while #t + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + ) + (set! (-> a0-1 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-1 param 1) (-> self anim-speed)) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! + a0-1 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (set! (-> self anim-speed) (seek (-> self anim-speed) 1.0 0.05)) + (set! (-> self collide-info trans y) + (seek (-> self collide-info trans y) (-> self y-max) (* (-> self y-speed) (-> *display* seconds-per-frame))) + ) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - data - 0 - length - ) - -1 ) - ) ) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (set! (-> self anim-speed) (seek (-> self anim-speed) 1.0 0.05)) - (set! - (-> self collide-info trans y) - (seek - (-> self collide-info trans y) - (-> self y-max) - (* (-> self y-speed) (-> *display* seconds-per-frame)) - ) - ) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -1027,61 +715,44 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior sharkey) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior sharkey) + nav-enemy-default-event-handler + ) :trans (behavior () - (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) - (go-virtual nav-enemy-chase) + (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) + (go-virtual nav-enemy-chase) + ) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) + (go-virtual nav-enemy-patrol) + ) + (none) ) - (if - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self state-timeout) - ) - (go-virtual nav-enemy-patrol) - ) - (none) - ) :code (behavior () - (ja-channel-push! 1 51) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-channel-push! 1 51) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + ) ) - ) - ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-loop! + (let ((v1-5 (-> self skel root-channel 0))) + (set! (-> v1-5 num-func) num-func-identity) + (set! (-> v1-5 frame-num) 0.0) ) - ) - (set! (-> self anim-speed) (seek (-> self anim-speed) 1.0 0.05)) - (set! - (-> self collide-info trans y) - (seek - (-> self collide-info trans y) - (-> self y-max) - (* (-> self y-speed) (-> *display* seconds-per-frame)) + (while #t + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) + ) + (set! (-> self anim-speed) (seek (-> self anim-speed) 1.0 0.05)) + (set! (-> self collide-info trans y) + (seek (-> self collide-info trans y) (-> self y-max) (* (-> self y-speed) (-> *display* seconds-per-frame))) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -1089,165 +760,127 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior sharkey) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior sharkey) + nav-enemy-default-event-handler + ) :code (behavior () - (ja-channel-push! 1 22) - (dotimes (gp-0 3) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info victory-anim)) - ) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info victory-anim)) + (ja-channel-push! 1 22) + (dotimes (gp-0 3) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) + ) + (set! (-> a0-1 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) + -1 + ) + ) + ) + (set! (-> a0-1 param 1) (-> self anim-speed)) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! + a0-1 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - data - 0 - length - ) - -1 ) - ) ) - (set! (-> a0-1 param 1) (-> self anim-speed)) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info victory-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (go-virtual nav-enemy-stare) + (none) ) - (go-virtual nav-enemy-stare) - (none) - ) ) ;; definition for symbol *sharkey-nav-enemy-info*, type nav-enemy-info -(define - *sharkey-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 2 - :walk-anim 2 - :turn-anim -1 - :notice-anim 2 - :run-anim 2 - :jump-anim -1 - :jump-land-anim -1 - :victory-anim 2 - :taunt-anim 2 - :die-anim 2 - :neck-joint -1 - :player-look-at-joint 5 - :run-travel-speed (meters 12.0) - :run-rotate-speed (degrees 1999.9999) - :run-acceleration (meters 6.0) - :run-turn-time (seconds 0.5) - :walk-travel-speed (meters 6.0) - :walk-rotate-speed (degrees 1999.9999) - :walk-acceleration (meters 6.0) - :walk-turn-time (seconds 0.5) - :attack-shove-back (meters 1.0) - :attack-shove-up (meters 0.5) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 3.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 500.0) - :stop-chase-distance (meters 510.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 10000000000.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #f - :move-to-ground #f - :hover-if-no-ground #f - :use-momentum #t - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *sharkey-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 2 + :walk-anim 2 + :turn-anim -1 + :notice-anim 2 + :run-anim 2 + :jump-anim -1 + :jump-land-anim -1 + :victory-anim 2 + :taunt-anim 2 + :die-anim 2 + :neck-joint -1 + :player-look-at-joint 5 + :run-travel-speed (meters 12.0) + :run-rotate-speed (degrees 1999.9999) + :run-acceleration (meters 6.0) + :run-turn-time (seconds 0.5) + :walk-travel-speed (meters 6.0) + :walk-rotate-speed (degrees 1999.9999) + :walk-acceleration (meters 6.0) + :walk-turn-time (seconds 0.5) + :attack-shove-back (meters 1.0) + :attack-shove-up (meters 0.5) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 3.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 500.0) + :stop-chase-distance (meters 510.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 10000000000.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #f + :move-to-ground #f + :hover-if-no-ground #f + :use-momentum #t + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 11 of type sharkey ;; INFO: Return type mismatch object vs none. ;; Used lq/sq (defmethod init-from-entity! sharkey ((obj sharkey) (arg0 entity-actor)) (set! (-> obj scale) (res-lump-float arg0 'scale :default 1.0)) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core offense) 2) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 (* 6144.0 (-> obj scale))) + (set-root-prim! s4-0 s3-0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj collide-info) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core offense) 2) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 (* 6144.0 (-> obj scale))) - (set-root-prim! s4-0 s3-0) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj collide-info) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *sharkey-sg* '()) (TODO-RENAME-45 obj *sharkey-nav-enemy-info*) (logclear! (-> obj mask) (process-mask actor-pause)) - (set! - (-> obj water) - (new 'process 'water-control obj 3 12288.0 8192.0 2048.0) - ) + (set! (-> obj water) (new 'process 'water-control obj 3 12288.0 8192.0 2048.0)) (set! (-> obj water flags) (the-as uint #xc00002)) (set! (-> obj water height) (res-lump-float (-> obj entity) 'water-height)) (set! (-> obj water ripple-size) 20480.0) @@ -1258,25 +891,10 @@ nav-enemy-default-event-handler (set! (-> obj y-min) (+ -49152.0 (-> obj y-max))) (set! (-> obj collide-info trans y) (-> obj y-min)) (set! (-> obj anim-speed) 1.0) - (set-vector! - (-> obj collide-info scale) - (-> obj scale) - (-> obj scale) - (-> obj scale) - 1.0 - ) - (set! - (-> obj reaction-time) - (the int (* 300.0 (res-lump-float (-> obj entity) 'delay :default 1.0))) - ) - (set! - (-> obj spawn-distance) - (res-lump-float (-> obj entity) 'distance :default 122880.0) - ) - (set! - (-> obj chase-speed) - (res-lump-float (-> obj entity) 'speed :default 49152.0) - ) + (set-vector! (-> obj collide-info scale) (-> obj scale) (-> obj scale) (-> obj scale) 1.0) + (set! (-> obj reaction-time) (the int (* 300.0 (res-lump-float (-> obj entity) 'delay :default 1.0)))) + (set! (-> obj spawn-distance) (res-lump-float (-> obj entity) 'distance :default 122880.0)) + (set! (-> obj chase-speed) (res-lump-float (-> obj entity) 'speed :default 49152.0)) (set! (-> obj y-speed) (-> obj chase-speed)) (set! (-> obj enable-patrol) #f) (set! (-> obj sound-id) (new-sound-id)) diff --git a/test/decompiler/reference/levels/common/static-screen_REF.gc b/test/decompiler/reference/levels/common/static-screen_REF.gc index f0bb090998..7e55b92ee2 100644 --- a/test/decompiler/reference/levels/common/static-screen_REF.gc +++ b/test/decompiler/reference/levels/common/static-screen_REF.gc @@ -18,8 +18,8 @@ ;; definition for method 3 of type static-screen (defmethod inspect static-screen ((obj static-screen)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpart[1] @ #x~X~%" (-> obj stack)) (format #t "~T~Tstate-time: ~D~%" (-> obj state-time)) obj @@ -29,252 +29,174 @@ ;; INFO: Return type mismatch process vs static-screen. (defmethod relocate static-screen ((obj static-screen) (arg0 int)) (let ((v1-0 *kernel-context*)) - (set! (-> v1-0 relocating-process) obj) - (set! (-> v1-0 relocating-min) (the-as int (&-> obj type))) - (set! - (-> v1-0 relocating-max) - (the-as - int - (+ (+ (-> obj allocated-length) -4 (-> process size)) (the-as int obj)) - ) + (set! (-> v1-0 relocating-process) obj) + (set! (-> v1-0 relocating-min) (the-as int (&-> obj type))) + (set! (-> v1-0 relocating-max) + (the-as int (+ (+ (-> obj allocated-length) -4 (-> process size)) (the-as int obj))) + ) + (set! (-> v1-0 relocating-offset) arg0) ) - (set! (-> v1-0 relocating-offset) arg0) - ) (dotimes (v1-2 1) - (if (nonzero? (-> obj part v1-2)) - (&+! (-> obj part v1-2) arg0) + (if (nonzero? (-> obj part v1-2)) + (&+! (-> obj part v1-2) arg0) + ) ) - ) (the-as static-screen ((method-of-type process relocate) obj arg0)) ) ;; definition for method 10 of type static-screen (defmethod deactivate static-screen ((obj static-screen)) (dotimes (s5-0 1) - (if (nonzero? (-> obj part s5-0)) - (kill-and-free-particles (-> obj part s5-0)) + (if (nonzero? (-> obj part s5-0)) + (kill-and-free-particles (-> obj part s5-0)) + ) ) - ) ((method-of-type process deactivate) obj) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2966) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :page #x5c6)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 1.18)) - (sp-flt spt-scale-x (meters 15.0)) - (sp-flt spt-scale-y (meters 6.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2966) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :page #x5c6)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1.18)) + (sp-flt spt-scale-x (meters 15.0)) + (sp-flt spt-scale-y (meters 6.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2967) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x5c6)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -1.264)) - (sp-flt spt-scale-x (meters 15.0)) - (sp-flt spt-scale-y (meters 3.25)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2967) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x5c6)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -1.264)) + (sp-flt spt-scale-x (meters 15.0)) + (sp-flt spt-scale-y (meters 3.25)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2968) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x5c6)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -2.482)) - (sp-flt spt-scale-x (meters 15.0)) - (sp-flt spt-scale-y (meters 1.625)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9 bit13) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2968) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x5c6)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -2.482)) + (sp-flt spt-scale-x (meters 15.0)) + (sp-flt spt-scale-y (meters 1.625)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9 bit13) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 707) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-screen1" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2966 :flags (launch-asap)) - (sp-item 2967 :flags (launch-asap)) - (sp-item 2968 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 4096.0) - ) - ) +(set! (-> *part-group-id-table* 707) (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-screen1" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 2966 :flags (launch-asap)) + (sp-item 2967 :flags (launch-asap)) + (sp-item 2968 :flags (launch-asap)) + ) + :bounds (new 'static 'sphere :w 4096.0) + ) + ) ;; failed to figure out what this is: (defstate idle (static-screen) :virtual #t :enter (behavior ((arg0 int) (arg1 int) (arg2 symbol)) - (set! (-> *setting-control* current bg-a) 1.0) - (set! (-> *setting-control* default bg-a) 0.0) - (push-setting! - *setting-control* - self - 'common-page - 'set - 0.0 - (ash 1 (+ arg0 1)) + (set! (-> *setting-control* current bg-a) 1.0) + (set! (-> *setting-control* default bg-a) 0.0) + (push-setting! *setting-control* self 'common-page 'set 0.0 (ash 1 (+ arg0 1))) + (none) ) - (none) - ) :trans - (behavior () - (hide-hud-quick) - (spawn (-> self part 0) *zero-vector*) - 0 - (none) - ) + (behavior () (hide-hud-quick) (spawn (-> self part 0) *zero-vector*) 0 (none)) :code (behavior ((arg0 int) (arg1 int) (arg2 symbol)) - (local-vars (v1-6 symbol)) - (set! (-> self state-time) (the-as uint (-> *display* base-frame-counter))) - (until v1-6 - (suspend) - (set! - v1-6 - (or - (and - (> arg1 0) - (>= - (- (-> *display* base-frame-counter) (the-as int (-> self state-time))) - arg1 - ) - ) - (and - arg2 - (>= - (- (-> *display* base-frame-counter) (the-as int (-> self state-time))) - 300 - ) - (cpad-pressed? 0 select start triangle circle x square) - ) + (local-vars (v1-6 symbol)) + (set! (-> self state-time) (the-as uint (-> *display* base-frame-counter))) + (until v1-6 + (suspend) + (set! v1-6 + (or + (and (> arg1 0) (>= (- (-> *display* base-frame-counter) (the-as int (-> self state-time))) arg1)) + (and + arg2 + (>= (- (-> *display* base-frame-counter) (the-as int (-> self state-time))) 300) + (cpad-pressed? 0 select start triangle circle x square) + ) + ) + ) ) - ) - ) - (set! (-> *setting-control* default bg-a) 1.0) - (while - (!= (-> *setting-control* current bg-a) (-> *setting-control* default bg-a)) + (set! (-> *setting-control* default bg-a) 1.0) + (while (!= (-> *setting-control* current bg-a) (-> *setting-control* default bg-a)) + (suspend) + ) + (clear-pending-settings-from-process *setting-control* self 'common-page) (suspend) + 0 + (none) ) - (clear-pending-settings-from-process *setting-control* self 'common-page) - (suspend) - 0 - (none) - ) ) ;; definition for function static-screen-init-by-other ;; INFO: Return type mismatch int vs none. -(defbehavior - static-screen-init-by-other static-screen - ((arg0 int) (arg1 int) (arg2 int) (arg3 int) (arg4 int) (arg5 symbol)) +(defbehavior static-screen-init-by-other static-screen ((arg0 int) (arg1 int) (arg2 int) (arg3 int) (arg4 int) (arg5 symbol)) (let ((s3-0 (lookup-part-group-by-name "group-part-screen1"))) - (when - (and - s3-0 - (nonzero? s3-0) - (type-type? (-> s3-0 type) sparticle-launch-group) - ) - (set! - (-> *part-id-table* 2966 init-specs 0 initial-valuef) - (the-as float arg1) - ) - (set! - (-> *part-id-table* 2967 init-specs 0 initial-valuef) - (the-as float arg2) - ) - (set! - (-> *part-id-table* 2968 init-specs 0 initial-valuef) - (the-as float arg3) - ) - (set! - (-> self part 0) - (create-launch-control (the-as sparticle-launch-group s3-0) self) - ) - (go-virtual idle arg0 arg4 arg5) + (when (and s3-0 (nonzero? s3-0) (type-type? (-> s3-0 type) sparticle-launch-group)) + (set! (-> *part-id-table* 2966 init-specs 0 initial-valuef) (the-as float arg1)) + (set! (-> *part-id-table* 2967 init-specs 0 initial-valuef) (the-as float arg2)) + (set! (-> *part-id-table* 2968 init-specs 0 initial-valuef) (the-as float arg3)) + (set! (-> self part 0) (create-launch-control (the-as sparticle-launch-group s3-0) self)) + (go-virtual idle arg0 arg4 arg5) + ) ) - ) 0 (none) ) ;; definition for function static-screen-spawn ;; Used lq/sq -(defun - static-screen-spawn - ((arg0 int) - (arg1 int) - (arg2 int) - (arg3 int) - (arg4 int) - (arg5 symbol) - (arg6 target) - ) +(defun static-screen-spawn ((arg0 int) (arg1 int) (arg2 int) (arg3 int) (arg4 int) (arg5 symbol) (arg6 target)) (local-vars (sv-16 process)) (set! sv-16 (get-process *default-dead-pool* static-screen #x4000)) (when sv-16 - (let ((t9-1 (method-of-type static-screen activate))) - (t9-1 - (the-as static-screen sv-16) - arg6 - 'static-screen - (the-as pointer #x70004000) - ) + (let ((t9-1 (method-of-type static-screen activate))) + (t9-1 (the-as static-screen sv-16) arg6 'static-screen (the-as pointer #x70004000)) + ) + (run-now-in-process sv-16 static-screen-init-by-other arg0 arg1 arg2 arg3 arg4 arg5) + (-> sv-16 ppointer) ) - (run-now-in-process - sv-16 - static-screen-init-by-other - arg0 - arg1 - arg2 - arg3 - arg4 - arg5 - ) - (-> sv-16 ppointer) - ) ) diff --git a/test/decompiler/reference/levels/common/ticky_REF.gc b/test/decompiler/reference/levels/common/ticky_REF.gc index 8a5513ea8f..84acd17560 100644 --- a/test/decompiler/reference/levels/common/ticky_REF.gc +++ b/test/decompiler/reference/levels/common/ticky_REF.gc @@ -33,10 +33,7 @@ (defmethod sleep ticky ((obj ticky) (arg0 uint)) (set! (-> obj starting-time) (-> *display* base-frame-counter)) (set! (-> obj delay-til-timeout) (the-as int arg0)) - (set! - (-> obj delay-til-ramp) - (the-as int (max 0 (the-as int (+ arg0 -1200)))) - ) + (set! (-> obj delay-til-ramp) (the-as int (max 0 (the-as int (+ arg0 -1200))))) (set! (-> obj last-tick-time) 0) 0 (none) @@ -45,49 +42,32 @@ ;; definition for method 11 of type ticky (defmethod completed? ticky ((obj ticky)) (let ((gp-0 #f)) - (let ((v1-2 (- (-> *display* base-frame-counter) (-> obj starting-time)))) - (cond - ((>= v1-2 (-> obj delay-til-timeout)) - (set! gp-0 #t) - ) - (else - (let* - ((f0-1 - (fmin - 1.0 - (/ - (the float (max 0 (- v1-2 (-> obj delay-til-ramp)))) - (the float (- (-> obj delay-til-timeout) (-> obj delay-til-ramp))) - ) + (let ((v1-2 (- (-> *display* base-frame-counter) (-> obj starting-time)))) + (cond + ((>= v1-2 (-> obj delay-til-timeout)) + (set! gp-0 #t) + ) + (else + (let* ((f0-1 (fmin 1.0 (/ (the float (max 0 (- v1-2 (-> obj delay-til-ramp)))) + (the float (- (-> obj delay-til-timeout) (-> obj delay-til-ramp))) + ) + ) + ) + (v1-7 (the int (lerp 105.0 41.0 f0-1))) + ) + (when (>= (- (-> *display* base-frame-counter) (-> obj last-tick-time)) v1-7) + (set! (-> obj last-tick-time) (-> *display* base-frame-counter)) + (sound-play-by-name (static-sound-name "stopwatch") (new-sound-id) 1024 0 0 1 #t) + ) + ) ) - ) - (v1-7 (the int (lerp 105.0 41.0 f0-1))) ) - (when - (>= (- (-> *display* base-frame-counter) (-> obj last-tick-time)) v1-7) - (set! (-> obj last-tick-time) (-> *display* base-frame-counter)) - (sound-play-by-name - (static-sound-name "stopwatch") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - ) ) - ) + gp-0 ) - gp-0 - ) ) ;; definition for method 10 of type ticky (defmethod reached-delay? ticky ((obj ticky) (arg0 uint)) - (>= - (- (-> *display* base-frame-counter) (-> obj starting-time)) - (the-as int arg0) - ) + (>= (- (-> *display* base-frame-counter) (-> obj starting-time)) (the-as int arg0)) ) diff --git a/test/decompiler/reference/levels/common/tippy_REF.gc b/test/decompiler/reference/levels/common/tippy_REF.gc index a1b60be822..41e0d0db57 100644 --- a/test/decompiler/reference/levels/common/tippy_REF.gc +++ b/test/decompiler/reference/levels/common/tippy_REF.gc @@ -33,10 +33,7 @@ ;; definition for method 9 of type tippy ;; INFO: Return type mismatch int vs none. -(defmethod - reset! - tippy - ((obj tippy) (arg0 process-drawable) (arg1 float) (arg2 float)) +(defmethod reset! tippy ((obj tippy) (arg0 process-drawable) (arg1 float) (arg2 float)) (set-vector! (-> obj axis) 0.0 0.0 0.0 1.0) (set! (-> obj angle) 0.0) (quaternion-copy! (-> obj orig) (-> arg0 root quat)) @@ -48,59 +45,37 @@ ) ;; definition for method 10 of type tippy -(defmethod - TODO-RENAME-10 - tippy - ((obj tippy) (arg0 process-drawable) (arg1 vector)) +(defmethod TODO-RENAME-10 tippy ((obj tippy) (arg0 process-drawable) (arg1 vector)) (let ((s4-0 #t)) - (cond - (arg1 - (let ((s3-0 (new 'stack-no-clear 'vector))) - 0.0 - (set! (-> s3-0 x) (- (-> arg1 z) (-> arg0 root trans z))) - (set! (-> s3-0 y) 0.0) - (set! (-> s3-0 z) (- (-> arg0 root trans x) (-> arg1 x))) - (let ((f0-6 (vector-length s3-0))) - (vector-float*! s3-0 s3-0 (/ 1.0 f0-6)) - (let ((f30-0 (* f0-6 (-> obj dist-ratio)))) - (set! - (-> obj axis x) - (+ - (* (-> obj 1-damping) (-> obj axis x)) - (* (-> obj damping) (-> s3-0 x)) + (cond + (arg1 + (let ((s3-0 (new 'stack-no-clear 'vector))) + 0.0 + (set! (-> s3-0 x) (- (-> arg1 z) (-> arg0 root trans z))) + (set! (-> s3-0 y) 0.0) + (set! (-> s3-0 z) (- (-> arg0 root trans x) (-> arg1 x))) + (let ((f0-6 (vector-length s3-0))) + (vector-float*! s3-0 s3-0 (/ 1.0 f0-6)) + (let ((f30-0 (* f0-6 (-> obj dist-ratio)))) + (set! (-> obj axis x) (+ (* (-> obj 1-damping) (-> obj axis x)) (* (-> obj damping) (-> s3-0 x)))) + (set! (-> obj axis y) 0.0) + (set! (-> obj axis z) (+ (* (-> obj 1-damping) (-> obj axis z)) (* (-> obj damping) (-> s3-0 z)))) + (vector-normalize! (-> obj axis) 1.0) + (set! (-> obj angle) (+ (* (-> obj 1-damping) (-> obj angle)) (* (-> obj damping) f30-0))) + ) + ) + ) + ) + (else + (set! (-> obj angle) (* (-> obj 1-damping) (-> obj angle))) + (when (< (-> obj angle) 182.04445) + (set! (-> obj angle) 0.0) + (set! s4-0 #f) ) - ) - (set! (-> obj axis y) 0.0) - (set! - (-> obj axis z) - (+ - (* (-> obj 1-damping) (-> obj axis z)) - (* (-> obj damping) (-> s3-0 z)) - ) - ) - (vector-normalize! (-> obj axis) 1.0) - (set! - (-> obj angle) - (+ (* (-> obj 1-damping) (-> obj angle)) (* (-> obj damping) f30-0)) - ) ) - ) ) - ) - (else - (set! (-> obj angle) (* (-> obj 1-damping) (-> obj angle))) - (when (< (-> obj angle) 182.04445) - (set! (-> obj angle) 0.0) - (set! s4-0 #f) - ) - ) + (quaternion-vector-angle! (-> arg0 root quat) (-> obj axis) (-> obj angle)) + (quaternion*! (-> arg0 root quat) (-> arg0 root quat) (-> obj orig)) + s4-0 ) - (quaternion-vector-angle! (-> arg0 root quat) (-> obj axis) (-> obj angle)) - (quaternion*! (-> arg0 root quat) (-> arg0 root quat) (-> obj orig)) - s4-0 - ) ) - - - - diff --git a/test/decompiler/reference/levels/common/water-anim_REF.gc b/test/decompiler/reference/levels/common/water-anim_REF.gc index 7d62178c3f..654281fee1 100644 --- a/test/decompiler/reference/levels/common/water-anim_REF.gc +++ b/test/decompiler/reference/levels/common/water-anim_REF.gc @@ -16,8 +16,8 @@ ;; definition for method 3 of type water-anim (defmethod inspect water-anim ((obj water-anim)) (let ((t9-0 (method-of-type water-vol inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tlook: ~D~%" (-> obj look)) (format #t "~T~Tplay-ambient-sound?: ~A~%" (-> obj play-ambient-sound?)) obj @@ -479,485 +479,441 @@ (define *water-anim-look* (the-as (array water-anim-look) - (new - 'static - 'boxed-array - :type water-anim-look :length 48 :allocated-length 48 - (new 'static 'water-anim-look - :skel-group '*water-anim-sunken-big-room-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 70 - :fo-max 80 + (new + 'static + 'boxed-array + :type water-anim-look :length 48 :allocated-length 48 + (new 'static 'water-anim-look + :skel-group '*water-anim-sunken-big-room-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 70 + :fo-max 80 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-first-room-from-entrance-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 50 + :fo-max 60 + ) + ) + (new 'static 'water-anim-look + :skel-group '*water-anim-sunken-qbert-room-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 48 + :fo-max 58 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-first-right-branch-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 30 + :fo-max 40 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-circular-with-bullys-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 15 + :fo-max 25 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-hall-with-one-whirlpool-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 27 + :fo-max 37 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-hall-with-three-whirlpools-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 26 + :fo-max 36 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-start-of-helix-slide-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 25 + :fo-max 35 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-room-above-exit-chamber-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 45 + :fo-max 55 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-hall-before-big-room-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 20 + :fo-max 30 + ) + ) + (new 'static 'water-anim-look + :skel-group '*water-anim-sunken-dark-eco-qbert-sg* + :anim 6 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "darkeco-pool") + :volume #x400 + :fo-min 40 + :fo-max 50 + ) + ) + (new 'static 'water-anim-look + :skel-group '*water-anim-sunken-short-piece-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 20 + :fo-max 30 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-big-room-upper-water-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "water-loop") + :volume #x400 + :fo-min 27 + :fo-max 37 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-dark-eco-platform-room-sg* + :anim 6 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "darkeco-pool") + :volume #x400 + :fo-min 22 + :fo-max 32 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-maincave-water-with-crystal-sg* + :anim 2 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look + :skel-group '*water-anim-maincave-center-pool-sg* + :anim 10 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "darkeco-pool") + :volume #x400 + :fo-min 70 + :fo-max 80 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-maincave-lower-right-pool-sg* + :anim 10 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "darkeco-pool") + :volume #x400 + :fo-min 40 + :fo-max 50 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-maincave-mid-right-pool-sg* + :anim 10 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "darkeco-pool") + :volume #x400 + :fo-min 37 + :fo-max 47 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-maincave-lower-left-pool-sg* + :anim 10 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "darkeco-pool") + :volume #x400 + :fo-min 20 + :fo-max 30 + ) + ) + (new 'static 'water-anim-look + :skel-group '*water-anim-maincave-mid-left-pool-sg* + :anim 10 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "darkeco-pool") + :volume #x400 + :fo-min 51 + :fo-max 61 + ) + ) + (new 'static 'water-anim-look + :skel-group '*water-anim-robocave-main-pool-sg* + :anim 3 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "darkeco-pool") + :volume #x400 + :fo-min 54 + :fo-max 64 + ) + ) + (new 'static 'water-anim-look :skel-group '*water-anim-misty-mud-by-arena-sg* :anim 24 :ambient-sound-spec #f) + (new 'static 'water-anim-look + :skel-group + '*water-anim-misty-mud-above-skeleton-sg* + :anim 24 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-misty-mud-behind-skeleton-sg* + :anim 24 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-misty-mud-above-skull-back-sg* + :anim 24 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-misty-mud-above-skull-front-sg* + :anim 24 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-misty-mud-other-near-skull-sg* + :anim 24 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look + :skel-group '*water-anim-misty-mud-near-skull-sg* + :anim 24 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look + :skel-group '*water-anim-misty-mud-under-spine-sg* + :anim 24 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look :skel-group '*water-anim-misty-mud-by-dock-sg* :anim 24 :ambient-sound-spec #f) + (new 'static 'water-anim-look + :skel-group + '*water-anim-misty-mud-island-near-dock-sg* + :anim 24 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-misty-mud-lonely-island-sg* + :anim 24 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look + :skel-group '*water-anim-misty-dark-eco-pool-sg* + :anim 24 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "darkeco-pool") + :volume #x400 + :fo-min 17 + :fo-max 27 + ) + ) + (new 'static 'water-anim-look :skel-group '*water-anim-ogre-lava-sg* :anim 2 :ambient-sound-spec #f) + (new 'static 'water-anim-look :skel-group '*water-anim-jungle-river-sg* :anim 3 :ambient-sound-spec #f) + (new 'static 'water-anim-look :skel-group '*water-anim-village3-lava-sg* :anim 3 :ambient-sound-spec #f) + (new 'static 'water-anim-look :skel-group '*water-anim-training-lake-sg* :anim 2 :ambient-sound-spec #f) + (new 'static 'water-anim-look + :skel-group + '*water-anim-darkcave-water-with-crystal-sg* + :anim 2 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look :skel-group '*water-anim-rolling-water-back-sg* :anim 4 :ambient-sound-spec #f) + (new 'static 'water-anim-look :skel-group '*water-anim-rolling-water-front-sg* :anim 4 :ambient-sound-spec #f) + (new 'static 'water-anim-look + :skel-group + '*water-anim-sunken-dark-eco-helix-room-sg* + :anim 6 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "helix-dark-eco") + :volume #x400 + :fo-min #x78 + :fo-max #x82 + ) + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-finalboss-dark-eco-pool-sg* + :anim 2 + :ambient-sound-spec + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "darkeco-pool") + :volume #x400 + :fo-min 19 + :fo-max 29 + ) + ) + (new 'static 'water-anim-look + :skel-group '*water-anim-lavatube-energy-lava-sg* + :anim 2 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look :skel-group '*water-anim-village1-rice-paddy-sg* :anim 8 :ambient-sound-spec #f) + (new 'static 'water-anim-look :skel-group '*water-anim-village1-fountain-sg* :anim 8 :ambient-sound-spec #f) + (new 'static 'water-anim-look + :skel-group + '*water-anim-village1-rice-paddy-mid-sg* + :anim 8 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look + :skel-group + '*water-anim-village1-rice-paddy-top-sg* + :anim 8 + :ambient-sound-spec #f + ) + (new 'static 'water-anim-look :skel-group '*water-anim-village2-bucket-sg* :anim 2 :ambient-sound-spec #f) ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-first-room-from-entrance-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 50 - :fo-max 60 - ) - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-sunken-qbert-room-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 48 - :fo-max 58 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-first-right-branch-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 30 - :fo-max 40 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-circular-with-bullys-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 15 - :fo-max 25 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-hall-with-one-whirlpool-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 27 - :fo-max 37 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-hall-with-three-whirlpools-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 26 - :fo-max 36 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-start-of-helix-slide-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 25 - :fo-max 35 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-room-above-exit-chamber-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 45 - :fo-max 55 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-hall-before-big-room-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 20 - :fo-max 30 - ) - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-sunken-dark-eco-qbert-sg* - :anim 6 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "darkeco-pool") - :volume #x400 - :fo-min 40 - :fo-max 50 - ) - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-sunken-short-piece-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 20 - :fo-max 30 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-big-room-upper-water-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "water-loop") - :volume #x400 - :fo-min 27 - :fo-max 37 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-dark-eco-platform-room-sg* - :anim 6 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "darkeco-pool") - :volume #x400 - :fo-min 22 - :fo-max 32 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-water-with-crystal-sg* - :anim 2 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-maincave-center-pool-sg* - :anim 10 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "darkeco-pool") - :volume #x400 - :fo-min 70 - :fo-max 80 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-lower-right-pool-sg* - :anim 10 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "darkeco-pool") - :volume #x400 - :fo-min 40 - :fo-max 50 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-mid-right-pool-sg* - :anim 10 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "darkeco-pool") - :volume #x400 - :fo-min 37 - :fo-max 47 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-maincave-lower-left-pool-sg* - :anim 10 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "darkeco-pool") - :volume #x400 - :fo-min 20 - :fo-max 30 - ) - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-maincave-mid-left-pool-sg* - :anim 10 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "darkeco-pool") - :volume #x400 - :fo-min 51 - :fo-max 61 - ) - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-robocave-main-pool-sg* - :anim 3 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "darkeco-pool") - :volume #x400 - :fo-min 54 - :fo-max 64 - ) - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-misty-mud-by-arena-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-above-skeleton-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-behind-skeleton-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-above-skull-back-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-above-skull-front-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-other-near-skull-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-misty-mud-near-skull-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-misty-mud-under-spine-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-misty-mud-by-dock-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-island-near-dock-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-misty-mud-lonely-island-sg* - :anim 24 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-misty-dark-eco-pool-sg* - :anim 24 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "darkeco-pool") - :volume #x400 - :fo-min 17 - :fo-max 27 - ) - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-ogre-lava-sg* - :anim 2 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-jungle-river-sg* - :anim 3 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-village3-lava-sg* - :anim 3 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-training-lake-sg* - :anim 2 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-darkcave-water-with-crystal-sg* - :anim 2 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-rolling-water-back-sg* - :anim 4 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-rolling-water-front-sg* - :anim 4 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-sunken-dark-eco-helix-room-sg* - :anim 6 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "helix-dark-eco") - :volume #x400 - :fo-min #x78 - :fo-max #x82 - ) - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-finalboss-dark-eco-pool-sg* - :anim 2 - :ambient-sound-spec - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "darkeco-pool") - :volume #x400 - :fo-min 19 - :fo-max 29 - ) - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-lavatube-energy-lava-sg* - :anim 2 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-village1-rice-paddy-sg* - :anim 8 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-village1-fountain-sg* - :anim 8 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-village1-rice-paddy-mid-sg* - :anim 8 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group - '*water-anim-village1-rice-paddy-top-sg* - :anim 8 - :ambient-sound-spec #f - ) - (new 'static 'water-anim-look - :skel-group '*water-anim-village2-bucket-sg* - :anim 2 - :ambient-sound-spec #f - ) ) - ) ) ;; failed to figure out what this is: @@ -965,51 +921,46 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'move-to) - (set! - (-> self root trans quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - (set! (-> self water-height) (-> self root trans y)) - (if (nonzero? (-> self sound)) - (update-trans! (-> self sound) (-> self root trans)) - ) - (let - ((v0-0 (logclear (-> self mask) (process-mask sleep-code))) - ) - (set! (-> self mask) v0-0) - v0-0 - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'move-to) + (set! (-> self root trans quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (set! (-> self water-height) (-> self root trans y)) + (if (nonzero? (-> self sound)) + (update-trans! (-> self sound) (-> self root trans)) + ) + (let ((v0-0 (logclear (-> self mask) (process-mask sleep-code)))) + (set! (-> self mask) v0-0) + v0-0 + ) + ) + ) + ) ) - ) :trans (behavior () - (let ((t9-0 (-> (method-of-type water-vol water-vol-idle) trans))) - (if t9-0 - (t9-0) - ) + (let ((t9-0 (-> (method-of-type water-vol water-vol-idle) trans))) + (if t9-0 + (t9-0) + ) + ) + (if (< (-> (math-camera-pos) y) (+ -8192.0 (-> self root trans y))) + (logior! (-> self draw status) 2) + (set! (-> self draw status) (logand -3 (-> self draw status))) + ) + (if (and (-> self play-ambient-sound?) (nonzero? (-> self sound))) + (update! (-> self sound)) + ) + (none) ) - (if (< (-> (math-camera-pos) y) (+ -8192.0 (-> self root trans y))) - (logior! (-> self draw status) 2) - (set! (-> self draw status) (logand -3 (-> self draw status))) - ) - (if (and (-> self play-ambient-sound?) (nonzero? (-> self sound))) - (update! (-> self sound)) - ) - (none) - ) :code (behavior () - (while #t - (ja-post) - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) + (while #t + (ja-post) + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for method 28 of type water-anim @@ -1029,83 +980,60 @@ (defmethod TODO-RENAME-25 water-anim ((obj water-anim)) (local-vars (sv-16 res-tag)) (set! (-> obj play-ambient-sound?) #t) - (set! - (-> obj look) - (res-lump-value (-> obj entity) 'look int :default (the-as uint128 -1)) - ) + (set! (-> obj look) (res-lump-value (-> obj entity) 'look int :default (the-as uint128 -1))) (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-3 - (res-lump-data - (-> obj entity) - 'trans-offset - (pointer float) - :tag-ptr - (& sv-16) + (let ((v1-3 (res-lump-data (-> obj entity) 'trans-offset (pointer float) :tag-ptr (& sv-16)))) + (when v1-3 + (+! (-> obj root trans x) (-> v1-3 0)) + (+! (-> obj root trans y) (-> v1-3 1)) + (+! (-> obj root trans z) (-> v1-3 2)) ) - ) ) - (when v1-3 - (+! (-> obj root trans x) (-> v1-3 0)) - (+! (-> obj root trans y) (-> v1-3 1)) - (+! (-> obj root trans z) (-> v1-3 2)) - ) - ) (let ((f0-6 (res-lump-float (-> obj entity) 'rotoffset))) - (the-as object (if (!= f0-6 0.0) - (quaternion-rotate-y! - (-> obj root quat) - (-> obj root quat) - f0-6 - ) - ) + (the-as object (if (!= f0-6 0.0) + (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) f0-6) + ) + ) ) - ) ) ;; definition for method 22 of type water-anim ;; INFO: Return type mismatch none vs ripple-wave-set. (defmethod TODO-RENAME-22 water-anim ((obj water-anim)) (let ((s5-0 (-> obj look))) - (if (or (< s5-0 0) (>= s5-0 (-> *water-anim-look* length))) - (go process-drawable-art-error "skel group") - ) - (let ((s5-1 (-> *water-anim-look* s5-0))) - (let ((s4-0 (-> s5-1 skel-group value))) - (let ((s3-0 s4-0)) - (if - (not - (if - (and - (nonzero? s3-0) - (type-type? (-> (the-as basic s3-0) type) skeleton-group) - ) - s3-0 - ) + (if (or (< s5-0 0) (>= s5-0 (-> *water-anim-look* length))) + (go process-drawable-art-error "skel group") + ) + (let ((s5-1 (-> *water-anim-look* s5-0))) + (let ((s4-0 (-> s5-1 skel-group value))) + (let ((s3-0 s4-0)) + (if (not (if (and (nonzero? s3-0) (type-type? (-> (the-as basic s3-0) type) skeleton-group)) + s3-0 + ) + ) + (go process-drawable-art-error "skel group") + ) + ) + (initialize-skeleton obj (the-as skeleton-group s4-0) '()) + ) + (ja-channel-set! 1) + (let ((s4-1 (-> obj skel root-channel 0))) + (joint-control-channel-group-eval! + s4-1 + (the-as art-joint-anim (-> obj draw art-group data (-> s5-1 anim))) + num-func-identity + ) + (set! (-> s4-1 frame-num) 0.0) + ) + (let ((a2-2 (-> s5-1 ambient-sound-spec))) + (when a2-2 + (let ((a3-0 (new 'stack-no-clear 'vector))) + (vector+! a3-0 (-> obj root trans) (-> obj draw bounds)) + (set! (-> obj sound) (new 'process 'ambient-sound a2-2 a3-0)) + ) + ) ) - (go process-drawable-art-error "skel group") - ) ) - (initialize-skeleton obj (the-as skeleton-group s4-0) '()) - ) - (ja-channel-set! 1) - (let ((s4-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim (-> obj draw art-group data (-> s5-1 anim))) - num-func-identity - ) - (set! (-> s4-1 frame-num) 0.0) - ) - (let ((a2-2 (-> s5-1 ambient-sound-spec))) - (when a2-2 - (let ((a3-0 (new 'stack-no-clear 'vector))) - (vector+! a3-0 (-> obj root trans) (-> obj draw bounds)) - (set! (-> obj sound) (new 'process 'ambient-sound a2-2 a3-0)) - ) - ) - ) ) - ) (the-as ripple-wave-set (ja-post)) ) diff --git a/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc b/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc index 4ad3c5e06e..125cbefc7b 100644 --- a/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc +++ b/test/decompiler/reference/levels/darkcave/darkcave-obs_REF.gc @@ -33,8 +33,8 @@ ;; definition for method 3 of type cavecrystal (defmethod inspect cavecrystal ((obj cavecrystal)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tis-master?: ~A~%" (-> obj is-master?)) (format #t "~T~Tcrystal-id: ~D~%" (-> obj crystal-id)) (format #t "~T~Tglow-u: ~f~%" (-> obj glow-u)) @@ -44,24 +44,12 @@ (format #t "~T~Tstart-fade-time: ~D~%" (-> obj start-fade-time)) (format #t "~T~Tend-fade-time: ~D~%" (-> obj end-fade-time)) (format #t "~T~Tactivated-time: ~D~%" (-> obj activated-time)) - (format - #t - "~T~Tlast-updated-user-lighting: ~D~%" - (-> obj last-updated-user-lighting) - ) + (format #t "~T~Tlast-updated-user-lighting: ~D~%" (-> obj last-updated-user-lighting)) (format #t "~T~Tplayer-attack-id: ~D~%" (-> obj player-attack-id)) (format #t "~T~Ton-color-mult: #~%" (-> obj on-color-mult)) - (format - #t - "~T~Ton-color-emissive: #~%" - (-> obj on-color-emissive) - ) + (format #t "~T~Ton-color-emissive: #~%" (-> obj on-color-emissive)) (format #t "~T~Toff-color-mult: #~%" (-> obj off-color-mult)) - (format - #t - "~T~Toff-color-emissive: #~%" - (-> obj off-color-emissive) - ) + (format #t "~T~Toff-color-emissive: #~%" (-> obj off-color-emissive)) obj ) @@ -78,224 +66,163 @@ ;; INFO: Return type mismatch int vs none. (defmethod update-connected-crystals! cavecrystal ((obj cavecrystal)) (when (-> obj is-master?) - (let ((v1-2 (-> *display* base-frame-counter))) - (when (!= (-> obj last-updated-user-lighting) v1-2) - (set! (-> obj last-updated-user-lighting) (the-as uint v1-2)) - (execute-connections *cavecrystal-light-control*) - ) + (let ((v1-2 (-> *display* base-frame-counter))) + (when (!= (-> obj last-updated-user-lighting) v1-2) + (set! (-> obj last-updated-user-lighting) (the-as uint v1-2)) + (execute-connections *cavecrystal-light-control*) + ) + ) ) - ) (none) ) ;; definition for method 21 of type cavecrystal (defmethod compute-glow cavecrystal ((obj cavecrystal)) - (set! - (-> obj prev-compute-glow-time) - (the-as uint (-> *display* game-frame-counter)) - ) - (let* - ((gp-1 - (max - 1 - (the-as - int - (+ - (- 1 (the-as int (-> obj activated-time))) - (-> *display* game-frame-counter) - ) + (set! (-> obj prev-compute-glow-time) (the-as uint (-> *display* game-frame-counter))) + (let* ((gp-1 (max 1 (the-as int (+ (- 1 (the-as int (-> obj activated-time))) (-> *display* game-frame-counter))))) + (f0-2 + (/ (the float (mod (+ (-> *display* base-frame-counter) (-> obj glow-wf-offset)) (-> obj glow-wf-period))) + (the float (-> obj glow-wf-period)) + ) + ) + (f30-1 (* 0.1 (cos (* 65536.0 f0-2)))) + ) + (cond + ((>= 20 (the-as int gp-1)) + (let ((v1-11 (* 0.05 (the float gp-1)))) + (fmax 0.0 (fmin 2.0 (+ (* 2.0 v1-11) (* v1-11 f30-1)))) + ) ) - ) - ) - (f0-2 - (/ - (the - float - (mod - (+ (-> *display* base-frame-counter) (-> obj glow-wf-offset)) - (-> obj glow-wf-period) - ) + ((>= 180 (the-as int gp-1)) + (let ((a2-0 (* 0.00625 (the float (+ gp-1 -20))))) + (fmin 2.0 (+ (lerp 2.0 1.0 a2-0) f30-1)) + ) ) - (the float (-> obj glow-wf-period)) + ((>= (the-as int (-> obj start-fade-time)) (the-as int gp-1)) + (+ 1.0 f30-1) + ) + (else + (let ((v1-20 (fmin 1.0 (* 0.004761905 (the float (- gp-1 (-> obj start-fade-time))))))) + (fmax 0.0 (- (+ 1.0 (* (- 1.0 v1-20) f30-1)) v1-20)) + ) + ) ) - ) - (f30-1 (* 0.1 (cos (* 65536.0 f0-2)))) ) - (cond - ((>= 20 (the-as int gp-1)) - (let ((v1-11 (* 0.05 (the float gp-1)))) - (fmax 0.0 (fmin 2.0 (+ (* 2.0 v1-11) (* v1-11 f30-1)))) - ) - ) - ((>= 180 (the-as int gp-1)) - (let ((a2-0 (* 0.00625 (the float (+ gp-1 -20))))) - (fmin 2.0 (+ (lerp 2.0 1.0 a2-0) f30-1)) - ) - ) - ((>= (the-as int (-> obj start-fade-time)) (the-as int gp-1)) - (+ 1.0 f30-1) - ) - (else - (let - ((v1-20 - (fmin 1.0 (* 0.004761905 (the float (- gp-1 (-> obj start-fade-time))))) - ) - ) - (fmax 0.0 (- (+ 1.0 (* (- 1.0 v1-20) f30-1)) v1-20)) - ) - ) - ) - ) ) ;; failed to figure out what this is: (defstate cavecrystal-idle (cavecrystal) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack) - (go cavecrystal-active) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('attack) + (go cavecrystal-active) + ) + ) + ) :trans (behavior () - (if - (and - *target* - (>= - 40960.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - (level-hint-spawn - (game-text-id darkcave-light-crystal-hint) - "sksp0333" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (if (and *target* (>= 40960.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + (level-hint-spawn + (game-text-id darkcave-light-crystal-hint) + "sksp0333" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + (update-connected-crystals! self) + (none) ) - (update-connected-crystals! self) - (none) - ) :code - (behavior () - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - 0 - (none) - ) + (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 (none)) ) ;; failed to figure out what this is: (defstate cavecrystal-active (cavecrystal) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'attack) - (let ((v1-1 (-> arg3 param 2))) - (cond - ((!= v1-1 (-> self player-attack-id)) - (set! (-> self player-attack-id) v1-1) - (set! - (-> self activated-time) - (the-as uint (-> *display* game-frame-counter)) - ) - #t + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'attack) + (let ((v1-1 (-> arg3 param 2))) + (cond + ((!= v1-1 (-> self player-attack-id)) + (set! (-> self player-attack-id) v1-1) + (set! (-> self activated-time) (the-as uint (-> *display* game-frame-counter))) + #t + ) + (else + #f + ) + ) + ) ) - (else - #f - ) - ) - ) - ) - ) + ) + ) ) - ) :enter (behavior () - (logclear! (-> self mask) (process-mask actor-pause)) - (set! - (-> self activated-time) - (the-as uint (-> *display* game-frame-counter)) + (logclear! (-> self mask) (process-mask actor-pause)) + (set! (-> self activated-time) (the-as uint (-> *display* game-frame-counter))) + (set! (-> self prev-compute-glow-time) (the-as uint (-> *display* game-frame-counter))) + (none) ) - (set! - (-> self prev-compute-glow-time) - (the-as uint (-> *display* game-frame-counter)) - ) - (none) - ) :exit (behavior () - (stop! (-> self sound)) - (if (not (-> self is-master?)) - (logior! (-> self mask) (process-mask actor-pause)) + (stop! (-> self sound)) + (if (not (-> self is-master?)) + (logior! (-> self mask) (process-mask actor-pause)) + ) + (none) ) - (none) - ) :trans (behavior () - (let ((f30-0 (compute-glow self))) - (set! (-> self glow-u) f30-0) - (let ((gp-0 (new 'stack-no-clear 'vector)) - (f28-0 1.993) + (let ((f30-0 (compute-glow self))) + (set! (-> self glow-u) f30-0) + (let ((gp-0 (new 'stack-no-clear 'vector)) + (f28-0 1.993) + ) + (let ((s5-0 (-> self draw color-mult))) + (vector-! gp-0 (-> self on-color-mult) (-> self off-color-mult)) + (vector+*! s5-0 (-> self off-color-mult) gp-0 f30-0) + (set! (-> s5-0 x) (fmax 0.0 (fmin (-> s5-0 x) f28-0))) + (set! (-> s5-0 y) (fmax 0.0 (fmin (-> s5-0 y) f28-0))) + (set! (-> s5-0 z) (fmax 0.0 (fmin (-> s5-0 z) f28-0))) + (set! (-> s5-0 w) 1.0) ) - (let ((s5-0 (-> self draw color-mult))) - (vector-! gp-0 (-> self on-color-mult) (-> self off-color-mult)) - (vector+*! s5-0 (-> self off-color-mult) gp-0 f30-0) - (set! (-> s5-0 x) (fmax 0.0 (fmin (-> s5-0 x) f28-0))) - (set! (-> s5-0 y) (fmax 0.0 (fmin (-> s5-0 y) f28-0))) - (set! (-> s5-0 z) (fmax 0.0 (fmin (-> s5-0 z) f28-0))) - (set! (-> s5-0 w) 1.0) + (let ((s5-1 (-> self draw color-emissive))) + (vector-! gp-0 (-> self on-color-emissive) (-> self off-color-emissive)) + (vector+*! s5-1 (-> self off-color-emissive) gp-0 f30-0) + (set! (-> s5-1 x) (fmax 0.0 (fmin (-> s5-1 x) f28-0))) + (set! (-> s5-1 y) (fmax 0.0 (fmin (-> s5-1 y) f28-0))) + (set! (-> s5-1 z) (fmax 0.0 (fmin (-> s5-1 z) f28-0))) + (set! (-> s5-1 w) 0.0) + ) + ) + (TODO-RENAME-9 *cavecrystal-light-control* (-> self crystal-id) (-> self glow-u) self) + (update-connected-crystals! self) + (when (>= 0.0 f30-0) + (level-hint-spawn + (game-text-id darkcave-light-crystal-low-light-hint) + "sksp0332" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (go cavecrystal-idle) + ) ) - (let ((s5-1 (-> self draw color-emissive))) - (vector-! gp-0 (-> self on-color-emissive) (-> self off-color-emissive)) - (vector+*! s5-1 (-> self off-color-emissive) gp-0 f30-0) - (set! (-> s5-1 x) (fmax 0.0 (fmin (-> s5-1 x) f28-0))) - (set! (-> s5-1 y) (fmax 0.0 (fmin (-> s5-1 y) f28-0))) - (set! (-> s5-1 z) (fmax 0.0 (fmin (-> s5-1 z) f28-0))) - (set! (-> s5-1 w) 0.0) - ) - ) - (TODO-RENAME-9 - *cavecrystal-light-control* - (-> self crystal-id) - (-> self glow-u) - self - ) - (update-connected-crystals! self) - (when (>= 0.0 f30-0) - (level-hint-spawn - (game-text-id darkcave-light-crystal-low-light-hint) - "sksp0332" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (go cavecrystal-idle) - ) + (update! (-> self sound)) + (none) ) - (update! (-> self sound)) - (none) - ) :code - (behavior () - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - 0 - (none) - ) + (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 (none)) ) ;; definition for method 10 of type cavecrystal (defmethod deactivate cavecrystal ((obj cavecrystal)) (if (nonzero? (-> obj sound)) - (stop! (-> obj sound)) - ) + (stop! (-> obj sound)) + ) ((method-of-type process-drawable deactivate) obj) (none) ) @@ -311,46 +238,31 @@ (set-vector! (-> obj off-color-emissive) 0.0 0.0 0.0 0.0) (set-vector! (-> obj on-color-mult) 1.0 1.0 1.0 1.0) (set-vector! (-> obj on-color-emissive) 0.0 0.0 0.0 0.0) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 19251.2 0.0 22118.4) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 19251.2 0.0 22118.4) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) 4915.2) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) 4915.2) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (set! (-> obj link) (new 'process 'actor-link-info obj)) (set! (-> obj crystal-id) (actor-count-before (-> obj link))) (set! (-> obj is-master?) (= (-> obj crystal-id) 3)) (set! (-> obj glow-wf-period) (rand-vu-int-range 225 375)) (set! (-> obj glow-wf-offset) (rand-vu-int-range 0 300)) (if (-> obj is-master?) - (logclear! (-> obj mask) (process-mask actor-pause)) - ) - (set! - (-> obj start-fade-time) - (the-as - uint - (the int (* 300.0 (res-lump-float (-> obj entity) 'timeout :default 8.0))) - ) - ) + (logclear! (-> obj mask) (process-mask actor-pause)) + ) + (set! (-> obj start-fade-time) + (the-as uint (the int (* 300.0 (res-lump-float (-> obj entity) 'timeout :default 8.0)))) + ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *cavecrystal-sg* '()) (nav-mesh-connect obj (-> obj root-override) (the-as nav-control #f)) @@ -358,32 +270,30 @@ (set! (-> obj draw color-emissive quad) (-> obj off-color-emissive quad)) (ja-channel-push! 1 0) (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 3)) - num-func-identity + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 3)) + num-func-identity + ) + (set! (-> s5-1 frame-num) 0.0) ) - (set! (-> s5-1 frame-num) 0.0) - ) (ja-post) (dummy-47 (-> obj root-override)) (TODO-RENAME-9 *cavecrystal-light-control* (-> obj crystal-id) 0.0 obj) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "crystal-on") - :volume #x400 - :fo-max 80 - ) - (-> obj root-override trans) - ) - ) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "crystal-on") + :volume #x400 + :fo-max 80 + ) + (-> obj root-override trans) + ) + ) (go cavecrystal-idle) (none) ) diff --git a/test/decompiler/reference/levels/finalboss/final-door_REF.gc b/test/decompiler/reference/levels/finalboss/final-door_REF.gc index c1f7f7a6ce..3f121851af 100644 --- a/test/decompiler/reference/levels/finalboss/final-door_REF.gc +++ b/test/decompiler/reference/levels/finalboss/final-door_REF.gc @@ -58,8 +58,8 @@ ;; definition for method 3 of type final-door (defmethod inspect final-door ((obj final-door)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -94,22 +94,15 @@ (defstate idle (final-door) :virtual #t :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('open) - enter-state - (go-virtual open) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('open) + enter-state + (go-virtual open) + ) + ) + ) :code - (behavior () - (transform-post) - (logior! (-> self mask) (process-mask sleep)) - (suspend) - 0 - (none) - ) + (behavior () (transform-post) (logior! (-> self mask) (process-mask sleep)) (suspend) 0 (none)) ) ;; failed to figure out what this is: @@ -117,168 +110,98 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'brightness) - (let ((f0-0 (the-as float (-> arg3 param 0))) - (f1-0 (the-as float (-> arg3 param 1))) - ) - (set-vector! (-> self draw color-mult) f0-0 f0-0 f0-0 f0-0) - (let ((v0-0 (-> self draw color-emissive))) - (set! (-> v0-0 x) f1-0) - (set! (-> v0-0 y) f1-0) - (set! (-> v0-0 z) f1-0) - (set! (-> v0-0 w) f1-0) - v0-0 - ) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'brightness) + (let ((f0-0 (the-as float (-> arg3 param 0))) + (f1-0 (the-as float (-> arg3 param 1))) + ) + (set-vector! (-> self draw color-mult) f0-0 f0-0 f0-0 f0-0) + (let ((v0-0 (-> self draw color-emissive))) + (set! (-> v0-0 x) f1-0) + (set! (-> v0-0 y) f1-0) + (set! (-> v0-0 z) f1-0) + (set! (-> v0-0 w) f1-0) + v0-0 + ) + ) + ) + ) + ) ) - ) :code (behavior () - (case (-> self type) - ((power-left) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length + (case (-> self type) + ((power-left) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 0.353) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (transform-post) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 0.353) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 + ) + ) + (else + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-4 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-4 param 1) 0.353) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) ) - ) - ) - (set! (-> a0-1 param 1) 0.353) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (transform-post) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 0.353) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-4 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length + (until (ja-done? 0) + (transform-post) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 0.353) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-4 param 1) 0.353) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) ) - (until (ja-done? 0) - (transform-post) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 0.353) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (transform-post) + (logior! (-> self mask) (process-mask sleep)) + (suspend) + 0 + (none) ) - (transform-post) - (logior! (-> self mask) (process-mask sleep)) - (suspend) - 0 - (none) - ) ) ;; definition for method 11 of type final-door ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! final-door ((obj final-door) (arg0 entity-actor)) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 45056.0 0.0 49152.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 45056.0 0.0 49152.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root) s4-0) - ) (process-drawable-from-entity! obj arg0) (dummy-21 obj) (go (method-of-object obj idle)) @@ -297,8 +220,8 @@ ;; definition for method 3 of type power-left (defmethod inspect power-left ((obj power-left)) (let ((t9-0 (method-of-type final-door inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -314,8 +237,8 @@ ;; definition for method 3 of type power-right (defmethod inspect power-right ((obj power-right)) (let ((t9-0 (method-of-type final-door inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -324,59 +247,32 @@ :virtual #t :code (behavior () - (ja-post) - (while #t - (if - (and - (and - *target* - (>= - 61440.0 - (vector-vector-distance - (-> self root trans) - (-> *target* control trans) - ) - ) - ) - (and - (zero? (logand (-> *target* state-flags) 256)) - (and - (>= (-> *game-info* fuel) 100.0) - (not - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) - ) + (ja-post) + (while #t + (if (and + (and *target* (>= 61440.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) + (and + (zero? (logand (-> *target* state-flags) 256)) + (and + (>= (-> *game-info* fuel) 100.0) + (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) + (= (get-task-status (game-task finalboss-movies)) (task-status need-reward-speech)) + (send-event + *target* + 'change-mode + 'final-door + (search-process-tree *active-pool* (lambda ((arg0 final-door)) (= (-> arg0 type) power-right))) + (search-process-tree *active-pool* (lambda ((arg0 final-door)) (= (-> arg0 type) power-left))) + ) + ) + ) + ) + (process-entity-status! self (entity-perm-status complete) #t) ) - ) - (= - (get-task-status (game-task finalboss-movies)) - (task-status need-reward-speech) - ) - (send-event - *target* - 'change-mode - 'final-door - (search-process-tree *active-pool* (lambda ((arg0 final-door)) - (= (-> arg0 type) power-right) - ) - ) - (search-process-tree *active-pool* (lambda ((arg0 final-door)) - (= (-> arg0 type) power-left) - ) - ) - ) - ) - ) + (suspend) ) - (process-entity-status! self (entity-perm-status complete) #t) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition for method 21 of type power-left @@ -416,8 +312,8 @@ ;; definition for method 3 of type powercellalt (defmethod inspect powercellalt ((obj powercellalt)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tjump-pos: ~`vector`P~%" (-> obj jump-pos)) (format #t "~T~Tbase: ~`vector`P~%" (-> obj base)) (format #t "~T~Tindex: ~D~%" (-> obj index)) @@ -429,89 +325,51 @@ :virtual #t :code (behavior () - (sound-play-by-name - (static-sound-name "cell-prize") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((gp-1 (new 'stack 'trajectory))) - (set! (-> self base y) (-> self jump-pos y)) - (setup-from-to-duration! - gp-1 - (-> self root-override trans) - (-> self jump-pos) - 300.0 - -2.2755556 - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (let - ((f0-2 - (the float (- (-> *display* base-frame-counter) (-> self state-time))) + (sound-play-by-name (static-sound-name "cell-prize") (new-sound-id) 1024 0 0 1 #t) + (let ((gp-1 (new 'stack 'trajectory))) + (set! (-> self base y) (-> self jump-pos y)) + (setup-from-to-duration! gp-1 (-> self root-override trans) (-> self jump-pos) 300.0 -2.2755556) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (let ((f0-2 (the float (- (-> *display* base-frame-counter) (-> self state-time))))) + (eval-position! gp-1 f0-2 (-> self root-override trans)) + ) + (transform-post) + (spawn (-> self part) (the-as vector (-> self root-override root-prim prim-core))) + (suspend) + (when (nonzero? (-> self skel)) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) 0.5) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-loop!) + ) + ) ) - ) - (eval-position! gp-1 f0-2 (-> self root-override trans)) ) - (transform-post) - (spawn - (-> self part) - (the-as vector (-> self root-override root-prim prim-core)) - ) - (suspend) - (when (nonzero? (-> self skel)) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 0.5) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-loop! + (set! (-> self root-override trans quad) (-> self jump-pos quad)) + (set! (-> self base quad) (-> self root-override trans quad)) + (transform-post) + (sound-play-by-name (static-sound-name "land-pcmetal") (new-sound-id) 1024 3048 0 1 #t) + (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-3 + (let ((t9-12 (method-of-type part-tracker activate))) + (t9-12 (the-as part-tracker gp-3) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-3 + part-tracker-init + (-> *part-group-id-table* 4) + -1 + #f + #f + #f + (-> self root-override root-prim prim-core) + ) + (-> gp-3 ppointer) ) - ) ) - ) + (go-virtual idle) + (none) ) - (set! (-> self root-override trans quad) (-> self jump-pos quad)) - (set! (-> self base quad) (-> self root-override trans quad)) - (transform-post) - (sound-play-by-name - (static-sound-name "land-pcmetal") - (new-sound-id) - 1024 - 3048 - 0 - 1 - #t - ) - (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-3 - (let ((t9-12 (method-of-type part-tracker activate))) - (t9-12 - (the-as part-tracker gp-3) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-3 - part-tracker-init - (-> *part-group-id-table* 4) - -1 - #f - #f - #f - (-> self root-override root-prim prim-core) - ) - (-> gp-3 ppointer) - ) - ) - (go-virtual idle) - (none) - ) ) ;; failed to figure out what this is: @@ -519,63 +377,45 @@ :virtual #t :code (behavior () - (while #t - (vector<-cspace! - (-> self root-override trans) - (-> - (the-as process-drawable (-> self parent 0)) - node-list - data - (-> self index) + (while #t + (vector<-cspace! + (-> self root-override trans) + (-> (the-as process-drawable (-> self parent 0)) node-list data (-> self index)) + ) + (transform-post) + (suspend) ) - ) - (transform-post) - (suspend) + (none) ) - (none) - ) ) ;; definition for function powercellalt-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - powercellalt-init-by-other powercellalt - ((arg0 entity) (arg1 vector) (arg2 vector) (arg3 int)) +(defbehavior powercellalt-init-by-other powercellalt ((arg0 entity) (arg1 vector) (arg2 vector) (arg3 int)) (set! (-> self entity) arg0) - (let - ((s3-0 - (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player)) - ) + (let ((s3-0 (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player)))) + (set! (-> s3-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s3-0 reaction) default-collision-reaction) + (set! (-> s3-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s3-0 (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 64)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 4915.2) + (set-root-prim! s3-0 s2-0) + ) + (set! (-> s3-0 nav-radius) (* 0.75 (-> s3-0 root-prim local-sphere w))) + (backup-collide-with-as s3-0) + (set! (-> self root-override) s3-0) ) - (set! (-> s3-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s3-0 reaction) default-collision-reaction) - (set! - (-> s3-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s3-0 (the-as uint 0)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 64)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 4915.2) - (set-root-prim! s3-0 s2-0) - ) - (set! (-> s3-0 nav-radius) (* 0.75 (-> s3-0 root-prim local-sphere w))) - (backup-collide-with-as s3-0) - (set! (-> self root-override) s3-0) - ) (set! (-> self root-override trans quad) (-> arg1 quad)) (set! (-> self jump-pos quad) (-> arg2 quad)) (set-vector! (-> self root-override scale) 0.5 0.5 0.5 1.0) (set! (-> self index) arg3) (initialize-skeleton self *powercellalt-sg* '()) - (set! - (-> self part) - (create-launch-control (-> *part-group-id-table* 63) self) - ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 63) self)) enter-state (-> self root-override trans) (-> self jump-pos) @@ -587,186 +427,125 @@ (defstate target-final-door (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - ((-> target-grab event) arg0 arg1 arg2 arg3) - ) + ((-> target-grab event) arg0 arg1 arg2 arg3) + ) :enter (behavior ((arg0 basic) (arg1 handle)) - (send-event *camera* 'change-to-entity-by-name "camera-403") - (set! (-> self control unknown-surface00) *empty-mods*) - (logior! (-> self state-flags) 272) - (set-setting! *setting-control* self 'allow-progress #f 0.0 0) - (none) - ) + (send-event *camera* 'change-to-entity-by-name "camera-403") + (set! (-> self control unknown-surface00) *empty-mods*) + (logior! (-> self state-flags) 272) + (set-setting! *setting-control* self 'allow-progress #f 0.0 0) + (none) + ) :exit (behavior () - (send-event *camera* 'change-state *camera-base-mode* 60) - (set! (-> self state-flags) (logand -273 (-> self state-flags))) - (target-exit) - (clear-pending-settings-from-process *setting-control* self 'allow-progress) - (none) - ) + (send-event *camera* 'change-state *camera-base-mode* 60) + (set! (-> self state-flags) (logand -273 (-> self state-flags))) + (target-exit) + (clear-pending-settings-from-process *setting-control* self 'allow-progress) + (none) + ) :trans - (behavior () - (set-letterbox-frames 5) - (none) - ) + (behavior () (set-letterbox-frames 5) (none)) :code (behavior ((arg0 basic) (arg1 handle)) - (local-vars - (sv-144 process) - (sv-160 vector) - (sv-176 process) - (sv-192 vector) - ) - (let ((a0-2 (get-task-control (game-task finalboss-movies)))) - (save-reminder a0-2 (logior (get-reminder a0-2 0) 2) 0) - ) - (TODO-RENAME-30 - (-> self control) - (new 'static 'vector :x 11368946.0 :y 2215900.2 :z -19405602.0 :w 1.0) - ) - (set-quaternion! - (-> self control) - (the-as quaternion (new 'static 'vector :y -0.8472 :w 0.5312)) - ) - (rot->dir-targ! (-> self control)) - (transform-post) - (ja-channel-push! 1 60) - (let ((s4-1 (-> self skel root-channel 0))) - (set! - (-> s4-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 88)) - ) - (set! (-> s4-1 param 0) (ja-aframe 18.0 0)) - (set! (-> s4-1 param 1) 1.0) - (set! (-> s4-1 frame-num) 0.0) - (joint-control-channel-group! - s4-1 - (the-as art-joint-anim (-> self draw art-group data 88)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((s4-2 (-> self skel root-channel 0))) - (set! (-> s4-2 param 0) (ja-aframe 18.0 0)) - (set! (-> s4-2 param 1) 1.0) - (joint-control-channel-group-eval! - s4-2 - (the-as art-joint-anim #f) - num-func-seek! + (local-vars (sv-144 process) (sv-160 vector) (sv-176 process) (sv-192 vector)) + (let ((a0-2 (get-task-control (game-task finalboss-movies)))) + (save-reminder a0-2 (logior (get-reminder a0-2 0) 2) 0) ) - ) - ) - (let ((s4-3 (-> (handle->process (the-as handle arg0)) entity)) - (s3-1 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data 7) - ) + (TODO-RENAME-30 (-> self control) (new 'static 'vector :x 11368946.0 :y 2215900.2 :z -19405602.0 :w 1.0)) + (set-quaternion! (-> self control) (the-as quaternion (new 'static 'vector :y -0.8472 :w 0.5312))) + (rot->dir-targ! (-> self control)) + (transform-post) + (ja-channel-push! 1 60) + (let ((s4-1 (-> self skel root-channel 0))) + (set! (-> s4-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 88))) + (set! (-> s4-1 param 0) (ja-aframe 18.0 0)) + (set! (-> s4-1 param 1) 1.0) + (set! (-> s4-1 frame-num) 0.0) + (joint-control-channel-group! s4-1 (the-as art-joint-anim (-> self draw art-group data 88)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((s4-2 (-> self skel root-channel 0))) + (set! (-> s4-2 param 0) (ja-aframe 18.0 0)) + (set! (-> s4-2 param 1) 1.0) + (joint-control-channel-group-eval! s4-2 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((s4-3 (-> (handle->process (the-as handle arg0)) entity)) + (s3-1 (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) ) - ) - (dotimes (s2-0 50) - (when (handle->process (the-as handle arg0)) - (let ((s1-0 (handle->process (the-as handle arg0))) - (s0-0 (+ s2-0 4)) + (dotimes (s2-0 50) + (when (handle->process (the-as handle arg0)) + (let ((s1-0 (handle->process (the-as handle arg0))) + (s0-0 (+ s2-0 4)) + ) + (set! sv-160 + (vector<-cspace! (new 'stack-no-clear 'vector) (-> (the-as process-drawable s1-0) node-list data s0-0)) + ) + (set! sv-144 (get-process *default-dead-pool* powercellalt #x4000)) + (when sv-144 + (let ((t9-16 (method-of-type powercellalt activate))) + (t9-16 (the-as powercellalt sv-144) s1-0 'powercellalt (the-as pointer #x70004000)) + ) + (run-now-in-process sv-144 powercellalt-init-by-other s4-3 s3-1 sv-160 s0-0) + (-> sv-144 ppointer) + ) ) - (set! - sv-160 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> (the-as process-drawable s1-0) node-list data s0-0) - ) - ) - (set! sv-144 (get-process *default-dead-pool* powercellalt #x4000)) - (when sv-144 - (let ((t9-16 (method-of-type powercellalt activate))) - (t9-16 - (the-as powercellalt sv-144) - s1-0 - 'powercellalt - (the-as pointer #x70004000) ) - ) - (run-now-in-process - sv-144 - powercellalt-init-by-other - s4-3 - s3-1 - sv-160 - s0-0 - ) - (-> sv-144 ppointer) - ) - ) - ) - (let ((s1-1 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) s1-1) 30) - (suspend) - ) - ) - (when (handle->process arg1) - (let ((s1-2 (handle->process arg1)) - (s0-1 (+ s2-0 4)) + (let ((s1-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) s1-1) 30) + (suspend) + ) + ) + (when (handle->process arg1) + (let ((s1-2 (handle->process arg1)) + (s0-1 (+ s2-0 4)) + ) + (set! sv-192 + (vector<-cspace! (new 'stack-no-clear 'vector) (-> (the-as process-drawable s1-2) node-list data s0-1)) + ) + (set! sv-176 (get-process *default-dead-pool* powercellalt #x4000)) + (when sv-176 + (let ((t9-20 (method-of-type powercellalt activate))) + (t9-20 (the-as powercellalt sv-176) s1-2 'powercellalt (the-as pointer #x70004000)) + ) + (run-now-in-process sv-176 powercellalt-init-by-other s4-3 s3-1 sv-192 s0-1) + (-> sv-176 ppointer) + ) + ) + ) + (let ((s1-3 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) s1-3) 30) + (suspend) ) - (set! - sv-192 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> (the-as process-drawable s1-2) node-list data s0-1) - ) - ) - (set! sv-176 (get-process *default-dead-pool* powercellalt #x4000)) - (when sv-176 - (let ((t9-20 (method-of-type powercellalt activate))) - (t9-20 - (the-as powercellalt sv-176) - s1-2 - 'powercellalt - (the-as pointer #x70004000) ) - ) - (run-now-in-process - sv-176 - powercellalt-init-by-other - s4-3 - s3-1 - sv-192 - s0-1 - ) - (-> sv-176 ppointer) ) - ) ) - (let ((s1-3 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) s1-3) 30) - (suspend) - ) + (let ((gp-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-1) 600) + (suspend) + ) ) - ) - ) - (let ((gp-1 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-1) 600) - (suspend) - ) - ) - (let ((v0-22 (entity-by-name "sage-finalboss-1")) - (a1-26 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-26 from) self) - (set! (-> a1-26 num-params) 0) - (set! (-> a1-26 message) 'play-anim) - (let ((v1-70 v0-22)) - (send-event-function (if v1-70 - (-> v1-70 extra process) - ) - a1-26 + (let ((v0-22 (entity-by-name "sage-finalboss-1")) + (a1-26 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-26 from) self) + (set! (-> a1-26 num-params) 0) + (set! (-> a1-26 message) 'play-anim) + (let ((v1-70 v0-22)) + (send-event-function + (if v1-70 + (-> v1-70 extra process) + ) + a1-26 + ) + ) ) - ) + (go target-stance) + (none) ) - (go target-stance) - (none) - ) :post target-no-stick-post ) diff --git a/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc b/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc index 81b646ea3d..6d0a11db45 100644 --- a/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc +++ b/test/decompiler/reference/levels/finalboss/green-eco-lurker_REF.gc @@ -21,8 +21,8 @@ ;; definition for method 3 of type green-eco-lurker (defmethod inspect green-eco-lurker ((obj green-eco-lurker)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tplayed-sound?: ~A~%" (-> obj played-sound?)) (format #t "~T~Tsound-delay: ~D~%" (-> obj sound-delay)) (format #t "~T~Tappear-dest: #~%" (-> obj appear-dest)) @@ -45,8 +45,8 @@ ;; definition for method 3 of type green-eco-lurker-gen (defmethod inspect green-eco-lurker-gen ((obj green-eco-lurker-gen)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tnum-to-spawn: ~D~%" (-> obj num-to-spawn)) (format #t "~T~Tnum-spawned: ~D~%" (-> obj num-spawned)) (format #t "~T~Tnum-alive: ~D~%" (-> obj num-alive)) @@ -64,470 +64,402 @@ ) ;; definition for symbol *green-eco-lurker-nav-enemy-info*, type nav-enemy-info -(define - *green-eco-lurker-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 3 - :walk-anim 4 - :turn-anim 10 - :notice-anim 9 - :run-anim 4 - :jump-anim 7 - :jump-land-anim 8 - :victory-anim 5 - :taunt-anim 5 - :die-anim 6 - :neck-joint 5 - :player-look-at-joint 5 - :run-travel-speed (meters 6.0) - :run-rotate-speed (degrees 360.0) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.1) - :walk-travel-speed (meters 3.0) - :walk-rotate-speed (degrees 360.0) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.5) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 2.5) - :nav-nearest-y-threshold (meters 400.0) - :notice-distance (meters 300.0) - :stop-chase-distance (meters 400.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 24.0 - :jump-anim-start-frame 10.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 3.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 0.5) - :shadow-min-y (meters -1.75) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #t - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #t - :use-proximity-notice #f - :use-jump-blocked #t - :use-jump-patrol #f - :gnd-collide-with #x805 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *green-eco-lurker-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 3 + :walk-anim 4 + :turn-anim 10 + :notice-anim 9 + :run-anim 4 + :jump-anim 7 + :jump-land-anim 8 + :victory-anim 5 + :taunt-anim 5 + :die-anim 6 + :neck-joint 5 + :player-look-at-joint 5 + :run-travel-speed (meters 6.0) + :run-rotate-speed (degrees 360.0) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.1) + :walk-travel-speed (meters 3.0) + :walk-rotate-speed (degrees 360.0) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.5) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 2.5) + :nav-nearest-y-threshold (meters 400.0) + :notice-distance (meters 300.0) + :stop-chase-distance (meters 400.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 24.0 + :jump-anim-start-frame 10.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 3.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 0.5) + :shadow-min-y (meters -1.75) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #t + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #t + :use-proximity-notice #f + :use-jump-blocked #t + :use-jump-patrol #f + :gnd-collide-with #x805 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 643) - (new 'static 'sparticle-launch-group - :length 37 - :duration #x258 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-green-eco-lurker-death" - :launcher - (new 'static 'inline-array sparticle-group-item 37 - (sp-item 2585 :fade-after (meters 100.0) :period 600 :length 5 :binding 2583) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) - (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2586 :period 600 :length 5) - (sp-item 2587 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 600 :length 40) - (sp-item 2588 :period 600 :length 20) - (sp-item 2589 :fade-after (meters 120.0) :falloff-to (meters 120.0) :period 600 :length 20) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 643) + (new 'static 'sparticle-launch-group + :length 37 + :duration #x258 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-green-eco-lurker-death" + :launcher + (new 'static 'inline-array sparticle-group-item 37 + (sp-item 2585 :fade-after (meters 100.0) :period 600 :length 5 :binding 2583) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2583 :flags (start-dead launch-asap) :binding 2584) + (sp-item 2584 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2586 :period 600 :length 5) + (sp-item 2587 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 600 :length 40) + (sp-item 2588 :period 600 :length 20) + (sp-item 2589 :fade-after (meters 120.0) :falloff-to (meters 120.0) :period 600 :length 20) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2587) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.10666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 29 1) - (sp-launcher-by-id spt-next-launcher 2590) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2587) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.10666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 29 1) + (sp-launcher-by-id spt-next-launcher 2590) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2590) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.4222223) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2590) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.4222223) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2589) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 3.0) - (sp-flt spt-scale-x (meters 0.2)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 8.0)) - (sp-rnd-flt spt-r 64.0 192.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 0.42666668)) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2589) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 3.0) + (sp-flt spt-scale-x (meters 0.2)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 8.0)) + (sp-rnd-flt spt-r 64.0 192.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 0.42666668)) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2586) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 16.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 192.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-flt spt-fade-a -1.7454545) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2586) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 16.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 192.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-flt spt-fade-a -1.7454545) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2588) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 110.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2588) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 110.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2585) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 16.0) - (sp-flt spt-y (meters 1.0)) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2585) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 16.0) + (sp-flt spt-y (meters 1.0)) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2583) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 1228.8 1228.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.10666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.000909091)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.26666668) - (sp-flt spt-fade-a -0.19393939) - (sp-int-plain-rnd spt-timer 90 149 1) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2583) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 1228.8 1228.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.10666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.000909091)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.26666668) + (sp-flt spt-fade-a -0.19393939) + (sp-int-plain-rnd spt-timer 90 149 1) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2584) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0006190476)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.01904762) - (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 198) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2584) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0006190476)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.01904762) + (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 198) + (sp-end) + ) + ) + ) ;; definition for method 43 of type green-eco-lurker -(defmethod - dummy-43 - green-eco-lurker - ((obj green-eco-lurker) (arg0 process) (arg1 event-message-block)) +(defmethod dummy-43 green-eco-lurker ((obj green-eco-lurker) (arg0 process) (arg1 event-message-block)) (cond - ((= (-> arg0 type) target) - (if - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 'generic - ) - (send-event (ppointer->process (-> obj parent)) 'blob-hit-jak) + ((= (-> arg0 type) target) + (if (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 'generic) + (send-event (ppointer->process (-> obj parent)) 'blob-hit-jak) + ) + #f ) - #f + (else + (nav-enemy-set-hit-from-direction arg0) + ((method-of-type nav-enemy dummy-43) obj arg0 arg1) + ) ) - (else - (nav-enemy-set-hit-from-direction arg0) - ((method-of-type nav-enemy dummy-43) obj arg0 arg1) - ) - ) ) ;; definition for method 73 of type green-eco-lurker -(defmethod - nav-enemy-attack-handler - green-eco-lurker - ((obj green-eco-lurker) (arg0 process) (arg1 event-message-block)) +(defmethod nav-enemy-attack-handler green-eco-lurker ((obj green-eco-lurker) (arg0 process) (arg1 event-message-block)) (cond - ((= (-> arg0 type) target) - (if - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 'generic - ) - (send-event (ppointer->process (-> obj parent)) 'blob-hit-jak) + ((= (-> arg0 type) target) + (if (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 'generic) + (send-event (ppointer->process (-> obj parent)) 'blob-hit-jak) + ) + #f ) - #f + (else + ((method-of-type nav-enemy nav-enemy-attack-handler) obj arg0 arg1) + ) ) - (else - ((method-of-type nav-enemy nav-enemy-attack-handler) obj arg0 arg1) - ) - ) ) ;; definition for method 44 of type green-eco-lurker -(defmethod - dummy-44 - green-eco-lurker - ((obj green-eco-lurker) (arg0 process) (arg1 event-message-block)) - (when - (and - (logtest? (-> obj nav-enemy-flags) 64) - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg1 param 0)) - (-> obj collide-info) - (the-as uint 1) - ) +(defmethod dummy-44 green-eco-lurker ((obj green-eco-lurker) (arg0 process) (arg1 event-message-block)) + (when (and (logtest? (-> obj nav-enemy-flags) 64) ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg1 param 0)) + (-> obj collide-info) + (the-as uint 1) + ) + ) + (if (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 'generic) + (send-event (ppointer->process (-> obj parent)) 'blob-hit-jak) + ) ) - (if - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 'generic - ) - (send-event (ppointer->process (-> obj parent)) 'blob-hit-jak) - ) - ) ) ;; definition for method 72 of type green-eco-lurker -(defmethod - nav-enemy-touch-handler - green-eco-lurker - ((obj green-eco-lurker) (arg0 process) (arg1 event-message-block)) - (when - (and - (logtest? (-> obj nav-enemy-flags) 64) - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg1 param 0)) - (-> obj collide-info) - (the-as uint 1) - ) +(defmethod nav-enemy-touch-handler green-eco-lurker ((obj green-eco-lurker) (arg0 process) (arg1 event-message-block)) + (when (and (logtest? (-> obj nav-enemy-flags) 64) ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg1 param 0)) + (-> obj collide-info) + (the-as uint 1) + ) + ) + (if (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 'generic) + (send-event (ppointer->process (-> obj parent)) 'blob-hit-jak) + ) ) - (if - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 'generic - ) - (send-event (ppointer->process (-> obj parent)) 'blob-hit-jak) - ) - ) ) ;; definition for method 51 of type green-eco-lurker ;; INFO: Return type mismatch symbol vs object. ;; Used lq/sq (defmethod dummy-51 green-eco-lurker ((obj green-eco-lurker) (arg0 vector)) - (when - (or - (not *target*) - (>= (vector-vector-xz-distance arg0 (target-pos 0)) 36864.0) + (when (or (not *target*) (>= (vector-vector-xz-distance arg0 (target-pos 0)) 36864.0)) + (let ((v1-3 (new 'stack-no-clear 'vector))) + (set! (-> v1-3 quad) (-> arg0 quad)) + (set! (-> v1-3 w) (-> obj collide-info root-prim local-sphere w)) + ) + (if (not (TODO-RENAME-50 obj arg0)) + (return (the-as object #t)) + ) ) - (let ((v1-3 (new 'stack-no-clear 'vector))) - (set! (-> v1-3 quad) (-> arg0 quad)) - (set! (-> v1-3 w) (-> obj collide-info root-prim local-sphere w)) - ) - (if (not (TODO-RENAME-50 obj arg0)) - (return (the-as object #t)) - ) - ) #f ) ;; definition for method 52 of type green-eco-lurker (defmethod dummy-52 green-eco-lurker ((obj green-eco-lurker) (arg0 vector)) (let ((s4-0 (-> obj path curve num-cverts))) - (when (> s4-0 0) - (let ((s2-0 (nav-enemy-rnd-int-count s4-0)) - (s3-0 s4-0) + (when (> s4-0 0) + (let ((s2-0 (nav-enemy-rnd-int-count s4-0)) + (s3-0 s4-0) + ) + (while (> s3-0 0) + (eval-path-curve-div! (-> obj path) arg0 (the float s2-0) 'interp) + (if (dummy-51 obj arg0) + (return #t) + ) + (set! s2-0 (mod (+ s2-0 1) s4-0)) + (+! s3-0 -1) ) - (while (> s3-0 0) - (eval-path-curve-div! (-> obj path) arg0 (the float s2-0) 'interp) - (if (dummy-51 obj arg0) - (return #t) - ) - (set! s2-0 (mod (+ s2-0 1) s4-0)) - (+! s3-0 -1) + ) ) - ) ) - ) #f ) ;; failed to figure out what this is: (defstate green-eco-lurker-tune-spheres (green-eco-lurker) :trans - (behavior () - 0 - (none) - ) + (behavior () 0 (none)) :code - (behavior () - 0 - (none) - ) + (behavior () 0 (none)) :post (the-as (function none :behavior green-eco-lurker) transform-post) ) @@ -535,292 +467,184 @@ ;; failed to figure out what this is: (defstate green-eco-lurker-wait-to-appear (green-eco-lurker) :enter - (behavior () - (logior! (-> self draw status) 2) - (clear-collide-with-as (-> self collide-info)) - (none) - ) + (behavior () (logior! (-> self draw status) 2) (clear-collide-with-as (-> self collide-info)) (none)) :exit (behavior () - (set! (-> self draw status) (logand -3 (-> self draw status))) - (restore-collide-with-as (-> self collide-info)) - (none) - ) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (restore-collide-with-as (-> self collide-info)) + (none) + ) :trans (behavior () - (if (dummy-52 self (-> self appear-dest)) - (go green-eco-lurker-appear) + (if (dummy-52 self (-> self appear-dest)) + (go green-eco-lurker-appear) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for method 53 of type green-eco-lurker ;; INFO: Return type mismatch int vs symbol. (defmethod dummy-53 green-eco-lurker ((obj green-eco-lurker)) (the-as symbol (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) - ) - (let ((f0-0 (-> obj appear-dest y)) - (v1-7 (-> obj draw shadow-ctrl)) - ) - (let ((a0-1 v1-7)) - (set! - (-> a0-1 settings flags) - (logand -33 (-> a0-1 settings flags)) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((f0-0 (-> obj appear-dest y)) + (v1-7 (-> obj draw shadow-ctrl)) + ) + (let ((a0-1 v1-7)) + (set! (-> a0-1 settings flags) (logand -33 (-> a0-1 settings flags))) + ) + 0 + (let ((a0-3 v1-7)) + (set! (-> a0-3 settings bot-plane w) (- (+ -6144.0 f0-0))) + ) + 0 + (set! (-> v1-7 settings top-plane w) (- (+ 6144.0 f0-0))) ) - ) 0 - (let ((a0-3 v1-7)) - (set! (-> a0-3 settings bot-plane w) (- (+ -6144.0 f0-0))) + ) + (else + (let ((v1-9 (-> obj draw shadow-ctrl))) + (logior! (-> v1-9 settings flags) 32) + ) + 0 ) - 0 - (set! (-> v1-7 settings top-plane w) (- (+ 6144.0 f0-0))) - ) - 0 ) - (else - (let ((v1-9 (-> obj draw shadow-ctrl))) - (logior! (-> v1-9 settings flags) 32) - ) - 0 - ) - ) - ) + ) ) ;; failed to figure out what this is: (defstate green-eco-lurker-appear (green-eco-lurker) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self played-sound?) #f) - (set! (-> self sound-delay) (nav-enemy-rnd-int-range 30 150)) - (let - ((f0-1 - (- - (-> self appear-dest x) - (-> (the-as robotboss (-> self parent 0)) root-override trans x) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self played-sound?) #f) + (set! (-> self sound-delay) (nav-enemy-rnd-int-range 30 150)) + (let ((f0-1 (- (-> self appear-dest x) (-> (the-as robotboss (-> self parent 0)) root-override trans x)))) + (set! (-> self collide-info trans x) + (+ (-> (the-as robotboss (-> self parent 0)) root-override trans x) (fmax -32768.0 (fmin 32768.0 f0-1))) + ) ) - ) - (set! - (-> self collide-info trans x) - (+ - (-> (the-as robotboss (-> self parent 0)) root-override trans x) - (fmax -32768.0 (fmin 32768.0 f0-1)) - ) - ) - ) - (logior! (-> self collide-info nav-flags) 2) - (set! (-> self nav extra-nav-sphere quad) (-> self appear-dest quad)) - (set! (-> self nav extra-nav-sphere w) 8192.0) - (setup-from-to-duration! - (-> self traj) - (-> self collide-info trans) - (-> self appear-dest) - 225.0 - -9.102222 - ) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self collide-info trans quad)) - (set! (-> gp-0 y) (+ 8192.0 (-> gp-0 y))) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (logior! (-> self collide-info nav-flags) 2) + (set! (-> self nav extra-nav-sphere quad) (-> self appear-dest quad)) + (set! (-> self nav extra-nav-sphere w) 8192.0) + (setup-from-to-duration! (-> self traj) (-> self collide-info trans) (-> self appear-dest) 225.0 -9.102222) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self collide-info trans quad)) + (set! (-> gp-0 y) (+ 8192.0 (-> gp-0 y))) + (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-0 + (let ((t9-3 (method-of-type part-tracker activate))) + (t9-3 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 643) -1 #f #f #f gp-0) + (-> s5-0 ppointer) + ) ) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 643) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-0 ppointer) ) - ) + (let ((gp-1 (new 'stack-no-clear 'vector))) + (vector-! gp-1 (-> self appear-dest) (-> self collide-info trans)) + (set! (-> gp-1 y) 0.0) + (vector-normalize! gp-1 1.0) + (forward-up->quaternion (-> self collide-info quat) gp-1 *up-vector*) + ) + (none) ) - (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector-! gp-1 (-> self appear-dest) (-> self collide-info trans)) - (set! (-> gp-1 y) 0.0) - (vector-normalize! gp-1 1.0) - (forward-up->quaternion (-> self collide-info quat) gp-1 *up-vector*) - ) - (none) - ) :trans (behavior () - (let - ((f30-0 - (fmin - (the float (- (-> *display* base-frame-counter) (-> self state-time))) - (-> self traj time) - ) + (let ((f30-0 (fmin (the float (- (-> *display* base-frame-counter) (-> self state-time))) (-> self traj time)))) + (eval-position! (-> self traj) f30-0 (-> self collide-info trans)) + (when (= f30-0 (-> self traj time)) + (logior! (-> self collide-info nav-flags) 1) + (set! (-> self collide-info nav-flags) (logand -3 (-> self collide-info nav-flags))) + (go green-eco-lurker-appear-land) + ) ) - ) - (eval-position! (-> self traj) f30-0 (-> self collide-info trans)) - (when (= f30-0 (-> self traj time)) - (logior! (-> self collide-info nav-flags) 1) - (set! - (-> self collide-info nav-flags) - (logand -3 (-> self collide-info nav-flags)) + (when (and + (not (-> self played-sound?)) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self sound-delay)) + ) + (set! (-> self played-sound?) #t) + (sound-play-by-name + (static-sound-name "blob-jump") + (new-sound-id) + 1024 + (the int (* 1524.0 (nav-enemy-rnd-float-range -0.5 0.5))) + 0 + 1 + #t + ) ) - (go green-eco-lurker-appear-land) - ) + (dummy-53 self) + 0 + (none) ) - (when - (and - (not (-> self played-sound?)) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self sound-delay) - ) - ) - (set! (-> self played-sound?) #t) - (sound-play-by-name - (static-sound-name "blob-jump") - (new-sound-id) - 1024 - (the int (* 1524.0 (nav-enemy-rnd-float-range -0.5 0.5))) - 0 - 1 - #t - ) - ) - (dummy-53 self) - 0 - (none) - ) :code (behavior () - (ja-channel-push! 1 60) - (sound-play-by-name - (static-sound-name "blob-out") - (new-sound-id) - 1024 - (the int (* 1524.0 (nav-enemy-rnd-float-range -1.0 1.0))) - 0 - 1 - #t - ) - (cond - ((zero? (nav-enemy-rnd-int-count 2)) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! - (-> a0-4 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 11)) - data - 0 - length - ) - -1 + (ja-channel-push! 1 60) + (sound-play-by-name + (static-sound-name "blob-out") + (new-sound-id) + 1024 + (the int (* 1524.0 (nav-enemy-rnd-float-range -1.0 1.0))) + 0 + 1 + #t + ) + (cond + ((zero? (nav-enemy-rnd-int-count 2)) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> a0-4 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) + ) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-7 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length - ) - -1 + (until (ja-done? 0) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) ) + ) + (else + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-7 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-7 param 1) 1.0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) + (set! (-> a0-8 param 1) 1.0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) ) - (until (ja-done? 0) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 param 0) - (the float (+ (-> a0-8 frame-group data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - ) + (none) ) - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - ) - (none) - ) :post (the-as (function none :behavior green-eco-lurker) transform-post) ) @@ -829,83 +653,57 @@ (defstate green-eco-lurker-appear-land (green-eco-lurker) :event (the-as - (function process int symbol event-message-block object :behavior green-eco-lurker) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior green-eco-lurker) + nav-enemy-default-event-handler + ) :code (behavior () - (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) - (sound-play-by-name - (static-sound-name "blob-land") - (new-sound-id) - 1024 - (the int (* 1524.0 (nav-enemy-rnd-float-range -1.0 1.0))) - 0 - 1 - #t - ) - (let ((v1-4 (-> self draw shadow-ctrl))) - (let ((a0-4 v1-4)) - (set! (-> a0-4 settings bot-plane w) (- -7168.0)) - ) - 0 - (let ((a0-6 v1-4)) - (set! (-> a0-6 settings top-plane w) (- 2048.0)) - ) - 0 - (set! (-> v1-4 settings flags) (logand -9 (-> v1-4 settings flags))) - (set! (-> v1-4 settings flags) (logand -5 (-> v1-4 settings flags))) - (set! (-> v1-4 settings flags) (logand -33 (-> v1-4 settings flags))) - ) - 0 - (ja-channel-push! 1 60) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-15 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length + (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) + (sound-play-by-name + (static-sound-name "blob-land") + (new-sound-id) + 1024 + (the int (* 1524.0 (nav-enemy-rnd-float-range -1.0 1.0))) + 0 + 1 + #t + ) + (let ((v1-4 (-> self draw shadow-ctrl))) + (let ((a0-4 v1-4)) + (set! (-> a0-4 settings bot-plane w) (- -7168.0)) ) - -1 - ) + 0 + (let ((a0-6 v1-4)) + (set! (-> a0-6 settings top-plane w) (- 2048.0)) + ) + 0 + (set! (-> v1-4 settings flags) (logand -9 (-> v1-4 settings flags))) + (set! (-> v1-4 settings flags) (logand -5 (-> v1-4 settings flags))) + (set! (-> v1-4 settings flags) (logand -33 (-> v1-4 settings flags))) ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) + 0 + (ja-channel-push! 1 60) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-15 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (logior! (-> self nav-enemy-flags) 2) + (go-virtual nav-enemy-chase) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (logior! (-> self nav-enemy-flags) 2) - (go-virtual nav-enemy-chase) - (none) - ) :post (the-as (function none :behavior green-eco-lurker) transform-post) ) @@ -915,14 +713,14 @@ :virtual #t :code (behavior () - (ja-channel-push! 1 60) - (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) - (if t9-1 - ((the-as (function none) t9-1)) - ) + (ja-channel-push! 1 60) + (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-patrol) code))) + (if t9-1 + ((the-as (function none) t9-1)) + ) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -930,111 +728,67 @@ :virtual #t :code (behavior () - (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 8) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (ja-channel-push! 1 60) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - ) - (set! - (-> a0-7 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) + (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 8) ) - data - 0 - length + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) ) - -1 + (ja-channel-push! 1 60) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) + (set! (-> a0-7 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-7 param 1) f30-0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! + a0-7 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) + (set! (-> a0-8 param 1) f30-0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (ja-channel-push! 1 60) + (let ((v1-42 (-> self skel root-channel 0))) + (set! (-> v1-42 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) + ) + ) + (let ((v1-45 (-> self skel root-channel 0))) + (set! (-> v1-45 num-func) num-func-identity) + (set! (-> v1-45 frame-num) 0.0) + ) ) - ) ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - num-func-seek! + (while #t + (suspend) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) f30-0) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) + ) ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 param 0) - (the float (+ (-> a0-8 frame-group data 0 length) -1)) - ) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - (else - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! - (-> v1-42 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - ) - ) - (let ((v1-45 (-> self skel root-channel 0))) - (set! (-> v1-45 num-func) num-func-identity) - (set! (-> v1-45 frame-num) 0.0) - ) - ) - ) - (while #t - (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) f30-0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -1042,55 +796,37 @@ :virtual #t :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-channel-push! 1 22) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) + ) + (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) + (set! (-> gp-0 param 1) 0.5) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! + gp-0 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) + num-func-seek! + ) ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.5) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) + (set! (-> gp-1 param 1) 0.5) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (go-virtual nav-enemy-chase) + (none) ) - (go-virtual nav-enemy-chase) - (none) - ) ) ;; failed to figure out what this is: @@ -1098,144 +834,118 @@ :virtual #t :enter (behavior () - (send-event (ppointer->process (-> self parent)) 'blob-died) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker gp-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (send-event (ppointer->process (-> self parent)) 'blob-died) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-2 (method-of-type part-tracker activate))) + (t9-2 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + part-tracker-init + (-> *part-group-id-table* 643) + -1 + #f + #f + #f + (-> self collide-info trans) + ) + (-> gp-0 ppointer) + ) ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 643) - -1 - #f - #f - #f - (-> self collide-info trans) + (sound-play-by-name (static-sound-name "blob-explode") (new-sound-id) 1024 0 0 1 #t) + (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) + (let ((v1-14 (-> self draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) ) - (-> gp-0 ppointer) - ) - ) - (sound-play-by-name - (static-sound-name "blob-explode") - (new-sound-id) - 1024 0 - 0 - 1 - #t + (let ((t9-7 (-> (method-of-type nav-enemy nav-enemy-die) enter))) + (if t9-7 + (t9-7) + ) + ) + (none) ) - (activate! *camera-smush-control* 409.6 37 150 1.0 0.99) - (let ((v1-14 (-> self draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - (let ((t9-7 (-> (method-of-type nav-enemy nav-enemy-die) enter))) - (if t9-7 - (t9-7) - ) - ) - (none) - ) ) ;; definition for method 47 of type green-eco-lurker ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision green-eco-lurker ((obj green-eco-lurker)) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 7) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 transform-index) 4) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 -4096.0 20480.0) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 1) + (set-vector! (-> s3-0 local-sphere) 0.0 2785.28 0.0 3276.8) + (append-prim s4-0 s3-0) + ) + (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 1) + (set-vector! (-> s3-1 local-sphere) 0.0 6615.04 0.0 3276.8) + (append-prim s4-0 s3-1) + ) + (let ((s3-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-2 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-2 collide-with) (the-as uint 16)) + (set! (-> s3-2 prim-core action) (the-as uint 1)) + (set! (-> s3-2 prim-core offense) 1) + (set-vector! (-> s3-2 local-sphere) 0.0 10444.8 0.0 3276.8) + (append-prim s4-0 s3-2) + ) + (let ((s3-3 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> s3-3 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-3 collide-with) (the-as uint 16)) + (set! (-> s3-3 prim-core offense) 2) + (set! (-> s3-3 transform-index) 6) + (set-vector! (-> s3-3 local-sphere) 0.0 0.0 0.0 3276.8) + (append-prim s4-0 s3-3) + ) + (let ((s3-4 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> s3-4 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-4 collide-with) (the-as uint 16)) + (set! (-> s3-4 prim-core offense) 2) + (set! (-> s3-4 transform-index) 4) + (set-vector! (-> s3-4 local-sphere) 0.0 -3276.8 -2048.0 5734.4) + (append-prim s4-0 s3-4) + ) + (let ((s3-5 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> s3-5 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-5 collide-with) (the-as uint 16)) + (set! (-> s3-5 prim-core offense) 2) + (set! (-> s3-5 transform-index) 12) + (set-vector! (-> s3-5 local-sphere) 0.0 0.0 0.0 2457.6) + (append-prim s4-0 s3-5) + ) + (let ((s3-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> s3-6 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-6 collide-with) (the-as uint 16)) + (set! (-> s3-6 prim-core offense) 2) + (set! (-> s3-6 transform-index) 16) + (set-vector! (-> s3-6 local-sphere) 0.0 0.0 0.0 2457.6) + (append-prim s4-0 s3-6) + ) ) - ) + (set! (-> s5-0 nav-radius) 8192.0) + (backup-collide-with-as s5-0) + (set! (-> s5-0 max-iteration-count) (the-as uint 2)) + (set! (-> obj collide-info) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 7) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 transform-index) 4) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 -4096.0 20480.0) - (set-root-prim! s5-0 s4-0) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 1) - (set-vector! (-> s3-0 local-sphere) 0.0 2785.28 0.0 3276.8) - (append-prim s4-0 s3-0) - ) - (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 1) - (set-vector! (-> s3-1 local-sphere) 0.0 6615.04 0.0 3276.8) - (append-prim s4-0 s3-1) - ) - (let ((s3-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-2 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-2 collide-with) (the-as uint 16)) - (set! (-> s3-2 prim-core action) (the-as uint 1)) - (set! (-> s3-2 prim-core offense) 1) - (set-vector! (-> s3-2 local-sphere) 0.0 10444.8 0.0 3276.8) - (append-prim s4-0 s3-2) - ) - (let ((s3-3 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) - (set! (-> s3-3 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-3 collide-with) (the-as uint 16)) - (set! (-> s3-3 prim-core offense) 2) - (set! (-> s3-3 transform-index) 6) - (set-vector! (-> s3-3 local-sphere) 0.0 0.0 0.0 3276.8) - (append-prim s4-0 s3-3) - ) - (let ((s3-4 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) - (set! (-> s3-4 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-4 collide-with) (the-as uint 16)) - (set! (-> s3-4 prim-core offense) 2) - (set! (-> s3-4 transform-index) 4) - (set-vector! (-> s3-4 local-sphere) 0.0 -3276.8 -2048.0 5734.4) - (append-prim s4-0 s3-4) - ) - (let ((s3-5 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) - (set! (-> s3-5 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-5 collide-with) (the-as uint 16)) - (set! (-> s3-5 prim-core offense) 2) - (set! (-> s3-5 transform-index) 12) - (set-vector! (-> s3-5 local-sphere) 0.0 0.0 0.0 2457.6) - (append-prim s4-0 s3-5) - ) - (let ((s3-6 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) - (set! (-> s3-6 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-6 collide-with) (the-as uint 16)) - (set! (-> s3-6 prim-core offense) 2) - (set! (-> s3-6 transform-index) 16) - (set-vector! (-> s3-6 local-sphere) 0.0 0.0 0.0 2457.6) - (append-prim s4-0 s3-6) - ) - ) - (set! (-> s5-0 nav-radius) 8192.0) - (backup-collide-with-as s5-0) - (set! (-> s5-0 max-iteration-count) (the-as uint 2)) - (set! (-> obj collide-info) s5-0) - ) 0 (none) ) @@ -1245,10 +955,7 @@ (defmethod TODO-RENAME-48 green-eco-lurker ((obj green-eco-lurker)) (initialize-skeleton obj *green-eco-lurker-sg* '()) (set! (-> obj draw origin-joint-index) (the-as uint 3)) - (set! - (-> obj collide-info nav-flags) - (logand -2 (-> obj collide-info nav-flags)) - ) + (set! (-> obj collide-info nav-flags) (logand -2 (-> obj collide-info nav-flags))) (TODO-RENAME-45 obj *green-eco-lurker-nav-enemy-info*) (logior! (-> obj draw shadow-ctrl settings flags) 4) (set! (-> obj neck up) (the-as uint 0)) @@ -1261,9 +968,7 @@ ;; definition for function green-eco-lurker-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - green-eco-lurker-init-by-other green-eco-lurker - ((arg0 entity) (arg1 green-eco-lurker-gen) (arg2 vector)) +(defbehavior green-eco-lurker-init-by-other green-eco-lurker ((arg0 entity) (arg1 green-eco-lurker-gen) (arg2 vector)) (initialize-collision self) (set! (-> self collide-info trans quad) (-> arg2 quad)) (vector-identity! (-> self collide-info scale)) @@ -1279,74 +984,61 @@ (defstate spawn-minions (green-eco-lurker-gen) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('blob-died) - (set! (-> self num-alive) (max 0 (+ (-> self num-alive) -1))) - (send-event (ppointer->process (-> self parent)) 'blob-died) + (case arg2 + (('blob-died) + (set! (-> self num-alive) (max 0 (+ (-> self num-alive) -1))) + (send-event (ppointer->process (-> self parent)) 'blob-died) + ) + (('blob-hit-jak) + (send-event (ppointer->process (-> self parent)) 'blob-hit-jak) + ) ) - (('blob-hit-jak) - (send-event (ppointer->process (-> self parent)) 'blob-hit-jak) - ) ) - ) :code (behavior () - (while (< (-> self num-spawned) (-> self num-to-spawn)) - (when (< (-> self num-alive) 3) - (when (nonzero? (-> self num-spawned)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (suspend) - ) - ) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root trans quad)) - (set! (-> gp-0 y) (+ -16384.0 (-> gp-0 y))) - (let ((s5-0 (get-process *default-dead-pool* green-eco-lurker #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type green-eco-lurker activate))) - (t9-1 - (the-as green-eco-lurker s5-0) - self - 'green-eco-lurker - (the-as pointer #x70004000) + (while (< (-> self num-spawned) (-> self num-to-spawn)) + (when (< (-> self num-alive) 3) + (when (nonzero? (-> self num-spawned)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (suspend) + ) ) - ) - (run-now-in-process - s5-0 - green-eco-lurker-init-by-other - (-> self entity) - self - gp-0 - ) - (-> s5-0 ppointer) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self root trans quad)) + (set! (-> gp-0 y) (+ -16384.0 (-> gp-0 y))) + (let ((s5-0 (get-process *default-dead-pool* green-eco-lurker #x4000))) + (when s5-0 + (let ((t9-1 (method-of-type green-eco-lurker activate))) + (t9-1 (the-as green-eco-lurker s5-0) self 'green-eco-lurker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 green-eco-lurker-init-by-other (-> self entity) self gp-0) + (-> s5-0 ppointer) + ) + ) + ) + (+! (-> self num-spawned) 1) + (+! (-> self num-alive) 1) ) - ) + (suspend) + ) + (while (> (-> self num-alive) 0) + (suspend) + ) + (send-event (ppointer->process (-> self parent)) 'trigger) + (until (not (-> self child)) + (suspend) ) - (+! (-> self num-spawned) 1) - (+! (-> self num-alive) 1) - ) (suspend) + 0 + (none) ) - (while (> (-> self num-alive) 0) - (suspend) - ) - (send-event (ppointer->process (-> self parent)) 'trigger) - (until (not (-> self child)) - (suspend) - ) - (suspend) - 0 - (none) - ) ) ;; definition for function green-eco-lurker-gen-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - green-eco-lurker-gen-init-by-other green-eco-lurker-gen - ((arg0 entity) (arg1 vector) (arg2 int)) +(defbehavior green-eco-lurker-gen-init-by-other green-eco-lurker-gen ((arg0 entity) (arg1 vector) (arg2 int)) (set! (-> self num-to-spawn) arg2) (set! (-> self num-spawned) 0) (set! (-> self num-alive) 0) diff --git a/test/decompiler/reference/levels/finalboss/light-eco_REF.gc b/test/decompiler/reference/levels/finalboss/light-eco_REF.gc index 8b87b95bfb..24b0392e12 100644 --- a/test/decompiler/reference/levels/finalboss/light-eco_REF.gc +++ b/test/decompiler/reference/levels/finalboss/light-eco_REF.gc @@ -30,8 +30,8 @@ ;; definition for method 3 of type light-eco-child (defmethod inspect light-eco-child ((obj light-eco-child)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tangle-bit: ~D~%" (-> obj angle-bit)) (format #t "~T~Tground-y: ~f~%" (-> obj ground-y)) (format #t "~T~Tfalling-start-time: ~D~%" (-> obj falling-start-time)) @@ -68,8 +68,8 @@ ;; definition for method 3 of type light-eco-mother (defmethod inspect light-eco-mother ((obj light-eco-mother)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tplayer-got-eco?: ~A~%" (-> obj player-got-eco?)) (format #t "~T~Tangle-mask: ~D~%" (-> obj angle-mask)) (format #t "~T~Tdelay-til-spawn: ~D~%" (-> obj delay-til-spawn)) @@ -98,511 +98,434 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 690) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-light-eco-mother-growing" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2902) - (sp-item 2900) - (sp-item 2897) - (sp-item 2898) - ) - :bounds (new 'static 'sphere :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 690) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-light-eco-mother-growing" + :launcher + (new 'static 'inline-array sparticle-group-item 4 (sp-item 2902) (sp-item 2900) (sp-item 2897) (sp-item 2898)) + :bounds (new 'static 'sphere :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2897) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-scale-x (meters 10.5) (meters 4.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.1) (meters 1.8) 1.0) - (sp-rnd-int spt-r 0 1 255.0) - (sp-rnd-int spt-g 0 1 255.0) - (sp-rnd-int spt-b 0 1 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 0.35555556) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 2899) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2897) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-scale-x (meters 10.5) (meters 4.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.1) (meters 1.8) 1.0) + (sp-rnd-int spt-r 0 1 255.0) + (sp-rnd-int spt-g 0 1 255.0) + (sp-rnd-int spt-b 0 1 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 0.35555556) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 2899) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2899) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2899) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.53333336) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2898) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-scale-x (meters 20.0) (meters 4.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 1.2)) - (sp-rnd-int spt-r 0 1 255.0) - (sp-rnd-int spt-g 0 1 255.0) - (sp-rnd-int spt-b 0 1 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 232) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2898) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-scale-x (meters 20.0) (meters 4.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 1.2)) + (sp-rnd-int spt-r 0 1 255.0) + (sp-rnd-int spt-g 0 1 255.0) + (sp-rnd-int spt-b 0 1 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 232) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2900) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-z -4.096 8.192 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 5.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.016666668)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 240 59 1) - (sp-launcher-by-id spt-next-launcher 2901) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2900) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-z -4.096 8.192 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 5.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.016666668)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 240 59 1) + (sp-launcher-by-id spt-next-launcher 2901) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2901) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2901) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.21333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2902) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 8.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00083333335)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) - (sp-flt spt-friction 0.9) - (sp-int-plain-rnd spt-timer 30 149 1) - (sp-cpuinfo-flags bit0 bit2 bit3) - (sp-flt spt-userdata 1638400.0) - (sp-func spt-func 'check-drop-level-lighteco-big-pops) - (sp-int-plain-rnd spt-next-time 45 299 1) - (sp-launcher-by-id spt-next-launcher 2903) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) - (sp-flt spt-conerot-radius (meters 4.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2902) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 8.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00083333335)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) + (sp-flt spt-friction 0.9) + (sp-int-plain-rnd spt-timer 30 149 1) + (sp-cpuinfo-flags bit0 bit2 bit3) + (sp-flt spt-userdata 1638400.0) + (sp-func spt-func 'check-drop-level-lighteco-big-pops) + (sp-int-plain-rnd spt-next-time 45 299 1) + (sp-launcher-by-id spt-next-launcher 2903) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) + (sp-flt spt-conerot-radius (meters 4.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2903) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-userdata 2252800.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2903) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-userdata 2252800.0) (sp-end)) + ) + ) ;; definition for function check-drop-level-lighteco-big-pops -(defun - check-drop-level-lighteco-big-pops - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-lighteco-big-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2904) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2905) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2904) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2905) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) ) - ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2905) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-fade-a -1.92) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2905) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-fade-a -1.92) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2904) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 4.0 4.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) - (sp-flt spt-friction 0.85) - (sp-int-plain-rnd spt-timer 15 119 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2904) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 4.0 4.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) + (sp-flt spt-friction 0.85) + (sp-int-plain-rnd spt-timer 15 119 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 691) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-light-eco-mother" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2902) - (sp-item 2900) - (sp-item 2897) - (sp-item 2898) - ) - :bounds (new 'static 'sphere :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 691) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-light-eco-mother" + :launcher + (new 'static 'inline-array sparticle-group-item 4 (sp-item 2902) (sp-item 2900) (sp-item 2897) (sp-item 2898)) + :bounds (new 'static 'sphere :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 692) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-light-eco-child" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2906) - (sp-item 2907) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) +(set! (-> *part-group-id-table* 692) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-light-eco-child" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2906) (sp-item 2907)) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2907) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.025 0.025 1.0) - (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-z -4.096 8.192 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 120 29 1) - (sp-launcher-by-id spt-next-launcher 2908) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2907) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.025 0.025 1.0) + (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-z -4.096 8.192 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 120 29 1) + (sp-launcher-by-id spt-next-launcher 2908) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2908) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.85333335) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2908) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.85333335) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2906) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 2.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.3) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00083333335)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) - (sp-flt spt-friction 0.5) - (sp-int-plain-rnd spt-timer 30 149 1) - (sp-cpuinfo-flags bit0 bit2 bit3) - (sp-flt spt-userdata 1638400.0) - (sp-func spt-func 'check-drop-level-lighteco-pops) - (sp-int-plain-rnd spt-next-time 45 299 1) - (sp-launcher-by-id spt-next-launcher 2909) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2906) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 2.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.3) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00083333335)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) + (sp-flt spt-friction 0.5) + (sp-int-plain-rnd spt-timer 30 149 1) + (sp-cpuinfo-flags bit0 bit2 bit3) + (sp-flt spt-userdata 1638400.0) + (sp-func spt-func 'check-drop-level-lighteco-pops) + (sp-int-plain-rnd spt-next-time 45 299 1) + (sp-launcher-by-id spt-next-launcher 2909) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2909) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-userdata 2048000.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2909) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-userdata 2048000.0) (sp-end)) + ) + ) ;; definition for function check-drop-level-lighteco-pops -(defun - check-drop-level-lighteco-pops - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-lighteco-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2910) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2911) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2910) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2911) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) ) - ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2911) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-fade-a -1.92) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2911) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-fade-a -1.92) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2910) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 4.0 4.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) - (sp-flt spt-friction 0.85) - (sp-int-plain-rnd spt-timer 15 119 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2910) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 4.0 4.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) + (sp-flt spt-friction 0.85) + (sp-int-plain-rnd spt-timer 15 119 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition for function light-eco-child-default-event-handler -(defbehavior - light-eco-child-default-event-handler light-eco-child - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touch 'attack) +(defbehavior light-eco-child-default-event-handler light-eco-child ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('touch 'attack) (when (= (-> arg0 type) target) - (send-event - (ppointer->process (-> self parent)) - 'trigger - (-> self angle-bit) + (send-event (ppointer->process (-> self parent)) 'trigger (-> self angle-bit)) + (go light-eco-child-grabbed) ) - (go light-eco-child-grabbed) - ) ) - ) + ) ) ;; definition for method 20 of type light-eco-child ;; INFO: Return type mismatch object vs none. (defmethod common-trans light-eco-child ((obj light-eco-child)) (let ((v1-1 (-> *display* base-frame-counter))) - (when (!= v1-1 (-> obj last-update-time)) - (set! (-> obj last-update-time) v1-1) - (let* ((s5-0 (new 'stack-no-clear 'vector)) - (s4-0 (-> obj rot)) - (f30-0 (-> s4-0 w)) - ) - (vector-v++! s4-0 (-> obj rotv)) - (set! - (-> s4-0 w) - (+ f30-0 (* (-> obj rotv w) (-> *display* seconds-per-frame))) + (when (!= v1-1 (-> obj last-update-time)) + (set! (-> obj last-update-time) v1-1) + (let* ((s5-0 (new 'stack-no-clear 'vector)) + (s4-0 (-> obj rot)) + (f30-0 (-> s4-0 w)) + ) + (vector-v++! s4-0 (-> obj rotv)) + (set! (-> s4-0 w) (+ f30-0 (* (-> obj rotv w) (-> *display* seconds-per-frame)))) + (set-vector! s5-0 (cos (-> s4-0 x)) (cos (-> s4-0 y)) (cos (-> s4-0 z)) 1.0) + (vector-normalize! s5-0 1.0) + (quaternion-vector-angle! (-> obj root-override quat) s5-0 f30-0) + ) + (spawn (-> obj part) (-> obj root-override trans)) ) - (set-vector! - s5-0 - (cos (-> s4-0 x)) - (cos (-> s4-0 y)) - (cos (-> s4-0 z)) - 1.0 - ) - (vector-normalize! s5-0 1.0) - (quaternion-vector-angle! (-> obj root-override quat) s5-0 f30-0) - ) - (spawn (-> obj part) (-> obj root-override trans)) ) - ) (none) ) @@ -611,46 +534,32 @@ :event light-eco-child-default-event-handler :enter - (behavior () - (set! (-> self falling-start-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self falling-start-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (let - ((f30-0 - (fmin - (the - float - (- (-> *display* base-frame-counter) (-> self falling-start-time)) - ) - (-> self traj time) - ) + (let ((f30-0 + (fmin (the float (- (-> *display* base-frame-counter) (-> self falling-start-time))) (-> self traj time)) + ) + ) + (eval-position! (-> self traj) f30-0 (-> self root-override trans)) + (if (= f30-0 (-> self traj time)) + (go light-eco-child-hit-ground) + ) ) - ) - (eval-position! (-> self traj) f30-0 (-> self root-override trans)) - (if (= f30-0 (-> self traj time)) - (go light-eco-child-hit-ground) - ) + (common-trans self) + (none) ) - (common-trans self) - (none) - ) :code (behavior () - (while #t - (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! - a0-0 - (the-as art-joint-anim #f) - num-func-loop! + (while #t + (suspend) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 1.0) + (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) + ) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior light-eco-child) transform-post) ) @@ -660,84 +569,52 @@ :event light-eco-child-default-event-handler :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (let - ((f30-0 - (+ - (-> self root-override transv y) - (* -544768.0 (-> *display* seconds-per-frame)) - ) + (let ((f30-0 (+ (-> self root-override transv y) (* -544768.0 (-> *display* seconds-per-frame))))) + (when (and (< f30-0 0.0) (>= (-> self ground-y) (-> self root-override trans y))) + (if (>= 4096.0 (fabs f30-0)) + (go light-eco-child-idle) + ) + (set! (-> self root-override transv y) 0.0) + (vector-normalize! (-> self root-override transv) (* 0.25 (vector-xz-length (-> self root-override transv)))) + (set! f30-0 (* 0.35 (- f30-0))) + ) + (set! (-> self root-override transv y) f30-0) ) - ) - (when - (and (< f30-0 0.0) (>= (-> self ground-y) (-> self root-override trans y))) - (if (>= 4096.0 (fabs f30-0)) - (go light-eco-child-idle) + (vector-v+! (-> self root-override trans) (-> self root-override trans) (-> self root-override transv)) + (let ((f0-8 (vector-vector-xz-distance + (-> self root-override trans) + (-> (the-as light-eco-mother (-> self parent 0)) root trans) + ) + ) + ) + (when (< 92610.56 f0-8) + (let ((gp-1 (new 'stack-no-clear 'vector))) + (vector-! gp-1 (-> self root-override trans) (-> (the-as light-eco-mother (-> self parent 0)) root trans)) + (set! (-> gp-1 y) 0.0) + (vector-normalize! gp-1 92610.56) + (vector+! gp-1 gp-1 (-> (the-as light-eco-mother (-> self parent 0)) root trans)) + (set! (-> gp-1 y) (-> self root-override trans y)) + (set! (-> self root-override trans quad) (-> gp-1 quad)) + ) + ) ) - (set! (-> self root-override transv y) 0.0) - (vector-normalize! - (-> self root-override transv) - (* 0.25 (vector-xz-length (-> self root-override transv))) - ) - (set! f30-0 (* 0.35 (- f30-0))) - ) - (set! (-> self root-override transv y) f30-0) + (common-trans self) + (none) ) - (vector-v+! - (-> self root-override trans) - (-> self root-override trans) - (-> self root-override transv) - ) - (let - ((f0-8 - (vector-vector-xz-distance - (-> self root-override trans) - (-> (the-as light-eco-mother (-> self parent 0)) root trans) - ) - ) - ) - (when (< 92610.56 f0-8) - (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector-! - gp-1 - (-> self root-override trans) - (-> (the-as light-eco-mother (-> self parent 0)) root trans) - ) - (set! (-> gp-1 y) 0.0) - (vector-normalize! gp-1 92610.56) - (vector+! - gp-1 - gp-1 - (-> (the-as light-eco-mother (-> self parent 0)) root trans) - ) - (set! (-> gp-1 y) (-> self root-override trans y)) - (set! (-> self root-override trans quad) (-> gp-1 quad)) - ) - ) - ) - (common-trans self) - (none) - ) :code (behavior () - (while #t - (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! - a0-0 - (the-as art-joint-anim #f) - num-func-loop! + (while #t + (suspend) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 1.0) + (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) + ) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior light-eco-child) transform-post) ) @@ -747,33 +624,26 @@ :event light-eco-child-default-event-handler :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 1200) - (go light-eco-child-die) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 1200) + (go light-eco-child-die) + ) + (common-trans self) + (none) ) - (common-trans self) - (none) - ) :code (behavior () - (while #t - (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! - a0-0 - (the-as art-joint-anim #f) - num-func-loop! + (while #t + (suspend) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 1.0) + (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) + ) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior light-eco-child) transform-post) ) @@ -782,111 +652,84 @@ (defstate light-eco-child-die (light-eco-child) :code (behavior () - (send-event - (ppointer->process (-> self parent)) - 'untrigger - (-> self angle-bit) + (send-event (ppointer->process (-> self parent)) 'untrigger (-> self angle-bit)) + (clear-collide-with-as (-> self root-override)) + (logior! (-> self draw status) 2) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (suspend) + ) + (none) ) - (clear-collide-with-as (-> self root-override)) - (logior! (-> self draw status) 2) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (suspend) - ) - (none) - ) ) ;; failed to figure out what this is: (defstate light-eco-child-grabbed (light-eco-child) :code - (behavior () - (suspend) - 0 - (none) - ) + (behavior () (suspend) 0 (none)) ) ;; definition for function light-eco-child-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - light-eco-child-init-by-other light-eco-child - ((arg0 entity) (arg1 vector) (arg2 vector) (arg3 int)) +(defbehavior light-eco-child-init-by-other light-eco-child ((arg0 entity) (arg1 vector) (arg2 vector) (arg3 int)) (set! (-> self entity) arg0) (set! (-> self angle-bit) arg3) (set! (-> self ground-y) (-> arg2 y)) (set! (-> self last-update-time) 0) (set-vector! - (-> self rotv) - (rand-vu-float-range 5898.24 9539.129) - (rand-vu-float-range 5552.3555 9193.244) - (rand-vu-float-range 6007.467 9648.355) - (rand-vu-float-range 11013.688 18295.467) - ) - (set-vector! - (-> self rot) - (rand-vu-float-range 0.0 65536.0) - (rand-vu-float-range 0.0 65536.0) - (rand-vu-float-range 0.0 65536.0) - (rand-vu-float-range 0.0 65536.0) - ) - (let - ((s4-2 (new 'process 'collide-shape self (collide-list-enum hit-by-player)))) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-2 (the-as uint 0)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core offense) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 4096.0) - (set-root-prim! s4-2 s3-0) + (-> self rotv) + (rand-vu-float-range 5898.24 9539.129) + (rand-vu-float-range 5552.3555 9193.244) + (rand-vu-float-range 6007.467 9648.355) + (rand-vu-float-range 11013.688 18295.467) + ) + (set-vector! + (-> self rot) + (rand-vu-float-range 0.0 65536.0) + (rand-vu-float-range 0.0 65536.0) + (rand-vu-float-range 0.0 65536.0) + (rand-vu-float-range 0.0 65536.0) + ) + (let ((s4-2 (new 'process 'collide-shape self (collide-list-enum hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-2 (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core offense) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 4096.0) + (set-root-prim! s4-2 s3-0) + ) + (set! (-> s4-2 nav-radius) (* 0.75 (-> s4-2 root-prim local-sphere w))) + (backup-collide-with-as s4-2) + (set! (-> self root-override) s4-2) ) - (set! (-> s4-2 nav-radius) (* 0.75 (-> s4-2 root-prim local-sphere w))) - (backup-collide-with-as s4-2) - (set! (-> self root-override) s4-2) - ) (set! (-> self root-override trans quad) (-> arg1 quad)) (set-vector! (-> self root-override scale) 2.0 2.0 2.0 1.0) (quaternion-identity! (-> self root-override quat)) - (setup-from-to-height! - (-> self traj) - (-> self root-override trans) - arg2 - 4096.0 - -4.551111 - ) + (setup-from-to-height! (-> self traj) (-> self root-override trans) arg2 4096.0 -4.551111) (let ((s4-3 (-> self root-override transv))) - (vector-! s4-3 arg2 arg1) - (set! (-> s4-3 y) 0.0) - (vector-normalize! s4-3 163840.0) - (set! (-> s4-3 y) -122880.0) - ) + (vector-! s4-3 arg2 arg1) + (set! (-> s4-3 y) 0.0) + (vector-normalize! s4-3 163840.0) + (set! (-> s4-3 y) -122880.0) + ) (logclear! (-> self mask) (process-mask actor-pause)) (initialize-skeleton self *light-eco-small-sg* '()) (ja-channel-set! 1) (let ((a0-21 (-> self skel root-channel 0))) - (set! - (-> a0-21 param 0) - (the float (+ (-> a0-21 frame-group data 0 length) -1)) + (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) + (set! (-> a0-21 param 1) 1.0) + (joint-control-channel-group! a0-21 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group! - a0-21 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 5)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) ) - (set! (-> gp-1 frame-num) 0.0) - ) - (set! - (-> self part) - (create-launch-control (-> *part-group-id-table* 692) self) - ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 692) self)) (transform-post) (go light-eco-child-appear) (none) @@ -896,150 +739,110 @@ ;; INFO: Return type mismatch int vs none. (defmethod common-trans light-eco-mother ((obj light-eco-mother)) (let ((v1-1 (-> *display* base-frame-counter))) - (when (!= v1-1 (-> obj last-update-time)) - (set! (-> obj last-update-time) v1-1) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (set-vector! - s5-0 - (cos - (* 25.700392 (the float (mod (-> *display* base-frame-counter) 2550))) - ) - (cos - (* 24.59229 (the float (mod (-> *display* base-frame-counter) 2664))) - ) - (cos - (* 26.121408 (the float (mod (-> *display* base-frame-counter) 2508))) - ) - 1.0 - ) - (vector-normalize! s5-0 1.0) - (quaternion-vector-angle! - (-> obj root quat) - s5-0 - (* 48.860058 (the float (mod (-> *display* base-frame-counter) 1341))) - ) - ) - (cond - ((and *target* (logtest? (-> *target* state-flags) 256)) - (set! (-> obj last-spawned-time) (-> *display* base-frame-counter)) - (set! (-> obj delay-til-spawn) 2400) - ) - (else - (when - (>= - (- (-> *display* base-frame-counter) (-> obj last-spawned-time)) - (-> obj delay-til-spawn) + (when (!= v1-1 (-> obj last-update-time)) + (set! (-> obj last-update-time) v1-1) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (set-vector! + s5-0 + (cos (* 25.700392 (the float (mod (-> *display* base-frame-counter) 2550)))) + (cos (* 24.59229 (the float (mod (-> *display* base-frame-counter) 2664)))) + (cos (* 26.121408 (the float (mod (-> *display* base-frame-counter) 2508)))) + 1.0 + ) + (vector-normalize! s5-0 1.0) + (quaternion-vector-angle! + (-> obj root quat) + s5-0 + (* 48.860058 (the float (mod (-> *display* base-frame-counter) 1341))) + ) ) - (when (spawn-child-eco obj) - (set! (-> obj last-spawned-time) (-> *display* base-frame-counter)) - (set! (-> obj delay-til-spawn) (rand-vu-int-range 300 600)) + (cond + ((and *target* (logtest? (-> *target* state-flags) 256)) + (set! (-> obj last-spawned-time) (-> *display* base-frame-counter)) + (set! (-> obj delay-til-spawn) 2400) + ) + (else + (when (>= (- (-> *display* base-frame-counter) (-> obj last-spawned-time)) (-> obj delay-til-spawn)) + (when (spawn-child-eco obj) + (set! (-> obj last-spawned-time) (-> *display* base-frame-counter)) + (set! (-> obj delay-til-spawn) (rand-vu-int-range 300 600)) + ) + ) + ) ) - ) + (update! (-> obj sound)) + 0 ) - ) - (update! (-> obj sound)) - 0 ) - ) (none) ) ;; definition for method 20 of type light-eco-mother (defmethod spawn-child-eco light-eco-mother ((obj light-eco-mother)) (countdown (s3-0 4) - (let ((gp-0 (rand-vu-int-count 32))) - (when (zero? (logand (-> obj angle-mask) (ash 1 gp-0))) - (let ((f28-0 (* 2048.0 (the float gp-0))) - (f30-0 (rand-vu-float-range 61440.0 88514.56)) - (s4-0 (new 'stack-no-clear 'vector)) - ) - (set-vector! s4-0 (* (sin f28-0) f30-0) 0.0 (* (cos f28-0) f30-0) 1.0) - (vector+! s4-0 s4-0 (-> obj root trans)) - (set! (-> s4-0 y) 1974272.0) - (when - (or - (not *target*) - (>= (vector-vector-xz-distance s4-0 (target-pos 0)) 49152.0) - ) - (logior! (-> obj angle-mask) (ash 1 gp-0)) - (let ((s3-1 (get-process *default-dead-pool* light-eco-child #x4000))) - (when s3-1 - (let ((t9-7 (method-of-type light-eco-child activate))) - (t9-7 - (the-as light-eco-child s3-1) - obj - 'light-eco-child - (the-as pointer #x70004000) - ) + (let ((gp-0 (rand-vu-int-count 32))) + (when (zero? (logand (-> obj angle-mask) (ash 1 gp-0))) + (let ((f28-0 (* 2048.0 (the float gp-0))) + (f30-0 (rand-vu-float-range 61440.0 88514.56)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (set-vector! s4-0 (* (sin f28-0) f30-0) 0.0 (* (cos f28-0) f30-0) 1.0) + (vector+! s4-0 s4-0 (-> obj root trans)) + (set! (-> s4-0 y) 1974272.0) + (when (or (not *target*) (>= (vector-vector-xz-distance s4-0 (target-pos 0)) 49152.0)) + (logior! (-> obj angle-mask) (ash 1 gp-0)) + (let ((s3-1 (get-process *default-dead-pool* light-eco-child #x4000))) + (when s3-1 + (let ((t9-7 (method-of-type light-eco-child activate))) + (t9-7 (the-as light-eco-child s3-1) obj 'light-eco-child (the-as pointer #x70004000)) + ) + (run-now-in-process s3-1 light-eco-child-init-by-other (-> obj entity) (-> obj root trans) s4-0 gp-0) + (-> s3-1 ppointer) + ) + ) + (return #t) + ) ) - (run-now-in-process - s3-1 - light-eco-child-init-by-other - (-> obj entity) - (-> obj root trans) - s4-0 - gp-0 - ) - (-> s3-1 ppointer) - ) ) - (return #t) - ) ) - ) ) - ) #f ) ;; definition for function light-eco-mother-default-event-handler ;; INFO: Return type mismatch object vs int. -(defbehavior - light-eco-mother-default-event-handler light-eco-mother - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior light-eco-mother-default-event-handler light-eco-mother ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as int (cond - ((= v1-0 'untrigger) - (the-as int (when (= (-> arg0 type) light-eco-child) - (let* ((a1-3 (-> arg3 param 0)) - (v0-0 - (logxor (-> self angle-mask) (ash 1 a1-3)) - ) - ) - (set! (-> self angle-mask) v0-0) - v0-0 - ) - ) - ) - ) - ((= v1-0 'trigger) - (the-as int (when (not (-> self player-got-eco?)) - (set! (-> self player-got-eco?) #t) - (let - ((a1-5 - (new 'stack-no-clear 'event-message-block) + (the-as int (cond + ((= v1-0 'untrigger) + (the-as int (when (= (-> arg0 type) light-eco-child) + (let* ((a1-3 (-> arg3 param 0)) + (v0-0 (logxor (-> self angle-mask) (ash 1 a1-3))) + ) + (set! (-> self angle-mask) v0-0) + v0-0 + ) ) - ) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 0) - (set! (-> a1-5 message) 'white-eco-picked-up) - (the-as - int - (send-event-function - (ppointer->process (-> self parent)) - a1-5 + ) + ) + ((= v1-0 'trigger) + (the-as int (when (not (-> self player-got-eco?)) + (set! (-> self player-got-eco?) #t) + (let ((a1-5 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-5 from) self) + (set! (-> a1-5 num-params) 0) + (set! (-> a1-5 message) 'white-eco-picked-up) + (the-as int (send-event-function (ppointer->process (-> self parent)) a1-5)) + ) ) - ) - ) - ) + ) + ) + ((= v1-0 'beam-off) + (the-as int (go light-eco-mother-discipate)) + ) ) - ) - ((= v1-0 'beam-off) - (the-as int (go light-eco-mother-discipate)) - ) - ) + ) ) - ) ) ;; failed to figure out what this is: @@ -1047,40 +850,22 @@ :event light-eco-mother-default-event-handler :trans - (behavior () - (common-trans self) - (spawn (-> self part2) (-> self root trans)) - (none) - ) + (behavior () (common-trans self) (spawn (-> self part2) (-> self root trans)) (none)) :code (behavior () - (while (!= (-> self root scale x) 12.0) - (let - ((f0-3 - (seek-with-smooth - (-> self root scale x) - 12.0 - (* 6.0 (-> *display* seconds-per-frame)) - 0.25 - 0.001 + (while (!= (-> self root scale x) 12.0) + (let ((f0-3 (seek-with-smooth (-> self root scale x) 12.0 (* 6.0 (-> *display* seconds-per-frame)) 0.25 0.001))) + (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) + ) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) ) - ) ) - (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) - ) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) + (go light-eco-mother-active) + (none) ) - (go light-eco-mother-active) - (none) - ) :post (the-as (function none :behavior light-eco-mother) ja-post) ) @@ -1090,27 +875,18 @@ :event light-eco-mother-default-event-handler :trans - (behavior () - (common-trans self) - (spawn (-> self part) (-> self root trans)) - 0 - (none) - ) + (behavior () (common-trans self) (spawn (-> self part) (-> self root trans)) 0 (none)) :code (behavior () - (while #t - (suspend) - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group-eval! - a0-0 - (the-as art-joint-anim #f) - num-func-loop! + (while #t + (suspend) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 1.0) + (joint-control-channel-group-eval! a0-0 (the-as art-joint-anim #f) num-func-loop!) + ) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior light-eco-mother) ja-post) ) @@ -1120,42 +896,25 @@ :event light-eco-mother-default-event-handler :trans - (behavior () - (common-trans self) - (none) - ) + (behavior () (common-trans self) (none)) :code (behavior () - (while (!= (-> self root scale x) 0.0) - (let - ((f0-3 - (seek-with-smooth - (-> self root scale x) - 0.0 - (* 12.0 (-> *display* seconds-per-frame)) - 0.5 - 0.001 + (while (!= (-> self root scale x) 0.0) + (let ((f0-3 (seek-with-smooth (-> self root scale x) 0.0 (* 12.0 (-> *display* seconds-per-frame)) 0.5 0.001))) + (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) + ) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) ) - ) ) - (set-vector! (-> self root scale) f0-3 f0-3 f0-3 1.0) - ) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-loop! + (logior! (-> self draw status) 2) + (until (not (-> self child)) + (suspend) ) - ) + (none) ) - (logior! (-> self draw status) 2) - (until (not (-> self child)) - (suspend) - ) - (none) - ) :post (the-as (function none :behavior light-eco-mother) ja-post) ) @@ -1163,8 +922,8 @@ ;; definition for method 10 of type light-eco-mother (defmethod deactivate light-eco-mother ((obj light-eco-mother)) (if (nonzero? (-> obj part2)) - (kill-and-free-particles (-> obj part2)) - ) + (kill-and-free-particles (-> obj part2)) + ) ((method-of-type projectile deactivate) (the-as projectile obj)) (none) ) @@ -1173,20 +932,15 @@ ;; INFO: Return type mismatch projectile vs light-eco-mother. (defmethod relocate light-eco-mother ((obj light-eco-mother) (arg0 int)) (if (nonzero? (-> obj part2)) - (&+! (-> obj part2) arg0) - ) - (the-as - light-eco-mother - ((method-of-type projectile relocate) (the-as projectile obj) arg0) - ) + (&+! (-> obj part2) arg0) + ) + (the-as light-eco-mother ((method-of-type projectile relocate) (the-as projectile obj) arg0)) ) ;; definition for function light-eco-mother-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - light-eco-mother-init-by-other light-eco-mother - ((arg0 entity) (arg1 vector)) +(defbehavior light-eco-mother-init-by-other light-eco-mother ((arg0 entity) (arg1 vector)) (set! (-> self entity) arg0) (set! (-> self last-update-time) 0) (set! (-> self last-spawned-time) (-> *display* base-frame-counter)) @@ -1201,55 +955,44 @@ (initialize-skeleton self *light-eco-big-sg* '()) (ja-channel-set! 1) (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) - ) (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) ) - (set! (-> gp-1 frame-num) 0.0) - ) - (set! - (-> self part) - (create-launch-control (-> *part-group-id-table* 691) self) - ) - (set! - (-> self part2) - (create-launch-control (-> *part-group-id-table* 690) self) - ) - (set! - (-> self sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #xc0 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "white-eco-lp") - :volume #x400 - :fo-min #x12c - :fo-max #x190 - ) - (-> self root trans) - ) - ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 691) self)) + (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 690) self)) + (set! (-> self sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #xc0 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "white-eco-lp") + :volume #x400 + :fo-min #x12c + :fo-max #x190 + ) + (-> self root trans) + ) + ) (ja-post) (let ((f0-4 0.0)) - (countdown (v1-33 4) - (let ((a2-4 (the int (* 0.00048828125 f0-4)))) - (logior! (-> self angle-mask) (ash 1 a2-4)) - ) - (set! f0-4 (+ 16384.0 f0-4)) + (countdown (v1-33 4) + (let ((a2-4 (the int (* 0.00048828125 f0-4)))) + (logior! (-> self angle-mask) (ash 1 a2-4)) + ) + (set! f0-4 (+ 16384.0 f0-4)) + ) ) - ) (go light-eco-mother-appear) (none) ) diff --git a/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc index e378b76e45..6b1c0e2a36 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-h_REF.gc @@ -84,8 +84,8 @@ ;; definition for method 3 of type robotboss (defmethod inspect robotboss ((obj robotboss)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Talts[13] @ #x~X~%" (-> obj alts)) (format #t "~T~Tdesired-loc: #~%" (-> obj desired-loc)) (format #t "~T~Told-loc: #~%" (-> obj old-loc)) @@ -122,37 +122,37 @@ ;; INFO: Return type mismatch process-drawable vs robotboss. (defmethod relocate robotboss ((obj robotboss) (arg0 int)) (dotimes (v1-0 7) - (if (nonzero? (-> obj particle v1-0)) - (&+! (-> obj particle v1-0) arg0) + (if (nonzero? (-> obj particle v1-0)) + (&+! (-> obj particle v1-0) arg0) + ) ) - ) (dotimes (v1-3 4) - (if (nonzero? (-> obj looping-sound v1-3)) - (&+! (-> obj looping-sound v1-3) arg0) + (if (nonzero? (-> obj looping-sound v1-3)) + (&+! (-> obj looping-sound v1-3) arg0) + ) ) - ) (if (nonzero? (-> obj yellow-gun)) - (&+! (-> obj yellow-gun) arg0) - ) + (&+! (-> obj yellow-gun) arg0) + ) (the-as robotboss ((method-of-type process-drawable relocate) obj arg0)) ) ;; definition for method 10 of type robotboss (defmethod deactivate robotboss ((obj robotboss)) (dotimes (s5-0 7) - (let ((a0-1 (-> obj particle s5-0))) - (if (nonzero? a0-1) - (kill-and-free-particles a0-1) - ) + (let ((a0-1 (-> obj particle s5-0))) + (if (nonzero? a0-1) + (kill-and-free-particles a0-1) + ) + ) ) - ) (dotimes (s5-1 4) - (let ((a0-2 (-> obj looping-sound s5-1))) - (if (nonzero? a0-2) - (stop! a0-2) - ) + (let ((a0-2 (-> obj looping-sound s5-1))) + (if (nonzero? a0-2) + (stop! a0-2) + ) + ) ) - ) ((method-of-type process-drawable deactivate) obj) (none) ) @@ -161,22 +161,17 @@ ;; INFO: Return type mismatch basic vs symbol. (defun target-has-all-the-cells? () (with-pp - (the-as - symbol - (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) pp) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'pickup)) - (set! (-> a1-0 param 1) (the-as uint 6)) - (>= - (the int (the-as float (send-event-function *target* a1-0))) - 100 - ) - ) - ) + (the-as symbol (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) pp) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'pickup)) + (set! (-> a1-0 param 1) (the-as uint 6)) + (>= (the int (the-as float (send-event-function *target* a1-0))) 100) + ) + ) + ) ) - ) ) ;; failed to figure out what this is: diff --git a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc index e6560c3e91..1c20fe4fb4 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-misc_REF.gc @@ -14,87 +14,76 @@ (defstate cam-robotboss (camera-slave) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('set-pivot) - (let ((v0-0 (the-as object (-> self pivot-pt)))) - (set! - (-> (the-as vector v0-0) quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - v0-0 + (case arg2 + (('set-pivot) + (let ((v0-0 (the-as object (-> self pivot-pt)))) + (set! (-> (the-as vector v0-0) quad) (-> (the-as vector (-> arg3 param 0)) quad)) + v0-0 + ) ) + (('teleport) + #f + ) + (else + (cam-standard-event-handler arg0 arg1 arg2 arg3) + ) ) - (('teleport) - #f - ) - (else - (cam-standard-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (cond - ((-> self enter-has-run) - ) - (else - (set! *camera-base-mode* cam-robotboss) - (set! (-> self circular-follow quad) (-> *camera* tpos-curr-adj quad)) - (set! (-> self pivot-rad) 73728.0) - (set! (-> self blend-from-type) (the-as uint 2)) - (set! (-> self blend-to-type) (the-as uint 2)) - ) + (cond + ((-> self enter-has-run) + ) + (else + (set! *camera-base-mode* cam-robotboss) + (set! (-> self circular-follow quad) (-> *camera* tpos-curr-adj quad)) + (set! (-> self pivot-rad) 73728.0) + (set! (-> self blend-from-type) (the-as uint 2)) + (set! (-> self blend-to-type) (the-as uint 2)) + ) + ) + (none) ) - (none) - ) :trans (behavior () - (when (zero? (logand (-> *camera* master-options) 2)) - (set! *camera-base-mode* cam-string) - (cam-slave-go cam-free-floating) + (when (zero? (logand (-> *camera* master-options) 2)) + (set! *camera-base-mode* cam-string) + (cam-slave-go cam-free-floating) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (when #t - (let ((a2-0 (new-stack-vector0))) - (vector-! a2-0 (-> *camera* tpos-curr-adj) (-> self pivot-pt)) - (vector-! - (-> self circular-follow) - (-> self circular-follow) - (-> self pivot-pt) - ) - (v-slrp3! - (-> self circular-follow) - (-> self circular-follow) - a2-0 - (-> *camera* local-down) - (* 182.04445 (-> *display* time-adjust-ratio)) - ) - ) - (vector+! - (-> self circular-follow) - (-> self circular-follow) - (-> self pivot-pt) - ) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-! gp-0 (-> self circular-follow) (-> self pivot-pt)) - (vector-flatten! gp-0 gp-0 (-> *camera* local-down)) - (let ((f0-3 (- (vector-length gp-0) (-> self pivot-rad)))) - (if (>= 0.0 f0-3) - (vector-reset! gp-0) - (vector-normalize! gp-0 f0-3) + (while #t + (when #t + (let ((a2-0 (new-stack-vector0))) + (vector-! a2-0 (-> *camera* tpos-curr-adj) (-> self pivot-pt)) + (vector-! (-> self circular-follow) (-> self circular-follow) (-> self pivot-pt)) + (v-slrp3! + (-> self circular-follow) + (-> self circular-follow) + a2-0 + (-> *camera* local-down) + (* 182.04445 (-> *display* time-adjust-ratio)) + ) + ) + (vector+! (-> self circular-follow) (-> self circular-follow) (-> self pivot-pt)) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector-! gp-0 (-> self circular-follow) (-> self pivot-pt)) + (vector-flatten! gp-0 gp-0 (-> *camera* local-down)) + (let ((f0-3 (- (vector-length gp-0) (-> self pivot-rad)))) + (if (>= 0.0 f0-3) + (vector-reset! gp-0) + (vector-normalize! gp-0 f0-3) + ) + ) + (vector+! (-> self trans) gp-0 (-> self pivot-pt)) + ) ) - ) - (vector+! (-> self trans) gp-0 (-> self pivot-pt)) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition of type ecoclaw-part-info @@ -130,8 +119,8 @@ ;; definition for method 3 of type ecoclaw (defmethod inspect ecoclaw ((obj ecoclaw)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tparticles[3] @ #x~X~%" (-> obj particles)) obj ) @@ -155,31 +144,31 @@ (f30-0 (vector-y-angle gp-1)) (f0-1 (- 16384.0 (vector-x-angle gp-1))) ) - (set! (-> *part-id-table* 2727 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2727 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2729 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2729 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2726 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2726 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2720 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2720 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2722 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2722 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2719 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2719 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2734 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2734 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2736 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2736 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2733 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2733 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2741 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2741 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2743 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2743 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2740 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2740 init-specs 13 initial-valuef) f0-1) - ) + (set! (-> *part-id-table* 2727 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2727 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2729 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2729 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2726 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2726 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2720 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2720 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2722 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2722 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2719 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2719 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2734 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2734 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2736 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2736 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2733 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2733 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2741 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2741 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2743 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2743 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2740 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2740 init-specs 13 initial-valuef) f0-1) + ) 0 (none) ) @@ -189,103 +178,68 @@ ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 28] ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 79] ;; Used lq/sq -(defbehavior - ecoclaw-handler ecoclaw - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior ecoclaw-handler ecoclaw ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'open) - (let ((gp-1 (-> arg3 param 0))) - (set! - (-> self particles 0 kind) - (the-as - basic - (if - (and - (nonzero? gp-1) - (type-type? (rtype-of gp-1) sparticle-launch-group) + (the-as + object + (cond + ((= v1-0 'open) + (let ((gp-1 (-> arg3 param 0))) + (set! (-> self particles 0 kind) + (the-as basic (if (and (nonzero? gp-1) (type-type? (rtype-of gp-1) sparticle-launch-group)) + gp-1 + ) ) - gp-1 - ) - ) - ) - ) - (set! - (-> self particles 0 trans quad) - (-> self root trans quad) - ) - (let ((f0-1 (+ 12288.0 (-> self particles 0 trans y)))) - (set! (-> self particles 0 trans y) f0-1) - f0-1 - ) - ) - ((= v1-0 'beam-on) - (let ((s5-0 (-> arg3 param 0))) - (set! - (-> self particles 1 kind) - (the-as - basic - (if - (and - (nonzero? s5-0) - (type-type? (rtype-of s5-0) sparticle-launch-group) + ) + ) + (set! (-> self particles 0 trans quad) (-> self root trans quad)) + (let ((f0-1 (+ 12288.0 (-> self particles 0 trans y)))) + (set! (-> self particles 0 trans y) f0-1) + f0-1 + ) + ) + ((= v1-0 'beam-on) + (let ((s5-0 (-> arg3 param 0))) + (set! (-> self particles 1 kind) + (the-as basic (if (and (nonzero? s5-0) (type-type? (rtype-of s5-0) sparticle-launch-group)) + s5-0 + ) ) - s5-0 - ) - ) - ) - ) - (set! - (-> self particles 1 trans quad) - (-> self root trans quad) - ) - (set! - (-> self particles 1 trans y) - (+ 24576.0 (-> self particles 1 trans y)) - ) - (let ((s5-1 (-> arg3 param 1))) - (set! - (-> self particles 2 kind) - (the-as - basic - (if - (and - (nonzero? s5-1) - (type-type? (rtype-of s5-1) sparticle-launch-group) + ) + ) + (set! (-> self particles 1 trans quad) (-> self root trans quad)) + (set! (-> self particles 1 trans y) (+ 24576.0 (-> self particles 1 trans y))) + (let ((s5-1 (-> arg3 param 1))) + (set! (-> self particles 2 kind) + (the-as basic (if (and (nonzero? s5-1) (type-type? (rtype-of s5-1) sparticle-launch-group)) + s5-1 + ) ) - s5-1 - ) - ) - ) - ) - (set! - (-> self particles 2 trans quad) - (-> (the-as vector (-> arg3 param 2)) quad) - ) - (let ((f0-5 (+ 81920.0 (-> self particles 2 trans y)))) - (set! (-> self particles 2 trans y) f0-5) - f0-5 - ) - ) - ((= v1-0 'beam-off) - (set! (-> self particles 1 kind) #f) - (set! (-> self particles 2 kind) #f) - (let - ((a0-10 (handle->process (-> self particles 1 tracker)))) - (if a0-10 - (deactivate a0-10) - ) - ) - (let - ((a0-14 (handle->process (-> self particles 2 tracker)))) - (if a0-14 - (deactivate a0-14) - ) - ) - ) - ) + ) + ) + (set! (-> self particles 2 trans quad) (-> (the-as vector (-> arg3 param 2)) quad)) + (let ((f0-5 (+ 81920.0 (-> self particles 2 trans y)))) + (set! (-> self particles 2 trans y) f0-5) + f0-5 + ) + ) + ((= v1-0 'beam-off) + (set! (-> self particles 1 kind) #f) + (set! (-> self particles 2 kind) #f) + (let ((a0-10 (handle->process (-> self particles 1 tracker)))) + (if a0-10 + (deactivate a0-10) + ) + ) + (let ((a0-14 (handle->process (-> self particles 2 tracker)))) + (if a0-14 + (deactivate a0-14) + ) + ) + ) + ) + ) ) - ) ) ;; failed to figure out what this is: @@ -294,139 +248,84 @@ ecoclaw-handler :trans (behavior () - (if (-> self particles 1 kind) - (draw-eco-beam - (the-as vector (&-> self stack 112)) - (the-as vector (&-> self stack 144)) - ) - ) - (dotimes (gp-0 2) - (cond - ((handle->process (-> self particles gp-0 tracker)) - (set! - (-> - (the-as part-tracker (-> self particles gp-0 tracker process 0)) - start-time + (if (-> self particles 1 kind) + (draw-eco-beam (the-as vector (&-> self stack 112)) (the-as vector (&-> self stack 144))) ) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ((-> self particles gp-0 kind) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self particles gp-0 tracker) (ppointer->handle (when s5-0 - (let - ((t9-2 - (method-of-type - part-tracker - activate - ) - ) - ) - (t9-2 - (the-as - part-tracker - s5-0 - ) - self - 'part-tracker - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> - self - particles - gp-0 - kind - ) - -1 - ecoclaw-beam-particle-callback - (-> - self - ppointer - ) - #f - (&+ - (&-> - self - stack - 80 - ) - (* gp-0 32) - ) - ) - (-> - s5-0 - ppointer - ) - ) - ) + (dotimes (gp-0 2) + (cond + ((handle->process (-> self particles gp-0 tracker)) + (set! (-> (the-as part-tracker (-> self particles gp-0 tracker process 0)) start-time) + (the-as uint (-> *display* base-frame-counter)) + ) + ) + ((-> self particles gp-0 kind) + (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) + (set! (-> self particles gp-0 tracker) + (ppointer->handle (when s5-0 + (let ((t9-2 (method-of-type part-tracker activate))) + (t9-2 (the-as part-tracker s5-0) self 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-0 + part-tracker-init + (-> self particles gp-0 kind) + -1 + ecoclaw-beam-particle-callback + (-> self ppointer) + #f + (&+ (&-> self stack 80) (* gp-0 32)) + ) + (-> s5-0 ppointer) + ) + ) + ) + ) + ) ) - ) ) - ) + (none) ) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! + (while #t + (suspend) ) - ) + (none) ) - (while #t - (suspend) - ) - (none) - ) :post (the-as (function none :behavior ecoclaw) ja-post) ) @@ -437,14 +336,14 @@ ecoclaw-handler :code (behavior () - (while #t - (if (-> self particles 0 kind) - (go ecoclaw-activate) - ) - (suspend) + (while #t + (if (-> self particles 0 kind) + (go ecoclaw-activate) + ) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior ecoclaw) ja-post) ) @@ -456,9 +355,9 @@ (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *ecoclaw-sg* '()) (dotimes (v1-3 3) - (set! (-> obj particles v1-3 kind) #f) - (set! (-> obj particles v1-3 tracker) (the-as handle #f)) - ) + (set! (-> obj particles v1-3 kind) #f) + (set! (-> obj particles v1-3 tracker) (the-as handle #f)) + ) (set! *ecoclaw* (the-as (pointer ecoclaw) (process->ppointer obj))) (go ecoclaw-idle) (none) @@ -481,8 +380,8 @@ ;; definition for method 3 of type silodoor (defmethod inspect silodoor ((obj silodoor)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpart-opened: ~f~%" (-> obj part-opened)) obj ) @@ -501,71 +400,52 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('open) - (let ((f0-0 (the-as float (-> arg3 param 0)))) - (set! (-> self part-opened) f0-0) - f0-0 + (case arg2 + (('open) + (let ((f0-0 (the-as float (-> arg3 param 0)))) + (set! (-> self part-opened) f0-0) + f0-0 + ) + ) + (('hide) + (go-virtual hidden) ) ) - (('hide) - (go-virtual hidden) - ) ) - ) :trans (the-as (function none :behavior silodoor) rider-trans) :code (behavior () - (while #t - (when (not (movie?)) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 param 0) - (* (-> self part-opened) (the float (ja-num-frames 0))) - ) - (set! (-> gp-0 param 1) 0.01) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (cond - ((< - 0.01 - (fabs - (- - (* (-> self part-opened) (the float (ja-num-frames 0))) - (ja-aframe-num 0) + (while #t + (when (not (movie?)) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 param 0) (* (-> self part-opened) (the float (ja-num-frames 0)))) + (set! (-> gp-0 param 1) 0.01) + (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-seek!) + ) + (cond + ((< 0.01 (fabs (- (* (-> self part-opened) (the float (ja-num-frames 0))) (ja-aframe-num 0)))) + (if (nonzero? (-> self sound)) + (update! (-> self sound)) + ) + ) + ((nonzero? (-> self sound)) + (stop! (-> self sound)) + ) ) - ) ) - (if (nonzero? (-> self sound)) - (update! (-> self sound)) - ) - ) - ((nonzero? (-> self sound)) - (stop! (-> self sound)) - ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) :post (behavior () - (if - (and - (< (vector-vector-xz-distance (target-pos 0) (-> self root trans)) 57344.0) - (not (ja-min? 0)) - ) - (rider-post) - (transform-post) + (if (and (< (vector-vector-xz-distance (target-pos 0) (-> self root trans)) 57344.0) (not (ja-min? 0))) + (rider-post) + (transform-post) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -573,159 +453,101 @@ :virtual #t :code (behavior () - (if (nonzero? (-> self sound)) - (stop! (-> self sound)) + (if (nonzero? (-> self sound)) + (stop! (-> self sound)) + ) + (logior! (-> self draw status) 2) + (ja-post) + (while (not (task-closed? (game-task finalboss-movies) (task-status need-reminder-a))) + (suspend) + ) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (let ((v1-12 (-> self skel root-channel 0))) + (set! (-> v1-12 num-func) num-func-identity) + (set! (-> v1-12 frame-num) 0.0) + ) + (set! (-> self part-opened) 0.0) + (go-virtual idle) + (none) ) - (logior! (-> self draw status) 2) - (ja-post) - (while - (not - (task-closed? (game-task finalboss-movies) (task-status need-reminder-a)) - ) - (suspend) - ) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (let ((v1-12 (-> self skel root-channel 0))) - (set! (-> v1-12 num-func) num-func-identity) - (set! (-> v1-12 frame-num) 0.0) - ) - (set! (-> self part-opened) 0.0) - (go-virtual idle) - (none) - ) ) ;; definition for method 11 of type silodoor ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! silodoor ((obj silodoor) (arg0 entity-actor)) - (let - ((s4-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 4) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 102400.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 19)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 5) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 102400.0) + (append-prim s3-0 s2-0) + ) + (let ((s2-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 19)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 4) + (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 102400.0) + (append-prim s3-0 s2-1) + ) + (let ((s2-2 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 2) (the-as uint 0)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core action) (the-as uint 19)) + (set! (-> s2-2 prim-core offense) 4) + (set! (-> s2-2 transform-index) 7) + (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 102400.0) + (append-prim s3-0 s2-2) + ) + (let ((s2-3 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 3) (the-as uint 0)))) + (set! (-> s2-3 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-3 collide-with) (the-as uint 16)) + (set! (-> s2-3 prim-core action) (the-as uint 19)) + (set! (-> s2-3 prim-core offense) 4) + (set! (-> s2-3 transform-index) 6) + (set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 102400.0) + (append-prim s3-0 s2-3) + ) ) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 4) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 102400.0) - (set-root-prim! s4-0 s3-0) - (let - ((s2-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 19)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 5) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 102400.0) - (append-prim s3-0 s2-0) - ) - (let - ((s2-1 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 19)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 4) - (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 102400.0) - (append-prim s3-0 s2-1) - ) - (let - ((s2-2 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 2) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core action) (the-as uint 19)) - (set! (-> s2-2 prim-core offense) 4) - (set! (-> s2-2 transform-index) 7) - (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 102400.0) - (append-prim s3-0 s2-2) - ) - (let - ((s2-3 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 3) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-3 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-3 collide-with) (the-as uint 16)) - (set! (-> s2-3 prim-core action) (the-as uint 19)) - (set! (-> s2-3 prim-core offense) 4) - (set! (-> s2-3 transform-index) 6) - (set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 102400.0) - (append-prim s3-0 s2-3) - ) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *silodoor-sg* '()) (logior! (-> obj skel status) 1) (set! (-> obj root pause-adjust-distance) 1228800.0) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "silo-moves") - :volume #x400 - :fo-max 80 - ) - (-> obj root trans) - ) - ) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "silo-moves") + :volume #x400 + :fo-max 80 + ) + (-> obj root trans) + ) + ) (logclear! (-> obj mask) (process-mask actor-pause crate enemy attackable)) (set! (-> obj part-opened) 0.0) (go (method-of-object obj idle)) @@ -745,8 +567,8 @@ ;; definition for method 3 of type finalbosscam (defmethod inspect finalbosscam ((obj finalbosscam)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Trobotboss: ~D~%" (-> obj robotboss)) obj ) @@ -764,9 +586,9 @@ ;; INFO: Return type mismatch int vs none. (defbehavior robotboss-manipy-trans-hook robotboss () (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 7)) - (spawn (-> self part) gp-0) - ) + (vector<-cspace! gp-0 (-> self node-list data 7)) + (spawn (-> self part) gp-0) + ) 0 (none) ) @@ -775,70 +597,39 @@ ;; INFO: Return type mismatch spool-anim vs basic. (defmethod play-anim! finalbosscam ((obj finalbosscam) (arg0 symbol)) (when arg0 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj robotboss) (ppointer->handle (when s5-0 - (let - ((t9-1 - (method-of-type - manipy - activate - ) - ) - ) - (t9-1 - (the-as manipy s5-0) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *robotboss-sg* - #f - ) - (-> s5-0 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj robotboss)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj robotboss)) 'center-joint 3) - (send-event (handle->process (-> obj robotboss)) 'origin-joint-index 3) - (send-event - (handle->process (-> obj robotboss)) - 'trans-hook - robotboss-manipy-trans-hook - ) - (send-event - (handle->process (-> obj robotboss)) - 'eval - (lambda :behavior finalbosscam - () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 645) self))) - (set! (-> self part) v0-0) - v0-0 + (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj robotboss) + (ppointer->handle + (when s5-0 + (let ((t9-1 (method-of-type manipy activate))) + (t9-1 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *robotboss-sg* #f) + (-> s5-0 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj robotboss)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj robotboss)) 'center-joint 3) + (send-event (handle->process (-> obj robotboss)) 'origin-joint-index 3) + (send-event (handle->process (-> obj robotboss)) 'trans-hook robotboss-manipy-trans-hook) + (send-event + (handle->process (-> obj robotboss)) + 'eval + (lambda :behavior finalbosscam () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 645) self))) + (set! (-> self part) v0-0) + v0-0 + ) + ) + ) + (let ((v1-43 (handle->process (-> obj robotboss)))) + (if v1-43 + (set! (-> (the-as robotboss v1-43) draw bounds w) 327680.0) + ) ) - ) ) - (let ((v1-43 (handle->process (-> obj robotboss)))) - (if v1-43 - (set! (-> (the-as robotboss v1-43) draw bounds w) 327680.0) - ) - ) - ) - (the-as - basic - (new 'static 'spool-anim - :name "finalbosscam-white-eco" - :index 3 - :parts 3 - :command-list '() - ) - ) + (the-as basic (new 'static 'spool-anim :name "finalbosscam-white-eco" :index 3 :parts 3 :command-list '())) ) ;; definition for method 31 of type finalbosscam @@ -856,14 +647,14 @@ :virtual #t :exit (behavior () - (let ((a0-1 (handle->process (-> self robotboss)))) - (if a0-1 - (deactivate a0-1) - ) + (let ((a0-1 (handle->process (-> self robotboss)))) + (if a0-1 + (deactivate a0-1) + ) + ) + ((-> (method-of-type process-taskable play-anim) exit)) + (none) ) - ((-> (method-of-type process-taskable play-anim) exit)) - (none) - ) ) ;; definition for function finalbosscam-init-by-other diff --git a/test/decompiler/reference/levels/finalboss/robotboss-part_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-part_REF.gc index 3854dfe6a9..d56daa3d7b 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-part_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-part_REF.gc @@ -2,4472 +2,4050 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 636) - (new 'static 'sparticle-launch-group - :length 26 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-blue-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 26 - (sp-item 2680) - (sp-item 2545 :binding 2542) - (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) - (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) - (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) - (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) - (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) - (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) - (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) - (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) - (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) - (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) - (sp-item 2543 :flags (bit1 start-dead)) - (sp-item 2544 :flags (bit1 start-dead)) - (sp-item 2543 :flags (bit1 start-dead)) - (sp-item 2544 :flags (bit1 start-dead)) - (sp-item 2543 :flags (bit1 start-dead)) - (sp-item 2544 :flags (bit1 start-dead)) - (sp-item 2543 :flags (bit1 start-dead)) - (sp-item 2544 :flags (bit1 start-dead)) - (sp-item 2543 :flags (bit1 start-dead)) - (sp-item 2544 :flags (bit1 start-dead)) - (sp-item 2543 :flags (bit1 start-dead)) - (sp-item 2546) - (sp-item 2548) - (sp-item 2547) - ) - :bounds (new 'static 'sphere :w 139264.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 637) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-blue-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 2681) - (sp-item 2682 :period 336 :length 5) - (sp-item 2682 :period 140 :length 5) - (sp-item 2682 :period 61 :length 5) - (sp-item 2683) - (sp-item 2549) - ) - :bounds (new 'static 'sphere :w 139264.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2681) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.1 0.1 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 6.0) (meters 9.0) 1.0) - (sp-flt spt-r 192.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 0.42666668)) - (sp-flt spt-fade-r -2.1333334) - (sp-flt spt-fade-g -1.4222223) - (sp-flt spt-fade-b 0.7111111) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2683) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 30 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters -2.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.2) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-x 2.7306666 1.3653333 1.0) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.97) - (sp-int spt-timer 810) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2684) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 45.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2684) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.07111111) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2549) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.25) - (sp-rnd-flt spt-scale-x (meters 5.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 1 128.0) - (sp-rnd-int spt-g 1115684864 1 64.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2682) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 2.0 6.0 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.033333335) (meters 0.10666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g -0.64) - (sp-flt spt-fade-b -0.64) - (sp-rnd-flt spt-accel-y -13.653334 -13.653334 1.0) - (sp-flt spt-friction 0.85) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees -90.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2545) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.025) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.07777778)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2542) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 4096.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2543) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2544) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2546) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 2.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.3) (meters 0.4) 1.0) - (sp-rnd-flt spt-r 64.0 48.0 1.0) - (sp-rnd-flt spt-g 64.0 48.0 1.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.24666667)) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 1.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2548) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.25) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 4.0) (meters 3.0) 1.0) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 8.0 16.0 1.0) - (sp-flt spt-vel-y (meters 0.12)) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2547) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 5.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 32.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2680) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 32.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 25) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 644) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-blue-blowup" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2591 :period 600 :length 5) - (sp-item 2592 :period 600 :length 40) - (sp-item 2593 :period 600 :length 40) - (sp-item 2594 :period 600 :length 40) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2592) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.8) (meters 1.6) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0053333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -1.6) - (sp-flt spt-fade-g -1.6) - (sp-flt spt-fade-b 0.0) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-int-plain-rnd spt-next-time 90 29 1) - (sp-launcher-by-id spt-next-launcher 2595) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2595) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2594) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.8)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 32.0)) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 1.7066667)) - (sp-flt spt-fade-r -2.1333334) - (sp-flt spt-fade-g -1.4222223) - (sp-flt spt-fade-b 0.7111111) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2591) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 64.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2593) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.16) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters 0.033333335)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2596) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 6.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2596) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r -2.1333334) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b 0.0) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 2597) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2597) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g -0.28444445) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2598) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2598) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 645) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-blue-smoke" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 2685 :period 36 :length 5) - (sp-item 2685 :period 140 :length 5) - (sp-item 2685 :period 61 :length 5) - (sp-item 2599 :period 15 :length 5) - (sp-item 2686) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2686) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 16.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2599) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 810) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 20 89 1) - (sp-launcher-by-id spt-next-launcher 2596) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2685) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-int spt-num 0 1 8.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -1.6) - (sp-flt spt-fade-g -1.6) - (sp-flt spt-fade-b 0.0) - (sp-rnd-flt spt-accel-y -7.5093336 -7.5093336 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-int-plain-rnd spt-next-time 90 29 1) - (sp-launcher-by-id spt-next-launcher 2595) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 638) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-darkecobomb-launch" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2600 :period 600 :length 5) - (sp-item 2602 :period 600 :length 40) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2600) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 64.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 55) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2602) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 8.0 8.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 16.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.21333334) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters 0.053333335)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.14222223) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 639) - (new 'static 'sparticle-launch-group - :length 18 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-darkecobomb-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 18 - (sp-item 2753) - (sp-item 2754) - (sp-item 2755 :fade-after (meters 120.0) :falloff-to (meters 140.0) :binding 2752) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2755) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2752) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-z 9216.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.0) (meters 0.2) 1.0) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2753) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-rnd-flt spt-num 0.0 1.0 1.0) - (sp-flt spt-y (meters 4.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 8.0) (meters 2.0) 1.0) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-fade-a -1.0666667) - (sp-int-plain-rnd spt-timer 20 29 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2754) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-rnd-flt spt-num 0.0 1.0 1.0) - (sp-flt spt-y (meters -3.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-flt spt-rot-z (degrees 180.0)) - (sp-rnd-flt spt-scale-y (meters 8.0) (meters 2.0) 1.0) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-fade-a -1.0666667) - (sp-int-plain-rnd spt-timer 20 29 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 663) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-darkecobomb-tick" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2756) - (sp-item 2757) - (sp-item 2758) - (sp-item 2759) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2759) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 16.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -2.1333334) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2758) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 6.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -160.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.3) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2757) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 6.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -160.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.3) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2756) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 6.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -160.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.3) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 619) - (new 'static 'sparticle-launch-group - :length 22 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-final-boss-mine-explosion" - :launcher - (new 'static 'inline-array sparticle-group-item 22 - (sp-item 2500 :flags (is-3d) :period 900 :length 5) - (sp-item 2501 :period 900 :length 5) - (sp-item 2502 :period 900 :length 40) - (sp-item 2503 :period 900 :length 20 :binding 2499) - (sp-item 2504 :period 900 :length 40) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2499 :flags (start-dead)) - (sp-item 2505 :period 900 :length 20) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2503) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 2.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.64) (meters 0.85333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -29.354668 -56.661335 1.0) - (sp-rnd-flt spt-friction 0.88 0.04 1.0) - (sp-int-plain-rnd spt-timer 300 299 1) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 35.0) (degrees 55.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2499) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.14222223) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2506) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2506) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r -0.14222223) - (sp-flt spt-fade-g -0.14222223) - (sp-flt spt-fade-b -0.14222223) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2502) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 64.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 2.6) (meters 2.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 196.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 112.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.64) (meters 1.28) 1.0) - (sp-flt spt-scalevel-x (meters -0.009333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -1.4222223) - (sp-flt spt-fade-g -1.4222223) - (sp-rnd-flt spt-accel-y -4.7786665 -45.738667 1.0) - (sp-flt spt-friction 0.85) - (sp-int spt-timer 750) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 2507) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 12.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2507) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2505) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 256.0)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-flt spt-scalevel-y (meters 6.0)) - (sp-flt spt-fade-r -1.6) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b 1.0666667) - (sp-flt spt-fade-a -1.0666667) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2501) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 160.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.7066667) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2504) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 32.0) - (sp-flt spt-y (meters 10.0)) - (sp-rnd-flt spt-scale-x (meters 20.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 16.0 80.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.21333334) (meters 0.42666668) 1.0) - (sp-flt spt-scalevel-x (meters 0.06666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y 2.048 2.048 1.0) - (sp-flt spt-friction 0.87) - (sp-int spt-timer 750) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2508) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 20.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2508) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r -1.6) - (sp-flt spt-fade-g -1.6) - (sp-flt spt-fade-b -1.0666667) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 2509) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2509) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -0.26666668) - (sp-flt spt-fade-g -0.26666668) - (sp-flt spt-fade-b -0.17777778) - (sp-flt spt-fade-a -0.16) - (sp-int spt-next-time 180) - (sp-launcher-by-id spt-next-launcher 2510) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2510) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r -0.114285715) - (sp-flt spt-fade-g -0.114285715) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2500) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 4.0) - (sp-flt spt-y (meters 10.0)) - (sp-flt spt-scale-x (meters 30.0)) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-scalevel-x (meters 0.33333334) (meters 0.6666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 330) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 2511) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2511) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.4222223) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 640) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-greenshot-launch" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2799 :period 600 :length 10) - (sp-item 2800 :period 600 :length 10) - (sp-item 2801 :period 600 :length 20) - (sp-item 2802 :period 600 :length 10) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2800) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 32.0) (meters 128.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.01953125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-scalevel-y (meters 0.01953125)) - (sp-flt spt-fade-a 1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 2803) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2803) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.6) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2801) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-scale-x (meters 32.0) (meters 32.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 4.0)) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.01953125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-fade-a 4.266667) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 2803) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2802) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 100.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-flt spt-rotvel-z (degrees -0.8)) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 80) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 40) - (sp-launcher-by-id spt-next-launcher 2804) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2799) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 6.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters 0.4)) - (sp-flt spt-rotvel-z (degrees 0.8)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -1.7066667) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 664) - (new 'static 'sparticle-launch-group - :length 49 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-greenshot" - :launcher - (new 'static 'inline-array sparticle-group-item 49 - (sp-item 2769 :binding 2766) - (sp-item 2766 :flags (bit1 start-dead launch-asap) :binding 2767) - (sp-item 2767 :flags (start-dead) :binding 2768) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - (sp-item 2768 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2769) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2766) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 9216.0) - (sp-flt spt-scale-x (meters 3.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.10666667)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3 bit7) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 2770) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2770) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 2770) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2767) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-rnd-flt spt-b 0.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters -0.026666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -1.0666667) - (sp-flt spt-fade-g -2.1333334) - (sp-flt spt-fade-b -1.0666667) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 81) - (sp-launcher-by-id spt-next-launcher 2771) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.1)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2771) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2768) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 5.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-rnd-flt spt-b 0.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.008333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -1.0666667) - (sp-flt spt-fade-g -3.2) - (sp-flt spt-fade-b -1.0666667) - (sp-flt spt-accel-y -2.7306666) - (sp-flt spt-friction 0.97) - (sp-int-plain-rnd spt-timer 30 119 1) - (sp-cpuinfo-flags bit0 bit2) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 2771) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 1.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 646) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :name "group-robotboss-redshot-charge" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2699) - (sp-item 2700) - (sp-item 2701) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2699) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 3.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 4.266667) - (sp-int spt-timer 100) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 2703) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2703) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.4222221) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2700) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 32.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 2.5)) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-fade-a 1.4222221) - (sp-int spt-timer 40) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 2703) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2701) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters 0.4)) - (sp-flt spt-rotvel-z (degrees -0.8)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 15) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 641) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-redshot-launch" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2805 :period 600 :length 10) - (sp-item 2806 :period 600 :length 10) - (sp-item 2807 :period 600 :length 20) - (sp-item 2808 :period 600 :length 10) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2806) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 32.0) (meters 128.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.01953125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-scalevel-y (meters 0.01953125)) - (sp-flt spt-fade-a 1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 2809) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2809) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.6) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2807) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-scale-x (meters 32.0) (meters 32.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 4.0)) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.01953125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-fade-a 4.266667) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 2809) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2808) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 100.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-flt spt-rotvel-z (degrees -0.8)) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 80) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 40) - (sp-launcher-by-id spt-next-launcher 2810) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2805) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 6.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters 0.4)) - (sp-flt spt-rotvel-z (degrees 0.8)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -1.7066667) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 665) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-redshot-body" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2709) - (sp-item 2710) - (sp-item 2711) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2710) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2711) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 0.8) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2709) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 8.0) - (sp-flt spt-y (meters 1.0)) - (sp-flt spt-scale-x (meters 0.6)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-g -4.266667) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 647) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-redshot-warning" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2712) - (sp-item 2713) - (sp-item 2714 :period 45 :length 5) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2714) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 5.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters -0.06666667)) - (sp-flt spt-rotvel-z (degrees 0.8)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.1333334) - (sp-flt spt-fade-a -2.1333334) - (sp-int spt-timer 45) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 75) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2712) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 8.0 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -720.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-x (meters 0.08)) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g -6.4) - (sp-flt spt-fade-b -4.266667) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2713) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-rnd-flt spt-num 2.0 16.0 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.1333334) - (sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0) - (sp-flt spt-friction 0.95) - (sp-int-plain-rnd spt-timer 30 29 1) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees -180.0) (degrees 720.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 648) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-redshot" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2626 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2626) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 10.0)) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 1 127.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-flt spt-fade-a -8.533334) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 679) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-redshot-test" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2772)) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2772) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-int spt-r 1124073472 1 127.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -2.8444443) - (sp-int spt-timer 40) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 649) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-red-blowup" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2629 :period 600 :length 5) - (sp-item 2630 :period 600 :length 40) - (sp-item 2631 :period 600 :length 40) - (sp-item 2632 :period 600 :length 40) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2630) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.8) (meters 1.6) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-rnd-flt spt-b 192.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0053333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -1.6) - (sp-flt spt-fade-g -1.6) - (sp-flt spt-fade-b 0.0) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-int-plain-rnd spt-next-time 90 29 1) - (sp-launcher-by-id spt-next-launcher 2633) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2633) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2632) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.8)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 32.0)) - (sp-flt spt-r 192.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 1.7066667)) - (sp-flt spt-fade-r -2.1333334) - (sp-flt spt-fade-g -1.4222223) - (sp-flt spt-fade-b 0.7111111) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2629) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 64.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2631) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.16) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters 0.033333335)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2634) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 6.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2634) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b -2.1333334) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 2635) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2635) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g -0.28444445) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2636) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2636) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 650) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-red-smoke" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 2776 :period 36 :length 5) - (sp-item 2776 :period 140 :length 5) - (sp-item 2776 :period 61 :length 5) - (sp-item 2637 :period 15 :length 5) - (sp-item 2777) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2777) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2637) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 810) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 20 89 1) - (sp-launcher-by-id spt-next-launcher 2596) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2776) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-int spt-num 0 1 8.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-rnd-flt spt-b 192.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g -1.6) - (sp-flt spt-fade-b -1.6) - (sp-rnd-flt spt-accel-y -7.5093336 -7.5093336 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-int-plain-rnd spt-next-time 90 29 1) - (sp-launcher-by-id spt-next-launcher 2595) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 642) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellowshot-launch" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2778 :period 600 :length 10) - (sp-item 2779 :period 600 :length 10) - (sp-item 2780 :period 600 :length 20) - (sp-item 2781 :period 600 :length 10) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2779) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 32.0) (meters 128.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.01953125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-scalevel-y (meters 0.01953125)) - (sp-flt spt-fade-a 1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 2782) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2782) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.6) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2780) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-scale-x (meters 32.0) (meters 32.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 4.0)) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.01953125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-fade-a 4.266667) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 2782) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2781) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 100.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-flt spt-rotvel-z (degrees -0.8)) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 80) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 40) - (sp-launcher-by-id spt-next-launcher 2783) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2778) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 6.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters 0.4)) - (sp-flt spt-rotvel-z (degrees 0.8)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -1.7066667) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 651) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellowshot-charge" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2811) - (sp-item 2812) - (sp-item 2813) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2811) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 3.0) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 4.266667) - (sp-int spt-timer 100) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 2814) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2814) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.4222221) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2812) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 32.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 2.5)) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-fade-a 1.4222221) - (sp-int spt-timer 40) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 5 19 1) - (sp-launcher-by-id spt-next-launcher 2814) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2813) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-scalevel-x (meters 0.4)) - (sp-flt spt-rotvel-z (degrees -0.8)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 15) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 652) - (new 'static 'sparticle-launch-group - :length 5 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellowshot" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 2815) - (sp-item 2816) - (sp-item 2817) - (sp-item 2818) - (sp-item 2819) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2816) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 96.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-g -4.266667) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2819) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 8.0 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees -720.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-x (meters 0.08)) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g -6.4) - (sp-flt spt-fade-b -4.266667) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2815) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-rnd-flt spt-num 2.0 16.0 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.1333334) - (sp-flt spt-fade-a -2.1333334) - (sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0) - (sp-flt spt-friction 0.95) - (sp-int-plain-rnd spt-timer 30 29 1) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees -180.0) (degrees 720.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2817) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 5.0) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters -0.10666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -1.7066667) - (sp-flt spt-fade-a -1.7066667) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2818) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 1.6) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 653) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellow-blowup" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2648 :period 600 :length 5) - (sp-item 2649 :period 600 :length 40) - (sp-item 2650 :period 600 :length 40) - (sp-item 2651 :period 600 :length 40) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2649) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.30666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.006666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.7111111) - (sp-flt spt-fade-g -1.4222223) - (sp-flt spt-fade-b 0.0) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-int-plain-rnd spt-next-time 90 29 1) - (sp-launcher-by-id spt-next-launcher 2652) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2652) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2651) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.8)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 64.0)) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 1.7066667)) - (sp-flt spt-fade-r -0.7111111) - (sp-flt spt-fade-g -1.4222223) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2648) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 128.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-rnd-flt spt-a 0.0 32.0 1.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2650) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.21333334) (meters 0.12) 1.0) - (sp-flt spt-scalevel-x (meters 0.033333335)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2653) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 12.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2653) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b -2.1333334) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 2654) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2654) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -0.28444445) - (sp-flt spt-fade-g -0.28444445) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2655) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2655) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 654) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellow-smoke" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 2820 :period 36 :length 5) - (sp-item 2820 :period 140 :length 5) - (sp-item 2820 :period 61 :length 5) - (sp-item 2656 :period 15 :length 5) - (sp-item 2821) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2821) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2656) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.026666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 810) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 20 89 1) - (sp-launcher-by-id spt-next-launcher 2596) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2820) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-int spt-num 0 2 8.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -1.0666667) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b -1.0666667) - (sp-rnd-flt spt-accel-y -7.5093336 -7.5093336 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-int-plain-rnd spt-next-time 90 29 1) - (sp-launcher-by-id spt-next-launcher 2595) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 655) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-white-eco" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2852)) - :bounds - (new 'static 'sphere :y 2048.0 :w 6144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2852) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-flt spt-num 1.0) - (sp-int spt-rot-x 16) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 3276.8) - (sp-flt spt-b 2457.6) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) - (sp-int spt-timer 60) - (sp-cpuinfo-flags aux-list) - (sp-rnd-flt spt-conerot-x (degrees -1440.0) (degrees 2880.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) - (sp-flt spt-rotate-y (degrees 6.0000005)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2657) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.8) 1.0) - (sp-rnd-int spt-r 0 1 255.0) - (sp-rnd-int spt-g 0 1 255.0) - (sp-rnd-int spt-b 0 1 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 0.35555556) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 2661) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2661) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2658) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.2)) - (sp-rnd-int spt-r 0 1 255.0) - (sp-rnd-int spt-g 0 1 255.0) - (sp-rnd-int spt-b 0 1 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 2661) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2659) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.0) - (sp-flt spt-scale-x (meters 3.5)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 3.0)) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 0.0 128.0 1.0) - (sp-flt spt-a 64.0) - (sp-flt spt-rotvel-z (degrees -0.4)) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2660) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 3.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 64.0) - (sp-flt spt-rotvel-z (degrees 0.3)) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-func spt-func 'sparticle-track-root) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 666) - (new 'static 'sparticle-launch-group - :length 14 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-finalboss-blue-claw-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 14 - (sp-item 2719 :binding 2716) - (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2717) - (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2718) - (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2717) - (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2718) - (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2717) - (sp-item 2717 :flags (bit1 start-dead)) - (sp-item 2718 :flags (bit1 start-dead)) - (sp-item 2717 :flags (bit1 start-dead)) - (sp-item 2718 :flags (bit1 start-dead)) - (sp-item 2717 :flags (bit1 start-dead)) - (sp-item 2718 :flags (bit1 start-dead)) - (sp-item 2721) - (sp-item 2722) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 667) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-finalboss-blue-claw-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2723 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2723) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-y (degrees 25.000002) (degrees 20.0) 1.0) - (sp-flt spt-rot-z (degrees 180.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 16.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2719) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.01) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.019444445)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2716) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 4096.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2717) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2718) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2720) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.85) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-r 16.0 48.0 1.0) - (sp-rnd-flt spt-g 16.0 48.0 1.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.26666668)) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2722) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.13333334)) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2721) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 668) - (new 'static 'sparticle-launch-group - :length 13 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-finalboss-red-claw-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 13 - (sp-item 2726 :binding 2724) - (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) - (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) - (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) - (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) - (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) - (sp-item 2725 :flags (bit1 start-dead)) - (sp-item 2725 :flags (bit1 start-dead)) - (sp-item 2725 :flags (bit1 start-dead)) - (sp-item 2725 :flags (bit1 start-dead)) - (sp-item 2725 :flags (bit1 start-dead)) - (sp-item 2728) - (sp-item 2729) - ) - :bounds - (new 'static 'sphere :y 94208.0 :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2730) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rot-z (degrees 68.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 192.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2726) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.02) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 3.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.08888889)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2724) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 5120.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 127.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2725) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.005555555)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.0) - (sp-flt spt-fade-a -0.22857143) - (sp-rnd-flt spt-accel-y 0.40960002 0.6144 1.0) - (sp-int spt-timer 42) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 171) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2727) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.85) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 16.0 32.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.26666668)) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2729) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.8) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.13333334)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2728) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 192.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 670) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-finalboss-yellow-claw-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 2733 :binding 2731) - (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) - (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) - (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) - (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) - (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) - (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) - (sp-item 2732 :flags (bit1 start-dead)) - (sp-item 2732 :flags (bit1 start-dead)) - (sp-item 2732 :flags (bit1 start-dead)) - (sp-item 2732 :flags (bit1 start-dead)) - (sp-item 2732 :flags (bit1 start-dead)) - (sp-item 2732 :flags (bit1 start-dead)) - (sp-item 2735) - (sp-item 2736) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 671) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name - "group-finalboss-yellow-claw-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2737 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2737) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rot-z (degrees 115.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2733) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.025) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.06666667)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 85.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2731) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 5120.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2732) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.4) - (sp-flt spt-fade-a -0.17777778) - (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2734) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.85) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.26666668)) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 85.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2736) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.7) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.13333334)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 85.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2735) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.7) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-rnd-flt spt-b 0.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 672) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-finalboss-green-claw-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 2740 :binding 2738) - (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) - (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) - (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) - (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) - (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) - (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) - (sp-item 2739 :flags (bit1 start-dead)) - (sp-item 2739 :flags (bit1 start-dead)) - (sp-item 2739 :flags (bit1 start-dead)) - (sp-item 2739 :flags (bit1 start-dead)) - (sp-item 2739 :flags (bit1 start-dead)) - (sp-item 2739 :flags (bit1 start-dead)) - (sp-item 2742) - (sp-item 2743) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 673) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name - "group-finalboss-green-claw-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2744 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2744) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rot-z (degrees 180.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2740) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.025) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.06666667)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2738) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 5120.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2739) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.17777778) - (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2741) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.85) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.26666668)) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2743) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.13333334)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2742) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 192.0 1.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 674) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-blue-claw-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 675) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-green-claw-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 676) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-red-claw-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 677) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-yellow-claw-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 636) (new 'static 'sparticle-launch-group + :length 26 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-blue-beam" + :launcher + (new 'static 'inline-array sparticle-group-item 26 + (sp-item 2680) + (sp-item 2545 :binding 2542) + (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) + (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) + (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) + (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) + (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) + (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) + (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) + (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) + (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2543) + (sp-item 2542 :flags (bit1 start-dead launch-asap) :binding 2544) + (sp-item 2543 :flags (bit1 start-dead)) + (sp-item 2544 :flags (bit1 start-dead)) + (sp-item 2543 :flags (bit1 start-dead)) + (sp-item 2544 :flags (bit1 start-dead)) + (sp-item 2543 :flags (bit1 start-dead)) + (sp-item 2544 :flags (bit1 start-dead)) + (sp-item 2543 :flags (bit1 start-dead)) + (sp-item 2544 :flags (bit1 start-dead)) + (sp-item 2543 :flags (bit1 start-dead)) + (sp-item 2544 :flags (bit1 start-dead)) + (sp-item 2543 :flags (bit1 start-dead)) + (sp-item 2546) + (sp-item 2548) + (sp-item 2547) + ) + :bounds (new 'static 'sphere :w 139264.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 637) (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-blue-beam-impact" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 2681) + (sp-item 2682 :period 336 :length 5) + (sp-item 2682 :period 140 :length 5) + (sp-item 2682 :period 61 :length 5) + (sp-item 2683) + (sp-item 2549) + ) + :bounds (new 'static 'sphere :w 139264.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2681) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.1 0.1 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 6.0) (meters 9.0) 1.0) + (sp-flt spt-r 192.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 0.42666668)) + (sp-flt spt-fade-r -2.1333334) + (sp-flt spt-fade-g -1.4222223) + (sp-flt spt-fade-b 0.7111111) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2683) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 30 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters -2.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.2) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-x 2.7306666 1.3653333 1.0) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.97) + (sp-int spt-timer 810) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2684) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 45.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2684) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.07111111) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2549) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.25) + (sp-rnd-flt spt-scale-x (meters 5.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 128.0) + (sp-rnd-int spt-g 1115684864 1 64.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2682) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 2.0 6.0 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.033333335) (meters 0.10666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -0.64) + (sp-flt spt-fade-b -0.64) + (sp-rnd-flt spt-accel-y -13.653334 -13.653334 1.0) + (sp-flt spt-friction 0.85) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees -90.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2545) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.025) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.07777778)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2542) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 4096.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2543) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2544) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2546) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 2.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.3) (meters 0.4) 1.0) + (sp-rnd-flt spt-r 64.0 48.0 1.0) + (sp-rnd-flt spt-g 64.0 48.0 1.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.24666667)) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 1.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2548) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.25) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 4.0) (meters 3.0) 1.0) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 8.0 16.0 1.0) + (sp-flt spt-vel-y (meters 0.12)) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2547) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 5.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2680) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 32.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 25) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 644) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-blue-blowup" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2591 :period 600 :length 5) + (sp-item 2592 :period 600 :length 40) + (sp-item 2593 :period 600 :length 40) + (sp-item 2594 :period 600 :length 40) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2592) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.8) (meters 1.6) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0053333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.6) + (sp-flt spt-fade-g -1.6) + (sp-flt spt-fade-b 0.0) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-int-plain-rnd spt-next-time 90 29 1) + (sp-launcher-by-id spt-next-launcher 2595) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2595) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.0666667) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2594) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.8)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 32.0)) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 1.7066667)) + (sp-flt spt-fade-r -2.1333334) + (sp-flt spt-fade-g -1.4222223) + (sp-flt spt-fade-b 0.7111111) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2591) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 64.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2593) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.16) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters 0.033333335)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2596) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 6.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2596) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r -2.1333334) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b 0.0) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 2597) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2597) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -0.28444445) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2598) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2598) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 645) (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-blue-smoke" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 2685 :period 36 :length 5) + (sp-item 2685 :period 140 :length 5) + (sp-item 2685 :period 61 :length 5) + (sp-item 2599 :period 15 :length 5) + (sp-item 2686) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2686) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 16.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2599) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 810) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 20 89 1) + (sp-launcher-by-id spt-next-launcher 2596) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2685) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-int spt-num 0 1 8.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.6) + (sp-flt spt-fade-g -1.6) + (sp-flt spt-fade-b 0.0) + (sp-rnd-flt spt-accel-y -7.5093336 -7.5093336 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-int-plain-rnd spt-next-time 90 29 1) + (sp-launcher-by-id spt-next-launcher 2595) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 638) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-darkecobomb-launch" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2600 :period 600 :length 5) + (sp-item 2602 :period 600 :length 40) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2600) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 64.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 55) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2602) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 8.0 8.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 16.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.21333334) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters 0.053333335)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.14222223) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 639) + (new 'static 'sparticle-launch-group + :length 18 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-darkecobomb-glow" + :launcher + (new 'static 'inline-array sparticle-group-item 18 + (sp-item 2753) + (sp-item 2754) + (sp-item 2755 :fade-after (meters 120.0) :falloff-to (meters 140.0) :binding 2752) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2752 :flags (bit1 start-dead launch-asap) :binding 2671) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2755) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2752) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-z 9216.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.0) (meters 0.2) 1.0) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2753) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-rnd-flt spt-num 0.0 1.0 1.0) + (sp-flt spt-y (meters 4.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 8.0) (meters 2.0) 1.0) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-fade-a -1.0666667) + (sp-int-plain-rnd spt-timer 20 29 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2754) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-rnd-flt spt-num 0.0 1.0 1.0) + (sp-flt spt-y (meters -3.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-rnd-flt spt-scale-y (meters 8.0) (meters 2.0) 1.0) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-fade-a -1.0666667) + (sp-int-plain-rnd spt-timer 20 29 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 663) + (new 'static 'sparticle-launch-group + :length 4 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-darkecobomb-tick" + :launcher + (new 'static 'inline-array sparticle-group-item 4 (sp-item 2756) (sp-item 2757) (sp-item 2758) (sp-item 2759)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2759) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 16.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -2.1333334) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2758) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 16.0) (meters 6.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -160.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.3) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2757) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 16.0) (meters 6.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -160.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.3) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2756) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 16.0) (meters 6.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -160.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.3) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 619) (new 'static 'sparticle-launch-group + :length 22 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-final-boss-mine-explosion" + :launcher + (new 'static 'inline-array sparticle-group-item 22 + (sp-item 2500 :flags (is-3d) :period 900 :length 5) + (sp-item 2501 :period 900 :length 5) + (sp-item 2502 :period 900 :length 40) + (sp-item 2503 :period 900 :length 20 :binding 2499) + (sp-item 2504 :period 900 :length 40) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2499 :flags (start-dead)) + (sp-item 2505 :period 900 :length 20) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2503) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 2.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.64) (meters 0.85333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -29.354668 -56.661335 1.0) + (sp-rnd-flt spt-friction 0.88 0.04 1.0) + (sp-int-plain-rnd spt-timer 300 299 1) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 35.0) (degrees 55.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2499) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.14222223) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2506) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2506) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r -0.14222223) + (sp-flt spt-fade-g -0.14222223) + (sp-flt spt-fade-b -0.14222223) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2502) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 64.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 2.6) (meters 2.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 196.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 112.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.64) (meters 1.28) 1.0) + (sp-flt spt-scalevel-x (meters -0.009333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.4222223) + (sp-flt spt-fade-g -1.4222223) + (sp-rnd-flt spt-accel-y -4.7786665 -45.738667 1.0) + (sp-flt spt-friction 0.85) + (sp-int spt-timer 750) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 2507) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 12.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2507) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.21333334) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2505) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 256.0)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-flt spt-scalevel-y (meters 6.0)) + (sp-flt spt-fade-r -1.6) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b 1.0666667) + (sp-flt spt-fade-a -1.0666667) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2501) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 160.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.7066667) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2504) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 32.0) + (sp-flt spt-y (meters 10.0)) + (sp-rnd-flt spt-scale-x (meters 20.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 16.0 80.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.21333334) (meters 0.42666668) 1.0) + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y 2.048 2.048 1.0) + (sp-flt spt-friction 0.87) + (sp-int spt-timer 750) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2508) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 20.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2508) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r -1.6) + (sp-flt spt-fade-g -1.6) + (sp-flt spt-fade-b -1.0666667) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 2509) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2509) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r -0.26666668) + (sp-flt spt-fade-g -0.26666668) + (sp-flt spt-fade-b -0.17777778) + (sp-flt spt-fade-a -0.16) + (sp-int spt-next-time 180) + (sp-launcher-by-id spt-next-launcher 2510) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2510) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r -0.114285715) + (sp-flt spt-fade-g -0.114285715) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2500) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 4.0) + (sp-flt spt-y (meters 10.0)) + (sp-flt spt-scale-x (meters 30.0)) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-scalevel-x (meters 0.33333334) (meters 0.6666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 330) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 2511) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2511) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.4222223) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 640) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-greenshot-launch" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2799 :period 600 :length 10) + (sp-item 2800 :period 600 :length 10) + (sp-item 2801 :period 600 :length 20) + (sp-item 2802 :period 600 :length 10) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2800) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 32.0) (meters 128.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.01953125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-scalevel-y (meters 0.01953125)) + (sp-flt spt-fade-a 1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 2803) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2803) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.6) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2801) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-scale-x (meters 32.0) (meters 32.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 4.0)) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.01953125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-fade-a 4.266667) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 2803) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2802) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 100.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-flt spt-rotvel-z (degrees -0.8)) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 80) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 40) + (sp-launcher-by-id spt-next-launcher 2804) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2799) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 6.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters 0.4)) + (sp-flt spt-rotvel-z (degrees 0.8)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -1.7066667) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 664) (new 'static 'sparticle-launch-group + :length 49 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-greenshot" + :launcher + (new 'static 'inline-array sparticle-group-item 49 + (sp-item 2769 :binding 2766) + (sp-item 2766 :flags (bit1 start-dead launch-asap) :binding 2767) + (sp-item 2767 :flags (start-dead) :binding 2768) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + (sp-item 2768 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2769) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2766) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 9216.0) + (sp-flt spt-scale-x (meters 3.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.10666667)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3 bit7) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 2770) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2770) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 9 + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 2770) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2767) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-rnd-flt spt-b 0.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters -0.026666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.0666667) + (sp-flt spt-fade-g -2.1333334) + (sp-flt spt-fade-b -1.0666667) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 81) + (sp-launcher-by-id spt-next-launcher 2771) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.1)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2771) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2768) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 5.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-rnd-flt spt-b 0.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.008333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.0666667) + (sp-flt spt-fade-g -3.2) + (sp-flt spt-fade-b -1.0666667) + (sp-flt spt-accel-y -2.7306666) + (sp-flt spt-friction 0.97) + (sp-int-plain-rnd spt-timer 30 119 1) + (sp-cpuinfo-flags bit0 bit2) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 2771) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 1.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 646) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x384 + :linger-duration #x5dc + :name "group-robotboss-redshot-charge" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 2699) (sp-item 2700) (sp-item 2701)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2699) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 3.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 4.266667) + (sp-int spt-timer 100) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 2703) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2703) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.4222221) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2700) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 32.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 2.5)) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-fade-a 1.4222221) + (sp-int spt-timer 40) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 2703) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2701) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters 0.4)) + (sp-flt spt-rotvel-z (degrees -0.8)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 15) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 641) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-redshot-launch" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2805 :period 600 :length 10) + (sp-item 2806 :period 600 :length 10) + (sp-item 2807 :period 600 :length 20) + (sp-item 2808 :period 600 :length 10) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2806) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 32.0) (meters 128.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.01953125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-scalevel-y (meters 0.01953125)) + (sp-flt spt-fade-a 1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 2809) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2809) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.6) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2807) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-scale-x (meters 32.0) (meters 32.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 4.0)) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.01953125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-fade-a 4.266667) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 2809) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2808) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 100.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-flt spt-rotvel-z (degrees -0.8)) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 80) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 40) + (sp-launcher-by-id spt-next-launcher 2810) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2805) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 6.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters 0.4)) + (sp-flt spt-rotvel-z (degrees 0.8)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -1.7066667) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 665) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-redshot-body" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 2709) (sp-item 2710) (sp-item 2711)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2710) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2711) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 0.8) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2709) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 8.0) + (sp-flt spt-y (meters 1.0)) + (sp-flt spt-scale-x (meters 0.6)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-g -4.266667) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) + (sp-flt spt-conerot-radius (meters 1.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 647) (new 'static 'sparticle-launch-group + :length 3 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-redshot-warning" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 2712) + (sp-item 2713) + (sp-item 2714 :period 45 :length 5) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2714) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 5.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters -0.06666667)) + (sp-flt spt-rotvel-z (degrees 0.8)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.1333334) + (sp-flt spt-fade-a -2.1333334) + (sp-int spt-timer 45) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 75) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2712) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 8.0 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -720.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-x (meters 0.08)) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -6.4) + (sp-flt spt-fade-b -4.266667) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2713) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-rnd-flt spt-num 2.0 16.0 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.1333334) + (sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0) + (sp-flt spt-friction 0.95) + (sp-int-plain-rnd spt-timer 30 29 1) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees -180.0) (degrees 720.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) + (sp-flt spt-conerot-radius (meters 1.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 648) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-redshot" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2626 :flags (is-3d))) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2626) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 10.0)) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-fade-a -8.533334) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 679) (new 'static 'sparticle-launch-group + :length 1 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-redshot-test" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2772)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2772) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-int spt-r 1124073472 1 127.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -2.8444443) + (sp-int spt-timer 40) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 649) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-red-blowup" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2629 :period 600 :length 5) + (sp-item 2630 :period 600 :length 40) + (sp-item 2631 :period 600 :length 40) + (sp-item 2632 :period 600 :length 40) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2630) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.8) (meters 1.6) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-rnd-flt spt-b 192.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0053333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.6) + (sp-flt spt-fade-g -1.6) + (sp-flt spt-fade-b 0.0) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-int-plain-rnd spt-next-time 90 29 1) + (sp-launcher-by-id spt-next-launcher 2633) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2633) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.0666667) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2632) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.8)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 32.0)) + (sp-flt spt-r 192.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 1.7066667)) + (sp-flt spt-fade-r -2.1333334) + (sp-flt spt-fade-g -1.4222223) + (sp-flt spt-fade-b 0.7111111) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2629) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 64.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2631) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.16) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters 0.033333335)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2634) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 6.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2634) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b -2.1333334) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 2635) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2635) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -0.28444445) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2636) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2636) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 650) (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-red-smoke" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 2776 :period 36 :length 5) + (sp-item 2776 :period 140 :length 5) + (sp-item 2776 :period 61 :length 5) + (sp-item 2637 :period 15 :length 5) + (sp-item 2777) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2777) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2637) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 810) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 20 89 1) + (sp-launcher-by-id spt-next-launcher 2596) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2776) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-int spt-num 0 1 8.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-rnd-flt spt-b 192.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -1.6) + (sp-flt spt-fade-b -1.6) + (sp-rnd-flt spt-accel-y -7.5093336 -7.5093336 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-int-plain-rnd spt-next-time 90 29 1) + (sp-launcher-by-id spt-next-launcher 2595) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 642) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-yellowshot-launch" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2778 :period 600 :length 10) + (sp-item 2779 :period 600 :length 10) + (sp-item 2780 :period 600 :length 20) + (sp-item 2781 :period 600 :length 10) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2779) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 32.0) (meters 128.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.01953125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-scalevel-y (meters 0.01953125)) + (sp-flt spt-fade-a 1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 2782) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2782) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.6) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2780) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-scale-x (meters 32.0) (meters 32.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 4.0)) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.01953125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-fade-a 4.266667) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 2782) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2781) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 100.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-flt spt-rotvel-z (degrees -0.8)) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 80) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 40) + (sp-launcher-by-id spt-next-launcher 2783) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2778) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 6.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters 0.4)) + (sp-flt spt-rotvel-z (degrees 0.8)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -1.7066667) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 651) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-yellowshot-charge" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 2811) (sp-item 2812) (sp-item 2813)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2811) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 3.0) + (sp-rnd-flt spt-scale-x (meters 16.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 4.266667) + (sp-int spt-timer 100) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 2814) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2814) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.4222221) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2812) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 32.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 2.5)) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-fade-a 1.4222221) + (sp-int spt-timer 40) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 5 19 1) + (sp-launcher-by-id spt-next-launcher 2814) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2813) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-scalevel-x (meters 0.4)) + (sp-flt spt-rotvel-z (degrees -0.8)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 15) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 652) (new 'static 'sparticle-launch-group + :length 5 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-yellowshot" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 2815) + (sp-item 2816) + (sp-item 2817) + (sp-item 2818) + (sp-item 2819) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2816) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 96.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-g -4.266667) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2819) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 8.0 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees -720.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-x (meters 0.08)) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -6.4) + (sp-flt spt-fade-b -4.266667) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2815) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-rnd-flt spt-num 2.0 16.0 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.1333334) + (sp-flt spt-fade-a -2.1333334) + (sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0) + (sp-flt spt-friction 0.95) + (sp-int-plain-rnd spt-timer 30 29 1) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees -180.0) (degrees 720.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) + (sp-flt spt-conerot-radius (meters 1.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2817) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 5.0) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters -0.10666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -1.7066667) + (sp-flt spt-fade-a -1.7066667) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2818) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 1.6) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 653) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-yellow-blowup" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2648 :period 600 :length 5) + (sp-item 2649 :period 600 :length 40) + (sp-item 2650 :period 600 :length 40) + (sp-item 2651 :period 600 :length 40) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2649) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.30666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.006666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.7111111) + (sp-flt spt-fade-g -1.4222223) + (sp-flt spt-fade-b 0.0) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-int-plain-rnd spt-next-time 90 29 1) + (sp-launcher-by-id spt-next-launcher 2652) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2652) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.0666667) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2651) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.8)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 64.0)) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 1.7066667)) + (sp-flt spt-fade-r -0.7111111) + (sp-flt spt-fade-g -1.4222223) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2648) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 128.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-rnd-flt spt-a 0.0 32.0 1.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2650) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 16.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.21333334) (meters 0.12) 1.0) + (sp-flt spt-scalevel-x (meters 0.033333335)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2653) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 12.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2653) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b -2.1333334) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 2654) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2654) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r -0.28444445) + (sp-flt spt-fade-g -0.28444445) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2655) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2655) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 654) (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-yellow-smoke" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 2820 :period 36 :length 5) + (sp-item 2820 :period 140 :length 5) + (sp-item 2820 :period 61 :length 5) + (sp-item 2656 :period 15 :length 5) + (sp-item 2821) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2821) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2656) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.026666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 810) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 20 89 1) + (sp-launcher-by-id spt-next-launcher 2596) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2820) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-int spt-num 0 2 8.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.0666667) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b -1.0666667) + (sp-rnd-flt spt-accel-y -7.5093336 -7.5093336 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-int-plain-rnd spt-next-time 90 29 1) + (sp-launcher-by-id spt-next-launcher 2595) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 655) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-white-eco" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2852)) + :bounds + (new 'static 'sphere :y 2048.0 :w 6144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2852) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-flt spt-num 1.0) + (sp-int spt-rot-x 16) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 3276.8) + (sp-flt spt-b 2457.6) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.02) 1.0) + (sp-int spt-timer 60) + (sp-cpuinfo-flags aux-list) + (sp-rnd-flt spt-conerot-x (degrees -1440.0) (degrees 2880.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) + (sp-flt spt-rotate-y (degrees 6.0000005)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2657) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.1) (meters 0.8) 1.0) + (sp-rnd-int spt-r 0 1 255.0) + (sp-rnd-int spt-g 0 1 255.0) + (sp-rnd-int spt-b 0 1 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 0.35555556) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 2661) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2661) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.53333336) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2658) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.2)) + (sp-rnd-int spt-r 0 1 255.0) + (sp-rnd-int spt-g 0 1 255.0) + (sp-rnd-int spt-b 0 1 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 2661) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2659) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.0) + (sp-flt spt-scale-x (meters 3.5)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 3.0)) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 0.0 128.0 1.0) + (sp-flt spt-a 64.0) + (sp-flt spt-rotvel-z (degrees -0.4)) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2660) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 3.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 64.0) + (sp-flt spt-rotvel-z (degrees 0.3)) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-func spt-func 'sparticle-track-root) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 666) (new 'static 'sparticle-launch-group + :length 14 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-finalboss-blue-claw-beam" + :launcher + (new 'static 'inline-array sparticle-group-item 14 + (sp-item 2719 :binding 2716) + (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2717) + (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2718) + (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2717) + (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2718) + (sp-item 2716 :flags (bit1 start-dead launch-asap) :binding 2717) + (sp-item 2717 :flags (bit1 start-dead)) + (sp-item 2718 :flags (bit1 start-dead)) + (sp-item 2717 :flags (bit1 start-dead)) + (sp-item 2718 :flags (bit1 start-dead)) + (sp-item 2717 :flags (bit1 start-dead)) + (sp-item 2718 :flags (bit1 start-dead)) + (sp-item 2721) + (sp-item 2722) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 667) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-finalboss-blue-claw-beam-impact" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2723 :flags (is-3d))) + :bounds (new 'static 'sphere :w 40960.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2723) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-y (degrees 25.000002) (degrees 20.0) 1.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 16.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2719) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.01) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.019444445)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2716) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 4096.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2717) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2718) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2720) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.85) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-r 16.0 48.0 1.0) + (sp-rnd-flt spt-g 16.0 48.0 1.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.26666668)) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2722) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.13333334)) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2721) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 668) (new 'static 'sparticle-launch-group + :length 13 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-finalboss-red-claw-beam" + :launcher + (new 'static 'inline-array sparticle-group-item 13 + (sp-item 2726 :binding 2724) + (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) + (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) + (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) + (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) + (sp-item 2724 :flags (bit1 start-dead launch-asap) :binding 2725) + (sp-item 2725 :flags (bit1 start-dead)) + (sp-item 2725 :flags (bit1 start-dead)) + (sp-item 2725 :flags (bit1 start-dead)) + (sp-item 2725 :flags (bit1 start-dead)) + (sp-item 2725 :flags (bit1 start-dead)) + (sp-item 2728) + (sp-item 2729) + ) + :bounds + (new 'static 'sphere :y 94208.0 :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2730) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rot-z (degrees 68.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 192.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2726) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.02) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 3.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.08888889)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2724) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 5120.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.3) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 127.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2725) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.005555555)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.0) + (sp-flt spt-fade-a -0.22857143) + (sp-rnd-flt spt-accel-y 0.40960002 0.6144 1.0) + (sp-int spt-timer 42) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 171) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2727) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.85) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 16.0 32.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.26666668)) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2729) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.8) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.13333334)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2728) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 192.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 670) (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-finalboss-yellow-claw-beam" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 2733 :binding 2731) + (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) + (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) + (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) + (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) + (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) + (sp-item 2731 :flags (bit1 start-dead launch-asap) :binding 2732) + (sp-item 2732 :flags (bit1 start-dead)) + (sp-item 2732 :flags (bit1 start-dead)) + (sp-item 2732 :flags (bit1 start-dead)) + (sp-item 2732 :flags (bit1 start-dead)) + (sp-item 2732 :flags (bit1 start-dead)) + (sp-item 2732 :flags (bit1 start-dead)) + (sp-item 2735) + (sp-item 2736) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 671) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name + "group-finalboss-yellow-claw-beam-impact" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2737 :flags (is-3d))) + :bounds (new 'static 'sphere :w 40960.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2737) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rot-z (degrees 115.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2733) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.025) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.06666667)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 85.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2731) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 5120.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2732) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.4) + (sp-flt spt-fade-a -0.17777778) + (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2734) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.85) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.26666668)) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 85.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2736) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.7) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.13333334)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 85.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2735) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.7) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-rnd-flt spt-b 0.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 672) (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-finalboss-green-claw-beam" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 2740 :binding 2738) + (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) + (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) + (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) + (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) + (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) + (sp-item 2738 :flags (bit1 start-dead launch-asap) :binding 2739) + (sp-item 2739 :flags (bit1 start-dead)) + (sp-item 2739 :flags (bit1 start-dead)) + (sp-item 2739 :flags (bit1 start-dead)) + (sp-item 2739 :flags (bit1 start-dead)) + (sp-item 2739 :flags (bit1 start-dead)) + (sp-item 2739 :flags (bit1 start-dead)) + (sp-item 2742) + (sp-item 2743) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 673) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name + "group-finalboss-green-claw-beam-impact" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2744 :flags (is-3d))) + :bounds (new 'static 'sphere :w 40960.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2744) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 24.0) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-y (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2740) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.025) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.06666667)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2738) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 5120.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2739) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.17777778) + (sp-rnd-flt spt-accel-y -0.40960002 -0.6144 1.0) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2741) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.85) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.26666668)) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2743) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.13333334)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2742) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 192.0 1.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 674) (new 'static 'sparticle-launch-group + :length 1 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-blue-claw-glow" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 675) (new 'static 'sparticle-launch-group + :length 1 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-green-claw-glow" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 676) (new 'static 'sparticle-launch-group + :length 1 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-red-claw-glow" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 677) (new 'static 'sparticle-launch-group + :length 1 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-yellow-claw-glow" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: 0 diff --git a/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc index 1445f2186d..e71ff3fac8 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss-weapon_REF.gc @@ -30,45 +30,36 @@ ) ;; definition for method 10 of type torus -(defmethod - TODO-RENAME-10 - torus - ((obj torus) (arg0 collide-prim-core) (arg1 vector)) +(defmethod TODO-RENAME-10 torus ((obj torus) (arg0 collide-prim-core) (arg1 vector)) (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) (f30-0 (+ (-> obj radius-secondary) (-> arg0 world-sphere w))) ) - (vector-! gp-0 (the-as vector arg0) (-> obj origin)) - (vector-flatten! s5-0 gp-0 (-> obj axis)) - (vector-normalize! s5-0 (-> obj radius-primary)) - (vector-! arg1 gp-0 s5-0) - (< (vector-length-squared arg1) (* f30-0 f30-0)) - ) + (vector-! gp-0 (the-as vector arg0) (-> obj origin)) + (vector-flatten! s5-0 gp-0 (-> obj axis)) + (vector-normalize! s5-0 (-> obj radius-primary)) + (vector-! arg1 gp-0 s5-0) + (< (vector-length-squared arg1) (* f30-0 f30-0)) + ) ) ;; definition for method 11 of type torus (defmethod dummy-11 torus ((obj torus) (arg0 vector)) - (let - ((s4-0 (the-as collide-shape-prim-group (-> *target* control root-prim)))) - (when - (and - (logtest? (-> s4-0 prim-core collide-as) 16) - (TODO-RENAME-10 obj (-> s4-0 prim-core) arg0) - ) - (countdown (s3-0 (-> s4-0 num-prims)) - (let ((v1-9 (-> s4-0 prims s3-0))) - (if - (and - (logtest? (-> v1-9 prim-core action) 1) - (logtest? (-> v1-9 prim-core collide-as) 16) - (TODO-RENAME-10 obj (-> v1-9 prim-core) arg0) + (let ((s4-0 (the-as collide-shape-prim-group (-> *target* control root-prim)))) + (when (and (logtest? (-> s4-0 prim-core collide-as) 16) (TODO-RENAME-10 obj (-> s4-0 prim-core) arg0)) + (countdown (s3-0 (-> s4-0 num-prims)) + (let ((v1-9 (-> s4-0 prims s3-0))) + (if (and + (logtest? (-> v1-9 prim-core action) 1) + (logtest? (-> v1-9 prim-core collide-as) 16) + (TODO-RENAME-10 obj (-> v1-9 prim-core) arg0) + ) + (return #t) + ) + ) ) - (return #t) - ) ) - ) ) - ) #f ) @@ -99,44 +90,44 @@ (s2-0 (new 'stack-no-clear 'matrix)) (s1-0 (new 'stack-no-clear 'inline-array 'vector 8)) ) - (set-vector! s0-0 0.0 0.0 1.0 1.0) - (vector-flatten! s0-0 s0-0 (-> obj axis)) - (if (= (vector-normalize-ret-len! s0-0 1.0) 0.0) - (set-vector! s0-0 0.0 1.0 0.0 1.0) + (set-vector! s0-0 0.0 0.0 1.0 1.0) + (vector-flatten! s0-0 s0-0 (-> obj axis)) + (if (= (vector-normalize-ret-len! s0-0 1.0) 0.0) + (set-vector! s0-0 0.0 1.0 0.0 1.0) + ) + (vector-cross! s4-0 s0-0 (-> obj axis)) + (matrix-axis-angle! s2-0 s4-0 8192.0) + (vector-float*! (-> s1-0 0) s0-0 (-> obj radius-secondary)) + (set! sv-256 0) + (while (< sv-256 7) + (vector-matrix*! (-> s1-0 (+ sv-256 1)) (-> s1-0 sv-256) s2-0) + (set! sv-256 (+ sv-256 1)) + ) + (vector-float*! s0-0 s0-0 (-> obj radius-primary)) + (dotimes (v1-21 8) + (vector+! (-> s1-0 v1-21) (-> s1-0 v1-21) s0-0) + ) + (matrix-axis-angle! s2-0 (-> obj axis) 4096.0) + (dotimes (s0-1 16) + (set! sv-272 0) + (while (< sv-272 7) + (vector+! s4-0 (-> s1-0 sv-272) (-> obj origin)) + (vector+! s3-0 (-> s1-0 (+ sv-272 1)) (-> obj origin)) + (camera-line s4-0 s3-0 (the-as vector4w arg0)) + (set! sv-272 (+ sv-272 1)) + ) + (vector+! s4-0 (-> s1-0 0) (-> obj origin)) + (camera-line s4-0 s3-0 (the-as vector4w arg0)) + (set! sv-288 0) + (while (< sv-288 8) + (vector+! s4-0 (-> s1-0 sv-288) (-> obj origin)) + (vector-matrix*! (-> s1-0 sv-288) (-> s1-0 sv-288) s2-0) + (vector+! s3-0 (-> s1-0 sv-288) (-> obj origin)) + (camera-line s4-0 s3-0 (the-as vector4w arg0)) + (set! sv-288 (+ sv-288 1)) + ) + ) ) - (vector-cross! s4-0 s0-0 (-> obj axis)) - (matrix-axis-angle! s2-0 s4-0 8192.0) - (vector-float*! (-> s1-0 0) s0-0 (-> obj radius-secondary)) - (set! sv-256 0) - (while (< sv-256 7) - (vector-matrix*! (-> s1-0 (+ sv-256 1)) (-> s1-0 sv-256) s2-0) - (set! sv-256 (+ sv-256 1)) - ) - (vector-float*! s0-0 s0-0 (-> obj radius-primary)) - (dotimes (v1-21 8) - (vector+! (-> s1-0 v1-21) (-> s1-0 v1-21) s0-0) - ) - (matrix-axis-angle! s2-0 (-> obj axis) 4096.0) - (dotimes (s0-1 16) - (set! sv-272 0) - (while (< sv-272 7) - (vector+! s4-0 (-> s1-0 sv-272) (-> obj origin)) - (vector+! s3-0 (-> s1-0 (+ sv-272 1)) (-> obj origin)) - (camera-line s4-0 s3-0 (the-as vector4w arg0)) - (set! sv-272 (+ sv-272 1)) - ) - (vector+! s4-0 (-> s1-0 0) (-> obj origin)) - (camera-line s4-0 s3-0 (the-as vector4w arg0)) - (set! sv-288 0) - (while (< sv-288 8) - (vector+! s4-0 (-> s1-0 sv-288) (-> obj origin)) - (vector-matrix*! (-> s1-0 sv-288) (-> s1-0 sv-288) s2-0) - (vector+! s3-0 (-> s1-0 sv-288) (-> obj origin)) - (camera-line s4-0 s3-0 (the-as vector4w arg0)) - (set! sv-288 (+ sv-288 1)) - ) - ) - ) 0 (none) ) @@ -148,29 +139,25 @@ (v1-2 (the-as number (logior #x3f800000 v1-1))) (f30-1 (* f30-0 (+ -1.0 (the-as float v1-2)))) ) - (set! (-> arg0 x) 0.0) - (set! (-> arg0 y) (* (-> obj radius-secondary) (sin f30-1))) - (set! (-> arg0 z) (* (-> obj radius-secondary) (cos f30-1))) - ) + (set! (-> arg0 x) 0.0) + (set! (-> arg0 y) (* (-> obj radius-secondary) (sin f30-1))) + (set! (-> arg0 z) (* (-> obj radius-secondary) (cos f30-1))) + ) (+! (-> arg0 z) (-> obj radius-primary)) (set! (-> arg0 w) 0.0) (let ((s2-0 (new 'stack-no-clear 'matrix))) - (let* ((s4-0 matrix-rotate-y!) - (s3-0 s2-0) - (f30-2 65536.0) - (v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-7 (the-as number (logior #x3f800000 v1-6))) - ) - (s4-0 s3-0 (* f30-2 (+ -1.0 (the-as float v1-7)))) + (let* ((s4-0 matrix-rotate-y!) + (s3-0 s2-0) + (f30-2 65536.0) + (v1-6 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-7 (the-as number (logior #x3f800000 v1-6))) + ) + (s4-0 s3-0 (* f30-2 (+ -1.0 (the-as float v1-7)))) + ) + (vector-matrix*! arg0 arg0 s2-0) + (matrix-from-two-vectors! s2-0 (new 'static 'vector :y 1.0 :w 1.0) (-> obj axis)) + (vector-matrix*! arg0 arg0 s2-0) ) - (vector-matrix*! arg0 arg0 s2-0) - (matrix-from-two-vectors! - s2-0 - (new 'static 'vector :y 1.0 :w 1.0) - (-> obj axis) - ) - (vector-matrix*! arg0 arg0 s2-0) - ) (vector+! arg0 arg0 (-> obj origin)) arg0 ) @@ -192,8 +179,8 @@ ;; definition for method 3 of type arcing-shot (defmethod inspect arcing-shot ((obj arcing-shot)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ty-vel: ~f~%" (-> obj y-vel)) (format #t "~T~Tgrav: ~f~%" (-> obj grav)) (format #t "~T~Tfrom: #~%" (-> obj from)) @@ -203,41 +190,36 @@ ;; definition for function arcing-shot-setup ;; Used lq/sq -(defbehavior - arcing-shot-setup arcing-shot - ((arg0 vector) (arg1 vector) (arg2 float)) +(defbehavior arcing-shot-setup arcing-shot ((arg0 vector) (arg1 vector) (arg2 float)) (set! (-> self from quad) (-> arg0 quad)) (set! (-> self to quad) (-> arg1 quad)) (let ((v1-2 (fmax 1.0 arg2))) - (if (< (-> arg0 y) (-> arg1 y)) - (set! v1-2 (+ v1-2 (- (-> arg1 y) (-> arg0 y)))) + (if (< (-> arg0 y) (-> arg1 y)) + (set! v1-2 (+ v1-2 (- (-> arg1 y) (-> arg0 y)))) + ) + (let ((f0-6 (* -4.0 v1-2)) + (f3-1 (* 4.0 v1-2 (- (-> arg1 y) (-> arg0 y)))) + ) + (set! (-> self y-vel) (* 0.5 (- (sqrtf (- (* f0-6 f0-6) (* 4.0 f3-1))) f0-6))) + ) + (let ((f0-12 (/ (- (* (-> self y-vel) (-> self y-vel))) (* 2.0 v1-2)))) + (set! (-> self grav) f0-12) + f0-12 + ) ) - (let ((f0-6 (* -4.0 v1-2)) - (f3-1 (* 4.0 v1-2 (- (-> arg1 y) (-> arg0 y)))) - ) - (set! - (-> self y-vel) - (* 0.5 (- (sqrtf (- (* f0-6 f0-6) (* 4.0 f3-1))) f0-6)) - ) - ) - (let ((f0-12 (/ (- (* (-> self y-vel) (-> self y-vel))) (* 2.0 v1-2)))) - (set! (-> self grav) f0-12) - f0-12 - ) - ) ) ;; definition for function arcing-shot-calculate (defbehavior arcing-shot-calculate arcing-shot ((arg0 vector) (arg1 float)) (let ((s5-0 (fmin 1.0 (fmax 0.0 arg1)))) - (vector-lerp! arg0 (-> self from) (-> self to) s5-0) - (set! (-> arg0 y) (-> self from y)) - (+! (-> arg0 y) (* (-> self y-vel) s5-0)) - (let ((f0-6 (+ (-> arg0 y) (* 0.5 s5-0 s5-0 (-> self grav))))) - (set! (-> arg0 y) f0-6) - f0-6 + (vector-lerp! arg0 (-> self from) (-> self to) s5-0) + (set! (-> arg0 y) (-> self from y)) + (+! (-> arg0 y) (* (-> self y-vel) s5-0)) + (let ((f0-6 (+ (-> arg0 y) (* 0.5 s5-0 s5-0 (-> self grav))))) + (set! (-> arg0 y) f0-6) + f0-6 + ) ) - ) ) ;; definition for function arcing-shot-draw @@ -246,32 +228,28 @@ (let ((gp-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-0 quad) (-> self from quad)) - (dotimes (s4-0 30) - (arcing-shot-calculate gp-0 (* 0.033333335 (the float (+ s4-0 1)))) - (camera-line gp-0 s5-0 (new 'static 'vector4w :x #xff :y #xff :w #x80)) - (set! (-> s5-0 quad) (-> gp-0 quad)) + (set! (-> s5-0 quad) (-> self from quad)) + (dotimes (s4-0 30) + (arcing-shot-calculate gp-0 (* 0.033333335 (the float (+ s4-0 1)))) + (camera-line gp-0 s5-0 (new 'static 'vector4w :x #xff :y #xff :w #x80)) + (set! (-> s5-0 quad) (-> gp-0 quad)) + ) ) - ) #f ) ;; failed to figure out what this is: (defstate arcing-shot-debug-trajectory (arcing-shot) :trans - (behavior () - (arcing-shot-setup (camera-pos) (-> self entity extra trans) 40960.0) - (arcing-shot-draw) - (none) - ) + (behavior () (arcing-shot-setup (camera-pos) (-> self entity extra trans) 40960.0) (arcing-shot-draw) (none)) :code (behavior () - (while #t - (format *stdcon* "debug trajectory~%") - (suspend) + (while #t + (format *stdcon* "debug trajectory~%") + (suspend) + ) + (none) ) - (none) - ) ) ;; definition of type darkecobomb @@ -290,8 +268,8 @@ ;; definition for method 3 of type darkecobomb (defmethod inspect darkecobomb ((obj darkecobomb)) (let ((t9-0 (method-of-type arcing-shot inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tflight-time: ~D~%" (-> obj flight-time)) (format #t "~T~Tcountdown-time: ~f~%" (-> obj countdown-time)) (format #t "~T~Tanim-speed: ~f~%" (-> obj anim-speed)) @@ -312,110 +290,84 @@ (defstate darkecobomb-explode (darkecobomb) :code (behavior ((arg0 symbol)) - (send-event *target* 'reset-pickup 'eco) - (sound-play-by-name - (static-sound-name "explod-bomb") - (new-sound-id) - 1024 - 0 - 0 - 1 - #f - ) - (activate! *camera-smush-control* 819.2 37 600 1.0 0.995) - (send-event (ppointer->process (-> self parent)) 'flash 255.0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (send-event *target* 'reset-pickup 'eco) + (sound-play-by-name (static-sound-name "explod-bomb") (new-sound-id) 1024 0 0 1 #f) + (activate! *camera-smush-control* 819.2 37 600 1.0 0.995) + (send-event (ppointer->process (-> self parent)) 'flash 255.0) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-6 (method-of-type part-tracker activate))) + (t9-6 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-1 + part-tracker-init + (-> *part-group-id-table* 619) + 900 + #f + #f + #f + (-> self root-override trans) + ) + (-> s5-1 ppointer) + ) + ) + (logior! (-> self draw status) 2) + (cond + ((or arg0 (and *target* (< (-> (target-pos 0) y) (+ 40960.0 (-> self entity extra trans y))))) + (if *target* + (logior! (-> *target* mask) (process-mask sleep)) + ) + (send-event (ppointer->process (-> self parent)) 'bomb-going) + (send-event *camera* 'change-to-entity-by-name "camera-402") + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 600) + (suspend) + ) + (send-event *camera* 'force-blend 0) + (send-event *camera* 'change-state *camera-base-mode*) + (send-event *camera* 'clear-entity) + (if *target* + (logclear! (-> *target* mask) (process-mask sleep)) + ) + (let ((a1-12 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-12 from) self) + (set! (-> a1-12 num-params) 2) + (set! (-> a1-12 message) 'attack-invinc) + (set! (-> a1-12 param 0) (the-as uint #f)) + (let ((a0-21 (new 'static 'attack-info :mask #x20))) + (set! (-> a0-21 mode) 'instant-death) + (set! (-> a1-12 param 1) (the-as uint a0-21)) + ) + (send-event-function *target* a1-12) + ) ) + (else + (send-event (ppointer->process (-> self parent)) 'bomb-done) + ) ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 619) - 900 - #f - #f - #f - (-> self root-override trans) - ) - (-> s5-1 ppointer) - ) + (deactivate self) + (none) ) - (logior! (-> self draw status) 2) - (cond - ((or - arg0 - (and - *target* - (< (-> (target-pos 0) y) (+ 40960.0 (-> self entity extra trans y))) - ) - ) - (if *target* - (logior! (-> *target* mask) (process-mask sleep)) - ) - (send-event (ppointer->process (-> self parent)) 'bomb-going) - (send-event *camera* 'change-to-entity-by-name "camera-402") - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 600) - (suspend) - ) - (send-event *camera* 'force-blend 0) - (send-event *camera* 'change-state *camera-base-mode*) - (send-event *camera* 'clear-entity) - (if *target* - (logclear! (-> *target* mask) (process-mask sleep)) - ) - (let ((a1-12 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-12 from) self) - (set! (-> a1-12 num-params) 2) - (set! (-> a1-12 message) 'attack-invinc) - (set! (-> a1-12 param 0) (the-as uint #f)) - (let ((a0-21 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-21 mode) 'instant-death) - (set! (-> a1-12 param 1) (the-as uint a0-21)) - ) - (send-event-function *target* a1-12) - ) - ) - (else - (send-event (ppointer->process (-> self parent)) 'bomb-done) - ) - ) - (deactivate self) - (none) - ) :post (the-as (function none :behavior darkecobomb) ja-post) ) ;; definition for function darkecobomb-handler -(defbehavior - darkecobomb-handler darkecobomb - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touch 'attack) +(defbehavior darkecobomb-handler darkecobomb ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('touch 'attack) (go darkecobomb-explode #t) ) - ) + ) ) ;; definition for function darkecobomb-explode-if-player-high-enough ;; INFO: Return type mismatch object vs none. (defbehavior darkecobomb-explode-if-player-high-enough darkecobomb () - (if - (and - (not (movie?)) - *target* - (< (+ 409600.0 (-> self entity extra trans y)) (-> (target-pos 0) y)) - ) - (go darkecobomb-explode #f) - ) + (if (and (not (movie?)) *target* (< (+ 409600.0 (-> self entity extra trans y)) (-> (target-pos 0) y))) + (go darkecobomb-explode #f) + ) (none) ) @@ -425,192 +377,107 @@ darkecobomb-handler :enter (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - (set! (-> self next-tick) 0.9) - (none) - ) + (set! (-> self state-time) (-> *display* game-frame-counter)) + (set! (-> self next-tick) 0.9) + (none) + ) :exit - (behavior () - (stop! (-> self sound)) - (none) - ) + (behavior () (stop! (-> self sound)) (none)) :trans (behavior () - (darkecobomb-explode-if-player-high-enough) - (let - ((f0-1 - (fmax - 0.0 - (/ - (- - (-> self countdown-time) - (the float (- (-> *display* game-frame-counter) (-> self state-time))) - ) - (-> self countdown-time) - ) - ) - ) - ) - (let ((f1-5 (* (- 1.0 f0-1) (- 1.0 f0-1)))) - (set! (-> self anim-speed) (+ 1.0 f1-5)) - ) - (when (< (cos (* 16384.0 (- 1.0 f0-1))) (-> self next-tick)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker gp-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 663) - 150 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) - ) - (set! (-> self next-tick) (+ -0.06 (-> self next-tick))) - (sound-play-by-name - (static-sound-name "robo-warning") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - ) - (if - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (the int (-> self countdown-time)) - ) - (go darkecobomb-explode #f) - ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) + (darkecobomb-explode-if-player-high-enough) + (let ((f0-1 + (fmax + 0.0 + (/ (- (-> self countdown-time) (the float (- (-> *display* game-frame-counter) (-> self state-time)))) + (-> self countdown-time) + ) + ) + ) ) - (let ((gp-2 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-2 (-> self node-list data 5)) - (spawn (-> self part) gp-2) - ) + (let ((f1-5 (* (- 1.0 f0-1) (- 1.0 f0-1)))) + (set! (-> self anim-speed) (+ 1.0 f1-5)) + ) + (when (< (cos (* 16384.0 (- 1.0 f0-1))) (-> self next-tick)) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-3 (method-of-type part-tracker activate))) + (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + part-tracker-init + (-> *part-group-id-table* 663) + 150 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-0 ppointer) + ) + ) + (set! (-> self next-tick) (+ -0.06 (-> self next-tick))) + (sound-play-by-name (static-sound-name "robo-warning") (new-sound-id) 1024 0 0 1 #t) + ) + ) + (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (the int (-> self countdown-time))) + (go darkecobomb-explode #f) + ) + (when (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 5) + ) + (let ((gp-2 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-2 (-> self node-list data 5)) + (spawn (-> self part) gp-2) + ) + ) + (none) ) - (none) - ) :code (behavior () - (sound-play-by-name - (static-sound-name "bomb-open") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) + (sound-play-by-name (static-sound-name "bomb-open") (new-sound-id) 1024 0 0 1 #t) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-5 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-5 param 1) (-> self anim-speed)) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) (until (ja-done? 0) - (update! (-> self sound)) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (while #t + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-5 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-5 param 1) (-> self anim-speed)) + (set! (-> a0-5 frame-num) 0.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (update! (-> self sound)) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior darkecobomb) transform-post) ) @@ -620,84 +487,47 @@ :event darkecobomb-handler :enter - (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - 0 - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) 0 (none)) :trans (behavior () - (darkecobomb-explode-if-player-high-enough) - (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) 150) - (go darkecobomb-countdown) + (darkecobomb-explode-if-player-high-enough) + (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) 150) + (go darkecobomb-countdown) + ) + (none) ) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 + (while (not (ja-done? 0)) + (suspend) + (ja-eval) + ) + (while #t + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior darkecobomb) transform-post) ) @@ -705,120 +535,58 @@ ;; failed to figure out what this is: (defstate darkecobomb-idle (darkecobomb) :enter - (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none)) :trans (behavior () - (arcing-shot-calculate - (-> self root-override trans) - (/ - (the float (- (-> *display* game-frame-counter) (-> self state-time))) - (the float (-> self flight-time)) - ) + (arcing-shot-calculate + (-> self root-override trans) + (/ (the float (- (-> *display* game-frame-counter) (-> self state-time))) (the float (-> self flight-time))) + ) + (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self flight-time)) + (go darkecobomb-land) + ) + (none) ) - (if - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (-> self flight-time) - ) - (go darkecobomb-land) - ) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-3 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (while #t + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-3 param 1) 1.0) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior darkecobomb) transform-post) ) @@ -826,67 +594,47 @@ ;; definition for function darkecobomb-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - darkecobomb-init-by-other darkecobomb - ((arg0 vector) (arg1 vector) (arg2 float) (arg3 int) (arg4 float)) - (let - ((s1-0 - (new - 'process - 'collide-shape-moving - self - (collide-list-enum usually-hit-by-player) +(defbehavior darkecobomb-init-by-other darkecobomb ((arg0 vector) (arg1 vector) (arg2 float) (arg3 int) (arg4 float)) + (let ((s1-0 (new 'process 'collide-shape-moving self (collide-list-enum usually-hit-by-player)))) + (set! (-> s1-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s1-0 reaction) default-collision-reaction) + (set! (-> s1-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s0-0 (new 'process 'collide-shape-prim-sphere s1-0 (the-as uint 0)))) + (set! (-> s0-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s0-0 collide-with) (the-as uint 16)) + (set! (-> s0-0 prim-core action) (the-as uint 1)) + (set! (-> s0-0 prim-core offense) 4) + (set! (-> s0-0 transform-index) 3) + (set-vector! (-> s0-0 local-sphere) 0.0 0.0 0.0 16384.0) + (set-root-prim! s1-0 s0-0) ) - ) + (set! (-> s1-0 nav-radius) (* 0.75 (-> s1-0 root-prim local-sphere w))) + (backup-collide-with-as s1-0) + (set! (-> self root-override) s1-0) ) - (set! (-> s1-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s1-0 reaction) default-collision-reaction) - (set! - (-> s1-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s0-0 (new 'process 'collide-shape-prim-sphere s1-0 (the-as uint 0)))) - (set! (-> s0-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s0-0 collide-with) (the-as uint 16)) - (set! (-> s0-0 prim-core action) (the-as uint 1)) - (set! (-> s0-0 prim-core offense) 4) - (set! (-> s0-0 transform-index) 3) - (set-vector! (-> s0-0 local-sphere) 0.0 0.0 0.0 16384.0) - (set-root-prim! s1-0 s0-0) - ) - (set! (-> s1-0 nav-radius) (* 0.75 (-> s1-0 root-prim local-sphere w))) - (backup-collide-with-as s1-0) - (set! (-> self root-override) s1-0) - ) (set! (-> self root-override trans quad) (-> arg0 quad)) (initialize-skeleton self *darkecobomb-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) - (set! - (-> self part) - (create-launch-control (-> *part-group-id-table* 639) self) - ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 639) self)) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self countdown-time) arg4) (set! (-> self flight-time) arg3) - (set! - (-> self sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "bomb-spin") - :volume #x400 - :fo-max 80 - ) - (-> self to) - ) - ) + (set! (-> self sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "bomb-spin") + :volume #x400 + :fo-max 80 + ) + (-> self to) + ) + ) (go darkecobomb-idle) (none) ) @@ -904,8 +652,8 @@ ;; definition for method 3 of type greenshot (defmethod inspect greenshot ((obj greenshot)) (let ((t9-0 (method-of-type arcing-shot inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tflight-time: ~D~%" (-> obj flight-time)) obj ) @@ -922,82 +670,59 @@ ;; failed to figure out what this is: (defstate greenshot-idle (greenshot) :enter - (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none)) :trans (behavior () - (arcing-shot-calculate - (-> self root-override trans) - (/ - (the float (- (-> *display* game-frame-counter) (-> self state-time))) - (the float (-> self flight-time)) - ) + (arcing-shot-calculate + (-> self root-override trans) + (/ (the float (- (-> *display* game-frame-counter) (-> self state-time))) (the float (-> self flight-time))) + ) + (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self flight-time)) + (deactivate self) + ) + (spawn (-> self part) (-> self root-override trans)) + (none) ) - (if - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (-> self flight-time) - ) - (deactivate self) - ) - (spawn (-> self part) (-> self root-override trans)) - (none) - ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior greenshot) transform-post) ) @@ -1005,48 +730,30 @@ ;; definition for function greenshot-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - greenshot-init-by-other greenshot - ((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint) (arg4 float)) - (let - ((s2-0 - (new - 'process - 'collide-shape-moving - self - (collide-list-enum usually-hit-by-player) +(defbehavior greenshot-init-by-other greenshot ((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint) (arg4 float)) + (let ((s2-0 (new 'process 'collide-shape-moving self (collide-list-enum usually-hit-by-player)))) + (set! (-> s2-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s2-0 reaction) default-collision-reaction) + (set! (-> s2-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s1-0 (new 'process 'collide-shape-prim-sphere s2-0 (the-as uint 0)))) + (set! (-> s1-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s1-0 collide-with) (the-as uint 16)) + (set! (-> s1-0 prim-core offense) 4) + (set-vector! (-> s1-0 local-sphere) 0.0 8192.0 0.0 8192.0) + (set-root-prim! s2-0 s1-0) ) - ) + (set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w))) + (backup-collide-with-as s2-0) + (set! (-> self root-override) s2-0) ) - (set! (-> s2-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s2-0 reaction) default-collision-reaction) - (set! - (-> s2-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s1-0 (new 'process 'collide-shape-prim-sphere s2-0 (the-as uint 0)))) - (set! (-> s1-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s1-0 collide-with) (the-as uint 16)) - (set! (-> s1-0 prim-core offense) 4) - (set-vector! (-> s1-0 local-sphere) 0.0 8192.0 0.0 8192.0) - (set-root-prim! s2-0 s1-0) - ) - (set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w))) - (backup-collide-with-as s2-0) - (set! (-> self root-override) s2-0) - ) (set! (-> self root-override trans quad) (-> arg0 quad)) (initialize-skeleton self *greenshot-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self flight-time) (the-as int arg3)) - (set! - (-> self part) - (create-launch-control (-> *part-group-id-table* 664) self) - ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 664) self)) (logior! (-> self draw status) 2) (go greenshot-idle) (none) @@ -1071,8 +778,8 @@ ;; definition for method 3 of type redshot (defmethod inspect redshot ((obj redshot)) (let ((t9-0 (method-of-type arcing-shot inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tflight-time: ~D~%" (-> obj flight-time)) (format #t "~T~Tstall-time: ~D~%" (-> obj stall-time)) (format #t "~T~Tring: #~%" (-> obj ring)) @@ -1087,22 +794,22 @@ ;; INFO: Return type mismatch arcing-shot vs redshot. (defmethod relocate redshot ((obj redshot) (arg0 int)) (if (nonzero? (-> obj shot-particle)) - (&+! (-> obj shot-particle) arg0) - ) + (&+! (-> obj shot-particle) arg0) + ) (if (nonzero? (-> obj test-particle)) - (&+! (-> obj test-particle) arg0) - ) + (&+! (-> obj test-particle) arg0) + ) (the-as redshot ((method-of-type arcing-shot relocate) obj arg0)) ) ;; definition for method 10 of type redshot (defmethod deactivate redshot ((obj redshot)) (if (nonzero? (-> obj shot-particle)) - (kill-and-free-particles (-> obj shot-particle)) - ) + (kill-and-free-particles (-> obj shot-particle)) + ) (if (nonzero? (-> obj test-particle)) - (kill-and-free-particles (-> obj test-particle)) - ) + (kill-and-free-particles (-> obj test-particle)) + ) ((method-of-type arcing-shot deactivate) obj) (none) ) @@ -1111,11 +818,10 @@ ;; INFO: Return type mismatch int vs none. (defun redshot-particle-callback ((arg0 part-tracker)) (let ((v1-0 (the-as object (-> arg0 userdata)))) - (set! - (-> *part-id-table* 2626 init-specs 2 initial-valuef) - (* 2.25 (-> (the-as (pointer redshot) v1-0) 0 ring radius-primary)) + (set! (-> *part-id-table* 2626 init-specs 2 initial-valuef) + (* 2.25 (-> (the-as (pointer redshot) v1-0) 0 ring radius-primary)) + ) ) - ) 0 (none) ) @@ -1132,160 +838,116 @@ ;; definition for function redshot-trans (defbehavior redshot-trans redshot ((arg0 int)) (let ((s5-0 (new 'stack-no-clear 'matrix))) - 0.0 - (matrix-rotate-yx! - s5-0 - (* - 436.90668 - (the float (+ (-> self rotation-offset) (-> *display* game-frame-counter))) - ) - (* - 291.27112 - (the float (+ (-> self rotation-offset) (-> *display* game-frame-counter))) - ) + 0.0 + (matrix-rotate-yx! + s5-0 + (* 436.90668 (the float (+ (-> self rotation-offset) (-> *display* game-frame-counter)))) + (* 291.27112 (the float (+ (-> self rotation-offset) (-> *display* game-frame-counter)))) + ) + (matrix->quaternion (-> self root-override quat) s5-0) ) - (matrix->quaternion (-> self root-override quat) s5-0) - ) (if (< (* 0.006666667 (the float (min 150 arg0))) 1.0) - (spawn (-> self part) (-> self root-override trans)) - ) + (spawn (-> self part) (-> self root-override trans)) + ) ) ;; failed to figure out what this is: (defstate redshot-explode (redshot) :enter (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - (sound-play-by-name - (static-sound-name "red-explode") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (quaternion-identity! (-> self root-override quat)) - (set! (-> self ring radius-secondary) 3072.0) - (set! (-> self ring origin quad) (-> self root-override trans quad)) - (+! (-> self ring origin y) (-> self ring radius-secondary)) - (set-vector! (-> self ring axis) 0.0 1.0 0.0 1.0) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self part-track) (ppointer->handle (when gp-1 - (let - ((t9-4 - (method-of-type - part-tracker - activate - ) - ) - ) - (t9-4 - (the-as part-tracker gp-1) - self - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> - *part-group-id-table* - 648 - ) - -1 - redshot-particle-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (set! (-> self state-time) (-> *display* game-frame-counter)) + (sound-play-by-name (static-sound-name "red-explode") (new-sound-id) 1024 0 0 1 #t) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (quaternion-identity! (-> self root-override quat)) + (set! (-> self ring radius-secondary) 3072.0) + (set! (-> self ring origin quad) (-> self root-override trans quad)) + (+! (-> self ring origin y) (-> self ring radius-secondary)) + (set-vector! (-> self ring axis) 0.0 1.0 0.0 1.0) + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (set! (-> self part-track) + (ppointer->handle (when gp-1 + (let ((t9-4 (method-of-type part-tracker activate))) + (t9-4 (the-as part-tracker gp-1) self 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + part-tracker-init + (-> *part-group-id-table* 648) + -1 + redshot-particle-callback + (-> self ppointer) + #f + (-> self root-override trans) + ) + (-> gp-1 ppointer) ) - ) + ) + ) + ) + (none) ) - (none) - ) :trans (behavior () - (set! - (-> self ring radius-primary) - (* - 204.8 - (the float (- (-> *display* game-frame-counter) (-> self state-time))) - ) - ) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (when (dummy-11 (-> self ring) gp-0) - (vector-normalize! gp-0 16384.0) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (the-as uint #f)) - (let ((v1-8 (new 'static 'attack-info :mask #x2))) - (set! (-> v1-8 vector quad) (-> gp-0 quad)) - (set! (-> a1-2 param 1) (the-as uint v1-8)) - ) - (send-event-function *target* a1-2) - ) - (send-event (ppointer->process (-> self parent)) 'hit-jak) - ) - ) - (dotimes (gp-1 5) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (dummy-12 (-> self ring) s5-0) - (spawn (-> self test-particle) s5-0) - ) - ) - (let - ((f0-3 - (fmin - 1.0 - (* - 0.006666667 - (the - float - (- 600 (- (-> *display* game-frame-counter) (-> self state-time))) - ) + (set! (-> self ring radius-primary) + (* 204.8 (the float (- (-> *display* game-frame-counter) (-> self state-time)))) + ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (when (dummy-11 (-> self ring) gp-0) + (vector-normalize! gp-0 16384.0) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 2) + (set! (-> a1-2 message) 'attack) + (set! (-> a1-2 param 0) (the-as uint #f)) + (let ((v1-8 (new 'static 'attack-info :mask #x2))) + (set! (-> v1-8 vector quad) (-> gp-0 quad)) + (set! (-> a1-2 param 1) (the-as uint v1-8)) + ) + (send-event-function *target* a1-2) + ) + (send-event (ppointer->process (-> self parent)) 'hit-jak) ) - ) ) - ) - (set-vector! (-> self draw color-mult) f0-3 f0-3 f0-3 0.75) + (dotimes (gp-1 5) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (dummy-12 (-> self ring) s5-0) + (spawn (-> self test-particle) s5-0) + ) + ) + (let ((f0-3 + (fmin 1.0 (* 0.006666667 (the float (- 600 (- (-> *display* game-frame-counter) (-> self state-time)))))) + ) + ) + (set-vector! (-> self draw color-mult) f0-3 f0-3 f0-3 0.75) + ) + (when (>= (- (-> *display* game-frame-counter) (-> self state-time)) 600) + (send-event (ppointer->process (-> self parent)) 'missed-jak) + (deactivate self) + ) + (none) ) - (when (>= (- (-> *display* game-frame-counter) (-> self state-time)) 600) - (send-event (ppointer->process (-> self parent)) 'missed-jak) - (deactivate self) - ) - (none) - ) :code (behavior () - (while #t - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) (* 0.000016276043 (-> self ring radius-primary))) - ) - (suspend) + (while #t + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 num-func) num-func-identity) + (set! (-> v1-2 frame-num) (* 0.000016276043 (-> self ring radius-primary))) + ) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior redshot) transform-post) ) ;; definition for function redshot-handler -(defbehavior - redshot-handler redshot - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack 'touch) +(defbehavior redshot-handler redshot ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('attack 'touch) (go redshot-explode) ) - ) + ) ) ;; failed to figure out what this is: @@ -1293,35 +955,23 @@ :event redshot-handler :enter - (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none)) :trans (behavior () - (redshot-trans - (- - (-> self stall-time) - (- (-> *display* game-frame-counter) (-> self state-time)) - ) + (redshot-trans (- (-> self stall-time) (- (-> *display* game-frame-counter) (-> self state-time)))) + (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self stall-time)) + (go redshot-explode) + ) + (spawn (-> self shot-particle) (-> self root-override trans)) + (none) ) - (if - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (-> self stall-time) - ) - (go redshot-explode) - ) - (spawn (-> self shot-particle) (-> self root-override trans)) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior redshot) transform-post) ) @@ -1331,37 +981,27 @@ :event redshot-handler :enter - (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none)) :trans (behavior () - (redshot-trans 1500) - (arcing-shot-calculate - (-> self root-override trans) - (/ - (the float (- (-> *display* game-frame-counter) (-> self state-time))) - (the float (-> self flight-time)) - ) + (redshot-trans 1500) + (arcing-shot-calculate + (-> self root-override trans) + (/ (the float (- (-> *display* game-frame-counter) (-> self state-time))) (the float (-> self flight-time))) + ) + (if (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self flight-time)) + (go redshot-wait) + ) + (spawn (-> self shot-particle) (-> self root-override trans)) + (none) ) - (if - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (-> self flight-time) - ) - (go redshot-wait) - ) - (spawn (-> self shot-particle) (-> self root-override trans)) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior redshot) transform-post) ) @@ -1369,41 +1009,26 @@ ;; definition for function redshot-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - redshot-init-by-other redshot - ((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint) (arg4 uint) (arg5 uint)) +(defbehavior redshot-init-by-other redshot ((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint) (arg4 uint) (arg5 uint)) (local-vars (sv-16 collide-shape-prim-sphere)) - (let - ((s0-0 - (new - 'process - 'collide-shape-moving - self - (collide-list-enum usually-hit-by-player) - ) - ) + (let ((s0-0 (new 'process 'collide-shape-moving self (collide-list-enum usually-hit-by-player)))) + (set! (-> s0-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s0-0 reaction) default-collision-reaction) + (set! (-> s0-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (set! sv-16 (new 'process 'collide-shape-prim-sphere s0-0 (the-as uint 0))) + (set! (-> sv-16 prim-core collide-as) (the-as uint 512)) + (set! (-> sv-16 collide-with) (the-as uint 16)) + (set! (-> sv-16 prim-core action) (the-as uint 1)) + (set! (-> sv-16 prim-core offense) 4) + (set! (-> sv-16 transform-index) 4) + (set-vector! (-> sv-16 local-sphere) 0.0 0.0 0.0 12288.0) + (set-root-prim! s0-0 sv-16) + (set! (-> s0-0 nav-radius) (* 0.75 (-> s0-0 root-prim local-sphere w))) + (backup-collide-with-as s0-0) + (set! (-> self root-override) s0-0) ) - (set! (-> s0-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s0-0 reaction) default-collision-reaction) - (set! - (-> s0-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (set! sv-16 (new 'process 'collide-shape-prim-sphere s0-0 (the-as uint 0))) - (set! (-> sv-16 prim-core collide-as) (the-as uint 512)) - (set! (-> sv-16 collide-with) (the-as uint 16)) - (set! (-> sv-16 prim-core action) (the-as uint 1)) - (set! (-> sv-16 prim-core offense) 4) - (set! (-> sv-16 transform-index) 4) - (set-vector! (-> sv-16 local-sphere) 0.0 0.0 0.0 12288.0) - (set-root-prim! s0-0 sv-16) - (set! (-> s0-0 nav-radius) (* 0.75 (-> s0-0 root-prim local-sphere w))) - (backup-collide-with-as s0-0) - (set! (-> self root-override) s0-0) - ) (set! (-> self root-override trans quad) (-> arg0 quad)) (initialize-skeleton self *redring-sg* '()) (logclear! (-> self mask) (process-mask actor-pause)) @@ -1411,35 +1036,24 @@ (set! (-> self flight-time) (the-as int arg3)) (set! (-> self stall-time) (the-as int arg4)) (set! (-> self rotation-offset) (the-as int arg5)) - (set! - (-> self part) - (create-launch-control (-> *part-group-id-table* 647) self) - ) - (set! - (-> self shot-particle) - (create-launch-control (-> *part-group-id-table* 665) self) - ) - (set! - (-> self test-particle) - (create-launch-control (-> *part-group-id-table* 679) self) - ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 647) self)) + (set! (-> self shot-particle) (create-launch-control (-> *part-group-id-table* 665) self)) + (set! (-> self test-particle) (create-launch-control (-> *part-group-id-table* 679) self)) (logior! (-> self draw status) 2) - (set! - (-> self sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "red-fireball") - :volume #x400 - :fo-max 80 - ) - (-> self root-override trans) - ) - ) + (set! (-> self sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "red-fireball") + :volume #x400 + :fo-max 80 + ) + (-> self root-override trans) + ) + ) (go redshot-idle) (none) ) @@ -1457,8 +1071,8 @@ ;; definition for method 3 of type yellowshot (defmethod inspect yellowshot ((obj yellowshot)) (let ((t9-0 (method-of-type arcing-shot inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tflight-time: ~D~%" (-> obj flight-time)) obj ) @@ -1467,57 +1081,47 @@ (defstate yellowshot-idle (yellowshot) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touch 'attack) - (when (= (-> arg0 type) target) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a0-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-2 mode) 'generic) - (set! (-> a1-3 param 1) (the-as uint a0-2)) + (case arg2 + (('touch 'attack) + (when (= (-> arg0 type) target) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'attack) + (set! (-> a1-3 param 0) (-> arg3 param 0)) + (let ((a0-2 (new 'static 'attack-info :mask #x20))) + (set! (-> a0-2 mode) 'generic) + (set! (-> a1-3 param 1) (the-as uint a0-2)) + ) + (send-event-function *target* a1-3) + ) + (send-event (ppointer->process (-> self parent)) 'hit-jak) ) - (send-event-function *target* a1-3) - ) - (send-event (ppointer->process (-> self parent)) 'hit-jak) ) ) ) - ) :enter - (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* game-frame-counter)) (none)) :trans (behavior () - (arcing-shot-calculate - (-> self root-override trans) - (/ - (the float (- (-> *display* game-frame-counter) (-> self state-time))) - (the float (-> self flight-time)) - ) + (arcing-shot-calculate + (-> self root-override trans) + (/ (the float (- (-> *display* game-frame-counter) (-> self state-time))) (the float (-> self flight-time))) + ) + (spawn (-> self part) (-> self root-override trans)) + (when (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self flight-time)) + (send-event (ppointer->process (-> self parent)) 'missed-jak) + (deactivate self) + ) + (none) ) - (spawn (-> self part) (-> self root-override trans)) - (when - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (-> self flight-time) - ) - (send-event (ppointer->process (-> self parent)) 'missed-jak) - (deactivate self) - ) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior yellowshot) transform-post) ) @@ -1525,49 +1129,31 @@ ;; definition for function yellowshot-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - yellowshot-init-by-other yellowshot - ((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint)) - (let - ((s2-0 - (new - 'process - 'collide-shape-moving - self - (collide-list-enum usually-hit-by-player) +(defbehavior yellowshot-init-by-other yellowshot ((arg0 vector) (arg1 vector) (arg2 float) (arg3 uint)) + (let ((s2-0 (new 'process 'collide-shape-moving self (collide-list-enum usually-hit-by-player)))) + (set! (-> s2-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s2-0 reaction) default-collision-reaction) + (set! (-> s2-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s1-0 (new 'process 'collide-shape-prim-sphere s2-0 (the-as uint 0)))) + (set! (-> s1-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s1-0 collide-with) (the-as uint 16)) + (set! (-> s1-0 prim-core action) (the-as uint 1)) + (set! (-> s1-0 prim-core offense) 4) + (set-vector! (-> s1-0 local-sphere) 0.0 0.0 0.0 12288.0) + (set-root-prim! s2-0 s1-0) ) - ) + (set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w))) + (backup-collide-with-as s2-0) + (set! (-> self root-override) s2-0) ) - (set! (-> s2-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s2-0 reaction) default-collision-reaction) - (set! - (-> s2-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s1-0 (new 'process 'collide-shape-prim-sphere s2-0 (the-as uint 0)))) - (set! (-> s1-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s1-0 collide-with) (the-as uint 16)) - (set! (-> s1-0 prim-core action) (the-as uint 1)) - (set! (-> s1-0 prim-core offense) 4) - (set-vector! (-> s1-0 local-sphere) 0.0 0.0 0.0 12288.0) - (set-root-prim! s2-0 s1-0) - ) - (set! (-> s2-0 nav-radius) (* 0.75 (-> s2-0 root-prim local-sphere w))) - (backup-collide-with-as s2-0) - (set! (-> self root-override) s2-0) - ) (set! (-> self root-override trans quad) (-> arg0 quad)) (initialize-skeleton self *redring-sg* '()) (logior! (-> self draw status) 2) (arcing-shot-setup arg0 arg1 arg2) (set! (-> self flight-time) (the-as int arg3)) - (set! - (-> self part) - (create-launch-control (-> *part-group-id-table* 652) self) - ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 652) self)) (go yellowshot-idle) (none) ) diff --git a/test/decompiler/reference/levels/finalboss/robotboss_REF.gc b/test/decompiler/reference/levels/finalboss/robotboss_REF.gc index 5a1fc596b7..74dc5f42be 100644 --- a/test/decompiler/reference/levels/finalboss/robotboss_REF.gc +++ b/test/decompiler/reference/levels/finalboss/robotboss_REF.gc @@ -38,8 +38,8 @@ (defbehavior robotboss-cut-cam-exit robotboss () (set! (-> self valid-frames) 0) (if (and *target* (logtest? (-> *target* state-flags) 256)) - (process-release? *target*) - ) + (process-release? *target*) + ) (set! (-> self skel status) (logand -2 (-> self skel status))) (set! (-> self skip-cut) #f) (none) @@ -49,67 +49,61 @@ ;; Used lq/sq (defbehavior robotboss-cut-cam robotboss ((arg0 float) (arg1 float) (arg2 int)) (let ((f0-0 (ja-aframe-num 0))) - (cond - ((or (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - arg2 - ) - ) - (< f0-0 arg0) (< arg1 f0-0) - ) - (robotboss-cut-cam-exit) - ) - ((or - (and - (logtest? (-> *target* control unknown-surface00 flags) 2048) - (zero? (logand (-> *target* control status) 1)) + (cond + ((or + (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + arg2 + ) + ) + (< f0-0 arg0) + (< arg1 f0-0) + ) + (robotboss-cut-cam-exit) ) - (-> self skip-cut) - ) - (set! (-> self skip-cut) #t) - ) - (else - (logior! (-> self skel status) 1) - (process-grab? *target*) - (set! (-> *camera-other-root* quad) (-> self root-override trans quad)) - (let ((s5-1 (-> self node-list data 88 bone transform)) - (gp-1 (-> self node-list data 88 bone scale)) + ((or + (and + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) ) - (let ((s4-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! s4-1 (-> self node-list data 88)) - (set! (-> *camera-other-trans* quad) (-> s4-1 quad)) + (-> self skip-cut) + ) + (set! (-> self skip-cut) #t) ) - (vector-normalize-copy! - (the-as vector (-> *camera-other-matrix* vector)) - (the-as vector (-> s5-1 vector)) - (the-as float -1.0) - ) - (set! (-> *camera-other-matrix* vector 0 w) 0.0) - (vector-normalize-copy! - (-> *camera-other-matrix* vector 1) - (-> s5-1 vector 1) - (the-as float 1.0) - ) - (set! (-> *camera-other-matrix* vector 1 w) 0.0) - (vector-normalize-copy! - (-> *camera-other-matrix* vector 2) - (-> s5-1 vector 2) - (the-as float -1.0) - ) - (set! (-> *camera-other-matrix* vector 2 w) 0.0) - (vector-reset! (-> *camera-other-matrix* vector 3)) - (othercam-calc (-> gp-1 x)) + (else + (logior! (-> self skel status) 1) + (process-grab? *target*) + (set! (-> *camera-other-root* quad) (-> self root-override trans quad)) + (let ((s5-1 (-> self node-list data 88 bone transform)) + (gp-1 (-> self node-list data 88 bone scale)) + ) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (vector<-cspace! s4-1 (-> self node-list data 88)) + (set! (-> *camera-other-trans* quad) (-> s4-1 quad)) + ) + (vector-normalize-copy! + (the-as vector (-> *camera-other-matrix* vector)) + (the-as vector (-> s5-1 vector)) + (the-as float -1.0) + ) + (set! (-> *camera-other-matrix* vector 0 w) 0.0) + (vector-normalize-copy! (-> *camera-other-matrix* vector 1) (-> s5-1 vector 1) (the-as float 1.0)) + (set! (-> *camera-other-matrix* vector 1 w) 0.0) + (vector-normalize-copy! (-> *camera-other-matrix* vector 2) (-> s5-1 vector 2) (the-as float -1.0)) + (set! (-> *camera-other-matrix* vector 2 w) 0.0) + (vector-reset! (-> *camera-other-matrix* vector 3)) + (othercam-calc (-> gp-1 x)) + ) + (hide-hud-quick) + (set! *camera-look-through-other* 2) + (when (< (-> self valid-frames) 2) + (set-blackout-frames 10) + (+! (-> self valid-frames) 1) + ) + ) ) - (hide-hud-quick) - (set! *camera-look-through-other* 2) - (when (< (-> self valid-frames) 2) - (set-blackout-frames 10) - (+! (-> self valid-frames) 1) - ) - ) ) - ) (none) ) @@ -120,9 +114,9 @@ ;; INFO: Return type mismatch object vs none. (defbehavior robotboss-shooting-trans robotboss ((arg0 int)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data arg0)) - (send-event (handle->process (-> self shot-attractor)) 'trans gp-0) - ) + (vector<-cspace! gp-0 (-> self node-list data arg0)) + (send-event (handle->process (-> self shot-attractor)) 'trans gp-0) + ) (none) ) @@ -132,45 +126,21 @@ (set! (-> self hits-to-go) arg1) (set! (-> self vulnerable) arg0) (let ((gp-0 (new 'stack 'sphere))) - (set! (-> gp-0 w) 4096.0) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self shot-attractor) (ppointer->handle (when s5-0 - (let - ((t9-2 - (method-of-type - manipy - activate - ) - ) - ) - (t9-2 - (the-as manipy s5-0) - self - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-0 - manipy-init - (-> - self - root-override - trans - ) - (-> self entity) - *redring-sg* - gp-0 - ) - (-> s5-0 ppointer) - ) - ) - ) + (set! (-> gp-0 w) 4096.0) + (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> self shot-attractor) + (ppointer->handle + (when s5-0 + (let ((t9-2 (method-of-type manipy activate))) + (t9-2 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 manipy-init (-> self root-override trans) (-> self entity) *redring-sg* gp-0) + (-> s5-0 ppointer) + ) + ) + ) + ) ) - ) (send-event (handle->process (-> self shot-attractor)) 'attackable #t) (send-event (handle->process (-> self shot-attractor)) 'draw #f) ) @@ -180,14 +150,10 @@ (logior! (-> self alts 7 extra perm status) (entity-perm-status bit-9)) (logior! (-> self alts 8 extra perm status) (entity-perm-status bit-9)) (logior! (-> self alts 9 extra perm status) (entity-perm-status bit-9)) - (let - ((v0-0 - (logior (-> self alts 10 extra perm status) (entity-perm-status bit-9)) - ) + (let ((v0-0 (logior (-> self alts 10 extra perm status) (entity-perm-status bit-9)))) + (set! (-> self alts 10 extra perm status) v0-0) + v0-0 ) - (set! (-> self alts 10 extra perm status) v0-0) - v0-0 - ) ) ;; definition for function robotboss-yellow-eco-on @@ -195,53 +161,41 @@ (logclear! (-> self alts 7 extra perm status) (entity-perm-status bit-9)) (logclear! (-> self alts 8 extra perm status) (entity-perm-status bit-9)) (logclear! (-> self alts 9 extra perm status) (entity-perm-status bit-9)) - (let - ((v0-0 - (logclear (-> self alts 10 extra perm status) (entity-perm-status bit-9)) - ) + (let ((v0-0 (logclear (-> self alts 10 extra perm status) (entity-perm-status bit-9)))) + (set! (-> self alts 10 extra perm status) v0-0) + v0-0 ) - (set! (-> self alts 10 extra perm status) v0-0) - v0-0 - ) ) ;; definition for function robotboss-anim-blend-loop (defbehavior robotboss-anim-blend-loop robotboss ((arg0 art-joint-anim)) (let ((s5-0 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) + (-> self skel root-channel 0 frame-group) + ) + ) ) - (ja-channel-push! 2 0) - (let ((s4-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! s4-0 arg0 num-func-identity) - (set! (-> s4-0 frame-num) 0.0) + (ja-channel-push! 2 0) + (let ((s4-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! s4-0 arg0 num-func-identity) + (set! (-> s4-0 frame-num) 0.0) + ) + (let ((gp-1 (-> self skel root-channel 1))) + (joint-control-channel-group-eval! gp-1 s5-0 num-func-identity) + (set! (-> gp-1 frame-num) 0.0) + ) ) - (let ((gp-1 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! gp-1 s5-0 num-func-identity) - (set! (-> gp-1 frame-num) 0.0) - ) - ) (while #t - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-loop! - ) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-loop!) + ) + (let ((gp-2 (-> self skel root-channel 1))) + (set! (-> gp-2 frame-interp) (- 1.0 (ease-loc-t self))) + (set! (-> gp-2 param 0) 0.0) + (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-chan) + ) + (suspend) ) - (let ((gp-2 (-> self skel root-channel 1))) - (set! (-> gp-2 frame-interp) (- 1.0 (ease-loc-t self))) - (set! (-> gp-2 param 0) 0.0) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (suspend) - ) (none) ) @@ -251,62 +205,48 @@ (let ((s5-0 (-> self entity extra trans)) (gp-0 (new 'stack-no-clear 'vector)) ) - (let ((s4-0 (new 'stack-no-clear 'matrix))) - (set! - (-> self loc-t) - (/ - (the float (- (-> *display* game-frame-counter) (-> self loc-t-start))) - (the float (-> self loc-t-duration)) + (let ((s4-0 (new 'stack-no-clear 'matrix))) + (set! (-> self loc-t) (/ (the float (- (-> *display* game-frame-counter) (-> self loc-t-start))) + (the float (-> self loc-t-duration)) + ) + ) + (set! (-> self loc-t) (fmin 1.0 (-> self loc-t))) + (vector-lerp! gp-0 (-> self old-loc) (-> self desired-loc) (ease-loc-t self)) + (matrix-rotate-y! s4-0 (-> gp-0 x)) + (set! (-> gp-0 x) 0.0) + (vector-matrix*! gp-0 gp-0 s4-0) + (vector+! (-> self root-override trans) gp-0 (-> self entity extra trans)) + (vector-negate! (the-as vector (-> s4-0 vector)) (the-as vector (-> s4-0 vector))) + (vector-negate! (-> s4-0 vector 2) (-> s4-0 vector 2)) + (matrix->quaternion (-> self root-override quat) s4-0) ) - ) - (set! (-> self loc-t) (fmin 1.0 (-> self loc-t))) - (vector-lerp! - gp-0 - (-> self old-loc) - (-> self desired-loc) - (ease-loc-t self) - ) - (matrix-rotate-y! s4-0 (-> gp-0 x)) - (set! (-> gp-0 x) 0.0) - (vector-matrix*! gp-0 gp-0 s4-0) - (vector+! (-> self root-override trans) gp-0 (-> self entity extra trans)) - (vector-negate! - (the-as vector (-> s4-0 vector)) - (the-as vector (-> s4-0 vector)) - ) - (vector-negate! (-> s4-0 vector 2) (-> s4-0 vector 2)) - (matrix->quaternion (-> self root-override quat) s4-0) + (vector-! gp-0 s5-0 (-> self root-override trans)) + (set! (-> gp-0 y) 0.0) + (vector-normalize! gp-0 (the-as float 204800.0)) + (set! (-> gp-0 y) 32768.0) + (vector+! gp-0 gp-0 s5-0) + (send-event *camera* 'set-pivot gp-0) ) - (vector-! gp-0 s5-0 (-> self root-override trans)) - (set! (-> gp-0 y) 0.0) - (vector-normalize! gp-0 (the-as float 204800.0)) - (set! (-> gp-0 y) 32768.0) - (vector+! gp-0 gp-0 s5-0) - (send-event *camera* 'set-pivot gp-0) - ) (when (-> self alts 6) - (let ((a0-16 (-> self alts 6 extra process)) - (f0-10 (+ (-> self entity extra trans y) (-> self desired-pool-y))) - ) - (when a0-16 - (let ((v1-23 (new 'stack-no-clear 'vector))) - (set! - (-> v1-23 quad) - (-> (the-as process-drawable a0-16) root trans quad) - ) - (cond - ((< (-> v1-23 y) (+ -204.8 f0-10)) - (set! (-> v1-23 y) (+ 20.48 (-> v1-23 y))) + (let ((a0-16 (-> self alts 6 extra process)) + (f0-10 (+ (-> self entity extra trans y) (-> self desired-pool-y))) + ) + (when a0-16 + (let ((v1-23 (new 'stack-no-clear 'vector))) + (set! (-> v1-23 quad) (-> (the-as process-drawable a0-16) root trans quad)) + (cond + ((< (-> v1-23 y) (+ -204.8 f0-10)) + (set! (-> v1-23 y) (+ 20.48 (-> v1-23 y))) + ) + ((< (+ 204.8 f0-10) (-> v1-23 y)) + (set! (-> v1-23 y) (+ -20.48 (-> v1-23 y))) + ) + ) + (send-event a0-16 'move-to v1-23) + ) ) - ((< (+ 204.8 f0-10) (-> v1-23 y)) - (set! (-> v1-23 y) (+ -20.48 (-> v1-23 y))) - ) - ) - (send-event a0-16 'move-to v1-23) ) - ) ) - ) ) ;; definition for function robotboss-darkecobomb @@ -314,599 +254,463 @@ (defbehavior robotboss-darkecobomb robotboss ((arg0 vector) (arg1 float)) (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 60)) - (set! (-> s4-0 quad) (-> self entity extra trans quad)) - (vector+! s4-0 s4-0 arg0) - (let ((s3-1 (get-process *default-dead-pool* darkecobomb #x4000))) - (when s3-1 - (let ((t9-2 (method-of-type darkecobomb activate))) - (t9-2 - (the-as darkecobomb s3-1) - self - 'darkecobomb - (the-as pointer #x70004000) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-0 (-> self node-list data 60)) + (set! (-> s4-0 quad) (-> self entity extra trans quad)) + (vector+! s4-0 s4-0 arg0) + (let ((s3-1 (get-process *default-dead-pool* darkecobomb #x4000))) + (when s3-1 + (let ((t9-2 (method-of-type darkecobomb activate))) + (t9-2 (the-as darkecobomb s3-1) self 'darkecobomb (the-as pointer #x70004000)) + ) + (run-now-in-process s3-1 darkecobomb-init-by-other gp-0 s4-0 61440.0 300 arg1) + (-> s3-1 ppointer) + ) + ) + ) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 638) 300 #f #f #f gp-0) + (-> s5-1 ppointer) ) - ) - (run-now-in-process - s3-1 - darkecobomb-init-by-other - gp-0 - s4-0 - 61440.0 - 300 - arg1 - ) - (-> s3-1 ppointer) ) - ) ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 638) - 300 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) - ) - ) - ) ) ;; definition for function robotboss-bomb-handler -(defbehavior - robotboss-bomb-handler robotboss - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior robotboss-bomb-handler robotboss ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (local-vars (v0-0 object)) - (case arg2 - (('flash) + (case arg2 + (('flash) (let ((f0-1 (* 0.0078125 (the-as float (-> arg3 param 0))))) - (set! (-> self palette-val) f0-1) - f0-1 - ) - ) - (('bomb-done) - (set! (-> self des-cam-entity) #f) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'hide) - (let ((t9-0 send-event-function) - (v1-4 (-> self alts 11)) - ) - (t9-0 (if v1-4 - (-> v1-4 extra process) - ) - a1-1 + (set! (-> self palette-val) f0-1) + f0-1 ) - ) ) - (set! v0-0 (+ (-> self children-spawned) -2)) - (set! (-> self children-spawned) (the-as int v0-0)) - v0-0 + (('bomb-done) + (set! (-> self des-cam-entity) #f) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'hide) + (let ((t9-0 send-event-function) + (v1-4 (-> self alts 11)) + ) + (t9-0 + (if v1-4 + (-> v1-4 extra process) + ) + a1-1 + ) + ) + ) + (set! v0-0 (+ (-> self children-spawned) -2)) + (set! (-> self children-spawned) (the-as int v0-0)) + v0-0 + ) + (('bomb-going) + (set! (-> self des-cam-entity) #f) + (set! v0-0 #t) + (set! (-> self ignore-camera) (the-as symbol v0-0)) + v0-0 + ) ) - (('bomb-going) - (set! (-> self des-cam-entity) #f) - (set! v0-0 #t) - (set! (-> self ignore-camera) (the-as symbol v0-0)) - v0-0 - ) - ) ) ;; definition for function robotboss-handler ;; INFO: Return type mismatch number vs object. -(defbehavior - robotboss-handler robotboss - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior robotboss-handler robotboss ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'flash) - (let ((f0-1 (* 0.0078125 (the-as float (-> arg3 param 0))))) - (set! (-> self palette-val) f0-1) - f0-1 - ) - ) - ((= v1-0 'attack) - (when (>= arg1 2) - (case (-> arg3 param 1) - (('eco-yellow) - (let ((a0-5 (-> arg3 param 0))) - (when - (and - a0-5 - ((method-of-type - touching-shapes-entry - prims-touching? + (the-as object (cond + ((= v1-0 'flash) + (let ((f0-1 (* 0.0078125 (the-as float (-> arg3 param 0))))) + (set! (-> self palette-val) f0-1) + f0-1 + ) + ) + ((= v1-0 'attack) + (when (>= arg1 2) + (case (-> arg3 param 1) + (('eco-yellow) + (let ((a0-5 (-> arg3 param 0))) + (when (and a0-5 ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry a0-5) + (-> self root-override) + (the-as uint (-> self vulnerable)) + ) + ) + (when (> (-> self hits-to-go) 0) + (set! (-> self took-hit) #t) + (let ((v0-0 (the-as number (+ (-> self hits-to-go) -1)))) + (set! (-> self hits-to-go) (the-as int v0-0)) + v0-0 + ) + ) + ) ) - (the-as touching-shapes-entry a0-5) - (-> self root-override) - (the-as uint (-> self vulnerable)) - ) - ) - (when (> (-> self hits-to-go) 0) - (set! (-> self took-hit) #t) - (let - ((v0-0 (the-as number (+ (-> self hits-to-go) -1)))) - (set! (-> self hits-to-go) (the-as int v0-0)) - v0-0 - ) ) ) - ) ) ) ) - ) - ) + ) ) - ) ) ;; failed to figure out what this is: (defstate robotboss-yellow-dark-bomb-wait (robotboss) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'white-eco-picked-up) - (close-specific-task! - (game-task finalboss-movies) - (task-status unknown) - ) - (entity-birth-no-kill (-> self alts 5)) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 0) - (set! (-> a1-2 message) 'play-anim) - (let ((t9-2 send-event-function) - (v1-2 (-> self alts 5)) - ) - (t9-2 (if v1-2 - (-> v1-2 extra process) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'white-eco-picked-up) + (close-specific-task! (game-task finalboss-movies) (task-status unknown)) + (entity-birth-no-kill (-> self alts 5)) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'play-anim) + (let ((t9-2 send-event-function) + (v1-2 (-> self alts 5)) + ) + (t9-2 + (if v1-2 + (-> v1-2 extra process) + ) + a1-2 ) - a1-2 + ) + ) + (dummy-18 self) + (deactivate self) ) + (else + (robotboss-bomb-handler arg0 arg1 arg2 arg3) + ) ) - ) - (dummy-18 self) - (deactivate self) - ) - (else - (robotboss-bomb-handler arg0 arg1 arg2 arg3) - ) - ) - ) + ) + ) ) - ) :enter (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - (set! (-> self children-spawned) 0) - 0 - (none) - ) + (set! (-> self state-time) (-> *display* game-frame-counter)) + (set! (-> self children-spawned) 0) + 0 + (none) + ) :exit (behavior () - (set! (-> self des-cam-entity) #f) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'beam-off) - (let ((t9-0 send-event-function) - (v1-1 (-> self alts 3)) - ) - (t9-0 (if v1-1 - (-> v1-1 extra process) + (set! (-> self des-cam-entity) #f) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'beam-off) + (let ((t9-0 send-event-function) + (v1-1 (-> self alts 3)) ) - a1-0 - ) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'beam-off) - (let ((t9-1 send-event-function) - (v1-5 (-> self alts 2)) + (t9-0 + (if v1-1 + (-> v1-1 extra process) + ) + a1-0 ) - (t9-1 (if v1-5 - (-> v1-5 extra process) - ) - a1-1 + ) ) - ) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 0) - (set! (-> a1-2 message) 'beam-off) - (let ((t9-2 send-event-function) - (v1-9 (-> self alts 1)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'beam-off) + (let ((t9-1 send-event-function) + (v1-5 (-> self alts 2)) + ) + (t9-1 + (if v1-5 + (-> v1-5 extra process) + ) + a1-1 ) - (t9-2 (if v1-9 - (-> v1-9 extra process) - ) - a1-2 + ) ) - ) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'beam-off) - (let ((t9-3 send-event-function) - (v1-13 (-> self alts 4)) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'beam-off) + (let ((t9-2 send-event-function) + (v1-9 (-> self alts 1)) + ) + (t9-2 + (if v1-9 + (-> v1-9 extra process) + ) + a1-2 ) - (t9-3 (if v1-13 - (-> v1-13 extra process) - ) - a1-3 + ) ) - ) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 0) + (set! (-> a1-3 message) 'beam-off) + (let ((t9-3 send-event-function) + (v1-13 (-> self alts 4)) + ) + (t9-3 + (if v1-13 + (-> v1-13 extra process) + ) + a1-3 + ) + ) + ) + (send-event (handle->process (-> self white-eco)) 'beam-off) + (none) ) - (send-event (handle->process (-> self white-eco)) 'beam-off) - (none) - ) :trans (behavior () - (robotboss-always-trans (the-as state #f)) - (spool-push - *art-control* - "green-sagecage-outro-beat-boss-a" - 0 - self - (the-as float -1.0) + (robotboss-always-trans (the-as state #f)) + (spool-push *art-control* "green-sagecage-outro-beat-boss-a" 0 self (the-as float -1.0)) + (robotboss-position) + (none) ) - (robotboss-position) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! - (-> v1-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 32)) - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-6 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) - (robotboss-darkecobomb - (new 'static 'vector :y 40960.0 :z 81920.0) - (-> self dda yellow-bomb-time) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) ) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM20" - #t - (the-as vector #f) + (ja-channel-push! 1 30) + (let ((v1-11 (-> self skel root-channel 0))) + (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) ) - ) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-52 (-> self skel root-channel 0))) - (set! - (-> v1-52 frame-group) - (the-as art-joint-anim (-> self draw art-group data 32)) - ) - ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-16 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! a0-16 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 2)) - (robotboss-darkecobomb - (new 'static 'vector :y 40960.0 :z -81920.0) - (+ -150.0 (-> self dda yellow-bomb-time)) - ) - ) - (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 param 0) - (the float (+ (-> a0-19 frame-group data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-93 (-> self skel root-channel 0))) - (set! - (-> v1-93 frame-group) - (the-as art-joint-anim (-> self draw art-group data 32)) - ) - ) - (let ((a0-25 (-> self skel root-channel 0))) - (set! (-> a0-25 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-25 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-25 param 1) 1.0) - (set! (-> a0-25 frame-num) 0.0) - (joint-control-channel-group! a0-25 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 3)) - (robotboss-darkecobomb - (new 'static 'vector :x 81920.0 :y 40960.0) - (+ -300.0 (-> self dda yellow-bomb-time)) - ) - ) - (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! - (-> a0-28 param 0) - (the float (+ (-> a0-28 frame-group data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! - a0-28 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-134 (-> self skel root-channel 0))) - (set! - (-> v1-134 frame-group) - (the-as art-joint-anim (-> self draw art-group data 32)) - ) - ) - (let ((a0-34 (-> self skel root-channel 0))) - (set! (-> a0-34 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-34 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-34 param 1) 1.0) - (set! (-> a0-34 frame-num) 0.0) - (joint-control-channel-group! a0-34 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 4)) - (robotboss-darkecobomb - (new 'static 'vector :x -81920.0 :y 40960.0) - (+ -450.0 (-> self dda yellow-bomb-time)) - ) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM03" - #t - (the-as vector #f) - ) - (set! (-> self des-cam-entity) "camera-365") - ) - (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! - (-> a0-38 param 0) - (the float (+ (-> a0-38 frame-group data 0 length) -1)) - ) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! - a0-38 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 30) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-183 (-> self skel root-channel 0))) - (set! - (-> v1-183 frame-group) - (the-as art-joint-anim (-> self draw art-group data 30)) - ) - ) - ) - (let ((a0-48 (-> self skel root-channel 0))) - (set! (-> a0-48 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) ) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! + a0-6 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! - (-> a0-48 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) + (until (ja-done? 0) + (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) + (robotboss-darkecobomb (new 'static 'vector :y 40960.0 :z 81920.0) (-> self dda yellow-bomb-time)) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM20" + #t + (the-as vector #f) + ) + ) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 1.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (ja-channel-push! 1 30) + (let ((v1-52 (-> self skel root-channel 0))) + (set! (-> v1-52 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) + ) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-16 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-16 param 1) 1.0) + (set! (-> a0-16 frame-num) 0.0) + (joint-control-channel-group! + a0-16 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (if (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 2)) + (robotboss-darkecobomb (new 'static 'vector :y 40960.0 :z -81920.0) (+ -150.0 (-> self dda yellow-bomb-time))) + ) + (suspend) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) + (set! (-> a0-19 param 1) 1.0) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (ja-channel-push! 1 30) + (let ((v1-93 (-> self skel root-channel 0))) + (set! (-> v1-93 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) + ) + (let ((a0-25 (-> self skel root-channel 0))) + (set! (-> a0-25 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-25 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-25 param 1) 1.0) + (set! (-> a0-25 frame-num) 0.0) + (joint-control-channel-group! + a0-25 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (if (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 3)) + (robotboss-darkecobomb (new 'static 'vector :x 81920.0 :y 40960.0) (+ -300.0 (-> self dda yellow-bomb-time))) + ) + (suspend) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) + (set! (-> a0-28 param 1) 1.0) + (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (ja-channel-push! 1 30) + (let ((v1-134 (-> self skel root-channel 0))) + (set! (-> v1-134 frame-group) (the-as art-joint-anim (-> self draw art-group data 32))) + ) + (let ((a0-34 (-> self skel root-channel 0))) + (set! (-> a0-34 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-34 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-34 param 1) 1.0) + (set! (-> a0-34 frame-num) 0.0) + (joint-control-channel-group! + a0-34 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 4)) + (robotboss-darkecobomb (new 'static 'vector :x -81920.0 :y 40960.0) (+ -450.0 (-> self dda yellow-bomb-time))) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM03" + #t + (the-as vector #f) + ) + (set! (-> self des-cam-entity) "camera-365") + ) + (suspend) + (let ((a0-38 (-> self skel root-channel 0))) + (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) + (set! (-> a0-38 param 1) 1.0) + (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (while #t + (when (not (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - data - 0 - length - ) - -1 - ) - ) + (-> self draw art-group data 30) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-183 (-> self skel root-channel 0))) + (set! (-> v1-183 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) + ) + ) + (let ((a0-48 (-> self skel root-channel 0))) + (set! (-> a0-48 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-48 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-48 param 1) 1.0) + (set! (-> a0-48 frame-num) 0.0) + (joint-control-channel-group! + a0-48 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-49 (-> self skel root-channel 0))) + (set! (-> a0-49 param 0) (the float (+ (-> a0-49 frame-group data 0 length) -1))) + (set! (-> a0-49 param 1) 1.0) + (joint-control-channel-group-eval! a0-49 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> a0-48 param 1) 1.0) - (set! (-> a0-48 frame-num) 0.0) - (joint-control-channel-group! - a0-48 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-49 (-> self skel root-channel 0))) - (set! - (-> a0-49 param 0) - (the float (+ (-> a0-49 frame-group data 0 length) -1)) - ) - (set! (-> a0-49 param 1) 1.0) - (joint-control-channel-group-eval! - a0-49 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -915,428 +719,359 @@ (defstate robotboss-daxter-sacrifice-movie (robotboss) :code (behavior () - (set-blackout-frames #x7530) - (entity-birth-no-kill (-> self alts 5)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'play-anim) - (let ((t9-2 send-event-function) - (v1-1 (-> self alts 5)) - ) - (t9-2 (if v1-1 - (-> v1-1 extra process) + (set-blackout-frames #x7530) + (entity-birth-no-kill (-> self alts 5)) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'play-anim) + (let ((t9-2 send-event-function) + (v1-1 (-> self alts 5)) ) - a1-0 + (t9-2 + (if v1-1 + (-> v1-1 extra process) + ) + a1-0 + ) + ) ) - ) - ) - (suspend) - (while (movie?) (suspend) + (while (movie?) + (suspend) + ) + (set-blackout-frames 0) + (go robotboss-yellow-dark-bomb-wait) + (none) ) - (set-blackout-frames 0) - (go robotboss-yellow-dark-bomb-wait) - (none) - ) ) ;; failed to figure out what this is: (defstate robotboss-white-eco-movie (robotboss) :enter (behavior () - (logior! (-> self draw status) 2) - (set! (-> self children-spawned) 0) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (ja-post) - (none) - ) + (logior! (-> self draw status) 2) + (set! (-> self children-spawned) 0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (ja-post) + (none) + ) :exit - (behavior () - (set! (-> self draw status) (logand -3 (-> self draw status))) - (none) - ) + (behavior () (set! (-> self draw status) (logand -3 (-> self draw status))) (none)) :trans (behavior () - (spool-push - *art-control* - "green-sagecage-daxter-sacrifice" - 0 - self - (the-as float -1.0) - ) - (when - (and - (< (-> self children-spawned) 1) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 285) - ) - (+! (-> self children-spawned) 1) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self entity extra trans quad)) - (set! (-> gp-0 y) (+ 81920.0 (-> gp-0 y))) - (let ((s5-0 (get-process *default-dead-pool* light-eco-mother #x4000))) - (set! (-> self white-eco) (ppointer->handle (when s5-0 - (let - ((t9-2 - (method-of-type - light-eco-mother - activate - ) - ) - ) - (t9-2 - (the-as - light-eco-mother - s5-0 - ) - self - 'light-eco-mother - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - light-eco-mother-init-by-other - (-> self entity) - gp-0 - ) - (-> s5-0 ppointer) - ) - ) - ) + (spool-push *art-control* "green-sagecage-daxter-sacrifice" 0 self (the-as float -1.0)) + (when (and (< (-> self children-spawned) 1) (>= (- (-> *display* base-frame-counter) (-> self state-time)) 285)) + (+! (-> self children-spawned) 1) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self entity extra trans quad)) + (set! (-> gp-0 y) (+ 81920.0 (-> gp-0 y))) + (let ((s5-0 (get-process *default-dead-pool* light-eco-mother #x4000))) + (set! (-> self white-eco) + (ppointer->handle + (when s5-0 + (let ((t9-2 (method-of-type light-eco-mother activate))) + (t9-2 (the-as light-eco-mother s5-0) self 'light-eco-mother (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 light-eco-mother-init-by-other (-> self entity) gp-0) + (-> s5-0 ppointer) + ) + ) + ) + ) + ) ) - ) + (none) ) - (none) - ) :code (behavior () - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'open) - (set! (-> a1-0 param 0) (the-as uint (-> *part-group-id-table* 674))) - (let ((t9-0 send-event-function) - (v1-4 (-> self alts 3)) - ) - (t9-0 (if v1-4 - (-> v1-4 extra process) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'open) + (set! (-> a1-0 param 0) (the-as uint (-> *part-group-id-table* 674))) + (let ((t9-0 send-event-function) + (v1-4 (-> self alts 3)) ) - a1-0 - ) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 675))) - (let ((t9-1 send-event-function) - (v1-11 (-> self alts 2)) + (t9-0 + (if v1-4 + (-> v1-4 extra process) + ) + a1-0 ) - (t9-1 (if v1-11 - (-> v1-11 extra process) - ) - a1-1 + ) ) - ) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'open) - (set! (-> a1-2 param 0) (the-as uint (-> *part-group-id-table* 676))) - (let ((t9-2 send-event-function) - (v1-18 (-> self alts 1)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'open) + (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 675))) + (let ((t9-1 send-event-function) + (v1-11 (-> self alts 2)) + ) + (t9-1 + (if v1-11 + (-> v1-11 extra process) + ) + a1-1 ) - (t9-2 (if v1-18 - (-> v1-18 extra process) - ) - a1-2 + ) ) - ) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 1) - (set! (-> a1-3 message) 'open) - (set! (-> a1-3 param 0) (the-as uint (-> *part-group-id-table* 677))) - (let ((t9-3 send-event-function) - (v1-25 (-> self alts 4)) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 1) + (set! (-> a1-2 message) 'open) + (set! (-> a1-2 param 0) (the-as uint (-> *part-group-id-table* 676))) + (let ((t9-2 send-event-function) + (v1-18 (-> self alts 1)) + ) + (t9-2 + (if v1-18 + (-> v1-18 extra process) + ) + a1-2 ) - (t9-3 (if v1-25 - (-> v1-25 extra process) - ) - a1-3 + ) ) - ) - ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 3) - (set! (-> a1-4 message) 'beam-on) - (set! (-> a1-4 param 0) (the-as uint (-> *part-group-id-table* 666))) - (set! (-> a1-4 param 1) (the-as uint (-> *part-group-id-table* 666))) - (set! (-> a1-4 param 2) (the-as uint (-> self entity extra trans))) - (let ((t9-4 send-event-function) - (v1-37 (-> self alts 3)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 1) + (set! (-> a1-3 message) 'open) + (set! (-> a1-3 param 0) (the-as uint (-> *part-group-id-table* 677))) + (let ((t9-3 send-event-function) + (v1-25 (-> self alts 4)) + ) + (t9-3 + (if v1-25 + (-> v1-25 extra process) + ) + a1-3 ) - (t9-4 (if v1-37 - (-> v1-37 extra process) - ) - a1-4 + ) ) - ) - ) - (let ((a1-5 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-5 from) self) - (set! (-> a1-5 num-params) 3) - (set! (-> a1-5 message) 'beam-on) - (set! (-> a1-5 param 0) (the-as uint (-> *part-group-id-table* 672))) - (set! (-> a1-5 param 1) (the-as uint (-> *part-group-id-table* 672))) - (set! (-> a1-5 param 2) (the-as uint (-> self entity extra trans))) - (let ((t9-5 send-event-function) - (v1-49 (-> self alts 2)) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) self) + (set! (-> a1-4 num-params) 3) + (set! (-> a1-4 message) 'beam-on) + (set! (-> a1-4 param 0) (the-as uint (-> *part-group-id-table* 666))) + (set! (-> a1-4 param 1) (the-as uint (-> *part-group-id-table* 666))) + (set! (-> a1-4 param 2) (the-as uint (-> self entity extra trans))) + (let ((t9-4 send-event-function) + (v1-37 (-> self alts 3)) + ) + (t9-4 + (if v1-37 + (-> v1-37 extra process) + ) + a1-4 ) - (t9-5 (if v1-49 - (-> v1-49 extra process) - ) - a1-5 + ) ) - ) - ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 3) - (set! (-> a1-6 message) 'beam-on) - (set! (-> a1-6 param 0) (the-as uint (-> *part-group-id-table* 668))) - (set! (-> a1-6 param 1) (the-as uint (-> *part-group-id-table* 668))) - (set! (-> a1-6 param 2) (the-as uint (-> self entity extra trans))) - (let ((t9-6 send-event-function) - (v1-61 (-> self alts 1)) + (let ((a1-5 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-5 from) self) + (set! (-> a1-5 num-params) 3) + (set! (-> a1-5 message) 'beam-on) + (set! (-> a1-5 param 0) (the-as uint (-> *part-group-id-table* 672))) + (set! (-> a1-5 param 1) (the-as uint (-> *part-group-id-table* 672))) + (set! (-> a1-5 param 2) (the-as uint (-> self entity extra trans))) + (let ((t9-5 send-event-function) + (v1-49 (-> self alts 2)) + ) + (t9-5 + (if v1-49 + (-> v1-49 extra process) + ) + a1-5 ) - (t9-6 (if v1-61 - (-> v1-61 extra process) - ) - a1-6 + ) ) - ) - ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 3) - (set! (-> a1-7 message) 'beam-on) - (set! (-> a1-7 param 0) (the-as uint (-> *part-group-id-table* 670))) - (set! (-> a1-7 param 1) (the-as uint (-> *part-group-id-table* 670))) - (set! (-> a1-7 param 2) (the-as uint (-> self entity extra trans))) - (let ((t9-7 send-event-function) - (v1-73 (-> self alts 4)) + (let ((a1-6 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-6 from) self) + (set! (-> a1-6 num-params) 3) + (set! (-> a1-6 message) 'beam-on) + (set! (-> a1-6 param 0) (the-as uint (-> *part-group-id-table* 668))) + (set! (-> a1-6 param 1) (the-as uint (-> *part-group-id-table* 668))) + (set! (-> a1-6 param 2) (the-as uint (-> self entity extra trans))) + (let ((t9-6 send-event-function) + (v1-61 (-> self alts 1)) + ) + (t9-6 + (if v1-61 + (-> v1-61 extra process) + ) + a1-6 ) - (t9-7 (if v1-73 - (-> v1-73 extra process) - ) - a1-7 + ) ) - ) - ) - (let* ((gp-0 (get-process *default-dead-pool* finalbosscam #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let - ((t9-9 - (method-of-type finalbosscam activate) - ) + (let ((a1-7 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-7 from) self) + (set! (-> a1-7 num-params) 3) + (set! (-> a1-7 message) 'beam-on) + (set! (-> a1-7 param 0) (the-as uint (-> *part-group-id-table* 670))) + (set! (-> a1-7 param 1) (the-as uint (-> *part-group-id-table* 670))) + (set! (-> a1-7 param 2) (the-as uint (-> self entity extra trans))) + (let ((t9-7 send-event-function) + (v1-73 (-> self alts 4)) + ) + (t9-7 + (if v1-73 + (-> v1-73 extra process) + ) + a1-7 + ) + ) + ) + (let* ((gp-0 (get-process *default-dead-pool* finalbosscam #x4000)) + (gp-1 (ppointer->handle (when gp-0 + (let ((t9-9 (method-of-type finalbosscam activate))) + (t9-9 (the-as finalbosscam gp-0) self 'finalbosscam (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 finalbosscam-init-by-other (-> self entity)) + (-> gp-0 ppointer) ) - (t9-9 - (the-as finalbosscam gp-0) - self - 'finalbosscam - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - finalbosscam-init-by-other - (-> self entity) - ) - (-> gp-0 ppointer) ) ) ) - ) - (send-event (handle->process gp-1) 'play-anim) - (suspend) - (while (movie?) - (suspend) - ) - (let ((a0-18 (handle->process gp-1))) - (if a0-18 - (deactivate a0-18) + (send-event (handle->process gp-1) 'play-anim) + (suspend) + (while (movie?) + (suspend) + ) + (let ((a0-18 (handle->process gp-1))) + (if a0-18 + (deactivate a0-18) + ) + ) ) - ) - ) - (case (get-task-status (game-task finalboss-movies)) - (((task-status unknown)) - (go robotboss-daxter-sacrifice-movie) + (case (get-task-status (game-task finalboss-movies)) + (((task-status unknown)) + (go robotboss-daxter-sacrifice-movie) + ) + (else + (go robotboss-yellow-dark-bomb-wait) + ) ) - (else - (go robotboss-yellow-dark-bomb-wait) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate robotboss-yellow-dark-bomb (robotboss) :enter (behavior () - (set! (-> self old-loc quad) (-> self desired-loc quad)) - (set-vector! (-> self desired-loc) 16384.0 -81920.0 716800.0 1.0) - (set! (-> self loc-t) 0.0) - (set! (-> self loc-t-start) (-> *display* game-frame-counter)) - (set! (-> self loc-t-duration) 1200) - (set! (-> self desired-pool-y) -16384.0) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM01" - #t - (the-as vector #f) + (set! (-> self old-loc quad) (-> self desired-loc quad)) + (set-vector! (-> self desired-loc) 16384.0 -81920.0 716800.0 1.0) + (set! (-> self loc-t) 0.0) + (set! (-> self loc-t-start) (-> *display* game-frame-counter)) + (set! (-> self loc-t-duration) 1200) + (set! (-> self desired-pool-y) -16384.0) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM01" + #t + (the-as vector #f) + ) + (none) ) - (none) - ) :trans (behavior () - (robotboss-always-trans (the-as state #f)) - (spool-push - *art-control* - "finalbosscam-white-eco" - 0 - self - (the-as float -1.0) + (robotboss-always-trans (the-as state #f)) + (spool-push *art-control* "finalbosscam-white-eco" 0 self (the-as float -1.0)) + (if (>= (-> self loc-t) 1.0) + (go robotboss-white-eco-movie) + ) + (robotboss-position) + (none) ) - (if (>= (-> self loc-t) 1.0) - (go robotboss-white-eco-movie) - ) - (robotboss-position) - (none) - ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 31)) - ) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-4 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 30) - ) - ) (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! - (-> v1-41 frame-group) - (the-as art-joint-anim (-> self draw art-group data 30)) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 31))) ) - ) - ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) ) + ) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! + a0-4 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! - (-> a0-15 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 30) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-41 (-> self skel root-channel 0))) + (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 30))) + ) + ) + (while #t + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! + a0-15 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -1347,762 +1082,594 @@ (defbehavior robotboss-yellowshot robotboss () (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 21)) - (set! (-> gp-0 y) 1972633.6) - (if *target* - (set! (-> s5-0 quad) (-> (target-pos 0) quad)) - (set! (-> s5-0 quad) (-> self entity extra trans quad)) - ) - (set! (-> s5-0 y) (+ 8192.0 (-> self entity extra trans y))) - (vector-! s5-0 s5-0 gp-0) - (vector-normalize! s5-0 (the-as float 819200.0)) - (vector+! s5-0 s5-0 gp-0) - (let ((s4-1 (get-process *default-dead-pool* yellowshot #x4000))) - (when s4-1 - (let ((t9-4 (method-of-type yellowshot activate))) - (t9-4 - (the-as yellowshot s4-1) - self - 'yellowshot - (the-as pointer #x70004000) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-0 (-> self node-list data 21)) + (set! (-> gp-0 y) 1972633.6) + (if *target* + (set! (-> s5-0 quad) (-> (target-pos 0) quad)) + (set! (-> s5-0 quad) (-> self entity extra trans quad)) + ) + (set! (-> s5-0 y) (+ 8192.0 (-> self entity extra trans y))) + (vector-! s5-0 s5-0 gp-0) + (vector-normalize! s5-0 (the-as float 819200.0)) + (vector+! s5-0 s5-0 gp-0) + (let ((s4-1 (get-process *default-dead-pool* yellowshot #x4000))) + (when s4-1 + (let ((t9-4 (method-of-type yellowshot activate))) + (t9-4 (the-as yellowshot s4-1) self 'yellowshot (the-as pointer #x70004000)) + ) + (run-now-in-process s4-1 yellowshot-init-by-other gp-0 s5-0 0.0 750) + (-> s4-1 ppointer) + ) + ) + ) + (send-event self 'flash 255.0) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-8 (method-of-type part-tracker activate))) + (t9-8 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 642) 300 #f #f #f gp-0) + (-> s5-1 ppointer) ) - ) - (run-now-in-process s4-1 yellowshot-init-by-other gp-0 s5-0 0.0 750) - (-> s4-1 ppointer) ) - ) ) - (send-event self 'flash 255.0) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-8 (method-of-type part-tracker activate))) - (t9-8 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 642) - 300 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) - ) - ) - ) - (sound-play-by-name - (static-sound-name "bfg-fire") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (sound-play-by-name (static-sound-name "bfg-fire") (new-sound-id) 1024 0 0 1 #t) (none) ) ;; definition for function robotboss-is-yellow-hit (defbehavior robotboss-is-yellow-hit robotboss () - (or (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (or + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) (-> self draw art-group data 28) ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 35) ) - (-> self draw art-group data 35) ) - ) ) ;; definition for function robotboss-time-to-shoot-yellow (defbehavior robotboss-time-to-shoot-yellow robotboss () - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (+ (-> self till-next-shot) 750) - ) + (>= (- (-> *display* game-frame-counter) (-> self state-time)) (+ (-> self till-next-shot) 750)) ) ;; failed to figure out what this is: (defstate robotboss-yellow-wait (robotboss) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('hit-jak) - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) + (case arg2 + (('hit-jak) + (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-3 (the-as number (logior #x3f800000 v1-2))) + (f0-2 (+ -1.0 (the-as float v1-3))) + ) + (cond + ((< 0.75 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM10" + #t + (the-as vector #f) ) - (cond - ((< 0.75 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM10" - #t - (the-as vector #f) - ) - ) - ((< 0.5 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM12" - #t - (the-as vector #f) - ) - ) - ((< 0.25 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM15" - #t - (the-as vector #f) - ) - ) - (else - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM03" - #t - (the-as vector #f) - ) - ) - ) - ) - ) - (('missed-jak) - (let* ((v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-14 (the-as number (logior #x3f800000 v1-13))) - (f0-5 (+ -1.0 (the-as float v1-14))) ) - (if (< 0.5 f0-5) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM14" - #t - (the-as vector #f) - ) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM02" - #t - (the-as vector #f) - ) + ((< 0.5 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM12" + #t + (the-as vector #f) + ) + ) + ((< 0.25 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM15" + #t + (the-as vector #f) + ) + ) + (else + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM03" + #t + (the-as vector #f) + ) + ) + ) + ) ) + (('missed-jak) + (let* ((v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-14 (the-as number (logior #x3f800000 v1-13))) + (f0-5 (+ -1.0 (the-as float v1-14))) + ) + (if (< 0.5 f0-5) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM14" + #t + (the-as vector #f) + ) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM02" + #t + (the-as vector #f) + ) + ) + ) + ) + (else + (robotboss-handler arg0 arg1 arg2 arg3) + ) ) - ) - (else - (robotboss-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (set! (-> self hits-to-go) -1) - (set! (-> self state-time) (-> *display* game-frame-counter)) - (set! (-> self till-next-shot) 300) - (set! (-> self use-interesting) #t) - (set! (-> self keep-charging) #f) - (none) - ) + (set! (-> self hits-to-go) -1) + (set! (-> self state-time) (-> *display* game-frame-counter)) + (set! (-> self till-next-shot) 300) + (set! (-> self use-interesting) #t) + (set! (-> self keep-charging) #f) + (none) + ) :exit (behavior () - (let ((a0-1 (handle->process (-> self shot-attractor)))) - (if a0-1 - (deactivate a0-1) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 677))) - (let ((t9-1 send-event-function) - (v1-10 (-> self alts 4)) + (let ((a0-1 (handle->process (-> self shot-attractor)))) + (if a0-1 + (deactivate a0-1) ) - (t9-1 (if v1-10 - (-> v1-10 extra process) - ) - a1-1 ) - ) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'open) - (set! (-> a1-2 param 0) (the-as uint 0.4)) - (let ((t9-2 send-event-function) - (v1-17 (-> self alts 0)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'open) + (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 677))) + (let ((t9-1 send-event-function) + (v1-10 (-> self alts 4)) + ) + (t9-1 + (if v1-10 + (-> v1-10 extra process) + ) + a1-1 ) - (t9-2 (if v1-17 - (-> v1-17 extra process) - ) - a1-2 + ) ) - ) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 1) + (set! (-> a1-2 message) 'open) + (set! (-> a1-2 param 0) (the-as uint 0.4)) + (let ((t9-2 send-event-function) + (v1-17 (-> self alts 0)) + ) + (t9-2 + (if v1-17 + (-> v1-17 extra process) + ) + a1-2 + ) + ) + ) + (set! (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 3 collide-with) + (the-as uint 0) + ) + (set! (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 3 prim-core collide-as) + (the-as uint 0) + ) + (set! (-> self use-interesting) #f) + (send-event *camera* 'point-of-interest #f) + (if (nonzero? (-> self yellow-gun)) + (set-mode! (-> self yellow-gun) (joint-mod-handler-mode flex-blend)) + ) + (robotboss-yellow-eco-off) + (robotboss-cut-cam-exit) + (stop! (-> self looping-sound 3)) + (none) ) - (set! - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 3 - collide-with - ) - (the-as uint 0) - ) - (set! - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 3 - prim-core - collide-as - ) - (the-as uint 0) - ) - (set! (-> self use-interesting) #f) - (send-event *camera* 'point-of-interest #f) - (if (nonzero? (-> self yellow-gun)) - (set-mode! (-> self yellow-gun) (joint-mod-handler-mode flex-blend)) - ) - (robotboss-yellow-eco-off) - (robotboss-cut-cam-exit) - (stop! (-> self looping-sound 3)) - (none) - ) :trans (behavior () - (robotboss-always-trans robotboss-yellow-dark-bomb) - (robotboss-shooting-trans 21) - (cond - ((zero? (-> self hits-to-go)) - (set! (-> self keep-charging) #f) - (stop! (-> self looping-sound 3)) - (robotboss-yellow-eco-off) - (set! (-> self took-hit) #f) - (+! (-> self hits-to-go) -1) - (ja-channel-push! 1 30) - (let ((v1-8 (-> self skel root-channel 0))) - (set! - (-> v1-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 35)) - ) - ) - (set! (-> self yellow-smoke) #t) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 27)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 - (the-as part-tracker s5-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (robotboss-always-trans robotboss-yellow-dark-bomb) + (robotboss-shooting-trans 21) + (cond + ((zero? (-> self hits-to-go)) + (set! (-> self keep-charging) #f) + (stop! (-> self looping-sound 3)) + (robotboss-yellow-eco-off) + (set! (-> self took-hit) #f) + (+! (-> self hits-to-go) -1) + (ja-channel-push! 1 30) + (let ((v1-8 (-> self skel root-channel 0))) + (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 653) - 300 - #f - #f - #f - gp-0 - ) - (-> s5-0 ppointer) - ) - ) - ) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 (when s5-1 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 - (the-as manipy s5-1) - self - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> self root-override trans) - (-> self entity) - *robotboss-yelloweco-sg* - #f - ) - (-> s5-1 ppointer) - ) + (set! (-> self yellow-smoke) #t) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-0 (-> self node-list data 27)) + (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-0 + (let ((t9-7 (method-of-type part-tracker activate))) + (t9-7 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 653) 300 #f #f #f gp-0) + (-> s5-0 ppointer) ) + ) + ) + (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) + (gp-1 (when s5-1 + (let ((t9-10 (method-of-type manipy activate))) + (t9-10 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-1 + manipy-init + (-> self root-override trans) + (-> self entity) + *robotboss-yelloweco-sg* + #f + ) + (-> s5-1 ppointer) + ) + ) + ) + (send-event (ppointer->process (-> self parent)) 'flash 255.0) + (send-event (ppointer->process gp-1) 'anim-mode 'play1) + (send-event (ppointer->process gp-1) 'rot-quat (-> self root-override quat)) + (send-event (ppointer->process gp-1) 'art-joint-anim "robotboss-yelloweco-yellow-last-hit") + ) + ) + ((and (> (-> self hits-to-go) 0) (-> self took-hit)) + (if (not + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM17" + #t + (the-as vector #f) + ) + ) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM06" + #t + (the-as vector #f) ) - (send-event (ppointer->process (-> self parent)) 'flash 255.0) - (send-event (ppointer->process gp-1) 'anim-mode 'play1) - (send-event - (ppointer->process gp-1) - 'rot-quat - (-> self root-override quat) - ) - (send-event - (ppointer->process gp-1) - 'art-joint-anim - "robotboss-yelloweco-yellow-last-hit" + ) + (set! (-> self took-hit) #f) + (ja-channel-push! 1 30) + (let ((v1-54 (-> self skel root-channel 0))) + (set! (-> v1-54 frame-group) (the-as art-joint-anim (-> self draw art-group data 28))) + ) ) ) - ) - ((and (> (-> self hits-to-go) 0) (-> self took-hit)) - (if - (not - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM17" - #t - (the-as vector #f) + (robotboss-position) + (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int (-> self draw art-group data 29))) + (when (and + (-> self keep-charging) + (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) + ) + (let ((gp-2 (new 'stack-no-clear 'vector))) + (update! (-> self looping-sound 3)) + (vector<-cspace! gp-2 (-> self node-list data 21)) + (spawn (-> self particle 6) gp-2) ) - ) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM06" - #t - (the-as vector #f) - ) ) - (set! (-> self took-hit) #f) - (ja-channel-push! 1 30) - (let ((v1-54 (-> self skel root-channel 0))) - (set! - (-> v1-54 frame-group) - (the-as art-joint-anim (-> self draw art-group data 28)) - ) - ) - ) + (none) ) - (robotboss-position) - (robotboss-cut-cam - (the-as float 5.0) - (the-as float 50.0) - (the-as int (-> self draw art-group data 29)) - ) - (when - (and - (-> self keep-charging) - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (-> self till-next-shot) - ) - ) - (let ((gp-2 (new 'stack-no-clear 'vector))) - (update! (-> self looping-sound 3)) - (vector<-cspace! gp-2 (-> self node-list data 21)) - (spawn (-> self particle 6) gp-2) - ) - ) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (robotboss-setup-for-hits 8 (-> self dda yellow-gun-hits)) - (if (nonzero? (-> self yellow-gun)) - (set-mode! (-> self yellow-gun) (joint-mod-handler-mode look-at)) - ) - (while #t - (when (not (robotboss-time-to-shoot-yellow)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 26) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-23 (-> self skel root-channel 0))) - (set! - (-> v1-23 frame-group) - (the-as art-joint-anim (-> self draw art-group data 26)) - ) - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - (when - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (-> self till-next-shot) - ) - (let ((v1-30 (-> self skel root-channel 0))) - (set! (-> v1-30 num-func) num-func-identity) - (set! (-> v1-30 frame-num) 15.0) - ) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) ) - (while - (not - (or - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (-> self till-next-shot) - ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) + (robotboss-setup-for-hits 8 (-> self dda yellow-gun-hits)) + (if (nonzero? (-> self yellow-gun)) + (set-mode! (-> self yellow-gun) (joint-mod-handler-mode look-at)) ) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 26) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-40 (-> self skel root-channel 0))) - (set! - (-> v1-40 frame-group) - (the-as art-joint-anim (-> self draw art-group data 26)) - ) - ) - ) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-24 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) + (while #t + (when (not (robotboss-time-to-shoot-yellow)) + (when (not (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! - a0-24 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (robotboss-is-yellow-hit) - (goto cfg-36) - ) - (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! - (-> a0-25 param 0) - (the float (+ (-> a0-25 frame-group data 0 length) -1)) - ) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! - a0-25 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (label cfg-36) - (when (not (robotboss-is-yellow-hit)) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 26) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-93 (-> self skel root-channel 0))) - (set! - (-> v1-93 frame-group) - (the-as art-joint-anim (-> self draw art-group data 26)) - ) - ) - ) - (let ((a0-41 (-> self skel root-channel 0))) - (set! (-> a0-41 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-41 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-41 param 1) 1.0) - (set! (-> a0-41 frame-num) 0.0) - (joint-control-channel-group! - a0-41 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (robotboss-is-yellow-hit) - (goto cfg-55) - ) - (if (< 15.0 (ja-aframe-num 0)) - (set! (-> self keep-charging) #t) - ) - (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! - (-> a0-43 param 0) - (the float (+ (-> a0-43 frame-group data 0 length) -1)) - ) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (label cfg-55) - (when (and (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 35) - ) - ) - (or - (robotboss-time-to-shoot-yellow) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 28) - ) - ) + (-> self draw art-group data 26) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-23 (-> self skel root-channel 0))) + (set! (-> v1-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) ) - ) - (set! (-> self state-time) (-> *display* game-frame-counter)) - (let* ((f30-1 (-> self dda yellow-shot-time-min)) - (f28-0 (-> self dda yellow-shot-time-rnd)) - (v1-147 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-148 (the-as number (logior #x3f800000 v1-147))) + ) + (when (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) + (let ((v1-30 (-> self skel root-channel 0))) + (set! (-> v1-30 num-func) num-func-identity) + (set! (-> v1-30 frame-num) 15.0) ) - (set! - (-> self till-next-shot) - (the - int - (+ f30-1 (the float (the int (* f28-0 (+ -1.0 (the-as float v1-148)))))) - ) - ) - ) - (stop! (-> self looping-sound 3)) - (robotboss-yellowshot) - (robotboss-yellow-eco-on) - (let* ((v1-154 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-155 (the-as number (logior #x3f800000 v1-154))) - (f0-29 (+ -1.0 (the-as float v1-155))) - ) - (cond - ((< 0.8333333 f0-29) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM04" - #t - (the-as vector #f) - ) - ) - ((< 0.6666667 f0-29) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM09" - #t - (the-as vector #f) - ) - ) - ((< 0.5 f0-29) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM08" - #t - (the-as vector #f) - ) - ) - ((< 0.33333334 f0-29) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM10" - #t - (the-as vector #f) - ) - ) - ((< 0.16666667 f0-29) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM03" - #t - (the-as vector #f) - ) - ) - (else - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM02" - #t - (the-as vector #f) - ) - ) - ) - ) - (ja-channel-push! 1 15) - (let ((v1-176 (-> self skel root-channel 0))) - (set! - (-> v1-176 frame-group) - (the-as art-joint-anim (-> self draw art-group data 27)) - ) - ) - ) - (let ((a0-70 (-> self skel root-channel 0))) - (set! (-> a0-70 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-70 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + ) + (while (not (or + (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 35) ) - data - 0 - length + ) + ) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 26) + ) ) - -1 + (ja-channel-push! 1 60) + (let ((v1-40 (-> self skel root-channel 0))) + (set! (-> v1-40 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) + ) + ) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) ) - ) - ) - (set! (-> a0-70 param 1) 1.0) - (set! (-> a0-70 frame-num) 0.0) - (joint-control-channel-group! - a0-70 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-71 (-> self skel root-channel 0))) - (set! - (-> a0-71 param 0) - (the float (+ (-> a0-71 frame-group data 0 length) -1)) - ) - (set! (-> a0-71 param 1) 1.0) - (joint-control-channel-group-eval! - a0-71 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (= (if (> (-> self skel active-channels) 0) + (set! (-> a0-24 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-24 param 1) 1.0) + (set! (-> a0-24 frame-num) 0.0) + (joint-control-channel-group! + a0-24 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (if (robotboss-is-yellow-hit) + (goto cfg-36) + ) + (suspend) + (let ((a0-25 (-> self skel root-channel 0))) + (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) + (set! (-> a0-25 param 1) 1.0) + (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (label cfg-36) + (when (not (robotboss-is-yellow-hit)) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 26) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-93 (-> self skel root-channel 0))) + (set! (-> v1-93 frame-group) (the-as art-joint-anim (-> self draw art-group data 26))) + ) + ) + (let ((a0-41 (-> self skel root-channel 0))) + (set! (-> a0-41 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-41 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-41 param 1) 1.0) + (set! (-> a0-41 frame-num) 0.0) + (joint-control-channel-group! + a0-41 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (if (robotboss-is-yellow-hit) + (goto cfg-55) + ) + (if (< 15.0 (ja-aframe-num 0)) + (set! (-> self keep-charging) #t) + ) + (suspend) + (let ((a0-43 (-> self skel root-channel 0))) + (set! (-> a0-43 param 0) (the float (+ (-> a0-43 frame-group data 0 length) -1))) + (set! (-> a0-43 param 1) 1.0) + (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (label cfg-55) + (when (and + (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 35) + ) + ) + (or (robotboss-time-to-shoot-yellow) (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 28) + ) + ) + ) + ) + (set! (-> self state-time) (-> *display* game-frame-counter)) + (let* ((f30-1 (-> self dda yellow-shot-time-min)) + (f28-0 (-> self dda yellow-shot-time-rnd)) + (v1-147 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-148 (the-as number (logior #x3f800000 v1-147))) + ) + (set! (-> self till-next-shot) + (the int (+ f30-1 (the float (the int (* f28-0 (+ -1.0 (the-as float v1-148))))))) + ) + ) + (stop! (-> self looping-sound 3)) + (robotboss-yellowshot) + (robotboss-yellow-eco-on) + (let* ((v1-154 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-155 (the-as number (logior #x3f800000 v1-154))) + (f0-29 (+ -1.0 (the-as float v1-155))) + ) + (cond + ((< 0.8333333 f0-29) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM04" + #t + (the-as vector #f) + ) + ) + ((< 0.6666667 f0-29) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM09" + #t + (the-as vector #f) + ) + ) + ((< 0.5 f0-29) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM08" + #t + (the-as vector #f) + ) + ) + ((< 0.33333334 f0-29) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM10" + #t + (the-as vector #f) + ) + ) + ((< 0.16666667 f0-29) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM03" + #t + (the-as vector #f) + ) + ) + (else + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM02" + #t + (the-as vector #f) + ) + ) + ) + ) + (ja-channel-push! 1 15) + (let ((v1-176 (-> self skel root-channel 0))) + (set! (-> v1-176 frame-group) (the-as art-joint-anim (-> self draw art-group data 27))) + ) + ) + (let ((a0-70 (-> self skel root-channel 0))) + (set! (-> a0-70 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-70 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-70 param 1) 1.0) + (set! (-> a0-70 frame-num) 0.0) + (joint-control-channel-group! + a0-70 + (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - (-> self draw art-group data 35) - ) - (let ((a0-77 (-> self skel root-channel 0))) - (set! - (-> a0-77 frame-group) - (the-as art-joint-anim (-> self draw art-group data 29)) - ) - (set! - (-> a0-77 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 29)) - data - 0 - length + num-func-seek! ) - -1 - ) ) - ) - (set! (-> a0-77 param 1) 1.0) - (set! (-> a0-77 frame-num) 0.0) - (joint-control-channel-group! - a0-77 - (the-as art-joint-anim (-> self draw art-group data 29)) - num-func-seek! - ) + (until (ja-done? 0) + (suspend) + (let ((a0-71 (-> self skel root-channel 0))) + (set! (-> a0-71 param 0) (the float (+ (-> a0-71 frame-group data 0 length) -1))) + (set! (-> a0-71 param 1) 1.0) + (joint-control-channel-group-eval! a0-71 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (when (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 35) + ) + (let ((a0-77 (-> self skel root-channel 0))) + (set! (-> a0-77 frame-group) (the-as art-joint-anim (-> self draw art-group data 29))) + (set! (-> a0-77 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 29)) data 0 length) -1)) + ) + (set! (-> a0-77 param 1) 1.0) + (set! (-> a0-77 frame-num) 0.0) + (joint-control-channel-group! a0-77 (the-as art-joint-anim (-> self draw art-group data 29)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-78 (-> self skel root-channel 0))) + (set! (-> a0-78 param 0) (the float (+ (-> a0-78 frame-group data 0 length) -1))) + (set! (-> a0-78 param 1) 1.0) + (joint-control-channel-group-eval! a0-78 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go robotboss-yellow-dark-bomb) + ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-78 (-> self skel root-channel 0))) - (set! - (-> a0-78 param 0) - (the float (+ (-> a0-78 frame-group data 0 length) -1)) - ) - (set! (-> a0-78 param 1) 1.0) - (joint-control-channel-group-eval! - a0-78 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go robotboss-yellow-dark-bomb) - ) + (none) ) - (none) - ) :post (behavior () - (when *target* - (if (nonzero? (-> self yellow-gun)) - (set-target! (-> self yellow-gun) (target-pos 5)) - ) + (when *target* + (if (nonzero? (-> self yellow-gun)) + (set-target! (-> self yellow-gun) (target-pos 5)) + ) + ) + (transform-post) + (none) ) - (transform-post) - (none) - ) ) ;; failed to figure out what this is: @@ -2111,177 +1678,136 @@ robotboss-handler :enter (behavior () - (set! (-> self old-loc quad) (-> self desired-loc quad)) - (set-vector! (-> self desired-loc) 13653.333 77824.0 491520.0 1.0) - (set! (-> self loc-t) 0.0) - (set! (-> self loc-t-start) (-> *display* game-frame-counter)) - (set! (-> self loc-t-duration) 900) - (set! (-> self desired-pool-y) -18432.0) - (none) - ) + (set! (-> self old-loc quad) (-> self desired-loc quad)) + (set-vector! (-> self desired-loc) 13653.333 77824.0 491520.0 1.0) + (set! (-> self loc-t) 0.0) + (set! (-> self loc-t-start) (-> *display* game-frame-counter)) + (set! (-> self loc-t-duration) 900) + (set! (-> self desired-pool-y) -18432.0) + (none) + ) :trans (behavior () - (robotboss-always-trans robotboss-yellow-wait) - (if (>= (-> self loc-t) 1.0) - (go robotboss-yellow-wait) + (robotboss-always-trans robotboss-yellow-wait) + (if (>= (-> self loc-t) 1.0) + (go robotboss-yellow-wait) + ) + (robotboss-position) + (none) ) - (robotboss-position) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! - (-> v1-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 25)) - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-6 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) + ) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) + ) + (ja-channel-push! 1 60) + (let ((v1-11 (-> self skel root-channel 0))) + (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 25))) + ) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! + a0-6 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (while #t + (cond + ((and *target* (< (+ 81920.0 (-> self entity extra trans y)) (-> (target-pos 0) y))) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 23) + ) ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (cond - ((and - *target* - (< (+ 81920.0 (-> self entity extra trans y)) (-> (target-pos 0) y)) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 23) - ) + (ja-channel-push! 1 240) + (let ((v1-55 (-> self skel root-channel 0))) + (set! (-> v1-55 frame-group) (the-as art-joint-anim (-> self draw art-group data 23))) ) - (ja-channel-push! 1 240) - (let ((v1-55 (-> self skel root-channel 0))) - (set! - (-> v1-55 frame-group) - (the-as art-joint-anim (-> self draw art-group data 23)) + ) + ) + ((not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 21) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-64 (-> self skel root-channel 0))) + (set! (-> v1-64 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) + ) ) ) - ) - ) - ((not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 21) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-64 (-> self skel root-channel 0))) - (set! - (-> v1-64 frame-group) - (the-as art-joint-anim (-> self draw art-group data 21)) + (let ((a0-27 (-> self skel root-channel 0))) + (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-27 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-27 param 1) 1.0) + (set! (-> a0-27 frame-num) 0.0) + (joint-control-channel-group! + a0-27 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) + (set! (-> a0-28 param 1) 1.0) + (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-27 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! - (-> a0-28 param 0) - (the float (+ (-> a0-28 frame-group data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! - a0-28 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -2292,173 +1818,131 @@ robotboss-bomb-handler :enter (behavior () - (set! (-> self children-spawned) 0) - (logior! (-> self alts 11 extra perm status) (entity-perm-status bit-3)) - (none) - ) + (set! (-> self children-spawned) 0) + (logior! (-> self alts 11 extra perm status) (entity-perm-status bit-3)) + (none) + ) :exit (behavior () - (set! (-> self ignore-camera) #f) - (set! (-> self des-cam-entity) #f) - (logclear! (-> self alts 11 extra perm status) (entity-perm-status bit-3)) - (none) - ) + (set! (-> self ignore-camera) #f) + (set! (-> self des-cam-entity) #f) + (logclear! (-> self alts 11 extra perm status) (entity-perm-status bit-3)) + (none) + ) :trans (behavior () - (robotboss-always-trans robotboss-yellow) - (if - (and - (< (-> self children-spawned) 0) - (or - (not *target*) - (!= (-> *target* control unknown-surface00 name) 'launch-jump) - ) - ) - (go robotboss-yellow) + (robotboss-always-trans robotboss-yellow) + (if (and + (< (-> self children-spawned) 0) + (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump)) + ) + (go robotboss-yellow) + ) + (robotboss-position) + (none) ) - (robotboss-position) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! - (-> v1-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 24)) - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-6 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) - (robotboss-darkecobomb - (new 'static 'vector :y 32768.0) - (-> self dda red-bomb-time) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) ) - (set! (-> self des-cam-entity) "camera-365") - ) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) + (ja-channel-push! 1 30) + (let ((v1-11 (-> self skel root-channel 0))) + (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 24))) ) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 21) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-57 (-> self skel root-channel 0))) - (set! - (-> v1-57 frame-group) - (the-as art-joint-anim (-> self draw art-group data 21)) - ) - ) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) ) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! + a0-6 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! - (-> a0-19 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) + (until (ja-done? 0) + (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) + (robotboss-darkecobomb (new 'static 'vector :y 32768.0) (-> self dda red-bomb-time)) + (set! (-> self des-cam-entity) "camera-365") + ) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (while #t + (when (not (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - data - 0 - length - ) - -1 - ) - ) + (-> self draw art-group data 21) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-57 (-> self skel root-channel 0))) + (set! (-> v1-57 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) + ) + ) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-19 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-19 param 1) 1.0) + (set! (-> a0-19 frame-num) 0.0) + (joint-control-channel-group! + a0-19 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) + (set! (-> a0-20 param 1) 1.0) + (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! - a0-19 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 param 0) - (the float (+ (-> a0-20 frame-group data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -2467,140 +1951,112 @@ (defstate robotboss-red-dark-bomb (robotboss) :enter (behavior () - (set! (-> self old-loc quad) (-> self desired-loc quad)) - (set-vector! (-> self desired-loc) 0.0 -81920.0 716800.0 1.0) - (set! (-> self loc-t) 0.0) - (set! (-> self loc-t-start) (-> *display* game-frame-counter)) - (set! (-> self loc-t-duration) 900) - (set! (-> self desired-pool-y) -20480.0) - (none) - ) + (set! (-> self old-loc quad) (-> self desired-loc quad)) + (set-vector! (-> self desired-loc) 0.0 -81920.0 716800.0 1.0) + (set! (-> self loc-t) 0.0) + (set! (-> self loc-t-start) (-> *display* game-frame-counter)) + (set! (-> self loc-t-duration) 900) + (set! (-> self desired-pool-y) -20480.0) + (none) + ) :trans (behavior () - (robotboss-always-trans robotboss-red-dark-bomb-wait) - (robotboss-position) - (if (>= (-> self loc-t) 1.0) - (go robotboss-red-dark-bomb-wait) + (robotboss-always-trans robotboss-red-dark-bomb-wait) + (robotboss-position) + (if (>= (-> self loc-t) 1.0) + (go robotboss-red-dark-bomb-wait) + ) + (none) ) - (none) - ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 22)) - ) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-4 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 21) - ) - ) (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! - (-> v1-41 frame-group) - (the-as art-joint-anim (-> self draw art-group data 21)) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 22))) ) - ) - ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) ) + ) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! + a0-4 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! - (-> a0-15 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 21) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-41 (-> self skel root-channel 0))) + (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 21))) + ) + ) + (while #t + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! + a0-15 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -2649,832 +2105,651 @@ (s4-0 (new 'stack-no-clear 'vector)) (s5-0 (new-stack-vector0)) ) - 0.0 - (dotimes (s3-0 6) - (let ((s1-0 (-> arg0 info s3-0))) - (let* ((f30-0 -40960.0) - (f28-0 81920.0) - (v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-5 (the-as number (logior #x3f800000 v1-4))) - ) - (set! (-> s1-0 dest x) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-5))))) - ) - (set! (-> s1-0 dest y) 0.0) - (let* ((f30-1 -40960.0) - (f28-1 81920.0) - (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-11 (the-as number (logior #x3f800000 v1-10))) - ) - (set! (-> s1-0 dest z) (+ f30-1 (* f28-1 (+ -1.0 (the-as float v1-11))))) - ) - (set! (-> s1-0 dest w) 1.0) - ) - (dotimes (s1-1 s3-0) - (vector-! - s4-0 - (the-as vector (-> arg0 info s3-0)) - (the-as vector (-> arg0 info s1-1)) - ) - (let ((f0-13 (vector-length-squared s4-0))) - (if (< f0-13 1073741800.0) - (vector+float*! - (the-as vector (-> arg0 info s3-0)) - (the-as vector (-> arg0 info s1-1)) - s4-0 - (/ 32768.0 (sqrtf f0-13)) + 0.0 + (dotimes (s3-0 6) + (let ((s1-0 (-> arg0 info s3-0))) + (let* ((f30-0 -40960.0) + (f28-0 81920.0) + (v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-5 (the-as number (logior #x3f800000 v1-4))) + ) + (set! (-> s1-0 dest x) (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-5))))) + ) + (set! (-> s1-0 dest y) 0.0) + (let* ((f30-1 -40960.0) + (f28-1 81920.0) + (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-11 (the-as number (logior #x3f800000 v1-10))) + ) + (set! (-> s1-0 dest z) (+ f30-1 (* f28-1 (+ -1.0 (the-as float v1-11))))) + ) + (set! (-> s1-0 dest w) 1.0) ) - ) + (dotimes (s1-1 s3-0) + (vector-! s4-0 (the-as vector (-> arg0 info s3-0)) (the-as vector (-> arg0 info s1-1))) + (let ((f0-13 (vector-length-squared s4-0))) + (if (< f0-13 1073741800.0) + (vector+float*! + (the-as vector (-> arg0 info s3-0)) + (the-as vector (-> arg0 info s1-1)) + s4-0 + (/ 32768.0 (sqrtf f0-13)) + ) + ) + ) + ) + (vector+! s5-0 s5-0 (the-as vector (-> arg0 info s3-0))) + (let* ((f30-2 60.0) + (v1-27 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-28 (the-as number (logior #x3f800000 v1-27))) + ) + (set! (-> arg0 info s3-0 flight-time) (+ (the int (* f30-2 (+ -1.0 (the-as float v1-28)))) 180)) + ) + (let* ((s1-3 (max 150 (- s2-0 (-> arg0 info s3-0 flight-time)))) + (f30-3 60.0) + (v1-38 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-39 (the-as number (logior #x3f800000 v1-38))) + ) + (set! (-> arg0 info s3-0 stall-time) (+ (the int (* f30-3 (+ -1.0 (the-as float v1-39)))) 300 s1-3)) + ) + (set! s2-0 (+ (-> arg0 info s3-0 flight-time) (-> arg0 info s3-0 stall-time))) ) - ) - (vector+! s5-0 s5-0 (the-as vector (-> arg0 info s3-0))) - (let* ((f30-2 60.0) - (v1-27 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-28 (the-as number (logior #x3f800000 v1-27))) - ) - (set! - (-> arg0 info s3-0 flight-time) - (+ (the int (* f30-2 (+ -1.0 (the-as float v1-28)))) 180) + (vector-float*! s5-0 s5-0 0.16666667) + (vector-! s5-0 (-> self entity extra trans) s5-0) + (dotimes (v1-53 6) + (vector+! (the-as vector (-> arg0 info v1-53)) (the-as vector (-> arg0 info v1-53)) s5-0) + (set! (-> arg0 info v1-53 dest y) (+ (-> (new 'static 'array float 1 2048.0) 0) (-> arg0 info v1-53 dest y))) ) - ) - (let* ((s1-3 (max 150 (- s2-0 (-> arg0 info s3-0 flight-time)))) - (f30-3 60.0) - (v1-38 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-39 (the-as number (logior #x3f800000 v1-38))) - ) - (set! - (-> arg0 info s3-0 stall-time) - (+ (the int (* f30-3 (+ -1.0 (the-as float v1-39)))) 300 s1-3) - ) - ) - (set! - s2-0 - (+ (-> arg0 info s3-0 flight-time) (-> arg0 info s3-0 stall-time)) - ) ) - (vector-float*! s5-0 s5-0 0.16666667) - (vector-! s5-0 (-> self entity extra trans) s5-0) - (dotimes (v1-53 6) - (vector+! - (the-as vector (-> arg0 info v1-53)) - (the-as vector (-> arg0 info v1-53)) - s5-0 - ) - (set! - (-> arg0 info v1-53 dest y) - (+ (-> (new 'static 'array float 1 2048.0) 0) (-> arg0 info v1-53 dest y)) - ) - ) - ) (none) ) ;; definition for function robotboss-redshot ;; WARN: Stack slot load at 64 mismatch: defined as size 4, got size 16 ;; Used lq/sq -(defbehavior - robotboss-redshot robotboss - ((arg0 redshot-launch-info) (arg1 symbol)) - (local-vars - (sv-32 redshot-launch-info) - (sv-48 vector) - (sv-64 float) - (sv-80 int) - (sv-96 int) - ) +(defbehavior robotboss-redshot robotboss ((arg0 redshot-launch-info) (arg1 symbol)) + (local-vars (sv-32 redshot-launch-info) (sv-48 vector) (sv-64 float) (sv-80 int) (sv-96 int)) (set! sv-32 arg0) (let ((s5-0 arg1)) - (+! (-> self children-spawned) 1) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 40)) - (let ((s4-0 (get-process *default-dead-pool* redshot #x4000))) - (when s4-0 - (let ((t9-2 (method-of-type redshot activate))) - (t9-2 (the-as redshot s4-0) self 'redshot (the-as pointer #x70004000)) - ) - (let ((s3-0 run-function-in-process) - (s2-0 s4-0) - (s1-0 redshot-init-by-other) - (s0-0 gp-0) + (+! (-> self children-spawned) 1) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-0 (-> self node-list data 40)) + (let ((s4-0 (get-process *default-dead-pool* redshot #x4000))) + (when s4-0 + (let ((t9-2 (method-of-type redshot activate))) + (t9-2 (the-as redshot s4-0) self 'redshot (the-as pointer #x70004000)) ) - (set! sv-48 (-> sv-32 dest)) - (let* ((f30-0 20480.0) - (f28-0 12288.0) - (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-11 (the-as number (logior #x3f800000 v1-10))) + (let ((s3-0 run-function-in-process) + (s2-0 s4-0) + (s1-0 redshot-init-by-other) + (s0-0 gp-0) + ) + (set! sv-48 (-> sv-32 dest)) + (let* ((f30-0 20480.0) + (f28-0 12288.0) + (v1-10 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-11 (the-as number (logior #x3f800000 v1-10))) + ) + (set! sv-64 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-11))))) ) - (set! sv-64 (+ f30-0 (* f28-0 (+ -1.0 (the-as float v1-11))))) - ) - (set! sv-80 (-> sv-32 flight-time)) - (set! sv-96 (-> sv-32 stall-time)) - (let* ((f30-1 300.0) - (v1-19 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-20 (the-as number (logior #x3f800000 v1-19))) - (t3-0 (the int (* f30-1 (+ -1.0 (the-as float v1-20))))) + (set! sv-80 (-> sv-32 flight-time)) + (set! sv-96 (-> sv-32 stall-time)) + (let* ((f30-1 300.0) + (v1-19 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-20 (the-as number (logior #x3f800000 v1-19))) + (t3-0 (the int (* f30-1 (+ -1.0 (the-as float v1-20))))) + ) + ((the-as (function object object object object object object object object none) s3-0) + s2-0 + s1-0 + s0-0 + sv-48 + sv-64 + sv-80 + sv-96 + t3-0 + ) ) - ((the-as - (function object object object object object object object object none) - s3-0 + ) + (-> s4-0 ppointer) ) - s2-0 - s1-0 - s0-0 - sv-48 - sv-64 - sv-80 - sv-96 - t3-0 - ) ) - ) - (-> s4-0 ppointer) - ) - ) - (when s5-0 - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (when s5-0 + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-7 (method-of-type part-tracker activate))) + (t9-7 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 641) 300 #f #f #f gp-0) + (-> s5-1 ppointer) + ) + ) + (sound-play-by-name (static-sound-name "red-fire") (new-sound-id) 1024 0 0 1 #t) ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 641) - 300 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) - ) ) - (sound-play-by-name - (static-sound-name "red-fire") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) ) - ) ) ;; definition for function robotboss-is-red-hit (defbehavior robotboss-is-red-hit robotboss () - (or (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (or + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) (-> self draw art-group data 19) ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 34) ) - (-> self draw art-group data 34) ) - ) ) ;; failed to figure out what this is: (defstate robotboss-red-wait (robotboss) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('hit-jak) - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) + (case arg2 + (('hit-jak) + (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-3 (the-as number (logior #x3f800000 v1-2))) + (f0-2 (+ -1.0 (the-as float v1-3))) + ) + (cond + ((< 0.75 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM10" + #t + (the-as vector #f) ) - (cond - ((< 0.75 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM10" - #t - (the-as vector #f) - ) - ) - ((< 0.5 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM12" - #t - (the-as vector #f) - ) - ) - ((< 0.25 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM15" - #t - (the-as vector #f) - ) - ) - (else - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM03" - #t - (the-as vector #f) - ) - ) - ) - ) - ) - (('missed-jak) - (let* ((v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-14 (the-as number (logior #x3f800000 v1-13))) - (f0-5 (+ -1.0 (the-as float v1-14))) ) - (if (< 0.5 f0-5) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM14" - #t - (the-as vector #f) - ) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM01" - #t - (the-as vector #f) - ) + ((< 0.5 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM12" + #t + (the-as vector #f) + ) + ) + ((< 0.25 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM15" + #t + (the-as vector #f) + ) + ) + (else + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM03" + #t + (the-as vector #f) + ) + ) + ) + ) ) + (('missed-jak) + (let* ((v1-13 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-14 (the-as number (logior #x3f800000 v1-13))) + (f0-5 (+ -1.0 (the-as float v1-14))) + ) + (if (< 0.5 f0-5) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM14" + #t + (the-as vector #f) + ) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM01" + #t + (the-as vector #f) + ) + ) + ) + ) + (else + (robotboss-handler arg0 arg1 arg2 arg3) + ) ) - ) - (else - (robotboss-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (set! (-> self hits-to-go) -1) - (set! (-> self des-cam-entity) "camera-390") - (set! (-> self use-interesting) #t) - (set! (-> self state-time) (-> *display* game-frame-counter)) - (set! (-> self till-next-shot) 0) - 0 - (none) - ) + (set! (-> self hits-to-go) -1) + (set! (-> self des-cam-entity) "camera-390") + (set! (-> self use-interesting) #t) + (set! (-> self state-time) (-> *display* game-frame-counter)) + (set! (-> self till-next-shot) 0) + 0 + (none) + ) :exit (behavior () - (let ((a0-1 (handle->process (-> self shot-attractor)))) - (if a0-1 - (deactivate a0-1) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 676))) - (let ((t9-1 send-event-function) - (v1-10 (-> self alts 1)) + (let ((a0-1 (handle->process (-> self shot-attractor)))) + (if a0-1 + (deactivate a0-1) ) - (t9-1 (if v1-10 - (-> v1-10 extra process) - ) - a1-1 ) - ) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'open) - (set! (-> a1-2 param 0) (the-as uint 0.3)) - (let ((t9-2 send-event-function) - (v1-17 (-> self alts 0)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'open) + (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 676))) + (let ((t9-1 send-event-function) + (v1-10 (-> self alts 1)) + ) + (t9-1 + (if v1-10 + (-> v1-10 extra process) + ) + a1-1 ) - (t9-2 (if v1-17 - (-> v1-17 extra process) - ) - a1-2 + ) ) - ) - ) - (set! - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 5 - collide-with - ) - (the-as uint 0) - ) - (set! - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 5 - prim-core - collide-as - ) - (the-as uint 0) - ) - (set! (-> self use-interesting) #f) - (set! (-> self des-cam-entity) #f) - (robotboss-yellow-eco-off) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'show) - (let ((t9-4 send-event-function) - (v1-27 (-> self alts 11)) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 1) + (set! (-> a1-2 message) 'open) + (set! (-> a1-2 param 0) (the-as uint 0.3)) + (let ((t9-2 send-event-function) + (v1-17 (-> self alts 0)) + ) + (t9-2 + (if v1-17 + (-> v1-17 extra process) + ) + a1-2 ) - (t9-4 (if v1-27 - (-> v1-27 extra process) - ) - a1-3 + ) ) - ) + (set! (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 5 collide-with) + (the-as uint 0) + ) + (set! (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 5 prim-core collide-as) + (the-as uint 0) + ) + (set! (-> self use-interesting) #f) + (set! (-> self des-cam-entity) #f) + (robotboss-yellow-eco-off) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 0) + (set! (-> a1-3 message) 'show) + (let ((t9-4 send-event-function) + (v1-27 (-> self alts 11)) + ) + (t9-4 + (if v1-27 + (-> v1-27 extra process) + ) + a1-3 + ) + ) + ) + (none) ) - (none) - ) :trans (behavior () - (robotboss-always-trans robotboss-red-dark-bomb) - (robotboss-shooting-trans 40) - (cond - ((zero? (-> self hits-to-go)) - (robotboss-yellow-eco-off) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'show) - (let ((t9-3 send-event-function) - (v1-3 (-> self alts 11)) - ) - (t9-3 (if v1-3 - (-> v1-3 extra process) - ) - a1-0 - ) - ) - ) - (set! (-> self took-hit) #f) - (+! (-> self hits-to-go) -1) - (ja-channel-push! 1 30) - (let ((v1-10 (-> self skel root-channel 0))) - (set! - (-> v1-10 frame-group) - (the-as art-joint-anim (-> self draw art-group data 34)) - ) - ) - (set! (-> self red-smoke) #t) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 51)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 - (the-as part-tracker s5-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 649) - 300 - #f - #f - #f - gp-0 - ) - (-> s5-0 ppointer) - ) - ) - ) - (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 (when s5-1 - (let ((t9-10 (method-of-type manipy activate))) - (t9-10 - (the-as manipy s5-1) - self - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> self root-override trans) - (-> self entity) - *robotboss-redeco-sg* - #f - ) - (-> s5-1 ppointer) - ) + (robotboss-always-trans robotboss-red-dark-bomb) + (robotboss-shooting-trans 40) + (cond + ((zero? (-> self hits-to-go)) + (robotboss-yellow-eco-off) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'show) + (let ((t9-3 send-event-function) + (v1-3 (-> self alts 11)) + ) + (t9-3 + (if v1-3 + (-> v1-3 extra process) + ) + a1-0 ) + ) + ) + (set! (-> self took-hit) #f) + (+! (-> self hits-to-go) -1) + (ja-channel-push! 1 30) + (let ((v1-10 (-> self skel root-channel 0))) + (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 34))) + ) + (set! (-> self red-smoke) #t) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-0 (-> self node-list data 51)) + (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-0 + (let ((t9-7 (method-of-type part-tracker activate))) + (t9-7 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 649) 300 #f #f #f gp-0) + (-> s5-0 ppointer) + ) + ) + ) + (let* ((s5-1 (get-process *default-dead-pool* manipy #x4000)) + (gp-1 + (when s5-1 + (let ((t9-10 (method-of-type manipy activate))) + (t9-10 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 manipy-init (-> self root-override trans) (-> self entity) *robotboss-redeco-sg* #f) + (-> s5-1 ppointer) + ) + ) + ) + (send-event (ppointer->process (-> self parent)) 'flash 255.0) + (send-event (ppointer->process gp-1) 'anim-mode 'play1) + (send-event (ppointer->process gp-1) 'rot-quat (-> self root-override quat)) + (send-event (ppointer->process gp-1) 'art-joint-anim "robotboss-redeco-red-last-hit") + ) + ) + ((and (> (-> self hits-to-go) 0) (-> self took-hit)) + (if (not + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM17" + #t + (the-as vector #f) + ) + ) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM06" + #t + (the-as vector #f) ) - (send-event (ppointer->process (-> self parent)) 'flash 255.0) - (send-event (ppointer->process gp-1) 'anim-mode 'play1) - (send-event - (ppointer->process gp-1) - 'rot-quat - (-> self root-override quat) - ) - (send-event - (ppointer->process gp-1) - 'art-joint-anim - "robotboss-redeco-red-last-hit" + ) + (set! (-> self took-hit) #f) + (ja-channel-push! 1 30) + (let ((v1-56 (-> self skel root-channel 0))) + (set! (-> v1-56 frame-group) (the-as art-joint-anim (-> self draw art-group data 19))) + ) ) ) - ) - ((and (> (-> self hits-to-go) 0) (-> self took-hit)) - (if - (not - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM17" - #t - (the-as vector #f) - ) - ) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM06" - #t - (the-as vector #f) - ) - ) - (set! (-> self took-hit) #f) - (ja-channel-push! 1 30) - (let ((v1-56 (-> self skel root-channel 0))) - (set! - (-> v1-56 frame-group) - (the-as art-joint-anim (-> self draw art-group data 19)) - ) - ) - ) + (robotboss-position) + (none) ) - (robotboss-position) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (robotboss-setup-for-hits 1 5) - (while #t - (until - (or - (>= - (- (-> *display* game-frame-counter) (-> self state-time)) - (-> self till-next-shot) - ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) + ) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) + ) + (robotboss-setup-for-hits 1 5) + (while #t + (until (or + (>= (- (-> *display* game-frame-counter) (-> self state-time)) (-> self till-next-shot)) + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 34) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-11 (-> self skel root-channel 0))) + (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) ) - (-> self draw art-group data 34) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! - (-> v1-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 16)) - ) - ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-7 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) - ) - (goto cfg-24) - ) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (label cfg-24) - (set! (-> self state-time) (-> *display* game-frame-counter)) - (let* ((f30-0 (-> self dda red-shot-time-min)) - (f28-0 (-> self dda red-shot-time-rnd)) - (v1-65 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-66 (the-as number (logior #x3f800000 v1-65))) - ) - (set! - (-> self till-next-shot) - (the - int - (+ f30-0 (the float (the int (* f28-0 (+ -1.0 (the-as float v1-66)))))) - ) - ) - ) - (when (not (robotboss-is-red-hit)) - (ja-channel-push! 1 60) - (let ((v1-72 (-> self skel root-channel 0))) - (set! - (-> v1-72 frame-group) - (the-as art-joint-anim (-> self draw art-group data 17)) - ) - ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-27 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (update! (-> self looping-sound 2)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 40)) - (spawn (-> self particle 5) gp-0) - ) - (if (robotboss-is-red-hit) - (goto cfg-37) - ) - (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! - (-> a0-31 param 0) - (the float (+ (-> a0-31 frame-group data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! - a0-31 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (label cfg-37) - (stop! (-> self looping-sound 2)) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 34) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) ) - ) - (let* ((v1-120 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-121 (the-as number (logior #x3f800000 v1-120))) - (f30-1 (+ -1.0 (the-as float v1-121))) - (gp-1 (new 'stack-no-clear 'redshot-launch-array)) - (s5-0 (-> self dda red-shots-min)) + (set! (-> a0-7 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-7 param 1) 1.0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! + a0-7 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! ) - (robotboss-yellow-eco-on) - (robotboss-redshot-fill-array gp-1) - (robotboss-redshot (the-as redshot-launch-info (-> gp-1 info)) #t) - (let* - ((v1-127 - (+ s5-0 (the int (* f30-1 (the float (-> self dda red-shots-rnd))))) - ) - (s5-1 (+ (min 6 v1-127) -1)) - ) - (dotimes (s4-0 s5-1) - (robotboss-redshot (-> gp-1 info (+ s4-0 1)) #f) - ) - ) - ) - ) - (when (not (robotboss-is-red-hit)) - (let* ((v1-135 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-136 (the-as number (logior #x3f800000 v1-135))) - (f0-33 (+ -1.0 (the-as float v1-136))) + ) + (until (ja-done? 0) + (if (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 34) + ) + (goto cfg-24) + ) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) ) - (cond - ((< 0.8333333 f0-33) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM04" - #t - (the-as vector #f) - ) + ) ) - ((< 0.6666667 f0-33) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM05" - #t - (the-as vector #f) - ) + (label cfg-24) + (set! (-> self state-time) (-> *display* game-frame-counter)) + (let* ((f30-0 (-> self dda red-shot-time-min)) + (f28-0 (-> self dda red-shot-time-rnd)) + (v1-65 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-66 (the-as number (logior #x3f800000 v1-65))) + ) + (set! (-> self till-next-shot) + (the int (+ f30-0 (the float (the int (* f28-0 (+ -1.0 (the-as float v1-66))))))) + ) ) - ((< 0.5 f0-33) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM08" - #t - (the-as vector #f) - ) + (when (not (robotboss-is-red-hit)) + (ja-channel-push! 1 60) + (let ((v1-72 (-> self skel root-channel 0))) + (set! (-> v1-72 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) + ) + (let ((a0-27 (-> self skel root-channel 0))) + (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-27 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-27 param 1) 1.0) + (set! (-> a0-27 frame-num) 0.0) + (joint-control-channel-group! + a0-27 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (update! (-> self looping-sound 2)) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-0 (-> self node-list data 40)) + (spawn (-> self particle 5) gp-0) + ) + (if (robotboss-is-red-hit) + (goto cfg-37) + ) + (suspend) + (let ((a0-31 (-> self skel root-channel 0))) + (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) + (set! (-> a0-31 param 1) 1.0) + (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (label cfg-37) + (stop! (-> self looping-sound 2)) ) - ((< 0.33333334 f0-33) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM10" - #t - (the-as vector #f) - ) - ) - ((< 0.16666667 f0-33) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM03" - #t - (the-as vector #f) - ) - ) - (else - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM02" - #t - (the-as vector #f) - ) - ) - ) - ) - (let ((v1-157 (-> self skel root-channel 0))) - (set! - (-> v1-157 frame-group) - (the-as art-joint-anim (-> self draw art-group data 18)) - ) - ) - ) - (let ((a0-56 (-> self skel root-channel 0))) - (set! (-> a0-56 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-56 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) + (when (not (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-56 param 1) 1.0) - (set! (-> a0-56 frame-num) 0.0) - (joint-control-channel-group! - a0-56 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-57 (-> self skel root-channel 0))) - (set! - (-> a0-57 param 0) - (the float (+ (-> a0-57 frame-group data 0 length) -1)) - ) - (set! (-> a0-57 param 1) 1.0) - (joint-control-channel-group-eval! - a0-57 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (= (if (> (-> self skel active-channels) 0) + (-> self draw art-group data 34) + ) + ) + (let* ((v1-120 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-121 (the-as number (logior #x3f800000 v1-120))) + (f30-1 (+ -1.0 (the-as float v1-121))) + (gp-1 (new 'stack-no-clear 'redshot-launch-array)) + (s5-0 (-> self dda red-shots-min)) + ) + (robotboss-yellow-eco-on) + (robotboss-redshot-fill-array gp-1) + (robotboss-redshot (the-as redshot-launch-info (-> gp-1 info)) #t) + (let* ((v1-127 (+ s5-0 (the int (* f30-1 (the float (-> self dda red-shots-rnd)))))) + (s5-1 (+ (min 6 v1-127) -1)) + ) + (dotimes (s4-0 s5-1) + (robotboss-redshot (-> gp-1 info (+ s4-0 1)) #f) + ) + ) + ) + ) + (when (not (robotboss-is-red-hit)) + (let* ((v1-135 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-136 (the-as number (logior #x3f800000 v1-135))) + (f0-33 (+ -1.0 (the-as float v1-136))) + ) + (cond + ((< 0.8333333 f0-33) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM04" + #t + (the-as vector #f) + ) + ) + ((< 0.6666667 f0-33) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM05" + #t + (the-as vector #f) + ) + ) + ((< 0.5 f0-33) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM08" + #t + (the-as vector #f) + ) + ) + ((< 0.33333334 f0-33) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM10" + #t + (the-as vector #f) + ) + ) + ((< 0.16666667 f0-33) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM03" + #t + (the-as vector #f) + ) + ) + (else + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM02" + #t + (the-as vector #f) + ) + ) + ) + ) + (let ((v1-157 (-> self skel root-channel 0))) + (set! (-> v1-157 frame-group) (the-as art-joint-anim (-> self draw art-group data 18))) + ) + ) + (let ((a0-56 (-> self skel root-channel 0))) + (set! (-> a0-56 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-56 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-56 param 1) 1.0) + (set! (-> a0-56 frame-num) 0.0) + (joint-control-channel-group! + a0-56 + (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - (-> self draw art-group data 34) - ) - (let ((a0-63 (-> self skel root-channel 0))) - (set! - (-> a0-63 frame-group) - (the-as art-joint-anim (-> self draw art-group data 20)) - ) - (set! - (-> a0-63 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 20)) - data - 0 - length + num-func-seek! ) - -1 - ) ) - ) - (set! (-> a0-63 param 1) 1.0) - (set! (-> a0-63 frame-num) 0.0) - (joint-control-channel-group! - a0-63 - (the-as art-joint-anim (-> self draw art-group data 20)) - num-func-seek! - ) + (until (ja-done? 0) + (suspend) + (let ((a0-57 (-> self skel root-channel 0))) + (set! (-> a0-57 param 0) (the float (+ (-> a0-57 frame-group data 0 length) -1))) + (set! (-> a0-57 param 1) 1.0) + (joint-control-channel-group-eval! a0-57 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (when (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 34) + ) + (let ((a0-63 (-> self skel root-channel 0))) + (set! (-> a0-63 frame-group) (the-as art-joint-anim (-> self draw art-group data 20))) + (set! (-> a0-63 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 20)) data 0 length) -1)) + ) + (set! (-> a0-63 param 1) 1.0) + (set! (-> a0-63 frame-num) 0.0) + (joint-control-channel-group! a0-63 (the-as art-joint-anim (-> self draw art-group data 20)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-64 (-> self skel root-channel 0))) + (set! (-> a0-64 param 0) (the float (+ (-> a0-64 frame-group data 0 length) -1))) + (set! (-> a0-64 param 1) 1.0) + (joint-control-channel-group-eval! a0-64 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go robotboss-red-dark-bomb) + ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-64 (-> self skel root-channel 0))) - (set! - (-> a0-64 param 0) - (the float (+ (-> a0-64 frame-group data 0 length) -1)) - ) - (set! (-> a0-64 param 1) 1.0) - (joint-control-channel-group-eval! - a0-64 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go robotboss-red-dark-bomb) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -3485,157 +2760,122 @@ robotboss-handler :enter (behavior () - (set! (-> self old-loc quad) (-> self desired-loc quad)) - (set-vector! (-> self desired-loc) 8192.0 -40960.0 327680.0 1.0) - (set! (-> self loc-t) 0.0) - (set! (-> self loc-t-start) (-> *display* game-frame-counter)) - (set! (-> self loc-t-duration) 900) - (set! (-> self desired-pool-y) -22528.0) - (set-setting! *setting-control* self 'sound-flava #f (the-as float 40.0) 48) - (none) - ) + (set! (-> self old-loc quad) (-> self desired-loc quad)) + (set-vector! (-> self desired-loc) 8192.0 -40960.0 327680.0 1.0) + (set! (-> self loc-t) 0.0) + (set! (-> self loc-t-start) (-> *display* game-frame-counter)) + (set! (-> self loc-t-duration) 900) + (set! (-> self desired-pool-y) -22528.0) + (set-setting! *setting-control* self 'sound-flava #f (the-as float 40.0) 48) + (none) + ) :trans (behavior () - (robotboss-always-trans robotboss-red-wait) - (if (>= (-> self loc-t) 1.0) - (go robotboss-red-wait) + (robotboss-always-trans robotboss-red-wait) + (if (>= (-> self loc-t) 1.0) + (go robotboss-red-wait) + ) + (robotboss-position) + (none) ) - (robotboss-position) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! - (-> v1-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 15)) - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-6 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! + (ja-channel-push! 1 60) + (let ((v1-11 (-> self skel root-channel 0))) + (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) ) - ) - ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-50 (-> self skel root-channel 0))) - (set! - (-> v1-50 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - ) - ) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) ) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! + a0-6 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! - (-> a0-17 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (while #t + (when (not (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - data - 0 - length - ) - -1 - ) - ) + (-> self draw art-group data 6) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-50 (-> self skel root-channel 0))) + (set! (-> v1-50 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + ) + ) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-17 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-17 param 1) 1.0) + (set! (-> a0-17 frame-num) 0.0) + (joint-control-channel-group! + a0-17 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) + (set! (-> a0-18 param 1) 1.0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 param 0) - (the float (+ (-> a0-18 frame-group data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -3645,179 +2885,129 @@ :event robotboss-bomb-handler :enter - (behavior () - (set! (-> self children-spawned) 0) - 0 - (none) - ) + (behavior () (set! (-> self children-spawned) 0) 0 (none)) :exit - (behavior () - (set! (-> self ignore-camera) #f) - (set! (-> self des-cam-entity) #f) - (none) - ) + (behavior () (set! (-> self ignore-camera) #f) (set! (-> self des-cam-entity) #f) (none)) :trans (behavior () - (robotboss-always-trans robotboss-red) - (if - (and - (< (-> self children-spawned) 0) - (or - (not *target*) - (!= (-> *target* control unknown-surface00 name) 'launch-jump) - ) - ) - (go robotboss-red) + (robotboss-always-trans robotboss-red) + (if (and + (< (-> self children-spawned) 0) + (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump)) + ) + (go robotboss-red) + ) + (robotboss-position) + (none) ) - (robotboss-position) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! - (-> v1-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-6 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) - (robotboss-darkecobomb - (new 'static 'vector :y 32768.0) - (-> self dda green-bomb-time) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) ) - (set! (-> self des-cam-entity) "camera-365") - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM11" - #t - (the-as vector #f) + (ja-channel-push! 1 30) + (let ((v1-11 (-> self skel root-channel 0))) + (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) ) - ) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-59 (-> self skel root-channel 0))) - (set! - (-> v1-59 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - ) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) ) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! + a0-6 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! - (-> a0-20 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) + (until (ja-done? 0) + (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) + (robotboss-darkecobomb (new 'static 'vector :y 32768.0) (-> self dda green-bomb-time)) + (set! (-> self des-cam-entity) "camera-365") + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM11" + #t + (the-as vector #f) + ) + ) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 1.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (while #t + (when (not (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - data - 0 - length - ) - -1 - ) - ) + (-> self draw art-group data 6) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-59 (-> self skel root-channel 0))) + (set! (-> v1-59 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + ) + ) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-20 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-20 param 1) 1.0) + (set! (-> a0-20 frame-num) 0.0) + (joint-control-channel-group! + a0-20 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) + (set! (-> a0-21 param 1) 1.0) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! - a0-20 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! - (-> a0-21 param 0) - (the float (+ (-> a0-21 frame-group data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -3826,146 +3016,118 @@ (defstate robotboss-green-dark-bomb (robotboss) :enter (behavior () - (set! (-> self old-loc quad) (-> self desired-loc quad)) - (set-vector! (-> self desired-loc) 16384.0 -81920.0 716800.0 1.0) - (set! (-> self loc-t) 0.0) - (set! (-> self loc-t-start) (-> *display* game-frame-counter)) - (set! (-> self loc-t-duration) 900) - (set! (-> self desired-pool-y) -24576.0) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM01" - #t - (the-as vector #f) + (set! (-> self old-loc quad) (-> self desired-loc quad)) + (set-vector! (-> self desired-loc) 16384.0 -81920.0 716800.0 1.0) + (set! (-> self loc-t) 0.0) + (set! (-> self loc-t-start) (-> *display* game-frame-counter)) + (set! (-> self loc-t-duration) 900) + (set! (-> self desired-pool-y) -24576.0) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM01" + #t + (the-as vector #f) + ) + (none) ) - (none) - ) :trans (behavior () - (robotboss-always-trans robotboss-green-dark-bomb-wait) - (robotboss-position) - (if (>= (-> self loc-t) 1.0) - (go robotboss-green-dark-bomb-wait) + (robotboss-always-trans robotboss-green-dark-bomb-wait) + (robotboss-position) + (if (>= (-> self loc-t) 1.0) + (go robotboss-green-dark-bomb-wait) + ) + (none) ) - (none) - ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 14)) - ) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-4 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! - (-> v1-41 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) ) - ) - ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) ) + ) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! + a0-4 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! - (-> a0-15 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 6) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-41 (-> self skel root-channel 0))) + (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + ) + ) + (while #t + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! + a0-15 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -3974,67 +3136,38 @@ ;; INFO: Return type mismatch sound-id vs none. ;; WARN: Function may read a register that is not set: t2 ;; Used lq/sq -(defbehavior - robotboss-greenshot robotboss - ((arg0 vector) (arg1 basic) (arg2 basic) (arg3 symbol)) +(defbehavior robotboss-greenshot robotboss ((arg0 vector) (arg1 basic) (arg2 basic) (arg3 symbol)) (local-vars (t2-0 none)) (+! (-> self children-spawned) 1) (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s2-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 68)) - (set! (-> s2-0 quad) (-> self entity extra trans quad)) - (set! (-> s2-0 y) (+ -40960.0 (-> s2-0 y))) - (vector+! s2-0 s2-0 arg0) - (let ((s1-1 (get-process *default-dead-pool* greenshot #x4000))) - (when s1-1 - (let ((t9-2 (method-of-type greenshot activate))) - (t9-2 - (the-as greenshot s1-1) - self - 'greenshot - (the-as pointer #x70004000) + (let ((s2-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-0 (-> self node-list data 68)) + (set! (-> s2-0 quad) (-> self entity extra trans quad)) + (set! (-> s2-0 y) (+ -40960.0 (-> s2-0 y))) + (vector+! s2-0 s2-0 arg0) + (let ((s1-1 (get-process *default-dead-pool* greenshot #x4000))) + (when s1-1 + (let ((t9-2 (method-of-type greenshot activate))) + (t9-2 (the-as greenshot s1-1) self 'greenshot (the-as pointer #x70004000)) + ) + (run-now-in-process s1-1 greenshot-init-by-other gp-0 s2-0 arg1 arg2 t2-0) + (-> s1-1 ppointer) + ) ) - ) - (run-now-in-process s1-1 greenshot-init-by-other gp-0 s2-0 arg1 arg2 t2-0) - (-> s1-1 ppointer) ) - ) - ) - (when arg3 - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (when arg3 + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 640) 300 #f #f #f gp-0) + (-> s5-1 ppointer) + ) ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 640) - 300 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) + (sound-play-by-name (static-sound-name "green-fire") (new-sound-id) 1024 0 0 1 #t) ) - ) - (sound-play-by-name - (static-sound-name "green-fire") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) ) - ) (none) ) @@ -4042,449 +3175,332 @@ (defstate robotboss-green-wait (robotboss) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (ja-channel-push! 1 60) - (let ((v1-3 (-> self skel root-channel 0))) - (set! - (-> v1-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 13)) - ) - ) - (robotboss-yellow-eco-off) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 0) - (set! (-> a1-2 message) 'show) - (let ((t9-2 send-event-function) - (v1-5 (-> self alts 11)) - ) - (t9-2 (if v1-5 - (-> v1-5 extra process) + (case arg2 + (('trigger) + (ja-channel-push! 1 60) + (let ((v1-3 (-> self skel root-channel 0))) + (set! (-> v1-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) + ) + (robotboss-yellow-eco-off) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'show) + (let ((t9-2 send-event-function) + (v1-5 (-> self alts 11)) ) - a1-2 + (t9-2 + (if v1-5 + (-> v1-5 extra process) + ) + a1-2 + ) + ) ) - ) ) - ) - (('hit-jak) - (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-9 (the-as number (logior #x3f800000 v1-8))) - (f0-2 (+ -1.0 (the-as float v1-9))) + (('hit-jak) + (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-9 (the-as number (logior #x3f800000 v1-8))) + (f0-2 (+ -1.0 (the-as float v1-9))) + ) + (cond + ((< 0.75 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM10" + #t + (the-as vector #f) + ) ) - (cond - ((< 0.75 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM10" - #t - (the-as vector #f) - ) - ) - ((< 0.5 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM12" - #t - (the-as vector #f) - ) - ) - ((< 0.25 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM15" - #t - (the-as vector #f) - ) - ) - (else - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM03" - #t - (the-as vector #f) - ) - ) - ) - ) - ) - (('blob-died) - (let* ((v1-19 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-20 (the-as number (logior #x3f800000 v1-19))) - (f0-5 (+ -1.0 (the-as float v1-20))) + ((< 0.5 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM12" + #t + (the-as vector #f) + ) ) - (cond - ((< 0.75 f0-5) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM02" - #t - (the-as vector #f) + ((< 0.25 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM15" + #t + (the-as vector #f) + ) + ) + (else + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM03" + #t + (the-as vector #f) + ) + ) + ) ) - ) - ((< 0.5 f0-5) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM03" - #t - (the-as vector #f) - ) - ) - ((< 0.25 f0-5) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM14" - #t - (the-as vector #f) - ) - ) - (else - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM02" - #t - (the-as vector #f) - ) - ) ) + (('blob-died) + (let* ((v1-19 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-20 (the-as number (logior #x3f800000 v1-19))) + (f0-5 (+ -1.0 (the-as float v1-20))) + ) + (cond + ((< 0.75 f0-5) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM02" + #t + (the-as vector #f) + ) + ) + ((< 0.5 f0-5) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM03" + #t + (the-as vector #f) + ) + ) + ((< 0.25 f0-5) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM14" + #t + (the-as vector #f) + ) + ) + (else + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM02" + #t + (the-as vector #f) + ) + ) + ) + ) + ) + (else + (robotboss-handler arg0 arg1 arg2 arg3) + ) ) - ) - (else - (robotboss-handler arg0 arg1 arg2 arg3) - ) ) - ) :enter (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - (set! (-> self children-spawned) 0) - (robotboss-setup-for-hits 2 5) - (set! (-> self des-cam-entity) "camera-385") - (none) - ) + (set! (-> self state-time) (-> *display* game-frame-counter)) + (set! (-> self children-spawned) 0) + (robotboss-setup-for-hits 2 5) + (set! (-> self des-cam-entity) "camera-385") + (none) + ) :exit (behavior () - (let ((a0-1 (handle->process (-> self shot-attractor)))) - (if a0-1 - (deactivate a0-1) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 675))) - (let ((t9-1 send-event-function) - (v1-10 (-> self alts 2)) + (let ((a0-1 (handle->process (-> self shot-attractor)))) + (if a0-1 + (deactivate a0-1) ) - (t9-1 (if v1-10 - (-> v1-10 extra process) - ) - a1-1 ) - ) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'open) - (set! (-> a1-2 param 0) (the-as uint 0.2)) - (let ((t9-2 send-event-function) - (v1-17 (-> self alts 0)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'open) + (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 675))) + (let ((t9-1 send-event-function) + (v1-10 (-> self alts 2)) + ) + (t9-1 + (if v1-10 + (-> v1-10 extra process) + ) + a1-1 ) - (t9-2 (if v1-17 - (-> v1-17 extra process) - ) - a1-2 + ) ) - ) - ) - (set! - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 9 - collide-with - ) - (the-as uint 0) - ) - (set! - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 9 - prim-core - collide-as - ) - (the-as uint 0) - ) - (set! (-> self des-cam-entity) #f) - (robotboss-yellow-eco-off) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'show) - (let ((t9-4 send-event-function) - (v1-27 (-> self alts 11)) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 1) + (set! (-> a1-2 message) 'open) + (set! (-> a1-2 param 0) (the-as uint 0.2)) + (let ((t9-2 send-event-function) + (v1-17 (-> self alts 0)) + ) + (t9-2 + (if v1-17 + (-> v1-17 extra process) + ) + a1-2 ) - (t9-4 (if v1-27 - (-> v1-27 extra process) - ) - a1-3 + ) ) - ) + (set! (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 9 collide-with) + (the-as uint 0) + ) + (set! (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 9 prim-core collide-as) + (the-as uint 0) + ) + (set! (-> self des-cam-entity) #f) + (robotboss-yellow-eco-off) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 0) + (set! (-> a1-3 message) 'show) + (let ((t9-4 send-event-function) + (v1-27 (-> self alts 11)) + ) + (t9-4 + (if v1-27 + (-> v1-27 extra process) + ) + a1-3 + ) + ) + ) + (none) ) - (none) - ) :trans (behavior () - (robotboss-always-trans robotboss-green-dark-bomb) - (cond - ((and - (>= (- (-> *display* game-frame-counter) (-> self state-time)) 120) - (< (-> self children-spawned) 1) - ) - (robotboss-greenshot - (new 'static 'vector) - (the-as basic 24576.0) - (the-as basic 600) - #t - ) - (ja-channel-push! 1 60) - (let ((v1-9 (-> self skel root-channel 0))) - (set! - (-> v1-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - ) - ) - ((and - (>= (- (-> *display* game-frame-counter) (-> self state-time)) 360) - (< (-> self children-spawned) 3) - ) - (robotboss-greenshot - (new 'static 'vector :x 8192.0) - (the-as basic 16384.0) - (the-as basic 600) - #t - ) - (robotboss-greenshot - (new 'static 'vector :z 8192.0) - (the-as basic 32768.0) - (the-as basic 660) - #f - ) - (ja-channel-push! 1 60) - (let ((v1-20 (-> self skel root-channel 0))) - (set! - (-> v1-20 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - ) - ) - ((and - (>= (- (-> *display* game-frame-counter) (-> self state-time)) 780) - (< (-> self children-spawned) 6) - ) - (robotboss-greenshot - (new 'static 'vector :z 12288.0) - (the-as basic 20480.0) - (the-as basic 600) - #t - ) - (robotboss-greenshot - (new 'static 'vector :x 8192.0) - (the-as basic 8192.0) - (the-as basic 660) - #f - ) - (robotboss-greenshot - (new 'static 'vector) - (the-as basic 36864.0) - (the-as basic 720) - #f - ) - (ja-channel-push! 1 60) - (let ((v1-32 (-> self skel root-channel 0))) - (set! - (-> v1-32 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - ) - ) - ((and - (>= (- (-> *display* game-frame-counter) (-> self state-time)) 1200) - (< (-> self children-spawned) 7) - ) - (robotboss-greenshot - (new 'static 'vector) - (the-as basic 24576.0) - (the-as basic 600) - #t - ) - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! - (-> v1-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - ) - ) - ((and - (>= (- (-> *display* game-frame-counter) (-> self state-time)) 1650) - (< (-> self children-spawned) 9) - ) - (robotboss-greenshot - (new 'static 'vector) - (the-as basic 12288.0) - (the-as basic 600) - #t - ) - (robotboss-greenshot - (new 'static 'vector :x 4096.0 :z 12288.0) - (the-as basic 32768.0) - (the-as basic 600) - #f - ) - (ja-channel-push! 1 60) - (let ((v1-53 (-> self skel root-channel 0))) - (set! - (-> v1-53 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - ) - ) - ((and - (>= (- (-> *display* game-frame-counter) (-> self state-time)) 2400) - (< (-> self children-spawned) 10) - ) - (+! (-> self children-spawned) 1) - (let ((gp-0 (get-process *default-dead-pool* green-eco-lurker-gen #x4000))) - (when gp-0 - (let ((t9-16 (method-of-type green-eco-lurker-gen activate))) - (t9-16 - (the-as green-eco-lurker-gen gp-0) - self - 'green-eco-lurker-gen - (the-as pointer #x70004000) + (robotboss-always-trans robotboss-green-dark-bomb) + (cond + ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) 120) (< (-> self children-spawned) 1)) + (robotboss-greenshot (new 'static 'vector) (the-as basic 24576.0) (the-as basic 600) #t) + (ja-channel-push! 1 60) + (let ((v1-9 (-> self skel root-channel 0))) + (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) ) - ) - (run-now-in-process - gp-0 - green-eco-lurker-gen-init-by-other - (-> self entity) - (-> self entity extra trans) - (-> self dda num-blobs) - ) - (-> gp-0 ppointer) + ) + ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) 360) (< (-> self children-spawned) 3)) + (robotboss-greenshot (new 'static 'vector :x 8192.0) (the-as basic 16384.0) (the-as basic 600) #t) + (robotboss-greenshot (new 'static 'vector :z 8192.0) (the-as basic 32768.0) (the-as basic 660) #f) + (ja-channel-push! 1 60) + (let ((v1-20 (-> self skel root-channel 0))) + (set! (-> v1-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + ) + ) + ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) 780) (< (-> self children-spawned) 6)) + (robotboss-greenshot (new 'static 'vector :z 12288.0) (the-as basic 20480.0) (the-as basic 600) #t) + (robotboss-greenshot (new 'static 'vector :x 8192.0) (the-as basic 8192.0) (the-as basic 660) #f) + (robotboss-greenshot (new 'static 'vector) (the-as basic 36864.0) (the-as basic 720) #f) + (ja-channel-push! 1 60) + (let ((v1-32 (-> self skel root-channel 0))) + (set! (-> v1-32 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + ) + ) + ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) 1200) (< (-> self children-spawned) 7)) + (robotboss-greenshot (new 'static 'vector) (the-as basic 24576.0) (the-as basic 600) #t) + (ja-channel-push! 1 60) + (let ((v1-42 (-> self skel root-channel 0))) + (set! (-> v1-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + ) + ) + ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) 1650) (< (-> self children-spawned) 9)) + (robotboss-greenshot (new 'static 'vector) (the-as basic 12288.0) (the-as basic 600) #t) + (robotboss-greenshot (new 'static 'vector :x 4096.0 :z 12288.0) (the-as basic 32768.0) (the-as basic 600) #f) + (ja-channel-push! 1 60) + (let ((v1-53 (-> self skel root-channel 0))) + (set! (-> v1-53 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + ) + ) + ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) 2400) (< (-> self children-spawned) 10)) + (+! (-> self children-spawned) 1) + (let ((gp-0 (get-process *default-dead-pool* green-eco-lurker-gen #x4000))) + (when gp-0 + (let ((t9-16 (method-of-type green-eco-lurker-gen activate))) + (t9-16 (the-as green-eco-lurker-gen gp-0) self 'green-eco-lurker-gen (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + green-eco-lurker-gen-init-by-other + (-> self entity) + (-> self entity extra trans) + (-> self dda num-blobs) + ) + (-> gp-0 ppointer) + ) + ) + (set! (-> self old-loc quad) (-> self desired-loc quad)) + (set-vector! (-> self desired-loc) 24576.0 0.0 655360.0 1.0) + (set! (-> self loc-t) 0.0) + (set! (-> self loc-t-start) (-> *display* game-frame-counter)) + (set! (-> self loc-t-duration) 900) + (set! (-> self desired-pool-y) -26624.0) + ) + ((and (>= (- (-> *display* game-frame-counter) (-> self state-time)) 2460) (< (-> self children-spawned) 11)) + (+! (-> self children-spawned) 1) + (robotboss-yellow-eco-on) ) ) - (set! (-> self old-loc quad) (-> self desired-loc quad)) - (set-vector! (-> self desired-loc) 24576.0 0.0 655360.0 1.0) - (set! (-> self loc-t) 0.0) - (set! (-> self loc-t-start) (-> *display* game-frame-counter)) - (set! (-> self loc-t-duration) 900) - (set! (-> self desired-pool-y) -26624.0) - ) - ((and - (>= (- (-> *display* game-frame-counter) (-> self state-time)) 2460) - (< (-> self children-spawned) 11) - ) - (+! (-> self children-spawned) 1) - (robotboss-yellow-eco-on) - ) + (robotboss-position) + (none) ) - (robotboss-position) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (while #t - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) - (go robotboss-green-dark-bomb) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ((not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) + ) + (while #t + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 13) ) - ) - (ja-channel-push! 1 60) - (let ((v1-25 (-> self skel root-channel 0))) - (set! - (-> v1-25 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) + (go robotboss-green-dark-bomb) + ) + ((not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 6) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-25 (-> self skel root-channel 0))) + (set! (-> v1-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + ) + ) + ) + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-14 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-14 param 1) 1.0) + (set! (-> a0-14 frame-num) 0.0) + (joint-control-channel-group! + a0-14 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) + (set! (-> a0-15 param 1) 1.0) + (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - ) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-14 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-14 param 1) 1.0) - (set! (-> a0-14 frame-num) 0.0) - (joint-control-channel-group! - a0-14 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 param 0) - (the float (+ (-> a0-15 frame-group data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -4495,163 +3511,128 @@ robotboss-handler :enter (behavior () - (set! (-> self old-loc quad) (-> self desired-loc quad)) - (set-vector! (-> self desired-loc) 24576.0 0.0 245760.0 1.0) - (set! (-> self loc-t) 0.0) - (set! (-> self loc-t-start) (-> *display* game-frame-counter)) - (set! (-> self loc-t-duration) 900) - (set! (-> self desired-pool-y) -26624.0) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM01" - #t - (the-as vector #f) + (set! (-> self old-loc quad) (-> self desired-loc quad)) + (set-vector! (-> self desired-loc) 24576.0 0.0 245760.0 1.0) + (set! (-> self loc-t) 0.0) + (set! (-> self loc-t-start) (-> *display* game-frame-counter)) + (set! (-> self loc-t-duration) 900) + (set! (-> self desired-pool-y) -26624.0) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM01" + #t + (the-as vector #f) + ) + (set-setting! *setting-control* self 'sound-flava #f (the-as float 40.0) 47) + (none) ) - (set-setting! *setting-control* self 'sound-flava #f (the-as float 40.0) 47) - (none) - ) :trans (behavior () - (robotboss-always-trans robotboss-green-wait) - (if (>= (-> self loc-t) 1.0) - (go robotboss-green-wait) + (robotboss-always-trans robotboss-green-wait) + (if (>= (-> self loc-t) 1.0) + (go robotboss-green-wait) + ) + (robotboss-position) + (none) ) - (robotboss-position) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (ja-channel-push! 1 60) - (let ((v1-11 (-> self skel root-channel 0))) - (set! - (-> v1-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-6 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! + (ja-channel-push! 1 60) + (let ((v1-11 (-> self skel root-channel 0))) + (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) ) - ) - ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-50 (-> self skel root-channel 0))) - (set! - (-> v1-50 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - ) - ) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) ) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! + a0-6 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! - (-> a0-17 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (while #t + (when (not (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - data - 0 - length - ) - -1 - ) - ) + (-> self draw art-group data 6) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-50 (-> self skel root-channel 0))) + (set! (-> v1-50 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + ) + ) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-17 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-17 param 1) 1.0) + (set! (-> a0-17 frame-num) 0.0) + (joint-control-channel-group! + a0-17 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) + (set! (-> a0-18 param 1) 1.0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 param 0) - (the float (+ (-> a0-18 frame-group data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -4661,200 +3642,144 @@ :event robotboss-bomb-handler :enter - (behavior () - (set! (-> self children-spawned) 0) - 0 - (none) - ) + (behavior () (set! (-> self children-spawned) 0) 0 (none)) :exit - (behavior () - (set! (-> self ignore-camera) #f) - (set! (-> self des-cam-entity) #f) - (none) - ) + (behavior () (set! (-> self ignore-camera) #f) (set! (-> self des-cam-entity) #f) (none)) :trans (behavior () - (robotboss-always-trans robotboss-green) - (if - (and - (< (-> self children-spawned) 0) - (or - (not *target*) - (!= (-> *target* control unknown-surface00 name) 'launch-jump) - ) - ) - (go robotboss-green) + (robotboss-always-trans robotboss-green) + (if (and + (< (-> self children-spawned) 0) + (or (not *target*) (!= (-> *target* control unknown-surface00 name) 'launch-jump)) + ) + (go robotboss-green) + ) + (robotboss-position) + (none) ) - (robotboss-position) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (ja-channel-push! 1 30) - (let ((v1-11 (-> self skel root-channel 0))) - (set! - (-> v1-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-6 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! a0-6 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) - (robotboss-darkecobomb - (new 'static 'vector :y 32768.0) - (the-as float 3600.0) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) ) - (set! (-> self des-cam-entity) "camera-365") - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM04" - #t - (the-as vector #f) + (ja-channel-push! 1 30) + (let ((v1-11 (-> self skel root-channel 0))) + (set! (-> v1-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) ) - ) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! + a0-6 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (cond - ((and - *target* - (< (+ 81920.0 (-> self entity extra trans y)) (-> (target-pos 0) y)) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - ) - (ja-channel-push! 1 240) - (let ((v1-64 (-> self skel root-channel 0))) - (set! - (-> v1-64 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) + (until (ja-done? 0) + (when (and (>= (ja-frame-num 0) 15.0) (< (-> self children-spawned) 1)) + (robotboss-darkecobomb (new 'static 'vector :y 32768.0) (the-as float 3600.0)) + (set! (-> self des-cam-entity) "camera-365") + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM04" + #t + (the-as vector #f) ) ) - ) - ) - ((not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-73 (-> self skel root-channel 0))) - (set! - (-> v1-73 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 1.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) ) - ) ) - ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (while #t + (cond + ((and *target* (< (+ 81920.0 (-> self entity extra trans y)) (-> (target-pos 0) y))) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 7) + ) + ) + (ja-channel-push! 1 240) + (let ((v1-64 (-> self skel root-channel 0))) + (set! (-> v1-64 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + ) + ) + ) + ((not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 6) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-73 (-> self skel root-channel 0))) + (set! (-> v1-73 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + ) + ) + ) + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-30 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-30 param 1) 1.0) + (set! (-> a0-30 frame-num) 0.0) + (joint-control-channel-group! + a0-30 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-31 (-> self skel root-channel 0))) + (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) + (set! (-> a0-31 param 1) 1.0) + (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! - (-> a0-30 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! - a0-30 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! - (-> a0-31 param 0) - (the float (+ (-> a0-31 frame-group data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! - a0-31 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -4863,140 +3788,112 @@ (defstate robotboss-blue-dark-bomb (robotboss) :enter (behavior () - (set! (-> self old-loc quad) (-> self desired-loc quad)) - (set-vector! (-> self desired-loc) 16384.0 -118784.0 614400.0 1.0) - (set! (-> self loc-t) 0.0) - (set! (-> self loc-t-start) (-> *display* game-frame-counter)) - (set! (-> self loc-t-duration) 900) - (set! (-> self desired-pool-y) -28672.0) - (none) - ) + (set! (-> self old-loc quad) (-> self desired-loc quad)) + (set-vector! (-> self desired-loc) 16384.0 -118784.0 614400.0 1.0) + (set! (-> self loc-t) 0.0) + (set! (-> self loc-t-start) (-> *display* game-frame-counter)) + (set! (-> self loc-t-duration) 900) + (set! (-> self desired-pool-y) -28672.0) + (none) + ) :trans (behavior () - (robotboss-always-trans robotboss-blue-dark-bomb-wait) - (robotboss-position) - (if (>= (-> self loc-t) 1.0) - (go robotboss-blue-dark-bomb-wait) + (robotboss-always-trans robotboss-blue-dark-bomb-wait) + (robotboss-position) + (if (>= (-> self loc-t) 1.0) + (go robotboss-blue-dark-bomb-wait) + ) + (none) ) - (none) - ) :code (behavior () - (ja-channel-push! 1 60) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-4 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! a0-4 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) (ja-channel-push! 1 60) - (let ((v1-41 (-> self skel root-channel 0))) - (set! - (-> v1-41 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) ) - ) - ) - (while #t - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-4 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) ) + ) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! + a0-4 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! - (-> a0-15 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 6) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-41 (-> self skel root-channel 0))) + (set! (-> v1-41 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + ) + ) + (while #t + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! + a0-15 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -5008,112 +3905,98 @@ (let ((s4-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) - (let ((s3-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self entity extra trans quad)) - (vector<-cspace! s4-0 (-> self node-list data arg0)) - (vector-! s3-0 gp-0 s4-0) - (let ((f30-0 (vector-y-angle s3-0)) - (f0-1 (- 16384.0 (vector-x-angle s3-0))) - ) - (set! (-> *part-id-table* 2546 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2546 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2548 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2548 init-specs 13 initial-valuef) f0-1) - (set! (-> *part-id-table* 2545 init-specs 14 initial-valuef) f30-0) - (set! (-> *part-id-table* 2545 init-specs 13 initial-valuef) f0-1) - ) - ) - (cond - ((and - (>= (- (-> *display* game-frame-counter) (-> self state-time)) 120) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - ) - (spawn (-> self particle 0) s4-0) - (when (and arg1 (nonzero? (-> self looping-sound 0))) - (update! (-> self looping-sound 0)) - (when (and *target* (zero? (logand (-> *target* state-flags) #x80f8))) - (let ((t2-0 (new 'stack-no-clear 'collide-mesh-cache-tri)) - (a2-0 (new 'stack-no-clear 'vector)) - ) - (vector-! a2-0 gp-0 s4-0) - (when - (>= - (dummy-10 - *collide-cache* - s4-0 - a2-0 - (the-as float 4096.0) - 16 - self - t2-0 - 1 - ) - 0.0 - ) - (let ((a1-13 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-13 from) self) - (set! (-> a1-13 num-params) 2) - (set! (-> a1-13 message) 'attack) - (set! (-> a1-13 param 0) (the-as uint #f)) - (let ((v1-50 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-50 shove-up) 10240.0) - (set! (-> v1-50 shove-back) 30720.0) - (set! (-> a1-13 param 1) (the-as uint v1-50)) - ) - (send-event-function *target* a1-13) - ) - ) - ) - ) - ) - ) - ((nonzero? (-> self looping-sound 0)) - (stop! (-> self looping-sound 0)) - ) - ) - (cond - ((and - (>= (- (-> *display* game-frame-counter) (-> self state-time)) 420) - (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self entity extra trans quad)) + (vector<-cspace! s4-0 (-> self node-list data arg0)) + (vector-! s3-0 gp-0 s4-0) + (let ((f30-0 (vector-y-angle s3-0)) + (f0-1 (- 16384.0 (vector-x-angle s3-0))) ) - ) - ) - (spawn (-> self particle 1) gp-0) - (when (and arg1 (nonzero? (-> self looping-sound 1))) - (update! (-> self looping-sound 1)) - (when - (and - *target* - (zero? (logand (-> *target* state-flags) #x80f8)) - (>= 8192.0 (vector-vector-distance gp-0 (target-pos 0))) + (set! (-> *part-id-table* 2546 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2546 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2548 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2548 init-specs 13 initial-valuef) f0-1) + (set! (-> *part-id-table* 2545 init-specs 14 initial-valuef) f30-0) + (set! (-> *part-id-table* 2545 init-specs 13 initial-valuef) f0-1) ) - (let ((a1-16 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-16 from) self) - (set! (-> a1-16 num-params) 2) - (set! (-> a1-16 message) 'attack) - (set! (-> a1-16 param 0) (the-as uint #f)) - (let ((v1-80 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-80 shove-up) 10240.0) - (set! (-> v1-80 shove-back) 30720.0) - (set! (-> a1-16 param 1) (the-as uint v1-80)) + ) + (cond + ((and + (>= (- (-> *display* game-frame-counter) (-> self state-time)) 120) + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 3) + ) ) - (send-event-function *target* a1-16) - ) + (spawn (-> self particle 0) s4-0) + (when (and arg1 (nonzero? (-> self looping-sound 0))) + (update! (-> self looping-sound 0)) + (when (and *target* (zero? (logand (-> *target* state-flags) #x80f8))) + (let ((t2-0 (new 'stack-no-clear 'collide-mesh-cache-tri)) + (a2-0 (new 'stack-no-clear 'vector)) + ) + (vector-! a2-0 gp-0 s4-0) + (when (>= (dummy-10 *collide-cache* s4-0 a2-0 (the-as float 4096.0) 16 self t2-0 1) 0.0) + (let ((a1-13 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-13 from) self) + (set! (-> a1-13 num-params) 2) + (set! (-> a1-13 message) 'attack) + (set! (-> a1-13 param 0) (the-as uint #f)) + (let ((v1-50 (new 'static 'attack-info :mask #xc0))) + (set! (-> v1-50 shove-up) 10240.0) + (set! (-> v1-50 shove-back) 30720.0) + (set! (-> a1-13 param 1) (the-as uint v1-50)) + ) + (send-event-function *target* a1-13) + ) + ) + ) + ) + ) + ) + ((nonzero? (-> self looping-sound 0)) + (stop! (-> self looping-sound 0)) + ) + ) + (cond + ((and + (>= (- (-> *display* game-frame-counter) (-> self state-time)) 420) + (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 5) + ) + ) + ) + (spawn (-> self particle 1) gp-0) + (when (and arg1 (nonzero? (-> self looping-sound 1))) + (update! (-> self looping-sound 1)) + (when (and + *target* + (zero? (logand (-> *target* state-flags) #x80f8)) + (>= 8192.0 (vector-vector-distance gp-0 (target-pos 0))) + ) + (let ((a1-16 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-16 from) self) + (set! (-> a1-16 num-params) 2) + (set! (-> a1-16 message) 'attack) + (set! (-> a1-16 param 0) (the-as uint #f)) + (let ((v1-80 (new 'static 'attack-info :mask #xc0))) + (set! (-> v1-80 shove-up) 10240.0) + (set! (-> v1-80 shove-back) 30720.0) + (set! (-> a1-16 param 1) (the-as uint v1-80)) + ) + (send-event-function *target* a1-16) + ) + ) + ) + ) + ((nonzero? (-> self looping-sound 1)) + (stop! (-> self looping-sound 1)) ) ) - ) - ((nonzero? (-> self looping-sound 1)) - (stop! (-> self looping-sound 1)) - ) ) - ) (none) ) @@ -5122,70 +4005,70 @@ (defbehavior robotboss-set-dda robotboss () 0 (let ((gp-0 (-> self entity extra perm))) - (logior! (-> gp-0 status) (entity-perm-status user-set-from-cstage)) - (set! (-> gp-0 user-int8 0) (seekl (-> gp-0 user-int8 0) 255 1)) - (let ((v1-5 (-> gp-0 user-int8 0))) - (set! (-> self dda) (cond - ((< 15 v1-5) - (new 'static 'robotboss-dda - :blue-bomb-time 4800.0 - :num-blobs 8 - :green-bomb-time 4200.0 - :red-shots-min 3 - :red-shot-time-min 5400.0 - :red-shot-time-rnd 600.0 - :red-bomb-time 3600.0 - :yellow-shot-time-min 1800.0 - :yellow-gun-hits 7 - :yellow-bomb-time 4800.0 - ) - ) - ((< 10 v1-5) - (new 'static 'robotboss-dda - :blue-bomb-time 4800.0 - :num-blobs 10 - :green-bomb-time 4200.0 - :red-shots-min 4 - :red-shot-time-min 4800.0 - :red-shot-time-rnd 600.0 - :red-bomb-time 3600.0 - :yellow-shot-time-min 1500.0 - :yellow-gun-hits 10 - :yellow-bomb-time 4800.0 - ) - ) - ((< 5 v1-5) - (new 'static 'robotboss-dda - :blue-bomb-time 4800.0 - :num-blobs 11 - :green-bomb-time 4200.0 - :red-shots-min 4 - :red-shot-time-min 4200.0 - :red-shot-time-rnd 600.0 - :red-bomb-time 3600.0 - :yellow-shot-time-min 1200.0 - :yellow-gun-hits 13 - :yellow-bomb-time 4800.0 - ) - ) - (else - (new 'static 'robotboss-dda - :blue-bomb-time 4800.0 - :num-blobs 12 - :green-bomb-time 4200.0 - :red-shots-min 5 - :red-shot-time-min 3600.0 - :red-shot-time-rnd 600.0 - :red-bomb-time 3600.0 - :yellow-shot-time-min 900.0 - :yellow-gun-hits 16 - :yellow-bomb-time 4800.0 - ) - ) - ) - ) + (logior! (-> gp-0 status) (entity-perm-status user-set-from-cstage)) + (set! (-> gp-0 user-int8 0) (seekl (-> gp-0 user-int8 0) 255 1)) + (let ((v1-5 (-> gp-0 user-int8 0))) + (set! (-> self dda) (cond + ((< 15 v1-5) + (new 'static 'robotboss-dda + :blue-bomb-time 4800.0 + :num-blobs 8 + :green-bomb-time 4200.0 + :red-shots-min 3 + :red-shot-time-min 5400.0 + :red-shot-time-rnd 600.0 + :red-bomb-time 3600.0 + :yellow-shot-time-min 1800.0 + :yellow-gun-hits 7 + :yellow-bomb-time 4800.0 + ) + ) + ((< 10 v1-5) + (new 'static 'robotboss-dda + :blue-bomb-time 4800.0 + :num-blobs 10 + :green-bomb-time 4200.0 + :red-shots-min 4 + :red-shot-time-min 4800.0 + :red-shot-time-rnd 600.0 + :red-bomb-time 3600.0 + :yellow-shot-time-min 1500.0 + :yellow-gun-hits 10 + :yellow-bomb-time 4800.0 + ) + ) + ((< 5 v1-5) + (new 'static 'robotboss-dda + :blue-bomb-time 4800.0 + :num-blobs 11 + :green-bomb-time 4200.0 + :red-shots-min 4 + :red-shot-time-min 4200.0 + :red-shot-time-rnd 600.0 + :red-bomb-time 3600.0 + :yellow-shot-time-min 1200.0 + :yellow-gun-hits 13 + :yellow-bomb-time 4800.0 + ) + ) + (else + (new 'static 'robotboss-dda + :blue-bomb-time 4800.0 + :num-blobs 12 + :green-bomb-time 4200.0 + :red-shots-min 5 + :red-shot-time-min 3600.0 + :red-shot-time-rnd 600.0 + :red-bomb-time 3600.0 + :yellow-shot-time-min 900.0 + :yellow-gun-hits 16 + :yellow-bomb-time 4800.0 + ) + ) + ) + ) + ) ) - ) (none) ) @@ -5193,19 +4076,20 @@ (defbehavior robotboss-blue-done robotboss () (robotboss-yellow-eco-off) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'show) - (let ((t9-1 send-event-function) - (v1-1 (-> self alts 11)) - ) - (t9-1 (if v1-1 - (-> v1-1 extra process) - ) - a1-0 - ) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'show) + (let ((t9-1 send-event-function) + (v1-1 (-> self alts 11)) + ) + (t9-1 + (if v1-1 + (-> v1-1 extra process) + ) + a1-0 + ) + ) ) - ) ) ;; failed to figure out what this is: @@ -5214,471 +4098,360 @@ robotboss-handler :enter (behavior () - (set! (-> self state-time) (-> *display* game-frame-counter)) - (robotboss-setup-for-hits 4 5) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'hide) - (let ((t9-1 send-event-function) - (v1-3 (-> self alts 11)) - ) - (t9-1 (if v1-3 - (-> v1-3 extra process) + (set! (-> self state-time) (-> *display* game-frame-counter)) + (robotboss-setup-for-hits 4 5) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'hide) + (let ((t9-1 send-event-function) + (v1-3 (-> self alts 11)) ) - a1-1 + (t9-1 + (if v1-3 + (-> v1-3 extra process) + ) + a1-1 + ) + ) ) - ) + (process-entity-status! self (entity-perm-status bit-3) #t) + (set! (-> self use-interesting) #t) + (robotboss-yellow-eco-on) + (none) ) - (process-entity-status! self (entity-perm-status bit-3) #t) - (set! (-> self use-interesting) #t) - (robotboss-yellow-eco-on) - (none) - ) :exit (behavior () - (let ((a0-1 (handle->process (-> self shot-attractor)))) - (if a0-1 - (deactivate a0-1) - ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'open) - (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 674))) - (let ((t9-1 send-event-function) - (v1-10 (-> self alts 3)) + (let ((a0-1 (handle->process (-> self shot-attractor)))) + (if a0-1 + (deactivate a0-1) ) - (t9-1 (if v1-10 - (-> v1-10 extra process) - ) - a1-1 ) - ) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 1) - (set! (-> a1-2 message) 'open) - (set! (-> a1-2 param 0) (the-as uint 0.1)) - (let ((t9-2 send-event-function) - (v1-17 (-> self alts 0)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'open) + (set! (-> a1-1 param 0) (the-as uint (-> *part-group-id-table* 674))) + (let ((t9-1 send-event-function) + (v1-10 (-> self alts 3)) + ) + (t9-1 + (if v1-10 + (-> v1-10 extra process) + ) + a1-1 ) - (t9-2 (if v1-17 - (-> v1-17 extra process) - ) - a1-2 + ) ) - ) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 1) + (set! (-> a1-2 message) 'open) + (set! (-> a1-2 param 0) (the-as uint 0.1)) + (let ((t9-2 send-event-function) + (v1-17 (-> self alts 0)) + ) + (t9-2 + (if v1-17 + (-> v1-17 extra process) + ) + a1-2 + ) + ) + ) + (set! (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 0 collide-with) + (the-as uint 0) + ) + (set! (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 0 prim-core collide-as) + (the-as uint 0) + ) + (set! (-> self use-interesting) #f) + (send-event *camera* 'point-of-interest #f) + (robotboss-blue-done) + (if (nonzero? (-> self looping-sound 0)) + (stop! (-> self looping-sound 0)) + ) + (if (nonzero? (-> self looping-sound 1)) + (stop! (-> self looping-sound 1)) + ) + (robotboss-set-dda) + (robotboss-cut-cam-exit) + (none) ) - (set! - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 0 - collide-with - ) - (the-as uint 0) - ) - (set! - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 0 - prim-core - collide-as - ) - (the-as uint 0) - ) - (set! (-> self use-interesting) #f) - (send-event *camera* 'point-of-interest #f) - (robotboss-blue-done) - (if (nonzero? (-> self looping-sound 0)) - (stop! (-> self looping-sound 0)) - ) - (if (nonzero? (-> self looping-sound 1)) - (stop! (-> self looping-sound 1)) - ) - (robotboss-set-dda) - (robotboss-cut-cam-exit) - (none) - ) :trans (behavior () - (robotboss-always-trans robotboss-blue-dark-bomb) - (robotboss-shooting-trans 9) - (cond - ((zero? (-> self hits-to-go)) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM06" - #t - (the-as vector #f) - ) - (robotboss-blue-done) - (set! (-> self took-hit) #f) - (+! (-> self hits-to-go) -1) - (ja-channel-push! 1 30) - (let ((v1-8 (-> self skel root-channel 0))) - (set! - (-> v1-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 33)) - ) - ) - (sound-play-by-name - (static-sound-name "explod-eye") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (set! (-> self blue-smoke) #t) - (let ((gp-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-1 (-> self node-list data 7)) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 644) - 300 - #f - #f - #f - gp-1 - ) - (-> s5-1 ppointer) - ) - ) - ) - (let* ((s5-2 (get-process *default-dead-pool* manipy #x4000)) - (gp-2 (when s5-2 - (let ((t9-12 (method-of-type manipy activate))) - (t9-12 - (the-as manipy s5-2) - self - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-2 - manipy-init - (-> self root-override trans) - (-> self entity) - *robotboss-blueeco-sg* - #f - ) - (-> s5-2 ppointer) - ) - ) - ) - (send-event (ppointer->process (-> self parent)) 'flash 255.0) - (send-event (ppointer->process gp-2) 'anim-mode 'play1) - (send-event - (ppointer->process gp-2) - 'rot-quat - (-> self root-override quat) - ) - (send-event - (ppointer->process gp-2) - 'art-joint-anim - "robotboss-blueeco-blue-last-hit" - ) - ) - ) - ((-> self took-hit) - (if - (not + (robotboss-always-trans robotboss-blue-dark-bomb) + (robotboss-shooting-trans 9) + (cond + ((zero? (-> self hits-to-go)) ((method-of-type ambient-control play-ambient) (the-as ambient-control (&-> self ambient)) - "GOL-AM17" + "GOL-AM06" #t (the-as vector #f) ) + (robotboss-blue-done) + (set! (-> self took-hit) #f) + (+! (-> self hits-to-go) -1) + (ja-channel-push! 1 30) + (let ((v1-8 (-> self skel root-channel 0))) + (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 33))) + ) + (sound-play-by-name (static-sound-name "explod-eye") (new-sound-id) 1024 0 0 1 #t) + (set! (-> self blue-smoke) #t) + (let ((gp-1 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-1 (-> self node-list data 7)) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-9 (method-of-type part-tracker activate))) + (t9-9 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 644) 300 #f #f #f gp-1) + (-> s5-1 ppointer) + ) + ) + ) + (let* ((s5-2 (get-process *default-dead-pool* manipy #x4000)) + (gp-2 + (when s5-2 + (let ((t9-12 (method-of-type manipy activate))) + (t9-12 (the-as manipy s5-2) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-2 manipy-init (-> self root-override trans) (-> self entity) *robotboss-blueeco-sg* #f) + (-> s5-2 ppointer) + ) + ) + ) + (send-event (ppointer->process (-> self parent)) 'flash 255.0) + (send-event (ppointer->process gp-2) 'anim-mode 'play1) + (send-event (ppointer->process gp-2) 'rot-quat (-> self root-override quat)) + (send-event (ppointer->process gp-2) 'art-joint-anim "robotboss-blueeco-blue-last-hit") + ) ) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM06" - #t - (the-as vector #f) - ) - ) - (set! (-> self took-hit) #f) - (ja-channel-push! 1 30) - (let ((v1-54 (-> self skel root-channel 0))) - (set! - (-> v1-54 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - ) - ) - ) - (when (not (or (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 33) + ((-> self took-hit) + (if (not + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM17" + #t + (the-as vector #f) ) ) - ) - ) - (robotboss-blue-beam 8 #t) - (robotboss-blue-beam 9 #f) - (when - ((method-of-type ambient-control TODO-RENAME-10) - (the-as ambient-control (&-> self ambient)) - (new 'stack-no-clear 'vector) - 3000 - (the-as float 327680.0) - self - ) - (let* ((v1-73 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-74 (the-as number (logior #x3f800000 v1-73))) - (f0-2 (+ -1.0 (the-as float v1-74))) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM06" + #t + (the-as vector #f) + ) ) - (cond - ((< 0.8 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM02" - #t - (the-as vector #f) - ) - ) - ((< 0.6 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM10" - #t - (the-as vector #f) - ) - ) - ((< 0.4 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM08" - #t - (the-as vector #f) - ) - ) - ((< 0.2 f0-2) - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "MAI-AM03" - #t - (the-as vector #f) - ) - ) - (else - ((method-of-type ambient-control play-ambient) - (the-as ambient-control (&-> self ambient)) - "GOL-AM07" - #t - (the-as vector #f) - ) + (set! (-> self took-hit) #f) + (ja-channel-push! 1 30) + (let ((v1-54 (-> self skel root-channel 0))) + (set! (-> v1-54 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + ) ) ) - ) - ) - (robotboss-position) - (robotboss-cut-cam - (the-as float 5.0) - (the-as float 50.0) - (the-as int (-> self draw art-group data 5)) - ) - (none) - ) - :code - (behavior () - (ja-channel-push! 1 120) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-32 (-> self skel root-channel 0))) - (set! - (-> v1-32 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-12 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) + (when (not (or + (= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - data - 0 - length - ) - -1 - ) - ) + (-> self draw art-group data 5) + ) + (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 33) + ) + ) + ) ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (<= (-> self hits-to-go) 0) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 1) - (set! (-> a1-6 message) 'target) - (set! (-> a1-6 param 0) (the-as uint 0.0)) - (let ((t9-8 send-event-function) - (v1-69 (-> self alts 12)) + (robotboss-blue-beam 8 #t) + (robotboss-blue-beam 9 #f) + (when ((method-of-type ambient-control TODO-RENAME-10) + (the-as ambient-control (&-> self ambient)) + (new 'stack-no-clear 'vector) + 3000 + (the-as float 327680.0) + self + ) + (let* ((v1-73 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-74 (the-as number (logior #x3f800000 v1-73))) + (f0-2 (+ -1.0 (the-as float v1-74))) + ) + (cond + ((< 0.8 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM02" + #t + (the-as vector #f) ) - (t9-8 (if v1-69 - (-> v1-69 extra process) - ) - a1-6 + ) + ((< 0.6 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM10" + #t + (the-as vector #f) + ) + ) + ((< 0.4 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM08" + #t + (the-as vector #f) + ) + ) + ((< 0.2 f0-2) + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "MAI-AM03" + #t + (the-as vector #f) + ) + ) + (else + ((method-of-type ambient-control play-ambient) + (the-as ambient-control (&-> self ambient)) + "GOL-AM07" + #t + (the-as vector #f) + ) + ) + ) ) - ) ) - (ja-channel-push! 1 30) - (let ((v1-74 (-> self skel root-channel 0))) - (set! - (-> v1-74 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! (-> a0-20 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-20 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! - a0-20 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! - (-> a0-21 param 0) - (the float (+ (-> a0-21 frame-group data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go robotboss-blue-dark-bomb) - ) + (robotboss-position) + (robotboss-cut-cam (the-as float 5.0) (the-as float 50.0) (the-as int (-> self draw art-group data 5))) + (none) + ) + :code + (behavior () + (ja-channel-push! 1 120) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (while #t + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 3) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-32 (-> self skel root-channel 0))) + (set! (-> v1-32 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) + ) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! + a0-12 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (when (<= (-> self hits-to-go) 0) + (let ((a1-6 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-6 from) self) + (set! (-> a1-6 num-params) 1) + (set! (-> a1-6 message) 'target) + (set! (-> a1-6 param 0) (the-as uint 0.0)) + (let ((t9-8 send-event-function) + (v1-69 (-> self alts 12)) + ) + (t9-8 + (if v1-69 + (-> v1-69 extra process) + ) + a1-6 + ) + ) + ) + (ja-channel-push! 1 30) + (let ((v1-74 (-> self skel root-channel 0))) + (set! (-> v1-74 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + ) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-20 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-20 param 1) 1.0) + (set! (-> a0-20 frame-num) 0.0) + (joint-control-channel-group! + a0-20 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) + (set! (-> a0-21 param 1) 1.0) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go robotboss-blue-dark-bomb) + ) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior robotboss) transform-post) ) @@ -5688,414 +4461,201 @@ ;; Used lq/sq (defmethod init-from-entity! robotboss ((obj robotboss) (arg0 entity-actor)) (stack-size-set! (-> obj main-thread) 512) - (let - ((s4-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 19) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 368640.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 4)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 7) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 32768.0) + (append-prim s3-0 s2-0) + ) + (let ((s2-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 1)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 6) + (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 57344.0) + (append-prim s3-0 s2-1) + ) + (let ((s2-2 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 2) (the-as uint 0)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core action) (the-as uint 1)) + (set! (-> s2-2 prim-core offense) 4) + (set! (-> s2-2 transform-index) 6) + (set-vector! (-> s2-2 local-sphere) 0.0 -57344.0 61440.0 73728.0) + (append-prim s3-0 s2-2) + ) + (let ((s2-3 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 3) (the-as uint 8)))) + (set! (-> s2-3 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-3 collide-with) (the-as uint 16)) + (set! (-> s2-3 prim-core action) (the-as uint 1)) + (set! (-> s2-3 prim-core offense) 4) + (set! (-> s2-3 transform-index) 16) + (set-vector! (-> s2-3 local-sphere) 0.0 -20480.0 69632.0 237568.0) + (append-prim s3-0 s2-3) + ) + (let ((s2-4 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 4) (the-as uint 0)))) + (set! (-> s2-4 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-4 collide-with) (the-as uint 16)) + (set! (-> s2-4 prim-core action) (the-as uint 1)) + (set! (-> s2-4 prim-core offense) 4) + (set! (-> s2-4 transform-index) 14) + (set-vector! (-> s2-4 local-sphere) 0.0 0.0 0.0 81920.0) + (append-prim s3-0 s2-4) + ) + (let ((s2-5 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 5) (the-as uint 1)))) + (set! (-> s2-5 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-5 collide-with) (the-as uint 16)) + (set! (-> s2-5 prim-core action) (the-as uint 1)) + (set! (-> s2-5 prim-core offense) 4) + (set! (-> s2-5 transform-index) 39) + (set-vector! (-> s2-5 local-sphere) 0.0 0.0 0.0 69632.0) + (append-prim s3-0 s2-5) + ) + (let ((s2-6 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 6) (the-as uint 0)))) + (set! (-> s2-6 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-6 collide-with) (the-as uint 16)) + (set! (-> s2-6 prim-core action) (the-as uint 1)) + (set! (-> s2-6 prim-core offense) 4) + (set! (-> s2-6 transform-index) 31) + (set-vector! (-> s2-6 local-sphere) 0.0 -57344.0 0.0 90112.0) + (append-prim s3-0 s2-6) + ) + (let ((s2-7 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 7) (the-as uint 0)))) + (set! (-> s2-7 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-7 collide-with) (the-as uint 16)) + (set! (-> s2-7 prim-core action) (the-as uint 1)) + (set! (-> s2-7 prim-core offense) 4) + (set! (-> s2-7 transform-index) 30) + (set-vector! (-> s2-7 local-sphere) 0.0 24576.0 0.0 81920.0) + (append-prim s3-0 s2-7) + ) + (let ((s2-8 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 8) (the-as uint 0)))) + (set! (-> s2-8 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-8 collide-with) (the-as uint 16)) + (set! (-> s2-8 prim-core action) (the-as uint 1)) + (set! (-> s2-8 prim-core offense) 4) + (set! (-> s2-8 transform-index) 57) + (set-vector! (-> s2-8 local-sphere) 0.0 0.0 0.0 81920.0) + (append-prim s3-0 s2-8) + ) + (let ((s2-9 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 9) (the-as uint 2)))) + (set! (-> s2-9 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-9 collide-with) (the-as uint 16)) + (set! (-> s2-9 prim-core action) (the-as uint 1)) + (set! (-> s2-9 prim-core offense) 4) + (set! (-> s2-9 transform-index) 68) + (set-vector! (-> s2-9 local-sphere) 0.0 0.0 0.0 49152.0) + (append-prim s3-0 s2-9) + ) + (let ((s2-10 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 10) (the-as uint 0)))) + (set! (-> s2-10 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-10 collide-with) (the-as uint 16)) + (set! (-> s2-10 prim-core action) (the-as uint 1)) + (set! (-> s2-10 prim-core offense) 4) + (set! (-> s2-10 transform-index) 4) + (set-vector! (-> s2-10 local-sphere) 0.0 24576.0 0.0 102400.0) + (append-prim s3-0 s2-10) + ) + (let ((s2-11 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 11) (the-as uint 0)))) + (set! (-> s2-11 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-11 collide-with) (the-as uint 16)) + (set! (-> s2-11 prim-core action) (the-as uint 1)) + (set! (-> s2-11 prim-core offense) 4) + (set! (-> s2-11 transform-index) 77) + (set-vector! (-> s2-11 local-sphere) 0.0 0.0 0.0 73728.0) + (append-prim s3-0 s2-11) + ) + (let ((s2-12 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 12) (the-as uint 0)))) + (set! (-> s2-12 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-12 collide-with) (the-as uint 16)) + (set! (-> s2-12 prim-core action) (the-as uint 1)) + (set! (-> s2-12 prim-core offense) 4) + (set! (-> s2-12 transform-index) 75) + (set-vector! (-> s2-12 local-sphere) 0.0 24576.0 0.0 81920.0) + (append-prim s3-0 s2-12) + ) + (let ((s2-13 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 13) (the-as uint 0)))) + (set! (-> s2-13 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-13 collide-with) (the-as uint 16)) + (set! (-> s2-13 prim-core action) (the-as uint 1)) + (set! (-> s2-13 prim-core offense) 4) + (set! (-> s2-13 transform-index) 74) + (set-vector! (-> s2-13 local-sphere) 0.0 40960.0 0.0 73728.0) + (append-prim s3-0 s2-13) + ) + (let ((s2-14 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 14) (the-as uint 0)))) + (set! (-> s2-14 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-14 collide-with) (the-as uint 16)) + (set! (-> s2-14 prim-core action) (the-as uint 1)) + (set! (-> s2-14 prim-core offense) 4) + (set! (-> s2-14 transform-index) 73) + (set-vector! (-> s2-14 local-sphere) 0.0 32768.0 0.0 61440.0) + (append-prim s3-0 s2-14) + ) + (let ((s2-15 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 15) (the-as uint 0)))) + (set! (-> s2-15 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-15 collide-with) (the-as uint 16)) + (set! (-> s2-15 prim-core action) (the-as uint 1)) + (set! (-> s2-15 prim-core offense) 4) + (set! (-> s2-15 transform-index) 84) + (set-vector! (-> s2-15 local-sphere) 0.0 40960.0 -8192.0 98304.0) + (append-prim s3-0 s2-15) + ) + (let ((s2-16 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 16) (the-as uint 0)))) + (set! (-> s2-16 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-16 collide-with) (the-as uint 16)) + (set! (-> s2-16 prim-core action) (the-as uint 1)) + (set! (-> s2-16 prim-core offense) 4) + (set! (-> s2-16 transform-index) 83) + (set-vector! (-> s2-16 local-sphere) 0.0 65536.0 0.0 73728.0) + (append-prim s3-0 s2-16) + ) + (let ((s2-17 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 17) (the-as uint 0)))) + (set! (-> s2-17 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-17 collide-with) (the-as uint 16)) + (set! (-> s2-17 prim-core action) (the-as uint 1)) + (set! (-> s2-17 prim-core offense) 4) + (set! (-> s2-17 transform-index) 82) + (set-vector! (-> s2-17 local-sphere) 0.0 32768.0 0.0 61440.0) + (append-prim s3-0 s2-17) + ) + (let ((s2-18 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 18) (the-as uint 0)))) + (set! (-> s2-18 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-18 collide-with) (the-as uint 16)) + (set! (-> s2-18 prim-core action) (the-as uint 1)) + (set! (-> s2-18 prim-core offense) 4) + (set! (-> s2-18 transform-index) 3) + (set-vector! (-> s2-18 local-sphere) 0.0 0.0 0.0 61440.0) + (append-prim s3-0 s2-18) + ) ) - ) + (set! (-> s4-0 nav-radius) 4096.0) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let - ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 19) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 368640.0) - (set-root-prim! s4-0 s3-0) - (let - ((s2-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 4) - ) - ) - ) - (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 7) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 32768.0) - (append-prim s3-0 s2-0) - ) - (let - ((s2-1 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 1)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 6) - (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 57344.0) - (append-prim s3-0 s2-1) - ) - (let - ((s2-2 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 2) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core action) (the-as uint 1)) - (set! (-> s2-2 prim-core offense) 4) - (set! (-> s2-2 transform-index) 6) - (set-vector! (-> s2-2 local-sphere) 0.0 -57344.0 61440.0 73728.0) - (append-prim s3-0 s2-2) - ) - (let - ((s2-3 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 3) - (the-as uint 8) - ) - ) - ) - (set! (-> s2-3 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-3 collide-with) (the-as uint 16)) - (set! (-> s2-3 prim-core action) (the-as uint 1)) - (set! (-> s2-3 prim-core offense) 4) - (set! (-> s2-3 transform-index) 16) - (set-vector! (-> s2-3 local-sphere) 0.0 -20480.0 69632.0 237568.0) - (append-prim s3-0 s2-3) - ) - (let - ((s2-4 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 4) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-4 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-4 collide-with) (the-as uint 16)) - (set! (-> s2-4 prim-core action) (the-as uint 1)) - (set! (-> s2-4 prim-core offense) 4) - (set! (-> s2-4 transform-index) 14) - (set-vector! (-> s2-4 local-sphere) 0.0 0.0 0.0 81920.0) - (append-prim s3-0 s2-4) - ) - (let - ((s2-5 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 5) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-5 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-5 collide-with) (the-as uint 16)) - (set! (-> s2-5 prim-core action) (the-as uint 1)) - (set! (-> s2-5 prim-core offense) 4) - (set! (-> s2-5 transform-index) 39) - (set-vector! (-> s2-5 local-sphere) 0.0 0.0 0.0 69632.0) - (append-prim s3-0 s2-5) - ) - (let - ((s2-6 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 6) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-6 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-6 collide-with) (the-as uint 16)) - (set! (-> s2-6 prim-core action) (the-as uint 1)) - (set! (-> s2-6 prim-core offense) 4) - (set! (-> s2-6 transform-index) 31) - (set-vector! (-> s2-6 local-sphere) 0.0 -57344.0 0.0 90112.0) - (append-prim s3-0 s2-6) - ) - (let - ((s2-7 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 7) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-7 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-7 collide-with) (the-as uint 16)) - (set! (-> s2-7 prim-core action) (the-as uint 1)) - (set! (-> s2-7 prim-core offense) 4) - (set! (-> s2-7 transform-index) 30) - (set-vector! (-> s2-7 local-sphere) 0.0 24576.0 0.0 81920.0) - (append-prim s3-0 s2-7) - ) - (let - ((s2-8 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 8) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-8 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-8 collide-with) (the-as uint 16)) - (set! (-> s2-8 prim-core action) (the-as uint 1)) - (set! (-> s2-8 prim-core offense) 4) - (set! (-> s2-8 transform-index) 57) - (set-vector! (-> s2-8 local-sphere) 0.0 0.0 0.0 81920.0) - (append-prim s3-0 s2-8) - ) - (let - ((s2-9 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 9) - (the-as uint 2) - ) - ) - ) - (set! (-> s2-9 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-9 collide-with) (the-as uint 16)) - (set! (-> s2-9 prim-core action) (the-as uint 1)) - (set! (-> s2-9 prim-core offense) 4) - (set! (-> s2-9 transform-index) 68) - (set-vector! (-> s2-9 local-sphere) 0.0 0.0 0.0 49152.0) - (append-prim s3-0 s2-9) - ) - (let - ((s2-10 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 10) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-10 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-10 collide-with) (the-as uint 16)) - (set! (-> s2-10 prim-core action) (the-as uint 1)) - (set! (-> s2-10 prim-core offense) 4) - (set! (-> s2-10 transform-index) 4) - (set-vector! (-> s2-10 local-sphere) 0.0 24576.0 0.0 102400.0) - (append-prim s3-0 s2-10) - ) - (let - ((s2-11 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 11) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-11 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-11 collide-with) (the-as uint 16)) - (set! (-> s2-11 prim-core action) (the-as uint 1)) - (set! (-> s2-11 prim-core offense) 4) - (set! (-> s2-11 transform-index) 77) - (set-vector! (-> s2-11 local-sphere) 0.0 0.0 0.0 73728.0) - (append-prim s3-0 s2-11) - ) - (let - ((s2-12 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 12) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-12 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-12 collide-with) (the-as uint 16)) - (set! (-> s2-12 prim-core action) (the-as uint 1)) - (set! (-> s2-12 prim-core offense) 4) - (set! (-> s2-12 transform-index) 75) - (set-vector! (-> s2-12 local-sphere) 0.0 24576.0 0.0 81920.0) - (append-prim s3-0 s2-12) - ) - (let - ((s2-13 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 13) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-13 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-13 collide-with) (the-as uint 16)) - (set! (-> s2-13 prim-core action) (the-as uint 1)) - (set! (-> s2-13 prim-core offense) 4) - (set! (-> s2-13 transform-index) 74) - (set-vector! (-> s2-13 local-sphere) 0.0 40960.0 0.0 73728.0) - (append-prim s3-0 s2-13) - ) - (let - ((s2-14 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 14) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-14 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-14 collide-with) (the-as uint 16)) - (set! (-> s2-14 prim-core action) (the-as uint 1)) - (set! (-> s2-14 prim-core offense) 4) - (set! (-> s2-14 transform-index) 73) - (set-vector! (-> s2-14 local-sphere) 0.0 32768.0 0.0 61440.0) - (append-prim s3-0 s2-14) - ) - (let - ((s2-15 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 15) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-15 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-15 collide-with) (the-as uint 16)) - (set! (-> s2-15 prim-core action) (the-as uint 1)) - (set! (-> s2-15 prim-core offense) 4) - (set! (-> s2-15 transform-index) 84) - (set-vector! (-> s2-15 local-sphere) 0.0 40960.0 -8192.0 98304.0) - (append-prim s3-0 s2-15) - ) - (let - ((s2-16 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 16) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-16 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-16 collide-with) (the-as uint 16)) - (set! (-> s2-16 prim-core action) (the-as uint 1)) - (set! (-> s2-16 prim-core offense) 4) - (set! (-> s2-16 transform-index) 83) - (set-vector! (-> s2-16 local-sphere) 0.0 65536.0 0.0 73728.0) - (append-prim s3-0 s2-16) - ) - (let - ((s2-17 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 17) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-17 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-17 collide-with) (the-as uint 16)) - (set! (-> s2-17 prim-core action) (the-as uint 1)) - (set! (-> s2-17 prim-core offense) 4) - (set! (-> s2-17 transform-index) 82) - (set-vector! (-> s2-17 local-sphere) 0.0 32768.0 0.0 61440.0) - (append-prim s3-0 s2-17) - ) - (let - ((s2-18 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 18) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-18 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-18 collide-with) (the-as uint 16)) - (set! (-> s2-18 prim-core action) (the-as uint 1)) - (set! (-> s2-18 prim-core offense) 4) - (set! (-> s2-18 transform-index) 3) - (set-vector! (-> s2-18 local-sphere) 0.0 0.0 0.0 61440.0) - (append-prim s3-0 s2-18) - ) - ) - (set! (-> s4-0 nav-radius) 4096.0) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *robotboss-sg* '()) (aybabtu 2) - (set! - (-> obj nav) - (new 'process 'nav-control (-> obj root-override) 16 (the-as float 40960.0)) - ) - (logior! - (-> obj nav flags) - (nav-control-flags display-marks bit3 bit5 bit6 bit7) - ) - (set! - (-> obj root-override nav-flags) - (logand -2 (-> obj root-override nav-flags)) - ) + (set! (-> obj nav) (new 'process 'nav-control (-> obj root-override) 16 (the-as float 40960.0))) + (logior! (-> obj nav flags) (nav-control-flags display-marks bit3 bit5 bit6 bit7)) + (set! (-> obj root-override nav-flags) (logand -2 (-> obj root-override nav-flags))) (let ((t9-48 (method-of-type path-control new)) (a0-87 'process) (a1-47 path-control) @@ -6103,143 +4663,107 @@ (a3-22 'path) (t0-21 0.0) ) - (set! (-> obj path) (t9-48 a0-87 a1-47 a2-23 a3-22 (the-as float t0-21))) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) - (logclear! (-> obj mask) (process-mask actor-pause)) - (set! (-> obj root-override pause-adjust-distance) 1228800.0) - (set-vector! (-> obj old-loc) 8192.0 0.0 245760.0 1.0) - (set! (-> obj desired-loc quad) (-> obj old-loc quad)) - (set! (-> obj loc-t) 1.0) - (set! (-> obj loc-t-duration) 1) - (set! (-> obj loc-t-start) 0) - (set! (-> obj shot-attractor) (the-as handle #f)) - (set! (-> obj white-eco) (the-as handle #f)) - (set! (-> obj desired-pool-y) -30720.0) - (set! (-> obj des-cam-entity) #f) - (set! (-> obj use-interesting) #f) - (set! (-> obj ignore-camera) #f) - (dotimes (v1-211 13) - (set! (-> obj alts v1-211) #f) - ) - (let ((s5-1 (entity-actor-count (-> obj entity) 'alt-actor))) - (dotimes (s4-1 (min 13 s5-1)) - (set! - (-> obj alts s4-1) - (entity-actor-lookup (-> obj entity) 'alt-actor s4-1) + (set! (-> obj path) (t9-48 a0-87 a1-47 a2-23 a3-22 (the-as float t0-21))) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) + (logclear! (-> obj mask) (process-mask actor-pause)) + (set! (-> obj root-override pause-adjust-distance) 1228800.0) + (set-vector! (-> obj old-loc) 8192.0 0.0 245760.0 1.0) + (set! (-> obj desired-loc quad) (-> obj old-loc quad)) + (set! (-> obj loc-t) 1.0) + (set! (-> obj loc-t-duration) 1) + (set! (-> obj loc-t-start) 0) + (set! (-> obj shot-attractor) (the-as handle #f)) + (set! (-> obj white-eco) (the-as handle #f)) + (set! (-> obj desired-pool-y) -30720.0) + (set! (-> obj des-cam-entity) #f) + (set! (-> obj use-interesting) #f) + (set! (-> obj ignore-camera) #f) + (dotimes (v1-211 13) + (set! (-> obj alts v1-211) #f) ) - ) - ) - (set! - (-> obj particle 0) - (create-launch-control (-> *part-group-id-table* 636) obj) - ) - (set! - (-> obj particle 1) - (create-launch-control (-> *part-group-id-table* 637) obj) - ) - (set! - (-> obj particle 2) - (create-launch-control (-> *part-group-id-table* 645) obj) - ) - (set! - (-> obj particle 3) - (create-launch-control (-> *part-group-id-table* 650) obj) - ) - (set! - (-> obj particle 4) - (create-launch-control (-> *part-group-id-table* 654) obj) - ) - (set! - (-> obj particle 5) - (create-launch-control (-> *part-group-id-table* 646) obj) - ) - (set! - (-> obj particle 6) - (create-launch-control (-> *part-group-id-table* 651) obj) - ) - (set! - (-> obj looping-sound 0) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "robo-blue-lp") - :volume #x400 - :fo-max 80 + (let ((s5-1 (entity-actor-count (-> obj entity) 'alt-actor))) + (dotimes (s4-1 (min 13 s5-1)) + (set! (-> obj alts s4-1) (entity-actor-lookup (-> obj entity) 'alt-actor s4-1)) + ) ) - (-> obj root-override trans) - ) - ) - (set! - (-> obj looping-sound 1) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "eco-torch") - :volume #x400 - :fo-max 80 - ) - (-> obj root-override trans) - ) - ) - (set! - (-> obj looping-sound 2) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "red-buzz") - :volume #x400 - :fo-max 80 - ) - (-> obj root-override trans) - ) - ) - (let ((t9-61 (method-of-type ambient-sound new)) - (a0-110 'process) - (a1-60 ambient-sound) - (a2-28 - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "bfg-buzz") - :volume #x400 - :fo-max 80 - ) + (set! (-> obj particle 0) (create-launch-control (-> *part-group-id-table* 636) obj)) + (set! (-> obj particle 1) (create-launch-control (-> *part-group-id-table* 637) obj)) + (set! (-> obj particle 2) (create-launch-control (-> *part-group-id-table* 645) obj)) + (set! (-> obj particle 3) (create-launch-control (-> *part-group-id-table* 650) obj)) + (set! (-> obj particle 4) (create-launch-control (-> *part-group-id-table* 654) obj)) + (set! (-> obj particle 5) (create-launch-control (-> *part-group-id-table* 646) obj)) + (set! (-> obj particle 6) (create-launch-control (-> *part-group-id-table* 651) obj)) + (set! (-> obj looping-sound 0) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "robo-blue-lp") + :volume #x400 + :fo-max 80 + ) + (-> obj root-override trans) + ) ) - (a3-26 (-> obj root-override trans)) - ) - (set! (-> obj looping-sound 3) (t9-61 a0-110 a1-60 a2-28 a3-26)) - (set! (-> obj blue-smoke) #f) - (set! (-> obj red-smoke) #f) - (set! (-> obj yellow-smoke) #f) - ((method-of-type ambient-control dummy-9) - (the-as ambient-control (&-> obj ambient)) - (the-as vector a1-60) - (the-as int a2-28) - (the-as float a3-26) - (the-as process-drawable t0-21) - ) + (set! (-> obj looping-sound 1) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "eco-torch") + :volume #x400 + :fo-max 80 + ) + (-> obj root-override trans) + ) + ) + (set! (-> obj looping-sound 2) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "red-buzz") + :volume #x400 + :fo-max 80 + ) + (-> obj root-override trans) + ) + ) + (let ((t9-61 (method-of-type ambient-sound new)) + (a0-110 'process) + (a1-60 ambient-sound) + (a2-28 + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "bfg-buzz") + :volume #x400 + :fo-max 80 + ) + ) + (a3-26 (-> obj root-override trans)) + ) + (set! (-> obj looping-sound 3) (t9-61 a0-110 a1-60 a2-28 a3-26)) + (set! (-> obj blue-smoke) #f) + (set! (-> obj red-smoke) #f) + (set! (-> obj yellow-smoke) #f) + ((method-of-type ambient-control dummy-9) + (the-as ambient-control (&-> obj ambient)) + (the-as vector a1-60) + (the-as int a2-28) + (the-as float a3-26) + (the-as process-drawable t0-21) + ) + ) ) - ) - (set! - (-> obj yellow-gun) - (new 'process 'joint-mod (joint-mod-handler-mode flex-blend) obj 16) - ) + (set! (-> obj yellow-gun) (new 'process 'joint-mod (joint-mod-handler-mode flex-blend) obj 16)) (set-vector! (-> obj yellow-gun twist-max) 8192.0 8192.0 0.0 1.0) (set! (-> obj yellow-gun up) (the-as uint 1)) (set! (-> obj yellow-gun nose) (the-as uint 2)) @@ -6247,22 +4771,20 @@ (set! (-> obj yellow-gun max-dist) 819200.0) (set! (-> obj yellow-gun ignore-angle) 16384.0) (set! (-> obj palette-val) 0.0) - (set! - (-> obj dda) - (new 'static 'robotboss-dda - :blue-bomb-time 4200.0 - :num-blobs 12 - :green-bomb-time 4200.0 - :red-shots-min 5 - :red-shot-time-min 3600.0 - :red-shot-time-rnd 600.0 - :red-bomb-time 3600.0 - :yellow-shot-time-min 900.0 - :yellow-shot-time-rnd 600.0 - :yellow-gun-hits 5 - :yellow-bomb-time 3600.0 - ) - ) + (set! (-> obj dda) (new 'static 'robotboss-dda + :blue-bomb-time 4200.0 + :num-blobs 12 + :green-bomb-time 4200.0 + :red-shots-min 5 + :red-shot-time-min 3600.0 + :red-shot-time-rnd 600.0 + :red-bomb-time 3600.0 + :yellow-shot-time-min 900.0 + :yellow-shot-time-rnd 600.0 + :yellow-gun-hits 5 + :yellow-bomb-time 3600.0 + ) + ) (go robotboss-blue-wait) (none) ) diff --git a/test/decompiler/reference/levels/finalboss/sage-finalboss-part_REF.gc b/test/decompiler/reference/levels/finalboss/sage-finalboss-part_REF.gc index 77cf43ac52..9e09512223 100644 --- a/test/decompiler/reference/levels/finalboss/sage-finalboss-part_REF.gc +++ b/test/decompiler/reference/levels/finalboss/sage-finalboss-part_REF.gc @@ -2,1602 +2,1436 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 682) - (new 'static 'sparticle-launch-group - :length 8 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-2d-credits-mist" - :launcher - (new 'static 'inline-array sparticle-group-item 8 - (sp-item 2825 :period 300 :length 5 :binding 2823) - (sp-item 2823 :flags (start-dead launch-asap) :binding 2824) - (sp-item 2823 :flags (start-dead launch-asap) :binding 2824) - (sp-item 2824 :flags (start-dead)) - (sp-item 2824 :flags (start-dead)) - (sp-item 2824 :flags (start-dead)) - (sp-item 2826) - (sp-item 2827) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 682) (new 'static 'sparticle-launch-group + :length 8 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-2d-credits-mist" + :launcher + (new 'static 'inline-array sparticle-group-item 8 + (sp-item 2825 :period 300 :length 5 :binding 2823) + (sp-item 2823 :flags (start-dead launch-asap) :binding 2824) + (sp-item 2823 :flags (start-dead launch-asap) :binding 2824) + (sp-item 2824 :flags (start-dead)) + (sp-item 2824 :flags (start-dead)) + (sp-item 2824 :flags (start-dead)) + (sp-item 2826) + (sp-item 2827) + ) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2825) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -2.5) (meters 5.0) 1.0) - (sp-rnd-flt spt-y (meters -1.5) (meters 3.0) 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2825) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -2.5) (meters 5.0) 1.0) + (sp-rnd-flt spt-y (meters -1.5) (meters 3.0) 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2823) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 2048.0 819.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.053333335) 1 436.90668) - (sp-flt spt-scalevel-x (meters -0.0012121212)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2823) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 2048.0 819.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.053333335) 1 436.90668) + (sp-flt spt-scalevel-x (meters -0.0012121212)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2824) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0010952381)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y 0.0 -0.13653333 1.0) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 198) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2824) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0010952381)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y 0.0 -0.13653333 1.0) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 198) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2827) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-z -16000.0) - (sp-flt spt-scale-x (meters 15.0)) - (sp-flt spt-scale-y (meters 12.0)) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit13 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2827) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-z -16000.0) + (sp-flt spt-scale-x (meters 15.0)) + (sp-flt spt-scale-y (meters 12.0)) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit13 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2826) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.3) - (sp-rnd-flt spt-x (meters -4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-y (meters -3.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-z 0.0 14000.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 6.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-r 16.0 80.0 1.0) - (sp-rnd-flt spt-g 0.0 16.0 1.0) - (sp-rnd-flt spt-b 16.0 150.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters -0.0016666667) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.075) (degrees 0.15) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 150 149 1) - (sp-launcher-by-id spt-next-launcher 2828) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2826) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.3) + (sp-rnd-flt spt-x (meters -4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-y (meters -3.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-z 0.0 14000.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 6.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-r 16.0 80.0 1.0) + (sp-rnd-flt spt-g 0.0 16.0 1.0) + (sp-rnd-flt spt-b 16.0 150.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters -0.0016666667) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.075) (degrees 0.15) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 150 149 1) + (sp-launcher-by-id spt-next-launcher 2828) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2828) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int-plain-rnd spt-next-time 300 299 1) - (sp-launcher-by-id spt-next-launcher 2829) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2828) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int-plain-rnd spt-next-time 300 299 1) + (sp-launcher-by-id spt-next-launcher 2829) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2829) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2829) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.21333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 699) - (new 'static 'sparticle-launch-group - :length 6 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-target-white-eco-ground" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 2921) - (sp-item 2922 :flags (is-3d)) - (sp-item 2923 :flags (is-3d)) - (sp-item 2924 :flags (is-3d)) - (sp-item 2925) - (sp-item 2926) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 699) (new 'static 'sparticle-launch-group + :length 6 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-target-white-eco-ground" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 2921) + (sp-item 2922 :flags (is-3d)) + (sp-item 2923 :flags (is-3d)) + (sp-item 2924 :flags (is-3d)) + (sp-item 2925) + (sp-item 2926) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2921) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-flt spt-num 1.5) - (sp-flt spt-x (meters 2.5)) - (sp-flt spt-y (meters -0.5)) - (sp-int spt-rot-x 8) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3276.8) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-int spt-timer 270) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 180) - (sp-launcher-by-id spt-next-launcher 2927) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2921) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-flt spt-num 1.5) + (sp-flt spt-x (meters 2.5)) + (sp-flt spt-y (meters -0.5)) + (sp-int spt-rot-x 8) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3276.8) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-int spt-timer 270) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 180) + (sp-launcher-by-id spt-next-launcher 2927) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2927) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -4.551111) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2927) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -4.551111) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2924) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.1)) - (sp-flt spt-scale-x (meters 1.0)) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 8.0 8.0 1.0) - (sp-flt spt-scalevel-x (meters 0.14648438)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 81) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2924) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.1)) + (sp-flt spt-scale-x (meters 1.0)) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 8.0 8.0 1.0) + (sp-flt spt-scalevel-x (meters 0.14648438)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 81) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2922) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 8.0) (meters 8.0) 1.0) - (sp-rnd-int spt-r 0 1 128.0) - (sp-rnd-flt spt-g 64.0 196.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-scalevel-y (meters 0.24414062) (meters 0.48828125) 1.0) - (sp-int spt-timer 81) - (sp-cpuinfo-flags bit3 bit14) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2922) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 8.0) (meters 8.0) 1.0) + (sp-rnd-int spt-r 0 1 128.0) + (sp-rnd-flt spt-g 64.0 196.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-scalevel-y (meters 0.24414062) (meters 0.48828125) 1.0) + (sp-int spt-timer 81) + (sp-cpuinfo-flags bit3 bit14) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2923) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 2.0 1.0) - (sp-rnd-flt spt-x (meters 1.8) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.0) (meters 3.0) 1.0) - (sp-rnd-int spt-r 0 1 128.0) - (sp-rnd-flt spt-g 64.0 196.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-scalevel-y (meters 0.048828125) (meters 0.09765625) 1.0) - (sp-int spt-timer 81) - (sp-cpuinfo-flags bit3 bit14) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2923) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 2.0 1.0) + (sp-rnd-flt spt-x (meters 1.8) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.0) (meters 3.0) 1.0) + (sp-rnd-int spt-r 0 1 128.0) + (sp-rnd-flt spt-g 64.0 196.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-scalevel-y (meters 0.048828125) (meters 0.09765625) 1.0) + (sp-int spt-timer 81) + (sp-cpuinfo-flags bit3 bit14) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2925) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 3.0 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 5.5) 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) - (sp-flt spt-fade-a -0.42666668) - (sp-flt spt-accel-y 6.826667) - (sp-flt spt-friction 0.996) - (sp-int-plain-rnd spt-timer 180 119 1) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2925) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 3.0 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 5.5) 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) + (sp-flt spt-fade-a -0.42666668) + (sp-flt spt-accel-y 6.826667) + (sp-flt spt-friction 0.996) + (sp-int-plain-rnd spt-timer 180 119 1) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2926) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 3.0 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 5.0) 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 32.0 32.0 1.0) - (sp-rnd-flt spt-b 10.0 5.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) - (sp-flt spt-fade-a 0.6) - (sp-flt spt-accel-y 6.826667) - (sp-flt spt-friction 0.996) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 45) - (sp-launcher-by-id spt-next-launcher 2928) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2926) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 3.0 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 5.0) 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 10.0 5.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.011666667) (meters -0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-int-flt spt-rotvel-z (degrees -1.2) 1 436.90668) + (sp-flt spt-fade-a 0.6) + (sp-flt spt-accel-y 6.826667) + (sp-flt spt-friction 0.996) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 45) + (sp-launcher-by-id spt-next-launcher 2928) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2928) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.18) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2928) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.18) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 700) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-target-white-eco-joints" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2929) - (sp-item 2930) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 700) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-target-white-eco-joints" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2929) (sp-item 2930)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2930) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.2 1.0) - (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-z -4.096 8.192 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.10666667) - (sp-rnd-flt spt-accel-y 0.0 1.3653333 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 120 29 1) - (sp-launcher-by-id spt-next-launcher 2931) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2930) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.2 1.0) + (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-z -4.096 8.192 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.10666667) + (sp-rnd-flt spt-accel-y 0.0 1.3653333 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 120 29 1) + (sp-launcher-by-id spt-next-launcher 2931) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2931) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2931) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.10666667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2929) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 8.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00083333335)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y 6.826667 2.7306666 1.0) - (sp-flt spt-friction 0.5) - (sp-int-plain-rnd spt-timer 30 149 1) - (sp-cpuinfo-flags bit0 bit2 bit3 bit14) - (sp-flt spt-userdata 1638400.0) - (sp-func spt-func 'check-drop-level-eichar-lighteco-pops) - (sp-int-plain-rnd spt-next-time 30 299 1) - (sp-launcher-by-id spt-next-launcher 2932) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2929) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 8.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00083333335)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y 6.826667 2.7306666 1.0) + (sp-flt spt-friction 0.5) + (sp-int-plain-rnd spt-timer 30 149 1) + (sp-cpuinfo-flags bit0 bit2 bit3 bit14) + (sp-flt spt-userdata 1638400.0) + (sp-func spt-func 'check-drop-level-eichar-lighteco-pops) + (sp-int-plain-rnd spt-next-time 30 299 1) + (sp-launcher-by-id spt-next-launcher 2932) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -1440.0) (degrees 2880.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2932) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-userdata 2048000.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2932) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-userdata 2048000.0) (sp-end)) + ) + ) ;; definition for function check-drop-level-eichar-lighteco-pops -(defun - check-drop-level-eichar-lighteco-pops - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-eichar-lighteco-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2933) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2934) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2933) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2934) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) ) - ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2934) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-flt spt-fade-a -1.92) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2934) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-flt spt-fade-a -1.92) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2933) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 4.0 4.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-accel-y 6.826667 2.7306666 1.0) - (sp-flt spt-friction 0.85) - (sp-int-plain-rnd spt-timer 15 119 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2933) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 4.0 4.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-accel-y 6.826667 2.7306666 1.0) + (sp-flt spt-friction 0.85) + (sp-int-plain-rnd spt-timer 15 119 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 701) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-target-white-eco-hand-glow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2892)) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 701) (new 'static 'sparticle-launch-group + :length 1 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-target-white-eco-hand-glow" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2892)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2892) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 4.0 3.0 1.0) - (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) - (sp-rnd-flt spt-z 819.2 409.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters -0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.42666668) - (sp-flt spt-accel-y 6.826667) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2892) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 4.0 3.0 1.0) + (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) + (sp-rnd-flt spt-z 819.2 409.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters -0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.42666668) + (sp-flt spt-accel-y 6.826667) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 702) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-target-white-eco-hand-shot" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2893) - (sp-item 2935) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 702) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-target-white-eco-hand-shot" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2893) (sp-item 2935)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2935) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) - (sp-rnd-flt spt-z 819.2 409.6 1.0) - (sp-flt spt-scale-x (meters 0.05)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 6.0) (meters 9.0) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-flt spt-scalevel-y (meters 0.42666668)) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2935) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) + (sp-rnd-flt spt-z 819.2 409.6 1.0) + (sp-flt spt-scale-x (meters 0.05)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 6.0) (meters 9.0) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-flt spt-scalevel-y (meters 0.42666668)) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2893) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) - (sp-rnd-flt spt-z 819.2 409.6 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 32.0) - (sp-flt spt-vel-x (meters -0.033333335)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.21333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2893) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -0.2) (meters -0.1) 1.0) + (sp-rnd-flt spt-z 819.2 409.6 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 32.0) + (sp-flt spt-vel-x (meters -0.033333335)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.21333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 703) - (new 'static 'sparticle-launch-group - :length 5 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-joints" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 2936 :period 36 :length 5) - (sp-item 2936 :period 140 :length 5) - (sp-item 2936 :period 61 :length 5) - (sp-item 2894 :period 15 :length 5) - (sp-item 2937) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 703) (new 'static 'sparticle-launch-group + :length 5 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-joints" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 2936 :period 36 :length 5) + (sp-item 2936 :period 140 :length 5) + (sp-item 2936 :period 61 :length 5) + (sp-item 2894 :period 15 :length 5) + (sp-item 2937) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2937) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 16.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2937) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 16.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2894) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 810) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 20 89 1) - (sp-launcher-by-id spt-next-launcher 2596) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2894) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 810) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 20 89 1) + (sp-launcher-by-id spt-next-launcher 2596) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2936) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-int spt-num 0 1 8.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -1.6) - (sp-flt spt-fade-g -1.6) - (sp-flt spt-fade-b 0.0) - (sp-rnd-flt spt-accel-y -7.5093336 -7.5093336 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-int-plain-rnd spt-next-time 90 29 1) - (sp-launcher-by-id spt-next-launcher 2595) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2936) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-int spt-num 0 1 8.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.6) + (sp-flt spt-fade-g -1.6) + (sp-flt spt-fade-b 0.0) + (sp-rnd-flt spt-accel-y -7.5093336 -7.5093336 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-int-plain-rnd spt-next-time 90 29 1) + (sp-launcher-by-id spt-next-launcher 2595) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 696) - (new 'static 'sparticle-launch-group - :length 23 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-explode" - :launcher - (new 'static 'inline-array sparticle-group-item 23 - (sp-item 2939 :period 1200 :length 20 :binding 2938) - (sp-item 2940 :period 1200 :length 5) - (sp-item 2941 :period 1200 :length 40) - (sp-item 2942 :period 1200 :length 20) - (sp-item 2943 :period 1200 :length 20) - (sp-item 2944 :period 1200 :length 20) - (sp-item 2945 :flags (is-3d) :period 1200 :length 5) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - (sp-item 2938 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 696) (new 'static 'sparticle-launch-group + :length 23 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-explode" + :launcher + (new 'static 'inline-array sparticle-group-item 23 + (sp-item 2939 :period 1200 :length 20 :binding 2938) + (sp-item 2940 :period 1200 :length 5) + (sp-item 2941 :period 1200 :length 40) + (sp-item 2942 :period 1200 :length 20) + (sp-item 2943 :period 1200 :length 20) + (sp-item 2944 :period 1200 :length 20) + (sp-item 2945 :flags (is-3d) :period 1200 :length 5) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + (sp-item 2938 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2939) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 4.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.33333334) (meters 0.85333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -15.701333 -70.31467 1.0) - (sp-rnd-flt spt-friction 0.96 0.06 1.0) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees -120.0) (degrees 240.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 40.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2939) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 4.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.33333334) (meters 0.85333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -15.701333 -70.31467 1.0) + (sp-rnd-flt spt-friction 0.96 0.06 1.0) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees -120.0) (degrees 240.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 40.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2938) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 8.0 16.0 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.02) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.053333335) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2946) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2938) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 8.0 16.0 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.02) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.053333335) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2946) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2946) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-g -0.14222223) - (sp-flt spt-fade-b -0.14222223) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2946) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-fade-g -0.14222223) + (sp-flt spt-fade-b -0.14222223) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2945) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 6.0) - (sp-flt spt-y (meters 10.0)) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 60.0) 1.0) - (sp-rnd-flt spt-rot-x 0.0 262144.0 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 8.0 48.0 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.33333334) (meters 0.6666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14 left-multiply-quat) - (sp-int-plain-rnd spt-next-time 60 149 1) - (sp-launcher-by-id spt-next-launcher 2947) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2945) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 6.0) + (sp-flt spt-y (meters 10.0)) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 60.0) 1.0) + (sp-rnd-flt spt-rot-x 0.0 262144.0 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 8.0 48.0 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.33333334) (meters 0.6666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14 left-multiply-quat) + (sp-int-plain-rnd spt-next-time 60 149 1) + (sp-launcher-by-id spt-next-launcher 2947) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2947) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2947) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.21333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2941) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 128.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.85333335) (meters 0.85333335) 1.0) - (sp-rnd-flt spt-accel-y -6.826667 -6.826667 1.0) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 2948) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2941) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 128.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.85333335) (meters 0.85333335) 1.0) + (sp-rnd-flt spt-accel-y -6.826667 -6.826667 1.0) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 2948) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2948) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2948) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.0666667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2944) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 16.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 128.0)) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 8.0 88.0 1.0) - (sp-flt spt-scalevel-y (meters 3.4133334)) - (sp-flt spt-fade-a -0.64) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2944) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 16.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 128.0)) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 8.0 88.0 1.0) + (sp-flt spt-scalevel-y (meters 3.4133334)) + (sp-flt spt-fade-a -0.64) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2940) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 256.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2940) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 256.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2942) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-y (meters -8.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 20.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 8.0 90.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.21333334) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.04)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.32666665) - (sp-rnd-flt spt-accel-y 5.4613333 5.4613333 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 32.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2942) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-y (meters -8.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 20.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 8.0 90.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.21333334) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.04)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.32666665) + (sp-rnd-flt spt-accel-y 5.4613333 5.4613333 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 32.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2943) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 20.0) - (sp-rnd-flt spt-y (meters -8.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 40.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 8.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.85333335) (meters 0.85333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.04)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.068571426) - (sp-rnd-flt spt-accel-y 5.4613333 5.4613333 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 32.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2943) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 20.0) + (sp-rnd-flt spt-y (meters -8.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 40.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 8.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.85333335) (meters 0.85333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.04)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.068571426) + (sp-rnd-flt spt-accel-y 5.4613333 5.4613333 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 32.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 704) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-robotboss-splash" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2949) - (sp-item 2950) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 704) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-robotboss-splash" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2949) (sp-item 2950)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2950) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 128.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 5.0) 1.0) - (sp-flt spt-y (meters -8.0)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.42666668) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -2.7306666 -6.826667 1.0) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 150 299 1) - (sp-launcher-by-id spt-next-launcher 2951) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2950) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 128.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 5.0) 1.0) + (sp-flt spt-y (meters -8.0)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.42666668) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -2.7306666 -6.826667 1.0) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 150 299 1) + (sp-launcher-by-id spt-next-launcher 2951) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2951) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2951) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.21333334) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2949) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 10.0) 1.0) - (sp-flt spt-y (meters -10.0)) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 6.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.10666667) 1.0) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 1050) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 150 299 1) - (sp-launcher-by-id spt-next-launcher 2951) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2949) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 10.0) 1.0) + (sp-flt spt-y (meters -10.0)) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 6.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.10666667) 1.0) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 1050) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 150 299 1) + (sp-launcher-by-id spt-next-launcher 2951) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 698) - (new 'static 'sparticle-launch-group - :length 7 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-bigdoor-open" - :launcher - (new 'static 'inline-array sparticle-group-item 7 - (sp-item 2952 :flags (is-3d)) - (sp-item 2953 :flags (is-3d)) - (sp-item 2954 :flags (is-3d)) - (sp-item 2955) - (sp-item 2956) - (sp-item 2957) - (sp-item 2958) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 698) (new 'static 'sparticle-launch-group + :length 7 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-bigdoor-open" + :launcher + (new 'static 'inline-array sparticle-group-item 7 + (sp-item 2952 :flags (is-3d)) + (sp-item 2953 :flags (is-3d)) + (sp-item 2954 :flags (is-3d)) + (sp-item 2955) + (sp-item 2956) + (sp-item 2957) + (sp-item 2958) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2952) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.1) - (sp-flt spt-y (meters 10.0)) - (sp-flt spt-z 16384.0) - (sp-flt spt-scale-x (meters 48.0)) - (sp-flt spt-rot-x 16384.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-rotvel-y (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2959) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2952) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.1) + (sp-flt spt-y (meters 10.0)) + (sp-flt spt-z 16384.0) + (sp-flt spt-scale-x (meters 48.0)) + (sp-flt spt-rot-x 16384.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-rotvel-y (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2959) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2959) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.16) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2959) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.16) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2953) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.1) - (sp-flt spt-y (meters 10.0)) - (sp-flt spt-z 16384.0) - (sp-flt spt-scale-x (meters 48.0)) - (sp-flt spt-rot-z (degrees -90.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-rotvel-y (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2959) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2953) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.1) + (sp-flt spt-y (meters 10.0)) + (sp-flt spt-z 16384.0) + (sp-flt spt-scale-x (meters 48.0)) + (sp-flt spt-rot-z (degrees -90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-rotvel-y (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2959) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2954) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.1) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-z 16384.0) - (sp-flt spt-scale-x (meters 40.0)) - (sp-flt spt-rot-y (degrees -50.000004)) - (sp-flt spt-rot-z (degrees 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-rotvel-y (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2959) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2954) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.1) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-z 16384.0) + (sp-flt spt-scale-x (meters 40.0)) + (sp-flt spt-rot-y (degrees -50.000004)) + (sp-flt spt-rot-z (degrees 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-rotvel-y (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2959) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2955) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-rnd-flt spt-num 1.0 2.0 1.0) - (sp-flt spt-y (meters 10.0)) - (sp-flt spt-z 32768.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 32.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.5) (meters 5.5) 1.0) - (sp-rnd-int spt-r 1124073472 1 128.0) - (sp-rnd-int spt-g 1124073472 1 128.0) - (sp-rnd-int spt-b 1124073472 1 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 75 74 1) - (sp-launcher-by-id spt-next-launcher 2959) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2955) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-rnd-flt spt-num 1.0 2.0 1.0) + (sp-flt spt-y (meters 10.0)) + (sp-flt spt-z 32768.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 32.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.5) (meters 5.5) 1.0) + (sp-rnd-int spt-r 1124073472 1 128.0) + (sp-rnd-int spt-g 1124073472 1 128.0) + (sp-rnd-int spt-b 1124073472 1 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 75 74 1) + (sp-launcher-by-id spt-next-launcher 2959) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2956) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters 10.0)) - (sp-flt spt-z 32768.0) - (sp-flt spt-scale-x (meters 64.0)) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 1.5)) - (sp-rnd-int spt-r 1124073472 1 128.0) - (sp-rnd-int spt-g 1124073472 1 128.0) - (sp-rnd-int spt-b 1124073472 1 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 75 74 1) - (sp-launcher-by-id spt-next-launcher 2959) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2956) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters 10.0)) + (sp-flt spt-z 32768.0) + (sp-flt spt-scale-x (meters 64.0)) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 1.5)) + (sp-rnd-int spt-r 1124073472 1 128.0) + (sp-rnd-int spt-g 1124073472 1 128.0) + (sp-rnd-int spt-b 1124073472 1 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 75 74 1) + (sp-launcher-by-id spt-next-launcher 2959) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2957) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-x (meters 10.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters -0.00066666666) (meters -0.0026666666) 1.0) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 75 74 1) - (sp-launcher-by-id spt-next-launcher 2960) - (sp-rnd-flt spt-rotate-y (degrees -135.0) (degrees 1440.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2957) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-x (meters 10.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters -0.00066666666) (meters -0.0026666666) 1.0) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 75 74 1) + (sp-launcher-by-id spt-next-launcher 2960) + (sp-rnd-flt spt-rotate-y (degrees -135.0) (degrees 1440.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2960) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.85333335) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2960) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.85333335) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2958) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 10.0) (meters 30.0) 1.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters -0.00066666666) (meters -0.0026666666) 1.0) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-userdata -4096000.0) - (sp-func spt-func 'check-drop-level-bigdoor-open-pops) - (sp-int-plain-rnd spt-next-time 75 74 1) - (sp-launcher-by-id spt-next-launcher 2961) - (sp-rnd-flt spt-rotate-y (degrees -135.0) (degrees 1440.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2958) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 10.0) (meters 30.0) 1.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters -0.00066666666) (meters -0.0026666666) 1.0) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-userdata -4096000.0) + (sp-func spt-func 'check-drop-level-bigdoor-open-pops) + (sp-int-plain-rnd spt-next-time 75 74 1) + (sp-launcher-by-id spt-next-launcher 2961) + (sp-rnd-flt spt-rotate-y (degrees -135.0) (degrees 1440.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2961) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-userdata 4096000.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2961) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-userdata 4096000.0) (sp-end)) + ) + ) ;; definition for function check-drop-level-bigdoor-open-pops -(defun - check-drop-level-bigdoor-open-pops - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-bigdoor-open-pops ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2962) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2963) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! gp-0 (-> arg2 x) (-> arg2 y) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2962) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2963) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) ) - ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2963) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-fade-a -1.92) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2963) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-fade-a -1.92) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2962) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 4.0 4.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) - (sp-flt spt-friction 0.85) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2962) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 4.0 4.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-accel-y -6.826667 -2.7306666 1.0) + (sp-flt spt-friction 0.85) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 706) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-2d-big-door-whiteout" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2965)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 706) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-2d-big-door-whiteout" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2965)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2965) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-z -16000.0) - (sp-flt spt-scale-x (meters 15.0)) - (sp-flt spt-scale-y (meters 12.0)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2965) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-z -16000.0) + (sp-flt spt-scale-x (meters 15.0)) + (sp-flt spt-scale-y (meters 12.0)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: 0 diff --git a/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc b/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc index 6c08bb81b0..2f54af63ca 100644 --- a/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc +++ b/test/decompiler/reference/levels/firecanyon/assistant-firecanyon_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type assistant-firecanyon (defmethod inspect assistant-firecanyon ((obj assistant-firecanyon)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -29,91 +29,53 @@ ) ;; definition for method 32 of type assistant-firecanyon -(defmethod - play-anim! - assistant-firecanyon - ((obj assistant-firecanyon) (arg0 symbol)) - (case (current-status (-> obj tasks)) - (((task-status need-reward-speech)) +(defmethod play-anim! assistant-firecanyon ((obj assistant-firecanyon) (arg0 symbol)) + (case (current-status (-> obj tasks)) + (((task-status need-reward-speech)) (if arg0 - (close-current! (-> obj tasks)) - ) + (close-current! (-> obj tasks)) + ) (new 'static 'spool-anim - :name "assistant-firecanyon-resolution" - :index 13 - :parts 11 - :command-list - '( - (0 - want-levels - village1 - firecanyon + :name "assistant-firecanyon-resolution" + :index 13 + :parts 11 + :command-list + '((0 want-levels village1 firecanyon) + ((the binteger 151) joint "cameraB") + ((the binteger 346) joint "camera") + ((the binteger 346) shadow self #f) + ((the binteger 461) joint "cameraB") + ((the binteger 546) joint "camera") + ((the binteger 636) joint "cameraB") + ((the binteger 695) alive "balloon-12") + ((the binteger 696) joint "camera") + ((the binteger 821) alive "balloon-16") + ((the binteger 822) joint "cameraB") + ((the binteger 962) joint "camera") + ((the binteger 1268) shadow self #t) + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) ) - ((the binteger 151) - joint - "cameraB" - ) - ((the binteger 346) - joint - "camera" - ) - ((the binteger 346) - shadow - self - #f - ) - ((the binteger 461) - joint - "cameraB" - ) - ((the binteger 546) - joint - "camera" - ) - ((the binteger 636) - joint - "cameraB" - ) - ((the binteger 695) - alive - "balloon-12" - ) - ((the binteger 696) - joint - "camera" - ) - ((the binteger 821) - alive - "balloon-16" - ) - ((the binteger 822) - joint - "cameraB" - ) - ((the binteger 962) joint "camera") ((the binteger 1268) shadow self #t) - ) + (-> obj draw art-group data 3) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 3) ) - ) ) ;; definition for method 31 of type assistant-firecanyon (defmethod get-art-elem assistant-firecanyon ((obj assistant-firecanyon)) (if (= (current-status (-> obj tasks)) (task-status invalid)) - (-> obj draw art-group data 8) - (-> obj draw art-group data 3) - ) + (-> obj draw art-group data 8) + (-> obj draw art-group data 3) + ) ) ;; failed to figure out what this is: @@ -121,95 +83,60 @@ :virtual #t :trans (behavior () - ((-> (method-of-type process-taskable hidden) trans)) - (when (and (cond - ((and - *target* - (>= - 61440.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - #t - ) - (else + ((-> (method-of-type process-taskable hidden) trans)) + (when (and + (cond + ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + #t + ) + (else (set! (-> self state-time) (-> *display* base-frame-counter)) #f ) - ) - (and - (not - (closed? - (-> self tasks) - (game-task firecanyon-assistant) - (task-status need-reward-speech) - ) + ) + (and + (not (closed? (-> self tasks) (game-task firecanyon-assistant) (task-status need-reward-speech))) + (not (movie?)) + (not (level-hint-displayed?)) + (not (and *cheat-mode* (cpad-hold? 0 l3))) + (< (- (-> *display* base-frame-counter) (-> self state-time)) 3000) + ) ) - (not (movie?)) - (not (level-hint-displayed?)) - (not (and *cheat-mode* (cpad-hold? 0 l3))) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 3000) - ) + (hide-hud) + (kill-current-level-hint '() '(sidekick voicebox) 'exit) + (when (and + (seen-text? *game-info* (game-text-id firecanyon-not-enough-cells)) + (hud-hidden?) + (can-grab-display? self) + (not (-> *setting-control* current hint)) + ) + (let ((gp-0 + (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-26 gp-0)) + (set! (-> v1-26 width) (the float 448)) + ) + (let ((v1-27 gp-0)) + (set! (-> v1-27 height) (the float 80)) + ) + (let ((v1-28 gp-0)) + (set! (-> v1-28 scale) 0.8) + ) + (set! (-> gp-0 flags) (font-flags shadow kerning middle large)) + (print-game-text (lookup-text! *common-text* (game-text-id firecanyon-collect-cells-text) #f) gp-0 #f 128 22) ) - (hide-hud) - (kill-current-level-hint '() '(sidekick voicebox) 'exit) - (when - (and - (seen-text? *game-info* (game-text-id firecanyon-not-enough-cells)) - (hud-hidden?) - (can-grab-display? self) - (not (-> *setting-control* current hint)) - ) - (let - ((gp-0 - (new - 'stack - 'font-context - *font-default-matrix* - 32 - 160 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) ) - ) - (let ((v1-26 gp-0)) - (set! (-> v1-26 width) (the float 448)) - ) - (let ((v1-27 gp-0)) - (set! (-> v1-27 height) (the float 80)) - ) - (let ((v1-28 gp-0)) - (set! (-> v1-28 scale) 0.8) - ) - (set! (-> gp-0 flags) (font-flags shadow kerning middle large)) - (print-game-text - (lookup-text! - *common-text* - (game-text-id firecanyon-collect-cells-text) - #f + (level-hint-spawn + (game-text-id firecanyon-not-enough-cells) + "asstvb09" + (the-as entity #f) + *entity-pool* + (game-task none) ) - gp-0 - #f - 128 - 22 - ) ) - ) - (level-hint-spawn - (game-text-id firecanyon-not-enough-cells) - "asstvb09" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -217,611 +144,390 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (let ((gp-0 #t)) - (cond - ((= (current-status (-> self tasks)) (task-status invalid)) - (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-9 (the-as number (logior #x3f800000 v1-8))) + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (get-art-elem self) ) - (when (< (+ -1.0 (the-as float v1-9)) 0.5) - (let ((v1-14 (-> self skel root-channel 0))) - (set! - (-> v1-14 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - ) - (let* ((f30-0 2.0) - (v1-16 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) + (ja-channel-push! 1 15) + ) + (while #t + (let ((gp-0 #t)) + (cond + ((= (current-status (-> self tasks)) (task-status invalid)) + (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-9 (the-as number (logior #x3f800000 v1-8))) + ) + (when (< (+ -1.0 (the-as float v1-9)) 0.5) + (let ((v1-14 (-> self skel root-channel 0))) + (set! (-> v1-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) ) - (v1-17 (the-as number (logior #x3f800000 v1-16))) - ) - (countdown - (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-17)))) 3)) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 frame-group) - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-15 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (set! gp-0 #f) - ) - ) - (when - (or - gp-0 - (let* - ((v1-53 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-54 (the-as number (logior #x3f800000 v1-53))) - ) - (< (+ -1.0 (the-as float v1-54)) 0.5) - ) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - (set! - (-> a0-20 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 9)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! - a0-20 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! - (-> a0-21 param 0) - (the float (+ (-> a0-21 frame-group data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((v1-81 (-> self skel root-channel 0))) - (set! - (-> v1-81 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - ) - (let* ((f30-1 2.0) - (v1-83 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-84 (the-as number (logior #x3f800000 v1-83))) - ) - (countdown - (gp-2 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-84)))) 3)) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - ) - (set! - (-> a0-28 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length + (let* ((f30-0 2.0) + (v1-16 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-17 (the-as number (logior #x3f800000 v1-16))) + ) + (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-17)))) 3)) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) ) - -1 - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! - a0-28 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! - (-> a0-29 param 0) - (the float (+ (-> a0-29 frame-group data 0 length) -1)) - ) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! - a0-29 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (let ((a0-31 (-> self skel root-channel 0))) - (set! - (-> a0-31 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! - (-> a0-31 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 11)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! - a0-31 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! - (-> a0-32 param 0) - (the float (+ (-> a0-32 frame-group data 0 length) -1)) - ) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! - a0-32 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (let* ((v1-140 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-141 (the-as number (logior #x3f800000 v1-140))) - ) - (when (< (+ -1.0 (the-as float v1-141)) 0.25) - (let ((v1-146 (-> self skel root-channel 0))) - (set! - (-> v1-146 frame-group) - (the-as art-joint-anim (-> self draw art-group data 12)) - ) - ) - (let ((a0-39 (-> self skel root-channel 0))) - (set! (-> a0-39 frame-group) (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - ) - (set! - (-> a0-39 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 + (set! (-> a0-15 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! + a0-15 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! ) - ) - ) - (set! (-> a0-39 param 1) 1.0) - (set! (-> a0-39 frame-num) 0.0) - (joint-control-channel-group! - a0-39 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! - (-> a0-40 param 0) - (the float (+ (-> a0-40 frame-group data 0 length) -1)) - ) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! - a0-40 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - ) - (else - (let* ((v1-176 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-177 (the-as number (logior #x3f800000 v1-176))) - ) - (when (< (+ -1.0 (the-as float v1-177)) 0.8) - (let ((v1-182 (-> self skel root-channel 0))) - (set! - (-> v1-182 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - (let* ((f30-2 4.0) - (v1-184 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - (v1-185 (the-as number (logior #x3f800000 v1-184))) - ) - (countdown - (gp-3 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-185)))) 8)) - (let ((a0-49 (-> self skel root-channel 0))) - (set! - (-> a0-49 frame-group) - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-49 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-49 param 1) 1.0) - (set! (-> a0-49 frame-num) 0.0) - (joint-control-channel-group! - a0-49 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-50 (-> self skel root-channel 0))) - (set! - (-> a0-50 param 0) - (the float (+ (-> a0-50 frame-group data 0 length) -1)) - ) - (set! (-> a0-50 param 1) 1.0) - (joint-control-channel-group-eval! - a0-50 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (set! gp-0 #f) - ) - ) - (when - (or - gp-0 - (let* - ((v1-221 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-222 (the-as number (logior #x3f800000 v1-221))) - ) - (< (+ -1.0 (the-as float v1-222)) 0.5) - ) - ) - (let ((a0-54 (-> self skel root-channel 0))) - (set! - (-> a0-54 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-54 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-54 param 1) 1.0) - (set! (-> a0-54 frame-num) 0.0) - (joint-control-channel-group! - a0-54 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-55 (-> self skel root-channel 0))) - (set! - (-> a0-55 param 0) - (the float (+ (-> a0-55 frame-group data 0 length) -1)) - ) - (set! (-> a0-55 param 1) 1.0) - (joint-control-channel-group-eval! - a0-55 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((v1-249 (-> self skel root-channel 0))) - (set! - (-> v1-249 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - ) - (let* ((f30-3 2.0) - (v1-251 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) - ) - (v1-252 (the-as number (logior #x3f800000 v1-251))) + (set! gp-0 #f) ) - (countdown - (gp-4 (+ (the int (* f30-3 (+ -1.0 (the-as float v1-252)))) 3)) - (let ((a0-62 (-> self skel root-channel 0))) - (set! (-> a0-62 frame-group) (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - ) - (set! - (-> a0-62 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) ) - ) - (set! (-> a0-62 param 1) 1.0) - (set! (-> a0-62 frame-num) 0.0) - (joint-control-channel-group! - a0-62 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-63 (-> self skel root-channel 0))) - (set! - (-> a0-63 param 0) - (the float (+ (-> a0-63 frame-group data 0 length) -1)) - ) - (set! (-> a0-63 param 1) 1.0) - (joint-control-channel-group-eval! - a0-63 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (let ((a0-65 (-> self skel root-channel 0))) - (set! - (-> a0-65 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-65 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-65 param 1) 1.0) - (set! (-> a0-65 frame-num) 0.0) - (joint-control-channel-group! - a0-65 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-66 (-> self skel root-channel 0))) - (set! - (-> a0-66 param 0) - (the float (+ (-> a0-66 frame-group data 0 length) -1)) - ) - (set! (-> a0-66 param 1) 1.0) - (joint-control-channel-group-eval! - a0-66 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (let* ((v1-308 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-309 (the-as number (logior #x3f800000 v1-308))) - ) - (when (< (+ -1.0 (the-as float v1-309)) 0.5) - (let ((v1-314 (-> self skel root-channel 0))) - (set! - (-> v1-314 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - ) - (let* ((f30-4 2.0) - (v1-316 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) - ) - (v1-317 (the-as number (logior #x3f800000 v1-316))) - ) - (countdown - (gp-5 (+ (the int (* f30-4 (+ -1.0 (the-as float v1-317)))) 3)) - (let ((a0-75 (-> self skel root-channel 0))) - (set! - (-> a0-75 frame-group) - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-75 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length + (when (or gp-0 (let* ((v1-53 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-54 (the-as number (logior #x3f800000 v1-53))) + ) + (< (+ -1.0 (the-as float v1-54)) 0.5) ) - -1 + ) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + (set! (-> a0-20 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) + ) + (set! (-> a0-20 param 1) 1.0) + (set! (-> a0-20 frame-num) 0.0) + (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) + (set! (-> a0-21 param 1) 1.0) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((v1-81 (-> self skel root-channel 0))) + (set! (-> v1-81 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + ) + (let* ((f30-1 2.0) + (v1-83 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-84 (the-as number (logior #x3f800000 v1-83))) + ) + (countdown (gp-2 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-84)))) 3)) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) ) - ) + (set! (-> a0-28 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-28 param 1) 1.0) + (set! (-> a0-28 frame-num) 0.0) + (joint-control-channel-group! + a0-28 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-29 (-> self skel root-channel 0))) + (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) + (set! (-> a0-29 param 1) 1.0) + (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (let ((a0-31 (-> self skel root-channel 0))) + (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> a0-31 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) + ) + (set! (-> a0-31 param 1) 1.0) + (set! (-> a0-31 frame-num) 0.0) + (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-32 (-> self skel root-channel 0))) + (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) + (set! (-> a0-32 param 1) 1.0) + (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> a0-75 param 1) 1.0) - (set! (-> a0-75 frame-num) 0.0) - (joint-control-channel-group! - a0-75 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! + (let* ((v1-140 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-141 (the-as number (logior #x3f800000 v1-140))) + ) + (when (< (+ -1.0 (the-as float v1-141)) 0.25) + (let ((v1-146 (-> self skel root-channel 0))) + (set! (-> v1-146 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) + ) + (let ((a0-39 (-> self skel root-channel 0))) + (set! (-> a0-39 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-39 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-39 param 1) 1.0) + (set! (-> a0-39 frame-num) 0.0) + (joint-control-channel-group! + a0-39 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-40 (-> self skel root-channel 0))) + (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) + (set! (-> a0-40 param 1) 1.0) + (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-76 (-> self skel root-channel 0))) - (set! - (-> a0-76 param 0) - (the float (+ (-> a0-76 frame-group data 0 length) -1)) - ) - (set! (-> a0-76 param 1) 1.0) - (joint-control-channel-group-eval! - a0-76 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) + (else + (let* ((v1-176 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-177 (the-as number (logior #x3f800000 v1-176))) + ) + (when (< (+ -1.0 (the-as float v1-177)) 0.8) + (let ((v1-182 (-> self skel root-channel 0))) + (set! (-> v1-182 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) + (let* ((f30-2 4.0) + (v1-184 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-185 (the-as number (logior #x3f800000 v1-184))) + ) + (countdown (gp-3 (+ (the int (* f30-2 (+ -1.0 (the-as float v1-185)))) 8)) + (let ((a0-49 (-> self skel root-channel 0))) + (set! (-> a0-49 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-49 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-49 param 1) 1.0) + (set! (-> a0-49 frame-num) 0.0) + (joint-control-channel-group! + a0-49 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-50 (-> self skel root-channel 0))) + (set! (-> a0-50 param 0) (the float (+ (-> a0-50 frame-group data 0 length) -1))) + (set! (-> a0-50 param 1) 1.0) + (joint-control-channel-group-eval! a0-50 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (set! gp-0 #f) + ) + ) + (when (or gp-0 (let* ((v1-221 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-222 (the-as number (logior #x3f800000 v1-221))) + ) + (< (+ -1.0 (the-as float v1-222)) 0.5) + ) + ) + (let ((a0-54 (-> self skel root-channel 0))) + (set! (-> a0-54 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-54 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-54 param 1) 1.0) + (set! (-> a0-54 frame-num) 0.0) + (joint-control-channel-group! a0-54 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-55 (-> self skel root-channel 0))) + (set! (-> a0-55 param 0) (the float (+ (-> a0-55 frame-group data 0 length) -1))) + (set! (-> a0-55 param 1) 1.0) + (joint-control-channel-group-eval! a0-55 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((v1-249 (-> self skel root-channel 0))) + (set! (-> v1-249 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + ) + (let* ((f30-3 2.0) + (v1-251 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-252 (the-as number (logior #x3f800000 v1-251))) + ) + (countdown (gp-4 (+ (the int (* f30-3 (+ -1.0 (the-as float v1-252)))) 3)) + (let ((a0-62 (-> self skel root-channel 0))) + (set! (-> a0-62 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-62 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-62 param 1) 1.0) + (set! (-> a0-62 frame-num) 0.0) + (joint-control-channel-group! + a0-62 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-63 (-> self skel root-channel 0))) + (set! (-> a0-63 param 0) (the float (+ (-> a0-63 frame-group data 0 length) -1))) + (set! (-> a0-63 param 1) 1.0) + (joint-control-channel-group-eval! a0-63 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (let ((a0-65 (-> self skel root-channel 0))) + (set! (-> a0-65 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-65 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-65 param 1) 1.0) + (set! (-> a0-65 frame-num) 0.0) + (joint-control-channel-group! a0-65 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-66 (-> self skel root-channel 0))) + (set! (-> a0-66 param 0) (the float (+ (-> a0-66 frame-group data 0 length) -1))) + (set! (-> a0-66 param 1) 1.0) + (joint-control-channel-group-eval! a0-66 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (let* ((v1-308 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-309 (the-as number (logior #x3f800000 v1-308))) + ) + (when (< (+ -1.0 (the-as float v1-309)) 0.5) + (let ((v1-314 (-> self skel root-channel 0))) + (set! (-> v1-314 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + ) + (let* ((f30-4 2.0) + (v1-316 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-317 (the-as number (logior #x3f800000 v1-316))) + ) + (countdown (gp-5 (+ (the int (* f30-4 (+ -1.0 (the-as float v1-317)))) 3)) + (let ((a0-75 (-> self skel root-channel 0))) + (set! (-> a0-75 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-75 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-75 param 1) 1.0) + (set! (-> a0-75 frame-num) 0.0) + (joint-control-channel-group! + a0-75 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-76 (-> self skel root-channel 0))) + (set! (-> a0-76 param 0) (the float (+ (-> a0-76 frame-group data 0 length) -1))) + (set! (-> a0-76 param 1) 1.0) + (joint-control-channel-group-eval! a0-76 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + ) + ) + ) ) - ) ) - ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 39 of type assistant-firecanyon @@ -831,19 +537,8 @@ ) ;; definition for method 11 of type assistant-firecanyon -(defmethod - init-from-entity! - assistant-firecanyon - ((obj assistant-firecanyon) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *assistant-firecanyon-sg* - 3 - 29 - (new 'static 'vector :w 4096.0) - 5 - ) +(defmethod init-from-entity! assistant-firecanyon ((obj assistant-firecanyon) (arg0 entity-actor)) + (dummy-40 obj arg0 *assistant-firecanyon-sg* 3 29 (new 'static 'vector :w 4096.0) 5) (set! (-> obj tasks) (get-task-control (game-task firecanyon-assistant))) (first-any (-> obj tasks) #t) (dummy-42 obj) diff --git a/test/decompiler/reference/levels/firecanyon/firecanyon-obs_REF.gc b/test/decompiler/reference/levels/firecanyon/firecanyon-obs_REF.gc index af0f7974ca..55cd07459f 100644 --- a/test/decompiler/reference/levels/firecanyon/firecanyon-obs_REF.gc +++ b/test/decompiler/reference/levels/firecanyon/firecanyon-obs_REF.gc @@ -14,221 +14,182 @@ ;; definition for method 3 of type balloon (defmethod inspect balloon ((obj balloon)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 227) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x5dc - :name "group-balloon" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 1006) - (sp-item 1007) - (sp-item 1008) - ) - :bounds (new 'static 'sphere :w 61440.0) - ) - ) +(set! (-> *part-group-id-table* 227) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x5dc + :name "group-balloon" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 1006) (sp-item 1007) (sp-item 1008)) + :bounds (new 'static 'sphere :w 61440.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1007) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 96.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1007) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 96.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1008) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-flt spt-y (meters 2.0)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 96.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.08) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -0.85333335) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1008) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-flt spt-y (meters 2.0)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 96.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.08) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -0.85333335) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 1.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1006) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 2.0)) - (sp-flt spt-scale-x (meters 12.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 80.0) - (sp-flt spt-a 96.0) - (sp-flt spt-fade-a -0.08) - (sp-int spt-timer 15) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1006) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2.0)) + (sp-flt spt-scale-x (meters 12.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 80.0) + (sp-flt spt-a 96.0) + (sp-flt spt-fade-a -0.08) + (sp-int spt-timer 15) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: (defstate balloon-popping (balloon) :code (behavior () - (ja-channel-set! 0) - (clear-collide-with-as (-> self root-override)) - (ja-post) - (sound-play-by-name - (static-sound-name "cool-balloon") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (ja-channel-set! 0) + (clear-collide-with-as (-> self root-override)) + (ja-post) + (sound-play-by-name (static-sound-name "cool-balloon") (new-sound-id) 1024 0 0 1 #t) + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-1 + (let ((t9-6 (method-of-type part-tracker activate))) + (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + part-tracker-init + (-> *part-group-id-table* 227) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-1 ppointer) + ) ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 227) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (suspend) + (dummy-18 self) + (deactivate self) + (none) ) - (suspend) - (dummy-18 self) - (deactivate self) - (none) - ) ) ;; failed to figure out what this is: (defstate balloon-idle (balloon) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack) - (send-event arg0 'heat -10.0) - (go balloon-popping) + (case arg2 + (('attack) + (send-event arg0 'heat -10.0) + (go balloon-popping) + ) ) ) - ) :code (behavior () - (transform-post) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (transform-post) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior balloon) ja-post) ) @@ -236,25 +197,21 @@ ;; definition for method 11 of type balloon ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! balloon ((obj balloon) (arg0 entity-actor)) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core offense) 4) - (set-vector! (-> s3-0 local-sphere) 0.0 8192.0 0.0 8192.0) - (set-root-prim! s4-0 s3-0) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core offense) 4) + (set-vector! (-> s3-0 local-sphere) 0.0 8192.0 0.0 8192.0) + (set-root-prim! s4-0 s3-0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *balloon-sg* '()) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 227) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 227) obj)) (go balloon-idle) (none) ) @@ -273,8 +230,8 @@ ;; definition for method 3 of type spike (defmethod inspect spike ((obj spike)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tnum-alts: ~D~%" (-> obj num-alts)) obj ) @@ -292,284 +249,255 @@ (defstate spike-up (spike) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (if (= v1-0 'go-spike-up) - #t - ) - ) + (let ((v1-0 arg2)) + (the-as object (if (= v1-0 'go-spike-up) + #t + ) + ) + ) ) - ) :trans (behavior () - (when (nonzero? (-> self num-alts)) - (let ((s5-0 (/ (-> self num-alts) 2)) - (gp-0 #t) - ) - (while (< s5-0 (+ (-> self num-alts) -1)) - (let ((v1-2 (entity-actor-lookup (-> self entity) 'alt-actor s5-0))) - (if - (and - v1-2 - (-> v1-2 extra process) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'go-spike-up) - (not (send-event-function (if v1-2 - (-> v1-2 extra process) - ) - a1-1 + (when (nonzero? (-> self num-alts)) + (let ((s5-0 (/ (-> self num-alts) 2)) + (gp-0 #t) + ) + (while (< s5-0 (+ (-> self num-alts) -1)) + (let ((v1-2 (entity-actor-lookup (-> self entity) 'alt-actor s5-0))) + (if (and v1-2 (-> v1-2 extra process) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'go-spike-up) + (not (send-event-function + (if v1-2 + (-> v1-2 extra process) + ) + a1-1 + ) + ) + ) + ) + (set! gp-0 #f) ) - ) + ) + (+! s5-0 1) + ) + (when gp-0 + (set! (-> self num-alts) 0) + 0 ) - ) - (set! gp-0 #f) ) - ) - (+! s5-0 1) ) - (when gp-0 - (set! (-> self num-alts) 0) - 0 - ) - ) + (none) ) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (transform-post) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) + (until (ja-done? 0) + (transform-post) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! + (while #t + (suspend) ) - ) + (none) ) - (while #t - (suspend) - ) - (none) - ) ) ;; failed to figure out what this is: (defstate spike-down (spike) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'go-spike-up) - (go spike-up) - #t - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'go-spike-up) + (go spike-up) + #t + ) + ) + ) ) - ) :trans (behavior () - (when (nonzero? (-> self num-alts)) - (let ((s5-0 0) - (gp-0 #t) - ) - (while (< s5-0 (/ (-> self num-alts) 2)) - (let ((v1-1 (entity-actor-lookup (-> self entity) 'alt-actor s5-0))) - (if - (and - v1-1 - (-> v1-1 extra process) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'go-spike-up) - (not (send-event-function (if v1-1 - (-> v1-1 extra process) - ) - a1-1 + (when (nonzero? (-> self num-alts)) + (let ((s5-0 0) + (gp-0 #t) + ) + (while (< s5-0 (/ (-> self num-alts) 2)) + (let ((v1-1 (entity-actor-lookup (-> self entity) 'alt-actor s5-0))) + (if (and v1-1 (-> v1-1 extra process) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'go-spike-up) + (not (send-event-function + (if v1-1 + (-> v1-1 extra process) + ) + a1-1 + ) + ) + ) + ) + (set! gp-0 #f) ) - ) + ) + (+! s5-0 1) + ) + (when gp-0 + (set! (-> self num-alts) 0) + 0 ) - ) - (set! gp-0 #f) ) - ) - (+! s5-0 1) ) - (when gp-0 - (set! (-> self num-alts) 0) - 0 - ) - ) + (none) ) - (none) - ) :code (behavior () - (transform-post) - (while #t - (suspend) + (transform-post) + (while #t + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate spike-idle (spike) :trans (behavior () - (when (and *target* (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'query) - (set! (-> a1-0 param 0) (the-as uint 'mode)) - (= (send-event-function *target* a1-0) 'racer) - ) - (< - (vector-vector-distance (-> self root-override trans) (target-pos 0)) - 225280.0 - ) - ) - (sound-play-by-name - (static-sound-name "magma-rock") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((v1-8 (entity-actor-count (-> self entity) 'alt-actor))) - 0 - (cond - ((>= 1 v1-8) - (go spike-up) - ) - ((let* ((v1-11 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-12 (the-as number (logior #x3f800000 v1-11))) + (when (and + *target* + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'query) + (set! (-> a1-0 param 0) (the-as uint 'mode)) + (= (send-event-function *target* a1-0) 'racer) ) - (< (+ -1.0 (the-as float v1-12)) 0.5) + (< (vector-vector-distance (-> self root-override trans) (target-pos 0)) 225280.0) + ) + (sound-play-by-name (static-sound-name "magma-rock") (new-sound-id) 1024 0 0 1 #t) + (let ((v1-8 (entity-actor-count (-> self entity) 'alt-actor))) + 0 + (cond + ((>= 1 v1-8) + (go spike-up) + ) + ((let* ((v1-11 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-12 (the-as number (logior #x3f800000 v1-11))) + ) + (< (+ -1.0 (the-as float v1-12)) 0.5) + ) + (go spike-down) + ) + (else + (go spike-up) + ) + ) ) - (go spike-down) - ) - (else - (go spike-up) - ) ) - ) + (none) ) - (none) - ) :code (behavior () - (transform-post) - (while #t - (suspend) + (transform-post) + (while #t + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for method 11 of type spike ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! spike ((obj spike) (arg0 entity-actor)) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 4) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 24576.0 0.0 40960.0) - (set-root-prim! s4-0 s3-0) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 3) - (set-vector! (-> s2-0 local-sphere) 0.0 8192.0 0.0 16384.0) - (append-prim s3-0 s2-0) - ) - (let ((s2-1 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 1)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 3) - (set-vector! (-> s2-1 local-sphere) 0.0 20480.0 0.0 16384.0) - (append-prim s3-0 s2-1) - ) - (let ((s2-2 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-2 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core action) (the-as uint 1)) - (set! (-> s2-2 prim-core offense) 4) - (set! (-> s2-2 transform-index) 3) - (set-vector! (-> s2-2 local-sphere) 0.0 32768.0 0.0 16384.0) - (append-prim s3-0 s2-2) - ) - (let ((s2-3 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-3 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-3 collide-with) (the-as uint 16)) - (set! (-> s2-3 prim-core action) (the-as uint 1)) - (set! (-> s2-3 prim-core offense) 4) - (set! (-> s2-3 transform-index) 3) - (set-vector! (-> s2-3 local-sphere) 0.0 45056.0 0.0 16384.0) - (append-prim s3-0 s2-3) - ) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 4) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 24576.0 0.0 40960.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 3) + (set-vector! (-> s2-0 local-sphere) 0.0 8192.0 0.0 16384.0) + (append-prim s3-0 s2-0) + ) + (let ((s2-1 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 1)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 3) + (set-vector! (-> s2-1 local-sphere) 0.0 20480.0 0.0 16384.0) + (append-prim s3-0 s2-1) + ) + (let ((s2-2 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core action) (the-as uint 1)) + (set! (-> s2-2 prim-core offense) 4) + (set! (-> s2-2 transform-index) 3) + (set-vector! (-> s2-2 local-sphere) 0.0 32768.0 0.0 16384.0) + (append-prim s3-0 s2-2) + ) + (let ((s2-3 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-3 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-3 collide-with) (the-as uint 16)) + (set! (-> s2-3 prim-core action) (the-as uint 1)) + (set! (-> s2-3 prim-core offense) 4) + (set! (-> s2-3 transform-index) 3) + (set-vector! (-> s2-3 local-sphere) 0.0 45056.0 0.0 16384.0) + (append-prim s3-0 s2-3) + ) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *spike-sg* '()) (set! (-> obj draw origin-joint-index) (the-as uint 3)) (set! (-> obj num-alts) (entity-actor-count (-> obj entity) 'alt-actor)) (if (zero? (-> obj num-alts)) - (go spike-down) - (go spike-idle) - ) + (go spike-down) + (go spike-idle) + ) (none) ) @@ -599,292 +527,263 @@ ;; definition for method 3 of type crate-darkeco-cluster (defmethod inspect crate-darkeco-cluster ((obj crate-darkeco-cluster)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 228) - (new 'static 'sparticle-launch-group - :length 69 - :duration #x258 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-dark-cluster-explosion" - :launcher - (new 'static 'inline-array sparticle-group-item 69 - (sp-item 2100 :period 600 :length 5) - (sp-item 2101 :period 600 :length 40) - (sp-item 2102 :period 600 :length 20) - (sp-item 2103 :period 600 :length 20) - (sp-item 2104 :fade-after (meters 100.0) :period 600 :length 5 :binding 296) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 228) + (new 'static 'sparticle-launch-group + :length 69 + :duration #x258 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-dark-cluster-explosion" + :launcher + (new 'static 'inline-array sparticle-group-item 69 + (sp-item 2100 :period 600 :length 5) + (sp-item 2101 :period 600 :length 40) + (sp-item 2102 :period 600 :length 20) + (sp-item 2103 :period 600 :length 20) + (sp-item 2104 :fade-after (meters 100.0) :period 600 :length 5 :binding 296) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2104) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -8192.0 16384.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2104) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -8192.0 16384.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2101) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0) - (sp-flt spt-scalevel-x (meters -0.0026666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 2105) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2101) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0) + (sp-flt spt-scalevel-x (meters -0.0026666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 2105) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2105) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2105) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.0666667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2103) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 3.0) 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 12.0)) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 1.04)) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2103) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 3.0) 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 12.0)) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 1.04)) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2100) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 2.0)) - (sp-flt spt-scale-x (meters 24.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2100) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2.0)) + (sp-flt spt-scale-x (meters 24.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2102) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.04) 1.0) - (sp-flt spt-scalevel-x (meters 0.02)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.28444445) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2102) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.04) 1.0) + (sp-flt spt-scalevel-x (meters 0.02)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.28444445) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: (defstate die (crate-darkeco-cluster) :virtual #t :code (behavior () - (ja-channel-set! 0) - (clear-collide-with-as (-> self root-override)) - (ja-post) - (sound-play-by-name - (static-sound-name "dcrate-break") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (ja-channel-set! 0) + (clear-collide-with-as (-> self root-override)) + (ja-post) + (sound-play-by-name (static-sound-name "dcrate-break") (new-sound-id) 1024 0 0 1 #t) + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-1 + (let ((t9-6 (method-of-type part-tracker activate))) + (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + part-tracker-init + (-> *part-group-id-table* 228) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-1 ppointer) + ) ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 228) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) + (suspend) + (dummy-18 self) + (deactivate self) + (none) ) - (suspend) - (dummy-18 self) - (deactivate self) - (none) - ) ) ;; failed to figure out what this is: @@ -892,67 +791,44 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack 'touch) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-2 mode) 'darkeco) - (set! (-> a1-3 param 1) (the-as uint a2-2)) - ) - (send-event-function arg0 a1-3) + (case arg2 + (('attack 'touch) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'attack) + (set! (-> a1-3 param 0) (-> arg3 param 0)) + (let ((a2-2 (new 'static 'attack-info :mask #x20))) + (set! (-> a2-2 mode) 'darkeco) + (set! (-> a1-3 param 1) (the-as uint a2-2)) + ) + (send-event-function arg0 a1-3) + ) + (go-virtual die) ) - (go-virtual die) ) ) - ) :code - (behavior () - (transform-post) - (logior! (-> self mask) (process-mask sleep)) - (suspend) - 0 - (none) - ) + (behavior () (transform-post) (logior! (-> self mask) (process-mask sleep)) (suspend) 0 (none)) ) ;; definition for method 11 of type crate-darkeco-cluster ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - crate-darkeco-cluster - ((obj crate-darkeco-cluster) (arg0 entity-actor)) - (let - ((s4-0 - (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)) - ) - ) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) +(defmethod init-from-entity! crate-darkeco-cluster ((obj crate-darkeco-cluster) (arg0 entity-actor)) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 128)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 1) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 6553.6 0.0 13516.8) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 128)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 1) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 6553.6 0.0 13516.8) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *crate-darkeco-cluster-sg* '()) (go (method-of-object obj idle)) diff --git a/test/decompiler/reference/levels/firecanyon/firecanyon-part_REF.gc b/test/decompiler/reference/levels/firecanyon/firecanyon-part_REF.gc index 29622201d9..f13f31a21c 100644 --- a/test/decompiler/reference/levels/firecanyon/firecanyon-part_REF.gc +++ b/test/decompiler/reference/levels/firecanyon/firecanyon-part_REF.gc @@ -13,4093 +13,3729 @@ ;; definition for method 3 of type firecanyon-part (defmethod inspect firecanyon-part ((obj firecanyon-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 229) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-1" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1011 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1012 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1013 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1014 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1014 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1014 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1012) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -9.0) (meters 19.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -28672.0 24576.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -165.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1014) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -8.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -24576.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -165.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1013) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.03 0.03 1.0) - (sp-rnd-flt spt-x (meters -8.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -24576.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -165.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1011) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -9.0) (meters 19.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -28672.0 24576.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -165.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 230) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-2" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1017 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1018 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1019 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1020 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1020 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1020 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1018) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -10.0) (meters 19.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -20480.0 49152.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1020) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -9.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -16384.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1019) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -9.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -16384.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1017) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 19.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -20480.0 49152.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 231) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-3" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1021 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1022 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1023 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1024 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1024 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1024 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1022) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -10.5) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -81920.0 147456.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1024) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -9.5) (meters 18.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -77824.0 139264.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.1333333) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1023) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -9.5) (meters 18.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -77824.0 139264.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1021) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.6) - (sp-rnd-flt spt-x (meters -10.5) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -81920.0 147456.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 232) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-5" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1025 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1026 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1027 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1028 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1028 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1028 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds - (new 'static 'sphere :x -8192.0 :z -8192.0 :w 57344.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1028) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -6.0) (meters 13.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -45056.0 69632.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1010) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 6.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters -0.0023333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 360) - (sp-cpuinfo-flags bit0 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1027) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -6.0) (meters 13.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -45056.0 69632.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1009) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0029166667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -1.3653333) - (sp-int-plain-rnd spt-timer 30 179 1) - (sp-cpuinfo-flags bit0 bit3) - (sp-flt spt-rotate-y (degrees 45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1025) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -8.0) (meters 16.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -53248.0 81920.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1016) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -6.826667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1026) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -8.0) (meters 16.0) 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-z -53248.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1015) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 1029) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1029) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r -0.8) - (sp-flt spt-fade-b 0.8) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1030) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1030) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.14222223) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 233) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-6" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1031 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1032 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1033 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1034 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1034 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1034 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds - (new 'static 'sphere :x 8192.0 :z 8192.0 :w 57344.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1034) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -5.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -22528.0 53248.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1032) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -6.0) (meters 19.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -26624.0 61440.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1033) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -5.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -22528.0 53248.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1031) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.3) - (sp-rnd-flt spt-x (meters -6.0) (meters 19.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -26624.0 61440.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 234) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-7" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1035 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1036 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1037 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1038 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1038 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1038 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 57344.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1036) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -6.5) (meters 12.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -6144.0 61440.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -170.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1038) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -5.5) (meters 10.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -2048.0 53248.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -170.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1037) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -5.5) (meters 10.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -2048.0 53248.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -170.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1035) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.1) - (sp-rnd-flt spt-x (meters -6.5) (meters 12.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -6144.0 61440.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -170.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 235) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-8" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1039 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1040 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1041 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1042 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1042 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1042 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 65536.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1040) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -9.5) (meters 14.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -53248.0 114688.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1042) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -8.5) (meters 12.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -49152.0 106496.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1041) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -8.5) (meters 12.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -49152.0 106496.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1039) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.4) - (sp-rnd-flt spt-x (meters -9.5) (meters 14.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -53248.0 114688.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 236) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-9" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1043 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1044 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1045 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1046 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1046 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1046 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 36864.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1044) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.08) - (sp-rnd-flt spt-x (meters -3.5) (meters 7.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -28672.0 61440.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1046) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.6) - (sp-rnd-flt spt-x (meters -2.5) (meters 5.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -24576.0 53248.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1045) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.03 0.03 1.0) - (sp-rnd-flt spt-x (meters -2.5) (meters 5.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -24576.0 53248.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1043) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.6) - (sp-rnd-flt spt-x (meters -3.5) (meters 7.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -28672.0 61440.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 237) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-10" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1047 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1048 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1049 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1050 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1050 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1050 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds - (new 'static 'sphere :x -16384.0 :w 61440.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1048) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -13.5) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -57344.0 90112.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1050) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -12.5) (meters 18.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -53248.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1049) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -12.5) (meters 18.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -53248.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1047) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -13.5) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -57344.0 90112.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 238) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-11" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1051 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1052 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1053 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1054 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1054 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1054 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds - (new 'static 'sphere :x -16384.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1052) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -10.5) (meters 12.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -45056.0 57344.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1054) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -9.5) (meters 10.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -40960.0 49152.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.8000002) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1053) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -9.5) (meters 10.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -40960.0 49152.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1051) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.7) - (sp-rnd-flt spt-x (meters -10.5) (meters 12.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -45056.0 57344.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 239) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-14" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1055 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1056 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1057 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1058 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1058 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1058 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds - (new 'static 'sphere :x -16384.0 :w 61440.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1056) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -17.5) (meters 25.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -49152.0 98304.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1058) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -16.5) (meters 23.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -45056.0 90112.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -4.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1057) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -16.5) (meters 23.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -45056.0 90112.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1055) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -17.5) (meters 25.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -49152.0 98304.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 240) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-15" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1059 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1060 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1061 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1062 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1062 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1062 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds - (new 'static 'sphere :x -16384.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1060) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -10.5) (meters 12.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -45056.0 98304.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1062) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -9.5) (meters 10.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -40960.0 90112.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -5.133333) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1061) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.04 0.04 1.0) - (sp-rnd-flt spt-x (meters -9.5) (meters 10.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -40960.0 90112.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1059) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -10.5) (meters 12.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -45056.0 98304.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 241) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-16" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1063 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1064 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1065 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1066 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1066 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1066 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 57344.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1064) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -9.5) (meters 16.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -49152.0 106496.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -130.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1066) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -8.5) (meters 14.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -45056.0 98304.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -130.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1065) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -8.5) (meters 14.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -45056.0 98304.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -130.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1063) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.1) - (sp-rnd-flt spt-x (meters -9.5) (meters 16.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -49152.0 106496.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -130.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 242) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-18" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1067 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1068 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1069 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1070 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1070 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1070 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds - (new 'static 'sphere :x -16384.0 :z -16384.0 :w 106496.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1068) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -11.0) (meters 24.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -114688.0 172032.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1070) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 22.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -110592.0 163840.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1069) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.07 0.07 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 22.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -110592.0 163840.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1067) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.9) - (sp-rnd-flt spt-x (meters -11.0) (meters 24.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -114688.0 172032.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 243) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-19" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1071 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1072 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1073 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1074 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1074 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1074 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1072) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.3) - (sp-rnd-flt spt-x (meters -10.0) (meters 23.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -73728.0 114688.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1074) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -9.0) (meters 21.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -69632.0 106496.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1073) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -9.0) (meters 21.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -69632.0 106496.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1071) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.4) - (sp-rnd-flt spt-x (meters -10.0) (meters 23.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -73728.0 114688.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -55.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 244) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-21" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1075 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1076 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1077 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1078 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1078 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1078 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds - (new 'static 'sphere :x -16384.0 :z 16384.0 :w 90112.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1076) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.17) - (sp-rnd-flt spt-x (meters -23.0) (meters 32.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -20480.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1078) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.8) - (sp-rnd-flt spt-x (meters -22.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -16384.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1077) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.03 0.03 1.0) - (sp-rnd-flt spt-x (meters -22.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -16384.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1075) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.7) - (sp-rnd-flt spt-x (meters -23.0) (meters 32.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -20480.0 16384.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 245) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-22" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1079 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1080 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1081 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1082 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1082 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1082 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1080) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -7.0) (meters 25.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -16384.0 24576.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees -120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1082) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -6.0) (meters 23.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -12288.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1081) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -6.0) (meters 23.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -12288.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1079) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -7.0) (meters 25.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -16384.0 24576.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees -120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 246) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-60" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1083 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1084 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1085 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1086 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1086 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1086 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1084) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -11.0) (meters 21.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -69632.0 122880.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 50.000004)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1086) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.3) - (sp-rnd-flt spt-x (meters -10.0) (meters 19.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -65536.0 114688.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 50.000004)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1085) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 19.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -65536.0 114688.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees 50.000004)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1083) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -11.0) (meters 21.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -69632.0 122880.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 50.000004)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 247) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-62" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1087 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1088 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1089 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1090 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1090 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1090 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1088) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -9.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -32768.0 57344.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 100.00001)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1090) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -8.0) (meters 15.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -28672.0 49152.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 100.00001)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1089) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.04 0.04 1.0) - (sp-rnd-flt spt-x (meters -8.0) (meters 15.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -28672.0 49152.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees 100.00001)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1087) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.7) - (sp-rnd-flt spt-x (meters -9.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -32768.0 57344.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 100.00001)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 248) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-63" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1091 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1092 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1093 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1094 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1094 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1094 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1092) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -8.0) (meters 12.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -40960.0 65536.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1094) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -7.0) (meters 10.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -32768.0 57344.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1093) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.04 0.04 1.0) - (sp-rnd-flt spt-x (meters -7.0) (meters 10.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -32768.0 57344.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1091) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.7) - (sp-rnd-flt spt-x (meters -8.0) (meters 12.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -40960.0 65536.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 249) - (new 'static 'sparticle-launch-group - :length 11 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-lava-64" - :launcher - (new 'static 'inline-array sparticle-group-item 11 - (sp-item 1095 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1096 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1097 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1009 :flags (start-dead)) - (sp-item 1098 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) - (sp-item 1098 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) - (sp-item 1098 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) - (sp-item 1010 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1096) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -3.0) (meters 10.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -20480.0 36864.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1098) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.6) - (sp-rnd-flt spt-x (meters -2.0) (meters 8.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -16384.0 28672.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1097) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.02 0.02 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 8.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -16384.0 28672.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1095) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -3.0) (meters 10.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -20480.0 36864.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 3686.4) - (sp-flt spt-b 4096.0) - (sp-flt spt-vel-y (meters 0.016666668)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 250) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-44" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1099 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1100 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1100) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters 0.0) (meters 14.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -65536.0 73728.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1099) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.25) - (sp-rnd-flt spt-x (meters 0.0) (meters 14.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -65536.0 73728.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 251) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-45" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1101 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1102 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1102) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters 0.0) (meters 12.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -16384.0 65536.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1101) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 12.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -16384.0 65536.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 252) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-46" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1103 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1104 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1104) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -3.0) (meters 5.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z 0.0 57344.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 5.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1103) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -3.0) (meters 5.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z 0.0 57344.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 5.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 253) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-47" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1105 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1106 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1106) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.08) - (sp-rnd-flt spt-x (meters 2.0) (meters 5.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -49152.0 57344.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 5.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1105) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters 2.0) (meters 5.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -49152.0 57344.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 5.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 254) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-48" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1107 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1108 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1108) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -13.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -77824.0 94208.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1107) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters -13.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -77824.0 94208.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 255) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-50" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1109 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1110 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 57344.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1110) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -6.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z 0.0 73728.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 20.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1109) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.7) - (sp-rnd-flt spt-x (meters -6.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z 0.0 73728.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 20.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 256) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-52" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1111 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1112 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1112) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -12.0) (meters 18.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -49152.0 65536.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1111) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-x (meters -12.0) (meters 18.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -49152.0 65536.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 257) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-53" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1113 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1114 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1114) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -10.0) (meters 18.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -12288.0 65536.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1113) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-x (meters -10.0) (meters 18.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -12288.0 65536.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 258) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-54" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1115 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1116 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1116) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.3) - (sp-rnd-flt spt-x (meters -10.0) (meters 13.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -73728.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 155.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1115) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -10.0) (meters 13.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -73728.0 81920.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 155.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 259) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-55" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1117 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1118 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1118) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.35) - (sp-rnd-flt spt-x (meters -3.0) (meters 10.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -12288.0 131072.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 155.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1117) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.9) - (sp-rnd-flt spt-x (meters -3.0) (meters 10.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -12288.0 131072.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 155.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 260) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-56" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1119 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1120 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1120) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -7.0) (meters 16.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -32768.0 61440.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 256.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.21333334) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1119) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -7.0) (meters 16.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -32768.0 61440.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 261) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-57" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1121 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1122 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1122) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -6.0) (meters 8.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -8192.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1121) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-x (meters -6.0) (meters 8.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -8192.0 81920.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 262) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-58" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1123 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1124 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1124) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -1.0) (meters 8.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -73728.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 170.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1123) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-x (meters -1.0) (meters 8.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -73728.0 81920.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 170.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 263) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-firecanyon-heat-59" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1125 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1126 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1126) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -16384.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1015) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1125) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -16384.0 81920.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1016) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-group-id-table* 229) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-1" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1011 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1012 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1013 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1014 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1014 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1014 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1012) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -9.0) (meters 19.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -28672.0 24576.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -165.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1014) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -8.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -24576.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -165.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1013) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.03 0.03 1.0) + (sp-rnd-flt spt-x (meters -8.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -24576.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -165.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1011) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -9.0) (meters 19.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -28672.0 24576.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -165.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 230) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-2" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1017 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1018 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1019 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1020 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1020 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1020 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1018) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -10.0) (meters 19.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -20480.0 49152.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1020) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -9.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -16384.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1019) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -9.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -16384.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1017) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 19.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -20480.0 49152.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 231) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-3" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1021 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1022 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1023 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1024 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1024 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1024 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1022) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -10.5) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -81920.0 147456.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1024) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -9.5) (meters 18.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -77824.0 139264.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.1333333) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1023) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -9.5) (meters 18.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -77824.0 139264.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1021) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.6) + (sp-rnd-flt spt-x (meters -10.5) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -81920.0 147456.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 232) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-5" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1025 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1026 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1027 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1028 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1028 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1028 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds + (new 'static 'sphere :x -8192.0 :z -8192.0 :w 57344.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1028) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -6.0) (meters 13.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -45056.0 69632.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1010) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 6.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters -0.0023333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 360) + (sp-cpuinfo-flags bit0 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1027) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -6.0) (meters 13.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -45056.0 69632.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1009) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0029166667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -1.3653333) + (sp-int-plain-rnd spt-timer 30 179 1) + (sp-cpuinfo-flags bit0 bit3) + (sp-flt spt-rotate-y (degrees 45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1025) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -8.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -53248.0 81920.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1016) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -6.826667) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1026) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -8.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-z -53248.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1015) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 1029) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1029) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r -0.8) + (sp-flt spt-fade-b 0.8) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1030) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1030) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.14222223) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 233) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-6" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1031 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1032 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1033 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1034 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1034 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1034 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds + (new 'static 'sphere :x 8192.0 :z 8192.0 :w 57344.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1034) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -5.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -22528.0 53248.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1032) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -6.0) (meters 19.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -26624.0 61440.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1033) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -5.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -22528.0 53248.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1031) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.3) + (sp-rnd-flt spt-x (meters -6.0) (meters 19.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -26624.0 61440.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 234) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-7" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1035 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1036 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1037 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1038 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1038 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1038 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 57344.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1036) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -6.5) (meters 12.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -6144.0 61440.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -170.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1038) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -5.5) (meters 10.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -2048.0 53248.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -170.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1037) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -5.5) (meters 10.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -2048.0 53248.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -170.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1035) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.1) + (sp-rnd-flt spt-x (meters -6.5) (meters 12.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -6144.0 61440.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -170.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 235) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-8" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1039 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1040 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1041 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1042 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1042 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1042 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 65536.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1040) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -9.5) (meters 14.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -53248.0 114688.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1042) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -8.5) (meters 12.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -49152.0 106496.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1041) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -8.5) (meters 12.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -49152.0 106496.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1039) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.4) + (sp-rnd-flt spt-x (meters -9.5) (meters 14.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -53248.0 114688.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 236) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-9" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1043 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1044 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1045 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1046 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1046 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1046 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 36864.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1044) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.08) + (sp-rnd-flt spt-x (meters -3.5) (meters 7.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -28672.0 61440.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1046) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.6) + (sp-rnd-flt spt-x (meters -2.5) (meters 5.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -24576.0 53248.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1045) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.03 0.03 1.0) + (sp-rnd-flt spt-x (meters -2.5) (meters 5.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -24576.0 53248.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1043) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.6) + (sp-rnd-flt spt-x (meters -3.5) (meters 7.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -28672.0 61440.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 237) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-10" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1047 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1048 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1049 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1050 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1050 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1050 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds + (new 'static 'sphere :x -16384.0 :w 61440.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1048) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -13.5) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -57344.0 90112.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1050) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -12.5) (meters 18.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -53248.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1049) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -12.5) (meters 18.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -53248.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1047) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -13.5) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -57344.0 90112.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 238) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-11" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1051 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1052 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1053 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1054 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1054 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1054 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds + (new 'static 'sphere :x -16384.0 :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1052) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -10.5) (meters 12.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -45056.0 57344.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1054) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -9.5) (meters 10.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -40960.0 49152.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.8000002) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1053) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -9.5) (meters 10.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -40960.0 49152.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1051) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.7) + (sp-rnd-flt spt-x (meters -10.5) (meters 12.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -45056.0 57344.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 239) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-14" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1055 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1056 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1057 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1058 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1058 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1058 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds + (new 'static 'sphere :x -16384.0 :w 61440.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1056) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -17.5) (meters 25.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -49152.0 98304.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1058) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -16.5) (meters 23.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -45056.0 90112.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -4.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1057) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -16.5) (meters 23.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -45056.0 90112.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1055) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -17.5) (meters 25.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -49152.0 98304.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 240) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-15" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1059 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1060 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1061 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1062 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1062 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1062 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds + (new 'static 'sphere :x -16384.0 :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1060) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -10.5) (meters 12.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -45056.0 98304.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1062) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -9.5) (meters 10.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -40960.0 90112.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -5.133333) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1061) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.04 0.04 1.0) + (sp-rnd-flt spt-x (meters -9.5) (meters 10.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -40960.0 90112.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1059) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -10.5) (meters 12.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -45056.0 98304.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 241) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-16" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1063 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1064 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1065 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1066 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1066 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1066 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 57344.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1064) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -9.5) (meters 16.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -49152.0 106496.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -130.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1066) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -8.5) (meters 14.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -45056.0 98304.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.4666667) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -130.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1065) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -8.5) (meters 14.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -45056.0 98304.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -130.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1063) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.1) + (sp-rnd-flt spt-x (meters -9.5) (meters 16.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -49152.0 106496.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -130.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 242) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-18" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1067 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1068 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1069 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1070 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1070 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1070 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds + (new 'static 'sphere :x -16384.0 :z -16384.0 :w 106496.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1068) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -11.0) (meters 24.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -114688.0 172032.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1070) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 22.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -110592.0 163840.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1069) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.07 0.07 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 22.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -110592.0 163840.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1067) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.9) + (sp-rnd-flt spt-x (meters -11.0) (meters 24.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -114688.0 172032.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 243) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-19" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1071 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1072 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1073 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1074 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1074 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1074 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1072) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.3) + (sp-rnd-flt spt-x (meters -10.0) (meters 23.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -73728.0 114688.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1074) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -9.0) (meters 21.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -69632.0 106496.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1073) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -9.0) (meters 21.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -69632.0 106496.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1071) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.4) + (sp-rnd-flt spt-x (meters -10.0) (meters 23.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -73728.0 114688.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -55.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 244) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-21" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1075 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1076 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1077 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1078 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1078 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1078 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds + (new 'static 'sphere :x -16384.0 :z 16384.0 :w 90112.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1076) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.17) + (sp-rnd-flt spt-x (meters -23.0) (meters 32.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -20480.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1078) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.8) + (sp-rnd-flt spt-x (meters -22.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -16384.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1077) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.03 0.03 1.0) + (sp-rnd-flt spt-x (meters -22.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -16384.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1075) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.7) + (sp-rnd-flt spt-x (meters -23.0) (meters 32.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -20480.0 16384.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 245) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-22" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1079 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1080 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1081 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1082 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1082 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1082 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1080) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -7.0) (meters 25.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -16384.0 24576.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees -120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1082) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -6.0) (meters 23.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -12288.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1081) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -6.0) (meters 23.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -12288.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1079) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -7.0) (meters 25.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -16384.0 24576.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees -120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 246) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-60" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1083 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1084 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1085 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1086 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1086 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1086 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1084) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -11.0) (meters 21.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -69632.0 122880.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 50.000004)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1086) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.3) + (sp-rnd-flt spt-x (meters -10.0) (meters 19.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -65536.0 114688.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 50.000004)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1085) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 19.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -65536.0 114688.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 50.000004)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1083) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -11.0) (meters 21.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -69632.0 122880.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 50.000004)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 247) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-62" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1087 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1088 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1089 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1090 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1090 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1090 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1088) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -9.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -32768.0 57344.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 100.00001)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1090) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -8.0) (meters 15.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -28672.0 49152.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 100.00001)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1089) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.04 0.04 1.0) + (sp-rnd-flt spt-x (meters -8.0) (meters 15.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -28672.0 49152.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 100.00001)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1087) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.7) + (sp-rnd-flt spt-x (meters -9.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -32768.0 57344.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 100.00001)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 248) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-63" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1091 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1092 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1093 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1094 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1094 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1094 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1092) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -8.0) (meters 12.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -40960.0 65536.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1094) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -7.0) (meters 10.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -32768.0 57344.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1093) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.04 0.04 1.0) + (sp-rnd-flt spt-x (meters -7.0) (meters 10.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -32768.0 57344.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1091) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.7) + (sp-rnd-flt spt-x (meters -8.0) (meters 12.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -40960.0 65536.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 249) + (new 'static 'sparticle-launch-group + :length 11 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-lava-64" + :launcher + (new 'static 'inline-array sparticle-group-item 11 + (sp-item 1095 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1096 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1097 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 1009) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1009 :flags (start-dead)) + (sp-item 1098 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 137 :length 5 :binding 1010) + (sp-item 1098 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 234 :length 5 :binding 1010) + (sp-item 1098 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 92 :length 5 :binding 1010) + (sp-item 1010 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1096) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -3.0) (meters 10.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -20480.0 36864.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1098) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.6) + (sp-rnd-flt spt-x (meters -2.0) (meters 8.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -16384.0 28672.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1097) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.02 0.02 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 8.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -16384.0 28672.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1095) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -3.0) (meters 10.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -20480.0 36864.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 3686.4) + (sp-flt spt-b 4096.0) + (sp-flt spt-vel-y (meters 0.016666668)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 250) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-44" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1099 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1100 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1100) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters 0.0) (meters 14.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -65536.0 73728.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1099) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.25) + (sp-rnd-flt spt-x (meters 0.0) (meters 14.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -65536.0 73728.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 251) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-45" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1101 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1102 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1102) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters 0.0) (meters 12.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -16384.0 65536.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1101) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 12.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -16384.0 65536.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 252) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-46" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1103 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1104 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1104) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -3.0) (meters 5.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z 0.0 57344.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 5.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1103) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -3.0) (meters 5.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z 0.0 57344.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 5.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 253) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-47" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1105 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1106 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1106) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.08) + (sp-rnd-flt spt-x (meters 2.0) (meters 5.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -49152.0 57344.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 5.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1105) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters 2.0) (meters 5.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -49152.0 57344.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 5.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 254) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-48" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1107 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1108 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1108) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -13.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -77824.0 94208.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1107) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters -13.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -77824.0 94208.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 255) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-50" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1109 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1110 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 57344.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1110) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -6.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z 0.0 73728.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 20.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1109) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.7) + (sp-rnd-flt spt-x (meters -6.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z 0.0 73728.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 20.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 256) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-52" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1111 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1112 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1112) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -12.0) (meters 18.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -49152.0 65536.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1111) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-x (meters -12.0) (meters 18.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -49152.0 65536.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 257) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-53" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1113 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1114 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1114) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -10.0) (meters 18.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -12288.0 65536.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1113) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-x (meters -10.0) (meters 18.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -12288.0 65536.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 258) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-54" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1115 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1116 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1116) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.3) + (sp-rnd-flt spt-x (meters -10.0) (meters 13.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -73728.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 155.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1115) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -10.0) (meters 13.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -73728.0 81920.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 155.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 259) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-55" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1117 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1118 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1118) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.35) + (sp-rnd-flt spt-x (meters -3.0) (meters 10.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -12288.0 131072.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 155.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1117) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.9) + (sp-rnd-flt spt-x (meters -3.0) (meters 10.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -12288.0 131072.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 155.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 260) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-56" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1119 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1120 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1120) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -7.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -32768.0 61440.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 256.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.21333334) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1119) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -7.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -32768.0 61440.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 261) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-57" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1121 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1122 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1122) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -6.0) (meters 8.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -8192.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1121) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-x (meters -6.0) (meters 8.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -8192.0 81920.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 262) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-58" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1123 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1124 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1124) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -1.0) (meters 8.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -73728.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 170.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1123) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-x (meters -1.0) (meters 8.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -73728.0 81920.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 170.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 263) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-firecanyon-heat-59" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1125 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1126 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1126) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -16384.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1015) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1125) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -16384.0 81920.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1016) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/flut_common/flut-part_REF.gc b/test/decompiler/reference/levels/flut_common/flut-part_REF.gc index 576b99d9ae..4c7b870b91 100644 --- a/test/decompiler/reference/levels/flut_common/flut-part_REF.gc +++ b/test/decompiler/reference/levels/flut_common/flut-part_REF.gc @@ -2,178 +2,163 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 120) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :name "group-flut-trans-pad" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 746 :fade-after (meters 160.0)) - (sp-item 747 :fade-after (meters 160.0)) - (sp-item 748 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 120) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :name "group-flut-trans-pad" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 746 :fade-after (meters 160.0)) + (sp-item 747 :fade-after (meters 160.0)) + (sp-item 748 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (is-3d)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 746) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters 7.0)) - (sp-rnd-flt spt-scale-x (meters 14.0) (meters 1.0) 1.0) - (sp-flt spt-scale-y (meters 14.0)) - (sp-flt spt-r 40.0) - (sp-rnd-flt spt-g 60.0 60.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 746) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters 7.0)) + (sp-rnd-flt spt-scale-x (meters 14.0) (meters 1.0) 1.0) + (sp-flt spt-scale-y (meters 14.0)) + (sp-flt spt-r 40.0) + (sp-rnd-flt spt-g 60.0 60.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 747) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters 4.0)) - (sp-rnd-flt spt-scale-x (meters 7.0) (meters 1.0) 1.0) - (sp-flt spt-scale-y (meters 14.0)) - (sp-flt spt-r 40.0) - (sp-rnd-flt spt-g 60.0 60.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-fade-a -8.533334) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 747) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters 4.0)) + (sp-rnd-flt spt-scale-x (meters 7.0) (meters 1.0) 1.0) + (sp-flt spt-scale-y (meters 14.0)) + (sp-flt spt-r 40.0) + (sp-rnd-flt spt-g 60.0 60.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-fade-a -8.533334) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 748) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) - (sp-flt spt-scale-x (meters 0.0)) - (sp-rnd-flt spt-rot-x 0.0 2730.6667 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 16.0) - (sp-rnd-flt spt-g 0.0 127.0 1.0) - (sp-flt spt-b 127.0) - (sp-flt spt-a 127.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.02)) - (sp-rnd-flt spt-rotvel-y (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -0.6144) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 748) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) + (sp-flt spt-scale-x (meters 0.0)) + (sp-rnd-flt spt-rot-x 0.0 2730.6667 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 16.0) + (sp-rnd-flt spt-g 0.0 127.0 1.0) + (sp-flt spt-b 127.0) + (sp-flt spt-a 127.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.02)) + (sp-rnd-flt spt-rotvel-y (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -0.6144) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 121) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xa - :linger-duration #x1c2 - :name "group-flut-attack-strike-ground" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 749) - (sp-item 750) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 121) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xa + :linger-duration #x1c2 + :name "group-flut-attack-strike-ground" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 749) (sp-item 750)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 749) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 24.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 8.0 56.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.13333334) (meters 0.16666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -1.4222223) - (sp-flt spt-fade-a -0.35555556) - (sp-flt spt-accel-y 0.34133333) - (sp-flt spt-friction 0.7) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 751) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 749) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 24.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 8.0 56.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.13333334) (meters 0.16666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -1.4222223) + (sp-flt spt-fade-a -0.35555556) + (sp-flt spt-accel-y 0.34133333) + (sp-flt spt-friction 0.7) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 751) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 750) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 32.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 8.0 1.0) - (sp-flt spt-vel-y (meters 0.3)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.8444445) - (sp-flt spt-fade-a -0.82222223) - (sp-flt spt-friction 0.7) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 45) - (sp-launcher-by-id spt-next-launcher 751) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 750) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 32.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 8.0 1.0) + (sp-flt spt-vel-y (meters 0.3)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.8444445) + (sp-flt spt-fade-a -0.82222223) + (sp-flt spt-friction 0.7) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 45) + (sp-launcher-by-id spt-next-launcher 751) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/flut_common/flutflut_REF.gc b/test/decompiler/reference/levels/flut_common/flutflut_REF.gc index 9bd8d0bf37..7c34c57306 100644 --- a/test/decompiler/reference/levels/flut_common/flutflut_REF.gc +++ b/test/decompiler/reference/levels/flut_common/flutflut_REF.gc @@ -3,8 +3,8 @@ ;; failed to figure out what this is: (if (not (nmember "flutp" *kernel-packages*)) - (set! *kernel-packages* (cons "flutp" *kernel-packages*)) - ) + (set! *kernel-packages* (cons "flutp" *kernel-packages*)) + ) ;; definition of type flutflut (deftype flutflut (process-drawable) @@ -35,8 +35,8 @@ ;; definition for method 3 of type flutflut (defmethod inspect flutflut ((obj flutflut)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Textra-trans: ~`vector`P~%" (-> obj extra-trans)) (format #t "~T~Tcondition: ~D~%" (-> obj condition)) (format #t "~T~Tauto-get-off: ~A~%" (-> obj auto-get-off)) @@ -52,27 +52,25 @@ ;; INFO: Return type mismatch process-drawable vs flutflut. (defmethod relocate flutflut ((obj flutflut) (arg0 int)) (countdown (v1-0 2) - (if (-> obj path-data v1-0) - (&+! (-> obj path-data v1-0) arg0) + (if (-> obj path-data v1-0) + (&+! (-> obj path-data v1-0) arg0) + ) ) - ) (the-as flutflut ((method-of-type process-drawable relocate) obj arg0)) ) ;; definition for symbol *flutflut-shadow-control*, type shadow-control (define *flutflut-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 -2867.2) - ) - ) + (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 -2867.2) + ) + ) ) ;; failed to figure out what this is: @@ -100,150 +98,109 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'trans) - (vector+! - (the-as vector (-> arg3 param 0)) - (-> self root-override trans) - (-> self extra-trans) - ) - ) - ((= v1-0 'notify) - (let ((v0-1 (the-as structure #t))) - (set! (-> self auto-get-off) (the-as symbol v0-1)) - v0-1 - ) - ) - ((or (= v1-0 'touch) (= v1-0 'attack)) - (set! - (-> self touch-time) - (the-as uint (-> *display* base-frame-counter)) - ) - #f - ) - ) - ) + (let ((v1-0 arg2)) + (the-as + object + (cond + ((= v1-0 'trans) + (vector+! (the-as vector (-> arg3 param 0)) (-> self root-override trans) (-> self extra-trans)) + ) + ((= v1-0 'notify) + (let ((v0-1 (the-as structure #t))) + (set! (-> self auto-get-off) (the-as symbol v0-1)) + v0-1 + ) + ) + ((or (= v1-0 'touch) (= v1-0 'attack)) + (set! (-> self touch-time) (the-as uint (-> *display* base-frame-counter))) + #f + ) + ) + ) + ) ) - ) :exit (behavior () - (set! (-> self root-override root-prim prim-core action) (the-as uint 0)) - (set! (-> self root-override root-prim prim-core offense) 0) - 0 - (none) - ) + (set! (-> self root-override root-prim prim-core action) (the-as uint 0)) + (set! (-> self root-override root-prim prim-core offense) 0) + 0 + (none) + ) :code (behavior () - (while #t - (let ((v1-0 (-> self condition))) - (cond - ((or (zero? v1-0) (= v1-0 1)) - (if - (or - (and - (task-complete? *game-info* (game-task beach-flutflut)) - (or - (and - (zero? (-> self condition)) - (task-closed? - (game-task village2-levitator) - (task-status need-hint) - ) - ) - (and - (= (-> self condition) 1) - (task-closed? (game-task village3-button) (task-status need-hint)) - ) + (while #t + (let ((v1-0 (-> self condition))) + (cond + ((or (zero? v1-0) (= v1-0 1)) + (if (or + (and + (task-complete? *game-info* (game-task beach-flutflut)) + (or + (and (zero? (-> self condition)) (task-closed? (game-task village2-levitator) (task-status need-hint))) + (and (= (-> self condition) 1) (task-closed? (game-task village3-button) (task-status need-hint))) + ) + ) + (and *cheat-mode* (cpad-hold? 0 l3)) + (and *target* (logtest? (-> *target* control root-prim prim-core action) #x4000)) + ) + (goto cfg-75) + ) ) - ) - (and *cheat-mode* (cpad-hold? 0 l3)) - (and - *target* - (logtest? (-> *target* control root-prim prim-core action) #x4000) - ) - ) - (goto cfg-75) - ) - ) - ((= v1-0 4) - (if - (and - *target* - (logtest? (-> *target* control root-prim prim-core action) #x4000) - ) - (goto cfg-75) - ) - ) - ((= v1-0 3) - (cond - ((and - (task-complete? *game-info* (-> self entity extra perm task)) - (not (handle->process (-> self cell))) - ) - (when (and (-> self auto-get-off) (send-event *target* 'end-mode)) - (set! (-> self auto-get-off) #f) - (go-virtual pickup (method-of-object self idle)) - ) - (set! (-> self auto-get-off) #f) - (if (= (-> self condition) 3) - (goto cfg-75) - ) - (if - (and - *target* - (logtest? (-> *target* control root-prim prim-core action) #x4000) - (< - (- - (-> *display* base-frame-counter) - (the-as int (-> self touch-time)) - ) - 15 - ) + ((= v1-0 4) + (if (and *target* (logtest? (-> *target* control root-prim prim-core action) #x4000)) + (goto cfg-75) + ) ) - (go-virtual pickup (method-of-object self idle)) - ) - ) - ((not (handle->process (-> self cell))) - (set! - (-> self cell) - (ppointer->handle - (birth-pickup-at-point - (vector+! - (new 'stack-no-clear 'vector) - (-> self root-override trans) - (new 'static 'vector :y 8192.0 :w 1.0) + ((= v1-0 3) + (cond + ((and (task-complete? *game-info* (-> self entity extra perm task)) (not (handle->process (-> self cell)))) + (when (and (-> self auto-get-off) (send-event *target* 'end-mode)) + (set! (-> self auto-get-off) #f) + (go-virtual pickup (method-of-object self idle)) + ) + (set! (-> self auto-get-off) #f) + (if (= (-> self condition) 3) + (goto cfg-75) + ) + (if (and + *target* + (logtest? (-> *target* control root-prim prim-core action) #x4000) + (< (- (-> *display* base-frame-counter) (the-as int (-> self touch-time))) 15) + ) + (go-virtual pickup (method-of-object self idle)) + ) + ) + ((not (handle->process (-> self cell))) + (set! (-> self cell) + (ppointer->handle + (birth-pickup-at-point + (vector+! (new 'stack-no-clear 'vector) (-> self root-override trans) (new 'static 'vector :y 8192.0 :w 1.0)) + (pickup-type fuel-cell) + (the float (-> self entity extra perm task)) + #f + self + (-> self fact) + ) + ) + ) + ) ) - (pickup-type fuel-cell) - (the float (-> self entity extra perm task)) - #f - self - (-> self fact) - ) ) + (else + (goto cfg-75) + ) ) - ) ) - ) - (else - (goto cfg-75) - ) + (flutflut-effect) + (suspend) ) - ) - (flutflut-effect) - (suspend) + (label cfg-75) + (if (and *target* (logtest? (-> *target* control root-prim prim-core action) #x4000)) + (go-virtual wait-for-return) + (go-virtual idle) + ) + (none) ) - (label cfg-75) - (if - (and - *target* - (logtest? (-> *target* control root-prim prim-core action) #x4000) - ) - (go-virtual wait-for-return) - (go-virtual idle) - ) - (none) - ) ) ;; failed to figure out what this is: @@ -253,124 +210,72 @@ (-> (method-of-type flutflut wait-for-start) event) :enter (behavior () - (blocking-plane-destroy) - (blocking-plane-spawn (the-as curve-control (-> self path-target))) - (none) - ) + (blocking-plane-destroy) + (blocking-plane-spawn (the-as curve-control (-> self path-target))) + (none) + ) :exit (-> (method-of-type flutflut wait-for-start) exit) :code (behavior () - (ja-channel-set! 1) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - (set! (-> self root-override root-prim prim-core action) (the-as uint 2049)) - (set! (-> self root-override root-prim prim-core offense) 4) - (while #t - (if - (and - *target* - (logtest? (-> *target* control root-prim prim-core action) #x4000) + (ja-channel-set! 1) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) ) - (go-virtual wait-for-return) - ) - (when (logtest? (-> self draw status) 8) - (if - (and - *target* - (>= - 40960.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - (level-hint-spawn - (game-text-id flutflut-reminder) - "sksp0160" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ) - (when - (and - (and - *target* - (>= - 20480.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - (not (movie?)) - (not (level-hint-displayed?)) - (!= (-> self condition) 4) - ) - (hide-hud) - (level-hint-surpress!) - (kill-current-level-hint '() '(sidekick voicebox) 'exit) - (when - (and (hud-hidden?) (can-grab-display? (the-as process-taskable self))) - (let - ((gp-0 - (new - 'stack - 'font-context - *font-default-matrix* - 32 - 160 - 0.0 - (font-color default) - (font-flags shadow kerning) + (set! (-> self root-override root-prim prim-core action) (the-as uint 2049)) + (set! (-> self root-override root-prim prim-core offense) 4) + (while #t + (if (and *target* (logtest? (-> *target* control root-prim prim-core action) #x4000)) + (go-virtual wait-for-return) ) - ) + (when (logtest? (-> self draw status) 8) + (if (and *target* (>= 40960.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + (level-hint-spawn + (game-text-id flutflut-reminder) + "sksp0160" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) ) - (let ((v1-34 gp-0)) - (set! (-> v1-34 width) (the float 440)) + (when (and + (and *target* (>= 20480.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + (not (movie?)) + (not (level-hint-displayed?)) + (!= (-> self condition) 4) + ) + (hide-hud) + (level-hint-surpress!) + (kill-current-level-hint '() '(sidekick voicebox) 'exit) + (when (and (hud-hidden?) (can-grab-display? (the-as process-taskable self))) + (let ((gp-0 + (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-34 gp-0)) + (set! (-> v1-34 width) (the float 440)) + ) + (let ((v1-35 gp-0)) + (set! (-> v1-35 height) (the float 80)) + ) + (set! (-> gp-0 flags) (font-flags shadow kerning large)) + (print-game-text (lookup-text! *common-text* (game-text-id press-to-use) #f) gp-0 #f 128 22) + ) + (if (and (cpad-pressed? 0 circle) (send-event *target* 'change-mode 'flut self)) + (go-virtual pickup (method-of-object self wait-for-return)) + ) + ) ) - (let ((v1-35 gp-0)) - (set! (-> v1-35 height) (the float 80)) + (flutflut-effect) + (suspend) + (let ((a0-26 (-> self skel root-channel 0))) + (set! (-> a0-26 param 0) 1.0) + (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-loop!) ) - (set! (-> gp-0 flags) (font-flags shadow kerning large)) - (print-game-text - (lookup-text! *common-text* (game-text-id press-to-use) #f) - gp-0 - #f - 128 - 22 - ) - ) - (if - (and - (cpad-pressed? 0 circle) - (send-event *target* 'change-mode 'flut self) - ) - (go-virtual pickup (method-of-object self wait-for-return)) - ) ) - ) - (flutflut-effect) - (suspend) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) 1.0) - (joint-control-channel-group-eval! - a0-26 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior flutflut) ja-post) ) @@ -380,77 +285,53 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('draw) - (ja-channel-set! 1) - (let ((v1-3 (-> self skel root-channel 0))) - (set! - (-> v1-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) + (case arg2 + (('draw) + (ja-channel-set! 1) + (let ((v1-3 (-> self skel root-channel 0))) + (set! (-> v1-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) + (set! (-> self root-override root-prim prim-core action) (the-as uint 2049)) + (set! (-> self root-override root-prim prim-core offense) 4) + (transform-post) ) - (set! - (-> self root-override root-prim prim-core action) - (the-as uint 2049) + (('trans) + (vector+! (the-as vector (-> arg3 param 0)) (-> self root-override trans) (-> self extra-trans)) + ) + (('touch 'attack) + #f ) - (set! (-> self root-override root-prim prim-core offense) 4) - (transform-post) ) - (('trans) - (vector+! - (the-as vector (-> arg3 param 0)) - (-> self root-override trans) - (-> self extra-trans) - ) - ) - (('touch 'attack) - #f - ) ) - ) :enter - (behavior ((arg0 (state flutflut))) - ((-> arg0 enter)) - (none) - ) + (behavior ((arg0 (state flutflut))) ((-> arg0 enter)) (none)) :code (behavior ((arg0 (state flutflut))) - (ja-channel-set! 0) - (ja-post) - (while (zero? (ja-group-size)) - (if - (or - (not *target*) - (< - 24576.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) + (ja-channel-set! 0) + (ja-post) + (while (zero? (ja-group-size)) + (if (or + (not *target*) + (< 24576.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + ) + (go arg0) + ) + (flutflut-effect) + (suspend) ) - (go arg0) - ) - (flutflut-effect) - (suspend) + (while (and *target* (logtest? (-> *target* control root-prim prim-core action) #x4000)) + (flutflut-effect) + (suspend) + ) + (let ((s5-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) s5-0) 300) + (flutflut-effect) + (suspend) + ) + ) + (go arg0) + (none) ) - (while - (and - *target* - (logtest? (-> *target* control root-prim prim-core action) #x4000) - ) - (flutflut-effect) - (suspend) - ) - (let ((s5-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) s5-0) 300) - (flutflut-effect) - (suspend) - ) - ) - (go arg0) - (none) - ) ) ;; failed to figure out what this is: @@ -458,144 +339,103 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (if - (and (or (= arg2 'touch) (= arg2 'attack)) (send-event *target* 'end-mode)) - (go-virtual pickup (method-of-object self idle)) + (if (and (or (= arg2 'touch) (= arg2 'attack)) (send-event *target* 'end-mode)) + (go-virtual pickup (method-of-object self idle)) + ) + (the-as + object + (if (= arg2 'trans) + (vector+! (the-as vector (-> arg3 param 0)) (-> self root-override trans) (-> self extra-trans)) + ) + ) ) - (the-as object (if (= arg2 'trans) - (vector+! - (the-as vector (-> arg3 param 0)) - (-> self root-override trans) - (-> self extra-trans) - ) - ) - ) - ) :enter (behavior () - (blocking-plane-destroy) - (blocking-plane-spawn (the-as curve-control (-> self path-flut))) - (none) - ) + (blocking-plane-destroy) + (blocking-plane-spawn (the-as curve-control (-> self path-flut))) + (none) + ) :code (behavior () - (ja-channel-set! 0) - (ja-post) - (while #t - (if - (not - (and - *target* - (logtest? (-> *target* control root-prim prim-core action) #x4000) - ) + (ja-channel-set! 0) + (ja-post) + (while #t + (if (not (and *target* (logtest? (-> *target* control root-prim prim-core action) #x4000))) + (go-virtual idle) + ) + (flutflut-effect) + (suspend) ) - (go-virtual idle) - ) - (flutflut-effect) - (suspend) + (none) ) - (none) - ) ) ;; definition for method 11 of type flutflut ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! flutflut ((obj flutflut) (arg0 entity-actor)) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set-vector! (-> s3-0 local-sphere) 0.0 6144.0 0.0 6144.0) + (set-root-prim! s4-0 s3-0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set-vector! (-> s3-0 local-sphere) 0.0 6144.0 0.0 6144.0) - (set-root-prim! s4-0 s3-0) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) - (set-yaw-angle-clear-roll-pitch! - (-> obj root-override) - (res-lump-float arg0 'rotoffset) - ) + (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (res-lump-float arg0 'rotoffset)) (initialize-skeleton obj *flutflut-sg* '()) (logior! (-> obj skel status) 256) (set! (-> obj draw shadow-ctrl) *flutflut-shadow-control*) (let ((v1-24 (-> obj node-list data))) - (set! (-> v1-24 0 param0) cspace<-transformq+trans!) - (set! (-> v1-24 0 param1) (the-as basic (-> obj root-override trans))) - (set! (-> v1-24 0 param2) (the-as basic (-> obj extra-trans))) - ) + (set! (-> v1-24 0 param0) cspace<-transformq+trans!) + (set! (-> v1-24 0 param1) (the-as basic (-> obj root-override trans))) + (set! (-> v1-24 0 param2) (the-as basic (-> obj extra-trans))) + ) (dotimes (s4-2 2) - (let ((v1-27 (new 'process 'curve-control obj 'path (the float (+ s4-2 1))))) - (set! (-> obj path-data s4-2) v1-27) - (if v1-27 - (logior! - (-> v1-27 flags) - (path-control-flag display draw-line draw-point draw-text) + (let ((v1-27 (new 'process 'curve-control obj 'path (the float (+ s4-2 1))))) + (set! (-> obj path-data s4-2) v1-27) + (if v1-27 + (logior! (-> v1-27 flags) (path-control-flag display draw-line draw-point draw-text)) + ) ) - ) ) - ) (set! (-> obj condition) (res-lump-value arg0 'index int)) - (set! - (-> obj fact) - (new - 'process - 'fact-info - obj - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) - ) - ) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 120) obj) - ) + (set! (-> obj fact) + (new 'process 'fact-info obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 120) obj)) (set! (-> obj auto-get-off) #f) (dummy-60 (-> obj root-override) 40960.0 40960.0 #t (the-as uint 1)) (set! (-> obj cell) (the-as handle #f)) (blocking-plane-spawn - (the-as - curve-control - (if - (and - *target* - (logtest? (-> *target* control root-prim prim-core action) #x4000) - ) - (-> obj path-flut) - (-> obj path-target) - ) + (the-as curve-control (if (and *target* (logtest? (-> *target* control root-prim prim-core action) #x4000)) + (-> obj path-flut) + (-> obj path-target) + ) + ) ) - ) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "zoom-teleport") - :volume #x400 - :fo-max 30 - ) - (-> obj root-override trans) - ) - ) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "zoom-teleport") + :volume #x400 + :fo-max 30 + ) + (-> obj root-override trans) + ) + ) (go (method-of-object obj wait-for-start)) (none) ) diff --git a/test/decompiler/reference/levels/intro/evilbro_REF.gc b/test/decompiler/reference/levels/intro/evilbro_REF.gc index c507c195d0..d80f48e231 100644 --- a/test/decompiler/reference/levels/intro/evilbro_REF.gc +++ b/test/decompiler/reference/levels/intro/evilbro_REF.gc @@ -14,8 +14,8 @@ ;; definition for method 3 of type evilbro (defmethod inspect evilbro ((obj evilbro)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tevilsis: ~A~%" (-> obj evilsis)) obj ) @@ -34,26 +34,15 @@ ;; INFO: Return type mismatch spool-anim vs basic. (defmethod play-anim! evilbro ((obj evilbro) (arg0 symbol)) (cond - (arg0 - (close-specific-task! - (game-task leaving-misty) - (task-status need-introduction) - ) - (send-event (-> obj evilsis extra process) 'clone (process->handle obj)) + (arg0 + (close-specific-task! (game-task leaving-misty) (task-status need-introduction)) + (send-event (-> obj evilsis extra process) 'clone (process->handle obj)) + ) + (else + (set! (-> obj will-talk) #t) + ) ) - (else - (set! (-> obj will-talk) #t) - ) - ) - (the-as - basic - (new 'static 'spool-anim - :name "evilbro-misty-end" - :index 5 - :parts 9 - :command-list '() - ) - ) + (the-as basic (new 'static 'spool-anim :name "evilbro-misty-end" :index 5 :parts 9 :command-list '())) ) ;; definition for method 31 of type evilbro @@ -66,10 +55,10 @@ :virtual #t :exit (behavior () - (send-event (-> self evilsis extra process) 'end-mode) - ((-> (method-of-type process-taskable play-anim) exit)) - (none) - ) + (send-event (-> self evilsis extra process) 'end-mode) + ((-> (method-of-type process-taskable play-anim) exit)) + (none) + ) ) ;; failed to figure out what this is: @@ -77,140 +66,84 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-7 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 param 0) - (the float (+ (-> a0-8 frame-group data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-0 (-> *display* base-frame-counter))) - (while (let* ((s5-0 (-> *display* base-frame-counter)) - (f30-0 300.0) - (f28-0 0.16) - (f26-0 0.17000002) - (v1-29 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) ) - (v1-30 (the-as number (logior #x3f800000 v1-29))) - ) - (< - (- - s5-0 - (the - int - (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-30))))) - ) - ) - gp-0 + (get-art-elem self) ) - ) - (suspend) - ) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! gp-1 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-3 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-1 300.0) - (f28-1 0.16) - (f26-1 0.17000002) - (v1-54 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) - ) - (v1-55 (the-as number (logior #x3f800000 v1-54))) - ) - (< - (- - s5-1 - (the - int - (* f30-1 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-55))))) - ) - ) - gp-3 + (ja-channel-push! 1 15) + ) + (while #t + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-7 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) ) - ) - (suspend) + (set! (-> a0-7 param 1) 1.0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) + (set! (-> a0-8 param 1) 1.0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-0 (-> *display* base-frame-counter))) + (while (let* ((s5-0 (-> *display* base-frame-counter)) + (f30-0 300.0) + (f28-0 0.16) + (f26-0 0.17000002) + (v1-29 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-30 (the-as number (logior #x3f800000 v1-29))) + ) + (< (- s5-0 (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-30))))))) gp-0) + ) + (suspend) + ) + ) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) + (set! (-> gp-1 param 1) 1.0) + (set! (-> gp-1 frame-num) (ja-aframe 16.0 0)) + (joint-control-channel-group! + gp-1 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 param 0) (ja-aframe 0.0 0)) + (set! (-> gp-2 param 1) 1.0) + (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-3 (-> *display* base-frame-counter))) + (while (let* ((s5-1 (-> *display* base-frame-counter)) + (f30-1 300.0) + (f28-1 0.16) + (f26-1 0.17000002) + (v1-54 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-55 (the-as number (logior #x3f800000 v1-54))) + ) + (< (- s5-1 (the int (* f30-1 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-55))))))) gp-3) + ) + (suspend) + ) + ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 11 of type evilbro @@ -234,8 +167,8 @@ ;; definition for method 3 of type evilsis (defmethod inspect evilsis ((obj evilsis)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -253,13 +186,13 @@ ;; INFO: Return type mismatch art-element vs basic. (defmethod play-anim! evilsis ((obj evilsis) (arg0 symbol)) (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) (the-as basic (get-art-elem obj)) ) @@ -272,11 +205,7 @@ (defstate idle (evilsis) :virtual #t :trans - (behavior () - (set! (-> self will-talk) #f) - ((-> (method-of-type process-taskable idle) trans)) - (none) - ) + (behavior () (set! (-> self will-talk) #f) ((-> (method-of-type process-taskable idle) trans)) (none)) ) ;; definition for method 11 of type evilsis diff --git a/test/decompiler/reference/levels/jungle/bouncer_REF.gc b/test/decompiler/reference/levels/jungle/bouncer_REF.gc index 39c2754106..a034f5aa3a 100644 --- a/test/decompiler/reference/levels/jungle/bouncer_REF.gc +++ b/test/decompiler/reference/levels/jungle/bouncer_REF.gc @@ -15,8 +15,8 @@ ;; definition for method 3 of type springbox (defmethod inspect springbox ((obj springbox)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tspring-height: (meters ~m)~%" (-> obj spring-height)) (format #t "~T~Tsmush: ~f~%" (-> obj smush)) obj @@ -38,136 +38,102 @@ (defstate bouncer-wait (springbox) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('bonk) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 3) - (set! (-> a1-3 message) 'jump) - (set! (-> a1-3 param 0) (the-as uint (-> self spring-height))) - (set! (-> a1-3 param 1) (the-as uint (-> self spring-height))) - (set! (-> a1-3 param 2) (the-as uint #f)) - (when (send-event-function arg0 a1-3) - (sound-play-by-name - (static-sound-name "trampoline") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (case arg2 + (('bonk) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 3) + (set! (-> a1-3 message) 'jump) + (set! (-> a1-3 param 0) (the-as uint (-> self spring-height))) + (set! (-> a1-3 param 1) (the-as uint (-> self spring-height))) + (set! (-> a1-3 param 2) (the-as uint #f)) + (when (send-event-function arg0 a1-3) + (sound-play-by-name (static-sound-name "trampoline") (new-sound-id) 1024 0 0 1 #t) + (go bouncer-fire) + ) + ) + ) + (('touch) + (if (not (or (= (-> self next-state name) 'bouncer-smush) (= (-> self next-state name) 'bouncer-fire))) + (go bouncer-smush) + ) + ) + (('attack) + (when (and (= (-> arg3 param 1) 'flop) (send-event arg0 'jump (-> self spring-height) (-> self spring-height) #f)) + (go bouncer-fire) + #f ) - (go bouncer-fire) - ) ) ) - (('touch) - (if - (not - (or - (= (-> self next-state name) 'bouncer-smush) - (= (-> self next-state name) 'bouncer-fire) - ) - ) - (go bouncer-smush) - ) - ) - (('attack) - (when - (and - (= (-> arg3 param 1) 'flop) - (send-event - arg0 - 'jump - (-> self spring-height) - (-> self spring-height) - #f - ) - ) - (go bouncer-fire) - #f - ) - ) ) - ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) + ) + (transform-post) + (while #t + (logior! (-> self mask) (process-mask sleep)) + (suspend) + ) + (none) ) - (transform-post) - (while #t - (logior! (-> self mask) (process-mask sleep)) - (suspend) - ) - (none) - ) ) ;; failed to figure out what this is: (defstate bouncer-smush (springbox) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touch) - (set! (-> self state-time) (-> *display* base-frame-counter)) - #f + (case arg2 + (('touch) + (set! (-> self state-time) (-> *display* base-frame-counter)) + #f + ) + (else + ((-> bouncer-wait event) arg0 arg1 arg2 arg3) + ) ) - (else - ((-> bouncer-wait event) arg0 arg1 arg2 arg3) - ) ) - ) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self smush) 0.0) - (while #t - (cond - ((>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 0.0) - (set! (-> a0-1 param 1) 0.1) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (else - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 param 0) - (lerp-scale - (ja-aframe 6.0 0) - (ja-aframe 2.0 0) - (vector-vector-xz-distance (target-pos 0) (-> self root trans)) - 0.0 - 4096.0 + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self smush) 0.0) + (while #t + (cond + ((>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) 0.0) + (set! (-> a0-1 param 1) 0.1) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) + (else + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 param 0) (lerp-scale + (ja-aframe 6.0 0) + (ja-aframe 2.0 0) + (vector-vector-xz-distance (target-pos 0) (-> self root trans)) + 0.0 + 4096.0 + ) + ) + (set! (-> gp-0 param 1) 0.2) + (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> gp-0 param 1) 0.2) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + (suspend) + (if (ja-min? 0) + (go bouncer-wait) + ) ) - ) - (suspend) - (if (ja-min? 0) - (go bouncer-wait) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior springbox) transform-post) ) @@ -176,53 +142,27 @@ (defstate bouncer-fire (springbox) :code (behavior () - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 178 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> gp-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 178 30) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> gp-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) (ja-aframe 6.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 6.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) + (go bouncer-wait) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go bouncer-wait) - (none) - ) :post (the-as (function none :behavior springbox) transform-post) ) @@ -230,50 +170,29 @@ ;; definition for method 11 of type springbox ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! springbox ((obj springbox) (arg0 entity-actor)) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 128)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 3072.0 0.0 6963.2) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 128)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 3072.0 0.0 6963.2) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *bouncer-sg* '()) (nav-mesh-connect obj (-> obj root) (the-as nav-control #f)) - (set! - (-> obj spring-height) - (res-lump-float arg0 'spring-height :default 45056.0) - ) + (set! (-> obj spring-height) (res-lump-float arg0 'spring-height :default 45056.0)) (go bouncer-wait) (none) ) diff --git a/test/decompiler/reference/levels/jungle/fisher-JUN_REF.gc b/test/decompiler/reference/levels/jungle/fisher-JUN_REF.gc index 6beeb495b1..2e0a0f84c0 100644 --- a/test/decompiler/reference/levels/jungle/fisher-JUN_REF.gc +++ b/test/decompiler/reference/levels/jungle/fisher-JUN_REF.gc @@ -26,216 +26,183 @@ ;; definition for symbol *FISHER-bank*, type fisher-bank (define *FISHER-bank* - (new 'static 'fisher-bank - :width (meters 3.3) - :net-radius (meters 0.7) - :max-caught #xc8 - :max-missed 20 - ) + (new 'static 'fisher-bank :width (meters 3.3) :net-radius (meters 0.7) :max-caught #xc8 :max-missed 20) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 177) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x1c2 - :flags (sp-group-flag use-local-clock) - :name "group-bad-fish" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 828) - (sp-item 2013) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 177) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x1c2 + :flags (sp-group-flag use-local-clock) + :name "group-bad-fish" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 828) (sp-item 2013)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 828) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-y (meters 0.2)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.53333336) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 10 53 1) - (sp-launcher-by-id spt-next-launcher 829) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 828) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-y (meters 0.2)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.53333336) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 10 53 1) + (sp-launcher-by-id spt-next-launcher 829) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 829) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 829) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.21333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2013) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-x (meters -0.7) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -409.6 819.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2013) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-x (meters -0.7) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -409.6 819.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 178) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x1c2 - :flags (sp-group-flag use-local-clock) - :name "group-normal-fish" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2001)) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 178) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x1c2 + :flags (sp-group-flag use-local-clock) + :name "group-normal-fish" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2001)) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2001) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2001) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 179) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x4b0 - :flags (sp-group-flag use-local-clock) - :name "group-fish-collect" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 830) - (sp-item 831) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 179) + (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x4b0 + :flags (sp-group-flag use-local-clock) + :name "group-fish-collect" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 830) (sp-item 831)) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 831) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-scale-x (meters 5.0) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-a 16.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 25) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 831) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-scale-x (meters 5.0) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-a 16.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 25) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 830) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-r 32.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 1.2) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-func spt-func 'sparticle-track-root) - (sp-int-plain-rnd spt-next-time 10 9 1) - (sp-launcher-by-id spt-next-launcher 832) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 830) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-r 32.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 1.2) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-func spt-func 'sparticle-track-root) + (sp-int-plain-rnd spt-next-time 10 9 1) + (sp-launcher-by-id spt-next-launcher 832) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 832) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.8) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 832) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.8) (sp-end)) + ) + ) ;; definition of type fisher-params (deftype fisher-params (structure) @@ -270,553 +237,551 @@ ) ;; definition for symbol *fisher-params*, type (array (inline-array fisher-params)) -(define - *fisher-params* - (new - 'static - 'boxed-array - :type (inline-array fisher-params) :length 6 :allocated-length 6 - (new 'static 'inline-array fisher-params 16 - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 0.5) - :vel 0.6 - :swing-max (seconds 0.1) - :period (seconds 0.5) - :fish-vel 1.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 10) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.6) - :fish-vel 1.5 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 8) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.6) - :fish-vel 1.6 - :bad-percent 0.5 - :powerup-percent 0.25 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 15) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.45) - :fish-vel 1.7 - :bad-percent 0.1 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 15) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.4) - :fish-vel 1.8 - :bad-percent 0.1 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 15) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.5) - :fish-vel 1.9 - :bad-percent 0.9 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 2000) - :vel 0.8 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.35) - :fish-vel 2.0 - :bad-percent 0.1 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params) - ) - (new 'static 'inline-array fisher-params 16 - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 1) - :vel 0.6 - :swing-max (seconds 0.1) - :period (seconds 0.5) - :fish-vel 1.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 11) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.7) - :fish-vel 1.4 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 9) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.7) - :fish-vel 1.5 - :bad-percent 0.4 - :powerup-percent 0.25 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 18) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period #x9e - :fish-vel 1.6 - :bad-percent 0.083 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 18) - :vel 2.41 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.48) - :fish-vel 1.7 - :bad-percent 0.083 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 14) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.58) - :fish-vel 1.8 - :bad-percent 0.8 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 2000) - :vel 0.8 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.43) - :fish-vel 1.8 - :bad-percent 0.083 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params) - ) - (new 'static 'inline-array fisher-params 16 - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 1.5) - :vel 0.6 - :swing-max (seconds 0.1) - :period (seconds 0.5) - :fish-vel 1.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 12) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.8) - :fish-vel 1.4 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 10) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.8) - :fish-vel 1.5 - :bad-percent 0.3 - :powerup-percent 0.25 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 21) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.61) - :fish-vel 1.5 - :bad-percent 0.066 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 21) - :vel 1.83 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period #xa8 - :fish-vel 1.6 - :bad-percent 0.066 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 14) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.66) - :fish-vel 1.6 - :bad-percent 0.6 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 2000) - :vel 0.8 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.5133333) - :fish-vel 1.7 - :bad-percent 0.066 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params) - ) - (new 'static 'inline-array fisher-params 16 - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 2) - :vel 0.6 - :swing-max (seconds 0.1) - :period (seconds 0.5) - :fish-vel 1.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 13) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.9) - :fish-vel 1.3 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 11) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.9) - :fish-vel 1.4 - :bad-percent 0.2 - :powerup-percent 0.25 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 23) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.7) - :fish-vel 1.4 - :bad-percent 0.05 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 23) - :vel 1.25 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.65) - :fish-vel 1.5 - :bad-percent 0.05 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 13) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.75) - :fish-vel 1.5 - :bad-percent 0.5 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 2000) - :vel 0.8 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.6) - :fish-vel 1.6 - :bad-percent 0.05 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params) - ) - (new 'static 'inline-array fisher-params 26 - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 2.5) - :vel 0.6 - :swing-max (seconds 0.1) - :period (seconds 0.5) - :fish-vel 1.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 13) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.9) - :fish-vel 1.3 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 11) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.9) - :fish-vel 1.3 - :bad-percent 0.2 - :powerup-percent 0.25 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 3) - :vel 0.6 - :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) - :period (seconds 0.5) - :fish-vel 1.3 - :powerup-percent 0.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 3) - :vel 0.6 - :swing-min (seconds 333.33) - :period (seconds 0.5) - :fish-vel 1.3 - :powerup-percent 0.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 3) - :vel 0.6 - :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) - :period (seconds 0.5) - :fish-vel 1.3 - :powerup-percent 0.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 3) - :vel 0.6 - :swing-min (seconds 333.33) - :period (seconds 0.5) - :fish-vel 1.3 - :powerup-percent 0.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 11) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.9) - :fish-vel 1.3 - :bad-percent 0.05 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 3) - :vel 0.6 - :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) - :period (seconds 0.5) - :fish-vel 1.3 - :powerup-percent 0.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 3) - :vel 0.6 - :swing-min (seconds 333.33) - :period (seconds 0.5) - :fish-vel 1.3 - :powerup-percent 0.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 3) - :vel 0.6 - :swing-min (seconds 333.33) - :swing-max (seconds 0.33333334) - :period (seconds 0.5) - :fish-vel 1.3 - :powerup-percent 0.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 2000) - :vel 0.7 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.9) - :fish-vel 1.3 - :bad-percent 0.05 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params) - ) - (new 'static 'inline-array fisher-params 22 - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 3) - :vel 0.6 - :swing-max (seconds 0.1) - :period (seconds 0.5) - :fish-vel 1.5 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 10) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.6) - :fish-vel 2.0 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 5) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.6) - :fish-vel 2.0 - :bad-percent 0.75 - :powerup-percent 0.25 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 15) - :vel 0.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.3) - :fish-vel 2.0 - :bad-percent 0.1 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 15) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.4) - :fish-vel 2.0 - :bad-percent 0.1 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 15) - :vel 3.0 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.4) - :fish-vel 2.0 - :bad-percent 0.9 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 30) - :vel 1.4 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.25) - :fish-vel 2.0 - :bad-percent 0.1 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 30) - :vel 1.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.15) - :fish-vel 2.2 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 30) - :vel 1.4 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.25) - :fish-vel 2.0 - :bad-percent 0.2 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params - :timeout (seconds 31535998.0) - :vel 1.6 - :swing-min (seconds 0.5) - :swing-max (seconds 2) - :period (seconds 0.15) - :fish-vel 2.2 - :bad-percent 0.1 - :powerup-percent 0.1 - ) - (new 'static 'fisher-params :timeout (seconds 2)) - (new 'static 'fisher-params) - ) - ) - ) +(define *fisher-params* (new + 'static + 'boxed-array + :type (inline-array fisher-params) :length 6 :allocated-length 6 + (new 'static 'inline-array fisher-params 16 + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 0.5) + :vel 0.6 + :swing-max (seconds 0.1) + :period (seconds 0.5) + :fish-vel 1.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 10) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.6) + :fish-vel 1.5 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 8) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.6) + :fish-vel 1.6 + :bad-percent 0.5 + :powerup-percent 0.25 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 15) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.45) + :fish-vel 1.7 + :bad-percent 0.1 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 15) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.4) + :fish-vel 1.8 + :bad-percent 0.1 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 15) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.5) + :fish-vel 1.9 + :bad-percent 0.9 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 2000) + :vel 0.8 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.35) + :fish-vel 2.0 + :bad-percent 0.1 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params) + ) + (new 'static 'inline-array fisher-params 16 + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 1) + :vel 0.6 + :swing-max (seconds 0.1) + :period (seconds 0.5) + :fish-vel 1.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 11) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.7) + :fish-vel 1.4 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 9) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.7) + :fish-vel 1.5 + :bad-percent 0.4 + :powerup-percent 0.25 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 18) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period #x9e + :fish-vel 1.6 + :bad-percent 0.083 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 18) + :vel 2.41 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.48) + :fish-vel 1.7 + :bad-percent 0.083 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 14) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.58) + :fish-vel 1.8 + :bad-percent 0.8 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 2000) + :vel 0.8 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.43) + :fish-vel 1.8 + :bad-percent 0.083 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params) + ) + (new 'static 'inline-array fisher-params 16 + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 1.5) + :vel 0.6 + :swing-max (seconds 0.1) + :period (seconds 0.5) + :fish-vel 1.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 12) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.8) + :fish-vel 1.4 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 10) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.8) + :fish-vel 1.5 + :bad-percent 0.3 + :powerup-percent 0.25 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 21) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.61) + :fish-vel 1.5 + :bad-percent 0.066 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 21) + :vel 1.83 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period #xa8 + :fish-vel 1.6 + :bad-percent 0.066 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 14) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.66) + :fish-vel 1.6 + :bad-percent 0.6 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 2000) + :vel 0.8 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.5133333) + :fish-vel 1.7 + :bad-percent 0.066 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params) + ) + (new 'static 'inline-array fisher-params 16 + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 2) + :vel 0.6 + :swing-max (seconds 0.1) + :period (seconds 0.5) + :fish-vel 1.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 13) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.9) + :fish-vel 1.3 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 11) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.9) + :fish-vel 1.4 + :bad-percent 0.2 + :powerup-percent 0.25 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 23) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.7) + :fish-vel 1.4 + :bad-percent 0.05 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 23) + :vel 1.25 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.65) + :fish-vel 1.5 + :bad-percent 0.05 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 13) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.75) + :fish-vel 1.5 + :bad-percent 0.5 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 2000) + :vel 0.8 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.6) + :fish-vel 1.6 + :bad-percent 0.05 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params) + ) + (new 'static 'inline-array fisher-params 26 + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 2.5) + :vel 0.6 + :swing-max (seconds 0.1) + :period (seconds 0.5) + :fish-vel 1.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 13) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.9) + :fish-vel 1.3 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 11) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.9) + :fish-vel 1.3 + :bad-percent 0.2 + :powerup-percent 0.25 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 3) + :vel 0.6 + :swing-min (seconds 333.33) + :swing-max (seconds 0.33333334) + :period (seconds 0.5) + :fish-vel 1.3 + :powerup-percent 0.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 3) + :vel 0.6 + :swing-min (seconds 333.33) + :period (seconds 0.5) + :fish-vel 1.3 + :powerup-percent 0.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 3) + :vel 0.6 + :swing-min (seconds 333.33) + :swing-max (seconds 0.33333334) + :period (seconds 0.5) + :fish-vel 1.3 + :powerup-percent 0.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 3) + :vel 0.6 + :swing-min (seconds 333.33) + :period (seconds 0.5) + :fish-vel 1.3 + :powerup-percent 0.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 11) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.9) + :fish-vel 1.3 + :bad-percent 0.05 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 3) + :vel 0.6 + :swing-min (seconds 333.33) + :swing-max (seconds 0.33333334) + :period (seconds 0.5) + :fish-vel 1.3 + :powerup-percent 0.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 3) + :vel 0.6 + :swing-min (seconds 333.33) + :period (seconds 0.5) + :fish-vel 1.3 + :powerup-percent 0.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 3) + :vel 0.6 + :swing-min (seconds 333.33) + :swing-max (seconds 0.33333334) + :period (seconds 0.5) + :fish-vel 1.3 + :powerup-percent 0.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 2000) + :vel 0.7 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.9) + :fish-vel 1.3 + :bad-percent 0.05 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params) + ) + (new 'static 'inline-array fisher-params 22 + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 3) + :vel 0.6 + :swing-max (seconds 0.1) + :period (seconds 0.5) + :fish-vel 1.5 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 10) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.6) + :fish-vel 2.0 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 5) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.6) + :fish-vel 2.0 + :bad-percent 0.75 + :powerup-percent 0.25 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 15) + :vel 0.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.3) + :fish-vel 2.0 + :bad-percent 0.1 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 15) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.4) + :fish-vel 2.0 + :bad-percent 0.1 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 15) + :vel 3.0 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.4) + :fish-vel 2.0 + :bad-percent 0.9 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 30) + :vel 1.4 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.25) + :fish-vel 2.0 + :bad-percent 0.1 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 30) + :vel 1.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.15) + :fish-vel 2.2 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 30) + :vel 1.4 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.25) + :fish-vel 2.0 + :bad-percent 0.2 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params + :timeout (seconds 31535998.0) + :vel 1.6 + :swing-min (seconds 0.5) + :swing-max (seconds 2) + :period (seconds 0.15) + :fish-vel 2.2 + :bad-percent 0.1 + :powerup-percent 0.1 + ) + (new 'static 'fisher-params :timeout (seconds 2)) + (new 'static 'fisher-params) + ) + ) + ) ;; definition of type fisher (deftype fisher (process-taskable) @@ -853,8 +818,8 @@ ;; definition for method 3 of type fisher (defmethod inspect fisher ((obj fisher)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpaddle-end[2] @ #x~X~%" (-> obj paddle-end)) (format #t "~T~Tpaddle-pos: ~`vector`P~%" (-> obj paddle-pos)) (format #t "~T~Tpaddle: ~f~%" (-> obj paddle)) @@ -899,8 +864,8 @@ ;; definition for method 3 of type fisher-fish (defmethod inspect fisher-fish ((obj fisher-fish)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tdir: #~%" (-> obj dir)) (format #t "~T~Toffset: ~f~%" (-> obj offset)) (format #t "~T~Tpos: ~f~%" (-> obj pos)) @@ -960,20 +925,20 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 fisher ((obj fisher)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -1024.0 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -1024.0 f0-0))) + ) + 0 + (let ((a0-4 v1-1)) + (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) + ) + ) + 0 + (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - 0 - (let ((a0-4 v1-1)) - (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) - ) - ) - 0 - (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - ) (none) ) @@ -981,24 +946,20 @@ (defmethod draw-npc-shadow fisher ((obj fisher)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) @@ -1007,22 +968,22 @@ ;; Used lq/sq (defbehavior fisher-fish-water fisher-fish ((arg0 vector) (arg1 float)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> arg0 quad)) - (set! (-> gp-0 y) (ocean-get-height gp-0)) - (set! (-> *part-id-table* 118 init-specs 4 initial-valuef) (+ 24576.0 arg1)) - (set! (-> *part-id-table* 118 init-specs 19 initial-valuef) (+ 49152.0 arg1)) - (set! (-> *part-id-table* 118 init-specs 1 initial-valuef) 0.05) - (set! (-> *part-id-table* 118 init-specs 2 initial-valuef) 0.0) - (set! (-> *part-id-table* 118 init-specs 13 initial-valuef) 0.35555556) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 118) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 + (set! (-> gp-0 quad) (-> arg0 quad)) + (set! (-> gp-0 y) (ocean-get-height gp-0)) + (set! (-> *part-id-table* 118 init-specs 4 initial-valuef) (+ 24576.0 arg1)) + (set! (-> *part-id-table* 118 init-specs 19 initial-valuef) (+ 49152.0 arg1)) + (set! (-> *part-id-table* 118 init-specs 1 initial-valuef) 0.05) + (set! (-> *part-id-table* 118 init-specs 2 initial-valuef) 0.0) + (set! (-> *part-id-table* 118 init-specs 13 initial-valuef) 0.35555556) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 118) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - ) 0 (none) ) @@ -1032,35 +993,23 @@ ;; Used lq/sq (defbehavior fisher-fish-move fisher-fish () (+! (-> self pos) (* (-> self vel) (-> *display* seconds-per-frame))) - (eval-path-curve-div! - (-> (the-as fisher (-> self parent 0)) path) - (-> self root trans) - (-> self pos) - 'interp - ) - (TODO-RENAME-12 - (-> (the-as fisher (-> self parent 0)) path) - (-> self dir) - (-> self pos) - ) + (eval-path-curve-div! (-> (the-as fisher (-> self parent 0)) path) (-> self root trans) (-> self pos) 'interp) + (TODO-RENAME-12 (-> (the-as fisher (-> self parent 0)) path) (-> self dir) (-> self pos)) (seek-toward-heading-vec! (-> self root) (-> self dir) 291271.12 60) (let ((f30-1 (+ 16384.0 (y-angle (-> self root)))) (gp-0 (new-stack-vector0)) ) - (set! (-> gp-0 x) (sin f30-1)) - (set! (-> gp-0 y) 0.0) - (set! (-> gp-0 z) (cos f30-1)) - (set! (-> gp-0 w) 1.0) - (vector-normalize! - gp-0 - (* 2.0 (+ -0.5 (-> self offset)) (-> *FISHER-bank* width)) + (set! (-> gp-0 x) (sin f30-1)) + (set! (-> gp-0 y) 0.0) + (set! (-> gp-0 z) (cos f30-1)) + (set! (-> gp-0 w) 1.0) + (vector-normalize! gp-0 (* 2.0 (+ -0.5 (-> self offset)) (-> *FISHER-bank* width))) + (vector+! (-> self root trans) (-> self root trans) gp-0) ) - (vector+! (-> self root trans) (-> self root trans) gp-0) - ) (fisher-fish-water (-> self root trans) (y-angle (-> self root))) (if (nonzero? (-> self part)) - (spawn (-> self part) (-> self root trans)) - ) + (spawn (-> self part) (-> self root trans)) + ) 0 (none) ) @@ -1069,92 +1018,60 @@ (defstate fisher-fish-fall (fisher-fish) :code (behavior () - (set-heading-vec! - (-> self root) - (TODO-RENAME-12 - (-> (the-as fisher (-> self parent 0)) path) - (-> self dir) - (-> self pos) - ) + (set-heading-vec! + (-> self root) + (TODO-RENAME-12 (-> (the-as fisher (-> self parent 0)) path) (-> self dir) (-> self pos)) + ) + (while #t + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-2 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! + a0-2 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (fisher-fish-move) + (if (< (vector-vector-xz-distance (-> self root trans) (-> (the-as fisher (-> self parent 0)) paddle-pos)) + (+ (-> *FISHER-bank* net-radius) (* (-> self size) (-> self root scale x))) + ) + (go fisher-fish-caught) + ) + (if (or + (>= (-> self pos) (the float (+ (-> (the-as fisher (-> self parent 0)) path curve num-cverts) -1))) + (>= (-> self pos) 7.2) + ) + (go fisher-fish-die) + ) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-2 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! a0-2 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (fisher-fish-move) - (if - (< - (vector-vector-xz-distance - (-> self root trans) - (-> (the-as fisher (-> self parent 0)) paddle-pos) - ) - (+ - (-> *FISHER-bank* net-radius) - (* (-> self size) (-> self root scale x)) - ) - ) - (go fisher-fish-caught) - ) - (if - (or - (>= - (-> self pos) - (the - float - (+ (-> (the-as fisher (-> self parent 0)) path curve num-cverts) -1) - ) - ) - (>= (-> self pos) 7.2) - ) - (go fisher-fish-die) - ) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (none) - ) :post (the-as (function none :behavior fisher-fish) ja-post) ) @@ -1163,290 +1080,149 @@ (defstate fisher-fish-caught (fisher-fish) :code (behavior () - (case (-> self mode) - (('deadly 'bad) - (sound-play-by-name - (static-sound-name "caught-eel") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (case (-> self mode) + (('deadly 'bad) + (sound-play-by-name (static-sound-name "caught-eel") (new-sound-id) 1024 0 0 1 #t) + (ambient-hint-spawn "sksp0a42" (-> self root trans) *entity-pool* 'ambient) + (send-event (ppointer->process (-> self parent)) 'deadly) ) - (ambient-hint-spawn - "sksp0a42" - (-> self root trans) - *entity-pool* - 'ambient - ) - (send-event (ppointer->process (-> self parent)) 'deadly) - ) - (('powerup) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (('powerup) + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 179) -1 #f #f #f (-> self root trans)) + (-> gp-1 ppointer) + ) ) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 179) - -1 - #f - #f - #f - (-> self root trans) - ) - (-> gp-1 ppointer) + (sound-play-by-name (static-sound-name "get-big-fish") (new-sound-id) 1024 0 0 1 #t) + (send-event (ppointer->process (-> self parent)) 'fisher-fish-caught 5) ) - ) - (sound-play-by-name - (static-sound-name "get-big-fish") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (send-event (ppointer->process (-> self parent)) 'fisher-fish-caught 5) - ) - (else - (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-3 - (let ((t9-11 (method-of-type part-tracker activate))) - (t9-11 - (the-as part-tracker gp-3) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (else + (let ((gp-3 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-3 + (let ((t9-11 (method-of-type part-tracker activate))) + (t9-11 (the-as part-tracker gp-3) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process gp-3 part-tracker-init (-> *part-group-id-table* 179) -1 #f #f #f (-> self root trans)) + (-> gp-3 ppointer) + ) + ) + (sound-play-by-name (static-sound-name "get-small-fish") (new-sound-id) 1024 0 0 1 #t) + (send-event (ppointer->process (-> self parent)) 'fisher-fish-caught 1) ) - (run-now-in-process - gp-3 - part-tracker-init - (-> *part-group-id-table* 179) - -1 - #f - #f - #f - (-> self root trans) + ) + (set! (-> self vel) (* 0.25 (-> self vel))) + (while (< 0.1 (-> self root scale x)) + (set! (-> self offset) (-> (the-as fisher (-> self parent 0)) paddle)) + (fisher-fish-move) + (vector-float*! (-> self root scale) (-> self root scale) 0.93) + (ja-post) + (suspend) + (let ((a0-22 (-> self skel root-channel 0))) + (set! (-> a0-22 param 0) 1.0) + (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-loop!) ) - (-> gp-3 ppointer) - ) ) - (sound-play-by-name - (static-sound-name "get-small-fish") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (send-event (ppointer->process (-> self parent)) 'fisher-fish-caught 1) - ) + (none) ) - (set! (-> self vel) (* 0.25 (-> self vel))) - (while (< 0.1 (-> self root scale x)) - (set! (-> self offset) (-> (the-as fisher (-> self parent 0)) paddle)) - (fisher-fish-move) - (vector-float*! (-> self root scale) (-> self root scale) 0.93) - (ja-post) - (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) 1.0) - (joint-control-channel-group-eval! - a0-22 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - (none) - ) ) ;; failed to figure out what this is: (defstate fisher-fish-die (fisher-fish) :code (behavior () - (case (-> self mode) - (('deadly 'bad) - ) - (('powerup) - (level-hint-spawn - (game-text-id sidekick-hint-fish-powerup) - "sksp0b42" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) - ) - (if (< 0.5 f0-2) - (play-ambient - (-> (the-as fisher (-> self parent 0)) ambient) - "FIS-TA04" - #t - (-> self root trans) - ) - (play-ambient - (-> (the-as fisher (-> self parent 0)) ambient) - "FIS-TA05" - #t - (-> self root trans) - ) + (case (-> self mode) + (('deadly 'bad) ) - ) - (send-event (ppointer->process (-> self parent)) 'fisher-fish-die 5) - ) - (else - (let* ((v1-21 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-22 (the-as number (logior #x3f800000 v1-21))) - (f0-5 (+ -1.0 (the-as float v1-22))) - ) - (cond - ((and - (< 0.8333 f0-5) - (< - (-> (the-as fisher (-> self parent 0)) paddle-pos z) - (-> self root trans z) - ) + (('powerup) + (level-hint-spawn + (game-text-id sidekick-hint-fish-powerup) + "sksp0b42" + (the-as entity #f) + *entity-pool* + (game-task none) ) - (play-ambient - (-> (the-as fisher (-> self parent 0)) ambient) - "FIS-TA01" - #t - (-> self root trans) + (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-3 (the-as number (logior #x3f800000 v1-2))) + (f0-2 (+ -1.0 (the-as float v1-3))) + ) + (if (< 0.5 f0-2) + (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA04" #t (-> self root trans)) + (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA05" #t (-> self root trans)) + ) ) - ) - ((< 0.8333 f0-5) - (play-ambient - (-> (the-as fisher (-> self parent 0)) ambient) - "FIS-TA02" - #t - (-> self root trans) - ) - ) - ((and - (< 0.6666 f0-5) - (< - (-> (the-as fisher (-> self parent 0)) paddle-pos z) - (-> self root trans z) - ) - ) - (play-ambient - (-> (the-as fisher (-> self parent 0)) ambient) - "FIS-TA1A" - #t - (-> self root trans) - ) - ) - ((< 0.6666 f0-5) - (play-ambient - (-> (the-as fisher (-> self parent 0)) ambient) - "FIS-TA2A" - #t - (-> self root trans) - ) - ) - ((< 0.5 f0-5) - (play-ambient - (-> (the-as fisher (-> self parent 0)) ambient) - "FIS-TA06" - #t - (-> self root trans) - ) - ) - ((< 0.3333 f0-5) - (play-ambient - (-> (the-as fisher (-> self parent 0)) ambient) - "FIS-TA08" - #t - (-> self root trans) - ) - ) - ((< 0.1666 f0-5) - (play-ambient - (-> (the-as fisher (-> self parent 0)) ambient) - "FIS-TA09" - #t - (-> self root trans) - ) - ) - ((> (-> (the-as fisher (-> self parent 0)) missed) 0) - (play-ambient - (-> (the-as fisher (-> self parent 0)) ambient) - "FIS-TA10" - #t - (-> self root trans) - ) - ) + (send-event (ppointer->process (-> self parent)) 'fisher-fish-die 5) ) + (else + (let* ((v1-21 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-22 (the-as number (logior #x3f800000 v1-21))) + (f0-5 (+ -1.0 (the-as float v1-22))) + ) + (cond + ((and (< 0.8333 f0-5) (< (-> (the-as fisher (-> self parent 0)) paddle-pos z) (-> self root trans z))) + (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA01" #t (-> self root trans)) + ) + ((< 0.8333 f0-5) + (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA02" #t (-> self root trans)) + ) + ((and (< 0.6666 f0-5) (< (-> (the-as fisher (-> self parent 0)) paddle-pos z) (-> self root trans z))) + (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA1A" #t (-> self root trans)) + ) + ((< 0.6666 f0-5) + (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA2A" #t (-> self root trans)) + ) + ((< 0.5 f0-5) + (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA06" #t (-> self root trans)) + ) + ((< 0.3333 f0-5) + (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA08" #t (-> self root trans)) + ) + ((< 0.1666 f0-5) + (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA09" #t (-> self root trans)) + ) + ((> (-> (the-as fisher (-> self parent 0)) missed) 0) + (play-ambient (-> (the-as fisher (-> self parent 0)) ambient) "FIS-TA10" #t (-> self root trans)) + ) + ) + ) + (send-event (ppointer->process (-> self parent)) 'fisher-fish-die 1) + ) ) - (send-event (ppointer->process (-> self parent)) 'fisher-fish-die 1) - ) + (none) ) - (none) - ) ) ;; definition for function fisher-fish-init-by-other ;; INFO: Return type mismatch object vs none. -(defbehavior - fisher-fish-init-by-other fisher-fish - ((arg0 symbol) (arg1 float) (arg2 float)) +(defbehavior fisher-fish-init-by-other fisher-fish ((arg0 symbol) (arg1 float) (arg2 float)) (set! (-> self mode) arg0) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self root) (new 'process 'trsqv)) (set! (-> self size) 3276.8) - (initialize-skeleton self (cond - ((or (= arg0 'deadly) (= arg0 'bad)) - (set! (-> self size) 409.6) - (set-vector! (-> self root scale) 0.9 0.9 0.7 1.0) - (set! - (-> self part) - (create-launch-control - (-> *part-group-id-table* 177) - self - ) - ) - *catch-fishc-sg* - ) - ((= arg0 'powerup) - (set-vector! (-> self root scale) 0.4 0.4 0.4 1.0) - (set! - (-> self part) - (create-launch-control - (-> *part-group-id-table* 178) - self - ) - ) - *catch-fishb-sg* - ) - (else - (set-vector! (-> self root scale) 0.3 0.3 0.3 1.0) - (set! - (-> self part) - (create-launch-control - (-> *part-group-id-table* 178) - self - ) - ) - *catch-fisha-sg* - ) - ) - '() - ) + (initialize-skeleton + self + (cond + ((or (= arg0 'deadly) (= arg0 'bad)) + (set! (-> self size) 409.6) + (set-vector! (-> self root scale) 0.9 0.9 0.7 1.0) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 177) self)) + *catch-fishc-sg* + ) + ((= arg0 'powerup) + (set-vector! (-> self root scale) 0.4 0.4 0.4 1.0) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 178) self)) + *catch-fishb-sg* + ) + (else + (set-vector! (-> self root scale) 0.3 0.3 0.3 1.0) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 178) self)) + *catch-fisha-sg* + ) + ) + '() + ) (set! (-> self pos) 1.0) (set! (-> self offset) arg1) (set! (-> self vel) arg2) @@ -1461,524 +1237,362 @@ ;; definition for function fisher-draw-display ;; INFO: Return type mismatch float vs none. (defbehavior fisher-draw-display fisher ((arg0 fisher)) - (let - ((s5-0 - (new - 'stack - 'font-context - *font-default-matrix* - 435 - 10 - 0.0 - (font-color orange-red) - (font-flags shadow kerning) + (let ((s5-0 (new + 'stack + 'font-context + *font-default-matrix* + 435 + 10 + 0.0 + (font-color orange-red) + (font-flags shadow kerning) + ) + ) + ) + (let ((v1-1 s5-0)) + (set! (-> v1-1 width) (the float 200)) + ) + (let ((v1-2 s5-0)) + (set! (-> v1-2 height) (the float 30)) + ) + (let ((v1-3 s5-0)) + (set! (-> v1-3 scale) 0.7) + ) + (set! (-> s5-0 flags) (font-flags shadow kerning right large)) + (print-game-text (lookup-text! *common-text* (game-text-id caught) #f) s5-0 #f 128 22) + (set! (-> s5-0 origin x) 488.0) + (let ((s4-1 print-game-text)) + (format (clear *temp-string*) "~3D" (-> arg0 caught)) + (s4-1 *temp-string* s5-0 #f 128 22) + ) + (set! (-> s5-0 origin x) 435.0) + (set! (-> s5-0 origin y) 25.0) + (print-game-text (lookup-text! *common-text* (game-text-id missed) #f) s5-0 #f 128 22) + (set! (-> s5-0 origin x) 488.0) + (let ((s4-3 print-game-text)) + (format (clear *temp-string*) "~3D" (-> arg0 missed)) + (s4-3 *temp-string* s5-0 #f 128 22) ) - ) ) - (let ((v1-1 s5-0)) - (set! (-> v1-1 width) (the float 200)) - ) - (let ((v1-2 s5-0)) - (set! (-> v1-2 height) (the float 30)) - ) - (let ((v1-3 s5-0)) - (set! (-> v1-3 scale) 0.7) - ) - (set! (-> s5-0 flags) (font-flags shadow kerning right large)) - (print-game-text - (lookup-text! *common-text* (game-text-id caught) #f) - s5-0 - #f - 128 - 22 - ) - (set! (-> s5-0 origin x) 488.0) - (let ((s4-1 print-game-text)) - (format (clear *temp-string*) "~3D" (-> arg0 caught)) - (s4-1 *temp-string* s5-0 #f 128 22) - ) - (set! (-> s5-0 origin x) 435.0) - (set! (-> s5-0 origin y) 25.0) - (print-game-text - (lookup-text! *common-text* (game-text-id missed) #f) - s5-0 - #f - 128 - 22 - ) - (set! (-> s5-0 origin x) 488.0) - (let ((s4-3 print-game-text)) - (format (clear *temp-string*) "~3D" (-> arg0 missed)) - (s4-3 *temp-string* s5-0 #f 128 22) - ) - ) (none) ) ;; definition for method 32 of type fisher (defmethod play-anim! fisher ((obj fisher) (arg0 symbol)) (if arg0 - (set! (-> obj training) #f) - ) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) + (set! (-> obj training) #f) + ) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) (when arg0 - (set! (-> obj blend-on-exit) #t) - (close-status! (-> obj tasks) (task-status need-introduction)) - (set! (-> obj training) #t) - ) + (set! (-> obj blend-on-exit) #t) + (close-status! (-> obj tasks) (task-status need-introduction)) + (set! (-> obj training) #t) + ) (new 'static 'spool-anim - :name "fisher-introduction" - :index 8 - :parts 9 - :command-list - '( - (0 - want-levels - village1 - jungle - ) - (0 - alive - "jungle-part-1" + :name "fisher-introduction" + :index 8 + :parts 9 + :command-list + '((0 want-levels village1 jungle) + (0 alive "jungle-part-1") + ((the binteger 130) blackout (the binteger 10)) + ((the binteger 130) display-level village1 movie) + ((the binteger 130) want-force-vis village1 #t) + ((the binteger 134) blackout 0) + ((the binteger 229) blackout (the binteger 10)) + ((the binteger 232) blackout 0) + ((the binteger 235) display-level village1 #f) + ((the binteger 235) want-force-vis village1 #f) + ((the binteger 419) blackout (the binteger 10)) + ((the binteger 422) blackout 0) + ((the binteger 518) blackout (the binteger 10)) + ((the binteger 521) blackout 0) + ((the binteger 585) blackout (the binteger 10)) + ((the binteger 588) blackout 0) + ((the binteger 668) blackout (the binteger 10)) + ((the binteger 671) blackout 0) + ((the binteger 848) display-level village1 movie) + ((the binteger 848) want-force-vis village1 #t) + ((the binteger 849) alive "fishermans-boat-2") + ((the binteger 878) blackout (the binteger 10)) + ((the binteger 881) blackout 0) + ((the binteger 958) blackout (the binteger 10)) + ((the binteger 961) blackout 0) + ((the binteger 965) dead "fishermans-boat-2") + ((the binteger 965) display-level village1 display) + ((the binteger 965) want-force-vis village1 #f) ) - ((the binteger 130) - blackout - (the binteger 10) - ) - ((the binteger 130) - display-level - village1 - movie - ) - ((the binteger 130) - want-force-vis - village1 - #t - ) - ((the binteger 134) - blackout - 0 - ) - ((the binteger 229) - blackout - (the binteger 10) - ) - ((the binteger 232) - blackout - 0 - ) - ((the binteger 235) - display-level - village1 - #f - ) - ((the binteger 235) - want-force-vis - village1 - #f - ) - ((the binteger 419) - blackout - (the binteger 10) - ) - ((the binteger 422) - blackout - 0 - ) - ((the binteger 518) - blackout - (the binteger 10) - ) - ((the binteger 521) - blackout - 0 - ) - ((the binteger 585) - blackout - (the binteger 10) - ) - ((the binteger 588) - blackout - 0 - ) - ((the binteger 668) - blackout - (the binteger 10) - ) - ((the binteger 671) - blackout - 0 - ) - ((the binteger 848) - display-level - village1 - movie - ) - ((the binteger 848) - want-force-vis - village1 - #t - ) - ((the binteger 849) - alive - "fishermans-boat-2" - ) - ((the binteger 878) - blackout - (the binteger 10) - ) - ((the binteger 881) - blackout - 0 - ) - ((the binteger 958) - blackout - (the binteger 10) - ) - ((the binteger 961) - blackout - 0 - ) - ((the binteger 965) - dead - "fishermans-boat-2" - ) - ((the binteger 965) - display-level - village1 - display - ) - ((the binteger 965) want-force-vis village1 #f) - ) - ) - ) - (((task-status need-reminder-a) (task-status need-reminder)) - (set! (-> obj skippable) #t) - (set! (-> obj blend-on-exit) #t) - (new 'static 'spool-anim - :name "fisher-reminder-1" - :index 10 - :parts 1 - :command-list '() - ) - ) - (((task-status need-reward-speech)) - (when arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - ) - (new 'static 'spool-anim - :name "fisher-resolution" - :index 9 - :parts 4 - :command-list - '( - ((the binteger 188) - blackout - (the binteger 10) - ) - ((the binteger 199) blackout 0) ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) + (((task-status need-reminder-a) (task-status need-reminder)) + (set! (-> obj skippable) #t) + (set! (-> obj blend-on-exit) #t) + (new 'static 'spool-anim :name "fisher-reminder-1" :index 10 :parts 1 :command-list '()) ) - (get-art-elem obj) + (((task-status need-reward-speech)) + (when arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + ) + (new 'static 'spool-anim + :name "fisher-resolution" + :index 9 + :parts 4 + :command-list + '(((the binteger 188) blackout (the binteger 10)) ((the binteger 199) blackout 0)) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (get-art-elem obj) + ) ) - ) ) ;; definition for method 31 of type fisher (defmethod get-art-elem fisher ((obj fisher)) - (if - (closed? - (-> obj tasks) - (game-task jungle-fishgame) - (task-status need-reminder) - ) - (-> obj draw art-group data 7) - (-> obj draw art-group data 6) - ) + (if (closed? (-> obj tasks) (game-task jungle-fishgame) (task-status need-reminder)) + (-> obj draw art-group data 7) + (-> obj draw art-group data 6) + ) ) ;; definition for method 38 of type fisher (defmethod dummy-38 fisher ((obj fisher)) - (case (current-status (-> obj tasks)) - (((task-status need-reminder-a) (task-status need-reminder)) + (case (current-status (-> obj tasks)) + (((task-status need-reminder-a) (task-status need-reminder)) (go (method-of-object obj query)) ) - (((task-status need-reward-speech)) - (go (method-of-object obj play-anim)) + (((task-status need-reward-speech)) + (go (method-of-object obj play-anim)) + ) + (else + ((the-as (function fisher none) (find-parent-method fisher 38)) obj) + ) ) - (else - ((the-as (function fisher none) (find-parent-method fisher 38)) obj) - ) - ) (none) ) ;; definition for method 34 of type fisher (defmethod get-accept-anim fisher ((obj fisher) (arg0 symbol)) (when arg0 - (close-current! (-> obj tasks)) - (aybabtu 2) - ) + (close-current! (-> obj tasks)) + (aybabtu 2) + ) (new 'static 'spool-anim - :name "fisher-accept" - :index 12 - :parts 6 - :command-list - '( - (0 - send-event - self - emissive-on - ) - ((the binteger 700) send-event self emissive-off) - ) - ) + :name "fisher-accept" + :index 12 + :parts 6 + :command-list + '((0 send-event self emissive-on) ((the binteger 700) send-event self emissive-off)) + ) ) ;; definition for method 36 of type fisher (defmethod get-reject-anim fisher ((obj fisher) (arg0 symbol)) - (new 'static 'spool-anim - :name "fisher-reject" - :index 11 - :parts 2 - :command-list '() - ) + (new 'static 'spool-anim :name "fisher-reject" :index 11 :parts 2 :command-list '()) ) ;; failed to figure out what this is: (defstate fisher-done (fisher) :enter (behavior () - (init! - (-> self query) - (lookup-text! *common-text* (game-text-id play-again?) #f) - 40 - 150 - 30 - #f - (lookup-text! *common-text* (game-text-id quit) #f) - ) - (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while (-> self child) - (deactivate (-> self child 0)) - ) - (set! *camera-look-through-other* 2) - (cond - ((>= (-> self caught) (-> *FISHER-bank* max-caught)) - (send-event *target* 'end-mode) - (set! - (-> self trans-hook) - (lambda :behavior fisher - () - (set! *camera-look-through-other* 2) - (when (process-grab? *target*) - (close-current! (-> self tasks)) - (go-virtual play-anim) - ) - (none) - ) + (init! + (-> self query) + (lookup-text! *common-text* (game-text-id play-again?) #f) + 40 + 150 + 30 + #f + (lookup-text! *common-text* (game-text-id quit) #f) ) - ) - ((< (-> self caught) 0) - (send-event *target* 'end-mode) - (go-virtual idle) - ) - (else - (let ((gp-2 (-> self entity extra perm))) - (logior! (-> gp-2 status) (entity-perm-status user-set-from-cstage)) - (cond - ((-> self hard) - ) - ((and (< (-> self caught) 40) (< (-> self missed) 5)) - ) - ((and (< (-> self caught) 80) (< (-> self missed) 10)) - ) - (else - (set! (-> gp-2 user-int8 4) (the-as int (+ (-> gp-2 user-uint8 4) 1))) - (let ((v1-40 (-> self caught))) - (if (>= v1-40 90) - (set! v1-40 (+ v1-40 -90 v1-40)) - ) - (set! - (-> gp-2 user-object 0) - (+ - (the-as float (-> gp-2 user-object 0)) - (* - 12.903226 - (/ (the float v1-40) (fmax 5.0 (the float (-> self missed)))) - ) - ) - ) - ) - ) - ) - (let ((f0-4 (if (zero? (-> gp-2 user-uint8 4)) - 200.0 - (/ - (the-as float (-> gp-2 user-object 0)) - (the float (-> gp-2 user-uint8 4)) - ) - ) + (ja-channel-set! 1) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 frame-group) (the-as art-joint-anim (get-art-elem self))) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while (-> self child) + (deactivate (-> self child 0)) + ) + (set! *camera-look-through-other* 2) + (cond + ((>= (-> self caught) (-> *FISHER-bank* max-caught)) + (send-event *target* 'end-mode) + (set! (-> self trans-hook) (lambda :behavior fisher + () + (set! *camera-look-through-other* 2) + (when (process-grab? *target*) + (close-current! (-> self tasks)) + (go-virtual play-anim) + ) + (none) + ) ) + ) + ((< (-> self caught) 0) + (send-event *target* 'end-mode) + (go-virtual idle) + ) + (else + (let ((gp-2 (-> self entity extra perm))) + (logior! (-> gp-2 status) (entity-perm-status user-set-from-cstage)) + (cond + ((-> self hard) + ) + ((and (< (-> self caught) 40) (< (-> self missed) 5)) + ) + ((and (< (-> self caught) 80) (< (-> self missed) 10)) + ) + (else + (set! (-> gp-2 user-int8 4) (the-as int (+ (-> gp-2 user-uint8 4) 1))) + (let ((v1-40 (-> self caught))) + (if (>= v1-40 90) + (set! v1-40 (+ v1-40 -90 v1-40)) + ) + (set! (-> gp-2 user-object 0) + (+ (the-as float (-> gp-2 user-object 0)) + (* 12.903226 (/ (the float v1-40) (fmax 5.0 (the float (-> self missed))))) + ) + ) + ) + ) ) - (when (zero? (mod (+ (-> gp-2 user-uint8 5) 1) (the-as uint 5))) - (cond - ((-> self hard) - ) - ((= (-> gp-2 user-uint8 5) 4) - (if (< f0-4 60.0) - (set! - (-> gp-2 user-int8 6) - (seekl (the-as int (-> gp-2 user-uint8 6)) 4 1) + (let ((f0-4 (if (zero? (-> gp-2 user-uint8 4)) + 200.0 + (/ (the-as float (-> gp-2 user-object 0)) (the float (-> gp-2 user-uint8 4))) + ) + ) + ) + (when (zero? (mod (+ (-> gp-2 user-uint8 5) 1) (the-as uint 5))) + (cond + ((-> self hard) + ) + ((= (-> gp-2 user-uint8 5) 4) + (if (< f0-4 60.0) + (set! (-> gp-2 user-int8 6) (seekl (the-as int (-> gp-2 user-uint8 6)) 4 1)) + ) + (set! (-> gp-2 user-object 0) 0.0) + (set! (-> gp-2 user-int8 4) 0) + 0 + ) + ((= (-> gp-2 user-uint8 5) 9) + (if (< f0-4 120.0) + (set! (-> gp-2 user-int8 6) (seekl (the-as int (-> gp-2 user-uint8 6)) 4 1)) + ) + ) + (else + (set! (-> gp-2 user-int8 6) (seekl (the-as int (-> gp-2 user-uint8 6)) 4 1)) + ) + ) + ) ) - ) - (set! (-> gp-2 user-object 0) 0.0) - (set! (-> gp-2 user-int8 4) 0) - 0 - ) - ((= (-> gp-2 user-uint8 5) 9) - (if (< f0-4 120.0) - (set! - (-> gp-2 user-int8 6) - (seekl (the-as int (-> gp-2 user-uint8 6)) 4 1) + (set! (-> gp-2 user-int8 5) (seekl (the-as int (-> gp-2 user-uint8 5)) 255 1)) + (set! (-> self difficulty) (the-as int (-> gp-2 user-uint8 6))) + (if (-> self hard) + (set! (-> self difficulty) 5) + ) + (format + #t + "fisher: accum ~f div ~d tries ~d diff ~d~%" + (the-as float (-> gp-2 user-object 0)) + (-> gp-2 user-uint8 4) + (-> gp-2 user-uint8 5) + (-> gp-2 user-uint8 6) ) - ) ) - (else - (set! - (-> gp-2 user-int8 6) - (seekl (the-as int (-> gp-2 user-uint8 6)) 4 1) - ) + (let ((gp-3 (get-process *default-dead-pool* process #x4000))) + (when gp-3 + (let ((t9-15 (method-of-type process activate))) + (t9-15 gp-3 *default-pool* 'process (the-as pointer #x70004000)) + ) + (run-next-time-in-process gp-3 (lambda :behavior process + () + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) 30) + (suspend) + ) + ) + (ambient-hint-spawn "st-lose" (the-as vector #f) *entity-pool* 'stinger) + (none) + ) + ) + (-> gp-3 ppointer) + ) ) - ) + (send-event *target* 'lose) ) - ) - (set! - (-> gp-2 user-int8 5) - (seekl (the-as int (-> gp-2 user-uint8 5)) 255 1) - ) - (set! (-> self difficulty) (the-as int (-> gp-2 user-uint8 6))) - (if (-> self hard) - (set! (-> self difficulty) 5) - ) - (format - #t - "fisher: accum ~f div ~d tries ~d diff ~d~%" - (the-as float (-> gp-2 user-object 0)) - (-> gp-2 user-uint8 4) - (-> gp-2 user-uint8 5) - (-> gp-2 user-uint8 6) - ) ) - (let ((gp-3 (get-process *default-dead-pool* process #x4000))) - (when gp-3 - (let ((t9-15 (method-of-type process activate))) - (t9-15 gp-3 *default-pool* 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - gp-3 - (lambda :behavior process - () - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) 30) - (suspend) - ) - ) - (ambient-hint-spawn - "st-lose" - (the-as vector #f) - *entity-pool* - 'stinger - ) - (none) - ) - ) - (-> gp-3 ppointer) - ) - ) - (send-event *target* 'lose) - ) + (none) ) - (none) - ) :exit (behavior () - (when (and *target* (the-as target #f)) - (send-event *target* 'end-mode) - (process-grab? *target*) + (when (and *target* (the-as target #f)) + (send-event *target* 'end-mode) + (process-grab? *target*) + ) + (none) ) - (none) - ) :trans (behavior () - (set! *camera-look-through-other* 2) - (cond - ((>= (-> self caught) (-> *FISHER-bank* max-caught)) - ) - ((< (-> self caught) 0) - ) - (else - (when (< (mod (-> *display* base-frame-counter) 300) 150) - (let* - ((s5-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) - (gp-0 (-> s5-0 base)) - ) - (draw-string-xy - (lookup-text! *common-text* (game-text-id lose!) #f) - s5-0 - 256 - 100 - (font-color orange-red) - (font-flags shadow kerning middle large) - ) - (let ((a3-1 (-> s5-0 base))) - (let ((v1-13 (the-as dma-packet (-> s5-0 base)))) - (set! (-> v1-13 dma) (new 'static 'dma-tag :id (dma-tag-id next))) - (set! (-> v1-13 vif0) (new 'static 'vif-tag)) - (set! (-> v1-13 vif1) (new 'static 'vif-tag)) - (set! (-> s5-0 base) (&+ (the-as pointer v1-13) 16)) - ) - (dma-bucket-insert-tag - (-> *display* frames (-> *display* on-screen) frame bucket-group) - (bucket-id debug-draw0) - gp-0 - (the-as (pointer dma-tag) a3-1) - ) - ) + (set! *camera-look-through-other* 2) + (cond + ((>= (-> self caught) (-> *FISHER-bank* max-caught)) ) - ) - (fisher-draw-display self) - (let ((gp-1 (get-response (-> self query)))) - (cond - ((and (= gp-1 'yes) (process-release? *target*)) - (go-virtual enter-playing) - ) - ((= gp-1 'no) - (go-virtual play-reject) - ) + ((< (-> self caught) 0) ) + (else + (when (< (mod (-> *display* base-frame-counter) 300) 150) + (let* ((s5-0 (-> *display* frames (-> *display* on-screen) frame global-buf)) + (gp-0 (-> s5-0 base)) + ) + (draw-string-xy + (lookup-text! *common-text* (game-text-id lose!) #f) + s5-0 + 256 + 100 + (font-color orange-red) + (font-flags shadow kerning middle large) + ) + (let ((a3-1 (-> s5-0 base))) + (let ((v1-13 (the-as dma-packet (-> s5-0 base)))) + (set! (-> v1-13 dma) (new 'static 'dma-tag :id (dma-tag-id next))) + (set! (-> v1-13 vif0) (new 'static 'vif-tag)) + (set! (-> v1-13 vif1) (new 'static 'vif-tag)) + (set! (-> s5-0 base) (&+ (the-as pointer v1-13) 16)) + ) + (dma-bucket-insert-tag + (-> *display* frames (-> *display* on-screen) frame bucket-group) + (bucket-id debug-draw0) + gp-0 + (the-as (pointer dma-tag) a3-1) + ) + ) + ) + ) + (fisher-draw-display self) + (let ((gp-1 (get-response (-> self query)))) + (cond + ((and (= gp-1 'yes) (process-release? *target*)) + (go-virtual enter-playing) + ) + ((= gp-1 'no) + (go-virtual play-reject) + ) + ) + ) + ) ) - ) + (spool-push *art-control* "fisher-reject" 0 self -99.0) + (none) ) - (spool-push *art-control* "fisher-reject" 0 self -99.0) - (none) - ) :code (the-as (function none :behavior fisher) process-taskable-anim-loop) :post @@ -1992,225 +1606,129 @@ (v1-2 (the-as number (logior #x3f800000 v1-1))) (f0-2 (+ -1.0 (the-as float v1-2))) ) - (cond - ((and - (< 0.3 f0-2) - (< (+ (-> *FISHER-bank* max-caught) -30) (-> self caught)) - ) - (if - (and - (>= (- (-> *display* base-frame-counter) (-> self ambient-almost)) 3000) - (play-ambient - (-> self ambient) - "FIS-TA11" - #t - (-> self root-override trans) - ) + (cond + ((and (< 0.3 f0-2) (< (+ (-> *FISHER-bank* max-caught) -30) (-> self caught))) + (if (and + (>= (- (-> *display* base-frame-counter) (-> self ambient-almost)) 3000) + (play-ambient (-> self ambient) "FIS-TA11" #t (-> self root-override trans)) + ) + (set! (-> self ambient-almost) (-> *display* base-frame-counter)) + ) ) - (set! (-> self ambient-almost) (-> *display* base-frame-counter)) - ) - ) - ((< 0.125 f0-2) - ) - ((< 0.1 f0-2) - (if - (and - (>= (- (-> *display* base-frame-counter) (-> self ambient-steady)) 3000) - (play-ambient - (-> self ambient) - "FIS-TA06" - #t - (-> self root-override trans) - ) + ((< 0.125 f0-2) ) - (set! (-> self ambient-steady) (-> *display* base-frame-counter)) - ) - ) - ((< (+ (-> *FISHER-bank* max-missed) -6) (-> self missed)) - (if - (and - (>= (- (-> *display* base-frame-counter) (-> self ambient-sagging)) 3000) - (play-ambient - (-> self ambient) - "FIS-TA07" - #t - (-> self root-override trans) - ) + ((< 0.1 f0-2) + (if (and + (>= (- (-> *display* base-frame-counter) (-> self ambient-steady)) 3000) + (play-ambient (-> self ambient) "FIS-TA06" #t (-> self root-override trans)) + ) + (set! (-> self ambient-steady) (-> *display* base-frame-counter)) + ) + ) + ((< (+ (-> *FISHER-bank* max-missed) -6) (-> self missed)) + (if (and + (>= (- (-> *display* base-frame-counter) (-> self ambient-sagging)) 3000) + (play-ambient (-> self ambient) "FIS-TA07" #t (-> self root-override trans)) + ) + (set! (-> self ambient-sagging) (-> *display* base-frame-counter)) + ) ) - (set! (-> self ambient-sagging) (-> *display* base-frame-counter)) ) - ) ) - ) (none) ) ;; definition for function fisher-game-update ;; INFO: Return type mismatch int vs none. (defbehavior fisher-game-update fisher () - (when - (>= - (- (-> *display* base-frame-counter) (-> self block-time)) - (the-as int (-> self params timeout)) + (when (>= (- (-> *display* base-frame-counter) (-> self block-time)) (the-as int (-> self params timeout))) + (set! (-> self block-time) (-> *display* base-frame-counter)) + (+! (-> self block) 1) + (mem-copy! + (the-as pointer (-> self params)) + (the-as pointer (-> *fisher-params* (-> self difficulty) (-> self block))) + 56 + ) ) - (set! (-> self block-time) (-> *display* base-frame-counter)) - (+! (-> self block) 1) - (mem-copy! - (the-as pointer (-> self params)) - (the-as pointer (-> *fisher-params* (-> self difficulty) (-> self block))) - 56 - ) - ) - (when - (>= - (- (-> *display* base-frame-counter) (-> self turn-time)) - (-> self swing-time) - ) - (set! (-> self turn-time) (-> *display* base-frame-counter)) - (set! - (-> self swing-time) - (rand-vu-int-range - (the-as int (-> self params swing-min)) - (the-as int (-> self params swing-max)) - ) - ) - (set! (-> self params vel) (- (-> self params vel))) - ) - (+! - (-> self spawner) - (* (-> self params vel) (-> *display* seconds-per-frame)) - ) - (if (= (-> self params swing-min) #x1869f) - (set! (-> self spawner) (* 0.01 (the float (-> self params swing-max)))) - ) - (cond - ((and (< 0.0 (-> self params vel)) (>= (-> self spawner) 1.0)) - (set! (-> self params vel) (- (-> self params vel))) - (set! (-> self spawner) 1.0) - ) - ((and (< (-> self params vel) 0.0) (>= 0.0 (-> self spawner))) - (set! (-> self params vel) (- (-> self params vel))) - (set! (-> self spawner) 0.0) - ) - ) - (when - (and - (nonzero? (-> self params period)) - (>= - (- (-> *display* base-frame-counter) (-> self spawn-time)) - (the-as int (-> self params period)) - ) - ) - (let ((gp-0 (cond - ((rand-vu-percent? (-> self params powerup-percent)) - (if - (and - (>= - (- - (-> *display* base-frame-counter) - (-> self ambient-big-one) - ) - 9000 - ) - (play-ambient - (-> self ambient) - "FIS-TA03" - #t - (-> self root-override trans) - ) - ) - (set! - (-> self ambient-big-one) - (-> *display* base-frame-counter) - ) - ) - 'powerup - ) - ((rand-vu-percent? (-> self params bad-percent)) - 'bad - ) - ((rand-vu-percent? (-> self params deadly-percent)) - 'deadly - ) - (else - 'normal - ) - ) + (when (>= (- (-> *display* base-frame-counter) (-> self turn-time)) (-> self swing-time)) + (set! (-> self turn-time) (-> *display* base-frame-counter)) + (set! (-> self swing-time) + (rand-vu-int-range (the-as int (-> self params swing-min)) (the-as int (-> self params swing-max))) ) - ) - (if - (and - (!= gp-0 'bad) - (< 0.8 (fabs (- (-> self spawner-last) (-> self spawner)))) - ) - (set! - (-> self spawner) - (* 0.5 (+ (-> self spawner-last) (-> self spawner))) + (set! (-> self params vel) (- (-> self params vel))) + ) + (+! (-> self spawner) (* (-> self params vel) (-> *display* seconds-per-frame))) + (if (= (-> self params swing-min) #x1869f) + (set! (-> self spawner) (* 0.01 (the float (-> self params swing-max)))) ) + (cond + ((and (< 0.0 (-> self params vel)) (>= (-> self spawner) 1.0)) + (set! (-> self params vel) (- (-> self params vel))) + (set! (-> self spawner) 1.0) ) - (set! (-> self spawner-last) (-> self spawner)) - (set! (-> self spawn-time) (-> *display* base-frame-counter)) - (sound-play-by-name - (static-sound-name "fish-spawn") - (new-sound-id) - 716 - 0 - 0 - 1 - #t + ((and (< (-> self params vel) 0.0) (>= 0.0 (-> self spawner))) + (set! (-> self params vel) (- (-> self params vel))) + (set! (-> self spawner) 0.0) ) - (fisher-spawn-ambient) - (let ((s5-1 (get-process *default-dead-pool* fisher-fish #x4000))) - (when s5-1 - (let ((t9-10 (method-of-type fisher-fish activate))) - (t9-10 - (the-as fisher-fish s5-1) - self - 'fisher-fish - (the-as pointer #x70004000) + ) + (when (and + (nonzero? (-> self params period)) + (>= (- (-> *display* base-frame-counter) (-> self spawn-time)) (the-as int (-> self params period))) + ) + (let ((gp-0 + (cond + ((rand-vu-percent? (-> self params powerup-percent)) + (if (and + (>= (- (-> *display* base-frame-counter) (-> self ambient-big-one)) 9000) + (play-ambient (-> self ambient) "FIS-TA03" #t (-> self root-override trans)) + ) + (set! (-> self ambient-big-one) (-> *display* base-frame-counter)) + ) + 'powerup + ) + ((rand-vu-percent? (-> self params bad-percent)) + 'bad + ) + ((rand-vu-percent? (-> self params deadly-percent)) + 'deadly + ) + (else + 'normal + ) + ) + ) + ) + (if (and (!= gp-0 'bad) (< 0.8 (fabs (- (-> self spawner-last) (-> self spawner))))) + (set! (-> self spawner) (* 0.5 (+ (-> self spawner-last) (-> self spawner)))) + ) + (set! (-> self spawner-last) (-> self spawner)) + (set! (-> self spawn-time) (-> *display* base-frame-counter)) + (sound-play-by-name (static-sound-name "fish-spawn") (new-sound-id) 716 0 0 1 #t) + (fisher-spawn-ambient) + (let ((s5-1 (get-process *default-dead-pool* fisher-fish #x4000))) + (when s5-1 + (let ((t9-10 (method-of-type fisher-fish activate))) + (t9-10 (the-as fisher-fish s5-1) self 'fisher-fish (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 fisher-fish-init-by-other gp-0 (-> self spawner) (* 1.85 (-> self params fish-vel))) + (-> s5-1 ppointer) + ) ) - ) - (run-now-in-process - s5-1 - fisher-fish-init-by-other - gp-0 - (-> self spawner) - (* 1.85 (-> self params fish-vel)) - ) - (-> s5-1 ppointer) ) - ) ) - ) - (let - ((f1-14 - (analog-input - (the-as int (-> *cpad-list* cpads 0 leftx)) - 128.0 - 32.0 - 110.0 - 28.0 - ) - ) + (let ((f1-14 (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 32.0 110.0 28.0))) + (+! (-> self paddle-vel) (* f1-14 (-> *display* seconds-per-frame))) ) - (+! (-> self paddle-vel) (* f1-14 (-> *display* seconds-per-frame))) - ) - (set! - (-> self paddle-vel) - (seek (-> self paddle-vel) 0.0 (* 15.0 (-> *display* seconds-per-frame))) - ) + (set! (-> self paddle-vel) (seek (-> self paddle-vel) 0.0 (* 15.0 (-> *display* seconds-per-frame)))) (set! (-> self paddle-vel) (fmax -2.0 (fmin 2.0 (-> self paddle-vel)))) - (+! - (-> self paddle) - (* (-> self paddle-vel) (-> *display* seconds-per-frame)) - ) + (+! (-> self paddle) (* (-> self paddle-vel) (-> *display* seconds-per-frame))) (set! (-> self paddle) (fmax 0.0 (fmin 1.0 (-> self paddle)))) (vector-lerp! - (-> self paddle-pos) - (the-as vector (-> self paddle-end)) - (the-as vector (&-> self stack 288)) - (-> self paddle) - ) + (-> self paddle-pos) + (the-as vector (-> self paddle-end)) + (the-as vector (&-> self stack 288)) + (-> self paddle) + ) 0 (none) ) @@ -2219,152 +1737,128 @@ (defstate fisher-playing (fisher) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-2 object)) - (case arg2 - (('fisher-fish-die) - (sound-play-by-name - (static-sound-name "fish-miss") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (local-vars (v0-2 object)) + (case arg2 + (('fisher-fish-die) + (sound-play-by-name (static-sound-name "fish-miss") (new-sound-id) 1024 0 0 1 #t) + (set! v0-2 (+ (-> self missed) (-> arg3 param 0))) + (set! (-> self missed) (the-as int v0-2)) + v0-2 + ) + (('fisher-fish-caught) + (send-event *target* 'bounce) + (set! v0-2 (+ (-> self caught) (-> arg3 param 0))) + (set! (-> self caught) (the-as int v0-2)) + v0-2 + ) + (('deadly) + (go fisher-done) + ) + (('bad) + (set! v0-2 (seekl (-> self caught) 0 10)) + (set! (-> self caught) (the-as int v0-2)) + v0-2 ) - (set! v0-2 (+ (-> self missed) (-> arg3 param 0))) - (set! (-> self missed) (the-as int v0-2)) - v0-2 ) - (('fisher-fish-caught) - (send-event *target* 'bounce) - (set! v0-2 (+ (-> self caught) (-> arg3 param 0))) - (set! (-> self caught) (the-as int v0-2)) - v0-2 - ) - (('deadly) - (go fisher-done) - ) - (('bad) - (set! v0-2 (seekl (-> self caught) 0 10)) - (set! (-> self caught) (the-as int v0-2)) - v0-2 - ) ) - ) :enter (behavior () - (set-setting! *setting-control* self 'ambient-volume 'rel 50.0 0) - (send-event *target* 'reset-pickup 'eco) - (ja-channel-set! 0) - (clear-collide-with-as (-> self root-override)) - (let ((gp-0 (get-process *default-dead-pool* process #x4000))) - (when gp-0 - (let ((t9-5 (method-of-type process activate))) - (t9-5 gp-0 self 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - gp-0 - (lambda :behavior fisher-fish - () - (logclear! (-> self mask) (process-mask pause)) - (while #t - (fisher-draw-display - (the-as fisher (ppointer->process (-> self parent))) - ) - (suspend) + (set-setting! *setting-control* self 'ambient-volume 'rel 50.0 0) + (send-event *target* 'reset-pickup 'eco) + (ja-channel-set! 0) + (clear-collide-with-as (-> self root-override)) + (let ((gp-0 (get-process *default-dead-pool* process #x4000))) + (when gp-0 + (let ((t9-5 (method-of-type process activate))) + (t9-5 gp-0 self 'process (the-as pointer #x70004000)) + ) + (run-next-time-in-process gp-0 (lambda :behavior fisher-fish + () + (logclear! (-> self mask) (process-mask pause)) + (while #t + (fisher-draw-display (the-as fisher (ppointer->process (-> self parent)))) + (suspend) + ) + (none) + ) + ) + (-> gp-0 ppointer) ) - (none) - ) ) - (-> gp-0 ppointer) - ) + (send-event *camera* 'change-to-entity-by-name "camera-152") + (init! (-> self query) (the-as string #f) 40 150 25 #t (lookup-text! *common-text* (game-text-id quit) #f)) + (none) ) - (send-event *camera* 'change-to-entity-by-name "camera-152") - (init! - (-> self query) - (the-as string #f) - 40 - 150 - 25 - #t - (lookup-text! *common-text* (game-text-id quit) #f) - ) - (none) - ) :exit (behavior () - (clear-pending-settings-from-process *setting-control* self 'ambient-volume) - (let* ((v1-2 *camera-other-matrix*) - (a3-0 (-> *camera-combiner* inv-camera-rot)) - (a0-2 (-> a3-0 vector 0 quad)) - (a1-1 (-> a3-0 vector 1 quad)) - (a2-1 (-> a3-0 vector 2 quad)) - (a3-1 (-> a3-0 vector 3 quad)) - ) - (set! (-> v1-2 vector 0 quad) a0-2) - (set! (-> v1-2 vector 1 quad) a1-1) - (set! (-> v1-2 vector 2 quad) a2-1) - (set! (-> v1-2 vector 3 quad) a3-1) + (clear-pending-settings-from-process *setting-control* self 'ambient-volume) + (let* ((v1-2 *camera-other-matrix*) + (a3-0 (-> *camera-combiner* inv-camera-rot)) + (a0-2 (-> a3-0 vector 0 quad)) + (a1-1 (-> a3-0 vector 1 quad)) + (a2-1 (-> a3-0 vector 2 quad)) + (a3-1 (-> a3-0 vector 3 quad)) + ) + (set! (-> v1-2 vector 0 quad) a0-2) + (set! (-> v1-2 vector 1 quad) a1-1) + (set! (-> v1-2 vector 2 quad) a2-1) + (set! (-> v1-2 vector 3 quad) a3-1) + ) + (set! (-> *camera-other-fov* data) (-> *camera-combiner* fov)) + (set! (-> *camera-other-trans* quad) (-> *camera-combiner* trans quad)) + (set! (-> *camera-other-root* quad) (-> self root-override trans quad)) + (restore-collide-with-as (-> self root-override)) + (send-event *camera* 'blend-from-as-fixed) + (send-event *camera* 'change-state *camera-base-mode* 0) + (send-event *camera* 'clear-entity) + 0 + (none) ) - (set! (-> *camera-other-fov* data) (-> *camera-combiner* fov)) - (set! (-> *camera-other-trans* quad) (-> *camera-combiner* trans quad)) - (set! (-> *camera-other-root* quad) (-> self root-override trans quad)) - (restore-collide-with-as (-> self root-override)) - (send-event *camera* 'blend-from-as-fixed) - (send-event *camera* 'change-state *camera-base-mode* 0) - (send-event *camera* 'clear-entity) - 0 - (none) - ) :trans (behavior () - (spool-push *art-control* "fisher-resolution" 0 self -99.0) - (spool-push *art-control* "fisher-reject" 0 self -99.0) - (none) - ) + (spool-push *art-control* "fisher-resolution" 0 self -99.0) + (spool-push *art-control* "fisher-reject" 0 self -99.0) + (none) + ) :code (behavior () - (set! *display-profile* #f) - (set! (-> self paddle) 0.5) - (set! (-> self paddle-vel) 0.0) - (set! (-> self start-time) (-> *display* base-frame-counter)) - (set! (-> self caught) 0) - (set! (-> self missed) 0) - (set! (-> self spawner) 0.5) - (set! (-> self spawner-last) 0.5) - (set! (-> self swing-time) 0) - (set! (-> self block) -1) - (set! (-> self block-time) (-> *display* base-frame-counter)) - (+! (-> self block) 1) - (mem-copy! - (the-as pointer (-> self params)) - (the-as pointer (-> *fisher-params* (-> self difficulty) (-> self block))) - 56 - ) - (set! (-> self ambient-big-one) 0) - (set! (-> self ambient-steady) 0) - (set! (-> self ambient-sagging) 0) - (set! (-> self ambient-almost) 0) - (while #t - (hide-hud-quick) - (fisher-game-update) - (if - (or - (zero? (-> self params timeout)) - (>= (-> self missed) (-> *FISHER-bank* max-missed)) - (>= (-> self caught) (-> *FISHER-bank* max-caught)) + (set! *display-profile* #f) + (set! (-> self paddle) 0.5) + (set! (-> self paddle-vel) 0.0) + (set! (-> self start-time) (-> *display* base-frame-counter)) + (set! (-> self caught) 0) + (set! (-> self missed) 0) + (set! (-> self spawner) 0.5) + (set! (-> self spawner-last) 0.5) + (set! (-> self swing-time) 0) + (set! (-> self block) -1) + (set! (-> self block-time) (-> *display* base-frame-counter)) + (+! (-> self block) 1) + (mem-copy! + (the-as pointer (-> self params)) + (the-as pointer (-> *fisher-params* (-> self difficulty) (-> self block))) + 56 ) - (go fisher-done) - ) - (suspend) + (set! (-> self ambient-big-one) 0) + (set! (-> self ambient-steady) 0) + (set! (-> self ambient-sagging) 0) + (set! (-> self ambient-almost) 0) + (while #t + (hide-hud-quick) + (fisher-game-update) + (if (or + (zero? (-> self params timeout)) + (>= (-> self missed) (-> *FISHER-bank* max-missed)) + (>= (-> self caught) (-> *FISHER-bank* max-caught)) + ) + (go fisher-done) + ) + (suspend) + ) + (none) ) - (none) - ) :post - (behavior () - (ja-post) - (none) - ) + (behavior () (ja-post) (none)) ) ;; failed to figure out what this is: @@ -2372,19 +1866,19 @@ :virtual #t :trans (behavior () - (set-blackout-frames 5) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'change-mode) - (set! (-> a1-0 param 0) (the-as uint 'fishing)) - (set! (-> a1-0 param 1) (the-as uint self)) - (if (send-event-function *target* a1-0) - (go fisher-playing) - ) + (set-blackout-frames 5) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'change-mode) + (set! (-> a1-0 param 0) (the-as uint 'fishing)) + (set! (-> a1-0 param 1) (the-as uint self)) + (if (send-event-function *target* a1-0) + (go fisher-playing) + ) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -2392,139 +1886,71 @@ :virtual #t :enter (behavior () - (init! - (-> self query) - (lookup-text! *common-text* (game-text-id fish?) #f) - 40 - 150 - 25 - #f - (lookup-text! *common-text* (game-text-id quit) #f) + (init! + (-> self query) + (lookup-text! *common-text* (game-text-id fish?) #f) + 40 + 150 + 25 + #f + (lookup-text! *common-text* (game-text-id quit) #f) + ) + (none) ) - (none) - ) ) ;; definition for method 43 of type fisher (defmethod TODO-RENAME-43 fisher ((obj fisher)) (cond - ((closed? - (-> obj tasks) - (game-task jungle-fishgame) - (task-status need-reminder) - ) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 300 - 122880.0 - obj - ) - (let* ((v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-6 (the-as number (logior #x3f800000 v1-5))) - (f0-2 (+ -1.0 (the-as float v1-6))) - ) - (if (< 0.5 f0-2) - (play-ambient - (-> obj ambient) - "FIS-LO03" - #f - (-> obj root-override trans) - ) - (play-ambient - (-> obj ambient) - "FIS-LO05" - #f - (-> obj root-override trans) - ) + ((closed? (-> obj tasks) (game-task jungle-fishgame) (task-status need-reminder)) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 300 122880.0 obj) + (let* ((v1-5 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-6 (the-as number (logior #x3f800000 v1-5))) + (f0-2 (+ -1.0 (the-as float v1-6))) + ) + (if (< 0.5 f0-2) + (play-ambient (-> obj ambient) "FIS-LO03" #f (-> obj root-override trans)) + (play-ambient (-> obj ambient) "FIS-LO05" #f (-> obj root-override trans)) + ) + ) ) - ) ) - ) - (else - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-15 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-16 (the-as number (logior #x3f800000 v1-15))) - (f0-5 (+ -1.0 (the-as float v1-16))) + (else + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-15 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-16 (the-as number (logior #x3f800000 v1-15))) + (f0-5 (+ -1.0 (the-as float v1-16))) + ) + (cond + ((< 0.875 f0-5) + (play-ambient (-> obj ambient) "FIS-LO01" #f (-> obj root-override trans)) + ) + ((< 0.75 f0-5) + (play-ambient (-> obj ambient) "FIS-LO04" #f (-> obj root-override trans)) + ) + ((< 0.625 f0-5) + (play-ambient (-> obj ambient) "FIS-AM01" #f (-> obj root-override trans)) + ) + ((< 0.5 f0-5) + (play-ambient (-> obj ambient) "FIS-AM02" #f (-> obj root-override trans)) + ) + ((< 0.375 f0-5) + (play-ambient (-> obj ambient) "FIS-AM03" #f (-> obj root-override trans)) + ) + ((< 0.25 f0-5) + (play-ambient (-> obj ambient) "FIS-AM04" #f (-> obj root-override trans)) + ) + ((< 0.125 f0-5) + (play-ambient (-> obj ambient) "FIS-AM05" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "FIS-AM06" #f (-> obj root-override trans)) + ) ) - (cond - ((< 0.875 f0-5) - (play-ambient - (-> obj ambient) - "FIS-LO01" - #f - (-> obj root-override trans) - ) + ) ) - ((< 0.75 f0-5) - (play-ambient - (-> obj ambient) - "FIS-LO04" - #f - (-> obj root-override trans) - ) - ) - ((< 0.625 f0-5) - (play-ambient - (-> obj ambient) - "FIS-AM01" - #f - (-> obj root-override trans) - ) - ) - ((< 0.5 f0-5) - (play-ambient - (-> obj ambient) - "FIS-AM02" - #f - (-> obj root-override trans) - ) - ) - ((< 0.375 f0-5) - (play-ambient - (-> obj ambient) - "FIS-AM03" - #f - (-> obj root-override trans) - ) - ) - ((< 0.25 f0-5) - (play-ambient - (-> obj ambient) - "FIS-AM04" - #f - (-> obj root-override trans) - ) - ) - ((< 0.125 f0-5) - (play-ambient - (-> obj ambient) - "FIS-AM05" - #f - (-> obj root-override trans) - ) - ) - (else - (play-ambient - (-> obj ambient) - "FIS-AM06" - #f - (-> obj root-override trans) - ) - ) - ) ) - ) ) - ) ) ;; failed to figure out what this is: @@ -2532,100 +1958,82 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-0 rgbaf)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'emissive-on) - (set-vector! (-> self draw color-mult) 0.6 0.6 0.6 1.0) - (set! v0-0 (-> self draw color-emissive)) - (set! (-> v0-0 x) 0.6) - (set! (-> v0-0 y) 0.6) - (set! (-> v0-0 z) 0.6) - (set! (-> v0-0 w) 0.0) - v0-0 - ) - ((= v1-0 'emissive-off) - (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) - (set! v0-0 (-> self draw color-emissive)) - (set! (-> v0-0 x) 0.0) - (set! (-> v0-0 y) 0.0) - (set! (-> v0-0 z) 0.0) - (set! (-> v0-0 w) 0.0) - v0-0 - ) - ) - ) + (local-vars (v0-0 rgbaf)) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'emissive-on) + (set-vector! (-> self draw color-mult) 0.6 0.6 0.6 1.0) + (set! v0-0 (-> self draw color-emissive)) + (set! (-> v0-0 x) 0.6) + (set! (-> v0-0 y) 0.6) + (set! (-> v0-0 z) 0.6) + (set! (-> v0-0 w) 0.0) + v0-0 + ) + ((= v1-0 'emissive-off) + (set-vector! (-> self draw color-mult) 1.0 1.0 1.0 1.0) + (set! v0-0 (-> self draw color-emissive)) + (set! (-> v0-0 x) 0.0) + (set! (-> v0-0 y) 0.0) + (set! (-> v0-0 z) 0.0) + (set! (-> v0-0 w) 0.0) + v0-0 + ) + ) + ) + ) ) - ) :trans (behavior () - (when (-> self training) - (let ((gp-0 (new-stack-vector0))) - (vector<-cspace! gp-0 (-> self node-list data 74)) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2001) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 + (when (-> self training) + (let ((gp-0 (new-stack-vector0))) + (vector<-cspace! gp-0 (-> self node-list data 74)) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2001) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (fisher-fish-water gp-0 (+ 32768.0 (vector-y-angle (-> self node-list data 75 bone transform vector 1)))) + (vector<-cspace! gp-0 (-> self node-list data 77)) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2001) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (fisher-fish-water gp-0 (+ 32768.0 (vector-y-angle (-> self node-list data 78 bone transform vector 1)))) + (vector<-cspace! gp-0 (-> self node-list data 80)) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 828) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2013) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (fisher-fish-water gp-0 (+ 32768.0 (vector-y-angle (-> self node-list data 80 bone transform vector 1)))) + ) ) - (fisher-fish-water - gp-0 - (+ - 32768.0 - (vector-y-angle (-> self node-list data 75 bone transform vector 1)) - ) + (let ((t9-14 (-> (the-as state (find-parent-method fisher 24)) trans))) + (if t9-14 + (t9-14) + ) ) - (vector<-cspace! gp-0 (-> self node-list data 77)) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2001) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (fisher-fish-water - gp-0 - (+ - 32768.0 - (vector-y-angle (-> self node-list data 78 bone transform vector 1)) - ) - ) - (vector<-cspace! gp-0 (-> self node-list data 80)) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 828) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2013) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (fisher-fish-water - gp-0 - (+ - 32768.0 - (vector-y-angle (-> self node-list data 80 bone transform vector 1)) - ) - ) - ) + (none) ) - (let ((t9-14 (-> (the-as state (find-parent-method fisher 24)) trans))) - (if t9-14 - (t9-14) - ) - ) - (none) - ) ) ;; failed to figure out what this is: @@ -2633,294 +2041,250 @@ :virtual #t :trans (behavior () - (let ((t9-1 (-> (the-as state (find-parent-method fisher 30)) trans))) - (if t9-1 - (t9-1) - ) - ) - (when (task-complete? *game-info* (-> self entity extra perm task)) - (when (nonzero? (-> *cpad-list* cpads 0 button0-rel 0)) - (let ((v1-9 (-> self cheat-temp))) - (cond - ((zero? v1-9) - (cond - ((cpad-pressed? 0 left) - (+! (-> self cheat-temp) 1) + (let ((t9-1 (-> (the-as state (find-parent-method fisher 30)) trans))) + (if t9-1 + (t9-1) ) - (else - (set! (-> self cheat-temp) 0) - 0 - ) - ) - ) - ((= v1-9 1) - (cond - ((cpad-pressed? 0 left) - (+! (-> self cheat-temp) 1) - ) - (else - (set! (-> self cheat-temp) 0) - 0 - ) - ) - ) - ((= v1-9 2) - (cond - ((cpad-pressed? 0 right) - (+! (-> self cheat-temp) 1) - ) - (else - (set! (-> self cheat-temp) 0) - 0 - ) - ) - ) - ((= v1-9 3) - (cond - ((cpad-pressed? 0 right) - (+! (-> self cheat-temp) 1) - ) - (else - (set! (-> self cheat-temp) 0) - 0 - ) - ) - ) - ((= v1-9 4) - (cond - ((cpad-pressed? 0 left) - (+! (-> self cheat-temp) 1) - ) - (else - (set! (-> self cheat-temp) 0) - 0 - ) - ) - ) - ((= v1-9 5) - (cond - ((cpad-pressed? 0 left) - (+! (-> self cheat-temp) 1) - ) - (else - (set! (-> self cheat-temp) 0) - 0 - ) - ) - ) - ((= v1-9 6) - (cond - ((cpad-pressed? 0 right) - (+! (-> self cheat-temp) 1) - ) - (else - (set! (-> self cheat-temp) 0) - 0 - ) - ) - ) - ((= v1-9 7) - (cond - ((cpad-pressed? 0 right) - (+! (-> self cheat-temp) 1) - ) - (else - (set! (-> self cheat-temp) 0) - 0 - ) - ) - ) - ((= v1-9 8) - (cond - ((cpad-pressed? 0 x) - (set! (-> self hard) #t) - (set! (-> self difficulty) 5) - (set! (-> *FISHER-bank* max-caught) #x70000000) - (ambient-hint-spawn - "FIS-LO03" - (the-as vector #f) - *entity-pool* - 'stinger - ) - (set! (-> self cheat-temp) 0) - 0 - ) - (else - (set! (-> self cheat-temp) 0) - 0 - ) - ) - ) - ) ) - ) + (when (task-complete? *game-info* (-> self entity extra perm task)) + (when (nonzero? (-> *cpad-list* cpads 0 button0-rel 0)) + (let ((v1-9 (-> self cheat-temp))) + (cond + ((zero? v1-9) + (cond + ((cpad-pressed? 0 left) + (+! (-> self cheat-temp) 1) + ) + (else + (set! (-> self cheat-temp) 0) + 0 + ) + ) + ) + ((= v1-9 1) + (cond + ((cpad-pressed? 0 left) + (+! (-> self cheat-temp) 1) + ) + (else + (set! (-> self cheat-temp) 0) + 0 + ) + ) + ) + ((= v1-9 2) + (cond + ((cpad-pressed? 0 right) + (+! (-> self cheat-temp) 1) + ) + (else + (set! (-> self cheat-temp) 0) + 0 + ) + ) + ) + ((= v1-9 3) + (cond + ((cpad-pressed? 0 right) + (+! (-> self cheat-temp) 1) + ) + (else + (set! (-> self cheat-temp) 0) + 0 + ) + ) + ) + ((= v1-9 4) + (cond + ((cpad-pressed? 0 left) + (+! (-> self cheat-temp) 1) + ) + (else + (set! (-> self cheat-temp) 0) + 0 + ) + ) + ) + ((= v1-9 5) + (cond + ((cpad-pressed? 0 left) + (+! (-> self cheat-temp) 1) + ) + (else + (set! (-> self cheat-temp) 0) + 0 + ) + ) + ) + ((= v1-9 6) + (cond + ((cpad-pressed? 0 right) + (+! (-> self cheat-temp) 1) + ) + (else + (set! (-> self cheat-temp) 0) + 0 + ) + ) + ) + ((= v1-9 7) + (cond + ((cpad-pressed? 0 right) + (+! (-> self cheat-temp) 1) + ) + (else + (set! (-> self cheat-temp) 0) + 0 + ) + ) + ) + ((= v1-9 8) + (cond + ((cpad-pressed? 0 x) + (set! (-> self hard) #t) + (set! (-> self difficulty) 5) + (set! (-> *FISHER-bank* max-caught) #x70000000) + (ambient-hint-spawn "FIS-LO03" (the-as vector #f) *entity-pool* 'stinger) + (set! (-> self cheat-temp) 0) + 0 + ) + (else + (set! (-> self cheat-temp) 0) + 0 + ) + ) + ) + ) + ) + ) + ) + (none) ) - (none) - ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) - (let* ((f30-0 5.0) - (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-10 (the-as number (logior #x3f800000 v1-9))) - ) - (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-10 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (TODO-RENAME-43 self) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (get-art-elem self) ) - (-> self draw art-group data 6) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-19 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (ja-channel-push! 1 60) + ) + (while #t + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + ) + (let* ((f30-0 5.0) + (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-10 (the-as number (logior #x3f800000 v1-9))) + ) + (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-10 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-10 param 1) 1.0) + (set! (-> a0-10 frame-num) 0.0) + (joint-control-channel-group! + a0-10 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (TODO-RENAME-43 self) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (when (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 6) + ) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-19 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-19 param 1) 1.0) + (set! (-> a0-19 frame-num) 0.0) + (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (TODO-RENAME-43 self) + (suspend) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) + (set! (-> a0-21 param 1) 1.0) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! - a0-19 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) ) - (until (ja-done? 0) - (TODO-RENAME-43 self) - (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! - (-> a0-21 param 0) - (the float (+ (-> a0-21 frame-group data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; definition for method 41 of type fisher ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision fisher ((obj fisher) (arg0 int) (arg1 vector)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set-vector! (-> s4-0 local-sphere) 6144.0 0.0 4096.0 14336.0) - (set-root-prim! s5-0 s4-0) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) arg0) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 6553.6) - (append-prim s4-0 s2-0) - ) - (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 4) - (set! (-> s3-1 transform-index) 57) - (set-vector! (-> s3-1 local-sphere) 0.0 4096.0 0.0 4096.0) - (append-prim s4-0 s3-1) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set-vector! (-> s4-0 local-sphere) 6144.0 0.0 4096.0 14336.0) + (set-root-prim! s5-0 s4-0) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) arg0) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 6553.6) + (append-prim s4-0 s2-0) + ) + (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 4) + (set! (-> s3-1 transform-index) 57) + (set-vector! (-> s3-1 local-sphere) 0.0 4096.0 0.0 4096.0) + (append-prim s4-0 s3-1) + ) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) ;; definition for method 47 of type fisher (defmethod target-above-threshold? fisher ((obj fisher)) - (or - (= (current-task (-> obj tasks)) (game-task jungle-fishgame)) - (-> obj hard) - ) + (or (= (current-task (-> obj tasks)) (game-task jungle-fishgame)) (-> obj hard)) ) ;; definition for method 11 of type fisher @@ -2929,27 +2293,17 @@ (dummy-40 obj arg0 *fisher-sg* 3 49 (new 'static 'vector :w 4096.0) 33) (set! (-> obj tasks) (get-task-control (game-task jungle-fishgame))) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) - (let - ((s5-0 (eval-path-curve-div! (-> obj path) (-> obj paddle-pos) 6.5 'interp)) - (s4-0 (TODO-RENAME-12 (-> obj path) (new-stack-vector0) 6.5)) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) + (let ((s5-0 (eval-path-curve-div! (-> obj path) (-> obj paddle-pos) 6.5 'interp)) + (s4-0 (TODO-RENAME-12 (-> obj path) (new-stack-vector0) 6.5)) + ) + (set! (-> s5-0 y) (+ 2457.6 (-> s5-0 y))) + (vector-normalize! (vector-rotate-y! s4-0 s4-0 16384.0) (-> *FISHER-bank* width)) + (vector-! (the-as vector (-> obj paddle-end)) s5-0 s4-0) + (vector+! (the-as vector (&-> obj stack 288)) s5-0 s4-0) ) - (set! (-> s5-0 y) (+ 2457.6 (-> s5-0 y))) - (vector-normalize! - (vector-rotate-y! s4-0 s4-0 16384.0) - (-> *FISHER-bank* width) - ) - (vector-! (the-as vector (-> obj paddle-end)) s5-0 s4-0) - (vector+! (the-as vector (&-> obj stack 288)) s5-0 s4-0) - ) (set! (-> obj music) 'fishgame) - (set! - (-> obj difficulty) - (the-as int (-> obj entity extra perm user-uint8 6)) - ) + (set! (-> obj difficulty) (the-as int (-> obj entity extra perm user-uint8 6))) (set! (-> obj hard) #f) (set! (-> *FISHER-bank* max-caught) 200) (set! (-> obj training) #f) @@ -2961,250 +2315,181 @@ (defstate target-fishing (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (cond - ((= arg2 'bounce) - (set-zero! (-> self control unknown-smush00)) - (activate! (-> self control unknown-smush00) 1.0 120 210 0.3 1.0) - ) - ((= arg2 'lose) - (set! (-> self control unknown-uint20) (the-as uint arg2)) - arg2 - ) - (else - ((-> target-grab event) arg0 arg1 arg2 arg3) - ) + (cond + ((= arg2 'bounce) + (set-zero! (-> self control unknown-smush00)) + (activate! (-> self control unknown-smush00) 1.0 120 210 0.3 1.0) + ) + ((= arg2 'lose) + (set! (-> self control unknown-uint20) (the-as uint arg2)) + arg2 + ) + (else + ((-> target-grab event) arg0 arg1 arg2 arg3) + ) + ) ) - ) :enter (behavior ((arg0 handle)) - (set! (-> self control unknown-surface00) *empty-mods*) - (logior! (-> self state-flags) 16) - (set-zero! (-> self control unknown-smush00)) - (set! (-> self control unknown-uint20) (the-as uint #f)) - (none) - ) + (set! (-> self control unknown-surface00) *empty-mods*) + (logior! (-> self state-flags) 16) + (set-zero! (-> self control unknown-smush00)) + (set! (-> self control unknown-uint20) (the-as uint #f)) + (none) + ) :exit (behavior () - (set! (-> self state-flags) (logand -17 (-> self state-flags))) - (let ((v1-2 (-> self manipy))) - (when v1-2 - (deactivate (-> v1-2 0)) - (set! (-> self manipy) (the-as (pointer manipy) #f)) - ) + (set! (-> self state-flags) (logand -17 (-> self state-flags))) + (let ((v1-2 (-> self manipy))) + (when v1-2 + (deactivate (-> v1-2 0)) + (set! (-> self manipy) (the-as (pointer manipy) #f)) + ) + ) + (-> target-periscope exit) + (none) ) - (-> target-periscope exit) - (none) - ) :code (behavior ((arg0 handle)) - (let ((v1-1 (handle->process arg0))) - (when (and v1-1 (type-type? (-> v1-1 type) fisher)) - (set-vector! (-> self control trans) 1067827.2 9420.8 -955596.8 1.0) - (set-yaw-angle-clear-roll-pitch! (-> self control) -20024.889) - (rot->dir-targ! (-> self control)) - ) - ) - (ja-channel-set! 1) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self manipy) (the-as (pointer manipy) (when s5-0 - (let - ((t9-5 - (method-of-type - manipy - activate - ) - ) - ) - (t9-5 - (the-as manipy s5-0) - self - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (let - ((t9-6 - run-function-in-process - ) - (a0-11 s5-0) - (a1-5 manipy-init) - (a2-2 - (-> self control trans) - ) - (v1-16 - (handle->process arg0) - ) - ) - ((the-as - (function object object object object object object none) - t9-6 - ) - a0-11 - a1-5 - a2-2 - (if v1-16 - (-> v1-16 entity) - (the-as entity #f) - ) - *fish-net-sg* - #f - ) - ) - (-> s5-0 ppointer) - ) - ) - ) - ) - (when (-> self manipy) - (send-event (ppointer->process (-> self manipy)) 'anim-mode 'copy-parent) - (send-event - (ppointer->process (-> self manipy)) - 'eval - (lambda :behavior target - () - (set! - (-> self attack-info vector x) - (the-as - float - (new 'process 'joint-mod (joint-mod-handler-mode joint-set*) self 6) + (let ((v1-1 (handle->process arg0))) + (when (and v1-1 (type-type? (-> v1-1 type) fisher)) + (set-vector! (-> self control trans) 1067827.2 9420.8 -955596.8 1.0) + (set-yaw-angle-clear-roll-pitch! (-> self control) -20024.889) + (rot->dir-targ! (-> self control)) ) - ) - (set! - (-> self attack-info vector y) - (the-as - float - (new 'process 'joint-mod (joint-mod-handler-mode joint-set*) self 5) - ) - ) - (none) ) - ) - (let ((v1-35 (-> self manipy 0 node-list data))) - (set! (-> v1-35 0 param0) cspace<-cspace+quaternion!) - (set! (-> v1-35 0 param1) (the-as basic (-> self node-list data 23))) - (set! (-> v1-35 0 param2) (the-as basic (-> self control quat))) - ) - ) - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 99)) - num-func-identity - ) - (set! (-> s5-1 frame-num) (ja-aframe 15.0 0)) - ) - (let ((s5-2 (new 'stack-no-clear 'vector))) - (until (-> self control unknown-spoolanim00) - (let ((v1-42 (handle->process arg0))) - (when v1-42 - (let ((a0-28 (-> self skel root-channel 0))) - (set! - (-> a0-28 param 0) - (* - (fmax 0.0 (- 1.0 (-> (the-as fisher v1-42) paddle))) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! - a0-28 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (when (-> self manipy) - (let ((s2-0 (new-stack-quaternion0)) - (s4-0 (new-stack-quaternion0)) - (s3-0 (quaternion-identity! (new-stack-quaternion0))) - (f30-0 (update! (-> self control unknown-smush00))) - ) - (quaternion-rotate-y! s3-0 s3-0 (* 5461.3335 f30-0)) - (set-vector! s2-0 1.0 1.0 1.0 1.0) - (set-vector! s4-0 0.0 (* 2048.0 (-> s5-2 y)) (* 819.2 (-> s5-2 y)) 1.0) - (initialize-skeleton - (-> self manipy 0 joint 0) - (the-as skeleton-group s4-0) - (the-as pair s3-0) - ) - (set-vector! s4-0 0.0 (* -614.4 f30-0) 0.0 1.0) - (let* ((a0-34 (-> self manipy 0 joint 1)) - (t9-16 (method-of-object a0-34 initialize-skeleton)) - (a2-7 #f) + (ja-channel-set! 1) + (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> self manipy) + (the-as (pointer manipy) (when s5-0 + (let ((t9-5 (method-of-type manipy activate))) + (t9-5 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) + ) + (let ((t9-6 run-function-in-process) + (a0-11 s5-0) + (a1-5 manipy-init) + (a2-2 (-> self control trans)) + (v1-16 (handle->process arg0)) + ) + ((the-as (function object object object object object object none) t9-6) + a0-11 + a1-5 + a2-2 + (if v1-16 + (-> v1-16 entity) + (the-as entity #f) + ) + *fish-net-sg* + #f + ) + ) + (-> s5-0 ppointer) + ) + ) + ) + ) + (when (-> self manipy) + (send-event (ppointer->process (-> self manipy)) 'anim-mode 'copy-parent) + (send-event + (ppointer->process (-> self manipy)) + 'eval + (lambda :behavior target + () + (set! (-> self attack-info vector x) + (the-as float (new 'process 'joint-mod (joint-mod-handler-mode joint-set*) self 6)) ) - (t9-16 a0-34 (the-as skeleton-group s4-0) (the-as pair a2-7)) + (set! (-> self attack-info vector y) + (the-as float (new 'process 'joint-mod (joint-mod-handler-mode joint-set*) self 5)) + ) + (none) ) - (set! (-> s5-2 y) (-> s5-2 x)) - (set! (-> s5-2 x) f30-0) - ) ) - ) + (let ((v1-35 (-> self manipy 0 node-list data))) + (set! (-> v1-35 0 param0) cspace<-cspace+quaternion!) + (set! (-> v1-35 0 param1) (the-as basic (-> self node-list data 23))) + (set! (-> v1-35 0 param2) (the-as basic (-> self control quat))) + ) ) - (suspend) - ) - ) - (case (-> self control unknown-spoolanim00) - (('lose) - (ja-channel-push! 1 30) - (let ((a0-38 (-> self skel root-channel 0))) - (set! - (-> a0-38 frame-group) - (the-as art-joint-anim (-> self draw art-group data 100)) + (let ((s5-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> self draw art-group data 99)) + num-func-identity ) - (set! - (-> a0-38 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 100)) - data - 0 - length + (set! (-> s5-1 frame-num) (ja-aframe 15.0 0)) + ) + (let ((s5-2 (new 'stack-no-clear 'vector))) + (until (-> self control unknown-spoolanim00) + (let ((v1-42 (handle->process arg0))) + (when v1-42 + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 param 0) (* (fmax 0.0 (- 1.0 (-> (the-as fisher v1-42) paddle))) + (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + ) + (set! (-> a0-28 param 1) 1.0) + (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) + ) + (when (-> self manipy) + (let ((s2-0 (new-stack-quaternion0)) + (s4-0 (new-stack-quaternion0)) + (s3-0 (quaternion-identity! (new-stack-quaternion0))) + (f30-0 (update! (-> self control unknown-smush00))) + ) + (quaternion-rotate-y! s3-0 s3-0 (* 5461.3335 f30-0)) + (set-vector! s2-0 1.0 1.0 1.0 1.0) + (set-vector! s4-0 0.0 (* 2048.0 (-> s5-2 y)) (* 819.2 (-> s5-2 y)) 1.0) + (initialize-skeleton (-> self manipy 0 joint 0) (the-as skeleton-group s4-0) (the-as pair s3-0)) + (set-vector! s4-0 0.0 (* -614.4 f30-0) 0.0 1.0) + (let* ((a0-34 (-> self manipy 0 joint 1)) + (t9-16 (method-of-object a0-34 initialize-skeleton)) + (a2-7 #f) + ) + (t9-16 a0-34 (the-as skeleton-group s4-0) (the-as pair a2-7)) + ) + (set! (-> s5-2 y) (-> s5-2 x)) + (set! (-> s5-2 x) f30-0) + ) + ) + ) + ) + (suspend) + ) + ) + (case (-> self control unknown-spoolanim00) + (('lose) + (ja-channel-push! 1 30) + (let ((a0-38 (-> self skel root-channel 0))) + (set! (-> a0-38 frame-group) (the-as art-joint-anim (-> self draw art-group data 100))) + (set! (-> a0-38 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 100)) data 0 length) -1)) + ) + (set! (-> a0-38 param 1) 1.0) + (set! (-> a0-38 frame-num) 0.0) + (joint-control-channel-group! a0-38 (the-as art-joint-anim (-> self draw art-group data 100)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-39 (-> self skel root-channel 0))) + (set! (-> a0-39 param 0) (the float (+ (-> a0-39 frame-group data 0 length) -1))) + (set! (-> a0-39 param 1) 1.0) + (joint-control-channel-group-eval! a0-39 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-38 param 1) 1.0) - (set! (-> a0-38 frame-num) 0.0) - (joint-control-channel-group! - a0-38 - (the-as art-joint-anim (-> self draw art-group data 100)) - num-func-seek! - ) + (anim-loop) ) - (until (ja-done? 0) - (suspend) - (let ((a0-39 (-> self skel root-channel 0))) - (set! - (-> a0-39 param 0) - (the float (+ (-> a0-39 frame-group data 0 length) -1)) - ) - (set! (-> a0-39 param 1) 1.0) - (joint-control-channel-group-eval! - a0-39 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (anim-loop) ) + (none) ) - (none) - ) :post (the-as (function none :behavior target) target-post) ) diff --git a/test/decompiler/reference/levels/jungle/hopper_REF.gc b/test/decompiler/reference/levels/jungle/hopper_REF.gc index 662bb390da..53eca4164a 100644 --- a/test/decompiler/reference/levels/jungle/hopper_REF.gc +++ b/test/decompiler/reference/levels/jungle/hopper_REF.gc @@ -15,8 +15,8 @@ ;; definition for method 3 of type hopper (defmethod inspect hopper ((obj hopper)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tjump-length: ~f~%" (-> obj jump-length)) (format #t "~T~Tshadow-min-y: ~f~%" (-> obj shadow-min-y)) obj @@ -39,11 +39,8 @@ nav-enemy-default-event-handler ;; INFO: Return type mismatch int vs none. (defmethod common-post hopper ((obj hopper)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (set! - (-> v1-1 settings bot-plane w) - (- (- (-> obj shadow-min-y) (-> obj collide-info trans y))) + (set! (-> v1-1 settings bot-plane w) (- (- (-> obj shadow-min-y) (-> obj collide-info trans y)))) ) - ) 0 ((the-as (function nav-enemy none) (find-parent-method hopper 39)) obj) 0 @@ -55,32 +52,20 @@ nav-enemy-default-event-handler ;; Used lq/sq (defbehavior hopper-find-ground hopper ((arg0 vector)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (let ((t1-0 (new 'stack-no-clear 'collide-tri-result)) - (f30-0 61440.0) - ) - (set! (-> s5-0 quad) (-> arg0 quad)) - (set! (-> s5-0 y) (+ 20480.0 (-> s5-0 y))) - (let - ((f0-2 - (fill-and-probe-using-y-probe - *collide-cache* - s5-0 - f30-0 - (the-as uint 1) - self - t1-0 - (the-as uint 1) + (let ((t1-0 (new 'stack-no-clear 'collide-tri-result)) + (f30-0 61440.0) + ) + (set! (-> s5-0 quad) (-> arg0 quad)) + (set! (-> s5-0 y) (+ 20480.0 (-> s5-0 y))) + (let ((f0-2 (fill-and-probe-using-y-probe *collide-cache* s5-0 f30-0 (the-as uint 1) self t1-0 (the-as uint 1)))) + (if (< f0-2 0.0) + (return (the-as object #f)) + ) + (set! (-> s5-0 y) (- (-> s5-0 y) (* f0-2 f30-0))) ) - ) ) - (if (< f0-2 0.0) - (return (the-as object #f)) - ) - (set! (-> s5-0 y) (- (-> s5-0 y) (* f0-2 f30-0))) - ) + (set! (-> arg0 quad) (-> s5-0 quad)) ) - (set! (-> arg0 quad) (-> s5-0 quad)) - ) 0 ) @@ -90,34 +75,27 @@ nav-enemy-default-event-handler (defbehavior hopper-jump-to hopper ((arg0 vector)) (set! (-> self jump-dest quad) (-> arg0 quad)) (hopper-find-ground (-> self jump-dest)) - (set! - (-> self shadow-min-y) - (+ - (fmin (-> self collide-info trans y) (-> self jump-dest y)) - (-> self nav-info shadow-min-y) - ) - ) + (set! (-> self shadow-min-y) + (+ (fmin (-> self collide-info trans y) (-> self jump-dest y)) (-> self nav-info shadow-min-y)) + ) (nav-enemy-initialize-custom-jump - (-> self jump-dest) - #f - (-> self nav-info jump-height-min) - (-> self nav-info jump-height-factor) - -409600.0 - ) + (-> self jump-dest) + #f + (-> self nav-info jump-height-min) + (-> self nav-info jump-height-factor) + -409600.0 + ) (set! (-> self nav-enemy-flags) (logand -513 (-> self nav-enemy-flags))) (set! (-> self nav-enemy-flags) (logand -1025 (-> self nav-enemy-flags))) (logior! (-> self nav-enemy-flags) 16) (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) (when (not (nav-enemy-facing-point? (-> self jump-dest) 5461.3335)) - (ja-channel-push! 1 60) - (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) - ) + (ja-channel-push! 1 60) + (nav-enemy-turn-to-face-point (-> self jump-dest) 1820.4445) + ) (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) (nav-enemy-execute-jump) - (set! - (-> self shadow-min-y) - (+ (-> self collide-info trans y) (-> self nav-info shadow-min-y)) - ) + (set! (-> self shadow-min-y) (+ (-> self collide-info trans y) (-> self nav-info shadow-min-y))) (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) (nav-enemy-jump-land-anim) 0 @@ -129,13 +107,9 @@ nav-enemy-default-event-handler (defbehavior hopper-do-jump hopper () (dummy-11 (-> self nav) (-> self nav target-pos)) (if (< (-> self jump-length) (vector-length (-> self nav travel))) - (vector-normalize! (-> self nav travel) (-> self jump-length)) - ) - (vector+! - (-> self jump-dest) - (-> self collide-info trans) - (-> self nav travel) - ) + (vector-normalize! (-> self nav travel) (-> self jump-length)) + ) + (vector+! (-> self jump-dest) (-> self collide-info trans) (-> self nav travel)) (hopper-jump-to (-> self jump-dest)) 0 (none) @@ -146,104 +120,52 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior hopper) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior hopper) + nav-enemy-default-event-handler + ) :code (behavior () - (ja-channel-push! 1 22) - (while #t - (dotimes (gp-0 3) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (ja-channel-push! 1 22) + (while #t + (dotimes (gp-0 3) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-4 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-4 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -251,163 +173,103 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior hopper) - nav-enemy-jump-event-handler - ) + (function process int symbol event-message-block object :behavior hopper) + nav-enemy-jump-event-handler + ) :trans (behavior () - (if (zero? (logand (-> self nav-enemy-flags) 8)) - ((-> (method-of-type nav-enemy nav-enemy-patrol) trans)) + (if (zero? (logand (-> self nav-enemy-flags) 8)) + ((-> (method-of-type nav-enemy nav-enemy-patrol) trans)) + ) + (none) ) - (none) - ) :code (behavior () - (vector-reset! (-> self collide-info transv)) - (set! (-> self jump-length) 16384.0) - (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) - (while #t - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 20) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length + (vector-reset! (-> self collide-info transv)) + (set! (-> self jump-length) 16384.0) + (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) + (while #t + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 7) + ) + (ja-channel-push! 1 20) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-push! 1 30) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 9) - ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> a0-15 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 + (ja-channel-push! 1 30) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 9) + ) + (ja-channel-push! 1 30) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> a0-15 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (ja-channel-push! 1 30) + ) + (else + (ja-channel-push! 1 22) ) - ) ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((gp-0 (-> self skel root-channel 0))) (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) + gp-0 + (the-as art-joint-anim (-> self draw art-group data 5)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) ) - ) - (ja-channel-push! 1 30) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) + (suspend) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) 1.0) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + (when (or (logtest? (nav-control-flags bit19) (-> self nav flags)) (< 2.0 (-> self nav block-count))) + (set! (-> self nav block-count) 0.0) + (logior! (-> self nav flags) (nav-control-flags bit10)) + (nav-enemy-get-new-patrol-point) + (set! (-> self nav target-pos quad) (-> self nav destination-pos quad)) + ) + (hopper-do-jump) ) - (else - (ja-channel-push! 1 22) - ) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) - (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - (when - (or - (logtest? (nav-control-flags bit19) (-> self nav flags)) - (< 2.0 (-> self nav block-count)) - ) - (set! (-> self nav block-count) 0.0) - (logior! (-> self nav flags) (nav-control-flags bit10)) - (nav-enemy-get-new-patrol-point) - (set! (-> self nav target-pos quad) (-> self nav destination-pos quad)) - ) - (hopper-do-jump) + (none) ) - (none) - ) :post (the-as (function none :behavior hopper) nav-enemy-jump-post) ) @@ -417,14 +279,11 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior hopper) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior hopper) + nav-enemy-default-event-handler + ) :code - (behavior () - (go-virtual nav-enemy-chase) - (none) - ) + (behavior () (go-virtual nav-enemy-chase) (none)) ) ;; failed to figure out what this is: @@ -432,154 +291,98 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior hopper) - nav-enemy-jump-event-handler - ) + (function process int symbol event-message-block object :behavior hopper) + nav-enemy-jump-event-handler + ) :trans (behavior () - (if (zero? (logand (-> self nav-enemy-flags) 8)) - ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) + (if (zero? (logand (-> self nav-enemy-flags) 8)) + ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) + ) + (none) ) - (none) - ) :code (behavior () - (vector-reset! (-> self collide-info transv)) - (set! (-> self jump-length) 32768.0) - (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) - (while #t - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 20) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length + (vector-reset! (-> self collide-info transv)) + (set! (-> self jump-length) 32768.0) + (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) + (while #t + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 7) + ) + (ja-channel-push! 1 20) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-push! 1 30) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 9) - ) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> a0-15 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 + (ja-channel-push! 1 30) + ) + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 9) + ) + (ja-channel-push! 1 30) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> a0-15 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (ja-channel-push! 1 30) + ) + (else + (ja-channel-push! 1 22) ) - ) ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((gp-0 (-> self skel root-channel 0))) (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) + gp-0 + (the-as art-joint-anim (-> self draw art-group data 5)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) ) - ) - (ja-channel-push! 1 30) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) + (suspend) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) 1.0) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + (set! (-> self nav target-pos quad) (-> (target-pos 0) quad)) + (hopper-do-jump) ) - (else - (ja-channel-push! 1 22) - ) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) - (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - (set! (-> self nav target-pos quad) (-> (target-pos 0) quad)) - (hopper-do-jump) + (none) ) - (none) - ) :post (the-as (function none :behavior hopper) nav-enemy-jump-post) ) @@ -589,123 +392,105 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior hopper) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior hopper) + nav-enemy-default-event-handler + ) :code - (behavior () - (go-virtual nav-enemy-stare) - (none) - ) + (behavior () (go-virtual nav-enemy-stare) (none)) ) ;; definition for symbol *hopper-nav-enemy-info*, type nav-enemy-info -(define - *hopper-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 5 - :walk-anim 5 - :turn-anim 9 - :notice-anim 5 - :run-anim 5 - :jump-anim 7 - :jump-land-anim 8 - :victory-anim 6 - :taunt-anim 6 - :die-anim 11 - :neck-joint -1 - :player-look-at-joint 5 - :run-travel-speed (meters 10.0) - :run-rotate-speed (degrees 7999.9995) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.1) - :walk-travel-speed (meters 6.0) - :walk-rotate-speed (degrees 7999.9995) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.1) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 1.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 30.0) - :stop-chase-distance (meters 40.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 10000000000.0 - :jump-anim-start-frame 3.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 3.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #t - :draw-shadow #t - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #t - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #t - ) - ) +(define *hopper-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 5 + :walk-anim 5 + :turn-anim 9 + :notice-anim 5 + :run-anim 5 + :jump-anim 7 + :jump-land-anim 8 + :victory-anim 6 + :taunt-anim 6 + :die-anim 11 + :neck-joint -1 + :player-look-at-joint 5 + :run-travel-speed (meters 10.0) + :run-rotate-speed (degrees 7999.9995) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.1) + :walk-travel-speed (meters 6.0) + :walk-rotate-speed (degrees 7999.9995) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.1) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 1.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 30.0) + :stop-chase-distance (meters 40.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 10000000000.0 + :jump-anim-start-frame 3.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 3.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #t + :draw-shadow #t + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #t + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #t + ) + ) ;; definition for method 47 of type hopper ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision hopper ((obj hopper)) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s4-0 local-sphere) 0.0 4096.0 0.0 10240.0) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 1) + (set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 4096.0) + (append-prim s4-0 s3-0) + ) + (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 1) + (set-vector! (-> s3-1 local-sphere) 0.0 6963.2 0.0 4096.0) + (append-prim s4-0 s3-1) + ) ) - ) + (set! (-> s5-0 nav-radius) 6144.0) + (backup-collide-with-as s5-0) + (set! (-> s5-0 max-iteration-count) (the-as uint 2)) + (set! (-> obj collide-info) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s4-0 local-sphere) 0.0 4096.0 0.0 10240.0) - (set-root-prim! s5-0 s4-0) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 1) - (set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 4096.0) - (append-prim s4-0 s3-0) - ) - (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 1) - (set-vector! (-> s3-1 local-sphere) 0.0 6963.2 0.0 4096.0) - (append-prim s4-0 s3-1) - ) - ) - (set! (-> s5-0 nav-radius) 6144.0) - (backup-collide-with-as s5-0) - (set! (-> s5-0 max-iteration-count) (the-as uint 2)) - (set! (-> obj collide-info) s5-0) - ) 0 (none) ) @@ -715,10 +500,7 @@ nav-enemy-default-event-handler (defmethod TODO-RENAME-48 hopper ((obj hopper)) (initialize-skeleton obj *hopper-sg* '()) (TODO-RENAME-45 obj *hopper-nav-enemy-info*) - (set! - (-> obj shadow-min-y) - (+ (-> obj collide-info trans y) (-> obj nav-info shadow-min-y)) - ) + (set! (-> obj shadow-min-y) (+ (-> obj collide-info trans y) (-> obj nav-info shadow-min-y))) 0 (none) ) diff --git a/test/decompiler/reference/levels/jungle/jungle-elevator_REF.gc b/test/decompiler/reference/levels/jungle/jungle-elevator_REF.gc index 68c128273b..51914a9544 100644 --- a/test/decompiler/reference/levels/jungle/jungle-elevator_REF.gc +++ b/test/decompiler/reference/levels/jungle/jungle-elevator_REF.gc @@ -16,8 +16,8 @@ ;; definition for method 3 of type jungle-elevator (defmethod inspect jungle-elevator ((obj jungle-elevator)) (let ((t9-0 (method-of-type plat-button inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tbottom-height: ~f~%" (-> obj bottom-height)) (format #t "~T~Tteleport-if-below-y: ~f~%" (-> obj teleport-if-below-y)) (format #t "~T~Tteleport-if-above-y: ~f~%" (-> obj teleport-if-above-y)) @@ -26,10 +26,7 @@ ;; definition for method 26 of type jungle-elevator (defmethod can-activate? jungle-elevator ((obj jungle-elevator)) - (and - ((method-of-type plat-button can-activate?) obj) - (task-complete? *game-info* (game-task jungle-tower)) - ) + (and ((method-of-type plat-button can-activate?) obj) (task-complete? *game-info* (game-task jungle-tower))) ) ;; failed to figure out what this is: @@ -37,62 +34,49 @@ :virtual #t :enter (behavior () - (let - ((t9-0 (-> (method-of-type plat-button plat-button-move-downward) enter))) - (if t9-0 - (t9-0) - ) + (let ((t9-0 (-> (method-of-type plat-button plat-button-move-downward) enter))) + (if t9-0 + (t9-0) + ) + ) + (set! (-> self draw light-index) (the-as uint 255)) + (set! (-> self bottom-height) (-> jungle bottom-height)) + (set! (-> jungle bottom-height) (-> jungleb bottom-height)) + (send-event *target* 'reset-pickup 'eco) + (none) ) - (set! (-> self draw light-index) (the-as uint 255)) - (set! (-> self bottom-height) (-> jungle bottom-height)) - (set! (-> jungle bottom-height) (-> jungleb bottom-height)) - (send-event *target* 'reset-pickup 'eco) - (none) - ) :exit (behavior () - (set! (-> jungle bottom-height) (-> self bottom-height)) - (let - ((t9-0 (-> (method-of-type plat-button plat-button-move-downward) exit))) - (if t9-0 - (t9-0) - ) + (set! (-> jungle bottom-height) (-> self bottom-height)) + (let ((t9-0 (-> (method-of-type plat-button plat-button-move-downward) exit))) + (if t9-0 + (t9-0) + ) + ) + (none) ) - (none) - ) :trans (behavior () - (let ((s5-0 (new 'stack-no-clear 'vector)) - (gp-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> s5-0 quad) (-> self root-override trans quad)) - (let - ((t9-1 - (-> - (the-as (state plat-button) (find-parent-method jungle-elevator 23)) - trans + (let ((s5-0 (new 'stack-no-clear 'vector)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s5-0 quad) (-> self root-override trans quad)) + (let ((t9-1 (-> (the-as (state plat-button) (find-parent-method jungle-elevator 23)) trans))) + (if t9-1 + (t9-1) + ) + ) + (vector-! gp-0 (-> self root-override trans) s5-0) + (when (< (-> self path-pos) 0.9) + (TODO-RENAME-28 (-> *target* control) gp-0) + (send-event *target* 'reset-height) ) - ) ) - (if t9-1 - (t9-1) - ) - ) - (vector-! gp-0 (-> self root-override trans) s5-0) - (when (< (-> self path-pos) 0.9) - (TODO-RENAME-28 (-> *target* control) gp-0) - (send-event *target* 'reset-height) - ) + (if (and (>= (-> self path-pos) 0.2) (< (- (-> *display* base-frame-counter) (-> self state-time)) 60)) + (load-commands-set! *level* (load-command-get-index *level* 'jungle 0)) + ) + (none) ) - (if - (and - (>= (-> self path-pos) 0.2) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 60) - ) - (load-commands-set! *level* (load-command-get-index *level* 'jungle 0)) - ) - (none) - ) ) ;; failed to figure out what this is: @@ -100,43 +84,39 @@ :virtual #t :enter (behavior () - (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) enter))) - (if t9-0 - (t9-0) - ) + (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) enter))) + (if t9-0 + (t9-0) + ) + ) + (set! (-> self draw light-index) (the-as uint 255)) + (set! (-> self bottom-height) (-> jungle bottom-height)) + (set! (-> jungle bottom-height) (-> jungleb bottom-height)) + (set! (-> self grab-player?) (process-grab? *target*)) + (none) ) - (set! (-> self draw light-index) (the-as uint 255)) - (set! (-> self bottom-height) (-> jungle bottom-height)) - (set! (-> jungle bottom-height) (-> jungleb bottom-height)) - (set! (-> self grab-player?) (process-grab? *target*)) - (none) - ) :exit (behavior () - (set! (-> jungle bottom-height) (-> self bottom-height)) - (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) exit))) - (if t9-0 - (t9-0) - ) + (set! (-> jungle bottom-height) (-> self bottom-height)) + (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) exit))) + (if t9-0 + (t9-0) + ) + ) + (none) ) - (none) - ) :trans (behavior () - (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) trans))) - (if t9-0 - (t9-0) - ) + (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) trans))) + (if t9-0 + (t9-0) + ) + ) + (if (and (< (-> self path-pos) 0.8) (< (- (-> *display* base-frame-counter) (-> self state-time)) 60)) + (load-commands-set! *level* (load-command-get-index *level* 'jungle 1)) + ) + (none) ) - (if - (and - (< (-> self path-pos) 0.8) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 60) - ) - (load-commands-set! *level* (load-command-get-index *level* 'jungle 1)) - ) - (none) - ) ) ;; failed to figure out what this is: @@ -144,64 +124,64 @@ :virtual #t :code (behavior () - (cond - ((!= (-> self path-pos) 0.0) - (set! (-> self draw light-index) (the-as uint 1)) - (let ((a1-1 (res-lump-struct (-> self entity) 'continue-name structure))) - (when a1-1 - (let ((v1-4 (set-continue! *game-info* (the-as basic a1-1)))) - (load-commands-set! *level* (-> v1-4 load-commands)) - ) + (cond + ((!= (-> self path-pos) 0.0) + (set! (-> self draw light-index) (the-as uint 1)) + (let ((a1-1 (res-lump-struct (-> self entity) 'continue-name structure))) + (when a1-1 + (let ((v1-4 (set-continue! *game-info* (the-as basic a1-1)))) + (load-commands-set! *level* (-> v1-4 load-commands)) + ) + ) + ) ) + (else + (set! (-> self draw light-index) (the-as uint 255)) + (load-commands-set! *level* '()) + ) ) - ) - (else - (set! (-> self draw light-index) (the-as uint 255)) - (load-commands-set! *level* '()) - ) + (let ((t9-4 (-> (method-of-type plat-button plat-button-at-end) code))) + (if t9-4 + ((the-as (function none :behavior plat-button) t9-4)) + ) + ) + (none) ) - (let ((t9-4 (-> (method-of-type plat-button plat-button-at-end) code))) - (if t9-4 - ((the-as (function none :behavior plat-button) t9-4)) - ) - ) - (none) - ) ) ;; definition for method 30 of type jungle-elevator (defmethod should-teleport? jungle-elevator ((obj jungle-elevator)) (let ((f0-0 (-> (camera-pos) y))) - (case (-> obj path-pos) - ((0.0) - (when (< f0-0 (-> obj teleport-if-below-y)) - (set! (-> obj draw light-index) (the-as uint 1)) - (return #t) + (case (-> obj path-pos) + ((0.0) + (when (< f0-0 (-> obj teleport-if-below-y)) + (set! (-> obj draw light-index) (the-as uint 1)) + (return #t) + ) + ) + ((1.0) + (when (< (-> obj teleport-if-above-y) f0-0) + (set! (-> obj draw light-index) (the-as uint 255)) + (return #t) + ) ) ) - ((1.0) - (when (< (-> obj teleport-if-above-y) f0-0) - (set! (-> obj draw light-index) (the-as uint 255)) - (return #t) - ) - ) ) - ) #f ) ;; definition for method 29 of type jungle-elevator (defmethod can-target-move? jungle-elevator ((obj jungle-elevator)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (eval-path-curve! (-> obj path) s5-0 0.4 'interp) - (set! (-> obj teleport-if-above-y) (-> s5-0 y)) - (eval-path-curve! (-> obj path) s5-0 0.6 'interp) - (set! (-> obj teleport-if-below-y) (-> s5-0 y)) - ) + (eval-path-curve! (-> obj path) s5-0 0.4 'interp) + (set! (-> obj teleport-if-above-y) (-> s5-0 y)) + (eval-path-curve! (-> obj path) s5-0 0.6 'interp) + (set! (-> obj teleport-if-below-y) (-> s5-0 y)) + ) (set! (-> obj draw light-index) (the-as uint 255)) (set! (-> obj bidirectional?) #f) (let ((v0-2 #t)) - (set! (-> obj should-grab-player?) v0-2) - v0-2 - ) + (set! (-> obj should-grab-player?) v0-2) + v0-2 + ) ) diff --git a/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc b/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc index 2161ce0dc3..3c4f82cba6 100644 --- a/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc +++ b/test/decompiler/reference/levels/jungle/jungle-obs_REF.gc @@ -36,8 +36,8 @@ ;; definition for method 3 of type logtrap (defmethod inspect logtrap ((obj logtrap)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -56,125 +56,73 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (if (or (= arg2 'touch) (= arg2 'attack)) - (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (if (or (= arg2 'touch) (= arg2 'attack)) + (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + ) ) - ) :code (behavior () - (transform-post) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 + (transform-post) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (when (logtest? (-> self draw status) 8) - (cond - ((> (-> self draw cur-lod) 0) - (ja-post) - ) - (else - (transform-post) - (if *target* - (look-at-enemy! - (-> *target* neck) - (the-as vector (-> self root-override root-prim prim-core)) - #f - self + (until (ja-done? 0) + (when (logtest? (-> self draw status) 8) + (cond + ((> (-> self draw cur-lod) 0) + (ja-post) + ) + (else + (transform-post) + (if *target* + (look-at-enemy! (-> *target* neck) (the-as vector (-> self root-override root-prim prim-core)) #f self) + ) + ) + ) + ) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - ) ) - ) ) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) ) ;; definition for method 11 of type logtrap ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! logtrap ((obj logtrap) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 transform-index) 6) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 19251.2) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 transform-index) 6) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 19251.2) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *logtrap-sg* '()) - (set! - (-> obj draw shadow-ctrl) - (new 'process 'shadow-control -5734.4 0.0 614400.0 (the-as float 1) 163840.0) - ) + (set! (-> obj draw shadow-ctrl) (new 'process 'shadow-control -5734.4 0.0 614400.0 (the-as float 1) 163840.0)) (logclear! (-> obj mask) (process-mask actor-pause)) (dummy-47 (-> obj root-override)) (go (method-of-object obj idle)) @@ -194,8 +142,8 @@ ;; definition for method 3 of type towertop (defmethod inspect towertop ((obj towertop)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -212,53 +160,27 @@ (defstate towertop-idle (towertop) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 0.4) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 0.4) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-0 param 1) 0.4) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 0.4) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior towertop) ja-post) ) @@ -290,8 +212,8 @@ ;; definition for method 3 of type lurkerm-tall-sail (defmethod inspect lurkerm-tall-sail ((obj lurkerm-tall-sail)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tspeed: ~f~%" (-> obj speed)) (format #t "~T~Talt-actor: ~A~%" (-> obj alt-actor)) obj @@ -310,147 +232,92 @@ (defstate lurkerm-tall-sail-idle (lurkerm-tall-sail) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'stop) - (process-entity-status! - self - (entity-perm-status complete) - #t - ) - (let ((f0-0 0.0)) - (set! (-> self speed) f0-0) - f0-0 - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'stop) + (process-entity-status! self (entity-perm-status complete) #t) + (let ((f0-0 0.0)) + (set! (-> self speed) f0-0) + f0-0 + ) + ) + ) + ) ) - ) :trans (the-as (function none :behavior lurkerm-tall-sail) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) (* 0.5 (-> self speed))) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (quaternion-rotate-local-y! + (-> self root-override quat) + (-> self root-override quat) + (* 12743.111 (-> *display* seconds-per-frame) (-> self speed)) + ) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) (* 0.5 (-> self speed))) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-0 param 1) (* 0.5 (-> self speed))) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (quaternion-rotate-local-y! - (-> self root-override quat) - (-> self root-override quat) - (* 12743.111 (-> *display* seconds-per-frame) (-> self speed)) - ) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) (* 0.5 (-> self speed))) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior lurkerm-tall-sail) rider-post) ) ;; definition for method 11 of type lurkerm-tall-sail ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - lurkerm-tall-sail - ((obj lurkerm-tall-sail) (arg0 entity-actor)) +(defmethod init-from-entity! lurkerm-tall-sail ((obj lurkerm-tall-sail) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 1) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 36044.8 0.0 47104.0) - (set-root-prim! s4-0 s3-0) - (let - ((s2-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 1) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 36044.8 0.0 47104.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 3)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 3) + (set-vector! (-> s2-0 local-sphere) 39321.6 0.0 0.0 43417.6) + (append-prim s3-0 s2-0) ) - ) ) - (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 3)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 3) - (set-vector! (-> s2-0 local-sphere) 39321.6 0.0 0.0 43417.6) - (append-prim s3-0 s2-0) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *lurkerm-tall-sail-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (set! (-> obj alt-actor) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (set! (-> obj speed) 1.0) - (if - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (set! (-> obj speed) 0.0) - ) + (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (set! (-> obj speed) 0.0) + ) (go lurkerm-tall-sail-idle) (none) ) @@ -470,8 +337,8 @@ ;; definition for method 3 of type lurkerm-short-sail (defmethod inspect lurkerm-short-sail ((obj lurkerm-short-sail)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tspeed: ~f~%" (-> obj speed)) (format #t "~T~Talt-actor: ~A~%" (-> obj alt-actor)) obj @@ -490,184 +357,109 @@ (defstate lurkerm-short-sail-idle (lurkerm-short-sail) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'stop) - (process-entity-status! - self - (entity-perm-status complete) - #t - ) - (let ((f0-0 0.0)) - (set! (-> self speed) f0-0) - f0-0 - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'stop) + (process-entity-status! self (entity-perm-status complete) #t) + (let ((f0-0 0.0)) + (set! (-> self speed) f0-0) + f0-0 + ) + ) + ) + ) ) - ) :trans (the-as (function none :behavior lurkerm-short-sail) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) (* 0.5 (-> self speed))) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (quaternion-rotate-local-y! + (-> self root-override quat) + (-> self root-override quat) + (* -12743.111 (-> *display* seconds-per-frame) (-> self speed)) + ) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) (* 0.5 (-> self speed))) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-0 param 1) (* 0.5 (-> self speed))) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (quaternion-rotate-local-y! - (-> self root-override quat) - (-> self root-override quat) - (* -12743.111 (-> *display* seconds-per-frame) (-> self speed)) - ) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) (* 0.5 (-> self speed))) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior lurkerm-short-sail) rider-post) ) ;; definition for method 11 of type lurkerm-short-sail ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - lurkerm-short-sail - ((obj lurkerm-short-sail) (arg0 entity-actor)) +(defmethod init-from-entity! lurkerm-short-sail ((obj lurkerm-short-sail) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 3) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set-vector! (-> s3-0 local-sphere) 0.0 40960.0 0.0 49152.0) - (set-root-prim! s4-0 s3-0) - (let - ((s2-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 3) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set-vector! (-> s3-0 local-sphere) 0.0 40960.0 0.0 49152.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 3)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 4) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 36864.0) + (append-prim s3-0 s2-0) ) - ) - ) - (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 3)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 4) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 36864.0) - (append-prim s3-0 s2-0) - ) - (let - ((s2-1 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 0) + (let ((s2-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 3)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 3) + (set-vector! (-> s2-1 local-sphere) 40960.0 0.0 0.0 24576.0) + (append-prim s3-0 s2-1) ) - ) - ) - (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 3)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 3) - (set-vector! (-> s2-1 local-sphere) 40960.0 0.0 0.0 24576.0) - (append-prim s3-0 s2-1) - ) - (let - ((s2-2 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 2) - (the-as uint 0) + (let ((s2-2 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 2) (the-as uint 0)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core action) (the-as uint 3)) + (set! (-> s2-2 prim-core offense) 4) + (set! (-> s2-2 transform-index) 3) + (set-vector! (-> s2-2 local-sphere) 40960.0 0.0 0.0 24576.0) + (append-prim s3-0 s2-2) ) - ) ) - (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core action) (the-as uint 3)) - (set! (-> s2-2 prim-core offense) 4) - (set! (-> s2-2 transform-index) 3) - (set-vector! (-> s2-2 local-sphere) 40960.0 0.0 0.0 24576.0) - (append-prim s3-0 s2-2) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *lurkerm-short-sail-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (set! (-> obj alt-actor) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (set! (-> obj speed) 1.0) - (if - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (set! (-> obj speed) 0.0) - ) + (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (set! (-> obj speed) 0.0) + ) (go lurkerm-short-sail-idle) (none) ) @@ -690,8 +482,8 @@ ;; definition for method 3 of type lurkerm-piston (defmethod inspect lurkerm-piston ((obj lurkerm-piston)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Tbase: ~`vector`P~%" (-> obj base)) (format #t "~T~Theight: ~`vector`P~%" (-> obj height)) @@ -713,83 +505,47 @@ (defstate lurkerm-piston-idle (lurkerm-piston) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'stop) - (process-entity-status! - self - (entity-perm-status complete) - #t - ) - (let ((f0-0 0.0)) - (set! (-> self speed) f0-0) - f0-0 - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'stop) + (process-entity-status! self (entity-perm-status complete) #t) + (let ((f0-0 0.0)) + (set! (-> self speed) f0-0) + f0-0 + ) + ) + ) + ) ) - ) :trans (the-as (function none :behavior lurkerm-piston) rider-trans) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) (-> self speed)) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) ) - ) - ) - (set! (-> a0-0 param 1) (-> self speed)) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (let ((gp-0 (new-stack-vector0))) - (set! (-> gp-0 quad) (-> self base quad)) - (+! - (-> gp-0 y) - (* - (get-current-value-with-mirror (-> self sync) (-> self height y)) - (-> self speed) + (until (ja-done? 0) + (let ((gp-0 (new-stack-vector0))) + (set! (-> gp-0 quad) (-> self base quad)) + (+! (-> gp-0 y) (* (get-current-value-with-mirror (-> self sync) (-> self height y)) (-> self speed))) + (TODO-RENAME-30 (-> self root-override) gp-0) + ) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) (-> self speed)) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) - (TODO-RENAME-30 (-> self root-override) gp-0) ) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) (-> self speed)) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior lurkerm-piston) rider-post) ) @@ -797,50 +553,29 @@ ;; definition for method 11 of type lurkerm-piston ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - lurkerm-piston - ((obj lurkerm-piston) (arg0 entity-actor)) +(defmethod init-from-entity! lurkerm-piston ((obj lurkerm-piston) (arg0 entity-actor)) (local-vars (sv-16 res-tag) (sv-32 res-tag)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 24576.0 0.0 0.0 20480.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 24576.0 0.0 0.0 20480.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (initialize-skeleton obj *lurkerm-piston-sg* '()) @@ -848,45 +583,35 @@ (dummy-47 (-> obj root-override)) (set! (-> obj base quad) (-> obj root-override trans quad)) (let ((f30-0 (-> obj base y))) - (set! sv-16 (new 'static 'res-tag)) - (let ((v1-32 (res-lump-data arg0 'height-info pointer :tag-ptr (& sv-16)))) - (set! - (-> obj base y) - (+ f30-0 (if (and v1-32 (> (the-as int (-> sv-16 elt-count)) 0)) - (-> (the-as (pointer float) v1-32)) - 0.0 - ) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-32 (res-lump-data arg0 'height-info pointer :tag-ptr (& sv-16)))) + (set! (-> obj base y) (+ f30-0 (if (and v1-32 (> (the-as int (-> sv-16 elt-count)) 0)) + (-> (the-as (pointer float) v1-32)) + 0.0 + ) + ) + ) ) - ) ) - ) (let ((s4-1 (-> obj height))) - (set! (-> s4-1 x) 0.0) - (set! sv-32 (new 'static 'res-tag)) - (let - ((v1-35 - (res-lump-data arg0 'height-info (pointer float) :tag-ptr (& sv-32)) + (set! (-> s4-1 x) 0.0) + (set! sv-32 (new 'static 'res-tag)) + (let ((v1-35 (res-lump-data arg0 'height-info (pointer float) :tag-ptr (& sv-32)))) + (set! (-> s4-1 y) (if (and v1-35 (< 1 (the-as int (-> sv-32 elt-count)))) + (-> v1-35 1) + 20480.0 + ) + ) ) - ) - (set! (-> s4-1 y) (if (and v1-35 (< 1 (the-as int (-> sv-32 elt-count)))) - (-> v1-35 1) - 20480.0 - ) - ) + (set! (-> s4-1 z) 0.0) + (set! (-> s4-1 w) 1.0) ) - (set! (-> s4-1 z) 0.0) - (set! (-> s4-1 w) 1.0) - ) (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.15 0.15) (set! (-> obj alt-actor) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (set! (-> obj speed) 1.0) - (if - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (set! (-> obj speed) 0.0) - ) + (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (set! (-> obj speed) 0.0) + ) (go lurkerm-piston-idle) (none) ) @@ -905,8 +630,8 @@ ;; definition for method 3 of type accordian (defmethod inspect accordian ((obj accordian)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tspeed: ~f~%" (-> obj speed)) (format #t "~T~Talt-actor: ~A~%" (-> obj alt-actor)) obj @@ -925,49 +650,37 @@ (defstate accordian-idle (accordian) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'stop) - (process-entity-status! - self - (entity-perm-status complete) - #t - ) - (let ((f0-0 0.0)) - (set! (-> self speed) f0-0) - f0-0 - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'stop) + (process-entity-status! self (entity-perm-status complete) #t) + (let ((f0-0 0.0)) + (set! (-> self speed) f0-0) + f0-0 + ) + ) + ) + ) ) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-post) - (while #t - (suspend) - (when (logtest? (-> self draw status) 8) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) (-> self speed)) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-loop! - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) ) - (ja-post) - ) + (ja-post) + (while #t + (suspend) + (when (logtest? (-> self draw status) 8) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (-> self speed)) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-post) + ) + ) + (none) ) - (none) - ) ) ;; definition for method 11 of type accordian @@ -979,13 +692,9 @@ (set! (-> obj root pause-adjust-distance) 204800.0) (set! (-> obj alt-actor) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (set! (-> obj speed) 1.0) - (if - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (set! (-> obj speed) 0.0) - ) + (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (set! (-> obj speed) 0.0) + ) (go accordian-idle) (none) ) @@ -1051,8 +760,8 @@ ;; definition for method 3 of type precurbridgecam (defmethod inspect precurbridgecam ((obj precurbridgecam)) (let ((t9-0 (method-of-type pov-camera inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1061,59 +770,38 @@ :virtual #t :code (behavior () - (ambient-hint-spawn "gamcam30" (the-as vector #f) *entity-pool* 'camera) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! (-> gp-0 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! + (ambient-hint-spawn "gamcam30" (the-as vector #f) *entity-pool* 'camera) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) ) - ) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> gp-0 param 0) (ja-aframe 0.0 0)) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) + (set! (-> gp-1 param 1) 1.0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (send-event (ppointer->process (-> self parent)) 'go) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 1.0) + (joint-control-channel-group! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) + (while (not (ja-done? 0)) + (suspend) + (ja-eval) + ) + (go-virtual pov-camera-done-playing) + (none) ) - (send-event (ppointer->process (-> self parent)) 'go) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (go-virtual pov-camera-done-playing) - (none) - ) ) ;; definition of type precurbridge-span @@ -1147,15 +835,11 @@ ;; definition for method 3 of type precurbridge (defmethod inspect precurbridge ((obj precurbridge)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsmush: #~%" (-> obj smush)) (format #t "~T~Tbase: ~`vector`P~%" (-> obj base)) - (format - #t - "~T~Tactivation-point: #~%" - (-> obj activation-point) - ) + (format #t "~T~Tactivation-point: #~%" (-> obj activation-point)) (format #t "~T~Tspan-array[8] @ #x~X~%" (-> obj span-array)) obj ) @@ -1172,103 +856,86 @@ ;; failed to figure out what this is: (defstate precurbridge-idle (precurbridge) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('go) - (go precurbridge-activate) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('go) + (go precurbridge-activate) + ) + ) + ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (transform-post) - (while #t - (when - (and - *target* - (< - (vector-vector-xz-distance - (-> self activation-point) - (-> *target* control trans) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 3)) + num-func-identity ) - 49152.0 - ) - (< (-> self activation-point y) (-> *target* control trans y)) - (< (-> *target* control trans y) (+ 20480.0 (-> self activation-point y))) - (not (-> self child)) + (set! (-> gp-0 frame-num) 0.0) ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'query) - (set! (-> a1-2 param 0) (the-as uint 'powerup)) - (set! (-> a1-2 param 1) (the-as uint 3)) - (cond - ((send-event-function *target* a1-2) - (logclear! (-> self mask) (process-mask actor-pause)) - (logclear! (-> self mask) (process-mask platform)) - (let ((gp-1 (entity-by-name "junglecam-1"))) - (cond - (gp-1 - (let - ((s5-0 (get-process *default-dead-pool* precurbridgecam #x4000))) - (when s5-0 - (let ((t9-6 (method-of-type precurbridgecam activate))) - (t9-6 - (the-as precurbridgecam s5-0) - self - 'precurbridgecam - (the-as pointer #x70004000) + (transform-post) + (while #t + (when (and + *target* + (< (vector-vector-xz-distance (-> self activation-point) (-> *target* control trans)) 49152.0) + (< (-> self activation-point y) (-> *target* control trans y)) + (< (-> *target* control trans y) (+ 20480.0 (-> self activation-point y))) + (not (-> self child)) + ) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 2) + (set! (-> a1-2 message) 'query) + (set! (-> a1-2 param 0) (the-as uint 'powerup)) + (set! (-> a1-2 param 1) (the-as uint 3)) + (cond + ((send-event-function *target* a1-2) + (logclear! (-> self mask) (process-mask actor-pause)) + (logclear! (-> self mask) (process-mask platform)) + (let ((gp-1 (entity-by-name "junglecam-1"))) + (cond + (gp-1 + (let ((s5-0 (get-process *default-dead-pool* precurbridgecam #x4000))) + (when s5-0 + (let ((t9-6 (method-of-type precurbridgecam activate))) + (t9-6 (the-as precurbridgecam s5-0) self 'precurbridgecam (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-0 + pov-camera-init-by-other + (-> gp-1 extra trans) + *junglecam-sg* + "precurbridgecam" + 0 + #f + '() + ) + (-> s5-0 ppointer) + ) + ) + ) + (else + (format #t "ERROR: position for precursor bridge camera not found~%") + (go precurbridge-activate) + ) + ) ) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> gp-1 extra trans) - *junglecam-sg* - "precurbridgecam" - 0 - #f - '() - ) - (-> s5-0 ppointer) ) + (else + (level-hint-spawn + (game-text-id jungle-precursorbridge-hint) + "sksp0039" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) ) - ) - (else - (format - #t - "ERROR: position for precursor bridge camera not found~%" - ) - (go precurbridge-activate) - ) ) - ) ) - (else - (level-hint-spawn - (game-text-id jungle-precursorbridge-hint) - "sksp0039" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior precurbridge) ja-post) ) @@ -1276,73 +943,44 @@ ;; failed to figure out what this is: (defstate precurbridge-activate (precurbridge) :exit - (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (none) - ) + (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none)) :trans (the-as (function none :behavior precurbridge) rider-trans) :code (behavior () - (process-entity-status! self (entity-perm-status complete) #t) - (sound-play-by-name - (static-sound-name "blue-eco-on") - (new-sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol (-> self root-override trans)) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-3 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length + (process-entity-status! self (entity-perm-status complete) #t) + (sound-play-by-name + (static-sound-name "blue-eco-on") + (new-sound-id) + 1024 + 0 + 0 + 1 + (the-as symbol (-> self root-override trans)) + ) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-3 param 1) 0.25) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (if (rand-vu-percent? 0.1) + (spawn-projectile-blue *target*) + ) + (suspend) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) 0.25) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-3 param 1) 0.25) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) + (go precurbridge-active #f) + (none) ) - (until (ja-done? 0) - (if (rand-vu-percent? 0.1) - (spawn-projectile-blue *target*) - ) - (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 0.25) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go precurbridge-active #f) - (none) - ) :post (the-as (function none :behavior precurbridge) rider-post) ) @@ -1351,110 +989,92 @@ (defstate precurbridge-active (precurbridge) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'bonk) - (let* ((gp-0 (the-as object (-> arg3 param 0))) - (a0-2 (-> (the-as touching-shapes-entry gp-0) head)) - (s5-0 (-> self root-override)) - ) - (get-touched-prim - a0-2 - s5-0 - (the-as touching-prims-entry gp-0) - ) - ((method-of-type touching-shapes-entry get-touched-shape) - (the-as touching-shapes-entry gp-0) - s5-0 - ) - ) - (activate! (-> self smush) -1.0 150 600 1.0 1.0) - ) - ) + (let ((v1-0 arg2)) + (the-as + object + (when (= v1-0 'bonk) + (let* ((gp-0 (the-as object (-> arg3 param 0))) + (a0-2 (-> (the-as touching-shapes-entry gp-0) head)) + (s5-0 (-> self root-override)) + ) + (get-touched-prim a0-2 s5-0 (the-as touching-prims-entry gp-0)) + ((method-of-type touching-shapes-entry get-touched-shape) (the-as touching-shapes-entry gp-0) s5-0) + ) + (activate! (-> self smush) -1.0 150 600 1.0 1.0) + ) + ) + ) ) - ) :trans (the-as (function none :behavior precurbridge) rider-trans) :code (behavior ((arg0 symbol)) - (set! (-> self draw bounds w) 81920.0) - (when arg0 - (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - ) - (ja-post) - (dummy-47 (-> self root-override)) - (logior! (-> self mask) (process-mask actor-pause)) - (while #t - (if (not (movie?)) - (set! (-> self mask) (logior (process-mask platform) (-> self mask))) - ) - (cond - ((and - *target* - (>= - 61440.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) - (ja-channel-push! 1 60) - (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> self draw bounds w) 81920.0) + (when arg0 + (ja-channel-set! 1) + (let ((gp-0 (-> self skel root-channel 0))) (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) + gp-0 + (the-as art-joint-anim (-> self draw art-group data 4)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) ) - ) ) - (else - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) + (ja-post) + (dummy-47 (-> self root-override)) + (logior! (-> self mask) (process-mask actor-pause)) + (while #t + (if (not (movie?)) + (set! (-> self mask) (logior (process-mask platform) (-> self mask))) + ) + (cond + ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 5) + ) + ) + (ja-channel-push! 1 60) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 5)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) ) - (ja-channel-push! 1 60) - (let ((gp-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity + ) ) - (set! (-> gp-2 frame-num) 0.0) + (else + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 4) + ) + ) + (ja-channel-push! 1 60) + (let ((gp-2 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-2 + (the-as art-joint-anim (-> self draw art-group data 4)) + num-func-identity + ) + (set! (-> gp-2 frame-num) 0.0) + ) + ) + ) ) - ) + (update! (-> self sound)) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 param 0) 0.4) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) ) - ) - (update! (-> self sound)) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) 0.4) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior precurbridge) rider-post) ) @@ -1462,344 +1082,172 @@ ;; definition for method 11 of type precurbridge ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - precurbridge - ((obj precurbridge) (arg0 entity-actor)) +(defmethod init-from-entity! precurbridge ((obj precurbridge) (arg0 entity-actor)) (stack-size-set! (-> obj main-thread) 512) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 16) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 81920.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 3) (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 3)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 5) + (set-vector! (-> s2-0 local-sphere) -6144.0 0.0 0.0 17203.2) + (append-prim s3-0 s2-0) + ) + (let ((s2-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 3)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 7) + (set-vector! (-> s2-1 local-sphere) 6144.0 0.0 0.0 17203.2) + (append-prim s3-0 s2-1) + ) + (let ((s2-2 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 3) (the-as uint 1)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core action) (the-as uint 3)) + (set! (-> s2-2 prim-core offense) 4) + (set! (-> s2-2 transform-index) 9) + (set-vector! (-> s2-2 local-sphere) -6144.0 0.0 0.0 17203.2) + (append-prim s3-0 s2-2) + ) + (let ((s2-3 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-3 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-3 collide-with) (the-as uint 16)) + (set! (-> s2-3 prim-core action) (the-as uint 3)) + (set! (-> s2-3 prim-core offense) 4) + (set! (-> s2-3 transform-index) 11) + (set-vector! (-> s2-3 local-sphere) 6144.0 0.0 0.0 17203.2) + (append-prim s3-0 s2-3) + ) + (let ((s2-4 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 3) (the-as uint 1)))) + (set! (-> s2-4 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-4 collide-with) (the-as uint 16)) + (set! (-> s2-4 prim-core action) (the-as uint 3)) + (set! (-> s2-4 prim-core offense) 4) + (set! (-> s2-4 transform-index) 13) + (set-vector! (-> s2-4 local-sphere) -6144.0 0.0 0.0 17203.2) + (append-prim s3-0 s2-4) + ) + (let ((s2-5 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-5 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-5 collide-with) (the-as uint 16)) + (set! (-> s2-5 prim-core action) (the-as uint 3)) + (set! (-> s2-5 prim-core offense) 4) + (set! (-> s2-5 transform-index) 15) + (set-vector! (-> s2-5 local-sphere) 6144.0 0.0 0.0 17203.2) + (append-prim s3-0 s2-5) + ) + (let ((s2-6 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 3) (the-as uint 1)))) + (set! (-> s2-6 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-6 collide-with) (the-as uint 16)) + (set! (-> s2-6 prim-core action) (the-as uint 3)) + (set! (-> s2-6 prim-core offense) 4) + (set! (-> s2-6 transform-index) 17) + (set-vector! (-> s2-6 local-sphere) -6144.0 0.0 0.0 17203.2) + (append-prim s3-0 s2-6) + ) + (let ((s2-7 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-7 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-7 collide-with) (the-as uint 16)) + (set! (-> s2-7 prim-core action) (the-as uint 3)) + (set! (-> s2-7 prim-core offense) 4) + (set! (-> s2-7 transform-index) 19) + (set-vector! (-> s2-7 local-sphere) 6144.0 0.0 0.0 17203.2) + (append-prim s3-0 s2-7) + ) + (let ((s2-8 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 2) (the-as uint 0)))) + (set! (-> s2-8 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-8 collide-with) (the-as uint 16)) + (set! (-> s2-8 prim-core action) (the-as uint 3)) + (set! (-> s2-8 prim-core offense) 4) + (set! (-> s2-8 transform-index) 4) + (set-vector! (-> s2-8 local-sphere) -4096.0 0.0 0.0 9011.2) + (append-prim s3-0 s2-8) + ) + (let ((s2-9 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-9 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-9 collide-with) (the-as uint 16)) + (set! (-> s2-9 prim-core action) (the-as uint 3)) + (set! (-> s2-9 prim-core offense) 4) + (set! (-> s2-9 transform-index) 6) + (set-vector! (-> s2-9 local-sphere) 4096.0 0.0 0.0 9011.2) + (append-prim s3-0 s2-9) + ) + (let ((s2-10 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 2) (the-as uint 0)))) + (set! (-> s2-10 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-10 collide-with) (the-as uint 16)) + (set! (-> s2-10 prim-core action) (the-as uint 3)) + (set! (-> s2-10 prim-core offense) 4) + (set! (-> s2-10 transform-index) 8) + (set-vector! (-> s2-10 local-sphere) -4096.0 0.0 0.0 9011.2) + (append-prim s3-0 s2-10) + ) + (let ((s2-11 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-11 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-11 collide-with) (the-as uint 16)) + (set! (-> s2-11 prim-core action) (the-as uint 3)) + (set! (-> s2-11 prim-core offense) 4) + (set! (-> s2-11 transform-index) 10) + (set-vector! (-> s2-11 local-sphere) 4096.0 0.0 0.0 9011.2) + (append-prim s3-0 s2-11) + ) + (let ((s2-12 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 2) (the-as uint 0)))) + (set! (-> s2-12 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-12 collide-with) (the-as uint 16)) + (set! (-> s2-12 prim-core action) (the-as uint 3)) + (set! (-> s2-12 prim-core offense) 4) + (set! (-> s2-12 transform-index) 12) + (set-vector! (-> s2-12 local-sphere) -4096.0 0.0 0.0 9011.2) + (append-prim s3-0 s2-12) + ) + (let ((s2-13 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-13 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-13 collide-with) (the-as uint 16)) + (set! (-> s2-13 prim-core action) (the-as uint 3)) + (set! (-> s2-13 prim-core offense) 4) + (set! (-> s2-13 transform-index) 14) + (set-vector! (-> s2-13 local-sphere) 4096.0 0.0 0.0 9011.2) + (append-prim s3-0 s2-13) + ) + (let ((s2-14 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 2) (the-as uint 0)))) + (set! (-> s2-14 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-14 collide-with) (the-as uint 16)) + (set! (-> s2-14 prim-core action) (the-as uint 3)) + (set! (-> s2-14 prim-core offense) 4) + (set! (-> s2-14 transform-index) 16) + (set-vector! (-> s2-14 local-sphere) -4096.0 0.0 0.0 9011.2) + (append-prim s3-0 s2-14) + ) + (let ((s2-15 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-15 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-15 collide-with) (the-as uint 16)) + (set! (-> s2-15 prim-core action) (the-as uint 3)) + (set! (-> s2-15 prim-core offense) 4) + (set! (-> s2-15 transform-index) 18) + (set-vector! (-> s2-15 local-sphere) 4096.0 0.0 0.0 9011.2) + (append-prim s3-0 s2-15) + ) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 16) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 81920.0) - (set-root-prim! s4-0 s3-0) - (let - ((s2-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 3) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 3)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 5) - (set-vector! (-> s2-0 local-sphere) -6144.0 0.0 0.0 17203.2) - (append-prim s3-0 s2-0) - ) - (let - ((s2-1 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 3)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 7) - (set-vector! (-> s2-1 local-sphere) 6144.0 0.0 0.0 17203.2) - (append-prim s3-0 s2-1) - ) - (let - ((s2-2 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 3) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core action) (the-as uint 3)) - (set! (-> s2-2 prim-core offense) 4) - (set! (-> s2-2 transform-index) 9) - (set-vector! (-> s2-2 local-sphere) -6144.0 0.0 0.0 17203.2) - (append-prim s3-0 s2-2) - ) - (let - ((s2-3 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-3 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-3 collide-with) (the-as uint 16)) - (set! (-> s2-3 prim-core action) (the-as uint 3)) - (set! (-> s2-3 prim-core offense) 4) - (set! (-> s2-3 transform-index) 11) - (set-vector! (-> s2-3 local-sphere) 6144.0 0.0 0.0 17203.2) - (append-prim s3-0 s2-3) - ) - (let - ((s2-4 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 3) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-4 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-4 collide-with) (the-as uint 16)) - (set! (-> s2-4 prim-core action) (the-as uint 3)) - (set! (-> s2-4 prim-core offense) 4) - (set! (-> s2-4 transform-index) 13) - (set-vector! (-> s2-4 local-sphere) -6144.0 0.0 0.0 17203.2) - (append-prim s3-0 s2-4) - ) - (let - ((s2-5 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-5 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-5 collide-with) (the-as uint 16)) - (set! (-> s2-5 prim-core action) (the-as uint 3)) - (set! (-> s2-5 prim-core offense) 4) - (set! (-> s2-5 transform-index) 15) - (set-vector! (-> s2-5 local-sphere) 6144.0 0.0 0.0 17203.2) - (append-prim s3-0 s2-5) - ) - (let - ((s2-6 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 3) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-6 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-6 collide-with) (the-as uint 16)) - (set! (-> s2-6 prim-core action) (the-as uint 3)) - (set! (-> s2-6 prim-core offense) 4) - (set! (-> s2-6 transform-index) 17) - (set-vector! (-> s2-6 local-sphere) -6144.0 0.0 0.0 17203.2) - (append-prim s3-0 s2-6) - ) - (let - ((s2-7 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-7 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-7 collide-with) (the-as uint 16)) - (set! (-> s2-7 prim-core action) (the-as uint 3)) - (set! (-> s2-7 prim-core offense) 4) - (set! (-> s2-7 transform-index) 19) - (set-vector! (-> s2-7 local-sphere) 6144.0 0.0 0.0 17203.2) - (append-prim s3-0 s2-7) - ) - (let - ((s2-8 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 2) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-8 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-8 collide-with) (the-as uint 16)) - (set! (-> s2-8 prim-core action) (the-as uint 3)) - (set! (-> s2-8 prim-core offense) 4) - (set! (-> s2-8 transform-index) 4) - (set-vector! (-> s2-8 local-sphere) -4096.0 0.0 0.0 9011.2) - (append-prim s3-0 s2-8) - ) - (let - ((s2-9 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-9 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-9 collide-with) (the-as uint 16)) - (set! (-> s2-9 prim-core action) (the-as uint 3)) - (set! (-> s2-9 prim-core offense) 4) - (set! (-> s2-9 transform-index) 6) - (set-vector! (-> s2-9 local-sphere) 4096.0 0.0 0.0 9011.2) - (append-prim s3-0 s2-9) - ) - (let - ((s2-10 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 2) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-10 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-10 collide-with) (the-as uint 16)) - (set! (-> s2-10 prim-core action) (the-as uint 3)) - (set! (-> s2-10 prim-core offense) 4) - (set! (-> s2-10 transform-index) 8) - (set-vector! (-> s2-10 local-sphere) -4096.0 0.0 0.0 9011.2) - (append-prim s3-0 s2-10) - ) - (let - ((s2-11 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-11 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-11 collide-with) (the-as uint 16)) - (set! (-> s2-11 prim-core action) (the-as uint 3)) - (set! (-> s2-11 prim-core offense) 4) - (set! (-> s2-11 transform-index) 10) - (set-vector! (-> s2-11 local-sphere) 4096.0 0.0 0.0 9011.2) - (append-prim s3-0 s2-11) - ) - (let - ((s2-12 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 2) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-12 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-12 collide-with) (the-as uint 16)) - (set! (-> s2-12 prim-core action) (the-as uint 3)) - (set! (-> s2-12 prim-core offense) 4) - (set! (-> s2-12 transform-index) 12) - (set-vector! (-> s2-12 local-sphere) -4096.0 0.0 0.0 9011.2) - (append-prim s3-0 s2-12) - ) - (let - ((s2-13 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-13 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-13 collide-with) (the-as uint 16)) - (set! (-> s2-13 prim-core action) (the-as uint 3)) - (set! (-> s2-13 prim-core offense) 4) - (set! (-> s2-13 transform-index) 14) - (set-vector! (-> s2-13 local-sphere) 4096.0 0.0 0.0 9011.2) - (append-prim s3-0 s2-13) - ) - (let - ((s2-14 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 2) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-14 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-14 collide-with) (the-as uint 16)) - (set! (-> s2-14 prim-core action) (the-as uint 3)) - (set! (-> s2-14 prim-core offense) 4) - (set! (-> s2-14 transform-index) 16) - (set-vector! (-> s2-14 local-sphere) -4096.0 0.0 0.0 9011.2) - (append-prim s3-0 s2-14) - ) - (let - ((s2-15 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-15 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-15 collide-with) (the-as uint 16)) - (set! (-> s2-15 prim-core action) (the-as uint 3)) - (set! (-> s2-15 prim-core offense) 4) - (set! (-> s2-15 transform-index) 18) - (set-vector! (-> s2-15 local-sphere) 4096.0 0.0 0.0 9011.2) - (append-prim s3-0 s2-15) - ) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (set-vector! (-> obj activation-point) 1765785.6 61440.0 -1279180.8 1.0) (initialize-skeleton obj *precurbridge-sg* '()) @@ -1807,22 +1255,16 @@ (ja-post) (dummy-47 (-> obj root-override)) (set! (-> obj base quad) (-> obj root-override trans quad)) - (set! - (-> obj sound) - (new 'process 'ambient-sound arg0 (-> obj root-override trans)) - ) + (set! (-> obj sound) (new 'process 'ambient-sound arg0 (-> obj root-override trans))) (cond - ((and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) + ((and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (logclear! (-> obj mask) (process-mask actor-pause)) + (go precurbridge-active #t) ) - (logclear! (-> obj mask) (process-mask actor-pause)) - (go precurbridge-active #t) + (else + (go precurbridge-idle) + ) ) - (else - (go precurbridge-idle) - ) - ) (none) ) @@ -1840,8 +1282,8 @@ ;; definition for method 3 of type maindoor (defmethod inspect maindoor ((obj maindoor)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tthresh: ~`vector`P~%" (-> obj thresh)) obj ) @@ -1859,132 +1301,98 @@ (defstate maindoor-closed (maindoor) :code (behavior ((arg0 symbol)) - (set! (-> self draw force-lod) 1) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (when arg0 - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! (-> v1-6 frame-num) 0.0) - ) - ) - (suspend) - (dummy-47 (-> self root-override)) - (while #t - (when - (or - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) + (set! (-> self draw force-lod) 1) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (when arg0 + (let ((v1-6 (-> self skel root-channel 0))) + (set! (-> v1-6 num-func) num-func-identity) + (set! (-> v1-6 frame-num) 0.0) ) - ) - (and - (and - *target* - (>= - (-> self thresh w) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - (send-event *target* 'query 'powerup 3) - ) ) - (sound-play-by-name - (static-sound-name "blue-eco-on") - (new-sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol (-> self root-override trans)) - ) - (go maindoor-open #f) - ) - (if - (and - *target* - (>= - (-> self thresh w) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - (level-hint-spawn - (game-text-id jungle-maindoor-hint) - "sksp0038" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - (when (ja-min? 0) - (set! (-> self root-override root-prim prim-core action) (the-as uint 1)) - (set! (-> self root-override root-prim prim-core offense) 4) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! (-> a0-19 param 0) 0.0) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (ja-post) (suspend) + (dummy-47 (-> self root-override)) + (while #t + (when (or + (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) + (and + (and + *target* + (>= (-> self thresh w) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + ) + (send-event *target* 'query 'powerup 3) + ) + ) + (sound-play-by-name + (static-sound-name "blue-eco-on") + (new-sound-id) + 1024 + 0 + 0 + 1 + (the-as symbol (-> self root-override trans)) + ) + (go maindoor-open #f) + ) + (if (and + *target* + (>= (-> self thresh w) (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + ) + (level-hint-spawn + (game-text-id jungle-maindoor-hint) + "sksp0038" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + (when (ja-min? 0) + (set! (-> self root-override root-prim prim-core action) (the-as uint 1)) + (set! (-> self root-override root-prim prim-core offense) 4) + ) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 param 0) 0.0) + (set! (-> a0-19 param 1) 1.0) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) + ) + (ja-post) + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate maindoor-open (maindoor) :code (behavior ((arg0 symbol)) - (set! (-> self draw force-lod) 0) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (process-entity-status! self (entity-perm-status complete) #t) - (when arg0 - (let ((v1-6 (-> self skel root-channel 0))) - (set! (-> v1-6 num-func) num-func-identity) - (set! - (-> v1-6 frame-num) - (the float (+ (-> v1-6 frame-group data 0 length) -1)) + (set! (-> self draw force-lod) 0) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (process-entity-status! self (entity-perm-status complete) #t) + (when arg0 + (let ((v1-6 (-> self skel root-channel 0))) + (set! (-> v1-6 num-func) num-func-identity) + (set! (-> v1-6 frame-num) (the float (+ (-> v1-6 frame-group data 0 length) -1))) + ) ) - ) - ) - (set! (-> self root-override root-prim prim-core action) (the-as uint 0)) - (set! (-> self root-override root-prim prim-core offense) 0) - (while (not (ja-max? 0)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) + (set! (-> self root-override root-prim prim-core action) (the-as uint 0)) + (set! (-> self root-override root-prim prim-core offense) 0) + (while (not (ja-max? 0)) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 2.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) + (if (and (not arg0) (rand-vu-percent? 0.2)) + (spawn-projectile-blue *target*) + ) + (suspend) ) - (set! (-> a0-10 param 1) 2.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! + (logior! (-> self draw status) 2) + (while #t + (suspend) ) - ) - (if (and (not arg0) (rand-vu-percent? 0.2)) - (spawn-projectile-blue *target*) - ) - (suspend) + (none) ) - (logior! (-> self draw status) 2) - (while #t - (suspend) - ) - (none) - ) :post (the-as (function none :behavior maindoor) ja-post) ) @@ -1992,58 +1400,37 @@ ;; definition for method 11 of type maindoor ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! maindoor ((obj maindoor) (arg0 entity-actor)) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 24576.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 24576.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *maindoor-sg* '()) (dummy-47 (-> obj root-override)) (set! (-> obj thresh w) 61440.0) - (if - (or - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (and - (and - *target* - (>= - (-> obj thresh w) - (vector-vector-distance - (-> obj root-override trans) - (-> *target* control trans) - ) - ) + (if (or + (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (and + (and + *target* + (>= (-> obj thresh w) (vector-vector-distance (-> obj root-override trans) (-> *target* control trans))) + ) + (send-event *target* 'query 'powerup 3) + ) + ) + (go maindoor-open #t) + (go maindoor-closed #t) ) - (send-event *target* 'query 'powerup 3) - ) - ) - (go maindoor-open #t) - (go maindoor-closed #t) - ) (none) ) @@ -2059,8 +1446,8 @@ ;; definition for method 3 of type sidedoor (defmethod inspect sidedoor ((obj sidedoor)) (let ((t9-0 (method-of-type eco-door inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -2076,31 +1463,20 @@ ;; definition for method 24 of type sidedoor ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-24 sidedoor ((obj sidedoor)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 2) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 14336.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 2) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 14336.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -2132,8 +1508,8 @@ ;; definition for method 3 of type jngpusher (defmethod inspect jngpusher ((obj jngpusher)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Tback-prim: ~A~%" (-> obj back-prim)) obj @@ -2143,18 +1519,12 @@ ;; INFO: Return type mismatch process-drawable vs jngpusher. (defmethod relocate jngpusher ((obj jngpusher) (arg0 int)) (if (nonzero? (-> obj back-prim)) - (&+! (-> obj back-prim) arg0) - ) + (&+! (-> obj back-prim) arg0) + ) (the-as - jngpusher - ((the-as - (function process-drawable int process-drawable) - (find-parent-method jngpusher 7) - ) - obj - arg0 + jngpusher + ((the-as (function process-drawable int process-drawable) (find-parent-method jngpusher 7)) obj arg0) ) - ) ) ;; failed to figure out what this is: @@ -2172,32 +1542,26 @@ (the-as (function none :behavior jngpusher) rider-trans) :code (behavior () - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! - (-> gp-0 frame-num) - (get-current-value-with-mirror - (-> self sync) - (the float (ja-num-frames 0)) - ) + (while #t + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 num-func) num-func-identity) + (set! (-> gp-0 frame-num) (get-current-value-with-mirror (-> self sync) (the float (ja-num-frames 0)))) + ) + (cond + ((< (ja-frame-num 0) (the float (/ (ja-num-frames 0) 3))) + (set! (-> self back-prim prim-core collide-as) (the-as uint 0)) + (set! (-> self back-prim collide-with) (the-as uint 0)) + 0 + ) + (else + (set! (-> self back-prim prim-core collide-as) (the-as uint 2048)) + (set! (-> self back-prim collide-with) (the-as uint 16)) + ) + ) + (suspend) ) - ) - (cond - ((< (ja-frame-num 0) (the float (/ (ja-num-frames 0) 3))) - (set! (-> self back-prim prim-core collide-as) (the-as uint 0)) - (set! (-> self back-prim collide-with) (the-as uint 0)) - 0 - ) - (else - (set! (-> self back-prim prim-core collide-as) (the-as uint 2048)) - (set! (-> self back-prim collide-with) (the-as uint 16)) - ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior jngpusher) rider-post) ) @@ -2206,71 +1570,43 @@ ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! jngpusher ((obj jngpusher) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask enemy platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) -32768.0 -8192.0 0.0 32768.0) - (set-root-prim! s4-0 s3-0) - (let - ((s2-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) -32768.0 -8192.0 0.0 32768.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 3)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 4) + (set-vector! (-> s2-0 local-sphere) 8192.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-0) ) - ) - ) - (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 3)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 4) - (set-vector! (-> s2-0 local-sphere) 8192.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-0) - ) - (let - ((s2-1 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 0) + (let ((s2-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 3)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 4) + (set-vector! (-> s2-1 local-sphere) 36864.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-1) + (set! (-> obj back-prim) s2-1) ) - ) ) - (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 3)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 4) - (set-vector! (-> s2-1 local-sphere) 36864.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-1) - (set! (-> obj back-prim) s2-1) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *jngpusher-sg* '()) (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.15 0.15) @@ -2290,42 +1626,40 @@ ;; definition for method 3 of type jungle-water (defmethod inspect jungle-water ((obj jungle-water)) (let ((t9-0 (method-of-type water-anim inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for symbol ripple-for-jungle-water, type ripple-wave-set -(define - ripple-for-jungle-water - (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 1.5 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 30.0 :xdiv -2 :speed 4.0) - (new 'static 'ripple-wave :scale 30.0 :xdiv 1 :zdiv -1 :speed 4.0) - (new 'static 'ripple-wave :scale 10.0 :xdiv -5 :zdiv -3 :speed 2.0) - (new 'static 'ripple-wave) - ) - ) - ) +(define ripple-for-jungle-water (new 'static 'ripple-wave-set + :count 3 + :converted #f + :normal-scale 1.5 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 30.0 :xdiv -2 :speed 4.0) + (new 'static 'ripple-wave :scale 30.0 :xdiv 1 :zdiv -1 :speed 4.0) + (new 'static 'ripple-wave :scale 10.0 :xdiv -5 :zdiv -3 :speed 2.0) + (new 'static 'ripple-wave) + ) + ) + ) ;; definition for method 22 of type jungle-water (defmethod TODO-RENAME-22 jungle-water ((obj jungle-water)) (let ((t9-0 (method-of-type water-anim TODO-RENAME-22))) - (t9-0 obj) - ) - (let ((v1-2 (new 'process 'ripple-control))) - (set! (-> obj draw ripple) v1-2) - (set-vector! (-> obj draw color-mult) 0.01 0.45 0.5 0.75) - (set! (-> v1-2 global-scale) 3072.0) - (set! (-> v1-2 close-fade-dist) 163840.0) - (set! (-> v1-2 far-fade-dist) 245760.0) - (let ((v0-2 ripple-for-jungle-water)) - (set! (-> v1-2 waveform) v0-2) - v0-2 + (t9-0 obj) + ) + (let ((v1-2 (new 'process 'ripple-control))) + (set! (-> obj draw ripple) v1-2) + (set-vector! (-> obj draw color-mult) 0.01 0.45 0.5 0.75) + (set! (-> v1-2 global-scale) 3072.0) + (set! (-> v1-2 close-fade-dist) 163840.0) + (set! (-> v1-2 far-fade-dist) 245760.0) + (let ((v0-2 ripple-for-jungle-water)) + (set! (-> v1-2 waveform) v0-2) + v0-2 + ) ) - ) ) diff --git a/test/decompiler/reference/levels/jungle/jungle-part_REF.gc b/test/decompiler/reference/levels/jungle/jungle-part_REF.gc index 2587e11472..cf383848de 100644 --- a/test/decompiler/reference/levels/jungle/jungle-part_REF.gc +++ b/test/decompiler/reference/levels/jungle/jungle-part_REF.gc @@ -13,2297 +13,2132 @@ ;; definition for method 3 of type jungle-part (defmethod inspect jungle-part ((obj jungle-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 833) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.9 0.9 1.0) - (sp-rnd-flt spt-x (meters -8.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 47.5)) - (sp-rnd-flt spt-z -14336.0 28672.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 366) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 834) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters 6.0) (meters 6.0) 1.0) - (sp-flt spt-y (meters -6.5)) - (sp-rnd-flt spt-z -20480.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) - (sp-flt spt-vel-y (meters 0.033333335)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.14222223) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 835) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -28672.0 57344.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.07666667)) - (sp-flt spt-fade-r -0.42666668) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-b -0.21333334) - (sp-flt spt-fade-a -0.28444445) - (sp-flt spt-accel-y -9.102222) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 80.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 836) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -8.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 47.5)) - (sp-rnd-flt spt-z -20480.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 540) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 837) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.4 1.0) - (sp-rnd-flt spt-x (meters -7.0) (meters 3.5) 1.0) - (sp-flt spt-y (meters 47.5)) - (sp-rnd-flt spt-z -16384.0 32768.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 660) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 838) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.8 0.8 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 20.0)) - (sp-rnd-flt spt-z -22528.0 34816.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 839) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.6 0.4 1.0) - (sp-rnd-flt spt-x (meters -9.0) (meters 3.5) 1.0) - (sp-flt spt-y (meters 20.0)) - (sp-rnd-flt spt-z -22528.0 34816.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 840) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 20.0)) - (sp-rnd-flt spt-z -26624.0 45056.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 330) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 841) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters 0.0) (meters 6.0) 1.0) - (sp-flt spt-y (meters -4.5)) - (sp-rnd-flt spt-z -22528.0 38912.0 1.0) - (sp-flt spt-scale-x (meters 10.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) - (sp-flt spt-vel-y (meters 0.033333335)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0055555557)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.17066666) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 750) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 842) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters 1.0) (meters 7.0) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -24576.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.07666667)) - (sp-flt spt-fade-r -0.42666668) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-b -0.21333334) - (sp-flt spt-fade-a -0.28444445) - (sp-flt spt-accel-y -9.102222) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 80.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 843) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 1.0 0.6 1.0) - (sp-rnd-flt spt-x (meters -9.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 20.0)) - (sp-rnd-flt spt-z -18432.0 55296.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees -150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 844) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.9 0.4 1.0) - (sp-rnd-flt spt-x (meters -8.0) (meters 3.5) 1.0) - (sp-flt spt-y (meters 20.0)) - (sp-rnd-flt spt-z -18432.0 55296.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 390) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-rotate-y (degrees -150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 845) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -9.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 20.0)) - (sp-rnd-flt spt-z -18432.0 55296.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 846) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters 0.0) (meters 6.0) 1.0) - (sp-flt spt-y (meters -3.4)) - (sp-rnd-flt spt-z -20480.0 59392.0 1.0) - (sp-flt spt-scale-x (meters 10.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) - (sp-flt spt-vel-y (meters 0.033333335)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0055555557)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-rotate-y (degrees -150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 847) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 7.0) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -20480.0 59392.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.07666667)) - (sp-flt spt-fade-r -0.42666668) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-b -0.21333334) - (sp-flt spt-fade-a -0.28444445) - (sp-flt spt-accel-y -9.102222) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 80.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 848) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.8 0.8 1.0) - (sp-rnd-flt spt-x (meters -12.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 25.0)) - (sp-rnd-flt spt-z -26624.0 14336.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 849) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.6 0.4 1.0) - (sp-rnd-flt spt-x (meters -11.0) (meters 3.5) 1.0) - (sp-flt spt-y (meters 25.0)) - (sp-rnd-flt spt-z -26624.0 14336.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 850) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -12.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 25.0)) - (sp-rnd-flt spt-z -26624.0 14336.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 330) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 851) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.05) - (sp-rnd-flt spt-x (meters -3.0) (meters 6.0) 1.0) - (sp-flt spt-y (meters -4.5)) - (sp-rnd-flt spt-z -28672.0 18432.0 1.0) - (sp-flt spt-scale-x (meters 10.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) - (sp-flt spt-vel-y (meters 0.033333335)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0055555557)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 852) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 7.0) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -26624.0 14336.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.07666667)) - (sp-flt spt-fade-r -0.42666668) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-b -0.21333334) - (sp-flt spt-fade-a -0.28444445) - (sp-flt spt-accel-y -9.102222) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 80.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees 135.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 180) - (new 'static 'sparticle-launch-group - :length 7 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-jungle-waterfall-1" - :launcher - (new 'static 'inline-array sparticle-group-item 7 - (sp-item 833) - (sp-item 833 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 834) - (sp-item 834 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 837 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 835 :fade-after (meters 70.0) :falloff-to (meters 70.0)) - (sp-item 836 :fade-after (meters 70.0) :falloff-to (meters 70.0)) - ) - :bounds - (new 'static 'sphere :y 102400.0 :w 409600.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 181) - (new 'static 'sparticle-launch-group - :length 7 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-jungle-waterfall-2" - :launcher - (new 'static 'inline-array sparticle-group-item 7 - (sp-item 838) - (sp-item 838 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 841) - (sp-item 841 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 839 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 842 :fade-after (meters 90.0)) - (sp-item 840 :fade-after (meters 90.0)) - ) - :bounds - (new 'static 'sphere :x 8192.0 :y 36864.0 :z 16384.0 :w 368640.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 182) - (new 'static 'sparticle-launch-group - :length 7 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-jungle-waterfall-3" - :launcher - (new 'static 'inline-array sparticle-group-item 7 - (sp-item 843) - (sp-item 843 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 846) - (sp-item 846 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 844) - (sp-item 847 :fade-after (meters 90.0)) - (sp-item 845 :fade-after (meters 90.0)) - ) - :bounds - (new 'static 'sphere :y 32768.0 :w 368640.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 183) - (new 'static 'sparticle-launch-group - :length 7 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-jungle-waterfall-4" - :launcher - (new 'static 'inline-array sparticle-group-item 7 - (sp-item 848) - (sp-item 848 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 851) - (sp-item 851 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 849 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 852 :fade-after (meters 90.0)) - (sp-item 850 :fade-after (meters 90.0)) - ) - :bounds - (new 'static 'sphere :y 40960.0 :z 32768.0 :w 368640.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 853) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -70.0) (meters 100.0) 1.0) - (sp-rnd-flt spt-y (meters 3.5) (meters 4.0) 1.0) - (sp-rnd-flt spt-z -122880.0 215040.0 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-rnd-int-flt spt-vel-x (meters -0.005) 1 40.96) - (sp-flt spt-vel-y (meters 0.0013333333)) - (sp-rnd-int-flt spt-vel-z (meters -0.005) 1 40.96) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 3300) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 854) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 854) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-y -0.20480001) - (sp-int spt-next-time 600) - (sp-launcher-by-id spt-next-launcher 855) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 855) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 8 - (sp-flt spt-scalevel-x (meters -0.0023333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.64) - (sp-flt spt-fade-g -0.85333335) - (sp-flt spt-accel-y 0.20480001) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 856) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 856) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 857) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 857) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-scalevel-x (meters 0.0023333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.64) - (sp-flt spt-fade-g 0.85333335) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 858) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 858) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-y -0.20480001) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 859) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 859) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 8 - (sp-flt spt-scalevel-x (meters -0.0023333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.64) - (sp-flt spt-fade-g -0.85333335) - (sp-flt spt-accel-y 0.20480001) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 860) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 860) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 861) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 861) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-scalevel-x (meters 0.0023333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.64) - (sp-flt spt-fade-g 0.85333335) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 862) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 862) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-y -0.20480001) - (sp-int spt-next-time 600) - (sp-launcher-by-id spt-next-launcher 863) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 863) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-scalevel-x (meters 0.0)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-a -0.8) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 864) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.02) - (sp-rnd-flt spt-x (meters -55.0) (meters 75.0) 1.0) - (sp-flt spt-y (meters 28.0)) - (sp-rnd-flt spt-z -143360.0 245760.0 1.0) - (sp-rnd-flt spt-scale-x (meters 15.0) (meters 15.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -120.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.0) (meters 2.0) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 64.0 128.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.0007324219)) - (sp-rnd-flt spt-rotvel-z (degrees -0.0033333332) (degrees 0.0066666664) 1.0) - (sp-flt spt-scalevel-y (meters 0.0007324219)) - (sp-flt spt-fade-a 0.02) - (sp-int spt-timer 2400) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 1200) - (sp-launcher-by-id spt-next-launcher 865) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 865) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.02) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 184) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-jungle-dapple-light-1" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 864 :hour-mask #b111111100000000000111111) - (sp-item 853 :fade-after (meters 130.0) :falloff-to (meters 160.0) :hour-mask #b11111111111000000) - ) - :bounds (new 'static 'sphere :w 225280.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 185) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-jungle-tower-spewer" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 866 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 866 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - (sp-item 867 :fade-after (meters 300.0) :falloff-to (meters 300.0)) - (sp-item 868 :fade-after (meters 400.0) :falloff-to (meters 400.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 866) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.25 1.0 1.0) - (sp-rnd-flt spt-y (meters 1.6) (meters 2.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 5.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 4) - (sp-flt spt-rot-z (degrees -90.0)) - (sp-rnd-flt spt-scale-y (meters 1.0) (meters 0.7) 1.0) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 32.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -0.8) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 20) - (sp-launcher-by-id spt-next-launcher 869) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 5.0) (meters 2.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 869) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-fade-r -0.4) - (sp-flt spt-fade-g -0.4) - (sp-flt spt-fade-a -0.93333334) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 867) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 1.0 2.5 1.0) - (sp-flt spt-y (meters 0.75)) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 6.5) (meters 1.0) 1.0) - (sp-flt spt-r 32.0) - (sp-rnd-flt spt-g 32.0 16.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-fade-a -1.28) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 7.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 868) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-rnd-flt spt-num 0.1 1.25 1.0) - (sp-flt spt-y (meters 0.75)) - (sp-rnd-flt spt-scale-x (meters 3.5) (meters 2.0) 1.0) - (sp-rnd-int-flt spt-rot-z (degrees 0.0) 1 32768.0) - (sp-rnd-flt spt-scale-y (meters 6.5) (meters 1.25) 1.0) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 128.0 64.0 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a -0.64) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 7.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 870) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters 0.75)) - (sp-flt spt-scale-x (meters 4.0)) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.3) (meters 1.0) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-rnd-flt spt-b 0.0 128.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) - (sp-flt spt-scalevel-y (meters 0.009765625)) - (sp-flt spt-fade-a 0.35555556) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 871) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 871) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 186) - (new 'static 'sparticle-launch-group - :length 55 - :duration #xbb8 - :linger-duration #x5dc - :name "group-jungle-lurkermachine-3" - :launcher - (new 'static 'inline-array sparticle-group-item 55 - (sp-item 872 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 300 :length 258) - (sp-item 872 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 202 :length 36) - (sp-item 872 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38) - (sp-item 872 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106) - (sp-item 872 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41) - (sp-item 873 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 300 :length 233 :offset 150) - (sp-item 873 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 202 :length 36 :offset 150) - (sp-item 873 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38 :offset 150) - (sp-item 873 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106 :offset 150) - (sp-item 873 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41 :offset 150) - (sp-item 874 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 300 :length 237 :offset 255) - (sp-item 874 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 202 :length 36 :offset 255) - (sp-item 874 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38 :offset 255) - (sp-item 874 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106 :offset 255) - (sp-item 874 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41 :offset 255) - (sp-item 875 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) - (sp-item 875 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) - (sp-item 875 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) - (sp-item 876 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 877 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 937 :length 75) - (sp-item 877 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1280 :length 96) - (sp-item 877 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1776 :length 60) - (sp-item 878 :fade-after (meters 100.0) :falloff-to (meters 120.0)) - (sp-item 879 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1194 :length 75) - (sp-item 879 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1850 :length 96) - (sp-item 879 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1215 :length 60) - (sp-item 880 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 881 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 894 :length 75) - (sp-item 881 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1700 :length 96) - (sp-item 881 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1575 :length 60) - (sp-item 882 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 883 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 918 :length 75) - (sp-item 883 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1381 :length 96) - (sp-item 883 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1754 :length 60) - (sp-item 884 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 885 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1398 :length 75) - (sp-item 885 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 961 :length 96) - (sp-item 885 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1544 :length 60) - (sp-item 886 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 887 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) - (sp-item 887 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) - (sp-item 887 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) - (sp-item 888 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 889 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1194 :length 75) - (sp-item 889 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1850 :length 96) - (sp-item 889 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1215 :length 60) - (sp-item 890 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 891 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 894 :length 75) - (sp-item 891 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1700 :length 96) - (sp-item 891 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1575 :length 60) - (sp-item 892 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 893 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 937 :length 75) - (sp-item 893 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1280 :length 96) - (sp-item 893 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1776 :length 60) - (sp-item 894 :fade-after (meters 100.0) :falloff-to (meters 120.0)) - ) - :bounds - (new 'static 'sphere :y 24576.0 :z 24576.0 :w 65536.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 894) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-flt spt-x (meters 3.8)) - (sp-flt spt-y (meters 4.5)) - (sp-flt spt-z 24576.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.006666667)) - (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 893) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters 3.8)) - (sp-flt spt-y (meters 4.5)) - (sp-flt spt-z 24576.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.02)) - (sp-rnd-flt spt-vel-z (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 892) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 4.7)) - (sp-flt spt-z 27443.2) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-b -1.3066666) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 891) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 4.7)) - (sp-flt spt-z 27443.2) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.01)) - (sp-rnd-flt spt-vel-z (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.21333334) - (sp-flt spt-fade-g 0.21333334) - (sp-flt spt-fade-b -0.6533333) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 890) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-flt spt-x (meters -6.5)) - (sp-flt spt-y (meters 2.3)) - (sp-flt spt-z 24166.4) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.013333334)) - (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-b -1.3066666) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 889) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 30 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters -6.5)) - (sp-flt spt-y (meters 2.3)) - (sp-flt spt-z 24166.4) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.06666667)) - (sp-rnd-flt spt-vel-z (meters 0.026666667) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.21333334) - (sp-flt spt-fade-g 0.21333334) - (sp-flt spt-fade-b -0.6533333) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 36) - (sp-launcher-by-id spt-next-launcher 895) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 888) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-flt spt-x (meters -6.3)) - (sp-flt spt-y (meters 6.8)) - (sp-flt spt-z 32768.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 887) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters -6.3)) - (sp-flt spt-y (meters 6.8)) - (sp-flt spt-z 32768.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-vel-z (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 886) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-flt spt-x (meters 8.7)) - (sp-flt spt-y (meters 6.8)) - (sp-flt spt-z 10240.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-vel-z (meters 0.0) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-b -1.3066666) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 885) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters 8.7)) - (sp-flt spt-y (meters 6.8)) - (sp-flt spt-z 10240.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.053333335) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-vel-z (meters -0.01) (meters -0.01) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.21333334) - (sp-flt spt-fade-g 0.21333334) - (sp-flt spt-fade-b -0.6533333) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 884) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-flt spt-x (meters 6.9)) - (sp-flt spt-y (meters 5.3)) - (sp-flt spt-z -21299.2) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-vel-z (meters -0.01) (meters -0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 883) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters 6.9)) - (sp-flt spt-y (meters 5.3)) - (sp-flt spt-z -21299.2) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters -0.01)) - (sp-rnd-flt spt-vel-z (meters -0.04) (meters -0.02) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 882) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-flt spt-x (meters 2.9)) - (sp-flt spt-y (meters 8.9)) - (sp-flt spt-z -30720.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-b -1.3066666) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 881) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters 2.9)) - (sp-flt spt-y (meters 8.9)) - (sp-flt spt-z -30720.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.016666668) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.025)) - (sp-rnd-flt spt-vel-z (meters -0.026666667) (meters -0.053333335) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.21333334) - (sp-flt spt-fade-g 0.21333334) - (sp-flt spt-fade-b -0.6533333) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 880) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-flt spt-x (meters -7.7)) - (sp-flt spt-y (meters 2.3)) - (sp-flt spt-z -20889.6) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.013333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-b -1.3066666) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 879) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 30 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters -7.7)) - (sp-flt spt-y (meters 2.3)) - (sp-flt spt-z -20889.6) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.086666666)) - (sp-rnd-flt spt-vel-z (meters -0.026666667) (meters -0.053333335) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.21333334) - (sp-flt spt-fade-g 0.21333334) - (sp-flt spt-fade-b -0.6533333) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 25) - (sp-launcher-by-id spt-next-launcher 895) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 895) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-vel-y (meters 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 878) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-flt spt-x (meters -4.2)) - (sp-flt spt-y (meters 10.9)) - (sp-flt spt-z -22528.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.013333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 877) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters -4.2)) - (sp-flt spt-y (meters 10.9)) - (sp-flt spt-z -22528.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.06666667)) - (sp-rnd-flt spt-vel-z (meters -0.026666667) (meters -0.053333335) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 876) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-flt spt-x (meters -8.2)) - (sp-flt spt-y (meters 6.8)) - (sp-flt spt-z -28672.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.42666668) - (sp-flt spt-fade-b -1.3066666) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 875) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters -8.2)) - (sp-flt spt-y (meters 6.8)) - (sp-flt spt-z -28672.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-vel-z (meters -0.053333335) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.21333334) - (sp-flt spt-fade-g 0.21333334) - (sp-flt spt-fade-b -0.6533333) - (sp-flt spt-fade-a -0.42666668) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 872) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-rnd-flt spt-x (meters -2.2) (meters 2.4) 1.0) - (sp-rnd-flt spt-y (meters 5.5) (meters 1.3) 1.0) - (sp-flt spt-z -30310.4) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 53.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 873) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-rnd-flt spt-x (meters -3.75) (meters 2.4) 1.0) - (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) - (sp-flt spt-z 24576.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters 0.013333334)) - (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 874) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-rnd-flt spt-x (meters -10.5) (meters 0.8) 1.0) - (sp-flt spt-y (meters 1.3)) - (sp-flt spt-z -5324.8) - (sp-rnd-flt spt-scale-x (meters 0.75) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 187) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :name "group-jungle-lurkermachine-1" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 896 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 300 :length 258) - (sp-item 896 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 202 :length 36) - (sp-item 896 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38) - (sp-item 896 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106) - (sp-item 896 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41) - (sp-item 897 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 300 :length 233 :offset 198) - (sp-item 897 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 202 :length 36 :offset 198) - (sp-item 897 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38 :offset 198) - (sp-item 897 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106 :offset 198) - (sp-item 897 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41 :offset 198) - (sp-item 898 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 300 :length 233 :offset 99) - (sp-item 898 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 202 :length 36 :offset 99) - (sp-item 898 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38 :offset 99) - (sp-item 898 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106 :offset 99) - (sp-item 898 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41 :offset 99) - ) - :bounds - (new 'static 'sphere :y 40960.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 896) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-rnd-flt spt-x (meters 1.0) (meters 2.2) 1.0) - (sp-rnd-flt spt-y (meters 9.4) (meters 1.3) 1.0) - (sp-flt spt-z -27852.8) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 53.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 897) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) - (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) - (sp-flt spt-z 29900.8) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters 0.013333334)) - (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 898) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-flt spt-x (meters 4.4)) - (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) - (sp-rnd-flt spt-z -4915.2 9830.4 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.026666667) 1.0) - (sp-flt spt-vel-y (meters 0.013333334)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-id-table* 833) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.9 0.9 1.0) + (sp-rnd-flt spt-x (meters -8.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 47.5)) + (sp-rnd-flt spt-z -14336.0 28672.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 366) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 834) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters 6.0) (meters 6.0) 1.0) + (sp-flt spt-y (meters -6.5)) + (sp-rnd-flt spt-z -20480.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) + (sp-flt spt-vel-y (meters 0.033333335)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.14222223) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 835) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -28672.0 57344.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.07666667)) + (sp-flt spt-fade-r -0.42666668) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-b -0.21333334) + (sp-flt spt-fade-a -0.28444445) + (sp-flt spt-accel-y -9.102222) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 80.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 836) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -8.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 47.5)) + (sp-rnd-flt spt-z -20480.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 540) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 837) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.4 1.0) + (sp-rnd-flt spt-x (meters -7.0) (meters 3.5) 1.0) + (sp-flt spt-y (meters 47.5)) + (sp-rnd-flt spt-z -16384.0 32768.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 660) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 838) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.8 0.8 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 20.0)) + (sp-rnd-flt spt-z -22528.0 34816.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 839) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.6 0.4 1.0) + (sp-rnd-flt spt-x (meters -9.0) (meters 3.5) 1.0) + (sp-flt spt-y (meters 20.0)) + (sp-rnd-flt spt-z -22528.0 34816.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 840) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 20.0)) + (sp-rnd-flt spt-z -26624.0 45056.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 330) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 841) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters 0.0) (meters 6.0) 1.0) + (sp-flt spt-y (meters -4.5)) + (sp-rnd-flt spt-z -22528.0 38912.0 1.0) + (sp-flt spt-scale-x (meters 10.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) + (sp-flt spt-vel-y (meters 0.033333335)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0055555557)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.17066666) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 750) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 842) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters 1.0) (meters 7.0) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -24576.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.07666667)) + (sp-flt spt-fade-r -0.42666668) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-b -0.21333334) + (sp-flt spt-fade-a -0.28444445) + (sp-flt spt-accel-y -9.102222) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 80.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 843) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 1.0 0.6 1.0) + (sp-rnd-flt spt-x (meters -9.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 20.0)) + (sp-rnd-flt spt-z -18432.0 55296.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees -150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 844) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.9 0.4 1.0) + (sp-rnd-flt spt-x (meters -8.0) (meters 3.5) 1.0) + (sp-flt spt-y (meters 20.0)) + (sp-rnd-flt spt-z -18432.0 55296.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 390) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-rotate-y (degrees -150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 845) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -9.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 20.0)) + (sp-rnd-flt spt-z -18432.0 55296.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 846) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters 0.0) (meters 6.0) 1.0) + (sp-flt spt-y (meters -3.4)) + (sp-rnd-flt spt-z -20480.0 59392.0 1.0) + (sp-flt spt-scale-x (meters 10.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) + (sp-flt spt-vel-y (meters 0.033333335)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0055555557)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-rotate-y (degrees -150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 847) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 7.0) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -20480.0 59392.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.07666667)) + (sp-flt spt-fade-r -0.42666668) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-b -0.21333334) + (sp-flt spt-fade-a -0.28444445) + (sp-flt spt-accel-y -9.102222) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 80.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 848) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.8 0.8 1.0) + (sp-rnd-flt spt-x (meters -12.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 25.0)) + (sp-rnd-flt spt-z -26624.0 14336.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 849) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.6 0.4 1.0) + (sp-rnd-flt spt-x (meters -11.0) (meters 3.5) 1.0) + (sp-flt spt-y (meters 25.0)) + (sp-rnd-flt spt-z -26624.0 14336.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 850) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -12.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 25.0)) + (sp-rnd-flt spt-z -26624.0 14336.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 330) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 851) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.05) + (sp-rnd-flt spt-x (meters -3.0) (meters 6.0) 1.0) + (sp-flt spt-y (meters -4.5)) + (sp-rnd-flt spt-z -28672.0 18432.0 1.0) + (sp-flt spt-scale-x (meters 10.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) + (sp-flt spt-vel-y (meters 0.033333335)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0055555557)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 852) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 7.0) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -26624.0 14336.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.07666667)) + (sp-flt spt-fade-r -0.42666668) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-b -0.21333334) + (sp-flt spt-fade-a -0.28444445) + (sp-flt spt-accel-y -9.102222) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 80.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 135.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 180) (new 'static 'sparticle-launch-group + :length 7 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-jungle-waterfall-1" + :launcher + (new 'static 'inline-array sparticle-group-item 7 + (sp-item 833) + (sp-item 833 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 834) + (sp-item 834 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 837 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 835 :fade-after (meters 70.0) :falloff-to (meters 70.0)) + (sp-item 836 :fade-after (meters 70.0) :falloff-to (meters 70.0)) + ) + :bounds + (new 'static 'sphere :y 102400.0 :w 409600.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 181) (new 'static 'sparticle-launch-group + :length 7 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-jungle-waterfall-2" + :launcher + (new 'static 'inline-array sparticle-group-item 7 + (sp-item 838) + (sp-item 838 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 841) + (sp-item 841 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 839 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 842 :fade-after (meters 90.0)) + (sp-item 840 :fade-after (meters 90.0)) + ) + :bounds + (new 'static 'sphere :x 8192.0 :y 36864.0 :z 16384.0 :w 368640.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 182) (new 'static 'sparticle-launch-group + :length 7 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-jungle-waterfall-3" + :launcher + (new 'static 'inline-array sparticle-group-item 7 + (sp-item 843) + (sp-item 843 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 846) + (sp-item 846 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 844) + (sp-item 847 :fade-after (meters 90.0)) + (sp-item 845 :fade-after (meters 90.0)) + ) + :bounds + (new 'static 'sphere :y 32768.0 :w 368640.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 183) (new 'static 'sparticle-launch-group + :length 7 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-jungle-waterfall-4" + :launcher + (new 'static 'inline-array sparticle-group-item 7 + (sp-item 848) + (sp-item 848 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 851) + (sp-item 851 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 849 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 852 :fade-after (meters 90.0)) + (sp-item 850 :fade-after (meters 90.0)) + ) + :bounds + (new 'static 'sphere :y 40960.0 :z 32768.0 :w 368640.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 853) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -70.0) (meters 100.0) 1.0) + (sp-rnd-flt spt-y (meters 3.5) (meters 4.0) 1.0) + (sp-rnd-flt spt-z -122880.0 215040.0 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-rnd-int-flt spt-vel-x (meters -0.005) 1 40.96) + (sp-flt spt-vel-y (meters 0.0013333333)) + (sp-rnd-int-flt spt-vel-z (meters -0.005) 1 40.96) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 3300) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 854) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 854) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 9 + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-y -0.20480001) + (sp-int spt-next-time 600) + (sp-launcher-by-id spt-next-launcher 855) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 855) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 8 + (sp-flt spt-scalevel-x (meters -0.0023333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.64) + (sp-flt spt-fade-g -0.85333335) + (sp-flt spt-accel-y 0.20480001) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 856) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 856) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 857) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 857) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-scalevel-x (meters 0.0023333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.64) + (sp-flt spt-fade-g 0.85333335) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 858) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 858) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 9 + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-y -0.20480001) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 859) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 859) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 8 + (sp-flt spt-scalevel-x (meters -0.0023333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.64) + (sp-flt spt-fade-g -0.85333335) + (sp-flt spt-accel-y 0.20480001) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 860) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 860) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 861) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 861) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-scalevel-x (meters 0.0023333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.64) + (sp-flt spt-fade-g 0.85333335) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 862) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 862) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 9 + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-y -0.20480001) + (sp-int spt-next-time 600) + (sp-launcher-by-id spt-next-launcher 863) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 863) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-scalevel-x (meters 0.0)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-a -0.8) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 864) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.02) + (sp-rnd-flt spt-x (meters -55.0) (meters 75.0) 1.0) + (sp-flt spt-y (meters 28.0)) + (sp-rnd-flt spt-z -143360.0 245760.0 1.0) + (sp-rnd-flt spt-scale-x (meters 15.0) (meters 15.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -120.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.0) (meters 2.0) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 64.0 128.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.0007324219)) + (sp-rnd-flt spt-rotvel-z (degrees -0.0033333332) (degrees 0.0066666664) 1.0) + (sp-flt spt-scalevel-y (meters 0.0007324219)) + (sp-flt spt-fade-a 0.02) + (sp-int spt-timer 2400) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 1200) + (sp-launcher-by-id spt-next-launcher 865) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 865) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.02) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 184) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-jungle-dapple-light-1" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 864 :hour-mask #b111111100000000000111111) + (sp-item 853 :fade-after (meters 130.0) :falloff-to (meters 160.0) :hour-mask #b11111111111000000) + ) + :bounds (new 'static 'sphere :w 225280.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 185) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-jungle-tower-spewer" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 866 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 866 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + (sp-item 867 :fade-after (meters 300.0) :falloff-to (meters 300.0)) + (sp-item 868 :fade-after (meters 400.0) :falloff-to (meters 400.0)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 866) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.25 1.0 1.0) + (sp-rnd-flt spt-y (meters 1.6) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 5.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 4) + (sp-flt spt-rot-z (degrees -90.0)) + (sp-rnd-flt spt-scale-y (meters 1.0) (meters 0.7) 1.0) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -0.8) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 20) + (sp-launcher-by-id spt-next-launcher 869) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 5.0) (meters 2.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 869) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-fade-r -0.4) + (sp-flt spt-fade-g -0.4) + (sp-flt spt-fade-a -0.93333334) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 867) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 1.0 2.5 1.0) + (sp-flt spt-y (meters 0.75)) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 6.5) (meters 1.0) 1.0) + (sp-flt spt-r 32.0) + (sp-rnd-flt spt-g 32.0 16.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-fade-a -1.28) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 7.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 868) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-rnd-flt spt-num 0.1 1.25 1.0) + (sp-flt spt-y (meters 0.75)) + (sp-rnd-flt spt-scale-x (meters 3.5) (meters 2.0) 1.0) + (sp-rnd-int-flt spt-rot-z (degrees 0.0) 1 32768.0) + (sp-rnd-flt spt-scale-y (meters 6.5) (meters 1.25) 1.0) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 128.0 64.0 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a -0.64) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 7.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 870) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters 0.75)) + (sp-flt spt-scale-x (meters 4.0)) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.3) (meters 1.0) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-rnd-flt spt-b 0.0 128.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-rnd-flt spt-rotvel-z (degrees -0.15) (degrees 0.3) 1.0) + (sp-flt spt-scalevel-y (meters 0.009765625)) + (sp-flt spt-fade-a 0.35555556) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 871) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 871) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.53333336) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 186) + (new 'static 'sparticle-launch-group + :length 55 + :duration #xbb8 + :linger-duration #x5dc + :name "group-jungle-lurkermachine-3" + :launcher + (new 'static 'inline-array sparticle-group-item 55 + (sp-item 872 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 300 :length 258) + (sp-item 872 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 202 :length 36) + (sp-item 872 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38) + (sp-item 872 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106) + (sp-item 872 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41) + (sp-item 873 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 300 :length 233 :offset 150) + (sp-item 873 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 202 :length 36 :offset 150) + (sp-item 873 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38 :offset 150) + (sp-item 873 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106 :offset 150) + (sp-item 873 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41 :offset 150) + (sp-item 874 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 300 :length 237 :offset 255) + (sp-item 874 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 202 :length 36 :offset 255) + (sp-item 874 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38 :offset 255) + (sp-item 874 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106 :offset 255) + (sp-item 874 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41 :offset 255) + (sp-item 875 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) + (sp-item 875 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) + (sp-item 875 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) + (sp-item 876 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 877 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 937 :length 75) + (sp-item 877 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1280 :length 96) + (sp-item 877 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1776 :length 60) + (sp-item 878 :fade-after (meters 100.0) :falloff-to (meters 120.0)) + (sp-item 879 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1194 :length 75) + (sp-item 879 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1850 :length 96) + (sp-item 879 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1215 :length 60) + (sp-item 880 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 881 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 894 :length 75) + (sp-item 881 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1700 :length 96) + (sp-item 881 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1575 :length 60) + (sp-item 882 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 883 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 918 :length 75) + (sp-item 883 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1381 :length 96) + (sp-item 883 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1754 :length 60) + (sp-item 884 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 885 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1398 :length 75) + (sp-item 885 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 961 :length 96) + (sp-item 885 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1544 :length 60) + (sp-item 886 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 887 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) + (sp-item 887 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) + (sp-item 887 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) + (sp-item 888 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 889 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1194 :length 75) + (sp-item 889 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1850 :length 96) + (sp-item 889 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1215 :length 60) + (sp-item 890 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 891 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 894 :length 75) + (sp-item 891 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1700 :length 96) + (sp-item 891 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1575 :length 60) + (sp-item 892 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 893 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 937 :length 75) + (sp-item 893 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1280 :length 96) + (sp-item 893 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1776 :length 60) + (sp-item 894 :fade-after (meters 100.0) :falloff-to (meters 120.0)) + ) + :bounds + (new 'static 'sphere :y 24576.0 :z 24576.0 :w 65536.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 894) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-x (meters 3.8)) + (sp-flt spt-y (meters 4.5)) + (sp-flt spt-z 24576.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.006666667)) + (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 893) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters 3.8)) + (sp-flt spt-y (meters 4.5)) + (sp-flt spt-z 24576.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.02)) + (sp-rnd-flt spt-vel-z (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 892) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 4.7)) + (sp-flt spt-z 27443.2) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-b -1.3066666) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 891) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 4.7)) + (sp-flt spt-z 27443.2) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.01)) + (sp-rnd-flt spt-vel-z (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.21333334) + (sp-flt spt-fade-g 0.21333334) + (sp-flt spt-fade-b -0.6533333) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 890) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-x (meters -6.5)) + (sp-flt spt-y (meters 2.3)) + (sp-flt spt-z 24166.4) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.013333334)) + (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-b -1.3066666) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 889) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 30 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters -6.5)) + (sp-flt spt-y (meters 2.3)) + (sp-flt spt-z 24166.4) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.06666667)) + (sp-rnd-flt spt-vel-z (meters 0.026666667) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.21333334) + (sp-flt spt-fade-g 0.21333334) + (sp-flt spt-fade-b -0.6533333) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 36) + (sp-launcher-by-id spt-next-launcher 895) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 888) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-x (meters -6.3)) + (sp-flt spt-y (meters 6.8)) + (sp-flt spt-z 32768.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 887) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters -6.3)) + (sp-flt spt-y (meters 6.8)) + (sp-flt spt-z 32768.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-vel-z (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 886) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-x (meters 8.7)) + (sp-flt spt-y (meters 6.8)) + (sp-flt spt-z 10240.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-vel-z (meters 0.0) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-b -1.3066666) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 885) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters 8.7)) + (sp-flt spt-y (meters 6.8)) + (sp-flt spt-z 10240.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.053333335) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-vel-z (meters -0.01) (meters -0.01) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.21333334) + (sp-flt spt-fade-g 0.21333334) + (sp-flt spt-fade-b -0.6533333) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 884) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-x (meters 6.9)) + (sp-flt spt-y (meters 5.3)) + (sp-flt spt-z -21299.2) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-vel-z (meters -0.01) (meters -0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 883) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters 6.9)) + (sp-flt spt-y (meters 5.3)) + (sp-flt spt-z -21299.2) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters -0.01)) + (sp-rnd-flt spt-vel-z (meters -0.04) (meters -0.02) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 882) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-x (meters 2.9)) + (sp-flt spt-y (meters 8.9)) + (sp-flt spt-z -30720.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-b -1.3066666) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 881) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters 2.9)) + (sp-flt spt-y (meters 8.9)) + (sp-flt spt-z -30720.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.016666668) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.025)) + (sp-rnd-flt spt-vel-z (meters -0.026666667) (meters -0.053333335) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.21333334) + (sp-flt spt-fade-g 0.21333334) + (sp-flt spt-fade-b -0.6533333) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 880) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-x (meters -7.7)) + (sp-flt spt-y (meters 2.3)) + (sp-flt spt-z -20889.6) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.013333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-b -1.3066666) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 879) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 30 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters -7.7)) + (sp-flt spt-y (meters 2.3)) + (sp-flt spt-z -20889.6) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.086666666)) + (sp-rnd-flt spt-vel-z (meters -0.026666667) (meters -0.053333335) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.21333334) + (sp-flt spt-fade-g 0.21333334) + (sp-flt spt-fade-b -0.6533333) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 25) + (sp-launcher-by-id spt-next-launcher 895) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 895) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-vel-y (meters 0.0)) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 878) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-x (meters -4.2)) + (sp-flt spt-y (meters 10.9)) + (sp-flt spt-z -22528.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.013333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 877) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters -4.2)) + (sp-flt spt-y (meters 10.9)) + (sp-flt spt-z -22528.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.06666667)) + (sp-rnd-flt spt-vel-z (meters -0.026666667) (meters -0.053333335) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 876) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-flt spt-x (meters -8.2)) + (sp-flt spt-y (meters 6.8)) + (sp-flt spt-z -28672.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.42666668) + (sp-flt spt-fade-b -1.3066666) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 875) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters -8.2)) + (sp-flt spt-y (meters 6.8)) + (sp-flt spt-z -28672.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-vel-z (meters -0.053333335) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.21333334) + (sp-flt spt-fade-g 0.21333334) + (sp-flt spt-fade-b -0.6533333) + (sp-flt spt-fade-a -0.42666668) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 872) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-rnd-flt spt-x (meters -2.2) (meters 2.4) 1.0) + (sp-rnd-flt spt-y (meters 5.5) (meters 1.3) 1.0) + (sp-flt spt-z -30310.4) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 53.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 873) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-rnd-flt spt-x (meters -3.75) (meters 2.4) 1.0) + (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) + (sp-flt spt-z 24576.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters 0.013333334)) + (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 874) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-rnd-flt spt-x (meters -10.5) (meters 0.8) 1.0) + (sp-flt spt-y (meters 1.3)) + (sp-flt spt-z -5324.8) + (sp-rnd-flt spt-scale-x (meters 0.75) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 187) + (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :name "group-jungle-lurkermachine-1" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 896 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 300 :length 258) + (sp-item 896 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 202 :length 36) + (sp-item 896 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38) + (sp-item 896 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106) + (sp-item 896 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41) + (sp-item 897 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 300 :length 233 :offset 198) + (sp-item 897 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 202 :length 36 :offset 198) + (sp-item 897 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38 :offset 198) + (sp-item 897 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106 :offset 198) + (sp-item 897 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41 :offset 198) + (sp-item 898 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 300 :length 233 :offset 99) + (sp-item 898 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 202 :length 36 :offset 99) + (sp-item 898 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 38 :offset 99) + (sp-item 898 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 857 :length 106 :offset 99) + (sp-item 898 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1238 :length 41 :offset 99) + ) + :bounds + (new 'static 'sphere :y 40960.0 :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 896) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-rnd-flt spt-x (meters 1.0) (meters 2.2) 1.0) + (sp-rnd-flt spt-y (meters 9.4) (meters 1.3) 1.0) + (sp-flt spt-z -27852.8) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 53.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 897) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) + (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) + (sp-flt spt-z 29900.8) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters 0.013333334)) + (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 898) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-flt spt-x (meters 4.4)) + (sp-rnd-flt spt-y (meters 8.5) (meters 1.3) 1.0) + (sp-rnd-flt spt-z -4915.2 9830.4 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.026666667) 1.0) + (sp-flt spt-vel-y (meters 0.013333334)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/jungle/junglefish_REF.gc b/test/decompiler/reference/levels/jungle/junglefish_REF.gc index 42b5883628..c70a94052c 100644 --- a/test/decompiler/reference/levels/jungle/junglefish_REF.gc +++ b/test/decompiler/reference/levels/jungle/junglefish_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type junglefish (defmethod inspect junglefish ((obj junglefish)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -44,257 +44,138 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior junglefish) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior junglefish) + nav-enemy-default-event-handler + ) :exit - (behavior () - (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) - (none) - ) + (behavior () (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) (none)) :code (behavior () - (ja-channel-push! 1 60) - (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (nav-enemy-rnd-go-idle? 0.2) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 180) - (set! (-> self target-speed) 0.0) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - ) - (set! - (-> a0-8 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) + (ja-channel-push! 1 60) + (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) + (while #t + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + ) + (set! (-> a0-2 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-2 param 1) f30-0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! + a0-2 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + num-func-seek! ) - data - 0 - length - ) - -1 ) - ) - ) - (set! (-> a0-8 param 1) f30-0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) f30-0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (until (not (nav-enemy-rnd-go-idle? 0.2)) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - ) - (set! - (-> a0-11 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) f30-0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-11 param 1) f30-0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info idle-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 1.0) - (joint-control-channel-group! - a0-15 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 180) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - ) - (set! - (-> a0-17 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) + (when (nav-enemy-rnd-go-idle? 0.2) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) 1.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 180) + (set! (-> self target-speed) 0.0) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + ) + (set! (-> a0-8 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-8 param 1) f30-0) + (set! (-> a0-8 frame-num) 0.0) + (joint-control-channel-group! + a0-8 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) f30-0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (until (not (nav-enemy-rnd-go-idle? 0.2)) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + ) + (set! (-> a0-11 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-11 param 1) f30-0) + (set! (-> a0-11 frame-num) 0.0) + (joint-control-channel-group! + a0-11 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info idle-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) f30-0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (set! (-> self target-speed) (-> self nav-info walk-travel-speed)) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 param 0) 1.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 180) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + ) + (set! (-> a0-17 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-17 param 1) f30-0) + (set! (-> a0-17 frame-num) 0.0) + (joint-control-channel-group! + a0-17 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) + (set! (-> a0-18 param 1) f30-0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) + ) ) - data - 0 - length - ) - -1 ) - ) ) - (set! (-> a0-17 param 1) f30-0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 param 0) - (the float (+ (-> a0-18 frame-group data 0 length) -1)) - ) - (set! (-> a0-18 param 1) f30-0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -302,14 +183,11 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior junglefish) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior junglefish) + nav-enemy-default-event-handler + ) :code - (behavior () - (go-virtual nav-enemy-chase) - (none) - ) + (behavior () (go-virtual nav-enemy-chase) (none)) ) ;; failed to figure out what this is: @@ -317,27 +195,17 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior junglefish) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior junglefish) + nav-enemy-default-event-handler + ) :trans (behavior () - ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) - (if - (and - *target* - (>= - 8192.0 - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) - ) - ) - (go-virtual nav-enemy-attack) + ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) + (if (and *target* (>= 8192.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) + (go-virtual nav-enemy-attack) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -345,14 +213,11 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior junglefish) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior junglefish) + nav-enemy-default-event-handler + ) :code - (behavior () - (go-virtual nav-enemy-patrol) - (none) - ) + (behavior () (go-virtual nav-enemy-patrol) (none)) ) ;; failed to figure out what this is: @@ -360,14 +225,11 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior junglefish) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior junglefish) + nav-enemy-default-event-handler + ) :code - (behavior () - (go-virtual nav-enemy-patrol) - (none) - ) + (behavior () (go-virtual nav-enemy-patrol) (none)) ) ;; failed to figure out what this is: @@ -375,14 +237,11 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior junglefish) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior junglefish) + nav-enemy-default-event-handler + ) :code - (behavior () - (go-virtual nav-enemy-patrol) - (none) - ) + (behavior () (go-virtual nav-enemy-patrol) (none)) ) ;; failed to figure out what this is: @@ -390,58 +249,32 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior junglefish) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior junglefish) + nav-enemy-default-event-handler + ) :code (behavior () - (ja-channel-push! 1 30) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (ja-channel-push! 1 30) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) + (go-virtual nav-enemy-chase) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-chase) - (none) - ) :post (the-as (function none :behavior junglefish) nav-enemy-chase-post) ) @@ -451,188 +284,126 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior junglefish) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior junglefish) + nav-enemy-default-event-handler + ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (ja-channel-push! 1 22) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 2.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 2.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 2.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-4 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-4 param 1) 2.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) ) - (set! (-> a0-2 param 1) 2.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-4 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 2.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-4 param 1) 2.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) + (go-virtual nav-enemy-patrol) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 2.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-patrol) - (none) - ) ) ;; definition for symbol *junglefish-nav-enemy-info*, type nav-enemy-info -(define - *junglefish-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 4 - :walk-anim 4 - :turn-anim -1 - :notice-anim 4 - :run-anim 4 - :jump-anim -1 - :jump-land-anim -1 - :victory-anim 4 - :taunt-anim 4 - :die-anim 6 - :neck-joint -1 - :player-look-at-joint 5 - :run-travel-speed (meters 5.5) - :run-rotate-speed (degrees 720.0) - :run-acceleration (meters 6.0) - :run-turn-time (seconds 0.15) - :walk-travel-speed (meters 4.0) - :walk-rotate-speed (degrees 720.0) - :walk-acceleration (meters 6.0) - :walk-turn-time (seconds 0.15) - :attack-shove-back (meters 1.0) - :attack-shove-up (meters 0.5) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 1.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 25.0) - :stop-chase-distance (meters 35.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 10000000000.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #f - :move-to-ground #f - :hover-if-no-ground #f - :use-momentum #t - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *junglefish-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 4 + :walk-anim 4 + :turn-anim -1 + :notice-anim 4 + :run-anim 4 + :jump-anim -1 + :jump-land-anim -1 + :victory-anim 4 + :taunt-anim 4 + :die-anim 6 + :neck-joint -1 + :player-look-at-joint 5 + :run-travel-speed (meters 5.5) + :run-rotate-speed (degrees 720.0) + :run-acceleration (meters 6.0) + :run-turn-time (seconds 0.15) + :walk-travel-speed (meters 4.0) + :walk-rotate-speed (degrees 720.0) + :walk-acceleration (meters 6.0) + :walk-turn-time (seconds 0.15) + :attack-shove-back (meters 1.0) + :attack-shove-up (meters 0.5) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 1.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 25.0) + :stop-chase-distance (meters 35.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 10000000000.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #f + :move-to-ground #f + :hover-if-no-ground #f + :use-momentum #t + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 11 of type junglefish ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! junglefish ((obj junglefish) (arg0 entity-actor)) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 3)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 1) + (set-vector! (-> s3-0 local-sphere) 0.0 3276.8 0.0 2457.6) + (set-root-prim! s4-0 s3-0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj collide-info) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 3)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 1) - (set-vector! (-> s3-0 local-sphere) 0.0 3276.8 0.0 2457.6) - (set-root-prim! s4-0 s3-0) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj collide-info) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *junglefish-sg* '()) (TODO-RENAME-45 obj *junglefish-nav-enemy-info*) diff --git a/test/decompiler/reference/levels/jungle/junglesnake_REF.gc b/test/decompiler/reference/levels/jungle/junglesnake_REF.gc index f5b5f005af..e84fe8524b 100644 --- a/test/decompiler/reference/levels/jungle/junglesnake_REF.gc +++ b/test/decompiler/reference/levels/jungle/junglesnake_REF.gc @@ -11,52 +11,47 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 173) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-junglesnake-dropping-down" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 799 :period 300 :length 150) - ) - :bounds - (new 'static 'sphere :y -49152.0 :w 57344.0) - ) - ) +(set! (-> *part-group-id-table* 173) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-junglesnake-dropping-down" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 799 :period 300 :length 150)) + :bounds + (new 'static 'sphere :y -49152.0 :w 57344.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 799) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -9.0) (meters 18.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -36864.0 73728.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 40.0 1.0) - (sp-rnd-flt spt-g 32.0 40.0 1.0) - (sp-rnd-flt spt-b 32.0 40.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters -0.04) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-rnd-flt spt-accel-y -6.826667 -0.68266666 1.0) - (sp-int spt-timer 390) - (sp-cpuinfo-flags bit2) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 799) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -9.0) (meters 18.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -36864.0 73728.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 40.0 1.0) + (sp-rnd-flt spt-g 32.0 40.0 1.0) + (sp-rnd-flt spt-b 32.0 40.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters -0.04) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-rnd-flt spt-accel-y -6.826667 -0.68266666 1.0) + (sp-int spt-timer 390) + (sp-cpuinfo-flags bit2) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop) + (sp-end) + ) + ) + ) ;; definition of type junglesnake-twist-joint (deftype junglesnake-twist-joint (structure) @@ -136,8 +131,8 @@ ;; definition for method 3 of type junglesnake (defmethod inspect junglesnake ((obj junglesnake)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tstate-time: ~D~%" (-> obj state-time)) (format #t "~T~Thit-player: ~A~%" (-> obj hit-player)) (format #t "~T~Tis-lethal?: ~A~%" (-> obj is-lethal?)) @@ -155,61 +150,53 @@ ;; definition for function junglesnake-default-event-handler ;; WARN: disable def twice: 39. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare. -(defbehavior - junglesnake-default-event-handler junglesnake - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touch) - (when - (and - *target* - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as collide-shape-moving (-> self root-override)) - (the-as uint 1) - ) - ) - (cond - ((and - (-> self is-lethal?) - (zero? (logand (-> *target* state-flags) #x80f8)) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (set! (-> a1-2 param 1) (the-as uint (new 'static 'attack-info))) - (when (send-event-function arg0 a1-2) - (let ((v0-1 (the-as object #t))) - (set! (-> self hit-player) (the-as symbol v0-1)) - v0-1 +(defbehavior junglesnake-default-event-handler junglesnake ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('touch) + (when (and *target* ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as collide-shape-moving (-> self root-override)) + (the-as uint 1) + ) + ) + (cond + ((and (-> self is-lethal?) (zero? (logand (-> *target* state-flags) #x80f8))) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 2) + (set! (-> a1-2 message) 'attack) + (set! (-> a1-2 param 0) (-> arg3 param 0)) + (set! (-> a1-2 param 1) (the-as uint (new 'static 'attack-info))) + (when (send-event-function arg0 a1-2) + (let ((v0-1 (the-as object #t))) + (set! (-> self hit-player) (the-as symbol v0-1)) + v0-1 + ) + ) + ) + ) + (else + (dummy-45 (-> self root-override)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'shove) + (set! (-> a1-3 param 0) (-> arg3 param 0)) + (let ((v1-17 (new 'static 'attack-info :mask #xc0))) + (set! (-> v1-17 shove-back) 8192.0) + (set! (-> v1-17 shove-up) 2048.0) + (set! (-> a1-3 param 1) (the-as uint v1-17)) + ) + (send-event-function arg0 a1-3) + ) ) - ) ) - ) - (else - (dummy-45 (-> self root-override)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (let ((v1-17 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-17 shove-back) 8192.0) - (set! (-> v1-17 shove-up) 2048.0) - (set! (-> a1-3 param 1) (the-as uint v1-17)) - ) - (send-event-function arg0 a1-3) - ) - ) ) - ) ) - (('attack) - (go junglesnake-die) + (('attack) + (go junglesnake-die) + ) ) - ) ) ;; failed to figure out what this is: @@ -218,67 +205,45 @@ junglesnake-default-event-handler ;; definition for method 20 of type junglesnake (defmethod dummy-20 junglesnake ((obj junglesnake)) (when (and *target* (-> obj track-player-ry)) - (let ((v1-3 (target-pos 0))) - (set! - (-> obj des-ry) - (atan - (- (-> v1-3 x) (-> obj root-override trans x)) - (- (-> v1-3 z) (-> obj root-override trans z)) + (let ((v1-3 (target-pos 0))) + (set! (-> obj des-ry) + (atan (- (-> v1-3 x) (-> obj root-override trans x)) (- (-> v1-3 z) (-> obj root-override trans z))) + ) ) - ) ) - ) (let ((f0-7 (deg-diff (-> obj ry) (-> obj des-ry)))) - (+! - (-> obj ry) - (seek-with-smooth - 0.0 - f0-7 - (* 655360.0 (-> *display* seconds-per-frame)) - 0.125 - 0.001 - ) + (+! (-> obj ry) (seek-with-smooth 0.0 f0-7 (* 655360.0 (-> *display* seconds-per-frame)) 0.125 0.001)) ) - ) (let ((f30-1 (-> obj ry))) - (dotimes (s5-0 24) - (let ((s4-0 (-> obj twist-joints s5-0))) - (let ((f28-0 (-> s4-0 drag-delta-ry))) - (cond - ((= f28-0 0.0) - (set! (-> s4-0 ry) f30-1) - ) - (else - (let ((f26-0 (-> s4-0 ry))) - (let ((f0-14 (deg-diff f30-1 (-> s4-0 ry)))) - (if (< f28-0 (fabs f0-14)) - (set! f26-0 (if (>= f0-14 0.0) - (+ f30-1 f28-0) - (- f30-1 f28-0) - ) + (dotimes (s5-0 24) + (let ((s4-0 (-> obj twist-joints s5-0))) + (let ((f28-0 (-> s4-0 drag-delta-ry))) + (cond + ((= f28-0 0.0) + (set! (-> s4-0 ry) f30-1) + ) + (else + (let ((f26-0 (-> s4-0 ry))) + (let ((f0-14 (deg-diff f30-1 (-> s4-0 ry)))) + (if (< f28-0 (fabs f0-14)) + (set! f26-0 (if (>= f0-14 0.0) + (+ f30-1 f28-0) + (- f30-1 f28-0) + ) + ) + ) + ) + (let ((f0-16 (deg-diff (-> s4-0 ry) f26-0))) + (+! (-> s4-0 ry) (seek-with-smooth 0.0 f0-16 (* 327680.0 (-> *display* seconds-per-frame)) 0.25 0.001)) + ) + ) + ) ) - ) ) - (let ((f0-16 (deg-diff (-> s4-0 ry) f26-0))) - (+! - (-> s4-0 ry) - (seek-with-smooth - 0.0 - f0-16 - (* 327680.0 (-> *display* seconds-per-frame)) - 0.25 - 0.001 - ) - ) - ) - ) + (set! f30-1 (-> s4-0 ry)) ) - ) ) - (set! f30-1 (-> s4-0 ry)) - ) ) - ) #f ) @@ -287,160 +252,132 @@ junglesnake-default-event-handler ;; Used lq/sq (defun junglesnake-joint-callback ((arg0 junglesnake)) (let ((s5-0 arg0)) - (let ((s4-0 (new 'stack-no-clear 'matrix)) - (s3-0 (new 'stack-no-clear 'matrix)) - (s2-0 (new 'stack-no-clear 'matrix)) - ) - (let ((s1-0 (new 'stack-no-clear 'vector))) - (set-vector! - s1-0 - (-> arg0 root-override trans x) - (-> arg0 root-override trans y) - (-> arg0 root-override trans z) - 1.0 - ) - (matrix-translate! s2-0 s1-0) - (vector-negate! s1-0 s1-0) - (matrix-translate! s3-0 s1-0) - ) - (dotimes (s1-1 24) - (let ((s0-0 (-> s5-0 twist-joints s1-1))) - (matrix-rotate-y! s4-0 (-> s0-0 ry)) - (let - ((s0-1 (-> arg0 node-list data (-> s0-0 joint-index) bone transform))) - (matrix*! s0-1 s0-1 s3-0) - (matrix*! s0-1 s0-1 s4-0) - (matrix*! s0-1 s0-1 s2-0) - ) - ) - ) - ) - (dotimes (s4-1 9) - (let ((s3-1 (-> arg0 node-list data (+ s4-1 11) bone transform))) - (let ((a0-14 (-> arg0 node-list data (+ s4-1 12) bone transform)) - (a1-7 (new 'stack-no-clear 'vector)) - ) - (vector-! a1-7 (-> a0-14 vector 3) (-> s3-1 vector 3)) - (vector-normalize-copy! (-> s3-1 vector 1) a1-7 1.0) - ) - (set! (-> s3-1 vector 1 w) 0.0) - (vector-normalize! - (vector-cross! - (-> s3-1 vector 2) - (the-as vector (-> s3-1 vector)) - (-> s3-1 vector 1) - ) - 1.0 - ) - (vector-normalize! - (vector-cross! - (the-as vector (-> s3-1 vector)) - (-> s3-1 vector 1) - (-> s3-1 vector 2) - ) - 1.0 - ) - ) - ) - (cond - ((and (-> s5-0 track-player-tilt) *target*) - (let ((s2-1 (-> arg0 node-list data 25 bone transform)) - (s4-2 (new 'stack-no-clear 'vector)) - ) - (vector-normalize-copy! s4-2 (-> s2-1 vector 1) 1.0) - (set! (-> s4-2 w) 1.0) - (let ((s1-2 (new 'stack-no-clear 'vector))) - (vector-! s1-2 (target-pos 0) (-> s2-1 vector 3)) - (set! (-> s1-2 y) (+ 9011.2 (-> s1-2 y))) - (vector-normalize! s1-2 1.0) - (let ((s0-2 (new 'stack-no-clear 'vector)) - (s3-4 (new 'stack-no-clear 'vector)) - ) - (vector-normalize-copy! s0-2 (-> s2-1 vector 2) 1.0) - (vector-flatten! s3-4 s1-2 s0-2) - (vector-normalize! s3-4 1.0) - (let ((f30-0 (acos (vector-dot s4-2 s3-4)))) - (if (< (-> s4-2 y) (-> s3-4 y)) - (set! f30-0 (- f30-0)) + (let ((s4-0 (new 'stack-no-clear 'matrix)) + (s3-0 (new 'stack-no-clear 'matrix)) + (s2-0 (new 'stack-no-clear 'matrix)) ) - (cond - ((< 7281.778 f30-0) - (set! f30-0 7281.778) - ) - ((< f30-0 -11650.845) - (set! f30-0 -11650.845) - ) + (let ((s1-0 (new 'stack-no-clear 'vector))) + (set-vector! + s1-0 + (-> arg0 root-override trans x) + (-> arg0 root-override trans y) + (-> arg0 root-override trans z) + 1.0 ) - (let ((f0-16 (fabs (deg-diff (-> s5-0 ry) (-> s5-0 des-ry))))) - (if (>= f0-16 24576.0) - (set! f30-0 (* 0.00012207031 (- 32768.0 f0-16) f30-0)) - ) - ) - (set! (-> s5-0 des-tilt) f30-0) - ) + (matrix-translate! s2-0 s1-0) + (vector-negate! s1-0 s1-0) + (matrix-translate! s3-0 s1-0) ) - ) - ) - ) - (else - (set! (-> s5-0 des-tilt) 0.0) - ) - ) - (let* ((f30-1 (-> s5-0 tilt)) - (f0-21 (deg-diff f30-1 (-> s5-0 des-tilt))) - (f28-0 - (+ - f30-1 - (seek-with-smooth - 0.0 - f0-21 - (* 65536.0 (-> *display* seconds-per-frame)) - 0.2 - 0.001 - ) + (dotimes (s1-1 24) + (let ((s0-0 (-> s5-0 twist-joints s1-1))) + (matrix-rotate-y! s4-0 (-> s0-0 ry)) + (let ((s0-1 (-> arg0 node-list data (-> s0-0 joint-index) bone transform))) + (matrix*! s0-1 s0-1 s3-0) + (matrix*! s0-1 s0-1 s4-0) + (matrix*! s0-1 s0-1 s2-0) ) - ) ) - (set! (-> s5-0 tilt) f28-0) - (let ((f30-2 (cos f28-0)) - (f28-1 (sin f28-0)) - (s4-3 (new 'stack-no-clear 'matrix)) - (s3-5 (new 'stack-no-clear 'matrix)) - ) - (matrix-identity! s4-3) - (set! (-> s4-3 vector 0 x) f30-2) - (set! (-> s4-3 vector 0 y) f28-1) - (set! (-> s4-3 vector 1 x) (- f28-1)) - (set! (-> s4-3 vector 1 y) f30-2) - (let* ((a2-9 s3-5) - (a3-1 s4-3) - (v1-47 (-> a3-1 vector 0 quad)) - (a0-36 (-> a3-1 vector 1 quad)) - (a1-20 (-> a3-1 vector 2 quad)) - (a3-2 (-> a3-1 vector 3 quad)) - ) - (set! (-> a2-9 vector 0 quad) v1-47) - (set! (-> a2-9 vector 1 quad) a0-36) - (set! (-> a2-9 vector 2 quad) a1-20) - (set! (-> a2-9 vector 3 quad) a3-2) + ) ) - (set! (-> s3-5 vector 0 y) (- (-> s3-5 vector 0 y))) - (set! (-> s3-5 vector 1 x) (- (-> s3-5 vector 1 x))) - (dotimes (s2-2 3) - (let* ((v1-50 (-> s5-0 tilt-joints s2-2)) - (a2-10 - (-> arg0 node-list data (-> v1-50 joint-index) bone transform) + (dotimes (s4-1 9) + (let ((s3-1 (-> arg0 node-list data (+ s4-1 11) bone transform))) + (let ((a0-14 (-> arg0 node-list data (+ s4-1 12) bone transform)) + (a1-7 (new 'stack-no-clear 'vector)) ) - ) - (if (-> v1-50 flip-it) - (matrix*! a2-10 s3-5 a2-10) - (matrix*! a2-10 s4-3 a2-10) + (vector-! a1-7 (-> a0-14 vector 3) (-> s3-1 vector 3)) + (vector-normalize-copy! (-> s3-1 vector 1) a1-7 1.0) + ) + (set! (-> s3-1 vector 1 w) 0.0) + (vector-normalize! (vector-cross! (-> s3-1 vector 2) (the-as vector (-> s3-1 vector)) (-> s3-1 vector 1)) 1.0) + (vector-normalize! (vector-cross! (the-as vector (-> s3-1 vector)) (-> s3-1 vector 1) (-> s3-1 vector 2)) 1.0) + ) + ) + (cond + ((and (-> s5-0 track-player-tilt) *target*) + (let ((s2-1 (-> arg0 node-list data 25 bone transform)) + (s4-2 (new 'stack-no-clear 'vector)) + ) + (vector-normalize-copy! s4-2 (-> s2-1 vector 1) 1.0) + (set! (-> s4-2 w) 1.0) + (let ((s1-2 (new 'stack-no-clear 'vector))) + (vector-! s1-2 (target-pos 0) (-> s2-1 vector 3)) + (set! (-> s1-2 y) (+ 9011.2 (-> s1-2 y))) + (vector-normalize! s1-2 1.0) + (let ((s0-2 (new 'stack-no-clear 'vector)) + (s3-4 (new 'stack-no-clear 'vector)) + ) + (vector-normalize-copy! s0-2 (-> s2-1 vector 2) 1.0) + (vector-flatten! s3-4 s1-2 s0-2) + (vector-normalize! s3-4 1.0) + (let ((f30-0 (acos (vector-dot s4-2 s3-4)))) + (if (< (-> s4-2 y) (-> s3-4 y)) + (set! f30-0 (- f30-0)) + ) + (cond + ((< 7281.778 f30-0) + (set! f30-0 7281.778) + ) + ((< f30-0 -11650.845) + (set! f30-0 -11650.845) + ) + ) + (let ((f0-16 (fabs (deg-diff (-> s5-0 ry) (-> s5-0 des-ry))))) + (if (>= f0-16 24576.0) + (set! f30-0 (* 0.00012207031 (- 32768.0 f0-16) f30-0)) + ) + ) + (set! (-> s5-0 des-tilt) f30-0) + ) + ) + ) + ) + ) + (else + (set! (-> s5-0 des-tilt) 0.0) + ) + ) + (let* ((f30-1 (-> s5-0 tilt)) + (f0-21 (deg-diff f30-1 (-> s5-0 des-tilt))) + (f28-0 (+ f30-1 (seek-with-smooth 0.0 f0-21 (* 65536.0 (-> *display* seconds-per-frame)) 0.2 0.001))) + ) + (set! (-> s5-0 tilt) f28-0) + (let ((f30-2 (cos f28-0)) + (f28-1 (sin f28-0)) + (s4-3 (new 'stack-no-clear 'matrix)) + (s3-5 (new 'stack-no-clear 'matrix)) + ) + (matrix-identity! s4-3) + (set! (-> s4-3 vector 0 x) f30-2) + (set! (-> s4-3 vector 0 y) f28-1) + (set! (-> s4-3 vector 1 x) (- f28-1)) + (set! (-> s4-3 vector 1 y) f30-2) + (let* ((a2-9 s3-5) + (a3-1 s4-3) + (v1-47 (-> a3-1 vector 0 quad)) + (a0-36 (-> a3-1 vector 1 quad)) + (a1-20 (-> a3-1 vector 2 quad)) + (a3-2 (-> a3-1 vector 3 quad)) + ) + (set! (-> a2-9 vector 0 quad) v1-47) + (set! (-> a2-9 vector 1 quad) a0-36) + (set! (-> a2-9 vector 2 quad) a1-20) + (set! (-> a2-9 vector 3 quad) a3-2) + ) + (set! (-> s3-5 vector 0 y) (- (-> s3-5 vector 0 y))) + (set! (-> s3-5 vector 1 x) (- (-> s3-5 vector 1 x))) + (dotimes (s2-2 3) + (let* ((v1-50 (-> s5-0 tilt-joints s2-2)) + (a2-10 (-> arg0 node-list data (-> v1-50 joint-index) bone transform)) + ) + (if (-> v1-50 flip-it) + (matrix*! a2-10 s3-5 a2-10) + (matrix*! a2-10 s4-3 a2-10) + ) + ) + ) ) - ) ) - ) ) - ) 0 (none) ) @@ -451,41 +388,29 @@ junglesnake-default-event-handler junglesnake-default-event-handler :enter (behavior () - (set! (-> self skel postbind-function) #f) - (set! (-> self track-player-ry) #f) - (set! (-> self track-player-tilt) #f) - (set! (-> self des-ry) (-> self ry)) - (set! (-> self des-tilt) (-> self tilt)) - (logior! (-> self draw status) 2) - (none) - ) + (set! (-> self skel postbind-function) #f) + (set! (-> self track-player-ry) #f) + (set! (-> self track-player-tilt) #f) + (set! (-> self des-ry) (-> self ry)) + (set! (-> self des-tilt) (-> self tilt)) + (logior! (-> self draw status) 2) + (none) + ) :trans (behavior () - (when *target* - (let* ((a0-1 (target-pos 0)) - (f0-1 (- (-> a0-1 y) (-> self root-override trans y))) - ) - (if - (and - (>= 40960.0 f0-1) - (>= - 143360.0 - (vector-vector-xz-distance a0-1 (-> self root-override trans)) + (when *target* + (let* ((a0-1 (target-pos 0)) + (f0-1 (- (-> a0-1 y) (-> self root-override trans y))) + ) + (if (and (>= 40960.0 f0-1) (>= 143360.0 (vector-vector-xz-distance a0-1 (-> self root-override trans)))) + (go junglesnake-wake) + ) ) - ) - (go junglesnake-wake) ) - ) + (none) ) - (none) - ) :code - (behavior () - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - 0 - (none) - ) + (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 (none)) ) ;; failed to figure out what this is: @@ -494,91 +419,53 @@ junglesnake-default-event-handler junglesnake-default-event-handler :enter (behavior () - (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-as - (function pointer int process-drawable none) - junglesnake-joint-callback - ) + (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-as (function pointer int process-drawable none) junglesnake-joint-callback) + ) + (set! (-> self refractory-delay) 0) + 0 + (none) ) - (set! (-> self refractory-delay) 0) - 0 - (none) - ) :trans (behavior () - (dummy-20 self) - (when *target* - (if *target* - (look-at-enemy! - (-> *target* neck) - (the-as - vector - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 0 - prim-core - ) - ) - 'attacking - self + (dummy-20 self) + (when *target* + (if *target* + (look-at-enemy! + (-> *target* neck) + (the-as vector (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 0 prim-core)) + 'attacking + self + ) + ) ) - ) + (none) ) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 0.85) + (set! (-> a0-0 frame-num) 0.5) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 0.85) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-0 param 1) 0.85) - (set! (-> a0-0 frame-num) 0.5) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) + (go junglesnake-tracking) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 0.85) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go junglesnake-tracking) - (none) - ) :post (the-as (function none :behavior junglesnake) transform-post) ) @@ -589,143 +476,85 @@ junglesnake-default-event-handler junglesnake-default-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self track-player-ry) #t) - (set! (-> self track-player-tilt) #t) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self track-player-ry) #t) + (set! (-> self track-player-tilt) #t) + (none) + ) :trans (behavior () - (if - (and - (and - *target* - (>= - 24576.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) + (if (and + (and *target* (>= 24576.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self refractory-delay)) + (zero? (logand (-> *target* state-flags) #x80f8)) + ) + (go junglesnake-attack) ) - ) - ) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self refractory-delay) - ) - (zero? (logand (-> *target* state-flags) #x80f8)) - ) - (go junglesnake-attack) - ) - (when *target* - (let ((a0-8 (target-pos 0))) - (if - (or - (>= (- (-> a0-8 y) (-> self root-override trans y)) 57344.0) - (>= - (vector-vector-xz-distance a0-8 (-> self root-override trans)) - 163840.0 + (when *target* + (let ((a0-8 (target-pos 0))) + (if (or + (>= (- (-> a0-8 y) (-> self root-override trans y)) 57344.0) + (>= (vector-vector-xz-distance a0-8 (-> self root-override trans)) 163840.0) + ) + (go junglesnake-give-up) + ) ) - ) - (go junglesnake-give-up) ) - ) - ) - (dummy-20 self) - (when *target* - (if *target* - (look-at-enemy! - (-> *target* neck) - (the-as - vector - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 0 - prim-core - ) - ) - 'attacking - self + (dummy-20 self) + (when *target* + (if *target* + (look-at-enemy! + (-> *target* neck) + (the-as vector (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 0 prim-core)) + 'attacking + self + ) + ) ) - ) + (none) ) - (none) - ) :code (behavior () - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 2) + ) + (while (not (ja-done? 0)) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) ) - (-> self draw art-group data 2) - ) - (while (not (ja-done? 0)) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) ) + (else + (ja-channel-push! 1 45) + ) ) - ) - (else - (ja-channel-push! 1 45) - ) + (while #t + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-7 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-7 param 1) 1.0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) + (set! (-> a0-8 param 1) 1.0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (none) ) - (while #t - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-7 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 param 0) - (the float (+ (-> a0-8 frame-group data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (none) - ) :post (the-as (function none :behavior junglesnake) transform-post) ) @@ -735,157 +564,90 @@ junglesnake-default-event-handler :event junglesnake-default-event-handler :enter - (behavior () - (set! (-> self hit-player) #f) - (none) - ) + (behavior () (set! (-> self hit-player) #f) (none)) :exit - (behavior () - (dummy-24 self) - (none) - ) + (behavior () (dummy-24 self) (none)) :trans (behavior () - (dummy-20 self) - (when *target* - (if *target* - (look-at-enemy! - (-> *target* neck) - (the-as - vector - (-> - (the-as collide-shape-prim-group (-> self root-override root-prim)) - prims - 0 - prim-core - ) - ) - 'attacking - self + (dummy-20 self) + (when *target* + (if *target* + (look-at-enemy! + (-> *target* neck) + (the-as vector (-> (the-as collide-shape-prim-group (-> self root-override root-prim)) prims 0 prim-core)) + 'attacking + self + ) + ) ) - ) + (none) ) - (none) - ) :code (behavior () - (set! (-> self track-player-ry) #t) - (set! (-> self track-player-tilt) #t) - (ja-channel-push! 2 45) - (dummy-23 self) - (let - ((f30-0 - (lerp-scale - 0.0 - 1.0 - (vector-vector-distance (target-pos 0) (-> self root-override trans)) - 0.0 - 24576.0 - ) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-5 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 + (set! (-> self track-player-ry) #t) + (set! (-> self track-player-tilt) #t) + (ja-channel-push! 2 45) + (dummy-23 self) + (let ((f30-0 (lerp-scale 0.0 1.0 (vector-vector-distance (target-pos 0) (-> self root-override trans)) 0.0 24576.0)) + ) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-5 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-5 param 1) 1.25) + (set! (-> a0-5 frame-num) 0.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - ) - ) - (set! (-> a0-5 param 1) 1.25) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (let ((a0-6 (-> self skel root-channel 1))) - (set! (-> a0-6 frame-interp) f30-0) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! (-> a0-6 param 0) 0.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-chan - ) - ) - (until (ja-done? 0) - (suspend) - (set! - f30-0 - (seek - f30-0 - (lerp-scale - 0.0 - 1.0 - (vector-vector-distance (target-pos 0) (-> self root-override trans)) - 0.0 - 24576.0 + (let ((a0-6 (-> self skel root-channel 1))) + (set! (-> a0-6 frame-interp) f30-0) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-6 param 0) 0.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-chan) ) - (* 2.0 (-> *display* seconds-per-frame)) - ) - ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 param 0) - (the float (+ (-> a0-11 frame-group data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.25) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (let ((a0-12 (-> self skel root-channel 1))) - (set! (-> a0-12 frame-interp) f30-0) - (set! (-> a0-12 param 0) 0.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-chan - ) - ) - (let ((f0-12 (ja-aframe-num 0))) - (cond - ((and (>= f0-12 22.0) (< f0-12 44.0)) - (if (not (-> self is-lethal?)) - (dummy-23 self) - ) + (until (ja-done? 0) + (suspend) + (set! f30-0 + (seek + f30-0 + (lerp-scale 0.0 1.0 (vector-vector-distance (target-pos 0) (-> self root-override trans)) 0.0 24576.0) + (* 2.0 (-> *display* seconds-per-frame)) + ) + ) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) + (set! (-> a0-11 param 1) 1.25) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) + ) + (let ((a0-12 (-> self skel root-channel 1))) + (set! (-> a0-12 frame-interp) f30-0) + (set! (-> a0-12 param 0) 0.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-chan) + ) + (let ((f0-12 (ja-aframe-num 0))) + (cond + ((and (>= f0-12 22.0) (< f0-12 44.0)) + (if (not (-> self is-lethal?)) + (dummy-23 self) + ) + ) + (else + (if (-> self is-lethal?) + (dummy-24 self) + ) + ) + ) + ) ) - (else - (if (-> self is-lethal?) - (dummy-24 self) - ) - ) - ) ) - ) + (if (-> self hit-player) + (set! (-> self refractory-delay) (rand-vu-int-range 300 600)) + (set! (-> self refractory-delay) (rand-vu-int-range 150 300)) + ) + (go junglesnake-tracking) + (none) ) - (if (-> self hit-player) - (set! (-> self refractory-delay) (rand-vu-int-range 300 600)) - (set! (-> self refractory-delay) (rand-vu-int-range 150 300)) - ) - (go junglesnake-tracking) - (none) - ) :post (the-as (function none :behavior junglesnake) transform-post) ) @@ -896,88 +658,59 @@ junglesnake-default-event-handler junglesnake-default-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self track-player-ry) #f) - (set! (-> self track-player-tilt) #f) - (set! (-> self des-ry) (-> self ry)) - (set! (-> self des-tilt) (-> self tilt)) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self track-player-ry) #f) + (set! (-> self track-player-tilt) #f) + (set! (-> self des-ry) (-> self ry)) + (set! (-> self des-tilt) (-> self tilt)) + (none) + ) :trans - (behavior () - (dummy-20 self) - (none) - ) + (behavior () (dummy-20 self) (none)) :code (behavior () - (ja-channel-push! 1 30) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self root-override trans quad)) - (set! (-> s5-0 quad) (-> gp-0 quad)) - (set! (-> s5-0 y) (+ 131072.0 (-> s5-0 y))) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length + (ja-channel-push! 1 30) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self root-override trans quad)) + (set! (-> s5-0 quad) (-> gp-0 quad)) + (set! (-> s5-0 y) (+ 131072.0 (-> s5-0 y))) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-6 param 1) 0.5) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (let* ((f0-6 (ja-frame-num 0)) + (v1-18 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (f0-7 (/ f0-6 (the float (+ (-> v1-18 data 0 length) -1)))) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (set-vector! (-> self root-override scale) 1.0 (- 1.0 f0-7) 1.0 1.0) + (vector-lerp! s4-0 gp-0 s5-0 f0-7) + (TODO-RENAME-30 (-> self root-override) s4-0) + ) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 0.5) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-6 param 1) 0.5) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) + (TODO-RENAME-30 (-> self root-override) gp-0) ) - (until (ja-done? 0) - (let* ((f0-6 (ja-frame-num 0)) - (v1-18 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (f0-7 (/ f0-6 (the float (+ (-> v1-18 data 0 length) -1)))) - (s4-0 (new 'stack-no-clear 'vector)) - ) - (set-vector! (-> self root-override scale) 1.0 (- 1.0 f0-7) 1.0 1.0) - (vector-lerp! s4-0 gp-0 s5-0 f0-7) - (TODO-RENAME-30 (-> self root-override) s4-0) - ) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 0.5) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (TODO-RENAME-30 (-> self root-override) gp-0) + (set-vector! (-> self root-override scale) 1.0 1.0 1.0 1.0) + (go junglesnake-sleeping) + (none) ) - (set-vector! (-> self root-override scale) 1.0 1.0 1.0 1.0) - (go junglesnake-sleeping) - (none) - ) :post (the-as (function none :behavior junglesnake) transform-post) ) @@ -986,60 +719,34 @@ junglesnake-default-event-handler (defstate junglesnake-die (junglesnake) :event (the-as - (function process int symbol event-message-block object :behavior junglesnake) - process-drawable-death-event-handler - ) + (function process int symbol event-message-block object :behavior junglesnake) + process-drawable-death-event-handler + ) :code (behavior () - (logclear! (-> self mask) (process-mask actor-pause)) - (clear-collide-with-as (-> self root-override)) - (ja-channel-push! 1 45) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-3 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (logclear! (-> self mask) (process-mask actor-pause)) + (clear-collide-with-as (-> self root-override)) + (ja-channel-push! 1 45) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-3 param 1) 1.0) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) + (dummy-18 self) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (dummy-18 self) - (none) - ) :post (the-as (function none :behavior junglesnake) ja-post) ) @@ -1048,19 +755,11 @@ junglesnake-default-event-handler ;; INFO: Return type mismatch int vs none. (defmethod dummy-23 junglesnake ((obj junglesnake)) (when (not (-> obj is-lethal?)) - (set! (-> obj is-lethal?) #t) - (let - ((v1-5 - (-> - (the-as collide-shape-prim-group (-> obj root-override root-prim)) - prims - 0 - ) + (set! (-> obj is-lethal?) #t) + (let ((v1-5 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) prims 0))) + (set! (-> v1-5 prim-core action) (logand -2 (-> v1-5 prim-core action))) ) - ) - (set! (-> v1-5 prim-core action) (logand -2 (-> v1-5 prim-core action))) ) - ) 0 (none) ) @@ -1069,209 +768,188 @@ junglesnake-default-event-handler ;; INFO: Return type mismatch int vs none. (defmethod dummy-24 junglesnake ((obj junglesnake)) (when (-> obj is-lethal?) - (set! (-> obj is-lethal?) #f) - (let - ((v1-4 - (-> - (the-as collide-shape-prim-group (-> obj root-override root-prim)) - prims - 0 - ) + (set! (-> obj is-lethal?) #f) + (let ((v1-4 (-> (the-as collide-shape-prim-group (-> obj root-override root-prim)) prims 0))) + (logior! (-> v1-4 prim-core action) 1) ) - ) - (logior! (-> v1-4 prim-core action) 1) + (dummy-45 (-> obj root-override)) ) - (dummy-45 (-> obj root-override)) - ) 0 (none) ) ;; definition for symbol *junglesnake-twist-max-deltas*, type (pointer float) -(define - *junglesnake-twist-max-deltas* - (new 'static 'array float 28 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 0.0 - 546.13336 - 1092.2667 - 1638.4 - 2184.5334 - 2730.6667 - 3276.8 - 3822.9333 - 4369.067 - 4915.2 - 5461.3335 - 6007.467 - 6553.6 - 7099.7334 - 7645.8667 - 8192.0 - 8738.134 - 9284.267 - 9830.4 - 10376.533 - 0.0 - 0.0 - 0.0 - ) - ) +(define *junglesnake-twist-max-deltas* (new 'static 'array float 28 + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + 0.0 + 546.13336 + 1092.2667 + 1638.4 + 2184.5334 + 2730.6667 + 3276.8 + 3822.9333 + 4369.067 + 4915.2 + 5461.3335 + 6007.467 + 6553.6 + 7099.7334 + 7645.8667 + 8192.0 + 8738.134 + 9284.267 + 9830.4 + 10376.533 + 0.0 + 0.0 + 0.0 + ) + ) ;; definition for method 22 of type junglesnake (defmethod dummy-22 junglesnake ((obj junglesnake) (arg0 float)) (let ((f0-0 0.0)) - (dotimes (v1-0 24) - (let ((a2-2 (-> obj twist-joints v1-0))) - (set! (-> a2-2 ry) arg0) - (set! (-> a2-2 joint-index) (- 26 v1-0)) - (let ((f1-1 (-> *junglesnake-twist-max-deltas* v1-0))) - (set! (-> a2-2 drag-delta-ry) (- f1-1 f0-0)) - (set! f0-0 f1-1) + (dotimes (v1-0 24) + (let ((a2-2 (-> obj twist-joints v1-0))) + (set! (-> a2-2 ry) arg0) + (set! (-> a2-2 joint-index) (- 26 v1-0)) + (let ((f1-1 (-> *junglesnake-twist-max-deltas* v1-0))) + (set! (-> a2-2 drag-delta-ry) (- f1-1 f0-0)) + (set! f0-0 f1-1) + ) + ) ) - ) ) - ) #f ) ;; definition for method 21 of type junglesnake (defmethod dummy-21 junglesnake ((obj junglesnake)) (dotimes (v1-0 3) - (let ((a1-2 (-> obj tilt-joints v1-0))) - (set! (-> a1-2 joint-index) (+ v1-0 23)) - (set! (-> a1-2 flip-it) #f) + (let ((a1-2 (-> obj tilt-joints v1-0))) + (set! (-> a1-2 joint-index) (+ v1-0 23)) + (set! (-> a1-2 flip-it) #f) + ) ) - ) (let ((v1-3 (the-as object (&-> obj stack 524)))) - (set! (-> (the-as junglesnake-tilt-joint v1-3) flip-it) #t) - ) + (set! (-> (the-as junglesnake-tilt-joint v1-3) flip-it) #t) + ) (let ((v1-4 (the-as object (&-> obj stack 476))) (v0-0 #t) ) - (set! (-> (the-as junglesnake-twist-joint v1-4) ry) (the-as float v0-0)) - v0-0 - ) + (set! (-> (the-as junglesnake-twist-joint v1-4) ry) (the-as float v0-0)) + v0-0 + ) ) ;; definition for method 11 of type junglesnake ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! junglesnake ((obj junglesnake) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 9) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s3-0 local-sphere) 0.0 16384.0 0.0 30720.0) - (set-root-prim! s4-0 s3-0) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 1) - (set! (-> s2-0 transform-index) 25) - (set-vector! (-> s2-0 local-sphere) 0.0 2048.0 0.0 4096.0) - (append-prim s3-0 s2-0) - ) - (let ((s2-1 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 1)) - (set! (-> s2-1 prim-core offense) 1) - (set! (-> s2-1 transform-index) 21) - (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 3276.8) - (append-prim s3-0 s2-1) - ) - (let ((s2-2 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-2 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core action) (the-as uint 1)) - (set! (-> s2-2 prim-core offense) 1) - (set! (-> s2-2 transform-index) 20) - (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 3276.8) - (append-prim s3-0 s2-2) - ) - (let ((s2-3 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-3 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-3 collide-with) (the-as uint 16)) - (set! (-> s2-3 prim-core action) (the-as uint 1)) - (set! (-> s2-3 prim-core offense) 1) - (set! (-> s2-3 transform-index) 19) - (set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 3276.8) - (append-prim s3-0 s2-3) - ) - (let ((s2-4 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-4 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-4 collide-with) (the-as uint 16)) - (set! (-> s2-4 prim-core action) (the-as uint 1)) - (set! (-> s2-4 prim-core offense) 1) - (set! (-> s2-4 transform-index) 18) - (set-vector! (-> s2-4 local-sphere) 0.0 0.0 0.0 3276.8) - (append-prim s3-0 s2-4) - ) - (let ((s2-5 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-5 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-5 collide-with) (the-as uint 16)) - (set! (-> s2-5 prim-core action) (the-as uint 1)) - (set! (-> s2-5 prim-core offense) 1) - (set! (-> s2-5 transform-index) 17) - (set-vector! (-> s2-5 local-sphere) 0.0 0.0 0.0 3276.8) - (append-prim s3-0 s2-5) - ) - (let ((s2-6 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-6 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-6 collide-with) (the-as uint 16)) - (set! (-> s2-6 prim-core action) (the-as uint 1)) - (set! (-> s2-6 prim-core offense) 1) - (set! (-> s2-6 transform-index) 16) - (set-vector! (-> s2-6 local-sphere) 0.0 0.0 0.0 3276.8) - (append-prim s3-0 s2-6) - ) - (let ((s2-7 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-7 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-7 collide-with) (the-as uint 16)) - (set! (-> s2-7 prim-core action) (the-as uint 1)) - (set! (-> s2-7 prim-core offense) 1) - (set! (-> s2-7 transform-index) 15) - (set-vector! (-> s2-7 local-sphere) 0.0 0.0 0.0 3276.8) - (append-prim s3-0 s2-7) - ) - (let ((s2-8 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-8 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-8 collide-with) (the-as uint 16)) - (set! (-> s2-8 prim-core action) (the-as uint 1)) - (set! (-> s2-8 prim-core offense) 1) - (set! (-> s2-8 transform-index) 14) - (set-vector! (-> s2-8 local-sphere) 0.0 0.0 0.0 3276.8) - (append-prim s3-0 s2-8) - ) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 9) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s3-0 local-sphere) 0.0 16384.0 0.0 30720.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 1) + (set! (-> s2-0 transform-index) 25) + (set-vector! (-> s2-0 local-sphere) 0.0 2048.0 0.0 4096.0) + (append-prim s3-0 s2-0) + ) + (let ((s2-1 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 1)) + (set! (-> s2-1 prim-core offense) 1) + (set! (-> s2-1 transform-index) 21) + (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 3276.8) + (append-prim s3-0 s2-1) + ) + (let ((s2-2 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core action) (the-as uint 1)) + (set! (-> s2-2 prim-core offense) 1) + (set! (-> s2-2 transform-index) 20) + (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 3276.8) + (append-prim s3-0 s2-2) + ) + (let ((s2-3 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-3 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-3 collide-with) (the-as uint 16)) + (set! (-> s2-3 prim-core action) (the-as uint 1)) + (set! (-> s2-3 prim-core offense) 1) + (set! (-> s2-3 transform-index) 19) + (set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 3276.8) + (append-prim s3-0 s2-3) + ) + (let ((s2-4 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-4 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-4 collide-with) (the-as uint 16)) + (set! (-> s2-4 prim-core action) (the-as uint 1)) + (set! (-> s2-4 prim-core offense) 1) + (set! (-> s2-4 transform-index) 18) + (set-vector! (-> s2-4 local-sphere) 0.0 0.0 0.0 3276.8) + (append-prim s3-0 s2-4) + ) + (let ((s2-5 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-5 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-5 collide-with) (the-as uint 16)) + (set! (-> s2-5 prim-core action) (the-as uint 1)) + (set! (-> s2-5 prim-core offense) 1) + (set! (-> s2-5 transform-index) 17) + (set-vector! (-> s2-5 local-sphere) 0.0 0.0 0.0 3276.8) + (append-prim s3-0 s2-5) + ) + (let ((s2-6 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-6 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-6 collide-with) (the-as uint 16)) + (set! (-> s2-6 prim-core action) (the-as uint 1)) + (set! (-> s2-6 prim-core offense) 1) + (set! (-> s2-6 transform-index) 16) + (set-vector! (-> s2-6 local-sphere) 0.0 0.0 0.0 3276.8) + (append-prim s3-0 s2-6) + ) + (let ((s2-7 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-7 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-7 collide-with) (the-as uint 16)) + (set! (-> s2-7 prim-core action) (the-as uint 1)) + (set! (-> s2-7 prim-core offense) 1) + (set! (-> s2-7 transform-index) 15) + (set-vector! (-> s2-7 local-sphere) 0.0 0.0 0.0 3276.8) + (append-prim s3-0 s2-7) + ) + (let ((s2-8 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-8 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-8 collide-with) (the-as uint 16)) + (set! (-> s2-8 prim-core action) (the-as uint 1)) + (set! (-> s2-8 prim-core offense) 1) + (set! (-> s2-8 transform-index) 14) + (set-vector! (-> s2-8 local-sphere) 0.0 0.0 0.0 3276.8) + (append-prim s3-0 s2-8) + ) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *junglesnake-sg* '()) - (set! - (-> obj fact) - (new - 'process - 'fact-info-enemy - obj - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) - ) - ) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 173) obj) - ) + (set! (-> obj fact) + (new 'process 'fact-info-enemy obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 173) obj)) (set! (-> obj is-lethal?) #f) (set! (-> obj ry) (y-angle (-> obj root-override))) (set! (-> obj des-ry) (-> obj ry)) diff --git a/test/decompiler/reference/levels/jungleb/aphid_REF.gc b/test/decompiler/reference/levels/jungleb/aphid_REF.gc index d09f31f4f5..c1277f0458 100644 --- a/test/decompiler/reference/levels/jungleb/aphid_REF.gc +++ b/test/decompiler/reference/levels/jungleb/aphid_REF.gc @@ -14,8 +14,8 @@ ;; definition for method 3 of type aphid (defmethod inspect aphid ((obj aphid)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttry: ~D~%" (-> obj try)) obj ) @@ -47,18 +47,15 @@ ;; definition for method 43 of type aphid (defmethod dummy-43 aphid ((obj aphid) (arg0 process) (arg1 event-message-block)) (cond - ((or - (logtest? (-> obj nav-enemy-flags) 32) - (= arg0 (ppointer->process (-> obj parent))) + ((or (logtest? (-> obj nav-enemy-flags) 32) (= arg0 (ppointer->process (-> obj parent)))) + (send-event arg0 'get-attack-count 1) + (logclear! (-> obj mask) (process-mask actor-pause attackable)) + (go (method-of-object obj nav-enemy-die)) ) - (send-event arg0 'get-attack-count 1) - (logclear! (-> obj mask) (process-mask actor-pause attackable)) - (go (method-of-object obj nav-enemy-die)) + (else + (dummy-44 obj arg0 arg1) + ) ) - (else - (dummy-44 obj arg0 arg1) - ) - ) ) ;; failed to figure out what this is: @@ -68,189 +65,109 @@ aphid-vulnerable :code (behavior () - (let ((gp-0 (cond - ((>= (-> self try) 15) - 450 - ) - ((>= (-> self try) 10) - 300 - ) - ((>= (-> self try) 5) - 150 - ) - (else - 0 - ) + (let ((gp-0 (cond + ((>= (-> self try) 15) + 450 + ) + ((>= (-> self try) 10) + 300 + ) + ((>= (-> self try) 5) + 150 + ) + (else + 0 + ) + ) ) ) - ) - (while #t - (ja-channel-push! 1 15) - (sound-play-by-name - (static-sound-name "aphid-spike-out") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-3 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (while #t + (ja-channel-push! 1 15) + (sound-play-by-name (static-sound-name "aphid-spike-out") (new-sound-id) 1024 0 0 1 #t) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-3 param 1) 1.0) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) ) - -1 - ) - ) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (aphid-invulnerable) - (ja-channel-push! 1 30) - (let ((v1-28 (-> self skel root-channel 0))) - (set! - (-> v1-28 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - ) - (let ((v1-31 (-> self skel root-channel 0))) - (set! (-> v1-31 num-func) num-func-identity) - (set! (-> v1-31 frame-num) 0.0) - ) - (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1)) - (s5-1 (-> *display* base-frame-counter)) - (s4-1 (- (the int (nav-enemy-rnd-float-range 900.0 1440.0)) gp-0)) - ) - (until (>= (- (-> *display* base-frame-counter) s5-1) s4-1) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) f30-0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - ) - (aphid-vulnerable) - (ja-channel-push! 1 15) - (sound-play-by-name - (static-sound-name "aphid-spike-in") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! (-> a0-17 param 0) 0.0) - (set! (-> a0-17 param 1) 1.0) - (set! - (-> a0-17 frame-num) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (aphid-invulnerable) + (ja-channel-push! 1 30) + (let ((v1-28 (-> self skel root-channel 0))) + (set! (-> v1-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + ) + (let ((v1-31 (-> self skel root-channel 0))) + (set! (-> v1-31 num-func) num-func-identity) + (set! (-> v1-31 frame-num) 0.0) + ) + (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1)) + (s5-1 (-> *display* base-frame-counter)) + (s4-1 (- (the int (nav-enemy-rnd-float-range 900.0 1440.0)) gp-0)) + ) + (until (>= (- (-> *display* base-frame-counter) s5-1) s4-1) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) f30-0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + ) + (aphid-vulnerable) + (ja-channel-push! 1 15) + (sound-play-by-name (static-sound-name "aphid-spike-in") (new-sound-id) 1024 0 0 1 #t) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-17 param 0) 0.0) + (set! (-> a0-17 param 1) 1.0) + (set! (-> a0-17 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) 0.0) + (set! (-> a0-18 param 1) 1.0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (ja-channel-push! 1 30) + (let ((v1-63 (-> self skel root-channel 0))) + (set! (-> v1-63 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) + ) + ) + (let ((v1-66 (-> self skel root-channel 0))) + (set! (-> v1-66 num-func) num-func-identity) + (set! (-> v1-66 frame-num) 0.0) + ) + (let ((f30-1 (nav-enemy-rnd-float-range 0.9 1.1)) + (s5-3 (-> *display* base-frame-counter)) + (s4-3 (+ (the int (nav-enemy-rnd-float-range 660.0 900.0)) gp-0)) + ) + (until (>= (- (-> *display* base-frame-counter) s5-3) s4-3) + (suspend) + (let ((a0-29 (-> self skel root-channel 0))) + (set! (-> a0-29 param 0) f30-1) + (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-loop!) + ) + ) ) - -1 - ) ) - ) - (joint-control-channel-group! - a0-17 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! (-> a0-18 param 0) 0.0) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-push! 1 30) - (let ((v1-63 (-> self skel root-channel 0))) - (set! - (-> v1-63 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - ) - ) - (let ((v1-66 (-> self skel root-channel 0))) - (set! (-> v1-66 num-func) num-func-identity) - (set! (-> v1-66 frame-num) 0.0) - ) - (let ((f30-1 (nav-enemy-rnd-float-range 0.9 1.1)) - (s5-3 (-> *display* base-frame-counter)) - (s4-3 (+ (the int (nav-enemy-rnd-float-range 660.0 900.0)) gp-0)) - ) - (until (>= (- (-> *display* base-frame-counter) s5-3) s4-3) - (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 param 0) f30-1) - (joint-control-channel-group-eval! - a0-29 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -258,151 +175,87 @@ :virtual #t :code (behavior () - (set! (-> self turn-time) 60) - (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (when - (or - (logtest? (-> self nav-enemy-flags) 256) - (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) - ) - (ja-channel-push! 1 30) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> a0-3 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-3 param 1) f30-0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (while #t - (when (not (nav-enemy-facing-player? 2730.6667)) - (logior! (-> self nav-enemy-flags) 16) - (let ((a0-7 (-> self skel root-channel 0))) - (set! (-> a0-7 param 0) 1.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 60) - (let ((v1-35 (-> self skel root-channel 0))) - (set! - (-> v1-35 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - ) - (let ((v1-38 (-> self skel root-channel 0))) - (set! (-> v1-38 num-func) num-func-identity) - (set! (-> v1-38 frame-num) 0.0) - ) - (until (nav-enemy-facing-player? 1820.4445) - (ja-blend-eval) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! (-> a0-13 param 0) 0.75) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - ) - (when (nav-enemy-rnd-percent? 0.3) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 10) + (set! (-> self turn-time) 60) + (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) + (when (or + (logtest? (-> self nav-enemy-flags) 256) + (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) + ) + (ja-channel-push! 1 30) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> a0-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) ) - ) - (ja-channel-push! 1 30) - ) - (let ((a0-22 (-> self skel root-channel 0))) - (set! - (-> a0-22 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> a0-22 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length - ) - -1 + (set! (-> a0-3 param 1) f30-0) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) f30-0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-22 param 1) f30-0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! - a0-22 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! + (while #t + (when (not (nav-enemy-facing-player? 2730.6667)) + (logior! (-> self nav-enemy-flags) 16) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) 1.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 60) + (let ((v1-35 (-> self skel root-channel 0))) + (set! (-> v1-35 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + ) + (let ((v1-38 (-> self skel root-channel 0))) + (set! (-> v1-38 num-func) num-func-identity) + (set! (-> v1-38 frame-num) 0.0) + ) + (until (nav-enemy-facing-player? 1820.4445) + (ja-blend-eval) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) 0.75) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + ) + (when (nav-enemy-rnd-percent? 0.3) + (if (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 10) + ) + ) + (ja-channel-push! 1 30) + ) + (let ((a0-22 (-> self skel root-channel 0))) + (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> a0-22 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) + ) + (set! (-> a0-22 param 1) f30-0) + (set! (-> a0-22 frame-num) 0.0) + (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-23 (-> self skel root-channel 0))) + (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) + (set! (-> a0-23 param 1) f30-0) + (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! - (-> a0-23 param 0) - (the float (+ (-> a0-23 frame-group data 0 length) -1)) - ) - (set! (-> a0-23 param 1) f30-0) - (joint-control-channel-group-eval! - a0-23 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -410,217 +263,143 @@ :virtual #t :code (behavior () - (set! (-> self rotate-speed) 218453.33) - (set! (-> self turn-time) 150) - (ja-channel-push! 1 45) - (let ((s4-0 (-> self collide-info)) - (s5-0 (target-pos 0)) - ) - (when - (< - (fabs - (deg-diff - (y-angle s4-0) - (vector-y-angle - (vector-! (new 'stack-no-clear 'vector) s5-0 (-> s4-0 trans)) - ) - ) - ) - 12743.111 - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length + (set! (-> self rotate-speed) 218453.33) + (set! (-> self turn-time) 150) + (ja-channel-push! 1 45) + (let ((s4-0 (-> self collide-info)) + (s5-0 (target-pos 0)) + ) + (when (< (fabs + (deg-diff (y-angle s4-0) (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s5-0 (-> s4-0 trans)))) + ) + 12743.111 + ) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) ) - (until (ja-done? 0) + (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) + (nav-enemy-get-new-patrol-point) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (seek-to-point-toward-point! + (-> self collide-info) + (-> self nav destination-pos) + (-> self rotate-speed) + (-> self turn-time) + ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) + (set! (-> a0-14 param 1) 1.0) + (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - ) + (go-virtual nav-enemy-patrol) + (none) ) - (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) - (nav-enemy-get-new-patrol-point) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-12 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (seek-to-point-toward-point! - (-> self collide-info) - (-> self nav destination-pos) - (-> self rotate-speed) - (-> self turn-time) - ) - (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! - (-> a0-14 param 0) - (the float (+ (-> a0-14 frame-group data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! - a0-14 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-patrol) - (none) - ) ) ;; definition for symbol *aphid-nav-enemy-info*, type nav-enemy-info -(define - *aphid-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 3 - :walk-anim 4 - :turn-anim 9 - :notice-anim 3 - :run-anim 4 - :jump-anim -1 - :jump-land-anim -1 - :victory-anim 10 - :taunt-anim 10 - :die-anim 11 - :neck-joint 10 - :player-look-at-joint 5 - :run-travel-speed (meters 5.0) - :run-rotate-speed (degrees 2880.0) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.1) - :walk-travel-speed (meters 3.0) - :walk-rotate-speed (degrees 720.0) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.5) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 2.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 30.0) - :stop-chase-distance (meters 40.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 24.0 - :jump-anim-start-frame 10.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 0.25) - :shadow-min-y (meters -0.25) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #t - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #t - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *aphid-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 3 + :walk-anim 4 + :turn-anim 9 + :notice-anim 3 + :run-anim 4 + :jump-anim -1 + :jump-land-anim -1 + :victory-anim 10 + :taunt-anim 10 + :die-anim 11 + :neck-joint 10 + :player-look-at-joint 5 + :run-travel-speed (meters 5.0) + :run-rotate-speed (degrees 2880.0) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.1) + :walk-travel-speed (meters 3.0) + :walk-rotate-speed (degrees 720.0) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.5) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 2.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 30.0) + :stop-chase-distance (meters 40.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 24.0 + :jump-anim-start-frame 10.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 0.25) + :shadow-min-y (meters -0.25) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #t + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #t + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 47 of type aphid ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision aphid ((obj aphid)) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 1) + (set-vector! (-> s4-0 local-sphere) 0.0 4096.0 0.0 4096.0) + (set-root-prim! s5-0 s4-0) ) - ) + (set! (-> s5-0 nav-radius) 6144.0) + (backup-collide-with-as s5-0) + (set! (-> s5-0 max-iteration-count) (the-as uint 2)) + (set! (-> obj collide-info) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 1) - (set-vector! (-> s4-0 local-sphere) 0.0 4096.0 0.0 4096.0) - (set-root-prim! s5-0 s4-0) - ) - (set! (-> s5-0 nav-radius) 6144.0) - (backup-collide-with-as s5-0) - (set! (-> s5-0 max-iteration-count) (the-as uint 2)) - (set! (-> obj collide-info) s5-0) - ) 0 (none) ) @@ -640,31 +419,26 @@ ;; definition for function aphid-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - aphid-init-by-other aphid - ((arg0 nav-enemy) (arg1 vector) (arg2 vector)) +(defbehavior aphid-init-by-other aphid ((arg0 nav-enemy) (arg1 vector) (arg2 vector)) (initialize-collision self) (logior! (-> self mask) (process-mask actor-pause)) (set! (-> self collide-info trans quad) (-> arg1 quad)) (set! (-> self event-param-point quad) (-> arg2 quad)) (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) arg2 arg1))) - (set! (-> s3-1 y) 0.0) - (vector-normalize! s3-1 1.0) - (forward-up->quaternion (-> self collide-info quat) s3-1 *up-vector*) - ) + (set! (-> s3-1 y) 0.0) + (vector-normalize! s3-1 1.0) + (forward-up->quaternion (-> self collide-info quat) s3-1 *up-vector*) + ) (vector-identity! (-> self collide-info scale)) (set! (-> self entity) (-> arg0 entity)) (TODO-RENAME-48 self) (set! (-> self nav-enemy-flags) (logand -4097 (-> self nav-enemy-flags))) (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'try) - (set! - (-> self try) - (the-as int (send-event-function (ppointer->process (-> self parent)) a1-3)) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 0) + (set! (-> a1-3 message) 'try) + (set! (-> self try) (the-as int (send-event-function (ppointer->process (-> self parent)) a1-3))) ) - ) (go-virtual nav-enemy-chase) (none) ) diff --git a/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc b/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc index e302942505..81e023de9e 100644 --- a/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc +++ b/test/decompiler/reference/levels/jungleb/jungleb-obs_REF.gc @@ -16,8 +16,8 @@ ;; definition for method 3 of type eggtop (defmethod inspect eggtop ((obj eggtop)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tcam-tracker: ~D~%" (-> obj cam-tracker)) (format #t "~T~Tsound-id: ~D~%" (-> obj sound-id)) obj @@ -33,297 +33,247 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 189) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-jungle-blue-eco-room-open" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 899 :fade-after (meters 110.0)) - (sp-item 900 :fade-after (meters 110.0)) - (sp-item 901 :fade-after (meters 110.0)) - (sp-item 902 :fade-after (meters 110.0)) - (sp-item 903 :fade-after (meters 110.0)) - ) - :bounds - (new 'static 'sphere :y -24576.0 :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 189) (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-jungle-blue-eco-room-open" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 899 :fade-after (meters 110.0)) + (sp-item 900 :fade-after (meters 110.0)) + (sp-item 901 :fade-after (meters 110.0)) + (sp-item 902 :fade-after (meters 110.0)) + (sp-item 903 :fade-after (meters 110.0)) + ) + :bounds + (new 'static 'sphere :y -24576.0 :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 190) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :name "group-jungle-blue-eco-room-activate" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 903) - (sp-item 903) - (sp-item 904 :flags (bit1) :period 1200 :length 15) - ) - :bounds - (new 'static 'sphere :y -24576.0 :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 190) (new 'static 'sparticle-launch-group + :length 3 + :duration #x384 + :linger-duration #x5dc + :name "group-jungle-blue-eco-room-activate" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 903) + (sp-item 903) + (sp-item 904 :flags (bit1) :period 1200 :length 15) + ) + :bounds + (new 'static 'sphere :y -24576.0 :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 904) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) - (sp-flt spt-num 30.0) - (sp-flt spt-y (meters -4.0)) - (sp-rnd-flt spt-scale-x (meters 20.0) (meters 10.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 5.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-r 0.0 16.0 1.0) - (sp-rnd-flt spt-g 16.0 32.0 1.0) - (sp-flt spt-b 127.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.05) (degrees 0.1) 1.0) - (sp-flt spt-fade-a 0.85333335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 905) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 904) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x2)) + (sp-flt spt-num 30.0) + (sp-flt spt-y (meters -4.0)) + (sp-rnd-flt spt-scale-x (meters 20.0) (meters 10.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 5.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-r 0.0 16.0 1.0) + (sp-rnd-flt spt-g 16.0 32.0 1.0) + (sp-flt spt-b 127.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.05) (degrees 0.1) 1.0) + (sp-flt spt-fade-a 0.85333335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 905) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 905) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 225) - (sp-launcher-by-id spt-next-launcher 906) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 905) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 225) + (sp-launcher-by-id spt-next-launcher 906) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 906) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.14222223) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 906) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.14222223) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 899) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -4.0)) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 8.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 899) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -4.0)) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 8.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 900) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -4.0)) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 900) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -4.0)) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 901) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.5 1.0 1.0) - (sp-flt spt-y (meters -4.0)) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 3.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -30.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.7) (meters 0.4) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 907) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 901) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.5 1.0 1.0) + (sp-flt spt-y (meters -4.0)) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 3.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -30.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.7) (meters 0.4) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 907) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 907) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-fade-r -1.0) - (sp-flt spt-fade-g -1.0) - (sp-flt spt-fade-a -2.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 907) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-fade-r -1.0) + (sp-flt spt-fade-g -1.0) + (sp-flt spt-fade-a -2.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 902) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.5 1.0 1.0) - (sp-flt spt-y (meters -4.0)) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 3.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 150.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.7) (meters 0.4) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 907) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 902) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.5 1.0 1.0) + (sp-flt spt-y (meters -4.0)) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 3.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 150.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.7) (meters 0.4) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 907) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 903) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-y (meters -6.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 2.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -140.0) (degrees 100.00001) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.7) (meters 0.4) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 907) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 80.0) (degrees 200.00002) 1.0) - (sp-flt spt-conerot-radius (meters 4.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 903) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-y (meters -6.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 2.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -140.0) (degrees 100.00001) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.7) (meters 0.4) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 907) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 80.0) (degrees 200.00002) 1.0) + (sp-flt spt-conerot-radius (meters 4.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: (defstate eggtop-idle (eggtop) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'notify) - (case (-> arg3 param 0) - (('pickup) - (if (type-type? (-> arg0 type) fuel-cell) - (save-reminder - (get-task-control (-> self entity extra perm task)) - 1 - 0 + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'notify) + (case (-> arg3 param 0) + (('pickup) + (if (type-type? (-> arg0 type) fuel-cell) + (save-reminder (get-task-control (-> self entity extra perm task)) 1 0) + ) + ) ) - ) ) - ) - ) - ) + ) + ) ) - ) :exit - (behavior () - (sound-stop (-> self sound-id)) - (none) - ) + (behavior () (sound-stop (-> self sound-id)) (none)) :trans (behavior () - (if - (and - (not (-> self child)) - (task-complete? *game-info* (-> self entity extra perm task)) - ) - (go eggtop-close #f) + (if (and (not (-> self child)) (task-complete? *game-info* (-> self entity extra perm task))) + (go eggtop-close #f) + ) + (spawn (-> self part) (-> self root-override trans)) + (sound-play-by-name (static-sound-name "electric-loop") (-> self sound-id) 1024 0 0 1 #t) + (none) ) - (spawn (-> self part) (-> self root-override trans)) - (sound-play-by-name - (static-sound-name "electric-loop") - (-> self sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (none) - ) :code - (behavior () - (suspend) - (dummy-47 (-> self root-override)) - (anim-loop) - (none) - ) + (behavior () (suspend) (dummy-47 (-> self root-override)) (anim-loop) (none)) :post (the-as (function none :behavior eggtop) ja-post) ) @@ -331,303 +281,123 @@ ;; failed to figure out what this is: (defstate eggtop-close (eggtop) :trans - (behavior () - (rider-trans) - (hide-hud-quick) - (none) - ) + (behavior () (rider-trans) (hide-hud-quick) (none)) :code (behavior ((arg0 symbol)) - (when (not arg0) - (sound-play-by-name - (static-sound-name "vent-switch") - (new-sound-id) - 2048 - 0 - 0 - 1 - #t - ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (when (not arg0) + (sound-play-by-name (static-sound-name "vent-switch") (new-sound-id) 2048 0 0 1 #t) + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-1 + (let ((t9-3 (method-of-type part-tracker activate))) + (t9-3 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + part-tracker-init + (-> *part-group-id-table* 190) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-1 ppointer) + ) ) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 190) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) - ) - (let ((gp-2 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) (the-as uint (ppointer->handle (when gp-2 - (let - ((t9-6 - (method-of-type - camera-tracker - activate - ) - ) - ) - (t9-6 - (the-as - camera-tracker - gp-2 - ) - self - 'camera-tracker - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - gp-2 - camera-tracker-init - (lambda :behavior camera-tracker - () - (while - (not - (process-grab? - *target* - ) - ) - (suspend) - ) - (let - ((gp-0 - (-> - *display* - base-frame-counter - ) - ) - ) - (until - (>= - (- - (-> - *display* - base-frame-counter - ) - gp-0 - ) - 300 - ) - (suspend) - ) - ) - (send-event - *camera* - 'blend-from-as-fixed - ) - (camera-look-at - (the-as - pair - "ecovent-171" - ) - (the-as - uint - 0 - ) - ) - (camera-change-to - "camera-223" - 0 - #f - ) - (let - ((gp-1 - (-> - *display* - base-frame-counter - ) - ) - ) - (until - (>= - (- - (-> - *display* - base-frame-counter - ) - gp-1 - ) - 900 - ) - (suspend) - ) - ) - (while - (not - (process-release? - (handle->process - (-> - self - grab-target - ) - ) - ) - ) - (suspend) - ) - (send-event - *camera* - 'blend-from-as-fixed - ) - (level-hint-spawn - (game-text-id - jungleb-eco-vents-opened - ) - "asstvb02" - (the-as - entity - #f - ) - *entity-pool* - (game-task - none - ) - ) - (camera-look-at - (the-as - pair - *target* - ) - (the-as - uint - 0 - ) - ) - (camera-change-to - (the-as - string - 'base - ) - 150 - #f - ) - (send-event - (ppointer->process - (-> - *hud-parts* - fuel-cell - ) - ) - 'show - ) - (none) - ) - ) - (-> - gp-2 - ppointer - ) - ) - ) + (let ((gp-2 (get-process *default-dead-pool* camera-tracker #x4000))) + (set! (-> self cam-tracker) + (the-as + uint + (ppointer->handle (when gp-2 + (let ((t9-6 (method-of-type camera-tracker activate))) + (t9-6 (the-as camera-tracker gp-2) self 'camera-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-2 + camera-tracker-init + (lambda :behavior camera-tracker + () + (while (not (process-grab? *target*)) + (suspend) + ) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) 300) + (suspend) + ) + ) + (send-event *camera* 'blend-from-as-fixed) + (camera-look-at (the-as pair "ecovent-171") (the-as uint 0)) + (camera-change-to "camera-223" 0 #f) + (let ((gp-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-1) 900) + (suspend) + ) + ) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (send-event *camera* 'blend-from-as-fixed) + (level-hint-spawn + (game-text-id jungleb-eco-vents-opened) + "asstvb02" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (camera-look-at (the-as pair *target*) (the-as uint 0)) + (camera-change-to (the-as string 'base) 150 #f) + (send-event (ppointer->process (-> *hud-parts* fuel-cell)) 'show) + (none) + ) + ) + (-> gp-2 ppointer) + ) ) - ) - ) - (save-reminder (get-task-control (-> self entity extra perm task)) 2 0) - (sound-play-by-name - (static-sound-name "jngb-eggtop-seq") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-16 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 + ) + ) + ) + (save-reminder (get-task-control (-> self entity extra perm task)) 2 0) + (sound-play-by-name (static-sound-name "jngb-eggtop-seq") (new-sound-id) 1024 0 0 1 #t) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-16 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-16 param 1) 1.0) + (set! (-> a0-16 frame-num) 0.0) + (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) + (set! (-> a0-17 param 1) 1.0) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! + (process-entity-status! self (entity-perm-status complete) #t) + (let ((a0-20 (-> self entity))) + (if (and a0-20 (= self (-> a0-20 extra process))) + (entity-task-complete-on a0-20) + ) ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 param 0) - (the float (+ (-> a0-17 frame-group data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) + (let ((gp-4 (-> self skel root-channel 0))) (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (process-entity-status! self (entity-perm-status complete) #t) - (let ((a0-20 (-> self entity))) - (if (and a0-20 (= self (-> a0-20 extra process))) - (entity-task-complete-on a0-20) - ) - ) - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! - (-> gp-4 frame-num) - (the - float - (+ - (-> + gp-4 (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length + num-func-identity ) - -1 - ) + (set! (-> gp-4 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) ) - ) + (suspend) + (logior! (-> self mask) (process-mask sleep)) + (suspend) + 0 + (none) ) - (suspend) - (logior! (-> self mask) (process-mask sleep)) - (suspend) - 0 - (none) - ) :post (the-as (function none :behavior eggtop) rider-post) ) @@ -635,73 +405,48 @@ ;; definition for method 11 of type eggtop ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! eggtop ((obj eggtop) (arg0 entity-actor)) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 4) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 -7372.8 16384.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 4) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 -7372.8 16384.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *eggtop-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 189) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 189) obj)) (set! (-> obj sound-id) (new-sound-id)) (cond - ((task-complete? *game-info* (-> obj entity extra perm task)) - (go eggtop-close #t) - ) - (else - (birth-pickup-at-point - (vector+! - (new 'stack-no-clear 'vector) - (-> obj root-override trans) - (new 'static 'vector :y 6144.0 :w 1.0) - ) - (pickup-type fuel-cell) - (the float (-> obj entity extra perm task)) - #f - obj - (the-as fact-info #f) + ((task-complete? *game-info* (-> obj entity extra perm task)) + (go eggtop-close #t) ) - (go eggtop-idle) + (else + (birth-pickup-at-point + (vector+! (new 'stack-no-clear 'vector) (-> obj root-override trans) (new 'static 'vector :y 6144.0 :w 1.0)) + (pickup-type fuel-cell) + (the float (-> obj entity extra perm task)) + #f + obj + (the-as fact-info #f) + ) + (go eggtop-idle) + ) ) - ) (none) ) @@ -717,8 +462,8 @@ ;; definition for method 3 of type jng-iris-door (defmethod inspect jng-iris-door ((obj jng-iris-door)) (let ((t9-0 (method-of-type eco-door inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -734,31 +479,20 @@ ;; definition for method 24 of type jng-iris-door ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-24 jng-iris-door ((obj jng-iris-door)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 16384.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 16384.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) diff --git a/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc b/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc index a344ad4bac..ea3ff83fc5 100644 --- a/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc +++ b/test/decompiler/reference/levels/jungleb/plat-flip_REF.gc @@ -23,8 +23,8 @@ ;; definition for method 3 of type plat-flip (defmethod inspect plat-flip ((obj plat-flip)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpath-pos: ~f~%" (-> obj path-pos)) (format #t "~T~Tbefore-turn-down-time: ~f~%" (-> obj before-turn-down-time)) (format #t "~T~Tturn-down-time: ~f~%" (-> obj turn-down-time)) @@ -50,168 +50,102 @@ (defstate plat-flip-idle (plat-flip) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'bonk) - (activate! (-> self smush) -1.0 90 300 1.0 1.0) - ) - ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) - (the-as smush-control #f) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'bonk) + (activate! (-> self smush) -1.0 90 300 1.0 1.0) + ) + ((= v1-0 'touch) + (send-event arg0 'no-look-around 450) + (the-as smush-control #f) + ) + ) + ) + ) ) - ) :trans (the-as (function none :behavior plat-flip) rider-trans) :code (behavior () - (local-vars (f30-0 float) (f30-1 float)) - (let ((gp-0 #f)) - (while #t - (let ((f0-1 (get-current-value (-> self sync) (-> self total-time)))) - (cond - ((< f0-1 (-> self before-turn-down-time)) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (set! gp-0 #f) - ) - ((begin - (set! f30-0 (- f0-1 (-> self before-turn-down-time))) - (< f30-0 (-> self turn-down-time)) - ) - (when (not gp-0) - (set! gp-0 #t) - (sound-play-by-name - (static-sound-name "plat-flip") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! - (-> s5-1 frame-num) - (/ - (* - f30-0 - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length + (local-vars (f30-0 float) (f30-1 float)) + (let ((gp-0 #f)) + (while #t + (let ((f0-1 (get-current-value (-> self sync) (-> self total-time)))) + (cond + ((< f0-1 (-> self before-turn-down-time)) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) ) - -1 - ) + (set! gp-0 #f) ) - ) - (-> self turn-down-time) - ) - ) - ) - ) - ((begin - (set! f30-1 (- f30-0 (-> self turn-down-time))) - (< f30-1 (-> self before-turn-up-time)) - ) - (set! gp-0 #f) - (let ((s5-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! - (-> s5-2 frame-num) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 - ) - ) - ) - ) - ) - (else - (when (not gp-0) - (set! gp-0 #t) - (sound-play-by-name - (static-sound-name "plat-flip") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (let ((f30-2 (- f30-1 (-> self before-turn-up-time))) - (s5-4 (-> self skel root-channel 0)) - ) - (joint-control-channel-group-eval! - s5-4 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! - (-> s5-4 frame-num) - (/ - (* - f30-2 - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length + ((begin (set! f30-0 (- f0-1 (-> self before-turn-down-time))) (< f30-0 (-> self turn-down-time))) + (when (not gp-0) + (set! gp-0 #t) + (sound-play-by-name (static-sound-name "plat-flip") (new-sound-id) 1024 0 0 1 #t) + ) + (let ((s5-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) + (/ (* f30-0 (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1))) + (-> self turn-down-time) + ) + ) ) - -1 - ) ) + ((begin (set! f30-1 (- f30-0 (-> self turn-down-time))) (< f30-1 (-> self before-turn-up-time))) + (set! gp-0 #f) + (let ((s5-2 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s5-2 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-2 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + ) + ) + (else + (when (not gp-0) + (set! gp-0 #t) + (sound-play-by-name (static-sound-name "plat-flip") (new-sound-id) 1024 0 0 1 #t) + ) + (let ((f30-2 (- f30-1 (-> self before-turn-up-time))) + (s5-4 (-> self skel root-channel 0)) + ) + (joint-control-channel-group-eval! + s5-4 + (the-as art-joint-anim (-> self draw art-group data 3)) + num-func-identity + ) + (set! (-> s5-4 frame-num) + (/ (* f30-2 (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1))) + (-> self turn-up-time) + ) + ) + ) + ) ) - (-> self turn-up-time) - ) ) - ) + (let ((s5-5 (new 'stack-no-clear 'vector))) + (set! (-> s5-5 quad) (-> self base-pos quad)) + (+! (-> s5-5 y) (* 1638.4 (update! (-> self smush)))) + (TODO-RENAME-30 (-> self root-override) s5-5) + ) + (suspend) ) - ) ) - (let ((s5-5 (new 'stack-no-clear 'vector))) - (set! (-> s5-5 quad) (-> self base-pos quad)) - (+! (-> s5-5 y) (* 1638.4 (update! (-> self smush)))) - (TODO-RENAME-30 (-> self root-override) s5-5) - ) - (suspend) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior plat-flip) rider-post) ) @@ -222,103 +156,75 @@ (defmethod init-from-entity! plat-flip ((obj plat-flip) (arg0 entity-actor)) (local-vars (sv-16 res-tag) (sv-32 res-tag) (sv-48 res-tag)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 11468.8) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 11468.8) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (set! (-> obj base-pos quad) (-> obj root-override trans quad)) (initialize-skeleton obj *plat-flip-sg* '()) (logior! (-> obj skel status) 1) (let ((f30-0 300.0)) - (set! sv-16 (new 'static 'res-tag)) - (let ((v1-28 (res-lump-data arg0 'delay pointer :tag-ptr (& sv-16)))) - (set! - (-> obj before-turn-down-time) - (* f30-0 (if (and v1-28 (> (the-as int (-> sv-16 elt-count)) 0)) - (-> (the-as (pointer float) v1-28)) - 2.0 - ) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-28 (res-lump-data arg0 'delay pointer :tag-ptr (& sv-16)))) + (set! (-> obj before-turn-down-time) (* f30-0 (if (and v1-28 (> (the-as int (-> sv-16 elt-count)) 0)) + (-> (the-as (pointer float) v1-28)) + 2.0 + ) + ) + ) ) - ) ) - ) (let ((f30-1 300.0)) - (set! sv-32 (new 'static 'res-tag)) - (let ((v1-31 (res-lump-data arg0 'delay pointer :tag-ptr (& sv-32)))) - (set! - (-> obj before-turn-up-time) - (* f30-1 (if (and v1-31 (< 1 (the-as int (-> sv-32 elt-count)))) - (-> (the-as (pointer float) v1-31) 1) - 0.2 - ) + (set! sv-32 (new 'static 'res-tag)) + (let ((v1-31 (res-lump-data arg0 'delay pointer :tag-ptr (& sv-32)))) + (set! (-> obj before-turn-up-time) (* f30-1 (if (and v1-31 (< 1 (the-as int (-> sv-32 elt-count)))) + (-> (the-as (pointer float) v1-31) 1) + 0.2 + ) + ) + ) ) - ) ) - ) (set! (-> obj turn-down-time) 300.0) (set! (-> obj turn-up-time) 300.0) - (set! - (-> obj total-time) - (+ - (-> obj before-turn-down-time) - (-> obj turn-down-time) - (-> obj before-turn-up-time) - (-> obj turn-up-time) - ) - ) + (set! (-> obj total-time) + (+ (-> obj before-turn-down-time) (-> obj turn-down-time) (-> obj before-turn-up-time) (-> obj turn-up-time)) + ) (let ((s4-1 (-> obj sync)) (s3-1 (method-of-type sync-info setup-params!)) (s2-0 (the int (-> obj total-time))) ) - (set! sv-48 (new 'static 'res-tag)) - (let ((v1-35 (res-lump-data arg0 'sync-percent pointer :tag-ptr (& sv-48)))) - (s3-1 - s4-1 - (the-as uint s2-0) - (if (and v1-35 (> (the-as int (-> sv-48 elt-count)) 0)) - (-> (the-as (pointer float) v1-35) 0) - 0.0 + (set! sv-48 (new 'static 'res-tag)) + (let ((v1-35 (res-lump-data arg0 'sync-percent pointer :tag-ptr (& sv-48)))) + (s3-1 + s4-1 + (the-as uint s2-0) + (if (and v1-35 (> (the-as int (-> sv-48 elt-count)) 0)) + (-> (the-as (pointer float) v1-35) 0) + 0.0 + ) + 0.15 + 0.15 + ) ) - 0.15 - 0.15 - ) ) - ) (dummy-47 (-> obj root-override)) (go plat-flip-idle) (none) diff --git a/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc b/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc index dd99210aba..7abb20557d 100644 --- a/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc +++ b/test/decompiler/reference/levels/lavatube/assistant-lavatube_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type assistant-lavatube-start (defmethod inspect assistant-lavatube-start ((obj assistant-lavatube-start)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -29,49 +29,36 @@ ) ;; definition for method 32 of type assistant-lavatube-start -(defmethod - play-anim! - assistant-lavatube-start - ((obj assistant-lavatube-start) (arg0 symbol)) - (case (current-status (-> obj tasks)) - (((task-status need-reward-speech)) +(defmethod play-anim! assistant-lavatube-start ((obj assistant-lavatube-start) (arg0 symbol)) + (case (current-status (-> obj tasks)) + (((task-status need-reward-speech)) (if arg0 - (close-current! (-> obj tasks)) - ) + (close-current! (-> obj tasks)) + ) (new 'static 'spool-anim - :name "assistant-lavatube-start-resolution" - :index 5 - :parts 11 - :command-list - '( - ((the binteger 232) - joint - "cameraB" + :name "assistant-lavatube-start-resolution" + :index 5 + :parts 11 + :command-list + '(((the binteger 232) joint "cameraB") + ((the binteger 491) joint "camera") + ((the binteger 866) joint "cameraB") + ((the binteger 1061) joint "camera") + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) ) - ((the binteger 491) - joint - "camera" - ) - ((the binteger 866) - joint - "cameraB" - ) - ((the binteger 1061) joint "camera") - ) + (get-art-elem obj) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (get-art-elem obj) ) - ) ) ;; definition for method 31 of type assistant-lavatube-start @@ -84,95 +71,60 @@ :virtual #t :trans (behavior () - ((-> (method-of-type process-taskable hidden) trans)) - (when (and (cond - ((and - *target* - (>= - 61440.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - #t - ) - (else + ((-> (method-of-type process-taskable hidden) trans)) + (when (and + (cond + ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + #t + ) + (else (set! (-> self state-time) (-> *display* base-frame-counter)) #f ) - ) - (and - (not - (closed? - (-> self tasks) - (game-task lavatube-start) - (task-status need-reward-speech) - ) + ) + (and + (not (closed? (-> self tasks) (game-task lavatube-start) (task-status need-reward-speech))) + (not (movie?)) + (not (level-hint-displayed?)) + (not (and *cheat-mode* (cpad-hold? 0 l3))) + (< (- (-> *display* base-frame-counter) (-> self state-time)) 3000) + ) ) - (not (movie?)) - (not (level-hint-displayed?)) - (not (and *cheat-mode* (cpad-hold? 0 l3))) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 3000) - ) + (hide-hud) + (kill-current-level-hint '() '(sidekick voicebox) 'exit) + (when (and + (seen-text? *game-info* (game-text-id assistant-lavatube-powercell-hint)) + (hud-hidden?) + (can-grab-display? self) + (not (-> *setting-control* current hint)) + ) + (let ((gp-0 + (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-26 gp-0)) + (set! (-> v1-26 width) (the float 448)) + ) + (let ((v1-27 gp-0)) + (set! (-> v1-27 height) (the float 80)) + ) + (let ((v1-28 gp-0)) + (set! (-> v1-28 scale) 0.8) + ) + (set! (-> gp-0 flags) (font-flags shadow kerning middle large)) + (print-game-text (lookup-text! *common-text* (game-text-id lavatube-powercell-req-text) #f) gp-0 #f 128 22) ) - (hide-hud) - (kill-current-level-hint '() '(sidekick voicebox) 'exit) - (when - (and - (seen-text? *game-info* (game-text-id assistant-lavatube-powercell-hint)) - (hud-hidden?) - (can-grab-display? self) - (not (-> *setting-control* current hint)) - ) - (let - ((gp-0 - (new - 'stack - 'font-context - *font-default-matrix* - 32 - 160 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) ) - ) - (let ((v1-26 gp-0)) - (set! (-> v1-26 width) (the float 448)) - ) - (let ((v1-27 gp-0)) - (set! (-> v1-27 height) (the float 80)) - ) - (let ((v1-28 gp-0)) - (set! (-> v1-28 scale) 0.8) - ) - (set! (-> gp-0 flags) (font-flags shadow kerning middle large)) - (print-game-text - (lookup-text! - *common-text* - (game-text-id lavatube-powercell-req-text) - #f + (level-hint-spawn + (game-text-id assistant-lavatube-powercell-hint) + "asstva74" + (the-as entity #f) + *entity-pool* + (game-task none) ) - gp-0 - #f - 128 - 22 - ) ) - ) - (level-hint-spawn - (game-text-id assistant-lavatube-powercell-hint) - "asstva74" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -180,142 +132,90 @@ :virtual #t :code (behavior () - (while #t - (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - (let ((v1-5 (-> self skel root-channel 0))) - (set! - (-> v1-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - ) - (let* ((f30-0 2.0) - (v1-7 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-8 (the-as number (logior #x3f800000 v1-7))) - ) - (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-8)))) 2)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (while #t + (when (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (get-art-elem self) + ) + (ja-channel-push! 1 15) + (let ((v1-5 (-> self skel root-channel 0))) + (set! (-> v1-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) ) - (set! - (-> a0-12 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) + (let* ((f30-0 2.0) + (v1-7 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-8 (the-as number (logior #x3f800000 v1-7))) + ) + (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-8)))) 2)) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! + a0-12 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! + (ja-channel-push! 1 15) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-16 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-16 param 1) 1.0) + (set! (-> a0-16 frame-num) 0.0) + (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) + (suspend) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) + (set! (-> a0-17 param 1) 1.0) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - ) - (ja-channel-push! 1 15) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-16 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 param 0) - (the float (+ (-> a0-17 frame-group data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) ) ;; definition for method 39 of type assistant-lavatube-start -(defmethod - should-display? - assistant-lavatube-start - ((obj assistant-lavatube-start)) +(defmethod should-display? assistant-lavatube-start ((obj assistant-lavatube-start)) (first-any (-> obj tasks) #t) (= (current-status (-> obj tasks)) (task-status need-reward-speech)) ) ;; definition for method 11 of type assistant-lavatube-start -(defmethod - init-from-entity! - assistant-lavatube-start - ((obj assistant-lavatube-start) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *assistant-lavatube-start-sg* - 3 - 29 - (new 'static 'vector :w 4096.0) - 5 - ) +(defmethod init-from-entity! assistant-lavatube-start ((obj assistant-lavatube-start) (arg0 entity-actor)) + (dummy-40 obj arg0 *assistant-lavatube-start-sg* 3 29 (new 'static 'vector :w 4096.0) 5) (set! (-> obj tasks) (get-task-control (game-task lavatube-start))) (first-any (-> obj tasks) #t) (dummy-42 obj) diff --git a/test/decompiler/reference/levels/lavatube/lavatube-part_REF.gc b/test/decompiler/reference/levels/lavatube/lavatube-part_REF.gc index d4a7b38e5c..ca14441007 100644 --- a/test/decompiler/reference/levels/lavatube/lavatube-part_REF.gc +++ b/test/decompiler/reference/levels/lavatube/lavatube-part_REF.gc @@ -13,1026 +13,933 @@ ;; definition for method 3 of type lavatube-part (defmethod inspect lavatube-part ((obj lavatube-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 616) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-crust-20x20" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2489 :fade-after (meters 140.0) :falloff-to (meters 140.0)) - ) - :bounds (new 'static 'sphere :w 57344.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 617) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-lowlava-20x20" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2490 :fade-after (meters 190.0) :falloff-to (meters 190.0)) - ) - :bounds - (new 'static 'sphere :y 49152.0 :w 196608.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2490) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 3.0)) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.6564103) - (sp-flt spt-fade-a 0.13333334) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 60 59 1) - (sp-launcher-by-id spt-next-launcher 2491) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2491) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 2492) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2492) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r -1.28) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.42666668) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2493) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2493) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.035555556) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2489) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 2494) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2494) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 2496) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2496) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r -0.85333335) - (sp-flt spt-fade-g -0.42666668) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2497) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2497) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-a -0.026666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 629) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-crust-40x40" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2529 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 630) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-lowlava-40x40" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2530 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - ) - :bounds - (new 'static 'sphere :y 49152.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2530) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters 3.0)) - (sp-rnd-flt spt-z -81920.0 163840.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.6564103) - (sp-flt spt-fade-a 0.13333334) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 60 59 1) - (sp-launcher-by-id spt-next-launcher 2491) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2529) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.8) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -81920.0 163840.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 2494) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 621) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-green-smoke-down-1" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) - (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) - (sp-item 2516 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) - (sp-item 2517 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y -24576.0 :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 622) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-green-smoke-down-2" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1536 :length 75) - (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 596 :length 96) - (sp-item 2516 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1070 :length 60) - (sp-item 2517 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y -24576.0 :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 623) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-green-smoke-down-3" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1161 :length 75) - (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 869 :length 96) - (sp-item 2516 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1029 :length 60) - (sp-item 2517 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y -24576.0 :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2517) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 3.0) 1.0) - (sp-flt spt-y (meters -1.0)) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 255.0) - (sp-rnd-flt spt-b 89.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 20 4 1) - (sp-launcher-by-id spt-next-launcher 2518) - (sp-flt spt-conerot-x (degrees 180.0)) - (sp-flt spt-conerot-y (degrees 0.0)) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2518) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.47407407) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2516) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.7 0.6 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 0.05 - :group #x1 - :sound-name (static-sound-name "steam-release") - :volume #x400 +(set! (-> *part-group-id-table* 616) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-crust-20x20" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 2489 :fade-after (meters 140.0) :falloff-to (meters 140.0)) + ) + :bounds (new 'static 'sphere :w 57344.0) + ) ) - ) - (sp-rnd-flt spt-x (meters 0.0) (meters 3.0) 1.0) - (sp-flt spt-y (meters -1.0)) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 255.0) - (sp-rnd-flt spt-b 89.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.16) (meters 0.08) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-rnd-flt spt-accel-y 0.68266666 0.13653333 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 20 4 1) - (sp-launcher-by-id spt-next-launcher 2518) - (sp-flt spt-conerot-x (degrees 180.0)) - (sp-flt spt-conerot-y (degrees 0.0)) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 624) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-green-smoke-angle-1" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1050 :length 75) - (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 886 :length 96) - (sp-item 2519 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1276 :length 60) - (sp-item 2520 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y -24576.0 :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 625) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-green-smoke-angle-2" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1830 :length 75) - (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 970 :length 96) - (sp-item 2519 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1102 :length 60) - (sp-item 2520 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y -24576.0 :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 626) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-green-smoke-angle-3" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1530 :length 75) - (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1189 :length 96) - (sp-item 2519 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 862 :length 60) - (sp-item 2520 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y -24576.0 :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2520) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.5 1.0) - (sp-rnd-flt spt-scale-x (meters 5.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 255.0) - (sp-rnd-flt spt-b 89.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-rnd-flt spt-accel-y 0.68266666 2.048 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 20 4 1) - (sp-launcher-by-id spt-next-launcher 2518) - (sp-flt spt-conerot-x (degrees 0.0)) - (sp-flt spt-conerot-y (degrees 0.0)) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2519) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.4 0.3 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 0.05 - :group #x1 - :sound-name (static-sound-name "steam-release") - :volume #x400 +(set! (-> *part-group-id-table* 617) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-lowlava-20x20" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 2490 :fade-after (meters 190.0) :falloff-to (meters 190.0)) + ) + :bounds + (new 'static 'sphere :y 49152.0 :w 196608.0) + ) ) - ) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 255.0) - (sp-rnd-flt spt-b 89.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.16) (meters 0.08) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.016666668) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-rnd-flt spt-accel-y 1.3653333 4.096 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 20 4 1) - (sp-launcher-by-id spt-next-launcher 2518) - (sp-flt spt-conerot-x (degrees 0.0)) - (sp-flt spt-conerot-y (degrees 0.0)) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 627) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-fountain" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2521 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 2522 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y -40960.0 :w 49152.0) - ) - ) +(set! (-> *part-id-table* 2490) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 3.0)) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.6564103) + (sp-flt spt-fade-a 0.13333334) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 60 59 1) + (sp-launcher-by-id spt-next-launcher 2491) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2522) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-y (meters -0.75) (meters 0.25) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters -0.00033333333) (meters 0.00033333333) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -5.4613333 -5.4613333 1.0) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -70.0) (degrees 50.000004) 1.0) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2491) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 2492) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2521) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.1 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0013333333) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 210 89 1) - (sp-launcher-by-id spt-next-launcher 2523) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -60.0) (degrees 30.0) 1.0) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2492) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r -1.28) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.42666668) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2493) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2523) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -0.64) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.21333334) - (sp-flt spt-fade-a -0.08) - (sp-int-plain-rnd spt-next-time 210 89 1) - (sp-launcher-by-id spt-next-launcher 2524) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2493) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.035555556) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2524) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2489) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 2494) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 628) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-vents" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2525 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-id-table* 2494) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 2496) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2525) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.3 1.0) - (sp-flt spt-y (meters -1.0)) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0013333333) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 2526) - (sp-flt spt-conerot-x (degrees 0.0)) - (sp-flt spt-conerot-y (degrees 0.0)) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2496) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r -0.85333335) + (sp-flt spt-fade-g -0.42666668) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2497) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2526) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -1.28) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.42666668) - (sp-flt spt-fade-a -0.10666667) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 2527) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2497) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-a -0.026666667) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2527) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 629) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-crust-40x40" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 2529 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 631) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-heavy-smoke" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2531 :fade-after (meters 140.0) :falloff-to (meters 140.0)) - ) - :bounds - (new 'static 'sphere :y 40960.0 :w 90112.0) - ) - ) +(set! (-> *part-group-id-table* 630) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-lowlava-40x40" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 2530 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + ) + :bounds + (new 'static 'sphere :y 49152.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2531) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 0.4 1.0) - (sp-rnd-flt spt-x (meters -16.0) (meters 32.0) 1.0) - (sp-rnd-flt spt-z -65536.0 131072.0 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 12.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.02) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 210 89 1) - (sp-launcher-by-id spt-next-launcher 2523) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2530) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters 3.0)) + (sp-rnd-flt spt-z -81920.0 163840.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.6564103) + (sp-flt spt-fade-a 0.13333334) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 60 59 1) + (sp-launcher-by-id spt-next-launcher 2491) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2532) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -0.64) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.21333334) - (sp-flt spt-fade-a -0.08) - (sp-int-plain-rnd spt-next-time 210 89 1) - (sp-launcher-by-id spt-next-launcher 2524) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2529) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.8) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -81920.0 163840.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 2494) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2533) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 621) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-green-smoke-down-1" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) + (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) + (sp-item 2516 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) + (sp-item 2517 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y -24576.0 :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 632) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-heavy-smoke-start" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2534 :fade-after (meters 140.0) :falloff-to (meters 140.0)) - (sp-item 2535 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - ) - :bounds - (new 'static 'sphere :y 40960.0 :w 90112.0) - ) - ) +(set! (-> *part-group-id-table* 622) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-green-smoke-down-2" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1536 :length 75) + (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 596 :length 96) + (sp-item 2516 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1070 :length 60) + (sp-item 2517 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y -24576.0 :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2534) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 5.0 1.0) - (sp-rnd-flt spt-x (meters -14.0) (meters 28.0) 1.0) - (sp-rnd-flt spt-y (meters 8.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-z 16384.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters -0.04) (meters -0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters -0.00033333333) (meters 0.00033333333) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -8.192 -2.7306666 1.0) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 623) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-green-smoke-down-3" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1161 :length 75) + (sp-item 2516 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 869 :length 96) + (sp-item 2516 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1029 :length 60) + (sp-item 2517 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y -24576.0 :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2535) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.4 0.8 1.0) - (sp-rnd-flt spt-x (meters -16.0) (meters 32.0) 1.0) - (sp-rnd-flt spt-y (meters -14.0) (meters 30.0) 1.0) - (sp-rnd-flt spt-z -32768.0 32768.0 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 12.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.02) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 210 89 1) - (sp-launcher-by-id spt-next-launcher 2523) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2517) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 3.0) 1.0) + (sp-flt spt-y (meters -1.0)) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 255.0) + (sp-rnd-flt spt-b 89.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 20 4 1) + (sp-launcher-by-id spt-next-launcher 2518) + (sp-flt spt-conerot-x (degrees 180.0)) + (sp-flt spt-conerot-y (degrees 0.0)) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 633) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-lavatube-heavy-smoke-end" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2536 :fade-after (meters 140.0) :falloff-to (meters 140.0)) - (sp-item 2537 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - ) - :bounds - (new 'static 'sphere :y 40960.0 :w 90112.0) - ) - ) +(set! (-> *part-id-table* 2518) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.47407407) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2536) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 3.0 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-z 8192.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters -0.04) (meters -0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters -0.00033333333) (meters 0.00033333333) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -8.192 -2.7306666 1.0) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-flt spt-rotate-y (degrees 240.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2516) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.7 0.6 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec + :mask #x1 + :num 0.05 + :group #x1 + :sound-name (static-sound-name "steam-release") + :volume #x400 + ) + ) + (sp-rnd-flt spt-x (meters 0.0) (meters 3.0) 1.0) + (sp-flt spt-y (meters -1.0)) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 255.0) + (sp-rnd-flt spt-b 89.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.16) (meters 0.08) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-rnd-flt spt-accel-y 0.68266666 0.13653333 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 20 4 1) + (sp-launcher-by-id spt-next-launcher 2518) + (sp-flt spt-conerot-x (degrees 180.0)) + (sp-flt spt-conerot-y (degrees 0.0)) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2537) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.2 0.4 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-y (meters -22.0) (meters 30.0) 1.0) - (sp-rnd-flt spt-z -32768.0 32768.0 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 12.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.02) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 210 89 1) - (sp-launcher-by-id spt-next-launcher 2523) - (sp-flt spt-rotate-y (degrees 180.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 624) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-green-smoke-angle-1" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1050 :length 75) + (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 886 :length 96) + (sp-item 2519 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1276 :length 60) + (sp-item 2520 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y -24576.0 :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 625) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-green-smoke-angle-2" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1830 :length 75) + (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 970 :length 96) + (sp-item 2519 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 1102 :length 60) + (sp-item 2520 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y -24576.0 :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 626) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-green-smoke-angle-3" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1530 :length 75) + (sp-item 2519 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1189 :length 96) + (sp-item 2519 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 862 :length 60) + (sp-item 2520 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y -24576.0 :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2520) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.5 1.0) + (sp-rnd-flt spt-scale-x (meters 5.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 255.0) + (sp-rnd-flt spt-b 89.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-rnd-flt spt-accel-y 0.68266666 2.048 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 20 4 1) + (sp-launcher-by-id spt-next-launcher 2518) + (sp-flt spt-conerot-x (degrees 0.0)) + (sp-flt spt-conerot-y (degrees 0.0)) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2519) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.4 0.3 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec + :mask #x1 + :num 0.05 + :group #x1 + :sound-name (static-sound-name "steam-release") + :volume #x400 + ) + ) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 255.0) + (sp-rnd-flt spt-b 89.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.16) (meters 0.08) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.016666668) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-rnd-flt spt-accel-y 1.3653333 4.096 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 20 4 1) + (sp-launcher-by-id spt-next-launcher 2518) + (sp-flt spt-conerot-x (degrees 0.0)) + (sp-flt spt-conerot-y (degrees 0.0)) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 627) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-fountain" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2521 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 2522 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y -40960.0 :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2522) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-y (meters -0.75) (meters 0.25) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters -0.00033333333) (meters 0.00033333333) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -5.4613333 -5.4613333 1.0) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -70.0) (degrees 50.000004) 1.0) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2521) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.1 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0013333333) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 210 89 1) + (sp-launcher-by-id spt-next-launcher 2523) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -60.0) (degrees 30.0) 1.0) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2523) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r -0.64) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.21333334) + (sp-flt spt-fade-a -0.08) + (sp-int-plain-rnd spt-next-time 210 89 1) + (sp-launcher-by-id spt-next-launcher 2524) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2524) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 628) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-vents" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 2525 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2525) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.3 1.0) + (sp-flt spt-y (meters -1.0)) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0013333333) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 2526) + (sp-flt spt-conerot-x (degrees 0.0)) + (sp-flt spt-conerot-y (degrees 0.0)) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2526) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r -1.28) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.42666668) + (sp-flt spt-fade-a -0.10666667) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 2527) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2527) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 631) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-heavy-smoke" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 2531 :fade-after (meters 140.0) :falloff-to (meters 140.0)) + ) + :bounds + (new 'static 'sphere :y 40960.0 :w 90112.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2531) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 0.4 1.0) + (sp-rnd-flt spt-x (meters -16.0) (meters 32.0) 1.0) + (sp-rnd-flt spt-z -65536.0 131072.0 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 12.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.02) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 210 89 1) + (sp-launcher-by-id spt-next-launcher 2523) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2532) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r -0.64) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.21333334) + (sp-flt spt-fade-a -0.08) + (sp-int-plain-rnd spt-next-time 210 89 1) + (sp-launcher-by-id spt-next-launcher 2524) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2533) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 632) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-heavy-smoke-start" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2534 :fade-after (meters 140.0) :falloff-to (meters 140.0)) + (sp-item 2535 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + ) + :bounds + (new 'static 'sphere :y 40960.0 :w 90112.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2534) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 5.0 1.0) + (sp-rnd-flt spt-x (meters -14.0) (meters 28.0) 1.0) + (sp-rnd-flt spt-y (meters 8.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-z 16384.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters -0.04) (meters -0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters -0.00033333333) (meters 0.00033333333) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -8.192 -2.7306666 1.0) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2535) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.4 0.8 1.0) + (sp-rnd-flt spt-x (meters -16.0) (meters 32.0) 1.0) + (sp-rnd-flt spt-y (meters -14.0) (meters 30.0) 1.0) + (sp-rnd-flt spt-z -32768.0 32768.0 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 12.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.02) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 210 89 1) + (sp-launcher-by-id spt-next-launcher 2523) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 633) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-lavatube-heavy-smoke-end" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2536 :fade-after (meters 140.0) :falloff-to (meters 140.0)) + (sp-item 2537 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + ) + :bounds + (new 'static 'sphere :y 40960.0 :w 90112.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2536) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 3.0 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-z 8192.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters -0.04) (meters -0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters -0.00033333333) (meters 0.00033333333) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -8.192 -2.7306666 1.0) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-flt spt-rotate-y (degrees 240.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2537) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.2 0.4 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-y (meters -22.0) (meters 30.0) 1.0) + (sp-rnd-flt spt-z -32768.0 32768.0 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 12.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.02) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 210 89 1) + (sp-launcher-by-id spt-next-launcher 2523) + (sp-flt spt-rotate-y (degrees 180.0)) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/maincave/baby-spider_REF.gc b/test/decompiler/reference/levels/maincave/baby-spider_REF.gc index 8a4f106910..1fb13fc605 100644 --- a/test/decompiler/reference/levels/maincave/baby-spider_REF.gc +++ b/test/decompiler/reference/levels/maincave/baby-spider_REF.gc @@ -31,11 +31,7 @@ (format #t "~Tpickup: ~D~%" (-> obj pickup)) (format #t "~Tpickup-amount: ~D~%" (-> obj pickup-amount)) (format #t "~Tevent-death: ~A~%" (-> obj event-death)) - (format - #t - "~Tdelay-before-dying-if-not-visible: ~D~%" - (-> obj delay-before-dying-if-not-visible) - ) + (format #t "~Tdelay-before-dying-if-not-visible: ~D~%" (-> obj delay-before-dying-if-not-visible)) obj ) @@ -72,24 +68,16 @@ ;; definition for method 3 of type baby-spider (defmethod inspect baby-spider ((obj baby-spider)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tdie-if-not-visible?: ~A~%" (-> obj die-if-not-visible?)) - (format - #t - "~T~Thack-move-above-ground?: ~A~%" - (-> obj hack-move-above-ground?) - ) + (format #t "~T~Thack-move-above-ground?: ~A~%" (-> obj hack-move-above-ground?)) (format #t "~T~Tstate-float: ~f~%" (-> obj state-float)) (format #t "~T~Twiggle-angle: ~f~%" (-> obj wiggle-angle)) (format #t "~T~Tdelta-wiggle-angle: ~f~%" (-> obj delta-wiggle-angle)) (format #t "~T~Twiggle-factor: ~f~%" (-> obj wiggle-factor)) (format #t "~T~Tevent-death: ~A~%" (-> obj event-death)) - (format - #t - "~T~Tdelay-before-dying-if-not-visible: ~D~%" - (-> obj delay-before-dying-if-not-visible) - ) + (format #t "~T~Tdelay-before-dying-if-not-visible: ~D~%" (-> obj delay-before-dying-if-not-visible)) (format #t "~T~Tchase-rest-time: ~D~%" (-> obj chase-rest-time)) (format #t "~T~Ttarget-nav-time: ~D~%" (-> obj target-nav-time)) (format #t "~T~Tfree-time: ~D~%" (-> obj free-time)) @@ -111,130 +99,123 @@ ) ;; definition for symbol *baby-spider-nav-enemy-info*, type nav-enemy-info -(define - *baby-spider-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 6 - :walk-anim 8 - :turn-anim 8 - :notice-anim 11 - :run-anim 7 - :jump-anim 9 - :jump-land-anim 10 - :victory-anim 12 - :taunt-anim 12 - :die-anim 13 - :neck-joint 18 - :run-travel-speed (meters 7.0) - :run-rotate-speed (degrees 7999.9995) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.07333333) - :walk-travel-speed (meters 2.0) - :walk-rotate-speed (degrees 7999.9995) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.07333333) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 1.0) - :notice-nav-radius (meters 1.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 30.0) - :stop-chase-distance (meters 40.0) - :frustration-distance (meters 3.0) - :frustration-time #x1c2 - :die-anim-hold-frame 10000000000.0 - :jump-anim-start-frame 2.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #f - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *baby-spider-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 6 + :walk-anim 8 + :turn-anim 8 + :notice-anim 11 + :run-anim 7 + :jump-anim 9 + :jump-land-anim 10 + :victory-anim 12 + :taunt-anim 12 + :die-anim 13 + :neck-joint 18 + :run-travel-speed (meters 7.0) + :run-rotate-speed (degrees 7999.9995) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.07333333) + :walk-travel-speed (meters 2.0) + :walk-rotate-speed (degrees 7999.9995) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.07333333) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 1.0) + :notice-nav-radius (meters 1.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 30.0) + :stop-chase-distance (meters 40.0) + :frustration-distance (meters 3.0) + :frustration-time #x1c2 + :die-anim-hold-frame 10000000000.0 + :jump-anim-start-frame 2.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #f + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for symbol *baby-spider-nav-enemy-info-for-cave-trap*, type nav-enemy-info -(define - *baby-spider-nav-enemy-info-for-cave-trap* - (new 'static 'nav-enemy-info - :idle-anim 6 - :walk-anim 8 - :turn-anim 8 - :notice-anim 11 - :run-anim 7 - :jump-anim 9 - :jump-land-anim 10 - :victory-anim 12 - :taunt-anim 12 - :die-anim 13 - :neck-joint 18 - :run-travel-speed (meters 7.0) - :run-rotate-speed (degrees 7999.9995) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.07333333) - :walk-travel-speed (meters 2.0) - :walk-rotate-speed (degrees 7999.9995) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.07333333) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 1.0) - :notice-nav-radius (meters 1.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 80.0) - :stop-chase-distance (meters 90.0) - :frustration-distance (meters 3.0) - :frustration-time #x1c2 - :die-anim-hold-frame 10000000000.0 - :jump-anim-start-frame 2.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #f - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *baby-spider-nav-enemy-info-for-cave-trap* (new 'static 'nav-enemy-info + :idle-anim 6 + :walk-anim 8 + :turn-anim 8 + :notice-anim 11 + :run-anim 7 + :jump-anim 9 + :jump-land-anim 10 + :victory-anim 12 + :taunt-anim 12 + :die-anim 13 + :neck-joint 18 + :run-travel-speed (meters 7.0) + :run-rotate-speed (degrees 7999.9995) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.07333333) + :walk-travel-speed (meters 2.0) + :walk-rotate-speed (degrees 7999.9995) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.07333333) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 1.0) + :notice-nav-radius (meters 1.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 80.0) + :stop-chase-distance (meters 90.0) + :frustration-distance (meters 3.0) + :frustration-time #x1c2 + :die-anim-hold-frame 10000000000.0 + :jump-anim-start-frame 2.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #f + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 9 of type baby-spider-spawn-params -(defmethod - init! - baby-spider-spawn-params - ((obj baby-spider-spawn-params) - (arg0 symbol) - (arg1 symbol) - (arg2 symbol) - (arg3 symbol) - (arg4 int) - (arg5 int) - (arg6 symbol) - ) +(defmethod init! baby-spider-spawn-params ((obj baby-spider-spawn-params) + (arg0 symbol) + (arg1 symbol) + (arg2 symbol) + (arg3 symbol) + (arg4 int) + (arg5 int) + (arg6 symbol) + ) (set! (-> obj hatched?) arg0) (set! (-> obj fast-start?) arg1) (set! (-> obj die-if-not-visible?) arg2) @@ -243,55 +224,41 @@ (set! (-> obj pickup-amount) arg5) (set! (-> obj event-death) arg6) (let ((v0-0 600)) - (set! (-> obj delay-before-dying-if-not-visible) v0-0) - v0-0 - ) + (set! (-> obj delay-before-dying-if-not-visible) v0-0) + v0-0 + ) ) ;; definition for method 10 of type baby-spider-spawn-params -(defmethod - set-delay! - baby-spider-spawn-params - ((obj baby-spider-spawn-params) (arg0 int)) +(defmethod set-delay! baby-spider-spawn-params ((obj baby-spider-spawn-params) (arg0 int)) (set! (-> obj delay-before-dying-if-not-visible) arg0) arg0 ) ;; definition for method 44 of type baby-spider -(defmethod - dummy-44 - baby-spider - ((obj baby-spider) (arg0 process) (arg1 event-message-block)) - (when - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg1 param 0)) - (-> obj collide-info) - (the-as uint 1) +(defmethod dummy-44 baby-spider ((obj baby-spider) (arg0 process) (arg1 event-message-block)) + (when ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg1 param 0)) + (-> obj collide-info) + (the-as uint 1) + ) + (if (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 'generic) + (go (method-of-object obj nav-enemy-victory)) + ) ) - (if - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 'generic - ) - (go (method-of-object obj nav-enemy-victory)) - ) - ) ) ;; definition for function baby-spider-default-event-handler ;; INFO: Return type mismatch none vs object. ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 7] -(defbehavior - baby-spider-default-event-handler baby-spider - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior baby-spider-default-event-handler baby-spider ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (if (= v1-0 'victory) - (go-virtual nav-enemy-victory) - (nav-enemy-default-event-handler arg0 arg1 arg2 arg3) - ) + (the-as object (if (= v1-0 'victory) + (go-virtual nav-enemy-victory) + (nav-enemy-default-event-handler arg0 arg1 arg2 arg3) + ) + ) ) - ) ) ;; failed to figure out what this is: @@ -301,34 +268,21 @@ baby-spider-default-event-handler ;; Used lq/sq (defmethod common-post baby-spider ((obj baby-spider)) (when (logtest? (-> obj collide-info status) 1) - (vector-deg-seek - (-> obj up-vector) - (-> obj up-vector) - (-> obj collide-info surface-normal) - 910.2222 + (vector-deg-seek (-> obj up-vector) (-> obj up-vector) (-> obj collide-info surface-normal) 910.2222) + (vector-normalize! (-> obj up-vector) 1.0) ) - (vector-normalize! (-> obj up-vector) 1.0) - ) (forward-up-nopitch->quaternion - (-> obj collide-info quat) - (vector-z-quaternion! (new-stack-vector0) (-> obj collide-info quat)) - (-> obj up-vector) - ) + (-> obj collide-info quat) + (vector-z-quaternion! (new-stack-vector0) (-> obj collide-info quat)) + (-> obj up-vector) + ) ((the-as (function nav-enemy none) (find-parent-method baby-spider 39)) obj) (none) ) ;; definition for method 38 of type baby-spider (defmethod TODO-RENAME-38 baby-spider ((obj baby-spider)) - (dummy-59 - (-> obj collide-info) - (-> obj collide-info transv) - (the-as uint 1) - 8192.0 - #t - #f - #f - ) + (dummy-59 (-> obj collide-info) (-> obj collide-info transv) (the-as uint 1) 8192.0 #t #f #f) (none) ) @@ -341,13 +295,13 @@ baby-spider-default-event-handler (f2-4 (/ 1.0 f2-2)) (f0-2 (+ 1.0 (* 0.2 f0-0))) ) - (set! (-> obj delta-wiggle-angle) (* 910.2222 f1-1)) - (set! (-> obj wiggle-factor) (* 1.5 f2-4)) - (let ((f0-3 (* 28672.0 f0-2))) - (set! (-> obj target-speed) f0-3) - (the-as object f0-3) + (set! (-> obj delta-wiggle-angle) (* 910.2222 f1-1)) + (set! (-> obj wiggle-factor) (* 1.5 f2-4)) + (let ((f0-3 (* 28672.0 f0-2))) + (set! (-> obj target-speed) f0-3) + (the-as object f0-3) + ) ) - ) ) ;; definition for method 52 of type baby-spider @@ -356,46 +310,37 @@ baby-spider-default-event-handler (defmethod dummy-52 baby-spider ((obj baby-spider) (arg0 vector)) (+! (-> obj wiggle-angle) (-> obj delta-wiggle-angle)) (if (< 65536.0 (-> obj wiggle-angle)) - (set! (-> obj wiggle-angle) (+ -65536.0 (-> obj wiggle-angle))) - ) + (set! (-> obj wiggle-angle) (+ -65536.0 (-> obj wiggle-angle))) + ) (let* ((v1-3 (-> obj collide-info trans)) (a1-2 (vector-! (new 'stack-no-clear 'vector) v1-3 arg0)) - (s2-0 - (vector-rotate-around-y! (new 'stack-no-clear 'vector) a1-2 16384.0) - ) + (s2-0 (vector-rotate-around-y! (new 'stack-no-clear 'vector) a1-2 16384.0)) (v1-4 - (vector+*! - (new 'stack-no-clear 'vector) - arg0 - s2-0 - (* (-> obj wiggle-factor) (sin (-> obj wiggle-angle))) + (vector+*! (new 'stack-no-clear 'vector) arg0 s2-0 (* (-> obj wiggle-factor) (sin (-> obj wiggle-angle)))) ) - ) (v0-3 (-> obj nav target-pos)) ) - (set! (-> v0-3 quad) (-> v1-4 quad)) - (the-as symbol v0-3) - ) + (set! (-> v0-3 quad) (-> v1-4 quad)) + (the-as symbol v0-3) + ) ) ;; definition for method 53 of type baby-spider (defmethod dummy-53 baby-spider ((obj baby-spider)) (cond - ((logtest? (-> obj draw status) 8) - (set! (-> obj last-visible-time) (-> *display* base-frame-counter)) - (return #f) - ) - (else - (if (-> obj die-if-not-visible?) - (return - (>= - (- (-> *display* base-frame-counter) (-> obj last-visible-time)) - (-> obj delay-before-dying-if-not-visible) - ) - ) + ((logtest? (-> obj draw status) 8) + (set! (-> obj last-visible-time) (-> *display* base-frame-counter)) + (return #f) ) + (else + (if (-> obj die-if-not-visible?) + (return (>= (- (-> *display* base-frame-counter) (-> obj last-visible-time)) + (-> obj delay-before-dying-if-not-visible) + ) + ) + ) + ) ) - ) #f ) @@ -405,56 +350,30 @@ baby-spider-default-event-handler baby-spider-default-event-handler :code (behavior () - (ja-channel-push! 1 0) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (ja-channel-push! 1 0) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (if (dummy-53 self) + (go baby-spider-die-fast) + ) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) + (go baby-spider-resume) + (none) ) - (until (ja-done? 0) - (if (dummy-53 self) - (go baby-spider-die-fast) - ) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go baby-spider-resume) - (none) - ) :post (the-as (function none :behavior baby-spider) nav-enemy-simple-post) ) @@ -465,37 +384,28 @@ baby-spider-default-event-handler baby-spider-default-event-handler :code (behavior () - (cond - ((not *target*) - (go-virtual nav-enemy-idle) - ) - ((TODO-RENAME-46 self (-> self nav-info notice-distance)) - (go-virtual nav-enemy-chase) - ) - ((and - (and - *target* - (>= - (-> self enemy-info idle-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) + (cond + ((not *target*) + (go-virtual nav-enemy-idle) + ) + ((TODO-RENAME-46 self (-> self nav-info notice-distance)) + (go-virtual nav-enemy-chase) + ) + ((and + (and *target* (>= (-> self enemy-info idle-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self state-timeout)) + (nonzero? (-> self draw)) + (logtest? (-> self draw status) 8) ) - ) + (go-virtual nav-enemy-patrol) ) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self state-timeout) - ) - (nonzero? (-> self draw)) - (logtest? (-> self draw status) 8) ) - (go-virtual nav-enemy-patrol) - ) + (go-virtual nav-enemy-idle) + (none) ) - (go-virtual nav-enemy-idle) - (none) - ) ) ;; failed to figure out what this is: @@ -505,36 +415,33 @@ baby-spider-default-event-handler baby-spider-default-event-handler :enter (behavior () - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self collide-info trans quad)) - (let ((t9-0 (-> (method-of-type nav-enemy nav-enemy-idle) enter))) - (if t9-0 - (t9-0) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self collide-info trans quad)) + (let ((t9-0 (-> (method-of-type nav-enemy nav-enemy-idle) enter))) + (if t9-0 + (t9-0) + ) + ) + (if (-> self hack-move-above-ground?) + (set! (-> self collide-info trans quad) (-> gp-0 quad)) + ) ) - ) - (if (-> self hack-move-above-ground?) - (set! (-> self collide-info trans quad) (-> gp-0 quad)) - ) + (none) ) - (none) - ) :trans (behavior () - (if (dummy-53 self) - (go baby-spider-die-fast) + (if (dummy-53 self) + (go baby-spider-die-fast) + ) + (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-idle) trans))) + (if t9-2 + (t9-2) + ) + ) + (none) ) - (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-idle) trans))) - (if t9-2 - (t9-2) - ) - ) - (none) - ) :post - (behavior () - (ja-post) - (none) - ) + (behavior () (ja-post) (none)) ) ;; failed to figure out what this is: @@ -544,76 +451,49 @@ baby-spider-default-event-handler baby-spider-default-event-handler :trans (behavior () - (if (dummy-53 self) - (go baby-spider-die-fast) + (if (dummy-53 self) + (go baby-spider-die-fast) + ) + (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-patrol) trans))) + (if t9-2 + (t9-2) + ) + ) + (none) ) - (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-patrol) trans))) - (if t9-2 - (t9-2) - ) - ) - (none) - ) :code (behavior () - (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - data - 0 - length + (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) + (while #t + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + ) + (set! (-> a0-1 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-1 param 1) f30-0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! + a0-1 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) f30-0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -623,86 +503,49 @@ baby-spider-default-event-handler baby-spider-default-event-handler :trans (behavior () - (if (dummy-53 self) - (go baby-spider-die-fast) + (if (dummy-53 self) + (go baby-spider-die-fast) + ) + (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-notice) trans))) + (if t9-2 + (t9-2) + ) + ) + (none) ) - (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-notice) trans))) - (if t9-2 - (t9-2) - ) - ) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 51) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 11)) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 51) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + (go-virtual nav-enemy-chase) + (none) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (go-virtual nav-enemy-chase) - (none) - ) ) ;; failed to figure out what this is: @@ -712,60 +555,52 @@ baby-spider-default-event-handler baby-spider-default-event-handler :trans (behavior () - (if (dummy-53 self) - (go baby-spider-die-fast) + (if (dummy-53 self) + (go baby-spider-die-fast) + ) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self chase-rest-time)) + (go-virtual nav-enemy-victory) + ) + (let ((t9-3 (-> (method-of-type nav-enemy nav-enemy-chase) trans))) + (if t9-3 + (t9-3) + ) + ) + (none) ) - (if - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self chase-rest-time) - ) - (go-virtual nav-enemy-victory) - ) - (let ((t9-3 (-> (method-of-type nav-enemy nav-enemy-chase) trans))) - (if t9-3 - (t9-3) - ) - ) - (none) - ) :code (behavior () - (set! (-> self target-nav-time) (-> *display* base-frame-counter)) - (set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) -3000)) - (set! (-> self wiggle-angle) 0.0) - (set! (-> self chase-rest-time) (rand-vu-int-range 300 1200)) - (ja-channel-push! 1 51) - (let* ((gp-0 (-> self skel root-channel 0)) - (t9-2 joint-control-channel-group-eval!) - (a0-2 gp-0) - (a1-2 (-> self draw art-group data 7)) + (set! (-> self target-nav-time) (-> *display* base-frame-counter)) + (set! (-> self wiggle-time) (+ (-> *display* base-frame-counter) -3000)) + (set! (-> self wiggle-angle) 0.0) + (set! (-> self chase-rest-time) (rand-vu-int-range 300 1200)) + (ja-channel-push! 1 51) + (let* ((gp-0 (-> self skel root-channel 0)) + (t9-2 joint-control-channel-group-eval!) + (a0-2 gp-0) + (a1-2 (-> self draw art-group data 7)) + ) + (t9-2 a0-2 (the-as art-joint-anim a1-2) num-func-identity) + (set! (-> gp-0 frame-num) 0.0) + (while #t + (when (>= (- (-> *display* base-frame-counter) (-> self wiggle-time)) 300) + (set! (-> self wiggle-time) (-> *display* base-frame-counter)) + (dummy-51 self (the-as vector a1-2)) ) - (t9-2 a0-2 (the-as art-joint-anim a1-2) num-func-identity) - (set! (-> gp-0 frame-num) 0.0) - (while #t - (when (>= (- (-> *display* base-frame-counter) (-> self wiggle-time)) 300) - (set! (-> self wiggle-time) (-> *display* base-frame-counter)) - (dummy-51 self (the-as vector a1-2)) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) 1.0) + (let ((t9-4 joint-control-channel-group-eval!)) + (set! a1-2 (the-as art-element #f)) + (t9-4 a0-5 (the-as art-joint-anim a1-2) num-func-loop!) + ) + ) + ) ) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (let ((t9-4 joint-control-channel-group-eval!)) - (set! a1-2 (the-as art-element #f)) - (t9-4 a0-5 (the-as art-joint-anim a1-2) num-func-loop!) - ) - ) - ) + (none) ) - (none) - ) :post - (behavior () - (dummy-52 self (target-pos 0)) - (nav-enemy-travel-post) - (none) - ) + (behavior () (dummy-52 self (target-pos 0)) (nav-enemy-travel-post) (none)) ) ;; failed to figure out what this is: @@ -775,16 +610,16 @@ baby-spider-default-event-handler baby-spider-default-event-handler :trans (behavior () - (if (dummy-53 self) - (go baby-spider-die-fast) + (if (dummy-53 self) + (go baby-spider-die-fast) + ) + (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-stop-chase) trans))) + (if t9-2 + (t9-2) + ) + ) + (none) ) - (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-stop-chase) trans))) - (if t9-2 - (t9-2) - ) - ) - (none) - ) :code (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) ) @@ -796,93 +631,63 @@ baby-spider-default-event-handler baby-spider-default-event-handler :trans (behavior () - (if (dummy-53 self) - (go baby-spider-die-fast) + (if (dummy-53 self) + (go baby-spider-die-fast) + ) + (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-stare) trans))) + (if t9-2 + (t9-2) + ) + ) + (none) ) - (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-stare) trans))) - (if t9-2 - (t9-2) - ) - ) - (none) - ) :code (behavior () - (set! (-> self rotate-speed) 1456355.5) - (set! (-> self turn-time) 22) - (let ((f30-0 (rand-vu-float-range 0.8 1.2))) - (while #t - (logior! (-> self nav-enemy-flags) 16) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 12)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 12)) - data - 0 - length + (set! (-> self rotate-speed) 1456355.5) + (set! (-> self turn-time) 22) + (let ((f30-0 (rand-vu-float-range 0.8 1.2))) + (while #t + (logior! (-> self nav-enemy-flags) 16) + (ja-channel-push! 1 30) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) f30-0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) f30-0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) 1.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) + ) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + (let ((gp-0 (rand-vu-int-range 300 600)) + (s5-0 (-> *display* base-frame-counter)) + ) + (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) + (let ((v1-33 (-> self skel root-channel 0))) + (set! (-> v1-33 num-func) num-func-identity) + (set! (-> v1-33 frame-num) 0.0) + ) + (ja-blend-eval) + (suspend) + (suspend) + ) ) - -1 - ) ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - (let ((gp-0 (rand-vu-int-range 300 600)) - (s5-0 (-> *display* base-frame-counter)) - ) - (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) - (let ((v1-33 (-> self skel root-channel 0))) - (set! (-> v1-33 num-func) num-func-identity) - (set! (-> v1-33 frame-num) 0.0) - ) - (ja-blend-eval) - (suspend) - (suspend) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -892,116 +697,64 @@ baby-spider-default-event-handler baby-spider-default-event-handler :trans (behavior () - (if (dummy-53 self) - (go baby-spider-die-fast) + (if (dummy-53 self) + (go baby-spider-die-fast) + ) + (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-give-up) trans))) + (if t9-2 + (t9-2) + ) + ) + (none) ) - (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-give-up) trans))) - (if t9-2 - (t9-2) - ) - ) - (none) - ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (ja-channel-push! 1 22) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) + (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) + (nav-enemy-get-new-patrol-point) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-7 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-7 param 1) 1.0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) - (nav-enemy-get-new-patrol-point) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-7 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (until (ja-done? 0) + (seek-to-point-toward-point! + (-> self collide-info) + (-> self nav destination-pos) + (-> self rotate-speed) + (-> self turn-time) + ) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) + (go-virtual nav-enemy-patrol) + (none) ) - (until (ja-done? 0) - (seek-to-point-toward-point! - (-> self collide-info) - (-> self nav destination-pos) - (-> self rotate-speed) - (-> self turn-time) - ) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-patrol) - (none) - ) ) ;; failed to figure out what this is: @@ -1011,65 +764,39 @@ baby-spider-default-event-handler baby-spider-default-event-handler :trans (behavior () - (if (dummy-53 self) - (go baby-spider-die-fast) + (if (dummy-53 self) + (go baby-spider-die-fast) + ) + (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-attack) trans))) + (if t9-2 + (t9-2) + ) + ) + (none) ) - (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-attack) trans))) - (if t9-2 - (t9-2) - ) - ) - (none) - ) :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (ja-channel-push! 1 22) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) + (go-virtual nav-enemy-victory) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-victory) - (none) - ) ) ;; failed to figure out what this is: @@ -1079,16 +806,16 @@ baby-spider-default-event-handler baby-spider-default-event-handler :trans (behavior () - (if (dummy-53 self) - (go baby-spider-die-fast) + (if (dummy-53 self) + (go baby-spider-die-fast) + ) + (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-victory) trans))) + (if t9-2 + (t9-2) + ) + ) + (none) ) - (let ((t9-2 (-> (method-of-type nav-enemy nav-enemy-victory) trans))) - (if t9-2 - (t9-2) - ) - ) - (none) - ) :code (-> (method-of-type nav-enemy nav-enemy-victory) code) ) @@ -1098,25 +825,25 @@ baby-spider-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior baby-spider) - process-drawable-death-event-handler - ) + (function process int symbol event-message-block object :behavior baby-spider) + process-drawable-death-event-handler + ) :enter (behavior () - (let ((v1-0 (-> self event-death))) - (if v1-0 - (send-event (ppointer->process (-> self parent)) v1-0) - ) + (let ((v1-0 (-> self event-death))) + (if v1-0 + (send-event (ppointer->process (-> self parent)) v1-0) + ) + ) + (set! (-> self draw bounds y) 8192.0) + (set! (-> self draw bounds w) 22528.0) + (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-die) enter))) + (if t9-1 + (t9-1) + ) + ) + (none) ) - (set! (-> self draw bounds y) 8192.0) - (set! (-> self draw bounds w) 22528.0) - (let ((t9-1 (-> (method-of-type nav-enemy nav-enemy-die) enter))) - (if t9-1 - (t9-1) - ) - ) - (none) - ) ) ;; failed to figure out what this is: @@ -1125,50 +852,37 @@ baby-spider-default-event-handler baby-spider-default-event-handler :code (behavior () - (dummy-18 self) - (let ((v1-2 (-> self event-death))) - (if v1-2 - (send-event (ppointer->process (-> self parent)) v1-2) - ) + (dummy-18 self) + (let ((v1-2 (-> self event-death))) + (if v1-2 + (send-event (ppointer->process (-> self parent)) v1-2) + ) + ) + (none) ) - (none) - ) ) ;; definition for method 47 of type baby-spider ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision baby-spider ((obj baby-spider)) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 2) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 4096.0) + (set-root-prim! s5-0 s4-0) ) - ) + (set! (-> s5-0 nav-radius) 4096.0) + (backup-collide-with-as s5-0) + (set! (-> obj collide-info) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 2) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 4096.0) - (set-root-prim! s5-0 s4-0) - ) - (set! (-> s5-0 nav-radius) 4096.0) - (backup-collide-with-as s5-0) - (set! (-> obj collide-info) s5-0) - ) 0 (none) ) @@ -1180,13 +894,13 @@ baby-spider-default-event-handler (set! (-> obj last-visible-time) (-> *display* base-frame-counter)) (initialize-skeleton obj *baby-spider-sg* '()) (if (= (-> obj parent 0 type) cave-trap) - (TODO-RENAME-45 obj *baby-spider-nav-enemy-info-for-cave-trap*) - (TODO-RENAME-45 obj *baby-spider-nav-enemy-info*) - ) + (TODO-RENAME-45 obj *baby-spider-nav-enemy-info-for-cave-trap*) + (TODO-RENAME-45 obj *baby-spider-nav-enemy-info*) + ) (let ((v1-11 (-> obj draw shadow-ctrl settings))) - (set! (-> v1-11 flags) (logand -9 (-> v1-11 flags))) - (set! (-> v1-11 fade-dist) 98304.0) - ) + (set! (-> v1-11 flags) (logand -9 (-> v1-11 flags))) + (set! (-> v1-11 fade-dist) 98304.0) + ) (vector-float*! (-> obj collide-info scale) *identity-vector* 0.63) (set! (-> obj neck up) (the-as uint 1)) (set! (-> obj neck nose) (the-as uint 2)) @@ -1204,19 +918,10 @@ baby-spider-default-event-handler ;; definition for function baby-spider-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - baby-spider-init-by-other baby-spider - ((arg0 baby-spider) - (arg1 vector) - (arg2 vector) - (arg3 baby-spider-spawn-params) - ) +(defbehavior baby-spider-init-by-other baby-spider ((arg0 baby-spider) (arg1 vector) (arg2 vector) (arg3 baby-spider-spawn-params)) (set! (-> self event-death) (-> arg3 event-death)) (set! (-> self die-if-not-visible?) (-> arg3 die-if-not-visible?)) - (set! - (-> self delay-before-dying-if-not-visible) - (-> arg3 delay-before-dying-if-not-visible) - ) + (set! (-> self delay-before-dying-if-not-visible) (-> arg3 delay-before-dying-if-not-visible)) (initialize-collision self) (logior! (-> self mask) (process-mask actor-pause)) (set! (-> self collide-info trans quad) (-> arg1 quad)) @@ -1229,27 +934,24 @@ baby-spider-default-event-handler (set! (-> self enemy-info pickup-type) (the-as pickup-type (-> arg3 pickup))) (set! (-> self enemy-info pickup-amount) (the float (-> arg3 pickup-amount))) (create-connection! - *cavecrystal-light-control* - self - (-> self entity) - (the-as - (function object object object object object) - cavecrystal-light-control-default-callback + *cavecrystal-light-control* + self + (-> self entity) + (the-as (function object object object object object) cavecrystal-light-control-default-callback) + -1 + 4096.0 ) - -1 - 4096.0 - ) (cond - ((-> arg3 hatched?) - (go baby-spider-hatching) + ((-> arg3 hatched?) + (go baby-spider-hatching) + ) + ((-> arg3 fast-start?) + (go baby-spider-resume) + ) + (else + (go-virtual nav-enemy-idle) + ) ) - ((-> arg3 fast-start?) - (go baby-spider-resume) - ) - (else - (go-virtual nav-enemy-idle) - ) - ) (none) ) @@ -1264,30 +966,18 @@ baby-spider-default-event-handler (process-drawable-from-entity! obj arg0) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) (logior! (-> obj mask) (process-mask actor-pause)) - (set! - (-> obj nav) - (new 'process 'nav-control (-> obj collide-info) 24 40960.0) - ) - (logior! - (-> obj nav flags) - (nav-control-flags display-marks bit3 bit5 bit6 bit7) - ) + (set! (-> obj nav) (new 'process 'nav-control (-> obj collide-info) 24 40960.0)) + (logior! (-> obj nav flags) (nav-control-flags display-marks bit3 bit5 bit6 bit7)) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (create-connection! - *cavecrystal-light-control* - obj - (-> obj entity) - (the-as - (function object object object object object) - cavecrystal-light-control-default-callback + *cavecrystal-light-control* + obj + (-> obj entity) + (the-as (function object object object object object) cavecrystal-light-control-default-callback) + -1 + 4096.0 ) - -1 - 4096.0 - ) (TODO-RENAME-48 obj) (go (method-of-object obj nav-enemy-idle)) (none) diff --git a/test/decompiler/reference/levels/maincave/cavecrystal-light_REF.gc b/test/decompiler/reference/levels/maincave/cavecrystal-light_REF.gc index 5071cd911e..410d65af14 100644 --- a/test/decompiler/reference/levels/maincave/cavecrystal-light_REF.gc +++ b/test/decompiler/reference/levels/maincave/cavecrystal-light_REF.gc @@ -63,225 +63,180 @@ ) ;; definition for symbol *cavecrystal-light-control*, type cavecrystal-light-control -(define - *cavecrystal-light-control* - (new 'static 'cavecrystal-light-control :head #f) - ) +(define *cavecrystal-light-control* (new 'static 'cavecrystal-light-control :head #f)) ;; definition for function cavecrystal-light-control-default-callback ;; INFO: Return type mismatch vector vs none. ;; Used lq/sq -(defun - cavecrystal-light-control-default-callback - ((arg0 (pointer process-drawable)) (arg1 int) (arg2 float)) +(defun cavecrystal-light-control-default-callback ((arg0 (pointer process-drawable)) (arg1 int) (arg2 float)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (let ((v1-1 (-> arg0 0 node-list))) - (if (and (>= arg1 0) (nonzero? v1-1)) - (vector<-cspace! s5-0 (-> v1-1 data arg1)) - (set! (-> s5-0 quad) (-> arg0 0 root trans quad)) - ) + (let ((v1-1 (-> arg0 0 node-list))) + (if (and (>= arg1 0) (nonzero? v1-1)) + (vector<-cspace! s5-0 (-> v1-1 data arg1)) + (set! (-> s5-0 quad) (-> arg0 0 root trans quad)) + ) + ) + (set! (-> s5-0 w) arg2) + (let ((f0-1 (TODO-RENAME-10 *cavecrystal-light-control* s5-0)) + (a2-2 (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)) + (a1-5 (new 'static 'vector :x 0.05 :y 0.05 :z 0.05 :w 1.0)) + ) + (vector-lerp! (-> arg0 0 draw color-mult) a1-5 a2-2 f0-1) + ) ) - (set! (-> s5-0 w) arg2) - (let ((f0-1 (TODO-RENAME-10 *cavecrystal-light-control* s5-0)) - (a2-2 (new 'static 'vector :x 1.0 :y 1.0 :z 1.0 :w 1.0)) - (a1-5 (new 'static 'vector :x 0.05 :y 0.05 :z 0.05 :w 1.0)) - ) - (vector-lerp! (-> arg0 0 draw color-mult) a1-5 a2-2 f0-1) - ) - ) (none) ) ;; definition for method 13 of type cavecrystal-light-control -(defmethod - create-connection! - cavecrystal-light-control - ((obj cavecrystal-light-control) - (arg0 process-drawable) - (arg1 res-lump) - (arg2 (function object object object object object)) - (arg3 object) - (arg4 object) - ) +(defmethod create-connection! cavecrystal-light-control ((obj cavecrystal-light-control) + (arg0 process-drawable) + (arg1 res-lump) + (arg2 (function object object object object object)) + (arg3 object) + (arg4 object) + ) (if (nonzero? (res-lump-value arg1 'crystal-light uint128)) - (add-connection - *cavecrystal-engine* - arg0 - arg2 - (process->ppointer arg0) - arg3 - arg4 - ) - ) + (add-connection *cavecrystal-engine* arg0 arg2 (process->ppointer arg0) arg3 arg4) + ) ) ;; definition for method 14 of type cavecrystal-light-control -(defmethod - execute-connections - cavecrystal-light-control - ((obj cavecrystal-light-control)) +(defmethod execute-connections cavecrystal-light-control ((obj cavecrystal-light-control)) (execute-connections *cavecrystal-engine* #f) ) ;; definition for method 12 of type cavecrystal-light-control -(defmethod - TODO-RENAME-12 - cavecrystal-light-control - ((obj cavecrystal-light-control)) +(defmethod TODO-RENAME-12 cavecrystal-light-control ((obj cavecrystal-light-control)) (let ((v1-0 (-> obj last-known-valid-time)) (a1-1 (-> *display* base-frame-counter)) ) - (when (!= v1-0 a1-1) - (set! (-> obj last-known-valid-time) (the-as uint a1-1)) - (cond - ((zero? v1-0) - (set! (-> obj active-count) 0) - (set! (-> obj head) #f) - (dotimes (v1-1 7) - (let ((a1-5 (-> obj crystal v1-1))) - (set! (-> a1-5 next) #f) - (set! (-> a1-5 crystal-id) v1-1) - (set! (-> a1-5 intensity) 0.0) - (set! (-> a1-5 fade-start) 20480.0) - (set! (-> a1-5 fade-end) 286720.0) - (set! (-> a1-5 crystal-handle) (the-as handle #f)) - ) - ) - #f - ) - (else - (when (> (-> obj active-count) 0) - (let ((v1-4 (the-as cavecrystal-light #f)) - (a1-7 (-> obj head)) + (when (!= v1-0 a1-1) + (set! (-> obj last-known-valid-time) (the-as uint a1-1)) + (cond + ((zero? v1-0) + (set! (-> obj active-count) 0) + (set! (-> obj head) #f) + (dotimes (v1-1 7) + (let ((a1-5 (-> obj crystal v1-1))) + (set! (-> a1-5 next) #f) + (set! (-> a1-5 crystal-id) v1-1) + (set! (-> a1-5 intensity) 0.0) + (set! (-> a1-5 fade-start) 20480.0) + (set! (-> a1-5 fade-end) 286720.0) + (set! (-> a1-5 crystal-handle) (the-as handle #f)) ) - (while a1-7 - (cond - ((handle->process (-> a1-7 crystal-handle)) - (set! v1-4 a1-7) - (set! a1-7 (-> a1-7 next)) ) - (else - (let ((a2-4 (-> a1-7 next))) - (+! (-> obj active-count) -1) - (set! (-> a1-7 next) #f) - (set! (-> a1-7 intensity) 0.0) - (if v1-4 - (set! (-> obj head) a2-4) - (set! (-> v1-4 next) a2-4) - ) - (set! a1-7 a2-4) - ) - ) - ) + #f ) + (else + (when (> (-> obj active-count) 0) + (let ((v1-4 (the-as cavecrystal-light #f)) + (a1-7 (-> obj head)) + ) + (while a1-7 + (cond + ((handle->process (-> a1-7 crystal-handle)) + (set! v1-4 a1-7) + (set! a1-7 (-> a1-7 next)) + ) + (else + (let ((a2-4 (-> a1-7 next))) + (+! (-> obj active-count) -1) + (set! (-> a1-7 next) #f) + (set! (-> a1-7 intensity) 0.0) + (if v1-4 + (set! (-> obj head) a2-4) + (set! (-> v1-4 next) a2-4) + ) + (set! a1-7 a2-4) + ) + ) + ) + ) + ) + #f + ) + ) ) - #f - ) ) - ) ) - ) ) ;; definition for method 11 of type cavecrystal-light-control -(defmethod - inc-intensites! - cavecrystal-light-control - ((obj cavecrystal-light-control)) +(defmethod inc-intensites! cavecrystal-light-control ((obj cavecrystal-light-control)) (set! (-> obj head) #f) (let ((a1-0 (the-as cavecrystal-light #f)) (v0-0 0) ) - (dotimes (v1-0 7) - (let ((a2-3 (-> obj crystal v1-0))) - (set! (-> a2-3 next) #f) - (when (< 0.0 (-> a2-3 intensity)) - (+! v0-0 1) - (if a1-0 - (set! (-> a1-0 next) a2-3) - (set! (-> obj head) a2-3) - ) - (set! a1-0 a2-3) + (dotimes (v1-0 7) + (let ((a2-3 (-> obj crystal v1-0))) + (set! (-> a2-3 next) #f) + (when (< 0.0 (-> a2-3 intensity)) + (+! v0-0 1) + (if a1-0 + (set! (-> a1-0 next) a2-3) + (set! (-> obj head) a2-3) + ) + (set! a1-0 a2-3) + ) + ) ) - ) + (set! (-> obj active-count) v0-0) + v0-0 ) - (set! (-> obj active-count) v0-0) - v0-0 - ) ) ;; definition for method 9 of type cavecrystal-light-control ;; Used lq/sq -(defmethod - TODO-RENAME-9 - cavecrystal-light-control - ((obj cavecrystal-light-control) - (arg0 int) - (arg1 float) - (arg2 process-drawable) - ) +(defmethod TODO-RENAME-9 cavecrystal-light-control ((obj cavecrystal-light-control) (arg0 int) (arg1 float) (arg2 process-drawable)) (TODO-RENAME-12 obj) (when (or (< arg0 0) (>= arg0 7)) - (format 0 "ERROR: Bogus cavecrystal id!~%") - (return #f) - ) - (let ((s3-0 (-> obj crystal arg0))) - (cond - ((and (< 0.0 arg1) (>= 0.0 (-> s3-0 intensity))) - (+! (-> obj active-count) 1) - (set! (-> s3-0 intensity) arg1) - (set! (-> s3-0 crystal-handle) (process->handle arg2)) - (set! (-> s3-0 trans quad) (-> arg2 root trans quad)) - (inc-intensites! obj) - ) - ((and (>= 0.0 arg1) (< 0.0 (-> s3-0 intensity))) - (+! (-> obj active-count) -1) - (set! (-> s3-0 intensity) 0.0) - (inc-intensites! obj) - ) - ((< 0.0 arg1) - (set! (-> s3-0 intensity) arg1) - ) + (format 0 "ERROR: Bogus cavecrystal id!~%") + (return #f) + ) + (let ((s3-0 (-> obj crystal arg0))) + (cond + ((and (< 0.0 arg1) (>= 0.0 (-> s3-0 intensity))) + (+! (-> obj active-count) 1) + (set! (-> s3-0 intensity) arg1) + (set! (-> s3-0 crystal-handle) (process->handle arg2)) + (set! (-> s3-0 trans quad) (-> arg2 root trans quad)) + (inc-intensites! obj) + ) + ((and (>= 0.0 arg1) (< 0.0 (-> s3-0 intensity))) + (+! (-> obj active-count) -1) + (set! (-> s3-0 intensity) 0.0) + (inc-intensites! obj) + ) + ((< 0.0 arg1) + (set! (-> s3-0 intensity) arg1) + ) + ) + (set-fade! *palette-fade-controls* (+ arg0 1) arg1 0.0 (-> s3-0 trans)) ) - (set-fade! *palette-fade-controls* (+ arg0 1) arg1 0.0 (-> s3-0 trans)) - ) ) ;; definition for method 10 of type cavecrystal-light-control -(defmethod - TODO-RENAME-10 - cavecrystal-light-control - ((obj cavecrystal-light-control) (arg0 vector)) +(defmethod TODO-RENAME-10 cavecrystal-light-control ((obj cavecrystal-light-control) (arg0 vector)) (TODO-RENAME-12 obj) (let ((s5-1 (-> obj head)) (f30-0 0.0) ) - (when s5-1 - (until (not s5-1) - (let* ((f26-0 (-> s5-1 fade-start)) - (f28-0 (- (-> s5-1 fade-end) f26-0)) - (f1-1 - (fmin - (fmax - 0.0 - (- - (- (vector-vector-distance (-> s5-1 trans) arg0) (-> arg0 w)) - f26-0 - ) + (when s5-1 + (until (not s5-1) + (let* ((f26-0 (-> s5-1 fade-start)) + (f28-0 (- (-> s5-1 fade-end) f26-0)) + (f1-1 (fmin (fmax 0.0 (- (- (vector-vector-distance (-> s5-1 trans) arg0) (-> arg0 w)) f26-0)) f28-0)) + (f0-7 (* (- 1.0 (/ f1-1 f28-0)) (-> s5-1 intensity))) ) - f28-0 + (if (< f30-0 f0-7) + (set! f30-0 f0-7) ) - ) - (f0-7 (* (- 1.0 (/ f1-1 f28-0)) (-> s5-1 intensity))) - ) - (if (< f30-0 f0-7) - (set! f30-0 f0-7) - ) + ) + (set! s5-1 (-> s5-1 next)) + ) + (set! f30-0 (fmin 2.0 f30-0)) ) - (set! s5-1 (-> s5-1 next)) - ) - (set! f30-0 (fmin 2.0 f30-0)) + f30-0 ) - f30-0 - ) ) diff --git a/test/decompiler/reference/levels/maincave/maincave-part_REF.gc b/test/decompiler/reference/levels/maincave/maincave-part_REF.gc index 69a666a0e3..44c7e4d42c 100644 --- a/test/decompiler/reference/levels/maincave/maincave-part_REF.gc +++ b/test/decompiler/reference/levels/maincave/maincave-part_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type maincave-part (defmethod inspect maincave-part ((obj maincave-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -30,438 +30,390 @@ ;; definition for method 3 of type darkcave-part (defmethod inspect darkcave-part ((obj darkcave-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 318) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-maincave-torch" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 706 :fade-after (meters 200.0) :falloff-to (meters 220.0)) - (sp-item 707 :fade-after (meters 140.0) :falloff-to (meters 140.0)) - (sp-item 708 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 600 :length 90) - (sp-item 709 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 369 :length 69) - (sp-item 710 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 710 :length 51) - (sp-item 711 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 16384.0) - ) - ) +(set! (-> *part-group-id-table* 318) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-maincave-torch" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 706 :fade-after (meters 200.0) :falloff-to (meters 220.0)) + (sp-item 707 :fade-after (meters 140.0) :falloff-to (meters 140.0)) + (sp-item 708 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 600 :length 90) + (sp-item 709 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 369 :length 69) + (sp-item 710 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 710 :length 51) + (sp-item 711 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 16384.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 711) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.3) - (sp-flt spt-x (meters 0.2)) - (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3276.8) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 712) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 711) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.3) + (sp-flt spt-x (meters 0.2)) + (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3276.8) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 712) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 712) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -6.826667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 712) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -6.826667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 706) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1069547520 1 1.0) - (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) - (sp-rnd-flt spt-z -1433.6 2867.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 713) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 706) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1069547520 1 1.0) + (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) + (sp-rnd-flt spt-z -1433.6 2867.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 713) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 713) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.3333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 713) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.3333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 708) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 713) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 708) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 713) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 709) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z 0.0 1638.4 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 713) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 709) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z 0.0 1638.4 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 713) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 710) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) - (sp-flt spt-y (meters 0.6)) - (sp-rnd-flt spt-z -2457.6 2457.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 713) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 710) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) + (sp-flt spt-y (meters 0.6)) + (sp-rnd-flt spt-z -2457.6 2457.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 713) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 707) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.3)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0005)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-b -0.053333335) - (sp-flt spt-fade-a -0.08) - (sp-flt spt-accel-x 0.27306667) - (sp-flt spt-accel-y 0.13653333) - (sp-flt spt-friction 0.9975) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 707) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.3)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0005)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-b -0.053333335) + (sp-flt spt-fade-a -0.08) + (sp-flt spt-accel-x 0.27306667) + (sp-flt spt-accel-y 0.13653333) + (sp-flt spt-friction 0.9975) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 319) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-cave-cavedrip-1" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 369 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 768 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1167 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1701 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 2736 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 3831 :length 5) - ) - :bounds - (new 'static 'sphere :y 32768.0 :w 33792.0) - ) - ) +(set! (-> *part-group-id-table* 319) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-cave-cavedrip-1" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 369 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 768 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1167 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1701 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 2736 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 3831 :length 5) + ) + :bounds + (new 'static 'sphere :y 32768.0 :w 33792.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 320) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-cave-cavedrip-2" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 467 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 834 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 984 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 2237 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 2597 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 3587 :length 5) - ) - :bounds - (new 'static 'sphere :y 32768.0 :w 33792.0) - ) - ) +(set! (-> *part-group-id-table* 320) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-cave-cavedrip-2" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 467 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 834 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 984 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 2237 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 2597 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 3587 :length 5) + ) + :bounds + (new 'static 'sphere :y 32768.0 :w 33792.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 321) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-cave-cavedrip-3" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 801 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 867 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1269 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1983 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 2601 :length 5) - (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 5061 :length 5) - ) - :bounds - (new 'static 'sphere :y 32768.0 :w 33792.0) - ) - ) +(set! (-> *part-group-id-table* 321) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-cave-cavedrip-3" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 801 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 867 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1269 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1983 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 2601 :length 5) + (sp-item 2230 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 5061 :length 5) + ) + :bounds + (new 'static 'sphere :y 32768.0 :w 33792.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2231) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-rnd-flt spt-num 3.0 4.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 112.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-fade-a -0.5688889) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 20.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2231) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-rnd-flt spt-num 3.0 4.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 112.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-fade-a -0.5688889) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 20.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2232) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.02)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 192.0 32.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.016666668) (meters 0.01) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -1.2222222) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2232) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.02)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 192.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.016666668) (meters 0.01) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -1.2222222) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2230) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-func spt-birth-func 'birth-func-y->userdata) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 24.0)) - (sp-flt spt-scale-x (meters 0.1)) - (sp-flt spt-scale-y (meters 0.4)) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 192.0 32.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters -0.045714285)) - (sp-flt spt-fade-a 0.5688889) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-flt spt-userdata -98304.0) - (sp-func spt-func 'check-drop-level-maincave-drip) - (sp-int-plain-rnd spt-next-time 150 74 1) - (sp-launcher-by-id spt-next-launcher 2233) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2230) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-func spt-birth-func 'birth-func-y->userdata) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 24.0)) + (sp-flt spt-scale-x (meters 0.1)) + (sp-flt spt-scale-y (meters 0.4)) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 192.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters -0.045714285)) + (sp-flt spt-fade-a 0.5688889) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-flt spt-userdata -98304.0) + (sp-func spt-func 'check-drop-level-maincave-drip) + (sp-int-plain-rnd spt-next-time 150 74 1) + (sp-launcher-by-id spt-next-launcher 2233) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2233) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2233) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a 0.0) (sp-end)) + ) + ) ;; definition for function check-drop-level-maincave-drip -(defun - check-drop-level-maincave-drip - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-maincave-drip ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name - (static-sound-name "water-drop") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-2 (the-as number (logior #x3f800000 v1-1))) + ) + (if (< (+ -1.0 (the-as float v1-2)) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) + ) + (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2231) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 2232) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - ) - (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2231) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 2232) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) ) - ) (none) ) diff --git a/test/decompiler/reference/levels/maincave/mother-spider-h_REF.gc b/test/decompiler/reference/levels/maincave/mother-spider-h_REF.gc index 4e35b9de65..1fcc5878e0 100644 --- a/test/decompiler/reference/levels/maincave/mother-spider-h_REF.gc +++ b/test/decompiler/reference/levels/maincave/mother-spider-h_REF.gc @@ -17,8 +17,8 @@ ;; definition for method 3 of type mother-spider-leg (defmethod inspect mother-spider-leg ((obj mother-spider-leg)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tgravity: ~f~%" (-> obj gravity)) (format #t "~T~Ttransv: #~%" (-> obj transv)) (format #t "~T~Tfacing-rot: #~%" (-> obj facing-rot)) @@ -92,10 +92,7 @@ ) ;; definition for method 3 of type mother-spider-history-array -(defmethod - inspect - mother-spider-history-array - ((obj mother-spider-history-array)) +(defmethod inspect mother-spider-history-array ((obj mother-spider-history-array)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tlength: ~D~%" (-> obj length)) (format #t "~Tallocated-length: ~D~%" (-> obj allocated-length)) @@ -174,8 +171,8 @@ ;; definition for method 3 of type mother-spider (defmethod inspect mother-spider ((obj mother-spider)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tmode: ~D~%" (-> obj mode)) (format #t "~T~Tdamage: ~D~%" (-> obj damage)) (format #t "~T~Tbaby-count: ~D~%" (-> obj baby-count)) @@ -186,11 +183,7 @@ (format #t "~T~Tdist-from-anchor: ~f~%" (-> obj dist-from-anchor)) (format #t "~T~Ttarg-dist-from-anchor: ~f~%" (-> obj targ-dist-from-anchor)) (format #t "~T~Tidle-dist-from-anchor: ~f~%" (-> obj idle-dist-from-anchor)) - (format - #t - "~T~Tplayer-sticky-dist-from-anchor: ~f~%" - (-> obj player-sticky-dist-from-anchor) - ) + (format #t "~T~Tplayer-sticky-dist-from-anchor: ~f~%" (-> obj player-sticky-dist-from-anchor)) (format #t "~T~Tmax-dist-from-anchor: ~f~%" (-> obj max-dist-from-anchor)) (format #t "~T~Tactivate-xz-dist: ~f~%" (-> obj activate-xz-dist)) (format #t "~T~Tdeactivate-xz-dist: ~f~%" (-> obj deactivate-xz-dist)) @@ -211,26 +204,14 @@ (format #t "~T~Tlast-update-time: ~D~%" (-> obj last-update-time)) (format #t "~T~Tspin-time: ~D~%" (-> obj spin-time)) (format #t "~T~Tlast-spit-time: ~D~%" (-> obj last-spit-time)) - (format - #t - "~T~Tlast-player-in-air-time: ~D~%" - (-> obj last-player-in-air-time) - ) + (format #t "~T~Tlast-player-in-air-time: ~D~%" (-> obj last-player-in-air-time)) (format #t "~T~Tstarted-birthing-time: ~D~%" (-> obj started-birthing-time)) (format #t "~T~Tneck: ~A~%" (-> obj neck)) (format #t "~T~Tplayer-attack-id: ~D~%" (-> obj player-attack-id)) - (format - #t - "~T~Tleg-socket-part-time[6] @ #x~X~%" - (-> obj leg-socket-part-time) - ) + (format #t "~T~Tleg-socket-part-time[6] @ #x~X~%" (-> obj leg-socket-part-time)) (format #t "~T~Torient-rot: #~%" (-> obj orient-rot)) (format #t "~T~Tanchor-trans: #~%" (-> obj anchor-trans)) - (format - #t - "~T~Tthread-min-trans: #~%" - (-> obj thread-min-trans) - ) + (format #t "~T~Tthread-min-trans: #~%" (-> obj thread-min-trans)) (format #t "~T~Tswing-pos: #~%" (-> obj swing-pos)) (format #t "~T~Tswing-base-pos: #~%" (-> obj swing-base-pos)) (format #t "~T~Tswing-vel: #~%" (-> obj swing-vel)) diff --git a/test/decompiler/reference/levels/maincave/mother-spider-proj_REF.gc b/test/decompiler/reference/levels/maincave/mother-spider-proj_REF.gc index 19a7d56636..9b78bf982d 100644 --- a/test/decompiler/reference/levels/maincave/mother-spider-proj_REF.gc +++ b/test/decompiler/reference/levels/maincave/mother-spider-proj_REF.gc @@ -15,405 +15,336 @@ ;; definition for method 3 of type mother-spider-proj (defmethod inspect mother-spider-proj ((obj mother-spider-proj)) (let ((t9-0 (method-of-type projectile inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tfacing-dir: #~%" (-> obj facing-dir)) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 326) - (new 'static 'sparticle-launch-group - :length 48 - :duration #x12c - :linger-duration #x5dc - :name "group-mother-spider-proj-fly" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 718 :flags (launch-asap) :binding 716) - (sp-item 716 :flags (start-dead) :binding 717) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - (sp-item 717 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 12288.0) - ) - ) +(set! (-> *part-group-id-table* 326) (new 'static 'sparticle-launch-group + :length 48 + :duration #x12c + :linger-duration #x5dc + :name "group-mother-spider-proj-fly" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 718 :flags (launch-asap) :binding 716) + (sp-item 716 :flags (start-dead) :binding 717) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + (sp-item 717 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 12288.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 718) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3) - (sp-func spt-func 'sparticle-track-root-prim) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 718) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 9 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3) + (sp-func spt-func 'sparticle-track-root-prim) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 716) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-scalevel-x (meters -0.006666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -1.0666667) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b 0.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 81) - (sp-launcher-by-id spt-next-launcher 720) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.1)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 716) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-scalevel-x (meters -0.006666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.0666667) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b 0.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 81) + (sp-launcher-by-id spt-next-launcher 720) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.1)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 720) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 720) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 717) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 5.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0026666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -1.0666667) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-accel-y -2.7306666) - (sp-flt spt-friction 0.97) - (sp-int-plain-rnd spt-timer 30 119 1) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 720) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.4) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 717) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 5.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0026666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -1.0666667) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-accel-y -2.7306666) + (sp-flt spt-friction 0.97) + (sp-int-plain-rnd spt-timer 30 119 1) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 720) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.4) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 327) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-mother-spider-proj-hit" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 722) - (sp-item 723) - (sp-item 724) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 327) + (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-mother-spider-proj-hit" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 722) (sp-item 723) (sp-item 724)) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 722) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 64.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.10666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.006666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.7111111) - (sp-flt spt-fade-g -0.7111111) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-accel-y -0.68266666) - (sp-rnd-flt spt-friction 0.85 0.05 1.0) - (sp-int-plain-rnd spt-timer 30 119 1) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 720) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.4) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 722) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 64.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.10666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.006666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.7111111) + (sp-flt spt-fade-g -0.7111111) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-accel-y -0.68266666) + (sp-rnd-flt spt-friction 0.85 0.05 1.0) + (sp-int-plain-rnd spt-timer 30 119 1) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 720) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.4) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 724) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-r -0.35555556) - (sp-flt spt-fade-g -0.35555556) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.30476192) - (sp-rnd-flt spt-accel-y -0.68266666 0.68266666 1.0) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 720) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 180.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 724) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-r -0.35555556) + (sp-flt spt-fade-g -0.35555556) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.30476192) + (sp-rnd-flt spt-accel-y -0.68266666 0.68266666 1.0) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 720) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 180.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 723) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 32.0 1.0) - (sp-flt spt-a 96.0) - (sp-flt spt-fade-a -4.8) - (sp-int spt-timer 15) - (sp-cpuinfo-flags bit2) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 723) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 32.0 1.0) + (sp-flt spt-a 96.0) + (sp-flt spt-fade-a -4.8) + (sp-int spt-timer 15) + (sp-cpuinfo-flags bit2) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 328) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-mother-spider-proj-die" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 722)) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 328) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-mother-spider-proj-die" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 722)) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; definition for method 24 of type mother-spider-proj (defmethod dummy-24 mother-spider-proj ((obj mother-spider-proj)) (with-pp - (spawn - (-> obj part) - (the-as vector (-> obj root-override root-prim prim-core)) - ) - (let ((s5-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) - (set! (-> s5-0 command) (sound-command set-param)) - (set! (-> s5-0 id) (-> obj sound-id)) - (let ((a1-1 (-> obj root-override trans))) - (let ((s4-0 pp)) - (when (= a1-1 #t) - (if - (and - s4-0 - (type-type? (-> s4-0 type) process-drawable) - (nonzero? (-> (the-as process-drawable s4-0) root)) - ) - (set! a1-1 (-> (the-as process-drawable s4-0) root trans)) - (set! a1-1 (the-as vector #f)) - ) - ) - ) - (sound-trans-convert (-> s5-0 parms trans) a1-1) - ) - (set! (-> s5-0 parms mask) (the-as uint 32)) - (-> s5-0 id) - ) - (let - ((f0-5 - (* - 5120.0 - (+ - 0.9 - (* - 0.1 - (cos - (* 873.81335 (the float (mod (-> *display* base-frame-counter) 75))) + (spawn (-> obj part) (the-as vector (-> obj root-override root-prim prim-core))) + (let ((s5-0 (the-as sound-rpc-set-param (get-sound-buffer-entry)))) + (set! (-> s5-0 command) (sound-command set-param)) + (set! (-> s5-0 id) (-> obj sound-id)) + (let ((a1-1 (-> obj root-override trans))) + (let ((s4-0 pp)) + (when (= a1-1 #t) + (if (and s4-0 (type-type? (-> s4-0 type) process-drawable) (nonzero? (-> (the-as process-drawable s4-0) root))) + (set! a1-1 (-> (the-as process-drawable s4-0) root trans)) + (set! a1-1 (the-as vector #f)) + ) + ) ) - ) + (sound-trans-convert (-> s5-0 parms trans) a1-1) ) - ) + (set! (-> s5-0 parms mask) (the-as uint 32)) + (-> s5-0 id) ) - ) - (find-ground-and-draw-shadow - (-> obj root-override trans) - (the-as vector #f) - f0-5 - (the-as uint 1) - (the-as process #f) - 0.0 - 81920.0 - ) + (let ((f0-5 (* 5120.0 (+ 0.9 (* 0.1 (cos (* 873.81335 (the float (mod (-> *display* base-frame-counter) 75))))))))) + (find-ground-and-draw-shadow + (-> obj root-override trans) + (the-as vector #f) + f0-5 + (the-as uint 1) + (the-as process #f) + 0.0 + 81920.0 + ) + ) + (none) ) - (none) - ) ) ;; definition for function mother-spider-proj-update-velocity ;; INFO: Return type mismatch int vs none. (defun mother-spider-proj-update-velocity ((arg0 mother-spider-proj)) - (when - (>= - (vector-vector-xz-distance - (-> arg0 parent-process 0 root-override trans) - (-> arg0 target) - ) - (vector-vector-xz-distance - (-> arg0 parent-process 0 root-override trans) - (-> arg0 root-override trans) - ) + (when (>= (vector-vector-xz-distance (-> arg0 parent-process 0 root-override trans) (-> arg0 target)) + (vector-vector-xz-distance (-> arg0 parent-process 0 root-override trans) (-> arg0 root-override trans)) + ) + (let ((s3-1 (vector-! (new 'stack-no-clear 'vector) (-> arg0 target) (-> arg0 root-override trans))) + (s4-0 (new 'stack-no-clear 'vector)) + (s5-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> arg0 root-override transv) 1.0)) + ) + (if (logtest? (-> arg0 root-override status) 4) + (vector-flatten! s3-1 s3-1 (-> arg0 root-override local-normal)) + ) + (vector-normalize-copy! s4-0 s3-1 1.0) + (let ((s3-2 (new 'stack-no-clear 'vector))) + (matrix-from-two-vectors-max-angle-partial! + (the-as matrix s3-2) + s5-0 + s4-0 + (* (-> arg0 max-turn) (-> *display* seconds-per-frame)) + (-> arg0 tween) + ) + (vector-matrix*! s5-0 s5-0 (the-as matrix s3-2)) + ) + (vector-normalize! s5-0 1.0) + (vector-float*! (-> arg0 root-override transv) s5-0 (-> arg0 max-speed)) + ) ) - (let - ((s3-1 - (vector-! - (new 'stack-no-clear 'vector) - (-> arg0 target) - (-> arg0 root-override trans) - ) - ) - (s4-0 (new 'stack-no-clear 'vector)) - (s5-0 - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - (-> arg0 root-override transv) - 1.0 - ) - ) - ) - (if (logtest? (-> arg0 root-override status) 4) - (vector-flatten! s3-1 s3-1 (-> arg0 root-override local-normal)) - ) - (vector-normalize-copy! s4-0 s3-1 1.0) - (let ((s3-2 (new 'stack-no-clear 'vector))) - (matrix-from-two-vectors-max-angle-partial! - (the-as matrix s3-2) - s5-0 - s4-0 - (* (-> arg0 max-turn) (-> *display* seconds-per-frame)) - (-> arg0 tween) - ) - (vector-matrix*! s5-0 s5-0 (the-as matrix s3-2)) - ) - (vector-normalize! s5-0 1.0) - (vector-float*! (-> arg0 root-override transv) s5-0 (-> arg0 max-speed)) - ) - ) 0 (none) ) @@ -421,34 +352,26 @@ ;; definition for method 26 of type mother-spider-proj ;; INFO: Return type mismatch int vs none. (defmethod dummy-26 mother-spider-proj ((obj mother-spider-proj)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) projectile-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 1024)) + (set! (-> s4-0 collide-with) (the-as uint 2973)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 1228.8) + (set-root-prim! s5-0 s4-0) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> s5-0 max-iteration-count) (the-as uint 2)) + (set! (-> s5-0 event-self) 'touched) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) projectile-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 1024)) - (set! (-> s4-0 collide-with) (the-as uint 2973)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 3) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 1228.8) - (set-root-prim! s5-0 s4-0) - ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> s5-0 max-iteration-count) (the-as uint 2)) - (set! (-> s5-0 event-self) 'touched) - (set! (-> obj root-override) s5-0) - ) (logclear! (-> obj mask) (process-mask enemy)) (logclear! (-> obj mask) (process-mask crate)) (logclear! (-> obj mask) (process-mask attackable)) @@ -461,10 +384,7 @@ ;; INFO: Return type mismatch sound-id vs none. ;; Used lq/sq (defmethod dummy-27 mother-spider-proj ((obj mother-spider-proj)) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 326) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 326) obj)) (set! (-> obj max-speed) 32768.0) (set! (-> obj update-velocity) mother-spider-proj-update-velocity) (set! (-> obj max-turn) 5916.4443) @@ -474,27 +394,8 @@ (set! (-> obj target quad) (-> (target-pos 0) quad)) (set! (-> obj target y) (+ 4915.2 (-> obj target y))) (set! (-> obj target-base quad) (-> obj target quad)) - (set! - (-> obj sound-id) - (sound-play-by-name - (static-sound-name "mother-track") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (sound-play-by-name - (static-sound-name "mother-fire") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (set! (-> obj sound-id) (sound-play-by-name (static-sound-name "mother-track") (new-sound-id) 1024 0 0 1 #t)) + (sound-play-by-name (static-sound-name "mother-fire") (new-sound-id) 1024 0 0 1 #t) (none) ) @@ -503,23 +404,23 @@ ;; Used lq/sq (defmethod dummy-28 mother-spider-proj ((obj mother-spider-proj)) (when (and *target* (zero? (logand (-> *target* state-flags) #x80f8))) - (let ((gp-0 (-> obj target))) - (set! (-> gp-0 quad) (-> (target-pos 0) quad)) - (set! (-> gp-0 y) (+ 4915.2 (-> gp-0 y))) - (let ((f0-2 (vector-vector-distance gp-0 (-> obj root-override trans))) - (a2-0 (new 'stack-no-clear 'vector)) + (let ((gp-0 (-> obj target))) + (set! (-> gp-0 quad) (-> (target-pos 0) quad)) + (set! (-> gp-0 y) (+ 4915.2 (-> gp-0 y))) + (let ((f0-2 (vector-vector-distance gp-0 (-> obj root-override trans))) + (a2-0 (new 'stack-no-clear 'vector)) + ) + (if (>= 0.0 f0-2) + (set! f0-2 409.6) + ) + (set! (-> a2-0 quad) (-> *target* control transv quad)) + (set! (-> a2-0 y) 0.0) + (let ((f0-3 (/ f0-2 (* 32768.0 (-> *display* seconds-per-frame))))) + (vector+float*! gp-0 gp-0 a2-0 (* f0-3 (-> *display* seconds-per-frame))) ) - (if (>= 0.0 f0-2) - (set! f0-2 409.6) + ) ) - (set! (-> a2-0 quad) (-> *target* control transv quad)) - (set! (-> a2-0 y) 0.0) - (let ((f0-3 (/ f0-2 (* 32768.0 (-> *display* seconds-per-frame))))) - (vector+float*! gp-0 gp-0 a2-0 (* f0-3 (-> *display* seconds-per-frame))) - ) - ) ) - ) (none) ) @@ -528,45 +429,32 @@ :virtual #t :code (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + part-tracker-init + (-> *part-group-id-table* 327) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-0 ppointer) + ) ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 327) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (if (nonzero? (-> self sound-id)) + (sound-stop (-> self sound-id)) + ) + (sound-play-by-name (static-sound-name "mother-hit") (new-sound-id) 1024 0 0 1 #t) + (suspend) + (go-virtual projectile-die) + (none) ) - (if (nonzero? (-> self sound-id)) - (sound-stop (-> self sound-id)) - ) - (sound-play-by-name - (static-sound-name "mother-hit") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (suspend) - (go-virtual projectile-die) - (none) - ) ) ;; failed to figure out what this is: @@ -574,34 +462,29 @@ :virtual #t :code (behavior () - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + part-tracker-init + (-> *part-group-id-table* 328) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-0 ppointer) + ) ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 328) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) + (if (nonzero? (-> self sound-id)) + (sound-stop (-> self sound-id)) + ) + (suspend) + (go-virtual projectile-die) + (none) ) - (if (nonzero? (-> self sound-id)) - (sound-stop (-> self sound-id)) - ) - (suspend) - (go-virtual projectile-die) - (none) - ) ) diff --git a/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc b/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc index ff066f34a2..d2c25ec530 100644 --- a/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc +++ b/test/decompiler/reference/levels/maincave/spiderwebs_REF.gc @@ -2,36 +2,34 @@ (in-package goal) ;; definition for symbol *spider-jump-mods*, type surface -(define - *spider-jump-mods* - (new 'static 'surface - :name 'jump - :turnv 131072.0 - :turnvv 18204.445 - :tiltv 32768.0 - :tiltvv 131072.0 - :transv-max 49152.0 - :target-speed 49152.0 - :seek0 0.6 - :seek90 0.6 - :seek180 0.6 - :fric 0.2 - :nonlin-fric-dist 1.0 - :slip-factor 1.0 - :slide-factor 1.0 - :slope-up-factor 1.0 - :slope-down-factor 1.0 - :slope-slip-angle 1.0 - :impact-fric 1.0 - :bend-factor 1.0 - :bend-speed 1.0 - :alignv 1.0 - :slope-up-traction 1.0 - :align-speed 1.0 - :mode 'air - :flags #xc00 - ) - ) +(define *spider-jump-mods* (new 'static 'surface + :name 'jump + :turnv 131072.0 + :turnvv 18204.445 + :tiltv 32768.0 + :tiltvv 131072.0 + :transv-max 49152.0 + :target-speed 49152.0 + :seek0 0.6 + :seek90 0.6 + :seek180 0.6 + :fric 0.2 + :nonlin-fric-dist 1.0 + :slip-factor 1.0 + :slide-factor 1.0 + :slope-up-factor 1.0 + :slope-down-factor 1.0 + :slope-slip-angle 1.0 + :impact-fric 1.0 + :bend-factor 1.0 + :bend-speed 1.0 + :alignv 1.0 + :slope-up-traction 1.0 + :align-speed 1.0 + :mode 'air + :flags #xc00 + ) + ) ;; definition of type spiderwebs (deftype spiderwebs (process-drawable) @@ -50,8 +48,8 @@ ;; definition for method 3 of type spiderwebs (defmethod inspect spiderwebs ((obj spiderwebs)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tspring-height: (meters ~m)~%" (-> obj spring-height)) obj ) @@ -66,64 +64,48 @@ ) ;; definition for function spiderwebs-default-event-handler -(defbehavior - spiderwebs-default-event-handler spiderwebs - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('bonk) +(defbehavior spiderwebs-default-event-handler spiderwebs ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('bonk) (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 3) - (set! (-> a1-1 message) 'jump) - (set! (-> a1-1 param 0) (the-as uint (-> self spring-height))) - (set! (-> a1-1 param 1) (the-as uint (-> self spring-height))) - (set! (-> a1-1 param 2) (the-as uint *spider-jump-mods*)) - (if (send-event-function arg0 a1-1) - (go spiderwebs-bounce) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 3) + (set! (-> a1-1 message) 'jump) + (set! (-> a1-1 param 0) (the-as uint (-> self spring-height))) + (set! (-> a1-1 param 1) (the-as uint (-> self spring-height))) + (set! (-> a1-1 param 2) (the-as uint *spider-jump-mods*)) + (if (send-event-function arg0 a1-1) + (go spiderwebs-bounce) + ) ) - ) ) - (('touch) - (when (= (-> arg0 type) target) - (let* ((a0-8 (target-pos 0)) - (f1-1 (- (-> a0-8 y) (-> self root trans y))) - ) - (if - (and - (>= 2048.0 (fabs f1-1)) - (and - (>= 13516.8 (vector-vector-distance a0-8 (-> self root trans))) - (send-event - arg0 - 'jump - (-> self spring-height) - (-> self spring-height) - *spider-jump-mods* - ) + (('touch) + (when (= (-> arg0 type) target) + (let* ((a0-8 (target-pos 0)) + (f1-1 (- (-> a0-8 y) (-> self root trans y))) + ) + (if (and + (>= 2048.0 (fabs f1-1)) + (and + (>= 13516.8 (vector-vector-distance a0-8 (-> self root trans))) + (send-event arg0 'jump (-> self spring-height) (-> self spring-height) *spider-jump-mods*) + ) + ) + (go spiderwebs-bounce) + ) ) - ) - (go spiderwebs-bounce) ) - ) + ) + (('attack) + (if (and + (= (-> arg3 param 1) 'flop) + (send-event arg0 'jump (-> self spring-height) (-> self spring-height) *spider-jump-mods*) + ) + (go spiderwebs-bounce) + ) + #f ) ) - (('attack) - (if - (and - (= (-> arg3 param 1) 'flop) - (send-event - arg0 - 'jump - (-> self spring-height) - (-> self spring-height) - *spider-jump-mods* - ) - ) - (go spiderwebs-bounce) - ) - #f - ) - ) ) ;; failed to figure out what this is: @@ -132,111 +114,66 @@ spiderwebs-default-event-handler :code (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) + (logior! (-> self mask) (process-mask actor-pause)) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) + ) + (transform-post) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (transform-post) - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - ) - (none) - ) ) ;; failed to figure out what this is: (defstate spiderwebs-bounce (spiderwebs) :code (behavior () - (logclear! (-> self mask) (process-mask actor-pause)) - (sound-play-by-name - (static-sound-name "web-tramp") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! - (-> gp-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! (-> gp-1 param 0) (ja-aframe 10.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) 0.0) - (joint-control-channel-group! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 10.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim #f) - num-func-seek! + (logclear! (-> self mask) (process-mask actor-pause)) + (sound-play-by-name (static-sound-name "web-tramp") (new-sound-id) 1024 0 0 1 #t) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> gp-1 param 0) (ja-aframe 10.0 0)) + (set! (-> gp-1 param 1) 1.0) + (set! (-> gp-1 frame-num) 0.0) + (joint-control-channel-group! gp-1 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) ) - ) - ) - (set! (-> self event-hook) (-> spiderwebs-idle event)) - (let ((gp-3 (-> self skel root-channel 0))) - (set! - (-> gp-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> gp-3 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 param 0) (ja-aframe 10.0 0)) + (set! (-> gp-2 param 1) 1.0) + (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 10.0 0)) - (joint-control-channel-group! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) + (set! (-> self event-hook) (-> spiderwebs-idle event)) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> gp-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> gp-3 param 1) 1.0) + (set! (-> gp-3 frame-num) (ja-aframe 10.0 0)) + (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 1.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go spiderwebs-idle) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go spiderwebs-idle) - (none) - ) :post (the-as (function none :behavior spiderwebs) transform-post) ) @@ -245,70 +182,42 @@ ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! spiderwebs ((obj spiderwebs) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 14336.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 14336.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) 13926.4) + (backup-collide-with-as s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> s4-0 nav-radius) 13926.4) - (backup-collide-with-as s4-0) - (set! (-> obj root) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *spiderwebs-sg* '()) - (set! - (-> obj spring-height) - (res-lump-float arg0 'spring-height :default 45056.0) - ) + (set! (-> obj spring-height) (res-lump-float arg0 'spring-height :default 45056.0)) (ja-channel-set! 1) (let ((a0-11 (-> obj skel root-channel 0))) - (set! - (-> a0-11 param 0) - (the float (+ (-> a0-11 frame-group data 0 length) -1)) + (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) + (set! (-> a0-11 param 1) 1.0) + (joint-control-channel-group! a0-11 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group! - a0-11 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) 0.0) ) - (set! (-> s5-1 frame-num) 0.0) - ) (nav-mesh-connect obj (-> obj root) (the-as nav-control #f)) (transform-post) (go spiderwebs-idle) diff --git a/test/decompiler/reference/levels/misty/bonelurker_REF.gc b/test/decompiler/reference/levels/misty/bonelurker_REF.gc index 28ae868038..f3bf8320b4 100644 --- a/test/decompiler/reference/levels/misty/bonelurker_REF.gc +++ b/test/decompiler/reference/levels/misty/bonelurker_REF.gc @@ -14,8 +14,8 @@ ;; definition for method 3 of type bonelurker (defmethod inspect bonelurker ((obj bonelurker)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tbump-player-time: ~D~%" (-> obj bump-player-time)) obj ) @@ -48,146 +48,116 @@ ;; definition for method 44 of type bonelurker ;; INFO: Return type mismatch symbol vs object. -(defmethod - dummy-44 - bonelurker - ((obj bonelurker) (arg0 process) (arg1 event-message-block)) +(defmethod dummy-44 bonelurker ((obj bonelurker) (arg0 process) (arg1 event-message-block)) (the-as - object - (when - (and - (logtest? (-> obj nav-enemy-flags) 64) - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg1 param 0)) - (-> obj collide-info) - (the-as uint 1) + object + (when (and (logtest? (-> obj nav-enemy-flags) 64) ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg1 param 0)) + (-> obj collide-info) + (the-as uint 1) + ) + ) + (when (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 'generic) + (set! (-> obj speed-scale) 0.5) + #t + ) ) - ) - (when - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 'generic - ) - (set! (-> obj speed-scale) 0.5) - #t - ) ) - ) ) ;; definition for method 43 of type bonelurker ;; INFO: Return type mismatch symbol vs object. -(defmethod - dummy-43 - bonelurker - ((obj bonelurker) (arg0 process) (arg1 event-message-block)) +(defmethod dummy-43 bonelurker ((obj bonelurker) (arg0 process) (arg1 event-message-block)) (with-pp - (set! (-> obj state-time) (-> *display* base-frame-counter)) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) pp) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'query) - (set! (-> a1-1 param 0) (the-as uint 'powerup)) - (set! (-> a1-1 param 1) (the-as uint 2)) - (the-as object (cond - ((or - (send-event-function *target* a1-1) - (= (-> arg1 param 1) 'explode) - ) - (logclear! (-> obj mask) (process-mask actor-pause)) - (go (method-of-object obj nav-enemy-die)) - 'die - ) - (else - (cond - (((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg1 param 0)) - (-> obj collide-info) - (the-as uint 2) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'shove) - (set! (-> a1-3 param 0) (-> arg1 param 0)) - (let ((v1-19 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-19 shove-back) 16384.0) - (set! (-> a1-3 param 1) (the-as uint v1-19)) - ) - (send-event-function arg0 a1-3) - ) - (go bonelurker-stun) - #t - ) - ((and - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg1 param 0)) - (-> obj collide-info) - (the-as uint 1) - ) - (= (-> obj skel root-channel 0) (-> obj skel channel)) - (let ((v1-30 (if (> (-> obj skel active-channels) 0) - (-> obj skel root-channel 0 frame-group) - ) - ) + (set! (-> obj state-time) (-> *display* base-frame-counter)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) pp) + (set! (-> a1-1 num-params) 2) + (set! (-> a1-1 message) 'query) + (set! (-> a1-1 param 0) (the-as uint 'powerup)) + (set! (-> a1-1 param 1) (the-as uint 2)) + (the-as + object + (cond + ((or (send-event-function *target* a1-1) (= (-> arg1 param 1) 'explode)) + (logclear! (-> obj mask) (process-mask actor-pause)) + (go (method-of-object obj nav-enemy-die)) + 'die + ) + (else + (cond + (((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg1 param 0)) + (-> obj collide-info) + (the-as uint 2) + ) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'shove) + (set! (-> a1-3 param 0) (-> arg1 param 0)) + (let ((v1-19 (new 'static 'attack-info :mask #x40))) + (set! (-> v1-19 shove-back) 16384.0) + (set! (-> a1-3 param 1) (the-as uint v1-19)) + ) + (send-event-function arg0 a1-3) + ) + (go bonelurker-stun) + #t + ) + ((and + ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg1 param 0)) + (-> obj collide-info) + (the-as uint 1) + ) + (= (-> obj skel root-channel 0) (-> obj skel channel)) + (let ((v1-30 (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) ) - (or - (= v1-30 (-> obj draw art-group data 9)) - (= v1-30 (-> obj draw art-group data 10)) - ) - ) - ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) pp) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'shove) - (set! (-> a1-6 param 0) (-> arg1 param 0)) - (let ((v1-36 (new 'static 'attack-info :mask #x40))) - (set! (-> v1-36 shove-back) 16384.0) - (set! (-> a1-6 param 1) (the-as uint v1-36)) - ) - (send-event-function arg0 a1-6) - ) - (set! - (-> obj bump-player-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! - (-> obj nav-enemy-flags) - (logand -65 (-> obj nav-enemy-flags)) - ) - 'push ) - ) - ) - ) - ) + (or (= v1-30 (-> obj draw art-group data 9)) (= v1-30 (-> obj draw art-group data 10))) + ) + ) + (let ((a1-6 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-6 from) pp) + (set! (-> a1-6 num-params) 2) + (set! (-> a1-6 message) 'shove) + (set! (-> a1-6 param 0) (-> arg1 param 0)) + (let ((v1-36 (new 'static 'attack-info :mask #x40))) + (set! (-> v1-36 shove-back) 16384.0) + (set! (-> a1-6 param 1) (the-as uint v1-36)) + ) + (send-event-function arg0 a1-6) + ) + (set! (-> obj bump-player-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> obj nav-enemy-flags) (logand -65 (-> obj nav-enemy-flags))) + 'push + ) + ) + ) + ) + ) + ) ) - ) ) ;; definition for function bonelurker-stunned-event-handler ;; INFO: Return type mismatch symbol vs object. -(defbehavior - bonelurker-stunned-event-handler bonelurker - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior bonelurker-stunned-event-handler bonelurker ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'attack) - (when - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - 150 + (the-as object (when (= v1-0 'attack) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) + (nav-enemy-set-hit-from-direction arg0) + (send-event arg0 'get-attack-count 1) + (logclear! (-> self mask) (process-mask actor-pause)) + (go-virtual nav-enemy-die) + 'die + ) ) - (nav-enemy-set-hit-from-direction arg0) - (send-event arg0 'get-attack-count 1) - (logclear! (-> self mask) (process-mask actor-pause)) - (go-virtual nav-enemy-die) - 'die - ) - ) + ) ) - ) ) ;; failed to figure out what this is: @@ -199,27 +169,16 @@ nav-enemy-default-event-handler (TODO-RENAME-9 (-> self align)) (dummy-11 (-> self nav) (-> self nav target-pos)) (TODO-RENAME-11 - (-> self align) - 4 - (-> self nav travel) - (the-as int 1.0) - 1.0 - (* (-> self enemy-info speed) (-> self speed-scale)) - ) - (vector-v++! - (-> self collide-info transv) - (dummy-62 (-> self collide-info) (new-stack-vector0) 0.0) - ) + (-> self align) + 4 + (-> self nav travel) + (the-as int 1.0) + 1.0 + (* (-> self enemy-info speed) (-> self speed-scale)) + ) + (vector-v++! (-> self collide-info transv) (dummy-62 (-> self collide-info) (new-stack-vector0) 0.0)) (TODO-RENAME-10 (-> self align) 16 1.0 1.0 1.0) - (dummy-59 - (-> self collide-info) - (-> self collide-info transv) - (the-as uint 1) - 8192.0 - #t - #f - #f - ) + (dummy-59 (-> self collide-info) (-> self collide-info transv) (the-as uint 1) 8192.0 #t #f #f) (nav-enemy-common-post) (none) ) @@ -229,24 +188,17 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior bonelurker) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior bonelurker) + nav-enemy-default-event-handler + ) :exit - (behavior () - (bonelurker-set-large-bounds-sphere) - (none) - ) + (behavior () (bonelurker-set-large-bounds-sphere) (none)) :code (behavior () - (bonelurker-set-small-bounds-sphere) - ((the-as - (function none :behavior bonelurker) - (-> (method-of-type nav-enemy nav-enemy-idle) code) - ) + (bonelurker-set-small-bounds-sphere) + ((the-as (function none :behavior bonelurker) (-> (method-of-type nav-enemy nav-enemy-idle) code))) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -254,19 +206,15 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior bonelurker) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior bonelurker) + nav-enemy-default-event-handler + ) :code (behavior () - (ja-channel-push! 1 60) - ((the-as - (function none :behavior bonelurker) - (-> (method-of-type nav-enemy nav-enemy-patrol) code) - ) + (ja-channel-push! 1 60) + ((the-as (function none :behavior bonelurker) (-> (method-of-type nav-enemy nav-enemy-patrol) code))) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -274,9 +222,9 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior bonelurker) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior bonelurker) + nav-enemy-default-event-handler + ) :code (-> (method-of-type nav-enemy nav-enemy-notice) code) ) @@ -286,336 +234,167 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior bonelurker) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior bonelurker) + nav-enemy-default-event-handler + ) :trans (behavior () - ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) - (if - (and - (zero? (logand (-> self nav-enemy-flags) 64)) - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self bump-player-time)) - ) - 150 - ) - ) - (logior! (-> self nav-enemy-flags) 64) + ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) + (if (and + (zero? (logand (-> self nav-enemy-flags) 64)) + (>= (- (-> *display* base-frame-counter) (the-as int (-> self bump-player-time))) 150) + ) + (logior! (-> self nav-enemy-flags) 64) + ) + (none) ) - (none) - ) :code (behavior () - (set! (-> self rotate-speed) 524288.0) - (set! (-> self turn-time) 30) - (set! (-> self speed-scale) 1.0) - (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 13) - ) - (ja-channel-push! 1 90) - ) - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 15) - ) - (ja-channel-push! 1 60) - ) - (else - (ja-channel-push! 1 45) - ) - ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - (set! - (-> a0-12 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 9)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) f30-0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) f30-0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> a0-15 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-15 param 1) f30-0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) f30-0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (while #t - (cond - ((or - (not *target*) - (< - 36864.0 - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) - ) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-19 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length + (set! (-> self rotate-speed) 524288.0) + (set! (-> self turn-time) 30) + (set! (-> self speed-scale) 1.0) + (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 13) ) - -1 - ) - ) + (ja-channel-push! 1 90) ) - (set! (-> a0-19 param 1) f30-0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! - a0-19 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 param 0) - (the float (+ (-> a0-20 frame-group data 0 length) -1)) - ) - (set! (-> a0-20 param 1) f30-0) - (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((a0-22 (-> self skel root-channel 0))) - (set! - (-> a0-22 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - (set! - (-> a0-22 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 9)) - data - 0 - length + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 15) ) - -1 - ) + (ja-channel-push! 1 60) + ) + (else + (ja-channel-push! 1 45) ) - ) - (set! (-> a0-22 param 1) f30-0) - (set! (-> a0-22 frame-num) 0.0) - (joint-control-channel-group! - a0-22 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-seek! - ) ) - (until (ja-done? 0) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) + ) + (set! (-> a0-12 param 1) f30-0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) + ) + (until (ja-done? 0) (suspend) - (let ((a0-23 (-> self skel root-channel 0))) - (set! - (-> a0-23 param 0) - (the float (+ (-> a0-23 frame-group data 0 length) -1)) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) f30-0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-23 param 1) f30-0) - (joint-control-channel-group-eval! - a0-23 - (the-as art-joint-anim #f) - num-func-seek! + ) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> a0-15 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) + ) + (set! (-> a0-15 param 1) f30-0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) f30-0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) ) - ) ) - (if (logtest? (-> self nav-enemy-flags) 256) - (go-virtual nav-enemy-victory) - ) - (let ((a0-25 (-> self skel root-channel 0))) - (set! - (-> a0-25 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> a0-25 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length + (while #t + (cond + ((or + (not *target*) + (< 36864.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) + ) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-19 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-19 param 1) f30-0) + (set! (-> a0-19 frame-num) 0.0) + (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) + (set! (-> a0-20 param 1) f30-0) + (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (let ((a0-22 (-> self skel root-channel 0))) + (set! (-> a0-22 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + (set! (-> a0-22 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) + ) + (set! (-> a0-22 param 1) f30-0) + (set! (-> a0-22 frame-num) 0.0) + (joint-control-channel-group! a0-22 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-23 (-> self skel root-channel 0))) + (set! (-> a0-23 param 0) (the float (+ (-> a0-23 frame-group data 0 length) -1))) + (set! (-> a0-23 param 1) f30-0) + (joint-control-channel-group-eval! a0-23 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (if (logtest? (-> self nav-enemy-flags) 256) + (go-virtual nav-enemy-victory) + ) + (let ((a0-25 (-> self skel root-channel 0))) + (set! (-> a0-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> a0-25 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) + ) + (set! (-> a0-25 param 1) f30-0) + (set! (-> a0-25 frame-num) 0.0) + (joint-control-channel-group! a0-25 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-26 (-> self skel root-channel 0))) + (set! (-> a0-26 param 0) (the float (+ (-> a0-26 frame-group data 0 length) -1))) + (set! (-> a0-26 param 1) f30-0) + (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (if (logtest? (-> self nav-enemy-flags) 256) + (go-virtual nav-enemy-victory) + ) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-28 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-28 param 1) f30-0) + (set! (-> a0-28 frame-num) 0.0) + (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-29 (-> self skel root-channel 0))) + (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) + (set! (-> a0-29 param 1) f30-0) + (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - -1 - ) ) - ) - (set! (-> a0-25 param 1) f30-0) - (set! (-> a0-25 frame-num) 0.0) - (joint-control-channel-group! - a0-25 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-26 (-> self skel root-channel 0))) - (set! - (-> a0-26 param 0) - (the float (+ (-> a0-26 frame-group data 0 length) -1)) - ) - (set! (-> a0-26 param 1) f30-0) - (joint-control-channel-group-eval! - a0-26 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (if (logtest? (-> self nav-enemy-flags) 256) - (go-virtual nav-enemy-victory) - ) - (let ((a0-28 (-> self skel root-channel 0))) - (set! - (-> a0-28 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-28 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-28 param 1) f30-0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! - a0-28 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! - (-> a0-29 param 0) - (the float (+ (-> a0-29 frame-group data 0 length) -1)) - ) - (set! (-> a0-29 param 1) f30-0) - (joint-control-channel-group-eval! - a0-29 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -623,9 +402,9 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior bonelurker) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior bonelurker) + nav-enemy-default-event-handler + ) :code (-> (method-of-type nav-enemy nav-enemy-stop-chase) code) ) @@ -635,156 +414,97 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior bonelurker) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior bonelurker) + nav-enemy-default-event-handler + ) :code (behavior () - (set! (-> self rotate-speed) 524288.0) - (set! (-> self turn-time) 60) - (let ((f30-0 (rand-vu-float-range 0.8 1.2))) - (when (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 13)) - ) - (set! (-> gp-0 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 13)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (while #t - (when (not (nav-enemy-facing-player? 2730.6667)) - (logior! (-> self nav-enemy-flags) 16) - (ja-channel-push! 1 60) - (let ((v1-20 (-> self skel root-channel 0))) - (set! - (-> v1-20 frame-group) - (the-as art-joint-anim (-> self draw art-group data 16)) - ) - ) - (let ((v1-23 (-> self skel root-channel 0))) - (set! (-> v1-23 num-func) num-func-identity) - (set! (-> v1-23 frame-num) 0.0) - ) - (until (nav-enemy-facing-player? 1820.4445) - (ja-blend-eval) - (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) 1.0) - (joint-control-channel-group-eval! - a0-14 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - ) - (ja-channel-push! 1 75) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-18 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (set! (-> self rotate-speed) 524288.0) + (set! (-> self turn-time) 60) + (let ((f30-0 (rand-vu-float-range 0.8 1.2))) + (when (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) + (ja-channel-push! 1 30) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) + (set! (-> gp-0 param 0) (ja-aframe 48.0 0)) + (set! (-> gp-0 param 1) f30-0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 48.0 0)) + (set! (-> gp-1 param 1) f30-0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (while #t + (when (not (nav-enemy-facing-player? 2730.6667)) + (logior! (-> self nav-enemy-flags) 16) + (ja-channel-push! 1 60) + (let ((v1-20 (-> self skel root-channel 0))) + (set! (-> v1-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) + ) + (let ((v1-23 (-> self skel root-channel 0))) + (set! (-> v1-23 num-func) num-func-identity) + (set! (-> v1-23 frame-num) 0.0) + ) + (until (nav-enemy-facing-player? 1820.4445) + (ja-blend-eval) + (suspend) + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 param 0) 1.0) + (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + ) + (ja-channel-push! 1 75) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-18 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-18 param 1) f30-0) + (set! (-> a0-18 frame-num) 0.0) + (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) + (set! (-> a0-19 param 1) f30-0) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) 1.0) + (joint-control-channel-group! a0-21 (the-as art-joint-anim #f) num-func-loop!) + ) + (when (rand-vu-percent? 0.15) + (ja-channel-push! 1 30) + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) + (set! (-> gp-2 param 0) (ja-aframe 48.0 0)) + (set! (-> gp-2 param 1) f30-0) + (set! (-> gp-2 frame-num) 0.0) + (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 13)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 param 0) (ja-aframe 48.0 0)) + (set! (-> gp-3 param 1) f30-0) + (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - -1 - ) ) - ) - (set! (-> a0-18 param 1) f30-0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! - a0-18 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 param 0) - (the float (+ (-> a0-19 frame-group data 0 length) -1)) - ) - (set! (-> a0-19 param 1) f30-0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group! - a0-21 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (when (rand-vu-percent? 0.15) - (ja-channel-push! 1 30) - (let ((gp-2 (-> self skel root-channel 0))) - (set! - (-> gp-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 13)) - ) - (set! (-> gp-2 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 13)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 48.0 0)) - (set! (-> gp-3 param 1) f30-0) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -792,214 +512,103 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior bonelurker) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior bonelurker) + nav-enemy-default-event-handler + ) :code (behavior () - (set! (-> self rotate-speed) 524288.0) - (set! (-> self turn-time) 30) - (ja-channel-push! 1 45) - (let ((s4-0 (-> self collide-info)) - (s5-0 (target-pos 0)) - ) - (when - (< - (fabs - (deg-diff - (y-angle s4-0) - (vector-y-angle - (vector-! (new 'stack-no-clear 'vector) s5-0 (-> s4-0 trans)) - ) - ) - ) - 12743.111 - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (set! (-> self rotate-speed) 524288.0) + (set! (-> self turn-time) 30) + (ja-channel-push! 1 45) + (let ((s4-0 (-> self collide-info)) + (s5-0 (target-pos 0)) ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-9 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (when (< (fabs + (deg-diff (y-angle s4-0) (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s5-0 (-> s4-0 trans)))) + ) + 12743.111 + ) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) ) - -1 - ) - ) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-12 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-9 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-9 param 1) 1.0) + (set! (-> a0-9 frame-num) 0.0) + (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 1.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) ) - (until (ja-done? 0) + (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) + (nav-enemy-get-new-patrol-point) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-18 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-18 param 1) 1.0) + (set! (-> a0-18 frame-num) 0.0) + (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (seek-to-point-toward-point! + (-> self collide-info) + (-> self nav destination-pos) + (-> self rotate-speed) + (-> self turn-time) + ) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) + (set! (-> a0-20 param 1) 1.0) + (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - ) + (go-virtual nav-enemy-patrol) + (none) ) - (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) - (nav-enemy-get-new-patrol-point) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-18 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! - a0-18 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (seek-to-point-toward-point! - (-> self collide-info) - (-> self nav destination-pos) - (-> self rotate-speed) - (-> self turn-time) - ) - (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 param 0) - (the float (+ (-> a0-20 frame-group data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-patrol) - (none) - ) ) ;; failed to figure out what this is: @@ -1007,9 +616,9 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior bonelurker) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior bonelurker) + nav-enemy-default-event-handler + ) :code (-> (method-of-type nav-enemy nav-enemy-victory) code) ) @@ -1019,188 +628,141 @@ nav-enemy-default-event-handler :event bonelurker-stunned-event-handler :enter - (behavior () - (nav-enemy-neck-control-inactive) - (none) - ) + (behavior () (nav-enemy-neck-control-inactive) (none)) :exit - (behavior () - (nav-enemy-neck-control-look-at) - (none) - ) + (behavior () (nav-enemy-neck-control-look-at) (none)) :code (behavior () - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-normalize-copy! gp-0 (-> self hit-from-dir) 16384.0) - (vector+! gp-0 (-> self collide-info trans) gp-0) - (set! (-> self nav target-pos quad) (-> gp-0 quad)) - ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 15)) - ) - (set! - (-> a0-5 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 15)) - data - 0 - length + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector-normalize-copy! gp-0 (-> self hit-from-dir) 16384.0) + (vector+! gp-0 (-> self collide-info trans) gp-0) + (set! (-> self nav target-pos quad) (-> gp-0 quad)) + ) + (ja-channel-push! 1 30) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 15))) + (set! (-> a0-5 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 15)) data 0 length) -1)) + ) + (set! (-> a0-5 param 1) 1.0) + (set! (-> a0-5 frame-num) 0.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim (-> self draw art-group data 15)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) 1.0) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim (-> self draw art-group data 15)) - num-func-seek! - ) + (go-virtual nav-enemy-chase) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-chase) - (none) - ) :post bonelurker-push-post ) ;; definition for symbol *bonelurker-nav-enemy-info*, type nav-enemy-info -(define - *bonelurker-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 5 - :walk-anim 6 - :turn-anim 16 - :notice-anim 7 - :run-anim 8 - :jump-anim 17 - :jump-land-anim 18 - :victory-anim 13 - :taunt-anim 13 - :die-anim 14 - :neck-joint 5 - :player-look-at-joint 5 - :run-travel-speed (meters 6.0) - :run-rotate-speed (degrees 2880.0) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.1) - :walk-travel-speed (meters 3.0) - :walk-rotate-speed (degrees 2880.0) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.1) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 5.0) - :nav-nearest-y-threshold (meters 5.0) - :notice-distance (meters 30.0) - :stop-chase-distance (meters 40.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 24.0 - :jump-anim-start-frame 10.0 - :jump-land-anim-end-frame 32.0 - :jump-height-min (meters 3.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #t - :draw-shadow #t - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #t - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *bonelurker-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 5 + :walk-anim 6 + :turn-anim 16 + :notice-anim 7 + :run-anim 8 + :jump-anim 17 + :jump-land-anim 18 + :victory-anim 13 + :taunt-anim 13 + :die-anim 14 + :neck-joint 5 + :player-look-at-joint 5 + :run-travel-speed (meters 6.0) + :run-rotate-speed (degrees 2880.0) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.1) + :walk-travel-speed (meters 3.0) + :walk-rotate-speed (degrees 2880.0) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.1) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 5.0) + :nav-nearest-y-threshold (meters 5.0) + :notice-distance (meters 30.0) + :stop-chase-distance (meters 40.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 24.0 + :jump-anim-start-frame 10.0 + :jump-land-anim-end-frame 32.0 + :jump-height-min (meters 3.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #t + :draw-shadow #t + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #t + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 47 of type bonelurker ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision bonelurker ((obj bonelurker)) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 3) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s4-0 local-sphere) 0.0 10240.0 0.0 24576.0) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 1) + (set-vector! (-> s3-0 local-sphere) 0.0 8192.0 0.0 4096.0) + (append-prim s4-0 s3-0) + ) + (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 1) + (set-vector! (-> s3-1 local-sphere) 0.0 11468.8 0.0 4096.0) + (append-prim s4-0 s3-1) + ) + (let ((s3-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> s3-2 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-2 collide-with) (the-as uint 16)) + (set! (-> s3-2 prim-core offense) 2) + (set! (-> s3-2 transform-index) 29) + (set-vector! (-> s3-2 local-sphere) 0.0 4915.2 0.0 4915.2) + (append-prim s4-0 s3-2) + ) ) - ) + (set! (-> s5-0 nav-radius) 8192.0) + (backup-collide-with-as s5-0) + (set! (-> s5-0 max-iteration-count) (the-as uint 1)) + (set! (-> obj collide-info) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 3) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s4-0 local-sphere) 0.0 10240.0 0.0 24576.0) - (set-root-prim! s5-0 s4-0) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 1) - (set-vector! (-> s3-0 local-sphere) 0.0 8192.0 0.0 4096.0) - (append-prim s4-0 s3-0) - ) - (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 1) - (set-vector! (-> s3-1 local-sphere) 0.0 11468.8 0.0 4096.0) - (append-prim s4-0 s3-1) - ) - (let ((s3-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) - (set! (-> s3-2 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-2 collide-with) (the-as uint 16)) - (set! (-> s3-2 prim-core offense) 2) - (set! (-> s3-2 transform-index) 29) - (set-vector! (-> s3-2 local-sphere) 0.0 4915.2 0.0 4915.2) - (append-prim s4-0 s3-2) - ) - ) - (set! (-> s5-0 nav-radius) 8192.0) - (backup-collide-with-as s5-0) - (set! (-> s5-0 max-iteration-count) (the-as uint 1)) - (set! (-> obj collide-info) s5-0) - ) 0 (none) ) diff --git a/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc b/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc index 113b2388e3..57bde3a402 100644 --- a/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-conveyor_REF.gc @@ -2,63 +2,56 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 197) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xa - :linger-duration #x258 - :flags (sp-group-flag use-local-clock) - :name "group-keg-bounce" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2014 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 197) (new 'static 'sparticle-launch-group + :length 1 + :duration #xa + :linger-duration #x258 + :flags (sp-group-flag use-local-clock) + :name "group-keg-bounce" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 2014 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2014) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-x (meters -3.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 32.0 1.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2014) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-x (meters -3.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 32.0 1.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; definition for function keg-bounce-set-particle-rotation-callback ;; INFO: Return type mismatch int vs none. (defun keg-bounce-set-particle-rotation-callback ((arg0 part-tracker)) (let ((v1-0 (the-as object (-> arg0 userdata)))) - (set! - (-> *part-id-table* 2014 init-specs 18 initial-valuef) - (quaternion-y-angle - (-> (the-as (pointer process-drawable) v1-0) 0 root quat) - ) + (set! (-> *part-id-table* 2014 init-specs 18 initial-valuef) + (quaternion-y-angle (-> (the-as (pointer process-drawable) v1-0) 0 root quat)) + ) ) - ) 0 (none) ) @@ -77,8 +70,8 @@ ;; definition for method 3 of type keg-conveyor (defmethod inspect keg-conveyor ((obj keg-conveyor)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpivot: ~A~%" (-> obj pivot)) (format #t "~T~Tquat: #~%" (-> obj quat)) obj @@ -99,8 +92,8 @@ ;; definition for method 3 of type keg-conveyor-paddle (defmethod inspect keg-conveyor-paddle ((obj keg-conveyor-paddle)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tobject-on-paddle: #x~X~%" (-> obj object-on-paddle)) (format #t "~T~Tsync: #~%" (-> obj sync)) obj @@ -125,16 +118,12 @@ ;; definition for method 3 of type keg (defmethod inspect keg ((obj keg)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsync-offset: ~f~%" (-> obj sync-offset)) (format #t "~T~Tkeg-behavior: ~D~%" (-> obj keg-behavior)) (format #t "~T~Tpath-position: #~%" (-> obj path-position)) - (format - #t - "~T~Tshadow-enable-plane: #~%" - (-> obj shadow-enable-plane) - ) + (format #t "~T~Tshadow-enable-plane: #~%" (-> obj shadow-enable-plane)) (format #t "~T~Tsmush: #~%" (-> obj smush)) (format #t "~T~Tsound-id: ~D~%" (-> obj sound-id)) obj @@ -180,124 +169,95 @@ ;; definition for function keg-event-handler ;; INFO: Return type mismatch none vs object. -(defbehavior - keg-event-handler keg - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior keg-event-handler keg ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (when (or (= v1-0 'touch) (= v1-0 'attack)) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'attack) - (set! (-> a1-3 param 0) (-> arg3 param 0)) - (set! - (-> a1-3 param 1) - (the-as uint (new 'static 'attack-info)) - ) - (when (send-event-function arg0 a1-3) - (sound-play-by-name - (static-sound-name "icrate-break") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let - ((gp-1 - (get-process *default-dead-pool* part-tracker #x4000) - ) - ) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 71) - 20 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) - ) - (sound-stop (-> self sound-id)) - (deactivate self) - ) - ) - ) + (the-as + object + (when (or (= v1-0 'touch) (= v1-0 'attack)) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'attack) + (set! (-> a1-3 param 0) (-> arg3 param 0)) + (set! (-> a1-3 param 1) (the-as uint (new 'static 'attack-info))) + (when (send-event-function arg0 a1-3) + (sound-play-by-name (static-sound-name "icrate-break") (new-sound-id) 1024 0 0 1 #t) + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-1 + (let ((t9-4 (method-of-type part-tracker activate))) + (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + part-tracker-init + (-> *part-group-id-table* 71) + 20 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-1 ppointer) + ) + ) + (sound-stop (-> self sound-id)) + (deactivate self) + ) + ) + ) + ) ) - ) ) ;; definition for function keg-post (defbehavior keg-post keg () (cond - ((= (-> self keg-behavior) 1) - ) - (else - (if - (< - (vector-vector-distance (-> self root-override trans) (ear-trans)) - 163840.0 - ) - (sound-play-by-name - (static-sound-name "barrel-roll") - (-> self sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol (-> self root-override trans)) - ) + ((= (-> self keg-behavior) 1) ) + (else + (if (< (vector-vector-distance (-> self root-override trans) (ear-trans)) 163840.0) + (sound-play-by-name + (static-sound-name "barrel-roll") + (-> self sound-id) + 1024 + 0 + 0 + 1 + (the-as symbol (-> self root-override trans)) + ) + ) + ) ) - ) (transform-post) ) ;; failed to figure out what this is: (defstate keg-on-paddle (keg) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('detach) - (go keg-paddle-to-path) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('detach) + (go keg-paddle-to-path) + ) + ) + ) :code (behavior () - (set! - (-> (the-as keg (-> self parent 0)) sync-offset) - (the-as float (process->ppointer self)) + (set! (-> (the-as keg (-> self parent 0)) sync-offset) (the-as float (process->ppointer self))) + (let ((v1-3 (-> self skel root-channel 0))) + (set! (-> v1-3 num-func) num-func-identity) + (set! (-> v1-3 frame-num) 0.0) + ) + (while #t + (let ((gp-0 (-> (the-as process-drawable (-> self parent 0)) node-list data 4))) + (matrix->quaternion (-> self root-override quat) (-> gp-0 bone transform)) + (vector<-cspace! (-> self root-override trans) gp-0) + ) + (set! (-> self path-position quad) (-> self root-override trans quad)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (suspend) + ) + (none) ) - (let ((v1-3 (-> self skel root-channel 0))) - (set! (-> v1-3 num-func) num-func-identity) - (set! (-> v1-3 frame-num) 0.0) - ) - (while #t - (let - ((gp-0 (-> (the-as process-drawable (-> self parent 0)) node-list data 4))) - (matrix->quaternion (-> self root-override quat) (-> gp-0 bone transform)) - (vector<-cspace! (-> self root-override trans) gp-0) - ) - (set! (-> self path-position quad) (-> self root-override trans quad)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (suspend) - ) - (none) - ) :post (the-as (function none :behavior keg) keg-post) ) @@ -308,71 +268,38 @@ keg-event-handler :code (behavior () - (let ((gp-0 (new-stack-vector0))) - (set! (-> gp-0 quad) (-> self root-override trans quad)) - (let - ((s5-0 - (eval-path-curve-div! - (-> (the-as process-drawable (-> self parent 0)) path) - (new-stack-vector0) + (let ((gp-0 (new-stack-vector0))) + (set! (-> gp-0 quad) (-> self root-override trans quad)) + (let ((s5-0 + (eval-path-curve-div! (-> (the-as process-drawable (-> self parent 0)) path) (new-stack-vector0) 0.0 'interp) + ) + (s4-0 (quaternion-copy! (new-stack-quaternion0) (-> self root-override quat))) + (s3-0 (new-stack-quaternion0)) + (a1-3 (TODO-RENAME-12 (-> (the-as process-drawable (-> self parent 0)) path) (new-stack-vector0) 0.0)) + (f30-0 45.0) + ) 0.0 - 'interp - ) - ) - (s4-0 - (quaternion-copy! (new-stack-quaternion0) (-> self root-override quat)) - ) - (s3-0 (new-stack-quaternion0)) - (a1-3 - (TODO-RENAME-12 - (-> (the-as process-drawable (-> self parent 0)) path) - (new-stack-vector0) 0.0 - ) - ) - (f30-0 45.0) - ) - 0.0 - 0.0 - (forward-up-nopitch->quaternion - s3-0 - a1-3 - (new 'static 'vector :y 1.0 :w 1.0) - ) - (while #t - (if - (>= - (the float (- (-> *display* base-frame-counter) (-> self state-time))) - f30-0 - ) - (go keg-on-path) - ) - (let - ((f28-0 - (/ - (the float (- (-> *display* base-frame-counter) (-> self state-time))) - f30-0 + (forward-up-nopitch->quaternion s3-0 a1-3 (new 'static 'vector :y 1.0 :w 1.0)) + (while #t + (if (>= (the float (- (-> *display* base-frame-counter) (-> self state-time))) f30-0) + (go keg-on-path) + ) + (let ((f28-0 (/ (the float (- (-> *display* base-frame-counter) (-> self state-time))) f30-0))) + (vector-lerp! (-> self root-override trans) gp-0 s5-0 f28-0) + (set! (-> self path-position quad) (-> self root-override trans quad)) + (quaternion-slerp! (-> self root-override quat) s4-0 s3-0 f28-0) + ) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) 1.0) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) ) - ) ) - (vector-lerp! (-> self root-override trans) gp-0 s5-0 f28-0) - (set! (-> self path-position quad) (-> self root-override trans quad)) - (quaternion-slerp! (-> self root-override quat) s4-0 s3-0 f28-0) - ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (suspend) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior keg) keg-post) ) @@ -383,200 +310,126 @@ keg-event-handler :code (behavior () - (local-vars - (sv-48 float) - (sv-64 float) - (sv-80 float) - (sv-96 float) - (sv-112 float) - ) - (let ((gp-0 (new-stack-vector0)) - (s5-0 (new 'stack 'vector3s)) - ) - 0.0 - (let ((f30-0 0.0)) - 0.0 - (let - ((f28-0 - (the - float - (+ - (-> - (the-as keg-conveyor-paddle (-> self parent 0)) - path - curve - num-cverts - ) - -1 + (local-vars (sv-48 float) (sv-64 float) (sv-80 float) (sv-96 float) (sv-112 float)) + (let ((gp-0 (new-stack-vector0)) + (s5-0 (new 'stack 'vector3s)) ) - ) - ) - ) 0.0 - (let - ((f26-1 - (- - 1.0 - (get-current-phase - (-> (the-as keg-conveyor-paddle (-> self parent 0)) sync) - ) + (let ((f30-0 0.0)) + 0.0 + (let ((f28-0 (the float (+ (-> (the-as keg-conveyor-paddle (-> self parent 0)) path curve num-cverts) -1)))) + 0.0 + (let ((f26-1 (- 1.0 (get-current-phase (-> (the-as keg-conveyor-paddle (-> self parent 0)) sync)))) + (f24-0 102379.1) + ) + (/ 1.0 f24-0) + (let ((f22-0 1.0) + (f20-0 2.5) + ) + (set! sv-48 0.0) + (set! sv-64 0.0) + (set! sv-80 (- (-> *standard-dynamics* gravity-length))) + (while #t + (let ((f0-13 (+ (get-current-phase (-> (the-as keg-conveyor-paddle (-> self parent 0)) sync)) f26-1))) + (set! sv-96 (- f0-13 (the float (the int f0-13)))) + ) + (if (< sv-96 f30-0) + (go keg-in-chute) + ) + (set! f30-0 sv-96) + (set! sv-112 (* sv-96 f28-0)) + (eval-path-curve-div! + (-> (the-as keg-conveyor-paddle (-> self parent 0)) path) + (-> self path-position) + sv-112 + 'interp + ) + (TODO-RENAME-12 (-> (the-as keg-conveyor-paddle (-> self parent 0)) path) gp-0 sv-112) + (seek-toward-heading-vec! (-> self root-override) gp-0 131072.0 30) + (set! (-> self root-override trans quad) (-> self path-position quad)) + (when (= (-> self keg-behavior) 1) + (cond + ((>= (vector4-dot (camera-pos) (-> self shadow-enable-plane)) 0.0) + (let ((v1-32 (-> self draw shadow-ctrl))) + (set! (-> v1-32 settings flags) (logand -33 (-> v1-32 settings flags))) + ) + 0 + (let ((v1-35 (-> self draw shadow-ctrl))) + (set! (-> v1-35 settings top-plane w) (- (-> self path-position y))) + ) + 0 + (let ((v1-38 (-> self draw shadow-ctrl))) + (set! (-> v1-38 settings bot-plane w) (- (+ -8192.0 (-> self path-position y)))) + ) + 0 + ) + (else + (let ((v1-41 (-> self draw shadow-ctrl))) + (logior! (-> v1-41 settings flags) 32) + ) + 0 + (let ((v1-44 (-> self draw shadow-ctrl))) + (set! (-> v1-44 settings top-plane w) (- (-> self path-position y))) + ) + 0 + (let ((v1-47 (-> self draw shadow-ctrl))) + (set! (-> v1-47 settings bot-plane w) (- (+ -8192.0 (-> self path-position y)))) + ) + 0 + ) + ) + (let ((f0-32 (- f28-0 sv-112))) + (if (< f0-32 f20-0) + (set! f22-0 (/ f0-32 f20-0)) + ) + ) + (set! sv-64 (+ sv-64 (* sv-80 (-> *display* seconds-per-frame)))) + (set! sv-48 (+ sv-48 (* sv-64 (-> *display* seconds-per-frame)))) + (when (< sv-48 0.0) + (set! sv-48 0.0) + (activate! (-> self smush) -0.15 90 150 1.0 1.0) + (set! sv-64 f24-0) + (sound-play-by-name (static-sound-name "barrel-bounce") (new-sound-id) 819 0 0 1 #t) + (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s4-1 + (let ((t9-12 (method-of-type part-tracker activate))) + (t9-12 (the-as part-tracker s4-1) self 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + s4-1 + part-tracker-init + (-> *part-group-id-table* 197) + -1 + keg-bounce-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + ) + (-> s4-1 ppointer) + ) + ) + ) + (let ((f0-39 (update! (-> self smush)))) + (keg-update-smush self f0-39) + ) + (+! (-> self root-override trans y) (* f22-0 sv-48)) + (set! (-> s5-0 x) 0.0) + (set! (-> s5-0 y) 1.0) + (set! (-> s5-0 z) 0.0) + ) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) 1.0) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) + ) + ) + ) ) - ) - (f24-0 102379.1) ) - (/ 1.0 f24-0) - (let ((f22-0 1.0) - (f20-0 2.5) - ) - (set! sv-48 0.0) - (set! sv-64 0.0) - (set! sv-80 (- (-> *standard-dynamics* gravity-length))) - (while #t - (let - ((f0-13 - (+ - (get-current-phase - (-> (the-as keg-conveyor-paddle (-> self parent 0)) sync) - ) - f26-1 - ) - ) - ) - (set! sv-96 (- f0-13 (the float (the int f0-13)))) - ) - (if (< sv-96 f30-0) - (go keg-in-chute) - ) - (set! f30-0 sv-96) - (set! sv-112 (* sv-96 f28-0)) - (eval-path-curve-div! - (-> (the-as keg-conveyor-paddle (-> self parent 0)) path) - (-> self path-position) - sv-112 - 'interp - ) - (TODO-RENAME-12 - (-> (the-as keg-conveyor-paddle (-> self parent 0)) path) - gp-0 - sv-112 - ) - (seek-toward-heading-vec! (-> self root-override) gp-0 131072.0 30) - (set! (-> self root-override trans quad) (-> self path-position quad)) - (when (= (-> self keg-behavior) 1) - (cond - ((>= (vector4-dot (camera-pos) (-> self shadow-enable-plane)) 0.0) - (let ((v1-32 (-> self draw shadow-ctrl))) - (set! - (-> v1-32 settings flags) - (logand -33 (-> v1-32 settings flags)) - ) - ) - 0 - (let ((v1-35 (-> self draw shadow-ctrl))) - (set! - (-> v1-35 settings top-plane w) - (- (-> self path-position y)) - ) - ) - 0 - (let ((v1-38 (-> self draw shadow-ctrl))) - (set! - (-> v1-38 settings bot-plane w) - (- (+ -8192.0 (-> self path-position y))) - ) - ) - 0 - ) - (else - (let ((v1-41 (-> self draw shadow-ctrl))) - (logior! (-> v1-41 settings flags) 32) - ) - 0 - (let ((v1-44 (-> self draw shadow-ctrl))) - (set! - (-> v1-44 settings top-plane w) - (- (-> self path-position y)) - ) - ) - 0 - (let ((v1-47 (-> self draw shadow-ctrl))) - (set! - (-> v1-47 settings bot-plane w) - (- (+ -8192.0 (-> self path-position y))) - ) - ) - 0 - ) - ) - (let ((f0-32 (- f28-0 sv-112))) - (if (< f0-32 f20-0) - (set! f22-0 (/ f0-32 f20-0)) - ) - ) - (set! sv-64 (+ sv-64 (* sv-80 (-> *display* seconds-per-frame)))) - (set! sv-48 (+ sv-48 (* sv-64 (-> *display* seconds-per-frame)))) - (when (< sv-48 0.0) - (set! sv-48 0.0) - (activate! (-> self smush) -0.15 90 150 1.0 1.0) - (set! sv-64 f24-0) - (sound-play-by-name - (static-sound-name "barrel-bounce") - (new-sound-id) - 819 - 0 - 0 - 1 - #t - ) - (let ((s4-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s4-1 - (let ((t9-12 (method-of-type part-tracker activate))) - (t9-12 - (the-as part-tracker s4-1) - self - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s4-1 - part-tracker-init - (-> *part-group-id-table* 197) - -1 - keg-bounce-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> s4-1 ppointer) - ) - ) - ) - (let ((f0-39 (update! (-> self smush)))) - (keg-update-smush self f0-39) - ) - (+! (-> self root-override trans y) (* f22-0 sv-48)) - (set! (-> s5-0 x) 0.0) - (set! (-> s5-0 y) 1.0) - (set! (-> s5-0 z) 0.0) - ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (suspend) - ) - ) - ) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior keg) keg-post) ) @@ -587,55 +440,43 @@ keg-event-handler :code (behavior () - (let - ((gp-0 - (TODO-RENAME-12 - (-> (the-as process-drawable (-> self parent 0)) path) - (new-stack-vector0) - (the - float - (+ - (-> (the-as process-drawable (-> self parent 0)) path curve num-cverts) - -1 - ) + (let ((gp-0 (TODO-RENAME-12 + (-> (the-as process-drawable (-> self parent 0)) path) + (new-stack-vector0) + (the float (+ (-> (the-as process-drawable (-> self parent 0)) path curve num-cverts) -1)) + ) + ) + (s5-0 (new-stack-vector0)) + (f30-0 61440.0) + (f28-0 0.0) + (f26-0 (- (-> *standard-dynamics* gravity-length))) + ) + (let ((v1-10 (-> self draw shadow-ctrl))) + (logior! (-> v1-10 settings flags) 32) + ) + 0 + (clear-collide-with-as (-> self root-override)) + (vector-normalize! gp-0 1.0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while #t + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (go keg-die) + ) + (let ((v1-23 (-> self root-override trans))) + (vector-float*! s5-0 gp-0 (* f30-0 (-> *display* seconds-per-frame))) + (set! (-> s5-0 y) (* f28-0 (-> *display* seconds-per-frame))) + (+! f28-0 (* f26-0 (-> *display* seconds-per-frame))) + (vector+! v1-23 v1-23 s5-0) + ) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) 1.0) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) ) - ) ) - (s5-0 (new-stack-vector0)) - (f30-0 61440.0) - (f28-0 0.0) - (f26-0 (- (-> *standard-dynamics* gravity-length))) - ) - (let ((v1-10 (-> self draw shadow-ctrl))) - (logior! (-> v1-10 settings flags) 32) - ) - 0 - (clear-collide-with-as (-> self root-override)) - (vector-normalize! gp-0 1.0) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (go keg-die) - ) - (let ((v1-23 (-> self root-override trans))) - (vector-float*! s5-0 gp-0 (* f30-0 (-> *display* seconds-per-frame))) - (set! (-> s5-0 y) (* f28-0 (-> *display* seconds-per-frame))) - (+! f28-0 (* f26-0 (-> *display* seconds-per-frame))) - (vector+! v1-23 v1-23 s5-0) - ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (suspend) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior keg) keg-post) ) @@ -643,16 +484,9 @@ ;; failed to figure out what this is: (defstate keg-die (keg) :event - (the-as - (function process int symbol event-message-block object :behavior keg) - #f - ) + (the-as (function process int symbol event-message-block object :behavior keg) #f) :code - (behavior () - (sound-stop (-> self sound-id)) - (dummy-18 self) - (none) - ) + (behavior () (sound-stop (-> self sound-id)) (dummy-18 self) (none)) :post (the-as (function none :behavior keg) transform-post) ) @@ -662,81 +496,51 @@ ;; Used lq/sq (defbehavior keg-init-by-other keg ((arg0 keg) (arg1 int)) (stack-size-set! (-> self main-thread) 512) - (let - ((s4-0 - (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 16384.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 16384.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> self root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> self root-override) s4-0) - ) (set! (-> self root-override trans quad) (-> arg0 root-override trans quad)) (initialize-skeleton self *keg-sg* '()) - (set! - (-> self draw shadow-ctrl) - (new 'process 'shadow-control 0.0 0.0 614400.0 (the-as float 60) 245760.0) - ) + (set! (-> self draw shadow-ctrl) (new 'process 'shadow-control 0.0 0.0 614400.0 (the-as float 60) 245760.0)) (let ((v1-25 (-> self draw shadow-ctrl))) - (logior! (-> v1-25 settings flags) 32) - ) + (logior! (-> v1-25 settings flags) 32) + ) 0 - (let - ((s5-1 (new 'static 'vector :x -514715.0 :y 226968.0 :z 3906894.8 :w 1.0))) - (let - ((v1-27 (new 'static 'vector :x 115430.4 :y 109848.9 :z 4391595.5 :w 1.0)) - (s3-1 (new 'stack-no-clear 'vector)) - (s4-1 (new 'stack-no-clear 'vector)) - ) - (vector-! s3-1 v1-27 s5-1) - (vector-normalize! s3-1 1.0) - (vector-cross! s4-1 s3-1 *y-vector*) - (vector-normalize! s4-1 1.0) - (vector-cross! (-> self shadow-enable-plane) s4-1 s3-1) + (let ((s5-1 (new 'static 'vector :x -514715.0 :y 226968.0 :z 3906894.8 :w 1.0))) + (let ((v1-27 (new 'static 'vector :x 115430.4 :y 109848.9 :z 4391595.5 :w 1.0)) + (s3-1 (new 'stack-no-clear 'vector)) + (s4-1 (new 'stack-no-clear 'vector)) + ) + (vector-! s3-1 v1-27 s5-1) + (vector-normalize! s3-1 1.0) + (vector-cross! s4-1 s3-1 *y-vector*) + (vector-normalize! s4-1 1.0) + (vector-cross! (-> self shadow-enable-plane) s4-1 s3-1) + ) + (vector-normalize! (-> self shadow-enable-plane) 1.0) + (set! (-> self shadow-enable-plane w) (- (vector-dot (-> self shadow-enable-plane) s5-1))) ) - (vector-normalize! (-> self shadow-enable-plane) 1.0) - (set! - (-> self shadow-enable-plane w) - (- (vector-dot (-> self shadow-enable-plane) s5-1)) - ) - ) (set! (-> self keg-behavior) arg1) (logclear! (-> self mask) (process-mask actor-pause enemy)) (let ((gp-1 (new-stack-vector0))) - (TODO-RENAME-12 - (-> (the-as process-drawable (-> self parent 0)) path) - gp-1 - 0.0 + (TODO-RENAME-12 (-> (the-as process-drawable (-> self parent 0)) path) gp-1 0.0) + (set-heading-vec! (-> self root-override) gp-1) ) - (set-heading-vec! (-> self root-override) gp-1) - ) (set! (-> self sound-id) (new-sound-id)) (go keg-on-paddle) (none) @@ -745,61 +549,49 @@ ;; definition for function keg-conveyor-spawn-keg (defun keg-conveyor-spawn-keg ((arg0 keg-conveyor)) (let ((s5-0 (get-process *default-dead-pool* keg #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type keg activate))) - (t9-1 (the-as keg s5-0) arg0 'keg (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 keg-init-by-other arg0 0) - (-> s5-0 ppointer) + (when s5-0 + (let ((t9-1 (method-of-type keg activate))) + (t9-1 (the-as keg s5-0) arg0 'keg (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 keg-init-by-other arg0 0) + (-> s5-0 ppointer) + ) ) - ) ) ;; definition for function keg-conveyor-spawn-bouncing-keg (defun keg-conveyor-spawn-bouncing-keg ((arg0 keg-conveyor)) (let ((s5-0 (get-process *default-dead-pool* keg #x4000))) - (when s5-0 - (let ((t9-1 (method-of-type keg activate))) - (t9-1 (the-as keg s5-0) arg0 'keg (the-as pointer #x70004000)) - ) - (run-now-in-process s5-0 keg-init-by-other arg0 1) - (-> s5-0 ppointer) + (when s5-0 + (let ((t9-1 (method-of-type keg activate))) + (t9-1 (the-as keg s5-0) arg0 'keg (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 keg-init-by-other arg0 1) + (-> s5-0 ppointer) + ) ) - ) ) ;; definition for symbol *keg-conveyor-keg-spawn-table*, type (array int8) (define *keg-conveyor-keg-spawn-table* - (the-as (array int8) - (new - 'static - 'boxed-array - :type int8 :length 6 :allocated-length 6 - 1 - 2 - 1 - 1 - 2 - 1 - ) - ) + (the-as (array int8) (new 'static 'boxed-array :type int8 :length 6 :allocated-length 6 1 2 1 1 2 1)) ) ;; failed to figure out what this is: (defstate keg-conveyor-idle (keg-conveyor) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! (-> v1-2 frame-num) 0.0) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 num-func) num-func-identity) + (set! (-> v1-2 frame-num) 0.0) + ) + 0.0 + (while #t + (suspend) + ) + (none) ) - 0.0 - (while #t - (suspend) - ) - (none) - ) :post (the-as (function none :behavior keg-conveyor) ja-post) ) @@ -808,112 +600,97 @@ (defstate keg-conveyor-paddle-idle (keg-conveyor-paddle) :code (behavior () - (let ((f30-0 57.0) - (gp-0 0) - (s5-0 (length *keg-conveyor-keg-spawn-table*)) - ) - (while #t - (let ((s4-0 #f)) - (when - (or - (not *target*) - (< - 102400.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) + (let ((f30-0 57.0) + (gp-0 0) + (s5-0 (length *keg-conveyor-keg-spawn-table*)) ) - ) - ) - (let ((v1-10 (-> *keg-conveyor-keg-spawn-table* gp-0))) - (cond - ((zero? v1-10) - (nothing) - ) - ((= v1-10 1) - (keg-conveyor-spawn-keg (the-as keg-conveyor self)) - ) - ((= v1-10 2) - (keg-conveyor-spawn-bouncing-keg (the-as keg-conveyor self)) - ) - (else - (nothing) - ) - ) - ) - ) - (+! gp-0 1) - (if (>= gp-0 s5-0) - (set! gp-0 0) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-6 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (when (and (not s4-0) (>= (ja-aframe-num 0) f30-0)) - (set! s4-0 #t) - (when (-> self object-on-paddle) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 0) - (set! (-> a1-2 message) 'detach) - (let ((t9-8 send-event-function) - (v1-42 (-> self object-on-paddle)) - ) - (t9-8 (the-as process-tree (if v1-42 - (-> v1-42 0 max-value) - ) + (while #t + (let ((s4-0 #f)) + (when (or + (not *target*) + (< 102400.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) ) - a1-2 + (let ((v1-10 (-> *keg-conveyor-keg-spawn-table* gp-0))) + (cond + ((zero? v1-10) + (nothing) + ) + ((= v1-10 1) + (keg-conveyor-spawn-keg (the-as keg-conveyor self)) + ) + ((= v1-10 2) + (keg-conveyor-spawn-bouncing-keg (the-as keg-conveyor self)) + ) + (else + (nothing) + ) + ) + ) + ) + (+! gp-0 1) + (if (>= gp-0 s5-0) + (set! gp-0 0) + ) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-6 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! + a0-6 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (when (and (not s4-0) (>= (ja-aframe-num 0) f30-0)) + (set! s4-0 #t) + (when (-> self object-on-paddle) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'detach) + (let ((t9-8 send-event-function) + (v1-42 (-> self object-on-paddle)) + ) + (t9-8 + (the-as process-tree (if v1-42 + (-> v1-42 0 max-value) + ) + ) + a1-2 + ) + ) + ) + ) + ) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - ) ) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior keg-conveyor-paddle) transform-post) ) @@ -921,56 +698,30 @@ ;; definition for function keg-conveyor-paddle-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - keg-conveyor-paddle-init-by-other keg-conveyor-paddle - ((arg0 keg-conveyor-paddle)) - (let - ((s5-0 - (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) +(defbehavior keg-conveyor-paddle-init-by-other keg-conveyor-paddle ((arg0 keg-conveyor-paddle)) + (let ((s5-0 (new 'process 'collide-shape-moving self (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 16384.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 3) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 16384.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> self root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> self root-override) s5-0) - ) (set! (-> self path) (new 'process 'curve-control self 'path -1000000000.0)) - (logior! - (-> self path flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (logior! (-> self path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> self root-override trans quad) (-> arg0 root-override trans quad)) - (set! - (-> self root-override quat vec quad) - (-> arg0 root-override quat vec quad) - ) + (set! (-> self root-override quat vec quad) (-> arg0 root-override quat vec quad)) (set! (-> self root-override scale quad) (-> arg0 root-override scale quad)) (initialize-skeleton self *keg-conveyor-paddle-sg* '()) (setup-params! (-> self sync) (the-as uint 4800) 0.0 0.15 0.15) @@ -984,77 +735,50 @@ ;; INFO: Return type mismatch process-drawable vs keg-conveyor. (defmethod relocate keg-conveyor ((obj keg-conveyor) (arg0 int)) (if (nonzero? (-> obj pivot)) - (&+! (-> obj pivot) arg0) - ) + (&+! (-> obj pivot) arg0) + ) (the-as - keg-conveyor - ((the-as - (function process-drawable int process-drawable) - (find-parent-method keg-conveyor 7) - ) - obj - arg0 + keg-conveyor + ((the-as (function process-drawable int process-drawable) (find-parent-method keg-conveyor 7)) obj arg0) ) - ) ) ;; definition for method 11 of type keg-conveyor ;; INFO: Return type mismatch object vs none. ;; WARN: Expression building failed: Function (method 11 keg-conveyor) has a return type of none, but the expression builder found a return statement. ;; Used lq/sq -(defmethod - init-from-entity! - keg-conveyor - ((obj keg-conveyor) (arg0 entity-actor)) +(defmethod init-from-entity! keg-conveyor ((obj keg-conveyor) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask enemy death) (-> obj mask))) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *keg-conveyor-sg* '()) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (when (logtest? (-> obj path flags) (path-control-flag not-found)) - (go process-drawable-art-error "path") - (return #f) - ) + (go process-drawable-art-error "path") + (return #f) + ) (logclear! (-> obj mask) (process-mask actor-pause)) - (set! - (-> obj pivot) - (new - 'process - 'joint-mod-spinner - obj - 4 - (new 'static 'vector :x 1.0 :w 1.0) - 65536.0 - ) - ) + (set! (-> obj pivot) (new 'process 'joint-mod-spinner obj 4 (new 'static 'vector :x 1.0 :w 1.0) 65536.0)) (let ((s5-1 (new-stack-vector0))) - (let ((s4-0 (new-stack-matrix0))) - (TODO-RENAME-12 (-> obj path) s5-1 0.0) - (set-heading-vec! (-> obj root) s5-1) - (quaternion->matrix s4-0 (-> obj root quat)) - (set-vector! s5-1 -4096.0 -3072.0 -1433.6 1.0) - (vector-rotate*! s5-1 s5-1 s4-0) - ) - (vector+! (-> obj root trans) (-> obj root trans) s5-1) - ) - (let ((s5-2 (get-process *default-dead-pool* keg-conveyor-paddle #x4000))) - (when s5-2 - (let ((t9-11 (method-of-type keg-conveyor-paddle activate))) - (t9-11 - (the-as keg-conveyor-paddle s5-2) - obj - 'keg-conveyor-paddle - (the-as pointer #x70004000) + (let ((s4-0 (new-stack-matrix0))) + (TODO-RENAME-12 (-> obj path) s5-1 0.0) + (set-heading-vec! (-> obj root) s5-1) + (quaternion->matrix s4-0 (-> obj root quat)) + (set-vector! s5-1 -4096.0 -3072.0 -1433.6 1.0) + (vector-rotate*! s5-1 s5-1 s4-0) + ) + (vector+! (-> obj root trans) (-> obj root trans) s5-1) + ) + (let ((s5-2 (get-process *default-dead-pool* keg-conveyor-paddle #x4000))) + (when s5-2 + (let ((t9-11 (method-of-type keg-conveyor-paddle activate))) + (t9-11 (the-as keg-conveyor-paddle s5-2) obj 'keg-conveyor-paddle (the-as pointer #x70004000)) + ) + (run-now-in-process s5-2 keg-conveyor-paddle-init-by-other obj) + (-> s5-2 ppointer) ) - ) - (run-now-in-process s5-2 keg-conveyor-paddle-init-by-other obj) - (-> s5-2 ppointer) ) - ) (go keg-conveyor-idle) (none) ) diff --git a/test/decompiler/reference/levels/misty/misty-part_REF.gc b/test/decompiler/reference/levels/misty/misty-part_REF.gc index 1a341bed37..602b9c91c3 100644 --- a/test/decompiler/reference/levels/misty/misty-part_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-part_REF.gc @@ -13,1490 +13,1372 @@ ;; definition for method 3 of type misty-part (defmethod inspect misty-part ((obj misty-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 972) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-flt spt-scale-x (meters 1.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 64.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0048828125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y 0.68266666) - (sp-flt spt-friction 0.996) - (sp-int-plain-rnd spt-timer 300 299 1) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-conerot-x (degrees 120.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.25)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 973) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 3.0 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-flt spt-scale-x (meters 1.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0048828125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y 0.4096) - (sp-flt spt-friction 0.993) - (sp-int-plain-rnd spt-timer 300 299 1) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-conerot-x (degrees 120.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.25)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 205) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-ship-steam" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 972 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1500 :length 300) - (sp-item 972 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2928 :length 360) - (sp-item 972 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 4602 :length 180) - (sp-item 973 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 180 :length 45) - ) - :bounds - (new 'static 'sphere :y 2048.0 :w 18432.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 206) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-misty-torch" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 974 :fade-after (meters 180.0) :falloff-to (meters 200.0)) - (sp-item 975 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 976 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 600 :length 90) - (sp-item 977 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 369 :length 69) - (sp-item 978 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 710 :length 51) - (sp-item 979 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 979) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.3) - (sp-flt spt-x (meters 0.2)) - (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3276.8) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 980) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 980) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -6.826667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 974) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1069547520 1 1.0) - (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) - (sp-rnd-flt spt-z -1433.6 2867.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 981) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 981) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.3333334) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 976) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 981) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 977) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z 0.0 1638.4 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 981) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 978) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) - (sp-flt spt-y (meters 0.6)) - (sp-rnd-flt spt-z -2457.6 2457.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 981) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 975) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.3)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0005)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-b -0.053333335) - (sp-flt spt-fade-a -0.08) - (sp-flt spt-accel-x 0.27306667) - (sp-flt spt-accel-y 0.13653333) - (sp-flt spt-friction 0.9975) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 207) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-fog" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 982 :flags (is-3d)) - ) - :bounds - (new 'static 'sphere :x 262144.0 :y 28672.0 :w 393216.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 982) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x2)) - (sp-flt spt-num 0.06125) - (sp-rnd-flt spt-x (meters 0.0) (meters 128.0) 1.0) - (sp-rnd-flt spt-y (meters 5.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -81920.0 327680.0 1.0) - (sp-flt spt-scale-x (meters 36.0)) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 127.0) - (sp-flt spt-g 127.0) - (sp-rnd-flt spt-b 95.0 32.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-y (degrees -0.033333335) (degrees 0.06666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 3000) - (sp-cpuinfo-flags bit2 bit14 left-multiply-quat) - (sp-int-plain-rnd spt-next-time 300 299 1) - (sp-launcher-by-id spt-next-launcher 983) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 16.0) (meters 32.0) 1.0) - (sp-flt spt-rotate-y (degrees 25.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 983) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int-plain-rnd spt-next-time 1200 299 1) - (sp-launcher-by-id spt-next-launcher 984) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 984) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 208) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-316" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 985 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 985) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.8 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 70.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 209) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-313" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 986 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 986) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.8 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 210) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-308" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 987 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 987) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.45 0.8 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 80.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 211) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-307" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 988 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 988) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.45 0.8 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 212) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-305" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 989 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 989) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.45 0.8 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees -20.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 213) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-309" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 990 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 990) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.45 0.8 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 214) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-2" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 991 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 991) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.45 0.8 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 50.000004)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 215) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-328" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 992 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 992) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.45 0.8 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 150.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 216) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-325" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 993 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 993) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.45 0.8 1.0) - (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) - (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.005) (meters 0.005) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees -50.000004)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 217) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-320" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 994 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 994) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.45 0.8 1.0) - (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) - (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.005) (meters 0.005) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 50.000004)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 218) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-vent-324" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 995 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 995) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.45 0.8 1.0) - (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) - (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 64.0 16.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.005) (meters 0.005) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b -0.10666667) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 220.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 219) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-fort-steam" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1500 :length 300) - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2928 :length 360) - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 4602 :length 180) - (sp-item 997 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 180 :length 45) - ) - :bounds - (new 'static 'sphere :y 2048.0 :w 18432.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 220) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-fort-steam2" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1230 :length 300) - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2550 :length 360) - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 6102 :length 180) - (sp-item 997 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 210 :length 45) - ) - :bounds - (new 'static 'sphere :y 2048.0 :w 18432.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 221) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-fort-steam3" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1800 :length 300) - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2559 :length 360) - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 5202 :length 180) - (sp-item 997 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 240 :length 45) - ) - :bounds - (new 'static 'sphere :y 2048.0 :w 18432.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 222) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-fort-steam4" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1560 :length 300) - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2601 :length 360) - (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 4848 :length 180) - (sp-item 997 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 270 :length 45) - ) - :bounds - (new 'static 'sphere :y 2048.0 :w 18432.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 996) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 0.6 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 1.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 64.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0048828125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y 0.68266666) - (sp-flt spt-friction 0.996) - (sp-int-plain-rnd spt-timer 300 299 1) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-conerot-x (degrees 120.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.25)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 997) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 2.0 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 1.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0048828125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y 0.4096) - (sp-flt spt-friction 0.993) - (sp-int-plain-rnd spt-timer 300 299 1) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-conerot-x (degrees 120.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.25)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 223) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-spout-314" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 998 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) - (sp-item 998 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) - (sp-item 998 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) - (sp-item 999 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 999) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-flt spt-vel-y (meters -0.02)) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.85333335) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 998) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 0.6 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 0.05 - :group #x1 - :sound-name (static-sound-name "steam-release") - :volume #x400 +(set! (-> *part-id-table* 972) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-flt spt-scale-x (meters 1.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0048828125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y 0.68266666) + (sp-flt spt-friction 0.996) + (sp-int-plain-rnd spt-timer 300 299 1) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-conerot-x (degrees 120.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.25)) + (sp-end) + ) + ) ) - ) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters -0.053333335)) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-rnd-flt spt-accel-y 1.3653333 0.13653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 224) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-spout-310" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 1000 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) - (sp-item 1000 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) - (sp-item 1000 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) - (sp-item 1001 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1001) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.02) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.02)) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.85333335) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1000) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 0.6 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 0.05 - :group #x1 - :sound-name (static-sound-name "steam-release") - :volume #x400 +(set! (-> *part-id-table* 973) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 3.0 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-flt spt-scale-x (meters 1.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0048828125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y 0.4096) + (sp-flt spt-friction 0.993) + (sp-int-plain-rnd spt-timer 300 299 1) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-conerot-x (degrees 120.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.25)) + (sp-end) + ) + ) ) - ) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.053333335) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.053333335)) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-rnd-flt spt-accel-y 4.096 0.13653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 225) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-spout-311" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 1002 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) - (sp-item 1002 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) - (sp-item 1002 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) - (sp-item 1003 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1003) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.02)) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.85333335) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1002) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 0.6 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 0.05 - :group #x1 - :sound-name (static-sound-name "steam-release") - :volume #x400 +(set! (-> *part-group-id-table* 205) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-ship-steam" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 972 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1500 :length 300) + (sp-item 972 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2928 :length 360) + (sp-item 972 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 4602 :length 180) + (sp-item 973 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 180 :length 45) + ) + :bounds + (new 'static 'sphere :y 2048.0 :w 18432.0) + ) ) - ) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters -0.053333335)) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-rnd-flt spt-accel-y 4.096 0.13653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 226) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-misty-lurkermachine-spout-312" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 1004 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) - (sp-item 1004 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) - (sp-item 1004 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) - (sp-item 1005 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1005) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-flt spt-vel-y (meters -0.02)) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.85333335) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1004) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 0.6 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 0.05 - :group #x1 - :sound-name (static-sound-name "steam-release") - :volume #x400 +(set! (-> *part-group-id-table* 206) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-misty-torch" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 974 :fade-after (meters 180.0) :falloff-to (meters 200.0)) + (sp-item 975 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 976 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 600 :length 90) + (sp-item 977 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 369 :length 69) + (sp-item 978 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 710 :length 51) + (sp-item 979 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 979) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.3) + (sp-flt spt-x (meters 0.2)) + (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3276.8) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 980) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 980) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -6.826667) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 974) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1069547520 1 1.0) + (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) + (sp-rnd-flt spt-z -1433.6 2867.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 981) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 981) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.3333334) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 976) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 981) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 977) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z 0.0 1638.4 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 981) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 978) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) + (sp-flt spt-y (meters 0.6)) + (sp-rnd-flt spt-z -2457.6 2457.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 981) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 975) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.3)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0005)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-b -0.053333335) + (sp-flt spt-fade-a -0.08) + (sp-flt spt-accel-x 0.27306667) + (sp-flt spt-accel-y 0.13653333) + (sp-flt spt-friction 0.9975) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 207) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-fog" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 982 :flags (is-3d))) + :bounds + (new 'static 'sphere :x 262144.0 :y 28672.0 :w 393216.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 982) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x2)) + (sp-flt spt-num 0.06125) + (sp-rnd-flt spt-x (meters 0.0) (meters 128.0) 1.0) + (sp-rnd-flt spt-y (meters 5.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -81920.0 327680.0 1.0) + (sp-flt spt-scale-x (meters 36.0)) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 127.0) + (sp-flt spt-g 127.0) + (sp-rnd-flt spt-b 95.0 32.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-y (degrees -0.033333335) (degrees 0.06666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 3000) + (sp-cpuinfo-flags bit2 bit14 left-multiply-quat) + (sp-int-plain-rnd spt-next-time 300 299 1) + (sp-launcher-by-id spt-next-launcher 983) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 16.0) (meters 32.0) 1.0) + (sp-flt spt-rotate-y (degrees 25.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 983) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int-plain-rnd spt-next-time 1200 299 1) + (sp-launcher-by-id spt-next-launcher 984) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 984) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.21333334) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 208) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-316" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 985 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 985) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.8 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 70.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 209) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-313" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 986 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 986) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.8 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 210) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-308" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 987 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 987) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.45 0.8 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 80.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 211) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-307" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 988 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 988) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.45 0.8 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 212) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-305" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 989 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 989) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.45 0.8 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees -20.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 213) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-309" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 990 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 990) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.45 0.8 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 214) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-2" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 991 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 991) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.45 0.8 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 50.000004)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 215) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-328" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 992 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 992) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.45 0.8 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 150.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 216) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-325" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 993 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 993) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.45 0.8 1.0) + (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) + (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.005) (meters 0.005) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees -50.000004)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 217) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-320" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 994 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 994) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.45 0.8 1.0) + (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) + (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.005) (meters 0.005) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 50.000004)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 218) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-vent-324" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 995 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 995) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.45 0.8 1.0) + (sp-rnd-flt spt-x (meters -0.8) (meters 1.6) 1.0) + (sp-rnd-flt spt-y (meters -0.3) (meters 0.6) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 64.0 16.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.005) (meters 0.005) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b -0.10666667) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 220.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 219) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-fort-steam" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1500 :length 300) + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2928 :length 360) + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 4602 :length 180) + (sp-item 997 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 180 :length 45) + ) + :bounds + (new 'static 'sphere :y 2048.0 :w 18432.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 220) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-fort-steam2" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1230 :length 300) + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2550 :length 360) + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 6102 :length 180) + (sp-item 997 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 210 :length 45) + ) + :bounds + (new 'static 'sphere :y 2048.0 :w 18432.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 221) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-fort-steam3" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1800 :length 300) + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2559 :length 360) + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 5202 :length 180) + (sp-item 997 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 240 :length 45) + ) + :bounds + (new 'static 'sphere :y 2048.0 :w 18432.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 222) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-fort-steam4" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1560 :length 300) + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2601 :length 360) + (sp-item 996 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 4848 :length 180) + (sp-item 997 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 270 :length 45) + ) + :bounds + (new 'static 'sphere :y 2048.0 :w 18432.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 996) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 0.6 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 1.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0048828125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y 0.68266666) + (sp-flt spt-friction 0.996) + (sp-int-plain-rnd spt-timer 300 299 1) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-conerot-x (degrees 120.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.25)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 997) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 2.0 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 1.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0048828125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y 0.4096) + (sp-flt spt-friction 0.993) + (sp-int-plain-rnd spt-timer 300 299 1) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-conerot-x (degrees 120.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.25)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 223) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-spout-314" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 998 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) + (sp-item 998 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) + (sp-item 998 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) + (sp-item 999 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 999) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-flt spt-vel-y (meters -0.02)) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.85333335) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 998) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 0.6 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec + :mask #x1 + :num 0.05 + :group #x1 + :sound-name (static-sound-name "steam-release") + :volume #x400 + ) + ) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters -0.053333335)) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-rnd-flt spt-accel-y 1.3653333 0.13653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 224) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-spout-310" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 1000 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) + (sp-item 1000 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) + (sp-item 1000 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) + (sp-item 1001 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1001) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.02) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.02)) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.85333335) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1000) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 0.6 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec + :mask #x1 + :num 0.05 + :group #x1 + :sound-name (static-sound-name "steam-release") + :volume #x400 + ) + ) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.053333335) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.053333335)) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-rnd-flt spt-accel-y 4.096 0.13653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 225) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-spout-311" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 1002 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) + (sp-item 1002 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) + (sp-item 1002 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) + (sp-item 1003 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1003) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.02)) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.85333335) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1002) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 0.6 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec + :mask #x1 + :num 0.05 + :group #x1 + :sound-name (static-sound-name "steam-release") + :volume #x400 + ) + ) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters -0.053333335)) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-rnd-flt spt-accel-y 4.096 0.13653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 226) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-misty-lurkermachine-spout-312" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 1004 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 1260 :length 75) + (sp-item 1004 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 770 :length 96) + (sp-item 1004 :fade-after (meters 140.0) :falloff-to (meters 160.0) :period 936 :length 60) + (sp-item 1005 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1005) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-flt spt-vel-y (meters -0.02)) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.85333335) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1004) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 0.6 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec + :mask #x1 + :num 0.05 + :group #x1 + :sound-name (static-sound-name "steam-release") + :volume #x400 + ) + ) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters -0.053333335)) + (sp-rnd-flt spt-vel-z (meters -0.04) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-rnd-flt spt-accel-y 4.096 0.13653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-rotate-y (degrees 35.0)) + (sp-end) + ) + ) ) - ) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters -0.053333335)) - (sp-rnd-flt spt-vel-z (meters -0.04) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-rnd-flt spt-accel-y 4.096 0.13653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-rotate-y (degrees 35.0)) - (sp-end) - ) - ) - ) diff --git a/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc b/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc index d73caeb1be..54b9254e21 100644 --- a/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-teetertotter_REF.gc @@ -16,8 +16,8 @@ ;; definition for method 3 of type teetertotter (defmethod inspect teetertotter ((obj teetertotter)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tlaunched-player: ~A~%" (-> obj launched-player)) (format #t "~T~Tin-launch-window: ~A~%" (-> obj in-launch-window)) (format #t "~T~Trock-is-dangerous: ~A~%" (-> obj rock-is-dangerous)) @@ -36,75 +36,58 @@ ;; definition for function target-on-end-of-teetertotter? ;; Used lq/sq (defun target-on-end-of-teetertotter? ((arg0 teetertotter)) - (let - ((gp-1 - (vector-! - (new-stack-vector0) - (-> *target* control trans) - (-> arg0 root trans) - ) - ) + (let ((gp-1 (vector-! (new-stack-vector0) (-> *target* control trans) (-> arg0 root trans)))) + (if (< (vector-dot (vector-x-quaternion! (new-stack-vector0) (-> arg0 root quat)) gp-1) -8192.0) + #t + ) ) - (if - (< - (vector-dot - (vector-x-quaternion! (new-stack-vector0) (-> arg0 root quat)) - gp-1 - ) - -8192.0 - ) - #t - ) - ) ) ;; failed to figure out what this is: (defstate teetertotter-idle (teetertotter) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack) - (case (-> arg3 param 1) - (('flop) - (when (target-on-end-of-teetertotter? self) - (set! (-> self in-launch-window) #f) - (increment-success-for-hint - (game-text-id misty-teetertotter-bonk-dax-tutorial) - ) - (go teetertotter-launch) + (case arg2 + (('attack) + (case (-> arg3 param 1) + (('flop) + (when (target-on-end-of-teetertotter? self) + (set! (-> self in-launch-window) #f) + (increment-success-for-hint (game-text-id misty-teetertotter-bonk-dax-tutorial)) + (go teetertotter-launch) + ) ) ) ) - ) - (('bonk) - (when (target-on-end-of-teetertotter? self) - (level-hint-spawn - (game-text-id misty-teetertotter-bonk-dax-tutorial) - "sksp0070" - (the-as entity #f) - *entity-pool* - (game-task none) + (('bonk) + (when (target-on-end-of-teetertotter? self) + (level-hint-spawn + (game-text-id misty-teetertotter-bonk-dax-tutorial) + "sksp0070" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (go teetertotter-bend) + ) ) - (go teetertotter-bend) ) - ) ) - ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 4)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) + ) + (while #t + (suspend) + ) + (none) ) - (while #t - (suspend) - ) - (none) - ) :post (the-as (function none :behavior teetertotter) transform-post) ) @@ -113,117 +96,89 @@ (defstate teetertotter-launch (teetertotter) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (the-as object (when (= arg2 'touch) - (when - (and - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as collide-shape-moving (-> self root)) - (the-as uint 1) - ) - (-> self rock-is-dangerous) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'attack) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (let ((a0-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-2 mode) 'deadly) - (set! (-> a1-2 param 1) (the-as uint a0-2)) - ) - (send-event-function arg0 a1-2) - ) - ) - (when - (and - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as collide-shape-moving (-> self root)) - (the-as uint 2) - ) - (target-on-end-of-teetertotter? self) - (not (-> self launched-player)) - (-> self in-launch-window) - ) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 2) - (set! (-> a1-4 message) 'shove) - (set! (-> a1-4 param 0) (the-as uint #f)) - (let ((v1-16 (new 'static 'attack-info :mask #xcc0))) - (set! (-> v1-16 shove-back) 0.0) - (set! (-> v1-16 shove-up) 53248.0) - (set! (-> v1-16 angle) 'jump) - (set! (-> v1-16 control) 1.0) - (set! (-> a1-4 param 1) (the-as uint v1-16)) - ) - (when (send-event-function arg0 a1-4) - (let ((v0-0 #t)) - (set! (-> self launched-player) v0-0) - v0-0 + (the-as object (when (= arg2 'touch) + (when (and + ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as collide-shape-moving (-> self root)) + (the-as uint 1) + ) + (-> self rock-is-dangerous) + ) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 2) + (set! (-> a1-2 message) 'attack) + (set! (-> a1-2 param 0) (-> arg3 param 0)) + (let ((a0-2 (new 'static 'attack-info :mask #x20))) + (set! (-> a0-2 mode) 'deadly) + (set! (-> a1-2 param 1) (the-as uint a0-2)) + ) + (send-event-function arg0 a1-2) + ) + ) + (when (and + ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as collide-shape-moving (-> self root)) + (the-as uint 2) + ) + (target-on-end-of-teetertotter? self) + (not (-> self launched-player)) + (-> self in-launch-window) + ) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) self) + (set! (-> a1-4 num-params) 2) + (set! (-> a1-4 message) 'shove) + (set! (-> a1-4 param 0) (the-as uint #f)) + (let ((v1-16 (new 'static 'attack-info :mask #xcc0))) + (set! (-> v1-16 shove-back) 0.0) + (set! (-> v1-16 shove-up) 53248.0) + (set! (-> v1-16 angle) 'jump) + (set! (-> v1-16 control) 1.0) + (set! (-> a1-4 param 1) (the-as uint v1-16)) + ) + (when (send-event-function arg0 a1-4) + (let ((v0-0 #t)) + (set! (-> self launched-player) v0-0) + v0-0 + ) + ) + ) ) - ) ) - ) - ) + ) ) - ) :code (behavior () - (set! (-> self launched-player) #f) - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (set! (-> self launched-player) #f) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (let ((f0-4 (ja-aframe-num 0))) + (set! (-> self in-launch-window) (and (>= f0-4 76.0) (>= 82.0 f0-4))) + (let ((v1-16 (>= f0-4 12.0))) + (set! (-> self rock-is-dangerous) (and v1-16 (>= 76.0 f0-4))) + ) + ) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) + (go teetertotter-idle) + (none) ) - (until (ja-done? 0) - (let ((f0-4 (ja-aframe-num 0))) - (set! (-> self in-launch-window) (and (>= f0-4 76.0) (>= 82.0 f0-4))) - (let ((v1-16 (>= f0-4 12.0))) - (set! (-> self rock-is-dangerous) (and v1-16 (>= 76.0 f0-4))) - ) - ) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go teetertotter-idle) - (none) - ) :post (the-as (function none :behavior teetertotter) rider-post) ) @@ -232,173 +187,96 @@ (defstate teetertotter-bend (teetertotter) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) + (go teetertotter-idle) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go teetertotter-idle) - (none) - ) :post (the-as (function none :behavior teetertotter) rider-post) ) ;; definition for method 11 of type teetertotter ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - teetertotter - ((obj teetertotter) (arg0 entity-actor)) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) +(defmethod init-from-entity! teetertotter ((obj teetertotter) (arg0 entity-actor)) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 5) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s3-0 local-sphere) 0.0 12288.0 0.0 36864.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 5) + (set-vector! (-> s2-0 local-sphere) -4096.0 2048.0 0.0 5120.0) + (append-prim s3-0 s2-0) + ) + (let ((s2-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 2)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 3)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 7) + (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 32768.0) + (append-prim s3-0 s2-1) + ) + (let ((s2-2 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core action) (the-as uint 1)) + (set! (-> s2-2 prim-core offense) 4) + (set! (-> s2-2 transform-index) 4) + (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 32768.0) + (append-prim s3-0 s2-2) + ) + (let ((s2-3 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 2) (the-as uint 0)))) + (set! (-> s2-3 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-3 collide-with) (the-as uint 16)) + (set! (-> s2-3 prim-core action) (the-as uint 1)) + (set! (-> s2-3 prim-core offense) 4) + (set! (-> s2-3 transform-index) 3) + (set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 32768.0) + (append-prim s3-0 s2-3) + ) + (let ((s2-4 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 3) (the-as uint 2)))) + (set! (-> s2-4 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-4 collide-with) (the-as uint 16)) + (set! (-> s2-4 prim-core action) (the-as uint 3)) + (set! (-> s2-4 prim-core offense) 4) + (set! (-> s2-4 transform-index) 3) + (set-vector! (-> s2-4 local-sphere) 0.0 0.0 0.0 32768.0) + (append-prim s3-0 s2-4) + ) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 5) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s3-0 local-sphere) 0.0 12288.0 0.0 36864.0) - (set-root-prim! s4-0 s3-0) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 5) - (set-vector! (-> s2-0 local-sphere) -4096.0 2048.0 0.0 5120.0) - (append-prim s3-0 s2-0) - ) - (let - ((s2-1 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 2) - ) - ) - ) - (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 3)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 7) - (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 32768.0) - (append-prim s3-0 s2-1) - ) - (let - ((s2-2 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core action) (the-as uint 1)) - (set! (-> s2-2 prim-core offense) 4) - (set! (-> s2-2 transform-index) 4) - (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 32768.0) - (append-prim s3-0 s2-2) - ) - (let - ((s2-3 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 2) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-3 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-3 collide-with) (the-as uint 16)) - (set! (-> s2-3 prim-core action) (the-as uint 1)) - (set! (-> s2-3 prim-core offense) 4) - (set! (-> s2-3 transform-index) 3) - (set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 32768.0) - (append-prim s3-0 s2-3) - ) - (let - ((s2-4 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 3) - (the-as uint 2) - ) - ) - ) - (set! (-> s2-4 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-4 collide-with) (the-as uint 16)) - (set! (-> s2-4 prim-core action) (the-as uint 3)) - (set! (-> s2-4 prim-core offense) 4) - (set! (-> s2-4 transform-index) 3) - (set-vector! (-> s2-4 local-sphere) 0.0 0.0 0.0 32768.0) - (append-prim s3-0 s2-4) - ) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *teetertotter-sg* '()) (set! (-> obj launched-player) #f) diff --git a/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc b/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc index 6129735b36..360a299bb2 100644 --- a/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc +++ b/test/decompiler/reference/levels/misty/misty-warehouse_REF.gc @@ -15,8 +15,8 @@ ;; definition for method 3 of type silostep (defmethod inspect silostep ((obj silostep)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tanim-limit: ~f~%" (-> obj anim-limit)) (format #t "~T~Tcam-tracker: ~D~%" (-> obj cam-tracker)) obj @@ -34,32 +34,31 @@ ;; failed to figure out what this is: (defstate silostep-idle (silostep) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (go silostep-camera) - ) - (('trigger-rise) - (go silostep-rise #f) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('trigger) + (go silostep-camera) + ) + (('trigger-rise) + (go silostep-rise #f) + ) + ) + ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) + ) + (transform-post) + (while #t + (suspend) + ) + (none) ) - (transform-post) - (while #t - (suspend) - ) - (none) - ) :post (the-as (function none :behavior silostep) ja-post) ) @@ -69,82 +68,61 @@ (defbehavior misty-camera-view silostep () (let* ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000)) (v1-1 (when gp-0 - (let ((t9-1 (method-of-type camera-tracker activate))) - (t9-1 - (the-as camera-tracker gp-0) - self - 'camera-tracker - (the-as pointer #x70004000) - ) + (let ((t9-1 (method-of-type camera-tracker activate))) + (t9-1 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + camera-tracker-init + (lambda :behavior camera-tracker + () + (while (not (process-grab? *target*)) + (suspend) + ) + (camera-change-to "camera-160" 150 #f) + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) 900) + (suspend) + ) + ) + (while (not (process-release? (handle->process (-> self grab-target)))) + (suspend) + ) + (camera-change-to (the-as string 'base) 150 #f) + (none) + ) + ) + (-> gp-0 ppointer) ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior camera-tracker - () - (while (not (process-grab? *target*)) - (suspend) - ) - (camera-change-to "camera-160" 150 #f) - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) 900) - (suspend) - ) - ) - (while - (not - (process-release? (handle->process (-> self grab-target))) - ) - (suspend) - ) - (camera-change-to (the-as string 'base) 150 #f) - (none) - ) - ) - (-> gp-0 ppointer) - ) - ) - (v0-3 - (logior - (new 'static 'handle :pid (-> v1-1 0 pid)) - (new 'static 'handle :process v1-1) - ) - ) + ) + (v0-3 (logior (new 'static 'handle :pid (-> v1-1 0 pid)) (new 'static 'handle :process v1-1))) ) - (set! (-> self cam-tracker) (the-as uint v0-3)) - (the-as handle v0-3) - ) + (set! (-> self cam-tracker) (the-as uint v0-3)) + (the-as handle v0-3) + ) ) ;; failed to figure out what this is: (defstate silostep-camera (silostep) :code (behavior () - (misty-camera-view) - (let* ((gp-0 (get-task-control (game-task misty-warehouse))) - (v1-1 (get-reminder gp-0 0)) - ) - (save-reminder gp-0 (logior v1-1 2) 0) + (misty-camera-view) + (let* ((gp-0 (get-task-control (game-task misty-warehouse))) + (v1-1 (get-reminder gp-0 0)) + ) + (save-reminder gp-0 (logior v1-1 2) 0) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((gp-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-1) 300) + (suspend) + ) + ) + (sound-play-by-name (static-sound-name "arena-steps") (new-sound-id) 1024 0 0 1 #t) + (send-to-all-after (-> self link) 'trigger-rise) + (go silostep-rise #f) + (none) ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-1 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-1) 300) - (suspend) - ) - ) - (sound-play-by-name - (static-sound-name "arena-steps") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (send-to-all-after (-> self link) 'trigger-rise) - (go silostep-rise #f) - (none) - ) :post (the-as (function none :behavior silostep) ja-post) ) @@ -153,52 +131,41 @@ (defstate silostep-rise (silostep) :code (behavior ((arg0 symbol)) - (process-entity-status! self (entity-perm-status complete) #t) - (when (not arg0) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) + (process-entity-status! self (entity-perm-status complete) #t) + (when (not arg0) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-2 param 0) (-> self anim-limit)) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (rider-trans) + (rider-post) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (-> self anim-limit)) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> a0-2 param 0) (-> self anim-limit)) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (rider-trans) - (rider-post) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) (-> self anim-limit)) - (set! (-> a0-3 param 1) 1.0) + (let ((gp-1 (-> self skel root-channel 0))) (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) + gp-1 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> gp-1 frame-num) (-> self anim-limit)) ) - ) + (rider-post) + (while #t + (ja-post) + (suspend) + ) + (none) ) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-1 frame-num) (-> self anim-limit)) - ) - (rider-post) - (while #t - (ja-post) - (suspend) - ) - (none) - ) :post (the-as (function none :behavior silostep) #f) ) @@ -207,68 +174,38 @@ ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! silostep ((obj silostep) (arg0 entity-actor)) (logior! (-> obj mask) (process-mask movie-subject)) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 4) + (set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 18432.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 4) - (set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 18432.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *silostep-sg* '()) - (set! - (-> obj anim-limit) - (* - (res-lump-float arg0 'distance :default 1.0) - (the - float - (+ - (-> (the-as art-joint-anim (-> obj draw art-group data 2)) data 0 length) - -1 - ) - ) - ) - ) + (set! (-> obj anim-limit) + (* (res-lump-float arg0 'distance :default 1.0) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 2)) data 0 length) -1)) + ) + ) (set! (-> obj link) (new 'process 'actor-link-info obj)) - (if - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (go silostep-rise #t) - (go silostep-idle) - ) + (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (go silostep-rise #t) + (go silostep-idle) + ) (none) ) @@ -293,39 +230,28 @@ ;; definition for method 3 of type rounddoor (defmethod inspect rounddoor ((obj rounddoor)) (let ((t9-0 (method-of-type eco-door inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for method 24 of type rounddoor ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-24 rounddoor ((obj rounddoor)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) -12288.0 0.0 0.0 40960.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) -12288.0 0.0 0.0 40960.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -343,10 +269,7 @@ (set! (-> obj auto-close) #t) (set! (-> obj one-way) #t) (vector-x-quaternion! (-> obj out-dir) (-> obj root-override quat)) - (set! - (-> obj out-dir w) - (- 8192.0 (vector-dot (-> obj out-dir) (-> obj root-override trans))) - ) + (set! (-> obj out-dir w) (- 8192.0 (vector-dot (-> obj out-dir) (-> obj root-override trans)))) (dummy-47 (-> obj root-override)) 0 (none) diff --git a/test/decompiler/reference/levels/misty/mud_REF.gc b/test/decompiler/reference/levels/misty/mud_REF.gc index b2d45d38c0..466dc5d007 100644 --- a/test/decompiler/reference/levels/misty/mud_REF.gc +++ b/test/decompiler/reference/levels/misty/mud_REF.gc @@ -13,79 +13,71 @@ ;; definition for method 3 of type mud (defmethod inspect mud ((obj mud)) (let ((t9-0 (method-of-type water-anim inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for symbol ripple-for-mud, type ripple-wave-set -(define - ripple-for-mud - (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) - (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) - (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) - (new 'static 'ripple-wave) - ) - ) - ) +(define ripple-for-mud (new 'static 'ripple-wave-set + :count 3 + :converted #f + :normal-scale 1.0 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) + (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) + (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) + (new 'static 'ripple-wave) + ) + ) + ) ;; definition for symbol ripple-for-small-mud, type ripple-wave-set -(define - ripple-for-small-mud - (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 20.0 :xdiv 2 :speed 0.5) - (new 'static 'ripple-wave :scale 20.0 :xdiv -2 :zdiv 2 :speed 0.5) - (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) - (new 'static 'ripple-wave) - ) - ) - ) +(define ripple-for-small-mud (new 'static 'ripple-wave-set + :count 3 + :converted #f + :normal-scale 1.0 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 20.0 :xdiv 2 :speed 0.5) + (new 'static 'ripple-wave :scale 20.0 :xdiv -2 :zdiv 2 :speed 0.5) + (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) + (new 'static 'ripple-wave) + ) + ) + ) ;; definition for method 22 of type mud (defmethod TODO-RENAME-22 mud ((obj mud)) (let ((t9-0 (method-of-type water-anim TODO-RENAME-22))) - (t9-0 obj) - ) + (t9-0 obj) + ) (set! (-> obj flags) (logand -8388609 (-> obj flags))) (set! (-> obj flags) (logior #x40000 (-> obj flags))) (let ((gp-0 (new 'process 'ripple-control))) - (set! (-> obj draw ripple) gp-0) - (set! (-> gp-0 global-scale) 3072.0) - (set! (-> gp-0 waveform) ripple-for-mud) - (let - ((v1-9 - (res-lump-data (-> obj entity) 'water-anim-fade-dist (pointer float)) + (set! (-> obj draw ripple) gp-0) + (set! (-> gp-0 global-scale) 3072.0) + (set! (-> gp-0 waveform) ripple-for-mud) + (let ((v1-9 (res-lump-data (-> obj entity) 'water-anim-fade-dist (pointer float)))) + (when v1-9 + (set! (-> gp-0 close-fade-dist) (-> v1-9 0)) + (set! (-> gp-0 far-fade-dist) (-> v1-9 1)) + ) ) - ) - (when v1-9 - (set! (-> gp-0 close-fade-dist) (-> v1-9 0)) - (set! (-> gp-0 far-fade-dist) (-> v1-9 1)) - ) - ) - (case (-> obj look) - ((21 25 29) - (set! (-> gp-0 close-fade-dist) 4096000000.0) - (set! (-> gp-0 far-fade-dist) 8192000000.0) + (case (-> obj look) + ((21 25 29) + (set! (-> gp-0 close-fade-dist) 4096000000.0) + (set! (-> gp-0 far-fade-dist) 8192000000.0) + ) ) - ) - (case (-> obj look) - ((22 25 24 27 26 31) - (let ((v0-3 ripple-for-small-mud)) - (set! (-> gp-0 waveform) v0-3) - v0-3 + (case (-> obj look) + ((22 25 24 27 26 31) + (let ((v0-3 ripple-for-small-mud)) + (set! (-> gp-0 waveform) v0-3) + v0-3 + ) ) ) ) - ) ) diff --git a/test/decompiler/reference/levels/misty/muse_REF.gc b/test/decompiler/reference/levels/misty/muse_REF.gc index 1787ff2b97..860c8fa6cc 100644 --- a/test/decompiler/reference/levels/misty/muse_REF.gc +++ b/test/decompiler/reference/levels/misty/muse_REF.gc @@ -24,8 +24,8 @@ ;; definition for method 3 of type muse (defmethod inspect muse ((obj muse)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tcurrent-path-index: ~f~%" (-> obj current-path-index)) (format #t "~T~Tprev-path-index: ~f~%" (-> obj prev-path-index)) (format #t "~T~Tdest-path-index: ~f~%" (-> obj dest-path-index)) @@ -35,11 +35,7 @@ (format #t "~T~Tdest-point: #~%" (-> obj dest-point)) (format #t "~T~Tanim: ~A~%" (-> obj anim)) (format #t "~T~Tvictory-anim: ~A~%" (-> obj victory-anim)) - (format - #t - "~T~Told-target-pos: #~%" - (-> obj old-target-pos) - ) + (format #t "~T~Told-target-pos: #~%" (-> obj old-target-pos)) obj ) @@ -76,44 +72,33 @@ (defun analyze-point-on-path-segment ((arg0 point-on-path-segment-info)) (vector-! (-> arg0 dir) (-> arg0 segment 1) (the-as vector (-> arg0 segment))) (vector-normalize! (-> arg0 dir) 1.0) - (set! - (-> arg0 segment-length) - (vector-vector-distance - (the-as vector (-> arg0 segment)) - (-> arg0 segment 1) - ) - ) + (set! (-> arg0 segment-length) (vector-vector-distance (the-as vector (-> arg0 segment)) (-> arg0 segment 1))) (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-! s5-0 (the-as vector (-> arg0 segment)) (-> arg0 point)) - (vector+*! s5-0 s5-0 (-> arg0 dir) (- (vector-dot s5-0 (-> arg0 dir)))) - (vector+! (-> arg0 nearest-point) (-> arg0 point) s5-0) - (set! (-> arg0 distance-to-segment) (vector-length s5-0)) - (vector-! s5-0 (-> arg0 point) (the-as vector (-> arg0 segment))) - (set! - (-> arg0 parametric-index) - (/ (vector-dot (-> arg0 dir) s5-0) (-> arg0 segment-length)) + (vector-! s5-0 (the-as vector (-> arg0 segment)) (-> arg0 point)) + (vector+*! s5-0 s5-0 (-> arg0 dir) (- (vector-dot s5-0 (-> arg0 dir)))) + (vector+! (-> arg0 nearest-point) (-> arg0 point) s5-0) + (set! (-> arg0 distance-to-segment) (vector-length s5-0)) + (vector-! s5-0 (-> arg0 point) (the-as vector (-> arg0 segment))) + (set! (-> arg0 parametric-index) (/ (vector-dot (-> arg0 dir) s5-0) (-> arg0 segment-length))) ) - ) (cond - ((< (-> arg0 parametric-index) 0.0) - (set! (-> arg0 parametric-index) 0.0) - (set! (-> arg0 nearest-point quad) (-> arg0 segment 0 quad)) - (let - ((f0-10 (vector-vector-distance (-> arg0 nearest-point) (-> arg0 point)))) - (set! (-> arg0 distance-to-segment) f0-10) - f0-10 + ((< (-> arg0 parametric-index) 0.0) + (set! (-> arg0 parametric-index) 0.0) + (set! (-> arg0 nearest-point quad) (-> arg0 segment 0 quad)) + (let ((f0-10 (vector-vector-distance (-> arg0 nearest-point) (-> arg0 point)))) + (set! (-> arg0 distance-to-segment) f0-10) + f0-10 + ) + ) + ((< 1.0 (-> arg0 parametric-index)) + (set! (-> arg0 parametric-index) 1.0) + (set! (-> arg0 nearest-point quad) (-> arg0 segment 1 quad)) + (let ((f0-13 (vector-vector-distance (-> arg0 nearest-point) (-> arg0 point)))) + (set! (-> arg0 distance-to-segment) f0-13) + f0-13 + ) ) ) - ((< 1.0 (-> arg0 parametric-index)) - (set! (-> arg0 parametric-index) 1.0) - (set! (-> arg0 nearest-point quad) (-> arg0 segment 1 quad)) - (let - ((f0-13 (vector-vector-distance (-> arg0 nearest-point) (-> arg0 point)))) - (set! (-> arg0 distance-to-segment) f0-13) - f0-13 - ) - ) - ) ) ;; definition for function muse-get-path-point @@ -134,72 +119,56 @@ (f24-0 4096000.0) (f28-0 0.0) ) - (let ((s5-0 (+ (-> self path curve num-cverts) -1)) - (s4-0 (target-pos 0)) + (let ((s5-0 (+ (-> self path curve num-cverts) -1)) + (s4-0 (target-pos 0)) + ) + (dotimes (s3-0 s5-0) + (let ((f22-0 (the float s3-0))) + (let ((f20-0 (the float (+ s3-0 1)))) + (eval-path-curve-div! (-> self path) (the-as vector (-> gp-0 segment)) f22-0 'interp) + (eval-path-curve-div! (-> self path) (-> gp-0 segment 1) f20-0 'interp) + ) + (set! (-> gp-0 point quad) (-> s4-0 quad)) + (analyze-point-on-path-segment gp-0) + (when (< (-> gp-0 distance-to-segment) f24-0) + (set! f24-0 (-> gp-0 distance-to-segment)) + (set! f28-0 (+ f22-0 (-> gp-0 parametric-index))) + ) + (set! (-> gp-0 point quad) (-> self collide-info trans quad)) + (analyze-point-on-path-segment gp-0) + (when (< (-> gp-0 distance-to-segment) f26-0) + (set! f26-0 (-> gp-0 distance-to-segment)) + (set! f30-0 (+ f22-0 (-> gp-0 parametric-index))) + ) + ) + 0 + ) + ) + (let ((f0-6 (- f30-0 f28-0))) + (if (< f0-6 (* -0.5 (-> self max-path-index))) + (+! f0-6 (-> self max-path-index)) + ) + (if (< (* 0.5 (-> self max-path-index)) f0-6) + (set! f0-6 (- f0-6 (-> self max-path-index))) + ) + (cond + ((>= f0-6 0.0) + (set! (-> self dest-path-index) (the float (the int (+ 2.5 f30-0)))) + (if (>= (-> self dest-path-index) (-> self max-path-index)) + (set! (-> self dest-path-index) (- (-> self dest-path-index) (-> self max-path-index))) + ) ) - (dotimes (s3-0 s5-0) - (let ((f22-0 (the float s3-0))) - (let ((f20-0 (the float (+ s3-0 1)))) - (eval-path-curve-div! - (-> self path) - (the-as vector (-> gp-0 segment)) - f22-0 - 'interp + (else + (set! (-> self dest-path-index) (+ -1.5 f30-0)) + (if (< (-> self dest-path-index) 0.0) + (+! (-> self dest-path-index) (-> self max-path-index)) + ) + (set! (-> self dest-path-index) (the float (the int (-> self dest-path-index)))) + ) ) - (eval-path-curve-div! (-> self path) (-> gp-0 segment 1) f20-0 'interp) - ) - (set! (-> gp-0 point quad) (-> s4-0 quad)) - (analyze-point-on-path-segment gp-0) - (when (< (-> gp-0 distance-to-segment) f24-0) - (set! f24-0 (-> gp-0 distance-to-segment)) - (set! f28-0 (+ f22-0 (-> gp-0 parametric-index))) - ) - (set! (-> gp-0 point quad) (-> self collide-info trans quad)) - (analyze-point-on-path-segment gp-0) - (when (< (-> gp-0 distance-to-segment) f26-0) - (set! f26-0 (-> gp-0 distance-to-segment)) - (set! f30-0 (+ f22-0 (-> gp-0 parametric-index))) - ) ) - 0 - ) ) - (let ((f0-6 (- f30-0 f28-0))) - (if (< f0-6 (* -0.5 (-> self max-path-index))) - (+! f0-6 (-> self max-path-index)) - ) - (if (< (* 0.5 (-> self max-path-index)) f0-6) - (set! f0-6 (- f0-6 (-> self max-path-index))) - ) - (cond - ((>= f0-6 0.0) - (set! (-> self dest-path-index) (the float (the int (+ 2.5 f30-0)))) - (if (>= (-> self dest-path-index) (-> self max-path-index)) - (set! - (-> self dest-path-index) - (- (-> self dest-path-index) (-> self max-path-index)) - ) - ) - ) - (else - (set! (-> self dest-path-index) (+ -1.5 f30-0)) - (if (< (-> self dest-path-index) 0.0) - (+! (-> self dest-path-index) (-> self max-path-index)) - ) - (set! - (-> self dest-path-index) - (the float (the int (-> self dest-path-index))) - ) - ) - ) - ) - ) - (eval-path-curve-div! - (-> self path) - (-> self dest-point) - (-> self dest-path-index) - 'interp - ) + (eval-path-curve-div! (-> self path) (-> self dest-point) (-> self dest-path-index) 'interp) 0 (none) ) @@ -208,20 +177,17 @@ ;; INFO: Return type mismatch int vs object. (defmethod dummy-51 muse ((obj muse) (arg0 vector)) (dotimes (s5-0 2) - (let ((v1-2 (rand-vu-int-range 3 (+ (-> obj node-list length) -1)))) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 271) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj node-list data v1-2) + (let ((v1-2 (rand-vu-int-range 3 (+ (-> obj node-list length) -1)))) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 271) + (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data v1-2)) + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) ) - ) (the-as object 0) ) @@ -231,9 +197,9 @@ (t9-0 (method-of-object a0-1 spool-push)) (a1-0 (-> obj anim name)) ) - (t9-0 a0-1 a1-0 0 obj -99.0) - (dummy-51 obj (the-as vector a1-0)) - ) + (t9-0 a0-1 a1-0 0 obj -99.0) + (dummy-51 obj (the-as vector a1-0)) + ) ((method-of-type nav-enemy common-post) obj) (none) ) @@ -265,168 +231,81 @@ nav-enemy-default-event-handler (defstate muse-idle (muse) :event (the-as - (function process int symbol event-message-block object :behavior muse) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior muse) + nav-enemy-default-event-handler + ) :trans (behavior () - (set! - (-> self sprint-distance) - (seek - (-> self sprint-distance) - 61440.0 - (* 8192.0 (-> *display* seconds-per-frame)) - ) + (set! (-> self sprint-distance) + (seek (-> self sprint-distance) 61440.0 (* 8192.0 (-> *display* seconds-per-frame))) + ) + (if (and *target* (>= 102400.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) + (level-hint-spawn (game-text-id zero) (the-as string #f) (-> self entity) *entity-pool* (game-task none)) + ) + (if (and *target* (>= 81920.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) + (go-virtual nav-enemy-chase) + ) + (none) ) - (if - (and - *target* - (>= - 102400.0 - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) - ) - ) - (level-hint-spawn - (game-text-id zero) - (the-as string #f) - (-> self entity) - *entity-pool* - (game-task none) - ) - ) - (if - (and - *target* - (>= - 81920.0 - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) - ) - ) - (go-virtual nav-enemy-chase) - ) - (none) - ) :code (behavior () - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (when (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 4) ) - (-> self draw art-group data 4) + (ja-channel-push! 1 30) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) 1.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) + ) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 ) - ) ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (while #t - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-9 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 + (while #t + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-9 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-9 param 1) 1.0) + (set! (-> a0-9 frame-num) 0.0) + (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (let* ((a0-10 *art-control*) + (t9-7 (method-of-object a0-10 spool-push)) + (a1-5 (-> self anim name)) + ) + (t9-7 a0-10 a1-5 0 self -99.0) + (dummy-51 self (the-as vector a1-5)) + ) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (let* ((a0-10 *art-control*) - (t9-7 (method-of-object a0-10 spool-push)) - (a1-5 (-> self anim name)) - ) - (t9-7 a0-10 a1-5 0 self -99.0) - (dummy-51 self (the-as vector a1-5)) - ) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior muse) ja-post) ) @@ -436,162 +315,110 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior muse) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior muse) + nav-enemy-default-event-handler + ) :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (cond - ((or - (not *target*) - (< - 102400.0 - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) + (cond + ((or + (not *target*) + (< 102400.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) + ) + (set! (-> self target-speed) 0.0) + (if (= (-> self momentum-speed) 0.0) + (go muse-idle) + ) ) - ) - (set! (-> self target-speed) 0.0) - (if (= (-> self momentum-speed) 0.0) - (go muse-idle) - ) - ) - ((or - (not *target*) - (< - (-> self sprint-distance) - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) + ((or + (not *target*) + (< (-> self sprint-distance) + (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)) + ) + ) + (set! (-> self target-speed) 40960.0) ) + (else + (set! (-> self target-speed) 61440.0) + ) ) - (set! (-> self target-speed) 40960.0) - ) - (else - (set! (-> self target-speed) 61440.0) - ) + (set! (-> self sprint-distance) + (seek (-> self sprint-distance) 0.0 (* 4096.0 (-> *display* seconds-per-frame))) + ) + (muse-check-dest-point) + (none) ) - (set! - (-> self sprint-distance) - (seek - (-> self sprint-distance) - 0.0 - (* 4096.0 (-> *display* seconds-per-frame)) - ) - ) - (muse-check-dest-point) - (none) - ) :code (behavior () - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (ja-channel-push! 1 30) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 3) ) - -1 + (ja-channel-push! 1 30) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) 1.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) ) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (ja-channel-push! 1 30) ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) ) - (until (ja-done? 0) - (ja-blend-eval) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 4)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) + ) + (while #t (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) (* 0.000016276043 (-> self momentum-speed))) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - ) - (else - (ja-channel-push! 1 30) - ) + (none) ) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t - (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) (* 0.000016276043 (-> self momentum-speed))) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - (none) - ) :post (behavior () - (set! (-> self nav destination-pos quad) (-> self dest-point quad)) - (dummy-19 - (-> self nav) - (-> self nav target-pos) - (-> self collide-info) - (-> self nav destination-pos) - 546133.3 + (set! (-> self nav destination-pos quad) (-> self dest-point quad)) + (dummy-19 + (-> self nav) + (-> self nav target-pos) + (-> self collide-info) + (-> self nav destination-pos) + 546133.3 + ) + (if (logtest? (nav-control-flags bit21) (-> self nav flags)) + (logclear! (-> self nav flags) (nav-control-flags bit10)) + ) + (nav-enemy-travel-post) + (none) ) - (if (logtest? (nav-control-flags bit21) (-> self nav flags)) - (logclear! (-> self nav flags) (nav-control-flags bit10)) - ) - (nav-enemy-travel-post) - (none) - ) ) ;; failed to figure out what this is: @@ -599,15 +426,15 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior muse) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior muse) + nav-enemy-default-event-handler + ) :enter (behavior () - ((-> (method-of-type nav-enemy nav-enemy-jump) enter)) - (set! (-> self nav-enemy-flags) (logand -513 (-> self nav-enemy-flags))) - (none) - ) + ((-> (method-of-type nav-enemy nav-enemy-jump) enter)) + (set! (-> self nav-enemy-flags) (logand -513 (-> self nav-enemy-flags))) + (none) + ) :code (-> (method-of-type nav-enemy nav-enemy-jump) code) ) @@ -617,293 +444,212 @@ nav-enemy-default-event-handler :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior muse) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior muse) + nav-enemy-default-event-handler + ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> gp-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) + ) + (ja-channel-push! 1 22) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> gp-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> gp-0 param 1) 0.8) + (set! (-> gp-0 frame-num) (ja-aframe 6.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 0.8) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> gp-0 param 1) 0.8) - (set! (-> gp-0 frame-num) (ja-aframe 6.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) + (go-virtual nav-enemy-chase) + (none) ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 0.8) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-chase) - (none) - ) ) ;; failed to figure out what this is: (defstate muse-caught (muse) :event - (the-as - (function process int symbol event-message-block object :behavior muse) - #f - ) + (the-as (function process int symbol event-message-block object :behavior muse) #f) :trans - (behavior () - (spool-push *art-control* (-> self anim name) 0 self -1.0) - (none) - ) + (behavior () (spool-push *art-control* (-> self anim name) 0 self -1.0) (none)) :code (behavior () - (sound-play-by-name - (static-sound-name "money-pickup") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (close-specific-task! (game-task misty-muse) (task-status need-reminder)) - (process-entity-status! self (entity-perm-status dead) #t) - (suspend) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 1) - (set! (-> a1-3 message) 'clone-anim) - (set! (-> a1-3 param 0) (the-as uint self)) - (when (send-event-function *target* a1-3) - (set-blackout-frames 3000) - (let ((gp-1 (res-lump-struct (-> self entity) 'movie-pos vector))) - (cond - (gp-1 - (TODO-RENAME-30 (-> self collide-info) gp-1) - (set-yaw-angle-clear-roll-pitch! (-> self collide-info) (-> gp-1 w)) - ) - (else - (TODO-RENAME-30 (-> self collide-info) (-> *target* control trans)) - (quaternion-copy! - (-> self collide-info quat) - (-> *target* control quat) - ) - (dummy-60 (-> self collide-info) 40960.0 40960.0 #f (the-as uint 1)) - ) - ) - ) - (send-event *target* 'trans 'save (-> self old-target-pos)) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (if (!= *kernel-boot-message* 'play) - (set! - (-> self trans-hook) - (lambda :behavior muse - () - (spool-push *art-control* (-> self victory-anim name) 0 self -1.0) - (none) - ) - ) - ) - (push-setting! - *setting-control* - self - 'music-volume - 'rel - (-> *setting-control* current music-volume-movie) - 0 - ) - (push-setting! - *setting-control* - self - 'sfx-volume - 'rel - (-> *setting-control* current sfx-volume-movie) - 0 - ) - (push-setting! - *setting-control* - self - 'ambient-volume - 'rel - (-> *setting-control* current ambient-volume-movie) - 0 - ) - (logclear! (-> self mask) (process-mask enemy)) - (let ((gp-2 (get-process *default-dead-pool* othercam #x4000))) - (when gp-2 - (let ((t9-19 (method-of-type othercam activate))) - (t9-19 - (the-as othercam gp-2) - self - 'othercam - (the-as pointer #x70004000) - ) - ) - (run-now-in-process gp-2 othercam-init-by-other self 3 #f #t) - (-> gp-2 ppointer) - ) - ) - (auto-save-command 'auto-save 0 0 *default-pool*) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as (function process-drawable symbol) false-func) - ) - (clear-pending-settings-from-process *setting-control* self 'music-volume) - (clear-pending-settings-from-process *setting-control* self 'sfx-volume) - (clear-pending-settings-from-process - *setting-control* - self - 'ambient-volume - ) - (send-event *target* 'blend-shape #f) - (cond - ((!= *kernel-boot-message* 'play) - (set-blackout-frames 0) - (ja-channel-set! 0) - (ja-post) - (clear-collide-with-as (-> self collide-info)) - (send-event *target* 'trans 'reset) - (let - ((gp-4 - (ppointer->handle - (birth-pickup-at-point - (target-pos 0) - (pickup-type fuel-cell) - (the float (-> self entity extra perm task)) - #f - self - (the-as fact-info #f) + (sound-play-by-name (static-sound-name "money-pickup") (new-sound-id) 1024 0 0 1 #t) + (close-specific-task! (game-task misty-muse) (task-status need-reminder)) + (process-entity-status! self (entity-perm-status dead) #t) + (suspend) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 1) + (set! (-> a1-3 message) 'clone-anim) + (set! (-> a1-3 param 0) (the-as uint self)) + (when (send-event-function *target* a1-3) + (set-blackout-frames 3000) + (let ((gp-1 (res-lump-struct (-> self entity) 'movie-pos vector))) + (cond + (gp-1 + (TODO-RENAME-30 (-> self collide-info) gp-1) + (set-yaw-angle-clear-roll-pitch! (-> self collide-info) (-> gp-1 w)) + ) + (else + (TODO-RENAME-30 (-> self collide-info) (-> *target* control trans)) + (quaternion-copy! (-> self collide-info quat) (-> *target* control quat)) + (dummy-60 (-> self collide-info) 40960.0 40960.0 #f (the-as uint 1)) + ) + ) + ) + (send-event *target* 'trans 'save (-> self old-target-pos)) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (if (!= *kernel-boot-message* 'play) + (set! (-> self trans-hook) + (lambda :behavior muse () (spool-push *art-control* (-> self victory-anim name) 0 self -1.0) (none)) + ) + ) + (push-setting! *setting-control* self 'music-volume 'rel (-> *setting-control* current music-volume-movie) 0) + (push-setting! *setting-control* self 'sfx-volume 'rel (-> *setting-control* current sfx-volume-movie) 0) + (push-setting! + *setting-control* + self + 'ambient-volume + 'rel + (-> *setting-control* current ambient-volume-movie) + 0 + ) + (logclear! (-> self mask) (process-mask enemy)) + (let ((gp-2 (get-process *default-dead-pool* othercam #x4000))) + (when gp-2 + (let ((t9-19 (method-of-type othercam activate))) + (t9-19 (the-as othercam gp-2) self 'othercam (the-as pointer #x70004000)) + ) + (run-now-in-process gp-2 othercam-init-by-other self 3 #f #t) + (-> gp-2 ppointer) + ) + ) + (auto-save-command 'auto-save 0 0 *default-pool*) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as (function process-drawable symbol) false-func) + ) + (clear-pending-settings-from-process *setting-control* self 'music-volume) + (clear-pending-settings-from-process *setting-control* self 'sfx-volume) + (clear-pending-settings-from-process *setting-control* self 'ambient-volume) + (send-event *target* 'blend-shape #f) + (cond + ((!= *kernel-boot-message* 'play) + (set-blackout-frames 0) + (ja-channel-set! 0) + (ja-post) + (clear-collide-with-as (-> self collide-info)) + (send-event *target* 'trans 'reset) + (let ((gp-4 + (ppointer->handle + (birth-pickup-at-point + (target-pos 0) + (pickup-type fuel-cell) + (the float (-> self entity extra perm task)) + #f + self + (the-as fact-info #f) + ) + ) + ) + ) + (send-event (handle->process (the-as handle gp-4)) 'pickup) + (while (handle->process (the-as handle gp-4)) + (suspend) + ) + ) + ) + (else + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (set-blackout-frames 0) + (set-blackout-frames 30) ) - ) ) - ) - (send-event (handle->process (the-as handle gp-4)) 'pickup) - (while (handle->process (the-as handle gp-4)) - (suspend) - ) ) - ) - (else - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (set-blackout-frames 0) - (set-blackout-frames 30) - ) ) - ) + (none) ) - (none) - ) :post (behavior () - (local-vars (a1-0 none)) - (dummy-51 self (the-as vector a1-0)) - (level-hint-surpress!) - (kill-current-level-hint '() '() 'exit) - (ja-post) - (none) - ) + (local-vars (a1-0 none)) + (dummy-51 self (the-as vector a1-0)) + (level-hint-surpress!) + (kill-current-level-hint '() '() 'exit) + (ja-post) + (none) + ) ) ;; definition for symbol *muse-nav-enemy-info*, type nav-enemy-info -(define - *muse-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 3 - :walk-anim 4 - :turn-anim -1 - :notice-anim 3 - :run-anim 4 - :jump-anim 7 - :jump-land-anim 8 - :victory-anim 3 - :taunt-anim 3 - :die-anim 3 - :neck-joint 6 - :player-look-at-joint 5 - :run-travel-speed (meters 10.0) - :run-rotate-speed (degrees 999.99994) - :run-acceleration (meters 5.0) - :run-turn-time (seconds 0.15) - :walk-travel-speed (meters 10.0) - :walk-rotate-speed (degrees 999.99994) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.15) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 1.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 30.0) - :stop-chase-distance (meters 40.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 10000000000.0 - :jump-anim-start-frame 6.5 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #t - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *muse-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 3 + :walk-anim 4 + :turn-anim -1 + :notice-anim 3 + :run-anim 4 + :jump-anim 7 + :jump-land-anim 8 + :victory-anim 3 + :taunt-anim 3 + :die-anim 3 + :neck-joint 6 + :player-look-at-joint 5 + :run-travel-speed (meters 10.0) + :run-rotate-speed (degrees 999.99994) + :run-acceleration (meters 5.0) + :run-turn-time (seconds 0.15) + :walk-travel-speed (meters 10.0) + :walk-rotate-speed (degrees 999.99994) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.15) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 1.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 30.0) + :stop-chase-distance (meters 40.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 10000000000.0 + :jump-anim-start-frame 6.5 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #t + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 11 of type muse ;; INFO: Return type mismatch object vs none. @@ -911,50 +657,34 @@ nav-enemy-default-event-handler (defmethod init-from-entity! muse ((obj muse) (arg0 entity-actor)) (stack-size-set! (-> obj main-thread) 512) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set-vector! (-> s3-0 local-sphere) 0.0 2457.6 0.0 2457.6) + (set-root-prim! s4-0 s3-0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj collide-info) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set-vector! (-> s3-0 local-sphere) 0.0 2457.6 0.0 2457.6) - (set-root-prim! s4-0 s3-0) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj collide-info) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *muse-sg* '()) (logclear! (-> obj mask) (process-mask actor-pause)) (TODO-RENAME-45 obj *muse-nav-enemy-info*) - (set! - (-> obj max-path-index) - (the float (+ (-> obj path curve num-cverts) -1)) - ) + (set! (-> obj max-path-index) (the float (+ (-> obj path curve num-cverts) -1))) (set! (-> obj current-path-index) 7.0) (set! (-> obj prev-path-index) 7.0) (set! (-> obj dest-path-index) 7.0) (set! (-> obj player-path-index) 0.0) - (eval-path-curve-div! - (-> obj path) - (-> obj dest-point) - (-> obj current-path-index) - 'interp - ) + (eval-path-curve-div! (-> obj path) (-> obj dest-point) (-> obj current-path-index) 'interp) (set! (-> obj collide-info trans quad) (-> obj dest-point quad)) (set! (-> obj nav nearest-y-threshold) 20480.0) (set-vector! (-> obj neck twist-max) 8192.0 8192.0 0.0 1.0) @@ -963,22 +693,14 @@ nav-enemy-default-event-handler (set! (-> obj neck ear) (the-as uint 2)) (set! (-> obj neck max-dist) 102400.0) (set! (-> obj neck ignore-angle) 16384.0) - (set! - (-> obj anim) - (new 'static 'spool-anim - :name "muse-victory" - :index 9 - :parts 2 - :command-list - '( - ((the binteger 1) - blackout - 0 + (set! (-> obj anim) (new 'static 'spool-anim + :name "muse-victory" + :index 9 + :parts 2 + :command-list + '(((the binteger 1) blackout 0) ((the binteger 219) blackout (the binteger 60))) + ) ) - ((the binteger 219) blackout (the binteger 60)) - ) - ) - ) (set! (-> obj victory-anim) (fuel-cell-pick-anim obj)) (go muse-idle) (none) diff --git a/test/decompiler/reference/levels/misty/sidekick-human_REF.gc b/test/decompiler/reference/levels/misty/sidekick-human_REF.gc index 3638f69328..0716a70b0e 100644 --- a/test/decompiler/reference/levels/misty/sidekick-human_REF.gc +++ b/test/decompiler/reference/levels/misty/sidekick-human_REF.gc @@ -42,1369 +42,1270 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 657) - (new 'static 'sparticle-launch-group - :length 8 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-2d-intro-mist" - :launcher - (new 'static 'inline-array sparticle-group-item 8 - (sp-item 2665 :period 300 :length 5 :binding 2663) - (sp-item 2663 :flags (start-dead launch-asap) :binding 2664) - (sp-item 2663 :flags (start-dead launch-asap) :binding 2664) - (sp-item 2664 :flags (start-dead)) - (sp-item 2664 :flags (start-dead)) - (sp-item 2664 :flags (start-dead)) - (sp-item 2666) - (sp-item 2667) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 657) (new 'static 'sparticle-launch-group + :length 8 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-2d-intro-mist" + :launcher + (new 'static 'inline-array sparticle-group-item 8 + (sp-item 2665 :period 300 :length 5 :binding 2663) + (sp-item 2663 :flags (start-dead launch-asap) :binding 2664) + (sp-item 2663 :flags (start-dead launch-asap) :binding 2664) + (sp-item 2664 :flags (start-dead)) + (sp-item 2664 :flags (start-dead)) + (sp-item 2664 :flags (start-dead)) + (sp-item 2666) + (sp-item 2667) + ) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2665) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -2.5) (meters 5.0) 1.0) - (sp-rnd-flt spt-y (meters -1.5) (meters 3.0) 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2665) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -2.5) (meters 5.0) 1.0) + (sp-rnd-flt spt-y (meters -1.5) (meters 3.0) 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2663) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 2048.0 819.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.053333335) 1 436.90668) - (sp-flt spt-scalevel-x (meters -0.0012121212)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2663) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 2048.0 819.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.053333335) 1 436.90668) + (sp-flt spt-scalevel-x (meters -0.0012121212)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.3) 1 109.22667) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2664) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0010952381)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y 0.0 -0.13653333 1.0) - (sp-int-plain-rnd spt-timer 30 299 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 198) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2664) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.3) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0010952381)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y 0.0 -0.13653333 1.0) + (sp-int-plain-rnd spt-timer 30 299 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 198) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2667) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-z -16000.0) - (sp-flt spt-scale-x (meters 15.0)) - (sp-flt spt-scale-y (meters 12.0)) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2667) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x36 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-z -16000.0) + (sp-flt spt-scale-x (meters 15.0)) + (sp-flt spt-scale-y (meters 12.0)) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2666) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.3) - (sp-rnd-flt spt-x (meters -4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-y (meters -3.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-z 0.0 14000.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 6.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-r 16.0 80.0 1.0) - (sp-rnd-flt spt-g 0.0 16.0 1.0) - (sp-rnd-flt spt-b 16.0 150.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters -0.0016666667) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.075) (degrees 0.15) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 150 149 1) - (sp-launcher-by-id spt-next-launcher 2668) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2666) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.3) + (sp-rnd-flt spt-x (meters -4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-y (meters -3.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-z 0.0 14000.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 6.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-r 16.0 80.0 1.0) + (sp-rnd-flt spt-g 0.0 16.0 1.0) + (sp-rnd-flt spt-b 16.0 150.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters -0.0016666667) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.075) (degrees 0.15) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 150 149 1) + (sp-launcher-by-id spt-next-launcher 2668) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2668) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int-plain-rnd spt-next-time 300 299 1) - (sp-launcher-by-id spt-next-launcher 2669) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2668) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int-plain-rnd spt-next-time 300 299 1) + (sp-launcher-by-id spt-next-launcher 2669) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2669) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2669) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.21333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 557) - (new 'static 'sparticle-launch-group - :length #x101 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-evilsib-appear" - :launcher - (new 'static 'inline-array sparticle-group-item 257 - (sp-item 2345 :period 1500 :length 20 :offset 1500) - (sp-item 2346 :period 1500 :length 20 :offset 1500) - (sp-item 2347 :period 1500 :length 5 :offset 1500) - (sp-item 2348 :period 1500 :length 20 :offset 1500) - (sp-item 2349 :period 1500 :length 900 :offset 750 :binding 2344) - (sp-item 2350 :period 1500 :length 750 :offset 600 :binding 2344) - (sp-item 2351 :period 1500 :length 600 :offset 450 :binding 2344) - (sp-item 2351 :period 1500 :length 450 :offset 300 :binding 2344) - (sp-item 2352 :period 1500 :length 300 :offset 150 :binding 2344) - (sp-item 2352 :period 1500 :length 150 :binding 2344) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 557) (new 'static 'sparticle-launch-group + :length #x101 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-evilsib-appear" + :launcher + (new 'static 'inline-array sparticle-group-item 257 + (sp-item 2345 :period 1500 :length 20 :offset 1500) + (sp-item 2346 :period 1500 :length 20 :offset 1500) + (sp-item 2347 :period 1500 :length 5 :offset 1500) + (sp-item 2348 :period 1500 :length 20 :offset 1500) + (sp-item 2349 :period 1500 :length 900 :offset 750 :binding 2344) + (sp-item 2350 :period 1500 :length 750 :offset 600 :binding 2344) + (sp-item 2351 :period 1500 :length 600 :offset 450 :binding 2344) + (sp-item 2351 :period 1500 :length 450 :offset 300 :binding 2344) + (sp-item 2352 :period 1500 :length 300 :offset 150 :binding 2344) + (sp-item 2352 :period 1500 :length 150 :binding 2344) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2344 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2349) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.1) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit14) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2349) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.1) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit14) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2353) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2353) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.21333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2350) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.1) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 2353) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2350) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.1) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 2353) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2351) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.3) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 2353) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2351) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.3) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 2353) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2352) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 2353) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2352) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 2353) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2344) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 20480.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.05) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.074074075) (meters 0.14814815) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters -0.015)) - (sp-flt spt-scalevel-x (meters 0.0005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.53333336) (degrees 1.0666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-int spt-next-time 270) - (sp-launcher-by-id spt-next-launcher 2354) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2344) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 20480.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.05) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.074074075) (meters 0.14814815) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters -0.015)) + (sp-flt spt-scalevel-x (meters 0.0005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.53333336) (degrees 1.0666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-int spt-next-time 270) + (sp-launcher-by-id spt-next-launcher 2354) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2354) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -3.2) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2354) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -3.2) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2345) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00066666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.42666668) - (sp-rnd-flt spt-accel-y -0.68266666 -3.4133334 1.0) - (sp-rnd-flt spt-friction 0.8 0.05 1.0) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 749 1) - (sp-launcher-by-id spt-next-launcher 2355) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2345) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00066666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.42666668) + (sp-rnd-flt spt-accel-y -0.68266666 -3.4133334 1.0) + (sp-rnd-flt spt-friction 0.8 0.05 1.0) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 749 1) + (sp-launcher-by-id spt-next-launcher 2355) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2355) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-a 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2355) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-a 0.0) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2346) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.00066666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.42666668) - (sp-rnd-flt spt-accel-y -0.68266666 -3.4133334 1.0) - (sp-rnd-flt spt-friction 0.75 0.05 1.0) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 749 1) - (sp-launcher-by-id spt-next-launcher 2355) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2346) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.00066666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.42666668) + (sp-rnd-flt spt-accel-y -0.68266666 -3.4133334 1.0) + (sp-rnd-flt spt-friction 0.75 0.05 1.0) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 749 1) + (sp-launcher-by-id spt-next-launcher 2355) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2347) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 2.0)) - (sp-rnd-flt spt-scale-x (meters 28.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-g -2.3272727) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2347) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2.0)) + (sp-rnd-flt spt-scale-x (meters 28.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-g -2.3272727) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2348) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 2.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.1) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 16.0)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 128.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-y (meters 0.6)) - (sp-flt spt-fade-r -2.1333334) - (sp-flt spt-fade-g -2.1333334) - (sp-flt spt-fade-a -1.0666667) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2348) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 16.0)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 128.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-y (meters 0.6)) + (sp-flt spt-fade-r -2.1333334) + (sp-flt spt-fade-g -2.1333334) + (sp-flt spt-fade-a -1.0666667) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 558) - (new 'static 'sparticle-launch-group - :length 79 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-evilsib-hover" - :launcher - (new 'static 'inline-array sparticle-group-item 79 - (sp-item 2386 :binding 2385) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - (sp-item 2384 :flags (bit1 start-dead)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 558) (new 'static 'sparticle-launch-group + :length 79 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-evilsib-hover" + :launcher + (new 'static 'inline-array sparticle-group-item 79 + (sp-item 2386 :binding 2385) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2385 :flags (bit1 start-dead launch-asap) :binding 2384) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + (sp-item 2384 :flags (bit1 start-dead)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2386) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-accel-y -2.048) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2386) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.25) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-accel-y -2.048) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2385) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z 1024.0 1024.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.025) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.04444444) (meters 0.08888888) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0027777778)) - (sp-flt spt-scalevel-x (meters 0.00027777778)) - (sp-rnd-flt spt-rotvel-z (degrees -0.53333336) (degrees 1.0666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-int-plain-rnd spt-next-time 30 14 1) - (sp-launcher-by-id spt-next-launcher 2388) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2385) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z 1024.0 1024.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.025) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.04444444) (meters 0.08888888) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0027777778)) + (sp-flt spt-scalevel-x (meters 0.00027777778)) + (sp-rnd-flt spt-rotvel-z (degrees -0.53333336) (degrees 1.0666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-int-plain-rnd spt-next-time 30 14 1) + (sp-launcher-by-id spt-next-launcher 2388) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2388) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2389) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2388) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2389) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2389) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-vel-z (meters -0.008333334)) - (sp-flt spt-scalevel-x (meters -0.00041666668)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2389) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-vel-z (meters -0.008333334)) + (sp-flt spt-scalevel-x (meters -0.00041666668)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -1.0666667) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2384) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.03)) - (sp-rnd-flt spt-rotvel-z (degrees -0.53333336) (degrees 1.0666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -4.8) - (sp-flt spt-accel-y -1.3653333) - (sp-int spt-timer 15) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2384) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.03)) + (sp-rnd-flt spt-rotvel-z (degrees -0.53333336) (degrees 1.0666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -4.8) + (sp-flt spt-accel-y -1.3653333) + (sp-int spt-timer 15) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 560) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-sequenceC-glowing-can" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2298)) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 560) (new 'static 'sparticle-launch-group + :length 1 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-sequenceC-glowing-can" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2298)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2298) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.0) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters -0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2298) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.0) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 561) - (new 'static 'sparticle-launch-group - :length 69 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-sequenceC-exploding-can" - :launcher - (new 'static 'inline-array sparticle-group-item 69 - (sp-item 2785 :period 1800 :length 5) - (sp-item 2786 :period 1800 :length 40) - (sp-item 2787 :period 1800 :length 20) - (sp-item 2788 :period 1800 :length 20) - (sp-item 2830 :fade-after (meters 100.0) :period 600 :length 5 :binding 296) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 561) + (new 'static 'sparticle-launch-group + :length 69 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-sequenceC-exploding-can" + :launcher + (new 'static 'inline-array sparticle-group-item 69 + (sp-item 2785 :period 1800 :length 5) + (sp-item 2786 :period 1800 :length 40) + (sp-item 2787 :period 1800 :length 20) + (sp-item 2788 :period 1800 :length 20) + (sp-item 2830 :fade-after (meters 100.0) :period 600 :length 5 :binding 296) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2830) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -8192.0 16384.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2830) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -8192.0 16384.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 140.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2786) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-y (meters -1.5) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0) - (sp-flt spt-scalevel-x (meters -0.0026666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 2789) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2786) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-y (meters -1.5) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0) + (sp-flt spt-scalevel-x (meters -0.0026666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 2789) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2789) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2789) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.0666667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2788) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 12.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 12.0)) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 1.04)) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2788) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 12.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 12.0)) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 1.04)) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2785) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 24.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2785) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 24.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2787) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-y (meters -1.5) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 96.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.04) 1.0) - (sp-flt spt-scalevel-x (meters 0.02)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.28444445) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2787) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-y (meters -1.5) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 96.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.04) 1.0) + (sp-flt spt-scalevel-x (meters 0.02)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.28444445) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 562) - (new 'static 'sparticle-launch-group - :length 36 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-sequenceC-dark-splash" - :launcher - (new 'static 'inline-array sparticle-group-item 36 - (sp-item 295 :fade-after (meters 100.0) :period 600 :length 5 :binding 296) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 296 :flags (start-dead launch-asap) :binding 297) - (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) - (sp-item 2095 :period 600 :length 5) - (sp-item 2096 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 600 :length 40) - (sp-item 2097 :period 600 :length 20) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 562) + (new 'static 'sparticle-launch-group + :length 36 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-sequenceC-dark-splash" + :launcher + (new 'static 'inline-array sparticle-group-item 36 + (sp-item 295 :fade-after (meters 100.0) :period 600 :length 5 :binding 296) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 296 :flags (start-dead launch-asap) :binding 297) + (sp-item 297 :fade-after (meters 80.0) :falloff-to (meters 100.0) :flags (start-dead)) + (sp-item 2095 :period 600 :length 5) + (sp-item 2096 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 600 :length 40) + (sp-item 2097 :period 600 :length 20) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 681) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x5 - :linger-duration #x384 - :flags (sp-group-flag use-local-clock) - :name "group-sequenceC-blow-dust" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2790)) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 681) (new 'static 'sparticle-launch-group + :length 1 + :duration #x5 + :linger-duration #x384 + :flags (sp-group-flag use-local-clock) + :name "group-sequenceC-blow-dust" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2790)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2790) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 32.0 1.0) - (sp-rnd-flt spt-g 96.0 64.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.4) - (sp-rnd-flt spt-accel-y 1.3653333 -1.3653333 1.0) - (sp-flt spt-friction 0.92) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 15 44 1) - (sp-launcher-by-id spt-next-launcher 2822) - (sp-rnd-flt spt-conerot-x (degrees 112.99999) (degrees 2.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -12.500001) (degrees 15.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.3) (meters -0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2790) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 32.0 1.0) + (sp-rnd-flt spt-g 96.0 64.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.4) + (sp-rnd-flt spt-accel-y 1.3653333 -1.3653333 1.0) + (sp-flt spt-friction 0.92) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 15 44 1) + (sp-launcher-by-id spt-next-launcher 2822) + (sp-rnd-flt spt-conerot-x (degrees 112.99999) (degrees 2.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -12.500001) (degrees 15.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.3) (meters -0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2822) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.1) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2822) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.1) (sp-end)) + ) + ) ;; definition of type sequenceB (deftype sequenceB (process-taskable) @@ -1422,8 +1323,8 @@ ;; definition for method 3 of type sequenceB (defmethod inspect sequenceB ((obj sequenceB)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tbonelurker: ~D~%" (-> obj bonelurker)) (format #t "~T~Tevilbro: ~D~%" (-> obj evilbro)) (format #t "~T~Tevilsis: ~D~%" (-> obj evilsis)) @@ -1446,15 +1347,11 @@ ;; definition for method 3 of type sequenceC (defmethod inspect sequenceC ((obj sequenceC)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tbonelurker: ~D~%" (-> obj bonelurker)) (format #t "~T~Tdarkecocan: ~D~%" (-> obj darkecocan)) - (format - #t - "~T~Tdarkecocan-glowing-look: #~%" - (-> obj darkecocan-glowing-look) - ) + (format #t "~T~Tdarkecocan-glowing-look: #~%" (-> obj darkecocan-glowing-look)) obj ) @@ -1529,74 +1426,73 @@ ;; definition for symbol *lurker-army*, type (array army-info) (define *lurker-army* - (the-as (array army-info) - (new - 'static - 'boxed-array - :type army-info :length 9 :allocated-length 9 - (new 'static 'army-info - :pos - (new 'static 'vector :x -920633.4 :y 83546.11 :z 4210409.5) - :rot 28556.04 - :skel 'babak - ) - (new 'static 'army-info - :pos - (new 'static 'vector :x -873488.4 :y 86441.984 :z 4225454.0) - :rot 37861.24 - :start-frame 5.0 - :skel 'babak - ) - (new 'static 'army-info - :pos - (new 'static 'vector :x -905871.4 :y 83132.414 :z 4231934.0) - :rot 32054.021 - :start-frame 10.0 - :skel 'babak - ) - (new 'static 'army-info - :pos - (new 'static 'vector :x -926765.06 :y 83496.96 :z 4236230.5) - :rot 30001.652 - :start-frame 15.0 - :skel 'babak - ) - (new 'static 'army-info - :pos - (new 'static 'vector :x -893345.8 :y 83517.44 :z 4212961.5) - :rot 32755.074 - :start-frame 20.0 - :skel 'babak - ) - (new 'static 'army-info - :pos - (new 'static 'vector :x -842797.06 :y 84041.73 :z 4218855.5) - :rot 43916.402 - :skel 'bonelurker - ) - (new 'static 'army-info - :pos - (new 'static 'vector :x -839274.5 :y 82644.99 :z 4248723.5) - :rot 40510.715 - :start-frame 6.0 - :skel 'bonelurker - ) - (new 'static 'army-info - :pos - (new 'static 'vector :x -871485.44 :y 85909.51 :z 4243181.5) - :rot 37046.043 - :start-frame 12.0 - :skel 'bonelurker - ) - (new 'static 'army-info - :pos - (new 'static 'vector :x -947523.56 :y 85835.77 :z 4219314.0) - :rot 26980.078 - :start-frame 18.0 - :skel 'bonelurker - ) - ) - ) + (the-as (array army-info) (new + 'static + 'boxed-array + :type army-info :length 9 :allocated-length 9 + (new 'static 'army-info + :pos + (new 'static 'vector :x -920633.4 :y 83546.11 :z 4210409.5) + :rot 28556.04 + :skel 'babak + ) + (new 'static 'army-info + :pos + (new 'static 'vector :x -873488.4 :y 86441.984 :z 4225454.0) + :rot 37861.24 + :start-frame 5.0 + :skel 'babak + ) + (new 'static 'army-info + :pos + (new 'static 'vector :x -905871.4 :y 83132.414 :z 4231934.0) + :rot 32054.021 + :start-frame 10.0 + :skel 'babak + ) + (new 'static 'army-info + :pos + (new 'static 'vector :x -926765.06 :y 83496.96 :z 4236230.5) + :rot 30001.652 + :start-frame 15.0 + :skel 'babak + ) + (new 'static 'army-info + :pos + (new 'static 'vector :x -893345.8 :y 83517.44 :z 4212961.5) + :rot 32755.074 + :start-frame 20.0 + :skel 'babak + ) + (new 'static 'army-info + :pos + (new 'static 'vector :x -842797.06 :y 84041.73 :z 4218855.5) + :rot 43916.402 + :skel 'bonelurker + ) + (new 'static 'army-info + :pos + (new 'static 'vector :x -839274.5 :y 82644.99 :z 4248723.5) + :rot 40510.715 + :start-frame 6.0 + :skel 'bonelurker + ) + (new 'static 'army-info + :pos + (new 'static 'vector :x -871485.44 :y 85909.51 :z 4243181.5) + :rot 37046.043 + :start-frame 12.0 + :skel 'bonelurker + ) + (new 'static 'army-info + :pos + (new 'static 'vector :x -947523.56 :y 85835.77 :z 4219314.0) + :rot 26980.078 + :start-frame 18.0 + :skel 'bonelurker + ) + ) + ) ) ;; definition for function evilsib-trans-hook-hover @@ -1610,31 +1506,17 @@ ;; INFO: Return type mismatch int vs none. (defbehavior evilsib-trans-hook-wait evilbro () (when (>= (ja-aframe-num 0) 425.0) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-2 (method-of-type part-tracker activate))) - (t9-2 - (the-as part-tracker gp-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-2 (method-of-type part-tracker activate))) + (t9-2 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 part-tracker-init (-> *part-group-id-table* 557) -1 #f #f #f (-> self draw origin)) + (-> gp-0 ppointer) + ) ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 557) - -1 - #f - #f - #f - (-> self draw origin) - ) - (-> gp-0 ppointer) - ) + (send-event self 'trans-hook evilsib-trans-hook-hover) ) - (send-event self 'trans-hook evilsib-trans-hook-hover) - ) 0 (none) ) @@ -1642,582 +1524,183 @@ ;; definition for method 32 of type sequenceB (defmethod play-anim! sequenceB ((obj sequenceB) (arg0 symbol)) (with-pp - (cond - (arg0 - (send-event *target* 'sidekick #f) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj bonelurker) (ppointer->handle (when s5-0 - (let - ((t9-2 - (method-of-type - manipy - activate - ) - ) - ) - (t9-2 - (the-as manipy s5-0) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *bonelurker-sg* - #f - ) - (-> s5-0 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj bonelurker)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj bonelurker)) 'center-joint 3) - (set-setting! - *setting-control* - pp - 'music-volume-movie - 'abs - (the-as float 0.0) - 0 - ) - (set-setting! - *setting-control* - pp - 'sfx-volume-movie - 'abs - (the-as float 0.0) - 0 - ) - (set-setting! - *setting-control* - pp - 'ambient-volume-movie - 'abs - (the-as float 0.0) - 0 - ) - (dotimes (s5-1 9) - (let ((s4-0 (-> *lurker-army* s5-1))) - (cond - ((= (-> s4-0 skel) 'bonelurker) - (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj lurker-army s5-1) (ppointer->handle (when s3-0 - (let - ((t9-10 - (method-of-type - manipy - activate - ) - ) - ) - (t9-10 - (the-as - manipy - s3-0 - ) - obj - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s3-0 - manipy-init - (-> s4-0 pos) - (-> obj entity) - *bonelurker-sg* - #f - ) - (-> s3-0 ppointer) - ) + (cond + (arg0 + (send-event *target* 'sidekick #f) + (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj bonelurker) + (ppointer->handle + (when s5-0 + (let ((t9-2 (method-of-type manipy activate))) + (t9-2 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *bonelurker-sg* #f) + (-> s5-0 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj bonelurker)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj bonelurker)) 'center-joint 3) + (set-setting! *setting-control* pp 'music-volume-movie 'abs (the-as float 0.0) 0) + (set-setting! *setting-control* pp 'sfx-volume-movie 'abs (the-as float 0.0) 0) + (set-setting! *setting-control* pp 'ambient-volume-movie 'abs (the-as float 0.0) 0) + (dotimes (s5-1 9) + (let ((s4-0 (-> *lurker-army* s5-1))) + (cond + ((= (-> s4-0 skel) 'bonelurker) + (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj lurker-army s5-1) + (ppointer->handle (when s3-0 + (let ((t9-10 (method-of-type manipy activate))) + (t9-10 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s3-0 manipy-init (-> s4-0 pos) (-> obj entity) *bonelurker-sg* #f) + (-> s3-0 ppointer) ) - ) - ) - (let ((s3-1 (handle->process (-> obj lurker-army s5-1)))) - (when s3-1 - (set! (-> (the-as babak s3-1) draw light-index) (the-as uint 1)) - (set! - (-> (the-as babak s3-1) draw level-index) - (the-as uint (-> (level-get *level* 'misty) index)) + ) + ) + ) + (let ((s3-1 (handle->process (-> obj lurker-army s5-1)))) + (when s3-1 + (set! (-> (the-as babak s3-1) draw light-index) (the-as uint 1)) + (set! (-> (the-as babak s3-1) draw level-index) (the-as uint (-> (level-get *level* 'misty) index))) + ) + ) + ) + (else + (let ((s3-2 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj lurker-army s5-1) + (ppointer->handle (when s3-2 + (let ((t9-14 (method-of-type manipy activate))) + (t9-14 (the-as manipy s3-2) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s3-2 manipy-init (-> s4-0 pos) (-> obj entity) *babak-sg* #f) + (-> s3-2 ppointer) + ) + ) + ) + ) + (let ((s3-3 (handle->process (-> obj lurker-army s5-1)))) + (when s3-3 + (set! (-> (the-as babak s3-3) draw light-index) (the-as uint 1)) + (set! (-> (the-as babak s3-3) draw level-index) (the-as uint (-> (level-get *level* 'misty) index))) + ) + ) + (send-event (handle->process (-> obj lurker-army s5-1)) 'art-joint-anim "idle" 0) + ) + ) + (send-event (handle->process (-> obj lurker-army s5-1)) 'rot (-> s4-0 rot)) ) - ) ) - ) - (else - (let ((s3-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj lurker-army s5-1) (ppointer->handle (when s3-2 - (let - ((t9-14 - (method-of-type - manipy - activate - ) - ) - ) - (t9-14 - (the-as - manipy - s3-2 - ) - obj - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s3-2 - manipy-init - (-> s4-0 pos) - (-> obj entity) - *babak-sg* - #f - ) - (-> s3-2 ppointer) - ) - ) - ) - ) - (let ((s3-3 (handle->process (-> obj lurker-army s5-1)))) - (when s3-3 - (set! (-> (the-as babak s3-3) draw light-index) (the-as uint 1)) - (set! - (-> (the-as babak s3-3) draw level-index) - (the-as uint (-> (level-get *level* 'misty) index)) - ) - ) - ) - (send-event - (handle->process (-> obj lurker-army s5-1)) - 'art-joint-anim - "idle" - 0 - ) - ) - ) - (send-event - (handle->process (-> obj lurker-army s5-1)) - 'rot - (-> s4-0 rot) ) + ((!= (level-status *level* 'intro) 'active) + (return (get-art-elem obj)) ) ) - ) - ((!= (level-status *level* 'intro) 'active) - (return (get-art-elem obj)) - ) - ) - (new 'static 'spool-anim - :name "sidekick-human-intro-sequence-b" - :index 5 - :parts 11 - :command-list - '( - (0 - blackout - 0 + (new 'static 'spool-anim + :name "sidekick-human-intro-sequence-b" + :index 5 + :parts 11 + :command-list + '((0 blackout 0) + (0 setting-reset ocean-off near) + (0 want-levels misty intro) + (0 display-level intro special) + (0 kill "money-1404") + (0 kill "money-1405") + (0 kill "money-1406") + (0 kill "money-1407") + (0 kill "money-1551") + (0 kill "money-1552") + (0 kill "money-1553") + (0 kill "balloonlurker-9") + (0 kill "balloonlurker-10") + (0 kill "balloonlurker-11") + (0 kill "balloonlurker-12") + (0 kill "balloonlurker-13") + (0 kill "balloonlurker-14") + (0 kill "keg-conveyor-8") + (0 kill "mistycannon-8") + (0 kill "muse-2") + (0 kill "mud-1") + (0 kill "mud-2") + (0 kill "mud-3") + (0 kill "mud-4") + (0 kill "mud-5") + (0 kill "mud-6") + (0 kill "mud-7") + (0 kill "mud-8") + (0 kill "mud-9") + (0 kill "mud-10") + (0 kill "mud-11") + (0 kill "dark-eco-pool-11") + (0 kill "sharkey-32") + (0 kill "sharkey-34") + (0 kill "sharkey-39") + (0 kill "sharkey-41") + (0 kill "bonelurker-14") + (0 kill "bonelurker-15") + (0 kill "bonelurker-16") + (0 kill "bonelurker-17") + (0 kill "bonelurker-18") + (0 kill "bonelurker-19") + (0 kill "bonelurker-20") + (0 kill "bonelurker-21") + (0 kill "bonelurker-22") + (0 kill "bonelurker-23") + (0 kill "bonelurker-24") + (0 kill "bonelurker-26") + (0 kill "babak-with-cannon-5") + (0 kill "babak-200") + (0 kill "babak-201") + (0 kill "babak-202") + (0 kill "babak-203") + (0 kill "babak-204") + (0 kill "babak-205") + (0 kill "babak-206") + (0 kill "babak-207") + (0 kill "babak-208") + (0 kill "babak-209") + (0 kill "babak-212") + (0 kill "quicksandlurker-5") + (0 kill "boatpaddle-4") + (0 kill "silostep-7") + (0 kill "silostep-8") + (0 kill "silostep-9") + (0 kill "silostep-10") + (0 kill "orb-cache-top-15") + (0 kill "windturbine-11") + (0 kill "teetertotter-5") + (0 kill "bone-platform-4") + (0 kill "misty-battle-controller-1") + ((the binteger 30) send-event self offset-army) + ((the binteger 196) joint "cameraB") + ((the binteger 196) shadow target #f) + ((the binteger 196) shadow self #f) + ((the binteger 380) send-event self evilbro) + ((the binteger 385) send-event "evilbro" draw #t) + ((the binteger 385) send-event "evilsis" draw #t) + ((the binteger 397) joint "camera") + ((the binteger 410) setting-reset ocean-off #t) + ((the binteger 456) joint "cameraB") + ((the binteger 546) joint "camera") + ((the binteger 701) joint "cameraB") + ((the binteger 701) setting-reset ocean-off near) + ((the binteger 776) joint "camera") + ((the binteger 776) setting-reset ocean-off #t) + ((the binteger 937) joint "cameraB") + ((the binteger 1027) joint "camera") + ((the binteger 1122) joint "cameraB") + ((the binteger 1221) joint "cameraB") + ((the binteger 1221) setting-reset ocean-off near) + ((the binteger 1280) alive "sequenceC-1") + ((the binteger 1281) save) + ((the binteger 1281) shadow target #t) + ((the binteger 1281) setting-unset ocean-off) ) - (0 - setting-reset - ocean-off - near - ) - (0 - want-levels - misty - intro - ) - (0 - display-level - intro - special - ) - (0 - kill - "money-1404" - ) - (0 - kill - "money-1405" - ) - (0 - kill - "money-1406" - ) - (0 - kill - "money-1407" - ) - (0 - kill - "money-1551" - ) - (0 - kill - "money-1552" - ) - (0 - kill - "money-1553" - ) - (0 - kill - "balloonlurker-9" - ) - (0 - kill - "balloonlurker-10" - ) - (0 - kill - "balloonlurker-11" - ) - (0 - kill - "balloonlurker-12" - ) - (0 - kill - "balloonlurker-13" - ) - (0 - kill - "balloonlurker-14" - ) - (0 - kill - "keg-conveyor-8" - ) - (0 - kill - "mistycannon-8" - ) - (0 - kill - "muse-2" - ) - (0 - kill - "mud-1" - ) - (0 - kill - "mud-2" - ) - (0 - kill - "mud-3" - ) - (0 - kill - "mud-4" - ) - (0 - kill - "mud-5" - ) - (0 - kill - "mud-6" - ) - (0 - kill - "mud-7" - ) - (0 - kill - "mud-8" - ) - (0 - kill - "mud-9" - ) - (0 - kill - "mud-10" - ) - (0 - kill - "mud-11" - ) - (0 - kill - "dark-eco-pool-11" - ) - (0 - kill - "sharkey-32" - ) - (0 - kill - "sharkey-34" - ) - (0 - kill - "sharkey-39" - ) - (0 - kill - "sharkey-41" - ) - (0 - kill - "bonelurker-14" - ) - (0 - kill - "bonelurker-15" - ) - (0 - kill - "bonelurker-16" - ) - (0 - kill - "bonelurker-17" - ) - (0 - kill - "bonelurker-18" - ) - (0 - kill - "bonelurker-19" - ) - (0 - kill - "bonelurker-20" - ) - (0 - kill - "bonelurker-21" - ) - (0 - kill - "bonelurker-22" - ) - (0 - kill - "bonelurker-23" - ) - (0 - kill - "bonelurker-24" - ) - (0 - kill - "bonelurker-26" - ) - (0 - kill - "babak-with-cannon-5" - ) - (0 - kill - "babak-200" - ) - (0 - kill - "babak-201" - ) - (0 - kill - "babak-202" - ) - (0 - kill - "babak-203" - ) - (0 - kill - "babak-204" - ) - (0 - kill - "babak-205" - ) - (0 - kill - "babak-206" - ) - (0 - kill - "babak-207" - ) - (0 - kill - "babak-208" - ) - (0 - kill - "babak-209" - ) - (0 - kill - "babak-212" - ) - (0 - kill - "quicksandlurker-5" - ) - (0 - kill - "boatpaddle-4" - ) - (0 - kill - "silostep-7" - ) - (0 - kill - "silostep-8" - ) - (0 - kill - "silostep-9" - ) - (0 - kill - "silostep-10" - ) - (0 - kill - "orb-cache-top-15" - ) - (0 - kill - "windturbine-11" - ) - (0 - kill - "teetertotter-5" - ) - (0 - kill - "bone-platform-4" - ) - (0 - kill - "misty-battle-controller-1" - ) - ((the binteger 30) - send-event - self - offset-army - ) - ((the binteger 196) - joint - "cameraB" - ) - ((the binteger 196) - shadow - target - #f - ) - ((the binteger 196) - shadow - self - #f - ) - ((the binteger 380) - send-event - self - evilbro - ) - ((the binteger 385) - send-event - "evilbro" - draw - #t - ) - ((the binteger 385) - send-event - "evilsis" - draw - #t - ) - ((the binteger 397) - joint - "camera" - ) - ((the binteger 410) - setting-reset - ocean-off - #t - ) - ((the binteger 456) - joint - "cameraB" - ) - ((the binteger 546) - joint - "camera" - ) - ((the binteger 701) - joint - "cameraB" - ) - ((the binteger 701) - setting-reset - ocean-off - near - ) - ((the binteger 776) - joint - "camera" - ) - ((the binteger 776) - setting-reset - ocean-off - #t - ) - ((the binteger 937) - joint - "cameraB" - ) - ((the binteger 1027) - joint - "camera" - ) - ((the binteger 1122) - joint - "cameraB" - ) - ((the binteger 1221) - joint - "cameraB" - ) - ((the binteger 1221) - setting-reset - ocean-off - near - ) - ((the binteger 1280) - alive - "sequenceC-1" - ) - ((the binteger 1281) - save - ) - ((the binteger 1281) - shadow - target - #t - ) - ((the binteger 1281) setting-unset ocean-off) ) ) - ) ) ;; definition for method 31 of type sequenceB @@ -2230,217 +1713,138 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('offset-army) - (dotimes (gp-0 9) - (let ((v1-3 (-> *lurker-army* gp-0))) - (send-event - (handle->process (-> self lurker-army gp-0)) - 'set-frame-num - (-> v1-3 start-frame) + (case arg2 + (('offset-army) + (dotimes (gp-0 9) + (let ((v1-3 (-> *lurker-army* gp-0))) + (send-event (handle->process (-> self lurker-army gp-0)) 'set-frame-num (-> v1-3 start-frame)) + ) ) - ) + #f ) - #f - ) - (('evilbro) - (when (= (level-status *level* 'intro) 'active) - (let ((gp-2 (entity-by-name "evilbro-2"))) - (when gp-2 - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self evilbro) (ppointer->handle (when s5-0 - (let - ((t9-4 - (method-of-type - manipy - activate - ) - ) - ) - (t9-4 - (the-as manipy s5-0) - self - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-0 - manipy-init - (-> - self - root-override - trans - ) - gp-2 - *evilbro-sg* - #f - ) - (-> s5-0 ppointer) - ) - ) - ) - ) - (let ((gp-3 (handle->process (-> self evilbro)))) - (when gp-3 - (set! (-> (the-as evilbro gp-3) draw light-index) (the-as uint 1)) - (set! - (-> (the-as evilbro gp-3) draw level-index) - (the-as uint (-> (level-get *level* 'misty) index)) + (('evilbro) + (when (= (level-status *level* 'intro) 'active) + (let ((gp-2 (entity-by-name "evilbro-2"))) + (when gp-2 + (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> self evilbro) + (ppointer->handle (when s5-0 + (let ((t9-4 (method-of-type manipy activate))) + (t9-4 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 manipy-init (-> self root-override trans) gp-2 *evilbro-sg* #f) + (-> s5-0 ppointer) + ) + ) + ) + ) + (let ((gp-3 (handle->process (-> self evilbro)))) + (when gp-3 + (set! (-> (the-as evilbro gp-3) draw light-index) (the-as uint 1)) + (set! (-> (the-as evilbro gp-3) draw level-index) (the-as uint (-> (level-get *level* 'misty) index))) + ) + ) + (send-event (handle->process (-> self evilbro)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> self evilbro)) 'blend-shape #t) + (send-event (handle->process (-> self evilbro)) 'center-joint 3) + (send-event (handle->process (-> self evilbro)) 'trans-hook evilsib-trans-hook-wait) + (send-event (handle->process (-> self evilbro)) 'draw #f) + (send-event + (handle->process (-> self evilbro)) + 'eval + (lambda :behavior sequenceB () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 558) self))) + (set! (-> self part) v0-0) + v0-0 + ) + ) + ) + ) ) - ) - ) - (send-event (handle->process (-> self evilbro)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> self evilbro)) 'blend-shape #t) - (send-event (handle->process (-> self evilbro)) 'center-joint 3) - (send-event - (handle->process (-> self evilbro)) - 'trans-hook - evilsib-trans-hook-wait - ) - (send-event (handle->process (-> self evilbro)) 'draw #f) - (send-event - (handle->process (-> self evilbro)) - 'eval - (lambda :behavior sequenceB - () - (let - ((v0-0 (create-launch-control (-> *part-group-id-table* 558) self))) - (set! (-> self part) v0-0) - v0-0 + (let ((gp-4 (entity-by-name "evilsis-2"))) + (when gp-4 + (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> self evilsis) + (ppointer->handle (when s5-1 + (let ((t9-15 (method-of-type manipy activate))) + (t9-15 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 manipy-init (-> self root-override trans) gp-4 *evilsis-sg* #f) + (-> s5-1 ppointer) + ) + ) + ) + ) + (let ((gp-5 (handle->process (-> self evilsis)))) + (when gp-5 + (set! (-> (the-as evilsis gp-5) draw light-index) (the-as uint 1)) + (set! (-> (the-as evilsis gp-5) draw level-index) (the-as uint (-> (level-get *level* 'misty) index))) + ) + ) + (send-event (handle->process (-> self evilsis)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> self evilsis)) 'blend-shape #t) + (send-event (handle->process (-> self evilsis)) 'center-joint 3) + (send-event (handle->process (-> self evilsis)) 'trans-hook evilsib-trans-hook-wait) + (send-event (handle->process (-> self evilsis)) 'draw #f) + (send-event + (handle->process (-> self evilsis)) + 'eval + (lambda :behavior sequenceB () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 558) self))) + (set! (-> self part) v0-0) + v0-0 + ) + ) + ) + ) ) - ) ) - ) - ) - (let ((gp-4 (entity-by-name "evilsis-2"))) - (when gp-4 - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self evilsis) (ppointer->handle (when s5-1 - (let - ((t9-15 - (method-of-type - manipy - activate - ) - ) - ) - (t9-15 - (the-as manipy s5-1) - self - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> - self - root-override - trans - ) - gp-4 - *evilsis-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) - ) - ) - (let ((gp-5 (handle->process (-> self evilsis)))) - (when gp-5 - (set! (-> (the-as evilsis gp-5) draw light-index) (the-as uint 1)) - (set! - (-> (the-as evilsis gp-5) draw level-index) - (the-as uint (-> (level-get *level* 'misty) index)) - ) - ) - ) - (send-event (handle->process (-> self evilsis)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> self evilsis)) 'blend-shape #t) - (send-event (handle->process (-> self evilsis)) 'center-joint 3) - (send-event - (handle->process (-> self evilsis)) - 'trans-hook - evilsib-trans-hook-wait - ) - (send-event (handle->process (-> self evilsis)) 'draw #f) - (send-event - (handle->process (-> self evilsis)) - 'eval - (lambda :behavior sequenceB - () - (let - ((v0-0 (create-launch-control (-> *part-group-id-table* 558) self))) - (set! (-> self part) v0-0) - v0-0 - ) - ) - ) - ) ) ) - ) ) - ) :exit (behavior () - (send-event *target* 'sidekick #t) - (let ((a0-2 (handle->process (-> self bonelurker)))) - (if a0-2 - (deactivate a0-2) - ) - ) - (let ((a0-6 (handle->process (-> self evilbro)))) - (if a0-6 - (deactivate a0-6) - ) - ) - (let ((a0-10 (handle->process (-> self evilsis)))) - (if a0-10 - (deactivate a0-10) - ) - ) - (dotimes (gp-0 9) - (let ((a0-14 (handle->process (-> self lurker-army gp-0)))) - (if a0-14 - (deactivate a0-14) + (send-event *target* 'sidekick #t) + (let ((a0-2 (handle->process (-> self bonelurker)))) + (if a0-2 + (deactivate a0-2) + ) ) - ) + (let ((a0-6 (handle->process (-> self evilbro)))) + (if a0-6 + (deactivate a0-6) + ) + ) + (let ((a0-10 (handle->process (-> self evilsis)))) + (if a0-10 + (deactivate a0-10) + ) + ) + (dotimes (gp-0 9) + (let ((a0-14 (handle->process (-> self lurker-army gp-0)))) + (if a0-14 + (deactivate a0-14) + ) + ) + ) + ((-> (method-of-type process-taskable play-anim) exit)) + (let ((gp-1 (entity-by-name "sequenceC-1"))) + (set-blackout-frames 6000) + (send-event *camera* 'clear-entity) + (entity-birth-no-kill gp-1) + (send-event + (if gp-1 + (-> gp-1 extra process) + ) + 'play-anim + ) + ) + (none) ) - ((-> (method-of-type process-taskable play-anim) exit)) - (let ((gp-1 (entity-by-name "sequenceC-1"))) - (set-blackout-frames 6000) - (send-event *camera* 'clear-entity) - (entity-birth-no-kill gp-1) - (send-event (if gp-1 - (-> gp-1 extra process) - ) - 'play-anim - ) - ) - (none) - ) :trans (behavior () - (spool-push - *art-control* - "sidekick-human-intro-sequence-c" - 0 - self - (the-as float -1.0) + (spool-push *art-control* "sidekick-human-intro-sequence-c" 0 self (the-as float -1.0)) + ((-> (method-of-type process-taskable play-anim) trans)) + (none) ) - ((-> (method-of-type process-taskable play-anim) trans)) - (none) - ) ) ;; definition for method 39 of type sequenceB @@ -2450,22 +1854,14 @@ ;; definition for method 11 of type sequenceB (defmethod init-from-entity! sequenceB ((obj sequenceB) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *sidekick-human-sg* - 3 - 44 - (new 'static 'vector :w 4096.0) - -1 - ) + (dummy-40 obj arg0 *sidekick-human-sg* 3 44 (new 'static 'vector :w 4096.0) -1) (set! (-> obj tasks) (get-task-control (game-task intro))) (set! (-> obj bonelurker) (the-as handle #f)) (set! (-> obj evilbro) (the-as handle #f)) (set! (-> obj evilsis) (the-as handle #f)) (dotimes (v1-2 9) - (set! (-> obj lurker-army v1-2) (the-as handle #f)) - ) + (set! (-> obj lurker-army v1-2) (the-as handle #f)) + ) (dummy-42 obj) (none) ) @@ -2474,35 +1870,21 @@ ;; INFO: Return type mismatch int vs none. (defbehavior sequenceC-can-trans-hook-2 sequenceC () (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 4)) - (spawn (-> self part) gp-0) - ) - (when (>= (ja-aframe-num 0) 1590.0) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 561) - -1 - #f - #f - #f - (-> self draw origin) - ) - (-> gp-1 ppointer) - ) + (vector<-cspace! gp-0 (-> self node-list data 4)) + (spawn (-> self part) gp-0) + ) + (when (>= (ja-aframe-num 0) 1590.0) + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-1 + (let ((t9-4 (method-of-type part-tracker activate))) + (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 561) -1 #f #f #f (-> self draw origin)) + (-> gp-1 ppointer) + ) + ) + (send-event self 'trans-hook nothing) ) - (send-event self 'trans-hook nothing) - ) 0 (none) ) @@ -2511,16 +1893,10 @@ ;; INFO: Return type mismatch int vs none. (defbehavior sequenceC-can-trans-hook sequenceC () (when (>= (ja-aframe-num 0) 1055.0) - (lods-assign! - (-> self draw) - (the-as - lod-set - (&-> (the-as process-taskable (-> self parent 0)) stack 288) - ) + (lods-assign! (-> self draw) (the-as lod-set (&-> (the-as process-taskable (-> self parent 0)) stack 288))) + (send-event self 'trans-hook sequenceC-can-trans-hook-2) + (set-vector! (-> self draw color-emissive) 0.5 0.0 0.0 0.0) ) - (send-event self 'trans-hook sequenceC-can-trans-hook-2) - (set-vector! (-> self draw color-emissive) 0.5 0.0 0.0 0.0) - ) 0 (none) ) @@ -2529,333 +1905,118 @@ ;; INFO: Return type mismatch spool-anim vs basic. (defmethod play-anim! sequenceC ((obj sequenceC) (arg0 symbol)) (with-pp - (when arg0 - (set-setting! - *setting-control* - pp - 'music-volume-movie - 'abs - (the-as float 0.0) - 0 - ) - (set-setting! - *setting-control* - pp - 'sfx-volume-movie - 'abs - (the-as float 0.0) - 0 - ) - (set-setting! - *setting-control* - pp - 'ambient-volume-movie - 'abs - (the-as float 0.0) - 0 - ) - (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj bonelurker) (ppointer->handle (when s5-0 - (let - ((t9-4 - (method-of-type - manipy - activate - ) - ) - ) - (t9-4 - (the-as manipy s5-0) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *bonelurker-sg* - #f - ) - (-> s5-0 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj bonelurker)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj bonelurker)) 'center-joint 3) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj darkecocan) (ppointer->handle (when s5-1 - (let - ((t9-9 - (method-of-type - manipy - activate - ) - ) - ) - (t9-9 - (the-as manipy s5-1) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *darkecocan-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj darkecocan)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj darkecocan)) 'center-joint 3) - (send-event - (handle->process (-> obj darkecocan)) - 'trans-hook - sequenceC-can-trans-hook - ) - (send-event - (handle->process (-> obj darkecocan)) - 'eval - (lambda :behavior sequenceC - () - ((method-of-type lod-set dummy-9) - (the-as - lod-set - (&-> (the-as process-taskable (-> self parent 0)) stack 288) + (when arg0 + (set-setting! *setting-control* pp 'music-volume-movie 'abs (the-as float 0.0) 0) + (set-setting! *setting-control* pp 'sfx-volume-movie 'abs (the-as float 0.0) 0) + (set-setting! *setting-control* pp 'ambient-volume-movie 'abs (the-as float 0.0) 0) + (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj bonelurker) + (ppointer->handle + (when s5-0 + (let ((t9-4 (method-of-type manipy activate))) + (t9-4 (the-as manipy s5-0) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 manipy-init (-> obj root-override trans) (-> obj entity) *bonelurker-sg* #f) + (-> s5-0 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj bonelurker)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj bonelurker)) 'center-joint 3) + (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj darkecocan) + (ppointer->handle + (when s5-1 + (let ((t9-9 (method-of-type manipy activate))) + (t9-9 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *darkecocan-sg* #f) + (-> s5-1 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj darkecocan)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj darkecocan)) 'center-joint 3) + (send-event (handle->process (-> obj darkecocan)) 'trans-hook sequenceC-can-trans-hook) + (send-event + (handle->process (-> obj darkecocan)) + 'eval + (lambda :behavior sequenceC + () + ((method-of-type lod-set dummy-9) + (the-as lod-set (&-> (the-as process-taskable (-> self parent 0)) stack 288)) + *darkecocan-glow-sg* + (-> self draw art-group) + (-> (the-as process-taskable (-> self parent 0)) entity) + ) + (let ((v0-1 (create-launch-control (-> *part-group-id-table* 560) self))) + (set! (-> self part) v0-1) + v0-1 + ) + ) ) - *darkecocan-glow-sg* - (-> self draw art-group) - (-> (the-as process-taskable (-> self parent 0)) entity) - ) - (let ((v0-1 (create-launch-control (-> *part-group-id-table* 560) self))) - (set! (-> self part) v0-1) - v0-1 - ) ) - ) + (the-as basic (new 'static 'spool-anim + :name "sidekick-human-intro-sequence-c" + :index 6 + :parts 22 + :command-list + '((0 blackout 0) + (0 kill "fuel-cell-11") + (0 kill "fuel-cell-50") + (0 kill "money-1561") + (0 kill "money-1562") + (0 kill "money-1563") + (0 kill "money-1564") + (0 kill "money-1565") + ((the binteger 5) alive "dark-eco-pool-11") + ((the binteger 151) joint "cameraB") + ((the binteger 200) want-levels misty village1) + ((the binteger 236) joint "camera") + ((the binteger 301) joint "cameraB") + ((the binteger 421) joint "camera") + ((the binteger 460) shadow self #f) + ((the binteger 470) shadow self #t) + ((the binteger 496) joint "cameraB") + ((the binteger 611) joint "camera") + ((the binteger 721) joint "cameraB") + ((the binteger 1176) joint "camera") + ((the binteger 1271) joint "cameraB") + ((the binteger 1331) joint "camera") + ((the binteger 1386) joint "cameraB") + ((the binteger 1461) joint "camera") + ((the binteger 1524) joint "cameraB") + ((the binteger 1558) joint "camera") + ((the binteger 1602) joint "cameraB") + ((the binteger 1628) joint "camera") + ((the binteger 1676) joint "cameraB") + ((the binteger 1728) joint "camera") + ((the binteger 1791) joint "cameraB") + ((the binteger 1831) joint "camera") + ((the binteger 1942) joint "cameraB") + ((the binteger 2000) display-level village1 special) + ((the binteger 2028) joint "camera") + ((the binteger 2096) joint "cameraB") + ((the binteger 2154) joint "camera") + ((the binteger 2226) joint "cameraB") + ((the binteger 2266) joint "camera") + ((the binteger 2307) joint "cameraB") + ((the binteger 2431) joint "camera") + ((the binteger 2476) joint "cameraB") + ((the binteger 2530) display-level misty movie) + ((the binteger 2530) want-force-vis misty #t) + ((the binteger 2530) dead "dark-eco-pool-11") + ((the binteger 2534) display-level village1 display) + ((the binteger 2535) want-vis vi1) + ((the binteger 2536) joint "camera") + ((the binteger 2580) alive "sage-23") + ((the binteger 2596) save) + ) + ) + ) ) - (the-as - basic - (new 'static 'spool-anim - :name "sidekick-human-intro-sequence-c" - :index 6 - :parts 22 - :command-list - '( - (0 - blackout - 0 - ) - (0 - kill - "fuel-cell-11" - ) - (0 - kill - "fuel-cell-50" - ) - (0 - kill - "money-1561" - ) - (0 - kill - "money-1562" - ) - (0 - kill - "money-1563" - ) - (0 - kill - "money-1564" - ) - (0 - kill - "money-1565" - ) - ((the binteger 5) - alive - "dark-eco-pool-11" - ) - ((the binteger 151) - joint - "cameraB" - ) - ((the binteger 200) - want-levels - misty - village1 - ) - ((the binteger 236) - joint - "camera" - ) - ((the binteger 301) - joint - "cameraB" - ) - ((the binteger 421) - joint - "camera" - ) - ((the binteger 460) - shadow - self - #f - ) - ((the binteger 470) - shadow - self - #t - ) - ((the binteger 496) - joint - "cameraB" - ) - ((the binteger 611) - joint - "camera" - ) - ((the binteger 721) - joint - "cameraB" - ) - ((the binteger 1176) - joint - "camera" - ) - ((the binteger 1271) - joint - "cameraB" - ) - ((the binteger 1331) - joint - "camera" - ) - ((the binteger 1386) - joint - "cameraB" - ) - ((the binteger 1461) - joint - "camera" - ) - ((the binteger 1524) - joint - "cameraB" - ) - ((the binteger 1558) - joint - "camera" - ) - ((the binteger 1602) - joint - "cameraB" - ) - ((the binteger 1628) - joint - "camera" - ) - ((the binteger 1676) - joint - "cameraB" - ) - ((the binteger 1728) - joint - "camera" - ) - ((the binteger 1791) - joint - "cameraB" - ) - ((the binteger 1831) - joint - "camera" - ) - ((the binteger 1942) - joint - "cameraB" - ) - ((the binteger 2000) - display-level - village1 - special - ) - ((the binteger 2028) - joint - "camera" - ) - ((the binteger 2096) - joint - "cameraB" - ) - ((the binteger 2154) - joint - "camera" - ) - ((the binteger 2226) - joint - "cameraB" - ) - ((the binteger 2266) - joint - "camera" - ) - ((the binteger 2307) - joint - "cameraB" - ) - ((the binteger 2431) - joint - "camera" - ) - ((the binteger 2476) - joint - "cameraB" - ) - ((the binteger 2530) - display-level - misty - movie - ) - ((the binteger 2530) - want-force-vis - misty - #t - ) - ((the binteger 2530) - dead - "dark-eco-pool-11" - ) - ((the binteger 2534) - display-level - village1 - display - ) - ((the binteger 2535) - want-vis - vi1 - ) - ((the binteger 2536) - joint - "camera" - ) - ((the binteger 2580) alive "sage-23") ((the binteger 2596) save) - ) - ) - ) - ) ) ;; definition for method 31 of type sequenceC @@ -2868,32 +2029,26 @@ :virtual #t :exit (behavior () - (let ((a0-1 (handle->process (-> self bonelurker)))) - (if a0-1 - (deactivate a0-1) - ) + (let ((a0-1 (handle->process (-> self bonelurker)))) + (if a0-1 + (deactivate a0-1) + ) + ) + (let ((a0-5 (handle->process (-> self darkecocan)))) + (if a0-5 + (deactivate a0-5) + ) + ) + ((-> (method-of-type process-taskable play-anim) exit)) + (start 'play (get-continue-by-name *game-info* "village1-intro")) + (none) ) - (let ((a0-5 (handle->process (-> self darkecocan)))) - (if a0-5 - (deactivate a0-5) - ) - ) - ((-> (method-of-type process-taskable play-anim) exit)) - (start 'play (get-continue-by-name *game-info* "village1-intro")) - (none) - ) :trans (behavior () - (spool-push - *art-control* - "sage-intro-sequence-d1" - 0 - self - (the-as float -1.0) + (spool-push *art-control* "sage-intro-sequence-d1" 0 self (the-as float -1.0)) + ((-> (method-of-type process-taskable play-anim) trans)) + (none) ) - ((-> (method-of-type process-taskable play-anim) trans)) - (none) - ) ) ;; definition for method 39 of type sequenceC @@ -2905,49 +2060,27 @@ ;; INFO: Return type mismatch int vs none. (defbehavior sequenceC-trans-hook sequenceC () (when (>= (ja-aframe-num 0) 1655.0) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 3)) - (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker s5-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-0 (-> self node-list data 3)) + (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-0 + (let ((t9-3 (method-of-type part-tracker activate))) + (t9-3 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 562) -1 #f #f #f gp-0) + (-> s5-0 ppointer) + ) ) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 562) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-0 ppointer) ) - ) + (set! (-> self cur-trans-hook) nothing) ) - (set! (-> self cur-trans-hook) nothing) - ) 0 (none) ) ;; definition for method 11 of type sequenceC (defmethod init-from-entity! sequenceC ((obj sequenceC) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *sidekick-human-sg* - 3 - 44 - (new 'static 'vector :w 4096.0) - -1 - ) + (dummy-40 obj arg0 *sidekick-human-sg* 3 44 (new 'static 'vector :w 4096.0) -1) (set! (-> obj tasks) (get-task-control (game-task intro))) (set! (-> obj bonelurker) (the-as handle #f)) (set! (-> obj darkecocan) (the-as handle #f)) diff --git a/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc b/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc index c1082fb0ae..9fdf43455d 100644 --- a/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc +++ b/test/decompiler/reference/levels/ogre/flying-lurker_REF.gc @@ -24,8 +24,8 @@ ;; definition for method 3 of type plunger-lurker (defmethod inspect plunger-lurker ((obj plunger-lurker)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Talt-actor: ~A~%" (-> obj alt-actor)) (format #t "~T~Tgot-hit: ~A~%" (-> obj got-hit)) obj @@ -44,283 +44,172 @@ (defstate plunger-lurker-plunge (plunger-lurker) :code (behavior () - (set-setting! *setting-control* self 'allow-progress #f 0.0 0) - (logclear! (-> self mask) (process-mask actor-pause)) - (process-entity-status! self (entity-perm-status bit-3) #t) - (while (or (not *target*) (logtest? (-> *target* state-flags) #x8008)) - (suspend) - ) - (while (not (process-grab? *target*)) - (suspend) - ) - (let* ((gp-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let - ((t9-4 (method-of-type manipy activate))) - (t9-4 - (the-as manipy gp-0) - self - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - manipy-init - (-> self entity extra trans) - (-> self entity) - *ogrecam-sg* - #f - ) - (-> gp-0 ppointer) - ) + (set-setting! *setting-control* self 'allow-progress #f 0.0 0) + (logclear! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status bit-3) #t) + (while (or (not *target*) (logtest? (-> *target* state-flags) #x8008)) + (suspend) + ) + (while (not (process-grab? *target*)) + (suspend) + ) + (let* ((gp-0 (get-process *default-dead-pool* manipy #x4000)) + (gp-1 + (ppointer->handle + (when gp-0 + (let ((t9-4 (method-of-type manipy activate))) + (t9-4 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *ogrecam-sg* #f) + (-> gp-0 ppointer) ) - ) - ) - (let - ((s5-0 (the-as othercam (get-process *default-dead-pool* othercam #x4000))) - ) - (ppointer->handle (when s5-0 - (let ((t9-7 (method-of-type othercam activate))) - (t9-7 - s5-0 - (-> gp-1 process 0) - 'othercam - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - othercam-init-by-other - (-> gp-1 process 0) - 4 - #f - #t - ) - (-> s5-0 ppointer) - ) - ) - ) - (send-event - (handle->process gp-1) - 'eval - (lambda :behavior manipy () (let ((v0-0 (logior (-> self draw status) 32))) - (set! (-> self draw status) v0-0) - v0-0 - ) - ) - ) - (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 1) - (set! (-> a1-9 message) 'clone-and-kill-links) - (set! (-> a1-9 param 0) (the-as uint (process->handle self))) - (let ((t9-10 send-event-function) - (v1-34 (-> self alt-actor)) - ) - (t9-10 (if v1-34 - (-> v1-34 extra process) - ) - a1-9 - ) - ) - ) - (send-event (-> gp-1 process 0) 'clone-copy-trans #f) - (send-event (-> gp-1 process 0) 'anim-mode 'clone-anim) - (ja-play-spooled-anim - (new 'static 'spool-anim - :name "plunger-lurker-blowup" - :index 7 - :parts 4 - :command-list - '( - ((the binteger 200) - alive - "tntbarrel-223" - ) - ((the binteger 200) - alive - "tntbarrel-222" - ) - ((the binteger 200) - alive - "tntbarrel-221" - ) - ((the binteger 200) - alive - "tntbarrel-220" - ) - ((the binteger 200) - alive - "tntbarrel-224" - ) - ((the binteger 200) - alive - "tntbarrel-219" - ) - ((the binteger 200) - alive - "tntbarrel-246" - ) - ((the binteger 200) - alive - "tntbarrel-249" - ) - ((the binteger 200) - alive - "tntbarrel-250" - ) - ((the binteger 200) - alive - "tntbarrel-251" - ) - ((the binteger 200) - alive - "tntbarrel-225" - ) - ((the binteger 201) - joint - "cameraB" - ) - ((the binteger 220) - send-event - "tntbarrel-223" - 'die-big - ) - ((the binteger 230) - send-event - "tntbarrel-222" - 'die-big - ) - ((the binteger 240) - send-event - "tntbarrel-221" - 'die-big - ) - ((the binteger 240) - send-event - "tntbarrel-220" - 'die-big - ) - ((the binteger 245) - send-event - "tntbarrel-224" - 'die-big - ) - ((the binteger 250) - send-event - "tntbarrel-219" - 'die-big - ) - ((the binteger 251) - joint - "cameraA" - ) - ((the binteger 260) - send-event - "tntbarrel-246" - 'die-big - ) - ((the binteger 325) - send-event - "tntbarrel-249" - 'die-big - ) - ((the binteger 380) - send-event - "tntbarrel-250" - 'die-big - ) - ((the binteger 410) - send-event - "tntbarrel-251" - 'die-big - ) - ((the binteger 420) - blackout - (the binteger 30) - ) - ((the binteger 421) - joint - "cameraB" - ) - ((the binteger 430) send-event "tntbarrel-225" 'die-big) - ) - ) - (the-as art-joint-anim #f) - (the-as art-joint-anim (-> self draw art-group data 4)) - (the-as (function process-drawable symbol) false-func) - ) - (if (handle->process gp-1) - (deactivate (-> gp-1 process 0)) - ) - ) - (let ((a1-14 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-14 from) self) - (set! (-> a1-14 num-params) 0) - (set! (-> a1-14 message) 'reset) - (let ((t9-15 send-event-function) - (v1-56 (-> self alt-actor)) - ) - (t9-15 (if v1-56 - (-> v1-56 extra process) + ) ) - a1-14 - ) - ) - ) - (process-release? *target*) - (suspend) - 0 - (let ((a1-15 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-15 from) self) - (set! (-> a1-15 num-params) 2) - (set! (-> a1-15 message) 'attack-invinc) - (set! (-> a1-15 param 0) (the-as uint #f)) - (let - ((a0-37 - (new 'static 'array uint32 26 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x20 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 - #x0 + ) + (let ((s5-0 (the-as othercam (get-process *default-dead-pool* othercam #x4000)))) + (ppointer->handle (when s5-0 + (let ((t9-7 (method-of-type othercam activate))) + (t9-7 s5-0 (-> gp-1 process 0) 'othercam (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 othercam-init-by-other (-> gp-1 process 0) 4 #f #t) + (-> s5-0 ppointer) + ) + ) ) - ) + (send-event + (handle->process gp-1) + 'eval + (lambda :behavior manipy () (let ((v0-0 (logior (-> self draw status) 32))) + (set! (-> self draw status) v0-0) + v0-0 + ) + ) + ) + (let ((a1-9 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-9 from) self) + (set! (-> a1-9 num-params) 1) + (set! (-> a1-9 message) 'clone-and-kill-links) + (set! (-> a1-9 param 0) (the-as uint (process->handle self))) + (let ((t9-10 send-event-function) + (v1-34 (-> self alt-actor)) + ) + (t9-10 + (if v1-34 + (-> v1-34 extra process) + ) + a1-9 + ) + ) + ) + (send-event (-> gp-1 process 0) 'clone-copy-trans #f) + (send-event (-> gp-1 process 0) 'anim-mode 'clone-anim) + (ja-play-spooled-anim + (new 'static 'spool-anim + :name "plunger-lurker-blowup" + :index 7 + :parts 4 + :command-list + '(((the binteger 200) alive "tntbarrel-223") + ((the binteger 200) alive "tntbarrel-222") + ((the binteger 200) alive "tntbarrel-221") + ((the binteger 200) alive "tntbarrel-220") + ((the binteger 200) alive "tntbarrel-224") + ((the binteger 200) alive "tntbarrel-219") + ((the binteger 200) alive "tntbarrel-246") + ((the binteger 200) alive "tntbarrel-249") + ((the binteger 200) alive "tntbarrel-250") + ((the binteger 200) alive "tntbarrel-251") + ((the binteger 200) alive "tntbarrel-225") + ((the binteger 201) joint "cameraB") + ((the binteger 220) send-event "tntbarrel-223" 'die-big) + ((the binteger 230) send-event "tntbarrel-222" 'die-big) + ((the binteger 240) send-event "tntbarrel-221" 'die-big) + ((the binteger 240) send-event "tntbarrel-220" 'die-big) + ((the binteger 245) send-event "tntbarrel-224" 'die-big) + ((the binteger 250) send-event "tntbarrel-219" 'die-big) + ((the binteger 251) joint "cameraA") + ((the binteger 260) send-event "tntbarrel-246" 'die-big) + ((the binteger 325) send-event "tntbarrel-249" 'die-big) + ((the binteger 380) send-event "tntbarrel-250" 'die-big) + ((the binteger 410) send-event "tntbarrel-251" 'die-big) + ((the binteger 420) blackout (the binteger 30)) + ((the binteger 421) joint "cameraB") + ((the binteger 430) send-event "tntbarrel-225" 'die-big) + ) + ) + (the-as art-joint-anim #f) + (the-as art-joint-anim (-> self draw art-group data 4)) + (the-as (function process-drawable symbol) false-func) + ) + (if (handle->process gp-1) + (deactivate (-> gp-1 process 0)) + ) ) - (set! (-> a0-37 17) (the-as uint 'instant-death)) - (set! (-> a1-15 param 1) (the-as uint a0-37)) - ) - (send-event-function *target* a1-15) - ) - (dummy-18 self) - (deactivate self) - (while #t + (let ((a1-14 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-14 from) self) + (set! (-> a1-14 num-params) 0) + (set! (-> a1-14 message) 'reset) + (let ((t9-15 send-event-function) + (v1-56 (-> self alt-actor)) + ) + (t9-15 + (if v1-56 + (-> v1-56 extra process) + ) + a1-14 + ) + ) + ) + (process-release? *target*) (suspend) + 0 + (let ((a1-15 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-15 from) self) + (set! (-> a1-15 num-params) 2) + (set! (-> a1-15 message) 'attack-invinc) + (set! (-> a1-15 param 0) (the-as uint #f)) + (let ((a0-37 (new 'static 'array uint32 26 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x20 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + #x0 + ) + ) + ) + (set! (-> a0-37 17) (the-as uint 'instant-death)) + (set! (-> a1-15 param 1) (the-as uint a0-37)) + ) + (send-event-function *target* a1-15) + ) + (dummy-18 self) + (deactivate self) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior plunger-lurker) ja-post) ) @@ -329,152 +218,83 @@ (defstate plunger-lurker-flee (plunger-lurker) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'attack) - (let ((v0-0 #t)) - (set! (-> self got-hit) v0-0) - v0-0 - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'attack) + (let ((v0-0 #t)) + (set! (-> self got-hit) v0-0) + v0-0 + ) + ) + ) + ) ) - ) :trans (behavior () - (when (-> self got-hit) - (close-specific-task! - (game-task plunger-lurker-hit) - (task-status need-hint) - ) - (process-entity-status! self (entity-perm-status complete) #t) - (level-hint-spawn - (game-text-id sidekick-speech-hint-ogre-race) - "sksp0321" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-0) + (when (-> self got-hit) + (close-specific-task! (game-task plunger-lurker-hit) (task-status need-hint)) + (process-entity-status! self (entity-perm-status complete) #t) + (level-hint-spawn + (game-text-id sidekick-speech-hint-ogre-race) + "sksp0321" + (the-as entity #f) *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (game-task none) ) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 474) - -1 - #f - #f - #f - (-> self root trans) - ) - (-> gp-0 ppointer) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-4 (method-of-type part-tracker activate))) + (t9-4 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 part-tracker-init (-> *part-group-id-table* 474) -1 #f #f #f (-> self root trans)) + (-> gp-0 ppointer) + ) + ) + (dummy-18 self) + (deactivate self) ) - ) - (dummy-18 self) - (deactivate self) + (none) ) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-3 param 1) 1.0) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-3 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) + (while #t + (suspend) ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + (none) ) - (while #t - (suspend) - ) - (none) - ) :post (the-as (function none :behavior plunger-lurker) ja-post) ) @@ -483,78 +303,45 @@ (defstate plunger-lurker-idle (plunger-lurker) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('plunge) - (logclear! (-> self mask) (process-mask actor-pause)) - (go plunger-lurker-plunge) + (case arg2 + (('plunge) + (logclear! (-> self mask) (process-mask actor-pause)) + (go plunger-lurker-plunge) + ) ) ) - ) :trans (behavior () - (spool-push *art-control* "plunger-lurker-blowup" 0 self -99.0) - (when - (and - *target* - (< - (vector-vector-distance-squared (-> self root trans) (target-pos 0)) - 6710886400.0 + (spool-push *art-control* "plunger-lurker-blowup" 0 self -99.0) + (when (and *target* (< (vector-vector-distance-squared (-> self root trans) (target-pos 0)) 6710886400.0)) + (logclear! (-> self mask) (process-mask actor-pause)) + (go plunger-lurker-flee) ) - ) - (logclear! (-> self mask) (process-mask actor-pause)) - (go plunger-lurker-flee) + (none) ) - (none) - ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior plunger-lurker) ja-post) ) @@ -562,46 +349,36 @@ ;; failed to figure out what this is: (defstate plunger-lurker-die (plunger-lurker) :code - (behavior () - (dummy-18 self) - (deactivate self) - (suspend) - 0 - (none) - ) + (behavior () (dummy-18 self) (deactivate self) (suspend) 0 (none)) ) ;; definition for method 11 of type plunger-lurker ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - plunger-lurker - ((obj plunger-lurker) (arg0 entity-actor)) +(defmethod init-from-entity! plunger-lurker ((obj plunger-lurker) (arg0 entity-actor)) (stack-size-set! (-> obj main-thread) 512) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 20480.0 -16384.0 40960.0) - (set-root-prim! s4-0 s3-0) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 20480.0 -16384.0 40960.0) + (set-root-prim! s4-0 s3-0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *plunger-lurker-sg* '()) (set! (-> obj alt-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> obj got-hit) #f) (quaternion-rotate-y! (-> obj root quat) (-> obj root quat) -16384.0) (if (= (get-task-status (game-task plunger-lurker-hit)) (task-status invalid)) - (go plunger-lurker-die) - (go plunger-lurker-idle) - ) + (go plunger-lurker-die) + (go plunger-lurker-idle) + ) (none) ) @@ -639,8 +416,8 @@ ;; definition for method 3 of type flying-lurker (defmethod inspect flying-lurker ((obj flying-lurker)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tcurve-position: ~f~%" (-> obj curve-position)) (format #t "~T~Tspeed: ~f~%" (-> obj speed)) (format #t "~T~Ttangent: #~%" (-> obj tangent)) @@ -678,111 +455,88 @@ ;; Used lq/sq (defmethod dummy-20 flying-lurker ((obj flying-lurker)) (with-pp - (let ((s5-0 (-> obj draw shadow-ctrl)) - (s4-0 #f) - ) - (when (-> obj draw shadow) - (when - (or - (logtest? (-> obj draw status) 8) - (< - (vector-vector-xz-distance-squared (-> obj root trans) (camera-pos)) - 10485760000.0 + (let ((s5-0 (-> obj draw shadow-ctrl)) + (s4-0 #f) + ) + (when (-> obj draw shadow) + (when (or + (logtest? (-> obj draw status) 8) + (< (vector-vector-xz-distance-squared (-> obj root trans) (camera-pos)) 10485760000.0) + ) + (let ((s3-1 (new 'stack-no-clear 'collide-mesh-cache-tri)) + (a1-1 (new 'stack-no-clear 'vector)) + (a2-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> a1-1 quad) (-> obj root trans quad)) + (set! (-> a1-1 y) (+ -8192.0 (-> a1-1 y))) + (set-vector! a2-0 0.0 -81920.0 0.0 1.0) + (when (>= (dummy-10 *collide-cache* a1-1 a2-0 8192.0 1 pp s3-1 1) 0.0) + (set! (-> s3-1 normal w) 8192.0) + (when (and + (sphere-in-view-frustum? (the-as sphere (-> s3-1 normal))) + (< 822083600.0 (vector-vector-distance-squared (-> s3-1 normal) (camera-pos))) + ) + (set! s4-0 #t) + (let ((v1-17 s5-0)) + (set! (-> v1-17 settings flags) (logand -33 (-> v1-17 settings flags))) + ) + 0 + (let ((v1-19 s5-0)) + (set! (-> v1-19 settings bot-plane w) (- (+ -8192.0 (-> s3-1 normal y)))) + ) + 0 + (let ((v1-21 s5-0)) + (set! (-> v1-21 settings top-plane w) (- (+ 6144.0 (-> s3-1 normal y)))) + ) + 0 + (let ((s2-2 (new 'stack-no-clear 'bounding-box))) + (let ((s1-1 (new 'stack-no-clear 'vector))) + (vector<-cspace! s1-1 (-> obj node-list data 4)) + (vector+float! (-> s2-2 min) s1-1 -18432.0) + (vector+float! (-> s2-2 max) s1-1 18432.0) + ) + (add-spheres! s2-2 (the-as (pointer sphere) (-> s3-1 normal)) 1) + (let ((f0-17 (* 0.5 (vector-vector-distance (-> s2-2 min) (-> s2-2 max))))) + (set-vector! + (-> obj draw bounds) + (* 0.5 (+ (-> s2-2 min x) (-> s2-2 max x))) + (* 0.5 (+ (-> s2-2 min y) (-> s2-2 max y))) + (* 0.5 (+ (-> s2-2 min z) (-> s2-2 max z))) + 1.0 + ) + (vector-! (-> obj draw bounds) (-> obj draw bounds) (-> obj root trans)) + (set! (-> obj draw bounds w) f0-17) + ) + ) + (set! (-> obj draw origin-joint-index) (the-as uint 0)) + 0 + ) + ) + ) + ) ) - ) - (let ((s3-1 (new 'stack-no-clear 'collide-mesh-cache-tri)) - (a1-1 (new 'stack-no-clear 'vector)) - (a2-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> a1-1 quad) (-> obj root trans quad)) - (set! (-> a1-1 y) (+ -8192.0 (-> a1-1 y))) - (set-vector! a2-0 0.0 -81920.0 0.0 1.0) - (when (>= (dummy-10 *collide-cache* a1-1 a2-0 8192.0 1 pp s3-1 1) 0.0) - (set! (-> s3-1 normal w) 8192.0) - (when - (and - (sphere-in-view-frustum? (the-as sphere (-> s3-1 normal))) - (< - 822083600.0 - (vector-vector-distance-squared (-> s3-1 normal) (camera-pos)) - ) - ) - (set! s4-0 #t) - (let ((v1-17 s5-0)) - (set! - (-> v1-17 settings flags) - (logand -33 (-> v1-17 settings flags)) - ) - ) - 0 - (let ((v1-19 s5-0)) - (set! - (-> v1-19 settings bot-plane w) - (- (+ -8192.0 (-> s3-1 normal y))) - ) - ) - 0 - (let ((v1-21 s5-0)) - (set! - (-> v1-21 settings top-plane w) - (- (+ 6144.0 (-> s3-1 normal y))) - ) - ) - 0 - (let ((s2-2 (new 'stack-no-clear 'bounding-box))) - (let ((s1-1 (new 'stack-no-clear 'vector))) - (vector<-cspace! s1-1 (-> obj node-list data 4)) - (vector+float! (-> s2-2 min) s1-1 -18432.0) - (vector+float! (-> s2-2 max) s1-1 18432.0) - ) - (add-spheres! s2-2 (the-as (pointer sphere) (-> s3-1 normal)) 1) - (let - ((f0-17 (* 0.5 (vector-vector-distance (-> s2-2 min) (-> s2-2 max)))) - ) - (set-vector! - (-> obj draw bounds) - (* 0.5 (+ (-> s2-2 min x) (-> s2-2 max x))) - (* 0.5 (+ (-> s2-2 min y) (-> s2-2 max y))) - (* 0.5 (+ (-> s2-2 min z) (-> s2-2 max z))) - 1.0 - ) - (vector-! - (-> obj draw bounds) - (-> obj draw bounds) - (-> obj root trans) - ) - (set! (-> obj draw bounds w) f0-17) - ) - ) - (set! (-> obj draw origin-joint-index) (the-as uint 0)) - 0 - ) + (when (not s4-0) + (logior! (-> s5-0 settings flags) 32) + 0 + (set! (-> obj draw bounds quad) (-> obj default-bounds quad)) + (set! (-> obj draw origin-joint-index) (the-as uint 4)) ) - ) ) - ) - (when (not s4-0) - (logior! (-> s5-0 settings flags) 32) - 0 - (set! (-> obj draw bounds quad) (-> obj default-bounds quad)) - (set! (-> obj draw origin-joint-index) (the-as uint 4)) - ) + (none) ) - (none) - ) ) ;; definition for function flying-lurker-inc-try-count ;; INFO: Return type mismatch int vs none. (defbehavior flying-lurker-inc-try-count flying-lurker () (when (not (-> self try-counted)) - (set! (-> self try-counted) #t) - (let ((gp-0 (-> self entity extra perm))) - (logior! (-> gp-0 status) (entity-perm-status user-set-from-cstage)) - (set! (-> gp-0 user-int8 0) (seekl (-> gp-0 user-int8 0) 255 1)) - (set! (-> self try-count) (the-as uint (-> gp-0 user-int8 0))) + (set! (-> self try-counted) #t) + (let ((gp-0 (-> self entity extra perm))) + (logior! (-> gp-0 status) (entity-perm-status user-set-from-cstage)) + (set! (-> gp-0 user-int8 0) (seekl (-> gp-0 user-int8 0) 255 1)) + (set! (-> self try-count) (the-as uint (-> gp-0 user-int8 0))) + ) ) - ) 0 (none) ) @@ -795,24 +549,20 @@ ;; failed to figure out what this is: (defstate flying-lurker-die (flying-lurker) :code - (behavior () - (dummy-18 self) - (deactivate self) - (none) - ) + (behavior () (dummy-18 self) (deactivate self) (none)) ) ;; failed to figure out what this is: (defstate flying-lurker-sleep (flying-lurker) :code (behavior () - (process-entity-status! self (entity-perm-status bit-3) #f) - (logior! (-> self draw status) 2) - (while #t - (suspend) + (process-entity-status! self (entity-perm-status bit-3) #f) + (logior! (-> self draw status) 2) + (while #t + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for function first? @@ -823,62 +573,42 @@ ;; definition for function flying-lurker-calc-speed ;; INFO: Return type mismatch float vs none. ;; Used lq/sq -(defbehavior - flying-lurker-calc-speed flying-lurker - ((arg0 meters) (arg1 meters) (arg2 meters) (arg3 meters)) - (let - ((s4-1 - (vector-! - (new 'stack-no-clear 'vector) - (target-pos 0) - (-> self root trans) - ) - ) - (s3-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> s3-0 quad) (-> self tangent quad)) - 0.0 - (let ((f30-0 (vector-length s4-1))) - (set! (-> s4-1 y) 0.0) - (set! (-> s3-0 y) 0.0) - (let ((f28-0 (vector-dot s4-1 s3-0))) - (let - ((f26-0 - (* - (path-distance (-> self path)) - (/ - (the - float - (- (-> *display* game-frame-counter) (-> self race-start-time)) - ) - (-> self race-seconds) - ) - ) +(defbehavior flying-lurker-calc-speed flying-lurker ((arg0 meters) (arg1 meters) (arg2 meters) (arg3 meters)) + (let ((s4-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root trans))) + (s3-0 (new 'stack-no-clear 'vector)) ) - (f0-6 (* (path-distance (-> self path)) (-> self curve-position))) - ) - 0.0 - (let* ((f1-6 (* -81920.0 (the float (-> self rank)))) - (f0-10 (+ (if (< f26-0 f0-6) - (fmax (+ -81920.0 f1-6) (- f26-0 f0-6)) - (fmin (+ 245760.0 f1-6) (- f26-0 f0-6)) - ) - f28-0 - ) + (set! (-> s3-0 quad) (-> self tangent quad)) + 0.0 + (let ((f30-0 (vector-length s4-1))) + (set! (-> s4-1 y) 0.0) + (set! (-> s3-0 y) 0.0) + (let ((f28-0 (vector-dot s4-1 s3-0))) + (let ((f26-0 + (* (path-distance (-> self path)) + (/ (the float (- (-> *display* game-frame-counter) (-> self race-start-time))) (-> self race-seconds)) + ) + ) + (f0-6 (* (path-distance (-> self path)) (-> self curve-position))) ) - (f1-10 (* 0.000012207031 f0-10)) - (f0-12 (fmax -0.5 (fmin 0.5 f1-10))) - ) - (set! (-> self speed) (+ (* (+ 0.5 f0-12) (- arg2 arg3)) arg3)) - ) + 0.0 + (let* ((f1-6 (* -81920.0 (the float (-> self rank)))) + (f0-10 (+ (if (< f26-0 f0-6) + (fmax (+ -81920.0 f1-6) (- f26-0 f0-6)) + (fmin (+ 245760.0 f1-6) (- f26-0 f0-6)) + ) + f28-0 + ) + ) + (f1-10 (* 0.000012207031 f0-10)) + (f0-12 (fmax -0.5 (fmin 0.5 f1-10))) + ) + (set! (-> self speed) (+ (* (+ 0.5 f0-12) (- arg2 arg3)) arg3)) + ) + ) + (set! (-> self y-offset-desired) (fmin 65536.0 (fmax 0.0 (* 1.6 (- 40960.0 (fmin (- f28-0) f30-0)))))) + ) ) - (set! - (-> self y-offset-desired) - (fmin 65536.0 (fmax 0.0 (* 1.6 (- 40960.0 (fmin (- f28-0) f30-0))))) - ) - ) ) - ) (none) ) @@ -886,54 +616,35 @@ ;; INFO: Return type mismatch float vs none. (defbehavior flying-lurker-move flying-lurker () (+! - (-> self curve-position) - (/ - (the - float - (* - (- - (-> *display* base-frame-counter) - (-> *display* old-base-frame-counter) + (-> self curve-position) + (/ (the float + (* (- (-> *display* base-frame-counter) (-> *display* old-base-frame-counter)) (the int (-> self speed))) + ) + (path-distance (-> self path)) ) - (the int (-> self speed)) - ) - ) - (path-distance (-> self path)) ) - ) (set! (-> self curve-position) (fmin 1.0 (fmax 0.0 (-> self curve-position)))) - (eval-path-curve! - (-> self path) - (-> self root trans) - (-> self curve-position) - 'interp - ) + (eval-path-curve! (-> self path) (-> self root trans) (-> self curve-position) 'interp) (cond - ((< (-> self y-offset-desired) (-> self y-offset)) - (set! - (-> self y-vel) - (* 0.25 (- (-> self y-offset-desired) (-> self y-offset))) + ((< (-> self y-offset-desired) (-> self y-offset)) + (set! (-> self y-vel) (* 0.25 (- (-> self y-offset-desired) (-> self y-offset)))) + (set! (-> self y-vel) (fmax -436.90668 (-> self y-vel))) + (+! (-> self y-offset) (-> self y-vel)) + (when (>= (-> self y-offset-desired) (-> self y-offset)) + (set! (-> self y-offset) (-> self y-offset-desired)) + (set! (-> self y-vel) 0.0) + ) ) - (set! (-> self y-vel) (fmax -436.90668 (-> self y-vel))) - (+! (-> self y-offset) (-> self y-vel)) - (when (>= (-> self y-offset-desired) (-> self y-offset)) - (set! (-> self y-offset) (-> self y-offset-desired)) - (set! (-> self y-vel) 0.0) + ((< (-> self y-offset) (-> self y-offset-desired)) + (set! (-> self y-vel) (* 0.5 (- (-> self y-offset-desired) (-> self y-offset)))) + (set! (-> self y-vel) (fmin 436.90668 (-> self y-vel))) + (+! (-> self y-offset) (-> self y-vel)) + (when (>= (-> self y-offset) (-> self y-offset-desired)) + (set! (-> self y-offset) (-> self y-offset-desired)) + (set! (-> self y-vel) 0.0) + ) ) ) - ((< (-> self y-offset) (-> self y-offset-desired)) - (set! - (-> self y-vel) - (* 0.5 (- (-> self y-offset-desired) (-> self y-offset))) - ) - (set! (-> self y-vel) (fmin 436.90668 (-> self y-vel))) - (+! (-> self y-offset) (-> self y-vel)) - (when (>= (-> self y-offset) (-> self y-offset-desired)) - (set! (-> self y-offset) (-> self y-offset-desired)) - (set! (-> self y-vel) 0.0) - ) - ) - ) (+! (-> self root trans y) (-> self y-offset)) (set! (-> self root trans y) (+ 12288.0 (-> self root trans y))) (none) @@ -942,45 +653,41 @@ ;; definition for function flying-lurker-rotate (defbehavior flying-lurker-rotate flying-lurker () (let ((gp-0 (new 'stack-no-clear 'matrix))) - (let ((s5-0 (new 'stack-no-clear 'matrix))) - (let ((s3-0 (new 'stack-no-clear 'vector)) - (s4-0 (new 'stack-no-clear 'vector)) + (let ((s5-0 (new 'stack-no-clear 'matrix))) + (let ((s3-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (TODO-RENAME-14 (-> self path) (-> self tangent) (-> self curve-position)) + (eval-path-curve! + (-> self path) + s3-0 + (+ (/ 12288.0 (path-distance (-> self path))) (-> self curve-position)) + 'interp ) - (TODO-RENAME-14 (-> self path) (-> self tangent) (-> self curve-position)) - (eval-path-curve! - (-> self path) - s3-0 - (+ (/ 12288.0 (path-distance (-> self path))) (-> self curve-position)) - 'interp + (eval-path-curve! + (-> self path) + s4-0 + (+ (/ 4096.0 (path-distance (-> self path))) (-> self curve-position)) + 'interp + ) + (vector-! s3-0 s3-0 (-> self root trans)) + (vector-! s4-0 s4-0 (-> self root trans)) + (set! (-> s3-0 y) 0.0) + (set! (-> s4-0 y) 0.0) + (vector-normalize! s3-0 1.0) + (vector-normalize! s4-0 1.0) + (vector-cross! s4-0 s4-0 s3-0) + (set! (-> self anim-blend) (asin (-> s4-0 y))) + ) + (set! (-> self anim-blend) (* 0.0010986328 (-> self anim-blend))) + (set! (-> self anim-blend) (fmax -1.0 (fmin 1.0 (-> self anim-blend)))) + (set! (-> self anim-blend) (sin (* 16384.0 (-> self anim-blend)))) + (forward-down->inv-matrix gp-0 (-> self tangent) (new 'static 'vector :y -1.0)) + (matrix-rotate-z! s5-0 (* -10922.667 (-> self anim-blend))) + (matrix*! gp-0 s5-0 gp-0) ) - (eval-path-curve! - (-> self path) - s4-0 - (+ (/ 4096.0 (path-distance (-> self path))) (-> self curve-position)) - 'interp - ) - (vector-! s3-0 s3-0 (-> self root trans)) - (vector-! s4-0 s4-0 (-> self root trans)) - (set! (-> s3-0 y) 0.0) - (set! (-> s4-0 y) 0.0) - (vector-normalize! s3-0 1.0) - (vector-normalize! s4-0 1.0) - (vector-cross! s4-0 s4-0 s3-0) - (set! (-> self anim-blend) (asin (-> s4-0 y))) - ) - (set! (-> self anim-blend) (* 0.0010986328 (-> self anim-blend))) - (set! (-> self anim-blend) (fmax -1.0 (fmin 1.0 (-> self anim-blend)))) - (set! (-> self anim-blend) (sin (* 16384.0 (-> self anim-blend)))) - (forward-down->inv-matrix - gp-0 - (-> self tangent) - (new 'static 'vector :y -1.0) - ) - (matrix-rotate-z! s5-0 (* -10922.667 (-> self anim-blend))) - (matrix*! gp-0 s5-0 gp-0) + (matrix->quaternion (-> self root quat) gp-0) ) - (matrix->quaternion (-> self root quat) gp-0) - ) ) ;; definition for function flying-lurker-calc-anim-speed @@ -990,356 +697,295 @@ (f0-3 (+ -15.0 f0-2)) (f1-3 (* 0.13333334 f0-3)) ) - (fmin 1.5 (fmax 0.9 f1-3)) - ) + (fmin 1.5 (fmax 0.9 f1-3)) + ) ) ;; failed to figure out what this is: (defstate flying-lurker-fly (flying-lurker) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'clone-and-kill-links) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'sleep) - (let ((t9-0 send-event-function) - (v1-3 (-> self link next)) - ) - (t9-0 (if v1-3 - (-> v1-3 extra process) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'clone-and-kill-links) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'sleep) + (let ((t9-0 send-event-function) + (v1-3 (-> self link next)) + ) + (t9-0 + (if v1-3 + (-> v1-3 extra process) + ) + a1-1 ) - a1-1 + ) + ) + (go flying-lurker-clone (the-as handle (-> arg3 param 0)) "") + ) + ((= v1-0 'die) + (let ((v1-7 (new 'stack-no-clear 'event-message-block))) + (set! (-> v1-7 from) arg0) + (set! (-> v1-7 num-params) arg1) + (set! (-> v1-7 message) arg2) + (set! (-> v1-7 param 0) (-> arg3 param 0)) + (set! (-> v1-7 param 1) (-> arg3 param 1)) + (set! (-> v1-7 param 2) (-> arg3 param 2)) + (set! (-> v1-7 param 3) (-> arg3 param 3)) + (set! (-> v1-7 param 4) (-> arg3 param 4)) + (set! (-> v1-7 param 5) (-> arg3 param 5)) + (set! (-> v1-7 param 6) (-> arg3 param 6)) + (let ((t9-2 send-event-function) + (a1-3 (-> self link next)) + ) + (t9-2 + (if a1-3 + (-> a1-3 extra process) + ) + v1-7 + ) + ) + ) + (dummy-18 self) + (deactivate self) + ) + ((= v1-0 'sleep) + (let ((v1-12 (new 'stack-no-clear 'event-message-block))) + (set! (-> v1-12 from) arg0) + (set! (-> v1-12 num-params) arg1) + (set! (-> v1-12 message) arg2) + (set! (-> v1-12 param 0) (-> arg3 param 0)) + (set! (-> v1-12 param 1) (-> arg3 param 1)) + (set! (-> v1-12 param 2) (-> arg3 param 2)) + (set! (-> v1-12 param 3) (-> arg3 param 3)) + (set! (-> v1-12 param 4) (-> arg3 param 4)) + (set! (-> v1-12 param 5) (-> arg3 param 5)) + (set! (-> v1-12 param 6) (-> arg3 param 6)) + (let ((t9-5 send-event-function) + (a1-5 (-> self link next)) + ) + (t9-5 + (if a1-5 + (-> a1-5 extra process) + ) + v1-12 + ) + ) + ) + (go flying-lurker-sleep) + ) + ((= v1-0 'reset) + (let ((v1-15 (new 'stack-no-clear 'event-message-block))) + (set! (-> v1-15 from) arg0) + (set! (-> v1-15 num-params) arg1) + (set! (-> v1-15 message) arg2) + (set! (-> v1-15 param 0) (-> arg3 param 0)) + (set! (-> v1-15 param 1) (-> arg3 param 1)) + (set! (-> v1-15 param 2) (-> arg3 param 2)) + (set! (-> v1-15 param 3) (-> arg3 param 3)) + (set! (-> v1-15 param 4) (-> arg3 param 4)) + (set! (-> v1-15 param 5) (-> arg3 param 5)) + (set! (-> v1-15 param 6) (-> arg3 param 6)) + (let ((t9-7 send-event-function) + (a1-7 (-> self link next)) + ) + (t9-7 + (if a1-7 + (-> a1-7 extra process) + ) + v1-15 + ) + ) + ) + (deactivate self) ) ) - ) - (go - flying-lurker-clone - (the-as handle (-> arg3 param 0)) - "" - ) - ) - ((= v1-0 'die) - (let ((v1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> v1-7 from) arg0) - (set! (-> v1-7 num-params) arg1) - (set! (-> v1-7 message) arg2) - (set! (-> v1-7 param 0) (-> arg3 param 0)) - (set! (-> v1-7 param 1) (-> arg3 param 1)) - (set! (-> v1-7 param 2) (-> arg3 param 2)) - (set! (-> v1-7 param 3) (-> arg3 param 3)) - (set! (-> v1-7 param 4) (-> arg3 param 4)) - (set! (-> v1-7 param 5) (-> arg3 param 5)) - (set! (-> v1-7 param 6) (-> arg3 param 6)) - (let ((t9-2 send-event-function) - (a1-3 (-> self link next)) - ) - (t9-2 (if a1-3 - (-> a1-3 extra process) - ) - v1-7 - ) - ) - ) - (dummy-18 self) - (deactivate self) - ) - ((= v1-0 'sleep) - (let ((v1-12 (new 'stack-no-clear 'event-message-block))) - (set! (-> v1-12 from) arg0) - (set! (-> v1-12 num-params) arg1) - (set! (-> v1-12 message) arg2) - (set! (-> v1-12 param 0) (-> arg3 param 0)) - (set! (-> v1-12 param 1) (-> arg3 param 1)) - (set! (-> v1-12 param 2) (-> arg3 param 2)) - (set! (-> v1-12 param 3) (-> arg3 param 3)) - (set! (-> v1-12 param 4) (-> arg3 param 4)) - (set! (-> v1-12 param 5) (-> arg3 param 5)) - (set! (-> v1-12 param 6) (-> arg3 param 6)) - (let ((t9-5 send-event-function) - (a1-5 (-> self link next)) - ) - (t9-5 (if a1-5 - (-> a1-5 extra process) - ) - v1-12 - ) - ) - ) - (go flying-lurker-sleep) - ) - ((= v1-0 'reset) - (let ((v1-15 (new 'stack-no-clear 'event-message-block))) - (set! (-> v1-15 from) arg0) - (set! (-> v1-15 num-params) arg1) - (set! (-> v1-15 message) arg2) - (set! (-> v1-15 param 0) (-> arg3 param 0)) - (set! (-> v1-15 param 1) (-> arg3 param 1)) - (set! (-> v1-15 param 2) (-> arg3 param 2)) - (set! (-> v1-15 param 3) (-> arg3 param 3)) - (set! (-> v1-15 param 4) (-> arg3 param 4)) - (set! (-> v1-15 param 5) (-> arg3 param 5)) - (set! (-> v1-15 param 6) (-> arg3 param 6)) - (let ((t9-7 send-event-function) - (a1-7 (-> self link next)) - ) - (t9-7 (if a1-7 - (-> a1-7 extra process) - ) - v1-15 - ) - ) - ) - (deactivate self) - ) - ) - ) + ) + ) ) - ) :enter (behavior () - (process-entity-status! self (entity-perm-status bit-3) #t) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (none) - ) + (process-entity-status! self (entity-perm-status bit-3) #t) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (none) + ) :trans (behavior () - (dummy-20 self) - (when (not (movie?)) - (flying-lurker-calc-speed - (meters 15.0) - (meters 30.0) - (meters 0.11666667) - (meters 0.083333336) - ) - (flying-lurker-move) - (flying-lurker-rotate) - (when - (and - (-> self alt-actor) - (or - (< - (vector-vector-distance-squared - (-> self root trans) - (-> self alt-actor extra trans) - ) - 6710886400.0 - ) - (and - *target* - (< - 4194304000000.0 - (vector-vector-distance-squared (-> self root trans) (target-pos 0)) - ) - ) - ) - ) - (dummy-30 (-> self alt-actor) (entity-perm-status dead) #f) - (entity-birth-no-kill (-> self alt-actor)) - (let ((a1-4 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-4 from) self) - (set! (-> a1-4 num-params) 0) - (set! (-> a1-4 message) 'plunge) - (let ((t9-10 send-event-function) - (v1-13 (-> self alt-actor)) + (dummy-20 self) + (when (not (movie?)) + (flying-lurker-calc-speed (meters 15.0) (meters 30.0) (meters 0.11666667) (meters 0.083333336)) + (flying-lurker-move) + (flying-lurker-rotate) + (when (and + (-> self alt-actor) + (or + (< (vector-vector-distance-squared (-> self root trans) (-> self alt-actor extra trans)) 6710886400.0) + (and *target* (< 4194304000000.0 (vector-vector-distance-squared (-> self root trans) (target-pos 0)))) + ) + ) + (dummy-30 (-> self alt-actor) (entity-perm-status dead) #f) + (entity-birth-no-kill (-> self alt-actor)) + (let ((a1-4 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-4 from) self) + (set! (-> a1-4 num-params) 0) + (set! (-> a1-4 message) 'plunge) + (let ((t9-10 send-event-function) + (v1-13 (-> self alt-actor)) + ) + (t9-10 + (if v1-13 + (-> v1-13 extra process) + ) + a1-4 + ) ) - (t9-10 (if v1-13 - (-> v1-13 extra process) - ) - a1-4 + ) ) - ) ) - ) + (none) ) - (none) - ) :code (behavior () - (while #t - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 5) - ) - ) - (ja-channel-push! 1 60) - (let ((v1-8 (-> self skel root-channel 0))) - (set! - (-> v1-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - ) - ) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 param 0) (flying-lurker-calc-anim-speed)) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (suspend) - (when - (>= - (- (-> *display* base-frame-counter) (-> self last-look-time)) - (-> self time-to-next-look) - ) - (ja-channel-push! 1 60) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-12 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (while #t + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 5) + ) + ) + (ja-channel-push! 1 60) + (let ((v1-8 (-> self skel root-channel 0))) + (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) ) - -1 - ) ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 param 0) (flying-lurker-calc-anim-speed)) + (joint-control-channel-group-eval! gp-0 (the-as art-joint-anim #f) num-func-loop!) + ) (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set! (-> self last-look-time) (-> *display* base-frame-counter)) - (let* ((f30-0 300.0) - (f28-0 3.0) - (f26-0 5.0) - (v1-41 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-42 (the-as float (logior #x3f800000 v1-41))) + (when (>= (- (-> *display* base-frame-counter) (-> self last-look-time)) (-> self time-to-next-look)) + (ja-channel-push! 1 60) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) ) - (set! - (-> self time-to-next-look) - (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 v1-42))))) - ) + ) + (set! (-> self last-look-time) (-> *display* base-frame-counter)) + (let* ((f30-0 300.0) + (f28-0 3.0) + (f26-0 5.0) + (v1-41 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-42 (the-as float (logior #x3f800000 v1-41))) + ) + (set! (-> self time-to-next-look) (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 v1-42)))))) + ) + ) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior flying-lurker) ja-post) ) ;; definition for function flying-lurker-handler -(defbehavior - flying-lurker-handler flying-lurker - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('fly-away) +(defbehavior flying-lurker-handler flying-lurker ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('fly-away) (when (-> self link next) - (entity-birth-no-kill (-> self link next)) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 2) - (set! (-> a1-1 message) 'fly-away) - (set! - (-> a1-1 param 0) - (the-as uint (/ (the-as int (-> arg3 param 0)) 16)) - ) - (set! (-> a1-1 param 1) (-> arg3 param 1)) - (let ((t9-1 send-event-function) - (v1-11 (-> self link next)) - ) - (t9-1 (if v1-11 - (-> v1-11 extra process) + (entity-birth-no-kill (-> self link next)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 2) + (set! (-> a1-1 message) 'fly-away) + (set! (-> a1-1 param 0) (the-as uint (/ (the-as int (-> arg3 param 0)) 16))) + (set! (-> a1-1 param 1) (-> arg3 param 1)) + (let ((t9-1 send-event-function) + (v1-11 (-> self link next)) ) - a1-1 + (t9-1 + (if v1-11 + (-> v1-11 extra process) + ) + a1-1 + ) + ) ) - ) ) - ) (let* ((v1-14 (-> arg3 param 0)) (a0-4 (-> arg3 param 1)) (v1-15 (logand v1-14 3)) ) - (set! (-> self rank) (the-as int v1-15)) - (cond - ((< 15 (the-as int a0-4)) - (cond + (set! (-> self rank) (the-as int v1-15)) + (cond + ((< 15 (the-as int a0-4)) + (cond + ((zero? v1-15) + (set! (-> self race-seconds) 33000.0) + ) + ((= v1-15 1) + (set! (-> self race-seconds) 34500.0) + ) + (else + (set! (-> self race-seconds) 36000.0) + ) + ) + ) + ((< 10 (the-as int a0-4)) + (cond + ((zero? v1-15) + (set! (-> self race-seconds) 31800.0) + ) + ((= v1-15 1) + (set! (-> self race-seconds) 33300.0) + ) + (else + (set! (-> self race-seconds) 34800.0) + ) + ) + ) + ((< 5 (the-as int a0-4)) + (cond + ((zero? v1-15) + (set! (-> self race-seconds) 30600.0) + ) + ((= v1-15 1) + (set! (-> self race-seconds) 32100.0) + ) + (else + (set! (-> self race-seconds) 33600.0) + ) + ) + ) ((zero? v1-15) - (set! (-> self race-seconds) 33000.0) + (set! (-> self race-seconds) 30000.0) ) ((= v1-15 1) - (set! (-> self race-seconds) 34500.0) + (set! (-> self race-seconds) 31500.0) ) (else - (set! (-> self race-seconds) 36000.0) - ) + (set! (-> self race-seconds) 33000.0) + ) ) - ) - ((< 10 (the-as int a0-4)) - (cond - ((zero? v1-15) - (set! (-> self race-seconds) 31800.0) - ) - ((= v1-15 1) - (set! (-> self race-seconds) 33300.0) - ) - (else - (set! (-> self race-seconds) 34800.0) - ) - ) - ) - ((< 5 (the-as int a0-4)) - (cond - ((zero? v1-15) - (set! (-> self race-seconds) 30600.0) - ) - ((= v1-15 1) - (set! (-> self race-seconds) 32100.0) - ) - (else - (set! (-> self race-seconds) 33600.0) - ) - ) - ) - ((zero? v1-15) - (set! (-> self race-seconds) 30000.0) - ) - ((= v1-15 1) - (set! (-> self race-seconds) 31500.0) - ) - (else - (set! (-> self race-seconds) 33000.0) - ) ) - ) (logclear! (-> self mask) (process-mask actor-pause)) (set! (-> self race-start-time) (-> *display* game-frame-counter)) (go flying-lurker-fly) ) - ) + ) ) ;; definition for function flying-lurker-play-intro @@ -1347,146 +993,115 @@ (defbehavior flying-lurker-play-intro flying-lurker () (logclear! (-> self mask) (process-mask actor-pause)) (close-specific-task! (game-task plunger-lurker-hit) (task-status unknown)) - (while - (and - *target* - (logtest? (-> *target* control unknown-surface00 flags) 2048) - (zero? (logand (-> *target* control status) 1)) + (while (and + *target* + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) + ) + (suspend) ) - (suspend) - ) (while (not (process-grab? *target*)) - (suspend) - ) - (kill-current-level-hint '(notice) '() 'exit) - (while - (or - (-> *setting-control* current talking) - (-> *setting-control* current spooling) - (-> *setting-control* current hint) - (!= (-> *level* loading-level) (-> *level* level-default)) + (suspend) + ) + (kill-current-level-hint '(notice) '() 'exit) + (while (or + (-> *setting-control* current talking) + (-> *setting-control* current spooling) + (-> *setting-control* current hint) + (!= (-> *level* loading-level) (-> *level* level-default)) + ) + (suspend) ) - (suspend) - ) (suspend) (kill-current-level-hint '() '() 'die) (suspend) (let* ((gp-0 (get-process *default-dead-pool* manipy #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let ((t9-5 (method-of-type manipy activate))) - (t9-5 - (the-as manipy gp-0) - self - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - manipy-init - (-> self entity extra trans) - (-> self entity) - *ogrecam-sg* - #f - ) - (-> gp-0 ppointer) - ) - ) - ) - ) - (let - ((s5-0 (the-as othercam (get-process *default-dead-pool* othercam #x4000)))) - (ppointer->handle (when s5-0 - (let ((t9-8 (method-of-type othercam activate))) - (t9-8 - s5-0 - (-> gp-1 process 0) - 'othercam - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - othercam-init-by-other - (-> gp-1 process 0) - 4 - #f - #t - ) - (-> s5-0 ppointer) - ) - ) - ) - (send-event - (handle->process gp-1) - 'eval - (lambda :behavior manipy () (let ((v0-0 (logior (-> self draw status) 32))) - (set! (-> self draw status) v0-0) - v0-0 - ) - ) - ) - (send-event (-> gp-1 process 0) 'clone-copy-trans #f) - (send-event (-> gp-1 process 0) 'anim-mode 'clone-anim) - (let ((a1-12 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-12 from) self) - (set! (-> a1-12 num-params) 2) - (set! (-> a1-12 message) 'clone) - (set! (-> a1-12 param 0) (the-as uint (process->handle self))) - (set! (-> a1-12 param 1) (the-as uint 2)) - (let ((t9-13 send-event-function) - (v1-58 (-> self link next)) - ) - (t9-13 (if v1-58 - (-> v1-58 extra process) + (gp-1 + (ppointer->handle + (when gp-0 + (let ((t9-5 (method-of-type manipy activate))) + (t9-5 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *ogrecam-sg* #f) + (-> gp-0 ppointer) + ) ) - a1-12 + ) + ) + (let ((s5-0 (the-as othercam (get-process *default-dead-pool* othercam #x4000)))) + (ppointer->handle (when s5-0 + (let ((t9-8 (method-of-type othercam activate))) + (t9-8 s5-0 (-> gp-1 process 0) 'othercam (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 othercam-init-by-other (-> gp-1 process 0) 4 #f #t) + (-> s5-0 ppointer) + ) + ) ) - ) + (send-event + (handle->process gp-1) + 'eval + (lambda :behavior manipy () (let ((v0-0 (logior (-> self draw status) 32))) + (set! (-> self draw status) v0-0) + v0-0 + ) + ) + ) + (send-event (-> gp-1 process 0) 'clone-copy-trans #f) + (send-event (-> gp-1 process 0) 'anim-mode 'clone-anim) + (let ((a1-12 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-12 from) self) + (set! (-> a1-12 num-params) 2) + (set! (-> a1-12 message) 'clone) + (set! (-> a1-12 param 0) (the-as uint (process->handle self))) + (set! (-> a1-12 param 1) (the-as uint 2)) + (let ((t9-13 send-event-function) + (v1-58 (-> self link next)) + ) + (t9-13 + (if v1-58 + (-> v1-58 extra process) + ) + a1-12 + ) + ) + ) + (ja-play-spooled-anim + (new 'static 'spool-anim :name "flying-lurker-intro" :index 7 :parts 2 :command-list '()) + (the-as art-joint-anim #f) + (the-as art-joint-anim #f) + (the-as (function process-drawable symbol) false-func) + ) + (if (handle->process gp-1) + (deactivate (-> gp-1 process 0)) + ) ) - (ja-play-spooled-anim - (new 'static 'spool-anim - :name "flying-lurker-intro" - :index 7 - :parts 2 - :command-list '() - ) - (the-as art-joint-anim #f) - (the-as art-joint-anim #f) - (the-as (function process-drawable symbol) false-func) - ) - (if (handle->process gp-1) - (deactivate (-> gp-1 process 0)) - ) - ) (process-release? *target*) (let ((gp-2 (get-process *default-dead-pool* process #x4000))) - (when gp-2 - (let ((t9-18 (method-of-type process activate))) - (t9-18 gp-2 self 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - gp-2 - (lambda :behavior process - () - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) 30) - (suspend) + (when gp-2 + (let ((t9-18 (method-of-type process activate))) + (t9-18 gp-2 self 'process (the-as pointer #x70004000)) ) - ) - (level-hint-spawn - (game-text-id assistant-voicebox-intro-ogre-race) - "asstvb24" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (none) + (run-next-time-in-process gp-2 (lambda :behavior process + () + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) 30) + (suspend) + ) + ) + (level-hint-spawn + (game-text-id assistant-voicebox-intro-ogre-race) + "asstvb24" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (none) + ) + ) + (-> gp-2 ppointer) ) - ) - (-> gp-2 ppointer) ) - ) (none) ) @@ -1495,51 +1110,45 @@ :event flying-lurker-handler :exit - (behavior () - (clear-pending-settings-from-process *setting-control* self 'allow-progress) - (none) - ) + (behavior () (clear-pending-settings-from-process *setting-control* self 'allow-progress) (none)) :code (behavior () - (when (play-movie?) - (set-setting! *setting-control* self 'allow-progress #f 0.0 0) - (flying-lurker-play-intro) - ) - (flying-lurker-inc-try-count) - (ja-channel-set! 1) - (let ((v1-6 (-> self skel root-channel 0))) - (set! - (-> v1-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - ) - (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-9 (the-as float (logior #x3f800000 v1-8))) - (f0-2 (+ -1.0 v1-9)) + (when (play-movie?) + (set-setting! *setting-control* self 'allow-progress #f 0.0 0) + (flying-lurker-play-intro) + ) + (flying-lurker-inc-try-count) + (ja-channel-set! 1) + (let ((v1-6 (-> self skel root-channel 0))) + (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + ) + (let* ((v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-9 (the-as float (logior #x3f800000 v1-8))) + (f0-2 (+ -1.0 v1-9)) + ) + (cond + ((< 0.8333333 f0-2) + (send-event self 'fly-away 18 (-> self try-count)) + ) + ((< 0.6666667 f0-2) + (send-event self 'fly-away 33 (-> self try-count)) + ) + ((< 0.5 f0-2) + (send-event self 'fly-away 258 (-> self try-count)) + ) + ((< 0.33333334 f0-2) + (send-event self 'fly-away 288 (-> self try-count)) + ) + ((< 0.16666667 f0-2) + (send-event self 'fly-away 513 (-> self try-count)) + ) + (else + (send-event self 'fly-away 528 (-> self try-count)) ) - (cond - ((< 0.8333333 f0-2) - (send-event self 'fly-away 18 (-> self try-count)) + ) ) - ((< 0.6666667 f0-2) - (send-event self 'fly-away 33 (-> self try-count)) - ) - ((< 0.5 f0-2) - (send-event self 'fly-away 258 (-> self try-count)) - ) - ((< 0.33333334 f0-2) - (send-event self 'fly-away 288 (-> self try-count)) - ) - ((< 0.16666667 f0-2) - (send-event self 'fly-away 513 (-> self try-count)) - ) - (else - (send-event self 'fly-away 528 (-> self try-count)) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior flying-lurker) ja-post) ) @@ -1548,309 +1157,244 @@ (defstate flying-lurker-clone (flying-lurker) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'die) - (let ((v1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> v1-1 from) arg0) - (set! (-> v1-1 num-params) arg1) - (set! (-> v1-1 message) arg2) - (set! (-> v1-1 param 0) (-> arg3 param 0)) - (set! (-> v1-1 param 1) (-> arg3 param 1)) - (set! (-> v1-1 param 2) (-> arg3 param 2)) - (set! (-> v1-1 param 3) (-> arg3 param 3)) - (set! (-> v1-1 param 4) (-> arg3 param 4)) - (set! (-> v1-1 param 5) (-> arg3 param 5)) - (set! (-> v1-1 param 6) (-> arg3 param 6)) - (let ((t9-0 send-event-function) - (a1-1 (-> self link next)) - ) - (t9-0 (if a1-1 - (-> a1-1 extra process) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'die) + (let ((v1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> v1-1 from) arg0) + (set! (-> v1-1 num-params) arg1) + (set! (-> v1-1 message) arg2) + (set! (-> v1-1 param 0) (-> arg3 param 0)) + (set! (-> v1-1 param 1) (-> arg3 param 1)) + (set! (-> v1-1 param 2) (-> arg3 param 2)) + (set! (-> v1-1 param 3) (-> arg3 param 3)) + (set! (-> v1-1 param 4) (-> arg3 param 4)) + (set! (-> v1-1 param 5) (-> arg3 param 5)) + (set! (-> v1-1 param 6) (-> arg3 param 6)) + (let ((t9-0 send-event-function) + (a1-1 (-> self link next)) + ) + (t9-0 + (if a1-1 + (-> a1-1 extra process) + ) + v1-1 ) - v1-1 - ) - ) - ) - (dummy-18 self) - (deactivate self) - ) - ((= v1-0 'sleep) - (let ((v1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> v1-6 from) arg0) - (set! (-> v1-6 num-params) arg1) - (set! (-> v1-6 message) arg2) - (set! (-> v1-6 param 0) (-> arg3 param 0)) - (set! (-> v1-6 param 1) (-> arg3 param 1)) - (set! (-> v1-6 param 2) (-> arg3 param 2)) - (set! (-> v1-6 param 3) (-> arg3 param 3)) - (set! (-> v1-6 param 4) (-> arg3 param 4)) - (set! (-> v1-6 param 5) (-> arg3 param 5)) - (set! (-> v1-6 param 6) (-> arg3 param 6)) - (let ((t9-3 send-event-function) - (a1-3 (-> self link next)) ) - (t9-3 (if a1-3 - (-> a1-3 extra process) - ) - v1-6 + ) + (dummy-18 self) + (deactivate self) ) - ) - ) - (go flying-lurker-sleep) - ) - ((= v1-0 'reset) - (let ((v1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> v1-9 from) arg0) - (set! (-> v1-9 num-params) arg1) - (set! (-> v1-9 message) arg2) - (set! (-> v1-9 param 0) (-> arg3 param 0)) - (set! (-> v1-9 param 1) (-> arg3 param 1)) - (set! (-> v1-9 param 2) (-> arg3 param 2)) - (set! (-> v1-9 param 3) (-> arg3 param 3)) - (set! (-> v1-9 param 4) (-> arg3 param 4)) - (set! (-> v1-9 param 5) (-> arg3 param 5)) - (set! (-> v1-9 param 6) (-> arg3 param 6)) - (let ((t9-5 send-event-function) - (a1-5 (-> self link next)) + ((= v1-0 'sleep) + (let ((v1-6 (new 'stack-no-clear 'event-message-block))) + (set! (-> v1-6 from) arg0) + (set! (-> v1-6 num-params) arg1) + (set! (-> v1-6 message) arg2) + (set! (-> v1-6 param 0) (-> arg3 param 0)) + (set! (-> v1-6 param 1) (-> arg3 param 1)) + (set! (-> v1-6 param 2) (-> arg3 param 2)) + (set! (-> v1-6 param 3) (-> arg3 param 3)) + (set! (-> v1-6 param 4) (-> arg3 param 4)) + (set! (-> v1-6 param 5) (-> arg3 param 5)) + (set! (-> v1-6 param 6) (-> arg3 param 6)) + (let ((t9-3 send-event-function) + (a1-3 (-> self link next)) + ) + (t9-3 + (if a1-3 + (-> a1-3 extra process) + ) + v1-6 + ) ) - (t9-5 (if a1-5 - (-> a1-5 extra process) - ) - v1-9 + ) + (go flying-lurker-sleep) ) + ((= v1-0 'reset) + (let ((v1-9 (new 'stack-no-clear 'event-message-block))) + (set! (-> v1-9 from) arg0) + (set! (-> v1-9 num-params) arg1) + (set! (-> v1-9 message) arg2) + (set! (-> v1-9 param 0) (-> arg3 param 0)) + (set! (-> v1-9 param 1) (-> arg3 param 1)) + (set! (-> v1-9 param 2) (-> arg3 param 2)) + (set! (-> v1-9 param 3) (-> arg3 param 3)) + (set! (-> v1-9 param 4) (-> arg3 param 4)) + (set! (-> v1-9 param 5) (-> arg3 param 5)) + (set! (-> v1-9 param 6) (-> arg3 param 6)) + (let ((t9-5 send-event-function) + (a1-5 (-> self link next)) + ) + (t9-5 + (if a1-5 + (-> a1-5 extra process) + ) + v1-9 + ) + ) + ) + (deactivate self) + ) + (else + (flying-lurker-handler arg0 arg1 arg2 arg3) + ) ) - ) - (deactivate self) - ) - (else - (flying-lurker-handler arg0 arg1 arg2 arg3) - ) - ) - ) + ) + ) ) - ) :exit - (behavior () - (ja-channel-set! 0) - (none) - ) + (behavior () (ja-channel-set! 0) (none)) :code - (behavior ((arg0 handle) (arg1 string)) - (clone-anim arg0 3 #t arg1) - (none) - ) + (behavior ((arg0 handle) (arg1 string)) (clone-anim arg0 3 #t arg1) (none)) ) ;; failed to figure out what this is: (defstate flying-lurker-idle (flying-lurker) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('saw-player) - (set! (-> self take-off) #t) - (when (-> self link prev) - (entity-birth-no-kill (-> self link prev)) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) arg0) - (set! (-> a1-1 num-params) arg1) - (set! (-> a1-1 message) arg2) - (set! (-> a1-1 param 0) (-> arg3 param 0)) - (set! (-> a1-1 param 1) (-> arg3 param 1)) - (set! (-> a1-1 param 2) (-> arg3 param 2)) - (set! (-> a1-1 param 3) (-> arg3 param 3)) - (set! (-> a1-1 param 4) (-> arg3 param 4)) - (set! (-> a1-1 param 5) (-> arg3 param 5)) - (set! (-> a1-1 param 6) (-> arg3 param 6)) - (let ((t9-1 send-event-function) - (v1-13 (-> self link prev)) - ) - (t9-1 (if v1-13 - (-> v1-13 extra process) - ) - a1-1 + (case arg2 + (('saw-player) + (set! (-> self take-off) #t) + (when (-> self link prev) + (entity-birth-no-kill (-> self link prev)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) arg0) + (set! (-> a1-1 num-params) arg1) + (set! (-> a1-1 message) arg2) + (set! (-> a1-1 param 0) (-> arg3 param 0)) + (set! (-> a1-1 param 1) (-> arg3 param 1)) + (set! (-> a1-1 param 2) (-> arg3 param 2)) + (set! (-> a1-1 param 3) (-> arg3 param 3)) + (set! (-> a1-1 param 4) (-> arg3 param 4)) + (set! (-> a1-1 param 5) (-> arg3 param 5)) + (set! (-> a1-1 param 6) (-> arg3 param 6)) + (let ((t9-1 send-event-function) + (v1-13 (-> self link prev)) + ) + (t9-1 + (if v1-13 + (-> v1-13 extra process) + ) + a1-1 + ) + ) + ) + ) + ) + (('clone) + (when (-> self link next) + (entity-birth-no-kill (-> self link next)) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 2) + (set! (-> a1-2 message) 'clone) + (set! (-> a1-2 param 0) (-> arg3 param 0)) + (set! (-> a1-2 param 1) (+ (-> arg3 param 1) -1)) + (let ((t9-3 send-event-function) + (v1-25 (-> self link next)) + ) + (t9-3 + (if v1-25 + (-> v1-25 extra process) + ) + a1-2 + ) + ) + ) + ) + (case (-> arg3 param 1) + ((2) + (go flying-lurker-clone (the-as handle (-> arg3 param 0)) "flying-lurker-b-") + ) + ((1) + (go flying-lurker-clone (the-as handle (-> arg3 param 0)) "flying-lurker-c-") ) ) - ) ) - ) - (('clone) - (when (-> self link next) - (entity-birth-no-kill (-> self link next)) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'clone) - (set! (-> a1-2 param 0) (-> arg3 param 0)) - (set! (-> a1-2 param 1) (+ (-> arg3 param 1) -1)) - (let ((t9-3 send-event-function) - (v1-25 (-> self link next)) - ) - (t9-3 (if v1-25 - (-> v1-25 extra process) - ) - a1-2 - ) + (else + (flying-lurker-handler arg0 arg1 arg2 arg3) ) - ) ) - (case (-> arg3 param 1) - ((2) - (go - flying-lurker-clone - (the-as handle (-> arg3 param 0)) - "flying-lurker-b-" - ) - ) - ((1) - (go - flying-lurker-clone - (the-as handle (-> arg3 param 0)) - "flying-lurker-c-" - ) - ) - ) - ) - (else - (flying-lurker-handler arg0 arg1 arg2 arg3) - ) ) - ) :exit - (behavior () - (set! (-> self draw status) (logand -3 (-> self draw status))) - (none) - ) + (behavior () (set! (-> self draw status) (logand -3 (-> self draw status))) (none)) :trans (behavior () - (spool-push *art-control* "flying-lurker-intro" 0 self -99.0) - (if (and (-> self take-off) (first?)) - (go flying-lurker-start) + (spool-push *art-control* "flying-lurker-intro" 0 self -99.0) + (if (and (-> self take-off) (first?)) + (go flying-lurker-start) + ) + (none) ) - (none) - ) :code (behavior () - (local-vars (gp-0 int) (f30-0 float)) - 1.0 - 0 - (cond - ((not (-> self link next)) - (set! f30-0 0.9) - (set! gp-0 0) - ) - ((not (-> self link prev)) - (set! f30-0 1.0) - (set! gp-0 5) - ) - (else - (set! f30-0 1.2) - (set! gp-0 11) - ) - ) - (while #t + (local-vars (gp-0 int) (f30-0 float)) + 1.0 + 0 (cond - ((play-movie?) - (ja-channel-set! 0) - (if - (= - (get-task-status (game-task plunger-lurker-hit)) - (task-status invalid) - ) - (go flying-lurker-die) + ((not (-> self link next)) + (set! f30-0 0.9) + (set! gp-0 0) ) - (when - (and - *target* - (>= - 172032.0 - (vector-vector-xz-distance - (-> self root trans) - (-> *target* control trans) - ) - ) + ((not (-> self link prev)) + (set! f30-0 1.0) + (set! gp-0 5) + ) + (else + (set! f30-0 1.2) + (set! gp-0 11) ) - (process-grab? *target*) - (let ((s5-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) s5-0) 300) + ) + (while #t + (cond + ((play-movie?) + (ja-channel-set! 0) + (if (= (get-task-status (game-task plunger-lurker-hit)) (task-status invalid)) + (go flying-lurker-die) + ) + (when (and *target* (>= 172032.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans)))) + (process-grab? *target*) + (let ((s5-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) s5-0) 300) + (suspend) + ) + ) + (process-release? *target*) + (send-event self 'saw-player) + ) (suspend) + 0 ) - ) - (process-release? *target*) - (send-event self 'saw-player) - ) - (suspend) - 0 - ) - (else - (let ((v1-27 (-> self skel root-channel 0))) - (set! - (-> v1-27 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-9 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length - ) - -1 + (else + (let ((v1-27 (-> self skel root-channel 0))) + (set! (-> v1-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + ) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-9 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-9 param 1) f30-0) + (set! (-> a0-9 frame-num) (the float gp-0)) + (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (if (and *target* (>= 172032.0 (vector-vector-xz-distance (-> self root trans) (-> *target* control trans)))) + (send-event self 'saw-player) + ) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) f30-0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! gp-0 0) ) - ) ) - (set! (-> a0-9 param 1) f30-0) - (set! (-> a0-9 frame-num) (the float gp-0)) - (joint-control-channel-group! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if - (and - *target* - (>= - 172032.0 - (vector-vector-xz-distance - (-> self root trans) - (-> *target* control trans) - ) - ) - ) - (send-event self 'saw-player) - ) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) f30-0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set! gp-0 0) ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior flying-lurker) ja-post) ) @@ -1858,38 +1402,27 @@ ;; definition for method 11 of type flying-lurker ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - flying-lurker - ((obj flying-lurker) (arg0 entity-actor)) +(defmethod init-from-entity! flying-lurker ((obj flying-lurker) (arg0 entity-actor)) (stack-size-set! (-> obj main-thread) 512) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *flying-lurker-sg* '()) (set! (-> obj link) (new 'process 'actor-link-info obj)) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> obj root pause-adjust-distance) 122880.0) (set! (-> obj curve-position) 0.0) (cond - ((play-movie?) - (eval-path-curve! - (-> obj path) - (-> obj root trans) - (-> obj curve-position) - 'interp + ((play-movie?) + (eval-path-curve! (-> obj path) (-> obj root trans) (-> obj curve-position) 'interp) + (TODO-RENAME-14 (-> obj path) (-> obj tangent) (-> obj curve-position)) + (quaternion-identity! (-> obj root quat)) ) - (TODO-RENAME-14 (-> obj path) (-> obj tangent) (-> obj curve-position)) - (quaternion-identity! (-> obj root quat)) + (else + (flying-lurker-move) + (flying-lurker-rotate) + ) ) - (else - (flying-lurker-move) - (flying-lurker-rotate) - ) - ) (set! (-> obj y-offset) 0.0) (set! (-> obj y-vel) 0.0) (set! (-> obj last-look-time) 0) @@ -1899,28 +1432,19 @@ (set! (-> obj take-off) #f) (set-vector! (-> obj default-bounds) 0.0 8192.0 0.0 24576.0) (set! (-> obj draw bounds quad) (-> obj default-bounds quad)) - (set! - (-> obj draw shadow-ctrl) - (new - 'process - 'shadow-control - 131072.0 - 151552.0 - 614400.0 - (the-as float 60) - 409600.0 - ) - ) + (set! (-> obj draw shadow-ctrl) + (new 'process 'shadow-control 131072.0 151552.0 614400.0 (the-as float 60) 409600.0) + ) (let ((v1-27 (-> obj draw shadow-ctrl))) - (set! (-> v1-27 settings flags) (logand -33 (-> v1-27 settings flags))) - ) + (set! (-> v1-27 settings flags) (logand -33 (-> v1-27 settings flags))) + ) 0 (set! (-> obj alt-actor) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> obj shadow-backup) (-> obj draw shadow)) (set! (-> obj try-counted) #f) (if (= (get-task-status (game-task plunger-lurker-hit)) (task-status invalid)) - (go flying-lurker-die) - (go flying-lurker-idle) - ) + (go flying-lurker-die) + (go flying-lurker-idle) + ) (none) ) diff --git a/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc b/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc index 36870be874..0139f8e4f6 100644 --- a/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc +++ b/test/decompiler/reference/levels/ogre/ogre-obs_REF.gc @@ -11,428 +11,380 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 473) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-tntbarrel-BIG-explosion" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 2234 :period 3000 :length 5) - (sp-item 2235 :period 3000 :length 5) - (sp-item 2236 :period 3000 :length 40) - (sp-item 2237 :period 3000 :length 40) - (sp-item 2238 :period 3000 :length 40) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 473) (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-tntbarrel-BIG-explosion" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 2234 :period 3000 :length 5) + (sp-item 2235 :period 3000 :length 5) + (sp-item 2236 :period 3000 :length 40) + (sp-item 2237 :period 3000 :length 40) + (sp-item 2238 :period 3000 :length 40) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2236) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.8) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.32) (meters 0.42666668) 1.0) - (sp-flt spt-scalevel-x (meters -0.009333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.1333334) - (sp-flt spt-fade-b -1.4222223) - (sp-rnd-flt spt-accel-y -2.048 -2.048 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 2239) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 12.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2236) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.8) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.32) (meters 0.42666668) 1.0) + (sp-flt spt-scalevel-x (meters -0.009333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.1333334) + (sp-flt spt-fade-b -1.4222223) + (sp-rnd-flt spt-accel-y -2.048 -2.048 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 2239) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 12.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2239) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2239) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.0666667) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2238) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 32.0)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 3.4133334)) - (sp-flt spt-fade-g -3.2666667) - (sp-flt spt-fade-b -1.0666667) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2238) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 32.0)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 3.4133334)) + (sp-flt spt-fade-g -3.2666667) + (sp-flt spt-fade-b -1.0666667) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2234) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 2.0)) - (sp-flt spt-scale-x (meters 128.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2234) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2.0)) + (sp-flt spt-scale-x (meters 128.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2235) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 2.0)) - (sp-flt spt-scale-x (meters 32.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2235) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2.0)) + (sp-flt spt-scale-x (meters 32.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2237) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 48.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 10.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 48.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.32) (meters 0.21333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.053333335)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.08533333) - (sp-rnd-flt spt-accel-y 2.048 2.048 1.0) - (sp-flt spt-friction 0.85) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2240) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 160.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 8.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2237) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 48.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 16.0) (meters 10.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 48.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.32) (meters 0.21333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.053333335)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.08533333) + (sp-rnd-flt spt-accel-y 2.048 2.048 1.0) + (sp-flt spt-friction 0.85) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2240) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 160.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 8.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2240) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r -0.26666668) - (sp-flt spt-fade-g -0.26666668) - (sp-flt spt-fade-b -0.52916664) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 2241) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2240) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r -0.26666668) + (sp-flt spt-fade-g -0.26666668) + (sp-flt spt-fade-b -0.52916664) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 2241) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2241) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -0.24380952) - (sp-flt spt-fade-g -0.12190476) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.09142857) - (sp-int spt-next-time 525) - (sp-launcher-by-id spt-next-launcher 2242) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2241) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r -0.24380952) + (sp-flt spt-fade-g -0.12190476) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.09142857) + (sp-int spt-next-time 525) + (sp-launcher-by-id spt-next-launcher 2242) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2242) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2242) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 474) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x258 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-tntbarrel-explosion" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2079 :period 600 :length 5) - (sp-item 2080 :period 600 :length 40) - (sp-item 2081 :period 600 :length 20) - (sp-item 2082 :period 600 :length 20) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 474) (new 'static 'sparticle-launch-group + :length 4 + :duration #x258 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-tntbarrel-explosion" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2079 :period 600 :length 5) + (sp-item 2080 :period 600 :length 40) + (sp-item 2081 :period 600 :length 20) + (sp-item 2082 :period 600 :length 20) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2080) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0) - (sp-flt spt-scalevel-x (meters -0.0026666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.1333334) - (sp-flt spt-fade-b -1.4222223) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 2083) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2080) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0) + (sp-flt spt-scalevel-x (meters -0.0026666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.1333334) + (sp-flt spt-fade-b -1.4222223) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 2083) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2083) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2083) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.0666667) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2082) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 12.0)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 0.85333335)) - (sp-flt spt-fade-g -3.2666667) - (sp-flt spt-fade-b -1.0666667) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2082) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 12.0)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 0.85333335)) + (sp-flt spt-fade-g -3.2666667) + (sp-flt spt-fade-b -1.0666667) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2079) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 2.0)) - (sp-flt spt-scale-x (meters 24.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2079) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2.0)) + (sp-flt spt-scale-x (meters 24.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2081) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.04) 1.0) - (sp-flt spt-scalevel-x (meters 0.02)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.28444445) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2084) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 3.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2081) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.04) 1.0) + (sp-flt spt-scalevel-x (meters 0.02)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.28444445) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2084) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 3.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2084) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r -1.0666667) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b -2.1166666) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 2085) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2084) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r -1.0666667) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b -2.1166666) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 2085) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2085) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -0.5688889) - (sp-flt spt-fade-g -0.28444445) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.21333334) - (sp-int spt-next-time 225) - (sp-launcher-by-id spt-next-launcher 2086) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2085) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r -0.5688889) + (sp-flt spt-fade-g -0.28444445) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.21333334) + (sp-int spt-next-time 225) + (sp-launcher-by-id spt-next-launcher 2086) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2086) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2086) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: (defskelgroup *tntbarrel-sg* tntbarrel @@ -460,8 +412,8 @@ ;; definition for method 3 of type tntbarrel (defmethod inspect tntbarrel ((obj tntbarrel)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -470,75 +422,57 @@ :virtual #t :code (behavior ((arg0 symbol)) - (ja-channel-set! 0) - (clear-collide-with-as (-> self root-override)) - (ja-post) - (sound-play-by-name - (static-sound-name "dcrate-break") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (cond - (arg0 - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-6 (method-of-type part-tracker activate))) - (t9-6 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (ja-channel-set! 0) + (clear-collide-with-as (-> self root-override)) + (ja-post) + (sound-play-by-name (static-sound-name "dcrate-break") (new-sound-id) 1024 0 0 1 #t) + (cond + (arg0 + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-1 + (let ((t9-6 (method-of-type part-tracker activate))) + (t9-6 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + part-tracker-init + (-> *part-group-id-table* 473) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-1 ppointer) + ) + ) ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 473) - -1 - #f - #f - #f - (-> self root-override trans) + (else + (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-2 + (let ((t9-9 (method-of-type part-tracker activate))) + (t9-9 (the-as part-tracker gp-2) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-2 + part-tracker-init + (-> *part-group-id-table* 474) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-2 ppointer) + ) + ) ) - (-> gp-1 ppointer) - ) ) - ) - (else - (let ((gp-2 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-2 - (let ((t9-9 (method-of-type part-tracker activate))) - (t9-9 - (the-as part-tracker gp-2) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-2 - part-tracker-init - (-> *part-group-id-table* 474) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-2 ppointer) - ) - ) - ) + (suspend) + (dummy-18 self) + (deactivate self) + (none) ) - (suspend) - (dummy-18 self) - (deactivate self) - (none) - ) ) ;; failed to figure out what this is: @@ -546,70 +480,50 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('die-big) - (go-virtual die #t) - ) - (('die) - (go-virtual die #f) - ) - (('attack 'touch) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack-invinc) - (set! (-> a1-7 param 0) (-> arg3 param 0)) - (let ((a2-2 (new 'static 'attack-info :mask #x20))) - (set! (-> a2-2 mode) 'death) - (set! (-> a1-7 param 1) (the-as uint a2-2)) + (case arg2 + (('die-big) + (go-virtual die #t) + ) + (('die) + (go-virtual die #f) + ) + (('attack 'touch) + (let ((a1-7 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-7 from) self) + (set! (-> a1-7 num-params) 2) + (set! (-> a1-7 message) 'attack-invinc) + (set! (-> a1-7 param 0) (-> arg3 param 0)) + (let ((a2-2 (new 'static 'attack-info :mask #x20))) + (set! (-> a2-2 mode) 'death) + (set! (-> a1-7 param 1) (the-as uint a2-2)) + ) + (send-event-function arg0 a1-7) + ) + (go-virtual die #f) ) - (send-event-function arg0 a1-7) ) - (go-virtual die #f) - ) ) - ) :code - (behavior () - (transform-post) - (logior! (-> self mask) (process-mask sleep)) - (suspend) - 0 - (none) - ) + (behavior () (transform-post) (logior! (-> self mask) (process-mask sleep)) (suspend) 0 (none)) ) ;; definition for method 11 of type tntbarrel ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! tntbarrel ((obj tntbarrel) (arg0 entity-actor)) - (let - ((s4-0 - (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)) - ) - ) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 128)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 1) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 9216.0 0.0 14336.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 128)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 1) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 9216.0 0.0 14336.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *tntbarrel-sg* '()) (set-vector! (-> obj draw color-mult) 1.3 1.3 1.3 1.0) @@ -698,8 +612,8 @@ ;; definition for method 3 of type ogre-plat (defmethod inspect ogre-plat ((obj ogre-plat)) (let ((t9-0 (method-of-type rigid-body-platform inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tanchor-point: #~%" (-> obj anchor-point)) (format #t "~T~Tidle-y-offset: ~f~%" (-> obj idle-y-offset)) (format #t "~T~Tfloat-y-offset: ~f~%" (-> obj float-y-offset)) @@ -712,13 +626,7 @@ ;; definition for method 23 of type ogre-plat ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-23 ogre-plat ((obj ogre-plat) (arg0 float)) - ((the-as - (function rigid-body-platform basic none) - (find-parent-method ogre-plat 23) - ) - obj - (the-as basic arg0) - ) + ((the-as (function rigid-body-platform basic none) (find-parent-method ogre-plat 23)) obj (the-as basic arg0)) (TODO-RENAME-27 obj (-> obj anchor-point)) 0 (none) @@ -729,70 +637,51 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'trigger) - (set! (-> self triggered) (the-as entity-actor #t)) - (set! (-> self delay) (-> arg3 param 0)) - (let ((v0-0 (-> *display* base-frame-counter))) - (set! (-> self state-time) v0-0) - v0-0 - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'trigger) + (set! (-> self triggered) (the-as entity-actor #t)) + (set! (-> self delay) (-> arg3 param 0)) + (let ((v0-0 (-> *display* base-frame-counter))) + (set! (-> self state-time) v0-0) + v0-0 + ) + ) + ) + ) ) - ) :trans (behavior () - (cond - ((-> self active) - (when - (and - *target* - (>= - (-> self info idle-distance) - (vector-vector-distance - (-> self root-overlay trans) - (-> *target* control trans) + (cond + ((-> self active) + (when (and *target* (>= (-> self info idle-distance) + (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) + ) + ) + (if (-> self triggered) + (sound-play-by-name (static-sound-name "rock-in-lava") (new-sound-id) 1024 0 0 1 #t) + ) + (go-virtual rigid-body-platform-float) ) - ) ) - (if (-> self triggered) - (sound-play-by-name - (static-sound-name "rock-in-lava") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (else + (if (and + (-> self triggered) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the-as int (-> self delay))) + ) + (set! (-> self active) #t) + ) ) - ) - (go-virtual rigid-body-platform-float) ) - ) - (else - (if - (and - (-> self triggered) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the-as int (-> self delay)) - ) - ) - (set! (-> self active) #t) - ) - ) + (none) ) - (none) - ) :code (behavior () - (logior! (-> self draw status) 2) - (while #t - (suspend) + (logior! (-> self draw status) 2) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior ogre-plat) ja-post) ) @@ -802,57 +691,41 @@ :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior ogre-plat) - rigid-body-platform-event-handler - ) + (function process int symbol event-message-block object :behavior ogre-plat) + rigid-body-platform-event-handler + ) :trans (behavior () - (cond - ((or - (not *target*) - (< - (-> self info idle-distance) - (vector-vector-distance - (-> self root-overlay trans) - (-> *target* control trans) + (cond + ((or (not *target*) (< (-> self info idle-distance) + (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) + ) + ) + (let ((f30-1 (-> self idle-y-offset))) + (set! (-> self float-height-offset) + (seek (-> self float-height-offset) f30-1 (* 2048.0 (-> *display* seconds-per-frame))) + ) + (if (= (-> self float-height-offset) f30-1) + (go-virtual rigid-body-platform-idle) + ) + ) + ) + (else + (set! (-> self float-height-offset) + (seek (-> self float-height-offset) (-> self float-y-offset) (* 32768.0 (-> *display* seconds-per-frame))) + ) ) - ) ) - (let ((f30-1 (-> self idle-y-offset))) - (set! - (-> self float-height-offset) - (seek - (-> self float-height-offset) - f30-1 - (* 2048.0 (-> *display* seconds-per-frame)) - ) - ) - (if (= (-> self float-height-offset) f30-1) - (go-virtual rigid-body-platform-idle) - ) - ) - ) - (else - (set! - (-> self float-height-offset) - (seek - (-> self float-height-offset) - (-> self float-y-offset) - (* 32768.0 (-> *display* seconds-per-frame)) - ) - ) - ) + (none) ) - (none) - ) :code (behavior () - (set! (-> self draw status) (logand -3 (-> self draw status))) - (while #t - (suspend) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior ogre-plat) rigid-body-platform-post) ) @@ -860,49 +733,26 @@ ;; definition for method 30 of type ogre-plat ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-30 ogre-plat ((obj ogre-plat)) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 8192.0 0.0 32768.0) + (set-root-prim! s5-0 s4-0) ) - ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-overlay) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) - ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 8192.0 0.0 32768.0) - (set-root-prim! s5-0 s4-0) - ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-overlay) s5-0) - ) 0 (none) ) @@ -913,19 +763,19 @@ (defmethod TODO-RENAME-31 ogre-plat ((obj ogre-plat)) (set! (-> obj float-height-offset) (-> obj idle-y-offset)) (let ((s5-0 (-> obj info control-point-count))) - (dotimes (s4-0 s5-0) - (let ((s3-0 (-> obj control-point-array data s4-0))) - (let ((f30-0 (* 65536.0 (/ (the float s4-0) (the float s5-0)))) - (f28-0 (-> obj root-overlay root-prim local-sphere w)) - ) - (set! (-> s3-0 local-pos x) (* f28-0 (sin f30-0))) - (set! (-> s3-0 local-pos y) 0.0) - (set! (-> s3-0 local-pos z) (* f28-0 (cos f30-0))) + (dotimes (s4-0 s5-0) + (let ((s3-0 (-> obj control-point-array data s4-0))) + (let ((f30-0 (* 65536.0 (/ (the float s4-0) (the float s5-0)))) + (f28-0 (-> obj root-overlay root-prim local-sphere w)) + ) + (set! (-> s3-0 local-pos x) (* f28-0 (sin f30-0))) + (set! (-> s3-0 local-pos y) 0.0) + (set! (-> s3-0 local-pos z) (* f28-0 (cos f30-0))) + ) + (set! (-> s3-0 local-pos w) 1.0) + ) ) - (set! (-> s3-0 local-pos w) 1.0) - ) ) - ) (set! (-> obj anchor-point quad) (-> obj root-overlay trans quad)) (set! (-> obj active) #f) (set! (-> obj triggered) #f) @@ -934,33 +784,31 @@ ) ;; definition for symbol *ogre-step-constants*, type rigid-body-platform-constants -(define - *ogre-step-constants* - (new 'static 'rigid-body-platform-constants - :drag-factor 2.0 - :buoyancy-factor 2.0 - :max-buoyancy-depth (meters 4.0) - :gravity-factor 1.0 - :gravity (meters 80.0) - :player-weight (meters 35.0) - :player-bonk-factor 0.5 - :player-dive-factor 1.0 - :player-force-distance (meters 5.0) - :player-force-clamp (meters 1000000.0) - :player-force-timeout #x1e - :explosion-force (meters 100.0) - :linear-damping 0.9 - :angular-damping 0.9 - :control-point-count 6 - :mass 2.0 - :inertial-tensor-x (meters 4.0) - :inertial-tensor-y (meters 10.0) - :inertial-tensor-z (meters 4.0) - :idle-distance (meters 150.0) - :platform #t - :sound-name "lava-plat" - ) - ) +(define *ogre-step-constants* (new 'static 'rigid-body-platform-constants + :drag-factor 2.0 + :buoyancy-factor 2.0 + :max-buoyancy-depth (meters 4.0) + :gravity-factor 1.0 + :gravity (meters 80.0) + :player-weight (meters 35.0) + :player-bonk-factor 0.5 + :player-dive-factor 1.0 + :player-force-distance (meters 5.0) + :player-force-clamp (meters 1000000.0) + :player-force-timeout #x1e + :explosion-force (meters 100.0) + :linear-damping 0.9 + :angular-damping 0.9 + :control-point-count 6 + :mass 2.0 + :inertial-tensor-x (meters 4.0) + :inertial-tensor-y (meters 10.0) + :inertial-tensor-z (meters 4.0) + :idle-distance (meters 150.0) + :platform #t + :sound-name "lava-plat" + ) + ) ;; definition of type ogre-step (deftype ogre-step (ogre-plat) @@ -974,8 +822,8 @@ ;; definition for method 3 of type ogre-step (defmethod inspect ogre-step ((obj ogre-step)) (let ((t9-0 (method-of-type ogre-plat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -988,14 +836,10 @@ (TODO-RENAME-29 obj *ogre-step-constants*) ((the-as (function ogre-plat none) (find-parent-method ogre-step 31)) obj) (let ((a0-5 (entity-actor-lookup (-> obj entity) 'alt-actor 0))) - (if - (and - a0-5 - (logtest? (-> a0-5 extra perm status) (entity-perm-status complete)) - ) - (set! (-> obj active) #t) + (if (and a0-5 (logtest? (-> a0-5 extra perm status) (entity-perm-status complete))) + (set! (-> obj active) #t) + ) ) - ) 0 (none) ) @@ -1004,9 +848,9 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-34 ogre-step ((obj ogre-step)) (if (-> obj active) - (go (method-of-object obj rigid-body-platform-float)) - (go (method-of-object obj rigid-body-platform-idle)) - ) + (go (method-of-object obj rigid-body-platform-float)) + (go (method-of-object obj rigid-body-platform-idle)) + ) 0 (none) ) @@ -1023,8 +867,8 @@ ;; definition for method 3 of type ogre-step-a (defmethod inspect ogre-step-a ((obj ogre-step-a)) (let ((t9-0 (method-of-type ogre-step inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1040,8 +884,8 @@ ;; definition for method 3 of type ogre-step-b (defmethod inspect ogre-step-b ((obj ogre-step-b)) (let ((t9-0 (method-of-type ogre-step inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1057,8 +901,8 @@ ;; definition for method 3 of type ogre-step-c (defmethod inspect ogre-step-c ((obj ogre-step-c)) (let ((t9-0 (method-of-type ogre-step inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1074,21 +918,15 @@ ;; definition for method 3 of type ogre-step-d (defmethod inspect ogre-step-d ((obj ogre-step-d)) (let ((t9-0 (method-of-type ogre-step inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for method 31 of type ogre-step-a ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-31 ogre-step-a ((obj ogre-step-a)) - (set-vector! - (-> obj root-overlay root-prim local-sphere) - 0.0 - 12288.0 - 0.0 - 20480.0 - ) + (set-vector! (-> obj root-overlay root-prim local-sphere) 0.0 12288.0 0.0 20480.0) (initialize-skeleton obj *ogre-step-a-sg* '()) ((the-as (function ogre-step none) (find-parent-method ogre-step-a 31)) obj) 0 @@ -1098,13 +936,7 @@ ;; definition for method 31 of type ogre-step-b ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-31 ogre-step-b ((obj ogre-step-b)) - (set-vector! - (-> obj root-overlay root-prim local-sphere) - 0.0 - 12288.0 - 0.0 - 20480.0 - ) + (set-vector! (-> obj root-overlay root-prim local-sphere) 0.0 12288.0 0.0 20480.0) (initialize-skeleton obj *ogre-step-b-sg* '()) ((the-as (function ogre-step none) (find-parent-method ogre-step-b 31)) obj) 0 @@ -1114,13 +946,7 @@ ;; definition for method 31 of type ogre-step-c ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-31 ogre-step-c ((obj ogre-step-c)) - (set-vector! - (-> obj root-overlay root-prim local-sphere) - 0.0 - 12288.0 - 0.0 - 26624.0 - ) + (set-vector! (-> obj root-overlay root-prim local-sphere) 0.0 12288.0 0.0 26624.0) (initialize-skeleton obj *ogre-step-c-sg* '()) ((the-as (function ogre-step none) (find-parent-method ogre-step-c 31)) obj) 0 @@ -1130,13 +956,7 @@ ;; definition for method 31 of type ogre-step-d ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-31 ogre-step-d ((obj ogre-step-d)) - (set-vector! - (-> obj root-overlay root-prim local-sphere) - 0.0 - 12288.0 - 0.0 - 20480.0 - ) + (set-vector! (-> obj root-overlay root-prim local-sphere) 0.0 12288.0 0.0 20480.0) (initialize-skeleton obj *ogre-step-b-sg* '()) ((the-as (function ogre-step none) (find-parent-method ogre-step-d 31)) obj) 0 @@ -1144,34 +964,32 @@ ) ;; definition for symbol *ogre-isle-constants*, type rigid-body-platform-constants -(define - *ogre-isle-constants* - (new 'static 'rigid-body-platform-constants - :drag-factor 2.0 - :buoyancy-factor 2.0 - :max-buoyancy-depth (meters 2.0) - :gravity-factor 1.0 - :gravity (meters 80.0) - :player-weight (meters 35.0) - :player-bonk-factor 0.5 - :player-dive-factor 1.0 - :player-force-distance (meters 2.0) - :player-force-clamp (meters 1000000.0) - :player-force-timeout #x1e - :explosion-force (meters 4000.0) - :linear-damping 0.9 - :angular-damping 0.9 - :control-point-count 6 - :mass 2.0 - :inertial-tensor-x (meters 10.0) - :inertial-tensor-y (meters 2.0) - :inertial-tensor-z (meters 10.0) - :cm-joint-y (meters 1.0) - :idle-distance (meters 150.0) - :platform #t - :sound-name #f - ) - ) +(define *ogre-isle-constants* (new 'static 'rigid-body-platform-constants + :drag-factor 2.0 + :buoyancy-factor 2.0 + :max-buoyancy-depth (meters 2.0) + :gravity-factor 1.0 + :gravity (meters 80.0) + :player-weight (meters 35.0) + :player-bonk-factor 0.5 + :player-dive-factor 1.0 + :player-force-distance (meters 2.0) + :player-force-clamp (meters 1000000.0) + :player-force-timeout #x1e + :explosion-force (meters 4000.0) + :linear-damping 0.9 + :angular-damping 0.9 + :control-point-count 6 + :mass 2.0 + :inertial-tensor-x (meters 10.0) + :inertial-tensor-y (meters 2.0) + :inertial-tensor-z (meters 10.0) + :cm-joint-y (meters 1.0) + :idle-distance (meters 150.0) + :platform #t + :sound-name #f + ) + ) ;; definition of type ogre-isle (deftype ogre-isle (ogre-plat) @@ -1185,8 +1003,8 @@ ;; definition for method 3 of type ogre-isle (defmethod inspect ogre-isle ((obj ogre-isle)) (let ((t9-0 (method-of-type ogre-plat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1214,8 +1032,8 @@ ;; definition for method 3 of type ogre-isle-b (defmethod inspect ogre-isle-b ((obj ogre-isle-b)) (let ((t9-0 (method-of-type ogre-isle inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1231,8 +1049,8 @@ ;; definition for method 3 of type ogre-isle-c (defmethod inspect ogre-isle-c ((obj ogre-isle-c)) (let ((t9-0 (method-of-type ogre-isle inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1248,8 +1066,8 @@ ;; definition for method 3 of type ogre-isle-d (defmethod inspect ogre-isle-d ((obj ogre-isle-d)) (let ((t9-0 (method-of-type ogre-isle inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1257,13 +1075,7 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-31 ogre-isle-b ((obj ogre-isle-b)) (set! (-> obj root-overlay trans x) (+ -8192.0 (-> obj root-overlay trans x))) - (set-vector! - (-> obj root-overlay root-prim local-sphere) - 0.0 - 8192.0 - 0.0 - 24576.0 - ) + (set-vector! (-> obj root-overlay root-prim local-sphere) 0.0 8192.0 0.0 24576.0) (initialize-skeleton obj *ogre-isle-b-sg* '()) ((the-as (function ogre-isle none) (find-parent-method ogre-isle-b 31)) obj) 0 @@ -1274,13 +1086,7 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-31 ogre-isle-c ((obj ogre-isle-c)) (set! (-> obj root-overlay trans x) (+ -8192.0 (-> obj root-overlay trans x))) - (set-vector! - (-> obj root-overlay root-prim local-sphere) - 0.0 - 8192.0 - 0.0 - 24576.0 - ) + (set-vector! (-> obj root-overlay root-prim local-sphere) 0.0 8192.0 0.0 24576.0) (initialize-skeleton obj *ogre-isle-b-sg* '()) ((the-as (function ogre-isle none) (find-parent-method ogre-isle-c 31)) obj) 0 @@ -1292,13 +1098,7 @@ (defmethod TODO-RENAME-31 ogre-isle-d ((obj ogre-isle-d)) (set! (-> obj root-overlay trans x) (+ -8192.0 (-> obj root-overlay trans x))) (set! (-> obj root-overlay trans z) (+ -8192.0 (-> obj root-overlay trans z))) - (set-vector! - (-> obj root-overlay root-prim local-sphere) - 0.0 - 8192.0 - 0.0 - 22528.0 - ) + (set-vector! (-> obj root-overlay root-prim local-sphere) 0.0 8192.0 0.0 22528.0) (initialize-skeleton obj *ogre-isle-d-sg* '()) ((the-as (function ogre-isle none) (find-parent-method ogre-isle-d 31)) obj) 0 @@ -1329,8 +1129,8 @@ ;; definition for method 3 of type ogre-bridge (defmethod inspect ogre-bridge ((obj ogre-bridge)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tjoint-mod-array[8] @ #x~X~%" (-> obj joint-mod-array)) (format #t "~T~Tdead-joint-count: ~D~%" (-> obj dead-joint-count)) obj @@ -1340,34 +1140,28 @@ ;; INFO: Return type mismatch process-drawable vs ogre-bridge. (defmethod relocate ogre-bridge ((obj ogre-bridge) (arg0 int)) (dotimes (v1-0 8) - (if (nonzero? (-> obj joint-mod-array v1-0)) - (&+! (-> obj joint-mod-array v1-0) arg0) + (if (nonzero? (-> obj joint-mod-array v1-0)) + (&+! (-> obj joint-mod-array v1-0) arg0) + ) ) - ) (the-as - ogre-bridge - ((the-as - (function process-drawable int process-drawable) - (find-parent-method ogre-bridge 7) - ) - obj - arg0 + ogre-bridge + ((the-as (function process-drawable int process-drawable) (find-parent-method ogre-bridge 7)) obj arg0) ) - ) ) ;; definition for function ogre-bridge-update-joints ;; INFO: Return type mismatch int vs none. (defbehavior ogre-bridge-update-joints ogre-bridge () (let ((v1-1 (min 8 (-> self dead-joint-count)))) - (dotimes (a0-1 v1-1) - (let ((a1-2 (-> self joint-mod-array a0-1))) - (set! (-> a1-2 trans z) (the-as float #t)) - (set! (-> a1-2 trans x) (the-as float #t)) - (set! (-> a1-2 trans y) (the-as float #t)) - ) + (dotimes (a0-1 v1-1) + (let ((a1-2 (-> self joint-mod-array a0-1))) + (set! (-> a1-2 trans z) (the-as float #t)) + (set! (-> a1-2 trans x) (the-as float #t)) + (set! (-> a1-2 trans y) (the-as float #t)) + ) + ) ) - ) 0 (none) ) @@ -1375,112 +1169,77 @@ ;; failed to figure out what this is: (defstate ogre-bridge-idle (ogre-bridge) :exit - (behavior () - (ogre-bridge-update-joints) - (none) - ) + (behavior () (ogre-bridge-update-joints) (none)) :trans (behavior () - (if - (and - (and - *target* - (>= - 286720.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) + (if (and + (and + *target* + (>= 286720.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + ) + (send-event *target* 'query 'powerup 3) + ) + (go ogre-bridge-activate) ) - ) - ) - (send-event *target* 'query 'powerup 3) - ) - (go ogre-bridge-activate) + 0 + (none) ) - 0 - (none) - ) :code (behavior () - (ja-post) - (while #t - (suspend) + (ja-post) + (while #t + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate ogre-bridge-activate (ogre-bridge) :code (behavior () - (let ((v1-0 (entity-actor-lookup (-> self entity) 'alt-actor 0))) - (when (when v1-0 - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'next-stage) - (not (send-event-function (if v1-0 - (-> v1-0 extra process) - ) - a1-1 - ) - ) - ) - ) - (suspend) - 0 - ) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-4 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data + (let ((v1-0 (entity-actor-lookup (-> self entity) 'alt-actor 0))) + (when (when v1-0 + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'next-stage) + (not (send-event-function + (if v1-0 + (-> v1-0 extra process) + ) + a1-1 + ) + ) + ) + ) + (suspend) 0 - length ) - -1 - ) ) - ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-4 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (if (rand-vu-percent? 0.2) + (spawn-projectile-blue *target*) + ) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go ogre-bridge-activated) + (none) ) - (until (ja-done? 0) - (if (rand-vu-percent? 0.2) - (spawn-projectile-blue *target*) - ) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go ogre-bridge-activated) - (none) - ) :post (the-as (function none :behavior ogre-bridge) rider-post) ) @@ -1489,50 +1248,38 @@ (defstate ogre-bridge-activated (ogre-bridge) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('break) - (+! (-> self dead-joint-count) 4) - (go ogre-bridge-break) - ) - (('break-no-damage) - (go ogre-bridge-break) - ) - (('complete) - (process-entity-status! self (entity-perm-status complete) #t) - #t - ) - ) - ) - :code - (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! - (-> gp-0 frame-num) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 + (case arg2 + (('break) + (+! (-> self dead-joint-count) 4) + (go ogre-bridge-break) + ) + (('break-no-damage) + (go ogre-bridge-break) + ) + (('complete) + (process-entity-status! self (entity-perm-status complete) #t) + #t ) ) - ) ) - (transform-post) - (while #t - (suspend) + :code + (behavior () + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 3)) + num-func-identity + ) + (set! (-> gp-0 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + ) + (transform-post) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior ogre-bridge) ja-post) ) @@ -1541,108 +1288,53 @@ (defstate ogre-bridge-break (ogre-bridge) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'effect) - (when (= (-> arg3 param 0) 'splash) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (let ((a1-1 (-> arg3 param 2))) - (set! - (-> gp-0 quad) - (-> - self - node-list - data - a1-1 - bone - transform - vector - 3 - quad - ) - ) - ) - (set! (-> gp-0 y) 118784.0) - (let - ((s5-0 - (get-process *default-dead-pool* part-tracker #x4000) - ) - ) - (when s5-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker s5-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - part-tracker-init - (-> *part-group-id-table* 466) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-0 ppointer) - ) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as + object + (when (= v1-0 'effect) + (when (= (-> arg3 param 0) 'splash) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (let ((a1-1 (-> arg3 param 2))) + (set! (-> gp-0 quad) (-> self node-list data a1-1 bone transform vector 3 quad)) + ) + (set! (-> gp-0 y) 118784.0) + (let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker s5-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) ) - ) + (run-now-in-process s5-0 part-tracker-init (-> *part-group-id-table* 466) -1 #f #f #f gp-0) + (-> s5-0 ppointer) + ) + ) + ) + ) + ) + ) + ) ) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) + (go ogre-bridge-idle) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go ogre-bridge-idle) - (none) - ) :post (the-as (function none :behavior ogre-bridge) rider-post) ) @@ -1651,20 +1343,8 @@ (define *ogre-bridge-joint-array* (the-as (array uint8) - (new - 'static - 'boxed-array - :type uint8 :length 8 :allocated-length 8 - #x4 - #x9 - #xc - #x11 - #x7 - #xa - #xf - #x12 + (new 'static 'boxed-array :type uint8 :length 8 :allocated-length 8 #x4 #x9 #xc #x11 #x7 #xa #xf #x12) ) - ) ) ;; definition for method 11 of type ogre-bridge @@ -1672,397 +1352,198 @@ (defmethod init-from-entity! ogre-bridge ((obj ogre-bridge) (arg0 entity-actor)) (stack-size-set! (-> obj main-thread) 512) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 17) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 143360.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 3)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 4) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-0) + ) + (let ((s2-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 3)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 5) + (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-1) + ) + (let ((s2-2 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 1)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core action) (the-as uint 3)) + (set! (-> s2-2 prim-core offense) 4) + (set! (-> s2-2 transform-index) 6) + (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-2) + ) + (let ((s2-3 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-3 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-3 collide-with) (the-as uint 16)) + (set! (-> s2-3 prim-core action) (the-as uint 3)) + (set! (-> s2-3 prim-core offense) 4) + (set! (-> s2-3 transform-index) 7) + (set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-3) + ) + (let ((s2-4 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 1)))) + (set! (-> s2-4 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-4 collide-with) (the-as uint 16)) + (set! (-> s2-4 prim-core action) (the-as uint 3)) + (set! (-> s2-4 prim-core offense) 4) + (set! (-> s2-4 transform-index) 8) + (set-vector! (-> s2-4 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-4) + ) + (let ((s2-5 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-5 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-5 collide-with) (the-as uint 16)) + (set! (-> s2-5 prim-core action) (the-as uint 3)) + (set! (-> s2-5 prim-core offense) 4) + (set! (-> s2-5 transform-index) 9) + (set-vector! (-> s2-5 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-5) + ) + (let ((s2-6 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 1)))) + (set! (-> s2-6 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-6 collide-with) (the-as uint 16)) + (set! (-> s2-6 prim-core action) (the-as uint 3)) + (set! (-> s2-6 prim-core offense) 4) + (set! (-> s2-6 transform-index) 10) + (set-vector! (-> s2-6 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-6) + ) + (let ((s2-7 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-7 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-7 collide-with) (the-as uint 16)) + (set! (-> s2-7 prim-core action) (the-as uint 3)) + (set! (-> s2-7 prim-core offense) 4) + (set! (-> s2-7 transform-index) 11) + (set-vector! (-> s2-7 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-7) + ) + (let ((s2-8 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-8 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-8 collide-with) (the-as uint 16)) + (set! (-> s2-8 prim-core action) (the-as uint 3)) + (set! (-> s2-8 prim-core offense) 4) + (set! (-> s2-8 transform-index) 12) + (set-vector! (-> s2-8 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-8) + ) + (let ((s2-9 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-9 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-9 collide-with) (the-as uint 16)) + (set! (-> s2-9 prim-core action) (the-as uint 3)) + (set! (-> s2-9 prim-core offense) 4) + (set! (-> s2-9 transform-index) 13) + (set-vector! (-> s2-9 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-9) + ) + (let ((s2-10 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 1)))) + (set! (-> s2-10 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-10 collide-with) (the-as uint 16)) + (set! (-> s2-10 prim-core action) (the-as uint 3)) + (set! (-> s2-10 prim-core offense) 4) + (set! (-> s2-10 transform-index) 14) + (set-vector! (-> s2-10 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-10) + ) + (let ((s2-11 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-11 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-11 collide-with) (the-as uint 16)) + (set! (-> s2-11 prim-core action) (the-as uint 3)) + (set! (-> s2-11 prim-core offense) 4) + (set! (-> s2-11 transform-index) 15) + (set-vector! (-> s2-11 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-11) + ) + (let ((s2-12 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 1)))) + (set! (-> s2-12 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-12 collide-with) (the-as uint 16)) + (set! (-> s2-12 prim-core action) (the-as uint 3)) + (set! (-> s2-12 prim-core offense) 4) + (set! (-> s2-12 transform-index) 16) + (set-vector! (-> s2-12 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-12) + ) + (let ((s2-13 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-13 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-13 collide-with) (the-as uint 16)) + (set! (-> s2-13 prim-core action) (the-as uint 3)) + (set! (-> s2-13 prim-core offense) 4) + (set! (-> s2-13 transform-index) 17) + (set-vector! (-> s2-13 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-13) + ) + (let ((s2-14 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 1)))) + (set! (-> s2-14 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-14 collide-with) (the-as uint 16)) + (set! (-> s2-14 prim-core action) (the-as uint 3)) + (set! (-> s2-14 prim-core offense) 4) + (set! (-> s2-14 transform-index) 18) + (set-vector! (-> s2-14 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-14) + ) + (let ((s2-15 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 1)))) + (set! (-> s2-15 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-15 collide-with) (the-as uint 16)) + (set! (-> s2-15 prim-core action) (the-as uint 3)) + (set! (-> s2-15 prim-core offense) 4) + (set! (-> s2-15 transform-index) 19) + (set-vector! (-> s2-15 local-sphere) 0.0 0.0 0.0 20480.0) + (append-prim s3-0 s2-15) + ) + (let ((s2-16 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 2) (the-as uint 1)))) + (set! (-> s2-16 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-16 collide-with) (the-as uint 16)) + (set! (-> s2-16 prim-core action) (the-as uint 3)) + (set! (-> s2-16 prim-core offense) 4) + (set! (-> s2-16 transform-index) 20) + (set-vector! (-> s2-16 local-sphere) 0.0 0.0 0.0 45056.0) + (append-prim s3-0 s2-16) + ) ) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 17) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 143360.0) - (set-root-prim! s4-0 s3-0) - (let - ((s2-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 3)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 4) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-0) - ) - (let - ((s2-1 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 3)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 5) - (set-vector! (-> s2-1 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-1) - ) - (let - ((s2-2 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core action) (the-as uint 3)) - (set! (-> s2-2 prim-core offense) 4) - (set! (-> s2-2 transform-index) 6) - (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-2) - ) - (let - ((s2-3 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-3 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-3 collide-with) (the-as uint 16)) - (set! (-> s2-3 prim-core action) (the-as uint 3)) - (set! (-> s2-3 prim-core offense) 4) - (set! (-> s2-3 transform-index) 7) - (set-vector! (-> s2-3 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-3) - ) - (let - ((s2-4 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-4 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-4 collide-with) (the-as uint 16)) - (set! (-> s2-4 prim-core action) (the-as uint 3)) - (set! (-> s2-4 prim-core offense) 4) - (set! (-> s2-4 transform-index) 8) - (set-vector! (-> s2-4 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-4) - ) - (let - ((s2-5 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-5 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-5 collide-with) (the-as uint 16)) - (set! (-> s2-5 prim-core action) (the-as uint 3)) - (set! (-> s2-5 prim-core offense) 4) - (set! (-> s2-5 transform-index) 9) - (set-vector! (-> s2-5 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-5) - ) - (let - ((s2-6 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-6 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-6 collide-with) (the-as uint 16)) - (set! (-> s2-6 prim-core action) (the-as uint 3)) - (set! (-> s2-6 prim-core offense) 4) - (set! (-> s2-6 transform-index) 10) - (set-vector! (-> s2-6 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-6) - ) - (let - ((s2-7 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-7 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-7 collide-with) (the-as uint 16)) - (set! (-> s2-7 prim-core action) (the-as uint 3)) - (set! (-> s2-7 prim-core offense) 4) - (set! (-> s2-7 transform-index) 11) - (set-vector! (-> s2-7 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-7) - ) - (let - ((s2-8 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) - ) - ) - (set! (-> s2-8 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-8 collide-with) (the-as uint 16)) - (set! (-> s2-8 prim-core action) (the-as uint 3)) - (set! (-> s2-8 prim-core offense) 4) - (set! (-> s2-8 transform-index) 12) - (set-vector! (-> s2-8 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-8) - ) - (let - ((s2-9 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-9 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-9 collide-with) (the-as uint 16)) - (set! (-> s2-9 prim-core action) (the-as uint 3)) - (set! (-> s2-9 prim-core offense) 4) - (set! (-> s2-9 transform-index) 13) - (set-vector! (-> s2-9 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-9) - ) - (let - ((s2-10 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-10 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-10 collide-with) (the-as uint 16)) - (set! (-> s2-10 prim-core action) (the-as uint 3)) - (set! (-> s2-10 prim-core offense) 4) - (set! (-> s2-10 transform-index) 14) - (set-vector! (-> s2-10 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-10) - ) - (let - ((s2-11 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-11 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-11 collide-with) (the-as uint 16)) - (set! (-> s2-11 prim-core action) (the-as uint 3)) - (set! (-> s2-11 prim-core offense) 4) - (set! (-> s2-11 transform-index) 15) - (set-vector! (-> s2-11 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-11) - ) - (let - ((s2-12 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-12 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-12 collide-with) (the-as uint 16)) - (set! (-> s2-12 prim-core action) (the-as uint 3)) - (set! (-> s2-12 prim-core offense) 4) - (set! (-> s2-12 transform-index) 16) - (set-vector! (-> s2-12 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-12) - ) - (let - ((s2-13 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-13 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-13 collide-with) (the-as uint 16)) - (set! (-> s2-13 prim-core action) (the-as uint 3)) - (set! (-> s2-13 prim-core offense) 4) - (set! (-> s2-13 transform-index) 17) - (set-vector! (-> s2-13 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-13) - ) - (let - ((s2-14 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-14 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-14 collide-with) (the-as uint 16)) - (set! (-> s2-14 prim-core action) (the-as uint 3)) - (set! (-> s2-14 prim-core offense) 4) - (set! (-> s2-14 transform-index) 18) - (set-vector! (-> s2-14 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-14) - ) - (let - ((s2-15 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-15 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-15 collide-with) (the-as uint 16)) - (set! (-> s2-15 prim-core action) (the-as uint 3)) - (set! (-> s2-15 prim-core offense) 4) - (set! (-> s2-15 transform-index) 19) - (set-vector! (-> s2-15 local-sphere) 0.0 0.0 0.0 20480.0) - (append-prim s3-0 s2-15) - ) - (let - ((s2-16 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 2) - (the-as uint 1) - ) - ) - ) - (set! (-> s2-16 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-16 collide-with) (the-as uint 16)) - (set! (-> s2-16 prim-core action) (the-as uint 3)) - (set! (-> s2-16 prim-core offense) 4) - (set! (-> s2-16 transform-index) 20) - (set-vector! (-> s2-16 local-sphere) 0.0 0.0 0.0 45056.0) - (append-prim s3-0 s2-16) - ) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (initialize-skeleton obj *ogre-bridge-sg* '()) (logior! (-> obj skel effect flags) 1) (dotimes (s5-1 8) - (let - ((v1-185 - (new - 'process - 'joint-mod-set-local - obj - (the-as int (-> *ogre-bridge-joint-array* s5-1)) - #f - #f - #f - ) + (let ((v1-185 (new 'process 'joint-mod-set-local obj (the-as int (-> *ogre-bridge-joint-array* s5-1)) #f #f #f))) + (set! (-> obj joint-mod-array s5-1) (the-as joint-mod v1-185)) + (vector-reset! (-> v1-185 transform scale)) ) - ) - (set! (-> obj joint-mod-array s5-1) (the-as joint-mod v1-185)) - (vector-reset! (-> v1-185 transform scale)) ) - ) (cond - ((and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) + ((and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (set! (-> obj dead-joint-count) 8) + (ogre-bridge-update-joints) + (go ogre-bridge-activated) ) - (set! (-> obj dead-joint-count) 8) - (ogre-bridge-update-joints) - (go ogre-bridge-activated) + (else + (go ogre-bridge-idle) + ) ) - (else - (go ogre-bridge-idle) - ) - ) (none) ) @@ -2088,55 +1569,34 @@ ;; definition for method 3 of type ogre-bridgeend (defmethod inspect ogre-bridgeend ((obj ogre-bridgeend)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: (defstate ogre-bridgeend-idle (ogre-bridgeend) :code - (behavior () - (transform-post) - (anim-loop) - (none) - ) + (behavior () (transform-post) (anim-loop) (none)) ) ;; definition for method 11 of type ogre-bridgeend ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - ogre-bridgeend - ((obj ogre-bridgeend) (arg0 entity-actor)) - (let - ((s4-0 - (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)) - ) - ) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) +(defmethod init-from-entity! ogre-bridgeend ((obj ogre-bridgeend) (arg0 entity-actor)) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 12288.0 32768.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 12288.0 32768.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *ogre-bridgeend-sg* '()) (go ogre-bridgeend-idle) @@ -2157,8 +1617,8 @@ ;; definition for method 3 of type ogre-lava (defmethod inspect ogre-lava ((obj ogre-lava)) (let ((t9-0 (method-of-type water-anim inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tidle-anim: ~D~%" (-> obj idle-anim)) (format #t "~T~Tanim: ~D~%" (-> obj anim)) obj @@ -2169,105 +1629,80 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('submerge1) - (set! (-> self anim) 3) - (go-virtual water-vol-idle) + (case arg2 + (('submerge1) + (set! (-> self anim) 3) + (go-virtual water-vol-idle) + ) + (('submerge2) + (set! (-> self anim) 5) + (go-virtual water-vol-idle) + ) + (('emerge1) + (set! (-> self anim) 4) + (go-virtual water-vol-idle) + ) + (('emerge2) + (set! (-> self anim) 6) + (go-virtual water-vol-idle) + ) + (('boulder) + (set! (-> self anim) 7) + (go-virtual water-vol-idle) + ) + (else + ((-> (method-of-type water-anim water-vol-idle) event) arg0 arg1 arg2 arg3) + ) ) - (('submerge2) - (set! (-> self anim) 5) - (go-virtual water-vol-idle) - ) - (('emerge1) - (set! (-> self anim) 4) - (go-virtual water-vol-idle) - ) - (('emerge2) - (set! (-> self anim) 6) - (go-virtual water-vol-idle) - ) - (('boulder) - (set! (-> self anim) 7) - (go-virtual water-vol-idle) - ) - (else - ((-> (method-of-type water-anim water-vol-idle) event) arg0 arg1 arg2 arg3) - ) ) - ) :code (behavior () - (ja-channel-push! 2 30) - (let ((gp-0 (-> self skel root-channel 1))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data (-> self idle-anim))) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self anim))) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data (-> self anim))) - data - 0 - length + (ja-channel-push! 2 30) + (let ((gp-0 (-> self skel root-channel 1))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data (-> self idle-anim))) + num-func-identity ) - -1 - ) + (set! (-> gp-0 frame-num) 0.0) ) - ) - (set! (-> a0-2 param 1) 0.5) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data (-> self anim))) - num-func-seek! - ) - ) - (until (ja-done? 0) - (let ((v1-25 (-> self skel root-channel 1))) - (set! (-> v1-25 frame-interp) 0.5) - ) - (ja-post) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self anim)))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self anim))) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 0.5) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! + a0-2 + (the-as art-joint-anim (-> self draw art-group data (-> self anim))) + num-func-seek! + ) ) - (set! (-> a0-3 param 1) 0.5) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (let ((v1-25 (-> self skel root-channel 1))) + (set! (-> v1-25 frame-interp) 0.5) + ) + (ja-post) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 0.5) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (let ((v1-37 (-> self skel root-channel 0))) + (set! (-> v1-37 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self idle-anim)))) + ) + (let ((v1-40 (-> self skel root-channel 0))) + (set! (-> v1-40 num-func) num-func-identity) + (set! (-> v1-40 frame-num) 0.0) + ) + (while #t + (suspend) + ) + (none) ) - (let ((v1-37 (-> self skel root-channel 0))) - (set! - (-> v1-37 frame-group) - (the-as art-joint-anim (-> self draw art-group data (-> self idle-anim))) - ) - ) - (let ((v1-40 (-> self skel root-channel 0))) - (set! (-> v1-40 num-func) num-func-identity) - (set! (-> v1-40 frame-num) 0.0) - ) - (while #t - (suspend) - ) - (none) - ) :post (the-as (function none :behavior ogre-lava) #f) ) @@ -2277,46 +1712,44 @@ :virtual #t :code (behavior () - (set! (-> self idle-anim) 2) - (set! (-> self anim) (-> self idle-anim)) - (go-virtual water-vol-idle) - (none) - ) + (set! (-> self idle-anim) 2) + (set! (-> self anim) (-> self idle-anim)) + (go-virtual water-vol-idle) + (none) + ) ) ;; definition for symbol ripple-for-ogre-lava, type ripple-wave-set -(define - ripple-for-ogre-lava - (new 'static 'ripple-wave-set - :count 2 - :converted #f - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 3.0) - (new 'static 'ripple-wave :scale 40.0 :xdiv -2 :zdiv 2 :speed 1.8) - (new 'static 'ripple-wave) - (new 'static 'ripple-wave) - ) - ) - ) +(define ripple-for-ogre-lava (new 'static 'ripple-wave-set + :count 2 + :converted #f + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 40.0 :xdiv 2 :speed 3.0) + (new 'static 'ripple-wave :scale 40.0 :xdiv -2 :zdiv 2 :speed 1.8) + (new 'static 'ripple-wave) + (new 'static 'ripple-wave) + ) + ) + ) ;; definition for method 22 of type ogre-lava ;; INFO: Return type mismatch symbol vs ripple-wave-set. (defmethod TODO-RENAME-22 ogre-lava ((obj ogre-lava)) (let ((t9-0 (method-of-type water-anim TODO-RENAME-22))) - (t9-0 obj) - ) + (t9-0 obj) + ) (let ((v1-2 (new 'process 'ripple-control))) - (set! (-> obj draw ripple) v1-2) - (set! (-> v1-2 global-scale) 2048.0) - (set! (-> v1-2 waveform) ripple-for-ogre-lava) - ) + (set! (-> obj draw ripple) v1-2) + (set! (-> v1-2 global-scale) 2048.0) + (set! (-> v1-2 waveform) ripple-for-ogre-lava) + ) (set! (-> obj flags) (logand -8388609 (-> obj flags))) (set! (-> obj flags) (logior #x2000000 (-> obj flags))) (let ((v0-2 'lava)) - (set! (-> obj attack-event) v0-2) - (the-as ripple-wave-set v0-2) - ) + (set! (-> obj attack-event) v0-2) + (the-as ripple-wave-set v0-2) + ) ) ;; definition of type shortcut-boulder @@ -2333,8 +1766,8 @@ ;; definition for method 3 of type shortcut-boulder (defmethod inspect shortcut-boulder ((obj shortcut-boulder)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tbroken-look: #~%" (-> obj broken-look)) obj ) @@ -2358,199 +1791,169 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 475) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x12c - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-shortcut-boulder-explosion" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2149 :period 1500 :length 5) - (sp-item 2150 :period 1500 :length 5) - (sp-item 2151 :period 1500 :length 15) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 475) (new 'static 'sparticle-launch-group + :length 3 + :duration #x12c + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-shortcut-boulder-explosion" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 2149 :period 1500 :length 5) + (sp-item 2150 :period 1500 :length 5) + (sp-item 2151 :period 1500 :length 15) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2150) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 15.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 130.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 54.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.1333334) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2150) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 15.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 130.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 54.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.1333334) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2149) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) - (sp-rnd-flt spt-num 16.0 16.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 70.0 16.0 1.0) - (sp-rnd-flt spt-g 70.0 16.0 1.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.04) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-accel-y -10.922667) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop) - (sp-rnd-flt spt-conerot-x (degrees 20.0) (degrees 50.000004) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2149) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + (sp-rnd-flt spt-num 16.0 16.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 70.0 16.0 1.0) + (sp-rnd-flt spt-g 70.0 16.0 1.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.04) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-accel-y -10.922667) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop) + (sp-rnd-flt spt-conerot-x (degrees 20.0) (degrees 50.000004) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2151) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 48.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-flt spt-scalevel-y (meters 0.0033333334)) - (sp-flt spt-accel-y -1.0922667) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 30 299 1) - (sp-launcher-by-id spt-next-launcher 2152) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2151) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 48.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-flt spt-scalevel-y (meters 0.0033333334)) + (sp-flt spt-accel-y -1.0922667) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 30 299 1) + (sp-launcher-by-id spt-next-launcher 2152) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2152) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.2) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2152) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.2) (sp-end)) + ) + ) ;; failed to figure out what this is: (defstate shortcut-boulder-break (shortcut-boulder) :code (behavior () - (process-entity-status! self (entity-perm-status complete) #t) - (lods-assign! (-> self draw) (-> self broken-look)) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-3 (method-of-type part-tracker activate))) - (t9-3 - (the-as part-tracker gp-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (process-entity-status! self (entity-perm-status complete) #t) + (lods-assign! (-> self draw) (-> self broken-look)) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-3 (method-of-type part-tracker activate))) + (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + part-tracker-init + (-> *part-group-id-table* 475) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-0 ppointer) + ) ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 475) - -1 - #f - #f - #f - (-> self root-override trans) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-5 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-5 param 1) 1.0) + (set! (-> a0-5 frame-num) 0.0) + (joint-control-channel-group! + a0-5 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (-> gp-0 ppointer) - ) + (until (ja-done? 0) + (suspend) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) 1.0) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (dummy-18 self) + (deactivate self) + (none) ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-5 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! a0-5 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (dummy-18 self) - (deactivate self) - (none) - ) :post (the-as (function none :behavior shortcut-boulder) ja-post) ) @@ -2559,64 +1962,45 @@ (defstate shortcut-boulder-idle (shortcut-boulder) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack) - (if (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) - (go shortcut-boulder-break) + (case arg2 + (('attack) + (if (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) + (go shortcut-boulder-break) + ) ) ) ) - ) :code (behavior () - (transform-post) - (while #t - (logior! (-> self mask) (process-mask sleep)) - (suspend) + (transform-post) + (while #t + (logior! (-> self mask) (process-mask sleep)) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for method 11 of type shortcut-boulder ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - shortcut-boulder - ((obj shortcut-boulder) (arg0 entity-actor)) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) +(defmethod init-from-entity! shortcut-boulder ((obj shortcut-boulder) (arg0 entity-actor)) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 22528.0 0.0 30720.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 22528.0 0.0 30720.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *shortcut-boulder-whole-sg* '()) - (dummy-9 - (-> obj broken-look) - *shortcut-boulder-broken-sg* - (-> obj draw art-group) - (-> obj entity) - ) + (dummy-9 (-> obj broken-look) *shortcut-boulder-broken-sg* (-> obj draw art-group) (-> obj entity)) (set-vector! (-> obj draw color-emissive) 0.125 0.0625 0.0 0.0) (go shortcut-boulder-idle) (none) diff --git a/test/decompiler/reference/levels/ogre/ogre-part_REF.gc b/test/decompiler/reference/levels/ogre/ogre-part_REF.gc index de8d735362..816e318fe7 100644 --- a/test/decompiler/reference/levels/ogre/ogre-part_REF.gc +++ b/test/decompiler/reference/levels/ogre/ogre-part_REF.gc @@ -2,965 +2,860 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 464) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x5dc - :linger-duration #xbb8 - :flags (sp-group-flag use-local-clock) - :name "group-ogreboss-column-break" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2193 :period 1500 :length 5) - (sp-item 2194 :period 1500 :length 40) - (sp-item 2195 :period 1500 :length 20) - (sp-item 2196 :period 1500 :length 20) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 464) (new 'static 'sparticle-launch-group + :length 4 + :duration #x5dc + :linger-duration #xbb8 + :flags (sp-group-flag use-local-clock) + :name "group-ogreboss-column-break" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2193 :period 1500 :length 5) + (sp-item 2194 :period 1500 :length 40) + (sp-item 2195 :period 1500 :length 20) + (sp-item 2196 :period 1500 :length 20) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2194) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-y (meters -5.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.06666667) (meters 0.23333333) 1.0) - (sp-flt spt-scalevel-x (meters -0.0026666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.7111111) - (sp-flt spt-fade-b -0.7111111) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 2197) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2194) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-y (meters -5.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.06666667) (meters 0.23333333) 1.0) + (sp-flt spt-scalevel-x (meters -0.0026666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.7111111) + (sp-flt spt-fade-b -0.7111111) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 2197) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2197) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2197) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.0666667) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2196) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-y (meters -5.0) (meters 1.0) 1.0) - (sp-flt spt-scale-x (meters 0.6)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 20.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 1.5)) - (sp-flt spt-fade-g -1.6) - (sp-flt spt-fade-b -1.6) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2196) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-y (meters -5.0) (meters 1.0) 1.0) + (sp-flt spt-scale-x (meters 0.6)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 20.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 1.5)) + (sp-flt spt-fade-g -1.6) + (sp-flt spt-fade-b -1.6) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2193) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -4.0)) - (sp-flt spt-scale-x (meters 44.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2193) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -4.0)) + (sp-flt spt-scale-x (meters 44.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2195) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 24.0) - (sp-rnd-flt spt-y (meters -5.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 5.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.12) (meters 0.06666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.026666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.28444445) - (sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2198) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 6.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2195) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 24.0) + (sp-rnd-flt spt-y (meters -5.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 5.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.12) (meters 0.06666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.026666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.28444445) + (sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2198) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 6.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2198) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r -0.21333334) - (sp-flt spt-fade-g -0.21333334) - (sp-flt spt-fade-b 0.0) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2199) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2198) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r -0.21333334) + (sp-flt spt-fade-g -0.21333334) + (sp-flt spt-fade-b 0.0) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2199) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2199) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -0.021333333) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.08533333) - (sp-int spt-next-time 225) - (sp-launcher-by-id spt-next-launcher 2200) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2199) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r -0.021333333) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.08533333) + (sp-int spt-next-time 225) + (sp-launcher-by-id spt-next-launcher 2200) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2200) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2200) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 465) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x96 - :linger-duration #x258 - :flags (sp-group-flag use-local-clock) - :name "group-ogreboss-lava-splash" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2023)) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 465) (new 'static 'sparticle-launch-group + :length 1 + :duration #x96 + :linger-duration #x258 + :flags (sp-group-flag use-local-clock) + :name "group-ogreboss-lava-splash" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2023)) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2023) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 45.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2023) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 45.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 466) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x4b - :linger-duration #x258 - :flags (sp-group-flag use-local-clock) - :name "group-ogre-bridge-splash" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2108) - (sp-item 2109) - (sp-item 2110) - (sp-item 2111) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 466) + (new 'static 'sparticle-launch-group + :length 4 + :duration #x4b + :linger-duration #x258 + :flags (sp-group-flag use-local-clock) + :name "group-ogre-bridge-splash" + :launcher + (new 'static 'inline-array sparticle-group-item 4 (sp-item 2108) (sp-item 2109) (sp-item 2110) (sp-item 2111)) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2111) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 4.0 4.0 1.0) - (sp-flt spt-y (meters -3.0)) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.75) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters -0.003)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -5.4613333) - (sp-int spt-timer 360) - (sp-cpuinfo-flags bit0 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2111) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 4.0 4.0 1.0) + (sp-flt spt-y (meters -3.0)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.75) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters -0.003)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -5.4613333) + (sp-int spt-timer 360) + (sp-cpuinfo-flags bit0 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 1.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2108) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters -3.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.06666667) (meters 0.06666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.03529412)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -1.1294118) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 81) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2108) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters -3.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.06666667) (meters 0.06666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.03529412)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -1.1294118) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 81) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2109) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters 3.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -3.0)) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0016666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.07777778)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -2.8444443) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 42) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2109) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters 3.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -3.0)) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0016666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.07777778)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -2.8444443) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 42) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2110) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-y (meters -3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 5.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.015555556)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.56666666) - (sp-flt spt-fade-g -0.56666666) - (sp-flt spt-fade-b -0.56666666) - (sp-flt spt-fade-a 0.15) - (sp-flt spt-friction 0.97) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 81 80 1) - (sp-launcher-by-id spt-next-launcher 2112) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2110) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-y (meters -3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 5.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.015555556)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.56666666) + (sp-flt spt-fade-g -0.56666666) + (sp-flt spt-fade-b -0.56666666) + (sp-flt spt-fade-a 0.15) + (sp-flt spt-friction 0.97) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 81 80 1) + (sp-launcher-by-id spt-next-launcher 2112) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2112) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.08) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2112) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.08) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 468) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x96 - :linger-duration #x258 - :flags (sp-group-flag use-local-clock) - :name "group-ogreboss-boulder-grow" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2201) - (sp-item 2202) - (sp-item 2203) - (sp-item 2204) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 468) + (new 'static 'sparticle-launch-group + :length 4 + :duration #x96 + :linger-duration #x258 + :flags (sp-group-flag use-local-clock) + :name "group-ogreboss-boulder-grow" + :launcher + (new 'static 'inline-array sparticle-group-item 4 (sp-item 2201) (sp-item 2202) (sp-item 2203) (sp-item 2204)) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2203) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters -0.13333334)) - (sp-flt spt-scalevel-x (meters -0.002)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -6.4) - (sp-flt spt-fade-b -6.4) - (sp-flt spt-fade-a 6.4) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 20) - (sp-launcher-by-id spt-next-launcher 2205) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 12.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2203) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters -0.13333334)) + (sp-flt spt-scalevel-x (meters -0.002)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -6.4) + (sp-flt spt-fade-b -6.4) + (sp-flt spt-fade-a 6.4) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 20) + (sp-launcher-by-id spt-next-launcher 2205) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 12.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2205) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r -0.85333335) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-b -0.42666668) - (sp-flt spt-fade-a -0.85333335) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2205) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r -0.85333335) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-b -0.42666668) + (sp-flt spt-fade-a -0.85333335) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2204) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 16.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 1.2)) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b -1.0666667) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 30) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2204) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 16.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 1.2)) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b -1.0666667) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 30) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2201) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 2.0)) - (sp-rnd-flt spt-scale-x (meters 28.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2201) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2.0)) + (sp-rnd-flt spt-scale-x (meters 28.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2202) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 2.0)) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 196.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-flt spt-a 32.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2202) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2.0)) + (sp-rnd-flt spt-scale-x (meters 16.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 196.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-flt spt-a 32.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 469) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-ogreboss-missile" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1933) - (sp-item 1934) - ) - :bounds (new 'static 'sphere :w 12288.0) - ) - ) +(set! (-> *part-group-id-table* 469) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-ogreboss-missile" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 1933) (sp-item 1934)) + :bounds (new 'static 'sphere :w 12288.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1934) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 0.3 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 4.8) (meters 0.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 48.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.00083333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.21333334) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b 0.10666667) - (sp-flt spt-fade-a -0.32) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1934) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 0.3 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 4.8) (meters 0.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 48.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.00083333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.21333334) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b 0.10666667) + (sp-flt spt-fade-a -0.32) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1933) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 0.3 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 0.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 80.0 80.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.00083333335) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g -0.53333336) - (sp-flt spt-fade-b -0.17777778) - (sp-flt spt-fade-a -1.0666667) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1933) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 0.3 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 0.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 80.0 80.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.00083333335) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g -0.53333336) + (sp-flt spt-fade-b -0.17777778) + (sp-flt spt-fade-a -1.0666667) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 470) - (new 'static 'sparticle-launch-group - :length 8 - :duration #x96 - :linger-duration #x258 - :flags (sp-group-flag use-local-clock) - :name "group-ogreboss-pre-missile" - :launcher - (new 'static 'inline-array sparticle-group-item 8 - (sp-item 2079 :period 600 :length 5) - (sp-item 2206 :period 600 :length 40) - (sp-item 2206 :period 600 :length 40) - (sp-item 2206 :period 600 :length 30) - (sp-item 2206 :period 600 :length 20) - (sp-item 2082 :period 600 :length 20) - (sp-item 2082 :period 600 :length 10) - (sp-item 2082 :period 600 :length 5) - ) - :bounds (new 'static 'sphere :w 12288.0) - ) - ) +(set! (-> *part-group-id-table* 470) (new 'static 'sparticle-launch-group + :length 8 + :duration #x96 + :linger-duration #x258 + :flags (sp-group-flag use-local-clock) + :name "group-ogreboss-pre-missile" + :launcher + (new 'static 'inline-array sparticle-group-item 8 + (sp-item 2079 :period 600 :length 5) + (sp-item 2206 :period 600 :length 40) + (sp-item 2206 :period 600 :length 40) + (sp-item 2206 :period 600 :length 30) + (sp-item 2206 :period 600 :length 20) + (sp-item 2082 :period 600 :length 20) + (sp-item 2082 :period 600 :length 10) + (sp-item 2082 :period 600 :length 5) + ) + :bounds (new 'static 'sphere :w 12288.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2206) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0) - (sp-flt spt-scalevel-x (meters -0.0026666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.1333334) - (sp-flt spt-fade-b -1.4222223) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 2083) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2206) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0) + (sp-flt spt-scalevel-x (meters -0.0026666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.1333334) + (sp-flt spt-fade-b -1.4222223) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 2083) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 471) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x12c - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-ogreboss-missile-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2079 :period 600 :length 5) - (sp-item 2080 :period 600 :length 40) - (sp-item 2148 :period 600 :length 20) - (sp-item 2082 :period 600 :length 20) - ) - :bounds (new 'static 'sphere :w 65536.0) - ) - ) +(set! (-> *part-group-id-table* 471) (new 'static 'sparticle-launch-group + :length 4 + :duration #x12c + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-ogreboss-missile-impact" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2079 :period 600 :length 5) + (sp-item 2080 :period 600 :length 40) + (sp-item 2148 :period 600 :length 20) + (sp-item 2082 :period 600 :length 20) + ) + :bounds (new 'static 'sphere :w 65536.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 472) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :name "group-ogre-lava-lava-20x20" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 2030 :fade-after (meters 40.0) :falloff-to (meters 40.0)) - (sp-item 2031 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 2032 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 2028) - (sp-item 2028 :flags (start-dead)) - (sp-item 2028 :flags (start-dead)) - (sp-item 2028 :flags (start-dead)) - (sp-item 2028 :flags (start-dead)) - (sp-item 2028 :flags (start-dead)) - (sp-item 2028 :flags (start-dead)) - (sp-item 2028 :flags (start-dead)) - (sp-item 2028 :flags (start-dead)) - (sp-item 2033 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 137 :length 5 :binding 2029) - (sp-item 2033 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 234 :length 5 :binding 2029) - (sp-item 2033 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 92 :length 5 :binding 2029) - (sp-item 2029 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 57344.0) - ) - ) +(set! (-> *part-group-id-table* 472) + (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :name "group-ogre-lava-lava-20x20" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 2030 :fade-after (meters 40.0) :falloff-to (meters 40.0)) + (sp-item 2031 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 2032 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 2028) + (sp-item 2028 :flags (start-dead)) + (sp-item 2028 :flags (start-dead)) + (sp-item 2028 :flags (start-dead)) + (sp-item 2028 :flags (start-dead)) + (sp-item 2028 :flags (start-dead)) + (sp-item 2028 :flags (start-dead)) + (sp-item 2028 :flags (start-dead)) + (sp-item 2028 :flags (start-dead)) + (sp-item 2033 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 137 :length 5 :binding 2029) + (sp-item 2033 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 234 :length 5 :binding 2029) + (sp-item 2033 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 92 :length 5 :binding 2029) + (sp-item 2029 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 57344.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2031) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.05) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.64) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 2034) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2031) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.05) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.64) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 2034) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2033) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2033) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2032) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.02 0.02 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2032) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.02 0.02 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2030) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 5324.8) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-r 40.96) - (sp-flt spt-fade-g 27.306667) - (sp-flt spt-fade-b 38.229332) - (sp-int spt-timer 150) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 2035) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2030) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 5324.8) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-r 40.96) + (sp-flt spt-fade-g 27.306667) + (sp-flt spt-fade-b 38.229332) + (sp-int spt-timer 150) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 2035) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2035) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b 16.384) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2035) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b 16.384) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2034) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 2036) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2034) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 2036) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2036) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r -0.85333335) - (sp-flt spt-fade-g -0.42666668) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2037) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2036) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r -0.85333335) + (sp-flt spt-fade-g -0.42666668) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2037) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2037) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2037) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-a -0.10666667) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2028) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.7) - (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0029166667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -1.3653333) - (sp-int-plain-rnd spt-timer 30 179 1) - (sp-cpuinfo-flags bit0 bit3) - (sp-flt spt-rotate-y (degrees 45.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2028) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.7) + (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0029166667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -1.3653333) + (sp-int-plain-rnd spt-timer 30 179 1) + (sp-cpuinfo-flags bit0 bit3) + (sp-flt spt-rotate-y (degrees 45.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2029) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 6.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters -0.0023333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 360) - (sp-cpuinfo-flags bit0 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2029) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 6.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters -0.0023333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 360) + (sp-cpuinfo-flags bit0 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition of type ogre-part (deftype ogre-part (part-spawner) @@ -974,14 +869,10 @@ ;; definition for method 3 of type ogre-part (defmethod inspect ogre-part ((obj ogre-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: 0 - - - - diff --git a/test/decompiler/reference/levels/racer_common/collide-reaction-racer_REF.gc b/test/decompiler/reference/levels/racer_common/collide-reaction-racer_REF.gc index d401e76d17..3a179fe905 100644 --- a/test/decompiler/reference/levels/racer_common/collide-reaction-racer_REF.gc +++ b/test/decompiler/reference/levels/racer_common/collide-reaction-racer_REF.gc @@ -4,248 +4,193 @@ ;; definition for function racer-collision-reaction ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defun - racer-collision-reaction - ((arg0 control-info) - (arg1 collide-shape-intersect) - (arg2 vector) - (arg3 vector) - ) - (local-vars - (sv-80 vector) - (sv-84 vector) - (sv-88 (inline-array vector)) - (sv-96 int) - (sv-104 int) - ) +(defun racer-collision-reaction ((arg0 control-info) (arg1 collide-shape-intersect) (arg2 vector) (arg3 vector)) + (local-vars (sv-80 vector) (sv-84 vector) (sv-88 (inline-array vector)) (sv-96 int) (sv-104 int)) (set! sv-80 (new-stack-vector0)) (set! sv-84 (new-stack-vector0)) (let ((v1-2 (new 'stack-no-clear 'inline-array 'vector 2))) - (dotimes (a0-1 2) - (set! (-> v1-2 a0-1 quad) (the-as uint128 0)) + (dotimes (a0-1 2) + (set! (-> v1-2 a0-1 quad) (the-as uint128 0)) + ) + (set! sv-88 v1-2) ) - (set! sv-88 v1-2) - ) (set! sv-96 0) (set! sv-104 0) (set! (-> sv-88 0 quad) (-> arg3 quad)) (set! (-> sv-88 1 quad) (-> arg3 quad)) (let ((a1-3 (new 'stack-no-clear 'vector))) - (vector-float*! a1-3 (-> arg1 move-vec) (-> arg1 best-u)) - (TODO-RENAME-28 arg0 a1-3) - ) + (vector-float*! a1-3 (-> arg1 move-vec) (-> arg1 best-u)) + (TODO-RENAME-28 arg0 a1-3) + ) (dummy-56 arg0 (-> arg1 best-tri pat)) (if (= (-> arg0 poly-pat mode) (pat-mode wall)) - (set! sv-104 (logior sv-104 1)) - ) + (set! sv-104 (logior sv-104 1)) + ) (if (= (-> arg0 unknown-surface00 mode) 'air) - (set! sv-104 (logior sv-104 32)) - ) + (set! sv-104 (logior sv-104 32)) + ) (let ((v1-21 (new 'stack-no-clear 'vector))) - (set! (-> v1-21 quad) (-> arg1 best-from-prim prim-core world-sphere quad)) - (vector-! sv-80 v1-21 (-> arg1 best-tri intersect)) - ) + (set! (-> v1-21 quad) (-> arg1 best-from-prim prim-core world-sphere quad)) + (vector-! sv-80 v1-21 (-> arg1 best-tri intersect)) + ) (vector-normalize! sv-80 1.0) (set! (-> arg0 coverage) (vector-dot sv-80 (-> arg1 best-tri normal))) (when (< (-> arg0 coverage) 0.0) - (set! (-> arg0 coverage) 0.0) - (vector-flatten! sv-80 sv-80 (-> arg1 best-tri normal)) - (vector-normalize! sv-80 1.0) - ) + (set! (-> arg0 coverage) 0.0) + (vector-flatten! sv-80 sv-80 (-> arg1 best-tri normal)) + (vector-normalize! sv-80 1.0) + ) (if (< (-> arg0 coverage) 0.9999) - (set! sv-104 (logior sv-104 24)) - ) + (set! sv-104 (logior sv-104 24)) + ) (let ((v1-31 (-> sv-80 quad))) - (set! (-> sv-84 quad) v1-31) - ) + (set! (-> sv-84 quad) v1-31) + ) (if (= (-> arg1 best-u) 0.0) - (TODO-RENAME-28 arg0 (vector-normalize-copy! (new-stack-vector0) sv-84 3.0)) - ) + (TODO-RENAME-28 arg0 (vector-normalize-copy! (new-stack-vector0) sv-84 3.0)) + ) (set! (-> arg0 poly-normal quad) (-> arg1 best-tri normal quad)) (collide-shape-moving-angle-set! arg0 sv-84 (-> sv-88 0)) (if (< (-> arg0 poly-angle) -0.2) - (set! sv-96 (logior sv-96 16)) - ) - (let - ((s3-1 - (< - (fabs (-> arg0 surface-angle)) - (-> *pat-mode-info* (-> arg0 cur-pat mode) wall-angle) + (set! sv-96 (logior sv-96 16)) ) - ) - ) - (if s3-1 - (set! sv-104 (logior sv-104 2)) - ) - (when (zero? (logand (-> arg0 prev-status) 1)) - (set! - (-> arg0 ground-impact-vel) - (- (vector-dot (-> arg0 transv) (-> arg0 dynam gravity-normal))) - ) - (set! sv-96 (logior sv-96 2048)) - (when (not s3-1) - (let ((f30-0 (- 1.0 (-> arg0 surf impact-fric)))) - (when (< f30-0 1.0) - (let ((s2-1 (new-stack-vector0)) - (f28-0 (vector-dot (-> arg0 dynam gravity-normal) (-> sv-88 0))) - ) - 0.0 - (vector-! - s2-1 - (-> sv-88 0) - (vector-float*! s2-1 (-> arg0 dynam gravity-normal) f28-0) - ) - (let* ((f0-18 (vector-length s2-1)) - (f1-6 f0-18) - ) - (if (< f28-0 0.0) - (set! f28-0 (* f28-0 f30-0)) - ) - (vector+! - (-> sv-88 0) - (vector-float*! (-> sv-88 0) (-> arg0 dynam gravity-normal) f28-0) - (vector-float*! s2-1 s2-1 (/ f0-18 f1-6)) - ) - ) + (let ((s3-1 (< (fabs (-> arg0 surface-angle)) (-> *pat-mode-info* (-> arg0 cur-pat mode) wall-angle)))) + (if s3-1 + (set! sv-104 (logior sv-104 2)) ) - ) - ) - ) - ) - (set! sv-96 (logior sv-96 4)) - (cond - ((-> arg1 best-to-prim) - (set! sv-96 (logior sv-96 32)) - (set! (-> arg0 unknown-vector72 quad) (-> arg1 best-tri intersect quad)) - (set! (-> arg0 unknown-vector73 quad) (-> arg0 poly-normal quad)) - (set! - (-> arg0 unknown-handle00) - (process->handle (-> arg1 best-to-prim cshape process)) - ) - ) - ((= (-> arg0 poly-pat material) (pat-material waterbottom)) - ) - (else - (set! sv-96 (logior sv-96 4096)) - ) - ) - (if (and s3-1 (logtest? #x10000 (-> arg0 root-prim prim-core action))) - (set! s3-1 #f) - ) - (cond - (s3-1 - (set! sv-104 (logior sv-104 4)) - (set! sv-96 (logior sv-96 8)) - (set! (-> arg0 cur-pat mode) 1) - (set! (-> arg0 unknown-vector70 quad) (-> arg1 best-tri intersect quad)) - (set! (-> arg0 unknown-vector71 quad) (-> arg0 poly-normal quad)) - (set! (-> arg0 unknown-int60) (the-as uint (-> arg1 best-tri pat))) - (vector-reflect-flat-above! arg2 (-> sv-88 0) sv-84) - (cond - ((not - (and - (>= - (-> arg1 best-from-prim local-sphere w) - (vector-dot - (-> arg0 ground-poly-normal) - (vector-! - (new 'stack-no-clear 'vector) - (-> arg1 best-tri intersect) - (-> arg0 ground-touch-point) + (when (zero? (logand (-> arg0 prev-status) 1)) + (set! (-> arg0 ground-impact-vel) (- (vector-dot (-> arg0 transv) (-> arg0 dynam gravity-normal)))) + (set! sv-96 (logior sv-96 2048)) + (when (not s3-1) + (let ((f30-0 (- 1.0 (-> arg0 surf impact-fric)))) + (when (< f30-0 1.0) + (let ((s2-1 (new-stack-vector0)) + (f28-0 (vector-dot (-> arg0 dynam gravity-normal) (-> sv-88 0))) + ) + 0.0 + (vector-! s2-1 (-> sv-88 0) (vector-float*! s2-1 (-> arg0 dynam gravity-normal) f28-0)) + (let* ((f0-18 (vector-length s2-1)) + (f1-6 f0-18) + ) + (if (< f28-0 0.0) + (set! f28-0 (* f28-0 f30-0)) + ) + (vector+! + (-> sv-88 0) + (vector-float*! (-> sv-88 0) (-> arg0 dynam gravity-normal) f28-0) + (vector-float*! s2-1 s2-1 (/ f0-18 f1-6)) + ) + ) + ) ) - ) ) - (and - (< 0.0 (vector-dot (-> arg0 ground-poly-normal) arg2)) - (< (- (-> *display* base-frame-counter) (-> arg0 unknown-dword10)) 90) - (zero? (logand sv-104 32)) - ) - ) ) + ) + (set! sv-96 (logior sv-96 4)) + (cond + ((-> arg1 best-to-prim) + (set! sv-96 (logior sv-96 32)) + (set! (-> arg0 unknown-vector72 quad) (-> arg1 best-tri intersect quad)) + (set! (-> arg0 unknown-vector73 quad) (-> arg0 poly-normal quad)) + (set! (-> arg0 unknown-handle00) (process->handle (-> arg1 best-to-prim cshape process))) + ) + ((= (-> arg0 poly-pat material) (pat-material waterbottom)) ) (else - (set! sv-104 (logior sv-104 256)) - (set! sv-104 (logand -65 sv-104)) - (let - ((s3-3 - (vector-cross! - (new 'stack-no-clear 'vector) - (-> arg0 poly-normal) - (-> arg0 ground-poly-normal) - ) - ) - ) - (vector-normalize! s3-3 1.0) - (vector-float*! arg2 s3-3 (vector-dot (-> sv-88 0) s3-3)) + (set! sv-96 (logior sv-96 4096)) ) - (vector+! arg2 arg2 (-> arg0 poly-normal)) - ) ) - (let* - ((s2-2 - (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> sv-88 0) 1.0) + (if (and s3-1 (logtest? #x10000 (-> arg0 root-prim prim-core action))) + (set! s3-1 #f) ) - (s3-4 (new-stack-vector0)) - (f30-1 (vector-dot s2-2 arg2)) - ) - 0.0 - (vector-! s3-4 arg2 (vector-float*! s3-4 s2-2 f30-1)) - (let* ((f1-11 (vector-length s3-4)) - (f0-27 f1-11) - (f1-12 (* 0.9 f1-11)) + (cond + (s3-1 + (set! sv-104 (logior sv-104 4)) + (set! sv-96 (logior sv-96 8)) + (set! (-> arg0 cur-pat mode) 1) + (set! (-> arg0 unknown-vector70 quad) (-> arg1 best-tri intersect quad)) + (set! (-> arg0 unknown-vector71 quad) (-> arg0 poly-normal quad)) + (set! (-> arg0 unknown-int60) (the-as uint (-> arg1 best-tri pat))) + (vector-reflect-flat-above! arg2 (-> sv-88 0) sv-84) + (cond + ((not + (and + (>= (-> arg1 best-from-prim local-sphere w) + (vector-dot + (-> arg0 ground-poly-normal) + (vector-! (new 'stack-no-clear 'vector) (-> arg1 best-tri intersect) (-> arg0 ground-touch-point)) + ) + ) + (and + (< 0.0 (vector-dot (-> arg0 ground-poly-normal) arg2)) + (< (- (-> *display* base-frame-counter) (-> arg0 unknown-dword10)) 90) + (zero? (logand sv-104 32)) + ) + ) ) - (vector+! - arg2 - (vector-float*! arg2 s2-2 f30-1) - (vector-float*! s3-4 s3-4 (/ f1-12 f0-27)) + ) + (else + (set! sv-104 (logior sv-104 256)) + (set! sv-104 (logand -65 sv-104)) + (let ((s3-3 (vector-cross! (new 'stack-no-clear 'vector) (-> arg0 poly-normal) (-> arg0 ground-poly-normal)))) + (vector-normalize! s3-3 1.0) + (vector-float*! arg2 s3-3 (vector-dot (-> sv-88 0) s3-3)) + ) + (vector+! arg2 arg2 (-> arg0 poly-normal)) + ) + ) + (let* ((s2-2 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> sv-88 0) 1.0)) + (s3-4 (new-stack-vector0)) + (f30-1 (vector-dot s2-2 arg2)) + ) + 0.0 + (vector-! s3-4 arg2 (vector-float*! s3-4 s2-2 f30-1)) + (let* ((f1-11 (vector-length s3-4)) + (f0-27 f1-11) + (f1-12 (* 0.9 f1-11)) + ) + (vector+! arg2 (vector-float*! arg2 s2-2 f30-1) (vector-float*! s3-4 s3-4 (/ f1-12 f0-27))) + ) + ) + ) + (else + (set! sv-96 (logior sv-96 1)) + (set! (-> arg0 cur-pat mode) 0) + (if (and (= (-> arg1 best-from-prim prim-id) 6) (zero? (logand sv-104 7))) + (set! (-> arg0 local-normal quad) (-> sv-84 quad)) + ) + (vector-reflect-flat! arg2 (-> sv-88 0) sv-84) + (dotimes (v1-142 16) + (vector+! arg2 arg2 (-> arg0 poly-normal)) + ) + (set! sv-96 (logior sv-96 2)) + (set! (-> arg0 ground-touch-point w) 0.0) + (when (zero? (logand sv-104 15)) + (set! sv-96 (logior sv-96 2)) + (set! (-> arg0 ground-poly-normal quad) (-> arg0 poly-normal quad)) + (set! (-> arg0 unknown-vector53 quad) (-> sv-84 quad)) + (set! (-> arg0 unknown-float60) (vector-dot sv-84 (-> arg0 dynam gravity-normal))) + (set! (-> arg0 unknown-dword10) (-> *display* base-frame-counter)) + (set! (-> arg0 ground-pat) (-> arg0 poly-pat)) + (set! (-> arg0 ground-touch-point quad) (-> arg1 best-tri intersect quad)) + (set! sv-104 (logior sv-104 2048)) + (if (= (-> arg0 poly-pat material) (pat-material waterbottom)) + (set! sv-96 (logior sv-96 1024)) + ) + ) ) - ) ) - ) - (else - (set! sv-96 (logior sv-96 1)) - (set! (-> arg0 cur-pat mode) 0) - (if (and (= (-> arg1 best-from-prim prim-id) 6) (zero? (logand sv-104 7))) - (set! (-> arg0 local-normal quad) (-> sv-84 quad)) - ) - (vector-reflect-flat! arg2 (-> sv-88 0) sv-84) - (dotimes (v1-142 16) - (vector+! arg2 arg2 (-> arg0 poly-normal)) - ) - (set! sv-96 (logior sv-96 2)) - (set! (-> arg0 ground-touch-point w) 0.0) - (when (zero? (logand sv-104 15)) - (set! sv-96 (logior sv-96 2)) - (set! (-> arg0 ground-poly-normal quad) (-> arg0 poly-normal quad)) - (set! (-> arg0 unknown-vector53 quad) (-> sv-84 quad)) - (set! - (-> arg0 unknown-float60) - (vector-dot sv-84 (-> arg0 dynam gravity-normal)) - ) - (set! (-> arg0 unknown-dword10) (-> *display* base-frame-counter)) - (set! (-> arg0 ground-pat) (-> arg0 poly-pat)) - (set! (-> arg0 ground-touch-point quad) (-> arg1 best-tri intersect quad)) - (set! sv-104 (logior sv-104 2048)) - (if (= (-> arg0 poly-pat material) (pat-material waterbottom)) - (set! sv-96 (logior sv-96 1024)) - ) - ) - ) ) - ) (logior! (-> arg0 status) sv-96) (set! (-> arg0 reaction-flag) (the-as uint sv-104)) (update! - (-> arg0 history-data (-> arg0 unknown-halfword00)) - arg0 - (-> arg1 best-tri intersect) - (-> sv-88 1) - arg2 - ) - (set! - (-> arg0 unknown-halfword00) - (logand (+ (-> arg0 unknown-halfword00) 1) 127) - ) + (-> arg0 history-data (-> arg0 unknown-halfword00)) + arg0 + (-> arg1 best-tri intersect) + (-> sv-88 1) + arg2 + ) + (set! (-> arg0 unknown-halfword00) (logand (+ (-> arg0 unknown-halfword00) 1) 127)) sv-96 (none) ) diff --git a/test/decompiler/reference/levels/racer_common/racer-part_REF.gc b/test/decompiler/reference/levels/racer_common/racer-part_REF.gc index 2c6ddd6b53..83914da907 100644 --- a/test/decompiler/reference/levels/racer_common/racer-part_REF.gc +++ b/test/decompiler/reference/levels/racer_common/racer-part_REF.gc @@ -2,499 +2,434 @@ (in-package goal) ;; definition for function part-hud-racer-speed-func -(defun - part-hud-racer-speed-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-hud-racer-speed-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let* ((f0-0 (-> *target* control unknown-float01)) (f0-1 (cond - ((>= 122880.0 f0-0) - (lerp-scale 42780.445 27488.71 f0-0 0.0 122880.0) + ((>= 122880.0 f0-0) + (lerp-scale 42780.445 27488.71 f0-0 0.0 122880.0) + ) + ((>= 131072.0 f0-0) + (lerp-scale 27488.71 14927.645 f0-0 122880.0 131072.0) + ) + ((>= 139264.0 f0-0) + (lerp-scale 14927.645 7281.778 f0-0 131072.0 139264.0) + ) + ((>= 147456.0 f0-0) + (lerp-scale 7281.778 -546.13336 f0-0 139264.0 147456.0) + ) + ((>= 155648.0 f0-0) + (lerp-scale -546.13336 -6371.5557 f0-0 147456.0 155648.0) + ) + ((>= 163840.0 f0-0) + (lerp-scale -6371.5557 -10922.667 f0-0 155648.0 163840.0) + ) + (else + (lerp-scale -10922.667 -15473.777 f0-0 163840.0 172032.0) + ) ) - ((>= 131072.0 f0-0) - (lerp-scale 27488.71 14927.645 f0-0 122880.0 131072.0) - ) - ((>= 139264.0 f0-0) - (lerp-scale 14927.645 7281.778 f0-0 131072.0 139264.0) - ) - ((>= 147456.0 f0-0) - (lerp-scale 7281.778 -546.13336 f0-0 139264.0 147456.0) - ) - ((>= 155648.0 f0-0) - (lerp-scale -546.13336 -6371.5557 f0-0 147456.0 155648.0) - ) - ((>= 163840.0 f0-0) - (lerp-scale -6371.5557 -10922.667 f0-0 155648.0 163840.0) - ) - (else - (lerp-scale -10922.667 -15473.777 f0-0 163840.0 172032.0) - ) - ) - ) + ) ) - (cond - ((< (-> *hud-parts* bike-speed 0 offset) 10) - (cond - ((< f0-1 (-> arg2 vector 1 z)) - (let - ((f0-4 - (deg-seek - (-> arg2 vector 1 z) - f0-1 - (* 131072.0 (-> *display* seconds-per-frame)) + (cond + ((< (-> *hud-parts* bike-speed 0 offset) 10) + (cond + ((< f0-1 (-> arg2 vector 1 z)) + (let ((f0-4 (deg-seek (-> arg2 vector 1 z) f0-1 (* 131072.0 (-> *display* seconds-per-frame))))) + (set! (-> arg2 vector 1 z) f0-4) + f0-4 + ) + ) + (else + (let ((f0-7 (deg-seek (-> arg2 vector 1 z) f0-1 (* 32768.0 (-> *display* seconds-per-frame))))) + (set! (-> arg2 vector 1 z) f0-7) + f0-7 + ) ) - ) ) - (set! (-> arg2 vector 1 z) f0-4) - f0-4 - ) ) (else - (let - ((f0-7 - (deg-seek - (-> arg2 vector 1 z) - f0-1 - (* 32768.0 (-> *display* seconds-per-frame)) - ) - ) - ) - (set! (-> arg2 vector 1 z) f0-7) - f0-7 + (set! (-> arg2 vector 1 z) f0-1) + f0-1 ) - ) ) - ) - (else - (set! (-> arg2 vector 1 z) f0-1) - f0-1 - ) ) - ) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 108) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-racer-speed-dial" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 740 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 108) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-racer-speed-dial" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 740 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 109) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-racer-speed" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 741 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 109) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-racer-speed" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 741 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 110) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-racer-speed-front" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 1999 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 110) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-racer-speed-front" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 1999 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 741) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x45f)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 3.0)) - (sp-int spt-rot-x 4) - (sp-flt spt-scale-y (meters 3.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 741) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x45f)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 3.0)) + (sp-int spt-rot-x 4) + (sp-flt spt-scale-y (meters 3.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 740) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x45f)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-int spt-rot-x 4) - (sp-flt spt-rot-z (degrees 235.0)) - (sp-flt spt-scale-y (meters 0.3)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-racer-speed-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 740) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x6 :page #x45f)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-int spt-rot-x 4) + (sp-flt spt-rot-z (degrees 235.0)) + (sp-flt spt-scale-y (meters 0.3)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-racer-speed-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1999) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x45f)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.8)) - (sp-int spt-rot-x 4) - (sp-flt spt-scale-y (meters 0.8)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1999) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x7 :page #x45f)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.8)) + (sp-int spt-rot-x 4) + (sp-flt spt-scale-y (meters 0.8)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; definition for function part-hud-racer-heat-func -(defun - part-hud-racer-heat-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-hud-racer-heat-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((f0-1 (/ (-> *target* racer heat) (-> *RACER-bank* heat-max)))) - (set! (-> arg2 vector 1 z) (* 182.04445 (+ -45.0 (* 215.0 f0-1)))) - (cond - ((and (< 0.8 f0-1) (zero? (logand (-> *display* integral-frame-counter) 8))) - (set! (-> arg2 vector 2 x) 128.0) - (set! (-> arg2 vector 2 y) 0.0) - (let ((f0-4 0.0)) - (set! (-> arg2 vector 2 z) f0-4) - f0-4 + (set! (-> arg2 vector 1 z) (* 182.04445 (+ -45.0 (* 215.0 f0-1)))) + (cond + ((and (< 0.8 f0-1) (zero? (logand (-> *display* integral-frame-counter) 8))) + (set! (-> arg2 vector 2 x) 128.0) + (set! (-> arg2 vector 2 y) 0.0) + (let ((f0-4 0.0)) + (set! (-> arg2 vector 2 z) f0-4) + f0-4 + ) + ) + (else + (set! (-> arg2 vector 2 x) 128.0) + (set! (-> arg2 vector 2 y) 128.0) + (let ((f0-7 128.0)) + (set! (-> arg2 vector 2 z) f0-7) + f0-7 + ) + ) ) - ) - (else - (set! (-> arg2 vector 2 x) 128.0) - (set! (-> arg2 vector 2 y) 128.0) - (let ((f0-7 128.0)) - (set! (-> arg2 vector 2 z) f0-7) - f0-7 - ) - ) ) - ) ) ;; definition for function zoomer-heat-slice-color (defun zoomer-heat-slice-color ((arg0 matrix) (arg1 float)) (cond - ((< arg1 0.6) - (set! (-> arg0 vector 2 x) (* 213.33333 arg1)) - (set! (-> arg0 vector 2 y) 128.0) - (let ((f0-4 0.0)) - (set! (-> arg0 vector 2 z) f0-4) - f0-4 + ((< arg1 0.6) + (set! (-> arg0 vector 2 x) (* 213.33333 arg1)) + (set! (-> arg0 vector 2 y) 128.0) + (let ((f0-4 0.0)) + (set! (-> arg0 vector 2 z) f0-4) + f0-4 + ) ) - ) - ((< arg1 0.8) - (set! (-> arg0 vector 2 x) 128.0) - (set! (-> arg0 vector 2 y) (- 128.0 (* 640.0 (+ -0.6 arg1)))) - (let ((f0-9 0.0)) - (set! (-> arg0 vector 2 z) f0-9) - f0-9 + ((< arg1 0.8) + (set! (-> arg0 vector 2 x) 128.0) + (set! (-> arg0 vector 2 y) (- 128.0 (* 640.0 (+ -0.6 arg1)))) + (let ((f0-9 0.0)) + (set! (-> arg0 vector 2 z) f0-9) + f0-9 + ) ) - ) - ((zero? (logand (-> *display* integral-frame-counter) 8)) - (set! (-> arg0 vector 2 x) 128.0) - (set! (-> arg0 vector 2 y) 0.0) - (let ((f0-12 0.0)) - (set! (-> arg0 vector 2 z) f0-12) - f0-12 + ((zero? (logand (-> *display* integral-frame-counter) 8)) + (set! (-> arg0 vector 2 x) 128.0) + (set! (-> arg0 vector 2 y) 0.0) + (let ((f0-12 0.0)) + (set! (-> arg0 vector 2 z) f0-12) + f0-12 + ) ) + (else + (set! (-> arg0 vector 2 x) 128.0) + (set! (-> arg0 vector 2 y) 100.0) + (let ((f0-15 100.0)) + (set! (-> arg0 vector 2 z) f0-15) + f0-15 + ) + ) ) - (else - (set! (-> arg0 vector 2 x) 128.0) - (set! (-> arg0 vector 2 y) 100.0) - (let ((f0-15 100.0)) - (set! (-> arg0 vector 2 z) f0-15) - f0-15 - ) - ) - ) ) ;; definition for function part-hud-zoomer-heat-slice-01-func -(defun - part-hud-zoomer-heat-slice-01-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-hud-zoomer-heat-slice-01-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((f0-1 (/ (-> *target* racer heat) (-> *RACER-bank* heat-max)))) - (set! (-> arg2 vector 1 z) (* 182.04445 (+ -135.0 (* 215.0 f0-1)))) - (zoomer-heat-slice-color arg2 f0-1) - ) + (set! (-> arg2 vector 1 z) (* 182.04445 (+ -135.0 (* 215.0 f0-1)))) + (zoomer-heat-slice-color arg2 f0-1) + ) ) ;; definition for function part-hud-zoomer-heat-slice-02-func -(defun - part-hud-zoomer-heat-slice-02-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-hud-zoomer-heat-slice-02-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((f0-1 (/ (-> *target* racer heat) (-> *RACER-bank* heat-max)))) - (set! (-> arg2 vector 1 z) (* 182.04445 (+ -225.0 (* 215.0 f0-1)))) - (if (< (-> arg2 vector 1 z) -24576.0) - (set! (-> arg2 vector 1 z) -24576.0) + (set! (-> arg2 vector 1 z) (* 182.04445 (+ -225.0 (* 215.0 f0-1)))) + (if (< (-> arg2 vector 1 z) -24576.0) + (set! (-> arg2 vector 1 z) -24576.0) + ) + (zoomer-heat-slice-color arg2 f0-1) ) - (zoomer-heat-slice-color arg2 f0-1) - ) ) ;; definition for function part-hud-zoomer-heat-slice-03-func -(defun - part-hud-zoomer-heat-slice-03-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) +(defun part-hud-zoomer-heat-slice-03-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) (let ((f0-1 (/ (-> *target* racer heat) (-> *RACER-bank* heat-max)))) - (set! (-> arg2 vector 1 z) (* 182.04445 (+ -315.0 (* 215.0 f0-1)))) - (if (< (-> arg2 vector 1 z) -24576.0) - (set! (-> arg2 vector 1 z) -24576.0) + (set! (-> arg2 vector 1 z) (* 182.04445 (+ -315.0 (* 215.0 f0-1)))) + (if (< (-> arg2 vector 1 z) -24576.0) + (set! (-> arg2 vector 1 z) -24576.0) + ) + (zoomer-heat-slice-color arg2 f0-1) ) - (zoomer-heat-slice-color arg2 f0-1) - ) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 111) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-racer-heat-backing" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 737 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 111) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-racer-heat-backing" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 737 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 112) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-racer-heat-dial" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 738 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 112) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-racer-heat-dial" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 738 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 113) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag screen-space) - :name "group-part-hud-racer-heat" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 739 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 8192.0) - ) - ) +(set! (-> *part-group-id-table* 113) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag screen-space) + :name "group-part-hud-racer-heat" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 739 :flags (launch-asap))) + :bounds (new 'static 'sphere :w 8192.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 114) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :flags - (sp-group-flag use-local-clock screen-space) - :name "group-part-hud-racer-heat-slice" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2010 :flags (launch-asap)) - (sp-item 2011 :flags (launch-asap)) - (sp-item 2012 :flags (launch-asap)) - ) - :bounds (new 'static 'sphere :w 409600.0) - ) - ) +(set! (-> *part-group-id-table* 114) (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :flags + (sp-group-flag use-local-clock screen-space) + :name "group-part-hud-racer-heat-slice" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 2010 :flags (launch-asap)) + (sp-item 2011 :flags (launch-asap)) + (sp-item 2012 :flags (launch-asap)) + ) + :bounds (new 'static 'sphere :w 409600.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 739) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x45f)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 3.0)) - (sp-int spt-rot-x 4) - (sp-flt spt-scale-y (meters 3.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 739) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x2 :page #x45f)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 3.0)) + (sp-int spt-rot-x 4) + (sp-flt spt-scale-y (meters 3.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 737) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x45f)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 3.5)) - (sp-int spt-rot-x 4) - (sp-flt spt-scale-y (meters 3.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 63.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 737) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x5 :page #x45f)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 3.5)) + (sp-int spt-rot-x 4) + (sp-flt spt-scale-y (meters 3.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 63.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 738) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :page #x45f)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.9)) - (sp-int spt-rot-x 4) - (sp-flt spt-scale-y (meters 0.52)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-racer-heat-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 738) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :page #x45f)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.9)) + (sp-int spt-rot-x 4) + (sp-flt spt-scale-y (meters 0.52)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-racer-heat-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2010) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-zoomer-heat-slice-01-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2010) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-zoomer-heat-slice-01-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2011) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-zoomer-heat-slice-02-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2011) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-zoomer-heat-slice-02-func) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2012) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 2.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit2 bit9) - (sp-func spt-func 'part-hud-zoomer-heat-slice-03-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2012) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x32 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 2.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit2 bit9) + (sp-func spt-func 'part-hud-zoomer-heat-slice-03-func) + (sp-end) + ) + ) + ) ;; definition of type hud-bike-heat (deftype hud-bike-heat (hud) @@ -508,8 +443,8 @@ ;; definition for method 3 of type hud-bike-heat (defmethod inspect hud-bike-heat ((obj hud-bike-heat)) (let ((t9-0 (method-of-type hud inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -517,8 +452,8 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-19 hud-bike-heat ((obj hud-bike-heat)) (if *target* - (TODO-RENAME-16 obj (the int (-> *target* racer heat)) 0) - ) + (TODO-RENAME-16 obj (the int (-> *target* racer heat)) 0) + ) 0 (none) ) @@ -527,74 +462,62 @@ ;; INFO: Return type mismatch int vs none. (defmethod init-particles! hud-bike-heat ((obj hud-bike-heat) (arg0 int)) (with-pp - (push-setting! *setting-control* pp 'common-page 'set 0.0 2) - (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-0 (-> obj nb-of-particles))) - (set! (-> obj particles s5-0) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-0 part) - (create-launch-control (-> *part-group-id-table* 111) obj) + (push-setting! *setting-control* pp 'common-page 'set 0.0 2) + (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) + (let ((s5-0 (-> obj nb-of-particles))) + (set! (-> obj particles s5-0) (new 'static 'hud-particle)) + (set! (-> obj particles s5-0 part) (create-launch-control (-> *part-group-id-table* 111) obj)) + (set! (-> obj particles s5-0 init-pos x) 13.0) + (set! (-> obj particles s5-0 init-pos y) 370.0) + (set! (-> obj particles s5-0 init-pos z) 10.0) + (set! (-> obj particles s5-0 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (set! (-> obj particles s5-0 init-pos x) 13.0) - (set! (-> obj particles s5-0 init-pos y) 370.0) - (set! (-> obj particles s5-0 init-pos z) 10.0) - (set! (-> obj particles s5-0 part matrix) -1) - ) - (+! (-> obj nb-of-particles) 1) - ) - (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-1 (-> obj nb-of-particles))) - (set! (-> obj particles s5-1) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-1 part) - (create-launch-control (-> *part-group-id-table* 112) obj) + (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) + (let ((s5-1 (-> obj nb-of-particles))) + (set! (-> obj particles s5-1) (new 'static 'hud-particle)) + (set! (-> obj particles s5-1 part) (create-launch-control (-> *part-group-id-table* 112) obj)) + (set! (-> obj particles s5-1 init-pos x) 70.0) + (set! (-> obj particles s5-1 init-pos y) 370.0) + (set! (-> obj particles s5-1 init-pos z) 6.0) + (set! (-> obj particles s5-1 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (set! (-> obj particles s5-1 init-pos x) 70.0) - (set! (-> obj particles s5-1 init-pos y) 370.0) - (set! (-> obj particles s5-1 init-pos z) 6.0) - (set! (-> obj particles s5-1 part matrix) -1) - ) - (+! (-> obj nb-of-particles) 1) - ) - (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-2 (-> obj nb-of-particles))) - (set! (-> obj particles s5-2) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-2 part) - (create-launch-control (-> *part-group-id-table* 113) obj) + (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) + (let ((s5-2 (-> obj nb-of-particles))) + (set! (-> obj particles s5-2) (new 'static 'hud-particle)) + (set! (-> obj particles s5-2 part) (create-launch-control (-> *part-group-id-table* 113) obj)) + (set! (-> obj particles s5-2 init-pos x) 20.0) + (set! (-> obj particles s5-2 init-pos y) 370.0) + (set! (-> obj particles s5-2 init-pos z) 1.0) + (set! (-> obj particles s5-2 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (set! (-> obj particles s5-2 init-pos x) 20.0) - (set! (-> obj particles s5-2 init-pos y) 370.0) - (set! (-> obj particles s5-2 init-pos z) 1.0) - (set! (-> obj particles s5-2 part matrix) -1) - ) - (+! (-> obj nb-of-particles) 1) - ) - (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-3 (-> obj nb-of-particles))) - (set! (-> obj particles s5-3) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-3 part) - (create-launch-control (-> *part-group-id-table* 114) obj) + (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) + (let ((s5-3 (-> obj nb-of-particles))) + (set! (-> obj particles s5-3) (new 'static 'hud-particle)) + (set! (-> obj particles s5-3 part) (create-launch-control (-> *part-group-id-table* 114) obj)) + (set! (-> obj particles s5-3 init-pos x) 70.0) + (set! (-> obj particles s5-3 init-pos y) 370.0) + (set! (-> obj particles s5-3 init-pos z) 7.0) + (set! (-> obj particles s5-3 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (set! (-> obj particles s5-3 init-pos x) 70.0) - (set! (-> obj particles s5-3 init-pos y) 370.0) - (set! (-> obj particles s5-3 init-pos z) 7.0) - (set! (-> obj particles s5-3 part matrix) -1) - ) - (+! (-> obj nb-of-particles) 1) + (dotimes (s5-4 (-> obj nb-of-particles)) + (if (= (-> obj particles s5-4 part matrix) -1) + (set! (-> obj particles s5-4 part matrix) (sprite-allocate-user-hvdf)) + ) + ) + (set! (-> obj x-sgn) -1) + (set! (-> obj y-sgn) 1) + (set! (-> obj force-on-screen) #t) + 0 + (none) ) - (dotimes (s5-4 (-> obj nb-of-particles)) - (if (= (-> obj particles s5-4 part matrix) -1) - (set! (-> obj particles s5-4 part matrix) (sprite-allocate-user-hvdf)) - ) - ) - (set! (-> obj x-sgn) -1) - (set! (-> obj y-sgn) 1) - (set! (-> obj force-on-screen) #t) - 0 - (none) - ) ) ;; definition of type hud-bike-speed @@ -609,8 +532,8 @@ ;; definition for method 3 of type hud-bike-speed (defmethod inspect hud-bike-speed ((obj hud-bike-speed)) (let ((t9-0 (method-of-type hud inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -618,8 +541,8 @@ ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-19 hud-bike-speed ((obj hud-bike-speed)) (if *target* - (TODO-RENAME-16 obj (the int (-> *target* control unknown-float01)) 0) - ) + (TODO-RENAME-16 obj (the int (-> *target* control unknown-float01)) 0) + ) 0 (none) ) @@ -628,932 +551,844 @@ ;; INFO: Return type mismatch int vs none. (defmethod init-particles! hud-bike-speed ((obj hud-bike-speed) (arg0 int)) (with-pp - (push-setting! *setting-control* pp 'common-page 'set 0.0 2) - (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-0 (-> obj nb-of-particles))) - (set! (-> obj particles s5-0) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-0 part) - (create-launch-control (-> *part-group-id-table* 108) obj) + (push-setting! *setting-control* pp 'common-page 'set 0.0 2) + (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) + (let ((s5-0 (-> obj nb-of-particles))) + (set! (-> obj particles s5-0) (new 'static 'hud-particle)) + (set! (-> obj particles s5-0 part) (create-launch-control (-> *part-group-id-table* 108) obj)) + (set! (-> obj particles s5-0 init-pos x) 433.0) + (set! (-> obj particles s5-0 init-pos y) 370.0) + (set! (-> obj particles s5-0 init-pos z) 3.0) + (set! (-> obj particles s5-0 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (set! (-> obj particles s5-0 init-pos x) 433.0) - (set! (-> obj particles s5-0 init-pos y) 370.0) - (set! (-> obj particles s5-0 init-pos z) 3.0) - (set! (-> obj particles s5-0 part matrix) -1) - ) - (+! (-> obj nb-of-particles) 1) - ) - (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-1 (-> obj nb-of-particles))) - (set! (-> obj particles s5-1) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-1 part) - (create-launch-control (-> *part-group-id-table* 109) obj) + (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) + (let ((s5-1 (-> obj nb-of-particles))) + (set! (-> obj particles s5-1) (new 'static 'hud-particle)) + (set! (-> obj particles s5-1 part) (create-launch-control (-> *part-group-id-table* 109) obj)) + (set! (-> obj particles s5-1 init-pos x) 378.0) + (set! (-> obj particles s5-1 init-pos y) 370.0) + (set! (-> obj particles s5-1 init-pos z) 5.0) + (set! (-> obj particles s5-1 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (set! (-> obj particles s5-1 init-pos x) 378.0) - (set! (-> obj particles s5-1 init-pos y) 370.0) - (set! (-> obj particles s5-1 init-pos z) 5.0) - (set! (-> obj particles s5-1 part matrix) -1) - ) - (+! (-> obj nb-of-particles) 1) - ) - (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) - (let ((s5-2 (-> obj nb-of-particles))) - (set! (-> obj particles s5-2) (new 'static 'hud-particle)) - (set! - (-> obj particles s5-2 part) - (create-launch-control (-> *part-group-id-table* 110) obj) + (when (< (-> obj nb-of-particles) (-> obj max-nb-of-particles)) + (let ((s5-2 (-> obj nb-of-particles))) + (set! (-> obj particles s5-2) (new 'static 'hud-particle)) + (set! (-> obj particles s5-2 part) (create-launch-control (-> *part-group-id-table* 110) obj)) + (set! (-> obj particles s5-2 init-pos x) 415.0) + (set! (-> obj particles s5-2 init-pos y) 370.0) + (set! (-> obj particles s5-2 init-pos z) 1.0) + (set! (-> obj particles s5-2 part matrix) -1) + ) + (+! (-> obj nb-of-particles) 1) ) - (set! (-> obj particles s5-2 init-pos x) 415.0) - (set! (-> obj particles s5-2 init-pos y) 370.0) - (set! (-> obj particles s5-2 init-pos z) 1.0) - (set! (-> obj particles s5-2 part matrix) -1) - ) - (+! (-> obj nb-of-particles) 1) + (dotimes (s5-3 (-> obj nb-of-particles)) + (if (= (-> obj particles s5-3 part matrix) -1) + (set! (-> obj particles s5-3 part matrix) (sprite-allocate-user-hvdf)) + ) + ) + (set! (-> obj x-sgn) 1) + (set! (-> obj y-sgn) 1) + (set! (-> obj force-on-screen) #t) + 0 + (none) ) - (dotimes (s5-3 (-> obj nb-of-particles)) - (if (= (-> obj particles s5-3 part matrix) -1) - (set! (-> obj particles s5-3 part matrix) (sprite-allocate-user-hvdf)) - ) - ) - (set! (-> obj x-sgn) 1) - (set! (-> obj y-sgn) 1) - (set! (-> obj force-on-screen) #t) - 0 - (none) - ) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 115) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :name "group-racer-trans-pad" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 742 :fade-after (meters 160.0)) - (sp-item 743 :fade-after (meters 160.0)) - (sp-item 744 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 115) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :name "group-racer-trans-pad" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 742 :fade-after (meters 160.0)) + (sp-item 743 :fade-after (meters 160.0)) + (sp-item 744 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (is-3d)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 742) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters 7.0)) - (sp-rnd-flt spt-scale-x (meters 14.0) (meters 1.0) 1.0) - (sp-flt spt-scale-y (meters 14.0)) - (sp-flt spt-r 40.0) - (sp-rnd-flt spt-g 60.0 60.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 742) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters 7.0)) + (sp-rnd-flt spt-scale-x (meters 14.0) (meters 1.0) 1.0) + (sp-flt spt-scale-y (meters 14.0)) + (sp-flt spt-r 40.0) + (sp-rnd-flt spt-g 60.0 60.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 743) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters 4.0)) - (sp-rnd-flt spt-scale-x (meters 7.0) (meters 1.0) 1.0) - (sp-flt spt-scale-y (meters 14.0)) - (sp-flt spt-r 40.0) - (sp-rnd-flt spt-g 60.0 60.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-fade-a -8.533334) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 743) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters 4.0)) + (sp-rnd-flt spt-scale-x (meters 7.0) (meters 1.0) 1.0) + (sp-flt spt-scale-y (meters 14.0)) + (sp-flt spt-r 40.0) + (sp-rnd-flt spt-g 60.0 60.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-fade-a -8.533334) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 744) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) - (sp-flt spt-scale-x (meters 0.0)) - (sp-rnd-flt spt-rot-x 0.0 2730.6667 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 16.0) - (sp-rnd-flt spt-g 0.0 127.0 1.0) - (sp-flt spt-b 127.0) - (sp-flt spt-a 127.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.02)) - (sp-rnd-flt spt-rotvel-y (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -0.6144) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 744) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) + (sp-flt spt-scale-x (meters 0.0)) + (sp-rnd-flt spt-rot-x 0.0 2730.6667 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 16.0) + (sp-rnd-flt spt-g 0.0 127.0 1.0) + (sp-flt spt-b 127.0) + (sp-flt spt-a 127.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.02)) + (sp-rnd-flt spt-rotvel-y (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -0.6144) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2211) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2211) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2207) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 96.0 32.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2207) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 96.0 32.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2221) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) - (sp-rnd-flt spt-num 0.5 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-scale-y (meters 0.15)) - (sp-rnd-flt spt-r 0.0 2.0 64.0) - (sp-rnd-flt spt-g 64.0 3.0 64.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0) - (sp-flt spt-fade-a -0.53333336) - (sp-flt spt-accel-y -5.4613333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 40.0) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 1.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2221) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + (sp-rnd-flt spt-num 0.5 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.35) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-scale-y (meters 0.15)) + (sp-rnd-flt spt-r 0.0 2.0 64.0) + (sp-rnd-flt spt-g 64.0 3.0 64.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 4.8) 1.0) + (sp-flt spt-fade-a -0.53333336) + (sp-flt spt-accel-y -5.4613333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 40.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 1.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2208) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 16.0 16.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2208) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 16.0 16.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2218) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 16.0 16.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a -0.64) - (sp-flt spt-accel-y -5.4613333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 1.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2218) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 16.0 16.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a -0.64) + (sp-flt spt-accel-y -5.4613333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 1.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2215) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 70.0 32.0 1.0) - (sp-rnd-flt spt-b 40.0 20.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2215) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 70.0 32.0 1.0) + (sp-rnd-flt spt-b 40.0 20.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2216) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-flt spt-b 96.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2216) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-flt spt-b 96.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2831) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 40.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2831) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 40.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2214) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2214) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2220) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.025) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-int spt-g 0 2 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -1.0666667) - (sp-flt spt-accel-y -5.4613333) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 1.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2220) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.025) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-int spt-g 0 2 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -1.0666667) + (sp-flt spt-accel-y -5.4613333) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 1.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2213) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y -1.3653333) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2213) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.053333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y -1.3653333) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2275) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) - (sp-flt spt-num 0.06) - (sp-flt spt-x (meters 10.0)) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 3.0) 1.0) - (sp-flt spt-rot-y (degrees 0.0)) - (sp-rnd-flt spt-scale-y (meters 1.5) (meters 3.0) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.008666666) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.008666666) 1.0) - (sp-flt spt-fade-a 0.7111111) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 119) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2275) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + (sp-flt spt-num 0.06) + (sp-flt spt-x (meters 10.0)) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 3.0) 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-rnd-flt spt-scale-y (meters 1.5) (meters 3.0) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.008666666) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.008666666) 1.0) + (sp-flt spt-fade-a 0.7111111) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 119) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2276) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-rnd-flt spt-num 0.04 0.03 1.0) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) - (sp-rnd-flt spt-z -819.2 1638.4 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.008333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.64) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 116) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2276) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-rnd-flt spt-num 0.04 0.03 1.0) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.4) 1.0) + (sp-rnd-flt spt-z -819.2 1638.4 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.008333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.64) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 116) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2212) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-func spt-birth-func 'birth-func-vector-orient) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters -0.5) 1.0) - (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) - (sp-flt spt-rot-y (degrees 0.0)) - (sp-flt spt-rot-z (degrees 90.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 -16.0 1.0) - (sp-rnd-flt spt-g 64.0 -16.0 1.0) - (sp-rnd-flt spt-b 64.0 -16.0 1.0) - (sp-flt spt-a 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-userdata 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2212) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-func spt-birth-func 'birth-func-vector-orient) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters -0.5) 1.0) + (sp-rnd-flt spt-rot-x 0.0 65536.0 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-flt spt-rot-z (degrees 90.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 -16.0 1.0) + (sp-rnd-flt spt-g 64.0 -16.0 1.0) + (sp-rnd-flt spt-b 64.0 -16.0 1.0) + (sp-flt spt-a 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-userdata 0.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2225) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) - (sp-rnd-flt spt-num 4.0 16.0 1.0) - (sp-flt spt-x (meters 0.9)) - (sp-flt spt-y (meters 0.05)) - (sp-flt spt-z -3686.4) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.05) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 2.0 128.0) - (sp-rnd-flt spt-g 128.0 2.0 64.0) - (sp-rnd-flt spt-b 0.0 2.0 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters -0.00055555557)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.35555556) - (sp-flt spt-fade-a -0.6) - (sp-flt spt-accel-y -4.096) - (sp-flt spt-friction 0.9) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2225) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) + (sp-rnd-flt spt-num 4.0 16.0 1.0) + (sp-flt spt-x (meters 0.9)) + (sp-flt spt-y (meters 0.05)) + (sp-flt spt-z -3686.4) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.05) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 2.0 128.0) + (sp-rnd-flt spt-g 128.0 2.0 64.0) + (sp-rnd-flt spt-b 0.0 2.0 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters -0.00055555557)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.35555556) + (sp-flt spt-fade-a -0.6) + (sp-flt spt-accel-y -4.096) + (sp-flt spt-friction 0.9) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2226) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) - (sp-rnd-flt spt-num 4.0 16.0 1.0) - (sp-flt spt-x (meters 0.9)) - (sp-flt spt-y (meters 0.05)) - (sp-flt spt-z -3686.4) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.05) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 2.0 128.0) - (sp-rnd-flt spt-g 0.0 2.0 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters -0.00055555557)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.35555556) - (sp-flt spt-fade-a -0.6) - (sp-flt spt-accel-y -4.096) - (sp-flt spt-friction 0.9) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit0 bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2226) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :index #x1 :page #x2)) + (sp-rnd-flt spt-num 4.0 16.0 1.0) + (sp-flt spt-x (meters 0.9)) + (sp-flt spt-y (meters 0.05)) + (sp-flt spt-z -3686.4) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.05) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 2.0 128.0) + (sp-rnd-flt spt-g 0.0 2.0 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters -0.00055555557)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.35555556) + (sp-flt spt-fade-a -0.6) + (sp-flt spt-accel-y -4.096) + (sp-flt spt-friction 0.9) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit0 bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2227) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) - (sp-flt spt-friction 0.85) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 15 4 1) - (sp-launcher-by-id spt-next-launcher 2277) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2227) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-rnd-flt spt-accel-y 1.3653333 1.3653333 1.0) + (sp-flt spt-friction 0.85) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 15 4 1) + (sp-launcher-by-id spt-next-launcher 2277) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2277) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -5.0) - (sp-flt spt-fade-g -1.6) - (sp-flt spt-fade-b 1.6) - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 20) - (sp-launcher-by-id spt-next-launcher 2278) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2277) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r -5.0) + (sp-flt spt-fade-g -1.6) + (sp-flt spt-fade-b 1.6) + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 20) + (sp-launcher-by-id spt-next-launcher 2278) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2278) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r -0.2) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2278) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r -0.2) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.21333334) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 116) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x12c - :linger-duration #xbb8 - :flags (sp-group-flag use-local-clock) - :name "group-racer-explode" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 2279 :period 600 :length 5) - (sp-item 2280 :period 600 :length 40) - (sp-item 2281 :period 600 :length 20) - (sp-item 2282 :period 600 :length 20) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 116) (new 'static 'sparticle-launch-group + :length 4 + :duration #x12c + :linger-duration #xbb8 + :flags (sp-group-flag use-local-clock) + :name "group-racer-explode" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 2279 :period 600 :length 5) + (sp-item 2280 :period 600 :length 40) + (sp-item 2281 :period 600 :length 20) + (sp-item 2282 :period 600 :length 20) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2280) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 192.0 64.0 1.0) - (sp-rnd-flt spt-g 192.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0) - (sp-flt spt-scalevel-x (meters -0.0026666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -2.1333334) - (sp-flt spt-fade-b -1.4222223) - (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 2283) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2280) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.8) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 192.0 64.0 1.0) + (sp-rnd-flt spt-g 192.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.16) 1.0) + (sp-flt spt-scalevel-x (meters -0.0026666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -2.1333334) + (sp-flt spt-fade-b -1.4222223) + (sp-rnd-flt spt-accel-y -0.68266666 -0.68266666 1.0) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 2283) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 4.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2283) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2283) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -1.0666667) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2282) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-flt spt-scale-y (meters 12.0)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 0.85333335)) - (sp-flt spt-fade-g -3.2666667) - (sp-flt spt-fade-b -1.0666667) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2282) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-flt spt-scale-y (meters 12.0)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 0.85333335)) + (sp-flt spt-fade-g -3.2666667) + (sp-flt spt-fade-b -1.0666667) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2279) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 2.0)) - (sp-flt spt-scale-x (meters 24.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 192.0 32.0 1.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.3272727) - (sp-int spt-timer 54) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2279) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 2.0)) + (sp-flt spt-scale-x (meters 24.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 192.0 32.0 1.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.3272727) + (sp-int spt-timer 54) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2281) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.04) 1.0) - (sp-flt spt-scalevel-x (meters 0.02)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.28444445) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 42) - (sp-launcher-by-id spt-next-launcher 2284) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 3.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2281) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.04) 1.0) + (sp-flt spt-scalevel-x (meters 0.02)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.28444445) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 42) + (sp-launcher-by-id spt-next-launcher 2284) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 3.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2284) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r -1.0666667) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b -2.1166666) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 2285) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2284) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r -1.0666667) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b -2.1166666) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 2285) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2285) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-fade-r -0.5688889) - (sp-flt spt-fade-g -0.28444445) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.21333334) - (sp-int spt-next-time 225) - (sp-launcher-by-id spt-next-launcher 2286) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2285) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-fade-r -0.5688889) + (sp-flt spt-fade-g -0.28444445) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.21333334) + (sp-int spt-next-time 225) + (sp-launcher-by-id spt-next-launcher 2286) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2286) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2286) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2229) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-rnd-flt spt-b 192.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-scalevel-x (meters -0.00033333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.4) - (sp-flt spt-accel-y -0.06826667) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit0 bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2229) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-rnd-flt spt-b 192.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-scalevel-x (meters -0.00033333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.4) + (sp-flt spt-accel-y -0.06826667) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit0 bit2 bit3 bit14) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/racer_common/racer-states-FIC-LAV-MIS-OGR-ROL_REF.gc b/test/decompiler/reference/levels/racer_common/racer-states-FIC-LAV-MIS-OGR-ROL_REF.gc index a29fd80b71..e100915023 100644 --- a/test/decompiler/reference/levels/racer_common/racer-states-FIC-LAV-MIS-OGR-ROL_REF.gc +++ b/test/decompiler/reference/levels/racer_common/racer-states-FIC-LAV-MIS-OGR-ROL_REF.gc @@ -5,450 +5,317 @@ (defstate target-racing-start (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (cond - ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) - 'racer - ) - ((and (= arg2 'get-pickup) (= (-> arg3 param 0) 3)) - (if - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self racer boost-time)) - ) - 300 + (cond + ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) + 'racer ) - (send-event - self - 'boost - (fmax 1.0 (fmin 2.0 (the-as float (-> arg3 param 1)))) - ) - ) - ) - (else - (case arg2 - (('end-mode) - (go target-racing-get-off (process->handle arg0)) - ) - (('touched) - (send-event arg0 'attack (-> arg3 param 0) 'racer 0 0) - (when - (and - (type-type? (-> arg0 type) babak) - (< 40960.0 (-> self control unknown-float01)) - ) - (let - ((f0-5 - (lerp-scale - 16384.0 - 32768.0 - (-> self control unknown-float01) - 40960.0 - (-> self racer transv-max) - ) + ((and (= arg2 'get-pickup) (= (-> arg3 param 0) 3)) + (if (>= (- (-> *display* base-frame-counter) (the-as int (-> self racer boost-time))) 300) + (send-event self 'boost (fmax 1.0 (fmin 2.0 (the-as float (-> arg3 param 1))))) ) - ) - (go target-racing-jump f0-5 f0-5 #f) - ) - ) - ) - (('attack 'attack-or-shove 'attack-invinc) - (let ((v1-27 (the-as attack-info (-> arg3 param 1)))) - (if - (not - (and - (logtest? (-> v1-27 mask) 32) - (or (= (-> v1-27 mode) 'burn) (= (-> v1-27 mode) 'burnup)) - ) - ) - (target-attacked - arg2 - (the-as attack-info (-> arg3 param 1)) - arg0 - (the-as process (-> arg3 param 0)) - target-racing-hit - ) - ) - ) - ) - (('heat) - (let - ((f0-7 - (fmax - 0.0 - (fmin - (+ (-> self racer heat) (the-as float (-> arg3 param 0))) - (-> *RACER-bank* heat-max) - ) - ) - ) - ) - (set! (-> self racer heat) f0-7) - f0-7 - ) - ) - (('boost) - (sound-play-by-name - (static-sound-name "get-blue-eco") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (set! - (-> self racer boost-sound-id) - (sound-play-by-name - (static-sound-name "zoom-boost") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (set! - (-> self racer boost-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (let - ((f0-12 - (seek - (-> self racer boost-level) - (-> *RACER-bank* boost-level-max) - (* - (-> *RACER-bank* boost-level-inc) - (the-as float (-> arg3 param 0)) - ) - ) - ) - ) - (set! (-> self racer boost-level) f0-12) - f0-12 - ) - ) - (('smack) - (go target-racing-smack (-> self control unknown-float01) #t) - ) - (('jump) - (go - target-racing-jump - (the-as float (-> arg3 param 0)) - (the-as float (-> arg3 param 1)) - #f - ) - ) - (('change-mode) - (case (-> arg3 param 0) - (('grab) - (go target-racing-grab) - ) - ) - ) - (('clone-anim) - (go - target-racing-clone-anim - (process->handle (the-as process (-> arg3 param 0))) - ) ) (else - (target-generic-event-handler arg0 arg1 arg2 arg3) - ) + (case arg2 + (('end-mode) + (go target-racing-get-off (process->handle arg0)) + ) + (('touched) + (send-event arg0 'attack (-> arg3 param 0) 'racer 0 0) + (when (and (type-type? (-> arg0 type) babak) (< 40960.0 (-> self control unknown-float01))) + (let ((f0-5 (lerp-scale 16384.0 32768.0 (-> self control unknown-float01) 40960.0 (-> self racer transv-max)))) + (go target-racing-jump f0-5 f0-5 #f) + ) + ) + ) + (('attack 'attack-or-shove 'attack-invinc) + (let ((v1-27 (the-as attack-info (-> arg3 param 1)))) + (if (not (and (logtest? (-> v1-27 mask) 32) (or (= (-> v1-27 mode) 'burn) (= (-> v1-27 mode) 'burnup)))) + (target-attacked + arg2 + (the-as attack-info (-> arg3 param 1)) + arg0 + (the-as process (-> arg3 param 0)) + target-racing-hit + ) + ) + ) + ) + (('heat) + (let ((f0-7 (fmax 0.0 (fmin (+ (-> self racer heat) (the-as float (-> arg3 param 0))) (-> *RACER-bank* heat-max)))) + ) + (set! (-> self racer heat) f0-7) + f0-7 + ) + ) + (('boost) + (sound-play-by-name (static-sound-name "get-blue-eco") (new-sound-id) 1024 0 0 1 #t) + (set! (-> self racer boost-sound-id) + (sound-play-by-name (static-sound-name "zoom-boost") (new-sound-id) 1024 0 0 1 #t) + ) + (set! (-> self racer boost-time) (the-as uint (-> *display* base-frame-counter))) + (let ((f0-12 (seek + (-> self racer boost-level) + (-> *RACER-bank* boost-level-max) + (* (-> *RACER-bank* boost-level-inc) (the-as float (-> arg3 param 0))) + ) + ) + ) + (set! (-> self racer boost-level) f0-12) + f0-12 + ) + ) + (('smack) + (go target-racing-smack (-> self control unknown-float01) #t) + ) + (('jump) + (go target-racing-jump (the-as float (-> arg3 param 0)) (the-as float (-> arg3 param 1)) #f) + ) + (('change-mode) + (case (-> arg3 param 0) + (('grab) + (go target-racing-grab) + ) + ) + ) + (('clone-anim) + (go target-racing-clone-anim (process->handle (the-as process (-> arg3 param 0)))) + ) + (else + (target-generic-event-handler arg0 arg1 arg2 arg3) + ) + ) + ) ) - ) ) - ) :exit (behavior () - (when - (not - (or - (= (-> self next-state name) 'target-racing) - (= (-> self next-state name) 'target-racing-jump) - (= (-> self next-state name) 'target-racing-bounce) - (= (-> self next-state name) 'target-racing-hit) - (= (-> self next-state name) 'target-racing-death) - (= (-> self next-state name) 'target-racing-smack) - (= (-> self next-state name) 'target-racing-falling) - (= (-> self next-state name) 'target-racing-get-on) - (= (-> self next-state name) 'target-racing-get-off) - (= (-> self next-state name) 'target-racing-get-off-jump) - (= (-> self next-state name) 'target-racing-grab) - (= (-> self next-state name) 'target-racing-clone-anim) + (when (not + (or + (= (-> self next-state name) 'target-racing) + (= (-> self next-state name) 'target-racing-jump) + (= (-> self next-state name) 'target-racing-bounce) + (= (-> self next-state name) 'target-racing-hit) + (= (-> self next-state name) 'target-racing-death) + (= (-> self next-state name) 'target-racing-smack) + (= (-> self next-state name) 'target-racing-falling) + (= (-> self next-state name) 'target-racing-get-on) + (= (-> self next-state name) 'target-racing-get-off) + (= (-> self next-state name) 'target-racing-get-off-jump) + (= (-> self next-state name) 'target-racing-grab) + (= (-> self next-state name) 'target-racing-clone-anim) + ) + ) + (let ((v1-25 (-> self manipy))) + (when v1-25 + (deactivate (-> v1-25 0)) + (set! (-> self manipy) (the-as (pointer manipy) #f)) + ) + ) + (let ((v1-29 (-> *hud-parts* bike-speed))) + (when v1-29 + (set! (-> v1-29 0 deactivate-when-hidden) #t) + (send-event (ppointer->process v1-29) 'hide-quick) + ) + ) + (let ((v1-32 (-> *hud-parts* bike-heat))) + (when v1-32 + (set! (-> v1-32 0 deactivate-when-hidden) #t) + (send-event (ppointer->process v1-32) 'hide-quick) + ) + ) + (set! (-> *hud-parts* buzzers 0 next-y-offset) 0) + (set! (-> *hud-parts* power 0 next-y-offset) 0) + (set! (-> *hud-parts* buzzers 0 y-sgn) 1) + (set! (-> *hud-parts* power 0 y-sgn) 1) + (set! (-> self control root-prim prim-core action) + (logand -66049 (-> self control root-prim prim-core action)) + ) + (set! (-> self control unknown-surface00) *walk-mods*) + (set! (-> self state-flags) (logand -1025 (-> self state-flags))) + (send-event *camera* 'clear-slave-option #x6000) + (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) + (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) + (let ((v1-60 (-> self node-list data))) + (set! (-> v1-60 0 param0) cspace<-transformq+trans!) + (set! (-> v1-60 0 param1) (the-as basic (-> self control trans))) + (set! (-> v1-60 0 param2) (the-as basic (-> self control unknown-vector12))) + ) + (target-collide-set! 'normal 0.0) + (set! (-> self control reaction) target-collision-reaction) + (sound-stop (-> self racer engine-sound-id)) + (set! (-> self racer engine-sound-id) (new 'static 'sound-id)) + (set! (-> self control unknown-vector12 quad) (the-as uint128 0)) + (clear-pending-settings-from-process *setting-control* self 'sound-flava) + (target-exit) ) - ) - (let ((v1-25 (-> self manipy))) - (when v1-25 - (deactivate (-> v1-25 0)) - (set! (-> self manipy) (the-as (pointer manipy) #f)) - ) - ) - (let ((v1-29 (-> *hud-parts* bike-speed))) - (when v1-29 - (set! (-> v1-29 0 deactivate-when-hidden) #t) - (send-event (ppointer->process v1-29) 'hide-quick) - ) - ) - (let ((v1-32 (-> *hud-parts* bike-heat))) - (when v1-32 - (set! (-> v1-32 0 deactivate-when-hidden) #t) - (send-event (ppointer->process v1-32) 'hide-quick) - ) - ) - (set! (-> *hud-parts* buzzers 0 next-y-offset) 0) - (set! (-> *hud-parts* power 0 next-y-offset) 0) - (set! (-> *hud-parts* buzzers 0 y-sgn) 1) - (set! (-> *hud-parts* power 0 y-sgn) 1) - (set! - (-> self control root-prim prim-core action) - (logand -66049 (-> self control root-prim prim-core action)) - ) - (set! (-> self control unknown-surface00) *walk-mods*) - (set! (-> self state-flags) (logand -1025 (-> self state-flags))) - (send-event *camera* 'clear-slave-option #x6000) - (set! - (-> self control dynam gravity-max) - (-> self control unknown-dynamics00 gravity-max) - ) - (set! - (-> self control dynam gravity-length) - (-> self control unknown-dynamics00 gravity-length) - ) - (let ((v1-60 (-> self node-list data))) - (set! (-> v1-60 0 param0) cspace<-transformq+trans!) - (set! (-> v1-60 0 param1) (the-as basic (-> self control trans))) - (set! - (-> v1-60 0 param2) - (the-as basic (-> self control unknown-vector12)) - ) - ) - (target-collide-set! 'normal 0.0) - (set! (-> self control reaction) target-collision-reaction) - (sound-stop (-> self racer engine-sound-id)) - (set! (-> self racer engine-sound-id) (new 'static 'sound-id)) - (set! (-> self control unknown-vector12 quad) (the-as uint128 0)) - (clear-pending-settings-from-process *setting-control* self 'sound-flava) - (target-exit) + (none) ) - (none) - ) :code (behavior ((arg0 handle)) - (target-exit) - (set! *display-profile* #f) - (set! *display-entity-errors* #f) - (set-setting! *setting-control* self 'sound-flava #f 30.0 1) - (if (zero? (-> self racer)) - (set! (-> self racer) (new 'process 'racer-info)) - ) - (set! (-> self racer turn-anim-targ) 0.0) - (set! (-> self racer turn-anim-frame) 0.0) - (set! (-> self racer turn-anim-vel) 0.0) - (set! (-> self racer tail-anim-vel) 0.0) - (set! (-> self racer tail-anim-frame) 0.0) - (set! (-> self racer rudd-anim-vel) 0.0) - (set! (-> self racer rudd-anim-frame) 0.0) - (set! (-> self racer stick-lock) #f) - (set! (-> self racer stick-off) #f) - (set! (-> self racer heavy) #f) - (set! (-> self racer unstuck-time) (-> *display* base-frame-counter)) - (set! (-> self racer stuck-count) 0) - (set! (-> self racer cushion-base) 10240.0) - (set! (-> self racer shock-offset) 0.0) - (set! (-> self racer shock-offsetv) 0.0) - (set! (-> self racer shock-rotx) 0.0) - (set! (-> self racer engine-sound-id) (new 'static 'sound-id)) - (set! (-> self racer boost-sound-id) (new 'static 'sound-id)) - (set! (-> self racer scrape-sound-id) (new-sound-id)) - (set! (-> self racer entity) #f) - (let ((v1-28 (handle->process arg0))) - (if v1-28 - (set! (-> self racer entity) (the-as entity-actor (-> v1-28 entity))) - ) - ) - (set! (-> self control surf) *race-track-surface*) - (set! (-> self control reaction) racer-collision-reaction) - (vector-reset! (-> self racer rot)) - (set! (-> self racer rot y) (y-angle (-> self control))) - (target-collide-set! 'racer 0.0) - (set! (-> self control transv quad) (the-as uint128 0)) - (set! (-> self control unknown-float01) 0.0) - (logior! (-> self control root-prim prim-core action) 512) - (set! (-> self control unknown-surface00) *racer-mods*) - (set! (-> self racer lean-rotx) 0.0) - (vector-reset! (-> self racer rotv)) - (quaternion-identity! (the-as quaternion (-> self racer surface-quat))) - (quaternion-identity! - (the-as quaternion (-> self racer surface-quat-smooth)) - ) - (set! (-> self racer front-rot) (-> *RACER-bank* default-front-blade)) - (set! (-> self racer front-rotv) 0.0) - (set! (-> self racer bottom-rot) 0.0) - (let ((v1-56 (-> self node-list data))) - (set! (-> v1-56 0 param0) cspace<-transformq+world-trans!) - (set! (-> v1-56 0 param1) (the-as basic (-> self control trans))) - (set! (-> v1-56 0 param2) (the-as basic (-> self control unknown-vector12))) - ) - (set! (-> self control unknown-float81) 1.0) - (set! (-> self racer hop?) #f) - (set! (-> self racer bounce) 0) - (set! (-> self racer bounce-hit) 0.0) - (set! (-> self racer bob-period) 900.0) - (set! (-> self racer bob-mult-rot) 0.0) - (set! (-> self racer bob-mult-trans) 0.0) - (set! (-> self racer bob-meta-timer) 0.0) - (set! (-> self racer bob-meta-meta-timer) 0.0) - (set! (-> self racer bob-hit-ground-time) (the-as uint 0)) - (set! (-> self racer cushion-bob) 0.0) - (set! (-> self racer cushion-bob-old) 0.0) - (set! (-> self racer hill-value) 0.0) - (set! (-> self racer hill-ground-value) 0.0) - (set! (-> self racer hill-offset) 0.0) - (set! (-> self racer hill-boost) 0.0) - (set! (-> self racer cur-rotx) 0.0) - (set! (-> self racer targ-rotx) 0.0) - (set! (-> self racer hill-rotx) 0.0) - (set! (-> self racer mult-rotx) 0.0) - (set! (-> self racer speed-rotx) 0.25) - (set! (-> self racer boost-curve) 0.0) - (set! (-> self racer boost-level) 0.0) - (set! (-> self racer boost-target) 0.0) - (set! (-> self racer boost-output) 0.0) - (set! (-> self racer boost-time) (the-as uint 0)) - (set! - (-> self racer boost-duration) - (the-as uint (-> *RACER-bank* boost-duration)) - ) - (set! (-> self racer heat) 0.0) - (set! (-> self racer slide-mode) 0) - (set! (-> self racer slide-amp) 0.0) - (set! (-> self racer slide-down-time 0) (the-as uint 0)) - (set! (-> self racer slide-down-time 1) (the-as uint 0)) - (set! (-> self racer slide-interp) 0.0) - (set! (-> self racer surface-y) (-> self control trans y)) - (let ((s5-0 (-> self entity))) - (set! (-> self entity) (-> self racer entity)) - (let ((s4-0 (get-process *8k-dead-pool* manipy #x4000))) - (set! (-> self manipy) (the-as (pointer manipy) (when s4-0 - (let - ((t9-9 - (method-of-type - manipy - activate - ) - ) - ) - (t9-9 - (the-as manipy s4-0) - self - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s4-0 - manipy-init - (-> self control trans) - (-> self entity) - *racer-sg* - #f - ) - (-> s4-0 ppointer) - ) - ) + (target-exit) + (set! *display-profile* #f) + (set! *display-entity-errors* #f) + (set-setting! *setting-control* self 'sound-flava #f 30.0 1) + (if (zero? (-> self racer)) + (set! (-> self racer) (new 'process 'racer-info)) + ) + (set! (-> self racer turn-anim-targ) 0.0) + (set! (-> self racer turn-anim-frame) 0.0) + (set! (-> self racer turn-anim-vel) 0.0) + (set! (-> self racer tail-anim-vel) 0.0) + (set! (-> self racer tail-anim-frame) 0.0) + (set! (-> self racer rudd-anim-vel) 0.0) + (set! (-> self racer rudd-anim-frame) 0.0) + (set! (-> self racer stick-lock) #f) + (set! (-> self racer stick-off) #f) + (set! (-> self racer heavy) #f) + (set! (-> self racer unstuck-time) (-> *display* base-frame-counter)) + (set! (-> self racer stuck-count) 0) + (set! (-> self racer cushion-base) 10240.0) + (set! (-> self racer shock-offset) 0.0) + (set! (-> self racer shock-offsetv) 0.0) + (set! (-> self racer shock-rotx) 0.0) + (set! (-> self racer engine-sound-id) (new 'static 'sound-id)) + (set! (-> self racer boost-sound-id) (new 'static 'sound-id)) + (set! (-> self racer scrape-sound-id) (new-sound-id)) + (set! (-> self racer entity) #f) + (let ((v1-28 (handle->process arg0))) + (if v1-28 + (set! (-> self racer entity) (the-as entity-actor (-> v1-28 entity))) + ) ) - ) - (set! (-> self entity) s5-0) - ) - (when (-> self manipy) - (send-event - (ppointer->process (-> self manipy)) - 'trans-hook - (lambda :behavior manipy - () - (let ((v1-0 (ppointer->process (-> self parent)))) - (set! - (-> self root trans quad) - (-> (the-as target v1-0) racer bike-trans quad) - ) - (let ((a0-4 (-> (the-as target v1-0) racer bike-quat quad))) - (set! (-> self root quat vec quad) a0-4) - ) - (set! - (-> self root scale quad) - (-> (the-as target v1-0) racer bike-scale quad) - ) - (set! (-> self draw light-index) (the-as uint 255)) - (let ((a0-9 (-> (the-as target v1-0) draw color-mult quad))) - (set! (-> self draw color-mult quad) a0-9) - ) - (let ((a0-11 (-> (the-as target v1-0) draw color-emissive quad))) - (set! (-> self draw color-emissive quad) a0-11) - ) - (let ((f0-0 (-> (the-as target v1-0) draw secondary-interp))) - (set! (-> self draw secondary-interp) f0-0) - f0-0 - ) - ) + (set! (-> self control surf) *race-track-surface*) + (set! (-> self control reaction) racer-collision-reaction) + (vector-reset! (-> self racer rot)) + (set! (-> self racer rot y) (y-angle (-> self control))) + (target-collide-set! 'racer 0.0) + (set! (-> self control transv quad) (the-as uint128 0)) + (set! (-> self control unknown-float01) 0.0) + (logior! (-> self control root-prim prim-core action) 512) + (set! (-> self control unknown-surface00) *racer-mods*) + (set! (-> self racer lean-rotx) 0.0) + (vector-reset! (-> self racer rotv)) + (quaternion-identity! (the-as quaternion (-> self racer surface-quat))) + (quaternion-identity! (the-as quaternion (-> self racer surface-quat-smooth))) + (set! (-> self racer front-rot) (-> *RACER-bank* default-front-blade)) + (set! (-> self racer front-rotv) 0.0) + (set! (-> self racer bottom-rot) 0.0) + (let ((v1-56 (-> self node-list data))) + (set! (-> v1-56 0 param0) cspace<-transformq+world-trans!) + (set! (-> v1-56 0 param1) (the-as basic (-> self control trans))) + (set! (-> v1-56 0 param2) (the-as basic (-> self control unknown-vector12))) ) - ) - (send-event (ppointer->process (-> self manipy)) 'anim-mode 'loop) - (send-event - (ppointer->process (-> self manipy)) - 'art-joint-anim - "racer-get-on" - 0.0 - ) - (send-event - (ppointer->process (-> self manipy)) - 'eval - (lambda :behavior manipy - () - (set! (-> self clone-copy-trans) #f) - (let ((v1-1 (-> *target-shadow-control* settings shadow-dir quad))) - (set! (-> *racer-shadow-control* settings shadow-dir quad) v1-1) - ) - (set! (-> self draw shadow-ctrl) *racer-shadow-control*) - (let ((gp-0 (-> self parent))) - (set! - (-> (the-as target (-> gp-0 0)) racer front-blade) - (new 'process 'joint-mod (joint-mod-handler-mode rotate) self 4) + (set! (-> self control unknown-float81) 1.0) + (set! (-> self racer hop?) #f) + (set! (-> self racer bounce) 0) + (set! (-> self racer bounce-hit) 0.0) + (set! (-> self racer bob-period) 900.0) + (set! (-> self racer bob-mult-rot) 0.0) + (set! (-> self racer bob-mult-trans) 0.0) + (set! (-> self racer bob-meta-timer) 0.0) + (set! (-> self racer bob-meta-meta-timer) 0.0) + (set! (-> self racer bob-hit-ground-time) (the-as uint 0)) + (set! (-> self racer cushion-bob) 0.0) + (set! (-> self racer cushion-bob-old) 0.0) + (set! (-> self racer hill-value) 0.0) + (set! (-> self racer hill-ground-value) 0.0) + (set! (-> self racer hill-offset) 0.0) + (set! (-> self racer hill-boost) 0.0) + (set! (-> self racer cur-rotx) 0.0) + (set! (-> self racer targ-rotx) 0.0) + (set! (-> self racer hill-rotx) 0.0) + (set! (-> self racer mult-rotx) 0.0) + (set! (-> self racer speed-rotx) 0.25) + (set! (-> self racer boost-curve) 0.0) + (set! (-> self racer boost-level) 0.0) + (set! (-> self racer boost-target) 0.0) + (set! (-> self racer boost-output) 0.0) + (set! (-> self racer boost-time) (the-as uint 0)) + (set! (-> self racer boost-duration) (the-as uint (-> *RACER-bank* boost-duration))) + (set! (-> self racer heat) 0.0) + (set! (-> self racer slide-mode) 0) + (set! (-> self racer slide-amp) 0.0) + (set! (-> self racer slide-down-time 0) (the-as uint 0)) + (set! (-> self racer slide-down-time 1) (the-as uint 0)) + (set! (-> self racer slide-interp) 0.0) + (set! (-> self racer surface-y) (-> self control trans y)) + (let ((s5-0 (-> self entity))) + (set! (-> self entity) (-> self racer entity)) + (let ((s4-0 (get-process *8k-dead-pool* manipy #x4000))) + (set! (-> self manipy) + (the-as + (pointer manipy) + (when s4-0 + (let ((t9-9 (method-of-type manipy activate))) + (t9-9 (the-as manipy s4-0) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s4-0 manipy-init (-> self control trans) (-> self entity) *racer-sg* #f) + (-> s4-0 ppointer) + ) + ) + ) ) - (set! - (-> (the-as target (-> gp-0 0)) racer bottom-blade) - (new 'process 'joint-mod (joint-mod-handler-mode rotate) self 10) - ) - (let - ((v0-2 (new 'process 'joint-mod (joint-mod-handler-mode rotate) self 7)) - ) - (set! (-> (the-as target (-> gp-0 0)) racer tail) v0-2) - v0-2 - ) - ) + (set! (-> self entity) s5-0) ) - ) + (when (-> self manipy) + (send-event + (ppointer->process (-> self manipy)) + 'trans-hook + (lambda :behavior manipy + () + (let ((v1-0 (ppointer->process (-> self parent)))) + (set! (-> self root trans quad) (-> (the-as target v1-0) racer bike-trans quad)) + (let ((a0-4 (-> (the-as target v1-0) racer bike-quat quad))) + (set! (-> self root quat vec quad) a0-4) + ) + (set! (-> self root scale quad) (-> (the-as target v1-0) racer bike-scale quad)) + (set! (-> self draw light-index) (the-as uint 255)) + (let ((a0-9 (-> (the-as target v1-0) draw color-mult quad))) + (set! (-> self draw color-mult quad) a0-9) + ) + (let ((a0-11 (-> (the-as target v1-0) draw color-emissive quad))) + (set! (-> self draw color-emissive quad) a0-11) + ) + (let ((f0-0 (-> (the-as target v1-0) draw secondary-interp))) + (set! (-> self draw secondary-interp) f0-0) + f0-0 + ) + ) + ) + ) + (send-event (ppointer->process (-> self manipy)) 'anim-mode 'loop) + (send-event (ppointer->process (-> self manipy)) 'art-joint-anim "racer-get-on" 0.0) + (send-event + (ppointer->process (-> self manipy)) + 'eval + (lambda :behavior manipy + () + (set! (-> self clone-copy-trans) #f) + (let ((v1-1 (-> *target-shadow-control* settings shadow-dir quad))) + (set! (-> *racer-shadow-control* settings shadow-dir quad) v1-1) + ) + (set! (-> self draw shadow-ctrl) *racer-shadow-control*) + (let ((gp-0 (-> self parent))) + (set! (-> (the-as target (-> gp-0 0)) racer front-blade) + (new 'process 'joint-mod (joint-mod-handler-mode rotate) self 4) + ) + (set! (-> (the-as target (-> gp-0 0)) racer bottom-blade) + (new 'process 'joint-mod (joint-mod-handler-mode rotate) self 10) + ) + (let ((v0-2 (new 'process 'joint-mod (joint-mod-handler-mode rotate) self 7))) + (set! (-> (the-as target (-> gp-0 0)) racer tail) v0-2) + v0-2 + ) + ) + ) + ) + ) + (set-twist! (-> self racer front-blade) (the-as float #f) (- (-> self racer front-rot)) (the-as float #f)) + (set-twist! (-> self racer bottom-blade) (the-as float #f) (the-as float #f) (- (-> self racer bottom-rot))) + (remove-exit) + (go target-racing-get-on arg0) + (none) ) - (set-twist! - (-> self racer front-blade) - (the-as float #f) - (- (-> self racer front-rot)) - (the-as float #f) - ) - (set-twist! - (-> self racer bottom-blade) - (the-as float #f) - (the-as float #f) - (- (-> self racer bottom-rot)) - ) - (remove-exit) - (go target-racing-get-on arg0) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -457,33 +324,25 @@ ;; INFO: Return type mismatch object vs none. ;; Used lq/sq (defbehavior target-racing-smack-check target () - (if - (and - (< 20480.0 (-> self control unknown-float01)) - (and - (logtest? (-> self control status) 8) - (< (-> self control surface-angle) 0.5) - (let - ((gp-1 - (vector-! - (new 'stack-no-clear 'vector) - (-> self control unknown-vector70) - (-> self control trans) - ) - ) - (s5-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> s5-0 quad) (-> self control unknown-vector10 quad)) - (set! (-> gp-1 y) 0.0) - (set! (-> s5-0 y) 0.0) - (vector-xz-normalize! gp-1 1.0) - (vector-xz-normalize! s5-0 1.0) - (< 0.87 (vector-dot gp-1 s5-0)) + (if (and + (< 20480.0 (-> self control unknown-float01)) + (and + (logtest? (-> self control status) 8) + (< (-> self control surface-angle) 0.5) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self control unknown-vector70) (-> self control trans))) + (s5-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s5-0 quad) (-> self control unknown-vector10 quad)) + (set! (-> gp-1 y) 0.0) + (set! (-> s5-0 y) 0.0) + (vector-xz-normalize! gp-1 1.0) + (vector-xz-normalize! s5-0 1.0) + (< 0.87 (vector-dot gp-1 s5-0)) + ) + ) + ) + (go target-racing-smack (-> self control unknown-float01) #t) ) - ) - ) - (go target-racing-smack (-> self control unknown-float01) #t) - ) (none) ) @@ -492,419 +351,267 @@ :event (-> target-racing-start event) :enter - (behavior () - (set! (-> self control unknown-surface00) *racer-mods*) - (none) - ) + (behavior () (set! (-> self control unknown-surface00) *racer-mods*) (none)) :exit - (behavior () - (target-racing-center-anim) - ((-> target-racing-start exit)) - (none) - ) + (behavior () (target-racing-center-anim) ((-> target-racing-start exit)) (none)) :trans (behavior () - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 - ) - ) - (pad-buttons l1 r1) - ) - (or - (< - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - 30 - ) - (< - (vector-dot - (-> self control dynam gravity-normal) - (vector-! - (new 'stack-no-clear 'vector) - (-> self control trans) - (-> self control shadow-pos) - ) - ) - 4096.0 - ) - ) - ) - (go target-racing-jump 2048.0 5324.8 #t) - ) - (target-racing-smack-check) - (let* ((f30-0 (target-height-above-ground)) - (v1-28 - (time-to-ground - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - (-> self control dynam gravity-length) - f30-0 + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons l1 r1) + ) + (or + (< (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) 30) + (< (vector-dot + (-> self control dynam gravity-normal) + (vector-! (new 'stack-no-clear 'vector) (-> self control trans) (-> self control shadow-pos)) + ) + 4096.0 + ) + ) ) - ) - ) - (if - (and - (zero? (logand (-> self control status) 1)) - (or - (>= - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - (the-as int (* (-> *TARGET-bank* ground-timeout) 2)) + (go target-racing-jump 2048.0 5324.8 #t) ) - (< 75 v1-28) - ) - (< 30 v1-28) - (< 4096.0 f30-0) + (target-racing-smack-check) + (let* ((f30-0 (target-height-above-ground)) + (v1-28 (time-to-ground + (vector-dot (-> self control dynam gravity-normal) (-> self control transv)) + (-> self control dynam gravity-length) + f30-0 + ) + ) + ) + (if (and + (zero? (logand (-> self control status) 1)) + (or + (>= (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) + (the-as int (* (-> *TARGET-bank* ground-timeout) 2)) + ) + (< 75 v1-28) + ) + (< 30 v1-28) + (< 4096.0 f30-0) + ) + (go target-racing-falling) + ) ) - (go target-racing-falling) - ) + (set! (-> self racer turn-anim-targ) (* 20.0 (-> self racer mod-x))) + (racer-buzz (+ 0.45 (* 1.7 (fabs (-> self racer slide-shift-x))))) + (none) ) - (set! (-> self racer turn-anim-targ) (* 20.0 (-> self racer mod-x))) - (racer-buzz (+ 0.45 (* 1.7 (fabs (-> self racer slide-shift-x))))) - (none) - ) :code (behavior () - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 138) - ) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - ) - ((let ((v1-16 (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - ) - (or - (or - (= v1-16 (-> self draw art-group data 130)) - (= v1-16 (-> self draw art-group data 131)) - ) - (> (-> self racer bounce) 0) - ) - ) - (let ((s5-0 #f) - (gp-0 #f) - ) - (when - (and - (< (fabs (-> self racer bob-mult-trans)) 0.2) - (and - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self racer racing-time)) - ) - 45 + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 138) ) - (< 16384.0 (-> self control ground-impact-vel)) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (when (>= (-> self control unknown-float01) 40960.0) - (set! (-> *part-id-table* 2225 init-specs 1 initial-valuef) 100.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 2225) - (-> self control trans) - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 + (while (not (ja-done? 0)) + (suspend) + (ja-eval) ) - ) - (target-land-effect) - (when - (and - (>= (-> self control ground-impact-vel) 61440.0) - (zero? (-> self racer bounce)) - ) - (set! (-> self racer bounce) 0) - (set! (-> self racer bounce-hit) (-> self control ground-impact-vel)) - ) - (when (< (-> self racer bounce-hit) 73728.0) - (set! (-> self racer bounce) 0) - 0 - ) - (set! (-> self racer bob-timer) 90.0) - (let - ((f0-14 - (lerp-scale - 2.0 - 3.0 - (-> self control unknown-float01) - 0.0 - (-> self racer transv-max) - ) - ) - ) - (set! (-> self racer bob-meta-meta-timer) f0-14) - (set! (-> self racer bob-meta-timer) f0-14) - ) - (set! - (-> self racer bob-mult-trans) - (lerp-scale 0.2 2.5 (-> self control ground-impact-vel) 20480.0 81920.0) - ) - (set! - (-> self racer bob-hit-ground-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! - (-> self racer bob-meta-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (cond - ((or - s5-0 - (and (>= (-> self racer bounce) 1) (< (-> self racer bounce) 2)) - ) - (+! (-> self racer bounce) 1) - (let* ((v1-73 (-> self racer bounce)) - (a1-6 (cond - ((= v1-73 1) - (lerp-scale - 4096.0 - 8192.0 - (-> self racer bounce-hit) - 61440.0 - 81920.0 - ) + ) + ((let ((v1-16 (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) ) - ((= v1-73 2) - 2048.0 - ) - ) - ) - ) - (go target-racing-bounce a1-6 a1-6 gp-0) - ) - ) - ((>= (-> self racer slide-mode) 0) - ) - (else - (target-racing-land-anim gp-0) - ) - ) - ) - ) - ) - ) - (when (!= (-> self racer slide-shift-x) 0.0) - (if (rand-vu-percent? 0.5) - (sound-play-by-name - (static-sound-name "zoomer-rev1") - (new-sound-id) - 819 - 0 - 0 - 1 - #t - ) - (sound-play-by-name - (static-sound-name "zoomer-rev2") - (new-sound-id) - 819 - 0 - 0 - 1 - #t - ) - ) - ) - (set! (-> self racer bounce) 0) - (while #t - (let ((gp-3 (-> *display* base-frame-counter))) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) ) - (-> self draw art-group data 123) - ) - ) - (ja-channel-push! 4 30) - (let ((s5-3 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-3 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity - ) - (set! (-> s5-3 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-43 (-> self skel root-channel 1))) - (set! - (-> a0-43 frame-group) - (the-as art-joint-anim (-> self draw art-group data 124)) - ) - (set! (-> a0-43 param 0) 0.0) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-44 (-> self skel root-channel 2))) - (set! - (-> a0-44 frame-group) - (the-as art-joint-anim (-> self draw art-group data 125)) - ) - (set! (-> a0-44 param 0) 0.0) - (joint-control-channel-group-eval! - a0-44 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-45 (-> self skel root-channel 3))) - (set! - (-> a0-45 frame-group) - (the-as art-joint-anim (-> self draw art-group data 126)) - ) - (set! (-> a0-45 param 0) 0.0) - (joint-control-channel-group-eval! - a0-45 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) - ) - (while (< (- (-> *display* base-frame-counter) gp-3) 300) - (if - (or - (!= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed - ) - 0.0 - ) - (or - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 + ) + (or + (or (= v1-16 (-> self draw art-group data 130)) (= v1-16 (-> self draw art-group data 131))) + (> (-> self racer bounce) 0) ) - (pad-buttons l1 r1 x) - ) - (>= (fabs (-> self racer turn-anim-frame)) 1.0) ) - ) - (set! gp-3 (-> *display* base-frame-counter)) - ) - (target-racing-turn-anim) - (suspend) - ) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (let ((s5-0 #f) + (gp-0 #f) + ) + (when (and + (< (fabs (-> self racer bob-mult-trans)) 0.2) + (and + (>= (- (-> *display* base-frame-counter) (the-as int (-> self racer racing-time))) 45) + (< 16384.0 (-> self control ground-impact-vel)) ) - (-> self draw art-group data 133) + ) + (when (>= (-> self control unknown-float01) 40960.0) + (set! (-> *part-id-table* 2225 init-specs 1 initial-valuef) 100.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 2225) + (-> self control trans) + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) + (target-land-effect) + (when (and (>= (-> self control ground-impact-vel) 61440.0) (zero? (-> self racer bounce))) + (set! (-> self racer bounce) 0) + (set! (-> self racer bounce-hit) (-> self control ground-impact-vel)) + ) + (when (< (-> self racer bounce-hit) 73728.0) + (set! (-> self racer bounce) 0) + 0 + ) + (set! (-> self racer bob-timer) 90.0) + (let ((f0-14 (lerp-scale 2.0 3.0 (-> self control unknown-float01) 0.0 (-> self racer transv-max)))) + (set! (-> self racer bob-meta-meta-timer) f0-14) + (set! (-> self racer bob-meta-timer) f0-14) + ) + (set! (-> self racer bob-mult-trans) (lerp-scale 0.2 2.5 (-> self control ground-impact-vel) 20480.0 81920.0)) + (set! (-> self racer bob-hit-ground-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> self racer bob-meta-time) (the-as uint (-> *display* base-frame-counter))) + (cond + ((or s5-0 (and (>= (-> self racer bounce) 1) (< (-> self racer bounce) 2))) + (+! (-> self racer bounce) 1) + (let* ((v1-73 (-> self racer bounce)) + (a1-6 (cond + ((= v1-73 1) + (lerp-scale 4096.0 8192.0 (-> self racer bounce-hit) 61440.0 81920.0) + ) + ((= v1-73 2) + 2048.0 + ) + ) + ) + ) + (go target-racing-bounce a1-6 a1-6 gp-0) ) + ) + ((>= (-> self racer slide-mode) 0) + ) + (else + (target-racing-land-anim gp-0) + ) + ) ) - (ja-channel-push! 1 120) - (let ((gp-4 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim (-> self draw art-group data 133)) - num-func-identity - ) - (set! (-> gp-4 frame-num) 0.0) - ) - ) - (while - (not - (or - (!= - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - stick0-speed ) - 0.0 - ) - (or - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 + ) + ) + (when (!= (-> self racer slide-shift-x) 0.0) + (if (rand-vu-percent? 0.5) + (sound-play-by-name (static-sound-name "zoomer-rev1") (new-sound-id) 819 0 0 1 #t) + (sound-play-by-name (static-sound-name "zoomer-rev2") (new-sound-id) 819 0 0 1 #t) + ) + ) + (set! (-> self racer bounce) 0) + (while #t + (let ((gp-3 (-> *display* base-frame-counter))) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 123) + ) + ) + (ja-channel-push! 4 30) + (let ((s5-3 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s5-3 + (the-as art-joint-anim (-> self draw art-group data 123)) + num-func-identity + ) + (set! (-> s5-3 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) + ) + (let ((a0-43 (-> self skel root-channel 1))) + (set! (-> a0-43 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) + (set! (-> a0-43 param 0) 0.0) + (joint-control-channel-group-eval! + a0-43 + (the-as art-joint-anim (-> self draw art-group data 124)) + num-func-chan + ) + ) + (let ((a0-44 (-> self skel root-channel 2))) + (set! (-> a0-44 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) + (set! (-> a0-44 param 0) 0.0) + (joint-control-channel-group-eval! + a0-44 + (the-as art-joint-anim (-> self draw art-group data 125)) + num-func-chan + ) + ) + (let ((a0-45 (-> self skel root-channel 3))) + (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) + (set! (-> a0-45 param 0) 0.0) + (joint-control-channel-group-eval! + a0-45 + (the-as art-joint-anim (-> self draw art-group data 126)) + num-func-chan + ) + ) + ) + (while (< (- (-> *display* base-frame-counter) gp-3) 300) + (if (or + (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (or + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons l1 r1 x) + ) + (>= (fabs (-> self racer turn-anim-frame)) 1.0) + ) + ) + (set! gp-3 (-> *display* base-frame-counter)) + ) + (target-racing-turn-anim) + (suspend) + ) + ) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 133) + ) + ) + (ja-channel-push! 1 120) + (let ((gp-4 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-4 + (the-as art-joint-anim (-> self draw art-group data 133)) + num-func-identity + ) + (set! (-> gp-4 frame-num) 0.0) + ) + ) + (while (not (or + (!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0) + (or + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons l1 r1 x) + ) + (>= (fabs (-> self racer turn-anim-frame)) 1.0) + ) + ) + ) + (suspend) + (let ((a0-54 (-> self skel root-channel 0))) + (set! (-> a0-54 param 0) 1.0) + (joint-control-channel-group-eval! a0-54 (the-as art-joint-anim #f) num-func-loop!) ) - (pad-buttons l1 r1 x) - ) - (>= (fabs (-> self racer turn-anim-frame)) 1.0) ) - ) ) - (suspend) - (let ((a0-54 (-> self skel root-channel 0))) - (set! (-> a0-54 param 0) 1.0) - (joint-control-channel-group-eval! - a0-54 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) + (none) ) - (none) - ) :post (behavior () - (if (= (-> self next-state name) 'target-racing) - (set! - (-> self racer racing-time) - (the-as uint (-> *display* base-frame-counter)) - ) + (if (= (-> self next-state name) 'target-racing) + (set! (-> self racer racing-time) (the-as uint (-> *display* base-frame-counter))) + ) + (target-racing-post) + (none) ) - (target-racing-post) - (none) - ) ) ;; failed to figure out what this is: @@ -913,280 +620,144 @@ (-> target-racing-start event) :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) - (set! (-> self racer shock-offsetv) 0.0) - (sound-play-by-name - (static-sound-name "zoomer-jump") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (when arg2 - (when (>= (-> self racer hill-ground-value) 0.11) - (set! - (-> self racer hill-boost) - (* 40960.0 (-> self racer hill-ground-value)) - ) - (vector-normalize! - (-> self control transv) - (+ (-> self control unknown-float01) (-> self racer hill-boost)) - ) - ) - ) - (if - (and - (logtest? (-> self control status) 1) - (< 16384.0 (-> self control transv y)) - ) - (set! (-> self racer hop?) #f) - (set! (-> self racer hop?) arg2) - ) - (set! (-> self racer hop-start-y) (-> self control trans y)) - (racer-calc-gravity) - (init-var-jump - arg0 - arg1 - (the-as vector #t) - (the-as vector #f) - (-> self control transv) - ) - (set! (-> self control status) (logand -8 (-> self control status))) - (set! (-> self control unknown-surface00) *racer-air-mods*) - (set! - (-> self control unknown-float123) - (fmax - 0.0 - (fmin 1.0 (* 0.00004359654 (+ -11468.8 (-> self control unknown-float01)))) - ) - ) - (if (< (-> self racer slide-mode) 0) - (set! - (-> self racer slide-down-time 0) - (the-as - uint - (if - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons l1 r1) + (set! (-> self racer shock-offsetv) 0.0) + (sound-play-by-name (static-sound-name "zoomer-jump") (new-sound-id) 1024 0 0 1 #t) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (when arg2 + (when (>= (-> self racer hill-ground-value) 0.11) + (set! (-> self racer hill-boost) (* 40960.0 (-> self racer hill-ground-value))) + (vector-normalize! (-> self control transv) (+ (-> self control unknown-float01) (-> self racer hill-boost))) ) - (-> *display* base-frame-counter) - 0 - ) ) - ) + (if (and (logtest? (-> self control status) 1) (< 16384.0 (-> self control transv y))) + (set! (-> self racer hop?) #f) + (set! (-> self racer hop?) arg2) + ) + (set! (-> self racer hop-start-y) (-> self control trans y)) + (racer-calc-gravity) + (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #f) (-> self control transv)) + (set! (-> self control status) (logand -8 (-> self control status))) + (set! (-> self control unknown-surface00) *racer-air-mods*) + (set! (-> self control unknown-float123) + (fmax 0.0 (fmin 1.0 (* 0.00004359654 (+ -11468.8 (-> self control unknown-float01))))) + ) + (if (< (-> self racer slide-mode) 0) + (set! (-> self racer slide-down-time 0) + (the-as uint (if (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons l1 r1) + ) + (-> *display* base-frame-counter) + 0 + ) + ) + ) + ) + (none) ) - (none) - ) :exit (behavior () - (set! - (-> self control root-prim prim-core action) - (logand -32769 (-> self control root-prim prim-core action)) + (set! (-> self control root-prim prim-core action) + (logand -32769 (-> self control root-prim prim-core action)) + ) + (set! (-> self racer hop?) #f) + ((-> target-racing-start exit)) + (none) ) - (set! (-> self racer hop?) #f) - ((-> target-racing-start exit)) - (none) - ) :trans (behavior () - (set! - (-> self control unknown-float123) - (fmax - (-> self control unknown-float123) - (* - 0.003921569 - (the - float - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - abutton - 6 - ) + (set! (-> self control unknown-float123) + (fmax + (-> self control unknown-float123) + (* 0.003921569 (the float (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) abutton 6))) + ) + ) + (cond + ((logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (pad-buttons l1 r1) + ) + (set! (-> self racer slide-down-time 0) (the-as uint (-> *display* base-frame-counter))) ) - ) - ) - ) - (cond - ((logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel + ((zero? + (logand (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons l1 r1)) + ) + (set! (-> self racer slide-down-time 0) (the-as uint 0)) 0 ) - (pad-buttons l1 r1) - ) - (set! - (-> self racer slide-down-time 0) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ((zero? - (logand - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons l1 r1) - ) - ) - (set! (-> self racer slide-down-time 0) (the-as uint 0)) - 0 - ) - ((and - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self racer slide-down-time 0)) - ) - (the-as int (-> *RACER-bank* slide-hold-time)) - ) - (< (-> self racer slide-mode) 0) - (or - (< - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - leftx + ((and + (>= (- (-> *display* base-frame-counter) (the-as int (-> self racer slide-down-time 0))) + (the-as int (-> *RACER-bank* slide-hold-time)) + ) + (< (-> self racer slide-mode) 0) + (or + (< (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) leftx) (the-as uint 64)) + (< (the-as uint 192) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) leftx)) + ) ) - (the-as uint 64) - ) - (< - (the-as uint 192) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - leftx - ) - ) + (set! (-> self racer slide-mode) + (if (< (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) leftx) (the-as uint 64)) + 0 + 1 + ) + ) + (set! (-> self racer slide-enter-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> self racer slide-amp) 1.0) + (set! (-> self racer slide-grip-mult) 0.0) ) - ) - (set! - (-> self racer slide-mode) - (if - (< - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - leftx - ) - (the-as uint 64) - ) - 0 - 1 - ) - ) - (set! - (-> self racer slide-enter-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! (-> self racer slide-amp) 1.0) - (set! (-> self racer slide-grip-mult) 0.0) - ) - ((>= (-> self racer slide-mode) 0) - (cond - ((< - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - leftx - ) - (the-as uint 64) - ) - (set! (-> self racer slide-mode) 0) - 0 - ) - ((< - (the-as uint 192) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - leftx - ) - ) - (set! (-> self racer slide-mode) 1) - ) - ) - ) - ) - (if - (and - (logtest? (-> self control status) 1) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - ) - (go target-racing) - ) - (if - (or - (< (-> self control trans y) (-> self racer hop-start-y)) - (< - 10240.0 - (vector-dot - (-> self control dynam gravity-normal) - (vector-! - (new 'stack-no-clear 'vector) - (-> self control trans) - (-> self control shadow-pos) - ) - ) - ) - ) - (set! (-> self racer hop?) #f) - ) - (target-racing-smack-check) - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (logior! (-> self control root-prim prim-core action) #x8000) - ) - (mod-var-jump - #t - #t - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons l1 r1) - ) - (-> self control transv) - ) - (set! (-> self racer shock-offset) (* 0.8 (-> self racer shock-offset))) - (racer-buzz 0.4) - (none) - ) - :code - (behavior ((arg0 float) (arg1 float) (arg2 symbol)) - (let ((a0-1 (if (< 0.1 (-> self racer hill-value)) - 'jump - ) + ((>= (-> self racer slide-mode) 0) + (cond + ((< (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) leftx) (the-as uint 64)) + (set! (-> self racer slide-mode) 0) + 0 + ) + ((< (the-as uint 192) (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) leftx)) + (set! (-> self racer slide-mode) 1) ) ) - (target-racing-jump-anim a0-1 60) + ) + ) + (if (and (logtest? (-> self control status) 1) (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)) + (go target-racing) + ) + (if (or + (< (-> self control trans y) (-> self racer hop-start-y)) + (< 10240.0 (vector-dot + (-> self control dynam gravity-normal) + (vector-! (new 'stack-no-clear 'vector) (-> self control trans) (-> self control shadow-pos)) + ) + ) + ) + (set! (-> self racer hop?) #f) + ) + (target-racing-smack-check) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (logior! (-> self control root-prim prim-core action) #x8000) + ) + (mod-var-jump + #t + #t + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons l1 r1) + ) + (-> self control transv) + ) + (set! (-> self racer shock-offset) (* 0.8 (-> self racer shock-offset))) + (racer-buzz 0.4) + (none) + ) + :code + (behavior ((arg0 float) (arg1 float) (arg2 symbol)) + (let ((a0-1 (if (< 0.1 (-> self racer hill-value)) + 'jump + ) + ) + ) + (target-racing-jump-anim a0-1 60) + ) + (none) ) - (none) - ) :post (-> target-racing post) ) @@ -1197,202 +768,124 @@ (-> target-racing-start event) :enter (behavior ((arg0 float) (arg1 float) (arg2 symbol)) - (logior! (-> self control root-prim prim-core action) #x8000) - (sound-play-by-name - (static-sound-name "zoomer-jump") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (logior! (-> self control root-prim prim-core action) #x8000) + (sound-play-by-name (static-sound-name "zoomer-jump") (new-sound-id) 1024 0 0 1 #t) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (racer-calc-gravity) + (init-var-jump arg0 arg1 (the-as vector #t) (the-as vector #f) (-> self control transv)) + (set! (-> self control status) (logand -8 (-> self control status))) + (set! (-> self control unknown-float123) + (fmax 0.0 (fmin 1.0 (* 0.00004359654 (+ -11468.8 (-> self control unknown-float01))))) + ) + (none) ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (racer-calc-gravity) - (init-var-jump - arg0 - arg1 - (the-as vector #t) - (the-as vector #f) - (-> self control transv) - ) - (set! (-> self control status) (logand -8 (-> self control status))) - (set! - (-> self control unknown-float123) - (fmax - 0.0 - (fmin 1.0 (* 0.00004359654 (+ -11468.8 (-> self control unknown-float01)))) - ) - ) - (none) - ) :exit (behavior () - (set! - (-> self control root-prim prim-core action) - (logand -32769 (-> self control root-prim prim-core action)) + (set! (-> self control root-prim prim-core action) + (logand -32769 (-> self control root-prim prim-core action)) + ) + ((-> target-racing-start exit)) + (none) ) - ((-> target-racing-start exit)) - (none) - ) :trans (behavior () - (set! - (-> self control unknown-float123) - (fmax - (-> self control unknown-float123) - (* - 0.003921569 - (the - float - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - abutton - 6 + (set! (-> self control unknown-float123) + (fmax + (-> self control unknown-float123) + (* 0.003921569 (the float (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) abutton 6))) + ) + ) + (if (and + (logtest? + (logior + (logior + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 0) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 1) + ) + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-rel 2) + ) + (pad-buttons l1 r1) + ) + (or + (< (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) 60) + (< (vector-dot + (-> self control dynam gravity-normal) + (vector-! (new 'stack-no-clear 'vector) (-> self control trans) (-> self control shadow-pos)) + ) + 8192.0 + ) + ) + ) + (go target-racing-jump 2048.0 5324.8 #t) ) - ) - ) - ) - ) - (if - (and - (logtest? - (logior - (logior - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 0 - ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 1 - ) + (if (and (logtest? (-> self control status) 1) (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30)) + (go target-racing) ) - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-rel - 2 + (mod-var-jump + #t + #t + (logtest? + (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) + (pad-buttons l1 r1) ) - ) - (pad-buttons l1 r1) + (-> self control transv) ) - (or - (< - (- (-> *display* base-frame-counter) (-> self control unknown-dword11)) - 60 - ) - (< - (vector-dot - (-> self control dynam gravity-normal) - (vector-! - (new 'stack-no-clear 'vector) - (-> self control trans) - (-> self control shadow-pos) - ) - ) - 8192.0 - ) - ) - ) - (go target-racing-jump 2048.0 5324.8 #t) + (target-racing-smack-check) + (racer-buzz 0.4) + (none) ) - (if - (and - (logtest? (-> self control status) 1) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - ) - (go target-racing) - ) - (mod-var-jump - #t - #t - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons l1 r1) - ) - (-> self control transv) - ) - (target-racing-smack-check) - (racer-buzz 0.4) - (none) - ) :code (behavior ((arg0 float) (arg1 float) (arg2 symbol)) - (target-racing-land-anim arg2) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (target-racing-land-anim arg2) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 123) ) - (-> self draw art-group data 123) ) + (ja-channel-push! 4 30) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 123)) + num-func-identity ) - (ja-channel-push! 4 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity + (set! (-> gp-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) + ) + (let ((a0-9 (-> self skel root-channel 1))) + (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) + (set! (-> a0-9 param 0) 0.0) + (joint-control-channel-group-eval! + a0-9 + (the-as art-joint-anim (-> self draw art-group data 124)) + num-func-chan + ) + ) + (let ((a0-10 (-> self skel root-channel 2))) + (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) + (set! (-> a0-10 param 0) 0.0) + (joint-control-channel-group-eval! + a0-10 + (the-as art-joint-anim (-> self draw art-group data 125)) + num-func-chan + ) + ) + (let ((a0-11 (-> self skel root-channel 3))) + (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) + (set! (-> a0-11 param 0) 0.0) + (joint-control-channel-group-eval! + a0-11 + (the-as art-joint-anim (-> self draw art-group data 126)) + num-func-chan + ) + ) ) - (set! (-> gp-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-9 (-> self skel root-channel 1))) - (set! - (-> a0-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 124)) + (while #t + (target-racing-turn-anim) + (suspend) ) - (set! (-> a0-9 param 0) 0.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-10 (-> self skel root-channel 2))) - (set! - (-> a0-10 frame-group) - (the-as art-joint-anim (-> self draw art-group data 125)) - ) - (set! (-> a0-10 param 0) 0.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-11 (-> self skel root-channel 3))) - (set! - (-> a0-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 126)) - ) - (set! (-> a0-11 param 0) 0.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (none) ) - (while #t - (target-racing-turn-anim) - (suspend) - ) - (none) - ) :post (-> target-racing post) ) @@ -1403,123 +896,60 @@ (-> target-racing-start event) :enter (behavior ((arg0 float) (arg1 symbol)) - (sound-play-by-name - (static-sound-name "smack-surface") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 150) - (set! (-> self racer heavy) arg1) - (vector-! - (-> self control transv) - (-> self control unknown-vector70) - (-> self control trans) - ) - (let ((f0-0 (lerp-scale 0.0 -61440.0 arg0 0.0 163840.0))) - (if - (logtest? - (-> - *cpad-list* - cpads - (-> self control unknown-cpad-info00 number) - button0-abs - 0 - ) - (pad-buttons x) + (sound-play-by-name (static-sound-name "smack-surface") (new-sound-id) 1024 0 0 1 #t) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 150) + (set! (-> self racer heavy) arg1) + (vector-! (-> self control transv) (-> self control unknown-vector70) (-> self control trans)) + (let ((f0-0 (lerp-scale 0.0 -61440.0 arg0 0.0 163840.0))) + (if (logtest? (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) button0-abs 0) (pad-buttons x)) + (set! f0-0 (* 2.0 f0-0)) + ) + (vector-normalize! (-> self control transv) f0-0) ) - (set! f0-0 (* 2.0 f0-0)) - ) - (vector-normalize! (-> self control transv) f0-0) + (set! (-> self racer boost-curve) 0.0) + (set! (-> self racer boost-level) 0.0) + (set! (-> self racer boost-target) 0.0) + (set! (-> self racer boost-output) 0.0) + (set! (-> self racer boost-time) (the-as uint 0)) + 0 + (none) ) - (set! (-> self racer boost-curve) 0.0) - (set! (-> self racer boost-level) 0.0) - (set! (-> self racer boost-target) 0.0) - (set! (-> self racer boost-output) 0.0) - (set! (-> self racer boost-time) (the-as uint 0)) - 0 - (none) - ) :exit - (behavior () - (set! (-> self racer heavy) #f) - ((-> target-racing-start exit)) - (none) - ) + (behavior () (set! (-> self racer heavy) #f) ((-> target-racing-start exit)) (none)) :trans - (behavior () - (set! (-> self racer turn-anim-targ) 0.0) - (none) - ) + (behavior () (set! (-> self racer turn-anim-targ) 0.0) (none)) :code (behavior ((arg0 float) (arg1 symbol)) - (sound-play-by-name - (static-sound-name "zoomer-crash-2") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (ja-channel-push! 2 15) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 136)) - ) - (set! - (-> a0-4 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 136)) - data - 0 - length + (sound-play-by-name (static-sound-name "zoomer-crash-2") (new-sound-id) 1024 0 0 1 #t) + (ja-channel-push! 2 15) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 136))) + (set! (-> a0-4 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 136)) data 0 length) -1)) + ) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 136)) num-func-seek!) + ) + (let ((s5-1 (-> self skel root-channel 1))) + (set! (-> s5-1 frame-interp) (lerp-scale 1.0 0.25 arg0 0.0 122880.0)) + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> self draw art-group data 122)) + num-func-identity ) - -1 - ) + (set! (-> s5-1 frame-num) (ja-aframe 0.0 0)) ) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group! - a0-4 - (the-as art-joint-anim (-> self draw art-group data 136)) - num-func-seek! - ) - ) - (let ((s5-1 (-> self skel root-channel 1))) - (set! (-> s5-1 frame-interp) (lerp-scale 1.0 0.25 arg0 0.0 122880.0)) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 122)) - num-func-identity - ) - (set! (-> s5-1 frame-num) (ja-aframe 0.0 0)) - ) - (until (ja-done? 0) - (suspend) - (let ((s5-2 (-> self skel root-channel 0))) - (set! - (-> s5-2 param 0) - (the float (+ (-> s5-2 frame-group data 0 length) -1)) + (until (ja-done? 0) + (suspend) + (let ((s5-2 (-> self skel root-channel 0))) + (set! (-> s5-2 param 0) (the float (+ (-> s5-2 frame-group data 0 length) -1))) + (set! (-> s5-2 param 1) (lerp-scale 2.0 1.0 arg0 0.0 163840.0)) + (joint-control-channel-group-eval! s5-2 (the-as art-joint-anim #f) num-func-seek!) + ) ) - (set! (-> s5-2 param 1) (lerp-scale 2.0 1.0 arg0 0.0 163840.0)) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + (go target-racing) + (none) ) - (go target-racing) - (none) - ) :post (-> target-racing post) ) @@ -1530,36 +960,32 @@ (-> target-racing-start event) :enter (behavior () - (set! (-> self control unknown-surface00) *racer-air-mods*) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (set! (-> self control unknown-surface00) *racer-air-mods*) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (none) + ) :exit (behavior () - (set! - (-> self control root-prim prim-core action) - (logand -32769 (-> self control root-prim prim-core action)) + (set! (-> self control root-prim prim-core action) + (logand -32769 (-> self control root-prim prim-core action)) + ) + ((-> target-racing-start exit)) + (none) ) - ((-> target-racing-start exit)) - (none) - ) :trans (behavior () - (if (logtest? (-> self control status) 1) - (go target-racing) + (if (logtest? (-> self control status) 1) + (go target-racing) + ) + (target-racing-smack-check) + (racer-buzz 0.3) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (logior! (-> self control root-prim prim-core action) #x8000) + ) + (none) ) - (target-racing-smack-check) - (racer-buzz 0.3) - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (logior! (-> self control root-prim prim-core action) #x8000) - ) - (none) - ) :code - (behavior () - (target-racing-jump-anim #f 30) - (none) - ) + (behavior () (target-racing-jump-anim #f 30) (none)) :post (-> target-racing post) ) @@ -1570,158 +996,110 @@ target-generic-event-handler :enter (behavior ((arg0 handle) (arg1 attack-info)) - (let ((v1-0 (-> self attack-info))) - (set! (-> v1-0 attacker) arg0) - (set! (-> v1-0 mode) 'generic) - (set! (-> v1-0 shove-back) 6144.0) - (set! (-> v1-0 shove-up) 4915.2) - (set! (-> v1-0 angle) #f) - ) - (set! (-> self attack-info trans quad) (the-as uint128 0)) - (dummy-9 (-> self attack-info) arg1) - (case (-> self attack-info mode) - (('endlessfall 'death 'explode 'water-vol 'heat 'melt 'instant-death) - (pickup-collectable! - (-> self fact-info-target) - (pickup-type eco-green) - -1000.0 - (the-as handle #f) + (let ((v1-0 (-> self attack-info))) + (set! (-> v1-0 attacker) arg0) + (set! (-> v1-0 mode) 'generic) + (set! (-> v1-0 shove-back) 6144.0) + (set! (-> v1-0 shove-up) 4915.2) + (set! (-> v1-0 angle) #f) + ) + (set! (-> self attack-info trans quad) (the-as uint128 0)) + (dummy-9 (-> self attack-info) arg1) + (case (-> self attack-info mode) + (('endlessfall 'death 'explode 'water-vol 'heat 'melt 'instant-death) + (pickup-collectable! (-> self fact-info-target) (pickup-type eco-green) -1000.0 (the-as handle #f)) ) + (else + (pickup-collectable! + (-> self fact-info-target) + (pickup-type eco-green) + (- (-> *FACT-bank* health-single-inc)) + (the-as handle #f) + ) + ) ) - (else - (pickup-collectable! - (-> self fact-info-target) - (pickup-type eco-green) - (- (-> *FACT-bank* health-single-inc)) - (the-as handle #f) - ) - ) + (none) ) - (none) - ) :exit (behavior () - (if (!= (-> self next-state name) 'target-racing-death) - (set! (-> self state-flags) (logand -32777 (-> self state-flags))) + (if (!= (-> self next-state name) 'target-racing-death) + (set! (-> self state-flags) (logand -32777 (-> self state-flags))) + ) + ((-> target-racing-start exit)) + (none) ) - ((-> target-racing-start exit)) - (none) - ) :code (behavior ((arg0 handle) (arg1 attack-info)) - (target-timed-invulnerable (-> *TARGET-bank* hit-invulnerable-timeout) self) - (when (!= (-> self attack-info mode) 'endlessfall) - (dummy-10 (-> self skel effect) 'group-target-hit -1.0 -1) - (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 90) - (sound-play-by-name (static-sound-name "oof") (new-sound-id) 1024 0 0 1 #t) - ) - (set! (-> self game hit-time) (-> *display* base-frame-counter)) - (logior! (-> self state-flags) 8) - (set! (-> self racer boost-curve) 0.0) - (set! (-> self racer boost-level) 0.0) - (set! (-> self racer boost-target) 0.0) - (set! (-> self racer boost-output) 0.0) - (set! (-> self racer boost-time) (the-as uint 0)) - (if - (and - (= (-> self game mode) 'play) - (>= 0.0 (-> self fact-info-target health)) - ) - (go target-racing-death (-> self attack-info mode)) - ) - (case (-> self attack-info mode) - (('endlessfall) + (target-timed-invulnerable (-> *TARGET-bank* hit-invulnerable-timeout) self) + (when (!= (-> self attack-info mode) 'endlessfall) + (dummy-10 (-> self skel effect) 'group-target-hit -1.0 -1) + (cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 90) + (sound-play-by-name (static-sound-name "oof") (new-sound-id) 1024 0 0 1 #t) ) - (('darkeco) - (let ((s5-1 (new 'stack-no-clear 'vector))) - (set! (-> s5-1 quad) (-> self control transv quad)) - (let - ((a2-3 - (vector-xz-normalize! - (vector-! - (new 'stack-no-clear 'vector) - (-> self control trans) - (-> self attack-info intersection) + (set! (-> self game hit-time) (-> *display* base-frame-counter)) + (logior! (-> self state-flags) 8) + (set! (-> self racer boost-curve) 0.0) + (set! (-> self racer boost-level) 0.0) + (set! (-> self racer boost-target) 0.0) + (set! (-> self racer boost-output) 0.0) + (set! (-> self racer boost-time) (the-as uint 0)) + (if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-info-target health))) + (go target-racing-death (-> self attack-info mode)) + ) + (case (-> self attack-info mode) + (('endlessfall) + ) + (('darkeco) + (let ((s5-1 (new 'stack-no-clear 'vector))) + (set! (-> s5-1 quad) (-> self control transv quad)) + (let ((a2-3 (vector-xz-normalize! + (vector-! (new 'stack-no-clear 'vector) (-> self control trans) (-> self attack-info intersection)) + 1.0 + ) + ) + ) + (set! (-> a2-3 y) 0.0) + (let ((gp-1 (vector-reflect-flat! (new 'stack-no-clear 'vector) s5-1 a2-3)) + (f30-0 (vector-xz-length s5-1)) + ) + (set! (-> gp-1 y) 0.0) + (vector-normalize! gp-1 1.0) + (vector-normalize-copy! (-> self control transv) gp-1 (* 2.0 f30-0)) + (let ((f28-0 (deg-diff (-> self racer rot y) (vector-y-angle gp-1)))) + (if (< 16384.0 (fabs f28-0)) + (set! f28-0 (deg-diff (-> self racer rot y) (+ 32768.0 (vector-y-angle gp-1)))) + ) + (set! (-> self racer rotv y) (* f28-0 (lerp-scale 4.0 7.0 f30-0 4096.0 (-> self racer transv-max)))) + ) + ) ) - 1.0 - ) ) - ) - (set! (-> a2-3 y) 0.0) - (let - ((gp-1 (vector-reflect-flat! (new 'stack-no-clear 'vector) s5-1 a2-3)) - (f30-0 (vector-xz-length s5-1)) - ) - (set! (-> gp-1 y) 0.0) - (vector-normalize! gp-1 1.0) - (vector-normalize-copy! (-> self control transv) gp-1 (* 2.0 f30-0)) - (let ((f28-0 (deg-diff (-> self racer rot y) (vector-y-angle gp-1)))) - (if (< 16384.0 (fabs f28-0)) - (set! - f28-0 - (deg-diff (-> self racer rot y) (+ 32768.0 (vector-y-angle gp-1))) - ) - ) - (set! - (-> self racer rotv y) - (* f28-0 (lerp-scale 4.0 7.0 f30-0 4096.0 (-> self racer transv-max))) - ) - ) - ) ) + (else + (set! (-> self post-hook) target-racing-post) + (ja-channel-push! 1 15) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 136))) + (set! (-> a0-24 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 136)) data 0 length) -1)) + ) + (set! (-> a0-24 param 1) 1.0) + (set! (-> a0-24 frame-num) 0.0) + (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 136)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-25 (-> self skel root-channel 0))) + (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) + (set! (-> a0-25 param 1) 1.0) + (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - ) - (else - (set! (-> self post-hook) target-racing-post) - (ja-channel-push! 1 15) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 frame-group) - (the-as art-joint-anim (-> self draw art-group data 136)) - ) - (set! - (-> a0-24 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 136)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! - a0-24 - (the-as art-joint-anim (-> self draw art-group data 136)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! - (-> a0-25 param 0) - (the float (+ (-> a0-25 frame-group data 0 length) -1)) - ) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! - a0-25 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (go target-racing) + (none) ) - (go target-racing) - (none) - ) :post target-no-stick-post ) @@ -1732,477 +1110,243 @@ (-> target-death event) :exit (behavior () - (set! (-> self state-flags) (logand -32769 (-> self state-flags))) - (send-event (ppointer->process (-> self manipy)) 'draw #t) - (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) - (target-timed-invulnerable-off self) - (set! - (-> self control pat-ignore-mask) - (new 'static 'pat-surface :skip #x1 :noentity #x1) + (set! (-> self state-flags) (logand -32769 (-> self state-flags))) + (send-event (ppointer->process (-> self manipy)) 'draw #t) + (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) + (target-timed-invulnerable-off self) + (set! (-> self control pat-ignore-mask) (new 'static 'pat-surface :skip #x1 :noentity #x1)) + (restore-collide-with-as (-> self control)) + ((-> target-racing-start exit)) + (target-exit) + (set! (-> self racer stick-off) #f) + (none) ) - (restore-collide-with-as (-> self control)) - ((-> target-racing-start exit)) - (target-exit) - (set! (-> self racer stick-off) #f) - (none) - ) :code (behavior ((arg0 symbol)) - (local-vars (v1-154 symbol)) - (set! (-> self racer stick-off) #t) - (set! (-> self neck flex-blend) 0.0) - (target-timed-invulnerable-off self) - (logior! (-> self state-flags) #x8000) - (case (-> self attack-info mode) - (('explode 'darkeco 'heat 'death 'deadly 'balloonlurker) - ((-> target-racing-start exit)) - (send-event (ppointer->process (-> self manipy)) 'anim-mode 'loop) - (send-event (ppointer->process (-> self manipy)) 'draw #f) - (sound-play-by-name - (static-sound-name "zoomer-explode") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-7 (method-of-type part-tracker activate))) - (t9-7 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 116) - -1 - #f - #f - #f - (-> self control trans) - ) - (-> gp-1 ppointer) - ) - ) - (send-event - (ppointer->process (-> self manipy)) - 'eval - (lambda :behavior racer () (let ((s5-0 (-> self parent-override)) - (gp-0 - (new 'stack 'joint-exploder-tuning 1) - ) - ) - (let* - ((f0-0 - (vector-length (-> s5-0 0 control transv)) - ) - (f30-0 (fmin 1.0 (* 0.000008138021 f0-0))) - ) - (set! (-> gp-0 duration) (the-as uint 1500)) - (set! - (-> gp-0 fountain-rand-transv-hi x) - (fmax 24576.0 f0-0) - ) - (set! - (-> gp-0 fountain-rand-transv-hi y) - (+ 81920.0 f0-0) - ) - (set! - (-> gp-0 fountain-rand-transv-hi z) - 20480.0 - ) - (set! - (-> gp-0 fountain-rand-transv-hi w) - 36864.0 - ) - (vector-negate! - (-> gp-0 fountain-rand-transv-lo) - (-> s5-0 0 control transv) - ) - (vector-normalize! - (-> gp-0 fountain-rand-transv-lo) - (* 12288.0 f30-0) - ) - ) - (vector+! - (-> gp-0 fountain-rand-transv-lo) - (-> gp-0 fountain-rand-transv-lo) - (-> s5-0 0 control trans) - ) - (let - ((s5-1 - (get-process - *default-dead-pool* - joint-exploder - #x4000 - ) - ) - ) - (when s5-1 - (let - ((t9-5 - (method-of-type joint-exploder activate) - ) - ) - (t9-5 - (the-as joint-exploder s5-1) - self - 'joint-exploder - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - joint-exploder-init-by-other - *racer-explode-sg* - 24 - gp-0 - (new 'static 'joint-exploder-static-params - :joints - (new - 'static - 'boxed-array - :type joint-exploder-static-joint-params :length 16 :allocated-length 16 - (new 'static 'joint-exploder-static-joint-params - :joint-index 3 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 4 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 5 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 6 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 7 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 8 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 9 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 10 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 11 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 12 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 13 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 14 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 15 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 16 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 17 - :parent-joint-index -1 - ) - (new 'static 'joint-exploder-static-joint-params - :joint-index 18 - :parent-joint-index -1 - ) - ) - ) - ) - (-> s5-1 ppointer) - ) - ) - ) - ) - ) - (ja-channel-push! 1 30) - (fmax -182044.44 (fmin 182044.44 (* -40.0 (-> self racer rot z)))) - (case (-> self attack-info mode) - (('balloonlurker) - (dummy-13 - (-> self water) - 2.0 - (-> self control trans) - 1 - (-> self control transv) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! - (-> gp-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 139)) - ) - (set! (-> gp-2 param 0) (ja-aframe 240.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 139)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (set! (-> self racer stick-lock) #t) - (set! - (-> self control unknown-vector11 y) - (seek - (-> self control unknown-vector11 y) - 6144.0 - (* 12288.0 (-> *display* seconds-per-frame)) - ) - ) - (send-event *camera* 'joystick 0.0 1.0) - (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 240.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((a0-30 (-> self skel root-channel 0))) - (set! - (-> a0-30 frame-group) - (the-as art-joint-anim (-> self draw art-group data 139)) - ) - (set! - (-> a0-30 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 139)) - data - 0 - length + (local-vars (v1-154 symbol)) + (set! (-> self racer stick-off) #t) + (set! (-> self neck flex-blend) 0.0) + (target-timed-invulnerable-off self) + (logior! (-> self state-flags) #x8000) + (case (-> self attack-info mode) + (('explode 'darkeco 'heat 'death 'deadly 'balloonlurker) + ((-> target-racing-start exit)) + (send-event (ppointer->process (-> self manipy)) 'anim-mode 'loop) + (send-event (ppointer->process (-> self manipy)) 'draw #f) + (sound-play-by-name (static-sound-name "zoomer-explode") (new-sound-id) 1024 0 0 1 #t) + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-1 + (let ((t9-7 (method-of-type part-tracker activate))) + (t9-7 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) ) - -1 - ) + (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 116) -1 #f #f #f (-> self control trans)) + (-> gp-1 ppointer) ) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! - a0-30 - (the-as art-joint-anim (-> self draw art-group data 139)) - num-func-seek! - ) ) - (until (ja-done? 0) - (set! (-> self racer stick-lock) #t) - (send-event *camera* 'joystick 0.0 1.0) - (set! - (-> self control unknown-vector11 y) - (seek - (-> self control unknown-vector11 y) - 6144.0 - (* 12288.0 (-> *display* seconds-per-frame)) - ) - ) - (if (>= (ja-aframe-num 0) 245.0) - (set-forward-vel (* 0.5 (-> self control unknown-float01))) - ) - (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! - (-> a0-36 param 0) - (the float (+ (-> a0-36 frame-group data 0 length) -1)) - ) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! - a0-36 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - ) - (('melt) - (sound-play-by-name - (static-sound-name "zoomer-melt") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((gp-5 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-5 - (let ((t9-29 (method-of-type part-tracker activate))) - (t9-29 - (the-as part-tracker gp-5) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-5 - part-tracker-init - (-> *part-group-id-table* 32) - -1 - #f - #f - #f - (-> self control trans) - ) - (-> gp-5 ppointer) - ) - ) - (clear-collide-with-as (-> self control)) - (set! (-> self post-hook) target-no-ja-move-post) - (ja-channel-set! 0) - (ja-post) - (let ((gp-6 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-6) 600) - (suspend) - ) - ) - ) - (('endlessfall) - (sound-play-by-name - (static-sound-name "death-fall") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (camera-change-to (the-as string cam-endlessfall) 30 #f) - (set! (-> self control pat-ignore-mask unknown-bit) 1) - (let ((f30-0 (fmin -4096.0 (- (-> self control ground-impact-vel))))) - (let ((gp-8 (new-stack-vector0))) - (let - ((f0-28 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) - ) - ) - 0.0 - (vector-! - gp-8 - (-> self control transv) - (vector-float*! gp-8 (-> self control dynam gravity-normal) f0-28) - ) - ) - (let* ((f0-29 (vector-length gp-8)) - (f1-9 f0-29) - (f2-2 f30-0) - ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f2-2 - ) - (vector-float*! gp-8 gp-8 (/ f0-29 f1-9)) - ) - ) - ) - (let ((gp-9 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-9) 225) - (vector-seek! - (-> self draw color-mult) - *zero-vector* - (* 1.5 (-> *display* seconds-per-frame)) - ) - (set-forward-vel (* 0.96 (-> self control unknown-float01))) - (let ((s5-3 (new-stack-vector0)) - (f28-0 - (vector-dot - (-> self control dynam gravity-normal) - (-> self control transv) - ) + (send-event + (ppointer->process (-> self manipy)) + 'eval + (lambda :behavior racer + () + (let ((s5-0 (-> self parent-override)) + (gp-0 (new 'stack 'joint-exploder-tuning 1)) + ) + (let* ((f0-0 (vector-length (-> s5-0 0 control transv))) + (f30-0 (fmin 1.0 (* 0.000008138021 f0-0))) + ) + (set! (-> gp-0 duration) (the-as uint 1500)) + (set! (-> gp-0 fountain-rand-transv-hi x) (fmax 24576.0 f0-0)) + (set! (-> gp-0 fountain-rand-transv-hi y) (+ 81920.0 f0-0)) + (set! (-> gp-0 fountain-rand-transv-hi z) 20480.0) + (set! (-> gp-0 fountain-rand-transv-hi w) 36864.0) + (vector-negate! (-> gp-0 fountain-rand-transv-lo) (-> s5-0 0 control transv)) + (vector-normalize! (-> gp-0 fountain-rand-transv-lo) (* 12288.0 f30-0)) ) - ) - 0.0 - (vector-! - s5-3 - (-> self control transv) - (vector-float*! s5-3 (-> self control dynam gravity-normal) f28-0) - ) - (let* ((f0-38 (vector-length s5-3)) - (f1-12 f0-38) - ) - (if (< f30-0 f28-0) - (set! f28-0 f30-0) + (vector+! (-> gp-0 fountain-rand-transv-lo) (-> gp-0 fountain-rand-transv-lo) (-> s5-0 0 control trans)) + (let ((s5-1 (get-process *default-dead-pool* joint-exploder #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type joint-exploder activate))) + (t9-5 (the-as joint-exploder s5-1) self 'joint-exploder (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-1 + joint-exploder-init-by-other + *racer-explode-sg* + 24 + gp-0 + (new 'static 'joint-exploder-static-params + :joints + (new + 'static + 'boxed-array + :type joint-exploder-static-joint-params :length 16 :allocated-length 16 + (new 'static 'joint-exploder-static-joint-params :joint-index 3 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 4 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 5 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 6 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 7 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 8 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 9 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 10 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 11 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 12 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 13 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 14 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 15 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 16 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 17 :parent-joint-index -1) + (new 'static 'joint-exploder-static-joint-params :joint-index 18 :parent-joint-index -1) + ) + ) + ) + (-> s5-1 ppointer) + ) + ) + ) ) - (vector+! - (-> self control transv) - (vector-float*! - (-> self control transv) - (-> self control dynam gravity-normal) - f28-0 - ) - (vector-float*! s5-3 s5-3 (/ f0-38 f1-12)) - ) - ) ) - (suspend) - ) + (ja-channel-push! 1 30) + (fmax -182044.44 (fmin 182044.44 (* -40.0 (-> self racer rot z)))) + (case (-> self attack-info mode) + (('balloonlurker) + (dummy-13 (-> self water) 2.0 (-> self control trans) 1 (-> self control transv)) + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 139))) + (set! (-> gp-2 param 0) (ja-aframe 240.0 0)) + (set! (-> gp-2 param 1) 1.0) + (set! (-> gp-2 frame-num) 0.0) + (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 139)) num-func-seek!) + ) + (until (ja-done? 0) + (set! (-> self racer stick-lock) #t) + (set! (-> self control unknown-vector11 y) + (seek (-> self control unknown-vector11 y) 6144.0 (* 12288.0 (-> *display* seconds-per-frame))) + ) + (send-event *camera* 'joystick 0.0 1.0) + (suspend) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 param 0) (ja-aframe 240.0 0)) + (set! (-> gp-3 param 1) 1.0) + (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 139))) + (set! (-> a0-30 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 139)) data 0 length) -1)) + ) + (set! (-> a0-30 param 1) 1.0) + (set! (-> a0-30 frame-num) 0.0) + (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 139)) num-func-seek!) + ) + (until (ja-done? 0) + (set! (-> self racer stick-lock) #t) + (send-event *camera* 'joystick 0.0 1.0) + (set! (-> self control unknown-vector11 y) + (seek (-> self control unknown-vector11 y) 6144.0 (* 12288.0 (-> *display* seconds-per-frame))) + ) + (if (>= (ja-aframe-num 0) 245.0) + (set-forward-vel (* 0.5 (-> self control unknown-float01))) + ) + (suspend) + (let ((a0-36 (-> self skel root-channel 0))) + (set! (-> a0-36 param 0) (the float (+ (-> a0-36 frame-group data 0 length) -1))) + (set! (-> a0-36 param 1) 1.0) + (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + ) + (('melt) + (sound-play-by-name (static-sound-name "zoomer-melt") (new-sound-id) 1024 0 0 1 #t) + (let ((gp-5 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-5 + (let ((t9-29 (method-of-type part-tracker activate))) + (t9-29 (the-as part-tracker gp-5) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process gp-5 part-tracker-init (-> *part-group-id-table* 32) -1 #f #f #f (-> self control trans)) + (-> gp-5 ppointer) + ) + ) + (clear-collide-with-as (-> self control)) + (set! (-> self post-hook) target-no-ja-move-post) + (ja-channel-set! 0) + (ja-post) + (let ((gp-6 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-6) 600) + (suspend) + ) + ) + ) + (('endlessfall) + (sound-play-by-name (static-sound-name "death-fall") (new-sound-id) 1024 0 0 1 #t) + (camera-change-to (the-as string cam-endlessfall) 30 #f) + (set! (-> self control pat-ignore-mask unknown-bit) 1) + (let ((f30-0 (fmin -4096.0 (- (-> self control ground-impact-vel))))) + (let ((gp-8 (new-stack-vector0))) + (let ((f0-28 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))) + 0.0 + (vector-! gp-8 (-> self control transv) (vector-float*! gp-8 (-> self control dynam gravity-normal) f0-28)) + ) + (let* ((f0-29 (vector-length gp-8)) + (f1-9 f0-29) + (f2-2 f30-0) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f2-2) + (vector-float*! gp-8 gp-8 (/ f0-29 f1-9)) + ) + ) + ) + (let ((gp-9 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-9) 225) + (vector-seek! (-> self draw color-mult) *zero-vector* (* 1.5 (-> *display* seconds-per-frame))) + (set-forward-vel (* 0.96 (-> self control unknown-float01))) + (let ((s5-3 (new-stack-vector0)) + (f28-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv))) + ) + 0.0 + (vector-! s5-3 (-> self control transv) (vector-float*! s5-3 (-> self control dynam gravity-normal) f28-0)) + (let* ((f0-38 (vector-length s5-3)) + (f1-12 f0-38) + ) + (if (< f30-0 f28-0) + (set! f28-0 f30-0) + ) + (vector+! + (-> self control transv) + (vector-float*! (-> self control transv) (-> self control dynam gravity-normal) f28-0) + (vector-float*! s5-3 s5-3 (/ f0-38 f1-12)) + ) + ) + ) + (suspend) + ) + ) + ) + (camera-change-to (the-as string 'base) 0 #f) ) ) - (camera-change-to (the-as string 'base) 0 #f) - ) - ) - (set! (-> self control transv quad) (the-as uint128 0)) - (set! (-> self control unknown-float01) 0.0) - (set! (-> self post-hook) target-no-stick-post) - (initialize! (-> self game) 'dead (the-as game-save #f) (the-as string #f)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until v1-154 - (suspend) - (set! - v1-154 - (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (zero? - (logand (-> *kernel-context* prevent-from-run) (process-mask movie)) - ) + (set! (-> self control transv quad) (the-as uint128 0)) + (set! (-> self control unknown-float01) 0.0) + (set! (-> self post-hook) target-no-stick-post) + (initialize! (-> self game) 'dead (the-as game-save #f) (the-as string #f)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until v1-154 + (suspend) + (set! v1-154 (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (zero? (logand (-> *kernel-context* prevent-from-run) (process-mask movie))) + ) + ) ) - ) + (go target-stance) + (none) ) - (go target-stance) - (none) - ) :post target-racing-post ) @@ -2215,333 +1359,178 @@ (-> target-racing-start exit) :code (behavior ((arg0 handle)) - (set! (-> self control transv quad) (the-as uint128 0)) - (set! - (-> self alt-cam-pos quad) - (-> (&-> (-> self control) unknown-qword00) 0) - ) - (logior! (-> self state-flags) 1024) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self control trans quad)) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> self control trans quad)) - (quaternion-copy! - (-> self control unknown-quaternion02) - (-> self control quat) - ) - (quaternion-copy! - (-> self control unknown-quaternion03) - (-> self control unknown-quaternion00) - ) - (set! - (-> self control unknown-uint20) - (the-as uint (-> self control unknown-vector11 y)) - ) - (let* ((s3-0 (handle->process arg0)) - (s4-1 - (if - (and (nonzero? s3-0) (type-type? (-> s3-0 type) process-drawable)) - (the-as racer s3-0) - ) - ) + (set! (-> self control transv quad) (the-as uint128 0)) + (set! (-> self alt-cam-pos quad) (-> (&-> (-> self control) unknown-qword00) 0)) + (logior! (-> self state-flags) 1024) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self control trans quad)) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (set! (-> s5-0 quad) (-> self control trans quad)) + (quaternion-copy! (-> self control unknown-quaternion02) (-> self control quat)) + (quaternion-copy! (-> self control unknown-quaternion03) (-> self control unknown-quaternion00)) + (set! (-> self control unknown-uint20) (the-as uint (-> self control unknown-vector11 y))) + (let* ((s3-0 (handle->process arg0)) + (s4-1 (if (and (nonzero? s3-0) (type-type? (-> s3-0 type) process-drawable)) + (the-as racer s3-0) + ) + ) + ) + (when s4-1 + (set! (-> s5-0 quad) (-> s4-1 root-override trans quad)) + (quaternion-copy! (-> self control unknown-quaternion03) (-> s4-1 root-override quat)) + (send-event s4-1 'trans (-> self racer bike-trans)) + (quaternion-copy! (the-as quaternion (-> self racer bike-quat)) (-> s4-1 root-override quat)) + (set! (-> self racer bike-scale quad) (-> s4-1 root-override scale quad)) + (set! (-> self control unknown-int21) (the-as int (-> self racer bike-trans y))) ) - (when s4-1 - (set! (-> s5-0 quad) (-> s4-1 root-override trans quad)) - (quaternion-copy! - (-> self control unknown-quaternion03) - (-> s4-1 root-override quat) - ) - (send-event s4-1 'trans (-> self racer bike-trans)) - (quaternion-copy! - (the-as quaternion (-> self racer bike-quat)) - (-> s4-1 root-override quat) - ) - (set! (-> self racer bike-scale quad) (-> s4-1 root-override scale quad)) - (set! - (-> self control unknown-int21) - (the-as int (-> self racer bike-trans y)) - ) - ) - ) - (set! (-> self control unknown-vector102 quad) (-> gp-0 quad)) - (set! (-> self control unknown-vector103 quad) (-> s5-0 quad)) - ) - ) - (let ((s5-1 #f) - (gp-1 #f) - ) - (ja-channel-push! 1 15) - (let ((s4-2 (-> self skel root-channel 0))) - (set! - (-> s4-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 138)) - ) - (set! (-> s4-2 param 0) (ja-aframe 77.0 0)) - (set! (-> s4-2 param 1) 1.0) - (set! (-> s4-2 frame-num) 0.0) - (joint-control-channel-group! - s4-2 - (the-as art-joint-anim (-> self draw art-group data 138)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (when - (and (not s5-1) (= (-> self skel root-channel 0) (-> self skel channel))) - (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) - (set! s5-1 #t) - ) - (set! (-> self control transv quad) (the-as uint128 0)) - (when (< 50.0 (ja-aframe-num 0)) - (when (not gp-1) - (sound-play-by-name - (static-sound-name "zoomer-start") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (set! gp-1 #t) - ) - (set! (-> self racer front-rotv) 65536.0) - (set! - (-> self racer front-rot) - (the - float - (sar - (shl - (the - int - (+ - (-> self racer front-rot) - (* (-> self racer front-rotv) (-> *display* seconds-per-frame)) - ) - ) - 48 ) - 48 - ) + (set! (-> self control unknown-vector102 quad) (-> gp-0 quad)) + (set! (-> self control unknown-vector103 quad) (-> s5-0 quad)) ) - ) - (+! - (-> self racer bottom-rot) - (* 364088.88 (-> *display* seconds-per-frame)) - ) - (set-twist! - (-> self racer front-blade) - (the-as float #f) - (- (-> self racer front-rot)) - (the-as float #f) - ) - (set-twist! - (-> self racer bottom-blade) - (the-as float #f) - (the-as float #f) - (- (-> self racer bottom-rot)) - ) ) - (suspend) - (let ((s4-4 (-> self skel root-channel 0))) - (set! (-> s4-4 param 0) (ja-aframe 77.0 0)) - (set! (-> s4-4 param 1) 1.0) - (joint-control-channel-group-eval! - s4-4 - (the-as art-joint-anim #f) - num-func-seek! - ) + (let ((s5-1 #f) + (gp-1 #f) + ) + (ja-channel-push! 1 15) + (let ((s4-2 (-> self skel root-channel 0))) + (set! (-> s4-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 138))) + (set! (-> s4-2 param 0) (ja-aframe 77.0 0)) + (set! (-> s4-2 param 1) 1.0) + (set! (-> s4-2 frame-num) 0.0) + (joint-control-channel-group! s4-2 (the-as art-joint-anim (-> self draw art-group data 138)) num-func-seek!) + ) + (until (ja-done? 0) + (when (and (not s5-1) (= (-> self skel root-channel 0) (-> self skel channel))) + (send-event (ppointer->process (-> self manipy)) 'anim-mode 'clone-anim) + (set! s5-1 #t) + ) + (set! (-> self control transv quad) (the-as uint128 0)) + (when (< 50.0 (ja-aframe-num 0)) + (when (not gp-1) + (sound-play-by-name (static-sound-name "zoomer-start") (new-sound-id) 1024 0 0 1 #t) + (set! gp-1 #t) + ) + (set! (-> self racer front-rotv) 65536.0) + (set! (-> self racer front-rot) + (the float + (sar + (shl + (the int (+ (-> self racer front-rot) (* (-> self racer front-rotv) (-> *display* seconds-per-frame)))) + 48 + ) + 48 + ) + ) + ) + (+! (-> self racer bottom-rot) (* 364088.88 (-> *display* seconds-per-frame))) + (set-twist! (-> self racer front-blade) (the-as float #f) (- (-> self racer front-rot)) (the-as float #f)) + (set-twist! (-> self racer bottom-blade) (the-as float #f) (the-as float #f) (- (-> self racer bottom-rot))) + ) + (suspend) + (let ((s4-4 (-> self skel root-channel 0))) + (set! (-> s4-4 param 0) (ja-aframe 77.0 0)) + (set! (-> s4-4 param 1) 1.0) + (joint-control-channel-group-eval! s4-4 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - ) + (set! (-> self state-flags) (logand -1025 (-> self state-flags))) + (send-event *camera* 'set-slave-option #x6000) + (set! (-> self control transv quad) (the-as uint128 0)) + (quaternion-copy! (-> self control quat) (-> self control unknown-quaternion00)) + (rot->dir-targ! (-> self control)) + (set! (-> self racer rot y) (y-angle (-> self control))) + (when *target* + (when (or + (= (-> *target* current-level name) 'lavatube) + (= (-> *target* current-level name) 'firecanyon) + (= (-> *target* current-level name) 'citadel) + ) + (let ((gp-3 (get-process *default-dead-pool* hud-bike-heat #x4000))) + (set! (-> *hud-parts* bike-heat) + (the-as + (pointer hud-bike-heat) + (when gp-3 + (let ((t9-23 (method-of-type hud-bike-heat activate))) + (t9-23 (the-as hud-bike-heat gp-3) self 'hud-bike-heat (the-as pointer #x70004000)) + ) + (run-now-in-process gp-3 hud-init-by-other 0) + (-> gp-3 ppointer) + ) + ) + ) + ) + (set! (-> *hud-parts* buzzers 0 next-y-offset) -120) + (set! (-> *hud-parts* buzzers 0 y-sgn) 0) + 0 + ) + (let ((gp-4 (get-process *default-dead-pool* hud-bike-speed #x4000))) + (set! (-> *hud-parts* bike-speed) + (the-as + (pointer hud-bike-speed) + (when gp-4 + (let ((t9-26 (method-of-type hud-bike-speed activate))) + (t9-26 (the-as hud-bike-speed gp-4) self 'hud-bike-speed (the-as pointer #x70004000)) + ) + (run-now-in-process gp-4 hud-init-by-other 0) + (-> gp-4 ppointer) + ) + ) + ) + ) + (set! (-> *hud-parts* power 0 next-y-offset) -120) + (set! (-> *hud-parts* power 0 y-sgn) 0) + 0 + ) + (go target-racing) + (none) ) - (set! (-> self state-flags) (logand -1025 (-> self state-flags))) - (send-event *camera* 'set-slave-option #x6000) - (set! (-> self control transv quad) (the-as uint128 0)) - (quaternion-copy! - (-> self control quat) - (-> self control unknown-quaternion00) - ) - (rot->dir-targ! (-> self control)) - (set! (-> self racer rot y) (y-angle (-> self control))) - (when *target* - (when - (or - (= (-> *target* current-level name) 'lavatube) - (= (-> *target* current-level name) 'firecanyon) - (= (-> *target* current-level name) 'citadel) - ) - (let ((gp-3 (get-process *default-dead-pool* hud-bike-heat #x4000))) - (set! (-> *hud-parts* bike-heat) (the-as (pointer hud-bike-heat) (when gp-3 - (let - ((t9-23 - (method-of-type - hud-bike-heat - activate - ) - ) - ) - (t9-23 - (the-as - hud-bike-heat - gp-3 - ) - self - 'hud-bike-heat - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - gp-3 - hud-init-by-other - 0 - ) - (-> - gp-3 - ppointer - ) - ) - ) - ) - ) - (set! (-> *hud-parts* buzzers 0 next-y-offset) -120) - (set! (-> *hud-parts* buzzers 0 y-sgn) 0) - 0 - ) - (let ((gp-4 (get-process *default-dead-pool* hud-bike-speed #x4000))) - (set! (-> *hud-parts* bike-speed) (the-as (pointer hud-bike-speed) (when gp-4 - (let - ((t9-26 - (method-of-type - hud-bike-speed - activate - ) - ) - ) - (t9-26 - (the-as - hud-bike-speed - gp-4 - ) - self - 'hud-bike-speed - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - gp-4 - hud-init-by-other - 0 - ) - (-> - gp-4 - ppointer - ) - ) - ) - ) - ) - (set! (-> *hud-parts* power 0 next-y-offset) -120) - (set! (-> *hud-parts* power 0 y-sgn) 0) - 0 - ) - (go target-racing) - (none) - ) :post (behavior () - (let ((gp-0 (new 'stack-no-clear 'vector)) - (f30-0 - (fmin - 1.0 - (* - 0.0044444446 - (the - float - (- (-> *display* base-frame-counter) (-> self state-time)) - ) + (let ((gp-0 (new 'stack-no-clear 'vector)) + (f30-0 (fmin 1.0 (* 0.0044444446 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) + ) + (vector-lerp! gp-0 (-> self control unknown-vector102) (-> self control unknown-vector103) f30-0) + (set! (-> gp-0 y) + (lerp + (-> self control unknown-vector102 y) + (-> self control unknown-vector103 y) + (fmax + 0.0 + (fmin 1.0 (* 0.0044444446 (the float (+ (- -150 (-> self state-time)) (-> *display* base-frame-counter))))) + ) + ) ) - ) - ) - ) - (vector-lerp! - gp-0 - (-> self control unknown-vector102) - (-> self control unknown-vector103) - f30-0 - ) - (set! - (-> gp-0 y) - (lerp - (-> self control unknown-vector102 y) - (-> self control unknown-vector103 y) - (fmax - 0.0 - (fmin - 1.0 - (* - 0.0044444446 - (the - float - (+ (- -150 (-> self state-time)) (-> *display* base-frame-counter)) - ) - ) + (TODO-RENAME-30 (-> self control) gp-0) + (quaternion-slerp! + (-> self control unknown-quaternion00) + (-> self control unknown-quaternion02) + (-> self control unknown-quaternion03) + f30-0 ) - ) ) - ) - (TODO-RENAME-30 (-> self control) gp-0) - (quaternion-slerp! - (-> self control unknown-quaternion00) - (-> self control unknown-quaternion02) - (-> self control unknown-quaternion03) - f30-0 - ) - ) - (let - ((f30-1 - (fmax - 0.0 - (fmin - 1.0 - (* - 0.010528533 - (+ - -279.99 - (the float (- (-> *display* base-frame-counter) (-> self state-time))) + (let ((f30-1 + (fmax + 0.0 + (fmin 1.0 (* 0.010528533 (+ -279.99 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) + ) + ) ) - ) - ) - ) + (set! (-> self control unknown-vector11 y) + (lerp (the-as float (-> self control unknown-uint20)) (-> self racer cushion-base) f30-1) + ) + (set! (-> self racer bike-trans y) (lerp + (the-as float (-> self control unknown-uint30)) + (+ 4096.0 (the-as float (-> self control unknown-uint30))) + f30-1 + ) + ) ) - ) - (set! - (-> self control unknown-vector11 y) - (lerp - (the-as float (-> self control unknown-uint20)) - (-> self racer cushion-base) - f30-1 - ) - ) - (set! - (-> self racer bike-trans y) - (lerp - (the-as float (-> self control unknown-uint30)) - (+ 4096.0 (the-as float (-> self control unknown-uint30))) - f30-1 - ) - ) + (hide-hud-quick) + (target-no-move-post) + (none) ) - (hide-hud-quick) - (target-no-move-post) - (none) - ) ) ;; failed to figure out what this is: @@ -2552,91 +1541,77 @@ (-> target-racing-start exit) :code (behavior ((arg0 handle)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control unknown-surface00) *racer-mods*) - (let ((a0-2 (-> *hud-parts* bike-speed))) - (if a0-2 - (set! (-> a0-2 0 deactivate-when-hidden) #t) - ) - ) - (let ((a0-4 (-> *hud-parts* bike-heat))) - (if a0-4 - (set! (-> a0-4 0 deactivate-when-hidden) #t) - ) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 123) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control unknown-surface00) *racer-mods*) + (let ((a0-2 (-> *hud-parts* bike-speed))) + (if a0-2 + (set! (-> a0-2 0 deactivate-when-hidden) #t) ) - (ja-channel-push! 4 30) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity ) - (set! (-> s5-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-13 (-> self skel root-channel 1))) - (set! - (-> a0-13 frame-group) - (the-as art-joint-anim (-> self draw art-group data 124)) + (let ((a0-4 (-> *hud-parts* bike-heat))) + (if a0-4 + (set! (-> a0-4 0 deactivate-when-hidden) #t) + ) ) - (set! (-> a0-13 param 0) 0.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 123) + ) + ) + (ja-channel-push! 4 30) + (let ((s5-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s5-0 + (the-as art-joint-anim (-> self draw art-group data 123)) + num-func-identity + ) + (set! (-> s5-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) + ) + (let ((a0-13 (-> self skel root-channel 1))) + (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) + (set! (-> a0-13 param 0) 0.0) + (joint-control-channel-group-eval! + a0-13 + (the-as art-joint-anim (-> self draw art-group data 124)) + num-func-chan + ) + ) + (let ((a0-14 (-> self skel root-channel 2))) + (set! (-> a0-14 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) + (set! (-> a0-14 param 0) 0.0) + (joint-control-channel-group-eval! + a0-14 + (the-as art-joint-anim (-> self draw art-group data 125)) + num-func-chan + ) + ) + (let ((a0-15 (-> self skel root-channel 3))) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) + (set! (-> a0-15 param 0) 0.0) + (joint-control-channel-group-eval! + a0-15 + (the-as art-joint-anim (-> self draw art-group data 126)) + num-func-chan + ) + ) ) - ) - (let ((a0-14 (-> self skel root-channel 2))) - (set! - (-> a0-14 frame-group) - (the-as art-joint-anim (-> self draw art-group data 125)) + (let ((s5-1 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) s5-1) 150) + (set! (-> self racer stick-lock) #t) + (set-forward-vel (* 0.9 (-> self control unknown-float01))) + (set! (-> self racer turn-anim-targ) 0.0) + (set! (-> self racer turn-anim-targ) 0.0) + (target-racing-turn-anim) + (set! (-> self control unknown-vector11 y) + (seek (-> self control unknown-vector11 y) 6144.0 (* 3.0 (-> *display* seconds-per-frame))) + ) + (suspend) + ) ) - (set! (-> a0-14 param 0) 0.0) - (joint-control-channel-group-eval! - a0-14 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-15 (-> self skel root-channel 3))) - (set! - (-> a0-15 frame-group) - (the-as art-joint-anim (-> self draw art-group data 126)) - ) - (set! (-> a0-15 param 0) 0.0) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (go target-racing-get-off-jump arg0) + (none) ) - (let ((s5-1 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) s5-1) 150) - (set! (-> self racer stick-lock) #t) - (set-forward-vel (* 0.9 (-> self control unknown-float01))) - (set! (-> self racer turn-anim-targ) 0.0) - (set! (-> self racer turn-anim-targ) 0.0) - (target-racing-turn-anim) - (set! - (-> self control unknown-vector11 y) - (seek - (-> self control unknown-vector11 y) - 6144.0 - (* 3.0 (-> *display* seconds-per-frame)) - ) - ) - (suspend) - ) - ) - (go target-racing-get-off-jump arg0) - (none) - ) :post target-racing-post ) @@ -2649,287 +1624,144 @@ (-> target-racing-start exit) :code (behavior ((arg0 handle)) - (sound-play-by-name - (static-sound-name "zoomer-stop") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self control transv quad) (the-as uint128 0)) - (let ((gp-1 (new 'stack-no-clear 'vector))) - (set! (-> gp-1 quad) (-> self control trans quad)) - (let ((s4-1 (new 'stack-no-clear 'vector))) - (set! (-> s4-1 quad) (-> self control trans quad)) - (quaternion-copy! - (-> self control unknown-quaternion02) - (-> self control quat) - ) - (quaternion-copy! - (-> self control unknown-quaternion03) - (-> self control unknown-quaternion00) - ) - (set! - (-> self control unknown-uint20) - (the-as uint (-> self control unknown-vector11 y)) - ) - (let* ((s2-0 (handle->process arg0)) - (s3-0 - (if - (and (nonzero? s2-0) (type-type? (-> s2-0 type) process-drawable)) - (the-as racer s2-0) - ) - ) + (sound-play-by-name (static-sound-name "zoomer-stop") (new-sound-id) 1024 0 0 1 #t) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self control transv quad) (the-as uint128 0)) + (let ((gp-1 (new 'stack-no-clear 'vector))) + (set! (-> gp-1 quad) (-> self control trans quad)) + (let ((s4-1 (new 'stack-no-clear 'vector))) + (set! (-> s4-1 quad) (-> self control trans quad)) + (quaternion-copy! (-> self control unknown-quaternion02) (-> self control quat)) + (quaternion-copy! (-> self control unknown-quaternion03) (-> self control unknown-quaternion00)) + (set! (-> self control unknown-uint20) (the-as uint (-> self control unknown-vector11 y))) + (let* ((s2-0 (handle->process arg0)) + (s3-0 (if (and (nonzero? s2-0) (type-type? (-> s2-0 type) process-drawable)) + (the-as racer s2-0) + ) + ) + ) + (when s3-0 + (set! (-> s4-1 quad) (-> s3-0 root-override trans quad)) + (set-yaw-angle-clear-roll-pitch! (-> s3-0 root-override) (quaternion-y-angle (-> self control quat))) + (quaternion-copy! (-> self control unknown-quaternion03) (-> s3-0 root-override quat)) + (send-event s3-0 'trans (-> self racer bike-trans)) + (quaternion-copy! (the-as quaternion (-> self racer bike-quat)) (-> s3-0 root-override quat)) + (set! (-> self racer bike-scale quad) (-> s3-0 root-override scale quad)) + (set! (-> self control unknown-int21) (the-as int (-> self racer bike-trans y))) ) - (when s3-0 - (set! (-> s4-1 quad) (-> s3-0 root-override trans quad)) - (set-yaw-angle-clear-roll-pitch! - (-> s3-0 root-override) - (quaternion-y-angle (-> self control quat)) + ) + (set! (-> self control unknown-vector102 quad) (-> gp-1 quad)) + (set! (-> self control unknown-vector103 quad) (-> s4-1 quad)) ) - (quaternion-copy! - (-> self control unknown-quaternion03) - (-> s3-0 root-override quat) + (ja-channel-push! 1 15) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 137))) + (set! (-> a0-24 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 137)) data 0 length) -1)) + ) + (set! (-> a0-24 param 1) 1.0) + (set! (-> a0-24 frame-num) 0.0) + (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 137)) num-func-seek!) ) - (send-event s3-0 'trans (-> self racer bike-trans)) - (quaternion-copy! - (the-as quaternion (-> self racer bike-quat)) - (-> s3-0 root-override quat) + (until (ja-done? 0) + (suspend) + (let ((a0-25 (-> self skel root-channel 0))) + (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) + (set! (-> a0-25 param 1) 1.0) + (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) + ) ) - (set! (-> self racer bike-scale quad) (-> s3-0 root-override scale quad)) - (set! - (-> self control unknown-int21) - (the-as int (-> self racer bike-trans y)) + (send-event (handle->process arg0) 'draw) + (set-yaw-angle-clear-roll-pitch! + (-> self control) + (quaternion-y-angle (-> self control unknown-quaternion03)) ) - ) + (rot->dir-targ! (-> self control)) + (ja-post) + (vector<-cspace! gp-1 (-> self node-list data 3)) + (set! (-> gp-1 y) (+ -5896.192 (-> gp-1 y))) + (TODO-RENAME-30 (-> self control) gp-1) ) - (set! (-> self control unknown-vector102 quad) (-> gp-1 quad)) - (set! (-> self control unknown-vector103 quad) (-> s4-1 quad)) - ) - (ja-channel-push! 1 15) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 frame-group) - (the-as art-joint-anim (-> self draw art-group data 137)) - ) - (set! - (-> a0-24 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 137)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! - a0-24 - (the-as art-joint-anim (-> self draw art-group data 137)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! - (-> a0-25 param 0) - (the float (+ (-> a0-25 frame-group data 0 length) -1)) - ) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! - a0-25 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (send-event (handle->process arg0) 'draw) - (set-yaw-angle-clear-roll-pitch! - (-> self control) - (quaternion-y-angle (-> self control unknown-quaternion03)) - ) - (rot->dir-targ! (-> self control)) - (ja-post) - (vector<-cspace! gp-1 (-> self node-list data 3)) - (set! (-> gp-1 y) (+ -5896.192 (-> gp-1 y))) - (TODO-RENAME-30 (-> self control) gp-1) + (send-event *camera* 'ease-in) + (ja-channel-set! 0) + (go target-racing-get-off-hit-ground #f) + (none) ) - (send-event *camera* 'ease-in) - (ja-channel-set! 0) - (go target-racing-get-off-hit-ground #f) - (none) - ) :post (behavior () - (let* - ((f0-2 - (deg-diff (-> self racer front-rot) (-> *RACER-bank* default-front-blade)) - ) - (f0-5 (if (< 0.0 f0-2) - (fmax 5461.3335 (* 4.0 f0-2)) - 54613.332 - ) - ) - ) - (set! - (-> self racer front-rotv) - (seek - (-> self racer front-rotv) - f0-5 - (* 54613.332 (-> *display* seconds-per-frame)) - ) - ) - ) - (set! - (-> self racer front-rot) - (the - float - (sar - (shl - (the - int - (+ - (-> self racer front-rot) - (* (-> self racer front-rotv) (-> *display* seconds-per-frame)) - ) - ) - 48 - ) - 48 - ) - ) - ) - (when - (and - (< - (fabs - (deg-diff - (-> *RACER-bank* default-front-blade) - (-> self racer front-rot) - ) - ) - 1820.4445 - ) - (= (-> self racer front-rotv) 5461.3335) - ) - (set! (-> self racer front-rotv) 0.0) - (set! (-> self racer front-rot) (-> *RACER-bank* default-front-blade)) - ) - (+! - (-> self racer bottom-rot) - (* 364088.88 (-> *display* seconds-per-frame)) - ) - (set-twist! - (-> self racer front-blade) - (the-as float #f) - (- (-> self racer front-rot)) - (the-as float #f) - ) - (set-twist! - (-> self racer bottom-blade) - (the-as float #f) - (the-as float #f) - (- (-> self racer bottom-rot)) - ) - (let ((gp-0 (new 'stack-no-clear 'vector)) - (f30-0 - (fmax - 0.0 - (fmin - 1.0 - (* - 0.004761905 - (+ - -150.0 - (the - float - (- (-> *display* base-frame-counter) (-> self state-time)) - ) - ) - ) - ) + (let* ((f0-2 (deg-diff (-> self racer front-rot) (-> *RACER-bank* default-front-blade))) + (f0-5 (if (< 0.0 f0-2) + (fmax 5461.3335 (* 4.0 f0-2)) + 54613.332 + ) + ) ) - ) - ) - (fmax - 0.0 - (fmin - 1.0 - (* - 0.006666667 - (+ - -225.0 - (the float (- (-> *display* base-frame-counter) (-> self state-time))) - ) - ) + (set! (-> self racer front-rotv) + (seek (-> self racer front-rotv) f0-5 (* 54613.332 (-> *display* seconds-per-frame))) + ) ) - ) - (vector-lerp! - gp-0 - (-> self control unknown-vector102) - (-> self control unknown-vector103) - f30-0 - ) - (set! - (-> gp-0 y) - (lerp - (-> self control unknown-vector102 y) - (-> self control unknown-vector103 y) + (set! (-> self racer front-rot) + (the float + (sar + (shl + (the int (+ (-> self racer front-rot) (* (-> self racer front-rotv) (-> *display* seconds-per-frame)))) + 48 + ) + 48 + ) + ) + ) + (when (and + (< (fabs (deg-diff (-> *RACER-bank* default-front-blade) (-> self racer front-rot))) 1820.4445) + (= (-> self racer front-rotv) 5461.3335) + ) + (set! (-> self racer front-rotv) 0.0) + (set! (-> self racer front-rot) (-> *RACER-bank* default-front-blade)) + ) + (+! (-> self racer bottom-rot) (* 364088.88 (-> *display* seconds-per-frame))) + (set-twist! (-> self racer front-blade) (the-as float #f) (- (-> self racer front-rot)) (the-as float #f)) + (set-twist! (-> self racer bottom-blade) (the-as float #f) (the-as float #f) (- (-> self racer bottom-rot))) + (let ((gp-0 (new 'stack-no-clear 'vector)) + (f30-0 + (fmax + 0.0 + (fmin 1.0 (* 0.004761905 (+ -150.0 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) + ) + ) + ) (fmax - 0.0 - (fmin - 1.0 - (* - 0.0044444446 - (the - float - (+ (- -150 (-> self state-time)) (-> *display* base-frame-counter)) - ) - ) + 0.0 + (fmin 1.0 (* 0.006666667 (+ -225.0 (the float (- (-> *display* base-frame-counter) (-> self state-time)))))) ) - ) + (vector-lerp! gp-0 (-> self control unknown-vector102) (-> self control unknown-vector103) f30-0) + (set! (-> gp-0 y) + (lerp + (-> self control unknown-vector102 y) + (-> self control unknown-vector103 y) + (fmax + 0.0 + (fmin 1.0 (* 0.0044444446 (the float (+ (- -150 (-> self state-time)) (-> *display* base-frame-counter))))) + ) + ) + ) + (TODO-RENAME-30 (-> self control) gp-0) + (quaternion-slerp! + (-> self control unknown-quaternion00) + (-> self control unknown-quaternion02) + (-> self control unknown-quaternion03) + f30-0 + ) + (set! (-> self control unknown-vector11 y) + (lerp (the-as float (-> self control unknown-uint20)) 6144.0 (fmin 1.0 (* 2.0 f30-0))) + ) ) - ) - (TODO-RENAME-30 (-> self control) gp-0) - (quaternion-slerp! - (-> self control unknown-quaternion00) - (-> self control unknown-quaternion02) - (-> self control unknown-quaternion03) - f30-0 - ) - (set! - (-> self control unknown-vector11 y) - (lerp - (the-as float (-> self control unknown-uint20)) - 6144.0 - (fmin 1.0 (* 2.0 f30-0)) - ) - ) + (vector+! (-> self racer bike-trans) (-> self control trans) (-> self control unknown-vector12)) + (quaternion-copy! (the-as quaternion (-> self racer bike-quat)) (-> self control quat)) + (set! (-> self racer bike-scale quad) (-> self control scale quad)) + (hide-hud) + (target-no-move-post) + (none) ) - (vector+! - (-> self racer bike-trans) - (-> self control trans) - (-> self control unknown-vector12) - ) - (quaternion-copy! - (the-as quaternion (-> self racer bike-quat)) - (-> self control quat) - ) - (set! (-> self racer bike-scale quad) (-> self control scale quad)) - (hide-hud) - (target-no-move-post) - (none) - ) ) ;; failed to figure out what this is: @@ -2939,171 +1771,125 @@ :enter (-> target-hit-ground enter) :trans - (behavior () - (logior! (-> self control status) 7) - ((-> target-hit-ground trans)) - (none) - ) + (behavior () (logior! (-> self control status) 7) ((-> target-hit-ground trans)) (none)) :code (behavior ((arg0 symbol)) - (ja-channel-set! 1) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 35)) - ) - (set! - (-> gp-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 35)) - data - 0 - length + (ja-channel-set! 1) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 35))) + (set! (-> gp-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 35)) data 0 length) -1)) + ) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) (ja-aframe 42.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 35)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 42.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 35)) - num-func-seek! - ) + (go target-stance) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go target-stance) - (none) - ) :post - (behavior () - (hide-hud) - (target-post) - (none) - ) + (behavior () (hide-hud) (target-post) (none)) ) ;; failed to figure out what this is: (defstate target-racing-grab (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (cond - ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) - (-> self state name) - ) - (else - (case arg2 - (('end-mode) - (go target-racing) - ) - (('clone-anim) - (go - target-racing-clone-anim - (process->handle (the-as process (-> arg3 param 0))) - ) + (cond + ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) + (-> self state name) ) (else - (target-generic-event-handler arg0 arg1 arg2 arg3) - ) + (case arg2 + (('end-mode) + (go target-racing) + ) + (('clone-anim) + (go target-racing-clone-anim (process->handle (the-as process (-> arg3 param 0)))) + ) + (else + (target-generic-event-handler arg0 arg1 arg2 arg3) + ) + ) + ) ) - ) ) - ) :enter (behavior () - (set! (-> self control unknown-surface00) *grab-mods*) - (set! (-> self neck flex-blend) 0.0) - (logior! (-> self state-flags) 272) - (set! (-> self racer stick-off) #t) - (none) - ) + (set! (-> self control unknown-surface00) *grab-mods*) + (set! (-> self neck flex-blend) 0.0) + (logior! (-> self state-flags) 272) + (set! (-> self racer stick-off) #t) + (none) + ) :exit (behavior () - (set! (-> self racer stick-off) #f) - (set! (-> self state-flags) (logand -273 (-> self state-flags))) - (set! (-> self water flags) (logand -65537 (-> self water flags))) - ((-> target-racing-start exit)) - (none) - ) + (set! (-> self racer stick-off) #f) + (set! (-> self state-flags) (logand -273 (-> self state-flags))) + (set! (-> self water flags) (logand -65537 (-> self water flags))) + ((-> target-racing-start exit)) + (none) + ) :code (behavior () - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 123) ) - (-> self draw art-group data 123) ) + (ja-channel-push! 4 30) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 123)) + num-func-identity ) - (ja-channel-push! 4 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 123)) - num-func-identity + (set! (-> gp-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) + ) + (let ((a0-7 (-> self skel root-channel 1))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 124))) + (set! (-> a0-7 param 0) 0.0) + (joint-control-channel-group-eval! + a0-7 + (the-as art-joint-anim (-> self draw art-group data 124)) + num-func-chan + ) + ) + (let ((a0-8 (-> self skel root-channel 2))) + (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 125))) + (set! (-> a0-8 param 0) 0.0) + (joint-control-channel-group-eval! + a0-8 + (the-as art-joint-anim (-> self draw art-group data 125)) + num-func-chan + ) + ) + (let ((a0-9 (-> self skel root-channel 3))) + (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 126))) + (set! (-> a0-9 param 0) 0.0) + (joint-control-channel-group-eval! + a0-9 + (the-as art-joint-anim (-> self draw art-group data 126)) + num-func-chan + ) + ) ) - (set! (-> gp-0 frame-num) (ja-aframe (-> self racer turn-anim-frame) 0)) - ) - (let ((a0-7 (-> self skel root-channel 1))) - (set! - (-> a0-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 124)) + (while #t + (target-racing-turn-anim) + (set-forward-vel 0.0) + (suspend) ) - (set! (-> a0-7 param 0) 0.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 124)) - num-func-chan - ) - ) - (let ((a0-8 (-> self skel root-channel 2))) - (set! - (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 125)) - ) - (set! (-> a0-8 param 0) 0.0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 125)) - num-func-chan - ) - ) - (let ((a0-9 (-> self skel root-channel 3))) - (set! - (-> a0-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 126)) - ) - (set! (-> a0-9 param 0) 0.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 126)) - num-func-chan - ) - ) + (none) ) - (while #t - (target-racing-turn-anim) - (set-forward-vel 0.0) - (suspend) - ) - (none) - ) :post target-racing-post ) @@ -3112,63 +1898,42 @@ (defstate target-racing-clone-anim (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore)) - (set! (-> self control unknown-uint20) (the-as uint #f)) + (if (and (= arg2 'trans) (= (-> arg3 param 0) 'restore)) + (set! (-> self control unknown-uint20) (the-as uint #f)) + ) + ((-> target-racing-grab event) arg0 arg1 arg2 arg3) ) - ((-> target-racing-grab event) arg0 arg1 arg2 arg3) - ) :enter (-> target-clone-anim enter) :exit (behavior () - (set! - (-> self control unknown-vector11 y) - (the-as float (-> self control unknown-uint20)) + (set! (-> self control unknown-vector11 y) (the-as float (-> self control unknown-uint20))) + (set! (-> self control unknown-vector12 y) (-> self control unknown-vector11 y)) + (send-event (ppointer->process (-> self sidekick)) 'matrix #f) + ((-> target-clone-anim exit)) + ((-> target-racing-start exit)) + (vector-reset! (-> self control transv)) + (none) ) - (set! - (-> self control unknown-vector12 y) - (-> self control unknown-vector11 y) - ) - (send-event (ppointer->process (-> self sidekick)) 'matrix #f) - ((-> target-clone-anim exit)) - ((-> target-racing-start exit)) - (vector-reset! (-> self control transv)) - (none) - ) :code (behavior ((arg0 handle)) - (set! - (-> self control unknown-uint20) - (the-as uint (-> self control unknown-vector11 y)) + (set! (-> self control unknown-uint20) (the-as uint (-> self control unknown-vector11 y))) + (set! (-> self control unknown-vector11 y) 0.0) + (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) + (clone-anim arg0 33 #t "") + (go target-racing) + (none) ) - (set! (-> self control unknown-vector11 y) 0.0) - (send-event (ppointer->process (-> self sidekick)) 'matrix 'play-anim) - (clone-anim arg0 33 #t "") - (go target-racing) - (none) - ) :post (behavior () - (racer-sounds) - (set! - (-> self racer heat) - (seek - (-> self racer heat) - 0.0 - (* (-> *RACER-bank* surface-heat-inc) (-> *display* seconds-per-frame)) - ) + (racer-sounds) + (set! (-> self racer heat) + (seek (-> self racer heat) 0.0 (* (-> *RACER-bank* surface-heat-inc) (-> *display* seconds-per-frame))) + ) + (vector+! (-> self racer bike-trans) (-> self control trans) (-> self control unknown-vector12)) + (quaternion-copy! (the-as quaternion (-> self racer bike-quat)) (-> self control quat)) + (set! (-> self racer bike-scale quad) (-> self control scale quad)) + (target-no-ja-move-post) + (none) ) - (vector+! - (-> self racer bike-trans) - (-> self control trans) - (-> self control unknown-vector12) - ) - (quaternion-copy! - (the-as quaternion (-> self racer bike-quat)) - (-> self control quat) - ) - (set! (-> self racer bike-scale quad) (-> self control scale quad)) - (target-no-ja-move-post) - (none) - ) ) diff --git a/test/decompiler/reference/levels/racer_common/target-racer-h-FIC-LAV-MIS-OGR-ROL_REF.gc b/test/decompiler/reference/levels/racer_common/target-racer-h-FIC-LAV-MIS-OGR-ROL_REF.gc index 369da3bf28..7e3d703e96 100644 --- a/test/decompiler/reference/levels/racer_common/target-racer-h-FIC-LAV-MIS-OGR-ROL_REF.gc +++ b/test/decompiler/reference/levels/racer_common/target-racer-h-FIC-LAV-MIS-OGR-ROL_REF.gc @@ -119,11 +119,7 @@ (format #t "~Tcushion-offset: (meters ~m)~%" (-> obj cushion-offset)) (format #t "~Tcushion-bob: (meters ~m)~%" (-> obj cushion-bob)) (format #t "~Tcushion-bob-old: (meters ~m)~%" (-> obj cushion-bob-old)) - (format - #t - "~Tcushion-smush: #~%" - (-> obj cushion-smush) - ) + (format #t "~Tcushion-smush: #~%" (-> obj cushion-smush)) (format #t "~Tshock-offset: (meters ~m)~%" (-> obj shock-offset)) (format #t "~Tshock-offsetv: (meters ~m)~%" (-> obj shock-offsetv)) (format #t "~Tshock-rotx: (meters ~m)~%" (-> obj shock-rotx)) @@ -229,59 +225,41 @@ (format #t "~Tlava-air-heat-inc: ~f~%" (-> obj lava-air-heat-inc)) (format #t "~Tsurface-heat-inc: ~f~%" (-> obj surface-heat-inc)) (format #t "~Tjump-heat-inc: ~f~%" (-> obj jump-heat-inc)) - (format - #t - "~Tlavatube-hotcoals-heat-inc: ~f~%" - (-> obj lavatube-hotcoals-heat-inc) - ) + (format #t "~Tlavatube-hotcoals-heat-inc: ~f~%" (-> obj lavatube-hotcoals-heat-inc)) (format #t "~Tlavatube-lava-heat-inc: ~f~%" (-> obj lavatube-lava-heat-inc)) - (format - #t - "~Tlavatube-lava-air-heat-inc: ~f~%" - (-> obj lavatube-lava-air-heat-inc) - ) - (format - #t - "~Tlavatube-surface-heat-inc: ~f~%" - (-> obj lavatube-surface-heat-inc) - ) + (format #t "~Tlavatube-lava-air-heat-inc: ~f~%" (-> obj lavatube-lava-air-heat-inc)) + (format #t "~Tlavatube-surface-heat-inc: ~f~%" (-> obj lavatube-surface-heat-inc)) (format #t "~Tlavatube-jump-heat-inc: ~f~%" (-> obj lavatube-jump-heat-inc)) (format #t "~Tboost-curve-max: (meters ~m)~%" (-> obj boost-curve-max)) (format #t "~Tboost-level-max: (meters ~m)~%" (-> obj boost-level-max)) (format #t "~Tboost-level-inc: (meters ~m)~%" (-> obj boost-level-inc)) (format #t "~Tboost-duration: (seconds ~e)~%" (-> obj boost-duration)) (format #t "~Tdefault-front-blade: (deg ~r)~%" (-> obj default-front-blade)) - (format - #t - "~Tyellow-projectile-speed: (meters ~m)~%" - (-> obj yellow-projectile-speed) - ) + (format #t "~Tyellow-projectile-speed: (meters ~m)~%" (-> obj yellow-projectile-speed)) obj ) ;; definition for symbol *RACER-bank*, type racer-bank -(define - *RACER-bank* - (new 'static 'racer-bank - :slide-hold-time (seconds 0.2) - :heat-max 100.0 - :hotcoals-heat-inc 3.0 - :lava-heat-inc 20.0 - :lava-air-heat-inc 4.0 - :surface-heat-inc 1.0 - :jump-heat-inc 2.0 - :lavatube-hotcoals-heat-inc 2.0 - :lavatube-lava-heat-inc 4.5 - :lavatube-lava-air-heat-inc 4.0 - :lavatube-surface-heat-inc 1.0 - :lavatube-jump-heat-inc 10.0 - :boost-curve-max (meters 5.0) - :boost-level-max (meters 12.5) - :boost-level-inc (meters 2.0) - :boost-duration (seconds 2.5) - :yellow-projectile-speed (meters 80.0) - ) - ) +(define *RACER-bank* (new 'static 'racer-bank + :slide-hold-time (seconds 0.2) + :heat-max 100.0 + :hotcoals-heat-inc 3.0 + :lava-heat-inc 20.0 + :lava-air-heat-inc 4.0 + :surface-heat-inc 1.0 + :jump-heat-inc 2.0 + :lavatube-hotcoals-heat-inc 2.0 + :lavatube-lava-heat-inc 4.5 + :lavatube-lava-air-heat-inc 4.0 + :lavatube-surface-heat-inc 1.0 + :lavatube-jump-heat-inc 10.0 + :boost-curve-max (meters 5.0) + :boost-level-max (meters 12.5) + :boost-level-inc (meters 2.0) + :boost-duration (seconds 2.5) + :yellow-projectile-speed (meters 80.0) + ) + ) ;; failed to figure out what this is: (defskelgroup *balloon-sg* balloon diff --git a/test/decompiler/reference/levels/robocave/robocave-part_REF.gc b/test/decompiler/reference/levels/robocave/robocave-part_REF.gc index e4806d2d83..f983f8f9ea 100644 --- a/test/decompiler/reference/levels/robocave/robocave-part_REF.gc +++ b/test/decompiler/reference/levels/robocave/robocave-part_REF.gc @@ -13,239 +13,210 @@ ;; definition for method 3 of type robocave-part (defmethod inspect robocave-part ((obj robocave-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 506) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-robocave-torch" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 729 :fade-after (meters 150.0) :falloff-to (meters 180.0)) - (sp-item 730 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 731 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 600 :length 90) - (sp-item 732 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 369 :length 69) - (sp-item 733 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 710 :length 51) - (sp-item 734 :fade-after (meters 30.0) :falloff-to (meters 30.0)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 16384.0) - ) - ) +(set! (-> *part-group-id-table* 506) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-robocave-torch" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 729 :fade-after (meters 150.0) :falloff-to (meters 180.0)) + (sp-item 730 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 731 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 600 :length 90) + (sp-item 732 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 369 :length 69) + (sp-item 733 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 710 :length 51) + (sp-item 734 :fade-after (meters 30.0) :falloff-to (meters 30.0)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 16384.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 734) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.3) - (sp-flt spt-x (meters 0.2)) - (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3276.8) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 735) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 734) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.3) + (sp-flt spt-x (meters 0.2)) + (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3276.8) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 735) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 735) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -6.826667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 735) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -6.826667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 729) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1068708659 1 0.5) - (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) - (sp-rnd-flt spt-z -1433.6 2867.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 736) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 729) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1068708659 1 0.5) + (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) + (sp-rnd-flt spt-z -1433.6 2867.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 736) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 736) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.3333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 736) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.3333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 731) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 736) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 731) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 736) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 732) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z 0.0 1638.4 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 736) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 732) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z 0.0 1638.4 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 736) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 733) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) - (sp-flt spt-y (meters 0.6)) - (sp-rnd-flt spt-z -2457.6 2457.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 736) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 733) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) + (sp-flt spt-y (meters 0.6)) + (sp-rnd-flt spt-z -2457.6 2457.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 736) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 730) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.3)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0005)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-b -0.053333335) - (sp-flt spt-fade-a -0.08) - (sp-flt spt-accel-x 0.27306667) - (sp-flt spt-accel-y 0.13653333) - (sp-flt spt-friction 0.9975) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-id-table* 730) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.3)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0005)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-b -0.053333335) + (sp-flt spt-fade-a -0.08) + (sp-flt spt-accel-x 0.27306667) + (sp-flt spt-accel-y 0.13653333) + (sp-flt spt-friction 0.9975) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc b/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc index 9b06cb2bf7..e3c276f9e2 100644 --- a/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-flutflut-obs_REF.gc @@ -25,8 +25,8 @@ ;; definition for method 3 of type flutflut-plat (defmethod inspect flutflut-plat ((obj flutflut-plat)) (let ((t9-0 (method-of-type plat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Thas-path?: ~A~%" (-> obj has-path?)) (format #t "~T~Tplat-type: ~D~%" (-> obj plat-type)) (format #t "~T~Trise-time: ~D~%" (-> obj rise-time)) @@ -34,26 +34,10 @@ (format #t "~T~Tpart-ry: ~f~%" (-> obj part-ry)) (format #t "~T~Tsync-starting-val: ~f~%" (-> obj sync-starting-val)) (format #t "~T~Tflutflut-button: ~A~%" (-> obj flutflut-button)) - (format - #t - "~T~Tappear-trans-top: #~%" - (-> obj appear-trans-top) - ) - (format - #t - "~T~Tappear-trans-bottom: #~%" - (-> obj appear-trans-bottom) - ) - (format - #t - "~T~Tappear-quat-top: #~%" - (-> obj appear-quat-top) - ) - (format - #t - "~T~Tappear-quat-bottom: #~%" - (-> obj appear-quat-bottom) - ) + (format #t "~T~Tappear-trans-top: #~%" (-> obj appear-trans-top)) + (format #t "~T~Tappear-trans-bottom: #~%" (-> obj appear-trans-bottom)) + (format #t "~T~Tappear-quat-top: #~%" (-> obj appear-quat-top)) + (format #t "~T~Tappear-quat-bottom: #~%" (-> obj appear-quat-bottom)) (format #t "~T~Tstart-trans: #~%" (-> obj start-trans)) obj ) @@ -76,8 +60,8 @@ ;; definition for method 3 of type snow-button (defmethod inspect snow-button ((obj snow-button)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Twiggled?: ~A~%" (-> obj wiggled?)) (format #t "~T~Ttimeout: ~D~%" (-> obj timeout)) (format #t "~T~Tdelay-til-wiggle: ~D~%" (-> obj delay-til-wiggle)) @@ -123,375 +107,313 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 516) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-flutflut-plat-small" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2087 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - (sp-item 2088 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 516) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-flutflut-plat-small" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2087 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + (sp-item 2088 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2087) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -1.0)) - (sp-rnd-flt spt-z -8192.0 16384.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 5324.8) - (sp-flt spt-g 4096.0) - (sp-flt spt-b 3686.4) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-flt spt-fade-b -16.383999) - (sp-int spt-timer 25) - (sp-cpuinfo-flags aux-list) - (sp-flt spt-rotate-y (degrees 45.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2087) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -1.0)) + (sp-rnd-flt spt-z -8192.0 16384.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 5324.8) + (sp-flt spt-g 4096.0) + (sp-flt spt-b 3686.4) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-flt spt-fade-b -16.383999) + (sp-int spt-timer 25) + (sp-cpuinfo-flags aux-list) + (sp-flt spt-rotate-y (degrees 45.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2088) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 3.0) - (sp-rnd-flt spt-x (meters -3.0) (meters 6.0) 1.0) - (sp-flt spt-y (meters -1.25)) - (sp-rnd-flt spt-z -12288.0 24576.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters -0.01)) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-a -0.32) - (sp-flt spt-accel-y -0.13653333) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 45.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2088) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 3.0) + (sp-rnd-flt spt-x (meters -3.0) (meters 6.0) 1.0) + (sp-flt spt-y (meters -1.25)) + (sp-rnd-flt spt-z -12288.0 24576.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters -0.01)) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-a -0.32) + (sp-flt spt-accel-y -0.13653333) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 45.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 517) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-flutflut-plat-med" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2089 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - (sp-item 2090 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 517) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-flutflut-plat-med" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2089 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + (sp-item 2090 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2089) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-flt spt-num 3.0) - (sp-flt spt-y (meters -2.5)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 5324.8) - (sp-flt spt-g 4096.0) - (sp-flt spt-b 3686.4) - (sp-flt spt-vel-y (meters 0.0033333334)) - (sp-flt spt-fade-b -16.383999) - (sp-int spt-timer 25) - (sp-cpuinfo-flags aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 3.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2089) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-flt spt-num 3.0) + (sp-flt spt-y (meters -2.5)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 5324.8) + (sp-flt spt-g 4096.0) + (sp-flt spt-b 3686.4) + (sp-flt spt-vel-y (meters 0.0033333334)) + (sp-flt spt-fade-b -16.383999) + (sp-int spt-timer 25) + (sp-cpuinfo-flags aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 3.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2090) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-flt spt-y (meters -2.25)) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-a -0.32) - (sp-flt spt-accel-y -0.13653333) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 3.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2090) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-flt spt-y (meters -2.25)) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-a -0.32) + (sp-flt spt-accel-y -0.13653333) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 3.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 518) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-flutflut-plat-large" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2091 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - (sp-item 2092 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 518) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-flutflut-plat-large" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2091 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + (sp-item 2092 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2091) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -1.5)) - (sp-rnd-flt spt-z -24576.0 49152.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 5324.8) - (sp-flt spt-g 4096.0) - (sp-flt spt-b 3686.4) - (sp-flt spt-vel-y (meters -0.0033333334)) - (sp-flt spt-fade-b -16.383999) - (sp-int spt-timer 25) - (sp-cpuinfo-flags aux-list) - (sp-flt spt-rotate-y (degrees 30.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2091) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -1.5)) + (sp-rnd-flt spt-z -24576.0 49152.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 5324.8) + (sp-flt spt-g 4096.0) + (sp-flt spt-b 3686.4) + (sp-flt spt-vel-y (meters -0.0033333334)) + (sp-flt spt-fade-b -16.383999) + (sp-int spt-timer 25) + (sp-cpuinfo-flags aux-list) + (sp-flt spt-rotate-y (degrees 30.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2092) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -1.25)) - (sp-rnd-flt spt-z -24576.0 49152.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters -0.01)) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-a -0.32) - (sp-flt spt-accel-y -0.13653333) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 30.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2092) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -1.25)) + (sp-rnd-flt spt-z -24576.0 49152.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters -0.01)) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-a -0.32) + (sp-flt spt-accel-y -0.13653333) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 30.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: (defstate snow-button-up-idle (snow-button) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-2 object)) - (case arg2 - (('touch 'attack 'bonk) - (when - (and - (= (-> arg0 type) target) - (logtest? (-> *target* control root-prim prim-core action) #x4000) - (>= - 10649.6 - (vector-vector-xz-distance - (-> self root-override trans) - (target-pos 0) - ) + (local-vars (v0-2 object)) + (case arg2 + (('touch 'attack 'bonk) + (when (and + (= (-> arg0 type) target) + (logtest? (-> *target* control root-prim prim-core action) #x4000) + (>= 10649.6 (vector-vector-xz-distance (-> self root-override trans) (target-pos 0))) + ) + (close-specific-task! (game-task snow-ball) (task-status need-hint)) + (logclear! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status bit-3) #t) + (go snow-button-activate) ) - ) - (close-specific-task! (game-task snow-ball) (task-status need-hint)) - (logclear! (-> self mask) (process-mask actor-pause)) - (process-entity-status! self (entity-perm-status bit-3) #t) - (go snow-button-activate) + ) + (('query) + (return #f) + v0-2 ) ) - (('query) - (return #f) - v0-2 - ) ) - ) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) + ) + (transform-post) + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + 0 + (none) ) - (transform-post) - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - 0 - (none) - ) ) ;; failed to figure out what this is: (defstate snow-button-activate (snow-button) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-0 object)) - (case arg2 - (('untrigger) - (go snow-button-deactivate) - ) - (('query) - (return #t) - v0-0 - ) - ) - ) - :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self wiggled?) #f) - (sleep (-> self ticker) (-> self timeout)) - (when (-> self prev-button) - (let* ((v1-6 (-> self prev-button)) - (a0-1 (if v1-6 - (-> v1-6 extra process) - ) - ) - ) - (if a0-1 - (send-event a0-1 'untrigger) - ) - ) - ) - (send-to-all-after (-> self link) 'trigger) - (none) - ) - :trans - (behavior () - (if (completed? (-> self ticker)) - (go snow-button-deactivate) - ) - (when (reached-delay? (-> self ticker) (-> self delay-til-wiggle)) - (when (not (-> self wiggled?)) - (set! (-> self wiggled?) #t) - (send-to-all-after (-> self link) 'bounce) - ) - ) - (rider-trans) - (none) - ) - :code - (behavior () - (sound-play-by-name - (static-sound-name "prec-button1") - (new-sound-id) - 1024 - -1524 - 0 - 1 - #t - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 + (local-vars (v0-0 object)) + (case arg2 + (('untrigger) + (go snow-button-deactivate) + ) + (('query) + (return #t) + v0-0 ) ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) ) - (until (ja-done? 0) + :enter + (behavior () + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self wiggled?) #f) + (sleep (-> self ticker) (-> self timeout)) + (when (-> self prev-button) + (let* ((v1-6 (-> self prev-button)) + (a0-1 (if v1-6 + (-> v1-6 extra process) + ) + ) + ) + (if a0-1 + (send-event a0-1 'untrigger) + ) + ) + ) + (send-to-all-after (-> self link) 'trigger) + (none) + ) + :trans + (behavior () + (if (completed? (-> self ticker)) + (go snow-button-deactivate) + ) + (when (reached-delay? (-> self ticker) (-> self delay-til-wiggle)) + (when (not (-> self wiggled?)) + (set! (-> self wiggled?) #t) + (send-to-all-after (-> self link) 'bounce) + ) + ) + (rider-trans) + (none) + ) + :code + (behavior () + (sound-play-by-name (static-sound-name "prec-button1") (new-sound-id) 1024 -1524 0 1 #t) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (logior! (-> self mask) (process-mask sleep-code)) (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + 0 + (none) ) - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - 0 - (none) - ) :post (the-as (function none :behavior snow-button) rider-post) ) @@ -500,75 +422,49 @@ (defstate snow-button-deactivate (snow-button) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (local-vars (v0-0 symbol)) - (case arg2 - (('query) - (return (the-as object #f)) - v0-0 + (local-vars (v0-0 symbol)) + (case arg2 + (('query) + (return (the-as object #f)) + v0-0 + ) ) ) - ) :exit (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (process-entity-status! self (entity-perm-status bit-3) #f) - (none) - ) + (logior! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status bit-3) #f) + (none) + ) :trans (the-as (function none :behavior snow-button) rider-trans) :code (behavior () - (send-to-all-after (-> self link) 'untrigger) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 180) - (suspend) - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length + (send-to-all-after (-> self link) 'untrigger) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 180) + (suspend) + ) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) 1.0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-2 param 1) 1.0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) + (go snow-button-up-idle) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go snow-button-up-idle) - (none) - ) :post (the-as (function none :behavior snow-button) rider-post) ) @@ -576,103 +472,69 @@ ;; definition for method 11 of type snow-button ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! snow-button ((obj snow-button) (arg0 entity-actor)) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 3) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 17612.8) - (set-root-prim! s4-0 s3-0) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core offense) 0) - (set! (-> s2-0 transform-index) 4) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 10649.6) - (append-prim s3-0 s2-0) - ) - (let - ((s2-1 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 1) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 3) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 17612.8) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 1)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core offense) 0) + (set! (-> s2-0 transform-index) 4) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 10649.6) + (append-prim s3-0 s2-0) ) - ) - ) - (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 3)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 4) - (set-vector! (-> s2-1 local-sphere) 0.0 2048.0 0.0 11468.8) - (append-prim s3-0 s2-1) - ) - (let - ((s2-2 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 2) + (let ((s2-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 1)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 3)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 4) + (set-vector! (-> s2-1 local-sphere) 0.0 2048.0 0.0 11468.8) + (append-prim s3-0 s2-1) + ) + (let ((s2-2 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 2)))) + (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) + (set! (-> s2-2 collide-with) (the-as uint 16)) + (set! (-> s2-2 prim-core action) (the-as uint 3)) + (set! (-> s2-2 prim-core offense) 4) + (set! (-> s2-2 transform-index) 3) + (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 17612.8) + (append-prim s3-0 s2-2) ) - ) ) - (set! (-> s2-2 prim-core collide-as) (the-as uint 2048)) - (set! (-> s2-2 collide-with) (the-as uint 16)) - (set! (-> s2-2 prim-core action) (the-as uint 3)) - (set! (-> s2-2 prim-core offense) 4) - (set! (-> s2-2 transform-index) 3) - (set-vector! (-> s2-2 local-sphere) 0.0 0.0 0.0 17612.8) - (append-prim s3-0 s2-2) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (set! (-> obj link) (new 'process 'actor-link-info obj)) (initialize-skeleton obj *snow-button-sg* '()) (logior! (-> obj skel status) 1) - (set! - (-> obj timeout) - (the-as - uint - (the int (* 300.0 (res-lump-float arg0 'timeout :default 10.0))) - ) - ) + (set! (-> obj timeout) (the-as uint (the int (* 300.0 (res-lump-float arg0 'timeout :default 10.0))))) (set! (-> obj delay-til-wiggle) (+ (-> obj timeout) -120)) (if (> (entity-actor-count arg0 'alt-actor) 0) - (set! (-> obj prev-button) (entity-actor-lookup arg0 'alt-actor 0)) - (set! (-> obj prev-button) #f) - ) + (set! (-> obj prev-button) (entity-actor-lookup arg0 'alt-actor 0)) + (set! (-> obj prev-button) #f) + ) (ja-channel-set! 1) (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) 0.0) ) - (set! (-> s5-1 frame-num) 0.0) - ) (transform-post) (go snow-button-up-idle) (none) @@ -683,83 +545,62 @@ ;; Used lq/sq (defmethod dummy-26 flutflut-plat ((obj flutflut-plat)) (let ((t9-0 (method-of-type plat dummy-26))) - (t9-0 obj) - ) + (t9-0 obj) + ) (if (zero? (-> obj link)) - (set! (-> obj link) (new 'process 'actor-link-info obj)) - ) + (set! (-> obj link) (new 'process 'actor-link-info obj)) + ) (set! (-> obj sound-id) (new-sound-id)) (set! (-> obj plat-type) (res-lump-value (-> obj entity) 'mode int)) - (set! - (-> obj flutflut-button) - (entity-actor-lookup (-> obj entity) 'alt-actor 0) - ) + (set! (-> obj flutflut-button) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) (let ((f0-0 (res-lump-float (-> obj entity) 'rotoffset))) - (if (!= f0-0 0.0) - (quaternion-rotate-y! - (-> obj root-override quat) - (-> obj root-override quat) - f0-0 - ) + (if (!= f0-0 0.0) + (quaternion-rotate-y! (-> obj root-override quat) (-> obj root-override quat) f0-0) + ) ) - ) - (set! - (-> obj has-path?) - (and - (zero? (logand (-> obj path flags) (path-control-flag not-found))) - (> (-> obj sync period) 0) - ) - ) + (set! (-> obj has-path?) + (and (zero? (logand (-> obj path flags) (path-control-flag not-found))) (> (-> obj sync period) 0)) + ) (when (nonzero? (-> obj plat-type)) - (cond - ((-> obj has-path?) - (set! (-> obj sync-starting-val) (get-phase-offset (-> obj sync))) - (sync-now! (-> obj sync) (-> obj sync-starting-val)) - (eval-path-curve! - (-> obj path) - (-> obj appear-trans-top) - (if (logtest? (-> obj fact options) (fact-options fop3)) - (get-current-phase (-> obj sync)) - (get-current-phase-with-mirror (-> obj sync)) + (cond + ((-> obj has-path?) + (set! (-> obj sync-starting-val) (get-phase-offset (-> obj sync))) + (sync-now! (-> obj sync) (-> obj sync-starting-val)) + (eval-path-curve! + (-> obj path) + (-> obj appear-trans-top) + (if (logtest? (-> obj fact options) (fact-options fop3)) + (get-current-phase (-> obj sync)) + (get-current-phase-with-mirror (-> obj sync)) + ) + 'interp + ) ) - 'interp + (else + (set! (-> obj appear-trans-top quad) (-> obj root-override trans quad)) + ) ) - ) - (else - (set! (-> obj appear-trans-top quad) (-> obj root-override trans quad)) - ) + (set! (-> obj appear-trans-bottom quad) (-> obj appear-trans-top quad)) + (set! (-> obj appear-trans-bottom y) (+ -286720.0 (-> obj appear-trans-bottom y))) + (quaternion-copy! (-> obj appear-quat-top) (-> obj root-override quat)) + (let ((v1-33 (res-lump-value (-> obj entity) 'extra-id uint128))) + (set! (-> obj rise-time) (the int (* 300.0 (+ 0.6 (* 0.15 (the float v1-33)))))) + ) + (set! (-> obj fall-time) 180) ) - (set! (-> obj appear-trans-bottom quad) (-> obj appear-trans-top quad)) - (set! - (-> obj appear-trans-bottom y) - (+ -286720.0 (-> obj appear-trans-bottom y)) - ) - (quaternion-copy! (-> obj appear-quat-top) (-> obj root-override quat)) - (let ((v1-33 (res-lump-value (-> obj entity) 'extra-id uint128))) - (set! - (-> obj rise-time) - (the int (* 300.0 (+ 0.6 (* 0.15 (the float v1-33))))) - ) - ) - (set! (-> obj fall-time) 180) - ) (none) ) ;; definition for method 27 of type flutflut-plat ;; INFO: Return type mismatch symbol vs skeleton-group. (defmethod get-lit-skel flutflut-plat ((obj flutflut-plat)) - (if - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (return (the-as skeleton-group #t)) - ) + (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (return (the-as skeleton-group #t)) + ) (when (task-complete? *game-info* (-> obj entity extra perm task)) - (process-entity-status! obj (entity-perm-status complete) #t) - (return (the-as skeleton-group #t)) - ) + (process-entity-status! obj (entity-perm-status complete) #t) + (return (the-as skeleton-group #t)) + ) (the-as skeleton-group #f) ) @@ -768,208 +609,158 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (when - (or - (!= (-> self plat-type) 1) - (not - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) - ) - ) + (case arg2 + (('trigger) + (when (or + (!= (-> self plat-type) 1) + (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) + ) + (logclear! (-> self mask) (process-mask actor-pause)) + (go flutflut-plat-appear) ) - ) - (logclear! (-> self mask) (process-mask actor-pause)) - (go flutflut-plat-appear) ) ) ) - ) :code (behavior ((arg0 plat)) - (cond - ((and - (= (-> self plat-type) 1) - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) + (cond + ((and + (= (-> self plat-type) 1) + (-> self entity) + (logtest? (-> self entity extra perm status) (entity-perm-status complete)) + ) + (set! (-> self basetrans quad) (-> self appear-trans-top quad)) + (go elevator-idle-at-cave) ) - ) - (set! (-> self basetrans quad) (-> self appear-trans-top quad)) - (go elevator-idle-at-cave) - ) - ((or (= (-> self plat-type) 1) (= (-> self plat-type) 2)) - (let* ((v1-11 (-> self flutflut-button)) - (a0-10 (if v1-11 - (-> v1-11 extra process) - ) + ((or (= (-> self plat-type) 1) (= (-> self plat-type) 2)) + (let* ((v1-11 (-> self flutflut-button)) + (a0-10 (if v1-11 + (-> v1-11 extra process) + ) + ) + ) + (if (and a0-10 (send-event a0-10 'query)) + (go flutflut-plat-appear) + (go flutflut-plat-hidden-idle) ) - ) - (if (and a0-10 (send-event a0-10 'query)) - (go flutflut-plat-appear) - (go flutflut-plat-hidden-idle) + ) ) + (else + (let ((t9-4 (-> (method-of-type plat plat-startup) code))) + (if t9-4 + ((the-as (function none :behavior plat) t9-4)) + ) + ) + ) ) - ) - (else - (let ((t9-4 (-> (method-of-type plat plat-startup) code))) - (if t9-4 - ((the-as (function none :behavior plat) t9-4)) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate flutflut-plat-hidden-idle (flutflut-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (logclear! (-> self mask) (process-mask actor-pause)) - (go flutflut-plat-appear) + (case arg2 + (('trigger) + (logclear! (-> self mask) (process-mask actor-pause)) + (go flutflut-plat-appear) + ) ) ) - ) :trans (behavior () - (if (and (= (-> self plat-type) 1) (get-lit-skel self)) - (go flutflut-plat-appear) + (if (and (= (-> self plat-type) 1) (get-lit-skel self)) + (go flutflut-plat-appear) + ) + (none) ) - (none) - ) :code (behavior () - (logior! (-> self draw status) 2) - (clear-collide-with-as (-> self root-override)) - (set! (-> self root-override trans quad) (-> self appear-trans-top quad)) - (transform-post) - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - 0 - (none) - ) + (logior! (-> self draw status) 2) + (clear-collide-with-as (-> self root-override)) + (set! (-> self root-override trans quad) (-> self appear-trans-top quad)) + (transform-post) + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + 0 + (none) + ) ) ;; failed to figure out what this is: (defstate flutflut-plat-appear (flutflut-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) - (dummy-22 self) - ) - ) + (let ((v1-0 arg2)) + (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) + (dummy-22 self) + ) + ) + ) ) - ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (logclear! (-> self mask) (process-mask actor-pause)) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (restore-collide-with-as (-> self root-override)) - (set! (-> self basetrans quad) (-> self appear-trans-bottom quad)) - (let ((s5-0 (new 'stack-no-clear 'vector)) - (gp-0 (new 'stack-no-clear 'quaternion)) - ) - (let ((f30-0 (rand-vu-float-range 0.0 65536.0))) - (set-vector! s5-0 (cos f30-0) 0.0 (sin f30-0) 1.0) - ) - (quaternion-vector-angle! - (-> self appear-quat-bottom) - s5-0 - (rand-vu-float-range -21845.334 21845.334) - ) - (quaternion-axis-angle! - gp-0 - 0.0 - 1.0 - 0.0 - (rand-vu-float-range -32768.0 32768.0) - ) - (quaternion*! - (-> self appear-quat-bottom) - (-> self appear-quat-bottom) - gp-0 - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (logclear! (-> self mask) (process-mask actor-pause)) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (restore-collide-with-as (-> self root-override)) + (set! (-> self basetrans quad) (-> self appear-trans-bottom quad)) + (let ((s5-0 (new 'stack-no-clear 'vector)) + (gp-0 (new 'stack-no-clear 'quaternion)) + ) + (let ((f30-0 (rand-vu-float-range 0.0 65536.0))) + (set-vector! s5-0 (cos f30-0) 0.0 (sin f30-0) 1.0) + ) + (quaternion-vector-angle! (-> self appear-quat-bottom) s5-0 (rand-vu-float-range -21845.334 21845.334)) + (quaternion-axis-angle! gp-0 0.0 1.0 0.0 (rand-vu-float-range -32768.0 32768.0)) + (quaternion*! (-> self appear-quat-bottom) (-> self appear-quat-bottom) gp-0) + ) + (none) ) - (none) - ) :exit - (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (none) - ) + (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none)) :trans (behavior () - (plat-trans) - (let* - ((f0-1 - (fmin - 1.0 - (/ - (the float (- (-> *display* base-frame-counter) (-> self state-time))) - (the float (-> self rise-time)) - ) - ) - ) - (f0-2 (- 1.0 f0-1)) - (f0-3 (* f0-2 f0-2)) - (f30-0 (- 1.0 f0-3)) - ) - (vector-lerp! - (-> self basetrans) - (-> self appear-trans-bottom) - (-> self appear-trans-top) - f30-0 - ) - (quaternion-slerp! - (-> self root-override quat) - (-> self appear-quat-bottom) - (-> self appear-quat-top) - f30-0 - ) - (set-vector! (-> self draw color-mult) f30-0 f30-0 f30-0 1.0) - (when (>= f30-0 1.0) - (dummy-22 self) - (rider-post) - (cond - ((= (-> self plat-type) 1) - (if - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) + (plat-trans) + (let* ((f0-1 + (fmin + 1.0 + (/ (the float (- (-> *display* base-frame-counter) (-> self state-time))) (the float (-> self rise-time))) + ) + ) + (f0-2 (- 1.0 f0-1)) + (f0-3 (* f0-2 f0-2)) + (f30-0 (- 1.0 f0-3)) + ) + (vector-lerp! (-> self basetrans) (-> self appear-trans-bottom) (-> self appear-trans-top) f30-0) + (quaternion-slerp! (-> self root-override quat) (-> self appear-quat-bottom) (-> self appear-quat-top) f30-0) + (set-vector! (-> self draw color-mult) f30-0 f30-0 f30-0 1.0) + (when (>= f30-0 1.0) + (dummy-22 self) + (rider-post) + (cond + ((= (-> self plat-type) 1) + (if (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete))) + (go elevator-idle-at-cave) + (go-virtual plat-idle) + ) + ) + ((-> self has-path?) + (let ((a0-9 (-> self sync))) + (sync-now! a0-9 (-> self sync-starting-val)) + (go-virtual plat-path-active (the-as plat a0-9)) + ) + ) + (else + (go-virtual plat-idle) + ) ) - ) - (go elevator-idle-at-cave) - (go-virtual plat-idle) ) - ) - ((-> self has-path?) - (let ((a0-9 (-> self sync))) - (sync-now! a0-9 (-> self sync-starting-val)) - (go-virtual plat-path-active (the-as plat a0-9)) - ) - ) - (else - (go-virtual plat-idle) - ) ) - ) + (dummy-20 self) + (none) ) - (dummy-20 self) - (none) - ) :code (the-as (function none :behavior flutflut-plat) anim-loop) :post @@ -981,50 +772,50 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((or (= v1-0 'bonk) (= v1-0 'bounce)) - (dummy-22 self) - ) - ((= v1-0 'untrigger) - (go flutflut-plat-hide) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((or (= v1-0 'bonk) (= v1-0 'bounce)) + (dummy-22 self) + ) + ((= v1-0 'untrigger) + (go flutflut-plat-hide) + ) + ) + ) + ) ) - ) :enter (behavior () - (let ((t9-0 (-> (method-of-type plat plat-idle) enter))) - (if t9-0 - (t9-0) - ) + (let ((t9-0 (-> (method-of-type plat plat-idle) enter))) + (if t9-0 + (t9-0) + ) + ) + (logclear! (-> self mask) (process-mask actor-pause)) + (none) ) - (logclear! (-> self mask) (process-mask actor-pause)) - (none) - ) :exit (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (let ((t9-0 (-> (method-of-type plat plat-idle) exit))) - (if t9-0 - (t9-0) - ) + (logior! (-> self mask) (process-mask actor-pause)) + (let ((t9-0 (-> (method-of-type plat plat-idle) exit))) + (if t9-0 + (t9-0) + ) + ) + (none) ) - (none) - ) :trans (behavior () - (let ((t9-0 (-> (method-of-type plat plat-idle) trans))) - (if t9-0 - (t9-0) - ) + (let ((t9-0 (-> (method-of-type plat plat-idle) trans))) + (if t9-0 + (t9-0) + ) + ) + (if (and (= (-> self plat-type) 1) (get-lit-skel self)) + (go elevator-idle-at-cave) + ) + (none) ) - (if (and (= (-> self plat-type) 1) (get-lit-skel self)) - (go elevator-idle-at-cave) - ) - (none) - ) ) ;; failed to figure out what this is: @@ -1032,144 +823,106 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((or (= v1-0 'bonk) (= v1-0 'bounce)) - (dummy-22 self) - ) - ((= v1-0 'untrigger) - (go flutflut-plat-hide) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((or (= v1-0 'bonk) (= v1-0 'bounce)) + (dummy-22 self) + ) + ((= v1-0 'untrigger) + (go flutflut-plat-hide) + ) + ) + ) + ) ) - ) :enter (behavior ((arg0 plat)) - (let ((t9-0 (-> (method-of-type plat plat-path-active) enter))) - (if t9-0 - (t9-0 arg0) - ) - ) - (if - (or - (!= (-> self plat-type) 1) - (not - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) - ) - ) + (let ((t9-0 (-> (method-of-type plat plat-path-active) enter))) + (if t9-0 + (t9-0 arg0) + ) ) - ) - (logclear! (-> self mask) (process-mask actor-pause)) + (if (or + (!= (-> self plat-type) 1) + (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) + ) + (logclear! (-> self mask) (process-mask actor-pause)) + ) + (none) ) - (none) - ) :exit (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (let ((t9-0 (-> (method-of-type plat plat-path-active) exit))) - (if t9-0 - (t9-0) - ) + (logior! (-> self mask) (process-mask actor-pause)) + (let ((t9-0 (-> (method-of-type plat plat-path-active) exit))) + (if t9-0 + (t9-0) + ) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate flutflut-plat-hide (flutflut-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (if (= v1-0 'bonk) - (dummy-22 self) - ) - ) + (let ((v1-0 arg2)) + (the-as object (if (= v1-0 'bonk) + (dummy-22 self) + ) + ) + ) ) - ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (logclear! (-> self mask) (process-mask actor-pause)) - (set! - (-> self root-override root-prim prim-core action) - (logand -3 (-> self root-override root-prim prim-core action)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (logclear! (-> self mask) (process-mask actor-pause)) + (set! (-> self root-override root-prim prim-core action) + (logand -3 (-> self root-override root-prim prim-core action)) + ) + (set! (-> self start-trans quad) (-> self root-override trans quad)) + (let ((s5-0 (new 'stack-no-clear 'vector)) + (gp-0 (new 'stack-no-clear 'quaternion)) + ) + (let ((f30-0 (rand-vu-float-range 0.0 65536.0))) + (set-vector! s5-0 (cos f30-0) 0.0 (sin f30-0) 1.0) + ) + (quaternion-vector-angle! (-> self appear-quat-bottom) s5-0 (rand-vu-float-range -21845.334 21845.334)) + (quaternion-axis-angle! gp-0 0.0 1.0 0.0 (rand-vu-float-range -32768.0 32768.0)) + (quaternion*! (-> self appear-quat-bottom) (-> self appear-quat-bottom) gp-0) + ) + (none) ) - (set! (-> self start-trans quad) (-> self root-override trans quad)) - (let ((s5-0 (new 'stack-no-clear 'vector)) - (gp-0 (new 'stack-no-clear 'quaternion)) - ) - (let ((f30-0 (rand-vu-float-range 0.0 65536.0))) - (set-vector! s5-0 (cos f30-0) 0.0 (sin f30-0) 1.0) - ) - (quaternion-vector-angle! - (-> self appear-quat-bottom) - s5-0 - (rand-vu-float-range -21845.334 21845.334) - ) - (quaternion-axis-angle! - gp-0 - 0.0 - 1.0 - 0.0 - (rand-vu-float-range -32768.0 32768.0) - ) - (quaternion*! - (-> self appear-quat-bottom) - (-> self appear-quat-bottom) - gp-0 - ) - ) - (none) - ) :exit (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (logior! (-> self root-override root-prim prim-core action) 2) - (none) - ) + (logior! (-> self mask) (process-mask actor-pause)) + (logior! (-> self root-override root-prim prim-core action) 2) + (none) + ) :trans (behavior () - (plat-trans) - (let* - ((f0-1 - (fmin - 1.0 - (/ - (the float (- (-> *display* base-frame-counter) (-> self state-time))) - (the float (-> self fall-time)) + (plat-trans) + (let* ((f0-1 + (fmin + 1.0 + (/ (the float (- (-> *display* base-frame-counter) (-> self state-time))) (the float (-> self fall-time))) + ) + ) + (f30-0 (* f0-1 f0-1)) + ) + (vector-lerp! (-> self basetrans) (-> self start-trans) (-> self appear-trans-bottom) f30-0) + (quaternion-slerp! (-> self root-override quat) (-> self appear-quat-top) (-> self appear-quat-bottom) f30-0) + (let ((f0-3 (- 1.0 f30-0))) + (set-vector! (-> self draw color-mult) f0-3 f0-3 f0-3 1.0) + ) + (when (>= f30-0 1.0) + (rider-post) + (go flutflut-plat-hidden-idle) ) - ) ) - (f30-0 (* f0-1 f0-1)) - ) - (vector-lerp! - (-> self basetrans) - (-> self start-trans) - (-> self appear-trans-bottom) - f30-0 - ) - (quaternion-slerp! - (-> self root-override quat) - (-> self appear-quat-top) - (-> self appear-quat-bottom) - f30-0 - ) - (let ((f0-3 (- 1.0 f30-0))) - (set-vector! (-> self draw color-mult) f0-3 f0-3 f0-3 1.0) - ) - (when (>= f30-0 1.0) - (rider-post) - (go flutflut-plat-hidden-idle) - ) + (dummy-20 self) + (none) ) - (dummy-20 self) - (none) - ) :code (the-as (function none :behavior flutflut-plat) anim-loop) :post @@ -1180,55 +933,35 @@ (defstate elevator-idle-at-cave (flutflut-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'bonk) - (dummy-22 self) - ) - ((= v1-0 'bounce) - (if - (not - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) - ) - ) - ) - (dummy-22 self) - ) - ) - ((= v1-0 'ridden) - (if - (or - (not *target*) - (zero? - (logand - (-> *target* control root-prim prim-core action) - #x4000 - ) - ) - ) - (go elevator-travel-to-fort) - ) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as + object + (cond + ((= v1-0 'bonk) + (dummy-22 self) + ) + ((= v1-0 'bounce) + (if (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) + (dummy-22 self) + ) + ) + ((= v1-0 'ridden) + (if (or (not *target*) (zero? (logand (-> *target* control root-prim prim-core action) #x4000))) + (go elevator-travel-to-fort) + ) + ) + ) + ) + ) ) - ) :enter (behavior () - (set! (-> self path-pos) 0.0) - (eval-path-curve! (-> self path) (-> self basetrans) 0.0 'interp) - (none) - ) + (set! (-> self path-pos) 0.0) + (eval-path-curve! (-> self path) (-> self basetrans) 0.0 'interp) + (none) + ) :trans - (behavior () - (plat-trans) - (dummy-20 self) - (none) - ) + (behavior () (plat-trans) (dummy-20 self) (none)) :code (the-as (function none :behavior flutflut-plat) anim-loop) :post @@ -1239,37 +972,25 @@ (defstate elevator-travel-to-fort (flutflut-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) - (dummy-22 self) - ) - ) + (let ((v1-0 arg2)) + (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) + (dummy-22 self) + ) + ) + ) ) - ) :trans (behavior () - (when (= (-> self path-pos) 1.0) - (dummy-22 self) - (go elevator-idle-at-fort) + (when (= (-> self path-pos) 1.0) + (dummy-22 self) + (go elevator-idle-at-fort) + ) + (set! (-> self path-pos) (seek (-> self path-pos) 1.0 (* 0.06666667 (-> *display* seconds-per-frame)))) + (eval-path-curve! (-> self path) (-> self basetrans) (-> self path-pos) 'interp) + (plat-trans) + (dummy-20 self) + (none) ) - (set! - (-> self path-pos) - (seek - (-> self path-pos) - 1.0 - (* 0.06666667 (-> *display* seconds-per-frame)) - ) - ) - (eval-path-curve! - (-> self path) - (-> self basetrans) - (-> self path-pos) - 'interp - ) - (plat-trans) - (dummy-20 self) - (none) - ) :code (the-as (function none :behavior flutflut-plat) anim-loop) :post @@ -1280,39 +1001,37 @@ (defstate elevator-idle-at-fort (flutflut-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) - (dummy-22 self) - ) - ) + (let ((v1-0 arg2)) + (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) + (dummy-22 self) + ) + ) + ) ) - ) :enter (behavior () - (set! (-> self path-pos) 1.0) - (eval-path-curve! (-> self path) (-> self basetrans) 1.0 'interp) - (none) - ) + (set! (-> self path-pos) 1.0) + (eval-path-curve! (-> self path) (-> self basetrans) 1.0 'interp) + (none) + ) :trans (behavior () - (when *target* - (if - (and - (>= 798720.0 (-> (target-pos 0) y)) - (not - (and - (logtest? (-> *target* control unknown-surface00 flags) 2048) - (zero? (logand (-> *target* control status) 1)) - ) - ) + (when *target* + (if (and + (>= 798720.0 (-> (target-pos 0) y)) + (not (and + (logtest? (-> *target* control unknown-surface00 flags) 2048) + (zero? (logand (-> *target* control status) 1)) + ) + ) + ) + (go elevator-travel-to-cave) + ) ) - (go elevator-travel-to-cave) - ) + (plat-trans) + (dummy-20 self) + (none) ) - (plat-trans) - (dummy-20 self) - (none) - ) :code (the-as (function none :behavior flutflut-plat) anim-loop) :post @@ -1323,37 +1042,25 @@ (defstate elevator-travel-to-cave (flutflut-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) - (dummy-22 self) - ) - ) + (let ((v1-0 arg2)) + (the-as object (if (or (= v1-0 'bonk) (= v1-0 'bounce)) + (dummy-22 self) + ) + ) + ) ) - ) :trans (behavior () - (when (= (-> self path-pos) 0.0) - (dummy-22 self) - (go elevator-idle-at-cave) + (when (= (-> self path-pos) 0.0) + (dummy-22 self) + (go elevator-idle-at-cave) + ) + (set! (-> self path-pos) (seek (-> self path-pos) 0.0 (* 0.06666667 (-> *display* seconds-per-frame)))) + (eval-path-curve! (-> self path) (-> self basetrans) (-> self path-pos) 'interp) + (plat-trans) + (dummy-20 self) + (none) ) - (set! - (-> self path-pos) - (seek - (-> self path-pos) - 0.0 - (* 0.06666667 (-> *display* seconds-per-frame)) - ) - ) - (eval-path-curve! - (-> self path) - (-> self basetrans) - (-> self path-pos) - 'interp - ) - (plat-trans) - (dummy-20 self) - (none) - ) :code (the-as (function none :behavior flutflut-plat) anim-loop) :post @@ -1372,8 +1079,8 @@ ;; definition for method 3 of type flutflut-plat-small (defmethod inspect flutflut-plat-small ((obj flutflut-plat-small)) (let ((t9-0 (method-of-type flutflut-plat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1389,8 +1096,8 @@ ;; definition for method 3 of type flutflut-plat-med (defmethod inspect flutflut-plat-med ((obj flutflut-plat-med)) (let ((t9-0 (method-of-type flutflut-plat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1406,8 +1113,8 @@ ;; definition for method 3 of type flutflut-plat-large (defmethod inspect flutflut-plat-large ((obj flutflut-plat-large)) (let ((t9-0 (method-of-type flutflut-plat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1420,25 +1127,19 @@ ;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group. (defmethod TODO-RENAME-25 flutflut-plat-small ((obj flutflut-plat-small)) (let ((v0-0 (create-launch-control (-> *part-group-id-table* 516) obj))) - (set! (-> obj part) v0-0) - (the-as sparticle-launch-group v0-0) - ) + (set! (-> obj part) v0-0) + (the-as sparticle-launch-group v0-0) + ) ) ;; definition for method 20 of type flutflut-plat-small ;; INFO: Return type mismatch object vs none. (defmethod dummy-20 flutflut-plat-small ((obj flutflut-plat-small)) (when (nonzero? (-> obj part)) - (set! - (-> *part-id-table* 2087 init-specs 12 initial-valuef) - (-> obj part-ry) + (set! (-> *part-id-table* 2087 init-specs 12 initial-valuef) (-> obj part-ry)) + (set! (-> *part-id-table* 2088 init-specs 17 initial-valuef) (-> obj part-ry)) + (spawn (-> obj part) (-> obj root-override trans)) ) - (set! - (-> *part-id-table* 2088 init-specs 17 initial-valuef) - (-> obj part-ry) - ) - (spawn (-> obj part) (-> obj root-override trans)) - ) (none) ) @@ -1446,56 +1147,35 @@ ;; INFO: Return type mismatch float vs none. (defmethod dummy-26 flutflut-plat-small ((obj flutflut-plat-small)) (let ((t9-0 (method-of-type flutflut-plat dummy-26))) - (t9-0 obj) - ) - (set! - (-> obj part-ry) - (+ 16384.0 (quaternion-y-angle (-> obj root-override quat))) - ) + (t9-0 obj) + ) + (set! (-> obj part-ry) (+ 16384.0 (quaternion-y-angle (-> obj root-override quat)))) (none) ) ;; definition for method 24 of type flutflut-plat-small ;; INFO: Return type mismatch int vs none. (defmethod dummy-24 flutflut-plat-small ((obj flutflut-plat-small)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 -2048.0 0.0 16384.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 -2048.0 0.0 16384.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -1509,52 +1189,34 @@ ;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group. (defmethod TODO-RENAME-25 flutflut-plat-med ((obj flutflut-plat-med)) (let ((v0-0 (create-launch-control (-> *part-group-id-table* 517) obj))) - (set! (-> obj part) v0-0) - (the-as sparticle-launch-group v0-0) - ) + (set! (-> obj part) v0-0) + (the-as sparticle-launch-group v0-0) + ) ) ;; definition for method 24 of type flutflut-plat-med ;; INFO: Return type mismatch int vs none. (defmethod dummy-24 flutflut-plat-med ((obj flutflut-plat-med)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 -4096.0 0.0 27648.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 -4096.0 0.0 27648.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -1568,25 +1230,19 @@ ;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group. (defmethod TODO-RENAME-25 flutflut-plat-large ((obj flutflut-plat-large)) (let ((v0-0 (create-launch-control (-> *part-group-id-table* 518) obj))) - (set! (-> obj part) v0-0) - (the-as sparticle-launch-group v0-0) - ) + (set! (-> obj part) v0-0) + (the-as sparticle-launch-group v0-0) + ) ) ;; definition for method 20 of type flutflut-plat-large ;; INFO: Return type mismatch object vs none. (defmethod dummy-20 flutflut-plat-large ((obj flutflut-plat-large)) (when (nonzero? (-> obj part)) - (set! - (-> *part-id-table* 2091 init-specs 12 initial-valuef) - (-> obj part-ry) + (set! (-> *part-id-table* 2091 init-specs 12 initial-valuef) (-> obj part-ry)) + (set! (-> *part-id-table* 2092 init-specs 17 initial-valuef) (-> obj part-ry)) + (spawn (-> obj part) (-> obj root-override trans)) ) - (set! - (-> *part-id-table* 2092 init-specs 17 initial-valuef) - (-> obj part-ry) - ) - (spawn (-> obj part) (-> obj root-override trans)) - ) (none) ) @@ -1594,56 +1250,35 @@ ;; INFO: Return type mismatch float vs none. (defmethod dummy-26 flutflut-plat-large ((obj flutflut-plat-large)) (let ((t9-0 (method-of-type flutflut-plat dummy-26))) - (t9-0 obj) - ) - (set! - (-> obj part-ry) - (+ 16384.0 (quaternion-y-angle (-> obj root-override quat))) - ) + (t9-0 obj) + ) + (set! (-> obj part-ry) (+ 16384.0 (quaternion-y-angle (-> obj root-override quat)))) (none) ) ;; definition for method 24 of type flutflut-plat-large ;; INFO: Return type mismatch int vs none. (defmethod dummy-24 flutflut-plat-large ((obj flutflut-plat-large)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 36864.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 36864.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) diff --git a/test/decompiler/reference/levels/snow/snow-part_REF.gc b/test/decompiler/reference/levels/snow/snow-part_REF.gc index 1b60129b49..fac785ba52 100644 --- a/test/decompiler/reference/levels/snow/snow-part_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-part_REF.gc @@ -13,1154 +13,1043 @@ ;; definition for method 3 of type snow-part (defmethod inspect snow-part ((obj snow-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 528) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :name "group-snow-snowdrops1" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 2700 :length 150) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 2700 :length 100) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 2700 :length 60) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 2700 :length 30) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 2700 :length 10) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2700 :length 200) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2700 :length 150) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2700 :length 100) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2700 :length 50) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2700 :length 20) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 2700 :length 170) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 2700 :length 115) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 2700 :length 70) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 2700 :length 35) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 2700 :length 10) - ) - :bounds - (new 'static 'sphere :y -65536.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 528) + (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :name "group-snow-snowdrops1" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 2700 :length 150) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 2700 :length 100) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 2700 :length 60) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 2700 :length 30) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 2700 :length 10) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2700 :length 200) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2700 :length 150) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2700 :length 100) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2700 :length 50) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2700 :length 20) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 2700 :length 170) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 2700 :length 115) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 2700 :length 70) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 2700 :length 35) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 2700 :length 10) + ) + :bounds + (new 'static 'sphere :y -65536.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 529) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :name "group-snow-snowdrops2" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3068 :length 150 :offset 900) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3068 :length 100 :offset 900) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3068 :length 60 :offset 900) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3068 :length 30 :offset 900) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3068 :length 10 :offset 900) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3068 :length 200 :offset 900) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3068 :length 150 :offset 900) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3068 :length 100 :offset 900) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3068 :length 50 :offset 900) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3068 :length 20 :offset 900) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3068 :length 170 :offset 900) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3068 :length 115 :offset 900) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3068 :length 70 :offset 900) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3068 :length 35 :offset 900) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3068 :length 10 :offset 900) - ) - :bounds - (new 'static 'sphere :y -65536.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 529) + (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :name "group-snow-snowdrops2" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3068 :length 150 :offset 900) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3068 :length 100 :offset 900) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3068 :length 60 :offset 900) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3068 :length 30 :offset 900) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3068 :length 10 :offset 900) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3068 :length 200 :offset 900) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3068 :length 150 :offset 900) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3068 :length 100 :offset 900) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3068 :length 50 :offset 900) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3068 :length 20 :offset 900) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3068 :length 170 :offset 900) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3068 :length 115 :offset 900) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3068 :length 70 :offset 900) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3068 :length 35 :offset 900) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3068 :length 10 :offset 900) + ) + :bounds + (new 'static 'sphere :y -65536.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 530) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :name "group-snow-snowdrops3" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3345 :length 150 :offset 1800) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3345 :length 100 :offset 1800) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3345 :length 60 :offset 1800) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3345 :length 30 :offset 1800) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3345 :length 10 :offset 1800) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3345 :length 200 :offset 1800) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3345 :length 150 :offset 1800) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3345 :length 100 :offset 1800) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3345 :length 50 :offset 1800) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3345 :length 20 :offset 1800) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3345 :length 170 :offset 1800) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3345 :length 115 :offset 1800) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3345 :length 70 :offset 1800) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3345 :length 35 :offset 1800) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3345 :length 10 :offset 1800) - ) - :bounds - (new 'static 'sphere :y -65536.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 530) + (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :name "group-snow-snowdrops3" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3345 :length 150 :offset 1800) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3345 :length 100 :offset 1800) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3345 :length 60 :offset 1800) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3345 :length 30 :offset 1800) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 3345 :length 10 :offset 1800) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3345 :length 200 :offset 1800) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3345 :length 150 :offset 1800) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3345 :length 100 :offset 1800) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3345 :length 50 :offset 1800) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 3345 :length 20 :offset 1800) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3345 :length 170 :offset 1800) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3345 :length 115 :offset 1800) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3345 :length 70 :offset 1800) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3345 :length 35 :offset 1800) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 3345 :length 10 :offset 1800) + ) + :bounds + (new 'static 'sphere :y -65536.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 531) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :name "group-snow-snowdrops4" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 4035 :length 150 :offset 300) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 4035 :length 100 :offset 300) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 4035 :length 60 :offset 300) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 4035 :length 30 :offset 300) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 4035 :length 10 :offset 300) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4035 :length 200 :offset 300) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4035 :length 150 :offset 300) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4035 :length 100 :offset 300) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4035 :length 50 :offset 300) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4035 :length 20 :offset 300) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 4035 :length 170 :offset 300) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 4035 :length 115 :offset 300) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 4035 :length 70 :offset 300) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 4035 :length 35 :offset 300) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 4035 :length 10 :offset 300) - ) - :bounds - (new 'static 'sphere :y -65536.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 531) + (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :name "group-snow-snowdrops4" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 4035 :length 150 :offset 300) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 4035 :length 100 :offset 300) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 4035 :length 60 :offset 300) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 4035 :length 30 :offset 300) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 4035 :length 10 :offset 300) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4035 :length 200 :offset 300) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4035 :length 150 :offset 300) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4035 :length 100 :offset 300) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4035 :length 50 :offset 300) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4035 :length 20 :offset 300) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 4035 :length 170 :offset 300) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 4035 :length 115 :offset 300) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 4035 :length 70 :offset 300) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 4035 :length 35 :offset 300) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 4035 :length 10 :offset 300) + ) + :bounds + (new 'static 'sphere :y -65536.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 532) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :name "group-snow-snowdrops5" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 5385 :length 150 :offset 1200) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 5385 :length 100 :offset 1200) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 5385 :length 60 :offset 1200) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 5385 :length 30 :offset 1200) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 5385 :length 10 :offset 1200) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 5385 :length 200 :offset 1200) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 5385 :length 150 :offset 1200) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 5385 :length 100 :offset 1200) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 5385 :length 50 :offset 1200) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 5385 :length 20 :offset 1200) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 5385 :length 170 :offset 1200) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 5385 :length 115 :offset 1200) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 5385 :length 70 :offset 1200) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 5385 :length 35 :offset 1200) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 5385 :length 10 :offset 1200) - ) - :bounds - (new 'static 'sphere :y -65536.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 532) + (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :name "group-snow-snowdrops5" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 5385 :length 150 :offset 1200) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 5385 :length 100 :offset 1200) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 5385 :length 60 :offset 1200) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 5385 :length 30 :offset 1200) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 5385 :length 10 :offset 1200) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 5385 :length 200 :offset 1200) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 5385 :length 150 :offset 1200) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 5385 :length 100 :offset 1200) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 5385 :length 50 :offset 1200) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 5385 :length 20 :offset 1200) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 5385 :length 170 :offset 1200) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 5385 :length 115 :offset 1200) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 5385 :length 70 :offset 1200) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 5385 :length 35 :offset 1200) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 5385 :length 10 :offset 1200) + ) + :bounds + (new 'static 'sphere :y -65536.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 533) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :name "group-snow-snowdrops6" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 6129 :length 150 :offset 2100) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 6129 :length 100 :offset 2100) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 6129 :length 60 :offset 2100) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 6129 :length 30 :offset 2100) - (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 6129 :length 10 :offset 2100) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 6129 :length 200 :offset 2100) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 6129 :length 150 :offset 2100) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 6129 :length 100 :offset 2100) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 6129 :length 50 :offset 2100) - (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 6129 :length 20 :offset 2100) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 6129 :length 170 :offset 2100) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 6129 :length 115 :offset 2100) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 6129 :length 70 :offset 2100) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 6129 :length 35 :offset 2100) - (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 6129 :length 10 :offset 2100) - ) - :bounds - (new 'static 'sphere :y -65536.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 533) + (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :name "group-snow-snowdrops6" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 6129 :length 150 :offset 2100) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 6129 :length 100 :offset 2100) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 6129 :length 60 :offset 2100) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 6129 :length 30 :offset 2100) + (sp-item 1924 :fade-after (meters 100.0) :falloff-to (meters 130.0) :period 6129 :length 10 :offset 2100) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 6129 :length 200 :offset 2100) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 6129 :length 150 :offset 2100) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 6129 :length 100 :offset 2100) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 6129 :length 50 :offset 2100) + (sp-item 1925 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 6129 :length 20 :offset 2100) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 6129 :length 170 :offset 2100) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 6129 :length 115 :offset 2100) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 6129 :length 70 :offset 2100) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 6129 :length 35 :offset 2100) + (sp-item 1926 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 6129 :length 10 :offset 2100) + ) + :bounds + (new 'static 'sphere :y -65536.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1924) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.25) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.25) 1.0) - (sp-flt spt-r 200.0) - (sp-flt spt-g 200.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters -0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-rnd-flt spt-accel-y -2.7306666 -1.3653333 1.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 600) - (sp-launcher-by-id spt-next-launcher 1927) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1924) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.25) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.25) 1.0) + (sp-flt spt-r 200.0) + (sp-flt spt-g 200.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters -0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-rnd-flt spt-accel-y -2.7306666 -1.3653333 1.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 600) + (sp-launcher-by-id spt-next-launcher 1927) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1927) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.42666668) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1927) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.42666668) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1925) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.25) (meters 0.1) 1.0) - (sp-flt spt-r 200.0) - (sp-flt spt-g 200.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-flt spt-vel-y (meters -0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-rnd-flt spt-accel-y -2.048 -1.3653333 1.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 600) - (sp-launcher-by-id spt-next-launcher 1927) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1925) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.25) (meters 0.1) 1.0) + (sp-flt spt-r 200.0) + (sp-flt spt-g 200.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-vel-y (meters -0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-rnd-flt spt-accel-y -2.048 -1.3653333 1.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 600) + (sp-launcher-by-id spt-next-launcher 1927) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1926) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) - (sp-flt spt-num 0.25) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.25) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.0) 1.0) - (sp-flt spt-r 200.0) - (sp-flt spt-g 200.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-flt spt-vel-y (meters -0.006666667)) - (sp-flt spt-fade-a -0.14222223) - (sp-rnd-flt spt-accel-y -2.048 -1.3653333 1.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1926) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + (sp-flt spt-num 0.25) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.25) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.5) (meters 1.0) 1.0) + (sp-flt spt-r 200.0) + (sp-flt spt-g 200.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-flt spt-vel-y (meters -0.006666667)) + (sp-flt spt-fade-a -0.14222223) + (sp-rnd-flt spt-accel-y -2.048 -1.3653333 1.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 534) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-part-snow-torch" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 2041 :fade-after (meters 200.0) :falloff-to (meters 220.0)) - (sp-item 2042 :fade-after (meters 140.0) :falloff-to (meters 1400.0)) - (sp-item 2043 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 600 :length 90) - (sp-item 2044 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 369 :length 69) - (sp-item 2045 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 710 :length 51) - (sp-item 2046 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 16384.0) - ) - ) +(set! (-> *part-group-id-table* 534) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-part-snow-torch" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 2041 :fade-after (meters 200.0) :falloff-to (meters 220.0)) + (sp-item 2042 :fade-after (meters 140.0) :falloff-to (meters 1400.0)) + (sp-item 2043 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 600 :length 90) + (sp-item 2044 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 369 :length 69) + (sp-item 2045 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 710 :length 51) + (sp-item 2046 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 16384.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2046) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.3) - (sp-flt spt-x (meters 0.2)) - (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3276.8) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 2047) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2046) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.3) + (sp-flt spt-x (meters 0.2)) + (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3276.8) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 2047) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2047) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -6.826667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2047) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -6.826667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2041) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1069547520 1 1.0) - (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) - (sp-rnd-flt spt-z -1433.6 2867.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 2048) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2041) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1069547520 1 1.0) + (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) + (sp-rnd-flt spt-z -1433.6 2867.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 2048) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2048) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.3333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2048) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.3333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2043) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 2048) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2043) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 2048) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2044) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z 0.0 1638.4 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 2048) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2044) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z 0.0 1638.4 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 2048) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2045) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) - (sp-flt spt-y (meters 0.6)) - (sp-rnd-flt spt-z -2457.6 2457.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 2048) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2045) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) + (sp-flt spt-y (meters 0.6)) + (sp-rnd-flt spt-z -2457.6 2457.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 2048) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2042) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.3)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0005)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-b -0.053333335) - (sp-flt spt-fade-a -0.08) - (sp-flt spt-accel-x 0.27306667) - (sp-flt spt-accel-y 0.13653333) - (sp-flt spt-friction 0.9975) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2042) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.3)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0005)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-b -0.053333335) + (sp-flt spt-fade-a -0.08) + (sp-flt spt-accel-x 0.27306667) + (sp-flt spt-accel-y 0.13653333) + (sp-flt spt-friction 0.9975) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 535) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-snow-mountain-snow" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2093)) - :bounds - (new 'static 'sphere :y -65536.0 :z -131072.0 :w 327680.0) - ) - ) +(set! (-> *part-group-id-table* 535) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-snow-mountain-snow" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2093)) + :bounds + (new 'static 'sphere :y -65536.0 :z -131072.0 :w 327680.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2093) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-y (meters -30.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 30.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 196.0 64.0 1.0) - (sp-rnd-flt spt-g 196.0 64.0 1.0) - (sp-rnd-flt spt-b 196.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-z (meters -0.06666667) (meters -0.06666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.033333335)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.053333335) - (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) - (sp-int spt-timer 3000) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int-plain-rnd spt-next-time 180 419 1) - (sp-launcher-by-id spt-next-launcher 2094) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2093) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-y (meters -30.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 30.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 196.0 64.0 1.0) + (sp-rnd-flt spt-g 196.0 64.0 1.0) + (sp-rnd-flt spt-b 196.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-z (meters -0.06666667) (meters -0.06666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.033333335)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.053333335) + (sp-rnd-flt spt-accel-y 0.68266666 0.68266666 1.0) + (sp-int spt-timer 3000) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int-plain-rnd spt-next-time 180 419 1) + (sp-launcher-by-id spt-next-launcher 2094) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2094) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.035555556) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2094) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.035555556) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 536) - (new 'static 'sparticle-launch-group - :length 8 - :duration #xbb8 - :linger-duration #x5dc - :name "group-snow-door-torch" - :launcher - (new 'static 'inline-array sparticle-group-item 8 - (sp-item 2113 :fade-after (meters 240.0) :falloff-to (meters 240.0)) - (sp-item 2114 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 492 :length 60) - (sp-item 2115 :fade-after (meters 240.0) :falloff-to (meters 240.0)) - (sp-item 2116 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 369 :length 219) - (sp-item 2117 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 690 :length 90) - (sp-item 2118 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 918 :length 669) - (sp-item 2119 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 750 :length 30) - (sp-item 2120 :fade-after (meters 50.0) :falloff-to (meters 60.0)) - ) - :bounds - (new 'static 'sphere :y 20480.0 :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 536) + (new 'static 'sparticle-launch-group + :length 8 + :duration #xbb8 + :linger-duration #x5dc + :name "group-snow-door-torch" + :launcher + (new 'static 'inline-array sparticle-group-item 8 + (sp-item 2113 :fade-after (meters 240.0) :falloff-to (meters 240.0)) + (sp-item 2114 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 492 :length 60) + (sp-item 2115 :fade-after (meters 240.0) :falloff-to (meters 240.0)) + (sp-item 2116 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 369 :length 219) + (sp-item 2117 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 690 :length 90) + (sp-item 2118 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 918 :length 669) + (sp-item 2119 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 750 :length 30) + (sp-item 2120 :fade-after (meters 50.0) :falloff-to (meters 60.0)) + ) + :bounds + (new 'static 'sphere :y 20480.0 :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2120) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.6) - (sp-rnd-flt spt-x (meters 0.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 2.0)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5898.24) - (sp-flt spt-b 6553.6) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 2121) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2120) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.6) + (sp-rnd-flt spt-x (meters 0.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 2.0)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5898.24) + (sp-flt spt-b 6553.6) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 2121) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2121) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -10.922667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2121) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -10.922667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2113) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.75 0.6 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -2048.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.016666668) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.054613337) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2113) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.75 0.6 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -2048.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.016666668) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.054613337) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2114) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1058642330 1 1.3) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z 0.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-int-flt spt-vel-y (meters 0.04) 1 40.96) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5) - (sp-flt spt-accel-y -0.054613337) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2114) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1058642330 1 1.3) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z 0.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-int-flt spt-vel-y (meters 0.04) 1 40.96) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5) + (sp-flt spt-accel-y -0.054613337) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2115) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.6 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.011111111)) - (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.0627451) - (sp-flt spt-accel-y -0.54613334) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 59 1) - (sp-launcher-by-id spt-next-launcher 2122) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2115) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.6 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.011111111)) + (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.0627451) + (sp-flt spt-accel-y -0.54613334) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 59 1) + (sp-launcher-by-id spt-next-launcher 2122) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2123) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 0.2 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.005) 1.0) - (sp-flt spt-scalevel-x (meters 0.0055555557)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.0627451) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 30 59 1) - (sp-launcher-by-id spt-next-launcher 2122) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2123) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 0.2 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.005) 1.0) + (sp-flt spt-scalevel-x (meters 0.0055555557)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.0627451) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 30 59 1) + (sp-launcher-by-id spt-next-launcher 2122) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2122) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-g 0.26666668) - (sp-flt spt-fade-b 0.53333336) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 2124) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2122) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-g 0.26666668) + (sp-flt spt-fade-b 0.53333336) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 2124) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2124) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2124) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2116) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.6 0.7 1.0) - (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4915.2 9830.4 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.054613337) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees -15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2116) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.6 0.7 1.0) + (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4915.2 9830.4 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.054613337) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees -15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2117) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1056964608 1 0.9) - (sp-rnd-flt spt-x (meters -1.2) (meters 1.0) 1.0) - (sp-flt spt-y (meters 1.25)) - (sp-rnd-flt spt-z -4915.2 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-int-flt spt-vel-y (meters 0.03) 1 40.96) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5) - (sp-flt spt-accel-y -0.054613337) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees -15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2117) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1056964608 1 0.9) + (sp-rnd-flt spt-x (meters -1.2) (meters 1.0) 1.0) + (sp-flt spt-y (meters 1.25)) + (sp-rnd-flt spt-z -4915.2 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-int-flt spt-vel-y (meters 0.03) 1 40.96) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5) + (sp-flt spt-accel-y -0.054613337) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees -15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2118) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.75 1.2 1.0) - (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4915.2 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.008333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.054613337) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2118) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.75 1.2 1.0) + (sp-rnd-flt spt-x (meters -1.2) (meters 2.4) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4915.2 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.008333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.054613337) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2119) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1060320051 1 1.6) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) - (sp-flt spt-y (meters 1.25)) - (sp-rnd-flt spt-z -4096.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-int-flt spt-vel-y (meters 0.03) 1 34.133335) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5) - (sp-flt spt-accel-y -0.054613337) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2119) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1060320051 1 1.6) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.5) 1.0) + (sp-flt spt-y (meters 1.25)) + (sp-rnd-flt spt-z -4096.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-int-flt spt-vel-y (meters 0.03) 1 34.133335) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5) + (sp-flt spt-accel-y -0.054613337) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 537) - (new 'static 'sparticle-launch-group - :length 50 - :duration #xbb8 - :linger-duration #x5dc - :name "group-snow-birds" - :launcher - (new 'static 'inline-array sparticle-group-item 50 - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) - (sp-item 2244 :flags (is-3d start-dead)) - ) - :bounds - (new 'static 'sphere :y 32768.0 :w 184320.0) - ) - ) +(set! (-> *part-group-id-table* 537) + (new 'static 'sparticle-launch-group + :length 50 + :duration #xbb8 + :linger-duration #x5dc + :name "group-snow-birds" + :launcher + (new 'static 'inline-array sparticle-group-item 50 + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2245 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 2243) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + (sp-item 2243 :flags (start-dead launch-asap) :binding 2244) + (sp-item 2244 :flags (is-3d start-dead)) + ) + :bounds + (new 'static 'sphere :y 32768.0 :w 184320.0) + ) + ) ;; definition for function snow-bird-bob-func ;; INFO: Return type mismatch int vs none. -(defun - snow-bird-bob-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) - (set! - (-> arg2 y) - (+ - (-> (the-as process-drawable (-> arg1 key proc)) root trans y) - (* - -2048.0 - (sin (* 218.45334 (the float (mod (-> *display* base-frame-counter) 300)))) - ) - ) - ) +(defun snow-bird-bob-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) + (set! (-> arg2 y) (+ (-> (the-as process-drawable (-> arg1 key proc)) root trans y) + (* -2048.0 (sin (* 218.45334 (the float (mod (-> *display* base-frame-counter) 300))))) + ) + ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2245) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-func spt-birth-func 'birth-func-random-next-time) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -70.0) (meters 140.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -286720.0 573440.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-userdata 199.98) - (sp-func spt-func 'snow-bird-bob-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2245) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-func spt-birth-func 'birth-func-random-next-time) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -70.0) (meters 140.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -286720.0 573440.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-userdata 199.98) + (sp-func spt-func 'snow-bird-bob-func) + (sp-end) + ) + ) + ) ;; definition for function sparticle-snow-birds-moon ;; INFO: Return type mismatch int vs none. -(defun - sparticle-snow-birds-moon - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) - (set! - (-> arg2 vector 1 z) - (the float (sar (shl (the int (+ -16384.0 (-> arg1 omega))) 48) 48)) - ) +(defun sparticle-snow-birds-moon ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) + (set! (-> arg2 vector 1 z) (the float (sar (shl (the int (+ -16384.0 (-> arg1 omega))) 48) 48))) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2243) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-omega-to-z) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-z 122880.0) - (sp-flt spt-scale-x (meters 0.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 32.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.0044444446)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.04)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit3 bit7) - (sp-func spt-func 'sparticle-snow-birds-moon) - (sp-int spt-next-time 199) - (sp-launcher-by-id spt-next-launcher 2246) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2243) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-omega-to-z) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-z 122880.0) + (sp-flt spt-scale-x (meters 0.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 32.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.0044444446)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.04)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit3 bit7) + (sp-func spt-func 'sparticle-snow-birds-moon) + (sp-int spt-next-time 199) + (sp-launcher-by-id spt-next-launcher 2246) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2246) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-scale-x (meters 8.0)) - (sp-flt spt-scalevel-x (meters -0.08)) - (sp-int spt-timer 600) - (sp-int spt-next-time 100) - (sp-launcher-by-id spt-next-launcher 2247) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2246) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-scale-x (meters 8.0)) + (sp-flt spt-scalevel-x (meters -0.08)) + (sp-int spt-timer 600) + (sp-int spt-next-time 100) + (sp-launcher-by-id spt-next-launcher 2247) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2247) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-scale-x (meters 0.0)) - (sp-flt spt-scalevel-x (meters -0.04)) - (sp-int spt-timer 600) - (sp-int spt-next-time 199) - (sp-launcher-by-id spt-next-launcher 2246) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2247) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-scale-x (meters 0.0)) + (sp-flt spt-scalevel-x (meters -0.04)) + (sp-int spt-timer 600) + (sp-int spt-next-time 199) + (sp-launcher-by-id spt-next-launcher 2246) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2244) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-func spt-birth-func 'birth-func-copy2-rot-color) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-flt spt-scale-y (meters 1.5)) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9 bit12) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-id-table* 2244) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 9 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-func spt-birth-func 'birth-func-copy2-rot-color) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-flt spt-scale-y (meters 1.5)) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9 bit12) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/snow/snow-ram-h_REF.gc b/test/decompiler/reference/levels/snow/snow-ram-h_REF.gc index 36fe707925..23554a3598 100644 --- a/test/decompiler/reference/levels/snow/snow-ram-h_REF.gc +++ b/test/decompiler/reference/levels/snow/snow-ram-h_REF.gc @@ -24,24 +24,16 @@ ;; definition for method 3 of type ram (defmethod inspect ram ((obj ram)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tram-id: ~D~%" (-> obj ram-id)) (format #t "~T~Tgive-fuel-cell?: ~A~%" (-> obj give-fuel-cell?)) (format #t "~T~Tgive-fuel-cell-anim: ~A~%" (-> obj give-fuel-cell-anim)) (format #t "~T~Tpart2: ~A~%" (-> obj part2)) (format #t "~T~Torient-ry: ~f~%" (-> obj orient-ry)) - (format - #t - "~T~Tfuel-cell-dest-pos: #~%" - (-> obj fuel-cell-dest-pos) - ) + (format #t "~T~Tfuel-cell-dest-pos: #~%" (-> obj fuel-cell-dest-pos)) obj ) ;; failed to figure out what this is: 0 - - - - diff --git a/test/decompiler/reference/levels/snow/target-snowball_REF.gc b/test/decompiler/reference/levels/snow/target-snowball_REF.gc index 1304a747cf..ca05f597fb 100644 --- a/test/decompiler/reference/levels/snow/target-snowball_REF.gc +++ b/test/decompiler/reference/levels/snow/target-snowball_REF.gc @@ -38,16 +38,16 @@ ;; INFO: Return type mismatch int vs none. (defbehavior target-snowball-post target () (let ((gp-0 (the int (-> *display* time-ratio)))) - (set-time-ratios *display* 1.0) - (countdown (s5-0 gp-0) - (set! (-> self control unknown-int40) s5-0) - (flag-setup) - (build-conversions (-> self control transv)) - (reverse-conversions (-> self control transv)) - (post-flag-setup) + (set-time-ratios *display* 1.0) + (countdown (s5-0 gp-0) + (set! (-> self control unknown-int40) s5-0) + (flag-setup) + (build-conversions (-> self control transv)) + (reverse-conversions (-> self control transv)) + (post-flag-setup) + ) + (set-time-ratios *display* (the float gp-0)) ) - (set-time-ratios *display* (the float gp-0)) - ) (rot->dir-targ! (-> self control)) (ja-post) (joint-points) @@ -61,85 +61,78 @@ (defstate target-snowball-start (target) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (cond - ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) - 'snowball - ) - ((let ((v1-3 arg2)) - (= v1-3 'end-mode) + (cond + ((and (= arg2 'query) (= (-> arg3 param 0) 'mode)) + 'snowball + ) + ((let ((v1-3 arg2)) + (= v1-3 'end-mode) + ) + (go + target-jump + (-> *TARGET-bank* duck-jump-height-min) + (-> *TARGET-bank* duck-jump-height-max) + (the-as surface #f) + ) + ) + (else + (target-generic-event-handler arg0 arg1 arg2 arg3) + ) ) - (go - target-jump - (-> *TARGET-bank* duck-jump-height-min) - (-> *TARGET-bank* duck-jump-height-max) - (the-as surface #f) - ) - ) - (else - (target-generic-event-handler arg0 arg1 arg2 arg3) - ) ) - ) :exit (behavior () - (when (!= (-> self next-state name) 'target-snowball) - (let ((v1-1 (-> self manipy))) - (when v1-1 - (deactivate (-> v1-1 0)) - (set! (-> self manipy) (the-as (pointer manipy) #f)) + (when (!= (-> self next-state name) 'target-snowball) + (let ((v1-1 (-> self manipy))) + (when v1-1 + (deactivate (-> v1-1 0)) + (set! (-> self manipy) (the-as (pointer manipy) #f)) + ) + ) + (set! (-> self control root-prim prim-core action) + (logand -4097 (-> self control root-prim prim-core action)) + ) + (set! (-> self control unknown-surface00) *walk-mods*) + (set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max)) + (set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length)) + (target-collide-set! 'normal 0.0) + (set! (-> self control reaction) target-collision-reaction) + (target-exit) ) - ) - (set! - (-> self control root-prim prim-core action) - (logand -4097 (-> self control root-prim prim-core action)) - ) - (set! (-> self control unknown-surface00) *walk-mods*) - (set! - (-> self control dynam gravity-max) - (-> self control unknown-dynamics00 gravity-max) - ) - (set! - (-> self control dynam gravity-length) - (-> self control unknown-dynamics00 gravity-length) - ) - (target-collide-set! 'normal 0.0) - (set! (-> self control reaction) target-collision-reaction) - (target-exit) + (none) ) - (none) - ) :code (behavior ((arg0 handle)) - (target-exit) - (set! *display-profile* #f) - (set! *display-entity-errors* #f) - (if (zero? (-> self snowball)) - (set! (-> self snowball) (new 'process 'snowball-info)) + (target-exit) + (set! *display-profile* #f) + (set! *display-entity-errors* #f) + (if (zero? (-> self snowball)) + (set! (-> self snowball) (new 'process 'snowball-info)) + ) + (set! (-> self snowball entity) #f) + (let ((a0-2 (handle->process arg0))) + (if a0-2 + (set! (-> self snowball entity) (-> a0-2 entity)) + ) + ) + (reset-target-state #t) + (set! (-> self control transv quad) (the-as uint128 0)) + (set! (-> self control unknown-float01) 0.0) + (TODO-RENAME-28 (-> self control) (new 'static 'vector :y 4096.0 :w 1.0)) + (logior! (-> self control root-prim prim-core action) 4096) + (ja-channel-set! 1) + (let ((gp-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 5)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) + ) + (remove-exit) + (go target-snowball) + (none) ) - (set! (-> self snowball entity) #f) - (let ((a0-2 (handle->process arg0))) - (if a0-2 - (set! (-> self snowball entity) (-> a0-2 entity)) - ) - ) - (reset-target-state #t) - (set! (-> self control transv quad) (the-as uint128 0)) - (set! (-> self control unknown-float01) 0.0) - (TODO-RENAME-28 (-> self control) (new 'static 'vector :y 4096.0 :w 1.0)) - (logior! (-> self control root-prim prim-core action) 4096) - (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-1 frame-num) 0.0) - ) - (remove-exit) - (go target-snowball) - (none) - ) :post (the-as (function none :behavior target) target-post) ) @@ -152,14 +145,11 @@ (-> target-snowball-start exit) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post - (behavior () - (target-snowball-post) - (none) - ) + (behavior () (target-snowball-post) (none)) ) diff --git a/test/decompiler/reference/levels/snow/yeti_REF.gc b/test/decompiler/reference/levels/snow/yeti_REF.gc index 627e4a1aeb..23ee88c4b3 100644 --- a/test/decompiler/reference/levels/snow/yeti_REF.gc +++ b/test/decompiler/reference/levels/snow/yeti_REF.gc @@ -15,8 +15,8 @@ ;; definition for method 3 of type yeti-slave (defmethod inspect yeti-slave ((obj yeti-slave)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tground-y: ~f~%" (-> obj ground-y)) (format #t "~T~Tpart2: ~A~%" (-> obj part2)) obj @@ -45,8 +45,8 @@ ;; definition for method 3 of type yeti (defmethod inspect yeti ((obj yeti)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tdesired-num-children: ~D~%" (-> obj desired-num-children)) (format #t "~T~Tspawn-delay: ~D~%" (-> obj spawn-delay)) (format #t "~T~Tfirst-time-spawn-dist: ~f~%" (-> obj first-time-spawn-dist)) @@ -64,208 +64,189 @@ ) ;; definition for symbol *yeti-nav-enemy-info*, type nav-enemy-info -(define - *yeti-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 2 - :walk-anim 3 - :turn-anim -1 - :notice-anim 4 - :run-anim 5 - :jump-anim 10 - :jump-land-anim 11 - :victory-anim 8 - :taunt-anim 8 - :die-anim 9 - :neck-joint 5 - :player-look-at-joint 5 - :run-travel-speed (meters 6.0) - :run-rotate-speed (degrees 2880.0) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.1) - :walk-travel-speed (meters 3.0) - :walk-rotate-speed (degrees 720.0) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.5) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 2.0) - :notice-nav-radius (meters 2.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 30.0) - :stop-chase-distance (meters 40.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 24.0 - :jump-anim-start-frame 10.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 3.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #t - :draw-shadow #t - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *yeti-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 2 + :walk-anim 3 + :turn-anim -1 + :notice-anim 4 + :run-anim 5 + :jump-anim 10 + :jump-land-anim 11 + :victory-anim 8 + :taunt-anim 8 + :die-anim 9 + :neck-joint 5 + :player-look-at-joint 5 + :run-travel-speed (meters 6.0) + :run-rotate-speed (degrees 2880.0) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.1) + :walk-travel-speed (meters 3.0) + :walk-rotate-speed (degrees 720.0) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.5) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 2.0) + :notice-nav-radius (meters 2.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 30.0) + :stop-chase-distance (meters 40.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 24.0 + :jump-anim-start-frame 10.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 3.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #t + :draw-shadow #t + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 538) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-yeti-slave-appear1" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1928 :fade-after (meters 70.0) :falloff-to (meters 70.0)) - (sp-item 1929 :fade-after (meters 70.0) :falloff-to (meters 70.0)) - ) - :bounds (new 'static 'sphere :w 65536.0) - ) - ) +(set! (-> *part-group-id-table* 538) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-yeti-slave-appear1" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1928 :fade-after (meters 70.0) :falloff-to (meters 70.0)) + (sp-item 1929 :fade-after (meters 70.0) :falloff-to (meters 70.0)) + ) + :bounds (new 'static 'sphere :w 65536.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1929) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -8192.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.24) (meters 0.24) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.033333335) (meters 0.05) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 3.4666667) 1.0) - (sp-flt spt-accel-y -5.4613333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1929) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -8192.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.24) (meters 0.24) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.033333335) (meters 0.05) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 3.4666667) 1.0) + (sp-flt spt-accel-y -5.4613333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1928) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 32.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -8192.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.05) (meters 0.016666668) 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.07111111) - (sp-flt spt-accel-y -5.4613333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1928) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 32.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -8192.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.05) (meters 0.016666668) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.07111111) + (sp-flt spt-accel-y -5.4613333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 539) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-yeti-slave-appear2" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 1930 :fade-after (meters 70.0) :falloff-to (meters 70.0)) - ) - :bounds (new 'static 'sphere :w 65536.0) - ) - ) +(set! (-> *part-group-id-table* 539) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-yeti-slave-appear2" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 1930 :fade-after (meters 70.0) :falloff-to (meters 70.0)) + ) + :bounds (new 'static 'sphere :w 65536.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1930) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 1.0 2.0 1.0) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 3.4666667) 1.0) - (sp-flt spt-accel-y -5.4613333) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1930) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 1.0 2.0 1.0) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -2.4) (degrees 3.4666667) 1.0) + (sp-flt spt-accel-y -5.4613333) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition for function yeti-slave-default-event-handler -(defbehavior - yeti-slave-default-event-handler yeti-slave - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack) +(defbehavior yeti-slave-default-event-handler yeti-slave ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('attack) (nav-enemy-set-hit-from-direction arg0) (go-virtual nav-enemy-die) ) - (('touch) - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg3 param 0)) - 'generic + (('touch) + (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg3 param 0)) 'generic) ) ) - ) ) ;; failed to figure out what this is: @@ -274,97 +255,61 @@ yeti-slave-default-event-handler :enter (behavior () - (nav-enemy-neck-control-inactive) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (if (-> self nav-info move-to-ground) - (dummy-60 (-> self collide-info) 40960.0 40960.0 #t (the-as uint 1)) + (nav-enemy-neck-control-inactive) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (if (-> self nav-info move-to-ground) + (dummy-60 (-> self collide-info) 40960.0 40960.0 #t (the-as uint 1)) + ) + (set! (-> self nav-enemy-flags) (logand -7 (-> self nav-enemy-flags))) + (set! (-> self state-timeout) 300) + (set! (-> self ground-y) (-> self collide-info trans y)) + (spawn (-> self part) (-> self collide-info trans)) + (set! (-> self collide-info trans y) (+ -12288.0 (-> self collide-info trans y))) + (set! (-> self collide-info transv quad) (-> *null-vector* quad)) + (set! (-> self collide-info transv y) (rand-vu-float-range 102400.0 114688.0)) + (none) ) - (set! (-> self nav-enemy-flags) (logand -7 (-> self nav-enemy-flags))) - (set! (-> self state-timeout) 300) - (set! (-> self ground-y) (-> self collide-info trans y)) - (spawn (-> self part) (-> self collide-info trans)) - (set! - (-> self collide-info trans y) - (+ -12288.0 (-> self collide-info trans y)) - ) - (set! (-> self collide-info transv quad) (-> *null-vector* quad)) - (set! - (-> self collide-info transv y) - (rand-vu-float-range 102400.0 114688.0) - ) - (none) - ) :trans (behavior () - (when - (and - (< (-> self collide-info trans y) (-> self ground-y)) - (< (-> self collide-info transv y) 0.0) - ) - (set! (-> self collide-info trans y) (-> self ground-y)) - (set! (-> self collide-info transv quad) (-> *null-vector* quad)) - (go yeti-slave-appear-land) + (when (and (< (-> self collide-info trans y) (-> self ground-y)) (< (-> self collide-info transv y) 0.0)) + (set! (-> self collide-info trans y) (-> self ground-y)) + (set! (-> self collide-info transv quad) (-> *null-vector* quad)) + (go yeti-slave-appear-land) + ) + (let* ((s5-0 (-> self node-list)) + (a0-2 (-> s5-0 length)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (vector<-cspace! gp-0 (-> s5-0 data (nav-enemy-rnd-int-count a0-2))) + (spawn (-> self part2) gp-0) + ) + (none) ) - (let* ((s5-0 (-> self node-list)) - (a0-2 (-> s5-0 length)) - (gp-0 (new 'stack-no-clear 'vector)) - ) - (vector<-cspace! gp-0 (-> s5-0 data (nav-enemy-rnd-int-count a0-2))) - (spawn (-> self part2) gp-0) - ) - (none) - ) :code (behavior () - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> gp-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length + (ja-channel-push! 1 22) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> gp-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) + ) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) (ja-aframe 10.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 10.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) + (while #t + (suspend) ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) + (none) ) - (while #t - (suspend) - ) - (none) - ) :post (the-as (function none :behavior yeti-slave) nav-enemy-falling-post) ) @@ -375,56 +320,30 @@ yeti-slave-default-event-handler :code (behavior () - (ja-channel-push! 1 15) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 11)) - data - 0 - length + (ja-channel-push! 1 15) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 0.5) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 0.5) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 0.5) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) + (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) + (go-virtual nav-enemy-chase) + (go-virtual nav-enemy-idle) + ) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 0.5) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (if (TODO-RENAME-46 self (-> self nav-info notice-distance)) - (go-virtual nav-enemy-chase) - (go-virtual nav-enemy-idle) - ) - (none) - ) :post (the-as (function none :behavior yeti-slave) ja-post) ) @@ -432,15 +351,9 @@ ;; failed to figure out what this is: (defstate yeti-slave-show-anims (yeti-slave) :trans - (behavior () - 0 - (none) - ) + (behavior () 0 (none)) :code - (behavior () - 0 - (none) - ) + (behavior () 0 (none)) :post (the-as (function none :behavior yeti-slave) transform-post) ) @@ -450,222 +363,110 @@ :virtual #t :code (behavior () - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 7) - ) - (ja-channel-push! 1 45) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> gp-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 7) ) - -1 + (ja-channel-push! 1 45) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> gp-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) (ja-aframe 12.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - ) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 12.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (ja-channel-push! 1 60) - ) - ) - (while #t - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-10 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 param 0) - (the float (+ (-> a0-11 frame-group data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (nav-enemy-rnd-percent? 0.2) - (let ((a0-14 (-> self skel root-channel 0))) - (set! (-> a0-14 param 0) 1.0) - (joint-control-channel-group! - a0-14 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 180) - (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) - (let ((gp-1 (nav-enemy-rnd-int-range 2 6))) - (dotimes (s5-0 gp-1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-18 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! - a0-18 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) (until (ja-done? 0) - (ja-blend-eval) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (ja-channel-push! 1 60) + ) + ) + (while #t + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-10 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-10 param 1) 1.0) + (set! (-> a0-10 frame-num) 0.0) + (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 param 0) - (the float (+ (-> a0-19 frame-group data 0 length) -1)) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) + (set! (-> a0-11 param 1) 1.0) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim #f) - num-func-seek! + ) + (when (nav-enemy-rnd-percent? 0.2) + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 param 0) 1.0) + (joint-control-channel-group! a0-14 (the-as art-joint-anim #f) num-func-loop!) ) - ) - ) - ) - ) - (logior! (-> self nav-enemy-flags) 8) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 param 0) 1.0) - (joint-control-channel-group! - a0-21 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 180) - (let ((a0-23 (-> self skel root-channel 0))) - (set! - (-> a0-23 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-23 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length + (ja-channel-push! 1 180) + (set! (-> self nav-enemy-flags) (logand -9 (-> self nav-enemy-flags))) + (let ((gp-1 (nav-enemy-rnd-int-range 2 6))) + (dotimes (s5-0 gp-1) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-18 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-18 param 1) 1.0) + (set! (-> a0-18 frame-num) 0.0) + (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) + (set! (-> a0-19 param 1) 1.0) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (logior! (-> self nav-enemy-flags) 8) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) 1.0) + (joint-control-channel-group! a0-21 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 180) + (let ((a0-23 (-> self skel root-channel 0))) + (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-23 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-23 param 1) 1.0) + (set! (-> a0-23 frame-num) 0.0) + (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) + (set! (-> a0-24 param 1) 1.0) + (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-23 param 1) 1.0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! - a0-23 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 param 0) - (the float (+ (-> a0-24 frame-group data 0 length) -1)) - ) - (set! (-> a0-24 param 1) 1.0) - (joint-control-channel-group-eval! - a0-24 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -673,111 +474,67 @@ :virtual #t :code (behavior () - (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (cond - ((= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 11) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (ja-channel-push! 1 51) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - ) - (set! - (-> a0-7 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) + (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) + (cond + ((= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 11) ) - data - 0 - length + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-seek!) ) - -1 + (ja-channel-push! 1 51) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim)))) + (set! (-> a0-7 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-7 param 1) f30-0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! + a0-7 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) + (set! (-> a0-8 param 1) f30-0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (ja-channel-push! 1 60) + (let ((v1-42 (-> self skel root-channel 0))) + (set! (-> v1-42 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info run-anim))) + ) + ) + (let ((v1-45 (-> self skel root-channel 0))) + (set! (-> v1-45 num-func) num-func-identity) + (set! (-> v1-45 frame-num) 0.0) + ) ) - ) ) - (set! (-> a0-7 param 1) f30-0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - num-func-seek! + (while #t + (suspend) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) f30-0) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-loop!) + ) ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 param 0) - (the float (+ (-> a0-8 frame-group data 0 length) -1)) - ) - (set! (-> a0-8 param 1) f30-0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - (else - (ja-channel-push! 1 60) - (let ((v1-42 (-> self skel root-channel 0))) - (set! - (-> v1-42 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info run-anim)) - ) - ) - ) - (let ((v1-45 (-> self skel root-channel 0))) - (set! (-> v1-45 num-func) num-func-identity) - (set! (-> v1-45 frame-num) 0.0) - ) - ) - ) - (while #t - (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! (-> a0-17 param 0) f30-0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -785,161 +542,101 @@ :virtual #t :code (behavior () - (set! (-> self turn-time) 60) - (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (when - (or - (logtest? (-> self nav-enemy-flags) 256) - (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) - ) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! (-> gp-0 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-0 param 1) f30-0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-1 param 1) f30-0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (while #t - (when (not (nav-enemy-facing-player? 2730.6667)) - (logior! (-> self nav-enemy-flags) 16) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) 1.0) - (joint-control-channel-group! - a0-9 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 60) - (let ((v1-25 (-> self skel root-channel 0))) - (set! - (-> v1-25 frame-group) - (the-as art-joint-anim (-> self draw art-group data 12)) - ) - ) - (let ((v1-28 (-> self skel root-channel 0))) - (set! (-> v1-28 num-func) num-func-identity) - (set! (-> v1-28 frame-num) 0.0) - ) - (until (nav-enemy-facing-player? 1820.4445) - (ja-blend-eval) - (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 param 0) 0.75) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - ) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 2) - ) + (set! (-> self turn-time) 60) + (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) + (when (or + (logtest? (-> self nav-enemy-flags) 256) + (and (nav-enemy-player-vulnerable?) (nav-enemy-rnd-percent? 0.5)) + ) + (ja-channel-push! 1 30) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> gp-0 param 0) (ja-aframe 68.0 0)) + (set! (-> gp-0 param 1) f30-0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) ) - (ja-channel-push! 1 60) - ) - (let ((a0-23 (-> self skel root-channel 0))) - (set! - (-> a0-23 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-23 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 68.0 0)) + (set! (-> gp-1 param 1) f30-0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (while #t + (when (not (nav-enemy-facing-player? 2730.6667)) + (logior! (-> self nav-enemy-flags) 16) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) 1.0) + (joint-control-channel-group! a0-9 (the-as art-joint-anim #f) num-func-loop!) + ) + (ja-channel-push! 1 60) + (let ((v1-25 (-> self skel root-channel 0))) + (set! (-> v1-25 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) + ) + (let ((v1-28 (-> self skel root-channel 0))) + (set! (-> v1-28 num-func) num-func-identity) + (set! (-> v1-28 frame-num) 0.0) + ) + (until (nav-enemy-facing-player? 1820.4445) + (ja-blend-eval) + (suspend) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 param 0) 0.75) + (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + ) + (if (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 2) + ) + ) + (ja-channel-push! 1 60) + ) + (let ((a0-23 (-> self skel root-channel 0))) + (set! (-> a0-23 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-23 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-23 param 1) f30-0) + (set! (-> a0-23 frame-num) 0.0) + (joint-control-channel-group! a0-23 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 param 0) (the float (+ (-> a0-24 frame-group data 0 length) -1))) + (set! (-> a0-24 param 1) f30-0) + (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (when (nav-enemy-rnd-percent? 0.3) + (ja-channel-push! 1 30) + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> gp-2 param 0) (ja-aframe 68.0 0)) + (set! (-> gp-2 param 1) f30-0) + (set! (-> gp-2 frame-num) 0.0) + (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 param 0) (ja-aframe 68.0 0)) + (set! (-> gp-3 param 1) f30-0) + (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - -1 - ) ) - ) - (set! (-> a0-23 param 1) f30-0) - (set! (-> a0-23 frame-num) 0.0) - (joint-control-channel-group! - a0-23 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 param 0) - (the float (+ (-> a0-24 frame-group data 0 length) -1)) - ) - (set! (-> a0-24 param 1) f30-0) - (joint-control-channel-group-eval! - a0-24 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (nav-enemy-rnd-percent? 0.3) - (ja-channel-push! 1 30) - (let ((gp-2 (-> self skel root-channel 0))) - (set! - (-> gp-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! (-> gp-2 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-2 param 1) f30-0) - (set! (-> gp-2 frame-num) 0.0) - (joint-control-channel-group! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 68.0 0)) - (set! (-> gp-3 param 1) f30-0) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -947,123 +644,64 @@ :virtual #t :code (behavior () - (set! (-> self rotate-speed) 218453.33) - (set! (-> self turn-time) 150) - (ja-channel-push! 1 45) - (let ((s4-0 (-> self collide-info)) - (s5-0 (target-pos 0)) - ) - (when - (< - (fabs - (deg-diff - (y-angle s4-0) - (vector-y-angle - (vector-! (new 'stack-no-clear 'vector) s5-0 (-> s4-0 trans)) - ) - ) - ) - 12743.111 - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (set! (-> self rotate-speed) 218453.33) + (set! (-> self turn-time) 150) + (ja-channel-push! 1 45) + (let ((s4-0 (-> self collide-info)) + (s5-0 (target-pos 0)) + ) + (when (< (fabs + (deg-diff (y-angle s4-0) (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s5-0 (-> s4-0 trans)))) + ) + 12743.111 + ) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-6 param 1) 1.0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-6 param 1) 1.0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) ) - (until (ja-done? 0) + (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) + (nav-enemy-get-new-patrol-point) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (seek-to-point-toward-point! + (-> self collide-info) + (-> self nav destination-pos) + (-> self rotate-speed) + (-> self turn-time) + ) (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) + (set! (-> a0-14 param 1) 1.0) + (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - ) + (go-virtual nav-enemy-patrol) + (none) ) - (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) - (nav-enemy-get-new-patrol-point) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-12 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (seek-to-point-toward-point! - (-> self collide-info) - (-> self nav destination-pos) - (-> self rotate-speed) - (-> self turn-time) - ) - (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! - (-> a0-14 param 0) - (the float (+ (-> a0-14 frame-group data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! - a0-14 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-patrol) - (none) - ) ) ;; failed to figure out what this is: @@ -1071,115 +709,84 @@ :virtual #t :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (ja-channel-push! 1 22) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - ) - (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-0 param 1) 0.5) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info jump-land-anim)) + (ja-channel-push! 1 22) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) + ) + (set! (-> gp-0 param 0) (ja-aframe 32.0 0)) + (set! (-> gp-0 param 1) 0.5) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! + gp-0 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info jump-land-anim))) + num-func-seek! + ) ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) - (set! (-> gp-1 param 1) 0.5) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 32.0 0)) + (set! (-> gp-1 param 1) 0.5) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (go-virtual nav-enemy-chase) + (none) ) - (go-virtual nav-enemy-chase) - (none) - ) ) ;; definition for method 47 of type yeti-slave ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision yeti-slave ((obj yeti-slave)) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 3) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s4-0 local-sphere) 0.0 8192.0 0.0 12288.0) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 1) + (set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 3072.0) + (append-prim s4-0 s3-0) + ) + (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 1) + (set-vector! (-> s3-1 local-sphere) 0.0 9830.4 0.0 3072.0) + (append-prim s4-0 s3-1) + ) + (let ((s3-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) + (set! (-> s3-2 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-2 collide-with) (the-as uint 16)) + (set! (-> s3-2 prim-core offense) 2) + (set! (-> s3-2 transform-index) 6) + (set-vector! (-> s3-2 local-sphere) 0.0 0.0 0.0 2048.0) + (append-prim s4-0 s3-2) + ) ) - ) + (set! (-> s5-0 nav-radius) 6144.0) + (backup-collide-with-as s5-0) + (set! (-> s5-0 max-iteration-count) (the-as uint 2)) + (set! (-> obj collide-info) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 3) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s4-0 local-sphere) 0.0 8192.0 0.0 12288.0) - (set-root-prim! s5-0 s4-0) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 1) - (set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 3072.0) - (append-prim s4-0 s3-0) - ) - (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 1) - (set-vector! (-> s3-1 local-sphere) 0.0 9830.4 0.0 3072.0) - (append-prim s4-0 s3-1) - ) - (let ((s3-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 1)))) - (set! (-> s3-2 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-2 collide-with) (the-as uint 16)) - (set! (-> s3-2 prim-core offense) 2) - (set! (-> s3-2 transform-index) 6) - (set-vector! (-> s3-2 local-sphere) 0.0 0.0 0.0 2048.0) - (append-prim s4-0 s3-2) - ) - ) - (set! (-> s5-0 nav-radius) 6144.0) - (backup-collide-with-as s5-0) - (set! (-> s5-0 max-iteration-count) (the-as uint 2)) - (set! (-> obj collide-info) s5-0) - ) 0 (none) ) @@ -1200,8 +807,8 @@ ;; definition for method 10 of type yeti-slave (defmethod deactivate yeti-slave ((obj yeti-slave)) (if (nonzero? (-> obj part2)) - (kill-and-free-particles (-> obj part2)) - ) + (kill-and-free-particles (-> obj part2)) + ) ((method-of-type process-drawable deactivate) obj) (none) ) @@ -1210,34 +817,17 @@ ;; INFO: Return type mismatch nav-enemy vs yeti-slave. (defmethod relocate yeti-slave ((obj yeti-slave) (arg0 int)) (if (nonzero? (-> obj part2)) - (&+! (-> obj part2) arg0) - ) - (the-as - yeti-slave - ((the-as - (function nav-enemy int nav-enemy) - (find-parent-method yeti-slave 7) - ) - obj - arg0 - ) - ) + (&+! (-> obj part2) arg0) + ) + (the-as yeti-slave ((the-as (function nav-enemy int nav-enemy) (find-parent-method yeti-slave 7)) obj arg0)) ) ;; definition for function yeti-slave-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - yeti-slave-init-by-other yeti-slave - ((arg0 entity) (arg1 yeti) (arg2 vector) (arg3 vector) (arg4 symbol)) - (set! - (-> self part) - (create-launch-control (-> *part-group-id-table* 538) self) - ) - (set! - (-> self part2) - (create-launch-control (-> *part-group-id-table* 539) self) - ) +(defbehavior yeti-slave-init-by-other yeti-slave ((arg0 entity) (arg1 yeti) (arg2 vector) (arg3 vector) (arg4 symbol)) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 538) self)) + (set! (-> self part2) (create-launch-control (-> *part-group-id-table* 539) self)) (initialize-collision self) (set! (-> self collide-info trans quad) (-> arg2 quad)) (vector-identity! (-> self collide-info scale)) @@ -1245,73 +835,62 @@ (set! (-> self entity) (-> arg1 entity)) (TODO-RENAME-48 self) (if arg4 - (go-virtual nav-enemy-idle) - (go yeti-slave-appear-jump-up) - ) + (go-virtual nav-enemy-idle) + (go yeti-slave-appear-jump-up) + ) (none) ) ;; definition for method 21 of type yeti (defmethod aggro? yeti ((obj yeti) (arg0 vector)) (let ((s5-0 (the-as (pointer process-tree) (-> obj child-process)))) - (while s5-0 - (if - (< - (vector-vector-xz-distance-squared - arg0 - (-> (the-as (pointer yeti-slave) s5-0) 0 collide-info trans) - ) - 603979800.0 + (while s5-0 + (if (< (vector-vector-xz-distance-squared arg0 (-> (the-as (pointer yeti-slave) s5-0) 0 collide-info trans)) + 603979800.0 + ) + (return #f) + ) + (set! s5-0 (-> s5-0 0 brother)) ) - (return #f) - ) - (set! s5-0 (-> s5-0 0 brother)) ) - ) (when *target* - (if (< (vector-vector-xz-distance-squared arg0 (target-pos 0)) 603979800.0) - (return #f) + (if (< (vector-vector-xz-distance-squared arg0 (target-pos 0)) 603979800.0) + (return #f) + ) ) - ) #t ) ;; definition for method 20 of type yeti (defmethod TODO-RENAME-20 yeti ((obj yeti) (arg0 vector) (arg1 vector)) (let ((s3-0 (-> obj path curve num-cverts))) - (if (<= s3-0 0) - (return #f) - ) - (let ((s1-0 (rand-vu-int-count s3-0)) - (s2-0 s3-0) - ) - (while (> s2-0 0) - (eval-path-curve-div! (-> obj path) arg0 (the float s1-0) 'interp) - (when (aggro? obj arg0) - (cond - (*target* - (vector-! arg1 (target-pos 0) arg0) - (set! (-> arg1 y) 0.0) + (if (<= s3-0 0) + (return #f) ) - (else - (set-vector! - arg1 - (rand-vu-float-range -4096.0 4096.0) - 0.0 - (rand-vu-float-range -4096.0 4096.0) - 1.0 - ) - (set! (-> arg1 x) (+ 409.6 (-> arg1 x))) + (let ((s1-0 (rand-vu-int-count s3-0)) + (s2-0 s3-0) + ) + (while (> s2-0 0) + (eval-path-curve-div! (-> obj path) arg0 (the float s1-0) 'interp) + (when (aggro? obj arg0) + (cond + (*target* + (vector-! arg1 (target-pos 0) arg0) + (set! (-> arg1 y) 0.0) + ) + (else + (set-vector! arg1 (rand-vu-float-range -4096.0 4096.0) 0.0 (rand-vu-float-range -4096.0 4096.0) 1.0) + (set! (-> arg1 x) (+ 409.6 (-> arg1 x))) + ) + ) + (vector-normalize! arg1 1.0) + (return #t) + ) + (set! s1-0 (mod (+ s1-0 1) s3-0)) + (+! s2-0 -1) ) - ) - (vector-normalize! arg1 1.0) - (return #t) ) - (set! s1-0 (mod (+ s1-0 1) s3-0)) - (+! s2-0 -1) - ) ) - ) #f ) @@ -1319,139 +898,105 @@ (defstate yeti-first-time-start (yeti) :code (behavior () - (while #t - (when *target* - (when - (>= - (-> self first-time-spawn-dist) - (vector-vector-xz-distance (target-pos 0) (-> self root trans)) - ) - (process-entity-status! self (entity-perm-status complete) #t) - (go yeti-idle) + (while #t + (when *target* + (when (>= (-> self first-time-spawn-dist) (vector-vector-xz-distance (target-pos 0) (-> self root trans))) + (process-entity-status! self (entity-perm-status complete) #t) + (go yeti-idle) + ) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate yeti-resuming-start (yeti) :code (behavior () - (let ((gp-0 0)) - (let ((v1-0 (the-as (pointer process-tree) (-> self child-process)))) - (while v1-0 - (+! gp-0 1) - (set! v1-0 (-> v1-0 0 brother)) - (nop!) - (nop!) - ) - ) - (while (< gp-0 (-> self desired-num-children)) - (let ((s5-0 (new 'stack-no-clear 'vector)) - (s4-0 (new 'stack-no-clear 'vector)) - ) - (if (not (TODO-RENAME-20 self s5-0 s4-0)) - (go yeti-idle) - ) - (let ((s3-0 (get-process *default-dead-pool* yeti-slave #x4000))) - (when s3-0 - (let ((t9-3 (method-of-type yeti-slave activate))) - (t9-3 - (the-as yeti-slave s3-0) - self - 'yeti-slave - (the-as pointer #x70004000) + (let ((gp-0 0)) + (let ((v1-0 (the-as (pointer process-tree) (-> self child-process)))) + (while v1-0 + (+! gp-0 1) + (set! v1-0 (-> v1-0 0 brother)) + (nop!) + (nop!) ) - ) - (run-now-in-process - s3-0 - yeti-slave-init-by-other - (-> self entity) - self - s5-0 - s4-0 - #t - ) - (-> s3-0 ppointer) ) - ) + (while (< gp-0 (-> self desired-num-children)) + (let ((s5-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (if (not (TODO-RENAME-20 self s5-0 s4-0)) + (go yeti-idle) + ) + (let ((s3-0 (get-process *default-dead-pool* yeti-slave #x4000))) + (when s3-0 + (let ((t9-3 (method-of-type yeti-slave activate))) + (t9-3 (the-as yeti-slave s3-0) self 'yeti-slave (the-as pointer #x70004000)) + ) + (run-now-in-process s3-0 yeti-slave-init-by-other (-> self entity) self s5-0 s4-0 #t) + (-> s3-0 ppointer) + ) + ) + ) + (+! gp-0 1) + ) ) - (+! gp-0 1) - ) + (go yeti-idle) + (none) ) - (go yeti-idle) - (none) - ) ) ;; failed to figure out what this is: (defstate yeti-idle (yeti) :code (behavior () - (while #t - (cond - ((zero? (-> self spawn-delay)) - (let ((v1-1 0)) - (let ((a0-0 (the-as (pointer process-tree) (-> self child-process)))) - (while a0-0 - (+! v1-1 1) - (set! a0-0 (-> a0-0 0 brother)) - (nop!) - (nop!) - ) - ) - (when (< v1-1 (-> self desired-num-children)) - (set! (-> self spawn-delay) (rand-vu-int-range 150 1200)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - ) - ) - ) - (else - (when - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (-> self spawn-delay) - ) - (let ((gp-0 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'vector)) + (while #t + (cond + ((zero? (-> self spawn-delay)) + (let ((v1-1 0)) + (let ((a0-0 (the-as (pointer process-tree) (-> self child-process)))) + (while a0-0 + (+! v1-1 1) + (set! a0-0 (-> a0-0 0 brother)) + (nop!) + (nop!) + ) ) - (when (TODO-RENAME-20 self gp-0 s5-0) - (let ((s4-0 (get-process *default-dead-pool* yeti-slave #x4000))) - (when s4-0 - (let ((t9-3 (method-of-type yeti-slave activate))) - (t9-3 - (the-as yeti-slave s4-0) - self - 'yeti-slave - (the-as pointer #x70004000) + (when (< v1-1 (-> self desired-num-children)) + (set! (-> self spawn-delay) (rand-vu-int-range 150 1200)) + (set! (-> self state-time) (-> *display* base-frame-counter)) ) - ) - (run-now-in-process - s4-0 - yeti-slave-init-by-other - (-> self entity) - self - gp-0 - s5-0 - #f - ) - (-> s4-0 ppointer) ) - ) - (set! (-> self spawn-delay) 0) - 0 ) + (else + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (-> self spawn-delay)) + (let ((gp-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'vector)) + ) + (when (TODO-RENAME-20 self gp-0 s5-0) + (let ((s4-0 (get-process *default-dead-pool* yeti-slave #x4000))) + (when s4-0 + (let ((t9-3 (method-of-type yeti-slave activate))) + (t9-3 (the-as yeti-slave s4-0) self 'yeti-slave (the-as pointer #x70004000)) + ) + (run-now-in-process s4-0 yeti-slave-init-by-other (-> self entity) self gp-0 s5-0 #f) + (-> s4-0 ppointer) + ) + ) + (set! (-> self spawn-delay) 0) + 0 + ) + ) + ) + ) ) - ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition for method 11 of type yeti @@ -1461,27 +1006,13 @@ (set! (-> obj root) (new 'process 'trsqv)) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) (process-drawable-from-entity! obj arg0) - (set! - (-> obj desired-num-children) - (res-lump-value - arg0 - 'num-lurkers - int - :default - (the-as uint128 (-> obj path curve num-cverts)) - ) - ) - (set! - (-> obj first-time-spawn-dist) - (res-lump-float arg0 'notice-dist :default 204800.0) - ) - (if - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - (go yeti-resuming-start) - (go yeti-first-time-start) - ) + (set! (-> obj desired-num-children) + (res-lump-value arg0 'num-lurkers int :default (the-as uint128 (-> obj path curve num-cverts))) + ) + (set! (-> obj first-time-spawn-dist) (res-lump-float arg0 'notice-dist :default 204800.0)) + (if (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + (go yeti-resuming-start) + (go yeti-first-time-start) + ) (none) ) diff --git a/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc b/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc index 603b1851b1..d6bb2b2fe5 100644 --- a/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc +++ b/test/decompiler/reference/levels/sunken/floating-launcher_REF.gc @@ -20,8 +20,8 @@ ;; definition for method 3 of type floating-launcher (defmethod inspect floating-launcher ((obj floating-launcher)) (let ((t9-0 (method-of-type baseplat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttrigger-height: ~f~%" (-> obj trigger-height)) (format #t "~T~Tlauncher: #x~X~%" (-> obj launcher)) obj @@ -39,45 +39,30 @@ ;; failed to figure out what this is: (defstate floating-launcher-idle (floating-launcher) :event - (the-as - (function process int symbol event-message-block object :behavior floating-launcher) - plat-event - ) + (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) :trans (behavior () - (plat-trans) - (when - (< - (vector-xz-length - (vector-! - (new 'stack-no-clear 'vector) - (target-pos 0) - (-> self root-override trans) - ) + (plat-trans) + (when (< (vector-xz-length (vector-! (new 'stack-no-clear 'vector) (target-pos 0) (-> self root-override trans))) + 81920.0 + ) + (if (and (>= (-> (target-pos 0) y) (-> self trigger-height)) (logtest? (-> *target* control status) 2)) + (go floating-launcher-lowering) + ) ) - 81920.0 - ) - (if - (and - (>= (-> (target-pos 0) y) (-> self trigger-height)) - (logtest? (-> *target* control status) 2) - ) - (go floating-launcher-lowering) - ) + (none) ) - (none) - ) :code (behavior () - (transform-post) - (suspend) - (transform-post) - (suspend) - (while #t + (transform-post) (suspend) + (transform-post) + (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior floating-launcher) plat-post) ) @@ -85,37 +70,31 @@ ;; failed to figure out what this is: (defstate floating-launcher-lowering (floating-launcher) :event - (the-as - (function process int symbol event-message-block object :behavior floating-launcher) - plat-event - ) + (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) :trans (the-as (function none :behavior floating-launcher) plat-trans) :code (behavior () - (let ((a0-1 (entity-actor-lookup (-> self entity) 'alt-actor 0))) - (if a0-1 - (entity-birth-no-kill a0-1) - ) - ) - (let ((f30-0 1.0)) - (while (!= f30-0 0.0) - (set! f30-0 (seek f30-0 0.0 (-> *display* seconds-per-frame))) - (eval-path-curve-div! (-> self path) (-> self basetrans) f30-0 'interp) - (set! - (-> self launcher 0 root-override trans quad) - (-> self basetrans quad) + (let ((a0-1 (entity-actor-lookup (-> self entity) 'alt-actor 0))) + (if a0-1 + (entity-birth-no-kill a0-1) + ) ) - (dummy-47 (-> self launcher 0 root-override)) - (suspend) - ) + (let ((f30-0 1.0)) + (while (!= f30-0 0.0) + (set! f30-0 (seek f30-0 0.0 (-> *display* seconds-per-frame))) + (eval-path-curve-div! (-> self path) (-> self basetrans) f30-0 'interp) + (set! (-> self launcher 0 root-override trans quad) (-> self basetrans quad)) + (dummy-47 (-> self launcher 0 root-override)) + (suspend) + ) + ) + (eval-path-curve-div! (-> self path) (-> self basetrans) 0.0 'interp) + (set! (-> self launcher 0 root-override trans quad) (-> self basetrans quad)) + (dummy-47 (-> self launcher 0 root-override)) + (go floating-launcher-ready) + (none) ) - (eval-path-curve-div! (-> self path) (-> self basetrans) 0.0 'interp) - (set! (-> self launcher 0 root-override trans quad) (-> self basetrans quad)) - (dummy-47 (-> self launcher 0 root-override)) - (go floating-launcher-ready) - (none) - ) :post (the-as (function none :behavior floating-launcher) plat-post) ) @@ -123,10 +102,7 @@ ;; failed to figure out what this is: (defstate floating-launcher-ready (floating-launcher) :event - (the-as - (function process int symbol event-message-block object :behavior floating-launcher) - plat-event - ) + (the-as (function process int symbol event-message-block object :behavior floating-launcher) plat-event) :trans (the-as (function none :behavior floating-launcher) plat-trans) :code @@ -137,95 +113,48 @@ ;; definition for method 11 of type floating-launcher ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - floating-launcher - ((obj floating-launcher) (arg0 entity-actor)) +(defmethod init-from-entity! floating-launcher ((obj floating-launcher) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 11468.8) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 11468.8) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (eval-path-curve-div! (-> obj path) (-> obj root-override trans) 1.0 'interp) (let ((f30-0 (res-lump-float arg0 'spring-height :default 163840.0)) (s4-1 (get-process *default-dead-pool* launcher #x4000)) ) - (set! (-> obj launcher) (the-as (pointer launcher) (when s4-1 - (let - ((t9-11 - (method-of-type - launcher - activate - ) - ) - ) - (t9-11 - (the-as launcher s4-1) - obj - 'launcher - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s4-1 - launcher-init-by-other - (-> - obj - root-override - trans - ) - f30-0 - 0 - 81920.0 - ) - (-> s4-1 ppointer) - ) - ) + (set! (-> obj launcher) + (the-as + (pointer launcher) + (when s4-1 + (let ((t9-11 (method-of-type launcher activate))) + (t9-11 (the-as launcher s4-1) obj 'launcher (the-as pointer #x70004000)) + ) + (run-now-in-process s4-1 launcher-init-by-other (-> obj root-override trans) f30-0 0 81920.0) + (-> s4-1 ppointer) + ) + ) + ) ) - ) (initialize-skeleton obj *floating-launcher-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) diff --git a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc index bab042bc38..e0106d7fe4 100644 --- a/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/qbert-plat_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type qbert-plat-on (defmethod inspect qbert-plat-on ((obj qbert-plat-on)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -44,8 +44,8 @@ ;; definition for method 3 of type qbert-plat (defmethod inspect qbert-plat ((obj qbert-plat)) (let ((t9-0 (method-of-type rigid-body-platform inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tanchor-point: #~%" (-> obj anchor-point)) (format #t "~T~Tplat-id: ~D~%" (-> obj plat-id)) (format #t "~T~Ton?: ~A~%" (-> obj on?)) @@ -64,33 +64,31 @@ ) ;; definition for symbol *qbert-plat-constants*, type rigid-body-platform-constants -(define - *qbert-plat-constants* - (new 'static 'rigid-body-platform-constants - :drag-factor 2.0 - :buoyancy-factor 1.5 - :max-buoyancy-depth (meters 1.0) - :gravity-factor 1.0 - :gravity (meters 80.0) - :player-weight (meters 35.0) - :player-bonk-factor 1.0 - :player-dive-factor 1.0 - :player-force-distance (meters 1000.0) - :player-force-clamp (meters 1000000.0) - :player-force-timeout #x1e - :explosion-force (meters 1000.0) - :linear-damping 1.0 - :angular-damping 1.0 - :control-point-count 4 - :mass 4.0 - :inertial-tensor-x (meters 4.0) - :inertial-tensor-y (meters 4.0) - :inertial-tensor-z (meters 4.0) - :idle-distance (meters 70.0) - :platform #t - :sound-name #f - ) - ) +(define *qbert-plat-constants* (new 'static 'rigid-body-platform-constants + :drag-factor 2.0 + :buoyancy-factor 1.5 + :max-buoyancy-depth (meters 1.0) + :gravity-factor 1.0 + :gravity (meters 80.0) + :player-weight (meters 35.0) + :player-bonk-factor 1.0 + :player-dive-factor 1.0 + :player-force-distance (meters 1000.0) + :player-force-clamp (meters 1000000.0) + :player-force-timeout #x1e + :explosion-force (meters 1000.0) + :linear-damping 1.0 + :angular-damping 1.0 + :control-point-count 4 + :mass 4.0 + :inertial-tensor-x (meters 4.0) + :inertial-tensor-y (meters 4.0) + :inertial-tensor-z (meters 4.0) + :idle-distance (meters 70.0) + :platform #t + :sound-name #f + ) + ) ;; definition of type qbert-plat-master (deftype qbert-plat-master (process-drawable) @@ -118,15 +116,11 @@ ;; definition for method 3 of type qbert-plat-master (defmethod inspect qbert-plat-master ((obj qbert-plat-master)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tlast-plat-triggered: ~D~%" (-> obj last-plat-triggered)) (format #t "~T~Tplat-states: ~D~%" (-> obj plat-states)) - (format - #t - "~T~Tplat-states-needed-to-open-door: ~D~%" - (-> obj plat-states-needed-to-open-door) - ) + (format #t "~T~Tplat-states-needed-to-open-door: ~D~%" (-> obj plat-states-needed-to-open-door)) (format #t "~T~Tplayer-in-bounds?: ~A~%" (-> obj player-in-bounds?)) (format #t "~T~Tplayer-in-water?: ~A~%" (-> obj player-in-water?)) (format #t "~T~Tplay-door-cam?: ~A~%" (-> obj play-door-cam?)) @@ -141,35 +135,32 @@ ;; failed to figure out what this is: (defstate qbert-plat-on-mimic (qbert-plat) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('die) - (go qbert-plat-on-die) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('die) + (go qbert-plat-on-die) + ) + ) + ) :code (behavior () - (set-vector! (-> self draw color-emissive) 0.0 0.0 1.0 0.0) - (while #t - (let ((gp-0 (-> self parent))) - (set! - (-> self root-overlay trans quad) - (-> (the-as (pointer rigid-body-platform) gp-0) 0 root-overlay trans quad) + (set-vector! (-> self draw color-emissive) 0.0 0.0 1.0 0.0) + (while #t + (let ((gp-0 (-> self parent))) + (set! (-> self root-overlay trans quad) + (-> (the-as (pointer rigid-body-platform) gp-0) 0 root-overlay trans quad) + ) + (quaternion-copy! + (-> self root-overlay quat) + (-> (the-as (pointer rigid-body-platform) gp-0) 0 root-overlay quat) + ) + (set! (-> self root-overlay scale quad) + (-> (the-as (pointer rigid-body-platform) gp-0) 0 root-overlay scale quad) + ) + ) + (suspend) ) - (quaternion-copy! - (-> self root-overlay quat) - (-> (the-as (pointer rigid-body-platform) gp-0) 0 root-overlay quat) - ) - (set! - (-> self root-overlay scale quad) - (-> (the-as (pointer rigid-body-platform) gp-0) 0 root-overlay scale quad) - ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior qbert-plat) ja-post) ) @@ -177,24 +168,16 @@ ;; failed to figure out what this is: (defstate qbert-plat-on-die (qbert-plat) :code - (behavior () - '() - (none) - ) + (behavior () '() (none)) ) ;; definition for function qbert-plat-on-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - qbert-plat-on-init-by-other qbert-plat - ((arg0 entity) (arg1 qbert-plat)) +(defbehavior qbert-plat-on-init-by-other qbert-plat ((arg0 entity) (arg1 qbert-plat)) (set! (-> self entity) arg0) (set! (-> self mask) (logior (process-mask platform) (-> self mask))) - (set! - (-> self root-overlay) - (the-as collide-shape-moving (new 'process 'trsqv)) - ) + (set! (-> self root-overlay) (the-as collide-shape-moving (new 'process 'trsqv))) (set! (-> self root-overlay trans quad) (-> arg1 root-overlay trans quad)) (quaternion-copy! (-> self root-overlay quat) (-> arg1 root-overlay quat)) (set! (-> self root-overlay scale quad) (-> arg1 root-overlay scale quad)) @@ -202,138 +185,103 @@ (logior! (-> self skel status) 1) (ja-channel-set! 1) (let ((gp-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-identity + (joint-control-channel-group-eval! + gp-1 + (the-as art-joint-anim (-> self draw art-group data 2)) + num-func-identity + ) + (set! (-> gp-1 frame-num) 0.0) ) - (set! (-> gp-1 frame-num) 0.0) - ) (go qbert-plat-on-mimic) (none) ) ;; definition for function qbert-plat-event-handler -(defbehavior - qbert-plat-event-handler qbert-plat - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('notify) +(defbehavior qbert-plat-event-handler qbert-plat ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('notify) (dummy-32 self) ) - (else - (rigid-body-platform-event-handler arg0 arg1 arg2 arg3) + (else + (rigid-body-platform-event-handler arg0 arg1 arg2 arg3) + ) ) - ) ) ;; definition for method 33 of type qbert-plat (defmethod dummy-33 qbert-plat ((obj qbert-plat)) (let* ((a1-0 (-> obj master)) (v1-0 (if a1-0 - (-> a1-0 extra process) - ) - ) + (-> a1-0 extra process) + ) + ) ) - (if v1-0 - (send-event v1-0 'trigger (-> obj plat-id)) + (if v1-0 + (send-event v1-0 'trigger (-> obj plat-id)) + ) ) - ) ) ;; definition for method 32 of type qbert-plat (defmethod dummy-32 qbert-plat ((obj qbert-plat)) (let* ((v1-0 (-> obj master)) (a0-1 (if v1-0 - (-> v1-0 extra process) + (-> v1-0 extra process) + ) + ) + ) + (when (the-as qbert-plat-master a0-1) + (let ((v1-3 (plat-state-set? (the-as qbert-plat-master a0-1) (the-as uint (-> obj plat-id))))) + (when (!= v1-3 (-> obj on?)) + (set! (-> obj on?) v1-3) + (cond + (v1-3 + (let ((s5-0 (get-process *default-dead-pool* qbert-plat-on #x4000))) + (when s5-0 + (let ((t9-2 (method-of-type qbert-plat-on activate))) + (t9-2 (the-as qbert-plat-on s5-0) obj 'qbert-plat-on (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 qbert-plat-on-init-by-other (-> obj entity) obj) + (-> s5-0 ppointer) + ) ) - ) - ) - (when (the-as qbert-plat-master a0-1) - (let - ((v1-3 - (plat-state-set? - (the-as qbert-plat-master a0-1) - (the-as uint (-> obj plat-id)) - ) - ) - ) - (when (!= v1-3 (-> obj on?)) - (set! (-> obj on?) v1-3) - (cond - (v1-3 - (let ((s5-0 (get-process *default-dead-pool* qbert-plat-on #x4000))) - (when s5-0 - (let ((t9-2 (method-of-type qbert-plat-on activate))) - (t9-2 - (the-as qbert-plat-on s5-0) - obj - 'qbert-plat-on - (the-as pointer #x70004000) + (sound-play-by-name (static-sound-name "plat-light-on") (new-sound-id) 1024 0 0 1 #t) + ) + (else + (let ((gp-2 (-> obj child))) + (while gp-2 + (send-event (ppointer->process gp-2) 'die) + (set! gp-2 (-> gp-2 0 brother)) + ) + ) + (sound-play-by-name (static-sound-name "plat-light-off") (new-sound-id) 1024 0 0 1 #t) + ) ) - ) - (run-now-in-process - s5-0 - qbert-plat-on-init-by-other - (-> obj entity) - obj - ) - (-> s5-0 ppointer) ) - ) - (sound-play-by-name - (static-sound-name "plat-light-on") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) ) - (else - (let ((gp-2 (-> obj child))) - (while gp-2 - (send-event (ppointer->process gp-2) 'die) - (set! gp-2 (-> gp-2 0 brother)) - ) - ) - (sound-play-by-name - (static-sound-name "plat-light-off") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - ) ) - ) ) - ) ) ;; failed to figure out what this is: (defstate qbert-plat-wait-for-master (qbert-plat) :code (behavior () - (while #t - (let ((v1-0 (-> self master))) - (when (if v1-0 - (-> v1-0 extra process) - ) + (while #t + (let ((v1-0 (-> self master))) + (when (if v1-0 + (-> v1-0 extra process) + ) + (suspend) + (dummy-32 self) + (go-virtual rigid-body-platform-idle) + ) + ) (suspend) - (dummy-32 self) - (go-virtual rigid-body-platform-idle) + 0 ) - ) - (suspend) - 0 + (none) ) - (none) - ) :post (the-as (function none :behavior qbert-plat) ja-post) ) @@ -345,11 +293,11 @@ qbert-plat-event-handler :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior qbert-plat) ja-post) ) @@ -361,68 +309,53 @@ qbert-plat-event-handler :exit (behavior () - (if (-> self on?) - (logior! (-> self draw status) 2) + (if (-> self on?) + (logior! (-> self draw status) 2) + ) + (none) ) - (none) - ) :trans (behavior () - (set! (-> self draw status) (logand -3 (-> self draw status))) - ((-> (method-of-type rigid-body-platform rigid-body-platform-float) trans)) - (let* ((v1-5 (-> self root-overlay riders)) - (gp-1 (nonzero? (-> v1-5 num-riders))) - ) - (when gp-1 - (if (not (-> self player-is-riding?)) - (dummy-33 self) + (set! (-> self draw status) (logand -3 (-> self draw status))) + ((-> (method-of-type rigid-body-platform rigid-body-platform-float) trans)) + (let* ((v1-5 (-> self root-overlay riders)) + (gp-1 (nonzero? (-> v1-5 num-riders))) + ) + (when gp-1 + (if (not (-> self player-is-riding?)) + (dummy-33 self) + ) + ) + (set! (-> self player-is-riding?) gp-1) ) - ) - (set! (-> self player-is-riding?) gp-1) + (none) ) - (none) - ) :post (behavior () - ((the-as - (function none :behavior qbert-plat) - (-> (method-of-type rigid-body-platform rigid-body-platform-float) post) + ((the-as + (function none :behavior qbert-plat) + (-> (method-of-type rigid-body-platform rigid-body-platform-float) post) + ) ) + (if (-> self on?) + (logior! (-> self draw status) 2) + ) + (none) ) - (if (-> self on?) - (logior! (-> self draw status) 2) - ) - (none) - ) ) ;; definition for method 22 of type qbert-plat -(defmethod - TODO-RENAME-22 - qbert-plat - ((obj qbert-plat) (arg0 vector) (arg1 float)) - (+ - (-> obj anchor-point y) - (-> obj float-height-offset) - (* - 512.0 - (cos - (* 546.13336 (+ (* 60.0 arg1) (* 0.03 (-> arg0 x)) (* 0.03 (-> arg0 z)))) +(defmethod TODO-RENAME-22 qbert-plat ((obj qbert-plat) (arg0 vector) (arg1 float)) + (+ (-> obj anchor-point y) + (-> obj float-height-offset) + (* 512.0 (cos (* 546.13336 (+ (* 60.0 arg1) (* 0.03 (-> arg0 x)) (* 0.03 (-> arg0 z)))))) ) - ) - ) ) ;; definition for method 23 of type qbert-plat ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-23 qbert-plat ((obj qbert-plat) (arg0 float)) - ((the-as - (function rigid-body-platform float none) - (find-parent-method qbert-plat 23) - ) - obj - arg0 - ) + ((the-as (function rigid-body-platform float none) (find-parent-method qbert-plat 23)) obj arg0) (TODO-RENAME-27 obj (-> obj anchor-point)) 0 (none) @@ -431,44 +364,26 @@ ;; definition for method 30 of type qbert-plat ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-30 qbert-plat ((obj qbert-plat)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 -8192.0 0.0 18432.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 -8192.0 0.0 18432.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-overlay) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-overlay) s5-0) - ) 0 (none) ) @@ -484,29 +399,29 @@ (TODO-RENAME-29 obj *qbert-plat-constants*) (set! (-> obj float-height-offset) 6144.0) (let ((v1-11 (-> obj control-point-array data))) - (set! (-> v1-11 0 local-pos x) -14336.0) - (set! (-> v1-11 0 local-pos y) 0.0) - (set! (-> v1-11 0 local-pos z) -14336.0) - (set! (-> v1-11 0 local-pos w) 1.0) - ) + (set! (-> v1-11 0 local-pos x) -14336.0) + (set! (-> v1-11 0 local-pos y) 0.0) + (set! (-> v1-11 0 local-pos z) -14336.0) + (set! (-> v1-11 0 local-pos w) 1.0) + ) (let ((v1-13 (-> obj control-point-array data 1))) - (set! (-> v1-13 local-pos x) -14336.0) - (set! (-> v1-13 local-pos y) 0.0) - (set! (-> v1-13 local-pos z) 14336.0) - (set! (-> v1-13 local-pos w) 1.0) - ) + (set! (-> v1-13 local-pos x) -14336.0) + (set! (-> v1-13 local-pos y) 0.0) + (set! (-> v1-13 local-pos z) 14336.0) + (set! (-> v1-13 local-pos w) 1.0) + ) (let ((v1-15 (-> obj control-point-array data 2))) - (set! (-> v1-15 local-pos x) 14336.0) - (set! (-> v1-15 local-pos y) 0.0) - (set! (-> v1-15 local-pos z) 14336.0) - (set! (-> v1-15 local-pos w) 1.0) - ) + (set! (-> v1-15 local-pos x) 14336.0) + (set! (-> v1-15 local-pos y) 0.0) + (set! (-> v1-15 local-pos z) 14336.0) + (set! (-> v1-15 local-pos w) 1.0) + ) (let ((v1-17 (-> obj control-point-array data 3))) - (set! (-> v1-17 local-pos x) 14336.0) - (set! (-> v1-17 local-pos y) 0.0) - (set! (-> v1-17 local-pos z) -14336.0) - (set! (-> v1-17 local-pos w) 1.0) - ) + (set! (-> v1-17 local-pos x) 14336.0) + (set! (-> v1-17 local-pos y) 0.0) + (set! (-> v1-17 local-pos z) -14336.0) + (set! (-> v1-17 local-pos w) 1.0) + ) (set! (-> obj on?) #f) (set! (-> obj player-is-riding?) #f) (set! (-> obj master) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) @@ -528,10 +443,7 @@ ) ;; definition for method 20 of type qbert-plat-master -(defmethod - plat-state-set? - qbert-plat-master - ((obj qbert-plat-master) (arg0 uint)) +(defmethod plat-state-set? qbert-plat-master ((obj qbert-plat-master) (arg0 uint)) (logtest? (-> obj plat-states) (ash 1 arg0)) ) @@ -539,412 +451,397 @@ (defstate qbert-plat-master-idle (qbert-plat-master) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (start-hint-timer (game-text-id sunken-qbert-plat-hint)) - (close-specific-task! - (game-task sunken-platforms) - (task-status need-hint) - ) - (when (not (-> self puzzle-beaten?)) - (let ((v1-2 (-> arg3 param 0))) - (when (!= v1-2 (-> self last-plat-triggered)) - (set! (-> self last-plat-triggered) (the-as int v1-2)) - (let - ((s5-1 - (= (-> self plat-states-needed-to-open-door) (-> self plat-states)) - ) - ) - (let ((v1-3 (ash 1 v1-2))) - (set! - (-> self plat-states) - (logxor (-> self plat-states) (the-as uint v1-3)) - ) - (if (zero? (logand v1-3 (-> self plat-states))) - (level-hint-spawn - (game-text-id sunken-qbert-plat-hint) - "sksp0130" - (the-as entity #f) - *entity-pool* - (game-task none) + (case arg2 + (('trigger) + (start-hint-timer (game-text-id sunken-qbert-plat-hint)) + (close-specific-task! (game-task sunken-platforms) (task-status need-hint)) + (when (not (-> self puzzle-beaten?)) + (let ((v1-2 (-> arg3 param 0))) + (when (!= v1-2 (-> self last-plat-triggered)) + (set! (-> self last-plat-triggered) (the-as int v1-2)) + (let ((s5-1 (= (-> self plat-states-needed-to-open-door) (-> self plat-states)))) + (let ((v1-3 (ash 1 v1-2))) + (set! (-> self plat-states) (logxor (-> self plat-states) (the-as uint v1-3))) + (if (zero? (logand v1-3 (-> self plat-states))) + (level-hint-spawn + (game-text-id sunken-qbert-plat-hint) + "sksp0130" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ) + (send-event arg0 'notify) + (let ((a0-13 (= (-> self plat-states-needed-to-open-door) (-> self plat-states)))) + (if (!= s5-1 a0-13) + (go qbert-plat-master-do-door a0-13) + ) + ) + ) ) - ) ) - (send-event arg0 'notify) - (let - ((a0-13 - (= (-> self plat-states-needed-to-open-door) (-> self plat-states)) - ) - ) - (if (!= s5-1 a0-13) - (go qbert-plat-master-do-door a0-13) - ) - ) - ) ) - ) ) ) ) - ) :code (behavior () - (while #t - (when (not (-> self puzzle-beaten?)) - (when (task-complete? *game-info* (game-task sunken-platforms)) - (set! (-> self puzzle-beaten?) #t) - (set! (-> self plat-states) (-> self plat-states-needed-to-open-door)) - (set! (-> self play-door-cam?) #f) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'trigger) - (let ((t9-1 send-event-function) - (v1-8 (-> self door)) - ) - (t9-1 (if v1-8 - (-> v1-8 extra process) - ) - a1-1 - ) - ) - ) - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 0) - (set! (-> a1-2 message) 'trigger) - (let ((t9-2 send-event-function) - (v1-12 (-> self door-plat)) - ) - (t9-2 (if v1-12 - (-> v1-12 extra process) - ) - a1-2 - ) - ) - ) - (send-to-all (-> self link) 'notify) - ) - ) - (when (and *target* (not (-> self puzzle-beaten?))) - (let ((gp-0 #f)) - (let ((s5-1 (logtest? (-> *target* water flags) 512))) - (when s5-1 - (when (not (-> self player-in-water?)) - (set! gp-0 #t) - (level-hint-spawn - (game-text-id sunken-qbert-plat-hint) - "sksp0130" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - ) - (set! (-> self player-in-water?) s5-1) - ) - (when (logtest? (-> *target* control status) 1) - (let ((s5-2 #t)) - (let ((s3-0 (new 'stack-no-clear 'vector)) - (s4-0 (new 'stack-no-clear 'vector)) - ) - (vector-! s3-0 (target-pos 0) (-> self bounds-start)) - (set! (-> s3-0 y) 0.0) - (vector-! s4-0 (-> self bounds-end) (-> self bounds-start)) - (if (< (vector-dot s3-0 s4-0) 0.0) - (set! s5-2 #f) - ) - ) - (when (and (not s5-2) (-> self player-in-bounds?)) - (set! gp-0 #t) - (level-hint-spawn - (game-text-id sunken-qbert-plat-hint) - "sksp0130" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - (set! (-> self player-in-bounds?) s5-2) - ) - ) - (when gp-0 - (set! (-> self plat-states) (the-as uint 0)) - (set! (-> self last-plat-triggered) -1) - (send-to-all (-> self link) 'notify) - (let ((a1-9 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-9 from) self) - (set! (-> a1-9 num-params) 0) - (set! (-> a1-9 message) 'untrigger) - (let ((t9-8 send-event-function) - (v1-47 (-> self door)) - ) - (t9-8 (if v1-47 - (-> v1-47 extra process) + (while #t + (when (not (-> self puzzle-beaten?)) + (when (task-complete? *game-info* (game-task sunken-platforms)) + (set! (-> self puzzle-beaten?) #t) + (set! (-> self plat-states) (-> self plat-states-needed-to-open-door)) + (set! (-> self play-door-cam?) #f) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'trigger) + (let ((t9-1 send-event-function) + (v1-8 (-> self door)) + ) + (t9-1 + (if v1-8 + (-> v1-8 extra process) + ) + a1-1 ) - a1-9 - ) - ) - ) - (let ((a1-10 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-10 from) self) - (set! (-> a1-10 num-params) 0) - (set! (-> a1-10 message) 'untrigger) - (let ((t9-9 send-event-function) - (v1-51 (-> self door-plat)) ) - (t9-9 (if v1-51 - (-> v1-51 extra process) + ) + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'trigger) + (let ((t9-2 send-event-function) + (v1-12 (-> self door-plat)) + ) + (t9-2 + (if v1-12 + (-> v1-12 extra process) + ) + a1-2 ) - a1-10 + ) + ) + (send-to-all (-> self link) 'notify) ) - ) ) - ) + (when (and *target* (not (-> self puzzle-beaten?))) + (let ((gp-0 #f)) + (let ((s5-1 (logtest? (-> *target* water flags) 512))) + (when s5-1 + (when (not (-> self player-in-water?)) + (set! gp-0 #t) + (level-hint-spawn + (game-text-id sunken-qbert-plat-hint) + "sksp0130" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + ) + (set! (-> self player-in-water?) s5-1) + ) + (when (logtest? (-> *target* control status) 1) + (let ((s5-2 #t)) + (let ((s3-0 (new 'stack-no-clear 'vector)) + (s4-0 (new 'stack-no-clear 'vector)) + ) + (vector-! s3-0 (target-pos 0) (-> self bounds-start)) + (set! (-> s3-0 y) 0.0) + (vector-! s4-0 (-> self bounds-end) (-> self bounds-start)) + (if (< (vector-dot s3-0 s4-0) 0.0) + (set! s5-2 #f) + ) + ) + (when (and (not s5-2) (-> self player-in-bounds?)) + (set! gp-0 #t) + (level-hint-spawn + (game-text-id sunken-qbert-plat-hint) + "sksp0130" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + (set! (-> self player-in-bounds?) s5-2) + ) + ) + (when gp-0 + (set! (-> self plat-states) (the-as uint 0)) + (set! (-> self last-plat-triggered) -1) + (send-to-all (-> self link) 'notify) + (let ((a1-9 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-9 from) self) + (set! (-> a1-9 num-params) 0) + (set! (-> a1-9 message) 'untrigger) + (let ((t9-8 send-event-function) + (v1-47 (-> self door)) + ) + (t9-8 + (if v1-47 + (-> v1-47 extra process) + ) + a1-9 + ) + ) + ) + (let ((a1-10 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-10 from) self) + (set! (-> a1-10 num-params) 0) + (set! (-> a1-10 message) 'untrigger) + (let ((t9-9 send-event-function) + (v1-51 (-> self door-plat)) + ) + (t9-9 + (if v1-51 + (-> v1-51 extra process) + ) + a1-10 + ) + ) + ) + ) + ) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate qbert-plat-master-do-door (qbert-plat-master) :code (behavior ((arg0 symbol)) - (when (not (-> self play-door-cam?)) + (when (not (-> self play-door-cam?)) + (cond + (arg0 + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'trigger) + (let ((t9-0 send-event-function) + (v1-3 (-> self door)) + ) + (t9-0 + (if v1-3 + (-> v1-3 extra process) + ) + a1-0 + ) + ) + ) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) self) + (set! (-> a1-1 num-params) 0) + (set! (-> a1-1 message) 'trigger) + (let ((t9-1 send-event-function) + (v1-7 (-> self door-plat)) + ) + (t9-1 + (if v1-7 + (-> v1-7 extra process) + ) + a1-1 + ) + ) + ) + ) + (else + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) self) + (set! (-> a1-2 num-params) 0) + (set! (-> a1-2 message) 'untrigger) + (let ((t9-2 send-event-function) + (v1-11 (-> self door)) + ) + (t9-2 + (if v1-11 + (-> v1-11 extra process) + ) + a1-2 + ) + ) + ) + (let ((a1-3 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-3 from) self) + (set! (-> a1-3 num-params) 0) + (set! (-> a1-3 message) 'untrigger) + (let ((t9-3 send-event-function) + (v1-15 (-> self door-plat)) + ) + (t9-3 + (if v1-15 + (-> v1-15 extra process) + ) + a1-3 + ) + ) + ) + ) + ) + (go qbert-plat-master-idle) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) (cond - (arg0 - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'trigger) - (let ((t9-0 send-event-function) - (v1-3 (-> self door)) - ) - (t9-0 (if v1-3 - (-> v1-3 extra process) - ) - a1-0 - ) + (arg0 + (ambient-hint-spawn "gamcam08" (the-as vector #f) *entity-pool* 'camera) + (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) + (when s5-0 + (let ((t9-7 (method-of-type pov-camera activate))) + (t9-7 (the-as pov-camera s5-0) self 'pov-camera (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-0 + pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + ) + (-> s5-0 ppointer) + ) + ) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 420) + (suspend) + ) ) - ) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) self) - (set! (-> a1-1 num-params) 0) - (set! (-> a1-1 message) 'trigger) - (let ((t9-1 send-event-function) - (v1-7 (-> self door-plat)) - ) - (t9-1 (if v1-7 - (-> v1-7 extra process) - ) - a1-1 - ) + (else + (ambient-hint-spawn "gamcam07" (the-as vector #f) *entity-pool* 'camera) + (let ((s5-1 (get-process *default-dead-pool* pov-camera #x4000))) + (when s5-1 + (let ((t9-11 (method-of-type pov-camera activate))) + (t9-11 (the-as pov-camera s5-1) self 'pov-camera (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-1 + pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-close" + 0 + #f + '() + ) + (-> s5-1 ppointer) + ) + ) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (suspend) + ) ) - ) ) - (else - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) self) - (set! (-> a1-2 num-params) 0) - (set! (-> a1-2 message) 'untrigger) - (let ((t9-2 send-event-function) - (v1-11 (-> self door)) - ) - (t9-2 (if v1-11 - (-> v1-11 extra process) - ) - a1-2 - ) + (cond + (arg0 + (let ((a1-12 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-12 from) self) + (set! (-> a1-12 num-params) 0) + (set! (-> a1-12 message) 'trigger) + (let ((t9-13 send-event-function) + (v1-41 (-> self door)) + ) + (t9-13 + (if v1-41 + (-> v1-41 extra process) + ) + a1-12 + ) + ) + ) + (let ((a1-13 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-13 from) self) + (set! (-> a1-13 num-params) 0) + (set! (-> a1-13 message) 'trigger) + (let ((t9-14 send-event-function) + (v1-45 (-> self door-plat)) + ) + (t9-14 + (if v1-45 + (-> v1-45 extra process) + ) + a1-13 + ) + ) + ) ) - ) - (let ((a1-3 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-3 from) self) - (set! (-> a1-3 num-params) 0) - (set! (-> a1-3 message) 'untrigger) - (let ((t9-3 send-event-function) - (v1-15 (-> self door-plat)) - ) - (t9-3 (if v1-15 - (-> v1-15 extra process) - ) - a1-3 - ) + (else + (let ((a1-14 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-14 from) self) + (set! (-> a1-14 num-params) 0) + (set! (-> a1-14 message) 'untrigger) + (let ((t9-15 send-event-function) + (v1-49 (-> self door)) + ) + (t9-15 + (if v1-49 + (-> v1-49 extra process) + ) + a1-14 + ) + ) + ) + (let ((a1-15 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-15 from) self) + (set! (-> a1-15 num-params) 0) + (set! (-> a1-15 message) 'untrigger) + (let ((t9-16 send-event-function) + (v1-53 (-> self door-plat)) + ) + (t9-16 + (if v1-53 + (-> v1-53 extra process) + ) + a1-15 + ) + ) + ) + (set! (-> self play-door-cam?) #f) ) - ) ) - ) (go qbert-plat-master-idle) + (none) ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (cond - (arg0 - (ambient-hint-spawn "gamcam08" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-0 - (let ((t9-7 (method-of-type pov-camera activate))) - (t9-7 - (the-as pov-camera s5-0) - self - 'pov-camera - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 420) - (suspend) - ) - ) - (else - (ambient-hint-spawn "gamcam07" (the-as vector #f) *entity-pool* 'camera) - (let ((s5-1 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-1 - (let ((t9-11 (method-of-type pov-camera activate))) - (t9-11 - (the-as pov-camera s5-1) - self - 'pov-camera - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-close" - 0 - #f - '() - ) - (-> s5-1 ppointer) - ) - ) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (suspend) - ) - ) - ) - (cond - (arg0 - (let ((a1-12 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-12 from) self) - (set! (-> a1-12 num-params) 0) - (set! (-> a1-12 message) 'trigger) - (let ((t9-13 send-event-function) - (v1-41 (-> self door)) - ) - (t9-13 (if v1-41 - (-> v1-41 extra process) - ) - a1-12 - ) - ) - ) - (let ((a1-13 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-13 from) self) - (set! (-> a1-13 num-params) 0) - (set! (-> a1-13 message) 'trigger) - (let ((t9-14 send-event-function) - (v1-45 (-> self door-plat)) - ) - (t9-14 (if v1-45 - (-> v1-45 extra process) - ) - a1-13 - ) - ) - ) - ) - (else - (let ((a1-14 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-14 from) self) - (set! (-> a1-14 num-params) 0) - (set! (-> a1-14 message) 'untrigger) - (let ((t9-15 send-event-function) - (v1-49 (-> self door)) - ) - (t9-15 (if v1-49 - (-> v1-49 extra process) - ) - a1-14 - ) - ) - ) - (let ((a1-15 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-15 from) self) - (set! (-> a1-15 num-params) 0) - (set! (-> a1-15 message) 'untrigger) - (let ((t9-16 send-event-function) - (v1-53 (-> self door-plat)) - ) - (t9-16 (if v1-53 - (-> v1-53 extra process) - ) - a1-15 - ) - ) - ) - (set! (-> self play-door-cam?) #f) - ) - ) - (go qbert-plat-master-idle) - (none) - ) ) ;; failed to figure out what this is: (defstate qbert-plat-master-wait-for-door (qbert-plat-master) :code (behavior () - (while #t - (let* ((v1-0 (-> self door)) - (gp-0 (if v1-0 - (-> v1-0 extra process) - ) + (while #t + (let* ((v1-0 (-> self door)) + (gp-0 (if v1-0 + (-> v1-0 extra process) + ) + ) + (v1-2 (-> self door-plat)) + (s5-0 (if v1-2 + (-> v1-2 extra process) + ) + ) + ) + (when (and gp-0 s5-0) + (logclear! (-> s5-0 mask) (process-mask platform)) + (when (-> self puzzle-beaten?) + (suspend) + (send-event gp-0 'trigger) + (send-event s5-0 'trigger) ) - (v1-2 (-> self door-plat)) - (s5-0 (if v1-2 - (-> v1-2 extra process) - ) - ) - ) - (when (and gp-0 s5-0) - (logclear! (-> s5-0 mask) (process-mask platform)) - (when (-> self puzzle-beaten?) - (suspend) - (send-event gp-0 'trigger) - (send-event s5-0 'trigger) - ) - (go qbert-plat-master-idle) + (go qbert-plat-master-idle) + ) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition for method 11 of type qbert-plat-master ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - qbert-plat-master - ((obj qbert-plat-master) (arg0 entity-actor)) +(defmethod init-from-entity! qbert-plat-master ((obj qbert-plat-master) (arg0 entity-actor)) (set! (-> obj last-plat-triggered) -1) (set! (-> obj player-in-water?) #f) (set! (-> obj player-in-bounds?) #f) @@ -954,10 +851,9 @@ (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (set! (-> obj link) (new 'process 'actor-link-info obj)) - (set! - (-> obj plat-states-needed-to-open-door) - (the-as uint (get-matching-actor-type-mask (-> obj link) qbert-plat)) - ) + (set! (-> obj plat-states-needed-to-open-door) + (the-as uint (get-matching-actor-type-mask (-> obj link) qbert-plat)) + ) (set! (-> obj door) (entity-actor-lookup arg0 'alt-actor 0)) (set! (-> obj door-plat) (entity-actor-lookup arg0 'alt-actor 1)) (set-vector! (-> obj bounds-start) -39034.88 0.0 27729.92 1.0) @@ -965,12 +861,12 @@ (set-vector! (-> obj bounds-end) 128573.44 0.0 -38420.48 1.0) (vector+! (-> obj bounds-end) (-> obj bounds-end) (-> obj root trans)) (let ((v1-11 (task-complete? *game-info* (game-task sunken-platforms)))) - (set! (-> obj puzzle-beaten?) v1-11) - (when v1-11 - (set! (-> obj plat-states) (-> obj plat-states-needed-to-open-door)) - (set! (-> obj play-door-cam?) #f) + (set! (-> obj puzzle-beaten?) v1-11) + (when v1-11 + (set! (-> obj plat-states) (-> obj plat-states-needed-to-open-door)) + (set! (-> obj play-door-cam?) #f) + ) ) - ) (go qbert-plat-master-wait-for-door) (none) ) diff --git a/test/decompiler/reference/levels/sunken/shover_REF.gc b/test/decompiler/reference/levels/sunken/shover_REF.gc index 0ec04b64f7..c9ace576ae 100644 --- a/test/decompiler/reference/levels/sunken/shover_REF.gc +++ b/test/decompiler/reference/levels/sunken/shover_REF.gc @@ -18,8 +18,8 @@ ;; definition for method 3 of type shover (defmethod inspect shover ((obj shover)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tshove-up: ~f~%" (-> obj shove-up)) obj ) @@ -37,75 +37,68 @@ (defstate shover-idle (shover) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touch 'attack) - (when (= (-> arg0 type) target) - (when - ((method-of-type touching-shapes-entry prims-touching-action?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (-> *target* control) - (the-as uint 1) - (the-as uint 0) - ) - (let ((s4-0 (new 'stack 'attack-info))) - (dummy-41 (-> self root-override) s4-0 (-> self shove-up)) - (level-hint-spawn - (game-text-id sunken-take-it-easy-hot-pipes) - "sksp0134" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (cond - ((or - (= (-> *target* control unknown-surface00 mode) 'air) - (>= - (+ (-> *display* base-frame-counter) -60) - (-> *target* control unknown-dword11) + (case arg2 + (('touch 'attack) + (when (= (-> arg0 type) target) + (when ((method-of-type touching-shapes-entry prims-touching-action?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (-> *target* control) + (the-as uint 1) + (the-as uint 0) + ) + (let ((s4-0 (new 'stack 'attack-info))) + (dummy-41 (-> self root-override) s4-0 (-> self shove-up)) + (level-hint-spawn + (game-text-id sunken-take-it-easy-hot-pipes) + "sksp0134" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (cond + ((or + (= (-> *target* control unknown-surface00 mode) 'air) + (>= (+ (-> *display* base-frame-counter) -60) (-> *target* control unknown-dword11)) + (< 0.75 (-> *target* control poly-normal y)) + ) + (let ((a1-6 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-6 from) self) + (set! (-> a1-6 num-params) 2) + (set! (-> a1-6 message) 'attack-or-shove) + (set! (-> a1-6 param 0) (-> arg3 param 0)) + (let ((v1-22 (new 'static 'attack-info :mask #xa2))) + (set! (-> v1-22 mode) 'burn) + (set! (-> v1-22 vector quad) (-> s4-0 vector quad)) + (set! (-> v1-22 shove-up) (-> s4-0 shove-up)) + (set! (-> a1-6 param 1) (the-as uint v1-22)) + ) + (send-event-function arg0 a1-6) + ) + ) + (else + (let ((a1-7 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-7 from) self) + (set! (-> a1-7 num-params) 2) + (set! (-> a1-7 message) 'attack-or-shove) + (set! (-> a1-7 param 0) (-> arg3 param 0)) + (let ((v1-26 (new 'static 'attack-info :mask #x8e2))) + (set! (-> v1-26 mode) 'burn) + (set! (-> v1-26 shove-up) 0.0) + (set! (-> v1-26 shove-back) 8192.0) + (set! (-> v1-26 vector quad) (-> *target* control poly-normal quad)) + (set! (-> v1-26 angle) 'shove) + (set! (-> a1-7 param 1) (the-as uint v1-26)) + ) + (send-event-function arg0 a1-7) + ) + ) + ) ) - (< 0.75 (-> *target* control poly-normal y)) - ) - (let ((a1-6 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-6 from) self) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'attack-or-shove) - (set! (-> a1-6 param 0) (-> arg3 param 0)) - (let ((v1-22 (new 'static 'attack-info :mask #xa2))) - (set! (-> v1-22 mode) 'burn) - (set! (-> v1-22 vector quad) (-> s4-0 vector quad)) - (set! (-> v1-22 shove-up) (-> s4-0 shove-up)) - (set! (-> a1-6 param 1) (the-as uint v1-22)) - ) - (send-event-function arg0 a1-6) - ) ) - (else - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'attack-or-shove) - (set! (-> a1-7 param 0) (-> arg3 param 0)) - (let ((v1-26 (new 'static 'attack-info :mask #x8e2))) - (set! (-> v1-26 mode) 'burn) - (set! (-> v1-26 shove-up) 0.0) - (set! (-> v1-26 shove-back) 8192.0) - (set! - (-> v1-26 vector quad) - (-> *target* control poly-normal quad) - ) - (set! (-> v1-26 angle) 'shove) - (set! (-> a1-7 param 1) (the-as uint v1-26)) - ) - (send-event-function arg0 a1-7) - ) - ) - ) ) - ) ) ) ) - ) :code (the-as (function none :behavior shover) anim-loop) ) @@ -117,75 +110,52 @@ (local-vars (sv-16 res-tag)) (set! (-> obj shove-up) (res-lump-float arg0 'shove :default 12288.0)) (let ((s3-0 (res-lump-value arg0 'collision-mesh-id uint128)) - (s4-0 - (new 'process 'collide-shape obj (collide-list-enum hit-by-player)) - ) + (s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))) ) - (let - ((s3-1 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint s3-0) - (the-as uint 0) - ) + (let ((s3-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint s3-0) (the-as uint 0)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 4) + (set! (-> s3-1 transform-index) 0) + (set-vector! (-> s3-1 local-sphere) 0.0 0.0 0.0 53248.0) + (set-root-prim! s4-0 s3-1) ) - ) - (set! (-> s3-1 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 4) - (set! (-> s3-1 transform-index) 0) - (set-vector! (-> s3-1 local-sphere) 0.0 0.0 0.0 53248.0) - (set-root-prim! s4-0 s3-1) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *shover-sg* '()) (let ((v1-17 (new 'process 'path-control obj 'path 0.0))) - (set! (-> obj path) v1-17) - (logior! - (-> v1-17 flags) - (path-control-flag display draw-line draw-point draw-text) + (set! (-> obj path) v1-17) + (logior! (-> v1-17 flags) (path-control-flag display draw-line draw-point draw-text)) + (if (<= (-> v1-17 curve num-cverts) 0) + (go process-drawable-art-error "no path") + ) ) - (if (<= (-> v1-17 curve num-cverts) 0) - (go process-drawable-art-error "no path") - ) - ) (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-23 - (res-lump-data arg0 'trans-offset (pointer float) :tag-ptr (& sv-16)) - ) + (let ((v1-23 (res-lump-data arg0 'trans-offset (pointer float) :tag-ptr (& sv-16)))) + (when v1-23 + (+! (-> obj root-override trans x) (-> v1-23 0)) + (+! (-> obj root-override trans y) (-> v1-23 1)) + (+! (-> obj root-override trans z) (-> v1-23 2)) + ) ) - (when v1-23 - (+! (-> obj root-override trans x) (-> v1-23 0)) - (+! (-> obj root-override trans y) (-> v1-23 1)) - (+! (-> obj root-override trans z) (-> v1-23 2)) - ) - ) (let ((f0-13 (res-lump-float arg0 'rotoffset))) - (if (!= f0-13 0.0) - (quaternion-rotate-y! - (-> obj root-override quat) - (-> obj root-override quat) - f0-13 - ) + (if (!= f0-13 0.0) + (quaternion-rotate-y! (-> obj root-override quat) (-> obj root-override quat) f0-13) + ) ) - ) (ja-channel-set! 1) (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) 0.0) ) - (set! (-> s5-1 frame-num) 0.0) - ) (ja-post) (dummy-47 (-> obj root-override)) (set! *shover* obj) diff --git a/test/decompiler/reference/levels/sunken/square-platform_REF.gc b/test/decompiler/reference/levels/sunken/square-platform_REF.gc index ef4ae7415b..2404c9c587 100644 --- a/test/decompiler/reference/levels/sunken/square-platform_REF.gc +++ b/test/decompiler/reference/levels/sunken/square-platform_REF.gc @@ -26,8 +26,8 @@ ;; definition for method 3 of type square-platform (defmethod inspect square-platform ((obj square-platform)) (let ((t9-0 (method-of-type baseplat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tplat-id: ~D~%" (-> obj plat-id)) (format #t "~T~Tpos-u: ~f~%" (-> obj pos-u)) (format #t "~T~Twater-entity: ~A~%" (-> obj water-entity)) @@ -62,8 +62,8 @@ ;; definition for method 3 of type square-platform-button (defmethod inspect square-platform-button ((obj square-platform-button)) (let ((t9-0 (method-of-type basebutton inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -88,191 +88,163 @@ ;; definition for method 3 of type square-platform-master (defmethod inspect square-platform-master ((obj square-platform-master)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tbutton-id: ~D~%" (-> obj button-id)) (format #t "~T~Tplat-id: ~D~%" (-> obj plat-id)) (format #t "~T~Tplat-mask: ~D~%" (-> obj plat-mask)) (format #t "~T~Tplat-id-dir: ~D~%" (-> obj plat-id-dir)) (format #t "~T~Twiggled?: ~A~%" (-> obj wiggled?)) (format #t "~T~Ttimeout: ~D~%" (-> obj timeout)) - (format - #t - "~T~Tlast-plat-activated-time: ~D~%" - (-> obj last-plat-activated-time) - ) + (format #t "~T~Tlast-plat-activated-time: ~D~%" (-> obj last-plat-activated-time)) (format #t "~T~Tdelay-til-wiggle: ~D~%" (-> obj delay-til-wiggle)) (format #t "~T~Tticker: #~%" (-> obj ticker)) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 437) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-square-platform-breach-splash" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2222 :flags (is-3d)) - (sp-item 2315 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 437) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-square-platform-breach-splash" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2222 :flags (is-3d)) (sp-item 2315 :flags (is-3d))) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2222) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 3.5) (meters 3.5) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 3.2) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 10 29 1) - (sp-launcher-by-id spt-next-launcher 2316) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2222) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 3.5) (meters 3.5) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 3.2) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 10 29 1) + (sp-launcher-by-id spt-next-launcher 2316) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2316) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.17066666) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2316) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.17066666) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2315) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters 3.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 3.2) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 10 29 1) - (sp-launcher-by-id spt-next-launcher 2316) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2315) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters 3.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 3.2) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 10 29 1) + (sp-launcher-by-id spt-next-launcher 2316) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 438) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name - "group-square-platform-submerge-bubbles" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2223)) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 438) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name + "group-square-platform-submerge-bubbles" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2223)) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2223) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters -4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-z -16384.0 32768.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.125) (meters 0.025) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 0.8) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-userdata -663298.44) - (sp-func spt-func 'check-water-level-above-and-die) - (sp-int-plain-rnd spt-next-time 30 29 1) - (sp-launcher-by-id spt-next-launcher 2317) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2223) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters -4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-z -16384.0 32768.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.05) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.125) (meters 0.025) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 0.8) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-userdata -663298.44) + (sp-func spt-func 'check-water-level-above-and-die) + (sp-int-plain-rnd spt-next-time 30 29 1) + (sp-launcher-by-id spt-next-launcher 2317) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2317) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2317) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a 0.0) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 439) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-square-platform-submerge-splash" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2222 :flags (is-3d)) - (sp-item 2315 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 439) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-square-platform-submerge-splash" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2222 :flags (is-3d)) (sp-item 2315 :flags (is-3d))) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; definition for method 27 of type square-platform ;; INFO: Return type mismatch object vs none. @@ -280,110 +252,85 @@ (defmethod TODO-RENAME-27 square-platform ((obj square-platform) (arg0 symbol)) (local-vars (v0-3 sound-id) (sv-48 int)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (set! (-> s4-0 quad) (-> obj root-override trans quad)) - (set! (-> s4-0 y) (+ -20480.0 (-> s4-0 y))) - (let* ((v1-1 (-> obj water-entity)) - (a0-4 (if v1-1 - (-> v1-1 extra process) + (set! (-> s4-0 quad) (-> obj root-override trans quad)) + (set! (-> s4-0 y) (+ -20480.0 (-> s4-0 y))) + (let* ((v1-1 (-> obj water-entity)) + (a0-4 (if v1-1 + (-> v1-1 extra process) + ) ) ) - ) - (when (not a0-4) - (set! - (-> obj water-entity) - (entity-actor-lookup (-> obj entity) 'alt-actor 0) - ) - (let ((v1-4 (-> obj water-entity))) - (set! a0-4 (if v1-4 - (-> v1-4 extra process) - ) - ) - ) - ) - (when (the-as water-vol a0-4) - (let ((f0-2 (get-ripple-height (the-as water-vol a0-4) s4-0)) - (s3-0 (new 'stack-no-clear 'vector)) - ) - (set! (-> s3-0 quad) (-> s4-0 quad)) - (set! (-> s3-0 y) f0-2) - (if (zero? (-> obj start-splash-time)) - (set! v0-3 (cond - (arg0 - (if (>= (-> s4-0 y) f0-2) - (set! - (-> obj start-splash-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - v0-3 - ) - (else - (when (>= f0-2 (-> s4-0 y)) - (set! - (-> obj start-splash-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (let ((s2-0 sound-play-by-name) - (s1-0 - (make-u128 - #x6873616c - (the-as uint #x70732d656772616c) - ) - ) - (s0-0 (new-sound-id)) - ) - (set! sv-48 1024) - (let - ((a3-0 - (the int (* 1524.0 (rand-vu-float-range -0.8 0.8))) + (when (not a0-4) + (set! (-> obj water-entity) (entity-actor-lookup (-> obj entity) 'alt-actor 0)) + (let ((v1-4 (-> obj water-entity))) + (set! a0-4 (if v1-4 + (-> v1-4 extra process) ) - (t0-0 0) - (t1-0 1) - (t2-0 #t) - ) - (s2-0 - (the-as sound-name s1-0) - s0-0 - sv-48 - a3-0 - t0-0 - t1-0 - t2-0 - ) - ) - ) - ) - ) - ) - ) - ) - (when (nonzero? (-> obj start-splash-time)) - (cond - (arg0 - (let ((v1-21 (-> obj splash-counter))) - (when (< v1-21 2) - (set! (-> obj splash-counter) (+ v1-21 1)) - (spawn (-> obj part2) s3-0) - ) + ) ) - ) - (else - (spawn (-> obj part3) s4-0) - ) ) - ) - (when (not arg0) - (let ((v1-25 (-> obj splash-counter))) - (when (< v1-25 2) - (set! (-> obj splash-counter) (+ v1-25 1)) - (spawn (-> obj part4) s3-0) - ) + (when (the-as water-vol a0-4) + (let ((f0-2 (get-ripple-height (the-as water-vol a0-4) s4-0)) + (s3-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s3-0 quad) (-> s4-0 quad)) + (set! (-> s3-0 y) f0-2) + (if (zero? (-> obj start-splash-time)) + (set! v0-3 (cond + (arg0 + (if (>= (-> s4-0 y) f0-2) + (set! (-> obj start-splash-time) (the-as uint (-> *display* base-frame-counter))) + ) + v0-3 + ) + (else + (when (>= f0-2 (-> s4-0 y)) + (set! (-> obj start-splash-time) (the-as uint (-> *display* base-frame-counter))) + (let ((s2-0 sound-play-by-name) + (s1-0 (make-u128 #x6873616c (the-as uint #x70732d656772616c))) + (s0-0 (new-sound-id)) + ) + (set! sv-48 1024) + (let ((a3-0 (the int (* 1524.0 (rand-vu-float-range -0.8 0.8)))) + (t0-0 0) + (t1-0 1) + (t2-0 #t) + ) + (s2-0 (the-as sound-name s1-0) s0-0 sv-48 a3-0 t0-0 t1-0 t2-0) + ) + ) + ) + ) + ) + ) + ) + (when (nonzero? (-> obj start-splash-time)) + (cond + (arg0 + (let ((v1-21 (-> obj splash-counter))) + (when (< v1-21 2) + (set! (-> obj splash-counter) (+ v1-21 1)) + (spawn (-> obj part2) s3-0) + ) + ) + ) + (else + (spawn (-> obj part3) s4-0) + ) + ) + ) + (when (not arg0) + (let ((v1-25 (-> obj splash-counter))) + (when (< v1-25 2) + (set! (-> obj splash-counter) (+ v1-25 1)) + (spawn (-> obj part4) s3-0) + ) + ) + ) + ) ) - ) ) - ) ) - ) (none) ) @@ -391,86 +338,68 @@ (defstate square-platform-lowered (square-platform) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (if - (and - (= (-> arg0 type) square-platform-master) - (= (-> (the-as square-platform-master arg0) plat-id) (-> self plat-id)) - ) - (go square-platform-rising) + (case arg2 + (('trigger) + (if (and + (= (-> arg0 type) square-platform-master) + (= (-> (the-as square-platform-master arg0) plat-id) (-> self plat-id)) + ) + (go square-platform-rising) + ) ) ) ) - ) :code (behavior () - (set! (-> self pos-u) 0.0) - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) + (set! (-> self pos-u) 0.0) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate square-platform-rising (square-platform) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((or (= v1-0 'bonk) (= v1-0 'bounce)) - (dummy-22 self) - ) - ((= v1-0 'untrigger) - (go square-platform-lowering) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((or (= v1-0 'bonk) (= v1-0 'bounce)) + (dummy-22 self) + ) + ((= v1-0 'untrigger) + (go square-platform-lowering) + ) + ) + ) + ) ) - ) :enter - (behavior () - (set! (-> self start-splash-time) (the-as uint 0)) - (set! (-> self splash-counter) 0) - 0 - (none) - ) + (behavior () (set! (-> self start-splash-time) (the-as uint 0)) (set! (-> self splash-counter) 0) 0 (none)) :trans (behavior () - (set! - (-> self pos-u) - (seek-with-smooth - (-> self pos-u) - 1.0 - (/ 1.0 (* 0.75 (-> *display* frames-per-second))) - 0.8 - 0.01 - ) + (set! (-> self pos-u) + (seek-with-smooth (-> self pos-u) 1.0 (/ 1.0 (* 0.75 (-> *display* frames-per-second))) 0.8 0.01) + ) + (vector-lerp! (-> self basetrans) (-> self down-pos) (-> self up-pos) (-> self pos-u)) + (plat-trans) + (when (= (-> self pos-u) 1.0) + (plat-post) + (go square-platform-raised) + ) + (TODO-RENAME-27 self #t) + (none) ) - (vector-lerp! - (-> self basetrans) - (-> self down-pos) - (-> self up-pos) - (-> self pos-u) - ) - (plat-trans) - (when (= (-> self pos-u) 1.0) - (plat-post) - (go square-platform-raised) - ) - (TODO-RENAME-27 self #t) - (none) - ) :code (behavior () - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior square-platform) plat-post) ) @@ -479,29 +408,29 @@ (defstate square-platform-raised (square-platform) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((or (= v1-0 'bonk) (= v1-0 'bounce)) - (dummy-22 self) - ) - ((= v1-0 'untrigger) - (go square-platform-lowering) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((or (= v1-0 'bonk) (= v1-0 'bounce)) + (dummy-22 self) + ) + ((= v1-0 'untrigger) + (go square-platform-lowering) + ) + ) + ) + ) ) - ) :trans (the-as (function none :behavior square-platform) plat-trans) :code (behavior () - (set! (-> self pos-u) 1.0) - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) + (set! (-> self pos-u) 1.0) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior square-platform) plat-post) ) @@ -510,63 +439,46 @@ (defstate square-platform-lowering (square-platform) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((or (= v1-0 'bonk) (= v1-0 'bounce)) - (dummy-22 self) - ) - ((= v1-0 'trigger) - (go square-platform-rising) - ) - ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) - #f - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((or (= v1-0 'bonk) (= v1-0 'bounce)) + (dummy-22 self) + ) + ((= v1-0 'trigger) + (go square-platform-rising) + ) + ((= v1-0 'touch) + (send-event arg0 'no-look-around 450) + #f + ) + ) + ) + ) ) - ) :enter - (behavior () - (set! (-> self start-splash-time) (the-as uint 0)) - (set! (-> self splash-counter) 0) - 0 - (none) - ) + (behavior () (set! (-> self start-splash-time) (the-as uint 0)) (set! (-> self splash-counter) 0) 0 (none)) :trans (behavior () - (set! - (-> self pos-u) - (seek-with-smooth - (-> self pos-u) - 0.0 - (/ 1.0 (* 0.75 (-> *display* frames-per-second))) - 0.8 - 0.01 - ) + (set! (-> self pos-u) + (seek-with-smooth (-> self pos-u) 0.0 (/ 1.0 (* 0.75 (-> *display* frames-per-second))) 0.8 0.01) + ) + (vector-lerp! (-> self basetrans) (-> self down-pos) (-> self up-pos) (-> self pos-u)) + (plat-trans) + (when (= (-> self pos-u) 0.0) + (plat-post) + (go square-platform-lowered) + ) + (TODO-RENAME-27 self #f) + (none) ) - (vector-lerp! - (-> self basetrans) - (-> self down-pos) - (-> self up-pos) - (-> self pos-u) - ) - (plat-trans) - (when (= (-> self pos-u) 0.0) - (plat-post) - (go square-platform-lowered) - ) - (TODO-RENAME-27 self #f) - (none) - ) :code (behavior () - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior square-platform) plat-post) ) @@ -574,14 +486,14 @@ ;; definition for method 10 of type square-platform (defmethod deactivate square-platform ((obj square-platform)) (if (nonzero? (-> obj part2)) - (kill-and-free-particles (-> obj part2)) - ) + (kill-and-free-particles (-> obj part2)) + ) (if (nonzero? (-> obj part3)) - (kill-and-free-particles (-> obj part3)) - ) + (kill-and-free-particles (-> obj part3)) + ) (if (nonzero? (-> obj part4)) - (kill-and-free-particles (-> obj part4)) - ) + (kill-and-free-particles (-> obj part4)) + ) ((method-of-type process-drawable deactivate) obj) (none) ) @@ -590,73 +502,46 @@ ;; INFO: Return type mismatch baseplat vs square-platform. (defmethod relocate square-platform ((obj square-platform) (arg0 int)) (if (nonzero? (-> obj part2)) - (&+! (-> obj part2) arg0) - ) + (&+! (-> obj part2) arg0) + ) (if (nonzero? (-> obj part3)) - (&+! (-> obj part3) arg0) - ) + (&+! (-> obj part3) arg0) + ) (if (nonzero? (-> obj part4)) - (&+! (-> obj part4) arg0) - ) + (&+! (-> obj part4) arg0) + ) (the-as - square-platform - ((the-as - (function baseplat int baseplat) - (find-parent-method square-platform 7) - ) - obj - arg0 + square-platform + ((the-as (function baseplat int baseplat) (find-parent-method square-platform 7)) obj arg0) ) - ) ) ;; definition for method 11 of type square-platform ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - square-platform - ((obj square-platform) (arg0 entity-actor)) +(defmethod init-from-entity! square-platform ((obj square-platform) (arg0 entity-actor)) (local-vars (sv-16 res-tag) (sv-32 res-tag)) (set! (-> obj pos-u) 0.0) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 -24576.0 0.0 32768.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 -24576.0 0.0 32768.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (set! (-> obj link) (new 'process 'actor-link-info obj)) (set! (-> obj plat-id) (actor-count-before (-> obj link))) @@ -664,53 +549,40 @@ (dummy-21 obj) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim (-> obj draw art-group data 3)) - num-func-identity + (joint-control-channel-group-eval! + s4-1 + (the-as art-joint-anim (-> obj draw art-group data 3)) + num-func-identity + ) + (set! (-> s4-1 frame-num) 0.0) ) - (set! (-> s4-1 frame-num) 0.0) - ) (set! sv-16 (new 'static 'res-tag)) - (let* - ((v1-32 (res-lump-data (-> obj entity) 'distance pointer :tag-ptr (& sv-16))) - (f30-0 (if (and v1-32 (> (the-as int (-> sv-16 elt-count)) 0)) - (-> (the-as (pointer float) v1-32)) - -8192.0 - ) - ) - ) - (set! sv-32 (new 'static 'res-tag)) - (let* - ((v1-35 - (res-lump-data (-> obj entity) 'distance pointer :tag-ptr (& sv-32)) + (let* ((v1-32 (res-lump-data (-> obj entity) 'distance pointer :tag-ptr (& sv-16))) + (f30-0 (if (and v1-32 (> (the-as int (-> sv-16 elt-count)) 0)) + (-> (the-as (pointer float) v1-32)) + -8192.0 + ) + ) + ) + (set! sv-32 (new 'static 'res-tag)) + (let* ((v1-35 (res-lump-data (-> obj entity) 'distance pointer :tag-ptr (& sv-32))) + (f0-10 (if (and v1-35 (< 1 (the-as int (-> sv-32 elt-count)))) + (-> (the-as (pointer float) v1-35) 1) + 16384.0 + ) + ) + ) + (set! (-> obj down-pos quad) (-> obj root-override trans quad)) + (+! (-> obj down-pos y) f30-0) + (set! (-> obj up-pos quad) (-> obj root-override trans quad)) + (+! (-> obj up-pos y) f0-10) ) - (f0-10 (if (and v1-35 (< 1 (the-as int (-> sv-32 elt-count)))) - (-> (the-as (pointer float) v1-35) 1) - 16384.0 - ) - ) - ) - (set! (-> obj down-pos quad) (-> obj root-override trans quad)) - (+! (-> obj down-pos y) f30-0) - (set! (-> obj up-pos quad) (-> obj root-override trans quad)) - (+! (-> obj up-pos y) f0-10) ) - ) (set! (-> obj basetrans quad) (-> obj down-pos quad)) (set! (-> obj root-override trans quad) (-> obj basetrans quad)) - (set! - (-> obj part2) - (create-launch-control (-> *part-group-id-table* 437) obj) - ) - (set! - (-> obj part3) - (create-launch-control (-> *part-group-id-table* 438) obj) - ) - (set! - (-> obj part4) - (create-launch-control (-> *part-group-id-table* 439) obj) - ) + (set! (-> obj part2) (create-launch-control (-> *part-group-id-table* 437) obj)) + (set! (-> obj part3) (create-launch-control (-> *part-group-id-table* 438) obj)) + (set! (-> obj part4) (create-launch-control (-> *part-group-id-table* 439) obj)) (set! (-> obj water-entity) (entity-actor-lookup arg0 'alt-actor 0)) (ja-post) (dummy-47 (-> obj root-override)) @@ -722,255 +594,206 @@ (defstate square-platform-master-idle (square-platform-master) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (when (= (-> arg0 type) square-platform-button) - (set! - (-> self button-id) - (-> (the-as square-platform-button arg0) button-id) - ) - (logclear! (-> self mask) (process-mask actor-pause)) - (process-entity-status! self (entity-perm-status bit-3) #t) - (go square-platform-master-activate) + (case arg2 + (('trigger) + (when (= (-> arg0 type) square-platform-button) + (set! (-> self button-id) (-> (the-as square-platform-button arg0) button-id)) + (logclear! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status bit-3) #t) + (go square-platform-master-activate) + ) ) ) ) - ) :code - (behavior () - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - 0 - (none) - ) + (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 (none)) ) ;; failed to figure out what this is: (defstate square-platform-master-activate (square-platform-master) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self wiggled?) #f) - (sleep (-> self ticker) (-> self timeout)) - (set! (-> self plat-id) -1) - (send-to-all (-> self link) 'trigger) - (set! (-> self plat-id) 0) - (let ((gp-0 1)) - (let ((v1-7 (-> self button-id))) - (cond - ((zero? v1-7) - (let* ((s5-0 (get-process *default-dead-pool* sunkencam #x4000)) - (a0-4 (when s5-0 - (let ((t9-3 (method-of-type sunkencam activate))) - (t9-3 - (the-as sunkencam s5-0) - self - 'sunkencam - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) - ) - ) - (set! (-> (the-as sunkencam (-> a0-4 0)) seq) (the-as uint 3)) - ) - ) - ((= v1-7 1) - (let* ((gp-1 (get-process *default-dead-pool* sunkencam #x4000)) - (v1-13 (when gp-1 - (let ((t9-6 (method-of-type sunkencam activate))) - (t9-6 - (the-as sunkencam gp-1) - self - 'sunkencam - (the-as pointer #x70004000) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self wiggled?) #f) + (sleep (-> self ticker) (-> self timeout)) + (set! (-> self plat-id) -1) + (send-to-all (-> self link) 'trigger) + (set! (-> self plat-id) 0) + (let ((gp-0 1)) + (let ((v1-7 (-> self button-id))) + (cond + ((zero? v1-7) + (let* ((s5-0 (get-process *default-dead-pool* sunkencam #x4000)) + (a0-4 + (when s5-0 + (let ((t9-3 (method-of-type sunkencam activate))) + (t9-3 (the-as sunkencam s5-0) self 'sunkencam (the-as pointer #x70004000)) ) - ) (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) + s5-0 + pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + ) + (-> s5-0 ppointer) + ) + ) + ) + (set! (-> (the-as sunkencam (-> a0-4 0)) seq) (the-as uint 3)) + ) + ) + ((= v1-7 1) + (let* ((gp-1 (get-process *default-dead-pool* sunkencam #x4000)) + (v1-13 + (when gp-1 + (let ((t9-6 (method-of-type sunkencam activate))) + (t9-6 (the-as sunkencam gp-1) self 'sunkencam (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + ) (-> gp-1 ppointer) ) - ) - ) - (set! (-> (the-as sunkencam (-> v1-13 0)) seq) (the-as uint 4)) - ) - (set! gp-0 -1) - ) - ((= v1-7 2) - (let* ((s5-1 (get-process *default-dead-pool* sunkencam #x4000)) - (a0-17 (when s5-1 + ) + ) + (set! (-> (the-as sunkencam (-> v1-13 0)) seq) (the-as uint 4)) + ) + (set! gp-0 -1) + ) + ((= v1-7 2) + (let* ((s5-1 (get-process *default-dead-pool* sunkencam #x4000)) + (a0-17 + (when s5-1 (let ((t9-9 (method-of-type sunkencam activate))) - (t9-9 - (the-as sunkencam s5-1) - self - 'sunkencam - (the-as pointer #x70004000) + (t9-9 (the-as sunkencam s5-1) self 'sunkencam (the-as pointer #x70004000)) ) - ) (run-now-in-process - s5-1 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) + s5-1 + pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + ) (-> s5-1 ppointer) ) - ) - ) - (set! (-> (the-as sunkencam (-> a0-17 0)) seq) (the-as uint 5)) - ) - ) - ((= v1-7 3) - (let* ((gp-2 (get-process *default-dead-pool* sunkencam #x4000)) - (v1-24 (when gp-2 + ) + ) + (set! (-> (the-as sunkencam (-> a0-17 0)) seq) (the-as uint 5)) + ) + ) + ((= v1-7 3) + (let* ((gp-2 (get-process *default-dead-pool* sunkencam #x4000)) + (v1-24 + (when gp-2 (let ((t9-12 (method-of-type sunkencam activate))) - (t9-12 - (the-as sunkencam gp-2) - self - 'sunkencam - (the-as pointer #x70004000) + (t9-12 (the-as sunkencam gp-2) self 'sunkencam (the-as pointer #x70004000)) ) - ) (run-now-in-process - gp-2 - pov-camera-init-by-other - (-> self root trans) - *sunkencam-sg* - "qbert-show-door-open" - 0 - #f - '() - ) + gp-2 + pov-camera-init-by-other + (-> self root trans) + *sunkencam-sg* + "qbert-show-door-open" + 0 + #f + '() + ) (-> gp-2 ppointer) ) - ) - ) - (set! (-> (the-as sunkencam (-> v1-24 0)) seq) (the-as uint 6)) + ) + ) + (set! (-> (the-as sunkencam (-> v1-24 0)) seq) (the-as uint 6)) + ) + (set! gp-0 -1) + ) + ) ) - (set! gp-0 -1) - ) + (if (< gp-0 0) + (set! (-> self plat-id) 32) + ) + (set! (-> self plat-id-dir) gp-0) ) - ) - (if (< gp-0 0) - (set! (-> self plat-id) 32) - ) - (set! (-> self plat-id-dir) gp-0) + (none) ) - (none) - ) :exit (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (process-entity-status! self (entity-perm-status bit-3) #f) - (none) - ) + (logior! (-> self mask) (process-mask actor-pause)) + (process-entity-status! self (entity-perm-status bit-3) #f) + (none) + ) :trans (behavior () - (when (completed? (-> self ticker)) - (send-to-all (-> self link) 'untrigger) - (go square-platform-master-idle) - ) - (when (reached-delay? (-> self ticker) (-> self delay-til-wiggle)) - (when (not (-> self wiggled?)) - (set! (-> self wiggled?) #t) - (send-to-all (-> self link) 'bounce) - ) - ) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self last-plat-activated-time)) + (when (completed? (-> self ticker)) + (send-to-all (-> self link) 'untrigger) + (go square-platform-master-idle) ) - 90 - ) - (set! - (-> self last-plat-activated-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (let ((v1-20 (-> self plat-id)) - (a0-5 (-> self plat-id-dir)) - (a1-3 (-> self plat-mask)) + (when (reached-delay? (-> self ticker) (-> self delay-til-wiggle)) + (when (not (-> self wiggled?)) + (set! (-> self wiggled?) #t) + (send-to-all (-> self link) 'bounce) + ) + ) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self last-plat-activated-time))) 90) + (set! (-> self last-plat-activated-time) (the-as uint (-> *display* base-frame-counter))) + (let ((v1-20 (-> self plat-id)) + (a0-5 (-> self plat-id-dir)) + (a1-3 (-> self plat-mask)) + ) + (while #t + (+! v1-20 a0-5) + (cond + ((<= v1-20 0) + (set! (-> self plat-id) 0) + (return #f) + ) + ((>= v1-20 32) + (set! (-> self plat-id) 32) + (return #f) + ) + (else + (when (logtest? a1-3 (ash 1 v1-20)) + (set! (-> self plat-id) v1-20) + (send-to-all (-> self link) 'trigger) + (return #f) + ) + ) + ) ) - (while #t - (+! v1-20 a0-5) - (cond - ((<= v1-20 0) - (set! (-> self plat-id) 0) - (return #f) ) - ((>= v1-20 32) - (set! (-> self plat-id) 32) - (return #f) - ) - (else - (when (logtest? a1-3 (ash 1 v1-20)) - (set! (-> self plat-id) v1-20) - (send-to-all (-> self link) 'trigger) - (return #f) - ) - ) - ) ) - ) + (none) ) - (none) - ) :code - (behavior () - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) - 0 - (none) - ) + (behavior () (logior! (-> self mask) (process-mask sleep-code)) (suspend) 0 (none)) ) ;; definition for method 11 of type square-platform-master ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - square-platform-master - ((obj square-platform-master) (arg0 entity-actor)) +(defmethod init-from-entity! square-platform-master ((obj square-platform-master) (arg0 entity-actor)) (set! (-> obj button-id) -1) (set! (-> obj plat-id) -1) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (set! - (-> obj timeout) - (the-as - uint - (the int (* 300.0 (res-lump-float (-> obj entity) 'timeout :default 10.0))) - ) - ) + (set! (-> obj timeout) + (the-as uint (the int (* 300.0 (res-lump-float (-> obj entity) 'timeout :default 10.0)))) + ) (set! (-> obj delay-til-wiggle) (+ (-> obj timeout) -120)) (set! (-> obj link) (new 'process 'actor-link-info obj)) - (set! - (-> obj plat-mask) - (the-as uint (get-matching-actor-type-mask (-> obj link) square-platform)) - ) + (set! (-> obj plat-mask) (the-as uint (get-matching-actor-type-mask (-> obj link) square-platform))) (go square-platform-master-idle) (none) ) diff --git a/test/decompiler/reference/levels/sunken/steam-cap_REF.gc b/test/decompiler/reference/levels/sunken/steam-cap_REF.gc index 5967f1e9cc..b1285d58ea 100644 --- a/test/decompiler/reference/levels/sunken/steam-cap_REF.gc +++ b/test/decompiler/reference/levels/sunken/steam-cap_REF.gc @@ -50,8 +50,8 @@ ;; definition for method 3 of type steam-cap (defmethod inspect steam-cap ((obj steam-cap)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tdo-burst?: ~A~%" (-> obj do-burst?)) (format #t "~T~Tdo-falling-sound?: ~A~%" (-> obj do-falling-sound?)) (format #t "~T~Tdo-landing-sound?: ~A~%" (-> obj do-landing-sound?)) @@ -67,506 +67,461 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 441) - (new 'static 'sparticle-launch-group - :length 7 - :duration #xbb8 - :linger-duration #x5dc - :name "group-steam-cap-sides" - :launcher - (new 'static 'inline-array sparticle-group-item 7 - (sp-item 1718 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75) - (sp-item 1719 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75 :offset 60) - (sp-item 1720 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75 :offset 120) - (sp-item 1721 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75) - (sp-item 1722 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75 :offset 60) - (sp-item 1723 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75 :offset 120) - (sp-item 1724 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 180 :length 75 :offset 120) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) - ) +(set! (-> *part-group-id-table* 441) + (new 'static 'sparticle-launch-group + :length 7 + :duration #xbb8 + :linger-duration #x5dc + :name "group-steam-cap-sides" + :launcher + (new 'static 'inline-array sparticle-group-item 7 + (sp-item 1718 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75) + (sp-item 1719 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75 :offset 60) + (sp-item 1720 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75 :offset 120) + (sp-item 1721 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75) + (sp-item 1722 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75 :offset 60) + (sp-item 1723 :fade-after (meters 100.0) :falloff-to (meters 160.0) :period 180 :length 75 :offset 120) + (sp-item 1724 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 180 :length 75 :offset 120) + ) + :bounds (new 'static 'sphere :w 40960.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1724) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-flt spt-num 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3276.8) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) - (sp-flt spt-accel-y 0.13653333) - (sp-rnd-flt spt-friction 0.92 0.02 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1725) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1724) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-flt spt-num 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3276.8) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) + (sp-flt spt-accel-y 0.13653333) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1725) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1725) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -2.7306666) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1725) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -2.7306666) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1718) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 2.0 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.10666667) - (sp-flt spt-accel-y 0.13653333) - (sp-rnd-flt spt-friction 0.92 0.02 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1726) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 120.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1718) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 2.0 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.10666667) + (sp-flt spt-accel-y 0.13653333) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1726) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 120.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1721) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 2.0 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.10666667) - (sp-flt spt-accel-y 0.13653333) - (sp-rnd-flt spt-friction 0.92 0.02 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1726) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 120.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1721) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 2.0 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.10666667) + (sp-flt spt-accel-y 0.13653333) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1726) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 120.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1719) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 2.0 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.10666667) - (sp-flt spt-accel-y 0.13653333) - (sp-rnd-flt spt-friction 0.92 0.02 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1726) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 120.0) (degrees 120.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1719) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 2.0 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.10666667) + (sp-flt spt-accel-y 0.13653333) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1726) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 120.0) (degrees 120.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1722) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 2.0 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.10666667) - (sp-flt spt-accel-y 0.13653333) - (sp-rnd-flt spt-friction 0.92 0.02 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1726) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 120.0) (degrees 120.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1722) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 2.0 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.10666667) + (sp-flt spt-accel-y 0.13653333) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1726) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 120.0) (degrees 120.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1720) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 2.0 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.10666667) - (sp-flt spt-accel-y 0.13653333) - (sp-rnd-flt spt-friction 0.92 0.02 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1726) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 240.0) (degrees 120.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1720) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 2.0 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.10666667) + (sp-flt spt-accel-y 0.13653333) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1726) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 240.0) (degrees 120.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1723) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.0 2.0 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 0.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.10666667) - (sp-flt spt-accel-y 0.13653333) - (sp-rnd-flt spt-friction 0.92 0.02 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1726) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 240.0) (degrees 120.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1723) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.0 2.0 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 0.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.10666667) + (sp-flt spt-accel-y 0.13653333) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1726) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 240.0) (degrees 120.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1726) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.21333334) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1726) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.21333334) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 442) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-steam-cap-plume" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 1727 :fade-after (meters 120.0) :falloff-to (meters 160.0)) - (sp-item 1728 :fade-after (meters 120.0) :falloff-to (meters 160.0)) - (sp-item 1729 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1730 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 442) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-steam-cap-plume" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 1727 :fade-after (meters 120.0) :falloff-to (meters 160.0)) + (sp-item 1728 :fade-after (meters 120.0) :falloff-to (meters 160.0)) + (sp-item 1729 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1730 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 443) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-steam-cap-plume-spread" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1731 :fade-after (meters 120.0) :falloff-to (meters 160.0)) - (sp-item 1732 :fade-after (meters 120.0) :falloff-to (meters 160.0)) - ) - :bounds (new 'static 'sphere :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 443) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-steam-cap-plume-spread" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1731 :fade-after (meters 120.0) :falloff-to (meters 160.0)) + (sp-item 1732 :fade-after (meters 120.0) :falloff-to (meters 160.0)) + ) + :bounds (new 'static 'sphere :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1730) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-flt spt-num 0.4) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3276.8) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) - (sp-flt spt-accel-y 0.13653333) - (sp-rnd-flt spt-friction 0.94 0.02 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1725) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1730) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-flt spt-num 0.4) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3276.8) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) + (sp-flt spt-accel-y 0.13653333) + (sp-rnd-flt spt-friction 0.94 0.02 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1725) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1732) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y 0.13653333) - (sp-rnd-flt spt-friction 0.92 0.02 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1735) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 15.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1732) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y 0.13653333) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1735) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 15.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1731) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y 0.13653333) - (sp-rnd-flt spt-friction 0.92 0.02 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1735) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 15.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.5)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1731) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y 0.13653333) + (sp-rnd-flt spt-friction 0.92 0.02 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1735) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 15.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.5)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1735) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.32) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1735) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.32) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1727) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters -1.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-accel-y 2.7306666) - (sp-int spt-timer 153) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 15.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1727) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters -1.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-accel-y 2.7306666) + (sp-int spt-timer 153) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 15.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1728) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.5) 1.0) - (sp-flt spt-y (meters -1.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-accel-y 2.7306666) - (sp-int spt-timer 153) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1728) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.5) 1.0) + (sp-flt spt-y (meters -1.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-accel-y 2.7306666) + (sp-int spt-timer 153) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1729) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters 0.5) (meters 0.5) 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 6144.0) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 3276.8) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-int spt-timer 153) - (sp-cpuinfo-flags aux-list) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1729) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 11 + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters 0.5) (meters 0.5) 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 6144.0) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 3276.8) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-int spt-timer 153) + (sp-cpuinfo-flags aux-list) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: (defskelgroup *steam-cap-sg* steam-cap @@ -581,54 +536,50 @@ ;; INFO: Return type mismatch object vs none. (defmethod dummy-20 steam-cap ((obj steam-cap)) (with-pp - (when *target* - (let* ((a1-0 (target-pos 0)) - (f0-0 (-> a1-0 y)) - ) - (when - (and - (>= f0-0 (+ -8192.0 (-> obj down y))) - (and - (>= (+ -4096.0 (-> obj root-override trans y)) f0-0) - (zero? (-> obj root-override riders num-riders)) - ) - ) - (let ((f0-1 (vector-vector-xz-distance-squared (-> obj down) a1-0))) - (when (>= 104857600.0 f0-1) - (let ((s5-0 (>= 37748736.0 f0-1))) - (when (not s5-0) - (when (>= (- (-> obj root-override trans y) (-> obj down y)) 3072.0) - (let ((a1-1 (new 'stack-no-clear 'vector))) - (set! (-> a1-1 x) (the-as float 1)) - (set! (-> a1-1 y) (the-as float #f)) - (if (dummy-40 (-> obj root-override) a1-1) - (set! s5-0 #t) + (when *target* + (let* ((a1-0 (target-pos 0)) + (f0-0 (-> a1-0 y)) ) + (when (and + (>= f0-0 (+ -8192.0 (-> obj down y))) + (and (>= (+ -4096.0 (-> obj root-override trans y)) f0-0) (zero? (-> obj root-override riders num-riders))) + ) + (let ((f0-1 (vector-vector-xz-distance-squared (-> obj down) a1-0))) + (when (>= 104857600.0 f0-1) + (let ((s5-0 (>= 37748736.0 f0-1))) + (when (not s5-0) + (when (>= (- (-> obj root-override trans y) (-> obj down y)) 3072.0) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (set! (-> a1-1 x) (the-as float 1)) + (set! (-> a1-1 y) (the-as float #f)) + (if (dummy-40 (-> obj root-override) a1-1) + (set! s5-0 #t) + ) + ) + ) + ) + (when s5-0 + (let ((a1-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-2 from) pp) + (set! (-> a1-2 num-params) 2) + (set! (-> a1-2 message) 'shove) + (set! (-> a1-2 param 0) (the-as uint #f)) + (let ((v1-16 (new 'static 'attack-info :mask #xc0))) + (set! (-> v1-16 shove-up) 2048.0) + (set! (-> v1-16 shove-back) 6144.0) + (set! (-> a1-2 param 1) (the-as uint v1-16)) + ) + (send-event-function *target* a1-2) + ) + ) + ) + ) ) - ) ) - (when s5-0 - (let ((a1-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-2 from) pp) - (set! (-> a1-2 num-params) 2) - (set! (-> a1-2 message) 'shove) - (set! (-> a1-2 param 0) (the-as uint #f)) - (let ((v1-16 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-16 shove-up) 2048.0) - (set! (-> v1-16 shove-back) 6144.0) - (set! (-> a1-2 param 1) (the-as uint v1-16)) - ) - (send-event-function *target* a1-2) - ) - ) - ) ) - ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 21 of type steam-cap @@ -639,238 +590,185 @@ (vf1 :class vf) (vf2 :class vf) ) - (init-vf0-vector) - (let ((f0-0 (get-current-phase (-> obj sync)))) - #t - (cond - ((< f0-0 (-> obj begin-travel-up)) - (let ((f30-0 (/ f0-0 (-> obj begin-travel-up)))) - (set! s5-0 #t) - (dotimes (s4-0 3) - (let ((s3-0 (-> obj control-pt s4-0))) - (when (= (-> s3-0 trans y) (-> obj down y)) - (set! (-> obj do-burst?) #t) - (let ((a0-2 (+ (the int (* 60.0 (- 1.0 f30-0))) 3))) - (if (zero? (rand-vu-int-count a0-2)) - (+! - (-> s3-0 transv y) - (* (rand-vu-float-range 40960.0 57344.0) f30-0) + (init-vf0-vector) + (let ((f0-0 (get-current-phase (-> obj sync)))) + #t + (cond + ((< f0-0 (-> obj begin-travel-up)) + (let ((f30-0 (/ f0-0 (-> obj begin-travel-up)))) + (set! s5-0 #t) + (dotimes (s4-0 3) + (let ((s3-0 (-> obj control-pt s4-0))) + (when (= (-> s3-0 trans y) (-> obj down y)) + (set! (-> obj do-burst?) #t) + (let ((a0-2 (+ (the int (* 60.0 (- 1.0 f30-0))) 3))) + (if (zero? (rand-vu-int-count a0-2)) + (+! (-> s3-0 transv y) (* (rand-vu-float-range 40960.0 57344.0) f30-0)) + ) + ) + ) + ) + ) + (let ((a0-4 (+ (the int (* 60.0 (- 1.0 f30-0))) 1))) + (if (zero? (rand-vu-int-count a0-4)) + (spawn (-> obj part) (-> obj down)) + ) ) - ) ) - ) ) - ) - (let ((a0-4 (+ (the int (* 60.0 (- 1.0 f30-0))) 1))) - (if (zero? (rand-vu-int-count a0-4)) - (spawn (-> obj part) (-> obj down)) - ) - ) - ) - ) - ((< f0-0 (-> obj begin-travel-down)) - (let - ((f30-1 - (/ - (- f0-0 (-> obj begin-travel-up)) - (- (-> obj begin-travel-down) (-> obj begin-travel-up)) - ) - ) - ) - (set! s5-0 #f) - (set! (-> obj do-falling-sound?) #t) - (when (-> obj do-burst?) - (sound-play-by-name - (static-sound-name "sunk-top-rises") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (set! (-> obj do-burst?) #f) - (spawn (-> obj part) (-> obj down)) - (spawn (-> obj part) (-> obj down)) - (spawn (-> obj part) (-> obj down)) - (spawn (-> obj part) (-> obj down)) - ) - (when (< f30-1 0.94) - (spawn (-> obj part2) (-> obj down)) - (let ((a1-8 (new 'stack-no-clear 'vector))) - (set! (-> a1-8 quad) (-> obj root-override trans quad)) - (set! (-> a1-8 y) (+ -3072.0 (-> a1-8 y))) - (spawn (-> obj part3) a1-8) - ) - ) - ) - ) - (else - (set! s5-0 #t) - (when (-> obj do-falling-sound?) - (set! (-> obj do-falling-sound?) #f) - (sound-play-by-name - (static-sound-name "sunk-top-falls") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - ) - ) - ) - (dotimes (s4-3 3) - (let ((s2-0 (-> obj control-pt s4-3)) - (s3-3 (new 'stack-no-clear 'vector)) - ) - (set! (-> s3-3 quad) (-> s2-0 trans quad)) - (cond - (s5-0 - (+! (-> s2-0 transv y) (* -819200.0 (-> *display* seconds-per-frame))) - (let ((a1-10 s3-3) - (v1-42 s3-3) - (a0-21 (new 'stack-no-clear 'vector)) + ((< f0-0 (-> obj begin-travel-down)) + (let ((f30-1 (/ (- f0-0 (-> obj begin-travel-up)) (- (-> obj begin-travel-down) (-> obj begin-travel-up))))) + (set! s5-0 #f) + (set! (-> obj do-falling-sound?) #t) + (when (-> obj do-burst?) + (sound-play-by-name (static-sound-name "sunk-top-rises") (new-sound-id) 1024 0 0 1 #t) + (set! (-> obj do-burst?) #f) + (spawn (-> obj part) (-> obj down)) + (spawn (-> obj part) (-> obj down)) + (spawn (-> obj part) (-> obj down)) + (spawn (-> obj part) (-> obj down)) ) - (.lvf vf1 (&-> (-> s2-0 transv) quad)) - (let ((f0-17 (-> *display* seconds-per-frame))) - (.mov at-0 f0-17) - ) - (.mov vf2 at-0) - (.mov.vf vf1 vf0 :mask #b1000) - (.mul.x.vf vf1 vf1 vf2 :mask #b111) - (.svf (&-> a0-21 quad) vf1) - (vector+! a1-10 v1-42 a0-21) - ) - (when (< (-> s3-3 y) (-> obj down y)) - (when (-> obj do-landing-sound?) - (set! (-> obj do-landing-sound?) #f) - (sound-play-by-name - (static-sound-name "sunk-top-lands") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (set! (-> s3-3 y) (-> obj down y)) - (let ((f0-20 (-> s2-0 transv y))) - (when (< f0-20 0.0) - (let ((f0-22 (* 0.3 (- f0-20)))) - (set! (-> s2-0 transv y) f0-22) - (if (< 7782.4 f0-22) - (sound-play-by-name - (static-sound-name "sunk-top-lands") - (new-sound-id) - 614 - 0 - 0 - 1 - #t + (when (< f30-1 0.94) + (spawn (-> obj part2) (-> obj down)) + (let ((a1-8 (new 'stack-no-clear 'vector))) + (set! (-> a1-8 quad) (-> obj root-override trans quad)) + (set! (-> a1-8 y) (+ -3072.0 (-> a1-8 y))) + (spawn (-> obj part3) a1-8) + ) ) - ) ) - ) ) + (else + (set! s5-0 #t) + (when (-> obj do-falling-sound?) + (set! (-> obj do-falling-sound?) #f) + (sound-play-by-name (static-sound-name "sunk-top-falls") (new-sound-id) 1024 0 0 1 #t) + ) + ) ) - ) - (else - (set! (-> obj do-landing-sound?) #t) - (let ((f0-24 (* 0.000048828126 (- (-> obj up y) (-> s2-0 trans y))))) + ) + (dotimes (s4-3 3) + (let ((s2-0 (-> obj control-pt s4-3)) + (s3-3 (new 'stack-no-clear 'vector)) + ) + (set! (-> s3-3 quad) (-> s2-0 trans quad)) (cond - ((< 1.0 f0-24) - (set! f0-24 1.0) - ) - ((< f0-24 -1.0) - (set! f0-24 -1.0) - ) - ) - (+! - (-> s2-0 transv y) - (* 819200.0 (-> *display* seconds-per-frame) f0-24) - ) - (let ((f1-24 (-> s2-0 transv y))) - (when (< 122880.0 (fabs f1-24)) - (if (>= f1-24 0.0) - (set! (-> s2-0 transv y) 122880.0) - (set! (-> s2-0 transv y) -122880.0) - ) - ) - ) - (let ((a1-14 s3-3) - (v1-61 s3-3) - (a0-26 (new 'stack-no-clear 'vector)) + (s5-0 + (+! (-> s2-0 transv y) (* -819200.0 (-> *display* seconds-per-frame))) + (let ((a1-10 s3-3) + (v1-42 s3-3) + (a0-21 (new 'stack-no-clear 'vector)) + ) + (.lvf vf1 (&-> (-> s2-0 transv) quad)) + (let ((f0-17 (-> *display* seconds-per-frame))) + (.mov at-0 f0-17) + ) + (.mov vf2 at-0) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> a0-21 quad) vf1) + (vector+! a1-10 v1-42 a0-21) ) - (.lvf vf1 (&-> (-> s2-0 transv) quad)) - (let ((f1-27 (-> *display* seconds-per-frame))) - (.mov at-1 f1-27) - ) - (.mov vf2 at-1) - (.mov.vf vf1 vf0 :mask #b1000) - (.mul.x.vf vf1 vf1 vf2 :mask #b111) - (.svf (&-> a0-26 quad) vf1) - (vector+! a1-14 v1-61 a0-26) - ) - (let ((f1-29 (- (-> obj up y) (-> s3-3 y))) - (v1-62 (>= f0-24 0.0)) + (when (< (-> s3-3 y) (-> obj down y)) + (when (-> obj do-landing-sound?) + (set! (-> obj do-landing-sound?) #f) + (sound-play-by-name (static-sound-name "sunk-top-lands") (new-sound-id) 1024 0 0 1 #t) + ) + (set! (-> s3-3 y) (-> obj down y)) + (let ((f0-20 (-> s2-0 transv y))) + (when (< f0-20 0.0) + (let ((f0-22 (* 0.3 (- f0-20)))) + (set! (-> s2-0 transv y) f0-22) + (if (< 7782.4 f0-22) + (sound-play-by-name (static-sound-name "sunk-top-lands") (new-sound-id) 614 0 0 1 #t) + ) + ) + ) + ) + ) + ) + (else + (set! (-> obj do-landing-sound?) #t) + (let ((f0-24 (* 0.000048828126 (- (-> obj up y) (-> s2-0 trans y))))) + (cond + ((< 1.0 f0-24) + (set! f0-24 1.0) + ) + ((< f0-24 -1.0) + (set! f0-24 -1.0) + ) + ) + (+! (-> s2-0 transv y) (* 819200.0 (-> *display* seconds-per-frame) f0-24)) + (let ((f1-24 (-> s2-0 transv y))) + (when (< 122880.0 (fabs f1-24)) + (if (>= f1-24 0.0) + (set! (-> s2-0 transv y) 122880.0) + (set! (-> s2-0 transv y) -122880.0) + ) + ) + ) + (let ((a1-14 s3-3) + (v1-61 s3-3) + (a0-26 (new 'stack-no-clear 'vector)) + ) + (.lvf vf1 (&-> (-> s2-0 transv) quad)) + (let ((f1-27 (-> *display* seconds-per-frame))) + (.mov at-1 f1-27) + ) + (.mov vf2 at-1) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> a0-26 quad) vf1) + (vector+! a1-14 v1-61 a0-26) + ) + (let ((f1-29 (- (-> obj up y) (-> s3-3 y))) + (v1-62 (>= f0-24 0.0)) + ) + (when (!= v1-62 (>= f1-29 0.0)) + (let ((f0-26 (-> s2-0 transv y))) + (when (< 40960.0 (fabs f0-26)) + (if (>= f0-26 0.0) + (set! (-> s2-0 transv y) 40960.0) + (set! (-> s2-0 transv y) -40960.0) + ) + ) + ) + (set! (-> s2-0 transv y) (* 0.8 (-> s2-0 transv y))) + ) + ) ) - (when (!= v1-62 (>= f1-29 0.0)) - (let ((f0-26 (-> s2-0 transv y))) - (when (< 40960.0 (fabs f0-26)) - (if (>= f0-26 0.0) - (set! (-> s2-0 transv y) 40960.0) - (set! (-> s2-0 transv y) -40960.0) - ) ) - ) - (set! (-> s2-0 transv y) (* 0.8 (-> s2-0 transv y))) ) - ) + (set! (-> s2-0 trans quad) (-> s3-3 quad)) ) - ) ) - (set! (-> s2-0 trans quad) (-> s3-3 quad)) - ) - ) - (let ((f0-31 0.0)) - (dotimes (v1-71 3) - (+! f0-31 (-> obj control-pt v1-71 trans y)) - ) - (let ((f0-32 (* 0.33333334 f0-31)) - (a1-16 (new 'stack-no-clear 'vector)) + (let ((f0-31 0.0)) + (dotimes (v1-71 3) + (+! f0-31 (-> obj control-pt v1-71 trans y)) + ) + (let ((f0-32 (* 0.33333334 f0-31)) + (a1-16 (new 'stack-no-clear 'vector)) + ) + (set! (-> a1-16 quad) (-> obj root-override trans quad)) + (set! (-> a1-16 y) f0-32) + (TODO-RENAME-30 (-> obj root-override) a1-16) + ) + ) + (let ((v1-77 (new 'stack-no-clear 'vector)) + (a0-35 (new 'stack-no-clear 'vector)) + (s5-1 (new 'stack-no-clear 'vector)) ) - (set! (-> a1-16 quad) (-> obj root-override trans quad)) - (set! (-> a1-16 y) f0-32) - (TODO-RENAME-30 (-> obj root-override) a1-16) - ) + (vector-! v1-77 (the-as vector (&-> obj stack 176)) (the-as vector (-> obj control-pt))) + (vector-! a0-35 (the-as vector (&-> obj stack 208)) (the-as vector (-> obj control-pt))) + (vector-cross! s5-1 v1-77 a0-35) + (vector-normalize! s5-1 1.0) + (forward-up-nopitch->quaternion + (-> obj root-override quat) + (vector-z-quaternion! (new-stack-vector0) (-> obj root-override quat)) + s5-1 + ) + ) ) - (let ((v1-77 (new 'stack-no-clear 'vector)) - (a0-35 (new 'stack-no-clear 'vector)) - (s5-1 (new 'stack-no-clear 'vector)) - ) - (vector-! - v1-77 - (the-as vector (&-> obj stack 176)) - (the-as vector (-> obj control-pt)) - ) - (vector-! - a0-35 - (the-as vector (&-> obj stack 208)) - (the-as vector (-> obj control-pt)) - ) - (vector-cross! s5-1 v1-77 a0-35) - (vector-normalize! s5-1 1.0) - (forward-up-nopitch->quaternion - (-> obj root-override quat) - (vector-z-quaternion! (new-stack-vector0) (-> obj root-override quat)) - s5-1 - ) - ) - ) ) ;; failed to figure out what this is: @@ -879,13 +777,13 @@ (the-as (function none :behavior steam-cap) rider-trans) :code (behavior () - (while #t - (dummy-20 self) - (dummy-21 self) - (suspend) + (while #t + (dummy-20 self) + (dummy-21 self) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior steam-cap) rider-post) ) @@ -894,31 +792,25 @@ ;; INFO: Return type mismatch process-drawable vs steam-cap. (defmethod relocate steam-cap ((obj steam-cap) (arg0 int)) (if (nonzero? (-> obj part2)) - (&+! (-> obj part2) arg0) - ) + (&+! (-> obj part2) arg0) + ) (if (nonzero? (-> obj part3)) - (&+! (-> obj part3) arg0) - ) + (&+! (-> obj part3) arg0) + ) (the-as - steam-cap - ((the-as - (function process-drawable int process-drawable) - (find-parent-method steam-cap 7) - ) - obj - arg0 + steam-cap + ((the-as (function process-drawable int process-drawable) (find-parent-method steam-cap 7)) obj arg0) ) - ) ) ;; definition for method 10 of type steam-cap (defmethod deactivate steam-cap ((obj steam-cap)) (if (nonzero? (-> obj part2)) - (kill-and-free-particles (-> obj part2)) - ) + (kill-and-free-particles (-> obj part2)) + ) (if (nonzero? (-> obj part3)) - (kill-and-free-particles (-> obj part3)) - ) + (kill-and-free-particles (-> obj part3)) + ) ((method-of-type process-drawable deactivate) obj) (none) ) @@ -929,44 +821,26 @@ (defmethod init-from-entity! steam-cap ((obj steam-cap) (arg0 entity-actor)) (local-vars (sv-16 res-tag)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 4) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 12288.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 4) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 12288.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (set! (-> obj do-burst?) #f) (set! (-> obj do-falling-sound?) #f) (set! (-> obj do-landing-sound?) #f) @@ -975,71 +849,61 @@ (logior! (-> obj skel status) 1) (ja-channel-set! 1) (let ((s4-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s4-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity + (joint-control-channel-group-eval! + s4-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s4-1 frame-num) 0.0) ) - (set! (-> s4-1 frame-num) 0.0) - ) (dummy-47 (-> obj root-override)) (load-params! (-> obj sync) obj (the-as uint 1800) 0.0 0.15 0.15) (let ((f30-0 0.4) (f28-0 0.9) ) - (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-36 (res-lump-data arg0 'percent (pointer float) :tag-ptr (& sv-16)))) - (when v1-36 - (set! f30-0 (-> v1-36 0)) - (set! f28-0 (-> v1-36 1)) - (if (>= 0.01 f30-0) - (set! f30-0 0.01) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-36 (res-lump-data arg0 'percent (pointer float) :tag-ptr (& sv-16)))) + (when v1-36 + (set! f30-0 (-> v1-36 0)) + (set! f28-0 (-> v1-36 1)) + (if (>= 0.01 f30-0) + (set! f30-0 0.01) + ) + (if (>= 0.01 f28-0) + (set! f28-0 0.01) + ) + (if (>= f30-0 f28-0) + (set! f28-0 (+ 0.01 f30-0)) + ) + (when (>= f30-0 1.0) + (set! f28-0 (* 0.9 (/ f28-0 f30-0))) + (set! f30-0 0.9) + ) + ) ) - (if (>= 0.01 f28-0) - (set! f28-0 0.01) - ) - (if (>= f30-0 f28-0) - (set! f28-0 (+ 0.01 f30-0)) - ) - (when (>= f30-0 1.0) - (set! f28-0 (* 0.9 (/ f28-0 f30-0))) - (set! f30-0 0.9) - ) - ) + (set! (-> obj begin-travel-up) f30-0) + (set! (-> obj begin-travel-down) f28-0) ) - (set! (-> obj begin-travel-up) f30-0) - (set! (-> obj begin-travel-down) f28-0) - ) (set! (-> obj down quad) (-> obj root-override trans quad)) (set! (-> obj up quad) (-> obj root-override trans quad)) (set! (-> obj up y) (+ 40960.0 (-> obj up y))) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 441) obj) - ) - (set! - (-> obj part2) - (create-launch-control (-> *part-group-id-table* 442) obj) - ) - (set! - (-> obj part3) - (create-launch-control (-> *part-group-id-table* 443) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 441) obj)) + (set! (-> obj part2) (create-launch-control (-> *part-group-id-table* 442) obj)) + (set! (-> obj part3) (create-launch-control (-> *part-group-id-table* 443) obj)) (vector-reset! (-> obj root-override transv)) (let ((s5-1 (new 'stack-no-clear 'vector)) (f30-1 0.0) ) - (dotimes (s4-2 3) - (let ((s3-1 (-> obj control-pt s4-2))) - (set-vector! s5-1 0.0 0.0 10240.0 1.0) - (vector-rotate-around-y! s5-1 s5-1 f30-1) - (set! f30-1 (+ 21845.334 f30-1)) - (vector+! (-> s3-1 trans) s5-1 (-> obj root-override trans)) - (vector-reset! (-> s3-1 transv)) - ) + (dotimes (s4-2 3) + (let ((s3-1 (-> obj control-pt s4-2))) + (set-vector! s5-1 0.0 0.0 10240.0 1.0) + (vector-rotate-around-y! s5-1 s5-1 f30-1) + (set! f30-1 (+ 21845.334 f30-1)) + (vector+! (-> s3-1 trans) s5-1 (-> obj root-override trans)) + (vector-reset! (-> s3-1 transv)) + ) + ) ) - ) (go steam-cap-idle) (none) ) diff --git a/test/decompiler/reference/levels/sunken/sun-iris-door_REF.gc b/test/decompiler/reference/levels/sunken/sun-iris-door_REF.gc index e6655f48b6..b30f906748 100644 --- a/test/decompiler/reference/levels/sunken/sun-iris-door_REF.gc +++ b/test/decompiler/reference/levels/sunken/sun-iris-door_REF.gc @@ -34,8 +34,8 @@ ;; definition for method 3 of type sun-iris-door (defmethod inspect sun-iris-door ((obj sun-iris-door)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttimeout: ~f~%" (-> obj timeout)) (format #t "~T~Tproximity?: ~A~%" (-> obj proximity?)) (format #t "~T~Tdirectional-proximity?: ~A~%" (-> obj directional-proximity?)) @@ -61,49 +61,36 @@ ;; definition for method 21 of type sun-iris-door (defmethod should-open? sun-iris-door ((obj sun-iris-door)) (let ((f30-0 1228800.0)) - 0.0 - (let ((f0-7 (cond - ((-> obj directional-proximity?) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (when *target* - (vector-! s5-0 (target-pos 0) (-> obj root-override trans)) - (set! (-> s5-0 y) 0.0) - (set! f30-0 (fabs (vector-dot s5-0 (-> obj outward-vec)))) + 0.0 + (let ((f0-7 (cond + ((-> obj directional-proximity?) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (when *target* + (vector-! s5-0 (target-pos 0) (-> obj root-override trans)) + (set! (-> s5-0 y) 0.0) + (set! f30-0 (fabs (vector-dot s5-0 (-> obj outward-vec)))) + ) + (vector-! s5-0 (camera-pos) (-> obj root-override trans)) + (set! (-> s5-0 y) 0.0) + (fabs (vector-dot s5-0 (-> obj outward-vec))) + ) ) - (vector-! s5-0 (camera-pos) (-> obj root-override trans)) - (set! (-> s5-0 y) 0.0) - (fabs (vector-dot s5-0 (-> obj outward-vec))) - ) - ) - (else - (if *target* - (set! - f30-0 - (vector-vector-xz-distance - (-> obj root-override trans) - (target-pos 0) + (else + (if *target* + (set! f30-0 (vector-vector-xz-distance (-> obj root-override trans) (target-pos 0))) + ) + (vector-vector-xz-distance (-> obj root-override trans) (camera-pos)) ) - ) ) - (vector-vector-xz-distance - (-> obj root-override trans) - (camera-pos) - ) - ) ) ) - ) - (when (or (>= (-> obj open-dist) f30-0) (>= (-> obj open-dist) f0-7)) - (if - (or - (not (-> obj locked-by-task?)) - (task-complete? *game-info* (-> obj entity extra perm task)) - ) - (return #t) + (when (or (>= (-> obj open-dist) f30-0) (>= (-> obj open-dist) f0-7)) + (if (or (not (-> obj locked-by-task?)) (task-complete? *game-info* (-> obj entity extra perm task))) + (return #t) + ) + ) ) - ) ) - ) #f ) @@ -111,191 +98,148 @@ (defstate sun-iris-door-closed (sun-iris-door) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (go sun-iris-door-opening) + (case arg2 + (('trigger) + (go sun-iris-door-opening) + ) + (('move-to) + (set! (-> self move-to?) #t) + (set! (-> self move-to-pos quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (quaternion-copy! (-> self move-to-quat) (the-as quaternion (-> arg3 param 1))) + ) ) - (('move-to) - (set! (-> self move-to?) #t) - (set! - (-> self move-to-pos quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - (quaternion-copy! - (-> self move-to-quat) - (the-as quaternion (-> arg3 param 1)) - ) - ) ) - ) :trans (behavior () - (when (-> self proximity?) - (if (should-open? self) - (go sun-iris-door-opening) - ) + (when (-> self proximity?) + (if (should-open? self) + (go sun-iris-door-opening) + ) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (none) - ) :post (behavior () - (when (-> self move-to?) - (set! (-> self move-to?) #f) - (TODO-RENAME-30 (-> self root-override) (-> self move-to-pos)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) - (ja-post) + (when (-> self move-to?) + (set! (-> self move-to?) #f) + (TODO-RENAME-30 (-> self root-override) (-> self move-to-pos)) + (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (ja-post) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate sun-iris-door-opening (sun-iris-door) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('untrigger) - (go sun-iris-door-closing) + (case arg2 + (('untrigger) + (go sun-iris-door-closing) + ) + (('move-to) + (set! (-> self move-to?) #t) + (set! (-> self move-to-pos quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (quaternion-copy! (-> self move-to-quat) (the-as quaternion (-> arg3 param 1))) + ) ) - (('move-to) - (set! (-> self move-to?) #t) - (set! - (-> self move-to-pos quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - (quaternion-copy! - (-> self move-to-quat) - (the-as quaternion (-> arg3 param 1)) - ) - ) ) - ) :code (behavior () - (sound-play-by-name - (static-sound-name "irisdoor2") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) + (sound-play-by-name (static-sound-name "irisdoor2") (new-sound-id) 1024 0 0 1 #t) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (ja-post) + (go sun-iris-door-open) + (none) ) - (ja-post) - (go sun-iris-door-open) - (none) - ) :post (behavior () - (cond - ((-> self move-to?) - (set! (-> self move-to?) #f) - (TODO-RENAME-30 (-> self root-override) (-> self move-to-pos)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) - (ja-post) - ) - (else - (transform-post) - ) + (cond + ((-> self move-to?) + (set! (-> self move-to?) #f) + (TODO-RENAME-30 (-> self root-override) (-> self move-to-pos)) + (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (ja-post) + ) + (else + (transform-post) + ) + ) + (none) ) - (none) - ) ) ;; definition for method 20 of type sun-iris-door (defmethod should-close? sun-iris-door ((obj sun-iris-door)) (let ((f30-0 1228800.0)) - 0.0 - (let ((f0-7 (cond - ((-> obj directional-proximity?) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (when *target* - (vector-! s5-0 (target-pos 0) (-> obj root-override trans)) - (set! (-> s5-0 y) 0.0) - (set! f30-0 (fabs (vector-dot s5-0 (-> obj outward-vec)))) + 0.0 + (let ((f0-7 (cond + ((-> obj directional-proximity?) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (when *target* + (vector-! s5-0 (target-pos 0) (-> obj root-override trans)) + (set! (-> s5-0 y) 0.0) + (set! f30-0 (fabs (vector-dot s5-0 (-> obj outward-vec)))) + ) + (vector-! s5-0 (camera-pos) (-> obj root-override trans)) + (set! (-> s5-0 y) 0.0) + (fabs (vector-dot s5-0 (-> obj outward-vec))) + ) ) - (vector-! s5-0 (camera-pos) (-> obj root-override trans)) - (set! (-> s5-0 y) 0.0) - (fabs (vector-dot s5-0 (-> obj outward-vec))) - ) - ) - (else - (if *target* - (set! - f30-0 - (vector-vector-xz-distance - (-> obj root-override trans) - (target-pos 0) + (else + (if *target* + (set! f30-0 (vector-vector-xz-distance (-> obj root-override trans) (target-pos 0))) + ) + (vector-vector-xz-distance (-> obj root-override trans) (camera-pos)) ) - ) ) - (vector-vector-xz-distance - (-> obj root-override trans) - (camera-pos) - ) - ) ) ) - ) - (when (and (>= f30-0 (-> obj close-dist)) (>= f0-7 (-> obj close-dist))) - (cond - ((and *target* (-> obj directional-proximity?)) - (let ((s4-6 (new 'stack-no-clear 'vector)) - (s5-3 (new 'stack-no-clear 'vector)) + (when (and (>= f30-0 (-> obj close-dist)) (>= f0-7 (-> obj close-dist))) + (cond + ((and *target* (-> obj directional-proximity?)) + (let ((s4-6 (new 'stack-no-clear 'vector)) + (s5-3 (new 'stack-no-clear 'vector)) + ) + (vector-! s4-6 (target-pos 0) (-> obj root-override trans)) + (set! (-> s4-6 y) 0.0) + (vector-! s5-3 (camera-pos) (-> obj root-override trans)) + (set! (-> s5-3 y) 0.0) + (case (>= (vector-dot (-> obj outward-vec) s4-6) 0.0) + (((>= (vector-dot (-> obj outward-vec) s5-3) 0.0)) + (return #t) + ) + ) ) - (vector-! s4-6 (target-pos 0) (-> obj root-override trans)) - (set! (-> s4-6 y) 0.0) - (vector-! s5-3 (camera-pos) (-> obj root-override trans)) - (set! (-> s5-3 y) 0.0) - (case (>= (vector-dot (-> obj outward-vec) s4-6) 0.0) - (((>= (vector-dot (-> obj outward-vec) s5-3) 0.0)) - (return #t) ) - ) + (else + (return #t) + ) + ) ) - ) - (else - (return #t) - ) ) - ) ) - ) #f ) @@ -303,189 +247,143 @@ (defstate sun-iris-door-open (sun-iris-door) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (let ((v0-0 (the-as object (-> *display* base-frame-counter)))) - (set! (-> self state-time) (the-as int v0-0)) - v0-0 + (case arg2 + (('trigger) + (let ((v0-0 (the-as object (-> *display* base-frame-counter)))) + (set! (-> self state-time) (the-as int v0-0)) + v0-0 + ) + ) + (('untrigger) + (go sun-iris-door-closing) + ) + (('move-to) + (set! (-> self move-to?) #t) + (set! (-> self move-to-pos quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (quaternion-copy! (-> self move-to-quat) (the-as quaternion (-> arg3 param 1))) ) ) - (('untrigger) - (go sun-iris-door-closing) - ) - (('move-to) - (set! (-> self move-to?) #t) - (set! - (-> self move-to-pos quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - (quaternion-copy! - (-> self move-to-quat) - (the-as quaternion (-> arg3 param 1)) - ) - ) ) - ) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (clear-collide-with-as (-> self root-override)) - (logior! (-> self draw status) 2) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (clear-collide-with-as (-> self root-override)) + (logior! (-> self draw status) 2) + (none) + ) :exit (behavior () - (restore-collide-with-as (-> self root-override)) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (none) - ) + (restore-collide-with-as (-> self root-override)) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (none) + ) :trans (behavior () - (when (-> self proximity?) - (if (should-close? self) - (go sun-iris-door-closing) - ) - ) - (if - (and - (!= (-> self timeout) 0.0) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the int (* 300.0 (-> self timeout))) + (when (-> self proximity?) + (if (should-close? self) + (go sun-iris-door-closing) + ) ) - ) - (go sun-iris-door-closing) + (if (and + (!= (-> self timeout) 0.0) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the int (* 300.0 (-> self timeout)))) + ) + (go sun-iris-door-closing) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (none) - ) :post (behavior () - (when (-> self move-to?) - (set! (-> self move-to?) #f) - (TODO-RENAME-30 (-> self root-override) (-> self move-to-pos)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) - (ja-post) + (when (-> self move-to?) + (set! (-> self move-to?) #f) + (TODO-RENAME-30 (-> self root-override) (-> self move-to-pos)) + (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (ja-post) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate sun-iris-door-closing (sun-iris-door) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (go sun-iris-door-opening) + (case arg2 + (('trigger) + (go sun-iris-door-opening) + ) + (('move-to) + (set! (-> self move-to?) #t) + (set! (-> self move-to-pos quad) (-> (the-as vector (-> arg3 param 0)) quad)) + (quaternion-copy! (-> self move-to-quat) (the-as quaternion (-> arg3 param 1))) + ) ) - (('move-to) - (set! (-> self move-to?) #t) - (set! - (-> self move-to-pos quad) - (-> (the-as vector (-> arg3 param 0)) quad) - ) - (quaternion-copy! - (-> self move-to-quat) - (the-as quaternion (-> arg3 param 1)) - ) - ) ) - ) :code (behavior () - (sound-play-by-name - (static-sound-name "irisdoor2") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 0.0) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 param 0) 0.0) - (set! (-> a0-3 param 1) 1.0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! + (sound-play-by-name (static-sound-name "irisdoor2") (new-sound-id) 1024 0 0 1 #t) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) 0.0) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) 0.0) + (set! (-> a0-3 param 1) 1.0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (ja-post) + (go sun-iris-door-closed) + (none) ) - (ja-post) - (go sun-iris-door-closed) - (none) - ) :post (behavior () - (cond - ((-> self move-to?) - (set! (-> self move-to?) #f) - (TODO-RENAME-30 (-> self root-override) (-> self move-to-pos)) - (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) - (ja-post) - ) - (else - (transform-post) - ) + (cond + ((-> self move-to?) + (set! (-> self move-to?) #f) + (TODO-RENAME-30 (-> self root-override) (-> self move-to-pos)) + (quaternion-copy! (-> self root-override quat) (-> self move-to-quat)) + (ja-post) + ) + (else + (transform-post) + ) + ) + (none) ) - (none) - ) ) ;; definition for method 11 of type sun-iris-door ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - sun-iris-door - ((obj sun-iris-door) (arg0 entity-actor)) +(defmethod init-from-entity! sun-iris-door ((obj sun-iris-door) (arg0 entity-actor)) (local-vars (sv-16 res-tag)) (set! (-> obj move-to?) #f) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 0) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 24576.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 0) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 24576.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *sun-iris-door-sg* '()) (set! (-> obj close-dist) 49152.0) @@ -494,48 +392,38 @@ (set! (-> obj proximity?) (nonzero? (res-lump-value arg0 'proximity uint128))) (set! (-> obj directional-proximity?) #f) (when (name= (-> obj name) "sun-iris-door-6") - (set! (-> obj close-dist) 16384.0) - (set! (-> obj open-dist) 8192.0) - (set! (-> obj directional-proximity?) #t) - ) + (set! (-> obj close-dist) 16384.0) + (set! (-> obj open-dist) 8192.0) + (set! (-> obj directional-proximity?) #t) + ) (set! (-> obj locked-by-task?) (nonzero? (-> obj entity extra perm task))) (let ((f0-11 (res-lump-float arg0 'scale-factor :default 1.0))) - (set-vector! (-> obj root-override scale) f0-11 f0-11 f0-11 1.0) - (set! (-> obj draw bounds w) (* 18432.0 f0-11)) - (let ((v1-25 (-> obj root-override root-prim))) - (set! (-> v1-25 local-sphere w) (* 24576.0 f0-11 f0-11)) - ) - ) - (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-28 - (res-lump-data - (-> obj entity) - 'trans-offset - (pointer float) - :tag-ptr - (& sv-16) + (set-vector! (-> obj root-override scale) f0-11 f0-11 f0-11 1.0) + (set! (-> obj draw bounds w) (* 18432.0 f0-11)) + (let ((v1-25 (-> obj root-override root-prim))) + (set! (-> v1-25 local-sphere w) (* 24576.0 f0-11 f0-11)) ) - ) ) - (when v1-28 - (+! (-> obj root-override trans x) (-> v1-28 0)) - (+! (-> obj root-override trans y) (-> v1-28 1)) - (+! (-> obj root-override trans z) (-> v1-28 2)) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-28 (res-lump-data (-> obj entity) 'trans-offset (pointer float) :tag-ptr (& sv-16)))) + (when v1-28 + (+! (-> obj root-override trans x) (-> v1-28 0)) + (+! (-> obj root-override trans y) (-> v1-28 1)) + (+! (-> obj root-override trans z) (-> v1-28 2)) + ) ) - ) (let ((f30-0 (quaternion-y-angle (-> obj root-override quat)))) - (set-vector! (-> obj outward-vec) (sin f30-0) 0.0 (cos f30-0) 1.0) - ) + (set-vector! (-> obj outward-vec) (sin f30-0) 0.0 (cos f30-0) 1.0) + ) (ja-channel-set! 1) (let ((s5-2 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim (-> obj draw art-group data 3)) - num-func-identity + (joint-control-channel-group-eval! + s5-2 + (the-as art-joint-anim (-> obj draw art-group data 3)) + num-func-identity + ) + (set! (-> s5-2 frame-num) 0.0) ) - (set! (-> s5-2 frame-num) 0.0) - ) (dummy-47 (-> obj root-override)) (ja-post) (go sun-iris-door-closed) @@ -545,35 +433,22 @@ ;; definition for function sun-iris-door-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - sun-iris-door-init-by-other sun-iris-door - ((arg0 vector) (arg1 quaternion) (arg2 symbol)) +(defbehavior sun-iris-door-init-by-other sun-iris-door ((arg0 vector) (arg1 quaternion) (arg2 symbol)) (set! (-> self move-to?) #f) - (let - ((s3-0 (new 'process 'collide-shape self (collide-list-enum hit-by-others)))) - (let - ((s2-0 - (new - 'process - 'collide-shape-prim-mesh - s3-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s3-0 (new 'process 'collide-shape self (collide-list-enum hit-by-others)))) + (let ((s2-0 (new 'process 'collide-shape-prim-mesh s3-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 0) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 24576.0) + (set-root-prim! s3-0 s2-0) ) - ) - (set! (-> s2-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 0) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 24576.0) - (set-root-prim! s3-0 s2-0) + (set! (-> s3-0 nav-radius) (* 0.75 (-> s3-0 root-prim local-sphere w))) + (backup-collide-with-as s3-0) + (set! (-> self root-override) s3-0) ) - (set! (-> s3-0 nav-radius) (* 0.75 (-> s3-0 root-prim local-sphere w))) - (backup-collide-with-as s3-0) - (set! (-> self root-override) s3-0) - ) (set! (-> self root-override trans quad) (-> arg0 quad)) (quaternion-copy! (-> self root-override quat) arg1) (initialize-skeleton self *sun-iris-door-sg* '()) @@ -584,45 +459,33 @@ (set! (-> self directional-proximity?) #f) (ja-channel-set! 1) (cond - (arg2 - (let ((s5-1 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity - ) - (set! - (-> s5-1 frame-num) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 + (arg2 + (let ((s5-1 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> self draw art-group data 3)) + num-func-identity + ) + (set! (-> s5-1 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) ) - ) ) - ) - ) - (else - (let ((s5-2 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-identity + (else + (let ((s5-2 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s5-2 + (the-as art-joint-anim (-> self draw art-group data 3)) + num-func-identity + ) + (set! (-> s5-2 frame-num) 0.0) + ) ) - (set! (-> s5-2 frame-num) 0.0) - ) ) - ) (transform-post) (if arg2 - (go sun-iris-door-open) - (go sun-iris-door-closed) - ) + (go sun-iris-door-open) + (go sun-iris-door-closed) + ) (none) ) diff --git a/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc b/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc index 770c838a81..c468301bb9 100644 --- a/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-fish_REF.gc @@ -37,8 +37,8 @@ ;; definition for method 3 of type sunkenfisha (defmethod inspect sunkenfisha ((obj sunkenfisha)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpath-u: ~f~%" (-> obj path-u)) (format #t "~T~Tpath-speed: ~f~%" (-> obj path-speed)) (format #t "~T~Tpath-speed-seek-speed: ~f~%" (-> obj path-speed-seek-speed)) @@ -47,32 +47,12 @@ (format #t "~T~Tpath-normal-speed-hi: ~f~%" (-> obj path-normal-speed-hi)) (format #t "~T~Tpath-dir: ~f~%" (-> obj path-dir)) (format #t "~T~Tchange-path-dir-time: ~D~%" (-> obj change-path-dir-time)) - (format - #t - "~T~Tlocal-path-offset: #~%" - (-> obj local-path-offset) - ) - (format - #t - "~T~Ttarg-local-path-offset: #~%" - (-> obj targ-local-path-offset) - ) - (format - #t - "~T~Tlocal-path-offset-dir: #~%" - (-> obj local-path-offset-dir) - ) - (format - #t - "~T~Tmax-local-path-offset: #~%" - (-> obj max-local-path-offset) - ) + (format #t "~T~Tlocal-path-offset: #~%" (-> obj local-path-offset)) + (format #t "~T~Ttarg-local-path-offset: #~%" (-> obj targ-local-path-offset)) + (format #t "~T~Tlocal-path-offset-dir: #~%" (-> obj local-path-offset-dir)) + (format #t "~T~Tmax-local-path-offset: #~%" (-> obj max-local-path-offset)) (format #t "~T~Tfacing-rot: #~%" (-> obj facing-rot)) - (format - #t - "~T~Tpath-trans-offset: #~%" - (-> obj path-trans-offset) - ) + (format #t "~T~Tpath-trans-offset: #~%" (-> obj path-trans-offset)) obj ) @@ -111,21 +91,18 @@ ) ;; definition for method 21 of type sunkenfisha -(defmethod - TODO-RENAME-orbit?-21 - sunkenfisha - ((obj sunkenfisha) (arg0 vector) (arg1 float) (arg2 vector)) +(defmethod TODO-RENAME-orbit?-21 sunkenfisha ((obj sunkenfisha) (arg0 vector) (arg1 float) (arg2 vector)) (eval-path-curve! (-> obj path) arg0 arg1 'interp) (vector+! arg0 arg0 (-> obj path-trans-offset)) (let ((s2-0 (new 'stack-no-clear 'vector))) - (TODO-RENAME-14 (-> obj path) s2-0 arg1) - (let ((f0-2 (atan (-> s2-0 x) (-> s2-0 z))) - (s4-1 (new 'stack-no-clear 'vector)) - ) - (vector-rotate-around-y! s4-1 arg2 f0-2) - (vector+! arg0 arg0 s4-1) + (TODO-RENAME-14 (-> obj path) s2-0 arg1) + (let ((f0-2 (atan (-> s2-0 x) (-> s2-0 z))) + (s4-1 (new 'stack-no-clear 'vector)) + ) + (vector-rotate-around-y! s4-1 arg2 f0-2) + (vector+! arg0 arg0 s4-1) + ) ) - ) ) ;; definition for method 24 of type sunkenfisha @@ -134,47 +111,31 @@ (s3-0 (new 'stack-no-clear 'matrix)) (gp-0 (new 'stack-no-clear 'vector)) ) - (vector-! s4-0 (-> obj targ-local-path-offset) (-> obj local-path-offset)) - (when (>= (* 4096.0 (-> *display* seconds-per-frame)) (vector-length s4-0)) - (until (< (* 16384.0 (-> *display* seconds-per-frame)) (vector-length s4-0)) - (set! - (-> obj targ-local-path-offset x) - (rand-vu-float-range - (- (-> obj max-local-path-offset x)) - (-> obj max-local-path-offset x) - ) + (vector-! s4-0 (-> obj targ-local-path-offset) (-> obj local-path-offset)) + (when (>= (* 4096.0 (-> *display* seconds-per-frame)) (vector-length s4-0)) + (until (< (* 16384.0 (-> *display* seconds-per-frame)) (vector-length s4-0)) + (set! (-> obj targ-local-path-offset x) + (rand-vu-float-range (- (-> obj max-local-path-offset x)) (-> obj max-local-path-offset x)) + ) + (set! (-> obj targ-local-path-offset y) + (rand-vu-float-range (- (-> obj max-local-path-offset y)) (-> obj max-local-path-offset y)) + ) + (vector-! s4-0 (-> obj targ-local-path-offset) (-> obj local-path-offset)) + ) ) - (set! - (-> obj targ-local-path-offset y) - (rand-vu-float-range - (- (-> obj max-local-path-offset y)) - (-> obj max-local-path-offset y) - ) + (vector-normalize! s4-0 1.0) + (matrix-from-two-vectors-max-angle-partial! + s3-0 + (-> obj local-path-offset-dir) + s4-0 + (* 16384.0 (-> *display* seconds-per-frame)) + 0.1 ) - (vector-! s4-0 (-> obj targ-local-path-offset) (-> obj local-path-offset)) - ) + (vector-matrix*! (-> obj local-path-offset-dir) (-> obj local-path-offset-dir) s3-0) + (vector-normalize! (-> obj local-path-offset-dir) 1.0) + (vector-float*! gp-0 (-> obj local-path-offset-dir) (* 4096.0 (-> *display* seconds-per-frame))) + (vector+! (-> obj local-path-offset) (-> obj local-path-offset) gp-0) ) - (vector-normalize! s4-0 1.0) - (matrix-from-two-vectors-max-angle-partial! - s3-0 - (-> obj local-path-offset-dir) - s4-0 - (* 16384.0 (-> *display* seconds-per-frame)) - 0.1 - ) - (vector-matrix*! - (-> obj local-path-offset-dir) - (-> obj local-path-offset-dir) - s3-0 - ) - (vector-normalize! (-> obj local-path-offset-dir) 1.0) - (vector-float*! - gp-0 - (-> obj local-path-offset-dir) - (* 4096.0 (-> *display* seconds-per-frame)) - ) - (vector+! (-> obj local-path-offset) (-> obj local-path-offset) gp-0) - ) ) ;; definition for method 25 of type sunkenfisha @@ -182,67 +143,38 @@ (defmethod dummy-25 sunkenfisha ((obj sunkenfisha)) (let* ((f0-0 (-> obj path-speed)) (f1-1 - (seek - f0-0 - (-> obj targ-path-speed) - (* (-> obj path-speed-seek-speed) (-> *display* seconds-per-frame)) + (seek f0-0 (-> obj targ-path-speed) (* (-> obj path-speed-seek-speed) (-> *display* seconds-per-frame))) ) - ) ) - (set! (-> obj path-speed) f1-1) - (let - ((f30-0 - (+ - (-> obj path-u) - (* (-> obj path-dir) f1-1 (-> *display* seconds-per-frame)) - ) + (set! (-> obj path-speed) f1-1) + (let ((f30-0 (+ (-> obj path-u) (* (-> obj path-dir) f1-1 (-> *display* seconds-per-frame))))) + (cond + ((< f30-0 0.0) + (set! f30-0 (- f30-0)) + (TODO-RENAME-20 obj) + ) + ((< 1.0 f30-0) + (+! f30-0 (* 2.0 (- 1.0 f30-0))) + (TODO-RENAME-20 obj) + ) + ) + (set! (-> obj path-u) f30-0) ) - ) - (cond - ((< f30-0 0.0) - (set! f30-0 (- f30-0)) - (TODO-RENAME-20 obj) - ) - ((< 1.0 f30-0) - (+! f30-0 (* 2.0 (- 1.0 f30-0))) - (TODO-RENAME-20 obj) - ) - ) - (set! (-> obj path-u) f30-0) ) - ) (none) ) ;; definition for method 23 of type sunkenfisha (defmethod TODO-RENAME-23 sunkenfisha ((obj sunkenfisha)) (let ((s5-0 (new 'stack-no-clear 'vector))) - (set-vector! - s5-0 - (- (vector-x-angle (-> obj root transv))) - (vector-y-angle (-> obj root transv)) - 0.0 - 1.0 + (set-vector! s5-0 (- (vector-x-angle (-> obj root transv))) (vector-y-angle (-> obj root transv)) 0.0 1.0) + (set! (-> obj facing-rot x) + (deg-seek-smooth (-> obj facing-rot x) (-> s5-0 x) (* 16384.0 (-> *display* seconds-per-frame)) 0.1) + ) + (set! (-> obj facing-rot y) + (deg-seek-smooth (-> obj facing-rot y) (-> s5-0 y) (* 32768.0 (-> *display* seconds-per-frame)) 0.1) + ) ) - (set! - (-> obj facing-rot x) - (deg-seek-smooth - (-> obj facing-rot x) - (-> s5-0 x) - (* 16384.0 (-> *display* seconds-per-frame)) - 0.1 - ) - ) - (set! - (-> obj facing-rot y) - (deg-seek-smooth - (-> obj facing-rot y) - (-> s5-0 y) - (* 32768.0 (-> *display* seconds-per-frame)) - 0.1 - ) - ) - ) (quaternion-zxy! (-> obj root quat) (-> obj facing-rot)) ) @@ -250,139 +182,94 @@ (defmethod TODO-RENAME-20 sunkenfisha ((obj sunkenfisha)) (set! (-> obj path-dir) (- (-> obj path-dir))) (set! (-> obj path-speed) 0.0) - (set! - (-> obj targ-path-speed) - (rand-vu-float-range - (-> obj path-normal-speed-lo) - (-> obj path-normal-speed-hi) - ) - ) - (set! - (-> obj change-path-dir-time) - (the-as - uint - (+ (-> *display* base-frame-counter) (rand-vu-int-range 1500 5400)) - ) - ) - (set! - (-> obj targ-local-path-offset y) - (* 0.5 (+ (-> obj targ-local-path-offset y) (-> obj local-path-offset y))) - ) + (set! (-> obj targ-path-speed) + (rand-vu-float-range (-> obj path-normal-speed-lo) (-> obj path-normal-speed-hi)) + ) + (set! (-> obj change-path-dir-time) + (the-as uint (+ (-> *display* base-frame-counter) (rand-vu-int-range 1500 5400))) + ) + (set! (-> obj targ-local-path-offset y) + (* 0.5 (+ (-> obj targ-local-path-offset y) (-> obj local-path-offset y))) + ) (let* ((f0-8 (-> obj local-path-offset x)) (f1-3 (- (-> obj targ-local-path-offset x) f0-8)) ) - (when (< (fabs f1-3) 12288.0) - (cond - ((>= f1-3 0.0) - (let ((f0-10 (fmin (+ 12288.0 f0-8) (-> obj max-local-path-offset x)))) - (set! (-> obj targ-local-path-offset x) f0-10) - f0-10 - ) + (when (< (fabs f1-3) 12288.0) + (cond + ((>= f1-3 0.0) + (let ((f0-10 (fmin (+ 12288.0 f0-8) (-> obj max-local-path-offset x)))) + (set! (-> obj targ-local-path-offset x) f0-10) + f0-10 + ) + ) + (else + (let ((f0-12 (fmax (+ -12288.0 f0-8) (- (-> obj max-local-path-offset x))))) + (set! (-> obj targ-local-path-offset x) f0-12) + f0-12 + ) + ) + ) ) - (else - (let - ((f0-12 (fmax (+ -12288.0 f0-8) (- (-> obj max-local-path-offset x))))) - (set! (-> obj targ-local-path-offset x) f0-12) - f0-12 - ) - ) - ) ) - ) ) ;; failed to figure out what this is: (defstate sunkenfisha-idle (sunkenfisha) :trans (behavior () - (local-vars (at-0 int)) - (rlet ((vf0 :class vf) - (vf1 :class vf) - (vf2 :class vf) + (local-vars (at-0 int)) + (rlet ((vf0 :class vf) + (vf1 :class vf) + (vf2 :class vf) + ) + (init-vf0-vector) + (if (>= (-> *display* base-frame-counter) (the-as int (-> self change-path-dir-time))) + (TODO-RENAME-20 self) ) - (init-vf0-vector) - (if - (>= - (-> *display* base-frame-counter) - (the-as int (-> self change-path-dir-time)) + (TODO-RENAME-24 self) + (dummy-25 self) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (TODO-RENAME-orbit?-21 self gp-0 (-> self path-u) (-> self local-path-offset)) + (vector-! (-> self root transv) gp-0 (-> self root trans)) + (set! (-> self root trans quad) (-> gp-0 quad)) + ) + (let ((v1-16 (-> self root transv))) + (.lvf vf1 (&-> (-> self root transv) quad)) + (let ((f0-1 (-> *display* frames-per-second))) + (.mov at-0 f0-1) + ) + (.mov vf2 at-0) + (.mov.vf vf1 vf0 :mask #b1000) + (.mul.x.vf vf1 vf1 vf2 :mask #b111) + (.svf (&-> v1-16 quad) vf1) + ) + (TODO-RENAME-23 self) + (none) ) - (TODO-RENAME-20 self) - ) - (TODO-RENAME-24 self) - (dummy-25 self) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (TODO-RENAME-orbit?-21 - self - gp-0 - (-> self path-u) - (-> self local-path-offset) - ) - (vector-! (-> self root transv) gp-0 (-> self root trans)) - (set! (-> self root trans quad) (-> gp-0 quad)) - ) - (let ((v1-16 (-> self root transv))) - (.lvf vf1 (&-> (-> self root transv) quad)) - (let ((f0-1 (-> *display* frames-per-second))) - (.mov at-0 f0-1) - ) - (.mov vf2 at-0) - (.mov.vf vf1 vf0 :mask #b1000) - (.mul.x.vf vf1 vf1 vf2 :mask #b111) - (.svf (&-> v1-16 quad) vf1) - ) - (TODO-RENAME-23 self) - (none) ) - ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior sunkenfisha) ja-post) ) @@ -393,30 +280,30 @@ (process-drawable-from-entity! obj (the-as entity-actor (-> obj entity))) (set-vector! (-> obj root scale) 6.0 6.0 6.0 1.0) (let ((v1-3 (rand-vu-int-count 3))) - (cond - ((zero? v1-3) - (initialize-skeleton obj *sunkenfisha-red-yellow-sg* '()) - ) - ((= v1-3 1) - (initialize-skeleton obj *sunkenfisha-yellow-blue-sg* '()) - ) - ((= v1-3 2) - (initialize-skeleton obj *sunkenfisha-yellow-eye-sg* '()) - ) + (cond + ((zero? v1-3) + (initialize-skeleton obj *sunkenfisha-red-yellow-sg* '()) + ) + ((= v1-3 1) + (initialize-skeleton obj *sunkenfisha-yellow-blue-sg* '()) + ) + ((= v1-3 2) + (initialize-skeleton obj *sunkenfisha-yellow-eye-sg* '()) + ) + ) ) - ) (ja-channel-set! 1) (let ((s5-0 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> obj draw art-group data 6)) - num-func-identity + (joint-control-channel-group-eval! + s5-0 + (the-as art-joint-anim (-> obj draw art-group data 6)) + num-func-identity + ) + (let ((f0-4 0.0)) + (set! (-> s5-0 frame-num) f0-4) + f0-4 + ) ) - (let ((f0-4 0.0)) - (set! (-> s5-0 frame-num) f0-4) - f0-4 - ) - ) ) ;; definition for method 27 of type sunkenfisha @@ -426,137 +313,77 @@ (vector-reset! (-> obj path-trans-offset)) (set! (-> obj path-u) (rand-vu-float-range 0.0 1.0)) (if (zero? (rand-vu-int-count 2)) - (set! (-> obj path-dir) 1.0) - (set! (-> obj path-dir) -1.0) - ) + (set! (-> obj path-dir) 1.0) + (set! (-> obj path-dir) -1.0) + ) (set-vector! (-> obj max-local-path-offset) 16384.0 28672.0 0.0 1.0) (set! sv-16 (new 'static 'res-tag)) - (let - ((v1-5 - (res-lump-data - (-> obj entity) - 'path-max-offset - (pointer float) - :tag-ptr - (& sv-16) + (let ((v1-5 (res-lump-data (-> obj entity) 'path-max-offset (pointer float) :tag-ptr (& sv-16)))) + (when v1-5 + (set! (-> obj max-local-path-offset x) (-> v1-5 0)) + (set! (-> obj max-local-path-offset y) (-> v1-5 1)) ) - ) ) - (when v1-5 - (set! (-> obj max-local-path-offset x) (-> v1-5 0)) - (set! (-> obj max-local-path-offset y) (-> v1-5 1)) - ) - ) (set-vector! (-> obj local-path-offset) 0.0 0.0 0.0 1.0) - (set! - (-> obj local-path-offset x) - (rand-vu-float-range - (- (-> obj max-local-path-offset x)) - (-> obj max-local-path-offset x) - ) - ) - (set! - (-> obj local-path-offset y) - (rand-vu-float-range - (- (-> obj max-local-path-offset y)) - (-> obj max-local-path-offset y) - ) - ) + (set! (-> obj local-path-offset x) + (rand-vu-float-range (- (-> obj max-local-path-offset x)) (-> obj max-local-path-offset x)) + ) + (set! (-> obj local-path-offset y) + (rand-vu-float-range (- (-> obj max-local-path-offset y)) (-> obj max-local-path-offset y)) + ) (set! (-> obj targ-local-path-offset quad) (-> obj local-path-offset quad)) - (set! - (-> obj targ-local-path-offset x) - (rand-vu-float-range - (- (-> obj max-local-path-offset x)) - (-> obj max-local-path-offset x) - ) - ) - (set! - (-> obj targ-local-path-offset y) - (rand-vu-float-range - (- (-> obj max-local-path-offset y)) - (-> obj max-local-path-offset y) - ) - ) - (vector-! - (-> obj local-path-offset-dir) - (-> obj targ-local-path-offset) - (-> obj local-path-offset) - ) + (set! (-> obj targ-local-path-offset x) + (rand-vu-float-range (- (-> obj max-local-path-offset x)) (-> obj max-local-path-offset x)) + ) + (set! (-> obj targ-local-path-offset y) + (rand-vu-float-range (- (-> obj max-local-path-offset y)) (-> obj max-local-path-offset y)) + ) + (vector-! (-> obj local-path-offset-dir) (-> obj targ-local-path-offset) (-> obj local-path-offset)) (vector-normalize! (-> obj local-path-offset-dir) 1.0) - (set! - (-> obj change-path-dir-time) - (the-as - uint - (+ (-> *display* base-frame-counter) (rand-vu-int-range 1500 5400)) - ) - ) + (set! (-> obj change-path-dir-time) + (the-as uint (+ (-> *display* base-frame-counter) (rand-vu-int-range 1500 5400))) + ) (set! (-> obj path) (new 'process 'curve-control obj 'path -1000000000.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (set! sv-32 (new 'static 'res-tag)) - (let - ((v1-16 - (res-lump-data - (-> obj entity) - 'path-trans-offset - (pointer float) - :tag-ptr - (& sv-32) + (let ((v1-16 (res-lump-data (-> obj entity) 'path-trans-offset (pointer float) :tag-ptr (& sv-32)))) + (when v1-16 + (+! (-> obj path-trans-offset x) (-> v1-16 0)) + (+! (-> obj path-trans-offset y) (-> v1-16 1)) + (+! (-> obj path-trans-offset z) (-> v1-16 2)) ) - ) ) - (when v1-16 - (+! (-> obj path-trans-offset x) (-> v1-16 0)) - (+! (-> obj path-trans-offset y) (-> v1-16 1)) - (+! (-> obj path-trans-offset z) (-> v1-16 2)) - ) - ) (if (< (-> obj path curve num-cverts) 2) - (go process-drawable-art-error "bad path") - ) + (go process-drawable-art-error "bad path") + ) (let ((f28-0 8192.0) (f30-0 26624.0) ) - (set! sv-48 (new 'static 'res-tag)) - (let - ((v1-23 - (res-lump-data (-> obj entity) 'speed (pointer float) :tag-ptr (& sv-48)) + (set! sv-48 (new 'static 'res-tag)) + (let ((v1-23 (res-lump-data (-> obj entity) 'speed (pointer float) :tag-ptr (& sv-48)))) + (when v1-23 + (set! f28-0 (-> v1-23 0)) + (set! f30-0 (-> v1-23 1)) + ) + ) + (let ((f0-35 (path-distance (-> obj path)))) + (set! (-> obj path-normal-speed-lo) (/ f28-0 f0-35)) + (set! (-> obj path-normal-speed-hi) (/ f30-0 f0-35)) ) - ) - (when v1-23 - (set! f28-0 (-> v1-23 0)) - (set! f30-0 (-> v1-23 1)) - ) ) - (let ((f0-35 (path-distance (-> obj path)))) - (set! (-> obj path-normal-speed-lo) (/ f28-0 f0-35)) - (set! (-> obj path-normal-speed-hi) (/ f30-0 f0-35)) - ) - ) - (set! - (-> obj path-speed-seek-speed) - (* 2.0 (- (-> obj path-normal-speed-hi) (-> obj path-normal-speed-lo))) - ) - (set! - (-> obj path-speed) - (rand-vu-float-range - (-> obj path-normal-speed-lo) - (-> obj path-normal-speed-hi) - ) - ) + (set! (-> obj path-speed-seek-speed) (* 2.0 (- (-> obj path-normal-speed-hi) (-> obj path-normal-speed-lo)))) + (set! (-> obj path-speed) (rand-vu-float-range (-> obj path-normal-speed-lo) (-> obj path-normal-speed-hi))) (set! (-> obj targ-path-speed) (-> obj path-speed)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (TODO-RENAME-14 (-> obj path) s4-0 (-> obj path-u)) - (set-vector! (-> obj facing-rot) 0.0 (atan (-> s4-0 x) (-> s4-0 z)) 0.0 1.0) - ) - (when (< (-> obj path-dir) 0.0) - (let ((f0-52 (- (-> obj facing-rot y)))) - (set! (-> obj facing-rot y) f0-52) - f0-52 + (TODO-RENAME-14 (-> obj path) s4-0 (-> obj path-u)) + (set-vector! (-> obj facing-rot) 0.0 (atan (-> s4-0 x) (-> s4-0 z)) 0.0 1.0) + ) + (when (< (-> obj path-dir) 0.0) + (let ((f0-52 (- (-> obj facing-rot y)))) + (set! (-> obj facing-rot y) f0-52) + f0-52 + ) ) - ) ) ;; definition for function sunkenfisha-init-by-other @@ -574,38 +401,20 @@ (defmethod init-from-entity! sunkenfisha ((obj sunkenfisha) (arg0 entity-actor)) (TODO-RENAME-26 obj) (TODO-RENAME-27 obj) - (let - ((s5-0 - (+ - (res-lump-value - (-> obj entity) - 'count - uint128 - :default - (the-as uint128 1) - ) - -1 - ) - ) - ) - (while (> (the-as int s5-0) 0) - (let ((s4-0 (get-process *default-dead-pool* sunkenfisha #x4000))) - (when s4-0 - (let ((t9-4 (method-of-type sunkenfisha activate))) - (t9-4 - (the-as sunkenfisha s4-0) - obj - 'sunkenfisha - (the-as pointer #x70004000) + (let ((s5-0 (+ (res-lump-value (-> obj entity) 'count uint128 :default (the-as uint128 1)) -1))) + (while (> (the-as int s5-0) 0) + (let ((s4-0 (get-process *default-dead-pool* sunkenfisha #x4000))) + (when s4-0 + (let ((t9-4 (method-of-type sunkenfisha activate))) + (t9-4 (the-as sunkenfisha s4-0) obj 'sunkenfisha (the-as pointer #x70004000)) + ) + (run-now-in-process s4-0 sunkenfisha-init-by-other (-> obj entity)) + (-> s4-0 ppointer) + ) ) - ) - (run-now-in-process s4-0 sunkenfisha-init-by-other (-> obj entity)) - (-> s4-0 ppointer) + (+! s5-0 -1) ) - ) - (+! s5-0 -1) ) - ) (go sunkenfisha-idle) (none) ) diff --git a/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc b/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc index 4fe45950df..283dc28dd5 100644 --- a/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-obs_REF.gc @@ -54,8 +54,8 @@ ;; definition for method 3 of type side-to-side-plat (defmethod inspect side-to-side-plat ((obj side-to-side-plat)) (let ((t9-0 (method-of-type plat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpart-ry: ~f~%" (-> obj part-ry)) obj ) @@ -70,79 +70,72 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 436) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-side-to-side-plat" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1713 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1714 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 436) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-side-to-side-plat" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1713 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1714 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1713) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-x (meters -11.0) (meters 22.0) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 5324.8) - (sp-flt spt-g 4096.0) - (sp-flt spt-b 3686.4) - (sp-flt spt-vel-y (meters 0.0033333334)) - (sp-flt spt-fade-b -16.383999) - (sp-int spt-timer 25) - (sp-cpuinfo-flags aux-list) - (sp-rnd-flt spt-conerot-x (degrees 140.0) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 3.0)) - (sp-flt spt-rotate-y (degrees 18.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1713) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-x (meters -11.0) (meters 22.0) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 5324.8) + (sp-flt spt-g 4096.0) + (sp-flt spt-b 3686.4) + (sp-flt spt-vel-y (meters 0.0033333334)) + (sp-flt spt-fade-b -16.383999) + (sp-int spt-timer 25) + (sp-cpuinfo-flags aux-list) + (sp-rnd-flt spt-conerot-x (degrees 140.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 3.0)) + (sp-flt spt-rotate-y (degrees 18.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1714) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-x (meters -11.0) (meters 22.0) 1.0) - (sp-flt spt-y (meters 1.5)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-fade-g -0.42666668) - (sp-flt spt-fade-a -0.32) - (sp-flt spt-accel-y -0.13653333) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 130.0) (degrees 100.00001) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 3.0)) - (sp-flt spt-rotate-y (degrees 18.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1714) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-x (meters -11.0) (meters 22.0) 1.0) + (sp-flt spt-y (meters 1.5)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-fade-g -0.42666668) + (sp-flt spt-fade-a -0.32) + (sp-flt spt-accel-y -0.13653333) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 130.0) (degrees 100.00001) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 3.0)) + (sp-flt spt-rotate-y (degrees 18.0)) + (sp-end) + ) + ) + ) ;; definition for method 23 of type side-to-side-plat (defmethod get-unlit-skel side-to-side-plat ((obj side-to-side-plat)) @@ -152,44 +145,26 @@ ;; definition for method 24 of type side-to-side-plat ;; INFO: Return type mismatch int vs none. (defmethod dummy-24 side-to-side-plat ((obj side-to-side-plat)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 57344.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 57344.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) @@ -197,10 +172,7 @@ ;; definition for method 26 of type side-to-side-plat ;; INFO: Return type mismatch float vs none. (defmethod dummy-26 side-to-side-plat ((obj side-to-side-plat)) - (set! - (-> obj part-ry) - (+ 16384.0 (quaternion-y-angle (-> obj root-override quat))) - ) + (set! (-> obj part-ry) (+ 16384.0 (quaternion-y-angle (-> obj root-override quat)))) (none) ) @@ -208,25 +180,19 @@ ;; INFO: Return type mismatch sparticle-launch-control vs sparticle-launch-group. (defmethod TODO-RENAME-25 side-to-side-plat ((obj side-to-side-plat)) (let ((v0-0 (create-launch-control (-> *part-group-id-table* 436) obj))) - (set! (-> obj part) v0-0) - (the-as sparticle-launch-group v0-0) - ) + (set! (-> obj part) v0-0) + (the-as sparticle-launch-group v0-0) + ) ) ;; definition for method 20 of type side-to-side-plat ;; INFO: Return type mismatch object vs none. (defmethod dummy-20 side-to-side-plat ((obj side-to-side-plat)) (when (nonzero? (-> obj part)) - (set! - (-> *part-id-table* 1713 init-specs 14 initial-valuef) - (-> obj part-ry) + (set! (-> *part-id-table* 1713 init-specs 14 initial-valuef) (-> obj part-ry)) + (set! (-> *part-id-table* 1714 init-specs 19 initial-valuef) (-> obj part-ry)) + (spawn (-> obj part) (-> obj root-override trans)) ) - (set! - (-> *part-id-table* 1714 init-specs 19 initial-valuef) - (-> obj part-ry) - ) - (spawn (-> obj part) (-> obj root-override trans)) - ) (none) ) @@ -243,8 +209,8 @@ ;; definition for method 3 of type sunkencam (defmethod inspect sunkencam ((obj sunkencam)) (let ((t9-0 (method-of-type pov-camera inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tseq: ~D~%" (-> obj seq)) obj ) @@ -268,491 +234,254 @@ (defstate pov-camera-playing (sunkencam) :virtual #t :exit - (behavior () - (set! (-> *screen-filter* draw?) #f) - (none) - ) + (behavior () (set! (-> *screen-filter* draw?) #f) (none)) :code (behavior () - (let ((v1-0 (-> self seq))) - (cond - ((zero? v1-0) - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (let ((v1-0 (-> self seq))) + (cond + ((zero? v1-0) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-3 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) - ) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) - ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((v1-45 *screen-filter*)) - (set! (-> v1-45 draw?) #t) - (set! (-> v1-45 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) - ) - (set-blackout-frames 30) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-9 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-3 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-3 param 1) 1.0) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! a0-3 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) ) - -1 - ) - ) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! - a0-9 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set-blackout-frames 150) - (let ((gp-0 2)) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-13 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length - ) - -1 + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) ) + (let ((v1-45 *screen-filter*)) + (set! (-> v1-45 draw?) #t) + (set! (-> v1-45 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) + ) + (set-blackout-frames 30) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-9 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-9 param 1) 1.0) + (set! (-> a0-9 frame-num) 0.0) + (joint-control-channel-group! a0-9 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 1.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set-blackout-frames 150) + (let ((gp-0 2)) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-13 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-13 param 1) 1.0) + (set! (-> a0-13 frame-num) 0.0) + (joint-control-channel-group! a0-13 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (+! gp-0 -1) + (if (zero? gp-0) + (set! (-> *screen-filter* draw?) #f) + ) + (suspend) + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) + (set! (-> a0-14 param 1) 1.0) + (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (set-blackout-frames 30) + ) + ((= v1-0 1) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + (set! (-> a0-18 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) + ) + (set! (-> a0-18 param 1) 1.0) + (set! (-> a0-18 frame-num) 0.0) + (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) + (set! (-> a0-19 param 1) 1.0) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((v1-116 *screen-filter*)) + (set! (-> v1-116 draw?) #t) + (set! (-> v1-116 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) + ) + (set-blackout-frames 30) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> a0-24 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) + ) + (set! (-> a0-24 param 1) 1.0) + (set! (-> a0-24 frame-num) 0.0) + (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-25 (-> self skel root-channel 0))) + (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) + (set! (-> a0-25 param 1) 1.0) + (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set-blackout-frames 30) + (let ((gp-1 2)) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> a0-28 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) + ) + (set! (-> a0-28 param 1) 1.0) + (set! (-> a0-28 frame-num) 0.0) + (joint-control-channel-group! a0-28 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + ) + (until (ja-done? 0) + (+! gp-1 -1) + (if (zero? gp-1) + (set! (-> *screen-filter* draw?) #f) + ) + (suspend) + (let ((a0-29 (-> self skel root-channel 0))) + (set! (-> a0-29 param 0) (the float (+ (-> a0-29 frame-group data 0 length) -1))) + (set! (-> a0-29 param 1) 1.0) + (joint-control-channel-group-eval! a0-29 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (let ((gp-2 *camera*)) + (send-event gp-2 'teleport) + (send-event gp-2 'change-state cam-fixed 0) + (send-event gp-2 'change-state *camera-base-mode* 0) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (suspend) + ) + ) + ((= v1-0 2) + (let ((a0-36 (-> self skel root-channel 0))) + (set! (-> a0-36 frame-group) (the-as art-joint-anim (-> self draw art-group data 16))) + (set! (-> a0-36 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 16)) data 0 length) -1)) + ) + (set! (-> a0-36 param 1) 1.0) + (set! (-> a0-36 frame-num) 0.0) + (joint-control-channel-group! a0-36 (the-as art-joint-anim (-> self draw art-group data 16)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-37 (-> self skel root-channel 0))) + (set! (-> a0-37 param 0) (the float (+ (-> a0-37 frame-group data 0 length) -1))) + (set! (-> a0-37 param 1) 1.0) + (joint-control-channel-group-eval! a0-37 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-39 (-> self skel root-channel 0))) + (set! (-> a0-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 17))) + (set! (-> a0-39 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 17)) data 0 length) -1)) + ) + (set! (-> a0-39 param 1) 0.67) + (set! (-> a0-39 frame-num) 0.0) + (joint-control-channel-group! a0-39 (the-as art-joint-anim (-> self draw art-group data 17)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-40 (-> self skel root-channel 0))) + (set! (-> a0-40 param 0) (the float (+ (-> a0-40 frame-group data 0 length) -1))) + (set! (-> a0-40 param 1) 0.67) + (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (pov-camera-play-and-reposition + (the-as joint-anim-compressed (-> self draw art-group data 18)) + (new 'static 'vector :x 2449408.0 :y -1822720.0 :z -7299072.0) + 0.67 + ) + ) + ((= v1-0 3) + (ambient-hint-spawn "gamcam34" (the-as vector #f) *entity-pool* 'camera) + (pov-camera-play-and-reposition + (the-as joint-anim-compressed (-> self draw art-group data 12)) + (new 'static 'vector :x 2707456.0 :y -630784.0 :z -6635520.0) + 1.0 + ) + ) + ((= v1-0 4) + (ambient-hint-spawn "gamcam35" (the-as vector #f) *entity-pool* 'camera) + (pov-camera-play-and-reposition + (the-as joint-anim-compressed (-> self draw art-group data 13)) + (new 'static 'vector :x 2834432.0 :y -634880.0 :z -6811648.0) + 1.3 + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) + (suspend) + ) + ) + ((= v1-0 5) + (ambient-hint-spawn "gamcam37" (the-as vector #f) *entity-pool* 'camera) + (pov-camera-play-and-reposition + (the-as joint-anim-compressed (-> self draw art-group data 14)) + (new 'static 'vector :x 2695168.0 :y -544768.0 :z -7077888.0) + 1.0 + ) + ) + ((= v1-0 6) + (ambient-hint-spawn "gamcam36" (the-as vector #f) *entity-pool* 'camera) + (pov-camera-play-and-reposition + (the-as joint-anim-compressed (-> self draw art-group data 15)) + (new 'static 'vector :x 2482176.0 :y -516096.0 :z -6922240.0) + 1.0 + ) + ) + (else + (suspend) + 0 ) - ) - (set! (-> a0-13 param 1) 1.0) - (set! (-> a0-13 frame-num) 0.0) - (joint-control-channel-group! - a0-13 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) ) - (until (ja-done? 0) - (+! gp-0 -1) - (if (zero? gp-0) - (set! (-> *screen-filter* draw?) #f) - ) - (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! - (-> a0-14 param 0) - (the float (+ (-> a0-14 frame-group data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! - a0-14 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (set-blackout-frames 30) ) - ((= v1-0 1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - (set! - (-> a0-18 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 9)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! - a0-18 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 param 0) - (the float (+ (-> a0-19 frame-group data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((v1-116 *screen-filter*)) - (set! (-> v1-116 draw?) #t) - (set! (-> v1-116 color) (new 'static 'rgba :g #x20 :b #x40 :a #x50)) - ) - (set-blackout-frames 30) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> a0-24 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! - a0-24 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! - (-> a0-25 param 0) - (the float (+ (-> a0-25 frame-group data 0 length) -1)) - ) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! - a0-25 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set-blackout-frames 30) - (let ((gp-1 2)) - (let ((a0-28 (-> self skel root-channel 0))) - (set! - (-> a0-28 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! - (-> a0-28 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 11)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! - a0-28 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (+! gp-1 -1) - (if (zero? gp-1) - (set! (-> *screen-filter* draw?) #f) - ) - (suspend) - (let ((a0-29 (-> self skel root-channel 0))) - (set! - (-> a0-29 param 0) - (the float (+ (-> a0-29 frame-group data 0 length) -1)) - ) - (set! (-> a0-29 param 1) 1.0) - (joint-control-channel-group-eval! - a0-29 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (let ((gp-2 *camera*)) - (send-event gp-2 'teleport) - (send-event gp-2 'change-state cam-fixed 0) - (send-event gp-2 'change-state *camera-base-mode* 0) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (suspend) - ) - ) - ((= v1-0 2) - (let ((a0-36 (-> self skel root-channel 0))) - (set! - (-> a0-36 frame-group) - (the-as art-joint-anim (-> self draw art-group data 16)) - ) - (set! - (-> a0-36 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 16)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-36 param 1) 1.0) - (set! (-> a0-36 frame-num) 0.0) - (joint-control-channel-group! - a0-36 - (the-as art-joint-anim (-> self draw art-group data 16)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-37 (-> self skel root-channel 0))) - (set! - (-> a0-37 param 0) - (the float (+ (-> a0-37 frame-group data 0 length) -1)) - ) - (set! (-> a0-37 param 1) 1.0) - (joint-control-channel-group-eval! - a0-37 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-39 (-> self skel root-channel 0))) - (set! - (-> a0-39 frame-group) - (the-as art-joint-anim (-> self draw art-group data 17)) - ) - (set! - (-> a0-39 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 17)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-39 param 1) 0.67) - (set! (-> a0-39 frame-num) 0.0) - (joint-control-channel-group! - a0-39 - (the-as art-joint-anim (-> self draw art-group data 17)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! - (-> a0-40 param 0) - (the float (+ (-> a0-40 frame-group data 0 length) -1)) - ) - (set! (-> a0-40 param 1) 0.67) - (joint-control-channel-group-eval! - a0-40 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (pov-camera-play-and-reposition - (the-as joint-anim-compressed (-> self draw art-group data 18)) - (new 'static 'vector :x 2449408.0 :y -1822720.0 :z -7299072.0) - 0.67 - ) - ) - ((= v1-0 3) - (ambient-hint-spawn "gamcam34" (the-as vector #f) *entity-pool* 'camera) - (pov-camera-play-and-reposition - (the-as joint-anim-compressed (-> self draw art-group data 12)) - (new 'static 'vector :x 2707456.0 :y -630784.0 :z -6635520.0) - 1.0 - ) - ) - ((= v1-0 4) - (ambient-hint-spawn "gamcam35" (the-as vector #f) *entity-pool* 'camera) - (pov-camera-play-and-reposition - (the-as joint-anim-compressed (-> self draw art-group data 13)) - (new 'static 'vector :x 2834432.0 :y -634880.0 :z -6811648.0) - 1.3 - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) - (suspend) - ) - ) - ((= v1-0 5) - (ambient-hint-spawn "gamcam37" (the-as vector #f) *entity-pool* 'camera) - (pov-camera-play-and-reposition - (the-as joint-anim-compressed (-> self draw art-group data 14)) - (new 'static 'vector :x 2695168.0 :y -544768.0 :z -7077888.0) - 1.0 - ) - ) - ((= v1-0 6) - (ambient-hint-spawn "gamcam36" (the-as vector #f) *entity-pool* 'camera) - (pov-camera-play-and-reposition - (the-as joint-anim-compressed (-> self draw art-group data 15)) - (new 'static 'vector :x 2482176.0 :y -516096.0 :z -6922240.0) - 1.0 - ) - ) - (else - (suspend) - 0 - ) - ) + (go-virtual pov-camera-done-playing) + (none) ) - (go-virtual pov-camera-done-playing) - (none) - ) ) ;; definition of type seaweed @@ -768,8 +497,8 @@ ;; definition for method 3 of type seaweed (defmethod inspect seaweed ((obj seaweed)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tanim-speed: ~f~%" (-> obj anim-speed)) obj ) @@ -787,69 +516,36 @@ (defstate seaweed-idle (seaweed) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 param 0) - (the float (+ (-> a0-0 frame-group data 0 length) -1)) - ) - (set! (-> a0-0 param 1) (-> self anim-speed)) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (while (not (ja-done? 0)) - (suspend) - (ja-eval) - ) - (while #t - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) (the float (+ (-> a0-0 frame-group data 0 length) -1))) + (set! (-> a0-0 param 1) (-> self anim-speed)) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-seek!) ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 + (while (not (ja-done? 0)) + (suspend) + (ja-eval) + ) + (while #t + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) (-> self anim-speed)) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) (-> self anim-speed)) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-2 param 1) (-> self anim-speed)) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) (-> self anim-speed)) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior seaweed) ja-post) ) @@ -862,28 +558,25 @@ (initialize-skeleton obj *seaweed-sg* '()) (ja-channel-set! 1) (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity - ) - (set! - (-> s5-1 frame-num) - (rand-vu-float-range - 0.0 - (the float (+ (-> (if (> (-> obj skel active-channels) 0) - (-> obj skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity ) - ) + (set! (-> s5-1 frame-num) + (rand-vu-float-range 0.0 (the float (+ (-> (if (> (-> obj skel active-channels) 0) + (-> obj skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + ) ) - ) (set! (-> obj anim-speed) (rand-vu-float-range 0.2 0.4)) (set! *seaweed* obj) (go seaweed-idle) diff --git a/test/decompiler/reference/levels/sunken/sunken-part2_REF.gc b/test/decompiler/reference/levels/sunken/sunken-part2_REF.gc index 77c7c1286d..820e624dcb 100644 --- a/test/decompiler/reference/levels/sunken/sunken-part2_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-part2_REF.gc @@ -2,2970 +2,2826 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 353) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-34" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1495 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1495 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1496 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1496) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 7.0000005) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1495) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 7.0000005) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 354) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-36" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1497 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1497 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1498 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1498) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1497) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 355) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-30" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1499 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1499 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1500 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 122880.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1500) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees -20.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1499) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees -20.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 356) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-31" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1501 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1501 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1502 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1502) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees -120.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1501) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees -120.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 357) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-29" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1503 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1503 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1504 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1504) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1503) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 358) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-159" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1505 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1505 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1506 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1506) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 60.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1505) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 60.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 359) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-161" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1507 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1507 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1508 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1508) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 70.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1507) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 70.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 360) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-204" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1509 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1509 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1510 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1510) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 32768.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 30.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1509) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 32768.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 30.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 361) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-205" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1511 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1511 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1512 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1512) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 0.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 130.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1511) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 0.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 130.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 362) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-203" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1513 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1513 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1514 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1514) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 0.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 80.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1513) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 0.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 80.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 363) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-42" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1515 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1515 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1516 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1516) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -25.0) (meters 50.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 16384.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees 195.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1515) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -25.0) (meters 50.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 16384.0 16384.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 195.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 364) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-41" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1517 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1517 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1518 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1518) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 0.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees -70.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1517) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 0.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees -70.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 365) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-206" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1519 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1519 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1520 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1520) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 0.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 170.0) (degrees 30.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1519) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 0.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 170.0) (degrees 30.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 366) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-201" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1521 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1521 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1522 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1522) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees -40.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1521) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees -40.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 367) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-3" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1523 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1523 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1524 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1524) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1523) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 368) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-2" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1525 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1525 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1526 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1526) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 16384.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 249.99998) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1525) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 16384.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 249.99998) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 369) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-382" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1528 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1527) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1527 :flags (bit1 start-dead launch-asap)) - (sp-item 1529 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1528) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) - (sp-flt spt-rotate-y (degrees 50.000004)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1527) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 6.2222223)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 2457.6) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1529) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 2867.2) - (sp-flt spt-fade-g 1.3653333) - (sp-flt spt-accel-y 0.8192) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) - (sp-flt spt-rotate-y (degrees 50.000004)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 370) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-381" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1531 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1530) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1530 :flags (bit1 start-dead launch-asap)) - (sp-item 1532 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1531) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) - (sp-flt spt-rotate-y (degrees 80.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1530) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 7.5555553)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 2457.6) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1532) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 2867.2) - (sp-flt spt-fade-g 1.3653333) - (sp-flt spt-accel-y 0.8192) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) - (sp-flt spt-rotate-y (degrees 80.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 371) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-380" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1534 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1533) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1533 :flags (bit1 start-dead launch-asap)) - (sp-item 1535 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1534) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) - (sp-flt spt-rotate-y (degrees 47.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1533) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 6.2222223)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 2457.6) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1535) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 2867.2) - (sp-flt spt-fade-g 1.3653333) - (sp-flt spt-accel-y 0.8192) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) - (sp-flt spt-rotate-y (degrees 47.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 372) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-379" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1537 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1536) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1536 :flags (bit1 start-dead launch-asap)) - (sp-item 1538 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1537) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) - (sp-flt spt-rotate-y (degrees 70.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1536) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 7.111111)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 2457.6) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1538) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 2867.2) - (sp-flt spt-fade-g 1.3653333) - (sp-flt spt-accel-y 0.8192) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) - (sp-flt spt-rotate-y (degrees 70.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 373) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-378" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1540 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1539) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1539 :flags (bit1 start-dead launch-asap)) - (sp-item 1541 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1540) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) - (sp-flt spt-rotate-y (degrees 23.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1539) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 5.111111)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 2457.6) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1541) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 2867.2) - (sp-flt spt-fade-g 1.3653333) - (sp-flt spt-accel-y 0.8192) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) - (sp-flt spt-rotate-y (degrees 23.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 374) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-402" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1542 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1542 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1543 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1543) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 190.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1542) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 190.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 375) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-401" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1544 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1544 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1545 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1545) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 105.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1544) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 105.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 376) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-400" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1546 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1546 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1547 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1547) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 20.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1546) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 20.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 377) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-399" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1548 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1548 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1549 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1549) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 225.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1548) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 225.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-group-id-table* 353) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-34" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1495 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1495 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1496 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1496) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 7.0000005) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1495) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 7.0000005) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 354) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-36" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1497 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1497 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1498 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1498) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1497) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 355) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-30" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1499 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1499 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1500 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 122880.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1500) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees -20.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1499) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees -20.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 356) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-31" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1501 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1501 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1502 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1502) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees -120.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1501) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees -120.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 357) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-29" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1503 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1503 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1504 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1504) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1503) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 358) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-159" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1505 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1505 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1506 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1506) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 60.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1505) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 60.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 359) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-161" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1507 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1507 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1508 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1508) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 70.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1507) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 70.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 360) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-204" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1509 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1509 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1510 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1510) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 32768.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 30.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1509) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 32768.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 30.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 361) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-205" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1511 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1511 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1512 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1512) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 0.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 130.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1511) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 0.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 130.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 362) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-203" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1513 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1513 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1514 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1514) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 0.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 80.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1513) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 0.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 80.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 363) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-42" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1515 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1515 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1516 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1516) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -25.0) (meters 50.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 16384.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees 195.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1515) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -25.0) (meters 50.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 16384.0 16384.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 195.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 364) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-41" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1517 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1517 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1518 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1518) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 0.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees -70.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1517) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 0.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees -70.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 365) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-206" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1519 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1519 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1520 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1520) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 0.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 170.0) (degrees 30.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1519) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 0.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 170.0) (degrees 30.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 366) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-201" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1521 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1521 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1522 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1522) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees -40.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1521) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees -40.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 367) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-3" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1523 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1523 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1524 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1524) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1523) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 160.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 368) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-2" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1525 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1525 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1526 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1526) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 16384.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 249.99998) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1525) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 16384.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 249.99998) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 369) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-382" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1528 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1527) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1527 :flags (bit1 start-dead launch-asap)) + (sp-item 1529 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1528) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) + (sp-flt spt-rotate-y (degrees 50.000004)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1527) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 6.2222223)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 2457.6) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1529) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 2867.2) + (sp-flt spt-fade-g 1.3653333) + (sp-flt spt-accel-y 0.8192) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) + (sp-flt spt-rotate-y (degrees 50.000004)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 370) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-381" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1531 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1530) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1530 :flags (bit1 start-dead launch-asap)) + (sp-item 1532 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1531) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) + (sp-flt spt-rotate-y (degrees 80.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1530) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 7.5555553)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 2457.6) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1532) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 2867.2) + (sp-flt spt-fade-g 1.3653333) + (sp-flt spt-accel-y 0.8192) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) + (sp-flt spt-rotate-y (degrees 80.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 371) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-380" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1534 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1533) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1533 :flags (bit1 start-dead launch-asap)) + (sp-item 1535 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1534) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) + (sp-flt spt-rotate-y (degrees 47.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1533) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 6.2222223)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 2457.6) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1535) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 2867.2) + (sp-flt spt-fade-g 1.3653333) + (sp-flt spt-accel-y 0.8192) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) + (sp-flt spt-rotate-y (degrees 47.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 372) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-379" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1537 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1536) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1536 :flags (bit1 start-dead launch-asap)) + (sp-item 1538 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1537) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) + (sp-flt spt-rotate-y (degrees 70.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1536) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 7.111111)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 2457.6) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1538) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 2867.2) + (sp-flt spt-fade-g 1.3653333) + (sp-flt spt-accel-y 0.8192) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) + (sp-flt spt-rotate-y (degrees 70.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 373) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-378" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1540 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1539) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1539 :flags (bit1 start-dead launch-asap)) + (sp-item 1541 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1540) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) + (sp-flt spt-rotate-y (degrees 23.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1539) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 5.111111)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 2457.6) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1541) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 2867.2) + (sp-flt spt-fade-g 1.3653333) + (sp-flt spt-accel-y 0.8192) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) + (sp-flt spt-rotate-y (degrees 23.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 374) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-402" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1542 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1542 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1543 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1543) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 190.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1542) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 190.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 375) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-401" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1544 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1544 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1545 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1545) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 105.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1544) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 105.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 376) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-400" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1546 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1546 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1547 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1547) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 20.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1546) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 20.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 377) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-399" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1548 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1548 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1549 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1549) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 225.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1548) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 225.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/sunken/sunken-part3_REF.gc b/test/decompiler/reference/levels/sunken/sunken-part3_REF.gc index 270fd6f52d..fedfccd437 100644 --- a/test/decompiler/reference/levels/sunken/sunken-part3_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-part3_REF.gc @@ -2,2061 +2,1955 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 378) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-383" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1551 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1550) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1550 :flags (bit1 start-dead launch-asap)) - (sp-item 1552 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 12288.0) - ) - ) +(set! (-> *part-group-id-table* 378) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-383" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1551 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1550) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1550 :flags (bit1 start-dead launch-asap)) + (sp-item 1552 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 12288.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1551) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1551) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1550) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 2457.6) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1550) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 2457.6) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1552) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 2867.2) - (sp-flt spt-fade-g 1.3653333) - (sp-flt spt-accel-y 0.8192) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1552) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 2867.2) + (sp-flt spt-fade-g 1.3653333) + (sp-flt spt-accel-y 0.8192) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 379) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-198" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1554 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1553) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1553 :flags (bit1 start-dead launch-asap)) - (sp-item 1555 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 379) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-198" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1554 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1553) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1553 :flags (bit1 start-dead launch-asap)) + (sp-item 1555 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1554) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) - (sp-flt spt-rotate-y (degrees 120.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1554) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) + (sp-flt spt-rotate-y (degrees 120.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1553) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 1.3333334)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 2457.6) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1553) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 1.3333334)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 2457.6) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1555) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 2867.2) - (sp-flt spt-fade-g 1.3653333) - (sp-flt spt-accel-y 0.8192) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) - (sp-flt spt-rotate-y (degrees 120.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1555) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 2867.2) + (sp-flt spt-fade-g 1.3653333) + (sp-flt spt-accel-y 0.8192) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) + (sp-flt spt-rotate-y (degrees 120.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 380) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-189" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1557 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1556) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1556 :flags (bit1 start-dead launch-asap)) - (sp-item 1558 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 380) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-189" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1557 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1556) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1556 :flags (bit1 start-dead launch-asap)) + (sp-item 1558 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1557) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 0.7) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) - (sp-flt spt-rotate-y (degrees 116.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1557) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 0.7) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) + (sp-flt spt-rotate-y (degrees 116.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1556) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 3.0) - (sp-flt spt-x (meters 1.1555556)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 2457.6) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1556) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 3.0) + (sp-flt spt-x (meters 1.1555556)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 2457.6) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1558) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.05) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 2867.2) - (sp-flt spt-fade-g 1.3653333) - (sp-flt spt-accel-y 0.8192) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) - (sp-flt spt-rotate-y (degrees 116.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1558) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.05) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 2867.2) + (sp-flt spt-fade-g 1.3653333) + (sp-flt spt-accel-y 0.8192) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) + (sp-flt spt-rotate-y (degrees 116.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 381) - (new 'static 'sparticle-launch-group - :length 28 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-193" - :launcher - (new 'static 'inline-array sparticle-group-item 28 - (sp-item 1560 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1559) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1559 :flags (bit1 start-dead launch-asap)) - (sp-item 1561 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - (sp-item 1562 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 381) + (new 'static 'sparticle-launch-group + :length 28 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-193" + :launcher + (new 'static 'inline-array sparticle-group-item 28 + (sp-item 1560 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1559) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1559 :flags (bit1 start-dead launch-asap)) + (sp-item 1561 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + (sp-item 1562 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1560) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 0.4) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters -1.4)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 0.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) - (sp-flt spt-rotate-y (degrees 116.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1560) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 0.4) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters -1.4)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 0.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) + (sp-flt spt-rotate-y (degrees 116.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1559) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 1.1555556)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-z 2457.6) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1559) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 1.1555556)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-z 2457.6) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1561) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters -1.4) (meters 2.8) 1.0) - (sp-int spt-rot-x 6) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 2867.2) - (sp-flt spt-vel-y (meters 0.0046666665)) - (sp-flt spt-fade-g 2.2755556) - (sp-flt spt-accel-y 0.8192) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 90.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1561) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters -1.4) (meters 2.8) 1.0) + (sp-int spt-rot-x 6) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 2867.2) + (sp-flt spt-vel-y (meters 0.0046666665)) + (sp-flt spt-fade-g 2.2755556) + (sp-flt spt-accel-y 0.8192) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 90.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1562) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters -1.4) (meters 2.8) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 8.0 40.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y 2.7306666) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1562) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters -1.4) (meters 2.8) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 8.0 40.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y 2.7306666) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 1.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 382) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-207" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1564 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1563) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1563 :flags (bit1 start-dead launch-asap)) - (sp-item 1565 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 382) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-207" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1564 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1563) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1563 :flags (bit1 start-dead launch-asap)) + (sp-item 1565 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1564) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) - (sp-flt spt-rotate-y (degrees 25.000002)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1564) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 2867.2) + (sp-flt spt-rotate-y (degrees 25.000002)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1563) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 5.1555557)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 2457.6) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1563) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 5.1555557)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 2457.6) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1565) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -1.4)) - (sp-flt spt-y (meters 0.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2457.6) - (sp-flt spt-b 2867.2) - (sp-flt spt-fade-g 1.3653333) - (sp-flt spt-accel-y 0.8192) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) - (sp-flt spt-rotate-y (degrees 25.000002)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1565) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -1.4)) + (sp-flt spt-y (meters 0.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2457.6) + (sp-flt spt-b 2867.2) + (sp-flt spt-fade-g 1.3653333) + (sp-flt spt-accel-y 0.8192) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.8) 1.0) + (sp-flt spt-rotate-y (degrees 25.000002)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 383) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-388" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1566 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1566 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1567 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 383) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-388" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1566 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1566 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1567 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1567) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -12.0) (meters 24.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 10.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1567) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -12.0) (meters 24.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 10.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1566) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -12.0) (meters 24.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 10.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1566) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -12.0) (meters 24.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 10.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 384) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-387" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1568 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1568 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1569 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 384) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-387" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1568 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1568 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1569 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1569) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 40.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1569) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 40.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1568) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 40.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1568) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 40.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 385) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-386" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1570 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1570 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1571 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 385) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-386" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1570 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1570 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1571 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1571) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 130.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1571) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 130.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1570) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 130.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1570) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 130.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 386) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-384" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1572 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1572 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1573 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 386) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-384" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1572 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1572 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1573 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1573) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -12.0) (meters 24.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees -204.99998) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1573) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -12.0) (meters 24.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees -204.99998) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1572) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -12.0) (meters 24.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees -204.99998) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1572) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -12.0) (meters 24.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees -204.99998) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 387) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-385" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1574 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1574 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1575 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 387) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-385" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1574 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1574 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1575 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1575) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees -185.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1575) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees -185.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1574) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees -185.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1574) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees -185.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 388) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-394" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1576 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1576 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1577 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 388) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-394" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1576 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1576 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1577 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1577) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees -60.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1577) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees -60.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1576) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees -60.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1576) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees -60.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 389) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-390" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1578 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1578 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1579 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 389) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-390" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1578 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1578 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1579 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1579) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees -45.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1579) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees -45.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1578) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees -45.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1578) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees -45.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 390) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-393" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1582 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1582 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1583 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 390) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-393" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1582 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1582 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1583 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1583) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 90.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1583) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 90.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1582) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 90.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1582) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 90.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 391) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-392" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1584 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1584 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1585 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 391) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-392" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1584 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1584 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1585 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1585) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 135.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1585) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 135.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1584) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 135.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1584) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 135.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 392) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-38" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1586 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1586 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1587 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 392) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-38" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1586 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1586 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1587 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1587) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -20.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 145.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1587) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -20.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 145.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1586) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 145.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1586) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 145.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 393) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-200" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1588 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1588 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1589 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 393) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-200" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1588 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1588 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1589 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1589) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -10.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees 45.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1589) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -10.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees 45.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1588) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 45.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1588) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 45.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 394) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-391" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1580 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1580 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1581 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 394) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-391" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1580 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1580 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1581 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1581) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees -90.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1581) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees -90.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1580) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees -90.0) (degrees 40.0) 1.0) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-id-table* 1580) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0016666667) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees -90.0) (degrees 40.0) 1.0) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/sunken/sunken-part4_REF.gc b/test/decompiler/reference/levels/sunken/sunken-part4_REF.gc index 7c918cfe5f..ae5a5949da 100644 --- a/test/decompiler/reference/levels/sunken/sunken-part4_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-part4_REF.gc @@ -2,3352 +2,3124 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 395) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-282" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1591 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1590) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1590 :flags (bit1 start-dead launch-asap)) - (sp-item 1592 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1591) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 112.99999)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1590) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 1.1111112)) - (sp-flt spt-y (meters 3.3333333)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1592) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 112.99999)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 396) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-285" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1594 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1593) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1593 :flags (bit1 start-dead launch-asap)) - (sp-item 1595 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1594) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 100.00001)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1593) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 0.6666667)) - (sp-flt spt-y (meters 3.3333333)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1595) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 100.00001)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 397) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-288" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1597 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1596) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1596 :flags (bit1 start-dead launch-asap)) - (sp-item 1598 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1597) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 85.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1596) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 3.3333333)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1598) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 85.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 398) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-299" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1600 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1599) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1599 :flags (bit1 start-dead launch-asap)) - (sp-item 1601 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1600) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 60.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1599) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -1.1111112)) - (sp-flt spt-y (meters 3.3333333)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1601) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 60.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 399) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-302" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1603 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1602) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1602 :flags (bit1 start-dead launch-asap)) - (sp-item 1604 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1603) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 47.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1602) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -1.7777778)) - (sp-flt spt-y (meters 3.3333333)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1604) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 47.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 400) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-367" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1606 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1605) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1605 :flags (bit1 start-dead launch-asap)) - (sp-item 1607 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1606) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1605) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -2.6666667)) - (sp-flt spt-y (meters 3.3333333)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1607) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 401) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-371" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1609 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1608) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1608 :flags (bit1 start-dead launch-asap)) - (sp-item 1610 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1609) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 7.0000005)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1608) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -3.5555556)) - (sp-flt spt-y (meters 3.3333333)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1610) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 7.0000005)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 402) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-308" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1612 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1611) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1611 :flags (bit1 start-dead launch-asap)) - (sp-item 1613 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1612) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 98.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1611) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 3.7777777)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1613) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 98.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 403) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-312" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1615 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1614) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1614 :flags (bit1 start-dead launch-asap)) - (sp-item 1616 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1615) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 98.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -192.00002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1614) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -4.4444447)) - (sp-flt spt-y (meters 4.4444447)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1616) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 98.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -192.00002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 404) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-316" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1618 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1617) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1617 :flags (bit1 start-dead launch-asap)) - (sp-item 1619 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1618) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 98.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -162.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1617) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -3.1111112)) - (sp-flt spt-y (meters 4.4444447)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1619) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 98.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -162.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 405) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-320" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1621 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1620) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1620 :flags (bit1 start-dead launch-asap)) - (sp-item 1622 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1621) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 98.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -105.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1620) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -0.6666667)) - (sp-flt spt-y (meters 4.4444447)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1622) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 98.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -105.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 406) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-324" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1624 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1623) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1623 :flags (bit1 start-dead launch-asap)) - (sp-item 1625 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1624) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.2)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 96.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -85.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1623) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 0.22222222)) - (sp-flt spt-y (meters 4.2222223)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1625) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 96.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -85.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 407) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-328" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1627 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1626) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1626 :flags (bit1 start-dead launch-asap)) - (sp-item 1628 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1627) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.2)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 96.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -67.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1626) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 0.8888889)) - (sp-flt spt-y (meters 4.2222223)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1628) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 96.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -67.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 408) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-332" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1630 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1629) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1629 :flags (bit1 start-dead launch-asap)) - (sp-item 1631 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1630) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.4)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -20.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1629) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 3.3333333)) - (sp-flt spt-y (meters 4.6666665)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1631) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.70000005)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 103.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -20.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 409) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-333" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1633 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1632) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1632 :flags (bit1 start-dead launch-asap)) - (sp-item 1634 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1633) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.9)) - (sp-flt spt-y (meters 0.9)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 115.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1632) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 5.3333335)) - (sp-flt spt-y (meters 5.111111)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1634) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -1.9)) - (sp-flt spt-y (meters 1.2)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 115.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 410) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-334" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1636 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1635) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1635 :flags (bit1 start-dead launch-asap)) - (sp-item 1637 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1636) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.9)) - (sp-flt spt-y (meters 0.7)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 110.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 20.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1635) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 5.111111)) - (sp-flt spt-y (meters 5.111111)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1637) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -1.9)) - (sp-flt spt-y (meters 1.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 110.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 20.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 411) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-335" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1639 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1638) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1638 :flags (bit1 start-dead launch-asap)) - (sp-item 1640 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1639) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 105.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1638) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 4.4444447)) - (sp-flt spt-y (meters 5.111111)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1640) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 105.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 412) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-336" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1642 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1641) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1641 :flags (bit1 start-dead launch-asap)) - (sp-item 1643 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1642) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 105.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1641) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 3.7777777)) - (sp-flt spt-y (meters 5.111111)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1643) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 105.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 413) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-337" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1645 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1644) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1644 :flags (bit1 start-dead launch-asap)) - (sp-item 1646 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1645) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 105.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -37.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1644) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 2.4444444)) - (sp-flt spt-y (meters 5.111111)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1646) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 105.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -37.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 414) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-338" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1648 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1647) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1647 :flags (bit1 start-dead launch-asap)) - (sp-item 1649 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1648) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 105.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -62.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1647) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 1.7777778)) - (sp-flt spt-y (meters 5.111111)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1649) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 105.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -62.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 415) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-339" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1651 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1650) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1650 :flags (bit1 start-dead launch-asap)) - (sp-item 1652 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1651) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 99.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -85.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1650) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 0.44444445)) - (sp-flt spt-y (meters 4.4444447)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1652) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 99.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -85.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 416) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-340" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1654 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1653) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1653 :flags (bit1 start-dead launch-asap)) - (sp-item 1655 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1654) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 105.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 160.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1653) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 3.1111112)) - (sp-flt spt-y (meters 3.5555556)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1655) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 105.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 160.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 417) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-341" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1657 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1656) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1656 :flags (bit1 start-dead launch-asap)) - (sp-item 1658 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1657) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees 177.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1656) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 3.7777777)) - (sp-flt spt-y (meters 3.5555556)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1658) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees 177.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 418) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-357" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1660 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1659) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1659 :flags (bit1 start-dead launch-asap)) - (sp-item 1661 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1660) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 97.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4505.6) - (sp-flt spt-rotate-y (degrees 131.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1659) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 1.7777778)) - (sp-flt spt-y (meters 3.5555556)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1661) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 97.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.4) 1.0) - (sp-flt spt-rotate-y (degrees 131.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 419) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-356" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1663 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1662) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1662 :flags (bit1 start-dead launch-asap)) - (sp-item 1664 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1663) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 97.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4505.6) - (sp-flt spt-rotate-y (degrees 311.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1662) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 1.7777778)) - (sp-flt spt-y (meters 4.4444447)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1664) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 97.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.4) 1.0) - (sp-flt spt-rotate-y (degrees 311.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 420) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-354" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1666 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1665) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1665 :flags (bit1 start-dead launch-asap)) - (sp-item 1667 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1666) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 97.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees 325.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1665) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 2.6666667)) - (sp-flt spt-y (meters 4.4444447)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1667) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 97.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees 325.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 565) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-sheild" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2311) - (sp-item 2312 :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2312) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-rnd-flt spt-num 0.1 0.6 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.06) (meters 0.013333334) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.8) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 20 19 1) - (sp-launcher-by-id spt-next-launcher 2313) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2313) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2311) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-rnd-flt spt-num 4.0 2.0 1.0) - (sp-rnd-flt spt-x (meters 2.0) (meters 17.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-int spt-rot-x 8) - (sp-flt spt-r 16384.0) - (sp-flt spt-g 12288.0) - (sp-flt spt-b 12288.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) - (sp-flt spt-fade-b -32.768) - (sp-int spt-timer 150) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 2314) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2314) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b 32.768) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-group-id-table* 395) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-282" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1591 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1590) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1590 :flags (bit1 start-dead launch-asap)) + (sp-item 1592 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1591) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 112.99999)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1590) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 1.1111112)) + (sp-flt spt-y (meters 3.3333333)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1592) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 112.99999)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 396) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-285" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1594 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1593) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1593 :flags (bit1 start-dead launch-asap)) + (sp-item 1595 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1594) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 100.00001)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1593) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 0.6666667)) + (sp-flt spt-y (meters 3.3333333)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1595) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 100.00001)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 397) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-288" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1597 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1596) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1596 :flags (bit1 start-dead launch-asap)) + (sp-item 1598 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1597) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 85.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1596) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 3.3333333)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1598) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 85.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 398) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-299" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1600 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1599) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1599 :flags (bit1 start-dead launch-asap)) + (sp-item 1601 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1600) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 60.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1599) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -1.1111112)) + (sp-flt spt-y (meters 3.3333333)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1601) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 60.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 399) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-302" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1603 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1602) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1602 :flags (bit1 start-dead launch-asap)) + (sp-item 1604 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1603) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 47.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1602) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -1.7777778)) + (sp-flt spt-y (meters 3.3333333)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1604) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 47.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 400) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-367" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1606 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1605) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1605 :flags (bit1 start-dead launch-asap)) + (sp-item 1607 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1606) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1605) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -2.6666667)) + (sp-flt spt-y (meters 3.3333333)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1607) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 401) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-371" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1609 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1608) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1608 :flags (bit1 start-dead launch-asap)) + (sp-item 1610 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1609) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 7.0000005)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1608) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -3.5555556)) + (sp-flt spt-y (meters 3.3333333)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1610) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 7.0000005)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 402) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-308" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1612 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1611) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1611 :flags (bit1 start-dead launch-asap)) + (sp-item 1613 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1612) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 98.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1611) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 3.7777777)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1613) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 98.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 403) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-312" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1615 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1614) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1614 :flags (bit1 start-dead launch-asap)) + (sp-item 1616 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1615) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 98.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -192.00002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1614) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -4.4444447)) + (sp-flt spt-y (meters 4.4444447)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1616) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 98.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -192.00002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 404) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-316" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1618 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1617) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1617 :flags (bit1 start-dead launch-asap)) + (sp-item 1619 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1618) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 98.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -162.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1617) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -3.1111112)) + (sp-flt spt-y (meters 4.4444447)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1619) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 98.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -162.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 405) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-320" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1621 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1620) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1620 :flags (bit1 start-dead launch-asap)) + (sp-item 1622 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1621) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 98.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -105.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1620) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -0.6666667)) + (sp-flt spt-y (meters 4.4444447)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1622) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 98.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -105.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 406) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-324" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1624 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1623) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1623 :flags (bit1 start-dead launch-asap)) + (sp-item 1625 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1624) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.2)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 96.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -85.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1623) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 0.22222222)) + (sp-flt spt-y (meters 4.2222223)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1625) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 96.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -85.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 407) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-328" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1627 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1626) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1626 :flags (bit1 start-dead launch-asap)) + (sp-item 1628 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1627) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.2)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 96.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -67.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1626) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 0.8888889)) + (sp-flt spt-y (meters 4.2222223)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1628) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 96.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -67.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 408) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-332" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1630 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1629) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1629 :flags (bit1 start-dead launch-asap)) + (sp-item 1631 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1630) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.4)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -20.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1629) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 3.3333333)) + (sp-flt spt-y (meters 4.6666665)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1631) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.70000005)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 103.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -20.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 409) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-333" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1633 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1632) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1632 :flags (bit1 start-dead launch-asap)) + (sp-item 1634 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1633) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.9)) + (sp-flt spt-y (meters 0.9)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 115.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1632) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 5.3333335)) + (sp-flt spt-y (meters 5.111111)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1634) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -1.9)) + (sp-flt spt-y (meters 1.2)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 115.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 410) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-334" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1636 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1635) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1635 :flags (bit1 start-dead launch-asap)) + (sp-item 1637 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1636) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.9)) + (sp-flt spt-y (meters 0.7)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 110.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 20.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1635) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 5.111111)) + (sp-flt spt-y (meters 5.111111)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1637) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -1.9)) + (sp-flt spt-y (meters 1.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 110.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 20.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 411) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-335" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1639 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1638) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1638 :flags (bit1 start-dead launch-asap)) + (sp-item 1640 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1639) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 105.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1638) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 4.4444447)) + (sp-flt spt-y (meters 5.111111)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1640) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 105.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 412) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-336" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1642 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1641) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1641 :flags (bit1 start-dead launch-asap)) + (sp-item 1643 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1642) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 105.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1641) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 3.7777777)) + (sp-flt spt-y (meters 5.111111)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1643) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 105.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 413) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-337" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1645 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1644) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1644 :flags (bit1 start-dead launch-asap)) + (sp-item 1646 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1645) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 105.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -37.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1644) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 2.4444444)) + (sp-flt spt-y (meters 5.111111)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1646) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 105.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -37.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 414) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-338" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1648 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1647) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1647 :flags (bit1 start-dead launch-asap)) + (sp-item 1649 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1648) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 105.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -62.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1647) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 1.7777778)) + (sp-flt spt-y (meters 5.111111)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1649) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 105.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -62.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 415) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-339" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1651 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1650) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1650 :flags (bit1 start-dead launch-asap)) + (sp-item 1652 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1651) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 99.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -85.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1650) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 0.44444445)) + (sp-flt spt-y (meters 4.4444447)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1652) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 99.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -85.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 416) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-340" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1654 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1653) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1653 :flags (bit1 start-dead launch-asap)) + (sp-item 1655 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1654) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 105.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 160.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1653) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 3.1111112)) + (sp-flt spt-y (meters 3.5555556)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1655) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 105.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 160.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 417) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-341" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1657 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1656) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1656 :flags (bit1 start-dead launch-asap)) + (sp-item 1658 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1657) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees 177.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1656) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 3.7777777)) + (sp-flt spt-y (meters 3.5555556)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1658) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees 177.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 418) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-357" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1660 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1659) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1659 :flags (bit1 start-dead launch-asap)) + (sp-item 1661 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1660) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 97.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4505.6) + (sp-flt spt-rotate-y (degrees 131.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1659) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 1.7777778)) + (sp-flt spt-y (meters 3.5555556)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1661) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 97.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.4) 1.0) + (sp-flt spt-rotate-y (degrees 131.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 419) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-356" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1663 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1662) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1662 :flags (bit1 start-dead launch-asap)) + (sp-item 1664 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1663) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 97.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4505.6) + (sp-flt spt-rotate-y (degrees 311.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1662) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 1.7777778)) + (sp-flt spt-y (meters 4.4444447)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1664) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 97.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.4) 1.0) + (sp-flt spt-rotate-y (degrees 311.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 420) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-354" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1666 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1665) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1665 :flags (bit1 start-dead launch-asap)) + (sp-item 1667 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1666) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 97.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees 325.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1665) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 2.6666667)) + (sp-flt spt-y (meters 4.4444447)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1667) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 97.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees 325.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 565) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-sheild" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 2311) (sp-item 2312 :flags (is-3d))) + :bounds (new 'static 'sphere :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2312) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-rnd-flt spt-num 0.1 0.6 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.06) (meters 0.013333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.8) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 20 19 1) + (sp-launcher-by-id spt-next-launcher 2313) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2313) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a 0.0) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2311) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-rnd-flt spt-num 4.0 2.0 1.0) + (sp-rnd-flt spt-x (meters 2.0) (meters 17.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-int spt-rot-x 8) + (sp-flt spt-r 16384.0) + (sp-flt spt-g 12288.0) + (sp-flt spt-b 12288.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) + (sp-flt spt-fade-b -32.768) + (sp-int spt-timer 150) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 2314) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2314) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b 32.768) (sp-end)) + ) + ) diff --git a/test/decompiler/reference/levels/sunken/sunken-part5_REF.gc b/test/decompiler/reference/levels/sunken/sunken-part5_REF.gc index d03b83db62..62ee6c0439 100644 --- a/test/decompiler/reference/levels/sunken/sunken-part5_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-part5_REF.gc @@ -2,1880 +2,1756 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 421) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-227" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1669 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1668) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1668 :flags (bit1 start-dead launch-asap)) - (sp-item 1670 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 421) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-227" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1669 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1668) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1668 :flags (bit1 start-dead launch-asap)) + (sp-item 1670 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1669) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 106.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -131.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1669) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 106.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -131.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1668) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -1.7777778)) - (sp-flt spt-y (meters 4.888889)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1668) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -1.7777778)) + (sp-flt spt-y (meters 4.888889)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1670) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.90000004)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 106.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -131.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1670) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.90000004)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 106.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -131.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 422) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-238" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1672 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1671) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1671 :flags (bit1 start-dead launch-asap)) - (sp-item 1673 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 422) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-238" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1672 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1671) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1671 :flags (bit1 start-dead launch-asap)) + (sp-item 1673 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1672) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 108.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -100.00001)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1672) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 108.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -100.00001)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1671) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -0.44444445)) - (sp-flt spt-y (meters 4.888889)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1671) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -0.44444445)) + (sp-flt spt-y (meters 4.888889)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1673) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.90000004)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 108.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -100.00001)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1673) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.90000004)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 108.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -100.00001)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 423) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-239" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1675 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1674) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1674 :flags (bit1 start-dead launch-asap)) - (sp-item 1676 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 423) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-239" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1675 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1674) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1674 :flags (bit1 start-dead launch-asap)) + (sp-item 1676 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1675) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 108.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -124.99999)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1675) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 108.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -124.99999)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1674) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -1.1111112)) - (sp-flt spt-y (meters 4.888889)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1674) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -1.1111112)) + (sp-flt spt-y (meters 4.888889)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1676) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.90000004)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 108.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -124.99999)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1676) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.90000004)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 108.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -124.99999)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 424) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-240" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1678 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1677) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1677 :flags (bit1 start-dead launch-asap)) - (sp-item 1679 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 424) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-240" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1678 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1677) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1677 :flags (bit1 start-dead launch-asap)) + (sp-item 1679 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1678) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 108.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -93.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1678) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 108.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -93.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1677) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 4.888889)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1677) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 4.888889)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1679) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.90000004)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 108.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -93.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1679) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.90000004)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 108.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -93.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 425) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-241" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1681 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1680) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1680 :flags (bit1 start-dead launch-asap)) - (sp-item 1682 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 425) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-241" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1681 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1680) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1680 :flags (bit1 start-dead launch-asap)) + (sp-item 1682 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1681) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 108.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -110.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1681) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 108.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -110.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1680) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -0.6666667)) - (sp-flt spt-y (meters 4.888889)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1680) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -0.6666667)) + (sp-flt spt-y (meters 4.888889)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1682) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.90000004)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 108.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -110.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1682) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.90000004)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 108.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -110.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 426) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-242" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1684 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1683) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1683 :flags (bit1 start-dead launch-asap)) - (sp-item 1685 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 426) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-242" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1684 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1683) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1683 :flags (bit1 start-dead launch-asap)) + (sp-item 1685 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1684) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 108.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -135.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1684) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 108.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -135.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1683) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 4.888889)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1683) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 4.888889)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1685) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.90000004)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 108.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -135.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1685) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.90000004)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 108.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -135.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 427) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-243" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1687 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1686) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1686 :flags (bit1 start-dead launch-asap)) - (sp-item 1688 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 427) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-243" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1687 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1686) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1686 :flags (bit1 start-dead launch-asap)) + (sp-item 1688 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1687) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.4)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -147.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1687) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.4)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -147.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1686) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -2.4444444)) - (sp-flt spt-y (meters 4.4444447)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1686) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -2.4444444)) + (sp-flt spt-y (meters 4.4444447)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1688) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.70000005)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -147.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1688) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.70000005)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -147.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 428) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-278" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1690 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1689) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1689 :flags (bit1 start-dead launch-asap)) - (sp-item 1691 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 428) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-278" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1690 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1689) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1689 :flags (bit1 start-dead launch-asap)) + (sp-item 1691 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1690) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.4)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -165.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1690) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.4)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -165.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1689) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -3.0222223)) - (sp-flt spt-y (meters 4.6666665)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1689) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -3.0222223)) + (sp-flt spt-y (meters 4.6666665)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1691) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.70000005)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -165.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1691) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.70000005)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -165.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 429) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-251" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1693 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1692) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1692 :flags (bit1 start-dead launch-asap)) - (sp-item 1694 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 429) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-251" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1693 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1692) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1692 :flags (bit1 start-dead launch-asap)) + (sp-item 1694 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1693) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.4)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -136.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1693) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.4)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -136.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1692) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -2.1333334)) - (sp-flt spt-y (meters 4.6666665)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1692) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -2.1333334)) + (sp-flt spt-y (meters 4.6666665)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1694) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.70000005)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -136.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1694) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.70000005)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -136.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 430) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-254" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1696 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1695) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1695 :flags (bit1 start-dead launch-asap)) - (sp-item 1697 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 430) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-254" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1696 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1695) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1695 :flags (bit1 start-dead launch-asap)) + (sp-item 1697 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1696) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.4)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -185.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1696) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.4)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -185.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1695) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -3.911111)) - (sp-flt spt-y (meters 4.6666665)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1695) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -3.911111)) + (sp-flt spt-y (meters 4.6666665)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1697) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.70000005)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -185.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1697) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.70000005)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -185.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 431) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-264" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1699 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1698) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1698 :flags (bit1 start-dead launch-asap)) - (sp-item 1700 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 431) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-264" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1699 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1698) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1698 :flags (bit1 start-dead launch-asap)) + (sp-item 1700 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1699) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.4)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -203.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1699) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.4)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -203.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1698) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -4.6666665)) - (sp-flt spt-y (meters 4.6666665)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1698) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -4.6666665)) + (sp-flt spt-y (meters 4.6666665)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1700) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.70000005)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -203.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1700) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.70000005)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -203.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 432) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-265" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1702 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1701) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1701 :flags (bit1 start-dead launch-asap)) - (sp-item 1703 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 432) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-265" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1702 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1701) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1701 :flags (bit1 start-dead launch-asap)) + (sp-item 1703 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1702) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.4)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -217.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1702) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.4)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -217.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1701) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -5.3333335)) - (sp-flt spt-y (meters 4.6666665)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1701) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -5.3333335)) + (sp-flt spt-y (meters 4.6666665)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1703) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.70000005)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -217.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1703) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.70000005)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -217.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 433) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-266" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1705 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1704) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1704 :flags (bit1 start-dead launch-asap)) - (sp-item 1706 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 433) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-266" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1705 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1704) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1704 :flags (bit1 start-dead launch-asap)) + (sp-item 1706 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1705) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.6)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 107.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -243.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1705) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.6)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 107.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -243.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1704) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -6.4444447)) - (sp-flt spt-y (meters 4.888889)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1704) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -6.4444447)) + (sp-flt spt-y (meters 4.888889)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1706) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.90000004)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 107.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -243.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1706) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.90000004)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 107.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -243.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 434) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-267" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1708 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1707) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1707 :flags (bit1 start-dead launch-asap)) - (sp-item 1709 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 434) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-267" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1708 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1707) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1707 :flags (bit1 start-dead launch-asap)) + (sp-item 1709 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1708) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.7)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 110.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -267.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1708) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.7)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 110.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -267.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1707) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -7.7777777)) - (sp-flt spt-y (meters 5.111111)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1707) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -7.7777777)) + (sp-flt spt-y (meters 5.111111)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1709) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 1.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 110.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -267.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1709) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 1.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 110.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -267.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 435) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-268" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1711 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1710) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1710 :flags (bit1 start-dead launch-asap)) - (sp-item 1712 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) +(set! (-> *part-group-id-table* 435) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-268" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1711 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1710) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1710 :flags (bit1 start-dead launch-asap)) + (sp-item 1712 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1711) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 0.7)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 110.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) - (sp-flt spt-rotate-y (degrees -300.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1711) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 0.7)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 110.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4096.0) + (sp-flt spt-rotate-y (degrees -300.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1710) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -9.333333)) - (sp-flt spt-y (meters 4.6666665)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1710) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -9.333333)) + (sp-flt spt-y (meters 4.6666665)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1712) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-y (meters 1.0)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 110.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) - (sp-flt spt-rotate-y (degrees -300.0)) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-id-table* 1712) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-y (meters 1.0)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 110.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.0) 1.0) + (sp-flt spt-rotate-y (degrees -300.0)) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/sunken/sunken-part_REF.gc b/test/decompiler/reference/levels/sunken/sunken-part_REF.gc index 36b613e560..9385db33e9 100644 --- a/test/decompiler/reference/levels/sunken/sunken-part_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-part_REF.gc @@ -13,3251 +13,3047 @@ ;; definition for method 3 of type sunken-part (defmethod inspect sunken-part ((obj sunken-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 332) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-183" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1420 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1419) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1419 :flags (bit1 start-dead launch-asap)) - (sp-item 1421 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1420) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.5)) - (sp-flt spt-y (meters 0.2)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 95.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 5120.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1419) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 4.0)) - (sp-flt spt-y (meters 4.2222223)) - (sp-flt spt-z 4710.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1422) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.64) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1421) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-flt spt-num 0.25) - (sp-flt spt-x (meters -2.5)) - (sp-flt spt-y (meters 0.2)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 95.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 5.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 333) - (new 'static 'sparticle-launch-group - :length 98 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-tunnel-bubbles-27" - :launcher - (new 'static 'inline-array sparticle-group-item 98 - (sp-item 1425 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1425 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1426 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1426 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1427 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1428 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1427) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -37.0) (meters 64.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1428) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -37.0) (meters 64.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1425) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -37.0) (meters 64.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1426) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -37.0) (meters 64.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1429) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int-plain-rnd spt-next-time 1800 1799 1) - (sp-launcher-by-id spt-next-launcher 1430) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1430) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1423) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 409.6) - (sp-flt spt-scale-x (meters 1.5)) - (sp-flt spt-scale-y (meters 0.9)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-omega 0.0) - (sp-rnd-int-flt spt-vel-x (meters -0.21333334) 1 1747.6267) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-scalevel-x (meters -0.0050000004)) - (sp-flt spt-scalevel-y (meters 0.0016666667)) - (sp-flt spt-fade-a 1.6) - (sp-int-plain-rnd spt-timer 3600 1199 1) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int spt-next-time 30) - (sp-launcher-by-id spt-next-launcher 1431) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1431) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 8 - (sp-flt spt-scale-x (meters 1.2)) - (sp-flt spt-scale-y (meters 1.0)) - (sp-flt spt-scalevel-x (meters 0.010000001)) - (sp-flt spt-scalevel-y (meters -0.0033333334)) - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 30) - (sp-launcher-by-id spt-next-launcher 1432) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1432) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-scale-x (meters 1.5)) - (sp-flt spt-scale-y (meters 0.9)) - (sp-flt spt-scalevel-x (meters -0.010000001)) - (sp-flt spt-scalevel-y (meters 0.0033333334)) - (sp-int spt-next-time 30) - (sp-launcher-by-id spt-next-launcher 1431) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1433) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-z 0.0) - (sp-int spt-rot-x 9) - (sp-flt spt-r 2048.0) - (sp-flt spt-g 1638.4) - (sp-flt spt-b 1228.8) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.0)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3 bit7 aux-list) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1424) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-flt spt-fade-a 0.7111111) - (sp-int spt-timer 2400) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 1434) - (sp-rnd-flt spt-conerot-x (degrees 110.0) (degrees 70.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.4)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1434) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0016666667) 1.0) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 1435) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1435) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.14222223) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 334) - (new 'static 'sparticle-launch-group - :length 98 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-tunnel-bubbles-32" - :launcher - (new 'static 'inline-array sparticle-group-item 98 - (sp-item 1436 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1436 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1437 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1437 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1438 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1439 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1438) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -24.0) (meters 48.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees -23.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1439) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.06) - (sp-rnd-flt spt-x (meters -24.0) (meters 48.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees -23.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1436) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -24.0) (meters 48.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -23.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1437) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -24.0) (meters 48.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -23.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 335) - (new 'static 'sparticle-launch-group - :length 98 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-tunnel-bubbles-33" - :launcher - (new 'static 'inline-array sparticle-group-item 98 - (sp-item 1440 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1440 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1441 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1441 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1442 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1443 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1442) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.02) - (sp-rnd-flt spt-x (meters -13.0) (meters 25.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees 26.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1443) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.02) - (sp-rnd-flt spt-x (meters -13.0) (meters 25.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees 26.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1440) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -13.0) (meters 25.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 26.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1441) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -13.0) (meters 25.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 26.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 336) - (new 'static 'sparticle-launch-group - :length 98 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-tunnel-bubbles-199" - :launcher - (new 'static 'inline-array sparticle-group-item 98 - (sp-item 1444 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1444 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1445 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1445 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1446 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1447 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1446) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -25.0) (meters 36.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees 26.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1447) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -25.0) (meters 36.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees 26.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1444) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -25.0) (meters 36.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 26.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1445) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -25.0) (meters 36.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 26.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 337) - (new 'static 'sparticle-launch-group - :length 98 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-tunnel-bubbles-281" - :launcher - (new 'static 'inline-array sparticle-group-item 98 - (sp-item 1448 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1448 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1449 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1449 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1450 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1451 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1450) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1451) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1448) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1449) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 338) - (new 'static 'sparticle-launch-group - :length 98 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-tunnel-bubbles-202" - :launcher - (new 'static 'inline-array sparticle-group-item 98 - (sp-item 1452 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1452 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1453 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1453 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1454 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1455 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1454) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -22.0) (meters 44.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees -5.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1455) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -22.0) (meters 44.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-flt spt-rotate-y (degrees -5.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1452) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -22.0) (meters 44.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -5.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1453) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -22.0) (meters 44.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z 40960.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees -5.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 339) - (new 'static 'sparticle-launch-group - :length 48 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-window-bubbles-35" - :launcher - (new 'static 'inline-array sparticle-group-item 48 - (sp-item 1456 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) - (sp-item 1456 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) - (sp-item 1457 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 32768.0 :w 131072.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1457) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1429) - (sp-rnd-flt spt-rotate-y (degrees -65.0) (degrees 30.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1456) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -8192.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) - (sp-int spt-timer 4800) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees -65.0) (degrees 30.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 340) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-helix-bubbles-398" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 1458 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 163840.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1458) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.75) - (sp-rnd-flt spt-x (meters -5.0) (meters 10.0) 1.0) - (sp-rnd-flt spt-y (meters -10.0) (meters 15.0) 1.0) - (sp-rnd-flt spt-z -118784.0 24576.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 2700) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1459) - (sp-rnd-int-flt spt-rotate-y (degrees -67.5) 6 8192.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1459) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int-plain-rnd spt-next-time 900 899 1) - (sp-launcher-by-id spt-next-launcher 1460) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1460) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 341) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-helix-bubbles-397" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 1461 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 163840.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1461) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.75) - (sp-rnd-flt spt-x (meters -5.0) (meters 10.0) 1.0) - (sp-rnd-flt spt-y (meters -20.0) (meters 30.0) 1.0) - (sp-rnd-flt spt-z -118784.0 24576.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 2700) - (sp-cpuinfo-flags bit2 bit3) - (sp-int-plain-rnd spt-next-time 99 197 1) - (sp-launcher-by-id spt-next-launcher 1459) - (sp-rnd-int-flt spt-rotate-y (degrees -67.5) 7 8192.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 342) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-355" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1463 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1462) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1462 :flags (bit1 start-dead launch-asap)) - (sp-item 1464 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1463) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees 145.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1462) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 2.6666667)) - (sp-flt spt-y (meters 3.3333333)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1464) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees 145.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 343) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-361" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1466 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1465) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1465 :flags (bit1 start-dead launch-asap)) - (sp-item 1467 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1466) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees 220.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1465) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 5.5555553)) - (sp-flt spt-y (meters 3.3333333)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1467) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees 220.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 344) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-360" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1469 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1468) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1468 :flags (bit1 start-dead launch-asap)) - (sp-item 1470 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1469) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees 400.00003)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1468) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 5.5555553)) - (sp-flt spt-y (meters 4.6666665)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1470) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees 400.00003)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 345) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-377" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1472 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1471) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1471 :flags (bit1 start-dead launch-asap)) - (sp-item 1473 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1472) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees 375.00003)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1471) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 4.6666665)) - (sp-flt spt-y (meters 4.6666665)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1473) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees 375.00003)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 346) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-376" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1475 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1474) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1474 :flags (bit1 start-dead launch-asap)) - (sp-item 1476 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1475) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees 195.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1474) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 4.6666665)) - (sp-flt spt-y (meters 3.3333333)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1476) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees 195.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 347) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-375" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1478 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1477) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1477 :flags (bit1 start-dead launch-asap)) - (sp-item 1479 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1478) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees 392.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1477) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 5.3333335)) - (sp-flt spt-y (meters 4.4444447)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1479) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees 392.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 348) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-374" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1481 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1480) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1480 :flags (bit1 start-dead launch-asap)) - (sp-item 1482 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1481) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees 212.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1480) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 5.3333335)) - (sp-flt spt-y (meters 3.5555556)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1482) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees 212.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 349) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-363" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1484 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1483) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1483 :flags (bit1 start-dead launch-asap)) - (sp-item 1485 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1484) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 95.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees -63.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1483) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 1.4222223)) - (sp-flt spt-y (meters 4.4444447)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1485) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 95.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees -63.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 350) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-362" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1487 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1486) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1486 :flags (bit1 start-dead launch-asap)) - (sp-item 1488 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1487) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees 124.99999)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1486) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 1.4222223)) - (sp-flt spt-y (meters 3.5555556)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1488) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 100.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees 124.99999)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 351) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-364" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1490 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1489) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1489 :flags (bit1 start-dead launch-asap)) - (sp-item 1491 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1490) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.3)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 96.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees 62.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1489) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -0.9777778)) - (sp-flt spt-y (meters 3.5555556)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1491) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.6)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 96.00001)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees 62.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 352) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :name "group-sunken-heatpipe-365" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 1493 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1492) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1492 :flags (bit1 start-dead launch-asap)) - (sp-item 1494 :fade-after (meters 64.0) :falloff-to (meters 64.0)) - ) - :bounds - (new 'static 'sphere :y 4096.0 :w 14336.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1493) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.5)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 32.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 98.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) - (sp-flt spt-rotate-y (degrees -124.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1492) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters -1.1111112)) - (sp-flt spt-y (meters 4.4444447)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 1.28) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 25 24 1) - (sp-launcher-by-id spt-next-launcher 1422) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1494) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-flt spt-num 0.2) - (sp-flt spt-x (meters -2.2)) - (sp-flt spt-y (meters 0.8)) - (sp-int spt-rot-x 6) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 3276.8) - (sp-flt spt-fade-g 2.048) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 aux-list) - (sp-flt spt-conerot-x (degrees 98.0)) - (sp-flt spt-conerot-y (degrees 90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) - (sp-flt spt-rotate-y (degrees -124.0)) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-group-id-table* 332) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-183" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1420 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1419) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1419 :flags (bit1 start-dead launch-asap)) + (sp-item 1421 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1420) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.5)) + (sp-flt spt-y (meters 0.2)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 95.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 5120.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1419) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 4.0)) + (sp-flt spt-y (meters 4.2222223)) + (sp-flt spt-z 4710.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1422) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.64) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1421) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-flt spt-num 0.25) + (sp-flt spt-x (meters -2.5)) + (sp-flt spt-y (meters 0.2)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 95.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 5.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 333) + (new 'static 'sparticle-launch-group + :length 98 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-tunnel-bubbles-27" + :launcher + (new 'static 'inline-array sparticle-group-item 98 + (sp-item 1425 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1425 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1426 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1426 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1427 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1428 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1427) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -37.0) (meters 64.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1428) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -37.0) (meters 64.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1425) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -37.0) (meters 64.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1426) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -37.0) (meters 64.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1429) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int-plain-rnd spt-next-time 1800 1799 1) + (sp-launcher-by-id spt-next-launcher 1430) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1430) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.10666667) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1423) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 409.6) + (sp-flt spt-scale-x (meters 1.5)) + (sp-flt spt-scale-y (meters 0.9)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-omega 0.0) + (sp-rnd-int-flt spt-vel-x (meters -0.21333334) 1 1747.6267) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-scalevel-x (meters -0.0050000004)) + (sp-flt spt-scalevel-y (meters 0.0016666667)) + (sp-flt spt-fade-a 1.6) + (sp-int-plain-rnd spt-timer 3600 1199 1) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1431) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1431) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 8 + (sp-flt spt-scale-x (meters 1.2)) + (sp-flt spt-scale-y (meters 1.0)) + (sp-flt spt-scalevel-x (meters 0.010000001)) + (sp-flt spt-scalevel-y (meters -0.0033333334)) + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1432) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1432) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-scale-x (meters 1.5)) + (sp-flt spt-scale-y (meters 0.9)) + (sp-flt spt-scalevel-x (meters -0.010000001)) + (sp-flt spt-scalevel-y (meters 0.0033333334)) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1431) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1433) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-z 0.0) + (sp-int spt-rot-x 9) + (sp-flt spt-r 2048.0) + (sp-flt spt-g 1638.4) + (sp-flt spt-b 1228.8) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.0)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3 bit7 aux-list) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1424) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-flt spt-fade-a 0.7111111) + (sp-int spt-timer 2400) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 1434) + (sp-rnd-flt spt-conerot-x (degrees 110.0) (degrees 70.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.4)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1434) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 5 + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0016666667) 1.0) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 1435) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1435) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.14222223) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 334) + (new 'static 'sparticle-launch-group + :length 98 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-tunnel-bubbles-32" + :launcher + (new 'static 'inline-array sparticle-group-item 98 + (sp-item 1436 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1436 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1437 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1437 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1438 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1439 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1438) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -24.0) (meters 48.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees -23.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1439) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.06) + (sp-rnd-flt spt-x (meters -24.0) (meters 48.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees -23.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1436) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -24.0) (meters 48.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -23.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1437) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -24.0) (meters 48.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -23.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 335) + (new 'static 'sparticle-launch-group + :length 98 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-tunnel-bubbles-33" + :launcher + (new 'static 'inline-array sparticle-group-item 98 + (sp-item 1440 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1440 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1441 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1441 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1442 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1443 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1442) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.02) + (sp-rnd-flt spt-x (meters -13.0) (meters 25.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees 26.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1443) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.02) + (sp-rnd-flt spt-x (meters -13.0) (meters 25.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees 26.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1440) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -13.0) (meters 25.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 26.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1441) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -13.0) (meters 25.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 26.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 336) + (new 'static 'sparticle-launch-group + :length 98 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-tunnel-bubbles-199" + :launcher + (new 'static 'inline-array sparticle-group-item 98 + (sp-item 1444 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1444 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1445 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1445 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1446 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1447 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1446) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -25.0) (meters 36.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees 26.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1447) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -25.0) (meters 36.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees 26.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1444) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -25.0) (meters 36.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 26.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1445) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -25.0) (meters 36.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 26.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 337) + (new 'static 'sparticle-launch-group + :length 98 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-tunnel-bubbles-281" + :launcher + (new 'static 'inline-array sparticle-group-item 98 + (sp-item 1448 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1448 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1449 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1449 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1450 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1451 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1450) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1451) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1448) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1449) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 338) + (new 'static 'sparticle-launch-group + :length 98 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-tunnel-bubbles-202" + :launcher + (new 'static 'inline-array sparticle-group-item 98 + (sp-item 1452 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1452 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1453 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1453 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1454 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1455 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1454) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -22.0) (meters 44.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees -5.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1455) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -22.0) (meters 44.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-flt spt-rotate-y (degrees -5.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1452) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -22.0) (meters 44.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -5.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1453) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -22.0) (meters 44.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z 40960.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees -5.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 339) + (new 'static 'sparticle-launch-group + :length 48 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-window-bubbles-35" + :launcher + (new 'static 'inline-array sparticle-group-item 48 + (sp-item 1456 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 600 :length 5 :binding 1423) + (sp-item 1456 :fade-after (meters 160.0) :falloff-to (meters 160.0) :period 600 :length 5 :binding 1423) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1423 :flags (bit1 start-dead launch-asap) :binding 1424) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1424 :fade-after (meters 100.0) :falloff-to (meters 100.0) :flags (bit1 start-dead)) + (sp-item 1457 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 32768.0 :w 131072.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1457) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1429) + (sp-rnd-flt spt-rotate-y (degrees -65.0) (degrees 30.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1456) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -8192.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.015) 1.0) + (sp-int spt-timer 4800) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees -65.0) (degrees 30.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 340) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-helix-bubbles-398" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 1458 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 163840.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1458) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.75) + (sp-rnd-flt spt-x (meters -5.0) (meters 10.0) 1.0) + (sp-rnd-flt spt-y (meters -10.0) (meters 15.0) 1.0) + (sp-rnd-flt spt-z -118784.0 24576.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 2700) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1459) + (sp-rnd-int-flt spt-rotate-y (degrees -67.5) 6 8192.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1459) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int-plain-rnd spt-next-time 900 899 1) + (sp-launcher-by-id spt-next-launcher 1460) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1460) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.10666667) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 341) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-helix-bubbles-397" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 1461 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 163840.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1461) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.75) + (sp-rnd-flt spt-x (meters -5.0) (meters 10.0) 1.0) + (sp-rnd-flt spt-y (meters -20.0) (meters 30.0) 1.0) + (sp-rnd-flt spt-z -118784.0 24576.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 2700) + (sp-cpuinfo-flags bit2 bit3) + (sp-int-plain-rnd spt-next-time 99 197 1) + (sp-launcher-by-id spt-next-launcher 1459) + (sp-rnd-int-flt spt-rotate-y (degrees -67.5) 7 8192.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 342) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-355" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1463 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1462) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1462 :flags (bit1 start-dead launch-asap)) + (sp-item 1464 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1463) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees 145.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1462) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 2.6666667)) + (sp-flt spt-y (meters 3.3333333)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1464) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees 145.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 343) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-361" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1466 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1465) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1465 :flags (bit1 start-dead launch-asap)) + (sp-item 1467 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1466) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees 220.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1465) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 5.5555553)) + (sp-flt spt-y (meters 3.3333333)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1467) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees 220.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 344) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-360" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1469 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1468) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1468 :flags (bit1 start-dead launch-asap)) + (sp-item 1470 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1469) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees 400.00003)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1468) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 5.5555553)) + (sp-flt spt-y (meters 4.6666665)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1470) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees 400.00003)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 345) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-377" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1472 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1471) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1471 :flags (bit1 start-dead launch-asap)) + (sp-item 1473 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1472) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees 375.00003)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1471) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 4.6666665)) + (sp-flt spt-y (meters 4.6666665)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1473) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees 375.00003)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 346) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-376" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1475 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1474) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1474 :flags (bit1 start-dead launch-asap)) + (sp-item 1476 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1475) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees 195.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1474) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 4.6666665)) + (sp-flt spt-y (meters 3.3333333)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1476) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees 195.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 347) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-375" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1478 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1477) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1477 :flags (bit1 start-dead launch-asap)) + (sp-item 1479 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1478) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees 392.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1477) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 5.3333335)) + (sp-flt spt-y (meters 4.4444447)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1479) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees 392.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 348) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-374" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1481 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1480) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1480 :flags (bit1 start-dead launch-asap)) + (sp-item 1482 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1481) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees 212.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1480) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 5.3333335)) + (sp-flt spt-y (meters 3.5555556)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1482) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees 212.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 349) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-363" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1484 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1483) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1483 :flags (bit1 start-dead launch-asap)) + (sp-item 1485 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1484) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 95.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees -63.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1483) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 1.4222223)) + (sp-flt spt-y (meters 4.4444447)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1485) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 95.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees -63.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 350) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-362" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1487 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1486) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1486 :flags (bit1 start-dead launch-asap)) + (sp-item 1488 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1487) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees 124.99999)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1486) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 1.4222223)) + (sp-flt spt-y (meters 3.5555556)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1488) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 100.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees 124.99999)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 351) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-364" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1490 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1489) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1489 :flags (bit1 start-dead launch-asap)) + (sp-item 1491 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1490) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.3)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 96.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees 62.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1489) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -0.9777778)) + (sp-flt spt-y (meters 3.5555556)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1491) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.6)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 96.00001)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees 62.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 352) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :name "group-sunken-heatpipe-365" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 1493 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1492) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1492 :flags (bit1 start-dead launch-asap)) + (sp-item 1494 :fade-after (meters 64.0) :falloff-to (meters 64.0)) + ) + :bounds + (new 'static 'sphere :y 4096.0 :w 14336.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1493) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.5)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 32.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 98.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-int-flt spt-conerot-radius (meters 0.0) 4 4710.4) + (sp-flt spt-rotate-y (degrees -124.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1492) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters -1.1111112)) + (sp-flt spt-y (meters 4.4444447)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.0044444446) 1 36.40889) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 1.28) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 25 24 1) + (sp-launcher-by-id spt-next-launcher 1422) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1494) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 17 + (sp-flt spt-num 0.2) + (sp-flt spt-x (meters -2.2)) + (sp-flt spt-y (meters 0.8)) + (sp-int spt-rot-x 6) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 3276.8) + (sp-flt spt-fade-g 2.048) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 aux-list) + (sp-flt spt-conerot-x (degrees 98.0)) + (sp-flt spt-conerot-y (degrees 90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 4.6) 1.0) + (sp-flt spt-rotate-y (degrees -124.0)) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/sunken/sunken-water_REF.gc b/test/decompiler/reference/levels/sunken/sunken-water_REF.gc index d2f368ebec..b2262cdccf 100644 --- a/test/decompiler/reference/levels/sunken/sunken-water_REF.gc +++ b/test/decompiler/reference/levels/sunken/sunken-water_REF.gc @@ -25,127 +25,105 @@ ;; definition for method 3 of type sunken-water (defmethod inspect sunken-water ((obj sunken-water)) (let ((t9-0 (method-of-type water-anim inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tuse-sync?: ~A~%" (-> obj use-sync?)) (format #t "~T~Tplaying-deadly-sound?: ~A~%" (-> obj playing-deadly-sound?)) (format #t "~T~Tdeadly-time: ~f~%" (-> obj deadly-time)) (format #t "~T~Tdeadly-fade: ~f~%" (-> obj deadly-fade)) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Tsafe-color-mult: #~%" (-> obj safe-color-mult)) - (format - #t - "~T~Tsafe-color-emissive: #~%" - (-> obj safe-color-emissive) - ) - (format - #t - "~T~Tdeadly-color-mult: #~%" - (-> obj deadly-color-mult) - ) - (format - #t - "~T~Tdeadly-color-emissive: #~%" - (-> obj deadly-color-emissive) - ) + (format #t "~T~Tsafe-color-emissive: #~%" (-> obj safe-color-emissive)) + (format #t "~T~Tdeadly-color-mult: #~%" (-> obj deadly-color-mult)) + (format #t "~T~Tdeadly-color-emissive: #~%" (-> obj deadly-color-emissive)) obj ) ;; definition for symbol ripple-for-sunken-water, type ripple-wave-set -(define - ripple-for-sunken-water - (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 1.0 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) - (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) - (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) - (new 'static 'ripple-wave) - ) - ) - ) +(define ripple-for-sunken-water (new 'static 'ripple-wave-set + :count 3 + :converted #f + :normal-scale 1.0 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5) + (new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5) + (new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75) + (new 'static 'ripple-wave) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 446) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-sunken-water-deadly-water" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 1736 :fade-after (meters 50.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 446) + (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-sunken-water-deadly-water" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 1736 :fade-after (meters 50.0))) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1736) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 4.0) 1.0) - (sp-flt spt-scale-y (meters 0.25)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters 0.1875)) - (sp-flt spt-scalevel-y (meters -0.001875)) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 81) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 2022) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1736) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 4.0) 1.0) + (sp-flt spt-scale-y (meters 0.25)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters 0.1875)) + (sp-flt spt-scalevel-y (meters -0.001875)) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 81) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 2022) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2022) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 128.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-fade-a -1.28) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2022) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 128.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-fade-a -1.28) + (sp-end) + ) + ) + ) ;; definition for method 30 of type sunken-water (defmethod draw-ripple sunken-water ((obj sunken-water)) (set! (-> obj draw ripple send-query) #t) (let ((gp-0 (-> obj draw ripple query))) - (let ((a0-1 (-> *display* base-frame-counter))) - (set! (-> gp-0 start-vertex) (logand (* 13 (logand a0-1 127)) 127)) + (let ((a0-1 (-> *display* base-frame-counter))) + (set! (-> gp-0 start-vertex) (logand (* 13 (logand a0-1 127)) 127)) + ) + (set! (-> gp-0 vertex-skip) 128) + (dotimes (s5-0 (-> gp-0 vertex-count)) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 1736) + (-> gp-0 data s5-0) + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + ) ) - (set! (-> gp-0 vertex-skip) 128) - (dotimes (s5-0 (-> gp-0 vertex-count)) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 1736) - (-> gp-0 data s5-0) - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) - ) #f ) @@ -154,142 +132,94 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('notify) - (if (= (-> arg3 param 0) 'attack) - (sound-play-by-name - (static-sound-name "get-shocked") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - ) - (else - ((-> (method-of-type water-anim water-vol-idle) event) arg0 arg1 arg2 arg3) - ) - ) - ) - :trans - (behavior () - (let ((t9-0 (-> (method-of-type water-anim water-vol-idle) trans))) - (if t9-0 - (t9-0) - ) - ) - (cond - ((-> self use-sync?) - (cond - ((< (get-current-phase (-> self sync)) (-> self deadly-time)) - (when (!= (-> self deadly-fade) 1.0) - (set! - (-> self deadly-fade) - (seek - (-> self deadly-fade) - 1.0 - (* 8.0 (-> *display* seconds-per-frame)) - ) - ) - (let ((f30-0 (-> self deadly-fade))) - (vector-lerp! - (-> self draw color-mult) - (-> self safe-color-mult) - (-> self deadly-color-mult) - f30-0 - ) - (vector-lerp! - (-> self draw color-emissive) - (-> self safe-color-emissive) - (-> self deadly-color-emissive) - f30-0 - ) - (set! (-> self draw color-mult w) 0.5) - (if (= f30-0 1.0) - (set! (-> self flags) (logior #x80000 (-> self flags))) - ) - ) - ) - (draw-ripple self) - (when (not (-> self playing-deadly-sound?)) - (set! (-> self playing-deadly-sound?) #t) - (sound-play-by-name - (static-sound-name "water-on") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - (update! (-> self sound)) + (case arg2 + (('notify) + (if (= (-> arg3 param 0) 'attack) + (sound-play-by-name (static-sound-name "get-shocked") (new-sound-id) 1024 0 0 1 #t) + ) ) (else - (set! (-> self flags) (logand -524289 (-> self flags))) - (when (!= (-> self deadly-fade) 0.0) - (set! - (-> self deadly-fade) - (seek - (-> self deadly-fade) - 0.0 - (* 8.0 (-> *display* seconds-per-frame)) - ) - ) - (let ((f30-1 (-> self deadly-fade))) - (vector-lerp! - (-> self draw color-mult) - (-> self safe-color-mult) - (-> self deadly-color-mult) - f30-1 - ) - (vector-lerp! - (-> self draw color-emissive) - (-> self safe-color-emissive) - (-> self deadly-color-emissive) - f30-1 - ) - (set! (-> self draw color-mult w) 0.5) - (if (= f30-1 0.0) - (set! (-> self flags) (logand -524289 (-> self flags))) - ) - ) + ((-> (method-of-type water-anim water-vol-idle) event) arg0 arg1 arg2 arg3) ) - (when (-> self playing-deadly-sound?) - (set! (-> self playing-deadly-sound?) #f) - (stop! (-> self sound)) - (sound-play-by-name - (static-sound-name "water-off") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - ) - ) ) - (set-fade! - *palette-fade-controls* - 3 - (-> self deadly-fade) - (vector-vector-distance (-> self root trans) (camera-pos)) - (the-as vector #f) - ) - ) - (else - (when (logtest? #x80000 (-> self flags)) - (draw-ripple self) - (update! (-> self sound)) - (set! (-> self playing-deadly-sound?) #t) - ) - ) ) - (none) - ) + :trans + (behavior () + (let ((t9-0 (-> (method-of-type water-anim water-vol-idle) trans))) + (if t9-0 + (t9-0) + ) + ) + (cond + ((-> self use-sync?) + (cond + ((< (get-current-phase (-> self sync)) (-> self deadly-time)) + (when (!= (-> self deadly-fade) 1.0) + (set! (-> self deadly-fade) (seek (-> self deadly-fade) 1.0 (* 8.0 (-> *display* seconds-per-frame)))) + (let ((f30-0 (-> self deadly-fade))) + (vector-lerp! (-> self draw color-mult) (-> self safe-color-mult) (-> self deadly-color-mult) f30-0) + (vector-lerp! + (-> self draw color-emissive) + (-> self safe-color-emissive) + (-> self deadly-color-emissive) + f30-0 + ) + (set! (-> self draw color-mult w) 0.5) + (if (= f30-0 1.0) + (set! (-> self flags) (logior #x80000 (-> self flags))) + ) + ) + ) + (draw-ripple self) + (when (not (-> self playing-deadly-sound?)) + (set! (-> self playing-deadly-sound?) #t) + (sound-play-by-name (static-sound-name "water-on") (new-sound-id) 1024 0 0 1 #t) + ) + (update! (-> self sound)) + ) + (else + (set! (-> self flags) (logand -524289 (-> self flags))) + (when (!= (-> self deadly-fade) 0.0) + (set! (-> self deadly-fade) (seek (-> self deadly-fade) 0.0 (* 8.0 (-> *display* seconds-per-frame)))) + (let ((f30-1 (-> self deadly-fade))) + (vector-lerp! (-> self draw color-mult) (-> self safe-color-mult) (-> self deadly-color-mult) f30-1) + (vector-lerp! + (-> self draw color-emissive) + (-> self safe-color-emissive) + (-> self deadly-color-emissive) + f30-1 + ) + (set! (-> self draw color-mult w) 0.5) + (if (= f30-1 0.0) + (set! (-> self flags) (logand -524289 (-> self flags))) + ) + ) + ) + (when (-> self playing-deadly-sound?) + (set! (-> self playing-deadly-sound?) #f) + (stop! (-> self sound)) + (sound-play-by-name (static-sound-name "water-off") (new-sound-id) 1024 0 0 1 #t) + ) + ) + ) + (set-fade! + *palette-fade-controls* + 3 + (-> self deadly-fade) + (vector-vector-distance (-> self root trans) (camera-pos)) + (the-as vector #f) + ) + ) + (else + (when (logtest? #x80000 (-> self flags)) + (draw-ripple self) + (update! (-> self sound)) + (set! (-> self playing-deadly-sound?) #t) + ) + ) + ) + (none) + ) :post (the-as (function none :behavior sunken-water) ja-post) ) @@ -299,55 +229,54 @@ (defmethod TODO-RENAME-25 sunken-water ((obj sunken-water)) (local-vars (v0-3 uint)) (let ((t9-0 (method-of-type water-anim TODO-RENAME-25))) - (t9-0 obj) - ) + (t9-0 obj) + ) (set! (-> obj playing-deadly-sound?) #f) (set-vector! (-> obj safe-color-mult) 0.125 0.225 0.22 0.5) (set-vector! (-> obj safe-color-emissive) 0.0 0.0 0.0 1.0) (set-vector! (-> obj deadly-color-mult) 0.125 0.225 0.22 0.5) (set-vector! (-> obj deadly-color-emissive) 0.33 0.6 0.0 1.0) - (let - ((s5-0 (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.15 0.15))) - (let ((f0-16 (res-lump-float (-> obj entity) 'percent :default -1.0))) - (if (or (< f0-16 0.0) (< 1.0 f0-16)) - (set! f0-16 (cond - (s5-0 - 0.5 - ) - ((logtest? #x80000 (-> obj flags)) - 1.0 - ) - (else - 0.0 - ) - ) + (let ((s5-0 (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.15 0.15))) + (let ((f0-16 (res-lump-float (-> obj entity) 'percent :default -1.0))) + (if (or (< f0-16 0.0) (< 1.0 f0-16)) + (set! f0-16 (cond + (s5-0 + 0.5 + ) + ((logtest? #x80000 (-> obj flags)) + 1.0 + ) + (else + 0.0 + ) + ) + ) + ) + (when (and s5-0 (or (= f0-16 0.0) (= f0-16 1.0))) + (set! s5-0 #f) + (if (= f0-16 0.0) + (set! (-> obj flags) (logior #x80000 (-> obj flags))) + (set! (-> obj flags) (logand -524289 (-> obj flags))) + ) + ) + (set! (-> obj use-sync?) s5-0) + (set! (-> obj deadly-time) f0-16) ) - ) - (when (and s5-0 (or (= f0-16 0.0) (= f0-16 1.0))) - (set! s5-0 #f) - (if (= f0-16 0.0) - (set! (-> obj flags) (logior #x80000 (-> obj flags))) - (set! (-> obj flags) (logand -524289 (-> obj flags))) - ) - ) - (set! (-> obj use-sync?) s5-0) - (set! (-> obj deadly-time) f0-16) - ) - (the-as object (when s5-0 - (cond - ((< (get-current-phase (-> obj sync)) (-> obj deadly-time)) - (set! v0-3 (logior (the-as uint #x80000) (-> obj flags))) - (set! (-> obj flags) v0-3) + (the-as object (when s5-0 + (cond + ((< (get-current-phase (-> obj sync)) (-> obj deadly-time)) + (set! v0-3 (logior (the-as uint #x80000) (-> obj flags))) + (set! (-> obj flags) v0-3) + ) + (else + (set! v0-3 (logand (the-as uint -524289) (-> obj flags))) + (set! (-> obj flags) v0-3) + ) + ) + v0-3 ) - (else - (set! v0-3 (logand (the-as uint -524289) (-> obj flags))) - (set! (-> obj flags) v0-3) - ) - ) - v0-3 - ) + ) ) - ) ) ;; definition for method 22 of type sunken-water @@ -355,30 +284,30 @@ ;; Used lq/sq (defmethod TODO-RENAME-22 sunken-water ((obj sunken-water)) (let ((t9-0 (method-of-type water-anim TODO-RENAME-22))) - (t9-0 obj) - ) + (t9-0 obj) + ) (set! (-> obj play-ambient-sound?) #f) (cond - ((logtest? #x80000 (-> obj flags)) - (set! (-> obj draw color-mult quad) (-> obj deadly-color-mult quad)) - (set! (-> obj draw color-emissive quad) (-> obj deadly-color-emissive quad)) - (set! (-> obj deadly-fade) 1.0) + ((logtest? #x80000 (-> obj flags)) + (set! (-> obj draw color-mult quad) (-> obj deadly-color-mult quad)) + (set! (-> obj draw color-emissive quad) (-> obj deadly-color-emissive quad)) + (set! (-> obj deadly-fade) 1.0) + ) + (else + (set! (-> obj draw color-mult quad) (-> obj safe-color-mult quad)) + (set! (-> obj draw color-emissive quad) (-> obj safe-color-emissive quad)) + (set! (-> obj deadly-fade) 0.0) + ) ) - (else - (set! (-> obj draw color-mult quad) (-> obj safe-color-mult quad)) - (set! (-> obj draw color-emissive quad) (-> obj safe-color-emissive quad)) - (set! (-> obj deadly-fade) 0.0) - ) - ) (let ((s5-0 (new 'process 'ripple-control))) - (set! (-> obj draw ripple) s5-0) - (set! (-> s5-0 global-scale) 3072.0) - (set! (-> s5-0 close-fade-dist) 163840.0) - (set! (-> s5-0 far-fade-dist) 245760.0) - (set! (-> s5-0 waveform) ripple-for-sunken-water) - (let ((v0-2 (new 'process 'ripple-merc-query 100))) - (set! (-> s5-0 query) v0-2) - (the-as ripple-wave-set v0-2) + (set! (-> obj draw ripple) s5-0) + (set! (-> s5-0 global-scale) 3072.0) + (set! (-> s5-0 close-fade-dist) 163840.0) + (set! (-> s5-0 far-fade-dist) 245760.0) + (set! (-> s5-0 waveform) ripple-for-sunken-water) + (let ((v0-2 (new 'process 'ripple-merc-query 100))) + (set! (-> s5-0 query) v0-2) + (the-as ripple-wave-set v0-2) + ) ) - ) ) diff --git a/test/decompiler/reference/levels/sunken/wall-plat_REF.gc b/test/decompiler/reference/levels/sunken/wall-plat_REF.gc index cc76f9a3c5..69c98028fd 100644 --- a/test/decompiler/reference/levels/sunken/wall-plat_REF.gc +++ b/test/decompiler/reference/levels/sunken/wall-plat_REF.gc @@ -19,8 +19,8 @@ ;; definition for method 3 of type wall-plat (defmethod inspect wall-plat ((obj wall-plat)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tuse-sync?: ~A~%" (-> obj use-sync?)) (format #t "~T~Textended-amount: ~f~%" (-> obj extended-amount)) (format #t "~T~Tin-trans: #~%" (-> obj in-trans)) @@ -41,83 +41,59 @@ ;; failed to figure out what this is: (defstate wall-plat-retracted (wall-plat) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('trigger) - (go wall-plat-extending) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('trigger) + (go wall-plat-extending) + ) + ) + ) :code (behavior () - (set! (-> self extended-amount) 0.0) - (TODO-RENAME-30 (-> self root-override) (-> self in-trans)) - (transform-post) - (clear-collide-with-as (-> self root-override)) - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) + (set! (-> self extended-amount) 0.0) + (TODO-RENAME-30 (-> self root-override) (-> self in-trans)) + (transform-post) + (clear-collide-with-as (-> self root-override)) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate wall-plat-extending (wall-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) - #f - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'touch) + (send-event arg0 'no-look-around 450) + #f + ) + ) + ) ) - ) :enter - (behavior () - (sound-play-by-name - (static-sound-name "wall-plat") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (none) - ) + (behavior () (sound-play-by-name (static-sound-name "wall-plat") (new-sound-id) 1024 0 0 1 #t) (none)) :trans (the-as (function none :behavior wall-plat) rider-trans) :code (behavior () - (restore-collide-with-as (-> self root-override)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t - (set! - (-> self extended-amount) - (seek - (-> self extended-amount) - 1.0 - (* 2.5 (-> *display* seconds-per-frame)) + (restore-collide-with-as (-> self root-override)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while #t + (set! (-> self extended-amount) (seek (-> self extended-amount) 1.0 (* 2.5 (-> *display* seconds-per-frame)))) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector-lerp! gp-0 (-> self in-trans) (-> self out-trans) (-> self extended-amount)) + (TODO-RENAME-30 (-> self root-override) gp-0) + ) + (suspend) + (if (= (-> self extended-amount) 1.0) + (go wall-plat-extended) + ) ) - ) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-lerp! - gp-0 - (-> self in-trans) - (-> self out-trans) - (-> self extended-amount) - ) - (TODO-RENAME-30 (-> self root-override) gp-0) - ) - (suspend) - (if (= (-> self extended-amount) 1.0) - (go wall-plat-extended) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior wall-plat) rider-post) ) @@ -125,81 +101,57 @@ ;; failed to figure out what this is: (defstate wall-plat-extended (wall-plat) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('untrigger) - (go wall-plat-retracting) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('untrigger) + (go wall-plat-retracting) + ) + ) + ) :code (behavior () - (set! (-> self extended-amount) 1.0) - (TODO-RENAME-30 (-> self root-override) (-> self out-trans)) - (transform-post) - (while #t - (logior! (-> self mask) (process-mask sleep-code)) - (suspend) + (set! (-> self extended-amount) 1.0) + (TODO-RENAME-30 (-> self root-override) (-> self out-trans)) + (transform-post) + (while #t + (logior! (-> self mask) (process-mask sleep-code)) + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate wall-plat-retracting (wall-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) - #f - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'touch) + (send-event arg0 'no-look-around 450) + #f + ) + ) + ) ) - ) :enter - (behavior () - (sound-play-by-name - (static-sound-name "wall-plat") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (none) - ) + (behavior () (sound-play-by-name (static-sound-name "wall-plat") (new-sound-id) 1024 0 0 1 #t) (none)) :trans (the-as (function none :behavior wall-plat) rider-trans) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t - (set! - (-> self extended-amount) - (seek - (-> self extended-amount) - 0.0 - (* 2.5 (-> *display* seconds-per-frame)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while #t + (set! (-> self extended-amount) (seek (-> self extended-amount) 0.0 (* 2.5 (-> *display* seconds-per-frame)))) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector-lerp! gp-0 (-> self in-trans) (-> self out-trans) (-> self extended-amount)) + (TODO-RENAME-30 (-> self root-override) gp-0) + ) + (suspend) + (if (= (-> self extended-amount) 0.0) + (go wall-plat-retracted) + ) ) - ) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector-lerp! - gp-0 - (-> self in-trans) - (-> self out-trans) - (-> self extended-amount) - ) - (TODO-RENAME-30 (-> self root-override) gp-0) - ) - (suspend) - (if (= (-> self extended-amount) 0.0) - (go wall-plat-retracted) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior wall-plat) rider-post) ) @@ -208,66 +160,52 @@ (defstate wall-plat-sync-idle (wall-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'touch) - (send-event arg0 'no-look-around 450) - #f - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'touch) + (send-event arg0 'no-look-around 450) + #f + ) + ) + ) ) - ) :enter - (behavior () - (logclear! (-> self mask) (process-mask actor-pause)) - (none) - ) + (behavior () (logclear! (-> self mask) (process-mask actor-pause)) (none)) :exit - (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (none) - ) + (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none)) :trans (the-as (function none :behavior wall-plat) rider-trans) :code (behavior () - (let ((gp-0 #f)) - (while #t - (let ((f30-0 (get-current-phase-with-mirror (-> self sync)))) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (vector-lerp! s5-0 (-> self in-trans) (-> self out-trans) f30-0) - (TODO-RENAME-30 (-> self root-override) s5-0) - ) - (cond - ((= f30-0 0.0) - (set! gp-0 #f) - (clear-collide-with-as (-> self root-override)) - ) - ((= f30-0 1.0) - (set! gp-0 #f) - (restore-collide-with-as (-> self root-override)) - ) - (else - (when (not gp-0) - (sound-play-by-name - (static-sound-name "wall-plat") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t + (let ((gp-0 #f)) + (while #t + (let ((f30-0 (get-current-phase-with-mirror (-> self sync)))) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (vector-lerp! s5-0 (-> self in-trans) (-> self out-trans) f30-0) + (TODO-RENAME-30 (-> self root-override) s5-0) + ) + (cond + ((= f30-0 0.0) + (set! gp-0 #f) + (clear-collide-with-as (-> self root-override)) + ) + ((= f30-0 1.0) + (set! gp-0 #f) + (restore-collide-with-as (-> self root-override)) + ) + (else + (when (not gp-0) + (sound-play-by-name (static-sound-name "wall-plat") (new-sound-id) 1024 0 0 1 #t) + (set! gp-0 #t) + ) + (restore-collide-with-as (-> self root-override)) + ) + ) ) - (set! gp-0 #t) - ) - (restore-collide-with-as (-> self root-override)) + (suspend) ) - ) ) - (suspend) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior wall-plat) rider-post) ) @@ -277,80 +215,59 @@ (defmethod init-from-entity! wall-plat ((obj wall-plat) (arg0 entity-actor)) (set! (-> obj extended-amount) 0.0) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 19)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 2) + (set-vector! (-> s3-0 local-sphere) 0.0 -6144.0 -12288.0 19456.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 19)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 2) - (set-vector! (-> s3-0 local-sphere) 0.0 -6144.0 -12288.0 19456.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *wall-plat-sg* '()) (logior! (-> obj skel status) 1) - (set! - (-> obj use-sync?) - (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.2 0.2) - ) + (set! (-> obj use-sync?) (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.2 0.2)) (let ((f30-0 (quaternion-y-angle (-> obj root-override quat))) (s4-1 (new 'stack-no-clear 'vector)) ) - (set-vector! s4-1 0.0 0.0 (+ 1638.4 (res-lump-float arg0 'tunemeters)) 1.0) - (vector-rotate-around-y! s4-1 s4-1 f30-0) - (vector+! (-> obj out-trans) (-> obj root-override trans) s4-1) - (set-vector! s4-1 0.0 0.0 20480.0 1.0) - (vector-rotate-around-y! s4-1 s4-1 f30-0) - (vector+! (-> obj in-trans) (-> obj out-trans) s4-1) - ) + (set-vector! s4-1 0.0 0.0 (+ 1638.4 (res-lump-float arg0 'tunemeters)) 1.0) + (vector-rotate-around-y! s4-1 s4-1 f30-0) + (vector+! (-> obj out-trans) (-> obj root-override trans) s4-1) + (set-vector! s4-1 0.0 0.0 20480.0 1.0) + (vector-rotate-around-y! s4-1 s4-1 f30-0) + (vector+! (-> obj in-trans) (-> obj out-trans) s4-1) + ) (ja-channel-push! 1 0) (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) 0.0) ) - (set! (-> s5-1 frame-num) 0.0) - ) (ja-post) (dummy-47 (-> obj root-override)) (cond - ((-> obj use-sync?) - (logclear! (-> obj mask) (process-mask actor-pause)) - (go wall-plat-sync-idle) + ((-> obj use-sync?) + (logclear! (-> obj mask) (process-mask actor-pause)) + (go wall-plat-sync-idle) + ) + (else + (go wall-plat-retracted) + ) ) - (else - (go wall-plat-retracted) - ) - ) (none) ) diff --git a/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc b/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc index e951464975..39312aed8e 100644 --- a/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc +++ b/test/decompiler/reference/levels/sunken/wedge-plats_REF.gc @@ -17,8 +17,8 @@ ;; definition for method 3 of type wedge-plat-master (defmethod inspect wedge-plat-master ((obj wedge-plat-master)) (let ((t9-0 (method-of-type process inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tcenter: #~%" (-> obj center)) (format #t "~T~Trotspeed: ~f~%" (-> obj rotspeed)) (format #t "~T~Trotate-inner: ~f~%" (-> obj rotate-inner)) @@ -30,58 +30,27 @@ (defstate wedge-plat-master-idle (wedge-plat-master) :code (behavior () - (while #t - (set! - (-> self rotate-inner) - (the - float - (sar - (shl - (the - int - (+ - (-> self rotate-inner) - (* (-> self rotspeed) (-> *display* seconds-per-frame)) - ) - ) - 48 - ) - 48 - ) + (while #t + (set! (-> self rotate-inner) + (the float + (sar (shl (the int (+ (-> self rotate-inner) (* (-> self rotspeed) (-> *display* seconds-per-frame)))) 48) 48) + ) + ) + (set! (-> self rotate-outer) + (the float + (sar (shl (the int (- (-> self rotate-outer) (* (-> self rotspeed) (-> *display* seconds-per-frame)))) 48) 48) + ) + ) + (suspend) ) - ) - (set! - (-> self rotate-outer) - (the - float - (sar - (shl - (the - int - (- - (-> self rotate-outer) - (* (-> self rotspeed) (-> *display* seconds-per-frame)) - ) - ) - 48 - ) - 48 - ) - ) - ) - (suspend) + (none) ) - (none) - ) ) ;; definition for method 11 of type wedge-plat-master ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - wedge-plat-master - ((obj wedge-plat-master) (arg0 entity-actor)) +(defmethod init-from-entity! wedge-plat-master ((obj wedge-plat-master) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) (set! (-> obj center quad) (-> arg0 extra trans quad)) (set! (-> obj center y) (+ 819.2 (-> obj center y))) @@ -111,8 +80,8 @@ ;; definition for method 3 of type wedge-plat (defmethod inspect wedge-plat ((obj wedge-plat)) (let ((t9-0 (method-of-type baseplat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tmaster: ~A~%" (-> obj master)) (format #t "~T~Tdistance: ~f~%" (-> obj distance)) (format #t "~T~Toffset: ~f~%" (-> obj offset)) @@ -132,78 +101,64 @@ (defmethod dummy-27 wedge-plat ((obj wedge-plat)) (let* ((a0-1 (-> obj master)) (v1-0 (if a0-1 - (-> (the-as process-drawable (-> a0-1 ppointer)) brother) - ) - ) + (-> (the-as process-drawable (-> a0-1 ppointer)) brother) + ) + ) ) - (when v1-0 - (let ((s4-0 (&-> v1-0 27)) - (f30-0 (-> obj distance)) - (f28-0 - (the - float - (sar - (shl (the int (+ (the-as float (-> v1-0 32)) (-> obj offset))) 48) - 48 - ) + (when v1-0 + (let ((s4-0 (&-> v1-0 27)) + (f30-0 (-> obj distance)) + (f28-0 (the float (sar (shl (the int (+ (the-as float (-> v1-0 32)) (-> obj offset))) 48) 48))) + (s5-0 #f) ) - ) - (s5-0 #f) + (quaternion-axis-angle! + (-> obj root-override quat) + 0.0 + 1.0 + 0.0 + (the float (sar (shl (the int (- 49152.0 f28-0)) 48) 48)) ) - (quaternion-axis-angle! - (-> obj root-override quat) - 0.0 - 1.0 - 0.0 - (the float (sar (shl (the int (- 49152.0 f28-0)) 48) 48)) + (set! (-> obj basetrans x) (+ (the-as float (-> s4-0 0)) (* f30-0 (cos f28-0)))) + (set! (-> obj basetrans y) (the-as float (-> s4-0 1))) + (set! (-> obj basetrans z) (+ (the-as float (-> s4-0 2)) (* f30-0 (sin f28-0)))) + (let ((f0-16 (cos f28-0))) + (if (or (< 0.95 f0-16) (< f0-16 -0.95)) + (set! s5-0 #t) + ) + ) + s5-0 + ) ) - (set! - (-> obj basetrans x) - (+ (the-as float (-> s4-0 0)) (* f30-0 (cos f28-0))) - ) - (set! (-> obj basetrans y) (the-as float (-> s4-0 1))) - (set! - (-> obj basetrans z) - (+ (the-as float (-> s4-0 2)) (* f30-0 (sin f28-0))) - ) - (let ((f0-16 (cos f28-0))) - (if (or (< 0.95 f0-16) (< f0-16 -0.95)) - (set! s5-0 #t) - ) - ) - s5-0 - ) ) - ) ) ;; failed to figure out what this is: (defstate wedge-plat-idle (wedge-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (if (= v1-0 'bonk) - (dummy-22 self) - ) - ) + (let ((v1-0 arg2)) + (the-as object (if (= v1-0 'bonk) + (dummy-22 self) + ) + ) + ) ) - ) :trans (the-as (function none :behavior wedge-plat) plat-trans) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 num-func) num-func-identity) + (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) + ) + (while #t + (if (dummy-27 self) + (go wedge-plat-tip) + ) + (suspend) + ) + (none) ) - (while #t - (if (dummy-27 self) - (go wedge-plat-tip) - ) - (suspend) - ) - (none) - ) :post (the-as (function none :behavior wedge-plat) plat-post) ) @@ -212,116 +167,83 @@ (defstate wedge-plat-tip (wedge-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'bonk) - (dummy-22 self) - ) - ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) - #f - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'bonk) + (dummy-22 self) + ) + ((= v1-0 'touch) + (send-event arg0 'no-look-around 450) + #f + ) + ) + ) + ) ) - ) :trans (the-as (function none :behavior wedge-plat) plat-trans) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! (-> gp-0 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (dummy-27 self) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> gp-0 param 0) (ja-aframe 60.0 0)) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! - (-> gp-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! (-> gp-2 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (dummy-27 self) - (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (dummy-27 self) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 60.0 0)) + (set! (-> gp-1 param 1) 1.0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 num-func) num-func-identity) - (set! (-> gp-4 frame-num) (ja-aframe 100.0 0)) - ) - (dummy-27 self) - (suspend) - ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! - (-> gp-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! (-> gp-5 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe 100.0 0)) - (joint-control-channel-group! - gp-5 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (dummy-27 self) - (suspend) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-6 param 1) 1.0) - (joint-control-channel-group-eval! - gp-6 - (the-as art-joint-anim #f) - num-func-seek! + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> gp-2 param 0) (ja-aframe 100.0 0)) + (set! (-> gp-2 param 1) 1.0) + (set! (-> gp-2 frame-num) (ja-aframe 60.0 0)) + (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - ) + (until (ja-done? 0) + (dummy-27 self) + (suspend) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 param 0) (ja-aframe 100.0 0)) + (set! (-> gp-3 param 1) 1.0) + (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (let ((gp-4 (-> self skel root-channel 0))) + (set! (-> gp-4 num-func) num-func-identity) + (set! (-> gp-4 frame-num) (ja-aframe 100.0 0)) + ) + (dummy-27 self) + (suspend) + ) + (let ((gp-5 (-> self skel root-channel 0))) + (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> gp-5 param 0) (ja-aframe 153.0 0)) + (set! (-> gp-5 param 1) 1.0) + (set! (-> gp-5 frame-num) (ja-aframe 100.0 0)) + (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (dummy-27 self) + (suspend) + (let ((gp-6 (-> self skel root-channel 0))) + (set! (-> gp-6 param 0) (ja-aframe 153.0 0)) + (set! (-> gp-6 param 1) 1.0) + (joint-control-channel-group-eval! gp-6 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go wedge-plat-idle) + (none) ) - (go wedge-plat-idle) - (none) - ) :post (the-as (function none :behavior wedge-plat) plat-post) ) @@ -330,53 +252,32 @@ ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! wedge-plat ((obj wedge-plat) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 24576.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 24576.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *wedge-plat-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (dummy-21 obj) - (set! - (-> obj master) - (the-as wedge-plat-master (entity-actor-lookup arg0 'alt-actor 0)) - ) + (set! (-> obj master) (the-as wedge-plat-master (entity-actor-lookup arg0 'alt-actor 0))) (set! (-> obj offset) (res-lump-float arg0 'rotoffset)) (set! (-> obj distance) (res-lump-float arg0 'distance :default 36864.0)) (logclear! (-> obj mask) (process-mask actor-pause)) @@ -396,8 +297,8 @@ ;; definition for method 3 of type wedge-plat-outer (defmethod inspect wedge-plat-outer ((obj wedge-plat-outer)) (let ((t9-0 (method-of-type wedge-plat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -414,78 +315,64 @@ (defmethod dummy-27 wedge-plat-outer ((obj wedge-plat-outer)) (let* ((a0-1 (-> obj master)) (v1-0 (if a0-1 - (-> (the-as process-drawable (-> a0-1 ppointer)) brother) - ) - ) + (-> (the-as process-drawable (-> a0-1 ppointer)) brother) + ) + ) ) - (when v1-0 - (let ((s4-0 (&-> v1-0 27)) - (f30-0 (-> obj distance)) - (f28-0 - (the - float - (sar - (shl (the int (+ (the-as float (-> v1-0 33)) (-> obj offset))) 48) - 48 - ) + (when v1-0 + (let ((s4-0 (&-> v1-0 27)) + (f30-0 (-> obj distance)) + (f28-0 (the float (sar (shl (the int (+ (the-as float (-> v1-0 33)) (-> obj offset))) 48) 48))) + (s5-0 #f) ) - ) - (s5-0 #f) + (quaternion-axis-angle! + (-> obj root-override quat) + 0.0 + 1.0 + 0.0 + (the float (sar (shl (the int (- 49152.0 f28-0)) 48) 48)) ) - (quaternion-axis-angle! - (-> obj root-override quat) - 0.0 - 1.0 - 0.0 - (the float (sar (shl (the int (- 49152.0 f28-0)) 48) 48)) + (set! (-> obj basetrans x) (+ (the-as float (-> s4-0 0)) (* f30-0 (cos f28-0)))) + (set! (-> obj basetrans y) (the-as float (-> s4-0 1))) + (set! (-> obj basetrans z) (+ (the-as float (-> s4-0 2)) (* f30-0 (sin f28-0)))) + (let ((f0-16 (sin f28-0))) + (if (or (< 0.95 f0-16) (< f0-16 -0.95)) + (set! s5-0 #t) + ) + ) + s5-0 + ) ) - (set! - (-> obj basetrans x) - (+ (the-as float (-> s4-0 0)) (* f30-0 (cos f28-0))) - ) - (set! (-> obj basetrans y) (the-as float (-> s4-0 1))) - (set! - (-> obj basetrans z) - (+ (the-as float (-> s4-0 2)) (* f30-0 (sin f28-0))) - ) - (let ((f0-16 (sin f28-0))) - (if (or (< 0.95 f0-16) (< f0-16 -0.95)) - (set! s5-0 #t) - ) - ) - s5-0 - ) ) - ) ) ;; failed to figure out what this is: (defstate wedge-plat-outer-idle (wedge-plat-outer) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (if (= v1-0 'bonk) - (dummy-22 self) - ) - ) + (let ((v1-0 arg2)) + (the-as object (if (= v1-0 'bonk) + (dummy-22 self) + ) + ) + ) ) - ) :trans (the-as (function none :behavior wedge-plat-outer) plat-trans) :code (behavior () - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 num-func) num-func-identity) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - ) - (if (dummy-27 self) - (go wedge-plat-outer-tip) - ) - (suspend) + (while #t + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 num-func) num-func-identity) + (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) + ) + (if (dummy-27 self) + (go wedge-plat-outer-tip) + ) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior wedge-plat-outer) plat-post) ) @@ -494,173 +381,116 @@ (defstate wedge-plat-outer-tip (wedge-plat-outer) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'bonk) - (dummy-22 self) - ) - ((= v1-0 'touch) - (send-event arg0 'no-look-around 450) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'bonk) + (dummy-22 self) + ) + ((= v1-0 'touch) + (send-event arg0 'no-look-around 450) + ) + ) + ) + ) ) - ) :trans (the-as (function none :behavior wedge-plat-outer) plat-trans) :code (behavior () - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! (-> gp-0 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (dummy-27 self) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 60.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> gp-0 param 0) (ja-aframe 60.0 0)) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) (ja-aframe 0.0 0)) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - ) - ) - (let ((gp-2 (-> self skel root-channel 0))) - (set! - (-> gp-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! (-> gp-2 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-2 param 1) 1.0) - (set! (-> gp-2 frame-num) (ja-aframe 60.0 0)) - (joint-control-channel-group! - gp-2 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (dummy-27 self) - (suspend) - (let ((gp-3 (-> self skel root-channel 0))) - (set! (-> gp-3 param 0) (ja-aframe 100.0 0)) - (set! (-> gp-3 param 1) 1.0) - (joint-control-channel-group-eval! - gp-3 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (dummy-27 self) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 60.0 0)) + (set! (-> gp-1 param 1) 1.0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 num-func) num-func-identity) - (set! (-> gp-4 frame-num) (ja-aframe 100.0 0)) - ) - (dummy-27 self) - (suspend) - ) - (let ((gp-5 (-> self skel root-channel 0))) - (set! - (-> gp-5 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! (-> gp-5 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-5 param 1) 1.0) - (set! (-> gp-5 frame-num) (ja-aframe 100.0 0)) - (joint-control-channel-group! - gp-5 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (dummy-27 self) - (suspend) - (let ((gp-6 (-> self skel root-channel 0))) - (set! (-> gp-6 param 0) (ja-aframe 153.0 0)) - (set! (-> gp-6 param 1) 1.0) - (joint-control-channel-group-eval! - gp-6 - (the-as art-joint-anim #f) - num-func-seek! + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> gp-2 param 0) (ja-aframe 100.0 0)) + (set! (-> gp-2 param 1) 1.0) + (set! (-> gp-2 frame-num) (ja-aframe 60.0 0)) + (joint-control-channel-group! gp-2 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - ) + (until (ja-done? 0) + (dummy-27 self) + (suspend) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 param 0) (ja-aframe 100.0 0)) + (set! (-> gp-3 param 1) 1.0) + (joint-control-channel-group-eval! gp-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (let ((gp-4 (-> self skel root-channel 0))) + (set! (-> gp-4 num-func) num-func-identity) + (set! (-> gp-4 frame-num) (ja-aframe 100.0 0)) + ) + (dummy-27 self) + (suspend) + ) + (let ((gp-5 (-> self skel root-channel 0))) + (set! (-> gp-5 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> gp-5 param 0) (ja-aframe 153.0 0)) + (set! (-> gp-5 param 1) 1.0) + (set! (-> gp-5 frame-num) (ja-aframe 100.0 0)) + (joint-control-channel-group! gp-5 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (dummy-27 self) + (suspend) + (let ((gp-6 (-> self skel root-channel 0))) + (set! (-> gp-6 param 0) (ja-aframe 153.0 0)) + (set! (-> gp-6 param 1) 1.0) + (joint-control-channel-group-eval! gp-6 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go wedge-plat-outer-idle) + (none) ) - (go wedge-plat-outer-idle) - (none) - ) :post (the-as (function none :behavior wedge-plat-outer) plat-post) ) ;; definition for method 11 of type wedge-plat-outer ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - wedge-plat-outer - ((obj wedge-plat-outer) (arg0 entity-actor)) +(defmethod init-from-entity! wedge-plat-outer ((obj wedge-plat-outer) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 19)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 32768.0) + (set-root-prim! s4-0 s3-0) ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 19)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 32768.0) - (set-root-prim! s4-0 s3-0) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *wedge-plat-sg* '()) (logior! (-> obj skel status) 1) (dummy-47 (-> obj root-override)) (dummy-21 obj) - (set! - (-> obj master) - (the-as wedge-plat-master (entity-actor-lookup arg0 'alt-actor 0)) - ) + (set! (-> obj master) (the-as wedge-plat-master (entity-actor-lookup arg0 'alt-actor 0))) (set! (-> obj offset) (res-lump-float arg0 'rotoffset)) (set! (-> obj distance) (res-lump-float arg0 'distance :default 69632.0)) (logclear! (-> obj mask) (process-mask actor-pause)) diff --git a/test/decompiler/reference/levels/sunken/whirlpool_REF.gc b/test/decompiler/reference/levels/sunken/whirlpool_REF.gc index 443aeaed17..e6f0fb61f6 100644 --- a/test/decompiler/reference/levels/sunken/whirlpool_REF.gc +++ b/test/decompiler/reference/levels/sunken/whirlpool_REF.gc @@ -24,8 +24,8 @@ ;; definition for method 3 of type whirlpool (defmethod inspect whirlpool ((obj whirlpool)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tspin-ry: ~f~%" (-> obj spin-ry)) (format #t "~T~Tspin-speed-idle: ~f~%" (-> obj spin-speed-idle)) (format #t "~T~Tspin-speed-delta: ~f~%" (-> obj spin-speed-delta)) @@ -43,391 +43,343 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 447) - (new 'static 'sparticle-launch-group - :length #xbb - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-whirlpool-swirl" - :launcher - (new 'static 'inline-array sparticle-group-item 187 - (sp-item 1739 :fade-after (meters 60.0) :falloff-to (meters 60.0) :binding 1737) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - (sp-item 1738 :flags (bit1 start-dead)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 447) + (new 'static 'sparticle-launch-group + :length #xbb + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-whirlpool-swirl" + :launcher + (new 'static 'inline-array sparticle-group-item 187 + (sp-item 1739 :fade-after (meters 60.0) :falloff-to (meters 60.0) :binding 1737) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1737 :flags (bit1 start-dead launch-asap) :binding 1738) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + (sp-item 1738 :flags (bit1 start-dead)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1739) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 6.6)) - (sp-flt spt-scale-x (meters 0.2)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1739) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 6.6)) + (sp-flt spt-scale-x (meters 0.2)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1737) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z 16384.0 4096.0 1.0) - (sp-flt spt-scale-x (meters 3.2)) - (sp-flt spt-scale-y (meters 1.0)) - (sp-flt spt-r 150.0) - (sp-flt spt-g 150.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.053333335)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters -0.01)) - (sp-flt spt-scalevel-x (meters -0.004888889)) - (sp-flt spt-fade-a 0.42666668) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1740) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1737) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z 16384.0 4096.0 1.0) + (sp-flt spt-scale-x (meters 3.2)) + (sp-flt spt-scale-y (meters 1.0)) + (sp-flt spt-r 150.0) + (sp-flt spt-g 150.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.053333335)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters -0.01)) + (sp-flt spt-scalevel-x (meters -0.004888889)) + (sp-flt spt-fade-a 0.42666668) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1740) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1740) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a 0.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1740) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a 0.0) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1738) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-fade-a -1.8285716) - (sp-int spt-timer 30) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1738) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-fade-a -1.8285716) + (sp-int spt-timer 30) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; definition for method 20 of type whirlpool (defmethod dummy-20 whirlpool ((obj whirlpool) (arg0 float)) (let* ((gp-0 (target-pos 0)) (f28-0 (vector-vector-xz-distance (-> obj root-override trans) gp-0)) ) - (when (< f28-0 40960.0) - (let* ((f0-2 (* 0.000024414063 (- 40960.0 f28-0))) - (f26-0 (* f0-2 f0-2)) - (f0-7 - (atan - (- (-> gp-0 x) (-> obj root-override trans x)) - (- (-> gp-0 z) (-> obj root-override trans z)) + (when (< f28-0 40960.0) + (let* ((f0-2 (* 0.000024414063 (- 40960.0 f28-0))) + (f26-0 (* f0-2 f0-2)) + (f0-7 (atan (- (-> gp-0 x) (-> obj root-override trans x)) (- (-> gp-0 z) (-> obj root-override trans z)))) + (f30-0 (* 0.5 f26-0 arg0 (-> *display* seconds-per-frame))) + (f24-0 (+ f0-7 f30-0)) + (f28-1 (- f28-0 (fmin f28-0 (* 0.16874999 f26-0 (fabs arg0) (-> *display* seconds-per-frame))))) + (s4-1 (new 'stack-no-clear 'vector)) ) + (set-vector! s4-1 (* (sin f24-0) f28-1) 0.0 (* (cos f24-0) f28-1) 1.0) + (vector+! s4-1 s4-1 (-> obj root-override trans)) + (set! (-> s4-1 x) (* (- (-> s4-1 x) (-> gp-0 x)) (-> *display* frames-per-second))) + (set! (-> s4-1 y) 0.0) + (set! (-> s4-1 z) (* (- (-> s4-1 z) (-> gp-0 z)) (-> *display* frames-per-second))) + (let ((gp-1 (-> *target* control))) + (send-event (-> gp-1 process) 'rotate-y-angle f30-0) + (dummy-32 gp-1 8192.0 (-> gp-1 root-prim collide-with)) + (let ((s3-0 (-> gp-1 status))) + (dummy-37 gp-1 s4-1) + (set! (-> gp-1 status) s3-0) + s3-0 ) - (f30-0 (* 0.5 f26-0 arg0 (-> *display* seconds-per-frame))) - (f24-0 (+ f0-7 f30-0)) - (f28-1 - (- - f28-0 - (fmin - f28-0 - (* 0.16874999 f26-0 (fabs arg0) (-> *display* seconds-per-frame)) - ) - ) - ) - (s4-1 (new 'stack-no-clear 'vector)) - ) - (set-vector! s4-1 (* (sin f24-0) f28-1) 0.0 (* (cos f24-0) f28-1) 1.0) - (vector+! s4-1 s4-1 (-> obj root-override trans)) - (set! - (-> s4-1 x) - (* (- (-> s4-1 x) (-> gp-0 x)) (-> *display* frames-per-second)) + ) + ) ) - (set! (-> s4-1 y) 0.0) - (set! - (-> s4-1 z) - (* (- (-> s4-1 z) (-> gp-0 z)) (-> *display* frames-per-second)) - ) - (let ((gp-1 (-> *target* control))) - (send-event (-> gp-1 process) 'rotate-y-angle f30-0) - (dummy-32 gp-1 8192.0 (-> gp-1 root-prim collide-with)) - (let ((s3-0 (-> gp-1 status))) - (dummy-37 gp-1 s4-1) - (set! (-> gp-1 status) s3-0) - s3-0 - ) - ) - ) ) - ) ) ;; failed to figure out what this is: (defstate whirlpool-idle (whirlpool) :trans (behavior () - (let - ((f30-0 - (+ - (* - (get-current-phase-with-mirror (-> self sync)) - (-> self spin-speed-delta) + (let ((f30-0 + (+ (* (get-current-phase-with-mirror (-> self sync)) (-> self spin-speed-delta)) (-> self spin-speed-idle)) + ) + ) + (when (>= (fabs f30-0) 45511.11) + (let ((a1-0 (new 'stack-no-clear 'vector))) + (set! (-> a1-0 quad) (-> self root-override trans quad)) + (set! (-> a1-0 y) (+ -8192.0 (-> a1-0 y))) + (spawn (-> self part) a1-0) + ) + ) + (+! (-> self spin-ry) (* f30-0 (-> *display* seconds-per-frame))) + (quaternion-axis-angle! (-> self root-override quat) 0.0 1.0 0.0 (-> self spin-ry)) + (if (and *target* (logtest? (-> *target* water flags) 512)) + (dummy-20 self f30-0) + ) + (update! (-> self sound)) + (let ((f0-9 (fmin 1.0 (* 0.000007608261 (fmax 0.0 (+ -28580.979 (fabs f30-0))))))) + (update-vol! (-> self sound) (the int (* 100.0 f0-9))) ) - (-> self spin-speed-idle) - ) ) - ) - (when (>= (fabs f30-0) 45511.11) - (let ((a1-0 (new 'stack-no-clear 'vector))) - (set! (-> a1-0 quad) (-> self root-override trans quad)) - (set! (-> a1-0 y) (+ -8192.0 (-> a1-0 y))) - (spawn (-> self part) a1-0) - ) - ) - (+! (-> self spin-ry) (* f30-0 (-> *display* seconds-per-frame))) - (quaternion-axis-angle! - (-> self root-override quat) - 0.0 - 1.0 - 0.0 - (-> self spin-ry) - ) - (if (and *target* (logtest? (-> *target* water flags) 512)) - (dummy-20 self f30-0) - ) - (update! (-> self sound)) - (let - ((f0-9 - (fmin 1.0 (* 0.000007608261 (fmax 0.0 (+ -28580.979 (fabs f30-0))))) - ) - ) - (update-vol! (-> self sound) (the int (* 100.0 f0-9))) - ) + (none) ) - (none) - ) :code (the-as (function none :behavior whirlpool) anim-loop) :post @@ -437,8 +389,8 @@ ;; definition for method 10 of type whirlpool (defmethod deactivate whirlpool ((obj whirlpool)) (if (nonzero? (-> obj sound)) - (stop! (-> obj sound)) - ) + (stop! (-> obj sound)) + ) ((method-of-type process-drawable deactivate) obj) (none) ) @@ -449,65 +401,59 @@ (defmethod init-from-entity! whirlpool ((obj whirlpool) (arg0 entity-actor)) (local-vars (sv-16 res-tag)) (set! (-> obj spin-ry) (rand-vu-float-range 0.0 65536.0)) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set-vector! (-> s3-0 local-sphere) 0.0 -819.2 0.0 11468.8) - (set-root-prim! s4-0 s3-0) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set-vector! (-> s3-0 local-sphere) 0.0 -819.2 0.0 11468.8) + (set-root-prim! s4-0 s3-0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *whirlpool-sg* '()) (load-params! (-> obj sync) obj (the-as uint 1500) 0.0 0.15 0.15) (let ((f30-0 32768.0) (f28-0 145635.56) ) - (set! sv-16 (new 'static 'res-tag)) - (let ((v1-17 (res-lump-data arg0 'speed (pointer float) :tag-ptr (& sv-16)))) - (when v1-17 - (set! f30-0 (-> v1-17 0)) - (set! f28-0 (-> v1-17 1)) - ) + (set! sv-16 (new 'static 'res-tag)) + (let ((v1-17 (res-lump-data arg0 'speed (pointer float) :tag-ptr (& sv-16)))) + (when v1-17 + (set! f30-0 (-> v1-17 0)) + (set! f28-0 (-> v1-17 1)) + ) + ) + (set! (-> obj spin-speed-idle) f30-0) + (set! (-> obj spin-speed-delta) (- f28-0 f30-0)) ) - (set! (-> obj spin-speed-idle) f30-0) - (set! (-> obj spin-speed-delta) (- f28-0 f30-0)) - ) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 447) obj) - ) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "whirlpool") - :volume #x400 - :fo-max 55 - ) - (-> obj root-override trans) - ) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 447) obj)) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "whirlpool") + :volume #x400 + :fo-max 55 + ) + (-> obj root-override trans) + ) + ) (ja-channel-set! 1) (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) 0.0) ) - (set! (-> s5-1 frame-num) 0.0) - ) (ja-post) (dummy-47 (-> obj root-override)) (go whirlpool-idle) diff --git a/test/decompiler/reference/levels/swamp/billy_REF.gc b/test/decompiler/reference/levels/swamp/billy_REF.gc index fc1aac189e..eb8acdcdac 100644 --- a/test/decompiler/reference/levels/swamp/billy_REF.gc +++ b/test/decompiler/reference/levels/swamp/billy_REF.gc @@ -32,8 +32,8 @@ ;; definition for method 3 of type billy (defmethod inspect billy ((obj billy)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tfarthy: ~D~%" (-> obj farthy)) (format #t "~T~Tpath-data[3] @ #x~X~%" (-> obj path-data)) (format #t "~T~Tpath-snacks: ~A~%" (-> obj path-snacks)) @@ -55,20 +55,14 @@ ;; INFO: Return type mismatch process-drawable vs billy. (defmethod relocate billy ((obj billy) (arg0 int)) (countdown (v1-0 3) - (if (nonzero? (-> obj path-data v1-0)) - (&+! (-> obj path-data v1-0) arg0) + (if (nonzero? (-> obj path-data v1-0)) + (&+! (-> obj path-data v1-0) arg0) + ) ) - ) (the-as - billy - ((the-as - (function process-drawable int process-drawable) - (find-parent-method billy 7) - ) - obj - arg0 + billy + ((the-as (function process-drawable int process-drawable) (find-parent-method billy 7)) obj arg0) ) - ) ) ;; definition of type billy-snack @@ -88,8 +82,8 @@ ;; definition for method 3 of type billy-snack (defmethod inspect billy-snack ((obj billy-snack)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tnum-rats: ~D~%" (-> obj num-rats)) obj ) @@ -107,65 +101,49 @@ (defstate billy-snack-eat (billy-snack) :code (behavior () - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - (let ((a0-3 (-> self skel root-channel 0))) - (set! (-> a0-3 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-3 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) ) - ) - (set! (-> a0-3 param 1) 1.0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! a0-3 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-3 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-3 param 1) 1.0) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! + a0-3 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (deactivate self) + (while #t + (suspend) + ) + (none) ) - (deactivate self) - (while #t - (suspend) - ) - (none) - ) :post (the-as (function none :behavior billy-snack) ja-post) ) @@ -173,66 +151,52 @@ ;; failed to figure out what this is: (defstate billy-snack-idle (billy-snack) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('eat) - (go billy-snack-eat) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('eat) + (go billy-snack-eat) + ) + ) + ) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior billy-snack) ja-post) ) @@ -269,8 +233,8 @@ ;; definition for method 3 of type billy-rat (defmethod inspect billy-rat ((obj billy-rat)) (let ((t9-0 (method-of-type swamp-rat inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tdest-type: ~D~%" (-> obj dest-type)) (format #t "~T~Tsnack: ~D~%" (-> obj snack)) (format #t "~T~Tdestination: #~%" (-> obj destination)) @@ -281,24 +245,14 @@ ;; definition for function rat-about-to-eat? ;; INFO: Return type mismatch basic vs symbol. (defun rat-about-to-eat? ((arg0 billy-rat) (arg1 billy)) - (the-as - symbol - (and - (= (-> arg0 dest-type) 2) - (> (-> arg1 num-snacks) 0) - (handle->process (-> arg0 snack)) - ) - ) + (the-as symbol (and (= (-> arg0 dest-type) 2) (> (-> arg1 num-snacks) 0) (handle->process (-> arg0 snack)))) ) ;; failed to figure out what this is: (defstate nav-enemy-idle (billy-rat) :virtual #t :enter - (behavior () - (go-virtual nav-enemy-chase) - (none) - ) + (behavior () (go-virtual nav-enemy-chase) (none)) :post (the-as (function none :behavior billy-rat) nav-enemy-common-post) ) @@ -308,105 +262,70 @@ :virtual #t :code (behavior () - (nav-enemy-fall-and-play-death-anim - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info die-anim)) - ) - 1.0 - 1.0 - 1000000000000000.0 - 600 + (nav-enemy-fall-and-play-death-anim + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info die-anim))) + 1.0 + 1.0 + 1000000000000000.0 + 600 + ) + (send-event (ppointer->process (-> self billy)) 'billy-rat-die) + (dummy-18 self) + (none) ) - (send-event (ppointer->process (-> self billy)) 'billy-rat-die) - (dummy-18 self) - (none) - ) ) ;; failed to figure out what this is: (defstate billy-rat-eat (billy-rat) :trans - (behavior () - (seek-to-point-toward-point! - (-> self collide-info) - (-> self destination) - 131072.0 - 3 - ) - (none) - ) + (behavior () (seek-to-point-toward-point! (-> self collide-info) (-> self destination) 131072.0 3) (none)) :code (behavior () - (send-event (handle->process (-> self snack)) 'eat) - (sound-play-by-name - (static-sound-name "rat-gulp") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (ja-channel-push! 1 15) - (let ((v1-8 (-> self skel root-channel 0))) - (set! - (-> v1-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 12)) - ) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-9 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (send-event (handle->process (-> self snack)) 'eat) + (sound-play-by-name (static-sound-name "rat-gulp") (new-sound-id) 1024 0 0 1 #t) + (ja-channel-push! 1 15) + (let ((v1-8 (-> self skel root-channel 0))) + (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) ) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-9 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-9 param 1) 1.0) + (set! (-> a0-9 frame-num) 0.0) + (joint-control-channel-group! + a0-9 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 1.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) + (send-event (ppointer->process (-> self billy)) 'billy-rat-needs-destination) + (logclear! (-> self nav flags) (nav-control-flags bit19)) + (go-virtual nav-enemy-chase) + (none) ) - (send-event (ppointer->process (-> self billy)) 'billy-rat-needs-destination) - (logclear! (-> self nav flags) (nav-control-flags bit19)) - (go-virtual nav-enemy-chase) - (none) - ) :post (the-as (function none :behavior billy-rat) nav-enemy-simple-post) ) @@ -415,84 +334,51 @@ (defstate billy-rat-salivate (billy-rat) :event (the-as - (function process int symbol event-message-block object :behavior billy-rat) - nav-enemy-default-event-handler - ) + (function process int symbol event-message-block object :behavior billy-rat) + nav-enemy-default-event-handler + ) :code (behavior () - (ja-channel-push! 1 22) - (dotimes (gp-0 1) - (sound-play-by-name - (static-sound-name "rat-eat") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info victory-anim)) - ) - ) - (set! - (-> a0-3 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info victory-anim)) - ) - data - 0 - length + (ja-channel-push! 1 22) + (dotimes (gp-0 1) + (sound-play-by-name (static-sound-name "rat-eat") (new-sound-id) 1024 0 0 1 #t) + (let ((f30-0 (nav-enemy-rnd-float-range 0.8 1.2))) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) + ) + (set! (-> a0-3 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) data 0 length) + -1 + ) + ) + ) + (set! (-> a0-3 param 1) f30-0) + (set! (-> a0-3 frame-num) 0.0) + (joint-control-channel-group! + a0-3 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info victory-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) f30-0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-3 param 1) f30-0) - (set! (-> a0-3 frame-num) 0.0) - (joint-control-channel-group! - a0-3 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info victory-anim)) - ) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) + (send-event (ppointer->process (-> self billy)) 'billy-rat-needs-destination) + (if (= (-> self dest-type) 3) + (go billy-rat-eat) + (go-virtual nav-enemy-chase) ) - (set! (-> a0-4 param 1) f30-0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (none) ) - (send-event (ppointer->process (-> self billy)) 'billy-rat-needs-destination) - (if (= (-> self dest-type) 3) - (go billy-rat-eat) - (go-virtual nav-enemy-chase) - ) - (none) - ) :post (the-as (function none :behavior billy-rat) nav-enemy-simple-post) ) @@ -502,37 +388,27 @@ :virtual #t :enter (behavior () - (let - ((t9-1 - (-> (the-as (state nav-enemy) (find-parent-method billy-rat 33)) enter) + (let ((t9-1 (-> (the-as (state nav-enemy) (find-parent-method billy-rat 33)) enter))) + (if t9-1 + (t9-1) + ) ) - ) - (if t9-1 - (t9-1) - ) - ) - (when (logtest? (nav-control-flags bit19) (-> self nav flags)) - (logclear! (-> self nav flags) (nav-control-flags bit19)) - (if (rat-about-to-eat? self (-> self billy 0)) - (go billy-rat-salivate) - (send-event - (ppointer->process (-> self billy)) - 'billy-rat-needs-destination + (when (logtest? (nav-control-flags bit19) (-> self nav flags)) + (logclear! (-> self nav flags) (nav-control-flags bit19)) + (if (rat-about-to-eat? self (-> self billy 0)) + (go billy-rat-salivate) + (send-event (ppointer->process (-> self billy)) 'billy-rat-needs-destination) + ) ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate nav-enemy-stare (billy-rat) :virtual #t :enter - (behavior () - (go-virtual nav-enemy-chase) - (none) - ) + (behavior () (go-virtual nav-enemy-chase) (none)) ) ;; failed to figure out what this is: @@ -540,41 +416,31 @@ :virtual #t :trans (behavior () - (set! (-> self speed-scale) (-> self billy 0 rat-speed)) - (if - (or - (logtest? (nav-control-flags bit19) (-> self nav flags)) - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the-as int (-> self chase-rest-time)) - ) - ) - (go-virtual nav-enemy-victory) + (set! (-> self speed-scale) (-> self billy 0 rat-speed)) + (if (or + (logtest? (nav-control-flags bit19) (-> self nav flags)) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the-as int (-> self chase-rest-time))) + ) + (go-virtual nav-enemy-victory) + ) + (none) ) - (none) - ) :post - (behavior () - (swamp-rat-update-wiggle-target (-> self destination)) - (nav-enemy-travel-post) - (none) - ) + (behavior () (swamp-rat-update-wiggle-target (-> self destination)) (nav-enemy-travel-post) (none)) ) ;; definition for function billy-rat-init-by-other ;; Used lq/sq -(defbehavior - billy-rat-init-by-other billy-rat - ((arg0 billy) (arg1 vector) (arg2 vector)) +(defbehavior billy-rat-init-by-other billy-rat ((arg0 billy) (arg1 vector) (arg2 vector)) (set! (-> self billy) (the-as (pointer billy) (process->ppointer arg0))) (set! (-> self destination quad) (-> arg2 quad)) (set! (-> self dest-type) (the-as uint 1)) (let ((s4-0 (new 'stack-no-clear 'vector))) - (vector-! s4-0 arg2 arg1) - (set! (-> s4-0 y) 0.0) - (vector-normalize! s4-0 1.0) - (swamp-rat-init-by-other arg0 arg1 s4-0 (pickup-type none) #t) - ) + (vector-! s4-0 arg2 arg1) + (set! (-> s4-0 y) 0.0) + (vector-normalize! s4-0 1.0) + (swamp-rat-init-by-other arg0 arg1 s4-0 (pickup-type none) #t) + ) (none) ) @@ -602,847 +468,462 @@ (let* ((gp-0 (the-as (pointer process-tree) (-> self child-override))) (s5-0 (-> (the-as (pointer billy-snack) gp-0) 0 brother)) ) - (while gp-0 - (if - (not - (or - (= gp-0 (-> self farthy process)) - (type-type? (-> (ppointer->process gp-0) type) fuel-cell) - ) + (while gp-0 + (if (not (or (= gp-0 (-> self farthy process)) (type-type? (-> (ppointer->process gp-0) type) fuel-cell))) + (deactivate (-> gp-0 0)) + ) + (set! gp-0 s5-0) + (set! s5-0 (-> gp-0 0 brother)) ) - (deactivate (-> gp-0 0)) - ) - (set! gp-0 s5-0) - (set! s5-0 (-> gp-0 0 brother)) ) - ) #f ) ;; definition for method 32 of type billy (defmethod play-anim! billy ((obj billy) (arg0 symbol)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) (when arg0 - (set! (-> obj blend-on-exit) #t) - (close-status! (-> obj tasks) (task-status need-introduction)) - (let ((s5-1 (new 'stack-no-clear 'vector))) - (dotimes - (s4-0 - (+ - (the int (the float (+ (-> obj path-snacks curve num-cverts) -1))) - 1 - ) - ) - (eval-path-curve-div! (-> obj path-snacks) s5-1 (the float s4-0) 'exact) - (set! (-> s5-1 x) (+ -40960.0 (-> s5-1 x))) - (set! (-> s5-1 z) (+ 20480.0 (-> s5-1 z))) - (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) - (when s3-0 - (let ((t9-4 (method-of-type manipy activate))) - (t9-4 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) + (set! (-> obj blend-on-exit) #t) + (close-status! (-> obj tasks) (task-status need-introduction)) + (let ((s5-1 (new 'stack-no-clear 'vector))) + (dotimes (s4-0 (+ (the int (the float (+ (-> obj path-snacks curve num-cverts) -1))) 1)) + (eval-path-curve-div! (-> obj path-snacks) s5-1 (the float s4-0) 'exact) + (set! (-> s5-1 x) (+ -40960.0 (-> s5-1 x))) + (set! (-> s5-1 z) (+ 20480.0 (-> s5-1 z))) + (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) + (when s3-0 + (let ((t9-4 (method-of-type manipy activate))) + (t9-4 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s3-0 manipy-init s5-1 (-> obj entity) *farthy-snack-sg* #f) + (-> s3-0 ppointer) + ) + ) ) - (run-now-in-process - s3-0 - manipy-init - s5-1 - (-> obj entity) - *farthy-snack-sg* - #f - ) - (-> s3-0 ppointer) - ) ) - ) ) - ) (new 'static 'spool-anim - :name "billy-introduction" - :index 5 - :parts 14 - :command-list - '( - (0 - kill - "swamp-blimp-3" + :name "billy-introduction" + :index 5 + :parts 14 + :command-list + '((0 kill "swamp-blimp-3") + (0 kill "swamp-tetherrock-14") + (0 kill "swamp-tetherrock-15") + (0 kill "flutflut-3") + (0 kill "tar-plat-26") + (0 kill "tar-plat-25") + (0 kill "babak-380") + (0 kill "eco-164") + (0 kill "eco-165") + (0 kill "eco-140") + (0 kill "launcher-97") + (0 kill "swamp-rat-nest-5") + (0 kill "swamp-rat-nest-4") + (0 kill "swamp-rat-nest-3") + (0 kill "swamp-rat-nest-2") + (0 kill "sharkey-9") + (0 kill "launcher-46") + (0 kill "launcher-44") + (0 kill "launcher-42") + (0 kill "swamp-spike-43") + (0 kill "swamp-spike-44") + (0 kill "swamp-spike-45") + ((the binteger 346) blackout (the binteger 10)) + ((the binteger 349) blackout 0) + ((the binteger 494) blackout (the binteger 10)) + ((the binteger 497) blackout 0) + ((the binteger 1145) blackout (the binteger 10)) + ((the binteger 1148) blackout 0) + ((the binteger 1518) blackout (the binteger 10)) + ((the binteger 1521) blackout 0) + ) + ) + ) + (((task-status need-reminder-a) (task-status need-reminder)) + (set! (-> obj skippable) #t) + (set! (-> obj blend-on-exit) #t) + (set! (-> obj will-talk) #t) + (new 'static 'spool-anim + :name "billy-reminder-1" + :index 8 + :parts 2 + :command-list + '((0 kill "swamp-blimp-3") + (0 kill "swamp-tetherrock-14") + (0 kill "swamp-tetherrock-15") + (0 kill "flutflut-3") + (0 kill "tar-plat-26") + (0 kill "tar-plat-25") + (0 kill "babak-380") + (0 kill "eco-164") + (0 kill "eco-165") + (0 kill "eco-140") + (0 kill "launcher-97") + (0 kill "swamp-rat-nest-5") + (0 kill "swamp-rat-nest-4") + (0 kill "swamp-rat-nest-3") + (0 kill "swamp-rat-nest-2") + (0 kill "sharkey-9") + (0 kill "launcher-46") + (0 kill "launcher-44") + (0 kill "launcher-42") + (0 kill "swamp-spike-43") + (0 kill "swamp-spike-44") + (0 kill "swamp-spike-45") + ) + ) + ) + (((task-status need-reward-speech)) + (when arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + ) + (new 'static 'spool-anim + :name "billy-resolution" + :index 9 + :parts 2 + :command-list + '((0 kill "swamp-blimp-3") + (0 kill "swamp-tetherrock-14") + (0 kill "swamp-tetherrock-15") + (0 kill "flutflut-3") + (0 kill "tar-plat-26") + (0 kill "tar-plat-25") + (0 kill "babak-380") + (0 kill "eco-164") + (0 kill "eco-165") + (0 kill "eco-140") + (0 kill "launcher-97") + (0 kill "swamp-rat-nest-5") + (0 kill "swamp-rat-nest-4") + (0 kill "swamp-rat-nest-3") + (0 kill "swamp-rat-nest-2") + (0 kill "sharkey-9") + (0 kill "launcher-46") + (0 kill "launcher-44") + (0 kill "launcher-42") + (0 kill "swamp-spike-43") + (0 kill "swamp-spike-44") + (0 kill "swamp-spike-45") + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) ) - (0 - kill - "swamp-tetherrock-14" - ) - (0 - kill - "swamp-tetherrock-15" - ) - (0 - kill - "flutflut-3" - ) - (0 - kill - "tar-plat-26" - ) - (0 - kill - "tar-plat-25" - ) - (0 - kill - "babak-380" - ) - (0 - kill - "eco-164" - ) - (0 - kill - "eco-165" - ) - (0 - kill - "eco-140" - ) - (0 - kill - "launcher-97" - ) - (0 - kill - "swamp-rat-nest-5" - ) - (0 - kill - "swamp-rat-nest-4" - ) - (0 - kill - "swamp-rat-nest-3" - ) - (0 - kill - "swamp-rat-nest-2" - ) - (0 - kill - "sharkey-9" - ) - (0 - kill - "launcher-46" - ) - (0 - kill - "launcher-44" - ) - (0 - kill - "launcher-42" - ) - (0 - kill - "swamp-spike-43" - ) - (0 - kill - "swamp-spike-44" - ) - (0 - kill - "swamp-spike-45" - ) - ((the binteger 346) - blackout - (the binteger 10) - ) - ((the binteger 349) - blackout - 0 - ) - ((the binteger 494) - blackout - (the binteger 10) - ) - ((the binteger 497) - blackout - 0 - ) - ((the binteger 1145) - blackout - (the binteger 10) - ) - ((the binteger 1148) - blackout - 0 - ) - ((the binteger 1518) - blackout - (the binteger 10) - ) - ((the binteger 1521) blackout 0) - ) + (-> obj draw art-group data 3) ) - ) - (((task-status need-reminder-a) (task-status need-reminder)) - (set! (-> obj skippable) #t) - (set! (-> obj blend-on-exit) #t) - (set! (-> obj will-talk) #t) - (new 'static 'spool-anim - :name "billy-reminder-1" - :index 8 - :parts 2 - :command-list - '( - (0 - kill - "swamp-blimp-3" - ) - (0 - kill - "swamp-tetherrock-14" - ) - (0 - kill - "swamp-tetherrock-15" - ) - (0 - kill - "flutflut-3" - ) - (0 - kill - "tar-plat-26" - ) - (0 - kill - "tar-plat-25" - ) - (0 - kill - "babak-380" - ) - (0 - kill - "eco-164" - ) - (0 - kill - "eco-165" - ) - (0 - kill - "eco-140" - ) - (0 - kill - "launcher-97" - ) - (0 - kill - "swamp-rat-nest-5" - ) - (0 - kill - "swamp-rat-nest-4" - ) - (0 - kill - "swamp-rat-nest-3" - ) - (0 - kill - "swamp-rat-nest-2" - ) - (0 - kill - "sharkey-9" - ) - (0 - kill - "launcher-46" - ) - (0 - kill - "launcher-44" - ) - (0 - kill - "launcher-42" - ) - (0 - kill - "swamp-spike-43" - ) - (0 kill "swamp-spike-44") (0 kill "swamp-spike-45") - ) - ) ) - (((task-status need-reward-speech)) - (when arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - ) - (new 'static 'spool-anim - :name "billy-resolution" - :index 9 - :parts 2 - :command-list - '( - (0 - kill - "swamp-blimp-3" - ) - (0 - kill - "swamp-tetherrock-14" - ) - (0 - kill - "swamp-tetherrock-15" - ) - (0 - kill - "flutflut-3" - ) - (0 - kill - "tar-plat-26" - ) - (0 - kill - "tar-plat-25" - ) - (0 - kill - "babak-380" - ) - (0 - kill - "eco-164" - ) - (0 - kill - "eco-165" - ) - (0 - kill - "eco-140" - ) - (0 - kill - "launcher-97" - ) - (0 - kill - "swamp-rat-nest-5" - ) - (0 - kill - "swamp-rat-nest-4" - ) - (0 - kill - "swamp-rat-nest-3" - ) - (0 - kill - "swamp-rat-nest-2" - ) - (0 - kill - "sharkey-9" - ) - (0 - kill - "launcher-46" - ) - (0 - kill - "launcher-44" - ) - (0 - kill - "launcher-42" - ) - (0 - kill - "swamp-spike-43" - ) - (0 kill "swamp-spike-44") (0 kill "swamp-spike-45") - ) - ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 3) - ) - ) ) ;; definition for method 31 of type billy (defmethod get-art-elem billy ((obj billy)) - (case (current-status (-> obj tasks)) - (((task-status invalid) (task-status need-resolution)) + (case (current-status (-> obj tasks)) + (((task-status invalid) (task-status need-resolution)) (-> obj draw art-group data 10) ) - (else - (-> obj draw art-group data 3) + (else + (-> obj draw art-group data 3) + ) ) - ) ) ;; definition for method 38 of type billy (defmethod dummy-38 billy ((obj billy)) - (case (current-status (-> obj tasks)) - (((task-status need-reminder-a) (task-status need-reminder)) + (case (current-status (-> obj tasks)) + (((task-status need-reminder-a) (task-status need-reminder)) (go (method-of-object obj query)) ) - (((task-status need-reward-speech)) - (go (method-of-object obj play-anim)) - ) - (else - ((the-as (function nav-enemy none) (find-parent-method billy 38)) - (the-as nav-enemy obj) + (((task-status need-reward-speech)) + (go (method-of-object obj play-anim)) ) + (else + ((the-as (function nav-enemy none) (find-parent-method billy 38)) (the-as nav-enemy obj)) + ) ) - ) (none) ) ;; definition for method 34 of type billy (defmethod get-accept-anim billy ((obj billy) (arg0 symbol)) (if arg0 - (close-current! (-> obj tasks)) - ) - (new 'static 'spool-anim - :name "billy-accept" - :index 6 - :parts 3 - :command-list '() - ) + (close-current! (-> obj tasks)) + ) + (new 'static 'spool-anim :name "billy-accept" :index 6 :parts 3 :command-list '()) ) ;; definition for method 36 of type billy (defmethod get-reject-anim billy ((obj billy) (arg0 symbol)) - (new 'static 'spool-anim - :name "billy-reject" - :index 7 - :parts 3 - :command-list '() - ) + (new 'static 'spool-anim :name "billy-reject" :index 7 :parts 3 :command-list '()) ) ;; failed to figure out what this is: (defstate billy-done (billy) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'billy-rat-needs-destination) - (let* ((gp-0 arg0) - (v1-2 - (if - (and - (nonzero? gp-0) - (type-type? (-> gp-0 type) billy-rat) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'billy-rat-needs-destination) + (let* ((gp-0 arg0) + (v1-2 (if (and (nonzero? gp-0) (type-type? (-> gp-0 type) billy-rat)) + gp-0 + ) + ) ) - gp-0 - ) - ) + (when v1-2 + (set! (-> (the-as billy-rat v1-2) dest-type) (the-as uint 1)) + (get-random-point (-> self path-waypts) (-> (the-as billy-rat v1-2) destination)) ) - (when v1-2 - (set! - (-> (the-as billy-rat v1-2) dest-type) - (the-as uint 1) + ) ) - (get-random-point - (-> self path-waypts) - (-> (the-as billy-rat v1-2) destination) - ) - ) - ) - ) - ) + ) + ) ) - ) :enter (behavior () - (init! - (-> self query) - (lookup-text! *common-text* (game-text-id play-again?) #f) - 40 - 150 - 30 - #f - (lookup-text! *common-text* (game-text-id quit) #f) - ) - (ja-channel-set! 1) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) - (send-event *target* 'end-mode) - (when - (and (handle->process (-> self offending-rat)) (zero? (-> self num-snacks))) - (send-event - *camera* - 'change-target - (handle->process (-> self offending-rat)) - ) - (send-event *camera* 'change-state cam-standoff 0) - (send-event *camera* 'set-standoff-height 0.0) - (send-event *camera* 'set-standoff-dist 20480.0) - (send-event *camera* 'set-standoff-height 16384.0) - (send-event *camera-combiner* 'stop-tracking) - (send-event - *camera-combiner* - 'start-tracking - (ppointer->process (-> *camera* slave 0)) - ) - (let ((a0-24 (get-reminder (-> self tasks) 0))) - (save-reminder (-> self tasks) (seekl a0-24 255 1) 0) - ) - (let* ((v1-49 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-50 (the-as number (logior #x3f800000 v1-49))) - (f0-2 (+ -1.0 (the-as float v1-50))) - ) - (cond - ((< 0.75 f0-2) - (play-ambient (-> self ambient) "BIL-TA04" #t (the-as vector #f)) - ) - ((< 0.5 f0-2) - (play-ambient (-> self ambient) "BIL-TA05" #t (the-as vector #f)) - ) - ((< 0.25 f0-2) - (play-ambient (-> self ambient) "BIL-TA4A" #t (the-as vector #f)) - ) - (else - (play-ambient (-> self ambient) "BIL-TA5A" #t (the-as vector #f)) - ) + (init! + (-> self query) + (lookup-text! *common-text* (game-text-id play-again?) #f) + 40 + 150 + 30 + #f + (lookup-text! *common-text* (game-text-id quit) #f) ) - ) + (ja-channel-set! 1) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 frame-group) (the-as art-joint-anim (get-art-elem self))) + ) + (send-event *target* 'end-mode) + (when (and (handle->process (-> self offending-rat)) (zero? (-> self num-snacks))) + (send-event *camera* 'change-target (handle->process (-> self offending-rat))) + (send-event *camera* 'change-state cam-standoff 0) + (send-event *camera* 'set-standoff-height 0.0) + (send-event *camera* 'set-standoff-dist 20480.0) + (send-event *camera* 'set-standoff-height 16384.0) + (send-event *camera-combiner* 'stop-tracking) + (send-event *camera-combiner* 'start-tracking (ppointer->process (-> *camera* slave 0))) + (let ((a0-24 (get-reminder (-> self tasks) 0))) + (save-reminder (-> self tasks) (seekl a0-24 255 1) 0) + ) + (let* ((v1-49 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-50 (the-as number (logior #x3f800000 v1-49))) + (f0-2 (+ -1.0 (the-as float v1-50))) + ) + (cond + ((< 0.75 f0-2) + (play-ambient (-> self ambient) "BIL-TA04" #t (the-as vector #f)) + ) + ((< 0.5 f0-2) + (play-ambient (-> self ambient) "BIL-TA05" #t (the-as vector #f)) + ) + ((< 0.25 f0-2) + (play-ambient (-> self ambient) "BIL-TA4A" #t (the-as vector #f)) + ) + (else + (play-ambient (-> self ambient) "BIL-TA5A" #t (the-as vector #f)) + ) + ) + ) + ) + (none) ) - (none) - ) :exit (behavior () - (billy-kill-all-but-farthy) - (send-event *camera* 'change-target *target*) - (send-event *camera* 'change-state *camera-base-mode* 0) - (none) - ) + (billy-kill-all-but-farthy) + (send-event *camera* 'change-target *target*) + (send-event *camera* 'change-state *camera-base-mode* 0) + (none) + ) :trans (behavior () - (cond - ((> (-> self num-snacks) 0) - (when (process-grab? *target*) - (close-current! (-> self tasks)) - (go-virtual play-anim) - ) - ) - ((< (-> self num-snacks) 0) - (go-virtual idle) - ) - (else - (process-grab? *target*) - (when (and *target* (logtest? (-> *target* state-flags) 256)) - (let ((gp-0 (get-response (-> self query)))) - (cond - ((and (= gp-0 'yes) (process-release? *target*)) - (go-virtual enter-playing) + (cond + ((> (-> self num-snacks) 0) + (when (process-grab? *target*) + (close-current! (-> self tasks)) + (go-virtual play-anim) ) - ((= gp-0 'no) - (go-virtual play-reject) - ) - ) ) + ((< (-> self num-snacks) 0) + (go-virtual idle) + ) + (else + (process-grab? *target*) + (when (and *target* (logtest? (-> *target* state-flags) 256)) + (let ((gp-0 (get-response (-> self query)))) + (cond + ((and (= gp-0 'yes) (process-release? *target*)) + (go-virtual enter-playing) + ) + ((= gp-0 'no) + (go-virtual play-reject) + ) + ) + ) + ) + ) ) - ) + (spool-push *art-control* "billy-reject" 0 self -99.0) + (none) ) - (spool-push *art-control* "billy-reject" 0 self -99.0) - (none) - ) :code (the-as (function none :behavior billy) process-taskable-anim-loop) :post - (behavior () - (ja-post) - (none) - ) + (behavior () (ja-post) (none)) ) ;; definition for function billy-game-update-wave ;; INFO: Return type mismatch int vs none. (defbehavior billy-game-update-wave billy () - (let* - ((a0-2 - (/ (the-as uint (+ (get-reminder (-> self tasks) 0) 1)) (the-as uint 5)) - ) - (v1-4 (min 3 (the-as int a0-2))) + (let* ((a0-2 (/ (the-as uint (+ (get-reminder (-> self tasks) 0) 1)) (the-as uint 5))) + (v1-4 (min 3 (the-as int a0-2))) + ) + (cond + ((zero? v1-4) + (let ((v1-5 (-> self current-wave))) + (cond + ((zero? v1-5) + (set! (-> self max-rats) 6) + (set! (-> self rat-speed) 1.0) + (set! (-> self spawn-rats) #t) + (set! (-> self passed-last-stage) #f) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 4500) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ((= v1-5 2) + (set! (-> self max-rats) 8) + (set! (-> self rat-speed) 1.2) + (set! (-> self spawn-rats) #t) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 6000) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ((= v1-5 4) + (set! (-> self max-rats) 10) + (set! (-> self rat-speed) 1.35) + (set! (-> self spawn-rats) #t) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 7500) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ) + ) + ) + ((= v1-4 1) + (let ((v1-30 (-> self current-wave))) + (cond + ((zero? v1-30) + (set! (-> self max-rats) 6) + (set! (-> self rat-speed) 1.0) + (set! (-> self spawn-rats) #t) + (set! (-> self passed-last-stage) #f) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 4500) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ((= v1-30 2) + (set! (-> self max-rats) 7) + (set! (-> self rat-speed) 1.2) + (set! (-> self spawn-rats) #t) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 6000) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ((= v1-30 4) + (set! (-> self max-rats) 10) + (set! (-> self rat-speed) 1.3) + (set! (-> self spawn-rats) #t) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 6600) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ) + ) + ) + ((= v1-4 2) + (let ((v1-55 (-> self current-wave))) + (cond + ((zero? v1-55) + (set! (-> self max-rats) 6) + (set! (-> self rat-speed) 1.0) + (set! (-> self spawn-rats) #t) + (set! (-> self passed-last-stage) #f) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 4500) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ((= v1-55 2) + (set! (-> self max-rats) 7) + (set! (-> self rat-speed) 1.1) + (set! (-> self spawn-rats) #t) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 5400) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ((= v1-55 4) + (set! (-> self max-rats) 9) + (set! (-> self rat-speed) 1.25) + (set! (-> self spawn-rats) #t) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 6000) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ) + ) + ) + (else + (let ((v1-80 (-> self current-wave))) + (cond + ((zero? v1-80) + (set! (-> self max-rats) 5) + (set! (-> self rat-speed) 0.9) + (set! (-> self spawn-rats) #t) + (set! (-> self passed-last-stage) #f) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 4500) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ((= v1-80 2) + (set! (-> self max-rats) 6) + (set! (-> self rat-speed) 1.0) + (set! (-> self spawn-rats) #t) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 5400) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ((= v1-80 4) + (set! (-> self max-rats) 8) + (set! (-> self rat-speed) 1.1) + (set! (-> self spawn-rats) #t) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 6000) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ) + ) + ) + ) ) - (cond - ((zero? v1-4) - (let ((v1-5 (-> self current-wave))) - (cond - ((zero? v1-5) - (set! (-> self max-rats) 6) - (set! (-> self rat-speed) 1.0) - (set! (-> self spawn-rats) #t) - (set! (-> self passed-last-stage) #f) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 4500 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ((= v1-5 2) - (set! (-> self max-rats) 8) - (set! (-> self rat-speed) 1.2) - (set! (-> self spawn-rats) #t) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 6000 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ((= v1-5 4) - (set! (-> self max-rats) 10) - (set! (-> self rat-speed) 1.35) - (set! (-> self spawn-rats) #t) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 7500 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ) - ) - ) - ((= v1-4 1) - (let ((v1-30 (-> self current-wave))) - (cond - ((zero? v1-30) - (set! (-> self max-rats) 6) - (set! (-> self rat-speed) 1.0) - (set! (-> self spawn-rats) #t) - (set! (-> self passed-last-stage) #f) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 4500 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ((= v1-30 2) - (set! (-> self max-rats) 7) - (set! (-> self rat-speed) 1.2) - (set! (-> self spawn-rats) #t) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 6000 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ((= v1-30 4) - (set! (-> self max-rats) 10) - (set! (-> self rat-speed) 1.3) - (set! (-> self spawn-rats) #t) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 6600 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ) - ) - ) - ((= v1-4 2) - (let ((v1-55 (-> self current-wave))) - (cond - ((zero? v1-55) - (set! (-> self max-rats) 6) - (set! (-> self rat-speed) 1.0) - (set! (-> self spawn-rats) #t) - (set! (-> self passed-last-stage) #f) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 4500 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ((= v1-55 2) - (set! (-> self max-rats) 7) - (set! (-> self rat-speed) 1.1) - (set! (-> self spawn-rats) #t) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 5400 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ((= v1-55 4) - (set! (-> self max-rats) 9) - (set! (-> self rat-speed) 1.25) - (set! (-> self spawn-rats) #t) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 6000 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ) - ) - ) - (else - (let ((v1-80 (-> self current-wave))) - (cond - ((zero? v1-80) - (set! (-> self max-rats) 5) - (set! (-> self rat-speed) 0.9) - (set! (-> self spawn-rats) #t) - (set! (-> self passed-last-stage) #f) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 4500 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ((= v1-80 2) - (set! (-> self max-rats) 6) - (set! (-> self rat-speed) 1.0) - (set! (-> self spawn-rats) #t) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 5400 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ((= v1-80 4) - (set! (-> self max-rats) 8) - (set! (-> self rat-speed) 1.1) - (set! (-> self spawn-rats) #t) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 6000 - ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ) - ) - ) - ) - ) (none) ) @@ -1450,65 +931,44 @@ ;; INFO: Return type mismatch int vs none. (defbehavior billy-game-update billy () (let ((v1-0 (-> self current-wave))) - (cond - ((or (zero? v1-0) (= v1-0 2) (= v1-0 4)) - (billy-game-update-wave) - ) - ((= v1-0 5) - (set! (-> self spawn-rats) #f) - (set! (-> self passed-last-stage) #t) - ) - ((begin - (set! (-> self spawn-rats) #f) - (zero? (-> self num-rats)) - ) - (when - (>= - (- - (-> *display* base-frame-counter) - (the-as int (-> self wave-start-time)) - ) - 900 + (cond + ((or (zero? v1-0) (= v1-0 2) (= v1-0 4)) + (billy-game-update-wave) ) - (+! (-> self current-wave) 1) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) + ((= v1-0 5) + (set! (-> self spawn-rats) #f) + (set! (-> self passed-last-stage) #t) ) - ) - ) - (else - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - ) - ) - (when (and (< (-> self num-rats) (-> self max-rats)) (-> self spawn-rats)) - (let ((gp-0 (new 'stack-no-clear 'vector)) - (s5-0 (new 'stack-no-clear 'vector)) + ((begin (set! (-> self spawn-rats) #f) (zero? (-> self num-rats))) + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wave-start-time))) 900) + (+! (-> self current-wave) 1) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) ) - (get-random-point (-> self path-starts) gp-0) - (get-random-point (-> self path-waypts) s5-0) - (let ((s4-0 (get-process *default-dead-pool* billy-rat #x4000))) - (if (when s4-0 - (let ((t9-4 (method-of-type billy-rat activate))) - (t9-4 - (the-as billy-rat s4-0) - self - 'billy-rat - (the-as pointer #x70004000) - ) - ) - (run-now-in-process s4-0 billy-rat-init-by-other self gp-0 s5-0) - (-> s4-0 ppointer) - ) - (+! (-> self num-rats) 1) + ) + (else + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + ) + ) + ) + (when (and (< (-> self num-rats) (-> self max-rats)) (-> self spawn-rats)) + (let ((gp-0 (new 'stack-no-clear 'vector)) + (s5-0 (new 'stack-no-clear 'vector)) + ) + (get-random-point (-> self path-starts) gp-0) + (get-random-point (-> self path-waypts) s5-0) + (let ((s4-0 (get-process *default-dead-pool* billy-rat #x4000))) + (if (when s4-0 + (let ((t9-4 (method-of-type billy-rat activate))) + (t9-4 (the-as billy-rat s4-0) self 'billy-rat (the-as pointer #x70004000)) + ) + (run-now-in-process s4-0 billy-rat-init-by-other self gp-0 s5-0) + (-> s4-0 ppointer) + ) + (+! (-> self num-rats) 1) + ) + ) ) - ) ) - ) 0 (none) ) @@ -1517,303 +977,226 @@ (defstate billy-playing (billy) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('billy-rat-die) - (+! (-> self num-rats) -1) - (let* ((v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-5 (the-as number (logior #x3f800000 v1-4))) - (f0-2 (+ -1.0 (the-as float v1-5))) - (f0-3 (* 3.0 f0-2)) - ) - (cond - ((< 1.0 f0-3) - #f - ) - ((< 0.8333333 f0-3) - (play-ambient (-> self ambient) "SKSP009F" #t (the-as vector #f)) - ) - ((< 0.6666667 f0-3) - (play-ambient (-> self ambient) "BIL-TA02" #t (the-as vector #f)) - ) - ((< 0.5 f0-3) - (play-ambient (-> self ambient) "BIL-TA08" #t (the-as vector #f)) - ) - ((< 0.33333334 f0-3) - (play-ambient (-> self ambient) "BIL-TA09" #t (the-as vector #f)) - ) - ((< 0.16666667 f0-3) - (play-ambient (-> self ambient) "BIL-TA2A" #t (the-as vector #f)) - ) - (else - (play-ambient (-> self ambient) "BIL-TA4B" #t (the-as vector #f)) - ) - ) - ) - ) - (('billy-rat-needs-destination) - (let* ((s5-0 arg0) - (gp-0 - (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) billy-rat)) - (the-as billy-rat s5-0) + (case arg2 + (('billy-rat-die) + (+! (-> self num-rats) -1) + (let* ((v1-4 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-5 (the-as number (logior #x3f800000 v1-4))) + (f0-2 (+ -1.0 (the-as float v1-5))) + (f0-3 (* 3.0 f0-2)) ) - ) + (cond + ((< 1.0 f0-3) + #f ) - (when gp-0 - (let* ((v1-15 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-16 (the-as number (logior #x3f800000 v1-15))) - (f0-6 (+ -1.0 (the-as float v1-16))) - ) - (cond - ((< 0.75 f0-6) - (play-ambient (-> self ambient) "BIL-TA01" #t (the-as vector #f)) - ) - ((< 0.5 f0-6) - (play-ambient (-> self ambient) "BIL-TA03" #t (the-as vector #f)) - ) - ((< 0.25 f0-6) - (play-ambient (-> self ambient) "BIL-TA1A" #t (the-as vector #f)) - ) - (else - (play-ambient (-> self ambient) "BIL-TA3A" #t (the-as vector #f)) - ) - ) - ) - (cond - ((rat-about-to-eat? gp-0 self) - (set! (-> self num-snacks) 0) - (set! (-> self offending-rat) (process->handle gp-0)) - (set! (-> gp-0 dest-type) (the-as uint 3)) - (let ((v0-1 (the-as object (-> gp-0 destination)))) - (set! - (-> (the-as vector v0-1) quad) - (-> (the-as billy-snack (-> gp-0 snack process 0)) root trans quad) - ) - v0-1 - ) - ) - ((or - (= (-> gp-0 dest-type) 2) - (= (-> gp-0 dest-type) 3) - (<= (-> self num-snacks) 0) - ) - (set! (-> gp-0 dest-type) (the-as uint 1)) - (get-random-point (-> self path-starts) (-> gp-0 destination)) - ) - (else - (let ((s3-0 100) - (s4-0 0) - (s2-0 (the-as (pointer process-tree) (-> self child-override))) - (s5-1 (the-as process-tree #f)) - ) - (while s2-0 - (let* ((s1-0 (ppointer->process s2-0)) - (v1-47 - (if - (and - (nonzero? s1-0) - (type-type? (-> s1-0 type) billy-snack) - ) - s1-0 - ) - ) - ) - (cond - ((not v1-47) - ) - ((< (-> (the-as billy-snack v1-47) num-rats) s3-0) - (set! s5-1 v1-47) - (set! s3-0 (-> (the-as billy-snack v1-47) num-rats)) - (set! s4-0 1) - ) - ((= (-> (the-as billy-snack v1-47) num-rats) s3-0) - (+! s4-0 1) - ) - ) + ((< 0.8333333 f0-3) + (play-ambient (-> self ambient) "SKSP009F" #t (the-as vector #f)) ) - (set! s2-0 (-> s2-0 0 brother)) - ) - (cond - ((zero? s4-0) - (set! (-> gp-0 dest-type) (the-as uint 1)) - (get-random-point (-> self path-waypts) (-> gp-0 destination)) + ((< 0.6666667 f0-3) + (play-ambient (-> self ambient) "BIL-TA02" #t (the-as vector #f)) + ) + ((< 0.5 f0-3) + (play-ambient (-> self ambient) "BIL-TA08" #t (the-as vector #f)) + ) + ((< 0.33333334 f0-3) + (play-ambient (-> self ambient) "BIL-TA09" #t (the-as vector #f)) + ) + ((< 0.16666667 f0-3) + (play-ambient (-> self ambient) "BIL-TA2A" #t (the-as vector #f)) ) (else - (set! (-> gp-0 snack) (process->handle (the-as billy-snack s5-1))) - (+! (-> (the-as billy-snack s5-1) num-rats) 1) - (set! (-> gp-0 dest-type) (the-as uint 2)) - (set! - (-> gp-0 destination quad) - (-> (the-as billy-snack s5-1) root trans quad) + (play-ambient (-> self ambient) "BIL-TA4B" #t (the-as vector #f)) + ) + ) + ) + ) + (('billy-rat-needs-destination) + (let* ((s5-0 arg0) + (gp-0 (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) billy-rat)) + (the-as billy-rat s5-0) + ) + ) + ) + (when gp-0 + (let* ((v1-15 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-16 (the-as number (logior #x3f800000 v1-15))) + (f0-6 (+ -1.0 (the-as float v1-16))) + ) + (cond + ((< 0.75 f0-6) + (play-ambient (-> self ambient) "BIL-TA01" #t (the-as vector #f)) + ) + ((< 0.5 f0-6) + (play-ambient (-> self ambient) "BIL-TA03" #t (the-as vector #f)) + ) + ((< 0.25 f0-6) + (play-ambient (-> self ambient) "BIL-TA1A" #t (the-as vector #f)) + ) + (else + (play-ambient (-> self ambient) "BIL-TA3A" #t (the-as vector #f)) + ) + ) + ) + (cond + ((rat-about-to-eat? gp-0 self) + (set! (-> self num-snacks) 0) + (set! (-> self offending-rat) (process->handle gp-0)) + (set! (-> gp-0 dest-type) (the-as uint 3)) + (let ((v0-1 (the-as object (-> gp-0 destination)))) + (set! (-> (the-as vector v0-1) quad) (-> (the-as billy-snack (-> gp-0 snack process 0)) root trans quad)) + v0-1 + ) + ) + ((or (= (-> gp-0 dest-type) 2) (= (-> gp-0 dest-type) 3) (<= (-> self num-snacks) 0)) + (set! (-> gp-0 dest-type) (the-as uint 1)) + (get-random-point (-> self path-starts) (-> gp-0 destination)) + ) + (else + (let ((s3-0 100) + (s4-0 0) + (s2-0 (the-as (pointer process-tree) (-> self child-override))) + (s5-1 (the-as process-tree #f)) + ) + (while s2-0 + (let* ((s1-0 (ppointer->process s2-0)) + (v1-47 (if (and (nonzero? s1-0) (type-type? (-> s1-0 type) billy-snack)) + s1-0 + ) + ) + ) + (cond + ((not v1-47) + ) + ((< (-> (the-as billy-snack v1-47) num-rats) s3-0) + (set! s5-1 v1-47) + (set! s3-0 (-> (the-as billy-snack v1-47) num-rats)) + (set! s4-0 1) + ) + ((= (-> (the-as billy-snack v1-47) num-rats) s3-0) + (+! s4-0 1) + ) + ) + ) + (set! s2-0 (-> s2-0 0 brother)) + ) + (cond + ((zero? s4-0) + (set! (-> gp-0 dest-type) (the-as uint 1)) + (get-random-point (-> self path-waypts) (-> gp-0 destination)) + ) + (else + (set! (-> gp-0 snack) (process->handle (the-as billy-snack s5-1))) + (+! (-> (the-as billy-snack s5-1) num-rats) 1) + (set! (-> gp-0 dest-type) (the-as uint 2)) + (set! (-> gp-0 destination quad) (-> (the-as billy-snack s5-1) root trans quad)) + (let ((f0-8 (+ 6799.36 (-> gp-0 destination x)))) + (set! (-> gp-0 destination x) f0-8) + f0-8 + ) + ) + ) + ) + ) ) - (let ((f0-8 (+ 6799.36 (-> gp-0 destination x)))) - (set! (-> gp-0 destination x) f0-8) - f0-8 - ) - ) ) - ) ) - ) ) ) - ) ) - ) :enter (behavior () - (push-setting! *setting-control* self 'music 'danger 0.0 0) - (ja-channel-set! 0) - (clear-collide-with-as (-> self root-override)) - (init! - (-> self query) - (the-as string #f) - 40 - 150 - 25 - #t - (lookup-text! *common-text* (game-text-id quit) #f) - ) - (set! - (-> self wave-start-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! (-> self num-snacks) 0) - (set! (-> self num-rats) 0) - (set! (-> self current-wave) 0) - (set! (-> self offending-rat) (the-as handle #f)) - (let ((gp-1 (new 'stack-no-clear 'vector))) - (dotimes - (s5-1 - (+ (the int (the float (+ (-> self path-snacks curve num-cverts) -1))) 1) - ) - (eval-path-curve-div! (-> self path-snacks) gp-1 (the float s5-1) 'exact) - (let ((s4-1 (get-process *default-dead-pool* billy-snack #x4000))) - (if (when s4-1 - (let ((t9-7 (method-of-type billy-snack activate))) - (t9-7 - (the-as billy-snack s4-1) - self - 'billy-snack - (the-as pointer #x70004000) - ) - ) - (run-now-in-process s4-1 billy-snack-init-by-other gp-1) - (-> s4-1 ppointer) - ) - (+! (-> self num-snacks) 1) - ) - ) - ) - ) - (backup-load-state-and-set-cmds *load-state* '()) - (let* - ((gp-2 - '( - (kill - "swamp-blimp-3" + (push-setting! *setting-control* self 'music 'danger 0.0 0) + (ja-channel-set! 0) + (clear-collide-with-as (-> self root-override)) + (init! (-> self query) (the-as string #f) 40 150 25 #t (lookup-text! *common-text* (game-text-id quit) #f)) + (set! (-> self wave-start-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> self num-snacks) 0) + (set! (-> self num-rats) 0) + (set! (-> self current-wave) 0) + (set! (-> self offending-rat) (the-as handle #f)) + (let ((gp-1 (new 'stack-no-clear 'vector))) + (dotimes (s5-1 (+ (the int (the float (+ (-> self path-snacks curve num-cverts) -1))) 1)) + (eval-path-curve-div! (-> self path-snacks) gp-1 (the float s5-1) 'exact) + (let ((s4-1 (get-process *default-dead-pool* billy-snack #x4000))) + (if (when s4-1 + (let ((t9-7 (method-of-type billy-snack activate))) + (t9-7 (the-as billy-snack s4-1) self 'billy-snack (the-as pointer #x70004000)) + ) + (run-now-in-process s4-1 billy-snack-init-by-other gp-1) + (-> s4-1 ppointer) + ) + (+! (-> self num-snacks) 1) + ) ) - (kill - "swamp-tetherrock-14" - ) - (kill - "swamp-tetherrock-15" - ) - (kill - "flutflut-3" - ) - (kill - "tar-plat-26" - ) - (kill - "tar-plat-25" - ) - (kill - "babak-380" - ) - (kill - "eco-164" - ) - (kill - "eco-165" - ) - (kill - "eco-140" - ) - (kill - "launcher-97" - ) - (kill - "swamp-rat-nest-5" - ) - (kill - "swamp-rat-nest-4" - ) - (kill - "swamp-rat-nest-3" - ) - (kill - "swamp-rat-nest-2" - ) - (kill - "sharkey-9" - ) - (kill - "launcher-46" - ) - (kill - "launcher-44" - ) - (kill - "launcher-42" - ) - (kill "swamp-spike-43") (kill "swamp-spike-44") (kill "swamp-spike-45") ) ) - (a1-8 (car gp-2)) - ) - (while (not (null? gp-2)) - (execute-command *load-state* (the-as pair a1-8)) - (set! gp-2 (cdr gp-2)) - (set! a1-8 (car gp-2)) - ) + (backup-load-state-and-set-cmds *load-state* '()) + (let* ((gp-2 + '((kill "swamp-blimp-3") + (kill "swamp-tetherrock-14") + (kill "swamp-tetherrock-15") + (kill "flutflut-3") + (kill "tar-plat-26") + (kill "tar-plat-25") + (kill "babak-380") + (kill "eco-164") + (kill "eco-165") + (kill "eco-140") + (kill "launcher-97") + (kill "swamp-rat-nest-5") + (kill "swamp-rat-nest-4") + (kill "swamp-rat-nest-3") + (kill "swamp-rat-nest-2") + (kill "sharkey-9") + (kill "launcher-46") + (kill "launcher-44") + (kill "launcher-42") + (kill "swamp-spike-43") + (kill "swamp-spike-44") + (kill "swamp-spike-45") + ) + ) + (a1-8 (car gp-2)) + ) + (while (not (null? gp-2)) + (execute-command *load-state* (the-as pair a1-8)) + (set! gp-2 (cdr gp-2)) + (set! a1-8 (car gp-2)) + ) + ) + (none) ) - (none) - ) :exit (behavior () - (restore-collide-with-as (-> self root-override)) - (restore-load-state-and-cleanup *load-state*) - (set! (-> *ACTOR-bank* birth-max) 1000) - (clear-pending-settings-from-process *setting-control* self 'music) - (none) - ) + (restore-collide-with-as (-> self root-override)) + (restore-load-state-and-cleanup *load-state*) + (set! (-> *ACTOR-bank* birth-max) 1000) + (clear-pending-settings-from-process *setting-control* self 'music) + (none) + ) :trans (behavior () - (spool-push *art-control* "billy-resolution" 0 self -99.0) - (spool-push *art-control* "billy-reject" 0 self -99.0) - (none) - ) + (spool-push *art-control* "billy-resolution" 0 self -99.0) + (spool-push *art-control* "billy-reject" 0 self -99.0) + (none) + ) :code (behavior () - (while #t - (billy-game-update) - (if - (or - (zero? (-> self num-snacks)) - (and (zero? (-> self num-rats)) (-> self passed-last-stage)) - (and *cheat-mode* (cpad-pressed? 1 x)) + (while #t + (billy-game-update) + (if (or + (zero? (-> self num-snacks)) + (and (zero? (-> self num-rats)) (-> self passed-last-stage)) + (and *cheat-mode* (cpad-pressed? 1 x)) + ) + (go billy-done) + ) + (suspend) ) - (go billy-done) - ) - (suspend) + (none) ) - (none) - ) :post - (behavior () - (ja-post) - (none) - ) + (behavior () (ja-post) (none)) ) ;; failed to figure out what this is: @@ -1821,112 +1204,101 @@ :virtual #t :trans (behavior () - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'change-mode) - (set! (-> a1-0 param 0) (the-as uint 'billy)) - (when (send-event-function *target* a1-0) - (send-event *target* 'trans 'reset) - (let ((v1-8 (entity-actor-lookup (-> self entity) 'alt-actor 0))) - (cond - (v1-8 - (TODO-RENAME-30 (-> *target* control) (-> v1-8 extra trans)) - (go billy-playing) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'change-mode) + (set! (-> a1-0 param 0) (the-as uint 'billy)) + (when (send-event-function *target* a1-0) + (send-event *target* 'trans 'reset) + (let ((v1-8 (entity-actor-lookup (-> self entity) 'alt-actor 0))) + (cond + (v1-8 + (TODO-RENAME-30 (-> *target* control) (-> v1-8 extra trans)) + (go billy-playing) + ) + (else + ) + ) + ) ) - (else - ) - ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 43 of type billy (defmethod TODO-RENAME-43 billy ((obj billy)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f30-0 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f30-0 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.9411765 f30-0) + (play-ambient (-> obj ambient) "BIL-AM01" #f (-> obj root-override trans)) + ) + ((< 0.88235295 f30-0) + (play-ambient (-> obj ambient) "BIL-AM02" #f (-> obj root-override trans)) + ) + ((< 0.8235294 f30-0) + (play-ambient (-> obj ambient) "BIL-AM03" #f (-> obj root-override trans)) + ) + ((< 0.7647059 f30-0) + (play-ambient (-> obj ambient) "BIL-AM04" #f (-> obj root-override trans)) + ) + ((< 0.7058824 f30-0) + (play-ambient (-> obj ambient) "BIL-AM05" #f (-> obj root-override trans)) + ) + ((< 0.64705884 f30-0) + (play-ambient (-> obj ambient) "BIL-AM06" #f (-> obj root-override trans)) + ) + ((< 0.5882353 f30-0) + (play-ambient (-> obj ambient) "BIL-AM07" #f (-> obj root-override trans)) + ) + ((< 0.5294118 f30-0) + (play-ambient (-> obj ambient) "BIL-AM08" #f (-> obj root-override trans)) + ) + ((< 0.47058824 f30-0) + (play-ambient (-> obj ambient) "BIL-AM1A" #f (-> obj root-override trans)) + ) + ((< 0.4117647 f30-0) + (play-ambient (-> obj ambient) "BIL-AM2A" #f (-> obj root-override trans)) + ) + ((< 0.3529412 f30-0) + (play-ambient (-> obj ambient) "BIL-AM2B" #f (-> obj root-override trans)) + ) + ((= (current-status (-> obj tasks)) (task-status invalid)) + #f + ) + ((< 0.29411766 f30-0) + (play-ambient (-> obj ambient) "BIL-LO01" #f (-> obj root-override trans)) + ) + ((< 0.23529412 f30-0) + (play-ambient (-> obj ambient) "BIL-LO02" #f (-> obj root-override trans)) + ) + ((< 0.1764706 f30-0) + (play-ambient (-> obj ambient) "BIL-LO03" #f (-> obj root-override trans)) + ) + ((< 0.11764706 f30-0) + (play-ambient (-> obj ambient) "BIL-LO1A" #f (-> obj root-override trans)) + ) + ((< 0.05882353 f30-0) + (play-ambient (-> obj ambient) "BIL-LO2A" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "BIL-LO2B" #f (-> obj root-override trans)) ) - (cond - ((< 0.9411765 f30-0) - (play-ambient (-> obj ambient) "BIL-AM01" #f (-> obj root-override trans)) + ) ) - ((< 0.88235295 f30-0) - (play-ambient (-> obj ambient) "BIL-AM02" #f (-> obj root-override trans)) - ) - ((< 0.8235294 f30-0) - (play-ambient (-> obj ambient) "BIL-AM03" #f (-> obj root-override trans)) - ) - ((< 0.7647059 f30-0) - (play-ambient (-> obj ambient) "BIL-AM04" #f (-> obj root-override trans)) - ) - ((< 0.7058824 f30-0) - (play-ambient (-> obj ambient) "BIL-AM05" #f (-> obj root-override trans)) - ) - ((< 0.64705884 f30-0) - (play-ambient (-> obj ambient) "BIL-AM06" #f (-> obj root-override trans)) - ) - ((< 0.5882353 f30-0) - (play-ambient (-> obj ambient) "BIL-AM07" #f (-> obj root-override trans)) - ) - ((< 0.5294118 f30-0) - (play-ambient (-> obj ambient) "BIL-AM08" #f (-> obj root-override trans)) - ) - ((< 0.47058824 f30-0) - (play-ambient (-> obj ambient) "BIL-AM1A" #f (-> obj root-override trans)) - ) - ((< 0.4117647 f30-0) - (play-ambient (-> obj ambient) "BIL-AM2A" #f (-> obj root-override trans)) - ) - ((< 0.3529412 f30-0) - (play-ambient (-> obj ambient) "BIL-AM2B" #f (-> obj root-override trans)) - ) - ((= (current-status (-> obj tasks)) (task-status invalid)) - #f - ) - ((< 0.29411766 f30-0) - (play-ambient (-> obj ambient) "BIL-LO01" #f (-> obj root-override trans)) - ) - ((< 0.23529412 f30-0) - (play-ambient (-> obj ambient) "BIL-LO02" #f (-> obj root-override trans)) - ) - ((< 0.1764706 f30-0) - (play-ambient (-> obj ambient) "BIL-LO03" #f (-> obj root-override trans)) - ) - ((< 0.11764706 f30-0) - (play-ambient (-> obj ambient) "BIL-LO1A" #f (-> obj root-override trans)) - ) - ((< 0.05882353 f30-0) - (play-ambient (-> obj ambient) "BIL-LO2A" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "BIL-LO2B" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; failed to figure out what this is: (defstate play-anim (billy) :virtual #t :exit - (behavior () - (billy-kill-all-but-farthy) - ((-> (method-of-type process-taskable play-anim) exit)) - (none) - ) + (behavior () (billy-kill-all-but-farthy) ((-> (method-of-type process-taskable play-anim) exit)) (none)) ) ;; failed to figure out what this is: @@ -1934,132 +1306,91 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) - (let* ((f30-0 5.0) - (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-10 (the-as number (logior #x3f800000 v1-9))) - ) - (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) - (let ((a0-10 (-> self skel root-channel 0))) - (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-10 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (TODO-RENAME-43 self) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (get-art-elem self) ) - (-> self draw art-group data 3) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-19 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (ja-channel-push! 1 60) + ) + (while #t + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + ) + (let* ((f30-0 5.0) + (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-10 (the-as number (logior #x3f800000 v1-9))) + ) + (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-10 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-10 param 1) 1.0) + (set! (-> a0-10 frame-num) 0.0) + (joint-control-channel-group! + a0-10 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (TODO-RENAME-43 self) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (when (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 3) + ) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-19 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-19 param 1) 1.0) + (set! (-> a0-19 frame-num) 0.0) + (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) + (set! (-> a0-20 param 1) 1.0) + (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! - a0-19 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 param 0) - (the float (+ (-> a0-20 frame-group data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; definition for method 47 of type billy ;; INFO: Return type mismatch basic vs symbol. (defmethod target-above-threshold? billy ((obj billy)) - (the-as - symbol - (and - *target* - (zero? (logand (-> *target* control root-prim prim-core action) #x4000)) - ) - ) + (the-as symbol (and *target* (zero? (logand (-> *target* control root-prim prim-core action) #x4000)))) ) ;; definition for method 11 of type billy @@ -2067,42 +1398,25 @@ (dummy-40 obj arg0 *billy-sg* 3 40 (new 'static 'vector :w 4096.0) 5) (set! (-> obj tasks) (get-task-control (game-task swamp-billy))) (dotimes (s5-0 3) - (let ((v1-3 (new 'process 'curve-control obj 'path (the float s5-0)))) - (set! (-> obj path-data s5-0) v1-3) - (logior! - (-> v1-3 flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (let ((v1-3 (new 'process 'curve-control obj 'path (the float s5-0)))) + (set! (-> obj path-data s5-0) v1-3) + (logior! (-> v1-3 flags) (path-control-flag display draw-line draw-point draw-text)) + ) ) - ) (set! (-> obj path) (-> obj path-snacks)) (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj farthy) (ppointer->handle (when s5-1 - (let - ((t9-4 - (method-of-type manipy activate) - ) - ) - (t9-4 - (the-as manipy s5-1) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *billy-sidekick-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) + (set! (-> obj farthy) + (ppointer->handle + (when s5-1 + (let ((t9-4 (method-of-type manipy activate))) + (t9-4 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *billy-sidekick-sg* #f) + (-> s5-1 ppointer) + ) + ) + ) ) - ) (send-event (handle->process (-> obj farthy)) 'center-joint 3) (send-event (handle->process (-> obj farthy)) 'anim-mode 'clone-anim) (dummy-42 obj) diff --git a/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc b/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc index 08366a8854..d4c3b267cd 100644 --- a/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-bat_REF.gc @@ -26,15 +26,12 @@ ;; definition for method 9 of type swamp-bat-idle-path ;; Used lq/sq -(defmethod - TODO-RENAME-9 - swamp-bat-idle-path - ((obj swamp-bat-idle-path) (arg0 vector) (arg1 float)) +(defmethod TODO-RENAME-9 swamp-bat-idle-path ((obj swamp-bat-idle-path) (arg0 vector) (arg1 float)) (let ((f30-0 (* 65536.0 arg1))) - (set! (-> arg0 quad) (-> obj origin quad)) - (vector+*! arg0 arg0 (-> obj x-axis) (cos f30-0)) - (vector+*! arg0 arg0 (-> obj y-axis) (sin f30-0)) - ) + (set! (-> arg0 quad) (-> obj origin quad)) + (vector+*! arg0 arg0 (-> obj x-axis) (cos f30-0)) + (vector+*! arg0 arg0 (-> obj y-axis) (sin f30-0)) + ) arg0 ) @@ -60,8 +57,8 @@ ;; definition for method 3 of type swamp-bat (defmethod inspect swamp-bat ((obj swamp-bat)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpath-origin: #~%" (-> obj path-origin)) (format #t "~T~Tidle-position-angle[8] @ #x~X~%" (-> obj idle-position-angle)) (format #t "~T~Tpath-select-plane[2] @ #x~X~%" (-> obj path-select-plane)) @@ -76,20 +73,14 @@ ;; INFO: Return type mismatch process-drawable vs swamp-bat. (defmethod relocate swamp-bat ((obj swamp-bat) (arg0 int)) (dotimes (v1-0 2) - (if (nonzero? (-> obj path-list v1-0)) - (&+! (-> obj path-list v1-0) arg0) + (if (nonzero? (-> obj path-list v1-0)) + (&+! (-> obj path-list v1-0) arg0) + ) ) - ) (the-as - swamp-bat - ((the-as - (function process-drawable int process-drawable) - (find-parent-method swamp-bat 7) - ) - obj - arg0 + swamp-bat + ((the-as (function process-drawable int process-drawable) (find-parent-method swamp-bat 7)) obj arg0) ) - ) ) ;; definition of type swamp-bat-slave @@ -119,18 +110,14 @@ ;; definition for method 3 of type swamp-bat-slave (defmethod inspect swamp-bat-slave ((obj swamp-bat-slave)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Tidle-anim-speed: ~f~%" (-> obj idle-anim-speed)) (format #t "~T~Tstrafe-envelope: ~f~%" (-> obj strafe-envelope)) (format #t "~T~Tstrafe-distance: ~f~%" (-> obj strafe-distance)) (format #t "~T~Tpath-point-count: ~f~%" (-> obj path-point-count)) - (format - #t - "~T~Tidle-path: #~%" - (-> obj idle-path) - ) + (format #t "~T~Tidle-path: #~%" (-> obj idle-path)) (format #t "~T~Tidle-position: #~%" (-> obj idle-position)) (format #t "~T~Tidle-position-index: ~D~%" (-> obj idle-position-index)) (format #t "~T~Tpath-select: ~D~%" (-> obj path-select)) @@ -139,30 +126,22 @@ ) ;; definition for function swamp-bat-slave-event-handler -(defbehavior - swamp-bat-slave-event-handler swamp-bat-slave - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack) +(defbehavior swamp-bat-slave-event-handler swamp-bat-slave ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('attack) (logclear! (-> self mask) (process-mask actor-pause)) (go swamp-bat-slave-die (process->handle arg0)) ) - (('touch) - (level-hint-spawn - (game-text-id swamp-bats-hint) - "sksp0156" - (the-as entity #f) - *entity-pool* - (game-task none) + (('touch) + (level-hint-spawn (game-text-id swamp-bats-hint) "sksp0156" (the-as entity #f) *entity-pool* (game-task none)) + (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) ) - (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) - ) - (('launch) - (if (-> self launch-ready) - (go swamp-bat-slave-launch) + (('launch) + (if (-> self launch-ready) + (go swamp-bat-slave-launch) + ) ) ) - ) ) ;; failed to figure out what this is: @@ -188,34 +167,25 @@ swamp-bat-slave-event-handler (f30-0 (dummy-20 self)) (s3-0 (new 'static 'vector :y 1.0 :w 1.0)) ) - (eval-path-curve-div! s2-0 s5-0 f30-0 'interp) - (TODO-RENAME-12 s2-0 gp-0 f30-0) - (vector-cross! s4-0 gp-0 s3-0) - (vector-normalize! s4-0 1.0) - (let - ((f0-4 - (fmax - (fmin - (- (vector-dot (target-pos 0) s4-0) (vector-dot s5-0 s4-0)) - (-> self strafe-envelope) - ) - (- (-> self strafe-envelope)) - ) + (eval-path-curve-div! s2-0 s5-0 f30-0 'interp) + (TODO-RENAME-12 s2-0 gp-0 f30-0) + (vector-cross! s4-0 gp-0 s3-0) + (vector-normalize! s4-0 1.0) + (let ((f0-4 + (fmax + (fmin (- (vector-dot (target-pos 0) s4-0) (vector-dot s5-0 s4-0)) (-> self strafe-envelope)) + (- (-> self strafe-envelope)) + ) + ) + ) + (set! (-> self strafe-distance) + (seek (-> self strafe-distance) f0-4 (* 20480.0 (-> *display* seconds-per-frame))) + ) ) - ) - (set! - (-> self strafe-distance) - (seek - (-> self strafe-distance) - f0-4 - (* 20480.0 (-> *display* seconds-per-frame)) - ) - ) + (vector-float*! s4-0 s4-0 (-> self strafe-distance)) + (vector+! (-> self root-override trans) s5-0 s4-0) + (forward-up->quaternion (-> self root-override quat) gp-0 s3-0) ) - (vector-float*! s4-0 s4-0 (-> self strafe-distance)) - (vector+! (-> self root-override trans) s5-0 s4-0) - (forward-up->quaternion (-> self root-override quat) gp-0 s3-0) - ) (swamp-bat-slave-post) ) @@ -232,62 +202,28 @@ swamp-bat-slave-event-handler ;; Used lq/sq (defbehavior swamp-bat-slave-get-new-path swamp-bat-slave () (set! (-> self path-select) (-> self parent-process 0 path-select)) - (set! - (-> self idle-path origin quad) - (-> self parent-process 0 path-origin quad) - ) - (let* - ((f28-0 - (-> - self - parent-process - 0 - idle-position-angle - (-> self idle-position-index) + (set! (-> self idle-path origin quad) (-> self parent-process 0 path-origin quad)) + (let* ((f28-0 (-> self parent-process 0 idle-position-angle (-> self idle-position-index))) + (f30-0 (cos f28-0)) + (f26-0 (sin f28-0)) + (f28-1 (cos 8192.0)) + ) + (let ((f0-0 (sin 8192.0))) + (set! (-> self idle-path x-axis x) (* 12288.0 f30-0)) + (set! (-> self idle-path x-axis y) 0.0) + (set! (-> self idle-path x-axis z) (* 12288.0 f26-0)) + (set! (-> self idle-path x-axis w) 1.0) + (set! (-> self idle-path y-axis x) (* -12288.0 f26-0 f28-1)) + (set! (-> self idle-path y-axis y) (* 12288.0 f0-0)) ) - ) - (f30-0 (cos f28-0)) - (f26-0 (sin f28-0)) - (f28-1 (cos 8192.0)) + (set! (-> self idle-path y-axis z) (* 12288.0 f30-0 f28-1)) ) - (let ((f0-0 (sin 8192.0))) - (set! (-> self idle-path x-axis x) (* 12288.0 f30-0)) - (set! (-> self idle-path x-axis y) 0.0) - (set! (-> self idle-path x-axis z) (* 12288.0 f26-0)) - (set! (-> self idle-path x-axis w) 1.0) - (set! (-> self idle-path y-axis x) (* -12288.0 f26-0 f28-1)) - (set! (-> self idle-path y-axis y) (* 12288.0 f0-0)) - ) - (set! (-> self idle-path y-axis z) (* 12288.0 f30-0 f28-1)) - ) (set! (-> self idle-path y-axis w) 1.0) - (vector+! - (-> self idle-position) - (the-as vector (-> self idle-path)) - (-> self idle-path x-axis) - ) - (let - ((f0-8 - (the - float - (+ - (-> - self - parent-process - 0 - path-list - (-> self path-select) - curve - num-cverts - ) - -1 - ) - ) - ) + (vector+! (-> self idle-position) (the-as vector (-> self idle-path)) (-> self idle-path x-axis)) + (let ((f0-8 (the float (+ (-> self parent-process 0 path-list (-> self path-select) curve num-cverts) -1)))) + (set! (-> self path-point-count) f0-8) + f0-8 ) - (set! (-> self path-point-count) f0-8) - f0-8 - ) ) ;; failed to figure out what this is: @@ -296,132 +232,77 @@ swamp-bat-slave-event-handler swamp-bat-slave-event-handler :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self launch-ready) #f) - (ja-channel-push! 1 49) - (let ((v1-4 (-> self skel root-channel 0))) - (set! - (-> v1-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - ) - (let ((s5-0 (new 'stack-no-clear 'vector))) - (set! (-> s5-0 quad) (-> self root-override trans quad)) - (let - ((s4-0 - (quaternion-copy! - (new 'stack-no-clear 'quaternion) - (-> self root-override quat) - ) - ) - (gp-0 (new-stack-quaternion0)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self launch-ready) #f) + (ja-channel-push! 1 49) + (let ((v1-4 (-> self skel root-channel 0))) + (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) ) - (let - ((s2-0 - (TODO-RENAME-12 - (-> self parent-process 0 path-list (-> self path-select)) - (new 'stack-no-clear 'vector) - 0.1 - ) - ) - ) - 0 - (let* ((f0-0 300.0) - (f1-0 32768.0) - (s3-0 - (the - int - (* - f0-0 - (/ 1.0 f1-0) - (vector-vector-distance s5-0 (-> self idle-position)) - ) - ) - ) - ) - (forward-up->quaternion gp-0 s2-0 (new 'static 'vector :y 1.0 :w 1.0)) - (while #t - (let - ((v1-17 (- (-> *display* base-frame-counter) (-> self state-time)))) - (when (>= v1-17 s3-0) - 0 - (goto cfg-10) - ) - (let ((f30-1 (/ (the float v1-17) (the float s3-0)))) - (when *run-time-assert-enable* - (set-pos - *__private-assert-info* - "swamp-bat" - (the-as uint 283) - (the-as uint 20) + (let ((s5-0 (new 'stack-no-clear 'vector))) + (set! (-> s5-0 quad) (-> self root-override trans quad)) + (let ((s4-0 (quaternion-copy! (new 'stack-no-clear 'quaternion) (-> self root-override quat))) + (gp-0 (new-stack-quaternion0)) + ) + (let ((s2-0 + (TODO-RENAME-12 (-> self parent-process 0 path-list (-> self path-select)) (new 'stack-no-clear 'vector) 0.1) + ) + ) + 0 + (let* ((f0-0 300.0) + (f1-0 32768.0) + (s3-0 (the int (* f0-0 (/ 1.0 f1-0) (vector-vector-distance s5-0 (-> self idle-position))))) + ) + (forward-up->quaternion gp-0 s2-0 (new 'static 'vector :y 1.0 :w 1.0)) + (while #t + (let ((v1-17 (- (-> *display* base-frame-counter) (-> self state-time)))) + (when (>= v1-17 s3-0) + 0 + (goto cfg-10) + ) + (let ((f30-1 (/ (the float v1-17) (the float s3-0)))) + (when *run-time-assert-enable* + (set-pos *__private-assert-info* "swamp-bat" (the-as uint 283) (the-as uint 20)) + (__assert (< f30-1 1.0) "(< interp 1.0)") + ) + (vector-lerp! (-> self root-override trans) s5-0 (-> self idle-position) f30-1) + (quaternion-slerp! (-> self root-override quat) s4-0 gp-0 f30-1) + ) + ) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (-> self idle-anim-speed)) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) + 0 + ) ) - (__assert (< f30-1 1.0) "(< interp 1.0)") - ) - (vector-lerp! - (-> self root-override trans) - s5-0 - (-> self idle-position) - f30-1 - ) - (quaternion-slerp! (-> self root-override quat) s4-0 gp-0 f30-1) ) - ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) (-> self idle-anim-speed)) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (suspend) - 0 + (label cfg-10) + (set! (-> self root-override trans quad) (-> self idle-position quad)) + (quaternion-copy! (-> self root-override quat) gp-0) ) - ) ) - (label cfg-10) - (set! (-> self root-override trans quad) (-> self idle-position quad)) - (quaternion-copy! (-> self root-override quat) gp-0) - ) + (set! (-> self launch-ready) #t) + (logior! (-> self mask) (process-mask actor-pause)) + (let ((f30-2 0.0)) + (while #t + (let ((f26-0 (cos f30-2)) + (f28-0 (sin f30-2)) + ) + (set! (-> self root-override trans quad) (-> self idle-path origin quad)) + (vector+*! (-> self root-override trans) (-> self root-override trans) (-> self idle-path x-axis) f26-0) + (vector+*! (-> self root-override trans) (-> self root-override trans) (-> self idle-path y-axis) f28-0) + ) + (let ((a0-26 (-> self skel root-channel 0))) + (set! (-> a0-26 param 0) (-> self idle-anim-speed)) + (joint-control-channel-group-eval! a0-26 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) + (+! f30-2 (* 32768.0 (-> *display* seconds-per-frame) (-> self idle-anim-speed))) + ) + ) + (none) ) - (set! (-> self launch-ready) #t) - (logior! (-> self mask) (process-mask actor-pause)) - (let ((f30-2 0.0)) - (while #t - (let ((f26-0 (cos f30-2)) - (f28-0 (sin f30-2)) - ) - (set! (-> self root-override trans quad) (-> self idle-path origin quad)) - (vector+*! - (-> self root-override trans) - (-> self root-override trans) - (-> self idle-path x-axis) - f26-0 - ) - (vector+*! - (-> self root-override trans) - (-> self root-override trans) - (-> self idle-path y-axis) - f28-0 - ) - ) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 param 0) (-> self idle-anim-speed)) - (joint-control-channel-group-eval! - a0-26 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (suspend) - (+! - f30-2 - (* 32768.0 (-> *display* seconds-per-frame) (-> self idle-anim-speed)) - ) - ) - ) - (none) - ) :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) ) @@ -432,48 +313,36 @@ swamp-bat-slave-event-handler swamp-bat-slave-event-handler :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self launch-ready) #f) - (ja-channel-push! 1 30) - (let ((gp-0 (new-stack-vector0))) - (set! (-> gp-0 quad) (-> self root-override trans quad)) - (let ((s5-0 (new-stack-vector0))) - (eval-path-curve-div! - (-> self parent-process 0 path-list (-> self path-select)) - s5-0 - 0.0 - 'interp - ) - (let ((v1-12 (-> self skel root-channel 0))) - (set! - (-> v1-12 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - ) - (while #t - (let ((s4-0 (- (-> *display* base-frame-counter) (-> self state-time)))) - (if (>= s4-0 90) - (go swamp-bat-slave-swoop) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self launch-ready) #f) + (ja-channel-push! 1 30) + (let ((gp-0 (new-stack-vector0))) + (set! (-> gp-0 quad) (-> self root-override trans quad)) + (let ((s5-0 (new-stack-vector0))) + (eval-path-curve-div! (-> self parent-process 0 path-list (-> self path-select)) s5-0 0.0 'interp) + (let ((v1-12 (-> self skel root-channel 0))) + (set! (-> v1-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + ) + (while #t + (let ((s4-0 (- (-> *display* base-frame-counter) (-> self state-time)))) + (if (>= s4-0 90) + (go swamp-bat-slave-swoop) + ) + (let ((f0-1 (* 0.011111111 (the float s4-0)))) + (vector-lerp! (-> self root-override trans) gp-0 s5-0 f0-1) + ) + ) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (-> self idle-anim-speed)) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) + 0 + ) ) - (let ((f0-1 (* 0.011111111 (the float s4-0)))) - (vector-lerp! (-> self root-override trans) gp-0 s5-0 f0-1) - ) - ) - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 param 0) (-> self idle-anim-speed)) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (suspend) - 0 ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) ) @@ -484,58 +353,44 @@ swamp-bat-slave-event-handler swamp-bat-slave-event-handler :code (behavior () - (set! (-> self strafe-envelope) 0.0) - (ja-channel-push! 1 30) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (until (ja-done? 0) - (if (< (ja-aframe-num 0) 10.0) - (sync-now! (-> self sync) 0.0) - ) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 param 0) - (the float (+ (-> a0-4 frame-group data 0 length) -1)) + (set! (-> self strafe-envelope) 0.0) + (ja-channel-push! 1 30) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 5)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) ) - (set! (-> a0-4 param 1) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-seek! + (until (ja-done? 0) + (if (< (ja-aframe-num 0) 10.0) + (sync-now! (-> self sync) 0.0) + ) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) (the float (+ (-> a0-4 frame-group data 0 length) -1))) + (set! (-> a0-4 param 1) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) - ) - (set! (-> self strafe-envelope) 20480.0) - (ja-channel-push! 1 30) - (let ((v1-18 (-> self skel root-channel 0))) - (set! - (-> v1-18 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - ) - (while #t - (if (>= (dummy-20 self) 2.0) - (go swamp-bat-slave-strafe) - ) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 param 0) 1.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-loop! + (set! (-> self strafe-envelope) 20480.0) + (ja-channel-push! 1 30) + (let ((v1-18 (-> self skel root-channel 0))) + (set! (-> v1-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) ) - ) - (suspend) + (while #t + (if (>= (dummy-20 self) 2.0) + (go swamp-bat-slave-strafe) + ) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) 1.0) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) ) @@ -546,30 +401,23 @@ swamp-bat-slave-event-handler swamp-bat-slave-event-handler :code (behavior () - (set! (-> self strafe-envelope) 20480.0) - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - ) - (while #t - (if (>= (dummy-20 self) 6.0) - (go swamp-bat-slave-return) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-loop! + (set! (-> self strafe-envelope) 20480.0) + (ja-channel-push! 1 30) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) ) - ) - (suspend) + (while #t + (if (>= (dummy-20 self) 6.0) + (go swamp-bat-slave-return) + ) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) ) @@ -580,43 +428,36 @@ swamp-bat-slave-event-handler swamp-bat-slave-event-handler :code (behavior () - (set! (-> self strafe-envelope) 0.0) - (ja-channel-push! 1 22) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - ) - (let ((f30-0 (+ -1.0 (-> self path-point-count))) - (gp-0 #t) - ) - (while #t - (let ((f28-0 (dummy-20 self))) - (if (>= f28-0 f30-0) - (go swamp-bat-slave-idle) - ) - (when (and gp-0 (>= f28-0 7.0) (< f28-0 8.0)) - (set! gp-0 #f) - (when (!= (-> self path-select) (-> self parent-process 0 path-select)) - (swamp-bat-slave-get-new-path) - (go swamp-bat-slave-idle) + (set! (-> self strafe-envelope) 0.0) + (ja-channel-push! 1 22) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + ) + (let ((f30-0 (+ -1.0 (-> self path-point-count))) + (gp-0 #t) + ) + (while #t + (let ((f28-0 (dummy-20 self))) + (if (>= f28-0 f30-0) + (go swamp-bat-slave-idle) + ) + (when (and gp-0 (>= f28-0 7.0) (< f28-0 8.0)) + (set! gp-0 #f) + (when (!= (-> self path-select) (-> self parent-process 0 path-select)) + (swamp-bat-slave-get-new-path) + (go swamp-bat-slave-idle) + ) + ) + ) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) 1.0) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) ) - ) ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (suspend) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-path-post) ) @@ -625,50 +466,36 @@ swamp-bat-slave-event-handler (defstate swamp-bat-slave-die (swamp-bat-slave) :event (the-as - (function process int symbol event-message-block object :behavior swamp-bat-slave) - process-drawable-death-event-handler - ) + (function process int symbol event-message-block object :behavior swamp-bat-slave) + process-drawable-death-event-handler + ) :code (behavior ((arg0 handle)) - (ja-channel-push! 1 21) - (let ((gp-0 (new-stack-vector0))) - (let ((v1-1 (handle->process arg0))) - (if v1-1 - (vector-! - gp-0 - (-> self root-override trans) - (-> (the-as swamp-bat v1-1) root-override trans) - ) + (ja-channel-push! 1 21) + (let ((gp-0 (new-stack-vector0))) + (let ((v1-1 (handle->process arg0))) + (if v1-1 + (vector-! gp-0 (-> self root-override trans) (-> (the-as swamp-bat v1-1) root-override trans)) + ) + ) + (set! (-> gp-0 y) (+ -6144.0 (-> gp-0 y))) + (vector-normalize! gp-0 98304.0) + (let ((v1-8 (-> self skel root-channel 0))) + (set! (-> v1-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + ) + (until (ja-done? 0) + (vector-v++! (-> self root-override trans) gp-0) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 0.5) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) + (suspend) + ) ) - ) - (set! (-> gp-0 y) (+ -6144.0 (-> gp-0 y))) - (vector-normalize! gp-0 98304.0) - (let ((v1-8 (-> self skel root-channel 0))) - (set! - (-> v1-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - ) - (until (ja-done? 0) - (vector-v++! (-> self root-override trans) gp-0) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 0.5) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (suspend) - ) + (dummy-18 self) + (none) ) - (dummy-18 self) - (none) - ) :post (the-as (function none :behavior swamp-bat-slave) swamp-bat-slave-post) ) @@ -676,66 +503,41 @@ swamp-bat-slave-event-handler ;; definition for function swamp-bat-slave-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - swamp-bat-slave-init-by-other swamp-bat-slave - ((arg0 swamp-bat-slave) (arg1 int)) +(defbehavior swamp-bat-slave-init-by-other swamp-bat-slave ((arg0 swamp-bat-slave) (arg1 int)) (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) - (let - ((s4-0 - (new - 'process - 'collide-shape-moving - self - (collide-list-enum usually-hit-by-player) + (let ((s4-0 (new 'process 'collide-shape-moving self (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 1) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 6144.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 3) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 4096.0) + (append-prim s3-0 s2-0) + ) ) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> self root-override) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 1) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 6144.0) - (set-root-prim! s4-0 s3-0) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 3) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 4096.0) - (append-prim s3-0 s2-0) - ) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> self root-override) s4-0) - ) (set! (-> self root-override trans quad) (-> arg0 root-override trans quad)) - (set! - (-> self root-override quat vec quad) - (-> arg0 root-override quat vec quad) - ) + (set! (-> self root-override quat vec quad) (-> arg0 root-override quat vec quad)) (vector-float*! (-> self root-override scale) *identity-vector* 2.0) (set! (-> self root-override pause-adjust-distance) 286720.0) - (set! - (-> self fact) - (new - 'process - 'fact-info-enemy - self - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) - ) - ) + (set! (-> self fact) + (new 'process 'fact-info-enemy self (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) (set! (-> self idle-anim-speed) (rand-vu-float-range 0.9 1.1)) (set! (-> self strafe-distance) 0.0) (set! (-> self strafe-envelope) 0.0) @@ -752,86 +554,57 @@ swamp-bat-slave-event-handler ;; definition for function swamp-bat-setup-new-path (defbehavior swamp-bat-setup-new-path swamp-bat ((arg0 int)) (when *run-time-assert-enable* - (set-pos - *__private-assert-info* - "swamp-bat" - (the-as uint 520) - (the-as uint 2) + (set-pos *__private-assert-info* "swamp-bat" (the-as uint 520) (the-as uint 2)) + (__assert-zero-lim-range-int arg0 (-> self path-count) "path-index" "(-> self path-count)") ) - (__assert-zero-lim-range-int - arg0 - (-> self path-count) - "path-index" - "(-> self path-count)" - ) - ) (when (< 0.0 (the float (+ (-> self path-list arg0 curve num-cverts) -1))) - (set! (-> self path-select) arg0) - (let ((f30-0 0.0) - (f28-0 (/ 65536.0 (the float (-> self slave-count)))) - ) - (eval-path-curve-div! - (-> self path-list arg0) - (-> self path-origin) - 0.0 - 'interp - ) - (dotimes (v1-16 (-> self slave-count)) - (set! (-> self idle-position-angle v1-16) f30-0) - (+! f30-0 f28-0) - ) + (set! (-> self path-select) arg0) + (let ((f30-0 0.0) + (f28-0 (/ 65536.0 (the float (-> self slave-count)))) + ) + (eval-path-curve-div! (-> self path-list arg0) (-> self path-origin) 0.0 'interp) + (dotimes (v1-16 (-> self slave-count)) + (set! (-> self idle-position-angle v1-16) f30-0) + (+! f30-0 f28-0) + ) + ) + #f ) - #f - ) ) ;; definition for function swamp-bat-make-path-select-plane (defbehavior swamp-bat-make-path-select-plane swamp-bat ((arg0 int)) (when *run-time-assert-enable* - (set-pos - *__private-assert-info* - "swamp-bat" - (the-as uint 538) - (the-as uint 2) + (set-pos *__private-assert-info* "swamp-bat" (the-as uint 538) (the-as uint 2)) + (__assert-zero-lim-range-int arg0 (-> self path-count) "path-index" "(-> self path-count)") ) - (__assert-zero-lim-range-int - arg0 - (-> self path-count) - "path-index" - "(-> self path-count)" - ) - ) (let* ((s5-0 (-> self path-list arg0)) (gp-1 (TODO-RENAME-12 s5-0 (-> self path-select-plane arg0) 5.0)) - (s5-1 - (eval-path-curve-div! s5-0 (new 'stack-no-clear 'vector) 5.0 'interp) - ) + (s5-1 (eval-path-curve-div! s5-0 (new 'stack-no-clear 'vector) 5.0 'interp)) ) - (set! (-> gp-1 y) 0.0) - (vector-normalize! gp-1 1.0) - (let ((f0-3 (- (vector-dot s5-1 gp-1)))) - (set! (-> gp-1 w) f0-3) - f0-3 + (set! (-> gp-1 y) 0.0) + (vector-normalize! gp-1 1.0) + (let ((f0-3 (- (vector-dot s5-1 gp-1)))) + (set! (-> gp-1 w) f0-3) + f0-3 + ) ) - ) ) ;; definition for function swamp-bat-update-path ;; INFO: Return type mismatch symbol vs none. (defbehavior swamp-bat-update-path swamp-bat () (dotimes (gp-0 (-> self path-count)) - (when (!= (-> self path-select) gp-0) - (let* ((s5-0 (-> self path-select-plane gp-0)) - (f0-2 - (+ (vector-dot (target-pos 0) (the-as vector s5-0)) (-> s5-0 w)) + (when (!= (-> self path-select) gp-0) + (let* ((s5-0 (-> self path-select-plane gp-0)) + (f0-2 (+ (vector-dot (target-pos 0) (the-as vector s5-0)) (-> s5-0 w))) + ) + (if (< 0.0 f0-2) + (swamp-bat-setup-new-path gp-0) ) - ) - (if (< 0.0 f0-2) - (swamp-bat-setup-new-path gp-0) + ) ) - ) ) - ) (none) ) @@ -845,17 +618,16 @@ swamp-bat-slave-event-handler ;; definition for function swamp-bat-check-slave-paths-match? (defbehavior swamp-bat-check-slave-paths-match? swamp-bat ((arg0 int)) (let ((v1-0 (the-as (pointer process-tree) (-> self child-process)))) - (while v1-0 - (if - (and - (-> (the-as swamp-bat-slave (-> v1-0 0)) launch-ready) - (!= (-> (the-as swamp-bat-slave (-> v1-0 0)) path-select) arg0) + (while v1-0 + (if (and + (-> (the-as swamp-bat-slave (-> v1-0 0)) launch-ready) + (!= (-> (the-as swamp-bat-slave (-> v1-0 0)) path-select) arg0) + ) + (return #f) + ) + (set! v1-0 (-> v1-0 0 brother)) ) - (return #f) - ) - (set! v1-0 (-> v1-0 0 brother)) ) - ) #t ) @@ -865,44 +637,35 @@ swamp-bat-slave-event-handler swamp-bat-debug :code (behavior () - (when (zero? (-> self path-count)) - (process-entity-status! self (entity-perm-status dead) #t) - (deactivate self) - ) - (while #t - (when - (and - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) - *target* - (>= - (-> self fact-override idle-distance) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - (when (not (-> self child-process)) + (when (zero? (-> self path-count)) (process-entity-status! self (entity-perm-status dead) #t) (deactivate self) ) - (swamp-bat-update-path) - (if - (or - (dummy-10 (-> self vol) (target-pos 5)) - (not (swamp-bat-check-slave-paths-match? (-> self path-select))) - ) - (go swamp-bat-launch-slaves) + (while #t + (when (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) + *target* + (>= (-> self fact-override idle-distance) + (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + (when (not (-> self child-process)) + (process-entity-status! self (entity-perm-status dead) #t) + (deactivate self) + ) + (swamp-bat-update-path) + (if (or (dummy-10 (-> self vol) (target-pos 5)) (not (swamp-bat-check-slave-paths-match? (-> self path-select)))) + (go swamp-bat-launch-slaves) + ) + ) + (let ((gp-1 (new 'static 'matrix))) + (quaternion->matrix gp-1 (-> self root-override quat)) + (set! (-> gp-1 vector 3 quad) (-> self root-override trans quad)) + ) + (suspend) ) - ) - (let ((gp-1 (new 'static 'matrix))) - (quaternion->matrix gp-1 (-> self root-override quat)) - (set! (-> gp-1 vector 3 quad) (-> self root-override trans quad)) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior swamp-bat) #f) ) @@ -912,17 +675,17 @@ swamp-bat-slave-event-handler (let ((gp-0 (the-as (pointer process-tree) (-> self child-process))) (v0-0 (the-as object #f)) ) - (while (and gp-0 (not v0-0)) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'launch) - (set! v0-0 (send-event-function (ppointer->process gp-0) a1-0)) - ) - (set! gp-0 (-> gp-0 0 brother)) + (while (and gp-0 (not v0-0)) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'launch) + (set! v0-0 (send-event-function (ppointer->process gp-0) a1-0)) + ) + (set! gp-0 (-> gp-0 0 brother)) + ) + v0-0 ) - v0-0 - ) ) ;; failed to figure out what this is: @@ -931,19 +694,19 @@ swamp-bat-slave-event-handler swamp-bat-debug :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t - (swamp-bat-update-path) - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (if (not (swamp-bat-launch-slave)) - (go swamp-bat-idle) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while #t + (swamp-bat-update-path) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (if (not (swamp-bat-launch-slave)) + (go swamp-bat-idle) + ) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior swamp-bat) #f) ) @@ -951,84 +714,55 @@ swamp-bat-slave-event-handler ;; definition for method 11 of type swamp-bat ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! swamp-bat ((obj swamp-bat) (arg0 entity-actor)) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 0.0) - (set-root-prim! s4-0 s3-0) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 0.0) + (set-root-prim! s4-0 s3-0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (logclear! (-> obj mask) (process-mask actor-pause)) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) (set! (-> obj vol) (new 'process 'vol-control obj)) (logior! (-> obj vol flags) 3) - (set! - (-> obj path-list 0) - (new 'process 'curve-control obj 'path -1000000000.0) - ) - (set! - (-> obj path-list 1) - (new 'process 'curve-control obj 'pathb -1000000000.0) - ) - (logior! - (-> obj path-list 0 flags) - (path-control-flag display draw-line draw-point draw-text) - ) - (logior! - (-> obj path-list 1 flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (set! (-> obj path-list 0) (new 'process 'curve-control obj 'path -1000000000.0)) + (set! (-> obj path-list 1) (new 'process 'curve-control obj 'pathb -1000000000.0)) + (logior! (-> obj path-list 0 flags) (path-control-flag display draw-line draw-point draw-text)) + (logior! (-> obj path-list 1 flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> obj path-count) 0) (when (< 0.0 (the float (+ (-> obj path-list 0 curve num-cverts) -1))) - (+! (-> obj path-count) 1) - (swamp-bat-make-path-select-plane 0) - ) + (+! (-> obj path-count) 1) + (swamp-bat-make-path-select-plane 0) + ) (when (< 0.0 (the float (+ (-> obj path-list 1 curve num-cverts) -1))) - (+! (-> obj path-count) 1) - (swamp-bat-make-path-select-plane 1) - ) + (+! (-> obj path-count) 1) + (swamp-bat-make-path-select-plane 1) + ) (if (!= (-> obj path-count) 2) - (go process-drawable-art-error "need 2 paths") - ) - (set! - (-> obj fact-override) - (new - 'process - 'fact-info-enemy - obj - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) + (go process-drawable-art-error "need 2 paths") + ) + (set! (-> obj fact-override) + (new 'process 'fact-info-enemy obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) + (let ((a1-10 (res-lump-value arg0 'num-lurkers uint128 :default (the-as uint128 6)))) + (set! (-> obj slave-count) (max 2 (min 8 (the-as int a1-10)))) ) - ) - (let - ((a1-10 - (res-lump-value arg0 'num-lurkers uint128 :default (the-as uint128 6)) - ) - ) - (set! (-> obj slave-count) (max 2 (min 8 (the-as int a1-10)))) - ) (swamp-bat-setup-new-path 0) (swamp-bat-update-path) (dotimes (s5-1 (-> obj slave-count)) - (let ((s4-1 (get-process *default-dead-pool* swamp-bat-slave 4512))) - (when s4-1 - (let ((t9-16 (method-of-type swamp-bat-slave activate))) - (t9-16 - (the-as swamp-bat-slave s4-1) - obj - 'swamp-bat-slave - (the-as pointer #x70004000) - ) + (let ((s4-1 (get-process *default-dead-pool* swamp-bat-slave 4512))) + (when s4-1 + (let ((t9-16 (method-of-type swamp-bat-slave activate))) + (t9-16 (the-as swamp-bat-slave s4-1) obj 'swamp-bat-slave (the-as pointer #x70004000)) + ) + (run-now-in-process s4-1 swamp-bat-slave-init-by-other obj s5-1) + (-> s4-1 ppointer) + ) ) - (run-now-in-process s4-1 swamp-bat-slave-init-by-other obj s5-1) - (-> s4-1 ppointer) - ) ) - ) (go swamp-bat-idle) (none) ) diff --git a/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc b/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc index feeefabe1e..45e955ab36 100644 --- a/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-obs_REF.gc @@ -2,150 +2,134 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 289) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x5 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-swamp-spike-up" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 1325 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1326 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1327 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 289) (new 'static 'sparticle-launch-group + :length 3 + :duration #x5 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-swamp-spike-up" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 1325 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1326 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1327 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1325) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-int-flt spt-x (meters -2.0) 2 8192.0) - (sp-flt spt-y (meters 0.75)) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 48.0 24.0 1.0) - (sp-rnd-flt spt-b 48.0 8.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.01)) - (sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 30 299 1) - (sp-launcher-by-id spt-next-launcher 1328) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -179.3918)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1325) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-int-flt spt-x (meters -2.0) 2 8192.0) + (sp-flt spt-y (meters 0.75)) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 48.0 24.0 1.0) + (sp-rnd-flt spt-b 48.0 8.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.01)) + (sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 30 299 1) + (sp-launcher-by-id spt-next-launcher 1328) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -179.3918)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1328) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.32) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1328) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.32) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1326) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-int-flt spt-x (meters -2.0) 2 8192.0) - (sp-flt spt-y (meters -0.75)) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 16.0 1.0) - (sp-rnd-flt spt-g 36.0 18.0 1.0) - (sp-rnd-flt spt-b 24.0 4.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.01)) - (sp-rnd-flt spt-accel-y 0.13653333 0.27306667 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 30 299 1) - (sp-launcher-by-id spt-next-launcher 1328) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -179.3918)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1326) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-int-flt spt-x (meters -2.0) 2 8192.0) + (sp-flt spt-y (meters -0.75)) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 16.0 1.0) + (sp-rnd-flt spt-g 36.0 18.0 1.0) + (sp-rnd-flt spt-b 24.0 4.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.01)) + (sp-rnd-flt spt-accel-y 0.13653333 0.27306667 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 30 299 1) + (sp-launcher-by-id spt-next-launcher 1328) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -179.3918)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1327) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-int-flt spt-x (meters -2.0) 2 8192.0) - (sp-flt spt-y (meters 0.25)) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 16.0 1.0) - (sp-rnd-flt spt-g 48.0 16.0 1.0) - (sp-rnd-flt spt-b 48.0 16.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-flt spt-accel-y -13.653334) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop) - (sp-int spt-next-time 390) - (sp-launcher-by-id spt-next-launcher 1329) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees -179.3918)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1327) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-int-flt spt-x (meters -2.0) 2 8192.0) + (sp-flt spt-y (meters 0.25)) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 16.0 1.0) + (sp-rnd-flt spt-g 48.0 16.0 1.0) + (sp-rnd-flt spt-b 48.0 16.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-flt spt-accel-y -13.653334) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop) + (sp-int spt-next-time 390) + (sp-launcher-by-id spt-next-launcher 1329) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees -179.3918)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 290) - (new 'static 'sparticle-launch-group - :length 2 - :duration #x5 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-swamp-spike-down" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1325 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1326 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 290) (new 'static 'sparticle-launch-group + :length 2 + :duration #x5 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-swamp-spike-down" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1325 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1326 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; definition of type swamp-spike (deftype swamp-spike (process-drawable) @@ -166,8 +150,8 @@ ;; definition for method 3 of type swamp-spike (defmethod inspect swamp-spike ((obj swamp-spike)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Topen-gate: ~A~%" (-> obj open-gate)) (format #t "~T~Tdangerous: ~A~%" (-> obj dangerous)) @@ -184,42 +168,32 @@ ) ;; definition for function swamp-spike-default-event-handler -(defbehavior - swamp-spike-default-event-handler swamp-spike - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('touch) +(defbehavior swamp-spike-default-event-handler swamp-spike ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('touch) (when (-> self dangerous) - (if - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg3 param 0)) - (the-as collide-shape-moving (-> self root-override)) - (the-as uint 1) - ) - (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + (if ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg3 param 0)) + (the-as collide-shape-moving (-> self root-override)) + (the-as uint 1) + ) + (send-event arg0 'attack (-> arg3 param 0) (new 'static 'attack-info)) + ) ) - ) ) - ) + ) ) ;; definition for function swamp-spike-set-particle-rotation-callback ;; INFO: Return type mismatch int vs none. (defun swamp-spike-set-particle-rotation-callback ((arg0 part-tracker)) (let* ((v1-0 (the-as object (-> arg0 userdata))) - (f0-1 - (+ - -65314.562 - (quaternion-y-angle - (-> (the-as (pointer swamp-spike) v1-0) 0 root-override quat) - ) - ) - ) + (f0-1 (+ -65314.562 (quaternion-y-angle (-> (the-as (pointer swamp-spike) v1-0) 0 root-override quat)))) ) - (set! (-> *part-id-table* 1325 init-specs 20 initial-valuef) f0-1) - (set! (-> *part-id-table* 1326 init-specs 20 initial-valuef) f0-1) - (set! (-> *part-id-table* 1327 init-specs 21 initial-valuef) f0-1) - ) + (set! (-> *part-id-table* 1325 init-specs 20 initial-valuef) f0-1) + (set! (-> *part-id-table* 1326 init-specs 20 initial-valuef) f0-1) + (set! (-> *part-id-table* 1327 init-specs 21 initial-valuef) f0-1) + ) 0 (none) ) @@ -229,12 +203,12 @@ (defbehavior swamp-spike-post swamp-spike () (transform-post) (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 to) (the-as process 1)) - (set! (-> a1-0 from) (the-as process *touching-list*)) - (if (dummy-40 (-> self root-override) a1-0) - (dummy-45 (-> self root-override)) + (set! (-> a1-0 to) (the-as process 1)) + (set! (-> a1-0 from) (the-as process *touching-list*)) + (if (dummy-40 (-> self root-override) a1-0) + (dummy-45 (-> self root-override)) + ) ) - ) (none) ) @@ -244,268 +218,150 @@ swamp-spike-default-event-handler :code (behavior () - (set! (-> self dangerous) #f) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (new 'stack-no-clear 'vector) - (vector-z-quaternion! gp-0 (-> self root-override quat)) - (set! (-> gp-0 w) (- (vector-dot gp-0 (-> self root-override trans)))) - (while #t - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((v1-10 (-> self skel root-channel 0))) - (set! - (-> v1-10 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - (until (>= (get-current-phase (-> self sync)) 0.5) - (let ((v1-13 (-> self skel root-channel 0))) - (set! (-> v1-13 num-func) num-func-identity) - (set! (-> v1-13 frame-num) 0.0) - ) - (suspend) - ) - (let - ((s5-0 - (or - (not *target*) - (< - 204800.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - ) - ) - (if - (and - (and - *target* - (>= - 61440.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - *camera* - ) - (set! - s5-0 - (< - (* (vector4-dot gp-0 (target-pos 0)) (vector4-dot gp-0 (camera-pos))) - 0.0 - ) - ) - ) - (cond - (s5-0 - (until (< (get-current-phase (-> self sync)) 0.5) - (suspend) - ) - ) - (else - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-11 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (logtest? (-> self draw status) 8) - (let ((s5-3 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-3 - (let ((t9-11 (method-of-type part-tracker activate))) - (t9-11 - (the-as part-tracker s5-3) - self - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-3 - part-tracker-init - (-> *part-group-id-table* 289) - -1 - swamp-spike-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> s5-3 ppointer) - ) - ) - ) - (set! (-> self dangerous) #t) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-17 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 param 0) - (the float (+ (-> a0-18 frame-group data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (set! (-> self dangerous) #f) + (set! (-> self dangerous) #f) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (new 'stack-no-clear 'vector) + (vector-z-quaternion! gp-0 (-> self root-override quat)) + (set! (-> gp-0 w) (- (vector-dot gp-0 (-> self root-override trans)))) + (while #t (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((v1-96 (-> self skel root-channel 0))) - (set! (-> v1-96 num-func) num-func-identity) - (set! - (-> v1-96 frame-num) - (the float (+ (-> v1-96 frame-group data 0 length) -1)) + (let ((v1-10 (-> self skel root-channel 0))) + (set! (-> v1-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) ) - ) - (until (< (get-current-phase (-> self sync)) 0.5) - (suspend) - ) - (when (logtest? (-> self draw status) 8) - (let ((s5-4 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-4 - (let ((t9-18 (method-of-type part-tracker activate))) - (t9-18 - (the-as part-tracker s5-4) - self - 'part-tracker - (the-as pointer #x70004000) - ) + (until (>= (get-current-phase (-> self sync)) 0.5) + (let ((v1-13 (-> self skel root-channel 0))) + (set! (-> v1-13 num-func) num-func-identity) + (set! (-> v1-13 frame-num) 0.0) ) - (run-now-in-process - s5-4 - part-tracker-init - (-> *part-group-id-table* 290) - -1 - swamp-spike-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) + (suspend) + ) + (let ((s5-0 (or + (not *target*) + (< 204800.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans))) + ) + ) + ) + (if (and + (and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + *camera* + ) + (set! s5-0 (< (* (vector4-dot gp-0 (target-pos 0)) (vector4-dot gp-0 (camera-pos))) 0.0)) + ) + (cond + (s5-0 + (until (< (get-current-phase (-> self sync)) 0.5) + (suspend) + ) + ) + (else + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-11 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-11 param 1) 1.0) + (set! (-> a0-11 frame-num) 0.0) + (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (when (logtest? (-> self draw status) 8) + (let ((s5-3 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-3 + (let ((t9-11 (method-of-type part-tracker activate))) + (t9-11 (the-as part-tracker s5-3) self 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-3 + part-tracker-init + (-> *part-group-id-table* 289) + -1 + swamp-spike-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + ) + (-> s5-3 ppointer) + ) + ) + ) + (set! (-> self dangerous) #t) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-17 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-17 param 1) 1.0) + (set! (-> a0-17 frame-num) 0.0) + (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) + (set! (-> a0-18 param 1) 1.0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (set! (-> self dangerous) #f) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((v1-96 (-> self skel root-channel 0))) + (set! (-> v1-96 num-func) num-func-identity) + (set! (-> v1-96 frame-num) (the float (+ (-> v1-96 frame-group data 0 length) -1))) + ) + (until (< (get-current-phase (-> self sync)) 0.5) + (suspend) + ) + (when (logtest? (-> self draw status) 8) + (let ((s5-4 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-4 + (let ((t9-18 (method-of-type part-tracker activate))) + (t9-18 (the-as part-tracker s5-4) self 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + s5-4 + part-tracker-init + (-> *part-group-id-table* 290) + -1 + swamp-spike-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + ) + (-> s5-4 ppointer) + ) + ) + ) + (let ((a0-29 (-> self skel root-channel 0))) + (set! (-> a0-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-29 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-29 param 1) 1.0) + (set! (-> a0-29 frame-num) 0.0) + (joint-control-channel-group! a0-29 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 param 0) (the float (+ (-> a0-30 frame-group data 0 length) -1))) + (set! (-> a0-30 param 1) 1.0) + (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - (-> s5-4 ppointer) - ) ) - ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! - (-> a0-29 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-29 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-29 param 1) 1.0) - (set! (-> a0-29 frame-num) 0.0) - (joint-control-channel-group! - a0-29 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! - (-> a0-30 param 0) - (the float (+ (-> a0-30 frame-group data 0 length) -1)) - ) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! - a0-30 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ) ) - ) + (none) ) - (none) - ) :post swamp-spike-post ) @@ -514,101 +370,67 @@ (defstate swamp-spike-gate-up (swampgate) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'trigger) - (let ((v0-0 #t)) - (set! (-> self open-gate) v0-0) - v0-0 - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'trigger) + (let ((v0-0 #t)) + (set! (-> self open-gate) v0-0) + v0-0 + ) + ) + ) + ) ) - ) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((v1-4 (-> self skel root-channel 0))) - (set! - (-> v1-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - ) - (until (-> self open-gate) - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) 0.0) - ) - (suspend) - ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - self - 'part-tracker - (the-as pointer #x70004000) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((v1-4 (-> self skel root-channel 0))) + (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) ) - (run-now-in-process - gp-0 - part-tracker-init - (-> *part-group-id-table* 290) - -1 - swamp-spike-set-particle-rotation-callback - (-> self ppointer) - #f - (-> self root-override trans) - ) - (-> gp-0 ppointer) - ) - ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-7 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (until (-> self open-gate) + (let ((v1-7 (-> self skel root-channel 0))) + (set! (-> v1-7 num-func) num-func-identity) + (set! (-> v1-7 frame-num) 0.0) ) - -1 - ) + (suspend) ) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker gp-0) self 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + part-tracker-init + (-> *part-group-id-table* 290) + -1 + swamp-spike-set-particle-rotation-callback + (-> self ppointer) + #f + (-> self root-override trans) + ) + (-> gp-0 ppointer) + ) + ) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-7 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-7 param 1) 1.0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) (the float (+ (-> a0-8 frame-group data 0 length) -1))) + (set! (-> a0-8 param 1) 1.0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go swamp-spike-gate-down) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 param 0) - (the float (+ (-> a0-8 frame-group data 0 length) -1)) - ) - (set! (-> a0-8 param 1) 1.0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go swamp-spike-gate-down) - (none) - ) :post (the-as (function none :behavior swampgate) swamp-spike-post) ) @@ -616,71 +438,43 @@ ;; failed to figure out what this is: (defstate swamp-spike-gate-down (swampgate) :code - (behavior () - (process-entity-status! self (entity-perm-status complete) #t) - (dummy-18 self) - (none) - ) + (behavior () (process-entity-status! self (entity-perm-status complete) #t) (dummy-18 self) (none)) :post (the-as (function none :behavior swampgate) swamp-spike-post) ) ;; definition for method 20 of type swamp-spike (defmethod init! swamp-spike ((obj swamp-spike)) - (let - ((s5-0 - (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)) - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s4-0 local-sphere) 0.0 20480.0 0.0 24576.0) - (set-root-prim! s5-0 s4-0) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 1) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)))) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s4-0 local-sphere) 0.0 20480.0 0.0 24576.0) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 1)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 20480.0 0.0 24576.0) + (append-prim s4-0 s3-0) ) - ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 20480.0 0.0 24576.0) - (append-prim s4-0 s3-0) - ) - (let - ((s3-1 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 1) - (the-as uint 0) + (let ((s3-1 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 1) (the-as uint 0)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 4) + (set! (-> s3-1 transform-index) 3) + (set-vector! (-> s3-1 local-sphere) 0.0 20480.0 0.0 24576.0) + (append-prim s4-0 s3-1) ) - ) ) - (set! (-> s3-1 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 4) - (set! (-> s3-1 transform-index) 3) - (set-vector! (-> s3-1 local-sphere) 0.0 20480.0 0.0 24576.0) - (append-prim s4-0 s3-1) - ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) (process-drawable-from-entity! obj (the-as entity-actor (-> obj entity))) (initialize-skeleton obj *swamp-spike-sg* '()) (set! (-> obj draw origin-joint-index) (the-as uint 3)) @@ -710,8 +504,8 @@ ;; definition for method 3 of type swampgate (defmethod inspect swampgate ((obj swampgate)) (let ((t9-0 (method-of-type swamp-spike inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -720,9 +514,9 @@ (defmethod init-from-entity! swampgate ((obj swampgate) (arg0 entity-actor)) (init! obj) (if (logtest? (-> arg0 extra perm status) (entity-perm-status complete)) - (go swamp-spike-gate-down) - (go swamp-spike-gate-up) - ) + (go swamp-spike-gate-down) + (go swamp-spike-gate-up) + ) (none) ) @@ -745,8 +539,8 @@ ;; definition for method 3 of type balance-plat (defmethod inspect balance-plat ((obj balance-plat)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ty-travel: ~f~%" (-> obj y-travel)) (format #t "~T~Ty-init: ~f~%" (-> obj y-init)) (format #t "~T~Ty-offset: ~f~%" (-> obj y-offset)) @@ -769,148 +563,87 @@ (defstate balance-plat-idle (balance-plat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'grow) - (let ((v0-0 #t)) - (set! (-> self got-grow) v0-0) - v0-0 - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'grow) + (let ((v0-0 #t)) + (set! (-> self got-grow) v0-0) + v0-0 + ) + ) + ) + ) ) - ) :trans (the-as (function none :behavior balance-plat) rider-trans) :code (behavior () - (while #t - (let ((f30-0 (* -0.025 (+ (-> self y-offset) (-> self y-travel)))) - (f28-0 (* -0.025 (- (-> self y-offset) (-> self y-travel)))) + (while #t + (let ((f30-0 (* -0.025 (+ (-> self y-offset) (-> self y-travel)))) + (f28-0 (* -0.025 (- (-> self y-offset) (-> self y-travel)))) + ) + (cond + ((and (-> self root-override riders) (nonzero? (-> self root-override riders num-riders))) + (send-event *target* 'no-look-around 75) + (set! (-> self y-accel) (fmin 4.096 (fmax -4.096 (+ -0.2048 (-> self y-accel))))) + (set! (-> self y-vel) (fmin f28-0 (fmax f30-0 (+ (-> self y-vel) (-> self y-accel))))) + (send-to-all-after (-> self link) 'grow) + (send-to-all-before (-> self link) 'grow) + ) + ((-> self got-grow) + (set! (-> self got-grow) #f) + (set! (-> self y-accel) (fmin 4.096 (fmax -4.096 (+ 0.2048 (-> self y-accel))))) + (set! (-> self y-vel) (fmin f28-0 (fmax f30-0 (+ (-> self y-vel) (-> self y-accel))))) + ) + ((< (-> self y-offset) 0.0) + (set! (-> self y-accel) + (fmin (fmin 4.096 (fmax -4.096 (+ 0.1024 (-> self y-accel)))) (* -0.0001 (-> self y-offset))) + ) + (set! (-> self y-vel) (fmin f28-0 (fmax f30-0 (+ (-> self y-vel) (-> self y-accel))))) + (set! (-> self y-vel) (* 0.99 (-> self y-vel))) + ) + (else + (set! (-> self y-accel) + (fmin 4.096 (fmax (fmax -4.096 (+ -0.1024 (-> self y-accel))) (* -0.0001 (-> self y-offset)))) + ) + (set! (-> self y-vel) (fmin f28-0 (fmax f30-0 (+ (-> self y-vel) (-> self y-accel))))) + (set! (-> self y-vel) (* 0.99 (-> self y-vel))) + ) ) - (cond - ((and - (-> self root-override riders) - (nonzero? (-> self root-override riders num-riders)) ) - (send-event *target* 'no-look-around 75) - (set! - (-> self y-accel) - (fmin 4.096 (fmax -4.096 (+ -0.2048 (-> self y-accel)))) - ) - (set! - (-> self y-vel) - (fmin f28-0 (fmax f30-0 (+ (-> self y-vel) (-> self y-accel)))) - ) - (send-to-all-after (-> self link) 'grow) - (send-to-all-before (-> self link) 'grow) - ) - ((-> self got-grow) - (set! (-> self got-grow) #f) - (set! - (-> self y-accel) - (fmin 4.096 (fmax -4.096 (+ 0.2048 (-> self y-accel)))) - ) - (set! - (-> self y-vel) - (fmin f28-0 (fmax f30-0 (+ (-> self y-vel) (-> self y-accel)))) - ) - ) - ((< (-> self y-offset) 0.0) - (set! - (-> self y-accel) - (fmin - (fmin 4.096 (fmax -4.096 (+ 0.1024 (-> self y-accel)))) - (* -0.0001 (-> self y-offset)) - ) - ) - (set! - (-> self y-vel) - (fmin f28-0 (fmax f30-0 (+ (-> self y-vel) (-> self y-accel)))) - ) - (set! (-> self y-vel) (* 0.99 (-> self y-vel))) - ) - (else - (set! - (-> self y-accel) - (fmin - 4.096 - (fmax - (fmax -4.096 (+ -0.1024 (-> self y-accel))) - (* -0.0001 (-> self y-offset)) - ) - ) - ) - (set! - (-> self y-vel) - (fmin f28-0 (fmax f30-0 (+ (-> self y-vel) (-> self y-accel)))) - ) - (set! (-> self y-vel) (* 0.99 (-> self y-vel))) - ) + (+! (-> self y-offset) (-> self y-vel)) + (set! (-> self root-override trans y) (+ (-> self y-init) (-> self y-offset))) + (suspend) ) - ) - (+! (-> self y-offset) (-> self y-vel)) - (set! - (-> self root-override trans y) - (+ (-> self y-init) (-> self y-offset)) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior balance-plat) rider-post) ) ;; definition for method 11 of type balance-plat ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - balance-plat - ((obj balance-plat) (arg0 entity-actor)) +(defmethod init-from-entity! balance-plat ((obj balance-plat) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) - (let - ((s4-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s4-0 1) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 40960.0) + (set-root-prim! s4-0 s3-0) ) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s4-0 1) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) - ) - ) - ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 0.0 0.0 40960.0) - (set-root-prim! s4-0 s3-0) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *balance-plat-sg* '()) (set! (-> obj link) (new 'process 'actor-link-info obj)) @@ -937,124 +670,112 @@ ;; definition for method 3 of type swamp-rock (defmethod inspect swamp-rock ((obj swamp-rock)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 291) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x12c - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-swamp-rock-explosion" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 1330 :period 1500 :length 5) - (sp-item 1331 :period 1500 :length 5) - (sp-item 1332 :period 1500 :length 15) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 291) (new 'static 'sparticle-launch-group + :length 3 + :duration #x12c + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-swamp-rock-explosion" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 1330 :period 1500 :length 5) + (sp-item 1331 :period 1500 :length 5) + (sp-item 1332 :period 1500 :length 15) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1331) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 15.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 130.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 54.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -2.1333334) - (sp-int spt-timer 60) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1331) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 15.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 130.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 54.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -2.1333334) + (sp-int spt-timer 60) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1330) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) - (sp-rnd-flt spt-num 16.0 16.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 70.0 16.0 1.0) - (sp-rnd-flt spt-g 70.0 16.0 1.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.04) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-accel-y -10.922667) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop) - (sp-rnd-flt spt-conerot-x (degrees 20.0) (degrees 50.000004) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1330) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + (sp-rnd-flt spt-num 16.0 16.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 70.0 16.0 1.0) + (sp-rnd-flt spt-g 70.0 16.0 1.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.04) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-accel-y -10.922667) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop) + (sp-rnd-flt spt-conerot-x (degrees 20.0) (degrees 50.000004) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1332) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 48.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-flt spt-scalevel-y (meters 0.0033333334)) - (sp-flt spt-accel-y -1.0922667) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 30 299 1) - (sp-launcher-by-id spt-next-launcher 1333) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1332) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 48.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-flt spt-scalevel-y (meters 0.0033333334)) + (sp-flt spt-accel-y -1.0922667) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 30 299 1) + (sp-launcher-by-id spt-next-launcher 1333) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1333) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.2) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1333) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.2) (sp-end)) + ) + ) ;; failed to figure out what this is: (defskelgroup *swamp-rock-sg* swamp-rock @@ -1069,43 +790,21 @@ (defstate swamp-rock-break (swamp-rock) :code (behavior () - (process-entity-status! self (entity-perm-status complete) #t) - (sound-play-by-name - (static-sound-name "rock-break") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-1 - (let ((t9-4 (method-of-type part-tracker activate))) - (t9-4 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (process-entity-status! self (entity-perm-status complete) #t) + (sound-play-by-name (static-sound-name "rock-break") (new-sound-id) 1024 0 0 1 #t) + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-1 + (let ((t9-4 (method-of-type part-tracker activate))) + (t9-4 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process gp-1 part-tracker-init (-> *part-group-id-table* 291) -1 #f #f #f (-> self root trans)) + (-> gp-1 ppointer) + ) ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 291) - -1 - #f - #f - #f - (-> self root trans) - ) - (-> gp-1 ppointer) - ) + (dummy-18 self) + (deactivate self) + (none) ) - (dummy-18 self) - (deactivate self) - (none) - ) :post (the-as (function none :behavior swamp-rock) ja-post) ) @@ -1114,23 +813,23 @@ (defstate swamp-rock-idle (swamp-rock) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('attack) - (if (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) - (go swamp-rock-break) + (case arg2 + (('attack) + (if (and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) + (go swamp-rock-break) + ) ) ) ) - ) :code (behavior () - (transform-post) - (while #t - (logior! (-> self mask) (process-mask sleep)) - (suspend) + (transform-post) + (while #t + (logior! (-> self mask) (process-mask sleep)) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for method 11 of type swamp-rock @@ -1138,54 +837,26 @@ (defmethod init-from-entity! swamp-rock ((obj swamp-rock) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask attackable) (-> obj mask))) (let ((f30-0 (res-lump-float arg0 'scale-factor :default 1.0))) - (let - ((s4-0 - (new - 'process - 'collide-shape - obj - (collide-list-enum usually-hit-by-player) - ) - ) - ) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum usually-hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 (* 4096.0 f30-0) 0.0 (* 4096.0 (* 3.0 f30-0))) + (set-root-prim! s4-0 s3-0) ) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! - (-> s3-0 local-sphere) - 0.0 - (* 4096.0 f30-0) - 0.0 - (* 4096.0 (* 3.0 f30-0)) - ) - (set-root-prim! s4-0 s3-0) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root) s4-0) + (process-drawable-from-entity! obj arg0) + (vector-float*! (-> obj root scale) *identity-vector* f30-0) ) - (process-drawable-from-entity! obj arg0) - (vector-float*! (-> obj root scale) *identity-vector* f30-0) - ) (initialize-skeleton obj *swamp-rock-sg* '()) (nav-mesh-connect obj (-> obj root) (the-as nav-control #f)) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 291) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 291) obj)) (go swamp-rock-idle) (none) ) @@ -1195,56 +866,30 @@ ;; Used lq/sq (defbehavior swamp-rock-init-by-other swamp-rock ((arg0 vector)) (set! (-> self mask) (logior (process-mask attackable) (-> self mask))) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - self - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving self (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 12288.0) + (set-root-prim! s5-0 s4-0) ) - ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> self root) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) - ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 3) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 12288.0) - (set-root-prim! s5-0 s4-0) - ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> self root) s5-0) - ) (set! (-> self root trans quad) (-> arg0 quad)) (initialize-skeleton self *swamp-rock-sg* '()) (nav-mesh-connect self (-> self root) (the-as nav-control #f)) - (set! - (-> self part) - (create-launch-control (-> *part-group-id-table* 291) self) - ) + (set! (-> self part) (create-launch-control (-> *part-group-id-table* 291) self)) (go swamp-rock-idle) (none) ) @@ -1259,34 +904,32 @@ ) ;; definition for symbol *tar-plat-constants*, type rigid-body-platform-constants -(define - *tar-plat-constants* - (new 'static 'rigid-body-platform-constants - :drag-factor 2.0 - :buoyancy-factor 1.5 - :max-buoyancy-depth (meters 2.0) - :gravity-factor 1.0 - :gravity (meters 80.0) - :player-weight (meters 60.0) - :player-bonk-factor 0.5 - :player-dive-factor 1.0 - :player-force-distance (meters 2.0) - :player-force-clamp (meters 1000000.0) - :player-force-timeout #x1e - :explosion-force (meters 1000.0) - :linear-damping 0.9 - :angular-damping 0.9 - :control-point-count 4 - :mass 1.0 - :inertial-tensor-x (meters 6.0) - :inertial-tensor-y (meters 2.0) - :inertial-tensor-z (meters 6.0) - :cm-joint-y (meters -2.0) - :idle-distance (meters 50.0) - :platform #t - :sound-name "tar-plat" - ) - ) +(define *tar-plat-constants* (new 'static 'rigid-body-platform-constants + :drag-factor 2.0 + :buoyancy-factor 1.5 + :max-buoyancy-depth (meters 2.0) + :gravity-factor 1.0 + :gravity (meters 80.0) + :player-weight (meters 60.0) + :player-bonk-factor 0.5 + :player-dive-factor 1.0 + :player-force-distance (meters 2.0) + :player-force-clamp (meters 1000000.0) + :player-force-timeout #x1e + :explosion-force (meters 1000.0) + :linear-damping 0.9 + :angular-damping 0.9 + :control-point-count 4 + :mass 1.0 + :inertial-tensor-x (meters 6.0) + :inertial-tensor-y (meters 2.0) + :inertial-tensor-z (meters 6.0) + :cm-joint-y (meters -2.0) + :idle-distance (meters 50.0) + :platform #t + :sound-name "tar-plat" + ) + ) ;; definition of type tar-plat (deftype tar-plat (rigid-body-platform) @@ -1302,8 +945,8 @@ ;; definition for method 3 of type tar-plat (defmethod inspect tar-plat ((obj tar-plat)) (let ((t9-0 (method-of-type rigid-body-platform inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tanchor-point: #~%" (-> obj anchor-point)) (format #t "~T~Tfloat-height: ~f~%" (-> obj float-height)) obj @@ -1311,28 +954,16 @@ ;; definition for method 22 of type tar-plat (defmethod TODO-RENAME-22 tar-plat ((obj tar-plat) (arg0 vector) (arg1 float)) - (+ - (-> obj float-height) - (-> obj float-height-offset) - (* - 512.0 - (cos - (* 109.22667 (+ (* 60.0 arg1) (* 0.03 (-> arg0 x)) (* 0.03 (-> arg0 z)))) + (+ (-> obj float-height) + (-> obj float-height-offset) + (* 512.0 (cos (* 109.22667 (+ (* 60.0 arg1) (* 0.03 (-> arg0 x)) (* 0.03 (-> arg0 z)))))) ) - ) - ) ) ;; definition for method 23 of type tar-plat ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-23 tar-plat ((obj tar-plat) (arg0 float)) - ((the-as - (function rigid-body-platform basic none) - (find-parent-method tar-plat 23) - ) - obj - (the-as basic arg0) - ) + ((the-as (function rigid-body-platform basic none) (find-parent-method tar-plat 23)) obj (the-as basic arg0)) (TODO-RENAME-27 obj (-> obj anchor-point)) 0 (none) @@ -1342,17 +973,14 @@ (defstate rigid-body-platform-idle (tar-plat) :virtual #t :enter - (behavior () - (ja-channel-set! 0) - (none) - ) + (behavior () (ja-channel-set! 0) (none)) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior tar-plat) ja-post) ) @@ -1362,67 +990,48 @@ :virtual #t :event (the-as - (function process int symbol event-message-block object :behavior tar-plat) - rigid-body-platform-event-handler - ) + (function process int symbol event-message-block object :behavior tar-plat) + rigid-body-platform-event-handler + ) :trans (behavior () - (cond - ((or - (not *target*) - (< - (-> self info idle-distance) - (vector-vector-distance - (-> self root-overlay trans) - (-> *target* control trans) + (cond + ((or (not *target*) (< (-> self info idle-distance) + (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans)) + ) + ) + (let ((f30-1 -2048.0)) + (set! (-> self float-height-offset) + (seek (-> self float-height-offset) f30-1 (* 2048.0 (-> *display* seconds-per-frame))) + ) + (if (= (-> self float-height-offset) f30-1) + (go-virtual rigid-body-platform-idle) + ) + ) + ) + (else + (set! (-> self float-height-offset) + (seek (-> self float-height-offset) 4096.0 (* 2048.0 (-> *display* seconds-per-frame))) + ) ) - ) ) - (let ((f30-1 -2048.0)) - (set! - (-> self float-height-offset) - (seek - (-> self float-height-offset) - f30-1 - (* 2048.0 (-> *display* seconds-per-frame)) - ) - ) - (if (= (-> self float-height-offset) f30-1) - (go-virtual rigid-body-platform-idle) - ) - ) - ) - (else - (set! - (-> self float-height-offset) - (seek - (-> self float-height-offset) - 4096.0 - (* 2048.0 (-> *display* seconds-per-frame)) - ) - ) - ) + (none) ) - (none) - ) :code (behavior () - (ja-channel-push! 1 30) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) + (ja-channel-push! 1 30) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) + (let ((v1-5 (-> self skel root-channel 0))) + (set! (-> v1-5 num-func) num-func-identity) + (set! (-> v1-5 frame-num) 0.0) + ) + (while #t + (suspend) + ) + (none) ) - (let ((v1-5 (-> self skel root-channel 0))) - (set! (-> v1-5 num-func) num-func-identity) - (set! (-> v1-5 frame-num) 0.0) - ) - (while #t - (suspend) - ) - (none) - ) :post (the-as (function none :behavior tar-plat) rigid-body-platform-post) ) @@ -1430,44 +1039,26 @@ ;; definition for method 30 of type tar-plat ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-30 tar-plat ((obj tar-plat)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 19)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 3) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 20480.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 19)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 3) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 20480.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-overlay) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-overlay) s5-0) - ) 0 (none) ) @@ -1481,26 +1072,20 @@ (set! (-> obj float-height) (-> obj entity extra trans y)) (set! (-> obj float-height-offset) -2048.0) (let ((s5-0 (-> obj info control-point-count))) - (dotimes (s4-0 s5-0) - (let ((s3-0 (-> obj control-point-array data s4-0))) - (let ((f26-0 (+ 8192.0 (* 65536.0 (/ (the float s4-0) (the float s5-0))))) - (f28-0 20480.0) - (f30-0 12288.0) - ) - (set! - (-> s3-0 local-pos x) - (fmax (fmin (* f28-0 (sin f26-0)) f30-0) (- f30-0)) - ) - (set! (-> s3-0 local-pos y) 0.0) - (set! - (-> s3-0 local-pos z) - (fmax (fmin (* f28-0 (cos f26-0)) f30-0) (- f30-0)) - ) + (dotimes (s4-0 s5-0) + (let ((s3-0 (-> obj control-point-array data s4-0))) + (let ((f26-0 (+ 8192.0 (* 65536.0 (/ (the float s4-0) (the float s5-0))))) + (f28-0 20480.0) + (f30-0 12288.0) + ) + (set! (-> s3-0 local-pos x) (fmax (fmin (* f28-0 (sin f26-0)) f30-0) (- f30-0))) + (set! (-> s3-0 local-pos y) 0.0) + (set! (-> s3-0 local-pos z) (fmax (fmin (* f28-0 (cos f26-0)) f30-0) (- f30-0))) + ) + (set! (-> s3-0 local-pos w) 1.0) + ) ) - (set! (-> s3-0 local-pos w) 1.0) - ) ) - ) (nav-mesh-connect obj (-> obj root-overlay) (the-as nav-control #f)) (set! (-> obj anchor-point quad) (-> obj root-overlay trans quad)) 0 @@ -1519,8 +1104,8 @@ ;; definition for method 3 of type swamp-barrel (defmethod inspect swamp-barrel ((obj swamp-barrel)) (let ((t9-0 (method-of-type barrel inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1585,8 +1170,8 @@ ;; definition for method 3 of type swamp-battlecontroller (defmethod inspect swamp-battlecontroller ((obj swamp-battlecontroller)) (let ((t9-0 (method-of-type battlecontroller inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1595,42 +1180,28 @@ :virtual #t :code (behavior () - (suspend) - (process-drawable-delay-player 300) - (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) - (gp-1 (ppointer->handle (when gp-0 - (let - ((t9-2 (method-of-type pov-camera activate)) - ) - (t9-2 - (the-as pov-camera gp-0) - self - 'pov-camera - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self root trans) - *swampcam-sg* - "swamp-ambush" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) + (suspend) + (process-drawable-delay-player 300) + (let* ((gp-0 (get-process *default-dead-pool* pov-camera #x4000)) + (gp-1 + (ppointer->handle + (when gp-0 + (let ((t9-2 (method-of-type pov-camera activate))) + (t9-2 (the-as pov-camera gp-0) self 'pov-camera (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 pov-camera-init-by-other (-> self root trans) *swampcam-sg* "swamp-ambush" 0 #f '()) + (-> gp-0 ppointer) ) + ) + ) ) - ) - (while (handle->process (the-as handle gp-1)) - (suspend) - ) + (while (handle->process (the-as handle gp-1)) + (suspend) + ) + ) + (go-virtual battlecontroller-active) + (none) ) - (go-virtual battlecontroller-active) - (none) - ) ) ;; failed to figure out what this is: @@ -1638,12 +1209,12 @@ :virtual #t :code (behavior () - (process-entity-status! self (entity-perm-status complete) #t) - ((the-as - (function none :behavior battlecontroller) - (-> (method-of-type battlecontroller battlecontroller-die) code) + (process-entity-status! self (entity-perm-status complete) #t) + ((the-as + (function none :behavior battlecontroller) + (-> (method-of-type battlecontroller battlecontroller-die) code) + ) ) + (none) ) - (none) - ) ) diff --git a/test/decompiler/reference/levels/swamp/swamp-part_REF.gc b/test/decompiler/reference/levels/swamp/swamp-part_REF.gc index 2016db19e4..4eee04fb93 100644 --- a/test/decompiler/reference/levels/swamp/swamp-part_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-part_REF.gc @@ -13,2118 +13,1983 @@ ;; definition for method 3 of type swamp-part (defmethod inspect swamp-part ((obj swamp-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 302) - (new 'static 'sparticle-launch-group - :length 76 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bayou-billy-hut" - :launcher - (new 'static 'inline-array sparticle-group-item 76 - (sp-item 1377 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1500 :length 300) - (sp-item 1377 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2928 :length 360) - (sp-item 1377 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 4602 :length 180) - (sp-item 1378 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1500 :length 300) - (sp-item 1378 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2928 :length 360) - (sp-item 1378 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 4602 :length 180) - (sp-item 1379 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 180 :length 45) - (sp-item 1380 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 180 :length 45) - (sp-item 1381 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1382 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 736 :length 30) - (sp-item 1382 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1103 :length 30) - (sp-item 1382 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1546 :length 30) - (sp-item 1383 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1383 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1383 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 2305 :flags (launch-asap) :binding 2303) - (sp-item 2306 :flags (launch-asap) :binding 2303) - (sp-item 2307 :flags (launch-asap) :binding 2303) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - (sp-item 2304 :flags (is-3d start-dead)) - ) - :bounds - (new 'static 'sphere :x -16384.0 :y -12288.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2305) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-flt spt-x (meters 6.0)) - (sp-flt spt-y (meters -13.0)) - (sp-flt spt-z 16384.0) - (sp-flt spt-scale-x (meters 1.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2308) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2308) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-int spt-timer 300) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2308) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2306) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-flt spt-x (meters 5.0)) - (sp-flt spt-y (meters -13.5)) - (sp-flt spt-z 14336.0) - (sp-flt spt-scale-x (meters 1.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2308) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2307) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 8.0) - (sp-flt spt-x (meters 6.5)) - (sp-flt spt-y (meters -12.5)) - (sp-flt spt-z 20480.0) - (sp-flt spt-scale-x (meters 1.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 0.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2308) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2303) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-int spt-num 1065353216 1 2.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 2048.0 4096.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 255.0 1.0) - (sp-rnd-flt spt-g 100.0 100.0 1.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit7) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2308) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2304) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-rot-color) - (sp-flt spt-num 3.0) - (sp-flt spt-scale-x (meters 0.075)) - (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) - (sp-flt spt-scale-y (meters 0.075)) - (sp-flt spt-r 64.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 20.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9 bit12) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1384) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 15.0) (meters 30.0) 1.0) - (sp-rnd-flt spt-y (meters 14.0) (meters 3.0) 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters -0.036666665)) - (sp-flt spt-vel-y (meters -0.036666665)) - (sp-flt spt-accel-x 1.3653333) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-timer 6000) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 555) - (sp-launcher-by-id spt-next-launcher 1385) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1385) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-flt spt-g 128.0) - (sp-flt spt-vel-x (meters 0.0)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-x 0.0) - (sp-flt spt-accel-y 0.0) - (sp-flt spt-accel-z 0.0) - (sp-int-plain-rnd spt-next-time 2700 1499 1) - (sp-launcher-by-id spt-next-launcher 1386) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1386) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-b 128.0) - (sp-rnd-int spt-accel-x -1070677186 1 5.4613333) - (sp-rnd-int spt-accel-z -1070677186 1 5.4613333) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1383) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 15.0) (meters 30.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 3.0) 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters -0.036666665)) - (sp-flt spt-vel-y (meters -0.036666665)) - (sp-flt spt-accel-x 1.3653333) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-timer 6000) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 555) - (sp-launcher-by-id spt-next-launcher 1385) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1375) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 12288.0 4096.0 1.0) - (sp-flt spt-scale-x (meters 5.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 6000) - (sp-cpuinfo-flags bit3 bit7) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 1387) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1387) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 1387) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1376) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-rot-color) - (sp-flt spt-num 4.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-rnd-flt spt-rot-x -5461.3335 43690.668 1.0) - (sp-flt spt-rot-y (degrees 0.0)) - (sp-flt spt-scale-y (meters 1.7)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 48.0 48.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1377) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-flt spt-y (meters -0.25)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 80.0 20.0 1.0) - (sp-rnd-flt spt-g 80.0 32.0 1.0) - (sp-rnd-flt spt-b 80.0 20.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-x (meters 0.0033333334)) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.2) - (sp-flt spt-fade-g -0.2) - (sp-flt spt-fade-b -0.2) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y 0.68266666) - (sp-flt spt-friction 0.996) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-y (degrees -20.0)) - (sp-flt spt-conerot-z (degrees -90.0)) - (sp-flt spt-conerot-radius (meters 0.25)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1378) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 0.9 1.0) - (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 80.0 20.0 1.0) - (sp-rnd-flt spt-g 80.0 32.0 1.0) - (sp-rnd-flt spt-b 80.0 20.0 1.0) - (sp-rnd-flt spt-a 16.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y -0.68266666) - (sp-flt spt-friction 0.996) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees -25.000002) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-flt spt-conerot-radius (meters 0.25)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1379) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-flt spt-y (meters -0.25)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 80.0 20.0 1.0) - (sp-rnd-flt spt-g 80.0 32.0 1.0) - (sp-rnd-flt spt-b 80.0 20.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-x (meters 0.0033333334)) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0048828125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.2) - (sp-flt spt-fade-g -0.2) - (sp-flt spt-fade-b -0.2) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y 0.4096) - (sp-flt spt-friction 0.993) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-y (degrees -20.0)) - (sp-flt spt-conerot-z (degrees -90.0)) - (sp-flt spt-conerot-radius (meters 0.25)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1380) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 80.0 20.0 1.0) - (sp-rnd-flt spt-g 80.0 32.0 1.0) - (sp-rnd-flt spt-b 80.0 20.0 1.0) - (sp-rnd-flt spt-a 16.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0048828125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-accel-y -0.54613334) - (sp-flt spt-friction 0.993) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees -25.000002) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-flt spt-conerot-radius (meters 0.25)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1381) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 0.9 1.0) - (sp-flt spt-x (meters -7.8)) - (sp-flt spt-y (meters -8.5)) - (sp-flt spt-z -9011.2) - (sp-flt spt-scale-x (meters 1.6)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 40.0 20.0 1.0) - (sp-rnd-flt spt-g 40.0 16.0 1.0) - (sp-rnd-flt spt-b 40.0 10.0 1.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y -0.4096) - (sp-flt spt-friction 0.995) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.25)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1382) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 1.0 1.0) - (sp-flt spt-x (meters -7.8)) - (sp-flt spt-y (meters -8.5)) - (sp-flt spt-z -9011.2) - (sp-flt spt-scale-x (meters 1.6)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 40.0 20.0 1.0) - (sp-rnd-flt spt-g 40.0 16.0 1.0) - (sp-rnd-flt spt-b 40.0 10.0 1.0) - (sp-rnd-flt spt-a 64.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.016666668) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.16) - (sp-flt spt-accel-y -0.54613334) - (sp-flt spt-friction 0.995) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.25)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 303) - (new 'static 'sparticle-launch-group - :length 50 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-01" - :launcher - (new 'static 'inline-array sparticle-group-item 50 - (sp-item 1390 :fade-after (meters 125.0) :period 150 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - ) - :bounds - (new 'static 'sphere :z -32768.0 :w 122880.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1390) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 35.0) 1.0) - (sp-rnd-flt spt-z -143360.0 225280.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1388) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x20 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.1 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-z -8192.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 32.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.00083333335)) - (sp-flt spt-scalevel-y (meters 0.00016666666)) - (sp-flt spt-fade-a 0.64) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1391) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1391) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 1050) - (sp-launcher-by-id spt-next-launcher 1392) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1392) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-g 0.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 5) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1389) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 32.0 1.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 1200) - (sp-launcher-by-id spt-next-launcher 1393) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1393) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-rnd-flt spt-a 8.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters 0.04)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 5) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 304) - (new 'static 'sparticle-launch-group - :length 33 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-02" - :launcher - (new 'static 'inline-array sparticle-group-item 33 - (sp-item 1394 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1394) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -8.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z -81920.0 163840.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees 25.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 305) - (new 'static 'sparticle-launch-group - :length 50 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-03" - :launcher - (new 'static 'inline-array sparticle-group-item 50 - (sp-item 1395 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1395) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -4.0) (meters 12.0) 1.0) - (sp-rnd-flt spt-z -163840.0 245760.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees 25.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 306) - (new 'static 'sparticle-launch-group - :length 50 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-04" - :launcher - (new 'static 'inline-array sparticle-group-item 50 - (sp-item 1396 :fade-after (meters 125.0) :period 150 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1396) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -35.0) (meters 60.0) 1.0) - (sp-rnd-flt spt-z -49152.0 73728.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees 40.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 307) - (new 'static 'sparticle-launch-group - :length 19 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-05" - :launcher - (new 'static 'inline-array sparticle-group-item 19 - (sp-item 1397 :fade-after (meters 125.0) :period 600 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1397) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-z -24576.0 49152.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 308) - (new 'static 'sparticle-launch-group - :length 69 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-06" - :launcher - (new 'static 'inline-array sparticle-group-item 69 - (sp-item 1398 :fade-after (meters 200.0) :period 120 :length 5 :binding 1388) - (sp-item 1399 :fade-after (meters 200.0) :period 450 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 163840.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1398) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -45.0) (meters 80.0) 1.0) - (sp-rnd-flt spt-z -81920.0 163840.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1399) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-z 73728.0 61440.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 309) - (new 'static 'sparticle-launch-group - :length 71 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-07" - :launcher - (new 'static 'inline-array sparticle-group-item 71 - (sp-item 1400 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) - (sp-item 1401 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) - (sp-item 1402 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) - (sp-item 1403 :fade-after (meters 125.0) :period 600 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 163840.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1400) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 15.0) 1.0) - (sp-rnd-flt spt-z -32768.0 155648.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1401) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -17.5) (meters 10.0) 1.0) - (sp-rnd-flt spt-z -61440.0 204800.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1402) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 45.0) 1.0) - (sp-rnd-flt spt-z 86016.0 32768.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1403) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -33.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-z -102400.0 102400.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 310) - (new 'static 'sparticle-launch-group - :length 38 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-08" - :launcher - (new 'static 'inline-array sparticle-group-item 38 - (sp-item 1404 :fade-after (meters 125.0) :period 150 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1404) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -18.0) (meters 45.0) 1.0) - (sp-rnd-flt spt-z -102400.0 163840.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 311) - (new 'static 'sparticle-launch-group - :length 25 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-09" - :launcher - (new 'static 'inline-array sparticle-group-item 25 - (sp-item 1405 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1405) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 42.0) 1.0) - (sp-rnd-flt spt-z -40960.0 73728.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees 30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 312) - (new 'static 'sparticle-launch-group - :length 38 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-10" - :launcher - (new 'static 'inline-array sparticle-group-item 38 - (sp-item 1406 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1406) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -30.0) (meters 52.0) 1.0) - (sp-rnd-flt spt-z -40960.0 73728.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 313) - (new 'static 'sparticle-launch-group - :length 38 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-11" - :launcher - (new 'static 'inline-array sparticle-group-item 38 - (sp-item 1407 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1407) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -14.0) (meters 22.0) 1.0) - (sp-rnd-flt spt-z -53248.0 122880.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 314) - (new 'static 'sparticle-launch-group - :length 25 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-12" - :launcher - (new 'static 'inline-array sparticle-group-item 25 - (sp-item 1408 :fade-after (meters 125.0) :period 150 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 163840.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1408) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 33.0) 1.0) - (sp-rnd-flt spt-z -53248.0 286720.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -65.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 315) - (new 'static 'sparticle-launch-group - :length 25 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-13" - :launcher - (new 'static 'inline-array sparticle-group-item 25 - (sp-item 1409 :fade-after (meters 125.0) :period 600 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 40960.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1409) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -8.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-z -32768.0 81920.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -40.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 316) - (new 'static 'sparticle-launch-group - :length 38 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-bubbles-14" - :launcher - (new 'static 'inline-array sparticle-group-item 38 - (sp-item 1410 :fade-after (meters 125.0) :period 120 :length 5 :binding 1388) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1388 :flags (start-dead) :binding 1389) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1389 :flags (start-dead launch-asap)) - (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) - (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) - (sp-item 1376 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1410) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -35.0) (meters 50.0) 1.0) - (sp-rnd-flt spt-z -163840.0 225280.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int-plain-rnd spt-timer 150 599 1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -10.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 317) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-swamp-torch" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 1411 :fade-after (meters 200.0) :falloff-to (meters 220.0)) - (sp-item 1412 :fade-after (meters 140.0) :falloff-to (meters 140.0)) - (sp-item 1413 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 600 :length 90) - (sp-item 1414 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 369 :length 69) - (sp-item 1415 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 710 :length 51) - (sp-item 1416 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1416) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.3) - (sp-flt spt-x (meters 0.2)) - (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3276.8) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 1417) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1417) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -6.826667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1411) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1069547520 1 1.0) - (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) - (sp-rnd-flt spt-z -1433.6 2867.2 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 1418) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1418) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -1.3333334) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1413) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 1418) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1414) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z 0.0 1638.4 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 1418) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1415) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) - (sp-flt spt-y (meters 0.6)) - (sp-rnd-flt spt-z -2457.6 2457.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a 13.066667) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 105) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 15) - (sp-launcher-by-id spt-next-launcher 1418) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1412) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters 0.3)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0005)) - (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-b -0.053333335) - (sp-flt spt-fade-a -0.08) - (sp-flt spt-accel-x 0.27306667) - (sp-flt spt-accel-y 0.13653333) - (sp-flt spt-friction 0.9975) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 302) + (new 'static 'sparticle-launch-group + :length 76 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bayou-billy-hut" + :launcher + (new 'static 'inline-array sparticle-group-item 76 + (sp-item 1377 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1500 :length 300) + (sp-item 1377 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2928 :length 360) + (sp-item 1377 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 4602 :length 180) + (sp-item 1378 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 1500 :length 300) + (sp-item 1378 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 2928 :length 360) + (sp-item 1378 :fade-after (meters 175.0) :falloff-to (meters 175.0) :period 4602 :length 180) + (sp-item 1379 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 180 :length 45) + (sp-item 1380 :fade-after (meters 125.0) :falloff-to (meters 125.0) :period 180 :length 45) + (sp-item 1381 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1382 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 736 :length 30) + (sp-item 1382 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1103 :length 30) + (sp-item 1382 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1546 :length 30) + (sp-item 1383 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1383 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1383 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 2305 :flags (launch-asap) :binding 2303) + (sp-item 2306 :flags (launch-asap) :binding 2303) + (sp-item 2307 :flags (launch-asap) :binding 2303) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2303 :flags (start-dead launch-asap) :binding 2304) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + (sp-item 2304 :flags (is-3d start-dead)) + ) + :bounds + (new 'static 'sphere :x -16384.0 :y -12288.0 :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2305) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-flt spt-x (meters 6.0)) + (sp-flt spt-y (meters -13.0)) + (sp-flt spt-z 16384.0) + (sp-flt spt-scale-x (meters 1.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2308) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2308) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-int spt-timer 300) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2308) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2306) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-flt spt-x (meters 5.0)) + (sp-flt spt-y (meters -13.5)) + (sp-flt spt-z 14336.0) + (sp-flt spt-scale-x (meters 1.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2308) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2307) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 8.0) + (sp-flt spt-x (meters 6.5)) + (sp-flt spt-y (meters -12.5)) + (sp-flt spt-z 20480.0) + (sp-flt spt-scale-x (meters 1.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 0.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2308) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2303) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-int spt-num 1065353216 1 2.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 2048.0 4096.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 255.0 1.0) + (sp-rnd-flt spt-g 100.0 100.0 1.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit7) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2308) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2304) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-rot-color) + (sp-flt spt-num 3.0) + (sp-flt spt-scale-x (meters 0.075)) + (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) + (sp-flt spt-scale-y (meters 0.075)) + (sp-flt spt-r 64.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 20.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9 bit12) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1384) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 15.0) (meters 30.0) 1.0) + (sp-rnd-flt spt-y (meters 14.0) (meters 3.0) 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters -0.036666665)) + (sp-flt spt-vel-y (meters -0.036666665)) + (sp-flt spt-accel-x 1.3653333) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-timer 6000) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 555) + (sp-launcher-by-id spt-next-launcher 1385) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1385) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 10 + (sp-flt spt-g 128.0) + (sp-flt spt-vel-x (meters 0.0)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-x 0.0) + (sp-flt spt-accel-y 0.0) + (sp-flt spt-accel-z 0.0) + (sp-int-plain-rnd spt-next-time 2700 1499 1) + (sp-launcher-by-id spt-next-launcher 1386) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1386) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-b 128.0) + (sp-rnd-int spt-accel-x -1070677186 1 5.4613333) + (sp-rnd-int spt-accel-z -1070677186 1 5.4613333) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1383) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 15.0) (meters 30.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 3.0) 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters -0.036666665)) + (sp-flt spt-vel-y (meters -0.036666665)) + (sp-flt spt-accel-x 1.3653333) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-timer 6000) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 555) + (sp-launcher-by-id spt-next-launcher 1385) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1375) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 12288.0 4096.0 1.0) + (sp-flt spt-scale-x (meters 5.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 6000) + (sp-cpuinfo-flags bit3 bit7) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 1387) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1387) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 6 + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 1387) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1376) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-rot-color) + (sp-flt spt-num 4.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-rnd-flt spt-rot-x -5461.3335 43690.668 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-flt spt-scale-y (meters 1.7)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 48.0 48.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1377) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-flt spt-y (meters -0.25)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 80.0 20.0 1.0) + (sp-rnd-flt spt-g 80.0 32.0 1.0) + (sp-rnd-flt spt-b 80.0 20.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.0033333334)) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.2) + (sp-flt spt-fade-g -0.2) + (sp-flt spt-fade-b -0.2) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y 0.68266666) + (sp-flt spt-friction 0.996) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-y (degrees -20.0)) + (sp-flt spt-conerot-z (degrees -90.0)) + (sp-flt spt-conerot-radius (meters 0.25)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1378) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 0.9 1.0) + (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 80.0 20.0 1.0) + (sp-rnd-flt spt-g 80.0 32.0 1.0) + (sp-rnd-flt spt-b 80.0 20.0 1.0) + (sp-rnd-flt spt-a 16.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y -0.68266666) + (sp-flt spt-friction 0.996) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees -25.000002) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-flt spt-conerot-radius (meters 0.25)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1379) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-flt spt-y (meters -0.25)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 80.0 20.0 1.0) + (sp-rnd-flt spt-g 80.0 32.0 1.0) + (sp-rnd-flt spt-b 80.0 20.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.0033333334)) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0048828125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.2) + (sp-flt spt-fade-g -0.2) + (sp-flt spt-fade-b -0.2) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y 0.4096) + (sp-flt spt-friction 0.993) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-y (degrees -20.0)) + (sp-flt spt-conerot-z (degrees -90.0)) + (sp-flt spt-conerot-radius (meters 0.25)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1380) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 80.0 20.0 1.0) + (sp-rnd-flt spt-g 80.0 32.0 1.0) + (sp-rnd-flt spt-b 80.0 20.0 1.0) + (sp-rnd-flt spt-a 16.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0048828125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-accel-y -0.54613334) + (sp-flt spt-friction 0.993) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees -25.000002) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-flt spt-conerot-radius (meters 0.25)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1381) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 0.9 1.0) + (sp-flt spt-x (meters -7.8)) + (sp-flt spt-y (meters -8.5)) + (sp-flt spt-z -9011.2) + (sp-flt spt-scale-x (meters 1.6)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 40.0 20.0 1.0) + (sp-rnd-flt spt-g 40.0 16.0 1.0) + (sp-rnd-flt spt-b 40.0 10.0 1.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y -0.4096) + (sp-flt spt-friction 0.995) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.25)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1382) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 1.0 1.0) + (sp-flt spt-x (meters -7.8)) + (sp-flt spt-y (meters -8.5)) + (sp-flt spt-z -9011.2) + (sp-flt spt-scale-x (meters 1.6)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 40.0 20.0 1.0) + (sp-rnd-flt spt-g 40.0 16.0 1.0) + (sp-rnd-flt spt-b 40.0 10.0 1.0) + (sp-rnd-flt spt-a 64.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.016666668) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.16) + (sp-flt spt-accel-y -0.54613334) + (sp-flt spt-friction 0.995) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.25)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 303) + (new 'static 'sparticle-launch-group + :length 50 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-01" + :launcher + (new 'static 'inline-array sparticle-group-item 50 + (sp-item 1390 :fade-after (meters 125.0) :period 150 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + ) + :bounds + (new 'static 'sphere :z -32768.0 :w 122880.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1390) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 35.0) 1.0) + (sp-rnd-flt spt-z -143360.0 225280.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1388) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x20 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.1 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-z -8192.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 32.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.00083333335)) + (sp-flt spt-scalevel-y (meters 0.00016666666)) + (sp-flt spt-fade-a 0.64) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1391) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1391) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 1050) + (sp-launcher-by-id spt-next-launcher 1392) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1392) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 5) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1389) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 32.0 1.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 1200) + (sp-launcher-by-id spt-next-launcher 1393) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1393) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-rnd-flt spt-a 8.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters 0.04)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 5) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 304) + (new 'static 'sparticle-launch-group + :length 33 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-02" + :launcher + (new 'static 'inline-array sparticle-group-item 33 + (sp-item 1394 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1394) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -8.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z -81920.0 163840.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees 25.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 305) + (new 'static 'sparticle-launch-group + :length 50 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-03" + :launcher + (new 'static 'inline-array sparticle-group-item 50 + (sp-item 1395 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1395) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -4.0) (meters 12.0) 1.0) + (sp-rnd-flt spt-z -163840.0 245760.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees 25.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 306) + (new 'static 'sparticle-launch-group + :length 50 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-04" + :launcher + (new 'static 'inline-array sparticle-group-item 50 + (sp-item 1396 :fade-after (meters 125.0) :period 150 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1396) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -35.0) (meters 60.0) 1.0) + (sp-rnd-flt spt-z -49152.0 73728.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees 40.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 307) + (new 'static 'sparticle-launch-group + :length 19 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-05" + :launcher + (new 'static 'inline-array sparticle-group-item 19 + (sp-item 1397 :fade-after (meters 125.0) :period 600 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1397) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-z -24576.0 49152.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 308) + (new 'static 'sparticle-launch-group + :length 69 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-06" + :launcher + (new 'static 'inline-array sparticle-group-item 69 + (sp-item 1398 :fade-after (meters 200.0) :period 120 :length 5 :binding 1388) + (sp-item 1399 :fade-after (meters 200.0) :period 450 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 163840.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1398) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -45.0) (meters 80.0) 1.0) + (sp-rnd-flt spt-z -81920.0 163840.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1399) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-z 73728.0 61440.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 309) + (new 'static 'sparticle-launch-group + :length 71 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-07" + :launcher + (new 'static 'inline-array sparticle-group-item 71 + (sp-item 1400 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) + (sp-item 1401 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) + (sp-item 1402 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) + (sp-item 1403 :fade-after (meters 125.0) :period 600 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 163840.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1400) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 15.0) 1.0) + (sp-rnd-flt spt-z -32768.0 155648.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1401) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -17.5) (meters 10.0) 1.0) + (sp-rnd-flt spt-z -61440.0 204800.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1402) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 45.0) 1.0) + (sp-rnd-flt spt-z 86016.0 32768.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1403) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -33.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-z -102400.0 102400.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 310) + (new 'static 'sparticle-launch-group + :length 38 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-08" + :launcher + (new 'static 'inline-array sparticle-group-item 38 + (sp-item 1404 :fade-after (meters 125.0) :period 150 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1404) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -18.0) (meters 45.0) 1.0) + (sp-rnd-flt spt-z -102400.0 163840.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 311) + (new 'static 'sparticle-launch-group + :length 25 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-09" + :launcher + (new 'static 'inline-array sparticle-group-item 25 + (sp-item 1405 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1405) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 42.0) 1.0) + (sp-rnd-flt spt-z -40960.0 73728.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees 30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 312) + (new 'static 'sparticle-launch-group + :length 38 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-10" + :launcher + (new 'static 'inline-array sparticle-group-item 38 + (sp-item 1406 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1406) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -30.0) (meters 52.0) 1.0) + (sp-rnd-flt spt-z -40960.0 73728.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 313) + (new 'static 'sparticle-launch-group + :length 38 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-11" + :launcher + (new 'static 'inline-array sparticle-group-item 38 + (sp-item 1407 :fade-after (meters 125.0) :period 450 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1407) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -14.0) (meters 22.0) 1.0) + (sp-rnd-flt spt-z -53248.0 122880.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 314) + (new 'static 'sparticle-launch-group + :length 25 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-12" + :launcher + (new 'static 'inline-array sparticle-group-item 25 + (sp-item 1408 :fade-after (meters 125.0) :period 150 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 163840.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1408) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 33.0) 1.0) + (sp-rnd-flt spt-z -53248.0 286720.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -65.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 315) + (new 'static 'sparticle-launch-group + :length 25 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-13" + :launcher + (new 'static 'inline-array sparticle-group-item 25 + (sp-item 1409 :fade-after (meters 125.0) :period 600 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 40960.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1409) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -8.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-z -32768.0 81920.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -40.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 316) + (new 'static 'sparticle-launch-group + :length 38 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-bubbles-14" + :launcher + (new 'static 'inline-array sparticle-group-item 38 + (sp-item 1410 :fade-after (meters 125.0) :period 120 :length 5 :binding 1388) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1388 :flags (start-dead) :binding 1389) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1389 :flags (start-dead launch-asap)) + (sp-item 1384 :fade-after (meters 120.0) :period 2503 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 3337 :length 5 :binding 1375) + (sp-item 1384 :fade-after (meters 120.0) :period 5046 :length 5 :binding 1375) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + (sp-item 1375 :flags (start-dead launch-asap) :binding 1376) + (sp-item 1376 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1410) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -35.0) (meters 50.0) 1.0) + (sp-rnd-flt spt-z -163840.0 225280.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int-plain-rnd spt-timer 150 599 1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -10.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 317) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-swamp-torch" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 1411 :fade-after (meters 200.0) :falloff-to (meters 220.0)) + (sp-item 1412 :fade-after (meters 140.0) :falloff-to (meters 140.0)) + (sp-item 1413 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 600 :length 90) + (sp-item 1414 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 369 :length 69) + (sp-item 1415 :fade-after (meters 50.0) :falloff-to (meters 50.0) :period 710 :length 51) + (sp-item 1416 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1416) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.3) + (sp-flt spt-x (meters 0.2)) + (sp-rnd-flt spt-y (meters 1.0) (meters 1.0) 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3276.8) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 1417) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1417) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -6.826667) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1411) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1069547520 1 1.0) + (sp-rnd-flt spt-x (meters -0.35) (meters 0.7) 1.0) + (sp-rnd-flt spt-z -1433.6 2867.2 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 1418) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1418) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -1.3333334) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1413) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 1418) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1414) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -0.2) (meters 0.6) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z 0.0 1638.4 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.3) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 1418) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1415) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.2) 1.0) + (sp-flt spt-y (meters 0.6)) + (sp-rnd-flt spt-z -2457.6 2457.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.7) (meters 0.4) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.018333333) (meters 0.005) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a 13.066667) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 105) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 15) + (sp-launcher-by-id spt-next-launcher 1418) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1412) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters 0.3)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0005)) + (sp-rnd-int-flt spt-rotvel-z (degrees -0.26666668) 1 97.09037) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-b -0.053333335) + (sp-flt spt-fade-a -0.08) + (sp-flt spt-accel-x 0.27306667) + (sp-flt spt-accel-y 0.13653333) + (sp-flt spt-friction 0.9975) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 5.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc b/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc index 6d9252d40e..53c4451d9f 100644 --- a/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-rat-nest_REF.gc @@ -2,792 +2,720 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 292) - (new 'static 'sparticle-launch-group - :length 6 - :duration #x5 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-swamp-rat-nest-a-explosion" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 1334) - (sp-item 1335) - (sp-item 1336) - (sp-item 1337) - (sp-item 1338) - (sp-item 1339) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 292) (new 'static 'sparticle-launch-group + :length 6 + :duration #x5 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-swamp-rat-nest-a-explosion" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 1334) + (sp-item 1335) + (sp-item 1336) + (sp-item 1337) + (sp-item 1338) + (sp-item 1339) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 293) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x5 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-swamp-rat-nest-b-explosion" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 1342) - (sp-item 1339) - (sp-item 1337) - (sp-item 1334) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 293) + (new 'static 'sparticle-launch-group + :length 4 + :duration #x5 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-swamp-rat-nest-b-explosion" + :launcher + (new 'static 'inline-array sparticle-group-item 4 (sp-item 1342) (sp-item 1339) (sp-item 1337) (sp-item 1334)) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 294) - (new 'static 'sparticle-launch-group - :length 4 - :duration #x5 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-swamp-rat-nest-c-explosion" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 1335) - (sp-item 1339) - (sp-item 1337) - (sp-item 1334) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 294) + (new 'static 'sparticle-launch-group + :length 4 + :duration #x5 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-swamp-rat-nest-c-explosion" + :launcher + (new 'static 'inline-array sparticle-group-item 4 (sp-item 1335) (sp-item 1339) (sp-item 1337) (sp-item 1334)) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 295) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-swamp-rat-nest-a-puff" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 1346) - (sp-item 1347) - (sp-item 1348) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 295) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-swamp-rat-nest-a-puff" + :launcher + (new 'static 'inline-array sparticle-group-item 3 (sp-item 1346) (sp-item 1347) (sp-item 1348)) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 296) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-swamp-rat-nest-b-puff" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1350) - (sp-item 1351) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 296) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-swamp-rat-nest-b-puff" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 1350) (sp-item 1351)) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 297) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-swamp-rat-nest-c-puff" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1353) - (sp-item 1354) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) +(set! (-> *part-group-id-table* 297) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-swamp-rat-nest-c-puff" + :launcher + (new 'static 'inline-array sparticle-group-item 2 (sp-item 1353) (sp-item 1354)) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1353) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 48.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.14222223) - (sp-rnd-flt spt-accel-y -0.34133333 -0.68266666 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1353) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 1.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 48.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.14222223) + (sp-rnd-flt spt-accel-y -0.34133333 -0.68266666 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1354) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 32.0 16.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -0.28444445) - (sp-rnd-flt spt-accel-y -1.3653333 -2.7306666 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 85.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1354) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 32.0 16.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -0.28444445) + (sp-rnd-flt spt-accel-y -1.3653333 -2.7306666 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 85.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1355) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters -4.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 48.0 1.0) - (sp-rnd-flt spt-g 64.0 48.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.07111111) - (sp-rnd-flt spt-accel-y 0.34133333 0.68266666 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1355) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters -4.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 48.0 1.0) + (sp-rnd-flt spt-g 64.0 48.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.07111111) + (sp-rnd-flt spt-accel-y 0.34133333 0.68266666 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1350) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 48.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.14222223) - (sp-rnd-flt spt-accel-y -0.34133333 -0.68266666 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1350) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 48.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.14222223) + (sp-rnd-flt spt-accel-y -0.34133333 -0.68266666 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1351) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 32.0 16.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -0.28444445) - (sp-rnd-flt spt-accel-y -1.3653333 -2.7306666 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 85.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 3.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1351) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 32.0 16.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -0.28444445) + (sp-rnd-flt spt-accel-y -1.3653333 -2.7306666 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 85.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 3.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1352) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters -10.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 48.0 1.0) - (sp-rnd-flt spt-g 64.0 48.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.07111111) - (sp-rnd-flt spt-accel-y 0.34133333 0.68266666 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1352) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters -10.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 48.0 1.0) + (sp-rnd-flt spt-g 64.0 48.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.07111111) + (sp-rnd-flt spt-accel-y 0.34133333 0.68266666 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1334) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 1.0)) - (sp-flt spt-scale-x (meters 16.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 160.0) - (sp-flt spt-b 96.0) - (sp-flt spt-a 32.0) - (sp-flt spt-fade-a -1.0) - (sp-int spt-timer 15) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1334) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 1.0)) + (sp-flt spt-scale-x (meters 16.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 160.0) + (sp-flt spt-b 96.0) + (sp-flt spt-a 32.0) + (sp-flt spt-fade-a -1.0) + (sp-int spt-timer 15) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1341) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -12.0)) - (sp-flt spt-scale-x (meters 16.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 96.0) - (sp-flt spt-a 16.0) - (sp-flt spt-fade-a 0.0) - (sp-int spt-timer 15) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1341) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -12.0)) + (sp-flt spt-scale-x (meters 16.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 96.0) + (sp-flt spt-a 16.0) + (sp-flt spt-fade-a 0.0) + (sp-int spt-timer 15) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1339) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 8.0 8.0 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.75) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 48.0 1.0) - (sp-rnd-flt spt-g 48.0 32.0 1.0) - (sp-rnd-flt spt-b 48.0 8.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.85333335) - (sp-rnd-flt spt-accel-y -1.3653333 -2.7306666 1.0) - (sp-flt spt-friction 0.92) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.5) (meters 1.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1339) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 8.0 8.0 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.75) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 48.0 1.0) + (sp-rnd-flt spt-g 48.0 32.0 1.0) + (sp-rnd-flt spt-b 48.0 8.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.85333335) + (sp-rnd-flt spt-accel-y -1.3653333 -2.7306666 1.0) + (sp-flt spt-friction 0.92) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.5) (meters 1.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1335) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 16.0 8.0 1.0) - (sp-rnd-flt spt-y (meters -2.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 48.0 1.0) - (sp-rnd-flt spt-g 48.0 32.0 1.0) - (sp-rnd-flt spt-b 48.0 8.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.25) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1335) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 16.0 8.0 1.0) + (sp-rnd-flt spt-y (meters -2.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 48.0 1.0) + (sp-rnd-flt spt-g 48.0 32.0 1.0) + (sp-rnd-flt spt-b 48.0 8.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.25) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1340) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 10.0 5.0 1.0) - (sp-rnd-flt spt-y (meters -12.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 48.0 32.0 1.0) - (sp-rnd-flt spt-g 48.0 32.0 1.0) - (sp-rnd-flt spt-b 48.0 8.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-rnd-flt spt-accel-y 0.13653333 0.27306667 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.25) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1340) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 10.0 5.0 1.0) + (sp-rnd-flt spt-y (meters -12.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 48.0 32.0 1.0) + (sp-rnd-flt spt-g 48.0 32.0 1.0) + (sp-rnd-flt spt-b 48.0 8.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-rnd-flt spt-accel-y 0.13653333 0.27306667 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.25) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1336) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 12.0 8.0 1.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 48.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 48.0 1.0) - (sp-rnd-flt spt-b 48.0 8.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 1.75) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1336) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 12.0 8.0 1.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 48.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 48.0 1.0) + (sp-rnd-flt spt-b 48.0 8.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 50.000004) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 1.0) (meters 1.75) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1337) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) - (sp-rnd-flt spt-num 8.0 16.0 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 32.0 16.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.04) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-rnd-flt spt-accel-y -8.192 -2.7306666 1.0) - (sp-int spt-timer 750) - (sp-cpuinfo-flags bit2 bit12) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-water-level-drop) - (sp-rnd-flt spt-conerot-x (degrees 15.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 3.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1337) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + (sp-rnd-flt spt-num 8.0 16.0 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 32.0 16.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.04) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-rnd-flt spt-accel-y -8.192 -2.7306666 1.0) + (sp-int spt-timer 750) + (sp-cpuinfo-flags bit2 bit12) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-water-level-drop) + (sp-rnd-flt spt-conerot-x (degrees 15.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 3.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1338) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) - (sp-rnd-flt spt-num 32.0 32.0 1.0) - (sp-rnd-flt spt-y (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.25) (meters 0.1) 1.0) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 32.0 1.0) - (sp-rnd-flt spt-b 32.0 16.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.04) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-flt spt-fade-a -0.28444445) - (sp-rnd-flt spt-accel-y -1.3653333 -6.826667 1.0) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 3.5) (meters 1.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1338) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + (sp-rnd-flt spt-num 32.0 32.0 1.0) + (sp-rnd-flt spt-y (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.25) (meters 0.1) 1.0) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 32.0 1.0) + (sp-rnd-flt spt-b 32.0 16.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.04) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-flt spt-fade-a -0.28444445) + (sp-rnd-flt spt-accel-y -1.3653333 -6.826667 1.0) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 3.5) (meters 1.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1346) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 48.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.14222223) - (sp-rnd-flt spt-accel-y -0.34133333 -0.68266666 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.5) (meters 1.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1346) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 48.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.14222223) + (sp-rnd-flt spt-accel-y -0.34133333 -0.68266666 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.5) (meters 1.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1349) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters -12.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 48.0 1.0) - (sp-rnd-flt spt-g 64.0 48.0 1.0) - (sp-rnd-flt spt-b 64.0 16.0 1.0) - (sp-rnd-flt spt-a 8.0 8.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.035555556) - (sp-rnd-flt spt-accel-y 0.34133333 0.68266666 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 2.5) (meters 1.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1349) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters -12.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 48.0 1.0) + (sp-rnd-flt spt-g 64.0 48.0 1.0) + (sp-rnd-flt spt-b 64.0 16.0 1.0) + (sp-rnd-flt spt-a 8.0 8.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.035555556) + (sp-rnd-flt spt-accel-y 0.34133333 0.68266666 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 80.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 2.5) (meters 1.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1347) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-rnd-flt spt-b 32.0 16.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -0.28444445) - (sp-rnd-flt spt-accel-y -1.3653333 -2.7306666 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 3.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1347) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1d :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.05) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-rnd-flt spt-b 32.0 16.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -0.28444445) + (sp-rnd-flt spt-accel-y -1.3653333 -2.7306666 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 3.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1348) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.25) (meters 0.1) 1.0) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 32.0 1.0) - (sp-rnd-flt spt-b 32.0 16.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-flt spt-fade-a -0.28444445) - (sp-rnd-flt spt-accel-y -1.3653333 -2.7306666 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 3.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1348) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x17 :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.25) (meters 0.1) 1.0) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 32.0 1.0) + (sp-rnd-flt spt-b 32.0 16.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-flt spt-fade-a -0.28444445) + (sp-rnd-flt spt-accel-y -1.3653333 -2.7306666 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 10.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 3.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1342) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 20.0 8.0 1.0) - (sp-rnd-flt spt-y (meters -3.5) (meters 2.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 48.0 1.0) - (sp-rnd-flt spt-g 48.0 32.0 1.0) - (sp-rnd-flt spt-b 48.0 8.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.25) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1342) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 20.0 8.0 1.0) + (sp-rnd-flt spt-y (meters -3.5) (meters 2.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 48.0 1.0) + (sp-rnd-flt spt-g 48.0 32.0 1.0) + (sp-rnd-flt spt-b 48.0 8.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-rnd-flt spt-accel-y -0.13653333 -0.27306667 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.25) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1343) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 16.0 5.0 1.0) - (sp-rnd-flt spt-y (meters -10.5) (meters 2.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 48.0 32.0 1.0) - (sp-rnd-flt spt-g 48.0 32.0 1.0) - (sp-rnd-flt spt-b 48.0 8.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.10666667) - (sp-rnd-flt spt-accel-y 0.13653333 0.27306667 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.25) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1343) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 16.0 5.0 1.0) + (sp-rnd-flt spt-y (meters -10.5) (meters 2.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 48.0 32.0 1.0) + (sp-rnd-flt spt-g 48.0 32.0 1.0) + (sp-rnd-flt spt-b 48.0 8.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.10666667) + (sp-rnd-flt spt-accel-y 0.13653333 0.27306667 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.25) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1344) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num -5.0) - (sp-flt spt-y (meters -12.0)) - (sp-flt spt-scale-x (meters 16.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 96.0) - (sp-flt spt-a 16.0) - (sp-flt spt-fade-a 0.0) - (sp-int spt-timer 15) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1344) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num -5.0) + (sp-flt spt-y (meters -12.0)) + (sp-flt spt-scale-x (meters 16.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 96.0) + (sp-flt spt-a 16.0) + (sp-flt spt-fade-a 0.0) + (sp-int spt-timer 15) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1345) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 12.0 4.0 1.0) - (sp-rnd-flt spt-y (meters -4.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 48.0 32.0 1.0) - (sp-rnd-flt spt-g 48.0 32.0 1.0) - (sp-rnd-flt spt-b 48.0 8.0 1.0) - (sp-rnd-flt spt-a 48.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-rnd-flt spt-accel-y 0.13653333 0.27306667 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.25) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1345) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 12.0 4.0 1.0) + (sp-rnd-flt spt-y (meters -4.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 2.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 48.0 32.0 1.0) + (sp-rnd-flt spt-g 48.0 32.0 1.0) + (sp-rnd-flt spt-b 48.0 8.0 1.0) + (sp-rnd-flt spt-a 48.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-rnd-flt spt-accel-y 0.13653333 0.27306667 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 90.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.5) (meters 1.25) 1.0) + (sp-end) + ) + ) + ) ;; definition of type swamp-rat-nest (deftype swamp-rat-nest (process-drawable) @@ -813,8 +741,8 @@ ;; definition for method 3 of type swamp-rat-nest (defmethod inspect swamp-rat-nest ((obj swamp-rat-nest)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tdummy: #x~X~%" (-> obj dummy)) (format #t "~T~Tdamaged: ~A~%" (-> obj damaged)) (format #t "~T~Tdummy-type: ~D~%" (-> obj dummy-type)) @@ -851,8 +779,8 @@ ;; definition for method 3 of type swamp-rat-nest-dummy (defmethod inspect swamp-rat-nest-dummy ((obj swamp-rat-nest-dummy)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttop-sphere: #~%" (-> obj top-sphere)) (format #t "~T~Tdeath-part: ~A~%" (-> obj death-part)) (format #t "~T~Tspawn-joint-array[6] @ #x~X~%" (-> obj spawn-joint-array)) @@ -873,8 +801,8 @@ ;; definition for method 3 of type swamp-rat-nest-dummy-a (defmethod inspect swamp-rat-nest-dummy-a ((obj swamp-rat-nest-dummy-a)) (let ((t9-0 (method-of-type swamp-rat-nest-dummy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -890,8 +818,8 @@ ;; definition for method 3 of type swamp-rat-nest-dummy-b (defmethod inspect swamp-rat-nest-dummy-b ((obj swamp-rat-nest-dummy-b)) (let ((t9-0 (method-of-type swamp-rat-nest-dummy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -907,82 +835,73 @@ ;; definition for method 3 of type swamp-rat-nest-dummy-c (defmethod inspect swamp-rat-nest-dummy-c ((obj swamp-rat-nest-dummy-c)) (let ((t9-0 (method-of-type swamp-rat-nest-dummy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for function swamp-rat-nest-dummy-draw-spawn-joints (defbehavior swamp-rat-nest-dummy-draw-spawn-joints swamp-rat-nest-dummy () (dotimes (gp-0 (-> self spawn-joint-count)) - (let* ((a0-0 (-> self spawn-joint-array gp-0)) - (a2-0 (-> self node-list data a0-0 bone transform)) - ) - (add-debug-matrix #t (bucket-id debug-draw1) a2-0) + (let* ((a0-0 (-> self spawn-joint-array gp-0)) + (a2-0 (-> self node-list data a0-0 bone transform)) + ) + (add-debug-matrix #t (bucket-id debug-draw1) a2-0) + ) ) - ) #f ) ;; definition for function swamp-rat-nest-dummy-take-damage (defbehavior swamp-rat-nest-dummy-take-damage swamp-rat-nest-dummy ((arg0 int)) (when (not (-> self parent-process 0 damaged)) - (set! (-> self parent-process 0 damaged) #t) - (+! - (-> self parent-process 0 rat-count) - (-> self parent-process 0 defensive-rat-count) + (set! (-> self parent-process 0 damaged) #t) + (+! (-> self parent-process 0 rat-count) (-> self parent-process 0 defensive-rat-count)) + (set! (-> self parent-process 0 spawn-period) 600.0) ) - (set! (-> self parent-process 0 spawn-period) 600.0) - ) (let ((v0-0 (- (-> self parent-process 0 hit-points) arg0))) - (set! (-> self parent-process 0 hit-points) v0-0) - v0-0 - ) + (set! (-> self parent-process 0 hit-points) v0-0) + v0-0 + ) ) ;; definition for function swamp-rat-nest-dummy-event-handler -(defbehavior - swamp-rat-nest-dummy-event-handler swamp-rat-nest-dummy - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('shake) +(defbehavior swamp-rat-nest-dummy-event-handler swamp-rat-nest-dummy ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('shake) (if (= (-> self next-state name) 'swamp-rat-nest-dummy-idle) - (go swamp-rat-nest-dummy-shake) - ) + (go swamp-rat-nest-dummy-shake) + ) ) - (('attack) - (send-event (ppointer->process (-> self parent-process)) 'hit) - (let ((v1-7 (-> arg3 param 2))) - (when (!= v1-7 (-> self parent-process 0 player-attack-id)) - (set! (-> self parent-process 0 player-attack-id) (the-as int v1-7)) - (cond - ((and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) - (swamp-rat-nest-dummy-take-damage 3) - (if - (< - (vector-vector-distance (target-pos 0) (-> self top-sphere)) - (-> self top-sphere w) - ) - (send-event *target* 'no-look-around 75) + (('attack) + (send-event (ppointer->process (-> self parent-process)) 'hit) + (let ((v1-7 (-> arg3 param 2))) + (when (!= v1-7 (-> self parent-process 0 player-attack-id)) + (set! (-> self parent-process 0 player-attack-id) (the-as int v1-7)) + (cond + ((and (>= arg1 2) (= (-> arg3 param 1) 'eco-yellow)) + (swamp-rat-nest-dummy-take-damage 3) + (if (< (vector-vector-distance (target-pos 0) (-> self top-sphere)) (-> self top-sphere w)) + (send-event *target* 'no-look-around 75) + ) + (go swamp-rat-nest-dummy-hit) + ) + (else + (level-hint-spawn + (game-text-id swamp-rats-nest-hint) + "sksp0144" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (swamp-rat-nest-dummy-take-damage 0) + (go swamp-rat-nest-dummy-hit) + ) + ) ) - (go swamp-rat-nest-dummy-hit) - ) - (else - (level-hint-spawn - (game-text-id swamp-rats-nest-hint) - "sksp0144" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (swamp-rat-nest-dummy-take-damage 0) - (go swamp-rat-nest-dummy-hit) - ) ) - ) ) ) - ) ) ;; failed to figure out what this is: @@ -991,18 +910,15 @@ swamp-rat-nest-dummy-event-handler :code (behavior () - (while #t - (let ((v1-2 (-> self skel root-channel 0))) - (set! (-> v1-2 num-func) num-func-identity) - (set! - (-> v1-2 frame-num) - (the float (+ (-> v1-2 frame-group data 0 length) -1)) + (while #t + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 num-func) num-func-identity) + (set! (-> v1-2 frame-num) (the float (+ (-> v1-2 frame-group data 0 length) -1))) + ) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) ) @@ -1013,79 +929,54 @@ swamp-rat-nest-dummy-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (if (<= (-> self parent-process 0 hit-points) 0) - (go swamp-rat-nest-dummy-die) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (if (<= (-> self parent-process 0 hit-points) 0) + (go swamp-rat-nest-dummy-die) + ) + (none) ) - (none) - ) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) + (until (ja-done? 0) + (if (< (-> self parent-process 0 hit-points) 3) + (spawn (-> self part) (-> self node-list data (-> self particle-spawn-joint) bone transform vector 3)) + ) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go swamp-rat-nest-dummy-idle) + (none) ) - (until (ja-done? 0) - (if (< (-> self parent-process 0 hit-points) 3) - (spawn - (-> self part) - (-> - self - node-list - data - (-> self particle-spawn-joint) - bone - transform - vector - 3 - ) - ) - ) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go swamp-rat-nest-dummy-idle) - (none) - ) :post (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) ) @@ -1096,56 +987,43 @@ swamp-rat-nest-dummy-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go swamp-rat-nest-dummy-idle) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go swamp-rat-nest-dummy-idle) - (none) - ) :post (the-as (function none :behavior swamp-rat-nest-dummy) transform-post) ) @@ -1153,110 +1031,77 @@ ;; failed to figure out what this is: (defstate swamp-rat-nest-dummy-die (swamp-rat-nest-dummy) :event - (the-as - (function process int symbol event-message-block object :behavior swamp-rat-nest-dummy) - #f - ) + (the-as (function process int symbol event-message-block object :behavior swamp-rat-nest-dummy) #f) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! - (-> self parent-process 0 dummy) - (the-as (pointer swamp-rat-nest-dummy) #f) - ) - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (when gp-0 - (let ((t9-1 (method-of-type part-tracker activate))) - (t9-1 - (the-as part-tracker gp-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self parent-process 0 dummy) (the-as (pointer swamp-rat-nest-dummy) #f)) + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (when gp-0 + (let ((t9-1 (method-of-type part-tracker activate))) + (t9-1 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + part-tracker-init + (-> self death-part) + -1 + #f + #f + #f + (-> self node-list data (-> self particle-spawn-joint) bone transform vector 3) + ) + (-> gp-0 ppointer) + ) ) - (run-now-in-process - gp-0 - part-tracker-init - (-> self death-part) - -1 - #f - #f - #f - (-> - self - node-list - data - (-> self particle-spawn-joint) - bone - transform - vector - 3 - ) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) + (suspend) ) - (-> gp-0 ppointer) - ) + (ja-channel-set! 0) + (while (-> self child) + (suspend) + ) + (deactivate self) + (none) ) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 30) - (suspend) - ) - (ja-channel-set! 0) - (while (-> self child) - (suspend) - ) - (deactivate self) - (none) - ) ) ;; definition for function swamp-rat-nest-dummy-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - swamp-rat-nest-dummy-init-by-other swamp-rat-nest-dummy - ((arg0 swamp-rat-nest-dummy)) +(defbehavior swamp-rat-nest-dummy-init-by-other swamp-rat-nest-dummy ((arg0 swamp-rat-nest-dummy)) (let ((gp-0 (-> arg0 entity))) - (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) - (dummy-20 self) - (process-drawable-from-entity! self (the-as entity-actor gp-0)) - (set! (-> self top-sphere quad) (-> self root-override trans quad)) - (set! (-> self top-sphere y) (+ 24576.0 (-> self top-sphere y))) - (set! (-> self top-sphere w) 18432.0) - (set! (-> self entity) gp-0) - ) - (set! - (-> self nav) - (new 'process 'nav-control (-> self root-override) 16 40960.0) - ) - (logior! - (-> self nav flags) - (nav-control-flags display-marks bit3 bit5 bit6 bit7) - ) - (set-current-poly! - (-> self nav) - (TODO-RENAME-18 (-> self nav) (-> self root-override trans)) - ) + (set! (-> self mask) (logior (process-mask enemy) (-> self mask))) + (dummy-20 self) + (process-drawable-from-entity! self (the-as entity-actor gp-0)) + (set! (-> self top-sphere quad) (-> self root-override trans quad)) + (set! (-> self top-sphere y) (+ 24576.0 (-> self top-sphere y))) + (set! (-> self top-sphere w) 18432.0) + (set! (-> self entity) gp-0) + ) + (set! (-> self nav) (new 'process 'nav-control (-> self root-override) 16 40960.0)) + (logior! (-> self nav flags) (nav-control-flags display-marks bit3 bit5 bit6 bit7)) + (set-current-poly! (-> self nav) (TODO-RENAME-18 (-> self nav) (-> self root-override trans))) (+! (-> self parent-process 0 hit-points) 3) (dummy-21 self) (when (zero? (-> self skel)) - (set! (-> self spawn-joint-count) 0) - 0 - ) + (set! (-> self spawn-joint-count) 0) + 0 + ) (if (zero? (-> self parent-process 0 dummy-type)) - (go swamp-rat-nest-dummy-idle) - (go swamp-rat-nest-dummy-hit) - ) + (go swamp-rat-nest-dummy-idle) + (go swamp-rat-nest-dummy-hit) + ) (none) ) ;; definition for function swamp-rat-nest-default-event-handler -(defbehavior - swamp-rat-nest-default-event-handler swamp-rat-nest - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('victory) +(defbehavior swamp-rat-nest-default-event-handler swamp-rat-nest ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) + (case arg2 + (('victory) (go swamp-rat-nest-victory) ) - ) + ) ) ;; failed to figure out what this is: @@ -1265,55 +1110,26 @@ swamp-rat-nest-default-event-handler ;; definition for function swamp-rat-nest-pick-spawn-joint ;; Used lq/sq (defbehavior swamp-rat-nest-pick-spawn-joint swamp-rat-nest () - (when - (and - *target* - (>= - 32768.0 - (vector-vector-distance (-> self root trans) (-> *target* control trans)) - ) - ) - (dotimes (gp-0 5) - (let* - ((s5-0 - (-> - self - dummy - 0 - spawn-joint-array - (rand-vu-int-count (-> self dummy 0 spawn-joint-count)) + (when (and *target* (>= 32768.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) + (dotimes (gp-0 5) + (let* ((s5-0 (-> self dummy 0 spawn-joint-array (rand-vu-int-count (-> self dummy 0 spawn-joint-count)))) + (v1-15 (-> self dummy 0 node-list data s5-0 bone)) + (s3-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s3-0 quad) (-> v1-15 transform vector 3 quad)) + (let ((s2-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> v1-15 transform vector 1) 1.0)) + (s4-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) s3-0)) + ) + (set! (-> s4-1 y) 0.0) + (vector-normalize! s4-1 1.0) + (if (< (vector-dot s2-0 s4-1) (cos 8192.0)) + (return s5-0) + ) + ) ) - ) - (v1-15 (-> self dummy 0 node-list data s5-0 bone)) - (s3-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s3-0 quad) (-> v1-15 transform vector 3 quad)) - (let - ((s2-0 - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - (-> v1-15 transform vector 1) - 1.0 - ) - ) - (s4-1 (vector-! (new 'stack-no-clear 'vector) (target-pos 0) s3-0)) - ) - (set! (-> s4-1 y) 0.0) - (vector-normalize! s4-1 1.0) - (if (< (vector-dot s2-0 s4-1) (cos 8192.0)) - (return s5-0) - ) - ) - ) ) - ) - (-> - self - dummy - 0 - spawn-joint-array - (rand-vu-int-count (-> self dummy 0 spawn-joint-count)) - ) + (-> self dummy 0 spawn-joint-array (rand-vu-int-count (-> self dummy 0 spawn-joint-count))) ) ;; definition for function swamp-rat-nest-spawn-rat @@ -1322,214 +1138,125 @@ swamp-rat-nest-default-event-handler (defbehavior swamp-rat-nest-spawn-rat swamp-rat-nest () (local-vars (t2-0 none)) (when (and (-> self dummy) (> (-> self dummy 0 spawn-joint-count) 0)) - (let* ((v1-5 (swamp-rat-nest-pick-spawn-joint)) - (v1-8 (-> self dummy 0 node-list data v1-5 bone)) - (gp-0 (new 'stack-no-clear 'vector)) + (let* ((v1-5 (swamp-rat-nest-pick-spawn-joint)) + (v1-8 (-> self dummy 0 node-list data v1-5 bone)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> gp-0 quad) (-> v1-8 transform vector 3 quad)) + (let ((s5-0 (vector-normalize-copy! (new 'stack-no-clear 'vector) (-> v1-8 transform vector 1) 1.0)) + (s4-0 (if (= (-> self fact-override pickup-type) (pickup-type none)) + 0 + 9 + ) + ) + (s3-0 (get-process *default-dead-pool* swamp-rat #x4000)) + ) + (when s3-0 + (let ((t9-3 (method-of-type swamp-rat activate))) + (t9-3 (the-as swamp-rat s3-0) self 'swamp-rat (the-as pointer #x70004000)) + ) + (run-now-in-process s3-0 swamp-rat-init-by-other self gp-0 s5-0 s4-0 t2-0) + (-> s3-0 ppointer) ) - (set! (-> gp-0 quad) (-> v1-8 transform vector 3 quad)) - (let - ((s5-0 - (vector-normalize-copy! - (new 'stack-no-clear 'vector) - (-> v1-8 transform vector 1) - 1.0 ) - ) - (s4-0 (if (= (-> self fact-override pickup-type) (pickup-type none)) - 0 - 9 - ) - ) - (s3-0 (get-process *default-dead-pool* swamp-rat #x4000)) ) - (when s3-0 - (let ((t9-3 (method-of-type swamp-rat activate))) - (t9-3 - (the-as swamp-rat s3-0) - self - 'swamp-rat - (the-as pointer #x70004000) - ) - ) - (run-now-in-process s3-0 swamp-rat-init-by-other self gp-0 s5-0 s4-0 t2-0) - (-> s3-0 ppointer) - ) - ) ) - ) ) ;; definition for function swamp-rat-nest-check-dummy ;; INFO: Return type mismatch float vs none. (defbehavior swamp-rat-nest-check-dummy swamp-rat-nest () (when (not (-> self dummy)) - (let ((v1-1 (-> self dummy-type))) - (cond - ((zero? v1-1) - (let - ((gp-0 (get-process *default-dead-pool* swamp-rat-nest-dummy-a #x4000))) - (set! (-> self dummy) (the-as (pointer swamp-rat-nest-dummy) (when gp-0 - (let - ((t9-1 - (method-of-type - swamp-rat-nest-dummy-a - activate - ) - ) - ) - (t9-1 - (the-as - swamp-rat-nest-dummy-a - gp-0 - ) - self - 'swamp-rat-nest-dummy-a - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - gp-0 - swamp-rat-nest-dummy-init-by-other - self - ) - (-> - gp-0 - ppointer - ) - ) - ) + (let ((v1-1 (-> self dummy-type))) + (cond + ((zero? v1-1) + (let ((gp-0 (get-process *default-dead-pool* swamp-rat-nest-dummy-a #x4000))) + (set! (-> self dummy) + (the-as + (pointer swamp-rat-nest-dummy) + (when gp-0 + (let ((t9-1 (method-of-type swamp-rat-nest-dummy-a activate))) + (t9-1 (the-as swamp-rat-nest-dummy-a gp-0) self 'swamp-rat-nest-dummy-a (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 swamp-rat-nest-dummy-init-by-other self) + (-> gp-0 ppointer) + ) + ) + ) + ) + ) + ((= v1-1 1) + (let ((gp-1 (get-process *default-dead-pool* swamp-rat-nest-dummy-b #x4000))) + (set! (-> self dummy) + (the-as + (pointer swamp-rat-nest-dummy) + (when gp-1 + (let ((t9-4 (method-of-type swamp-rat-nest-dummy-b activate))) + (t9-4 (the-as swamp-rat-nest-dummy-b gp-1) self 'swamp-rat-nest-dummy-b (the-as pointer #x70004000)) + ) + (run-now-in-process gp-1 swamp-rat-nest-dummy-init-by-other self) + (-> gp-1 ppointer) + ) + ) + ) + ) + ) + ((= v1-1 2) + (let ((gp-2 (get-process *default-dead-pool* swamp-rat-nest-dummy-c #x4000))) + (set! (-> self dummy) + (the-as + (pointer swamp-rat-nest-dummy) + (when gp-2 + (let ((t9-7 (method-of-type swamp-rat-nest-dummy-c activate))) + (t9-7 (the-as swamp-rat-nest-dummy-c gp-2) self 'swamp-rat-nest-dummy-c (the-as pointer #x70004000)) + ) + (run-now-in-process gp-2 swamp-rat-nest-dummy-init-by-other self) + (-> gp-2 ppointer) + ) + ) + ) + ) + ) + (else + (go swamp-rat-nest-die) + ) ) - ) ) - ((= v1-1 1) - (let - ((gp-1 (get-process *default-dead-pool* swamp-rat-nest-dummy-b #x4000))) - (set! (-> self dummy) (the-as (pointer swamp-rat-nest-dummy) (when gp-1 - (let - ((t9-4 - (method-of-type - swamp-rat-nest-dummy-b - activate - ) - ) - ) - (t9-4 - (the-as - swamp-rat-nest-dummy-b - gp-1 - ) - self - 'swamp-rat-nest-dummy-b - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - gp-1 - swamp-rat-nest-dummy-init-by-other - self - ) - (-> - gp-1 - ppointer - ) - ) - ) - ) - ) - ) - ((= v1-1 2) - (let - ((gp-2 (get-process *default-dead-pool* swamp-rat-nest-dummy-c #x4000))) - (set! (-> self dummy) (the-as (pointer swamp-rat-nest-dummy) (when gp-2 - (let - ((t9-7 - (method-of-type - swamp-rat-nest-dummy-c - activate - ) - ) - ) - (t9-7 - (the-as - swamp-rat-nest-dummy-c - gp-2 - ) - self - 'swamp-rat-nest-dummy-c - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - gp-2 - swamp-rat-nest-dummy-init-by-other - self - ) - (-> - gp-2 - ppointer - ) - ) - ) - ) - ) - ) - (else - (go swamp-rat-nest-die) - ) - ) + (+! (-> self dummy-type) 1) + (set! (-> self spawn-period) (* 0.75 (-> self spawn-period))) ) - (+! (-> self dummy-type) 1) - (set! (-> self spawn-period) (* 0.75 (-> self spawn-period))) - ) (none) ) ;; failed to figure out what this is: (defstate swamp-rat-nest-idle (swamp-rat-nest) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('hit) - (go swamp-rat-nest-active) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('hit) + (go swamp-rat-nest-active) + ) + ) + ) :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (if - (and - *target* - (>= - (-> self fact-override idle-distance) - (vector-vector-distance (-> self root trans) (-> *target* control trans)) - ) - ) - (go swamp-rat-nest-active) + (if (and *target* (>= (-> self fact-override idle-distance) + (vector-vector-distance (-> self root trans) (-> *target* control trans)) + ) + ) + (go swamp-rat-nest-active) + ) + (none) ) - (none) - ) :code (behavior () - (swamp-rat-nest-check-dummy) - (while #t - (suspend) + (swamp-rat-nest-check-dummy) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior swamp-rat-nest) #f) ) @@ -1539,43 +1266,36 @@ swamp-rat-nest-default-event-handler :event swamp-rat-nest-default-event-handler :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (swamp-rat-nest-check-dummy) - (when - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the-as int (-> self test-interval)) - ) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self test-interval) (the-as uint 60)) - (let ((v1-6 0)) - (let ((a0-2 (the-as (pointer process-tree) (-> self child-process)))) - (while a0-2 - (if (= (-> (ppointer->process a0-2) type) swamp-rat) - (+! v1-6 1) + (swamp-rat-nest-check-dummy) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the-as int (-> self test-interval))) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self test-interval) (the-as uint 60)) + (let ((v1-6 0)) + (let ((a0-2 (the-as (pointer process-tree) (-> self child-process)))) + (while a0-2 + (if (= (-> (ppointer->process a0-2) type) swamp-rat) + (+! v1-6 1) + ) + (set! a0-2 (-> a0-2 0 brother)) + ) + ) + (if (< v1-6 (-> self rat-count)) + (go swamp-rat-nest-gestate) + ) ) - (set! a0-2 (-> a0-2 0 brother)) - ) ) - (if (< v1-6 (-> self rat-count)) - (go swamp-rat-nest-gestate) - ) - ) + (none) ) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior swamp-rat-nest) #f) ) @@ -1585,31 +1305,26 @@ swamp-rat-nest-default-event-handler :event swamp-rat-nest-default-event-handler :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (swamp-rat-nest-check-dummy) - (when - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the int (* (-> self spawn-period-scale) (-> self spawn-period))) - ) - (send-event (ppointer->process (-> self dummy)) 'shake) - (swamp-rat-nest-spawn-rat) - (go swamp-rat-nest-active) + (swamp-rat-nest-check-dummy) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) + (the int (* (-> self spawn-period-scale) (-> self spawn-period))) + ) + (send-event (ppointer->process (-> self dummy)) 'shake) + (swamp-rat-nest-spawn-rat) + (go swamp-rat-nest-active) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior swamp-rat-nest) #f) ) @@ -1617,31 +1332,27 @@ swamp-rat-nest-default-event-handler ;; failed to figure out what this is: (defstate swamp-rat-nest-victory (swamp-rat-nest) :event - (the-as - (function process int symbol event-message-block object :behavior swamp-rat-nest) - #f - ) + (the-as (function process int symbol event-message-block object :behavior swamp-rat-nest) #f) :code (behavior () - (let ((gp-0 (the-as (pointer process-tree) (-> self child-process)))) - (while gp-0 - (let* ((s5-0 (ppointer->process gp-0)) - (a0-1 - (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) swamp-rat)) - s5-0 + (let ((gp-0 (the-as (pointer process-tree) (-> self child-process)))) + (while gp-0 + (let* ((s5-0 (ppointer->process gp-0)) + (a0-1 (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) swamp-rat)) + s5-0 + ) + ) + ) + (if a0-1 + (send-event a0-1 'victory) ) - ) - ) - (if a0-1 - (send-event a0-1 'victory) - ) + ) + (set! gp-0 (-> gp-0 0 brother)) + ) ) - (set! gp-0 (-> gp-0 0 brother)) - ) + (go swamp-rat-nest-active) + (none) ) - (go swamp-rat-nest-active) - (none) - ) :post (the-as (function none :behavior swamp-rat-nest) #f) ) @@ -1652,70 +1363,44 @@ swamp-rat-nest-default-event-handler swamp-rat-nest-default-event-handler :code (behavior () - (process-entity-status! self (entity-perm-status complete) #t) - (process-entity-status! self (entity-perm-status dead) #t) - (drop-pickup - (-> self fact-override) - #t - *entity-pool* - (-> self fact-override) - 0 + (process-entity-status! self (entity-perm-status complete) #t) + (process-entity-status! self (entity-perm-status dead) #t) + (drop-pickup (-> self fact-override) #t *entity-pool* (-> self fact-override) 0) + (while (-> self child-process) + (suspend) + ) + (none) ) - (while (-> self child-process) - (suspend) - ) - (none) - ) :post (the-as (function none :behavior swamp-rat-nest) #f) ) ;; definition for method 11 of type swamp-rat-nest ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - swamp-rat-nest - ((obj swamp-rat-nest) (arg0 entity-actor)) +(defmethod init-from-entity! swamp-rat-nest ((obj swamp-rat-nest) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (set! - (-> obj fact-override) - (new - 'process - 'fact-info-enemy - obj - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) - ) - ) + (set! (-> obj fact-override) + (new 'process 'fact-info-enemy obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) - (let - ((s5-1 - (res-lump-value arg0 'num-lurkers uint128 :default (the-as uint128 3)) - ) - ) - (let* ((a0-8 *game-info*) - (t9-5 (method-of-object a0-8 get-health-percent-lost)) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) + (let ((s5-1 (res-lump-value arg0 'num-lurkers uint128 :default (the-as uint128 3)))) + (let* ((a0-8 *game-info*) (t9-5 (method-of-object a0-8 get-health-percent-lost))) (if (>= (t9-5 a0-8) 0.5) + (+! s5-1 -1) + ) ) - (if (>= (t9-5 a0-8) 0.5) - (+! s5-1 -1) - ) + (set! (-> obj rat-count) (max 1 (min 4 (the-as int s5-1)))) ) - (set! (-> obj rat-count) (max 1 (min 4 (the-as int s5-1)))) - ) (set! (-> obj defensive-rat-count) 2) (let* ((a0-11 *game-info*) (t9-6 (method-of-object a0-11 get-health-percent-lost)) ) - (if (>= (t9-6 a0-11) 0.75) - (+! (-> obj defensive-rat-count) -1) + (if (>= (t9-6 a0-11) 0.75) + (+! (-> obj defensive-rat-count) -1) + ) ) - ) (set! (-> obj dummy) (the-as (pointer swamp-rat-nest-dummy) #f)) (set! (-> obj dummy-type) 0) (set! (-> obj hit-points) 0) @@ -1726,8 +1411,8 @@ swamp-rat-nest-default-event-handler (a0-13 *game-info*) (t9-8 (method-of-object a0-13 get-health-percent-lost)) ) - (set! (-> obj spawn-period-scale) (+ f30-1 (* f28-0 (t9-8 a0-13)))) - ) + (set! (-> obj spawn-period-scale) (+ f30-1 (* f28-0 (t9-8 a0-13)))) + ) (set! (-> obj test-interval) (the-as uint (rand-vu-int-range 30 60))) (go swamp-rat-nest-idle) (none) @@ -1762,93 +1447,60 @@ swamp-rat-nest-default-event-handler ;; definition for method 20 of type swamp-rat-nest-dummy-a (defmethod dummy-20 swamp-rat-nest-dummy-a ((obj swamp-rat-nest-dummy-a)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 12288.0 0.0 20480.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 12288.0 0.0 20480.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) (initialize-skeleton obj *swamp-rat-nest-dummy-a-sg* '()) (none) ) ;; definition for method 20 of type swamp-rat-nest-dummy-b (defmethod dummy-20 swamp-rat-nest-dummy-b ((obj swamp-rat-nest-dummy-b)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 12288.0 0.0 16384.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 12288.0 0.0 16384.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) (initialize-skeleton obj *swamp-rat-nest-dummy-b-sg* '()) (none) ) ;; definition for method 20 of type swamp-rat-nest-dummy-c (defmethod dummy-20 swamp-rat-nest-dummy-c ((obj swamp-rat-nest-dummy-c)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 12288.0 0.0 12288.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 12288.0 0.0 12288.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) (initialize-skeleton obj *swamp-rat-nest-dummy-c-sg* '()) (none) ) @@ -1856,93 +1508,78 @@ swamp-rat-nest-default-event-handler ;; definition for method 21 of type swamp-rat-nest-dummy-a (defmethod dummy-21 swamp-rat-nest-dummy-a ((obj swamp-rat-nest-dummy-a)) (let ((v1-0 0)) - (let* - ((a0-1 - '( - (the binteger 5) (the binteger 6) (the binteger 7) (the binteger 8) (the binteger 9) (the binteger 10) + (let* ((a0-1 + '((the binteger 5) (the binteger 6) (the binteger 7) (the binteger 8) (the binteger 9) (the binteger 10)) + ) + (a1-0 (car a0-1)) + ) + (while (not (null? a0-1)) + (when (< v1-0 6) + (set! (-> obj spawn-joint-array v1-0) (/ (the-as int a1-0) 8)) + (+! v1-0 1) + ) + (set! a0-1 (cdr a0-1)) + (set! a1-0 (car a0-1)) ) ) - (a1-0 (car a0-1)) - ) - (while (not (null? a0-1)) - (when (< v1-0 6) - (set! (-> obj spawn-joint-array v1-0) (/ (the-as int a1-0) 8)) - (+! v1-0 1) - ) - (set! a0-1 (cdr a0-1)) - (set! a1-0 (car a0-1)) - ) + (set! (-> obj spawn-joint-count) v1-0) ) - (set! (-> obj spawn-joint-count) v1-0) - ) (set! (-> obj death-part) (-> *part-group-id-table* 292)) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 295) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 295) obj)) (let ((v0-1 6)) - (set! (-> obj particle-spawn-joint) v0-1) - v0-1 - ) + (set! (-> obj particle-spawn-joint) v0-1) + v0-1 + ) ) ;; definition for method 21 of type swamp-rat-nest-dummy-b (defmethod dummy-21 swamp-rat-nest-dummy-b ((obj swamp-rat-nest-dummy-b)) (let ((v1-0 0)) - (let* - ((a0-1 - '( - (the binteger 5) (the binteger 9) (the binteger 10) (the binteger 6) (the binteger 7) (the binteger 8) + (let* ((a0-1 + '((the binteger 5) (the binteger 9) (the binteger 10) (the binteger 6) (the binteger 7) (the binteger 8)) + ) + (a1-0 (car a0-1)) + ) + (while (not (null? a0-1)) + (when (< v1-0 6) + (set! (-> obj spawn-joint-array v1-0) (/ (the-as int a1-0) 8)) + (+! v1-0 1) + ) + (set! a0-1 (cdr a0-1)) + (set! a1-0 (car a0-1)) ) ) - (a1-0 (car a0-1)) - ) - (while (not (null? a0-1)) - (when (< v1-0 6) - (set! (-> obj spawn-joint-array v1-0) (/ (the-as int a1-0) 8)) - (+! v1-0 1) - ) - (set! a0-1 (cdr a0-1)) - (set! a1-0 (car a0-1)) - ) + (set! (-> obj spawn-joint-count) v1-0) ) - (set! (-> obj spawn-joint-count) v1-0) - ) (set! (-> obj death-part) (-> *part-group-id-table* 293)) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 296) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 296) obj)) (let ((v0-1 9)) - (set! (-> obj particle-spawn-joint) v0-1) - v0-1 - ) + (set! (-> obj particle-spawn-joint) v0-1) + v0-1 + ) ) ;; definition for method 21 of type swamp-rat-nest-dummy-c (defmethod dummy-21 swamp-rat-nest-dummy-c ((obj swamp-rat-nest-dummy-c)) (let ((v1-0 0)) - (let* ((a0-1 '((the binteger 5) (the binteger 6))) - (a1-0 (car a0-1)) + (let* ((a0-1 '((the binteger 5) (the binteger 6))) + (a1-0 (car a0-1)) + ) + (while (not (null? a0-1)) + (when (< v1-0 6) + (set! (-> obj spawn-joint-array v1-0) (/ (the-as int a1-0) 8)) + (+! v1-0 1) ) - (while (not (null? a0-1)) - (when (< v1-0 6) - (set! (-> obj spawn-joint-array v1-0) (/ (the-as int a1-0) 8)) - (+! v1-0 1) + (set! a0-1 (cdr a0-1)) + (set! a1-0 (car a0-1)) + ) ) - (set! a0-1 (cdr a0-1)) - (set! a1-0 (car a0-1)) - ) + (set! (-> obj spawn-joint-count) v1-0) ) - (set! (-> obj spawn-joint-count) v1-0) - ) (set! (-> obj death-part) (-> *part-group-id-table* 294)) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 297) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 297) obj)) (let ((v0-1 5)) - (set! (-> obj particle-spawn-joint) v0-1) - v0-1 - ) + (set! (-> obj particle-spawn-joint) v0-1) + v0-1 + ) ) diff --git a/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc b/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc index 830c90fab0..2a4fb9741b 100644 --- a/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc +++ b/test/decompiler/reference/levels/swamp/swamp-rat_REF.gc @@ -24,8 +24,8 @@ ;; definition for method 3 of type swamp-rat (defmethod inspect swamp-rat ((obj swamp-rat)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tup-vector: #~%" (-> obj up-vector)) (format #t "~T~Tstate-float: ~f~%" (-> obj state-float)) (format #t "~T~Tstate-vector: ~`vector`P~%" (-> obj state-vector)) @@ -50,50 +50,39 @@ ) ;; definition for method 44 of type swamp-rat -(defmethod - dummy-44 - swamp-rat - ((obj swamp-rat) (arg0 process) (arg1 event-message-block)) - (when - ((method-of-type touching-shapes-entry prims-touching?) - (the-as touching-shapes-entry (-> arg1 param 0)) - (-> obj collide-info) - (the-as uint 1) - ) - (when - (nav-enemy-send-attack - arg0 - (the-as touching-shapes-entry (-> arg1 param 0)) - 'generic - ) - (let* ((s5-1 (-> obj parent)) - (a0-4 (if (and (nonzero? s5-1) (type-type? pointer process-drawable)) - s5-1 - ) +(defmethod dummy-44 swamp-rat ((obj swamp-rat) (arg0 process) (arg1 event-message-block)) + (when ((method-of-type touching-shapes-entry prims-touching?) + (the-as touching-shapes-entry (-> arg1 param 0)) + (-> obj collide-info) + (the-as uint 1) + ) + (when (nav-enemy-send-attack arg0 (the-as touching-shapes-entry (-> arg1 param 0)) 'generic) + (let* ((s5-1 (-> obj parent)) + (a0-4 (if (and (nonzero? s5-1) (type-type? pointer process-drawable)) + s5-1 + ) + ) + ) + (if a0-4 + (send-event (the-as process-tree a0-4) 'victory) + (go (method-of-object obj nav-enemy-victory)) ) - ) - (if a0-4 - (send-event (the-as process-tree a0-4) 'victory) - (go (method-of-object obj nav-enemy-victory)) + ) ) - ) ) - ) ) ;; definition for function swamp-rat-default-event-handler ;; INFO: Return type mismatch none vs object. ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 7] -(defbehavior - swamp-rat-default-event-handler swamp-rat - ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior swamp-rat-default-event-handler swamp-rat ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (if (= v1-0 'victory) - (go-virtual nav-enemy-victory) - (nav-enemy-default-event-handler arg0 arg1 arg2 arg3) - ) + (the-as object (if (= v1-0 'victory) + (go-virtual nav-enemy-victory) + (nav-enemy-default-event-handler arg0 arg1 arg2 arg3) + ) + ) ) - ) ) ;; failed to figure out what this is: @@ -103,19 +92,14 @@ swamp-rat-default-event-handler ;; Used lq/sq (defmethod common-post swamp-rat ((obj swamp-rat)) (when (logtest? (-> obj collide-info status) 1) - (vector-deg-seek - (-> obj up-vector) - (-> obj up-vector) - (-> obj collide-info surface-normal) - 910.2222 + (vector-deg-seek (-> obj up-vector) (-> obj up-vector) (-> obj collide-info surface-normal) 910.2222) + (vector-normalize! (-> obj up-vector) 1.0) ) - (vector-normalize! (-> obj up-vector) 1.0) - ) (forward-up-nopitch->quaternion - (-> obj collide-info quat) - (vector-z-quaternion! (new-stack-vector0) (-> obj collide-info quat)) - (-> obj up-vector) - ) + (-> obj collide-info quat) + (vector-z-quaternion! (new-stack-vector0) (-> obj collide-info quat)) + (-> obj up-vector) + ) ((the-as (function nav-enemy none) (find-parent-method swamp-rat 39)) obj) (none) ) @@ -124,27 +108,14 @@ swamp-rat-default-event-handler ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defmethod TODO-RENAME-38 swamp-rat ((obj swamp-rat)) - (dummy-59 - (-> obj collide-info) - (-> obj collide-info transv) - (the-as uint 1) - 8192.0 - #t - #f - #f - ) + (dummy-59 (-> obj collide-info) (-> obj collide-info transv) (the-as uint 1) 8192.0 #t #f #f) (when (< (-> obj collide-info trans y) (-> obj min-height)) - (let ((a1-1 (new 'stack-no-clear 'vector))) - (set! (-> a1-1 quad) (-> obj collide-info trans quad)) - (set! (-> a1-1 y) (-> obj min-height)) - (TODO-RENAME-61 - (-> obj collide-info) - a1-1 - (-> obj collide-info transv) - *y-vector* - ) + (let ((a1-1 (new 'stack-no-clear 'vector))) + (set! (-> a1-1 quad) (-> obj collide-info trans quad)) + (set! (-> a1-1 y) (-> obj min-height)) + (TODO-RENAME-61 (-> obj collide-info) a1-1 (-> obj collide-info transv) *y-vector*) + ) ) - ) 0 (none) ) @@ -155,10 +126,7 @@ swamp-rat-default-event-handler :event swamp-rat-default-event-handler :post - (behavior () - (ja-post) - (none) - ) + (behavior () (ja-post) (none)) ) ;; failed to figure out what this is: @@ -168,64 +136,37 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) - (while #t - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - data - 0 - length + (let ((f30-0 (nav-enemy-rnd-float-range 0.9 1.1))) + (while #t + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + ) + (set! (-> a0-1 param 0) + (the float + (+ (-> (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) data 0 length) -1) + ) + ) + (set! (-> a0-1 param 1) f30-0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! + a0-1 + (the-as art-joint-anim (-> self draw art-group data (-> self nav-info walk-anim))) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) f30-0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) f30-0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as - art-joint-anim - (-> self draw art-group data (-> self nav-info walk-anim)) - ) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) f30-0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -235,57 +176,35 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 param 0) 1.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! (-> gp-0 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (ja-blend-eval) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 30.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 param 0) 1.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim #f) num-func-loop!) ) - ) + (ja-channel-push! 1 51) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> gp-0 param 0) (ja-aframe 30.0 0)) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (ja-blend-eval) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 30.0 0)) + (set! (-> gp-1 param 1) 1.0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + (go-virtual nav-enemy-chase) + (none) ) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - (go-virtual nav-enemy-chase) - (none) - ) ) ;; definition for function swamp-rat-update-wiggle-params @@ -296,13 +215,13 @@ swamp-rat-default-event-handler (f2-4 (/ 1.0 f2-2)) (f0-2 (+ 1.0 (* 0.2 f0-0))) ) - (set! (-> self delta-wiggle-angle) (* 910.2222 f1-1)) - (set! (-> self wiggle-factor) (* 1.5 f2-4)) - (let ((f0-3 (* 28672.0 f0-2))) - (set! (-> self target-speed) f0-3) - f0-3 + (set! (-> self delta-wiggle-angle) (* 910.2222 f1-1)) + (set! (-> self wiggle-factor) (* 1.5 f2-4)) + (let ((f0-3 (* 28672.0 f0-2))) + (set! (-> self target-speed) f0-3) + f0-3 + ) ) - ) ) ;; definition for function swamp-rat-update-wiggle-target @@ -310,26 +229,19 @@ swamp-rat-default-event-handler (defbehavior swamp-rat-update-wiggle-target swamp-rat ((arg0 vector)) (+! (-> self wiggle-angle) (-> self delta-wiggle-angle)) (if (< 65536.0 (-> self wiggle-angle)) - (set! (-> self wiggle-angle) (+ -65536.0 (-> self wiggle-angle))) - ) + (set! (-> self wiggle-angle) (+ -65536.0 (-> self wiggle-angle))) + ) (let* ((v1-3 (-> self collide-info trans)) (a1-1 (vector-! (new 'stack-no-clear 'vector) v1-3 arg0)) - (s3-0 - (vector-rotate-around-y! (new 'stack-no-clear 'vector) a1-1 16384.0) - ) + (s3-0 (vector-rotate-around-y! (new 'stack-no-clear 'vector) a1-1 16384.0)) (v1-4 - (vector+*! - (new 'stack-no-clear 'vector) - arg0 - s3-0 - (* (-> self wiggle-factor) (sin (-> self wiggle-angle))) + (vector+*! (new 'stack-no-clear 'vector) arg0 s3-0 (* (-> self wiggle-factor) (sin (-> self wiggle-angle)))) ) - ) (v0-3 (-> self nav target-pos)) ) - (set! (-> v0-3 quad) (-> v1-4 quad)) - v0-3 - ) + (set! (-> v0-3 quad) (-> v1-4 quad)) + v0-3 + ) ) ;; failed to figure out what this is: @@ -339,67 +251,42 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :trans (behavior () - (if - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the-as int (-> self chase-rest-time)) - ) - (go-virtual nav-enemy-victory) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) (the-as int (-> self chase-rest-time))) + (go-virtual nav-enemy-victory) + ) + ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) + (none) ) - ((-> (method-of-type nav-enemy nav-enemy-chase) trans)) - (none) - ) :code (behavior () - (set! - (-> self target-nav-time) - (the-as uint (-> *display* base-frame-counter)) - ) - (set! - (-> self wiggle-time) - (the-as uint (+ (-> *display* base-frame-counter) -3000)) - ) - (set! (-> self wiggle-angle) 0.0) - (set! (-> self chase-rest-time) (the-as uint (rand-vu-int-range 300 1200))) - (ja-channel-push! 1 51) - (let ((gp-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-identity - ) - (set! (-> gp-0 frame-num) 0.0) - ) - (while #t - (when - (>= - (- (-> *display* base-frame-counter) (the-as int (-> self wiggle-time))) - 300 + (set! (-> self target-nav-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> self wiggle-time) (the-as uint (+ (-> *display* base-frame-counter) -3000))) + (set! (-> self wiggle-angle) 0.0) + (set! (-> self chase-rest-time) (the-as uint (rand-vu-int-range 300 1200))) + (ja-channel-push! 1 51) + (let ((gp-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + gp-0 + (the-as art-joint-anim (-> self draw art-group data 9)) + num-func-identity + ) + (set! (-> gp-0 frame-num) 0.0) ) - (set! - (-> self wiggle-time) - (the-as uint (-> *display* base-frame-counter)) + (while #t + (when (>= (- (-> *display* base-frame-counter) (the-as int (-> self wiggle-time))) 300) + (set! (-> self wiggle-time) (the-as uint (-> *display* base-frame-counter))) + (swamp-rat-update-wiggle-params) + ) + (suspend) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 param 0) 1.0) + (joint-control-channel-group-eval! a0-4 (the-as art-joint-anim #f) num-func-loop!) + ) ) - (swamp-rat-update-wiggle-params) - ) - (suspend) - (let ((a0-4 (-> self skel root-channel 0))) - (set! (-> a0-4 param 0) 1.0) - (joint-control-channel-group-eval! - a0-4 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) + (none) ) - (none) - ) :post - (behavior () - (swamp-rat-update-wiggle-target (target-pos 0)) - (nav-enemy-travel-post) - (none) - ) + (behavior () (swamp-rat-update-wiggle-target (target-pos 0)) (nav-enemy-travel-post) (none)) ) ;; failed to figure out what this is: @@ -418,81 +305,51 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (set! (-> self rotate-speed) 1456355.5) - (set! (-> self turn-time) 22) - (let ((f30-0 (rand-vu-float-range 0.8 1.2))) - (while #t - (logior! (-> self nav-enemy-flags) 16) - (ja-channel-push! 1 30) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - (set! - (-> a0-2 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 10)) - data - 0 - length + (set! (-> self rotate-speed) 1456355.5) + (set! (-> self turn-time) 22) + (let ((f30-0 (rand-vu-float-range 0.8 1.2))) + (while #t + (logior! (-> self nav-enemy-flags) 16) + (ja-channel-push! 1 30) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + (set! (-> a0-2 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 10)) data 0 length) -1)) + ) + (set! (-> a0-2 param 1) f30-0) + (set! (-> a0-2 frame-num) 0.0) + (joint-control-channel-group! a0-2 (the-as art-joint-anim (-> self draw art-group data 10)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-3 (-> self skel root-channel 0))) + (set! (-> a0-3 param 0) (the float (+ (-> a0-3 frame-group data 0 length) -1))) + (set! (-> a0-3 param 1) f30-0) + (joint-control-channel-group-eval! a0-3 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) 1.0) + (joint-control-channel-group! a0-5 (the-as art-joint-anim #f) num-func-loop!) + ) + (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) + (let ((gp-0 (rand-vu-int-range 300 600)) + (s5-0 (-> *display* base-frame-counter)) + ) + (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) + (let ((v1-33 (-> self skel root-channel 0))) + (set! (-> v1-33 num-func) num-func-identity) + (set! (-> v1-33 frame-num) 0.0) + ) + (ja-blend-eval) + (suspend) + (suspend) + ) ) - -1 - ) ) - ) - (set! (-> a0-2 param 1) f30-0) - (set! (-> a0-2 frame-num) 0.0) - (joint-control-channel-group! - a0-2 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-3 (-> self skel root-channel 0))) - (set! - (-> a0-3 param 0) - (the float (+ (-> a0-3 frame-group data 0 length) -1)) - ) - (set! (-> a0-3 param 1) f30-0) - (joint-control-channel-group-eval! - a0-3 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 param 0) 1.0) - (joint-control-channel-group! - a0-5 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - (set! (-> self nav-enemy-flags) (logand -17 (-> self nav-enemy-flags))) - (let ((gp-0 (rand-vu-int-range 300 600)) - (s5-0 (-> *display* base-frame-counter)) - ) - (until (>= (- (-> *display* base-frame-counter) s5-0) gp-0) - (let ((v1-33 (-> self skel root-channel 0))) - (set! (-> v1-33 num-func) num-func-identity) - (set! (-> v1-33 frame-num) 0.0) - ) - (ja-blend-eval) - (suspend) - (suspend) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -502,104 +359,52 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (ja-channel-push! 1 22) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) + (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) + (nav-enemy-get-new-patrol-point) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-7 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-7 param 1) 1.0) + (set! (-> a0-7 frame-num) 0.0) + (joint-control-channel-group! a0-7 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (logclear! (-> self nav flags) (nav-control-flags bit17 bit19)) - (nav-enemy-get-new-patrol-point) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-7 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (until (ja-done? 0) + (seek-to-point-toward-point! + (-> self collide-info) + (-> self nav destination-pos) + (-> self rotate-speed) + (-> self turn-time) + ) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-7 param 1) 1.0) - (set! (-> a0-7 frame-num) 0.0) - (joint-control-channel-group! - a0-7 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) + (go-virtual nav-enemy-patrol) + (none) ) - (until (ja-done? 0) - (seek-to-point-toward-point! - (-> self collide-info) - (-> self nav destination-pos) - (-> self rotate-speed) - (-> self turn-time) - ) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-patrol) - (none) - ) ) ;; failed to figure out what this is: @@ -609,53 +414,27 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (ja-channel-push! 1 22) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-1 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length + (ja-channel-push! 1 22) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-1 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-1 param 1) 1.0) + (set! (-> a0-1 frame-num) 0.0) + (joint-control-channel-group! a0-1 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-1 param 1) 1.0) - (set! (-> a0-1 frame-num) 0.0) - (joint-control-channel-group! - a0-1 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) + (go-virtual nav-enemy-victory) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go-virtual nav-enemy-victory) - (none) - ) ) ;; failed to figure out what this is: @@ -673,206 +452,152 @@ swamp-rat-default-event-handler swamp-rat-default-event-handler :code (behavior () - (let ((gp-0 (new-stack-vector0))) - (set! (-> gp-0 x) 0.0) - (set! (-> gp-0 y) (- (-> *standard-dynamics* gravity-length))) - (set! (-> gp-0 z) 0.0) - (set! (-> gp-0 w) 1.0) - (let ((f30-0 0.125)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) + (let ((gp-0 (new-stack-vector0))) + (set! (-> gp-0 x) 0.0) + (set! (-> gp-0 y) (- (-> *standard-dynamics* gravity-length))) + (set! (-> gp-0 z) 0.0) + (set! (-> gp-0 w) 1.0) + (let ((f30-0 0.125)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (let ((s5-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s5-0 + (the-as art-joint-anim (-> self draw art-group data 5)) + num-func-identity + ) + (set! (-> s5-0 frame-num) 0.0) + ) + (while #t + (set! f30-0 (seek f30-0 1.5 0.1)) + (vector-v++! (-> self collide-info transv) gp-0) + (dummy-59 (-> self collide-info) (-> self collide-info transv) (the-as uint 1) 8192.0 #t #f #f) + (when (or + (logtest? (-> self collide-info status) 4) + (or + (< (-> self collide-info trans y) (-> self min-height)) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + ) + ) + 0 + (goto cfg-13) + ) + (vector-float*! (-> self collide-info scale) *identity-vector* f30-0) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) 1.0) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) + ) + (suspend) + ) + ) ) - (while #t - (set! f30-0 (seek f30-0 1.5 0.1)) - (vector-v++! (-> self collide-info transv) gp-0) - (dummy-59 - (-> self collide-info) - (-> self collide-info transv) - (the-as uint 1) - 8192.0 - #t - #f - #f - ) - (when - (or - (logtest? (-> self collide-info status) 4) - (or - (< (-> self collide-info trans y) (-> self min-height)) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - ) + (label cfg-13) + (if (< (-> self collide-info trans y) (-> self min-height)) + (set! (-> self collide-info trans y) (-> self min-height)) ) - 0 - (goto cfg-13) - ) - (vector-float*! (-> self collide-info scale) *identity-vector* f30-0) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) + (set! (-> self collide-info transv quad) (-> *null-vector* quad)) + (vector-float*! (-> self collide-info scale) *identity-vector* 1.5) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-10 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-10 param 1) 1.0) + (set! (-> a0-10 frame-num) 0.0) + (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) (suspend) - ) - ) - ) - (label cfg-13) - (if (< (-> self collide-info trans y) (-> self min-height)) - (set! (-> self collide-info trans y) (-> self min-height)) - ) - (set! (-> self collide-info transv quad) (-> *null-vector* quad)) - (vector-float*! (-> self collide-info scale) *identity-vector* 1.5) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-10 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) + (set! (-> a0-11 param 1) 1.0) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) + (if (TODO-RENAME-46 self (-> self nav-info stop-chase-distance)) + (go-virtual nav-enemy-chase) + (go-virtual nav-enemy-idle) + ) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 param 0) - (the float (+ (-> a0-11 frame-group data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (if (TODO-RENAME-46 self (-> self nav-info stop-chase-distance)) - (go-virtual nav-enemy-chase) - (go-virtual nav-enemy-idle) - ) - (none) - ) :post (the-as (function none :behavior swamp-rat) nav-enemy-simple-post) ) ;; definition for symbol *swamp-rat-nav-enemy-info*, type nav-enemy-info -(define - *swamp-rat-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim 4 - :walk-anim 7 - :turn-anim 7 - :notice-anim 8 - :run-anim 9 - :jump-anim 9 - :jump-land-anim 6 - :victory-anim 10 - :taunt-anim 10 - :die-anim 11 - :neck-joint 7 - :run-travel-speed (meters 7.0) - :run-rotate-speed (degrees 7999.9995) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.07333333) - :walk-travel-speed (meters 2.0) - :walk-rotate-speed (degrees 7999.9995) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.07333333) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 1.0) - :notice-nav-radius (meters 1.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 30.0) - :stop-chase-distance (meters 40.0) - :frustration-distance (meters 3.0) - :frustration-time #x1c2 - :die-anim-hold-frame 20.0 - :jump-anim-start-frame 19.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #f - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *swamp-rat-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim 4 + :walk-anim 7 + :turn-anim 7 + :notice-anim 8 + :run-anim 9 + :jump-anim 9 + :jump-land-anim 6 + :victory-anim 10 + :taunt-anim 10 + :die-anim 11 + :neck-joint 7 + :run-travel-speed (meters 7.0) + :run-rotate-speed (degrees 7999.9995) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.07333333) + :walk-travel-speed (meters 2.0) + :walk-rotate-speed (degrees 7999.9995) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.07333333) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 1.0) + :notice-nav-radius (meters 1.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 30.0) + :stop-chase-distance (meters 40.0) + :frustration-distance (meters 3.0) + :frustration-time #x1c2 + :die-anim-hold-frame 20.0 + :jump-anim-start-frame 19.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #f + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 47 of type swamp-rat ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision swamp-rat ((obj swamp-rat)) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 2) + (set-vector! (-> s4-0 local-sphere) 0.0 3686.4001 0.0 3686.4001) + (set-root-prim! s5-0 s4-0) ) - ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj collide-info) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 3)))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 2) - (set-vector! (-> s4-0 local-sphere) 0.0 3686.4001 0.0 3686.4001) - (set-root-prim! s5-0 s4-0) - ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj collide-info) s5-0) - ) 0 (none) ) @@ -905,14 +630,12 @@ swamp-rat-default-event-handler ;; definition for function swamp-rat-init-by-other ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defbehavior - swamp-rat-init-by-other swamp-rat - ((arg0 billy) (arg1 vector) (arg2 vector) (arg3 pickup-type) (arg4 symbol)) +(defbehavior swamp-rat-init-by-other swamp-rat ((arg0 billy) (arg1 vector) (arg2 vector) (arg3 pickup-type) (arg4 symbol)) (initialize-collision self) (if arg4 - (logclear! (-> self mask) (process-mask actor-pause)) - (logior! (-> self mask) (process-mask actor-pause)) - ) + (logclear! (-> self mask) (process-mask actor-pause)) + (logior! (-> self mask) (process-mask actor-pause)) + ) (set! (-> self collide-info trans quad) (-> arg1 quad)) (forward-up->quaternion (-> self collide-info quat) arg2 *up-vector*) (vector-float*! (-> self collide-info scale) *identity-vector* 1.5) diff --git a/test/decompiler/reference/levels/training/training-part_REF.gc b/test/decompiler/reference/levels/training/training-part_REF.gc index fb048fc64e..fd6df08e21 100644 --- a/test/decompiler/reference/levels/training/training-part_REF.gc +++ b/test/decompiler/reference/levels/training/training-part_REF.gc @@ -13,1738 +13,1598 @@ ;; definition for method 3 of type training-part (defmethod inspect training-part ((obj training-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 146) - (new 'static 'sparticle-launch-group - :length 26 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-training-geyser-2" - :launcher - (new 'static 'inline-array sparticle-group-item 26 - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 4500) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 4530) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 4560) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 4590) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 4620) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 4650) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 4050) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 4080) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 4110) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 4140) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 4170) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 3900) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 4050) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 4080) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 4110) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 4140) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 4170) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 3900) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 4050) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 4050) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 3750) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 3450) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 4050) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 4050) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 3750) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 3450) - ) - :bounds - (new 'static 'sphere :y 131072.0 :w 286720.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 147) - (new 'static 'sparticle-launch-group - :length 26 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-training-geyser-5" - :launcher - (new 'static 'inline-array sparticle-group-item 26 - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 900) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 930) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 960) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 990) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 1020) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 1050) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 450) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 420) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 390) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 360) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 330) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 300) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 450) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 420) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 390) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 360) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 330) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 300) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 450) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 450) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 150) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 4650) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 450) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 450) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 150) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 4650) - ) - :bounds - (new 'static 'sphere :y 131072.0 :w 286720.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 149) - (new 'static 'sparticle-launch-group - :length 18 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-training-geyser-6" - :launcher - (new 'static 'inline-array sparticle-group-item 18 - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 2100) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 2130) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 2160) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 2190) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 2220) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 2250) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 1650) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 1680) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 1710) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 1740) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 1770) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 1500) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 1650) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 1680) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 1710) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 1740) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 1770) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 1500) - ) - :bounds - (new 'static 'sphere :y 131072.0 :w 286720.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 148) - (new 'static 'sparticle-launch-group - :length 26 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-training-geyser-4" - :launcher - (new 'static 'inline-array sparticle-group-item 26 - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 3300) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 3330) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 3360) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 3390) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 3420) - (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 3450) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 2850) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 2880) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 2910) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 2940) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 2970) - (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 2700) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 2850) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 2880) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 2910) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 2940) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 2970) - (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 2700) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 2850) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 2850) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 2550) - (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 2250) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 2850) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 2850) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 2550) - (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 2250) - ) - :bounds - (new 'static 'sphere :y 131072.0 :w 286720.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 752) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.2) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #xc0 - :num 0.1 - :group #x1 - :sound-name (static-sound-name "geyser") - :volume #x400 - :fo-min 50 - :fo-max #xc8 +(set! (-> *part-group-id-table* 146) + (new 'static 'sparticle-launch-group + :length 26 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-training-geyser-2" + :launcher + (new 'static 'inline-array sparticle-group-item 26 + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 4500) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 4530) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 4560) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 4590) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 4620) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 4650) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 4050) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 4080) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 4110) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 4140) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 4170) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 3900) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 4050) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 4080) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 4110) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 4140) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 4170) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 3900) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 4050) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 4050) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 3750) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 3450) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 4050) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 4050) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 3750) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 3450) + ) + :bounds + (new 'static 'sphere :y 131072.0 :w 286720.0) + ) ) - ) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters -8.0)) - (sp-flt spt-scale-x (meters 8.0)) - (sp-flt spt-rot-z (degrees 180.0)) - (sp-flt spt-scale-y (meters 16.0)) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 200.0 55.0 1.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.36666667) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-flt spt-accel-y -16.384) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 510) - (sp-launcher-by-id spt-next-launcher 761) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 761) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-scalevel-x (meters 0.06666667)) - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 147) + (new 'static 'sparticle-launch-group + :length 26 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-training-geyser-5" + :launcher + (new 'static 'inline-array sparticle-group-item 26 + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 900) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 930) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 960) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 990) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 1020) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 1050) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 450) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 420) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 390) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 360) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 330) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 300) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 450) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 420) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 390) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 360) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 330) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 300) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 450) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 450) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 150) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 4650) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 450) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 450) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 150) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 4650) + ) + :bounds + (new 'static 'sphere :y 131072.0 :w 286720.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 753) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 29 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 85.0) (meters 10.0) 1.0) - (sp-flt spt-scale-x (meters 8.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 200.0 55.0 1.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.035555556)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.053333335) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-a 1.0666667) - (sp-rnd-flt spt-accel-x 0.0 1.3653333 1.0) - (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-drop-level-training-mist) - (sp-int-plain-rnd spt-next-time 30 29 1) - (sp-launcher-by-id spt-next-launcher 762) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 149) + (new 'static 'sparticle-launch-group + :length 18 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-training-geyser-6" + :launcher + (new 'static 'inline-array sparticle-group-item 18 + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 2100) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 2130) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 2160) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 2190) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 2220) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 2250) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 1650) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 1680) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 1710) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 1740) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 1770) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 1500) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 1650) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 1680) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 1710) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 1740) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 1770) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 1500) + ) + :bounds + (new 'static 'sphere :y 131072.0 :w 286720.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 762) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.03678161) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 148) + (new 'static 'sparticle-launch-group + :length 26 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-training-geyser-4" + :launcher + (new 'static 'inline-array sparticle-group-item 26 + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 3300) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 3330) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 3360) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 3390) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 3420) + (sp-item 752 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 3450) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 2850) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 2880) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 2910) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 2940) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 2970) + (sp-item 753 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 2700) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1200 :offset 2850) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1140 :offset 2880) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1080 :offset 2910) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 1020 :offset 2940) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 960 :offset 2970) + (sp-item 754 :falloff-to (meters 500.0) :period 4800 :length 900 :offset 2700) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 2850) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 2850) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 2550) + (sp-item 757 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 2250) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 3000 :offset 2850) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 2100 :offset 2850) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 1500 :offset 2550) + (sp-item 758 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 4800 :length 900 :offset 2250) + ) + :bounds + (new 'static 'sphere :y 131072.0 :w 286720.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 752) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.2) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec + :mask #xc0 + :num 0.1 + :group #x1 + :sound-name (static-sound-name "geyser") + :volume #x400 + :fo-min 50 + :fo-max #xc8 + ) + ) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters -8.0)) + (sp-flt spt-scale-x (meters 8.0)) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 16.0)) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 200.0 55.0 1.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.36666667) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-flt spt-accel-y -16.384) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 510) + (sp-launcher-by-id spt-next-launcher 761) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 761) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-flt spt-fade-a -1.0666667) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 753) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 29 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 85.0) (meters 10.0) 1.0) + (sp-flt spt-scale-x (meters 8.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 200.0 55.0 1.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.035555556)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.053333335) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-a 1.0666667) + (sp-rnd-flt spt-accel-x 0.0 1.3653333 1.0) + (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-drop-level-training-mist) + (sp-int-plain-rnd spt-next-time 30 29 1) + (sp-launcher-by-id spt-next-launcher 762) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 762) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.03678161) (sp-end)) + ) + ) ;; definition for function check-drop-level-training-mist -(defun - check-drop-level-training-mist - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-training-mist ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (new 'stack-no-clear 'vector) - (sp-kill-particle arg0 arg1) - ) + (new 'stack-no-clear 'vector) + (sp-kill-particle arg0 arg1) + ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 754) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 29 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-flt spt-num 0.035) - (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 85.0) (meters 10.0) 1.0) - (sp-flt spt-scale-x (meters 8.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 200.0 55.0 1.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.035555556)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.053333335) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-a 1.0666667) - (sp-rnd-flt spt-accel-x 1.3653333 1.3653333 1.0) - (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-drop-level-training-mist) - (sp-int-plain-rnd spt-next-time 30 29 1) - (sp-launcher-by-id spt-next-launcher 762) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 754) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 29 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-flt spt-num 0.035) + (sp-rnd-flt spt-x (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 85.0) (meters 10.0) 1.0) + (sp-flt spt-scale-x (meters 8.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 200.0 55.0 1.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.035555556)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.053333335) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-a 1.0666667) + (sp-rnd-flt spt-accel-x 1.3653333 1.3653333 1.0) + (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-drop-level-training-mist) + (sp-int-plain-rnd spt-next-time 30 29 1) + (sp-launcher-by-id spt-next-launcher 762) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 763) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-rnd-int spt-num 0 1 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 110.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-fade-a -0.85333335) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 25.000002) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 763) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-rnd-int spt-num 0 1 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 110.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-fade-a -0.85333335) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 25.000002) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 764) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.02)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 110.0 32.0 1.0) - (sp-rnd-flt spt-g 128.0 32.0 1.0) - (sp-rnd-flt spt-b 96.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.4) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 764) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.02)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 110.0 32.0 1.0) + (sp-rnd-flt spt-g 128.0 32.0 1.0) + (sp-rnd-flt spt-b 96.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.4) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition for function check-drop-level-training-spout-rain -(defun - check-drop-level-training-spout-rain - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-training-spout-rain ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name - (static-sound-name "water-drop") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-2 (the-as number (logior #x3f800000 v1-1))) + ) + (if (< (+ -1.0 (the-as float v1-2)) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) + ) + (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 763) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 764) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - ) - (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 763) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 764) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) ) - ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 759) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-y (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) - (sp-flt spt-r 50.0) - (sp-rnd-flt spt-g 80.0 55.0 1.0) - (sp-rnd-flt spt-b 50.0 50.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2) - (sp-flt spt-userdata 66560.0) - (sp-func spt-func 'check-drop-level-training-spout-rain) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 759) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-y (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) + (sp-flt spt-r 50.0) + (sp-rnd-flt spt-g 80.0 55.0 1.0) + (sp-rnd-flt spt-b 50.0 50.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2) + (sp-flt spt-userdata 66560.0) + (sp-func spt-func 'check-drop-level-training-spout-rain) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 760) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-y (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) - (sp-flt spt-r 50.0) - (sp-rnd-flt spt-g 80.0 55.0 1.0) - (sp-rnd-flt spt-b 50.0 50.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 760) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-y (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) + (sp-flt spt-r 50.0) + (sp-rnd-flt spt-g 80.0 55.0 1.0) + (sp-rnd-flt spt-b 50.0 50.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 757) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) - (sp-flt spt-r 50.0) - (sp-rnd-flt spt-g 80.0 55.0 1.0) - (sp-rnd-flt spt-b 50.0 50.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-drop-level-training-spout-rain) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 757) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) + (sp-flt spt-r 50.0) + (sp-rnd-flt spt-g 80.0 55.0 1.0) + (sp-rnd-flt spt-b 50.0 50.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-drop-level-training-spout-rain) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 758) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 10.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) - (sp-flt spt-r 50.0) - (sp-rnd-flt spt-g 80.0 55.0 1.0) - (sp-rnd-flt spt-b 50.0 50.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 758) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 10.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) + (sp-flt spt-r 50.0) + (sp-rnd-flt spt-g 80.0 55.0 1.0) + (sp-rnd-flt spt-b 50.0 50.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 755) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-y (meters 10.0) (meters 10.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) - (sp-flt spt-r 50.0) - (sp-rnd-flt spt-g 80.0 55.0 1.0) - (sp-rnd-flt spt-b 50.0 50.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2) - (sp-flt spt-userdata 0.0) - (sp-func spt-func 'check-drop-level-training-spout-rain) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 755) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-y (meters 10.0) (meters 10.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) + (sp-flt spt-r 50.0) + (sp-rnd-flt spt-g 80.0 55.0 1.0) + (sp-rnd-flt spt-b 50.0 50.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.13333334) 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2) + (sp-flt spt-userdata 0.0) + (sp-func spt-func 'check-drop-level-training-spout-rain) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 756) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 4.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) - (sp-rnd-flt spt-y (meters 10.0) (meters 20.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) - (sp-flt spt-r 50.0) - (sp-rnd-flt spt-g 80.0 55.0 1.0) - (sp-rnd-flt spt-b 50.0 50.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0) - (sp-int spt-timer 240) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 756) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 4.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 40.0) 1.0) + (sp-rnd-flt spt-y (meters 10.0) (meters 20.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.03) (meters 0.03) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.5) 1.0) + (sp-flt spt-r 50.0) + (sp-rnd-flt spt-g 80.0 55.0 1.0) + (sp-rnd-flt spt-b 50.0 50.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters -0.06666667) (meters -0.033333335) 1.0) + (sp-int spt-timer 240) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 150) - (new 'static 'sparticle-launch-group - :length #xac - :duration #xbb8 - :linger-duration #x5dc - :name "group-training-warpgate" - :launcher - (new 'static 'inline-array sparticle-group-item 172 - (sp-item 767 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 768 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 765) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 765 :flags (bit1 start-dead launch-asap)) - (sp-item 769 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 766) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 766 :flags (bit1 start-dead launch-asap)) - (sp-item 770 :fade-after (meters 100.0) :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 150) + (new 'static 'sparticle-launch-group + :length #xac + :duration #xbb8 + :linger-duration #x5dc + :name "group-training-warpgate" + :launcher + (new 'static 'inline-array sparticle-group-item 172 + (sp-item 767 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 768 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 765) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 765 :flags (bit1 start-dead launch-asap)) + (sp-item 769 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 766) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 766 :flags (bit1 start-dead launch-asap)) + (sp-item 770 :fade-after (meters 100.0) :flags (is-3d)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 770) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-scale-x (meters 5.0)) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-z (degrees 15.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 0.0 64.0 1.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 770) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-scale-x (meters 5.0)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 15.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 0.0 64.0 1.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 769) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.0033333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit3 bit14) - (sp-flt spt-rotate-y (degrees -105.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 769) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.0033333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit3 bit14) + (sp-flt spt-rotate-y (degrees -105.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 766) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.6666667)) - (sp-flt spt-y (meters 4.0)) - (sp-rnd-flt spt-z 22118.4 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 196.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 0.16) - (sp-flt spt-accel-x 1.2136296) - (sp-flt spt-accel-z -0.75093335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 766) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.6666667)) + (sp-flt spt-y (meters 4.0)) + (sp-rnd-flt spt-z 22118.4 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 196.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 0.16) + (sp-flt spt-accel-x 1.2136296) + (sp-flt spt-accel-z -0.75093335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 767) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-rnd-flt spt-num 3.0 3.0 1.0) - (sp-flt spt-x (meters -0.5)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 3481.6) - (sp-flt spt-b 3481.6) - (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0) - (sp-flt spt-fade-b 2.968116) - (sp-int spt-timer 69) - (sp-cpuinfo-flags aux-list) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 4.0) (meters 3.0) 1.0) - (sp-flt spt-rotate-y (degrees -105.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 767) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-rnd-flt spt-num 3.0 3.0 1.0) + (sp-flt spt-x (meters -0.5)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 3481.6) + (sp-flt spt-b 3481.6) + (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0) + (sp-flt spt-fade-b 2.968116) + (sp-int spt-timer 69) + (sp-cpuinfo-flags aux-list) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 4.0) (meters 3.0) 1.0) + (sp-flt spt-rotate-y (degrees -105.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 768) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-accel-x 0.06826667) - (sp-int spt-timer 690) - (sp-cpuinfo-flags bit3 bit14) - (sp-flt spt-rotate-y (degrees -105.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 768) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-accel-x 0.06826667) + (sp-int spt-timer 690) + (sp-cpuinfo-flags bit3 bit14) + (sp-flt spt-rotate-y (degrees -105.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 765) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.6666667)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 9830.4) - (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 8.0 32.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters -0.0044444446)) - (sp-flt spt-vel-z (meters -0.0034999999)) - (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0) - (sp-flt spt-fade-a 0.21333334) - (sp-flt spt-accel-x 4.247704) - (sp-int spt-timer 690) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 765) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.6666667)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 9830.4) + (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 8.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters -0.0044444446)) + (sp-flt spt-vel-z (meters -0.0034999999)) + (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0) + (sp-flt spt-fade-a 0.21333334) + (sp-flt spt-accel-x 4.247704) + (sp-int spt-timer 690) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 151) - (new 'static 'sparticle-launch-group - :length 13 - :duration #xbb8 - :linger-duration #x5dc - :name "group-training-butterflies" - :launcher - (new 'static 'inline-array sparticle-group-item 13 - (sp-item 773 :fade-after (meters 120.0) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 771) - (sp-item 773 :fade-after (meters 120.0) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 771) - (sp-item 773 :fade-after (meters 120.0) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 771) - (sp-item 771 :flags (start-dead launch-asap) :binding 772) - (sp-item 772 :flags (is-3d start-dead)) - (sp-item 771 :flags (start-dead launch-asap) :binding 772) - (sp-item 772 :flags (is-3d start-dead)) - (sp-item 771 :flags (start-dead launch-asap) :binding 772) - (sp-item 772 :flags (is-3d start-dead)) - (sp-item 771 :flags (start-dead launch-asap) :binding 772) - (sp-item 772 :flags (is-3d start-dead)) - (sp-item 771 :flags (start-dead launch-asap) :binding 772) - (sp-item 772 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 122880.0) - ) - ) +(set! (-> *part-group-id-table* 151) + (new 'static 'sparticle-launch-group + :length 13 + :duration #xbb8 + :linger-duration #x5dc + :name "group-training-butterflies" + :launcher + (new 'static 'inline-array sparticle-group-item 13 + (sp-item 773 :fade-after (meters 120.0) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 771) + (sp-item 773 :fade-after (meters 120.0) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 771) + (sp-item 773 :fade-after (meters 120.0) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 771) + (sp-item 771 :flags (start-dead launch-asap) :binding 772) + (sp-item 772 :flags (is-3d start-dead)) + (sp-item 771 :flags (start-dead launch-asap) :binding 772) + (sp-item 772 :flags (is-3d start-dead)) + (sp-item 771 :flags (start-dead launch-asap) :binding 772) + (sp-item 772 :flags (is-3d start-dead)) + (sp-item 771 :flags (start-dead launch-asap) :binding 772) + (sp-item 772 :flags (is-3d start-dead)) + (sp-item 771 :flags (start-dead launch-asap) :binding 772) + (sp-item 772 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 122880.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 773) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 7.5) 1.0) - (sp-rnd-flt spt-y (meters 14.0) (meters 3.0) 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters -0.036666665)) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-timer 6000) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 555) - (sp-launcher-by-id spt-next-launcher 774) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 773) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 7.5) 1.0) + (sp-rnd-flt spt-y (meters 14.0) (meters 3.0) 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters -0.036666665)) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-timer 6000) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 555) + (sp-launcher-by-id spt-next-launcher 774) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 774) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-accel-y 0.0) - (sp-int-plain-rnd spt-next-time 2700 1499 1) - (sp-launcher-by-id spt-next-launcher 775) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 774) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-accel-y 0.0) + (sp-int-plain-rnd spt-next-time 2700 1499 1) + (sp-launcher-by-id spt-next-launcher 775) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 775) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-accel-y 1.3653333) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 775) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-accel-y 1.3653333) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 771) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 12288.0 4096.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 0.0 256.0 1.0) - (sp-rnd-int spt-b 1124073472 1 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 6000) - (sp-cpuinfo-flags bit3 bit7) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 776) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 771) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 12288.0 4096.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 0.0 256.0 1.0) + (sp-rnd-int spt-b 1124073472 1 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 6000) + (sp-cpuinfo-flags bit3 bit7) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 776) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 776) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 776) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 776) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 6 + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 776) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 772) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-rot-color) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 0.9)) - (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) - (sp-flt spt-scale-y (meters 1.3)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -8.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit9 bit12) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 772) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-rot-color) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 0.9)) + (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) + (sp-flt spt-scale-y (meters 1.3)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -8.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit9 bit12) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 152) - (new 'static 'sparticle-launch-group - :length 9 - :duration #xbb8 - :linger-duration #x5dc - :name "group-training-birds" - :launcher - (new 'static 'inline-array sparticle-group-item 9 - (sp-item 779 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 777) - (sp-item 779 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 777) - (sp-item 779 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 777) - (sp-item 777 :flags (start-dead launch-asap) :binding 778) - (sp-item 778 :flags (is-3d start-dead)) - (sp-item 777 :flags (start-dead launch-asap) :binding 778) - (sp-item 778 :flags (is-3d start-dead)) - (sp-item 777 :flags (start-dead launch-asap) :binding 778) - (sp-item 778 :flags (is-3d start-dead)) - ) - :bounds - (new 'static 'sphere :y 32768.0 :w 184320.0) - ) - ) +(set! (-> *part-group-id-table* 152) + (new 'static 'sparticle-launch-group + :length 9 + :duration #xbb8 + :linger-duration #x5dc + :name "group-training-birds" + :launcher + (new 'static 'inline-array sparticle-group-item 9 + (sp-item 779 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 777) + (sp-item 779 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 777) + (sp-item 779 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 777) + (sp-item 777 :flags (start-dead launch-asap) :binding 778) + (sp-item 778 :flags (is-3d start-dead)) + (sp-item 777 :flags (start-dead launch-asap) :binding 778) + (sp-item 778 :flags (is-3d start-dead)) + (sp-item 777 :flags (start-dead launch-asap) :binding 778) + (sp-item 778 :flags (is-3d start-dead)) + ) + :bounds + (new 'static 'sphere :y 32768.0 :w 184320.0) + ) + ) ;; definition for function tra-bird-bob-func ;; INFO: Return type mismatch int vs none. -(defun - tra-bird-bob-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) - (set! - (-> arg2 y) - (+ - (-> (the-as process-drawable (-> arg1 key proc)) root trans y) - (* - -2048.0 - (sin (* 218.45334 (the float (mod (-> *display* base-frame-counter) 300)))) - ) - ) - ) +(defun tra-bird-bob-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) + (set! (-> arg2 y) (+ (-> (the-as process-drawable (-> arg1 key proc)) root trans y) + (* -2048.0 (sin (* 218.45334 (the float (mod (-> *display* base-frame-counter) 300))))) + ) + ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 779) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-func spt-birth-func 'birth-func-random-next-time) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z -61440.0 122880.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-userdata 199.98) - (sp-func spt-func 'tra-bird-bob-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 779) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-func spt-birth-func 'birth-func-random-next-time) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z -61440.0 122880.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-userdata 199.98) + (sp-func spt-func 'tra-bird-bob-func) + (sp-end) + ) + ) + ) ;; definition for function tra-sparticle-seagull-moon ;; INFO: Return type mismatch int vs none. -(defun - tra-sparticle-seagull-moon - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) - (set! - (-> arg2 vector 1 z) - (the float (sar (shl (the int (+ -16384.0 (-> arg1 omega))) 48) 48)) - ) +(defun tra-sparticle-seagull-moon ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) + (set! (-> arg2 vector 1 z) (the float (sar (shl (the int (+ -16384.0 (-> arg1 omega))) 48) 48))) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 777) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-omega-to-z) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-z 122880.0) - (sp-flt spt-scale-x (meters 0.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.0044444446)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.04)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit3 bit7) - (sp-func spt-func 'tra-sparticle-seagull-moon) - (sp-int spt-next-time 199) - (sp-launcher-by-id spt-next-launcher 780) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 777) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-omega-to-z) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-z 122880.0) + (sp-flt spt-scale-x (meters 0.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.0044444446)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.04)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit3 bit7) + (sp-func spt-func 'tra-sparticle-seagull-moon) + (sp-int spt-next-time 199) + (sp-launcher-by-id spt-next-launcher 780) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 780) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-scale-x (meters 8.0)) - (sp-flt spt-scalevel-x (meters -0.08)) - (sp-int spt-timer 600) - (sp-int spt-next-time 100) - (sp-launcher-by-id spt-next-launcher 781) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 780) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-scale-x (meters 8.0)) + (sp-flt spt-scalevel-x (meters -0.08)) + (sp-int spt-timer 600) + (sp-int spt-next-time 100) + (sp-launcher-by-id spt-next-launcher 781) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 781) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-scale-x (meters 0.0)) - (sp-flt spt-scalevel-x (meters -0.04)) - (sp-int spt-timer 600) - (sp-int spt-next-time 199) - (sp-launcher-by-id spt-next-launcher 780) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 781) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-scale-x (meters 0.0)) + (sp-flt spt-scalevel-x (meters -0.04)) + (sp-int spt-timer 600) + (sp-int spt-next-time 199) + (sp-launcher-by-id spt-next-launcher 780) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 778) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-func spt-birth-func 'birth-func-copy2-rot-color) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-flt spt-scale-y (meters 1.5)) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9 bit12) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 778) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 9 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-func spt-birth-func 'birth-func-copy2-rot-color) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-flt spt-scale-y (meters 1.5)) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9 bit12) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 153) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-training-waterfall-21" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 782 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 783 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 784 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 785 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 786 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 787 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - ) - :bounds - (new 'static 'sphere :y 65536.0 :w 131072.0) - ) - ) +(set! (-> *part-group-id-table* 153) (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-training-waterfall-21" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 782 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 783 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 784 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 785 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 786 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 787 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + ) + :bounds + (new 'static 'sphere :y 65536.0 :w 131072.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 789) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 789) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.10666667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 790) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.16) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 790) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.16) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 791) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -2.6666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 791) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -2.6666667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 782) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-flt spt-num 0.9) - (sp-rnd-flt spt-x (meters -9.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 47.0)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.05)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 384) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 369) - (sp-launcher-by-id spt-next-launcher 791) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 782) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-flt spt-num 0.9) + (sp-rnd-flt spt-x (meters -9.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 47.0)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.05)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 384) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 369) + (sp-launcher-by-id spt-next-launcher 791) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 783) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-flt spt-num 0.9) - (sp-rnd-flt spt-x (meters -9.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 39.0) (meters 5.0) 1.0) - (sp-flt spt-z 0.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.011666667) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 369) - (sp-launcher-by-id spt-next-launcher 791) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 783) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-flt spt-num 0.9) + (sp-rnd-flt spt-x (meters -9.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 39.0) (meters 5.0) 1.0) + (sp-flt spt-z 0.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.011666667) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 369) + (sp-launcher-by-id spt-next-launcher 791) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 784) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-y (meters 24.0) (meters 6.0) 1.0) - (sp-flt spt-z 8192.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 4.8) (meters 3.2) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.021666666) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 369) - (sp-launcher-by-id spt-next-launcher 791) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 784) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-y (meters 24.0) (meters 6.0) 1.0) + (sp-flt spt-z 8192.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 4.8) (meters 3.2) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.01) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.021666666) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 369) + (sp-launcher-by-id spt-next-launcher 791) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 785) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -9.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 47.0)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-accel-x -2.8444445) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 785) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -9.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 47.0)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-accel-x -2.8444445) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 786) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.4 1.0) - (sp-rnd-flt spt-x (meters -7.0) (meters 3.5) 1.0) - (sp-flt spt-y (meters 47.0)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.021666666)) - (sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 681) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 666) - (sp-launcher-by-id spt-next-launcher 791) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 786) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.4 1.0) + (sp-rnd-flt spt-x (meters -7.0) (meters 3.5) 1.0) + (sp-flt spt-y (meters 47.0)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.021666666)) + (sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 681) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 666) + (sp-launcher-by-id spt-next-launcher 791) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 787) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.133) - (sp-rnd-flt spt-x (meters 0.0) (meters 6.0) 1.0) - (sp-flt spt-y (meters -3.5)) - (sp-rnd-flt spt-z -20480.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.033333335)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 790) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 787) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.133) + (sp-rnd-flt spt-x (meters 0.0) (meters 6.0) 1.0) + (sp-flt spt-y (meters -3.5)) + (sp-rnd-flt spt-z -20480.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.033333335)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 790) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 154) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-training-waterfall-20" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 792 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 793 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 794 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 795 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 796 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 797 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) - ) - :bounds - (new 'static 'sphere :y 49152.0 :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 154) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-training-waterfall-20" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 792 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 793 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 794 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 795 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 796 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 797 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) + ) + :bounds + (new 'static 'sphere :y 49152.0 :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 792) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -6.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 15.5)) - (sp-rnd-flt spt-z -24576.0 24576.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.05)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 369) - (sp-launcher-by-id spt-next-launcher 791) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 120.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 792) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -6.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 15.5)) + (sp-rnd-flt spt-z -24576.0 24576.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.05)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 369) + (sp-launcher-by-id spt-next-launcher 791) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 120.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 793) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-flt spt-num 1.4) - (sp-rnd-flt spt-x (meters -4.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 15.5)) - (sp-rnd-flt spt-z -12288.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.05)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 369) - (sp-launcher-by-id spt-next-launcher 791) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 190.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 793) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-flt spt-num 1.4) + (sp-rnd-flt spt-x (meters -4.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 15.5)) + (sp-rnd-flt spt-z -12288.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.05)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0016666667) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 369) + (sp-launcher-by-id spt-next-launcher 791) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 190.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 794) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.4 1.0) - (sp-rnd-flt spt-x (meters -6.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 15.5)) - (sp-rnd-flt spt-z -24576.0 24576.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.021666666)) - (sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 540) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 360) - (sp-launcher-by-id spt-next-launcher 791) - (sp-flt spt-rotate-y (degrees 120.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 794) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.4 1.0) + (sp-rnd-flt spt-x (meters -6.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 15.5)) + (sp-rnd-flt spt-z -24576.0 24576.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.021666666)) + (sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 540) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 360) + (sp-launcher-by-id spt-next-launcher 791) + (sp-flt spt-rotate-y (degrees 120.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 795) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.4 1.0) - (sp-rnd-flt spt-x (meters -4.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 15.5)) - (sp-rnd-flt spt-z -12288.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.021666666)) - (sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 540) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 360) - (sp-launcher-by-id spt-next-launcher 791) - (sp-flt spt-rotate-y (degrees 190.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 795) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.4 1.0) + (sp-rnd-flt spt-x (meters -4.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 15.5)) + (sp-rnd-flt spt-z -12288.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 2.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.021666666)) + (sp-rnd-flt spt-vel-y (meters -0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 540) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 360) + (sp-launcher-by-id spt-next-launcher 791) + (sp-flt spt-rotate-y (degrees 190.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 796) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.133) - (sp-rnd-flt spt-x (meters 0.0) (meters 6.0) 1.0) - (sp-flt spt-y (meters -3.5)) - (sp-rnd-flt spt-z -20480.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.033333335)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 790) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 796) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.133) + (sp-rnd-flt spt-x (meters 0.0) (meters 6.0) 1.0) + (sp-flt spt-y (meters -3.5)) + (sp-rnd-flt spt-z -20480.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.033333335)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.3) (degrees 0.6) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 790) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 797) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.05) - (sp-rnd-flt spt-x (meters 0.0) (meters 5.0) 1.0) - (sp-rnd-flt spt-z -32768.0 32768.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 92.0) - (sp-flt spt-g 92.0) - (sp-flt spt-b 92.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.2) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 789) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 797) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.05) + (sp-rnd-flt spt-x (meters 0.0) (meters 5.0) 1.0) + (sp-rnd-flt spt-z -32768.0 32768.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 92.0) + (sp-flt spt-g 92.0) + (sp-flt spt-b 92.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.2) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 789) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/village1/assistant_REF.gc b/test/decompiler/reference/levels/village1/assistant_REF.gc index 893c5e6805..8494cfd0b3 100644 --- a/test/decompiler/reference/levels/village1/assistant_REF.gc +++ b/test/decompiler/reference/levels/village1/assistant_REF.gc @@ -14,8 +14,8 @@ ;; definition for method 3 of type assistant (defmethod inspect assistant ((obj assistant)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsound-id: ~D~%" (-> obj sound-id)) obj ) @@ -34,20 +34,20 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 assistant ((obj assistant)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -4096.0 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -4096.0 f0-0))) + ) + 0 + (let ((a0-4 v1-1)) + (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) + ) + ) + 0 + (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - 0 - (let ((a0-4 v1-1)) - (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) - ) - ) - 0 - (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - ) (none) ) @@ -55,277 +55,139 @@ (defmethod draw-npc-shadow assistant ((obj assistant)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) ;; definition for method 32 of type assistant (defmethod play-anim! assistant ((obj assistant) (arg0 symbol)) (with-pp - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (case (current-task (-> obj tasks)) - (((game-task jungle-eggtop)) - (when arg0 - (let* ((s5-1 (-> obj tasks)) - (s4-0 (method-of-object s5-1 save-reminder)) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (s4-0 - s5-1 - (the int (the-as float (send-event-function *target* a1-3))) - 1 - ) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name - "assistant-introduction-blue-eco-switch" - :index 10 - :parts 11 - :command-list - '( - (0 - want-levels - village1 - beach + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (case (current-task (-> obj tasks)) + (((game-task jungle-eggtop)) + (when arg0 + (let* ((s5-1 (-> obj tasks)) + (s4-0 (method-of-object s5-1 save-reminder)) + (a1-3 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-3))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name + "assistant-introduction-blue-eco-switch" + :index 10 + :parts 11 + :command-list + '((0 want-levels village1 beach) + ((the binteger 128) joint "cameraB") + ((the binteger 312) joint "camera") + ((the binteger 492) joint "cameraB") + ((the binteger 537) joint "camera") + ((the binteger 734) display-level beach movie) + ((the binteger 734) want-force-vis beach #t) + ((the binteger 735) alive "ecovent-48") + ((the binteger 742) blackout (the binteger 10)) + ((the binteger 743) joint "cameraB") + ((the binteger 745) blackout 0) + ((the binteger 839) alive "ecovent-200") + ((the binteger 841) joint "camera") + ((the binteger 842) dead "ecovent-48") + ((the binteger 942) blackout (the binteger 10)) + ((the binteger 944) joint "cameraB") + ((the binteger 945) blackout 0) + ((the binteger 945) dead "ecovent-200") + ((the binteger 945) display-level beach #f) + ((the binteger 1049) blackout (the binteger 10)) + ((the binteger 1051) joint "camera") + ((the binteger 1052) blackout 0) + ((the binteger 1135) blackout (the binteger 10)) + ((the binteger 1137) joint "cameraB") + ((the binteger 1138) blackout 0) + ((the binteger 1216) joint "camera") ) - ((the binteger 128) - joint - "cameraB" - ) - ((the binteger 312) - joint - "camera" - ) - ((the binteger 492) - joint - "cameraB" - ) - ((the binteger 537) - joint - "camera" - ) - ((the binteger 734) - display-level - beach - movie - ) - ((the binteger 734) - want-force-vis - beach - #t - ) - ((the binteger 735) - alive - "ecovent-48" - ) - ((the binteger 742) - blackout - (the binteger 10) - ) - ((the binteger 743) - joint - "cameraB" - ) - ((the binteger 745) - blackout - 0 - ) - ((the binteger 839) - alive - "ecovent-200" - ) - ((the binteger 841) - joint - "camera" - ) - ((the binteger 842) - dead - "ecovent-48" - ) - ((the binteger 942) - blackout - (the binteger 10) - ) - ((the binteger 944) - joint - "cameraB" - ) - ((the binteger 945) - blackout - 0 - ) - ((the binteger 945) - dead - "ecovent-200" - ) - ((the binteger 945) - display-level - beach - #f - ) - ((the binteger 1049) - blackout - (the binteger 10) - ) - ((the binteger 1051) - joint - "camera" - ) - ((the binteger 1052) - blackout - 0 - ) - ((the binteger 1135) - blackout - (the binteger 10) - ) - ((the binteger 1137) - joint - "cameraB" - ) - ((the binteger 1138) - blackout - 0 - ) - ((the binteger 1216) joint "camera") ) ) - ) - (else - (if arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "assistant-introduction-race-bike" - :index 12 - :parts 6 - :command-list - '( - (0 - want-levels - village1 - beach + (else + (if arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "assistant-introduction-race-bike" + :index 12 + :parts 6 + :command-list + '((0 want-levels village1 beach) + ((the binteger 129) joint "cameraB") + ((the binteger 319) joint "camera") + ((the binteger 505) joint "cameraB") + ) ) - ((the binteger 129) - joint - "cameraB" - ) - ((the binteger 319) - joint - "camera" - ) - ((the binteger 505) joint "cameraB") ) ) - ) ) - ) - (((task-status need-reminder) (task-status need-reminder-a)) - (set! (-> obj skippable) #t) - (cond - ((= (current-task (-> obj tasks)) (game-task none)) - (new 'static 'spool-anim - :name "assistant-reminder-1-generic" - :index 14 - :parts 2 - :command-list '() - ) - ) - ((closed? - (-> obj tasks) - (game-task jungle-eggtop) - (task-status need-resolution) - ) - (new 'static 'spool-anim - :name "assistant-reminder-1-race-bike" - :index 13 - :parts 3 - :command-list '() - ) - ) - ((or - (closed? - (-> obj tasks) - (game-task misty-bike) - (task-status need-resolution) - ) - (not - (closed? - (-> obj tasks) - (game-task misty-bike) - (task-status need-introduction) + (((task-status need-reminder) (task-status need-reminder-a)) + (set! (-> obj skippable) #t) + (cond + ((= (current-task (-> obj tasks)) (game-task none)) + (new 'static 'spool-anim :name "assistant-reminder-1-generic" :index 14 :parts 2 :command-list '()) ) + ((closed? (-> obj tasks) (game-task jungle-eggtop) (task-status need-resolution)) + (new 'static 'spool-anim :name "assistant-reminder-1-race-bike" :index 13 :parts 3 :command-list '()) + ) + ((or + (closed? (-> obj tasks) (game-task misty-bike) (task-status need-resolution)) + (not (closed? (-> obj tasks) (game-task misty-bike) (task-status need-introduction))) + ) + (new 'static 'spool-anim :name "assistant-reminder-1-blue-eco-switch" :index 11 :parts 3 :command-list '()) + ) + ((zero? (get-reminder (-> obj tasks) 2)) + (if arg0 + (save-reminder (-> obj tasks) 1 2) + ) + (new 'static 'spool-anim :name "assistant-reminder-1-race-bike" :index 13 :parts 3 :command-list '()) + ) + (else + (if arg0 + (save-reminder (-> obj tasks) 0 2) + ) + (new 'static 'spool-anim :name "assistant-reminder-1-blue-eco-switch" :index 11 :parts 3 :command-list '()) + ) ) - ) - (new 'static 'spool-anim - :name "assistant-reminder-1-blue-eco-switch" - :index 11 - :parts 3 - :command-list '() - ) - ) - ((zero? (get-reminder (-> obj tasks) 2)) - (if arg0 - (save-reminder (-> obj tasks) 1 2) - ) - (new 'static 'spool-anim - :name "assistant-reminder-1-race-bike" - :index 13 - :parts 3 - :command-list '() - ) ) (else - (if arg0 - (save-reminder (-> obj tasks) 0 2) + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 3) ) - (new 'static 'spool-anim - :name "assistant-reminder-1-blue-eco-switch" - :index 11 - :parts 3 - :command-list '() - ) - ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 3) - ) ) - ) ) ;; definition for method 31 of type assistant @@ -335,70 +197,35 @@ ;; definition for method 43 of type assistant (defmethod TODO-RENAME-43 assistant ((obj assistant)) - (let - ((s5-0 - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - ) - ) - (when s5-0 - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) + (let ((s5-0 (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj))) + (when s5-0 + (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-3 (the-as number (logior #x3f800000 v1-2))) + (f0-2 (+ -1.0 (the-as float v1-3))) + ) + (cond + ((< 16384.0 (-> s5-0 y)) + #f ) - (cond - ((< 16384.0 (-> s5-0 y)) - #f - ) - ((< 0.8 f0-2) - (play-ambient - (-> obj ambient) - "ASSTLP01" - #f - (-> obj root-override trans) + ((< 0.8 f0-2) + (play-ambient (-> obj ambient) "ASSTLP01" #f (-> obj root-override trans)) + ) + ((< 0.6 f0-2) + (play-ambient (-> obj ambient) "ASSTLP04" #f (-> obj root-override trans)) + ) + ((< 0.4 f0-2) + (play-ambient (-> obj ambient) "ASSTLP05" #f (-> obj root-override trans)) + ) + ((< 0.2 f0-2) + (play-ambient (-> obj ambient) "ASSTLP02" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "ASSTLP03" #f (-> obj root-override trans)) + ) + ) ) - ) - ((< 0.6 f0-2) - (play-ambient - (-> obj ambient) - "ASSTLP04" - #f - (-> obj root-override trans) - ) - ) - ((< 0.4 f0-2) - (play-ambient - (-> obj ambient) - "ASSTLP05" - #f - (-> obj root-override trans) - ) - ) - ((< 0.2 f0-2) - (play-ambient - (-> obj ambient) - "ASSTLP02" - #f - (-> obj root-override trans) - ) - ) - (else - (play-ambient - (-> obj ambient) - "ASSTLP03" - #f - (-> obj root-override trans) - ) - ) ) - ) ) - ) ) ;; failed to figure out what this is: @@ -406,615 +233,389 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (ja-channel-push! 1 60) - ) - (while #t - (TODO-RENAME-43 self) - (let ((v1-9 (-> self skel root-channel 0))) - (set! - (-> v1-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - (let* ((v1-11 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-12 (the-as number (logior #x3f800000 v1-11))) - ) - (countdown (gp-0 (+ (the int (+ -1.0 (the-as float v1-12))) 2)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-12 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (let* ((v1-46 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-47 (the-as number (logior #x3f800000 v1-46))) - ) - (cond - ((< (+ -1.0 (the-as float v1-47)) 0.66) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-17 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 param 0) - (the float (+ (-> a0-18 frame-group data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (sound-play-by-name - (static-sound-name "welding-loop") - (-> self sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol (target-pos 0)) - ) - (let ((v1-74 (-> self skel root-channel 0))) - (set! - (-> v1-74 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - ) - (let* ((f30-0 4.0) - (v1-76 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-77 (the-as number (logior #x3f800000 v1-76))) + (-> self draw art-group data 3) ) - (countdown - (gp-2 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-77)))) 4)) - (let ((a0-28 (-> self skel root-channel 0))) - (set! (-> a0-28 frame-group) (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - ) - (set! - (-> a0-28 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-28 param 1) 1.0) - (set! (-> a0-28 frame-num) 0.0) - (joint-control-channel-group! - a0-28 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (spawn - (-> self part) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data 30) - ) - ) - (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! - (-> a0-31 param 0) - (the float (+ (-> a0-31 frame-group data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! - a0-31 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-33 (-> self skel root-channel 0))) - (set! (-> a0-33 frame-group) (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - ) - (set! (-> a0-33 param 0) 0.0) - (set! (-> a0-33 param 1) 1.0) - (set! - (-> a0-33 frame-num) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-33 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (spawn - (-> self part) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data 30) - ) - ) - (suspend) - (let ((a0-36 (-> self skel root-channel 0))) - (set! (-> a0-36 param 0) 0.0) - (set! (-> a0-36 param 1) 1.0) - (joint-control-channel-group-eval! - a0-36 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (ja-channel-push! 1 60) ) - (sound-stop (-> self sound-id)) - (let ((a0-39 (-> self skel root-channel 0))) - (set! - (-> a0-39 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! (-> a0-39 param 0) 0.0) - (set! (-> a0-39 param 1) 1.0) - (set! - (-> a0-39 frame-num) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-39 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) + (while #t + (TODO-RENAME-43 self) + (let ((v1-9 (-> self skel root-channel 0))) + (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) ) - (until (ja-done? 0) - (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) 0.0) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! - a0-40 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let* ((v1-159 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-160 (the-as number (logior #x3f800000 v1-159))) - ) - (when (< (+ -1.0 (the-as float v1-160)) 0.66) - (let ((a0-44 (-> self skel root-channel 0))) - (set! - (-> a0-44 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-44 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length - ) - -1 + (let* ((v1-11 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-12 (the-as number (logior #x3f800000 v1-11))) ) - ) - ) - (set! (-> a0-44 param 1) 1.0) - (set! (-> a0-44 frame-num) 0.0) - (joint-control-channel-group! - a0-44 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-45 (-> self skel root-channel 0))) - (set! - (-> a0-45 param 0) - (the float (+ (-> a0-45 frame-group data 0 length) -1)) - ) - (set! (-> a0-45 param 1) 1.0) - (joint-control-channel-group-eval! - a0-45 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - ) - (else - (let ((a0-47 (-> self skel root-channel 0))) - (set! - (-> a0-47 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-47 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-47 param 1) 1.0) - (set! (-> a0-47 frame-num) 0.0) - (joint-control-channel-group! - a0-47 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-48 (-> self skel root-channel 0))) - (set! - (-> a0-48 param 0) - (the float (+ (-> a0-48 frame-group data 0 length) -1)) - ) - (set! (-> a0-48 param 1) 1.0) - (joint-control-channel-group-eval! - a0-48 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let* ((v1-208 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-209 (the-as number (logior #x3f800000 v1-208))) + (countdown (gp-0 (+ (the int (+ -1.0 (the-as float v1-12))) 2)) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! + a0-12 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! ) - (countdown (gp-3 (+ (the int (+ -1.0 (the-as float v1-209))) 1)) - (let ((a0-52 (-> self skel root-channel 0))) - (set! - (-> a0-52 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-52 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + ) + (until (ja-done? 0) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) ) - -1 + ) + ) + ) + (let* ((v1-46 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-47 (the-as number (logior #x3f800000 v1-46))) ) + (cond + ((< (+ -1.0 (the-as float v1-47)) 0.66) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-17 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-17 param 1) 1.0) + (set! (-> a0-17 frame-num) 0.0) + (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) + (set! (-> a0-18 param 1) 1.0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (sound-play-by-name + (static-sound-name "welding-loop") + (-> self sound-id) + 1024 + 0 + 0 + 1 + (the-as symbol (target-pos 0)) + ) + (let ((v1-74 (-> self skel root-channel 0))) + (set! (-> v1-74 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + ) + (let* ((f30-0 4.0) + (v1-76 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-77 (the-as number (logior #x3f800000 v1-76))) + ) + (countdown (gp-2 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-77)))) 4)) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-28 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-28 param 1) 1.0) + (set! (-> a0-28 frame-num) 0.0) + (joint-control-channel-group! + a0-28 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (suspend) + (let ((a0-31 (-> self skel root-channel 0))) + (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) + (set! (-> a0-31 param 1) 1.0) + (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-33 (-> self skel root-channel 0))) + (set! (-> a0-33 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-33 param 0) 0.0) + (set! (-> a0-33 param 1) 1.0) + (set! (-> a0-33 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (joint-control-channel-group! + a0-33 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (suspend) + (let ((a0-36 (-> self skel root-channel 0))) + (set! (-> a0-36 param 0) 0.0) + (set! (-> a0-36 param 1) 1.0) + (joint-control-channel-group-eval! a0-36 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (sound-stop (-> self sound-id)) + (let ((a0-39 (-> self skel root-channel 0))) + (set! (-> a0-39 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-39 param 0) 0.0) + (set! (-> a0-39 param 1) 1.0) + (set! (-> a0-39 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (joint-control-channel-group! a0-39 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-40 (-> self skel root-channel 0))) + (set! (-> a0-40 param 0) 0.0) + (set! (-> a0-40 param 1) 1.0) + (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let* ((v1-159 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-160 (the-as number (logior #x3f800000 v1-159))) + ) + (when (< (+ -1.0 (the-as float v1-160)) 0.66) + (let ((a0-44 (-> self skel root-channel 0))) + (set! (-> a0-44 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-44 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-44 param 1) 1.0) + (set! (-> a0-44 frame-num) 0.0) + (joint-control-channel-group! a0-44 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-45 (-> self skel root-channel 0))) + (set! (-> a0-45 param 0) (the float (+ (-> a0-45 frame-group data 0 length) -1))) + (set! (-> a0-45 param 1) 1.0) + (joint-control-channel-group-eval! a0-45 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + ) + (else + (let ((a0-47 (-> self skel root-channel 0))) + (set! (-> a0-47 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-47 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-47 param 1) 1.0) + (set! (-> a0-47 frame-num) 0.0) + (joint-control-channel-group! a0-47 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-48 (-> self skel root-channel 0))) + (set! (-> a0-48 param 0) (the float (+ (-> a0-48 frame-group data 0 length) -1))) + (set! (-> a0-48 param 1) 1.0) + (joint-control-channel-group-eval! a0-48 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let* ((v1-208 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-209 (the-as number (logior #x3f800000 v1-208))) + ) + (countdown (gp-3 (+ (the int (+ -1.0 (the-as float v1-209))) 1)) + (let ((a0-52 (-> self skel root-channel 0))) + (set! (-> a0-52 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-52 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-52 param 1) 1.0) + (set! (-> a0-52 frame-num) 0.0) + (joint-control-channel-group! a0-52 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-53 (-> self skel root-channel 0))) + (set! (-> a0-53 param 0) (the float (+ (-> a0-53 frame-group data 0 length) -1))) + (set! (-> a0-53 param 1) 1.0) + (joint-control-channel-group-eval! a0-53 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (let ((a0-55 (-> self skel root-channel 0))) + (set! (-> a0-55 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-55 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-55 param 1) 1.0) + (set! (-> a0-55 frame-num) 0.0) + (joint-control-channel-group! a0-55 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-56 (-> self skel root-channel 0))) + (set! (-> a0-56 param 0) (the float (+ (-> a0-56 frame-group data 0 length) -1))) + (set! (-> a0-56 param 1) 1.0) + (joint-control-channel-group-eval! a0-56 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - ) - (set! (-> a0-52 param 1) 1.0) - (set! (-> a0-52 frame-num) 0.0) - (joint-control-channel-group! - a0-52 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-53 (-> self skel root-channel 0))) - (set! - (-> a0-53 param 0) - (the float (+ (-> a0-53 frame-group data 0 length) -1)) - ) - (set! (-> a0-53 param 1) 1.0) - (joint-control-channel-group-eval! - a0-53 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) ) - (let ((a0-55 (-> self skel root-channel 0))) - (set! - (-> a0-55 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-55 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-55 param 1) 1.0) - (set! (-> a0-55 frame-num) 0.0) - (joint-control-channel-group! - a0-55 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-56 (-> self skel root-channel 0))) - (set! - (-> a0-56 param 0) - (the float (+ (-> a0-56 frame-group data 0 length) -1)) - ) - (set! (-> a0-56 param 1) 1.0) - (joint-control-channel-group-eval! - a0-56 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 122) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-assistant-torch" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 365 :fade-after (meters 30.0) :falloff-to (meters 30.0)) - (sp-item 366 :fade-after (meters 60.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 61440.0) - ) - ) +(set! (-> *part-group-id-table* 122) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-assistant-torch" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 365 :fade-after (meters 30.0) :falloff-to (meters 30.0)) + (sp-item 366 :fade-after (meters 60.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 61440.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 365) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 80.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-fade-a -6.4) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 365) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 80.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-fade-a -6.4) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 366) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters -0.00016666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.2) - (sp-flt spt-fade-b -0.2) - (sp-flt spt-accel-y -8.192) - (sp-flt spt-friction 0.93) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2) - (sp-flt spt-userdata 140288.0) - (sp-func spt-func 'check-drop-level-assistant) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 45.0) (degrees 180.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 366) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters -0.00016666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.2) + (sp-flt spt-fade-b -0.2) + (sp-flt spt-accel-y -8.192) + (sp-flt spt-friction 0.93) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2) + (sp-flt spt-userdata 140288.0) + (sp-func spt-func 'check-drop-level-assistant) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 45.0) (degrees 180.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 367) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 3.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-flt spt-g 96.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.011666667) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a -0.85333335) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 50.000004) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 367) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 3.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-flt spt-g 96.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.011666667) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a -0.85333335) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 50.000004) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition for function check-drop-level-assistant -(defun - check-drop-level-assistant - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-assistant ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name - (static-sound-name "water-drop") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-2 (the-as number (logior #x3f800000 v1-1))) + ) + (if (< (+ -1.0 (the-as float v1-2)) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) + ) + (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 367) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - ) - (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 367) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) ) - ) (none) ) @@ -1022,21 +623,18 @@ (defmethod init-from-entity! assistant ((obj assistant) (arg0 entity-actor)) (dummy-40 obj arg0 *assistant-sg* 3 31 (new 'static 'vector :w 4096.0) 5) (set! (-> obj bounce-away) #f) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 122) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 122) obj)) (set! (-> obj tasks) (get-task-control (game-task jungle-eggtop))) (set! (-> obj sound-id) (new-sound-id)) (set! (-> obj draw light-index) (the-as uint 1)) - (case (get-task-status (game-task firecanyon-assistant)) - (((task-status unknown)) + (case (get-task-status (game-task firecanyon-assistant)) + (((task-status unknown)) (go (method-of-object obj idle)) ) - (else - (dummy-18 obj) - (deactivate obj) + (else + (dummy-18 obj) + (deactivate obj) + ) ) - ) (none) ) diff --git a/test/decompiler/reference/levels/village1/explorer_REF.gc b/test/decompiler/reference/levels/village1/explorer_REF.gc index 36ea57830f..1098ad4da8 100644 --- a/test/decompiler/reference/levels/village1/explorer_REF.gc +++ b/test/decompiler/reference/levels/village1/explorer_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type explorer (defmethod inspect explorer ((obj explorer)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -32,20 +32,20 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 explorer ((obj explorer)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -4096.0 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -4096.0 f0-0))) + ) + 0 + (let ((a0-4 v1-1)) + (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) + ) + ) + 0 + (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - 0 - (let ((a0-4 v1-1)) - (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) - ) - ) - 0 - (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - ) (none) ) @@ -53,148 +53,105 @@ (defmethod draw-npc-shadow explorer ((obj explorer)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) ;; definition for method 32 of type explorer (defmethod play-anim! explorer ((obj explorer) (arg0 symbol)) (set! (-> obj talk-message) (the-as uint 260)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) (if arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) (new 'static 'spool-anim - :name "explorer-introduction" - :index 9 - :parts 11 - :command-list - '( - ((the binteger 418) - joint - "cameraB" - ) - ((the binteger 695) - shadow - self - #f + :name "explorer-introduction" + :index 9 + :parts 11 + :command-list + '(((the binteger 418) joint "cameraB") + ((the binteger 695) shadow self #f) + ((the binteger 695) joint "camera") + ((the binteger 838) shadow self #t) + ((the binteger 838) joint "cameraB") ) - ((the binteger 695) - joint - "camera" - ) - ((the binteger 838) shadow self #t) ((the binteger 838) joint "cameraB") - ) - ) - ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (cond - ((zero? (get-reminder (-> obj tasks) 0)) - (if arg0 - (save-reminder (-> obj tasks) 1 0) ) - (new 'static 'spool-anim - :name "explorer-reminder-1" - :index 10 + ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (cond + ((zero? (get-reminder (-> obj tasks) 0)) + (if arg0 + (save-reminder (-> obj tasks) 1 0) + ) + (new 'static 'spool-anim + :name "explorer-reminder-1" + :index 10 + :parts 5 + :command-list + '((0 send-event target draw #f) + ((the binteger 148) send-event target draw #t) + ((the binteger 148) joint "cameraB") + ((the binteger 390) send-event target draw #f) + ((the binteger 390) joint "camera") + ((the binteger 505) send-event target draw #t) + ) + ) + ) + (else + (if arg0 + (save-reminder (-> obj tasks) 0 0) + ) + (new 'static 'spool-anim :name "explorer-reminder-2" :index 11 :parts 3 :command-list '()) + ) + ) + ) + (((task-status need-reward-speech)) + (cond + (arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + ) + (else + (set! (-> obj will-talk) #t) + (set! (-> obj talk-message) (the-as uint 282)) + ) + ) + (new 'static 'spool-anim + :name "explorer-resolution" + :index 12 :parts 5 :command-list - '( - (0 - send-event - target - draw - #f - ) - ((the binteger 148) - send-event - target - draw - #t - ) - ((the binteger 148) - joint - "cameraB" - ) - ((the binteger 390) - send-event - target - draw - #f - ) - ((the binteger 390) - joint - "camera" - ) - ((the binteger 505) send-event target draw #t) - ) + '(((the binteger 167) joint "cameraB") ((the binteger 310) joint "camera")) ) - ) - (else + ) + (else (if arg0 - (save-reminder (-> obj tasks) 0 0) - ) - (new 'static 'spool-anim - :name "explorer-reminder-2" - :index 11 - :parts 3 - :command-list '() - ) + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 3) ) - ) ) - (((task-status need-reward-speech)) - (cond - (arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) - ) - (else - (set! (-> obj will-talk) #t) - (set! (-> obj talk-message) (the-as uint 282)) - ) - ) - (new 'static 'spool-anim - :name "explorer-resolution" - :index 12 - :parts 5 - :command-list - '( - ((the binteger 167) joint "cameraB") ((the binteger 310) joint "camera") - ) - ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 3) - ) - ) ) ;; definition for method 31 of type explorer @@ -204,84 +161,46 @@ ;; definition for method 43 of type explorer (defmethod TODO-RENAME-43 explorer ((obj explorer)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.85714287 f0-2) + (play-ambient (-> obj ambient) "EXP-AM05" #f (-> obj root-override trans)) + ) + ((< 0.71428573 f0-2) + (if (not (closed? (-> obj tasks) (game-task village1-uncle-money) (task-status need-reminder))) + (play-ambient (-> obj ambient) "EXP-LO02" #f (-> obj root-override trans)) + ) + ) + ((< 0.5714286 f0-2) + (play-ambient (-> obj ambient) "EXP-AM04" #f (-> obj root-override trans)) + ) + ((< 0.42857143 f0-2) + (play-ambient (-> obj ambient) "EXP-AM03" #f (-> obj root-override trans)) + ) + ((< 0.2857143 f0-2) + (play-ambient (-> obj ambient) "EXP-AM02" #f (-> obj root-override trans)) + ) + ((< 0.14285715 f0-2) + (if (not (closed? (-> obj tasks) (game-task village1-uncle-money) (task-status need-reminder))) + (play-ambient (-> obj ambient) "EXP-AM01" #f (-> obj root-override trans)) + ) + ) + (else + (play-ambient (-> obj ambient) "EXP-LO1A" #f (-> obj root-override trans)) ) - (cond - ((< 0.85714287 f0-2) - (play-ambient (-> obj ambient) "EXP-AM05" #f (-> obj root-override trans)) - ) - ((< 0.71428573 f0-2) - (if - (not - (closed? - (-> obj tasks) - (game-task village1-uncle-money) - (task-status need-reminder) - ) ) - (play-ambient - (-> obj ambient) - "EXP-LO02" - #f - (-> obj root-override trans) - ) - ) ) - ((< 0.5714286 f0-2) - (play-ambient (-> obj ambient) "EXP-AM04" #f (-> obj root-override trans)) - ) - ((< 0.42857143 f0-2) - (play-ambient (-> obj ambient) "EXP-AM03" #f (-> obj root-override trans)) - ) - ((< 0.2857143 f0-2) - (play-ambient (-> obj ambient) "EXP-AM02" #f (-> obj root-override trans)) - ) - ((< 0.14285715 f0-2) - (if - (not - (closed? - (-> obj tasks) - (game-task village1-uncle-money) - (task-status need-reminder) - ) - ) - (play-ambient - (-> obj ambient) - "EXP-AM01" - #f - (-> obj root-override trans) - ) - ) - ) - (else - (play-ambient (-> obj ambient) "EXP-LO1A" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; definition for method 47 of type explorer ;; INFO: Return type mismatch basic vs symbol. (defmethod target-above-threshold? explorer ((obj explorer)) - (the-as - symbol - (and - *target* - (< (-> (target-pos 0) x) -202752.0) - (< 98304.0 (-> (target-pos 0) z)) - ) - ) + (the-as symbol (and *target* (< (-> (target-pos 0) x) -202752.0) (< 98304.0 (-> (target-pos 0) z)))) ) ;; failed to figure out what this is: @@ -289,679 +208,366 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 3) - ) - (ja-channel-push! 1 60) - ) - (while #t - (TODO-RENAME-43 self) - (let ((v1-9 (-> self skel root-channel 0))) - (set! - (-> v1-9 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - (let* ((f30-0 2.0) - (v1-11 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-12 (the-as number (logior #x3f800000 v1-11))) - ) - (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-12)))) 1)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-12 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (let* ((v1-40 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-41 (the-as number (logior #x3f800000 v1-40))) - ) - (cond - ((< (+ -1.0 (the-as float v1-41)) 0.5) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-17 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-17 param 1) 1.0) - (set! (-> a0-17 frame-num) 0.0) - (joint-control-channel-group! - a0-17 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 param 0) - (the float (+ (-> a0-18 frame-group data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-1 (-> *display* base-frame-counter))) - (while (let* ((s5-0 (-> *display* base-frame-counter)) - (f30-1 300.0) - (f28-0 0.5) - (f26-0 0.5) - (v1-68 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) - ) - (v1-69 (the-as number (logior #x3f800000 v1-68))) - ) - (< - (- - s5-0 - (the - int - (* f30-1 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-69))))) - ) - ) - gp-1 - ) - ) - (suspend) - ) - ) - (let* ((v1-75 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-76 (the-as number (logior #x3f800000 v1-75))) - ) - (when (< (+ -1.0 (the-as float v1-76)) 0.75) - (let ((a0-24 (-> self skel root-channel 0))) - (set! - (-> a0-24 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-24 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-24 param 1) 1.0) - (set! (-> a0-24 frame-num) 0.0) - (joint-control-channel-group! - a0-24 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-25 (-> self skel root-channel 0))) - (set! - (-> a0-25 param 0) - (the float (+ (-> a0-25 frame-group data 0 length) -1)) - ) - (set! (-> a0-25 param 1) 1.0) - (joint-control-channel-group-eval! - a0-25 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-2 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-2 300.0) - (f28-1 0.5) - (f26-1 0.5) - (v1-104 - (/ - (the-as int (rand-uint31-gen *random-generator*)) - 256 - ) - ) - (v1-105 (the-as number (logior #x3f800000 v1-104))) - ) - (< - (- - s5-1 - (the - int - (* - f30-2 - (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-105)))) - ) - ) + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) ) - gp-2 - ) - ) - (suspend) - ) - ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! (-> a0-29 frame-group) (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - ) - (set! (-> a0-29 param 0) 0.0) - (set! (-> a0-29 param 1) 1.0) - (set! - (-> a0-29 frame-num) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-29 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 0.0) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! - a0-30 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let* - ((v1-135 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-136 (the-as number (logior #x3f800000 v1-135))) - ) - (when (< (+ -1.0 (the-as float v1-136)) 0.5) - (let ((a0-34 (-> self skel root-channel 0))) - (set! - (-> a0-34 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-34 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length - ) - -1 - ) + (-> self draw art-group data 3) ) + (ja-channel-push! 1 60) + ) + (while #t + (TODO-RENAME-43 self) + (let ((v1-9 (-> self skel root-channel 0))) + (set! (-> v1-9 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) + (let* ((f30-0 2.0) + (v1-11 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-12 (the-as number (logior #x3f800000 v1-11))) ) - (set! (-> a0-34 param 1) 1.0) - (set! (-> a0-34 frame-num) 0.0) - (joint-control-channel-group! - a0-34 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) + (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-12)))) 1)) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-12 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! a0-12 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - (until (ja-done? 0) + (until (ja-done? 0) (suspend) - (let ((a0-35 (-> self skel root-channel 0))) - (set! - (-> a0-35 param 0) - (the float (+ (-> a0-35 frame-group data 0 length) -1)) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-35 param 1) 1.0) - (joint-control-channel-group-eval! - a0-35 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - (let ((gp-3 (-> *display* base-frame-counter))) - (while (let* ((s5-2 (-> *display* base-frame-counter)) - (f30-3 300.0) - (f28-2 0.5) - (f26-2 0.5) - (v1-164 - (/ - (the-as int (rand-uint31-gen *random-generator*)) - 256 - ) - ) - (v1-165 (the-as number (logior #x3f800000 v1-164))) - ) - (< - (- - s5-2 - (the - int - (* - f30-3 - (+ f28-2 (* f26-2 (+ -1.0 (the-as float v1-165)))) - ) - ) - ) - gp-3 - ) - ) + ) + ) + (let* ((v1-40 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-41 (the-as number (logior #x3f800000 v1-40))) + ) + (cond + ((< (+ -1.0 (the-as float v1-41)) 0.5) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-17 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-17 param 1) 1.0) + (set! (-> a0-17 frame-num) 0.0) + (joint-control-channel-group! a0-17 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) (suspend) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) + (set! (-> a0-18 param 1) 1.0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) - (let ((a0-39 (-> self skel root-channel 0))) - (set! - (-> a0-39 frame-group) - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-39 param 0) 0.0) - (set! (-> a0-39 param 1) 1.0) - (set! - (-> a0-39 frame-num) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-39 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 param 0) 0.0) - (set! (-> a0-40 param 1) 1.0) - (joint-control-channel-group-eval! - a0-40 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - ) - ) - (let ((a0-42 (-> self skel root-channel 0))) - (set! - (-> a0-42 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! (-> a0-42 param 0) 0.0) - (set! (-> a0-42 param 1) 1.0) - (set! - (-> a0-42 frame-num) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-42 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) 0.0) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((a0-45 (-> self skel root-channel 0))) - (set! - (-> a0-45 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-45 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! - a0-45 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-46 (-> self skel root-channel 0))) - (set! - (-> a0-46 param 0) - (the float (+ (-> a0-46 frame-group data 0 length) -1)) - ) - (set! (-> a0-46 param 1) 1.0) - (joint-control-channel-group-eval! - a0-46 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-4 (-> *display* base-frame-counter))) - (while (let* ((s5-3 (-> *display* base-frame-counter)) - (f30-4 300.0) - (f28-3 0.5) - (f26-3 0.5) - (v1-237 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) - ) - (v1-238 (the-as number (logior #x3f800000 v1-237))) + (let ((gp-1 (-> *display* base-frame-counter))) + (while (let* ((s5-0 (-> *display* base-frame-counter)) + (f30-1 300.0) + (f28-0 0.5) + (f26-0 0.5) + (v1-68 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-69 (the-as number (logior #x3f800000 v1-68))) + ) + (< (- s5-0 (the int (* f30-1 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-69))))))) gp-1) ) - (< - (- - s5-3 - (the - int - (* f30-4 (+ f28-3 (* f26-3 (+ -1.0 (the-as float v1-238))))) - ) + (suspend) + ) + ) + (let* ((v1-75 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-76 (the-as number (logior #x3f800000 v1-75))) ) - gp-4 - ) - ) - (suspend) - ) - ) - (let ((a0-50 (-> self skel root-channel 0))) - (set! - (-> a0-50 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-50 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-50 param 1) 1.0) - (set! (-> a0-50 frame-num) 0.0) - (joint-control-channel-group! - a0-50 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-51 (-> self skel root-channel 0))) - (set! - (-> a0-51 param 0) - (the float (+ (-> a0-51 frame-group data 0 length) -1)) - ) - (set! (-> a0-51 param 1) 1.0) - (joint-control-channel-group-eval! - a0-51 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-5 (-> *display* base-frame-counter))) - (while (let* ((s5-4 (-> *display* base-frame-counter)) - (f30-5 300.0) - (f28-4 0.5) - (f26-4 0.5) - (v1-268 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) + (when (< (+ -1.0 (the-as float v1-76)) 0.75) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-24 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) ) - (v1-269 (the-as number (logior #x3f800000 v1-268))) - ) - (< - (- - s5-4 - (the - int - (* f30-5 (+ f28-4 (* f26-4 (+ -1.0 (the-as float v1-269))))) - ) - ) - gp-5 + (set! (-> a0-24 param 1) 1.0) + (set! (-> a0-24 frame-num) 0.0) + (joint-control-channel-group! a0-24 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) ) - ) - (suspend) - ) - ) - (let ((a0-55 (-> self skel root-channel 0))) - (set! (-> a0-55 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-55 param 0) 0.0) - (set! (-> a0-55 param 1) 1.0) - (set! - (-> a0-55 frame-num) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 + (until (ja-done? 0) + (suspend) + (let ((a0-25 (-> self skel root-channel 0))) + (set! (-> a0-25 param 0) (the float (+ (-> a0-25 frame-group data 0 length) -1))) + (set! (-> a0-25 param 1) 1.0) + (joint-control-channel-group-eval! a0-25 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-2 (-> *display* base-frame-counter))) + (while (let* ((s5-1 (-> *display* base-frame-counter)) + (f30-2 300.0) + (f28-1 0.5) + (f26-1 0.5) + (v1-104 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-105 (the-as number (logior #x3f800000 v1-104))) + ) + (< (- s5-1 (the int (* f30-2 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-105))))))) gp-2) + ) + (suspend) + ) + ) + (let ((a0-29 (-> self skel root-channel 0))) + (set! (-> a0-29 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-29 param 0) 0.0) + (set! (-> a0-29 param 1) 1.0) + (set! (-> a0-29 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (joint-control-channel-group! + a0-29 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 param 0) 0.0) + (set! (-> a0-30 param 1) 1.0) + (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let* ((v1-135 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-136 (the-as number (logior #x3f800000 v1-135))) + ) + (when (< (+ -1.0 (the-as float v1-136)) 0.5) + (let ((a0-34 (-> self skel root-channel 0))) + (set! (-> a0-34 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-34 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-34 param 1) 1.0) + (set! (-> a0-34 frame-num) 0.0) + (joint-control-channel-group! a0-34 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) ) - ) - ) - (joint-control-channel-group! - a0-55 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-56 (-> self skel root-channel 0))) - (set! (-> a0-56 param 0) 0.0) - (set! (-> a0-56 param 1) 1.0) - (joint-control-channel-group-eval! - a0-56 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-6 (-> *display* base-frame-counter))) - (while (let* ((s5-5 (-> *display* base-frame-counter)) - (f30-6 300.0) - (f28-5 0.5) - (f26-5 0.5) - (v1-301 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) + (until (ja-done? 0) + (suspend) + (let ((a0-35 (-> self skel root-channel 0))) + (set! (-> a0-35 param 0) (the float (+ (-> a0-35 frame-group data 0 length) -1))) + (set! (-> a0-35 param 1) 1.0) + (joint-control-channel-group-eval! a0-35 (the-as art-joint-anim #f) num-func-seek!) ) - (v1-302 (the-as number (logior #x3f800000 v1-301))) - ) - (< - (- - s5-5 - (the - int - (* f30-6 (+ f28-5 (* f26-5 (+ -1.0 (the-as float v1-302))))) + ) + (let ((gp-3 (-> *display* base-frame-counter))) + (while (let* ((s5-2 (-> *display* base-frame-counter)) + (f30-3 300.0) + (f28-2 0.5) + (f26-2 0.5) + (v1-164 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-165 (the-as number (logior #x3f800000 v1-164))) + ) + (< (- s5-2 (the int (* f30-3 (+ f28-2 (* f26-2 (+ -1.0 (the-as float v1-165))))))) gp-3) + ) + (suspend) + ) + ) + (let ((a0-39 (-> self skel root-channel 0))) + (set! (-> a0-39 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-39 param 0) 0.0) + (set! (-> a0-39 param 1) 1.0) + (set! (-> a0-39 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (joint-control-channel-group! + a0-39 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-40 (-> self skel root-channel 0))) + (set! (-> a0-40 param 0) 0.0) + (set! (-> a0-40 param 1) 1.0) + (joint-control-channel-group-eval! a0-40 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - ) - gp-6 ) - ) - (suspend) - ) - ) - (let ((a0-60 (-> self skel root-channel 0))) - (set! - (-> a0-60 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-60 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length - ) - -1 + ) + ) + (let ((a0-42 (-> self skel root-channel 0))) + (set! (-> a0-42 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-42 param 0) 0.0) + (set! (-> a0-42 param 1) 1.0) + (set! (-> a0-42 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (joint-control-channel-group! a0-42 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-43 (-> self skel root-channel 0))) + (set! (-> a0-43 param 0) 0.0) + (set! (-> a0-43 param 1) 1.0) + (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) + (else + (let ((a0-45 (-> self skel root-channel 0))) + (set! (-> a0-45 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-45 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-45 param 1) 1.0) + (set! (-> a0-45 frame-num) 0.0) + (joint-control-channel-group! a0-45 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-46 (-> self skel root-channel 0))) + (set! (-> a0-46 param 0) (the float (+ (-> a0-46 frame-group data 0 length) -1))) + (set! (-> a0-46 param 1) 1.0) + (joint-control-channel-group-eval! a0-46 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-4 (-> *display* base-frame-counter))) + (while (let* ((s5-3 (-> *display* base-frame-counter)) + (f30-4 300.0) + (f28-3 0.5) + (f26-3 0.5) + (v1-237 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-238 (the-as number (logior #x3f800000 v1-237))) + ) + (< (- s5-3 (the int (* f30-4 (+ f28-3 (* f26-3 (+ -1.0 (the-as float v1-238))))))) gp-4) + ) + (suspend) + ) + ) + (let ((a0-50 (-> self skel root-channel 0))) + (set! (-> a0-50 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-50 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-50 param 1) 1.0) + (set! (-> a0-50 frame-num) 0.0) + (joint-control-channel-group! a0-50 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-51 (-> self skel root-channel 0))) + (set! (-> a0-51 param 0) (the float (+ (-> a0-51 frame-group data 0 length) -1))) + (set! (-> a0-51 param 1) 1.0) + (joint-control-channel-group-eval! a0-51 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-5 (-> *display* base-frame-counter))) + (while (let* ((s5-4 (-> *display* base-frame-counter)) + (f30-5 300.0) + (f28-4 0.5) + (f26-4 0.5) + (v1-268 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-269 (the-as number (logior #x3f800000 v1-268))) + ) + (< (- s5-4 (the int (* f30-5 (+ f28-4 (* f26-4 (+ -1.0 (the-as float v1-269))))))) gp-5) + ) + (suspend) + ) + ) + (let ((a0-55 (-> self skel root-channel 0))) + (set! (-> a0-55 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-55 param 0) 0.0) + (set! (-> a0-55 param 1) 1.0) + (set! (-> a0-55 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (joint-control-channel-group! + a0-55 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-56 (-> self skel root-channel 0))) + (set! (-> a0-56 param 0) 0.0) + (set! (-> a0-56 param 1) 1.0) + (joint-control-channel-group-eval! a0-56 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-6 (-> *display* base-frame-counter))) + (while (let* ((s5-5 (-> *display* base-frame-counter)) + (f30-6 300.0) + (f28-5 0.5) + (f26-5 0.5) + (v1-301 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-302 (the-as number (logior #x3f800000 v1-301))) + ) + (< (- s5-5 (the int (* f30-6 (+ f28-5 (* f26-5 (+ -1.0 (the-as float v1-302))))))) gp-6) + ) + (suspend) + ) + ) + (let ((a0-60 (-> self skel root-channel 0))) + (set! (-> a0-60 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-60 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-60 param 1) 1.0) + (set! (-> a0-60 frame-num) 0.0) + (joint-control-channel-group! a0-60 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-61 (-> self skel root-channel 0))) + (set! (-> a0-61 param 0) (the float (+ (-> a0-61 frame-group data 0 length) -1))) + (set! (-> a0-61 param 1) 1.0) + (joint-control-channel-group-eval! a0-61 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - ) - (set! (-> a0-60 param 1) 1.0) - (set! (-> a0-60 frame-num) 0.0) - (joint-control-channel-group! - a0-60 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-61 (-> self skel root-channel 0))) - (set! - (-> a0-61 param 0) - (the float (+ (-> a0-61 frame-group data 0 length) -1)) - ) - (set! (-> a0-61 param 1) 1.0) - (joint-control-channel-group-eval! - a0-61 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 11 of type explorer diff --git a/test/decompiler/reference/levels/village1/farmer_REF.gc b/test/decompiler/reference/levels/village1/farmer_REF.gc index a539d60b82..2dc227ef84 100644 --- a/test/decompiler/reference/levels/village1/farmer_REF.gc +++ b/test/decompiler/reference/levels/village1/farmer_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type farmer (defmethod inspect farmer ((obj farmer)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -30,158 +30,126 @@ ;; definition for method 32 of type farmer (defmethod play-anim! farmer ((obj farmer) (arg0 symbol)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) (if arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "farmer-introduction" - :index 6 - :parts 5 - :command-list '() - ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim :name "farmer-introduction" :index 6 :parts 5 :command-list '()) ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (cond - ((zero? (get-reminder (-> obj tasks) 0)) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (cond + ((zero? (get-reminder (-> obj tasks) 0)) + (if arg0 + (save-reminder (-> obj tasks) 1 0) + ) + (new 'static 'spool-anim :name "farmer-reminder-1" :index 7 :parts 2 :command-list '()) + ) + (else + (if arg0 + (save-reminder (-> obj tasks) 0 0) + ) + (new 'static 'spool-anim :name "farmer-reminder-2" :index 8 :parts 2 :command-list '()) + ) + ) + ) + (((task-status need-reward-speech)) + (when arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + ) + (new 'static 'spool-anim :name "farmer-resolution" :index 9 :parts 4 :command-list '()) + ) + (else (if arg0 - (save-reminder (-> obj tasks) 1 0) - ) - (new 'static 'spool-anim - :name "farmer-reminder-1" - :index 7 - :parts 2 - :command-list '() - ) + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 4) ) - (else - (if arg0 - (save-reminder (-> obj tasks) 0 0) - ) - (new 'static 'spool-anim - :name "farmer-reminder-2" - :index 8 - :parts 2 - :command-list '() - ) - ) - ) ) - (((task-status need-reward-speech)) - (when arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - ) - (new 'static 'spool-anim - :name "farmer-resolution" - :index 9 - :parts 4 - :command-list '() - ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 4) - ) - ) ) ;; definition for method 31 of type farmer (defmethod get-art-elem farmer ((obj farmer)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) - (task-status need-introduction) - (task-status need-resolution) - (task-status invalid) - ) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction) (task-status need-resolution) (task-status invalid)) (-> obj draw art-group data 4) ) - (else - (-> obj draw art-group data 5) + (else + (-> obj draw art-group data 5) + ) ) - ) ) ;; definition for method 43 of type farmer (defmethod TODO-RENAME-43 farmer ((obj farmer)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.8333333 f0-2) + (play-ambient (-> obj ambient) "FAR-LO1A" #f (-> obj root-override trans)) + ) + ((< 0.6666667 f0-2) + (play-ambient (-> obj ambient) "FAR-AM01" #f (-> obj root-override trans)) + ) + ((< 0.5 f0-2) + #f + ) + ((< 0.33333334 f0-2) + (play-ambient (-> obj ambient) "FAR-AM2A" #f (-> obj root-override trans)) + ) + ((< 0.16666667 f0-2) + (play-ambient (-> obj ambient) "FAR-AM02" #f (-> obj root-override trans)) + ) + (else + #f ) - (cond - ((< 0.8333333 f0-2) - (play-ambient (-> obj ambient) "FAR-LO1A" #f (-> obj root-override trans)) + ) ) - ((< 0.6666667 f0-2) - (play-ambient (-> obj ambient) "FAR-AM01" #f (-> obj root-override trans)) - ) - ((< 0.5 f0-2) - #f - ) - ((< 0.33333334 f0-2) - (play-ambient (-> obj ambient) "FAR-AM2A" #f (-> obj root-override trans)) - ) - ((< 0.16666667 f0-2) - (play-ambient (-> obj ambient) "FAR-AM02" #f (-> obj root-override trans)) - ) - (else - #f - ) - ) ) - ) ) ;; definition for method 41 of type farmer ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision farmer ((obj farmer) (arg0 int) (arg1 vector)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set-vector! (-> s4-0 local-sphere) 4096.0 8192.0 -4096.0 12288.0) - (set-root-prim! s5-0 s4-0) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set-vector! (-> s3-0 local-sphere) 4096.0 6144.0 -4096.0 8192.0) - (append-prim s4-0 s3-0) - ) - (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 4) - (set-vector! (-> s3-1 local-sphere) 4096.0 10240.0 -4096.0 8192.0) - (append-prim s4-0 s3-1) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set-vector! (-> s4-0 local-sphere) 4096.0 8192.0 -4096.0 12288.0) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set-vector! (-> s3-0 local-sphere) 4096.0 6144.0 -4096.0 8192.0) + (append-prim s4-0 s3-0) + ) + (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 4) + (set-vector! (-> s3-1 local-sphere) 4096.0 10240.0 -4096.0 8192.0) + (append-prim s4-0 s3-1) + ) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) diff --git a/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc b/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc index 6cf34455d6..27110d21a6 100644 --- a/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc +++ b/test/decompiler/reference/levels/village1/fishermans-boat_REF.gc @@ -2,35 +2,33 @@ (in-package goal) ;; definition for symbol *fishermans-boat-constants*, type rigid-body-platform-constants -(define - *fishermans-boat-constants* - (new 'static 'rigid-body-platform-constants - :drag-factor 2.0 - :buoyancy-factor 1.5 - :max-buoyancy-depth (meters 1.0) - :gravity-factor 1.0 - :gravity (meters 80.0) - :player-weight (meters 40.0) - :player-bonk-factor 1.0 - :player-dive-factor 1.0 - :player-force-distance (meters 10.0) - :player-force-clamp (meters 1000000.0) - :player-force-timeout #x1e - :explosion-force (meters 1000.0) - :linear-damping 1.0 - :angular-damping 1.0 - :control-point-count 6 - :mass 2.0 - :inertial-tensor-x (meters 4.0) - :inertial-tensor-y (meters 10.0) - :inertial-tensor-z (meters 15.0) - :cm-joint-y (meters 3.0) - :cm-joint-z (meters 1.0) - :idle-distance (meters 50.0) - :platform #t - :sound-name #f - ) - ) +(define *fishermans-boat-constants* (new 'static 'rigid-body-platform-constants + :drag-factor 2.0 + :buoyancy-factor 1.5 + :max-buoyancy-depth (meters 1.0) + :gravity-factor 1.0 + :gravity (meters 80.0) + :player-weight (meters 40.0) + :player-bonk-factor 1.0 + :player-dive-factor 1.0 + :player-force-distance (meters 10.0) + :player-force-clamp (meters 1000000.0) + :player-force-timeout #x1e + :explosion-force (meters 1000.0) + :linear-damping 1.0 + :angular-damping 1.0 + :control-point-count 6 + :mass 2.0 + :inertial-tensor-x (meters 4.0) + :inertial-tensor-y (meters 10.0) + :inertial-tensor-z (meters 15.0) + :cm-joint-y (meters 3.0) + :cm-joint-z (meters 1.0) + :idle-distance (meters 50.0) + :platform #t + :sound-name #f + ) + ) ;; definition of type boat-stabilizer (deftype boat-stabilizer (structure) @@ -88,16 +86,13 @@ ) ;; definition for method 11 of type vehicle-path -(defmethod - distance-to-next-point - vehicle-path - ((obj vehicle-path) (arg0 int) (arg1 vector)) +(defmethod distance-to-next-point vehicle-path ((obj vehicle-path) (arg0 int) (arg1 vector)) (let ((a2-1 (+ arg0 1))) - (if (>= a2-1 (-> obj point-count)) - (set! a2-1 0) + (if (>= a2-1 (-> obj point-count)) + (set! a2-1 0) + ) + (vector-! arg1 (-> obj point-array a2-1) (-> obj point-array arg0)) ) - (vector-! arg1 (-> obj point-array a2-1) (-> obj point-array arg0)) - ) (set! (-> arg1 y) 0.0) (vector-normalize! arg1 1.0) arg1 @@ -105,16 +100,13 @@ ;; definition for method 12 of type vehicle-path ;; INFO: Return type mismatch int vs none. -(defmethod - add-point! - vehicle-path - ((obj vehicle-path) (arg0 float) (arg1 float) (arg2 float) (arg3 float)) +(defmethod add-point! vehicle-path ((obj vehicle-path) (arg0 float) (arg1 float) (arg2 float) (arg3 float)) (let ((v1-0 (-> obj point-count))) - (when (< v1-0 10) - (set-vector! (-> obj point-array v1-0) arg0 arg1 arg2 arg3) - (+! (-> obj point-count) 1) + (when (< v1-0 10) + (set-vector! (-> obj point-array v1-0) arg0 arg1 arg2 arg3) + (+! (-> obj point-count) 1) + ) ) - ) 0 (none) ) @@ -127,148 +119,137 @@ (s4-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s5-0 y) 0.0) - (set! (-> s5-0 w) 1.0) - (dotimes (s2-0 (-> obj point-count)) - (let ((v1-1 (mod (+ s2-0 1) (-> obj point-count)))) - (set! (-> s4-0 quad) (-> obj point-array s2-0 quad)) - (set! (-> s3-0 quad) (-> obj point-array v1-1 quad)) - ) - (let ((f30-0 (-> s4-0 y)) - (f28-0 (-> s4-0 w)) + (set! (-> s5-0 y) 0.0) + (set! (-> s5-0 w) 1.0) + (dotimes (s2-0 (-> obj point-count)) + (let ((v1-1 (mod (+ s2-0 1) (-> obj point-count)))) + (set! (-> s4-0 quad) (-> obj point-array s2-0 quad)) + (set! (-> s3-0 quad) (-> obj point-array v1-1 quad)) + ) + (let ((f30-0 (-> s4-0 y)) + (f28-0 (-> s4-0 w)) + ) + (set! (-> s5-0 x) (* f30-0 (cos f28-0))) + (set! (-> s5-0 z) (* f30-0 (sin f28-0))) + ) + (set! (-> s4-0 y) 0.0) + (set! (-> s4-0 w) 1.0) + (set! (-> s3-0 y) 0.0) + (set! (-> s3-0 w) 1.0) + (add-debug-line + #t + (bucket-id debug-draw1) + s4-0 + s3-0 + (new 'static 'rgba :r #xff :g #xff :a #x80) + #f + (the-as rgba -1) + ) + (add-debug-vector + #t + (bucket-id debug-draw1) + s4-0 + s5-0 + (meters 0.00024414062) + (new 'static 'rgba :r #xff :a #x80) + ) + (let ((s1-0 add-debug-text-3d) + (s0-0 #t) + ) + (set! sv-64 68) + (set! sv-80 format) + (let ((a0-9 (clear *temp-string*)) + (a1-6 "~D") + (a2-2 s2-0) + ) + (sv-80 a0-9 a1-6 a2-2) ) - (set! (-> s5-0 x) (* f30-0 (cos f28-0))) - (set! (-> s5-0 z) (* f30-0 (sin f28-0))) - ) - (set! (-> s4-0 y) 0.0) - (set! (-> s4-0 w) 1.0) - (set! (-> s3-0 y) 0.0) - (set! (-> s3-0 w) 1.0) - (add-debug-line - #t - (bucket-id debug-draw1) - s4-0 - s3-0 - (new 'static 'rgba :r #xff :g #xff :a #x80) - #f - (the-as rgba -1) - ) - (add-debug-vector - #t - (bucket-id debug-draw1) - s4-0 - s5-0 - (meters 0.00024414062) - (new 'static 'rgba :r #xff :a #x80) - ) - (let ((s1-0 add-debug-text-3d) - (s0-0 #t) + (let ((a2-3 *temp-string*) + (a3-2 s4-0) + (t0-2 4) + (t1-2 #f) + ) + (s1-0 s0-0 (the-as bucket-id sv-64) a2-3 a3-2 (the-as font-color t0-2) (the-as vector2h t1-2)) ) - (set! sv-64 68) - (set! sv-80 format) - (let ((a0-9 (clear *temp-string*)) - (a1-6 "~D") - (a2-2 s2-0) - ) - (sv-80 a0-9 a1-6 a2-2) + ) ) - (let ((a2-3 *temp-string*) - (a3-2 s4-0) - (t0-2 4) - (t1-2 #f) - ) - (s1-0 - s0-0 - (the-as bucket-id sv-64) - a2-3 - a3-2 - (the-as font-color t0-2) - (the-as vector2h t1-2) - ) - ) - ) ) - ) #f ) ;; definition for symbol *boat-turning-radius-table*, type (pointer float) -(define - *boat-turning-radius-table* - (new 'static 'array float 32 - 409600.0 - 90931.2 - 94699.52 - 95600.64 - 100802.56 - 97566.72 - 99246.08 - 98713.6 - 95846.4 - 100474.88 - 88842.24 - 105472.0 - 95436.8 - 97525.76 - 102481.92 - 96501.76 - 97198.08 - 93102.08 - 98631.68 - 100270.08 - 96788.48 - 100884.48 - 97402.88 - 98590.72 - 97280.0 - 100065.28 - 104079.36 - 92610.56 - 97034.24 - 88309.76 - 0.0 - 0.0 - ) - ) +(define *boat-turning-radius-table* (new 'static 'array float 32 + 409600.0 + 90931.2 + 94699.52 + 95600.64 + 100802.56 + 97566.72 + 99246.08 + 98713.6 + 95846.4 + 100474.88 + 88842.24 + 105472.0 + 95436.8 + 97525.76 + 102481.92 + 96501.76 + 97198.08 + 93102.08 + 98631.68 + 100270.08 + 96788.48 + 100884.48 + 97402.88 + 98590.72 + 97280.0 + 100065.28 + 104079.36 + 92610.56 + 97034.24 + 88309.76 + 0.0 + 0.0 + ) + ) ;; definition for symbol *boat-throttle-control-table*, type (pointer float) -(define - *boat-throttle-control-table* - (new 'static 'array float 32 - 0.0 - 0.031 - 0.0646 - 0.0952 - 0.1237 - 0.1508 - 0.1753 - 0.2018 - 0.2231 - 0.2473 - 0.2695 - 0.2904 - 0.3119 - 0.3312 - 0.3514 - 0.3701 - 0.3906 - 0.4148 - 0.4272 - 0.4483 - 0.4686 - 0.4856 - 0.5096 - 0.5203 - 0.5507 - 0.5697 - 0.5856 - 0.6184 - 0.6366 - 0.6694 - 0.0 - 0.0 - ) - ) +(define *boat-throttle-control-table* (new 'static 'array float 32 + 0.0 + 0.031 + 0.0646 + 0.0952 + 0.1237 + 0.1508 + 0.1753 + 0.2018 + 0.2231 + 0.2473 + 0.2695 + 0.2904 + 0.3119 + 0.3312 + 0.3514 + 0.3701 + 0.3906 + 0.4148 + 0.4272 + 0.4483 + 0.4686 + 0.4856 + 0.5096 + 0.5203 + 0.5507 + 0.5697 + 0.5856 + 0.6184 + 0.6366 + 0.6694 + 0.0 + 0.0 + ) + ) ;; definition of type vehicle-controller (deftype vehicle-controller (structure) @@ -319,11 +300,7 @@ (format #t "~Tpath-dest-index: ~D~%" (-> obj path-dest-index)) (format #t "~Tleft-circle: ~D~%" (-> obj left-circle)) (format #t "~Tpath-dest-point: #~%" (-> obj path-dest-point)) - (format - #t - "~Tpath-dest-velocity: #~%" - (-> obj path-dest-velocity) - ) + (format #t "~Tpath-dest-velocity: #~%" (-> obj path-dest-velocity)) (format #t "~Tdest-circle: #~%" (-> obj dest-circle)) (format #t "~Ttarget-point: #~%" (-> obj target-point)) (format #t "~Tsample-dir: #~%" (-> obj sample-dir)) @@ -336,69 +313,58 @@ ;; INFO: Return type mismatch int vs vehicle-controller. (defmethod relocate vehicle-controller ((obj vehicle-controller) (arg0 int)) (if (nonzero? (-> obj path)) - (&+! (-> obj path) arg0) - ) + (&+! (-> obj path) arg0) + ) (the-as vehicle-controller 0) ) ;; definition for method 12 of type vehicle-controller ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - TODO-RENAME-12 - vehicle-controller - ((obj vehicle-controller) (arg0 int) (arg1 vector)) +(defmethod TODO-RENAME-12 vehicle-controller ((obj vehicle-controller) (arg0 int) (arg1 vector)) (when (< arg0 (get-point-count (-> obj path))) - (set! (-> obj path-dest-index) arg0) - (nth-point (-> obj path) arg0 (-> obj path-dest-point)) - (let ((f30-0 (-> obj path-dest-point y)) - (f28-0 (-> obj path-dest-point w)) - ) - (set! (-> obj path-dest-velocity x) (* f30-0 (cos f28-0))) - (set! (-> obj path-dest-velocity z) (* f30-0 (sin f28-0))) - ) - (set! (-> obj path-dest-velocity y) 0.0) - (set! (-> obj path-dest-velocity w) 1.0) - (set! (-> obj path-dest-point y) 0.0) - (set! (-> obj path-dest-point w) 1.0) - (let ((s5-1 (new 'stack-no-clear 'vector))) - (let ((s3-0 (new 'stack-no-clear 'vector))) - (vector-! s3-0 (-> obj path-dest-point) arg1) - (set! (-> s5-1 quad) (-> obj path-dest-velocity quad)) - (set! (-> s5-1 x) (-> obj path-dest-velocity z)) - (set! (-> s5-1 z) (- (-> obj path-dest-velocity x))) - (vector-xz-normalize! s5-1 1.0) - (set! (-> obj left-circle) 1) - (when (< 0.0 (vector-dot s3-0 s5-1)) - (set! (-> obj left-circle) 0) - (vector-float*! s5-1 s5-1 -1.0) + (set! (-> obj path-dest-index) arg0) + (nth-point (-> obj path) arg0 (-> obj path-dest-point)) + (let ((f30-0 (-> obj path-dest-point y)) + (f28-0 (-> obj path-dest-point w)) + ) + (set! (-> obj path-dest-velocity x) (* f30-0 (cos f28-0))) + (set! (-> obj path-dest-velocity z) (* f30-0 (sin f28-0))) ) - ) - (vector+*! - (-> obj dest-circle) - (-> obj path-dest-point) - s5-1 - (-> obj circle-radius) - ) + (set! (-> obj path-dest-velocity y) 0.0) + (set! (-> obj path-dest-velocity w) 1.0) + (set! (-> obj path-dest-point y) 0.0) + (set! (-> obj path-dest-point w) 1.0) + (let ((s5-1 (new 'stack-no-clear 'vector))) + (let ((s3-0 (new 'stack-no-clear 'vector))) + (vector-! s3-0 (-> obj path-dest-point) arg1) + (set! (-> s5-1 quad) (-> obj path-dest-velocity quad)) + (set! (-> s5-1 x) (-> obj path-dest-velocity z)) + (set! (-> s5-1 z) (- (-> obj path-dest-velocity x))) + (vector-xz-normalize! s5-1 1.0) + (set! (-> obj left-circle) 1) + (when (< 0.0 (vector-dot s3-0 s5-1)) + (set! (-> obj left-circle) 0) + (vector-float*! s5-1 s5-1 -1.0) + ) + ) + (vector+*! (-> obj dest-circle) (-> obj path-dest-point) s5-1 (-> obj circle-radius)) + ) + (set! (-> obj dest-circle w) (-> obj circle-radius)) ) - (set! (-> obj dest-circle w) (-> obj circle-radius)) - ) 0 (none) ) ;; definition for method 13 of type vehicle-controller ;; INFO: Return type mismatch int vs none. -(defmethod - move-to-next-point - vehicle-controller - ((obj vehicle-controller) (arg0 vector)) +(defmethod move-to-next-point vehicle-controller ((obj vehicle-controller) (arg0 vector)) (let ((s4-0 (+ (-> obj path-dest-index) 1))) - (if (>= s4-0 (get-point-count (-> obj path))) - (set! s4-0 0) + (if (>= s4-0 (get-point-count (-> obj path))) + (set! s4-0 0) + ) + (TODO-RENAME-12 obj s4-0 arg0) ) - (TODO-RENAME-12 obj s4-0 arg0) - ) 0 (none) ) @@ -406,40 +372,37 @@ ;; definition for method 14 of type vehicle-controller ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - TODO-RENAME-14 - vehicle-controller - ((obj vehicle-controller) (arg0 vector) (arg1 vector)) +(defmethod TODO-RENAME-14 vehicle-controller ((obj vehicle-controller) (arg0 vector) (arg1 vector)) (let ((s5-0 (new 'stack-no-clear 'vector)) (s3-0 (new 'stack-no-clear 'vector)) ) - (vector-! s5-0 (-> obj dest-circle) arg0) - (let ((f30-0 (vector-xz-length s5-0)) - (f28-0 (-> obj dest-circle w)) - ) - (if (< f30-0 f28-0) - (set! f28-0 (* 0.9 f30-0)) - ) - (vector-normalize! s5-0 1.0) - (set! (-> s3-0 x) (-> s5-0 z)) - (set! (-> s3-0 z) (- (-> s5-0 x))) - (if (= (-> obj left-circle) 1) - (vector-float*! s3-0 s3-0 -1.0) - ) - (let* ((f0-5 f30-0) - (f0-7 (* f0-5 f0-5)) - (f1-0 f28-0) - (f0-9 (sqrtf (- f0-7 (* f1-0 f1-0)))) - (f28-1 (/ (* f28-0 f0-9) f30-0)) - ) - (let ((f0-12 (/ (* f0-9 f0-9) f30-0))) - (set! (-> arg1 quad) (-> arg0 quad)) - (vector+*! arg1 (-> obj target-point) s5-0 f0-12) + (vector-! s5-0 (-> obj dest-circle) arg0) + (let ((f30-0 (vector-xz-length s5-0)) + (f28-0 (-> obj dest-circle w)) + ) + (if (< f30-0 f28-0) + (set! f28-0 (* 0.9 f30-0)) + ) + (vector-normalize! s5-0 1.0) + (set! (-> s3-0 x) (-> s5-0 z)) + (set! (-> s3-0 z) (- (-> s5-0 x))) + (if (= (-> obj left-circle) 1) + (vector-float*! s3-0 s3-0 -1.0) + ) + (let* ((f0-5 f30-0) + (f0-7 (* f0-5 f0-5)) + (f1-0 f28-0) + (f0-9 (sqrtf (- f0-7 (* f1-0 f1-0)))) + (f28-1 (/ (* f28-0 f0-9) f30-0)) + ) + (let ((f0-12 (/ (* f0-9 f0-9) f30-0))) + (set! (-> arg1 quad) (-> arg0 quad)) + (vector+*! arg1 (-> obj target-point) s5-0 f0-12) + ) + (vector+*! arg1 (-> obj target-point) s3-0 f28-1) + ) ) - (vector+*! arg1 (-> obj target-point) s3-0 f28-1) - ) ) - ) 0 (none) ) @@ -447,58 +410,41 @@ ;; definition for method 15 of type vehicle-controller ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - dummy-15 - vehicle-controller - ((obj vehicle-controller) (arg0 collide-shape-moving)) +(defmethod dummy-15 vehicle-controller ((obj vehicle-controller) (arg0 collide-shape-moving)) (TODO-RENAME-14 obj (-> arg0 trans) (-> obj target-point)) (let ((s3-0 (new 'stack-no-clear 'vector)) (s4-0 (new 'stack-no-clear 'vector)) ) - (set! (-> s3-0 quad) (-> obj path-dest-velocity quad)) - (vector-xz-normalize! s3-0 1.0) - (vector-! s4-0 (-> obj path-dest-point) (-> arg0 trans)) - (let ((f30-0 (vector-dot s3-0 s4-0))) - (if (and (< (vector-xz-length s4-0) (-> obj circle-radius)) (< f30-0 0.0)) - (move-to-next-point obj (-> arg0 trans)) - ) - ) - ) - (let - ((s4-2 - (max - 0 - (min - (the - int - (/ (vector-xz-length (-> obj path-dest-velocity)) (-> obj table-step)) - ) - (+ (-> obj table-length) -1) - ) + (set! (-> s3-0 quad) (-> obj path-dest-velocity quad)) + (vector-xz-normalize! s3-0 1.0) + (vector-! s4-0 (-> obj path-dest-point) (-> arg0 trans)) + (let ((f30-0 (vector-dot s3-0 s4-0))) + (if (and (< (vector-xz-length s4-0) (-> obj circle-radius)) (< f30-0 0.0)) + (move-to-next-point obj (-> arg0 trans)) + ) ) - ) ) - (set! (-> obj throttle) (-> obj throttle-control-table s4-2)) - ) + (let ((s4-2 (max 0 (min + (the int (/ (vector-xz-length (-> obj path-dest-velocity)) (-> obj table-step))) + (+ (-> obj table-length) -1) + ) + ) + ) + ) + (set! (-> obj throttle) (-> obj throttle-control-table s4-2)) + ) (let ((s3-1 (new 'stack-no-clear 'vector)) (s4-3 (new 'stack-no-clear 'vector)) ) - (vector-z-quaternion! s3-1 (-> arg0 quat)) - (vector-x-quaternion! s4-3 (-> arg0 quat)) - (let* ((v1-16 (-> arg0 trans)) - (f0-9 - (- (vector-dot s3-1 (-> obj target-point)) (vector-dot s3-1 v1-16)) + (vector-z-quaternion! s3-1 (-> arg0 quat)) + (vector-x-quaternion! s4-3 (-> arg0 quat)) + (let* ((v1-16 (-> arg0 trans)) + (f0-9 (- (vector-dot s3-1 (-> obj target-point)) (vector-dot s3-1 v1-16))) + (f3-0 (- (vector-dot s4-3 (-> obj target-point)) (vector-dot s4-3 v1-16))) ) - (f3-0 - (- (vector-dot s4-3 (-> obj target-point)) (vector-dot s4-3 v1-16)) - ) - ) - (set! - (-> obj steering) - (fmax -1.0 (fmin 1.0 (/ (* 4.0 f3-0) (fmax 4096.0 f0-9)))) - ) + (set! (-> obj steering) (fmax -1.0 (fmin 1.0 (/ (* 4.0 f3-0) (fmax 4096.0 f0-9))))) + ) ) - ) 0 0 (none) @@ -507,22 +453,16 @@ ;; definition for method 11 of type vehicle-controller ;; INFO: Return type mismatch int vs none. (defmethod dummy-11 vehicle-controller ((obj vehicle-controller)) - (format - #t - "(define *turning-radius-table* (new 'static 'inline-array 'float 0~%" - ) + (format #t "(define *turning-radius-table* (new 'static 'inline-array 'float 0~%") (dotimes (s5-0 (-> obj table-length)) - (format #t " (meters ~4,,2M)~%" (-> obj turning-radius-table s5-0)) - ) + (format #t " (meters ~4,,2M)~%" (-> obj turning-radius-table s5-0)) + ) (format #t " )~%") (format #t " )~%") - (format - #t - "(define *throttle-control-table* (new 'static 'inline-array 'float 0~%" - ) + (format #t "(define *throttle-control-table* (new 'static 'inline-array 'float 0~%") (dotimes (s5-1 (-> obj table-length)) - (format #t " ~f~%" (-> obj throttle-control-table s5-1)) - ) + (format #t " ~f~%" (-> obj throttle-control-table s5-1)) + ) (format #t " )~%") (format #t " )~%") 0 @@ -532,62 +472,33 @@ ;; definition for method 10 of type vehicle-controller ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defmethod - TODO-RENAME-10 - vehicle-controller - ((obj vehicle-controller) (arg0 vector) (arg1 float) (arg2 int)) +(defmethod TODO-RENAME-10 vehicle-controller ((obj vehicle-controller) (arg0 vector) (arg1 float) (arg2 int)) (let ((s3-0 (new 'stack-no-clear 'vector))) - (set! (-> s3-0 quad) (-> arg0 quad)) - (set! (-> s3-0 y) 0.0) - (vector-xz-normalize! s3-0 1.0) - (cond - ((= arg2 (-> obj sample-index)) - (let* - ((f30-0 - (* - 0.0033333334 - (the - float - (- - (-> *display* base-frame-counter) - (the-as int (-> obj sample-time)) + (set! (-> s3-0 quad) (-> arg0 quad)) + (set! (-> s3-0 y) 0.0) + (vector-xz-normalize! s3-0 1.0) + (cond + ((= arg2 (-> obj sample-index)) + (let* ((f30-0 (* 0.0033333334 (the float (- (-> *display* base-frame-counter) (the-as int (-> obj sample-time)))))) + (f28-0 (* (-> obj table-step) (the float arg2))) + (f0-4 (acos-rad (vector-dot s3-0 (-> obj sample-dir)))) + (f26-0 (/ (* f28-0 f30-0) f0-4)) + ) + (when (and (>= arg2 0) (< arg2 (-> obj table-length))) + (set! (-> obj turning-radius-table arg2) f26-0) + (set! (-> obj throttle-control-table arg2) arg1) + (format #t "sample ~d (~M m/s) angle ~f deg, time ~f sec~%" arg2 f28-0 (* 57.29747 f0-4) f30-0) + (format #t "sample ~d (~M m/s) radius ~M throttle ~f~%" arg2 f28-0 f26-0 arg1) ) - ) ) - ) - (f28-0 (* (-> obj table-step) (the float arg2))) - (f0-4 (acos-rad (vector-dot s3-0 (-> obj sample-dir)))) - (f26-0 (/ (* f28-0 f30-0) f0-4)) ) - (when (and (>= arg2 0) (< arg2 (-> obj table-length))) - (set! (-> obj turning-radius-table arg2) f26-0) - (set! (-> obj throttle-control-table arg2) arg1) - (format - #t - "sample ~d (~M m/s) angle ~f deg, time ~f sec~%" - arg2 - f28-0 - (* 57.29747 f0-4) - f30-0 + (else + (set! (-> obj sample-index) arg2) + (set! (-> obj sample-time) (the-as uint (-> *display* base-frame-counter))) + (set! (-> obj sample-dir quad) (-> s3-0 quad)) ) - (format - #t - "sample ~d (~M m/s) radius ~M throttle ~f~%" - arg2 - f28-0 - f26-0 - arg1 - ) - ) ) - ) - (else - (set! (-> obj sample-index) arg2) - (set! (-> obj sample-time) (the-as uint (-> *display* base-frame-counter))) - (set! (-> obj sample-dir quad) (-> s3-0 quad)) - ) ) - ) 0 (none) ) @@ -597,34 +508,31 @@ (defmethod dummy-16 vehicle-controller ((obj vehicle-controller)) (debug-draw (-> obj path)) (add-debug-sphere - #t - (bucket-id debug-draw1) - (-> obj dest-circle) - (-> obj dest-circle w) - (new 'static 'rgba :g #xff :a #x80) - ) + #t + (bucket-id debug-draw1) + (-> obj dest-circle) + (-> obj dest-circle w) + (new 'static 'rgba :g #xff :a #x80) + ) (add-debug-x - #t - (bucket-id debug-draw1) - (-> obj target-point) - (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) - ) + #t + (bucket-id debug-draw1) + (-> obj target-point) + (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80) + ) 0 (none) ) ;; definition for method 9 of type vehicle-controller ;; INFO: Return type mismatch int vs none. -(defmethod - init! - vehicle-controller - ((obj vehicle-controller) - (arg0 vehicle-path) - (arg1 (pointer float)) - (arg2 (pointer float)) - (arg3 int) - (arg4 float) - ) +(defmethod init! vehicle-controller ((obj vehicle-controller) + (arg0 vehicle-path) + (arg1 (pointer float)) + (arg2 (pointer float)) + (arg3 int) + (arg4 float) + ) (set! (-> obj path) arg0) (set! (-> obj turning-radius-table) arg1) (set! (-> obj throttle-control-table) arg2) @@ -673,14 +581,10 @@ ;; definition for method 3 of type fishermans-boat (defmethod inspect fishermans-boat ((obj fishermans-boat)) (let ((t9-0 (method-of-type rigid-body-platform inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tstabilizer-array[2] @ #x~X~%" (-> obj stabilizer-array)) - (format - #t - "~T~Tengine-thrust-local-pos: #~%" - (-> obj engine-thrust-local-pos) - ) + (format #t "~T~Tengine-thrust-local-pos: #~%" (-> obj engine-thrust-local-pos)) (format #t "~T~Tignition: ~A~%" (-> obj ignition)) (format #t "~T~Tengine-thrust: ~f~%" (-> obj engine-thrust)) (format #t "~T~Tpropeller: ~A~%" (-> obj propeller)) @@ -701,17 +605,9 @@ (format #t "~T~Tdebug-path-record: ~A~%" (-> obj debug-path-record)) (format #t "~T~Tdebug-path-playback: ~A~%" (-> obj debug-path-playback)) (format #t "~T~Tmeasure-parameters: ~A~%" (-> obj measure-parameters)) - (format - #t - "~T~Tcontroller: #~%" - (-> obj controller) - ) + (format #t "~T~Tcontroller: #~%" (-> obj controller)) (format #t "~T~Tanim: ~A~%" (-> obj anim)) - (format - #t - "~T~Told-target-pos: #~%" - (-> obj old-target-pos) - ) + (format #t "~T~Told-target-pos: #~%" (-> obj old-target-pos)) (format #t "~T~Tevilbro: ~D~%" (-> obj evilbro)) (format #t "~T~Tevilsis: ~D~%" (-> obj evilsis)) obj @@ -748,12 +644,7 @@ ;; INFO: Return type mismatch int vs none. ;; Used lq/sq (defmethod TODO-RENAME-23 fishermans-boat ((obj fishermans-boat) (arg0 float)) - (local-vars - (sv-128 int) - (sv-144 rigid-body-control-point) - (sv-160 int) - (sv-176 vector) - ) + (local-vars (sv-128 int) (sv-144 rigid-body-control-point) (sv-160 int) (sv-176 vector)) (let ((s4-0 (new 'stack-no-clear 'vector)) (s1-0 (new 'stack-no-clear 'vector)) (s5-0 (new 'stack-no-clear 'vector)) @@ -761,84 +652,80 @@ (s2-0 (new 'stack-no-clear 'vector)) (s3-0 (-> obj rbody matrix)) ) - (set! (-> s2-0 quad) (-> s3-0 vector 2 quad)) - (set! sv-128 0) - (while (< sv-128 6) - (set! sv-144 (-> obj control-point-array data sv-128)) - (vector-matrix*! s5-0 (-> sv-144 local-pos) s3-0) - (set! (-> sv-144 world-pos quad) (-> s5-0 quad)) - (TODO-RENAME-17 (-> obj rbody) s5-0 s1-0) - (set! (-> sv-144 velocity quad) (-> s1-0 quad)) - (set! (-> sv-144 world-pos w) (ocean-get-height s5-0)) - (let* ((f0-2 (- (-> sv-144 world-pos w) (-> s5-0 y))) - (f30-0 (fmin 1.0 (/ f0-2 (-> obj info max-buoyancy-depth)))) - ) - (when (< 0.0 f0-2) - (vector-float*! s4-0 *y-vector* (* 20.0 f0-2 (-> obj rbody mass))) + (set! (-> s2-0 quad) (-> s3-0 vector 2 quad)) + (set! sv-128 0) + (while (< sv-128 6) + (set! sv-144 (-> obj control-point-array data sv-128)) + (vector-matrix*! s5-0 (-> sv-144 local-pos) s3-0) + (set! (-> sv-144 world-pos quad) (-> s5-0 quad)) + (TODO-RENAME-17 (-> obj rbody) s5-0 s1-0) + (set! (-> sv-144 velocity quad) (-> s1-0 quad)) + (set! (-> sv-144 world-pos w) (ocean-get-height s5-0)) + (let* ((f0-2 (- (-> sv-144 world-pos w) (-> s5-0 y))) + (f30-0 (fmin 1.0 (/ f0-2 (-> obj info max-buoyancy-depth)))) + ) + (when (< 0.0 f0-2) + (vector-float*! s4-0 *y-vector* (* 20.0 f0-2 (-> obj rbody mass))) + (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) + (vector-float*! s4-0 *y-vector* (* 1.6 f30-0 (fmax 0.0 (vector-dot s2-0 s1-0)))) + (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) + (vector-float*! s4-0 s1-0 (* -1.0 (-> obj info drag-factor) f30-0)) + (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) + (vector-float*! + s4-0 + (the-as vector (-> s3-0 vector)) + (* -0.5 (vector-dot (the-as vector (-> s3-0 vector)) s1-0)) + ) + (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) + ) + ) + 0 + (set! sv-128 (+ sv-128 1)) + ) + (set! sv-160 0) + (while (< sv-160 2) + (set! sv-176 (-> obj stabilizer-array sv-160 local-pos)) + (vector-matrix*! s5-0 (the-as vector (&-> sv-176 x)) s3-0) + (vector-rotate*! s0-0 (&+ sv-176 16) s3-0) + (TODO-RENAME-17 (-> obj rbody) s5-0 s1-0) + (vector-float*! s4-0 s0-0 (* -1.0 (vector-dot s0-0 s1-0))) (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) - (vector-float*! - s4-0 - *y-vector* - (* 1.6 f30-0 (fmax 0.0 (vector-dot s2-0 s1-0))) - ) - (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) - (vector-float*! s4-0 s1-0 (* -1.0 (-> obj info drag-factor) f30-0)) - (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) - (vector-float*! - s4-0 - (the-as vector (-> s3-0 vector)) - (* -0.5 (vector-dot (the-as vector (-> s3-0 vector)) s1-0)) - ) + 0 + (set! sv-160 (+ sv-160 1)) + ) + (when (-> obj anchored) + (let ((s1-1 (new 'stack-no-clear 'vector))) + (vector+*! s5-0 (-> s3-0 vector 3) s2-0 24576.0) + (vector+*! s1-1 (-> obj dock-point) (-> obj dest-dir) 24576.0) + (vector-! s4-0 s1-1 s5-0) + (set! (-> s4-0 y) 0.0) + (vector-float*! s4-0 s4-0 10.0) + (if (< 81920.0 (vector-length s4-0)) + (vector-normalize! s4-0 81920.0) + ) + (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) + (vector+*! s5-0 (-> s3-0 vector 3) s2-0 -24576.0) + (vector+*! s1-1 (-> obj dock-point) (-> obj dest-dir) -24576.0) + (vector-! s4-0 s1-1 s5-0) + ) + (set! (-> s4-0 y) 0.0) + (vector-float*! s4-0 s4-0 10.0) + (if (< 81920.0 (vector-length s4-0)) + (vector-normalize! s4-0 81920.0) + ) (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) ) - ) - 0 - (set! sv-128 (+ sv-128 1)) - ) - (set! sv-160 0) - (while (< sv-160 2) - (set! sv-176 (-> obj stabilizer-array sv-160 local-pos)) - (vector-matrix*! s5-0 (the-as vector (&-> sv-176 x)) s3-0) - (vector-rotate*! s0-0 (&+ sv-176 16) s3-0) - (TODO-RENAME-17 (-> obj rbody) s5-0 s1-0) - (vector-float*! s4-0 s0-0 (* -1.0 (vector-dot s0-0 s1-0))) - (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) - 0 - (set! sv-160 (+ sv-160 1)) - ) - (when (-> obj anchored) - (let ((s1-1 (new 'stack-no-clear 'vector))) - (vector+*! s5-0 (-> s3-0 vector 3) s2-0 24576.0) - (vector+*! s1-1 (-> obj dock-point) (-> obj dest-dir) 24576.0) - (vector-! s4-0 s1-1 s5-0) - (set! (-> s4-0 y) 0.0) - (vector-float*! s4-0 s4-0 10.0) - (if (< 81920.0 (vector-length s4-0)) - (vector-normalize! s4-0 81920.0) + (when (-> obj ignition) + (let ((s2-1 (new 'stack-no-clear 'vector))) + (vector-matrix*! s5-0 (-> obj engine-thrust-local-pos) s3-0) + (set-vector! s2-1 (- (-> obj controller steering)) 0.0 2.0 1.0) + (vector-rotate*! s2-1 s2-1 s3-0) + (vector-normalize! s2-1 1.0) + (vector-float*! s4-0 s2-1 (-> obj engine-thrust)) + ) + (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) ) - (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) - (vector+*! s5-0 (-> s3-0 vector 3) s2-0 -24576.0) - (vector+*! s1-1 (-> obj dock-point) (-> obj dest-dir) -24576.0) - (vector-! s4-0 s1-1 s5-0) - ) - (set! (-> s4-0 y) 0.0) - (vector-float*! s4-0 s4-0 10.0) - (if (< 81920.0 (vector-length s4-0)) - (vector-normalize! s4-0 81920.0) - ) - (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) ) - (when (-> obj ignition) - (let ((s2-1 (new 'stack-no-clear 'vector))) - (vector-matrix*! s5-0 (-> obj engine-thrust-local-pos) s3-0) - (set-vector! s2-1 (- (-> obj controller steering)) 0.0 2.0 1.0) - (vector-rotate*! s2-1 s2-1 s3-0) - (vector-normalize! s2-1 1.0) - (vector-float*! s4-0 s2-1 (-> obj engine-thrust)) - ) - (TODO-RENAME-13 (-> obj rbody) s5-0 s4-0) - ) - ) (TODO-RENAME-26 obj) (TODO-RENAME-25 obj) 0 @@ -857,16 +744,8 @@ ;; definition for function fishermans-boat-set-path-point ;; INFO: Return type mismatch int vs none. (defbehavior fishermans-boat-set-path-point fishermans-boat ((arg0 vector)) - (TODO-RENAME-12 - (-> self controller) - (the-as int arg0) - (-> self root-overlay trans) - ) - (vector-normalize-copy! - (-> self dest-dir) - (-> self controller path-dest-velocity) - 1.0 - ) + (TODO-RENAME-12 (-> self controller) (the-as int arg0) (-> self root-overlay trans)) + (vector-normalize-copy! (-> self dest-dir) (-> self controller path-dest-velocity) 1.0) 0 (none) ) @@ -875,74 +754,60 @@ ;; INFO: Return type mismatch int vs none. (defbehavior fishermans-boat-next-path-point fishermans-boat () (move-to-next-point (-> self controller) (-> self root-overlay trans)) - (vector-normalize-copy! - (-> self dest-dir) - (-> self controller path-dest-velocity) - 1.0 - ) + (vector-normalize-copy! (-> self dest-dir) (-> self controller path-dest-velocity) 1.0) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2896) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) - (sp-flt spt-num 0.06) - (sp-flt spt-x (meters 10.0)) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 3.0) 1.0) - (sp-flt spt-rot-y (degrees 0.0)) - (sp-rnd-flt spt-scale-y (meters 1.5) (meters 3.0) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.008666666) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.008666666) 1.0) - (sp-flt spt-fade-a 0.7111111) - (sp-flt spt-friction 0.94) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 90) - (sp-launcher-by-id spt-next-launcher 119) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2896) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xa :page #x2)) + (sp-flt spt-num 0.06) + (sp-flt spt-x (meters 10.0)) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 3.0) 1.0) + (sp-flt spt-rot-y (degrees 0.0)) + (sp-rnd-flt spt-scale-y (meters 1.5) (meters 3.0) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters 0.01) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.008666666) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.008666666) 1.0) + (sp-flt spt-fade-a 0.7111111) + (sp-flt spt-friction 0.94) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 90) + (sp-launcher-by-id spt-next-launcher 119) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) ;; definition for function fishermans-boat-wave ;; INFO: Return type mismatch int vs none. ;; Used lq/sq -(defbehavior - fishermans-boat-wave fishermans-boat - ((arg0 vector) (arg1 float) (arg2 float)) +(defbehavior fishermans-boat-wave fishermans-boat ((arg0 vector) (arg1 float) (arg2 float)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> arg0 quad)) - (set! (-> gp-0 y) (ocean-get-height arg0)) - (set! (-> *part-id-table* 2896 init-specs 4 initial-valuef) (+ 24576.0 arg1)) - (set! - (-> *part-id-table* 2896 init-specs 19 initial-valuef) - (+ 49152.0 arg1) + (set! (-> gp-0 quad) (-> arg0 quad)) + (set! (-> gp-0 y) (ocean-get-height arg0)) + (set! (-> *part-id-table* 2896 init-specs 4 initial-valuef) (+ 24576.0 arg1)) + (set! (-> *part-id-table* 2896 init-specs 19 initial-valuef) (+ 49152.0 arg1)) + (set! (-> *part-id-table* 2896 init-specs 1 initial-valuef) (* 0.0000036621095 arg2)) + (set! (-> *part-id-table* 2896 init-specs 2 initial-valuef) (* 0.1 arg2)) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 2896) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - (set! - (-> *part-id-table* 2896 init-specs 1 initial-valuef) - (* 0.0000036621095 arg2) - ) - (set! (-> *part-id-table* 2896 init-specs 2 initial-valuef) (* 0.1 arg2)) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 2896) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) - ) 0 (none) ) @@ -954,21 +819,13 @@ (s4-0 (new 'stack-no-clear 'vector)) (f30-0 (vector-y-angle (-> s5-0 vector 2))) ) - (vector-matrix*! s4-0 (new 'static 'vector :z 40960.0 :w 1.0) s5-0) - (fishermans-boat-wave s4-0 f30-0 arg0) - (vector-matrix*! - s4-0 - (new 'static 'vector :x 20480.0 :z -8192.0 :w 1.0) - s5-0 + (vector-matrix*! s4-0 (new 'static 'vector :z 40960.0 :w 1.0) s5-0) + (fishermans-boat-wave s4-0 f30-0 arg0) + (vector-matrix*! s4-0 (new 'static 'vector :x 20480.0 :z -8192.0 :w 1.0) s5-0) + (fishermans-boat-wave s4-0 f30-0 arg0) + (vector-matrix*! s4-0 (new 'static 'vector :x -20480.0 :z -8192.0 :w 1.0) s5-0) + (fishermans-boat-wave s4-0 f30-0 arg0) ) - (fishermans-boat-wave s4-0 f30-0 arg0) - (vector-matrix*! - s4-0 - (new 'static 'vector :x -20480.0 :z -8192.0 :w 1.0) - s5-0 - ) - (fishermans-boat-wave s4-0 f30-0 arg0) - ) 0 (none) ) @@ -977,49 +834,43 @@ ;; INFO: Return type mismatch int vs none. (defbehavior fishermans-boat-play-sounds fishermans-boat () (if (-> self ignition) - (set! - (-> self engine-sound-envelope) - (seek - (-> self engine-sound-envelope) - 1.0 - (* 2.0 (-> *display* seconds-per-frame)) - ) - ) - (set! - (-> self engine-sound-envelope) - (seek (-> self engine-sound-envelope) 0.0 (-> *display* seconds-per-frame)) - ) - ) - (cond - ((< 0.0 (-> self engine-sound-envelope)) - (if (zero? (-> self engine-sound-id)) - (set! (-> self engine-sound-id) (new-sound-id)) - ) - (* 0.0000008138021 (-> self engine-thrust)) - (let ((f30-0 (* 100.0 (-> self engine-sound-envelope))) - (f28-0 (+ -1.0 (* 2.0 (-> self engine-sound-envelope)))) - (gp-0 (new 'stack-no-clear 'vector)) - ) - (vector<-cspace! gp-0 (-> self node-list data 4)) - (sound-play-by-name - (static-sound-name "boat-engine") - (-> self engine-sound-id) - (the int (* 10.24 f30-0)) - (the int (* 1524.0 f28-0)) - 0 - 1 - (the-as symbol gp-0) + (set! (-> self engine-sound-envelope) + (seek (-> self engine-sound-envelope) 1.0 (* 2.0 (-> *display* seconds-per-frame))) + ) + (set! (-> self engine-sound-envelope) + (seek (-> self engine-sound-envelope) 0.0 (-> *display* seconds-per-frame)) + ) ) + (cond + ((< 0.0 (-> self engine-sound-envelope)) + (if (zero? (-> self engine-sound-id)) + (set! (-> self engine-sound-id) (new-sound-id)) + ) + (* 0.0000008138021 (-> self engine-thrust)) + (let ((f30-0 (* 100.0 (-> self engine-sound-envelope))) + (f28-0 (+ -1.0 (* 2.0 (-> self engine-sound-envelope)))) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (vector<-cspace! gp-0 (-> self node-list data 4)) + (sound-play-by-name + (static-sound-name "boat-engine") + (-> self engine-sound-id) + (the int (* 10.24 f30-0)) + (the int (* 1524.0 f28-0)) + 0 + 1 + (the-as symbol gp-0) + ) + ) ) + (else + (when (nonzero? (-> self engine-sound-id)) + (sound-stop (-> self engine-sound-id)) + (set! (-> self engine-sound-id) (new 'static 'sound-id)) + 0 + ) + ) ) - (else - (when (nonzero? (-> self engine-sound-id)) - (sound-stop (-> self engine-sound-id)) - (set! (-> self engine-sound-id) (new 'static 'sound-id)) - 0 - ) - ) - ) (none) ) @@ -1027,149 +878,100 @@ ;; INFO: Return type mismatch int vs none. (defbehavior fishermans-boat-post fishermans-boat () (when (and *target* (-> self kill-player)) - (set! (-> self kill-player) #f) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 2) - (set! (-> a1-0 message) 'attack) - (set! (-> a1-0 param 0) (the-as uint #f)) - (let ((a0-0 (new 'static 'attack-info :mask #x20))) - (set! (-> a0-0 mode) 'endlessfall) - (set! (-> a1-0 param 1) (the-as uint a0-0)) - ) - (when (send-event-function *target* a1-0) - ) - ) - ) - (when (and *target* (-> self ignition)) - (cond - ((-> self auto-pilot) - (dummy-15 (-> self controller) (-> self root-overlay)) - (vector-normalize-copy! - (-> self dest-dir) - (-> self controller path-dest-velocity) - 1.0 + (set! (-> self kill-player) #f) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 2) + (set! (-> a1-0 message) 'attack) + (set! (-> a1-0 param 0) (the-as uint #f)) + (let ((a0-0 (new 'static 'attack-info :mask #x20))) + (set! (-> a0-0 mode) 'endlessfall) + (set! (-> a1-0 param 1) (the-as uint a0-0)) + ) + (when (send-event-function *target* a1-0) + ) ) + ) + (when (and *target* (-> self ignition)) + (cond + ((-> self auto-pilot) + (dummy-15 (-> self controller) (-> self root-overlay)) + (vector-normalize-copy! (-> self dest-dir) (-> self controller path-dest-velocity) 1.0) + ) + (else + (when (not (-> self measure-parameters)) + (let ((f0-0 (analog-input (the-as int (-> *cpad-list* cpads 0 leftx)) 128.0 48.0 110.0 -1.0))) + (set! (-> self controller steering) + (seek (-> self controller steering) (fmax -1.0 (fmin 1.0 f0-0)) (-> *display* seconds-per-frame)) + ) + ) + (if (cpad-hold? 0 x) + (set! (-> self controller throttle) (seek (-> self controller throttle) 0.8 (-> *display* seconds-per-frame))) + (set! (-> self controller throttle) + (seek (-> self controller throttle) 0.0 (* 0.25 (-> *display* seconds-per-frame))) + ) + ) + 0 + ) + ) + ) + (when (and + (-> self player-riding) + (and + (zero? (-> self root-overlay riders num-riders)) + (or + (not *target*) + (< 32768.0 (vector-vector-distance (-> self root-overlay trans) (-> *target* control trans))) + ) + ) + ) + (if (process-release? *target*) + (set! (-> self kill-player) #t) + ) + (set! (-> self controller throttle) 0.0) + (set! (-> self controller steering) 0.0) + ) + ) + (if (-> self ignition) + (set! (-> self engine-thrust) + (seek (-> self engine-thrust) (* 1228800.0 (-> self controller throttle)) 6144.0) + ) + (set! (-> self engine-thrust) 0.0) + ) + (cond + ((-> self ignition) + (let ((f0-20 60.0) + (f1-4 1820.4445) + (f2-1 6735.6445) + (f3-0 1228800.0) + ) + (set! (-> self propeller spin-rate) (* f0-20 (+ f1-4 (* f2-1 (/ 1.0 f3-0) (-> self engine-thrust))))) + ) ) (else - (when (not (-> self measure-parameters)) - (let - ((f0-0 - (analog-input - (the-as int (-> *cpad-list* cpads 0 leftx)) - 128.0 - 48.0 - 110.0 - -1.0 - ) - ) - ) - (set! - (-> self controller steering) - (seek - (-> self controller steering) - (fmax -1.0 (fmin 1.0 f0-0)) - (-> *display* seconds-per-frame) - ) - ) - ) - (if (cpad-hold? 0 x) - (set! - (-> self controller throttle) - (seek - (-> self controller throttle) - 0.8 - (-> *display* seconds-per-frame) - ) - ) - (set! - (-> self controller throttle) - (seek - (-> self controller throttle) - 0.0 - (* 0.25 (-> *display* seconds-per-frame)) - ) - ) - ) - 0 + (set! (-> self propeller spin-rate) (seek (-> self propeller spin-rate) 0.0 218.45334)) ) - ) ) - (when - (and - (-> self player-riding) - (and - (zero? (-> self root-overlay riders num-riders)) - (or - (not *target*) - (< - 32768.0 - (vector-vector-distance - (-> self root-overlay trans) - (-> *target* control trans) - ) - ) - ) - ) - ) - (if (process-release? *target*) - (set! (-> self kill-player) #t) - ) - (set! (-> self controller throttle) 0.0) - (set! (-> self controller steering) 0.0) - ) - ) - (if (-> self ignition) - (set! - (-> self engine-thrust) - (seek - (-> self engine-thrust) - (* 1228800.0 (-> self controller throttle)) - 6144.0 - ) - ) - (set! (-> self engine-thrust) 0.0) - ) - (cond - ((-> self ignition) - (let ((f0-20 60.0) - (f1-4 1820.4445) - (f2-1 6735.6445) - (f3-0 1228800.0) - ) - (set! - (-> self propeller spin-rate) - (* f0-20 (+ f1-4 (* f2-1 (/ 1.0 f3-0) (-> self engine-thrust)))) - ) - ) - ) - (else - (set! - (-> self propeller spin-rate) - (seek (-> self propeller spin-rate) 0.0 218.45334) - ) - ) - ) (TODO-RENAME-28 self) (quaternion-copy! (-> self root-overlay quat) (-> self rbody rotation)) (TODO-RENAME-18 (-> self rbody) (-> self root-overlay trans)) (when (-> self debug-draw) - (dummy-16 (-> self controller)) - (add-debug-sphere - #t - (bucket-id debug-draw1) - (the-as vector (-> self boat-path)) - 614400.0 - (new 'static 'rgba :b #xff :a #x80) + (dummy-16 (-> self controller)) + (add-debug-sphere + #t + (bucket-id debug-draw1) + (the-as vector (-> self boat-path)) + 614400.0 + (new 'static 'rgba :b #xff :a #x80) + ) + (add-debug-sphere + #t + (bucket-id debug-draw1) + (the-as vector (&-> self stack 848)) + 409600.0 + (new 'static 'rgba :b #xff :a #x80) + ) ) - (add-debug-sphere - #t - (bucket-id debug-draw1) - (the-as vector (&-> self stack 848)) - 409600.0 - (new 'static 'rgba :b #xff :a #x80) - ) - ) (fishermans-boat-spawn-particles 8192.0) (fishermans-boat-play-sounds) (rider-post) @@ -1179,189 +981,110 @@ ;; definition for function fishermans-boat-leave-dock? (defbehavior fishermans-boat-leave-dock? fishermans-boat () (let ((gp-0 #f)) - (when - (and - (< (vector-vector-distance (target-pos 0) (-> self rbody position)) 6144.0) - (or - (task-complete? *game-info* (game-task jungle-fishgame)) - (and *cheat-mode* (cpad-hold? 0 l3)) - ) - (not (level-hint-displayed?)) - (>= (- (-> *display* base-frame-counter) (-> self state-time)) 900) - (file-status *art-control* (-> self anim name) 0) - ) - (hide-hud) - (level-hint-surpress!) - (kill-current-level-hint '() '(sidekick voicebox) 'exit) - (when - (and - (hud-hidden?) - (can-grab-display? (the-as process-taskable self)) - (= *kernel-boot-message* 'play) - ) - (let - ((s5-1 - (new - 'stack - 'font-context - *font-default-matrix* - 32 - 160 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) + (when (and + (< (vector-vector-distance (target-pos 0) (-> self rbody position)) 6144.0) + (or (task-complete? *game-info* (game-task jungle-fishgame)) (and *cheat-mode* (cpad-hold? 0 l3))) + (not (level-hint-displayed?)) + (>= (- (-> *display* base-frame-counter) (-> self state-time)) 900) + (file-status *art-control* (-> self anim name) 0) + ) + (hide-hud) + (level-hint-surpress!) + (kill-current-level-hint '() '(sidekick voicebox) 'exit) + (when (and (hud-hidden?) (can-grab-display? (the-as process-taskable self)) (= *kernel-boot-message* 'play)) + (let ((s5-1 + (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-17 s5-1)) + (set! (-> v1-17 width) (the float 440)) + ) + (let ((v1-18 s5-1)) + (set! (-> v1-18 height) (the float 80)) + ) + (set! (-> s5-1 flags) (font-flags shadow kerning large)) + (print-game-text (lookup-text! *common-text* (game-text-id press-to-use) #f) s5-1 #f 128 22) + ) + (when (and (cpad-pressed? 0 circle) (process-grab? *target*)) + (set! (-> self waiting-for-player) #f) + (set! (-> self player-riding) #t) + (set! (-> self auto-pilot) #t) + (set! (-> self ignition) #t) + (set! (-> self anchored) #f) + (set! gp-0 #t) + ) ) - ) - (let ((v1-17 s5-1)) - (set! (-> v1-17 width) (the float 440)) - ) - (let ((v1-18 s5-1)) - (set! (-> v1-18 height) (the float 80)) - ) - (set! (-> s5-1 flags) (font-flags shadow kerning large)) - (print-game-text - (lookup-text! *common-text* (game-text-id press-to-use) #f) - s5-1 - #f - 128 - 22 - ) ) - (when (and (cpad-pressed? 0 circle) (process-grab? *target*)) - (set! (-> self waiting-for-player) #f) - (set! (-> self player-riding) #t) - (set! (-> self auto-pilot) #t) - (set! (-> self ignition) #t) - (set! (-> self anchored) #f) - (set! gp-0 #t) - ) - ) + gp-0 ) - gp-0 - ) ) ;; definition for function fishermans-boat-enter-dock? (defbehavior fishermans-boat-enter-dock? fishermans-boat () - (when - (and - (-> self player-riding) - (= (-> self controller path-dest-index) (-> self dock-point-index)) + (when (and (-> self player-riding) (= (-> self controller path-dest-index) (-> self dock-point-index))) + (if (process-release? *target*) + (set! (-> self player-riding) #f) + ) ) - (if (process-release? *target*) - (set! (-> self player-riding) #f) - ) - ) - (let - ((f0-0 - (vector-vector-xz-distance - (-> self root-overlay trans) - (-> self dock-point) + (let ((f0-0 (vector-vector-xz-distance (-> self root-overlay trans) (-> self dock-point)))) + (when (and + (= (-> self controller path-dest-index) (-> self dock-point-index)) + (not (-> self anchored)) + (< f0-0 81920.0) + ) + (set! (-> self ignition) #f) + (set! (-> self anchored) #t) ) - ) + (< f0-0 28672.0) ) - (when - (and - (= (-> self controller path-dest-index) (-> self dock-point-index)) - (not (-> self anchored)) - (< f0-0 81920.0) - ) - (set! (-> self ignition) #f) - (set! (-> self anchored) #t) - ) - (< f0-0 28672.0) - ) ) ;; failed to figure out what this is: (defstate fishermans-boat-docked-village (fishermans-boat) :event (the-as - (function process int symbol event-message-block object :behavior fishermans-boat) - rigid-body-platform-event-handler - ) + (function process int symbol event-message-block object :behavior fishermans-boat) + rigid-body-platform-event-handler + ) :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (if (fishermans-boat-leave-dock?) - (go fishermans-boat-ride-to-misty) + (if (fishermans-boat-leave-dock?) + (go fishermans-boat-ride-to-misty) + ) + (rider-trans) + (if (nonzero? (-> self anim)) + (spool-push *art-control* (-> self anim name) 0 self -99.0) + ) + (none) ) - (rider-trans) - (if (nonzero? (-> self anim)) - (spool-push *art-control* (-> self anim name) 0 self -99.0) - ) - (none) - ) :code (behavior () - (set! - (-> self anim) - (new 'static 'spool-anim - :name "fishermans-boat-ride-to-misty" - :index 15 - :parts 3 - :command-list - '( - (0 - want-levels - village1 - misty - ) - (0 - shadow - target - #f - ) - (0 - shadow - sidekick - #f - ) - ((the binteger 250) - display-level - misty - display - ) - ((the binteger 250) - display-level - village1 - special - ) - ((the binteger 250) - want-vis - mis - ) - ((the binteger 250) - want-force-vis - misty - #t - ) - ((the binteger 459) - want-force-vis - misty - #f - ) - ((the binteger 459) - save - ) - ((the binteger 459) - blackout - (the binteger 20) - ) - ((the binteger 459) shadow target #t) - ) - ) + (set! (-> self anim) (new 'static 'spool-anim + :name "fishermans-boat-ride-to-misty" + :index 15 + :parts 3 + :command-list + '((0 want-levels village1 misty) + (0 shadow target #f) + (0 shadow sidekick #f) + ((the binteger 250) display-level misty display) + ((the binteger 250) display-level village1 special) + ((the binteger 250) want-vis mis) + ((the binteger 250) want-force-vis misty #t) + ((the binteger 459) want-force-vis misty #f) + ((the binteger 459) save) + ((the binteger 459) blackout (the binteger 20)) + ((the binteger 459) shadow target #t) + ) + ) + ) + (fishermans-boat-set-dock-point 0) + (fishermans-boat-set-path-point (the-as vector 0)) + (anim-loop) + (none) ) - (fishermans-boat-set-dock-point 0) - (fishermans-boat-set-path-point (the-as vector 0)) - (anim-loop) - (none) - ) :post fishermans-boat-post ) @@ -1370,97 +1093,53 @@ (defstate fishermans-boat-leaving-village (fishermans-boat) :trans (behavior () - (when - (< - 614400.0 - (vector-vector-xz-distance - (-> self root-overlay trans) - (-> self dock-point) + (when (< 614400.0 (vector-vector-xz-distance (-> self root-overlay trans) (-> self dock-point))) + (load-state-want-display-level 'village1 'special) + (load-state-want-display-level 'misty 'display) + (load-state-want-vis 'mis) + (load-state-want-force-vis 'misty #t) + (go fishermans-boat-player-control) ) - ) - (load-state-want-display-level 'village1 'special) - (load-state-want-display-level 'misty 'display) - (load-state-want-vis 'mis) - (load-state-want-force-vis 'misty #t) - (go fishermans-boat-player-control) + (rider-trans) + (none) ) - (rider-trans) - (none) - ) :code (behavior () - (load-state-want-levels 'village1 'misty) - (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) (ppointer->handle (when gp-0 - (let - ((t9-2 - (method-of-type - camera-tracker - activate - ) - ) - ) - (t9-2 - (the-as - camera-tracker - gp-0 - ) - self - 'camera-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior fishermans-boat - () - (camera-change-to - "camera-282" - 0 - #f - ) - (while - (!= - (-> - self - rbody - lin-momentum-damping-factor - ) - 'release - ) - (suspend) - ) - (set! - (-> - self - rbody - lin-momentum-damping-factor - ) - (the-as float #f) - ) - (camera-change-to - (the-as string 'base) - 0 - #f - ) - (none) - ) - ) - (-> gp-0 ppointer) - ) - ) - ) + (load-state-want-levels 'village1 'misty) + (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) + (set! (-> self cam-tracker) + (ppointer->handle (when gp-0 + (let ((t9-2 (method-of-type camera-tracker activate))) + (t9-2 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + camera-tracker-init + (lambda :behavior fishermans-boat + () + (camera-change-to "camera-282" 0 #f) + (while (!= (-> self rbody lin-momentum-damping-factor) 'release) + (suspend) + ) + (set! (-> self rbody lin-momentum-damping-factor) (the-as float #f)) + (camera-change-to (the-as string 'base) 0 #f) + (none) + ) + ) + (-> gp-0 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> self cam-tracker)) 'border #t) + (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) + (fishermans-boat-set-path-point (the-as vector 0)) + (fishermans-boat-next-path-point) + (while #t + (suspend) + ) + (none) ) - (send-event (handle->process (-> self cam-tracker)) 'border #t) - (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) - (fishermans-boat-set-path-point (the-as vector 0)) - (fishermans-boat-next-path-point) - (while #t - (suspend) - ) - (none) - ) :post fishermans-boat-post ) @@ -1469,29 +1148,29 @@ (defstate fishermans-boat-entering-village (fishermans-boat) :trans (behavior () - (when (fishermans-boat-enter-dock?) - (set! (-> self waiting-for-player) #f) - (when #t - (set! (-> *camera* cam-entity) (the-as entity #t)) - (send-event *camera* 'clear-entity) - (load-commands-set! *level* '()) - (load-state-want-display-level 'village1 'display) - (load-state-want-force-vis 'village1 #f) - (go fishermans-boat-docked-village) - ) + (when (fishermans-boat-enter-dock?) + (set! (-> self waiting-for-player) #f) + (when #t + (set! (-> *camera* cam-entity) (the-as entity #t)) + (send-event *camera* 'clear-entity) + (load-commands-set! *level* '()) + (load-state-want-display-level 'village1 'display) + (load-state-want-force-vis 'village1 #f) + (go fishermans-boat-docked-village) + ) + ) + (rider-trans) + (none) ) - (rider-trans) - (none) - ) :code (behavior () - (load-state-want-levels 'village1 'beach) - (load-state-want-vis 'vi1) - (fishermans-boat-set-dock-point 0) - (fishermans-boat-set-path-point (the-as vector 5)) - (anim-loop) - (none) - ) + (load-state-want-levels 'village1 'beach) + (load-state-want-vis 'vi1) + (fishermans-boat-set-dock-point 0) + (fishermans-boat-set-path-point (the-as vector 5)) + (anim-loop) + (none) + ) :post fishermans-boat-post ) @@ -1500,175 +1179,75 @@ (defstate fishermans-boat-docked-misty (fishermans-boat) :event (the-as - (function process int symbol event-message-block object :behavior fishermans-boat) - rigid-body-platform-event-handler - ) + (function process int symbol event-message-block object :behavior fishermans-boat) + rigid-body-platform-event-handler + ) :enter - (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (none) - ) + (behavior () (set! (-> self state-time) (-> *display* base-frame-counter)) (none)) :trans (behavior () - (if (fishermans-boat-leave-dock?) - (go fishermans-boat-ride-to-village1) + (if (fishermans-boat-leave-dock?) + (go fishermans-boat-ride-to-village1) + ) + (rider-trans) + (if (nonzero? (-> self anim)) + (spool-push *art-control* (-> self anim name) 0 self -99.0) + ) + (none) ) - (rider-trans) - (if (nonzero? (-> self anim)) - (spool-push *art-control* (-> self anim name) 0 self -99.0) - ) - (none) - ) :code (behavior () - (if #t - (set! - (-> self anim) - (new 'static 'spool-anim - :name "fishermans-boat-ride-to-village1" - :index 16 - :parts 3 - :command-list - '( - (0 - want-levels - village1 - misty - ) - (0 - shadow - target - #f - ) - (0 - shadow - sidekick - #f - ) - ((the binteger 250) - display-level - village1 - display - ) - ((the binteger 250) - display-level - misty - #f - ) - ((the binteger 250) - want-vis - vi1 - ) - ((the binteger 250) - want-force-vis - village1 - #t - ) - ((the binteger 459) - want-force-vis - village1 - #f - ) - ((the binteger 459) - save - ) - ((the binteger 459) - blackout - (the binteger 20) - ) - ((the binteger 459) shadow target #t) + (if #t + (set! (-> self anim) (new 'static 'spool-anim + :name "fishermans-boat-ride-to-village1" + :index 16 + :parts 3 + :command-list + '((0 want-levels village1 misty) + (0 shadow target #f) + (0 shadow sidekick #f) + ((the binteger 250) display-level village1 display) + ((the binteger 250) display-level misty #f) + ((the binteger 250) want-vis vi1) + ((the binteger 250) want-force-vis village1 #t) + ((the binteger 459) want-force-vis village1 #f) + ((the binteger 459) save) + ((the binteger 459) blackout (the binteger 20)) + ((the binteger 459) shadow target #t) + ) + ) + ) + (set! (-> self anim) (new 'static 'spool-anim + :name "fishermans-boat-ride-to-village1-alt" + :index 17 + :parts 12 + :command-list + '((0 want-levels village1 misty) + ((the binteger 105) want-levels village1 intro) + ((the binteger 150) display-level intro display) + ((the binteger 150) want-vis int) + ((the binteger 150) kill "med-res-level-3") + ((the binteger 150) want-force-vis intro #t) + ((the binteger 151) send-event self evilbro) + ((the binteger 1199) send-event self evilsis) + ((the binteger 1200) want-force-vis intro #f) + ((the binteger 1200) want-levels village1 beach) + ((the binteger 1200) display-level village1 display) + ((the binteger 1200) want-vis vi1) + ((the binteger 1200) want-force-vis village1 #t) + ((the binteger 1349) want-force-vis village1 #f) + ((the binteger 1349) save) + ((the binteger 1349) blackout (the binteger 20)) + ) + ) + ) ) - ) - ) - (set! - (-> self anim) - (new 'static 'spool-anim - :name "fishermans-boat-ride-to-village1-alt" - :index 17 - :parts 12 - :command-list - '( - (0 - want-levels - village1 - misty - ) - ((the binteger 105) - want-levels - village1 - intro - ) - ((the binteger 150) - display-level - intro - display - ) - ((the binteger 150) - want-vis - int - ) - ((the binteger 150) - kill - "med-res-level-3" - ) - ((the binteger 150) - want-force-vis - intro - #t - ) - ((the binteger 151) - send-event - self - evilbro - ) - ((the binteger 1199) - send-event - self - evilsis - ) - ((the binteger 1200) - want-force-vis - intro - #f - ) - ((the binteger 1200) - want-levels - village1 - beach - ) - ((the binteger 1200) - display-level - village1 - display - ) - ((the binteger 1200) - want-vis - vi1 - ) - ((the binteger 1200) - want-force-vis - village1 - #t - ) - ((the binteger 1349) - want-force-vis - village1 - #f - ) - ((the binteger 1349) - save - ) - ((the binteger 1349) blackout (the binteger 20)) - ) - ) - ) + (load-state-want-force-vis 'misty #f) + (fishermans-boat-set-dock-point 4) + (fishermans-boat-set-path-point (the-as vector 4)) + (anim-loop) + (none) ) - (load-state-want-force-vis 'misty #f) - (fishermans-boat-set-dock-point 4) - (fishermans-boat-set-path-point (the-as vector 4)) - (anim-loop) - (none) - ) :post fishermans-boat-post ) @@ -1677,96 +1256,52 @@ (defstate fishermans-boat-leaving-misty (fishermans-boat) :trans (behavior () - (when - (< - 409600.0 - (vector-vector-xz-distance - (-> self root-overlay trans) - (-> self dock-point) + (when (< 409600.0 (vector-vector-xz-distance (-> self root-overlay trans) (-> self dock-point))) + (load-state-want-force-vis 'village1 #t) + (load-state-want-display-level 'village1 'display) + (set-continue! *game-info* "village1-hut") + (load-commands-set! *level* (load-command-get-index *level* 'village1 2)) + (go fishermans-boat-player-control) ) - ) - (load-state-want-force-vis 'village1 #t) - (load-state-want-display-level 'village1 'display) - (set-continue! *game-info* "village1-hut") - (load-commands-set! *level* (load-command-get-index *level* 'village1 2)) - (go fishermans-boat-player-control) + (rider-trans) + (none) ) - (rider-trans) - (none) - ) :code (behavior () - (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) - (set! (-> self cam-tracker) (ppointer->handle (when gp-0 - (let - ((t9-1 - (method-of-type - camera-tracker - activate - ) - ) - ) - (t9-1 - (the-as - camera-tracker - gp-0 - ) - self - 'camera-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - camera-tracker-init - (lambda :behavior fishermans-boat - () - (camera-change-to - "camera-287" - 0 - #f - ) - (while - (!= - (-> - self - rbody - lin-momentum-damping-factor - ) - 'release - ) - (suspend) - ) - (set! - (-> - self - rbody - lin-momentum-damping-factor - ) - (the-as float #f) - ) - (camera-change-to - (the-as string 'base) - 0 - #f - ) - (none) - ) - ) - (-> gp-0 ppointer) - ) - ) - ) + (let ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))) + (set! (-> self cam-tracker) + (ppointer->handle (when gp-0 + (let ((t9-1 (method-of-type camera-tracker activate))) + (t9-1 (the-as camera-tracker gp-0) self 'camera-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + camera-tracker-init + (lambda :behavior fishermans-boat + () + (camera-change-to "camera-287" 0 #f) + (while (!= (-> self rbody lin-momentum-damping-factor) 'release) + (suspend) + ) + (set! (-> self rbody lin-momentum-damping-factor) (the-as float #f)) + (camera-change-to (the-as string 'base) 0 #f) + (none) + ) + ) + (-> gp-0 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> self cam-tracker)) 'border #t) + (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) + (fishermans-boat-set-path-point (the-as vector 4)) + (fishermans-boat-next-path-point) + (while #t + (suspend) + ) + (none) ) - (send-event (handle->process (-> self cam-tracker)) 'border #t) - (send-event (handle->process (-> self cam-tracker)) 'mask #x20800) - (fishermans-boat-set-path-point (the-as vector 4)) - (fishermans-boat-next-path-point) - (while #t - (suspend) - ) - (none) - ) :post fishermans-boat-post ) @@ -1775,34 +1310,34 @@ (defstate fishermans-boat-entering-misty (fishermans-boat) :trans (behavior () - (when (fishermans-boat-enter-dock?) - (set! (-> self waiting-for-player) #f) - (level-hint-spawn - (game-text-id misty-daxter-scared) - "sksp0060" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (when #t - (set! (-> *camera* cam-entity) (the-as entity #t)) - (send-event *camera* 'clear-entity) - (go fishermans-boat-docked-misty) - ) + (when (fishermans-boat-enter-dock?) + (set! (-> self waiting-for-player) #f) + (level-hint-spawn + (game-text-id misty-daxter-scared) + "sksp0060" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (when #t + (set! (-> *camera* cam-entity) (the-as entity #t)) + (send-event *camera* 'clear-entity) + (go fishermans-boat-docked-misty) + ) + ) + (rider-trans) + (none) ) - (rider-trans) - (none) - ) :code (behavior () - (set-continue! *game-info* "misty-start") - (fishermans-boat-set-dock-point 4) - (fishermans-boat-set-path-point (the-as vector 2)) - (while #t - (suspend) + (set-continue! *game-info* "misty-start") + (fishermans-boat-set-dock-point 4) + (fishermans-boat-set-path-point (the-as vector 2)) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post fishermans-boat-post ) @@ -1810,41 +1345,35 @@ ;; failed to figure out what this is: (defstate fishermans-boat-player-control (fishermans-boat) :exit - (behavior () - (send-event *camera* 'change-state *camera-base-mode* 0) - (set! (-> self auto-pilot) #t) - (none) - ) + (behavior () (send-event *camera* 'change-state *camera-base-mode* 0) (set! (-> self auto-pilot) #t) (none)) :trans (behavior () - (let ((gp-0 (new 'stack-no-clear 'vector))) - (nth-point (-> self boat-path) 0 gp-0) - (if - (< (vector-vector-xz-distance (-> self root-overlay trans) gp-0) 614400.0) - (go fishermans-boat-entering-village) - ) - (nth-point (-> self boat-path) 4 gp-0) - (if - (< (vector-vector-xz-distance (-> self root-overlay trans) gp-0) 409600.0) - (go fishermans-boat-entering-misty) - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (nth-point (-> self boat-path) 0 gp-0) + (if (< (vector-vector-xz-distance (-> self root-overlay trans) gp-0) 614400.0) + (go fishermans-boat-entering-village) + ) + (nth-point (-> self boat-path) 4 gp-0) + (if (< (vector-vector-xz-distance (-> self root-overlay trans) gp-0) 409600.0) + (go fishermans-boat-entering-misty) + ) + ) + 0 + (none) ) - 0 - (none) - ) :code (behavior () - (send-event (handle->process (-> self cam-tracker)) 'message 'release) - (suspend) - (send-event *camera* 'change-state cam-stick 0) - (while #t - (if (and (= *cheat-mode* 'debug) (cpad-pressed? 0 triangle)) - (set! (-> self auto-pilot) #f) - ) + (send-event (handle->process (-> self cam-tracker)) 'message 'release) (suspend) + (send-event *camera* 'change-state cam-stick 0) + (while #t + (if (and (= *cheat-mode* 'debug) (cpad-pressed? 0 triangle)) + (set! (-> self auto-pilot) #f) + ) + (suspend) + ) + (none) ) - (none) - ) :post fishermans-boat-post ) @@ -1856,18 +1385,9 @@ (f1-2 (/ (- arg0 f0-0) arg0)) (f30-0 (* 0.005 f1-2)) ) - (format - *stdcon* - "current ~M target ~M throttle ~f~%" - f0-0 - arg0 - (-> self controller throttle) + (format *stdcon* "current ~M target ~M throttle ~f~%" f0-0 arg0 (-> self controller throttle)) + (set! (-> self controller throttle) (fmax 0.0 (fmin 1.0 (+ (-> self controller throttle) f30-0)))) ) - (set! - (-> self controller throttle) - (fmax 0.0 (fmin 1.0 (+ (-> self controller throttle) f30-0))) - ) - ) 0 (none) ) @@ -1875,73 +1395,53 @@ ;; failed to figure out what this is: (defstate fishermans-boat-measurements (fishermans-boat) :exit - (behavior () - (set! (-> self measure-parameters) #f) - (none) - ) + (behavior () (set! (-> self measure-parameters) #f) (none)) :trans (behavior () - (if (cpad-pressed? 1 square) - (go fishermans-boat-player-control) + (if (cpad-pressed? 1 square) + (go fishermans-boat-player-control) + ) + (none) ) - (none) - ) :code (behavior () - (set! (-> self auto-pilot) #f) - (let ((gp-0 (new 'stack-no-clear 'vector)) - (s5-0 1) - (s4-0 (+ (-> self controller table-length) -1)) - ) - (while (>= s4-0 s5-0) - (let ((f30-0 (* (the float s5-0) (-> self controller table-step)))) - (set! (-> self measure-parameters) #t) - (set! (-> self controller steering) 1.0) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (let - ((f0-6 - (/ - (fabs (- f30-0 (vector-xz-length (-> self rbody lin-velocity)))) - f30-0 - ) + (set! (-> self auto-pilot) #f) + (let ((gp-0 (new 'stack-no-clear 'vector)) + (s5-0 1) + (s4-0 (+ (-> self controller table-length) -1)) ) - ) - (if (< 0.05 f0-6) - (set! (-> self state-time) (-> *display* base-frame-counter)) - ) + (while (>= s4-0 s5-0) + (let ((f30-0 (* (the float s5-0) (-> self controller table-step)))) + (set! (-> self measure-parameters) #t) + (set! (-> self controller steering) 1.0) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (until (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (let ((f0-6 (/ (fabs (- f30-0 (vector-xz-length (-> self rbody lin-velocity)))) f30-0))) + (if (< 0.05 f0-6) + (set! (-> self state-time) (-> *display* base-frame-counter)) + ) + ) + (fishermans-boat-set-throttle-by-speed f30-0) + (suspend) + ) + (vector-z-quaternion! gp-0 (-> self root-overlay quat)) + (TODO-RENAME-10 (-> self controller) gp-0 (-> self controller throttle) s5-0) + (let ((s3-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) s3-0) 300) + (fishermans-boat-set-throttle-by-speed f30-0) + (suspend) + (suspend) + ) + ) + ) + (vector-z-quaternion! gp-0 (-> self root-overlay quat)) + (TODO-RENAME-10 (-> self controller) gp-0 (-> self controller throttle) s5-0) + (+! s5-0 1) ) - (fishermans-boat-set-throttle-by-speed f30-0) - (suspend) - ) - (vector-z-quaternion! gp-0 (-> self root-overlay quat)) - (TODO-RENAME-10 - (-> self controller) - gp-0 - (-> self controller throttle) - s5-0 - ) - (let ((s3-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) s3-0) 300) - (fishermans-boat-set-throttle-by-speed f30-0) - (suspend) - (suspend) - ) - ) ) - (vector-z-quaternion! gp-0 (-> self root-overlay quat)) - (TODO-RENAME-10 - (-> self controller) - gp-0 - (-> self controller throttle) - s5-0 - ) - (+! s5-0 1) - ) + (go fishermans-boat-player-control) + (none) ) - (go fishermans-boat-player-control) - (none) - ) :post fishermans-boat-post ) @@ -1951,69 +1451,48 @@ (defmethod relocate fishermans-boat ((obj fishermans-boat) (arg0 int)) (relocate (-> obj controller) arg0) (if (nonzero? (-> obj propeller)) - (&+! (-> obj propeller) arg0) - ) + (&+! (-> obj propeller) arg0) + ) (the-as - fishermans-boat - ((the-as - (function rigid-body-platform int rigid-body-platform) - (find-parent-method fishermans-boat 7) + fishermans-boat + ((the-as (function rigid-body-platform int rigid-body-platform) (find-parent-method fishermans-boat 7)) + obj + arg0 ) - obj - arg0 ) - ) ) ;; definition for method 30 of type fishermans-boat ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-30 fishermans-boat ((obj fishermans-boat)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 1) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set-vector! (-> s4-0 local-sphere) 0.0 8192.0 0.0 61440.0) - (set-root-prim! s5-0 s4-0) - (let - ((s3-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-others)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 1) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set-vector! (-> s4-0 local-sphere) 0.0 8192.0 0.0 61440.0) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3)) + (set! (-> s3-0 prim-core offense) 4) + (set! (-> s3-0 transform-index) 3) + (set-vector! (-> s3-0 local-sphere) 0.0 8192.0 0.0 61440.0) + (append-prim s4-0 s3-0) ) - ) ) - (set! (-> s3-0 prim-core collide-as) (the-as uint 2048)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3)) - (set! (-> s3-0 prim-core offense) 4) - (set! (-> s3-0 transform-index) 3) - (set-vector! (-> s3-0 local-sphere) 0.0 8192.0 0.0 61440.0) - (append-prim s4-0 s3-0) - ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-overlay) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-overlay) s5-0) - ) 0 (none) ) @@ -2028,10 +1507,7 @@ (process-entity-status! obj (entity-perm-status bit-3) #t) (process-entity-status! obj (entity-perm-status bit-7) #t) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) - (logior! - (-> obj path flags) - (path-control-flag display draw-line draw-point draw-text) - ) + (logior! (-> obj path flags) (path-control-flag display draw-line draw-point draw-text)) (set! (-> obj boat-path point-count) 0) (add-point! (-> obj boat-path) -88473.6 28672.0 425984.0 16384.0) (add-point! (-> obj boat-path) 18432.0 69632.0 1014169.6 14563.556) @@ -2041,24 +1517,14 @@ (add-point! (-> obj boat-path) 175718.4 122880.0 626688.0 -18204.445) (add-point! (-> obj boat-path) 50790.4 40960.0 197427.2 32768.0) (init! - (-> obj controller) - (-> obj boat-path) - *boat-turning-radius-table* - *boat-throttle-control-table* - 30 - 4096.0 - ) - (set! - (-> obj propeller) - (new - 'process - 'joint-mod-spinner - obj - 4 - (new 'static 'vector :z -1.0 :w 1.0) - 0.0 + (-> obj controller) + (-> obj boat-path) + *boat-turning-radius-table* + *boat-throttle-control-table* + 30 + 4096.0 ) - ) + (set! (-> obj propeller) (new 'process 'joint-mod-spinner obj 4 (new 'static 'vector :z -1.0 :w 1.0) 0.0)) (set! (-> obj ignition) #f) (set! (-> obj anchored) #t) (set! (-> obj player-riding) #f) @@ -2067,68 +1533,58 @@ (set! (-> obj cam-tracker) (the-as handle #f)) (set! (-> obj auto-pilot) #f) (if (= (-> *game-info* current-continue level) 'misty) - (fishermans-boat-set-dock-point 4) - (fishermans-boat-set-dock-point 0) - ) + (fishermans-boat-set-dock-point 4) + (fishermans-boat-set-dock-point 0) + ) (fishermans-boat-set-path-point (the-as vector (-> obj dock-point-index))) (fishermans-boat-next-path-point) (set! (-> obj root-overlay trans quad) (-> obj dock-point quad)) (set! (-> obj root-overlay trans y) 0.0) - (forward-up-nopitch->quaternion - (-> obj root-overlay quat) - (-> obj dest-dir) - *up-vector* - ) + (forward-up-nopitch->quaternion (-> obj root-overlay quat) (-> obj dest-dir) *up-vector*) (TODO-RENAME-29 obj *fishermans-boat-constants*) (let ((v1-39 (-> obj control-point-array data))) - (set! (-> v1-39 0 local-pos x) 0.0) - (set! (-> v1-39 0 local-pos y) 0.0) - (set! (-> v1-39 0 local-pos z) 24576.0) - (set! (-> v1-39 0 local-pos w) 1.0) - ) + (set! (-> v1-39 0 local-pos x) 0.0) + (set! (-> v1-39 0 local-pos y) 0.0) + (set! (-> v1-39 0 local-pos z) 24576.0) + (set! (-> v1-39 0 local-pos w) 1.0) + ) (let ((v1-41 (-> obj control-point-array data 1))) - (set! (-> v1-41 local-pos x) 22528.0) - (set! (-> v1-41 local-pos y) 0.0) - (set! (-> v1-41 local-pos z) -20480.0) - (set! (-> v1-41 local-pos w) 1.0) - ) + (set! (-> v1-41 local-pos x) 22528.0) + (set! (-> v1-41 local-pos y) 0.0) + (set! (-> v1-41 local-pos z) -20480.0) + (set! (-> v1-41 local-pos w) 1.0) + ) (let ((v1-43 (-> obj control-point-array data 2))) - (set! (-> v1-43 local-pos x) -22528.0) - (set! (-> v1-43 local-pos y) 0.0) - (set! (-> v1-43 local-pos z) -20480.0) - (set! (-> v1-43 local-pos w) 1.0) - ) + (set! (-> v1-43 local-pos x) -22528.0) + (set! (-> v1-43 local-pos y) 0.0) + (set! (-> v1-43 local-pos z) -20480.0) + (set! (-> v1-43 local-pos w) 1.0) + ) (let ((v1-45 (-> obj control-point-array data 3))) - (set! (-> v1-45 local-pos x) 0.0) - (set! (-> v1-45 local-pos y) 0.0) - (set! (-> v1-45 local-pos z) 49152.0) - (set! (-> v1-45 local-pos w) 1.0) - ) + (set! (-> v1-45 local-pos x) 0.0) + (set! (-> v1-45 local-pos y) 0.0) + (set! (-> v1-45 local-pos z) 49152.0) + (set! (-> v1-45 local-pos w) 1.0) + ) (let ((v1-47 (-> obj control-point-array data 4))) - (set! (-> v1-47 local-pos x) 22528.0) - (set! (-> v1-47 local-pos y) 0.0) - (set! (-> v1-47 local-pos z) 12288.0) - (set! (-> v1-47 local-pos w) 1.0) - ) + (set! (-> v1-47 local-pos x) 22528.0) + (set! (-> v1-47 local-pos y) 0.0) + (set! (-> v1-47 local-pos z) 12288.0) + (set! (-> v1-47 local-pos w) 1.0) + ) (let ((v1-49 (-> obj control-point-array data 5))) - (set! (-> v1-49 local-pos x) -22528.0) - (set! (-> v1-49 local-pos y) 0.0) - (set! (-> v1-49 local-pos z) 12288.0) - (set! (-> v1-49 local-pos w) 1.0) - ) + (set! (-> v1-49 local-pos x) -22528.0) + (set! (-> v1-49 local-pos y) 0.0) + (set! (-> v1-49 local-pos z) 12288.0) + (set! (-> v1-49 local-pos w) 1.0) + ) (let ((v1-50 (-> obj stabilizer-array))) - (set! (-> v1-50 0 local-pos x) 16384.0) - (set! (-> v1-50 0 local-pos y) 20480.0) - (set! (-> v1-50 0 local-pos z) -32768.0) - (set! (-> v1-50 0 local-pos w) 1.0) - ) - (set-vector! - (-> obj stabilizer-array 1 local-pos) - -16384.0 - 20480.0 - -32768.0 - 1.0 - ) + (set! (-> v1-50 0 local-pos x) 16384.0) + (set! (-> v1-50 0 local-pos y) 20480.0) + (set! (-> v1-50 0 local-pos z) -32768.0) + (set! (-> v1-50 0 local-pos w) 1.0) + ) + (set-vector! (-> obj stabilizer-array 1 local-pos) -16384.0 20480.0 -32768.0 1.0) (set-vector! (-> obj stabilizer-array 0 normal) 0.0 0.75 0.2 1.0) (set-vector! (-> obj stabilizer-array 1 normal) 0.0 0.75 0.2 1.0) (set-vector! (-> obj engine-thrust-local-pos) 0.0 12288.0 -20480.0 1.0) @@ -2140,34 +1596,31 @@ (set! (-> obj measure-parameters) #f) (set! (-> obj draw origin-joint-index) (the-as uint 3)) (let ((a0-29 (-> obj entity))) - (if (when a0-29 - (let ((a0-30 (-> a0-29 extra perm task))) - (if a0-30 - (= a0-30 (game-task none)) - ) - ) + (if (when a0-29 + (let ((a0-30 (-> a0-29 extra perm task))) + (if a0-30 + (= a0-30 (game-task none)) + ) + ) + ) + (set! (-> obj entity extra perm task) (game-task complete)) ) - (set! (-> obj entity extra perm task) (game-task complete)) ) - ) (none) ) ;; definition for method 11 of type fishermans-boat ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - fishermans-boat - ((obj fishermans-boat) (arg0 entity-actor)) +(defmethod init-from-entity! fishermans-boat ((obj fishermans-boat) (arg0 entity-actor)) (stack-size-set! (-> obj main-thread) 512) (set! (-> obj mask) (logior (process-mask platform) (-> obj mask))) (TODO-RENAME-30 obj) (process-drawable-from-entity! obj arg0) (TODO-RENAME-31 obj) (if (= (-> *game-info* current-continue level) 'misty) - (go fishermans-boat-docked-misty) - (go fishermans-boat-docked-village) - ) + (go fishermans-boat-docked-misty) + (go fishermans-boat-docked-village) + ) (none) ) @@ -2175,12 +1628,12 @@ ;; INFO: Return type mismatch int vs none. (defbehavior fishermans-boat-reset-physics fishermans-boat () (TODO-RENAME-22 - (-> self rbody) - (-> self root-overlay trans) - (-> self root-overlay quat) - (-> self info linear-damping) - (-> self info angular-damping) - ) + (-> self rbody) + (-> self root-overlay trans) + (-> self root-overlay quat) + (-> self info linear-damping) + (-> self info angular-damping) + ) (vector-reset! (-> self player-force)) (set! (-> self player-impulse) #f) (set! (-> self player-contact) #f) @@ -2192,396 +1645,243 @@ (defstate fishermans-boat-ride-to-misty (fishermans-boat) :code (behavior () - (set! (-> self propeller enable) #f) - (quaternion-identity! (-> self root-overlay quat)) - (set! (-> self root-overlay trans quad) (-> self entity extra trans quad)) - (set! (-> self player-riding) #f) - (set! (-> self auto-pilot) #f) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'clone-anim) - (set! (-> a1-0 param 0) (the-as uint self)) - (when (send-event-function *target* a1-0) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (let* ((gp-0 (get-process *default-dead-pool* othercam #x4000)) - (v1-20 (when gp-0 - (let ((t9-5 (method-of-type othercam activate))) - (t9-5 - (the-as othercam gp-0) - self - 'othercam - (the-as pointer #x70004000) + (set! (-> self propeller enable) #f) + (quaternion-identity! (-> self root-overlay quat)) + (set! (-> self root-overlay trans quad) (-> self entity extra trans quad)) + (set! (-> self player-riding) #f) + (set! (-> self auto-pilot) #f) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'clone-anim) + (set! (-> a1-0 param 0) (the-as uint self)) + (when (send-event-function *target* a1-0) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (let* ((gp-0 (get-process *default-dead-pool* othercam #x4000)) + (v1-20 (when gp-0 + (let ((t9-5 (method-of-type othercam activate))) + (t9-5 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 othercam-init-by-other self 5 #f #t) + (-> gp-0 ppointer) + ) ) - ) - (run-now-in-process - gp-0 - othercam-init-by-other - self - 5 - #f - #t - ) - (-> gp-0 ppointer) - ) - ) - ) - (send-event (ppointer->process v1-20) 'mask 2048) + ) + (send-event (ppointer->process v1-20) 'mask 2048) + ) + (set! (-> self draw force-lod) 0) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as art-joint-anim #f) + (the-as (function process-drawable symbol) false-func) + ) + (set! (-> self draw force-lod) -1) + (send-event *target* 'blend-shape #f) + (ja-channel-set! 1) + (let ((v1-33 (-> self skel root-channel 0))) + (set! (-> v1-33 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) + (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) + (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) + (fishermans-boat-reset-physics) + (transform-post) + (when *target* + (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (send-event *target* 'end-mode) + (dummy-47 (-> self root-overlay)) + (dummy-60 (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) + (logior! (-> *target* control status) 7) + (suspend) + (send-event *camera* 'teleport-to-other-start-string) + ) + (set-continue! *game-info* "misty-start") + ) ) - (set! (-> self draw force-lod) 0) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as art-joint-anim #f) - (the-as (function process-drawable symbol) false-func) + (set! (-> self waiting-for-player) #t) + (set! (-> self ignition) #f) + (set! (-> self anchored) #t) + (set! (-> self propeller enable) #t) + (fishermans-boat-play-sounds) + (copy-settings-from-target! *setting-control*) + (let ((gp-1 (get-process *default-dead-pool* process #x4000))) + (when gp-1 + (let ((t9-25 (method-of-type process activate))) + (t9-25 gp-1 self 'process (the-as pointer #x70004000)) + ) + (run-next-time-in-process gp-1 (lambda :behavior fishermans-boat + () + (let ((gp-0 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-0) 300) + (suspend) + ) + ) + (while (or + (-> *setting-control* current ambient) + (-> *setting-control* current hint) + (-> *setting-control* current movie) + ) + (suspend) + ) + (suspend) + (level-hint-spawn + (game-text-id misty-daxter-scared) + "sksp0060" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + (none) + ) + ) + (-> gp-1 ppointer) + ) ) - (set! (-> self draw force-lod) -1) - (send-event *target* 'blend-shape #f) - (ja-channel-set! 1) - (let ((v1-33 (-> self skel root-channel 0))) - (set! - (-> v1-33 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) - (matrix->quaternion - (-> self root-overlay quat) - (-> self node-list data 3 bone transform) - ) - (fishermans-boat-reset-physics) - (transform-post) - (when *target* - (vector<-cspace! - (the-as vector (-> self old-target-pos)) - (-> *target* node-list data 3) - ) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (send-event *target* 'end-mode) - (dummy-47 (-> self root-overlay)) - (dummy-60 - (-> *target* control) - 4096.0 - 40960.0 - #t - (-> *target* control root-prim collide-with) - ) - (logior! (-> *target* control status) 7) - (suspend) - (send-event *camera* 'teleport-to-other-start-string) - ) - (set-continue! *game-info* "misty-start") - ) + (go fishermans-boat-docked-misty) + (none) ) - (set! (-> self waiting-for-player) #t) - (set! (-> self ignition) #f) - (set! (-> self anchored) #t) - (set! (-> self propeller enable) #t) - (fishermans-boat-play-sounds) - (copy-settings-from-target! *setting-control*) - (let ((gp-1 (get-process *default-dead-pool* process #x4000))) - (when gp-1 - (let ((t9-25 (method-of-type process activate))) - (t9-25 gp-1 self 'process (the-as pointer #x70004000)) - ) - (run-next-time-in-process - gp-1 - (lambda :behavior fishermans-boat - () - (let ((gp-0 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-0) 300) - (suspend) - ) - ) - (while - (or - (-> *setting-control* current ambient) - (-> *setting-control* current hint) - (-> *setting-control* current movie) - ) - (suspend) - ) - (suspend) - (level-hint-spawn - (game-text-id misty-daxter-scared) - "sksp0060" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - (none) - ) - ) - (-> gp-1 ppointer) - ) - ) - (go fishermans-boat-docked-misty) - (none) - ) :post - (behavior () - (ja-post) - (fishermans-boat-spawn-particles 81920.0) - (fishermans-boat-play-sounds) - (none) - ) + (behavior () (ja-post) (fishermans-boat-spawn-particles 81920.0) (fishermans-boat-play-sounds) (none)) ) ;; failed to figure out what this is: (defstate fishermans-boat-ride-to-village1 (fishermans-boat) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'evilbro) - (when (= (level-status *level* 'intro) 'active) - (let ((gp-1 (entity-by-name "evilbro-2"))) - (when gp-1 - (let - ((s5-0 (get-process *default-dead-pool* manipy #x4000)) - ) - (set! (-> self evilbro) (ppointer->handle (when s5-0 - (let - ((t9-3 - (method-of-type - manipy - activate - ) - ) - ) - (t9-3 - (the-as - manipy - s5-0 - ) - self - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-0 - manipy-init - (-> - self - root-overlay - trans - ) - gp-1 - *fb-evilbro-sg* - #f - ) - (-> - s5-0 - ppointer - ) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as + object + (cond + ((= v1-0 'evilbro) + (when (= (level-status *level* 'intro) 'active) + (let ((gp-1 (entity-by-name "evilbro-2"))) + (when gp-1 + (let ((s5-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> self evilbro) + (ppointer->handle + (when s5-0 + (let ((t9-3 (method-of-type manipy activate))) + (t9-3 (the-as manipy s5-0) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 manipy-init (-> self root-overlay trans) gp-1 *fb-evilbro-sg* #f) + (-> s5-0 ppointer) + ) + ) ) - (send-event - (handle->process (-> self evilbro)) - 'anim-mode - 'clone-anim + ) + (send-event (handle->process (-> self evilbro)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> self evilbro)) 'blend-shape #t) + (send-event (handle->process (-> self evilbro)) 'center-joint 3) + ) + ) + (let ((gp-2 (entity-by-name "evilsis-2"))) + (when gp-2 + (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> self evilsis) + (ppointer->handle + (when s5-1 + (let ((t9-10 (method-of-type manipy activate))) + (t9-10 (the-as manipy s5-1) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 manipy-init (-> self root-overlay trans) gp-2 *fb-evilsis-sg* #f) + (-> s5-1 ppointer) + ) + ) ) - (send-event - (handle->process (-> self evilbro)) - 'blend-shape - #t - ) - (send-event - (handle->process (-> self evilbro)) - 'center-joint - 3 - ) - ) - ) - (let ((gp-2 (entity-by-name "evilsis-2"))) - (when gp-2 - (let - ((s5-1 (get-process *default-dead-pool* manipy #x4000)) - ) - (set! (-> self evilsis) (ppointer->handle (when s5-1 - (let - ((t9-10 - (method-of-type - manipy - activate - ) - ) - ) - (t9-10 - (the-as - manipy - s5-1 - ) - self - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> - self - root-overlay - trans - ) - gp-2 - *fb-evilsis-sg* - #f - ) - (-> - s5-1 - ppointer - ) - ) - ) - ) - ) - (send-event - (handle->process (-> self evilsis)) - 'anim-mode - 'clone-anim - ) - (send-event - (handle->process (-> self evilsis)) - 'blend-shape - #t - ) - (send-event - (handle->process (-> self evilsis)) - 'center-joint - 3 - ) - ) - ) - ) - ) - ((= v1-0 'evilsis) - (let ((a0-44 (handle->process (-> self evilbro)))) - (if a0-44 - (deactivate a0-44) - ) - ) - (let ((a0-48 (handle->process (-> self evilsis)))) - (if a0-48 - (deactivate a0-48) - ) - ) - ) - ) - ) + ) + (send-event (handle->process (-> self evilsis)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> self evilsis)) 'blend-shape #t) + (send-event (handle->process (-> self evilsis)) 'center-joint 3) + ) + ) + ) + ) + ((= v1-0 'evilsis) + (let ((a0-44 (handle->process (-> self evilbro)))) + (if a0-44 + (deactivate a0-44) + ) + ) + (let ((a0-48 (handle->process (-> self evilsis)))) + (if a0-48 + (deactivate a0-48) + ) + ) + ) + ) + ) + ) ) - ) :code (behavior () - (set! (-> self propeller enable) #f) - (set! (-> self evilbro) (the-as handle #f)) - (set! (-> self evilsis) (the-as handle #f)) - (quaternion-identity! (-> self root-overlay quat)) - (set! (-> self root-overlay trans quad) (-> self entity extra trans quad)) - (set! (-> self player-riding) #f) - (set! (-> self auto-pilot) #f) - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 1) - (set! (-> a1-0 message) 'clone-anim) - (set! (-> a1-0 param 0) (the-as uint self)) - (when (send-event-function *target* a1-0) - (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) - (send-event *target* 'blend-shape #t) - (let* ((gp-0 (get-process *default-dead-pool* othercam #x4000)) - (v1-20 (when gp-0 - (let ((t9-5 (method-of-type othercam activate))) - (t9-5 - (the-as othercam gp-0) - self - 'othercam - (the-as pointer #x70004000) + (set! (-> self propeller enable) #f) + (set! (-> self evilbro) (the-as handle #f)) + (set! (-> self evilsis) (the-as handle #f)) + (quaternion-identity! (-> self root-overlay quat)) + (set! (-> self root-overlay trans quad) (-> self entity extra trans quad)) + (set! (-> self player-riding) #f) + (set! (-> self auto-pilot) #f) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 1) + (set! (-> a1-0 message) 'clone-anim) + (set! (-> a1-0 param 0) (the-as uint self)) + (when (send-event-function *target* a1-0) + (send-event (ppointer->process (-> *target* sidekick)) 'matrix 'play-anim) + (send-event *target* 'blend-shape #t) + (let* ((gp-0 (get-process *default-dead-pool* othercam #x4000)) + (v1-20 (when gp-0 + (let ((t9-5 (method-of-type othercam activate))) + (t9-5 (the-as othercam gp-0) self 'othercam (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 othercam-init-by-other self 5 #f #t) + (-> gp-0 ppointer) + ) ) - ) - (run-now-in-process - gp-0 - othercam-init-by-other - self - 5 - #f - #t - ) - (-> gp-0 ppointer) - ) - ) - ) - (send-event (ppointer->process v1-20) 'mask 2048) + ) + (send-event (ppointer->process v1-20) 'mask 2048) + ) + (set! (-> self draw force-lod) 0) + (ja-play-spooled-anim + (-> self anim) + (the-as art-joint-anim (-> self draw art-group data 3)) + (the-as art-joint-anim #f) + (the-as (function process-drawable symbol) false-func) + ) + (set! (-> self draw force-lod) -1) + (send-event *target* 'blend-shape #f) + (ja-channel-set! 1) + (let ((v1-33 (-> self skel root-channel 0))) + (set! (-> v1-33 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) + (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) + (matrix->quaternion (-> self root-overlay quat) (-> self node-list data 3 bone transform)) + (fishermans-boat-reset-physics) + (transform-post) + (when *target* + (vector<-cspace! (the-as vector (-> self old-target-pos)) (-> *target* node-list data 3)) + (send-event *target* 'trans 'restore (-> self old-target-pos)) + (send-event *target* 'end-mode) + (dummy-47 (-> self root-overlay)) + (dummy-60 (-> *target* control) 4096.0 40960.0 #t (-> *target* control root-prim collide-with)) + (logior! (-> *target* control status) 7) + (suspend) + (send-event *camera* 'teleport-to-other-start-string) + ) + (set-continue! *game-info* "village1-hut") + ) ) - (set! (-> self draw force-lod) 0) - (ja-play-spooled-anim - (-> self anim) - (the-as art-joint-anim (-> self draw art-group data 3)) - (the-as art-joint-anim #f) - (the-as (function process-drawable symbol) false-func) - ) - (set! (-> self draw force-lod) -1) - (send-event *target* 'blend-shape #f) - (ja-channel-set! 1) - (let ((v1-33 (-> self skel root-channel 0))) - (set! - (-> v1-33 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - ) - (vector<-cspace! (-> self root-overlay trans) (-> self node-list data 3)) - (matrix->quaternion - (-> self root-overlay quat) - (-> self node-list data 3 bone transform) - ) - (fishermans-boat-reset-physics) - (transform-post) - (when *target* - (vector<-cspace! - (the-as vector (-> self old-target-pos)) - (-> *target* node-list data 3) - ) - (send-event *target* 'trans 'restore (-> self old-target-pos)) - (send-event *target* 'end-mode) - (dummy-47 (-> self root-overlay)) - (dummy-60 - (-> *target* control) - 4096.0 - 40960.0 - #t - (-> *target* control root-prim collide-with) - ) - (logior! (-> *target* control status) 7) - (suspend) - (send-event *camera* 'teleport-to-other-start-string) - ) - (set-continue! *game-info* "village1-hut") - ) + (set! (-> self waiting-for-player) #t) + (set! (-> self ignition) #f) + (set! (-> self anchored) #t) + (set! (-> self propeller enable) #t) + (fishermans-boat-play-sounds) + (process-entity-status! self (entity-perm-status complete) #t) + (go fishermans-boat-docked-village) + (none) ) - (set! (-> self waiting-for-player) #t) - (set! (-> self ignition) #f) - (set! (-> self anchored) #t) - (set! (-> self propeller enable) #t) - (fishermans-boat-play-sounds) - (process-entity-status! self (entity-perm-status complete) #t) - (go fishermans-boat-docked-village) - (none) - ) :post - (behavior () - (ja-post) - (fishermans-boat-spawn-particles 81920.0) - (fishermans-boat-play-sounds) - (none) - ) + (behavior () (ja-post) (fishermans-boat-spawn-particles 81920.0) (fishermans-boat-play-sounds) (none)) ) diff --git a/test/decompiler/reference/levels/village1/sage_REF.gc b/test/decompiler/reference/levels/village1/sage_REF.gc index 2021f13cac..c93ce68112 100644 --- a/test/decompiler/reference/levels/village1/sage_REF.gc +++ b/test/decompiler/reference/levels/village1/sage_REF.gc @@ -15,8 +15,8 @@ ;; definition for method 3 of type sage (defmethod inspect sage ((obj sage)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Treminder-played: ~A~%" (-> obj reminder-played)) (format #t "~T~Tassistant: ~D~%" (-> obj assistant)) obj @@ -35,1126 +35,462 @@ ;; definition for method 32 of type sage (defmethod play-anim! sage ((obj sage) (arg0 symbol)) (with-pp - (when (!= *kernel-boot-message* 'play) - (close-specific-task! (game-task intro) (task-status need-resolution)) - (return - (new 'static 'spool-anim - :name "sage-introduction-misty-cannon" - :index 8 - :parts 12 - :command-list - '( - ((the binteger 1) - blackout - 0 - ) - ((the binteger 100) - want-levels - village1 - misty - ) - ((the binteger 261) - joint - "cameraB" - ) - ((the binteger 521) - joint - "camera" - ) - ((the binteger 776) - joint - "cameraB" - ) - ((the binteger 810) - joint - "camera" - ) - ((the binteger 1171) - joint - "cameraB" - ) - ((the binteger 1235) - joint - "camera" - ) - ((the binteger 1235) - save - ) - ((the binteger 1418) blackout (the binteger 30)) - ) - ) - ) - ) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (case (current-task (-> obj tasks)) - (((game-task intro)) - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (set-setting! *setting-control* pp 'music-volume-movie 'abs 0.0 0) - (copy-settings-from-target! *setting-control*) - ) - (new 'static 'spool-anim - :name "sage-intro-sequence-d1" - :index 16 - :parts 17 - :command-list - '( - (0 - display-level - misty - #f - ) - (0 - display-level - village1 - display - ) - (0 - want-vis - vi1 - ) - (0 - save - ) - (0 - want-force-inside - village1 - #t - ) - (0 - want-force-vis - village1 - #t - ) - (0 - kill - "assistant-11" - ) - (0 - kill - "reflector-middle-2" - ) - (0 - kill - "eco-11" - ) - (0 - kill - "eco-10" - ) - (0 - kill - "sharkey-12" - ) - (0 - kill - "reflector-end-1" - ) - (0 - kill - "water-vol-10" - ) - (0 - kill - "water-vol-8" - ) - (0 - kill - "water-vol-7" - ) - (0 - kill - "fishermans-boat-2" - ) - (0 - kill - "revcycleprop-2" - ) - (0 - kill - "revcycle-8" - ) - (0 - kill - "ropebridge-5" - ) - (0 - kill - "ropebridge-4" - ) - (0 - kill - "villagea-water-2" - ) - (0 - time-of-day - (the binteger 7) - ) - ((the binteger 1) - time-of-day - (the binteger -1) - ) - ((the binteger 3) - blackout - 0 - ) - ((the binteger 25) - blackout - 0 - ) - ((the binteger 25) - want-force-vis - village1 - #f - ) - ((the binteger 56) - joint - "cameraB" - ) - ((the binteger 100) - want-force-inside - village1 - #f - ) - ((the binteger 107) - joint - "camera" - ) - ((the binteger 137) - joint - "cameraB" - ) - ((the binteger 202) - joint - "camera" - ) - ((the binteger 286) - joint - "cameraB" - ) - ((the binteger 554) - joint - "camera" - ) - ((the binteger 633) - joint - "cameraB" - ) - ((the binteger 711) - joint - "camera" - ) - ((the binteger 796) - joint - "cameraB" - ) - ((the binteger 921) - joint - "camera" - ) - ((the binteger 1021) - shadow - self - #f - ) - ((the binteger 1021) - joint - "cameraB" - ) - ((the binteger 1081) - joint - "camera" - ) - ((the binteger 1183) - joint - "cameraB" - ) - ((the binteger 1221) - joint - "camera" - ) - ((the binteger 1496) - shadow - self - #t - ) - ((the binteger 1496) - joint - "cameraB" - ) - ((the binteger 1496) - time-of-day - (the binteger 18) - ) - ((the binteger 1721) - joint - "camera" - ) - ((the binteger 1721) - time-of-day - (the binteger 7) - ) - ((the binteger 1722) time-of-day (the binteger -1)) - ) - ) - ) - (((game-task beach-ecorocks)) - (when arg0 - (let* ((s5-1 (-> obj tasks)) - (s4-0 (method-of-object s5-1 save-reminder)) - (a1-6 (new 'stack-no-clear 'event-message-block)) + (when (!= *kernel-boot-message* 'play) + (close-specific-task! (game-task intro) (task-status need-resolution)) + (return (new 'static 'spool-anim + :name "sage-introduction-misty-cannon" + :index 8 + :parts 12 + :command-list + '(((the binteger 1) blackout 0) + ((the binteger 100) want-levels village1 misty) + ((the binteger 261) joint "cameraB") + ((the binteger 521) joint "camera") + ((the binteger 776) joint "cameraB") + ((the binteger 810) joint "camera") + ((the binteger 1171) joint "cameraB") + ((the binteger 1235) joint "camera") + ((the binteger 1235) save) + ((the binteger 1418) blackout (the binteger 30)) + ) ) - (set! (-> a1-6 from) pp) - (set! (-> a1-6 num-params) 2) - (set! (-> a1-6 message) 'query) - (set! (-> a1-6 param 0) (the-as uint 'pickup)) - (set! (-> a1-6 param 1) (the-as uint 6)) - (s4-0 - s5-1 - (the int (the-as float (send-event-function *target* a1-6))) - 1 - ) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "sage-intro-sequence-e" - :index 14 - :parts 13 - :command-list - '( - (0 - want-levels - village1 - beach - ) - (0 - blackout - 0 - ) - ((the binteger 197) - joint - "cameraB" - ) - ((the binteger 361) - joint - "camera" - ) - ((the binteger 660) - joint - "cameraB" - ) - ((the binteger 937) - display-level - beach - movie - ) - ((the binteger 937) - want-force-vis - beach - #t - ) - ((the binteger 938) - alive - "ecoventrock-3" - ) - ((the binteger 938) - alive - "ecoventrock-4" - ) - ((the binteger 938) - alive - "ecoventrock-5" - ) - ((the binteger 938) - alive - "ecoventrock-6" - ) - ((the binteger 938) - alive - "ecoventrock-7" - ) - ((the binteger 938) - alive - "harvester-87" - ) - ((the binteger 938) - alive - "harvester-88" - ) - ((the binteger 938) - alive - "harvester-89" - ) - ((the binteger 938) - alive - "harvester-90" - ) - ((the binteger 938) - alive - "harvester-91" - ) - ((the binteger 940) - joint - "camera" - ) - ((the binteger 1160) - joint - "cameraB" - ) - ((the binteger 1162) - dead - "ecoventrock-3" - ) - ((the binteger 1162) - dead - "ecoventrock-4" - ) - ((the binteger 1162) - dead - "ecoventrock-5" - ) - ((the binteger 1162) - dead - "ecoventrock-6" - ) - ((the binteger 1162) - dead - "ecoventrock-7" - ) - ((the binteger 1162) - dead - "harvester-87" - ) - ((the binteger 1162) - dead - "harvester-88" - ) - ((the binteger 1162) - dead - "harvester-89" - ) - ((the binteger 1162) - dead - "harvester-90" - ) - ((the binteger 1162) - dead - "harvester-91" - ) - ((the binteger 1310) - joint - "camera" - ) - ((the binteger 1313) - want-force-vis - beach - #f - ) - ((the binteger 1313) - display-level - beach - #f - ) - ((the binteger 1313) send-event "warp-gate-switch-3" 'hide) - ) - ) - ) - (else - (if arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "sage-introduction-misty-cannon" - :index 8 - :parts 12 - :command-list - '( - (0 - want-levels - village1 - beach - ) - ((the binteger 261) - joint - "cameraB" - ) - ((the binteger 521) - joint - "camera" - ) - ((the binteger 776) - joint - "cameraB" - ) - ((the binteger 810) - joint - "camera" - ) - ((the binteger 1171) - joint - "cameraB" - ) - ((the binteger 1235) joint "camera") - ) - ) - ) - ) + ) ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (if arg0 - (set! (-> obj reminder-played) #t) - ) - (case (get-reminder (-> obj tasks) 0) - ((3) - (new 'static 'spool-anim - :name "sage-reminder-2-generic" - :index 13 - :parts 4 - :command-list '() - ) - ) - ((2) - (new 'static 'spool-anim - :name "sage-reminder-1-generic" - :index 12 - :parts 3 - :command-list '() - ) - ) - ((1) - (new 'static 'spool-anim - :name "sage-reminder-1-misty-cannon" - :index 9 - :parts 5 - :command-list - '( - ((the binteger 86) joint "cameraB") ((the binteger 320) joint "camera") + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (case (current-task (-> obj tasks)) + (((game-task intro)) + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (set-setting! *setting-control* pp 'music-volume-movie 'abs 0.0 0) + (copy-settings-from-target! *setting-control*) + ) + (new 'static 'spool-anim + :name "sage-intro-sequence-d1" + :index 16 + :parts 17 + :command-list + '((0 display-level misty #f) + (0 display-level village1 display) + (0 want-vis vi1) + (0 save) + (0 want-force-inside village1 #t) + (0 want-force-vis village1 #t) + (0 kill "assistant-11") + (0 kill "reflector-middle-2") + (0 kill "eco-11") + (0 kill "eco-10") + (0 kill "sharkey-12") + (0 kill "reflector-end-1") + (0 kill "water-vol-10") + (0 kill "water-vol-8") + (0 kill "water-vol-7") + (0 kill "fishermans-boat-2") + (0 kill "revcycleprop-2") + (0 kill "revcycle-8") + (0 kill "ropebridge-5") + (0 kill "ropebridge-4") + (0 kill "villagea-water-2") + (0 time-of-day (the binteger 7)) + ((the binteger 1) time-of-day (the binteger -1)) + ((the binteger 3) blackout 0) + ((the binteger 25) blackout 0) + ((the binteger 25) want-force-vis village1 #f) + ((the binteger 56) joint "cameraB") + ((the binteger 100) want-force-inside village1 #f) + ((the binteger 107) joint "camera") + ((the binteger 137) joint "cameraB") + ((the binteger 202) joint "camera") + ((the binteger 286) joint "cameraB") + ((the binteger 554) joint "camera") + ((the binteger 633) joint "cameraB") + ((the binteger 711) joint "camera") + ((the binteger 796) joint "cameraB") + ((the binteger 921) joint "camera") + ((the binteger 1021) shadow self #f) + ((the binteger 1021) joint "cameraB") + ((the binteger 1081) joint "camera") + ((the binteger 1183) joint "cameraB") + ((the binteger 1221) joint "camera") + ((the binteger 1496) shadow self #t) + ((the binteger 1496) joint "cameraB") + ((the binteger 1496) time-of-day (the binteger 18)) + ((the binteger 1721) joint "camera") + ((the binteger 1721) time-of-day (the binteger 7)) + ((the binteger 1722) time-of-day (the binteger -1)) + ) + ) ) - ) + (((game-task beach-ecorocks)) + (when arg0 + (let* ((s5-1 (-> obj tasks)) + (s4-0 (method-of-object s5-1 save-reminder)) + (a1-6 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-6 from) pp) + (set! (-> a1-6 num-params) 2) + (set! (-> a1-6 message) 'query) + (set! (-> a1-6 param 0) (the-as uint 'pickup)) + (set! (-> a1-6 param 1) (the-as uint 6)) + (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-6))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "sage-intro-sequence-e" + :index 14 + :parts 13 + :command-list + '((0 want-levels village1 beach) + (0 blackout 0) + ((the binteger 197) joint "cameraB") + ((the binteger 361) joint "camera") + ((the binteger 660) joint "cameraB") + ((the binteger 937) display-level beach movie) + ((the binteger 937) want-force-vis beach #t) + ((the binteger 938) alive "ecoventrock-3") + ((the binteger 938) alive "ecoventrock-4") + ((the binteger 938) alive "ecoventrock-5") + ((the binteger 938) alive "ecoventrock-6") + ((the binteger 938) alive "ecoventrock-7") + ((the binteger 938) alive "harvester-87") + ((the binteger 938) alive "harvester-88") + ((the binteger 938) alive "harvester-89") + ((the binteger 938) alive "harvester-90") + ((the binteger 938) alive "harvester-91") + ((the binteger 940) joint "camera") + ((the binteger 1160) joint "cameraB") + ((the binteger 1162) dead "ecoventrock-3") + ((the binteger 1162) dead "ecoventrock-4") + ((the binteger 1162) dead "ecoventrock-5") + ((the binteger 1162) dead "ecoventrock-6") + ((the binteger 1162) dead "ecoventrock-7") + ((the binteger 1162) dead "harvester-87") + ((the binteger 1162) dead "harvester-88") + ((the binteger 1162) dead "harvester-89") + ((the binteger 1162) dead "harvester-90") + ((the binteger 1162) dead "harvester-91") + ((the binteger 1310) joint "camera") + ((the binteger 1313) want-force-vis beach #f) + ((the binteger 1313) display-level beach #f) + ((the binteger 1313) send-event "warp-gate-switch-3" 'hide) + ) + ) + ) + (else + (if arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "sage-introduction-misty-cannon" + :index 8 + :parts 12 + :command-list + '((0 want-levels village1 beach) + ((the binteger 261) joint "cameraB") + ((the binteger 521) joint "camera") + ((the binteger 776) joint "cameraB") + ((the binteger 810) joint "camera") + ((the binteger 1171) joint "cameraB") + ((the binteger 1235) joint "camera") + ) + ) + ) + ) + ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (if arg0 + (set! (-> obj reminder-played) #t) + ) + (case (get-reminder (-> obj tasks) 0) + ((3) + (new 'static 'spool-anim :name "sage-reminder-2-generic" :index 13 :parts 4 :command-list '()) + ) + ((2) + (new 'static 'spool-anim :name "sage-reminder-1-generic" :index 12 :parts 3 :command-list '()) + ) + ((1) + (new 'static 'spool-anim + :name "sage-reminder-1-misty-cannon" + :index 9 + :parts 5 + :command-list + '(((the binteger 86) joint "cameraB") ((the binteger 320) joint "camera")) + ) + ) + (else + (new 'static 'spool-anim + :name "sage-reminder-1-ecorocks" + :index 11 + :parts 4 + :command-list + '((0 want-levels village1 beach) + ((the binteger 245) display-level beach movie) + ((the binteger 245) want-force-vis beach #t) + ((the binteger 246) alive "ecoventrock-3") + ((the binteger 246) alive "ecoventrock-4") + ((the binteger 246) alive "ecoventrock-5") + ((the binteger 246) alive "ecoventrock-6") + ((the binteger 246) alive "ecoventrock-7") + ((the binteger 246) alive "harvester-87") + ((the binteger 246) alive "harvester-88") + ((the binteger 246) alive "harvester-89") + ((the binteger 246) alive "harvester-90") + ((the binteger 246) alive "harvester-91") + ((the binteger 246) joint "cameraB") + ((the binteger 365) want-force-vis beach #f) + ((the binteger 365) display-level beach #f) + ((the binteger 366) joint "camera") + ) + ) + ) + ) + ) + (((task-status need-reward-speech)) + (when arg0 + (set-setting! *setting-control* pp 'music-volume-movie 'abs 0.0 0) + (copy-settings-from-target! *setting-control*) + (close-status! (-> obj tasks) (task-status need-reward-speech)) + (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj assistant) + (ppointer->handle + (when s5-2 + (let ((t9-15 (method-of-type manipy activate))) + (t9-15 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *assistant-sg* #f) + (-> s5-2 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj assistant)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj assistant)) 'blend-shape #t) + (send-event (handle->process (-> obj assistant)) 'center-joint 3) + (let ((v1-68 (handle->process (-> obj assistant)))) + (if v1-68 + (set! (-> (the-as assistant v1-68) draw light-index) (the-as uint 1)) + ) + ) + (set! (-> obj draw bounds w) 40960.0) + ) + (new 'static 'spool-anim + :name "sage-intro-sequence-d2" + :index 15 + :parts 20 + :command-list + '((0 want-levels village1 beach) + (0 kill "assistant-11") + (0 kill "reflector-middle-2") + (0 kill "eco-11") + (0 kill "eco-10") + (0 kill "sharkey-12") + (0 kill "reflector-end-1") + (0 kill "water-vol-10") + (0 kill "water-vol-8") + (0 kill "water-vol-7") + (0 kill "fishermans-boat-2") + (0 kill "revcycleprop-2") + (0 kill "revcycle-8") + ((the binteger 113) joint "cameraB") + ((the binteger 232) joint "camera") + ((the binteger 289) joint "cameraB") + ((the binteger 338) joint "camera") + ((the binteger 405) joint "cameraB") + ((the binteger 560) joint "camera") + ((the binteger 660) joint "cameraB") + ((the binteger 699) joint "camera") + ((the binteger 837) joint "cameraB") + ((the binteger 837) shadow self #f) + ((the binteger 910) joint "camera") + ((the binteger 945) alive "farmer-3") + ((the binteger 945) alive "hutlamp-2") + ((the binteger 950) joint "cameraB") + ((the binteger 974) display-level beach movie) + ((the binteger 974) want-force-vis beach #t) + ((the binteger 1011) alive "bird-lady-4") + ((the binteger 1015) joint "camera") + ((the binteger 1018) dead "farmer-3") + ((the binteger 1018) dead "hutlamp-2") + ((the binteger 1075) alive "explorer-4") + ((the binteger 1080) joint "cameraB") + ((the binteger 1080) want-force-vis beach #f) + ((the binteger 1080) display-level beach #f) + ((the binteger 1082) dead "bird-lady-4") + ((the binteger 1133) joint "camera") + ((the binteger 1135) dead "explorer-4") + ((the binteger 1244) display-level beach movie) + ((the binteger 1244) want-force-vis beach #t) + ((the binteger 1245) alive "fuel-cell-42") + ((the binteger 1246) joint "cameraB") + ((the binteger 1369) joint "camera") + ((the binteger 1438) alive "fuel-cell-42") + ((the binteger 1438) want-force-vis beach #f) + ((the binteger 1438) dead "fuel-cell-42") + ((the binteger 1438) kill "villagea-water-2") + ((the binteger 1438) kill "crate-3147") + ((the binteger 1438) kill "crate-3146") + ((the binteger 1438) kill "crate-3143") + ((the binteger 1438) kill "sagesail-6") + ((the binteger 1438) kill "windmill-sail-4") + ((the binteger 1438) kill "ropebridge-4") + ((the binteger 1438) kill "ropebridge-5") + ((the binteger 1438) kill "windspinner-8") + ((the binteger 1438) kill "windspinner-9") + ((the binteger 1438) joint "cameraB") + ((the binteger 1439) want-levels village1 training) + ((the binteger 1439) save) + ((the binteger 1529) joint "camera") + ((the binteger 1691) joint "cameraB") + ((the binteger 1753) joint "camera") + ((the binteger 1874) joint "cameraB") + ((the binteger 2057) joint "camera") + ((the binteger 2176) joint "cameraB") + ((the binteger 2226) joint "camera") + ((the binteger 2226) shadow self #t) + ) + ) ) (else - (new 'static 'spool-anim - :name "sage-reminder-1-ecorocks" - :index 11 - :parts 4 - :command-list - '( - (0 - want-levels - village1 - beach + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) ) - ((the binteger 245) - display-level - beach - movie - ) - ((the binteger 245) - want-force-vis - beach - #t - ) - ((the binteger 246) - alive - "ecoventrock-3" - ) - ((the binteger 246) - alive - "ecoventrock-4" - ) - ((the binteger 246) - alive - "ecoventrock-5" - ) - ((the binteger 246) - alive - "ecoventrock-6" - ) - ((the binteger 246) - alive - "ecoventrock-7" - ) - ((the binteger 246) - alive - "harvester-87" - ) - ((the binteger 246) - alive - "harvester-88" - ) - ((the binteger 246) - alive - "harvester-89" - ) - ((the binteger 246) - alive - "harvester-90" - ) - ((the binteger 246) - alive - "harvester-91" - ) - ((the binteger 246) - joint - "cameraB" - ) - ((the binteger 365) - want-force-vis - beach - #f - ) - ((the binteger 365) - display-level - beach - #f - ) - ((the binteger 366) joint "camera") - ) - ) - ) - ) - ) - (((task-status need-reward-speech)) - (when arg0 - (set-setting! *setting-control* pp 'music-volume-movie 'abs 0.0 0) - (copy-settings-from-target! *setting-control*) - (close-status! (-> obj tasks) (task-status need-reward-speech)) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj assistant) (ppointer->handle (when s5-2 - (let - ((t9-15 - (method-of-type - manipy - activate - ) - ) - ) - (t9-15 - (the-as manipy s5-2) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-2 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *assistant-sg* - #f - ) - (-> s5-2 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj assistant)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj assistant)) 'blend-shape #t) - (send-event (handle->process (-> obj assistant)) 'center-joint 3) - (let ((v1-68 (handle->process (-> obj assistant)))) - (if v1-68 - (set! (-> (the-as assistant v1-68) draw light-index) (the-as uint 1)) - ) - ) - (set! (-> obj draw bounds w) 40960.0) - ) - (new 'static 'spool-anim - :name "sage-intro-sequence-d2" - :index 15 - :parts 20 - :command-list - '( - (0 - want-levels - village1 - beach - ) - (0 - kill - "assistant-11" - ) - (0 - kill - "reflector-middle-2" - ) - (0 - kill - "eco-11" - ) - (0 - kill - "eco-10" - ) - (0 - kill - "sharkey-12" - ) - (0 - kill - "reflector-end-1" - ) - (0 - kill - "water-vol-10" - ) - (0 - kill - "water-vol-8" - ) - (0 - kill - "water-vol-7" - ) - (0 - kill - "fishermans-boat-2" - ) - (0 - kill - "revcycleprop-2" - ) - (0 - kill - "revcycle-8" - ) - ((the binteger 113) - joint - "cameraB" - ) - ((the binteger 232) - joint - "camera" - ) - ((the binteger 289) - joint - "cameraB" - ) - ((the binteger 338) - joint - "camera" - ) - ((the binteger 405) - joint - "cameraB" - ) - ((the binteger 560) - joint - "camera" - ) - ((the binteger 660) - joint - "cameraB" - ) - ((the binteger 699) - joint - "camera" - ) - ((the binteger 837) - joint - "cameraB" - ) - ((the binteger 837) - shadow - self - #f - ) - ((the binteger 910) - joint - "camera" - ) - ((the binteger 945) - alive - "farmer-3" - ) - ((the binteger 945) - alive - "hutlamp-2" - ) - ((the binteger 950) - joint - "cameraB" - ) - ((the binteger 974) - display-level - beach - movie - ) - ((the binteger 974) - want-force-vis - beach - #t - ) - ((the binteger 1011) - alive - "bird-lady-4" - ) - ((the binteger 1015) - joint - "camera" - ) - ((the binteger 1018) - dead - "farmer-3" - ) - ((the binteger 1018) - dead - "hutlamp-2" - ) - ((the binteger 1075) - alive - "explorer-4" - ) - ((the binteger 1080) - joint - "cameraB" - ) - ((the binteger 1080) - want-force-vis - beach - #f - ) - ((the binteger 1080) - display-level - beach - #f - ) - ((the binteger 1082) - dead - "bird-lady-4" - ) - ((the binteger 1133) - joint - "camera" - ) - ((the binteger 1135) - dead - "explorer-4" - ) - ((the binteger 1244) - display-level - beach - movie - ) - ((the binteger 1244) - want-force-vis - beach - #t - ) - ((the binteger 1245) - alive - "fuel-cell-42" - ) - ((the binteger 1246) - joint - "cameraB" - ) - ((the binteger 1369) - joint - "camera" - ) - ((the binteger 1438) - alive - "fuel-cell-42" - ) - ((the binteger 1438) - want-force-vis - beach - #f - ) - ((the binteger 1438) - dead - "fuel-cell-42" - ) - ((the binteger 1438) - kill - "villagea-water-2" - ) - ((the binteger 1438) - kill - "crate-3147" - ) - ((the binteger 1438) - kill - "crate-3146" - ) - ((the binteger 1438) - kill - "crate-3143" - ) - ((the binteger 1438) - kill - "sagesail-6" - ) - ((the binteger 1438) - kill - "windmill-sail-4" - ) - ((the binteger 1438) - kill - "ropebridge-4" - ) - ((the binteger 1438) - kill - "ropebridge-5" - ) - ((the binteger 1438) - kill - "windspinner-8" - ) - ((the binteger 1438) - kill - "windspinner-9" - ) - ((the binteger 1438) - joint - "cameraB" - ) - ((the binteger 1439) - want-levels - village1 - training - ) - ((the binteger 1439) - save - ) - ((the binteger 1529) - joint - "camera" - ) - ((the binteger 1691) - joint - "cameraB" - ) - ((the binteger 1753) - joint - "camera" - ) - ((the binteger 1874) - joint - "cameraB" - ) - ((the binteger 2057) - joint - "camera" - ) - ((the binteger 2176) - joint - "cameraB" - ) - ((the binteger 2226) - joint - "camera" - ) - ((the binteger 2226) shadow self #t) + (get-art-elem obj) ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (get-art-elem obj) - ) ) - ) ) ;; definition for method 45 of type sage ;; INFO: Return type mismatch symbol vs none. (defmethod dummy-45 sage ((obj sage)) (cond - ((and - (closed? - (-> obj tasks) - (game-task beach-ecorocks) - (task-status need-reminder) - ) - (= (get-reminder (-> obj tasks) 0) 0) + ((and + (closed? (-> obj tasks) (game-task beach-ecorocks) (task-status need-reminder)) + (= (get-reminder (-> obj tasks) 0) 0) + ) + #t ) - #t - ) - ((and - (closed? - (-> obj tasks) - (game-task misty-cannon) - (task-status need-reminder) - ) - (= (get-reminder (-> obj tasks) 0) 1) + ((and + (closed? (-> obj tasks) (game-task misty-cannon) (task-status need-reminder)) + (= (get-reminder (-> obj tasks) 0) 1) + ) + #t ) - #t - ) - ((and - (-> obj reminder-played) - (< - 81920.0 - (vector-vector-distance (-> obj root-override trans) (camera-pos)) - ) + ((and (-> obj reminder-played) (< 81920.0 (vector-vector-distance (-> obj root-override trans) (camera-pos)))) + #t ) - #t + (else + ) ) - (else - ) - ) (none) ) ;; definition for method 31 of type sage (defmethod get-art-elem sage ((obj sage)) (cond - ((and - (= (current-task (-> obj tasks)) (game-task beach-ecorocks)) - (or - (= (current-status (-> obj tasks)) (task-status need-hint)) - (= (current-status (-> obj tasks)) (task-status need-introduction)) - ) - ) - (save-reminder (-> obj tasks) 0 0) - ) - ((and - (= (current-task (-> obj tasks)) (game-task misty-cannon)) - (or - (= (current-status (-> obj tasks)) (task-status need-hint)) - (= (current-status (-> obj tasks)) (task-status need-introduction)) - ) - ) - (save-reminder (-> obj tasks) 1 0) - ) - ((dummy-45 obj) - (set! (-> obj reminder-played) #f) - (cond - ((= (current-task (-> obj tasks)) (game-task none)) - (case (get-reminder (-> obj tasks) 0) - ((2) - (save-reminder (-> obj tasks) 3 0) + ((and + (= (current-task (-> obj tasks)) (game-task beach-ecorocks)) + (or + (= (current-status (-> obj tasks)) (task-status need-hint)) + (= (current-status (-> obj tasks)) (task-status need-introduction)) ) + ) + (save-reminder (-> obj tasks) 0 0) + ) + ((and + (= (current-task (-> obj tasks)) (game-task misty-cannon)) + (or + (= (current-status (-> obj tasks)) (task-status need-hint)) + (= (current-status (-> obj tasks)) (task-status need-introduction)) + ) + ) + (save-reminder (-> obj tasks) 1 0) + ) + ((dummy-45 obj) + (set! (-> obj reminder-played) #f) + (cond + ((= (current-task (-> obj tasks)) (game-task none)) + (case (get-reminder (-> obj tasks) 0) + ((2) + (save-reminder (-> obj tasks) 3 0) + ) + (else + (save-reminder (-> obj tasks) 2 0) + ) + ) + ) + ((closed? (-> obj tasks) (game-task beach-ecorocks) (task-status need-reminder)) + (save-reminder (-> obj tasks) 1 0) + ) + ((or + (closed? (-> obj tasks) (game-task misty-cannon) (task-status need-reminder)) + (not (closed? (-> obj tasks) (game-task misty-cannon) (task-status need-introduction))) + ) + (save-reminder (-> obj tasks) 0 0) + ) + ((zero? (get-reminder (-> obj tasks) 0)) + (save-reminder (-> obj tasks) 1 0) + ) (else - (save-reminder (-> obj tasks) 2 0) - ) - ) - ) - ((closed? - (-> obj tasks) - (game-task beach-ecorocks) - (task-status need-reminder) - ) - (save-reminder (-> obj tasks) 1 0) - ) - ((or - (closed? - (-> obj tasks) - (game-task misty-cannon) - (task-status need-reminder) - ) - (not - (closed? - (-> obj tasks) - (game-task misty-cannon) - (task-status need-introduction) + (save-reminder (-> obj tasks) 0 0) ) - ) ) - (save-reminder (-> obj tasks) 0 0) - ) - ((zero? (get-reminder (-> obj tasks) 0)) - (save-reminder (-> obj tasks) 1 0) - ) - (else - (save-reminder (-> obj tasks) 0 0) - ) ) ) - ) - (case (get-reminder (-> obj tasks) 0) - ((3) + (case (get-reminder (-> obj tasks) 0) + ((3) (-> obj draw art-group data 7) ) - ((2) - (-> obj draw art-group data 6) + ((2) + (-> obj draw art-group data 6) + ) + ((1) + (-> obj draw art-group data 3) + ) + (else + (-> obj draw art-group data 4) + ) ) - ((1) - (-> obj draw art-group data 3) - ) - (else - (-> obj draw art-group data 4) - ) - ) ) ;; definition for method 43 of type sage (defmethod TODO-RENAME-43 sage ((obj sage)) - (let - ((s5-0 - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - ) - ) - (when s5-0 - (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-3 (the-as number (logior #x3f800000 v1-2))) - (f0-2 (+ -1.0 (the-as float v1-3))) + (let ((s5-0 (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj))) + (when s5-0 + (let* ((v1-2 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-3 (the-as number (logior #x3f800000 v1-2))) + (f0-2 (+ -1.0 (the-as float v1-3))) + ) + (cond + ((< (-> s5-0 y) -12288.0) + #f ) - (cond - ((< (-> s5-0 y) -12288.0) - #f - ) - ((< 0.8 f0-2) - (play-ambient - (-> obj ambient) - "SAGELP03" - #f - (-> obj root-override trans) + ((< 0.8 f0-2) + (play-ambient (-> obj ambient) "SAGELP03" #f (-> obj root-override trans)) + ) + ((< 0.6 f0-2) + (play-ambient (-> obj ambient) "SAGELP04" #f (-> obj root-override trans)) + ) + ((< 0.4 f0-2) + (play-ambient (-> obj ambient) "SAGELP05" #f (-> obj root-override trans)) + ) + ((< 0.2 f0-2) + (play-ambient (-> obj ambient) "SAGELP06" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "SAGELP11" #f (-> obj root-override trans)) + ) + ) ) - ) - ((< 0.6 f0-2) - (play-ambient - (-> obj ambient) - "SAGELP04" - #f - (-> obj root-override trans) - ) - ) - ((< 0.4 f0-2) - (play-ambient - (-> obj ambient) - "SAGELP05" - #f - (-> obj root-override trans) - ) - ) - ((< 0.2 f0-2) - (play-ambient - (-> obj ambient) - "SAGELP06" - #f - (-> obj root-override trans) - ) - ) - (else - (play-ambient - (-> obj ambient) - "SAGELP11" - #f - (-> obj root-override trans) - ) - ) ) - ) ) - ) ) ;; failed to figure out what this is: @@ -1162,142 +498,103 @@ :virtual #t :trans (behavior () - (case (get-task-status (game-task intro)) - (((task-status need-reward-speech)) - (if (process-grab? *target*) - (send-event self 'play-anim) + (case (get-task-status (game-task intro)) + (((task-status need-reward-speech)) + (if (process-grab? *target*) + (send-event self 'play-anim) + ) ) ) + ((-> (method-of-type process-taskable idle) trans)) + (none) ) - ((-> (method-of-type process-taskable idle) trans)) - (none) - ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - ) - (let* ((f30-0 3.0) - (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-10 (the-as number (logior #x3f800000 v1-9))) - ) - (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) - (TODO-RENAME-43 self) - (let ((a0-11 (-> self skel root-channel 0))) - (set! (-> a0-11 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-11 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) ) - ) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if - (and - (-> self reminder-played) - (< - 81920.0 - (vector-vector-distance (-> self root-override trans) (camera-pos)) - ) - ) - (go-virtual idle) - ) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (when (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (get-art-elem self) ) - (-> self draw art-group data 4) - ) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-20 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (ja-channel-push! 1 60) + ) + (while #t + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + ) + (let* ((f30-0 3.0) + (v1-9 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-10 (the-as number (logior #x3f800000 v1-9))) + ) + (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-10)))) 5)) + (TODO-RENAME-43 self) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-11 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-11 param 1) 1.0) + (set! (-> a0-11 frame-num) 0.0) + (joint-control-channel-group! + a0-11 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (if (and + (-> self reminder-played) + (< 81920.0 (vector-vector-distance (-> self root-override trans) (camera-pos))) + ) + (go-virtual idle) + ) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (when (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 4) + ) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-20 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-20 param 1) 1.0) + (set! (-> a0-20 frame-num) 0.0) + (joint-control-channel-group! a0-20 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 param 0) (the float (+ (-> a0-21 frame-group data 0 length) -1))) + (set! (-> a0-21 param 1) 1.0) + (joint-control-channel-group-eval! a0-21 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-20 param 1) 1.0) - (set! (-> a0-20 frame-num) 0.0) - (joint-control-channel-group! - a0-20 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-21 (-> self skel root-channel 0))) - (set! - (-> a0-21 param 0) - (the float (+ (-> a0-21 frame-group data 0 length) -1)) - ) - (set! (-> a0-21 param 1) 1.0) - (joint-control-channel-group-eval! - a0-21 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -1305,36 +602,32 @@ :virtual #t :exit (behavior () - (set! (-> self draw bounds w) 10240.0) - (let ((a0-1 (handle->process (-> self assistant)))) - (if a0-1 - (deactivate a0-1) - ) - ) - ((-> (method-of-type process-taskable play-anim) exit)) - (case (get-task-status (game-task intro)) - (((task-status need-resolution)) - (clear-pending-settings-from-process - *setting-control* - self - 'music-volume-movie - ) - (close-specific-task! (game-task intro) (task-status need-resolution)) - (start 'play (get-continue-by-name *game-info* "game-start")) + (set! (-> self draw bounds w) 10240.0) + (let ((a0-1 (handle->process (-> self assistant)))) + (if a0-1 + (deactivate a0-1) + ) ) + ((-> (method-of-type process-taskable play-anim) exit)) + (case (get-task-status (game-task intro)) + (((task-status need-resolution)) + (clear-pending-settings-from-process *setting-control* self 'music-volume-movie) + (close-specific-task! (game-task intro) (task-status need-resolution)) + (start 'play (get-continue-by-name *game-info* "game-start")) + ) + ) + (none) ) - (none) - ) :trans (behavior () - (case (get-task-status (game-task intro)) - (((task-status need-reward-speech)) - (spool-push *art-control* "sage-intro-sequence-d2" 0 self -1.0) + (case (get-task-status (game-task intro)) + (((task-status need-reward-speech)) + (spool-push *art-control* "sage-intro-sequence-d2" 0 self -1.0) + ) ) + ((-> (method-of-type process-taskable play-anim) trans)) + (none) ) - ((-> (method-of-type process-taskable play-anim) trans)) - (none) - ) ) ;; definition for method 39 of type sage @@ -1345,39 +638,38 @@ ;; definition for method 41 of type sage ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision sage ((obj sage) (arg0 int) (arg1 vector)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) arg0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 10240.0) - (set-root-prim! s5-0 s4-0) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) arg0) - (set-vector! (-> s2-0 local-sphere) 0.0 -2048.0 0.0 5324.8) - (append-prim s4-0 s2-0) - ) - (let ((s2-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s2-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 1)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) arg0) - (set-vector! (-> s2-1 local-sphere) 0.0 2048.0 0.0 5324.8) - (append-prim s4-0 s2-1) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) arg0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 10240.0) + (set-root-prim! s5-0 s4-0) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) arg0) + (set-vector! (-> s2-0 local-sphere) 0.0 -2048.0 0.0 5324.8) + (append-prim s4-0 s2-0) + ) + (let ((s2-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 1)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) arg0) + (set-vector! (-> s2-1 local-sphere) 0.0 2048.0 0.0 5324.8) + (append-prim s4-0 s2-1) + ) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) diff --git a/test/decompiler/reference/levels/village1/village-obs-VI1_REF.gc b/test/decompiler/reference/levels/village1/village-obs-VI1_REF.gc index 0e8fda3329..1c4890f057 100644 --- a/test/decompiler/reference/levels/village1/village-obs-VI1_REF.gc +++ b/test/decompiler/reference/levels/village1/village-obs-VI1_REF.gc @@ -110,131 +110,123 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 368) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 2.5) - (sp-flt spt-x (meters 0.8)) - (sp-flt spt-scale-x (meters 1.7)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 64.0) - (sp-flt spt-scalevel-x (meters -0.0020833334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.08888889) - (sp-flt spt-accel-y -0.13653333) - (sp-int spt-timer 720) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-int-flt spt-conerot-x (degrees 0.0) 3 16384.0) - (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 17.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 368) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 2.5) + (sp-flt spt-x (meters 0.8)) + (sp-flt spt-scale-x (meters 1.7)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 64.0) + (sp-flt spt-scalevel-x (meters -0.0020833334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.08888889) + (sp-flt spt-accel-y -0.13653333) + (sp-int spt-timer 720) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-int-flt spt-conerot-x (degrees 0.0) 3 16384.0) + (sp-rnd-flt spt-conerot-radius (meters 2.0) (meters 17.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 369) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 3.0) - (sp-flt spt-x (meters 4.0)) - (sp-flt spt-scale-x (meters 0.5)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-vel-x (meters -0.01) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.050666668)) - (sp-rnd-flt spt-vel-z (meters -0.01) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.35555556) - (sp-flt spt-fade-g -0.35555556) - (sp-flt spt-fade-a 0.35555556) - (sp-int spt-timer 165) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-int-flt spt-conerot-x (degrees -45.0) 3 16384.0) - (sp-flt spt-conerot-radius (meters 2.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 369) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 3.0) + (sp-flt spt-x (meters 4.0)) + (sp-flt spt-scale-x (meters 0.5)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-vel-x (meters -0.01) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.050666668)) + (sp-rnd-flt spt-vel-z (meters -0.01) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.35555556) + (sp-flt spt-fade-g -0.35555556) + (sp-flt spt-fade-a 0.35555556) + (sp-int spt-timer 165) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-int-flt spt-conerot-x (degrees -45.0) 3 16384.0) + (sp-flt spt-conerot-radius (meters 2.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 370) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 5.0) - (sp-flt spt-x (meters 4.0)) - (sp-flt spt-scale-x (meters 1.7)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 64.0) - (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.07666667) 1.0) - (sp-flt spt-vel-y (meters -0.006666667)) - (sp-rnd-flt spt-vel-z (meters -0.05) (meters 0.1) 1.0) - (sp-flt spt-scalevel-x (meters -0.008333334)) - (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.17777778) - (sp-flt spt-accel-y -4.096) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-int-flt spt-conerot-x (degrees -45.0) 3 16384.0) - (sp-flt spt-conerot-radius (meters 10.6)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 370) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 5.0) + (sp-flt spt-x (meters 4.0)) + (sp-flt spt-scale-x (meters 1.7)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 64.0) + (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.07666667) 1.0) + (sp-flt spt-vel-y (meters -0.006666667)) + (sp-rnd-flt spt-vel-z (meters -0.05) (meters 0.1) 1.0) + (sp-flt spt-scalevel-x (meters -0.008333334)) + (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.17777778) + (sp-flt spt-accel-y -4.096) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-int-flt spt-conerot-x (degrees -45.0) 3 16384.0) + (sp-flt spt-conerot-radius (meters 10.6)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 371) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 3.8) - (sp-flt spt-x (meters 5.5)) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-rnd-flt spt-g 0.0 64.0 1.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 196.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) - (sp-flt spt-vel-y (meters 0.0073333336)) - (sp-flt spt-scalevel-x (meters -0.008333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.17777778) - (sp-flt spt-fade-a -1.0888889) - (sp-int spt-timer 165) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.3) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 371) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 3.8) + (sp-flt spt-x (meters 5.5)) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-rnd-flt spt-g 0.0 64.0 1.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 196.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.026666667) 1.0) + (sp-flt spt-vel-y (meters 0.0073333336)) + (sp-flt spt-scalevel-x (meters -0.008333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.17777778) + (sp-flt spt-fade-a -1.0888889) + (sp-int spt-timer 165) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 2.3) 1.0) + (sp-end) + ) + ) + ) ;; definition of type windmill-sail (deftype windmill-sail (process-drawable) @@ -254,8 +246,8 @@ ;; definition for method 3 of type windmill-sail (defmethod inspect windmill-sail ((obj windmill-sail)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Tblade-normal: #~%" (-> obj blade-normal)) (format #t "~T~Torig-quat: #~%" (-> obj orig-quat)) @@ -268,16 +260,16 @@ ;; INFO: Return type mismatch process-drawable vs windmill-sail. (defmethod relocate windmill-sail ((obj windmill-sail) (arg0 int)) (if (nonzero? (-> obj part2)) - (&+! (-> obj part2) arg0) - ) + (&+! (-> obj part2) arg0) + ) (the-as windmill-sail ((method-of-type process-drawable relocate) obj arg0)) ) ;; definition for method 10 of type windmill-sail (defmethod deactivate windmill-sail ((obj windmill-sail)) (if (nonzero? (-> obj part2)) - (kill-and-free-particles (-> obj part2)) - ) + (kill-and-free-particles (-> obj part2)) + ) ((method-of-type process-drawable deactivate) obj) (none) ) @@ -292,104 +284,89 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 123) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-win-wind-mill" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 368 :fade-after (meters 100.0)) - (sp-item 369 :fade-after (meters 100.0)) - (sp-item 370 :fade-after (meters 200.0)) - (sp-item 371 :fade-after (meters 200.0)) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) +(set! (-> *part-group-id-table* 123) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-win-wind-mill" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 368 :fade-after (meters 100.0)) + (sp-item 369 :fade-after (meters 100.0)) + (sp-item 370 :fade-after (meters 200.0)) + (sp-item 371 :fade-after (meters 200.0)) + ) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 124) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-win-wind-mill-hires" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 368) - (sp-item 369) - (sp-item 370) - (sp-item 371) - ) - :bounds (new 'static 'sphere :w 81920.0) - ) - ) +(set! (-> *part-group-id-table* 124) + (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-win-wind-mill-hires" + :launcher + (new 'static 'inline-array sparticle-group-item 4 (sp-item 368) (sp-item 369) (sp-item 370) (sp-item 371)) + :bounds (new 'static 'sphere :w 81920.0) + ) + ) ;; failed to figure out what this is: (defstate windmill-sail-idle (windmill-sail) :trans (behavior () - (cond - ((task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) - (let ((f30-0 (get-current-value (-> self sync) 65536.0))) - (set! (-> self sync period) (the-as uint 4800)) - (quaternion-axis-angle! - (-> self root-override quat) - (-> self blade-normal x) - (-> self blade-normal y) - (-> self blade-normal z) - f30-0 - ) - (quaternion*! - (-> self root-override quat) - (-> self root-override quat) - (-> self orig-quat) - ) - (quaternion-normalize! (-> self root-override quat)) - (set! (-> *part-id-table* 368 init-specs 15 initial-valuef) f30-0) - ) - (spawn (if (movie?) + (cond + ((task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) + (let ((f30-0 (get-current-value (-> self sync) 65536.0))) + (set! (-> self sync period) (the-as uint 4800)) + (quaternion-axis-angle! + (-> self root-override quat) + (-> self blade-normal x) + (-> self blade-normal y) + (-> self blade-normal z) + f30-0 + ) + (quaternion*! (-> self root-override quat) (-> self root-override quat) (-> self orig-quat)) + (quaternion-normalize! (-> self root-override quat)) + (set! (-> *part-id-table* 368 init-specs 15 initial-valuef) f30-0) + ) + (spawn + (if (movie?) (-> self part2) (-> self part) ) - (-> self root-override trans) - ) - (if (nonzero? (-> self sound)) - (change-sound! (-> self sound) (static-sound-name "mayors-gears")) - ) - ) - (else - (set! (-> self sync period) (the-as uint #x15f90)) - (let ((f0-3 (get-current-value (-> self sync) 65536.0))) - (quaternion-axis-angle! - (-> self root-override quat) - (-> self blade-normal x) - (-> self blade-normal y) - (-> self blade-normal z) - f0-3 + (-> self root-override trans) + ) + (if (nonzero? (-> self sound)) + (change-sound! (-> self sound) (static-sound-name "mayors-gears")) + ) ) + (else + (set! (-> self sync period) (the-as uint #x15f90)) + (let ((f0-3 (get-current-value (-> self sync) 65536.0))) + (quaternion-axis-angle! + (-> self root-override quat) + (-> self blade-normal x) + (-> self blade-normal y) + (-> self blade-normal z) + f0-3 + ) + ) + (quaternion*! (-> self root-override quat) (-> self root-override quat) (-> self orig-quat)) + (quaternion-normalize! (-> self root-override quat)) + ) ) - (quaternion*! - (-> self root-override quat) - (-> self root-override quat) - (-> self orig-quat) - ) - (quaternion-normalize! (-> self root-override quat)) - ) + (if (nonzero? (-> self sound)) + (update! (-> self sound)) + ) + (if (= (-> self draw cur-lod) (-> self draw lod-set max-lod)) + (logior! (-> self draw status) 64) + (set! (-> self draw status) (logand -65 (-> self draw status))) + ) + (none) ) - (if (nonzero? (-> self sound)) - (update! (-> self sound)) - ) - (if (= (-> self draw cur-lod) (-> self draw lod-set max-lod)) - (logior! (-> self draw status) 64) - (set! (-> self draw status) (logand -65 (-> self draw status))) - ) - (none) - ) :code (the-as (function none :behavior windmill-sail) anim-loop) :post @@ -398,10 +375,7 @@ ;; definition for method 11 of type windmill-sail ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - windmill-sail - ((obj windmill-sail) (arg0 entity-actor)) +(defmethod init-from-entity! windmill-sail ((obj windmill-sail) (arg0 entity-actor)) (set! (-> obj mask) (logior (process-mask ambient) (-> obj mask))) (load-params! (-> obj sync) obj (the-as uint 4800) 0.0 0.15 0.15) (set! (-> obj root-override) (new 'process 'trsq)) @@ -411,18 +385,9 @@ (quaternion-copy! (-> obj orig-quat) (-> obj root-override quat)) (vector-x-quaternion! (-> obj blade-normal) (-> obj root-override quat)) (vector-normalize! (-> obj blade-normal) 1.0) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 123) obj) - ) - (set! - (-> obj part2) - (create-launch-control (-> *part-group-id-table* 124) obj) - ) - (set! - (-> obj sound) - (new 'process 'ambient-sound arg0 (-> obj root-override trans)) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 123) obj)) + (set! (-> obj part2) (create-launch-control (-> *part-group-id-table* 124) obj)) + (set! (-> obj sound) (new 'process 'ambient-sound arg0 (-> obj root-override trans))) (go windmill-sail-idle) (none) ) @@ -443,8 +408,8 @@ ;; definition for method 3 of type sagesail (defmethod inspect sagesail ((obj sagesail)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsync: #~%" (-> obj sync)) (format #t "~T~Tblade-normal: #~%" (-> obj blade-normal)) (format #t "~T~Torig-quat: #~%" (-> obj orig-quat)) @@ -464,23 +429,19 @@ (defstate sagesail-idle (sagesail) :trans (behavior () - (let ((f0-0 (get-current-value (-> self sync) 65536.0))) - (quaternion-axis-angle! - (-> self root-override quat) - (-> self blade-normal x) - (-> self blade-normal y) - (-> self blade-normal z) - f0-0 - ) + (let ((f0-0 (get-current-value (-> self sync) 65536.0))) + (quaternion-axis-angle! + (-> self root-override quat) + (-> self blade-normal x) + (-> self blade-normal y) + (-> self blade-normal z) + f0-0 + ) + ) + (quaternion*! (-> self root-override quat) (-> self root-override quat) (-> self orig-quat)) + (quaternion-normalize! (-> self root-override quat)) + (none) ) - (quaternion*! - (-> self root-override quat) - (-> self root-override quat) - (-> self orig-quat) - ) - (quaternion-normalize! (-> self root-override quat)) - (none) - ) :code (the-as (function none :behavior sagesail) anim-loop) :post @@ -519,8 +480,8 @@ ;; definition for method 3 of type windspinner (defmethod inspect windspinner ((obj windspinner)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tblade-normal: #~%" (-> obj blade-normal)) (format #t "~T~Torig-quat: #~%" (-> obj orig-quat)) (format #t "~T~Tangle: ~f~%" (-> obj angle)) @@ -531,23 +492,19 @@ ;; definition for method 12 of type windspinner (defmethod run-logic? windspinner ((obj windspinner)) (or - (zero? (logand (-> obj mask) (process-mask actor-pause))) - (or - (and - (nonzero? (-> obj draw)) - (logtest? (-> obj draw status) 8) - (>= - (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance)) - (vector-vector-distance (-> obj root trans) (math-camera-pos)) + (zero? (logand (-> obj mask) (process-mask actor-pause))) + (or + (and + (nonzero? (-> obj draw)) + (logtest? (-> obj draw status) 8) + (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance)) + (vector-vector-distance (-> obj root trans) (math-camera-pos)) + ) + ) + (and (nonzero? (-> obj skel)) (!= (-> obj skel root-channel 0) (-> obj skel channel))) + (and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) 16)) ) - ) - (and - (nonzero? (-> obj skel)) - (!= (-> obj skel root-channel 0) (-> obj skel channel)) - ) - (and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) 16)) ) - ) ) ;; failed to figure out what this is: @@ -563,55 +520,41 @@ (defstate windspinner-idle (windspinner) :trans (behavior () - (let* ((f0-0 0.992) - (f1-0 0.008090864) - (a0-0 (-> self root trans)) - (f0-1 - (* - f0-0 - (+ - (* - f1-0 - (-> - *wind-work* - wind-force - (logand - (+ - (the int (-> a0-0 x)) - (the int (-> a0-0 z)) - (-> *wind-work* wind-time) - ) - 63 + (let* ((f0-0 0.992) + (f1-0 0.008090864) + (a0-0 (-> self root trans)) + (f0-1 + (* f0-0 + (+ (* f1-0 + (-> *wind-work* + wind-force + (logand (+ (the int (-> a0-0 x)) (the int (-> a0-0 z)) (-> *wind-work* wind-time)) 63) + ) + ) + (-> self angle-vel) + ) ) - ) - ) - (-> self angle-vel) ) - ) ) + (if (< 291.27112 f0-1) + (set! f0-1 291.27112) ) - (if (< 291.27112 f0-1) - (set! f0-1 291.27112) - ) - (set! (-> self angle-vel) f0-1) + (set! (-> self angle-vel) f0-1) + ) + (let ((f0-3 (+ (-> self angle) (-> self angle-vel)))) + (set! (-> self angle) (- f0-3 (* (the float (the int (/ f0-3 65536.0))) 65536.0))) + ) + (quaternion-axis-angle! + (-> self root quat) + (-> self blade-normal x) + (-> self blade-normal y) + (-> self blade-normal z) + (-> self angle) + ) + (quaternion*! (-> self root quat) (-> self root quat) (-> self orig-quat)) + (quaternion-normalize! (-> self root quat)) + (none) ) - (let ((f0-3 (+ (-> self angle) (-> self angle-vel)))) - (set! - (-> self angle) - (- f0-3 (* (the float (the int (/ f0-3 65536.0))) 65536.0)) - ) - ) - (quaternion-axis-angle! - (-> self root quat) - (-> self blade-normal x) - (-> self blade-normal y) - (-> self blade-normal z) - (-> self angle) - ) - (quaternion*! (-> self root quat) (-> self root quat) (-> self orig-quat)) - (quaternion-normalize! (-> self root quat)) - (none) - ) :code (the-as (function none :behavior windspinner) anim-loop) :post @@ -648,8 +591,8 @@ ;; definition for method 3 of type mayorgears (defmethod inspect mayorgears ((obj mayorgears)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Talt-actor: ~A~%" (-> obj alt-actor)) obj ) @@ -667,33 +610,25 @@ (defstate mayorgears-idle (mayorgears) :code (behavior () - (while #t - (cond - ((task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) - (let ((a0-1 (-> self skel root-channel 0))) - (set! (-> a0-1 param 0) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-loop! + (while #t + (cond + ((task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + (else + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) 0.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-loop!) + ) + ) ) - ) + (suspend) ) - (else - (let ((a0-2 (-> self skel root-channel 0))) - (set! (-> a0-2 param 0) 0.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior mayorgears) ja-post) ) @@ -724,14 +659,10 @@ ;; definition for method 3 of type reflector-middle (defmethod inspect reflector-middle ((obj reflector-middle)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Treflector-trans: ~`vector`P~%" (-> obj reflector-trans)) - (format - #t - "~T~Tnext-reflector-trans: ~`vector`P~%" - (-> obj next-reflector-trans) - ) + (format #t "~T~Tnext-reflector-trans: ~`vector`P~%" (-> obj next-reflector-trans)) obj ) @@ -748,12 +679,12 @@ (defstate reflector-middle-idle (reflector-middle) :trans (behavior () - (when (task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) - (process-entity-status! self (entity-perm-status complete) #t) - (draw-eco-beam (-> self reflector-trans) (-> self next-reflector-trans)) + (when (task-closed? (game-task jungle-lurkerm) (task-status need-reminder)) + (process-entity-status! self (entity-perm-status complete) #t) + (draw-eco-beam (-> self reflector-trans) (-> self next-reflector-trans)) + ) + (none) ) - (none) - ) :code (the-as (function none :behavior reflector-middle) anim-loop) :post @@ -763,10 +694,7 @@ ;; definition for method 11 of type reflector-middle ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - reflector-middle - ((obj reflector-middle) (arg0 entity-actor)) +(defmethod init-from-entity! reflector-middle ((obj reflector-middle) (arg0 entity-actor)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *reflector-middle-sg* '()) @@ -775,11 +703,11 @@ (set! (-> obj reflector-trans quad) (-> obj root trans quad)) (+! (-> obj reflector-trans y) (res-lump-float arg0 'height-info)) (let ((a0-10 (-> obj link next))) - (when a0-10 - (set! (-> obj next-reflector-trans quad) (-> a0-10 extra trans quad)) - (+! (-> obj next-reflector-trans y) (res-lump-float a0-10 'height-info)) + (when a0-10 + (set! (-> obj next-reflector-trans quad) (-> a0-10 extra trans quad)) + (+! (-> obj next-reflector-trans y) (res-lump-float a0-10 'height-info)) + ) ) - ) (logior! (-> obj draw status) 64) (go reflector-middle-idle) (none) @@ -797,8 +725,8 @@ ;; definition for method 3 of type reflector-end (defmethod inspect reflector-end ((obj reflector-end)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -810,10 +738,7 @@ ;; definition for method 11 of type reflector-end ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - reflector-end - ((obj reflector-end) (arg0 entity-actor)) +(defmethod init-from-entity! reflector-end ((obj reflector-end) (arg0 entity-actor)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (go reflector-end-idle) @@ -833,8 +758,8 @@ ;; definition for method 3 of type villa-starfish (defmethod inspect villa-starfish ((obj villa-starfish)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tchild-count: ~D~%" (-> obj child-count)) obj ) @@ -860,8 +785,8 @@ ;; definition for method 3 of type starfish (defmethod inspect starfish ((obj starfish)) (let ((t9-0 (method-of-type nav-enemy inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -869,40 +794,27 @@ (defstate starfish-idle (starfish) :enter (behavior () - (dummy-60 (-> self collide-info) 40960.0 40960.0 #t (the-as uint 1)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (ja-channel-set! 0) - (none) - ) + (dummy-60 (-> self collide-info) 40960.0 40960.0 #t (the-as uint 1)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (ja-channel-set! 0) + (none) + ) :exit - (behavior () - (ja-channel-set! 1) - (none) - ) + (behavior () (ja-channel-set! 1) (none)) :trans (behavior () - (if - (and - *target* - (>= - 163840.0 - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) - ) - ) - (go starfish-patrol) + (if (and *target* (>= 163840.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans)))) + (go starfish-patrol) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior starfish) ja-post) ) @@ -911,175 +823,124 @@ (defstate starfish-patrol (starfish) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! - (-> self nav flags) - (logior (nav-control-flags bit19) (-> self nav flags)) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self nav flags) (logior (nav-control-flags bit19) (-> self nav flags))) + (none) ) - (none) - ) :trans (behavior () - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) - (if - (or - (not *target*) - (< - 204800.0 - (vector-vector-distance - (-> self collide-info trans) - (-> *target* control trans) - ) - ) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 300) + (if (or + (not *target*) + (< 204800.0 (vector-vector-distance (-> self collide-info trans) (-> *target* control trans))) + ) + (go starfish-idle) + ) ) - (go starfish-idle) - ) + (none) ) - (none) - ) :code (behavior () - (set! (-> self target-speed) 4096.0) - (set! (-> self rotate-speed) 12743.111) - (set! (-> self turn-time) 150) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 + (set! (-> self target-speed) 4096.0) + (set! (-> self rotate-speed) 12743.111) + (set! (-> self turn-time) 150) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior starfish) nav-enemy-patrol-post) ) ;; definition for symbol *starfish-nav-enemy-info*, type nav-enemy-info -(define - *starfish-nav-enemy-info* - (new 'static 'nav-enemy-info - :idle-anim -1 - :walk-anim -1 - :turn-anim -1 - :notice-anim -1 - :run-anim -1 - :jump-anim -1 - :jump-land-anim -1 - :victory-anim -1 - :taunt-anim -1 - :die-anim -1 - :neck-joint -1 - :player-look-at-joint 5 - :run-travel-speed (meters 1.0) - :run-rotate-speed (degrees 70.0) - :run-acceleration (meters 1.0) - :run-turn-time (seconds 0.5) - :walk-travel-speed (meters 1.0) - :walk-rotate-speed (degrees 70.0) - :walk-acceleration (meters 1.0) - :walk-turn-time (seconds 0.5) - :attack-shove-back (meters 3.0) - :attack-shove-up (meters 2.0) - :shadow-size (meters 1.0) - :nav-nearest-y-threshold (meters 10.0) - :notice-distance (meters 30.0) - :stop-chase-distance (meters 40.0) - :frustration-distance (meters 8.0) - :frustration-time #x4b0 - :die-anim-hold-frame 10000000000.0 - :jump-land-anim-end-frame 10000000000.0 - :jump-height-min (meters 1.0) - :jump-height-factor 0.5 - :jump-start-anim-speed 1.0 - :shadow-max-y (meters 1.0) - :shadow-min-y (meters -1.0) - :shadow-locus-dist (meters 150.0) - :use-align #f - :draw-shadow #f - :move-to-ground #t - :hover-if-no-ground #f - :use-momentum #f - :use-flee #f - :use-proximity-notice #f - :use-jump-blocked #f - :use-jump-patrol #f - :gnd-collide-with #x1 - :debug-draw-neck #f - :debug-draw-jump #f - ) - ) +(define *starfish-nav-enemy-info* (new 'static 'nav-enemy-info + :idle-anim -1 + :walk-anim -1 + :turn-anim -1 + :notice-anim -1 + :run-anim -1 + :jump-anim -1 + :jump-land-anim -1 + :victory-anim -1 + :taunt-anim -1 + :die-anim -1 + :neck-joint -1 + :player-look-at-joint 5 + :run-travel-speed (meters 1.0) + :run-rotate-speed (degrees 70.0) + :run-acceleration (meters 1.0) + :run-turn-time (seconds 0.5) + :walk-travel-speed (meters 1.0) + :walk-rotate-speed (degrees 70.0) + :walk-acceleration (meters 1.0) + :walk-turn-time (seconds 0.5) + :attack-shove-back (meters 3.0) + :attack-shove-up (meters 2.0) + :shadow-size (meters 1.0) + :nav-nearest-y-threshold (meters 10.0) + :notice-distance (meters 30.0) + :stop-chase-distance (meters 40.0) + :frustration-distance (meters 8.0) + :frustration-time #x4b0 + :die-anim-hold-frame 10000000000.0 + :jump-land-anim-end-frame 10000000000.0 + :jump-height-min (meters 1.0) + :jump-height-factor 0.5 + :jump-start-anim-speed 1.0 + :shadow-max-y (meters 1.0) + :shadow-min-y (meters -1.0) + :shadow-locus-dist (meters 150.0) + :use-align #f + :draw-shadow #f + :move-to-ground #t + :hover-if-no-ground #f + :use-momentum #f + :use-flee #f + :use-proximity-notice #f + :use-jump-blocked #f + :use-jump-patrol #f + :gnd-collide-with #x1 + :debug-draw-neck #f + :debug-draw-jump #f + ) + ) ;; definition for method 47 of type starfish ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision starfish ((obj starfish)) (set! (-> obj mask) (logior (process-mask enemy) (-> obj mask))) - (let - ((s5-0 - (new - 'process - 'collide-shape-moving - obj - (collide-list-enum usually-hit-by-player) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum usually-hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s4-0 prim-core offense) 2) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 2457.6) + (set-root-prim! s5-0 s4-0) ) - ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj collide-info) s5-0) ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s4-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s4-0 prim-core offense) 2) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 2457.6) - (set-root-prim! s5-0 s4-0) - ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj collide-info) s5-0) - ) 0 (none) ) @@ -1111,16 +972,16 @@ ;; definition for function process-drawable-child-count (defbehavior process-drawable-child-count process-drawable () (let ((v0-0 0)) - (let ((v1-0 (-> self child))) - (while v1-0 - (+! v0-0 1) - (set! v1-0 (-> v1-0 0 brother)) - (nop!) - (nop!) - ) + (let ((v1-0 (-> self child))) + (while v1-0 + (+! v0-0 1) + (set! v1-0 (-> v1-0 0 brother)) + (nop!) + (nop!) + ) + ) + v0-0 ) - v0-0 - ) ) ;; definition for function starfish-spawn-child @@ -1128,78 +989,51 @@ ;; Used lq/sq (defbehavior starfish-spawn-child starfish () (let ((gp-0 (new-stack-vector0))) - (get-random-point (-> self path) gp-0) - (let ((s5-0 (get-process *default-dead-pool* starfish #x4000))) - (the-as (pointer starfish) (when s5-0 - (let ((t9-2 (method-of-type starfish activate))) - (t9-2 - (the-as starfish s5-0) - self - 'starfish - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-0 - starfish-init-by-other - self - gp-0 - ) - (-> s5-0 ppointer) - ) - ) + (get-random-point (-> self path) gp-0) + (let ((s5-0 (get-process *default-dead-pool* starfish #x4000))) + (the-as (pointer starfish) (when s5-0 + (let ((t9-2 (method-of-type starfish activate))) + (t9-2 (the-as starfish s5-0) self 'starfish (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 starfish-init-by-other self gp-0) + (-> s5-0 ppointer) + ) + ) + ) ) - ) ) ;; failed to figure out what this is: (defstate villa-starfish-idle (villa-starfish) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (if - (and - (and - *target* - (>= - 204800.0 - (vector-vector-distance - (-> self root trans) - (-> *target* control trans) - ) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while #t + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 150) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (if (and + (and *target* (>= 204800.0 (vector-vector-distance (-> self root trans) (-> *target* control trans)))) + (< (process-drawable-child-count) (-> self child-count)) + ) + (starfish-spawn-child) + ) ) - (< (process-drawable-child-count) (-> self child-count)) - ) - (starfish-spawn-child) + (suspend) ) - ) - (suspend) + (none) ) - (none) - ) :post (the-as (function none :behavior villa-starfish) #f) ) ;; definition for method 11 of type villa-starfish ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - villa-starfish - ((obj villa-starfish) (arg0 entity-actor)) +(defmethod init-from-entity! villa-starfish ((obj villa-starfish) (arg0 entity-actor)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) - (let - ((a1-4 - (res-lump-value arg0 'num-lurkers uint128 :default (the-as uint128 3)) - ) + (let ((a1-4 (res-lump-value arg0 'num-lurkers uint128 :default (the-as uint128 3)))) + (set! (-> obj child-count) (max 1 (min 8 (the-as int a1-4)))) ) - (set! (-> obj child-count) (max 1 (min 8 (the-as int a1-4)))) - ) (set! (-> obj path) (new 'process 'path-control obj 'path 0.0)) (go villa-starfish-idle) (none) @@ -1218,8 +1052,8 @@ ;; definition for method 3 of type village-fish (defmethod inspect village-fish ((obj village-fish)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tchild-count: ~D~%" (-> obj child-count)) obj ) @@ -1228,22 +1062,19 @@ (defstate village-fish-idle (village-fish) :code (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (while #t - (suspend) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (while #t + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior village-fish) #f) ) ;; definition for method 11 of type village-fish ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - village-fish - ((obj village-fish) (arg0 entity-actor)) +(defmethod init-from-entity! village-fish ((obj village-fish) (arg0 entity-actor)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (go village-fish-idle) @@ -1262,8 +1093,8 @@ ;; definition for method 3 of type villa-fisha (defmethod inspect villa-fisha ((obj villa-fisha)) (let ((t9-0 (method-of-type village-fish inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1279,8 +1110,8 @@ ;; definition for method 3 of type villa-fishb (defmethod inspect villa-fishb ((obj villa-fishb)) (let ((t9-0 (method-of-type village-fish inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1306,20 +1137,16 @@ ;; definition for function set-period (defun set-period ((arg0 cyclegen) (arg1 int)) (let ((f0-1 (/ 5.0 (the float arg1)))) - (set! (-> arg0 inc) f0-1) - f0-1 - ) + (set! (-> arg0 inc) f0-1) + f0-1 + ) ) ;; definition for function update-clock (defun update-clock ((arg0 cyclegen)) - (let - ((f0-1 - (+ (-> arg0 output) (* (-> arg0 inc) (-> *display* time-adjust-ratio))) - ) + (let ((f0-1 (+ (-> arg0 output) (* (-> arg0 inc) (-> *display* time-adjust-ratio))))) + (set! (-> arg0 output) (- f0-1 (the float (the int f0-1)))) ) - (set! (-> arg0 output) (- f0-1 (the float (the int f0-1)))) - ) (-> arg0 output) ) @@ -1337,8 +1164,8 @@ ;; definition for method 3 of type hutlamp (defmethod inspect hutlamp ((obj hutlamp)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tpivot: ~A~%" (-> obj pivot)) (format #t "~T~Tclock: #~%" (-> obj clock)) obj @@ -1348,18 +1175,12 @@ ;; INFO: Return type mismatch process-drawable vs hutlamp. (defmethod relocate hutlamp ((obj hutlamp) (arg0 int)) (if (nonzero? (-> obj pivot)) - (&+! (-> obj pivot) arg0) - ) + (&+! (-> obj pivot) arg0) + ) (the-as - hutlamp - ((the-as - (function process-drawable int process-drawable) - (find-parent-method hutlamp 7) - ) - obj - arg0 + hutlamp + ((the-as (function process-drawable int process-drawable) (find-parent-method hutlamp 7)) obj arg0) ) - ) ) ;; failed to figure out what this is: @@ -1375,14 +1196,14 @@ (defstate hutlamp-idle (hutlamp) :code (behavior () - (while #t - (let ((f0-3 (* 1820.4445 (sin (* 65536.0 (update-clock (-> self clock))))))) - (quaternion-vector-angle! (-> self pivot transform quat) *x-vector* f0-3) - ) - (suspend) + (while #t + (let ((f0-3 (* 1820.4445 (sin (* 65536.0 (update-clock (-> self clock))))))) + (quaternion-vector-angle! (-> self pivot transform quat) *x-vector* f0-3) + ) + (suspend) + ) + (none) ) - (none) - ) :post (the-as (function none :behavior hutlamp) ja-post) ) @@ -1415,8 +1236,8 @@ ;; definition for method 3 of type revcycleprop (defmethod inspect revcycleprop ((obj revcycleprop)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1440,10 +1261,7 @@ ;; definition for method 11 of type revcycleprop ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - revcycleprop - ((obj revcycleprop) (arg0 entity-actor)) +(defmethod init-from-entity! revcycleprop ((obj revcycleprop) (arg0 entity-actor)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *revcycleprop-sg* '()) @@ -1467,8 +1285,8 @@ ;; definition for method 3 of type revcycle (defmethod inspect revcycle ((obj revcycle)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1513,42 +1331,40 @@ ;; definition for method 3 of type villagea-water (defmethod inspect villagea-water ((obj villagea-water)) (let ((t9-0 (method-of-type water-anim inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for symbol ripple-for-villagea-water, type ripple-wave-set -(define - ripple-for-villagea-water - (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 4.0 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 10.0 :xdiv 1 :speed 1.5) - (new 'static 'ripple-wave :scale 10.0 :xdiv -1 :zdiv 1 :speed 1.5) - (new 'static 'ripple-wave :scale 5.0 :xdiv 5 :zdiv 3 :speed 0.75) - (new 'static 'ripple-wave) - ) - ) - ) +(define ripple-for-villagea-water (new 'static 'ripple-wave-set + :count 3 + :converted #f + :normal-scale 4.0 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 10.0 :xdiv 1 :speed 1.5) + (new 'static 'ripple-wave :scale 10.0 :xdiv -1 :zdiv 1 :speed 1.5) + (new 'static 'ripple-wave :scale 5.0 :xdiv 5 :zdiv 3 :speed 0.75) + (new 'static 'ripple-wave) + ) + ) + ) ;; definition for method 22 of type villagea-water (defmethod TODO-RENAME-22 villagea-water ((obj villagea-water)) (let ((t9-0 (method-of-type water-anim TODO-RENAME-22))) - (t9-0 obj) - ) - (let ((v1-2 (new 'process 'ripple-control))) - (set! (-> obj draw ripple) v1-2) - (set-vector! (-> obj draw color-mult) 0.01 0.45 0.5 0.75) - (set! (-> v1-2 global-scale) 3072.0) - (set! (-> v1-2 close-fade-dist) 163840.0) - (set! (-> v1-2 far-fade-dist) 245760.0) - (let ((v0-2 ripple-for-villagea-water)) - (set! (-> v1-2 waveform) v0-2) - v0-2 + (t9-0 obj) + ) + (let ((v1-2 (new 'process 'ripple-control))) + (set! (-> obj draw ripple) v1-2) + (set-vector! (-> obj draw color-mult) 0.01 0.45 0.5 0.75) + (set! (-> v1-2 global-scale) 3072.0) + (set! (-> v1-2 close-fade-dist) 163840.0) + (set! (-> v1-2 far-fade-dist) 245760.0) + (let ((v0-2 ripple-for-villagea-water)) + (set! (-> v1-2 waveform) v0-2) + v0-2 + ) ) - ) ) diff --git a/test/decompiler/reference/levels/village1/village1-part2_REF.gc b/test/decompiler/reference/levels/village1/village1-part2_REF.gc index c0e0796414..e06f8186df 100644 --- a/test/decompiler/reference/levels/village1/village1-part2_REF.gc +++ b/test/decompiler/reference/levels/village1/village1-part2_REF.gc @@ -2,2642 +2,2518 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 136) - (new 'static 'sparticle-launch-group - :length #x16d - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-sagehut-rings" - :launcher - (new 'static 'inline-array sparticle-group-item 365 - (sp-item 480 :fade-after (meters 60.0) :flags (is-3d)) - (sp-item 481 :fade-after (meters 60.0) :flags (is-3d)) - (sp-item 482 :fade-after (meters 50.0) :binding 483) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 484 :fade-after (meters 50.0) :binding 485) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 486 :fade-after (meters 50.0) :binding 487) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - ) - :bounds - (new 'static 'sphere :x 28672.0 :y 16384.0 :z -18432.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 137) - (new 'static 'sparticle-launch-group - :length #x16b - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-sagehut-rings-2" - :launcher - (new 'static 'inline-array sparticle-group-item 363 - (sp-item 488 :fade-after (meters 50.0) :binding 489) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 490 :fade-after (meters 50.0) :binding 491) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 492 :fade-after (meters 50.0) :binding 493) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - ) - :bounds - (new 'static 'sphere :x 28672.0 :y 16384.0 :z -18432.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 138) - (new 'static 'sparticle-launch-group - :length #x16b - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-sagehut-rings-3" - :launcher - (new 'static 'inline-array sparticle-group-item 363 - (sp-item 494 :fade-after (meters 50.0) :binding 495) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 496 :fade-after (meters 50.0) :binding 497) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 498 :fade-after (meters 50.0) :binding 499) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) - ) - :bounds - (new 'static 'sphere :x 28672.0 :y 16384.0 :z -18432.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 482) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.25 0.1 1.0) - (sp-flt spt-x (meters -0.049)) - (sp-flt spt-y (meters 2.368)) - (sp-flt spt-z 9887.744) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 483) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 1.3333334)) - (sp-flt spt-y (meters 0.44444445)) - (sp-flt spt-z 5324.8) - (sp-flt spt-scale-x (meters 1.56)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 8.0 128.0 1.0) - (sp-rnd-flt spt-a 6.0 16.0 1.0) - (sp-flt spt-omega -2730.6667) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 480) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.5 1.0) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) - (sp-flt spt-y (meters -0.55)) - (sp-flt spt-z 327.68) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.25) 1.0) - (sp-flt spt-rot-x 14654.578) - (sp-flt spt-rot-y (degrees 15.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-int spt-b 0 1 64.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-vel-y (meters 0.0033333334)) - (sp-flt spt-vel-z (meters -0.00033333333)) - (sp-flt spt-fade-r -0.2) - (sp-flt spt-fade-b -0.2) - (sp-flt spt-fade-a -0.2) - (sp-flt spt-accel-y -0.06826667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) - (sp-flt spt-rotate-y (degrees 15.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 481) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-z -1064.96) - (sp-flt spt-scale-x (meters 6.0)) - (sp-flt spt-rot-x 14654.578) - (sp-flt spt-rot-y (degrees 15.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-rnd-flt spt-g 8.0 128.0 1.0) - (sp-flt spt-a 48.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 18.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 484) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.25 0.1 1.0) - (sp-flt spt-x (meters -0.094)) - (sp-flt spt-y (meters 3.068)) - (sp-flt spt-z 9887.744) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 485) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.5) - (sp-flt spt-x (meters -1.3333334)) - (sp-flt spt-y (meters 0.6666667)) - (sp-flt spt-z 5324.8) - (sp-flt spt-scale-x (meters 1.56)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 6.0 16.0 1.0) - (sp-flt spt-omega 1820.4445) - (sp-flt spt-vel-x (meters -0.013333334)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 486) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.25 0.1 1.0) - (sp-flt spt-x (meters -0.425)) - (sp-flt spt-y (meters 3.792)) - (sp-flt spt-z 9793.536) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 487) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.8888889)) - (sp-flt spt-y (meters 1.3333334)) - (sp-flt spt-z 4505.6) - (sp-flt spt-scale-x (meters 1.56)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 6.0 16.0 1.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 488) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.25 0.1 1.0) - (sp-flt spt-x (meters 2.893)) - (sp-flt spt-y (meters 3.56)) - (sp-flt spt-z 12525.568) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 489) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 2.6666667)) - (sp-flt spt-y (meters -1.3333334)) - (sp-flt spt-z 3072.0) - (sp-flt spt-scale-x (meters 1.56)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 6.0 12.0 1.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 490) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.25 0.1 1.0) - (sp-flt spt-x (meters 2.482)) - (sp-flt spt-y (meters 4.296)) - (sp-flt spt-z 12525.568) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 491) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 2.6666667)) - (sp-flt spt-y (meters -0.44444445)) - (sp-flt spt-z 4096.0) - (sp-flt spt-scale-x (meters 1.56)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 6.0 12.0 1.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters -0.013333334)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 492) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.25 0.1 1.0) - (sp-flt spt-x (meters 2.538)) - (sp-flt spt-y (meters 4.979)) - (sp-flt spt-z 12525.568) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 493) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 0.22222222)) - (sp-flt spt-z 3686.4) - (sp-flt spt-scale-x (meters 1.56)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 6.0 12.0 1.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 494) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.25 0.1 1.0) - (sp-flt spt-x (meters 11.611)) - (sp-flt spt-y (meters 2.762)) - (sp-flt spt-z -37777.406) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 495) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.6666667)) - (sp-flt spt-y (meters -1.1111112)) - (sp-flt spt-z 8192.0) - (sp-flt spt-scale-x (meters 2.75)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 12.0 24.0 1.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters -0.013333334)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 496) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.25 0.1 1.0) - (sp-flt spt-x (meters 11.543)) - (sp-flt spt-y (meters 2.356)) - (sp-flt spt-z -50311.168) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 497) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 4.888889)) - (sp-flt spt-y (meters 0.9777778)) - (sp-flt spt-z 7577.6) - (sp-flt spt-scale-x (meters 2.5)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 12.0 24.0 1.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 498) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.25 0.1 1.0) - (sp-flt spt-x (meters 11.588)) - (sp-flt spt-y (meters 6.887)) - (sp-flt spt-z -44371.97) - (sp-flt spt-scale-x (meters 0.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 499) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.35555556)) - (sp-flt spt-y (meters -1.3333334)) - (sp-flt spt-z 7168.0) - (sp-flt spt-scale-x (meters 2.25)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 64.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 10.0 20.0 1.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 139) - (new 'static 'sparticle-launch-group - :length 14 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-sagehut-drips" - :launcher - (new 'static 'inline-array sparticle-group-item 14 - (sp-item 500 :fade-after (meters 40.0) :period 673 :length 5) - (sp-item 500 :fade-after (meters 50.0) :period 1036 :length 5) - (sp-item 500 :fade-after (meters 60.0) :period 1572 :length 5) - (sp-item 500 :fade-after (meters 40.0) :period 2158 :length 5) - (sp-item 500 :fade-after (meters 50.0) :period 2933 :length 5) - (sp-item 500 :fade-after (meters 60.0) :period 4829 :length 5) - (sp-item 500 :fade-after (meters 40.0) :period 6350 :length 5) - (sp-item 501 :fade-after (meters 40.0) :period 859 :length 5) - (sp-item 501 :fade-after (meters 50.0) :period 1009 :length 5) - (sp-item 501 :fade-after (meters 60.0) :period 1372 :length 5) - (sp-item 501 :fade-after (meters 40.0) :period 2107 :length 5) - (sp-item 501 :fade-after (meters 50.0) :period 2690 :length 5) - (sp-item 501 :fade-after (meters 60.0) :period 4129 :length 5) - (sp-item 501 :fade-after (meters 40.0) :period 7249 :length 5) - ) - :bounds - (new 'static 'sphere :x 28672.0 :y 16384.0 :z -18432.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 502) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-rnd-flt spt-num 2.0 6.0 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "drip-on-wood") - :volume #x200 +(set! (-> *part-group-id-table* 136) + (new 'static 'sparticle-launch-group + :length #x16d + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-sagehut-rings" + :launcher + (new 'static 'inline-array sparticle-group-item 365 + (sp-item 480 :fade-after (meters 60.0) :flags (is-3d)) + (sp-item 481 :fade-after (meters 60.0) :flags (is-3d)) + (sp-item 482 :fade-after (meters 50.0) :binding 483) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 483 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 484 :fade-after (meters 50.0) :binding 485) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 485 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 486 :fade-after (meters 50.0) :binding 487) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 487 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + ) + :bounds + (new 'static 'sphere :x 28672.0 :y 16384.0 :z -18432.0 :w 49152.0) + ) ) - ) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 96.0 128.0 1.0) - (sp-rnd-flt spt-b 0.0 64.0 1.0) - (sp-rnd-flt spt-a 128.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-fade-a -0.5688889) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 5.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 503) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.02)) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 96.0 128.0 1.0) - (sp-rnd-flt spt-b 0.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.01) (meters 0.01) 1.0) - (sp-flt spt-fade-a -0.7111111) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 137) + (new 'static 'sparticle-launch-group + :length #x16b + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-sagehut-rings-2" + :launcher + (new 'static 'inline-array sparticle-group-item 363 + (sp-item 488 :fade-after (meters 50.0) :binding 489) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 489 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 490 :fade-after (meters 50.0) :binding 491) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 491 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 492 :fade-after (meters 50.0) :binding 493) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 493 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + ) + :bounds + (new 'static 'sphere :x 28672.0 :y 16384.0 :z -18432.0 :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 500) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.9)) - (sp-flt spt-y (meters 8.825)) - (sp-flt spt-z -10240.0) - (sp-flt spt-scale-x (meters 0.18)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 96.0 128.0 1.0) - (sp-rnd-flt spt-b 0.0 64.0 1.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-flt spt-vel-x (meters -0.00125)) - (sp-flt spt-vel-y (meters -0.001375)) - (sp-flt spt-vel-z (meters 0.0017333332)) - (sp-flt spt-scalevel-x (meters -0.00008333333)) - (sp-flt spt-scalevel-y (meters 0.00016666666)) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit3) - (sp-flt spt-userdata 189644.8) - (sp-func spt-func 'check-drop-level-sagehut) - (sp-int-plain-rnd spt-next-time 600 299 1) - (sp-launcher-by-id spt-next-launcher 504) - (sp-end) - ) - ) - ) +(set! (-> *part-group-id-table* 138) + (new 'static 'sparticle-launch-group + :length #x16b + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-sagehut-rings-3" + :launcher + (new 'static 'inline-array sparticle-group-item 363 + (sp-item 494 :fade-after (meters 50.0) :binding 495) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 495 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 496 :fade-after (meters 50.0) :binding 497) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 497 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 498 :fade-after (meters 50.0) :binding 499) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + (sp-item 499 :fade-after (meters 50.0) :flags (start-dead launch-asap) :period 1200 :length 5) + ) + :bounds + (new 'static 'sphere :x 28672.0 :y 16384.0 :z -18432.0 :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 504) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-scalevel-y (meters 0.00033333333)) - (sp-flt spt-accel-x 0.13653333) - (sp-flt spt-accel-y -2.048) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 482) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.25 0.1 1.0) + (sp-flt spt-x (meters -0.049)) + (sp-flt spt-y (meters 2.368)) + (sp-flt spt-z 9887.744) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 501) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -3.25)) - (sp-flt spt-y (meters 5.55)) - (sp-flt spt-z 12288.0) - (sp-flt spt-scale-x (meters 0.18)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 96.0 128.0 1.0) - (sp-rnd-flt spt-b 0.0 64.0 1.0) - (sp-rnd-flt spt-a 0.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.00016666666)) - (sp-flt spt-scalevel-y (meters 0.0005)) - (sp-flt spt-fade-a 0.32) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit3) - (sp-flt spt-userdata 189644.8) - (sp-func spt-func 'check-drop-level-sagehut) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 505) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 483) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 1.3333334)) + (sp-flt spt-y (meters 0.44444445)) + (sp-flt spt-z 5324.8) + (sp-flt spt-scale-x (meters 1.56)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 8.0 128.0 1.0) + (sp-rnd-flt spt-a 6.0 16.0 1.0) + (sp-flt spt-omega -2730.6667) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 505) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-accel-y -3.1402667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 480) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.5 1.0) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-flt spt-y (meters -0.55)) + (sp-flt spt-z 327.68) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.25) 1.0) + (sp-flt spt-rot-x 14654.578) + (sp-flt spt-rot-y (degrees 15.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-int spt-b 0 1 64.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-vel-y (meters 0.0033333334)) + (sp-flt spt-vel-z (meters -0.00033333333)) + (sp-flt spt-fade-r -0.2) + (sp-flt spt-fade-b -0.2) + (sp-flt spt-fade-a -0.2) + (sp-flt spt-accel-y -0.06826667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit14 left-multiply-quat) + (sp-flt spt-rotate-y (degrees 15.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 481) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-z -1064.96) + (sp-flt spt-scale-x (meters 6.0)) + (sp-flt spt-rot-x 14654.578) + (sp-flt spt-rot-y (degrees 15.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-rnd-flt spt-g 8.0 128.0 1.0) + (sp-flt spt-a 48.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 18.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 484) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.25 0.1 1.0) + (sp-flt spt-x (meters -0.094)) + (sp-flt spt-y (meters 3.068)) + (sp-flt spt-z 9887.744) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 485) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.5) + (sp-flt spt-x (meters -1.3333334)) + (sp-flt spt-y (meters 0.6666667)) + (sp-flt spt-z 5324.8) + (sp-flt spt-scale-x (meters 1.56)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 6.0 16.0 1.0) + (sp-flt spt-omega 1820.4445) + (sp-flt spt-vel-x (meters -0.013333334)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 486) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.25 0.1 1.0) + (sp-flt spt-x (meters -0.425)) + (sp-flt spt-y (meters 3.792)) + (sp-flt spt-z 9793.536) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 487) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.8888889)) + (sp-flt spt-y (meters 1.3333334)) + (sp-flt spt-z 4505.6) + (sp-flt spt-scale-x (meters 1.56)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 6.0 16.0 1.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 488) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.25 0.1 1.0) + (sp-flt spt-x (meters 2.893)) + (sp-flt spt-y (meters 3.56)) + (sp-flt spt-z 12525.568) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 489) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 2.6666667)) + (sp-flt spt-y (meters -1.3333334)) + (sp-flt spt-z 3072.0) + (sp-flt spt-scale-x (meters 1.56)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 6.0 12.0 1.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 490) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.25 0.1 1.0) + (sp-flt spt-x (meters 2.482)) + (sp-flt spt-y (meters 4.296)) + (sp-flt spt-z 12525.568) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 491) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 2.6666667)) + (sp-flt spt-y (meters -0.44444445)) + (sp-flt spt-z 4096.0) + (sp-flt spt-scale-x (meters 1.56)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 6.0 12.0 1.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters -0.013333334)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 492) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.25 0.1 1.0) + (sp-flt spt-x (meters 2.538)) + (sp-flt spt-y (meters 4.979)) + (sp-flt spt-z 12525.568) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 493) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 0.22222222)) + (sp-flt spt-z 3686.4) + (sp-flt spt-scale-x (meters 1.56)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 6.0 12.0 1.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 494) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.25 0.1 1.0) + (sp-flt spt-x (meters 11.611)) + (sp-flt spt-y (meters 2.762)) + (sp-flt spt-z -37777.406) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 495) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.6666667)) + (sp-flt spt-y (meters -1.1111112)) + (sp-flt spt-z 8192.0) + (sp-flt spt-scale-x (meters 2.75)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 12.0 24.0 1.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters -0.013333334)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 496) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.25 0.1 1.0) + (sp-flt spt-x (meters 11.543)) + (sp-flt spt-y (meters 2.356)) + (sp-flt spt-z -50311.168) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 497) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 4.888889)) + (sp-flt spt-y (meters 0.9777778)) + (sp-flt spt-z 7577.6) + (sp-flt spt-scale-x (meters 2.5)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 12.0 24.0 1.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 498) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.25 0.1 1.0) + (sp-flt spt-x (meters 11.588)) + (sp-flt spt-y (meters 6.887)) + (sp-flt spt-z -44371.97) + (sp-flt spt-scale-x (meters 0.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 499) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.35555556)) + (sp-flt spt-y (meters -1.3333334)) + (sp-flt spt-z 7168.0) + (sp-flt spt-scale-x (meters 2.25)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 64.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 10.0 20.0 1.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 139) (new 'static 'sparticle-launch-group + :length 14 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-sagehut-drips" + :launcher + (new 'static 'inline-array sparticle-group-item 14 + (sp-item 500 :fade-after (meters 40.0) :period 673 :length 5) + (sp-item 500 :fade-after (meters 50.0) :period 1036 :length 5) + (sp-item 500 :fade-after (meters 60.0) :period 1572 :length 5) + (sp-item 500 :fade-after (meters 40.0) :period 2158 :length 5) + (sp-item 500 :fade-after (meters 50.0) :period 2933 :length 5) + (sp-item 500 :fade-after (meters 60.0) :period 4829 :length 5) + (sp-item 500 :fade-after (meters 40.0) :period 6350 :length 5) + (sp-item 501 :fade-after (meters 40.0) :period 859 :length 5) + (sp-item 501 :fade-after (meters 50.0) :period 1009 :length 5) + (sp-item 501 :fade-after (meters 60.0) :period 1372 :length 5) + (sp-item 501 :fade-after (meters 40.0) :period 2107 :length 5) + (sp-item 501 :fade-after (meters 50.0) :period 2690 :length 5) + (sp-item 501 :fade-after (meters 60.0) :period 4129 :length 5) + (sp-item 501 :fade-after (meters 40.0) :period 7249 :length 5) + ) + :bounds + (new 'static 'sphere :x 28672.0 :y 16384.0 :z -18432.0 :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 502) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-rnd-flt spt-num 2.0 6.0 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec + :mask #x1 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "drip-on-wood") + :volume #x200 + ) + ) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 96.0 128.0 1.0) + (sp-rnd-flt spt-b 0.0 64.0 1.0) + (sp-rnd-flt spt-a 128.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-fade-a -0.5688889) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 5.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 503) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.02)) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 96.0 128.0 1.0) + (sp-rnd-flt spt-b 0.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.01) (meters 0.01) 1.0) + (sp-flt spt-fade-a -0.7111111) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 500) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.9)) + (sp-flt spt-y (meters 8.825)) + (sp-flt spt-z -10240.0) + (sp-flt spt-scale-x (meters 0.18)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 96.0 128.0 1.0) + (sp-rnd-flt spt-b 0.0 64.0 1.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-vel-x (meters -0.00125)) + (sp-flt spt-vel-y (meters -0.001375)) + (sp-flt spt-vel-z (meters 0.0017333332)) + (sp-flt spt-scalevel-x (meters -0.00008333333)) + (sp-flt spt-scalevel-y (meters 0.00016666666)) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit3) + (sp-flt spt-userdata 189644.8) + (sp-func spt-func 'check-drop-level-sagehut) + (sp-int-plain-rnd spt-next-time 600 299 1) + (sp-launcher-by-id spt-next-launcher 504) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 504) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-scalevel-y (meters 0.00033333333)) + (sp-flt spt-accel-x 0.13653333) + (sp-flt spt-accel-y -2.048) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 501) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x9 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -3.25)) + (sp-flt spt-y (meters 5.55)) + (sp-flt spt-z 12288.0) + (sp-flt spt-scale-x (meters 0.18)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 96.0 128.0 1.0) + (sp-rnd-flt spt-b 0.0 64.0 1.0) + (sp-rnd-flt spt-a 0.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.00016666666)) + (sp-flt spt-scalevel-y (meters 0.0005)) + (sp-flt spt-fade-a 0.32) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit3) + (sp-flt spt-userdata 189644.8) + (sp-func spt-func 'check-drop-level-sagehut) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 505) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 505) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-accel-y -3.1402667) (sp-end)) + ) + ) ;; definition for function check-drop-level-sagehut -(defun - check-drop-level-sagehut - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-sagehut ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name - (static-sound-name "water-drop") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-2 (the-as number (logior #x3f800000 v1-1))) + ) + (if (< (+ -1.0 (the-as float v1-2)) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) + ) + (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 502) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + (the-as float 1.0) + ) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 503) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + (the-as float 1.0) + ) ) - ) - (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 502) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - (the-as float 1.0) - ) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 503) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - (the-as float 1.0) - ) ) - ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 140) - (new 'static 'sparticle-launch-group - :length #xac - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-sagehut-warpgate" - :launcher - (new 'static 'inline-array sparticle-group-item 172 - (sp-item 1970 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1971 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1968) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1968 :flags (bit1 start-dead launch-asap)) - (sp-item 1972 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1969) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1969 :flags (bit1 start-dead launch-asap)) - (sp-item 1973 :fade-after (meters 100.0) :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 140) + (new 'static 'sparticle-launch-group + :length #xac + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-sagehut-warpgate" + :launcher + (new 'static 'inline-array sparticle-group-item 172 + (sp-item 1970 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1971 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1968) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1968 :flags (bit1 start-dead launch-asap)) + (sp-item 1972 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1969) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1969 :flags (bit1 start-dead launch-asap)) + (sp-item 1973 :fade-after (meters 100.0) :flags (is-3d)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1973) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-scale-x (meters 5.0)) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-z (degrees 105.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 0.0 64.0 1.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1973) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x3 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-scale-x (meters 5.0)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-z (degrees 105.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 0.0 64.0 1.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1972) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.0033333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit3 bit14) - (sp-flt spt-rotate-y (degrees -35.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1972) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.0033333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit3 bit14) + (sp-flt spt-rotate-y (degrees -35.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1969) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 2.4444444)) - (sp-flt spt-y (meters 4.0)) - (sp-rnd-flt spt-z 22118.4 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 196.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 0.16) - (sp-flt spt-accel-x 1.2136296) - (sp-flt spt-accel-z -0.75093335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1969) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 2.4444444)) + (sp-flt spt-y (meters 4.0)) + (sp-rnd-flt spt-z 22118.4 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 196.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 0.16) + (sp-flt spt-accel-x 1.2136296) + (sp-flt spt-accel-z -0.75093335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1970) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-rnd-flt spt-num 3.0 3.0 1.0) - (sp-flt spt-x (meters -0.5)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 3481.6) - (sp-flt spt-b 3481.6) - (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0) - (sp-flt spt-fade-b 2.968116) - (sp-int spt-timer 69) - (sp-cpuinfo-flags aux-list) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 4.0) (meters 3.0) 1.0) - (sp-flt spt-rotate-y (degrees -35.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1970) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-rnd-flt spt-num 3.0 3.0 1.0) + (sp-flt spt-x (meters -0.5)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 3481.6) + (sp-flt spt-b 3481.6) + (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0) + (sp-flt spt-fade-b 2.968116) + (sp-int spt-timer 69) + (sp-cpuinfo-flags aux-list) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 4.0) (meters 3.0) 1.0) + (sp-flt spt-rotate-y (degrees -35.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1971) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 11 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-accel-x 0.06826667) - (sp-int spt-timer 690) - (sp-cpuinfo-flags bit3 bit14) - (sp-flt spt-rotate-y (degrees -35.0)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1971) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 11 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-accel-x 0.06826667) + (sp-int spt-timer 690) + (sp-cpuinfo-flags bit3 bit14) + (sp-flt spt-rotate-y (degrees -35.0)) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1968) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 2.4444444)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 9830.4) - (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 8.0 32.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters -0.0044444446)) - (sp-flt spt-vel-z (meters -0.0034999999)) - (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0) - (sp-flt spt-fade-a 0.21333334) - (sp-flt spt-accel-x 4.247704) - (sp-int spt-timer 690) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1968) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 2.4444444)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 9830.4) + (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 8.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters -0.0044444446)) + (sp-flt spt-vel-z (meters -0.0034999999)) + (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0) + (sp-flt spt-fade-a 0.21333334) + (sp-flt spt-accel-x 4.247704) + (sp-int spt-timer 690) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 141) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-village1-misty-fog" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 511)) - :bounds - (new 'static 'sphere :y 40960.0 :w 1064960.0) - ) - ) +(set! (-> *part-group-id-table* 141) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-village1-misty-fog" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 511)) + :bounds + (new 'static 'sphere :y 40960.0 :w 1064960.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 511) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.04) - (sp-flt spt-y (meters 45.0)) - (sp-rnd-flt spt-scale-x (meters 300.0) (meters 100.0) 1.0) - (sp-flt spt-scale-y (meters 100.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.016666668) 1.0) - (sp-flt spt-scalevel-x (meters 0.025)) - (sp-flt spt-fade-a 0.10666667) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 450 149 1) - (sp-launcher-by-id spt-next-launcher 512) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 120.0) (degrees 200.00002) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 250.0) (meters 50.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 511) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.04) + (sp-flt spt-y (meters 45.0)) + (sp-rnd-flt spt-scale-x (meters 300.0) (meters 100.0) 1.0) + (sp-flt spt-scale-y (meters 100.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.016666668) 1.0) + (sp-flt spt-scalevel-x (meters 0.025)) + (sp-flt spt-fade-a 0.10666667) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 450 149 1) + (sp-launcher-by-id spt-next-launcher 512) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 120.0) (degrees 200.00002) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 250.0) (meters 50.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 512) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int-plain-rnd spt-next-time 450 149 1) - (sp-launcher-by-id spt-next-launcher 513) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 512) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int-plain-rnd spt-next-time 450 149 1) + (sp-launcher-by-id spt-next-launcher 513) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 513) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 513) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.10666667) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 684) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-village1-training-spouts" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 2844 :period 4500 :length 1200) - (sp-item 2845 :period 4500 :length 1200 :offset 4050) - (sp-item 2846 :period 4500 :length 1200 :offset 1500) - (sp-item 2847 :period 4500 :length 1200 :offset 1050) - (sp-item 2848 :period 4500 :length 1200 :offset 3000) - (sp-item 2849 :period 4500 :length 1200 :offset 2550) - ) - :bounds - (new 'static 'sphere :y 40960.0 :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 684) (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-village1-training-spouts" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 2844 :period 4500 :length 1200) + (sp-item 2845 :period 4500 :length 1200 :offset 4050) + (sp-item 2846 :period 4500 :length 1200 :offset 1500) + (sp-item 2847 :period 4500 :length 1200 :offset 1050) + (sp-item 2848 :period 4500 :length 1200 :offset 3000) + (sp-item 2849 :period 4500 :length 1200 :offset 2550) + ) + :bounds + (new 'static 'sphere :y 40960.0 :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2848) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.06) - (sp-flt spt-x (meters 60.0)) - (sp-flt spt-y (meters -8.0)) - (sp-flt spt-z -634880.0) - (sp-flt spt-scale-x (meters 8.0)) - (sp-flt spt-rot-z (degrees 180.0)) - (sp-flt spt-scale-y (meters 64.0)) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 200.0 55.0 1.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.36666667) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-flt spt-scalevel-y (meters -0.035555556)) - (sp-flt spt-accel-y -16.384) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 510) - (sp-launcher-by-id spt-next-launcher 2850) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2848) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.06) + (sp-flt spt-x (meters 60.0)) + (sp-flt spt-y (meters -8.0)) + (sp-flt spt-z -634880.0) + (sp-flt spt-scale-x (meters 8.0)) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 64.0)) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 200.0 55.0 1.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.36666667) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-flt spt-scalevel-y (meters -0.035555556)) + (sp-flt spt-accel-y -16.384) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 510) + (sp-launcher-by-id spt-next-launcher 2850) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2849) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-x (meters 60.0)) - (sp-rnd-flt spt-y (meters 95.0) (meters 20.0) 1.0) - (sp-flt spt-z -634880.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 200.0 55.0 1.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.07111111)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.053333335) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-a 1.0666667) - (sp-rnd-flt spt-accel-x 0.0 1.3653333 1.0) - (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit12) - (sp-int-plain-rnd spt-next-time 30 29 1) - (sp-launcher-by-id spt-next-launcher 2851) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2849) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-x (meters 60.0)) + (sp-rnd-flt spt-y (meters 95.0) (meters 20.0) 1.0) + (sp-flt spt-z -634880.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 200.0 55.0 1.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.07111111)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.053333335) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-a 1.0666667) + (sp-rnd-flt spt-accel-x 0.0 1.3653333 1.0) + (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit12) + (sp-int-plain-rnd spt-next-time 30 29 1) + (sp-launcher-by-id spt-next-launcher 2851) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2846) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.06) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters -8.0)) - (sp-flt spt-z 0.0) - (sp-flt spt-scale-x (meters 8.0)) - (sp-flt spt-rot-z (degrees 180.0)) - (sp-flt spt-scale-y (meters 64.0)) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 200.0 55.0 1.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.36666667) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-flt spt-scalevel-y (meters -0.035555556)) - (sp-flt spt-accel-y -16.384) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 510) - (sp-launcher-by-id spt-next-launcher 2850) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2846) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.06) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters -8.0)) + (sp-flt spt-z 0.0) + (sp-flt spt-scale-x (meters 8.0)) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 64.0)) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 200.0 55.0 1.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.36666667) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-flt spt-scalevel-y (meters -0.035555556)) + (sp-flt spt-accel-y -16.384) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 510) + (sp-launcher-by-id spt-next-launcher 2850) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2847) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-x (meters 0.0)) - (sp-rnd-flt spt-y (meters 95.0) (meters 20.0) 1.0) - (sp-flt spt-z 0.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 200.0 55.0 1.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.07111111)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.053333335) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-a 1.0666667) - (sp-rnd-flt spt-accel-x 0.0 1.3653333 1.0) - (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit12) - (sp-int-plain-rnd spt-next-time 30 29 1) - (sp-launcher-by-id spt-next-launcher 2851) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2847) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-x (meters 0.0)) + (sp-rnd-flt spt-y (meters 95.0) (meters 20.0) 1.0) + (sp-flt spt-z 0.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 200.0 55.0 1.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.07111111)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.053333335) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-a 1.0666667) + (sp-rnd-flt spt-accel-x 0.0 1.3653333 1.0) + (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit12) + (sp-int-plain-rnd spt-next-time 30 29 1) + (sp-launcher-by-id spt-next-launcher 2851) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2844) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.06) - (sp-flt spt-x (meters -100.0)) - (sp-flt spt-y (meters -8.0)) - (sp-flt spt-z 0.0) - (sp-flt spt-scale-x (meters 8.0)) - (sp-flt spt-rot-z (degrees 180.0)) - (sp-flt spt-scale-y (meters 64.0)) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 200.0 55.0 1.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.36666667) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-flt spt-scalevel-y (meters -0.035555556)) - (sp-flt spt-accel-y -16.384) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 510) - (sp-launcher-by-id spt-next-launcher 2850) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2844) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.06) + (sp-flt spt-x (meters -100.0)) + (sp-flt spt-y (meters -8.0)) + (sp-flt spt-z 0.0) + (sp-flt spt-scale-x (meters 8.0)) + (sp-flt spt-rot-z (degrees 180.0)) + (sp-flt spt-scale-y (meters 64.0)) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 200.0 55.0 1.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.36666667) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-flt spt-scalevel-y (meters -0.035555556)) + (sp-flt spt-accel-y -16.384) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 510) + (sp-launcher-by-id spt-next-launcher 2850) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2850) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-scalevel-x (meters 0.06666667)) - (sp-flt spt-fade-a -1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2850) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-flt spt-fade-a -1.0666667) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2845) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-x (meters -100.0)) - (sp-rnd-flt spt-y (meters 95.0) (meters 20.0) 1.0) - (sp-flt spt-z 0.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 200.0 55.0 1.0) - (sp-rnd-flt spt-b 200.0 55.0 1.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.07111111)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.053333335) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-a 1.0666667) - (sp-rnd-flt spt-accel-x 0.0 1.3653333 1.0) - (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2 bit12) - (sp-int-plain-rnd spt-next-time 30 29 1) - (sp-launcher-by-id spt-next-launcher 2851) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2845) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-x (meters -100.0)) + (sp-rnd-flt spt-y (meters 95.0) (meters 20.0) 1.0) + (sp-flt spt-z 0.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 200.0 55.0 1.0) + (sp-rnd-flt spt-b 200.0 55.0 1.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.07111111)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.053333335) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-a 1.0666667) + (sp-rnd-flt spt-accel-x 0.0 1.3653333 1.0) + (sp-rnd-flt spt-accel-y -4.096 -1.3653333 1.0) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2 bit12) + (sp-int-plain-rnd spt-next-time 30 29 1) + (sp-launcher-by-id spt-next-launcher 2851) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2851) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.03678161) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2851) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.03678161) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 142) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-trans-pad" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 514 :fade-after (meters 160.0)) - (sp-item 515 :fade-after (meters 160.0)) - (sp-item 516 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 142) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-trans-pad" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 514 :fade-after (meters 160.0)) + (sp-item 515 :fade-after (meters 160.0)) + (sp-item 516 :fade-after (meters 60.0) :falloff-to (meters 60.0) :flags (is-3d)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 514) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters 5.0)) - (sp-rnd-flt spt-scale-x (meters 10.0) (meters 1.0) 1.0) - (sp-flt spt-scale-y (meters 10.0)) - (sp-flt spt-r 40.0) - (sp-rnd-flt spt-g 60.0 60.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 514) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters 5.0)) + (sp-rnd-flt spt-scale-x (meters 10.0) (meters 1.0) 1.0) + (sp-flt spt-scale-y (meters 10.0)) + (sp-flt spt-r 40.0) + (sp-rnd-flt spt-g 60.0 60.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 515) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.5) - (sp-flt spt-y (meters 3.0)) - (sp-rnd-flt spt-scale-x (meters 5.0) (meters 1.0) 1.0) - (sp-flt spt-scale-y (meters 10.0)) - (sp-flt spt-r 40.0) - (sp-rnd-flt spt-g 60.0 60.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-fade-a -8.533334) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 515) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.5) + (sp-flt spt-y (meters 3.0)) + (sp-rnd-flt spt-scale-x (meters 5.0) (meters 1.0) 1.0) + (sp-flt spt-scale-y (meters 10.0)) + (sp-flt spt-r 40.0) + (sp-rnd-flt spt-g 60.0 60.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-fade-a -8.533334) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 516) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) - (sp-flt spt-scale-x (meters 0.0)) - (sp-rnd-flt spt-rot-x 0.0 2730.6667 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 16.0) - (sp-rnd-flt spt-g 0.0 127.0 1.0) - (sp-flt spt-b 127.0) - (sp-flt spt-a 127.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-rnd-flt spt-rotvel-y (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.21333334) - (sp-flt spt-accel-y -0.6144) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 516) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.75) (meters 0.1) 1.0) + (sp-flt spt-scale-x (meters 0.0)) + (sp-rnd-flt spt-rot-x 0.0 2730.6667 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 16.0) + (sp-rnd-flt spt-g 0.0 127.0 1.0) + (sp-flt spt-b 127.0) + (sp-flt spt-a 127.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-rnd-flt spt-rotvel-y (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.21333334) + (sp-flt spt-accel-y -0.6144) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/village1/village1-part_REF.gc b/test/decompiler/reference/levels/village1/village1-part_REF.gc index 31c683c017..788d595316 100644 --- a/test/decompiler/reference/levels/village1/village1-part_REF.gc +++ b/test/decompiler/reference/levels/village1/village1-part_REF.gc @@ -13,2882 +13,2618 @@ ;; definition for method 3 of type villagea-part (defmethod inspect villagea-part ((obj villagea-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 127) - (new 'static 'sparticle-launch-group - :length 13 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-butterflies" - :launcher - (new 'static 'inline-array sparticle-group-item 13 - (sp-item 380 :fade-after (meters 120.0) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 381) - (sp-item 380 :fade-after (meters 120.0) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 381) - (sp-item 380 :fade-after (meters 120.0) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 381) - (sp-item 381 :flags (start-dead launch-asap) :binding 382) - (sp-item 382 :flags (is-3d start-dead)) - (sp-item 381 :flags (start-dead launch-asap) :binding 382) - (sp-item 382 :flags (is-3d start-dead)) - (sp-item 381 :flags (start-dead launch-asap) :binding 382) - (sp-item 382 :flags (is-3d start-dead)) - (sp-item 381 :flags (start-dead launch-asap) :binding 382) - (sp-item 382 :flags (is-3d start-dead)) - (sp-item 381 :flags (start-dead launch-asap) :binding 382) - (sp-item 382 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 122880.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 380) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 7.5) 1.0) - (sp-rnd-flt spt-y (meters 14.0) (meters 3.0) 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters -0.036666665)) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-timer 6000) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 555) - (sp-launcher-by-id spt-next-launcher 383) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 383) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-accel-y 0.0) - (sp-int-plain-rnd spt-next-time 2700 1499 1) - (sp-launcher-by-id spt-next-launcher 384) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 384) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-accel-y 1.3653333) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 381) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 12288.0 4096.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-g 0.0 256.0 1.0) - (sp-rnd-int spt-b 1124073472 1 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 6000) - (sp-cpuinfo-flags bit3 bit7) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 385) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 385) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 385) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 382) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-rot-color) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 0.9)) - (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) - (sp-flt spt-scale-y (meters 1.3)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -8.0) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit9 bit12) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 128) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-moth" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 386 :fade-after (meters 120.0) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 387) - (sp-item 387 :flags (start-dead launch-asap) :binding 388) - (sp-item 388 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 12288.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 386) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 18000) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 387) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 6144.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 18000) - (sp-cpuinfo-flags bit3 bit7) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 389) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 389) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 389) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 388) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-rot-color) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 0.4)) - (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) - (sp-flt spt-scale-y (meters 0.4)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit9 bit12) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 129) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-hummingbird" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 390 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5 :hour-mask #b111111100000000000111111) - (sp-item 391 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5) - (sp-item 392 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5) - (sp-item 393 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5) - (sp-item 394 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5) - (sp-item 395 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 390) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-int spt-a 1119879168 1 16.0) - (sp-flt spt-vel-x (meters 0.0024242424)) - (sp-flt spt-vel-y (meters 0.02)) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 825) - (sp-cpuinfo-flags bit2 bit9 bit12 left-multiply-quat) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 396) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 396) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-rnd-int spt-a 1119879168 1 16.0) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 396) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 391) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.0024242424)) - (sp-flt spt-vel-y (meters 0.02)) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit9 bit12 left-multiply-quat) - (sp-int spt-next-time 825) - (sp-launcher-by-id spt-next-launcher 397) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 397) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-rnd-int spt-a 1119879168 1 16.0) - (sp-flt spt-accel-x 2.7306666) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 398) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 398) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-rnd-int spt-a 1119879168 1 16.0) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 398) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 392) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-flt spt-rot-z (degrees 60.0)) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-int spt-a 1107296256 1 32.0) - (sp-flt spt-vel-x (meters 0.0024242424)) - (sp-flt spt-vel-y (meters 0.02)) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 825) - (sp-cpuinfo-flags bit2 bit9 bit12) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 399) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 399) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) - (sp-rnd-int spt-a 1107296256 1 32.0) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 399) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 393) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-flt spt-rot-z (degrees 60.0)) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.0024242424)) - (sp-flt spt-vel-y (meters 0.02)) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit9 bit12) - (sp-int spt-next-time 825) - (sp-launcher-by-id spt-next-launcher 400) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 400) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) - (sp-rnd-int spt-a 1107296256 1 32.0) - (sp-flt spt-accel-x 2.7306666) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 401) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 401) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) - (sp-rnd-int spt-a 1107296256 1 32.0) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 401) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 394) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 8192.0) - (sp-flt spt-rot-y (degrees -90.0)) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-int spt-a 1107296256 1 32.0) - (sp-flt spt-vel-x (meters 0.0024242424)) - (sp-flt spt-vel-y (meters 0.02)) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 825) - (sp-cpuinfo-flags bit2 bit9 bit12) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 402) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 402) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-rot-x 8192.0) - (sp-flt spt-rot-y (degrees -90.0)) - (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) - (sp-rnd-int spt-a 1107296256 1 32.0) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 402) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 395) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 8192.0) - (sp-flt spt-rot-y (degrees -90.0)) - (sp-flt spt-rot-z (degrees 60.0)) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.0024242424)) - (sp-flt spt-vel-y (meters 0.02)) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit9 bit12) - (sp-int spt-next-time 825) - (sp-launcher-by-id spt-next-launcher 403) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 403) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-flt spt-rot-x 8192.0) - (sp-flt spt-rot-y (degrees -90.0)) - (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) - (sp-rnd-int spt-a 1107296256 1 32.0) - (sp-flt spt-accel-x 2.7306666) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 404) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 404) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-flt spt-rot-x 8192.0) - (sp-flt spt-rot-y (degrees -90.0)) - (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) - (sp-rnd-int spt-a 1107296256 1 32.0) - (sp-int spt-next-time 5) - (sp-launcher-by-id spt-next-launcher 404) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 405) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.03) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 2.3)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 96.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-flt spt-a 48.0) - (sp-flt spt-vel-z (meters -0.0013333333)) - (sp-flt spt-scalevel-x (meters 0.00041666668)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.04) - (sp-flt spt-accel-y -0.027306668) - (sp-flt spt-accel-z 0.013653334) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.15) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 406) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 60.0 1.0) - (sp-flt spt-a 196.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.008333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-flt spt-fade-a -0.8) - (sp-flt spt-accel-y -0.8192) - (sp-int spt-timer 75) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-int-flt spt-conerot-x (degrees -15.0) 4 1365.3334) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 407) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-flt spt-y (meters 1.2)) - (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 96.0) - (sp-flt spt-a 48.0) - (sp-flt spt-vel-y (meters 0.001)) - (sp-flt spt-scalevel-x (meters 0.000125)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.08) - (sp-flt spt-fade-g -0.026666667) - (sp-flt spt-fade-b -0.026666667) - (sp-flt spt-fade-a -0.053333335) - (sp-flt spt-accel-y 0.04096) - (sp-flt spt-friction 0.9975) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2) - (sp-rnd-int-flt spt-conerot-x (degrees -80.0) 1 29127.111) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.2)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 408) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.16) - (sp-rnd-flt spt-x (meters -0.22) (meters 0.44) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -901.12 1802.24 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.22) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 64.0) - (sp-flt spt-vel-y (meters 0.0033333334)) - (sp-flt spt-scalevel-x (meters 0.00026666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.18962963) - (sp-flt spt-fade-g -0.094814815) - (sp-flt spt-fade-b -0.094814815) - (sp-flt spt-accel-y -0.04096) - (sp-int spt-timer 675) - (sp-cpuinfo-flags bit2) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 130) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-pot" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 405 :fade-after (meters 50.0) :falloff-to (meters 60.0)) - (sp-item 406 :fade-after (meters 50.0) :falloff-to (meters 60.0)) - (sp-item 407 :fade-after (meters 60.0) :falloff-to (meters 80.0)) - (sp-item 409 :fade-after (meters 60.0) :falloff-to (meters 80.0)) - ) - :bounds - (new 'static 'sphere :y 10240.0 :w 10240.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 131) - (new 'static 'sparticle-launch-group - :length 68 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-mayor-fire" - :launcher - (new 'static 'inline-array sparticle-group-item 68 - (sp-item 410 :fade-after (meters 50.0) :falloff-to (meters 80.0)) - (sp-item 411 :fade-after (meters 40.0) :falloff-to (meters 40.0) :binding 2292) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 2292 :flags (bit1 start-dead launch-asap)) - (sp-item 412 :fade-after (meters 60.0) :falloff-to (meters 80.0)) - (sp-item 413 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - ) - :bounds - (new 'static 'sphere :y 10240.0 :w 10240.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 411) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "fire-pop") - :volume #x400 +(set! (-> *part-group-id-table* 127) + (new 'static 'sparticle-launch-group + :length 13 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-butterflies" + :launcher + (new 'static 'inline-array sparticle-group-item 13 + (sp-item 380 :fade-after (meters 120.0) :period 4903 :length 5 :hour-mask #b111111100000000000111111 :binding 381) + (sp-item 380 :fade-after (meters 120.0) :period 6637 :length 5 :hour-mask #b111111100000000000111111 :binding 381) + (sp-item 380 :fade-after (meters 120.0) :period 9846 :length 5 :hour-mask #b111111100000000000111111 :binding 381) + (sp-item 381 :flags (start-dead launch-asap) :binding 382) + (sp-item 382 :flags (is-3d start-dead)) + (sp-item 381 :flags (start-dead launch-asap) :binding 382) + (sp-item 382 :flags (is-3d start-dead)) + (sp-item 381 :flags (start-dead launch-asap) :binding 382) + (sp-item 382 :flags (is-3d start-dead)) + (sp-item 381 :flags (start-dead launch-asap) :binding 382) + (sp-item 382 :flags (is-3d start-dead)) + (sp-item 381 :flags (start-dead launch-asap) :binding 382) + (sp-item 382 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 122880.0) + ) ) - ) - (sp-rnd-flt spt-x (meters -0.6) (meters 1.3) 1.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 0.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.04) 1.0) - (sp-rnd-flt spt-accel-y -0.27306667 -0.13653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit1 bit3) - (sp-rnd-flt spt-conerot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2292) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 1024.0 4096.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.053333335) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g -0.7111111) - (sp-flt spt-fade-b -0.7111111) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit1 bit2 bit3 bit7) - (sp-int spt-next-time 180) - (sp-launcher-by-id spt-next-launcher 2293) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 380) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 7.5) 1.0) + (sp-rnd-flt spt-y (meters 14.0) (meters 3.0) 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters -0.036666665)) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-timer 6000) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 555) + (sp-launcher-by-id spt-next-launcher 383) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2293) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r -1.0666667) - (sp-flt spt-fade-g 1.0666667) - (sp-flt spt-fade-b 1.0666667) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 383) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-accel-y 0.0) + (sp-int-plain-rnd spt-next-time 2700 1499 1) + (sp-launcher-by-id spt-next-launcher 384) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 410) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 4.0 10.0 1.0) - (sp-rnd-flt spt-x (meters -1.2) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -1638.4 3276.8 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a -0.73333335) - (sp-flt spt-accel-y -0.27306667) - (sp-int-plain-rnd spt-timer 60 59 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 384) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-accel-y 1.3653333) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 412) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -4096.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.18962963) - (sp-flt spt-fade-g -0.094814815) - (sp-flt spt-fade-b -0.094814815) - (sp-flt spt-fade-a -0.047407407) - (sp-flt spt-accel-y -0.027306668) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 675) - (sp-cpuinfo-flags bit2) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 381) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 12288.0 4096.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-g 0.0 256.0 1.0) + (sp-rnd-int spt-b 1124073472 1 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 6000) + (sp-cpuinfo-flags bit3 bit7) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 385) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 413) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.4) - (sp-flt spt-x (meters 0.2)) - (sp-int spt-rot-x 8) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 2867.2) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 414) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 385) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 6 + (sp-rnd-flt spt-vel-x (meters -0.017777778) (meters 0.035555556) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0074074077) (meters 0.0148148155) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 385) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 414) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -1.3653333) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 382) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-rot-color) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 0.9)) + (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) + (sp-flt spt-scale-y (meters 1.3)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -8.0) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit9 bit12) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 132) - (new 'static 'sparticle-launch-group - :length 50 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-sagehut-seagulls" - :launcher - (new 'static 'inline-array sparticle-group-item 50 - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - (sp-item 416 :flags (start-dead launch-asap) :binding 417) - (sp-item 417 :flags (is-3d start-dead)) - ) - :bounds - (new 'static 'sphere :y 32768.0 :w 184320.0) - ) - ) +(set! (-> *part-group-id-table* 128) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-moth" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 386 :fade-after (meters 120.0) :flags (bit1) :period 18030 :length 5 :hour-mask #b1111111110000000 :binding 387) + (sp-item 387 :flags (start-dead launch-asap) :binding 388) + (sp-item 388 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 12288.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 386) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 10 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 18000) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 387) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 6144.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 18000) + (sp-cpuinfo-flags bit3 bit7) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 389) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 389) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 6 + (sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 389) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 388) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-rot-color) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 0.4)) + (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) + (sp-flt spt-scale-y (meters 0.4)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit9 bit12) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 129) + (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-hummingbird" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 390 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5 :hour-mask #b111111100000000000111111) + (sp-item 391 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5) + (sp-item 392 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5) + (sp-item 393 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5) + (sp-item 394 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5) + (sp-item 395 :fade-after (meters 20.0) :flags (is-3d bit1) :period 6000 :length 5) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 390) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-int spt-a 1119879168 1 16.0) + (sp-flt spt-vel-x (meters 0.0024242424)) + (sp-flt spt-vel-y (meters 0.02)) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 825) + (sp-cpuinfo-flags bit2 bit9 bit12 left-multiply-quat) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 396) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 396) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-rnd-int spt-a 1119879168 1 16.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 396) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 391) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.0024242424)) + (sp-flt spt-vel-y (meters 0.02)) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit9 bit12 left-multiply-quat) + (sp-int spt-next-time 825) + (sp-launcher-by-id spt-next-launcher 397) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 397) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-rnd-int spt-a 1119879168 1 16.0) + (sp-flt spt-accel-x 2.7306666) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 398) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 398) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-rnd-int spt-a 1119879168 1 16.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 398) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 392) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-flt spt-rot-z (degrees 60.0)) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-int spt-a 1107296256 1 32.0) + (sp-flt spt-vel-x (meters 0.0024242424)) + (sp-flt spt-vel-y (meters 0.02)) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 825) + (sp-cpuinfo-flags bit2 bit9 bit12) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 399) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 399) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) + (sp-rnd-int spt-a 1107296256 1 32.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 399) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 393) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-flt spt-rot-z (degrees 60.0)) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.0024242424)) + (sp-flt spt-vel-y (meters 0.02)) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit9 bit12) + (sp-int spt-next-time 825) + (sp-launcher-by-id spt-next-launcher 400) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 400) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 9 + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) + (sp-rnd-int spt-a 1107296256 1 32.0) + (sp-flt spt-accel-x 2.7306666) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 401) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 401) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) + (sp-rnd-int spt-a 1107296256 1 32.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 401) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 394) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 8192.0) + (sp-flt spt-rot-y (degrees -90.0)) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-int spt-a 1107296256 1 32.0) + (sp-flt spt-vel-x (meters 0.0024242424)) + (sp-flt spt-vel-y (meters 0.02)) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 825) + (sp-cpuinfo-flags bit2 bit9 bit12) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 402) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 402) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-rot-x 8192.0) + (sp-flt spt-rot-y (degrees -90.0)) + (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) + (sp-rnd-int spt-a 1107296256 1 32.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 402) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 395) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 8192.0) + (sp-flt spt-rot-y (degrees -90.0)) + (sp-flt spt-rot-z (degrees 60.0)) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.0024242424)) + (sp-flt spt-vel-y (meters 0.02)) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit9 bit12) + (sp-int spt-next-time 825) + (sp-launcher-by-id spt-next-launcher 403) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 403) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 9 + (sp-flt spt-rot-x 8192.0) + (sp-flt spt-rot-y (degrees -90.0)) + (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) + (sp-rnd-int spt-a 1107296256 1 32.0) + (sp-flt spt-accel-x 2.7306666) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 404) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 404) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 7 + (sp-flt spt-rot-x 8192.0) + (sp-flt spt-rot-y (degrees -90.0)) + (sp-rnd-flt spt-rot-z (degrees -70.0) (degrees 140.0) 1.0) + (sp-rnd-int spt-a 1107296256 1 32.0) + (sp-int spt-next-time 5) + (sp-launcher-by-id spt-next-launcher 404) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 405) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.03) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 2.3)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 96.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-flt spt-a 48.0) + (sp-flt spt-vel-z (meters -0.0013333333)) + (sp-flt spt-scalevel-x (meters 0.00041666668)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.04) + (sp-flt spt-accel-y -0.027306668) + (sp-flt spt-accel-z 0.013653334) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.15) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 406) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 60.0 1.0) + (sp-flt spt-a 196.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.008333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-flt spt-fade-a -0.8) + (sp-flt spt-accel-y -0.8192) + (sp-int spt-timer 75) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-int-flt spt-conerot-x (degrees -15.0) 4 1365.3334) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 407) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-flt spt-y (meters 1.2)) + (sp-rnd-flt spt-scale-x (meters 0.3) (meters 0.15) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 96.0) + (sp-flt spt-a 48.0) + (sp-flt spt-vel-y (meters 0.001)) + (sp-flt spt-scalevel-x (meters 0.000125)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.08) + (sp-flt spt-fade-g -0.026666667) + (sp-flt spt-fade-b -0.026666667) + (sp-flt spt-fade-a -0.053333335) + (sp-flt spt-accel-y 0.04096) + (sp-flt spt-friction 0.9975) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2) + (sp-rnd-int-flt spt-conerot-x (degrees -80.0) 1 29127.111) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.2)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 408) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.16) + (sp-rnd-flt spt-x (meters -0.22) (meters 0.44) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -901.12 1802.24 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.22) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 64.0) + (sp-flt spt-vel-y (meters 0.0033333334)) + (sp-flt spt-scalevel-x (meters 0.00026666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.1) (degrees 0.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.18962963) + (sp-flt spt-fade-g -0.094814815) + (sp-flt spt-fade-b -0.094814815) + (sp-flt spt-accel-y -0.04096) + (sp-int spt-timer 675) + (sp-cpuinfo-flags bit2) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 130) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-pot" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 405 :fade-after (meters 50.0) :falloff-to (meters 60.0)) + (sp-item 406 :fade-after (meters 50.0) :falloff-to (meters 60.0)) + (sp-item 407 :fade-after (meters 60.0) :falloff-to (meters 80.0)) + (sp-item 409 :fade-after (meters 60.0) :falloff-to (meters 80.0)) + ) + :bounds + (new 'static 'sphere :y 10240.0 :w 10240.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 131) + (new 'static 'sparticle-launch-group + :length 68 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-mayor-fire" + :launcher + (new 'static 'inline-array sparticle-group-item 68 + (sp-item 410 :fade-after (meters 50.0) :falloff-to (meters 80.0)) + (sp-item 411 :fade-after (meters 40.0) :falloff-to (meters 40.0) :binding 2292) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 2292 :flags (bit1 start-dead launch-asap)) + (sp-item 412 :fade-after (meters 60.0) :falloff-to (meters 80.0)) + (sp-item 413 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + ) + :bounds + (new 'static 'sphere :y 10240.0 :w 10240.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 411) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec + :mask #x1 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "fire-pop") + :volume #x400 + ) + ) + (sp-rnd-flt spt-x (meters -0.6) (meters 1.3) 1.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.04) 1.0) + (sp-rnd-flt spt-accel-y -0.27306667 -0.13653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit1 bit3) + (sp-rnd-flt spt-conerot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2292) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 1024.0 4096.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.053333335) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -0.7111111) + (sp-flt spt-fade-b -0.7111111) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit1 bit2 bit3 bit7) + (sp-int spt-next-time 180) + (sp-launcher-by-id spt-next-launcher 2293) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2293) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r -1.0666667) + (sp-flt spt-fade-g 1.0666667) + (sp-flt spt-fade-b 1.0666667) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 410) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 4.0 10.0 1.0) + (sp-rnd-flt spt-x (meters -1.2) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -1638.4 3276.8 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a -0.73333335) + (sp-flt spt-accel-y -0.27306667) + (sp-int-plain-rnd spt-timer 60 59 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 412) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -4096.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.18962963) + (sp-flt spt-fade-g -0.094814815) + (sp-flt spt-fade-b -0.094814815) + (sp-flt spt-fade-a -0.047407407) + (sp-flt spt-accel-y -0.027306668) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 675) + (sp-cpuinfo-flags bit2) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 413) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.4) + (sp-flt spt-x (meters 0.2)) + (sp-int spt-rot-x 8) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 2867.2) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 414) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 414) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -1.3653333) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 132) + (new 'static 'sparticle-launch-group + :length 50 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-sagehut-seagulls" + :launcher + (new 'static 'inline-array sparticle-group-item 50 + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 415 :fade-after (meters 120.0) :flags (bit1 launch-asap) :binding 416) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + (sp-item 416 :flags (start-dead launch-asap) :binding 417) + (sp-item 417 :flags (is-3d start-dead)) + ) + :bounds + (new 'static 'sphere :y 32768.0 :w 184320.0) + ) + ) ;; definition for function bird-bob-func ;; INFO: Return type mismatch int vs none. -(defun - bird-bob-func - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) - (set! - (-> arg2 y) - (+ - (-> (the-as process-drawable (-> arg1 key proc)) root trans y) - (* - -2048.0 - (sin (* 218.45334 (the float (mod (-> *display* base-frame-counter) 300)))) - ) - ) - ) +(defun bird-bob-func ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) + (set! (-> arg2 y) (+ (-> (the-as process-drawable (-> arg1 key proc)) root trans y) + (* -2048.0 (sin (* 218.45334 (the float (mod (-> *display* base-frame-counter) 300))))) + ) + ) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 415) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-func spt-birth-func 'birth-func-random-next-time) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z -61440.0 122880.0 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer -1) - (sp-cpuinfo-flags bit3) - (sp-flt spt-userdata 199.98) - (sp-func spt-func 'bird-bob-func) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 415) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-func spt-birth-func 'birth-func-random-next-time) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 30.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z -61440.0 122880.0 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer -1) + (sp-cpuinfo-flags bit3) + (sp-flt spt-userdata 199.98) + (sp-func spt-func 'bird-bob-func) + (sp-end) + ) + ) + ) ;; definition for function sparticle-seagull-moon ;; INFO: Return type mismatch int vs none. -(defun - sparticle-seagull-moon - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) - (set! - (-> arg2 vector 1 z) - (the float (sar (shl (the int (+ -16384.0 (-> arg1 omega))) 48) 48)) - ) +(defun sparticle-seagull-moon ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix)) + (set! (-> arg2 vector 1 z) (the float (sar (shl (the int (+ -16384.0 (-> arg1 omega))) 48) 48))) 0 (none) ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 416) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-omega-to-z) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-z 122880.0) - (sp-flt spt-scale-x (meters 0.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 32.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.0044444446)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.04)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit3 bit7) - (sp-func spt-func 'sparticle-seagull-moon) - (sp-int spt-next-time 199) - (sp-launcher-by-id spt-next-launcher 418) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 416) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-omega-to-z) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-z 122880.0) + (sp-flt spt-scale-x (meters 0.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 32.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.0044444446)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.04)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit3 bit7) + (sp-func spt-func 'sparticle-seagull-moon) + (sp-int spt-next-time 199) + (sp-launcher-by-id spt-next-launcher 418) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 418) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-scale-x (meters 8.0)) - (sp-flt spt-scalevel-x (meters -0.08)) - (sp-int spt-timer 600) - (sp-int spt-next-time 100) - (sp-launcher-by-id spt-next-launcher 419) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 418) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-scale-x (meters 8.0)) + (sp-flt spt-scalevel-x (meters -0.08)) + (sp-int spt-timer 600) + (sp-int spt-next-time 100) + (sp-launcher-by-id spt-next-launcher 419) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 419) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-scale-x (meters 0.0)) - (sp-flt spt-scalevel-x (meters -0.04)) - (sp-int spt-timer 600) - (sp-int spt-next-time 199) - (sp-launcher-by-id spt-next-launcher 418) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 419) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-scale-x (meters 0.0)) + (sp-flt spt-scalevel-x (meters -0.04)) + (sp-int spt-timer 600) + (sp-int spt-next-time 199) + (sp-launcher-by-id spt-next-launcher 418) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 417) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-func spt-birth-func 'birth-func-copy2-rot-color) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 4.0)) - (sp-flt spt-scale-y (meters 1.5)) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9 bit12) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 417) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 9 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-func spt-birth-func 'birth-func-copy2-rot-color) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 4.0)) + (sp-flt spt-scale-y (meters 1.5)) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9 bit12) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 133) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-butterfly-sitting" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 420 :fade-after (meters 60.0) :flags (is-3d bit1) :period 600 :length 5) - (sp-item 421 :fade-after (meters 60.0) :flags (is-3d bit1) :period 600 :length 5) - ) - :bounds - (new 'static 'sphere :y 819.2 :w 2048.0) - ) - ) +(set! (-> *part-group-id-table* 133) + (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-butterfly-sitting" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 420 :fade-after (meters 60.0) :flags (is-3d bit1) :period 600 :length 5) + (sp-item 421 :fade-after (meters 60.0) :flags (is-3d bit1) :period 600 :length 5) + ) + :bounds + (new 'static 'sphere :y 819.2 :w 2048.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 420) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.05)) - (sp-flt spt-scale-x (meters 0.9)) - (sp-flt spt-rot-x 18204.445) - (sp-flt spt-rot-y (degrees 72.5)) - (sp-flt spt-scale-y (meters 1.3)) - (sp-flt spt-r 0.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-x (degrees 0.33333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 bit12 left-multiply-quat) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 420) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.05)) + (sp-flt spt-scale-x (meters 0.9)) + (sp-flt spt-rot-x 18204.445) + (sp-flt spt-rot-y (degrees 72.5)) + (sp-flt spt-scale-y (meters 1.3)) + (sp-flt spt-r 0.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-x (degrees 0.33333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 bit12 left-multiply-quat) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 422) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-rotvel-x (degrees -0.31666666)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 422) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-rotvel-x (degrees -0.31666666)) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 421) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.05)) - (sp-flt spt-scale-x (meters 0.9)) - (sp-flt spt-rot-x 14563.556) - (sp-flt spt-rot-y (degrees 72.5)) - (sp-flt spt-scale-y (meters 1.3)) - (sp-flt spt-r 0.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-x (degrees -0.33333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 bit12 left-multiply-quat) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 423) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 421) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.05)) + (sp-flt spt-scale-x (meters 0.9)) + (sp-flt spt-rot-x 14563.556) + (sp-flt spt-rot-y (degrees 72.5)) + (sp-flt spt-scale-y (meters 1.3)) + (sp-flt spt-r 0.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-x (degrees -0.33333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 bit12 left-multiply-quat) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 423) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 423) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-rotvel-x (degrees 0.31666666)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 423) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-rotvel-x (degrees 0.31666666)) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 134) - (new 'static 'sparticle-launch-group - :length 9 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-fountain" - :launcher - (new 'static 'inline-array sparticle-group-item 9 - (sp-item 424 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 425 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 425 :fade-after (meters 150.0) :falloff-to (meters 150.0) :period 463 :length 139) - (sp-item 426 :fade-after (meters 90.0) :falloff-to (meters 90.0) :period 526 :length 186) - (sp-item 427 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 560 :length 212) - (sp-item 428 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 403 :length 296) - (sp-item 429 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - (sp-item 430 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - (sp-item 431 :fade-after (meters 40.0) :falloff-to (meters 40.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) +(set! (-> *part-group-id-table* 134) + (new 'static 'sparticle-launch-group + :length 9 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-fountain" + :launcher + (new 'static 'inline-array sparticle-group-item 9 + (sp-item 424 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 425 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 425 :fade-after (meters 150.0) :falloff-to (meters 150.0) :period 463 :length 139) + (sp-item 426 :fade-after (meters 90.0) :falloff-to (meters 90.0) :period 526 :length 186) + (sp-item 427 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 560 :length 212) + (sp-item 428 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 403 :length 296) + (sp-item 429 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + (sp-item 430 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + (sp-item 431 :fade-after (meters 40.0) :falloff-to (meters 40.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 431) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 1.0 4.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 112.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) - (sp-flt spt-fade-a -0.5688889) - (sp-flt spt-accel-y -2.7306666) - (sp-flt spt-friction 0.97) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 15.0) (degrees 75.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 431) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 1.0 4.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 112.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) + (sp-flt spt-fade-a -0.5688889) + (sp-flt spt-accel-y -2.7306666) + (sp-flt spt-friction 0.97) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 15.0) (degrees 75.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 430) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.9) - (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 112.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.0013333333) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.013333334) 1.0) - (sp-flt spt-fade-a 1.0666667) - (sp-flt spt-accel-y -4.096) - (sp-flt spt-friction 0.925) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3 bit12) - (sp-int-plain-rnd spt-next-time 15 14 1) - (sp-launcher-by-id spt-next-launcher 432) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 430) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.9) + (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 112.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.0013333333) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.013333334) 1.0) + (sp-flt spt-fade-a 1.0666667) + (sp-flt spt-accel-y -4.096) + (sp-flt spt-friction 0.925) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3 bit12) + (sp-int-plain-rnd spt-next-time 15 14 1) + (sp-launcher-by-id spt-next-launcher 432) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 432) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.07111111) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 432) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.07111111) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 426) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 2.0 4.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 112.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-y (meters 0.0026666666)) - (sp-flt spt-fade-a -0.26666668) - (sp-flt spt-accel-y -8.192) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-flt spt-userdata 45056.0) - (sp-func spt-func 'check-drop-level-village1-fountain-nosplash) - (sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.4) (meters 0.3) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 426) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 2.0 4.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 112.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-y (meters 0.0026666666)) + (sp-flt spt-fade-a -0.26666668) + (sp-flt spt-accel-y -8.192) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-flt spt-userdata 45056.0) + (sp-func spt-func 'check-drop-level-village1-fountain-nosplash) + (sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.4) (meters 0.3) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 428) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 2.0 4.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 112.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-y (meters 0.0026666666)) - (sp-flt spt-fade-a -0.26666668) - (sp-flt spt-accel-y -8.192) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-flt spt-userdata 45056.0) - (sp-func spt-func 'check-drop-level-village1-fountain-nosplash) - (sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.4) (meters 0.3) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 428) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 2.0 4.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 112.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-y (meters 0.0026666666)) + (sp-flt spt-fade-a -0.26666668) + (sp-flt spt-accel-y -8.192) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-flt spt-userdata 45056.0) + (sp-func spt-func 'check-drop-level-village1-fountain-nosplash) + (sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.4) (meters 0.3) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 427) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 2.0 4.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 112.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-y (meters 0.0026666666)) - (sp-flt spt-fade-a -0.26666668) - (sp-flt spt-accel-y -8.192) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-flt spt-userdata 45056.0) - (sp-func spt-func 'check-drop-level-village1-fountain-nosplash) - (sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 120.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.4) (meters 0.3) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 427) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 2.0 4.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 112.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-y (meters 0.0026666666)) + (sp-flt spt-fade-a -0.26666668) + (sp-flt spt-accel-y -8.192) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-flt spt-userdata 45056.0) + (sp-func spt-func 'check-drop-level-village1-fountain-nosplash) + (sp-rnd-flt spt-conerot-x (degrees 45.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 120.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.4) (meters 0.3) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 425) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 3.0 4.0 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 112.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) - (sp-flt spt-scalevel-y (meters 0.0026666666)) - (sp-flt spt-fade-a -0.26666668) - (sp-flt spt-accel-y -8.192) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-flt spt-userdata 45056.0) - (sp-func spt-func 'check-drop-level-village1-fountain-nosplash) - (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 240.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.4) (meters 0.3) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 425) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 3.0 4.0 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 112.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) + (sp-flt spt-scalevel-y (meters 0.0026666666)) + (sp-flt spt-fade-a -0.26666668) + (sp-flt spt-accel-y -8.192) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-flt spt-userdata 45056.0) + (sp-func spt-func 'check-drop-level-village1-fountain-nosplash) + (sp-rnd-flt spt-conerot-x (degrees 60.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 240.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.4) (meters 0.3) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 429) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 3.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 112.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.002) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-y (meters 0.0026666666)) - (sp-flt spt-fade-a -0.26666668) - (sp-flt spt-accel-y -8.192) - (sp-flt spt-friction 0.95) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12) - (sp-flt spt-userdata 45056.0) - (sp-func spt-func 'check-drop-level-village1-fountain) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.3) (meters 0.3) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 429) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 3.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 112.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0033333334) (meters 0.002) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-y (meters 0.0026666666)) + (sp-flt spt-fade-a -0.26666668) + (sp-flt spt-accel-y -8.192) + (sp-flt spt-friction 0.95) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12) + (sp-flt spt-userdata 45056.0) + (sp-func spt-func 'check-drop-level-village1-fountain) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.3) (meters 0.3) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 424) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 1.0 7.0 1.0) - (sp-rnd-flt spt-y (meters -0.4) (meters 0.4) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.15) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 112.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.0013333333) 1.0) - (sp-flt spt-vel-y (meters 0.04)) - (sp-flt spt-accel-y -4.096) - (sp-int spt-timer 390) - (sp-cpuinfo-flags bit2 bit12) - (sp-int spt-next-time 195) - (sp-launcher-by-id spt-next-launcher 433) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 424) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 1.0 7.0 1.0) + (sp-rnd-flt spt-y (meters -0.4) (meters 0.4) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.15) (meters 0.15) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 112.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.0013333333) 1.0) + (sp-flt spt-vel-y (meters 0.04)) + (sp-flt spt-accel-y -4.096) + (sp-int spt-timer 390) + (sp-cpuinfo-flags bit2 bit12) + (sp-int spt-next-time 195) + (sp-launcher-by-id spt-next-launcher 433) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 433) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-scalevel-y (meters 0.0023076923)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 433) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-scalevel-y (meters 0.0023076923)) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 434) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 32.0 1.0) - (sp-rnd-flt spt-g 112.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-fade-a -0.5688889) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit12) - (sp-rnd-flt spt-conerot-x (degrees 5.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 434) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 0.05) (meters 0.075) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 32.0 1.0) + (sp-rnd-flt spt-g 112.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-fade-a -0.5688889) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit12) + (sp-rnd-flt spt-conerot-x (degrees 5.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 435) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters 0.02)) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 16.0 1.0) - (sp-rnd-flt spt-g 112.0 16.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.01) (meters 0.01) 1.0) - (sp-flt spt-fade-a -1.2222222) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit12) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 435) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters 0.02)) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 16.0 1.0) + (sp-rnd-flt spt-g 112.0 16.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.01) (meters 0.01) 1.0) + (sp-flt spt-fade-a -1.2222222) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit12) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition for function check-drop-level-village1-fountain-nosplash -(defun - check-drop-level-village1-fountain-nosplash - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-village1-fountain-nosplash ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (set! (-> gp-0 x) (-> arg2 x)) - (set! (-> gp-0 y) (-> arg1 user-float)) - (set! (-> gp-0 z) (-> arg2 z)) - (set! (-> gp-0 w) 1.0) - gp-0 + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set! (-> gp-0 x) (-> arg2 x)) + (set! (-> gp-0 y) (-> arg1 user-float)) + (set! (-> gp-0 z) (-> arg2 z)) + (set! (-> gp-0 w) 1.0) + gp-0 + ) ) - ) ) ;; definition for function check-drop-level-village1-fountain -(defun - check-drop-level-village1-fountain - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-village1-fountain ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 434) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - (the-as float 1.0) - ) - (sp-launch-particles-var - *sp-particle-system-3d* - (-> *part-id-table* 435) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - (the-as float 1.0) - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 434) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + (the-as float 1.0) + ) + (sp-launch-particles-var + *sp-particle-system-3d* + (-> *part-id-table* 435) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + (the-as float 1.0) + ) + ) ) - ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 135) - (new 'static 'sparticle-launch-group - :length 66 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village1-bird-lady-birds" - :launcher - (new 'static 'inline-array sparticle-group-item 66 - (sp-item 436 :fade-after (meters 40.0) :period 900 :length 5 :binding 437) - (sp-item 437 :flags (bit1 start-dead launch-asap) :binding 438) - (sp-item 438 :flags (is-3d bit1 start-dead) :binding 439) - (sp-item 439 :flags (is-3d bit1 start-dead) :binding 440) - (sp-item 440 :flags (is-3d bit1 start-dead)) - (sp-item 437 :flags (bit1 start-dead launch-asap) :binding 438) - (sp-item 438 :flags (is-3d bit1 start-dead) :binding 439) - (sp-item 439 :flags (is-3d bit1 start-dead) :binding 440) - (sp-item 440 :flags (is-3d bit1 start-dead)) - (sp-item 441 :fade-after (meters 40.0) :period 600 :length 5 :binding 442) - (sp-item 442 :flags (bit1 start-dead launch-asap) :binding 443) - (sp-item 443 :flags (is-3d bit1 start-dead) :binding 444) - (sp-item 444 :flags (is-3d bit1 start-dead) :binding 445) - (sp-item 445 :flags (is-3d bit1 start-dead)) - (sp-item 442 :flags (bit1 start-dead launch-asap) :binding 443) - (sp-item 443 :flags (is-3d bit1 start-dead) :binding 444) - (sp-item 444 :flags (is-3d bit1 start-dead) :binding 445) - (sp-item 445 :flags (is-3d bit1 start-dead)) - (sp-item 446 :fade-after (meters 40.0) :period 900 :length 5 :binding 447) - (sp-item 447 :flags (bit1 start-dead launch-asap) :binding 448) - (sp-item 448 :flags (is-3d bit1 start-dead) :binding 449) - (sp-item 449 :flags (is-3d bit1 start-dead) :binding 450) - (sp-item 450 :flags (is-3d bit1 start-dead)) - (sp-item 447 :flags (bit1 start-dead launch-asap) :binding 448) - (sp-item 448 :flags (is-3d bit1 start-dead) :binding 449) - (sp-item 449 :flags (is-3d bit1 start-dead) :binding 450) - (sp-item 450 :flags (is-3d bit1 start-dead)) - (sp-item 451 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) - (sp-item 452 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) - (sp-item 453 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) - (sp-item 454 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) - (sp-item 455 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) - (sp-item 456 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) - (sp-item 457 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) - (sp-item 458 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) - (sp-item 459 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) - (sp-item 460 :fade-after (meters 40.0) :period 900 :length 5 :binding 461) - (sp-item 461 :flags (is-3d bit1 start-dead) :binding 462) - (sp-item 462 :flags (is-3d bit1 start-dead) :binding 463) - (sp-item 463 :flags (is-3d bit1 start-dead)) - (sp-item 461 :flags (is-3d bit1 start-dead) :binding 462) - (sp-item 462 :flags (is-3d bit1 start-dead) :binding 463) - (sp-item 463 :flags (is-3d bit1 start-dead)) - (sp-item 464 :fade-after (meters 40.0) :period 900 :length 5 :binding 465) - (sp-item 465 :flags (is-3d bit1 start-dead) :binding 466) - (sp-item 466 :flags (is-3d bit1 start-dead) :binding 467) - (sp-item 467 :flags (is-3d bit1 start-dead)) - (sp-item 465 :flags (is-3d bit1 start-dead) :binding 466) - (sp-item 466 :flags (is-3d bit1 start-dead) :binding 467) - (sp-item 467 :flags (is-3d bit1 start-dead)) - (sp-item 468 :fade-after (meters 40.0) :period 900 :length 5 :binding 469) - (sp-item 469 :flags (is-3d bit1 start-dead) :binding 470) - (sp-item 470 :flags (is-3d bit1 start-dead) :binding 471) - (sp-item 471 :flags (is-3d bit1 start-dead)) - (sp-item 469 :flags (is-3d bit1 start-dead) :binding 470) - (sp-item 470 :flags (is-3d bit1 start-dead) :binding 471) - (sp-item 471 :flags (is-3d bit1 start-dead)) - (sp-item 472 :fade-after (meters 40.0) :period 900 :length 5 :binding 473) - (sp-item 473 :flags (bit1 start-dead launch-asap) :binding 474) - (sp-item 474 :flags (is-3d bit1 start-dead) :binding 475) - (sp-item 475 :flags (is-3d bit1 start-dead) :binding 476) - (sp-item 476 :flags (is-3d bit1 start-dead)) - (sp-item 473 :flags (bit1 start-dead launch-asap) :binding 474) - (sp-item 474 :flags (is-3d bit1 start-dead) :binding 475) - (sp-item 475 :flags (is-3d bit1 start-dead) :binding 476) - (sp-item 476 :flags (is-3d bit1 start-dead)) - ) - :bounds - (new 'static 'sphere :z 24576.0 :w 73728.0) - ) - ) +(set! (-> *part-group-id-table* 135) + (new 'static 'sparticle-launch-group + :length 66 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village1-bird-lady-birds" + :launcher + (new 'static 'inline-array sparticle-group-item 66 + (sp-item 436 :fade-after (meters 40.0) :period 900 :length 5 :binding 437) + (sp-item 437 :flags (bit1 start-dead launch-asap) :binding 438) + (sp-item 438 :flags (is-3d bit1 start-dead) :binding 439) + (sp-item 439 :flags (is-3d bit1 start-dead) :binding 440) + (sp-item 440 :flags (is-3d bit1 start-dead)) + (sp-item 437 :flags (bit1 start-dead launch-asap) :binding 438) + (sp-item 438 :flags (is-3d bit1 start-dead) :binding 439) + (sp-item 439 :flags (is-3d bit1 start-dead) :binding 440) + (sp-item 440 :flags (is-3d bit1 start-dead)) + (sp-item 441 :fade-after (meters 40.0) :period 600 :length 5 :binding 442) + (sp-item 442 :flags (bit1 start-dead launch-asap) :binding 443) + (sp-item 443 :flags (is-3d bit1 start-dead) :binding 444) + (sp-item 444 :flags (is-3d bit1 start-dead) :binding 445) + (sp-item 445 :flags (is-3d bit1 start-dead)) + (sp-item 442 :flags (bit1 start-dead launch-asap) :binding 443) + (sp-item 443 :flags (is-3d bit1 start-dead) :binding 444) + (sp-item 444 :flags (is-3d bit1 start-dead) :binding 445) + (sp-item 445 :flags (is-3d bit1 start-dead)) + (sp-item 446 :fade-after (meters 40.0) :period 900 :length 5 :binding 447) + (sp-item 447 :flags (bit1 start-dead launch-asap) :binding 448) + (sp-item 448 :flags (is-3d bit1 start-dead) :binding 449) + (sp-item 449 :flags (is-3d bit1 start-dead) :binding 450) + (sp-item 450 :flags (is-3d bit1 start-dead)) + (sp-item 447 :flags (bit1 start-dead launch-asap) :binding 448) + (sp-item 448 :flags (is-3d bit1 start-dead) :binding 449) + (sp-item 449 :flags (is-3d bit1 start-dead) :binding 450) + (sp-item 450 :flags (is-3d bit1 start-dead)) + (sp-item 451 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) + (sp-item 452 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) + (sp-item 453 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) + (sp-item 454 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) + (sp-item 455 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) + (sp-item 456 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) + (sp-item 457 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) + (sp-item 458 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) + (sp-item 459 :fade-after (meters 40.0) :flags (is-3d bit1) :period 600 :length 5) + (sp-item 460 :fade-after (meters 40.0) :period 900 :length 5 :binding 461) + (sp-item 461 :flags (is-3d bit1 start-dead) :binding 462) + (sp-item 462 :flags (is-3d bit1 start-dead) :binding 463) + (sp-item 463 :flags (is-3d bit1 start-dead)) + (sp-item 461 :flags (is-3d bit1 start-dead) :binding 462) + (sp-item 462 :flags (is-3d bit1 start-dead) :binding 463) + (sp-item 463 :flags (is-3d bit1 start-dead)) + (sp-item 464 :fade-after (meters 40.0) :period 900 :length 5 :binding 465) + (sp-item 465 :flags (is-3d bit1 start-dead) :binding 466) + (sp-item 466 :flags (is-3d bit1 start-dead) :binding 467) + (sp-item 467 :flags (is-3d bit1 start-dead)) + (sp-item 465 :flags (is-3d bit1 start-dead) :binding 466) + (sp-item 466 :flags (is-3d bit1 start-dead) :binding 467) + (sp-item 467 :flags (is-3d bit1 start-dead)) + (sp-item 468 :fade-after (meters 40.0) :period 900 :length 5 :binding 469) + (sp-item 469 :flags (is-3d bit1 start-dead) :binding 470) + (sp-item 470 :flags (is-3d bit1 start-dead) :binding 471) + (sp-item 471 :flags (is-3d bit1 start-dead)) + (sp-item 469 :flags (is-3d bit1 start-dead) :binding 470) + (sp-item 470 :flags (is-3d bit1 start-dead) :binding 471) + (sp-item 471 :flags (is-3d bit1 start-dead)) + (sp-item 472 :fade-after (meters 40.0) :period 900 :length 5 :binding 473) + (sp-item 473 :flags (bit1 start-dead launch-asap) :binding 474) + (sp-item 474 :flags (is-3d bit1 start-dead) :binding 475) + (sp-item 475 :flags (is-3d bit1 start-dead) :binding 476) + (sp-item 476 :flags (is-3d bit1 start-dead)) + (sp-item 473 :flags (bit1 start-dead launch-asap) :binding 474) + (sp-item 474 :flags (is-3d bit1 start-dead) :binding 475) + (sp-item 475 :flags (is-3d bit1 start-dead) :binding 476) + (sp-item 476 :flags (is-3d bit1 start-dead)) + ) + :bounds + (new 'static 'sphere :z 24576.0 :w 73728.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 472) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.8)) - (sp-flt spt-y (meters 0.8)) - (sp-flt spt-z 62668.8) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 472) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.8)) + (sp-flt spt-y (meters 0.8)) + (sp-flt spt-z 62668.8) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 473) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 2.0)) - (sp-flt spt-y (meters 1.0666667)) - (sp-flt spt-z 1024.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.017777778)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 473) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 2.0)) + (sp-flt spt-y (meters 1.0666667)) + (sp-flt spt-z 1024.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.017777778)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 474) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-y (degrees -60.0)) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 474) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-y (degrees -60.0)) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 475) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 30.0)) - (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 475) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 30.0)) + (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 476) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 30.0)) - (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 476) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 30.0)) + (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 464) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 5.9)) - (sp-flt spt-y (meters 2.4)) - (sp-flt spt-z -20480.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.006666667)) - (sp-flt spt-accel-y -0.589824) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 450) - (sp-launcher-by-id spt-next-launcher 477) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 464) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 5.9)) + (sp-flt spt-y (meters 2.4)) + (sp-flt spt-z -20480.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.006666667)) + (sp-flt spt-accel-y -0.589824) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 450) + (sp-launcher-by-id spt-next-launcher 477) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 465) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 465) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 466) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 64.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 466) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 64.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 467) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 64.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 467) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 64.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 468) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -8.0)) - (sp-flt spt-y (meters 3.7)) - (sp-flt spt-z 9011.2) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.006666667)) - (sp-flt spt-accel-y -0.589824) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 450) - (sp-launcher-by-id spt-next-launcher 477) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 468) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -8.0)) + (sp-flt spt-y (meters 3.7)) + (sp-flt spt-z 9011.2) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.006666667)) + (sp-flt spt-accel-y -0.589824) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 450) + (sp-launcher-by-id spt-next-launcher 477) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 469) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-flt spt-r 196.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 196.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 469) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-flt spt-r 196.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 196.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 470) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 196.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 196.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 470) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 196.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 196.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 471) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 196.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 196.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 471) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 196.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 196.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 460) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 1.0)) - (sp-flt spt-y (meters 0.4)) - (sp-flt spt-z 61440.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.006666667)) - (sp-flt spt-accel-y -0.589824) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3) - (sp-int spt-next-time 450) - (sp-launcher-by-id spt-next-launcher 477) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 460) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 1.0)) + (sp-flt spt-y (meters 0.4)) + (sp-flt spt-z 61440.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.006666667)) + (sp-flt spt-accel-y -0.589824) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3) + (sp-int spt-next-time 450) + (sp-launcher-by-id spt-next-launcher 477) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 477) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-accel-y 0.53248) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 477) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-accel-y 0.53248) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 461) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-flt spt-r 196.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 196.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 461) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-flt spt-r 196.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 196.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 462) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 196.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 196.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 462) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 196.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 196.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 463) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 196.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 196.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 463) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 196.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 196.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 457) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -6.0)) - (sp-flt spt-y (meters 1.9)) - (sp-flt spt-z 12902.4) - (sp-flt spt-scale-x (meters 0.6)) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-y (degrees 270.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 0.6)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 457) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -6.0)) + (sp-flt spt-y (meters 1.9)) + (sp-flt spt-z 12902.4) + (sp-flt spt-scale-x (meters 0.6)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-y (degrees 270.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 0.6)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 458) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -6.0)) - (sp-flt spt-y (meters 1.9)) - (sp-flt spt-z 12902.4) - (sp-flt spt-scale-x (meters 0.4)) - (sp-flt spt-rot-x -10922.667) - (sp-flt spt-rot-y (degrees 150.0)) - (sp-flt spt-rot-z (degrees -60.0)) - (sp-flt spt-scale-y (meters 1.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-x (degrees 0.33333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 458) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -6.0)) + (sp-flt spt-y (meters 1.9)) + (sp-flt spt-z 12902.4) + (sp-flt spt-scale-x (meters 0.4)) + (sp-flt spt-rot-x -10922.667) + (sp-flt spt-rot-y (degrees 150.0)) + (sp-flt spt-rot-z (degrees -60.0)) + (sp-flt spt-scale-y (meters 1.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-x (degrees 0.33333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 459) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -6.0)) - (sp-flt spt-y (meters 1.9)) - (sp-flt spt-z 12902.4) - (sp-flt spt-scale-x (meters 0.4)) - (sp-flt spt-rot-x 43690.668) - (sp-flt spt-rot-y (degrees 30.0)) - (sp-flt spt-rot-z (degrees 60.0)) - (sp-flt spt-scale-y (meters 1.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-x (degrees -0.33333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 423) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 459) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -6.0)) + (sp-flt spt-y (meters 1.9)) + (sp-flt spt-z 12902.4) + (sp-flt spt-scale-x (meters 0.4)) + (sp-flt spt-rot-x 43690.668) + (sp-flt spt-rot-y (degrees 30.0)) + (sp-flt spt-rot-z (degrees 60.0)) + (sp-flt spt-scale-y (meters 1.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-x (degrees -0.33333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 423) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 454) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -5.5)) - (sp-flt spt-y (meters 4.5)) - (sp-flt spt-z -10240.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-y (degrees 210.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 196.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 196.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 454) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -5.5)) + (sp-flt spt-y (meters 4.5)) + (sp-flt spt-z -10240.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-y (degrees 210.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 196.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 196.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 455) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -5.5)) - (sp-flt spt-y (meters 4.5)) - (sp-flt spt-z -10240.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-flt spt-rot-x -10922.667) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-flt spt-rot-z (degrees -60.0)) - (sp-flt spt-scale-y (meters 1.0)) - (sp-flt spt-r 196.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 196.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-x (degrees 0.33333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 455) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -5.5)) + (sp-flt spt-y (meters 4.5)) + (sp-flt spt-z -10240.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-flt spt-rot-x -10922.667) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-flt spt-rot-z (degrees -60.0)) + (sp-flt spt-scale-y (meters 1.0)) + (sp-flt spt-r 196.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 196.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-x (degrees 0.33333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 456) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -5.5)) - (sp-flt spt-y (meters 4.5)) - (sp-flt spt-z -10240.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-flt spt-rot-x 43690.668) - (sp-flt spt-rot-y (degrees -30.0)) - (sp-flt spt-rot-z (degrees 60.0)) - (sp-flt spt-scale-y (meters 1.0)) - (sp-flt spt-r 196.0) - (sp-flt spt-g 196.0) - (sp-flt spt-b 196.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-x (degrees -0.33333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 423) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 456) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -5.5)) + (sp-flt spt-y (meters 4.5)) + (sp-flt spt-z -10240.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-flt spt-rot-x 43690.668) + (sp-flt spt-rot-y (degrees -30.0)) + (sp-flt spt-rot-z (degrees 60.0)) + (sp-flt spt-scale-y (meters 1.0)) + (sp-flt spt-r 196.0) + (sp-flt spt-g 196.0) + (sp-flt spt-b 196.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-x (degrees -0.33333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 423) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 451) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 2.0)) - (sp-flt spt-y (meters 5.0)) - (sp-flt spt-z -16384.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-y (degrees 180.0)) - (sp-flt spt-rot-z (degrees 0.0)) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 451) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 2.0)) + (sp-flt spt-y (meters 5.0)) + (sp-flt spt-z -16384.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-y (degrees 180.0)) + (sp-flt spt-rot-z (degrees 0.0)) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 452) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 2.0)) - (sp-flt spt-y (meters 5.0)) - (sp-flt spt-z -16384.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-flt spt-rot-x -10922.667) - (sp-flt spt-rot-y (degrees 60.0)) - (sp-flt spt-rot-z (degrees -60.0)) - (sp-flt spt-scale-y (meters 1.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-x (degrees 0.33333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 422) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 452) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 2.0)) + (sp-flt spt-y (meters 5.0)) + (sp-flt spt-z -16384.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-flt spt-rot-x -10922.667) + (sp-flt spt-rot-y (degrees 60.0)) + (sp-flt spt-rot-z (degrees -60.0)) + (sp-flt spt-scale-y (meters 1.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-x (degrees 0.33333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 422) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 478) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-rotvel-x (degrees -0.31666666)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 478) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-rotvel-x (degrees -0.31666666)) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 453) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 2.0)) - (sp-flt spt-y (meters 5.0)) - (sp-flt spt-z -16384.0) - (sp-flt spt-scale-x (meters 0.3)) - (sp-flt spt-rot-x 43690.668) - (sp-flt spt-rot-y (degrees -60.0)) - (sp-flt spt-rot-z (degrees 60.0)) - (sp-flt spt-scale-y (meters 1.0)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-rotvel-x (degrees -0.33333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 423) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 453) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x8 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 2.0)) + (sp-flt spt-y (meters 5.0)) + (sp-flt spt-z -16384.0) + (sp-flt spt-scale-x (meters 0.3)) + (sp-flt spt-rot-x 43690.668) + (sp-flt spt-rot-y (degrees -60.0)) + (sp-flt spt-rot-z (degrees 60.0)) + (sp-flt spt-scale-y (meters 1.0)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-rotvel-x (degrees -0.33333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit9 left-multiply-quat) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 423) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 479) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-rotvel-x (degrees 0.31666666)) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 479) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-rotvel-x (degrees 0.31666666)) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 446) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -6.4)) - (sp-flt spt-y (meters 4.8)) - (sp-flt spt-z 3072.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 446) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -6.4)) + (sp-flt spt-y (meters 4.8)) + (sp-flt spt-z 3072.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 447) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.7111111)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 2048.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-omega 0.0) - (sp-flt spt-vel-x (meters 0.017777778)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 447) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.7111111)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 2048.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 0.0) + (sp-flt spt-vel-x (meters 0.017777778)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 448) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-y (degrees -60.0)) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 448) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-y (degrees -60.0)) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 449) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 30.0)) - (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 449) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 30.0)) + (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 450) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 30.0)) - (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 450) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 30.0)) + (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 441) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.1)) - (sp-flt spt-y (meters 3.7)) - (sp-flt spt-z -7372.8) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 441) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.1)) + (sp-flt spt-y (meters 3.7)) + (sp-flt spt-z -7372.8) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 442) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters -1.8666667)) - (sp-flt spt-z 2048.0) - (sp-flt spt-scale-x (meters 0.175)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-omega 20571.021) - (sp-flt spt-vel-x (meters 0.026666667)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 442) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters -1.8666667)) + (sp-flt spt-z 2048.0) + (sp-flt spt-scale-x (meters 0.175)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 20571.021) + (sp-flt spt-vel-x (meters 0.026666667)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 443) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-y (degrees 180.0)) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-flt spt-r 255.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 64.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 443) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-y (degrees 180.0)) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-flt spt-r 255.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 64.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 444) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees -90.0)) - (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 64.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 444) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees -90.0)) + (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 64.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 445) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees -90.0)) - (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 255.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 64.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 445) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees -90.0)) + (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 255.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 64.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 436) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -2.3)) - (sp-flt spt-y (meters 4.6)) - (sp-flt spt-z -7782.4) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 436) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -2.3)) + (sp-flt spt-y (meters 4.6)) + (sp-flt spt-z -7782.4) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 437) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 1.4222223)) - (sp-flt spt-z 2048.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-a 128.0) - (sp-flt spt-omega 4551.1113) - (sp-flt spt-vel-x (meters 0.017777778)) - (sp-flt spt-vel-y (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 437) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 1.4222223)) + (sp-flt spt-z 2048.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-a 128.0) + (sp-flt spt-omega 4551.1113) + (sp-flt spt-vel-x (meters 0.017777778)) + (sp-flt spt-vel-y (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 438) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.5)) - (sp-flt spt-rot-x 16384.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 438) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #x1b :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.5)) + (sp-flt spt-rot-x 16384.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 439) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 64.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 439) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees -60.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 64.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 440) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-flt spt-rot-x 24576.0) - (sp-flt spt-rot-y (degrees 90.0)) - (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) - (sp-flt spt-scale-y (meters 0.5)) - (sp-flt spt-r 64.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 255.0) - (sp-rnd-int spt-a 1115684864 1 64.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 440) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #x1c :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-flt spt-rot-x 24576.0) + (sp-flt spt-rot-y (degrees 90.0)) + (sp-rnd-flt spt-rot-z (degrees 120.0) (degrees 120.0) 1.0) + (sp-flt spt-scale-y (meters 0.5)) + (sp-flt spt-r 64.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 255.0) + (sp-rnd-int spt-a 1115684864 1 64.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/village1/yakow_REF.gc b/test/decompiler/reference/levels/village1/yakow_REF.gc index 3e375aa526..ff24a3de57 100644 --- a/test/decompiler/reference/levels/village1/yakow_REF.gc +++ b/test/decompiler/reference/levels/village1/yakow_REF.gc @@ -14,35 +14,21 @@ ;; INFO: Return type mismatch (pointer process) vs none. (defun yakow-cam () (with-pp - (let ((gp-0 (entity-actor-lookup (-> pp entity) 'alt-actor 0))) - (when gp-0 - (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) - (when s5-0 - (let ((t9-2 (method-of-type pov-camera activate))) - (t9-2 - (the-as pov-camera s5-0) - pp - 'pov-camera - (the-as pointer #x70004000) - ) + (let ((gp-0 (entity-actor-lookup (-> pp entity) 'alt-actor 0))) + (when gp-0 + (let ((s5-0 (get-process *default-dead-pool* pov-camera #x4000))) + (when s5-0 + (let ((t9-2 (method-of-type pov-camera activate))) + (t9-2 (the-as pov-camera s5-0) pp 'pov-camera (the-as pointer #x70004000)) + ) + (run-now-in-process s5-0 pov-camera-init-by-other (-> gp-0 extra trans) *village1cam-sg* "anim" 0 #f '()) + (-> s5-0 ppointer) + ) + ) ) - (run-now-in-process - s5-0 - pov-camera-init-by-other - (-> gp-0 extra trans) - *village1cam-sg* - "anim" - 0 - #f - '() - ) - (-> s5-0 ppointer) - ) ) - ) + (none) ) - (none) - ) ) ;; definition of type yakow-bank @@ -100,54 +86,44 @@ (format #t "~Tmax-run-speed: ~f~%" (-> obj max-run-speed)) (format #t "~Tacceleration: (meters ~m)~%" (-> obj acceleration)) (format #t "~Tdefault-patrol-time: ~D~%" (-> obj default-patrol-time)) - (format - #t - "~Tdefault-idle-distance: (meters ~m)~%" - (-> obj default-idle-distance) - ) + (format #t "~Tdefault-idle-distance: (meters ~m)~%" (-> obj default-idle-distance)) (format #t "~Tsafe-distance: (meters ~m)~%" (-> obj safe-distance)) (format #t "~Tmin-run-anim-speed: ~f~%" (-> obj min-run-anim-speed)) (format #t "~Tmax-run-anim-speed: ~f~%" (-> obj max-run-anim-speed)) (format #t "~Tmin-walk-anim-speed: ~f~%" (-> obj min-walk-anim-speed)) - (format - #t - "~Tspeed-boost-impulse: (meters ~m)~%" - (-> obj speed-boost-impulse) - ) + (format #t "~Tspeed-boost-impulse: (meters ~m)~%" (-> obj speed-boost-impulse)) obj ) ;; definition for symbol *YAKOW-bank*, type yakow-bank -(define - *YAKOW-bank* - (new 'static 'yakow-bank - :walk-cycle-frame-count 16.0 - :run-cycle-frame-count 16.0 - :walk-speed (meters 2.13) - :run-speed (meters 6.0) - :walk-anim-speed 1.0 - :run-anim-speed 2.0 - :walk-away-dist (meters 10.0) - :run-away-dist (meters 6.0) - :walk-rotate-speed 131072.0 - :run-rotate-speed 131072.0 - :walk-turn-time #x96 - :run-turn-time #x3c - :max-walk-speed 16384.0 - :min-run-speed 15155.2 - :walk-run-blend-rate 6.0 - :walk-turn-blend-rate 4.0 - :max-run-speed 61440.0 - :acceleration (meters 3.0) - :default-patrol-time #x12c - :default-idle-distance (meters 10.0) - :safe-distance (meters 20.0) - :min-run-anim-speed 0.5 - :max-run-anim-speed 1.5 - :min-walk-anim-speed 0.5 - :speed-boost-impulse (meters 4.0) - ) - ) +(define *YAKOW-bank* (new 'static 'yakow-bank + :walk-cycle-frame-count 16.0 + :run-cycle-frame-count 16.0 + :walk-speed (meters 2.13) + :run-speed (meters 6.0) + :walk-anim-speed 1.0 + :run-anim-speed 2.0 + :walk-away-dist (meters 10.0) + :run-away-dist (meters 6.0) + :walk-rotate-speed 131072.0 + :run-rotate-speed 131072.0 + :walk-turn-time #x96 + :run-turn-time #x3c + :max-walk-speed 16384.0 + :min-run-speed 15155.2 + :walk-run-blend-rate 6.0 + :walk-turn-blend-rate 4.0 + :max-run-speed 61440.0 + :acceleration (meters 3.0) + :default-patrol-time #x12c + :default-idle-distance (meters 10.0) + :safe-distance (meters 20.0) + :min-run-anim-speed 0.5 + :max-run-anim-speed 1.5 + :min-walk-anim-speed 0.5 + :speed-boost-impulse (meters 4.0) + ) + ) ;; definition of type yakow (deftype yakow (process-drawable) @@ -180,8 +156,8 @@ ;; definition for method 3 of type yakow (defmethod inspect yakow ((obj yakow)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tplayer-attack-id: ~D~%" (-> obj player-attack-id)) (format #t "~T~Twalk-run-blend: ~f~%" (-> obj walk-run-blend)) (format #t "~T~Twalk-turn-blend: ~f~%" (-> obj walk-turn-blend)) @@ -216,64 +192,42 @@ ;; INFO: Return type mismatch none vs object. ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 52] ;; WARN: rewrite_to_get_var got a none typed variable. Is there unreachable code? [OP: 54] -(defbehavior - yakow-default-event-handler yakow - ((arg0 process-drawable) (arg1 int) (arg2 symbol) (arg3 event-message-block)) +(defbehavior yakow-default-event-handler yakow ((arg0 process-drawable) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'touch) - (let* ((s4-0 arg0) - (v1-2 - (if - (and - (nonzero? s4-0) - (type-type? (-> s4-0 type) process-drawable) - ) - s4-0 - ) - ) - ) - (when - (and - v1-2 - (< - 8192.0 - (- - (-> v1-2 root trans y) - (-> self root-override trans y) - ) - ) - ) - (dummy-45 (-> self root-override)) - (dummy-55 - (-> self root-override) - arg0 - (the-as touching-shapes-entry (-> arg3 param 0)) - 0.7 - 6144.0 - 16384.0 - ) + (the-as + object + (cond + ((= v1-0 'touch) + (let* ((s4-0 arg0) + (v1-2 (if (and (nonzero? s4-0) (type-type? (-> s4-0 type) process-drawable)) + s4-0 + ) ) - ) - ) - ((= v1-0 'attack) - (let ((v1-9 (-> arg3 param 2))) - (cond - ((!= v1-9 (-> self player-attack-id)) - (set! (-> self player-attack-id) (the-as int v1-9)) - (if (-> self vulnerable) - (go yakow-kicked) - ) - ) - (else - 'push - ) - ) - ) - ) - ) + ) + (when (and v1-2 (< 8192.0 (- (-> v1-2 root trans y) (-> self root-override trans y)))) + (dummy-45 (-> self root-override)) + (dummy-55 (-> self root-override) arg0 (the-as touching-shapes-entry (-> arg3 param 0)) 0.7 6144.0 16384.0) + ) + ) + ) + ((= v1-0 'attack) + (let ((v1-9 (-> arg3 param 2))) + (cond + ((!= v1-9 (-> self player-attack-id)) + (set! (-> self player-attack-id) (the-as int v1-9)) + (if (-> self vulnerable) + (go yakow-kicked) + ) + ) + (else + 'push + ) + ) + ) + ) + ) + ) ) - ) ) ;; failed to figure out what this is: @@ -282,75 +236,49 @@ yakow-default-event-handler ;; definition for function yakow-task-complete? (defbehavior yakow-task-complete? yakow ((arg0 symbol)) (local-vars (sv-16 symbol) (sv-20 (pointer process-tree))) - (let - ((gp-0 - (not - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) + (let ((gp-0 + (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) + ) ) - ) + (if arg0 + (process-entity-status! self (entity-perm-status complete) #t) + (process-entity-status! self (entity-perm-status complete) #f) + ) + (when (or (-> self link prev) (-> self link next)) + (set! sv-16 (the-as symbol #f)) + (set! sv-20 (-> self child)) + (apply-all (-> self link) actor-link-subtask-complete-hook (& sv-16)) + (cond + (sv-16 + (close-specific-task! (-> self entity extra perm task) (task-status need-hint)) + (close-specific-task! (-> self entity extra perm task) (task-status need-introduction)) + (close-specific-task! (-> self entity extra perm task) (task-status need-reminder)) + (if gp-0 + (yakow-cam) + ) + (level-hint-spawn + (game-text-id yakow-owed-powercell) + "sksp018a" + (the-as entity #f) + *entity-pool* + (game-task none) + ) + ) + (else + (open-specific-task! (-> self entity extra perm task) (task-status need-reminder)) + ) + ) + sv-16 ) - ) ) - (if arg0 - (process-entity-status! self (entity-perm-status complete) #t) - (process-entity-status! self (entity-perm-status complete) #f) - ) - (when (or (-> self link prev) (-> self link next)) - (set! sv-16 (the-as symbol #f)) - (set! sv-20 (-> self child)) - (apply-all (-> self link) actor-link-subtask-complete-hook (& sv-16)) - (cond - (sv-16 - (close-specific-task! - (-> self entity extra perm task) - (task-status need-hint) - ) - (close-specific-task! - (-> self entity extra perm task) - (task-status need-introduction) - ) - (close-specific-task! - (-> self entity extra perm task) - (task-status need-reminder) - ) - (if gp-0 - (yakow-cam) - ) - (level-hint-spawn - (game-text-id yakow-owed-powercell) - "sksp018a" - (the-as entity #f) - *entity-pool* - (game-task none) - ) - ) - (else - (open-specific-task! - (-> self entity extra perm task) - (task-status need-reminder) - ) - ) - ) - sv-16 - ) - ) ) ;; definition for function yakow-common-post (defbehavior yakow-common-post yakow () (dummy-14 (-> self draw shadow-ctrl)) (if *target* - (look-at-enemy! - (-> *target* neck) - (the-as vector (-> self root-override root-prim prim-core)) - #f - self - ) - ) + (look-at-enemy! (-> *target* neck) (the-as vector (-> self root-override root-prim prim-core)) #f self) + ) (ja-post) (none) ) @@ -369,106 +297,60 @@ yakow-default-event-handler (dummy-11 (-> self nav) (-> self nav target-pos)) (set! (-> self rotating) #f) (let ((f30-0 0.0)) - (when (< 40.96 (vector-length (-> self nav travel))) - (let ((s5-0 (new 'stack-no-clear 'vector)) - (gp-0 (new 'stack-no-clear 'vector)) + (when (< 40.96 (vector-length (-> self nav travel))) + (let ((s5-0 (new 'stack-no-clear 'vector)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (vector-z-quaternion! s5-0 (-> self root-override quat)) + (seek-toward-heading-vec! + (-> self root-override) + (-> self nav travel) + (-> self rotate-speed) + (the-as int (-> self turn-time)) ) - (vector-z-quaternion! s5-0 (-> self root-override quat)) - (seek-toward-heading-vec! - (-> self root-override) - (-> self nav travel) - (-> self rotate-speed) - (the-as int (-> self turn-time)) + (vector-z-quaternion! gp-0 (-> self root-override quat)) + (set! (-> self rotating) (< (vector-dot gp-0 s5-0) (cos (* 8192.0 (-> *display* seconds-per-frame))))) + (when (-> self rotating) + (let ((v1-16 (new 'stack-no-clear 'vector))) + (vector-cross! v1-16 gp-0 s5-0) + (set! f30-0 (sign (-> v1-16 y))) + ) + ) + ) ) - (vector-z-quaternion! gp-0 (-> self root-override quat)) - (set! - (-> self rotating) - (< - (vector-dot gp-0 s5-0) - (cos (* 8192.0 (-> *display* seconds-per-frame))) - ) - ) - (when (-> self rotating) - (let ((v1-16 (new 'stack-no-clear 'vector))) - (vector-cross! v1-16 gp-0 s5-0) - (set! f30-0 (sign (-> v1-16 y))) - ) - ) - ) + (set! (-> self walk-turn-blend) + (seek + (-> self walk-turn-blend) + f30-0 + (* (-> *YAKOW-bank* walk-turn-blend-rate) (-> *display* seconds-per-frame)) + ) + ) ) - (set! - (-> self walk-turn-blend) - (seek - (-> self walk-turn-blend) - f30-0 - (* (-> *YAKOW-bank* walk-turn-blend-rate) (-> *display* seconds-per-frame)) - ) + (set! (-> self final-speed) + (fmin (-> self travel-speed) (* (vector-length (-> self nav travel)) (-> *display* frames-per-second))) + ) + (let ((v1-24 (vector-normalize-copy! (new-stack-vector0) (-> self nav travel) (-> self final-speed)))) + (set! (-> self root-override transv x) (-> v1-24 x)) + (set! (-> self root-override transv z) (-> v1-24 z)) ) - ) - (set! - (-> self final-speed) - (fmin - (-> self travel-speed) - (* (vector-length (-> self nav travel)) (-> *display* frames-per-second)) - ) - ) - (let - ((v1-24 - (vector-normalize-copy! - (new-stack-vector0) - (-> self nav travel) - (-> self final-speed) - ) - ) - ) - (set! (-> self root-override transv x) (-> v1-24 x)) - (set! (-> self root-override transv z) (-> v1-24 z)) - ) - (vector-v++! - (-> self root-override transv) - (dummy-62 (-> self root-override) (new-stack-vector0) 0.0) - ) + (vector-v++! (-> self root-override transv) (dummy-62 (-> self root-override) (new-stack-vector0) 0.0)) (let ((gp-2 (new 'stack-no-clear 'vector))) - (set! (-> gp-2 quad) (-> self root-override trans quad)) - (dummy-59 - (-> self root-override) - (-> self root-override transv) - (the-as uint 1) - 8192.0 - #t - #f - #f + (set! (-> gp-2 quad) (-> self root-override trans quad)) + (dummy-59 (-> self root-override) (-> self root-override transv) (the-as uint 1) 8192.0 #t #f #f) + (set! (-> self final-speed) + (* (vector-vector-xz-distance gp-2 (-> self root-override trans)) (-> *display* frames-per-second)) + ) ) - (set! - (-> self final-speed) - (* - (vector-vector-xz-distance gp-2 (-> self root-override trans)) - (-> *display* frames-per-second) - ) - ) - ) - (set! - (-> self travel-speed) - (fmin (-> self travel-speed) (-> self final-speed)) - ) + (set! (-> self travel-speed) (fmin (-> self travel-speed) (-> self final-speed))) (dummy-10 (-> self water)) - (when - (and - (logtest? (-> self nav current-poly pat) 2) - (not - (and - (-> self entity) - (logtest? - (-> self entity extra perm status) - (entity-perm-status complete) - ) - ) - ) + (when (and + (logtest? (-> self nav current-poly pat) 2) + (not (and (-> self entity) (logtest? (-> self entity extra perm status) (entity-perm-status complete)))) + ) + (set! (-> self in-pen) #t) + (set! (-> self nav destination-pos quad) (-> self dest-base quad)) + (yakow-task-complete? #t) ) - (set! (-> self in-pen) #t) - (set! (-> self nav destination-pos quad) (-> self dest-base quad)) - (yakow-task-complete? #t) - ) (yakow-common-post) (none) ) @@ -476,54 +358,30 @@ yakow-default-event-handler ;; definition for function yakow-generate-travel-vector ;; Used lq/sq (defbehavior yakow-generate-travel-vector yakow () - (let - ((gp-1 - (vector-! - (new 'stack-no-clear 'vector) - (-> self root-override trans) - (target-pos 0) - ) - ) - (s5-1 - (vector-z-quaternion! - (new 'stack-no-clear 'vector) - (-> self root-override quat) - ) - ) - ) - 0.0 - 0.0 - (set! (-> gp-1 y) 0.0) - (set! (-> self nav travel quad) (-> gp-1 quad)) - (vector-normalize! (-> self nav travel) 409600.0) - (dummy-24 - (-> self nav) - 204.8 - (the-as clip-travel-vector-to-mesh-return-info #f) - ) - (when (not (-> self enable-turn-around)) - (set! (-> gp-1 quad) (-> self nav travel quad)) - (let ((f30-0 (vector-length gp-1))) - (vector-normalize! gp-1 1.0) - (if (and (< 409.6 f30-0) (>= (vector-dot s5-1 gp-1) (cos 10922.667))) - (set! (-> s5-1 quad) (-> gp-1 quad)) - ) - ) - (set! (-> self nav travel quad) (-> s5-1 quad)) + (let ((gp-1 (vector-! (new 'stack-no-clear 'vector) (-> self root-override trans) (target-pos 0))) + (s5-1 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat))) + ) + 0.0 + 0.0 + (set! (-> gp-1 y) 0.0) + (set! (-> self nav travel quad) (-> gp-1 quad)) (vector-normalize! (-> self nav travel) 409600.0) - (dummy-24 - (-> self nav) - 204.8 - (the-as clip-travel-vector-to-mesh-return-info #f) - ) - (vector-length (-> self nav travel)) + (dummy-24 (-> self nav) 204.8 (the-as clip-travel-vector-to-mesh-return-info #f)) + (when (not (-> self enable-turn-around)) + (set! (-> gp-1 quad) (-> self nav travel quad)) + (let ((f30-0 (vector-length gp-1))) + (vector-normalize! gp-1 1.0) + (if (and (< 409.6 f30-0) (>= (vector-dot s5-1 gp-1) (cos 10922.667))) + (set! (-> s5-1 quad) (-> gp-1 quad)) + ) + ) + (set! (-> self nav travel quad) (-> s5-1 quad)) + (vector-normalize! (-> self nav travel) 409600.0) + (dummy-24 (-> self nav) 204.8 (the-as clip-travel-vector-to-mesh-return-info #f)) + (vector-length (-> self nav travel)) + ) ) - ) - (vector+! - (-> self nav target-pos) - (-> self root-override trans) - (-> self nav travel) - ) + (vector+! (-> self nav target-pos) (-> self root-override trans) (-> self nav travel)) ) ;; definition for function yakow-run-post @@ -536,210 +394,163 @@ yakow-default-event-handler ;; definition for function yakow-blend-walk-run (defbehavior yakow-blend-walk-run yakow () (let ((gp-0 (-> *display* base-frame-counter))) - (while #t - (let ((f30-0 (-> self final-speed))) - (cond - ((and (>= 409.6 (-> self final-speed)) (not (-> self rotating))) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 4) - ) - ) - (ja-channel-push! 1 45) - ) - (let ((s5-0 (-> self skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) - (while - (or - (< (- (-> *display* base-frame-counter) gp-0) 60) - (< (-> self final-speed) 409.6) - ) - (suspend) - (let ((a0-6 (-> self skel root-channel 0))) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-loop! - ) - ) - ) - ) - (else - (set! gp-0 (-> *display* base-frame-counter)) - ) - ) - (when (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 3 22) - (let ((s5-1 (-> self skel root-channel 0))) - (set! (-> s5-1 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-identity - ) - (set! (-> s5-1 frame-num) 0.0) - ) - (let ((s5-2 (-> self skel root-channel 1))) - (set! (-> s5-2 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-2 - (the-as art-joint-anim (-> self draw art-group data 10)) - num-func-identity - ) - (set! (-> s5-2 frame-num) 0.0) - ) - (let ((s5-3 (-> self skel root-channel 2))) - (set! (-> s5-3 frame-interp) 0.0) - (joint-control-channel-group-eval! - s5-3 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-identity - ) - (set! (-> s5-3 frame-num) 0.0) - ) - ) - (cond - ((< (-> self walk-turn-blend) 0.0) - (let ((v1-49 (-> self skel root-channel 1))) - (set! - (-> v1-49 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - ) - ) - (else - (let ((v1-52 (-> self skel root-channel 1))) - (set! - (-> v1-52 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - ) - ) - ) - (cond - ((< f30-0 (-> *YAKOW-bank* min-run-speed)) - (set! (-> self run-mode) #f) - ) - ((< (-> *YAKOW-bank* max-walk-speed) f30-0) - (set! (-> self run-mode) #t) - ) - ) - (if (-> self run-mode) - (set! - (-> self walk-run-blend) - (seek - (-> self walk-run-blend) - 1.0 - (* - (-> *YAKOW-bank* walk-run-blend-rate) - (-> *display* seconds-per-frame) - ) - ) - ) - (set! - (-> self walk-run-blend) - (seek - (-> self walk-run-blend) - 0.0 - (* - (-> *YAKOW-bank* walk-run-blend-rate) - (-> *display* seconds-per-frame) - ) - ) - ) - ) - (let ((v1-68 (-> self skel root-channel 1))) - (set! (-> v1-68 frame-interp) (fabs (-> self walk-turn-blend))) - ) - (let ((v1-72 (-> self skel root-channel 2))) - (set! (-> v1-72 frame-interp) (-> self walk-run-blend)) - ) - (let* ((f0-25 (* (-> *YAKOW-bank* walk-anim-speed) f30-0)) - (f1-5 (-> *YAKOW-bank* walk-speed)) - (f0-26 (* f0-25 (/ 1.0 f1-5))) - ) - (let* ((f1-9 (* (-> *YAKOW-bank* run-anim-speed) f30-0)) - (f2-1 (-> *YAKOW-bank* run-speed)) - (f1-12 - (fmax - (fmin (* f1-9 (/ 1.0 f2-1)) (-> *YAKOW-bank* max-run-anim-speed)) - (-> *YAKOW-bank* min-run-anim-speed) + (while #t + (let ((f30-0 (-> self final-speed))) + (cond + ((and (>= 409.6 (-> self final-speed)) (not (-> self rotating))) + (if (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 4) + ) + ) + (ja-channel-push! 1 45) ) - ) + (let ((s5-0 (-> self skel root-channel 0))) + (joint-control-channel-group-eval! + s5-0 + (the-as art-joint-anim (-> self draw art-group data 4)) + num-func-identity + ) + (set! (-> s5-0 frame-num) 0.0) ) - (if (-> self run-mode) - (set! f0-26 f1-12) + (while (or (< (- (-> *display* base-frame-counter) gp-0) 60) (< (-> self final-speed) 409.6)) + (suspend) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 param 0) 1.0) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-loop!) + ) + ) + ) + (else + (set! gp-0 (-> *display* base-frame-counter)) + ) + ) + (when (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 6) + ) + ) + (ja-channel-push! 3 22) + (let ((s5-1 (-> self skel root-channel 0))) + (set! (-> s5-1 frame-interp) 0.0) + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> self draw art-group data 6)) + num-func-identity + ) + (set! (-> s5-1 frame-num) 0.0) + ) + (let ((s5-2 (-> self skel root-channel 1))) + (set! (-> s5-2 frame-interp) 0.0) + (joint-control-channel-group-eval! + s5-2 + (the-as art-joint-anim (-> self draw art-group data 10)) + num-func-identity + ) + (set! (-> s5-2 frame-num) 0.0) + ) + (let ((s5-3 (-> self skel root-channel 2))) + (set! (-> s5-3 frame-interp) 0.0) + (joint-control-channel-group-eval! + s5-3 + (the-as art-joint-anim (-> self draw art-group data 7)) + num-func-identity + ) + (set! (-> s5-3 frame-num) 0.0) + ) + ) + (cond + ((< (-> self walk-turn-blend) 0.0) + (let ((v1-49 (-> self skel root-channel 1))) + (set! (-> v1-49 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + ) + ) + (else + (let ((v1-52 (-> self skel root-channel 1))) + (set! (-> v1-52 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + ) + ) + ) + (cond + ((< f30-0 (-> *YAKOW-bank* min-run-speed)) + (set! (-> self run-mode) #f) + ) + ((< (-> *YAKOW-bank* max-walk-speed) f30-0) + (set! (-> self run-mode) #t) + ) + ) + (if (-> self run-mode) + (set! (-> self walk-run-blend) + (seek (-> self walk-run-blend) 1.0 (* (-> *YAKOW-bank* walk-run-blend-rate) (-> *display* seconds-per-frame))) + ) + (set! (-> self walk-run-blend) + (seek (-> self walk-run-blend) 0.0 (* (-> *YAKOW-bank* walk-run-blend-rate) (-> *display* seconds-per-frame))) + ) + ) + (let ((v1-68 (-> self skel root-channel 1))) + (set! (-> v1-68 frame-interp) (fabs (-> self walk-turn-blend))) + ) + (let ((v1-72 (-> self skel root-channel 2))) + (set! (-> v1-72 frame-interp) (-> self walk-run-blend)) + ) + (let* ((f0-25 (* (-> *YAKOW-bank* walk-anim-speed) f30-0)) + (f1-5 (-> *YAKOW-bank* walk-speed)) + (f0-26 (* f0-25 (/ 1.0 f1-5))) + ) + (let* ((f1-9 (* (-> *YAKOW-bank* run-anim-speed) f30-0)) + (f2-1 (-> *YAKOW-bank* run-speed)) + (f1-12 + (fmax (fmin (* f1-9 (/ 1.0 f2-1)) (-> *YAKOW-bank* max-run-anim-speed)) (-> *YAKOW-bank* min-run-anim-speed)) + ) + ) + (if (-> self run-mode) + (set! f0-26 f1-12) + ) + ) + (if (-> self rotating) + (set! f0-26 (fmax (-> *YAKOW-bank* min-walk-anim-speed) f0-26)) + ) + (let ((a0-24 (-> self skel root-channel 0))) + (set! (-> a0-24 param 0) f0-26) + (joint-control-channel-group-eval! a0-24 (the-as art-joint-anim #f) num-func-loop!) + ) + ) ) - ) - (if (-> self rotating) - (set! f0-26 (fmax (-> *YAKOW-bank* min-walk-anim-speed) f0-26)) - ) - (let ((a0-24 (-> self skel root-channel 0))) - (set! (-> a0-24 param 0) f0-26) - (joint-control-channel-group-eval! - a0-24 - (the-as art-joint-anim #f) - num-func-loop! + (let ((s5-4 (-> self skel root-channel 1))) + (set! (-> s5-4 num-func) num-func-identity) + (set! (-> s5-4 frame-num) (ja-frame-num 0)) ) - ) + (let ((s5-5 (-> self skel root-channel 2))) + (set! (-> s5-5 num-func) num-func-identity) + (set! (-> s5-5 frame-num) (ja-frame-num 0)) + ) + (suspend) + 0 ) - ) - (let ((s5-4 (-> self skel root-channel 1))) - (set! (-> s5-4 num-func) num-func-identity) - (set! (-> s5-4 frame-num) (ja-frame-num 0)) - ) - (let ((s5-5 (-> self skel root-channel 2))) - (set! (-> s5-5 num-func) num-func-identity) - (set! (-> s5-5 frame-num) (ja-frame-num 0)) - ) - (suspend) - 0 ) - ) (none) ) ;; definition for function yakow-facing-direction? ;; Used lq/sq (defbehavior yakow-facing-direction? yakow ((arg0 vector) (arg1 float)) - (let - ((s4-0 - (vector-z-quaternion! - (new 'stack-no-clear 'vector) - (-> self root-override quat) - ) - ) - (s5-0 (new 'stack-no-clear 'vector)) + (let ((s4-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self root-override quat))) + (s5-0 (new 'stack-no-clear 'vector)) + ) + (set! (-> s5-0 quad) (-> arg0 quad)) + (set! (-> s5-0 y) 0.0) + (vector-normalize! s5-0 1.0) + (>= (vector-dot s4-0 s5-0) (cos arg1)) ) - (set! (-> s5-0 quad) (-> arg0 quad)) - (set! (-> s5-0 y) 0.0) - (vector-normalize! s5-0 1.0) - (>= (vector-dot s4-0 s5-0) (cos arg1)) - ) ) ;; definition for function yakow-facing-point? (defbehavior yakow-facing-point? yakow ((arg0 vector) (arg1 float)) - (let - ((v1-1 - (vector-! (new 'stack-no-clear 'vector) arg0 (-> self root-override trans)) - ) + (let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> self root-override trans)))) + (yakow-facing-direction? v1-1 arg1) ) - (yakow-facing-direction? v1-1 arg1) - ) ) ;; definition for function yakow-facing-player? @@ -753,141 +564,81 @@ yakow-default-event-handler yakow-default-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self travel-speed) 0.0) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self travel-speed) 0.0) + (none) + ) :trans (behavior () - (if - (and - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the-as int (-> *YAKOW-bank* default-patrol-time)) - ) - (and - *target* - (>= - (-> self fact-override idle-distance) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) + (if (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) + (the-as int (-> *YAKOW-bank* default-patrol-time)) + ) + (and *target* (>= (-> self fact-override idle-distance) + (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + (not (yakow-facing-player? 21845.334)) + ) + (go yakow-notice) ) - ) - ) - (not (yakow-facing-player? 21845.334)) - ) - (go yakow-notice) + (none) ) - (none) - ) :code (behavior () - (ja-channel-push! 1 45) - (while #t - (cond - ((rand-vu-percent? 0.2) - (dummy-10 (-> self skel effect) 'yakow-1 0.0 -1) - ) - ((rand-vu-percent? 0.2) - (dummy-10 (-> self skel effect) 'yakow-2 0.0 -1) - ) - ) - (let ((f30-0 (rand-vu-float-range 0.9 1.1))) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 + (ja-channel-push! 1 45) + (while #t + (cond + ((rand-vu-percent? 0.2) + (dummy-10 (-> self skel effect) 'yakow-1 0.0 -1) + ) + ((rand-vu-percent? 0.2) + (dummy-10 (-> self skel effect) 'yakow-2 0.0 -1) ) ) - ) - (set! (-> a0-6 param 1) f30-0) - (set! (-> a0-6 frame-num) 0.0) - (joint-control-channel-group! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) f30-0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (when (rand-vu-percent? 0.25) - (ja-channel-push! 1 30) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-11 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (let ((f30-0 (rand-vu-float-range 0.9 1.1))) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-6 param 1) f30-0) + (set! (-> a0-6 frame-num) 0.0) + (joint-control-channel-group! a0-6 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) f30-0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 - ) ) - ) - (set! (-> a0-11 param 1) 1.0) - (set! (-> a0-11 frame-num) 0.0) - (joint-control-channel-group! - a0-11 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) + (when (rand-vu-percent? 0.25) + (ja-channel-push! 1 30) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-11 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-11 param 1) 1.0) + (set! (-> a0-11 frame-num) 0.0) + (joint-control-channel-group! a0-11 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (ja-channel-push! 1 30) + ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (ja-channel-push! 1 30) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior yakow) ja-post) ) @@ -898,15 +649,12 @@ yakow-default-event-handler yakow-default-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self travel-speed) 0.0) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self travel-speed) 0.0) + (none) + ) :code - (behavior () - (go yakow-run-away) - (none) - ) + (behavior () (go yakow-run-away) (none)) :post yakow-simple-post ) @@ -917,81 +665,64 @@ yakow-default-event-handler yakow-default-event-handler :enter (behavior ((arg0 vector)) - (set! (-> self state-time) (-> *display* base-frame-counter)) - (logior! (-> self nav flags) (nav-control-flags bit10)) - (set! (-> self nav destination-pos quad) (-> arg0 quad)) - (set! (-> self rotate-speed) (-> *YAKOW-bank* walk-rotate-speed)) - (set! (-> self turn-time) (-> *YAKOW-bank* walk-turn-time)) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (logior! (-> self nav flags) (nav-control-flags bit10)) + (set! (-> self nav destination-pos quad) (-> arg0 quad)) + (set! (-> self rotate-speed) (-> *YAKOW-bank* walk-rotate-speed)) + (set! (-> self turn-time) (-> *YAKOW-bank* walk-turn-time)) + (none) + ) :trans (behavior () - (if - (and - (>= - (- (-> *display* base-frame-counter) (-> self state-time)) - (the-as int (-> *YAKOW-bank* default-patrol-time)) - ) - (not (-> self in-pen)) - (and - *target* - (>= - (-> self fact-override idle-distance) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) + (if (and + (>= (- (-> *display* base-frame-counter) (-> self state-time)) + (the-as int (-> *YAKOW-bank* default-patrol-time)) + ) + (not (-> self in-pen)) + (and *target* (>= (-> self fact-override idle-distance) + (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + (not (yakow-facing-player? 21845.334)) + ) + (go yakow-notice) ) - ) - ) - (not (yakow-facing-player? 21845.334)) - ) - (go yakow-notice) - ) - (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15) - (when - (or - (logtest? (nav-control-flags bit19) (-> self nav flags)) - (< - (vector-vector-xz-distance - (-> self root-override trans) - (-> self nav destination-pos) + (when (>= (- (-> *display* base-frame-counter) (-> self state-time)) 15) + (when (or + (logtest? (nav-control-flags bit19) (-> self nav flags)) + (< (vector-vector-xz-distance (-> self root-override trans) (-> self nav destination-pos)) 4096.0) + ) + (if (-> self in-pen) + (go yakow-graze) + (go yakow-idle) + ) ) - 4096.0 - ) ) - (if (-> self in-pen) - (go yakow-graze) - (go yakow-idle) - ) - ) + (set! (-> self travel-speed) (seek + (-> self travel-speed) + (-> *YAKOW-bank* walk-speed) + (* (-> *YAKOW-bank* acceleration) (-> *display* seconds-per-frame)) + ) + ) + (none) ) - (set! - (-> self travel-speed) - (seek - (-> self travel-speed) - (-> *YAKOW-bank* walk-speed) - (* (-> *YAKOW-bank* acceleration) (-> *display* seconds-per-frame)) - ) - ) - (none) - ) :code (the-as (function vector none :behavior yakow) yakow-blend-walk-run) :post (behavior () - (dummy-19 - (-> self nav) - (-> self nav target-pos) - (-> self root-override) - (-> self nav destination-pos) - 131072.0 + (dummy-19 + (-> self nav) + (-> self nav target-pos) + (-> self root-override) + (-> self nav destination-pos) + 131072.0 + ) + (if (logtest? (nav-control-flags bit21) (-> self nav flags)) + (logclear! (-> self nav flags) (nav-control-flags bit10)) + ) + (yakow-post) + (none) ) - (if (logtest? (nav-control-flags bit21) (-> self nav flags)) - (logclear! (-> self nav flags) (nav-control-flags bit10)) - ) - (yakow-post) - (none) - ) ) ;; failed to figure out what this is: @@ -1000,148 +731,85 @@ yakow-default-event-handler yakow-default-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (set! (-> self travel-speed) 0.0) - (set! (-> self grazing) #t) - (let ((v1-3 (entity-actor-lookup (-> self entity) 'alt-actor 0))) - (send-event (if v1-3 - (-> v1-3 extra process) - ) - 'update - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (set! (-> self travel-speed) 0.0) + (set! (-> self grazing) #t) + (let ((v1-3 (entity-actor-lookup (-> self entity) 'alt-actor 0))) + (send-event + (if v1-3 + (-> v1-3 extra process) + ) + 'update + ) + ) + (none) ) - (none) - ) :code (behavior () - (while - (< - 546.13336 - (fabs (deg-diff (-> self dest-rot) (y-angle (-> self root-override)))) - ) - (if (not (= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (while (< 546.13336 (fabs (deg-diff (-> self dest-rot) (y-angle (-> self root-override))))) + (if (not (= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 6) + ) ) - (-> self draw art-group data 6) - ) - ) - (ja-channel-push! 1 22) - ) - (seek-toward-yaw-angle! - (-> self root-override) - (-> self dest-rot) - 16384.0 - 150 - ) - (let ((a0-6 (-> self skel root-channel 0))) - (set! - (-> a0-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! (-> a0-6 param 0) 1.0) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-loop! - ) - ) - (suspend) - ) - (ja-channel-push! 1 45) - (while #t - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-10 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 param 0) - (the float (+ (-> a0-11 frame-group data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (when (rand-vu-percent? 0.5) - (ja-channel-push! 1 30) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-15 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length + (ja-channel-push! 1 22) + ) + (seek-toward-yaw-angle! (-> self root-override) (-> self dest-rot) 16384.0 150) + (let ((a0-6 (-> self skel root-channel 0))) + (set! (-> a0-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-6 param 0) 1.0) + (joint-control-channel-group-eval! + a0-6 + (the-as art-joint-anim (-> self draw art-group data 6)) + num-func-loop! ) - -1 - ) ) - ) - (set! (-> a0-15 param 1) 1.0) - (set! (-> a0-15 frame-num) 0.0) - (joint-control-channel-group! - a0-15 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) - ) - (until (ja-done? 0) (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 param 0) - (the float (+ (-> a0-16 frame-group data 0 length) -1)) - ) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - (ja-channel-push! 1 30) - ) + (ja-channel-push! 1 45) + (while #t + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-10 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-10 param 1) 1.0) + (set! (-> a0-10 frame-num) 0.0) + (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) + (set! (-> a0-11 param 1) 1.0) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (when (rand-vu-percent? 0.5) + (ja-channel-push! 1 30) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-15 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) 0.0) + (joint-control-channel-group! a0-15 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) (the float (+ (-> a0-16 frame-group data 0 length) -1))) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (ja-channel-push! 1 30) + ) + ) + (none) ) - (none) - ) :post yakow-simple-post ) @@ -1149,58 +817,29 @@ yakow-default-event-handler ;; failed to figure out what this is: (defstate yakow-graze-kicked (yakow) :event - (the-as - (function process int symbol event-message-block object :behavior yakow) - #f - ) + (the-as (function process int symbol event-message-block object :behavior yakow) #f) :code (behavior () - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 11)) - data - 0 - length + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) ) - -1 - ) ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) + (go yakow-graze) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go yakow-graze) - (none) - ) :post yakow-simple-post ) @@ -1211,65 +850,50 @@ yakow-default-event-handler yakow-default-event-handler :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (logior! (-> self nav flags) (nav-control-flags bit10)) - (set! (-> self rotate-speed) (-> *YAKOW-bank* run-rotate-speed)) - (set! (-> self turn-time) (-> *YAKOW-bank* run-turn-time)) - (none) - ) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (logior! (-> self nav flags) (nav-control-flags bit10)) + (set! (-> self rotate-speed) (-> *YAKOW-bank* run-rotate-speed)) + (set! (-> self turn-time) (-> *YAKOW-bank* run-turn-time)) + (none) + ) :trans (behavior () - (when - (or - (not *target*) - (< - (-> *YAKOW-bank* safe-distance) - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - (if (-> self in-pen) - (go yakow-walk-to (-> self dest-base)) - (go yakow-walk-to (-> self home-base)) - ) - ) - (let* ((f0-2 (* (if (-> self run-mode) - 0.5 - 1.0 - ) - (vector-vector-distance - (-> self root-override trans) - (target-pos 0) - ) - ) - ) - (f30-2 - (lerp-scale - (-> *YAKOW-bank* run-speed) - (-> *YAKOW-bank* walk-speed) - f0-2 - (-> *YAKOW-bank* run-away-dist) - (-> *YAKOW-bank* walk-away-dist) - ) - ) + (when (or (not *target*) (< (-> *YAKOW-bank* safe-distance) + (vector-vector-distance (-> self root-override trans) (-> *target* control trans)) + ) + ) + (if (-> self in-pen) + (go yakow-walk-to (-> self dest-base)) + (go yakow-walk-to (-> self home-base)) ) - (if (yakow-facing-player? 21845.334) - (set! f30-2 0.0) - ) - (set! (-> self enable-turn-around) (< (-> *YAKOW-bank* run-speed) f30-2)) - (set! - (-> self travel-speed) - (seek - (-> self travel-speed) - f30-2 - (* (-> *YAKOW-bank* acceleration) (-> *display* seconds-per-frame)) ) - ) + (let* ((f0-2 (* (if (-> self run-mode) + 0.5 + 1.0 + ) + (vector-vector-distance (-> self root-override trans) (target-pos 0)) + ) + ) + (f30-2 + (lerp-scale + (-> *YAKOW-bank* run-speed) + (-> *YAKOW-bank* walk-speed) + f0-2 + (-> *YAKOW-bank* run-away-dist) + (-> *YAKOW-bank* walk-away-dist) + ) + ) + ) + (if (yakow-facing-player? 21845.334) + (set! f30-2 0.0) + ) + (set! (-> self enable-turn-around) (< (-> *YAKOW-bank* run-speed) f30-2)) + (set! (-> self travel-speed) + (seek (-> self travel-speed) f30-2 (* (-> *YAKOW-bank* acceleration) (-> *display* seconds-per-frame))) + ) + ) + (none) ) - (none) - ) :code yakow-blend-walk-run :post @@ -1279,152 +903,96 @@ yakow-default-event-handler ;; failed to figure out what this is: (defstate yakow-kicked (yakow) :event - (the-as - (function process int symbol event-message-block object :behavior yakow) - #f - ) + (the-as (function process int symbol event-message-block object :behavior yakow) #f) :enter (behavior () - (set! (-> self state-time) (-> *display* base-frame-counter)) - (if (-> self grazing) - (go yakow-graze-kicked) + (set! (-> self state-time) (-> *display* base-frame-counter)) + (if (-> self grazing) + (go yakow-graze-kicked) + ) + (set! (-> self travel-speed) + (fmax + (fmin (+ (-> self travel-speed) (-> *YAKOW-bank* speed-boost-impulse)) (-> *YAKOW-bank* max-run-speed)) + (-> *YAKOW-bank* run-speed) + ) + ) + (none) ) - (set! - (-> self travel-speed) - (fmax - (fmin - (+ (-> self travel-speed) (-> *YAKOW-bank* speed-boost-impulse)) - (-> *YAKOW-bank* max-run-speed) - ) - (-> *YAKOW-bank* run-speed) - ) - ) - (none) - ) :exit - (behavior () - '() - (none) - ) + (behavior () '() (none)) :trans (behavior () - (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) - (set! - (-> self travel-speed) - (seek - (-> self travel-speed) - (-> *YAKOW-bank* run-speed) - (* (-> *YAKOW-bank* acceleration) (-> *display* seconds-per-frame)) - ) - ) + (if (>= (- (-> *display* base-frame-counter) (-> self state-time)) 60) + (set! (-> self travel-speed) (seek + (-> self travel-speed) + (-> *YAKOW-bank* run-speed) + (* (-> *YAKOW-bank* acceleration) (-> *display* seconds-per-frame)) + ) + ) + ) + 0 + (none) ) - 0 - (none) - ) :code (behavior () - (set! (-> self enable-turn-around) #t) - 1.0 - (suspend) - (ja-channel-push! 1 15) - (cond - ((< 40.96 (vector-length (-> self nav travel))) - (let ((v1-4 (-> self skel root-channel 0))) - (set! - (-> v1-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - ) - (let ((v1-7 (-> self skel root-channel 0))) - (set! (-> v1-7 num-func) num-func-identity) - (set! (-> v1-7 frame-num) 0.0) - ) - (until (ja-done? 0) - (suspend) - (let* ((f0-3 0.75) - (f1-0 0.25) - (f2-0 (-> *YAKOW-bank* run-speed)) - (f0-4 - (fmax - f0-3 - (fmin - (* - f1-0 - (/ 1.0 f2-0) - (-> self final-speed) - (-> *YAKOW-bank* run-anim-speed) - ) - (-> *YAKOW-bank* max-run-anim-speed) - ) - ) - ) - (a0-6 (-> self skel root-channel 0)) - ) - (set! - (-> a0-6 param 0) - (the float (+ (-> a0-6 frame-group data 0 length) -1)) - ) - (set! (-> a0-6 param 1) f0-4) - (joint-control-channel-group-eval! - a0-6 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! - (-> a0-8 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 11)) - data - 0 - length - ) - -1 + (set! (-> self enable-turn-around) #t) + 1.0 + (suspend) + (ja-channel-push! 1 15) + (cond + ((< 40.96 (vector-length (-> self nav travel))) + (let ((v1-4 (-> self skel root-channel 0))) + (set! (-> v1-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) ) + (let ((v1-7 (-> self skel root-channel 0))) + (set! (-> v1-7 num-func) num-func-identity) + (set! (-> v1-7 frame-num) 0.0) + ) + (until (ja-done? 0) + (suspend) + (let* ((f0-3 0.75) + (f1-0 0.25) + (f2-0 (-> *YAKOW-bank* run-speed)) + (f0-4 (fmax f0-3 (fmin + (* f1-0 (/ 1.0 f2-0) (-> self final-speed) (-> *YAKOW-bank* run-anim-speed)) + (-> *YAKOW-bank* max-run-anim-speed) + ) + ) + ) + (a0-6 (-> self skel root-channel 0)) + ) + (set! (-> a0-6 param 0) (the float (+ (-> a0-6 frame-group data 0 length) -1))) + (set! (-> a0-6 param 1) f0-4) + (joint-control-channel-group-eval! a0-6 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> a0-8 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) + ) + (set! (-> a0-8 param 1) 1.0) + (set! (-> a0-8 frame-num) 0.0) + (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + ) + (until (ja-done? 0) + (if (< 40.96 (-> self final-speed)) + (go yakow-run-away) + ) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) ) - (until (ja-done? 0) - (if (< 40.96 (-> self final-speed)) - (go yakow-run-away) - ) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (go yakow-run-away) + (none) ) - (go yakow-run-away) - (none) - ) :post yakow-run-post ) @@ -1432,27 +1000,18 @@ yakow-default-event-handler ;; failed to figure out what this is: (defstate yakow-die (yakow) :event - (the-as - (function process int symbol event-message-block object :behavior yakow) - #f - ) + (the-as (function process int symbol event-message-block object :behavior yakow) #f) :code (behavior () - (let ((v1-1 (-> self root-override root-prim))) - (set! (-> v1-1 collide-with) (the-as uint 0)) - (set! (-> v1-1 prim-core collide-as) (the-as uint 0)) - ) - 0 - (drop-pickup - (-> self fact-override) - #t - *entity-pool* - (-> self fact-override) + (let ((v1-1 (-> self root-override root-prim))) + (set! (-> v1-1 collide-with) (the-as uint 0)) + (set! (-> v1-1 prim-core collide-as) (the-as uint 0)) + ) 0 + (drop-pickup (-> self fact-override) #t *entity-pool* (-> self fact-override) 0) + (process-entity-status! self (entity-perm-status dead) #t) + (none) ) - (process-entity-status! self (entity-perm-status dead) #t) - (none) - ) ) ;; definition for method 11 of type yakow @@ -1460,70 +1019,37 @@ yakow-default-event-handler ;; Used lq/sq (defmethod init-from-entity! yakow ((obj yakow) (arg0 entity-actor)) (stack-size-set! (-> obj main-thread) 512) - (let - ((s4-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) + (let ((s4-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s4-0 reaction) default-collision-reaction) + (set! (-> s4-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 3073)) + (set! (-> s3-0 prim-core offense) 4) + (set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 10240.0) + (set-root-prim! s4-0 s3-0) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s4-0 reaction) default-collision-reaction) - (set! - (-> s4-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 0)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 3073)) - (set! (-> s3-0 prim-core offense) 4) - (set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 10240.0) - (set-root-prim! s4-0 s3-0) - ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (set! (-> obj align) (new 'process 'align-control obj)) - (set! - (-> obj nav) - (new 'process 'nav-control (-> obj root-override) 16 40960.0) - ) - (logior! - (-> obj nav flags) - (nav-control-flags display-marks bit3 bit5 bit6 bit7) - ) + (set! (-> obj nav) (new 'process 'nav-control (-> obj root-override) 16 40960.0)) + (logior! (-> obj nav flags) (nav-control-flags display-marks bit3 bit5 bit6 bit7)) (set! (-> obj nav nearest-y-threshold) 409600.0) - (set! - (-> obj fact-override) - (new - 'process - 'fact-info-enemy - obj - (pickup-type eco-pill-random) - (-> *FACT-bank* default-pill-inc) - ) - ) - (set! - (-> obj fact-override idle-distance) - (-> *YAKOW-bank* default-idle-distance) - ) + (set! (-> obj fact-override) + (new 'process 'fact-info-enemy obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc)) + ) + (set! (-> obj fact-override idle-distance) (-> *YAKOW-bank* default-idle-distance)) (initialize-skeleton obj *yakow-sg* '()) - (set! - (-> obj draw shadow-ctrl) - (new - 'process - 'shadow-control - -4096.0 - 4096.0 - 614400.0 - (the-as float 24) - 245760.0 - ) - ) + (set! (-> obj draw shadow-ctrl) + (new 'process 'shadow-control -4096.0 4096.0 614400.0 (the-as float 24) 245760.0) + ) (set! (-> obj link) (new 'process 'actor-link-info obj)) (set! (-> obj water) (new 'process 'water-control obj 6 0.0 8192.0 2048.0)) (set! (-> obj water flags) (the-as uint 2)) @@ -1531,32 +1057,28 @@ yakow-default-event-handler (set! (-> obj water ripple-size) 12288.0) (set! (-> obj home-base quad) (-> obj root-override trans quad)) (let ((v1-40 (res-lump-struct (-> obj entity) 'alt-vector vector))) - (when v1-40 - (set! (-> obj dest-base quad) (-> v1-40 quad)) - (set! (-> obj dest-rot) (-> v1-40 w)) - (set! (-> obj dest-base w) 1.0) + (when v1-40 + (set! (-> obj dest-base quad) (-> v1-40 quad)) + (set! (-> obj dest-rot) (-> v1-40 w)) + (set! (-> obj dest-base w) 1.0) + ) ) - ) (set! (-> obj vulnerable) #t) (set! (-> obj grazing) #f) (set! (-> obj enable-turn-around) #f) - (set! - (-> obj in-pen) - (and - (-> obj entity) - (logtest? (-> obj entity extra perm status) (entity-perm-status complete)) - ) - ) + (set! (-> obj in-pen) + (and (-> obj entity) (logtest? (-> obj entity extra perm status) (entity-perm-status complete))) + ) (cond - ((-> obj in-pen) - (set! (-> obj root-override trans quad) (-> obj dest-base quad)) - (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (-> obj dest-rot)) - (go yakow-graze) + ((-> obj in-pen) + (set! (-> obj root-override trans quad) (-> obj dest-base quad)) + (set-yaw-angle-clear-roll-pitch! (-> obj root-override) (-> obj dest-rot)) + (go yakow-graze) + ) + (else + (yakow-task-complete? #f) + (go yakow-idle) + ) ) - (else - (yakow-task-complete? #f) - (go yakow-idle) - ) - ) (none) ) diff --git a/test/decompiler/reference/levels/village2/assistant-village2_REF.gc b/test/decompiler/reference/levels/village2/assistant-village2_REF.gc index bda8e8a543..39d8fdeca5 100644 --- a/test/decompiler/reference/levels/village2/assistant-village2_REF.gc +++ b/test/decompiler/reference/levels/village2/assistant-village2_REF.gc @@ -15,8 +15,8 @@ ;; definition for method 3 of type assistant-levitator (defmethod inspect assistant-levitator ((obj assistant-levitator)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tboulder: ~A~%" (-> obj boulder)) (format #t "~T~Tparticle[4] @ #x~X~%" (-> obj particle)) obj @@ -26,25 +26,22 @@ ;; INFO: Return type mismatch process-taskable vs assistant-levitator. (defmethod relocate assistant-levitator ((obj assistant-levitator) (arg0 int)) (dotimes (v1-0 4) - (if (nonzero? (-> obj particle v1-0)) - (&+! (-> obj particle v1-0) arg0) + (if (nonzero? (-> obj particle v1-0)) + (&+! (-> obj particle v1-0) arg0) + ) ) - ) - (the-as - assistant-levitator - ((method-of-type process-taskable relocate) obj arg0) - ) + (the-as assistant-levitator ((method-of-type process-taskable relocate) obj arg0)) ) ;; definition for method 10 of type assistant-levitator (defmethod deactivate assistant-levitator ((obj assistant-levitator)) (dotimes (s5-0 4) - (let ((a0-1 (-> obj particle s5-0))) - (if (nonzero? a0-1) - (kill-and-free-particles a0-1) - ) + (let ((a0-1 (-> obj particle s5-0))) + (if (nonzero? a0-1) + (kill-and-free-particles a0-1) + ) + ) ) - ) ((method-of-type process-taskable deactivate) obj) (none) ) @@ -72,20 +69,20 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 assistant-levitator ((obj assistant-levitator)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -409.6 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -409.6 f0-0))) + ) + 0 + (let ((a0-4 v1-1)) + (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) + ) + ) + 0 + (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - 0 - (let ((a0-4 v1-1)) - (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) - ) - ) - 0 - (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - ) (none) ) @@ -93,940 +90,356 @@ (defmethod draw-npc-shadow assistant-levitator ((obj assistant-levitator)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) ;; definition for method 32 of type assistant-bluehut (defmethod play-anim! assistant-bluehut ((obj assistant-bluehut) (arg0 symbol)) (with-pp - (set! (-> obj talk-message) (the-as uint 292)) - (case (current-status (-> obj tasks)) - (((task-status unknown) - (task-status need-hint) - (task-status need-introduction) - ) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task village2-levitator)) - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (send-event (-> obj sage extra process) 'clone (process->handle obj)) - (send-event - (-> (entity-by-type flutflut-bluehut) extra process) - 'clone - (process->handle obj) + (set! (-> obj talk-message) (the-as uint 292)) + (case (current-status (-> obj tasks)) + (((task-status unknown) (task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) ) - ) - (new 'static 'spool-anim - :name "assistant-village2-introduction" - :index 15 - :parts 16 - :command-list - '( - (0 - send-event - target - draw - #f + (case (current-task (-> obj tasks)) + (((game-task village2-levitator)) + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (send-event (-> obj sage extra process) 'clone (process->handle obj)) + (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) + ) + (new 'static 'spool-anim + :name "assistant-village2-introduction" + :index 15 + :parts 16 + :command-list + '((0 send-event target draw #f) + (0 kill "villageb-part-33") + ((the binteger 95) send-event target draw #t) + ((the binteger 95) joint "cameraB") + ((the binteger 131) send-event target draw #f) + ((the binteger 131) joint "camera") + ((the binteger 190) setting-reset ocean-off #t) + ((the binteger 190) kill "pontoonten-20") + ((the binteger 190) kill "pontoonten-19") + ((the binteger 190) kill "pontoonten-18") + ((the binteger 190) kill "pontoonten-17") + ((the binteger 190) kill "pontoonten-16") + ((the binteger 190) kill "pontoonten-15") + ((the binteger 190) kill "pontoonten-14") + ((the binteger 190) kill "pontoonten-13") + ((the binteger 190) kill "pontoonten-12") + ((the binteger 190) kill "pontoonten-11") + ((the binteger 190) kill "pontoonten-10") + ((the binteger 190) kill "pontoonten-9") + ((the binteger 190) kill "pontoonten-8") + ((the binteger 190) kill "pontoonten-7") + ((the binteger 190) kill "pontoonten-6") + ((the binteger 190) kill "pontoonfive-3") + ((the binteger 190) kill "pontoonfive-4") + ((the binteger 190) kill "pontoonfive-5") + ((the binteger 190) kill "pontoonfive-6") + ((the binteger 190) kill "pontoonfive-7") + ((the binteger 190) kill "pontoonfive-8") + ((the binteger 190) kill "pontoonfive-12") + ((the binteger 190) kill "pontoonfive-13") + ((the binteger 190) kill "pontoonfive-14") + ((the binteger 190) kill "pontoonfive-15") + ((the binteger 190) kill "pontoonfive-16") + ((the binteger 190) kill "pontoonfive-17") + ((the binteger 190) kill "pontoonfive-18") + ((the binteger 190) kill "pontoonfive-19") + ((the binteger 190) kill "pontoonfive-20") + ((the binteger 190) kill "allpontoons-1") + ((the binteger 190) kill "med-res-level-12") + ((the binteger 190) kill "med-res-level-13") + ((the binteger 190) kill "med-res-level-15") + ((the binteger 190) kill "swamp-blimp-3") + ((the binteger 190) kill "barrel-85") + ((the binteger 190) kill "barrel-86") + ((the binteger 190) kill "money-2844") + ((the binteger 190) kill "money-2845") + ((the binteger 190) kill "money-2846") + ((the binteger 190) kill "money-2847") + ((the binteger 190) kill "money-2848") + ((the binteger 190) kill "money-2849") + ((the binteger 190) kill "money-4923") + ((the binteger 190) kill "money-4924") + ((the binteger 190) kill "money-4925") + ((the binteger 190) kill "money-4926") + ((the binteger 190) kill "money-4927") + ((the binteger 190) kill "eco-27") + ((the binteger 190) kill "sharkey-25") + ((the binteger 190) kill "barrel-117") + ((the binteger 190) kill "barrel-118") + ((the binteger 190) kill "barrel-119") + ((the binteger 190) kill "barrel-120") + ((the binteger 190) kill "barrel-121") + ((the binteger 190) kill "barrel-122") + ((the binteger 190) kill "crate-3129") + ((the binteger 190) kill "crate-3132") + ((the binteger 190) kill "crate-3133") + ((the binteger 190) kill "villageb-part-32") + ((the binteger 190) kill "villageb-part-30") + ((the binteger 190) kill "exit-chamber-dummy-1") + ((the binteger 190) kill "villageb-part-34") + ((the binteger 191) send-event target draw #t) + ((the binteger 191) joint "cameraB") + ((the binteger 241) joint "camera") + ((the binteger 241) send-event target draw #f) + ((the binteger 241) setting-unset ocean-off) + ((the binteger 241) dead "pontoonten-20") + ((the binteger 241) dead "pontoonten-19") + ((the binteger 241) dead "pontoonten-18") + ((the binteger 241) dead "pontoonten-17") + ((the binteger 241) dead "pontoonten-16") + ((the binteger 241) dead "pontoonten-15") + ((the binteger 241) dead "pontoonten-14") + ((the binteger 241) dead "pontoonten-13") + ((the binteger 241) dead "pontoonten-12") + ((the binteger 241) dead "pontoonten-11") + ((the binteger 241) dead "pontoonten-10") + ((the binteger 241) dead "pontoonten-9") + ((the binteger 241) dead "pontoonten-8") + ((the binteger 241) dead "pontoonten-7") + ((the binteger 241) dead "pontoonten-6") + ((the binteger 241) dead "pontoonfive-3") + ((the binteger 241) dead "pontoonfive-4") + ((the binteger 241) dead "pontoonfive-5") + ((the binteger 241) dead "pontoonfive-6") + ((the binteger 241) dead "pontoonfive-7") + ((the binteger 241) dead "pontoonfive-8") + ((the binteger 241) dead "pontoonfive-12") + ((the binteger 241) dead "pontoonfive-13") + ((the binteger 241) dead "pontoonfive-14") + ((the binteger 241) dead "pontoonfive-15") + ((the binteger 241) dead "pontoonfive-16") + ((the binteger 241) dead "pontoonfive-17") + ((the binteger 241) dead "pontoonfive-18") + ((the binteger 241) dead "pontoonfive-19") + ((the binteger 241) dead "pontoonfive-20") + ((the binteger 241) dead "allpontoons-1") + ((the binteger 241) dead "med-res-level-12") + ((the binteger 241) dead "med-res-level-13") + ((the binteger 241) dead "med-res-level-15") + ((the binteger 241) dead "swamp-blimp-3") + ((the binteger 241) dead "barrel-85") + ((the binteger 241) dead "barrel-86") + ((the binteger 241) dead "money-2844") + ((the binteger 241) dead "money-2845") + ((the binteger 241) dead "money-2846") + ((the binteger 241) dead "money-2847") + ((the binteger 241) dead "money-2848") + ((the binteger 241) dead "money-2849") + ((the binteger 241) dead "money-4923") + ((the binteger 241) dead "money-4924") + ((the binteger 241) dead "money-4925") + ((the binteger 241) dead "money-4926") + ((the binteger 241) dead "money-4927") + ((the binteger 241) dead "eco-27") + ((the binteger 241) dead "sharkey-25") + ((the binteger 241) dead "barrel-117") + ((the binteger 241) dead "barrel-118") + ((the binteger 241) dead "barrel-119") + ((the binteger 241) dead "barrel-120") + ((the binteger 241) dead "barrel-121") + ((the binteger 241) dead "barrel-122") + ((the binteger 241) dead "crate-3129") + ((the binteger 241) dead "crate-3132") + ((the binteger 241) dead "crate-3133") + ((the binteger 241) dead "villageb-part-32") + ((the binteger 241) dead "villageb-part-30") + ((the binteger 321) joint "cameraB") + ((the binteger 352) joint "camera") + ((the binteger 383) joint "cameraB") + ((the binteger 411) joint "camera") + ((the binteger 501) joint "cameraB") + ((the binteger 501) send-event target draw #t) + ((the binteger 567) joint "camera") + ((the binteger 634) alive "fireboulder-6") + ((the binteger 635) joint "cameraB") + ((the binteger 701) joint "camera") + ((the binteger 741) joint "cameraB") + ((the binteger 784) joint "camera") + ((the binteger 936) joint "cameraB") + ((the binteger 1065) joint "camera") + ((the binteger 1145) joint "cameraB") + ((the binteger 1241) joint "camera") ) - (0 - kill - "villageb-part-33" - ) - ((the binteger 95) - send-event - target - draw - #t - ) - ((the binteger 95) - joint - "cameraB" - ) - ((the binteger 131) - send-event - target - draw - #f - ) - ((the binteger 131) - joint - "camera" - ) - ((the binteger 190) - setting-reset - ocean-off - #t - ) - ((the binteger 190) - kill - "pontoonten-20" - ) - ((the binteger 190) - kill - "pontoonten-19" - ) - ((the binteger 190) - kill - "pontoonten-18" - ) - ((the binteger 190) - kill - "pontoonten-17" - ) - ((the binteger 190) - kill - "pontoonten-16" - ) - ((the binteger 190) - kill - "pontoonten-15" - ) - ((the binteger 190) - kill - "pontoonten-14" - ) - ((the binteger 190) - kill - "pontoonten-13" - ) - ((the binteger 190) - kill - "pontoonten-12" - ) - ((the binteger 190) - kill - "pontoonten-11" - ) - ((the binteger 190) - kill - "pontoonten-10" - ) - ((the binteger 190) - kill - "pontoonten-9" - ) - ((the binteger 190) - kill - "pontoonten-8" - ) - ((the binteger 190) - kill - "pontoonten-7" - ) - ((the binteger 190) - kill - "pontoonten-6" - ) - ((the binteger 190) - kill - "pontoonfive-3" - ) - ((the binteger 190) - kill - "pontoonfive-4" - ) - ((the binteger 190) - kill - "pontoonfive-5" - ) - ((the binteger 190) - kill - "pontoonfive-6" - ) - ((the binteger 190) - kill - "pontoonfive-7" - ) - ((the binteger 190) - kill - "pontoonfive-8" - ) - ((the binteger 190) - kill - "pontoonfive-12" - ) - ((the binteger 190) - kill - "pontoonfive-13" - ) - ((the binteger 190) - kill - "pontoonfive-14" - ) - ((the binteger 190) - kill - "pontoonfive-15" - ) - ((the binteger 190) - kill - "pontoonfive-16" - ) - ((the binteger 190) - kill - "pontoonfive-17" - ) - ((the binteger 190) - kill - "pontoonfive-18" - ) - ((the binteger 190) - kill - "pontoonfive-19" - ) - ((the binteger 190) - kill - "pontoonfive-20" - ) - ((the binteger 190) - kill - "allpontoons-1" - ) - ((the binteger 190) - kill - "med-res-level-12" - ) - ((the binteger 190) - kill - "med-res-level-13" - ) - ((the binteger 190) - kill - "med-res-level-15" - ) - ((the binteger 190) - kill - "swamp-blimp-3" - ) - ((the binteger 190) - kill - "barrel-85" - ) - ((the binteger 190) - kill - "barrel-86" - ) - ((the binteger 190) - kill - "money-2844" - ) - ((the binteger 190) - kill - "money-2845" - ) - ((the binteger 190) - kill - "money-2846" - ) - ((the binteger 190) - kill - "money-2847" - ) - ((the binteger 190) - kill - "money-2848" - ) - ((the binteger 190) - kill - "money-2849" - ) - ((the binteger 190) - kill - "money-4923" - ) - ((the binteger 190) - kill - "money-4924" - ) - ((the binteger 190) - kill - "money-4925" - ) - ((the binteger 190) - kill - "money-4926" - ) - ((the binteger 190) - kill - "money-4927" - ) - ((the binteger 190) - kill - "eco-27" - ) - ((the binteger 190) - kill - "sharkey-25" - ) - ((the binteger 190) - kill - "barrel-117" - ) - ((the binteger 190) - kill - "barrel-118" - ) - ((the binteger 190) - kill - "barrel-119" - ) - ((the binteger 190) - kill - "barrel-120" - ) - ((the binteger 190) - kill - "barrel-121" - ) - ((the binteger 190) - kill - "barrel-122" - ) - ((the binteger 190) - kill - "crate-3129" - ) - ((the binteger 190) - kill - "crate-3132" - ) - ((the binteger 190) - kill - "crate-3133" - ) - ((the binteger 190) - kill - "villageb-part-32" - ) - ((the binteger 190) - kill - "villageb-part-30" - ) - ((the binteger 190) - kill - "exit-chamber-dummy-1" - ) - ((the binteger 190) - kill - "villageb-part-34" - ) - ((the binteger 191) - send-event - target - draw - #t - ) - ((the binteger 191) - joint - "cameraB" - ) - ((the binteger 241) - joint - "camera" - ) - ((the binteger 241) - send-event - target - draw - #f - ) - ((the binteger 241) - setting-unset - ocean-off - ) - ((the binteger 241) - dead - "pontoonten-20" - ) - ((the binteger 241) - dead - "pontoonten-19" - ) - ((the binteger 241) - dead - "pontoonten-18" - ) - ((the binteger 241) - dead - "pontoonten-17" - ) - ((the binteger 241) - dead - "pontoonten-16" - ) - ((the binteger 241) - dead - "pontoonten-15" - ) - ((the binteger 241) - dead - "pontoonten-14" - ) - ((the binteger 241) - dead - "pontoonten-13" - ) - ((the binteger 241) - dead - "pontoonten-12" - ) - ((the binteger 241) - dead - "pontoonten-11" - ) - ((the binteger 241) - dead - "pontoonten-10" - ) - ((the binteger 241) - dead - "pontoonten-9" - ) - ((the binteger 241) - dead - "pontoonten-8" - ) - ((the binteger 241) - dead - "pontoonten-7" - ) - ((the binteger 241) - dead - "pontoonten-6" - ) - ((the binteger 241) - dead - "pontoonfive-3" - ) - ((the binteger 241) - dead - "pontoonfive-4" - ) - ((the binteger 241) - dead - "pontoonfive-5" - ) - ((the binteger 241) - dead - "pontoonfive-6" - ) - ((the binteger 241) - dead - "pontoonfive-7" - ) - ((the binteger 241) - dead - "pontoonfive-8" - ) - ((the binteger 241) - dead - "pontoonfive-12" - ) - ((the binteger 241) - dead - "pontoonfive-13" - ) - ((the binteger 241) - dead - "pontoonfive-14" - ) - ((the binteger 241) - dead - "pontoonfive-15" - ) - ((the binteger 241) - dead - "pontoonfive-16" - ) - ((the binteger 241) - dead - "pontoonfive-17" - ) - ((the binteger 241) - dead - "pontoonfive-18" - ) - ((the binteger 241) - dead - "pontoonfive-19" - ) - ((the binteger 241) - dead - "pontoonfive-20" - ) - ((the binteger 241) - dead - "allpontoons-1" - ) - ((the binteger 241) - dead - "med-res-level-12" - ) - ((the binteger 241) - dead - "med-res-level-13" - ) - ((the binteger 241) - dead - "med-res-level-15" - ) - ((the binteger 241) - dead - "swamp-blimp-3" - ) - ((the binteger 241) - dead - "barrel-85" - ) - ((the binteger 241) - dead - "barrel-86" - ) - ((the binteger 241) - dead - "money-2844" - ) - ((the binteger 241) - dead - "money-2845" - ) - ((the binteger 241) - dead - "money-2846" - ) - ((the binteger 241) - dead - "money-2847" - ) - ((the binteger 241) - dead - "money-2848" - ) - ((the binteger 241) - dead - "money-2849" - ) - ((the binteger 241) - dead - "money-4923" - ) - ((the binteger 241) - dead - "money-4924" - ) - ((the binteger 241) - dead - "money-4925" - ) - ((the binteger 241) - dead - "money-4926" - ) - ((the binteger 241) - dead - "money-4927" - ) - ((the binteger 241) - dead - "eco-27" - ) - ((the binteger 241) - dead - "sharkey-25" - ) - ((the binteger 241) - dead - "barrel-117" - ) - ((the binteger 241) - dead - "barrel-118" - ) - ((the binteger 241) - dead - "barrel-119" - ) - ((the binteger 241) - dead - "barrel-120" - ) - ((the binteger 241) - dead - "barrel-121" - ) - ((the binteger 241) - dead - "barrel-122" - ) - ((the binteger 241) - dead - "crate-3129" - ) - ((the binteger 241) - dead - "crate-3132" - ) - ((the binteger 241) - dead - "crate-3133" - ) - ((the binteger 241) - dead - "villageb-part-32" - ) - ((the binteger 241) - dead - "villageb-part-30" - ) - ((the binteger 321) - joint - "cameraB" - ) - ((the binteger 352) - joint - "camera" - ) - ((the binteger 383) - joint - "cameraB" - ) - ((the binteger 411) - joint - "camera" - ) - ((the binteger 501) - joint - "cameraB" - ) - ((the binteger 501) - send-event - target - draw - #t - ) - ((the binteger 567) - joint - "camera" - ) - ((the binteger 634) - alive - "fireboulder-6" - ) - ((the binteger 635) - joint - "cameraB" - ) - ((the binteger 701) - joint - "camera" - ) - ((the binteger 741) - joint - "cameraB" - ) - ((the binteger 784) - joint - "camera" - ) - ((the binteger 936) - joint - "cameraB" - ) - ((the binteger 1065) - joint - "camera" - ) - ((the binteger 1145) - joint - "cameraB" - ) - ((the binteger 1241) joint "camera") ) ) - ) - (((game-task sunken-room)) - (when arg0 - (let* ((s5-2 (-> obj tasks)) - (s4-0 (method-of-object s5-2 save-reminder)) - (a1-7 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-7 from) pp) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'query) - (set! (-> a1-7 param 0) (the-as uint 'pickup)) - (set! (-> a1-7 param 1) (the-as uint 6)) - (s4-0 - s5-2 - (the int (the-as float (send-event-function *target* a1-7))) - 1 - ) + (((game-task sunken-room)) + (when arg0 + (let* ((s5-2 (-> obj tasks)) + (s4-0 (method-of-object s5-2 save-reminder)) + (a1-7 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-7 from) pp) + (set! (-> a1-7 num-params) 2) + (set! (-> a1-7 message) 'query) + (set! (-> a1-7 param 0) (the-as uint 'pickup)) + (set! (-> a1-7 param 1) (the-as uint 6)) + (s4-0 s5-2 (the int (the-as float (send-event-function *target* a1-7))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) + (let ((s5-3 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj jaws) + (ppointer->handle + (when s5-3 + (let ((t9-10 (method-of-type manipy activate))) + (t9-10 (the-as manipy s5-3) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-3 manipy-init (-> obj root-override trans) (-> obj entity) *jaws-sg* #f) + (-> s5-3 ppointer) + ) + ) + ) + ) + (let ((v1-42 (handle->process (-> obj jaws)))) + (if v1-42 + (set! (-> (the-as manipy v1-42) draw light-index) (the-as uint 1)) + ) + ) + (send-event (handle->process (-> obj jaws)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj jaws)) 'center-joint 3) + (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) + ) + (new 'static 'spool-anim + :name "assistant-village2-introduction-room" + :index 21 + :parts 10 + :command-list + '(((the binteger 197) joint "cameraB") + ((the binteger 351) joint "camera") + ((the binteger 431) joint "cameraB") + ((the binteger 553) joint "camera") + ((the binteger 631) joint "cameraB") + ((the binteger 842) joint "camera") + ((the binteger 900) joint "cameraB") + ((the binteger 1069) joint "camera") + ) + ) ) - (close-status! (-> obj tasks) (task-status need-introduction)) - (let ((s5-3 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj jaws) (ppointer->handle (when s5-3 - (let - ((t9-10 - (method-of-type - manipy - activate - ) - ) - ) - (t9-10 - (the-as manipy s5-3) - obj - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - s5-3 - manipy-init - (-> obj root-override trans) - (-> obj entity) - *jaws-sg* - #f - ) - (-> s5-3 ppointer) - ) - ) - ) - ) - (let ((v1-42 (handle->process (-> obj jaws)))) - (if v1-42 - (set! (-> (the-as manipy v1-42) draw light-index) (the-as uint 1)) - ) - ) - (send-event (handle->process (-> obj jaws)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj jaws)) 'center-joint 3) - (send-event - (-> (entity-by-type flutflut-bluehut) extra process) - 'clone - (process->handle obj) - ) - ) - (new 'static 'spool-anim - :name "assistant-village2-introduction-room" - :index 21 - :parts 10 - :command-list - '( - ((the binteger 197) - joint - "cameraB" - ) - ((the binteger 351) - joint - "camera" + (((game-task rolling-robbers)) + (when arg0 + (let* ((s5-5 (-> obj tasks)) + (s4-1 (method-of-object s5-5 save-reminder)) + (a1-17 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-17 from) pp) + (set! (-> a1-17 num-params) 2) + (set! (-> a1-17 message) 'query) + (set! (-> a1-17 param 0) (the-as uint 'pickup)) + (set! (-> a1-17 param 1) (the-as uint 6)) + (s4-1 s5-5 (the int (the-as float (send-event-function *target* a1-17))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) ) - ((the binteger 431) - joint - "cameraB" + (new 'static 'spool-anim + :name + "assistant-village2-introduction-robbers" + :index 17 + :parts 6 + :command-list + '(((the binteger 55) joint "cameraB") + ((the binteger 145) joint "camera") + ((the binteger 207) joint "cameraB") + ((the binteger 363) joint "camera") + ) ) - ((the binteger 553) - joint - "camera" - ) - ((the binteger 631) - joint - "cameraB" - ) - ((the binteger 842) - joint - "camera" - ) - ((the binteger 900) - joint - "cameraB" - ) - ((the binteger 1069) joint "camera") - ) - ) - ) - (((game-task rolling-robbers)) - (when arg0 - (let* ((s5-5 (-> obj tasks)) - (s4-1 (method-of-object s5-5 save-reminder)) - (a1-17 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-17 from) pp) - (set! (-> a1-17 num-params) 2) - (set! (-> a1-17 message) 'query) - (set! (-> a1-17 param 0) (the-as uint 'pickup)) - (set! (-> a1-17 param 1) (the-as uint 6)) - (s4-1 - s5-5 - (the int (the-as float (send-event-function *target* a1-17))) - 1 - ) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name - "assistant-village2-introduction-robbers" - :index 17 - :parts 6 - :command-list - '( - ((the binteger 55) - joint - "cameraB" - ) - ((the binteger 145) - joint - "camera" - ) - ((the binteger 207) - joint - "cameraB" - ) - ((the binteger 363) joint "camera") - ) - ) - ) - (else - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (send-event - (-> (entity-by-type flutflut-bluehut) extra process) - 'clone - (process->handle obj) - ) - ) - (new 'static 'spool-anim - :name - "assistant-village2-introduction-flutflut" - :index 19 - :parts 8 - :command-list - '( - ((the binteger 71) - joint - "cameraB" - ) - ((the binteger 308) - joint - "camera" - ) - ((the binteger 426) - joint - "cameraB" - ) - ((the binteger 550) - joint - "camera" - ) - ((the binteger 644) joint "cameraB") - ) - ) - ) - ) - ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) - (if (< (the-as uint 2) (the-as uint s4-2)) - (set! s4-2 0) - ) - (countdown (s3-0 3) - (let ((v1-92 s4-2)) - (cond - ((zero? v1-92) - (if - (!= - (get-task-status (game-task sunken-room)) - (task-status need-reminder) - ) - (set! s4-2 1) - ) - ) - ((= v1-92 1) - (if - (!= - (get-task-status (game-task rolling-robbers)) - (task-status need-reminder) - ) - (set! s4-2 2) - ) ) (else - (if - (!= - (get-task-status (game-task swamp-flutflut)) - (task-status need-reminder) - ) - (set! s4-2 0) + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'clone (process->handle obj)) + ) + (new 'static 'spool-anim + :name + "assistant-village2-introduction-flutflut" + :index 19 + :parts 8 + :command-list + '(((the binteger 71) joint "cameraB") + ((the binteger 308) joint "camera") + ((the binteger 426) joint "cameraB") + ((the binteger 550) joint "camera") + ((the binteger 644) joint "cameraB") + ) + ) ) - ) ) - ) ) - (if arg0 - (save-reminder (-> obj tasks) s4-2 2) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) + (if (< (the-as uint 2) (the-as uint s4-2)) + (set! s4-2 0) + ) + (countdown (s3-0 3) + (let ((v1-92 s4-2)) + (cond + ((zero? v1-92) + (if (!= (get-task-status (game-task sunken-room)) (task-status need-reminder)) + (set! s4-2 1) + ) + ) + ((= v1-92 1) + (if (!= (get-task-status (game-task rolling-robbers)) (task-status need-reminder)) + (set! s4-2 2) + ) + ) + (else + (if (!= (get-task-status (game-task swamp-flutflut)) (task-status need-reminder)) + (set! s4-2 0) + ) + ) + ) + ) + ) + (if arg0 + (save-reminder (-> obj tasks) s4-2 2) + ) + (cond + ((zero? s4-2) + (new 'static 'spool-anim :name "assistant-village2-reminder-1-room" :index 22 :parts 3 :command-list '()) + ) + ((= s4-2 1) + (new 'static 'spool-anim :name "assistant-village2-reminder-1-robbers" :index 18 :parts 3 :command-list '()) + ) + (else + (new 'static 'spool-anim :name "assistant-village2-reminder-1-flutflut" :index 20 :parts 3 :command-list '()) + ) + ) + ) ) - (cond - ((zero? s4-2) - (new 'static 'spool-anim - :name "assistant-village2-reminder-1-room" - :index 22 - :parts 3 - :command-list '() - ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 5) ) - ((= s4-2 1) - (new 'static 'spool-anim - :name "assistant-village2-reminder-1-robbers" - :index 18 - :parts 3 - :command-list '() - ) - ) - (else - (new 'static 'spool-anim - :name - "assistant-village2-reminder-1-flutflut" - :index 20 - :parts 3 - :command-list '() - ) - ) - ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 5) - ) ) - ) ) ;; definition for method 31 of type assistant-bluehut @@ -1037,114 +450,90 @@ ;; definition for method 44 of type assistant-bluehut (defmethod play-reminder assistant-bluehut ((obj assistant-bluehut)) (cond - ((and (-> obj will-talk) *target*) - (let* ((f30-1 (+ -1552384.0 (-> (target-pos 0) x))) - (f0-3 (+ 6352896.0 (-> (target-pos 0) z) f30-1)) - ) - (< 0.0 f0-3) + ((and (-> obj will-talk) *target*) + (let* ((f30-1 (+ -1552384.0 (-> (target-pos 0) x))) + (f0-3 (+ 6352896.0 (-> (target-pos 0) z) f30-1)) + ) + (< 0.0 f0-3) + ) ) + (else + #f + ) ) - (else - #f - ) - ) ) ;; definition for method 47 of type assistant-bluehut (defmethod target-above-threshold? assistant-bluehut ((obj assistant-bluehut)) (when (not (play-reminder obj)) - (set! (-> obj im-talking) #f) - (return #f) - ) - (let ((s5-0 (-> obj sage extra process))) - (when (not s5-0) - (let ((v1-7 #t)) - (set! (-> obj im-talking) v1-7) - (return v1-7) - ) - ) - (when (!= (-> (the-as sage-bluehut s5-0) next-state name) 'idle) (set! (-> obj im-talking) #f) (return #f) ) - (when (not (play-reminder (the-as sage-bluehut s5-0))) - (let ((v1-15 #t)) - (set! (-> obj im-talking) v1-15) - (return v1-15) - ) - ) - (let* - ((s4-0 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> obj node-list data (-> obj center-joint-index)) - ) - ) - (s3-0 - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> - (the-as sage-bluehut s5-0) - node-list - data - (-> (the-as sage-bluehut s5-0) center-joint-index) + (let ((s5-0 (-> obj sage extra process))) + (when (not s5-0) + (let ((v1-7 #t)) + (set! (-> obj im-talking) v1-7) + (return v1-7) ) - ) ) - (f0-1 - (- - (vector-vector-distance (target-pos 0) s3-0) - (vector-vector-distance (target-pos 0) s4-0) - ) - ) - ) - (cond - ((< f0-1 -4096.0) + (when (!= (-> (the-as sage-bluehut s5-0) next-state name) 'idle) (set! (-> obj im-talking) #f) (return #f) ) - ((< 4096.0 f0-1) - (let ((v1-24 #t)) - (set! (-> obj im-talking) v1-24) - (return v1-24) - ) + (when (not (play-reminder (the-as sage-bluehut s5-0))) + (let ((v1-15 #t)) + (set! (-> obj im-talking) v1-15) + (return v1-15) + ) ) - (else - (return (-> obj im-talking)) + (let* ((s4-0 (vector<-cspace! (new 'stack-no-clear 'vector) (-> obj node-list data (-> obj center-joint-index)))) + (s3-0 (vector<-cspace! + (new 'stack-no-clear 'vector) + (-> (the-as sage-bluehut s5-0) node-list data (-> (the-as sage-bluehut s5-0) center-joint-index)) + ) + ) + (f0-1 (- (vector-vector-distance (target-pos 0) s3-0) (vector-vector-distance (target-pos 0) s4-0))) + ) + (cond + ((< f0-1 -4096.0) + (set! (-> obj im-talking) #f) + (return #f) + ) + ((< 4096.0 f0-1) + (let ((v1-24 #t)) + (set! (-> obj im-talking) v1-24) + (return v1-24) + ) + ) + (else + (return (-> obj im-talking)) + ) + ) ) - ) ) - ) (the-as symbol 0) ) ;; definition for method 43 of type assistant-bluehut (defmethod TODO-RENAME-43 assistant-bluehut ((obj assistant-bluehut)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f30-0 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f30-0 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((= (get-task-status (game-task village2-levitator)) (task-status invalid)) + #f + ) + ((< 0.5 f30-0) + (play-ambient (-> obj ambient) "ASSTLP23" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "ASSTLP24" #f (-> obj root-override trans)) ) - (cond - ((= (get-task-status (game-task village2-levitator)) (task-status invalid)) - #f + ) ) - ((< 0.5 f30-0) - (play-ambient (-> obj ambient) "ASSTLP23" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "ASSTLP24" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; failed to figure out what this is: @@ -1152,447 +541,277 @@ :virtual #t :trans (behavior () - (case (get-task-status (game-task village2-levitator)) - (((task-status need-hint) (task-status need-introduction)) - (send-event self 'play-anim) + (case (get-task-status (game-task village2-levitator)) + (((task-status need-hint) (task-status need-introduction)) + (send-event self 'play-anim) + ) ) + ((-> (method-of-type process-taskable idle) trans)) + (none) ) - ((-> (method-of-type process-taskable idle) trans)) - (none) - ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) - (set! - (-> gp-0 param 0) - (the - float - (+ (-> (the-as art-joint-anim (get-art-elem self)) data 0 length) -1) - ) - ) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (get-art-elem self)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-11 (-> self skel root-channel 0))) - (set! - (-> a0-11 param 0) - (the float (+ (-> a0-11 frame-group data 0 length) -1)) - ) - (set! (-> a0-11 param 1) 1.0) - (joint-control-channel-group-eval! - a0-11 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let* ((v1-24 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-25 (the-as number (logior #x3f800000 v1-24))) - (f0-9 (+ -1.0 (the-as float v1-25))) - ) - (cond - ((< f0-9 0.33333334) - (TODO-RENAME-43 self) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 frame-group) - (the-as art-joint-anim (-> self draw art-group data 11)) - ) - (set! - (-> a0-16 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 11)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (the-as art-joint-anim (-> self draw art-group data 11)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 param 0) - (the float (+ (-> a0-17 frame-group data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-1 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-0 300.0) - (f28-0 0.16) - (f26-0 0.17000002) - (v1-55 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) - ) - (v1-56 (the-as number (logior #x3f800000 v1-55))) - ) - (< - (- - s5-1 - (the - int - (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-56))))) - ) - ) - gp-1 - ) - ) - (suspend) - ) - ) - (let ((a0-21 (-> self skel root-channel 0))) - (set! (-> a0-21 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> a0-21 param 0) 0.0) - (set! (-> a0-21 param 1) 1.0) - (set! - (-> a0-21 frame-num) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-21 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! (-> a0-22 param 0) 0.0) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! - a0-22 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((< f0-9 0.6666667) - (sound-play-by-name - (static-sound-name "welding-loop") - (-> self sound-id) - 1024 - 0 - 0 - 1 - (the-as symbol (target-pos 0)) - ) - (let ((a0-27 (-> self skel root-channel 0))) - (set! - (-> a0-27 frame-group) - (the-as art-joint-anim (-> self draw art-group data 12)) - ) - (set! - (-> a0-27 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 12)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (the-as art-joint-anim (-> self draw art-group data 12)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! - (-> a0-28 param 0) - (the float (+ (-> a0-28 frame-group data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! - a0-28 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((v1-111 (-> self skel root-channel 0))) - (set! - (-> v1-111 frame-group) - (the-as art-joint-anim (-> self draw art-group data 13)) - ) - ) - (let* ((f30-1 2.0) - (v1-113 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-114 (the-as number (logior #x3f800000 v1-113))) + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (get-art-elem self) ) - (countdown - (gp-3 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-114)))) 4)) - (let ((a0-35 (-> self skel root-channel 0))) - (set! (-> a0-35 frame-group) (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - ) - (set! - (-> a0-35 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-35 param 1) 1.0) - (set! (-> a0-35 frame-num) 0.0) - (joint-control-channel-group! - a0-35 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (spawn - (-> self part) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data 30) - ) - ) - (suspend) - (let ((a0-38 (-> self skel root-channel 0))) - (set! - (-> a0-38 param 0) - (the float (+ (-> a0-38 frame-group data 0 length) -1)) - ) - (set! (-> a0-38 param 1) 1.0) - (joint-control-channel-group-eval! - a0-38 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((a0-40 (-> self skel root-channel 0))) - (set! (-> a0-40 frame-group) (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - ) - (set! (-> a0-40 param 0) 0.0) - (set! (-> a0-40 param 1) 1.0) - (set! - (-> a0-40 frame-num) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-40 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (spawn - (-> self part) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data 30) - ) - ) - (suspend) - (let ((a0-43 (-> self skel root-channel 0))) - (set! (-> a0-43 param 0) 0.0) - (set! (-> a0-43 param 1) 1.0) - (joint-control-channel-group-eval! - a0-43 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) + (ja-channel-push! 1 15) ) - (let ((a0-45 (-> self skel root-channel 0))) - (set! (-> a0-45 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-45 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-45 param 1) 1.0) - (set! (-> a0-45 frame-num) 0.0) - (joint-control-channel-group! - a0-45 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) + (while #t + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + (set! (-> gp-0 param 0) (the float (+ (-> (the-as art-joint-anim (get-art-elem self)) data 0 length) -1))) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (get-art-elem self)) num-func-seek!) ) - (until (ja-done? 0) - (spawn - (-> self part) - (vector<-cspace! - (new 'stack-no-clear 'vector) - (-> self node-list data 30) - ) - ) + (until (ja-done? 0) (suspend) - (let ((a0-48 (-> self skel root-channel 0))) - (set! - (-> a0-48 param 0) - (the float (+ (-> a0-48 frame-group data 0 length) -1)) + (let ((a0-11 (-> self skel root-channel 0))) + (set! (-> a0-11 param 0) (the float (+ (-> a0-11 frame-group data 0 length) -1))) + (set! (-> a0-11 param 1) 1.0) + (joint-control-channel-group-eval! a0-11 (the-as art-joint-anim #f) num-func-seek!) ) - (set! (-> a0-48 param 1) 1.0) - (joint-control-channel-group-eval! - a0-48 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) ) - (sound-stop (-> self sound-id)) - (let ((a0-51 (-> self skel root-channel 0))) - (set! - (-> a0-51 frame-group) - (the-as art-joint-anim (-> self draw art-group data 14)) - ) - (set! - (-> a0-51 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 14)) - data - 0 - length - ) - -1 + (let* ((v1-24 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-25 (the-as number (logior #x3f800000 v1-24))) + (f0-9 (+ -1.0 (the-as float v1-25))) + ) + (cond + ((< f0-9 0.33333334) + (TODO-RENAME-43 self) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 11))) + (set! (-> a0-16 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 11)) data 0 length) -1)) + ) + (set! (-> a0-16 param 1) 1.0) + (set! (-> a0-16 frame-num) 0.0) + (joint-control-channel-group! a0-16 (the-as art-joint-anim (-> self draw art-group data 11)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) + (set! (-> a0-17 param 1) 1.0) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-1 (-> *display* base-frame-counter))) + (while (let* ((s5-1 (-> *display* base-frame-counter)) + (f30-0 300.0) + (f28-0 0.16) + (f26-0 0.17000002) + (v1-55 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-56 (the-as number (logior #x3f800000 v1-55))) + ) + (< (- s5-1 (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-56))))))) gp-1) + ) + (suspend) + ) + ) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-21 param 0) 0.0) + (set! (-> a0-21 param 1) 1.0) + (set! (-> a0-21 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (joint-control-channel-group! + a0-21 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-22 (-> self skel root-channel 0))) + (set! (-> a0-22 param 0) 0.0) + (set! (-> a0-22 param 1) 1.0) + (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ((< f0-9 0.6666667) + (sound-play-by-name + (static-sound-name "welding-loop") + (-> self sound-id) + 1024 + 0 + 0 + 1 + (the-as symbol (target-pos 0)) + ) + (let ((a0-27 (-> self skel root-channel 0))) + (set! (-> a0-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 12))) + (set! (-> a0-27 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 12)) data 0 length) -1)) + ) + (set! (-> a0-27 param 1) 1.0) + (set! (-> a0-27 frame-num) 0.0) + (joint-control-channel-group! a0-27 (the-as art-joint-anim (-> self draw art-group data 12)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) + (set! (-> a0-28 param 1) 1.0) + (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((v1-111 (-> self skel root-channel 0))) + (set! (-> v1-111 frame-group) (the-as art-joint-anim (-> self draw art-group data 13))) + ) + (let* ((f30-1 2.0) + (v1-113 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-114 (the-as number (logior #x3f800000 v1-113))) + ) + (countdown (gp-3 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-114)))) 4)) + (let ((a0-35 (-> self skel root-channel 0))) + (set! (-> a0-35 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-35 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-35 param 1) 1.0) + (set! (-> a0-35 frame-num) 0.0) + (joint-control-channel-group! + a0-35 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (suspend) + (let ((a0-38 (-> self skel root-channel 0))) + (set! (-> a0-38 param 0) (the float (+ (-> a0-38 frame-group data 0 length) -1))) + (set! (-> a0-38 param 1) 1.0) + (joint-control-channel-group-eval! a0-38 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((a0-40 (-> self skel root-channel 0))) + (set! (-> a0-40 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-40 param 0) 0.0) + (set! (-> a0-40 param 1) 1.0) + (set! (-> a0-40 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (joint-control-channel-group! + a0-40 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (suspend) + (let ((a0-43 (-> self skel root-channel 0))) + (set! (-> a0-43 param 0) 0.0) + (set! (-> a0-43 param 1) 1.0) + (joint-control-channel-group-eval! a0-43 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (let ((a0-45 (-> self skel root-channel 0))) + (set! (-> a0-45 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-45 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-45 param 1) 1.0) + (set! (-> a0-45 frame-num) 0.0) + (joint-control-channel-group! + a0-45 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 30))) + (suspend) + (let ((a0-48 (-> self skel root-channel 0))) + (set! (-> a0-48 param 0) (the float (+ (-> a0-48 frame-group data 0 length) -1))) + (set! (-> a0-48 param 1) 1.0) + (joint-control-channel-group-eval! a0-48 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (sound-stop (-> self sound-id)) + (let ((a0-51 (-> self skel root-channel 0))) + (set! (-> a0-51 frame-group) (the-as art-joint-anim (-> self draw art-group data 14))) + (set! (-> a0-51 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 14)) data 0 length) -1)) + ) + (set! (-> a0-51 param 1) 1.0) + (set! (-> a0-51 frame-num) 0.0) + (joint-control-channel-group! a0-51 (the-as art-joint-anim (-> self draw art-group data 14)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-52 (-> self skel root-channel 0))) + (set! (-> a0-52 param 0) (the float (+ (-> a0-52 frame-group data 0 length) -1))) + (set! (-> a0-52 param 1) 1.0) + (joint-control-channel-group-eval! a0-52 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) ) - ) - (set! (-> a0-51 param 1) 1.0) - (set! (-> a0-51 frame-num) 0.0) - (joint-control-channel-group! - a0-51 - (the-as art-joint-anim (-> self draw art-group data 14)) - num-func-seek! - ) ) - (until (ja-done? 0) - (suspend) - (let ((a0-52 (-> self skel root-channel 0))) - (set! - (-> a0-52 param 0) - (the float (+ (-> a0-52 frame-group data 0 length) -1)) - ) - (set! (-> a0-52 param 1) 1.0) - (joint-control-channel-group-eval! - a0-52 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -1600,206 +819,156 @@ :virtual #t :exit (behavior () - (let ((a0-1 (handle->process (-> self jaws)))) - (if a0-1 - (deactivate a0-1) - ) + (let ((a0-1 (handle->process (-> self jaws)))) + (if a0-1 + (deactivate a0-1) + ) + ) + (send-event (-> self sage extra process) 'end-mode) + (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'end-mode) + ((-> (method-of-type process-taskable play-anim) exit)) + (close-specific-task! (game-task village2-levitator) (task-status need-reminder-a)) + (none) ) - (send-event (-> self sage extra process) 'end-mode) - (send-event (-> (entity-by-type flutflut-bluehut) extra process) 'end-mode) - ((-> (method-of-type process-taskable play-anim) exit)) - (close-specific-task! - (game-task village2-levitator) - (task-status need-reminder-a) - ) - (none) - ) :trans - (behavior () - '() - (none) - ) + (behavior () '() (none)) ) ;; definition for method 39 of type assistant-bluehut (defmethod should-display? assistant-bluehut ((obj assistant-bluehut)) (cond - ((not - (closed? - (-> obj tasks) - (game-task village2-levitator) - (task-status unknown) - ) + ((not (closed? (-> obj tasks) (game-task village2-levitator) (task-status unknown))) + (dummy-33 obj) + #f ) - (dummy-33 obj) - #f - ) - ((or - (= - (get-task-status (game-task village2-levitator)) - (task-status need-reward-speech) - ) - (sages-kidnapped?) + ((or (= (get-task-status (game-task village2-levitator)) (task-status need-reward-speech)) (sages-kidnapped?)) + #f ) - #f + (else + #t + ) ) - (else - #t - ) - ) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 288) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-assistant-bluehut-torch" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1322 :fade-after (meters 30.0) :falloff-to (meters 30.0)) - (sp-item 1323 :fade-after (meters 60.0) :falloff-to (meters 80.0)) - ) - :bounds (new 'static 'sphere :w 61440.0) - ) - ) +(set! (-> *part-group-id-table* 288) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-assistant-bluehut-torch" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1322 :fade-after (meters 30.0) :falloff-to (meters 30.0)) + (sp-item 1323 :fade-after (meters 60.0) :falloff-to (meters 80.0)) + ) + :bounds (new 'static 'sphere :w 61440.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1322) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 100.0 28.0 1.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 80.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-fade-a -6.4) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1322) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 100.0 28.0 1.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 80.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-fade-a -6.4) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1323) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters -0.00016666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.2) - (sp-flt spt-fade-b -0.2) - (sp-flt spt-accel-y -8.192) - (sp-flt spt-friction 0.93) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2) - (sp-flt spt-userdata 140288.0) - (sp-func spt-func 'check-drop-level-assistant-bluehut) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 45.0) (degrees 180.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1323) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters -0.00016666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.2) + (sp-flt spt-fade-b -0.2) + (sp-flt spt-accel-y -8.192) + (sp-flt spt-friction 0.93) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2) + (sp-flt spt-userdata 140288.0) + (sp-func spt-func 'check-drop-level-assistant-bluehut) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 45.0) (degrees 180.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1324) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 3.0 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-flt spt-g 96.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.011666667) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a -0.85333335) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 50.000004) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1324) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 3.0 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-flt spt-g 96.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.011666667) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a -0.85333335) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 50.000004) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition for function check-drop-level-assistant-bluehut -(defun - check-drop-level-assistant-bluehut - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-assistant-bluehut ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name - (static-sound-name "water-drop") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-2 (the-as number (logior #x3f800000 v1-1))) + ) + (if (< (+ -1.0 (the-as float v1-2)) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) + ) + (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 1324) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + 1.0 + ) ) - ) - (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 1324) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - 1.0 - ) ) - ) (none) ) ;; definition for method 11 of type assistant-bluehut -(defmethod - init-from-entity! - assistant-bluehut - ((obj assistant-bluehut) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *assistant-village2-sg* - 3 - 31 - (new 'static 'vector :w 4096.0) - 5 - ) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 288) obj) - ) +(defmethod init-from-entity! assistant-bluehut ((obj assistant-bluehut) (arg0 entity-actor)) + (dummy-40 obj arg0 *assistant-village2-sg* 3 31 (new 'static 'vector :w 4096.0) 5) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 288) obj)) (set! (-> obj tasks) (get-task-control (game-task village2-levitator))) (set! (-> obj jaws) (the-as handle #f)) (set! (-> obj sage) (entity-actor-lookup arg0 'alt-actor 0)) @@ -1811,629 +980,585 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 658) - (new 'static 'sparticle-launch-group - :length 27 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-levitator-blue-beam" - :launcher - (new 'static 'inline-array sparticle-group-item 27 - (sp-item 2673 :fade-after (meters 120.0) :falloff-to (meters 140.0) :binding 2670) - (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) - (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) - (sp-item 2671 :flags (bit1 start-dead)) - (sp-item 2672 :flags (bit1 start-dead)) - (sp-item 2671 :flags (bit1 start-dead)) - (sp-item 2672 :flags (bit1 start-dead)) - (sp-item 2671 :flags (bit1 start-dead)) - (sp-item 2672 :flags (bit1 start-dead)) - (sp-item 2671 :flags (bit1 start-dead)) - (sp-item 2672 :flags (bit1 start-dead)) - (sp-item 2671 :flags (bit1 start-dead)) - (sp-item 2672 :flags (bit1 start-dead)) - (sp-item 2671 :flags (bit1 start-dead)) - (sp-item 2674 :falloff-to (meters 400.0)) - (sp-item 2675) - (sp-item 2676 :falloff-to (meters 300.0)) - (sp-item 2693 :falloff-to (meters 400.0)) - (sp-item 2694 :falloff-to (meters 400.0)) - ) - :bounds - (new 'static 'sphere :x -81920.0 :y 32768.0 :w 327680.0) - ) - ) +(set! (-> *part-group-id-table* 658) + (new 'static 'sparticle-launch-group + :length 27 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-levitator-blue-beam" + :launcher + (new 'static 'inline-array sparticle-group-item 27 + (sp-item 2673 :fade-after (meters 120.0) :falloff-to (meters 140.0) :binding 2670) + (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2671) + (sp-item 2670 :flags (bit1 start-dead launch-asap) :binding 2672) + (sp-item 2671 :flags (bit1 start-dead)) + (sp-item 2672 :flags (bit1 start-dead)) + (sp-item 2671 :flags (bit1 start-dead)) + (sp-item 2672 :flags (bit1 start-dead)) + (sp-item 2671 :flags (bit1 start-dead)) + (sp-item 2672 :flags (bit1 start-dead)) + (sp-item 2671 :flags (bit1 start-dead)) + (sp-item 2672 :flags (bit1 start-dead)) + (sp-item 2671 :flags (bit1 start-dead)) + (sp-item 2672 :flags (bit1 start-dead)) + (sp-item 2671 :flags (bit1 start-dead)) + (sp-item 2674 :falloff-to (meters 400.0)) + (sp-item 2675) + (sp-item 2676 :falloff-to (meters 300.0)) + (sp-item 2693 :falloff-to (meters 400.0)) + (sp-item 2694 :falloff-to (meters 400.0)) + ) + :bounds + (new 'static 'sphere :x -81920.0 :y 32768.0 :w 327680.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2694) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) - (sp-rnd-flt spt-num 0.2 2.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -1440.0) (degrees 2880.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.3) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2694) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + (sp-rnd-flt spt-num 0.2 2.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -1440.0) (degrees 2880.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.3) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2693) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 2.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -1440.0) (degrees 2880.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.3) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2693) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 2.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -1440.0) (degrees 2880.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.3) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2673) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.025 0.025 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.053333335)) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2673) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.025 0.025 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.053333335)) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2670) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 4096.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2670) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 4096.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2671) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2671) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2672) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2672) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2674) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) - (sp-rnd-flt spt-r 16.0 48.0 1.0) - (sp-rnd-flt spt-g 16.0 48.0 1.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-vel-y (meters 0.32)) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters -1.5) (meters 1.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2674) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.8) 1.0) + (sp-rnd-flt spt-r 16.0 48.0 1.0) + (sp-rnd-flt spt-g 16.0 48.0 1.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-vel-y (meters 0.32)) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters -1.5) (meters 1.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2676) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-flt spt-g 0.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-vel-y (meters 0.10666667)) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-conerot-x (degrees 102.0)) - (sp-flt spt-conerot-y (degrees -90.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2676) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-flt spt-g 0.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-vel-y (meters 0.10666667)) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-conerot-x (degrees 102.0)) + (sp-flt spt-conerot-y (degrees -90.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2675) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2675) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 659) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-levitator-blue-beam-impact" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2695) - (sp-item 2696 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 2677) - ) - :bounds (new 'static 'sphere :w 139264.0) - ) - ) +(set! (-> *part-group-id-table* 659) (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-levitator-blue-beam-impact" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 2695) + (sp-item 2696 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 2677) + ) + :bounds (new 'static 'sphere :w 139264.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2696) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 2.0 6.0 1.0) - (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.10666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.005)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.26666668) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-b 0.0) - (sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0) - (sp-flt spt-friction 0.95) - (sp-int-plain-rnd spt-timer 60 59 1) - (sp-cpuinfo-flags bit0 bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 50.000004) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 30.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters -0.5) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2696) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 2.0 6.0 1.0) + (sp-rnd-flt spt-y (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 1.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.10666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.005)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.26666668) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-b 0.0) + (sp-rnd-flt spt-accel-y -1.3653333 -1.3653333 1.0) + (sp-flt spt-friction 0.95) + (sp-int-plain-rnd spt-timer 60 59 1) + (sp-cpuinfo-flags bit0 bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 50.000004) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 30.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters -0.5) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2695) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 180.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2695) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 180.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2677) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 180.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 16.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -5.12) - (sp-int spt-timer 10) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2677) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 180.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 16.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -5.12) + (sp-int spt-timer 10) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 1440.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 660) - (new 'static 'sparticle-launch-group - :length 38 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-levitator-on-big" - :launcher - (new 'static 'inline-array sparticle-group-item 38 - (sp-item 2751 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 2750) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) - (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2797 :flags (bit1 start-dead)) - (sp-item 2798 :flags (bit1 start-dead)) - (sp-item 2678) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 660) + (new 'static 'sparticle-launch-group + :length 38 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-levitator-on-big" + :launcher + (new 'static 'inline-array sparticle-group-item 38 + (sp-item 2751 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 2750) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2797) + (sp-item 2750 :flags (bit1 start-dead launch-asap) :binding 2798) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2797 :flags (bit1 start-dead)) + (sp-item 2798 :flags (bit1 start-dead)) + (sp-item 2678) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2678) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-z -4.096 8.192 1.0) - (sp-flt spt-scale-x (meters 9.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 40) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2678) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-z -4.096 8.192 1.0) + (sp-flt spt-scale-x (meters 9.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 40) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2751) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2751) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2750) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 12288.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2750) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 12288.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2797) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 0.2 0.4 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2797) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 0.2 0.4 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2798) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) - (sp-rnd-flt spt-num 0.2 0.4 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.4) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2798) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + (sp-rnd-flt spt-num 0.2 0.4 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.2) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.4) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 661) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-levitator-on-small" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2679)) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 661) (new 'static 'sparticle-launch-group + :length 1 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-levitator-on-small" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2679)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2679) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-z -4.096 8.192 1.0) - (sp-flt spt-scale-x (meters 6.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 40) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2679) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-z -4.096 8.192 1.0) + (sp-flt spt-scale-x (meters 6.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 40) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; definition for function assistant-levitator-blue-glow ;; INFO: Return type mismatch object vs none. (defbehavior assistant-levitator-blue-glow assistant-levitator () (let ((gp-0 (new 'stack-no-clear 'vector))) - (set-vector! gp-0 -17408.0 -2048.0 2048.0 1.0) - (vector+! gp-0 gp-0 (-> self entity extra trans)) - (spawn (-> self particle 2) gp-0) - (set-vector! gp-0 -38912.0 6144.0 4096.0 1.0) - (vector+! gp-0 gp-0 (-> self entity extra trans)) - (spawn (-> self particle 3) gp-0) - ) + (set-vector! gp-0 -17408.0 -2048.0 2048.0 1.0) + (vector+! gp-0 gp-0 (-> self entity extra trans)) + (spawn (-> self particle 2) gp-0) + (set-vector! gp-0 -38912.0 6144.0 4096.0 1.0) + (vector+! gp-0 gp-0 (-> self entity extra trans)) + (spawn (-> self particle 3) gp-0) + ) (none) ) @@ -2444,141 +1569,113 @@ (let ((s5-0 (new 'stack-no-clear 'vector)) (gp-0 (new 'stack-no-clear 'vector)) ) - (let ((s4-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self boulder extra trans quad)) - (let ((v1-3 (-> self boulder extra process))) - (if v1-3 - (vector<-cspace! gp-0 (-> (the-as fireboulder v1-3) node-list data 4)) - ) - ) - (set-vector! s5-0 -49152.0 10240.0 5529.6 1.0) - (vector+! s5-0 s5-0 (-> self entity extra trans)) - (vector-! s4-0 gp-0 s5-0) - (let ((t2-0 (new 'stack-no-clear 'collide-mesh-cache-tri))) - 0.0 - (when - (>= - (dummy-10 *collide-cache* s5-0 s4-0 6144.0 16 (the-as process #f) t2-0 1) - 0.0 - ) - (let ((a1-7 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-7 from) self) - (set! (-> a1-7 num-params) 2) - (set! (-> a1-7 message) 'shove) - (set! (-> a1-7 param 0) (the-as uint #f)) - (let ((v1-13 (new 'static 'attack-info :mask #xc0))) - (set! (-> v1-13 shove-up) 8192.0) - (set! (-> v1-13 shove-back) 12288.0) - (set! (-> a1-7 param 1) (the-as uint v1-13)) + (let ((s4-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self boulder extra trans quad)) + (let ((v1-3 (-> self boulder extra process))) + (if v1-3 + (vector<-cspace! gp-0 (-> (the-as fireboulder v1-3) node-list data 4)) + ) ) - (send-event-function *target* a1-7) - ) - ) - ) - (vector-normalize! s4-0 (+ -20480.0 (vector-length s4-0))) - (vector+! gp-0 s5-0 s4-0) - (let ((f30-1 (vector-y-angle s4-0)) - (f0-11 (- 16384.0 (vector-x-angle s4-0))) + (set-vector! s5-0 -49152.0 10240.0 5529.6 1.0) + (vector+! s5-0 s5-0 (-> self entity extra trans)) + (vector-! s4-0 gp-0 s5-0) + (let ((t2-0 (new 'stack-no-clear 'collide-mesh-cache-tri))) + 0.0 + (when (>= (dummy-10 *collide-cache* s5-0 s4-0 6144.0 16 (the-as process #f) t2-0 1) 0.0) + (let ((a1-7 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-7 from) self) + (set! (-> a1-7 num-params) 2) + (set! (-> a1-7 message) 'shove) + (set! (-> a1-7 param 0) (the-as uint #f)) + (let ((v1-13 (new 'static 'attack-info :mask #xc0))) + (set! (-> v1-13 shove-up) 8192.0) + (set! (-> v1-13 shove-back) 12288.0) + (set! (-> a1-7 param 1) (the-as uint v1-13)) + ) + (send-event-function *target* a1-7) + ) ) - (set! (-> *part-id-table* 2674 init-specs 14 initial-valuef) f30-1) - (set! (-> *part-id-table* 2674 init-specs 13 initial-valuef) f0-11) - (set! (-> *part-id-table* 2676 init-specs 14 initial-valuef) f30-1) - (set! (-> *part-id-table* 2676 init-specs 13 initial-valuef) f0-11) - (set! (-> *part-id-table* 2673 init-specs 14 initial-valuef) f30-1) - (set! (-> *part-id-table* 2673 init-specs 13 initial-valuef) f0-11) - ) + ) + (vector-normalize! s4-0 (+ -20480.0 (vector-length s4-0))) + (vector+! gp-0 s5-0 s4-0) + (let ((f30-1 (vector-y-angle s4-0)) + (f0-11 (- 16384.0 (vector-x-angle s4-0))) + ) + (set! (-> *part-id-table* 2674 init-specs 14 initial-valuef) f30-1) + (set! (-> *part-id-table* 2674 init-specs 13 initial-valuef) f0-11) + (set! (-> *part-id-table* 2676 init-specs 14 initial-valuef) f30-1) + (set! (-> *part-id-table* 2676 init-specs 13 initial-valuef) f0-11) + (set! (-> *part-id-table* 2673 init-specs 14 initial-valuef) f30-1) + (set! (-> *part-id-table* 2673 init-specs 13 initial-valuef) f0-11) + ) + ) + (spawn (-> self particle 0) s5-0) + (spawn (-> self particle 1) gp-0) ) - (spawn (-> self particle 0) s5-0) - (spawn (-> self particle 1) gp-0) - ) (none) ) ;; definition for method 32 of type assistant-levitator -(defmethod - play-anim! - assistant-levitator - ((obj assistant-levitator) (arg0 symbol)) +(defmethod play-anim! assistant-levitator ((obj assistant-levitator) (arg0 symbol)) (with-pp - (case (current-status (-> obj tasks)) - (((task-status need-reward-speech)) - (when arg0 - (close-current! (-> obj tasks)) - (let ((a1-1 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-1 from) pp) - (set! (-> a1-1 num-params) 1) - (set! (-> a1-1 message) 'clone) - (set! (-> a1-1 param 0) (the-as uint (process->handle obj))) - (let ((t9-2 send-event-function) - (v1-10 (-> obj boulder)) - ) - (t9-2 (if v1-10 - (-> v1-10 extra process) - ) - a1-1 - ) - ) - ) - ) - (new 'static 'spool-anim - :name "assistant-village2-resolution" - :index 16 - :parts 7 - :command-list - '( - ((the binteger 196) - joint - "cameraB" + (case (current-status (-> obj tasks)) + (((task-status need-reward-speech)) + (when arg0 + (close-current! (-> obj tasks)) + (let ((a1-1 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-1 from) pp) + (set! (-> a1-1 num-params) 1) + (set! (-> a1-1 message) 'clone) + (set! (-> a1-1 param 0) (the-as uint (process->handle obj))) + (let ((t9-2 send-event-function) + (v1-10 (-> obj boulder)) + ) + (t9-2 + (if v1-10 + (-> v1-10 extra process) + ) + a1-1 + ) + ) + ) + ) + (new 'static 'spool-anim + :name "assistant-village2-resolution" + :index 16 + :parts 7 + :command-list + '(((the binteger 196) joint "cameraB") + ((the binteger 241) joint "camera") + ((the binteger 286) joint "cameraB") + ((the binteger 436) joint "camera") + ((the binteger 526) joint "cameraB") + ((the binteger 581) joint "camera") + ((the binteger 639) joint "cameraB") + ((the binteger 715) joint "camera") ) - ((the binteger 241) - joint - "camera" - ) - ((the binteger 286) - joint - "cameraB" - ) - ((the binteger 436) - joint - "camera" - ) - ((the binteger 526) - joint - "cameraB" - ) - ((the binteger 581) - joint - "camera" - ) - ((the binteger 639) - joint - "cameraB" - ) - ((the binteger 715) joint "camera") ) ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 5) + ) ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 5) - ) ) - ) ) ;; definition for method 31 of type assistant-levitator (defmethod get-art-elem assistant-levitator ((obj assistant-levitator)) (if (= (get-task-status (game-task village2-levitator)) (task-status invalid)) - (-> obj draw art-group data 9) - (-> obj draw art-group data 5) - ) + (-> obj draw art-group data 9) + (-> obj draw art-group data 5) + ) ) ;; failed to figure out what this is: @@ -2586,32 +1683,33 @@ :virtual #t :exit (behavior () - (let ((a1-0 (new 'stack-no-clear 'event-message-block))) - (set! (-> a1-0 from) self) - (set! (-> a1-0 num-params) 0) - (set! (-> a1-0 message) 'stop-cloning) - (let ((t9-0 send-event-function) - (v1-1 (-> self boulder)) - ) - (t9-0 (if v1-1 - (-> v1-1 extra process) + (let ((a1-0 (new 'stack-no-clear 'event-message-block))) + (set! (-> a1-0 from) self) + (set! (-> a1-0 num-params) 0) + (set! (-> a1-0 message) 'stop-cloning) + (let ((t9-0 send-event-function) + (v1-1 (-> self boulder)) ) - a1-0 + (t9-0 + (if v1-1 + (-> v1-1 extra process) + ) + a1-0 + ) + ) ) - ) + ((-> (method-of-type process-taskable play-anim) exit)) + (none) ) - ((-> (method-of-type process-taskable play-anim) exit)) - (none) - ) :trans (behavior () - (assistant-levitator-blue-glow) - (if (< 200.0 (ja-aframe-num 0)) - (assistant-levitator-blue-beam) + (assistant-levitator-blue-glow) + (if (< 200.0 (ja-aframe-num 0)) + (assistant-levitator-blue-beam) + ) + ((-> (method-of-type process-taskable play-anim) trans)) + (none) ) - ((-> (method-of-type process-taskable play-anim) trans)) - (none) - ) ) ;; failed to figure out what this is: @@ -2619,472 +1717,296 @@ :virtual #t :trans (behavior () - ((-> (method-of-type process-taskable hidden) trans)) - (when (and (cond - ((and - *target* - (>= - 61440.0 - (vector-vector-distance - (-> self root-override trans) - (-> *target* control trans) - ) - ) - ) - #t - ) - (else + ((-> (method-of-type process-taskable hidden) trans)) + (when (and + (cond + ((and *target* (>= 61440.0 (vector-vector-distance (-> self root-override trans) (-> *target* control trans)))) + #t + ) + (else (set! (-> self state-time) (-> *display* base-frame-counter)) #f ) - ) - (and - (closed? - (-> self tasks) - (game-task village2-levitator) - (task-status need-introduction) + ) + (and + (closed? (-> self tasks) (game-task village2-levitator) (task-status need-introduction)) + (not (closed? (-> self tasks) (game-task village2-levitator) (task-status need-reward-speech))) + (not (movie?)) + (not (level-hint-displayed?)) + (not (and *cheat-mode* (cpad-hold? 0 l3))) + (< (- (-> *display* base-frame-counter) (-> self state-time)) 3000) + ) ) - (not - (closed? - (-> self tasks) - (game-task village2-levitator) - (task-status need-reward-speech) - ) + (hide-hud) + (kill-current-level-hint '() '(sidekick voicebox) 'exit) + (when (and + (seen-text? *game-info* (game-text-id village2-not-enough-cells-levitator)) + (hud-hidden?) + (can-grab-display? self) + (not (-> *setting-control* current hint)) + ) + (let ((gp-0 + (new 'stack 'font-context *font-default-matrix* 32 160 0.0 (font-color default) (font-flags shadow kerning)) + ) + ) + (let ((v1-28 gp-0)) + (set! (-> v1-28 width) (the float 448)) + ) + (let ((v1-29 gp-0)) + (set! (-> v1-29 height) (the float 80)) + ) + (let ((v1-30 gp-0)) + (set! (-> v1-30 scale) 0.8) + ) + (set! (-> gp-0 flags) (font-flags shadow kerning middle large)) + (print-game-text + (lookup-text! *common-text* (game-text-id villlage2-levitator-cell-req-text) #f) + gp-0 + #f + 128 + 22 ) - (not (movie?)) - (not (level-hint-displayed?)) - (not (and *cheat-mode* (cpad-hold? 0 l3))) - (< (- (-> *display* base-frame-counter) (-> self state-time)) 3000) - ) ) - (hide-hud) - (kill-current-level-hint '() '(sidekick voicebox) 'exit) - (when - (and - (seen-text? - *game-info* - (game-text-id village2-not-enough-cells-levitator) - ) - (hud-hidden?) - (can-grab-display? self) - (not (-> *setting-control* current hint)) - ) - (let - ((gp-0 - (new - 'stack - 'font-context - *font-default-matrix* - 32 - 160 - 0.0 - (font-color default) - (font-flags shadow kerning) - ) ) - ) - (let ((v1-28 gp-0)) - (set! (-> v1-28 width) (the float 448)) - ) - (let ((v1-29 gp-0)) - (set! (-> v1-29 height) (the float 80)) - ) - (let ((v1-30 gp-0)) - (set! (-> v1-30 scale) 0.8) - ) - (set! (-> gp-0 flags) (font-flags shadow kerning middle large)) - (print-game-text - (lookup-text! - *common-text* - (game-text-id villlage2-levitator-cell-req-text) - #f + (level-hint-spawn + (game-text-id village2-not-enough-cells-levitator) + "asstvb71" + (the-as entity #f) + *entity-pool* + (game-task none) ) - gp-0 - #f - 128 - 22 - ) ) - ) - (level-hint-spawn - (game-text-id village2-not-enough-cells-levitator) - "asstvb71" - (the-as entity #f) - *entity-pool* - (game-task none) - ) + (none) ) - (none) - ) ) ;; definition for method 47 of type assistant-levitator -(defmethod - target-above-threshold? - assistant-levitator - ((obj assistant-levitator)) - (= - (get-task-status (game-task village2-levitator)) - (task-status need-reward-speech) - ) +(defmethod target-above-threshold? assistant-levitator ((obj assistant-levitator)) + (= (get-task-status (game-task village2-levitator)) (task-status need-reward-speech)) ) ;; failed to figure out what this is: (defstate idle (assistant-levitator) :virtual #t :exit - (behavior () - (stop! (-> self sound)) - ((-> (method-of-type process-taskable idle) exit)) - (none) - ) + (behavior () (stop! (-> self sound)) ((-> (method-of-type process-taskable idle) exit)) (none)) :trans (behavior () - (assistant-levitator-blue-glow) - (update! (-> self sound)) - ((-> (method-of-type process-taskable idle) trans)) - (none) - ) + (assistant-levitator-blue-glow) + (update! (-> self sound)) + ((-> (method-of-type process-taskable idle) trans)) + (none) + ) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (get-art-elem self) + ) + (ja-channel-push! 1 15) + ) + (while #t + (cond + ((= (get-task-status (game-task village2-levitator)) (task-status invalid)) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + (set! (-> a0-8 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 9)) data 0 length) -1)) + ) + (set! (-> a0-8 param 1) 1.0) + (set! (-> a0-8 frame-num) 0.0) + (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 9)) num-func-seek!) + ) + (until (ja-done? 0) + (assistant-levitator-blue-beam) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (let ((v1-29 (-> self skel root-channel 0))) + (set! (-> v1-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (cond - ((= (get-task-status (game-task village2-levitator)) (task-status invalid)) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - (set! - (-> a0-8 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 9)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 9)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (assistant-levitator-blue-beam) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (let ((v1-29 (-> self skel root-channel 0))) - (set! - (-> v1-29 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - ) - (let* ((f30-0 2.0) - (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-32 (the-as number (logior #x3f800000 v1-31))) - ) - (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-32)))) 3)) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-16 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 + (let* ((f30-0 2.0) + (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-32 (the-as number (logior #x3f800000 v1-31))) + ) + (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-32)))) 3)) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) ) - ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 param 0) - (the float (+ (-> a0-17 frame-group data 0 length) -1)) - ) - (set! (-> a0-17 param 1) 1.0) - (joint-control-channel-group-eval! - a0-17 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-19 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-19 param 1) 1.0) - (set! (-> a0-19 frame-num) 0.0) - (joint-control-channel-group! - a0-19 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 param 0) - (the float (+ (-> a0-20 frame-group data 0 length) -1)) - ) - (set! (-> a0-20 param 1) 1.0) - (joint-control-channel-group-eval! - a0-20 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((v1-89 (-> self skel root-channel 0))) - (set! - (-> v1-89 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - ) - (let* ((f30-1 2.0) - (v1-91 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-92 (the-as number (logior #x3f800000 v1-91))) - ) - (countdown (gp-1 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-92)))) 3)) - (let ((a0-27 (-> self skel root-channel 0))) - (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-27 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 + (set! (-> a0-16 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) ) - ) + (set! (-> a0-16 param 1) 1.0) + (set! (-> a0-16 frame-num) 0.0) + (joint-control-channel-group! + a0-16 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 param 0) (the float (+ (-> a0-17 frame-group data 0 length) -1))) + (set! (-> a0-17 param 1) 1.0) + (joint-control-channel-group-eval! a0-17 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-19 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-19 param 1) 1.0) + (set! (-> a0-19 frame-num) 0.0) + (joint-control-channel-group! a0-19 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 param 0) (the float (+ (-> a0-20 frame-group data 0 length) -1))) + (set! (-> a0-20 param 1) 1.0) + (joint-control-channel-group-eval! a0-20 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((v1-89 (-> self skel root-channel 0))) + (set! (-> v1-89 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + ) + (let* ((f30-1 2.0) + (v1-91 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-92 (the-as number (logior #x3f800000 v1-91))) + ) + (countdown (gp-1 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-92)))) 3)) + (let ((a0-27 (-> self skel root-channel 0))) + (set! (-> a0-27 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-27 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-27 param 1) 1.0) + (set! (-> a0-27 frame-num) 0.0) + (joint-control-channel-group! + a0-27 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) + (set! (-> a0-28 param 1) 1.0) + (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + (set! (-> a0-30 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 8)) data 0 length) -1)) + ) + (set! (-> a0-30 param 1) 1.0) + (set! (-> a0-30 frame-num) 0.0) + (joint-control-channel-group! a0-30 (the-as art-joint-anim (-> self draw art-group data 8)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-31 (-> self skel root-channel 0))) + (set! (-> a0-31 param 0) (the float (+ (-> a0-31 frame-group data 0 length) -1))) + (set! (-> a0-31 param 1) 1.0) + (joint-control-channel-group-eval! a0-31 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! - (-> a0-28 param 0) - (the float (+ (-> a0-28 frame-group data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! - a0-28 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ) - (let ((a0-30 (-> self skel root-channel 0))) - (set! - (-> a0-30 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - (set! - (-> a0-30 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 8)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-30 param 1) 1.0) - (set! (-> a0-30 frame-num) 0.0) - (joint-control-channel-group! - a0-30 - (the-as art-joint-anim (-> self draw art-group data 8)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-31 (-> self skel root-channel 0))) - (set! - (-> a0-31 param 0) - (the float (+ (-> a0-31 frame-group data 0 length) -1)) - ) - (set! (-> a0-31 param 1) 1.0) - (joint-control-channel-group-eval! - a0-31 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 39 of type assistant-levitator (defmethod should-display? assistant-levitator ((obj assistant-levitator)) (or - (= - (get-task-status (game-task village2-levitator)) - (task-status need-reward-speech) + (= (get-task-status (game-task village2-levitator)) (task-status need-reward-speech)) + (zero? (get-task-status (game-task village2-levitator))) ) - (zero? (get-task-status (game-task village2-levitator))) - ) ) ;; failed to figure out what this is: (defstate just-particles (assistant-levitator) :code (behavior () - (ja-channel-set! 0) - (while #t - (assistant-levitator-blue-glow) - (assistant-levitator-blue-beam) - (update! (-> self sound)) - (suspend) + (ja-channel-set! 0) + (while #t + (assistant-levitator-blue-glow) + (assistant-levitator-blue-beam) + (update! (-> self sound)) + (suspend) + ) + (none) ) - (none) - ) ) ;; definition for method 11 of type assistant-levitator -(defmethod - init-from-entity! - assistant-levitator - ((obj assistant-levitator) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *assistant-village2-sg* - 3 - 31 - (new 'static 'vector :w 4096.0) - 5 - ) +(defmethod init-from-entity! assistant-levitator ((obj assistant-levitator) (arg0 entity-actor)) + (dummy-40 obj arg0 *assistant-village2-sg* 3 31 (new 'static 'vector :w 4096.0) 5) (set! (-> obj tasks) (get-task-control (game-task village2-levitator))) (set! (-> obj boulder) (entity-actor-lookup arg0 'alt-actor 0)) - (set! - (-> obj particle 0) - (create-launch-control (-> *part-group-id-table* 658) obj) - ) - (set! - (-> obj particle 1) - (create-launch-control (-> *part-group-id-table* 659) obj) - ) - (set! - (-> obj particle 2) - (create-launch-control (-> *part-group-id-table* 660) obj) - ) - (set! - (-> obj particle 3) - (create-launch-control (-> *part-group-id-table* 661) obj) - ) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "lev-mach-idle") - :volume #x400 - :fo-max 30 - ) - (-> obj root-override trans) - ) - ) + (set! (-> obj particle 0) (create-launch-control (-> *part-group-id-table* 658) obj)) + (set! (-> obj particle 1) (create-launch-control (-> *part-group-id-table* 659) obj)) + (set! (-> obj particle 2) (create-launch-control (-> *part-group-id-table* 660) obj)) + (set! (-> obj particle 3) (create-launch-control (-> *part-group-id-table* 661) obj)) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "lev-mach-idle") + :volume #x400 + :fo-max 30 + ) + (-> obj root-override trans) + ) + ) (if (= (get-task-status (game-task village2-levitator)) (task-status invalid)) - (go just-particles) - (dummy-42 obj) - ) + (go just-particles) + (dummy-42 obj) + ) (none) ) diff --git a/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc b/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc index 868bade5a2..f5bf1f29cf 100644 --- a/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc +++ b/test/decompiler/reference/levels/village2/flutflut-bluehut_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type flutflut-bluehut (defmethod inspect flutflut-bluehut ((obj flutflut-bluehut)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -32,13 +32,13 @@ (defmethod play-anim! flutflut-bluehut ((obj flutflut-bluehut) (arg0 symbol)) (current-status (-> obj tasks)) (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) (the-as basic (get-art-elem obj)) ) @@ -50,298 +50,200 @@ ;; definition for method 39 of type flutflut-bluehut (defmethod should-display? flutflut-bluehut ((obj flutflut-bluehut)) (and - (closed? - (-> obj tasks) - (game-task village2-levitator) - (task-status need-introduction) + (closed? (-> obj tasks) (game-task village2-levitator) (task-status need-introduction)) + (task-closed? (game-task beach-flutflut) (task-status need-resolution)) ) - (task-closed? (game-task beach-flutflut) (task-status need-resolution)) - ) ) ;; failed to figure out what this is: (defstate idle (flutflut-bluehut) :virtual #t :trans - (behavior () - (set! (-> self will-talk) #f) - ((-> (method-of-type process-taskable idle) trans)) - (none) - ) + (behavior () (set! (-> self will-talk) #f) ((-> (method-of-type process-taskable idle) trans)) (none)) :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (get-art-elem self) + ) + (ja-channel-push! 1 15) + ) + (while #t + (let ((v1-6 (-> self skel root-channel 0))) + (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + ) + (let* ((f30-0 2.0) + (v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-9 (the-as number (logior #x3f800000 v1-8))) + ) + (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-9)))) 1)) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-12 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-12 param 1) 1.0) + (set! (-> a0-12 frame-num) 0.0) + (joint-control-channel-group! + a0-12 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) ) - (get-art-elem self) + (until (ja-done? 0) + (suspend) + (let ((a0-13 (-> self skel root-channel 0))) + (set! (-> a0-13 param 0) (the float (+ (-> a0-13 frame-group data 0 length) -1))) + (set! (-> a0-13 param 1) 1.0) + (joint-control-channel-group-eval! a0-13 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((s5-0 (-> *display* base-frame-counter))) + (while (< (+ (-> *display* base-frame-counter) -150) s5-0) + (suspend) + ) + ) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-15 param 0) 0.0) + (set! (-> a0-15 param 1) 1.0) + (set! (-> a0-15 frame-num) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (joint-control-channel-group! + a0-15 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 param 0) 0.0) + (set! (-> a0-16 param 1) 1.0) + (joint-control-channel-group-eval! a0-16 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((s5-1 (-> *display* base-frame-counter))) + (while (< (+ (-> *display* base-frame-counter) -150) s5-1) + (suspend) + ) + ) + ) ) - (ja-channel-push! 1 15) - ) - (while #t - (let ((v1-6 (-> self skel root-channel 0))) - (set! - (-> v1-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - ) - (let* ((f30-0 2.0) - (v1-8 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-9 (the-as number (logior #x3f800000 v1-8))) - ) - (countdown (gp-0 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-9)))) 1)) - (let ((a0-12 (-> self skel root-channel 0))) - (set! (-> a0-12 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-18 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-18 param 1) 1.0) + (set! (-> a0-18 frame-num) 0.0) + (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - (set! - (-> a0-12 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-12 param 1) 1.0) - (set! (-> a0-12 frame-num) 0.0) - (joint-control-channel-group! - a0-12 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-13 (-> self skel root-channel 0))) - (set! - (-> a0-13 param 0) - (the float (+ (-> a0-13 frame-group data 0 length) -1)) - ) - (set! (-> a0-13 param 1) 1.0) - (joint-control-channel-group-eval! - a0-13 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((s5-0 (-> *display* base-frame-counter))) - (while (< (+ (-> *display* base-frame-counter) -150) s5-0) (suspend) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) + (set! (-> a0-19 param 1) 1.0) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) - (let ((a0-15 (-> self skel root-channel 0))) - (set! (-> a0-15 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (let ((v1-100 (-> self skel root-channel 0))) + (set! (-> v1-100 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) ) - (set! (-> a0-15 param 0) 0.0) - (set! (-> a0-15 param 1) 1.0) - (set! - (-> a0-15 frame-num) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) + (let* ((f30-1 2.0) + (v1-102 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-103 (the-as number (logior #x3f800000 v1-102))) + ) + (countdown (gp-1 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-103)))) 6)) + (let ((a0-26 (-> self skel root-channel 0))) + (set! (-> a0-26 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-26 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-26 param 1) 1.0) + (set! (-> a0-26 frame-num) 0.0) + (joint-control-channel-group! + a0-26 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-27 (-> self skel root-channel 0))) + (set! (-> a0-27 param 0) (the float (+ (-> a0-27 frame-group data 0 length) -1))) + (set! (-> a0-27 param 1) 1.0) + (joint-control-channel-group-eval! a0-27 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - (joint-control-channel-group! - a0-15 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! + (let ((a0-29 (-> self skel root-channel 0))) + (set! (-> a0-29 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-29 param 0) 0.0) + (set! (-> a0-29 param 1) 1.0) + (set! (-> a0-29 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (joint-control-channel-group! a0-29 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) ) - ) (until (ja-done? 0) - (suspend) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 param 0) 0.0) - (set! (-> a0-16 param 1) 1.0) - (joint-control-channel-group-eval! - a0-16 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((s5-1 (-> *display* base-frame-counter))) - (while (< (+ (-> *display* base-frame-counter) -150) s5-1) (suspend) + (let ((a0-30 (-> self skel root-channel 0))) + (set! (-> a0-30 param 0) 0.0) + (set! (-> a0-30 param 1) 1.0) + (joint-control-channel-group-eval! a0-30 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - ) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-18 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! - a0-18 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 param 0) - (the float (+ (-> a0-19 frame-group data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((v1-100 (-> self skel root-channel 0))) - (set! - (-> v1-100 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - ) - (let* ((f30-1 2.0) - (v1-102 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-103 (the-as number (logior #x3f800000 v1-102))) - ) - (countdown (gp-1 (+ (the int (* f30-1 (+ -1.0 (the-as float v1-103)))) 6)) - (let ((a0-26 (-> self skel root-channel 0))) - (set! (-> a0-26 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-26 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-26 param 1) 1.0) - (set! (-> a0-26 frame-num) 0.0) - (joint-control-channel-group! - a0-26 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-27 (-> self skel root-channel 0))) - (set! - (-> a0-27 param 0) - (the float (+ (-> a0-27 frame-group data 0 length) -1)) - ) - (set! (-> a0-27 param 1) 1.0) - (joint-control-channel-group-eval! - a0-27 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (let ((a0-29 (-> self skel root-channel 0))) - (set! - (-> a0-29 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! (-> a0-29 param 0) 0.0) - (set! (-> a0-29 param 1) 1.0) - (set! - (-> a0-29 frame-num) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (joint-control-channel-group! - a0-29 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-30 (-> self skel root-channel 0))) - (set! (-> a0-30 param 0) 0.0) - (set! (-> a0-30 param 1) 1.0) - (joint-control-channel-group-eval! - a0-30 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) ) ;; definition for method 11 of type flutflut-bluehut -(defmethod - init-from-entity! - flutflut-bluehut - ((obj flutflut-bluehut) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *flutflut-bluehut-sg* - 3 - 0 - (new 'static 'vector :w 4096.0) - 27 - ) +(defmethod init-from-entity! flutflut-bluehut ((obj flutflut-bluehut) (arg0 entity-actor)) + (dummy-40 obj arg0 *flutflut-bluehut-sg* 3 0 (new 'static 'vector :w 4096.0) 27) (set! (-> obj tasks) (get-task-control (game-task village2-levitator))) (set! (-> obj draw light-index) (the-as uint 1)) (dummy-42 obj) diff --git a/test/decompiler/reference/levels/village2/gambler_REF.gc b/test/decompiler/reference/levels/village2/gambler_REF.gc index 8964a059c6..894f84070b 100644 --- a/test/decompiler/reference/levels/village2/gambler_REF.gc +++ b/test/decompiler/reference/levels/village2/gambler_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type gambler (defmethod inspect gambler ((obj gambler)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -31,194 +31,99 @@ ;; definition for method 32 of type gambler (defmethod play-anim! gambler ((obj gambler) (arg0 symbol)) (set! (-> obj talk-message) (the-as uint 260)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (close-specific-task! - (game-task village2-gambler-money) - (task-status need-introduction) + (close-status! (-> obj tasks) (task-status need-introduction)) + (close-specific-task! (game-task village2-gambler-money) (task-status need-introduction)) ) - ) (new 'static 'spool-anim - :name "gambler-introduction-1" - :index 11 - :parts 9 - :command-list - '( - (0 - want-levels - village2 - rolling - ) - (0 - display-level - rolling - #f + :name "gambler-introduction-1" + :index 11 + :parts 9 + :command-list + '((0 want-levels village2 rolling) + (0 display-level rolling #f) + ((the binteger 29) joint "cameraB") + ((the binteger 103) joint "camera") + ((the binteger 231) joint "cameraB") + ((the binteger 730) display-level rolling display) + ((the binteger 730) want-force-vis rolling #t) + ((the binteger 732) alive "gorge-pusher-5") + ((the binteger 732) alive "gorge-pusher-6") + ((the binteger 732) alive "gorge-start-1") + ((the binteger 732) joint "camera") + ((the binteger 945) joint "cameraB") + ((the binteger 950) dead "gorge-pusher-5") + ((the binteger 950) dead "gorge-pusher-6") + ((the binteger 950) dead "gorge-start-1") + ((the binteger 950) display-level rolling #f) + ((the binteger 950) want-force-vis rolling #f) ) - ((the binteger 29) - joint - "cameraB" - ) - ((the binteger 103) - joint - "camera" - ) - ((the binteger 231) - joint - "cameraB" - ) - ((the binteger 730) - display-level - rolling - display - ) - ((the binteger 730) - want-force-vis - rolling - #t - ) - ((the binteger 732) - alive - "gorge-pusher-5" - ) - ((the binteger 732) - alive - "gorge-pusher-6" - ) - ((the binteger 732) - alive - "gorge-start-1" - ) - ((the binteger 732) - joint - "camera" - ) - ((the binteger 945) - joint - "cameraB" - ) - ((the binteger 950) - dead - "gorge-pusher-5" - ) - ((the binteger 950) - dead - "gorge-pusher-6" - ) - ((the binteger 950) - dead - "gorge-start-1" - ) - ((the binteger 950) - display-level - rolling - #f - ) - ((the binteger 950) want-force-vis rolling #f) - ) - ) + ) ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (cond - ((closed? - (-> obj tasks) - (game-task rolling-race) - (task-status need-reward-speech) - ) - (new 'static 'spool-anim - :name "gambler-reminder-money" - :index 13 - :parts 2 - :command-list '() - ) - ) - ((closed? - (-> obj tasks) - (game-task village2-gambler-money) - (task-status need-reward-speech) - ) - (new 'static 'spool-anim - :name "gambler-reminder-race" - :index 12 - :parts 2 - :command-list '() - ) - ) - ((zero? (get-reminder (-> obj tasks) 5)) - (if arg0 - (save-reminder (-> obj tasks) 1 5) - ) - (new 'static 'spool-anim - :name "gambler-reminder-race" - :index 12 - :parts 2 - :command-list '() - ) - ) - (else - (if arg0 - (save-reminder (-> obj tasks) 0 5) - ) - (new 'static 'spool-anim - :name "gambler-reminder-money" - :index 13 - :parts 2 - :command-list '() - ) - ) - ) - ) - (((task-status need-reward-speech)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task rolling-race)) - (when arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (cond + ((closed? (-> obj tasks) (game-task rolling-race) (task-status need-reward-speech)) + (new 'static 'spool-anim :name "gambler-reminder-money" :index 13 :parts 2 :command-list '()) ) - (new 'static 'spool-anim - :name "gambler-resolution-race" - :index 14 - :parts 3 - :command-list '() + ((closed? (-> obj tasks) (game-task village2-gambler-money) (task-status need-reward-speech)) + (new 'static 'spool-anim :name "gambler-reminder-race" :index 12 :parts 2 :command-list '()) ) - ) - (else - (cond - (arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + ((zero? (get-reminder (-> obj tasks) 5)) + (if arg0 + (save-reminder (-> obj tasks) 1 5) + ) + (new 'static 'spool-anim :name "gambler-reminder-race" :index 12 :parts 2 :command-list '()) ) (else - (set! (-> obj talk-message) (the-as uint 282)) + (if arg0 + (save-reminder (-> obj tasks) 0 5) + ) + (new 'static 'spool-anim :name "gambler-reminder-money" :index 13 :parts 2 :command-list '()) + ) + ) + ) + (((task-status need-reward-speech)) + (if (not arg0) + (set! (-> obj will-talk) #t) + ) + (case (current-task (-> obj tasks)) + (((game-task rolling-race)) + (when arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + ) + (new 'static 'spool-anim :name "gambler-resolution-race" :index 14 :parts 3 :command-list '()) ) + (else + (cond + (arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + ) + (else + (set! (-> obj talk-message) (the-as uint 282)) + ) + ) + (new 'static 'spool-anim :name "gambler-resolution-money" :index 15 :parts 2 :command-list '()) + ) ) - (new 'static 'spool-anim - :name "gambler-resolution-money" - :index 15 - :parts 2 - :command-list '() - ) - ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 7) ) - ) - (-> obj draw art-group data 7) ) - ) ) ;; definition for method 31 of type gambler @@ -228,68 +133,56 @@ ;; definition for method 43 of type gambler (defmethod TODO-RENAME-43 gambler ((obj gambler)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 61440.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 61440.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.9230769 f0-2) + (play-ambient (-> obj ambient) "GAM-AM01" #f (-> obj root-override trans)) + ) + ((< 0.84615386 f0-2) + (play-ambient (-> obj ambient) "GAM-AM02" #f (-> obj root-override trans)) + ) + ((< 0.7692308 f0-2) + (play-ambient (-> obj ambient) "GAM-AM03" #f (-> obj root-override trans)) + ) + ((< 0.6923077 f0-2) + (play-ambient (-> obj ambient) "GAM-AM04" #f (-> obj root-override trans)) + ) + ((< 0.61538464 f0-2) + (play-ambient (-> obj ambient) "GAM-AM05" #f (-> obj root-override trans)) + ) + ((< 0.53846157 f0-2) + (play-ambient (-> obj ambient) "GAM-AM06" #f (-> obj root-override trans)) + ) + ((< 0.46153846 f0-2) + (play-ambient (-> obj ambient) "GAM-AM07" #f (-> obj root-override trans)) + ) + ((< 0.3846154 f0-2) + (play-ambient (-> obj ambient) "GAM-AM08" #f (-> obj root-override trans)) + ) + ((< 0.30769232 f0-2) + (play-ambient (-> obj ambient) "GAM-AM09" #f (-> obj root-override trans)) + ) + ((< 0.23076923 f0-2) + (if (not (task-closed? (game-task ogre-boss) (task-status need-reminder))) + (play-ambient (-> obj ambient) "GAM-AM10" #f (-> obj root-override trans)) + ) + ) + ((< 0.15384616 f0-2) + (play-ambient (-> obj ambient) "GAM-AM11" #f (-> obj root-override trans)) + ) + ((< 0.07692308 f0-2) + (play-ambient (-> obj ambient) "GAM-AM12" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "GAM-AM13" #f (-> obj root-override trans)) ) - (cond - ((< 0.9230769 f0-2) - (play-ambient (-> obj ambient) "GAM-AM01" #f (-> obj root-override trans)) - ) - ((< 0.84615386 f0-2) - (play-ambient (-> obj ambient) "GAM-AM02" #f (-> obj root-override trans)) - ) - ((< 0.7692308 f0-2) - (play-ambient (-> obj ambient) "GAM-AM03" #f (-> obj root-override trans)) - ) - ((< 0.6923077 f0-2) - (play-ambient (-> obj ambient) "GAM-AM04" #f (-> obj root-override trans)) - ) - ((< 0.61538464 f0-2) - (play-ambient (-> obj ambient) "GAM-AM05" #f (-> obj root-override trans)) - ) - ((< 0.53846157 f0-2) - (play-ambient (-> obj ambient) "GAM-AM06" #f (-> obj root-override trans)) - ) - ((< 0.46153846 f0-2) - (play-ambient (-> obj ambient) "GAM-AM07" #f (-> obj root-override trans)) - ) - ((< 0.3846154 f0-2) - (play-ambient (-> obj ambient) "GAM-AM08" #f (-> obj root-override trans)) - ) - ((< 0.30769232 f0-2) - (play-ambient (-> obj ambient) "GAM-AM09" #f (-> obj root-override trans)) - ) - ((< 0.23076923 f0-2) - (if (not (task-closed? (game-task ogre-boss) (task-status need-reminder))) - (play-ambient - (-> obj ambient) - "GAM-AM10" - #f - (-> obj root-override trans) ) - ) ) - ((< 0.15384616 f0-2) - (play-ambient (-> obj ambient) "GAM-AM11" #f (-> obj root-override trans)) - ) - ((< 0.07692308 f0-2) - (play-ambient (-> obj ambient) "GAM-AM12" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "GAM-AM13" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; failed to figure out what this is: @@ -297,126 +190,92 @@ :virtual #t :code (behavior () - (when (!= (if (> (-> self skel active-channels) 0) + (when (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + (-> self draw art-group data 7) + ) + (ja-channel-push! 1 60) + (let ((v1-6 (-> self skel root-channel 0))) + (set! (-> v1-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + ) + ) + (while #t + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-9 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-9 param 1) 1.0) + (set! (-> a0-9 frame-num) 0.0) + (joint-control-channel-group! + a0-9 + (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - (-> self draw art-group data 7) + num-func-seek! ) - (ja-channel-push! 1 60) - (let ((v1-6 (-> self skel root-channel 0))) - (set! - (-> v1-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - ) - ) - (while #t - (let ((a0-9 (-> self skel root-channel 0))) - (set! (-> a0-9 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-9 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-9 param 1) 1.0) - (set! (-> a0-9 frame-num) 0.0) - (joint-control-channel-group! a0-9 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 param 0) - (the float (+ (-> a0-10 frame-group data 0 length) -1)) - ) - (set! (-> a0-10 param 1) 1.0) - (joint-control-channel-group-eval! - a0-10 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (TODO-RENAME-43 self) - (let* ((v1-38 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-39 (the-as number (logior #x3f800000 v1-38))) - (f0-9 (+ -1.0 (the-as float v1-39))) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 param 0) (the float (+ (-> a0-10 frame-group data 0 length) -1))) + (set! (-> a0-10 param 1) 1.0) + (joint-control-channel-group-eval! a0-10 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (TODO-RENAME-43 self) + (let* ((v1-38 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-39 (the-as number (logior #x3f800000 v1-38))) + (f0-9 (+ -1.0 (the-as float v1-39))) + ) + (cond + ((< f0-9 0.16666667) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + ) ) - (cond - ((< f0-9 0.16666667) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) + ((< f0-9 0.33333334) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + ) + ) + ((< f0-9 0.5) + (let ((a0-17 (-> self skel root-channel 0))) + (set! (-> a0-17 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + ) + ) + ((< f0-9 0.6666667) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 8))) + ) + ) + ((< f0-9 0.8333333) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 frame-group) (the-as art-joint-anim (-> self draw art-group data 9))) + ) + ) + (else + (let ((a0-20 (-> self skel root-channel 0))) + (set! (-> a0-20 frame-group) (the-as art-joint-anim (-> self draw art-group data 10))) + ) + ) + ) ) - ) - ((< f0-9 0.33333334) - (let ((a0-16 (-> self skel root-channel 0))) - (set! - (-> a0-16 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - ) - ) - ((< f0-9 0.5) - (let ((a0-17 (-> self skel root-channel 0))) - (set! - (-> a0-17 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - ) - ) - ((< f0-9 0.6666667) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 frame-group) - (the-as art-joint-anim (-> self draw art-group data 8)) - ) - ) - ) - ((< f0-9 0.8333333) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 frame-group) - (the-as art-joint-anim (-> self draw art-group data 9)) - ) - ) - ) - (else - (let ((a0-20 (-> self skel root-channel 0))) - (set! - (-> a0-20 frame-group) - (the-as art-joint-anim (-> self draw art-group data 10)) - ) - ) - ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 11 of type gambler diff --git a/test/decompiler/reference/levels/village2/geologist_REF.gc b/test/decompiler/reference/levels/village2/geologist_REF.gc index fb4128e160..f6e75e00fa 100644 --- a/test/decompiler/reference/levels/village2/geologist_REF.gc +++ b/test/decompiler/reference/levels/village2/geologist_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type geologist (defmethod inspect geologist ((obj geologist)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -31,158 +31,91 @@ ;; definition for method 32 of type geologist (defmethod play-anim! geologist ((obj geologist) (arg0 symbol)) (set! (-> obj talk-message) (the-as uint 260)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (close-specific-task! - (game-task village2-geologist-money) - (task-status need-introduction) + (close-status! (-> obj tasks) (task-status need-introduction)) + (close-specific-task! (game-task village2-geologist-money) (task-status need-introduction)) ) - ) (new 'static 'spool-anim - :name "geologist-introduction" - :index 6 - :parts 13 - :command-list - '( - (0 - want-levels - village2 - rolling - ) - ((the binteger 199) - joint - "cameraB" + :name "geologist-introduction" + :index 6 + :parts 13 + :command-list + '((0 want-levels village2 rolling) + ((the binteger 199) joint "cameraB") + ((the binteger 325) joint "camera") + ((the binteger 520) alive "racer-2") + ((the binteger 544) joint "cameraB") + ((the binteger 546) dead "racer-2") + ((the binteger 809) joint "camera") + ((the binteger 1031) joint "cameraB") + ((the binteger 1229) joint "camera") ) - ((the binteger 325) - joint - "camera" - ) - ((the binteger 520) - alive - "racer-2" - ) - ((the binteger 544) - joint - "cameraB" - ) - ((the binteger 546) - dead - "racer-2" - ) - ((the binteger 809) - joint - "camera" - ) - ((the binteger 1031) - joint - "cameraB" - ) - ((the binteger 1229) joint "camera") - ) - ) + ) ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (cond - ((closed? - (-> obj tasks) - (game-task rolling-moles) - (task-status need-reward-speech) - ) - (new 'static 'spool-anim - :name "geologist-reminder-money" - :index 8 - :parts 2 - :command-list '() - ) - ) - ((closed? - (-> obj tasks) - (game-task village2-geologist-money) - (task-status need-reward-speech) - ) - (new 'static 'spool-anim - :name "geologist-reminder-moles" - :index 7 - :parts 3 - :command-list '() - ) - ) - ((zero? (get-reminder (-> obj tasks) 0)) - (if arg0 - (save-reminder (-> obj tasks) 1 0) - ) - (new 'static 'spool-anim - :name "geologist-reminder-moles" - :index 7 - :parts 3 - :command-list '() - ) - ) - (else - (if arg0 - (save-reminder (-> obj tasks) 0 0) - ) - (new 'static 'spool-anim - :name "geologist-reminder-money" - :index 8 - :parts 2 - :command-list '() - ) - ) - ) - ) - (((task-status need-reward-speech)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task rolling-moles)) - (when arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (cond + ((closed? (-> obj tasks) (game-task rolling-moles) (task-status need-reward-speech)) + (new 'static 'spool-anim :name "geologist-reminder-money" :index 8 :parts 2 :command-list '()) ) - (new 'static 'spool-anim - :name "geologist-resolution-moles" - :index 9 - :parts 3 - :command-list '() + ((closed? (-> obj tasks) (game-task village2-geologist-money) (task-status need-reward-speech)) + (new 'static 'spool-anim :name "geologist-reminder-moles" :index 7 :parts 3 :command-list '()) ) - ) - (else - (cond - (arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + ((zero? (get-reminder (-> obj tasks) 0)) + (if arg0 + (save-reminder (-> obj tasks) 1 0) + ) + (new 'static 'spool-anim :name "geologist-reminder-moles" :index 7 :parts 3 :command-list '()) ) (else - (set! (-> obj talk-message) (the-as uint 282)) + (if arg0 + (save-reminder (-> obj tasks) 0 0) + ) + (new 'static 'spool-anim :name "geologist-reminder-money" :index 8 :parts 2 :command-list '()) + ) + ) + ) + (((task-status need-reward-speech)) + (if (not arg0) + (set! (-> obj will-talk) #t) + ) + (case (current-task (-> obj tasks)) + (((game-task rolling-moles)) + (when arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + ) + (new 'static 'spool-anim :name "geologist-resolution-moles" :index 9 :parts 3 :command-list '()) ) + (else + (cond + (arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + ) + (else + (set! (-> obj talk-message) (the-as uint 282)) + ) + ) + (new 'static 'spool-anim :name "geologist-resolution-money" :index 10 :parts 2 :command-list '()) + ) ) - (new 'static 'spool-anim - :name "geologist-resolution-money" - :index 10 - :parts 2 - :command-list '() - ) - ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 5) ) - ) - (-> obj draw art-group data 5) ) - ) ) ;; definition for method 31 of type geologist @@ -192,96 +125,51 @@ ;; definition for method 43 of type geologist (defmethod TODO-RENAME-43 geologist ((obj geologist)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.8888889 f0-2) + (play-ambient (-> obj ambient) "GEO-AM01" #f (-> obj root-override trans)) + ) + ((< 0.7777778 f0-2) + (if (not (closed? (-> obj tasks) (game-task rolling-moles) (task-status need-reminder))) + (play-ambient (-> obj ambient) "GEO-AM02" #f (-> obj root-override trans)) + ) + ) + ((< 0.6666667 f0-2) + (play-ambient (-> obj ambient) "GEO-AM03" #f (-> obj root-override trans)) + ) + ((< 0.5555556 f0-2) + (if (closed? (-> obj tasks) (game-task village2-geologist-money) (task-status need-introduction)) + (play-ambient (-> obj ambient) "GEO-AM04" #f (-> obj root-override trans)) + ) + ) + ((< 0.44444445 f0-2) + (play-ambient (-> obj ambient) "GEO-AM05" #f (-> obj root-override trans)) + ) + ((< 0.33333334 f0-2) + (play-ambient (-> obj ambient) "GEO-AM06" #f (-> obj root-override trans)) + ) + ((< 0.22222222 f0-2) + (if (not (closed? (-> obj tasks) (game-task rolling-moles) (task-status need-reminder))) + (play-ambient (-> obj ambient) "GEO-AM07" #f (-> obj root-override trans)) + ) + ) + ((< 0.11111111 f0-2) + (play-ambient (-> obj ambient) "GEO-LO02" #f (-> obj root-override trans)) + ) + ((closed? (-> obj tasks) (game-task village2-geologist-money) (task-status need-resolution)) + (play-ambient (-> obj ambient) "GEO-AM08" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "GEO-LO01" #f (-> obj root-override trans)) ) - (cond - ((< 0.8888889 f0-2) - (play-ambient (-> obj ambient) "GEO-AM01" #f (-> obj root-override trans)) - ) - ((< 0.7777778 f0-2) - (if - (not - (closed? - (-> obj tasks) - (game-task rolling-moles) - (task-status need-reminder) - ) ) - (play-ambient - (-> obj ambient) - "GEO-AM02" - #f - (-> obj root-override trans) - ) - ) ) - ((< 0.6666667 f0-2) - (play-ambient (-> obj ambient) "GEO-AM03" #f (-> obj root-override trans)) - ) - ((< 0.5555556 f0-2) - (if - (closed? - (-> obj tasks) - (game-task village2-geologist-money) - (task-status need-introduction) - ) - (play-ambient - (-> obj ambient) - "GEO-AM04" - #f - (-> obj root-override trans) - ) - ) - ) - ((< 0.44444445 f0-2) - (play-ambient (-> obj ambient) "GEO-AM05" #f (-> obj root-override trans)) - ) - ((< 0.33333334 f0-2) - (play-ambient (-> obj ambient) "GEO-AM06" #f (-> obj root-override trans)) - ) - ((< 0.22222222 f0-2) - (if - (not - (closed? - (-> obj tasks) - (game-task rolling-moles) - (task-status need-reminder) - ) - ) - (play-ambient - (-> obj ambient) - "GEO-AM07" - #f - (-> obj root-override trans) - ) - ) - ) - ((< 0.11111111 f0-2) - (play-ambient (-> obj ambient) "GEO-LO02" #f (-> obj root-override trans)) - ) - ((closed? - (-> obj tasks) - (game-task village2-geologist-money) - (task-status need-resolution) - ) - (play-ambient (-> obj ambient) "GEO-AM08" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "GEO-LO01" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; definition for method 11 of type geologist diff --git a/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc b/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc index 39420e32e1..f13e1e17c3 100644 --- a/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc +++ b/test/decompiler/reference/levels/village2/sage-bluehut_REF.gc @@ -17,8 +17,8 @@ ;; definition for method 3 of type assistant-bluehut (defmethod inspect assistant-bluehut ((obj assistant-bluehut)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tsound-id: ~D~%" (-> obj sound-id)) (format #t "~T~Tjaws: ~D~%" (-> obj jaws)) (format #t "~T~Tsage: ~A~%" (-> obj sage)) @@ -40,8 +40,8 @@ ;; definition for method 3 of type sage-bluehut (defmethod inspect sage-bluehut ((obj sage-bluehut)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Treminder-played: ~A~%" (-> obj reminder-played)) (format #t "~T~Tassistant: ~A~%" (-> obj assistant)) obj @@ -60,261 +60,186 @@ ;; definition for method 32 of type sage-bluehut (defmethod play-anim! sage-bluehut ((obj sage-bluehut) (arg0 symbol)) (with-pp - (set! (-> obj talk-message) (the-as uint 291)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task rolling-plants)) - (when arg0 - (let* ((s5-1 (-> obj tasks)) - (s4-0 (method-of-object s5-1 save-reminder)) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (s4-0 - s5-1 - (the int (the-as float (send-event-function *target* a1-3))) - 1 - ) + (set! (-> obj talk-message) (the-as uint 291)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) ) - (close-status! (-> obj tasks) (task-status need-introduction)) - (let ((s5-2 (-> obj assistant extra process))) - (if (and s5-2 (should-display? (the-as assistant-bluehut s5-2))) - (send-event s5-2 'clone (process->handle obj)) - ) - ) - (set! (-> obj draw bounds w) 40960.0) - ) - (new 'static 'spool-anim - :name - "sage-bluehut-introduction-crop-dusting" - :index 8 - :parts 12 - :command-list - '( - ((the binteger 678) - joint - "cameraB" + (case (current-task (-> obj tasks)) + (((game-task rolling-plants)) + (when arg0 + (let* ((s5-1 (-> obj tasks)) + (s4-0 (method-of-object s5-1 save-reminder)) + (a1-3 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-3))) 1) ) - ((the binteger 1166) - joint - "camera" + (close-status! (-> obj tasks) (task-status need-introduction)) + (let ((s5-2 (-> obj assistant extra process))) + (if (and s5-2 (should-display? (the-as assistant-bluehut s5-2))) + (send-event s5-2 'clone (process->handle obj)) + ) + ) + (set! (-> obj draw bounds w) 40960.0) + ) + (new 'static 'spool-anim + :name + "sage-bluehut-introduction-crop-dusting" + :index 8 + :parts 12 + :command-list + '(((the binteger 678) joint "cameraB") + ((the binteger 1166) joint "camera") + ((the binteger 1258) joint "cameraB") + ) + ) + ) + (else + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-1) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-2) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-3) (task-status need-introduction)) + (close-specific-task! (game-task swamp-tether-4) (task-status need-introduction)) ) - ((the binteger 1258) joint "cameraB") - ) - ) - ) - (else - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (close-specific-task! - (game-task swamp-tether-1) - (task-status need-introduction) - ) - (close-specific-task! - (game-task swamp-tether-2) - (task-status need-introduction) - ) - (close-specific-task! - (game-task swamp-tether-3) - (task-status need-introduction) - ) - (close-specific-task! - (game-task swamp-tether-4) - (task-status need-introduction) - ) - ) - (new 'static 'spool-anim - :name "sage-bluehut-introduction-prec-arm" - :index 6 - :parts 8 - :command-list - '( - ((the binteger 141) - joint - "cameraB" + (new 'static 'spool-anim + :name "sage-bluehut-introduction-prec-arm" + :index 6 + :parts 8 + :command-list + '(((the binteger 141) joint "cameraB") + ((the binteger 214) joint "camera") + ((the binteger 308) joint "cameraB") + ((the binteger 686) joint "camera") + ((the binteger 786) joint "cameraB") + ((the binteger 843) joint "camera") + ) ) - ((the binteger 214) - joint - "camera" - ) - ((the binteger 308) - joint - "cameraB" - ) - ((the binteger 686) - joint - "camera" - ) - ((the binteger 786) - joint - "cameraB" - ) - ((the binteger 843) joint "camera") ) ) - ) ) - ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (if arg0 - (set! (-> obj reminder-played) #t) - ) - (cond - ((zero? (get-reminder (-> obj tasks) 0)) - (new 'static 'spool-anim - :name "sage-bluehut-reminder-1-crop-dusting" - :index 9 - :parts 3 - :command-list '() - ) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (if arg0 + (set! (-> obj reminder-played) #t) + ) + (cond + ((zero? (get-reminder (-> obj tasks) 0)) + (new 'static 'spool-anim :name "sage-bluehut-reminder-1-crop-dusting" :index 9 :parts 3 :command-list '()) + ) + (else + (if arg0 + (set! (-> obj draw bounds w) 40960.0) + ) + (new 'static 'spool-anim + :name "sage-bluehut-reminder-1-prec-arm" + :index 7 + :parts 4 + :command-list + '(((the binteger 90) joint "cameraB") + ((the binteger 259) joint "camera") + ((the binteger 352) joint "cameraB") + ) + ) + ) + ) ) (else - (if arg0 - (set! (-> obj draw bounds w) 40960.0) - ) - (new 'static 'spool-anim - :name "sage-bluehut-reminder-1-prec-arm" - :index 7 - :parts 4 - :command-list - '( - ((the binteger 90) - joint - "cameraB" + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) ) - ((the binteger 259) - joint - "camera" - ) - ((the binteger 352) joint "cameraB") - ) + (get-art-elem obj) ) - ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (get-art-elem obj) - ) ) - ) ) ;; definition for method 45 of type sage-bluehut ;; INFO: Return type mismatch symbol vs none. (defmethod dummy-45 sage-bluehut ((obj sage-bluehut)) (cond - ((= (current-status (-> obj tasks)) (task-status unknown)) - ) - ((= (current-status (-> obj tasks)) (task-status invalid)) - ) - ((and - (closed? - (-> obj tasks) - (game-task rolling-plants) - (task-status need-reminder) + ((= (current-status (-> obj tasks)) (task-status unknown)) + ) + ((= (current-status (-> obj tasks)) (task-status invalid)) + ) + ((and + (closed? (-> obj tasks) (game-task rolling-plants) (task-status need-reminder)) + (= (get-reminder (-> obj tasks) 0) 0) + ) + #t + ) + ((and + (closed? (-> obj tasks) (game-task swamp-arm) (task-status need-reminder)) + (= (get-reminder (-> obj tasks) 0) 1) + ) + #t + ) + ((and (-> obj reminder-played) (< 81920.0 (vector-vector-distance (-> obj root-override trans) (camera-pos)))) + #t + ) + (else ) - (= (get-reminder (-> obj tasks) 0) 0) - ) - #t ) - ((and - (closed? (-> obj tasks) (game-task swamp-arm) (task-status need-reminder)) - (= (get-reminder (-> obj tasks) 0) 1) - ) - #t - ) - ((and - (-> obj reminder-played) - (< - 81920.0 - (vector-vector-distance (-> obj root-override trans) (camera-pos)) - ) - ) - #t - ) - (else - ) - ) (none) ) ;; definition for method 31 of type sage-bluehut (defmethod get-art-elem sage-bluehut ((obj sage-bluehut)) (cond - ((and - (= (current-task (-> obj tasks)) (game-task rolling-plants)) - (or - (= (current-status (-> obj tasks)) (task-status need-hint)) - (= (current-status (-> obj tasks)) (task-status need-introduction)) - ) - ) - (save-reminder (-> obj tasks) 0 0) - ) - ((and - (= (current-task (-> obj tasks)) (game-task swamp-arm)) - (or - (= (current-status (-> obj tasks)) (task-status need-hint)) - (= (current-status (-> obj tasks)) (task-status need-introduction)) - ) - ) - (save-reminder (-> obj tasks) 1 0) - ) - ((dummy-45 obj) - (set! (-> obj reminder-played) #f) - (cond - ((closed? - (-> obj tasks) - (game-task rolling-plants) - (task-status need-reminder) - ) - (save-reminder (-> obj tasks) 1 0) - ) - ((or - (closed? - (-> obj tasks) - (game-task swamp-arm) - (task-status need-reminder) - ) - (not - (closed? - (-> obj tasks) - (game-task swamp-arm) - (task-status need-introduction) + ((and + (= (current-task (-> obj tasks)) (game-task rolling-plants)) + (or + (= (current-status (-> obj tasks)) (task-status need-hint)) + (= (current-status (-> obj tasks)) (task-status need-introduction)) + ) + ) + (save-reminder (-> obj tasks) 0 0) + ) + ((and + (= (current-task (-> obj tasks)) (game-task swamp-arm)) + (or + (= (current-status (-> obj tasks)) (task-status need-hint)) + (= (current-status (-> obj tasks)) (task-status need-introduction)) + ) + ) + (save-reminder (-> obj tasks) 1 0) + ) + ((dummy-45 obj) + (set! (-> obj reminder-played) #f) + (cond + ((closed? (-> obj tasks) (game-task rolling-plants) (task-status need-reminder)) + (save-reminder (-> obj tasks) 1 0) + ) + ((or + (closed? (-> obj tasks) (game-task swamp-arm) (task-status need-reminder)) + (not (closed? (-> obj tasks) (game-task swamp-arm) (task-status need-introduction))) + ) + (save-reminder (-> obj tasks) 0 0) + ) + ((zero? (get-reminder (-> obj tasks) 0)) + (save-reminder (-> obj tasks) 1 0) + ) + (else + (save-reminder (-> obj tasks) 0 0) ) - ) ) - (save-reminder (-> obj tasks) 0 0) - ) - ((zero? (get-reminder (-> obj tasks) 0)) - (save-reminder (-> obj tasks) 1 0) - ) - (else - (save-reminder (-> obj tasks) 0 0) - ) ) ) - ) (if (zero? (get-reminder (-> obj tasks) 0)) - (-> obj draw art-group data 4) - (-> obj draw art-group data 5) - ) + (-> obj draw art-group data 4) + (-> obj draw art-group data 5) + ) ) ;; failed to figure out what this is: @@ -322,84 +247,69 @@ :virtual #t :exit (behavior () - (send-event (-> self assistant extra process) 'end-mode) - (set! (-> self draw bounds w) 10240.0) - ((-> (method-of-type process-taskable play-anim) exit)) - (none) - ) + (send-event (-> self assistant extra process) 'end-mode) + (set! (-> self draw bounds w) 10240.0) + ((-> (method-of-type process-taskable play-anim) exit)) + (none) + ) ) ;; definition for method 39 of type sage-bluehut (defmethod should-display? sage-bluehut ((obj sage-bluehut)) - (and - (task-closed? (game-task village2-levitator) (task-status need-introduction)) - (not (sages-kidnapped?)) - ) + (and (task-closed? (game-task village2-levitator) (task-status need-introduction)) (not (sages-kidnapped?))) ) ;; definition for method 44 of type sage-bluehut ;; INFO: Return type mismatch basic vs symbol. (defmethod play-reminder sage-bluehut ((obj sage-bluehut)) (the-as - symbol - (and - (-> obj will-talk) - *target* - (< -6365184.0 (-> (target-pos 0) z)) - (< (-> (target-pos 0) x) 1612800.0) + symbol + (and (-> obj will-talk) *target* (< -6365184.0 (-> (target-pos 0) z)) (< (-> (target-pos 0) x) 1612800.0)) ) - ) ) ;; definition for method 47 of type sage-bluehut (defmethod target-above-threshold? sage-bluehut ((obj sage-bluehut)) (local-vars (v0-1 symbol)) (if (not (play-reminder obj)) - (return #f) - ) + (return #f) + ) (let ((gp-1 (-> obj assistant extra process))) - (if (not gp-1) - (return #t) + (if (not gp-1) + (return #t) + ) + (target-above-threshold? (the-as assistant-bluehut gp-1)) + (return (not (-> (the-as assistant-bluehut gp-1) im-talking))) ) - (target-above-threshold? (the-as assistant-bluehut gp-1)) - (return (not (-> (the-as assistant-bluehut gp-1) im-talking))) - ) v0-1 ) ;; definition for method 43 of type sage-bluehut (defmethod TODO-RENAME-43 sage-bluehut ((obj sage-bluehut)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.8 f0-2) + (play-ambient (-> obj ambient) "SAGELP20" #f (-> obj root-override trans)) + ) + ((< 0.6 f0-2) + (play-ambient (-> obj ambient) "SAGELP21" #f (-> obj root-override trans)) + ) + ((< 0.4 f0-2) + (play-ambient (-> obj ambient) "SAGELP22" #f (-> obj root-override trans)) + ) + ((< 0.2 f0-2) + (play-ambient (-> obj ambient) "SAGELP23" #f (-> obj root-override trans)) + ) + ((nonzero? (get-task-status (game-task citadel-sage-blue))) + (play-ambient (-> obj ambient) "SAGELP24" #f (-> obj root-override trans)) + ) + ) + ) ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) - (cond - ((< 0.8 f0-2) - (play-ambient (-> obj ambient) "SAGELP20" #f (-> obj root-override trans)) - ) - ((< 0.6 f0-2) - (play-ambient (-> obj ambient) "SAGELP21" #f (-> obj root-override trans)) - ) - ((< 0.4 f0-2) - (play-ambient (-> obj ambient) "SAGELP22" #f (-> obj root-override trans)) - ) - ((< 0.2 f0-2) - (play-ambient (-> obj ambient) "SAGELP23" #f (-> obj root-override trans)) - ) - ((nonzero? (get-task-status (game-task citadel-sage-blue))) - (play-ambient (-> obj ambient) "SAGELP24" #f (-> obj root-override trans)) - ) - ) - ) - ) ) ;; failed to figure out what this is: @@ -407,196 +317,142 @@ :virtual #t :code (behavior () - (while #t - (let ((gp-0 (get-art-elem self))) - (cond - ((= gp-0 (-> self draw art-group data 4)) - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - gp-0 - ) - (ja-channel-push! 1 60) - ) - (set! - (-> self skel root-channel 0 frame-group) - (the-as art-joint-anim gp-0) - ) - (let* ((f30-0 3.0) - (v1-15 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-16 (the-as number (logior #x3f800000 v1-15))) - ) - (countdown - (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-16)))) 5)) - (TODO-RENAME-43 self) - (let ((a0-5 (-> self skel root-channel 0))) - (set! (-> a0-5 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-5 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 + (while #t + (let ((gp-0 (get-art-elem self))) + (cond + ((= gp-0 (-> self draw art-group data 4)) + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + gp-0 + ) + (ja-channel-push! 1 60) + ) + (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim gp-0)) + (let* ((f30-0 3.0) + (v1-15 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-16 (the-as number (logior #x3f800000 v1-15))) + ) + (countdown (gp-1 (+ (the int (* f30-0 (+ -1.0 (the-as float v1-16)))) 5)) + (TODO-RENAME-43 self) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) ) - ) + (set! (-> a0-5 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-5 param 1) 1.0) + (set! (-> a0-5 frame-num) 0.0) + (joint-control-channel-group! + a0-5 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (if (dummy-45 self) + (go-virtual idle) + ) + (suspend) + (let ((a0-7 (-> self skel root-channel 0))) + (set! (-> a0-7 param 0) (the float (+ (-> a0-7 frame-group data 0 length) -1))) + (set! (-> a0-7 param 1) 1.0) + (joint-control-channel-group-eval! a0-7 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ) + (ja-channel-push! 1 60) + (let ((a0-10 (-> self skel root-channel 0))) + (set! (-> a0-10 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-10 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-10 param 1) 1.0) + (set! (-> a0-10 frame-num) 0.0) + (joint-control-channel-group! a0-10 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (if (dummy-45 self) + (go-virtual idle) + ) + (suspend) + (let ((a0-12 (-> self skel root-channel 0))) + (set! (-> a0-12 param 0) (the float (+ (-> a0-12 frame-group data 0 length) -1))) + (set! (-> a0-12 param 1) 1.0) + (joint-control-channel-group-eval! a0-12 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! (-> a0-5 param 1) 1.0) - (set! (-> a0-5 frame-num) 0.0) - (joint-control-channel-group! - a0-5 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (dummy-45 self) - (go-virtual idle) - ) - (suspend) - (let ((a0-7 (-> self skel root-channel 0))) - (set! - (-> a0-7 param 0) - (the float (+ (-> a0-7 frame-group data 0 length) -1)) - ) - (set! (-> a0-7 param 1) 1.0) - (joint-control-channel-group-eval! - a0-7 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ) - (ja-channel-push! 1 60) - (let ((a0-10 (-> self skel root-channel 0))) - (set! - (-> a0-10 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-10 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-10 param 1) 1.0) - (set! (-> a0-10 frame-num) 0.0) - (joint-control-channel-group! - a0-10 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (if (dummy-45 self) - (go-virtual idle) - ) - (suspend) - (let ((a0-12 (-> self skel root-channel 0))) - (set! - (-> a0-12 param 0) - (the float (+ (-> a0-12 frame-group data 0 length) -1)) - ) - (set! (-> a0-12 param 1) 1.0) - (joint-control-channel-group-eval! - a0-12 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (TODO-RENAME-43 self) - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - gp-0 - ) - (ja-channel-push! 1 60) - ) - (set! - (-> self skel root-channel 0 frame-group) - (the-as art-joint-anim gp-0) - ) - (let ((a0-16 (-> self skel root-channel 0))) - (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-16 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) + (else + (TODO-RENAME-43 self) + (if (!= (if (> (-> self skel active-channels) 0) (-> self skel root-channel 0 frame-group) ) - data - 0 - length - ) - -1 - ) + gp-0 + ) + (ja-channel-push! 1 60) + ) + (set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim gp-0)) + (let ((a0-16 (-> self skel root-channel 0))) + (set! (-> a0-16 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-16 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-16 param 1) 1.0) + (set! (-> a0-16 frame-num) 0.0) + (joint-control-channel-group! + a0-16 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (if (dummy-45 self) + (go-virtual idle) + ) + (suspend) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 param 0) (the float (+ (-> a0-18 frame-group data 0 length) -1))) + (set! (-> a0-18 param 1) 1.0) + (joint-control-channel-group-eval! a0-18 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - ) - (set! (-> a0-16 param 1) 1.0) - (set! (-> a0-16 frame-num) 0.0) - (joint-control-channel-group! - a0-16 - (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - num-func-seek! - ) ) - (until (ja-done? 0) - (if (dummy-45 self) - (go-virtual idle) - ) - (suspend) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 param 0) - (the float (+ (-> a0-18 frame-group data 0 length) -1)) - ) - (set! (-> a0-18 param 1) 1.0) - (joint-control-channel-group-eval! - a0-18 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 11 of type sage-bluehut -(defmethod - init-from-entity! - sage-bluehut - ((obj sage-bluehut) (arg0 entity-actor)) +(defmethod init-from-entity! sage-bluehut ((obj sage-bluehut) (arg0 entity-actor)) (dummy-40 obj arg0 *sage-bluehut-sg* 3 40 (new 'static 'vector :w 4505.6) 5) (set! (-> obj tasks) (get-task-control (game-task rolling-plants))) (set! (-> obj reminder-played) #f) diff --git a/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc b/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc index 20d13de8d8..60e90c5685 100644 --- a/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc +++ b/test/decompiler/reference/levels/village2/sunken-elevator_REF.gc @@ -16,13 +16,9 @@ ;; definition for method 3 of type sunken-elevator (defmethod inspect sunken-elevator ((obj sunken-elevator)) (let ((t9-0 (method-of-type plat-button inspect))) - (t9-0 obj) - ) - (format - #t - "~T~Tplay-at-top-going-up-camera?: ~A~%" - (-> obj play-at-top-going-up-camera?) - ) + (t9-0 obj) + ) + (format #t "~T~Tplay-at-top-going-up-camera?: ~A~%" (-> obj play-at-top-going-up-camera?)) (format #t "~T~Tteleport-if-below-y: ~f~%" (-> obj teleport-if-below-y)) (format #t "~T~Tteleport-if-above-y: ~f~%" (-> obj teleport-if-above-y)) obj @@ -40,19 +36,19 @@ ;; definition for method 30 of type sunken-elevator (defmethod should-teleport? sunken-elevator ((obj sunken-elevator)) (let ((f0-0 (-> (camera-pos) y))) - (case (-> obj path-pos) - ((0.0) - (if (< f0-0 (-> obj teleport-if-below-y)) - (return #t) + (case (-> obj path-pos) + ((0.0) + (if (< f0-0 (-> obj teleport-if-below-y)) + (return #t) + ) + ) + ((1.0) + (if (< (-> obj teleport-if-above-y) f0-0) + (return #t) + ) ) ) - ((1.0) - (if (< (-> obj teleport-if-above-y) f0-0) - (return #t) - ) - ) ) - ) #f ) @@ -61,84 +57,67 @@ :virtual #t :enter (behavior () - (let ((t9-0 (-> (method-of-type plat-button plat-button-pressed) enter))) - (if t9-0 - (t9-0) - ) - ) - (case (-> self path-pos) - ((0.0) - (load-state-want-display-level 'sunken 'display) - (let ((gp-0 (get-process *default-dead-pool* village2cam #x4000))) - (set! (-> (the-as village2cam (-> (when gp-0 - (let - ((t9-3 - (method-of-type - village2cam - activate - ) - ) - ) - (t9-3 - (the-as village2cam gp-0) - self - 'village2cam - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self spawn-pos) - *village2cam-sg* - "elevator-at-top-going-down" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) - 0 - ) - ) - seq - ) - (the-as uint 0) - ) + (let ((t9-0 (-> (method-of-type plat-button plat-button-pressed) enter))) + (if t9-0 + (t9-0) + ) + ) + (case (-> self path-pos) + ((0.0) + (load-state-want-display-level 'sunken 'display) + (let ((gp-0 (get-process *default-dead-pool* village2cam #x4000))) + (set! (-> (the-as village2cam (-> (when gp-0 + (let ((t9-3 (method-of-type village2cam activate))) + (t9-3 (the-as village2cam gp-0) self 'village2cam (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + pov-camera-init-by-other + (-> self spawn-pos) + *village2cam-sg* + "elevator-at-top-going-down" + 0 + #f + '() + ) + (-> gp-0 ppointer) + ) + 0 + ) + ) + seq + ) + (the-as uint 0) + ) + ) + 0 ) - 0 - ) - ((1.0) - (let* ((gp-1 (get-process *default-dead-pool* village2cam #x4000)) - (v1-10 (when gp-1 - (let ((t9-6 (method-of-type village2cam activate))) - (t9-6 - (the-as village2cam gp-1) - self - 'village2cam - (the-as pointer #x70004000) - ) + ((1.0) + (let* ((gp-1 (get-process *default-dead-pool* village2cam #x4000)) + (v1-10 (when gp-1 + (let ((t9-6 (method-of-type village2cam activate))) + (t9-6 (the-as village2cam gp-1) self 'village2cam (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + pov-camera-init-by-other + (-> self spawn-pos) + *village2cam-sg* + "elevator-at-top-going-down" + 0 + #f + '() + ) + (-> gp-1 ppointer) + ) ) - (run-now-in-process - gp-1 - pov-camera-init-by-other - (-> self spawn-pos) - *village2cam-sg* - "elevator-at-top-going-down" - 0 - #f - '() - ) - (-> gp-1 ppointer) - ) - ) - ) - (set! (-> (the-as village2cam (-> v1-10 0)) seq) (the-as uint 1)) + ) + (set! (-> (the-as village2cam (-> v1-10 0)) seq) (the-as uint 1)) + ) + ) ) - ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -146,55 +125,49 @@ :virtual #t :enter (behavior () - (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) enter))) - (if t9-0 - (t9-0) - ) + (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) enter))) + (if t9-0 + (t9-0) + ) + ) + (set! (-> self play-at-top-going-up-camera?) #t) + (none) ) - (set! (-> self play-at-top-going-up-camera?) #t) - (none) - ) :trans (behavior () - (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) trans))) - (if t9-0 - (t9-0) - ) - ) - (when - (and (-> self play-at-top-going-up-camera?) (>= 0.14 (-> self path-pos))) - (set! *teleport* #t) - (set! (-> self play-at-top-going-up-camera?) #f) - (load-state-want-display-level 'sunken 'special) - (let* ((gp-0 (get-process *default-dead-pool* village2cam #x4000)) - (v1-8 (when gp-0 - (let ((t9-3 (method-of-type village2cam activate))) - (t9-3 - (the-as village2cam gp-0) - self - 'village2cam - (the-as pointer #x70004000) - ) + (let ((t9-0 (-> (method-of-type plat-button plat-button-move-upward) trans))) + (if t9-0 + (t9-0) + ) + ) + (when (and (-> self play-at-top-going-up-camera?) (>= 0.14 (-> self path-pos))) + (set! *teleport* #t) + (set! (-> self play-at-top-going-up-camera?) #f) + (load-state-want-display-level 'sunken 'special) + (let* ((gp-0 (get-process *default-dead-pool* village2cam #x4000)) + (v1-8 (when gp-0 + (let ((t9-3 (method-of-type village2cam activate))) + (t9-3 (the-as village2cam gp-0) self 'village2cam (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + pov-camera-init-by-other + (-> self spawn-pos) + *village2cam-sg* + "elevator-at-top-going-down" + 0 + #f + '() + ) + (-> gp-0 ppointer) + ) ) - (run-now-in-process - gp-0 - pov-camera-init-by-other - (-> self spawn-pos) - *village2cam-sg* - "elevator-at-top-going-down" - 0 - #f - '() - ) - (-> gp-0 ppointer) - ) - ) - ) - (set! (-> (the-as village2cam (-> v1-8 0)) seq) (the-as uint 2)) - ) + ) + (set! (-> (the-as village2cam (-> v1-8 0)) seq) (the-as uint 2)) + ) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: @@ -202,31 +175,24 @@ :virtual #t :trans (behavior () - (let ((s5-0 (new 'stack-no-clear 'vector)) - (gp-0 (new 'stack-no-clear 'vector)) - ) - (set! *teleport* #t) - (set! (-> s5-0 quad) (-> self root-override trans quad)) - (let - ((t9-1 - (-> - (the-as (state sunken-elevator) (find-parent-method sunken-elevator 23)) - trans + (let ((s5-0 (new 'stack-no-clear 'vector)) + (gp-0 (new 'stack-no-clear 'vector)) + ) + (set! *teleport* #t) + (set! (-> s5-0 quad) (-> self root-override trans quad)) + (let ((t9-1 (-> (the-as (state sunken-elevator) (find-parent-method sunken-elevator 23)) trans))) + (if t9-1 + (t9-1) + ) + ) + (vector-! gp-0 (-> self root-override trans) s5-0) + (when (< (-> self path-pos) 0.9) + (TODO-RENAME-28 (-> *target* control) gp-0) + (send-event *target* 'reset-height) ) - ) ) - (if t9-1 - (t9-1) - ) - ) - (vector-! gp-0 (-> self root-override trans) s5-0) - (when (< (-> self path-pos) 0.9) - (TODO-RENAME-28 (-> *target* control) gp-0) - (send-event *target* 'reset-height) - ) + (none) ) - (none) - ) ) ;; definition for method 29 of type sunken-elevator @@ -234,14 +200,14 @@ (defmethod can-target-move? sunken-elevator ((obj sunken-elevator)) (set! (-> obj play-at-top-going-up-camera?) #f) (let ((s5-0 (new 'stack-no-clear 'vector))) - (eval-path-curve! (-> obj path) s5-0 0.4 'interp) - (set! (-> obj teleport-if-above-y) (-> s5-0 y)) - (eval-path-curve! (-> obj path) s5-0 0.6 'interp) - (let ((f0-1 (-> s5-0 y))) - (set! (-> obj teleport-if-below-y) f0-1) - (the-as symbol f0-1) + (eval-path-curve! (-> obj path) s5-0 0.4 'interp) + (set! (-> obj teleport-if-above-y) (-> s5-0 y)) + (eval-path-curve! (-> obj path) s5-0 0.6 'interp) + (let ((f0-1 (-> s5-0 y))) + (set! (-> obj teleport-if-below-y) f0-1) + (the-as symbol f0-1) + ) ) - ) ) ;; definition for method 27 of type sunken-elevator @@ -249,41 +215,29 @@ (defmethod TODO-RENAME-27 sunken-elevator ((obj sunken-elevator)) (ja-channel-set! 1) (cond - ((can-activate? obj) - (let ((s5-0 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-0 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity - ) - (set! (-> s5-0 frame-num) 0.0) - ) - ) - (else - (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity - ) - (set! - (-> s5-1 frame-num) - (the - float - (+ - (-> + ((can-activate? obj) + (let ((s5-0 (-> obj skel root-channel 0))) + (joint-control-channel-group-eval! + s5-0 (the-as art-joint-anim (-> obj draw art-group data 2)) - data - 0 - length + num-func-identity ) - -1 - ) + (set! (-> s5-0 frame-num) 0.0) ) - ) ) + (else + (let ((s5-1 (-> obj skel root-channel 0))) + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) + (the float (+ (-> (the-as art-joint-anim (-> obj draw art-group data 2)) data 0 length) -1)) + ) + ) + ) ) - ) (ja-post) (dummy-47 (-> obj root-override)) (none) diff --git a/test/decompiler/reference/levels/village2/village2-obs_REF.gc b/test/decompiler/reference/levels/village2/village2-obs_REF.gc index c5d2267da5..730c571a6a 100644 --- a/test/decompiler/reference/levels/village2/village2-obs_REF.gc +++ b/test/decompiler/reference/levels/village2/village2-obs_REF.gc @@ -14,8 +14,8 @@ ;; definition for method 3 of type village2cam (defmethod inspect village2cam ((obj village2cam)) (let ((t9-0 (method-of-type pov-camera inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tseq: ~D~%" (-> obj seq)) obj ) @@ -40,114 +40,62 @@ :virtual #t :code (behavior () - (let ((v1-0 (-> self seq))) - (cond - ((zero? v1-0) - (let ((a0-0 (-> self skel root-channel 0))) - (set! - (-> a0-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> a0-0 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length + (let ((v1-0 (-> self seq))) + (cond + ((zero? v1-0) + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> a0-0 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! a0-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! - a0-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((= v1-0 1) - (let ((a0-4 (-> self skel root-channel 0))) - (set! - (-> a0-4 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-4 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) ) - -1 + ) + ((= v1-0 1) + (let ((a0-4 (-> self skel root-channel 0))) + (set! (-> a0-4 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-4 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-4 param 1) 1.0) + (set! (-> a0-4 frame-num) 0.0) + (joint-control-channel-group! a0-4 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-5 (-> self skel root-channel 0))) + (set! (-> a0-5 param 0) (the float (+ (-> a0-5 frame-group data 0 length) -1))) + (set! (-> a0-5 param 1) 1.0) + (joint-control-channel-group-eval! a0-5 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ((= v1-0 2) + (pov-camera-play-and-reposition + (the-as joint-anim-compressed (-> self draw art-group data 4)) + (new 'static 'vector :x 2199552.0 :y 40960.0 :z -6676480.0) + 1.0 + ) + ) + (else + (suspend) + 0 ) - ) ) - (set! (-> a0-4 param 1) 1.0) - (set! (-> a0-4 frame-num) 0.0) - (joint-control-channel-group! - a0-4 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-5 (-> self skel root-channel 0))) - (set! - (-> a0-5 param 0) - (the float (+ (-> a0-5 frame-group data 0 length) -1)) - ) - (set! (-> a0-5 param 1) 1.0) - (joint-control-channel-group-eval! - a0-5 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ((= v1-0 2) - (pov-camera-play-and-reposition - (the-as joint-anim-compressed (-> self draw art-group data 4)) - (new 'static 'vector :x 2199552.0 :y 40960.0 :z -6676480.0) - 1.0 - ) - ) - (else - (suspend) - 0 - ) - ) + (go-virtual pov-camera-done-playing) + (none) ) - (go-virtual pov-camera-done-playing) - (none) - ) ) ;; failed to figure out what this is: @@ -192,8 +140,8 @@ ;; definition for method 3 of type pontoon (defmethod inspect pontoon ((obj pontoon)) (let ((t9-0 (method-of-type rigid-body-platform inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tanchor-point: #~%" (-> obj anchor-point)) (format #t "~T~Ttask: ~D~%" (-> obj task)) (format #t "~T~Talt-task: ~D~%" (-> obj alt-task)) @@ -203,45 +151,33 @@ ;; failed to figure out what this is: (defstate pontoon-hidden (pontoon) :enter - (behavior () - (logior! (-> self draw status) 2) - (clear-collide-with-as (-> self root-overlay)) - (none) - ) + (behavior () (logior! (-> self draw status) 2) (clear-collide-with-as (-> self root-overlay)) (none)) :exit (behavior () - (set! (-> self draw status) (logand -3 (-> self draw status))) - (restore-collide-with-as (-> self root-overlay)) - (none) - ) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (restore-collide-with-as (-> self root-overlay)) + (none) + ) :trans (behavior () - (if - (task-closed? - (the-as game-task (-> self task)) - (task-status need-resolution) - ) - (go-virtual rigid-body-platform-idle) + (if (task-closed? (the-as game-task (-> self task)) (task-status need-resolution)) + (go-virtual rigid-body-platform-idle) + ) + (none) ) - (none) - ) :code (behavior () - (while #t - (suspend) + (while #t + (suspend) + ) + (none) ) - (none) - ) ) ;; failed to figure out what this is: (defstate pontoon-die (pontoon) :code - (behavior () - (dummy-18 self) - (deactivate self) - (none) - ) + (behavior () (dummy-18 self) (deactivate self) (none)) ) ;; failed to figure out what this is: @@ -249,19 +185,19 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (cond - ((= v1-0 'die) - (dummy-18 self) - (deactivate self) - ) - (else - (rigid-body-platform-event-handler arg0 arg1 arg2 arg3) - ) - ) - ) + (let ((v1-0 arg2)) + (the-as object (cond + ((= v1-0 'die) + (dummy-18 self) + (deactivate self) + ) + (else + (rigid-body-platform-event-handler arg0 arg1 arg2 arg3) + ) + ) + ) + ) ) - ) ) ;; failed to figure out what this is: @@ -269,14 +205,14 @@ :virtual #t :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'die) - (dummy-18 self) - (deactivate self) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'die) + (dummy-18 self) + (deactivate self) + ) + ) + ) ) - ) ) ;; definition for method 11 of type pontoon @@ -291,28 +227,22 @@ (set! (-> obj task) (the-as uint (-> arg0 extra perm task))) (set! (-> obj alt-task) (res-lump-value arg0 'alt-task uint)) (cond - ((and - (nonzero? (-> obj alt-task)) - (task-closed? - (the-as game-task (-> obj alt-task)) - (task-status need-resolution) + ((and + (nonzero? (-> obj alt-task)) + (task-closed? (the-as game-task (-> obj alt-task)) (task-status need-resolution)) + ) + (go pontoon-die) + ) + ((zero? (-> obj task)) + (go (method-of-object obj rigid-body-platform-idle)) + ) + ((task-closed? (the-as game-task (-> obj task)) (task-status need-resolution)) + (go (method-of-object obj rigid-body-platform-idle)) + ) + (else + (go pontoon-hidden) ) - ) - (go pontoon-die) ) - ((zero? (-> obj task)) - (go (method-of-object obj rigid-body-platform-idle)) - ) - ((task-closed? - (the-as game-task (-> obj task)) - (task-status need-resolution) - ) - (go (method-of-object obj rigid-body-platform-idle)) - ) - (else - (go pontoon-hidden) - ) - ) 0 (none) ) @@ -320,75 +250,65 @@ ;; definition for method 23 of type pontoon ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-23 pontoon ((obj pontoon) (arg0 float)) - ((the-as - (function rigid-body-platform basic none) - (find-parent-method pontoon 23) - ) - obj - (the-as basic arg0) - ) + ((the-as (function rigid-body-platform basic none) (find-parent-method pontoon 23)) obj (the-as basic arg0)) (TODO-RENAME-27 obj (-> obj anchor-point)) 0 (none) ) ;; definition for symbol *pontoonfive-constants*, type rigid-body-platform-constants -(define - *pontoonfive-constants* - (new 'static 'rigid-body-platform-constants - :drag-factor 4.0 - :buoyancy-factor 3.0 - :max-buoyancy-depth (meters 3.0) - :gravity-factor 1.0 - :gravity (meters 80.0) - :player-weight (meters 35.0) - :player-bonk-factor 1.0 - :player-dive-factor 1.0 - :player-force-distance (meters 1000.0) - :player-force-clamp (meters 1000000.0) - :player-force-timeout #x1e - :explosion-force (meters 1000.0) - :linear-damping 0.98 - :angular-damping 0.98 - :control-point-count 4 - :mass 2.0 - :inertial-tensor-x (meters 2.5) - :inertial-tensor-y (meters 2.0) - :inertial-tensor-z (meters 3.2) - :idle-distance (meters 90.0) - :platform #t - :sound-name "pontoonten" - ) - ) +(define *pontoonfive-constants* (new 'static 'rigid-body-platform-constants + :drag-factor 4.0 + :buoyancy-factor 3.0 + :max-buoyancy-depth (meters 3.0) + :gravity-factor 1.0 + :gravity (meters 80.0) + :player-weight (meters 35.0) + :player-bonk-factor 1.0 + :player-dive-factor 1.0 + :player-force-distance (meters 1000.0) + :player-force-clamp (meters 1000000.0) + :player-force-timeout #x1e + :explosion-force (meters 1000.0) + :linear-damping 0.98 + :angular-damping 0.98 + :control-point-count 4 + :mass 2.0 + :inertial-tensor-x (meters 2.5) + :inertial-tensor-y (meters 2.0) + :inertial-tensor-z (meters 3.2) + :idle-distance (meters 90.0) + :platform #t + :sound-name "pontoonten" + ) + ) ;; definition for symbol *pontoonten-constants*, type rigid-body-platform-constants -(define - *pontoonten-constants* - (new 'static 'rigid-body-platform-constants - :drag-factor 4.0 - :buoyancy-factor 3.0 - :max-buoyancy-depth (meters 3.0) - :gravity-factor 1.0 - :gravity (meters 80.0) - :player-weight (meters 35.0) - :player-bonk-factor 1.0 - :player-dive-factor 1.0 - :player-force-distance (meters 1000.0) - :player-force-clamp (meters 1000000.0) - :player-force-timeout #x1e - :explosion-force (meters 1000.0) - :linear-damping 0.98 - :angular-damping 0.95 - :control-point-count 4 - :mass 4.0 - :inertial-tensor-x (meters 5.0) - :inertial-tensor-y (meters 2.0) - :inertial-tensor-z (meters 3.2) - :idle-distance (meters 90.0) - :platform #t - :sound-name "pontoonten" - ) - ) +(define *pontoonten-constants* (new 'static 'rigid-body-platform-constants + :drag-factor 4.0 + :buoyancy-factor 3.0 + :max-buoyancy-depth (meters 3.0) + :gravity-factor 1.0 + :gravity (meters 80.0) + :player-weight (meters 35.0) + :player-bonk-factor 1.0 + :player-dive-factor 1.0 + :player-force-distance (meters 1000.0) + :player-force-clamp (meters 1000000.0) + :player-force-timeout #x1e + :explosion-force (meters 1000.0) + :linear-damping 0.98 + :angular-damping 0.95 + :control-point-count 4 + :mass 4.0 + :inertial-tensor-x (meters 5.0) + :inertial-tensor-y (meters 2.0) + :inertial-tensor-z (meters 3.2) + :idle-distance (meters 90.0) + :platform #t + :sound-name "pontoonten" + ) + ) ;; definition of type pontoonfive (deftype pontoonfive (pontoon) @@ -402,8 +322,8 @@ ;; definition for method 3 of type pontoonfive (defmethod inspect pontoonfive ((obj pontoonfive)) (let ((t9-0 (method-of-type pontoon inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -419,8 +339,8 @@ ;; definition for method 3 of type pontoonten (defmethod inspect pontoonten ((obj pontoonten)) (let ((t9-0 (method-of-type pontoon inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -445,44 +365,26 @@ ;; definition for method 30 of type pontoonfive ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-30 pontoonfive ((obj pontoonfive)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 18432.0) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 18432.0) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-overlay) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-overlay) s5-0) - ) 0 (none) ) @@ -496,29 +398,29 @@ (set! (-> obj float-height-offset) 6144.0) (set! (-> obj root-overlay nav-radius) 12288.0) (let ((v1-6 (-> obj control-point-array data))) - (set! (-> v1-6 0 local-pos x) 9216.0) - (set! (-> v1-6 0 local-pos y) 0.0) - (set! (-> v1-6 0 local-pos z) 12083.2) - (set! (-> v1-6 0 local-pos w) 1.0) - ) + (set! (-> v1-6 0 local-pos x) 9216.0) + (set! (-> v1-6 0 local-pos y) 0.0) + (set! (-> v1-6 0 local-pos z) 12083.2) + (set! (-> v1-6 0 local-pos w) 1.0) + ) (let ((v1-8 (-> obj control-point-array data 1))) - (set! (-> v1-8 local-pos x) 9216.0) - (set! (-> v1-8 local-pos y) 0.0) - (set! (-> v1-8 local-pos z) -12083.2) - (set! (-> v1-8 local-pos w) 1.0) - ) + (set! (-> v1-8 local-pos x) 9216.0) + (set! (-> v1-8 local-pos y) 0.0) + (set! (-> v1-8 local-pos z) -12083.2) + (set! (-> v1-8 local-pos w) 1.0) + ) (let ((v1-10 (-> obj control-point-array data 2))) - (set! (-> v1-10 local-pos x) -9216.0) - (set! (-> v1-10 local-pos y) 0.0) - (set! (-> v1-10 local-pos z) -12083.2) - (set! (-> v1-10 local-pos w) 1.0) - ) + (set! (-> v1-10 local-pos x) -9216.0) + (set! (-> v1-10 local-pos y) 0.0) + (set! (-> v1-10 local-pos z) -12083.2) + (set! (-> v1-10 local-pos w) 1.0) + ) (let ((v1-12 (-> obj control-point-array data 3))) - (set! (-> v1-12 local-pos x) -9216.0) - (set! (-> v1-12 local-pos y) 0.0) - (set! (-> v1-12 local-pos z) 12083.2) - (set! (-> v1-12 local-pos w) 1.0) - ) + (set! (-> v1-12 local-pos x) -9216.0) + (set! (-> v1-12 local-pos y) 0.0) + (set! (-> v1-12 local-pos z) 12083.2) + (set! (-> v1-12 local-pos w) 1.0) + ) (set! (-> obj anchor-point quad) (-> obj root-overlay trans quad)) (nav-mesh-connect obj (-> obj root-overlay) (the-as nav-control #f)) 0 @@ -528,44 +430,26 @@ ;; definition for method 30 of type pontoonten ;; INFO: Return type mismatch int vs none. (defmethod TODO-RENAME-30 pontoonten ((obj pontoonten)) - (let - ((s5-0 - (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)) - ) - ) - (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) - (set! (-> s5-0 reaction) default-collision-reaction) - (set! - (-> s5-0 no-reaction) - (the-as - (function collide-shape-moving collide-shape-intersect vector vector none) - nothing - ) - ) - (dummy-29 s5-0 1) - (let - ((s4-0 - (new - 'process - 'collide-shape-prim-mesh - s5-0 - (the-as uint 0) - (the-as uint 0) - ) + (let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player)))) + (set! (-> s5-0 dynam) (copy *standard-dynamics* 'process)) + (set! (-> s5-0 reaction) default-collision-reaction) + (set! (-> s5-0 no-reaction) + (the-as (function collide-shape-moving collide-shape-intersect vector vector none) nothing) + ) + (dummy-29 s5-0 1) + (let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 3)) + (set! (-> s4-0 prim-core offense) 4) + (set! (-> s4-0 transform-index) 0) + (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 25395.2) + (set-root-prim! s5-0 s4-0) ) - ) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 3)) - (set! (-> s4-0 prim-core offense) 4) - (set! (-> s4-0 transform-index) 0) - (set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 25395.2) - (set-root-prim! s5-0 s4-0) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-overlay) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-overlay) s5-0) - ) 0 (none) ) @@ -579,29 +463,29 @@ (set! (-> obj float-height-offset) 6144.0) (set! (-> obj root-overlay nav-radius) 20480.0) (let ((v1-6 (-> obj control-point-array data))) - (set! (-> v1-6 0 local-pos x) 17408.0) - (set! (-> v1-6 0 local-pos y) 0.0) - (set! (-> v1-6 0 local-pos z) 10035.2) - (set! (-> v1-6 0 local-pos w) 1.0) - ) + (set! (-> v1-6 0 local-pos x) 17408.0) + (set! (-> v1-6 0 local-pos y) 0.0) + (set! (-> v1-6 0 local-pos z) 10035.2) + (set! (-> v1-6 0 local-pos w) 1.0) + ) (let ((v1-8 (-> obj control-point-array data 1))) - (set! (-> v1-8 local-pos x) 17408.0) - (set! (-> v1-8 local-pos y) 0.0) - (set! (-> v1-8 local-pos z) -10035.2) - (set! (-> v1-8 local-pos w) 1.0) - ) + (set! (-> v1-8 local-pos x) 17408.0) + (set! (-> v1-8 local-pos y) 0.0) + (set! (-> v1-8 local-pos z) -10035.2) + (set! (-> v1-8 local-pos w) 1.0) + ) (let ((v1-10 (-> obj control-point-array data 2))) - (set! (-> v1-10 local-pos x) -17408.0) - (set! (-> v1-10 local-pos y) 0.0) - (set! (-> v1-10 local-pos z) -10035.2) - (set! (-> v1-10 local-pos w) 1.0) - ) + (set! (-> v1-10 local-pos x) -17408.0) + (set! (-> v1-10 local-pos y) 0.0) + (set! (-> v1-10 local-pos z) -10035.2) + (set! (-> v1-10 local-pos w) 1.0) + ) (let ((v1-12 (-> obj control-point-array data 3))) - (set! (-> v1-12 local-pos x) -17408.0) - (set! (-> v1-12 local-pos y) 0.0) - (set! (-> v1-12 local-pos z) 10035.2) - (set! (-> v1-12 local-pos w) 1.0) - ) + (set! (-> v1-12 local-pos x) -17408.0) + (set! (-> v1-12 local-pos y) 0.0) + (set! (-> v1-12 local-pos z) 10035.2) + (set! (-> v1-12 local-pos w) 1.0) + ) (set! (-> obj anchor-point quad) (-> obj root-overlay trans quad)) (nav-mesh-connect obj (-> obj root-overlay) (the-as nav-control #f)) 0 @@ -609,98 +493,88 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 563) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-allpontoons-trail" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2841 :flags (is-3d) :period 900 :length 5) - (sp-item 2842 :flags (is-3d) :period 900 :length 5) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 563) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-allpontoons-trail" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2841 :flags (is-3d) :period 900 :length 5) + (sp-item 2842 :flags (is-3d) :period 900 :length 5) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2841) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 9.0) 1.0) - (sp-flt spt-y (meters 0.1)) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.001) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 3.2) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 10 29 1) - (sp-launcher-by-id spt-next-launcher 2843) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2841) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 9.0) 1.0) + (sp-flt spt-y (meters 0.1)) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.01) (meters 0.001) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 3.2) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 10 29 1) + (sp-launcher-by-id spt-next-launcher 2843) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2843) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.094814815) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2843) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.094814815) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2842) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters 8.0) (meters 8.0) 1.0) - (sp-flt spt-y (meters 0.1)) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.001) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 3.2) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int-plain-rnd spt-next-time 10 29 1) - (sp-launcher-by-id spt-next-launcher 2843) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2842) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters 8.0) (meters 8.0) 1.0) + (sp-flt spt-y (meters 0.1)) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.001) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 3.2) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int-plain-rnd spt-next-time 10 29 1) + (sp-launcher-by-id spt-next-launcher 2843) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition of type allpontoons (deftype allpontoons (process-drawable) @@ -715,8 +589,8 @@ ;; definition for method 3 of type allpontoons (defmethod inspect allpontoons ((obj allpontoons)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttask: ~D~%" (-> obj task)) obj ) @@ -734,98 +608,62 @@ (defstate allpontoons-be-clone (allpontoons) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (let ((v1-0 arg2)) - (the-as object (when (= v1-0 'end-mode) - (dummy-18 self) - (deactivate self) - ) - ) + (let ((v1-0 arg2)) + (the-as object (when (= v1-0 'end-mode) + (dummy-18 self) + (deactivate self) + ) + ) + ) ) - ) :enter (behavior ((arg0 handle)) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (logclear! (-> self mask) (process-mask actor-pause)) - (none) - ) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (logclear! (-> self mask) (process-mask actor-pause)) + (none) + ) :exit - (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (none) - ) + (behavior () (logior! (-> self mask) (process-mask actor-pause)) (none)) :trans (behavior () - (when (>= (ja-aframe-num 0) 500.0) - (spawn - (-> self part) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3)) - ) - (spawn - (-> self part) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4)) - ) - (spawn - (-> self part) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5)) - ) - (spawn - (-> self part) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 6)) - ) - (spawn - (-> self part) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7)) - ) - (spawn - (-> self part) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 9)) - ) + (when (>= (ja-aframe-num 0) 500.0) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 3))) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 4))) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 5))) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 6))) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 7))) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 9))) + ) + (none) ) - (none) - ) :code - (behavior ((arg0 handle)) - (clone-anim arg0 3 #t "") - (dummy-18 self) - (deactivate self) - (none) - ) + (behavior ((arg0 handle)) (clone-anim arg0 3 #t "") (dummy-18 self) (deactivate self) (none)) ) ;; failed to figure out what this is: (defstate allpontoons-idle (allpontoons) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('clone) - (go allpontoons-be-clone (the-as handle (-> arg3 param 0))) - ) - ) - ) - :enter - (behavior () - (logior! (-> self draw status) 2) - (none) - ) - :code - (behavior () - (while #t - (when - (and - (nonzero? (-> self task)) - (task-closed? - (the-as game-task (-> self task)) - (task-status need-resolution) + (case arg2 + (('clone) + (go allpontoons-be-clone (the-as handle (-> arg3 param 0))) ) ) - (dummy-18 self) - (deactivate self) - ) - (logior! (-> self mask) (process-mask sleep)) - (suspend) ) - (none) - ) + :enter + (behavior () (logior! (-> self draw status) 2) (none)) + :code + (behavior () + (while #t + (when (and (nonzero? (-> self task)) (task-closed? (the-as game-task (-> self task)) (task-status need-resolution))) + (dummy-18 self) + (deactivate self) + ) + (logior! (-> self mask) (process-mask sleep)) + (suspend) + ) + (none) + ) ) ;; definition for method 11 of type allpontoons @@ -835,10 +673,7 @@ (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *allpontoons-sg* '()) (set! (-> obj task) (the-as uint (-> arg0 extra perm task))) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 563) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 563) obj)) (go allpontoons-idle) (none) ) @@ -858,8 +693,8 @@ ;; definition for method 3 of type fireboulder (defmethod inspect fireboulder ((obj fireboulder)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Ttracker: ~D~%" (-> obj tracker)) (format #t "~T~Ttask: ~D~%" (-> obj task)) obj @@ -878,18 +713,18 @@ ;; INFO: Return type mismatch int vs none. (defbehavior fireboulder-disable-blocking-collision fireboulder () (let ((v1-1 (-> self root-override root-prim))) - (dotimes (a0-0 (-> (the-as collide-shape-prim-group v1-1) num-prims)) - (let ((a1-2 (-> (the-as collide-shape-prim-group v1-1) prims a0-0))) - (when (= (-> a1-2 prim-id) 256) - (set! (-> a1-2 prim-core collide-as) (the-as uint 0)) - (set! (-> a1-2 collide-with) (the-as uint 0)) - 0 + (dotimes (a0-0 (-> (the-as collide-shape-prim-group v1-1) num-prims)) + (let ((a1-2 (-> (the-as collide-shape-prim-group v1-1) prims a0-0))) + (when (= (-> a1-2 prim-id) 256) + (set! (-> a1-2 prim-core collide-as) (the-as uint 0)) + (set! (-> a1-2 collide-with) (the-as uint 0)) + 0 + ) + ) ) - ) + (set! (-> v1-1 local-sphere x) 0.0) + (set! (-> v1-1 local-sphere w) 24576.0) ) - (set! (-> v1-1 local-sphere x) 0.0) - (set! (-> v1-1 local-sphere w) 24576.0) - ) 0 (none) ) @@ -899,53 +734,41 @@ (defbehavior fireboulder-hover-stuff fireboulder () (local-vars (v0-1 object)) (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 4)) - (cond - ((handle->process (-> self tracker)) - (let - ((v1-6 (-> (the-as (pointer part-tracker) (-> self tracker process)) 0))) - (set! - (-> v1-6 start-time) - (the-as uint (-> *display* base-frame-counter)) + (vector<-cspace! gp-0 (-> self node-list data 4)) + (cond + ((handle->process (-> self tracker)) + (let ((v1-6 (-> (the-as (pointer part-tracker) (-> self tracker process)) 0))) + (set! (-> v1-6 start-time) (the-as uint (-> *display* base-frame-counter))) + (set! v0-1 (-> v1-6 root trans)) + ) + (set! (-> (the-as vector v0-1) quad) (-> gp-0 quad)) ) - (set! v0-1 (-> v1-6 root trans)) + (else + (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) + (set! v0-1 (ppointer->handle + (when gp-1 + (let ((t9-2 (method-of-type part-tracker activate))) + (t9-2 (the-as part-tracker gp-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-1 + part-tracker-init + (-> *part-group-id-table* 678) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-1 ppointer) + ) + ) + ) + ) + (set! (-> self tracker) (the-as handle v0-1)) + ) ) - (set! (-> (the-as vector v0-1) quad) (-> gp-0 quad)) - ) - (else - (let ((gp-1 (get-process *default-dead-pool* part-tracker #x4000))) - (set! v0-1 (ppointer->handle (when gp-1 - (let - ((t9-2 - (method-of-type part-tracker activate) - ) - ) - (t9-2 - (the-as part-tracker gp-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-1 - part-tracker-init - (-> *part-group-id-table* 678) - -1 - #f - #f - #f - (-> self root-override trans) - ) - (-> gp-1 ppointer) - ) - ) - ) - ) - (set! (-> self tracker) (the-as handle v0-1)) - ) ) - ) v0-1 ) @@ -953,96 +776,73 @@ (defstate fireboulder-hover (fireboulder) :enter (behavior () - (fireboulder-disable-blocking-collision) - (ja-channel-set! 1) - (let ((v1-2 (-> self skel root-channel 0))) - (set! - (-> v1-2 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) + (fireboulder-disable-blocking-collision) + (ja-channel-set! 1) + (let ((v1-2 (-> self skel root-channel 0))) + (set! (-> v1-2 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + ) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (set! (-> self root-override trans quad) (-> self entity extra trans quad)) + (vector-reset! (-> self draw origin)) + (logior! (-> self skel status) 1) + (ja-post) + (set! (-> self skel status) (logand -2 (-> self skel status))) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (vector<-cspace! gp-0 (-> self node-list data 4)) + (vector-! (-> self draw bounds) gp-0 (-> self root-override trans)) + ) + (set! (-> self draw bounds w) 24576.0) + (none) ) - (set! (-> self draw status) (logand -3 (-> self draw status))) - (set! (-> self root-override trans quad) (-> self entity extra trans quad)) - (vector-reset! (-> self draw origin)) - (logior! (-> self skel status) 1) - (ja-post) - (set! (-> self skel status) (logand -2 (-> self skel status))) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (vector<-cspace! gp-0 (-> self node-list data 4)) - (vector-! (-> self draw bounds) gp-0 (-> self root-override trans)) - ) - (set! (-> self draw bounds w) 24576.0) - (none) - ) :exit - (behavior () - (stop! (-> self sound)) - (none) - ) + (behavior () (stop! (-> self sound)) (none)) :trans - (behavior () - (fireboulder-hover-stuff) - (update! (-> self sound)) - (none) - ) + (behavior () (fireboulder-hover-stuff) (update! (-> self sound)) (none)) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (quaternion-rotate-y! + (-> self root-override quat) + (-> self root-override quat) + (* 455.1111 (-> *display* time-adjust-ratio)) + ) + (suspend) + (let ((a0-2 (-> self skel root-channel 0))) + (set! (-> a0-2 param 0) (the float (+ (-> a0-2 frame-group data 0 length) -1))) + (set! (-> a0-2 param 1) 1.0) + (joint-control-channel-group-eval! a0-2 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (quaternion-rotate-y! - (-> self root-override quat) - (-> self root-override quat) - (* 455.1111 (-> *display* time-adjust-ratio)) - ) - (suspend) - (let ((a0-2 (-> self skel root-channel 0))) - (set! - (-> a0-2 param 0) - (the float (+ (-> a0-2 frame-group data 0 length) -1)) - ) - (set! (-> a0-2 param 1) 1.0) - (joint-control-channel-group-eval! - a0-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior fireboulder) transform-post) ) @@ -1050,164 +850,125 @@ ;; failed to figure out what this is: (defstate fireboulder-be-clone (fireboulder) :event - (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('stop-cloning) - (go fireboulder-hover) - ) - ) - ) + (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) (case arg2 + (('stop-cloning) + (go fireboulder-hover) + ) + ) + ) :enter - (behavior ((arg0 handle)) - (logclear! (-> self mask) (process-mask actor-pause)) - (none) - ) + (behavior ((arg0 handle)) (logclear! (-> self mask) (process-mask actor-pause)) (none)) :exit (behavior () - (logior! (-> self mask) (process-mask actor-pause)) - (set! (-> self skel status) (logand -33 (-> self skel status))) - (none) - ) + (logior! (-> self mask) (process-mask actor-pause)) + (set! (-> self skel status) (logand -33 (-> self skel status))) + (none) + ) :trans (the-as (function none :behavior fireboulder) fireboulder-hover-stuff) :code (behavior ((arg0 handle)) - (clone-anim arg0 3 #t "") - (format 0 "ERROR: fireboulder-be-clone ended~%") - (dummy-18 self) - (deactivate self) - (none) - ) + (clone-anim arg0 3 #t "") + (format 0 "ERROR: fireboulder-be-clone ended~%") + (dummy-18 self) + (deactivate self) + (none) + ) ) ;; failed to figure out what this is: (defstate fireboulder-idle (fireboulder) :event (behavior ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block)) - (case arg2 - (('clone) - (go fireboulder-be-clone (the-as handle (-> arg3 param 0))) + (case arg2 + (('clone) + (go fireboulder-be-clone (the-as handle (-> arg3 param 0))) + ) ) ) - ) :exit (behavior () - (let ((a0-1 (handle->process (-> self tracker)))) - (if a0-1 - (deactivate a0-1) - ) + (let ((a0-1 (handle->process (-> self tracker)))) + (if a0-1 + (deactivate a0-1) + ) + ) + (none) ) - (none) - ) :code (behavior () - (transform-post) - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (cond - ((zero? (-> self task)) - ) - ((handle->process (-> self tracker)) - (set! - (-> - (the-as (pointer part-tracker) (-> self tracker process)) - 0 - start-time - ) - (the-as uint (-> *display* base-frame-counter)) - ) - ) - (else - (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) - (set! (-> self tracker) (ppointer->handle (when gp-0 - (let - ((t9-3 - (method-of-type - part-tracker - activate - ) - ) - ) - (t9-3 - (the-as part-tracker gp-0) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - part-tracker-init - (-> - *part-group-id-table* - 271 - ) - -1 - #f - #f - #f - (-> - self - root-override - trans - ) - ) - (-> gp-0 ppointer) + (transform-post) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length ) - ) - ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (cond + ((zero? (-> self task)) + ) + ((handle->process (-> self tracker)) + (set! (-> (the-as (pointer part-tracker) (-> self tracker process)) 0 start-time) + (the-as uint (-> *display* base-frame-counter)) + ) + ) + (else + (let ((gp-0 (get-process *default-dead-pool* part-tracker #x4000))) + (set! (-> self tracker) + (ppointer->handle + (when gp-0 + (let ((t9-3 (method-of-type part-tracker activate))) + (t9-3 (the-as part-tracker gp-0) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process + gp-0 + part-tracker-init + (-> *part-group-id-table* 271) + -1 + #f + #f + #f + (-> self root-override trans) + ) + (-> gp-0 ppointer) + ) + ) + ) + ) + ) + ) + (suspend) + (let ((a0-14 (-> self skel root-channel 0))) + (set! (-> a0-14 param 0) (the float (+ (-> a0-14 frame-group data 0 length) -1))) + (set! (-> a0-14 param 1) 1.0) + (joint-control-channel-group-eval! a0-14 (the-as art-joint-anim #f) num-func-seek!) + ) ) - ) ) - (suspend) - (let ((a0-14 (-> self skel root-channel 0))) - (set! - (-> a0-14 param 0) - (the float (+ (-> a0-14 frame-group data 0 length) -1)) - ) - (set! (-> a0-14 param 1) 1.0) - (joint-control-channel-group-eval! - a0-14 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior fireboulder) ja-post) ) @@ -1215,98 +976,75 @@ ;; definition for method 11 of type fireboulder ;; INFO: Return type mismatch object vs none. (defmethod init-from-entity! fireboulder ((obj fireboulder) (arg0 entity-actor)) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set-vector! (-> s3-0 local-sphere) -24576.0 18432.0 0.0 49152.0) - (set-root-prim! s4-0 s3-0) - (let - ((s2-0 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 0) - (the-as uint 0) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others)))) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 2) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set-vector! (-> s3-0 local-sphere) -24576.0 18432.0 0.0 49152.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 0) (the-as uint 0)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 512)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 4) + (set! (-> s2-0 transform-index) 4) + (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 24576.0) + (append-prim s3-0 s2-0) ) - ) - ) - (set! (-> s2-0 prim-core collide-as) (the-as uint 512)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 4) - (set! (-> s2-0 transform-index) 4) - (set-vector! (-> s2-0 local-sphere) 0.0 0.0 0.0 24576.0) - (append-prim s3-0 s2-0) - ) - (let - ((s2-1 - (new - 'process - 'collide-shape-prim-mesh - s4-0 - (the-as uint 1) - (the-as uint 256) + (let ((s2-1 (new 'process 'collide-shape-prim-mesh s4-0 (the-as uint 1) (the-as uint 256)))) + (set! (-> s2-1 prim-core collide-as) (the-as uint 512)) + (set! (-> s2-1 collide-with) (the-as uint 16)) + (set! (-> s2-1 prim-core action) (the-as uint 1)) + (set! (-> s2-1 prim-core offense) 4) + (set! (-> s2-1 transform-index) 4) + (set-vector! (-> s2-1 local-sphere) 0.0 0.0 -24576.0 49152.0) + (append-prim s3-0 s2-1) ) - ) ) - (set! (-> s2-1 prim-core collide-as) (the-as uint 512)) - (set! (-> s2-1 collide-with) (the-as uint 16)) - (set! (-> s2-1 prim-core action) (the-as uint 1)) - (set! (-> s2-1 prim-core offense) 4) - (set! (-> s2-1 transform-index) 4) - (set-vector! (-> s2-1 local-sphere) 0.0 0.0 -24576.0 49152.0) - (append-prim s3-0 s2-1) - ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root-override) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root-override) s4-0) - ) (process-drawable-from-entity! obj arg0) (cond - ((name= (-> obj name) "fireboulder-6") - (quaternion-axis-angle! (-> obj root-override quat) 0.0 1.0 0.0 16384.0) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "rock-hover") - :volume #x400 - :fo-max 30 - ) - (-> obj root-override trans) - ) + ((name= (-> obj name) "fireboulder-6") + (quaternion-axis-angle! (-> obj root-override quat) 0.0 1.0 0.0 16384.0) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "rock-hover") + :volume #x400 + :fo-max 30 + ) + (-> obj root-override trans) + ) + ) ) + (else + (fireboulder-disable-blocking-collision) + ) ) - (else - (fireboulder-disable-blocking-collision) - ) - ) (initialize-skeleton obj *fireboulder-sg* '()) (set! (-> obj tracker) (the-as handle #f)) (set-vector! (-> obj draw color-emissive) 0.125 0.0625 0.0 0.0) (set! (-> obj task) (the-as uint (-> arg0 extra perm task))) (cond - ((zero? (-> obj task)) - (go fireboulder-idle) + ((zero? (-> obj task)) + (go fireboulder-idle) + ) + ((= (get-task-status (-> arg0 extra perm task)) (task-status invalid)) + (go fireboulder-hover) + ) + (else + (go fireboulder-idle) + ) ) - ((= (get-task-status (-> arg0 extra perm task)) (task-status invalid)) - (go fireboulder-hover) - ) - (else - (go fireboulder-idle) - ) - ) (none) ) @@ -1322,8 +1060,8 @@ ;; definition for method 3 of type ceilingflag (defmethod inspect ceilingflag ((obj ceilingflag)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -1340,57 +1078,44 @@ (defstate ceilingflag-idle (ceilingflag) :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior ceilingflag) ja-post) ) @@ -1422,8 +1147,8 @@ ;; definition for method 3 of type exit-chamber-dummy (defmethod inspect exit-chamber-dummy ((obj exit-chamber-dummy)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Torig-trans: #~%" (-> obj orig-trans)) (format #t "~T~Tfcell-handle: ~D~%" (-> obj fcell-handle)) obj @@ -1440,15 +1165,15 @@ ;; definition for method 20 of type exit-chamber-dummy (defmethod skip-reminder? exit-chamber-dummy ((obj exit-chamber-dummy)) - (case (get-reminder (get-task-control (game-task sunken-room)) 0) - ((2) + (case (get-reminder (get-task-control (game-task sunken-room)) 0) + ((2) (let ((v1-4 (level-get *level* 'sunken))) - (if (or (not v1-4) (!= (-> v1-4 status) 'active)) - (return #t) + (if (or (not v1-4) (!= (-> v1-4 status) 'active)) + (return #t) + ) ) - ) ) - ) + ) #f ) @@ -1456,83 +1181,61 @@ (defstate exit-chamber-dummy-wait-to-appear (exit-chamber-dummy) :code (behavior () - (logior! (-> self draw status) 2) - (while (not (skip-reminder? self)) - (suspend) - ) - (when - (and - (not (task-complete? *game-info* (game-task sunken-room))) - (not (-> self child)) - ) - (let ((a0-3 (new 'stack-no-clear 'vector))) - (set! (-> a0-3 quad) (-> self root trans quad)) - (set! (-> a0-3 y) (+ 67584.0 (-> a0-3 y))) - (let - ((v1-12 - (birth-pickup-at-point - a0-3 - (pickup-type fuel-cell) - 47.0 - #f - self - (the-as fact-info #f) - ) - ) - ) - (set! (-> self fcell-handle) (ppointer->handle v1-12)) - (send-event (ppointer->process v1-12) 'collide-shape #f) + (logior! (-> self draw status) 2) + (while (not (skip-reminder? self)) + (suspend) ) - ) + (when (and (not (task-complete? *game-info* (game-task sunken-room))) (not (-> self child))) + (let ((a0-3 (new 'stack-no-clear 'vector))) + (set! (-> a0-3 quad) (-> self root trans quad)) + (set! (-> a0-3 y) (+ 67584.0 (-> a0-3 y))) + (let ((v1-12 (birth-pickup-at-point a0-3 (pickup-type fuel-cell) 47.0 #f self (the-as fact-info #f)))) + (set! (-> self fcell-handle) (ppointer->handle v1-12)) + (send-event (ppointer->process v1-12) 'collide-shape #f) + ) + ) + ) + (go exit-chamber-dummy-idle) + (none) ) - (go exit-chamber-dummy-idle) - (none) - ) ) ;; failed to figure out what this is: (defstate exit-chamber-dummy-idle (exit-chamber-dummy) :code (behavior () - (set! (-> self draw status) (logand -3 (-> self draw status))) - (let ((gp-0 0)) - (while (< gp-0 2) - (if (skip-reminder? self) - (set! gp-0 0) - (+! gp-0 1) - ) - (set! - (-> self root trans y) - (+ - (-> self orig-trans y) - (* - 2252.8 - (cos - (* 36.40889 (the float (mod (-> *display* base-frame-counter) 1800))) - ) + (set! (-> self draw status) (logand -3 (-> self draw status))) + (let ((gp-0 0)) + (while (< gp-0 2) + (if (skip-reminder? self) + (set! gp-0 0) + (+! gp-0 1) + ) + (set! (-> self root trans y) + (+ (-> self orig-trans y) + (* 2252.8 (cos (* 36.40889 (the float (mod (-> *display* base-frame-counter) 1800))))) + ) + ) + (let ((a0-7 (handle->process (-> self fcell-handle)))) + (when a0-7 + (let ((v1-14 (new 'stack-no-clear 'vector))) + (set! (-> v1-14 quad) (-> self root trans quad)) + (set! (-> v1-14 y) (+ 67584.0 (-> v1-14 y))) + (send-event a0-7 'trans v1-14) + ) + ) + ) + (suspend) ) - ) ) - (let ((a0-7 (handle->process (-> self fcell-handle)))) - (when a0-7 - (let ((v1-14 (new 'stack-no-clear 'vector))) - (set! (-> v1-14 quad) (-> self root trans quad)) - (set! (-> v1-14 y) (+ 67584.0 (-> v1-14 y))) - (send-event a0-7 'trans v1-14) - ) - ) + (let ((a0-11 (handle->process (-> self fcell-handle)))) + (if a0-11 + (deactivate a0-11) + ) ) - (suspend) - ) + (go exit-chamber-dummy-wait-to-appear) + (none) ) - (let ((a0-11 (handle->process (-> self fcell-handle)))) - (if a0-11 - (deactivate a0-11) - ) - ) - (go exit-chamber-dummy-wait-to-appear) - (none) - ) :post (the-as (function none :behavior exit-chamber-dummy) ja-post) ) @@ -1540,10 +1243,7 @@ ;; definition for method 11 of type exit-chamber-dummy ;; INFO: Return type mismatch object vs none. ;; Used lq/sq -(defmethod - init-from-entity! - exit-chamber-dummy - ((obj exit-chamber-dummy) (arg0 entity-actor)) +(defmethod init-from-entity! exit-chamber-dummy ((obj exit-chamber-dummy) (arg0 entity-actor)) (set! (-> obj fcell-handle) (the-as handle #f)) (set! (-> obj root) (new 'process 'trsqv)) (process-drawable-from-entity! obj arg0) @@ -1553,13 +1253,13 @@ (initialize-skeleton obj *exit-chamber-dummy-sg* '()) (ja-channel-set! 1) (let ((s5-1 (-> obj skel root-channel 0))) - (joint-control-channel-group-eval! - s5-1 - (the-as art-joint-anim (-> obj draw art-group data 2)) - num-func-identity + (joint-control-channel-group-eval! + s5-1 + (the-as art-joint-anim (-> obj draw art-group data 2)) + num-func-identity + ) + (set! (-> s5-1 frame-num) 0.0) ) - (set! (-> s5-1 frame-num) 0.0) - ) (logior! (-> obj draw status) 2) (go exit-chamber-dummy-wait-to-appear) (none) @@ -1578,8 +1278,8 @@ ;; definition for method 3 of type ogreboss-village2 (defmethod inspect ogreboss-village2 ((obj ogreboss-village2)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tboulder: ~D~%" (-> obj boulder)) obj ) @@ -1594,265 +1294,241 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 564) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-ogreboulder-trail" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 2319 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 2320 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) +(set! (-> *part-group-id-table* 564) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-ogreboulder-trail" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 2319 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 2320 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2320) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 48.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.00083333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.04)) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.21333334) - (sp-flt spt-fade-g -0.10666667) - (sp-flt spt-fade-b 0.10666667) - (sp-flt spt-fade-a -0.32) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2320) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 48.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.00083333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.04)) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.21333334) + (sp-flt spt-fade-g -0.10666667) + (sp-flt spt-fade-b 0.10666667) + (sp-flt spt-fade-a -0.32) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2319) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 96.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 80.0 80.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.00083333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.04)) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.53333336) - (sp-flt spt-fade-b -0.17777778) - (sp-flt spt-fade-a -1.0666667) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2319) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 8.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 96.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 80.0 80.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0016666667) (meters 0.00083333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.04)) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.53333336) + (sp-flt spt-fade-b -0.17777778) + (sp-flt spt-fade-a -1.0666667) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 551) - (new 'static 'sparticle-launch-group - :length 1 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-ogreboulder-hit-wall" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 2287 :period 900 :length 40) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 551) + (new 'static 'sparticle-launch-group + :length 1 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-ogreboulder-hit-wall" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2287 :period 900 :length 40)) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2287) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 12.0) - (sp-rnd-flt spt-y (meters 1.0) (meters 3.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 10.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-r 196.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-y (meters 1.4)) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 30) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2287) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 12.0) + (sp-rnd-flt spt-y (meters 1.0) (meters 3.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.4) (meters 0.1) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 10.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-r 196.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-y (meters 1.4)) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 30) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 552) - (new 'static 'sparticle-launch-group - :length 3 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-ogreboulder-splash" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2288 :period 900 :length 20) - (sp-item 2321 :flags (is-3d) :period 900 :length 10) - (sp-item 2322 :flags (is-3d) :period 900 :length 10) - ) - :bounds (new 'static 'sphere :w 262144.0) - ) - ) +(set! (-> *part-group-id-table* 552) (new 'static 'sparticle-launch-group + :length 3 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-ogreboulder-splash" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 2288 :period 900 :length 20) + (sp-item 2321 :flags (is-3d) :period 900 :length 10) + (sp-item 2322 :flags (is-3d) :period 900 :length 10) + ) + :bounds (new 'static 'sphere :w 262144.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2321) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 9.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 16.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.026666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 3.2) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 10 29 1) - (sp-launcher-by-id spt-next-launcher 2323) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2321) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 9.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 16.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.026666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 3.2) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 10 29 1) + (sp-launcher-by-id spt-next-launcher 2323) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2323) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.094814815) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2323) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.094814815) (sp-end)) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2322) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 8.0) - (sp-rnd-flt spt-x (meters 8.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 4.5) (meters 3.5) 1.0) - (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 3.2) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 10 29 1) - (sp-launcher-by-id spt-next-launcher 2323) - (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2322) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 8.0) + (sp-rnd-flt spt-x (meters 8.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 4.5) (meters 3.5) 1.0) + (sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 3.2) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 10 29 1) + (sp-launcher-by-id spt-next-launcher 2323) + (sp-rnd-flt spt-conerot-x (degrees 70.0) (degrees 20.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2288) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 16.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-scale-x (meters 12.0) (meters 6.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 50.0) - (sp-rnd-flt spt-g 80.0 64.0 1.0) - (sp-flt spt-b 200.0) - (sp-rnd-flt spt-a 48.0 48.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.10666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.026666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.16) - (sp-rnd-flt spt-accel-y 2.048 2.048 1.0) - (sp-flt spt-friction 0.85) - (sp-int spt-timer 660) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 90.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 8.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2288) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 16.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-scale-x (meters 12.0) (meters 6.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 50.0) + (sp-rnd-flt spt-g 80.0 64.0 1.0) + (sp-flt spt-b 200.0) + (sp-rnd-flt spt-a 48.0 48.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.10666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.026666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.16) + (sp-rnd-flt spt-accel-y 2.048 2.048 1.0) + (sp-flt spt-friction 0.85) + (sp-int spt-timer 660) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 90.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 8.0) 1.0) + (sp-end) + ) + ) + ) ;; definition for function ogreboss-village2-trans (defbehavior ogreboss-village2-trans ogreboss-village2 () - (when - (= (get-task-status (game-task village2-levitator)) (task-status invalid)) - (dummy-18 self) - (deactivate self) - ) + (when (= (get-task-status (game-task village2-levitator)) (task-status invalid)) + (dummy-18 self) + (deactivate self) + ) (none) ) @@ -1862,44 +1538,22 @@ (defbehavior boulder1-trans fireboulder () (spawn (-> self part) (-> self draw origin)) (when (>= (ja-aframe-num 0) 82.0) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self draw origin quad)) - (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) - (sound-play-by-name - (static-sound-name "boulder-splash") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self draw origin quad)) + (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) + (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) + (-> s5-1 ppointer) + ) ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 552) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) ) - ) + (send-event self 'trans-hook nothing) ) - (send-event self 'trans-hook nothing) - ) 0 (none) ) @@ -1910,44 +1564,22 @@ (defbehavior boulder2-trans-2 fireboulder () (spawn (-> self part) (-> self draw origin)) (when (>= (ja-aframe-num 0) 120.0) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self draw origin quad)) - (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) - (sound-play-by-name - (static-sound-name "boulder-splash") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self draw origin quad)) + (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) + (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) + (-> s5-1 ppointer) + ) ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 552) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) ) - ) + (send-event self 'trans-hook nothing) ) - (send-event self 'trans-hook nothing) - ) 0 (none) ) @@ -1958,44 +1590,22 @@ (defbehavior boulder2-trans fireboulder () (spawn (-> self part) (-> self draw origin)) (when (>= (ja-aframe-num 0) 82.0) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self draw origin quad)) - (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) - (sound-play-by-name - (static-sound-name "v2ogre-boulder") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self draw origin quad)) + (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) + (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) + (-> s5-1 ppointer) + ) ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 551) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) ) - ) + (send-event self 'trans-hook boulder2-trans-2) ) - (send-event self 'trans-hook boulder2-trans-2) - ) 0 (none) ) @@ -2006,44 +1616,22 @@ (defbehavior boulder3-trans-2 fireboulder () (spawn (-> self part) (-> self draw origin)) (when (>= (ja-aframe-num 0) 131.0) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self draw origin quad)) - (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) - (sound-play-by-name - (static-sound-name "boulder-splash") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self draw origin quad)) + (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) + (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) + (-> s5-1 ppointer) + ) ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 552) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) ) - ) + (send-event self 'trans-hook nothing) ) - (send-event self 'trans-hook nothing) - ) 0 (none) ) @@ -2054,44 +1642,22 @@ (defbehavior boulder3-trans fireboulder () (spawn (-> self part) (-> self draw origin)) (when (>= (ja-aframe-num 0) 80.0) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self draw origin quad)) - (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) - (sound-play-by-name - (static-sound-name "v2ogre-boulder") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self draw origin quad)) + (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) + (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) + (-> s5-1 ppointer) + ) ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 551) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) ) - ) + (send-event self 'trans-hook boulder3-trans-2) ) - (send-event self 'trans-hook boulder3-trans-2) - ) 0 (none) ) @@ -2102,44 +1668,22 @@ (defbehavior boulder4-trans-3 fireboulder () (spawn (-> self part) (-> self draw origin)) (when (>= (ja-aframe-num 0) 152.4) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self draw origin quad)) - (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) - (sound-play-by-name - (static-sound-name "boulder-splash") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self draw origin quad)) + (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) + (sound-play-by-name (static-sound-name "boulder-splash") (new-sound-id) 1024 0 0 1 #t) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 552) -1 #f #f #f gp-0) + (-> s5-1 ppointer) + ) ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 552) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) ) - ) + (send-event self 'trans-hook nothing) ) - (send-event self 'trans-hook nothing) - ) 0 (none) ) @@ -2150,44 +1694,22 @@ (defbehavior boulder4-trans-2 fireboulder () (spawn (-> self part) (-> self draw origin)) (when (>= (ja-aframe-num 0) 116.0) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self draw origin quad)) - (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) - (sound-play-by-name - (static-sound-name "v2ogre-boulder") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self draw origin quad)) + (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) + (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) + (-> s5-1 ppointer) + ) ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 551) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) ) - ) + (send-event self 'trans-hook boulder4-trans-3) ) - (send-event self 'trans-hook boulder4-trans-3) - ) 0 (none) ) @@ -2198,44 +1720,22 @@ (defbehavior boulder4-trans fireboulder () (spawn (-> self part) (-> self draw origin)) (when (>= (ja-aframe-num 0) 74.0) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (set! (-> gp-0 quad) (-> self draw origin quad)) - (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) - (sound-play-by-name - (static-sound-name "v2ogre-boulder") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) - (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) - (when s5-1 - (let ((t9-5 (method-of-type part-tracker activate))) - (t9-5 - (the-as part-tracker s5-1) - *entity-pool* - 'part-tracker - (the-as pointer #x70004000) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (set! (-> gp-0 quad) (-> self draw origin quad)) + (set! (-> gp-0 y) (+ 2048.0 (-> gp-0 y))) + (sound-play-by-name (static-sound-name "v2ogre-boulder") (new-sound-id) 1024 0 0 1 #t) + (let ((s5-1 (get-process *default-dead-pool* part-tracker #x4000))) + (when s5-1 + (let ((t9-5 (method-of-type part-tracker activate))) + (t9-5 (the-as part-tracker s5-1) *entity-pool* 'part-tracker (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 part-tracker-init (-> *part-group-id-table* 551) -1 #f #f #f gp-0) + (-> s5-1 ppointer) + ) ) - ) - (run-now-in-process - s5-1 - part-tracker-init - (-> *part-group-id-table* 551) - -1 - #f - #f - #f - gp-0 - ) - (-> s5-1 ppointer) ) - ) + (send-event self 'trans-hook boulder4-trans-2) ) - (send-event self 'trans-hook boulder4-trans-2) - ) 0 (none) ) @@ -2246,207 +1746,97 @@ ogreboss-village2-trans :code (behavior () - (let ((gp-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> self boulder) (ppointer->handle (when gp-0 - (let - ((t9-1 - (method-of-type - manipy - activate - ) - ) - ) - (t9-1 - (the-as manipy gp-0) - self - 'manipy - (the-as pointer #x70004000) - ) - ) - (run-now-in-process - gp-0 - manipy-init - (-> self entity extra trans) - (-> self entity) - *fireboulder-sg* - #f - ) - (-> gp-0 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> self boulder)) 'anim-mode 'play1) - (send-event - (handle->process (-> self boulder)) - 'art-joint-anim - "fireboulder-pre-throw" - 0 - ) - (send-event (handle->process (-> self boulder)) 'draw #t) - (send-event (handle->process (-> self boulder)) 'origin-joint-index 4) - (send-event (handle->process (-> self boulder)) 'max-vis-dist 2048000.0) - (send-event - (handle->process (-> self boulder)) - 'eval - (lambda :behavior ogreboss-village2 - () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 564) self))) - (set! (-> self part) v0-0) - v0-0 + (let ((gp-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> self boulder) + (ppointer->handle + (when gp-0 + (let ((t9-1 (method-of-type manipy activate))) + (t9-1 (the-as manipy gp-0) self 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process gp-0 manipy-init (-> self entity extra trans) (-> self entity) *fireboulder-sg* #f) + (-> gp-0 ppointer) + ) + ) + ) ) - ) - ) - (ja-channel-push! 1 60) - (let ((a0-31 (-> self skel root-channel 0))) - (set! - (-> a0-31 frame-group) - (the-as art-joint-anim (-> self draw art-group data 7)) - ) - (set! - (-> a0-31 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 7)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-31 param 1) 1.0) - (set! (-> a0-31 frame-num) 0.0) - (joint-control-channel-group! - a0-31 - (the-as art-joint-anim (-> self draw art-group data 7)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-32 (-> self skel root-channel 0))) - (set! - (-> a0-32 param 0) - (the float (+ (-> a0-32 frame-group data 0 length) -1)) - ) - (set! (-> a0-32 param 1) 1.0) - (joint-control-channel-group-eval! - a0-32 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let* ((v1-72 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-73 (the-as number (logior #x3f800000 v1-72))) - (f0-9 (+ -1.0 (the-as float v1-73))) + (send-event (handle->process (-> self boulder)) 'anim-mode 'play1) + (send-event (handle->process (-> self boulder)) 'art-joint-anim "fireboulder-pre-throw" 0) + (send-event (handle->process (-> self boulder)) 'draw #t) + (send-event (handle->process (-> self boulder)) 'origin-joint-index 4) + (send-event (handle->process (-> self boulder)) 'max-vis-dist 2048000.0) + (send-event + (handle->process (-> self boulder)) + 'eval + (lambda :behavior ogreboss-village2 + () + (let ((v0-0 (create-launch-control (-> *part-group-id-table* 564) self))) + (set! (-> self part) v0-0) + v0-0 ) - (cond - ((< 0.75 f0-9) - (send-event - (handle->process (-> self boulder)) - 'art-joint-anim - "fireboulder-boulder1" - 0 - ) - (send-event - (handle->process (-> self boulder)) - 'trans-hook - boulder1-trans - ) - ) - ((< 0.5 f0-9) - (send-event - (handle->process (-> self boulder)) - 'art-joint-anim - "fireboulder-boulder2" - 0 - ) - (send-event - (handle->process (-> self boulder)) - 'trans-hook - boulder2-trans - ) - ) - ((< 0.25 f0-9) - (send-event - (handle->process (-> self boulder)) - 'art-joint-anim - "fireboulder-boulder3" - 0 - ) - (send-event - (handle->process (-> self boulder)) - 'trans-hook - boulder3-trans - ) - ) - (else - (send-event - (handle->process (-> self boulder)) - 'art-joint-anim - "fireboulder-boulder4" - 0 - ) - (send-event - (handle->process (-> self boulder)) - 'trans-hook - boulder4-trans - ) - ) - ) - ) - (ja-channel-push! 1 60) - (let ((a0-69 (-> self skel root-channel 0))) - (set! - (-> a0-69 frame-group) - (the-as art-joint-anim (-> self draw art-group data 5)) - ) - (set! - (-> a0-69 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 5)) - data - 0 - length ) - -1 - ) ) - ) - (set! (-> a0-69 param 1) 1.0) - (set! (-> a0-69 frame-num) 0.0) - (joint-control-channel-group! - a0-69 - (the-as art-joint-anim (-> self draw art-group data 5)) - num-func-seek! - ) + (ja-channel-push! 1 60) + (let ((a0-31 (-> self skel root-channel 0))) + (set! (-> a0-31 frame-group) (the-as art-joint-anim (-> self draw art-group data 7))) + (set! (-> a0-31 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 7)) data 0 length) -1)) + ) + (set! (-> a0-31 param 1) 1.0) + (set! (-> a0-31 frame-num) 0.0) + (joint-control-channel-group! a0-31 (the-as art-joint-anim (-> self draw art-group data 7)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-32 (-> self skel root-channel 0))) + (set! (-> a0-32 param 0) (the float (+ (-> a0-32 frame-group data 0 length) -1))) + (set! (-> a0-32 param 1) 1.0) + (joint-control-channel-group-eval! a0-32 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let* ((v1-72 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-73 (the-as number (logior #x3f800000 v1-72))) + (f0-9 (+ -1.0 (the-as float v1-73))) + ) + (cond + ((< 0.75 f0-9) + (send-event (handle->process (-> self boulder)) 'art-joint-anim "fireboulder-boulder1" 0) + (send-event (handle->process (-> self boulder)) 'trans-hook boulder1-trans) + ) + ((< 0.5 f0-9) + (send-event (handle->process (-> self boulder)) 'art-joint-anim "fireboulder-boulder2" 0) + (send-event (handle->process (-> self boulder)) 'trans-hook boulder2-trans) + ) + ((< 0.25 f0-9) + (send-event (handle->process (-> self boulder)) 'art-joint-anim "fireboulder-boulder3" 0) + (send-event (handle->process (-> self boulder)) 'trans-hook boulder3-trans) + ) + (else + (send-event (handle->process (-> self boulder)) 'art-joint-anim "fireboulder-boulder4" 0) + (send-event (handle->process (-> self boulder)) 'trans-hook boulder4-trans) + ) + ) + ) + (ja-channel-push! 1 60) + (let ((a0-69 (-> self skel root-channel 0))) + (set! (-> a0-69 frame-group) (the-as art-joint-anim (-> self draw art-group data 5))) + (set! (-> a0-69 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 5)) data 0 length) -1)) + ) + (set! (-> a0-69 param 1) 1.0) + (set! (-> a0-69 frame-num) 0.0) + (joint-control-channel-group! a0-69 (the-as art-joint-anim (-> self draw art-group data 5)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-70 (-> self skel root-channel 0))) + (set! (-> a0-70 param 0) (the float (+ (-> a0-70 frame-group data 0 length) -1))) + (set! (-> a0-70 param 1) 1.0) + (joint-control-channel-group-eval! a0-70 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (go ogreboss-village2-idle) + (none) ) - (until (ja-done? 0) - (suspend) - (let ((a0-70 (-> self skel root-channel 0))) - (set! - (-> a0-70 param 0) - (the float (+ (-> a0-70 frame-group data 0 length) -1)) - ) - (set! (-> a0-70 param 1) 1.0) - (joint-control-channel-group-eval! - a0-70 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (go ogreboss-village2-idle) - (none) - ) :post (the-as (function none :behavior ogreboss-village2) ja-post) ) @@ -2457,301 +1847,171 @@ ogreboss-village2-trans :code (behavior () - (while #t - (ja-channel-push! 1 30) - (let ((v1-0 (rand-vu-int-range 0 2))) - (cond - ((zero? v1-0) - (let ((gp-0 (-> self skel root-channel 0))) - (set! - (-> gp-0 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! (-> gp-0 param 0) (ja-aframe 140.0 0)) - (set! (-> gp-0 param 1) 1.0) - (set! (-> gp-0 frame-num) 0.0) - (joint-control-channel-group! - gp-0 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 param 0) (ja-aframe 140.0 0)) - (set! (-> gp-1 param 1) 1.0) - (joint-control-channel-group-eval! - gp-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-2 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-2) 50) - (suspend) - ) - ) - (let ((gp-3 (-> self skel root-channel 0))) - (set! - (-> gp-3 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! (-> gp-3 param 0) (ja-aframe 168.0 0)) - (set! (-> gp-3 param 1) 1.0) - (set! (-> gp-3 frame-num) (ja-aframe 140.0 0)) - (joint-control-channel-group! - gp-3 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-4 (-> self skel root-channel 0))) - (set! (-> gp-4 param 0) (ja-aframe 168.0 0)) - (set! (-> gp-4 param 1) 1.0) - (joint-control-channel-group-eval! - gp-4 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-5 (-> *display* base-frame-counter))) - (until (>= (- (-> *display* base-frame-counter) gp-5) 50) - (suspend) - ) - ) - (let ((gp-6 (-> self skel root-channel 0))) - (set! - (-> gp-6 frame-group) - (the-as art-joint-anim (-> self draw art-group data 2)) - ) - (set! - (-> gp-6 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 2)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> gp-6 param 1) 1.0) - (set! (-> gp-6 frame-num) (ja-aframe 168.0 0)) - (joint-control-channel-group! - gp-6 - (the-as art-joint-anim (-> self draw art-group data 2)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-15 (-> self skel root-channel 0))) - (set! - (-> a0-15 param 0) - (the float (+ (-> a0-15 frame-group data 0 length) -1)) - ) - (set! (-> a0-15 param 1) 1.0) - (joint-control-channel-group-eval! - a0-15 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((= v1-0 1) - (let ((a0-18 (-> self skel root-channel 0))) - (set! - (-> a0-18 frame-group) - (the-as art-joint-anim (-> self draw art-group data 4)) - ) - (set! - (-> a0-18 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 4)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-18 param 1) 1.0) - (set! (-> a0-18 frame-num) 0.0) - (joint-control-channel-group! - a0-18 - (the-as art-joint-anim (-> self draw art-group data 4)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-19 (-> self skel root-channel 0))) - (set! - (-> a0-19 param 0) - (the float (+ (-> a0-19 frame-group data 0 length) -1)) - ) - (set! (-> a0-19 param 1) 1.0) - (joint-control-channel-group-eval! - a0-19 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - (else - (dotimes (gp-7 4) - (let ((a0-21 (-> self skel root-channel 0))) - (set! - (-> a0-21 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-21 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length + (while #t + (ja-channel-push! 1 30) + (let ((v1-0 (rand-vu-int-range 0 2))) + (cond + ((zero? v1-0) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> gp-0 param 0) (ja-aframe 140.0 0)) + (set! (-> gp-0 param 1) 1.0) + (set! (-> gp-0 frame-num) 0.0) + (joint-control-channel-group! gp-0 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) ) - -1 + (until (ja-done? 0) + (suspend) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 param 0) (ja-aframe 140.0 0)) + (set! (-> gp-1 param 1) 1.0) + (joint-control-channel-group-eval! gp-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-2 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-2) 50) + (suspend) + ) + ) + (let ((gp-3 (-> self skel root-channel 0))) + (set! (-> gp-3 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> gp-3 param 0) (ja-aframe 168.0 0)) + (set! (-> gp-3 param 1) 1.0) + (set! (-> gp-3 frame-num) (ja-aframe 140.0 0)) + (joint-control-channel-group! gp-3 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-4 (-> self skel root-channel 0))) + (set! (-> gp-4 param 0) (ja-aframe 168.0 0)) + (set! (-> gp-4 param 1) 1.0) + (joint-control-channel-group-eval! gp-4 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-5 (-> *display* base-frame-counter))) + (until (>= (- (-> *display* base-frame-counter) gp-5) 50) + (suspend) + ) + ) + (let ((gp-6 (-> self skel root-channel 0))) + (set! (-> gp-6 frame-group) (the-as art-joint-anim (-> self draw art-group data 2))) + (set! (-> gp-6 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 2)) data 0 length) -1)) + ) + (set! (-> gp-6 param 1) 1.0) + (set! (-> gp-6 frame-num) (ja-aframe 168.0 0)) + (joint-control-channel-group! gp-6 (the-as art-joint-anim (-> self draw art-group data 2)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-15 (-> self skel root-channel 0))) + (set! (-> a0-15 param 0) (the float (+ (-> a0-15 frame-group data 0 length) -1))) + (set! (-> a0-15 param 1) 1.0) + (joint-control-channel-group-eval! a0-15 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ((= v1-0 1) + (let ((a0-18 (-> self skel root-channel 0))) + (set! (-> a0-18 frame-group) (the-as art-joint-anim (-> self draw art-group data 4))) + (set! (-> a0-18 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 4)) data 0 length) -1)) + ) + (set! (-> a0-18 param 1) 1.0) + (set! (-> a0-18 frame-num) 0.0) + (joint-control-channel-group! a0-18 (the-as art-joint-anim (-> self draw art-group data 4)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-19 (-> self skel root-channel 0))) + (set! (-> a0-19 param 0) (the float (+ (-> a0-19 frame-group data 0 length) -1))) + (set! (-> a0-19 param 1) 1.0) + (joint-control-channel-group-eval! a0-19 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + (else + (dotimes (gp-7 4) + (let ((a0-21 (-> self skel root-channel 0))) + (set! (-> a0-21 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-21 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) + ) + (set! (-> a0-21 param 1) 1.0) + (set! (-> a0-21 frame-num) 0.0) + (joint-control-channel-group! a0-21 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-22 (-> self skel root-channel 0))) + (set! (-> a0-22 param 0) (the float (+ (-> a0-22 frame-group data 0 length) -1))) + (set! (-> a0-22 param 1) 1.0) + (joint-control-channel-group-eval! a0-22 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) ) - ) ) - (set! (-> a0-21 param 1) 1.0) - (set! (-> a0-21 frame-num) 0.0) - (joint-control-channel-group! - a0-21 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-22 (-> self skel root-channel 0))) - (set! - (-> a0-22 param 0) - (the float (+ (-> a0-22 frame-group data 0 length) -1)) - ) - (set! (-> a0-22 param 1) 1.0) - (joint-control-channel-group-eval! - a0-22 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) ) - ) + (let* ((v1-104 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-105 (the-as number (logior #x3f800000 v1-104))) + (f0-33 (+ -1.0 (the-as float v1-105))) + ) + (cond + ((< 0.6666667 f0-33) + (ja-channel-push! 1 60) + (let ((a0-27 (-> self skel root-channel 0))) + (set! (-> a0-27 frame-group) (the-as art-joint-anim (-> self draw art-group data 6))) + (set! (-> a0-27 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 6)) data 0 length) -1)) + ) + (set! (-> a0-27 param 1) 1.0) + (set! (-> a0-27 frame-num) 0.0) + (joint-control-channel-group! a0-27 (the-as art-joint-anim (-> self draw art-group data 6)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-28 (-> self skel root-channel 0))) + (set! (-> a0-28 param 0) (the float (+ (-> a0-28 frame-group data 0 length) -1))) + (set! (-> a0-28 param 1) 1.0) + (joint-control-channel-group-eval! a0-28 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + ) + ((not (handle->process (-> self boulder))) + (go ogreboss-village2-throw) + ) + ) + ) ) - ) - (let* ((v1-104 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-105 (the-as number (logior #x3f800000 v1-104))) - (f0-33 (+ -1.0 (the-as float v1-105))) - ) - (cond - ((< 0.6666667 f0-33) - (ja-channel-push! 1 60) - (let ((a0-27 (-> self skel root-channel 0))) - (set! - (-> a0-27 frame-group) - (the-as art-joint-anim (-> self draw art-group data 6)) - ) - (set! - (-> a0-27 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 6)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-27 param 1) 1.0) - (set! (-> a0-27 frame-num) 0.0) - (joint-control-channel-group! - a0-27 - (the-as art-joint-anim (-> self draw art-group data 6)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-28 (-> self skel root-channel 0))) - (set! - (-> a0-28 param 0) - (the float (+ (-> a0-28 frame-group data 0 length) -1)) - ) - (set! (-> a0-28 param 1) 1.0) - (joint-control-channel-group-eval! - a0-28 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - ) - ((not (handle->process (-> self boulder))) - (go ogreboss-village2-throw) - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior ogreboss-village2) ja-post) ) ;; definition for method 11 of type ogreboss-village2 ;; INFO: Return type mismatch object vs none. -(defmethod - init-from-entity! - ogreboss-village2 - ((obj ogreboss-village2) (arg0 entity-actor)) - (let - ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 1) 0))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set-vector! (-> s3-0 local-sphere) 0.0 40960.0 0.0 40960.0) - (set-root-prim! s4-0 s3-0) - (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 3)))) - (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s2-0 collide-with) (the-as uint 16)) - (set! (-> s2-0 prim-core action) (the-as uint 1)) - (set! (-> s2-0 prim-core offense) 1) - (set-vector! (-> s2-0 local-sphere) 0.0 34816.0 0.0 14336.0) - (append-prim s3-0 s2-0) - ) +(defmethod init-from-entity! ogreboss-village2 ((obj ogreboss-village2) (arg0 entity-actor)) + (let ((s4-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s3-0 (new 'process 'collide-shape-prim-group s4-0 (the-as uint 1) 0))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set-vector! (-> s3-0 local-sphere) 0.0 40960.0 0.0 40960.0) + (set-root-prim! s4-0 s3-0) + (let ((s2-0 (new 'process 'collide-shape-prim-sphere s4-0 (the-as uint 3)))) + (set! (-> s2-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s2-0 collide-with) (the-as uint 16)) + (set! (-> s2-0 prim-core action) (the-as uint 1)) + (set! (-> s2-0 prim-core offense) 1) + (set-vector! (-> s2-0 local-sphere) 0.0 34816.0 0.0 14336.0) + (append-prim s3-0 s2-0) + ) + ) + (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) + (backup-collide-with-as s4-0) + (set! (-> obj root) s4-0) ) - (set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w))) - (backup-collide-with-as s4-0) - (set! (-> obj root) s4-0) - ) (process-drawable-from-entity! obj arg0) (initialize-skeleton obj *ogreboss-village2-sg* '()) (set-vector! (-> obj root scale) 0.65 0.65 0.65 1.0) @@ -2775,8 +2035,8 @@ ;; definition for method 3 of type villageb-ogreboss (defmethod inspect villageb-ogreboss ((obj villageb-ogreboss)) (let ((t9-0 (method-of-type ogreboss-village2 inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -2792,42 +2052,40 @@ ;; definition for method 3 of type villageb-water (defmethod inspect villageb-water ((obj villageb-water)) (let ((t9-0 (method-of-type water-anim inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; definition for symbol ripple-for-villageb-water, type ripple-wave-set -(define - ripple-for-villageb-water - (new 'static 'ripple-wave-set - :count 3 - :converted #f - :normal-scale 6.0 - :wave - (new 'static 'inline-array ripple-wave 4 - (new 'static 'ripple-wave :scale 7.0 :xdiv 1 :speed 6.0) - (new 'static 'ripple-wave :scale 7.0 :xdiv -1 :zdiv 1 :speed 6.0) - (new 'static 'ripple-wave :scale 3.0 :xdiv 5 :zdiv 3 :speed 3.0) - (new 'static 'ripple-wave) - ) - ) - ) +(define ripple-for-villageb-water (new 'static 'ripple-wave-set + :count 3 + :converted #f + :normal-scale 6.0 + :wave + (new 'static 'inline-array ripple-wave 4 + (new 'static 'ripple-wave :scale 7.0 :xdiv 1 :speed 6.0) + (new 'static 'ripple-wave :scale 7.0 :xdiv -1 :zdiv 1 :speed 6.0) + (new 'static 'ripple-wave :scale 3.0 :xdiv 5 :zdiv 3 :speed 3.0) + (new 'static 'ripple-wave) + ) + ) + ) ;; definition for method 22 of type villageb-water (defmethod TODO-RENAME-22 villageb-water ((obj villageb-water)) (let ((t9-0 (method-of-type water-anim TODO-RENAME-22))) - (t9-0 obj) - ) - (let ((v1-2 (new 'process 'ripple-control))) - (set! (-> obj draw ripple) v1-2) - (set-vector! (-> obj draw color-mult) 0.01 0.45 0.5 0.75) - (set! (-> v1-2 global-scale) 3072.0) - (set! (-> v1-2 close-fade-dist) 163840.0) - (set! (-> v1-2 far-fade-dist) 245760.0) - (let ((v0-2 ripple-for-villageb-water)) - (set! (-> v1-2 waveform) v0-2) - v0-2 + (t9-0 obj) + ) + (let ((v1-2 (new 'process 'ripple-control))) + (set! (-> obj draw ripple) v1-2) + (set-vector! (-> obj draw color-mult) 0.01 0.45 0.5 0.75) + (set! (-> v1-2 global-scale) 3072.0) + (set! (-> v1-2 close-fade-dist) 163840.0) + (set! (-> v1-2 far-fade-dist) 245760.0) + (let ((v0-2 ripple-for-villageb-water)) + (set! (-> v1-2 waveform) v0-2) + v0-2 + ) ) - ) ) diff --git a/test/decompiler/reference/levels/village2/village2-part2_REF.gc b/test/decompiler/reference/levels/village2/village2-part2_REF.gc index 20ca58d99a..04e35c78cd 100644 --- a/test/decompiler/reference/levels/village2/village2-part2_REF.gc +++ b/test/decompiler/reference/levels/village2/village2-part2_REF.gc @@ -2,3974 +2,3726 @@ (in-package goal) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1208) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1209) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.16) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1210) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -2.6666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 277) - (new 'static 'sparticle-launch-group - :length 56 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-village2-waterfall-29" - :launcher - (new 'static 'inline-array sparticle-group-item 56 - (sp-item 1211) - (sp-item 1211 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1211 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1212 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1213 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1214) - (sp-item 1214 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1214 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1215 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1216 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1217) - (sp-item 1217 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1217 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1218 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1219 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1220) - (sp-item 1220 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1220 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1221 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1222 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1223) - (sp-item 1223 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1223 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1224) - (sp-item 1224 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1224 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1225 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1226 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1227 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1228) - (sp-item 1228 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1228 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1229 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) - (sp-item 1230) - (sp-item 1230 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1230 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1231 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) - (sp-item 1232) - (sp-item 1232 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1232 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1233 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) - (sp-item 1234) - (sp-item 1234 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1234 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1235) - (sp-item 1235 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1235 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1236 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1237 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1238 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1239 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1240) - (sp-item 1240 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1240 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1241 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1242 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - ) - :bounds - (new 'static 'sphere :y 90112.0 :w 143360.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1211) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-flt spt-x (meters -7.0)) - (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -30720.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.033333335)) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -1.8652096) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 210) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1214) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-flt spt-x (meters -12.0)) - (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -14336.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.033333335)) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -1.8652096) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 210) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1217) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.5 0.8 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 24.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z 2048.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 1.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.033333335) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -1.8652096) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 195) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees -110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1220) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.5 0.8 1.0) - (sp-rnd-flt spt-x (meters -4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -40960.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 1.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.016666668) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-rnd-flt spt-accel-y -9.557333 -1.3653333 1.0) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 195) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1223) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 28.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -40960.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 1.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.016666668) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-rnd-flt spt-accel-y -9.557333 -1.3653333 1.0) - (sp-int spt-timer 165) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1224) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-rnd-flt spt-x (meters 6.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 26.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -38912.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 1.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.033333335) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -1.8652096) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 195) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 180) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1212) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -7.0)) - (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -30720.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.1377778) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 330) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1215) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -12.0)) - (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -14336.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.1377778) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 330) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1218) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 23.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z 2048.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.1377778) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1221) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters -4.0) (meters 10.0) 1.0) - (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -40960.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-rnd-flt spt-accel-y -9.557333 -1.3653333 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1225) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 6.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 26.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -38912.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.1377778) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1213) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.2 0.2 1.0) - (sp-flt spt-x (meters -7.0)) - (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -30720.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.018333333)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -0.5688889) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 840) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 405) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees -30.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1216) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.2 0.2 1.0) - (sp-flt spt-x (meters -12.0)) - (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -14336.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.018333333)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -0.5688889) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 840) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 405) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1219) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.2 0.2 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 23.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z 2048.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.018333333) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -0.5688889) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 360) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 405) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees -110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1222) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-rnd-flt spt-x (meters -4.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -40960.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -6.826667 -0.68266666 1.0) - (sp-int spt-timer 255) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1227) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 28.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -40960.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.033333335) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-rnd-flt spt-accel-y -6.826667 -0.68266666 1.0) - (sp-int spt-timer 255) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1226) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.2 0.2 1.0) - (sp-rnd-flt spt-x (meters 6.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 26.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -38912.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.018333333) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -0.5688889) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 390) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 435) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1228) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-rnd-flt spt-num 0.05 0.05 1.0) - (sp-rnd-flt spt-x (meters 2.0) (meters 7.0) 1.0) - (sp-flt spt-y (meters 12.5)) - (sp-rnd-flt spt-z 61440.0 40960.0 1.0) - (sp-flt spt-scale-x (meters 12.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 150.0 42.0 1.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 1209) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1229) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.05) - (sp-rnd-flt spt-x (meters 3.0) (meters 5.0) 1.0) - (sp-flt spt-y (meters 7.0)) - (sp-rnd-flt spt-z 65536.0 49152.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 92.0) - (sp-flt spt-g 92.0) - (sp-flt spt-b 92.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.2) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1208) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1230) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-rnd-flt spt-num 0.035 0.03 1.0) - (sp-rnd-flt spt-x (meters 3.5) (meters 5.0) 1.0) - (sp-flt spt-y (meters 12.5)) - (sp-rnd-flt spt-z 6144.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 12.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 150.0 42.0 1.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 1209) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1231) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.025) - (sp-rnd-flt spt-x (meters 3.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 8.0)) - (sp-rnd-flt spt-z 12288.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 92.0) - (sp-flt spt-g 92.0) - (sp-flt spt-b 92.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1208) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1232) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-rnd-flt spt-num 0.035 0.03 1.0) - (sp-rnd-flt spt-x (meters -7.5) (meters 5.0) 1.0) - (sp-flt spt-y (meters 12.5)) - (sp-rnd-flt spt-z -67584.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 12.5)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 150.0 42.0 1.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 1209) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1233) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.025) - (sp-rnd-flt spt-x (meters -6.5) (meters 3.0) 1.0) - (sp-flt spt-y (meters 8.0)) - (sp-rnd-flt spt-z -63488.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 92.0) - (sp-flt spt-g 92.0) - (sp-flt spt-b 92.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1208) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1234) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-flt spt-x (meters -6.0)) - (sp-rnd-flt spt-y (meters 43.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-z 43008.0 18432.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.05)) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -2.7978141) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 195) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1235) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.03 1.0 1.0) - (sp-flt spt-x (meters -6.0)) - (sp-rnd-flt spt-y (meters 43.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-z 61440.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.05)) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -2.7978141) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 315) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 282) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1236) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.3) - (sp-flt spt-x (meters -6.0)) - (sp-rnd-flt spt-y (meters 43.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-z 43008.0 10240.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.043333333) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.8488889) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1237) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.7) - (sp-flt spt-x (meters -6.0)) - (sp-rnd-flt spt-y (meters 43.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-z 53248.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.043333333) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.8488889) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 435) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1238) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 0.1 1.0) - (sp-flt spt-x (meters -6.0)) - (sp-rnd-flt spt-y (meters 42.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-z 57344.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.028333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-flt spt-vel-z (meters 0.0033333334)) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -0.87919194) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 540) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1239) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 0.06 1.0) - (sp-flt spt-x (meters -6.0)) - (sp-rnd-flt spt-y (meters 42.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-z 40960.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.028333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -0.87919194) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 420) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 390) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1240) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-rnd-flt spt-y (meters 28.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z 40960.0 14336.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.0) (meters 1.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.033333335) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -2.7978141) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-flt spt-accel-z -1.8652096) - (sp-int spt-timer 204) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 225) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1241) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-rnd-flt spt-y (meters 28.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z 40960.0 14336.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.04) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.04) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.02) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.7066667) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-flt spt-accel-z -0.85333335) - (sp-int spt-timer 315) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1242) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 0.3 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-rnd-flt spt-y (meters 28.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z 40960.0 14336.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.2) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.01) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-flt spt-accel-z -0.51717174) - (sp-int spt-timer 420) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 360) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 278) - (new 'static 'sparticle-launch-group - :length 9 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-village2-waterfall-30" - :launcher - (new 'static 'inline-array sparticle-group-item 9 - (sp-item 1243) - (sp-item 1243 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 1243 :fade-after (meters 240.0) :falloff-to (meters 240.0)) - (sp-item 1244 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1245 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 1246) - (sp-item 1246 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 1246 :fade-after (meters 240.0) :falloff-to (meters 240.0)) - (sp-item 1247 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) - ) - :bounds - (new 'static 'sphere :y 90112.0 :w 143360.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1243) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-rnd-flt spt-x (meters -8.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 49.5)) - (sp-rnd-flt spt-z -14336.0 28672.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 330) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 369) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1244) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -8.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 49.5)) - (sp-rnd-flt spt-z -20480.0 40960.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1245) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-rnd-flt spt-x (meters -7.0) (meters 3.5) 1.0) - (sp-flt spt-y (meters 49.5)) - (sp-rnd-flt spt-z -16384.0 32768.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 630) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 666) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1246) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters 3.0) (meters 6.0) 1.0) - (sp-flt spt-y (meters 6.0)) - (sp-rnd-flt spt-z -24576.0 49152.0 1.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 150.0 42.0 1.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 1209) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1247) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.05) - (sp-rnd-flt spt-x (meters 5.0) (meters 10.0) 1.0) - (sp-flt spt-y (meters 2.5)) - (sp-rnd-flt spt-z -32768.0 65536.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 92.0) - (sp-flt spt-g 92.0) - (sp-flt spt-b 92.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.2) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1208) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 279) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-village2-waterfall-31" - :launcher - (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) - :bounds - (new 'static 'sphere :y 90112.0 :w 143360.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 280) - (new 'static 'sparticle-launch-group - :length 19 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-village2-waterfall-32" - :launcher - (new 'static 'inline-array sparticle-group-item 19 - (sp-item 1253) - (sp-item 1253 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 1253 :fade-after (meters 240.0) :falloff-to (meters 240.0)) - (sp-item 1254 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1255 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 1256) - (sp-item 1256 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 1256 :fade-after (meters 240.0) :falloff-to (meters 240.0)) - (sp-item 1257 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) - (sp-item 1258) - (sp-item 1258 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 1258 :fade-after (meters 240.0) :falloff-to (meters 240.0)) - (sp-item 1259 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1260 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 1261) - (sp-item 1261 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - (sp-item 1261 :fade-after (meters 240.0) :falloff-to (meters 240.0)) - (sp-item 1262 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1263 :fade-after (meters 160.0) :falloff-to (meters 160.0)) - ) - :bounds - (new 'static 'sphere :y 90112.0 :w 143360.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1253) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.266 0.333 1.0) - (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 50.5)) - (sp-rnd-flt spt-z -55296.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 420) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 180) - (sp-launcher-by-id spt-next-launcher 1264) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1264) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 9 - (sp-rnd-flt spt-scale-y (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.04) (meters 0.013333334) 1.0) - (sp-flt spt-accel-x -5.3542485) - (sp-flt spt-accel-z -3.212549) - (sp-int spt-next-time 255) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1254) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 50.5)) - (sp-rnd-flt spt-z -55296.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 720) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1265) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1265) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 7 - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.026666667) 1.0) - (sp-flt spt-accel-x -1.3003175) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1255) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.2 1.0) - (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 50.5)) - (sp-rnd-flt spt-z -55296.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 750) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 420) - (sp-launcher-by-id spt-next-launcher 1266) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1266) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.04) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.009765625)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -5.0567904) - (sp-flt spt-accel-z -2.696955) - (sp-int spt-next-time 405) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1256) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -3.0) (meters 12.0) 1.0) - (sp-flt spt-y (meters 6.0)) - (sp-rnd-flt spt-z -77824.0 65536.0 1.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 150.0 42.0 1.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 1209) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1257) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.05) - (sp-rnd-flt spt-x (meters -3.0) (meters 12.0) 1.0) - (sp-flt spt-y (meters 2.5)) - (sp-rnd-flt spt-z -69632.0 49152.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 3.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 92.0) - (sp-flt spt-g 92.0) - (sp-flt spt-b 92.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.04) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.2) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1208) - (sp-flt spt-rotate-y (degrees -90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1258) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.033 1.2 1.0) - (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 50.5)) - (sp-rnd-flt spt-z -8192.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 285) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 270) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees -25.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1259) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 50.5)) - (sp-rnd-flt spt-z -12288.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 405) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees -25.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1260) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.2 1.0) - (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) - (sp-flt spt-y (meters 50.5)) - (sp-rnd-flt spt-z -12288.0 20480.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 495) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees -25.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1261) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.33 1.2 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 23.5) (meters 6.0) 1.0) - (sp-rnd-flt spt-z -12288.0 24576.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.0) (meters 1.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 240) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees 10.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1262) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 25.5) (meters 4.0) 1.0) - (sp-rnd-flt spt-z -12288.0 24576.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 405) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-rnd-flt spt-rotate-y (degrees -45.0) (degrees 90.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1263) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.5 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 22.5) (meters 7.0) 1.0) - (sp-rnd-flt spt-z -12288.0 24576.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.2) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 225) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 495) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-rotate-y (degrees 10.0) (degrees 50.000004) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 281) - (new 'static 'sparticle-launch-group - :length 19 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-village2-waterfall-33" - :launcher - (new 'static 'inline-array sparticle-group-item 19 - (sp-item 1267) - (sp-item 1267 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1267 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1268) - (sp-item 1268 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1268 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1269 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1270 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1271 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1272 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1273) - (sp-item 1273 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1273 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1274 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1275 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1276) - (sp-item 1276 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1276 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1277 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) - ) - :bounds - (new 'static 'sphere :y 90112.0 :w 143360.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1267) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.4 1.0 1.0) - (sp-flt spt-x (meters -7.5)) - (sp-rnd-flt spt-y (meters 48.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -16384.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -2.7978141) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 195) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1268) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.03 1.0 1.0) - (sp-flt spt-x (meters -7.5)) - (sp-rnd-flt spt-y (meters 48.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -24576.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -2.7978141) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 322) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 345) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1269) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.3) - (sp-flt spt-x (meters -7.5)) - (sp-rnd-flt spt-y (meters 48.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -16384.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.043333333) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.8488889) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1270) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.7) - (sp-flt spt-x (meters -7.5)) - (sp-rnd-flt spt-y (meters 48.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -24576.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.043333333) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.8488889) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 435) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1271) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 0.1 1.0) - (sp-flt spt-x (meters -7.0)) - (sp-rnd-flt spt-y (meters 47.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -24576.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.03) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-flt spt-vel-z (meters 0.0033333334)) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -0.87919194) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 570) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 630) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1272) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 0.06 1.0) - (sp-flt spt-x (meters -7.0)) - (sp-rnd-flt spt-y (meters 47.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -16384.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.033333335) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -0.87919194) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 420) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 390) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1273) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-flt spt-x (meters -1.5)) - (sp-rnd-flt spt-y (meters 33.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -24576.0 18432.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.0) (meters 1.4) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 32.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.04) (meters 0.033333335) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.01) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -2.7978141) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-flt spt-accel-z -0.9326048) - (sp-int spt-timer 255) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 285) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1274) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -1.5)) - (sp-rnd-flt spt-y (meters 33.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -24576.0 18432.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.04) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.04) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.01) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.7066667) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-flt spt-accel-z -0.7111111) - (sp-int spt-timer 375) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1275) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-flt spt-x (meters -1.5)) - (sp-rnd-flt spt-y (meters 33.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -24576.0 18432.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.2) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.03) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.006666667) (meters 0.016666668) 1.0) - (sp-flt spt-scalevel-x (meters 0.015136719)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-x -1.5515151) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-flt spt-accel-z -0.51717174) - (sp-int spt-timer 480) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 540) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1276) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters 2.5) (meters 12.0) 1.0) - (sp-flt spt-y (meters 7.0)) - (sp-rnd-flt spt-z -45056.0 69632.0 1.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 150.0 42.0 1.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 1209) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1277) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.05) - (sp-rnd-flt spt-x (meters 3.5) (meters 10.0) 1.0) - (sp-flt spt-y (meters 2.5)) - (sp-rnd-flt spt-z -40960.0 61440.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 92.0) - (sp-flt spt-g 92.0) - (sp-flt spt-b 92.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.2) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1208) - (sp-flt spt-rotate-y (degrees 90.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 282) - (new 'static 'sparticle-launch-group - :length 58 - :duration #xbb8 - :linger-duration #x5dc - :flags (sp-group-flag always-draw) - :name "group-village2-waterfall-34" - :launcher - (new 'static 'inline-array sparticle-group-item 58 - (sp-item 1278) - (sp-item 1278 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1278 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1279 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1280 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1281) - (sp-item 1281 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1281 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1282 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1283 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1284) - (sp-item 1284 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1284 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1285 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1286 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1287) - (sp-item 1287 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1287 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1288 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1289 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1290) - (sp-item 1290 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1290 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1291 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1292 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1293) - (sp-item 1293 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1293 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1294 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1295 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1296) - (sp-item 1296 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1296 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1297 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1298 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1300 :fade-after (meters 80.0) :falloff-to (meters 80.0)) - (sp-item 1301 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1302) - (sp-item 1302 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1302 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1303) - (sp-item 1303 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1303 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1304) - (sp-item 1304 :fade-after (meters 150.0) :falloff-to (meters 150.0)) - (sp-item 1304 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1305) - (sp-item 1305 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1305 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1306 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) - (sp-item 1307) - (sp-item 1307 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1307 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1308 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) - (sp-item 1309) - (sp-item 1309 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1309 :fade-after (meters 200.0) :falloff-to (meters 200.0)) - (sp-item 1310 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) - ) - :bounds - (new 'static 'sphere :x -61440.0 :y 69632.0 :z -40960.0 :w 163840.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1278) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 43.5)) - (sp-rnd-flt spt-z 6144.0 10240.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 384) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 345) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1281) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.15 0.075 1.0) - (sp-rnd-flt spt-x (meters -18.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 42.5)) - (sp-rnd-flt spt-z 32768.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 384) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 345) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 140.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1284) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.15 0.075 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 43.5)) - (sp-rnd-flt spt-z -49152.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.06666667)) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 384) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 345) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1279) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-x (meters -15.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 43.5)) - (sp-rnd-flt spt-z 6144.0 10240.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1282) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.375) - (sp-rnd-flt spt-x (meters -18.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 43.5)) - (sp-rnd-flt spt-z 32768.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 450) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 140.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1285) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.375) - (sp-rnd-flt spt-x (meters -20.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 43.5)) - (sp-rnd-flt spt-z -49152.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -2.5600002) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 510) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1280) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.375 0.3 1.0) - (sp-rnd-flt spt-x (meters -15.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 43.5)) - (sp-rnd-flt spt-z 6144.0 10240.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 681) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 630) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 120.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1283) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.225 0.15 1.0) - (sp-rnd-flt spt-x (meters -18.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 43.5)) - (sp-rnd-flt spt-z 32768.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 681) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 630) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 140.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1286) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.225 0.15 1.0) - (sp-rnd-flt spt-x (meters -20.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 43.5)) - (sp-rnd-flt spt-z -49152.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.038333334)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.189495) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 681) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 630) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 110.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1287) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.3 0.6 1.0) - (sp-rnd-flt spt-x (meters 26.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 4.5)) - (sp-rnd-flt spt-z 63488.0 22528.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.06666667) (meters 0.016666668) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.01) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -4.6630235) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 195) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 165) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 190.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1290) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.15 0.3 1.0) - (sp-rnd-flt spt-x (meters 33.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -1.0)) - (sp-rnd-flt spt-z 63488.0 26624.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.033333335) (meters 0.016666668) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.016666668) (meters 0.033333335) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -2.7978141) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 165) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 190.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1288) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-x (meters 26.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 4.5)) - (sp-rnd-flt spt-z 63488.0 22528.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.07333333) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -3.1288888) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 190.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1291) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-x (meters 33.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -1.0)) - (sp-rnd-flt spt-z 59392.0 34816.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.04) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.02) (meters 0.04) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -1.7066667) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 190.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1289) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.375 0.3 1.0) - (sp-rnd-flt spt-x (meters 26.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 4.5)) - (sp-rnd-flt spt-z 59392.0 22528.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.041666668)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.2929293) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 345) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 190.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1292) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.375 0.3 1.0) - (sp-rnd-flt spt-x (meters 33.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -1.0)) - (sp-rnd-flt spt-z 59392.0 34816.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.031666666)) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.0860606) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 190.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1293) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.3 0.6 1.0) - (sp-rnd-flt spt-x (meters 24.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 4.5)) - (sp-rnd-flt spt-z -116736.0 22528.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.016666668) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.01) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 135) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 165) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 60.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1294) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-x (meters 24.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 4.5)) - (sp-rnd-flt spt-z -116736.0 22528.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -3.1288888) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 60.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1295) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.375 0.3 1.0) - (sp-rnd-flt spt-x (meters 24.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 4.5)) - (sp-rnd-flt spt-z -116736.0 22528.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.035)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.2929293) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 345) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 60.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1296) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.45 0.75 1.0) - (sp-rnd-flt spt-x (meters 38.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -43008.0 26624.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.016666668) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.016666668) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -3.7304192) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 165) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) - (sp-flt spt-rotate-y (degrees 130.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1297) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.75) - (sp-rnd-flt spt-x (meters 38.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -43008.0 26624.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.026666667) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -3.1288888) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 270) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 130.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1300) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 0.325) - (sp-rnd-flt spt-x (meters 45.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -43008.0 26624.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 24.0) - (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.026666667) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters -0.00024414062)) - (sp-flt spt-scalevel-y (meters 0.001953125)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-x -3.1288888) - (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 130.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1298) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.375 0.3 1.0) - (sp-rnd-flt spt-x (meters 38.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -40960.0 30720.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.035)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.2929293) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 345) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-flt spt-rotate-y (degrees 130.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1301) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.15 0.225 1.0) - (sp-rnd-flt spt-x (meters 45.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters -1.0) (meters 1.5) 1.0) - (sp-rnd-flt spt-z -43008.0 26624.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-flt spt-vel-x (meters 0.035)) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0146484375)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-flt spt-scalevel-y (meters 0.0146484375)) - (sp-flt spt-accel-x -1.2929293) - (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) - (sp-int spt-timer 210) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-flt spt-rotate-y (degrees 130.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1302) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.15 0.45 1.0) - (sp-flt spt-x (meters -30.0)) - (sp-rnd-flt spt-y (meters 3.5) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -75776.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.03) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.05) (meters 0.033333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -1.6786886) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 195) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 165) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-int-flt spt-launchrot-y (degrees 100.00001) 1 25486.223) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1303) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.15 0.4 1.0) - (sp-flt spt-x (meters -24.0)) - (sp-rnd-flt spt-y (meters 3.5) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -104448.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.03) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.05) (meters 0.033333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -1.6786886) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 195) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 165) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-y (degrees 160.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1304) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) - (sp-rnd-flt spt-num 0.15 0.4 1.0) - (sp-flt spt-x (meters -26.0)) - (sp-rnd-flt spt-y (meters 3.5) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -47104.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) - (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) - (sp-flt spt-r 192.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 192.0) - (sp-rnd-flt spt-a 24.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.03) (meters 0.01) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.05) (meters 0.033333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.0073242188)) - (sp-flt spt-scalevel-y (meters 0.029296875)) - (sp-flt spt-accel-x -1.6786886) - (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) - (sp-int spt-timer 195) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int spt-next-time 165) - (sp-launcher-by-id spt-next-launcher 1210) - (sp-rnd-flt spt-launchrot-y (degrees 140.0) (degrees 40.0) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1305) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-rnd-flt spt-num 0.0375 0.0375 1.0) - (sp-rnd-flt spt-x (meters -9.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -192512.0 16384.0 1.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 150.0 42.0 1.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 1209) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1307) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-rnd-flt spt-num 0.075 0.015 1.0) - (sp-rnd-flt spt-x (meters -45.0) (meters 12.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -135168.0 20480.0 1.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 150.0 42.0 1.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 1209) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1309) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) - (sp-rnd-flt spt-num 0.075 0.015 1.0) - (sp-rnd-flt spt-x (meters -49.0) (meters 6.0) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-rnd-flt spt-z -61440.0 24576.0 1.0) - (sp-flt spt-scale-x (meters 12.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 150.0 42.0 1.0) - (sp-flt spt-b 192.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) - (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-a 1.28) - (sp-flt spt-accel-y 0.013653334) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-int-plain-rnd spt-next-time 45 29 1) - (sp-launcher-by-id spt-next-launcher 1209) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1306) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.00625) - (sp-rnd-flt spt-x (meters -9.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -192512.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 92.0) - (sp-flt spt-g 92.0) - (sp-flt spt-b 92.0) - (sp-flt spt-a 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1208) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1308) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.0375) - (sp-rnd-flt spt-x (meters -44.0) (meters 10.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -131072.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 92.0) - (sp-flt spt-g 92.0) - (sp-flt spt-b 92.0) - (sp-flt spt-a 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1208) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1310) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) - (sp-flt spt-num 0.00625) - (sp-rnd-flt spt-x (meters -45.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters -6.0)) - (sp-rnd-flt spt-z -57344.0 16384.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 92.0) - (sp-flt spt-g 92.0) - (sp-flt spt-b 92.0) - (sp-flt spt-a 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.006666667) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit12 bit14) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1208) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 283) - (new 'static 'sparticle-launch-group - :length #xaf - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-sagehut-warpgate" - :launcher - (new 'static 'inline-array sparticle-group-item 175 - (sp-item 1313 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1314 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1311) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1311 :flags (bit1 start-dead launch-asap)) - (sp-item 1315 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1312) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - (sp-item 1312 :flags (bit1 start-dead launch-asap)) - ) - :bounds - (new 'static 'sphere :x 28672.0 :y 16384.0 :z -18432.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1315) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.0033333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1312) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 1.0 0.2 1.0) - (sp-flt spt-x (meters 4.4444447)) - (sp-flt spt-y (meters 4.0)) - (sp-rnd-flt spt-z 22118.4 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 196.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 0.16) - (sp-flt spt-accel-x 1.2136296) - (sp-flt spt-accel-z -0.75093335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1313) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-rnd-flt spt-num 3.0 3.0 1.0) - (sp-flt spt-x (meters -0.5)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 3481.6) - (sp-flt spt-b 3481.6) - (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0) - (sp-flt spt-fade-b 5.936232) - (sp-int spt-timer 69) - (sp-cpuinfo-flags aux-list) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 4.0) (meters 3.0) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1314) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.2 1.0 1.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 690) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1311) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 0.4 1.0) - (sp-flt spt-x (meters 4.4444447)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 8601.6) - (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 8.0 32.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters -0.0044444446)) - (sp-flt spt-vel-z (meters -0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0) - (sp-flt spt-fade-a 0.10666667) - (sp-flt spt-accel-x 4.247704) - (sp-int spt-timer 690) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 284) - (new 'static 'sparticle-launch-group - :length 4 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-tree-fire" - :launcher - (new 'static 'inline-array sparticle-group-item 4 - (sp-item 1316 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1317 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1318 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - (sp-item 1319 :fade-after (meters 120.0) :falloff-to (meters 120.0)) - ) - :bounds - (new 'static 'sphere :y 40960.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1316) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-x (meters 2.2) (meters 0.5) 1.0) - (sp-flt spt-y (meters -0.9)) - (sp-rnd-flt spt-z -3686.4 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a 1.0666667) - (sp-flt spt-accel-y 1.024) - (sp-int-plain-rnd spt-timer 180 29 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 1320) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1320) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.53333336) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1317) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.1 1.0 1.0) - (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -11878.4 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a 1.0666667) - (sp-flt spt-accel-y 1.024) - (sp-int-plain-rnd spt-timer 180 29 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 60) - (sp-launcher-by-id spt-next-launcher 1320) - (sp-flt spt-conerot-x (degrees 45.0)) - (sp-flt spt-conerot-y (degrees 240.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1318) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.2 0.2 1.0) - (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -11878.4 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.0044444446)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.34133333) - (sp-flt spt-fade-g -0.17066666) - (sp-flt spt-fade-b -0.17066666) - (sp-flt spt-fade-a 0.4) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 1174) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 4.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1319) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.2 0.2 1.0) - (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -11878.4 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.0044444446)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.34133333) - (sp-flt spt-fade-g -0.17066666) - (sp-flt spt-fade-b -0.17066666) - (sp-flt spt-fade-a 0.4) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit14) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 1174) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 4.5)) - (sp-end) - ) - ) - ) - - - - +(set! (-> *part-id-table* 1208) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.10666667) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1209) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.16) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1210) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -2.6666667) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 277) + (new 'static 'sparticle-launch-group + :length 56 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-village2-waterfall-29" + :launcher + (new 'static 'inline-array sparticle-group-item 56 + (sp-item 1211) + (sp-item 1211 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1211 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1212 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1213 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1214) + (sp-item 1214 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1214 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1215 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1216 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1217) + (sp-item 1217 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1217 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1218 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1219 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1220) + (sp-item 1220 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1220 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1221 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1222 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1223) + (sp-item 1223 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1223 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1224) + (sp-item 1224 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1224 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1225 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1226 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1227 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1228) + (sp-item 1228 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1228 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1229 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) + (sp-item 1230) + (sp-item 1230 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1230 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1231 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) + (sp-item 1232) + (sp-item 1232 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1232 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1233 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) + (sp-item 1234) + (sp-item 1234 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1234 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1235) + (sp-item 1235 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1235 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1236 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1237 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1238 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1239 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1240) + (sp-item 1240 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1240 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1241 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1242 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + ) + :bounds + (new 'static 'sphere :y 90112.0 :w 143360.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1211) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-flt spt-x (meters -7.0)) + (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -30720.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.033333335)) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -1.8652096) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 210) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1214) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-flt spt-x (meters -12.0)) + (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -14336.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.033333335)) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -1.8652096) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 210) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1217) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.5 0.8 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 24.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z 2048.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 1.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.033333335) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -1.8652096) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 195) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees -110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1220) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.5 0.8 1.0) + (sp-rnd-flt spt-x (meters -4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -40960.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 1.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.016666668) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-rnd-flt spt-accel-y -9.557333 -1.3653333 1.0) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 195) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1223) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 28.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -40960.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 1.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.016666668) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-rnd-flt spt-accel-y -9.557333 -1.3653333 1.0) + (sp-int spt-timer 165) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1224) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-rnd-flt spt-x (meters 6.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 26.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -38912.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 1.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.033333335) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -1.8652096) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 195) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 180) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1212) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -7.0)) + (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -30720.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.1377778) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 330) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1215) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -12.0)) + (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -14336.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.1377778) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 330) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1218) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 23.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z 2048.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.1377778) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1221) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters -4.0) (meters 10.0) 1.0) + (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -40960.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.033333335) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-rnd-flt spt-accel-y -9.557333 -1.3653333 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1225) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 6.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 26.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -38912.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.02) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.1377778) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1213) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.2 0.2 1.0) + (sp-flt spt-x (meters -7.0)) + (sp-rnd-flt spt-y (meters 41.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -30720.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.018333333)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -0.5688889) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 840) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 405) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees -30.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1216) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.2 0.2 1.0) + (sp-flt spt-x (meters -12.0)) + (sp-rnd-flt spt-y (meters 42.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -14336.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.018333333)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -0.5688889) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 840) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 405) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1219) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.2 0.2 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 23.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z 2048.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.018333333) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -0.5688889) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 360) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 405) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees -110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1222) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-rnd-flt spt-x (meters -4.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-y (meters 27.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -40960.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -6.826667 -0.68266666 1.0) + (sp-int spt-timer 255) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1227) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 28.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -40960.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.033333335) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.016666668) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-rnd-flt spt-accel-y -6.826667 -0.68266666 1.0) + (sp-int spt-timer 255) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1226) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.2 0.2 1.0) + (sp-rnd-flt spt-x (meters 6.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 26.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -38912.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.018333333) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -0.5688889) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 390) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 435) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1228) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-rnd-flt spt-num 0.05 0.05 1.0) + (sp-rnd-flt spt-x (meters 2.0) (meters 7.0) 1.0) + (sp-flt spt-y (meters 12.5)) + (sp-rnd-flt spt-z 61440.0 40960.0 1.0) + (sp-flt spt-scale-x (meters 12.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 150.0 42.0 1.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 1209) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1229) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.05) + (sp-rnd-flt spt-x (meters 3.0) (meters 5.0) 1.0) + (sp-flt spt-y (meters 7.0)) + (sp-rnd-flt spt-z 65536.0 49152.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 92.0) + (sp-flt spt-g 92.0) + (sp-flt spt-b 92.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.2) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1208) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1230) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-rnd-flt spt-num 0.035 0.03 1.0) + (sp-rnd-flt spt-x (meters 3.5) (meters 5.0) 1.0) + (sp-flt spt-y (meters 12.5)) + (sp-rnd-flt spt-z 6144.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 12.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 150.0 42.0 1.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 1209) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1231) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.025) + (sp-rnd-flt spt-x (meters 3.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 8.0)) + (sp-rnd-flt spt-z 12288.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 92.0) + (sp-flt spt-g 92.0) + (sp-flt spt-b 92.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1208) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1232) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-rnd-flt spt-num 0.035 0.03 1.0) + (sp-rnd-flt spt-x (meters -7.5) (meters 5.0) 1.0) + (sp-flt spt-y (meters 12.5)) + (sp-rnd-flt spt-z -67584.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 12.5)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 150.0 42.0 1.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 1209) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1233) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.025) + (sp-rnd-flt spt-x (meters -6.5) (meters 3.0) 1.0) + (sp-flt spt-y (meters 8.0)) + (sp-rnd-flt spt-z -63488.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 92.0) + (sp-flt spt-g 92.0) + (sp-flt spt-b 92.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1208) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1234) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-flt spt-x (meters -6.0)) + (sp-rnd-flt spt-y (meters 43.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-z 43008.0 18432.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.05)) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -2.7978141) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 195) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1235) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.03 1.0 1.0) + (sp-flt spt-x (meters -6.0)) + (sp-rnd-flt spt-y (meters 43.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-z 61440.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.05)) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -2.7978141) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 315) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 282) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1236) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.3) + (sp-flt spt-x (meters -6.0)) + (sp-rnd-flt spt-y (meters 43.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-z 43008.0 10240.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.043333333) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.8488889) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1237) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.7) + (sp-flt spt-x (meters -6.0)) + (sp-rnd-flt spt-y (meters 43.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-z 53248.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.043333333) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.8488889) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 435) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1238) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 0.1 1.0) + (sp-flt spt-x (meters -6.0)) + (sp-rnd-flt spt-y (meters 42.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-z 57344.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.028333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-flt spt-vel-z (meters 0.0033333334)) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -0.87919194) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 540) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1239) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 0.06 1.0) + (sp-flt spt-x (meters -6.0)) + (sp-rnd-flt spt-y (meters 42.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-z 40960.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.028333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -0.87919194) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 420) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 390) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1240) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-rnd-flt spt-y (meters 28.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z 40960.0 14336.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.0) (meters 1.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.033333335) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.033333335) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -2.7978141) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-flt spt-accel-z -1.8652096) + (sp-int spt-timer 204) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 225) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1241) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-rnd-flt spt-y (meters 28.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z 40960.0 14336.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.04) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.04) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.02) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.7066667) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-flt spt-accel-z -0.85333335) + (sp-int spt-timer 315) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1242) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 0.3 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-rnd-flt spt-y (meters 28.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z 40960.0 14336.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.2) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.01) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-flt spt-accel-z -0.51717174) + (sp-int spt-timer 420) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 360) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 278) + (new 'static 'sparticle-launch-group + :length 9 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-village2-waterfall-30" + :launcher + (new 'static 'inline-array sparticle-group-item 9 + (sp-item 1243) + (sp-item 1243 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 1243 :fade-after (meters 240.0) :falloff-to (meters 240.0)) + (sp-item 1244 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1245 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 1246) + (sp-item 1246 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 1246 :fade-after (meters 240.0) :falloff-to (meters 240.0)) + (sp-item 1247 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) + ) + :bounds + (new 'static 'sphere :y 90112.0 :w 143360.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1243) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-rnd-flt spt-x (meters -8.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 49.5)) + (sp-rnd-flt spt-z -14336.0 28672.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 330) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 369) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1244) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -8.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 49.5)) + (sp-rnd-flt spt-z -20480.0 40960.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1245) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-rnd-flt spt-x (meters -7.0) (meters 3.5) 1.0) + (sp-flt spt-y (meters 49.5)) + (sp-rnd-flt spt-z -16384.0 32768.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 630) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 666) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1246) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters 3.0) (meters 6.0) 1.0) + (sp-flt spt-y (meters 6.0)) + (sp-rnd-flt spt-z -24576.0 49152.0 1.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 150.0 42.0 1.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 1209) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1247) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.05) + (sp-rnd-flt spt-x (meters 5.0) (meters 10.0) 1.0) + (sp-flt spt-y (meters 2.5)) + (sp-rnd-flt spt-z -32768.0 65536.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 92.0) + (sp-flt spt-g 92.0) + (sp-flt spt-b 92.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.2) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1208) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 279) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-village2-waterfall-31" + :launcher + (new 'static 'inline-array sparticle-group-item 1 (sp-item 2324)) + :bounds + (new 'static 'sphere :y 90112.0 :w 143360.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 280) + (new 'static 'sparticle-launch-group + :length 19 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-village2-waterfall-32" + :launcher + (new 'static 'inline-array sparticle-group-item 19 + (sp-item 1253) + (sp-item 1253 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 1253 :fade-after (meters 240.0) :falloff-to (meters 240.0)) + (sp-item 1254 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1255 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 1256) + (sp-item 1256 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 1256 :fade-after (meters 240.0) :falloff-to (meters 240.0)) + (sp-item 1257 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) + (sp-item 1258) + (sp-item 1258 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 1258 :fade-after (meters 240.0) :falloff-to (meters 240.0)) + (sp-item 1259 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1260 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 1261) + (sp-item 1261 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + (sp-item 1261 :fade-after (meters 240.0) :falloff-to (meters 240.0)) + (sp-item 1262 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1263 :fade-after (meters 160.0) :falloff-to (meters 160.0)) + ) + :bounds + (new 'static 'sphere :y 90112.0 :w 143360.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1253) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.266 0.333 1.0) + (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 50.5)) + (sp-rnd-flt spt-z -55296.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 420) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 180) + (sp-launcher-by-id spt-next-launcher 1264) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1264) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 9 + (sp-rnd-flt spt-scale-y (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.04) (meters 0.013333334) 1.0) + (sp-flt spt-accel-x -5.3542485) + (sp-flt spt-accel-z -3.212549) + (sp-int spt-next-time 255) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1254) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 50.5)) + (sp-rnd-flt spt-z -55296.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 720) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1265) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1265) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 7 + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-vel-x (meters 0.026666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.013333334) (meters 0.026666667) 1.0) + (sp-flt spt-accel-x -1.3003175) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1255) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.2 1.0) + (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 50.5)) + (sp-rnd-flt spt-z -55296.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 750) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 420) + (sp-launcher-by-id spt-next-launcher 1266) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1266) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 10 + (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.04) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.009765625)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -5.0567904) + (sp-flt spt-accel-z -2.696955) + (sp-int spt-next-time 405) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1256) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -3.0) (meters 12.0) 1.0) + (sp-flt spt-y (meters 6.0)) + (sp-rnd-flt spt-z -77824.0 65536.0 1.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 150.0 42.0 1.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 1209) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1257) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.05) + (sp-rnd-flt spt-x (meters -3.0) (meters 12.0) 1.0) + (sp-flt spt-y (meters 2.5)) + (sp-rnd-flt spt-z -69632.0 49152.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 3.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 92.0) + (sp-flt spt-g 92.0) + (sp-flt spt-b 92.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.04) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.2) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1208) + (sp-flt spt-rotate-y (degrees -90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1258) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.033 1.2 1.0) + (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 50.5)) + (sp-rnd-flt spt-z -8192.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 285) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 270) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees -25.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1259) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 50.5)) + (sp-rnd-flt spt-z -12288.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 405) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees -25.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1260) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.2 1.0) + (sp-rnd-flt spt-x (meters -12.0) (meters 1.0) 1.0) + (sp-flt spt-y (meters 50.5)) + (sp-rnd-flt spt-z -12288.0 20480.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 495) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees -25.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1261) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.33 1.2 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 23.5) (meters 6.0) 1.0) + (sp-rnd-flt spt-z -12288.0 24576.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.0) (meters 1.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 240) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees 10.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1262) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 25.5) (meters 4.0) 1.0) + (sp-rnd-flt spt-z -12288.0 24576.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 405) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-rotate-y (degrees -45.0) (degrees 90.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1263) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.5 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 22.5) (meters 7.0) 1.0) + (sp-rnd-flt spt-z -12288.0 24576.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.2) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 225) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 495) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-rotate-y (degrees 10.0) (degrees 50.000004) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 281) + (new 'static 'sparticle-launch-group + :length 19 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-village2-waterfall-33" + :launcher + (new 'static 'inline-array sparticle-group-item 19 + (sp-item 1267) + (sp-item 1267 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1267 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1268) + (sp-item 1268 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1268 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1269 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1270 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1271 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1272 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1273) + (sp-item 1273 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1273 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1274 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1275 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1276) + (sp-item 1276 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1276 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1277 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) + ) + :bounds + (new 'static 'sphere :y 90112.0 :w 143360.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1267) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.4 1.0 1.0) + (sp-flt spt-x (meters -7.5)) + (sp-rnd-flt spt-y (meters 48.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -16384.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -2.7978141) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 195) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1268) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.03 1.0 1.0) + (sp-flt spt-x (meters -7.5)) + (sp-rnd-flt spt-y (meters 48.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -24576.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 0.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.6) (meters 0.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -2.7978141) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 322) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 345) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1269) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.3) + (sp-flt spt-x (meters -7.5)) + (sp-rnd-flt spt-y (meters 48.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -16384.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.043333333) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.8488889) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1270) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.7) + (sp-flt spt-x (meters -7.5)) + (sp-rnd-flt spt-y (meters 48.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -24576.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.043333333) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.8488889) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 435) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1271) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 0.1 1.0) + (sp-flt spt-x (meters -7.0)) + (sp-rnd-flt spt-y (meters 47.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -24576.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.03) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-flt spt-vel-z (meters 0.0033333334)) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -0.87919194) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 570) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 630) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1272) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 0.06 1.0) + (sp-flt spt-x (meters -7.0)) + (sp-rnd-flt spt-y (meters 47.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -16384.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.033333335) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -0.87919194) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 420) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 390) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1273) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-flt spt-x (meters -1.5)) + (sp-rnd-flt spt-y (meters 33.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -24576.0 18432.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.4) (meters 1.8) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.0) (meters 1.4) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 32.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.04) (meters 0.033333335) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.01) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -2.7978141) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-flt spt-accel-z -0.9326048) + (sp-int spt-timer 255) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 285) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -8.0) (degrees 16.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1274) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -1.5)) + (sp-rnd-flt spt-y (meters 33.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -24576.0 18432.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.013333334) (meters 0.04) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.04) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.01) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.7066667) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-flt spt-accel-z -0.7111111) + (sp-int spt-timer 375) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1275) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-flt spt-x (meters -1.5)) + (sp-rnd-flt spt-y (meters 33.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -24576.0 18432.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.2) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.03) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.006666667) (meters 0.016666668) 1.0) + (sp-flt spt-scalevel-x (meters 0.015136719)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-x -1.5515151) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-flt spt-accel-z -0.51717174) + (sp-int spt-timer 480) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 540) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1276) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters 2.5) (meters 12.0) 1.0) + (sp-flt spt-y (meters 7.0)) + (sp-rnd-flt spt-z -45056.0 69632.0 1.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 150.0 42.0 1.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 1209) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1277) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.05) + (sp-rnd-flt spt-x (meters 3.5) (meters 10.0) 1.0) + (sp-flt spt-y (meters 2.5)) + (sp-rnd-flt spt-z -40960.0 61440.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 92.0) + (sp-flt spt-g 92.0) + (sp-flt spt-b 92.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.2) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1208) + (sp-flt spt-rotate-y (degrees 90.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 282) + (new 'static 'sparticle-launch-group + :length 58 + :duration #xbb8 + :linger-duration #x5dc + :flags (sp-group-flag always-draw) + :name "group-village2-waterfall-34" + :launcher + (new 'static 'inline-array sparticle-group-item 58 + (sp-item 1278) + (sp-item 1278 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1278 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1279 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1280 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1281) + (sp-item 1281 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1281 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1282 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1283 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1284) + (sp-item 1284 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1284 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1285 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1286 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1287) + (sp-item 1287 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1287 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1288 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1289 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1290) + (sp-item 1290 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1290 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1291 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1292 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1293) + (sp-item 1293 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1293 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1294 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1295 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1296) + (sp-item 1296 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1296 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1297 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1298 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1300 :fade-after (meters 80.0) :falloff-to (meters 80.0)) + (sp-item 1301 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1302) + (sp-item 1302 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1302 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1303) + (sp-item 1303 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1303 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1304) + (sp-item 1304 :fade-after (meters 150.0) :falloff-to (meters 150.0)) + (sp-item 1304 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1305) + (sp-item 1305 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1305 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1306 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) + (sp-item 1307) + (sp-item 1307 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1307 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1308 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) + (sp-item 1309) + (sp-item 1309 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1309 :fade-after (meters 200.0) :falloff-to (meters 200.0)) + (sp-item 1310 :fade-after (meters 160.0) :falloff-to (meters 160.0) :flags (is-3d)) + ) + :bounds + (new 'static 'sphere :x -61440.0 :y 69632.0 :z -40960.0 :w 163840.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1278) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 43.5)) + (sp-rnd-flt spt-z 6144.0 10240.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 384) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 345) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1281) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.15 0.075 1.0) + (sp-rnd-flt spt-x (meters -18.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 42.5)) + (sp-rnd-flt spt-z 32768.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 384) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 345) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 140.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1284) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.15 0.075 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 43.5)) + (sp-rnd-flt spt-z -49152.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.06666667)) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 384) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 345) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1279) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-x (meters -15.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 43.5)) + (sp-rnd-flt spt-z 6144.0 10240.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1282) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.375) + (sp-rnd-flt spt-x (meters -18.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 43.5)) + (sp-rnd-flt spt-z 32768.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 450) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 140.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1285) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.375) + (sp-rnd-flt spt-x (meters -20.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 43.5)) + (sp-rnd-flt spt-z -49152.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.06) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -2.5600002) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 510) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1280) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.375 0.3 1.0) + (sp-rnd-flt spt-x (meters -15.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 43.5)) + (sp-rnd-flt spt-z 6144.0 10240.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 681) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 630) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 120.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1283) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.225 0.15 1.0) + (sp-rnd-flt spt-x (meters -18.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 43.5)) + (sp-rnd-flt spt-z 32768.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 681) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 630) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 140.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1286) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.225 0.15 1.0) + (sp-rnd-flt spt-x (meters -20.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 43.5)) + (sp-rnd-flt spt-z -49152.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.038333334)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.0033333334) (meters 0.006666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.189495) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 681) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 630) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 110.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1287) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.3 0.6 1.0) + (sp-rnd-flt spt-x (meters 26.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 4.5)) + (sp-rnd-flt spt-z 63488.0 22528.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.06666667) (meters 0.016666668) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.01) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -4.6630235) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 195) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 165) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 190.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1290) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.15 0.3 1.0) + (sp-rnd-flt spt-x (meters 33.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -1.0)) + (sp-rnd-flt spt-z 63488.0 26624.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.033333335) (meters 0.016666668) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.016666668) (meters 0.033333335) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -2.7978141) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 165) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 190.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1288) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-x (meters 26.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 4.5)) + (sp-rnd-flt spt-z 63488.0 22528.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.07333333) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -3.1288888) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 190.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1291) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-x (meters 33.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -1.0)) + (sp-rnd-flt spt-z 59392.0 34816.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.04) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.026666667) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.02) (meters 0.04) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -1.7066667) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 190.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1289) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.375 0.3 1.0) + (sp-rnd-flt spt-x (meters 26.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 4.5)) + (sp-rnd-flt spt-z 59392.0 22528.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.041666668)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.2929293) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 345) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 190.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1292) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.375 0.3 1.0) + (sp-rnd-flt spt-x (meters 33.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -1.0)) + (sp-rnd-flt spt-z 59392.0 34816.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.031666666)) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.0860606) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 190.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1293) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.3 0.6 1.0) + (sp-rnd-flt spt-x (meters 24.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 4.5)) + (sp-rnd-flt spt-z -116736.0 22528.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.016666668) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.01) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 135) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 165) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 60.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1294) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-x (meters 24.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 4.5)) + (sp-rnd-flt spt-z -116736.0 22528.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -3.1288888) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 60.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1295) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.375 0.3 1.0) + (sp-rnd-flt spt-x (meters 24.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 4.5)) + (sp-rnd-flt spt-z -116736.0 22528.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.035)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.2929293) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 345) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 60.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1296) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.45 0.75 1.0) + (sp-rnd-flt spt-x (meters 38.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -43008.0 26624.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.05) (meters 0.016666668) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.016666668) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -3.7304192) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 165) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-x (degrees -15.0) (degrees 30.0) 1.0) + (sp-flt spt-rotate-y (degrees 130.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1297) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.75) + (sp-rnd-flt spt-x (meters 38.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -43008.0 26624.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.026666667) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -3.1288888) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 270) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 130.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1300) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 0.325) + (sp-rnd-flt spt-x (meters 45.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -43008.0 26624.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 24.0) + (sp-rnd-flt spt-vel-x (meters 0.053333335) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.02) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.026666667) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters -0.00024414062)) + (sp-flt spt-scalevel-y (meters 0.001953125)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-x -3.1288888) + (sp-rnd-flt spt-accel-y -6.826667 -3.4133334 1.0) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-rnd-flt spt-launchrot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 130.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1298) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.375 0.3 1.0) + (sp-rnd-flt spt-x (meters 38.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -40960.0 30720.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.035)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.2929293) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 345) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-flt spt-rotate-y (degrees 130.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1301) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.15 0.225 1.0) + (sp-rnd-flt spt-x (meters 45.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters -1.0) (meters 1.5) 1.0) + (sp-rnd-flt spt-z -43008.0 26624.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.2) (meters 0.8) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-flt spt-vel-x (meters 0.035)) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-z (meters -0.013333334) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0146484375)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-flt spt-scalevel-y (meters 0.0146484375)) + (sp-flt spt-accel-x -1.2929293) + (sp-rnd-flt spt-accel-y -4.096 -1.024 1.0) + (sp-int spt-timer 210) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-flt spt-rotate-y (degrees 130.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1302) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.15 0.45 1.0) + (sp-flt spt-x (meters -30.0)) + (sp-rnd-flt spt-y (meters 3.5) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -75776.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.03) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.05) (meters 0.033333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -1.6786886) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 195) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 165) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-int-flt spt-launchrot-y (degrees 100.00001) 1 25486.223) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1303) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.15 0.4 1.0) + (sp-flt spt-x (meters -24.0)) + (sp-rnd-flt spt-y (meters 3.5) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -104448.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.03) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.05) (meters 0.033333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -1.6786886) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 195) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 165) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-y (degrees 160.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1304) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x18 :page #x2)) + (sp-rnd-flt spt-num 0.15 0.4 1.0) + (sp-flt spt-x (meters -26.0)) + (sp-rnd-flt spt-y (meters 3.5) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -47104.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.4) (meters 1.6) 1.0) + (sp-rnd-flt spt-scale-y (meters 1.2) (meters 0.8) 1.0) + (sp-flt spt-r 192.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 192.0) + (sp-rnd-flt spt-a 24.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.03) (meters 0.01) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.05) (meters 0.033333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.0073242188)) + (sp-flt spt-scalevel-y (meters 0.029296875)) + (sp-flt spt-accel-x -1.6786886) + (sp-rnd-flt spt-accel-y -15.018667 -2.7306666 1.0) + (sp-int spt-timer 195) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int spt-next-time 165) + (sp-launcher-by-id spt-next-launcher 1210) + (sp-rnd-flt spt-launchrot-y (degrees 140.0) (degrees 40.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1305) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-rnd-flt spt-num 0.0375 0.0375 1.0) + (sp-rnd-flt spt-x (meters -9.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -192512.0 16384.0 1.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 150.0 42.0 1.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 1209) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1307) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-rnd-flt spt-num 0.075 0.015 1.0) + (sp-rnd-flt spt-x (meters -45.0) (meters 12.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -135168.0 20480.0 1.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 150.0 42.0 1.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 1209) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1309) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #x2)) + (sp-rnd-flt spt-num 0.075 0.015 1.0) + (sp-rnd-flt spt-x (meters -49.0) (meters 6.0) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-rnd-flt spt-z -61440.0 24576.0 1.0) + (sp-flt spt-scale-x (meters 12.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 150.0 42.0 1.0) + (sp-flt spt-b 192.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.02) 1.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.01) 1.0) + (sp-rnd-flt spt-scalevel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-a 1.28) + (sp-flt spt-accel-y 0.013653334) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-int-plain-rnd spt-next-time 45 29 1) + (sp-launcher-by-id spt-next-launcher 1209) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1306) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.00625) + (sp-rnd-flt spt-x (meters -9.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -192512.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 92.0) + (sp-flt spt-g 92.0) + (sp-flt spt-b 92.0) + (sp-flt spt-a 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1208) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1308) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.0375) + (sp-rnd-flt spt-x (meters -44.0) (meters 10.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -131072.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 92.0) + (sp-flt spt-g 92.0) + (sp-flt spt-b 92.0) + (sp-flt spt-a 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1208) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1310) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x1e :page #x2)) + (sp-flt spt-num 0.00625) + (sp-rnd-flt spt-x (meters -45.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters -6.0)) + (sp-rnd-flt spt-z -57344.0 16384.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 92.0) + (sp-flt spt-g 92.0) + (sp-flt spt-b 92.0) + (sp-flt spt-a 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.026666667) (meters 0.006666667) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit12 bit14) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1208) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 283) + (new 'static 'sparticle-launch-group + :length #xaf + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-sagehut-warpgate" + :launcher + (new 'static 'inline-array sparticle-group-item 175 + (sp-item 1313 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1314 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1311) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1311 :flags (bit1 start-dead launch-asap)) + (sp-item 1315 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1312) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + (sp-item 1312 :flags (bit1 start-dead launch-asap)) + ) + :bounds + (new 'static 'sphere :x 28672.0 :y 16384.0 :z -18432.0 :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1315) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.0033333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1312) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 1.0 0.2 1.0) + (sp-flt spt-x (meters 4.4444447)) + (sp-flt spt-y (meters 4.0)) + (sp-rnd-flt spt-z 22118.4 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 196.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 0.16) + (sp-flt spt-accel-x 1.2136296) + (sp-flt spt-accel-z -0.75093335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1313) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-rnd-flt spt-num 3.0 3.0 1.0) + (sp-flt spt-x (meters -0.5)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 3481.6) + (sp-flt spt-b 3481.6) + (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0) + (sp-flt spt-fade-b 5.936232) + (sp-int spt-timer 69) + (sp-cpuinfo-flags aux-list) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 4.0) (meters 3.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1314) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 10 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.2 1.0 1.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 690) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1311) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 0.4 1.0) + (sp-flt spt-x (meters 4.4444447)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 8601.6) + (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 8.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters -0.0044444446)) + (sp-flt spt-vel-z (meters -0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0) + (sp-flt spt-fade-a 0.10666667) + (sp-flt spt-accel-x 4.247704) + (sp-int spt-timer 690) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 284) (new 'static 'sparticle-launch-group + :length 4 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-tree-fire" + :launcher + (new 'static 'inline-array sparticle-group-item 4 + (sp-item 1316 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1317 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1318 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + (sp-item 1319 :fade-after (meters 120.0) :falloff-to (meters 120.0)) + ) + :bounds + (new 'static 'sphere :y 40960.0 :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1316) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-x (meters 2.2) (meters 0.5) 1.0) + (sp-flt spt-y (meters -0.9)) + (sp-rnd-flt spt-z -3686.4 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a 1.0666667) + (sp-flt spt-accel-y 1.024) + (sp-int-plain-rnd spt-timer 180 29 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 1320) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1320) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.53333336) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1317) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.1 1.0 1.0) + (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -11878.4 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a 1.0666667) + (sp-flt spt-accel-y 1.024) + (sp-int-plain-rnd spt-timer 180 29 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 60) + (sp-launcher-by-id spt-next-launcher 1320) + (sp-flt spt-conerot-x (degrees 45.0)) + (sp-flt spt-conerot-y (degrees 240.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1318) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.2 0.2 1.0) + (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -11878.4 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.0044444446)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.34133333) + (sp-flt spt-fade-g -0.17066666) + (sp-flt spt-fade-b -0.17066666) + (sp-flt spt-fade-a 0.4) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 1174) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 4.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1319) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.2 0.2 1.0) + (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters -0.2) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -11878.4 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 1.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.0044444446)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.34133333) + (sp-flt spt-fade-g -0.17066666) + (sp-flt spt-fade-b -0.17066666) + (sp-flt spt-fade-a 0.4) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit14) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 1174) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 4.5)) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/village2/village2-part_REF.gc b/test/decompiler/reference/levels/village2/village2-part_REF.gc index 806a4500ab..1764b709a4 100644 --- a/test/decompiler/reference/levels/village2/village2-part_REF.gc +++ b/test/decompiler/reference/levels/village2/village2-part_REF.gc @@ -13,2832 +13,2587 @@ ;; definition for method 3 of type villageb-part (defmethod inspect villageb-part ((obj villageb-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 264) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-moth" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 1129 :fade-after (meters 120.0) :flags (bit1) :period 18030 :length 5 :binding 1127) - (sp-item 1127 :flags (start-dead launch-asap) :binding 1128) - (sp-item 1128 :flags (is-3d start-dead)) - ) - :bounds (new 'static 'sphere :w 12288.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1129) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 18000) - (sp-cpuinfo-flags bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1127) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-flt spt-z 6144.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 18000) - (sp-cpuinfo-flags bit3 bit7) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 1130) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1130) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) - (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-int-plain-rnd spt-next-time 150 449 1) - (sp-launcher-by-id spt-next-launcher 1130) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1128) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-rot-color) - (sp-flt spt-num 2.0) - (sp-flt spt-scale-x (meters 0.4)) - (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) - (sp-flt spt-scale-y (meters 0.4)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit9 bit12) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 265) - (new 'static 'sparticle-launch-group - :length 9 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-tableflys" - :launcher - (new 'static 'inline-array sparticle-group-item 9 - (sp-item 1133 :flags (launch-asap) :binding 1131) - (sp-item 1134 :flags (launch-asap) :binding 1131) - (sp-item 1135 :flags (launch-asap) :binding 1131) - (sp-item 1131 :flags (start-dead launch-asap) :binding 1132) - (sp-item 1131 :flags (start-dead launch-asap) :binding 1132) - (sp-item 1131 :flags (start-dead launch-asap) :binding 1132) - (sp-item 1132 :flags (is-3d start-dead)) - (sp-item 1132 :flags (is-3d start-dead)) - (sp-item 1132 :flags (is-3d start-dead)) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 40960.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1133) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 0.0)) - (sp-flt spt-y (meters 2.0)) - (sp-flt spt-z 20480.0) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 128.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1136) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1136) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-int spt-timer 300) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1136) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1134) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters 4.0)) - (sp-flt spt-y (meters 2.0)) - (sp-flt spt-z -8192.0) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 128.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1136) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1135) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -4.0)) - (sp-flt spt-y (meters 2.0)) - (sp-flt spt-z -8192.0) - (sp-flt spt-scale-x (meters 0.01)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 128.0) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit3) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1136) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1131) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-int spt-num 1065353216 1 2.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 4096.0 4096.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit7) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1136) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1132) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) - (sp-func spt-birth-func 'birth-func-copy-rot-color) - (sp-flt spt-num 3.0) - (sp-flt spt-scale-x (meters 0.15)) - (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) - (sp-flt spt-scale-y (meters 0.15)) - (sp-flt spt-r 128.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit9 bit12) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 266) - (new 'static 'sparticle-launch-group - :length 8 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-flamepot" - :launcher - (new 'static 'inline-array sparticle-group-item 8 - (sp-item 1137 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1138 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 492 :length 60) - (sp-item 1139 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1140 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 369 :length 219) - (sp-item 1141 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 690 :length 90) - (sp-item 1142 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 918 :length 669) - (sp-item 1143 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 750 :length 30) - (sp-item 1144 :fade-after (meters 50.0) :falloff-to (meters 60.0)) - ) - :bounds - (new 'static 'sphere :y 20480.0 :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 267) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-flamepot-half" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 1145 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1146 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1147 :fade-after (meters 50.0) :falloff-to (meters 60.0)) - ) - :bounds - (new 'static 'sphere :y 20480.0 :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 268) - (new 'static 'sparticle-launch-group - :length 8 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-flamepot-alt1" - :launcher - (new 'static 'inline-array sparticle-group-item 8 - (sp-item 1137 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1138 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 378 :length 60) - (sp-item 1139 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1140 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 435 :length 219) - (sp-item 1141 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 528 :length 90) - (sp-item 1142 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 1077 :length 669) - (sp-item 1143 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 612 :length 30) - (sp-item 1144 :fade-after (meters 50.0) :falloff-to (meters 60.0)) - ) - :bounds - (new 'static 'sphere :y 20480.0 :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 269) - (new 'static 'sparticle-launch-group - :length 8 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-flamepot-alt2" - :launcher - (new 'static 'inline-array sparticle-group-item 8 - (sp-item 1137 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1138 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 609 :length 60) - (sp-item 1139 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1140 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 288 :length 219) - (sp-item 1141 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 645 :length 90) - (sp-item 1142 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 771 :length 669) - (sp-item 1143 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 857 :length 30) - (sp-item 1144 :fade-after (meters 50.0) :falloff-to (meters 60.0)) - ) - :bounds - (new 'static 'sphere :y 20480.0 :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 270) - (new 'static 'sparticle-launch-group - :length 1 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-flamepot-off" - :launcher - (new 'static 'inline-array sparticle-group-item 1 - (sp-item 1148 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 20480.0 :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1144) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-flt spt-num 0.4) - (sp-flt spt-x (meters 1.0)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2949.12) - (sp-flt spt-b 3276.8) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 1149) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1149) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -5.4613333) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1147) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 13 - (sp-flt spt-num 0.15) - (sp-flt spt-x (meters 0.4)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 2867.2) - (sp-flt spt-b 3072.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 1150) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1150) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -3.4133334) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1137) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.5 0.4 1.0) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.75) 1.0) - (sp-flt spt-y (meters -0.25)) - (sp-rnd-flt spt-z -1024.0 3072.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.011666667) (meters 0.0075) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.027306668) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1145) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.35 0.25 1.0) - (sp-rnd-flt spt-x (meters -0.1) (meters 0.1) 1.0) - (sp-flt spt-y (meters -0.25)) - (sp-rnd-flt spt-z -409.6 409.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.004166667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.054613337) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1138) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1060320051 1 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 0.5) 1.0) - (sp-flt spt-y (meters -0.25)) - (sp-rnd-flt spt-z 0.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-int-flt spt-vel-y (meters 0.02) 1 20.48) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1139) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.15 0.2 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters -0.25)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 20.0 12.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.0055555557)) - (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.0627451) - (sp-flt spt-accel-y -1.0922667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 150 59 1) - (sp-launcher-by-id spt-next-launcher 1151) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1146) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.06 0.06 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters -0.25)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 20.0 12.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0055555557)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.0627451) - (sp-flt spt-accel-y -0.4096) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 150 59 1) - (sp-launcher-by-id spt-next-launcher 1151) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1148) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.08 0.1 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters -0.25)) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 20.0 12.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0055555557)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.0627451) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit14) - (sp-int-plain-rnd spt-next-time 150 59 1) - (sp-launcher-by-id spt-next-launcher 1151) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1151) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-g 0.53333336) - (sp-flt spt-fade-b 1.0666667) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 1152) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1152) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1140) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.4 0.55 1.0) - (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) - (sp-flt spt-y (meters -0.25)) - (sp-rnd-flt spt-z -2457.6 4915.2 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.027306668) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees -15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1141) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1031127695 1 0.9) - (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) - (sp-flt spt-y (meters 0.75)) - (sp-rnd-flt spt-z -2457.6 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-int-flt spt-vel-y (meters 0.02) 1 20.48) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees -15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1142) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.6 0.9 1.0) - (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) - (sp-flt spt-y (meters -0.25)) - (sp-rnd-flt spt-z -2457.6 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.005) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.027306668) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1143) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1060320051 1 1.5) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.75) 1.0) - (sp-flt spt-y (meters 0.75)) - (sp-rnd-flt spt-z -2048.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-int-flt spt-vel-y (meters 0.02) 1 20.48) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 0.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 634) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-fireboulder-off" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1169 :fade-after (meters 80.0) :falloff-to (meters 100.0)) - (sp-item 1170 :fade-after (meters 80.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 43008.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 271) - (new 'static 'sparticle-launch-group - :length 18 - :duration #x4650 - :linger-duration #x5dc - :name "group-village2-fireboulder" - :launcher - (new 'static 'inline-array sparticle-group-item 18 - (sp-item 1153 :fade-after (meters 200.0) :falloff-to (meters 240.0)) - (sp-item 1154 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 300 :length 60) - (sp-item 1155 :fade-after (meters 80.0) :falloff-to (meters 100.0)) - (sp-item 1156 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - (sp-item 1157 :fade-after (meters 200.0) :falloff-to (meters 240.0)) - (sp-item 1158 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 600 :length 90) - (sp-item 1159 :fade-after (meters 80.0) :falloff-to (meters 100.0)) - (sp-item 1160 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - (sp-item 1161 :fade-after (meters 200.0) :falloff-to (meters 240.0)) - (sp-item 1162 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 30) - (sp-item 1163 :fade-after (meters 80.0) :falloff-to (meters 100.0)) - (sp-item 1164 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - (sp-item 1165 :fade-after (meters 200.0) :falloff-to (meters 240.0)) - (sp-item 1166 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 240 :length 75) - (sp-item 1167 :fade-after (meters 80.0) :falloff-to (meters 100.0)) - (sp-item 1168 :fade-after (meters 200.0) :falloff-to (meters 240.0)) - (sp-item 1169 :fade-after (meters 80.0) :falloff-to (meters 100.0)) - (sp-item 1170 :fade-after (meters 80.0) :falloff-to (meters 100.0)) - ) - :bounds - (new 'static 'sphere :y 16384.0 :w 43008.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1156) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters 1.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 6.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z 2048.0 10240.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 6144.0) - (sp-flt spt-b 5324.8) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 1171) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1171) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b 13.653334) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1160) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-flt spt-num 0.15) - (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters 5.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -4096.0 4096.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 6144.0) - (sp-flt spt-b 5324.8) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 1171) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1164) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-flt spt-num 0.15) - (sp-flt spt-x (meters 2.7)) - (sp-rnd-flt spt-y (meters 4.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -12288.0 8192.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 6144.0) - (sp-flt spt-b 5324.8) - (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-flt spt-vel-y (meters 0.026666667)) - (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) - (sp-int spt-timer 180) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 1171) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1153) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.7 1.2 1.0) - (sp-rnd-flt spt-x (meters 1.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 5.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z 2048.0 10240.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.027306668) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1154) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1058642330 1 1.7) - (sp-rnd-flt spt-x (meters 1.5) (meters 0.7) 1.0) - (sp-rnd-flt spt-y (meters 6.0) (meters 0.6) 1.0) - (sp-rnd-flt spt-z 2048.0 7372.8 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-int-flt spt-vel-y (meters 0.026666667) 1 27.306667) - (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1155) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.05 0.2 1.0) - (sp-rnd-flt spt-x (meters 1.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 6.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z 2048.0 10240.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 20.0 12.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.0627451) - (sp-flt spt-accel-y -1.0922667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 150 59 1) - (sp-launcher-by-id spt-next-launcher 1172) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1172) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-g 0.53333336) - (sp-flt spt-fade-b 1.0666667) - (sp-int spt-next-time 120) - (sp-launcher-by-id spt-next-launcher 1173) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1173) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1157) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.65 1.2 1.0) - (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters 4.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -4096.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.027306668) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1158) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1056964608 1 1.2) - (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters 4.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -4096.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-int-flt spt-vel-y (meters 0.026666667) 1 27.306667) - (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1159) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.08 0.25 1.0) - (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters 5.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -4096.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.0627451) - (sp-flt spt-accel-y -1.0922667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 150 59 1) - (sp-launcher-by-id spt-next-launcher 1172) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees 5.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1161) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.7 1.5 1.0) - (sp-flt spt-x (meters 2.7)) - (sp-rnd-flt spt-y (meters 3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -12288.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.027306668) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees -15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1162) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1058642330 1 1.4) - (sp-flt spt-x (meters 2.7)) - (sp-rnd-flt spt-y (meters 3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -12288.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-int-flt spt-vel-y (meters 0.026666667) 1 27.306667) - (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees -15.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1163) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.08 0.25 1.0) - (sp-flt spt-x (meters 2.7)) - (sp-rnd-flt spt-y (meters 4.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -12288.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.0627451) - (sp-flt spt-accel-y -1.0922667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 150 59 1) - (sp-launcher-by-id spt-next-launcher 1172) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees -5.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1165) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.65 1.5 1.0) - (sp-rnd-flt spt-x (meters -3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -12288.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y -0.027306668) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1166) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-int spt-num 1059481190 1 1.5) - (sp-rnd-flt spt-x (meters -3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -12288.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-int-flt spt-vel-y (meters 0.026666667) 1 27.306667) - (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-timer 150) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1167) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.08 0.25 1.0) - (sp-rnd-flt spt-x (meters -3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-y (meters 5.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -12288.0 6144.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 32.0) - (sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.005)) - (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.0627451) - (sp-flt spt-accel-y -1.0922667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 150 59 1) - (sp-launcher-by-id spt-next-launcher 1172) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-flt spt-rotate-y (degrees -45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1168) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.1 0.4 1.0) - (sp-rnd-flt spt-x (meters 1.5) (meters 1.0) 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-rnd-flt spt-z 2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) - (sp-flt spt-fade-g 0.32) - (sp-flt spt-fade-b 0.32) - (sp-flt spt-fade-a -0.5416667) - (sp-flt spt-accel-y 1.3653333) - (sp-int-plain-rnd spt-timer 180 29 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-z (degrees -45.0)) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-rnd-int-flt spt-rotate-y (degrees 0.0) 2 -18568.533) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1169) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.15 0.15 1.0) - (sp-flt spt-y (meters 4.0)) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.0044444446)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.34133333) - (sp-flt spt-fade-g -0.17066666) - (sp-flt spt-fade-b -0.17066666) - (sp-flt spt-fade-a 0.4) - (sp-flt spt-accel-y 1.3653333) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 1174) - (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 4.5)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1174) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-vel-y (meters 0.013333334)) - (sp-flt spt-fade-a 0.0) - (sp-flt spt-accel-y -0.00040000002) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1175) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1175) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1170) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.15 0.3 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 48.0) - (sp-flt spt-b 48.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.0073333336)) - (sp-flt spt-scalevel-x (meters 0.0013333333)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.4) - (sp-flt spt-accel-y 0.54613334) - (sp-flt spt-friction 0.995) - (sp-int spt-timer 1575) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 1176) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 2.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1176) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 600) - (sp-launcher-by-id spt-next-launcher 1177) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1177) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-flt spt-vel-x (meters 0.0)) - (sp-flt spt-vel-y (meters 0.011666667)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-scalevel-x (meters 0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.10666667) - (sp-flt spt-fade-g -0.08) - (sp-flt spt-fade-b -0.08) - (sp-flt spt-fade-a -0.053333335) - (sp-flt spt-accel-y 0.13653333) - (sp-int spt-timer 600) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 272) - (new 'static 'sparticle-launch-group - :length 10 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-window-flames-45" - :launcher - (new 'static 'inline-array sparticle-group-item 10 - (sp-item 1178 :fade-after (meters 300.0)) - (sp-item 1179 :fade-after (meters 300.0)) - (sp-item 1179 :fade-after (meters 180.0)) - (sp-item 1180 :fade-after (meters 200.0) :period 2160 :length 5) - (sp-item 1180 :fade-after (meters 200.0) :period 669 :length 5) - (sp-item 1180 :fade-after (meters 200.0) :period 4279 :length 5) - (sp-item 1180 :fade-after (meters 200.0) :period 1238 :length 5) - (sp-item 1181 :fade-after (meters 300.0)) - (sp-item 1182 :fade-after (meters 300.0)) - (sp-item 1182 :fade-after (meters 180.0)) - ) - :bounds - (new 'static 'sphere :x 32768.0 :y -32768.0 :w 147456.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1178) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.015 0.035 1.0) - (sp-rnd-flt spt-x (meters 4.0) (meters 12.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 8.0) 1.0) - (sp-flt spt-z 32768.0) - (sp-rnd-int-flt spt-scale-x (meters 4.0) 1 40960.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 0.0 8.0 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-flt spt-accel-y 0.27306667) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1183) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1183) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int-plain-rnd spt-next-time 300 299 1) - (sp-launcher-by-id spt-next-launcher 1184) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1184) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.08) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1179) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.4 1.0) - (sp-rnd-flt spt-x (meters 10.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 6.0) 1.0) - (sp-rnd-int spt-z 1189085184 1 8192.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 5.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-rnd-flt spt-accel-y 9.557333 10.922667 1.0) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 30) - (sp-launcher-by-id spt-next-launcher 1185) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1185) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.85333335) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1180) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.8 0.4 1.0) - (sp-rnd-flt spt-x (meters 10.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 6.0)) - (sp-rnd-int spt-z 1189085184 1 8192.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-int spt-g 0 2 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-flt spt-fade-a -0.048484847) - (sp-rnd-flt spt-accel-x -0.34133333 0.68266666 1.0) - (sp-flt spt-accel-y -2.7306666) - (sp-rnd-flt spt-accel-z -0.34133333 0.68266666 1.0) - (sp-int spt-timer 840) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees -15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1181) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.015 0.03 1.0) - (sp-rnd-flt spt-x (meters -6.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 8.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-z -24576.0 24576.0 1.0) - (sp-rnd-int-flt spt-scale-x (meters 4.0) 1 40960.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 0.0 8.0 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-flt spt-accel-y 0.27306667) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1183) - (sp-flt spt-rotate-y (degrees 15.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1182) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-rnd-flt spt-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 6.0) 1.0) - (sp-rnd-int spt-z -956301312 1 8192.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-rnd-flt spt-accel-y 10.24 10.24 1.0) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 30) - (sp-launcher-by-id spt-next-launcher 1185) - (sp-flt spt-rotate-y (degrees 5.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 273) - (new 'static 'sparticle-launch-group - :length 10 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-window-flames-41" - :launcher - (new 'static 'inline-array sparticle-group-item 10 - (sp-item 1186 :fade-after (meters 300.0)) - (sp-item 1187 :fade-after (meters 300.0)) - (sp-item 1187 :fade-after (meters 180.0)) - (sp-item 1188 :fade-after (meters 200.0) :period 2160 :length 5) - (sp-item 1188 :fade-after (meters 200.0) :period 669 :length 5) - (sp-item 1188 :fade-after (meters 200.0) :period 4279 :length 5) - (sp-item 1188 :fade-after (meters 200.0) :period 1238 :length 5) - (sp-item 1189 :fade-after (meters 300.0)) - (sp-item 1190 :fade-after (meters 300.0)) - (sp-item 1190 :fade-after (meters 180.0)) - ) - :bounds - (new 'static 'sphere :x 32768.0 :y -32768.0 :w 147456.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1186) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.015 0.03 1.0) - (sp-rnd-flt spt-x (meters 6.0) (meters 12.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 8.0) 1.0) - (sp-flt spt-z 32768.0) - (sp-rnd-int-flt spt-scale-x (meters 4.0) 1 40960.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 0.0 8.0 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-flt spt-accel-y 0.27306667) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1183) - (sp-flt spt-rotate-y (degrees 82.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1187) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.4 1.0) - (sp-rnd-flt spt-x (meters 10.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 6.0) 1.0) - (sp-rnd-int spt-z 1189085184 1 8192.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 5.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-rnd-flt spt-accel-y 9.557333 10.922667 1.0) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 30) - (sp-launcher-by-id spt-next-launcher 1185) - (sp-flt spt-rotate-y (degrees 82.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1188) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.8 0.4 1.0) - (sp-rnd-flt spt-x (meters 10.0) (meters 4.0) 1.0) - (sp-flt spt-y (meters 6.0)) - (sp-rnd-int spt-z 1189085184 1 8192.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-int spt-g 0 2 128.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-flt spt-fade-a -0.048484847) - (sp-rnd-flt spt-accel-x -0.34133333 0.68266666 1.0) - (sp-flt spt-accel-y -2.7306666) - (sp-rnd-flt spt-accel-z -0.34133333 0.68266666 1.0) - (sp-int spt-timer 810) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-flt spt-rotate-y (degrees 82.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1189) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.015 0.03 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 8.0) (meters 8.0) 1.0) - (sp-rnd-flt spt-z -24576.0 24576.0 1.0) - (sp-rnd-int-flt spt-scale-x (meters 4.0) 1 40960.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 0.0 8.0 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-flt spt-accel-y 0.27306667) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1183) - (sp-flt spt-rotate-y (degrees 112.00001)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1190) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.3 0.3 1.0) - (sp-rnd-flt spt-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 4.0) (meters 6.0) 1.0) - (sp-rnd-int spt-z -956301312 1 8192.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-rnd-flt spt-accel-y 10.24 10.24 1.0) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 30) - (sp-launcher-by-id spt-next-launcher 1185) - (sp-flt spt-rotate-y (degrees 106.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 274) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-big-boulder" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 1191 :fade-after (meters 300.0)) - (sp-item 1192 :fade-after (meters 300.0)) - (sp-item 1192 :fade-after (meters 180.0)) - ) - :bounds - (new 'static 'sphere :x 32768.0 :y -32768.0 :w 147456.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1191) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.015 0.03 1.0) - (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-y (meters 8.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-z -8192.0 16384.0 1.0) - (sp-rnd-int-flt spt-scale-x (meters 8.0) 1 40960.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 32.0) - (sp-flt spt-g 32.0) - (sp-flt spt-b 32.0) - (sp-rnd-flt spt-a 0.0 8.0 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.21333334) - (sp-flt spt-accel-y 0.27306667) - (sp-int spt-timer 1800) - (sp-cpuinfo-flags bit2) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1183) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1192) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.4 0.4 1.0) - (sp-flt spt-x (meters 2.0)) - (sp-flt spt-y (meters 4.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 5.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 4.266667) - (sp-rnd-flt spt-accel-y 9.557333 10.922667 1.0) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 30) - (sp-launcher-by-id spt-next-launcher 1185) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 90.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 4.5)) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 275) - (new 'static 'sparticle-launch-group - :length 6 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-sages-controlpanel" - :launcher - (new 'static 'inline-array sparticle-group-item 6 - (sp-item 1193 :fade-after (meters 30.0) :period 736 :length 10) - (sp-item 1193 :fade-after (meters 30.0) :period 1696 :length 10) - (sp-item 1193 :fade-after (meters 30.0) :period 5079 :length 10) - (sp-item 1194 :fade-after (meters 30.0) :period 5079 :length 10) - (sp-item 1194 :fade-after (meters 30.0) :period 2163 :length 10) - (sp-item 1195 :fade-after (meters 40.0) :falloff-to (meters 50.0)) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1195) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.2 0.4 1.0) - (sp-flt spt-x (meters 0.9)) - (sp-flt spt-y (meters 0.25)) - (sp-flt spt-z -4915.2) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0022222223)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.53333336) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 1196) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1196) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r -0.053333335) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-b -0.053333335) - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1193) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 4.0 16.0 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 0.1 - :group #x1 - :sound-name (static-sound-name "spark") - :volume #x400 +(set! (-> *part-group-id-table* 264) + (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-moth" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 1129 :fade-after (meters 120.0) :flags (bit1) :period 18030 :length 5 :binding 1127) + (sp-item 1127 :flags (start-dead launch-asap) :binding 1128) + (sp-item 1128 :flags (is-3d start-dead)) + ) + :bounds (new 'static 'sphere :w 12288.0) + ) ) - ) - (sp-flt spt-x (meters 0.9)) - (sp-flt spt-y (meters 0.05)) - (sp-flt spt-z -3686.4) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters -0.00055555557)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.2) - (sp-flt spt-fade-b -0.2) - (sp-flt spt-fade-a -0.6) - (sp-flt spt-accel-y -6.826667) - (sp-flt spt-friction 0.94) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -45.0) (degrees 180.0) 1.0) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1194) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 4.0 16.0 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 0.1 - :group #x1 - :sound-name (static-sound-name "spark") - :volume #x400 +(set! (-> *part-id-table* 1129) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 10 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 18000) + (sp-cpuinfo-flags bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) ) - ) - (sp-flt spt-x (meters -1.2)) - (sp-flt spt-y (meters -0.5)) - (sp-flt spt-z 4915.2) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters -0.00055555557)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.2) - (sp-flt spt-fade-b -0.2) - (sp-flt spt-fade-a -0.6) - (sp-flt spt-accel-y -6.826667) - (sp-flt spt-friction 0.94) - (sp-int-plain-rnd spt-timer 90 59 1) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -45.0) (degrees 180.0) 1.0) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 276) - (new 'static 'sparticle-launch-group - :length 14 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village2-sages-machine" - :launcher - (new 'static 'inline-array sparticle-group-item 14 - (sp-item 1199 :fade-after (meters 40.0) :period 768 :length 10 :binding 1197) - (sp-item 1199 :fade-after (meters 40.0) :period 1096 :length 10 :binding 1198) - (sp-item 1199 :fade-after (meters 40.0) :period 2137 :length 10 :binding 1197) - (sp-item 1197 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 1197 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 1198 :fade-after (meters 40.0) :flags (start-dead)) - (sp-item 1200 :fade-after (meters 40.0) :period 300 :length 5) - (sp-item 1200 :fade-after (meters 40.0) :period 470 :length 5) - (sp-item 1200 :fade-after (meters 40.0) :period 613 :length 5) - (sp-item 1200 :fade-after (meters 40.0) :period 1336 :length 5) - (sp-item 1201 :fade-after (meters 40.0) :falloff-to (meters 40.0)) - (sp-item 1202 :fade-after (meters 40.0)) - (sp-item 1203 :fade-after (meters 40.0) :falloff-to (meters 50.0)) - (sp-item 1204 :fade-after (meters 40.0) :falloff-to (meters 50.0)) - ) - :bounds (new 'static 'sphere :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1201) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.5 1.0 1.0) - (sp-flt spt-x (meters -0.75)) - (sp-flt spt-y (meters -0.8)) - (sp-flt spt-z 10649.6) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 32.0 1.0) - (sp-rnd-flt spt-g 32.0 32.0 1.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-scalevel-x (meters -0.00055555557)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.06) - (sp-flt spt-fade-a -0.18) - (sp-int-plain-rnd spt-timer 30 449 1) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -120.0) (degrees 210.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.3)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1202) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-x (meters -0.75)) - (sp-flt spt-y (meters -0.8)) - (sp-flt spt-z 10649.6) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.4) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 32.0 64.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-scalevel-x (meters -0.00055555557)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 5) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1200) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) - (sp-rnd-flt spt-num 1.0 0.5 1.0) - (sp-flt spt-x (meters -0.7)) - (sp-flt spt-y (meters -0.7)) - (sp-flt spt-z 10649.6) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 3.0) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 60.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.4) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.6) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 1205) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1205) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-fade-r -1.0666667) - (sp-flt spt-fade-g -1.0666667) - (sp-flt spt-fade-a -2.1333334) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1203) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.2 0.4 1.0) - (sp-flt spt-x (meters -1.25)) - (sp-flt spt-y (meters 0.0)) - (sp-flt spt-z 0.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-flt spt-g 64.0) - (sp-rnd-flt spt-b 64.0 32.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0022222223)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.53333336) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 30 89 1) - (sp-launcher-by-id spt-next-launcher 1206) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1206) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-fade-r -0.053333335) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-b -0.053333335) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-friction 0.95) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1204) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 27 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 0.2 0.8 1.0) - (sp-flt spt-x (meters -0.7)) - (sp-flt spt-y (meters -0.7)) - (sp-flt spt-z 10649.6) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 64.0 32.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.0022222223)) - (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.053333335) - (sp-flt spt-fade-g -0.053333335) - (sp-flt spt-fade-b -0.053333335) - (sp-flt spt-fade-a -0.10666667) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1199) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-scale-x (meters 1.0)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 64.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -6.4) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -60.0) (degrees 120.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.1)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1197) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 2.0 8.0 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 0.1 - :group #x1 - :sound-name (static-sound-name "spark") - :volume #x400 +(set! (-> *part-id-table* 1127) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-flt spt-z 6144.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 18000) + (sp-cpuinfo-flags bit3 bit7) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 1130) + (sp-end) + ) + ) ) - ) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters -0.00016666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.2) - (sp-flt spt-fade-b -0.2) - (sp-flt spt-fade-a -0.4) - (sp-flt spt-accel-y -6.826667) - (sp-flt spt-friction 0.92) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 180.0) 1.0) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1198) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 2.0 6.0 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 0.1 - :group #x1 - :sound-name (static-sound-name "spark") - :volume #x400 +(set! (-> *part-id-table* 1130) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 6 + (sp-rnd-flt spt-vel-x (meters -0.035555556) (meters 0.07111111) 1.0) + (sp-rnd-flt spt-vel-y (meters -0.0148148155) (meters 0.029629631) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-int-plain-rnd spt-next-time 150 449 1) + (sp-launcher-by-id spt-next-launcher 1130) + (sp-end) + ) + ) ) - ) - (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) - (sp-flt spt-scalevel-x (meters -0.00016666666)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.2) - (sp-flt spt-fade-b -0.2) - (sp-flt spt-accel-y -8.192) - (sp-flt spt-friction 0.92) - (sp-int spt-timer 1200) - (sp-cpuinfo-flags bit2 bit14) - (sp-flt spt-userdata 91750.4) - (sp-func spt-func 'check-drop-level-sagehut2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 180.0) 1.0) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1207) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.0 3.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-flt spt-g 64.0) - (sp-rnd-flt spt-a 32.0 96.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.011666667) (meters 0.0033333334) 1.0) - (sp-flt spt-fade-a -0.85333335) - (sp-flt spt-accel-y -0.68266666) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit2 bit14) - (sp-rnd-flt spt-conerot-x (degrees 50.000004) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 1128) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-rot-color) + (sp-flt spt-num 2.0) + (sp-flt spt-scale-x (meters 0.4)) + (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) + (sp-flt spt-scale-y (meters 0.4)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit9 bit12) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 265) (new 'static 'sparticle-launch-group + :length 9 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-tableflys" + :launcher + (new 'static 'inline-array sparticle-group-item 9 + (sp-item 1133 :flags (launch-asap) :binding 1131) + (sp-item 1134 :flags (launch-asap) :binding 1131) + (sp-item 1135 :flags (launch-asap) :binding 1131) + (sp-item 1131 :flags (start-dead launch-asap) :binding 1132) + (sp-item 1131 :flags (start-dead launch-asap) :binding 1132) + (sp-item 1131 :flags (start-dead launch-asap) :binding 1132) + (sp-item 1132 :flags (is-3d start-dead)) + (sp-item 1132 :flags (is-3d start-dead)) + (sp-item 1132 :flags (is-3d start-dead)) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 40960.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1133) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 0.0)) + (sp-flt spt-y (meters 2.0)) + (sp-flt spt-z 20480.0) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 128.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1136) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1136) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-int spt-timer 300) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1136) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1134) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters 4.0)) + (sp-flt spt-y (meters 2.0)) + (sp-flt spt-z -8192.0) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 128.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1136) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1135) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -4.0)) + (sp-flt spt-y (meters 2.0)) + (sp-flt spt-z -8192.0) + (sp-flt spt-scale-x (meters 0.01)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 128.0) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit3) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1136) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1131) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-int spt-num 1065353216 1 2.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 4096.0 4096.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0044444446) (meters 0.0044444446) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.008888889) (meters 0.008888889) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit7) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1136) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1132) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 13 + (sp-tex spt-texture (new 'static 'texture-id :index #x22 :page #x2)) + (sp-func spt-birth-func 'birth-func-copy-rot-color) + (sp-flt spt-num 3.0) + (sp-flt spt-scale-x (meters 0.15)) + (sp-rnd-flt spt-rot-x -10922.667 54613.332 1.0) + (sp-flt spt-scale-y (meters 0.15)) + (sp-flt spt-r 128.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit9 bit12) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 266) + (new 'static 'sparticle-launch-group + :length 8 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-flamepot" + :launcher + (new 'static 'inline-array sparticle-group-item 8 + (sp-item 1137 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1138 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 492 :length 60) + (sp-item 1139 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1140 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 369 :length 219) + (sp-item 1141 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 690 :length 90) + (sp-item 1142 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 918 :length 669) + (sp-item 1143 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 750 :length 30) + (sp-item 1144 :fade-after (meters 50.0) :falloff-to (meters 60.0)) + ) + :bounds + (new 'static 'sphere :y 20480.0 :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 267) (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-flamepot-half" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 1145 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1146 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1147 :fade-after (meters 50.0) :falloff-to (meters 60.0)) + ) + :bounds + (new 'static 'sphere :y 20480.0 :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 268) + (new 'static 'sparticle-launch-group + :length 8 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-flamepot-alt1" + :launcher + (new 'static 'inline-array sparticle-group-item 8 + (sp-item 1137 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1138 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 378 :length 60) + (sp-item 1139 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1140 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 435 :length 219) + (sp-item 1141 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 528 :length 90) + (sp-item 1142 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 1077 :length 669) + (sp-item 1143 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 612 :length 30) + (sp-item 1144 :fade-after (meters 50.0) :falloff-to (meters 60.0)) + ) + :bounds + (new 'static 'sphere :y 20480.0 :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 269) + (new 'static 'sparticle-launch-group + :length 8 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-flamepot-alt2" + :launcher + (new 'static 'inline-array sparticle-group-item 8 + (sp-item 1137 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1138 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 609 :length 60) + (sp-item 1139 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1140 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 288 :length 219) + (sp-item 1141 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 645 :length 90) + (sp-item 1142 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 771 :length 669) + (sp-item 1143 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 857 :length 30) + (sp-item 1144 :fade-after (meters 50.0) :falloff-to (meters 60.0)) + ) + :bounds + (new 'static 'sphere :y 20480.0 :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 270) (new 'static 'sparticle-launch-group + :length 1 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-flamepot-off" + :launcher + (new 'static 'inline-array sparticle-group-item 1 + (sp-item 1148 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 20480.0 :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1144) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-flt spt-num 0.4) + (sp-flt spt-x (meters 1.0)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2949.12) + (sp-flt spt-b 3276.8) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 1149) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1149) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -5.4613333) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1147) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 13 + (sp-flt spt-num 0.15) + (sp-flt spt-x (meters 0.4)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 2867.2) + (sp-flt spt-b 3072.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 1150) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1150) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -3.4133334) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1137) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.5 0.4 1.0) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.75) 1.0) + (sp-flt spt-y (meters -0.25)) + (sp-rnd-flt spt-z -1024.0 3072.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.011666667) (meters 0.0075) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.027306668) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1145) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.35 0.25 1.0) + (sp-rnd-flt spt-x (meters -0.1) (meters 0.1) 1.0) + (sp-flt spt-y (meters -0.25)) + (sp-rnd-flt spt-z -409.6 409.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.6) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.005) (meters 0.004166667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.054613337) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1138) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1060320051 1 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 0.5) 1.0) + (sp-flt spt-y (meters -0.25)) + (sp-rnd-flt spt-z 0.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-int-flt spt-vel-y (meters 0.02) 1 20.48) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1139) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.15 0.2 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters -0.25)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 20.0 12.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.0055555557)) + (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.0627451) + (sp-flt spt-accel-y -1.0922667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 150 59 1) + (sp-launcher-by-id spt-next-launcher 1151) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1146) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.06 0.06 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters -0.25)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 20.0 12.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0055555557)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.0627451) + (sp-flt spt-accel-y -0.4096) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 150 59 1) + (sp-launcher-by-id spt-next-launcher 1151) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1148) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.08 0.1 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters -0.25)) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 20.0 12.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0055555557)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.0627451) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit14) + (sp-int-plain-rnd spt-next-time 150 59 1) + (sp-launcher-by-id spt-next-launcher 1151) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1151) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-g 0.53333336) + (sp-flt spt-fade-b 1.0666667) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 1152) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1152) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1140) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.4 0.55 1.0) + (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) + (sp-flt spt-y (meters -0.25)) + (sp-rnd-flt spt-z -2457.6 4915.2 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.027306668) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees -15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1141) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1031127695 1 0.9) + (sp-rnd-flt spt-x (meters -0.6) (meters 0.5) 1.0) + (sp-flt spt-y (meters 0.75)) + (sp-rnd-flt spt-z -2457.6 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-int-flt spt-vel-y (meters 0.02) 1 20.48) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees -15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1142) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.6 0.9 1.0) + (sp-rnd-flt spt-x (meters -0.6) (meters 1.2) 1.0) + (sp-flt spt-y (meters -0.25)) + (sp-rnd-flt spt-z -2457.6 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.005) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.027306668) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1143) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1060320051 1 1.5) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.75) 1.0) + (sp-flt spt-y (meters 0.75)) + (sp-rnd-flt spt-z -2048.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.9) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-int-flt spt-vel-y (meters 0.02) 1 20.48) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 0.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 634) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-fireboulder-off" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1169 :fade-after (meters 80.0) :falloff-to (meters 100.0)) + (sp-item 1170 :fade-after (meters 80.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 43008.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 271) + (new 'static 'sparticle-launch-group + :length 18 + :duration #x4650 + :linger-duration #x5dc + :name "group-village2-fireboulder" + :launcher + (new 'static 'inline-array sparticle-group-item 18 + (sp-item 1153 :fade-after (meters 200.0) :falloff-to (meters 240.0)) + (sp-item 1154 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 300 :length 60) + (sp-item 1155 :fade-after (meters 80.0) :falloff-to (meters 100.0)) + (sp-item 1156 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + (sp-item 1157 :fade-after (meters 200.0) :falloff-to (meters 240.0)) + (sp-item 1158 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 600 :length 90) + (sp-item 1159 :fade-after (meters 80.0) :falloff-to (meters 100.0)) + (sp-item 1160 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + (sp-item 1161 :fade-after (meters 200.0) :falloff-to (meters 240.0)) + (sp-item 1162 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 450 :length 30) + (sp-item 1163 :fade-after (meters 80.0) :falloff-to (meters 100.0)) + (sp-item 1164 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + (sp-item 1165 :fade-after (meters 200.0) :falloff-to (meters 240.0)) + (sp-item 1166 :fade-after (meters 100.0) :falloff-to (meters 120.0) :period 240 :length 75) + (sp-item 1167 :fade-after (meters 80.0) :falloff-to (meters 100.0)) + (sp-item 1168 :fade-after (meters 200.0) :falloff-to (meters 240.0)) + (sp-item 1169 :fade-after (meters 80.0) :falloff-to (meters 100.0)) + (sp-item 1170 :fade-after (meters 80.0) :falloff-to (meters 100.0)) + ) + :bounds + (new 'static 'sphere :y 16384.0 :w 43008.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1156) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters 1.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 6.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z 2048.0 10240.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 6144.0) + (sp-flt spt-b 5324.8) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 1171) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1171) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b 13.653334) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1160) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-flt spt-num 0.15) + (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters 5.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -4096.0 4096.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 6144.0) + (sp-flt spt-b 5324.8) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 1171) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1164) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-flt spt-num 0.15) + (sp-flt spt-x (meters 2.7)) + (sp-rnd-flt spt-y (meters 4.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -12288.0 8192.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 6144.0) + (sp-flt spt-b 5324.8) + (sp-rnd-flt spt-vel-x (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-flt spt-vel-y (meters 0.026666667)) + (sp-rnd-flt spt-vel-z (meters -0.006666667) (meters 0.013333334) 1.0) + (sp-int spt-timer 180) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 1171) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1153) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.7 1.2 1.0) + (sp-rnd-flt spt-x (meters 1.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 5.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z 2048.0 10240.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.027306668) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1154) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1058642330 1 1.7) + (sp-rnd-flt spt-x (meters 1.5) (meters 0.7) 1.0) + (sp-rnd-flt spt-y (meters 6.0) (meters 0.6) 1.0) + (sp-rnd-flt spt-z 2048.0 7372.8 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-int-flt spt-vel-y (meters 0.026666667) 1 27.306667) + (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1155) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.05 0.2 1.0) + (sp-rnd-flt spt-x (meters 1.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 6.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z 2048.0 10240.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 20.0 12.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.0627451) + (sp-flt spt-accel-y -1.0922667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 150 59 1) + (sp-launcher-by-id spt-next-launcher 1172) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1172) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-g 0.53333336) + (sp-flt spt-fade-b 1.0666667) + (sp-int spt-next-time 120) + (sp-launcher-by-id spt-next-launcher 1173) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1173) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-fade-g 0.0) (sp-flt spt-fade-b 0.0) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1157) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.65 1.2 1.0) + (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters 4.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -4096.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.027306668) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1158) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1056964608 1 1.2) + (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters 4.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -4096.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-int-flt spt-vel-y (meters 0.026666667) 1 27.306667) + (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1159) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.08 0.25 1.0) + (sp-rnd-flt spt-x (meters -3.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters 5.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -4096.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.0627451) + (sp-flt spt-accel-y -1.0922667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 150 59 1) + (sp-launcher-by-id spt-next-launcher 1172) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees 5.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1161) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.7 1.5 1.0) + (sp-flt spt-x (meters 2.7)) + (sp-rnd-flt spt-y (meters 3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -12288.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.027306668) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees -15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1162) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1058642330 1 1.4) + (sp-flt spt-x (meters 2.7)) + (sp-rnd-flt spt-y (meters 3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -12288.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-int-flt spt-vel-y (meters 0.026666667) 1 27.306667) + (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees -15.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1163) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.08 0.25 1.0) + (sp-flt spt-x (meters 2.7)) + (sp-rnd-flt spt-y (meters 4.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -12288.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.0627451) + (sp-flt spt-accel-y -1.0922667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 150 59 1) + (sp-launcher-by-id spt-next-launcher 1172) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees -5.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1165) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.65 1.5 1.0) + (sp-rnd-flt spt-x (meters -3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -12288.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.016666668) (meters 0.01) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y -0.027306668) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1166) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-int spt-num 1059481190 1 1.5) + (sp-rnd-flt spt-x (meters -3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -12288.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-int-flt spt-vel-y (meters 0.026666667) 1 27.306667) + (sp-rnd-flt spt-rotvel-z (degrees -3.0000002) (degrees 6.0000005) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-timer 150) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1167) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.08 0.25 1.0) + (sp-rnd-flt spt-x (meters -3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-y (meters 5.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -12288.0 6144.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 32.0) + (sp-rnd-flt spt-vel-y (meters 0.023333333) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.005)) + (sp-rnd-flt spt-rotvel-z (degrees -0.99999994) (degrees 1.9999999) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.0627451) + (sp-flt spt-accel-y -1.0922667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 150 59 1) + (sp-launcher-by-id spt-next-launcher 1172) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-flt spt-rotate-y (degrees -45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1168) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.1 0.4 1.0) + (sp-rnd-flt spt-x (meters 1.5) (meters 1.0) 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-rnd-flt spt-z 2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.9999999) (degrees 3.9999998) 1.0) + (sp-flt spt-fade-g 0.32) + (sp-flt spt-fade-b 0.32) + (sp-flt spt-fade-a -0.5416667) + (sp-flt spt-accel-y 1.3653333) + (sp-int-plain-rnd spt-timer 180 29 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-z (degrees -45.0)) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-rnd-int-flt spt-rotate-y (degrees 0.0) 2 -18568.533) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1169) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.15 0.15 1.0) + (sp-flt spt-y (meters 4.0)) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.0044444446)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.34133333) + (sp-flt spt-fade-g -0.17066666) + (sp-flt spt-fade-b -0.17066666) + (sp-flt spt-fade-a 0.4) + (sp-flt spt-accel-y 1.3653333) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 1174) + (sp-rnd-flt spt-conerot-x (degrees 30.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 4.5)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1174) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-vel-y (meters 0.013333334)) + (sp-flt spt-fade-a 0.0) + (sp-flt spt-accel-y -0.00040000002) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1175) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1175) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-flt spt-fade-a -0.10666667) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1170) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.15 0.3 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 48.0) + (sp-flt spt-b 48.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.0073333336)) + (sp-flt spt-scalevel-x (meters 0.0013333333)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.4) + (sp-flt spt-accel-y 0.54613334) + (sp-flt spt-friction 0.995) + (sp-int spt-timer 1575) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 1176) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 2.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1176) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 600) + (sp-launcher-by-id spt-next-launcher 1177) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1177) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 12 + (sp-flt spt-vel-x (meters 0.0)) + (sp-flt spt-vel-y (meters 0.011666667)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-scalevel-x (meters 0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.10666667) + (sp-flt spt-fade-g -0.08) + (sp-flt spt-fade-b -0.08) + (sp-flt spt-fade-a -0.053333335) + (sp-flt spt-accel-y 0.13653333) + (sp-int spt-timer 600) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 272) (new 'static 'sparticle-launch-group + :length 10 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-window-flames-45" + :launcher + (new 'static 'inline-array sparticle-group-item 10 + (sp-item 1178 :fade-after (meters 300.0)) + (sp-item 1179 :fade-after (meters 300.0)) + (sp-item 1179 :fade-after (meters 180.0)) + (sp-item 1180 :fade-after (meters 200.0) :period 2160 :length 5) + (sp-item 1180 :fade-after (meters 200.0) :period 669 :length 5) + (sp-item 1180 :fade-after (meters 200.0) :period 4279 :length 5) + (sp-item 1180 :fade-after (meters 200.0) :period 1238 :length 5) + (sp-item 1181 :fade-after (meters 300.0)) + (sp-item 1182 :fade-after (meters 300.0)) + (sp-item 1182 :fade-after (meters 180.0)) + ) + :bounds + (new 'static 'sphere :x 32768.0 :y -32768.0 :w 147456.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1178) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.015 0.035 1.0) + (sp-rnd-flt spt-x (meters 4.0) (meters 12.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 8.0) 1.0) + (sp-flt spt-z 32768.0) + (sp-rnd-int-flt spt-scale-x (meters 4.0) 1 40960.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 0.0 8.0 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-flt spt-accel-y 0.27306667) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1183) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1183) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int-plain-rnd spt-next-time 300 299 1) + (sp-launcher-by-id spt-next-launcher 1184) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1184) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.08) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1179) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.4 1.0) + (sp-rnd-flt spt-x (meters 10.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 6.0) 1.0) + (sp-rnd-int spt-z 1189085184 1 8192.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 5.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-rnd-flt spt-accel-y 9.557333 10.922667 1.0) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1185) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1185) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.85333335) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1180) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.8 0.4 1.0) + (sp-rnd-flt spt-x (meters 10.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 6.0)) + (sp-rnd-int spt-z 1189085184 1 8192.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-int spt-g 0 2 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-flt spt-fade-a -0.048484847) + (sp-rnd-flt spt-accel-x -0.34133333 0.68266666 1.0) + (sp-flt spt-accel-y -2.7306666) + (sp-rnd-flt spt-accel-z -0.34133333 0.68266666 1.0) + (sp-int spt-timer 840) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees -15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1181) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.015 0.03 1.0) + (sp-rnd-flt spt-x (meters -6.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 8.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-z -24576.0 24576.0 1.0) + (sp-rnd-int-flt spt-scale-x (meters 4.0) 1 40960.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 0.0 8.0 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-flt spt-accel-y 0.27306667) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1183) + (sp-flt spt-rotate-y (degrees 15.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1182) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-rnd-flt spt-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 6.0) 1.0) + (sp-rnd-int spt-z -956301312 1 8192.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-rnd-flt spt-accel-y 10.24 10.24 1.0) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1185) + (sp-flt spt-rotate-y (degrees 5.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 273) (new 'static 'sparticle-launch-group + :length 10 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-window-flames-41" + :launcher + (new 'static 'inline-array sparticle-group-item 10 + (sp-item 1186 :fade-after (meters 300.0)) + (sp-item 1187 :fade-after (meters 300.0)) + (sp-item 1187 :fade-after (meters 180.0)) + (sp-item 1188 :fade-after (meters 200.0) :period 2160 :length 5) + (sp-item 1188 :fade-after (meters 200.0) :period 669 :length 5) + (sp-item 1188 :fade-after (meters 200.0) :period 4279 :length 5) + (sp-item 1188 :fade-after (meters 200.0) :period 1238 :length 5) + (sp-item 1189 :fade-after (meters 300.0)) + (sp-item 1190 :fade-after (meters 300.0)) + (sp-item 1190 :fade-after (meters 180.0)) + ) + :bounds + (new 'static 'sphere :x 32768.0 :y -32768.0 :w 147456.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1186) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.015 0.03 1.0) + (sp-rnd-flt spt-x (meters 6.0) (meters 12.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 8.0) 1.0) + (sp-flt spt-z 32768.0) + (sp-rnd-int-flt spt-scale-x (meters 4.0) 1 40960.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 0.0 8.0 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-flt spt-accel-y 0.27306667) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1183) + (sp-flt spt-rotate-y (degrees 82.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1187) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.4 1.0) + (sp-rnd-flt spt-x (meters 10.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 6.0) 1.0) + (sp-rnd-int spt-z 1189085184 1 8192.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 5.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-rnd-flt spt-accel-y 9.557333 10.922667 1.0) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1185) + (sp-flt spt-rotate-y (degrees 82.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1188) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.8 0.4 1.0) + (sp-rnd-flt spt-x (meters 10.0) (meters 4.0) 1.0) + (sp-flt spt-y (meters 6.0)) + (sp-rnd-int spt-z 1189085184 1 8192.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-int spt-g 0 2 128.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-flt spt-fade-a -0.048484847) + (sp-rnd-flt spt-accel-x -0.34133333 0.68266666 1.0) + (sp-flt spt-accel-y -2.7306666) + (sp-rnd-flt spt-accel-z -0.34133333 0.68266666 1.0) + (sp-int spt-timer 810) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-flt spt-rotate-y (degrees 82.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1189) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.015 0.03 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 8.0) (meters 8.0) 1.0) + (sp-rnd-flt spt-z -24576.0 24576.0 1.0) + (sp-rnd-int-flt spt-scale-x (meters 4.0) 1 40960.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 0.0 8.0 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-flt spt-accel-y 0.27306667) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1183) + (sp-flt spt-rotate-y (degrees 112.00001)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1190) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.3 0.3 1.0) + (sp-rnd-flt spt-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 4.0) (meters 6.0) 1.0) + (sp-rnd-int spt-z -956301312 1 8192.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-rnd-flt spt-accel-y 10.24 10.24 1.0) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1185) + (sp-flt spt-rotate-y (degrees 106.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 274) (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-big-boulder" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 1191 :fade-after (meters 300.0)) + (sp-item 1192 :fade-after (meters 300.0)) + (sp-item 1192 :fade-after (meters 180.0)) + ) + :bounds + (new 'static 'sphere :x 32768.0 :y -32768.0 :w 147456.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1191) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.015 0.03 1.0) + (sp-rnd-flt spt-x (meters -2.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-y (meters 8.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-z -8192.0 16384.0 1.0) + (sp-rnd-int-flt spt-scale-x (meters 8.0) 1 40960.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 32.0) + (sp-flt spt-g 32.0) + (sp-flt spt-b 32.0) + (sp-rnd-flt spt-a 0.0 8.0 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.21333334) + (sp-flt spt-accel-y 0.27306667) + (sp-int spt-timer 1800) + (sp-cpuinfo-flags bit2) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1183) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1192) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.4 0.4 1.0) + (sp-flt spt-x (meters 2.0)) + (sp-flt spt-y (meters 4.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 5.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.020000001) (degrees 0.040000003) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 4.266667) + (sp-rnd-flt spt-accel-y 9.557333 10.922667 1.0) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 30) + (sp-launcher-by-id spt-next-launcher 1185) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 90.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 4.5)) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 275) (new 'static 'sparticle-launch-group + :length 6 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-sages-controlpanel" + :launcher + (new 'static 'inline-array sparticle-group-item 6 + (sp-item 1193 :fade-after (meters 30.0) :period 736 :length 10) + (sp-item 1193 :fade-after (meters 30.0) :period 1696 :length 10) + (sp-item 1193 :fade-after (meters 30.0) :period 5079 :length 10) + (sp-item 1194 :fade-after (meters 30.0) :period 5079 :length 10) + (sp-item 1194 :fade-after (meters 30.0) :period 2163 :length 10) + (sp-item 1195 :fade-after (meters 40.0) :falloff-to (meters 50.0)) + ) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1195) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.2 0.4 1.0) + (sp-flt spt-x (meters 0.9)) + (sp-flt spt-y (meters 0.25)) + (sp-flt spt-z -4915.2) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0022222223)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.53333336) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 1196) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1196) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r -0.053333335) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-b -0.053333335) + (sp-flt spt-fade-a -0.10666667) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1193) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 4.0 16.0 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :mask #x1 :num 0.1 :group #x1 :sound-name (static-sound-name "spark") :volume #x400) + ) + (sp-flt spt-x (meters 0.9)) + (sp-flt spt-y (meters 0.05)) + (sp-flt spt-z -3686.4) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters -0.00055555557)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.2) + (sp-flt spt-fade-b -0.2) + (sp-flt spt-fade-a -0.6) + (sp-flt spt-accel-y -6.826667) + (sp-flt spt-friction 0.94) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -45.0) (degrees 180.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1194) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 4.0 16.0 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :mask #x1 :num 0.1 :group #x1 :sound-name (static-sound-name "spark") :volume #x400) + ) + (sp-flt spt-x (meters -1.2)) + (sp-flt spt-y (meters -0.5)) + (sp-flt spt-z 4915.2) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters -0.00055555557)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.2) + (sp-flt spt-fade-b -0.2) + (sp-flt spt-fade-a -0.6) + (sp-flt spt-accel-y -6.826667) + (sp-flt spt-friction 0.94) + (sp-int-plain-rnd spt-timer 90 59 1) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -45.0) (degrees 180.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 276) + (new 'static 'sparticle-launch-group + :length 14 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village2-sages-machine" + :launcher + (new 'static 'inline-array sparticle-group-item 14 + (sp-item 1199 :fade-after (meters 40.0) :period 768 :length 10 :binding 1197) + (sp-item 1199 :fade-after (meters 40.0) :period 1096 :length 10 :binding 1198) + (sp-item 1199 :fade-after (meters 40.0) :period 2137 :length 10 :binding 1197) + (sp-item 1197 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 1197 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 1198 :fade-after (meters 40.0) :flags (start-dead)) + (sp-item 1200 :fade-after (meters 40.0) :period 300 :length 5) + (sp-item 1200 :fade-after (meters 40.0) :period 470 :length 5) + (sp-item 1200 :fade-after (meters 40.0) :period 613 :length 5) + (sp-item 1200 :fade-after (meters 40.0) :period 1336 :length 5) + (sp-item 1201 :fade-after (meters 40.0) :falloff-to (meters 40.0)) + (sp-item 1202 :fade-after (meters 40.0)) + (sp-item 1203 :fade-after (meters 40.0) :falloff-to (meters 50.0)) + (sp-item 1204 :fade-after (meters 40.0) :falloff-to (meters 50.0)) + ) + :bounds (new 'static 'sphere :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1201) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.5 1.0 1.0) + (sp-flt spt-x (meters -0.75)) + (sp-flt spt-y (meters -0.8)) + (sp-flt spt-z 10649.6) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 32.0 1.0) + (sp-rnd-flt spt-g 32.0 32.0 1.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-scalevel-x (meters -0.00055555557)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.06) + (sp-flt spt-fade-a -0.18) + (sp-int-plain-rnd spt-timer 30 449 1) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -120.0) (degrees 210.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.3)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1202) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-x (meters -0.75)) + (sp-flt spt-y (meters -0.8)) + (sp-flt spt-z 10649.6) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.4) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 32.0 64.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-scalevel-x (meters -0.00055555557)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 5) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1200) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x1f :page #x2)) + (sp-rnd-flt spt-num 1.0 0.5 1.0) + (sp-flt spt-x (meters -0.7)) + (sp-flt spt-y (meters -0.7)) + (sp-flt spt-z 10649.6) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 3.0) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 60.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.4) (meters 0.4) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.6) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 1205) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1205) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-fade-r -1.0666667) + (sp-flt spt-fade-g -1.0666667) + (sp-flt spt-fade-a -2.1333334) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1203) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.2 0.4 1.0) + (sp-flt spt-x (meters -1.25)) + (sp-flt spt-y (meters 0.0)) + (sp-flt spt-z 0.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-flt spt-g 64.0) + (sp-rnd-flt spt-b 64.0 32.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0022222223)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.53333336) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 30 89 1) + (sp-launcher-by-id spt-next-launcher 1206) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1206) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-fade-r -0.053333335) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-b -0.053333335) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-friction 0.95) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1204) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 27 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 0.2 0.8 1.0) + (sp-flt spt-x (meters -0.7)) + (sp-flt spt-y (meters -0.7)) + (sp-flt spt-z 10649.6) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.25) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 64.0 32.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.0022222223)) + (sp-rnd-flt spt-rotvel-z (degrees -0.4) (degrees 0.8) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.053333335) + (sp-flt spt-fade-g -0.053333335) + (sp-flt spt-fade-b -0.053333335) + (sp-flt spt-fade-a -0.10666667) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-int-flt spt-conerot-x (degrees -4.0) 4 364.0889) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1199) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-scale-x (meters 1.0)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 64.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -6.4) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -60.0) (degrees 120.0) 1.0) + (sp-flt spt-conerot-radius (meters 1.1)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1197) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 2.0 8.0 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :mask #x1 :num 0.1 :group #x1 :sound-name (static-sound-name "spark") :volume #x400) + ) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters -0.00016666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.2) + (sp-flt spt-fade-b -0.2) + (sp-flt spt-fade-a -0.4) + (sp-flt spt-accel-y -6.826667) + (sp-flt spt-friction 0.92) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 180.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1198) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 2.0 6.0 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :mask #x1 :num 0.1 :group #x1 :sound-name (static-sound-name "spark") :volume #x400) + ) + (sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.08) 1.0) + (sp-flt spt-scalevel-x (meters -0.00016666666)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.2) + (sp-flt spt-fade-b -0.2) + (sp-flt spt-accel-y -8.192) + (sp-flt spt-friction 0.92) + (sp-int spt-timer 1200) + (sp-cpuinfo-flags bit2 bit14) + (sp-flt spt-userdata 91750.4) + (sp-func spt-func 'check-drop-level-sagehut2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 120.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 180.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1207) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 15 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.0 3.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-flt spt-g 64.0) + (sp-rnd-flt spt-a 32.0 96.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.011666667) (meters 0.0033333334) 1.0) + (sp-flt spt-fade-a -0.85333335) + (sp-flt spt-accel-y -0.68266666) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit2 bit14) + (sp-rnd-flt spt-conerot-x (degrees 50.000004) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) ;; definition for function check-drop-level-sagehut2 -(defun - check-drop-level-sagehut2 - ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) +(defun check-drop-level-sagehut2 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector)) (when (< (-> arg2 y) (-> arg1 user-float)) - (let ((gp-0 (new 'stack-no-clear 'vector))) - (sp-kill-particle arg0 arg1) - (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-2 (the-as number (logior #x3f800000 v1-1))) - ) - (if (< (+ -1.0 (the-as float v1-2)) 0.25) - (sound-play-by-name - (static-sound-name "water-drop") - (new-sound-id) - 1024 - 0 - 0 - 1 - #t - ) + (let ((gp-0 (new 'stack-no-clear 'vector))) + (sp-kill-particle arg0 arg1) + (let* ((v1-1 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-2 (the-as number (logior #x3f800000 v1-1))) + ) + (if (< (+ -1.0 (the-as float v1-2)) 0.25) + (sound-play-by-name (static-sound-name "water-drop") (new-sound-id) 1024 0 0 1 #t) + ) + ) + (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) + (sp-launch-particles-var + *sp-particle-system-2d* + (-> *part-id-table* 1207) + gp-0 + (the-as sparticle-launch-state #f) + (the-as sparticle-launch-control #f) + (the-as float 1.0) + ) ) - ) - (set-vector! gp-0 (-> arg2 x) (-> arg1 user-float) (-> arg2 z) 1.0) - (sp-launch-particles-var - *sp-particle-system-2d* - (-> *part-id-table* 1207) - gp-0 - (the-as sparticle-launch-state #f) - (the-as sparticle-launch-control #f) - (the-as float 1.0) - ) ) - ) (none) ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 678) - (new 'static 'sparticle-launch-group - :length 43 - :duration #x384 - :linger-duration #x5dc - :flags (sp-group-flag use-local-clock) - :name "group-village2-fireboulder-hover" - :launcher - (new 'static 'inline-array sparticle-group-item 43 - (sp-item 2792 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 2791) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2791 :flags (bit1 start-dead launch-asap)) - (sp-item 2793) - (sp-item 2794 :falloff-to (meters 400.0)) - (sp-item 2795 :falloff-to (meters 400.0)) - (sp-item 2796 :falloff-to (meters 400.0)) - ) - :bounds (new 'static 'sphere :w 65536.0) - ) - ) +(set! (-> *part-group-id-table* 678) + (new 'static 'sparticle-launch-group + :length 43 + :duration #x384 + :linger-duration #x5dc + :flags (sp-group-flag use-local-clock) + :name "group-village2-fireboulder-hover" + :launcher + (new 'static 'inline-array sparticle-group-item 43 + (sp-item 2792 :fade-after (meters 100.0) :falloff-to (meters 100.0) :binding 2791) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2791 :flags (bit1 start-dead launch-asap)) + (sp-item 2793) + (sp-item 2794 :falloff-to (meters 400.0)) + (sp-item 2795 :falloff-to (meters 400.0)) + (sp-item 2796 :falloff-to (meters 400.0)) + ) + :bounds (new 'static 'sphere :w 65536.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2795) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) - (sp-rnd-flt spt-num 0.2 2.0 1.0) - (sp-rnd-flt spt-scale-x (meters 12.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -45.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.2) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.5) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2795) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x23 :page #x2)) + (sp-rnd-flt spt-num 0.2 2.0 1.0) + (sp-rnd-flt spt-scale-x (meters 12.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -45.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.2) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.5) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2794) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) - (sp-rnd-flt spt-num 0.2 2.0 1.0) - (sp-rnd-flt spt-scale-x (meters 12.5) (meters 3.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees -45.0) (degrees 180.0) 1.0) - (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) - (sp-flt spt-r 64.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 128.0) - (sp-flt spt-fade-a -1.5) - (sp-int spt-timer 90) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-int spt-next-time 10) - (sp-launcher-by-id spt-next-launcher 146) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2794) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x24 :page #x2)) + (sp-rnd-flt spt-num 0.2 2.0 1.0) + (sp-rnd-flt spt-scale-x (meters 12.5) (meters 3.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees -45.0) (degrees 180.0) 1.0) + (sp-rnd-flt spt-scale-y (meters 0.5) (meters 0.1) 1.0) + (sp-flt spt-r 64.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 128.0) + (sp-flt spt-fade-a -1.5) + (sp-int spt-timer 90) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-int spt-next-time 10) + (sp-launcher-by-id spt-next-launcher 146) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2793) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) - (sp-rnd-flt spt-z -4.096 8.192 1.0) - (sp-flt spt-scale-x (meters 14.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-flt spt-fade-a -3.2) - (sp-int spt-timer 40) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2793) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-y (meters -0.001) (meters 0.002) 1.0) + (sp-rnd-flt spt-z -4.096 8.192 1.0) + (sp-flt spt-scale-x (meters 14.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-flt spt-fade-a -3.2) + (sp-int spt-timer 40) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2792) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0033333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2792) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-scale-x (meters 1.0) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0033333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit14) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2791) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 16384.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 0.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-b 128.0 128.0 1.0) - (sp-flt spt-a 128.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-accel-z 0.0) - (sp-int spt-timer 900) - (sp-cpuinfo-flags bit2 bit3 bit7 bit14) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2791) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 16384.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 0.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-b 128.0 128.0 1.0) + (sp-flt spt-a 128.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-int-flt spt-vel-x (meters -0.026666667) 1 218.45334) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.053333335) 1.0) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-accel-z 0.0) + (sp-int spt-timer 900) + (sp-cpuinfo-flags bit2 bit3 bit7 bit14) + (sp-end) + ) + ) + ) diff --git a/test/decompiler/reference/levels/village2/warrior_REF.gc b/test/decompiler/reference/levels/village2/warrior_REF.gc index 5dc796a258..94896bafb3 100644 --- a/test/decompiler/reference/levels/village2/warrior_REF.gc +++ b/test/decompiler/reference/levels/village2/warrior_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type warrior (defmethod inspect warrior ((obj warrior)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -32,17 +32,17 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 warrior ((obj warrior)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -4096.0 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -4096.0 f0-0))) + ) + 0 + (set! (-> v1-1 settings top-plane w) (- (+ 3072.0 f0-0))) + ) + 0 ) - 0 - (set! (-> v1-1 settings top-plane w) (- (+ 3072.0 f0-0))) - ) - 0 ) - ) (none) ) @@ -50,160 +50,107 @@ (defmethod draw-npc-shadow warrior ((obj warrior)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) ;; definition for method 32 of type warrior (defmethod play-anim! warrior ((obj warrior) (arg0 symbol)) (with-pp - (set! (-> obj talk-message) (the-as uint 260)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (if arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "warrior-introduction" - :index 6 - :parts 29 - :command-list - '( - ((the binteger 125) - joint - "cameraB" + (set! (-> obj talk-message) (the-as uint 260)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (if arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "warrior-introduction" + :index 6 + :parts 29 + :command-list + '(((the binteger 125) joint "cameraB") + ((the binteger 260) joint "camera") + ((the binteger 574) joint "cameraB") + ((the binteger 918) joint "camera") + ((the binteger 1174) joint "cameraB") + ((the binteger 1174) shadow self #f) + ((the binteger 1301) joint "camera") + ((the binteger 1301) shadow self #t) + ((the binteger 2025) joint "cameraB") + ((the binteger 2322) joint "camera") + ((the binteger 2560) joint "cameraB") ) - ((the binteger 260) - joint - "camera" - ) - ((the binteger 574) - joint - "cameraB" - ) - ((the binteger 918) - joint - "camera" - ) - ((the binteger 1174) - joint - "cameraB" - ) - ((the binteger 1174) - shadow - self - #f - ) - ((the binteger 1301) - joint - "camera" - ) - ((the binteger 1301) - shadow - self - #t - ) - ((the binteger 2025) - joint - "cameraB" - ) - ((the binteger 2322) - joint - "camera" - ) - ((the binteger 2560) joint "cameraB") ) ) - ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (new 'static 'spool-anim - :name "warrior-reminder-1" - :index 7 - :parts 3 - :command-list '() - ) - ) - (((task-status need-reward-speech)) - (cond - (arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) - (send-event - (-> (entity-by-type allpontoons) extra process) - 'clone - (process->handle obj) - ) - (dotimes (s5-2 (entity-actor-count (-> obj entity) 'alt-actor)) - (entity-birth-no-kill - (entity-actor-lookup (-> obj entity) 'alt-actor s5-2) - ) - (let ((s4-2 (new 'stack-no-clear 'event-message-block))) - (set! (-> s4-2 from) pp) - (set! (-> s4-2 num-params) 0) - (set! (-> s4-2 message) 'die) - (let ((s3-0 send-event-function) - (v1-25 (entity-actor-lookup (-> obj entity) 'alt-actor s5-2)) - ) - (s3-0 (if v1-25 - (-> v1-25 extra process) + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (new 'static 'spool-anim :name "warrior-reminder-1" :index 7 :parts 3 :command-list '()) + ) + (((task-status need-reward-speech)) + (cond + (arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + (send-event (-> (entity-by-type allpontoons) extra process) 'clone (process->handle obj)) + (dotimes (s5-2 (entity-actor-count (-> obj entity) 'alt-actor)) + (entity-birth-no-kill (entity-actor-lookup (-> obj entity) 'alt-actor s5-2)) + (let ((s4-2 (new 'stack-no-clear 'event-message-block))) + (set! (-> s4-2 from) pp) + (set! (-> s4-2 num-params) 0) + (set! (-> s4-2 message) 'die) + (let ((s3-0 send-event-function) + (v1-25 (entity-actor-lookup (-> obj entity) 'alt-actor s5-2)) + ) + (s3-0 + (if v1-25 + (-> v1-25 extra process) + ) + s4-2 + ) ) - s4-2 + ) + ) + ) + (else + (set! (-> obj will-talk) #t) + (set! (-> obj talk-message) (the-as uint 282)) ) - ) ) - ) + (new 'static 'spool-anim + :name "warrior-resolution" + :index 8 + :parts 6 + :command-list + '(((the binteger 508) blackout (the binteger 10)) ((the binteger 511) blackout 0)) + ) ) (else - (set! (-> obj will-talk) #t) - (set! (-> obj talk-message) (the-as uint 282)) - ) - ) - (new 'static 'spool-anim - :name "warrior-resolution" - :index 8 - :parts 6 - :command-list - '( - ((the binteger 508) - blackout - (the binteger 10) - ) - ((the binteger 511) blackout 0) + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 5) ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 5) - ) ) - ) ) ;; definition for method 31 of type warrior @@ -216,89 +163,73 @@ :virtual #t :exit (behavior () - (send-event (-> (entity-by-type allpontoons) extra process) 'end-mode) - ((-> (method-of-type process-taskable play-anim) exit)) - (none) - ) + (send-event (-> (entity-by-type allpontoons) extra process) 'end-mode) + ((-> (method-of-type process-taskable play-anim) exit)) + (none) + ) ) ;; definition for method 43 of type warrior (defmethod TODO-RENAME-43 warrior ((obj warrior)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 600 - 61440.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 600 61440.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.66 f0-2) + (play-ambient (-> obj ambient) "WAR-LO1A" #f (-> obj root-override trans)) + ) + ((< 0.33 f0-2) + (play-ambient (-> obj ambient) "WAR-LO1B" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "WAR-LO1C" #f (-> obj root-override trans)) ) - (cond - ((< 0.66 f0-2) - (play-ambient (-> obj ambient) "WAR-LO1A" #f (-> obj root-override trans)) + ) ) - ((< 0.33 f0-2) - (play-ambient (-> obj ambient) "WAR-LO1B" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "WAR-LO1C" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; definition for method 41 of type warrior ;; INFO: Return type mismatch int vs none. (defmethod initialize-collision warrior ((obj warrior) (arg0 int) (arg1 vector)) - (let - ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) - (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) - (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s4-0 collide-with) (the-as uint 16)) - (set! (-> s4-0 prim-core action) (the-as uint 1)) - (set! (-> s4-0 prim-core offense) 4) - (set-vector! (-> s4-0 local-sphere) -3072.0 8192.0 0.0 11264.0) - (set-root-prim! s5-0 s4-0) - (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-0 collide-with) (the-as uint 16)) - (set! (-> s3-0 prim-core action) (the-as uint 1)) - (set! (-> s3-0 prim-core offense) 4) - (set-vector! (-> s3-0 local-sphere) -2048.0 9216.0 0.0 8192.0) - (append-prim s4-0 s3-0) - ) - (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) - (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) - (set! (-> s3-1 collide-with) (the-as uint 16)) - (set! (-> s3-1 prim-core action) (the-as uint 1)) - (set! (-> s3-1 prim-core offense) 4) - (set-vector! (-> s3-1 local-sphere) 0.0 2048.0 0.0 4096.0) - (append-prim s4-0 s3-1) - ) + (let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player)))) + (let ((s4-0 (new 'process 'collide-shape-prim-group s5-0 (the-as uint 2) 0))) + (set! (-> s4-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s4-0 collide-with) (the-as uint 16)) + (set! (-> s4-0 prim-core action) (the-as uint 1)) + (set! (-> s4-0 prim-core offense) 4) + (set-vector! (-> s4-0 local-sphere) -3072.0 8192.0 0.0 11264.0) + (set-root-prim! s5-0 s4-0) + (let ((s3-0 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s3-0 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-0 collide-with) (the-as uint 16)) + (set! (-> s3-0 prim-core action) (the-as uint 1)) + (set! (-> s3-0 prim-core offense) 4) + (set-vector! (-> s3-0 local-sphere) -2048.0 9216.0 0.0 8192.0) + (append-prim s4-0 s3-0) + ) + (let ((s3-1 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0)))) + (set! (-> s3-1 prim-core collide-as) (the-as uint 256)) + (set! (-> s3-1 collide-with) (the-as uint 16)) + (set! (-> s3-1 prim-core action) (the-as uint 1)) + (set! (-> s3-1 prim-core offense) 4) + (set-vector! (-> s3-1 local-sphere) 0.0 2048.0 0.0 4096.0) + (append-prim s4-0 s3-1) + ) + ) + (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) + (backup-collide-with-as s5-0) + (set! (-> obj root-override) s5-0) ) - (set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w))) - (backup-collide-with-as s5-0) - (set! (-> obj root-override) s5-0) - ) 0 (none) ) ;; definition for method 11 of type warrior (defmethod init-from-entity! warrior ((obj warrior) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *warrior-sg* - 3 - 33 - (new 'static 'vector :y -4096.0 :w 10240.0) - 5 - ) + (dummy-40 obj arg0 *warrior-sg* 3 33 (new 'static 'vector :y -4096.0 :w 10240.0) 5) (set! (-> obj tasks) (get-task-control (game-task village2-warrior-money))) (set! (-> obj sound-flava) (the-as uint 15)) (set! (-> obj draw light-index) (the-as uint 3)) diff --git a/test/decompiler/reference/levels/village3/assistant-village3_REF.gc b/test/decompiler/reference/levels/village3/assistant-village3_REF.gc index ede7dec53f..1cf31d4cf3 100644 --- a/test/decompiler/reference/levels/village3/assistant-village3_REF.gc +++ b/test/decompiler/reference/levels/village3/assistant-village3_REF.gc @@ -13,8 +13,8 @@ ;; definition for method 3 of type assistant-villagec (defmethod inspect assistant-villagec ((obj assistant-villagec)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -32,17 +32,17 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 assistant-villagec ((obj assistant-villagec)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -2048.0 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -2048.0 f0-0))) + ) + 0 + (set! (-> v1-1 settings top-plane w) (- (+ 1024.0 f0-0))) + ) + 0 ) - 0 - (set! (-> v1-1 settings top-plane w) (- (+ 1024.0 f0-0))) - ) - 0 ) - ) (none) ) @@ -50,24 +50,20 @@ (defmethod draw-npc-shadow assistant-villagec ((obj assistant-villagec)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) @@ -75,29 +71,21 @@ (defmethod play-anim! assistant-villagec ((obj assistant-villagec) (arg0 symbol)) (set! (-> obj talk-message) (the-as uint 292)) (cond - ((= - (get-task-status (game-task finalboss-movies)) - (task-status need-introduction) + ((= (get-task-status (game-task finalboss-movies)) (task-status need-introduction)) + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (get-art-elem obj) ) - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) + (else + (new 'static 'spool-anim :name "assistant-village3-reminder" :index 4 :parts 3 :command-list '()) ) - ) - (get-art-elem obj) ) - (else - (new 'static 'spool-anim - :name "assistant-village3-reminder" - :index 4 - :parts 3 - :command-list '() - ) - ) - ) ) ;; definition for method 31 of type assistant-villagec @@ -107,10 +95,7 @@ ;; definition for method 39 of type assistant-villagec (defmethod should-display? assistant-villagec ((obj assistant-villagec)) - (and - (task-closed? (game-task village3-button) (task-status need-introduction)) - (not (sages-kidnapped?)) - ) + (and (task-closed? (game-task village3-button) (task-status need-introduction)) (not (sages-kidnapped?))) ) ;; definition for method 47 of type assistant-villagec @@ -121,88 +106,48 @@ ;; definition for method 43 of type assistant-villagec (defmethod TODO-RENAME-43 assistant-villagec ((obj assistant-villagec)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.85714287 f0-2) + (play-ambient (-> obj ambient) "ASSTLP31" #f (-> obj root-override trans)) + ) + ((< 0.71428573 f0-2) + (play-ambient (-> obj ambient) "ASSTLP32" #f (-> obj root-override trans)) + ) + ((< 0.5714286 f0-2) + (play-ambient (-> obj ambient) "ASSTLP33" #f (-> obj root-override trans)) + ) + ((< 0.42857143 f0-2) + (let ((v1-16 (get-task-status (game-task lavatube-end)))) + (if (not (or (= v1-16 (task-status need-reward-speech)) (= v1-16 (task-status invalid)))) + (play-ambient (-> obj ambient) "ASSTLP34" #f (-> obj root-override trans)) + ) + ) + ) + ((< 0.2857143 f0-2) + (let ((v1-21 (get-task-status (game-task lavatube-end)))) + (if (not (or (= v1-21 (task-status need-reward-speech)) (= v1-21 (task-status invalid)))) + (play-ambient (-> obj ambient) "ASSTLP35" #f (-> obj root-override trans)) + ) + ) + ) + ((< 0.14285715 f0-2) + (let ((v1-26 (get-task-status (game-task lavatube-end)))) + (if (not (or (= v1-26 (task-status need-reward-speech)) (= v1-26 (task-status invalid)))) + (play-ambient (-> obj ambient) "ASSTLP36" #f (-> obj root-override trans)) + ) + ) + ) + ((nonzero? (get-task-status (game-task citadel-sage-green))) + (play-ambient (-> obj ambient) "ASSTLP37" #f (-> obj root-override trans)) + ) + ) + ) ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) - (cond - ((< 0.85714287 f0-2) - (play-ambient (-> obj ambient) "ASSTLP31" #f (-> obj root-override trans)) - ) - ((< 0.71428573 f0-2) - (play-ambient (-> obj ambient) "ASSTLP32" #f (-> obj root-override trans)) - ) - ((< 0.5714286 f0-2) - (play-ambient (-> obj ambient) "ASSTLP33" #f (-> obj root-override trans)) - ) - ((< 0.42857143 f0-2) - (let ((v1-16 (get-task-status (game-task lavatube-end)))) - (if - (not - (or - (= v1-16 (task-status need-reward-speech)) - (= v1-16 (task-status invalid)) - ) - ) - (play-ambient - (-> obj ambient) - "ASSTLP34" - #f - (-> obj root-override trans) - ) - ) - ) - ) - ((< 0.2857143 f0-2) - (let ((v1-21 (get-task-status (game-task lavatube-end)))) - (if - (not - (or - (= v1-21 (task-status need-reward-speech)) - (= v1-21 (task-status invalid)) - ) - ) - (play-ambient - (-> obj ambient) - "ASSTLP35" - #f - (-> obj root-override trans) - ) - ) - ) - ) - ((< 0.14285715 f0-2) - (let ((v1-26 (get-task-status (game-task lavatube-end)))) - (if - (not - (or - (= v1-26 (task-status need-reward-speech)) - (= v1-26 (task-status invalid)) - ) - ) - (play-ambient - (-> obj ambient) - "ASSTLP36" - #f - (-> obj root-override trans) - ) - ) - ) - ) - ((nonzero? (get-task-status (game-task citadel-sage-green))) - (play-ambient (-> obj ambient) "ASSTLP37" #f (-> obj root-override trans)) - ) - ) - ) - ) ) ;; failed to figure out what this is: @@ -210,157 +155,90 @@ :virtual #t :code (behavior () - (if (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 15) - ) - (while #t - (TODO-RENAME-43 self) - (let ((a0-8 (-> self skel root-channel 0))) - (set! - (-> a0-8 frame-group) - (the-as art-joint-anim (-> self draw art-group data 3)) - ) - (set! - (-> a0-8 param 0) - (the - float - (+ - (-> - (the-as art-joint-anim (-> self draw art-group data 3)) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-8 param 1) 1.0) - (set! (-> a0-8 frame-num) 0.0) - (joint-control-channel-group! - a0-8 - (the-as art-joint-anim (-> self draw art-group data 3)) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-9 (-> self skel root-channel 0))) - (set! - (-> a0-9 param 0) - (the float (+ (-> a0-9 frame-group data 0 length) -1)) - ) - (set! (-> a0-9 param 1) 1.0) - (joint-control-channel-group-eval! - a0-9 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-0 (-> *display* base-frame-counter))) - (while (let* ((s5-0 (-> *display* base-frame-counter)) - (f30-0 300.0) - (f28-0 0.16) - (f26-0 0.17000002) - (v1-31 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) + (if (!= (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) ) - (v1-32 (the-as number (logior #x3f800000 v1-31))) - ) - (< - (- - s5-0 - (the - int - (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-32))))) - ) - ) - gp-0 + (get-art-elem self) ) - ) - (suspend) - ) - ) - (let ((gp-1 (-> self skel root-channel 0))) - (set! (-> gp-1 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - ) - (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-1 param 1) 1.0) - (set! (-> gp-1 frame-num) (ja-aframe 16.0 0)) - (joint-control-channel-group! gp-1 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((gp-2 (-> self skel root-channel 0))) - (set! (-> gp-2 param 0) (ja-aframe 0.0 0)) - (set! (-> gp-2 param 1) 1.0) - (joint-control-channel-group-eval! - gp-2 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) - (let ((gp-3 (-> *display* base-frame-counter))) - (while (let* ((s5-1 (-> *display* base-frame-counter)) - (f30-1 300.0) - (f28-1 0.16) - (f26-1 0.17000002) - (v1-56 - (/ (the-as int (rand-uint31-gen *random-generator*)) 256) - ) - (v1-57 (the-as number (logior #x3f800000 v1-56))) - ) - (< - (- - s5-1 - (the - int - (* f30-1 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-57))))) - ) - ) - gp-3 + (ja-channel-push! 1 15) + ) + (while #t + (TODO-RENAME-43 self) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 frame-group) (the-as art-joint-anim (-> self draw art-group data 3))) + (set! (-> a0-8 param 0) + (the float (+ (-> (the-as art-joint-anim (-> self draw art-group data 3)) data 0 length) -1)) ) - ) - (suspend) + (set! (-> a0-8 param 1) 1.0) + (set! (-> a0-8 frame-num) 0.0) + (joint-control-channel-group! a0-8 (the-as art-joint-anim (-> self draw art-group data 3)) num-func-seek!) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-9 (-> self skel root-channel 0))) + (set! (-> a0-9 param 0) (the float (+ (-> a0-9 frame-group data 0 length) -1))) + (set! (-> a0-9 param 1) 1.0) + (joint-control-channel-group-eval! a0-9 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-0 (-> *display* base-frame-counter))) + (while (let* ((s5-0 (-> *display* base-frame-counter)) + (f30-0 300.0) + (f28-0 0.16) + (f26-0 0.17000002) + (v1-31 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-32 (the-as number (logior #x3f800000 v1-31))) + ) + (< (- s5-0 (the int (* f30-0 (+ f28-0 (* f26-0 (+ -1.0 (the-as float v1-32))))))) gp-0) + ) + (suspend) + ) + ) + (let ((gp-1 (-> self skel root-channel 0))) + (set! (-> gp-1 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> gp-1 param 0) (ja-aframe 0.0 0)) + (set! (-> gp-1 param 1) 1.0) + (set! (-> gp-1 frame-num) (ja-aframe 16.0 0)) + (joint-control-channel-group! + gp-1 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((gp-2 (-> self skel root-channel 0))) + (set! (-> gp-2 param 0) (ja-aframe 0.0 0)) + (set! (-> gp-2 param 1) 1.0) + (joint-control-channel-group-eval! gp-2 (the-as art-joint-anim #f) num-func-seek!) + ) + ) + (let ((gp-3 (-> *display* base-frame-counter))) + (while (let* ((s5-1 (-> *display* base-frame-counter)) + (f30-1 300.0) + (f28-1 0.16) + (f26-1 0.17000002) + (v1-56 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-57 (the-as number (logior #x3f800000 v1-56))) + ) + (< (- s5-1 (the int (* f30-1 (+ f28-1 (* f26-1 (+ -1.0 (the-as float v1-57))))))) gp-3) + ) + (suspend) + ) + ) ) - ) + (none) ) - (none) - ) ) ;; definition for method 11 of type assistant-villagec -(defmethod - init-from-entity! - assistant-villagec - ((obj assistant-villagec) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *assistant-village3-sg* - 3 - 31 - (new 'static 'vector :w 4096.0) - 5 - ) +(defmethod init-from-entity! assistant-villagec ((obj assistant-villagec) (arg0 entity-actor)) + (dummy-40 obj arg0 *assistant-village3-sg* 3 31 (new 'static 'vector :w 4096.0) 5) (set! (-> obj tasks) (get-task-control (game-task assistant-village3))) (dummy-42 obj) (none) diff --git a/test/decompiler/reference/levels/village3/miners_REF.gc b/test/decompiler/reference/levels/village3/miners_REF.gc index eef06c5200..2f36858f1c 100644 --- a/test/decompiler/reference/levels/village3/miners_REF.gc +++ b/test/decompiler/reference/levels/village3/miners_REF.gc @@ -4,29 +4,25 @@ ;; definition for function miners-anim-loop (defbehavior miners-anim-loop minershort () (when (!= (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - (get-art-elem self) - ) - (ja-channel-push! 1 60) - (let ((gp-0 (-> self skel root-channel 0))) - (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + (-> self skel root-channel 0 frame-group) + ) + (get-art-elem self) + ) + (ja-channel-push! 1 60) + (let ((gp-0 (-> self skel root-channel 0))) + (set! (-> gp-0 frame-group) (the-as art-joint-anim (get-art-elem self))) + ) ) - ) (while #t - (suspend) - (let ((a0-8 (-> self skel root-channel 0))) - (set! (-> a0-8 param 0) 2.0) - (joint-control-channel-group-eval! - a0-8 - (the-as art-joint-anim #f) - num-func-loop! - ) + (suspend) + (let ((a0-8 (-> self skel root-channel 0))) + (set! (-> a0-8 param 0) 2.0) + (joint-control-channel-group-eval! a0-8 (the-as art-joint-anim #f) num-func-loop!) + ) + (if (= (-> self next-state name) 'idle) + (TODO-RENAME-43 self) + ) ) - (if (= (-> self next-state name) 'idle) - (TODO-RENAME-43 self) - ) - ) (the-as none 0) (none) ) @@ -43,8 +39,8 @@ ;; definition for method 3 of type minertall (defmethod inspect minertall ((obj minertall)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -62,20 +58,20 @@ ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 minertall ((obj minertall)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -4096.0 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -4096.0 f0-0))) + ) + 0 + (let ((a0-4 v1-1)) + (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) + ) + ) + 0 + (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - 0 - (let ((a0-4 v1-1)) - (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) - ) - ) - 0 - (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - ) (none) ) @@ -83,24 +79,20 @@ (defmethod draw-npc-shadow minertall ((obj minertall)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) @@ -110,13 +102,13 @@ (set! (-> obj talk-message) (the-as uint 260)) (current-status (-> obj tasks)) (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) (the-as basic (-> obj draw art-group data 3)) ) @@ -129,11 +121,7 @@ (defstate idle (minertall) :virtual #t :trans - (behavior () - (set! (-> self will-talk) #f) - ((-> (method-of-type process-taskable idle) trans)) - (none) - ) + (behavior () (set! (-> self will-talk) #f) ((-> (method-of-type process-taskable idle) trans)) (none)) :code (the-as (function none :behavior minertall) miners-anim-loop) ) @@ -160,8 +148,8 @@ ;; definition for method 3 of type minershort (defmethod inspect minershort ((obj minershort)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tother-miner: ~A~%" (-> obj other-miner)) obj ) @@ -177,134 +165,125 @@ ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 566) - (new 'static 'sparticle-launch-group - :length 3 - :duration #xbb8 - :linger-duration #x5dc - :name "group-minershort-candle" - :launcher - (new 'static 'inline-array sparticle-group-item 3 - (sp-item 2364 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 2365 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 2366 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - ) - :bounds (new 'static 'sphere :w 61440.0) - ) - ) +(set! (-> *part-group-id-table* 566) (new 'static 'sparticle-launch-group + :length 3 + :duration #xbb8 + :linger-duration #x5dc + :name "group-minershort-candle" + :launcher + (new 'static 'inline-array sparticle-group-item 3 + (sp-item 2364 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 2365 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 2366 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + ) + :bounds (new 'static 'sphere :w 61440.0) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2366) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 2.0 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 128.0 32.0 1.0) - (sp-rnd-flt spt-b 128.0 16.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.00033333333) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.0005) (meters 0.001) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.32820514) - (sp-flt spt-fade-g -0.32820514) - (sp-flt spt-fade-b -0.32820514) - (sp-flt spt-fade-a -0.16410257) - (sp-rnd-flt spt-accel-y 0.13653333 0.27306667 1.0) - (sp-int spt-timer 390) - (sp-cpuinfo-flags bit2 bit12 bit14) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.05) 1.0) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2366) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 2.0 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-scale-x (meters 0.075) (meters 0.075) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 128.0 32.0 1.0) + (sp-rnd-flt spt-b 128.0 16.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0) (meters 0.00033333333) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.0005) (meters 0.001) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.32820514) + (sp-flt spt-fade-g -0.32820514) + (sp-flt spt-fade-b -0.32820514) + (sp-flt spt-fade-a -0.16410257) + (sp-rnd-flt spt-accel-y 0.13653333 0.27306667 1.0) + (sp-int spt-timer 390) + (sp-cpuinfo-flags bit2 bit12 bit14) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.05) 1.0) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2364) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 3.0) - (sp-rnd-flt spt-y (meters -0.08) (meters 0.02) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.00016666666) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.0) (meters 0.00016666666) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.7111111) - (sp-rnd-flt spt-accel-y 1.0922667 0.27306667 1.0) - (sp-int-plain-rnd spt-timer 60 29 1) - (sp-cpuinfo-flags bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2364) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 3.0) + (sp-rnd-flt spt-y (meters -0.08) (meters 0.02) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.00016666666) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.0) (meters 0.00016666666) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.7111111) + (sp-rnd-flt spt-accel-y 1.0922667 0.27306667 1.0) + (sp-int-plain-rnd spt-timer 60 29 1) + (sp-cpuinfo-flags bit3) + (sp-end) + ) + ) + ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2365) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -0.02)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.75) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 16.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.00016666666) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.0) (meters 0.00016666666) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.7111111) - (sp-flt spt-fade-a -1.92) - (sp-rnd-flt spt-accel-y 1.0922667 0.27306667 1.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) +(set! (-> *part-id-table* 2365) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -0.02)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.75) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 16.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.00016666666) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.0) (meters 0.00016666666) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.7111111) + (sp-flt spt-fade-a -1.92) + (sp-rnd-flt spt-accel-y 1.0922667 0.27306667 1.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) + ) ;; definition for method 52 of type minershort ;; INFO: Return type mismatch int vs none. (defmethod dummy-52 minershort ((obj minershort)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (when v1-1 - (let ((f0-0 (-> obj root-override trans y))) - (let ((a0-2 v1-1)) - (set! (-> a0-2 settings bot-plane w) (- (+ -4096.0 f0-0))) + (when v1-1 + (let ((f0-0 (-> obj root-override trans y))) + (let ((a0-2 v1-1)) + (set! (-> a0-2 settings bot-plane w) (- (+ -4096.0 f0-0))) + ) + 0 + (let ((a0-4 v1-1)) + (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) + ) + ) + 0 + (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - 0 - (let ((a0-4 v1-1)) - (set! (-> a0-4 settings top-plane w) (- (+ 4096.0 f0-0))) - ) - ) - 0 - (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) ) - ) (none) ) @@ -312,428 +291,242 @@ (defmethod draw-npc-shadow minershort ((obj minershort)) (-> obj draw shadow-ctrl) (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (let ((v1-9 (-> obj draw shadow-ctrl))) + (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) + ) + 0 + (dummy-14 (-> obj draw shadow-ctrl)) ) - (let ((v1-9 (-> obj draw shadow-ctrl))) - (set! (-> v1-9 settings flags) (logand -33 (-> v1-9 settings flags))) - ) - 0 - (dummy-14 (-> obj draw shadow-ctrl)) + (else + (let ((v1-14 (-> obj draw shadow-ctrl))) + (logior! (-> v1-14 settings flags) 32) + ) + 0 + ) ) - (else - (let ((v1-14 (-> obj draw shadow-ctrl))) - (logior! (-> v1-14 settings flags) 32) - ) - 0 - ) - ) (none) ) ;; definition for function minershort-trans-hook ;; INFO: Return type mismatch object vs none. (defbehavior minershort-trans-hook minershort () - (spawn - (-> self part) - (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 14)) - ) + (spawn (-> self part) (vector<-cspace! (new 'stack-no-clear 'vector) (-> self node-list data 14))) (none) ) ;; definition for method 32 of type minershort (defmethod play-anim! minershort ((obj minershort) (arg0 symbol)) (with-pp - (set! (-> obj talk-message) (the-as uint 260)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task village3-miner-money1)) - (when arg0 - (let* ((s5-1 (-> obj tasks)) - (s4-0 (method-of-object s5-1 save-reminder)) - (a1-3 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-3 from) pp) - (set! (-> a1-3 num-params) 2) - (set! (-> a1-3 message) 'query) - (set! (-> a1-3 param 0) (the-as uint 'pickup)) - (set! (-> a1-3 param 1) (the-as uint 6)) - (s4-0 - s5-1 - (the int (the-as float (send-event-function *target* a1-3))) - 1 - ) + (set! (-> obj talk-message) (the-as uint 260)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) ) - (send-event - (-> obj other-miner ppointer 3) - 'clone - (process->handle obj) - ) - (close-specific-task! - (game-task village3-miner-money1) - (task-status need-introduction) - ) - (close-specific-task! - (game-task village3-miner-money2) - (task-status need-introduction) - ) - (close-specific-task! - (game-task village3-miner-money3) - (task-status need-introduction) - ) - (close-specific-task! - (game-task village3-miner-money4) - (task-status need-introduction) - ) - ) - (new 'static 'spool-anim - :name "minershort-introduction-orbs" - :index 4 - :parts 16 - :command-list - '( - ((the binteger 171) - joint - "cameraB" + (case (current-task (-> obj tasks)) + (((game-task village3-miner-money1)) + (when arg0 + (let* ((s5-1 (-> obj tasks)) + (s4-0 (method-of-object s5-1 save-reminder)) + (a1-3 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-3 from) pp) + (set! (-> a1-3 num-params) 2) + (set! (-> a1-3 message) 'query) + (set! (-> a1-3 param 0) (the-as uint 'pickup)) + (set! (-> a1-3 param 1) (the-as uint 6)) + (s4-0 s5-1 (the int (the-as float (send-event-function *target* a1-3))) 1) + ) + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (close-specific-task! (game-task village3-miner-money1) (task-status need-introduction)) + (close-specific-task! (game-task village3-miner-money2) (task-status need-introduction)) + (close-specific-task! (game-task village3-miner-money3) (task-status need-introduction)) + (close-specific-task! (game-task village3-miner-money4) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "minershort-introduction-orbs" + :index 4 + :parts 16 + :command-list + '(((the binteger 171) joint "cameraB") + ((the binteger 206) joint "camera") + ((the binteger 423) joint "cameraB") + ((the binteger 591) joint "camera") + ((the binteger 692) joint "cameraB") + ((the binteger 918) joint "camera") + ((the binteger 1122) joint "cameraB") + ((the binteger 1122) shadow self #f) + ((the binteger 1241) joint "camera") + ((the binteger 1241) shadow self #t) ) - ((the binteger 206) - joint - "camera" - ) - ((the binteger 423) - joint - "cameraB" - ) - ((the binteger 591) - joint - "camera" - ) - ((the binteger 692) - joint - "cameraB" - ) - ((the binteger 918) - joint - "camera" - ) - ((the binteger 1122) - joint - "cameraB" - ) - ((the binteger 1122) - shadow - self - #f - ) - ((the binteger 1241) - joint - "camera" - ) - ((the binteger 1241) shadow self #t) ) ) - ) - (((game-task cave-gnawers)) - (when arg0 - (let* ((s5-2 (-> obj tasks)) - (s4-1 (method-of-object s5-2 save-reminder)) - (a1-10 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-10 from) pp) - (set! (-> a1-10 num-params) 2) - (set! (-> a1-10 message) 'query) - (set! (-> a1-10 param 0) (the-as uint 'pickup)) - (set! (-> a1-10 param 1) (the-as uint 6)) - (s4-1 - s5-2 - (the int (the-as float (send-event-function *target* a1-10))) - 1 - ) - ) - (send-event - (-> obj other-miner ppointer 3) - 'clone - (process->handle obj) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "minershort-introduction-gnawers" - :index 9 - :parts 8 - :command-list - '( - (0 - want-levels - village3 - maincave - ) - ((the binteger 149) - joint - "cameraB" - ) - ((the binteger 158) - display-level - maincave - movie - ) - ((the binteger 158) - want-force-vis - maincave - #t - ) - ((the binteger 435) - display-level - maincave - #f - ) - ((the binteger 435) - joint - "camera" - ) - ((the binteger 680) - joint - "cameraB" - ) - ((the binteger 719) joint "camera") - ) - ) - ) - (else - (when arg0 - (send-event - (-> obj other-miner ppointer 3) - 'clone - (process->handle obj) - ) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "minershort-introduction-switch" - :index 11 - :parts 7 - :command-list - '( - ((the binteger 2) - shadow - "minertall-1" - #f - ) - ((the binteger 835) shadow "minertall-1" #t) - ) - ) - ) - ) - ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) - (if (< (the-as uint 3) (the-as uint s4-2)) - (set! s4-2 0) - ) - (countdown (s3-0 4) - (let ((v1-59 s4-2)) - (cond - ((zero? v1-59) - (if - (not - (or - (= - (get-task-status (game-task village3-miner-money1)) - (task-status need-reminder) + (((game-task cave-gnawers)) + (when arg0 + (let* ((s5-2 (-> obj tasks)) + (s4-1 (method-of-object s5-2 save-reminder)) + (a1-10 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-10 from) pp) + (set! (-> a1-10 num-params) 2) + (set! (-> a1-10 message) 'query) + (set! (-> a1-10 param 0) (the-as uint 'pickup)) + (set! (-> a1-10 param 1) (the-as uint 6)) + (s4-1 s5-2 (the int (the-as float (send-event-function *target* a1-10))) 1) ) - (= - (get-task-status (game-task village3-miner-money2)) - (task-status need-reminder) - ) - (= - (get-task-status (game-task village3-miner-money3)) - (task-status need-reminder) - ) - (= - (get-task-status (game-task village3-miner-money4)) - (task-status need-reminder) - ) - ) + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (close-status! (-> obj tasks) (task-status need-introduction)) ) - (set! s4-2 1) - ) - ) - ((= v1-59 1) - (if - (!= - (get-task-status (game-task cave-gnawers)) - (task-status need-reminder) + (new 'static 'spool-anim + :name "minershort-introduction-gnawers" + :index 9 + :parts 8 + :command-list + '((0 want-levels village3 maincave) + ((the binteger 149) joint "cameraB") + ((the binteger 158) display-level maincave movie) + ((the binteger 158) want-force-vis maincave #t) + ((the binteger 435) display-level maincave #f) + ((the binteger 435) joint "camera") + ((the binteger 680) joint "cameraB") + ((the binteger 719) joint "camera") + ) ) - (set! s4-2 2) - ) - ) - ((= v1-59 2) - (if - (not - (or - (= - (get-task-status (game-task village3-miner-money1)) - (task-status need-reminder) - ) - (= - (get-task-status (game-task village3-miner-money2)) - (task-status need-reminder) - ) - (= - (get-task-status (game-task village3-miner-money3)) - (task-status need-reminder) - ) - (= - (get-task-status (game-task village3-miner-money4)) - (task-status need-reminder) - ) - ) - ) - (set! s4-2 3) - ) ) (else - (if - (!= - (get-task-status (game-task snow-eggtop)) - (task-status need-reminder) - ) - (set! s4-2 0) - ) - ) - ) - ) - ) - (if arg0 - (save-reminder (-> obj tasks) s4-2 0) - ) - (cond - ((zero? s4-2) - (new 'static 'spool-anim - :name "minershort-reminder-1-orbs" - :index 5 - :parts 3 - :command-list '() - ) - ) - ((= s4-2 1) - (if arg0 - (send-event - (-> obj other-miner ppointer 3) - 'clone - (process->handle obj) - ) - ) - (new 'static 'spool-anim - :name "minershort-reminder-1-gnawers" - :index 10 - :parts 3 - :command-list '() - ) - ) - ((= s4-2 2) - (if arg0 - (send-event - (-> obj other-miner ppointer 3) - 'clone - (process->handle obj) - ) - ) - (new 'static 'spool-anim - :name "minershort-reminder-2-orbs" - :index 6 - :parts 2 - :command-list '() - ) - ) - (else - (if arg0 - (send-event - (-> obj other-miner ppointer 3) - 'clone - (process->handle obj) - ) - ) - (new 'static 'spool-anim - :name "minershort-reminder-1-switch" - :index 12 - :parts 5 - :command-list - '( - ((the binteger 2) - shadow - "minertall-1" - #f + (when arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "minershort-introduction-switch" + :index 11 + :parts 7 + :command-list + '(((the binteger 2) shadow "minertall-1" #f) ((the binteger 835) shadow "minertall-1" #t)) ) - ((the binteger 500) shadow "minertall-1" #t) ) ) - ) ) - ) - ) - (((task-status need-reward-speech)) - (let ((s4-3 (get-reminder (-> obj tasks) 2))) - (cond - (arg0 - (send-event - (-> obj other-miner ppointer 3) - 'clone - (process->handle obj) - ) - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) - (save-reminder (-> obj tasks) (+ s4-3 1) 2) - ) - (else - (set! (-> obj will-talk) #t) - (set! (-> obj talk-message) (the-as uint 282)) - ) - ) - (if (< (the-as uint s4-3) (the-as uint 3)) - (new 'static 'spool-anim - :name "minershort-resolution-1-orbs" - :index 7 - :parts 2 - :command-list '() - ) - (new 'static 'spool-anim - :name "minershort-resolution-2-orbs" - :index 8 - :parts 6 - :command-list - '( - ((the binteger 154) - joint - "cameraB" + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (let ((s4-2 (+ (get-reminder (-> obj tasks) 0) 1))) + (if (< (the-as uint 3) (the-as uint s4-2)) + (set! s4-2 0) + ) + (countdown (s3-0 4) + (let ((v1-59 s4-2)) + (cond + ((zero? v1-59) + (if (not (or + (= (get-task-status (game-task village3-miner-money1)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money2)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money3)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money4)) (task-status need-reminder)) + ) + ) + (set! s4-2 1) + ) + ) + ((= v1-59 1) + (if (!= (get-task-status (game-task cave-gnawers)) (task-status need-reminder)) + (set! s4-2 2) + ) + ) + ((= v1-59 2) + (if (not (or + (= (get-task-status (game-task village3-miner-money1)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money2)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money3)) (task-status need-reminder)) + (= (get-task-status (game-task village3-miner-money4)) (task-status need-reminder)) + ) + ) + (set! s4-2 3) + ) + ) + (else + (if (!= (get-task-status (game-task snow-eggtop)) (task-status need-reminder)) + (set! s4-2 0) + ) + ) + ) + ) + ) + (if arg0 + (save-reminder (-> obj tasks) s4-2 0) + ) + (cond + ((zero? s4-2) + (new 'static 'spool-anim :name "minershort-reminder-1-orbs" :index 5 :parts 3 :command-list '()) ) - ((the binteger 461) joint "camera") - ) + ((= s4-2 1) + (if arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + ) + (new 'static 'spool-anim :name "minershort-reminder-1-gnawers" :index 10 :parts 3 :command-list '()) + ) + ((= s4-2 2) + (if arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + ) + (new 'static 'spool-anim :name "minershort-reminder-2-orbs" :index 6 :parts 2 :command-list '()) + ) + (else + (if arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + ) + (new 'static 'spool-anim + :name "minershort-reminder-1-switch" + :index 12 + :parts 5 + :command-list + '(((the binteger 2) shadow "minertall-1" #f) ((the binteger 500) shadow "minertall-1" #t)) + ) + ) + ) + ) + ) + (((task-status need-reward-speech)) + (let ((s4-3 (get-reminder (-> obj tasks) 2))) + (cond + (arg0 + (send-event (-> obj other-miner ppointer 3) 'clone (process->handle obj)) + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-task-inc))) + (save-reminder (-> obj tasks) (+ s4-3 1) 2) + ) + (else + (set! (-> obj will-talk) #t) + (set! (-> obj talk-message) (the-as uint 282)) + ) + ) + (if (< (the-as uint s4-3) (the-as uint 3)) + (new 'static 'spool-anim :name "minershort-resolution-1-orbs" :index 7 :parts 2 :command-list '()) + (new 'static 'spool-anim + :name "minershort-resolution-2-orbs" + :index 8 + :parts 6 + :command-list + '(((the binteger 154) joint "cameraB") ((the binteger 461) joint "camera")) + ) + ) + ) + ) + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) + ) + (-> obj draw art-group data 3) ) - ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 3) - ) ) - ) ) ;; failed to figure out what this is: @@ -741,10 +534,10 @@ :virtual #t :exit (behavior () - (send-event (-> self other-miner ppointer 3) 'end-mode) - ((-> (method-of-type process-taskable play-anim) exit)) - (none) - ) + (send-event (-> self other-miner ppointer 3) 'end-mode) + ((-> (method-of-type process-taskable play-anim) exit)) + (none) + ) ) ;; definition for method 31 of type minershort @@ -754,109 +547,102 @@ ;; definition for method 43 of type minershort (defmethod TODO-RENAME-43 minershort ((obj minershort)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.9655172 f0-2) + (play-ambient (-> obj ambient) "MIN-LO01" #f (-> obj root-override trans)) + ) + ((< 0.9310345 f0-2) + (play-ambient (-> obj ambient) "MIN-LO03" #f (-> obj root-override trans)) + ) + ((< 0.8965517 f0-2) + (play-ambient (-> obj ambient) "MIN-LO04" #f (-> obj root-override trans)) + ) + ((< 0.86206895 f0-2) + (play-ambient (-> obj ambient) "MIN-LO05" #f (-> obj root-override trans)) + ) + ((< 0.82758623 f0-2) + (play-ambient (-> obj ambient) "MIN-LO06" #f (-> obj root-override trans)) + ) + ((< 0.79310346 f0-2) + (play-ambient (-> obj ambient) "MSH-AM01" #f (-> obj root-override trans)) + ) + ((< 0.7586207 f0-2) + (play-ambient (-> obj ambient) "MSH-AM02" #f (-> obj root-override trans)) + ) + ((< 0.7241379 f0-2) + (play-ambient (-> obj ambient) "MSH-AM03" #f (-> obj root-override trans)) + ) + ((< 0.6896552 f0-2) + (play-ambient (-> obj ambient) "MSH-AM04" #f (-> obj root-override trans)) + ) + ((< 0.6551724 f0-2) + (play-ambient (-> obj ambient) "MSH-AM05" #f (-> obj root-override trans)) + ) + ((< 0.62068963 f0-2) + (play-ambient (-> obj ambient) "MSH-AM06" #f (-> obj root-override trans)) + ) + ((< 0.5862069 f0-2) + (play-ambient (-> obj ambient) "MSH-AM07" #f (-> obj root-override trans)) + ) + ((< 0.55172414 f0-2) + (play-ambient (-> obj ambient) "MSH-AM08" #f (-> obj root-override trans)) + ) + ((< 0.51724136 f0-2) + (play-ambient (-> obj ambient) "MSH-AM09" #f (-> obj root-override trans)) + ) + ((< 0.4827586 f0-2) + (play-ambient (-> obj ambient) "MSH-AM10" #f (-> obj root-override trans)) + ) + ((< 0.44827586 f0-2) + (play-ambient (-> obj ambient) "MSH-AM11" #f (-> obj root-override trans)) + ) + ((< 0.41379312 f0-2) + (play-ambient (-> obj ambient) "MSH-AM12" #f (-> obj root-override trans)) + ) + ((< 0.37931034 f0-2) + (play-ambient (-> obj ambient) "MSH-AM1A" #f (-> obj root-override trans)) + ) + ((< 0.3448276 f0-2) + (play-ambient (-> obj ambient) "MSH-AM2A" #f (-> obj root-override trans)) + ) + ((< 0.31034482 f0-2) + (play-ambient (-> obj ambient) "MSH-AM3A" #f (-> obj root-override trans)) + ) + ((< 0.27586207 f0-2) + (play-ambient (-> obj ambient) "MTA-AM01" #f (-> obj root-override trans)) + ) + ((< 0.2413793 f0-2) + (play-ambient (-> obj ambient) "MTA-AM02" #f (-> obj root-override trans)) + ) + ((< 0.20689656 f0-2) + (play-ambient (-> obj ambient) "MTA-AM03" #f (-> obj root-override trans)) + ) + ((< 0.1724138 f0-2) + (play-ambient (-> obj ambient) "MTA-AM04" #f (-> obj root-override trans)) + ) + ((< 0.13793103 f0-2) + (play-ambient (-> obj ambient) "MTA-AM05" #f (-> obj root-override trans)) + ) + ((< 0.10344828 f0-2) + (play-ambient (-> obj ambient) "MTA-AM06" #f (-> obj root-override trans)) + ) + ((< 0.06896552 f0-2) + (play-ambient (-> obj ambient) "MTA-AM07" #f (-> obj root-override trans)) + ) + ((< 0.03448276 f0-2) + (play-ambient (-> obj ambient) "MTA-AM08" #f (-> obj root-override trans)) + ) + (else + (play-ambient (-> obj ambient) "MTA-AM09" #f (-> obj root-override trans)) ) - (cond - ((< 0.9655172 f0-2) - (play-ambient (-> obj ambient) "MIN-LO01" #f (-> obj root-override trans)) + ) ) - ((< 0.9310345 f0-2) - (play-ambient (-> obj ambient) "MIN-LO03" #f (-> obj root-override trans)) - ) - ((< 0.8965517 f0-2) - (play-ambient (-> obj ambient) "MIN-LO04" #f (-> obj root-override trans)) - ) - ((< 0.86206895 f0-2) - (play-ambient (-> obj ambient) "MIN-LO05" #f (-> obj root-override trans)) - ) - ((< 0.82758623 f0-2) - (play-ambient (-> obj ambient) "MIN-LO06" #f (-> obj root-override trans)) - ) - ((< 0.79310346 f0-2) - (play-ambient (-> obj ambient) "MSH-AM01" #f (-> obj root-override trans)) - ) - ((< 0.7586207 f0-2) - (play-ambient (-> obj ambient) "MSH-AM02" #f (-> obj root-override trans)) - ) - ((< 0.7241379 f0-2) - (play-ambient (-> obj ambient) "MSH-AM03" #f (-> obj root-override trans)) - ) - ((< 0.6896552 f0-2) - (play-ambient (-> obj ambient) "MSH-AM04" #f (-> obj root-override trans)) - ) - ((< 0.6551724 f0-2) - (play-ambient (-> obj ambient) "MSH-AM05" #f (-> obj root-override trans)) - ) - ((< 0.62068963 f0-2) - (play-ambient (-> obj ambient) "MSH-AM06" #f (-> obj root-override trans)) - ) - ((< 0.5862069 f0-2) - (play-ambient (-> obj ambient) "MSH-AM07" #f (-> obj root-override trans)) - ) - ((< 0.55172414 f0-2) - (play-ambient (-> obj ambient) "MSH-AM08" #f (-> obj root-override trans)) - ) - ((< 0.51724136 f0-2) - (play-ambient (-> obj ambient) "MSH-AM09" #f (-> obj root-override trans)) - ) - ((< 0.4827586 f0-2) - (play-ambient (-> obj ambient) "MSH-AM10" #f (-> obj root-override trans)) - ) - ((< 0.44827586 f0-2) - (play-ambient (-> obj ambient) "MSH-AM11" #f (-> obj root-override trans)) - ) - ((< 0.41379312 f0-2) - (play-ambient (-> obj ambient) "MSH-AM12" #f (-> obj root-override trans)) - ) - ((< 0.37931034 f0-2) - (play-ambient (-> obj ambient) "MSH-AM1A" #f (-> obj root-override trans)) - ) - ((< 0.3448276 f0-2) - (play-ambient (-> obj ambient) "MSH-AM2A" #f (-> obj root-override trans)) - ) - ((< 0.31034482 f0-2) - (play-ambient (-> obj ambient) "MSH-AM3A" #f (-> obj root-override trans)) - ) - ((< 0.27586207 f0-2) - (play-ambient (-> obj ambient) "MTA-AM01" #f (-> obj root-override trans)) - ) - ((< 0.2413793 f0-2) - (play-ambient (-> obj ambient) "MTA-AM02" #f (-> obj root-override trans)) - ) - ((< 0.20689656 f0-2) - (play-ambient (-> obj ambient) "MTA-AM03" #f (-> obj root-override trans)) - ) - ((< 0.1724138 f0-2) - (play-ambient (-> obj ambient) "MTA-AM04" #f (-> obj root-override trans)) - ) - ((< 0.13793103 f0-2) - (play-ambient (-> obj ambient) "MTA-AM05" #f (-> obj root-override trans)) - ) - ((< 0.10344828 f0-2) - (play-ambient (-> obj ambient) "MTA-AM06" #f (-> obj root-override trans)) - ) - ((< 0.06896552 f0-2) - (play-ambient (-> obj ambient) "MTA-AM07" #f (-> obj root-override trans)) - ) - ((< 0.03448276 f0-2) - (play-ambient (-> obj ambient) "MTA-AM08" #f (-> obj root-override trans)) - ) - (else - (play-ambient (-> obj ambient) "MTA-AM09" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; failed to figure out what this is: @@ -869,15 +655,9 @@ ;; definition for method 11 of type minershort (defmethod init-from-entity! minershort ((obj minershort) (arg0 entity-actor)) (dummy-40 obj arg0 *minershort-sg* 34 46 (new 'static 'vector :w 4096.0) 5) - (set! - (-> obj part) - (create-launch-control (-> *part-group-id-table* 566) obj) - ) + (set! (-> obj part) (create-launch-control (-> *part-group-id-table* 566) obj)) (set! (-> obj tasks) (get-task-control (game-task village3-miner-money1))) - (set! - (-> obj other-miner) - (the-as minertall (entity-actor-lookup arg0 'alt-actor 0)) - ) + (set! (-> obj other-miner) (the-as minertall (entity-actor-lookup arg0 'alt-actor 0))) (set! (-> obj cur-trans-hook) minershort-trans-hook) (set! (-> obj sound-flava) (the-as uint 14)) (set! (-> obj draw light-index) (the-as uint 1)) @@ -900,8 +680,8 @@ ;; definition for method 3 of type cavegem (defmethod inspect cavegem ((obj cavegem)) (let ((t9-0 (method-of-type process-drawable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) @@ -919,57 +699,44 @@ :virtual #t :code (behavior () - (while #t - (let ((a0-0 (-> self skel root-channel 0))) - (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) + (while #t + (let ((a0-0 (-> self skel root-channel 0))) + (set! (-> a0-0 frame-group) (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + ) + (set! (-> a0-0 param 0) (the float (+ (-> (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + data + 0 + length + ) + -1 + ) + ) + ) + (set! (-> a0-0 param 1) 1.0) + (set! (-> a0-0 frame-num) 0.0) + (joint-control-channel-group! + a0-0 + (if (> (-> self skel active-channels) 0) + (-> self skel root-channel 0 frame-group) + ) + num-func-seek! + ) + ) + (until (ja-done? 0) + (suspend) + (let ((a0-1 (-> self skel root-channel 0))) + (set! (-> a0-1 param 0) (the float (+ (-> a0-1 frame-group data 0 length) -1))) + (set! (-> a0-1 param 1) 1.0) + (joint-control-channel-group-eval! a0-1 (the-as art-joint-anim #f) num-func-seek!) + ) + ) ) - (set! - (-> a0-0 param 0) - (the float (+ (-> (if (> (-> self skel active-channels) 0) - (-> self skel root-channel 0 frame-group) - ) - data - 0 - length - ) - -1 - ) - ) - ) - (set! (-> a0-0 param 1) 1.0) - (set! (-> a0-0 frame-num) 0.0) - (joint-control-channel-group! a0-0 (if (> (-> self skel active-channels) 0) - (-> - self - skel - root-channel - 0 - frame-group - ) - ) - num-func-seek! - ) - ) - (until (ja-done? 0) - (suspend) - (let ((a0-1 (-> self skel root-channel 0))) - (set! - (-> a0-1 param 0) - (the float (+ (-> a0-1 frame-group data 0 length) -1)) - ) - (set! (-> a0-1 param 1) 1.0) - (joint-control-channel-group-eval! - a0-1 - (the-as art-joint-anim #f) - num-func-seek! - ) - ) - ) + (none) ) - (none) - ) :post (the-as (function none :behavior cavegem) ja-post) ) diff --git a/test/decompiler/reference/levels/village3/sage-village3_REF.gc b/test/decompiler/reference/levels/village3/sage-village3_REF.gc index 986f3f2f74..5a88f7c869 100644 --- a/test/decompiler/reference/levels/village3/sage-village3_REF.gc +++ b/test/decompiler/reference/levels/village3/sage-village3_REF.gc @@ -16,8 +16,8 @@ ;; definition for method 3 of type sage-villagec (defmethod inspect sage-villagec ((obj sage-villagec)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tevilbro: ~D~%" (-> obj evilbro)) (format #t "~T~Tevilsis: ~D~%" (-> obj evilsis)) (format #t "~T~Tassistant: ~A~%" (-> obj assistant)) @@ -57,368 +57,177 @@ ;; definition for method 32 of type sage-villagec (defmethod play-anim! sage-villagec ((obj sage-villagec) (arg0 symbol)) (with-pp - (set! (-> obj talk-message) (the-as uint 291)) - (case (current-status (-> obj tasks)) - (((task-status unknown) - (task-status need-hint) - (task-status need-introduction) - ) - (if (not arg0) - (set! (-> obj will-talk) #t) - ) - (case (current-task (-> obj tasks)) - (((game-task village3-button)) - (when arg0 - (close-status! (-> obj tasks) (task-status need-introduction)) - (send-event - (-> obj assistant extra process) - 'clone - (process->handle obj) + (set! (-> obj talk-message) (the-as uint 291)) + (case (current-status (-> obj tasks)) + (((task-status unknown) (task-status need-hint) (task-status need-introduction)) + (if (not arg0) + (set! (-> obj will-talk) #t) ) - (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilbro) (ppointer->handle (when s5-1 - (let - ((t9-5 - (method-of-type - manipy - activate - ) - ) - ) - (t9-5 - (the-as manipy s5-1) - obj - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-1 - manipy-init - (-> - obj - root-override - trans - ) - (-> obj entity) - *evilbro-village3-sg* - #f - ) - (-> s5-1 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj evilbro)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj evilbro)) 'blend-shape #t) - (send-event (handle->process (-> obj evilbro)) 'center-joint 3) - (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj evilsis) (ppointer->handle (when s5-2 - (let - ((t9-11 - (method-of-type - manipy - activate - ) - ) - ) - (t9-11 - (the-as manipy s5-2) - obj - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s5-2 - manipy-init - (-> - obj - root-override - trans - ) - (-> obj entity) - *evilsis-village3-sg* - #f - ) - (-> s5-2 ppointer) - ) - ) - ) - ) - (send-event (handle->process (-> obj evilsis)) 'anim-mode 'clone-anim) - (send-event (handle->process (-> obj evilsis)) 'blend-shape #t) - (send-event (handle->process (-> obj evilsis)) 'center-joint 3) - (set! (-> obj draw bounds w) 40960.0) - ) - (new 'static 'spool-anim - :name "sage-village3-introduction" - :index 8 - :parts 58 - :command-list - '( - ((the binteger 206) - joint - "cameraB" + (case (current-task (-> obj tasks)) + (((game-task village3-button)) + (when arg0 + (close-status! (-> obj tasks) (task-status need-introduction)) + (send-event (-> obj assistant extra process) 'clone (process->handle obj)) + (let ((s5-1 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj evilbro) + (ppointer->handle + (when s5-1 + (let ((t9-5 (method-of-type manipy activate))) + (t9-5 (the-as manipy s5-1) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-1 manipy-init (-> obj root-override trans) (-> obj entity) *evilbro-village3-sg* #f) + (-> s5-1 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj evilbro)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj evilbro)) 'blend-shape #t) + (send-event (handle->process (-> obj evilbro)) 'center-joint 3) + (let ((s5-2 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj evilsis) + (ppointer->handle + (when s5-2 + (let ((t9-11 (method-of-type manipy activate))) + (t9-11 (the-as manipy s5-2) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s5-2 manipy-init (-> obj root-override trans) (-> obj entity) *evilsis-village3-sg* #f) + (-> s5-2 ppointer) + ) + ) + ) + ) + (send-event (handle->process (-> obj evilsis)) 'anim-mode 'clone-anim) + (send-event (handle->process (-> obj evilsis)) 'blend-shape #t) + (send-event (handle->process (-> obj evilsis)) 'center-joint 3) + (set! (-> obj draw bounds w) 40960.0) + ) + (new 'static 'spool-anim + :name "sage-village3-introduction" + :index 8 + :parts 58 + :command-list + '(((the binteger 206) joint "cameraB") + ((the binteger 268) joint "camera") + ((the binteger 321) joint "cameraB") + ((the binteger 415) joint "camera") + ((the binteger 502) joint "cameraB") + ((the binteger 655) joint "camera") + ((the binteger 864) joint "cameraB") + ((the binteger 958) joint "camera") + ((the binteger 1178) joint "cameraB") + ((the binteger 1295) joint "camera") + ((the binteger 1377) joint "cameraB") + ((the binteger 1683) joint "camera") + ((the binteger 2066) joint "cameraB") + ((the binteger 2209) joint "camera") + ((the binteger 2389) joint "cameraB") + ((the binteger 2707) joint "camera") + ((the binteger 2769) joint "cameraB") + ((the binteger 2901) joint "camera") + ((the binteger 3021) joint "cameraB") + ((the binteger 3158) joint "camera") + ((the binteger 3301) joint "cameraB") + ((the binteger 3533) joint "camera") + ((the binteger 3632) joint "cameraB") + ((the binteger 3692) joint "camera") + ((the binteger 3780) joint "cameraB") + ((the binteger 3818) joint "camera") + ((the binteger 4188) joint "cameraB") + ((the binteger 4324) joint "camera") + ((the binteger 4462) joint "cameraB") + ((the binteger 4542) joint "camera") ) - ((the binteger 268) - joint - "camera" - ) - ((the binteger 321) - joint - "cameraB" - ) - ((the binteger 415) - joint - "camera" - ) - ((the binteger 502) - joint - "cameraB" - ) - ((the binteger 655) - joint - "camera" - ) - ((the binteger 864) - joint - "cameraB" - ) - ((the binteger 958) - joint - "camera" - ) - ((the binteger 1178) - joint - "cameraB" - ) - ((the binteger 1295) - joint - "camera" - ) - ((the binteger 1377) - joint - "cameraB" - ) - ((the binteger 1683) - joint - "camera" - ) - ((the binteger 2066) - joint - "cameraB" - ) - ((the binteger 2209) - joint - "camera" - ) - ((the binteger 2389) - joint - "cameraB" - ) - ((the binteger 2707) - joint - "camera" - ) - ((the binteger 2769) - joint - "cameraB" - ) - ((the binteger 2901) - joint - "camera" - ) - ((the binteger 3021) - joint - "cameraB" - ) - ((the binteger 3158) - joint - "camera" - ) - ((the binteger 3301) - joint - "cameraB" - ) - ((the binteger 3533) - joint - "camera" - ) - ((the binteger 3632) - joint - "cameraB" - ) - ((the binteger 3692) - joint - "camera" - ) - ((the binteger 3780) - joint - "cameraB" - ) - ((the binteger 3818) - joint - "camera" - ) - ((the binteger 4188) - joint - "cameraB" - ) - ((the binteger 4324) - joint - "camera" - ) - ((the binteger 4462) - joint - "cameraB" - ) - ((the binteger 4542) joint "camera") ) ) - ) - (((game-task cave-dark-crystals)) - (when arg0 - (let* ((s5-3 (-> obj tasks)) - (s4-0 (method-of-object s5-3 save-reminder)) - (a1-18 (new 'stack-no-clear 'event-message-block)) - ) - (set! (-> a1-18 from) pp) - (set! (-> a1-18 num-params) 2) - (set! (-> a1-18 message) 'query) - (set! (-> a1-18 param 0) (the-as uint 'pickup)) - (set! (-> a1-18 param 1) (the-as uint 6)) - (s4-0 - s5-3 - (the int (the-as float (send-event-function *target* a1-18))) - 1 - ) + (((game-task cave-dark-crystals)) + (when arg0 + (let* ((s5-3 (-> obj tasks)) + (s4-0 (method-of-object s5-3 save-reminder)) + (a1-18 (new 'stack-no-clear 'event-message-block)) + ) + (set! (-> a1-18 from) pp) + (set! (-> a1-18 num-params) 2) + (set! (-> a1-18 message) 'query) + (set! (-> a1-18 param 0) (the-as uint 'pickup)) + (set! (-> a1-18 param 1) (the-as uint 6)) + (s4-0 s5-3 (the int (the-as float (send-event-function *target* a1-18))) 1) + ) + (close-status! (-> obj tasks) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "sage-village3-introduction-dark-eco" + :index 4 + :parts 9 + :command-list + '(((the binteger 111) joint "cameraB") + ((the binteger 189) joint "camera") + ((the binteger 455) joint "cameraB") + ((the binteger 638) joint "camera") + ((the binteger 753) joint "cameraB") + ) + ) ) - (close-status! (-> obj tasks) (task-status need-introduction)) - ) - (new 'static 'spool-anim - :name "sage-village3-introduction-dark-eco" - :index 4 - :parts 9 - :command-list - '( - ((the binteger 111) - joint - "cameraB" + (else + (if arg0 + (close-specific-task! (game-task snow-ram) (task-status need-introduction)) + ) + (new 'static 'spool-anim + :name "sage-village3-introduction-rams" + :index 6 + :parts 6 + :command-list + '(((the binteger 155) joint "cameraB") ((the binteger 370) joint "camera")) ) - ((the binteger 189) - joint - "camera" - ) - ((the binteger 455) - joint - "cameraB" - ) - ((the binteger 638) - joint - "camera" - ) - ((the binteger 753) joint "cameraB") ) ) - ) - (else + ) + (((task-status need-reminder-a) (task-status need-reminder)) + (set! (-> obj skippable) #t) + (let ((s4-1 (+ (get-reminder (-> obj tasks) 0) 1))) + (if (< (the-as uint 1) (the-as uint s4-1)) + (set! s4-1 0) + ) + (countdown (s3-0 2) + (cond + ((zero? s4-1) + (if (!= (get-task-status (game-task cave-dark-crystals)) (task-status need-reminder)) + (set! s4-1 1) + ) + ) + (else + (if (not (or + (= (get-task-status (game-task snow-ram)) (task-status need-reminder)) + (= (get-task-status (game-task snow-ram)) (task-status need-reminder-a)) + ) + ) + (set! s4-1 0) + ) + ) + ) + ) + (if arg0 + (save-reminder (-> obj tasks) s4-1 0) + ) + (if (zero? s4-1) + (new 'static 'spool-anim :name "sage-village3-reminder-1-dark-eco" :index 5 :parts 2 :command-list '()) + (new 'static 'spool-anim :name "sage-village3-reminder-1-rams" :index 7 :parts 3 :command-list '()) + ) + ) + ) + (else (if arg0 - (close-specific-task! - (game-task snow-ram) - (task-status need-introduction) - ) - ) - (new 'static 'spool-anim - :name "sage-village3-introduction-rams" - :index 6 - :parts 6 - :command-list - '( - ((the binteger 155) - joint - "cameraB" - ) - ((the binteger 370) joint "camera") - ) - ) - ) - ) - ) - (((task-status need-reminder-a) (task-status need-reminder)) - (set! (-> obj skippable) #t) - (let ((s4-1 (+ (get-reminder (-> obj tasks) 0) 1))) - (if (< (the-as uint 1) (the-as uint s4-1)) - (set! s4-1 0) - ) - (countdown (s3-0 2) - (cond - ((zero? s4-1) - (if - (!= - (get-task-status (game-task cave-dark-crystals)) - (task-status need-reminder) - ) - (set! s4-1 1) - ) - ) - (else - (if - (not - (or - (= - (get-task-status (game-task snow-ram)) - (task-status need-reminder) - ) - (= - (get-task-status (game-task snow-ram)) - (task-status need-reminder-a) - ) + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) ) - ) - (set! s4-1 0) - ) - ) + (get-art-elem obj) ) - ) - (if arg0 - (save-reminder (-> obj tasks) s4-1 0) - ) - (if (zero? s4-1) - (new 'static 'spool-anim - :name "sage-village3-reminder-1-dark-eco" - :index 5 - :parts 2 - :command-list '() - ) - (new 'static 'spool-anim - :name "sage-village3-reminder-1-rams" - :index 7 - :parts 3 - :command-list '() - ) - ) ) - ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (get-art-elem obj) - ) ) - ) ) ;; definition for method 31 of type sage-villagec @@ -429,89 +238,50 @@ ;; definition for method 47 of type sage-villagec ;; INFO: Return type mismatch basic vs symbol. (defmethod target-above-threshold? sage-villagec ((obj sage-villagec)) - (the-as - symbol - (and - *target* - (< (-> (target-pos 0) x) 4575232.0) - (< -14323302.0 (-> (target-pos 0) z)) - ) - ) + (the-as symbol (and *target* (< (-> (target-pos 0) x) 4575232.0) (< -14323302.0 (-> (target-pos 0) z)))) ) ;; definition for method 43 of type sage-villagec (defmethod TODO-RENAME-43 sage-villagec ((obj sage-villagec)) - (when - (TODO-RENAME-10 - (-> obj ambient) - (new 'stack-no-clear 'vector) - 9000 - 122880.0 - obj - ) - (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) - (v1-4 (the-as number (logior #x3f800000 v1-3))) - (f0-2 (+ -1.0 (the-as float v1-4))) - ) - (cond - ((< 0.875 f0-2) - (play-ambient (-> obj ambient) "SAGELP31" #f (-> obj root-override trans)) - ) - ((< 0.75 f0-2) - (if - (not - (closed? - (-> obj tasks) - (game-task cave-dark-crystals) - (task-status need-reminder) + (when (TODO-RENAME-10 (-> obj ambient) (new 'stack-no-clear 'vector) 9000 122880.0 obj) + (let* ((v1-3 (/ (the-as int (rand-uint31-gen *random-generator*)) 256)) + (v1-4 (the-as number (logior #x3f800000 v1-3))) + (f0-2 (+ -1.0 (the-as float v1-4))) + ) + (cond + ((< 0.875 f0-2) + (play-ambient (-> obj ambient) "SAGELP31" #f (-> obj root-override trans)) + ) + ((< 0.75 f0-2) + (if (not (closed? (-> obj tasks) (game-task cave-dark-crystals) (task-status need-reminder))) + (play-ambient (-> obj ambient) "SAGELP32" #f (-> obj root-override trans)) + ) + ) + ((< 0.625 f0-2) + (if (nonzero? (get-task-status (game-task citadel-sage-green))) + (play-ambient (-> obj ambient) "SAGELP33" #f (-> obj root-override trans)) + ) + ) + ((< 0.5 f0-2) + (play-ambient (-> obj ambient) "SAGELP34" #f (-> obj root-override trans)) + ) + ((< 0.375 f0-2) + (play-ambient (-> obj ambient) "SAGELP35" #f (-> obj root-override trans)) + ) + ((< 0.25 f0-2) + (play-ambient (-> obj ambient) "SAGELP36" #f (-> obj root-override trans)) + ) + ((< 0.125 f0-2) + (if (nonzero? (get-task-status (game-task citadel-sage-green))) + (play-ambient (-> obj ambient) "SAGELP37" #f (-> obj root-override trans)) + ) + ) + ((!= (get-task-status (game-task citadel-sage-green)) (task-status need-resolution)) + (play-ambient (-> obj ambient) "SAGELP38" #f (-> obj root-override trans)) ) ) - (play-ambient - (-> obj ambient) - "SAGELP32" - #f - (-> obj root-override trans) - ) - ) ) - ((< 0.625 f0-2) - (if (nonzero? (get-task-status (game-task citadel-sage-green))) - (play-ambient - (-> obj ambient) - "SAGELP33" - #f - (-> obj root-override trans) - ) - ) - ) - ((< 0.5 f0-2) - (play-ambient (-> obj ambient) "SAGELP34" #f (-> obj root-override trans)) - ) - ((< 0.375 f0-2) - (play-ambient (-> obj ambient) "SAGELP35" #f (-> obj root-override trans)) - ) - ((< 0.25 f0-2) - (play-ambient (-> obj ambient) "SAGELP36" #f (-> obj root-override trans)) - ) - ((< 0.125 f0-2) - (if (nonzero? (get-task-status (game-task citadel-sage-green))) - (play-ambient - (-> obj ambient) - "SAGELP37" - #f - (-> obj root-override trans) - ) - ) - ) - ((!= - (get-task-status (game-task citadel-sage-green)) - (task-status need-resolution) - ) - (play-ambient (-> obj ambient) "SAGELP38" #f (-> obj root-override trans)) - ) - ) ) - ) ) ;; failed to figure out what this is: @@ -519,14 +289,14 @@ :virtual #t :trans (behavior () - (case (get-task-status (game-task village3-button)) - (((task-status need-introduction)) - (send-event self 'play-anim) + (case (get-task-status (game-task village3-button)) + (((task-status need-introduction)) + (send-event self 'play-anim) + ) ) + ((-> (method-of-type process-taskable idle) trans)) + (none) ) - ((-> (method-of-type process-taskable idle) trans)) - (none) - ) ) ;; failed to figure out what this is: @@ -534,78 +304,65 @@ :virtual #t :exit (behavior () - (set! (-> self draw bounds w) 10240.0) - (send-event (-> self assistant extra process) 'end-mode) - (let ((a0-2 (handle->process (-> self evilbro)))) - (if a0-2 - (deactivate a0-2) - ) + (set! (-> self draw bounds w) 10240.0) + (send-event (-> self assistant extra process) 'end-mode) + (let ((a0-2 (handle->process (-> self evilbro)))) + (if a0-2 + (deactivate a0-2) + ) + ) + (let ((a0-6 (handle->process (-> self evilsis)))) + (if a0-6 + (deactivate a0-6) + ) + ) + ((-> (method-of-type process-taskable play-anim) exit)) + (none) ) - (let ((a0-6 (handle->process (-> self evilsis)))) - (if a0-6 - (deactivate a0-6) - ) - ) - ((-> (method-of-type process-taskable play-anim) exit)) - (none) - ) ) ;; definition for method 39 of type sage-villagec (defmethod should-display? sage-villagec ((obj sage-villagec)) (cond - ((not - (closed? - (-> obj tasks) - (game-task village3-button) - (task-status need-hint) - ) + ((not (closed? (-> obj tasks) (game-task village3-button) (task-status need-hint))) + (dummy-33 obj) + #f ) - (dummy-33 obj) - #f + ((sages-kidnapped?) + (dummy-33 obj) + #f + ) + (else + #t + ) ) - ((sages-kidnapped?) - (dummy-33 obj) - #f - ) - (else - #t - ) - ) ) ;; definition for method 48 of type sage-villagec (defmethod draw-npc-shadow sage-villagec ((obj sage-villagec)) (let ((v1-1 (-> obj draw shadow-ctrl))) - (cond - ((and - (-> obj draw shadow) - (zero? (-> obj draw cur-lod)) - (logtest? (-> obj draw status) 8) + (cond + ((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) 8)) + (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) + (set! (-> v1-1 settings flags) (logand -5 (-> v1-1 settings flags))) + (set! (-> v1-1 settings bot-plane w) 20480.0) + (let ((a0-8 v1-1)) + (set! (-> a0-8 settings flags) (logand -33 (-> a0-8 settings flags))) + ) + 0 + (dummy-14 v1-1) + ) + (else + (logior! (-> v1-1 settings flags) 32) + 0 + ) ) - (set! (-> v1-1 settings flags) (logand -9 (-> v1-1 settings flags))) - (set! (-> v1-1 settings flags) (logand -5 (-> v1-1 settings flags))) - (set! (-> v1-1 settings bot-plane w) 20480.0) - (let ((a0-8 v1-1)) - (set! (-> a0-8 settings flags) (logand -33 (-> a0-8 settings flags))) - ) - 0 - (dummy-14 v1-1) - ) - (else - (logior! (-> v1-1 settings flags) 32) - 0 - ) ) - ) (none) ) ;; definition for method 11 of type sage-villagec -(defmethod - init-from-entity! - sage-villagec - ((obj sage-villagec) (arg0 entity-actor)) +(defmethod init-from-entity! sage-villagec ((obj sage-villagec) (arg0 entity-actor)) (dummy-40 obj arg0 *sage-village3-sg* 3 40 (new 'static 'vector :w 8192.0) 5) (set! (-> obj tasks) (get-task-control (game-task cave-dark-crystals))) (set! (-> obj assistant) (entity-actor-lookup arg0 'alt-actor 0)) diff --git a/test/decompiler/reference/levels/village3/village3-part_REF.gc b/test/decompiler/reference/levels/village3/village3-part_REF.gc index 958e671b65..adf174e030 100644 --- a/test/decompiler/reference/levels/village3/village3-part_REF.gc +++ b/test/decompiler/reference/levels/village3/village3-part_REF.gc @@ -13,2925 +13,2676 @@ ;; definition for method 3 of type villagec-part (defmethod inspect villagec-part ((obj villagec-part)) (let ((t9-0 (method-of-type part-spawner inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) obj ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 476) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-candle" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1797 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1798 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - ) - :bounds - (new 'static 'sphere :y 40960.0 :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1797) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-y (meters -0.08) (meters 0.02) 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 32.0 32.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.00016666666) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.0) (meters 0.00016666666) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.7111111) - (sp-rnd-flt spt-accel-y 1.0922667 0.27306667 1.0) - (sp-int-plain-rnd spt-timer 60 29 1) - (sp-cpuinfo-flags bit3) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1798) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -0.04)) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 64.0 1.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-flt spt-b 0.0 32.0 1.0) - (sp-rnd-flt spt-a 8.0 16.0 1.0) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.00016666666) 1.0) - (sp-rnd-flt spt-vel-z (meters 0.0) (meters 0.00016666666) 1.0) - (sp-flt spt-scalevel-x (meters -0.0016666667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-g -0.7111111) - (sp-flt spt-fade-a -0.8) - (sp-rnd-flt spt-accel-y 1.0922667 0.27306667 1.0) - (sp-int spt-timer 25) - (sp-cpuinfo-flags bit2 bit3) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 477) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-05" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1799 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 478) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-06" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1801 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 479) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-07" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1802 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 480) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-08" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1803 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 481) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-09" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1804 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 482) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-10" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1805 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 483) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-11" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1806 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 484) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-12" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1807 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 485) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-13" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1808 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 486) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-14" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1809 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 487) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sulphur-15" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1810 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) - ) - :bounds (new 'static 'sphere :w 49152.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1810) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.21333334) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1811) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees 150.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1808) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1811) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees 70.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1809) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1811) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees 70.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1807) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1812) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees 15.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1812) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-vel-y (meters 0.00033333333)) - (sp-flt spt-fade-a -0.023703704) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-next-time 750) - (sp-launcher-by-id spt-next-launcher 1813) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1806) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1814) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees 90.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1814) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-vel-y (meters 0.00033333333)) - (sp-flt spt-fade-a -0.023703704) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-next-time 225) - (sp-launcher-by-id spt-next-launcher 1813) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1805) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1811) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees -10.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1804) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1815) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1815) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-vel-y (meters 0.00033333333)) - (sp-flt spt-fade-a -0.023703704) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1813) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1803) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1816) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees 40.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1816) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-vel-y (meters 0.00033333333)) - (sp-flt spt-fade-a -0.023703704) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1813) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1802) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1817) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees 40.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1817) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 6 - (sp-flt spt-vel-y (meters 0.00033333333)) - (sp-flt spt-fade-a -0.023703704) - (sp-flt spt-accel-y -0.027306668) - (sp-int spt-next-time 750) - (sp-launcher-by-id spt-next-launcher 1813) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1813) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-a -0.047407407) - (sp-flt spt-accel-y 1.3653333) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1801) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1811) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees 40.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1799) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-rnd-flt spt-num 0.1 0.15 1.0) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 70.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a 0.16) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1811) - (sp-flt spt-conerot-x (degrees 60.0)) - (sp-rnd-flt spt-conerot-y (degrees -20.0) (degrees 10.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1811) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-vel-y (meters 0.00033333333)) - (sp-flt spt-fade-a -0.017777778) - (sp-flt spt-accel-y -0.027306668) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1800) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) - (sp-flt spt-num 0.1) - (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-z -4096.0 8192.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 100.0) - (sp-flt spt-g 100.0) - (sp-flt spt-b 50.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0016666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-b 0.021333333) - (sp-flt spt-fade-a 0.16) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 1500) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 90 59 1) - (sp-launcher-by-id spt-next-launcher 1811) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 488) - (new 'static 'sparticle-launch-group - :length 68 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-minor-fire" - :launcher - (new 'static 'inline-array sparticle-group-item 68 - (sp-item 2358 :fade-after (meters 50.0) :falloff-to (meters 80.0)) - (sp-item 2359 :fade-after (meters 40.0) :falloff-to (meters 40.0) :binding 2357) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2357 :flags (bit1 start-dead launch-asap)) - (sp-item 2360 :fade-after (meters 60.0) :falloff-to (meters 80.0)) - (sp-item 2361 :fade-after (meters 50.0) :falloff-to (meters 50.0)) - ) - :bounds - (new 'static 'sphere :y 10240.0 :w 10240.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2359) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-flt spt-num 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :mask #x1 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "fire-pop") - :volume #x400 +(set! (-> *part-group-id-table* 476) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-candle" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1797 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1798 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + ) + :bounds + (new 'static 'sphere :y 40960.0 :w 49152.0) + ) ) - ) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 0.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.04) 1.0) - (sp-rnd-flt spt-accel-y -0.27306667 -0.13653333 1.0) - (sp-flt spt-friction 0.96) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit1 bit3) - (sp-rnd-flt spt-conerot-x (degrees -20.0) (degrees 40.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 2357) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) - (sp-rnd-flt spt-z 1024.0 4096.0 1.0) - (sp-flt spt-scale-x (meters 0.1)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.053333335) 1.0) - (sp-flt spt-vel-y (meters 0.0)) - (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g -0.7111111) - (sp-flt spt-fade-b -0.7111111) - (sp-flt spt-fade-a -0.42666668) - (sp-int spt-timer 300) - (sp-cpuinfo-flags bit1 bit2 bit3 bit7) - (sp-int spt-next-time 180) - (sp-launcher-by-id spt-next-launcher 2362) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2362) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r -1.0666667) - (sp-flt spt-fade-g 1.0666667) - (sp-flt spt-fade-b 1.0666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2358) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 3.0 7.0 1.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) - (sp-flt spt-y (meters -0.75)) - (sp-rnd-flt spt-z -2048.0 4505.6 1.0) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 128.0 128.0 1.0) - (sp-rnd-flt spt-g 32.0 64.0 1.0) - (sp-flt spt-a 96.0) - (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-flt spt-fade-a -0.73333335) - (sp-flt spt-accel-y -0.27306667) - (sp-int-plain-rnd spt-timer 60 59 1) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) - (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2360) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.5) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) - (sp-flt spt-y (meters -0.75)) - (sp-rnd-flt spt-z -2048.0 4505.6 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 196.0) - (sp-flt spt-g 128.0) - (sp-flt spt-b 128.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) - (sp-flt spt-scalevel-x (meters 0.006666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.18962963) - (sp-flt spt-fade-g -0.094814815) - (sp-flt spt-fade-b -0.094814815) - (sp-flt spt-fade-a -0.047407407) - (sp-flt spt-accel-y -0.027306668) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 675) - (sp-cpuinfo-flags bit2) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2361) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-flt spt-num 0.4) - (sp-flt spt-x (meters 0.2)) - (sp-flt spt-y (meters -0.75)) - (sp-int spt-rot-x 8) - (sp-flt spt-r 3276.8) - (sp-flt spt-g 2662.4) - (sp-flt spt-b 2867.2) - (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) - (sp-flt spt-friction 0.99) - (sp-int spt-timer 300) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 2363) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 2363) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b -1.3653333) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 489) - (new 'static 'sparticle-launch-group - :length 46 - :duration #xbb8 - :linger-duration #x5dc - :name "group-spewing-volcano-36" - :launcher - (new 'static 'inline-array sparticle-group-item 46 - (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1200 :offset 300) - (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1320 :offset 360) - (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1440 :offset 420) - (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1560 :offset 480) - (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1980 :offset 540) - (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 810 :offset 1620) - (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 870 :offset 1590) - (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 930 :offset 1560) - (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 990 :offset 1530) - (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 1050 :offset 1500) - (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 120) - (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 450 :offset 120) - (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 120) - (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 630 :offset 120) - (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 120) - (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 64036) - (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 420 :offset 64066) - (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 64096) - (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 64126) - (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 64156) - (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 63916) - (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 63946) - (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 63976) - (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 660 :offset 64006) - (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 64036) - (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 63316) - (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 63376) - (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 63436) - (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 63496) - (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 840 :offset 63556) - (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 63616) - (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 63646) - (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 63676) - (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 660 :offset 63706) - (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 63736) - (sp-item 1830 :falloff-to (meters 300.0) :period 2400 :length 180) - (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 300 :offset 60) - (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 60) - (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 420 :offset 60) - (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 60) - (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 60) - (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 60) - (sp-item 1833 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 60) - (sp-item 1834 :falloff-to (meters 300.0)) - (sp-item 1835 :falloff-to (meters 300.0)) - (sp-item 1836 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2400 :length 600 :offset 60) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 57344.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 490) - (new 'static 'sparticle-launch-group - :length 46 - :duration #xbb8 - :linger-duration #x5dc - :name "group-spewing-volcano-37" - :launcher - (new 'static 'inline-array sparticle-group-item 46 - (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1200 :offset 1500) - (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1320 :offset 1560) - (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1440 :offset 1620) - (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1560 :offset 1680) - (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1980 :offset 1740) - (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 810 :offset 2820) - (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 870 :offset 2790) - (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 930 :offset 2760) - (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 990 :offset 2730) - (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 1050 :offset 2700) - (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 1320) - (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 450 :offset 1320) - (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 1320) - (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 630 :offset 1320) - (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 1320) - (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 65236) - (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 420 :offset 65266) - (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 65296) - (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 65326) - (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 65356) - (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 65116) - (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 65146) - (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 65176) - (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 660 :offset 65206) - (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 65236) - (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 64516) - (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 64576) - (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 64636) - (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 64696) - (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 840 :offset 64756) - (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 64816) - (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 64846) - (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 64876) - (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 660 :offset 64906) - (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 64936) - (sp-item 1830 :falloff-to (meters 300.0) :period 2400 :length 180 :offset 1200) - (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 300 :offset 1260) - (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 1260) - (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 420 :offset 1260) - (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 1260) - (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 1260) - (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 1260) - (sp-item 1833 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 1260) - (sp-item 1834 :falloff-to (meters 300.0) :offset 1200) - (sp-item 1835 :falloff-to (meters 300.0) :offset 1200) - (sp-item 1836 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2400 :length 600 :offset 1260) - ) - :bounds - (new 'static 'sphere :y 12288.0 :w 57344.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1836) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 15 - (sp-flt spt-num 0.2) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 6144.0) - (sp-flt spt-b 6144.0) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.013333334) 1.0) - (sp-flt spt-accel-y -6.826667) - (sp-int spt-timer 1260) - (sp-cpuinfo-flags aux-list) - (sp-int-plain-rnd spt-next-time 15 629 1) - (sp-launcher-by-id spt-next-launcher 1837) - (sp-flt spt-conerot-x (degrees 0.0)) - (sp-rnd-flt spt-conerot-y (degrees 9.0) (degrees 18.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1837) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-flt spt-fade-r 40.96) - (sp-flt spt-fade-g 34.133335) - (sp-flt spt-fade-b 30.72) - (sp-flt spt-accel-x 0.0) - (sp-flt spt-accel-y 6.826667) - (sp-flt spt-accel-z 0.0) - (sp-flt spt-friction 0.9) - (sp-int spt-next-time 300) - (sp-launcher-by-id spt-next-launcher 1838) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1838) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-g 27.306667) - (sp-int spt-timer 300) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1833) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.6) - (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-flt spt-a 16.0) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -6.826667) - (sp-int spt-timer 1260) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 15 629 1) - (sp-launcher-by-id spt-next-launcher 1839) - (sp-flt spt-conerot-x (degrees 0.0)) - (sp-rnd-flt spt-conerot-y (degrees 9.0) (degrees 18.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1839) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-rnd-flt spt-a 16.0 8.0 1.0) - (sp-flt spt-scalevel-x (meters 0.013333334)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.42666668) - (sp-flt spt-fade-g 0.64) - (sp-flt spt-fade-b 0.85) - (sp-flt spt-fade-a -0.04) - (sp-flt spt-accel-x 4.096) - (sp-flt spt-accel-y 0.0) - (sp-flt spt-accel-z 0.0) - (sp-flt spt-friction 0.9) - (sp-int-plain-rnd spt-next-time 240 59 1) - (sp-launcher-by-id spt-next-launcher 1840) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1840) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-b 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1834) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 2.0) - (sp-rnd-flt spt-x (meters 3.5) (meters 0.75) 1.0) - (sp-flt spt-y (meters -7.0)) - (sp-rnd-flt spt-z -6144.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.04444444)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -2.8444443) - (sp-flt spt-accel-x 0.13653333) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-timer 42) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-int-flt spt-rotate-y (degrees 30.0) 3 16384.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1835) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.8) - (sp-rnd-flt spt-x (meters 3.5) (meters 0.75) 1.0) - (sp-flt spt-y (meters -6.5)) - (sp-rnd-flt spt-z -6144.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0016666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.026666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.21333334) - (sp-flt spt-fade-g 0.31833333) - (sp-flt spt-fade-b 0.425) - (sp-flt spt-fade-a -0.053333335) - (sp-flt spt-accel-x 0.13653333) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-int-flt spt-rotate-y (degrees 30.0) 3 16384.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1829) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters 7.0) (meters 3.0) 1.0) - (sp-flt spt-y (meters -7.0)) - (sp-rnd-flt spt-z -6144.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.06666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -2.8444443) - (sp-flt spt-accel-x 0.13653333) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-timer 42) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 36.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1828) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.09) - (sp-rnd-flt spt-x (meters 7.0) (meters 3.0) 1.0) - (sp-flt spt-y (meters -6.5)) - (sp-rnd-flt spt-z -6144.0 12288.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0016666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.026666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.21166667) - (sp-flt spt-fade-g 0.31833333) - (sp-flt spt-fade-b 0.425) - (sp-flt spt-fade-a -0.053333335) - (sp-flt spt-accel-x 0.13653333) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 36.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1827) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 22 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-x (meters 5.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters -7.0)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.04444444)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -2.8444443) - (sp-flt spt-accel-x 0.13653333) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-timer 42) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1826) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters 5.0) (meters 2.0) 1.0) - (sp-flt spt-y (meters -6.5)) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0016666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.026666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.21333334) - (sp-flt spt-fade-g 0.31833333) - (sp-flt spt-fade-b 0.425) - (sp-flt spt-fade-a -0.053333335) - (sp-flt spt-accel-x 0.13653333) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1824) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.09) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0) - (sp-flt spt-scalevel-x (meters 0.026666667)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 0.21333334) - (sp-flt spt-fade-g 0.31833333) - (sp-flt spt-fade-b 0.425) - (sp-flt spt-fade-a -0.053333335) - (sp-flt spt-accel-x 1.3653333) - (sp-flt spt-accel-y -0.27306667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 15.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1823) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.3) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 16.0 16.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) - (sp-flt spt-scalevel-x (meters 0.13333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r 1.0666667) - (sp-flt spt-fade-g 1.5916667) - (sp-flt spt-fade-b 2.125) - (sp-flt spt-fade-a -0.26666668) - (sp-int spt-timer 120) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 15.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1825) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 28 - (sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) - (sp-flt spt-num 0.7) - (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) - (sp-rnd-flt spt-z -1024.0 2048.0 1.0) - (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 64.0 64.0 1.0) - (sp-flt spt-vel-x (meters 0.026666667)) - (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.04) 1.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.53333336) - (sp-flt spt-fade-g -0.21333334) - (sp-flt spt-accel-y -6.826667) - (sp-flt spt-friction 0.98) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit0 bit2) - (sp-int-plain-rnd spt-next-time 180 119 1) - (sp-launcher-by-id spt-next-launcher 1841) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 32.0) 1.0) - (sp-rnd-int-flt spt-conerot-y (degrees 45.0) 3 16384.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1832) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 25 - (sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-int spt-rot-x 4) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 96.0 55.0 1.0) - (sp-flt spt-g 64.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.21333334) - (sp-flt spt-fade-g -0.21333334) - (sp-flt spt-accel-y -6.826667) - (sp-int spt-timer 660) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 180 119 1) - (sp-launcher-by-id spt-next-launcher 1841) - (sp-flt spt-conerot-x (degrees 0.0)) - (sp-rnd-flt spt-conerot-y (degrees 9.0) (degrees 18.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1831) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) - (sp-flt spt-num 0.4) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.53333336) - (sp-flt spt-fade-g -0.21333334) - (sp-flt spt-accel-y -6.826667) - (sp-int spt-timer 660) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 180 119 1) - (sp-launcher-by-id spt-next-launcher 1841) - (sp-flt spt-conerot-x (degrees 0.0)) - (sp-rnd-flt spt-conerot-y (degrees 9.0) (degrees 18.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1841) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 3 - (sp-flt spt-fade-r -0.08888889) - (sp-flt spt-fade-g 0.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1830) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 26 - (sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) - (sp-flt spt-num 6.0) - (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) - (sp-rnd-flt spt-z -2048.0 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 200.0 55.0 1.0) - (sp-rnd-flt spt-g 64.0 32.0 1.0) - (sp-flt spt-b 0.0) - (sp-rnd-flt spt-a 96.0 32.0 1.0) - (sp-flt spt-vel-x (meters 0.013333334)) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.013333334) 1.0) - (sp-flt spt-scalevel-x (meters -0.0025)) - (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-r -0.53333336) - (sp-flt spt-fade-g -0.21333334) - (sp-flt spt-accel-y -6.826667) - (sp-int spt-timer 660) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 180 119 1) - (sp-launcher-by-id spt-next-launcher 1841) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3.0000002) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 36.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 491) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-steam-puff-31" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 1842 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 900 :length 126) - (sp-item 1843 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1260 :length 167) - (sp-item 1844 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 690 :length 150) - (sp-item 1845 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1920 :length 80) - (sp-item 1846 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1710 :length 103) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 492) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-steam-puff-22" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 1842 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1230 :length 156) - (sp-item 1843 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2310 :length 107) - (sp-item 1844 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 960 :length 120) - (sp-item 1845 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1350 :length 170) - (sp-item 1846 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1530 :length 193) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 493) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-steam-puff-23" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 1842 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1200 :length 126) - (sp-item 1843 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1560 :length 107) - (sp-item 1844 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1830 :length 120) - (sp-item 1845 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 690 :length 110) - (sp-item 1846 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1050 :length 163) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1842) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :num 0.02 - :group #x1 - :sound-name (static-sound-name "steam-short") - :volume #x400 +(set! (-> *part-id-table* 1797) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-y (meters -0.08) (meters 0.02) 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.2) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 32.0 32.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.00016666666) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.0) (meters 0.00016666666) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.7111111) + (sp-rnd-flt spt-accel-y 1.0922667 0.27306667 1.0) + (sp-int-plain-rnd spt-timer 60 29 1) + (sp-cpuinfo-flags bit3) + (sp-end) + ) + ) ) - ) - (sp-flt spt-scale-x (meters 0.4)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.53333336) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.93) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2) - (sp-flt spt-conerot-x (degrees 90.0)) - (sp-flt spt-conerot-y (degrees 0.0)) - (sp-flt spt-conerot-radius (meters 0.4)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1843) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :num 0.02 - :group #x1 - :sound-name (static-sound-name "steam-short") - :volume #x400 +(set! (-> *part-id-table* 1798) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -0.04)) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 64.0 1.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-flt spt-b 0.0 32.0 1.0) + (sp-rnd-flt spt-a 8.0 16.0 1.0) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.00016666666) 1.0) + (sp-rnd-flt spt-vel-z (meters 0.0) (meters 0.00016666666) 1.0) + (sp-flt spt-scalevel-x (meters -0.0016666667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-g -0.7111111) + (sp-flt spt-fade-a -0.8) + (sp-rnd-flt spt-accel-y 1.0922667 0.27306667 1.0) + (sp-int spt-timer 25) + (sp-cpuinfo-flags bit2 bit3) + (sp-end) + ) + ) ) - ) - (sp-flt spt-scale-x (meters 0.4)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.53333336) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.93) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2) - (sp-flt spt-conerot-x (degrees 110.0)) - (sp-flt spt-conerot-y (degrees 32.0)) - (sp-flt spt-conerot-radius (meters 0.4)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1844) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :num 0.02 - :group #x1 - :sound-name (static-sound-name "steam-short") - :volume #x400 +(set! (-> *part-group-id-table* 477) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-05" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1799 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) ) - ) - (sp-flt spt-scale-x (meters 0.4)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.53333336) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.93) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2) - (sp-flt spt-conerot-x (degrees 75.0)) - (sp-flt spt-conerot-y (degrees 120.0)) - (sp-flt spt-conerot-radius (meters 0.4)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1845) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :num 0.02 - :group #x1 - :sound-name (static-sound-name "steam-short") - :volume #x400 +(set! (-> *part-group-id-table* 478) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-06" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1801 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) ) - ) - (sp-flt spt-scale-x (meters 0.4)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.53333336) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.93) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2) - (sp-flt spt-conerot-x (degrees 80.0)) - (sp-flt spt-conerot-y (degrees 200.00002)) - (sp-flt spt-conerot-radius (meters 0.4)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-id-table* 1846) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :num 0.02 - :group #x1 - :sound-name (static-sound-name "steam-short") - :volume #x400 +(set! (-> *part-group-id-table* 479) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-07" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1802 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) ) - ) - (sp-flt spt-scale-x (meters 0.4)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.53333336) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.93) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2) - (sp-flt spt-conerot-x (degrees 67.0)) - (sp-flt spt-conerot-y (degrees 280.0)) - (sp-flt spt-conerot-radius (meters 0.4)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 494) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-bottom-puff-25" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 900 :length 126) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1260 :length 167) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 669 :length 150) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1920 :length 80) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1710 :length 103) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 495) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-bottom-puff-27" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1200 :length 126) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1080 :length 167) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1569 :length 150) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 990 :length 80) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1410 :length 103) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 496) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-bottom-puff-28" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1500 :length 126) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1470 :length 167) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1029 :length 150) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 720 :length 80) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1260 :length 103) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 497) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-bottom-puff-29" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1500 :length 126) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2010 :length 167) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 999 :length 150) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 720 :length 80) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1230 :length 103) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 498) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-bottom-puff-30" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1500 :length 126) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 960 :length 167) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1869 :length 150) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1050 :length 80) - (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1380 :length 103) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1847) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.5) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :num 0.02 - :group #x1 - :sound-name (static-sound-name "steam-short") - :volume #x400 +(set! (-> *part-group-id-table* 480) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-08" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1803 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) ) - ) - (sp-flt spt-y (meters 0.7)) - (sp-flt spt-scale-x (meters 0.4)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.053333335) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.53333336) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.8) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2) - (sp-flt spt-conerot-x (degrees 120.0)) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-conerot-radius (meters 1.0)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 499) - (new 'static 'sparticle-launch-group - :length 15 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-lava-lava-20x20" - :launcher - (new 'static 'inline-array sparticle-group-item 15 - (sp-item 1850 :fade-after (meters 40.0) :falloff-to (meters 40.0)) - (sp-item 1851 :fade-after (meters 100.0) :falloff-to (meters 100.0)) - (sp-item 1852 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1848) - (sp-item 1848 :flags (start-dead)) - (sp-item 1848 :flags (start-dead)) - (sp-item 1848 :flags (start-dead)) - (sp-item 1848 :flags (start-dead)) - (sp-item 1848 :flags (start-dead)) - (sp-item 1848 :flags (start-dead)) - (sp-item 1848 :flags (start-dead)) - (sp-item 1848 :flags (start-dead)) - (sp-item 1853 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 137 :length 5 :binding 1849) - (sp-item 1853 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 234 :length 5 :binding 1849) - (sp-item 1853 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 92 :length 5 :binding 1849) - (sp-item 1849 :flags (start-dead)) - ) - :bounds (new 'static 'sphere :w 57344.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1851) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 0.2) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-flt spt-g 192.0) - (sp-flt spt-b 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-y (meters 0.01)) - (sp-flt spt-scalevel-x (meters 0.0033333334)) - (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a 0.64) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2) - (sp-int-plain-rnd spt-next-time 37 36 1) - (sp-launcher-by-id spt-next-launcher 1855) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1853) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 17 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.5) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) - (sp-flt spt-fade-a -12.0) - (sp-int spt-timer 20) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1852) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 19 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 0.02 0.02 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.0)) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-flt spt-a 255.0) - (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) - (sp-flt spt-fade-g -0.30476192) - (sp-flt spt-accel-y -10.922667) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1850) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 18 - (sp-flt spt-num 1.0) - (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) - (sp-flt spt-y (meters 0.5)) - (sp-rnd-flt spt-z -40960.0 81920.0 1.0) - (sp-int spt-rot-x 5) - (sp-flt spt-r 8192.0) - (sp-flt spt-g 5324.8) - (sp-flt spt-b 5324.8) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) - (sp-flt spt-fade-r 40.96) - (sp-flt spt-fade-g 27.306667) - (sp-flt spt-fade-b 38.229332) - (sp-int spt-timer 150) - (sp-cpuinfo-flags aux-list) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 1856) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1856) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-b 16.384) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1855) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-a 0.0) - (sp-int spt-next-time 75) - (sp-launcher-by-id spt-next-launcher 1857) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1857) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 5 - (sp-flt spt-fade-r -0.85333335) - (sp-flt spt-fade-g -0.42666668) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1858) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1858) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 4 - (sp-flt spt-fade-r 0.0) - (sp-flt spt-fade-g 0.0) - (sp-flt spt-fade-a -0.10666667) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1848) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.7) - (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-flt spt-scalevel-x (meters -0.0029166667)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -1.3653333) - (sp-int-plain-rnd spt-timer 30 179 1) - (sp-cpuinfo-flags bit0 bit3) - (sp-flt spt-rotate-y (degrees 45.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1849) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 1.0 6.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 256.0) - (sp-rnd-flt spt-g 0.0 128.0 1.0) - (sp-rnd-flt spt-a 128.0 128.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.02) 1.0) - (sp-flt spt-scalevel-x (meters -0.0023333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -2.7306666) - (sp-int spt-timer 360) - (sp-cpuinfo-flags bit0 bit3) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 500) - (new 'static 'sparticle-launch-group - :length #xaf - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sagehut-warpgate" - :launcher - (new 'static 'inline-array sparticle-group-item 175 - (sp-item 1861 :fade-after (meters 60.0) :falloff-to (meters 60.0)) - (sp-item 1862 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1859) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1859 :flags (bit1 start-dead launch-asap)) - (sp-item 1863 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1860) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - (sp-item 1860 :flags (bit1 start-dead launch-asap)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1863) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 12 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-flt spt-num 0.25) - (sp-flt spt-x (meters -2.0)) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-flt spt-vel-x (meters 0.0033333334)) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -25.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1860) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 20 - (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) - (sp-rnd-flt spt-num 1.0 0.2 1.0) - (sp-flt spt-x (meters 3.1111112)) - (sp-flt spt-y (meters 4.0)) - (sp-rnd-flt spt-z 22118.4 4096.0 1.0) - (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 196.0 1.0) - (sp-flt spt-a 0.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters 0.0)) - (sp-flt spt-vel-z (meters 0.0)) - (sp-flt spt-fade-a 0.16) - (sp-flt spt-accel-x 1.2136296) - (sp-flt spt-accel-z -0.75093335) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1861) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 14 - (sp-rnd-flt spt-num 5.0 5.0 1.0) - (sp-flt spt-x (meters -0.5)) - (sp-int spt-rot-x 5) - (sp-flt spt-r 4096.0) - (sp-flt spt-g 3481.6) - (sp-flt spt-b 3481.6) - (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0) - (sp-flt spt-fade-b 5.936232) - (sp-int spt-timer 69) - (sp-cpuinfo-flags aux-list) - (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) - (sp-rnd-flt spt-conerot-radius (meters 4.0) (meters 3.0) 1.0) - (sp-flt spt-rotate-y (degrees -25.000002)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1862) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 10 - (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) - (sp-rnd-flt spt-num 0.4 1.0 1.0) - (sp-flt spt-scale-x (meters 0.25)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-g 128.0) - (sp-flt spt-a 0.0) - (sp-int spt-timer 690) - (sp-cpuinfo-flags bit3) - (sp-flt spt-rotate-y (degrees -35.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1859) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 21 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 0.4 1.0) - (sp-flt spt-x (meters 3.1111112)) - (sp-flt spt-y (meters 4.0)) - (sp-flt spt-z 9830.4) - (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-rnd-flt spt-r 0.0 32.0 1.0) - (sp-rnd-flt spt-g 0.0 32.0 1.0) - (sp-rnd-flt spt-b 64.0 64.0 1.0) - (sp-rnd-flt spt-a 8.0 32.0 1.0) - (sp-rnd-flt spt-omega 0.0 65536.0 1.0) - (sp-flt spt-vel-x (meters -0.0044444446)) - (sp-flt spt-vel-z (meters -0.0034999999)) - (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0) - (sp-flt spt-fade-a 0.10666667) - (sp-flt spt-accel-x 4.247704) - (sp-int spt-timer 690) - (sp-cpuinfo-flags bit2 bit3 bit7) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 501) - (new 'static 'sparticle-launch-group - :length 2 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sagehut-boiling" - :launcher - (new 'static 'inline-array sparticle-group-item 2 - (sp-item 1864 :fade-after (meters 60.0) :flags (is-3d)) - (sp-item 1865 :fade-after (meters 60.0) :flags (is-3d)) - ) - :bounds (new 'static 'sphere :w 24576.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1864) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 1.0 0.5 1.0) - (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) - (sp-flt spt-y (meters -2.0)) - (sp-flt spt-z -1228.8) - (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) - (sp-flt spt-rot-x 16384.0) - (sp-flt spt-rot-y (degrees -50.000004)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 64.0 64.0 1.0) - (sp-rnd-int spt-b 0 1 32.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-x (meters -0.0016666667) (meters 0.0033333334) 1.0) - (sp-flt spt-vel-y (meters 0.006666667)) - (sp-flt spt-scalevel-x (meters 0.0013333333)) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-accel-y -0.06826667) - (sp-int spt-timer 600) - (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) - (sp-int spt-next-time 150) - (sp-launcher-by-id spt-next-launcher 1866) - (sp-flt spt-rotate-y (degrees 132.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1866) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 2 - (sp-flt spt-fade-a -0.2) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1865) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 16 - (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) - (sp-flt spt-num 1.0) - (sp-flt spt-y (meters -0.5)) - (sp-flt spt-z -1064.96) - (sp-flt spt-scale-x (meters 12.0)) - (sp-flt spt-rot-x 15018.667) - (sp-flt spt-rot-y (degrees -50.000004)) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 128.0) - (sp-rnd-flt spt-g 8.0 120.0 1.0) - (sp-flt spt-a 24.0) - (sp-flt spt-fade-a -1.2) - (sp-int spt-timer 15) - (sp-cpuinfo-flags bit2 bit3) - (sp-flt spt-rotate-y (degrees 0.0)) - (sp-end) - ) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 502) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sagehut-steam" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 1867 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1200 :length 126) - (sp-item 1867 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1560 :length 107) - (sp-item 1867 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1830 :length 120) - (sp-item 1867 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 690 :length 110) - (sp-item 1867 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1050 :length 163) - ) - :bounds (new 'static 'sphere :w 16384.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1867) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 23 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-flt spt-num 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :num 0.02 - :group #x1 - :sound-name (static-sound-name "steam-short") - :volume #x400 +(set! (-> *part-group-id-table* 481) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-09" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1804 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) ) - ) - (sp-flt spt-scale-x (meters 0.3)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.53333336) - (sp-flt spt-accel-y 1.3653333) - (sp-flt spt-friction 0.85) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-conerot-x (degrees 77.0) (degrees 6.0000005) 1.0) - (sp-rnd-flt spt-conerot-y (degrees 217.0) (degrees 6.0000005) 1.0) - (sp-flt spt-conerot-radius (meters -0.3)) - (sp-end) - ) - ) - ) ;; failed to figure out what this is: -(set! - (-> *part-group-id-table* 503) - (new 'static 'sparticle-launch-group - :length 5 - :duration #xbb8 - :linger-duration #x5dc - :name "group-village3-sagehut-understeam" - :launcher - (new 'static 'inline-array sparticle-group-item 5 - (sp-item 1868 :fade-after (meters 200.0) :falloff-to (meters 200.0) :period 1200 :length 126) - (sp-item 1868 :fade-after (meters 200.0) :falloff-to (meters 200.0) :period 1560 :length 107) - (sp-item 1868 :fade-after (meters 200.0) :falloff-to (meters 200.0) :period 1830 :length 120) - (sp-item 1868 :fade-after (meters 200.0) :falloff-to (meters 200.0) :period 690 :length 110) - (sp-item 1868 :fade-after (meters 200.0) :falloff-to (meters 200.0) :period 1050 :length 163) - ) - :bounds - (new 'static 'sphere :y -12288.0 :w 32768.0) - ) - ) - -;; failed to figure out what this is: -(set! - (-> *part-id-table* 1868) - (new 'static 'sparticle-launcher - :init-specs - (new 'static 'inline-array sp-field-init-spec 24 - (sp-tex spt-texture (new 'static 'texture-id :page #x2)) - (sp-rnd-flt spt-num 4.0 4.0 1.0) - (new 'static 'sp-field-init-spec - :field (sp-field-id spt-sound) - :flags (sp-flag plain-v2) - :sound - (new 'static 'sound-spec - :num 0.02 - :group #x1 - :sound-name (static-sound-name "steam-short") - :volume #x400 +(set! (-> *part-group-id-table* 482) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-10" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1805 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 483) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-11" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1806 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 484) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-12" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1807 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 485) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-13" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1808 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 486) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-14" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1809 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 487) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sulphur-15" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1810 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + (sp-item 1800 :fade-after (meters 180.0) :falloff-to (meters 180.0)) + ) + :bounds (new 'static 'sphere :w 49152.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1810) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.21333334) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1811) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees 150.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1808) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1811) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees 70.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1809) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1811) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees 70.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1807) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1812) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees 15.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1812) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-vel-y (meters 0.00033333333)) + (sp-flt spt-fade-a -0.023703704) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-next-time 750) + (sp-launcher-by-id spt-next-launcher 1813) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1806) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1814) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees 90.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1814) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-vel-y (meters 0.00033333333)) + (sp-flt spt-fade-a -0.023703704) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-next-time 225) + (sp-launcher-by-id spt-next-launcher 1813) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1805) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1811) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees -10.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1804) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1815) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1815) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-vel-y (meters 0.00033333333)) + (sp-flt spt-fade-a -0.023703704) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1813) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1803) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1816) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees 40.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1816) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-vel-y (meters 0.00033333333)) + (sp-flt spt-fade-a -0.023703704) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1813) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1802) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1817) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees 40.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1817) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 6 + (sp-flt spt-vel-y (meters 0.00033333333)) + (sp-flt spt-fade-a -0.023703704) + (sp-flt spt-accel-y -0.027306668) + (sp-int spt-next-time 750) + (sp-launcher-by-id spt-next-launcher 1813) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1813) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-fade-a -0.047407407) + (sp-flt spt-accel-y 1.3653333) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1801) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1811) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees 40.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1799) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-rnd-flt spt-num 0.1 0.15 1.0) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 70.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.0033333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a 0.16) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1811) + (sp-flt spt-conerot-x (degrees 60.0)) + (sp-rnd-flt spt-conerot-y (degrees -20.0) (degrees 10.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1811) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-vel-y (meters 0.00033333333)) + (sp-flt spt-fade-a -0.017777778) + (sp-flt spt-accel-y -0.027306668) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1800) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :index #x19 :page #x2)) + (sp-flt spt-num 0.1) + (sp-rnd-flt spt-x (meters -1.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-z -4096.0 8192.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 100.0) + (sp-flt spt-g 100.0) + (sp-flt spt-b 50.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0016666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-b 0.021333333) + (sp-flt spt-fade-a 0.16) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 1500) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 90 59 1) + (sp-launcher-by-id spt-next-launcher 1811) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 488) + (new 'static 'sparticle-launch-group + :length 68 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-minor-fire" + :launcher + (new 'static 'inline-array sparticle-group-item 68 + (sp-item 2358 :fade-after (meters 50.0) :falloff-to (meters 80.0)) + (sp-item 2359 :fade-after (meters 40.0) :falloff-to (meters 40.0) :binding 2357) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2357 :flags (bit1 start-dead launch-asap)) + (sp-item 2360 :fade-after (meters 60.0) :falloff-to (meters 80.0)) + (sp-item 2361 :fade-after (meters 50.0) :falloff-to (meters 50.0)) + ) + :bounds + (new 'static 'sphere :y 10240.0 :w 10240.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2359) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-flt spt-num 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec + :mask #x1 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "fire-pop") + :volume #x400 + ) + ) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-y (meters 0.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 0.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.04) 1.0) + (sp-rnd-flt spt-accel-y -0.27306667 -0.13653333 1.0) + (sp-flt spt-friction 0.96) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit1 bit3) + (sp-rnd-flt spt-conerot-x (degrees -20.0) (degrees 40.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2357) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-y (meters 0.0) (meters 16.0) 1.0) + (sp-rnd-flt spt-z 1024.0 4096.0 1.0) + (sp-flt spt-scale-x (meters 0.1)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.026666667) (meters 0.053333335) 1.0) + (sp-flt spt-vel-y (meters 0.0)) + (sp-rnd-flt spt-vel-z (meters -0.00083333335) (meters 0.0016666667) 1.0) + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g -0.7111111) + (sp-flt spt-fade-b -0.7111111) + (sp-flt spt-fade-a -0.42666668) + (sp-int spt-timer 300) + (sp-cpuinfo-flags bit1 bit2 bit3 bit7) + (sp-int spt-next-time 180) + (sp-launcher-by-id spt-next-launcher 2362) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2362) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r -1.0666667) + (sp-flt spt-fade-g 1.0666667) + (sp-flt spt-fade-b 1.0666667) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2358) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 3.0 7.0 1.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) + (sp-flt spt-y (meters -0.75)) + (sp-rnd-flt spt-z -2048.0 4505.6 1.0) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 128.0 128.0 1.0) + (sp-rnd-flt spt-g 32.0 64.0 1.0) + (sp-flt spt-a 96.0) + (sp-rnd-flt spt-vel-y (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-flt spt-fade-a -0.73333335) + (sp-flt spt-accel-y -0.27306667) + (sp-int-plain-rnd spt-timer 60 59 1) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-int-flt spt-conerot-x (degrees -8.0) 4 728.1778) + (sp-rnd-flt spt-conerot-y (degrees -180.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 0.0) (meters 0.5) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2360) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.5) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.1) 1.0) + (sp-flt spt-y (meters -0.75)) + (sp-rnd-flt spt-z -2048.0 4505.6 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 196.0) + (sp-flt spt-g 128.0) + (sp-flt spt-b 128.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.01) (meters 0.01) 1.0) + (sp-flt spt-scalevel-x (meters 0.006666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.18962963) + (sp-flt spt-fade-g -0.094814815) + (sp-flt spt-fade-b -0.094814815) + (sp-flt spt-fade-a -0.047407407) + (sp-flt spt-accel-y -0.027306668) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 675) + (sp-cpuinfo-flags bit2) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2361) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 16 + (sp-flt spt-num 0.4) + (sp-flt spt-x (meters 0.2)) + (sp-flt spt-y (meters -0.75)) + (sp-int spt-rot-x 8) + (sp-flt spt-r 3276.8) + (sp-flt spt-g 2662.4) + (sp-flt spt-b 2867.2) + (sp-rnd-flt spt-vel-x (meters 0.0) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.013333334) 1.0) + (sp-flt spt-friction 0.99) + (sp-int spt-timer 300) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 2363) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 2363) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b -1.3653333) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 489) + (new 'static 'sparticle-launch-group + :length 46 + :duration #xbb8 + :linger-duration #x5dc + :name "group-spewing-volcano-36" + :launcher + (new 'static 'inline-array sparticle-group-item 46 + (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1200 :offset 300) + (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1320 :offset 360) + (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1440 :offset 420) + (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1560 :offset 480) + (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1980 :offset 540) + (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 810 :offset 1620) + (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 870 :offset 1590) + (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 930 :offset 1560) + (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 990 :offset 1530) + (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 1050 :offset 1500) + (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 120) + (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 450 :offset 120) + (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 120) + (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 630 :offset 120) + (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 120) + (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 64036) + (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 420 :offset 64066) + (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 64096) + (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 64126) + (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 64156) + (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 63916) + (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 63946) + (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 63976) + (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 660 :offset 64006) + (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 64036) + (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 63316) + (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 63376) + (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 63436) + (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 63496) + (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 840 :offset 63556) + (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 63616) + (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 63646) + (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 63676) + (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 660 :offset 63706) + (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 63736) + (sp-item 1830 :falloff-to (meters 300.0) :period 2400 :length 180) + (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 300 :offset 60) + (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 60) + (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 420 :offset 60) + (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 60) + (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 60) + (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 60) + (sp-item 1833 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 60) + (sp-item 1834 :falloff-to (meters 300.0)) + (sp-item 1835 :falloff-to (meters 300.0)) + (sp-item 1836 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2400 :length 600 :offset 60) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 57344.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 490) + (new 'static 'sparticle-launch-group + :length 46 + :duration #xbb8 + :linger-duration #x5dc + :name "group-spewing-volcano-37" + :launcher + (new 'static 'inline-array sparticle-group-item 46 + (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1200 :offset 1500) + (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1320 :offset 1560) + (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1440 :offset 1620) + (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1560 :offset 1680) + (sp-item 1823 :falloff-to (meters 300.0) :period 2400 :length 1980 :offset 1740) + (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 810 :offset 2820) + (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 870 :offset 2790) + (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 930 :offset 2760) + (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 990 :offset 2730) + (sp-item 1824 :falloff-to (meters 300.0) :period 2400 :length 1050 :offset 2700) + (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 1320) + (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 450 :offset 1320) + (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 1320) + (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 630 :offset 1320) + (sp-item 1825 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 1320) + (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 65236) + (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 420 :offset 65266) + (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 65296) + (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 65326) + (sp-item 1826 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 65356) + (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 65116) + (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 65146) + (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 65176) + (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 660 :offset 65206) + (sp-item 1827 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 65236) + (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 64516) + (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 64576) + (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 64636) + (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 64696) + (sp-item 1828 :falloff-to (meters 300.0) :period 2400 :length 840 :offset 64756) + (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 64816) + (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 64846) + (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 64876) + (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 660 :offset 64906) + (sp-item 1829 :falloff-to (meters 300.0) :period 2400 :length 720 :offset 64936) + (sp-item 1830 :falloff-to (meters 300.0) :period 2400 :length 180 :offset 1200) + (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 300 :offset 1260) + (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 360 :offset 1260) + (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 420 :offset 1260) + (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 480 :offset 1260) + (sp-item 1831 :falloff-to (meters 300.0) :period 2400 :length 540 :offset 1260) + (sp-item 1832 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 1260) + (sp-item 1833 :falloff-to (meters 300.0) :period 2400 :length 600 :offset 1260) + (sp-item 1834 :falloff-to (meters 300.0) :offset 1200) + (sp-item 1835 :falloff-to (meters 300.0) :offset 1200) + (sp-item 1836 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2400 :length 600 :offset 1260) + ) + :bounds + (new 'static 'sphere :y 12288.0 :w 57344.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1836) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 15 + (sp-flt spt-num 0.2) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 6144.0) + (sp-flt spt-b 6144.0) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.013333334) 1.0) + (sp-flt spt-accel-y -6.826667) + (sp-int spt-timer 1260) + (sp-cpuinfo-flags aux-list) + (sp-int-plain-rnd spt-next-time 15 629 1) + (sp-launcher-by-id spt-next-launcher 1837) + (sp-flt spt-conerot-x (degrees 0.0)) + (sp-rnd-flt spt-conerot-y (degrees 9.0) (degrees 18.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1837) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 10 + (sp-flt spt-fade-r 40.96) + (sp-flt spt-fade-g 34.133335) + (sp-flt spt-fade-b 30.72) + (sp-flt spt-accel-x 0.0) + (sp-flt spt-accel-y 6.826667) + (sp-flt spt-accel-z 0.0) + (sp-flt spt-friction 0.9) + (sp-int spt-next-time 300) + (sp-launcher-by-id spt-next-launcher 1838) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1838) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 3 (sp-flt spt-fade-g 27.306667) (sp-int spt-timer 300) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1833) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.6) + (sp-rnd-flt spt-scale-x (meters 4.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-flt spt-a 16.0) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -6.826667) + (sp-int spt-timer 1260) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 15 629 1) + (sp-launcher-by-id spt-next-launcher 1839) + (sp-flt spt-conerot-x (degrees 0.0)) + (sp-rnd-flt spt-conerot-y (degrees 9.0) (degrees 18.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1839) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 14 + (sp-rnd-flt spt-a 16.0 8.0 1.0) + (sp-flt spt-scalevel-x (meters 0.013333334)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.42666668) + (sp-flt spt-fade-g 0.64) + (sp-flt spt-fade-b 0.85) + (sp-flt spt-fade-a -0.04) + (sp-flt spt-accel-x 4.096) + (sp-flt spt-accel-y 0.0) + (sp-flt spt-accel-z 0.0) + (sp-flt spt-friction 0.9) + (sp-int-plain-rnd spt-next-time 240 59 1) + (sp-launcher-by-id spt-next-launcher 1840) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1840) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-b 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1834) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 2.0) + (sp-rnd-flt spt-x (meters 3.5) (meters 0.75) 1.0) + (sp-flt spt-y (meters -7.0)) + (sp-rnd-flt spt-z -6144.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.04444444)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -2.8444443) + (sp-flt spt-accel-x 0.13653333) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-timer 42) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-int-flt spt-rotate-y (degrees 30.0) 3 16384.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1835) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.8) + (sp-rnd-flt spt-x (meters 3.5) (meters 0.75) 1.0) + (sp-flt spt-y (meters -6.5)) + (sp-rnd-flt spt-z -6144.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0016666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.026666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.21333334) + (sp-flt spt-fade-g 0.31833333) + (sp-flt spt-fade-b 0.425) + (sp-flt spt-fade-a -0.053333335) + (sp-flt spt-accel-x 0.13653333) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-int-flt spt-rotate-y (degrees 30.0) 3 16384.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1829) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters 7.0) (meters 3.0) 1.0) + (sp-flt spt-y (meters -7.0)) + (sp-rnd-flt spt-z -6144.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 3.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.10666667) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.06666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -2.8444443) + (sp-flt spt-accel-x 0.13653333) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-timer 42) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 36.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1828) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.09) + (sp-rnd-flt spt-x (meters 7.0) (meters 3.0) 1.0) + (sp-flt spt-y (meters -6.5)) + (sp-rnd-flt spt-z -6144.0 12288.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0016666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.026666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.21166667) + (sp-flt spt-fade-g 0.31833333) + (sp-flt spt-fade-b 0.425) + (sp-flt spt-fade-a -0.053333335) + (sp-flt spt-accel-x 0.13653333) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 36.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1827) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 22 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-x (meters 5.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters -7.0)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 1.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.04444444)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -2.8444443) + (sp-flt spt-accel-x 0.13653333) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-timer 42) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1826) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters 5.0) (meters 2.0) 1.0) + (sp-flt spt-y (meters -6.5)) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.0033333334) (meters 0.0016666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.026666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.21333334) + (sp-flt spt-fade-g 0.31833333) + (sp-flt spt-fade-b 0.425) + (sp-flt spt-fade-a -0.053333335) + (sp-flt spt-accel-x 0.13653333) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1824) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.09) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0) + (sp-flt spt-scalevel-x (meters 0.026666667)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 0.21333334) + (sp-flt spt-fade-g 0.31833333) + (sp-flt spt-fade-b 0.425) + (sp-flt spt-fade-a -0.053333335) + (sp-flt spt-accel-x 1.3653333) + (sp-flt spt-accel-y -0.27306667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 15.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1823) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.3) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 2.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 16.0 16.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0) + (sp-flt spt-scalevel-x (meters 0.13333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r 1.0666667) + (sp-flt spt-fade-g 1.5916667) + (sp-flt spt-fade-b 2.125) + (sp-flt spt-fade-a -0.26666668) + (sp-int spt-timer 120) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 15.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1825) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 28 + (sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + (sp-flt spt-num 0.7) + (sp-rnd-flt spt-x (meters -0.25) (meters 0.5) 1.0) + (sp-rnd-flt spt-z -1024.0 2048.0 1.0) + (sp-rnd-flt spt-scale-x (meters 1.5) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 64.0 64.0 1.0) + (sp-flt spt-vel-x (meters 0.026666667)) + (sp-rnd-flt spt-vel-y (meters 0.02) (meters 0.04) 1.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.53333336) + (sp-flt spt-fade-g -0.21333334) + (sp-flt spt-accel-y -6.826667) + (sp-flt spt-friction 0.98) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit0 bit2) + (sp-int-plain-rnd spt-next-time 180 119 1) + (sp-launcher-by-id spt-next-launcher 1841) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 32.0) 1.0) + (sp-rnd-int-flt spt-conerot-y (degrees 45.0) 3 16384.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1832) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 25 + (sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-int spt-rot-x 4) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 96.0 55.0 1.0) + (sp-flt spt-g 64.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.21333334) + (sp-flt spt-fade-g -0.21333334) + (sp-flt spt-accel-y -6.826667) + (sp-int spt-timer 660) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 180 119 1) + (sp-launcher-by-id spt-next-launcher 1841) + (sp-flt spt-conerot-x (degrees 0.0)) + (sp-rnd-flt spt-conerot-y (degrees 9.0) (degrees 18.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1831) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + (sp-flt spt-num 0.4) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.53333336) + (sp-flt spt-fade-g -0.21333334) + (sp-flt spt-accel-y -6.826667) + (sp-int spt-timer 660) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 180 119 1) + (sp-launcher-by-id spt-next-launcher 1841) + (sp-flt spt-conerot-x (degrees 0.0)) + (sp-rnd-flt spt-conerot-y (degrees 9.0) (degrees 18.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1841) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 3 + (sp-flt spt-fade-r -0.08888889) + (sp-flt spt-fade-g 0.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1830) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 26 + (sp-tex spt-texture (new 'static 'texture-id :index #xb :page #x2)) + (sp-flt spt-num 6.0) + (sp-rnd-flt spt-x (meters -0.5) (meters 1.0) 1.0) + (sp-rnd-flt spt-z -2048.0 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.0) (meters 0.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 200.0 55.0 1.0) + (sp-rnd-flt spt-g 64.0 32.0 1.0) + (sp-flt spt-b 0.0) + (sp-rnd-flt spt-a 96.0 32.0 1.0) + (sp-flt spt-vel-x (meters 0.013333334)) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.013333334) 1.0) + (sp-flt spt-scalevel-x (meters -0.0025)) + (sp-rnd-flt spt-rotvel-z (degrees -0.6) (degrees 1.2) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-r -0.53333336) + (sp-flt spt-fade-g -0.21333334) + (sp-flt spt-accel-y -6.826667) + (sp-int spt-timer 660) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 180 119 1) + (sp-launcher-by-id spt-next-launcher 1841) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3.0000002) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 36.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 491) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-steam-puff-31" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 1842 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 900 :length 126) + (sp-item 1843 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1260 :length 167) + (sp-item 1844 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 690 :length 150) + (sp-item 1845 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1920 :length 80) + (sp-item 1846 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1710 :length 103) + ) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 492) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-steam-puff-22" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 1842 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1230 :length 156) + (sp-item 1843 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2310 :length 107) + (sp-item 1844 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 960 :length 120) + (sp-item 1845 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1350 :length 170) + (sp-item 1846 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1530 :length 193) + ) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 493) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-steam-puff-23" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 1842 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1200 :length 126) + (sp-item 1843 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1560 :length 107) + (sp-item 1844 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1830 :length 120) + (sp-item 1845 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 690 :length 110) + (sp-item 1846 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1050 :length 163) + ) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1842) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :num 0.02 :group #x1 :sound-name (static-sound-name "steam-short") :volume #x400) + ) + (sp-flt spt-scale-x (meters 0.4)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.53333336) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.93) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2) + (sp-flt spt-conerot-x (degrees 90.0)) + (sp-flt spt-conerot-y (degrees 0.0)) + (sp-flt spt-conerot-radius (meters 0.4)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1843) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :num 0.02 :group #x1 :sound-name (static-sound-name "steam-short") :volume #x400) + ) + (sp-flt spt-scale-x (meters 0.4)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.53333336) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.93) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2) + (sp-flt spt-conerot-x (degrees 110.0)) + (sp-flt spt-conerot-y (degrees 32.0)) + (sp-flt spt-conerot-radius (meters 0.4)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1844) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :num 0.02 :group #x1 :sound-name (static-sound-name "steam-short") :volume #x400) + ) + (sp-flt spt-scale-x (meters 0.4)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.53333336) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.93) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2) + (sp-flt spt-conerot-x (degrees 75.0)) + (sp-flt spt-conerot-y (degrees 120.0)) + (sp-flt spt-conerot-radius (meters 0.4)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1845) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :num 0.02 :group #x1 :sound-name (static-sound-name "steam-short") :volume #x400) + ) + (sp-flt spt-scale-x (meters 0.4)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.53333336) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.93) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2) + (sp-flt spt-conerot-x (degrees 80.0)) + (sp-flt spt-conerot-y (degrees 200.00002)) + (sp-flt spt-conerot-radius (meters 0.4)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1846) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :num 0.02 :group #x1 :sound-name (static-sound-name "steam-short") :volume #x400) + ) + (sp-flt spt-scale-x (meters 0.4)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.53333336) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.93) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2) + (sp-flt spt-conerot-x (degrees 67.0)) + (sp-flt spt-conerot-y (degrees 280.0)) + (sp-flt spt-conerot-radius (meters 0.4)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 494) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-bottom-puff-25" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 900 :length 126) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1260 :length 167) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 669 :length 150) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1920 :length 80) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1710 :length 103) + ) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 495) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-bottom-puff-27" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1200 :length 126) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1080 :length 167) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1569 :length 150) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 990 :length 80) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1410 :length 103) + ) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 496) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-bottom-puff-28" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1500 :length 126) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1470 :length 167) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1029 :length 150) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 720 :length 80) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1260 :length 103) + ) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 497) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-bottom-puff-29" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1500 :length 126) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 2010 :length 167) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 999 :length 150) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 720 :length 80) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1230 :length 103) + ) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 498) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-bottom-puff-30" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1500 :length 126) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 960 :length 167) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1869 :length 150) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1050 :length 80) + (sp-item 1847 :fade-after (meters 100.0) :falloff-to (meters 100.0) :period 1380 :length 103) + ) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1847) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.5) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :num 0.02 :group #x1 :sound-name (static-sound-name "steam-short") :volume #x400) + ) + (sp-flt spt-y (meters 0.7)) + (sp-flt spt-scale-x (meters 0.4)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.08) (meters 0.053333335) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.53333336) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.8) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2) + (sp-flt spt-conerot-x (degrees 120.0)) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-conerot-radius (meters 1.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 499) + (new 'static 'sparticle-launch-group + :length 15 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-lava-lava-20x20" + :launcher + (new 'static 'inline-array sparticle-group-item 15 + (sp-item 1850 :fade-after (meters 40.0) :falloff-to (meters 40.0)) + (sp-item 1851 :fade-after (meters 100.0) :falloff-to (meters 100.0)) + (sp-item 1852 :fade-after (meters 80.0) :falloff-to (meters 80.0) :binding 1848) + (sp-item 1848 :flags (start-dead)) + (sp-item 1848 :flags (start-dead)) + (sp-item 1848 :flags (start-dead)) + (sp-item 1848 :flags (start-dead)) + (sp-item 1848 :flags (start-dead)) + (sp-item 1848 :flags (start-dead)) + (sp-item 1848 :flags (start-dead)) + (sp-item 1848 :flags (start-dead)) + (sp-item 1853 :fade-after (meters 40.0) :falloff-to (meters 40.0) :period 137 :length 5 :binding 1849) + (sp-item 1853 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 234 :length 5 :binding 1849) + (sp-item 1853 :fade-after (meters 80.0) :falloff-to (meters 80.0) :period 92 :length 5 :binding 1849) + (sp-item 1849 :flags (start-dead)) + ) + :bounds (new 'static 'sphere :w 57344.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1851) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 0.2) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 6.0) (meters 4.0) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-flt spt-g 192.0) + (sp-flt spt-b 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-y (meters 0.01)) + (sp-flt spt-scalevel-x (meters 0.0033333334)) + (sp-rnd-flt spt-rotvel-z (degrees -0.2) (degrees 0.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a 0.64) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2) + (sp-int-plain-rnd spt-next-time 37 36 1) + (sp-launcher-by-id spt-next-launcher 1855) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1853) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 17 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.5) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 2.5) (meters 1.5) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-rotvel-z (degrees -0.8) (degrees 6.8) 1.0) + (sp-flt spt-fade-a -12.0) + (sp-int spt-timer 20) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1852) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 19 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 0.02 0.02 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.0)) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-flt spt-a 255.0) + (sp-rnd-flt spt-vel-y (meters 0.04) (meters 0.02) 1.0) + (sp-flt spt-fade-g -0.30476192) + (sp-flt spt-accel-y -10.922667) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 30.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1850) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 18 + (sp-flt spt-num 1.0) + (sp-rnd-flt spt-x (meters -10.0) (meters 20.0) 1.0) + (sp-flt spt-y (meters 0.5)) + (sp-rnd-flt spt-z -40960.0 81920.0 1.0) + (sp-int spt-rot-x 5) + (sp-flt spt-r 8192.0) + (sp-flt spt-g 5324.8) + (sp-flt spt-b 5324.8) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.006666667) 1.0) + (sp-flt spt-fade-r 40.96) + (sp-flt spt-fade-g 27.306667) + (sp-flt spt-fade-b 38.229332) + (sp-int spt-timer 150) + (sp-cpuinfo-flags aux-list) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 1856) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1856) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-b 16.384) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1855) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-a 0.0) + (sp-int spt-next-time 75) + (sp-launcher-by-id spt-next-launcher 1857) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1857) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 5 + (sp-flt spt-fade-r -0.85333335) + (sp-flt spt-fade-g -0.42666668) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1858) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1858) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 4 + (sp-flt spt-fade-r 0.0) + (sp-flt spt-fade-g 0.0) + (sp-flt spt-fade-a -0.10666667) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1848) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.7) + (sp-rnd-flt spt-scale-x (meters 0.75) (meters 0.25) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-flt spt-scalevel-x (meters -0.0029166667)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -1.3653333) + (sp-int-plain-rnd spt-timer 30 179 1) + (sp-cpuinfo-flags bit0 bit3) + (sp-flt spt-rotate-y (degrees 45.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1849) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 1.0 6.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.5) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 256.0) + (sp-rnd-flt spt-g 0.0 128.0 1.0) + (sp-rnd-flt spt-a 128.0 128.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.02) 1.0) + (sp-flt spt-scalevel-x (meters -0.0023333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -2.7306666) + (sp-int spt-timer 360) + (sp-cpuinfo-flags bit0 bit3) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 60.0) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 500) + (new 'static 'sparticle-launch-group + :length #xaf + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sagehut-warpgate" + :launcher + (new 'static 'inline-array sparticle-group-item 175 + (sp-item 1861 :fade-after (meters 60.0) :falloff-to (meters 60.0)) + (sp-item 1862 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1859) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1859 :flags (bit1 start-dead launch-asap)) + (sp-item 1863 :fade-after (meters 60.0) :falloff-to (meters 100.0) :binding 1860) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + (sp-item 1860 :flags (bit1 start-dead launch-asap)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1863) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 12 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-flt spt-num 0.25) + (sp-flt spt-x (meters -2.0)) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-flt spt-vel-x (meters 0.0033333334)) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -25.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1860) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 20 + (sp-tex spt-texture (new 'static 'texture-id :index #x4 :page #x2)) + (sp-rnd-flt spt-num 1.0 0.2 1.0) + (sp-flt spt-x (meters 3.1111112)) + (sp-flt spt-y (meters 4.0)) + (sp-rnd-flt spt-z 22118.4 4096.0 1.0) + (sp-rnd-flt spt-scale-x (meters 0.2) (meters 0.1) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 196.0 1.0) + (sp-flt spt-a 0.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters 0.0)) + (sp-flt spt-vel-z (meters 0.0)) + (sp-flt spt-fade-a 0.16) + (sp-flt spt-accel-x 1.2136296) + (sp-flt spt-accel-z -0.75093335) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1861) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 14 + (sp-rnd-flt spt-num 5.0 5.0 1.0) + (sp-flt spt-x (meters -0.5)) + (sp-int spt-rot-x 5) + (sp-flt spt-r 4096.0) + (sp-flt spt-g 3481.6) + (sp-flt spt-b 3481.6) + (sp-rnd-flt spt-vel-y (meters -0.026666667) (meters -0.02) 1.0) + (sp-flt spt-fade-b 5.936232) + (sp-int spt-timer 69) + (sp-cpuinfo-flags aux-list) + (sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 360.0) 1.0) + (sp-rnd-flt spt-conerot-radius (meters 4.0) (meters 3.0) 1.0) + (sp-flt spt-rotate-y (degrees -25.000002)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1862) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 10 + (sp-tex spt-texture (new 'static 'texture-id :index #xf :page #x2)) + (sp-rnd-flt spt-num 0.4 1.0 1.0) + (sp-flt spt-scale-x (meters 0.25)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-g 128.0) + (sp-flt spt-a 0.0) + (sp-int spt-timer 690) + (sp-cpuinfo-flags bit3) + (sp-flt spt-rotate-y (degrees -35.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1859) + (new 'static 'sparticle-launcher :init-specs (new 'static 'inline-array sp-field-init-spec 21 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 0.4 1.0) + (sp-flt spt-x (meters 3.1111112)) + (sp-flt spt-y (meters 4.0)) + (sp-flt spt-z 9830.4) + (sp-rnd-flt spt-scale-x (meters 1.1) (meters 0.6) 1.0) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-rnd-flt spt-r 0.0 32.0 1.0) + (sp-rnd-flt spt-g 0.0 32.0 1.0) + (sp-rnd-flt spt-b 64.0 64.0 1.0) + (sp-rnd-flt spt-a 8.0 32.0 1.0) + (sp-rnd-flt spt-omega 0.0 65536.0 1.0) + (sp-flt spt-vel-x (meters -0.0044444446)) + (sp-flt spt-vel-z (meters -0.0034999999)) + (sp-rnd-flt spt-rotvel-z (degrees 0.0) (degrees 1.2) 1.0) + (sp-flt spt-fade-a 0.10666667) + (sp-flt spt-accel-x 4.247704) + (sp-int spt-timer 690) + (sp-cpuinfo-flags bit2 bit3 bit7) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 501) (new 'static 'sparticle-launch-group + :length 2 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sagehut-boiling" + :launcher + (new 'static 'inline-array sparticle-group-item 2 + (sp-item 1864 :fade-after (meters 60.0) :flags (is-3d)) + (sp-item 1865 :fade-after (meters 60.0) :flags (is-3d)) + ) + :bounds (new 'static 'sphere :w 24576.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1864) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 1.0 0.5 1.0) + (sp-rnd-flt spt-x (meters -0.4) (meters 0.8) 1.0) + (sp-flt spt-y (meters -2.0)) + (sp-flt spt-z -1228.8) + (sp-rnd-flt spt-scale-x (meters 0.5) (meters 0.2) 1.0) + (sp-flt spt-rot-x 16384.0) + (sp-flt spt-rot-y (degrees -50.000004)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 64.0 64.0 1.0) + (sp-rnd-int spt-b 0 1 32.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-x (meters -0.0016666667) (meters 0.0033333334) 1.0) + (sp-flt spt-vel-y (meters 0.006666667)) + (sp-flt spt-scalevel-x (meters 0.0013333333)) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-accel-y -0.06826667) + (sp-int spt-timer 600) + (sp-cpuinfo-flags bit2 bit3 left-multiply-quat) + (sp-int spt-next-time 150) + (sp-launcher-by-id spt-next-launcher 1866) + (sp-flt spt-rotate-y (degrees 132.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1866) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 2 (sp-flt spt-fade-a -0.2) (sp-end)) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1865) (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 16 + (sp-tex spt-texture (new 'static 'texture-id :index #x12 :page #x2)) + (sp-flt spt-num 1.0) + (sp-flt spt-y (meters -0.5)) + (sp-flt spt-z -1064.96) + (sp-flt spt-scale-x (meters 12.0)) + (sp-flt spt-rot-x 15018.667) + (sp-flt spt-rot-y (degrees -50.000004)) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 128.0) + (sp-rnd-flt spt-g 8.0 120.0 1.0) + (sp-flt spt-a 24.0) + (sp-flt spt-fade-a -1.2) + (sp-int spt-timer 15) + (sp-cpuinfo-flags bit2 bit3) + (sp-flt spt-rotate-y (degrees 0.0)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 502) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sagehut-steam" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 1867 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1200 :length 126) + (sp-item 1867 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1560 :length 107) + (sp-item 1867 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1830 :length 120) + (sp-item 1867 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 690 :length 110) + (sp-item 1867 :fade-after (meters 60.0) :falloff-to (meters 60.0) :period 1050 :length 163) + ) + :bounds (new 'static 'sphere :w 16384.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1867) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 23 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-flt spt-num 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :num 0.02 :group #x1 :sound-name (static-sound-name "steam-short") :volume #x400) + ) + (sp-flt spt-scale-x (meters 0.3)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-rnd-flt spt-vel-y (meters 0.1) (meters 0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.013333334) (meters 0.006666667) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.53333336) + (sp-flt spt-accel-y 1.3653333) + (sp-flt spt-friction 0.85) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-conerot-x (degrees 77.0) (degrees 6.0000005) 1.0) + (sp-rnd-flt spt-conerot-y (degrees 217.0) (degrees 6.0000005) 1.0) + (sp-flt spt-conerot-radius (meters -0.3)) + (sp-end) + ) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-group-id-table* 503) + (new 'static 'sparticle-launch-group + :length 5 + :duration #xbb8 + :linger-duration #x5dc + :name "group-village3-sagehut-understeam" + :launcher + (new 'static 'inline-array sparticle-group-item 5 + (sp-item 1868 :fade-after (meters 200.0) :falloff-to (meters 200.0) :period 1200 :length 126) + (sp-item 1868 :fade-after (meters 200.0) :falloff-to (meters 200.0) :period 1560 :length 107) + (sp-item 1868 :fade-after (meters 200.0) :falloff-to (meters 200.0) :period 1830 :length 120) + (sp-item 1868 :fade-after (meters 200.0) :falloff-to (meters 200.0) :period 690 :length 110) + (sp-item 1868 :fade-after (meters 200.0) :falloff-to (meters 200.0) :period 1050 :length 163) + ) + :bounds + (new 'static 'sphere :y -12288.0 :w 32768.0) + ) + ) + +;; failed to figure out what this is: +(set! (-> *part-id-table* 1868) + (new 'static 'sparticle-launcher + :init-specs + (new 'static 'inline-array sp-field-init-spec 24 + (sp-tex spt-texture (new 'static 'texture-id :page #x2)) + (sp-rnd-flt spt-num 4.0 4.0 1.0) + (new 'static 'sp-field-init-spec + :field (sp-field-id spt-sound) + :flags (sp-flag plain-v2) + :sound + (new 'static 'sound-spec :num 0.02 :group #x1 :sound-name (static-sound-name "steam-short") :volume #x400) + ) + (sp-flt spt-x (meters 1.5)) + (sp-flt spt-y (meters 0.6)) + (sp-flt spt-scale-x (meters 1.0)) + (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) + (sp-copy-from-other spt-scale-y -4) + (sp-flt spt-r 255.0) + (sp-flt spt-g 255.0) + (sp-flt spt-b 255.0) + (sp-rnd-flt spt-a 32.0 64.0 1.0) + (sp-flt spt-vel-x (meters 0.13333334)) + (sp-rnd-flt spt-vel-y (meters -0.1) (meters -0.026666667) 1.0) + (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) + (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) + (sp-copy-from-other spt-scalevel-y -4) + (sp-flt spt-fade-a -0.53333336) + (sp-flt spt-accel-y 13.653334) + (sp-flt spt-friction 0.9) + (sp-int spt-timer 180) + (sp-cpuinfo-flags bit2) + (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) + (sp-end) + ) + ) ) - ) - (sp-flt spt-x (meters 1.5)) - (sp-flt spt-y (meters 0.6)) - (sp-flt spt-scale-x (meters 1.0)) - (sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 360.0) 1.0) - (sp-copy-from-other spt-scale-y -4) - (sp-flt spt-r 255.0) - (sp-flt spt-g 255.0) - (sp-flt spt-b 255.0) - (sp-rnd-flt spt-a 32.0 64.0 1.0) - (sp-flt spt-vel-x (meters 0.13333334)) - (sp-rnd-flt spt-vel-y (meters -0.1) (meters -0.026666667) 1.0) - (sp-rnd-flt spt-scalevel-x (meters 0.02) (meters 0.013333334) 1.0) - (sp-rnd-flt spt-rotvel-z (degrees -1.2) (degrees 2.4) 1.0) - (sp-copy-from-other spt-scalevel-y -4) - (sp-flt spt-fade-a -0.53333336) - (sp-flt spt-accel-y 13.653334) - (sp-flt spt-friction 0.9) - (sp-int spt-timer 180) - (sp-cpuinfo-flags bit2) - (sp-rnd-flt spt-rotate-y (degrees 0.0) (degrees 360.0) 1.0) - (sp-end) - ) - ) - ) diff --git a/test/decompiler/reference/levels/village_common/oracle_REF.gc b/test/decompiler/reference/levels/village_common/oracle_REF.gc index 8eeccd9d5c..ea76a6e412 100644 --- a/test/decompiler/reference/levels/village_common/oracle_REF.gc +++ b/test/decompiler/reference/levels/village_common/oracle_REF.gc @@ -17,8 +17,8 @@ ;; definition for method 3 of type oracle (defmethod inspect oracle ((obj oracle)) (let ((t9-0 (method-of-type process-taskable inspect))) - (t9-0 obj) - ) + (t9-0 obj) + ) (format #t "~T~Tfirst-task: ~D~%" (-> obj first-task)) (format #t "~T~Tsecond-task: ~D~%" (-> obj second-task)) (format #t "~T~Tleft-eye-cell: ~D~%" (-> obj left-eye-cell)) @@ -38,501 +38,195 @@ ;; definition for method 32 of type oracle (defmethod play-anim! oracle ((obj oracle) (arg0 symbol)) (set! (-> obj talk-message) (the-as uint 260)) - (case (current-status (-> obj tasks)) - (((task-status need-hint) (task-status need-introduction)) + (case (current-status (-> obj tasks)) + (((task-status need-hint) (task-status need-introduction)) (when arg0 - (close-specific-task! - (the-as game-task (-> obj first-task)) - (task-status need-introduction) + (close-specific-task! (the-as game-task (-> obj first-task)) (task-status need-introduction)) + (close-specific-task! (the-as game-task (-> obj second-task)) (task-status need-introduction)) ) - (close-specific-task! - (the-as game-task (-> obj second-task)) - (task-status need-introduction) - ) - ) - (case (-> (level-get-target-inside *level*) name) - (('village1) + (case (-> (level-get-target-inside *level*) name) + (('village1) + (new 'static 'spool-anim :name "oracle-intro-1" :index 9 :parts 5 :command-list '()) + ) + (('village2) (new 'static 'spool-anim - :name "oracle-intro-1" - :index 9 - :parts 5 - :command-list '() - ) - ) - (('village2) - (new 'static 'spool-anim - :name "oracle-intro-2" - :index 11 - :parts 4 - :command-list - '( - (0 - kill - "pontoonten-20" + :name "oracle-intro-2" + :index 11 + :parts 4 + :command-list + '((0 kill "pontoonten-20") + (0 kill "pontoonten-19") + (0 kill "pontoonten-18") + (0 kill "pontoonten-15") + (0 kill "pontoonten-14") + (0 kill "pontoonfive-14") + (0 kill "pontoonfive-15") + (0 kill "pontoonfive-19") + (0 kill "pontoonfive-20") + (0 kill "med-res-level-12") + (0 kill "med-res-level-13") + (0 kill "med-res-level-15") + (0 kill "money-2844") + (0 kill "money-2845") + (0 kill "money-2846") + (0 kill "money-2847") + (0 kill "money-2848") + (0 kill "money-2849") + (0 kill "money-2850") + (0 kill "money-2854") + (0 kill "money-2855") + (0 kill "money-2856") + (0 kill "money-2860") + (0 kill "money-2861") + (0 kill "money-2862") + (0 kill "eco-27") + (0 kill "eco-26") + (0 kill "sharkey-25") + (0 kill "barrel-13") + (0 kill "barrel-14") + (0 kill "barrel-15") + (0 kill "barrel-16") + (0 kill "barrel-17") + (0 kill "barrel-18") + (0 kill "barrel-19") + (0 kill "barrel-20") + (0 kill "barrel-21") + (0 kill "barrel-22") + (0 kill "barrel-23") + (0 kill "villageb-part-18") + (0 kill "villageb-part-19") + (0 kill "villageb-part-20") + (0 kill "villageb-part-21") + (0 kill "villageb-part-28") + (0 kill "villageb-part-29") + (0 kill "villageb-part-30") + (0 kill "villageb-part-31") + (0 kill "villageb-part-32") + (0 kill "villageb-part-33") + (0 kill "villageb-part-35") + (0 kill "villageb-part-37") + (0 kill "villageb-part-38") + (0 kill "villageb-part-47") + (0 kill "villageb-part-48") + (0 kill "villageb-part-49") + (0 kill "villageb-part-50") + (0 kill "villageb-part-56") + (0 kill "villageb-part-62") + (0 kill "villageb-part-63") + (0 kill "villageb-ogreboss-1") + (0 kill "crate-3127") + (0 kill "crate-3128") + (0 kill "crate-3129") + (0 kill "crate-3133") + (0 kill "geologist-1") + (0 kill "fireboulder-2") + (0 kill "fireboulder-3") + (0 kill "fireboulder-4") + (0 kill "water-vol-100") + (0 kill "water-vol-101") + (0 kill "water-vol-102") + (0 kill "water-vol-103") + (0 kill "water-vol-284") + (0 kill "water-vol-285") + (0 kill "water-vol-286") + (0 kill "ceilingflag-6") + (0 kill "ceilingflag-7") + (0 kill "ceilingflag-8") + (0 kill "ceilingflag-9") + (0 kill "orb-cache-top-14") + (0 setting-reset ocean-off near) + ((the binteger 399) setting-unset ocean-off) ) - (0 - kill - "pontoonten-19" - ) - (0 - kill - "pontoonten-18" - ) - (0 - kill - "pontoonten-15" - ) - (0 - kill - "pontoonten-14" - ) - (0 - kill - "pontoonfive-14" - ) - (0 - kill - "pontoonfive-15" - ) - (0 - kill - "pontoonfive-19" - ) - (0 - kill - "pontoonfive-20" - ) - (0 - kill - "med-res-level-12" - ) - (0 - kill - "med-res-level-13" - ) - (0 - kill - "med-res-level-15" - ) - (0 - kill - "money-2844" - ) - (0 - kill - "money-2845" - ) - (0 - kill - "money-2846" - ) - (0 - kill - "money-2847" - ) - (0 - kill - "money-2848" - ) - (0 - kill - "money-2849" - ) - (0 - kill - "money-2850" - ) - (0 - kill - "money-2854" - ) - (0 - kill - "money-2855" - ) - (0 - kill - "money-2856" - ) - (0 - kill - "money-2860" - ) - (0 - kill - "money-2861" - ) - (0 - kill - "money-2862" - ) - (0 - kill - "eco-27" - ) - (0 - kill - "eco-26" - ) - (0 - kill - "sharkey-25" - ) - (0 - kill - "barrel-13" - ) - (0 - kill - "barrel-14" - ) - (0 - kill - "barrel-15" - ) - (0 - kill - "barrel-16" - ) - (0 - kill - "barrel-17" - ) - (0 - kill - "barrel-18" - ) - (0 - kill - "barrel-19" - ) - (0 - kill - "barrel-20" - ) - (0 - kill - "barrel-21" - ) - (0 - kill - "barrel-22" - ) - (0 - kill - "barrel-23" - ) - (0 - kill - "villageb-part-18" - ) - (0 - kill - "villageb-part-19" - ) - (0 - kill - "villageb-part-20" - ) - (0 - kill - "villageb-part-21" - ) - (0 - kill - "villageb-part-28" - ) - (0 - kill - "villageb-part-29" - ) - (0 - kill - "villageb-part-30" - ) - (0 - kill - "villageb-part-31" - ) - (0 - kill - "villageb-part-32" - ) - (0 - kill - "villageb-part-33" - ) - (0 - kill - "villageb-part-35" - ) - (0 - kill - "villageb-part-37" - ) - (0 - kill - "villageb-part-38" - ) - (0 - kill - "villageb-part-47" - ) - (0 - kill - "villageb-part-48" - ) - (0 - kill - "villageb-part-49" - ) - (0 - kill - "villageb-part-50" - ) - (0 - kill - "villageb-part-56" - ) - (0 - kill - "villageb-part-62" - ) - (0 - kill - "villageb-part-63" - ) - (0 - kill - "villageb-ogreboss-1" - ) - (0 - kill - "crate-3127" - ) - (0 - kill - "crate-3128" - ) - (0 - kill - "crate-3129" - ) - (0 - kill - "crate-3133" - ) - (0 - kill - "geologist-1" - ) - (0 - kill - "fireboulder-2" - ) - (0 - kill - "fireboulder-3" - ) - (0 - kill - "fireboulder-4" - ) - (0 - kill - "water-vol-100" - ) - (0 - kill - "water-vol-101" - ) - (0 - kill - "water-vol-102" - ) - (0 - kill - "water-vol-103" - ) - (0 - kill - "water-vol-284" - ) - (0 - kill - "water-vol-285" - ) - (0 - kill - "water-vol-286" - ) - (0 - kill - "ceilingflag-6" - ) - (0 - kill - "ceilingflag-7" - ) - (0 - kill - "ceilingflag-8" - ) - (0 - kill - "ceilingflag-9" - ) - (0 - kill - "orb-cache-top-14" - ) - (0 - setting-reset - ocean-off - near - ) - ((the binteger 399) setting-unset ocean-off) ) ) - ) - (('village3) - (new 'static 'spool-anim - :name "oracle-intro-3" - :index 13 - :parts 4 - :command-list '() + (('village3) + (new 'static 'spool-anim :name "oracle-intro-3" :index 13 :parts 4 :command-list '()) ) ) - ) ) - (((task-status need-reminder)) - (set! (-> obj skippable) #t) - (case (-> (level-get-target-inside *level*) name) - (('village1) - (new 'static 'spool-anim - :name "oracle-reminder-1" - :index 10 - :parts 4 - :command-list '() + (((task-status need-reminder)) + (set! (-> obj skippable) #t) + (case (-> (level-get-target-inside *level*) name) + (('village1) + (new 'static 'spool-anim :name "oracle-reminder-1" :index 10 :parts 4 :command-list '()) + ) + (('village2) + (new 'static 'spool-anim :name "oracle-reminder-2" :index 12 :parts 2 :command-list '()) + ) + (('village3) + (new 'static 'spool-anim :name "oracle-reminder-3" :index 14 :parts 2 :command-list '()) ) ) - (('village2) - (new 'static 'spool-anim - :name "oracle-reminder-2" - :index 12 - :parts 2 - :command-list '() - ) - ) - (('village3) - (new 'static 'spool-anim - :name "oracle-reminder-3" - :index 14 - :parts 2 - :command-list '() - ) - ) ) - ) - (((task-status need-reward-speech)) - (cond - (arg0 - (set! (-> obj cell-for-task) (current-task (-> obj tasks))) - (close-current! (-> obj tasks)) - (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-oracle-inc))) - (cond - ((= (current-task (-> obj tasks)) (-> obj first-task)) - (let ((a0-25 (handle->process (-> obj right-eye-cell)))) - (if a0-25 - (deactivate a0-25) - ) + (((task-status need-reward-speech)) + (cond + (arg0 + (set! (-> obj cell-for-task) (current-task (-> obj tasks))) + (close-current! (-> obj tasks)) + (send-event *target* 'get-pickup 5 (- (-> *GAME-bank* money-oracle-inc))) + (cond + ((= (current-task (-> obj tasks)) (-> obj first-task)) + (let ((a0-25 (handle->process (-> obj right-eye-cell)))) + (if a0-25 + (deactivate a0-25) + ) + ) + ) + (else + (let ((a0-29 (handle->process (-> obj left-eye-cell)))) + (if a0-29 + (deactivate a0-29) + ) + ) + ) + ) ) + (else + (set! (-> obj will-talk) #t) + (set! (-> obj talk-message) (the-as uint 283)) + ) + ) + (cond + ((= (current-task (-> obj tasks)) (-> obj first-task)) + (case (-> (level-get-target-inside *level*) name) + (('village1) + (new 'static 'spool-anim :name "oracle-right-eye-1" :index 3 :parts 2 :command-list '()) + ) + (('village2) + (new 'static 'spool-anim :name "oracle-right-eye-2" :index 5 :parts 2 :command-list '()) + ) + (('village3) + (new 'static 'spool-anim :name "oracle-right-eye-3" :index 7 :parts 2 :command-list '()) + ) + ) ) (else - (let ((a0-29 (handle->process (-> obj left-eye-cell)))) - (if a0-29 - (deactivate a0-29) - ) + (case (-> (level-get-target-inside *level*) name) + (('village1) + (new 'static 'spool-anim :name "oracle-left-eye-1" :index 4 :parts 2 :command-list '()) + ) + (('village2) + (new 'static 'spool-anim :name "oracle-left-eye-2" :index 6 :parts 2 :command-list '()) + ) + (('village3) + (new 'static 'spool-anim :name "oracle-left-eye-3" :index 8 :parts 2 :command-list '()) + ) + ) ) - ) ) - ) - (else - (set! (-> obj will-talk) #t) - (set! (-> obj talk-message) (the-as uint 283)) - ) ) - (cond - ((= (current-task (-> obj tasks)) (-> obj first-task)) - (case (-> (level-get-target-inside *level*) name) - (('village1) - (new 'static 'spool-anim - :name "oracle-right-eye-1" - :index 3 - :parts 2 - :command-list '() + (else + (if arg0 + (format + 0 + "ERROR: : ~S playing anim for task status ~S~%" + (-> obj name) + (task-status->string (current-status (-> obj tasks))) + ) ) - ) - (('village2) - (new 'static 'spool-anim - :name "oracle-right-eye-2" - :index 5 - :parts 2 - :command-list '() - ) - ) - (('village3) - (new 'static 'spool-anim - :name "oracle-right-eye-3" - :index 7 - :parts 2 - :command-list '() - ) - ) - ) + (-> obj draw art-group data 2) ) - (else - (case (-> (level-get-target-inside *level*) name) - (('village1) - (new 'static 'spool-anim - :name "oracle-left-eye-1" - :index 4 - :parts 2 - :command-list '() - ) - ) - (('village2) - (new 'static 'spool-anim - :name "oracle-left-eye-2" - :index 6 - :parts 2 - :command-list '() - ) - ) - (('village3) - (new 'static 'spool-anim - :name "oracle-left-eye-3" - :index 8 - :parts 2 - :command-list '() - ) - ) - ) - ) - ) ) - (else - (if arg0 - (format - 0 - "ERROR: : ~S playing anim for task status ~S~%" - (-> obj name) - (task-status->string (current-status (-> obj tasks))) - ) - ) - (-> obj draw art-group data 2) - ) - ) ) ;; definition for method 31 of type oracle @@ -544,207 +238,109 @@ (defstate idle (oracle) :virtual #t :exit - (behavior () - (stop! (-> self sound)) - ((-> (method-of-type process-taskable idle) exit)) - (none) - ) + (behavior () (stop! (-> self sound)) ((-> (method-of-type process-taskable idle) exit)) (none)) :trans - (behavior () - (update! (-> self sound)) - ((-> (method-of-type process-taskable idle) trans)) - (none) - ) + (behavior () (update! (-> self sound)) ((-> (method-of-type process-taskable idle) trans)) (none)) ) ;; definition for method 11 of type oracle (defmethod init-from-entity! oracle ((obj oracle) (arg0 entity-actor)) - (dummy-40 - obj - arg0 - *oracle-sg* - 3 - 4 - (new 'static 'vector :y -4096.0 :w 4096.0) - -1 - ) - (set! - (-> obj sound) - (new - 'process - 'ambient-sound - (new 'static 'sound-spec - :mask #x80 - :num 1.0 - :group #x1 - :sound-name (static-sound-name "oracle-sleep") - :volume #x400 - :fo-max 50 - ) - (-> obj root-override trans) - ) - ) + (dummy-40 obj arg0 *oracle-sg* 3 4 (new 'static 'vector :y -4096.0 :w 4096.0) -1) + (set! (-> obj sound) (new + 'process + 'ambient-sound + (new 'static 'sound-spec + :mask #x80 + :num 1.0 + :group #x1 + :sound-name (static-sound-name "oracle-sleep") + :volume #x400 + :fo-max 50 + ) + (-> obj root-override trans) + ) + ) (set! (-> obj first-task) (the-as uint (-> arg0 extra perm task))) (set! (-> obj second-task) (res-lump-value arg0 'alt-task uint)) - (set! - (-> obj tasks) - (get-task-control (the-as game-task (-> obj first-task))) - ) + (set! (-> obj tasks) (get-task-control (the-as game-task (-> obj first-task)))) (set! (-> obj right-eye-cell) (the-as handle #f)) (set! (-> obj left-eye-cell) (the-as handle #f)) (logior! (-> obj draw status) 32) (let ((s4-0 (new 'stack-no-clear 'vector)) - (s5-1 (lambda :behavior oracle () (let* ((gp-0 (-> self root-override)) - (v1-1 - (if - (and - (nonzero? gp-0) - (type-type? - (-> gp-0 type) - collide-shape - ) - ) - gp-0 - ) - ) - (a1-1 (if v1-1 - (-> - v1-1 - root-prim - prim-core - ) - (-> - self - root-override - trans - ) - ) - ) - ) - (spawn - (-> self part) - (the-as vector a1-1) - ) - ) - 0 - (none) - ) - ) + (s5-1 (lambda :behavior oracle + () + (let* ((gp-0 (-> self root-override)) + (v1-1 (if (and (nonzero? gp-0) (type-type? (-> gp-0 type) collide-shape)) + gp-0 + ) + ) + (a1-1 (if v1-1 + (-> v1-1 root-prim prim-core) + (-> self root-override trans) + ) + ) + ) + (spawn (-> self part) (the-as vector a1-1)) + ) + 0 + (none) + ) + ) ) - (ja-post) - (when - (not - (task-closed? - (the-as game-task (-> obj first-task)) - (task-status need-resolution) + (ja-post) + (when (not (task-closed? (the-as game-task (-> obj first-task)) (task-status need-resolution))) + (vector<-cspace! s4-0 (-> obj node-list data 5)) + (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj right-eye-cell) + (ppointer->handle + (when s3-0 + (let ((t9-8 (method-of-type manipy activate))) + (t9-8 (the-as manipy s3-0) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s3-0 manipy-init s4-0 (-> obj entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2)) + (-> s3-0 ppointer) + ) + ) + ) + ) + (send-event + (handle->process (-> obj right-eye-cell)) + 'eval + (lambda :behavior oracle () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) + (set! (-> self part) v0-0) + (the-as sparticle-launch-group v0-0) + ) + ) + ) + (send-event (handle->process (-> obj right-eye-cell)) 'trans-hook s5-1) ) - ) - (vector<-cspace! s4-0 (-> obj node-list data 5)) - (let ((s3-0 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj right-eye-cell) (ppointer->handle (when s3-0 - (let - ((t9-8 - (method-of-type - manipy - activate - ) - ) - ) - (t9-8 - (the-as manipy s3-0) - obj - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s3-0 - manipy-init - s4-0 - (-> obj entity) - *fuel-cell-sg* - (new 'static 'vector - :w 4915.2 - ) - ) - (-> s3-0 ppointer) - ) - ) + (when (not (task-closed? (the-as game-task (-> obj second-task)) (task-status need-resolution))) + (vector<-cspace! s4-0 (-> obj node-list data 6)) + (let ((s3-1 (get-process *default-dead-pool* manipy #x4000))) + (set! (-> obj left-eye-cell) + (ppointer->handle + (when s3-1 + (let ((t9-15 (method-of-type manipy activate))) + (t9-15 (the-as manipy s3-1) obj 'manipy (the-as pointer #x70004000)) + ) + (run-now-in-process s3-1 manipy-init s4-0 (-> obj entity) *fuel-cell-sg* (new 'static 'vector :w 4915.2)) + (-> s3-1 ppointer) + ) + ) + ) + ) + (send-event + (handle->process (-> obj left-eye-cell)) + 'eval + (lambda :behavior oracle () (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) + (set! (-> self part) v0-0) + (the-as sparticle-launch-group v0-0) + ) + ) + ) + (send-event (handle->process (-> obj left-eye-cell)) 'trans-hook s5-1) ) - ) - (send-event - (handle->process (-> obj right-eye-cell)) - 'eval - (lambda :behavior oracle - () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) - (set! (-> self part) v0-0) - (the-as sparticle-launch-group v0-0) - ) - ) - ) - (send-event (handle->process (-> obj right-eye-cell)) 'trans-hook s5-1) ) - (when - (not - (task-closed? - (the-as game-task (-> obj second-task)) - (task-status need-resolution) - ) - ) - (vector<-cspace! s4-0 (-> obj node-list data 6)) - (let ((s3-1 (get-process *default-dead-pool* manipy #x4000))) - (set! (-> obj left-eye-cell) (ppointer->handle (when s3-1 - (let - ((t9-15 - (method-of-type - manipy - activate - ) - ) - ) - (t9-15 - (the-as manipy s3-1) - obj - 'manipy - (the-as - pointer - #x70004000 - ) - ) - ) - (run-now-in-process - s3-1 - manipy-init - s4-0 - (-> obj entity) - *fuel-cell-sg* - (new 'static 'vector - :w 4915.2 - ) - ) - (-> s3-1 ppointer) - ) - ) - ) - ) - (send-event - (handle->process (-> obj left-eye-cell)) - 'eval - (lambda :behavior oracle - () - (let ((v0-0 (create-launch-control (-> *part-group-id-table* 63) self))) - (set! (-> self part) v0-0) - (the-as sparticle-launch-group v0-0) - ) - ) - ) - (send-event (handle->process (-> obj left-eye-cell)) 'trans-hook s5-1) - ) - ) (dummy-42 obj) (none) ) diff --git a/test/test_pretty_print.cpp b/test/test_pretty_print.cpp index 59a4f0fa44..d6f2f65dd0 100644 --- a/test/test_pretty_print.cpp +++ b/test/test_pretty_print.cpp @@ -2,6 +2,7 @@ #include "common/goos/Reader.h" #include "common/util/FileUtil.h" #include "common/goos/PrettyPrinter.h" +#include "common/goos/PrettyPrinter2.h" #include "third-party/fmt/core.h" using namespace goos; @@ -14,7 +15,7 @@ Object read(const std::string& str) { } std::string pprint(const Object& o, int len = 80) { - return pretty_print::to_string(o, len); + return pretty_print::to_string_v1(o, len); } // read then pretty print a string. @@ -42,7 +43,7 @@ TEST(PrettyPrinter, ReadAgain) { .as_pair() ->cdr.as_pair() ->car; - auto printed_gcommon2 = pretty_print::to_string(gcommon_code); + auto printed_gcommon2 = pretty_print::to_string_v1(gcommon_code); EXPECT_TRUE(gcommon_code == gcommon_code2); } @@ -58,7 +59,7 @@ TEST(PrettyPrinter, ReadAgainVeryShortLines) { .as_pair() ->cdr.as_pair() ->car; - auto printed_gcommon2 = pretty_print::to_string(gcommon_code); + auto printed_gcommon2 = pretty_print::to_string_v1(gcommon_code); EXPECT_TRUE(gcommon_code == gcommon_code2); } @@ -75,7 +76,7 @@ TEST(PrettyPrinter, DefunNoArgs) { .as_pair() ->cdr.as_pair() ->car; - auto printed = pretty_print::to_string(obj, 80); + auto printed = pretty_print::to_string_v1(obj, 80); EXPECT_EQ(printed, "(defun looping-code ()\n" @@ -84,4 +85,158 @@ TEST(PrettyPrinter, DefunNoArgs) { " )\n" " (the-as symbol #f)\n" " )"); -} \ No newline at end of file +} + +TEST(PrettyPrinter2, Debugging) { + // first read the gcommon file + auto gcommon_code = pretty_print::get_pretty_printer_reader().read_from_file( + {"goal_src", "kernel", "gcommon.gc"}); + // pretty print it + auto printed_gcommon = pretty_print::to_string(gcommon_code); + auto gcommon_code2 = pretty_print::get_pretty_printer_reader() + .read_from_string(printed_gcommon) + .as_pair() + ->cdr.as_pair() + ->car; + EXPECT_TRUE(gcommon_code == gcommon_code2); +} + +namespace { +std::string pretty_print_v2(const std::string& str) { + auto obj = + pretty_print::get_pretty_printer_reader().read_from_string(str).as_pair()->cdr.as_pair()->car; + return pretty_print::to_string(obj); +} +} // namespace + +TEST(PrettyPrinter2, Defun) { + // checks that edefun is split up properly + std::string code = "(defun identity ((obj object)) obj)"; + EXPECT_EQ(pretty_print_v2(code), + R"((defun identity ((obj object)) + obj + ))"); +} + +TEST(PrettyPrinter2, MultiLine) { + // check that multiple lines are split correctly + std::string code = + "(defmethod inspect vec4s ((obj vec4s)) (format #t \"[~8x] ~A~%\" obj 'vec4s) (format #t " + "\"~Tx: ~f~%\" (-> obj x)) (format #t \"~Ty: ~f~%\" (-> obj y)) (format #t \"~Tz: ~f~%\" (-> " + "obj z)) (format #t \"~Tw: ~f~%\" (-> obj w)) obj )"; + EXPECT_EQ(pretty_print_v2(code), + R"((defmethod inspect vec4s ((obj vec4s)) + (format #t "[~8x] ~A~%" obj 'vec4s) + (format #t "~Tx: ~f~%" (-> obj x)) + (format #t "~Ty: ~f~%" (-> obj y)) + (format #t "~Tz: ~f~%" (-> obj z)) + (format #t "~Tw: ~f~%" (-> obj w)) + obj + ))"); +} + +TEST(PrettyPrinter2, LetUntilIf) { + std::string code = + "(defun basic-type? ((obj basic) (parent-type type)) (let ((obj-type (-> obj type)) " + "(end-type object) ) (until (= obj-type end-type) (if (= obj-type " + "parent-type) (return #t) ) (set! obj-type (-> obj-type parent)) " + ") ) #f )"; + + // this checks that let defs are properly aligned, until is properly aligned (body only indented + // by two), if indented properly (aligned with condition) + EXPECT_EQ(pretty_print_v2(code), + R"((defun basic-type? ((obj basic) (parent-type type)) + (let ((obj-type (-> obj type)) + (end-type object) + ) + (until (= obj-type end-type) + (if (= obj-type parent-type) + (return #t) + ) + (set! obj-type (-> obj-type parent)) + ) + ) + #f + ))"); +} + +TEST(PrettyPrinter2, Overhang) { + std::string code = + "(defun nassoc ((item-name string) (alist object)) (while (not (or (null? alist) (let ((key " + "(car (car alist)))) (if (pair? key) (nmember item-name key) (name= (the-as basic key) " + "item-name) ) ) ) ) (set! alist (cdr alist)) ) (if (not (null? alist)) (car alist) ) )"; + + // this case is tricky: you have several lists starting at the (while with their last elements + // split. this makes sure that the close parens of these list are right. + EXPECT_EQ(pretty_print_v2(code), + R"((defun nassoc ((item-name string) (alist object)) + (while (not (or (null? alist) (let ((key (car (car alist)))) + (if (pair? key) + (nmember item-name key) + (name= (the-as basic key) item-name) + ) + ) + ) + ) + (set! alist (cdr alist)) + ) + (if (not (null? alist)) + (car alist) + ) + ))"); +} + +TEST(PrettyPrint2, Cond) { + // check that cond and its else get split. + // note that for now we allow a short condition and body to be on the same line. + std::string code = + "(defmethod length pair ((obj pair)) (local-vars (result int)) (cond ((null? obj) (set! " + "result 0)) (else (let ((iter (cdr obj))) (set! result 1) (while (and (not (null? iter)) " + "(pair? iter)) (+! result 1) (set! iter (cdr iter)) ) ) ) ) result )"; + EXPECT_EQ(pretty_print_v2(code), + R"((defmethod length pair ((obj pair)) + (local-vars (result int)) + (cond + ((null? obj) + (set! result 0) + ) + (else + (let ((iter (cdr obj))) + (set! result 1) + (while (and (not (null? iter)) (pair? iter)) + (+! result 1) + (set! iter (cdr iter)) + ) + ) + ) + ) + result + ))"); +} + +TEST(PrettyPrint2, ParenWayOutToTheRight) { + std::string code = + "(defmethod new inline-array-class ((allocation symbol) (type-to-make type) (size int)) (let " + "((obj (object-new allocation type-to-make (the-as int (+ (-> type-to-make size) (* (the-as " + "uint size) (-> type-to-make heap-base)))) ) ) ) (when (nonzero? obj) (set! (-> obj length) " + "size) (set! (-> obj allocated-length) size)) obj ) )"; + + // checks that the c0 stuff works right. + EXPECT_EQ( + pretty_print_v2(code), + R"((defmethod new inline-array-class ((allocation symbol) (type-to-make type) (size int)) + (let ((obj (object-new + allocation + type-to-make + (the-as int (+ (-> type-to-make size) (* (the-as uint size) (-> type-to-make heap-base)))) + ) + ) + ) + (when (nonzero? obj) + (set! (-> obj length) size) + (set! (-> obj allocated-length) size) + ) + obj + ) + ))"); +}